From b5540a5c9da23c3845a4ead3df66af34ddc2cd84 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Wed, 2 May 2018 15:40:43 -0700 Subject: [PATCH 01/76] Move getSpellingSuggestion to core --- src/compiler/checker.ts | 83 +---------------- src/compiler/core.ts | 201 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 204 insertions(+), 80 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a34f073df3e..9f33a86ec89 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -16979,88 +16979,11 @@ namespace ts { * and 1 insertion/deletion at 3 characters) */ function getSpellingSuggestionForName(name: string, symbols: Symbol[], meaning: SymbolFlags): Symbol | undefined { - const maximumLengthDifference = Math.min(2, Math.floor(name.length * 0.34)); - let bestDistance = Math.floor(name.length * 0.4) + 1; // If the best result isn't better than this, don't bother. - let bestCandidate: Symbol | undefined; - let justCheckExactMatches = false; - const nameLowerCase = name.toLowerCase(); - for (const candidate of symbols) { + return getSpellingSuggestion(name, symbols, getCandidateName); + function getCandidateName(candidate: Symbol) { const candidateName = symbolName(candidate); - if (candidateName.charCodeAt(0) === CharacterCodes.doubleQuote - || !(candidate.flags & meaning && Math.abs(candidateName.length - nameLowerCase.length) <= maximumLengthDifference)) { - continue; - } - const candidateNameLowerCase = candidateName.toLowerCase(); - if (candidateNameLowerCase === nameLowerCase) { - return candidate; - } - if (justCheckExactMatches) { - continue; - } - if (candidateName.length < 3) { - // Don't bother, user would have noticed a 2-character name having an extra character - continue; - } - // Only care about a result better than the best so far. - const distance = levenshteinWithMax(nameLowerCase, candidateNameLowerCase, bestDistance - 1); - if (distance === undefined) { - continue; - } - if (distance < 3) { - justCheckExactMatches = true; - bestCandidate = candidate; - } - else { - Debug.assert(distance < bestDistance); // Else `levenshteinWithMax` should return undefined - bestDistance = distance; - bestCandidate = candidate; - } + return !startsWith(candidateName, "\"") && candidate.flags & meaning ? candidateName : undefined; } - return bestCandidate; - } - - function levenshteinWithMax(s1: string, s2: string, max: number): number | undefined { - let previous = new Array(s2.length + 1); - let current = new Array(s2.length + 1); - /** Represents any value > max. We don't care about the particular value. */ - const big = max + 1; - - for (let i = 0; i <= s2.length; i++) { - previous[i] = i; - } - - for (let i = 1; i <= s1.length; i++) { - const c1 = s1.charCodeAt(i - 1); - const minJ = i > max ? i - max : 1; - const maxJ = s2.length > max + i ? max + i : s2.length; - current[0] = i; - /** Smallest value of the matrix in the ith column. */ - let colMin = i; - for (let j = 1; j < minJ; j++) { - current[j] = big; - } - for (let j = minJ; j <= maxJ; j++) { - const dist = c1 === s2.charCodeAt(j - 1) - ? previous[j - 1] - : Math.min(/*delete*/ previous[j] + 1, /*insert*/ current[j - 1] + 1, /*substitute*/ previous[j - 1] + 2); - current[j] = dist; - colMin = Math.min(colMin, dist); - } - for (let j = maxJ + 1; j <= s2.length; j++) { - current[j] = big; - } - if (colMin > max) { - // Give up -- everything in this column is > max and it can't get better in future columns. - return undefined; - } - - const temp = previous; - previous = current; - current = temp; - } - - const res = previous[s2.length]; - return res > max ? undefined : res; } function markPropertyAsReferenced(prop: Symbol, nodeForCheckWriteOnly: Node | undefined, isThisAccess: boolean) { diff --git a/src/compiler/core.ts b/src/compiler/core.ts index c5e9a75b4ee..db076ab5dad 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -1932,6 +1932,207 @@ namespace ts { return text1 ? Comparison.GreaterThan : Comparison.LessThan; } + /** + * Given a name and a list of names that are *not* equal to the name, return a spelling suggestion if there is one that is close enough. + * Names less than length 3 only check for case-insensitive equality, not Levenshtein distance. + * + * If there is a candidate that's the same except for case, return that. + * If there is a candidate that's within one edit of the name, return that. + * Otherwise, return the candidate with the smallest Levenshtein distance, + * except for candidates: + * * With no name + * * Whose length differs from the target name by more than 0.34 of the length of the name. + * * Whose levenshtein distance is more than 0.4 of the length of the name + * (0.4 allows 1 substitution/transposition for every 5 characters, + * and 1 insertion/deletion at 3 characters) + */ + export function getSpellingSuggestion(name: string, candidates: T[], getName: (candidate: T) => string | undefined): T | undefined { + const maximumLengthDifference = Math.min(2, Math.floor(name.length * 0.34)); + let bestDistance = Math.floor(name.length * 0.4) + 1; // If the best result isn't better than this, don't bother. + let bestCandidate: T | undefined; + let justCheckExactMatches = false; + const nameLowerCase = name.toLowerCase(); + for (const candidate of candidates) { + const candidateName = getName(candidate); + if (candidateName !== undefined && Math.abs(candidateName.length - nameLowerCase.length) <= maximumLengthDifference) { + const candidateNameLowerCase = candidateName.toLowerCase(); + if (candidateNameLowerCase === nameLowerCase) { + return candidate; + } + if (justCheckExactMatches) { + continue; + } + if (candidateName.length < 3) { + // Don't bother, user would have noticed a 2-character name having an extra character + continue; + } + // Only care about a result better than the best so far. + const distance = levenshteinWithMax(nameLowerCase, candidateNameLowerCase, bestDistance - 1); + if (distance === undefined) { + continue; + } + if (distance < 3) { + justCheckExactMatches = true; + bestCandidate = candidate; + } + else { + Debug.assert(distance < bestDistance); // Else `levenshteinWithMax` should return undefined + bestDistance = distance; + bestCandidate = candidate; + } + } + } + return bestCandidate; + } + + function levenshteinWithMax(s1: string, s2: string, max: number): number | undefined { + let previous = new Array(s2.length + 1); + let current = new Array(s2.length + 1); + /** Represents any value > max. We don't care about the particular value. */ + const big = max + 1; + + for (let i = 0; i <= s2.length; i++) { + previous[i] = i; + } + + for (let i = 1; i <= s1.length; i++) { + const c1 = s1.charCodeAt(i - 1); + const minJ = i > max ? i - max : 1; + const maxJ = s2.length > max + i ? max + i : s2.length; + current[0] = i; + /** Smallest value of the matrix in the ith column. */ + let colMin = i; + for (let j = 1; j < minJ; j++) { + current[j] = big; + } + for (let j = minJ; j <= maxJ; j++) { + const dist = c1 === s2.charCodeAt(j - 1) + ? previous[j - 1] + : Math.min(/*delete*/ previous[j] + 1, /*insert*/ current[j - 1] + 1, /*substitute*/ previous[j - 1] + 2); + current[j] = dist; + colMin = Math.min(colMin, dist); + } + for (let j = maxJ + 1; j <= s2.length; j++) { + current[j] = big; + } + if (colMin > max) { + // Give up -- everything in this column is > max and it can't get better in future columns. + return undefined; + } + + const temp = previous; + previous = current; + current = temp; + } + + const res = previous[s2.length]; + return res > max ? undefined : res; + } + + export function normalizeSlashes(path: string): string { + return path.replace(/\\/g, "/"); + } + + /** + * Returns length of path root (i.e. length of "/", "x:/", "//server/share/, file:///user/files") + */ + export function getRootLength(path: string): number { + if (path.charCodeAt(0) === CharacterCodes.slash) { + if (path.charCodeAt(1) !== CharacterCodes.slash) return 1; + const p1 = path.indexOf("/", 2); + if (p1 < 0) return 2; + const p2 = path.indexOf("/", p1 + 1); + if (p2 < 0) return p1 + 1; + return p2 + 1; + } + if (path.charCodeAt(1) === CharacterCodes.colon) { + if (path.charCodeAt(2) === CharacterCodes.slash || path.charCodeAt(2) === CharacterCodes.backslash) return 3; + } + // Per RFC 1738 'file' URI schema has the shape file:/// + // if is omitted then it is assumed that host value is 'localhost', + // however slash after the omitted is not removed. + // file:///folder1/file1 - this is a correct URI + // file://folder2/file2 - this is an incorrect URI + if (path.lastIndexOf("file:///", 0) === 0) { + return "file:///".length; + } + const idx = path.indexOf("://"); + if (idx !== -1) { + return idx + "://".length; + } + return 0; + } + + /** + * Internally, we represent paths as strings with '/' as the directory separator. + * When we make system calls (eg: LanguageServiceHost.getDirectory()), + * we expect the host to correctly handle paths in our specified format. + */ + export const directorySeparator = "/"; + const directorySeparatorCharCode = CharacterCodes.slash; + function getNormalizedParts(normalizedSlashedPath: string, rootLength: number): string[] { + const parts = normalizedSlashedPath.substr(rootLength).split(directorySeparator); + const normalized: string[] = []; + for (const part of parts) { + if (part !== ".") { + if (part === ".." && normalized.length > 0 && lastOrUndefined(normalized) !== "..") { + normalized.pop(); + } + else { + // A part may be an empty string (which is 'falsy') if the path had consecutive slashes, + // e.g. "path//file.ts". Drop these before re-joining the parts. + if (part) { + normalized.push(part); + } + } + } + } + + return normalized; + } + + export function normalizePath(path: string): string { + return normalizePathAndParts(path).path; + } + + export function normalizePathAndParts(path: string): { path: string, parts: string[] } { + path = normalizeSlashes(path); + const rootLength = getRootLength(path); + const root = path.substr(0, rootLength); + const parts = getNormalizedParts(path, rootLength); + if (parts.length) { + const joinedParts = root + parts.join(directorySeparator); + return { path: pathEndsWithDirectorySeparator(path) ? joinedParts + directorySeparator : joinedParts, parts }; + } + else { + return { path: root, parts }; + } + } + + /** A path ending with '/' refers to a directory only, never a file. */ + export function pathEndsWithDirectorySeparator(path: string): boolean { + return path.charCodeAt(path.length - 1) === directorySeparatorCharCode; + } + + /** + * Returns the path except for its basename. Eg: + * + * /path/to/file.ext -> /path/to + */ + export function getDirectoryPath(path: Path): Path; + export function getDirectoryPath(path: string): string; + export function getDirectoryPath(path: string): string { + return path.substr(0, Math.max(getRootLength(path), path.lastIndexOf(directorySeparator))); + } + + export function isUrl(path: string) { + return path && !isRootedDiskPath(path) && stringContains(path, "://"); + } + + export function pathIsRelative(path: string): boolean { + return /^\.\.?($|[\\/])/.test(path); + } + export function getEmitScriptTarget(compilerOptions: CompilerOptions) { return compilerOptions.target || ScriptTarget.ES3; } From c05923b1524ffea74451ef9e237308a3339d9117 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Wed, 2 May 2018 15:47:48 -0700 Subject: [PATCH 02/76] add libMap and libs exports --- src/compiler/commandLineParser.ts | 86 ++++++++++++++++++------------- src/lib/libs.json | 1 + 2 files changed, 50 insertions(+), 37 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 9710b0c1262..6f638348dde 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -1,6 +1,54 @@ namespace ts { /* @internal */ export const compileOnSaveCommandLineOption: CommandLineOption = { name: "compileOnSave", type: "boolean" }; + + const commandLineLibMap = createMapFromTemplate({ + // JavaScript only + "es5": "lib.es5.d.ts", + "es6": "lib.es2015.d.ts", + "es2015": "lib.es2015.d.ts", + "es7": "lib.es2016.d.ts", + "es2016": "lib.es2016.d.ts", + "es2017": "lib.es2017.d.ts", + "es2018": "lib.es2018.d.ts", + "esnext": "lib.esnext.d.ts", + // Host only + "dom": "lib.dom.d.ts", + "dom.iterable": "lib.dom.iterable.d.ts", + "webworker": "lib.webworker.d.ts", + "scripthost": "lib.scripthost.d.ts", + // ES2015 Or ESNext By-feature options + "es2015.core": "lib.es2015.core.d.ts", + "es2015.collection": "lib.es2015.collection.d.ts", + "es2015.generator": "lib.es2015.generator.d.ts", + "es2015.iterable": "lib.es2015.iterable.d.ts", + "es2015.promise": "lib.es2015.promise.d.ts", + "es2015.proxy": "lib.es2015.proxy.d.ts", + "es2015.reflect": "lib.es2015.reflect.d.ts", + "es2015.symbol": "lib.es2015.symbol.d.ts", + "es2015.symbol.wellknown": "lib.es2015.symbol.wellknown.d.ts", + "es2016.array.include": "lib.es2016.array.include.d.ts", + "es2017.object": "lib.es2017.object.d.ts", + "es2017.sharedmemory": "lib.es2017.sharedmemory.d.ts", + "es2017.string": "lib.es2017.string.d.ts", + "es2017.intl": "lib.es2017.intl.d.ts", + "es2017.typedarrays": "lib.es2017.typedarrays.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.asynciterable": "lib.esnext.asynciterable.d.ts", + }); + + // Internally we add some additional lib references that we only support when used as part of a + // "lib" reference directive. They are not available on the command line or in tsconfig.json. + /* @internal */ + export const libMap = cloneMap(commandLineLibMap) + .set("webworker.importscripts", "lib.webworker.importscripts.d.ts"); + + /* @internal */ + export const libs = arrayFrom(commandLineLibMap.keys()); + /* @internal */ export const optionDeclarations: CommandLineOption[] = [ // CommandLine only options @@ -114,43 +162,7 @@ namespace ts { type: "list", element: { name: "lib", - type: createMapFromTemplate({ - // JavaScript only - "es5": "lib.es5.d.ts", - "es6": "lib.es2015.d.ts", - "es2015": "lib.es2015.d.ts", - "es7": "lib.es2016.d.ts", - "es2016": "lib.es2016.d.ts", - "es2017": "lib.es2017.d.ts", - "es2018": "lib.es2018.d.ts", - "esnext": "lib.esnext.d.ts", - // Host only - "dom": "lib.dom.d.ts", - "dom.iterable": "lib.dom.iterable.d.ts", - "webworker": "lib.webworker.d.ts", - "scripthost": "lib.scripthost.d.ts", - // ES2015 Or ESNext By-feature options - "es2015.core": "lib.es2015.core.d.ts", - "es2015.collection": "lib.es2015.collection.d.ts", - "es2015.generator": "lib.es2015.generator.d.ts", - "es2015.iterable": "lib.es2015.iterable.d.ts", - "es2015.promise": "lib.es2015.promise.d.ts", - "es2015.proxy": "lib.es2015.proxy.d.ts", - "es2015.reflect": "lib.es2015.reflect.d.ts", - "es2015.symbol": "lib.es2015.symbol.d.ts", - "es2015.symbol.wellknown": "lib.es2015.symbol.wellknown.d.ts", - "es2016.array.include": "lib.es2016.array.include.d.ts", - "es2017.object": "lib.es2017.object.d.ts", - "es2017.sharedmemory": "lib.es2017.sharedmemory.d.ts", - "es2017.string": "lib.es2017.string.d.ts", - "es2017.intl": "lib.es2017.intl.d.ts", - "es2017.typedarrays": "lib.es2017.typedarrays.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.asynciterable": "lib.esnext.asynciterable.d.ts", - }), + type: commandLineLibMap }, showInSimplifiedHelpView: true, category: Diagnostics.Basic_Options, diff --git a/src/lib/libs.json b/src/lib/libs.json index a7f7c445db7..1385365efff 100644 --- a/src/lib/libs.json +++ b/src/lib/libs.json @@ -11,6 +11,7 @@ "dom.generated", "dom.iterable", "webworker.generated", + "webworker.importscripts", "scripthost", // By-feature options "es2015.core", From a089297ca37ccf7be2e9dfe545e34eaa6d4be1d9 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Thu, 3 May 2018 11:00:10 -0700 Subject: [PATCH 03/76] Add 'lib' reference support --- src/compiler/core.ts | 104 ------------------ src/compiler/diagnosticMessages.json | 8 ++ src/compiler/factory.ts | 4 +- src/compiler/parser.ts | 6 + src/compiler/program.ts | 50 ++++++--- src/compiler/transformers/declarations.ts | 4 +- src/compiler/types.ts | 28 +++-- src/harness/harnessLanguageService.ts | 3 +- src/lib/dom.iterable.d.ts | 2 +- src/lib/es2015.d.ts | 20 ++-- src/lib/es2015.full.d.ts | 14 +++ src/lib/es2015.iterable.d.ts | 2 +- src/lib/es2015.symbol.wellknown.d.ts | 2 +- src/lib/es2016.d.ts | 4 +- src/lib/es2016.full.d.ts | 5 + src/lib/es2017.d.ts | 12 +- src/lib/es2017.full.d.ts | 5 + src/lib/es2017.sharedmemory.d.ts | 4 +- src/lib/es2018.d.ts | 8 +- src/lib/es2018.full.d.ts | 5 + src/lib/es5.full.d.ts | 4 + src/lib/esnext.asynciterable.d.ts | 4 +- src/lib/esnext.d.ts | 6 +- src/lib/esnext.full.d.ts | 5 + src/lib/libs.json | 53 +-------- src/lib/webworker.generated.d.ts | 27 ++--- src/services/preProcess.ts | 5 +- src/services/services.ts | 1 + src/services/shims.ts | 3 +- src/services/types.ts | 2 + .../reference/api/tsserverlibrary.d.ts | 4 +- tests/baselines/reference/api/typescript.d.ts | 4 +- 32 files changed, 175 insertions(+), 233 deletions(-) create mode 100644 src/lib/es2015.full.d.ts create mode 100644 src/lib/es2016.full.d.ts create mode 100644 src/lib/es2017.full.d.ts create mode 100644 src/lib/es2018.full.d.ts create mode 100644 src/lib/es5.full.d.ts create mode 100644 src/lib/esnext.full.d.ts diff --git a/src/compiler/core.ts b/src/compiler/core.ts index db076ab5dad..239607142eb 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -2029,110 +2029,6 @@ namespace ts { return res > max ? undefined : res; } - export function normalizeSlashes(path: string): string { - return path.replace(/\\/g, "/"); - } - - /** - * Returns length of path root (i.e. length of "/", "x:/", "//server/share/, file:///user/files") - */ - export function getRootLength(path: string): number { - if (path.charCodeAt(0) === CharacterCodes.slash) { - if (path.charCodeAt(1) !== CharacterCodes.slash) return 1; - const p1 = path.indexOf("/", 2); - if (p1 < 0) return 2; - const p2 = path.indexOf("/", p1 + 1); - if (p2 < 0) return p1 + 1; - return p2 + 1; - } - if (path.charCodeAt(1) === CharacterCodes.colon) { - if (path.charCodeAt(2) === CharacterCodes.slash || path.charCodeAt(2) === CharacterCodes.backslash) return 3; - } - // Per RFC 1738 'file' URI schema has the shape file:/// - // if is omitted then it is assumed that host value is 'localhost', - // however slash after the omitted is not removed. - // file:///folder1/file1 - this is a correct URI - // file://folder2/file2 - this is an incorrect URI - if (path.lastIndexOf("file:///", 0) === 0) { - return "file:///".length; - } - const idx = path.indexOf("://"); - if (idx !== -1) { - return idx + "://".length; - } - return 0; - } - - /** - * Internally, we represent paths as strings with '/' as the directory separator. - * When we make system calls (eg: LanguageServiceHost.getDirectory()), - * we expect the host to correctly handle paths in our specified format. - */ - export const directorySeparator = "/"; - const directorySeparatorCharCode = CharacterCodes.slash; - function getNormalizedParts(normalizedSlashedPath: string, rootLength: number): string[] { - const parts = normalizedSlashedPath.substr(rootLength).split(directorySeparator); - const normalized: string[] = []; - for (const part of parts) { - if (part !== ".") { - if (part === ".." && normalized.length > 0 && lastOrUndefined(normalized) !== "..") { - normalized.pop(); - } - else { - // A part may be an empty string (which is 'falsy') if the path had consecutive slashes, - // e.g. "path//file.ts". Drop these before re-joining the parts. - if (part) { - normalized.push(part); - } - } - } - } - - return normalized; - } - - export function normalizePath(path: string): string { - return normalizePathAndParts(path).path; - } - - export function normalizePathAndParts(path: string): { path: string, parts: string[] } { - path = normalizeSlashes(path); - const rootLength = getRootLength(path); - const root = path.substr(0, rootLength); - const parts = getNormalizedParts(path, rootLength); - if (parts.length) { - const joinedParts = root + parts.join(directorySeparator); - return { path: pathEndsWithDirectorySeparator(path) ? joinedParts + directorySeparator : joinedParts, parts }; - } - else { - return { path: root, parts }; - } - } - - /** A path ending with '/' refers to a directory only, never a file. */ - export function pathEndsWithDirectorySeparator(path: string): boolean { - return path.charCodeAt(path.length - 1) === directorySeparatorCharCode; - } - - /** - * Returns the path except for its basename. Eg: - * - * /path/to/file.ext -> /path/to - */ - export function getDirectoryPath(path: Path): Path; - export function getDirectoryPath(path: string): string; - export function getDirectoryPath(path: string): string { - return path.substr(0, Math.max(getRootLength(path), path.lastIndexOf(directorySeparator))); - } - - export function isUrl(path: string) { - return path && !isRootedDiskPath(path) && stringContains(path, "://"); - } - - export function pathIsRelative(path: string): boolean { - return /^\.\.?($|[\\/])/.test(path); - } - export function getEmitScriptTarget(compilerOptions: CompilerOptions) { return compilerOptions.target || ScriptTarget.ES3; } diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index c12e0a9931b..7b3a9733599 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2356,6 +2356,14 @@ "category": "Error", "code": 2724 }, + "Cannot find lib definition for '{0}'.": { + "category": "Error", + "code": 2725 + }, + "Cannot find lib definition for '{0}'. Did you mean '{1}'?": { + "category": "Error", + "code": 2726 + }, "Import declaration '{0}' is using private name '{1}'.": { "category": "Error", "code": 4000 diff --git a/src/compiler/factory.ts b/src/compiler/factory.ts index 735de930ae9..d0e07e514d6 100644 --- a/src/compiler/factory.ts +++ b/src/compiler/factory.ts @@ -2417,12 +2417,13 @@ namespace ts { // Top-level nodes - export function updateSourceFileNode(node: SourceFile, statements: ReadonlyArray, isDeclarationFile?: boolean, referencedFiles?: SourceFile["referencedFiles"], typeReferences?: SourceFile["typeReferenceDirectives"], hasNoDefaultLib?: boolean) { + export function updateSourceFileNode(node: SourceFile, statements: ReadonlyArray, isDeclarationFile?: boolean, referencedFiles?: SourceFile["referencedFiles"], typeReferences?: SourceFile["typeReferenceDirectives"], hasNoDefaultLib?: boolean, libReferences?: SourceFile["libReferenceDirectives"]) { if ( node.statements !== statements || (isDeclarationFile !== undefined && node.isDeclarationFile !== isDeclarationFile) || (referencedFiles !== undefined && node.referencedFiles !== referencedFiles) || (typeReferences !== undefined && node.typeReferenceDirectives !== typeReferences) || + (libReferences !== undefined && node.libReferenceDirectives !== libReferences) || (hasNoDefaultLib !== undefined && node.hasNoDefaultLib !== hasNoDefaultLib) ) { const updated = createSynthesizedNode(SyntaxKind.SourceFile); @@ -2436,6 +2437,7 @@ namespace ts { updated.referencedFiles = referencedFiles === undefined ? node.referencedFiles : referencedFiles; updated.typeReferenceDirectives = typeReferences === undefined ? node.typeReferenceDirectives : typeReferences; updated.hasNoDefaultLib = hasNoDefaultLib === undefined ? node.hasNoDefaultLib : hasNoDefaultLib; + updated.libReferenceDirectives = libReferences === undefined ? node.libReferenceDirectives : libReferences; if (node.amdDependencies !== undefined) updated.amdDependencies = node.amdDependencies; if (node.moduleName !== undefined) updated.moduleName = node.moduleName; if (node.languageVariant !== undefined) updated.languageVariant = node.languageVariant; diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index b84c8ca004f..c7fa4a9c0eb 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -7592,6 +7592,7 @@ namespace ts { checkJsDirective?: CheckJsDirective; referencedFiles: FileReference[]; typeReferenceDirectives: FileReference[]; + libReferenceDirectives: FileReference[]; amdDependencies: AmdDependency[]; hasNoDefaultLib?: boolean; moduleName?: string; @@ -7645,6 +7646,7 @@ namespace ts { context.checkJsDirective = undefined; context.referencedFiles = []; context.typeReferenceDirectives = []; + context.libReferenceDirectives = []; context.amdDependencies = []; context.hasNoDefaultLib = false; context.pragmas.forEach((entryOrList, key) => { @@ -7654,6 +7656,7 @@ namespace ts { case "reference": { const referencedFiles = context.referencedFiles; const typeReferenceDirectives = context.typeReferenceDirectives; + const libReferenceDirectives = context.libReferenceDirectives; forEach(toArray(entryOrList), (arg: PragmaPsuedoMap["reference"]) => { if (arg.arguments["no-default-lib"]) { context.hasNoDefaultLib = true; @@ -7661,6 +7664,9 @@ namespace ts { else if (arg.arguments.types) { typeReferenceDirectives.push({ pos: arg.arguments.types.pos, end: arg.arguments.types.end, fileName: arg.arguments.types.value }); } + else if (arg.arguments.lib) { + libReferenceDirectives.push({ pos: arg.arguments.lib.pos, end: arg.arguments.lib.end, fileName: arg.arguments.lib.value }); + } else if (arg.arguments.path) { referencedFiles.push({ pos: arg.arguments.path.pos, end: arg.arguments.path.end, fileName: arg.arguments.path.value }); } diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 4f052581c20..8fba4480c55 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -584,7 +584,7 @@ namespace ts { const shouldCreateNewSourceFile = shouldProgramCreateNewSourceFiles(oldProgram, options); const structuralIsReused = tryReuseStructureFromOldProgram(); if (structuralIsReused !== StructureIsReused.Completely) { - forEach(rootNames, name => processRootFile(name, /*isDefaultLib*/ false)); + forEach(rootNames, name => processRootFile(name, /*isDefaultLib*/ false, /*ignoreNoDefaultLib*/ false)); // load type declarations specified via 'types' argument or implicitly from types/ and node_modules/@types folders const typeReferences: string[] = getAutomaticTypeDirectiveNames(options, host); @@ -608,11 +608,11 @@ namespace ts { // otherwise, using options specified in '--lib' instead of '--target' default library file const defaultLibraryFileName = getDefaultLibraryFileName(); if (!options.lib && defaultLibraryFileName) { - processRootFile(defaultLibraryFileName, /*isDefaultLib*/ true); + processRootFile(defaultLibraryFileName, /*isDefaultLib*/ true, /*ignoreNoDefaultLib*/ false); } else { forEach(options.lib, libFileName => { - processRootFile(combinePaths(defaultLibraryPath, libFileName), /*isDefaultLib*/ true); + processRootFile(combinePaths(defaultLibraryPath, libFileName), /*isDefaultLib*/ true, /*ignoreNoDefaultLib*/ false); }); } } @@ -964,6 +964,11 @@ namespace ts { if (fileChanged) { // The `newSourceFile` object was created for the new program. + if (!arrayIsEqualTo(oldSourceFile.libReferenceDirectives, newSourceFile.libReferenceDirectives, fileReferenceIsEqualTo)) { + // 'lib' references has changed. Matches behavior in chagnesAffectModuleResolution + return oldProgram.structureIsReused = StructureIsReused.Not; + } + if (oldSourceFile.hasNoDefaultLib !== newSourceFile.hasNoDefaultLib) { // value of no-default-lib has changed // this will affect if default library is injected into the list of files @@ -1579,8 +1584,8 @@ namespace ts { return configFileParsingDiagnostics || emptyArray; } - function processRootFile(fileName: string, isDefaultLib: boolean) { - processSourceFile(normalizePath(fileName), isDefaultLib, /*packageId*/ undefined); + function processRootFile(fileName: string, isDefaultLib: boolean, ignoreNoDefaultLib: boolean) { + processSourceFile(normalizePath(fileName), isDefaultLib, ignoreNoDefaultLib, /*packageId*/ undefined); } function fileReferenceIsEqualTo(a: FileReference, b: FileReference): boolean { @@ -1747,9 +1752,9 @@ namespace ts { } /** This has side effects through `findSourceFile`. */ - function processSourceFile(fileName: string, isDefaultLib: boolean, packageId: PackageId | undefined, refFile?: SourceFile, refPos?: number, refEnd?: number): void { + function processSourceFile(fileName: string, isDefaultLib: boolean, ignoreNoDefaultLib: boolean, packageId: PackageId | undefined, refFile?: SourceFile, refPos?: number, refEnd?: number): void { getSourceFileFromReferenceWorker(fileName, - fileName => findSourceFile(fileName, toPath(fileName), isDefaultLib, refFile, refPos, refEnd, packageId), + fileName => findSourceFile(fileName, toPath(fileName), isDefaultLib, ignoreNoDefaultLib, refFile, refPos, refEnd, packageId), (diagnostic, ...args) => { fileProcessingDiagnostics.add(refFile !== undefined && refEnd !== undefined && refPos !== undefined ? createFileDiagnostic(refFile, refPos, refEnd - refPos, diagnostic, ...args) @@ -1787,7 +1792,7 @@ namespace ts { } // Get source file from normalized fileName - function findSourceFile(fileName: string, path: Path, isDefaultLib: boolean, refFile: SourceFile, refPos: number, refEnd: number, packageId: PackageId | undefined): SourceFile | undefined { + function findSourceFile(fileName: string, path: Path, isDefaultLib: boolean, ignoreNoDefaultLib: boolean, refFile: SourceFile, refPos: number, refEnd: number, packageId: PackageId | undefined): SourceFile | undefined { if (filesByName.has(path)) { const file = filesByName.get(path); // try to check if we've already seen this file but with a different casing in path @@ -1802,6 +1807,7 @@ namespace ts { sourceFilesFoundSearchingNodeModules.set(file.path, false); if (!options.noResolve) { processReferencedFiles(file, isDefaultLib); + processLibReferenceDirectives(file); processTypeReferenceDirectives(file); } @@ -1867,10 +1873,11 @@ namespace ts { } } - skipDefaultLib = skipDefaultLib || file.hasNoDefaultLib; + skipDefaultLib = skipDefaultLib || (file.hasNoDefaultLib && !ignoreNoDefaultLib); if (!options.noResolve) { processReferencedFiles(file, isDefaultLib); + processLibReferenceDirectives(file); processTypeReferenceDirectives(file); } @@ -1891,7 +1898,7 @@ namespace ts { function processReferencedFiles(file: SourceFile, isDefaultLib: boolean) { forEach(file.referencedFiles, ref => { const referencedFileName = resolveTripleslashReference(ref.fileName, file.fileName); - processSourceFile(referencedFileName, isDefaultLib, /*packageId*/ undefined, file, ref.pos, ref.end); + processSourceFile(referencedFileName, isDefaultLib, /*ignoreNoDefaultLib*/ false, /*packageId*/ undefined, file, ref.pos, ref.end); }); } @@ -1922,7 +1929,7 @@ namespace ts { if (resolvedTypeReferenceDirective) { if (resolvedTypeReferenceDirective.primary) { // resolved from the primary path - processSourceFile(resolvedTypeReferenceDirective.resolvedFileName, /*isDefaultLib*/ false, resolvedTypeReferenceDirective.packageId, refFile, refPos, refEnd); + processSourceFile(resolvedTypeReferenceDirective.resolvedFileName, /*isDefaultLib*/ false, /*ignoreNoDefaultLib*/ false, resolvedTypeReferenceDirective.packageId, refFile, refPos, refEnd); } else { // If we already resolved to this file, it must have been a secondary reference. Check file contents @@ -1945,7 +1952,7 @@ namespace ts { } else { // First resolution of this library - processSourceFile(resolvedTypeReferenceDirective.resolvedFileName, /*isDefaultLib*/ false, resolvedTypeReferenceDirective.packageId, refFile, refPos, refEnd); + processSourceFile(resolvedTypeReferenceDirective.resolvedFileName, /*isDefaultLib*/ false, /*ignoreNoDefaultLib*/ false, resolvedTypeReferenceDirective.packageId, refFile, refPos, refEnd); } } } @@ -1958,6 +1965,23 @@ namespace ts { } } + function processLibReferenceDirectives(file: SourceFile) { + forEach(file.libReferenceDirectives, libReference => { + const libName = libReference.fileName.toLocaleLowerCase(); + const libFileName = libMap.get(libName); + if (libFileName) { + // we ignore any 'no-default-lib' reference set on this file. + processRootFile(combinePaths(defaultLibraryPath, libFileName), /*isDefaultLib*/ true, /*ignoreNoDefaultLib*/ true); + } + else { + const unqualifiedLibName = removeSuffix(removePrefix(libName, "lib."), ".d.ts"); + const suggestion = getSpellingSuggestion(unqualifiedLibName, libs, identity); + const message = suggestion ? Diagnostics.Cannot_find_lib_definition_for_0_Did_you_mean_1 : Diagnostics.Cannot_find_lib_definition_for_0; + fileProcessingDiagnostics.add(createDiagnostic(file, libReference.pos, libReference.end, message, libName, suggestion)); + } + }); + } + function createDiagnostic(refFile: SourceFile, refPos: number, refEnd: number, message: DiagnosticMessage, ...args: any[]): Diagnostic { if (refFile === undefined || refPos === undefined || refEnd === undefined) { return createCompilerDiagnostic(message, ...args); @@ -2018,7 +2042,7 @@ namespace ts { else if (shouldAddFile) { const path = toPath(resolvedFileName); const pos = skipTrivia(file.text, file.imports[i].pos); - findSourceFile(resolvedFileName, path, /*isDefaultLib*/ false, file, pos, file.imports[i].end, resolution.packageId); + findSourceFile(resolvedFileName, path, /*isDefaultLib*/ false, /*ignoreNoDefaultLib*/ false, file, pos, file.imports[i].end, resolution.packageId); } if (isFromNodeModulesSearch) { diff --git a/src/compiler/transformers/declarations.ts b/src/compiler/transformers/declarations.ts index 67e4fa31cb2..66b8d696cf9 100644 --- a/src/compiler/transformers/declarations.ts +++ b/src/compiler/transformers/declarations.ts @@ -156,12 +156,12 @@ namespace ts { [createModifier(SyntaxKind.DeclareKeyword)], createLiteral(getResolvedExternalModuleName(context.getEmitHost(), sourceFile)), createModuleBlock(setTextRange(createNodeArray(filterCandidateImports(statements)), sourceFile.statements)) - )], /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false); + )], /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false, /*libReferences*/ []); return newFile; } needsDeclare = true; const updated = visitNodes(sourceFile.statements, visitDeclarationStatements); - return updateSourceFileNode(sourceFile, filterCandidateImports(updated), /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false); + return updateSourceFileNode(sourceFile, filterCandidateImports(updated), /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false, /*libReferences*/ []); } )); bundle.syntheticFileReferences = []; diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 4f48fe96a87..a60c12f6c23 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2544,6 +2544,7 @@ namespace ts { moduleName: string; referencedFiles: ReadonlyArray; typeReferenceDirectives: ReadonlyArray; + libReferenceDirectives: ReadonlyArray; languageVariant: LanguageVariant; isDeclarationFile: boolean; @@ -5304,8 +5305,12 @@ namespace ts { } /* @internal */ - export interface PragmaDefinition { - args?: [PragmaArgumentSpecification] | [PragmaArgumentSpecification, PragmaArgumentSpecification] | [PragmaArgumentSpecification, PragmaArgumentSpecification, PragmaArgumentSpecification]; + export interface PragmaDefinition { + args?: + | [PragmaArgumentSpecification] + | [PragmaArgumentSpecification, PragmaArgumentSpecification] + | [PragmaArgumentSpecification, PragmaArgumentSpecification, PragmaArgumentSpecification] + | [PragmaArgumentSpecification, PragmaArgumentSpecification, PragmaArgumentSpecification, PragmaArgumentSpecification]; // If not present, defaults to PragmaKindFlags.Default kind?: PragmaKindFlags; } @@ -5314,7 +5319,7 @@ namespace ts { * This function only exists to cause exact types to be inferred for all the literals within `commentPragmas` */ /* @internal */ - function _contextuallyTypePragmas}, K1 extends string, K2 extends string, K3 extends string>(args: T): T { + function _contextuallyTypePragmas}, K1 extends string, K2 extends string, K3 extends string, K4 extends string>(args: T): T { return args; } @@ -5325,6 +5330,7 @@ namespace ts { "reference": { args: [ { name: "types", optional: true, captureSpan: true }, + { name: "lib", optional: true, captureSpan: true }, { name: "path", optional: true, captureSpan: true }, { name: "no-default-lib", optional: true } ], @@ -5365,13 +5371,15 @@ namespace ts { */ /* @internal */ type PragmaArgumentType = - T extends { args: [PragmaArgumentSpecification, PragmaArgumentSpecification, PragmaArgumentSpecification] } - ? PragmaArgTypeOptional & PragmaArgTypeOptional & PragmaArgTypeOptional - : T extends { args: [PragmaArgumentSpecification, PragmaArgumentSpecification] } - ? PragmaArgTypeOptional & PragmaArgTypeOptional - : T extends { args: [PragmaArgumentSpecification] } - ? PragmaArgTypeOptional - : object; + T extends { args: [PragmaArgumentSpecification, PragmaArgumentSpecification, PragmaArgumentSpecification, PragmaArgumentSpecification] } + ? PragmaArgTypeOptional & PragmaArgTypeOptional & PragmaArgTypeOptional & PragmaArgTypeOptional + : T extends { args: [PragmaArgumentSpecification, PragmaArgumentSpecification, PragmaArgumentSpecification] } + ? PragmaArgTypeOptional & PragmaArgTypeOptional & PragmaArgTypeOptional + : T extends { args: [PragmaArgumentSpecification, PragmaArgumentSpecification] } + ? PragmaArgTypeOptional & PragmaArgTypeOptional + : T extends { args: [PragmaArgumentSpecification] } + ? PragmaArgTypeOptional + : object; // The above fallback to `object` when there's no args to allow `{}` (as intended), but not the number 2, for example // TODO: Swap to `undefined` for a cleaner API once strictNullChecks is enabled diff --git a/src/harness/harnessLanguageService.ts b/src/harness/harnessLanguageService.ts index 34d6f775a74..3553ee301df 100644 --- a/src/harness/harnessLanguageService.ts +++ b/src/harness/harnessLanguageService.ts @@ -574,7 +574,8 @@ namespace Harness.LanguageService { importedFiles: [], ambientExternalModules: [], isLibFile: shimResult.isLibFile, - typeReferenceDirectives: [] + typeReferenceDirectives: [], + libReferenceDirectives: [] }; ts.forEach(shimResult.referencedFiles, refFile => { diff --git a/src/lib/dom.iterable.d.ts b/src/lib/dom.iterable.d.ts index 6ca728444f2..2c968671a1a 100644 --- a/src/lib/dom.iterable.d.ts +++ b/src/lib/dom.iterable.d.ts @@ -1,4 +1,4 @@ -/// +/// interface DOMTokenList { [Symbol.iterator](): IterableIterator; diff --git a/src/lib/es2015.d.ts b/src/lib/es2015.d.ts index 36f22af6241..e81e7fdd3ef 100644 --- a/src/lib/es2015.d.ts +++ b/src/lib/es2015.d.ts @@ -1,10 +1,10 @@ -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// \ No newline at end of file +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/src/lib/es2015.full.d.ts b/src/lib/es2015.full.d.ts new file mode 100644 index 00000000000..4652bbb84c5 --- /dev/null +++ b/src/lib/es2015.full.d.ts @@ -0,0 +1,14 @@ +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/src/lib/es2015.iterable.d.ts b/src/lib/es2015.iterable.d.ts index ccb7df6be69..b7c04c60ce0 100644 --- a/src/lib/es2015.iterable.d.ts +++ b/src/lib/es2015.iterable.d.ts @@ -1,4 +1,4 @@ -/// +/// interface SymbolConstructor { /** diff --git a/src/lib/es2015.symbol.wellknown.d.ts b/src/lib/es2015.symbol.wellknown.d.ts index 681b6e8edfa..948c8129a92 100644 --- a/src/lib/es2015.symbol.wellknown.d.ts +++ b/src/lib/es2015.symbol.wellknown.d.ts @@ -1,4 +1,4 @@ -/// +/// interface SymbolConstructor { /** diff --git a/src/lib/es2016.d.ts b/src/lib/es2016.d.ts index 34f833d621b..fc1aab7798c 100644 --- a/src/lib/es2016.d.ts +++ b/src/lib/es2016.d.ts @@ -1,2 +1,2 @@ -/// -/// \ No newline at end of file +/// +/// \ No newline at end of file diff --git a/src/lib/es2016.full.d.ts b/src/lib/es2016.full.d.ts new file mode 100644 index 00000000000..0f1fd4349da --- /dev/null +++ b/src/lib/es2016.full.d.ts @@ -0,0 +1,5 @@ +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/src/lib/es2017.d.ts b/src/lib/es2017.d.ts index 87aa273140b..74e5bea1180 100644 --- a/src/lib/es2017.d.ts +++ b/src/lib/es2017.d.ts @@ -1,6 +1,6 @@ -/// -/// -/// -/// -/// -/// +/// +/// +/// +/// +/// +/// diff --git a/src/lib/es2017.full.d.ts b/src/lib/es2017.full.d.ts new file mode 100644 index 00000000000..82c358f31e1 --- /dev/null +++ b/src/lib/es2017.full.d.ts @@ -0,0 +1,5 @@ +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/src/lib/es2017.sharedmemory.d.ts b/src/lib/es2017.sharedmemory.d.ts index b9a9b0f7e10..018a2f162a5 100644 --- a/src/lib/es2017.sharedmemory.d.ts +++ b/src/lib/es2017.sharedmemory.d.ts @@ -1,5 +1,5 @@ -/// -/// +/// +/// interface SharedArrayBuffer { /** diff --git a/src/lib/es2018.d.ts b/src/lib/es2018.d.ts index 54d108440e0..1d0e0c94d2c 100644 --- a/src/lib/es2018.d.ts +++ b/src/lib/es2018.d.ts @@ -1,4 +1,4 @@ -/// -/// -/// -/// +/// +/// +/// +/// diff --git a/src/lib/es2018.full.d.ts b/src/lib/es2018.full.d.ts new file mode 100644 index 00000000000..0f38d44ca5e --- /dev/null +++ b/src/lib/es2018.full.d.ts @@ -0,0 +1,5 @@ +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/src/lib/es5.full.d.ts b/src/lib/es5.full.d.ts new file mode 100644 index 00000000000..5bbe6663b9f --- /dev/null +++ b/src/lib/es5.full.d.ts @@ -0,0 +1,4 @@ +/// +/// +/// +/// diff --git a/src/lib/esnext.asynciterable.d.ts b/src/lib/esnext.asynciterable.d.ts index 8379ba5ba6c..11093af623d 100644 --- a/src/lib/esnext.asynciterable.d.ts +++ b/src/lib/esnext.asynciterable.d.ts @@ -1,5 +1,5 @@ -/// -/// +/// +/// interface SymbolConstructor { /** diff --git a/src/lib/esnext.d.ts b/src/lib/esnext.d.ts index 831d241cc3c..50b179191ad 100644 --- a/src/lib/esnext.d.ts +++ b/src/lib/esnext.d.ts @@ -1,3 +1,3 @@ -/// -/// -/// +/// +/// +/// diff --git a/src/lib/esnext.full.d.ts b/src/lib/esnext.full.d.ts new file mode 100644 index 00000000000..2a8029d3a80 --- /dev/null +++ b/src/lib/esnext.full.d.ts @@ -0,0 +1,5 @@ +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/src/lib/libs.json b/src/lib/libs.json index 1385365efff..d3803464818 100644 --- a/src/lib/libs.json +++ b/src/lib/libs.json @@ -39,6 +39,7 @@ "es2015.full", "es2016.full", "es2017.full", + "es2018.full", "esnext.full" ], "paths": { @@ -46,57 +47,5 @@ "webworker.generated": "lib.webworker.d.ts", "es5.full": "lib.d.ts", "es2015.full": "lib.es6.d.ts" - }, - "sources": { - "es5.full": [ - "es5.d.ts", - "dom.generated.d.ts", - "webworker.importscripts.d.ts", - "scripthost.d.ts" - ], - "es2015.full": [ - "es5.d.ts", - "es2015.core.d.ts", - "es2015.collection.d.ts", - "es2015.generator.d.ts", - "es2015.iterable.d.ts", - "es2015.promise.d.ts", - "es2015.proxy.d.ts", - "es2015.reflect.d.ts", - "es2015.symbol.d.ts", - "es2015.symbol.wellknown.d.ts", - "dom.generated.d.ts", - "webworker.importscripts.d.ts", - "scripthost.d.ts", - "dom.iterable.d.ts" - ], - "es2016.full": [ - "es2016.d.ts", - "dom.generated.d.ts", - "webworker.importscripts.d.ts", - "scripthost.d.ts", - "dom.iterable.d.ts" - ], - "es2017.full": [ - "es2017.d.ts", - "dom.generated.d.ts", - "webworker.importscripts.d.ts", - "scripthost.d.ts", - "dom.iterable.d.ts" - ], - "es2018.full": [ - "es2018.d.ts", - "dom.generated.d.ts", - "webworker.importscripts.d.ts", - "scripthost.d.ts", - "dom.iterable.d.ts" - ], - "esnext.full": [ - "esnext.d.ts", - "dom.generated.d.ts", - "webworker.importscripts.d.ts", - "scripthost.d.ts", - "dom.iterable.d.ts" - ] } } \ No newline at end of file diff --git a/src/lib/webworker.generated.d.ts b/src/lib/webworker.generated.d.ts index b83072a9698..558acc14d12 100644 --- a/src/lib/webworker.generated.d.ts +++ b/src/lib/webworker.generated.d.ts @@ -1,3 +1,5 @@ +/// + ///////////////////////////// /// Worker APIs ///////////////////////////// @@ -1397,28 +1399,28 @@ declare var URL: { }; interface URLSearchParams { - /** - * Appends a specified key/value pair as a new search parameter. + /** + * Appends a specified key/value pair as a new search parameter. */ append(name: string, value: string): void; - /** - * Deletes the given search parameter, and its associated value, from the list of all search parameters. + /** + * Deletes the given search parameter, and its associated value, from the list of all search parameters. */ delete(name: string): void; - /** - * Returns the first value associated to the given search parameter. + /** + * Returns the first value associated to the given search parameter. */ get(name: string): string | null; - /** - * Returns all the values association with a given search parameter. + /** + * Returns all the values association with a given search parameter. */ getAll(name: string): string[]; - /** - * Returns a Boolean indicating if such a search parameter exists. + /** + * Returns a Boolean indicating if such a search parameter exists. */ has(name: string): boolean; - /** - * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. + /** + * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. */ set(name: string, value: string): void; } @@ -1710,7 +1712,6 @@ declare var navigator: WorkerNavigator; declare function clearImmediate(handle: number): void; declare function clearInterval(handle: number): void; declare function clearTimeout(handle: number): void; -declare function importScripts(...urls: string[]): void; declare function setImmediate(handler: any, ...args: any[]): number; declare function setInterval(handler: any, timeout?: any, ...args: any[]): number; declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number; diff --git a/src/services/preProcess.ts b/src/services/preProcess.ts index 6c5f6c1b2ff..174b3fa5ffc 100644 --- a/src/services/preProcess.ts +++ b/src/services/preProcess.ts @@ -6,6 +6,7 @@ namespace ts { checkJsDirective: undefined, referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], amdDependencies: [], hasNoDefaultLib: undefined, moduleName: undefined @@ -336,7 +337,7 @@ namespace ts { importedFiles.push(decl.ref); } } - return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles, isLibFile: pragmaContext.hasNoDefaultLib, ambientExternalModules: undefined }; + return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, libReferenceDirectives: pragmaContext.libReferenceDirectives, importedFiles, isLibFile: pragmaContext.hasNoDefaultLib, ambientExternalModules: undefined }; } else { // for global scripts ambient modules still can have augmentations - look for ambient modules with depth > 0 @@ -354,7 +355,7 @@ namespace ts { } } } - return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles, isLibFile: pragmaContext.hasNoDefaultLib, ambientExternalModules: ambientModuleNames }; + return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, libReferenceDirectives: pragmaContext.libReferenceDirectives, importedFiles, isLibFile: pragmaContext.hasNoDefaultLib, ambientExternalModules: ambientModuleNames }; } } } diff --git a/src/services/services.ts b/src/services/services.ts index f17b7698a87..96f995690e8 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -544,6 +544,7 @@ namespace ts { public moduleName: string; public referencedFiles: FileReference[]; public typeReferenceDirectives: FileReference[]; + public libReferenceDirectives: FileReference[]; public syntacticDiagnostics: Diagnostic[]; public parseDiagnostics: Diagnostic[]; diff --git a/src/services/shims.ts b/src/services/shims.ts index d0735cc1717..00268c3ef23 100644 --- a/src/services/shims.ts +++ b/src/services/shims.ts @@ -1103,7 +1103,8 @@ namespace ts { importedFiles: this.convertFileReferences(result.importedFiles), ambientExternalModules: result.ambientExternalModules, isLibFile: result.isLibFile, - typeReferenceDirectives: this.convertFileReferences(result.typeReferenceDirectives) + typeReferenceDirectives: this.convertFileReferences(result.typeReferenceDirectives), + libReferenceDirectives: this.convertFileReferences(result.libReferenceDirectives) }; }); } diff --git a/src/services/types.ts b/src/services/types.ts index 31baf7df399..1f5c3ba08ed 100644 --- a/src/services/types.ts +++ b/src/services/types.ts @@ -151,9 +151,11 @@ namespace ts { return new StringScriptSnapshot(text); } } + export interface PreProcessedFileInfo { referencedFiles: FileReference[]; typeReferenceDirectives: FileReference[]; + libReferenceDirectives: FileReference[]; importedFiles: FileReference[]; ambientExternalModules: string[]; isLibFile: boolean; diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index cda7e745657..3225122cc9a 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -1630,6 +1630,7 @@ declare namespace ts { moduleName: string; referencedFiles: ReadonlyArray; typeReferenceDirectives: ReadonlyArray; + libReferenceDirectives: ReadonlyArray; languageVariant: LanguageVariant; isDeclarationFile: boolean; /** @@ -3722,7 +3723,7 @@ declare namespace ts { function updateSpreadAssignment(node: SpreadAssignment, expression: Expression): SpreadAssignment; function createEnumMember(name: string | PropertyName, initializer?: Expression): EnumMember; function updateEnumMember(node: EnumMember, name: PropertyName, initializer: Expression | undefined): EnumMember; - function updateSourceFileNode(node: SourceFile, statements: ReadonlyArray, isDeclarationFile?: boolean, referencedFiles?: SourceFile["referencedFiles"], typeReferences?: SourceFile["typeReferenceDirectives"], hasNoDefaultLib?: boolean): SourceFile; + function updateSourceFileNode(node: SourceFile, statements: ReadonlyArray, isDeclarationFile?: boolean, referencedFiles?: SourceFile["referencedFiles"], typeReferences?: SourceFile["typeReferenceDirectives"], hasNoDefaultLib?: boolean, libReferences?: SourceFile["libReferenceDirectives"]): SourceFile; /** * Creates a shallow, memberwise clone of a node for mutation. */ @@ -4364,6 +4365,7 @@ declare namespace ts { interface PreProcessedFileInfo { referencedFiles: FileReference[]; typeReferenceDirectives: FileReference[]; + libReferenceDirectives: FileReference[]; importedFiles: FileReference[]; ambientExternalModules: string[]; isLibFile: boolean; diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 2f7a9537504..80d8a5b8148 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -1630,6 +1630,7 @@ declare namespace ts { moduleName: string; referencedFiles: ReadonlyArray; typeReferenceDirectives: ReadonlyArray; + libReferenceDirectives: ReadonlyArray; languageVariant: LanguageVariant; isDeclarationFile: boolean; /** @@ -3722,7 +3723,7 @@ declare namespace ts { function updateSpreadAssignment(node: SpreadAssignment, expression: Expression): SpreadAssignment; function createEnumMember(name: string | PropertyName, initializer?: Expression): EnumMember; function updateEnumMember(node: EnumMember, name: PropertyName, initializer: Expression | undefined): EnumMember; - function updateSourceFileNode(node: SourceFile, statements: ReadonlyArray, isDeclarationFile?: boolean, referencedFiles?: SourceFile["referencedFiles"], typeReferences?: SourceFile["typeReferenceDirectives"], hasNoDefaultLib?: boolean): SourceFile; + function updateSourceFileNode(node: SourceFile, statements: ReadonlyArray, isDeclarationFile?: boolean, referencedFiles?: SourceFile["referencedFiles"], typeReferences?: SourceFile["typeReferenceDirectives"], hasNoDefaultLib?: boolean, libReferences?: SourceFile["libReferenceDirectives"]): SourceFile; /** * Creates a shallow, memberwise clone of a node for mutation. */ @@ -4364,6 +4365,7 @@ declare namespace ts { interface PreProcessedFileInfo { referencedFiles: FileReference[]; typeReferenceDirectives: FileReference[]; + libReferenceDirectives: FileReference[]; importedFiles: FileReference[]; ambientExternalModules: string[]; isLibFile: boolean; From f4ca7ee7676128c410cafbab9ce8525a36e016d1 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Fri, 4 May 2018 10:45:16 -0700 Subject: [PATCH 04/76] Fork gulp-typescript tasks to run out-of-process --- Gulpfile.js | 11 +++- scripts/build/gulp-typescript-oop.js | 88 +++++++++++++++++++++++++++ scripts/build/main.js | 91 ++++++++++++++++++++++++++++ 3 files changed, 187 insertions(+), 3 deletions(-) create mode 100644 scripts/build/gulp-typescript-oop.js create mode 100644 scripts/build/main.js diff --git a/Gulpfile.js b/Gulpfile.js index 9a082bb4479..08392070099 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -11,6 +11,7 @@ const concat = require("gulp-concat"); const clone = require("gulp-clone"); const newer = require("gulp-newer"); const tsc = require("gulp-typescript"); +const tsc_oop = require("./scripts/build/gulp-typescript-oop"); const insert = require("gulp-insert"); const sourcemaps = require("gulp-sourcemaps"); const Q = require("q"); @@ -409,6 +410,10 @@ function prependCopyright(outputCopyright = !useDebugMode) { return insert.prepend(outputCopyright ? (copyrightContent || (copyrightContent = fs.readFileSync(copyright).toString())) : ""); } +function getCompilerPath(useBuiltCompiler) { + return useBuiltCompiler ? "./built/local/typescript.js" : "./lib/typescript.js"; +} + gulp.task(builtLocalCompiler, /*help*/ false, [servicesFile], () => { const localCompilerProject = tsc.createProject("src/compiler/tsconfig.json", getCompilerSettings({}, /*useBuiltCompiler*/ true)); return localCompilerProject.src() @@ -421,7 +426,7 @@ gulp.task(builtLocalCompiler, /*help*/ false, [servicesFile], () => { }); gulp.task(servicesFile, /*help*/ false, ["lib", "generate-diagnostics"], () => { - const servicesProject = tsc.createProject("src/services/tsconfig.json", getCompilerSettings({ removeComments: false }, /*useBuiltCompiler*/ false)); + const servicesProject = tsc_oop.createProject("src/services/tsconfig.json", getCompilerSettings({ removeComments: false }), { typescript: getCompilerPath(/*useBuiltCompiler*/ false) }); const {js, dts} = servicesProject.src() .pipe(newer(servicesFile)) .pipe(sourcemaps.init()) @@ -496,7 +501,7 @@ const tsserverLibraryFile = path.join(builtLocalDirectory, "tsserverlibrary.js") const tsserverLibraryDefinitionFile = path.join(builtLocalDirectory, "tsserverlibrary.d.ts"); gulp.task(tsserverLibraryFile, /*help*/ false, [servicesFile, typesMapJson], (done) => { - const serverLibraryProject = tsc.createProject("src/server/tsconfig.library.json", getCompilerSettings({ removeComments: false }, /*useBuiltCompiler*/ true)); + const serverLibraryProject = tsc_oop.createProject("src/server/tsconfig.library.json", getCompilerSettings({ removeComments: false }), { typescript: getCompilerPath(/*useBuiltCompiler*/ true) }); /** @type {{ js: NodeJS.ReadableStream, dts: NodeJS.ReadableStream }} */ const {js, dts} = serverLibraryProject.src() .pipe(sourcemaps.init()) @@ -587,7 +592,7 @@ gulp.task("LKG", "Makes a new LKG out of the built js files", ["clean", "dontUse // Task to build the tests infrastructure using the built compiler const run = path.join(builtLocalDirectory, "run.js"); gulp.task(run, /*help*/ false, [servicesFile, tsserverLibraryFile], () => { - const testProject = tsc.createProject("src/harness/tsconfig.json", getCompilerSettings({}, /*useBuiltCompiler*/ true)); + const testProject = tsc_oop.createProject("src/harness/tsconfig.json", getCompilerSettings({}), { typescript: getCompilerPath(/*useBuiltCompiler*/ true) }); return testProject.src() .pipe(newer(run)) .pipe(sourcemaps.init()) diff --git a/scripts/build/gulp-typescript-oop.js b/scripts/build/gulp-typescript-oop.js new file mode 100644 index 00000000000..d4b494e6435 --- /dev/null +++ b/scripts/build/gulp-typescript-oop.js @@ -0,0 +1,88 @@ +// @ts-check +const path = require("path"); +const child_process = require("child_process"); +const tsc = require("gulp-typescript"); +const Vinyl = require("vinyl"); +const { Duplex, Readable } = require("stream"); + +/** + * @param {string} tsConfigFileName + * @param {tsc.Settings} settings + * @param {Object} options + * @param {string} [options.typescript] + */ +function createProject(tsConfigFileName, settings, options) { + settings = { ...settings }; + options = { ...options }; + if (settings.typescript) throw new Error(); + + const localSettings = { ...settings }; + if (options.typescript) { + options.typescript = path.resolve(options.typescript); + localSettings.typescript = require(options.typescript); + } + + const project = tsc.createProject(tsConfigFileName, localSettings); + const wrappedProject = /** @type {tsc.Project} */(() => { + const proc = child_process.fork(require.resolve("./main.js")); + /** @type {Duplex & { js?: Readable, dts?: Readable }} */ + const compileStream = new Duplex({ + objectMode: true, + read() {}, + /** @param {*} file */ + write(file, encoding, callback) { + proc.send({ method: "write", params: { path: file.path, cwd: file.cwd, base: file.base }}); + callback(); + }, + final(callback) { + proc.send({ method: "final" }); + callback(); + } + }); + const jsStream = compileStream.js = new Readable({ + objectMode: true, + read() {} + }); + const dtsStream = compileStream.dts = new Readable({ + objectMode: true, + read() {} + }); + proc.send({ method: "createProject", params: { tsConfigFileName, settings, options } }); + proc.on("message", ({ method, params }) => { + if (method === "write") { + const file = new Vinyl({ + path: params.path, + cwd: params.cwd, + base: params.base, + contents: Buffer.from(params.contents, "utf8") + }); + if (params.sourceMap) file.sourceMap = params.sourceMap + compileStream.push(file);; + if (file.path.endsWith(".d.ts")) { + dtsStream.push(file); + } + else { + jsStream.push(file); + } + } + else if (method === "final") { + compileStream.push(null); + jsStream.push(null); + dtsStream.push(null); + proc.kill(); + } + else if (method === "error") { + const error = new Error(); + error.name = params.name; + error.message = params.message; + error.stack = params.stack; + compileStream.emit("error", error); + proc.kill(); + } + }); + return /** @type {*} */(compileStream); + }); + return Object.assign(wrappedProject, project); +} + +exports.createProject = createProject; \ No newline at end of file diff --git a/scripts/build/main.js b/scripts/build/main.js new file mode 100644 index 00000000000..3dcec4880d7 --- /dev/null +++ b/scripts/build/main.js @@ -0,0 +1,91 @@ +// @ts-check +const path = require("path"); +const fs = require("fs"); +const tsc = require("gulp-typescript"); +const Vinyl = require("vinyl"); +const { Readable, Writable } = require("stream"); + +/** @type {tsc.Project} */ +let project; + +/** @type {Readable} */ +let inputStream; + +/** @type {Writable} */ +let outputStream; + +/** @type {tsc.CompileStream} */ +let compileStream; + +process.on("message", ({ method, params }) => { + try { + if (method === "createProject") { + const { tsConfigFileName, settings, options } = params; + if (options.typescript) { + settings.typescript = require(options.typescript); + } + project = tsc.createProject(tsConfigFileName, settings); + inputStream = new Readable({ + objectMode: true, + read() {} + }); + outputStream = new Writable({ + objectMode: true, + /** + * @param {*} file + */ + write(file, encoding, callback) { + process.send({ + method: "write", + params: { + path: file.path, + cwd: file.cwd, + base: file.base, + contents: file.contents.toString(), + sourceMap: file.sourceMap + } + }); + callback(); + }, + final(callback) { + process.send({ method: "final" }); + callback(); + } + }); + outputStream.on("error", error => { + process.send({ + method: "error", + params: { + name: error.name, + message: error.message, + stack: error.stack + } + }); + }); + compileStream = project(); + inputStream.pipe(compileStream).pipe(outputStream); + } + else if (method === "write") { + const file = new Vinyl({ + path: params.path, + cwd: params.cwd, + base: params.base + }); + file.contents = fs.readFileSync(file.path); + inputStream.push(/** @type {*} */(file)); + } + else if (method === "final") { + inputStream.push(null); + } + } + catch (e) { + process.send({ + method: "error", + params: { + name: e.name, + message: e.message, + stack: e.stack + } + }); + } +}); \ No newline at end of file From 8d230fc428f9335ef74e7c1cd70d67ef47487499 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Fri, 4 May 2018 15:50:14 -0700 Subject: [PATCH 05/76] Fix typo in comment --- src/compiler/program.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 8fba4480c55..d9e0741d5e0 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -965,7 +965,7 @@ namespace ts { // The `newSourceFile` object was created for the new program. if (!arrayIsEqualTo(oldSourceFile.libReferenceDirectives, newSourceFile.libReferenceDirectives, fileReferenceIsEqualTo)) { - // 'lib' references has changed. Matches behavior in chagnesAffectModuleResolution + // 'lib' references has changed. Matches behavior in changesAffectModuleResolution return oldProgram.structureIsReused = StructureIsReused.Not; } From 68c0e524a612fe4bed09d1e3741c8f79b110ac9c Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Fri, 4 May 2018 17:23:56 -0700 Subject: [PATCH 06/76] Accept new symbol baselines, ensure expected ordering for default libs --- src/compiler/commandLineParser.ts | 69 +- src/compiler/core.ts | 8 + src/compiler/program.ts | 36 +- src/lib/es2015.d.ts | 2 +- src/lib/es2015.full.d.ts | 2 +- tests/baselines/reference/2dArrays.symbols | 4 +- tests/baselines/reference/ES5For-of1.symbols | 6 +- tests/baselines/reference/ES5For-of22.symbols | 6 +- tests/baselines/reference/ES5For-of23.symbols | 6 +- tests/baselines/reference/ES5For-of33.symbols | 6 +- .../reference/ES5For-ofTypeCheck13.symbols | 4 +- .../reference/ES5For-ofTypeCheck14.symbols | 2 +- .../reference/ES5SymbolProperty1.symbols | 6 +- .../reference/ES5SymbolProperty3.symbols | 6 +- .../reference/ES5SymbolProperty4.symbols | 6 +- .../reference/ES5SymbolProperty5.symbols | 6 +- .../reference/ES5SymbolProperty7.symbols | 6 +- .../reference/ES5SymbolType1.symbols | 4 +- ...WithInaccessibleTypeAsTypeArgument.symbols | 4 +- .../reference/TypeGuardWithArrayUnion.symbols | 6 +- .../abstractPropertyInConstructor.symbols | 6 +- ...dditionOperatorWithAnyAndEveryType.symbols | 2 +- ...eratorWithConstrainedTypeParameter.symbols | 4 +- ...dditionOperatorWithInvalidOperands.symbols | 4 +- ...torWithNullValueAndInvalidOperator.symbols | 4 +- ...tionOperatorWithStringAndEveryType.symbols | 2 +- .../additionOperatorWithTypeParameter.symbols | 2 +- ...thUndefinedValueAndInvalidOperands.symbols | 4 +- ...allowJscheckJsTypeParameterNoCrash.symbols | 4 +- .../reference/ambientConstLiterals.symbols | 12 +- .../baselines/reference/ambientEnum1.symbols | 4 +- .../baselines/reference/ambientErrors.symbols | 4 +- .../anyAssignabilityInInheritance.symbols | 12 +- .../anyAssignableToEveryType.symbols | 12 +- .../anyAssignableToEveryType2.symbols | 6 +- .../anyInferenceAnonymousFunctions.symbols | 20 +- .../reference/apparentTypeSubtyping.symbols | 10 +- .../reference/apparentTypeSupertype.symbols | 2 +- tests/baselines/reference/argsInScope.symbols | 4 +- .../reference/argumentsAsPropertyName.symbols | 6 +- .../argumentsObjectIterator01_ES5.symbols | 4 +- .../argumentsObjectIterator01_ES6.symbols | 4 +- .../argumentsObjectIterator02_ES5.symbols | 4 +- .../argumentsObjectIterator02_ES6.symbols | 10 +- ...gumentsUsedInObjectLiteralProperty.symbols | 4 +- .../arithmeticOnInvalidTypes.symbols | 4 +- ...thmeticOperatorWithInvalidOperands.symbols | 2 +- ...torWithNullValueAndInvalidOperands.symbols | 2 +- ...thUndefinedValueAndInvalidOperands.symbols | 2 +- .../arityAndOrderCompatibility01.symbols | 2 +- .../reference/arrayAssignmentTest5.symbols | 4 +- .../baselines/reference/arrayAugment.symbols | 6 +- .../arrayBufferIsViewNarrowsType.symbols | 10 +- .../baselines/reference/arrayConcat2.symbols | 14 +- .../baselines/reference/arrayConcat3.symbols | 8 +- .../reference/arrayConcatMap.symbols | 8 +- .../reference/arrayConstructors1.symbols | 12 +- tests/baselines/reference/arrayFilter.symbols | 4 +- tests/baselines/reference/arrayFind.symbols | 2 +- tests/baselines/reference/arrayFrom.symbols | 56 +- tests/baselines/reference/arrayFrom.types | 36 +- .../baselines/reference/arrayLiteral.symbols | 8 +- ...ralAndArrayConstructorEquivalence1.symbols | 8 +- ...LiteralWithMultipleBestCommonTypes.symbols | 4 +- .../baselines/reference/arrayLiterals.symbols | 2 +- .../reference/arrayLiterals2ES5.symbols | 10 +- .../reference/arrayLiterals2ES6.symbols | 10 +- .../reference/arrayLiterals3.symbols | 10 +- ...SubtypeIsAssignableToReadonlyArray.symbols | 6 +- .../arrayReferenceWithoutTypeArgs.symbols | 2 +- .../reference/arraySigChecking.symbols | 4 +- tests/baselines/reference/arraySlice.symbols | 4 +- .../arrayTypeOfFunctionTypes.symbols | 2 +- .../arrayTypeOfFunctionTypes2.symbols | 2 +- .../reference/arrayTypeOfTypeOf.symbols | 6 +- tests/baselines/reference/arrayconcat.symbols | 12 +- .../reference/arrowFunctionContexts.symbols | 24 +- .../arrowFunctionExpressions.symbols | 24 +- ...rrowFunctionWithObjectLiteralBody5.symbols | 6 +- ...rrowFunctionWithObjectLiteralBody6.symbols | 6 +- tests/baselines/reference/asOperator1.symbols | 6 +- .../assignFromBooleanInterface.symbols | 2 +- .../assignFromBooleanInterface2.symbols | 4 +- .../assignFromNumberInterface.symbols | 2 +- .../assignFromNumberInterface2.symbols | 4 +- .../assignFromStringInterface.symbols | 2 +- .../assignFromStringInterface2.symbols | 14 +- ...gnLambdaToNominalSubtypeOfFunction.symbols | 2 +- .../assigningFromObjectToAnythingElse.symbols | 28 +- .../reference/assignmentCompatBug3.symbols | 6 +- ...ssignmentCompatWithCallSignatures3.symbols | 28 +- ...ssignmentCompatWithCallSignatures4.symbols | 12 +- ...mentCompatWithConstructSignatures3.symbols | 28 +- ...mentCompatWithConstructSignatures4.symbols | 12 +- .../reference/assignmentToObject.symbols | 2 +- .../assignmentToObjectAndFunction.symbols | 12 +- .../reference/assignmentTypeNarrowing.symbols | 2 +- .../asyncAliasReturnType_es5.symbols | 2 +- .../asyncAliasReturnType_es6.symbols | 2 +- .../asyncArrowFunction10_es2017.symbols | 2 +- .../asyncArrowFunction10_es5.symbols | 2 +- .../asyncArrowFunction10_es6.symbols | 2 +- .../asyncArrowFunction1_es2017.symbols | 2 +- .../reference/asyncArrowFunction1_es5.symbols | 2 +- .../reference/asyncArrowFunction1_es6.symbols | 2 +- .../asyncArrowFunction5_es2017.symbols | 2 +- .../reference/asyncArrowFunction5_es5.symbols | 2 +- .../reference/asyncArrowFunction5_es6.symbols | 2 +- .../asyncArrowFunction6_es2017.symbols | 2 +- .../reference/asyncArrowFunction6_es5.symbols | 2 +- .../reference/asyncArrowFunction6_es6.symbols | 2 +- .../asyncArrowFunction7_es2017.symbols | 4 +- .../reference/asyncArrowFunction7_es5.symbols | 4 +- .../reference/asyncArrowFunction7_es6.symbols | 4 +- .../asyncArrowFunction8_es2017.symbols | 2 +- .../reference/asyncArrowFunction8_es5.symbols | 2 +- .../reference/asyncArrowFunction8_es6.symbols | 2 +- .../asyncArrowFunction9_es2017.symbols | 2 +- .../reference/asyncArrowFunction9_es5.symbols | 2 +- .../reference/asyncArrowFunction9_es6.symbols | 2 +- ...ArrowFunctionCapturesArguments_es6.symbols | 4 +- .../asyncAwaitIsolatedModules_es2017.symbols | 16 +- .../asyncAwaitIsolatedModules_es5.symbols | 16 +- .../asyncAwaitIsolatedModules_es6.symbols | 16 +- .../asyncAwaitNestedClasses_es5.symbols | 4 +- ...syncAwaitWithCapturedBlockScopeVar.symbols | 2 +- .../reference/asyncAwait_es2017.symbols | 20 +- .../reference/asyncAwait_es5.symbols | 20 +- .../reference/asyncAwait_es6.symbols | 20 +- .../reference/asyncDeclare_es5.symbols | 2 +- .../reference/asyncDeclare_es6.symbols | 2 +- .../asyncFunctionDeclaration10_es2017.symbols | 2 +- .../asyncFunctionDeclaration10_es5.symbols | 2 +- .../asyncFunctionDeclaration10_es6.symbols | 2 +- .../asyncFunctionDeclaration11_es2017.symbols | 2 +- .../asyncFunctionDeclaration11_es5.symbols | 2 +- .../asyncFunctionDeclaration11_es6.symbols | 2 +- .../asyncFunctionDeclaration12_es2017.symbols | 2 +- .../asyncFunctionDeclaration12_es5.symbols | 2 +- .../asyncFunctionDeclaration12_es6.symbols | 2 +- .../asyncFunctionDeclaration13_es2017.symbols | 2 +- .../asyncFunctionDeclaration13_es5.symbols | 2 +- .../asyncFunctionDeclaration13_es6.symbols | 2 +- .../asyncFunctionDeclaration14_es2017.symbols | 2 +- .../asyncFunctionDeclaration14_es5.symbols | 2 +- .../asyncFunctionDeclaration14_es6.symbols | 2 +- .../asyncFunctionDeclaration15_es6.symbols | 2 +- .../asyncFunctionDeclaration1_es2017.symbols | 2 +- .../asyncFunctionDeclaration1_es5.symbols | 2 +- .../asyncFunctionDeclaration1_es6.symbols | 2 +- .../asyncFunctionDeclaration5_es2017.symbols | 2 +- .../asyncFunctionDeclaration5_es5.symbols | 2 +- .../asyncFunctionDeclaration5_es6.symbols | 2 +- .../asyncFunctionDeclaration6_es2017.symbols | 2 +- .../asyncFunctionDeclaration6_es5.symbols | 2 +- .../asyncFunctionDeclaration6_es6.symbols | 2 +- .../asyncFunctionDeclaration7_es2017.symbols | 4 +- .../asyncFunctionDeclaration7_es5.symbols | 4 +- .../asyncFunctionDeclaration7_es6.symbols | 4 +- .../asyncFunctionDeclaration9_es2017.symbols | 2 +- .../asyncFunctionDeclaration9_es5.symbols | 2 +- .../asyncFunctionDeclaration9_es6.symbols | 2 +- .../asyncFunctionNoReturnType.symbols | 2 +- .../reference/asyncFunctionReturnType.symbols | 92 +-- .../asyncFunctionsAndStrictNullChecks.symbols | 2 +- tests/baselines/reference/asyncIIFE.symbols | 2 +- .../asyncImportedPromise_es5.symbols | 2 +- .../asyncImportedPromise_es6.symbols | 2 +- .../asyncQualifiedReturnType_es5.symbols | 2 +- .../asyncQualifiedReturnType_es6.symbols | 2 +- ...nParenthesizedArrowFunction_es2017.symbols | 2 +- ...ncUnParenthesizedArrowFunction_es5.symbols | 2 +- ...ncUnParenthesizedArrowFunction_es6.symbols | 2 +- .../reference/asyncUseStrict_es2017.symbols | 4 +- .../reference/asyncUseStrict_es5.symbols | 4 +- .../reference/asyncUseStrict_es6.symbols | 4 +- .../baselines/reference/augmentArray.symbols | 4 +- .../reference/augmentExportEquals5.symbols | 10 +- ...TypeAssignmentCompatIndexSignature.symbols | 4 +- ...tedTypeBracketAccessIndexSignature.symbols | 4 +- ...ntedTypeBracketNamedPropertyAccess.symbols | 4 +- tests/baselines/reference/autoLift2.symbols | 8 +- tests/baselines/reference/autolift3.symbols | 4 +- tests/baselines/reference/autolift4.symbols | 12 +- .../awaitBinaryExpression1_es2017.symbols | 4 +- .../awaitBinaryExpression1_es5.symbols | 4 +- .../awaitBinaryExpression1_es6.symbols | 4 +- .../awaitBinaryExpression2_es2017.symbols | 4 +- .../awaitBinaryExpression2_es5.symbols | 4 +- .../awaitBinaryExpression2_es6.symbols | 4 +- .../awaitBinaryExpression3_es2017.symbols | 4 +- .../awaitBinaryExpression3_es5.symbols | 4 +- .../awaitBinaryExpression3_es6.symbols | 4 +- .../awaitBinaryExpression4_es2017.symbols | 4 +- .../awaitBinaryExpression4_es5.symbols | 4 +- .../awaitBinaryExpression4_es6.symbols | 4 +- .../awaitBinaryExpression5_es2017.symbols | 4 +- .../awaitBinaryExpression5_es5.symbols | 4 +- .../awaitBinaryExpression5_es6.symbols | 4 +- .../awaitCallExpression1_es2017.symbols | 8 +- .../awaitCallExpression1_es5.symbols | 8 +- .../awaitCallExpression1_es6.symbols | 8 +- .../awaitCallExpression2_es2017.symbols | 8 +- .../awaitCallExpression2_es5.symbols | 8 +- .../awaitCallExpression2_es6.symbols | 8 +- .../awaitCallExpression3_es2017.symbols | 8 +- .../awaitCallExpression3_es5.symbols | 8 +- .../awaitCallExpression3_es6.symbols | 8 +- .../awaitCallExpression4_es2017.symbols | 8 +- .../awaitCallExpression4_es5.symbols | 8 +- .../awaitCallExpression4_es6.symbols | 8 +- .../awaitCallExpression5_es2017.symbols | 8 +- .../awaitCallExpression5_es5.symbols | 8 +- .../awaitCallExpression5_es6.symbols | 8 +- .../awaitCallExpression6_es2017.symbols | 8 +- .../awaitCallExpression6_es5.symbols | 8 +- .../awaitCallExpression6_es6.symbols | 8 +- .../awaitCallExpression7_es2017.symbols | 8 +- .../awaitCallExpression7_es5.symbols | 8 +- .../awaitCallExpression7_es6.symbols | 8 +- .../awaitCallExpression8_es2017.symbols | 8 +- .../awaitCallExpression8_es5.symbols | 8 +- .../awaitCallExpression8_es6.symbols | 8 +- .../awaitClassExpression_es2017.symbols | 4 +- .../awaitClassExpression_es5.symbols | 4 +- .../awaitClassExpression_es6.symbols | 4 +- .../awaitInheritedPromise_es2017.symbols | 2 +- .../reference/awaitUnionPromise.symbols | 10 +- .../reference/awaitUnion_es6.symbols | 10 +- .../reference/bestChoiceType.symbols | 36 +- ...CommonTypeOfConditionalExpressions.symbols | 10 +- .../bindingPatternInParameter01.symbols | 10 +- .../bitwiseNotOperatorWithStringType.symbols | 4 +- .../reference/bluebirdStaticThis.symbols | 26 +- .../reference/booleanAssignment.symbols | 2 +- .../reference/booleanLiteralTypes1.symbols | 2 +- .../reference/booleanLiteralTypes2.symbols | 2 +- .../reference/booleanPropertyAccess.symbols | 6 +- .../reference/callOverloads2.symbols | 2 +- ...gnatureAssignabilityInInheritance2.symbols | 28 +- ...gnatureAssignabilityInInheritance3.symbols | 12 +- ...gnatureAssignabilityInInheritance5.symbols | 24 +- ...gnaturesThatDifferOnlyByReturnType.symbols | 2 +- .../reference/callWithSpread.symbols | 2 +- .../reference/callWithSpreadES6.symbols | 2 +- .../reference/callbacksDontShareTypes.symbols | 12 +- .../reference/capturedLetConstInLoop2.symbols | 80 +- .../capturedLetConstInLoop2_ES6.symbols | 80 +- .../reference/capturedLetConstInLoop9.symbols | 16 +- .../capturedLetConstInLoop9_ES6.symbols | 16 +- .../reference/capturedVarInLoop.symbols | 4 +- .../reference/castNewObjectBug.symbols | 2 +- .../reference/chainedAssignment2.symbols | 4 +- .../chainedPrototypeAssignment.symbols | 8 +- ...dSpecializationToObjectTypeLiteral.symbols | 4 +- .../reference/checkForObjectTooStrict.symbols | 4 +- ...kSwitchStatementIfCaseTypeIsString.symbols | 6 +- .../circularContextualReturnType.symbols | 12 +- .../circularReferenceInImport.symbols | 2 +- .../classAppearsToHaveMembersOfObject.symbols | 10 +- ...nShouldBeOutOfScopeInComputedNames.symbols | 4 +- .../classExtendingBuiltinType.symbols | 20 +- .../classExtendsInterfaceInExpression.symbols | 2 +- .../reference/classExtendsNull.symbols | 12 +- .../classMemberWithMissingIdentifier2.symbols | 2 +- .../reference/classUpdateTests.symbols | 4 +- ...PublicMembersEquivalentToInterface.symbols | 8 +- ...ublicMembersEquivalentToInterface2.symbols | 8 +- .../classWithoutExplicitConstructor.symbols | 2 +- ...nThisExpressionAndLocalVarInLambda.symbols | 6 +- ...mmaOperatorInConditionalExpression.symbols | 4 +- .../commaOperatorLeftSideUnused.symbols | 16 +- ...maOperatorWithSecondOperandAnyType.symbols | 10 +- ...eratorWithSecondOperandBooleanType.symbols | 2 +- ...peratorWithSecondOperandNumberType.symbols | 10 +- ...peratorWithSecondOperandObjectType.symbols | 14 +- ...peratorWithSecondOperandStringType.symbols | 18 +- .../commaOperatorWithoutOperand.symbols | 2 +- .../commaOperatorsMultipleOperators.symbols | 14 +- .../reference/commentInMethodCall.symbols | 4 +- .../reference/commonSourceDir5.symbols | 12 +- .../reference/commonSourceDir6.symbols | 12 +- ...arisonOperatorWithIdenticalObjects.symbols | 4 +- ...omparisonOperatorWithTypeParameter.symbols | 2 +- .../reference/complexNarrowingWithAny.symbols | 2 +- .../complexRecursiveCollections.symbols | 166 ++-- ...TransformedInOtherwiseNonTSClasses.symbols | 2 +- .../computedPropertyNames3_ES5.symbols | 2 +- .../computedPropertyNames3_ES6.symbols | 2 +- ...edPropertyNamesContextualType1_ES5.symbols | 8 +- ...edPropertyNamesContextualType1_ES6.symbols | 8 +- ...edPropertyNamesContextualType2_ES5.symbols | 8 +- ...edPropertyNamesContextualType2_ES6.symbols | 8 +- ...edPropertyNamesContextualType3_ES5.symbols | 8 +- ...edPropertyNamesContextualType3_ES6.symbols | 8 +- tests/baselines/reference/concatError.symbols | 8 +- .../baselines/reference/concatTuples.symbols | 4 +- ...onalOperatorConditionIsBooleanType.symbols | 4 +- ...ionalOperatorConditionIsNumberType.symbols | 12 +- ...ionalOperatorConditionIsObjectType.symbols | 36 +- ...ditionalOperatorConditoinIsAnyType.symbols | 4 +- ...ionalOperatorConditoinIsStringType.symbols | 16 +- .../reference/conditionalTypes1.symbols | 62 +- .../reference/conditionalTypes2.symbols | 26 +- ...clarationShadowedByVarDeclaration3.symbols | 4 +- .../constDeclarations-access2.symbols | 4 +- .../constDeclarations-access3.symbols | 4 +- .../constDeclarations-access4.symbols | 4 +- .../constDeclarations-access5.symbols | 4 +- tests/baselines/reference/constEnum2.symbols | 24 +- .../constEnumToStringNoComments.symbols | 48 +- .../constEnumToStringWithComments.symbols | 48 +- .../constLocalsInFunctionExpressions.symbols | 20 +- .../constraintSatisfactionWithAny.symbols | 4 +- ...straintSatisfactionWithEmptyObject.symbols | 6 +- ...ntsThatReferenceOtherContstraints1.symbols | 8 +- ...gnatureAssignabilityInInheritance2.symbols | 28 +- ...gnatureAssignabilityInInheritance3.symbols | 12 +- ...gnatureAssignabilityInInheritance5.symbols | 24 +- ...FunctionTypeIsAssignableToBaseType.symbols | 2 +- ...unctionTypeIsAssignableToBaseType2.symbols | 4 +- .../reference/constructorFunctions2.symbols | 2 +- .../reference/constructorFunctions3.symbols | 2 +- .../constructorFunctionsStrict.symbols | 2 +- ...torImplementationWithDefaultValues.symbols | 2 +- ...orImplementationWithDefaultValues2.symbols | 4 +- .../reference/constructorOverloads4.symbols | 2 +- .../reference/constructorOverloads5.symbols | 6 +- .../contextualSignatureInstantiation1.symbols | 8 +- .../contextualSignatureInstantiation3.symbols | 12 +- ..._objectLiteralMethodMayReturnNever.symbols | 2 +- ...ualTypeWithUnionTypeCallSignatures.symbols | 12 +- ...alTypeWithUnionTypeIndexSignatures.symbols | 8 +- ...contextualTypeWithUnionTypeMembers.symbols | 20 +- ...tualTypeWithUnionTypeObjectLiteral.symbols | 8 +- .../contextualTypingOfArrayLiterals1.symbols | 8 +- ...xtualTypingOfConditionalExpression.symbols | 8 +- ...ngOfGenericFunctionTypedArguments1.symbols | 10 +- ...ontextuallyTypedBindingInitializer.symbols | 16 +- ...llyTypedBindingInitializerNegative.symbols | 4 +- ...ionExpressionsAndReturnAnnotations.symbols | 8 +- .../reference/contextuallyTypedIife.symbols | 16 +- .../contextuallyTypedIifeStrict.symbols | 16 +- .../contextuallyTypingOrOperator.symbols | 16 +- .../contextuallyTypingOrOperator2.symbols | 8 +- .../reference/controlFlowArrayErrors.symbols | 48 +- .../reference/controlFlowArrays.symbols | 152 ++-- .../controlFlowAssignmentExpression.symbols | 8 +- .../reference/controlFlowCaching.symbols | 42 +- ...controlFlowDestructuringParameters.symbols | 4 +- .../controlFlowDoWhileStatement.symbols | 12 +- .../controlFlowForInStatement.symbols | 4 +- .../controlFlowForOfStatement.symbols | 6 +- .../reference/controlFlowForStatement.symbols | 10 +- .../reference/controlFlowIfStatement.symbols | 10 +- .../reference/controlFlowInstanceof.symbols | 38 +- .../reference/controlFlowIteration.symbols | 8 +- .../controlFlowIterationErrors.symbols | 4 +- .../reference/controlFlowLoopAnalysis.symbols | 8 +- .../controlFlowOuterVariable.symbols | 4 +- .../controlFlowPropertyDeclarations.symbols | 36 +- .../controlFlowSelfReferentialLoop.symbols | 6 +- .../reference/controlFlowStringIndex.symbols | 4 +- .../controlFlowWhileStatement.symbols | 12 +- .../controlFlowWithIncompleteTypes.symbols | 8 +- .../controlFlowWithTemplateLiterals.symbols | 8 +- .../reference/copyrightWithNewLine1.symbols | 6 +- .../copyrightWithoutNewLine1.symbols | 6 +- .../correctOrderOfPromiseMethod.symbols | 8 +- .../reference/covariantCallbacks.symbols | 4 +- .../reference/customEventDetail.symbols | 10 +- .../reference/declFileConstructors.symbols | 8 +- .../baselines/reference/declFileEnums.symbols | 6 +- .../reference/declFileFunctions.symbols | 12 +- .../reference/declFileGenericType.symbols | 2 +- .../reference/declFileMethods.symbols | 32 +- .../declFilePrivateMethodOverloads.symbols | 4 +- ...eclFileTypeAnnotationStringLiteral.symbols | 4 +- .../declFileTypeAnnotationTypeAlias.symbols | 4 +- ...AnnotationVisibilityErrorTypeAlias.symbols | 6 +- ...mitArrayTypesFromGenericArrayUsage.symbols | 2 +- .../declarationEmitFBoundedTypeParams.symbols | 4 +- ...larationEmitPrivateNameCausesError.symbols | 2 +- ...ateSymbolCausesVarDeclarationEmit2.symbols | 2 +- ...bolCausesVarDeclarationToBeEmitted.symbols | 2 +- .../reference/declarationEmitPromise.symbols | 18 +- .../reference/declarationFiles.symbols | 4 +- ...eclarationFilesWithTypeReferences1.symbols | 4 +- ...eclarationFilesWithTypeReferences4.symbols | 4 +- .../declarationNoDanglingGenerics.symbols | 2 +- ...nalModuleWithExportAssignedFundule.symbols | 4 +- ...oratedDefaultExportsGetExportedAmd.symbols | 4 +- ...dDefaultExportsGetExportedCommonjs.symbols | 4 +- ...tedDefaultExportsGetExportedSystem.symbols | 4 +- ...oratedDefaultExportsGetExportedUmd.symbols | 4 +- .../decoratorMetadataOnInferredType.symbols | 2 +- .../decoratorMetadataPromise.symbols | 8 +- ...adataRestParameterWithImportedType.symbols | 4 +- ...coratorMetadataWithConstructorType.symbols | 2 +- .../reference/decoratorOnClass8.symbols | 2 +- .../decoratorOnClassAccessor1.es6.symbols | 4 +- .../decoratorOnClassAccessor1.symbols | 4 +- .../decoratorOnClassAccessor2.symbols | 4 +- .../decoratorOnClassAccessor3.symbols | 4 +- .../decoratorOnClassAccessor4.symbols | 4 +- .../decoratorOnClassAccessor5.symbols | 4 +- .../decoratorOnClassAccessor6.symbols | 4 +- .../decoratorOnClassAccessor7.symbols | 8 +- .../decoratorOnClassAccessor8.symbols | 4 +- .../decoratorOnClassConstructor1.symbols | 4 +- .../decoratorOnClassConstructor2.symbols | 2 +- .../decoratorOnClassConstructor3.symbols | 2 +- ...oratorOnClassConstructorParameter1.symbols | 2 +- ...oratorOnClassConstructorParameter4.symbols | 2 +- .../decoratorOnClassMethod1.es6.symbols | 4 +- .../reference/decoratorOnClassMethod1.symbols | 4 +- .../decoratorOnClassMethod10.symbols | 2 +- .../decoratorOnClassMethod11.symbols | 2 +- .../decoratorOnClassMethod12.symbols | 2 +- .../decoratorOnClassMethod13.symbols | 4 +- .../reference/decoratorOnClassMethod2.symbols | 4 +- .../reference/decoratorOnClassMethod3.symbols | 4 +- .../reference/decoratorOnClassMethod4.symbols | 4 +- .../reference/decoratorOnClassMethod5.symbols | 4 +- .../reference/decoratorOnClassMethod6.symbols | 4 +- .../reference/decoratorOnClassMethod7.symbols | 4 +- .../decoratorOnClassMethodOverload1.symbols | 4 +- .../decoratorOnClassMethodOverload2.symbols | 4 +- ...coratorOnClassMethodParameter1.es6.symbols | 2 +- .../decoratorOnClassMethodParameter1.symbols | 2 +- .../decoratorOnClassProperty6.symbols | 2 +- .../decoratorOnClassProperty7.symbols | 2 +- .../decoratorsOnComputedProperties.symbols | 242 +++--- .../deduplicateImportsInSystem.symbols | 6 +- .../reference/deeplyNestedCheck.symbols | 2 +- .../defaultBestCommonTypesHaveDecls.symbols | 2 +- .../defaultExportInAwaitExpression01.symbols | 2 +- .../defaultExportInAwaitExpression02.symbols | 2 +- ...rAddsUndefinedWithStrictNullChecks.symbols | 20 +- .../deferredLookupTypeResolution.symbols | 2 +- .../deferredLookupTypeResolution2.symbols | 2 +- .../deleteOperatorWithStringType.symbols | 4 +- ...ssConstructorWithExplicitReturns01.symbols | 6 +- ...rivedClassIncludesInheritedMembers.symbols | 4 +- ...ndexersWithAssignmentCompatibility.symbols | 4 +- ...vedClassOverridesProtectedMembers2.symbols | 2 +- ...derivedClassOverridesPublicMembers.symbols | 2 +- ...vedClassWithoutExplicitConstructor.symbols | 4 +- ...edClassWithoutExplicitConstructor2.symbols | 14 +- ...edClassWithoutExplicitConstructor3.symbols | 8 +- .../destructureOptionalParameter.symbols | 2 +- ...cturedLateBoundNameHasCorrectTypes.symbols | 6 +- ...gArrayBindingPatternAndAssignment2.symbols | 4 +- ...tructuringParameterDeclaration3ES5.symbols | 20 +- ...ngParameterDeclaration3ES5iterable.symbols | 20 +- ...tructuringParameterDeclaration3ES6.symbols | 20 +- ...destructuringParameterDeclaration4.symbols | 16 +- .../destructuringWithConstraint.symbols | 2 +- .../destructuringWithGenericParameter.symbols | 4 +- .../discriminantPropertyCheck.symbols | 32 +- .../discriminantsAndNullOrUndefined.symbols | 2 +- .../discriminatedUnionTypes1.symbols | 28 +- .../doNotInferUnrelatedTypes.symbols | 4 +- ...MixinConditionalTypeBaseClassWorks.symbols | 2 +- .../doubleUnderscoreMappedTypes.symbols | 2 +- .../reference/duplicateLocalVariable1.symbols | 66 +- .../reference/duplicateLocalVariable2.symbols | 4 +- .../duplicateNumericIndexers.symbols | 12 +- ...plicateOverloadInTypeAugmentation1.symbols | 30 +- .../reference/duplicatePropertyNames.symbols | 12 +- .../baselines/reference/dynamicNames.symbols | 2 +- .../reference/dynamicNamesErrors.symbols | 8 +- ...ntAccessExpressionInternalComments.symbols | 8 +- ...tArrowFunctionWhenUsingArguments14.symbols | 6 +- ...owFunctionWhenUsingArguments14_ES6.symbols | 6 +- ...tArrowFunctionWhenUsingArguments15.symbols | 6 +- ...owFunctionWhenUsingArguments15_ES6.symbols | 6 +- ...tArrowFunctionWhenUsingArguments16.symbols | 6 +- ...owFunctionWhenUsingArguments16_ES6.symbols | 6 +- ...tArrowFunctionWhenUsingArguments17.symbols | 6 +- ...owFunctionWhenUsingArguments17_ES6.symbols | 6 +- ...tArrowFunctionWhenUsingArguments18.symbols | 6 +- ...owFunctionWhenUsingArguments18_ES6.symbols | 6 +- ...iationAssignmentWithIndexingOnLHS4.symbols | 32 +- .../emitDecoratorMetadata_object.symbols | 4 +- .../emitDecoratorMetadata_restArgs.symbols | 4 +- .../emitSkipsThisWithRestParameter.symbols | 8 +- ...ringExpressionVisitedByTransformer.symbols | 8 +- .../reference/enumAssignability.symbols | 14 +- .../enumAssignabilityInInheritance.symbols | 12 +- tests/baselines/reference/enumBasics.symbols | 8 +- .../reference/enumClassification.symbols | 10 +- tests/baselines/reference/enumErrors.symbols | 10 +- tests/baselines/reference/enumIndexer.symbols | 4 +- ...umIsNotASubtypeOfAnythingButNumber.symbols | 6 +- .../reference/enumLiteralTypes1.symbols | 2 +- .../reference/enumLiteralTypes2.symbols | 2 +- tests/baselines/reference/enumMerging.symbols | 24 +- .../reference/enumMergingErrors.symbols | 12 +- .../reference/enumNumbering1.symbols | 12 +- .../reference/enumPropertyAccess.symbols | 8 +- .../reference/enumWithComputedMember.symbols | 4 +- .../errorHandlingInInstanceOf.symbols | 2 +- .../errorMessageOnObjectLiteralType.symbols | 2 +- .../reference/es2017basicAsync.symbols | 18 +- .../reference/es3defaultAliasIsQuoted.symbols | 2 +- ...es5-asyncFunctionBinaryExpressions.symbols | 2 +- .../es5-asyncFunctionReturnStatements.symbols | 12 +- .../es5-asyncFunctionTryStatements.symbols | 2 +- .../baselines/reference/es6ClassTest2.symbols | 8 +- tests/baselines/reference/evalAfter0.symbols | 2 +- .../everyTypeAssignableToAny.symbols | 12 +- ...ryTypeWithAnnotationAndInitializer.symbols | 12 +- ...ithAnnotationAndInvalidInitializer.symbols | 10 +- .../everyTypeWithInitializer.symbols | 8 +- ...excessPropertyCheckWithEmptyObject.symbols | 10 +- ...tiationOperatorWithInvalidOperands.symbols | 2 +- ...torWithNullValueAndInvalidOperands.symbols | 2 +- ...thUndefinedValueAndInvalidOperands.symbols | 2 +- .../exportAssignNonIdentifier.symbols | 4 +- .../reference/exportAssignTypes.symbols | 4 +- .../exportAssignValueAndType.symbols | 4 +- ...exportAssignedTypeAsTypeAnnotation.symbols | 2 +- ...exportAssignmentWithoutIdentifier1.symbols | 4 +- ...ortDeclarationsInAmbientNamespaces.symbols | 2 +- .../exportDefaultAbstractClass.symbols | 8 +- .../exportDefaultAsyncFunction.symbols | 2 +- .../exportDefaultAsyncFunction2.symbols | 6 +- .../reference/exportDefaultInterface.symbols | 8 +- .../reference/exportDefaultProperty.symbols | 4 +- .../reference/exportEqualErrorType.symbols | 2 +- .../exportEqualMemberMissing.symbols | 2 +- .../reference/exportEqualNamespaces.symbols | 6 +- .../exportEqualsDefaultProperty.symbols | 4 +- .../reference/exportEqualsProperty.symbols | 4 +- .../exportSpellingSuggestion.symbols | 2 +- .../reference/exportedVariable1.symbols | 4 +- .../expressionTypeNodeShouldError.symbols | 36 +- tests/baselines/reference/extendArray.symbols | 10 +- .../reference/extendBooleanInterface.symbols | 2 +- .../reference/extendGenericArray.symbols | 6 +- .../reference/extendGenericArray2.symbols | 6 +- .../reference/extendNumberInterface.symbols | 2 +- .../reference/extendStringInterface.symbols | 2 +- tests/baselines/reference/externFunc.symbols | 4 +- .../reference/fatarrowfunctions.symbols | 4 +- ...nctionsInFunctionParameterDefaults.symbols | 4 +- .../fatarrowfunctionsInFunctions.symbols | 4 +- .../fatarrowfunctionsOptionalArgs.symbols | 14 +- ...lInMissingTypeArgsOnConstructCalls.symbols | 2 +- .../reference/fixSignatureCaching.symbols | 144 ++-- .../fixingTypeParametersRepeatedly1.symbols | 4 +- .../reference/for-inStatements.symbols | 2 +- .../reference/for-inStatementsArray.symbols | 2 +- .../for-inStatementsArrayErrors.symbols | 2 +- .../reference/for-inStatementsInvalid.symbols | 2 +- tests/baselines/reference/for-of12.symbols | 4 +- tests/baselines/reference/for-of13.symbols | 4 +- tests/baselines/reference/for-of15.symbols | 6 +- tests/baselines/reference/for-of16.symbols | 6 +- tests/baselines/reference/for-of17.symbols | 6 +- tests/baselines/reference/for-of18.symbols | 6 +- tests/baselines/reference/for-of19.symbols | 6 +- tests/baselines/reference/for-of20.symbols | 6 +- tests/baselines/reference/for-of21.symbols | 6 +- tests/baselines/reference/for-of22.symbols | 6 +- tests/baselines/reference/for-of23.symbols | 6 +- tests/baselines/reference/for-of25.symbols | 6 +- tests/baselines/reference/for-of26.symbols | 6 +- tests/baselines/reference/for-of27.symbols | 6 +- tests/baselines/reference/for-of28.symbols | 6 +- tests/baselines/reference/for-of29.symbols | 8 +- tests/baselines/reference/for-of30.symbols | 6 +- tests/baselines/reference/for-of31.symbols | 6 +- tests/baselines/reference/for-of33.symbols | 6 +- tests/baselines/reference/for-of34.symbols | 6 +- tests/baselines/reference/for-of35.symbols | 6 +- tests/baselines/reference/for-of37.symbols | 2 +- tests/baselines/reference/for-of38.symbols | 2 +- tests/baselines/reference/for-of39.errors.txt | 36 +- tests/baselines/reference/for-of39.symbols | 2 +- tests/baselines/reference/for-of40.symbols | 2 +- tests/baselines/reference/for-of44.symbols | 2 +- tests/baselines/reference/for-of45.symbols | 2 +- tests/baselines/reference/for-of46.symbols | 2 +- tests/baselines/reference/for-of49.symbols | 2 +- tests/baselines/reference/for-of50.symbols | 2 +- tests/baselines/reference/for-of57.symbols | 2 +- .../forOfTransformsExpression.symbols | 8 +- .../baselines/reference/forStatements.symbols | 12 +- .../forStatementsMultipleInvalidDecl.symbols | 6 +- .../forStatementsMultipleValidDecl.symbols | 2 +- tests/baselines/reference/funcdecl.symbols | 2 +- .../reference/functionAssignment.symbols | 4 +- .../baselines/reference/functionCalls.symbols | 6 +- .../functionConstraintSatisfaction.symbols | 8 +- .../functionConstraintSatisfaction2.symbols | 6 +- ...ithArgumentOfTypeFunctionTypeArray.symbols | 4 +- ...ExpressionAndLambdaMatchesFunction.symbols | 2 +- ...unctionExpressionContextualTyping1.symbols | 6 +- ...functionExpressionShadowedByParams.symbols | 8 +- .../reference/functionImplementations.symbols | 4 +- .../reference/functionOnlyHasThrow.symbols | 2 +- .../functionOverloadAmbiguity1.symbols | 4 +- .../reference/functionOverloadErrors.symbols | 10 +- .../functionOverloadsOnGenericArity2.symbols | 2 +- .../functionSubtypingOfVarArgs.symbols | 4 +- .../functionSubtypingOfVarArgs2.symbols | 4 +- .../baselines/reference/functionType.symbols | 6 +- ...nctionTypeArgumentAssignmentCompat.symbols | 10 +- ...hDefaultParameterWithNoStatements9.symbols | 12 +- ...ctionWithMultipleReturnStatements2.symbols | 6 +- .../functionWithThrowButNoReturn1.symbols | 2 +- .../generatedContextualTyping.symbols | 62 +- .../reference/generatorES6_6.symbols | 6 +- .../generatorNoImplicitReturns.symbols | 2 +- .../reference/generatorOverloads1.symbols | 6 +- .../reference/generatorOverloads2.symbols | 6 +- .../reference/generatorOverloads3.symbols | 6 +- .../reference/generatorOverloads4.symbols | 6 +- .../reference/generatorOverloads5.symbols | 6 +- .../reference/generatorTypeCheck1.symbols | 2 +- .../reference/generatorTypeCheck10.symbols | 2 +- .../reference/generatorTypeCheck11.symbols | 2 +- .../reference/generatorTypeCheck12.symbols | 2 +- .../reference/generatorTypeCheck13.symbols | 2 +- .../reference/generatorTypeCheck17.symbols | 2 +- .../reference/generatorTypeCheck18.symbols | 2 +- .../reference/generatorTypeCheck19.symbols | 2 +- .../reference/generatorTypeCheck2.symbols | 2 +- .../reference/generatorTypeCheck20.symbols | 2 +- .../reference/generatorTypeCheck21.symbols | 2 +- .../reference/generatorTypeCheck25.symbols | 2 +- .../reference/generatorTypeCheck26.symbols | 10 +- .../reference/generatorTypeCheck27.symbols | 2 +- .../reference/generatorTypeCheck28.symbols | 12 +- .../reference/generatorTypeCheck29.symbols | 4 +- .../reference/generatorTypeCheck3.symbols | 2 +- .../reference/generatorTypeCheck30.symbols | 4 +- .../reference/generatorTypeCheck31.symbols | 4 +- .../reference/generatorTypeCheck45.symbols | 6 +- .../reference/generatorTypeCheck46.symbols | 12 +- .../reference/generatorTypeCheck62.symbols | 6 +- .../reference/generatorTypeCheck63.symbols | 6 +- .../reference/generatorTypeCheck7.symbols | 2 +- .../reference/generatorTypeCheck8.symbols | 4 +- .../baselines/reference/genericArray1.symbols | 8 +- ...genericArrayAssignmentCompatErrors.symbols | 8 +- .../reference/genericArrayExtenstions.symbols | 2 +- .../reference/genericArrayMethods1.symbols | 4 +- .../genericCallWithArrayLiteralArgs.symbols | 2 +- ...hConstraintsTypeArgumentInference2.symbols | 12 +- ...cCallWithGenericSignatureArguments.symbols | 14 +- ...CallWithGenericSignatureArguments2.symbols | 18 +- ...CallWithGenericSignatureArguments3.symbols | 14 +- ...enericCallWithNonSymmetricSubtypes.symbols | 2 +- .../genericCallWithObjectLiteralArgs.symbols | 2 +- ...cCallWithObjectTypeArgsAndIndexers.symbols | 8 +- ...ithObjectTypeArgsAndIndexersErrors.symbols | 6 +- ...lWithObjectTypeArgsAndInitializers.symbols | 2 +- ...ithObjectTypeArgsAndNumericIndexer.symbols | 8 +- ...WithObjectTypeArgsAndStringIndexer.symbols | 12 +- .../reference/genericChainedCalls.symbols | 16 +- ...ClassWithStaticsUsingTypeArguments.symbols | 4 +- .../genericCloneReturnTypes2.symbols | 2 +- .../reference/genericCombinators2.symbols | 12 +- ...icConstraintOnExtendedBuiltinTypes.symbols | 2 +- ...cConstraintOnExtendedBuiltinTypes2.symbols | 4 +- .../genericConstructorFunction1.symbols | 4 +- .../reference/genericContextualTypes1.symbols | 16 +- ...ericContextualTypingSpecialization.symbols | 4 +- ...ionCallSignatureReturnTypeMismatch.symbols | 14 +- .../genericFunctionParameters.symbols | 2 +- .../genericFunctionSpecializations1.symbols | 2 +- .../reference/genericFunctions2.symbols | 4 +- ...icFunctionsWithOptionalParameters1.symbols | 2 +- ...icFunctionsWithOptionalParameters2.symbols | 2 +- ...icFunctionsWithOptionalParameters3.symbols | 6 +- .../reference/genericInference1.symbols | 8 +- .../reference/genericInference2.symbols | 4 +- .../genericMethodOverspecialization.symbols | 30 +- .../genericPrototypeProperty2.symbols | 6 +- .../baselines/reference/genericReduce.symbols | 32 +- .../reference/genericRestArgs.symbols | 2 +- .../genericSignatureIdentity.symbols | 2 +- .../reference/genericTypeAssertions6.symbols | 26 +- .../genericTypeParameterEquivalence2.symbols | 16 +- ...iedReturnTypeAndFunctionClassMerge.symbols | 2 +- .../getterControlFlowStrictNull.symbols | 12 +- .../reference/getterSetterNonAccessor.symbols | 8 +- ...globalFunctionAugmentationOverload.symbols | 2 +- tests/baselines/reference/globalThis.symbols | 6 +- .../heterogeneousArrayLiterals.symbols | 2 +- .../reference/ifDoWhileStatements.symbols | 8 +- .../reference/implementArrayInterface.symbols | 2 +- .../implicitAnyFromCircularInference.symbols | 2 +- .../reference/implicitConstParameters.symbols | 28 +- .../importCallExpression2ESNext.symbols | 2 +- ...portCallExpressionCheckReturntype1.symbols | 6 +- ...portCallExpressionDeclarationEmit3.symbols | 6 +- .../importCallExpressionES6AMD.symbols | 4 +- .../importCallExpressionES6CJS.symbols | 4 +- .../importCallExpressionES6System.symbols | 4 +- .../importCallExpressionES6UMD.symbols | 4 +- .../importCallExpressionInAMD2.symbols | 2 +- .../importCallExpressionInCJS2.symbols | 2 +- .../importCallExpressionInCJS3.symbols | 2 +- .../importCallExpressionInSystem2.symbols | 2 +- .../importCallExpressionInUMD2.symbols | 2 +- ...rtCallExpressionReturnPromiseOfAny.symbols | 12 +- ...ortCallExpressionShouldNotGetParen.symbols | 8 +- ...ressionSpecifierNotStringTypeError.symbols | 4 +- ...portCallExpressionWithTypeArgument.symbols | 2 +- .../importExportInternalComments.symbols | 2 +- .../baselines/reference/importHelpers.symbols | 18 +- .../reference/importHelpersAmd.symbols | 18 +- .../reference/importHelpersES6.symbols | 16 +- .../importHelpersInAmbientContext.symbols | 18 +- .../importHelpersInIsolatedModules.symbols | 16 +- .../reference/importHelpersInTsx.symbols | 16 +- .../reference/importHelpersOutFile.symbols | 16 +- .../reference/importHelpersSystem.symbols | 16 +- .../reference/incompatibleExports1.symbols | 2 +- .../reference/incompatibleExports2.symbols | 2 +- .../incompleteDottedExpressionAtEOF.symbols | 2 +- .../reference/indexIntoArraySubclass.symbols | 2 +- .../indexSignatureAndMappedType.symbols | 8 +- .../indexSignatureTypeInference.symbols | 6 +- .../reference/indexedAccessRelation.symbols | 2 +- ...indexedAccessRetainsIndexSignature.symbols | 4 +- tests/baselines/reference/indexer3.symbols | 4 +- .../reference/indexersInClassType.symbols | 6 +- .../reference/indexingTypesWithNever.symbols | 4 +- ...ndirectUniqueSymbolDeclarationEmit.symbols | 4 +- ...ferFromGenericFunctionReturnTypes1.symbols | 16 +- ...ferFromGenericFunctionReturnTypes2.symbols | 88 +- .../reference/inferSecondaryParameter.symbols | 4 +- tests/baselines/reference/inferTypes1.symbols | 46 +- .../inferenceFromParameterlessLambda.symbols | 4 +- .../reference/inferenceLimit.symbols | 28 +- ...erentialTypingObjectLiteralMethod1.symbols | 4 +- ...erentialTypingObjectLiteralMethod2.symbols | 4 +- ...nferentialTypingUsingApparentType1.symbols | 4 +- ...nferentialTypingUsingApparentType2.symbols | 4 +- ...inferentialTypingWithFunctionType2.symbols | 4 +- .../reference/inferingFromAny.symbols | 2 +- ...ferringClassMembersFromAssignments.symbols | 66 +- ...erringClassMembersFromAssignments2.symbols | 2 +- .../infinitelyExpandingOverloads.symbols | 4 +- .../infinitelyExpandingTypes2.symbols | 6 +- .../infinitelyExpandingTypes5.symbols | 8 +- ...ritanceOfGenericConstructorMethod1.symbols | 8 +- ...tedFunctionAssignmentCompatibility.symbols | 2 +- .../inheritedGenericCallSignature.symbols | 8 +- ...tedOverloadedSpecializedSignatures.symbols | 4 +- ...alizedDestructuringAssignmentTypes.symbols | 4 +- .../reference/inlineSourceMap.symbols | 6 +- .../reference/inlineSourceMap2.symbols | 6 +- .../baselines/reference/inlineSources.symbols | 12 +- .../reference/inlineSources2.symbols | 12 +- .../reference/innerBoundLambdaEmit.symbols | 4 +- ...nnerTypeParameterShadowingOuterOne.symbols | 28 +- ...nerTypeParameterShadowingOuterOne2.symbols | 28 +- .../instanceAndStaticDeclarations1.symbols | 6 +- .../reference/instanceOfAssignability.symbols | 12 +- ...tanceofOperatorWithInvalidOperands.symbols | 2 +- .../instanceofOperatorWithLHSIsObject.symbols | 4 +- ...OperatorWithRHSIsSubtypeOfFunction.symbols | 4 +- .../instanceofWithPrimitiveUnion.symbols | 4 +- ...ntiateContextuallyTypedGenericThis.symbols | 8 +- .../baselines/reference/intTypeCheck.symbols | 16 +- .../interfaceAssignmentCompat.symbols | 16 +- .../interfaceDoesNotDependOnBaseTypes.symbols | 10 +- .../reference/interfaceExtendingClass.symbols | 2 +- .../interfaceExtendingClass2.symbols | 2 +- ...interfaceExtendsObjectIntersection.symbols | 8 +- ...aceExtendsObjectIntersectionErrors.symbols | 4 +- ...erloadedCallAndConstructSignatures.symbols | 2 +- .../interfaceWithPropertyOfEveryType.symbols | 2 +- ...cializedCallAndConstructSignatures.symbols | 2 +- ...fTypeVariableHasApparentSignatures.symbols | 4 +- .../intersectionTypeInference3.symbols | 28 +- .../intersectionWithUnionConstraint.symbols | 4 +- ...nvalidMultipleVariableDeclarations.symbols | 6 +- .../reference/invalidReturnStatements.symbols | 2 +- .../baselines/reference/invalidSplice.symbols | 4 +- .../invalidSymbolInTypeParameter1.symbols | 2 +- tests/baselines/reference/isArray.symbols | 14 +- .../isDeclarationVisibleNodeKinds.symbols | 2 +- .../isomorphicMappedTypeInference.symbols | 2 +- .../reference/iterableArrayPattern1.symbols | 8 +- .../reference/iterableArrayPattern10.symbols | 6 +- .../reference/iterableArrayPattern11.symbols | 6 +- .../reference/iterableArrayPattern12.symbols | 6 +- .../reference/iterableArrayPattern13.symbols | 6 +- .../reference/iterableArrayPattern14.symbols | 6 +- .../reference/iterableArrayPattern15.symbols | 6 +- .../reference/iterableArrayPattern16.symbols | 12 +- .../reference/iterableArrayPattern17.symbols | 6 +- .../reference/iterableArrayPattern18.symbols | 6 +- .../reference/iterableArrayPattern19.symbols | 6 +- .../reference/iterableArrayPattern2.symbols | 8 +- .../reference/iterableArrayPattern20.symbols | 6 +- .../reference/iterableArrayPattern25.symbols | 2 +- .../reference/iterableArrayPattern26.symbols | 2 +- .../reference/iterableArrayPattern27.symbols | 2 +- .../iterableArrayPattern28.errors.txt | 34 +- .../reference/iterableArrayPattern28.symbols | 2 +- .../reference/iterableArrayPattern29.symbols | 2 +- .../reference/iterableArrayPattern3.symbols | 6 +- .../reference/iterableArrayPattern30.symbols | 2 +- .../reference/iterableArrayPattern4.symbols | 6 +- .../reference/iterableArrayPattern5.symbols | 6 +- .../reference/iterableArrayPattern6.symbols | 6 +- .../reference/iterableArrayPattern7.symbols | 6 +- .../reference/iterableArrayPattern8.symbols | 6 +- .../reference/iterableArrayPattern9.symbols | 6 +- .../iterableContextualTyping1.symbols | 6 +- .../reference/iteratorSpreadInArray.symbols | 8 +- .../reference/iteratorSpreadInArray10.symbols | 6 +- .../reference/iteratorSpreadInArray11.symbols | 2 +- .../reference/iteratorSpreadInArray2.symbols | 14 +- .../reference/iteratorSpreadInArray3.symbols | 8 +- .../reference/iteratorSpreadInArray4.symbols | 8 +- .../reference/iteratorSpreadInArray5.symbols | 8 +- .../reference/iteratorSpreadInArray6.symbols | 12 +- .../reference/iteratorSpreadInArray7.symbols | 12 +- .../reference/iteratorSpreadInArray8.symbols | 2 +- .../reference/iteratorSpreadInArray9.symbols | 8 +- .../reference/iteratorSpreadInCall.symbols | 8 +- .../reference/iteratorSpreadInCall10.symbols | 8 +- .../reference/iteratorSpreadInCall11.symbols | 8 +- .../reference/iteratorSpreadInCall12.symbols | 14 +- .../reference/iteratorSpreadInCall2.symbols | 8 +- .../reference/iteratorSpreadInCall3.symbols | 8 +- .../reference/iteratorSpreadInCall4.symbols | 8 +- .../reference/iteratorSpreadInCall5.symbols | 14 +- .../reference/iteratorSpreadInCall6.symbols | 14 +- .../reference/iteratorSpreadInCall7.symbols | 14 +- .../reference/iteratorSpreadInCall8.symbols | 14 +- .../reference/iteratorSpreadInCall9.symbols | 14 +- .../iteratorsAndStrictNullChecks.symbols | 8 +- .../jsFileClassPropertyType2.symbols | 4 +- ...eCompilationRestParamJsDocFunction.symbols | 24 +- .../jsdocDisallowedInTypescript.symbols | 10 +- .../reference/jsdocFunctionType.symbols | 4 +- ...jsdocParamTagOnPropertyInitializer.symbols | 4 +- ...jsdocParseDotDotDotInJSDocFunction.symbols | 6 +- .../jsdocTemplateConstructorFunction.symbols | 2 +- .../jsdocTemplateConstructorFunction2.symbols | 2 +- .../jsdocTypeFromChainedAssignment.symbols | 4 +- .../baselines/reference/jsdocTypeTag.symbols | 6 +- .../reference/json.stringify.symbols | 30 +- .../reference/jsxAndTypeAssertion.symbols | 4 +- .../jsxCallbackWithDestructuring.symbols | 4 +- .../reference/jsxEmitWithAttributes.symbols | 8 +- .../jsxFactoryAndReactNamespace.symbols | 8 +- .../reference/jsxFactoryIdentifier.symbols | 8 +- ...actoryNotIdentifierOrQualifiedName.symbols | 8 +- ...ctoryNotIdentifierOrQualifiedName2.symbols | 8 +- .../reference/jsxFactoryQualifiedName.symbols | 8 +- .../reference/keyofAndIndexedAccess.symbols | 54 +- .../keyofAndIndexedAccessErrors.symbols | 14 +- .../keyofDoesntContainSymbols.symbols | 2 +- ...ofInferenceLowerPriorityThanReturn.symbols | 2 +- .../reference/keyofIntersection.symbols | 18 +- .../keyofIsLiteralContexualType.symbols | 2 +- .../keywordExpressionInternalComments.symbols | 12 +- tests/baselines/reference/knockout.symbols | 4 +- .../reference/lambdaParamTypes.symbols | 16 +- .../reference/lambdaPropSelf.symbols | 4 +- ...BoundDestructuringImplicitAnyError.symbols | 4 +- .../reference/letConstInCaseClauses.symbols | 12 +- .../reference/letDeclarations-access.symbols | 4 +- .../letShadowedByNameInNestedScope.symbols | 6 +- tests/baselines/reference/libMembers.symbols | 14 +- tests/baselines/reference/libdtsFix.symbols | 2 +- .../reference/library_ArraySlice.symbols | 30 +- .../library_DatePrototypeProperties.symbols | 440 +++++----- .../library_ObjectPrototypeProperties.symbols | 72 +- .../library_RegExpExecArraySlice.symbols | 14 +- .../reference/library_StringSlice.symbols | 30 +- .../baselines/reference/literalTypes2.symbols | 8 +- .../baselines/reference/literalTypes3.symbols | 2 +- tests/baselines/reference/literals.symbols | 2 +- .../literalsInComputedProperties1.symbols | 48 +- .../reference/localClassesInLoop.symbols | 4 +- .../reference/localClassesInLoop_ES6.symbols | 4 +- tests/baselines/reference/localTypes5.symbols | 2 +- .../logicalNotOperatorWithStringType.symbols | 4 +- ...OrExpressionIsNotContextuallyTyped.symbols | 4 +- .../baselines/reference/malformedTags.symbols | 6 +- .../reference/mapOnTupleTypes01.symbols | 40 +- .../reference/mapOnTupleTypes02.symbols | 4 +- .../reference/mappedTypeErrors.symbols | 38 +- .../mappedTypeInferenceErrors.symbols | 2 +- .../reference/mappedTypeModifiers.symbols | 76 +- .../mappedTypePartialConstraints.symbols | 2 +- .../mappedTypeRecursiveInference.types | 24 +- .../reference/mappedTypeRelationships.symbols | 38 +- ...appedTypeUnionConstraintInferences.symbols | 8 +- .../baselines/reference/mappedTypes1.symbols | 6 +- .../baselines/reference/mappedTypes2.symbols | 28 +- .../baselines/reference/mappedTypes4.symbols | 8 +- .../baselines/reference/mappedTypes5.symbols | 124 +-- .../baselines/reference/mappedTypes6.symbols | 20 +- .../reference/mappedTypesAndObjects.symbols | 14 +- .../memberAccessOnConstructorType.symbols | 4 +- .../mergedInterfaceFromMultipleFiles1.symbols | 4 +- ...mergedInterfacesWithMultipleBases3.symbols | 2 +- .../metadataOfClassFromAlias.symbols | 2 +- .../metadataOfClassFromAlias2.symbols | 2 +- .../reference/metadataOfStringLiteral.symbols | 2 +- .../reference/metadataOfUnion.symbols | 2 +- .../reference/metadataOfUnionWithNull.symbols | 2 +- .../reference/methodsReturningThis.symbols | 20 +- ...plicitTypeParameterAndArgumentType.symbols | 20 +- .../misspelledJsDocTypedefTags.symbols | 4 +- .../reference/mixinClassesAnonymous.symbols | 2 +- .../mixinPrivateAndProtected.symbols | 48 +- ...SymbolWithOutES6WellknownSymbolLib.symbols | 2 +- ...ibrary_NoErrorDuplicateLibOptions1.symbols | 24 +- ...eLibrary_NoErrorDuplicateLibOptions1.types | 4 +- ...ibrary_NoErrorDuplicateLibOptions2.symbols | 24 +- ...eLibrary_NoErrorDuplicateLibOptions2.types | 4 +- ...larizeLibrary_TargetES5UsingES6Lib.symbols | 24 +- ...dularizeLibrary_TargetES5UsingES6Lib.types | 4 +- ...larizeLibrary_TargetES6UsingES6Lib.symbols | 22 +- ...dularizeLibrary_TargetES6UsingES6Lib.types | 4 +- ...eLibrary_UsingES5LibAndES6ArrayLib.symbols | 2 +- ...brary_UsingES5LibAndES6FeatureLibs.symbols | 4 +- ...ibES6ArrayLibES6WellknownSymbolLib.symbols | 4 +- ...moduleAugmentationDeclarationEmit2.symbols | 8 +- ...ntationDuringSyntheticDefaultCheck.symbols | 2 +- ...leAugmentationExtendAmbientModule2.symbols | 8 +- ...oduleAugmentationExtendFileModule2.symbols | 8 +- .../moduleAugmentationGlobal1.symbols | 4 +- .../moduleAugmentationGlobal2.symbols | 8 +- .../moduleAugmentationGlobal3.symbols | 8 +- ...moduleAugmentationInAmbientModule5.symbols | 4 +- .../moduleAugmentationsBundledOutput1.symbols | 16 +- .../moduleAugmentationsImports1.symbols | 8 +- .../moduleAugmentationsImports2.symbols | 8 +- .../moduleAugmentationsImports3.symbols | 8 +- .../moduleAugmentationsImports4.symbols | 8 +- ...xportStarShadowingGlobalIsNameable.symbols | 2 +- ...xportWithExportPropertyAssignment2.symbols | 4 +- ...xportWithExportPropertyAssignment3.symbols | 8 +- ...xportWithExportPropertyAssignment4.symbols | 8 +- .../baselines/reference/moduleScoping.symbols | 2 +- tests/baselines/reference/moduledecl.symbols | 4 +- .../multiExtendsSplitInterfaces1.symbols | 6 +- .../reference/multipleDeclarations.symbols | 10 +- ...rrowExceptionVariableInCatchClause.symbols | 6 +- .../narrowFromAnyWithInstanceof.symbols | 16 +- .../narrowFromAnyWithTypePredicate.symbols | 16 +- .../reference/narrowedConstInMethod.symbols | 8 +- .../narrowingConstrainedTypeParameter.symbols | 2 +- .../reference/nativeToBoxedTypes.symbols | 8 +- .../negateOperatorWithStringType.symbols | 4 +- .../reference/nestedLoopTypeGuards.symbols | 8 +- tests/baselines/reference/nestedLoops.symbols | 4 +- tests/baselines/reference/nestedSelf.symbols | 4 +- .../nestedTypeVariableInfersLiteral.symbols | 6 +- .../reference/neverInference.symbols | 12 +- .../baselines/reference/neverInference.types | 8 +- tests/baselines/reference/neverType.symbols | 12 +- tests/baselines/reference/newArrays.symbols | 2 +- .../newNamesInGlobalAugmentations1.symbols | 4 +- tests/baselines/reference/newOperator.symbols | 14 +- ...nThisExpressionAndLocalVarInLambda.symbols | 6 +- .../reference/noCrashOnThisTypeUsage.symbols | 4 +- .../reference/noErrorsInCallback.symbols | 4 +- ...nContextuallyTypesFunctionParamter.symbols | 8 +- .../reference/noImplicitAnyIndexing.symbols | 2 +- .../noImplicitAnyIndexingSuppressed.symbols | 2 +- .../noImplicitReturnsInAsync1.symbols | 6 +- .../noImplicitReturnsInAsync2.symbols | 4 +- ...als_writeOnlyProperty_dynamicNames.symbols | 4 +- .../nonIdenticalTypeConstraints.symbols | 12 +- ...rExtendingStringAssignableToString.symbols | 2 +- .../nonPrimitiveAccessProperty.symbols | 4 +- .../reference/nonPrimitiveAssignError.symbols | 6 +- .../reference/nonPrimitiveInGeneric.symbols | 2 +- .../reference/nonPrimitiveNarrow.symbols | 4 +- .../reference/nonPrimitiveStrictNull.symbols | 20 +- ...entPropertyAvailableOnPromisedType.symbols | 2 +- .../nonexistentPropertyOnUnion.symbols | 2 +- ...tPropertyUnavailableOnPromisedType.symbols | 2 +- .../nullAssignableToEveryType.symbols | 12 +- ...lIsSubtypeOfEverythingButUndefined.symbols | 8 +- .../reference/numberPropertyAccess.symbols | 12 +- ...exerConstrainsPropertyDeclarations.symbols | 2 +- .../numericIndexerConstraint.symbols | 2 +- .../numericIndexerConstraint5.symbols | 2 +- .../reference/numericIndexerTyping1.symbols | 2 +- .../reference/numericIndexerTyping2.symbols | 2 +- .../reference/numericLiteralTypes1.symbols | 2 +- .../reference/numericLiteralTypes2.symbols | 2 +- .../reference/objectCreate-errors.symbols | 48 +- .../baselines/reference/objectCreate.symbols | 60 +- .../baselines/reference/objectCreate2.symbols | 60 +- .../baselines/reference/objectFreeze.symbols | 32 +- .../reference/objectLitGetterSetter.symbols | 10 +- .../objectLitPropertyScoping.symbols | 6 +- .../objectLiteralGettersAndSetters.symbols | 6 +- ...objectLiteralPropertyImplicitlyAny.symbols | 2 +- .../reference/objectMembersOnTypes.symbols | 12 +- .../reference/objectRestForOf.symbols | 4 +- .../reference/objectRestReadonly.symbols | 2 +- .../reference/objectSpreadStrictNull.symbols | 2 +- ...tTypeHidingMembersOfExtendedObject.symbols | 4 +- ...ingMembersOfObjectAssignmentCompat.symbols | 2 +- ...ngMembersOfObjectAssignmentCompat2.symbols | 2 +- .../objectTypePropertyAccess.symbols | 18 +- ...llSignatureAppearsToBeFunctionType.symbols | 8 +- ...ureHidingMembersOfExtendedFunction.symbols | 12 +- ...llSignatureHidingMembersOfFunction.symbols | 8 +- ...gMembersOfFunctionAssignmentCompat.symbols | 2 +- ...ctSignatureAppearsToBeFunctionType.symbols | 8 +- ...ureHidingMembersOfExtendedFunction.symbols | 12 +- ...ctSignatureHidingMembersOfFunction.symbols | 8 +- ...gMembersOfFunctionAssignmentCompat.symbols | 2 +- ...thStringIndexerHidingObjectIndexer.symbols | 4 +- ...TypeWithStringNamedNumericProperty.symbols | 30 +- .../reference/objectTypesIdentity2.symbols | 4 +- ...ctTypesIdentityWithCallSignatures2.symbols | 4 +- ...esIdentityWithConstructSignatures2.symbols | 4 +- ...llSignaturesDifferingByConstraints.symbols | 56 +- ...lSignaturesDifferingByConstraints2.symbols | 114 +-- ...allSignaturesDifferingByReturnType.symbols | 4 +- ...llSignaturesDifferingByReturnType2.symbols | 60 +- ...aturesDifferingTypeParameterCounts.symbols | 18 +- ...turesDifferingTypeParameterCounts2.symbols | 6 +- ...ctSignaturesDifferingByConstraints.symbols | 46 +- ...tSignaturesDifferingByConstraints2.symbols | 96 +-- ...uctSignaturesDifferingByReturnType.symbols | 4 +- ...ctSignaturesDifferingByReturnType2.symbols | 52 +- ...aturesDifferingTypeParameterCounts.symbols | 16 +- .../operatorsAndIntersectionTypes.symbols | 8 +- .../optionalFunctionArgAssignability.symbols | 14 +- .../overEagerReturnTypeSpecialization.symbols | 16 +- .../reference/overloadOnGenericArity.symbols | 2 +- .../reference/overloadResolution.symbols | 12 +- ...verloadResolutionClassConstructors.symbols | 10 +- .../overloadResolutionConstructors.symbols | 12 +- ...overloadResolutionOverNonCTLambdas.symbols | 4 +- ...erloadResolutionOverNonCTObjectLit.symbols | 8 +- .../overloadResolutionWithAny.symbols | 2 +- .../overloadsWithConstraints.symbols | 4 +- .../paramTagOnFunctionUsingArguments.symbols | 4 +- .../parenthesizedContexualTyping1.symbols | 24 +- .../parenthesizedContexualTyping2.symbols | 24 +- .../parenthesizedContexualTyping3.symbols | 6 +- .../reference/parenthesizedTypes.symbols | 6 +- .../parseErrorDoubleCommaInCall.symbols | 2 +- .../parseErrorIncorrectReturnToken.symbols | 4 +- .../reference/parser15.4.4.14-9-2.symbols | 2 +- .../baselines/reference/parser630933.symbols | 4 +- .../reference/parserArgumentList1.symbols | 14 +- .../parserArrowFunctionExpression6.symbols | 4 +- ...parserAutomaticSemicolonInsertion1.symbols | 2 +- ...rserCatchClauseWithTypeAnnotation1.symbols | 2 +- .../parserConstructorAmbiguity1.symbols | 2 +- .../parserConstructorAmbiguity2.symbols | 2 +- .../parserConstructorAmbiguity3.symbols | 2 +- .../parserConstructorAmbiguity4.symbols | 2 +- ...Recovery_IncompleteMemberVariable1.symbols | 6 +- ...Recovery_IncompleteMemberVariable2.symbols | 6 +- .../reference/parserInExpression1.symbols | 6 +- .../reference/parserIndexSignature8.symbols | 2 +- ...oASIOnCallAfterFunctionExpression1.symbols | 2 +- .../reference/parserNotHexLiteral1.symbols | 12 +- .../reference/parserObjectCreation1.symbols | 2 +- .../parserOverloadOnConstants1.symbols | 18 +- .../reference/parserRealSource1.symbols | 32 +- .../reference/parserRealSource10.symbols | 8 +- .../reference/parserRealSource11.symbols | 180 ++-- .../reference/parserRealSource12.symbols | 2 +- .../reference/parserRealSource14.symbols | 68 +- .../reference/parserRealSource2.symbols | 4 +- .../reference/parserRealSource4.symbols | 22 +- .../reference/parserRealSource5.symbols | 10 +- .../reference/parserRealSource6.symbols | 2 +- .../reference/parserRealSource7.symbols | 10 +- .../reference/parserRealSource8.symbols | 38 +- .../reference/parserRealSource9.symbols | 6 +- .../parserRegularExpression4.symbols | 18 +- .../parserRegularExpression5.symbols | 4 +- ...rRegularExpressionDivideAmbiguity5.symbols | 12 +- .../reference/parserS7.2_A1.5_T2.symbols | 2 +- .../parserStrictMode3-negative.symbols | 2 +- .../reference/parserStrictMode3.symbols | 2 +- .../reference/parserStrictMode5.symbols | 2 +- .../parserStrictMode6-negative.symbols | 2 +- .../reference/parserStrictMode6.symbols | 2 +- .../reference/parserStrictMode7.symbols | 2 +- .../reference/parserStrictMode8.symbols | 2 +- .../reference/parserSymbolProperty1.symbols | 6 +- .../reference/parserSymbolProperty2.symbols | 6 +- .../reference/parserSymbolProperty3.symbols | 6 +- .../reference/parserSymbolProperty4.symbols | 6 +- .../reference/parserSymbolProperty5.symbols | 6 +- .../reference/parserSymbolProperty6.symbols | 6 +- .../reference/parserSymbolProperty7.symbols | 6 +- .../reference/parserSymbolProperty8.symbols | 6 +- .../reference/parserSymbolProperty9.symbols | 6 +- ...parserUsingConstructorAsIdentifier.symbols | 16 +- .../reference/parserindenter.symbols | 12 +- .../partiallyDiscriminantedUnions.symbols | 8 +- ...pingBasedModuleResolution3_classic.symbols | 4 +- ...MappingBasedModuleResolution3_node.symbols | 4 +- ...pingBasedModuleResolution4_classic.symbols | 4 +- ...MappingBasedModuleResolution4_node.symbols | 4 +- ...pingBasedModuleResolution5_classic.symbols | 16 +- ...MappingBasedModuleResolution5_node.symbols | 16 +- ...pingBasedModuleResolution6_classic.symbols | 4 +- ...MappingBasedModuleResolution6_node.symbols | 4 +- ...pingBasedModuleResolution7_classic.symbols | 8 +- ...MappingBasedModuleResolution7_node.symbols | 8 +- .../plusOperatorWithStringType.symbols | 4 +- .../reference/primitiveMembers.symbols | 26 +- .../reference/promiseChaining.symbols | 4 +- .../reference/promiseChaining1.symbols | 2 +- .../reference/promiseChaining2.symbols | 2 +- .../reference/promiseDefinitionTest.symbols | 4 +- .../promiseEmptyTupleNoException.symbols | 2 +- .../reference/promisePermutations.symbols | 304 +++---- .../reference/promisePermutations2.symbols | 278 +++---- .../reference/promisePermutations3.symbols | 304 +++---- tests/baselines/reference/promiseTest.symbols | 26 +- tests/baselines/reference/promiseType.symbols | 774 +++++++++--------- .../reference/promiseTypeInference.symbols | 18 +- .../reference/promiseTypeStrictNull.symbols | 774 +++++++++--------- .../promiseVoidErrorCallback.symbols | 18 +- tests/baselines/reference/promises.symbols | 20 +- .../reference/promisesWithConstraints.symbols | 20 +- ...propagationOfPromiseInitialization.symbols | 4 +- .../reference/propertyAccess.symbols | 4 +- .../reference/propertyAccess7.symbols | 4 +- ...pertyAccessExpressionInnerComments.symbols | 24 +- .../propertyAccessNumericLiterals.es6.symbols | 20 +- .../propertyAccessNumericLiterals.symbols | 24 +- .../propertyAccessOnObjectLiteral.symbols | 8 +- ...cessOnTypeParameterWithConstraints.symbols | 40 +- ...essOnTypeParameterWithConstraints4.symbols | 14 +- ...sOnTypeParameterWithoutConstraints.symbols | 24 +- .../reference/protoAssignment.symbols | 8 +- .../prototypeOnConstructorFunctions.symbols | 4 +- tests/baselines/reference/prototypes.symbols | 12 +- .../reachabilityCheckWithEmptyDefault.symbols | 4 +- .../reference/reachabilityChecks1.symbols | 4 +- .../reference/reachabilityChecks5.symbols | 10 +- .../reference/reachabilityChecks6.symbols | 10 +- .../reference/reachabilityChecks7.symbols | 4 +- .../readonlyInDeclarationFile.symbols | 8 +- .../recursiveComplicatedClasses.symbols | 6 +- .../recursiveTypeComparison2.symbols | 2 +- .../reference/recursiveTypeRelations.symbols | 14 +- .../recursiveTypesWithTypeof.symbols | 4 +- .../baselines/reference/redefineArray.symbols | 2 +- .../regExpWithSlashInCharClass.symbols | 12 +- .../relativePathToDeclarationFile.symbols | 4 +- .../reference/restArgAssignmentCompat.symbols | 4 +- .../restParametersOfNonArrayTypes.symbols | 4 +- .../restParametersOfNonArrayTypes2.symbols | 4 +- ...ParametersWithArrayTypeAnnotations.symbols | 28 +- .../reference/returnStatements.symbols | 4 +- .../returnTypeParameterWithModules.symbols | 16 +- ...InferenceInContextualInstantiation.symbols | 4 +- .../reference/scannerS7.2_A1.5_T2.symbols | 2 +- .../scopeResolutionIdentifiers.symbols | 4 +- ...selfReferencesInFunctionParameters.symbols | 4 +- ...turesUseJSDocForOptionalParameters.symbols | 2 +- ...arameterReferencedInObjectLiteral1.symbols | 8 +- .../sourceMap-FileWithComments.symbols | 6 +- .../reference/sourceMapSample.symbols | 12 +- .../sourceMapValidationClasses.symbols | 12 +- .../sourceMapValidationDecorators.symbols | 16 +- .../reference/sourceMapValidationFor.symbols | 12 +- .../sourceMapValidationForIn.symbols | 32 +- .../sourceMapValidationStatements.symbols | 4 +- ...sourceMapValidationTryCatchFinally.symbols | 2 +- ...leFilesWithFileEndingWithInterface.symbols | 4 +- .../reference/specializationError.symbols | 14 +- ...alizationsShouldNotAffectEachOther.symbols | 8 +- ...otSubtypeOfNonSpecializedSignature.symbols | 6 +- ...IsSubtypeOfNonSpecializedSignature.symbols | 6 +- ...ousTypeNotReferencingTypeParameter.symbols | 140 ++-- .../staticInstanceResolution2.symbols | 8 +- ...aticMembersUsingClassTypeParameter.symbols | 2 +- .../reference/strictFunctionTypes1.symbols | 4 +- .../strictFunctionTypesErrors.symbols | 32 +- .../strictNullEmptyDestructuring.symbols | 36 +- .../reference/strictNullLogicalAndOr.symbols | 24 +- ...rictNullNotNullIndexTypeShouldWork.symbols | 6 +- .../reference/strictTupleLength.symbols | 4 +- .../reference/stringEnumLiteralTypes1.symbols | 2 +- .../reference/stringEnumLiteralTypes2.symbols | 2 +- .../reference/stringIncludes.symbols | 8 +- ...exerConstrainsPropertyDeclarations.symbols | 2 +- ...stringLiteralTypeIsSubtypeOfString.symbols | 22 +- .../reference/stringPropCodeGen.symbols | 4 +- .../reference/stringPropertyAccess.symbols | 12 +- .../stringPropertyAccessWithError.symbols | 2 +- .../reference/subtypeRelationForNever.symbols | 6 +- .../baselines/reference/subtypesOfAny.symbols | 6 +- .../reference/subtypesOfTypeParameter.symbols | 8 +- ...ypesOfTypeParameterWithConstraints.symbols | 56 +- ...pesOfTypeParameterWithConstraints2.symbols | 34 +- .../reference/subtypesOfUnion.symbols | 12 +- .../reference/subtypingTransitivity.symbols | 2 +- .../subtypingWithCallSignatures2.symbols | 42 +- .../subtypingWithCallSignatures3.symbols | 18 +- .../subtypingWithConstructSignatures2.symbols | 42 +- .../subtypingWithConstructSignatures3.symbols | 18 +- .../subtypingWithConstructSignatures5.symbols | 24 +- .../subtypingWithOptionalProperties.symbols | 6 +- .../reference/superAccessCastedCall.symbols | 2 +- ...ithIncorrectNumberOfTypeArguments1.symbols | 2 +- ...GenericTypeButWithNoTypeArguments1.symbols | 2 +- ...onGenericTypeButWithTypeArguments1.symbols | 2 +- ...perCallFromClassThatHasNoBaseType1.symbols | 2 +- ...BaseTypeButWithSameSymbolInterface.symbols | 2 +- .../reference/superCallFromFunction1.symbols | 2 +- ...uperCallParameterContextualTyping1.symbols | 6 +- ...uperCallParameterContextualTyping2.symbols | 2 +- ...uperCallParameterContextualTyping3.symbols | 8 +- .../reference/superElementAccess.symbols | 8 +- .../baselines/reference/superNewCall1.symbols | 2 +- .../reference/superPropertyAccess.symbols | 8 +- .../superSymbolIndexedAccess1.symbols | 6 +- .../superSymbolIndexedAccess2.symbols | 18 +- .../superSymbolIndexedAccess3.symbols | 6 +- .../superSymbolIndexedAccess4.symbols | 6 +- .../reference/switchStatements.symbols | 8 +- .../switchWithConstrainedTypeVariable.symbols | 8 +- .../reference/symbolDeclarationEmit1.symbols | 6 +- .../reference/symbolDeclarationEmit10.symbols | 12 +- .../reference/symbolDeclarationEmit11.symbols | 24 +- .../reference/symbolDeclarationEmit12.symbols | 30 +- .../reference/symbolDeclarationEmit13.symbols | 12 +- .../reference/symbolDeclarationEmit14.symbols | 12 +- .../reference/symbolDeclarationEmit2.symbols | 6 +- .../reference/symbolDeclarationEmit3.symbols | 18 +- .../reference/symbolDeclarationEmit4.symbols | 12 +- .../reference/symbolDeclarationEmit5.symbols | 6 +- .../reference/symbolDeclarationEmit6.symbols | 6 +- .../reference/symbolDeclarationEmit7.symbols | 6 +- .../reference/symbolDeclarationEmit8.symbols | 6 +- .../reference/symbolDeclarationEmit9.symbols | 6 +- .../reference/symbolProperty10.symbols | 12 +- .../reference/symbolProperty11.symbols | 6 +- .../reference/symbolProperty12.symbols | 12 +- .../reference/symbolProperty13.symbols | 12 +- .../reference/symbolProperty14.symbols | 12 +- .../reference/symbolProperty15.symbols | 6 +- .../reference/symbolProperty16.symbols | 12 +- .../reference/symbolProperty17.symbols | 12 +- .../reference/symbolProperty18.symbols | 36 +- .../reference/symbolProperty19.symbols | 24 +- .../reference/symbolProperty2.symbols | 2 +- .../reference/symbolProperty20.symbols | 24 +- .../reference/symbolProperty21.symbols | 30 +- .../reference/symbolProperty22.symbols | 16 +- .../reference/symbolProperty23.symbols | 12 +- .../reference/symbolProperty24.symbols | 12 +- .../reference/symbolProperty25.symbols | 12 +- .../reference/symbolProperty26.symbols | 12 +- .../reference/symbolProperty27.symbols | 12 +- .../reference/symbolProperty28.symbols | 12 +- .../reference/symbolProperty29.symbols | 6 +- .../reference/symbolProperty3.symbols | 2 +- .../reference/symbolProperty30.symbols | 6 +- .../reference/symbolProperty31.symbols | 6 +- .../reference/symbolProperty32.symbols | 6 +- .../reference/symbolProperty33.symbols | 6 +- .../reference/symbolProperty34.symbols | 6 +- .../reference/symbolProperty35.symbols | 12 +- .../reference/symbolProperty36.symbols | 12 +- .../reference/symbolProperty37.symbols | 12 +- .../reference/symbolProperty38.symbols | 12 +- .../reference/symbolProperty39.symbols | 24 +- .../reference/symbolProperty4.symbols | 6 +- .../reference/symbolProperty40.symbols | 30 +- .../reference/symbolProperty41.symbols | 30 +- .../reference/symbolProperty42.symbols | 18 +- .../reference/symbolProperty43.symbols | 12 +- .../reference/symbolProperty44.symbols | 12 +- .../reference/symbolProperty45.symbols | 12 +- .../reference/symbolProperty46.symbols | 24 +- .../reference/symbolProperty47.symbols | 24 +- .../reference/symbolProperty5.symbols | 18 +- .../reference/symbolProperty50.symbols | 6 +- .../reference/symbolProperty51.symbols | 6 +- .../reference/symbolProperty52.symbols | 4 +- .../reference/symbolProperty53.symbols | 12 +- .../reference/symbolProperty54.symbols | 6 +- .../reference/symbolProperty55.symbols | 12 +- .../reference/symbolProperty56.symbols | 6 +- .../reference/symbolProperty57.symbols | 8 +- .../reference/symbolProperty58.symbols | 4 +- .../reference/symbolProperty59.symbols | 6 +- .../reference/symbolProperty6.symbols | 24 +- .../reference/symbolProperty60.symbols | 12 +- .../reference/symbolProperty7.symbols | 8 +- .../reference/symbolProperty8.symbols | 12 +- .../reference/symbolProperty9.symbols | 12 +- tests/baselines/reference/symbolType1.symbols | 16 +- .../baselines/reference/symbolType10.symbols | 6 +- .../baselines/reference/symbolType11.symbols | 6 +- .../baselines/reference/symbolType12.symbols | 6 +- .../baselines/reference/symbolType13.symbols | 2 +- .../baselines/reference/symbolType14.symbols | 2 +- .../baselines/reference/symbolType15.symbols | 2 +- .../baselines/reference/symbolType16.symbols | 2 +- tests/baselines/reference/symbolType2.symbols | 12 +- tests/baselines/reference/symbolType3.symbols | 30 +- tests/baselines/reference/symbolType4.symbols | 6 +- tests/baselines/reference/symbolType5.symbols | 6 +- tests/baselines/reference/symbolType6.symbols | 6 +- tests/baselines/reference/symbolType7.symbols | 6 +- tests/baselines/reference/symbolType8.symbols | 6 +- tests/baselines/reference/symbolType9.symbols | 6 +- ...icDefaultExportsWithDynamicImports.symbols | 4 +- .../systemDefaultImportCallable.symbols | 6 +- .../taggedTemplateContextualTyping1.symbols | 4 +- .../taggedTemplateContextualTyping2.symbols | 4 +- ...mplateStringsTypeArgumentInference.symbols | 26 +- ...ateStringsTypeArgumentInferenceES6.symbols | 26 +- ...teStringsWithIncompatibleTypedTags.symbols | 2 +- ...tringsWithIncompatibleTypedTagsES6.symbols | 2 +- ...gsWithManyCallAndMemberExpressions.symbols | 2 +- ...ithManyCallAndMemberExpressionsES6.symbols | 2 +- ...lateStringsWithOverloadResolution1.symbols | 8 +- ...StringsWithOverloadResolution1_ES6.symbols | 8 +- ...lateStringsWithOverloadResolution2.symbols | 4 +- ...StringsWithOverloadResolution2_ES6.symbols | 4 +- ...lateStringsWithOverloadResolution3.symbols | 30 +- ...StringsWithOverloadResolution3_ES6.symbols | 30 +- ...taggedTemplateStringsWithTypedTags.symbols | 2 +- ...gedTemplateStringsWithTypedTagsES6.symbols | 2 +- .../taggedTemplateUntypedTagCall01.symbols | 2 +- .../taggedTemplatesInDifferentScopes.symbols | 2 +- ...hIncompleteNoSubstitutionTemplate1.symbols | 2 +- ...hIncompleteNoSubstitutionTemplate2.symbols | 2 +- ...WithIncompleteTemplateExpressions1.symbols | 2 +- ...WithIncompleteTemplateExpressions2.symbols | 2 +- ...WithIncompleteTemplateExpressions3.symbols | 2 +- ...WithIncompleteTemplateExpressions4.symbols | 2 +- ...WithIncompleteTemplateExpressions5.symbols | 2 +- ...WithIncompleteTemplateExpressions6.symbols | 2 +- .../taggedTemplatesWithTypeArguments1.symbols | 2 +- .../reference/targetTypeArgs.symbols | 24 +- .../targetTypeObjectLiteralToAny.symbols | 4 +- .../reference/targetTypeTest1.symbols | 12 +- .../reference/targetTypingOnFunctions.symbols | 8 +- .../templateStringInInstanceOf.symbols | 2 +- .../templateStringInInstanceOfES6.symbols | 2 +- ...mplateStringWithEmbeddedInstanceOf.symbols | 2 +- ...ateStringWithEmbeddedInstanceOfES6.symbols | 2 +- ...plateStringWithEmbeddedNewOperator.symbols | 2 +- ...teStringWithEmbeddedNewOperatorES6.symbols | 2 +- ...emplateStringWithEmbeddedUnaryPlus.symbols | 2 +- ...lateStringWithEmbeddedUnaryPlusES6.symbols | 2 +- .../templateStringWithPropertyAccess.symbols | 4 +- ...emplateStringWithPropertyAccessES6.symbols | 4 +- ...teStringsArrayTypeDefinedInES5Mode.symbols | 4 +- ...eStringsArrayTypeNotDefinedES5Mode.symbols | 2 +- ...StringsArrayTypeRedefinedInES6Mode.symbols | 4 +- .../baselines/reference/thisBinding2.symbols | 4 +- ...nInCallExpressionWithTypeArguments.symbols | 4 +- .../thisInPropertyBoundDeclarations.symbols | 2 +- .../reference/thisTypeInClasses.symbols | 4 +- .../reference/thisTypeInFunctions2.symbols | 4 +- .../reference/thisTypeInInterfaces.symbols | 4 +- .../thisTypeInObjectLiterals.symbols | 8 +- .../thisTypeInObjectLiterals2.symbols | 12 +- .../reference/thisTypeInTuples.symbols | 18 +- .../reference/throwStatements.symbols | 12 +- .../reference/toStringOnPrimitives.symbols | 12 +- ...entsInGenericFunctionTypedArgument.symbols | 8 +- .../reference/tooManyTypeParameters1.symbols | 4 +- .../reference/topLevelExports.symbols | 4 +- .../transformNestedGeneratorsWithTry.symbols | 4 +- .../reference/tsxAttributeResolution2.symbols | 4 +- .../tsxAttributesHasInferrableIndex.symbols | 2 +- .../reference/tsxSpreadChildren.symbols | 8 +- .../tsxSpreadChildrenInvalidType.symbols | 4 +- ...gumentPartialDefinitionStillErrors.symbols | 2 +- tests/baselines/reference/tupleTypes.symbols | 8 +- ...InterfacesWithDifferentConstraints.symbols | 14 +- ...edInterfacesWithDifferingOverloads.symbols | 12 +- ...eAliasDoesntMakeModuleInstantiated.symbols | 2 +- tests/baselines/reference/typeAliases.symbols | 8 +- .../typeArgumentConstraintResolution1.symbols | 16 +- .../reference/typeArgumentInference.symbols | 16 +- ...typeArgumentInferenceApparentType1.symbols | 2 +- ...typeArgumentInferenceApparentType2.symbols | 4 +- ...gumentInferenceConstructSignatures.symbols | 16 +- ...mentInferenceTransitiveConstraints.symbols | 10 +- ...umentInferenceWithClassExpression1.symbols | 4 +- ...umentInferenceWithClassExpression3.symbols | 4 +- ...peArgumentInferenceWithConstraints.symbols | 18 +- ...ReferencedTypeAliasToTypeLiteral01.symbols | 4 +- ...ReferencedTypeAliasToTypeLiteral02.symbols | 4 +- ...ingInsideFunctionExpressionInArray.symbols | 2 +- .../reference/typeFromJSConstructor.symbols | 12 +- .../reference/typeFromJSInitializer.symbols | 28 +- .../typeFromPropertyAssignment11.symbols | 10 +- .../typeFromPropertyAssignment12.symbols | 4 +- .../typeFromPropertyAssignment13.symbols | 10 +- .../typeFromPropertyAssignment14.symbols | 4 +- .../typeFromPropertyAssignment16.symbols | 4 +- .../typeFromPropertyAssignment17.symbols | 2 +- .../typeFromPropertyAssignment20.symbols | 2 +- .../typeFromPropertyAssignment22.symbols | 2 +- .../typeFromPropertyAssignment9.symbols | 4 +- .../typeGuardIntersectionTypes.symbols | 4 +- .../typeGuardOfFormFunctionEquality.symbols | 6 +- ...typeGuardOfFromPropNameInUnionType.symbols | 8 +- .../reference/typeGuardRedundancy.symbols | 32 +- .../reference/typeGuardsAsAssertions.symbols | 40 +- .../reference/typeGuardsDefeat.symbols | 12 +- .../typeGuardsInClassAccessors.symbols | 80 +- .../typeGuardsInClassMethods.symbols | 60 +- .../typeGuardsInConditionalExpression.symbols | 20 +- .../typeGuardsInExternalModule.symbols | 4 +- .../reference/typeGuardsInFunction.symbols | 72 +- ...typeGuardsInFunctionAndModuleBlock.symbols | 48 +- .../reference/typeGuardsInGlobal.symbols | 4 +- .../reference/typeGuardsInIfStatement.symbols | 24 +- .../reference/typeGuardsInModule.symbols | 28 +- ...ardsInRightOperandOfAndAndOperator.symbols | 12 +- ...GuardsInRightOperandOfOrOrOperator.symbols | 12 +- .../typeGuardsNestedAssignments.symbols | 16 +- .../reference/typeGuardsObjectMethods.symbols | 32 +- .../typeGuardsOnClassProperty.symbols | 16 +- .../typeGuardsTypeParameters.symbols | 8 +- .../reference/typeGuardsWithAny.symbols | 2 +- .../typeGuardsWithInstanceOf.symbols | 6 +- ...thInstanceOfByConstructorSignature.symbols | 4 +- .../typeInferenceFBoundedTypeParams.symbols | 4 +- .../typeInferenceLiteralUnion.symbols | 4 +- .../typeInferenceTypePredicate2.symbols | 12 +- .../typeInferenceWithTupleType.symbols | 16 +- .../typeOfThisInInstanceMember.symbols | 4 +- .../typeOfThisInInstanceMember2.symbols | 4 +- .../typeOfThisInMemberFunctions.symbols | 2 +- .../typeParamExtendsOtherTypeParam.symbols | 6 +- ...ypeParameterAndArgumentOfSameName1.symbols | 6 +- ...arameterAsTypeParameterConstraint2.symbols | 2 +- .../typeParameterAssignability2.symbols | 20 +- .../typeParameterConstraints1.symbols | 6 +- .../typeParameterExplicitlyExtendsAny.symbols | 4 +- .../typeParameterExtendsPrimitive.symbols | 2 +- .../typeParameterUsedAsConstraint.symbols | 20 +- ...ParametersAreIdenticalToThemselves.symbols | 14 +- .../typeParametersShouldNotBeEqual.symbols | 2 +- .../typeParametersShouldNotBeEqual2.symbols | 6 +- .../typeParametersShouldNotBeEqual3.symbols | 6 +- .../typePredicateStructuralMatch.symbols | 8 +- .../reference/typeVariableTypeGuards.symbols | 8 +- tests/baselines/reference/typedArrays.symbols | 384 ++++----- .../typedArraysCrossAssignability01.symbols | 18 +- .../typeofOperatorWithStringType.symbols | 4 +- .../types.asyncGenerators.esnext.1.symbols | 32 +- .../types.asyncGenerators.esnext.2.symbols | 2 +- ...OnlyExternalModuleStillHasInstance.symbols | 2 +- .../typesWithPublicConstructor.symbols | 4 +- .../unaryOperatorsInStrictMode.symbols | 8 +- .../reference/undeclaredModuleError.symbols | 8 +- .../undefinedAssignableToEveryType.symbols | 12 +- .../undefinedIsSubtypeOfEverything.symbols | 12 +- .../reference/undefinedTypeArgument1.symbols | 2 +- .../reference/underscoreTest1.symbols | 154 ++-- .../reference/unicodeIdentifierName2.symbols | 2 +- .../unionAndIntersectionInference1.symbols | 10 +- .../reference/unionPropertyExistence.symbols | 4 +- ...ypeIfEveryConstituentTypeIsSubtype.symbols | 6 +- .../reference/unionTypeCallSignatures.symbols | 10 +- .../unionTypeCallSignatures2.symbols | 4 +- .../unionTypeConstructSignatures.symbols | 10 +- .../reference/unionTypeIndexSignature.symbols | 6 +- .../reference/unionTypeLiterals.symbols | 2 +- ...owsIndexInObjectWithIndexSignature.symbols | 2 +- .../baselines/reference/uniqueSymbols.symbols | 28 +- .../uniqueSymbolsDeclarations.symbols | 28 +- .../reference/uniqueSymbolsErrors.symbols | 4 +- ...opertiesAreAssignableToObjectUnion.symbols | 4 +- .../unknownSymbolInGenericReturnType.symbols | 10 +- .../unknownSymbolOffContextualType1.symbols | 34 +- .../unspecializedConstraints.symbols | 54 +- ...edFunctionCallsWithTypeParameters1.symbols | 6 +- .../unusedIdentifiersConsolidated1.symbols | 8 +- ...usedLocalsAndParametersTypeAliases.symbols | 2 +- .../unusedVariablesinNamespaces2.symbols | 4 +- .../unusedVariablesinNamespaces3.symbols | 4 +- .../useObjectValuesAndEntries3.symbols | 4 +- .../reference/usePromiseFinally.symbols | 2 +- .../reference/useSharedArrayBuffer4.symbols | 4 +- .../reference/useSharedArrayBuffer5.symbols | 4 +- .../reference/useSharedArrayBuffer6.symbols | 4 +- .../reference/validBooleanAssignments.symbols | 4 +- .../validMultipleVariableDeclarations.symbols | 2 +- .../reference/validNumberAssignments.symbols | 2 +- .../reference/validStringAssignments.symbols | 4 +- tests/baselines/reference/vararg.symbols | 8 +- tests/baselines/reference/vardecl.symbols | 4 +- ...onEmitUniqueSymbolPartialStatement.symbols | 2 +- ...ariableDeclarationInStrictMode1.errors.txt | 2 +- .../voidOperatorWithStringType.symbols | 4 +- tests/baselines/reference/weakType.symbols | 8 +- .../reference/withExportDecl.symbols | 4 +- .../wrappedAndRecursiveConstraints.symbols | 4 +- .../reference/yieldExpression1.symbols | 2 +- 1516 files changed, 9029 insertions(+), 9006 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 6f638348dde..5e776086773 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -2,43 +2,44 @@ namespace ts { /* @internal */ export const compileOnSaveCommandLineOption: CommandLineOption = { name: "compileOnSave", type: "boolean" }; - const commandLineLibMap = createMapFromTemplate({ + // NOTE: The order here is important to default lib ordering + const commandLineLibMap = createMapFromEntries([ // JavaScript only - "es5": "lib.es5.d.ts", - "es6": "lib.es2015.d.ts", - "es2015": "lib.es2015.d.ts", - "es7": "lib.es2016.d.ts", - "es2016": "lib.es2016.d.ts", - "es2017": "lib.es2017.d.ts", - "es2018": "lib.es2018.d.ts", - "esnext": "lib.esnext.d.ts", + ["es5", "lib.es5.d.ts"], + ["es6", "lib.es2015.d.ts"], + ["es2015", "lib.es2015.d.ts"], + ["es7", "lib.es2016.d.ts"], + ["es2016", "lib.es2016.d.ts"], + ["es2017", "lib.es2017.d.ts"], + ["es2018", "lib.es2018.d.ts"], + ["esnext", "lib.esnext.d.ts"], // Host only - "dom": "lib.dom.d.ts", - "dom.iterable": "lib.dom.iterable.d.ts", - "webworker": "lib.webworker.d.ts", - "scripthost": "lib.scripthost.d.ts", + ["dom", "lib.dom.d.ts"], + ["dom.iterable", "lib.dom.iterable.d.ts"], + ["webworker", "lib.webworker.d.ts"], + ["scripthost", "lib.scripthost.d.ts"], // ES2015 Or ESNext By-feature options - "es2015.core": "lib.es2015.core.d.ts", - "es2015.collection": "lib.es2015.collection.d.ts", - "es2015.generator": "lib.es2015.generator.d.ts", - "es2015.iterable": "lib.es2015.iterable.d.ts", - "es2015.promise": "lib.es2015.promise.d.ts", - "es2015.proxy": "lib.es2015.proxy.d.ts", - "es2015.reflect": "lib.es2015.reflect.d.ts", - "es2015.symbol": "lib.es2015.symbol.d.ts", - "es2015.symbol.wellknown": "lib.es2015.symbol.wellknown.d.ts", - "es2016.array.include": "lib.es2016.array.include.d.ts", - "es2017.object": "lib.es2017.object.d.ts", - "es2017.sharedmemory": "lib.es2017.sharedmemory.d.ts", - "es2017.string": "lib.es2017.string.d.ts", - "es2017.intl": "lib.es2017.intl.d.ts", - "es2017.typedarrays": "lib.es2017.typedarrays.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.asynciterable": "lib.esnext.asynciterable.d.ts", - }); + ["es2015.core", "lib.es2015.core.d.ts"], + ["es2015.collection", "lib.es2015.collection.d.ts"], + ["es2015.generator", "lib.es2015.generator.d.ts"], + ["es2015.iterable", "lib.es2015.iterable.d.ts"], + ["es2015.promise", "lib.es2015.promise.d.ts"], + ["es2015.proxy", "lib.es2015.proxy.d.ts"], + ["es2015.reflect", "lib.es2015.reflect.d.ts"], + ["es2015.symbol", "lib.es2015.symbol.d.ts"], + ["es2015.symbol.wellknown", "lib.es2015.symbol.wellknown.d.ts"], + ["es2016.array.include", "lib.es2016.array.include.d.ts"], + ["es2017.object", "lib.es2017.object.d.ts"], + ["es2017.sharedmemory", "lib.es2017.sharedmemory.d.ts"], + ["es2017.string", "lib.es2017.string.d.ts"], + ["es2017.intl", "lib.es2017.intl.d.ts"], + ["es2017.typedarrays", "lib.es2017.typedarrays.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.asynciterable", "lib.esnext.asynciterable.d.ts"], + ]); // Internally we add some additional lib references that we only support when used as part of a // "lib" reference directive. They are not available on the command line or in tsconfig.json. diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 239607142eb..06660bacc85 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -59,6 +59,14 @@ namespace ts { return result; } + export function createMapFromEntries(entries: [string, T][]): Map { + const map = createMap(); + for (const [key, value] of entries) { + map.set(key, value); + } + return map; + } + export function createMapFromTemplate(template?: MapLike): Map { const map: Map = new MapCtr(); diff --git a/src/compiler/program.ts b/src/compiler/program.ts index d9e0741d5e0..560a5f91370 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -493,7 +493,9 @@ namespace ts { */ export function createProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: ReadonlyArray): Program { let program: Program; - let files: SourceFile[] = []; + let processingDefaultLibFiles: SourceFile[] | undefined; + let processingOtherFiles: SourceFile[] | undefined; + let files: SourceFile[] | undefined; let commonSourceDirectory: string; let diagnosticsProducingTypeChecker: TypeChecker; let noDiagnosticsTypeChecker: TypeChecker; @@ -584,6 +586,8 @@ namespace ts { const shouldCreateNewSourceFile = shouldProgramCreateNewSourceFiles(oldProgram, options); const structuralIsReused = tryReuseStructureFromOldProgram(); if (structuralIsReused !== StructureIsReused.Completely) { + processingDefaultLibFiles = []; + processingOtherFiles = []; forEach(rootNames, name => processRootFile(name, /*isDefaultLib*/ false, /*ignoreNoDefaultLib*/ false)); // load type declarations specified via 'types' argument or implicitly from types/ and node_modules/@types folders @@ -618,6 +622,9 @@ namespace ts { } missingFilePaths = arrayFrom(filesByName.keys(), p => p).filter(p => !filesByName.get(p)); + files = stableSort(processingDefaultLibFiles, compareDefaultLibFiles).concat(processingOtherFiles); + processingDefaultLibFiles = undefined; + processingOtherFiles = undefined; } Debug.assert(!!missingFilePaths); @@ -677,6 +684,21 @@ namespace ts { return program; + function compareDefaultLibFiles(a: SourceFile, b: SourceFile) { + return compareValues(getDefaultLibFilePriority(a), getDefaultLibFilePriority(b)); + } + + function getDefaultLibFilePriority(a: SourceFile) { + if (containsPath(defaultLibraryPath, a.fileName, /*ignoreCase*/ false)) { + const basename = getBaseFileName(a.fileName); + if (basename === "lib.d.ts" || basename === "lib.es6.d.ts") return 0; + const name = removeSuffix(removePrefix(basename, "lib."), ".d.ts"); + const index = libs.indexOf(name); + if (index !== -1) return index + 1; + } + return libs.length + 2; + } + function getResolvedModuleWithFailedLookupLocationsFromCache(moduleName: string, containingFile: string): ResolvedModuleWithFailedLookupLocations { return moduleResolutionCache && resolveModuleNameFromCache(moduleName, containingFile, moduleResolutionCache); } @@ -1807,10 +1829,11 @@ namespace ts { sourceFilesFoundSearchingNodeModules.set(file.path, false); if (!options.noResolve) { processReferencedFiles(file, isDefaultLib); - processLibReferenceDirectives(file); processTypeReferenceDirectives(file); } + processLibReferenceDirectives(file); + modulesWithElidedImports.set(file.path, false); processImportedModules(file); } @@ -1846,7 +1869,7 @@ namespace ts { redirectTargetsSet.set(fileFromPackageId.path, true); filesByName.set(path, dupFile); sourceFileToPackageName.set(path, packageId.name); - files.push(dupFile); + processingOtherFiles.push(dupFile); return dupFile; } else if (file) { @@ -1877,18 +1900,19 @@ namespace ts { if (!options.noResolve) { processReferencedFiles(file, isDefaultLib); - processLibReferenceDirectives(file); processTypeReferenceDirectives(file); } + processLibReferenceDirectives(file); + // always process imported modules to record module name resolutions processImportedModules(file); if (isDefaultLib) { - files.unshift(file); + processingDefaultLibFiles.push(file); } else { - files.push(file); + processingOtherFiles.push(file); } } diff --git a/src/lib/es2015.d.ts b/src/lib/es2015.d.ts index e81e7fdd3ef..ee702820e7f 100644 --- a/src/lib/es2015.d.ts +++ b/src/lib/es2015.d.ts @@ -1,3 +1,4 @@ +/// /// /// /// @@ -7,4 +8,3 @@ /// /// /// -/// \ No newline at end of file diff --git a/src/lib/es2015.full.d.ts b/src/lib/es2015.full.d.ts index 4652bbb84c5..e4d420bb207 100644 --- a/src/lib/es2015.full.d.ts +++ b/src/lib/es2015.full.d.ts @@ -11,4 +11,4 @@ /// /// /// -/// \ No newline at end of file +/// diff --git a/tests/baselines/reference/2dArrays.symbols b/tests/baselines/reference/2dArrays.symbols index 8d6b6b167e6..94c735eb7ed 100644 --- a/tests/baselines/reference/2dArrays.symbols +++ b/tests/baselines/reference/2dArrays.symbols @@ -25,11 +25,11 @@ class Board { >allShipsSunk : Symbol(Board.allShipsSunk, Decl(2dArrays.ts, 9, 18)) return this.ships.every(function (val) { return val.isSunk; }); ->this.ships.every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>this.ships.every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >this.ships : Symbol(Board.ships, Decl(2dArrays.ts, 7, 13)) >this : Symbol(Board, Decl(2dArrays.ts, 5, 1)) >ships : Symbol(Board.ships, Decl(2dArrays.ts, 7, 13)) ->every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >val : Symbol(val, Decl(2dArrays.ts, 12, 42)) >val.isSunk : Symbol(Ship.isSunk, Decl(2dArrays.ts, 3, 12)) >val : Symbol(val, Decl(2dArrays.ts, 12, 42)) diff --git a/tests/baselines/reference/ES5For-of1.symbols b/tests/baselines/reference/ES5For-of1.symbols index ded21109f38..1e57e982c85 100644 --- a/tests/baselines/reference/ES5For-of1.symbols +++ b/tests/baselines/reference/ES5For-of1.symbols @@ -3,8 +3,8 @@ for (var v of ['a', 'b', 'c']) { >v : Symbol(v, Decl(ES5For-of1.ts, 0, 8)) console.log(v); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >v : Symbol(v, Decl(ES5For-of1.ts, 0, 8)) } diff --git a/tests/baselines/reference/ES5For-of22.symbols b/tests/baselines/reference/ES5For-of22.symbols index 0aacdd6ca5d..f3a9937b67a 100644 --- a/tests/baselines/reference/ES5For-of22.symbols +++ b/tests/baselines/reference/ES5For-of22.symbols @@ -6,8 +6,8 @@ for (var x of [1, 2, 3]) { >_a : Symbol(_a, Decl(ES5For-of22.ts, 1, 7)) console.log(x); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >x : Symbol(x, Decl(ES5For-of22.ts, 0, 8)) } diff --git a/tests/baselines/reference/ES5For-of23.symbols b/tests/baselines/reference/ES5For-of23.symbols index 625b23dc7a8..1da91521afb 100644 --- a/tests/baselines/reference/ES5For-of23.symbols +++ b/tests/baselines/reference/ES5For-of23.symbols @@ -6,8 +6,8 @@ for (var x of [1, 2, 3]) { >_a : Symbol(_a, Decl(ES5For-of23.ts, 1, 7)) console.log(x); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >x : Symbol(x, Decl(ES5For-of23.ts, 0, 8)) } diff --git a/tests/baselines/reference/ES5For-of33.symbols b/tests/baselines/reference/ES5For-of33.symbols index 642afdc5368..eb882d16e7c 100644 --- a/tests/baselines/reference/ES5For-of33.symbols +++ b/tests/baselines/reference/ES5For-of33.symbols @@ -3,8 +3,8 @@ for (var v of ['a', 'b', 'c']) { >v : Symbol(v, Decl(ES5For-of33.ts, 0, 8)) console.log(v); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >v : Symbol(v, Decl(ES5For-of33.ts, 0, 8)) } diff --git a/tests/baselines/reference/ES5For-ofTypeCheck13.symbols b/tests/baselines/reference/ES5For-ofTypeCheck13.symbols index 14a1fe161a5..4e1cb8369d2 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck13.symbols +++ b/tests/baselines/reference/ES5For-ofTypeCheck13.symbols @@ -1,8 +1,8 @@ === tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck13.ts === const strSet: Set = new Set() >strSet : Symbol(strSet, Decl(ES5For-ofTypeCheck13.ts, 0, 5)) ->Set : Symbol(Set, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --)) ->Set : Symbol(Set, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) strSet.add('Hello') >strSet.add : Symbol(Set.add, Decl(lib.es2015.collection.d.ts, --, --)) diff --git a/tests/baselines/reference/ES5For-ofTypeCheck14.symbols b/tests/baselines/reference/ES5For-ofTypeCheck14.symbols index efa7d296d9d..2d2357e7e2f 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck14.symbols +++ b/tests/baselines/reference/ES5For-ofTypeCheck14.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck14.ts === var union: string | Set >union : Symbol(union, Decl(ES5For-ofTypeCheck14.ts, 0, 3)) ->Set : Symbol(Set, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) for (const e of union) { } >e : Symbol(e, Decl(ES5For-ofTypeCheck14.ts, 1, 10)) diff --git a/tests/baselines/reference/ES5SymbolProperty1.symbols b/tests/baselines/reference/ES5SymbolProperty1.symbols index 76d3142af99..a828129e359 100644 --- a/tests/baselines/reference/ES5SymbolProperty1.symbols +++ b/tests/baselines/reference/ES5SymbolProperty1.symbols @@ -6,7 +6,7 @@ interface SymbolConstructor { >foo : Symbol(SymbolConstructor.foo, Decl(ES5SymbolProperty1.ts, 0, 29)) } var Symbol: SymbolConstructor; ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty1.ts, 3, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty1.ts, 3, 3)) >SymbolConstructor : Symbol(SymbolConstructor, Decl(ES5SymbolProperty1.ts, 0, 0)) var obj = { @@ -15,13 +15,13 @@ var obj = { [Symbol.foo]: 0 >[Symbol.foo] : Symbol([Symbol.foo], Decl(ES5SymbolProperty1.ts, 5, 11)) >Symbol.foo : Symbol(SymbolConstructor.foo, Decl(ES5SymbolProperty1.ts, 0, 29)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty1.ts, 3, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty1.ts, 3, 3)) >foo : Symbol(SymbolConstructor.foo, Decl(ES5SymbolProperty1.ts, 0, 29)) } obj[Symbol.foo]; >obj : Symbol(obj, Decl(ES5SymbolProperty1.ts, 5, 3)) >Symbol.foo : Symbol(SymbolConstructor.foo, Decl(ES5SymbolProperty1.ts, 0, 29)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty1.ts, 3, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty1.ts, 3, 3)) >foo : Symbol(SymbolConstructor.foo, Decl(ES5SymbolProperty1.ts, 0, 29)) diff --git a/tests/baselines/reference/ES5SymbolProperty3.symbols b/tests/baselines/reference/ES5SymbolProperty3.symbols index 3bafca0ab08..db6fd3eef2b 100644 --- a/tests/baselines/reference/ES5SymbolProperty3.symbols +++ b/tests/baselines/reference/ES5SymbolProperty3.symbols @@ -1,16 +1,16 @@ === tests/cases/conformance/Symbols/ES5SymbolProperty3.ts === var Symbol: any; ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty3.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty3.ts, 0, 3)) class C { >C : Symbol(C, Decl(ES5SymbolProperty3.ts, 0, 16)) [Symbol.iterator]() { } >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(ES5SymbolProperty3.ts, 2, 9)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty3.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty3.ts, 0, 3)) } (new C)[Symbol.iterator] >C : Symbol(C, Decl(ES5SymbolProperty3.ts, 0, 16)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty3.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty3.ts, 0, 3)) diff --git a/tests/baselines/reference/ES5SymbolProperty4.symbols b/tests/baselines/reference/ES5SymbolProperty4.symbols index 4b02bbf869c..6c6aab627e6 100644 --- a/tests/baselines/reference/ES5SymbolProperty4.symbols +++ b/tests/baselines/reference/ES5SymbolProperty4.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/Symbols/ES5SymbolProperty4.ts === var Symbol: { iterator: string }; ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty4.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty4.ts, 0, 3)) >iterator : Symbol(iterator, Decl(ES5SymbolProperty4.ts, 0, 13)) class C { @@ -9,13 +9,13 @@ class C { [Symbol.iterator]() { } >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(ES5SymbolProperty4.ts, 2, 9)) >Symbol.iterator : Symbol(iterator, Decl(ES5SymbolProperty4.ts, 0, 13)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty4.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty4.ts, 0, 3)) >iterator : Symbol(iterator, Decl(ES5SymbolProperty4.ts, 0, 13)) } (new C)[Symbol.iterator] >C : Symbol(C, Decl(ES5SymbolProperty4.ts, 0, 33)) >Symbol.iterator : Symbol(iterator, Decl(ES5SymbolProperty4.ts, 0, 13)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty4.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty4.ts, 0, 3)) >iterator : Symbol(iterator, Decl(ES5SymbolProperty4.ts, 0, 13)) diff --git a/tests/baselines/reference/ES5SymbolProperty5.symbols b/tests/baselines/reference/ES5SymbolProperty5.symbols index f57c2882eb0..c5610b9ce2c 100644 --- a/tests/baselines/reference/ES5SymbolProperty5.symbols +++ b/tests/baselines/reference/ES5SymbolProperty5.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/Symbols/ES5SymbolProperty5.ts === var Symbol: { iterator: symbol }; ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty5.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty5.ts, 0, 3)) >iterator : Symbol(iterator, Decl(ES5SymbolProperty5.ts, 0, 13)) class C { @@ -9,13 +9,13 @@ class C { [Symbol.iterator]() { } >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(ES5SymbolProperty5.ts, 2, 9)) >Symbol.iterator : Symbol(iterator, Decl(ES5SymbolProperty5.ts, 0, 13)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty5.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty5.ts, 0, 3)) >iterator : Symbol(iterator, Decl(ES5SymbolProperty5.ts, 0, 13)) } (new C)[Symbol.iterator](0) // Should error >C : Symbol(C, Decl(ES5SymbolProperty5.ts, 0, 33)) >Symbol.iterator : Symbol(iterator, Decl(ES5SymbolProperty5.ts, 0, 13)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty5.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty5.ts, 0, 3)) >iterator : Symbol(iterator, Decl(ES5SymbolProperty5.ts, 0, 13)) diff --git a/tests/baselines/reference/ES5SymbolProperty7.symbols b/tests/baselines/reference/ES5SymbolProperty7.symbols index a44185b862b..ac27f979b08 100644 --- a/tests/baselines/reference/ES5SymbolProperty7.symbols +++ b/tests/baselines/reference/ES5SymbolProperty7.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/Symbols/ES5SymbolProperty7.ts === var Symbol: { iterator: any }; ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty7.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty7.ts, 0, 3)) >iterator : Symbol(iterator, Decl(ES5SymbolProperty7.ts, 0, 13)) class C { @@ -9,13 +9,13 @@ class C { [Symbol.iterator]() { } >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(ES5SymbolProperty7.ts, 2, 9)) >Symbol.iterator : Symbol(iterator, Decl(ES5SymbolProperty7.ts, 0, 13)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty7.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty7.ts, 0, 3)) >iterator : Symbol(iterator, Decl(ES5SymbolProperty7.ts, 0, 13)) } (new C)[Symbol.iterator] >C : Symbol(C, Decl(ES5SymbolProperty7.ts, 0, 30)) >Symbol.iterator : Symbol(iterator, Decl(ES5SymbolProperty7.ts, 0, 13)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(ES5SymbolProperty7.ts, 0, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(ES5SymbolProperty7.ts, 0, 3)) >iterator : Symbol(iterator, Decl(ES5SymbolProperty7.ts, 0, 13)) diff --git a/tests/baselines/reference/ES5SymbolType1.symbols b/tests/baselines/reference/ES5SymbolType1.symbols index 84ca751421e..a0af3b59706 100644 --- a/tests/baselines/reference/ES5SymbolType1.symbols +++ b/tests/baselines/reference/ES5SymbolType1.symbols @@ -3,7 +3,7 @@ var s: symbol; >s : Symbol(s, Decl(ES5SymbolType1.ts, 0, 3)) s.toString(); ->s.toString : Symbol(Symbol.toString, Decl(lib.d.ts, --, --)) +>s.toString : Symbol(Symbol.toString, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(ES5SymbolType1.ts, 0, 3)) ->toString : Symbol(Symbol.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Symbol.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.symbols b/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.symbols index e837af939b9..89be91655ae 100644 --- a/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.symbols +++ b/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.symbols @@ -11,11 +11,11 @@ module A { export var beez: Array; >beez : Symbol(beez, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 5, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >B : Symbol(B, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 0, 10)) export var beez2 = new Array(); >beez2 : Symbol(beez2, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 6, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >B : Symbol(B, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 0, 10)) } diff --git a/tests/baselines/reference/TypeGuardWithArrayUnion.symbols b/tests/baselines/reference/TypeGuardWithArrayUnion.symbols index 38d1dcf3e0a..a4e50cf7487 100644 --- a/tests/baselines/reference/TypeGuardWithArrayUnion.symbols +++ b/tests/baselines/reference/TypeGuardWithArrayUnion.symbols @@ -14,12 +14,12 @@ function saySize(message: Message | Message[]) { if (message instanceof Array) { >message : Symbol(message, Decl(TypeGuardWithArrayUnion.ts, 4, 17)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) return message.length; // Should have type Message[] here ->message.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>message.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >message : Symbol(message, Decl(TypeGuardWithArrayUnion.ts, 4, 17)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/abstractPropertyInConstructor.symbols b/tests/baselines/reference/abstractPropertyInConstructor.symbols index 42cd3bb6827..f1baa962072 100644 --- a/tests/baselines/reference/abstractPropertyInConstructor.symbols +++ b/tests/baselines/reference/abstractPropertyInConstructor.symbols @@ -11,16 +11,16 @@ abstract class AbstractClass { >this.method : Symbol(AbstractClass.method, Decl(abstractPropertyInConstructor.ts, 20, 37)) >this : Symbol(AbstractClass, Decl(abstractPropertyInConstructor.ts, 0, 0)) >method : Symbol(AbstractClass.method, Decl(abstractPropertyInConstructor.ts, 20, 37)) ->parseInt : Symbol(parseInt, Decl(lib.d.ts, --, --)) +>parseInt : Symbol(parseInt, Decl(lib.es5.d.ts, --, --)) >str : Symbol(str, Decl(abstractPropertyInConstructor.ts, 1, 16)) let val = this.prop.toLowerCase(); >val : Symbol(val, Decl(abstractPropertyInConstructor.ts, 3, 11)) ->this.prop.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>this.prop.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >this.prop : Symbol(AbstractClass.prop, Decl(abstractPropertyInConstructor.ts, 17, 5)) >this : Symbol(AbstractClass, Decl(abstractPropertyInConstructor.ts, 0, 0)) >prop : Symbol(AbstractClass.prop, Decl(abstractPropertyInConstructor.ts, 17, 5)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) if (!str) { >str : Symbol(str, Decl(abstractPropertyInConstructor.ts, 1, 16)) diff --git a/tests/baselines/reference/additionOperatorWithAnyAndEveryType.symbols b/tests/baselines/reference/additionOperatorWithAnyAndEveryType.symbols index f95a388c189..0c7fcd2f346 100644 --- a/tests/baselines/reference/additionOperatorWithAnyAndEveryType.symbols +++ b/tests/baselines/reference/additionOperatorWithAnyAndEveryType.symbols @@ -35,7 +35,7 @@ var d: string; var e: Object; >e : Symbol(e, Decl(additionOperatorWithAnyAndEveryType.ts, 12, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // any as left operand, result is type Any except plusing string var r1 = a + a; diff --git a/tests/baselines/reference/additionOperatorWithConstrainedTypeParameter.symbols b/tests/baselines/reference/additionOperatorWithConstrainedTypeParameter.symbols index e7055c1e38f..95836a70b75 100644 --- a/tests/baselines/reference/additionOperatorWithConstrainedTypeParameter.symbols +++ b/tests/baselines/reference/additionOperatorWithConstrainedTypeParameter.symbols @@ -3,7 +3,7 @@ function sum, K extends string>(n: number, v: T, k: K) { >sum : Symbol(sum, Decl(additionOperatorWithConstrainedTypeParameter.ts, 0, 0)) >T : Symbol(T, Decl(additionOperatorWithConstrainedTypeParameter.ts, 1, 13)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >K : Symbol(K, Decl(additionOperatorWithConstrainedTypeParameter.ts, 1, 41)) >K : Symbol(K, Decl(additionOperatorWithConstrainedTypeParameter.ts, 1, 41)) >n : Symbol(n, Decl(additionOperatorWithConstrainedTypeParameter.ts, 1, 60)) @@ -26,7 +26,7 @@ function sum, K extends string>(n: number, v: T, k: function realSum, K extends string>(n: number, vs: T[], k: K) { >realSum : Symbol(realSum, Decl(additionOperatorWithConstrainedTypeParameter.ts, 4, 1)) >T : Symbol(T, Decl(additionOperatorWithConstrainedTypeParameter.ts, 5, 17)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >K : Symbol(K, Decl(additionOperatorWithConstrainedTypeParameter.ts, 5, 45)) >K : Symbol(K, Decl(additionOperatorWithConstrainedTypeParameter.ts, 5, 45)) >n : Symbol(n, Decl(additionOperatorWithConstrainedTypeParameter.ts, 5, 64)) diff --git a/tests/baselines/reference/additionOperatorWithInvalidOperands.symbols b/tests/baselines/reference/additionOperatorWithInvalidOperands.symbols index 7f734550635..41d2e17c944 100644 --- a/tests/baselines/reference/additionOperatorWithInvalidOperands.symbols +++ b/tests/baselines/reference/additionOperatorWithInvalidOperands.symbols @@ -29,11 +29,11 @@ var b: number; var c: Object; >c : Symbol(c, Decl(additionOperatorWithInvalidOperands.ts, 10, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var d: Number; >d : Symbol(d, Decl(additionOperatorWithInvalidOperands.ts, 11, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // boolean + every type except any and string var r1 = a + a; diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.symbols b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.symbols index 5ee9952329e..ed386befc62 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.symbols +++ b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.symbols @@ -10,14 +10,14 @@ var a: boolean; var b: Object; >b : Symbol(b, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 5, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var c: void; >c : Symbol(c, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 6, 3)) var d: Number; >d : Symbol(d, Decl(additionOperatorWithNullValueAndInvalidOperator.ts, 7, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // null + boolean/Object var r1 = null + a; diff --git a/tests/baselines/reference/additionOperatorWithStringAndEveryType.symbols b/tests/baselines/reference/additionOperatorWithStringAndEveryType.symbols index 68fac31d4f8..331e9593641 100644 --- a/tests/baselines/reference/additionOperatorWithStringAndEveryType.symbols +++ b/tests/baselines/reference/additionOperatorWithStringAndEveryType.symbols @@ -19,7 +19,7 @@ var d: string; var e: Object; >e : Symbol(e, Decl(additionOperatorWithStringAndEveryType.ts, 6, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var f: void; >f : Symbol(f, Decl(additionOperatorWithStringAndEveryType.ts, 7, 3)) diff --git a/tests/baselines/reference/additionOperatorWithTypeParameter.symbols b/tests/baselines/reference/additionOperatorWithTypeParameter.symbols index 586b85195b6..6e62ebd01a3 100644 --- a/tests/baselines/reference/additionOperatorWithTypeParameter.symbols +++ b/tests/baselines/reference/additionOperatorWithTypeParameter.symbols @@ -28,7 +28,7 @@ function foo(t: T, u: U) { var e: Object; >e : Symbol(e, Decl(additionOperatorWithTypeParameter.ts, 8, 7)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var g: E; >g : Symbol(g, Decl(additionOperatorWithTypeParameter.ts, 9, 7)) diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.symbols b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.symbols index eac61496e1a..e11ea41aad6 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.symbols +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.symbols @@ -10,14 +10,14 @@ var a: boolean; var b: Object; >b : Symbol(b, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var c: void; >c : Symbol(c, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 6, 3)) var d: Number; >d : Symbol(d, Decl(additionOperatorWithUndefinedValueAndInvalidOperands.ts, 7, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // undefined + boolean/Object var r1 = undefined + a; diff --git a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.symbols b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.symbols index 2ca59a3dc60..0926d38c1c4 100644 --- a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.symbols +++ b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.symbols @@ -5,7 +5,7 @@ interface ComponentOptions { watch: Record>; >watch : Symbol(ComponentOptions.watch, Decl(func.ts, 0, 31)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >WatchHandler : Symbol(WatchHandler, Decl(func.ts, 2, 1)) } type WatchHandler = (val: T) => void; @@ -40,7 +40,7 @@ export var a = vextend({ >val : Symbol(val, Decl(app.js, 4, 10)) this.data2 = 1; ->this : Symbol(__type, Decl(lib.d.ts, --, --)) +>this : Symbol(__type, Decl(lib.es5.d.ts, --, --)) >data2 : Symbol(data2, Decl(app.js, 4, 16), Decl(app.js, 6, 6)) }, diff --git a/tests/baselines/reference/ambientConstLiterals.symbols b/tests/baselines/reference/ambientConstLiterals.symbols index 3ab4309259a..905ec3fd4fd 100644 --- a/tests/baselines/reference/ambientConstLiterals.symbols +++ b/tests/baselines/reference/ambientConstLiterals.symbols @@ -62,13 +62,13 @@ const c12 = 123 + 456; const c13 = Math.random() > 0.5 ? "abc" : "def"; >c13 : Symbol(c13, Decl(ambientConstLiterals.ts, 18, 5)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) const c14 = Math.random() > 0.5 ? 123 : 456; >c14 : Symbol(c14, Decl(ambientConstLiterals.ts, 19, 5)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/ambientEnum1.symbols b/tests/baselines/reference/ambientEnum1.symbols index 46116c4de19..5ef8bfc3896 100644 --- a/tests/baselines/reference/ambientEnum1.symbols +++ b/tests/baselines/reference/ambientEnum1.symbols @@ -12,6 +12,6 @@ x = 'foo'.length >x : Symbol(E2.x, Decl(ambientEnum1.ts, 5, 21)) ->'foo'.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>'foo'.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/ambientErrors.symbols b/tests/baselines/reference/ambientErrors.symbols index d9c3647fcc6..90efbe8383a 100644 --- a/tests/baselines/reference/ambientErrors.symbols +++ b/tests/baselines/reference/ambientErrors.symbols @@ -53,8 +53,8 @@ declare enum E2 { x = 'foo'.length >x : Symbol(E2.x, Decl(ambientErrors.ts, 27, 17)) ->'foo'.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>'foo'.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } // Ambient module with initializers for values, bodies for functions / classes diff --git a/tests/baselines/reference/anyAssignabilityInInheritance.symbols b/tests/baselines/reference/anyAssignabilityInInheritance.symbols index d0189b2c6aa..3d0a7cdd6a4 100644 --- a/tests/baselines/reference/anyAssignabilityInInheritance.symbols +++ b/tests/baselines/reference/anyAssignabilityInInheritance.symbols @@ -56,8 +56,8 @@ var r3 = foo3(a); // any declare function foo5(x: Date): Date; >foo5 : Symbol(foo5, Decl(anyAssignabilityInInheritance.ts, 19, 17), Decl(anyAssignabilityInInheritance.ts, 21, 37)) >x : Symbol(x, Decl(anyAssignabilityInInheritance.ts, 21, 22)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) declare function foo5(x: any): any; >foo5 : Symbol(foo5, Decl(anyAssignabilityInInheritance.ts, 19, 17), Decl(anyAssignabilityInInheritance.ts, 21, 37)) @@ -71,8 +71,8 @@ var r3 = foo3(a); // any declare function foo6(x: RegExp): RegExp; >foo6 : Symbol(foo6, Decl(anyAssignabilityInInheritance.ts, 23, 17), Decl(anyAssignabilityInInheritance.ts, 25, 41)) >x : Symbol(x, Decl(anyAssignabilityInInheritance.ts, 25, 22)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare function foo6(x: any): any; >foo6 : Symbol(foo6, Decl(anyAssignabilityInInheritance.ts, 23, 17), Decl(anyAssignabilityInInheritance.ts, 25, 41)) @@ -277,8 +277,8 @@ var r3 = foo3(a); // any declare function foo17(x: Object): Object; >foo17 : Symbol(foo17, Decl(anyAssignabilityInInheritance.ts, 79, 17), Decl(anyAssignabilityInInheritance.ts, 81, 42)) >x : Symbol(x, Decl(anyAssignabilityInInheritance.ts, 81, 23)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare function foo17(x: any): any; >foo17 : Symbol(foo17, Decl(anyAssignabilityInInheritance.ts, 79, 17), Decl(anyAssignabilityInInheritance.ts, 81, 42)) diff --git a/tests/baselines/reference/anyAssignableToEveryType.symbols b/tests/baselines/reference/anyAssignableToEveryType.symbols index 7abc48548b8..ffc2018793f 100644 --- a/tests/baselines/reference/anyAssignableToEveryType.symbols +++ b/tests/baselines/reference/anyAssignableToEveryType.symbols @@ -44,7 +44,7 @@ var d: boolean = a; var e: Date = a; >e : Symbol(e, Decl(anyAssignableToEveryType.ts, 17, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >a : Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3)) var f: any = a; @@ -57,7 +57,7 @@ var g: void = a; var h: Object = a; >h : Symbol(h, Decl(anyAssignableToEveryType.ts, 20, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3)) var i: {} = a; @@ -70,7 +70,7 @@ var j: () => {} = a; var k: Function = a; >k : Symbol(k, Decl(anyAssignableToEveryType.ts, 23, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3)) var l: (x: number) => string = a; @@ -109,12 +109,12 @@ var o: (x: T) => T = a; var p: Number = a; >p : Symbol(p, Decl(anyAssignableToEveryType.ts, 31, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3)) var q: String = a; >q : Symbol(q, Decl(anyAssignableToEveryType.ts, 32, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3)) function foo(x: T, y: U, z: V) { @@ -122,7 +122,7 @@ function foo(x: T, y: U, z: V) { >T : Symbol(T, Decl(anyAssignableToEveryType.ts, 34, 13)) >U : Symbol(U, Decl(anyAssignableToEveryType.ts, 34, 15)) >V : Symbol(V, Decl(anyAssignableToEveryType.ts, 34, 32)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(anyAssignableToEveryType.ts, 34, 49)) >T : Symbol(T, Decl(anyAssignableToEveryType.ts, 34, 13)) >y : Symbol(y, Decl(anyAssignableToEveryType.ts, 34, 54)) diff --git a/tests/baselines/reference/anyAssignableToEveryType2.symbols b/tests/baselines/reference/anyAssignableToEveryType2.symbols index 75c6c1e170a..b021466bd46 100644 --- a/tests/baselines/reference/anyAssignableToEveryType2.symbols +++ b/tests/baselines/reference/anyAssignableToEveryType2.symbols @@ -50,7 +50,7 @@ interface I5 { [x: string]: Date; >x : Symbol(x, Decl(anyAssignableToEveryType2.ts, 27, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo: any; >foo : Symbol(I5.foo, Decl(anyAssignableToEveryType2.ts, 27, 22)) @@ -62,7 +62,7 @@ interface I6 { [x: string]: RegExp; >x : Symbol(x, Decl(anyAssignableToEveryType2.ts, 33, 5)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo: any; >foo : Symbol(I6.foo, Decl(anyAssignableToEveryType2.ts, 33, 24)) @@ -255,7 +255,7 @@ interface I19 { [x: string]: Object; >x : Symbol(x, Decl(anyAssignableToEveryType2.ts, 120, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo: any; >foo : Symbol(I19.foo, Decl(anyAssignableToEveryType2.ts, 120, 24)) diff --git a/tests/baselines/reference/anyInferenceAnonymousFunctions.symbols b/tests/baselines/reference/anyInferenceAnonymousFunctions.symbols index 4aad165f40a..941b19b3239 100644 --- a/tests/baselines/reference/anyInferenceAnonymousFunctions.symbols +++ b/tests/baselines/reference/anyInferenceAnonymousFunctions.symbols @@ -3,9 +3,9 @@ var paired: any[]; >paired : Symbol(paired, Decl(anyInferenceAnonymousFunctions.ts, 0, 3)) paired.reduce(function (a1, a2) { ->paired.reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>paired.reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >paired : Symbol(paired, Decl(anyInferenceAnonymousFunctions.ts, 0, 3)) ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a1 : Symbol(a1, Decl(anyInferenceAnonymousFunctions.ts, 2, 24)) >a2 : Symbol(a2, Decl(anyInferenceAnonymousFunctions.ts, 2, 27)) @@ -15,9 +15,9 @@ paired.reduce(function (a1, a2) { } , []); paired.reduce((b1, b2) => { ->paired.reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>paired.reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >paired : Symbol(paired, Decl(anyInferenceAnonymousFunctions.ts, 0, 3)) ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b1 : Symbol(b1, Decl(anyInferenceAnonymousFunctions.ts, 8, 15)) >b2 : Symbol(b2, Decl(anyInferenceAnonymousFunctions.ts, 8, 18)) @@ -27,24 +27,24 @@ paired.reduce((b1, b2) => { } , []); paired.reduce((b3, b4) => b3.concat({}), []); ->paired.reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>paired.reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >paired : Symbol(paired, Decl(anyInferenceAnonymousFunctions.ts, 0, 3)) ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b3 : Symbol(b3, Decl(anyInferenceAnonymousFunctions.ts, 13, 15)) >b4 : Symbol(b4, Decl(anyInferenceAnonymousFunctions.ts, 13, 18)) >b3 : Symbol(b3, Decl(anyInferenceAnonymousFunctions.ts, 13, 15)) paired.map((c1) => c1.count); ->paired.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>paired.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >paired : Symbol(paired, Decl(anyInferenceAnonymousFunctions.ts, 0, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >c1 : Symbol(c1, Decl(anyInferenceAnonymousFunctions.ts, 15, 12)) >c1 : Symbol(c1, Decl(anyInferenceAnonymousFunctions.ts, 15, 12)) paired.map(function (c2) { return c2.count; }); ->paired.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>paired.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >paired : Symbol(paired, Decl(anyInferenceAnonymousFunctions.ts, 0, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >c2 : Symbol(c2, Decl(anyInferenceAnonymousFunctions.ts, 16, 21)) >c2 : Symbol(c2, Decl(anyInferenceAnonymousFunctions.ts, 16, 21)) diff --git a/tests/baselines/reference/apparentTypeSubtyping.symbols b/tests/baselines/reference/apparentTypeSubtyping.symbols index dae469bfc9a..39735afec7f 100644 --- a/tests/baselines/reference/apparentTypeSubtyping.symbols +++ b/tests/baselines/reference/apparentTypeSubtyping.symbols @@ -5,7 +5,7 @@ class Base { >Base : Symbol(Base, Decl(apparentTypeSubtyping.ts, 0, 0)) >U : Symbol(U, Decl(apparentTypeSubtyping.ts, 3, 11)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x: U; >x : Symbol(Base.x, Decl(apparentTypeSubtyping.ts, 3, 30)) @@ -20,7 +20,7 @@ class Derived extends Base { // error x: String; >x : Symbol(Derived.x, Decl(apparentTypeSubtyping.ts, 8, 39)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } class Base2 { @@ -28,18 +28,18 @@ class Base2 { x: String; >x : Symbol(Base2.x, Decl(apparentTypeSubtyping.ts, 12, 13)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) static s: String; >s : Symbol(Base2.s, Decl(apparentTypeSubtyping.ts, 13, 14)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } // is U extends String (S) a subtype of String (T)? Apparent type of U is String so it succeeds class Derived2 extends Base2 { // error because of the prototype's not matching, not because of the instance side >Derived2 : Symbol(Derived2, Decl(apparentTypeSubtyping.ts, 15, 1)) >U : Symbol(U, Decl(apparentTypeSubtyping.ts, 18, 15)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base2 : Symbol(Base2, Decl(apparentTypeSubtyping.ts, 10, 1)) x: U; diff --git a/tests/baselines/reference/apparentTypeSupertype.symbols b/tests/baselines/reference/apparentTypeSupertype.symbols index d572fae2ca7..6d10e77693e 100644 --- a/tests/baselines/reference/apparentTypeSupertype.symbols +++ b/tests/baselines/reference/apparentTypeSupertype.symbols @@ -13,7 +13,7 @@ class Base { class Derived extends Base { // error >Derived : Symbol(Derived, Decl(apparentTypeSupertype.ts, 5, 1)) >U : Symbol(U, Decl(apparentTypeSupertype.ts, 8, 14)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(apparentTypeSupertype.ts, 0, 0)) x: U; diff --git a/tests/baselines/reference/argsInScope.symbols b/tests/baselines/reference/argsInScope.symbols index 1c91e2bdd73..70ccd3d825b 100644 --- a/tests/baselines/reference/argsInScope.symbols +++ b/tests/baselines/reference/argsInScope.symbols @@ -11,9 +11,9 @@ class C { for (var i = 0; i < arguments.length; i++) { >i : Symbol(i, Decl(argsInScope.ts, 2, 15)) >i : Symbol(i, Decl(argsInScope.ts, 2, 15)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(argsInScope.ts, 2, 15)) // WScript.Echo("param: " + arguments[i]); diff --git a/tests/baselines/reference/argumentsAsPropertyName.symbols b/tests/baselines/reference/argumentsAsPropertyName.symbols index 1e3e41abb6e..f55ac5741b6 100644 --- a/tests/baselines/reference/argumentsAsPropertyName.symbols +++ b/tests/baselines/reference/argumentsAsPropertyName.symbols @@ -5,7 +5,7 @@ type MyType = { arguments: Array >arguments : Symbol(arguments, Decl(argumentsAsPropertyName.ts, 1, 15)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } declare function use(s: any); @@ -34,8 +34,8 @@ function myFunction(myType: MyType) { >x : Symbol(x, Decl(argumentsAsPropertyName.ts, 11, 13)) [1, 2, 3].forEach(function(j) { use(x); }) ->[1, 2, 3].forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>[1, 2, 3].forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >j : Symbol(j, Decl(argumentsAsPropertyName.ts, 12, 35)) >use : Symbol(use, Decl(argumentsAsPropertyName.ts, 3, 1)) >x : Symbol(x, Decl(argumentsAsPropertyName.ts, 11, 13)) diff --git a/tests/baselines/reference/argumentsObjectIterator01_ES5.symbols b/tests/baselines/reference/argumentsObjectIterator01_ES5.symbols index 7eb2736b3ea..0e6abeadb8a 100644 --- a/tests/baselines/reference/argumentsObjectIterator01_ES5.symbols +++ b/tests/baselines/reference/argumentsObjectIterator01_ES5.symbols @@ -13,9 +13,9 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe >arguments : Symbol(arguments) result.push(arg + arg); ->result.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>result.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(argumentsObjectIterator01_ES5.ts, 1, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >arg : Symbol(arg, Decl(argumentsObjectIterator01_ES5.ts, 2, 12)) >arg : Symbol(arg, Decl(argumentsObjectIterator01_ES5.ts, 2, 12)) } diff --git a/tests/baselines/reference/argumentsObjectIterator01_ES6.symbols b/tests/baselines/reference/argumentsObjectIterator01_ES6.symbols index d2b53d381e4..aaa7431408b 100644 --- a/tests/baselines/reference/argumentsObjectIterator01_ES6.symbols +++ b/tests/baselines/reference/argumentsObjectIterator01_ES6.symbols @@ -13,9 +13,9 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe >arguments : Symbol(arguments) result.push(arg + arg); ->result.push : Symbol(Array.push, Decl(lib.es6.d.ts, --, --)) +>result.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(argumentsObjectIterator01_ES6.ts, 1, 7)) ->push : Symbol(Array.push, Decl(lib.es6.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >arg : Symbol(arg, Decl(argumentsObjectIterator01_ES6.ts, 2, 12)) >arg : Symbol(arg, Decl(argumentsObjectIterator01_ES6.ts, 2, 12)) } diff --git a/tests/baselines/reference/argumentsObjectIterator02_ES5.symbols b/tests/baselines/reference/argumentsObjectIterator02_ES5.symbols index 0e1af3a76ad..e6bf00161e4 100644 --- a/tests/baselines/reference/argumentsObjectIterator02_ES5.symbols +++ b/tests/baselines/reference/argumentsObjectIterator02_ES5.symbols @@ -17,9 +17,9 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe >blah : Symbol(blah, Decl(argumentsObjectIterator02_ES5.ts, 1, 7)) result.push(arg + arg); ->result.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>result.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(argumentsObjectIterator02_ES5.ts, 3, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >arg : Symbol(arg, Decl(argumentsObjectIterator02_ES5.ts, 4, 12)) >arg : Symbol(arg, Decl(argumentsObjectIterator02_ES5.ts, 4, 12)) } diff --git a/tests/baselines/reference/argumentsObjectIterator02_ES6.symbols b/tests/baselines/reference/argumentsObjectIterator02_ES6.symbols index 9582ff46bcf..1e1f8f120c0 100644 --- a/tests/baselines/reference/argumentsObjectIterator02_ES6.symbols +++ b/tests/baselines/reference/argumentsObjectIterator02_ES6.symbols @@ -8,9 +8,9 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe let blah = arguments[Symbol.iterator]; >blah : Symbol(blah, Decl(argumentsObjectIterator02_ES6.ts, 1, 7)) >arguments : Symbol(arguments) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) let result = []; >result : Symbol(result, Decl(argumentsObjectIterator02_ES6.ts, 3, 7)) @@ -20,9 +20,9 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe >blah : Symbol(blah, Decl(argumentsObjectIterator02_ES6.ts, 1, 7)) result.push(arg + arg); ->result.push : Symbol(Array.push, Decl(lib.es6.d.ts, --, --)) +>result.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(argumentsObjectIterator02_ES6.ts, 3, 7)) ->push : Symbol(Array.push, Decl(lib.es6.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >arg : Symbol(arg, Decl(argumentsObjectIterator02_ES6.ts, 4, 12)) >arg : Symbol(arg, Decl(argumentsObjectIterator02_ES6.ts, 4, 12)) } diff --git a/tests/baselines/reference/argumentsUsedInObjectLiteralProperty.symbols b/tests/baselines/reference/argumentsUsedInObjectLiteralProperty.symbols index 813f9e2f424..6e5651875ea 100644 --- a/tests/baselines/reference/argumentsUsedInObjectLiteralProperty.symbols +++ b/tests/baselines/reference/argumentsUsedInObjectLiteralProperty.symbols @@ -10,9 +10,9 @@ class A { return { selectedValue: arguments.length >selectedValue : Symbol(selectedValue, Decl(argumentsUsedInObjectLiteralProperty.ts, 2, 16)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) }; } diff --git a/tests/baselines/reference/arithmeticOnInvalidTypes.symbols b/tests/baselines/reference/arithmeticOnInvalidTypes.symbols index d78af458a58..23d286285ee 100644 --- a/tests/baselines/reference/arithmeticOnInvalidTypes.symbols +++ b/tests/baselines/reference/arithmeticOnInvalidTypes.symbols @@ -1,11 +1,11 @@ === tests/cases/compiler/arithmeticOnInvalidTypes.ts === var x: Number; >x : Symbol(x, Decl(arithmeticOnInvalidTypes.ts, 0, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var y: Number; >y : Symbol(y, Decl(arithmeticOnInvalidTypes.ts, 1, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var z = x + y; >z : Symbol(z, Decl(arithmeticOnInvalidTypes.ts, 2, 3)) diff --git a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.symbols b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.symbols index 3b2da85bdbe..57b6917cb89 100644 --- a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.symbols +++ b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.symbols @@ -25,7 +25,7 @@ var e: { a: number }; var f: Number; >f : Symbol(f, Decl(arithmeticOperatorWithInvalidOperands.ts, 9, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // All of the below should be an error unless otherwise noted // operator * diff --git a/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.symbols b/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.symbols index 7e55e3c0052..c5ece2c7eb8 100644 --- a/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.symbols +++ b/tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.symbols @@ -10,7 +10,7 @@ var b: string; var c: Object; >c : Symbol(c, Decl(arithmeticOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // operator * var r1a1 = null * a; diff --git a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.symbols b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.symbols index 8275cc2fed4..a0d52b278b6 100644 --- a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.symbols +++ b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.symbols @@ -10,7 +10,7 @@ var b: string; var c: Object; >c : Symbol(c, Decl(arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // operator * var r1a1 = undefined * a; diff --git a/tests/baselines/reference/arityAndOrderCompatibility01.symbols b/tests/baselines/reference/arityAndOrderCompatibility01.symbols index 16c1118738e..13bab3cc679 100644 --- a/tests/baselines/reference/arityAndOrderCompatibility01.symbols +++ b/tests/baselines/reference/arityAndOrderCompatibility01.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts === interface StrNum extends Array { >StrNum : Symbol(StrNum, Decl(arityAndOrderCompatibility01.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) 0: string; >0 : Symbol(StrNum[0], Decl(arityAndOrderCompatibility01.ts, 0, 47)) diff --git a/tests/baselines/reference/arrayAssignmentTest5.symbols b/tests/baselines/reference/arrayAssignmentTest5.symbols index b85fa17ee1e..03b2bb97115 100644 --- a/tests/baselines/reference/arrayAssignmentTest5.symbols +++ b/tests/baselines/reference/arrayAssignmentTest5.symbols @@ -81,9 +81,9 @@ module Test { >tokens : Symbol(ILineTokens.tokens, Decl(arrayAssignmentTest5.ts, 9, 27)) if (tokens.length === 0) { ->tokens.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>tokens.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >tokens : Symbol(tokens, Decl(arrayAssignmentTest5.ts, 22, 15)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) return this.onEnter(line, tokens, offset); // <== this should produce an error since onEnter can not be called with (string, IStateToken[], offset) >this.onEnter : Symbol(Bug.onEnter, Decl(arrayAssignmentTest5.ts, 19, 39)) diff --git a/tests/baselines/reference/arrayAugment.symbols b/tests/baselines/reference/arrayAugment.symbols index 5ba92ca07e1..75479c1fd73 100644 --- a/tests/baselines/reference/arrayAugment.symbols +++ b/tests/baselines/reference/arrayAugment.symbols @@ -1,12 +1,12 @@ === tests/cases/compiler/arrayAugment.ts === interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(arrayAugment.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(arrayAugment.ts, 0, 16)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(arrayAugment.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(arrayAugment.ts, 0, 16)) split: (parts: number) => T[][]; >split : Symbol(Array.split, Decl(arrayAugment.ts, 0, 20)) >parts : Symbol(parts, Decl(arrayAugment.ts, 1, 12)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(arrayAugment.ts, 0, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(arrayAugment.ts, 0, 16)) } var x = ['']; diff --git a/tests/baselines/reference/arrayBufferIsViewNarrowsType.symbols b/tests/baselines/reference/arrayBufferIsViewNarrowsType.symbols index eb7ffe7479e..362fcfb5eb8 100644 --- a/tests/baselines/reference/arrayBufferIsViewNarrowsType.symbols +++ b/tests/baselines/reference/arrayBufferIsViewNarrowsType.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/arrayBufferIsViewNarrowsType.ts === var obj: Object; >obj : Symbol(obj, Decl(arrayBufferIsViewNarrowsType.ts, 0, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) if (ArrayBuffer.isView(obj)) { ->ArrayBuffer.isView : Symbol(ArrayBufferConstructor.isView, Decl(lib.d.ts, --, --)) ->ArrayBuffer : Symbol(ArrayBuffer, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->isView : Symbol(ArrayBufferConstructor.isView, Decl(lib.d.ts, --, --)) +>ArrayBuffer.isView : Symbol(ArrayBufferConstructor.isView, Decl(lib.es5.d.ts, --, --)) +>ArrayBuffer : Symbol(ArrayBuffer, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>isView : Symbol(ArrayBufferConstructor.isView, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(arrayBufferIsViewNarrowsType.ts, 0, 3)) // isView should be a guard that narrows type to ArrayBufferView. var ab: ArrayBufferView = obj; >ab : Symbol(ab, Decl(arrayBufferIsViewNarrowsType.ts, 3, 7)) ->ArrayBufferView : Symbol(ArrayBufferView, Decl(lib.d.ts, --, --)) +>ArrayBufferView : Symbol(ArrayBufferView, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(arrayBufferIsViewNarrowsType.ts, 0, 3)) } diff --git a/tests/baselines/reference/arrayConcat2.symbols b/tests/baselines/reference/arrayConcat2.symbols index daedee6e9c8..7da42f6dfcb 100644 --- a/tests/baselines/reference/arrayConcat2.symbols +++ b/tests/baselines/reference/arrayConcat2.symbols @@ -3,21 +3,21 @@ var a: string[] = []; >a : Symbol(a, Decl(arrayConcat2.ts, 0, 3)) a.concat("hello", 'world'); ->a.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>a.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(arrayConcat2.ts, 0, 3)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) a.concat('Hello'); ->a.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>a.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(arrayConcat2.ts, 0, 3)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var b = new Array(); >b : Symbol(b, Decl(arrayConcat2.ts, 5, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) b.concat('hello'); ->b.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>b.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(arrayConcat2.ts, 5, 3)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/arrayConcat3.symbols b/tests/baselines/reference/arrayConcat3.symbols index 373c8d7041b..309fddf1794 100644 --- a/tests/baselines/reference/arrayConcat3.symbols +++ b/tests/baselines/reference/arrayConcat3.symbols @@ -15,18 +15,18 @@ function doStuff(a: Array>, b: ArrayT1 : Symbol(T1, Decl(arrayConcat3.ts, 2, 34)) >T : Symbol(T, Decl(arrayConcat3.ts, 2, 17)) >a : Symbol(a, Decl(arrayConcat3.ts, 2, 49)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Fn : Symbol(Fn, Decl(arrayConcat3.ts, 0, 0)) >T : Symbol(T, Decl(arrayConcat3.ts, 2, 17)) >b : Symbol(b, Decl(arrayConcat3.ts, 2, 65)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Fn : Symbol(Fn, Decl(arrayConcat3.ts, 0, 0)) >T1 : Symbol(T1, Decl(arrayConcat3.ts, 2, 34)) b.concat(a); ->b.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>b.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(arrayConcat3.ts, 2, 65)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(arrayConcat3.ts, 2, 49)) } diff --git a/tests/baselines/reference/arrayConcatMap.symbols b/tests/baselines/reference/arrayConcatMap.symbols index 5ef9d811723..a01d0f078bf 100644 --- a/tests/baselines/reference/arrayConcatMap.symbols +++ b/tests/baselines/reference/arrayConcatMap.symbols @@ -1,14 +1,14 @@ === tests/cases/compiler/arrayConcatMap.ts === var x = [].concat([{ a: 1 }], [{ a: 2 }]) >x : Symbol(x, Decl(arrayConcatMap.ts, 0, 3)) ->[].concat([{ a: 1 }], [{ a: 2 }]) .map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->[].concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>[].concat([{ a: 1 }], [{ a: 2 }]) .map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>[].concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(arrayConcatMap.ts, 0, 20)) >a : Symbol(a, Decl(arrayConcatMap.ts, 0, 32)) .map(b => b.a); ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(arrayConcatMap.ts, 1, 15)) >b : Symbol(b, Decl(arrayConcatMap.ts, 1, 15)) diff --git a/tests/baselines/reference/arrayConstructors1.symbols b/tests/baselines/reference/arrayConstructors1.symbols index 1c69de79e00..921d4e32181 100644 --- a/tests/baselines/reference/arrayConstructors1.symbols +++ b/tests/baselines/reference/arrayConstructors1.symbols @@ -4,28 +4,28 @@ var x: string[]; x = new Array(1); >x : Symbol(x, Decl(arrayConstructors1.ts, 0, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = new Array('hi', 'bye'); >x : Symbol(x, Decl(arrayConstructors1.ts, 0, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = new Array('hi', 'bye'); >x : Symbol(x, Decl(arrayConstructors1.ts, 0, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var y: number[]; >y : Symbol(y, Decl(arrayConstructors1.ts, 5, 3)) y = new Array(1); >y : Symbol(y, Decl(arrayConstructors1.ts, 5, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) y = new Array(1,2); >y : Symbol(y, Decl(arrayConstructors1.ts, 5, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) y = new Array(1, 2); >y : Symbol(y, Decl(arrayConstructors1.ts, 5, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/arrayFilter.symbols b/tests/baselines/reference/arrayFilter.symbols index cba8f48c89f..b416fa90baa 100644 --- a/tests/baselines/reference/arrayFilter.symbols +++ b/tests/baselines/reference/arrayFilter.symbols @@ -14,9 +14,9 @@ var foo = [ ] foo.filter(x => x.name); //should accepted all possible types not only boolean! ->foo.filter : Symbol(Array.filter, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>foo.filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >foo : Symbol(foo, Decl(arrayFilter.ts, 0, 3)) ->filter : Symbol(Array.filter, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(arrayFilter.ts, 6, 11)) >x.name : Symbol(name, Decl(arrayFilter.ts, 1, 5)) >x : Symbol(x, Decl(arrayFilter.ts, 6, 11)) diff --git a/tests/baselines/reference/arrayFind.symbols b/tests/baselines/reference/arrayFind.symbols index 163d5d818ba..3564f7f3edd 100644 --- a/tests/baselines/reference/arrayFind.symbols +++ b/tests/baselines/reference/arrayFind.symbols @@ -22,7 +22,7 @@ const foundNumber: number | undefined = arrayOfStringsNumbersAndBooleans.find(is const readonlyArrayOfStringsNumbersAndBooleans = arrayOfStringsNumbersAndBooleans as ReadonlyArray; >readonlyArrayOfStringsNumbersAndBooleans : Symbol(readonlyArrayOfStringsNumbersAndBooleans, Decl(arrayFind.ts, 8, 5)) >arrayOfStringsNumbersAndBooleans : Symbol(arrayOfStringsNumbersAndBooleans, Decl(arrayFind.ts, 5, 5)) ->ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) const readonlyFoundNumber: number | undefined = readonlyArrayOfStringsNumbersAndBooleans.find(isNumber); >readonlyFoundNumber : Symbol(readonlyFoundNumber, Decl(arrayFind.ts, 9, 5)) diff --git a/tests/baselines/reference/arrayFrom.symbols b/tests/baselines/reference/arrayFrom.symbols index 4a68122739f..895b648a2a3 100644 --- a/tests/baselines/reference/arrayFrom.symbols +++ b/tests/baselines/reference/arrayFrom.symbols @@ -39,17 +39,17 @@ const inputARand = getEither(inputA, inputALike); const result1: A[] = Array.from(inputA); >result1 : Symbol(result1, Decl(arrayFrom.ts, 16, 5)) >A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >inputA : Symbol(inputA, Decl(arrayFrom.ts, 11, 5)) const result2: A[] = Array.from(inputA.values()); >result2 : Symbol(result2, Decl(arrayFrom.ts, 17, 5)) >A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >inputA.values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) >inputA : Symbol(inputA, Decl(arrayFrom.ts, 11, 5)) >values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) @@ -57,9 +57,9 @@ const result2: A[] = Array.from(inputA.values()); const result3: B[] = Array.from(inputA.values()); // expect error >result3 : Symbol(result3, Decl(arrayFrom.ts, 18, 5)) >B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >inputA.values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) >inputA : Symbol(inputA, Decl(arrayFrom.ts, 11, 5)) >values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) @@ -67,9 +67,9 @@ const result3: B[] = Array.from(inputA.values()); // expect error const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); >result4 : Symbol(result4, Decl(arrayFrom.ts, 19, 5)) >A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >inputB : Symbol(inputB, Decl(arrayFrom.ts, 12, 5)) >b : Symbol(b, Decl(arrayFrom.ts, 19, 42)) >A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) @@ -79,25 +79,25 @@ const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); const result5: A[] = Array.from(inputALike); >result5 : Symbol(result5, Decl(arrayFrom.ts, 20, 5)) >A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >inputALike : Symbol(inputALike, Decl(arrayFrom.ts, 13, 5)) const result6: B[] = Array.from(inputALike); // expect error >result6 : Symbol(result6, Decl(arrayFrom.ts, 21, 5)) >B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >inputALike : Symbol(inputALike, Decl(arrayFrom.ts, 13, 5)) const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); >result7 : Symbol(result7, Decl(arrayFrom.ts, 22, 5)) >B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >inputALike : Symbol(inputALike, Decl(arrayFrom.ts, 13, 5)) >a : Symbol(a, Decl(arrayFrom.ts, 22, 46)) >B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) @@ -107,17 +107,17 @@ const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); const result8: A[] = Array.from(inputARand); >result8 : Symbol(result8, Decl(arrayFrom.ts, 23, 5)) >A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >inputARand : Symbol(inputARand, Decl(arrayFrom.ts, 14, 5)) const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); >result9 : Symbol(result9, Decl(arrayFrom.ts, 24, 5)) >B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >inputARand : Symbol(inputARand, Decl(arrayFrom.ts, 14, 5)) >a : Symbol(a, Decl(arrayFrom.ts, 24, 46)) >B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) @@ -139,7 +139,7 @@ function getEither (in1: Iterable, in2: ArrayLike) { return Math.random() > 0.5 ? in1 : in2; >Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >in1 : Symbol(in1, Decl(arrayFrom.ts, 29, 23)) >in2 : Symbol(in2, Decl(arrayFrom.ts, 29, 40)) diff --git a/tests/baselines/reference/arrayFrom.types b/tests/baselines/reference/arrayFrom.types index f6a04dc4423..b833fd0dc01 100644 --- a/tests/baselines/reference/arrayFrom.types +++ b/tests/baselines/reference/arrayFrom.types @@ -45,18 +45,18 @@ const result1: A[] = Array.from(inputA); >result1 : A[] >A : A >Array.from(inputA) : A[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >inputA : A[] const result2: A[] = Array.from(inputA.values()); >result2 : A[] >A : A >Array.from(inputA.values()) : A[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >inputA.values() : IterableIterator >inputA.values : () => IterableIterator >inputA : A[] @@ -66,9 +66,9 @@ const result3: B[] = Array.from(inputA.values()); // expect error >result3 : B[] >B : B >Array.from(inputA.values()) : A[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >inputA.values() : IterableIterator >inputA.values : () => IterableIterator >inputA : A[] @@ -78,9 +78,9 @@ const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); >result4 : A[] >A : A >Array.from(inputB, ({ b }): A => ({ a: b })) : A[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >inputB : B[] >({ b }): A => ({ a: b }) : ({ b }: B) => A >b : string @@ -94,27 +94,27 @@ const result5: A[] = Array.from(inputALike); >result5 : A[] >A : A >Array.from(inputALike) : A[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >inputALike : ArrayLike const result6: B[] = Array.from(inputALike); // expect error >result6 : B[] >B : B >Array.from(inputALike) : A[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >inputALike : ArrayLike const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); >result7 : B[] >B : B >Array.from(inputALike, ({ a }): B => ({ b: a })) : B[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >inputALike : ArrayLike >({ a }): B => ({ b: a }) : ({ a }: A) => B >a : string @@ -128,18 +128,18 @@ const result8: A[] = Array.from(inputARand); >result8 : A[] >A : A >Array.from(inputARand) : A[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >inputARand : ArrayLike | Iterable const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); >result9 : B[] >B : B >Array.from(inputARand, ({ a }): B => ({ b: a })) : B[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >inputARand : ArrayLike | Iterable >({ a }): B => ({ b: a }) : ({ a }: A) => B >a : string diff --git a/tests/baselines/reference/arrayLiteral.symbols b/tests/baselines/reference/arrayLiteral.symbols index 17c8ed019b5..269bb7cbe1a 100644 --- a/tests/baselines/reference/arrayLiteral.symbols +++ b/tests/baselines/reference/arrayLiteral.symbols @@ -6,7 +6,7 @@ var x = []; var x = new Array(1); >x : Symbol(x, Decl(arrayLiteral.ts, 2, 3), Decl(arrayLiteral.ts, 3, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var y = [1]; >y : Symbol(y, Decl(arrayLiteral.ts, 5, 3), Decl(arrayLiteral.ts, 6, 3), Decl(arrayLiteral.ts, 7, 3)) @@ -16,14 +16,14 @@ var y = [1, 2]; var y = new Array(); >y : Symbol(y, Decl(arrayLiteral.ts, 5, 3), Decl(arrayLiteral.ts, 6, 3), Decl(arrayLiteral.ts, 7, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var x2: number[] = []; >x2 : Symbol(x2, Decl(arrayLiteral.ts, 9, 3), Decl(arrayLiteral.ts, 10, 3)) var x2: number[] = new Array(1); >x2 : Symbol(x2, Decl(arrayLiteral.ts, 9, 3), Decl(arrayLiteral.ts, 10, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var y2: number[] = [1]; >y2 : Symbol(y2, Decl(arrayLiteral.ts, 12, 3), Decl(arrayLiteral.ts, 13, 3), Decl(arrayLiteral.ts, 14, 3)) @@ -33,5 +33,5 @@ var y2: number[] = [1, 2]; var y2: number[] = new Array(); >y2 : Symbol(y2, Decl(arrayLiteral.ts, 12, 3), Decl(arrayLiteral.ts, 13, 3), Decl(arrayLiteral.ts, 14, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.symbols b/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.symbols index dbe484bcf0f..727fc130741 100644 --- a/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.symbols +++ b/tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.symbols @@ -1,19 +1,19 @@ === tests/cases/compiler/arrayLiteralAndArrayConstructorEquivalence1.ts === var myCars=new Array(); >myCars : Symbol(myCars, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 0, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var myCars3 = new Array({}); >myCars3 : Symbol(myCars3, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 1, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var myCars4: Array; // error >myCars4 : Symbol(myCars4, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 2, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var myCars5: Array[]; >myCars5 : Symbol(myCars5, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 3, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) myCars = myCars3; >myCars : Symbol(myCars, Decl(arrayLiteralAndArrayConstructorEquivalence1.ts, 0, 3)) diff --git a/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.symbols b/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.symbols index 1d47bf26493..81209306f33 100644 --- a/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.symbols +++ b/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.symbols @@ -35,14 +35,14 @@ var cs = [a, b, c]; // { x: number; y?: number };[] var ds = [(x: Object) => 1, (x: string) => 2]; // { (x:Object) => number }[] >ds : Symbol(ds, Decl(arrayLiteralWithMultipleBestCommonTypes.ts, 10, 3)) >x : Symbol(x, Decl(arrayLiteralWithMultipleBestCommonTypes.ts, 10, 11)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(arrayLiteralWithMultipleBestCommonTypes.ts, 10, 29)) var es = [(x: string) => 2, (x: Object) => 1]; // { (x:string) => number }[] >es : Symbol(es, Decl(arrayLiteralWithMultipleBestCommonTypes.ts, 11, 3)) >x : Symbol(x, Decl(arrayLiteralWithMultipleBestCommonTypes.ts, 11, 11)) >x : Symbol(x, Decl(arrayLiteralWithMultipleBestCommonTypes.ts, 11, 29)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var fs = [(a: { x: number; y?: number }) => 1, (b: { x: number; z?: number }) => 2]; // (a: { x: number; y?: number }) => number[] >fs : Symbol(fs, Decl(arrayLiteralWithMultipleBestCommonTypes.ts, 12, 3)) diff --git a/tests/baselines/reference/arrayLiterals.symbols b/tests/baselines/reference/arrayLiterals.symbols index 0e45eaf54cf..707641173d3 100644 --- a/tests/baselines/reference/arrayLiterals.symbols +++ b/tests/baselines/reference/arrayLiterals.symbols @@ -38,7 +38,7 @@ var classTypeArray = [C, C, C]; var classTypeArray: Array; // Should OK, not be a parse error >classTypeArray : Symbol(classTypeArray, Decl(arrayLiterals.ts, 19, 3), Decl(arrayLiterals.ts, 20, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >C : Symbol(C, Decl(arrayLiterals.ts, 14, 41)) // Contextual type C with numeric index signature makes array literal of EveryType E of type BCT(E,C)[] diff --git a/tests/baselines/reference/arrayLiterals2ES5.symbols b/tests/baselines/reference/arrayLiterals2ES5.symbols index eea3c78bfc0..43e67d5664a 100644 --- a/tests/baselines/reference/arrayLiterals2ES5.symbols +++ b/tests/baselines/reference/arrayLiterals2ES5.symbols @@ -80,14 +80,14 @@ var temp4 = []; interface myArray extends Array { } >myArray : Symbol(myArray, Decl(arrayLiterals2ES5.ts, 42, 15)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) interface myArray2 extends Array { } >myArray2 : Symbol(myArray2, Decl(arrayLiterals2ES5.ts, 44, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var d0 = [1, true, ...temp,]; // has type (string|number|boolean)[] >d0 : Symbol(d0, Decl(arrayLiterals2ES5.ts, 46, 3)) diff --git a/tests/baselines/reference/arrayLiterals2ES6.symbols b/tests/baselines/reference/arrayLiterals2ES6.symbols index d11c61e5378..5186ea2b0f3 100644 --- a/tests/baselines/reference/arrayLiterals2ES6.symbols +++ b/tests/baselines/reference/arrayLiterals2ES6.symbols @@ -72,14 +72,14 @@ var temp2: [number[], string[]] = [[1, 2, 3], ["hello", "string"]]; interface myArray extends Array { } >myArray : Symbol(myArray, Decl(arrayLiterals2ES6.ts, 40, 67)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) interface myArray2 extends Array { } >myArray2 : Symbol(myArray2, Decl(arrayLiterals2ES6.ts, 42, 43)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->String : Symbol(String, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 1 more) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) var d0 = [1, true, ...temp, ]; // has type (string|number|boolean)[] >d0 : Symbol(d0, Decl(arrayLiterals2ES6.ts, 44, 3)) diff --git a/tests/baselines/reference/arrayLiterals3.symbols b/tests/baselines/reference/arrayLiterals3.symbols index d1773ef97d7..b776ef43e88 100644 --- a/tests/baselines/reference/arrayLiterals3.symbols +++ b/tests/baselines/reference/arrayLiterals3.symbols @@ -45,14 +45,14 @@ interface tup { } interface myArray extends Array { } >myArray : Symbol(myArray, Decl(arrayLiterals3.ts, 28, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) interface myArray2 extends Array { } >myArray2 : Symbol(myArray2, Decl(arrayLiterals3.ts, 29, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var c0: tup = [...temp2]; // Error >c0 : Symbol(c0, Decl(arrayLiterals3.ts, 31, 3)) diff --git a/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.symbols b/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.symbols index 4c466f029ef..cd1be6c6aa6 100644 --- a/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.symbols +++ b/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.symbols @@ -11,7 +11,7 @@ class B extends A { b } class C extends Array { c } >C : Symbol(C, Decl(arrayOfSubtypeIsAssignableToReadonlyArray.ts, 1, 23)) >T : Symbol(T, Decl(arrayOfSubtypeIsAssignableToReadonlyArray.ts, 2, 8)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(arrayOfSubtypeIsAssignableToReadonlyArray.ts, 2, 8)) >c : Symbol(C.c, Decl(arrayOfSubtypeIsAssignableToReadonlyArray.ts, 2, 29)) @@ -35,12 +35,12 @@ declare var crb: C; declare var rra: ReadonlyArray; >rra : Symbol(rra, Decl(arrayOfSubtypeIsAssignableToReadonlyArray.ts, 7, 11)) ->ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.d.ts, --, --)) +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --)) >A : Symbol(A, Decl(arrayOfSubtypeIsAssignableToReadonlyArray.ts, 0, 0)) declare var rrb: ReadonlyArray; >rrb : Symbol(rrb, Decl(arrayOfSubtypeIsAssignableToReadonlyArray.ts, 8, 11)) ->ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.d.ts, --, --)) +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --)) >B : Symbol(B, Decl(arrayOfSubtypeIsAssignableToReadonlyArray.ts, 0, 13)) rra = ara; diff --git a/tests/baselines/reference/arrayReferenceWithoutTypeArgs.symbols b/tests/baselines/reference/arrayReferenceWithoutTypeArgs.symbols index b4f845f52e0..58854242d11 100644 --- a/tests/baselines/reference/arrayReferenceWithoutTypeArgs.symbols +++ b/tests/baselines/reference/arrayReferenceWithoutTypeArgs.symbols @@ -5,5 +5,5 @@ class X { public f(a: Array) { } >f : Symbol(X.f, Decl(arrayReferenceWithoutTypeArgs.ts, 0, 9)) >a : Symbol(a, Decl(arrayReferenceWithoutTypeArgs.ts, 1, 13)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/arraySigChecking.symbols b/tests/baselines/reference/arraySigChecking.symbols index a692f78c53a..709cf7c3652 100644 --- a/tests/baselines/reference/arraySigChecking.symbols +++ b/tests/baselines/reference/arraySigChecking.symbols @@ -65,11 +65,11 @@ isEmpty([]); isEmpty(new Array(3)); >isEmpty : Symbol(isEmpty, Decl(arraySigChecking.ts, 21, 19)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) isEmpty(new Array(3)); >isEmpty : Symbol(isEmpty, Decl(arraySigChecking.ts, 21, 19)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) isEmpty(['a']); >isEmpty : Symbol(isEmpty, Decl(arraySigChecking.ts, 21, 19)) diff --git a/tests/baselines/reference/arraySlice.symbols b/tests/baselines/reference/arraySlice.symbols index 3b6545f9349..a603a39c254 100644 --- a/tests/baselines/reference/arraySlice.symbols +++ b/tests/baselines/reference/arraySlice.symbols @@ -3,7 +3,7 @@ var arr: string[] | number[]; >arr : Symbol(arr, Decl(arraySlice.ts, 0, 3)) arr.splice(1, 1); ->arr.splice : Symbol(splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>arr.splice : Symbol(splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >arr : Symbol(arr, Decl(arraySlice.ts, 0, 3)) ->splice : Symbol(splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>splice : Symbol(splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/arrayTypeOfFunctionTypes.symbols b/tests/baselines/reference/arrayTypeOfFunctionTypes.symbols index ecd1501c662..74497ceceef 100644 --- a/tests/baselines/reference/arrayTypeOfFunctionTypes.symbols +++ b/tests/baselines/reference/arrayTypeOfFunctionTypes.symbols @@ -33,7 +33,7 @@ var r4b = new r3(); // error var x3: Array<() => string>; >x3 : Symbol(x3, Decl(arrayTypeOfFunctionTypes.ts, 12, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r5 = x2[1]; >r5 : Symbol(r5, Decl(arrayTypeOfFunctionTypes.ts, 13, 3)) diff --git a/tests/baselines/reference/arrayTypeOfFunctionTypes2.symbols b/tests/baselines/reference/arrayTypeOfFunctionTypes2.symbols index 545546dd849..ddf37ac26d3 100644 --- a/tests/baselines/reference/arrayTypeOfFunctionTypes2.symbols +++ b/tests/baselines/reference/arrayTypeOfFunctionTypes2.symbols @@ -33,7 +33,7 @@ var r4b = new r3(); var x3: Array string>; >x3 : Symbol(x3, Decl(arrayTypeOfFunctionTypes2.ts, 12, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r5 = x2[1]; >r5 : Symbol(r5, Decl(arrayTypeOfFunctionTypes2.ts, 13, 3)) diff --git a/tests/baselines/reference/arrayTypeOfTypeOf.symbols b/tests/baselines/reference/arrayTypeOfTypeOf.symbols index b86f680b80d..81c99307f1a 100644 --- a/tests/baselines/reference/arrayTypeOfTypeOf.symbols +++ b/tests/baselines/reference/arrayTypeOfTypeOf.symbols @@ -10,14 +10,14 @@ var xs: typeof x[]; // Not an error. This is equivalent to Array var xs2: typeof Array; >xs2 : Symbol(xs2, Decl(arrayTypeOfTypeOf.ts, 4, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var xs3: typeof Array; >xs3 : Symbol(xs3, Decl(arrayTypeOfTypeOf.ts, 5, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var xs4: typeof Array; >xs4 : Symbol(xs4, Decl(arrayTypeOfTypeOf.ts, 6, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(arrayTypeOfTypeOf.ts, 2, 3)) diff --git a/tests/baselines/reference/arrayconcat.symbols b/tests/baselines/reference/arrayconcat.symbols index 74cc7ef06c1..c3aa108041d 100644 --- a/tests/baselines/reference/arrayconcat.symbols +++ b/tests/baselines/reference/arrayconcat.symbols @@ -39,29 +39,29 @@ class parser { >this.options : Symbol(parser.options, Decl(arrayconcat.ts, 10, 14)) >this : Symbol(parser, Decl(arrayconcat.ts, 8, 1)) >options : Symbol(parser.options, Decl(arrayconcat.ts, 10, 14)) ->this.options.sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>this.options.sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) >this.options : Symbol(parser.options, Decl(arrayconcat.ts, 10, 14)) >this : Symbol(parser, Decl(arrayconcat.ts, 8, 1)) >options : Symbol(parser.options, Decl(arrayconcat.ts, 10, 14)) ->sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(arrayconcat.ts, 14, 44)) >b : Symbol(b, Decl(arrayconcat.ts, 14, 46)) var aName = a.name.toLowerCase(); >aName : Symbol(aName, Decl(arrayconcat.ts, 15, 15)) ->a.name.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>a.name.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >a.name : Symbol(IOptions.name, Decl(arrayconcat.ts, 0, 20)) >a : Symbol(a, Decl(arrayconcat.ts, 14, 44)) >name : Symbol(IOptions.name, Decl(arrayconcat.ts, 0, 20)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) var bName = b.name.toLowerCase(); >bName : Symbol(bName, Decl(arrayconcat.ts, 16, 15)) ->b.name.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>b.name.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >b.name : Symbol(IOptions.name, Decl(arrayconcat.ts, 0, 20)) >b : Symbol(b, Decl(arrayconcat.ts, 14, 46)) >name : Symbol(IOptions.name, Decl(arrayconcat.ts, 0, 20)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) if (aName > bName) { >aName : Symbol(aName, Decl(arrayconcat.ts, 15, 15)) diff --git a/tests/baselines/reference/arrowFunctionContexts.symbols b/tests/baselines/reference/arrowFunctionContexts.symbols index b93929dee59..a3dcefa1ce8 100644 --- a/tests/baselines/reference/arrowFunctionContexts.symbols +++ b/tests/baselines/reference/arrowFunctionContexts.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts === // Arrow function used in with statement with (window) { ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) var p = () => this; } @@ -27,9 +27,9 @@ class Derived extends Base { // Arrow function as function argument window.setTimeout(() => null, 100); ->window.setTimeout : Symbol(WindowTimers.setTimeout, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) ->setTimeout : Symbol(WindowTimers.setTimeout, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>window.setTimeout : Symbol(WindowTimers.setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>setTimeout : Symbol(WindowTimers.setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) // Arrow function as value in array literal @@ -58,8 +58,8 @@ enum E { y = (() => this).length // error, can't use this in enum >y : Symbol(E.y, Decl(arrowFunctionContexts.ts, 29, 16)) ->(() => this).length : Symbol(Function.length, Decl(lib.d.ts, --, --)) ->length : Symbol(Function.length, Decl(lib.d.ts, --, --)) +>(() => this).length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) } // Arrow function as module variable initializer @@ -82,7 +82,7 @@ module M2 { // Arrow function used in with statement with (window) { ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) var p = () => this; } @@ -108,9 +108,9 @@ module M2 { // Arrow function as function argument window.setTimeout(() => null, 100); ->window.setTimeout : Symbol(WindowTimers.setTimeout, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) ->setTimeout : Symbol(WindowTimers.setTimeout, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>window.setTimeout : Symbol(WindowTimers.setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>setTimeout : Symbol(WindowTimers.setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) // Arrow function as value in array literal @@ -139,8 +139,8 @@ module M2 { y = (() => this).length >y : Symbol(E.y, Decl(arrowFunctionContexts.ts, 70, 20)) ->(() => this).length : Symbol(Function.length, Decl(lib.d.ts, --, --)) ->length : Symbol(Function.length, Decl(lib.d.ts, --, --)) +>(() => this).length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) } // Arrow function as module variable initializer diff --git a/tests/baselines/reference/arrowFunctionExpressions.symbols b/tests/baselines/reference/arrowFunctionExpressions.symbols index 028d57084a2..7680553edb2 100644 --- a/tests/baselines/reference/arrowFunctionExpressions.symbols +++ b/tests/baselines/reference/arrowFunctionExpressions.symbols @@ -3,16 +3,16 @@ var a = (p: string) => p.length; >a : Symbol(a, Decl(arrowFunctionExpressions.ts, 1, 3), Decl(arrowFunctionExpressions.ts, 2, 3)) >p : Symbol(p, Decl(arrowFunctionExpressions.ts, 1, 9)) ->p.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>p.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(arrowFunctionExpressions.ts, 1, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) var a = (p: string) => { return p.length; } >a : Symbol(a, Decl(arrowFunctionExpressions.ts, 1, 3), Decl(arrowFunctionExpressions.ts, 2, 3)) >p : Symbol(p, Decl(arrowFunctionExpressions.ts, 2, 9)) ->p.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>p.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(arrowFunctionExpressions.ts, 2, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // Identifier => Block is equivalent to(Identifier) => Block var b = j => { return 0; } @@ -147,9 +147,9 @@ function someFn() { >n : Symbol(n, Decl(arrowFunctionExpressions.ts, 45, 15)) arr(3)(4).toExponential(); ->arr(3)(4).toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>arr(3)(4).toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >arr : Symbol(arr, Decl(arrowFunctionExpressions.ts, 45, 7)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) } // Arrow function used in function @@ -162,9 +162,9 @@ function someOtherFn() { >n : Symbol(n, Decl(arrowFunctionExpressions.ts, 51, 15)) arr(4).charAt(0); ->arr(4).charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>arr(4).charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >arr : Symbol(arr, Decl(arrowFunctionExpressions.ts, 51, 7)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) } // Arrow function used in nested function in function @@ -222,9 +222,9 @@ function someOuterFn() { >innerFn : Symbol(innerFn, Decl(arrowFunctionExpressions.ts, 77, 30)) return () => n.length; ->n.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>n.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(arrowFunctionExpressions.ts, 77, 15)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } return innerFn; >innerFn : Symbol(innerFn, Decl(arrowFunctionExpressions.ts, 77, 30)) @@ -237,9 +237,9 @@ var h = someOuterFn()('')()(); >someOuterFn : Symbol(someOuterFn, Decl(arrowFunctionExpressions.ts, 72, 14)) h.toExponential(); ->h.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>h.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >h : Symbol(h, Decl(arrowFunctionExpressions.ts, 85, 3)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) // Arrow function used in try/catch/finally in function function tryCatchFn() { diff --git a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.symbols b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.symbols index aa2f19c1f60..763c04dcbd5 100644 --- a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.symbols +++ b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.symbols @@ -1,13 +1,13 @@ === tests/cases/compiler/arrowFunctionWithObjectLiteralBody5.ts === var a = () => { name: "foo", message: "bar" }; >a : Symbol(a, Decl(arrowFunctionWithObjectLiteralBody5.ts, 0, 3)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(arrowFunctionWithObjectLiteralBody5.ts, 0, 22)) >message : Symbol(message, Decl(arrowFunctionWithObjectLiteralBody5.ts, 0, 35)) var b = () => ({ name: "foo", message: "bar" }); >b : Symbol(b, Decl(arrowFunctionWithObjectLiteralBody5.ts, 2, 3)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(arrowFunctionWithObjectLiteralBody5.ts, 2, 23)) >message : Symbol(message, Decl(arrowFunctionWithObjectLiteralBody5.ts, 2, 36)) @@ -18,7 +18,7 @@ var c = () => ({ name: "foo", message: "bar" }); var d = () => ((({ name: "foo", message: "bar" }))); >d : Symbol(d, Decl(arrowFunctionWithObjectLiteralBody5.ts, 6, 3)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(arrowFunctionWithObjectLiteralBody5.ts, 6, 25)) >message : Symbol(message, Decl(arrowFunctionWithObjectLiteralBody5.ts, 6, 38)) diff --git a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody6.symbols b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody6.symbols index e435aae68e0..534f9cc1ea0 100644 --- a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody6.symbols +++ b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody6.symbols @@ -1,13 +1,13 @@ === tests/cases/compiler/arrowFunctionWithObjectLiteralBody6.ts === var a = () => { name: "foo", message: "bar" }; >a : Symbol(a, Decl(arrowFunctionWithObjectLiteralBody6.ts, 0, 3)) ->Error : Symbol(Error, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(arrowFunctionWithObjectLiteralBody6.ts, 0, 22)) >message : Symbol(message, Decl(arrowFunctionWithObjectLiteralBody6.ts, 0, 35)) var b = () => ({ name: "foo", message: "bar" }); >b : Symbol(b, Decl(arrowFunctionWithObjectLiteralBody6.ts, 2, 3)) ->Error : Symbol(Error, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(arrowFunctionWithObjectLiteralBody6.ts, 2, 23)) >message : Symbol(message, Decl(arrowFunctionWithObjectLiteralBody6.ts, 2, 36)) @@ -18,7 +18,7 @@ var c = () => ({ name: "foo", message: "bar" }); var d = () => ((({ name: "foo", message: "bar" }))); >d : Symbol(d, Decl(arrowFunctionWithObjectLiteralBody6.ts, 6, 3)) ->Error : Symbol(Error, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(arrowFunctionWithObjectLiteralBody6.ts, 6, 25)) >message : Symbol(message, Decl(arrowFunctionWithObjectLiteralBody6.ts, 6, 38)) diff --git a/tests/baselines/reference/asOperator1.symbols b/tests/baselines/reference/asOperator1.symbols index 4fa95489ea9..395dfba5fc4 100644 --- a/tests/baselines/reference/asOperator1.symbols +++ b/tests/baselines/reference/asOperator1.symbols @@ -8,12 +8,12 @@ var x = undefined as number; var y = (null as string).length; >y : Symbol(y, Decl(asOperator1.ts, 2, 3)) ->(null as string).length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>(null as string).length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) var z = Date as any as string; >z : Symbol(z, Decl(asOperator1.ts, 3, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) // Should parse as a union type, not a bitwise 'or' of (32 as number) and 'string' var j = 32 as number|string; diff --git a/tests/baselines/reference/assignFromBooleanInterface.symbols b/tests/baselines/reference/assignFromBooleanInterface.symbols index a9f747cab0b..c0f790bb92f 100644 --- a/tests/baselines/reference/assignFromBooleanInterface.symbols +++ b/tests/baselines/reference/assignFromBooleanInterface.symbols @@ -4,7 +4,7 @@ var x = true; var a: Boolean; >a : Symbol(a, Decl(assignFromBooleanInterface.ts, 1, 3)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = a; >x : Symbol(x, Decl(assignFromBooleanInterface.ts, 0, 3)) diff --git a/tests/baselines/reference/assignFromBooleanInterface2.symbols b/tests/baselines/reference/assignFromBooleanInterface2.symbols index 2bc7c3cf289..47f527681d8 100644 --- a/tests/baselines/reference/assignFromBooleanInterface2.symbols +++ b/tests/baselines/reference/assignFromBooleanInterface2.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface2.ts === interface Boolean { ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(assignFromBooleanInterface2.ts, 0, 0)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(assignFromBooleanInterface2.ts, 0, 0)) doStuff(): string; >doStuff : Symbol(Boolean.doStuff, Decl(assignFromBooleanInterface2.ts, 0, 19)) @@ -18,7 +18,7 @@ var x = true; var a: Boolean; >a : Symbol(a, Decl(assignFromBooleanInterface2.ts, 9, 3)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(assignFromBooleanInterface2.ts, 0, 0)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(assignFromBooleanInterface2.ts, 0, 0)) var b: NotBoolean; >b : Symbol(b, Decl(assignFromBooleanInterface2.ts, 10, 3)) diff --git a/tests/baselines/reference/assignFromNumberInterface.symbols b/tests/baselines/reference/assignFromNumberInterface.symbols index 06485958aab..41893f7c1e4 100644 --- a/tests/baselines/reference/assignFromNumberInterface.symbols +++ b/tests/baselines/reference/assignFromNumberInterface.symbols @@ -4,7 +4,7 @@ var x = 1; var a: Number; >a : Symbol(a, Decl(assignFromNumberInterface.ts, 1, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = a; >x : Symbol(x, Decl(assignFromNumberInterface.ts, 0, 3)) diff --git a/tests/baselines/reference/assignFromNumberInterface2.symbols b/tests/baselines/reference/assignFromNumberInterface2.symbols index 45bc0762b30..adaea640b31 100644 --- a/tests/baselines/reference/assignFromNumberInterface2.symbols +++ b/tests/baselines/reference/assignFromNumberInterface2.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts === interface Number { ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(assignFromNumberInterface2.ts, 0, 0)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(assignFromNumberInterface2.ts, 0, 0)) doStuff(): string; >doStuff : Symbol(Number.doStuff, Decl(assignFromNumberInterface2.ts, 0, 18)) @@ -37,7 +37,7 @@ var x = 1; var a: Number; >a : Symbol(a, Decl(assignFromNumberInterface2.ts, 14, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(assignFromNumberInterface2.ts, 0, 0)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(assignFromNumberInterface2.ts, 0, 0)) var b: NotNumber; >b : Symbol(b, Decl(assignFromNumberInterface2.ts, 15, 3)) diff --git a/tests/baselines/reference/assignFromStringInterface.symbols b/tests/baselines/reference/assignFromStringInterface.symbols index 348c237ca1f..1bf0e9e5f53 100644 --- a/tests/baselines/reference/assignFromStringInterface.symbols +++ b/tests/baselines/reference/assignFromStringInterface.symbols @@ -4,7 +4,7 @@ var x = ''; var a: String; >a : Symbol(a, Decl(assignFromStringInterface.ts, 1, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = a; >x : Symbol(x, Decl(assignFromStringInterface.ts, 0, 3)) diff --git a/tests/baselines/reference/assignFromStringInterface2.symbols b/tests/baselines/reference/assignFromStringInterface2.symbols index 88fd673c708..c050922bc98 100644 --- a/tests/baselines/reference/assignFromStringInterface2.symbols +++ b/tests/baselines/reference/assignFromStringInterface2.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts === interface String { ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(assignFromStringInterface2.ts, 0, 0)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(assignFromStringInterface2.ts, 0, 0)) doStuff(): string; >doStuff : Symbol(String.doStuff, Decl(assignFromStringInterface2.ts, 0, 18)) @@ -48,7 +48,7 @@ interface NotString { match(regexp: RegExp): string[]; >match : Symbol(NotString.match, Decl(assignFromStringInterface2.ts, 12, 40), Decl(assignFromStringInterface2.ts, 13, 36)) >regexp : Symbol(regexp, Decl(assignFromStringInterface2.ts, 14, 10)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) replace(searchValue: string, replaceValue: string): string; >replace : Symbol(NotString.replace, Decl(assignFromStringInterface2.ts, 14, 36), Decl(assignFromStringInterface2.ts, 15, 63), Decl(assignFromStringInterface2.ts, 16, 102), Decl(assignFromStringInterface2.ts, 17, 63)) @@ -65,13 +65,13 @@ interface NotString { replace(searchValue: RegExp, replaceValue: string): string; >replace : Symbol(NotString.replace, Decl(assignFromStringInterface2.ts, 14, 36), Decl(assignFromStringInterface2.ts, 15, 63), Decl(assignFromStringInterface2.ts, 16, 102), Decl(assignFromStringInterface2.ts, 17, 63)) >searchValue : Symbol(searchValue, Decl(assignFromStringInterface2.ts, 17, 12)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >replaceValue : Symbol(replaceValue, Decl(assignFromStringInterface2.ts, 17, 32)) replace(searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : Symbol(NotString.replace, Decl(assignFromStringInterface2.ts, 14, 36), Decl(assignFromStringInterface2.ts, 15, 63), Decl(assignFromStringInterface2.ts, 16, 102), Decl(assignFromStringInterface2.ts, 17, 63)) >searchValue : Symbol(searchValue, Decl(assignFromStringInterface2.ts, 18, 12)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >replaceValue : Symbol(replaceValue, Decl(assignFromStringInterface2.ts, 18, 32)) >substring : Symbol(substring, Decl(assignFromStringInterface2.ts, 18, 48)) >args : Symbol(args, Decl(assignFromStringInterface2.ts, 18, 66)) @@ -83,7 +83,7 @@ interface NotString { search(regexp: RegExp): number; >search : Symbol(NotString.search, Decl(assignFromStringInterface2.ts, 18, 102), Decl(assignFromStringInterface2.ts, 19, 35)) >regexp : Symbol(regexp, Decl(assignFromStringInterface2.ts, 20, 11)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) slice(start?: number, end?: number): string; >slice : Symbol(NotString.slice, Decl(assignFromStringInterface2.ts, 20, 35)) @@ -98,7 +98,7 @@ interface NotString { split(separator: RegExp, limit?: number): string[]; >split : Symbol(NotString.split, Decl(assignFromStringInterface2.ts, 21, 48), Decl(assignFromStringInterface2.ts, 22, 55)) >separator : Symbol(separator, Decl(assignFromStringInterface2.ts, 23, 10)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >limit : Symbol(limit, Decl(assignFromStringInterface2.ts, 23, 28)) substring(start: number, end?: number): string; @@ -141,7 +141,7 @@ var x = ''; var a: String; >a : Symbol(a, Decl(assignFromStringInterface2.ts, 37, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(assignFromStringInterface2.ts, 0, 0)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(assignFromStringInterface2.ts, 0, 0)) var b: NotString; >b : Symbol(b, Decl(assignFromStringInterface2.ts, 38, 3)) diff --git a/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.symbols b/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.symbols index 19dac44b30c..780995f62ec 100644 --- a/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.symbols +++ b/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/assignLambdaToNominalSubtypeOfFunction.ts === interface IResultCallback extends Function { >IResultCallback : Symbol(IResultCallback, Decl(assignLambdaToNominalSubtypeOfFunction.ts, 0, 0)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x: number; >x : Symbol(IResultCallback.x, Decl(assignLambdaToNominalSubtypeOfFunction.ts, 0, 44)) diff --git a/tests/baselines/reference/assigningFromObjectToAnythingElse.symbols b/tests/baselines/reference/assigningFromObjectToAnythingElse.symbols index ed085701932..057e193fe81 100644 --- a/tests/baselines/reference/assigningFromObjectToAnythingElse.symbols +++ b/tests/baselines/reference/assigningFromObjectToAnythingElse.symbols @@ -1,11 +1,11 @@ === tests/cases/compiler/assigningFromObjectToAnythingElse.ts === var x: Object; >x : Symbol(x, Decl(assigningFromObjectToAnythingElse.ts, 0, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var y: RegExp; >y : Symbol(y, Decl(assigningFromObjectToAnythingElse.ts, 1, 3)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) y = x; >y : Symbol(y, Decl(assigningFromObjectToAnythingElse.ts, 1, 3)) @@ -13,22 +13,22 @@ y = x; var a: String = Object.create(""); >a : Symbol(a, Decl(assigningFromObjectToAnythingElse.ts, 4, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var c: String = Object.create(1); >c : Symbol(c, Decl(assigningFromObjectToAnythingElse.ts, 5, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var w: Error = new Object(); >w : Symbol(w, Decl(assigningFromObjectToAnythingElse.ts, 7, 3)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/assignmentCompatBug3.symbols b/tests/baselines/reference/assignmentCompatBug3.symbols index 6545195d4b8..fee72b360df 100644 --- a/tests/baselines/reference/assignmentCompatBug3.symbols +++ b/tests/baselines/reference/assignmentCompatBug3.symbols @@ -19,9 +19,9 @@ function makePoint(x: number, y: number) { >dist : Symbol(dist, Decl(assignmentCompatBug3.ts, 3, 29)) return Math.sqrt(x*x+y*y); // shouldn't be picking up "x" and "y" from the object lit ->Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) +>Math.sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(assignmentCompatBug3.ts, 0, 19)) >x : Symbol(x, Decl(assignmentCompatBug3.ts, 0, 19)) >y : Symbol(y, Decl(assignmentCompatBug3.ts, 0, 29)) diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures3.symbols b/tests/baselines/reference/assignmentCompatWithCallSignatures3.symbols index 341ded501dc..ddd44e97d90 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures3.symbols +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures3.symbols @@ -106,23 +106,23 @@ var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; var a12: (x: Array, y: Array) => Array; >a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures3.ts, 18, 3)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 18, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 18, 25)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithCallSignatures3.ts, 3, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) var a13: (x: Array, y: Array) => Array; >a13 : Symbol(a13, Decl(assignmentCompatWithCallSignatures3.ts, 19, 3)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 19, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 19, 25)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) var a14: (x: { a: string; b: number }) => Object; @@ -130,7 +130,7 @@ var a14: (x: { a: string; b: number }) => Object; >x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 20, 10)) >a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 20, 14)) >b : Symbol(b, Decl(assignmentCompatWithCallSignatures3.ts, 20, 25)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var a15: { >a15 : Symbol(a15, Decl(assignmentCompatWithCallSignatures3.ts, 21, 3)) @@ -189,8 +189,8 @@ var a18: { (a: Date): Date; >a : Symbol(a, Decl(assignmentCompatWithCallSignatures3.ts, 40, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) }): any[]; } @@ -407,14 +407,14 @@ b11 = a11; // ok var b12: >(x: Array, y: T) => Array; >b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures3.ts, 77, 3)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 77, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 77, 33)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 77, 48)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 77, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) a12 = b12; // ok @@ -428,10 +428,10 @@ b12 = a12; // ok var b13: >(x: Array, y: T) => T; >b13 : Symbol(b13, Decl(assignmentCompatWithCallSignatures3.ts, 80, 3)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 80, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures3.ts, 2, 27)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures3.ts, 80, 36)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures3.ts, 0, 0)) >y : Symbol(y, Decl(assignmentCompatWithCallSignatures3.ts, 80, 51)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures3.ts, 80, 10)) diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures4.symbols b/tests/baselines/reference/assignmentCompatWithCallSignatures4.symbols index 02d7a1a0bad..47be56410bd 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures4.symbols +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures4.symbols @@ -73,12 +73,12 @@ module Errors { var a12: (x: Array, y: Array) => Array; >a12 : Symbol(a12, Decl(assignmentCompatWithCallSignatures4.ts, 15, 11)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 15, 18)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 15)) >y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 15, 33)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithCallSignatures4.ts, 4, 47)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithCallSignatures4.ts, 3, 31)) var a14: { @@ -266,13 +266,13 @@ module Errors { var b12: >(x: Array, y: Array) => T; >b12 : Symbol(b12, Decl(assignmentCompatWithCallSignatures4.ts, 63, 11)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 63, 18)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithCallSignatures4.ts, 4, 47)) >x : Symbol(x, Decl(assignmentCompatWithCallSignatures4.ts, 63, 45)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 15)) >y : Symbol(y, Decl(assignmentCompatWithCallSignatures4.ts, 63, 60)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithCallSignatures4.ts, 2, 15)) >T : Symbol(T, Decl(assignmentCompatWithCallSignatures4.ts, 63, 18)) diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.symbols b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.symbols index 7e7d1c96476..7169c546b3e 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.symbols +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.symbols @@ -106,23 +106,23 @@ var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; var a12: new (x: Array, y: Array) => Array; >a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures3.ts, 18, 3)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 18, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 18, 29)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithConstructSignatures3.ts, 3, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) var a13: new (x: Array, y: Array) => Array; >a13 : Symbol(a13, Decl(assignmentCompatWithConstructSignatures3.ts, 19, 3)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 19, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 19, 29)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) var a14: new (x: { a: string; b: number }) => Object; @@ -130,7 +130,7 @@ var a14: new (x: { a: string; b: number }) => Object; >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 14)) >a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 18)) >b : Symbol(b, Decl(assignmentCompatWithConstructSignatures3.ts, 20, 29)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var a15: { >a15 : Symbol(a15, Decl(assignmentCompatWithConstructSignatures3.ts, 21, 3)) @@ -189,8 +189,8 @@ var a18: { new (a: Date): Date; >a : Symbol(a, Decl(assignmentCompatWithConstructSignatures3.ts, 40, 13)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) }): any[]; } @@ -407,14 +407,14 @@ b11 = a11; // ok var b12: new >(x: Array, y: T) => Array; >b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 3)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 37)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 52)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 77, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) a12 = b12; // ok @@ -428,10 +428,10 @@ b12 = a12; // ok var b13: new >(x: Array, y: T) => T; >b13 : Symbol(b13, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 3)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures3.ts, 2, 27)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 40)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures3.ts, 0, 0)) >y : Symbol(y, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 55)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures3.ts, 80, 14)) diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.symbols b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.symbols index 7b46a4ef456..0fbed173429 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.symbols +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.symbols @@ -73,12 +73,12 @@ module Errors { var a12: new (x: Array, y: Array) => Array; >a12 : Symbol(a12, Decl(assignmentCompatWithConstructSignatures4.ts, 15, 11)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 15, 22)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 15)) >y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 15, 37)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithConstructSignatures4.ts, 4, 47)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(assignmentCompatWithConstructSignatures4.ts, 3, 31)) var a14: { @@ -266,13 +266,13 @@ module Errors { var b12: new >(x: Array, y: Array) => T; >b12 : Symbol(b12, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 11)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 22)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(assignmentCompatWithConstructSignatures4.ts, 4, 47)) >x : Symbol(x, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 49)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 15)) >y : Symbol(y, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 64)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(assignmentCompatWithConstructSignatures4.ts, 2, 15)) >T : Symbol(T, Decl(assignmentCompatWithConstructSignatures4.ts, 63, 22)) diff --git a/tests/baselines/reference/assignmentToObject.symbols b/tests/baselines/reference/assignmentToObject.symbols index a087732bc0f..498229ab10f 100644 --- a/tests/baselines/reference/assignmentToObject.symbols +++ b/tests/baselines/reference/assignmentToObject.symbols @@ -9,6 +9,6 @@ var b: {} = a; // ok var c: Object = a; // should be error >c : Symbol(c, Decl(assignmentToObject.ts, 2, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(assignmentToObject.ts, 0, 3)) diff --git a/tests/baselines/reference/assignmentToObjectAndFunction.symbols b/tests/baselines/reference/assignmentToObjectAndFunction.symbols index 9beee3b6872..dd2f7afbf3d 100644 --- a/tests/baselines/reference/assignmentToObjectAndFunction.symbols +++ b/tests/baselines/reference/assignmentToObjectAndFunction.symbols @@ -1,12 +1,12 @@ === tests/cases/compiler/assignmentToObjectAndFunction.ts === var errObj: Object = { toString: 0 }; // Error, incompatible toString >errObj : Symbol(errObj, Decl(assignmentToObjectAndFunction.ts, 0, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >toString : Symbol(toString, Decl(assignmentToObjectAndFunction.ts, 0, 22)) var goodObj: Object = { >goodObj : Symbol(goodObj, Decl(assignmentToObjectAndFunction.ts, 1, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) toString(x?) { >toString : Symbol(toString, Decl(assignmentToObjectAndFunction.ts, 1, 23)) @@ -18,7 +18,7 @@ var goodObj: Object = { var errFun: Function = {}; // Error for no call signature >errFun : Symbol(errFun, Decl(assignmentToObjectAndFunction.ts, 7, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo() { } >foo : Symbol(foo, Decl(assignmentToObjectAndFunction.ts, 7, 26), Decl(assignmentToObjectAndFunction.ts, 9, 18)) @@ -32,7 +32,7 @@ module foo { var goodFundule: Function = foo; // ok >goodFundule : Symbol(goodFundule, Decl(assignmentToObjectAndFunction.ts, 14, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >foo : Symbol(foo, Decl(assignmentToObjectAndFunction.ts, 7, 26), Decl(assignmentToObjectAndFunction.ts, 9, 18)) function bar() { } @@ -49,7 +49,7 @@ module bar { var goodFundule2: Function = bar; // ok >goodFundule2 : Symbol(goodFundule2, Decl(assignmentToObjectAndFunction.ts, 21, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >bar : Symbol(bar, Decl(assignmentToObjectAndFunction.ts, 14, 32), Decl(assignmentToObjectAndFunction.ts, 16, 18)) function bad() { } @@ -64,6 +64,6 @@ module bad { var badFundule: Function = bad; // error >badFundule : Symbol(badFundule, Decl(assignmentToObjectAndFunction.ts, 28, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >bad : Symbol(bad, Decl(assignmentToObjectAndFunction.ts, 21, 33), Decl(assignmentToObjectAndFunction.ts, 23, 18)) diff --git a/tests/baselines/reference/assignmentTypeNarrowing.symbols b/tests/baselines/reference/assignmentTypeNarrowing.symbols index 7d638d6a76b..b9e8f3f136d 100644 --- a/tests/baselines/reference/assignmentTypeNarrowing.symbols +++ b/tests/baselines/reference/assignmentTypeNarrowing.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/expressions/assignmentOperator/assignmentTypeNarrowing.ts === let x: string | number | boolean | RegExp; >x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = ""; >x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3)) diff --git a/tests/baselines/reference/asyncAliasReturnType_es5.symbols b/tests/baselines/reference/asyncAliasReturnType_es5.symbols index 5e024c27d5e..45defd071e3 100644 --- a/tests/baselines/reference/asyncAliasReturnType_es5.symbols +++ b/tests/baselines/reference/asyncAliasReturnType_es5.symbols @@ -2,7 +2,7 @@ type PromiseAlias = Promise; >PromiseAlias : Symbol(PromiseAlias, Decl(asyncAliasReturnType_es5.ts, 0, 0)) >T : Symbol(T, Decl(asyncAliasReturnType_es5.ts, 0, 18)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >T : Symbol(T, Decl(asyncAliasReturnType_es5.ts, 0, 18)) async function f(): PromiseAlias { diff --git a/tests/baselines/reference/asyncAliasReturnType_es6.symbols b/tests/baselines/reference/asyncAliasReturnType_es6.symbols index 775a80846f9..820cbb87a06 100644 --- a/tests/baselines/reference/asyncAliasReturnType_es6.symbols +++ b/tests/baselines/reference/asyncAliasReturnType_es6.symbols @@ -2,7 +2,7 @@ type PromiseAlias = Promise; >PromiseAlias : Symbol(PromiseAlias, Decl(asyncAliasReturnType_es6.ts, 0, 0)) >T : Symbol(T, Decl(asyncAliasReturnType_es6.ts, 0, 18)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(asyncAliasReturnType_es6.ts, 0, 18)) async function f(): PromiseAlias { diff --git a/tests/baselines/reference/asyncArrowFunction10_es2017.symbols b/tests/baselines/reference/asyncArrowFunction10_es2017.symbols index dd8516ca0e9..f74427c04eb 100644 --- a/tests/baselines/reference/asyncArrowFunction10_es2017.symbols +++ b/tests/baselines/reference/asyncArrowFunction10_es2017.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es2017/asyncArrowFunction/asyncArrowFunction10_es2017.ts === var foo = async (): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction10_es2017.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Legal to use 'await' in a type context. var v: await; diff --git a/tests/baselines/reference/asyncArrowFunction10_es5.symbols b/tests/baselines/reference/asyncArrowFunction10_es5.symbols index 51f63cf481d..12b06eb3061 100644 --- a/tests/baselines/reference/asyncArrowFunction10_es5.symbols +++ b/tests/baselines/reference/asyncArrowFunction10_es5.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction10_es5.ts === var foo = async (): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction10_es5.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) // Legal to use 'await' in a type context. var v: await; diff --git a/tests/baselines/reference/asyncArrowFunction10_es6.symbols b/tests/baselines/reference/asyncArrowFunction10_es6.symbols index efdfdac1819..89a2ee67717 100644 --- a/tests/baselines/reference/asyncArrowFunction10_es6.symbols +++ b/tests/baselines/reference/asyncArrowFunction10_es6.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction10_es6.ts === var foo = async (): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction10_es6.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Legal to use 'await' in a type context. var v: await; diff --git a/tests/baselines/reference/asyncArrowFunction1_es2017.symbols b/tests/baselines/reference/asyncArrowFunction1_es2017.symbols index 43b5055e81c..1bb56422c06 100644 --- a/tests/baselines/reference/asyncArrowFunction1_es2017.symbols +++ b/tests/baselines/reference/asyncArrowFunction1_es2017.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/async/es2017/asyncArrowFunction/asyncArrowFunction1_es2017.ts === var foo = async (): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction1_es2017.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) }; diff --git a/tests/baselines/reference/asyncArrowFunction1_es5.symbols b/tests/baselines/reference/asyncArrowFunction1_es5.symbols index 914165f525b..3f6d96830b7 100644 --- a/tests/baselines/reference/asyncArrowFunction1_es5.symbols +++ b/tests/baselines/reference/asyncArrowFunction1_es5.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction1_es5.ts === var foo = async (): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction1_es5.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) }; diff --git a/tests/baselines/reference/asyncArrowFunction1_es6.symbols b/tests/baselines/reference/asyncArrowFunction1_es6.symbols index 17d4cb12bcb..f6000f65735 100644 --- a/tests/baselines/reference/asyncArrowFunction1_es6.symbols +++ b/tests/baselines/reference/asyncArrowFunction1_es6.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction1_es6.ts === var foo = async (): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction1_es6.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) }; diff --git a/tests/baselines/reference/asyncArrowFunction5_es2017.symbols b/tests/baselines/reference/asyncArrowFunction5_es2017.symbols index 9f74f496892..af04f643524 100644 --- a/tests/baselines/reference/asyncArrowFunction5_es2017.symbols +++ b/tests/baselines/reference/asyncArrowFunction5_es2017.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es2017/asyncArrowFunction/asyncArrowFunction5_es2017.ts === var foo = async (await): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction5_es2017.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(asyncArrowFunction5_es2017.ts, 0, 24)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(asyncArrowFunction5_es2017.ts, 0, 24)) } diff --git a/tests/baselines/reference/asyncArrowFunction5_es5.symbols b/tests/baselines/reference/asyncArrowFunction5_es5.symbols index ff2891bb814..b1b10c12afe 100644 --- a/tests/baselines/reference/asyncArrowFunction5_es5.symbols +++ b/tests/baselines/reference/asyncArrowFunction5_es5.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts === var foo = async (await): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction5_es5.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(asyncArrowFunction5_es5.ts, 0, 24)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(asyncArrowFunction5_es5.ts, 0, 24)) } diff --git a/tests/baselines/reference/asyncArrowFunction5_es6.symbols b/tests/baselines/reference/asyncArrowFunction5_es6.symbols index 39783cd3698..4a5790195bd 100644 --- a/tests/baselines/reference/asyncArrowFunction5_es6.symbols +++ b/tests/baselines/reference/asyncArrowFunction5_es6.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction5_es6.ts === var foo = async (await): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction5_es6.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(asyncArrowFunction5_es6.ts, 0, 24)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(asyncArrowFunction5_es6.ts, 0, 24)) } diff --git a/tests/baselines/reference/asyncArrowFunction6_es2017.symbols b/tests/baselines/reference/asyncArrowFunction6_es2017.symbols index c75b45cce81..6a3865a76d2 100644 --- a/tests/baselines/reference/asyncArrowFunction6_es2017.symbols +++ b/tests/baselines/reference/asyncArrowFunction6_es2017.symbols @@ -2,5 +2,5 @@ var foo = async (a = await): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction6_es2017.ts, 0, 3)) >a : Symbol(a, Decl(asyncArrowFunction6_es2017.ts, 0, 17)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncArrowFunction6_es5.symbols b/tests/baselines/reference/asyncArrowFunction6_es5.symbols index 51f3a218ecc..f675827c431 100644 --- a/tests/baselines/reference/asyncArrowFunction6_es5.symbols +++ b/tests/baselines/reference/asyncArrowFunction6_es5.symbols @@ -2,5 +2,5 @@ var foo = async (a = await): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction6_es5.ts, 0, 3)) >a : Symbol(a, Decl(asyncArrowFunction6_es5.ts, 0, 17)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncArrowFunction6_es6.symbols b/tests/baselines/reference/asyncArrowFunction6_es6.symbols index b7ba4d6d32e..c7a7900ae02 100644 --- a/tests/baselines/reference/asyncArrowFunction6_es6.symbols +++ b/tests/baselines/reference/asyncArrowFunction6_es6.symbols @@ -2,5 +2,5 @@ var foo = async (a = await): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction6_es6.ts, 0, 3)) >a : Symbol(a, Decl(asyncArrowFunction6_es6.ts, 0, 17)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncArrowFunction7_es2017.symbols b/tests/baselines/reference/asyncArrowFunction7_es2017.symbols index c6e24798e70..d6bf51f52f4 100644 --- a/tests/baselines/reference/asyncArrowFunction7_es2017.symbols +++ b/tests/baselines/reference/asyncArrowFunction7_es2017.symbols @@ -1,12 +1,12 @@ === tests/cases/conformance/async/es2017/asyncArrowFunction/asyncArrowFunction7_es2017.ts === var bar = async (): Promise => { >bar : Symbol(bar, Decl(asyncArrowFunction7_es2017.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // 'await' here is an identifier, and not an await expression. var foo = async (a = await): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction7_es2017.ts, 2, 5)) >a : Symbol(a, Decl(asyncArrowFunction7_es2017.ts, 2, 19)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } } diff --git a/tests/baselines/reference/asyncArrowFunction7_es5.symbols b/tests/baselines/reference/asyncArrowFunction7_es5.symbols index e2cda0a8997..2b309ec8e0b 100644 --- a/tests/baselines/reference/asyncArrowFunction7_es5.symbols +++ b/tests/baselines/reference/asyncArrowFunction7_es5.symbols @@ -1,12 +1,12 @@ === tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction7_es5.ts === var bar = async (): Promise => { >bar : Symbol(bar, Decl(asyncArrowFunction7_es5.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) // 'await' here is an identifier, and not an await expression. var foo = async (a = await): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction7_es5.ts, 2, 5)) >a : Symbol(a, Decl(asyncArrowFunction7_es5.ts, 2, 19)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } } diff --git a/tests/baselines/reference/asyncArrowFunction7_es6.symbols b/tests/baselines/reference/asyncArrowFunction7_es6.symbols index 5884d07b142..fd1c2173a51 100644 --- a/tests/baselines/reference/asyncArrowFunction7_es6.symbols +++ b/tests/baselines/reference/asyncArrowFunction7_es6.symbols @@ -1,12 +1,12 @@ === tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction7_es6.ts === var bar = async (): Promise => { >bar : Symbol(bar, Decl(asyncArrowFunction7_es6.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // 'await' here is an identifier, and not an await expression. var foo = async (a = await): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction7_es6.ts, 2, 5)) >a : Symbol(a, Decl(asyncArrowFunction7_es6.ts, 2, 19)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } } diff --git a/tests/baselines/reference/asyncArrowFunction8_es2017.symbols b/tests/baselines/reference/asyncArrowFunction8_es2017.symbols index 86bb7795092..c7870ef8737 100644 --- a/tests/baselines/reference/asyncArrowFunction8_es2017.symbols +++ b/tests/baselines/reference/asyncArrowFunction8_es2017.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es2017/asyncArrowFunction/asyncArrowFunction8_es2017.ts === var foo = async (): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction8_es2017.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var v = { [await]: foo } >v : Symbol(v, Decl(asyncArrowFunction8_es2017.ts, 1, 5)) diff --git a/tests/baselines/reference/asyncArrowFunction8_es5.symbols b/tests/baselines/reference/asyncArrowFunction8_es5.symbols index 7a2cee48352..c06d7e6c712 100644 --- a/tests/baselines/reference/asyncArrowFunction8_es5.symbols +++ b/tests/baselines/reference/asyncArrowFunction8_es5.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction8_es5.ts === var foo = async (): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction8_es5.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) var v = { [await]: foo } >v : Symbol(v, Decl(asyncArrowFunction8_es5.ts, 1, 5)) diff --git a/tests/baselines/reference/asyncArrowFunction8_es6.symbols b/tests/baselines/reference/asyncArrowFunction8_es6.symbols index 1fd82c998d1..c04c0bc2fad 100644 --- a/tests/baselines/reference/asyncArrowFunction8_es6.symbols +++ b/tests/baselines/reference/asyncArrowFunction8_es6.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction8_es6.ts === var foo = async (): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction8_es6.ts, 0, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var v = { [await]: foo } >v : Symbol(v, Decl(asyncArrowFunction8_es6.ts, 1, 5)) diff --git a/tests/baselines/reference/asyncArrowFunction9_es2017.symbols b/tests/baselines/reference/asyncArrowFunction9_es2017.symbols index d15a8d3ee98..be1a3e3d4ff 100644 --- a/tests/baselines/reference/asyncArrowFunction9_es2017.symbols +++ b/tests/baselines/reference/asyncArrowFunction9_es2017.symbols @@ -3,5 +3,5 @@ var foo = async (a = await => await): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction9_es2017.ts, 0, 3)) >await : Symbol(await, Decl(asyncArrowFunction9_es2017.ts, 0, 20)) >await : Symbol(await, Decl(asyncArrowFunction9_es2017.ts, 0, 20)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(asyncArrowFunction9_es2017.ts, 0, 37)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(asyncArrowFunction9_es2017.ts, 0, 37)) } diff --git a/tests/baselines/reference/asyncArrowFunction9_es5.symbols b/tests/baselines/reference/asyncArrowFunction9_es5.symbols index e0e27ba2f75..4eddf75c635 100644 --- a/tests/baselines/reference/asyncArrowFunction9_es5.symbols +++ b/tests/baselines/reference/asyncArrowFunction9_es5.symbols @@ -3,5 +3,5 @@ var foo = async (a = await => await): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction9_es5.ts, 0, 3)) >await : Symbol(await, Decl(asyncArrowFunction9_es5.ts, 0, 20)) >await : Symbol(await, Decl(asyncArrowFunction9_es5.ts, 0, 20)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(asyncArrowFunction9_es5.ts, 0, 37)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(asyncArrowFunction9_es5.ts, 0, 37)) } diff --git a/tests/baselines/reference/asyncArrowFunction9_es6.symbols b/tests/baselines/reference/asyncArrowFunction9_es6.symbols index 7568151c758..029ab5b1c39 100644 --- a/tests/baselines/reference/asyncArrowFunction9_es6.symbols +++ b/tests/baselines/reference/asyncArrowFunction9_es6.symbols @@ -3,5 +3,5 @@ var foo = async (a = await => await): Promise => { >foo : Symbol(foo, Decl(asyncArrowFunction9_es6.ts, 0, 3)) >await : Symbol(await, Decl(asyncArrowFunction9_es6.ts, 0, 20)) >await : Symbol(await, Decl(asyncArrowFunction9_es6.ts, 0, 20)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(asyncArrowFunction9_es6.ts, 0, 37)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(asyncArrowFunction9_es6.ts, 0, 37)) } diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.symbols b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.symbols index 14b989dda61..4b312fd4646 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.symbols +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.symbols @@ -10,9 +10,9 @@ class C { var fn = async () => await other.apply(this, arguments); >fn : Symbol(fn, Decl(asyncArrowFunctionCapturesArguments_es6.ts, 3, 9)) ->other.apply : Symbol(Function.apply, Decl(lib.es6.d.ts, --, --)) +>other.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >other : Symbol(other, Decl(asyncArrowFunctionCapturesArguments_es6.ts, 1, 13)) ->apply : Symbol(Function.apply, Decl(lib.es6.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >this : Symbol(C, Decl(asyncArrowFunctionCapturesArguments_es6.ts, 0, 0)) >arguments : Symbol(arguments) } diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es2017.symbols b/tests/baselines/reference/asyncAwaitIsolatedModules_es2017.symbols index d7b11474f28..d527bd69c42 100644 --- a/tests/baselines/reference/asyncAwaitIsolatedModules_es2017.symbols +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es2017.symbols @@ -4,7 +4,7 @@ import { MyPromise } from "missing"; declare var p: Promise; >p : Symbol(p, Decl(asyncAwaitIsolatedModules_es2017.ts, 2, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare var mp: MyPromise; >mp : Symbol(mp, Decl(asyncAwaitIsolatedModules_es2017.ts, 3, 11)) @@ -15,7 +15,7 @@ async function f0() { } async function f1(): Promise { } >f1 : Symbol(f1, Decl(asyncAwaitIsolatedModules_es2017.ts, 5, 23)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async function f3(): MyPromise { } >f3 : Symbol(f3, Decl(asyncAwaitIsolatedModules_es2017.ts, 6, 38)) @@ -26,7 +26,7 @@ let f4 = async function() { } let f5 = async function(): Promise { } >f5 : Symbol(f5, Decl(asyncAwaitIsolatedModules_es2017.ts, 10, 3)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let f6 = async function(): MyPromise { } >f6 : Symbol(f6, Decl(asyncAwaitIsolatedModules_es2017.ts, 11, 3)) @@ -37,7 +37,7 @@ let f7 = async () => { }; let f8 = async (): Promise => { }; >f8 : Symbol(f8, Decl(asyncAwaitIsolatedModules_es2017.ts, 14, 3)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let f9 = async (): MyPromise => { }; >f9 : Symbol(f9, Decl(asyncAwaitIsolatedModules_es2017.ts, 15, 3)) @@ -53,7 +53,7 @@ let f11 = async () => mp; let f12 = async (): Promise => mp; >f12 : Symbol(f12, Decl(asyncAwaitIsolatedModules_es2017.ts, 18, 3)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >mp : Symbol(mp, Decl(asyncAwaitIsolatedModules_es2017.ts, 3, 11)) let f13 = async (): MyPromise => p; @@ -69,7 +69,7 @@ let o = { async m2(): Promise { }, >m2 : Symbol(m2, Decl(asyncAwaitIsolatedModules_es2017.ts, 22, 16)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async m3(): MyPromise { } >m3 : Symbol(m3, Decl(asyncAwaitIsolatedModules_es2017.ts, 23, 31)) @@ -85,7 +85,7 @@ class C { async m2(): Promise { } >m2 : Symbol(C.m2, Decl(asyncAwaitIsolatedModules_es2017.ts, 28, 15)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async m3(): MyPromise { } >m3 : Symbol(C.m3, Decl(asyncAwaitIsolatedModules_es2017.ts, 29, 30)) @@ -96,7 +96,7 @@ class C { static async m5(): Promise { } >m5 : Symbol(C.m5, Decl(asyncAwaitIsolatedModules_es2017.ts, 31, 22)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) static async m6(): MyPromise { } >m6 : Symbol(C.m6, Decl(asyncAwaitIsolatedModules_es2017.ts, 32, 37)) diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es5.symbols b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.symbols index eaa6042ee3d..8d3759aa5fa 100644 --- a/tests/baselines/reference/asyncAwaitIsolatedModules_es5.symbols +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.symbols @@ -4,7 +4,7 @@ import { MyPromise } from "missing"; declare var p: Promise; >p : Symbol(p, Decl(asyncAwaitIsolatedModules_es5.ts, 2, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare var mp: MyPromise; >mp : Symbol(mp, Decl(asyncAwaitIsolatedModules_es5.ts, 3, 11)) @@ -15,7 +15,7 @@ async function f0() { } async function f1(): Promise { } >f1 : Symbol(f1, Decl(asyncAwaitIsolatedModules_es5.ts, 5, 23)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) async function f3(): MyPromise { } >f3 : Symbol(f3, Decl(asyncAwaitIsolatedModules_es5.ts, 6, 38)) @@ -26,7 +26,7 @@ let f4 = async function() { } let f5 = async function(): Promise { } >f5 : Symbol(f5, Decl(asyncAwaitIsolatedModules_es5.ts, 10, 3)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) let f6 = async function(): MyPromise { } >f6 : Symbol(f6, Decl(asyncAwaitIsolatedModules_es5.ts, 11, 3)) @@ -37,7 +37,7 @@ let f7 = async () => { }; let f8 = async (): Promise => { }; >f8 : Symbol(f8, Decl(asyncAwaitIsolatedModules_es5.ts, 14, 3)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) let f9 = async (): MyPromise => { }; >f9 : Symbol(f9, Decl(asyncAwaitIsolatedModules_es5.ts, 15, 3)) @@ -53,7 +53,7 @@ let f11 = async () => mp; let f12 = async (): Promise => mp; >f12 : Symbol(f12, Decl(asyncAwaitIsolatedModules_es5.ts, 18, 3)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >mp : Symbol(mp, Decl(asyncAwaitIsolatedModules_es5.ts, 3, 11)) let f13 = async (): MyPromise => p; @@ -69,7 +69,7 @@ let o = { async m2(): Promise { }, >m2 : Symbol(m2, Decl(asyncAwaitIsolatedModules_es5.ts, 22, 16)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) async m3(): MyPromise { } >m3 : Symbol(m3, Decl(asyncAwaitIsolatedModules_es5.ts, 23, 31)) @@ -85,7 +85,7 @@ class C { async m2(): Promise { } >m2 : Symbol(C.m2, Decl(asyncAwaitIsolatedModules_es5.ts, 28, 15)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) async m3(): MyPromise { } >m3 : Symbol(C.m3, Decl(asyncAwaitIsolatedModules_es5.ts, 29, 30)) @@ -96,7 +96,7 @@ class C { static async m5(): Promise { } >m5 : Symbol(C.m5, Decl(asyncAwaitIsolatedModules_es5.ts, 31, 22)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) static async m6(): MyPromise { } >m6 : Symbol(C.m6, Decl(asyncAwaitIsolatedModules_es5.ts, 32, 37)) diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es6.symbols b/tests/baselines/reference/asyncAwaitIsolatedModules_es6.symbols index 87ee54146bf..93af9beff73 100644 --- a/tests/baselines/reference/asyncAwaitIsolatedModules_es6.symbols +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es6.symbols @@ -4,7 +4,7 @@ import { MyPromise } from "missing"; declare var p: Promise; >p : Symbol(p, Decl(asyncAwaitIsolatedModules_es6.ts, 2, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare var mp: MyPromise; >mp : Symbol(mp, Decl(asyncAwaitIsolatedModules_es6.ts, 3, 11)) @@ -15,7 +15,7 @@ async function f0() { } async function f1(): Promise { } >f1 : Symbol(f1, Decl(asyncAwaitIsolatedModules_es6.ts, 5, 23)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async function f3(): MyPromise { } >f3 : Symbol(f3, Decl(asyncAwaitIsolatedModules_es6.ts, 6, 38)) @@ -26,7 +26,7 @@ let f4 = async function() { } let f5 = async function(): Promise { } >f5 : Symbol(f5, Decl(asyncAwaitIsolatedModules_es6.ts, 10, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let f6 = async function(): MyPromise { } >f6 : Symbol(f6, Decl(asyncAwaitIsolatedModules_es6.ts, 11, 3)) @@ -37,7 +37,7 @@ let f7 = async () => { }; let f8 = async (): Promise => { }; >f8 : Symbol(f8, Decl(asyncAwaitIsolatedModules_es6.ts, 14, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let f9 = async (): MyPromise => { }; >f9 : Symbol(f9, Decl(asyncAwaitIsolatedModules_es6.ts, 15, 3)) @@ -53,7 +53,7 @@ let f11 = async () => mp; let f12 = async (): Promise => mp; >f12 : Symbol(f12, Decl(asyncAwaitIsolatedModules_es6.ts, 18, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >mp : Symbol(mp, Decl(asyncAwaitIsolatedModules_es6.ts, 3, 11)) let f13 = async (): MyPromise => p; @@ -69,7 +69,7 @@ let o = { async m2(): Promise { }, >m2 : Symbol(m2, Decl(asyncAwaitIsolatedModules_es6.ts, 22, 16)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async m3(): MyPromise { } >m3 : Symbol(m3, Decl(asyncAwaitIsolatedModules_es6.ts, 23, 31)) @@ -85,7 +85,7 @@ class C { async m2(): Promise { } >m2 : Symbol(C.m2, Decl(asyncAwaitIsolatedModules_es6.ts, 28, 15)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async m3(): MyPromise { } >m3 : Symbol(C.m3, Decl(asyncAwaitIsolatedModules_es6.ts, 29, 30)) @@ -96,7 +96,7 @@ class C { static async m5(): Promise { } >m5 : Symbol(C.m5, Decl(asyncAwaitIsolatedModules_es6.ts, 31, 22)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) static async m6(): MyPromise { } >m6 : Symbol(C.m6, Decl(asyncAwaitIsolatedModules_es6.ts, 32, 37)) diff --git a/tests/baselines/reference/asyncAwaitNestedClasses_es5.symbols b/tests/baselines/reference/asyncAwaitNestedClasses_es5.symbols index 339b2617fbf..59259fb5713 100644 --- a/tests/baselines/reference/asyncAwaitNestedClasses_es5.symbols +++ b/tests/baselines/reference/asyncAwaitNestedClasses_es5.symbols @@ -9,10 +9,10 @@ class A { static func2(): Promise { >func2 : Symbol(B.func2, Decl(asyncAwaitNestedClasses_es5.ts, 2, 24)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) return new Promise((resolve) => { resolve(null); }); ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >resolve : Symbol(resolve, Decl(asyncAwaitNestedClasses_es5.ts, 4, 32)) >resolve : Symbol(resolve, Decl(asyncAwaitNestedClasses_es5.ts, 4, 32)) } diff --git a/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.symbols b/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.symbols index 32063138fbb..e169025ee38 100644 --- a/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.symbols +++ b/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.symbols @@ -65,7 +65,7 @@ async function fn3() { async function fn4(): Promise { >fn4 : Symbol(fn4, Decl(asyncAwaitWithCapturedBlockScopeVar.ts, 24, 1)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let ar = []; >ar : Symbol(ar, Decl(asyncAwaitWithCapturedBlockScopeVar.ts, 27, 7)) diff --git a/tests/baselines/reference/asyncAwait_es2017.symbols b/tests/baselines/reference/asyncAwait_es2017.symbols index 8d8a23011c7..f0481fa3992 100644 --- a/tests/baselines/reference/asyncAwait_es2017.symbols +++ b/tests/baselines/reference/asyncAwait_es2017.symbols @@ -2,16 +2,16 @@ type MyPromise = Promise; >MyPromise : Symbol(MyPromise, Decl(asyncAwait_es2017.ts, 0, 0), Decl(asyncAwait_es2017.ts, 1, 11)) >T : Symbol(T, Decl(asyncAwait_es2017.ts, 0, 15)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(asyncAwait_es2017.ts, 0, 15)) declare var MyPromise: typeof Promise; >MyPromise : Symbol(MyPromise, Decl(asyncAwait_es2017.ts, 0, 0), Decl(asyncAwait_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare var p: Promise; >p : Symbol(p, Decl(asyncAwait_es2017.ts, 2, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare var mp: MyPromise; >mp : Symbol(mp, Decl(asyncAwait_es2017.ts, 3, 11)) @@ -22,7 +22,7 @@ async function f0() { } async function f1(): Promise { } >f1 : Symbol(f1, Decl(asyncAwait_es2017.ts, 5, 23)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async function f3(): MyPromise { } >f3 : Symbol(f3, Decl(asyncAwait_es2017.ts, 6, 38)) @@ -33,7 +33,7 @@ let f4 = async function() { } let f5 = async function(): Promise { } >f5 : Symbol(f5, Decl(asyncAwait_es2017.ts, 10, 3)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let f6 = async function(): MyPromise { } >f6 : Symbol(f6, Decl(asyncAwait_es2017.ts, 11, 3)) @@ -44,7 +44,7 @@ let f7 = async () => { }; let f8 = async (): Promise => { }; >f8 : Symbol(f8, Decl(asyncAwait_es2017.ts, 14, 3)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let f9 = async (): MyPromise => { }; >f9 : Symbol(f9, Decl(asyncAwait_es2017.ts, 15, 3)) @@ -60,7 +60,7 @@ let f11 = async () => mp; let f12 = async (): Promise => mp; >f12 : Symbol(f12, Decl(asyncAwait_es2017.ts, 18, 3)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >mp : Symbol(mp, Decl(asyncAwait_es2017.ts, 3, 11)) let f13 = async (): MyPromise => p; @@ -76,7 +76,7 @@ let o = { async m2(): Promise { }, >m2 : Symbol(m2, Decl(asyncAwait_es2017.ts, 22, 16)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async m3(): MyPromise { } >m3 : Symbol(m3, Decl(asyncAwait_es2017.ts, 23, 31)) @@ -92,7 +92,7 @@ class C { async m2(): Promise { } >m2 : Symbol(C.m2, Decl(asyncAwait_es2017.ts, 28, 15)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async m3(): MyPromise { } >m3 : Symbol(C.m3, Decl(asyncAwait_es2017.ts, 29, 30)) @@ -103,7 +103,7 @@ class C { static async m5(): Promise { } >m5 : Symbol(C.m5, Decl(asyncAwait_es2017.ts, 31, 22)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) static async m6(): MyPromise { } >m6 : Symbol(C.m6, Decl(asyncAwait_es2017.ts, 32, 37)) diff --git a/tests/baselines/reference/asyncAwait_es5.symbols b/tests/baselines/reference/asyncAwait_es5.symbols index e10fd971b7b..19325dd0eca 100644 --- a/tests/baselines/reference/asyncAwait_es5.symbols +++ b/tests/baselines/reference/asyncAwait_es5.symbols @@ -2,16 +2,16 @@ type MyPromise = Promise; >MyPromise : Symbol(MyPromise, Decl(asyncAwait_es5.ts, 0, 0), Decl(asyncAwait_es5.ts, 1, 11)) >T : Symbol(T, Decl(asyncAwait_es5.ts, 0, 15)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >T : Symbol(T, Decl(asyncAwait_es5.ts, 0, 15)) declare var MyPromise: typeof Promise; >MyPromise : Symbol(MyPromise, Decl(asyncAwait_es5.ts, 0, 0), Decl(asyncAwait_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare var p: Promise; >p : Symbol(p, Decl(asyncAwait_es5.ts, 2, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare var mp: MyPromise; >mp : Symbol(mp, Decl(asyncAwait_es5.ts, 3, 11)) @@ -22,7 +22,7 @@ async function f0() { } async function f1(): Promise { } >f1 : Symbol(f1, Decl(asyncAwait_es5.ts, 5, 23)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) async function f3(): MyPromise { } >f3 : Symbol(f3, Decl(asyncAwait_es5.ts, 6, 38)) @@ -33,7 +33,7 @@ let f4 = async function() { } let f5 = async function(): Promise { } >f5 : Symbol(f5, Decl(asyncAwait_es5.ts, 10, 3)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) let f6 = async function(): MyPromise { } >f6 : Symbol(f6, Decl(asyncAwait_es5.ts, 11, 3)) @@ -44,7 +44,7 @@ let f7 = async () => { }; let f8 = async (): Promise => { }; >f8 : Symbol(f8, Decl(asyncAwait_es5.ts, 14, 3)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) let f9 = async (): MyPromise => { }; >f9 : Symbol(f9, Decl(asyncAwait_es5.ts, 15, 3)) @@ -60,7 +60,7 @@ let f11 = async () => mp; let f12 = async (): Promise => mp; >f12 : Symbol(f12, Decl(asyncAwait_es5.ts, 18, 3)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >mp : Symbol(mp, Decl(asyncAwait_es5.ts, 3, 11)) let f13 = async (): MyPromise => p; @@ -76,7 +76,7 @@ let o = { async m2(): Promise { }, >m2 : Symbol(m2, Decl(asyncAwait_es5.ts, 22, 16)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) async m3(): MyPromise { } >m3 : Symbol(m3, Decl(asyncAwait_es5.ts, 23, 31)) @@ -92,7 +92,7 @@ class C { async m2(): Promise { } >m2 : Symbol(C.m2, Decl(asyncAwait_es5.ts, 28, 15)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) async m3(): MyPromise { } >m3 : Symbol(C.m3, Decl(asyncAwait_es5.ts, 29, 30)) @@ -103,7 +103,7 @@ class C { static async m5(): Promise { } >m5 : Symbol(C.m5, Decl(asyncAwait_es5.ts, 31, 22)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) static async m6(): MyPromise { } >m6 : Symbol(C.m6, Decl(asyncAwait_es5.ts, 32, 37)) diff --git a/tests/baselines/reference/asyncAwait_es6.symbols b/tests/baselines/reference/asyncAwait_es6.symbols index 7a4b61f677a..fcbd69ea2f2 100644 --- a/tests/baselines/reference/asyncAwait_es6.symbols +++ b/tests/baselines/reference/asyncAwait_es6.symbols @@ -2,16 +2,16 @@ type MyPromise = Promise; >MyPromise : Symbol(MyPromise, Decl(asyncAwait_es6.ts, 0, 0), Decl(asyncAwait_es6.ts, 1, 11)) >T : Symbol(T, Decl(asyncAwait_es6.ts, 0, 15)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(asyncAwait_es6.ts, 0, 15)) declare var MyPromise: typeof Promise; >MyPromise : Symbol(MyPromise, Decl(asyncAwait_es6.ts, 0, 0), Decl(asyncAwait_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare var p: Promise; >p : Symbol(p, Decl(asyncAwait_es6.ts, 2, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare var mp: MyPromise; >mp : Symbol(mp, Decl(asyncAwait_es6.ts, 3, 11)) @@ -22,7 +22,7 @@ async function f0() { } async function f1(): Promise { } >f1 : Symbol(f1, Decl(asyncAwait_es6.ts, 5, 23)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async function f3(): MyPromise { } >f3 : Symbol(f3, Decl(asyncAwait_es6.ts, 6, 38)) @@ -33,7 +33,7 @@ let f4 = async function() { } let f5 = async function(): Promise { } >f5 : Symbol(f5, Decl(asyncAwait_es6.ts, 10, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let f6 = async function(): MyPromise { } >f6 : Symbol(f6, Decl(asyncAwait_es6.ts, 11, 3)) @@ -44,7 +44,7 @@ let f7 = async () => { }; let f8 = async (): Promise => { }; >f8 : Symbol(f8, Decl(asyncAwait_es6.ts, 14, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let f9 = async (): MyPromise => { }; >f9 : Symbol(f9, Decl(asyncAwait_es6.ts, 15, 3)) @@ -60,7 +60,7 @@ let f11 = async () => mp; let f12 = async (): Promise => mp; >f12 : Symbol(f12, Decl(asyncAwait_es6.ts, 18, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >mp : Symbol(mp, Decl(asyncAwait_es6.ts, 3, 11)) let f13 = async (): MyPromise => p; @@ -76,7 +76,7 @@ let o = { async m2(): Promise { }, >m2 : Symbol(m2, Decl(asyncAwait_es6.ts, 22, 16)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async m3(): MyPromise { } >m3 : Symbol(m3, Decl(asyncAwait_es6.ts, 23, 31)) @@ -92,7 +92,7 @@ class C { async m2(): Promise { } >m2 : Symbol(C.m2, Decl(asyncAwait_es6.ts, 28, 15)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async m3(): MyPromise { } >m3 : Symbol(C.m3, Decl(asyncAwait_es6.ts, 29, 30)) @@ -103,7 +103,7 @@ class C { static async m5(): Promise { } >m5 : Symbol(C.m5, Decl(asyncAwait_es6.ts, 31, 22)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) static async m6(): MyPromise { } >m6 : Symbol(C.m6, Decl(asyncAwait_es6.ts, 32, 37)) diff --git a/tests/baselines/reference/asyncDeclare_es5.symbols b/tests/baselines/reference/asyncDeclare_es5.symbols index e839dc90e24..30eeedbe8aa 100644 --- a/tests/baselines/reference/asyncDeclare_es5.symbols +++ b/tests/baselines/reference/asyncDeclare_es5.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es5/asyncDeclare_es5.ts === declare async function foo(): Promise; >foo : Symbol(foo, Decl(asyncDeclare_es5.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) diff --git a/tests/baselines/reference/asyncDeclare_es6.symbols b/tests/baselines/reference/asyncDeclare_es6.symbols index 5332b7e93f4..6d5fd2088da 100644 --- a/tests/baselines/reference/asyncDeclare_es6.symbols +++ b/tests/baselines/reference/asyncDeclare_es6.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es6/asyncDeclare_es6.ts === declare async function foo(): Promise; >foo : Symbol(foo, Decl(asyncDeclare_es6.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/asyncFunctionDeclaration10_es2017.symbols b/tests/baselines/reference/asyncFunctionDeclaration10_es2017.symbols index 1079ab5c323..de526b968ef 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration10_es2017.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration10_es2017.symbols @@ -2,5 +2,5 @@ async function foo(a = await => await): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration10_es2017.ts, 0, 0)) >a : Symbol(a, Decl(asyncFunctionDeclaration10_es2017.ts, 0, 19)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration10_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration10_es5.symbols index 1d9f9c590d8..cd989f81bce 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration10_es5.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration10_es5.symbols @@ -2,5 +2,5 @@ async function foo(a = await => await): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration10_es5.ts, 0, 0)) >a : Symbol(a, Decl(asyncFunctionDeclaration10_es5.ts, 0, 19)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration10_es6.symbols b/tests/baselines/reference/asyncFunctionDeclaration10_es6.symbols index f0422211366..f1d1994e269 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration10_es6.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration10_es6.symbols @@ -2,5 +2,5 @@ async function foo(a = await => await): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration10_es6.ts, 0, 0)) >a : Symbol(a, Decl(asyncFunctionDeclaration10_es6.ts, 0, 19)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration11_es2017.symbols b/tests/baselines/reference/asyncFunctionDeclaration11_es2017.symbols index aebb5a7c968..dbe2b844a1e 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration11_es2017.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration11_es2017.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration11_es2017.ts === async function await(): Promise { >await : Symbol(await, Decl(asyncFunctionDeclaration11_es2017.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration11_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration11_es5.symbols index f0a8bbd4903..d72d4f52381 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration11_es5.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration11_es5.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration11_es5.ts === async function await(): Promise { >await : Symbol(await, Decl(asyncFunctionDeclaration11_es5.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration11_es6.symbols b/tests/baselines/reference/asyncFunctionDeclaration11_es6.symbols index 4c06d15bd60..02227946c87 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration11_es6.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration11_es6.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es6/functionDeclarations/asyncFunctionDeclaration11_es6.ts === async function await(): Promise { >await : Symbol(await, Decl(asyncFunctionDeclaration11_es6.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration12_es2017.symbols b/tests/baselines/reference/asyncFunctionDeclaration12_es2017.symbols index 54cecdaf238..a6a37aa6004 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration12_es2017.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration12_es2017.symbols @@ -2,5 +2,5 @@ var v = async function await(): Promise { } >v : Symbol(v, Decl(asyncFunctionDeclaration12_es2017.ts, 0, 3)) >await : Symbol(await, Decl(asyncFunctionDeclaration12_es2017.ts, 0, 22)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/asyncFunctionDeclaration12_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration12_es5.symbols index 231dc33c20d..688f265efcc 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration12_es5.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration12_es5.symbols @@ -2,5 +2,5 @@ var v = async function await(): Promise { } >v : Symbol(v, Decl(asyncFunctionDeclaration12_es5.ts, 0, 3)) >await : Symbol(await, Decl(asyncFunctionDeclaration12_es5.ts, 0, 22)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) diff --git a/tests/baselines/reference/asyncFunctionDeclaration12_es6.symbols b/tests/baselines/reference/asyncFunctionDeclaration12_es6.symbols index 89e42800cd7..86bec74c68d 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration12_es6.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration12_es6.symbols @@ -2,5 +2,5 @@ var v = async function await(): Promise { } >v : Symbol(v, Decl(asyncFunctionDeclaration12_es6.ts, 0, 3)) >await : Symbol(await, Decl(asyncFunctionDeclaration12_es6.ts, 0, 22)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/asyncFunctionDeclaration13_es2017.symbols b/tests/baselines/reference/asyncFunctionDeclaration13_es2017.symbols index 8ee3ca58938..f08b00b0b0e 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration13_es2017.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration13_es2017.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration13_es2017.ts === async function foo(): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration13_es2017.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Legal to use 'await' in a type context. var v: await; diff --git a/tests/baselines/reference/asyncFunctionDeclaration13_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration13_es5.symbols index e92467e5f41..8906da12e97 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration13_es5.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration13_es5.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration13_es5.ts === async function foo(): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration13_es5.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) // Legal to use 'await' in a type context. var v: await; diff --git a/tests/baselines/reference/asyncFunctionDeclaration13_es6.symbols b/tests/baselines/reference/asyncFunctionDeclaration13_es6.symbols index 65227cf510c..ba3fd3610cf 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration13_es6.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration13_es6.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es6/functionDeclarations/asyncFunctionDeclaration13_es6.ts === async function foo(): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration13_es6.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Legal to use 'await' in a type context. var v: await; diff --git a/tests/baselines/reference/asyncFunctionDeclaration14_es2017.symbols b/tests/baselines/reference/asyncFunctionDeclaration14_es2017.symbols index c7b505fa6ca..95826d1ca6d 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration14_es2017.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration14_es2017.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration14_es2017.ts === async function foo(): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration14_es2017.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return; } diff --git a/tests/baselines/reference/asyncFunctionDeclaration14_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration14_es5.symbols index 2458c22324a..fb80e5b54a4 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration14_es5.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration14_es5.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration14_es5.ts === async function foo(): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration14_es5.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) return; } diff --git a/tests/baselines/reference/asyncFunctionDeclaration14_es6.symbols b/tests/baselines/reference/asyncFunctionDeclaration14_es6.symbols index 767125e903b..f5ad8c76354 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration14_es6.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration14_es6.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es6/functionDeclarations/asyncFunctionDeclaration14_es6.ts === async function foo(): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration14_es6.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return; } diff --git a/tests/baselines/reference/asyncFunctionDeclaration15_es6.symbols b/tests/baselines/reference/asyncFunctionDeclaration15_es6.symbols index f78e25f1cac..daf0d23a7e8 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration15_es6.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration15_es6.symbols @@ -28,7 +28,7 @@ async function fn4(): number { } // error async function fn5(): PromiseLike { } // error >fn5 : Symbol(fn5, Decl(asyncFunctionDeclaration15_es6.ts, 7, 32)) ->PromiseLike : Symbol(PromiseLike, Decl(lib.es6.d.ts, --, --)) +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) async function fn6(): Thenable { } // error >fn6 : Symbol(fn6, Decl(asyncFunctionDeclaration15_es6.ts, 8, 43)) diff --git a/tests/baselines/reference/asyncFunctionDeclaration1_es2017.symbols b/tests/baselines/reference/asyncFunctionDeclaration1_es2017.symbols index a9078b39dd7..7ef3dc75919 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration1_es2017.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration1_es2017.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration1_es2017.ts === async function foo(): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration1_es2017.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration1_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration1_es5.symbols index 610af242e03..29bb887ed93 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration1_es5.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration1_es5.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration1_es5.ts === async function foo(): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration1_es5.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration1_es6.symbols b/tests/baselines/reference/asyncFunctionDeclaration1_es6.symbols index 233600bb30d..545bfbbae92 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration1_es6.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration1_es6.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es6/functionDeclarations/asyncFunctionDeclaration1_es6.ts === async function foo(): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration1_es6.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration5_es2017.symbols b/tests/baselines/reference/asyncFunctionDeclaration5_es2017.symbols index 8b501d4b03f..2a186f07ad9 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration5_es2017.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration5_es2017.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration5_es2017.ts === async function foo(await): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration5_es2017.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration5_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration5_es5.symbols index 1bbc0b3650e..5816bebe5ab 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration5_es5.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration5_es5.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration5_es5.ts === async function foo(await): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration5_es5.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration5_es6.symbols b/tests/baselines/reference/asyncFunctionDeclaration5_es6.symbols index e80dcb9224e..74ff7be33d3 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration5_es6.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration5_es6.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/async/es6/functionDeclarations/asyncFunctionDeclaration5_es6.ts === async function foo(await): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration5_es6.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration6_es2017.symbols b/tests/baselines/reference/asyncFunctionDeclaration6_es2017.symbols index 7bac561d1e7..2edabb284fc 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration6_es2017.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration6_es2017.symbols @@ -2,5 +2,5 @@ async function foo(a = await): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration6_es2017.ts, 0, 0)) >a : Symbol(a, Decl(asyncFunctionDeclaration6_es2017.ts, 0, 19)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration6_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration6_es5.symbols index 8e2533e8cdd..579899c1580 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration6_es5.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration6_es5.symbols @@ -2,5 +2,5 @@ async function foo(a = await): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration6_es5.ts, 0, 0)) >a : Symbol(a, Decl(asyncFunctionDeclaration6_es5.ts, 0, 19)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration6_es6.symbols b/tests/baselines/reference/asyncFunctionDeclaration6_es6.symbols index e9eada98ecb..712ac51c9b9 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration6_es6.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration6_es6.symbols @@ -2,5 +2,5 @@ async function foo(a = await): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration6_es6.ts, 0, 0)) >a : Symbol(a, Decl(asyncFunctionDeclaration6_es6.ts, 0, 19)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/asyncFunctionDeclaration7_es2017.symbols b/tests/baselines/reference/asyncFunctionDeclaration7_es2017.symbols index 1fccc5a1c15..3f8119d84a7 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration7_es2017.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration7_es2017.symbols @@ -1,12 +1,12 @@ === tests/cases/conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration7_es2017.ts === async function bar(): Promise { >bar : Symbol(bar, Decl(asyncFunctionDeclaration7_es2017.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // 'await' here is an identifier, and not a yield expression. async function foo(a = await): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration7_es2017.ts, 0, 37)) >a : Symbol(a, Decl(asyncFunctionDeclaration7_es2017.ts, 2, 21)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } } diff --git a/tests/baselines/reference/asyncFunctionDeclaration7_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration7_es5.symbols index 003cc2983e5..ecfc50b18fc 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration7_es5.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration7_es5.symbols @@ -1,12 +1,12 @@ === tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration7_es5.ts === async function bar(): Promise { >bar : Symbol(bar, Decl(asyncFunctionDeclaration7_es5.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) // 'await' here is an identifier, and not a yield expression. async function foo(a = await): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration7_es5.ts, 0, 37)) >a : Symbol(a, Decl(asyncFunctionDeclaration7_es5.ts, 2, 21)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } } diff --git a/tests/baselines/reference/asyncFunctionDeclaration7_es6.symbols b/tests/baselines/reference/asyncFunctionDeclaration7_es6.symbols index 697273a68db..934c41cba3a 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration7_es6.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration7_es6.symbols @@ -1,12 +1,12 @@ === tests/cases/conformance/async/es6/functionDeclarations/asyncFunctionDeclaration7_es6.ts === async function bar(): Promise { >bar : Symbol(bar, Decl(asyncFunctionDeclaration7_es6.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // 'await' here is an identifier, and not a yield expression. async function foo(a = await): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration7_es6.ts, 0, 37)) >a : Symbol(a, Decl(asyncFunctionDeclaration7_es6.ts, 2, 21)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } } diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es2017.symbols b/tests/baselines/reference/asyncFunctionDeclaration9_es2017.symbols index c06c92bf801..422d6c31b34 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration9_es2017.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es2017.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es2017/functionDeclarations/asyncFunctionDeclaration9_es2017.ts === async function foo(): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration9_es2017.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var v = { [await]: foo } >v : Symbol(v, Decl(asyncFunctionDeclaration9_es2017.ts, 1, 5)) diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration9_es5.symbols index 42a1631dadb..0bb00895b2c 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration9_es5.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es5.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration9_es5.ts === async function foo(): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration9_es5.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) var v = { [await]: foo } >v : Symbol(v, Decl(asyncFunctionDeclaration9_es5.ts, 1, 5)) diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es6.symbols b/tests/baselines/reference/asyncFunctionDeclaration9_es6.symbols index 197d16a9eac..e47aeaf9900 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration9_es6.symbols +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es6.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es6/functionDeclarations/asyncFunctionDeclaration9_es6.ts === async function foo(): Promise { >foo : Symbol(foo, Decl(asyncFunctionDeclaration9_es6.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var v = { [await]: foo } >v : Symbol(v, Decl(asyncFunctionDeclaration9_es6.ts, 1, 5)) diff --git a/tests/baselines/reference/asyncFunctionNoReturnType.symbols b/tests/baselines/reference/asyncFunctionNoReturnType.symbols index c3b1f385f0d..50911c4fb2f 100644 --- a/tests/baselines/reference/asyncFunctionNoReturnType.symbols +++ b/tests/baselines/reference/asyncFunctionNoReturnType.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/asyncFunctionNoReturnType.ts === async () => { if (window) ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) return; } diff --git a/tests/baselines/reference/asyncFunctionReturnType.symbols b/tests/baselines/reference/asyncFunctionReturnType.symbols index 314e8c39490..25a7e944c6a 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.symbols +++ b/tests/baselines/reference/asyncFunctionReturnType.symbols @@ -8,7 +8,7 @@ async function fAsync() { async function fAsyncExplicit(): Promise<[number, boolean]> { >fAsyncExplicit : Symbol(fAsyncExplicit, Decl(asyncFunctionReturnType.ts, 3, 1)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // This is contextually typed as a tuple. return [1, true]; @@ -29,7 +29,7 @@ async function fIndexedTypeForStringProp(obj: Obj): Promise { >fIndexedTypeForStringProp : Symbol(fIndexedTypeForStringProp, Decl(asyncFunctionReturnType.ts, 14, 1)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 16, 41)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) return obj.stringProp; @@ -42,13 +42,13 @@ async function fIndexedTypeForPromiseOfStringProp(obj: Obj): PromisefIndexedTypeForPromiseOfStringProp : Symbol(fIndexedTypeForPromiseOfStringProp, Decl(asyncFunctionReturnType.ts, 18, 1)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 20, 50)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) return Promise.resolve(obj.stringProp); ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >obj.stringProp : Symbol(Obj.stringProp, Decl(asyncFunctionReturnType.ts, 11, 15)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 20, 50)) >stringProp : Symbol(Obj.stringProp, Decl(asyncFunctionReturnType.ts, 11, 15)) @@ -58,13 +58,13 @@ async function fIndexedTypeForExplicitPromiseOfStringProp(obj: Obj): PromisefIndexedTypeForExplicitPromiseOfStringProp : Symbol(fIndexedTypeForExplicitPromiseOfStringProp, Decl(asyncFunctionReturnType.ts, 22, 1)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 24, 58)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) return Promise.resolve(obj.stringProp); ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) >obj.stringProp : Symbol(Obj.stringProp, Decl(asyncFunctionReturnType.ts, 11, 15)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 24, 58)) @@ -75,7 +75,7 @@ async function fIndexedTypeForAnyProp(obj: Obj): Promise { >fIndexedTypeForAnyProp : Symbol(fIndexedTypeForAnyProp, Decl(asyncFunctionReturnType.ts, 26, 1)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 28, 38)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) return obj.anyProp; @@ -88,13 +88,13 @@ async function fIndexedTypeForPromiseOfAnyProp(obj: Obj): PromisefIndexedTypeForPromiseOfAnyProp : Symbol(fIndexedTypeForPromiseOfAnyProp, Decl(asyncFunctionReturnType.ts, 30, 1)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 32, 47)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) return Promise.resolve(obj.anyProp); ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >obj.anyProp : Symbol(Obj.anyProp, Decl(asyncFunctionReturnType.ts, 12, 23)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 32, 47)) >anyProp : Symbol(Obj.anyProp, Decl(asyncFunctionReturnType.ts, 12, 23)) @@ -104,13 +104,13 @@ async function fIndexedTypeForExplicitPromiseOfAnyProp(obj: Obj): PromisefIndexedTypeForExplicitPromiseOfAnyProp : Symbol(fIndexedTypeForExplicitPromiseOfAnyProp, Decl(asyncFunctionReturnType.ts, 34, 1)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 36, 55)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) return Promise.resolve(obj.anyProp); ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) >obj.anyProp : Symbol(Obj.anyProp, Decl(asyncFunctionReturnType.ts, 12, 23)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 36, 55)) @@ -123,7 +123,7 @@ async function fGenericIndexedTypeForStringProp(obj: TObj): Pr >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 40, 66)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 40, 48)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 40, 48)) return obj.stringProp; @@ -138,13 +138,13 @@ async function fGenericIndexedTypeForPromiseOfStringProp(obj: >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 44, 75)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 44, 57)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 44, 57)) return Promise.resolve(obj.stringProp); ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >obj.stringProp : Symbol(Obj.stringProp, Decl(asyncFunctionReturnType.ts, 11, 15)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 44, 75)) >stringProp : Symbol(Obj.stringProp, Decl(asyncFunctionReturnType.ts, 11, 15)) @@ -156,13 +156,13 @@ async function fGenericIndexedTypeForExplicitPromiseOfStringPropObj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 48, 83)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 48, 65)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 48, 65)) return Promise.resolve(obj.stringProp); ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 48, 65)) >obj.stringProp : Symbol(Obj.stringProp, Decl(asyncFunctionReturnType.ts, 11, 15)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 48, 83)) @@ -175,7 +175,7 @@ async function fGenericIndexedTypeForAnyProp(obj: TObj): Promi >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 52, 63)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 52, 45)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 52, 45)) return obj.anyProp; @@ -190,13 +190,13 @@ async function fGenericIndexedTypeForPromiseOfAnyProp(obj: TOb >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 56, 72)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 56, 54)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 56, 54)) return Promise.resolve(obj.anyProp); ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >obj.anyProp : Symbol(Obj.anyProp, Decl(asyncFunctionReturnType.ts, 12, 23)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 56, 72)) >anyProp : Symbol(Obj.anyProp, Decl(asyncFunctionReturnType.ts, 12, 23)) @@ -208,13 +208,13 @@ async function fGenericIndexedTypeForExplicitPromiseOfAnyProp( >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 60, 80)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 60, 62)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 60, 62)) return Promise.resolve(obj.anyProp); ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 60, 62)) >obj.anyProp : Symbol(Obj.anyProp, Decl(asyncFunctionReturnType.ts, 12, 23)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 60, 80)) @@ -231,7 +231,7 @@ async function fGenericIndexedTypeForKPropTObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 64, 43)) >key : Symbol(key, Decl(asyncFunctionReturnType.ts, 64, 93)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 64, 60)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 64, 43)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 64, 60)) @@ -250,14 +250,14 @@ async function fGenericIndexedTypeForPromiseOfKPropTObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 68, 52)) >key : Symbol(key, Decl(asyncFunctionReturnType.ts, 68, 102)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 68, 69)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 68, 52)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 68, 69)) return Promise.resolve(obj[key]); ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 68, 92)) >key : Symbol(key, Decl(asyncFunctionReturnType.ts, 68, 102)) } @@ -272,14 +272,14 @@ async function fGenericIndexedTypeForExplicitPromiseOfKPropTObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 72, 60)) >key : Symbol(key, Decl(asyncFunctionReturnType.ts, 72, 110)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 72, 77)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 72, 60)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 72, 77)) return Promise.resolve(obj[key]); ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 72, 60)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 72, 77)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 72, 100)) diff --git a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.symbols b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.symbols index a6d0e0716d8..2e232ff3f4a 100644 --- a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.symbols +++ b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.symbols @@ -105,7 +105,7 @@ declare function resolve1(value: T): Promise; >T : Symbol(T, Decl(asyncFunctionsAndStrictNullChecks.ts, 17, 26)) >value : Symbol(value, Decl(asyncFunctionsAndStrictNullChecks.ts, 17, 29)) >T : Symbol(T, Decl(asyncFunctionsAndStrictNullChecks.ts, 17, 26)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(asyncFunctionsAndStrictNullChecks.ts, 17, 26)) declare function resolve2(value: T): Windows.Foundation.IPromise; diff --git a/tests/baselines/reference/asyncIIFE.symbols b/tests/baselines/reference/asyncIIFE.symbols index b92404dadab..ab7f297379e 100644 --- a/tests/baselines/reference/asyncIIFE.symbols +++ b/tests/baselines/reference/asyncIIFE.symbols @@ -5,7 +5,7 @@ function f1() { (async () => { await 10 throw new Error(); ->Error : Symbol(Error, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) })(); diff --git a/tests/baselines/reference/asyncImportedPromise_es5.symbols b/tests/baselines/reference/asyncImportedPromise_es5.symbols index c4ff901f5b9..257bea2eb90 100644 --- a/tests/baselines/reference/asyncImportedPromise_es5.symbols +++ b/tests/baselines/reference/asyncImportedPromise_es5.symbols @@ -2,7 +2,7 @@ export class Task extends Promise { } >Task : Symbol(Task, Decl(task.ts, 0, 0)) >T : Symbol(T, Decl(task.ts, 0, 18)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >T : Symbol(T, Decl(task.ts, 0, 18)) === tests/cases/conformance/async/es5/test.ts === diff --git a/tests/baselines/reference/asyncImportedPromise_es6.symbols b/tests/baselines/reference/asyncImportedPromise_es6.symbols index b9a69b0570f..388547c48ad 100644 --- a/tests/baselines/reference/asyncImportedPromise_es6.symbols +++ b/tests/baselines/reference/asyncImportedPromise_es6.symbols @@ -2,7 +2,7 @@ export class Task extends Promise { } >Task : Symbol(Task, Decl(task.ts, 0, 0)) >T : Symbol(T, Decl(task.ts, 0, 18)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(task.ts, 0, 18)) === tests/cases/conformance/async/es6/test.ts === diff --git a/tests/baselines/reference/asyncQualifiedReturnType_es5.symbols b/tests/baselines/reference/asyncQualifiedReturnType_es5.symbols index 8964074ed61..bca6709ec06 100644 --- a/tests/baselines/reference/asyncQualifiedReturnType_es5.symbols +++ b/tests/baselines/reference/asyncQualifiedReturnType_es5.symbols @@ -5,7 +5,7 @@ namespace X { export class MyPromise extends Promise { >MyPromise : Symbol(MyPromise, Decl(asyncQualifiedReturnType_es5.ts, 0, 13)) >T : Symbol(T, Decl(asyncQualifiedReturnType_es5.ts, 1, 27)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >T : Symbol(T, Decl(asyncQualifiedReturnType_es5.ts, 1, 27)) } } diff --git a/tests/baselines/reference/asyncQualifiedReturnType_es6.symbols b/tests/baselines/reference/asyncQualifiedReturnType_es6.symbols index 6965ef361d2..f2216a9f985 100644 --- a/tests/baselines/reference/asyncQualifiedReturnType_es6.symbols +++ b/tests/baselines/reference/asyncQualifiedReturnType_es6.symbols @@ -5,7 +5,7 @@ namespace X { export class MyPromise extends Promise { >MyPromise : Symbol(MyPromise, Decl(asyncQualifiedReturnType_es6.ts, 0, 13)) >T : Symbol(T, Decl(asyncQualifiedReturnType_es6.ts, 1, 27)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(asyncQualifiedReturnType_es6.ts, 1, 27)) } } diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.symbols b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.symbols index 181f4a223ad..faefa051d3c 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.symbols +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.symbols @@ -2,7 +2,7 @@ declare function someOtherFunction(i: any): Promise; >someOtherFunction : Symbol(someOtherFunction, Decl(asyncUnParenthesizedArrowFunction_es2017.ts, 0, 0)) >i : Symbol(i, Decl(asyncUnParenthesizedArrowFunction_es2017.ts, 0, 35)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) const x = async i => await someOtherFunction(i) >x : Symbol(x, Decl(asyncUnParenthesizedArrowFunction_es2017.ts, 1, 5)) diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.symbols b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.symbols index c74ecdb8f7a..6ed6d5f7ae3 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.symbols +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.symbols @@ -2,7 +2,7 @@ declare function someOtherFunction(i: any): Promise; >someOtherFunction : Symbol(someOtherFunction, Decl(asyncUnParenthesizedArrowFunction_es5.ts, 0, 0)) >i : Symbol(i, Decl(asyncUnParenthesizedArrowFunction_es5.ts, 0, 35)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const x = async i => await someOtherFunction(i) >x : Symbol(x, Decl(asyncUnParenthesizedArrowFunction_es5.ts, 1, 5)) diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.symbols b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.symbols index dd896b88138..5350a1c16b8 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.symbols +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.symbols @@ -2,7 +2,7 @@ declare function someOtherFunction(i: any): Promise; >someOtherFunction : Symbol(someOtherFunction, Decl(asyncUnParenthesizedArrowFunction_es6.ts, 0, 0)) >i : Symbol(i, Decl(asyncUnParenthesizedArrowFunction_es6.ts, 0, 35)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) const x = async i => await someOtherFunction(i) >x : Symbol(x, Decl(asyncUnParenthesizedArrowFunction_es6.ts, 1, 5)) diff --git a/tests/baselines/reference/asyncUseStrict_es2017.symbols b/tests/baselines/reference/asyncUseStrict_es2017.symbols index 36c5604c263..d3ee149f8f4 100644 --- a/tests/baselines/reference/asyncUseStrict_es2017.symbols +++ b/tests/baselines/reference/asyncUseStrict_es2017.symbols @@ -4,11 +4,11 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(asyncUseStrict_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async function func(): Promise { >func : Symbol(func, Decl(asyncUseStrict_es2017.ts, 1, 32)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) "use strict"; var b = await p || a; diff --git a/tests/baselines/reference/asyncUseStrict_es5.symbols b/tests/baselines/reference/asyncUseStrict_es5.symbols index 925f348249b..96322bdec94 100644 --- a/tests/baselines/reference/asyncUseStrict_es5.symbols +++ b/tests/baselines/reference/asyncUseStrict_es5.symbols @@ -4,11 +4,11 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(asyncUseStrict_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) async function func(): Promise { >func : Symbol(func, Decl(asyncUseStrict_es5.ts, 1, 32)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) "use strict"; var b = await p || a; diff --git a/tests/baselines/reference/asyncUseStrict_es6.symbols b/tests/baselines/reference/asyncUseStrict_es6.symbols index 79a93033aef..ebfea38de7c 100644 --- a/tests/baselines/reference/asyncUseStrict_es6.symbols +++ b/tests/baselines/reference/asyncUseStrict_es6.symbols @@ -4,11 +4,11 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(asyncUseStrict_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) async function func(): Promise { >func : Symbol(func, Decl(asyncUseStrict_es6.ts, 1, 32)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) "use strict"; var b = await p || a; diff --git a/tests/baselines/reference/augmentArray.symbols b/tests/baselines/reference/augmentArray.symbols index ae0caddb1c6..c26db98bef9 100644 --- a/tests/baselines/reference/augmentArray.symbols +++ b/tests/baselines/reference/augmentArray.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/augmentArray.ts === interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(augmentArray.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(augmentArray.ts, 0, 16)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(augmentArray.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(augmentArray.ts, 0, 16)) (): any[]; } diff --git a/tests/baselines/reference/augmentExportEquals5.symbols b/tests/baselines/reference/augmentExportEquals5.symbols index 0bf821f6cad..244073b6515 100644 --- a/tests/baselines/reference/augmentExportEquals5.symbols +++ b/tests/baselines/reference/augmentExportEquals5.symbols @@ -39,7 +39,7 @@ declare module "express" { (name: string|RegExp, ...handlers: RequestHandler[]): T; >name : Symbol(name, Decl(express.d.ts, 14, 13)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >handlers : Symbol(handlers, Decl(express.d.ts, 14, 33)) >RequestHandler : Symbol(RequestHandler, Decl(express.d.ts, 38, 9)) >T : Symbol(T, Decl(express.d.ts, 13, 33)) @@ -69,7 +69,7 @@ declare module "express" { interface Errback { (err: Error): void; } >Errback : Symbol(Errback, Decl(express.d.ts, 23, 58)) >err : Symbol(err, Decl(express.d.ts, 25, 29)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) interface Request extends Express.Request { >Request : Symbol(Request, Decl(express.d.ts, 25, 49), Decl(augmentation.ts, 2, 26)) @@ -102,7 +102,7 @@ declare module "express" { >res : Symbol(res, Decl(express.d.ts, 37, 36)) >Response : Symbol(Response, Decl(express.d.ts, 30, 9)) >next : Symbol(next, Decl(express.d.ts, 37, 51)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } interface RequestHandler { @@ -114,7 +114,7 @@ declare module "express" { >res : Symbol(res, Decl(express.d.ts, 41, 26)) >Response : Symbol(Response, Decl(express.d.ts, 30, 9)) >next : Symbol(next, Decl(express.d.ts, 41, 41)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } interface Handler extends RequestHandler {} @@ -130,7 +130,7 @@ declare module "express" { >res : Symbol(res, Decl(express.d.ts, 47, 26)) >Response : Symbol(Response, Decl(express.d.ts, 30, 9)) >next : Symbol(next, Decl(express.d.ts, 47, 41)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(express.d.ts, 47, 57)) } diff --git a/tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.symbols b/tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.symbols index 6057cef5c8f..2a89fb6e3a2 100644 --- a/tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.symbols +++ b/tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.symbols @@ -8,7 +8,7 @@ interface Bar { b } >b : Symbol(Bar.b, Decl(augmentedTypeAssignmentCompatIndexSignature.ts, 1, 15)) interface Object { ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(augmentedTypeAssignmentCompatIndexSignature.ts, 1, 19)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(augmentedTypeAssignmentCompatIndexSignature.ts, 1, 19)) [n: number]: Foo; >n : Symbol(n, Decl(augmentedTypeAssignmentCompatIndexSignature.ts, 4, 5)) @@ -16,7 +16,7 @@ interface Object { } interface Function { ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(augmentedTypeAssignmentCompatIndexSignature.ts, 5, 1)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(augmentedTypeAssignmentCompatIndexSignature.ts, 5, 1)) [n: number]: Bar; >n : Symbol(n, Decl(augmentedTypeAssignmentCompatIndexSignature.ts, 8, 5)) diff --git a/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.symbols b/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.symbols index 9ab4ceb9068..3ba42af44ba 100644 --- a/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.symbols +++ b/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.symbols @@ -8,7 +8,7 @@ interface Bar { b } >b : Symbol(Bar.b, Decl(augmentedTypeBracketAccessIndexSignature.ts, 1, 15)) interface Object { ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(augmentedTypeBracketAccessIndexSignature.ts, 1, 19)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(augmentedTypeBracketAccessIndexSignature.ts, 1, 19)) [n: number]: Foo; >n : Symbol(n, Decl(augmentedTypeBracketAccessIndexSignature.ts, 4, 5)) @@ -16,7 +16,7 @@ interface Object { } interface Function { ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(augmentedTypeBracketAccessIndexSignature.ts, 5, 1)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(augmentedTypeBracketAccessIndexSignature.ts, 5, 1)) [n: number]: Bar; >n : Symbol(n, Decl(augmentedTypeBracketAccessIndexSignature.ts, 8, 5)) diff --git a/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.symbols b/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.symbols index c51c0497ec8..230635f9612 100644 --- a/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.symbols +++ b/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.symbols @@ -1,12 +1,12 @@ === tests/cases/compiler/augmentedTypeBracketNamedPropertyAccess.ts === interface Object { ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(augmentedTypeBracketNamedPropertyAccess.ts, 0, 0)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(augmentedTypeBracketNamedPropertyAccess.ts, 0, 0)) data: number; >data : Symbol(Object.data, Decl(augmentedTypeBracketNamedPropertyAccess.ts, 0, 18)) } interface Function { ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(augmentedTypeBracketNamedPropertyAccess.ts, 2, 1)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(augmentedTypeBracketNamedPropertyAccess.ts, 2, 1)) functionData: string; >functionData : Symbol(Function.functionData, Decl(augmentedTypeBracketNamedPropertyAccess.ts, 3, 20)) diff --git a/tests/baselines/reference/autoLift2.symbols b/tests/baselines/reference/autoLift2.symbols index bcb45998d46..2547f1f25d0 100644 --- a/tests/baselines/reference/autoLift2.symbols +++ b/tests/baselines/reference/autoLift2.symbols @@ -22,14 +22,14 @@ class A >this : Symbol(A, Decl(autoLift2.ts, 0, 0)) [1, 2].forEach((p) => this.foo); ->[1, 2].forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>[1, 2].forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(autoLift2.ts, 15, 21)) >this : Symbol(A, Decl(autoLift2.ts, 0, 0)) [1, 2].forEach((p) => this.bar); ->[1, 2].forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>[1, 2].forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(autoLift2.ts, 17, 21)) >this : Symbol(A, Decl(autoLift2.ts, 0, 0)) diff --git a/tests/baselines/reference/autolift3.symbols b/tests/baselines/reference/autolift3.symbols index 0277ececf08..846ab8f7989 100644 --- a/tests/baselines/reference/autolift3.symbols +++ b/tests/baselines/reference/autolift3.symbols @@ -27,9 +27,9 @@ class B { >path : Symbol(path, Decl(autolift3.ts, 13, 39)) return fso.toString(); ->fso.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>fso.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >fso : Symbol(fso, Decl(autolift3.ts, 10, 19)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } } })(); diff --git a/tests/baselines/reference/autolift4.symbols b/tests/baselines/reference/autolift4.symbols index 9fc5d6370ba..db309922d49 100644 --- a/tests/baselines/reference/autolift4.symbols +++ b/tests/baselines/reference/autolift4.symbols @@ -11,9 +11,9 @@ class Point { >getDist : Symbol(Point.getDist, Decl(autolift4.ts, 4, 5)) return Math.sqrt(this.x*this.x + this.y*this.y); ->Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) +>Math.sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) >this.x : Symbol(Point.x, Decl(autolift4.ts, 2, 16)) >this : Symbol(Point, Decl(autolift4.ts, 0, 0)) >x : Symbol(Point.x, Decl(autolift4.ts, 2, 16)) @@ -52,9 +52,9 @@ class Point3D extends Point { >getDist : Symbol(Point3D.getDist, Decl(autolift4.ts, 15, 5)) return Math.sqrt(this.x*this.x + this.y*this.y + this.z*this.m); ->Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) +>Math.sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) >this.x : Symbol(Point.x, Decl(autolift4.ts, 2, 16)) >this : Symbol(Point3D, Decl(autolift4.ts, 9, 1)) >x : Symbol(Point.x, Decl(autolift4.ts, 2, 16)) diff --git a/tests/baselines/reference/awaitBinaryExpression1_es2017.symbols b/tests/baselines/reference/awaitBinaryExpression1_es2017.symbols index 17bacd3b807..ad065fad529 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es2017.symbols +++ b/tests/baselines/reference/awaitBinaryExpression1_es2017.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression1_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression1_es2017.ts, 1, 32)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression1_es2017.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression1_es2017.ts, 1, 32)) diff --git a/tests/baselines/reference/awaitBinaryExpression1_es5.symbols b/tests/baselines/reference/awaitBinaryExpression1_es5.symbols index b1b3b04d6aa..8e95936b90e 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es5.symbols +++ b/tests/baselines/reference/awaitBinaryExpression1_es5.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression1_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression1_es5.ts, 1, 32)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression1_es5.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression1_es5.ts, 1, 32)) diff --git a/tests/baselines/reference/awaitBinaryExpression1_es6.symbols b/tests/baselines/reference/awaitBinaryExpression1_es6.symbols index 68052539ce2..bc05923beb0 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es6.symbols +++ b/tests/baselines/reference/awaitBinaryExpression1_es6.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression1_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression1_es6.ts, 1, 32)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression1_es6.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression1_es6.ts, 1, 32)) diff --git a/tests/baselines/reference/awaitBinaryExpression2_es2017.symbols b/tests/baselines/reference/awaitBinaryExpression2_es2017.symbols index a41b4ca3e8a..42536e4d897 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es2017.symbols +++ b/tests/baselines/reference/awaitBinaryExpression2_es2017.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression2_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression2_es2017.ts, 1, 32)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression2_es2017.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression2_es2017.ts, 1, 32)) diff --git a/tests/baselines/reference/awaitBinaryExpression2_es5.symbols b/tests/baselines/reference/awaitBinaryExpression2_es5.symbols index 1f8bafa8a37..75c0767d100 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es5.symbols +++ b/tests/baselines/reference/awaitBinaryExpression2_es5.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression2_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression2_es5.ts, 1, 32)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression2_es5.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression2_es5.ts, 1, 32)) diff --git a/tests/baselines/reference/awaitBinaryExpression2_es6.symbols b/tests/baselines/reference/awaitBinaryExpression2_es6.symbols index 4b4c5d9f8d1..536f268c77e 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es6.symbols +++ b/tests/baselines/reference/awaitBinaryExpression2_es6.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression2_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression2_es6.ts, 1, 32)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression2_es6.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression2_es6.ts, 1, 32)) diff --git a/tests/baselines/reference/awaitBinaryExpression3_es2017.symbols b/tests/baselines/reference/awaitBinaryExpression3_es2017.symbols index 7270c58eb85..98a0d9f43ab 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es2017.symbols +++ b/tests/baselines/reference/awaitBinaryExpression3_es2017.symbols @@ -4,7 +4,7 @@ declare var a: number; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression3_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression3_es2017.ts, 1, 31)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression3_es2017.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression3_es2017.ts, 1, 31)) diff --git a/tests/baselines/reference/awaitBinaryExpression3_es5.symbols b/tests/baselines/reference/awaitBinaryExpression3_es5.symbols index 7e8cd107b42..b64e81b6415 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es5.symbols +++ b/tests/baselines/reference/awaitBinaryExpression3_es5.symbols @@ -4,7 +4,7 @@ declare var a: number; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression3_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression3_es5.ts, 1, 31)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression3_es5.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression3_es5.ts, 1, 31)) diff --git a/tests/baselines/reference/awaitBinaryExpression3_es6.symbols b/tests/baselines/reference/awaitBinaryExpression3_es6.symbols index 5d2f580413c..0b8a9c11a96 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es6.symbols +++ b/tests/baselines/reference/awaitBinaryExpression3_es6.symbols @@ -4,7 +4,7 @@ declare var a: number; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression3_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression3_es6.ts, 1, 31)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression3_es6.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression3_es6.ts, 1, 31)) diff --git a/tests/baselines/reference/awaitBinaryExpression4_es2017.symbols b/tests/baselines/reference/awaitBinaryExpression4_es2017.symbols index b878df08349..fa15673393c 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es2017.symbols +++ b/tests/baselines/reference/awaitBinaryExpression4_es2017.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression4_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression4_es2017.ts, 1, 32)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression4_es2017.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression4_es2017.ts, 1, 32)) diff --git a/tests/baselines/reference/awaitBinaryExpression4_es5.symbols b/tests/baselines/reference/awaitBinaryExpression4_es5.symbols index 19ffe817b15..000c99b2537 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es5.symbols +++ b/tests/baselines/reference/awaitBinaryExpression4_es5.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression4_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression4_es5.ts, 1, 32)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression4_es5.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression4_es5.ts, 1, 32)) diff --git a/tests/baselines/reference/awaitBinaryExpression4_es6.symbols b/tests/baselines/reference/awaitBinaryExpression4_es6.symbols index f1712ff9acb..1e1c195bf07 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es6.symbols +++ b/tests/baselines/reference/awaitBinaryExpression4_es6.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression4_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression4_es6.ts, 1, 32)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression4_es6.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression4_es6.ts, 1, 32)) diff --git a/tests/baselines/reference/awaitBinaryExpression5_es2017.symbols b/tests/baselines/reference/awaitBinaryExpression5_es2017.symbols index d22cd1c129b..4b7f46d9061 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es2017.symbols +++ b/tests/baselines/reference/awaitBinaryExpression5_es2017.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression5_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression5_es2017.ts, 1, 32)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression5_es2017.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression5_es2017.ts, 1, 32)) diff --git a/tests/baselines/reference/awaitBinaryExpression5_es5.symbols b/tests/baselines/reference/awaitBinaryExpression5_es5.symbols index b7255d25a57..fffaa83eda9 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es5.symbols +++ b/tests/baselines/reference/awaitBinaryExpression5_es5.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression5_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression5_es5.ts, 1, 32)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression5_es5.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression5_es5.ts, 1, 32)) diff --git a/tests/baselines/reference/awaitBinaryExpression5_es6.symbols b/tests/baselines/reference/awaitBinaryExpression5_es6.symbols index 2528c33b466..4a3aac229ff 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es6.symbols +++ b/tests/baselines/reference/awaitBinaryExpression5_es6.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression5_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function before(): void; >before : Symbol(before, Decl(awaitBinaryExpression5_es6.ts, 1, 32)) @@ -14,7 +14,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitBinaryExpression5_es6.ts, 3, 31)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitBinaryExpression5_es6.ts, 1, 32)) diff --git a/tests/baselines/reference/awaitCallExpression1_es2017.symbols b/tests/baselines/reference/awaitCallExpression1_es2017.symbols index dd057bb3f77..35acd3663e5 100644 --- a/tests/baselines/reference/awaitCallExpression1_es2017.symbols +++ b/tests/baselines/reference/awaitCallExpression1_es2017.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression1_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression1_es2017.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression1_es2017.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression1_es2017.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression1_es2017.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression1_es2017.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression1_es2017.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression1_es2017.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression1_es2017.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression1_es2017.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression1_es2017.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression1_es2017.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression1_es5.symbols b/tests/baselines/reference/awaitCallExpression1_es5.symbols index 61851ae77f7..14389422c6b 100644 --- a/tests/baselines/reference/awaitCallExpression1_es5.symbols +++ b/tests/baselines/reference/awaitCallExpression1_es5.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression1_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression1_es5.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression1_es5.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression1_es5.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression1_es5.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression1_es5.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression1_es5.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression1_es5.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression1_es5.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression1_es5.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression1_es5.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression1_es5.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression1_es6.symbols b/tests/baselines/reference/awaitCallExpression1_es6.symbols index a4e9ed32efb..1f918b01d0d 100644 --- a/tests/baselines/reference/awaitCallExpression1_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression1_es6.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression1_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression1_es6.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression1_es6.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression1_es6.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression1_es6.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression1_es6.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression1_es6.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression1_es6.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression1_es6.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression1_es6.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression1_es6.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression1_es6.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression2_es2017.symbols b/tests/baselines/reference/awaitCallExpression2_es2017.symbols index a820355cad1..c11aa164277 100644 --- a/tests/baselines/reference/awaitCallExpression2_es2017.symbols +++ b/tests/baselines/reference/awaitCallExpression2_es2017.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression2_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression2_es2017.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression2_es2017.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression2_es2017.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression2_es2017.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression2_es2017.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression2_es2017.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression2_es2017.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression2_es2017.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression2_es2017.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression2_es2017.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression2_es2017.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression2_es5.symbols b/tests/baselines/reference/awaitCallExpression2_es5.symbols index 71ecc53a3c9..260f69eeb53 100644 --- a/tests/baselines/reference/awaitCallExpression2_es5.symbols +++ b/tests/baselines/reference/awaitCallExpression2_es5.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression2_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression2_es5.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression2_es5.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression2_es5.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression2_es5.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression2_es5.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression2_es5.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression2_es5.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression2_es5.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression2_es5.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression2_es5.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression2_es5.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression2_es6.symbols b/tests/baselines/reference/awaitCallExpression2_es6.symbols index dd0b5f0cacc..4f1faeb6621 100644 --- a/tests/baselines/reference/awaitCallExpression2_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression2_es6.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression2_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression2_es6.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression2_es6.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression2_es6.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression2_es6.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression2_es6.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression2_es6.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression2_es6.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression2_es6.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression2_es6.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression2_es6.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression2_es6.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression3_es2017.symbols b/tests/baselines/reference/awaitCallExpression3_es2017.symbols index 446bff9b558..f7662a55198 100644 --- a/tests/baselines/reference/awaitCallExpression3_es2017.symbols +++ b/tests/baselines/reference/awaitCallExpression3_es2017.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression3_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression3_es2017.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression3_es2017.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression3_es2017.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression3_es2017.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression3_es2017.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression3_es2017.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression3_es2017.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression3_es2017.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression3_es2017.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression3_es2017.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression3_es2017.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression3_es5.symbols b/tests/baselines/reference/awaitCallExpression3_es5.symbols index 66ef232948d..627ada51b52 100644 --- a/tests/baselines/reference/awaitCallExpression3_es5.symbols +++ b/tests/baselines/reference/awaitCallExpression3_es5.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression3_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression3_es5.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression3_es5.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression3_es5.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression3_es5.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression3_es5.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression3_es5.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression3_es5.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression3_es5.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression3_es5.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression3_es5.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression3_es5.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression3_es6.symbols b/tests/baselines/reference/awaitCallExpression3_es6.symbols index 08ed94d6331..305f4660894 100644 --- a/tests/baselines/reference/awaitCallExpression3_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression3_es6.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression3_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression3_es6.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression3_es6.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression3_es6.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression3_es6.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression3_es6.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression3_es6.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression3_es6.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression3_es6.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression3_es6.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression3_es6.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression3_es6.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression4_es2017.symbols b/tests/baselines/reference/awaitCallExpression4_es2017.symbols index f1be8514132..0f87fa9cb0e 100644 --- a/tests/baselines/reference/awaitCallExpression4_es2017.symbols +++ b/tests/baselines/reference/awaitCallExpression4_es2017.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression4_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression4_es2017.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression4_es2017.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression4_es2017.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression4_es2017.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression4_es2017.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression4_es2017.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression4_es2017.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression4_es2017.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression4_es2017.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression4_es2017.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression4_es2017.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression4_es5.symbols b/tests/baselines/reference/awaitCallExpression4_es5.symbols index f52e6d2b59e..c77e27e690c 100644 --- a/tests/baselines/reference/awaitCallExpression4_es5.symbols +++ b/tests/baselines/reference/awaitCallExpression4_es5.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression4_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression4_es5.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression4_es5.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression4_es5.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression4_es5.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression4_es5.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression4_es5.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression4_es5.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression4_es5.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression4_es5.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression4_es5.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression4_es5.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression4_es6.symbols b/tests/baselines/reference/awaitCallExpression4_es6.symbols index 92dbd857d0a..e881a66b83b 100644 --- a/tests/baselines/reference/awaitCallExpression4_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression4_es6.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression4_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression4_es6.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression4_es6.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression4_es6.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression4_es6.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression4_es6.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression4_es6.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression4_es6.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression4_es6.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression4_es6.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression4_es6.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression4_es6.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression5_es2017.symbols b/tests/baselines/reference/awaitCallExpression5_es2017.symbols index 2f9889f82fd..30dc5f47eea 100644 --- a/tests/baselines/reference/awaitCallExpression5_es2017.symbols +++ b/tests/baselines/reference/awaitCallExpression5_es2017.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression5_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression5_es2017.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression5_es2017.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression5_es2017.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression5_es2017.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression5_es2017.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression5_es2017.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression5_es2017.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression5_es2017.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression5_es2017.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression5_es2017.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression5_es2017.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression5_es5.symbols b/tests/baselines/reference/awaitCallExpression5_es5.symbols index 2d7b9bd875e..e63a1e5023b 100644 --- a/tests/baselines/reference/awaitCallExpression5_es5.symbols +++ b/tests/baselines/reference/awaitCallExpression5_es5.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression5_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression5_es5.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression5_es5.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression5_es5.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression5_es5.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression5_es5.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression5_es5.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression5_es5.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression5_es5.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression5_es5.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression5_es5.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression5_es5.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression5_es6.symbols b/tests/baselines/reference/awaitCallExpression5_es6.symbols index 54dd4341869..2ae8b7e1c4f 100644 --- a/tests/baselines/reference/awaitCallExpression5_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression5_es6.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression5_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression5_es6.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression5_es6.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression5_es6.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression5_es6.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression5_es6.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression5_es6.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression5_es6.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression5_es6.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression5_es6.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression5_es6.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression5_es6.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression6_es2017.symbols b/tests/baselines/reference/awaitCallExpression6_es2017.symbols index 81f5f4f685e..b79361a3d2d 100644 --- a/tests/baselines/reference/awaitCallExpression6_es2017.symbols +++ b/tests/baselines/reference/awaitCallExpression6_es2017.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression6_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression6_es2017.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression6_es2017.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression6_es2017.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression6_es2017.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression6_es2017.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression6_es2017.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression6_es2017.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression6_es2017.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression6_es2017.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression6_es2017.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression6_es2017.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression6_es5.symbols b/tests/baselines/reference/awaitCallExpression6_es5.symbols index a361b7ea736..7b524508032 100644 --- a/tests/baselines/reference/awaitCallExpression6_es5.symbols +++ b/tests/baselines/reference/awaitCallExpression6_es5.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression6_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression6_es5.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression6_es5.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression6_es5.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression6_es5.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression6_es5.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression6_es5.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression6_es5.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression6_es5.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression6_es5.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression6_es5.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression6_es5.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression6_es6.symbols b/tests/baselines/reference/awaitCallExpression6_es6.symbols index 00d9b4f4be2..109afe13655 100644 --- a/tests/baselines/reference/awaitCallExpression6_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression6_es6.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression6_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression6_es6.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression6_es6.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression6_es6.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression6_es6.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression6_es6.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression6_es6.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression6_es6.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression6_es6.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression6_es6.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression6_es6.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression6_es6.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression7_es2017.symbols b/tests/baselines/reference/awaitCallExpression7_es2017.symbols index b30b9ae9711..9502156a7a7 100644 --- a/tests/baselines/reference/awaitCallExpression7_es2017.symbols +++ b/tests/baselines/reference/awaitCallExpression7_es2017.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression7_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression7_es2017.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression7_es2017.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression7_es2017.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression7_es2017.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression7_es2017.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression7_es2017.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression7_es2017.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression7_es2017.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression7_es2017.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression7_es2017.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression7_es2017.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression7_es5.symbols b/tests/baselines/reference/awaitCallExpression7_es5.symbols index 3b56d8520b0..89c055b7ace 100644 --- a/tests/baselines/reference/awaitCallExpression7_es5.symbols +++ b/tests/baselines/reference/awaitCallExpression7_es5.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression7_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression7_es5.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression7_es5.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression7_es5.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression7_es5.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression7_es5.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression7_es5.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression7_es5.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression7_es5.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression7_es5.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression7_es5.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression7_es5.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression7_es6.symbols b/tests/baselines/reference/awaitCallExpression7_es6.symbols index 24be2b5c844..8a345d92daa 100644 --- a/tests/baselines/reference/awaitCallExpression7_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression7_es6.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression7_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression7_es6.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression7_es6.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression7_es6.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression7_es6.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression7_es6.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression7_es6.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression7_es6.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression7_es6.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression7_es6.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression7_es6.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression7_es6.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression8_es2017.symbols b/tests/baselines/reference/awaitCallExpression8_es2017.symbols index 42e41b65e2a..92360982200 100644 --- a/tests/baselines/reference/awaitCallExpression8_es2017.symbols +++ b/tests/baselines/reference/awaitCallExpression8_es2017.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression8_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression8_es2017.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression8_es2017.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression8_es2017.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression8_es2017.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression8_es2017.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression8_es2017.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression8_es2017.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression8_es2017.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression8_es2017.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression8_es2017.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression8_es2017.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression8_es5.symbols b/tests/baselines/reference/awaitCallExpression8_es5.symbols index e7f1659a7e7..a525179b0c6 100644 --- a/tests/baselines/reference/awaitCallExpression8_es5.symbols +++ b/tests/baselines/reference/awaitCallExpression8_es5.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression8_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression8_es5.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression8_es5.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression8_es5.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression8_es5.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression8_es5.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression8_es5.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression8_es5.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression8_es5.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression8_es5.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression8_es5.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression8_es5.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitCallExpression8_es6.symbols b/tests/baselines/reference/awaitCallExpression8_es6.symbols index 6a8d45250b9..68b10716213 100644 --- a/tests/baselines/reference/awaitCallExpression8_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression8_es6.symbols @@ -4,7 +4,7 @@ declare var a: boolean; declare var p: Promise; >p : Symbol(p, Decl(awaitCallExpression8_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >fn : Symbol(fn, Decl(awaitCallExpression8_es6.ts, 1, 32)) @@ -21,14 +21,14 @@ declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >pfn : Symbol(pfn, Decl(awaitCallExpression8_es6.ts, 4, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >arg0 : Symbol(arg0, Decl(awaitCallExpression8_es6.ts, 4, 28)) >arg1 : Symbol(arg1, Decl(awaitCallExpression8_es6.ts, 4, 42)) >arg2 : Symbol(arg2, Decl(awaitCallExpression8_es6.ts, 4, 57)) declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; >po : Symbol(po, Decl(awaitCallExpression8_es6.ts, 5, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn : Symbol(fn, Decl(awaitCallExpression8_es6.ts, 5, 25)) >arg0 : Symbol(arg0, Decl(awaitCallExpression8_es6.ts, 5, 29)) >arg1 : Symbol(arg1, Decl(awaitCallExpression8_es6.ts, 5, 43)) @@ -42,7 +42,7 @@ declare function after(): void; async function func(): Promise { >func : Symbol(func, Decl(awaitCallExpression8_es6.ts, 7, 31)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) before(); >before : Symbol(before, Decl(awaitCallExpression8_es6.ts, 5, 84)) diff --git a/tests/baselines/reference/awaitClassExpression_es2017.symbols b/tests/baselines/reference/awaitClassExpression_es2017.symbols index fbf0e971b07..2933a55f8ec 100644 --- a/tests/baselines/reference/awaitClassExpression_es2017.symbols +++ b/tests/baselines/reference/awaitClassExpression_es2017.symbols @@ -4,12 +4,12 @@ declare class C { } declare var p: Promise; >p : Symbol(p, Decl(awaitClassExpression_es2017.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >C : Symbol(C, Decl(awaitClassExpression_es2017.ts, 0, 0)) async function func(): Promise { >func : Symbol(func, Decl(awaitClassExpression_es2017.ts, 1, 33)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) class D extends (await p) { >D : Symbol(D, Decl(awaitClassExpression_es2017.ts, 3, 38)) diff --git a/tests/baselines/reference/awaitClassExpression_es5.symbols b/tests/baselines/reference/awaitClassExpression_es5.symbols index 18b742e4437..aeed866e7b3 100644 --- a/tests/baselines/reference/awaitClassExpression_es5.symbols +++ b/tests/baselines/reference/awaitClassExpression_es5.symbols @@ -4,12 +4,12 @@ declare class C { } declare var p: Promise; >p : Symbol(p, Decl(awaitClassExpression_es5.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >C : Symbol(C, Decl(awaitClassExpression_es5.ts, 0, 0)) async function func(): Promise { >func : Symbol(func, Decl(awaitClassExpression_es5.ts, 1, 33)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) class D extends (await p) { >D : Symbol(D, Decl(awaitClassExpression_es5.ts, 3, 38)) diff --git a/tests/baselines/reference/awaitClassExpression_es6.symbols b/tests/baselines/reference/awaitClassExpression_es6.symbols index 712bd8f51a4..63162c138ac 100644 --- a/tests/baselines/reference/awaitClassExpression_es6.symbols +++ b/tests/baselines/reference/awaitClassExpression_es6.symbols @@ -4,12 +4,12 @@ declare class C { } declare var p: Promise; >p : Symbol(p, Decl(awaitClassExpression_es6.ts, 1, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >C : Symbol(C, Decl(awaitClassExpression_es6.ts, 0, 0)) async function func(): Promise { >func : Symbol(func, Decl(awaitClassExpression_es6.ts, 1, 33)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) class D extends (await p) { >D : Symbol(D, Decl(awaitClassExpression_es6.ts, 3, 38)) diff --git a/tests/baselines/reference/awaitInheritedPromise_es2017.symbols b/tests/baselines/reference/awaitInheritedPromise_es2017.symbols index 8779d6068b2..4ffc0e63b09 100644 --- a/tests/baselines/reference/awaitInheritedPromise_es2017.symbols +++ b/tests/baselines/reference/awaitInheritedPromise_es2017.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/async/es2017/awaitInheritedPromise_es2017.ts === interface A extends Promise {} >A : Symbol(A, Decl(awaitInheritedPromise_es2017.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare var a: A; >a : Symbol(a, Decl(awaitInheritedPromise_es2017.ts, 1, 11)) diff --git a/tests/baselines/reference/awaitUnionPromise.symbols b/tests/baselines/reference/awaitUnionPromise.symbols index fb26ba1bfac..84ff2f253c8 100644 --- a/tests/baselines/reference/awaitUnionPromise.symbols +++ b/tests/baselines/reference/awaitUnionPromise.symbols @@ -11,25 +11,25 @@ interface IAsyncEnumerator { next1(): Promise; >next1 : Symbol(IAsyncEnumerator.next1, Decl(awaitUnionPromise.ts, 5, 31)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(awaitUnionPromise.ts, 5, 27)) >AsyncEnumeratorDone : Symbol(AsyncEnumeratorDone, Decl(awaitUnionPromise.ts, 0, 0)) next2(): Promise | Promise; >next2 : Symbol(IAsyncEnumerator.next2, Decl(awaitUnionPromise.ts, 6, 46)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(awaitUnionPromise.ts, 5, 27)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) >AsyncEnumeratorDone : Symbol(AsyncEnumeratorDone, Decl(awaitUnionPromise.ts, 0, 0)) next3(): Promise; >next3 : Symbol(IAsyncEnumerator.next3, Decl(awaitUnionPromise.ts, 7, 55)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(awaitUnionPromise.ts, 5, 27)) next4(): Promise; >next4 : Symbol(IAsyncEnumerator.next4, Decl(awaitUnionPromise.ts, 8, 29)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(awaitUnionPromise.ts, 5, 27)) >x : Symbol(x, Decl(awaitUnionPromise.ts, 9, 26)) } diff --git a/tests/baselines/reference/awaitUnion_es6.symbols b/tests/baselines/reference/awaitUnion_es6.symbols index 114ef267287..c301f3c5b8d 100644 --- a/tests/baselines/reference/awaitUnion_es6.symbols +++ b/tests/baselines/reference/awaitUnion_es6.symbols @@ -4,20 +4,20 @@ declare let a: number | string; declare let b: PromiseLike | PromiseLike; >b : Symbol(b, Decl(awaitUnion_es6.ts, 1, 11)) ->PromiseLike : Symbol(PromiseLike, Decl(lib.es6.d.ts, --, --)) ->PromiseLike : Symbol(PromiseLike, Decl(lib.es6.d.ts, --, --)) +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) declare let c: PromiseLike; >c : Symbol(c, Decl(awaitUnion_es6.ts, 2, 11)) ->PromiseLike : Symbol(PromiseLike, Decl(lib.es6.d.ts, --, --)) +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) declare let d: number | PromiseLike; >d : Symbol(d, Decl(awaitUnion_es6.ts, 3, 11)) ->PromiseLike : Symbol(PromiseLike, Decl(lib.es6.d.ts, --, --)) +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) declare let e: number | PromiseLike; >e : Symbol(e, Decl(awaitUnion_es6.ts, 4, 11)) ->PromiseLike : Symbol(PromiseLike, Decl(lib.es6.d.ts, --, --)) +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) async function f() { >f : Symbol(f, Decl(awaitUnion_es6.ts, 4, 53)) diff --git a/tests/baselines/reference/bestChoiceType.symbols b/tests/baselines/reference/bestChoiceType.symbols index c65dba1e7c2..c7732890347 100644 --- a/tests/baselines/reference/bestChoiceType.symbols +++ b/tests/baselines/reference/bestChoiceType.symbols @@ -2,14 +2,14 @@ // Repro from #10041 (''.match(/ /) || []).map(s => s.toLowerCase()); ->(''.match(/ /) || []).map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->''.match : Symbol(String.match, Decl(lib.d.ts, --, --)) ->match : Symbol(String.match, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>(''.match(/ /) || []).map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>''.match : Symbol(String.match, Decl(lib.es5.d.ts, --, --)) +>match : Symbol(String.match, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(bestChoiceType.ts, 2, 26)) ->s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(bestChoiceType.ts, 2, 26)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) // Similar cases @@ -18,8 +18,8 @@ function f1() { let x = ''.match(/ /); >x : Symbol(x, Decl(bestChoiceType.ts, 7, 7)) ->''.match : Symbol(String.match, Decl(lib.d.ts, --, --)) ->match : Symbol(String.match, Decl(lib.d.ts, --, --)) +>''.match : Symbol(String.match, Decl(lib.es5.d.ts, --, --)) +>match : Symbol(String.match, Decl(lib.es5.d.ts, --, --)) let y = x || []; >y : Symbol(y, Decl(bestChoiceType.ts, 8, 7)) @@ -27,13 +27,13 @@ function f1() { let z = y.map(s => s.toLowerCase()); >z : Symbol(z, Decl(bestChoiceType.ts, 9, 7)) ->y.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>y.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(bestChoiceType.ts, 8, 7)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(bestChoiceType.ts, 9, 18)) ->s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(bestChoiceType.ts, 9, 18)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) } function f2() { @@ -41,8 +41,8 @@ function f2() { let x = ''.match(/ /); >x : Symbol(x, Decl(bestChoiceType.ts, 13, 7)) ->''.match : Symbol(String.match, Decl(lib.d.ts, --, --)) ->match : Symbol(String.match, Decl(lib.d.ts, --, --)) +>''.match : Symbol(String.match, Decl(lib.es5.d.ts, --, --)) +>match : Symbol(String.match, Decl(lib.es5.d.ts, --, --)) let y = x ? x : []; >y : Symbol(y, Decl(bestChoiceType.ts, 14, 7)) @@ -51,12 +51,12 @@ function f2() { let z = y.map(s => s.toLowerCase()); >z : Symbol(z, Decl(bestChoiceType.ts, 15, 7)) ->y.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>y.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(bestChoiceType.ts, 14, 7)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(bestChoiceType.ts, 15, 18)) ->s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(bestChoiceType.ts, 15, 18)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.symbols b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.symbols index 1cdb83ea837..a700f8cf932 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.symbols +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.symbols @@ -58,20 +58,20 @@ var r6 = true ? (x: number) => { } : (x: Object) => { }; // returns number => vo >r6 : Symbol(r6, Decl(bestCommonTypeOfConditionalExpressions.ts, 17, 3)) >x : Symbol(x, Decl(bestCommonTypeOfConditionalExpressions.ts, 17, 17)) >x : Symbol(x, Decl(bestCommonTypeOfConditionalExpressions.ts, 17, 38)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r7: (x: Object) => void = true ? (x: number) => { } : (x: Object) => { }; >r7 : Symbol(r7, Decl(bestCommonTypeOfConditionalExpressions.ts, 18, 3)) >x : Symbol(x, Decl(bestCommonTypeOfConditionalExpressions.ts, 18, 9)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(bestCommonTypeOfConditionalExpressions.ts, 18, 38)) >x : Symbol(x, Decl(bestCommonTypeOfConditionalExpressions.ts, 18, 59)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r8 = true ? (x: Object) => { } : (x: number) => { }; // returns Object => void >r8 : Symbol(r8, Decl(bestCommonTypeOfConditionalExpressions.ts, 19, 3)) >x : Symbol(x, Decl(bestCommonTypeOfConditionalExpressions.ts, 19, 17)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(bestCommonTypeOfConditionalExpressions.ts, 19, 38)) var r10: Base = true ? derived : derived2; // no error since we use the contextual type in BCT @@ -93,7 +93,7 @@ function foo5(t: T, u: U): Object { >T : Symbol(T, Decl(bestCommonTypeOfConditionalExpressions.ts, 23, 14)) >u : Symbol(u, Decl(bestCommonTypeOfConditionalExpressions.ts, 23, 25)) >U : Symbol(U, Decl(bestCommonTypeOfConditionalExpressions.ts, 23, 16)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) return true ? t : u; // BCT is Object >t : Symbol(t, Decl(bestCommonTypeOfConditionalExpressions.ts, 23, 20)) diff --git a/tests/baselines/reference/bindingPatternInParameter01.symbols b/tests/baselines/reference/bindingPatternInParameter01.symbols index 01bb9b3eb25..321837773c0 100644 --- a/tests/baselines/reference/bindingPatternInParameter01.symbols +++ b/tests/baselines/reference/bindingPatternInParameter01.symbols @@ -3,16 +3,16 @@ const nestedArray = [[[1, 2]], [[3, 4]]]; >nestedArray : Symbol(nestedArray, Decl(bindingPatternInParameter01.ts, 0, 5)) nestedArray.forEach(([[a, b]]) => { ->nestedArray.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>nestedArray.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >nestedArray : Symbol(nestedArray, Decl(bindingPatternInParameter01.ts, 0, 5)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(bindingPatternInParameter01.ts, 2, 23)) >b : Symbol(b, Decl(bindingPatternInParameter01.ts, 2, 25)) console.log(a, b); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >a : Symbol(a, Decl(bindingPatternInParameter01.ts, 2, 23)) >b : Symbol(b, Decl(bindingPatternInParameter01.ts, 2, 25)) diff --git a/tests/baselines/reference/bitwiseNotOperatorWithStringType.symbols b/tests/baselines/reference/bitwiseNotOperatorWithStringType.symbols index f535acc199b..66681fd88ed 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithStringType.symbols +++ b/tests/baselines/reference/bitwiseNotOperatorWithStringType.symbols @@ -88,9 +88,9 @@ var ResultIsNumber11 = ~(STRING + STRING); var ResultIsNumber12 = ~STRING.charAt(0); >ResultIsNumber12 : Symbol(ResultIsNumber12, Decl(bitwiseNotOperatorWithStringType.ts, 32, 3)) ->STRING.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(bitwiseNotOperatorWithStringType.ts, 1, 3)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) // multiple ~ operators var ResultIsNumber13 = ~~STRING; diff --git a/tests/baselines/reference/bluebirdStaticThis.symbols b/tests/baselines/reference/bluebirdStaticThis.symbols index 0fc0cb41bb9..9e4c2db0b5b 100644 --- a/tests/baselines/reference/bluebirdStaticThis.symbols +++ b/tests/baselines/reference/bluebirdStaticThis.symbols @@ -79,8 +79,8 @@ export declare class Promise implements Promise.Thenable { >dit : Symbol(dit, Decl(bluebirdStaticThis.ts, 12, 18)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) >fn : Symbol(fn, Decl(bluebirdStaticThis.ts, 12, 38)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) static resolve(dit: typeof Promise): Promise; >resolve : Symbol(Promise.resolve, Decl(bluebirdStaticThis.ts, 12, 63), Decl(bluebirdStaticThis.ts, 14, 55), Decl(bluebirdStaticThis.ts, 15, 83)) @@ -210,17 +210,17 @@ export declare class Promise implements Promise.Thenable { >dit : Symbol(dit, Decl(bluebirdStaticThis.ts, 36, 21)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) >nodeFunction : Symbol(nodeFunction, Decl(bluebirdStaticThis.ts, 36, 41)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >receiver : Symbol(receiver, Decl(bluebirdStaticThis.ts, 36, 65)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) static promisifyAll(dit: typeof Promise, target: Object): Object; >promisifyAll : Symbol(Promise.promisifyAll, Decl(bluebirdStaticThis.ts, 36, 92)) >dit : Symbol(dit, Decl(bluebirdStaticThis.ts, 38, 24)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) >target : Symbol(target, Decl(bluebirdStaticThis.ts, 38, 44)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) static coroutine(dit: typeof Promise, generatorFunction: Function): Function; >coroutine : Symbol(Promise.coroutine, Decl(bluebirdStaticThis.ts, 38, 69)) @@ -228,8 +228,8 @@ export declare class Promise implements Promise.Thenable { >dit : Symbol(dit, Decl(bluebirdStaticThis.ts, 40, 24)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) >generatorFunction : Symbol(generatorFunction, Decl(bluebirdStaticThis.ts, 40, 44)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) static spawn(dit: typeof Promise, generatorFunction: Function): Promise; >spawn : Symbol(Promise.spawn, Decl(bluebirdStaticThis.ts, 40, 84)) @@ -237,7 +237,7 @@ export declare class Promise implements Promise.Thenable { >dit : Symbol(dit, Decl(bluebirdStaticThis.ts, 42, 20)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) >generatorFunction : Symbol(generatorFunction, Decl(bluebirdStaticThis.ts, 42, 40)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) >R : Symbol(R, Decl(bluebirdStaticThis.ts, 42, 17)) @@ -308,18 +308,18 @@ export declare class Promise implements Promise.Thenable { >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) >object : Symbol(object, Decl(bluebirdStaticThis.ts, 53, 37)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) static props(dit: typeof Promise, object: Object): Promise; >props : Symbol(Promise.props, Decl(bluebirdStaticThis.ts, 51, 66), Decl(bluebirdStaticThis.ts, 53, 80)) >dit : Symbol(dit, Decl(bluebirdStaticThis.ts, 54, 17)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) >object : Symbol(object, Decl(bluebirdStaticThis.ts, 54, 37)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Promise : Symbol(Promise, Decl(bluebirdStaticThis.ts, 0, 0), Decl(bluebirdStaticThis.ts, 108, 1)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) static settle(dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; >settle : Symbol(Promise.settle, Decl(bluebirdStaticThis.ts, 54, 71), Decl(bluebirdStaticThis.ts, 56, 125), Decl(bluebirdStaticThis.ts, 57, 107), Decl(bluebirdStaticThis.ts, 58, 107)) diff --git a/tests/baselines/reference/booleanAssignment.symbols b/tests/baselines/reference/booleanAssignment.symbols index bc9da786c8d..44a60c2f1fb 100644 --- a/tests/baselines/reference/booleanAssignment.symbols +++ b/tests/baselines/reference/booleanAssignment.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/booleanAssignment.ts === var b = new Boolean(); >b : Symbol(b, Decl(booleanAssignment.ts, 0, 3)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) b = 1; // Error >b : Symbol(b, Decl(booleanAssignment.ts, 0, 3)) diff --git a/tests/baselines/reference/booleanLiteralTypes1.symbols b/tests/baselines/reference/booleanLiteralTypes1.symbols index ee7ab2ca674..995851bf5f6 100644 --- a/tests/baselines/reference/booleanLiteralTypes1.symbols +++ b/tests/baselines/reference/booleanLiteralTypes1.symbols @@ -126,7 +126,7 @@ function assertNever(x: never): never { >x : Symbol(x, Decl(booleanLiteralTypes1.ts, 40, 21)) throw new Error("Unexpected value"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f10(x: true | false) { diff --git a/tests/baselines/reference/booleanLiteralTypes2.symbols b/tests/baselines/reference/booleanLiteralTypes2.symbols index ad3e90ad3f8..caae8aea5fb 100644 --- a/tests/baselines/reference/booleanLiteralTypes2.symbols +++ b/tests/baselines/reference/booleanLiteralTypes2.symbols @@ -126,7 +126,7 @@ function assertNever(x: never): never { >x : Symbol(x, Decl(booleanLiteralTypes2.ts, 40, 21)) throw new Error("Unexpected value"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f10(x: true | false) { diff --git a/tests/baselines/reference/booleanPropertyAccess.symbols b/tests/baselines/reference/booleanPropertyAccess.symbols index f69c3f6a789..4b2bfbb9d68 100644 --- a/tests/baselines/reference/booleanPropertyAccess.symbols +++ b/tests/baselines/reference/booleanPropertyAccess.symbols @@ -4,12 +4,12 @@ var x = true; var a = x.toString(); >a : Symbol(a, Decl(booleanPropertyAccess.ts, 2, 3)) ->x.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(booleanPropertyAccess.ts, 0, 3)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) var b = x['toString'](); >b : Symbol(b, Decl(booleanPropertyAccess.ts, 3, 3)) >x : Symbol(x, Decl(booleanPropertyAccess.ts, 0, 3)) ->'toString' : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>'toString' : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/callOverloads2.symbols b/tests/baselines/reference/callOverloads2.symbols index 972e1592826..7c3fe03398d 100644 --- a/tests/baselines/reference/callOverloads2.symbols +++ b/tests/baselines/reference/callOverloads2.symbols @@ -32,7 +32,7 @@ function Goo(s:string); // error - no implementation declare function Gar(s:String); // expect no error >Gar : Symbol(Gar, Decl(callOverloads2.ts, 13, 23)) >s : Symbol(s, Decl(callOverloads2.ts, 15, 21)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var f1 = new Foo("hey"); >f1 : Symbol(f1, Decl(callOverloads2.ts, 17, 3)) diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance2.symbols b/tests/baselines/reference/callSignatureAssignabilityInInheritance2.symbols index a281c738027..849bcb1cf60 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance2.symbols +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance2.symbols @@ -110,23 +110,23 @@ interface A { // T a12: (x: Array, y: Array) => Array; >a12 : Symbol(A.a12, Decl(callSignatureAssignabilityInInheritance2.ts, 19, 71)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 20, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance2.ts, 20, 25)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(callSignatureAssignabilityInInheritance2.ts, 3, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) a13: (x: Array, y: Array) => Array; >a13 : Symbol(A.a13, Decl(callSignatureAssignabilityInInheritance2.ts, 20, 64)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 21, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance2.ts, 21, 25)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) a14: (x: { a: string; b: number }) => Object; @@ -134,7 +134,7 @@ interface A { // T >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 22, 10)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance2.ts, 22, 14)) >b : Symbol(b, Decl(callSignatureAssignabilityInInheritance2.ts, 22, 25)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) a15: { >a15 : Symbol(A.a15, Decl(callSignatureAssignabilityInInheritance2.ts, 22, 49)) @@ -195,8 +195,8 @@ interface A { // T (a: Date): Date; >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance2.ts, 42, 13)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) }): any[]; }; @@ -332,23 +332,23 @@ interface I extends A { a12: >(x: Array, y: T) => Array; // ok, less specific parameter type >a12 : Symbol(I.a12, Decl(callSignatureAssignabilityInInheritance2.ts, 60, 43)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 61, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 61, 33)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance2.ts, 61, 48)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 61, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) a13: >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds >a13 : Symbol(I.a13, Decl(callSignatureAssignabilityInInheritance2.ts, 61, 73)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 62, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance2.ts, 2, 27)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance2.ts, 62, 36)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance2.ts, 0, 0)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance2.ts, 62, 51)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance2.ts, 62, 10)) diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance3.symbols b/tests/baselines/reference/callSignatureAssignabilityInInheritance3.symbols index cbcc4076ffd..e8a879bf816 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance3.symbols +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance3.symbols @@ -77,12 +77,12 @@ module Errors { a12: (x: Array, y: Array) => Array; >a12 : Symbol(A.a12, Decl(callSignatureAssignabilityInInheritance3.ts, 16, 79)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance3.ts, 17, 18)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance3.ts, 3, 15)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance3.ts, 17, 33)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(callSignatureAssignabilityInInheritance3.ts, 5, 47)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance3.ts, 4, 31)) a14: { @@ -274,13 +274,13 @@ module Errors { a12: >(x: Array, y: Array) => T; // valid, no inferences for T, defaults to Array >a12 : Symbol(I4E.a12, Decl(callSignatureAssignabilityInInheritance3.ts, 71, 33)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance3.ts, 72, 18)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(callSignatureAssignabilityInInheritance3.ts, 5, 47)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance3.ts, 72, 45)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance3.ts, 3, 15)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance3.ts, 72, 60)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance3.ts, 3, 15)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance3.ts, 72, 18)) } diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance5.symbols b/tests/baselines/reference/callSignatureAssignabilityInInheritance5.symbols index 6f92fa5d5c7..4a9030e443b 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance5.symbols +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance5.symbols @@ -111,23 +111,23 @@ interface A { // T a12: (x: Array, y: Array) => Array; >a12 : Symbol(A.a12, Decl(callSignatureAssignabilityInInheritance5.ts, 20, 71)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 21, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance5.ts, 21, 25)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(callSignatureAssignabilityInInheritance5.ts, 4, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) a13: (x: Array, y: Array) => Array; >a13 : Symbol(A.a13, Decl(callSignatureAssignabilityInInheritance5.ts, 21, 64)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 22, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance5.ts, 22, 25)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) a14: (x: { a: string; b: number }) => Object; @@ -135,7 +135,7 @@ interface A { // T >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 23, 10)) >a : Symbol(a, Decl(callSignatureAssignabilityInInheritance5.ts, 23, 14)) >b : Symbol(b, Decl(callSignatureAssignabilityInInheritance5.ts, 23, 25)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } interface B extends A { @@ -280,23 +280,23 @@ interface I extends B { a12: >(x: Array, y: T) => Array; // ok, less specific parameter type >a12 : Symbol(I.a12, Decl(callSignatureAssignabilityInInheritance5.ts, 43, 43)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 44, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 44, 33)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance5.ts, 44, 48)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 44, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) a13: >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds >a13 : Symbol(I.a13, Decl(callSignatureAssignabilityInInheritance5.ts, 44, 73)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 45, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(callSignatureAssignabilityInInheritance5.ts, 3, 27)) >x : Symbol(x, Decl(callSignatureAssignabilityInInheritance5.ts, 45, 36)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(callSignatureAssignabilityInInheritance5.ts, 0, 0)) >y : Symbol(y, Decl(callSignatureAssignabilityInInheritance5.ts, 45, 51)) >T : Symbol(T, Decl(callSignatureAssignabilityInInheritance5.ts, 45, 10)) diff --git a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.symbols b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.symbols index 414d9138f3c..c439d1aae89 100644 --- a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.symbols +++ b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.symbols @@ -54,7 +54,7 @@ var a: { (x, y): Object; >x : Symbol(x, Decl(callSignaturesThatDifferOnlyByReturnType.ts, 20, 5)) >y : Symbol(y, Decl(callSignaturesThatDifferOnlyByReturnType.ts, 20, 7)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) (x, y): any; // error >x : Symbol(x, Decl(callSignaturesThatDifferOnlyByReturnType.ts, 21, 5)) diff --git a/tests/baselines/reference/callWithSpread.symbols b/tests/baselines/reference/callWithSpread.symbols index 42331422df7..7b711cce14a 100644 --- a/tests/baselines/reference/callWithSpread.symbols +++ b/tests/baselines/reference/callWithSpread.symbols @@ -146,7 +146,7 @@ xa[1].foo(1, 2, ...a, "abc"); >a : Symbol(a, Decl(callWithSpread.ts, 7, 3)) (xa[1].foo)(...[1, 2, "abc"]); ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >xa[1].foo : Symbol(X.foo, Decl(callWithSpread.ts, 0, 13)) >xa : Symbol(xa, Decl(callWithSpread.ts, 10, 3)) >foo : Symbol(X.foo, Decl(callWithSpread.ts, 0, 13)) diff --git a/tests/baselines/reference/callWithSpreadES6.symbols b/tests/baselines/reference/callWithSpreadES6.symbols index 872ce131917..9da935b0e51 100644 --- a/tests/baselines/reference/callWithSpreadES6.symbols +++ b/tests/baselines/reference/callWithSpreadES6.symbols @@ -93,7 +93,7 @@ xa[1].foo(1, 2, ...a, "abc"); >a : Symbol(a, Decl(callWithSpreadES6.ts, 7, 3)) (xa[1].foo)(...[1, 2, "abc"]); ->Function : Symbol(Function, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >xa[1].foo : Symbol(X.foo, Decl(callWithSpreadES6.ts, 0, 13)) >xa : Symbol(xa, Decl(callWithSpreadES6.ts, 10, 3)) >foo : Symbol(X.foo, Decl(callWithSpreadES6.ts, 0, 13)) diff --git a/tests/baselines/reference/callbacksDontShareTypes.symbols b/tests/baselines/reference/callbacksDontShareTypes.symbols index 2eded6b880f..e3fa3b115d1 100644 --- a/tests/baselines/reference/callbacksDontShareTypes.symbols +++ b/tests/baselines/reference/callbacksDontShareTypes.symbols @@ -56,9 +56,9 @@ var c2: Collection; var rf1 = (x: number) => { return x.toFixed() }; >rf1 : Symbol(rf1, Decl(callbacksDontShareTypes.ts, 13, 3)) >x : Symbol(x, Decl(callbacksDontShareTypes.ts, 13, 11)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(callbacksDontShareTypes.ts, 13, 11)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) var r1a = _.map(c2, (x) => { return x.toFixed() }); >r1a : Symbol(r1a, Decl(callbacksDontShareTypes.ts, 14, 3)) @@ -67,9 +67,9 @@ var r1a = _.map(c2, (x) => { return x.toFixed() }); >map : Symbol(Combinators.map, Decl(callbacksDontShareTypes.ts, 5, 23), Decl(callbacksDontShareTypes.ts, 6, 63)) >c2 : Symbol(c2, Decl(callbacksDontShareTypes.ts, 11, 3)) >x : Symbol(x, Decl(callbacksDontShareTypes.ts, 14, 21)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(callbacksDontShareTypes.ts, 14, 21)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) var r1b = _.map(c2, rf1); // this line should not cause the following 2 to have errors >r1b : Symbol(r1b, Decl(callbacksDontShareTypes.ts, 15, 3)) @@ -86,9 +86,9 @@ var r5a = _.map(c2, (x) => { return x.toFixed() }); >map : Symbol(Combinators.map, Decl(callbacksDontShareTypes.ts, 5, 23), Decl(callbacksDontShareTypes.ts, 6, 63)) >c2 : Symbol(c2, Decl(callbacksDontShareTypes.ts, 11, 3)) >x : Symbol(x, Decl(callbacksDontShareTypes.ts, 16, 37)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(callbacksDontShareTypes.ts, 16, 37)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) var r5b = _.map(c2, rf1); >r5b : Symbol(r5b, Decl(callbacksDontShareTypes.ts, 17, 3)) diff --git a/tests/baselines/reference/capturedLetConstInLoop2.symbols b/tests/baselines/reference/capturedLetConstInLoop2.symbols index d0a174e7782..f9aaae97dd8 100644 --- a/tests/baselines/reference/capturedLetConstInLoop2.symbols +++ b/tests/baselines/reference/capturedLetConstInLoop2.symbols @@ -9,9 +9,9 @@ function foo0(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 3, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 2, 12)) @@ -32,9 +32,9 @@ function foo0_1(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 11, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 10, 12)) @@ -57,9 +57,9 @@ function foo1(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 19, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 18, 12)) @@ -78,9 +78,9 @@ function foo2(x) { while (1 === 1) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 27, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 25, 14)) @@ -102,9 +102,9 @@ function foo3(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 36, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 35, 11)) @@ -128,9 +128,9 @@ function foo4(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 44, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) let x = 1; >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 45, 11)) @@ -157,9 +157,9 @@ function foo5(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 53, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 52, 12)) @@ -185,9 +185,9 @@ function foo6(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 63, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 62, 11)) @@ -212,9 +212,9 @@ function foo7(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 72, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 71, 11)) @@ -244,9 +244,9 @@ function foo8(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 82, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 81, 11)) @@ -269,9 +269,9 @@ function foo0_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 90, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 89, 14)) @@ -292,9 +292,9 @@ function foo0_1_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 98, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 97, 14)) @@ -316,9 +316,9 @@ function foo1_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 106, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 105, 14)) @@ -337,9 +337,9 @@ function foo2_c(x) { while (1 === 1) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 114, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 112, 16)) @@ -361,9 +361,9 @@ function foo3_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 123, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 122, 13)) @@ -386,9 +386,9 @@ function foo4_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 131, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) const x = 1; >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 132, 13)) @@ -414,9 +414,9 @@ function foo5_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 140, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 139, 14)) @@ -442,9 +442,9 @@ function foo6_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 150, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 149, 13)) @@ -469,9 +469,9 @@ function foo7_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 159, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 158, 13)) @@ -500,9 +500,9 @@ function foo8_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2.ts, 169, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2.ts, 168, 13)) diff --git a/tests/baselines/reference/capturedLetConstInLoop2_ES6.symbols b/tests/baselines/reference/capturedLetConstInLoop2_ES6.symbols index 525bc529e16..ff1054c2b21 100644 --- a/tests/baselines/reference/capturedLetConstInLoop2_ES6.symbols +++ b/tests/baselines/reference/capturedLetConstInLoop2_ES6.symbols @@ -9,9 +9,9 @@ function foo0(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 3, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 2, 12)) @@ -32,9 +32,9 @@ function foo0_1(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 11, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 10, 12)) @@ -57,9 +57,9 @@ function foo1(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 19, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 18, 12)) @@ -78,9 +78,9 @@ function foo2(x) { while (1 === 1) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 27, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 25, 14)) @@ -102,9 +102,9 @@ function foo3(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 36, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 35, 11)) @@ -128,9 +128,9 @@ function foo4(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 44, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) let x = 1; >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 45, 11)) @@ -157,9 +157,9 @@ function foo5(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 53, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 52, 12)) @@ -185,9 +185,9 @@ function foo6(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 63, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 62, 11)) @@ -212,9 +212,9 @@ function foo7(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 72, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 71, 11)) @@ -244,9 +244,9 @@ function foo8(x) { let a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 82, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 81, 11)) @@ -269,9 +269,9 @@ function foo0_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 90, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 89, 14)) @@ -292,9 +292,9 @@ function foo0_1_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 98, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 97, 14)) @@ -316,9 +316,9 @@ function foo1_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 106, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 105, 14)) @@ -337,9 +337,9 @@ function foo2_c(x) { while (1 === 1) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 114, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 112, 16)) @@ -361,9 +361,9 @@ function foo3_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 123, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 122, 13)) @@ -386,9 +386,9 @@ function foo4_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 131, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) const x = 1; >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 132, 13)) @@ -414,9 +414,9 @@ function foo5_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 140, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 139, 14)) @@ -442,9 +442,9 @@ function foo6_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 150, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 149, 13)) @@ -469,9 +469,9 @@ function foo7_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 159, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 158, 13)) @@ -500,9 +500,9 @@ function foo8_c(x) { const a = arguments.length; >a : Symbol(a, Decl(capturedLetConstInLoop2_ES6.ts, 169, 13)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return x + y + a }); >x : Symbol(x, Decl(capturedLetConstInLoop2_ES6.ts, 168, 13)) diff --git a/tests/baselines/reference/capturedLetConstInLoop9.symbols b/tests/baselines/reference/capturedLetConstInLoop9.symbols index 2cc1645863e..70f3fc7c628 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9.symbols +++ b/tests/baselines/reference/capturedLetConstInLoop9.symbols @@ -126,9 +126,9 @@ function foo() { >z1 : Symbol(z1, Decl(capturedLetConstInLoop9.ts, 67, 21)) >x1 : Symbol(x1, Decl(capturedLetConstInLoop9.ts, 67, 33)) >y : Symbol(y, Decl(capturedLetConstInLoop9.ts, 67, 38)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) if (b === 1) { >b : Symbol(b, Decl(capturedLetConstInLoop9.ts, 66, 16)) @@ -247,24 +247,24 @@ function foo3 () { let x = arguments.length; >x : Symbol(x, Decl(capturedLetConstInLoop9.ts, 132, 7)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) for (let y of []) { >y : Symbol(y, Decl(capturedLetConstInLoop9.ts, 133, 12)) let z = arguments.length; >z : Symbol(z, Decl(capturedLetConstInLoop9.ts, 134, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return y + z + arguments.length; }); >y : Symbol(y, Decl(capturedLetConstInLoop9.ts, 133, 12)) >z : Symbol(z, Decl(capturedLetConstInLoop9.ts, 134, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/capturedLetConstInLoop9_ES6.symbols b/tests/baselines/reference/capturedLetConstInLoop9_ES6.symbols index f20c6596431..4d4013096fc 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9_ES6.symbols +++ b/tests/baselines/reference/capturedLetConstInLoop9_ES6.symbols @@ -126,9 +126,9 @@ function foo() { >z1 : Symbol(z1, Decl(capturedLetConstInLoop9_ES6.ts, 67, 21)) >x1 : Symbol(x1, Decl(capturedLetConstInLoop9_ES6.ts, 67, 33)) >y : Symbol(y, Decl(capturedLetConstInLoop9_ES6.ts, 67, 38)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) if (b === 1) { >b : Symbol(b, Decl(capturedLetConstInLoop9_ES6.ts, 66, 16)) @@ -246,24 +246,24 @@ function foo3 () { let x = arguments.length; >x : Symbol(x, Decl(capturedLetConstInLoop9_ES6.ts, 131, 7)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) for (let y of []) { >y : Symbol(y, Decl(capturedLetConstInLoop9_ES6.ts, 132, 12)) let z = arguments.length; >z : Symbol(z, Decl(capturedLetConstInLoop9_ES6.ts, 133, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) (function() { return y + z + arguments.length; }); >y : Symbol(y, Decl(capturedLetConstInLoop9_ES6.ts, 132, 12)) >z : Symbol(z, Decl(capturedLetConstInLoop9_ES6.ts, 133, 11)) ->arguments.length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/capturedVarInLoop.symbols b/tests/baselines/reference/capturedVarInLoop.symbols index 9f218154fd8..ac741dc5113 100644 --- a/tests/baselines/reference/capturedVarInLoop.symbols +++ b/tests/baselines/reference/capturedVarInLoop.symbols @@ -7,9 +7,9 @@ for (var i = 0; i < 10; i++) { var str = 'x', len = str.length; >str : Symbol(str, Decl(capturedVarInLoop.ts, 1, 7)) >len : Symbol(len, Decl(capturedVarInLoop.ts, 1, 18)) ->str.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>str.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >str : Symbol(str, Decl(capturedVarInLoop.ts, 1, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) let lambda1 = (y) => { }; >lambda1 : Symbol(lambda1, Decl(capturedVarInLoop.ts, 2, 7)) diff --git a/tests/baselines/reference/castNewObjectBug.symbols b/tests/baselines/reference/castNewObjectBug.symbols index f9423710f4f..7fca8148fb0 100644 --- a/tests/baselines/reference/castNewObjectBug.symbols +++ b/tests/baselines/reference/castNewObjectBug.symbols @@ -5,5 +5,5 @@ interface Foo { } var xx = new Object(); >xx : Symbol(xx, Decl(castNewObjectBug.ts, 1, 3)) >Foo : Symbol(Foo, Decl(castNewObjectBug.ts, 0, 0)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/chainedAssignment2.symbols b/tests/baselines/reference/chainedAssignment2.symbols index fe3b67e47cb..f8e82af0a82 100644 --- a/tests/baselines/reference/chainedAssignment2.symbols +++ b/tests/baselines/reference/chainedAssignment2.symbols @@ -10,11 +10,11 @@ var c: boolean; var d: Date; >d : Symbol(d, Decl(chainedAssignment2.ts, 3, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var e: RegExp; >e : Symbol(e, Decl(chainedAssignment2.ts, 4, 3)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) a = b = c = d = e = null; >a : Symbol(a, Decl(chainedAssignment2.ts, 0, 3)) diff --git a/tests/baselines/reference/chainedPrototypeAssignment.symbols b/tests/baselines/reference/chainedPrototypeAssignment.symbols index 8a61686921d..f4a8c01b6bf 100644 --- a/tests/baselines/reference/chainedPrototypeAssignment.symbols +++ b/tests/baselines/reference/chainedPrototypeAssignment.symbols @@ -62,12 +62,12 @@ exports.B = B >B : Symbol(B, Decl(mod.js, 4, 3), Decl(mod.js, 9, 13)) A.prototype = B.prototype = { ->A.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>A.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >A : Symbol(A, Decl(mod.js, 1, 3), Decl(mod.js, 8, 13)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) ->B.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) +>B.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >B : Symbol(B, Decl(mod.js, 4, 3), Decl(mod.js, 9, 13)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) /** @param {number} n */ m(n) { diff --git a/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.symbols b/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.symbols index f8fbae6b8b3..cabd73fe014 100644 --- a/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.symbols +++ b/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.symbols @@ -51,9 +51,9 @@ var s2 = s.groupBy(s => s.length); >s : Symbol(s, Decl(chainedSpecializationToObjectTypeLiteral.ts, 7, 3)) >groupBy : Symbol(Sequence.groupBy, Decl(chainedSpecializationToObjectTypeLiteral.ts, 3, 57)) >s : Symbol(s, Decl(chainedSpecializationToObjectTypeLiteral.ts, 8, 19)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(chainedSpecializationToObjectTypeLiteral.ts, 8, 19)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) var s3 = s2.each(x => { x.key /* Type is K, should be number */ }); >s3 : Symbol(s3, Decl(chainedSpecializationToObjectTypeLiteral.ts, 9, 3)) diff --git a/tests/baselines/reference/checkForObjectTooStrict.symbols b/tests/baselines/reference/checkForObjectTooStrict.symbols index e47aa47c9d1..f48c4cd68d2 100644 --- a/tests/baselines/reference/checkForObjectTooStrict.symbols +++ b/tests/baselines/reference/checkForObjectTooStrict.symbols @@ -29,12 +29,12 @@ class Bar extends Foo.Object { // should work class Baz extends Object { >Baz : Symbol(Baz, Decl(checkForObjectTooStrict.ts, 18, 1)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) constructor () { // ERROR, as expected super(); ->super : Symbol(ObjectConstructor, Decl(lib.d.ts, --, --)) +>super : Symbol(ObjectConstructor, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.symbols b/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.symbols index 2a6ba238b4b..f3d3a106615 100644 --- a/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.symbols +++ b/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.symbols @@ -9,12 +9,12 @@ class A { doIt(x: Array): void { >doIt : Symbol(A.doIt, Decl(checkSwitchStatementIfCaseTypeIsString.ts, 2, 9)) >x : Symbol(x, Decl(checkSwitchStatementIfCaseTypeIsString.ts, 3, 9)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x.forEach((v) => { ->x.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>x.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(checkSwitchStatementIfCaseTypeIsString.ts, 3, 9)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(checkSwitchStatementIfCaseTypeIsString.ts, 4, 19)) switch(v) { diff --git a/tests/baselines/reference/circularContextualReturnType.symbols b/tests/baselines/reference/circularContextualReturnType.symbols index d0e81a6b33d..207daf487cc 100644 --- a/tests/baselines/reference/circularContextualReturnType.symbols +++ b/tests/baselines/reference/circularContextualReturnType.symbols @@ -2,17 +2,17 @@ // Repro from #17711 Object.freeze({ ->Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo() { >foo : Symbol(foo, Decl(circularContextualReturnType.ts, 2, 15)) return Object.freeze('a'); ->Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) }, }); diff --git a/tests/baselines/reference/circularReferenceInImport.symbols b/tests/baselines/reference/circularReferenceInImport.symbols index d5415f1fef1..09de0f54995 100644 --- a/tests/baselines/reference/circularReferenceInImport.symbols +++ b/tests/baselines/reference/circularReferenceInImport.symbols @@ -18,5 +18,5 @@ export function foo() { >foo : Symbol(foo, Decl(app.ts, 0, 26)) return new Object() ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/classAppearsToHaveMembersOfObject.symbols b/tests/baselines/reference/classAppearsToHaveMembersOfObject.symbols index 6041f2ddf04..24d0eaf5346 100644 --- a/tests/baselines/reference/classAppearsToHaveMembersOfObject.symbols +++ b/tests/baselines/reference/classAppearsToHaveMembersOfObject.symbols @@ -9,19 +9,19 @@ var c: C; var r = c.toString(); >r : Symbol(r, Decl(classAppearsToHaveMembersOfObject.ts, 3, 3)) ->c.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>c.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >c : Symbol(c, Decl(classAppearsToHaveMembersOfObject.ts, 2, 3)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) var r2 = c.hasOwnProperty(''); >r2 : Symbol(r2, Decl(classAppearsToHaveMembersOfObject.ts, 4, 3)) ->c.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>c.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >c : Symbol(c, Decl(classAppearsToHaveMembersOfObject.ts, 2, 3)) ->hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) var o: Object = c; >o : Symbol(o, Decl(classAppearsToHaveMembersOfObject.ts, 5, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >c : Symbol(c, Decl(classAppearsToHaveMembersOfObject.ts, 2, 3)) var o2: {} = c; diff --git a/tests/baselines/reference/classDeclarationShouldBeOutOfScopeInComputedNames.symbols b/tests/baselines/reference/classDeclarationShouldBeOutOfScopeInComputedNames.symbols index 59fe6170455..e66e27e6103 100644 --- a/tests/baselines/reference/classDeclarationShouldBeOutOfScopeInComputedNames.symbols +++ b/tests/baselines/reference/classDeclarationShouldBeOutOfScopeInComputedNames.symbols @@ -4,11 +4,11 @@ class A { static readonly p1 = Symbol(); >p1 : Symbol(A.p1, Decl(classDeclarationShouldBeOutOfScopeInComputedNames.ts, 0, 9)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) static readonly p2 = Symbol(); >p2 : Symbol(A.p2, Decl(classDeclarationShouldBeOutOfScopeInComputedNames.ts, 1, 34)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // All of the below should be out of scope or TDZ - `A` has not finished being constructed as they are executed static readonly [A.p1] = 0; diff --git a/tests/baselines/reference/classExtendingBuiltinType.symbols b/tests/baselines/reference/classExtendingBuiltinType.symbols index d7ef51fe510..00c6f43a9b2 100644 --- a/tests/baselines/reference/classExtendingBuiltinType.symbols +++ b/tests/baselines/reference/classExtendingBuiltinType.symbols @@ -1,41 +1,41 @@ === tests/cases/conformance/classes/classDeclarations/classExtendingBuiltinType.ts === class C1 extends Object { } >C1 : Symbol(C1, Decl(classExtendingBuiltinType.ts, 0, 0)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) class C2 extends Function { } >C2 : Symbol(C2, Decl(classExtendingBuiltinType.ts, 0, 27)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) class C3 extends String { } >C3 : Symbol(C3, Decl(classExtendingBuiltinType.ts, 1, 29)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) class C4 extends Boolean { } >C4 : Symbol(C4, Decl(classExtendingBuiltinType.ts, 2, 27)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) class C5 extends Number { } >C5 : Symbol(C5, Decl(classExtendingBuiltinType.ts, 3, 28)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) class C6 extends Date { } >C6 : Symbol(C6, Decl(classExtendingBuiltinType.ts, 4, 27)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) class C7 extends RegExp { } >C7 : Symbol(C7, Decl(classExtendingBuiltinType.ts, 5, 25)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) class C8 extends Error { } >C8 : Symbol(C8, Decl(classExtendingBuiltinType.ts, 6, 27)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) class C9 extends Array { } >C9 : Symbol(C9, Decl(classExtendingBuiltinType.ts, 7, 26)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) class C10 extends Array { } >C10 : Symbol(C10, Decl(classExtendingBuiltinType.ts, 8, 26)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/classExtendsInterfaceInExpression.symbols b/tests/baselines/reference/classExtendsInterfaceInExpression.symbols index 560bb767481..715fa951b3c 100644 --- a/tests/baselines/reference/classExtendsInterfaceInExpression.symbols +++ b/tests/baselines/reference/classExtendsInterfaceInExpression.symbols @@ -5,7 +5,7 @@ interface A {} function factory(a: any): {new(): Object} { >factory : Symbol(factory, Decl(classExtendsInterfaceInExpression.ts, 0, 14)) >a : Symbol(a, Decl(classExtendsInterfaceInExpression.ts, 2, 17)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) return null; } diff --git a/tests/baselines/reference/classExtendsNull.symbols b/tests/baselines/reference/classExtendsNull.symbols index d58d8068a60..72c3d9c7f88 100644 --- a/tests/baselines/reference/classExtendsNull.symbols +++ b/tests/baselines/reference/classExtendsNull.symbols @@ -5,9 +5,9 @@ class C extends null { constructor() { super(); return Object.create(null); ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -16,8 +16,8 @@ class D extends null { constructor() { return Object.create(null); ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/classMemberWithMissingIdentifier2.symbols b/tests/baselines/reference/classMemberWithMissingIdentifier2.symbols index a68877e2f4e..72083e2d62b 100644 --- a/tests/baselines/reference/classMemberWithMissingIdentifier2.symbols +++ b/tests/baselines/reference/classMemberWithMissingIdentifier2.symbols @@ -4,5 +4,5 @@ class C { public {[name:string]:VariableDeclaration}; > : Symbol(C[(Missing)], Decl(classMemberWithMissingIdentifier2.ts, 0, 9)) ->name : Symbol(name, Decl(lib.d.ts, --, --)) +>name : Symbol(name, Decl(lib.dom.d.ts, --, --)) } diff --git a/tests/baselines/reference/classUpdateTests.symbols b/tests/baselines/reference/classUpdateTests.symbols index 08d2312fd91..7106c135ec7 100644 --- a/tests/baselines/reference/classUpdateTests.symbols +++ b/tests/baselines/reference/classUpdateTests.symbols @@ -81,10 +81,10 @@ class H { class I extends Object { >I : Symbol(I, Decl(classUpdateTests.ts, 43, 1)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) constructor() { super(); } // ERROR - no super call allowed ->super : Symbol(ObjectConstructor, Decl(lib.d.ts, --, --)) +>super : Symbol(ObjectConstructor, Decl(lib.es5.d.ts, --, --)) } class J extends G { diff --git a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.symbols b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.symbols index e55bfd99aa8..f03421bf4ad 100644 --- a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.symbols +++ b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.symbols @@ -20,11 +20,11 @@ class C { [x: string]: Object; >x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 7, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [x: number]: Object; >x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 8, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) 0: number; >0 : Symbol(C[0], Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 8, 24)) @@ -45,11 +45,11 @@ interface I { [x: string]: Object; >x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 16, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [x: number]: Object; >x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 17, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) 0: number; >0 : Symbol(I[0], Decl(classWithOnlyPublicMembersEquivalentToInterface.ts, 17, 24)) diff --git a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.symbols b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.symbols index ab337787517..60c7588640d 100644 --- a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.symbols +++ b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.symbols @@ -20,11 +20,11 @@ class C { [x: string]: Object; >x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 7, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [x: number]: Object; >x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 8, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) 0: number; >0 : Symbol(C[0], Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 8, 24)) @@ -48,11 +48,11 @@ interface I { [x: string]: Object; >x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 18, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [x: number]: Object; >x : Symbol(x, Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 19, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) 0: number; >0 : Symbol(I[0], Decl(classWithOnlyPublicMembersEquivalentToInterface2.ts, 19, 24)) diff --git a/tests/baselines/reference/classWithoutExplicitConstructor.symbols b/tests/baselines/reference/classWithoutExplicitConstructor.symbols index e75ef83d8af..7e49248b28d 100644 --- a/tests/baselines/reference/classWithoutExplicitConstructor.symbols +++ b/tests/baselines/reference/classWithoutExplicitConstructor.symbols @@ -20,7 +20,7 @@ var c2 = new C(null); // error class D { >D : Symbol(D, Decl(classWithoutExplicitConstructor.ts, 6, 21)) >T : Symbol(T, Decl(classWithoutExplicitConstructor.ts, 8, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) x = 2 >x : Symbol(D.x, Decl(classWithoutExplicitConstructor.ts, 8, 25)) diff --git a/tests/baselines/reference/collisionThisExpressionAndLocalVarInLambda.symbols b/tests/baselines/reference/collisionThisExpressionAndLocalVarInLambda.symbols index 9dbe8d2d301..2105baf09a2 100644 --- a/tests/baselines/reference/collisionThisExpressionAndLocalVarInLambda.symbols +++ b/tests/baselines/reference/collisionThisExpressionAndLocalVarInLambda.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/collisionThisExpressionAndLocalVarInLambda.ts === declare function alert(message?: any): void; ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(collisionThisExpressionAndLocalVarInLambda.ts, 0, 0)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(collisionThisExpressionAndLocalVarInLambda.ts, 0, 0)) >message : Symbol(message, Decl(collisionThisExpressionAndLocalVarInLambda.ts, 0, 23)) var x = { @@ -18,11 +18,11 @@ var x = { } } alert(x.doStuff(x => alert(x))); ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(collisionThisExpressionAndLocalVarInLambda.ts, 0, 0)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(collisionThisExpressionAndLocalVarInLambda.ts, 0, 0)) >x.doStuff : Symbol(doStuff, Decl(collisionThisExpressionAndLocalVarInLambda.ts, 2, 9)) >x : Symbol(x, Decl(collisionThisExpressionAndLocalVarInLambda.ts, 2, 3)) >doStuff : Symbol(doStuff, Decl(collisionThisExpressionAndLocalVarInLambda.ts, 2, 9)) >x : Symbol(x, Decl(collisionThisExpressionAndLocalVarInLambda.ts, 8, 16)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(collisionThisExpressionAndLocalVarInLambda.ts, 0, 0)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(collisionThisExpressionAndLocalVarInLambda.ts, 0, 0)) >x : Symbol(x, Decl(collisionThisExpressionAndLocalVarInLambda.ts, 8, 16)) diff --git a/tests/baselines/reference/commaOperatorInConditionalExpression.symbols b/tests/baselines/reference/commaOperatorInConditionalExpression.symbols index 21937f3f64d..29a42a6c0c7 100644 --- a/tests/baselines/reference/commaOperatorInConditionalExpression.symbols +++ b/tests/baselines/reference/commaOperatorInConditionalExpression.symbols @@ -4,8 +4,8 @@ function f (m: string) { >m : Symbol(m, Decl(commaOperatorInConditionalExpression.ts, 0, 12)) [1, 2, 3].map(i => { ->[1, 2, 3].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>[1, 2, 3].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(commaOperatorInConditionalExpression.ts, 1, 18)) return true? { [m]: i } : { [m]: i + 1 } diff --git a/tests/baselines/reference/commaOperatorLeftSideUnused.symbols b/tests/baselines/reference/commaOperatorLeftSideUnused.symbols index c422c8aeb93..e760de16df0 100644 --- a/tests/baselines/reference/commaOperatorLeftSideUnused.symbols +++ b/tests/baselines/reference/commaOperatorLeftSideUnused.symbols @@ -12,9 +12,9 @@ function fn() { >arr : Symbol(arr, Decl(commaOperatorLeftSideUnused.ts, 4, 5)) switch(arr.length) { ->arr.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>arr.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >arr : Symbol(arr, Decl(commaOperatorLeftSideUnused.ts, 4, 5)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) // Should error case 0, 1: @@ -27,9 +27,9 @@ function fn() { // Should error let x = Math.pow((3, 5), 2); >x : Symbol(x, Decl(commaOperatorLeftSideUnused.ts, 15, 3)) ->Math.pow : Symbol(Math.pow, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->pow : Symbol(Math.pow, Decl(lib.d.ts, --, --)) +>Math.pow : Symbol(Math.pow, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>pow : Symbol(Math.pow, Decl(lib.es5.d.ts, --, --)) // Should error let a = [(3 + 4), ((1 + 1, 8) * 4)]; @@ -139,9 +139,9 @@ xx = ((xx+= 4), xx); xx = (Math.pow(3, 2), 4); >xx : Symbol(xx, Decl(commaOperatorLeftSideUnused.ts, 0, 3)) ->Math.pow : Symbol(Math.pow, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->pow : Symbol(Math.pow, Decl(lib.d.ts, --, --)) +>Math.pow : Symbol(Math.pow, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>pow : Symbol(Math.pow, Decl(lib.es5.d.ts, --, --)) xx = (void xx, 10); >xx : Symbol(xx, Decl(commaOperatorLeftSideUnused.ts, 0, 3)) diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.symbols b/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.symbols index ba9618a5ecf..b76fc02039b 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.symbols +++ b/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.symbols @@ -13,7 +13,7 @@ var STRING: string; var OBJECT: Object; >OBJECT : Symbol(OBJECT, Decl(commaOperatorWithSecondOperandAnyType.ts, 4, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) //The second operand type is any ANY, ANY; @@ -75,8 +75,8 @@ var x: any; "string", [null, 1]; "string".charAt(0), [null, 1]; ->"string".charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>"string".charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) true, x("any"); >x : Symbol(x, Decl(commaOperatorWithSecondOperandAnyType.ts, 21, 3)) @@ -99,8 +99,8 @@ var resultIsAny8 = ("string", null); var resultIsAny9 = ("string".charAt(0), undefined); >resultIsAny9 : Symbol(resultIsAny9, Decl(commaOperatorWithSecondOperandAnyType.ts, 33, 3)) ->"string".charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>"string".charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) var resultIsAny10 = (true, x("any")); diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandBooleanType.symbols b/tests/baselines/reference/commaOperatorWithSecondOperandBooleanType.symbols index 9be885bf41c..d0f451957d3 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandBooleanType.symbols +++ b/tests/baselines/reference/commaOperatorWithSecondOperandBooleanType.symbols @@ -13,7 +13,7 @@ var STRING: string; var OBJECT: Object; >OBJECT : Symbol(OBJECT, Decl(commaOperatorWithSecondOperandBooleanType.ts, 4, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) //The second operand type is boolean ANY, BOOLEAN; diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.symbols b/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.symbols index bf5ff9437a3..7852f015d3b 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.symbols +++ b/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.symbols @@ -13,7 +13,7 @@ var STRING: string; var OBJECT: Object; >OBJECT : Symbol(OBJECT, Decl(commaOperatorWithSecondOperandNumberType.ts, 4, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) //The second operand type is number ANY, NUMBER; @@ -79,9 +79,9 @@ BOOLEAN = false, 1; >NUMBER : Symbol(NUMBER, Decl(commaOperatorWithSecondOperandNumberType.ts, 2, 3)) STRING.trim(), NUMBER = 1; ->STRING.trim : Symbol(String.trim, Decl(lib.d.ts, --, --)) +>STRING.trim : Symbol(String.trim, Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(commaOperatorWithSecondOperandNumberType.ts, 3, 3)) ->trim : Symbol(String.trim, Decl(lib.d.ts, --, --)) +>trim : Symbol(String.trim, Decl(lib.es5.d.ts, --, --)) >NUMBER : Symbol(NUMBER, Decl(commaOperatorWithSecondOperandNumberType.ts, 2, 3)) var resultIsNumber6 = (null, NUMBER); @@ -107,8 +107,8 @@ var resultIsNumber10 = ("", NUMBER = 1); var resultIsNumber11 = (STRING.trim(), NUMBER = 1); >resultIsNumber11 : Symbol(resultIsNumber11, Decl(commaOperatorWithSecondOperandNumberType.ts, 33, 3)) ->STRING.trim : Symbol(String.trim, Decl(lib.d.ts, --, --)) +>STRING.trim : Symbol(String.trim, Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(commaOperatorWithSecondOperandNumberType.ts, 3, 3)) ->trim : Symbol(String.trim, Decl(lib.d.ts, --, --)) +>trim : Symbol(String.trim, Decl(lib.es5.d.ts, --, --)) >NUMBER : Symbol(NUMBER, Decl(commaOperatorWithSecondOperandNumberType.ts, 2, 3)) diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.symbols b/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.symbols index f3189aad873..e8e94332828 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.symbols +++ b/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.symbols @@ -13,7 +13,7 @@ var STRING: string; var OBJECT: Object; >OBJECT : Symbol(OBJECT, Decl(commaOperatorWithSecondOperandObjectType.ts, 4, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) class CLASS { >CLASS : Symbol(CLASS, Decl(commaOperatorWithSecondOperandObjectType.ts, 4, 19)) @@ -82,12 +82,12 @@ true, {} >BOOLEAN : Symbol(BOOLEAN, Decl(commaOperatorWithSecondOperandObjectType.ts, 1, 3)) "string", new Date() ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) STRING.toLowerCase(), new CLASS() ->STRING.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>STRING.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(commaOperatorWithSecondOperandObjectType.ts, 3, 3)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >CLASS : Symbol(CLASS, Decl(commaOperatorWithSecondOperandObjectType.ts, 4, 19)) var resultIsObject6 = (null, OBJECT); @@ -110,12 +110,12 @@ var resultIsObject9 = (!BOOLEAN, { a: 1, b: "s" }); var resultIsObject10 = ("string", new Date()); >resultIsObject10 : Symbol(resultIsObject10, Decl(commaOperatorWithSecondOperandObjectType.ts, 36, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var resultIsObject11 = (STRING.toLowerCase(), new CLASS()); >resultIsObject11 : Symbol(resultIsObject11, Decl(commaOperatorWithSecondOperandObjectType.ts, 37, 3)) ->STRING.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>STRING.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(commaOperatorWithSecondOperandObjectType.ts, 3, 3)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >CLASS : Symbol(CLASS, Decl(commaOperatorWithSecondOperandObjectType.ts, 4, 19)) diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandStringType.symbols b/tests/baselines/reference/commaOperatorWithSecondOperandStringType.symbols index 02a375ea93e..bd4ed4e2176 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandStringType.symbols +++ b/tests/baselines/reference/commaOperatorWithSecondOperandStringType.symbols @@ -13,7 +13,7 @@ var STRING: string; var OBJECT: Object; >OBJECT : Symbol(OBJECT, Decl(commaOperatorWithSecondOperandStringType.ts, 4, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var resultIsString: string; >resultIsString : Symbol(resultIsString, Decl(commaOperatorWithSecondOperandStringType.ts, 6, 3)) @@ -71,7 +71,7 @@ null, STRING; ANY = new Date(), STRING; >ANY : Symbol(ANY, Decl(commaOperatorWithSecondOperandStringType.ts, 0, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >STRING : Symbol(STRING, Decl(commaOperatorWithSecondOperandStringType.ts, 3, 3)) true, ""; @@ -80,13 +80,13 @@ BOOLEAN == undefined, ""; >undefined : Symbol(undefined) ["a", "b"], NUMBER.toString(); ->NUMBER.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>NUMBER.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >NUMBER : Symbol(NUMBER, Decl(commaOperatorWithSecondOperandStringType.ts, 2, 3)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) OBJECT = new Object, STRING + "string"; >OBJECT : Symbol(OBJECT, Decl(commaOperatorWithSecondOperandStringType.ts, 4, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(commaOperatorWithSecondOperandStringType.ts, 3, 3)) var resultIsString6 = (null, STRING); @@ -96,7 +96,7 @@ var resultIsString6 = (null, STRING); var resultIsString7 = (ANY = new Date(), STRING); >resultIsString7 : Symbol(resultIsString7, Decl(commaOperatorWithSecondOperandStringType.ts, 31, 3)) >ANY : Symbol(ANY, Decl(commaOperatorWithSecondOperandStringType.ts, 0, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >STRING : Symbol(STRING, Decl(commaOperatorWithSecondOperandStringType.ts, 3, 3)) var resultIsString8 = (true, ""); @@ -109,12 +109,12 @@ var resultIsString9 = (BOOLEAN == undefined, ""); var resultIsString10 = (["a", "b"], NUMBER.toString()); >resultIsString10 : Symbol(resultIsString10, Decl(commaOperatorWithSecondOperandStringType.ts, 34, 3)) ->NUMBER.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>NUMBER.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >NUMBER : Symbol(NUMBER, Decl(commaOperatorWithSecondOperandStringType.ts, 2, 3)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) var resultIsString11 = (new Object, STRING + "string"); >resultIsString11 : Symbol(resultIsString11, Decl(commaOperatorWithSecondOperandStringType.ts, 35, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(commaOperatorWithSecondOperandStringType.ts, 3, 3)) diff --git a/tests/baselines/reference/commaOperatorWithoutOperand.symbols b/tests/baselines/reference/commaOperatorWithoutOperand.symbols index dce09ec966e..de9cd82510d 100644 --- a/tests/baselines/reference/commaOperatorWithoutOperand.symbols +++ b/tests/baselines/reference/commaOperatorWithoutOperand.symbols @@ -13,7 +13,7 @@ var STRING: string; var OBJECT: Object; >OBJECT : Symbol(OBJECT, Decl(commaOperatorWithoutOperand.ts, 4, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // Expect to have compiler errors // Missing the second operand diff --git a/tests/baselines/reference/commaOperatorsMultipleOperators.symbols b/tests/baselines/reference/commaOperatorsMultipleOperators.symbols index 3a580bc49e9..ccb06040087 100644 --- a/tests/baselines/reference/commaOperatorsMultipleOperators.symbols +++ b/tests/baselines/reference/commaOperatorsMultipleOperators.symbols @@ -13,7 +13,7 @@ var STRING: string; var OBJECT: Object; >OBJECT : Symbol(OBJECT, Decl(commaOperatorsMultipleOperators.ts, 4, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) //Expected: work well ANY, BOOLEAN, NUMBER; @@ -76,10 +76,10 @@ var resultIsObject1 = (NUMBER, STRING, OBJECT); null, true, 1; ++NUMBER, STRING.charAt(0), new Object(); >NUMBER : Symbol(NUMBER, Decl(commaOperatorsMultipleOperators.ts, 2, 3)) ->STRING.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(commaOperatorsMultipleOperators.ts, 3, 3)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var resultIsNumber2 = (null, true, 1); >resultIsNumber2 : Symbol(resultIsNumber2, Decl(commaOperatorsMultipleOperators.ts, 24, 3)) @@ -87,8 +87,8 @@ var resultIsNumber2 = (null, true, 1); var resultIsObject2 = (++NUMBER, STRING.charAt(0), new Object()); >resultIsObject2 : Symbol(resultIsObject2, Decl(commaOperatorsMultipleOperators.ts, 25, 3)) >NUMBER : Symbol(NUMBER, Decl(commaOperatorsMultipleOperators.ts, 2, 3)) ->STRING.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(commaOperatorsMultipleOperators.ts, 3, 3)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/commentInMethodCall.symbols b/tests/baselines/reference/commentInMethodCall.symbols index 9db0719cf89..1041fc111c8 100644 --- a/tests/baselines/reference/commentInMethodCall.symbols +++ b/tests/baselines/reference/commentInMethodCall.symbols @@ -4,9 +4,9 @@ var s: string[]; >s : Symbol(s, Decl(commentInMethodCall.ts, 1, 3)) s.map(// do something ->s.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>s.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(commentInMethodCall.ts, 1, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) function () { }); diff --git a/tests/baselines/reference/commonSourceDir5.symbols b/tests/baselines/reference/commonSourceDir5.symbols index 6426ac39de3..b6fafab41ff 100644 --- a/tests/baselines/reference/commonSourceDir5.symbols +++ b/tests/baselines/reference/commonSourceDir5.symbols @@ -13,9 +13,9 @@ import {pi} from "B:/baz"; export var i = Math.sqrt(-1); >i : Symbol(i, Decl(foo.ts, 1, 10)) ->Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) +>Math.sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) export var z = pi * pi; >z : Symbol(z, Decl(foo.ts, 2, 10)) @@ -31,9 +31,9 @@ import {i} from "A:/foo"; export var pi = Math.PI; >pi : Symbol(pi, Decl(baz.ts, 2, 10)) ->Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) +>Math.PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) export var y = x * i; >y : Symbol(y, Decl(baz.ts, 3, 10)) diff --git a/tests/baselines/reference/commonSourceDir6.symbols b/tests/baselines/reference/commonSourceDir6.symbols index e9d5edb28b2..1c4973cc23d 100644 --- a/tests/baselines/reference/commonSourceDir6.symbols +++ b/tests/baselines/reference/commonSourceDir6.symbols @@ -13,9 +13,9 @@ import {pi} from "../baz"; export var i = Math.sqrt(-1); >i : Symbol(i, Decl(foo.ts, 1, 10)) ->Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) +>Math.sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) export var z = pi * pi; >z : Symbol(z, Decl(foo.ts, 2, 10)) @@ -31,9 +31,9 @@ import {i} from "a/foo"; export var pi = Math.PI; >pi : Symbol(pi, Decl(baz.ts, 2, 10)) ->Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) +>Math.PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) export var y = x * i; >y : Symbol(y, Decl(baz.ts, 3, 10)) diff --git a/tests/baselines/reference/comparisonOperatorWithIdenticalObjects.symbols b/tests/baselines/reference/comparisonOperatorWithIdenticalObjects.symbols index 72b111d3540..9409cb1e751 100644 --- a/tests/baselines/reference/comparisonOperatorWithIdenticalObjects.symbols +++ b/tests/baselines/reference/comparisonOperatorWithIdenticalObjects.symbols @@ -16,7 +16,7 @@ class A1 { public e: Object; >e : Symbol(A1.e, Decl(comparisonOperatorWithIdenticalObjects.ts, 4, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) public fn(a: string): string { >fn : Symbol(A1.fn, Decl(comparisonOperatorWithIdenticalObjects.ts, 5, 21)) @@ -42,7 +42,7 @@ class B1 { public e: Object; >e : Symbol(B1.e, Decl(comparisonOperatorWithIdenticalObjects.ts, 14, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) public fn(b: string): string { >fn : Symbol(B1.fn, Decl(comparisonOperatorWithIdenticalObjects.ts, 15, 21)) diff --git a/tests/baselines/reference/comparisonOperatorWithTypeParameter.symbols b/tests/baselines/reference/comparisonOperatorWithTypeParameter.symbols index b3f3a0f0f73..233da85c885 100644 --- a/tests/baselines/reference/comparisonOperatorWithTypeParameter.symbols +++ b/tests/baselines/reference/comparisonOperatorWithTypeParameter.symbols @@ -4,7 +4,7 @@ var a: {}; var b: Object; >b : Symbol(b, Decl(comparisonOperatorWithTypeParameter.ts, 1, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo(t: T, u: U, v: V) { >foo : Symbol(foo, Decl(comparisonOperatorWithTypeParameter.ts, 1, 14)) diff --git a/tests/baselines/reference/complexNarrowingWithAny.symbols b/tests/baselines/reference/complexNarrowingWithAny.symbols index d286502479c..63e43b07651 100644 --- a/tests/baselines/reference/complexNarrowingWithAny.symbols +++ b/tests/baselines/reference/complexNarrowingWithAny.symbols @@ -134,7 +134,7 @@ namespace import49 { //export var NG_VALUE_ACCESSOR = new OpaqueToken('ngValueAccessor') export var NG_VALUE_ACCESSOR = new String('foo') >NG_VALUE_ACCESSOR : Symbol(NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } //using a class - < 1 sec typecheck diff --git a/tests/baselines/reference/complexRecursiveCollections.symbols b/tests/baselines/reference/complexRecursiveCollections.symbols index 04a4b54121d..3b0dbdd43c0 100644 --- a/tests/baselines/reference/complexRecursiveCollections.symbols +++ b/tests/baselines/reference/complexRecursiveCollections.symbols @@ -174,7 +174,7 @@ declare module Immutable { >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >Indexed : Symbol(Collection.Indexed, Decl(immutable.ts, 356, 28), Decl(immutable.ts, 355, 5), Decl(immutable.ts, 357, 79)) >path : Symbol(path, Decl(immutable.ts, 4, 138)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) export function is(first: any, second: any): boolean; >is : Symbol(is, Decl(immutable.ts, 4, 183)) @@ -253,7 +253,7 @@ declare module Immutable { >of : Symbol(of, Decl(immutable.ts, 19, 60)) >T : Symbol(T, Decl(immutable.ts, 20, 16)) >values : Symbol(values, Decl(immutable.ts, 20, 19)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 20, 16)) >List : Symbol(List, Decl(immutable.ts, 21, 3), Decl(immutable.ts, 22, 36), Decl(immutable.ts, 23, 37), Decl(immutable.ts, 17, 3), Decl(immutable.ts, 24, 60)) >T : Symbol(T, Decl(immutable.ts, 20, 16)) @@ -322,7 +322,7 @@ declare module Immutable { push(...values: Array): List; >push : Symbol(List.push, Decl(immutable.ts, 31, 21)) >values : Symbol(values, Decl(immutable.ts, 32, 9)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) >List : Symbol(List, Decl(immutable.ts, 21, 3), Decl(immutable.ts, 22, 36), Decl(immutable.ts, 23, 37), Decl(immutable.ts, 17, 3), Decl(immutable.ts, 24, 60)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) @@ -335,7 +335,7 @@ declare module Immutable { unshift(...values: Array): List; >unshift : Symbol(List.unshift, Decl(immutable.ts, 33, 19)) >values : Symbol(values, Decl(immutable.ts, 34, 12)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) >List : Symbol(List, Decl(immutable.ts, 21, 3), Decl(immutable.ts, 22, 36), Decl(immutable.ts, 23, 37), Decl(immutable.ts, 17, 3), Decl(immutable.ts, 24, 60)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) @@ -374,11 +374,11 @@ declare module Immutable { merge(...collections: Array | Array>): this; >merge : Symbol(List.merge, Decl(immutable.ts, 38, 46)) >collections : Symbol(collections, Decl(immutable.ts, 39, 10)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >Indexed : Symbol(Collection.Indexed, Decl(immutable.ts, 356, 28), Decl(immutable.ts, 355, 5), Decl(immutable.ts, 357, 79)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) mergeWith(merger: (oldVal: T, newVal: T, key: number) => T, ...collections: Array | Array>): this; @@ -391,21 +391,21 @@ declare module Immutable { >key : Symbol(key, Decl(immutable.ts, 40, 44)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) >collections : Symbol(collections, Decl(immutable.ts, 40, 63)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >Indexed : Symbol(Collection.Indexed, Decl(immutable.ts, 356, 28), Decl(immutable.ts, 355, 5), Decl(immutable.ts, 357, 79)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) mergeDeep(...collections: Array | Array>): this; >mergeDeep : Symbol(List.mergeDeep, Decl(immutable.ts, 40, 127)) >collections : Symbol(collections, Decl(immutable.ts, 41, 14)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >Indexed : Symbol(Collection.Indexed, Decl(immutable.ts, 356, 28), Decl(immutable.ts, 355, 5), Decl(immutable.ts, 357, 79)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) mergeDeepWith(merger: (oldVal: T, newVal: T, key: number) => T, ...collections: Array | Array>): this; @@ -418,11 +418,11 @@ declare module Immutable { >key : Symbol(key, Decl(immutable.ts, 42, 48)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) >collections : Symbol(collections, Decl(immutable.ts, 42, 67)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >Indexed : Symbol(Collection.Indexed, Decl(immutable.ts, 356, 28), Decl(immutable.ts, 355, 5), Decl(immutable.ts, 357, 79)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 25, 24)) setSize(size: number): List; @@ -468,14 +468,14 @@ declare module Immutable { >keyPath : Symbol(keyPath, Decl(immutable.ts, 50, 12)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >collections : Symbol(collections, Decl(immutable.ts, 50, 35)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) mergeDeepIn(keyPath: Iterable, ...collections: Array): this; >mergeDeepIn : Symbol(List.mergeDeepIn, Decl(immutable.ts, 50, 70)) >keyPath : Symbol(keyPath, Decl(immutable.ts, 51, 16)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >collections : Symbol(collections, Decl(immutable.ts, 51, 39)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Transient changes withMutations(mutator: (mutable: this) => any): this; @@ -494,7 +494,7 @@ declare module Immutable { >concat : Symbol(List.concat, Decl(immutable.ts, 55, 24)) >C : Symbol(C, Decl(immutable.ts, 57, 11)) >valuesOrCollections : Symbol(valuesOrCollections, Decl(immutable.ts, 57, 14)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >C : Symbol(C, Decl(immutable.ts, 57, 11)) >C : Symbol(C, Decl(immutable.ts, 57, 11)) @@ -565,7 +565,7 @@ declare module Immutable { function of(...keyValues: Array): Map; >of : Symbol(of, Decl(immutable.ts, 64, 61)) >keyValues : Symbol(keyValues, Decl(immutable.ts, 65, 16)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Map : Symbol(Map, Decl(immutable.ts, 66, 3), Decl(immutable.ts, 67, 69), Decl(immutable.ts, 68, 71), Decl(immutable.ts, 69, 66), Decl(immutable.ts, 70, 41) ... and 2 more) } export function Map(collection: Iterable<[K, V]>): Map; @@ -686,7 +686,7 @@ declare module Immutable { merge(...collections: Array | {[key: string]: V}>): this; >merge : Symbol(Map.merge, Decl(immutable.ts, 82, 46)) >collections : Symbol(collections, Decl(immutable.ts, 83, 10)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >K : Symbol(K, Decl(immutable.ts, 72, 23)) >V : Symbol(V, Decl(immutable.ts, 72, 25)) @@ -704,7 +704,7 @@ declare module Immutable { >K : Symbol(K, Decl(immutable.ts, 72, 23)) >V : Symbol(V, Decl(immutable.ts, 72, 25)) >collections : Symbol(collections, Decl(immutable.ts, 84, 58)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >K : Symbol(K, Decl(immutable.ts, 72, 23)) >V : Symbol(V, Decl(immutable.ts, 72, 25)) @@ -714,7 +714,7 @@ declare module Immutable { mergeDeep(...collections: Array | {[key: string]: V}>): this; >mergeDeep : Symbol(Map.mergeDeep, Decl(immutable.ts, 84, 127)) >collections : Symbol(collections, Decl(immutable.ts, 85, 14)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >K : Symbol(K, Decl(immutable.ts, 72, 23)) >V : Symbol(V, Decl(immutable.ts, 72, 25)) @@ -732,7 +732,7 @@ declare module Immutable { >K : Symbol(K, Decl(immutable.ts, 72, 23)) >V : Symbol(V, Decl(immutable.ts, 72, 25)) >collections : Symbol(collections, Decl(immutable.ts, 86, 62)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >K : Symbol(K, Decl(immutable.ts, 72, 23)) >V : Symbol(V, Decl(immutable.ts, 72, 25)) @@ -776,14 +776,14 @@ declare module Immutable { >keyPath : Symbol(keyPath, Decl(immutable.ts, 93, 12)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >collections : Symbol(collections, Decl(immutable.ts, 93, 35)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) mergeDeepIn(keyPath: Iterable, ...collections: Array): this; >mergeDeepIn : Symbol(Map.mergeDeepIn, Decl(immutable.ts, 93, 70)) >keyPath : Symbol(keyPath, Decl(immutable.ts, 94, 16)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >collections : Symbol(collections, Decl(immutable.ts, 94, 39)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Transient changes withMutations(mutator: (mutable: this) => any): this; @@ -803,7 +803,7 @@ declare module Immutable { >KC : Symbol(KC, Decl(immutable.ts, 100, 11)) >VC : Symbol(VC, Decl(immutable.ts, 100, 14)) >collections : Symbol(collections, Decl(immutable.ts, 100, 19)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >KC : Symbol(KC, Decl(immutable.ts, 100, 11)) >VC : Symbol(VC, Decl(immutable.ts, 100, 14)) @@ -817,7 +817,7 @@ declare module Immutable { >concat : Symbol(Map.concat, Decl(immutable.ts, 98, 24), Decl(immutable.ts, 100, 83)) >C : Symbol(C, Decl(immutable.ts, 101, 11)) >collections : Symbol(collections, Decl(immutable.ts, 101, 14)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >key : Symbol(key, Decl(immutable.ts, 101, 38)) >C : Symbol(C, Decl(immutable.ts, 101, 11)) >Map : Symbol(Map, Decl(immutable.ts, 66, 3), Decl(immutable.ts, 67, 69), Decl(immutable.ts, 68, 71), Decl(immutable.ts, 69, 66), Decl(immutable.ts, 70, 41) ... and 2 more) @@ -980,7 +980,7 @@ declare module Immutable { >KC : Symbol(KC, Decl(immutable.ts, 119, 11)) >VC : Symbol(VC, Decl(immutable.ts, 119, 14)) >collections : Symbol(collections, Decl(immutable.ts, 119, 19)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >KC : Symbol(KC, Decl(immutable.ts, 119, 11)) >VC : Symbol(VC, Decl(immutable.ts, 119, 14)) @@ -994,7 +994,7 @@ declare module Immutable { >concat : Symbol(OrderedMap.concat, Decl(immutable.ts, 117, 55), Decl(immutable.ts, 119, 90)) >C : Symbol(C, Decl(immutable.ts, 120, 11)) >collections : Symbol(collections, Decl(immutable.ts, 120, 14)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >key : Symbol(key, Decl(immutable.ts, 120, 38)) >C : Symbol(C, Decl(immutable.ts, 120, 11)) >OrderedMap : Symbol(OrderedMap, Decl(immutable.ts, 111, 3), Decl(immutable.ts, 112, 83), Decl(immutable.ts, 113, 85), Decl(immutable.ts, 114, 80), Decl(immutable.ts, 115, 55) ... and 2 more) @@ -1103,7 +1103,7 @@ declare module Immutable { >of : Symbol(of, Decl(immutable.ts, 129, 56)) >T : Symbol(T, Decl(immutable.ts, 130, 16)) >values : Symbol(values, Decl(immutable.ts, 130, 19)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 130, 16)) >Set : Symbol(Set, Decl(immutable.ts, 135, 3), Decl(immutable.ts, 136, 34), Decl(immutable.ts, 137, 35), Decl(immutable.ts, 127, 3), Decl(immutable.ts, 138, 58)) >T : Symbol(T, Decl(immutable.ts, 130, 16)) @@ -1192,37 +1192,37 @@ declare module Immutable { union(...collections: Array | Array>): this; >union : Symbol(Set.union, Decl(immutable.ts, 144, 18)) >collections : Symbol(collections, Decl(immutable.ts, 145, 10)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >T : Symbol(T, Decl(immutable.ts, 139, 23)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 139, 23)) merge(...collections: Array | Array>): this; >merge : Symbol(Set.merge, Decl(immutable.ts, 145, 70)) >collections : Symbol(collections, Decl(immutable.ts, 146, 10)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >T : Symbol(T, Decl(immutable.ts, 139, 23)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 139, 23)) intersect(...collections: Array | Array>): this; >intersect : Symbol(Set.intersect, Decl(immutable.ts, 146, 70)) >collections : Symbol(collections, Decl(immutable.ts, 147, 14)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >T : Symbol(T, Decl(immutable.ts, 139, 23)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 139, 23)) subtract(...collections: Array | Array>): this; >subtract : Symbol(Set.subtract, Decl(immutable.ts, 147, 74)) >collections : Symbol(collections, Decl(immutable.ts, 148, 13)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >T : Symbol(T, Decl(immutable.ts, 139, 23)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 139, 23)) // Transient changes @@ -1242,7 +1242,7 @@ declare module Immutable { >concat : Symbol(Set.concat, Decl(immutable.ts, 152, 24)) >C : Symbol(C, Decl(immutable.ts, 154, 11)) >valuesOrCollections : Symbol(valuesOrCollections, Decl(immutable.ts, 154, 14)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >C : Symbol(C, Decl(immutable.ts, 154, 11)) >C : Symbol(C, Decl(immutable.ts, 154, 11)) @@ -1312,7 +1312,7 @@ declare module Immutable { >of : Symbol(of, Decl(immutable.ts, 161, 57)) >T : Symbol(T, Decl(immutable.ts, 162, 16)) >values : Symbol(values, Decl(immutable.ts, 162, 19)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 162, 16)) >OrderedSet : Symbol(OrderedSet, Decl(immutable.ts, 165, 3), Decl(immutable.ts, 166, 48), Decl(immutable.ts, 167, 49), Decl(immutable.ts, 159, 3), Decl(immutable.ts, 168, 72)) >T : Symbol(T, Decl(immutable.ts, 162, 16)) @@ -1362,7 +1362,7 @@ declare module Immutable { >concat : Symbol(OrderedSet.concat, Decl(immutable.ts, 169, 49)) >C : Symbol(C, Decl(immutable.ts, 171, 11)) >valuesOrCollections : Symbol(valuesOrCollections, Decl(immutable.ts, 171, 14)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >C : Symbol(C, Decl(immutable.ts, 171, 11)) >C : Symbol(C, Decl(immutable.ts, 171, 11)) @@ -1424,7 +1424,7 @@ declare module Immutable { zip(...collections: Array>): OrderedSet; >zip : Symbol(OrderedSet.zip, Decl(immutable.ts, 175, 86)) >collections : Symbol(collections, Decl(immutable.ts, 176, 8)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >OrderedSet : Symbol(OrderedSet, Decl(immutable.ts, 165, 3), Decl(immutable.ts, 166, 48), Decl(immutable.ts, 167, 49), Decl(immutable.ts, 159, 3), Decl(immutable.ts, 168, 72)) @@ -1471,10 +1471,10 @@ declare module Immutable { >Z : Symbol(Z, Decl(immutable.ts, 179, 12)) >zipper : Symbol(zipper, Decl(immutable.ts, 179, 15)) >any : Symbol(any, Decl(immutable.ts, 179, 24)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Z : Symbol(Z, Decl(immutable.ts, 179, 12)) >collections : Symbol(collections, Decl(immutable.ts, 179, 49)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >OrderedSet : Symbol(OrderedSet, Decl(immutable.ts, 165, 3), Decl(immutable.ts, 166, 48), Decl(immutable.ts, 167, 49), Decl(immutable.ts, 159, 3), Decl(immutable.ts, 168, 72)) >Z : Symbol(Z, Decl(immutable.ts, 179, 12)) @@ -1492,7 +1492,7 @@ declare module Immutable { >of : Symbol(of, Decl(immutable.ts, 182, 64)) >T : Symbol(T, Decl(immutable.ts, 183, 16)) >values : Symbol(values, Decl(immutable.ts, 183, 19)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 183, 16)) >Stack : Symbol(Stack, Decl(immutable.ts, 184, 3), Decl(immutable.ts, 185, 38), Decl(immutable.ts, 186, 39), Decl(immutable.ts, 180, 3), Decl(immutable.ts, 187, 62)) >T : Symbol(T, Decl(immutable.ts, 183, 16)) @@ -1538,7 +1538,7 @@ declare module Immutable { unshift(...values: Array): Stack; >unshift : Symbol(Stack.unshift, Decl(immutable.ts, 192, 22)) >values : Symbol(values, Decl(immutable.ts, 193, 12)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 188, 25)) >Stack : Symbol(Stack, Decl(immutable.ts, 184, 3), Decl(immutable.ts, 185, 38), Decl(immutable.ts, 186, 39), Decl(immutable.ts, 180, 3), Decl(immutable.ts, 187, 62)) >T : Symbol(T, Decl(immutable.ts, 188, 25)) @@ -1559,7 +1559,7 @@ declare module Immutable { push(...values: Array): Stack; >push : Symbol(Stack.push, Decl(immutable.ts, 195, 22)) >values : Symbol(values, Decl(immutable.ts, 196, 9)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 188, 25)) >Stack : Symbol(Stack, Decl(immutable.ts, 184, 3), Decl(immutable.ts, 185, 38), Decl(immutable.ts, 186, 39), Decl(immutable.ts, 180, 3), Decl(immutable.ts, 187, 62)) >T : Symbol(T, Decl(immutable.ts, 188, 25)) @@ -1594,7 +1594,7 @@ declare module Immutable { >concat : Symbol(Stack.concat, Decl(immutable.ts, 202, 24)) >C : Symbol(C, Decl(immutable.ts, 204, 11)) >valuesOrCollections : Symbol(valuesOrCollections, Decl(immutable.ts, 204, 14)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >C : Symbol(C, Decl(immutable.ts, 204, 11)) >C : Symbol(C, Decl(immutable.ts, 204, 11)) @@ -1779,7 +1779,7 @@ declare module Immutable { merge(...collections: Array | Iterable<[string, any]>>): this; >merge : Symbol(Instance.merge, Decl(immutable.ts, 232, 78)) >collections : Symbol(collections, Decl(immutable.ts, 233, 12)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 219, 30)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) @@ -1787,7 +1787,7 @@ declare module Immutable { mergeDeep(...collections: Array | Iterable<[string, any]>>): this; >mergeDeep : Symbol(Instance.mergeDeep, Decl(immutable.ts, 233, 79)) >collections : Symbol(collections, Decl(immutable.ts, 234, 16)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 219, 30)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) @@ -1800,7 +1800,7 @@ declare module Immutable { >key : Symbol(key, Decl(immutable.ts, 235, 50)) >T : Symbol(T, Decl(immutable.ts, 219, 30)) >collections : Symbol(collections, Decl(immutable.ts, 235, 72)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 219, 30)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) @@ -1812,7 +1812,7 @@ declare module Immutable { >newVal : Symbol(newVal, Decl(immutable.ts, 236, 41)) >key : Symbol(key, Decl(immutable.ts, 236, 54)) >collections : Symbol(collections, Decl(immutable.ts, 236, 72)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 219, 30)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) @@ -1853,14 +1853,14 @@ declare module Immutable { >keyPath : Symbol(keyPath, Decl(immutable.ts, 243, 14)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >collections : Symbol(collections, Decl(immutable.ts, 243, 37)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) mergeDeepIn(keyPath: Iterable, ...collections: Array): this; >mergeDeepIn : Symbol(Instance.mergeDeepIn, Decl(immutable.ts, 243, 72)) >keyPath : Symbol(keyPath, Decl(immutable.ts, 244, 18)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >collections : Symbol(collections, Decl(immutable.ts, 244, 41)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) deleteIn(keyPath: Iterable): this; >deleteIn : Symbol(Instance.deleteIn, Decl(immutable.ts, 244, 76)) @@ -1910,7 +1910,7 @@ declare module Immutable { [Symbol.iterator](): IterableIterator<[keyof T, T[keyof T]]>; >[Symbol.iterator] : Symbol(Instance[Symbol.iterator], Decl(immutable.ts, 256, 46)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 219, 30)) @@ -1944,7 +1944,7 @@ declare module Immutable { >of : Symbol(of, Decl(immutable.ts, 262, 86)) >T : Symbol(T, Decl(immutable.ts, 263, 16)) >values : Symbol(values, Decl(immutable.ts, 263, 19)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 263, 16)) >Seq : Symbol(Seq, Decl(immutable.ts, 314, 3), Decl(immutable.ts, 315, 58), Decl(immutable.ts, 316, 81), Decl(immutable.ts, 317, 76), Decl(immutable.ts, 318, 68) ... and 4 more) >Indexed : Symbol(Indexed, Decl(immutable.ts, 284, 5), Decl(immutable.ts, 285, 48), Decl(immutable.ts, 286, 49), Decl(immutable.ts, 281, 5), Decl(immutable.ts, 287, 72)) @@ -2020,7 +2020,7 @@ declare module Immutable { >KC : Symbol(KC, Decl(immutable.ts, 273, 13)) >VC : Symbol(VC, Decl(immutable.ts, 273, 16)) >collections : Symbol(collections, Decl(immutable.ts, 273, 21)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >KC : Symbol(KC, Decl(immutable.ts, 273, 13)) >VC : Symbol(VC, Decl(immutable.ts, 273, 16)) @@ -2035,7 +2035,7 @@ declare module Immutable { >concat : Symbol(Keyed.concat, Decl(immutable.ts, 272, 20), Decl(immutable.ts, 273, 91)) >C : Symbol(C, Decl(immutable.ts, 274, 13)) >collections : Symbol(collections, Decl(immutable.ts, 274, 16)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >key : Symbol(key, Decl(immutable.ts, 274, 40)) >C : Symbol(C, Decl(immutable.ts, 274, 13)) >Seq : Symbol(Seq, Decl(immutable.ts, 314, 3), Decl(immutable.ts, 315, 58), Decl(immutable.ts, 316, 81), Decl(immutable.ts, 317, 76), Decl(immutable.ts, 318, 68) ... and 4 more) @@ -2144,7 +2144,7 @@ declare module Immutable { >of : Symbol(of, Decl(immutable.ts, 282, 20)) >T : Symbol(T, Decl(immutable.ts, 283, 18)) >values : Symbol(values, Decl(immutable.ts, 283, 21)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 283, 18)) >Seq : Symbol(Seq, Decl(immutable.ts, 314, 3), Decl(immutable.ts, 315, 58), Decl(immutable.ts, 316, 81), Decl(immutable.ts, 317, 76), Decl(immutable.ts, 318, 68) ... and 4 more) >Indexed : Symbol(Indexed, Decl(immutable.ts, 284, 5), Decl(immutable.ts, 285, 48), Decl(immutable.ts, 286, 49), Decl(immutable.ts, 281, 5), Decl(immutable.ts, 287, 72)) @@ -2184,11 +2184,11 @@ declare module Immutable { toJS(): Array; >toJS : Symbol(Indexed.toJS, Decl(immutable.ts, 288, 79)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) toJSON(): Array; >toJSON : Symbol(Indexed.toJSON, Decl(immutable.ts, 289, 25)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 288, 29)) toSeq(): this; @@ -2198,7 +2198,7 @@ declare module Immutable { >concat : Symbol(Indexed.concat, Decl(immutable.ts, 291, 20)) >C : Symbol(C, Decl(immutable.ts, 292, 13)) >valuesOrCollections : Symbol(valuesOrCollections, Decl(immutable.ts, 292, 16)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >C : Symbol(C, Decl(immutable.ts, 292, 13)) >C : Symbol(C, Decl(immutable.ts, 292, 13)) @@ -2268,7 +2268,7 @@ declare module Immutable { >of : Symbol(of, Decl(immutable.ts, 298, 23)) >T : Symbol(T, Decl(immutable.ts, 299, 18)) >values : Symbol(values, Decl(immutable.ts, 299, 21)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 299, 18)) >Seq : Symbol(Seq, Decl(immutable.ts, 314, 3), Decl(immutable.ts, 315, 58), Decl(immutable.ts, 316, 81), Decl(immutable.ts, 317, 76), Decl(immutable.ts, 318, 68) ... and 4 more) >Set : Symbol(Set, Decl(immutable.ts, 300, 5), Decl(immutable.ts, 301, 40), Decl(immutable.ts, 302, 41), Decl(immutable.ts, 297, 5), Decl(immutable.ts, 303, 64)) @@ -2308,11 +2308,11 @@ declare module Immutable { toJS(): Array; >toJS : Symbol(Set.toJS, Decl(immutable.ts, 304, 70)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) toJSON(): Array; >toJSON : Symbol(Set.toJSON, Decl(immutable.ts, 305, 25)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 304, 25)) toSeq(): this; @@ -2322,7 +2322,7 @@ declare module Immutable { >concat : Symbol(Set.concat, Decl(immutable.ts, 307, 20)) >C : Symbol(C, Decl(immutable.ts, 308, 13)) >valuesOrCollections : Symbol(valuesOrCollections, Decl(immutable.ts, 308, 16)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >C : Symbol(C, Decl(immutable.ts, 308, 13)) >C : Symbol(C, Decl(immutable.ts, 308, 13)) @@ -2617,7 +2617,7 @@ declare module Immutable { >KC : Symbol(KC, Decl(immutable.ts, 346, 13)) >VC : Symbol(VC, Decl(immutable.ts, 346, 16)) >collections : Symbol(collections, Decl(immutable.ts, 346, 21)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >KC : Symbol(KC, Decl(immutable.ts, 346, 13)) >VC : Symbol(VC, Decl(immutable.ts, 346, 16)) @@ -2632,7 +2632,7 @@ declare module Immutable { >concat : Symbol(Keyed.concat, Decl(immutable.ts, 345, 19), Decl(immutable.ts, 346, 98)) >C : Symbol(C, Decl(immutable.ts, 347, 13)) >collections : Symbol(collections, Decl(immutable.ts, 347, 16)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >key : Symbol(key, Decl(immutable.ts, 347, 40)) >C : Symbol(C, Decl(immutable.ts, 347, 13)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) @@ -2737,7 +2737,7 @@ declare module Immutable { [Symbol.iterator](): IterableIterator<[K, V]>; >[Symbol.iterator] : Symbol(Keyed[Symbol.iterator], Decl(immutable.ts, 353, 84)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >K : Symbol(K, Decl(immutable.ts, 340, 27)) @@ -2764,11 +2764,11 @@ declare module Immutable { toJS(): Array; >toJS : Symbol(Indexed.toJS, Decl(immutable.ts, 358, 63)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) toJSON(): Array; >toJSON : Symbol(Indexed.toJSON, Decl(immutable.ts, 359, 25)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 358, 29)) // Reading values @@ -2807,7 +2807,7 @@ declare module Immutable { interleave(...collections: Array>): this; >interleave : Symbol(Indexed.interleave, Decl(immutable.ts, 368, 36)) >collections : Symbol(collections, Decl(immutable.ts, 369, 17)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >T : Symbol(T, Decl(immutable.ts, 358, 29)) @@ -2816,13 +2816,13 @@ declare module Immutable { >index : Symbol(index, Decl(immutable.ts, 370, 13)) >removeNum : Symbol(removeNum, Decl(immutable.ts, 370, 27)) >values : Symbol(values, Decl(immutable.ts, 370, 46)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 358, 29)) zip(...collections: Array>): Collection.Indexed; >zip : Symbol(Indexed.zip, Decl(immutable.ts, 370, 74)) >collections : Symbol(collections, Decl(immutable.ts, 371, 10)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >Indexed : Symbol(Indexed, Decl(immutable.ts, 356, 28), Decl(immutable.ts, 355, 5), Decl(immutable.ts, 357, 79)) @@ -2872,10 +2872,10 @@ declare module Immutable { >Z : Symbol(Z, Decl(immutable.ts, 374, 14)) >zipper : Symbol(zipper, Decl(immutable.ts, 374, 17)) >any : Symbol(any, Decl(immutable.ts, 374, 26)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Z : Symbol(Z, Decl(immutable.ts, 374, 14)) >collections : Symbol(collections, Decl(immutable.ts, 374, 51)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) >Indexed : Symbol(Indexed, Decl(immutable.ts, 356, 28), Decl(immutable.ts, 355, 5), Decl(immutable.ts, 357, 79)) @@ -2915,7 +2915,7 @@ declare module Immutable { >concat : Symbol(Indexed.concat, Decl(immutable.ts, 379, 104)) >C : Symbol(C, Decl(immutable.ts, 381, 13)) >valuesOrCollections : Symbol(valuesOrCollections, Decl(immutable.ts, 381, 16)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >C : Symbol(C, Decl(immutable.ts, 381, 13)) >C : Symbol(C, Decl(immutable.ts, 381, 13)) @@ -2981,7 +2981,7 @@ declare module Immutable { [Symbol.iterator](): IterableIterator; >[Symbol.iterator] : Symbol(Indexed[Symbol.iterator], Decl(immutable.ts, 385, 91)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 358, 29)) @@ -3007,11 +3007,11 @@ declare module Immutable { toJS(): Array; >toJS : Symbol(Set.toJS, Decl(immutable.ts, 390, 58)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) toJSON(): Array; >toJSON : Symbol(Set.toJSON, Decl(immutable.ts, 391, 25)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 390, 25)) toSeq(): Seq.Set; @@ -3025,7 +3025,7 @@ declare module Immutable { >concat : Symbol(Set.concat, Decl(immutable.ts, 393, 26)) >C : Symbol(C, Decl(immutable.ts, 395, 13)) >valuesOrCollections : Symbol(valuesOrCollections, Decl(immutable.ts, 395, 16)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >C : Symbol(C, Decl(immutable.ts, 395, 13)) >C : Symbol(C, Decl(immutable.ts, 395, 13)) @@ -3091,7 +3091,7 @@ declare module Immutable { [Symbol.iterator](): IterableIterator; >[Symbol.iterator] : Symbol(Set[Symbol.iterator], Decl(immutable.ts, 399, 88)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(immutable.ts, 390, 25)) @@ -3203,19 +3203,19 @@ declare module Immutable { // Conversion to JavaScript types toJS(): Array | { [key: string]: any }; >toJS : Symbol(Collection.toJS, Decl(immutable.ts, 422, 46)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >key : Symbol(key, Decl(immutable.ts, 424, 28)) toJSON(): Array | { [key: string]: V }; >toJSON : Symbol(Collection.toJSON, Decl(immutable.ts, 424, 48)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >V : Symbol(V, Decl(immutable.ts, 406, 32)) >key : Symbol(key, Decl(immutable.ts, 425, 28)) >V : Symbol(V, Decl(immutable.ts, 406, 32)) toArray(): Array; >toArray : Symbol(Collection.toArray, Decl(immutable.ts, 425, 46)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >V : Symbol(V, Decl(immutable.ts, 406, 32)) toObject(): { [key: string]: V }; @@ -3497,7 +3497,7 @@ declare module Immutable { concat(...valuesOrCollections: Array): Collection; >concat : Symbol(Collection.concat, Decl(immutable.ts, 470, 89)) >valuesOrCollections : Symbol(valuesOrCollections, Decl(immutable.ts, 472, 11)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Collection : Symbol(Collection, Decl(immutable.ts, 402, 3), Decl(immutable.ts, 403, 79), Decl(immutable.ts, 404, 80), Decl(immutable.ts, 331, 3), Decl(immutable.ts, 405, 86)) flatten(depth?: number): Collection; diff --git a/tests/baselines/reference/computedPropertiesTransformedInOtherwiseNonTSClasses.symbols b/tests/baselines/reference/computedPropertiesTransformedInOtherwiseNonTSClasses.symbols index 49a3377c78f..7c94b47ea4a 100644 --- a/tests/baselines/reference/computedPropertiesTransformedInOtherwiseNonTSClasses.symbols +++ b/tests/baselines/reference/computedPropertiesTransformedInOtherwiseNonTSClasses.symbols @@ -4,7 +4,7 @@ namespace NS { export const x = Symbol(); >x : Symbol(x, Decl(computedPropertiesTransformedInOtherwiseNonTSClasses.ts, 1, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) class NotTransformed { >NotTransformed : Symbol(NotTransformed, Decl(computedPropertiesTransformedInOtherwiseNonTSClasses.ts, 1, 30)) diff --git a/tests/baselines/reference/computedPropertyNames3_ES5.symbols b/tests/baselines/reference/computedPropertyNames3_ES5.symbols index 599a287511d..22a6a3f74c1 100644 --- a/tests/baselines/reference/computedPropertyNames3_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNames3_ES5.symbols @@ -21,7 +21,7 @@ class C { static get [""]() { } >[""] : Symbol(C[""], Decl(computedPropertyNames3_ES5.ts, 5, 23)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) static set [id.toString()](v) { } >[id.toString()] : Symbol(C[id.toString()], Decl(computedPropertyNames3_ES5.ts, 6, 33)) diff --git a/tests/baselines/reference/computedPropertyNames3_ES6.symbols b/tests/baselines/reference/computedPropertyNames3_ES6.symbols index 693b54622d3..3a50b84ad85 100644 --- a/tests/baselines/reference/computedPropertyNames3_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNames3_ES6.symbols @@ -21,7 +21,7 @@ class C { static get [""]() { } >[""] : Symbol(C[""], Decl(computedPropertyNames3_ES6.ts, 5, 23)) ->String : Symbol(String, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 1 more) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) static set [id.toString()](v) { } >[id.toString()] : Symbol(C[id.toString()], Decl(computedPropertyNames3_ES6.ts, 6, 33)) diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.symbols b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.symbols index fb6ff275edf..4189351527f 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.symbols @@ -18,14 +18,14 @@ var o: I = { ["" + 0](y) { return y.length; }, >["" + 0] : Symbol(["" + 0], Decl(computedPropertyNamesContextualType1_ES5.ts, 5, 12)) >y : Symbol(y, Decl(computedPropertyNamesContextualType1_ES5.ts, 6, 13)) ->y.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>y.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(computedPropertyNamesContextualType1_ES5.ts, 6, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) ["" + 1]: y => y.length >["" + 1] : Symbol(["" + 1], Decl(computedPropertyNamesContextualType1_ES5.ts, 6, 37)) >y : Symbol(y, Decl(computedPropertyNamesContextualType1_ES5.ts, 7, 13)) ->y.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>y.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(computedPropertyNamesContextualType1_ES5.ts, 7, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES6.symbols b/tests/baselines/reference/computedPropertyNamesContextualType1_ES6.symbols index 61e1959f271..cf686d0af7f 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType1_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES6.symbols @@ -18,14 +18,14 @@ var o: I = { ["" + 0](y) { return y.length; }, >["" + 0] : Symbol(["" + 0], Decl(computedPropertyNamesContextualType1_ES6.ts, 5, 12)) >y : Symbol(y, Decl(computedPropertyNamesContextualType1_ES6.ts, 6, 13)) ->y.length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>y.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(computedPropertyNamesContextualType1_ES6.ts, 6, 13)) ->length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) ["" + 1]: y => y.length >["" + 1] : Symbol(["" + 1], Decl(computedPropertyNamesContextualType1_ES6.ts, 6, 37)) >y : Symbol(y, Decl(computedPropertyNamesContextualType1_ES6.ts, 7, 13)) ->y.length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>y.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(computedPropertyNamesContextualType1_ES6.ts, 7, 13)) ->length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.symbols b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.symbols index 6d6e5369914..754ed3cf8da 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.symbols @@ -18,14 +18,14 @@ var o: I = { [+"foo"](y) { return y.length; }, >[+"foo"] : Symbol([+"foo"], Decl(computedPropertyNamesContextualType2_ES5.ts, 5, 12)) >y : Symbol(y, Decl(computedPropertyNamesContextualType2_ES5.ts, 6, 13)) ->y.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>y.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(computedPropertyNamesContextualType2_ES5.ts, 6, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) [+"bar"]: y => y.length >[+"bar"] : Symbol([+"bar"], Decl(computedPropertyNamesContextualType2_ES5.ts, 6, 37)) >y : Symbol(y, Decl(computedPropertyNamesContextualType2_ES5.ts, 7, 13)) ->y.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>y.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(computedPropertyNamesContextualType2_ES5.ts, 7, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES6.symbols b/tests/baselines/reference/computedPropertyNamesContextualType2_ES6.symbols index 6154ac98744..e44b2ae861e 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType2_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES6.symbols @@ -18,14 +18,14 @@ var o: I = { [+"foo"](y) { return y.length; }, >[+"foo"] : Symbol([+"foo"], Decl(computedPropertyNamesContextualType2_ES6.ts, 5, 12)) >y : Symbol(y, Decl(computedPropertyNamesContextualType2_ES6.ts, 6, 13)) ->y.length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>y.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(computedPropertyNamesContextualType2_ES6.ts, 6, 13)) ->length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) [+"bar"]: y => y.length >[+"bar"] : Symbol([+"bar"], Decl(computedPropertyNamesContextualType2_ES6.ts, 6, 37)) >y : Symbol(y, Decl(computedPropertyNamesContextualType2_ES6.ts, 7, 13)) ->y.length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>y.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(computedPropertyNamesContextualType2_ES6.ts, 7, 13)) ->length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.symbols b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.symbols index 7995c898456..e0479bd306d 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.symbols +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.symbols @@ -14,14 +14,14 @@ var o: I = { [+"foo"](y) { return y.length; }, >[+"foo"] : Symbol([+"foo"], Decl(computedPropertyNamesContextualType3_ES5.ts, 4, 12)) >y : Symbol(y, Decl(computedPropertyNamesContextualType3_ES5.ts, 5, 13)) ->y.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>y.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(computedPropertyNamesContextualType3_ES5.ts, 5, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) [+"bar"]: y => y.length >[+"bar"] : Symbol([+"bar"], Decl(computedPropertyNamesContextualType3_ES5.ts, 5, 37)) >y : Symbol(y, Decl(computedPropertyNamesContextualType3_ES5.ts, 6, 13)) ->y.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>y.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(computedPropertyNamesContextualType3_ES5.ts, 6, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES6.symbols b/tests/baselines/reference/computedPropertyNamesContextualType3_ES6.symbols index a4098afc463..df0cd09b05d 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType3_ES6.symbols +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES6.symbols @@ -14,14 +14,14 @@ var o: I = { [+"foo"](y) { return y.length; }, >[+"foo"] : Symbol([+"foo"], Decl(computedPropertyNamesContextualType3_ES6.ts, 4, 12)) >y : Symbol(y, Decl(computedPropertyNamesContextualType3_ES6.ts, 5, 13)) ->y.length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>y.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(computedPropertyNamesContextualType3_ES6.ts, 5, 13)) ->length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) [+"bar"]: y => y.length >[+"bar"] : Symbol([+"bar"], Decl(computedPropertyNamesContextualType3_ES6.ts, 5, 37)) >y : Symbol(y, Decl(computedPropertyNamesContextualType3_ES6.ts, 6, 13)) ->y.length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>y.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(computedPropertyNamesContextualType3_ES6.ts, 6, 13)) ->length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/concatError.symbols b/tests/baselines/reference/concatError.symbols index 2dcc2f3abd8..f0e455c161d 100644 --- a/tests/baselines/reference/concatError.symbols +++ b/tests/baselines/reference/concatError.symbols @@ -13,15 +13,15 @@ var fa: number[]; fa = fa.concat([0]); >fa : Symbol(fa, Decl(concatError.ts, 7, 3)) ->fa.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>fa.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >fa : Symbol(fa, Decl(concatError.ts, 7, 3)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) fa = fa.concat(0); >fa : Symbol(fa, Decl(concatError.ts, 7, 3)) ->fa.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>fa.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >fa : Symbol(fa, Decl(concatError.ts, 7, 3)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/concatTuples.symbols b/tests/baselines/reference/concatTuples.symbols index a6524f3e1ff..3ebe9664e4d 100644 --- a/tests/baselines/reference/concatTuples.symbols +++ b/tests/baselines/reference/concatTuples.symbols @@ -4,7 +4,7 @@ let ijs: [number, number][] = [[1, 2]]; ijs = ijs.concat([[3, 4], [5, 6]]); >ijs : Symbol(ijs, Decl(concatTuples.ts, 0, 3)) ->ijs.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>ijs.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >ijs : Symbol(ijs, Decl(concatTuples.ts, 0, 3)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/conditionalOperatorConditionIsBooleanType.symbols b/tests/baselines/reference/conditionalOperatorConditionIsBooleanType.symbols index a7124d58305..66e135cf8d6 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsBooleanType.symbols +++ b/tests/baselines/reference/conditionalOperatorConditionIsBooleanType.symbols @@ -17,7 +17,7 @@ var exprString1: string; var exprIsObject1: Object; >exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsBooleanType.ts, 7, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var exprAny2: any; >exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsBooleanType.ts, 9, 3)) @@ -33,7 +33,7 @@ var exprString2: string; var exprIsObject2: Object; >exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsBooleanType.ts, 13, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) //Cond is a boolean type variable condBoolean ? exprAny1 : exprAny2; diff --git a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.symbols b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.symbols index f3816b6238e..a959aa8f28b 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.symbols +++ b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.symbols @@ -17,7 +17,7 @@ var exprString1: string; var exprIsObject1: Object; >exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsNumberType.ts, 7, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var exprAny2: any; >exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsNumberType.ts, 9, 3)) @@ -33,7 +33,7 @@ var exprString2: string; var exprIsObject2: Object; >exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsNumberType.ts, 13, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) //Cond is a number type variable condNumber ? exprAny1 : exprAny2; @@ -107,8 +107,8 @@ var array = [1, 2, 3]; >exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsNumberType.ts, 10, 3)) "string".length ? exprNumber1 : exprNumber2; ->"string".length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>"string".length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 3)) >exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 3)) @@ -207,8 +207,8 @@ var resultIsBoolean3 = 1 + 1 ? exprBoolean1 : exprBoolean2; var resultIsNumber3 = "string".length ? exprNumber1 : exprNumber2; >resultIsNumber3 : Symbol(resultIsNumber3, Decl(conditionalOperatorConditionIsNumberType.ts, 59, 3)) ->"string".length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>"string".length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >exprNumber1 : Symbol(exprNumber1, Decl(conditionalOperatorConditionIsNumberType.ts, 5, 3)) >exprNumber2 : Symbol(exprNumber2, Decl(conditionalOperatorConditionIsNumberType.ts, 11, 3)) diff --git a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.symbols b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.symbols index 4473580e464..71d5d56c8cc 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.symbols +++ b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.symbols @@ -2,7 +2,7 @@ //Cond ? Expr1 : Expr2, Cond is of object type, Expr1 and Expr2 have the same type var condObject: Object; >condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var exprAny1: any; >exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 3)) @@ -18,7 +18,7 @@ var exprString1: string; var exprIsObject1: Object; >exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var exprAny2: any; >exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 3)) @@ -34,7 +34,7 @@ var exprString2: string; var exprIsObject2: Object; >exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo() { }; >foo : Symbol(foo, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 26)) @@ -77,17 +77,17 @@ condObject ? exprString1 : exprBoolean1; // union //Cond is an object type literal ((a: string) => a.length) ? exprAny1 : exprAny2; >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 27, 2)) ->a.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>a.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 27, 2)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 3)) >exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 3)) ((a: string) => a.length) ? exprBoolean1 : exprBoolean2; >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 28, 2)) ->a.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>a.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 28, 2)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) >exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 3)) @@ -120,7 +120,7 @@ foo() ? exprAny1 : exprAny2; >exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 3)) new Date() ? exprBoolean1 : exprBoolean2; ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) >exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 3)) @@ -137,14 +137,14 @@ C.doIt() ? exprString1 : exprString2; >exprString2 : Symbol(exprString2, Decl(conditionalOperatorConditionIsObjectType.ts, 12, 3)) condObject.valueOf() ? exprIsObject1 : exprIsObject2; ->condObject.valueOf : Symbol(Object.valueOf, Decl(lib.d.ts, --, --)) +>condObject.valueOf : Symbol(Object.valueOf, Decl(lib.es5.d.ts, --, --)) >condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->valueOf : Symbol(Object.valueOf, Decl(lib.d.ts, --, --)) +>valueOf : Symbol(Object.valueOf, Decl(lib.es5.d.ts, --, --)) >exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 3)) >exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 3)) new Date() ? exprString1 : exprBoolean1; // union ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditionIsObjectType.ts, 6, 3)) >exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) @@ -188,18 +188,18 @@ var resultIsStringOrBoolean1 = condObject ? exprString1 : exprBoolean1; // union var resultIsAny2 = ((a: string) => a.length) ? exprAny1 : exprAny2; >resultIsAny2 : Symbol(resultIsAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 50, 3)) >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 50, 21)) ->a.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>a.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 50, 21)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >exprAny1 : Symbol(exprAny1, Decl(conditionalOperatorConditionIsObjectType.ts, 3, 3)) >exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditionIsObjectType.ts, 9, 3)) var resultIsBoolean2 = ((a: string) => a.length) ? exprBoolean1 : exprBoolean2; >resultIsBoolean2 : Symbol(resultIsBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 51, 3)) >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 51, 25)) ->a.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>a.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(conditionalOperatorConditionIsObjectType.ts, 51, 25)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) >exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 3)) @@ -237,7 +237,7 @@ var resultIsAny3 = foo() ? exprAny1 : exprAny2; var resultIsBoolean3 = new Date() ? exprBoolean1 : exprBoolean2; >resultIsBoolean3 : Symbol(resultIsBoolean3, Decl(conditionalOperatorConditionIsObjectType.ts, 58, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditionIsObjectType.ts, 4, 3)) >exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditionIsObjectType.ts, 10, 3)) @@ -257,9 +257,9 @@ var resultIsString3 = C.doIt() ? exprString1 : exprString2; var resultIsObject3 = condObject.valueOf() ? exprIsObject1 : exprIsObject2; >resultIsObject3 : Symbol(resultIsObject3, Decl(conditionalOperatorConditionIsObjectType.ts, 61, 3)) ->condObject.valueOf : Symbol(Object.valueOf, Decl(lib.d.ts, --, --)) +>condObject.valueOf : Symbol(Object.valueOf, Decl(lib.es5.d.ts, --, --)) >condObject : Symbol(condObject, Decl(conditionalOperatorConditionIsObjectType.ts, 1, 3)) ->valueOf : Symbol(Object.valueOf, Decl(lib.d.ts, --, --)) +>valueOf : Symbol(Object.valueOf, Decl(lib.es5.d.ts, --, --)) >exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditionIsObjectType.ts, 7, 3)) >exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditionIsObjectType.ts, 13, 3)) diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.symbols b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.symbols index c31f367b7d4..e9e3caf4799 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.symbols +++ b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.symbols @@ -20,7 +20,7 @@ var exprString1: string; var exprIsObject1: Object; >exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsAnyType.ts, 8, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var exprAny2: any; >exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsAnyType.ts, 10, 3)) @@ -36,7 +36,7 @@ var exprString2: string; var exprIsObject2: Object; >exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsAnyType.ts, 14, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) //Cond is an any type variable condAny ? exprAny1 : exprAny2; diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.symbols b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.symbols index 9de27f5a96b..0eafc5864d4 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.symbols +++ b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.symbols @@ -17,7 +17,7 @@ var exprString1: string; var exprIsObject1: Object; >exprIsObject1 : Symbol(exprIsObject1, Decl(conditionalOperatorConditoinIsStringType.ts, 7, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var exprAny2: any; >exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 3)) @@ -33,7 +33,7 @@ var exprString2: string; var exprIsObject2: Object; >exprIsObject2 : Symbol(exprIsObject2, Decl(conditionalOperatorConditoinIsStringType.ts, 13, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) //Cond is a string type variable condString ? exprAny1 : exprAny2; @@ -104,9 +104,9 @@ typeof condString ? exprAny1 : exprAny2; >exprAny2 : Symbol(exprAny2, Decl(conditionalOperatorConditoinIsStringType.ts, 9, 3)) condString.toUpperCase ? exprBoolean1 : exprBoolean2; ->condString.toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>condString.toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) >exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 3)) @@ -205,9 +205,9 @@ var resultIsAny3 = typeof condString ? exprAny1 : exprAny2; var resultIsBoolean3 = condString.toUpperCase ? exprBoolean1 : exprBoolean2; >resultIsBoolean3 : Symbol(resultIsBoolean3, Decl(conditionalOperatorConditoinIsStringType.ts, 58, 3)) ->condString.toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>condString.toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) >exprBoolean2 : Symbol(exprBoolean2, Decl(conditionalOperatorConditoinIsStringType.ts, 10, 3)) @@ -237,9 +237,9 @@ var resultIsStringOrBoolean3 = typeof condString ? exprString1 : exprBoolean1; / var resultIsStringOrBoolean4 = condString.toUpperCase ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean4 : Symbol(resultIsStringOrBoolean4, Decl(conditionalOperatorConditoinIsStringType.ts, 63, 3)) ->condString.toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>condString.toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >condString : Symbol(condString, Decl(conditionalOperatorConditoinIsStringType.ts, 1, 3)) ->toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >exprString1 : Symbol(exprString1, Decl(conditionalOperatorConditoinIsStringType.ts, 6, 3)) >exprBoolean1 : Symbol(exprBoolean1, Decl(conditionalOperatorConditoinIsStringType.ts, 4, 3)) diff --git a/tests/baselines/reference/conditionalTypes1.symbols b/tests/baselines/reference/conditionalTypes1.symbols index 5f6bb75514d..19f0ae83890 100644 --- a/tests/baselines/reference/conditionalTypes1.symbols +++ b/tests/baselines/reference/conditionalTypes1.symbols @@ -1,29 +1,29 @@ === tests/cases/conformance/types/conditional/conditionalTypes1.ts === type T00 = Exclude<"a" | "b" | "c" | "d", "a" | "c" | "f">; // "b" | "d" >T00 : Symbol(T00, Decl(conditionalTypes1.ts, 0, 0)) ->Exclude : Symbol(Exclude, Decl(lib.d.ts, --, --)) +>Exclude : Symbol(Exclude, Decl(lib.es5.d.ts, --, --)) type T01 = Extract<"a" | "b" | "c" | "d", "a" | "c" | "f">; // "a" | "c" >T01 : Symbol(T01, Decl(conditionalTypes1.ts, 0, 59)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) type T02 = Exclude void), Function>; // string | number >T02 : Symbol(T02, Decl(conditionalTypes1.ts, 1, 59)) ->Exclude : Symbol(Exclude, Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Exclude : Symbol(Exclude, Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type T03 = Extract void), Function>; // () => void >T03 : Symbol(T03, Decl(conditionalTypes1.ts, 3, 61)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type T04 = NonNullable; // string | number >T04 : Symbol(T04, Decl(conditionalTypes1.ts, 4, 61)) ->NonNullable : Symbol(NonNullable, Decl(lib.d.ts, --, --)) +>NonNullable : Symbol(NonNullable, Decl(lib.es5.d.ts, --, --)) type T05 = NonNullable<(() => string) | string[] | null | undefined>; // (() => string) | string[] >T05 : Symbol(T05, Decl(conditionalTypes1.ts, 6, 52)) ->NonNullable : Symbol(NonNullable, Decl(lib.d.ts, --, --)) +>NonNullable : Symbol(NonNullable, Decl(lib.es5.d.ts, --, --)) function f1(x: T, y: NonNullable) { >f1 : Symbol(f1, Decl(conditionalTypes1.ts, 7, 69)) @@ -31,7 +31,7 @@ function f1(x: T, y: NonNullable) { >x : Symbol(x, Decl(conditionalTypes1.ts, 9, 15)) >T : Symbol(T, Decl(conditionalTypes1.ts, 9, 12)) >y : Symbol(y, Decl(conditionalTypes1.ts, 9, 20)) ->NonNullable : Symbol(NonNullable, Decl(lib.d.ts, --, --)) +>NonNullable : Symbol(NonNullable, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes1.ts, 9, 12)) x = y; @@ -49,7 +49,7 @@ function f2(x: T, y: NonNullable) { >x : Symbol(x, Decl(conditionalTypes1.ts, 14, 42)) >T : Symbol(T, Decl(conditionalTypes1.ts, 14, 12)) >y : Symbol(y, Decl(conditionalTypes1.ts, 14, 47)) ->NonNullable : Symbol(NonNullable, Decl(lib.d.ts, --, --)) +>NonNullable : Symbol(NonNullable, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes1.ts, 14, 12)) x = y; @@ -73,12 +73,12 @@ function f3(x: Partial[keyof T], y: NonNullable[keyof T]>) { >f3 : Symbol(f3, Decl(conditionalTypes1.ts, 19, 1)) >T : Symbol(T, Decl(conditionalTypes1.ts, 21, 12)) >x : Symbol(x, Decl(conditionalTypes1.ts, 21, 15)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes1.ts, 21, 12)) >T : Symbol(T, Decl(conditionalTypes1.ts, 21, 12)) >y : Symbol(y, Decl(conditionalTypes1.ts, 21, 38)) ->NonNullable : Symbol(NonNullable, Decl(lib.d.ts, --, --)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>NonNullable : Symbol(NonNullable, Decl(lib.es5.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes1.ts, 21, 12)) >T : Symbol(T, Decl(conditionalTypes1.ts, 21, 12)) @@ -98,7 +98,7 @@ function f4(x: T["x"], y: NonNullablex : Symbol(x, Decl(conditionalTypes1.ts, 26, 49)) >T : Symbol(T, Decl(conditionalTypes1.ts, 26, 12)) >y : Symbol(y, Decl(conditionalTypes1.ts, 26, 59)) ->NonNullable : Symbol(NonNullable, Decl(lib.d.ts, --, --)) +>NonNullable : Symbol(NonNullable, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes1.ts, 26, 12)) x = y; @@ -129,39 +129,39 @@ type Options = { k: "a", a: number } | { k: "b", b: string } | { k: "c", c: bool type T10 = Exclude; // { k: "c", c: boolean } >T10 : Symbol(T10, Decl(conditionalTypes1.ts, 33, 86)) ->Exclude : Symbol(Exclude, Decl(lib.d.ts, --, --)) +>Exclude : Symbol(Exclude, Decl(lib.es5.d.ts, --, --)) >Options : Symbol(Options, Decl(conditionalTypes1.ts, 31, 1)) >k : Symbol(k, Decl(conditionalTypes1.ts, 35, 29)) type T11 = Extract; // { k: "a", a: number } | { k: "b", b: string } >T11 : Symbol(T11, Decl(conditionalTypes1.ts, 35, 46)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >Options : Symbol(Options, Decl(conditionalTypes1.ts, 31, 1)) >k : Symbol(k, Decl(conditionalTypes1.ts, 36, 29)) type T12 = Exclude; // { k: "c", c: boolean } >T12 : Symbol(T12, Decl(conditionalTypes1.ts, 36, 46)) ->Exclude : Symbol(Exclude, Decl(lib.d.ts, --, --)) +>Exclude : Symbol(Exclude, Decl(lib.es5.d.ts, --, --)) >Options : Symbol(Options, Decl(conditionalTypes1.ts, 31, 1)) >k : Symbol(k, Decl(conditionalTypes1.ts, 38, 29)) >k : Symbol(k, Decl(conditionalTypes1.ts, 38, 42)) type T13 = Extract; // { k: "a", a: number } | { k: "b", b: string } >T13 : Symbol(T13, Decl(conditionalTypes1.ts, 38, 53)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >Options : Symbol(Options, Decl(conditionalTypes1.ts, 31, 1)) >k : Symbol(k, Decl(conditionalTypes1.ts, 39, 29)) >k : Symbol(k, Decl(conditionalTypes1.ts, 39, 42)) type T14 = Exclude; // Options >T14 : Symbol(T14, Decl(conditionalTypes1.ts, 39, 53)) ->Exclude : Symbol(Exclude, Decl(lib.d.ts, --, --)) +>Exclude : Symbol(Exclude, Decl(lib.es5.d.ts, --, --)) >Options : Symbol(Options, Decl(conditionalTypes1.ts, 31, 1)) >q : Symbol(q, Decl(conditionalTypes1.ts, 41, 29)) type T15 = Extract; // never >T15 : Symbol(T15, Decl(conditionalTypes1.ts, 41, 40)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >Options : Symbol(Options, Decl(conditionalTypes1.ts, 31, 1)) >q : Symbol(q, Decl(conditionalTypes1.ts, 42, 29)) @@ -172,7 +172,7 @@ declare function f5(p: K): ExtractK : Symbol(K, Decl(conditionalTypes1.ts, 44, 38)) >p : Symbol(p, Decl(conditionalTypes1.ts, 44, 57)) >K : Symbol(K, Decl(conditionalTypes1.ts, 44, 38)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes1.ts, 44, 20)) >k : Symbol(k, Decl(conditionalTypes1.ts, 44, 76)) >K : Symbol(K, Decl(conditionalTypes1.ts, 44, 38)) @@ -185,7 +185,7 @@ type OptionsOfKind = Extract; >OptionsOfKind : Symbol(OptionsOfKind, Decl(conditionalTypes1.ts, 45, 17)) >K : Symbol(K, Decl(conditionalTypes1.ts, 47, 19)) >Options : Symbol(Options, Decl(conditionalTypes1.ts, 31, 1)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >Options : Symbol(Options, Decl(conditionalTypes1.ts, 31, 1)) >k : Symbol(k, Decl(conditionalTypes1.ts, 47, 63)) >K : Symbol(K, Decl(conditionalTypes1.ts, 47, 19)) @@ -202,7 +202,7 @@ type Select = Extract; >V : Symbol(V, Decl(conditionalTypes1.ts, 51, 33)) >T : Symbol(T, Decl(conditionalTypes1.ts, 51, 12)) >K : Symbol(K, Decl(conditionalTypes1.ts, 51, 14)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes1.ts, 51, 12)) >P : Symbol(P, Decl(conditionalTypes1.ts, 51, 66)) >K : Symbol(K, Decl(conditionalTypes1.ts, 51, 14)) @@ -231,7 +231,7 @@ type TypeName = T extends Function ? "function" : >T : Symbol(T, Decl(conditionalTypes1.ts, 55, 14)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) "object"; @@ -327,14 +327,14 @@ type FunctionPropertyNames = { [K in keyof T]: T[K] extends Function ? K : ne >T : Symbol(T, Decl(conditionalTypes1.ts, 92, 27)) >T : Symbol(T, Decl(conditionalTypes1.ts, 92, 27)) >K : Symbol(K, Decl(conditionalTypes1.ts, 92, 35)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >K : Symbol(K, Decl(conditionalTypes1.ts, 92, 35)) >T : Symbol(T, Decl(conditionalTypes1.ts, 92, 27)) type FunctionProperties = Pick>; >FunctionProperties : Symbol(FunctionProperties, Decl(conditionalTypes1.ts, 92, 95)) >T : Symbol(T, Decl(conditionalTypes1.ts, 93, 24)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes1.ts, 93, 24)) >FunctionPropertyNames : Symbol(FunctionPropertyNames, Decl(conditionalTypes1.ts, 90, 1)) >T : Symbol(T, Decl(conditionalTypes1.ts, 93, 24)) @@ -346,14 +346,14 @@ type NonFunctionPropertyNames = { [K in keyof T]: T[K] extends Function ? nev >T : Symbol(T, Decl(conditionalTypes1.ts, 95, 30)) >T : Symbol(T, Decl(conditionalTypes1.ts, 95, 30)) >K : Symbol(K, Decl(conditionalTypes1.ts, 95, 38)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >K : Symbol(K, Decl(conditionalTypes1.ts, 95, 38)) >T : Symbol(T, Decl(conditionalTypes1.ts, 95, 30)) type NonFunctionProperties = Pick>; >NonFunctionProperties : Symbol(NonFunctionProperties, Decl(conditionalTypes1.ts, 95, 98)) >T : Symbol(T, Decl(conditionalTypes1.ts, 96, 27)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes1.ts, 96, 27)) >NonFunctionPropertyNames : Symbol(NonFunctionPropertyNames, Decl(conditionalTypes1.ts, 93, 63)) >T : Symbol(T, Decl(conditionalTypes1.ts, 96, 27)) @@ -462,7 +462,7 @@ type DeepReadonly = interface DeepReadonlyArray extends ReadonlyArray> {} >DeepReadonlyArray : Symbol(DeepReadonlyArray, Decl(conditionalTypes1.ts, 122, 6)) >T : Symbol(T, Decl(conditionalTypes1.ts, 124, 28)) ->ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.d.ts, --, --)) +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --)) >DeepReadonly : Symbol(DeepReadonly, Decl(conditionalTypes1.ts, 117, 1)) >T : Symbol(T, Decl(conditionalTypes1.ts, 124, 28)) @@ -1263,7 +1263,7 @@ type NonFooKeys1 = OldDiff; type NonFooKeys2 = Exclude; >NonFooKeys2 : Symbol(NonFooKeys2, Decl(conditionalTypes1.ts, 324, 61)) >T : Symbol(T, Decl(conditionalTypes1.ts, 325, 17)) ->Exclude : Symbol(Exclude, Decl(lib.d.ts, --, --)) +>Exclude : Symbol(Exclude, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes1.ts, 325, 17)) type Test1 = NonFooKeys1<{foo: 1, bar: 2, baz: 3}>; // "bar" | "baz" @@ -1328,7 +1328,7 @@ type RecursivePartial = { >T : Symbol(T, Decl(conditionalTypes1.ts, 343, 22)) >T : Symbol(T, Decl(conditionalTypes1.ts, 343, 22)) >P : Symbol(P, Decl(conditionalTypes1.ts, 344, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >index : Symbol(index, Decl(conditionalTypes1.ts, 344, 47)) >RecursivePartial : Symbol(RecursivePartial, Decl(conditionalTypes1.ts, 339, 1)) >T : Symbol(T, Decl(conditionalTypes1.ts, 343, 22)) diff --git a/tests/baselines/reference/conditionalTypes2.symbols b/tests/baselines/reference/conditionalTypes2.symbols index fb03b868a1d..c52179e81b0 100644 --- a/tests/baselines/reference/conditionalTypes2.symbols +++ b/tests/baselines/reference/conditionalTypes2.symbols @@ -100,9 +100,9 @@ function isFunction(value: T): value is Extract { >value : Symbol(value, Decl(conditionalTypes2.ts, 28, 23)) >T : Symbol(T, Decl(conditionalTypes2.ts, 28, 20)) >value : Symbol(value, Decl(conditionalTypes2.ts, 28, 23)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes2.ts, 28, 20)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) return typeof value === "function"; >value : Symbol(value, Decl(conditionalTypes2.ts, 28, 23)) @@ -122,7 +122,7 @@ function getFunction(item: T) { >item : Symbol(item, Decl(conditionalTypes2.ts, 32, 24)) } throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f10(x: T) { @@ -137,7 +137,7 @@ function f10(x: T) { const f: Function = x; >f : Symbol(f, Decl(conditionalTypes2.ts, 41, 13)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(conditionalTypes2.ts, 39, 16)) const t: T = x; @@ -208,13 +208,13 @@ function f20(x: Extract, Bar>, y: Extract, z: E >f20 : Symbol(f20, Decl(conditionalTypes2.ts, 63, 71)) >T : Symbol(T, Decl(conditionalTypes2.ts, 65, 13)) >x : Symbol(x, Decl(conditionalTypes2.ts, 65, 16)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes2.ts, 65, 13)) >Foo : Symbol(Foo, Decl(conditionalTypes2.ts, 55, 1)) >Bar : Symbol(Bar, Decl(conditionalTypes2.ts, 57, 27)) >y : Symbol(y, Decl(conditionalTypes2.ts, 65, 49)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes2.ts, 65, 13)) >Foo : Symbol(Foo, Decl(conditionalTypes2.ts, 55, 1)) >Bar : Symbol(Bar, Decl(conditionalTypes2.ts, 57, 27)) @@ -241,13 +241,13 @@ function f21(x: Extract, Bar>, y: Extract, z: E >f21 : Symbol(f21, Decl(conditionalTypes2.ts, 69, 1)) >T : Symbol(T, Decl(conditionalTypes2.ts, 71, 13)) >x : Symbol(x, Decl(conditionalTypes2.ts, 71, 16)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes2.ts, 71, 13)) >Foo : Symbol(Foo, Decl(conditionalTypes2.ts, 55, 1)) >Bar : Symbol(Bar, Decl(conditionalTypes2.ts, 57, 27)) >y : Symbol(y, Decl(conditionalTypes2.ts, 71, 49)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes2.ts, 71, 13)) >Foo : Symbol(Foo, Decl(conditionalTypes2.ts, 55, 1)) >Bar : Symbol(Bar, Decl(conditionalTypes2.ts, 57, 27)) @@ -324,7 +324,7 @@ class Vector implements Seq { >Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 87, 1)) >U : Symbol(U, Decl(conditionalTypes2.ts, 93, 15)) >Vector : Symbol(Vector, Decl(conditionalTypes2.ts, 87, 1)) ->Exclude : Symbol(Exclude, Decl(lib.d.ts, --, --)) +>Exclude : Symbol(Exclude, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(conditionalTypes2.ts, 89, 13)) >U : Symbol(U, Decl(conditionalTypes2.ts, 93, 15)) @@ -387,12 +387,12 @@ interface B1 extends A1 { declare function toString1(value: object | Function): string ; >toString1 : Symbol(toString1, Decl(conditionalTypes2.ts, 107, 1)) >value : Symbol(value, Decl(conditionalTypes2.ts, 111, 27)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare function toString2(value: Function): string ; >toString2 : Symbol(toString2, Decl(conditionalTypes2.ts, 111, 62)) >value : Symbol(value, Decl(conditionalTypes2.ts, 112, 27)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo(value: T) { >foo : Symbol(foo, Decl(conditionalTypes2.ts, 112, 53)) diff --git a/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.symbols b/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.symbols index 9867f80ba40..2958af9b481 100644 --- a/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.symbols +++ b/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.symbols @@ -5,8 +5,8 @@ class Rule { public regex: RegExp = new RegExp(''); >regex : Symbol(Rule.regex, Decl(constDeclarationShadowedByVarDeclaration3.ts, 1, 12)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) public name: string = ''; >name : Symbol(Rule.name, Decl(constDeclarationShadowedByVarDeclaration3.ts, 2, 42)) diff --git a/tests/baselines/reference/constDeclarations-access2.symbols b/tests/baselines/reference/constDeclarations-access2.symbols index 5fdea9bf1b8..0f67618b1ad 100644 --- a/tests/baselines/reference/constDeclarations-access2.symbols +++ b/tests/baselines/reference/constDeclarations-access2.symbols @@ -83,7 +83,7 @@ x; >x : Symbol(x, Decl(constDeclarations-access2.ts, 0, 5)) x.toString(); ->x.toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(constDeclarations-access2.ts, 0, 5)) ->toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/constDeclarations-access3.symbols b/tests/baselines/reference/constDeclarations-access3.symbols index ef064d931ef..43049ff355a 100644 --- a/tests/baselines/reference/constDeclarations-access3.symbols +++ b/tests/baselines/reference/constDeclarations-access3.symbols @@ -139,9 +139,9 @@ M.x; >x : Symbol(M.x, Decl(constDeclarations-access3.ts, 1, 16)) M.x.toString(); ->M.x.toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>M.x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >M.x : Symbol(M.x, Decl(constDeclarations-access3.ts, 1, 16)) >M : Symbol(M, Decl(constDeclarations-access3.ts, 0, 0)) >x : Symbol(M.x, Decl(constDeclarations-access3.ts, 1, 16)) ->toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/constDeclarations-access4.symbols b/tests/baselines/reference/constDeclarations-access4.symbols index e276d4ba5db..4e5179f1e81 100644 --- a/tests/baselines/reference/constDeclarations-access4.symbols +++ b/tests/baselines/reference/constDeclarations-access4.symbols @@ -139,9 +139,9 @@ M.x; >x : Symbol(M.x, Decl(constDeclarations-access4.ts, 1, 9)) M.x.toString(); ->M.x.toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>M.x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >M.x : Symbol(M.x, Decl(constDeclarations-access4.ts, 1, 9)) >M : Symbol(M, Decl(constDeclarations-access4.ts, 0, 0)) >x : Symbol(M.x, Decl(constDeclarations-access4.ts, 1, 9)) ->toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/constDeclarations-access5.symbols b/tests/baselines/reference/constDeclarations-access5.symbols index fe20fc4da2a..776f78b8015 100644 --- a/tests/baselines/reference/constDeclarations-access5.symbols +++ b/tests/baselines/reference/constDeclarations-access5.symbols @@ -139,11 +139,11 @@ m.x; >x : Symbol(m.x, Decl(constDeclarations_access_1.ts, 0, 12)) m.x.toString(); ->m.x.toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>m.x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >m.x : Symbol(m.x, Decl(constDeclarations_access_1.ts, 0, 12)) >m : Symbol(m, Decl(constDeclarations_access_2.ts, 0, 0)) >x : Symbol(m.x, Decl(constDeclarations_access_1.ts, 0, 12)) ->toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) === tests/cases/compiler/constDeclarations_access_1.ts === export const x = 0; diff --git a/tests/baselines/reference/constEnum2.symbols b/tests/baselines/reference/constEnum2.symbols index d5295ffa5e0..3910c06ce81 100644 --- a/tests/baselines/reference/constEnum2.symbols +++ b/tests/baselines/reference/constEnum2.symbols @@ -16,22 +16,22 @@ const enum D { e = 199 * Math.floor(Math.random() * 1000), >e : Symbol(D.e, Decl(constEnum2.ts, 8, 11)) ->Math.floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) f = d - (100 * Math.floor(Math.random() % 8)) >f : Symbol(D.f, Decl(constEnum2.ts, 9, 47)) >d : Symbol(D.d, Decl(constEnum2.ts, 7, 14)) ->Math.floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) g = CONST, >g : Symbol(D.g, Decl(constEnum2.ts, 10, 49)) diff --git a/tests/baselines/reference/constEnumToStringNoComments.symbols b/tests/baselines/reference/constEnumToStringNoComments.symbols index 3f48b060f35..c17b548b95d 100644 --- a/tests/baselines/reference/constEnumToStringNoComments.symbols +++ b/tests/baselines/reference/constEnumToStringNoComments.symbols @@ -23,91 +23,91 @@ const enum Foo { let x0 = Foo.X.toString(); >x0 : Symbol(x0, Decl(constEnumToStringNoComments.ts, 9, 3)) ->Foo.X.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo.X.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo.X : Symbol(Foo.X, Decl(constEnumToStringNoComments.ts, 0, 16)) >Foo : Symbol(Foo, Decl(constEnumToStringNoComments.ts, 0, 0)) >X : Symbol(Foo.X, Decl(constEnumToStringNoComments.ts, 0, 16)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let x1 = Foo["X"].toString(); >x1 : Symbol(x1, Decl(constEnumToStringNoComments.ts, 10, 3)) ->Foo["X"].toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo["X"].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(constEnumToStringNoComments.ts, 0, 0)) >"X" : Symbol(Foo.X, Decl(constEnumToStringNoComments.ts, 0, 16)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let y0 = Foo.Y.toString(); >y0 : Symbol(y0, Decl(constEnumToStringNoComments.ts, 11, 3)) ->Foo.Y.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo.Y.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo.Y : Symbol(Foo.Y, Decl(constEnumToStringNoComments.ts, 1, 12)) >Foo : Symbol(Foo, Decl(constEnumToStringNoComments.ts, 0, 0)) >Y : Symbol(Foo.Y, Decl(constEnumToStringNoComments.ts, 1, 12)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let y1 = Foo["Y"].toString(); >y1 : Symbol(y1, Decl(constEnumToStringNoComments.ts, 12, 3)) ->Foo["Y"].toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo["Y"].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(constEnumToStringNoComments.ts, 0, 0)) >"Y" : Symbol(Foo.Y, Decl(constEnumToStringNoComments.ts, 1, 12)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let z0 = Foo.Z.toString(); >z0 : Symbol(z0, Decl(constEnumToStringNoComments.ts, 13, 3)) ->Foo.Z.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo.Z.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo.Z : Symbol(Foo.Z, Decl(constEnumToStringNoComments.ts, 2, 12)) >Foo : Symbol(Foo, Decl(constEnumToStringNoComments.ts, 0, 0)) >Z : Symbol(Foo.Z, Decl(constEnumToStringNoComments.ts, 2, 12)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let z1 = Foo["Z"].toString(); >z1 : Symbol(z1, Decl(constEnumToStringNoComments.ts, 14, 3)) ->Foo["Z"].toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo["Z"].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(constEnumToStringNoComments.ts, 0, 0)) >"Z" : Symbol(Foo.Z, Decl(constEnumToStringNoComments.ts, 2, 12)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let a0 = Foo.A.toString(); >a0 : Symbol(a0, Decl(constEnumToStringNoComments.ts, 15, 3)) ->Foo.A.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo.A.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo.A : Symbol(Foo.A, Decl(constEnumToStringNoComments.ts, 3, 11)) >Foo : Symbol(Foo, Decl(constEnumToStringNoComments.ts, 0, 0)) >A : Symbol(Foo.A, Decl(constEnumToStringNoComments.ts, 3, 11)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let a1 = Foo["A"].toString(); >a1 : Symbol(a1, Decl(constEnumToStringNoComments.ts, 16, 3)) ->Foo["A"].toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo["A"].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(constEnumToStringNoComments.ts, 0, 0)) >"A" : Symbol(Foo.A, Decl(constEnumToStringNoComments.ts, 3, 11)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let b0 = Foo.B.toString(); >b0 : Symbol(b0, Decl(constEnumToStringNoComments.ts, 17, 3)) ->Foo.B.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo.B.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo.B : Symbol(Foo.B, Decl(constEnumToStringNoComments.ts, 4, 11)) >Foo : Symbol(Foo, Decl(constEnumToStringNoComments.ts, 0, 0)) >B : Symbol(Foo.B, Decl(constEnumToStringNoComments.ts, 4, 11)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let b1 = Foo["B"].toString(); >b1 : Symbol(b1, Decl(constEnumToStringNoComments.ts, 18, 3)) ->Foo["B"].toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo["B"].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(constEnumToStringNoComments.ts, 0, 0)) >"B" : Symbol(Foo.B, Decl(constEnumToStringNoComments.ts, 4, 11)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let c0 = Foo.C.toString(); >c0 : Symbol(c0, Decl(constEnumToStringNoComments.ts, 19, 3)) ->Foo.C.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo.C.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo.C : Symbol(Foo.C, Decl(constEnumToStringNoComments.ts, 5, 13)) >Foo : Symbol(Foo, Decl(constEnumToStringNoComments.ts, 0, 0)) >C : Symbol(Foo.C, Decl(constEnumToStringNoComments.ts, 5, 13)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let c1 = Foo["C"].toString(); >c1 : Symbol(c1, Decl(constEnumToStringNoComments.ts, 20, 3)) ->Foo["C"].toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo["C"].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(constEnumToStringNoComments.ts, 0, 0)) >"C" : Symbol(Foo.C, Decl(constEnumToStringNoComments.ts, 5, 13)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/constEnumToStringWithComments.symbols b/tests/baselines/reference/constEnumToStringWithComments.symbols index 028731a4540..01fa618bd9e 100644 --- a/tests/baselines/reference/constEnumToStringWithComments.symbols +++ b/tests/baselines/reference/constEnumToStringWithComments.symbols @@ -23,91 +23,91 @@ const enum Foo { let x0 = Foo.X.toString(); >x0 : Symbol(x0, Decl(constEnumToStringWithComments.ts, 9, 3)) ->Foo.X.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo.X.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo.X : Symbol(Foo.X, Decl(constEnumToStringWithComments.ts, 0, 16)) >Foo : Symbol(Foo, Decl(constEnumToStringWithComments.ts, 0, 0)) >X : Symbol(Foo.X, Decl(constEnumToStringWithComments.ts, 0, 16)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let x1 = Foo["X"].toString(); >x1 : Symbol(x1, Decl(constEnumToStringWithComments.ts, 10, 3)) ->Foo["X"].toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo["X"].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(constEnumToStringWithComments.ts, 0, 0)) >"X" : Symbol(Foo.X, Decl(constEnumToStringWithComments.ts, 0, 16)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let y0 = Foo.Y.toString(); >y0 : Symbol(y0, Decl(constEnumToStringWithComments.ts, 11, 3)) ->Foo.Y.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo.Y.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo.Y : Symbol(Foo.Y, Decl(constEnumToStringWithComments.ts, 1, 12)) >Foo : Symbol(Foo, Decl(constEnumToStringWithComments.ts, 0, 0)) >Y : Symbol(Foo.Y, Decl(constEnumToStringWithComments.ts, 1, 12)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let y1 = Foo["Y"].toString(); >y1 : Symbol(y1, Decl(constEnumToStringWithComments.ts, 12, 3)) ->Foo["Y"].toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo["Y"].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(constEnumToStringWithComments.ts, 0, 0)) >"Y" : Symbol(Foo.Y, Decl(constEnumToStringWithComments.ts, 1, 12)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let z0 = Foo.Z.toString(); >z0 : Symbol(z0, Decl(constEnumToStringWithComments.ts, 13, 3)) ->Foo.Z.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo.Z.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo.Z : Symbol(Foo.Z, Decl(constEnumToStringWithComments.ts, 2, 12)) >Foo : Symbol(Foo, Decl(constEnumToStringWithComments.ts, 0, 0)) >Z : Symbol(Foo.Z, Decl(constEnumToStringWithComments.ts, 2, 12)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let z1 = Foo["Z"].toString(); >z1 : Symbol(z1, Decl(constEnumToStringWithComments.ts, 14, 3)) ->Foo["Z"].toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo["Z"].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(constEnumToStringWithComments.ts, 0, 0)) >"Z" : Symbol(Foo.Z, Decl(constEnumToStringWithComments.ts, 2, 12)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let a0 = Foo.A.toString(); >a0 : Symbol(a0, Decl(constEnumToStringWithComments.ts, 15, 3)) ->Foo.A.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo.A.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo.A : Symbol(Foo.A, Decl(constEnumToStringWithComments.ts, 3, 11)) >Foo : Symbol(Foo, Decl(constEnumToStringWithComments.ts, 0, 0)) >A : Symbol(Foo.A, Decl(constEnumToStringWithComments.ts, 3, 11)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let a1 = Foo["A"].toString(); >a1 : Symbol(a1, Decl(constEnumToStringWithComments.ts, 16, 3)) ->Foo["A"].toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo["A"].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(constEnumToStringWithComments.ts, 0, 0)) >"A" : Symbol(Foo.A, Decl(constEnumToStringWithComments.ts, 3, 11)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let b0 = Foo.B.toString(); >b0 : Symbol(b0, Decl(constEnumToStringWithComments.ts, 17, 3)) ->Foo.B.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo.B.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo.B : Symbol(Foo.B, Decl(constEnumToStringWithComments.ts, 4, 11)) >Foo : Symbol(Foo, Decl(constEnumToStringWithComments.ts, 0, 0)) >B : Symbol(Foo.B, Decl(constEnumToStringWithComments.ts, 4, 11)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let b1 = Foo["B"].toString(); >b1 : Symbol(b1, Decl(constEnumToStringWithComments.ts, 18, 3)) ->Foo["B"].toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo["B"].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(constEnumToStringWithComments.ts, 0, 0)) >"B" : Symbol(Foo.B, Decl(constEnumToStringWithComments.ts, 4, 11)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let c0 = Foo.C.toString(); >c0 : Symbol(c0, Decl(constEnumToStringWithComments.ts, 19, 3)) ->Foo.C.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo.C.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo.C : Symbol(Foo.C, Decl(constEnumToStringWithComments.ts, 5, 13)) >Foo : Symbol(Foo, Decl(constEnumToStringWithComments.ts, 0, 0)) >C : Symbol(Foo.C, Decl(constEnumToStringWithComments.ts, 5, 13)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let c1 = Foo["C"].toString(); >c1 : Symbol(c1, Decl(constEnumToStringWithComments.ts, 20, 3)) ->Foo["C"].toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>Foo["C"].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(constEnumToStringWithComments.ts, 0, 0)) >"C" : Symbol(Foo.C, Decl(constEnumToStringWithComments.ts, 5, 13)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/constLocalsInFunctionExpressions.symbols b/tests/baselines/reference/constLocalsInFunctionExpressions.symbols index d9465a118aa..f53a61efe1a 100644 --- a/tests/baselines/reference/constLocalsInFunctionExpressions.symbols +++ b/tests/baselines/reference/constLocalsInFunctionExpressions.symbols @@ -14,9 +14,9 @@ function f1() { const f = () => x.length; >f : Symbol(f, Decl(constLocalsInFunctionExpressions.ts, 5, 13)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(constLocalsInFunctionExpressions.ts, 3, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } @@ -34,9 +34,9 @@ function f2() { } const f = () => x.length; >f : Symbol(f, Decl(constLocalsInFunctionExpressions.ts, 14, 9)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(constLocalsInFunctionExpressions.ts, 10, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } function f3() { @@ -51,9 +51,9 @@ function f3() { const f = function() { return x.length; }; >f : Symbol(f, Decl(constLocalsInFunctionExpressions.ts, 20, 13)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(constLocalsInFunctionExpressions.ts, 18, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } @@ -71,9 +71,9 @@ function f4() { } const f = function() { return x.length; }; >f : Symbol(f, Decl(constLocalsInFunctionExpressions.ts, 29, 9)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(constLocalsInFunctionExpressions.ts, 25, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } function f5() { @@ -88,8 +88,8 @@ function f5() { const f = () => () => x.length; >f : Symbol(f, Decl(constLocalsInFunctionExpressions.ts, 35, 13)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(constLocalsInFunctionExpressions.ts, 33, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/constraintSatisfactionWithAny.symbols b/tests/baselines/reference/constraintSatisfactionWithAny.symbols index 824035a185c..017a220ca5b 100644 --- a/tests/baselines/reference/constraintSatisfactionWithAny.symbols +++ b/tests/baselines/reference/constraintSatisfactionWithAny.symbols @@ -4,7 +4,7 @@ function foo(x: T): T { return null; } >foo : Symbol(foo, Decl(constraintSatisfactionWithAny.ts, 0, 0)) >T : Symbol(T, Decl(constraintSatisfactionWithAny.ts, 2, 13)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(constraintSatisfactionWithAny.ts, 2, 31)) >T : Symbol(T, Decl(constraintSatisfactionWithAny.ts, 2, 13)) >T : Symbol(T, Decl(constraintSatisfactionWithAny.ts, 2, 13)) @@ -67,7 +67,7 @@ foo4(b); class C { >C : Symbol(C, Decl(constraintSatisfactionWithAny.ts, 16, 13)) >T : Symbol(T, Decl(constraintSatisfactionWithAny.ts, 22, 8)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) constructor(public x: T) { } >x : Symbol(C.x, Decl(constraintSatisfactionWithAny.ts, 23, 16)) diff --git a/tests/baselines/reference/constraintSatisfactionWithEmptyObject.symbols b/tests/baselines/reference/constraintSatisfactionWithEmptyObject.symbols index a766234e6aa..89a15982c22 100644 --- a/tests/baselines/reference/constraintSatisfactionWithEmptyObject.symbols +++ b/tests/baselines/reference/constraintSatisfactionWithEmptyObject.symbols @@ -5,7 +5,7 @@ function foo(x: T) { } >foo : Symbol(foo, Decl(constraintSatisfactionWithEmptyObject.ts, 0, 0)) >T : Symbol(T, Decl(constraintSatisfactionWithEmptyObject.ts, 3, 13)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(constraintSatisfactionWithEmptyObject.ts, 3, 31)) >T : Symbol(T, Decl(constraintSatisfactionWithEmptyObject.ts, 3, 13)) @@ -23,7 +23,7 @@ var r = foo({}); class C { >C : Symbol(C, Decl(constraintSatisfactionWithEmptyObject.ts, 6, 16)) >T : Symbol(T, Decl(constraintSatisfactionWithEmptyObject.ts, 8, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) constructor(public x: T) { } >x : Symbol(C.x, Decl(constraintSatisfactionWithEmptyObject.ts, 9, 16)) @@ -37,7 +37,7 @@ var r2 = new C({}); interface I { >I : Symbol(I, Decl(constraintSatisfactionWithEmptyObject.ts, 12, 19)) >T : Symbol(T, Decl(constraintSatisfactionWithEmptyObject.ts, 14, 12)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x: T; >x : Symbol(I.x, Decl(constraintSatisfactionWithEmptyObject.ts, 14, 31)) diff --git a/tests/baselines/reference/constraintsThatReferenceOtherContstraints1.symbols b/tests/baselines/reference/constraintsThatReferenceOtherContstraints1.symbols index 38d163b947b..054bc163405 100644 --- a/tests/baselines/reference/constraintsThatReferenceOtherContstraints1.symbols +++ b/tests/baselines/reference/constraintsThatReferenceOtherContstraints1.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/constraintsThatReferenceOtherContstraints1.ts === interface Object { } ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(constraintsThatReferenceOtherContstraints1.ts, 0, 0)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(constraintsThatReferenceOtherContstraints1.ts, 0, 0)) class Foo { } >Foo : Symbol(Foo, Decl(constraintsThatReferenceOtherContstraints1.ts, 0, 20)) @@ -11,15 +11,15 @@ class Foo { } class Bar { >Bar : Symbol(Bar, Decl(constraintsThatReferenceOtherContstraints1.ts, 2, 29)) >T : Symbol(T, Decl(constraintsThatReferenceOtherContstraints1.ts, 3, 10)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(constraintsThatReferenceOtherContstraints1.ts, 0, 0)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(constraintsThatReferenceOtherContstraints1.ts, 0, 0)) >U : Symbol(U, Decl(constraintsThatReferenceOtherContstraints1.ts, 3, 27)) >T : Symbol(T, Decl(constraintsThatReferenceOtherContstraints1.ts, 3, 10)) data: Foo; // Error 1 Type 'Object' does not satisfy the constraint 'T' for type parameter 'U extends T'. >data : Symbol(Bar.data, Decl(constraintsThatReferenceOtherContstraints1.ts, 3, 42)) >Foo : Symbol(Foo, Decl(constraintsThatReferenceOtherContstraints1.ts, 0, 20)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(constraintsThatReferenceOtherContstraints1.ts, 0, 0)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(constraintsThatReferenceOtherContstraints1.ts, 0, 0)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(constraintsThatReferenceOtherContstraints1.ts, 0, 0)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(constraintsThatReferenceOtherContstraints1.ts, 0, 0)) } var x: Foo< { a: string }, { a: string; b: number }>; // Error 2 Type '{ a: string; b: number; }' does not satisfy the constraint 'T' for type diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.symbols b/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.symbols index e56a1f77211..1ad1c3707c5 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.symbols +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.symbols @@ -110,23 +110,23 @@ interface A { // T a12: new (x: Array, y: Array) => Array; >a12 : Symbol(A.a12, Decl(constructSignatureAssignabilityInInheritance2.ts, 19, 75)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 20, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance2.ts, 20, 29)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(constructSignatureAssignabilityInInheritance2.ts, 3, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) a13: new (x: Array, y: Array) => Array; >a13 : Symbol(A.a13, Decl(constructSignatureAssignabilityInInheritance2.ts, 20, 68)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 21, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance2.ts, 21, 29)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) a14: new (x: { a: string; b: number }) => Object; @@ -134,7 +134,7 @@ interface A { // T >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 22, 14)) >a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance2.ts, 22, 18)) >b : Symbol(b, Decl(constructSignatureAssignabilityInInheritance2.ts, 22, 29)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) a15: { >a15 : Symbol(A.a15, Decl(constructSignatureAssignabilityInInheritance2.ts, 22, 53)) @@ -195,8 +195,8 @@ interface A { // T new (a: Date): Date; >a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance2.ts, 42, 17)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) }): any[]; }; @@ -332,23 +332,23 @@ interface I extends A { a12: new >(x: Array, y: T) => Array; // ok, less specific parameter type >a12 : Symbol(I.a12, Decl(constructSignatureAssignabilityInInheritance2.ts, 60, 47)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 61, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 61, 37)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance2.ts, 61, 52)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 61, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) a13: new >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds >a13 : Symbol(I.a13, Decl(constructSignatureAssignabilityInInheritance2.ts, 61, 77)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 62, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance2.ts, 2, 27)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance2.ts, 62, 40)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance2.ts, 0, 0)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance2.ts, 62, 55)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance2.ts, 62, 14)) diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.symbols b/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.symbols index 7766d6edb4c..08478950399 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.symbols +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.symbols @@ -77,12 +77,12 @@ module Errors { a12: new (x: Array, y: Array) => Array; >a12 : Symbol(A.a12, Decl(constructSignatureAssignabilityInInheritance3.ts, 16, 83)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance3.ts, 17, 22)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance3.ts, 3, 15)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance3.ts, 17, 37)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(constructSignatureAssignabilityInInheritance3.ts, 5, 47)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance3.ts, 4, 31)) a14: { @@ -234,13 +234,13 @@ module Errors { a12: new >(x: Array, y: Array) => T; // valid, no inferences for T, defaults to Array >a12 : Symbol(I4E.a12, Decl(constructSignatureAssignabilityInInheritance3.ts, 61, 33)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance3.ts, 62, 22)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(constructSignatureAssignabilityInInheritance3.ts, 5, 47)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance3.ts, 62, 49)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance3.ts, 3, 15)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance3.ts, 62, 64)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance3.ts, 3, 15)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance3.ts, 62, 22)) } diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.symbols b/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.symbols index ec2c71160c5..e1991673f98 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.symbols +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.symbols @@ -111,23 +111,23 @@ interface A { // T a12: new (x: Array, y: Array) => Array; >a12 : Symbol(A.a12, Decl(constructSignatureAssignabilityInInheritance5.ts, 20, 75)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 21, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance5.ts, 21, 29)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(constructSignatureAssignabilityInInheritance5.ts, 4, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) a13: new (x: Array, y: Array) => Array; >a13 : Symbol(A.a13, Decl(constructSignatureAssignabilityInInheritance5.ts, 21, 68)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 22, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance5.ts, 22, 29)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) a14: new (x: { a: string; b: number }) => Object; @@ -135,7 +135,7 @@ interface A { // T >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 23, 14)) >a : Symbol(a, Decl(constructSignatureAssignabilityInInheritance5.ts, 23, 18)) >b : Symbol(b, Decl(constructSignatureAssignabilityInInheritance5.ts, 23, 29)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } interface B extends A { @@ -280,23 +280,23 @@ interface I extends B { a12: new >(x: Array, y: T) => Array; // ok, less specific parameter type >a12 : Symbol(I.a12, Decl(constructSignatureAssignabilityInInheritance5.ts, 43, 47)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 44, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 44, 37)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance5.ts, 44, 52)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 44, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) a13: new >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds >a13 : Symbol(I.a13, Decl(constructSignatureAssignabilityInInheritance5.ts, 44, 77)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 45, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(constructSignatureAssignabilityInInheritance5.ts, 3, 27)) >x : Symbol(x, Decl(constructSignatureAssignabilityInInheritance5.ts, 45, 40)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(constructSignatureAssignabilityInInheritance5.ts, 0, 0)) >y : Symbol(y, Decl(constructSignatureAssignabilityInInheritance5.ts, 45, 55)) >T : Symbol(T, Decl(constructSignatureAssignabilityInInheritance5.ts, 45, 14)) diff --git a/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType.symbols b/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType.symbols index f0ee9f0d32e..40bb1c2d7ca 100644 --- a/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType.symbols +++ b/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType.symbols @@ -7,7 +7,7 @@ class Base { bar: Object; >bar : Symbol(bar, Decl(constructorFunctionTypeIsAssignableToBaseType.ts, 1, 17)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType2.symbols b/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType2.symbols index 39e415e8a5d..a96388e9811 100644 --- a/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType2.symbols +++ b/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType2.symbols @@ -9,11 +9,11 @@ class Base { bar: Object; >bar : Symbol(bar, Decl(constructorFunctionTypeIsAssignableToBaseType2.ts, 3, 17)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } constructor(x: Object) { >x : Symbol(x, Decl(constructorFunctionTypeIsAssignableToBaseType2.ts, 6, 16)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/constructorFunctions2.symbols b/tests/baselines/reference/constructorFunctions2.symbols index a303f5c6aaa..a01826b1c99 100644 --- a/tests/baselines/reference/constructorFunctions2.symbols +++ b/tests/baselines/reference/constructorFunctions2.symbols @@ -26,7 +26,7 @@ const B = function() { this.id = 1; } B.prototype.m = function() { this.x = 2; } >B.prototype : Symbol(B.m, Decl(index.js, 3, 37)) >B : Symbol(B, Decl(index.js, 3, 5)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m : Symbol(B.m, Decl(index.js, 3, 37)) >this.x : Symbol(B.x, Decl(index.js, 4, 28)) >this : Symbol(B, Decl(index.js, 3, 9)) diff --git a/tests/baselines/reference/constructorFunctions3.symbols b/tests/baselines/reference/constructorFunctions3.symbols index aee8be7e004..7c98cd921e0 100644 --- a/tests/baselines/reference/constructorFunctions3.symbols +++ b/tests/baselines/reference/constructorFunctions3.symbols @@ -51,7 +51,7 @@ function A () { A.prototype.z = function f(n) { >A.prototype : Symbol(A.z, Decl(a.js, 20, 1)) >A : Symbol(A, Decl(a.js, 13, 10), Decl(a.js, 24, 1)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >z : Symbol(A.z, Decl(a.js, 20, 1)) >f : Symbol(f, Decl(a.js, 22, 15)) >n : Symbol(n, Decl(a.js, 22, 27)) diff --git a/tests/baselines/reference/constructorFunctionsStrict.symbols b/tests/baselines/reference/constructorFunctionsStrict.symbols index c51f795d632..4c5d47b7a51 100644 --- a/tests/baselines/reference/constructorFunctionsStrict.symbols +++ b/tests/baselines/reference/constructorFunctionsStrict.symbols @@ -11,7 +11,7 @@ function C(x) { C.prototype.m = function() { >C.prototype : Symbol(C.m, Decl(a.js, 3, 1)) >C : Symbol(C, Decl(a.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m : Symbol(C.m, Decl(a.js, 3, 1)) this.y = 12 diff --git a/tests/baselines/reference/constructorImplementationWithDefaultValues.symbols b/tests/baselines/reference/constructorImplementationWithDefaultValues.symbols index 4693d6d3b01..f8d4daf689d 100644 --- a/tests/baselines/reference/constructorImplementationWithDefaultValues.symbols +++ b/tests/baselines/reference/constructorImplementationWithDefaultValues.symbols @@ -34,7 +34,7 @@ class D { class E { >E : Symbol(E, Decl(constructorImplementationWithDefaultValues.ts, 12, 1)) >T : Symbol(T, Decl(constructorImplementationWithDefaultValues.ts, 14, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) constructor(x); >x : Symbol(x, Decl(constructorImplementationWithDefaultValues.ts, 15, 16)) diff --git a/tests/baselines/reference/constructorImplementationWithDefaultValues2.symbols b/tests/baselines/reference/constructorImplementationWithDefaultValues2.symbols index fa7434ae5b2..4b9b5a07ed1 100644 --- a/tests/baselines/reference/constructorImplementationWithDefaultValues2.symbols +++ b/tests/baselines/reference/constructorImplementationWithDefaultValues2.symbols @@ -41,7 +41,7 @@ class D { class E { >E : Symbol(E, Decl(constructorImplementationWithDefaultValues2.ts, 12, 1)) >T : Symbol(T, Decl(constructorImplementationWithDefaultValues2.ts, 14, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) constructor(x); >x : Symbol(x, Decl(constructorImplementationWithDefaultValues2.ts, 15, 16)) @@ -49,7 +49,7 @@ class E { constructor(x: T = new Date()) { // error >x : Symbol(x, Decl(constructorImplementationWithDefaultValues2.ts, 16, 16)) >T : Symbol(T, Decl(constructorImplementationWithDefaultValues2.ts, 14, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var y = x; >y : Symbol(y, Decl(constructorImplementationWithDefaultValues2.ts, 17, 11)) diff --git a/tests/baselines/reference/constructorOverloads4.symbols b/tests/baselines/reference/constructorOverloads4.symbols index b11d5bb61b8..73782e8a384 100644 --- a/tests/baselines/reference/constructorOverloads4.symbols +++ b/tests/baselines/reference/constructorOverloads4.symbols @@ -15,7 +15,7 @@ declare module M { export function Function(...args: string[]): Function; >Function : Symbol(Function, Decl(constructorOverloads4.ts, 3, 5), Decl(constructorOverloads4.ts, 4, 50)) >args : Symbol(args, Decl(constructorOverloads4.ts, 5, 29)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/constructorOverloads5.symbols b/tests/baselines/reference/constructorOverloads5.symbols index e09eff42103..b1cbc1a6762 100644 --- a/tests/baselines/reference/constructorOverloads5.symbols +++ b/tests/baselines/reference/constructorOverloads5.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/constructorOverloads5.ts === interface IArguments {} ->IArguments : Symbol(IArguments, Decl(lib.d.ts, --, --), Decl(constructorOverloads5.ts, 0, 0)) +>IArguments : Symbol(IArguments, Decl(lib.es5.d.ts, --, --), Decl(constructorOverloads5.ts, 0, 0)) declare module M { >M : Symbol(M, Decl(constructorOverloads5.ts, 0, 24)) @@ -8,13 +8,13 @@ export function RegExp(pattern: string): RegExp; >RegExp : Symbol(RegExp, Decl(constructorOverloads5.ts, 2, 19), Decl(constructorOverloads5.ts, 3, 52)) >pattern : Symbol(pattern, Decl(constructorOverloads5.ts, 3, 27)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export function RegExp(pattern: string, flags: string): RegExp; >RegExp : Symbol(RegExp, Decl(constructorOverloads5.ts, 2, 19), Decl(constructorOverloads5.ts, 3, 52)) >pattern : Symbol(pattern, Decl(constructorOverloads5.ts, 4, 27)) >flags : Symbol(flags, Decl(constructorOverloads5.ts, 4, 43)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export class RegExp { >RegExp : Symbol(M.RegExp, Decl(constructorOverloads5.ts, 4, 67)) diff --git a/tests/baselines/reference/contextualSignatureInstantiation1.symbols b/tests/baselines/reference/contextualSignatureInstantiation1.symbols index 80c53b07075..d789c7cc153 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation1.symbols +++ b/tests/baselines/reference/contextualSignatureInstantiation1.symbols @@ -17,9 +17,9 @@ var e = (x: string, y?: K) => x.length; >x : Symbol(x, Decl(contextualSignatureInstantiation1.ts, 1, 12)) >y : Symbol(y, Decl(contextualSignatureInstantiation1.ts, 1, 22)) >K : Symbol(K, Decl(contextualSignatureInstantiation1.ts, 1, 9)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(contextualSignatureInstantiation1.ts, 1, 12)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) var r99 = map(e); // should be {}[] for S since a generic lambda is not inferentially typed >r99 : Symbol(r99, Decl(contextualSignatureInstantiation1.ts, 2, 3)) @@ -45,9 +45,9 @@ var e2 = (x: string, y?: K) => x.length; >x : Symbol(x, Decl(contextualSignatureInstantiation1.ts, 5, 13)) >y : Symbol(y, Decl(contextualSignatureInstantiation1.ts, 5, 23)) >K : Symbol(K, Decl(contextualSignatureInstantiation1.ts, 5, 10)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(contextualSignatureInstantiation1.ts, 5, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) var r100 = map2(e2); // type arg inference should fail for S since a generic lambda is not inferentially typed. Falls back to { length: number } >r100 : Symbol(r100, Decl(contextualSignatureInstantiation1.ts, 6, 3)) diff --git a/tests/baselines/reference/contextualSignatureInstantiation3.symbols b/tests/baselines/reference/contextualSignatureInstantiation3.symbols index 6d480a7aef4..7fc654e0c96 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation3.symbols +++ b/tests/baselines/reference/contextualSignatureInstantiation3.symbols @@ -12,9 +12,9 @@ function map(items: T[], f: (x: T) => U): U[]{ >U : Symbol(U, Decl(contextualSignatureInstantiation3.ts, 0, 15)) return items.map(f); ->items.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>items.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >items : Symbol(items, Decl(contextualSignatureInstantiation3.ts, 0, 19)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(contextualSignatureInstantiation3.ts, 0, 30)) } @@ -47,9 +47,9 @@ var v1: number[]; var v1 = xs.map(identity); // Error if not number[] >v1 : Symbol(v1, Decl(contextualSignatureInstantiation3.ts, 15, 3), Decl(contextualSignatureInstantiation3.ts, 16, 3), Decl(contextualSignatureInstantiation3.ts, 17, 3)) ->xs.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>xs.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >xs : Symbol(xs, Decl(contextualSignatureInstantiation3.ts, 12, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >identity : Symbol(identity, Decl(contextualSignatureInstantiation3.ts, 2, 1)) var v1 = map(xs, identity); // Error if not number[] @@ -63,9 +63,9 @@ var v2: number[][]; var v2 = xs.map(singleton); // Error if not number[][] >v2 : Symbol(v2, Decl(contextualSignatureInstantiation3.ts, 19, 3), Decl(contextualSignatureInstantiation3.ts, 20, 3), Decl(contextualSignatureInstantiation3.ts, 21, 3)) ->xs.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>xs.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >xs : Symbol(xs, Decl(contextualSignatureInstantiation3.ts, 12, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >singleton : Symbol(singleton, Decl(contextualSignatureInstantiation3.ts, 6, 1)) var v2 = map(xs, singleton); // Error if not number[][] diff --git a/tests/baselines/reference/contextualSignature_objectLiteralMethodMayReturnNever.symbols b/tests/baselines/reference/contextualSignature_objectLiteralMethodMayReturnNever.symbols index dd58d4d35ed..52db479fc69 100644 --- a/tests/baselines/reference/contextualSignature_objectLiteralMethodMayReturnNever.symbols +++ b/tests/baselines/reference/contextualSignature_objectLiteralMethodMayReturnNever.symbols @@ -7,5 +7,5 @@ const o: I = { m() { throw new Error("not implemented"); } }; >o : Symbol(o, Decl(contextualSignature_objectLiteralMethodMayReturnNever.ts, 1, 5)) >I : Symbol(I, Decl(contextualSignature_objectLiteralMethodMayReturnNever.ts, 0, 0)) >m : Symbol(m, Decl(contextualSignature_objectLiteralMethodMayReturnNever.ts, 1, 14)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.symbols b/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.symbols index 530779be29d..3b9278e3f12 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.symbols +++ b/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.symbols @@ -47,9 +47,9 @@ var x: IWithNoCallSignatures | IWithCallSignatures = a => a.toString(); >IWithNoCallSignatures : Symbol(IWithNoCallSignatures, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 0, 0)) >IWithCallSignatures : Symbol(IWithCallSignatures, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 9, 1)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 25, 52)) ->a.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>a.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 25, 52)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) // With call signatures with different return type var x2: IWithCallSignatures | IWithCallSignatures2 = a => a.toString(); // Like iWithCallSignatures @@ -57,9 +57,9 @@ var x2: IWithCallSignatures | IWithCallSignatures2 = a => a.toString(); // Like >IWithCallSignatures : Symbol(IWithCallSignatures, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 9, 1)) >IWithCallSignatures2 : Symbol(IWithCallSignatures2, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 12, 1)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 28, 52)) ->a.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>a.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 28, 52)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) var x2: IWithCallSignatures | IWithCallSignatures2 = a => a; // Like iWithCallSignatures2 >x2 : Symbol(x2, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 28, 3), Decl(contextualTypeWithUnionTypeCallSignatures.ts, 29, 3)) @@ -82,7 +82,7 @@ var x4: IWithCallSignatures | IWithCallSignatures4 = a => /*here a should be any >IWithCallSignatures : Symbol(IWithCallSignatures, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 9, 1)) >IWithCallSignatures4 : Symbol(IWithCallSignatures4, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 18, 1)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 35, 52)) ->a.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>a.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeCallSignatures.ts, 35, 52)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.symbols b/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.symbols index 207b4dab689..69e9e9e52ea 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.symbols +++ b/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.symbols @@ -94,9 +94,9 @@ var x2: IWithStringIndexSignature1 | IWithStringIndexSignature2 = { z: a => a.to >IWithStringIndexSignature2 : Symbol(IWithStringIndexSignature2, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 17, 1)) >z : Symbol(z, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 42, 67)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 42, 70)) ->a.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>a.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 42, 70)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) var x2: IWithStringIndexSignature1 | IWithStringIndexSignature2 = { z: a => a }; // a should be number >x2 : Symbol(x2, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 42, 3), Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 43, 3)) @@ -138,9 +138,9 @@ var x4: IWithNumberIndexSignature1 | IWithNumberIndexSignature2 = { 1: a => a.to >IWithNumberIndexSignature2 : Symbol(IWithNumberIndexSignature2, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 23, 1)) >1 : Symbol(1, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 52, 67)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 52, 70)) ->a.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>a.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 52, 70)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) var x4: IWithNumberIndexSignature1 | IWithNumberIndexSignature2 = { 1: a => a }; // a should be number >x4 : Symbol(x4, Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 52, 3), Decl(contextualTypeWithUnionTypeIndexSignatures.ts, 53, 3)) diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeMembers.symbols b/tests/baselines/reference/contextualTypeWithUnionTypeMembers.symbols index 2b5eb35aa07..25410004df1 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeMembers.symbols +++ b/tests/baselines/reference/contextualTypeWithUnionTypeMembers.symbols @@ -164,7 +164,7 @@ var i1Ori2: I1 | I2 = { // Like i1 and i2 both var arrayI1OrI2: Array | I2> = [i1, i2, { // Like i1 >arrayI1OrI2 : Symbol(arrayI1OrI2, Decl(contextualTypeWithUnionTypeMembers.ts, 51, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >I1 : Symbol(I1, Decl(contextualTypeWithUnionTypeMembers.ts, 0, 0)) >I2 : Symbol(I2, Decl(contextualTypeWithUnionTypeMembers.ts, 9, 1)) >i1 : Symbol(i1, Decl(contextualTypeWithUnionTypeMembers.ts, 21, 3)) @@ -301,9 +301,9 @@ var i11Ori21: I11 | I21 = { var z = a.charAt(b); >z : Symbol(z, Decl(contextualTypeWithUnionTypeMembers.ts, 91, 11)) ->a.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>a.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeMembers.ts, 90, 38)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(contextualTypeWithUnionTypeMembers.ts, 90, 40)) return z; @@ -327,9 +327,9 @@ var i11Ori21: I11 | I21 = { var z = a.charCodeAt(b); >z : Symbol(z, Decl(contextualTypeWithUnionTypeMembers.ts, 99, 11)) ->a.charCodeAt : Symbol(String.charCodeAt, Decl(lib.d.ts, --, --)) +>a.charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeMembers.ts, 98, 38)) ->charCodeAt : Symbol(String.charCodeAt, Decl(lib.d.ts, --, --)) +>charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(contextualTypeWithUnionTypeMembers.ts, 98, 40)) return z; @@ -342,7 +342,7 @@ var i11Ori21: I11 | I21 = { }; var arrayOrI11OrI21: Array = [i11, i21, i11 || i21, { >arrayOrI11OrI21 : Symbol(arrayOrI11OrI21, Decl(contextualTypeWithUnionTypeMembers.ts, 104, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >I11 : Symbol(I11, Decl(contextualTypeWithUnionTypeMembers.ts, 74, 7)) >I21 : Symbol(I21, Decl(contextualTypeWithUnionTypeMembers.ts, 79, 1)) >i11 : Symbol(i11, Decl(contextualTypeWithUnionTypeMembers.ts, 84, 3)) @@ -358,9 +358,9 @@ var arrayOrI11OrI21: Array = [i11, i21, i11 || i21, { var z = a.charAt(b); >z : Symbol(z, Decl(contextualTypeWithUnionTypeMembers.ts, 107, 15)) ->a.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>a.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeMembers.ts, 106, 42)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(contextualTypeWithUnionTypeMembers.ts, 106, 44)) return z; @@ -379,9 +379,9 @@ var arrayOrI11OrI21: Array = [i11, i21, i11 || i21, { var z = a.charCodeAt(b); >z : Symbol(z, Decl(contextualTypeWithUnionTypeMembers.ts, 114, 15)) ->a.charCodeAt : Symbol(String.charCodeAt, Decl(lib.d.ts, --, --)) +>a.charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeMembers.ts, 113, 42)) ->charCodeAt : Symbol(String.charCodeAt, Decl(lib.d.ts, --, --)) +>charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(contextualTypeWithUnionTypeMembers.ts, 113, 44)) return z; diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.symbols b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.symbols index 06a9cb26c8f..8747e5964b4 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.symbols +++ b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.symbols @@ -163,9 +163,9 @@ var i11Ori21: I11 | I21 = { // Like i1 var z = a.charAt(b); >z : Symbol(z, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 45, 11)) ->a.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>a.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 44, 38)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 44, 40)) return z; @@ -185,9 +185,9 @@ var i11Ori21: I11 | I21 = { // Like i2 var z = a.charCodeAt(b); >z : Symbol(z, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 51, 11)) ->a.charCodeAt : Symbol(String.charCodeAt, Decl(lib.d.ts, --, --)) +>a.charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 50, 38)) ->charCodeAt : Symbol(String.charCodeAt, Decl(lib.d.ts, --, --)) +>charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(contextualTypeWithUnionTypeObjectLiteral.ts, 50, 40)) return z; diff --git a/tests/baselines/reference/contextualTypingOfArrayLiterals1.symbols b/tests/baselines/reference/contextualTypingOfArrayLiterals1.symbols index 49467dee86f..4128d59771c 100644 --- a/tests/baselines/reference/contextualTypingOfArrayLiterals1.symbols +++ b/tests/baselines/reference/contextualTypingOfArrayLiterals1.symbols @@ -4,20 +4,20 @@ interface I { [x: number]: Date; >x : Symbol(x, Decl(contextualTypingOfArrayLiterals1.ts, 1, 4)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } var x3: I = [new Date(), 1]; >x3 : Symbol(x3, Decl(contextualTypingOfArrayLiterals1.ts, 4, 3)) >I : Symbol(I, Decl(contextualTypingOfArrayLiterals1.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r2 = x3[1]; >r2 : Symbol(r2, Decl(contextualTypingOfArrayLiterals1.ts, 5, 3)) >x3 : Symbol(x3, Decl(contextualTypingOfArrayLiterals1.ts, 4, 3)) r2.getDate(); ->r2.getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>r2.getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) >r2 : Symbol(r2, Decl(contextualTypingOfArrayLiterals1.ts, 5, 3)) ->getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/contextualTypingOfConditionalExpression.symbols b/tests/baselines/reference/contextualTypingOfConditionalExpression.symbols index c0bd5e51561..c2e4a1bb9ea 100644 --- a/tests/baselines/reference/contextualTypingOfConditionalExpression.symbols +++ b/tests/baselines/reference/contextualTypingOfConditionalExpression.symbols @@ -3,13 +3,13 @@ var x: (a: number) => void = true ? (a) => a.toExponential() : (b) => b.toFixed( >x : Symbol(x, Decl(contextualTypingOfConditionalExpression.ts, 0, 3)) >a : Symbol(a, Decl(contextualTypingOfConditionalExpression.ts, 0, 8)) >a : Symbol(a, Decl(contextualTypingOfConditionalExpression.ts, 0, 37)) ->a.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>a.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypingOfConditionalExpression.ts, 0, 37)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(contextualTypingOfConditionalExpression.ts, 0, 64)) ->b.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>b.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(contextualTypingOfConditionalExpression.ts, 0, 64)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) class A { >A : Symbol(A, Decl(contextualTypingOfConditionalExpression.ts, 0, 82)) diff --git a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.symbols b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.symbols index 9b7ad31d01c..f177419fcad 100644 --- a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.symbols +++ b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.symbols @@ -29,7 +29,7 @@ interface Combinators { >f : Symbol(f, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 7, 32)) >x : Symbol(x, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 7, 37)) >T : Symbol(T, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 7, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } var c2: Collection; @@ -44,9 +44,9 @@ var _: Combinators; var f = (x: number) => { return x.toFixed() }; >f : Symbol(f, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 14, 3)) >x : Symbol(x, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 14, 9)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 14, 9)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) var r5 = _.forEach(c2, f); >r5 : Symbol(r5, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 15, 3)) @@ -63,7 +63,7 @@ var r6 = _.forEach(c2, (x) => { return x.toFixed() }); >forEach : Symbol(Combinators.forEach, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 6, 23)) >c2 : Symbol(c2, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 10, 3)) >x : Symbol(x, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 16, 32)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(contextualTypingOfGenericFunctionTypedArguments1.ts, 16, 32)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols b/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols index 67406172e7a..fb268f41cb2 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols +++ b/tests/baselines/reference/contextuallyTypedBindingInitializer.symbols @@ -10,18 +10,18 @@ function f({ show = v => v.toString() }: Show) {} >f : Symbol(f, Decl(contextuallyTypedBindingInitializer.ts, 2, 1)) >show : Symbol(show, Decl(contextuallyTypedBindingInitializer.ts, 3, 12)) >v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 3, 19)) ->v.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>v.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 3, 19)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Show : Symbol(Show, Decl(contextuallyTypedBindingInitializer.ts, 0, 0)) function f2({ "show": showRename = v => v.toString() }: Show) {} >f2 : Symbol(f2, Decl(contextuallyTypedBindingInitializer.ts, 3, 49)) >showRename : Symbol(showRename, Decl(contextuallyTypedBindingInitializer.ts, 4, 13)) >v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 4, 34)) ->v.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>v.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 4, 34)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Show : Symbol(Show, Decl(contextuallyTypedBindingInitializer.ts, 0, 0)) function f3({ ["show"]: showRename = v => v.toString() }: Show) {} @@ -29,9 +29,9 @@ function f3({ ["show"]: showRename = v => v.toString() }: Show) {} >"show" : Symbol(showRename, Decl(contextuallyTypedBindingInitializer.ts, 5, 13)) >showRename : Symbol(showRename, Decl(contextuallyTypedBindingInitializer.ts, 5, 13)) >v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 5, 36)) ->v.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>v.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 5, 36)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Show : Symbol(Show, Decl(contextuallyTypedBindingInitializer.ts, 0, 0)) interface Nested { @@ -46,9 +46,9 @@ function ff({ nested = { show: v => v.toString() } }: Nested) {} >nested : Symbol(nested, Decl(contextuallyTypedBindingInitializer.ts, 10, 13)) >show : Symbol(show, Decl(contextuallyTypedBindingInitializer.ts, 10, 24)) >v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 10, 30)) ->v.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>v.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(contextuallyTypedBindingInitializer.ts, 10, 30)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >Nested : Symbol(Nested, Decl(contextuallyTypedBindingInitializer.ts, 5, 66)) interface Tuples { diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.symbols b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.symbols index a9013e7f98e..06229ab71d9 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.symbols +++ b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.symbols @@ -56,9 +56,9 @@ let { stringIdentity: id = arg => arg.length }: StringIdentity = { stringIdentit >stringIdentity : Symbol(StringIdentity.stringIdentity, Decl(contextuallyTypedBindingInitializerNegative.ts, 12, 26)) >id : Symbol(id, Decl(contextuallyTypedBindingInitializerNegative.ts, 15, 5)) >arg : Symbol(arg, Decl(contextuallyTypedBindingInitializerNegative.ts, 15, 26)) ->arg.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>arg.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >arg : Symbol(arg, Decl(contextuallyTypedBindingInitializerNegative.ts, 15, 26)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >StringIdentity : Symbol(StringIdentity, Decl(contextuallyTypedBindingInitializerNegative.ts, 10, 67)) >stringIdentity : Symbol(stringIdentity, Decl(contextuallyTypedBindingInitializerNegative.ts, 15, 66)) >x : Symbol(x, Decl(contextuallyTypedBindingInitializerNegative.ts, 15, 82)) diff --git a/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.symbols b/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.symbols index e6719960b31..a2d55362077 100644 --- a/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.symbols +++ b/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.symbols @@ -13,9 +13,9 @@ foo((y): (y2: number) => void => { var z = y.charAt(0); // Should be string >z : Symbol(z, Decl(contextuallyTypedFunctionExpressionsAndReturnAnnotations.ts, 4, 7)) ->y.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>y.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(contextuallyTypedFunctionExpressionsAndReturnAnnotations.ts, 3, 5)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) return null; }); @@ -29,9 +29,9 @@ foo((y: string) => { var z = y2.toFixed(); // Should be string >z : Symbol(z, Decl(contextuallyTypedFunctionExpressionsAndReturnAnnotations.ts, 10, 11)) ->y2.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>y2.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >y2 : Symbol(y2, Decl(contextuallyTypedFunctionExpressionsAndReturnAnnotations.ts, 9, 10)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) return 0; }; diff --git a/tests/baselines/reference/contextuallyTypedIife.symbols b/tests/baselines/reference/contextuallyTypedIife.symbols index b6a73764352..27ad9f3d9a9 100644 --- a/tests/baselines/reference/contextuallyTypedIife.symbols +++ b/tests/baselines/reference/contextuallyTypedIife.symbols @@ -47,25 +47,25 @@ // rest parameters ((...numbers) => numbers.every(n => n > 0))(5,6,7); >numbers : Symbol(numbers, Decl(contextuallyTypedIife.ts, 17, 2)) ->numbers.every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>numbers.every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >numbers : Symbol(numbers, Decl(contextuallyTypedIife.ts, 17, 2)) ->every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(contextuallyTypedIife.ts, 17, 31)) >n : Symbol(n, Decl(contextuallyTypedIife.ts, 17, 31)) ((...mixed) => mixed.every(n => !!n))(5,'oops','oh no'); >mixed : Symbol(mixed, Decl(contextuallyTypedIife.ts, 18, 2)) ->mixed.every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>mixed.every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >mixed : Symbol(mixed, Decl(contextuallyTypedIife.ts, 18, 2)) ->every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(contextuallyTypedIife.ts, 18, 27)) >n : Symbol(n, Decl(contextuallyTypedIife.ts, 18, 27)) ((...noNumbers) => noNumbers.some(n => n > 0))(); >noNumbers : Symbol(noNumbers, Decl(contextuallyTypedIife.ts, 19, 2)) ->noNumbers.some : Symbol(Array.some, Decl(lib.d.ts, --, --)) +>noNumbers.some : Symbol(Array.some, Decl(lib.es5.d.ts, --, --)) >noNumbers : Symbol(noNumbers, Decl(contextuallyTypedIife.ts, 19, 2)) ->some : Symbol(Array.some, Decl(lib.d.ts, --, --)) +>some : Symbol(Array.some, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(contextuallyTypedIife.ts, 19, 34)) >n : Symbol(n, Decl(contextuallyTypedIife.ts, 19, 34)) @@ -73,9 +73,9 @@ >first : Symbol(first, Decl(contextuallyTypedIife.ts, 20, 2)) >rest : Symbol(rest, Decl(contextuallyTypedIife.ts, 20, 8)) >first : Symbol(first, Decl(contextuallyTypedIife.ts, 20, 2)) ->rest.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>rest.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >rest : Symbol(rest, Decl(contextuallyTypedIife.ts, 20, 8)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(contextuallyTypedIife.ts, 20, 43)) >n : Symbol(n, Decl(contextuallyTypedIife.ts, 20, 43)) diff --git a/tests/baselines/reference/contextuallyTypedIifeStrict.symbols b/tests/baselines/reference/contextuallyTypedIifeStrict.symbols index 01e8a35a0fb..e3bb2c2deea 100644 --- a/tests/baselines/reference/contextuallyTypedIifeStrict.symbols +++ b/tests/baselines/reference/contextuallyTypedIifeStrict.symbols @@ -47,25 +47,25 @@ // rest parameters ((...numbers) => numbers.every(n => n > 0))(5,6,7); >numbers : Symbol(numbers, Decl(contextuallyTypedIifeStrict.ts, 17, 2)) ->numbers.every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>numbers.every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >numbers : Symbol(numbers, Decl(contextuallyTypedIifeStrict.ts, 17, 2)) ->every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(contextuallyTypedIifeStrict.ts, 17, 31)) >n : Symbol(n, Decl(contextuallyTypedIifeStrict.ts, 17, 31)) ((...mixed) => mixed.every(n => !!n))(5,'oops','oh no'); >mixed : Symbol(mixed, Decl(contextuallyTypedIifeStrict.ts, 18, 2)) ->mixed.every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>mixed.every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >mixed : Symbol(mixed, Decl(contextuallyTypedIifeStrict.ts, 18, 2)) ->every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(contextuallyTypedIifeStrict.ts, 18, 27)) >n : Symbol(n, Decl(contextuallyTypedIifeStrict.ts, 18, 27)) ((...noNumbers) => noNumbers.some(n => n > 0))(); >noNumbers : Symbol(noNumbers, Decl(contextuallyTypedIifeStrict.ts, 19, 2)) ->noNumbers.some : Symbol(Array.some, Decl(lib.d.ts, --, --)) +>noNumbers.some : Symbol(Array.some, Decl(lib.es5.d.ts, --, --)) >noNumbers : Symbol(noNumbers, Decl(contextuallyTypedIifeStrict.ts, 19, 2)) ->some : Symbol(Array.some, Decl(lib.d.ts, --, --)) +>some : Symbol(Array.some, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(contextuallyTypedIifeStrict.ts, 19, 34)) >n : Symbol(n, Decl(contextuallyTypedIifeStrict.ts, 19, 34)) @@ -73,9 +73,9 @@ >first : Symbol(first, Decl(contextuallyTypedIifeStrict.ts, 20, 2)) >rest : Symbol(rest, Decl(contextuallyTypedIifeStrict.ts, 20, 8)) >first : Symbol(first, Decl(contextuallyTypedIifeStrict.ts, 20, 2)) ->rest.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>rest.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >rest : Symbol(rest, Decl(contextuallyTypedIifeStrict.ts, 20, 8)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(contextuallyTypedIifeStrict.ts, 20, 43)) >n : Symbol(n, Decl(contextuallyTypedIifeStrict.ts, 20, 43)) diff --git a/tests/baselines/reference/contextuallyTypingOrOperator.symbols b/tests/baselines/reference/contextuallyTypingOrOperator.symbols index 1ceb9b76ad3..6d323bd4c7d 100644 --- a/tests/baselines/reference/contextuallyTypingOrOperator.symbols +++ b/tests/baselines/reference/contextuallyTypingOrOperator.symbols @@ -5,34 +5,34 @@ var v: { a: (_: string) => number } = { a: s => s.length } || { a: s => 1 }; >_ : Symbol(_, Decl(contextuallyTypingOrOperator.ts, 0, 13)) >a : Symbol(a, Decl(contextuallyTypingOrOperator.ts, 0, 39)) >s : Symbol(s, Decl(contextuallyTypingOrOperator.ts, 0, 42)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(contextuallyTypingOrOperator.ts, 0, 42)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextuallyTypingOrOperator.ts, 0, 63)) >s : Symbol(s, Decl(contextuallyTypingOrOperator.ts, 0, 66)) var v2 = (s: string) => s.length || function (s) { s.length }; >v2 : Symbol(v2, Decl(contextuallyTypingOrOperator.ts, 2, 3)) >s : Symbol(s, Decl(contextuallyTypingOrOperator.ts, 2, 10)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(contextuallyTypingOrOperator.ts, 2, 10)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(contextuallyTypingOrOperator.ts, 2, 46)) >s : Symbol(s, Decl(contextuallyTypingOrOperator.ts, 2, 46)) var v3 = (s: string) => s.length || function (s: number) { return 1 }; >v3 : Symbol(v3, Decl(contextuallyTypingOrOperator.ts, 4, 3)) >s : Symbol(s, Decl(contextuallyTypingOrOperator.ts, 4, 10)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(contextuallyTypingOrOperator.ts, 4, 10)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(contextuallyTypingOrOperator.ts, 4, 46)) var v4 = (s: number) => 1 || function (s: string) { return s.length }; >v4 : Symbol(v4, Decl(contextuallyTypingOrOperator.ts, 5, 3)) >s : Symbol(s, Decl(contextuallyTypingOrOperator.ts, 5, 10)) >s : Symbol(s, Decl(contextuallyTypingOrOperator.ts, 5, 39)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(contextuallyTypingOrOperator.ts, 5, 39)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/contextuallyTypingOrOperator2.symbols b/tests/baselines/reference/contextuallyTypingOrOperator2.symbols index 40dc6190b04..b5389a787f4 100644 --- a/tests/baselines/reference/contextuallyTypingOrOperator2.symbols +++ b/tests/baselines/reference/contextuallyTypingOrOperator2.symbols @@ -5,18 +5,18 @@ var v: { a: (_: string) => number } = { a: s => s.length } || { a: s => 1 }; >_ : Symbol(_, Decl(contextuallyTypingOrOperator2.ts, 0, 13)) >a : Symbol(a, Decl(contextuallyTypingOrOperator2.ts, 0, 39)) >s : Symbol(s, Decl(contextuallyTypingOrOperator2.ts, 0, 42)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(contextuallyTypingOrOperator2.ts, 0, 42)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextuallyTypingOrOperator2.ts, 0, 63)) >s : Symbol(s, Decl(contextuallyTypingOrOperator2.ts, 0, 66)) var v2 = (s: string) => s.length || function (s) { s.aaa }; >v2 : Symbol(v2, Decl(contextuallyTypingOrOperator2.ts, 2, 3)) >s : Symbol(s, Decl(contextuallyTypingOrOperator2.ts, 2, 10)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(contextuallyTypingOrOperator2.ts, 2, 10)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(contextuallyTypingOrOperator2.ts, 2, 46)) >s : Symbol(s, Decl(contextuallyTypingOrOperator2.ts, 2, 46)) diff --git a/tests/baselines/reference/controlFlowArrayErrors.symbols b/tests/baselines/reference/controlFlowArrayErrors.symbols index 6b906730b39..46a61f13e43 100644 --- a/tests/baselines/reference/controlFlowArrayErrors.symbols +++ b/tests/baselines/reference/controlFlowArrayErrors.symbols @@ -13,9 +13,9 @@ function f1() { >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 3, 7)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 3, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) let z = x; >z : Symbol(z, Decl(controlFlowArrayErrors.ts, 6, 7)) @@ -36,9 +36,9 @@ function f2() { >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 10, 7)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 10, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) let z = x; >z : Symbol(z, Decl(controlFlowArrayErrors.ts, 14, 7)) @@ -52,9 +52,9 @@ function f3() { >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 18, 7)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 18, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) function g() { >g : Symbol(g, Decl(controlFlowArrayErrors.ts, 19, 14)) @@ -74,9 +74,9 @@ function f4() { >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 26, 7)) x.push(true); // Error ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 26, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } function f5() { @@ -86,9 +86,9 @@ function f5() { >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 32, 7)) x.push(true); // Error ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 32, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } function f6() { @@ -104,14 +104,14 @@ function f6() { >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 37, 7)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 37, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 37, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } else { x = [true]; // Non-evolving array @@ -121,9 +121,9 @@ function f6() { >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 37, 7)) x.push(99); // Error ->x.push : Symbol(push, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>x.push : Symbol(push, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 37, 7)) ->push : Symbol(push, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>push : Symbol(push, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f7() { @@ -133,23 +133,23 @@ function f7() { >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 51, 7)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 51, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) let y = x; // y has non-evolving array value >y : Symbol(y, Decl(controlFlowArrayErrors.ts, 53, 7)) >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 51, 7)) x.push("hello"); // Ok ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 51, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) y.push("hello"); // Error ->y.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>y.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(controlFlowArrayErrors.ts, 53, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } function f8() { @@ -159,9 +159,9 @@ function f8() { >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 59, 9)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrayErrors.ts, 59, 9)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) function g() { >g : Symbol(g, Decl(controlFlowArrayErrors.ts, 60, 14)) diff --git a/tests/baselines/reference/controlFlowArrays.symbols b/tests/baselines/reference/controlFlowArrays.symbols index ad6ee0e9f80..25e5ef01bcf 100644 --- a/tests/baselines/reference/controlFlowArrays.symbols +++ b/tests/baselines/reference/controlFlowArrays.symbols @@ -28,19 +28,19 @@ function f2() { >x : Symbol(x, Decl(controlFlowArrays.ts, 11, 7)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 11, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 11, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) x.push(true); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 11, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) return x; // (string | number | boolean)[] >x : Symbol(x, Decl(controlFlowArrays.ts, 11, 7)) @@ -56,9 +56,9 @@ function f3() { >x : Symbol(x, Decl(controlFlowArrays.ts, 19, 7)) x.push(5, "hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 19, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) return x; // (string | number)[] >x : Symbol(x, Decl(controlFlowArrays.ts, 19, 7)) @@ -74,15 +74,15 @@ function f4() { >cond : Symbol(cond, Decl(controlFlowArrays.ts, 0, 0)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 26, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } else { x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 26, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } return x; // (string | number)[] >x : Symbol(x, Decl(controlFlowArrays.ts, 26, 7)) @@ -101,18 +101,18 @@ function f5() { >x : Symbol(x, Decl(controlFlowArrays.ts, 37, 7)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 37, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } else { x = []; >x : Symbol(x, Decl(controlFlowArrays.ts, 37, 7)) x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 37, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } return x; // (string | number)[] >x : Symbol(x, Decl(controlFlowArrays.ts, 37, 7)) @@ -135,9 +135,9 @@ function f6() { >x : Symbol(x, Decl(controlFlowArrays.ts, 50, 7)) x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 50, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } return x; // number | string[] >x : Symbol(x, Decl(controlFlowArrays.ts, 50, 7)) @@ -159,9 +159,9 @@ function f7() { >cond : Symbol(cond, Decl(controlFlowArrays.ts, 0, 0)) x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 62, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } } return x; // string[] | null @@ -175,27 +175,27 @@ function f8() { >x : Symbol(x, Decl(controlFlowArrays.ts, 73, 7)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 73, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) if (cond()) return x; // number[] >cond : Symbol(cond, Decl(controlFlowArrays.ts, 0, 0)) >x : Symbol(x, Decl(controlFlowArrays.ts, 73, 7)) x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 73, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) if (cond()) return x; // (string | number)[] >cond : Symbol(cond, Decl(controlFlowArrays.ts, 0, 0)) >x : Symbol(x, Decl(controlFlowArrays.ts, 73, 7)) x.push(true); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 73, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) return x; // (string | number | boolean)[] >x : Symbol(x, Decl(controlFlowArrays.ts, 73, 7)) @@ -211,18 +211,18 @@ function f9() { >cond : Symbol(cond, Decl(controlFlowArrays.ts, 0, 0)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 83, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) return x; // number[] >x : Symbol(x, Decl(controlFlowArrays.ts, 83, 7)) } else { x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 83, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) return x; // string[] >x : Symbol(x, Decl(controlFlowArrays.ts, 83, 7)) @@ -239,18 +239,18 @@ function f10() { >cond : Symbol(cond, Decl(controlFlowArrays.ts, 0, 0)) x.push(true); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 95, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) x; // boolean[] >x : Symbol(x, Decl(controlFlowArrays.ts, 95, 7)) } else { x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 95, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) x; // number[] >x : Symbol(x, Decl(controlFlowArrays.ts, 95, 7)) @@ -259,17 +259,17 @@ function f10() { >cond : Symbol(cond, Decl(controlFlowArrays.ts, 0, 0)) x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 95, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } x; // (string | number)[] >x : Symbol(x, Decl(controlFlowArrays.ts, 95, 7)) } x.push(99); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 95, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) return x; // (string | number | boolean)[] >x : Symbol(x, Decl(controlFlowArrays.ts, 95, 7)) @@ -282,14 +282,14 @@ function f11() { >x : Symbol(x, Decl(controlFlowArrays.ts, 113, 7)) if (x.length === 0) { // x.length ok on implicit any[] ->x.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 113, 7)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 113, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } return x; >x : Symbol(x, Decl(controlFlowArrays.ts, 113, 7)) @@ -305,14 +305,14 @@ function f12() { >x : Symbol(x, Decl(controlFlowArrays.ts, 121, 7)) if (x.length === 0) { // x.length ok on implicit any[] ->x.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 121, 7)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 121, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } return x; >x : Symbol(x, Decl(controlFlowArrays.ts, 121, 7)) @@ -325,19 +325,19 @@ function f13() { >x : Symbol(x, Decl(controlFlowArrays.ts, 130, 7)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 130, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 130, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) x.push(true); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 130, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) return x; // (string | number | boolean)[] >x : Symbol(x, Decl(controlFlowArrays.ts, 130, 7)) @@ -350,19 +350,19 @@ function f14() { >x : Symbol(x, Decl(controlFlowArrays.ts, 138, 9)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 138, 9)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 138, 9)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) x.push(true); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 138, 9)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) return x; // (string | number | boolean)[] >x : Symbol(x, Decl(controlFlowArrays.ts, 138, 9)) @@ -381,9 +381,9 @@ function f15() { >cond : Symbol(cond, Decl(controlFlowArrays.ts, 0, 0)) x.push("hello"); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 146, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } return x; // string[] >x : Symbol(x, Decl(controlFlowArrays.ts, 146, 7)) @@ -399,18 +399,18 @@ function f16() { >y : Symbol(y, Decl(controlFlowArrays.ts, 156, 7)) (x = [], x).push(5); ->(x = [], x).push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>(x = [], x).push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 155, 7)) >x : Symbol(x, Decl(controlFlowArrays.ts, 155, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) (x.push("hello"), x).push(true); ->(x.push("hello"), x).push : Symbol(Array.push, Decl(lib.d.ts, --, --)) ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>(x.push("hello"), x).push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 155, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 155, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) ((x))[3] = { a: 1 }; >x : Symbol(x, Decl(controlFlowArrays.ts, 155, 7)) @@ -427,19 +427,19 @@ function f17() { >x : Symbol(x, Decl(controlFlowArrays.ts, 164, 7)) x.unshift(5); ->x.unshift : Symbol(Array.unshift, Decl(lib.d.ts, --, --)) +>x.unshift : Symbol(Array.unshift, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 164, 7)) ->unshift : Symbol(Array.unshift, Decl(lib.d.ts, --, --)) +>unshift : Symbol(Array.unshift, Decl(lib.es5.d.ts, --, --)) x.unshift("hello"); ->x.unshift : Symbol(Array.unshift, Decl(lib.d.ts, --, --)) +>x.unshift : Symbol(Array.unshift, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 164, 7)) ->unshift : Symbol(Array.unshift, Decl(lib.d.ts, --, --)) +>unshift : Symbol(Array.unshift, Decl(lib.es5.d.ts, --, --)) x.unshift(true); ->x.unshift : Symbol(Array.unshift, Decl(lib.d.ts, --, --)) +>x.unshift : Symbol(Array.unshift, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 164, 7)) ->unshift : Symbol(Array.unshift, Decl(lib.d.ts, --, --)) +>unshift : Symbol(Array.unshift, Decl(lib.es5.d.ts, --, --)) return x; // (string | number | boolean)[] >x : Symbol(x, Decl(controlFlowArrays.ts, 164, 7)) @@ -452,14 +452,14 @@ function f18() { >x : Symbol(x, Decl(controlFlowArrays.ts, 172, 7)) x.push(5); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 172, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) x.unshift("hello"); ->x.unshift : Symbol(Array.unshift, Decl(lib.d.ts, --, --)) +>x.unshift : Symbol(Array.unshift, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowArrays.ts, 172, 7)) ->unshift : Symbol(Array.unshift, Decl(lib.d.ts, --, --)) +>unshift : Symbol(Array.unshift, Decl(lib.es5.d.ts, --, --)) x[2] = true; >x : Symbol(x, Decl(controlFlowArrays.ts, 172, 7)) diff --git a/tests/baselines/reference/controlFlowAssignmentExpression.symbols b/tests/baselines/reference/controlFlowAssignmentExpression.symbols index 470e3114ca8..73aa8bd7850 100644 --- a/tests/baselines/reference/controlFlowAssignmentExpression.symbols +++ b/tests/baselines/reference/controlFlowAssignmentExpression.symbols @@ -10,9 +10,9 @@ x = ""; x = x.length; >x : Symbol(x, Decl(controlFlowAssignmentExpression.ts, 0, 3)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowAssignmentExpression.ts, 0, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) x; // number >x : Symbol(x, Decl(controlFlowAssignmentExpression.ts, 0, 3)) @@ -24,9 +24,9 @@ x = true; >x : Symbol(x, Decl(controlFlowAssignmentExpression.ts, 0, 3)) >obj : Symbol(obj, Decl(controlFlowAssignmentExpression.ts, 1, 3)) >x : Symbol(x, Decl(controlFlowAssignmentExpression.ts, 0, 3)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowAssignmentExpression.ts, 0, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) x; // number >x : Symbol(x, Decl(controlFlowAssignmentExpression.ts, 0, 3)) diff --git a/tests/baselines/reference/controlFlowCaching.symbols b/tests/baselines/reference/controlFlowCaching.symbols index 186c770b0ae..296487d2093 100644 --- a/tests/baselines/reference/controlFlowCaching.symbols +++ b/tests/baselines/reference/controlFlowCaching.symbols @@ -111,29 +111,29 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { cosr = Math.abs(Math.cos(rotation * Math.PI / 180)), >cosr : Symbol(cosr, Decl(controlFlowCaching.ts, 20, 79)) ->Math.abs : Symbol(Math.abs, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->abs : Symbol(Math.abs, Decl(lib.d.ts, --, --)) ->Math.cos : Symbol(Math.cos, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->cos : Symbol(Math.cos, Decl(lib.d.ts, --, --)) +>Math.abs : Symbol(Math.abs, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>abs : Symbol(Math.abs, Decl(lib.es5.d.ts, --, --)) +>Math.cos : Symbol(Math.cos, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>cos : Symbol(Math.cos, Decl(lib.es5.d.ts, --, --)) >rotation : Symbol(rotation, Decl(controlFlowCaching.ts, 6, 47)) ->Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) +>Math.PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) sinr = Math.abs(Math.sin(rotation * Math.PI / 180)), >sinr : Symbol(sinr, Decl(controlFlowCaching.ts, 21, 60)) ->Math.abs : Symbol(Math.abs, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->abs : Symbol(Math.abs, Decl(lib.d.ts, --, --)) ->Math.sin : Symbol(Math.sin, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sin : Symbol(Math.sin, Decl(lib.d.ts, --, --)) +>Math.abs : Symbol(Math.abs, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>abs : Symbol(Math.abs, Decl(lib.es5.d.ts, --, --)) +>Math.sin : Symbol(Math.sin, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sin : Symbol(Math.sin, Decl(lib.es5.d.ts, --, --)) >rotation : Symbol(rotation, Decl(controlFlowCaching.ts, 6, 47)) ->Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) +>Math.PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) tsize = taTitleFont ? g.normalizedLength(g.splitFontString(taTitleFont).size) : 0; >tsize : Symbol(tsize, Decl(controlFlowCaching.ts, 22, 60)) @@ -163,9 +163,9 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >cachedLabelW : Symbol(cachedLabelW, Decl(controlFlowCaching.ts, 27, 7)) >sinr : Symbol(sinr, Decl(controlFlowCaching.ts, 21, 60)) >labelGap : Symbol(labelGap, Decl(controlFlowCaching.ts, 7, 125)) ->Math.max : Symbol(Math.max, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->max : Symbol(Math.max, Decl(lib.d.ts, --, --)) +>Math.max : Symbol(Math.max, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>max : Symbol(Math.max, Decl(lib.es5.d.ts, --, --)) >taMajorTick : Symbol(taMajorTick, Decl(controlFlowCaching.ts, 14, 96)) >taMajorTick : Symbol(taMajorTick, Decl(controlFlowCaching.ts, 14, 96)) diff --git a/tests/baselines/reference/controlFlowDestructuringParameters.symbols b/tests/baselines/reference/controlFlowDestructuringParameters.symbols index 668d346b929..eb2f3ed8a91 100644 --- a/tests/baselines/reference/controlFlowDestructuringParameters.symbols +++ b/tests/baselines/reference/controlFlowDestructuringParameters.symbols @@ -3,9 +3,9 @@ [{ x: 1 }].map( ->[{ x: 1 }].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>[{ x: 1 }].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowDestructuringParameters.ts, 3, 2)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) ({ x }) => x >x : Symbol(x, Decl(controlFlowDestructuringParameters.ts, 4, 4)) diff --git a/tests/baselines/reference/controlFlowDoWhileStatement.symbols b/tests/baselines/reference/controlFlowDoWhileStatement.symbols index 2a3f3858ec2..27154eb7a77 100644 --- a/tests/baselines/reference/controlFlowDoWhileStatement.symbols +++ b/tests/baselines/reference/controlFlowDoWhileStatement.symbols @@ -80,9 +80,9 @@ function d() { } while (x = x.length) >x : Symbol(x, Decl(controlFlowDoWhileStatement.ts, 28, 7)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowDoWhileStatement.ts, 28, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) x; // number >x : Symbol(x, Decl(controlFlowDoWhileStatement.ts, 28, 7)) @@ -111,8 +111,8 @@ function f() { let x: string | number | boolean | RegExp | Function; >x : Symbol(x, Decl(controlFlowDoWhileStatement.ts, 45, 7)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = ""; >x : Symbol(x, Decl(controlFlowDoWhileStatement.ts, 45, 7)) @@ -148,8 +148,8 @@ function g() { let x: string | number | boolean | RegExp | Function; >x : Symbol(x, Decl(controlFlowDoWhileStatement.ts, 61, 7)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = ""; >x : Symbol(x, Decl(controlFlowDoWhileStatement.ts, 61, 7)) diff --git a/tests/baselines/reference/controlFlowForInStatement.symbols b/tests/baselines/reference/controlFlowForInStatement.symbols index 8d01ff50193..3843f51c46b 100644 --- a/tests/baselines/reference/controlFlowForInStatement.symbols +++ b/tests/baselines/reference/controlFlowForInStatement.symbols @@ -1,8 +1,8 @@ === tests/cases/conformance/controlFlow/controlFlowForInStatement.ts === let x: string | number | boolean | RegExp | Function; >x : Symbol(x, Decl(controlFlowForInStatement.ts, 0, 3)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) let obj: any; >obj : Symbol(obj, Decl(controlFlowForInStatement.ts, 1, 3)) diff --git a/tests/baselines/reference/controlFlowForOfStatement.symbols b/tests/baselines/reference/controlFlowForOfStatement.symbols index 0f1e754be41..2e8795e558f 100644 --- a/tests/baselines/reference/controlFlowForOfStatement.symbols +++ b/tests/baselines/reference/controlFlowForOfStatement.symbols @@ -4,7 +4,7 @@ let obj: number[]; let x: string | number | boolean | RegExp; >x : Symbol(x, Decl(controlFlowForOfStatement.ts, 1, 3)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function a() { >a : Symbol(a, Decl(controlFlowForOfStatement.ts, 1, 42)) @@ -18,9 +18,9 @@ function a() { x = x.toExponential(); >x : Symbol(x, Decl(controlFlowForOfStatement.ts, 1, 3)) ->x.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowForOfStatement.ts, 1, 3)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) } x; // string | boolean >x : Symbol(x, Decl(controlFlowForOfStatement.ts, 1, 3)) diff --git a/tests/baselines/reference/controlFlowForStatement.symbols b/tests/baselines/reference/controlFlowForStatement.symbols index 1918fe0ca33..a07067394aa 100644 --- a/tests/baselines/reference/controlFlowForStatement.symbols +++ b/tests/baselines/reference/controlFlowForStatement.symbols @@ -27,9 +27,9 @@ function b() { >x : Symbol(x, Decl(controlFlowForStatement.ts, 8, 7)) >cond : Symbol(cond, Decl(controlFlowForStatement.ts, 0, 3)) >x : Symbol(x, Decl(controlFlowForStatement.ts, 8, 7)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowForStatement.ts, 8, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) x; // number >x : Symbol(x, Decl(controlFlowForStatement.ts, 8, 7)) @@ -47,9 +47,9 @@ function c() { for (x = 5; x = x.toExponential(); x = 5) { >x : Symbol(x, Decl(controlFlowForStatement.ts, 15, 7)) >x : Symbol(x, Decl(controlFlowForStatement.ts, 15, 7)) ->x.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowForStatement.ts, 15, 7)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowForStatement.ts, 15, 7)) x; // string @@ -76,7 +76,7 @@ function e() { let x: string | number | boolean | RegExp; >x : Symbol(x, Decl(controlFlowForStatement.ts, 27, 7)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) for (x = "" || 0; typeof x !== "string"; x = "" || true) { >x : Symbol(x, Decl(controlFlowForStatement.ts, 27, 7)) diff --git a/tests/baselines/reference/controlFlowIfStatement.symbols b/tests/baselines/reference/controlFlowIfStatement.symbols index e4d2bb9f184..01d62d4d178 100644 --- a/tests/baselines/reference/controlFlowIfStatement.symbols +++ b/tests/baselines/reference/controlFlowIfStatement.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/controlFlow/controlFlowIfStatement.ts === let x: string | number | boolean | RegExp; >x : Symbol(x, Decl(controlFlowIfStatement.ts, 0, 3)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) let cond: boolean; >cond : Symbol(cond, Decl(controlFlowIfStatement.ts, 1, 3)) @@ -82,9 +82,9 @@ function c(data: string | T): T { >data : Symbol(data, Decl(controlFlowIfStatement.ts, 36, 14)) return JSON.parse(data); ->JSON.parse : Symbol(JSON.parse, Decl(lib.d.ts, --, --)) ->JSON : Symbol(JSON, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->parse : Symbol(JSON.parse, Decl(lib.d.ts, --, --)) +>JSON.parse : Symbol(JSON.parse, Decl(lib.es5.d.ts, --, --)) +>JSON : Symbol(JSON, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>parse : Symbol(JSON.parse, Decl(lib.es5.d.ts, --, --)) >data : Symbol(data, Decl(controlFlowIfStatement.ts, 36, 14)) } else { @@ -102,7 +102,7 @@ function d(data: string | T): never { >data : Symbol(data, Decl(controlFlowIfStatement.ts, 44, 29)) throw new Error('will always happen'); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } else { return data; diff --git a/tests/baselines/reference/controlFlowInstanceof.symbols b/tests/baselines/reference/controlFlowInstanceof.symbols index 8ca252c2bef..42e4485b5ee 100644 --- a/tests/baselines/reference/controlFlowInstanceof.symbols +++ b/tests/baselines/reference/controlFlowInstanceof.symbols @@ -4,19 +4,19 @@ function f1(s: Set | Set) { >f1 : Symbol(f1, Decl(controlFlowInstanceof.ts, 0, 0)) >s : Symbol(s, Decl(controlFlowInstanceof.ts, 2, 12)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) s = new Set(); >s : Symbol(s, Decl(controlFlowInstanceof.ts, 2, 12)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) s; // Set >s : Symbol(s, Decl(controlFlowInstanceof.ts, 2, 12)) if (s instanceof Set) { >s : Symbol(s, Decl(controlFlowInstanceof.ts, 2, 12)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) s; // Set >s : Symbol(s, Decl(controlFlowInstanceof.ts, 2, 12)) @@ -25,27 +25,27 @@ function f1(s: Set | Set) { >s : Symbol(s, Decl(controlFlowInstanceof.ts, 2, 12)) s.add(42); ->s.add : Symbol(Set.add, Decl(lib.es6.d.ts, --, --)) +>s.add : Symbol(Set.add, Decl(lib.es2015.collection.d.ts, --, --)) >s : Symbol(s, Decl(controlFlowInstanceof.ts, 2, 12)) ->add : Symbol(Set.add, Decl(lib.es6.d.ts, --, --)) +>add : Symbol(Set.add, Decl(lib.es2015.collection.d.ts, --, --)) } function f2(s: Set | Set) { >f2 : Symbol(f2, Decl(controlFlowInstanceof.ts, 10, 1)) >s : Symbol(s, Decl(controlFlowInstanceof.ts, 12, 12)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) s = new Set(); >s : Symbol(s, Decl(controlFlowInstanceof.ts, 12, 12)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) s; // Set >s : Symbol(s, Decl(controlFlowInstanceof.ts, 12, 12)) if (s instanceof Promise) { >s : Symbol(s, Decl(controlFlowInstanceof.ts, 12, 12)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) s; // Set & Promise >s : Symbol(s, Decl(controlFlowInstanceof.ts, 12, 12)) @@ -54,23 +54,23 @@ function f2(s: Set | Set) { >s : Symbol(s, Decl(controlFlowInstanceof.ts, 12, 12)) s.add(42); ->s.add : Symbol(Set.add, Decl(lib.es6.d.ts, --, --)) +>s.add : Symbol(Set.add, Decl(lib.es2015.collection.d.ts, --, --)) >s : Symbol(s, Decl(controlFlowInstanceof.ts, 12, 12)) ->add : Symbol(Set.add, Decl(lib.es6.d.ts, --, --)) +>add : Symbol(Set.add, Decl(lib.es2015.collection.d.ts, --, --)) } function f3(s: Set | Set) { >f3 : Symbol(f3, Decl(controlFlowInstanceof.ts, 20, 1)) >s : Symbol(s, Decl(controlFlowInstanceof.ts, 22, 12)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) s; // Set | Set >s : Symbol(s, Decl(controlFlowInstanceof.ts, 22, 12)) if (s instanceof Set) { >s : Symbol(s, Decl(controlFlowInstanceof.ts, 22, 12)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) s; // Set | Set >s : Symbol(s, Decl(controlFlowInstanceof.ts, 22, 12)) @@ -84,19 +84,19 @@ function f3(s: Set | Set) { function f4(s: Set | Set) { >f4 : Symbol(f4, Decl(controlFlowInstanceof.ts, 30, 1)) >s : Symbol(s, Decl(controlFlowInstanceof.ts, 32, 12)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) s = new Set(); >s : Symbol(s, Decl(controlFlowInstanceof.ts, 32, 12)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) s; // Set >s : Symbol(s, Decl(controlFlowInstanceof.ts, 32, 12)) if (s instanceof Set) { >s : Symbol(s, Decl(controlFlowInstanceof.ts, 32, 12)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) s; // Set >s : Symbol(s, Decl(controlFlowInstanceof.ts, 32, 12)) diff --git a/tests/baselines/reference/controlFlowIteration.symbols b/tests/baselines/reference/controlFlowIteration.symbols index 1bd53194dcc..265dae3cd24 100644 --- a/tests/baselines/reference/controlFlowIteration.symbols +++ b/tests/baselines/reference/controlFlowIteration.symbols @@ -20,17 +20,17 @@ function ff() { >x : Symbol(x, Decl(controlFlowIteration.ts, 3, 7)) x.length; ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowIteration.ts, 3, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } if (x) { >x : Symbol(x, Decl(controlFlowIteration.ts, 3, 7)) x.length; ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowIteration.ts, 3, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } } diff --git a/tests/baselines/reference/controlFlowIterationErrors.symbols b/tests/baselines/reference/controlFlowIterationErrors.symbols index bcba0cf498c..95fe4837fe4 100644 --- a/tests/baselines/reference/controlFlowIterationErrors.symbols +++ b/tests/baselines/reference/controlFlowIterationErrors.symbols @@ -7,9 +7,9 @@ function len(s: string) { >s : Symbol(s, Decl(controlFlowIterationErrors.ts, 2, 13)) return s.length; ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(controlFlowIterationErrors.ts, 2, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } function f1() { diff --git a/tests/baselines/reference/controlFlowLoopAnalysis.symbols b/tests/baselines/reference/controlFlowLoopAnalysis.symbols index a51918d8923..b053fdc1bef 100644 --- a/tests/baselines/reference/controlFlowLoopAnalysis.symbols +++ b/tests/baselines/reference/controlFlowLoopAnalysis.symbols @@ -93,9 +93,9 @@ function mapUntilCant( for (let index = 0, length = values.length; index < length; index++) { >index : Symbol(index, Decl(controlFlowLoopAnalysis.ts, 38, 12)) >length : Symbol(length, Decl(controlFlowLoopAnalysis.ts, 38, 23)) ->values.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>values.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >values : Symbol(values, Decl(controlFlowLoopAnalysis.ts, 32, 28)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >index : Symbol(index, Decl(controlFlowLoopAnalysis.ts, 38, 12)) >length : Symbol(length, Decl(controlFlowLoopAnalysis.ts, 38, 23)) >index : Symbol(index, Decl(controlFlowLoopAnalysis.ts, 38, 12)) @@ -111,9 +111,9 @@ function mapUntilCant( >index : Symbol(index, Decl(controlFlowLoopAnalysis.ts, 38, 12)) result.push(mapping(value, index)); ->result.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>result.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(controlFlowLoopAnalysis.ts, 37, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >mapping : Symbol(mapping, Decl(controlFlowLoopAnalysis.ts, 34, 50)) >value : Symbol(value, Decl(controlFlowLoopAnalysis.ts, 39, 11)) >index : Symbol(index, Decl(controlFlowLoopAnalysis.ts, 38, 12)) diff --git a/tests/baselines/reference/controlFlowOuterVariable.symbols b/tests/baselines/reference/controlFlowOuterVariable.symbols index 590878752f5..e075ae6e538 100644 --- a/tests/baselines/reference/controlFlowOuterVariable.symbols +++ b/tests/baselines/reference/controlFlowOuterVariable.symbols @@ -27,7 +27,7 @@ const helper = function(t: T[]) { helper(t.slice(1)); >helper : Symbol(helper, Decl(controlFlowOuterVariable.ts, 9, 5)) ->t.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>t.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) >t : Symbol(t, Decl(controlFlowOuterVariable.ts, 9, 27)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/controlFlowPropertyDeclarations.symbols b/tests/baselines/reference/controlFlowPropertyDeclarations.symbols index fdaa61c2e2d..a4b343f9ccb 100644 --- a/tests/baselines/reference/controlFlowPropertyDeclarations.symbols +++ b/tests/baselines/reference/controlFlowPropertyDeclarations.symbols @@ -25,9 +25,9 @@ for (var propname in HTMLDOMPropertyConfig.Properties) { >mapFrom : Symbol(mapFrom, Decl(controlFlowPropertyDeclarations.ts, 13, 5)) >HTMLDOMPropertyConfig : Symbol(HTMLDOMPropertyConfig, Decl(controlFlowPropertyDeclarations.ts, 4, 3)) >propname : Symbol(propname, Decl(controlFlowPropertyDeclarations.ts, 8, 8)) ->propname.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>propname.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >propname : Symbol(propname, Decl(controlFlowPropertyDeclarations.ts, 8, 8)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) } /** @@ -52,7 +52,7 @@ function repeatString(string, times) { } if (times < 0) { throw new Error(); } >times : Symbol(times, Decl(controlFlowPropertyDeclarations.ts, 25, 29)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var repeated = ''; >repeated : Symbol(repeated, Decl(controlFlowPropertyDeclarations.ts, 30, 5)) @@ -149,8 +149,8 @@ function isEmpty(string) { >string : Symbol(string, Decl(controlFlowPropertyDeclarations.ts, 79, 17)) return !/[^\s]/.test(string); ->/[^\s]/.test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) ->test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) +>/[^\s]/.test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) +>test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) >string : Symbol(string, Decl(controlFlowPropertyDeclarations.ts, 79, 17)) } @@ -166,8 +166,8 @@ function isConvertiblePixelValue(value) { >value : Symbol(value, Decl(controlFlowPropertyDeclarations.ts, 90, 33)) return /^\d+px$/.test(value); ->/^\d+px$/.test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) ->test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) +>/^\d+px$/.test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) +>test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(controlFlowPropertyDeclarations.ts, 90, 33)) } @@ -220,30 +220,30 @@ export class HTMLtoJSX { // wrapping newlines and sequences of two or more spaces in variables. text = text >text : Symbol(text, Decl(controlFlowPropertyDeclarations.ts, 113, 7)) ->text .replace(/\r/g, '') .replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->text .replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>text .replace(/\r/g, '') .replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>text .replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(controlFlowPropertyDeclarations.ts, 113, 7)) .replace(/\r/g, '') ->replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) .replace(/( {2,}|\n|\t|\{|\})/g, function(whitespace) { ->replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >whitespace : Symbol(whitespace, Decl(controlFlowPropertyDeclarations.ts, 121, 50)) return '{' + JSON.stringify(whitespace) + '}'; ->JSON.stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->JSON : Symbol(JSON, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>JSON.stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>JSON : Symbol(JSON, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >whitespace : Symbol(whitespace, Decl(controlFlowPropertyDeclarations.ts, 121, 50)) }); } else { // If there's a newline in the text, adjust the indent level if (text.indexOf('\n') > -1) { ->text.indexOf : Symbol(String.indexOf, Decl(lib.d.ts, --, --)) +>text.indexOf : Symbol(String.indexOf, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(controlFlowPropertyDeclarations.ts, 113, 7)) ->indexOf : Symbol(String.indexOf, Decl(lib.d.ts, --, --)) +>indexOf : Symbol(String.indexOf, Decl(lib.es5.d.ts, --, --)) } } this.output += text; @@ -276,11 +276,11 @@ export class StyleParser { >styles : Symbol(StyleParser.styles, Decl(controlFlowPropertyDeclarations.ts, 139, 26)) if (!this.styles.hasOwnProperty(key)) { ->this.styles.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>this.styles.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >this.styles : Symbol(StyleParser.styles, Decl(controlFlowPropertyDeclarations.ts, 139, 26)) >this : Symbol(StyleParser, Decl(controlFlowPropertyDeclarations.ts, 134, 2)) >styles : Symbol(StyleParser.styles, Decl(controlFlowPropertyDeclarations.ts, 139, 26)) ->hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >key : Symbol(key, Decl(controlFlowPropertyDeclarations.ts, 142, 12)) } } diff --git a/tests/baselines/reference/controlFlowSelfReferentialLoop.symbols b/tests/baselines/reference/controlFlowSelfReferentialLoop.symbols index 50420288751..ac857a13f43 100644 --- a/tests/baselines/reference/controlFlowSelfReferentialLoop.symbols +++ b/tests/baselines/reference/controlFlowSelfReferentialLoop.symbols @@ -59,7 +59,7 @@ function md5(string:string): void { var x=Array(); >x : Symbol(x, Decl(controlFlowSelfReferentialLoop.ts, 20, 7)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var k,AA,BB,CC,DD,a,b,c,d; >k : Symbol(k, Decl(controlFlowSelfReferentialLoop.ts, 21, 7)) @@ -108,9 +108,9 @@ function md5(string:string): void { for (k=0;kk : Symbol(k, Decl(controlFlowSelfReferentialLoop.ts, 21, 7)) >k : Symbol(k, Decl(controlFlowSelfReferentialLoop.ts, 21, 7)) ->x.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowSelfReferentialLoop.ts, 20, 7)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >k : Symbol(k, Decl(controlFlowSelfReferentialLoop.ts, 21, 7)) AA=a; BB=b; CC=c; DD=d; diff --git a/tests/baselines/reference/controlFlowStringIndex.symbols b/tests/baselines/reference/controlFlowStringIndex.symbols index 5c7d626d4a7..85eacfd0ede 100644 --- a/tests/baselines/reference/controlFlowStringIndex.symbols +++ b/tests/baselines/reference/controlFlowStringIndex.symbols @@ -17,9 +17,9 @@ if (value.foo !== null) { >value : Symbol(value, Decl(controlFlowStringIndex.ts, 4, 13)) value.foo.toExponential() ->value.foo.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>value.foo.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(controlFlowStringIndex.ts, 4, 13)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) value.other // should still be number | null >value.other : Symbol(other, Decl(controlFlowStringIndex.ts, 0, 10)) diff --git a/tests/baselines/reference/controlFlowWhileStatement.symbols b/tests/baselines/reference/controlFlowWhileStatement.symbols index 3b4def93b45..c44cf211814 100644 --- a/tests/baselines/reference/controlFlowWhileStatement.symbols +++ b/tests/baselines/reference/controlFlowWhileStatement.symbols @@ -75,9 +75,9 @@ function d() { while (x = x.length) { >x : Symbol(x, Decl(controlFlowWhileStatement.ts, 28, 7)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowWhileStatement.ts, 28, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) x; // number >x : Symbol(x, Decl(controlFlowWhileStatement.ts, 28, 7)) @@ -115,8 +115,8 @@ function f() { let x: string | number | boolean | RegExp | Function; >x : Symbol(x, Decl(controlFlowWhileStatement.ts, 46, 7)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = ""; >x : Symbol(x, Decl(controlFlowWhileStatement.ts, 46, 7)) @@ -151,8 +151,8 @@ function g() { let x: string | number | boolean | RegExp | Function; >x : Symbol(x, Decl(controlFlowWhileStatement.ts, 62, 7)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = ""; >x : Symbol(x, Decl(controlFlowWhileStatement.ts, 62, 7)) diff --git a/tests/baselines/reference/controlFlowWithIncompleteTypes.symbols b/tests/baselines/reference/controlFlowWithIncompleteTypes.symbols index 2ad709140cb..07219f78c52 100644 --- a/tests/baselines/reference/controlFlowWithIncompleteTypes.symbols +++ b/tests/baselines/reference/controlFlowWithIncompleteTypes.symbols @@ -18,9 +18,9 @@ function foo1() { x = x.slice(); >x : Symbol(x, Decl(controlFlowWithIncompleteTypes.ts, 5, 7)) ->x.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>x.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowWithIncompleteTypes.ts, 5, 7)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) } else { x = "abc"; @@ -47,9 +47,9 @@ function foo2() { else { x = x.slice(); >x : Symbol(x, Decl(controlFlowWithIncompleteTypes.ts, 17, 7)) ->x.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>x.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(controlFlowWithIncompleteTypes.ts, 17, 7)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) } } } diff --git a/tests/baselines/reference/controlFlowWithTemplateLiterals.symbols b/tests/baselines/reference/controlFlowWithTemplateLiterals.symbols index 978a0e507e0..2b3fbc91c98 100644 --- a/tests/baselines/reference/controlFlowWithTemplateLiterals.symbols +++ b/tests/baselines/reference/controlFlowWithTemplateLiterals.symbols @@ -6,9 +6,9 @@ if (typeof envVar === `string`) { >envVar : Symbol(envVar, Decl(controlFlowWithTemplateLiterals.ts, 0, 13)) envVar.slice(0) ->envVar.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>envVar.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >envVar : Symbol(envVar, Decl(controlFlowWithTemplateLiterals.ts, 0, 13)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) } declare const obj: {test: string} | {} @@ -19,10 +19,10 @@ if (`test` in obj) { >obj : Symbol(obj, Decl(controlFlowWithTemplateLiterals.ts, 5, 13)) obj.test.slice(0) ->obj.test.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>obj.test.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >obj.test : Symbol(test, Decl(controlFlowWithTemplateLiterals.ts, 5, 20)) >obj : Symbol(obj, Decl(controlFlowWithTemplateLiterals.ts, 5, 13)) >test : Symbol(test, Decl(controlFlowWithTemplateLiterals.ts, 5, 20)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/copyrightWithNewLine1.symbols b/tests/baselines/reference/copyrightWithNewLine1.symbols index 7d471ba6480..66efd1b3b72 100644 --- a/tests/baselines/reference/copyrightWithNewLine1.symbols +++ b/tests/baselines/reference/copyrightWithNewLine1.symbols @@ -8,9 +8,9 @@ import model = require("./greeter") var el = document.getElementById('content'); >el : Symbol(el, Decl(copyrightWithNewLine1.ts, 5, 3)) ->document.getElementById : Symbol(Document.getElementById, Decl(lib.d.ts, --, --)) ->document : Symbol(document, Decl(lib.d.ts, --, --)) ->getElementById : Symbol(Document.getElementById, Decl(lib.d.ts, --, --)) +>document.getElementById : Symbol(Document.getElementById, Decl(lib.dom.d.ts, --, --)) +>document : Symbol(document, Decl(lib.dom.d.ts, --, --)) +>getElementById : Symbol(Document.getElementById, Decl(lib.dom.d.ts, --, --)) var greeter = new model.Greeter(el); >greeter : Symbol(greeter, Decl(copyrightWithNewLine1.ts, 6, 3)) diff --git a/tests/baselines/reference/copyrightWithoutNewLine1.symbols b/tests/baselines/reference/copyrightWithoutNewLine1.symbols index cfed1133753..4d06c288b54 100644 --- a/tests/baselines/reference/copyrightWithoutNewLine1.symbols +++ b/tests/baselines/reference/copyrightWithoutNewLine1.symbols @@ -7,9 +7,9 @@ import model = require("./greeter") var el = document.getElementById('content'); >el : Symbol(el, Decl(copyrightWithoutNewLine1.ts, 4, 3)) ->document.getElementById : Symbol(Document.getElementById, Decl(lib.d.ts, --, --)) ->document : Symbol(document, Decl(lib.d.ts, --, --)) ->getElementById : Symbol(Document.getElementById, Decl(lib.d.ts, --, --)) +>document.getElementById : Symbol(Document.getElementById, Decl(lib.dom.d.ts, --, --)) +>document : Symbol(document, Decl(lib.dom.d.ts, --, --)) +>getElementById : Symbol(Document.getElementById, Decl(lib.dom.d.ts, --, --)) var greeter = new model.Greeter(el); >greeter : Symbol(greeter, Decl(copyrightWithoutNewLine1.ts, 5, 3)) diff --git a/tests/baselines/reference/correctOrderOfPromiseMethod.symbols b/tests/baselines/reference/correctOrderOfPromiseMethod.symbols index 05e6c0e3cbb..290b482e5c7 100644 --- a/tests/baselines/reference/correctOrderOfPromiseMethod.symbols +++ b/tests/baselines/reference/correctOrderOfPromiseMethod.symbols @@ -18,23 +18,23 @@ interface B { async function countEverything(): Promise { >countEverything : Symbol(countEverything, Decl(correctOrderOfPromiseMethod.ts, 7, 1)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) const providerA = async (): Promise => { return [] } >providerA : Symbol(providerA, Decl(correctOrderOfPromiseMethod.ts, 10, 9)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >A : Symbol(A, Decl(correctOrderOfPromiseMethod.ts, 0, 0)) const providerB = async (): Promise => { return [] } >providerB : Symbol(providerB, Decl(correctOrderOfPromiseMethod.ts, 11, 9)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >B : Symbol(B, Decl(correctOrderOfPromiseMethod.ts, 2, 1)) const [resultA, resultB] = await Promise.all([ >resultA : Symbol(resultA, Decl(correctOrderOfPromiseMethod.ts, 13, 11)) >resultB : Symbol(resultB, Decl(correctOrderOfPromiseMethod.ts, 13, 19)) >Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --) ... and 6 more) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --) ... and 6 more) providerA(), diff --git a/tests/baselines/reference/covariantCallbacks.symbols b/tests/baselines/reference/covariantCallbacks.symbols index d29948e1719..931be044bcf 100644 --- a/tests/baselines/reference/covariantCallbacks.symbols +++ b/tests/baselines/reference/covariantCallbacks.symbols @@ -43,10 +43,10 @@ function f1(a: P, b: P) { function f2(a: Promise, b: Promise) { >f2 : Symbol(f2, Decl(covariantCallbacks.ts, 12, 1)) >a : Symbol(a, Decl(covariantCallbacks.ts, 14, 12)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >A : Symbol(A, Decl(covariantCallbacks.ts, 4, 2)) >b : Symbol(b, Decl(covariantCallbacks.ts, 14, 26)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >B : Symbol(B, Decl(covariantCallbacks.ts, 6, 25)) a = b; diff --git a/tests/baselines/reference/customEventDetail.symbols b/tests/baselines/reference/customEventDetail.symbols index 4c543d6eb0e..1829a95a9cd 100644 --- a/tests/baselines/reference/customEventDetail.symbols +++ b/tests/baselines/reference/customEventDetail.symbols @@ -1,19 +1,19 @@ === tests/cases/compiler/customEventDetail.ts === var x: CustomEvent; >x : Symbol(x, Decl(customEventDetail.ts, 0, 3)) ->CustomEvent : Symbol(CustomEvent, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>CustomEvent : Symbol(CustomEvent, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) // valid since detail is any x.initCustomEvent('hello', true, true, { id: 12, name: 'hello' }); ->x.initCustomEvent : Symbol(CustomEvent.initCustomEvent, Decl(lib.d.ts, --, --)) +>x.initCustomEvent : Symbol(CustomEvent.initCustomEvent, Decl(lib.dom.d.ts, --, --)) >x : Symbol(x, Decl(customEventDetail.ts, 0, 3)) ->initCustomEvent : Symbol(CustomEvent.initCustomEvent, Decl(lib.d.ts, --, --)) +>initCustomEvent : Symbol(CustomEvent.initCustomEvent, Decl(lib.dom.d.ts, --, --)) >id : Symbol(id, Decl(customEventDetail.ts, 3, 40)) >name : Symbol(name, Decl(customEventDetail.ts, 3, 48)) var y = x.detail.name; >y : Symbol(y, Decl(customEventDetail.ts, 4, 3)) ->x.detail : Symbol(CustomEvent.detail, Decl(lib.d.ts, --, --)) +>x.detail : Symbol(CustomEvent.detail, Decl(lib.dom.d.ts, --, --)) >x : Symbol(x, Decl(customEventDetail.ts, 0, 3)) ->detail : Symbol(CustomEvent.detail, Decl(lib.d.ts, --, --)) +>detail : Symbol(CustomEvent.detail, Decl(lib.dom.d.ts, --, --)) diff --git a/tests/baselines/reference/declFileConstructors.symbols b/tests/baselines/reference/declFileConstructors.symbols index 2d7d1cd4a6a..174241e058d 100644 --- a/tests/baselines/reference/declFileConstructors.symbols +++ b/tests/baselines/reference/declFileConstructors.symbols @@ -32,9 +32,9 @@ export class ConstructorWithRestParamters { return a + rests.join(""); >a : Symbol(a, Decl(declFileConstructors_0.ts, 15, 16)) ->rests.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>rests.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >rests : Symbol(rests, Decl(declFileConstructors_0.ts, 15, 26)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } } @@ -118,9 +118,9 @@ class GlobalConstructorWithRestParamters { return a + rests.join(""); >a : Symbol(a, Decl(declFileConstructors_1.ts, 15, 16)) ->rests.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>rests.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >rests : Symbol(rests, Decl(declFileConstructors_1.ts, 15, 26)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/declFileEnums.symbols b/tests/baselines/reference/declFileEnums.symbols index 4b1721d7a57..e6ca5a2fc90 100644 --- a/tests/baselines/reference/declFileEnums.symbols +++ b/tests/baselines/reference/declFileEnums.symbols @@ -34,9 +34,9 @@ enum e3 { b = Math.PI, >b : Symbol(e3.b, Decl(declFileEnums.ts, 13, 11)) ->Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) +>Math.PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) c = a + 3 >c : Symbol(e3.c, Decl(declFileEnums.ts, 14, 16)) diff --git a/tests/baselines/reference/declFileFunctions.symbols b/tests/baselines/reference/declFileFunctions.symbols index 6ec16c3399e..efd45ef7a03 100644 --- a/tests/baselines/reference/declFileFunctions.symbols +++ b/tests/baselines/reference/declFileFunctions.symbols @@ -23,9 +23,9 @@ export function fooWithRestParameters(a: string, ...rests: string[]) { return a + rests.join(""); >a : Symbol(a, Decl(declFileFunctions_0.ts, 9, 38)) ->rests.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>rests.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >rests : Symbol(rests, Decl(declFileFunctions_0.ts, 9, 48)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } export function fooWithOverloads(a: string): string; @@ -114,9 +114,9 @@ function nonExportedFooWithRestParameters(a: string, ...rests: string[]) { return a + rests.join(""); >a : Symbol(a, Decl(declFileFunctions_0.ts, 46, 42)) ->rests.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>rests.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >rests : Symbol(rests, Decl(declFileFunctions_0.ts, 46, 52)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } function nonExportedFooWithOverloads(a: string): string; @@ -160,9 +160,9 @@ function globalfooWithRestParameters(a: string, ...rests: string[]) { return a + rests.join(""); >a : Symbol(a, Decl(declFileFunctions_1.ts, 9, 37)) ->rests.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>rests.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >rests : Symbol(rests, Decl(declFileFunctions_1.ts, 9, 47)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } function globalfooWithOverloads(a: string): string; >globalfooWithOverloads : Symbol(globalfooWithOverloads, Decl(declFileFunctions_1.ts, 11, 1), Decl(declFileFunctions_1.ts, 12, 51), Decl(declFileFunctions_1.ts, 13, 51)) diff --git a/tests/baselines/reference/declFileGenericType.symbols b/tests/baselines/reference/declFileGenericType.symbols index 608c1e20145..4e5f3ba8d62 100644 --- a/tests/baselines/reference/declFileGenericType.symbols +++ b/tests/baselines/reference/declFileGenericType.symbols @@ -44,7 +44,7 @@ export module C { >B : Symbol(B, Decl(declFileGenericType.ts, 1, 24)) >x : Symbol(x, Decl(declFileGenericType.ts, 7, 39)) >T : Symbol(T, Decl(declFileGenericType.ts, 7, 23)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >C : Symbol(C, Decl(declFileGenericType.ts, 0, 0)) >A : Symbol(A, Decl(declFileGenericType.ts, 0, 17)) >C : Symbol(C, Decl(declFileGenericType.ts, 0, 0)) diff --git a/tests/baselines/reference/declFileMethods.symbols b/tests/baselines/reference/declFileMethods.symbols index 4acf63eff08..e58c162450e 100644 --- a/tests/baselines/reference/declFileMethods.symbols +++ b/tests/baselines/reference/declFileMethods.symbols @@ -26,9 +26,9 @@ export class c1 { return a + rests.join(""); >a : Symbol(a, Decl(declFileMethods_0.ts, 10, 33)) ->rests.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>rests.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >rests : Symbol(rests, Decl(declFileMethods_0.ts, 10, 43)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } public fooWithOverloads(a: string): string; @@ -72,9 +72,9 @@ export class c1 { return a + rests.join(""); >a : Symbol(a, Decl(declFileMethods_0.ts, 30, 41)) ->rests.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>rests.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >rests : Symbol(rests, Decl(declFileMethods_0.ts, 30, 51)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } private privateFooWithOverloads(a: string): string; >privateFooWithOverloads : Symbol(c1.privateFooWithOverloads, Decl(declFileMethods_0.ts, 32, 5), Decl(declFileMethods_0.ts, 33, 55), Decl(declFileMethods_0.ts, 34, 55)) @@ -117,9 +117,9 @@ export class c1 { return a + rests.join(""); >a : Symbol(a, Decl(declFileMethods_0.ts, 49, 39)) ->rests.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>rests.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >rests : Symbol(rests, Decl(declFileMethods_0.ts, 49, 49)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } static staticFooWithOverloads(a: string): string; >staticFooWithOverloads : Symbol(c1.staticFooWithOverloads, Decl(declFileMethods_0.ts, 51, 5), Decl(declFileMethods_0.ts, 52, 53), Decl(declFileMethods_0.ts, 53, 53)) @@ -162,9 +162,9 @@ export class c1 { return a + rests.join(""); >a : Symbol(a, Decl(declFileMethods_0.ts, 68, 54)) ->rests.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>rests.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >rests : Symbol(rests, Decl(declFileMethods_0.ts, 68, 64)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } private static privateStaticFooWithOverloads(a: string): string; >privateStaticFooWithOverloads : Symbol(c1.privateStaticFooWithOverloads, Decl(declFileMethods_0.ts, 70, 5), Decl(declFileMethods_0.ts, 71, 68), Decl(declFileMethods_0.ts, 72, 68)) @@ -241,9 +241,9 @@ class c2 { return a + rests.join(""); >a : Symbol(a, Decl(declFileMethods_1.ts, 10, 33)) ->rests.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>rests.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >rests : Symbol(rests, Decl(declFileMethods_1.ts, 10, 43)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } public fooWithOverloads(a: string): string; @@ -287,9 +287,9 @@ class c2 { return a + rests.join(""); >a : Symbol(a, Decl(declFileMethods_1.ts, 30, 41)) ->rests.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>rests.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >rests : Symbol(rests, Decl(declFileMethods_1.ts, 30, 51)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } private privateFooWithOverloads(a: string): string; >privateFooWithOverloads : Symbol(c2.privateFooWithOverloads, Decl(declFileMethods_1.ts, 32, 5), Decl(declFileMethods_1.ts, 33, 55), Decl(declFileMethods_1.ts, 34, 55)) @@ -332,9 +332,9 @@ class c2 { return a + rests.join(""); >a : Symbol(a, Decl(declFileMethods_1.ts, 49, 39)) ->rests.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>rests.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >rests : Symbol(rests, Decl(declFileMethods_1.ts, 49, 49)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } static staticFooWithOverloads(a: string): string; >staticFooWithOverloads : Symbol(c2.staticFooWithOverloads, Decl(declFileMethods_1.ts, 51, 5), Decl(declFileMethods_1.ts, 52, 53), Decl(declFileMethods_1.ts, 53, 53)) @@ -377,9 +377,9 @@ class c2 { return a + rests.join(""); >a : Symbol(a, Decl(declFileMethods_1.ts, 68, 54)) ->rests.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>rests.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >rests : Symbol(rests, Decl(declFileMethods_1.ts, 68, 64)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } private static privateStaticFooWithOverloads(a: string): string; >privateStaticFooWithOverloads : Symbol(c2.privateStaticFooWithOverloads, Decl(declFileMethods_1.ts, 70, 5), Decl(declFileMethods_1.ts, 71, 68), Decl(declFileMethods_1.ts, 72, 68)) diff --git a/tests/baselines/reference/declFilePrivateMethodOverloads.symbols b/tests/baselines/reference/declFilePrivateMethodOverloads.symbols index 5febff1b31a..4e2420d6a70 100644 --- a/tests/baselines/reference/declFilePrivateMethodOverloads.symbols +++ b/tests/baselines/reference/declFilePrivateMethodOverloads.symbols @@ -19,7 +19,7 @@ class c1 { private _forEachBindingContext(bindingContextArray: Array, fn: (bindingContext: IContext) => void); >_forEachBindingContext : Symbol(c1._forEachBindingContext, Decl(declFilePrivateMethodOverloads.ts, 3, 10), Decl(declFilePrivateMethodOverloads.ts, 4, 101), Decl(declFilePrivateMethodOverloads.ts, 5, 113)) >bindingContextArray : Symbol(bindingContextArray, Decl(declFilePrivateMethodOverloads.ts, 5, 35)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >IContext : Symbol(IContext, Decl(declFilePrivateMethodOverloads.ts, 0, 0)) >fn : Symbol(fn, Decl(declFilePrivateMethodOverloads.ts, 5, 72)) >bindingContext : Symbol(bindingContext, Decl(declFilePrivateMethodOverloads.ts, 5, 78)) @@ -43,7 +43,7 @@ class c1 { private overloadWithArityDifference(bindingContextArray: Array, fn: (bindingContext: IContext) => void); >overloadWithArityDifference : Symbol(c1.overloadWithArityDifference, Decl(declFilePrivateMethodOverloads.ts, 8, 5), Decl(declFilePrivateMethodOverloads.ts, 10, 66), Decl(declFilePrivateMethodOverloads.ts, 11, 118)) >bindingContextArray : Symbol(bindingContextArray, Decl(declFilePrivateMethodOverloads.ts, 11, 40)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >IContext : Symbol(IContext, Decl(declFilePrivateMethodOverloads.ts, 0, 0)) >fn : Symbol(fn, Decl(declFilePrivateMethodOverloads.ts, 11, 77)) >bindingContext : Symbol(bindingContext, Decl(declFilePrivateMethodOverloads.ts, 11, 83)) diff --git a/tests/baselines/reference/declFileTypeAnnotationStringLiteral.symbols b/tests/baselines/reference/declFileTypeAnnotationStringLiteral.symbols index d2e6afe63e8..c1e9aac1a36 100644 --- a/tests/baselines/reference/declFileTypeAnnotationStringLiteral.symbols +++ b/tests/baselines/reference/declFileTypeAnnotationStringLiteral.symbols @@ -19,9 +19,9 @@ function foo(a: string): string | number { >a : Symbol(a, Decl(declFileTypeAnnotationStringLiteral.ts, 3, 13)) return a.length; ->a.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>a.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(declFileTypeAnnotationStringLiteral.ts, 3, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } return a; diff --git a/tests/baselines/reference/declFileTypeAnnotationTypeAlias.symbols b/tests/baselines/reference/declFileTypeAnnotationTypeAlias.symbols index 1dc33ab3325..88ec0a5df0b 100644 --- a/tests/baselines/reference/declFileTypeAnnotationTypeAlias.symbols +++ b/tests/baselines/reference/declFileTypeAnnotationTypeAlias.symbols @@ -36,7 +36,7 @@ module M { } interface Window { ->Window : Symbol(Window, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(declFileTypeAnnotationTypeAlias.ts, 17, 1)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(declFileTypeAnnotationTypeAlias.ts, 17, 1)) someMethod(); >someMethod : Symbol(Window.someMethod, Decl(declFileTypeAnnotationTypeAlias.ts, 19, 18)) @@ -47,7 +47,7 @@ module M { export type W = Window | string; >W : Symbol(W, Decl(declFileTypeAnnotationTypeAlias.ts, 23, 10)) ->Window : Symbol(Window, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(declFileTypeAnnotationTypeAlias.ts, 17, 1)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(declFileTypeAnnotationTypeAlias.ts, 17, 1)) export module N { >N : Symbol(N, Decl(declFileTypeAnnotationTypeAlias.ts, 24, 36)) diff --git a/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeAlias.symbols b/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeAlias.symbols index 75c71d0e7c3..5219fd37b31 100644 --- a/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeAlias.symbols +++ b/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeAlias.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/declFileTypeAnnotationVisibilityErrorTypeAlias.ts === interface Window { ->Window : Symbol(Window, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(declFileTypeAnnotationVisibilityErrorTypeAlias.ts, 0, 0)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(declFileTypeAnnotationVisibilityErrorTypeAlias.ts, 0, 0)) someMethod(); >someMethod : Symbol(Window.someMethod, Decl(declFileTypeAnnotationVisibilityErrorTypeAlias.ts, 0, 18)) @@ -11,7 +11,7 @@ module M { type W = Window | string; >W : Symbol(W, Decl(declFileTypeAnnotationVisibilityErrorTypeAlias.ts, 4, 10)) ->Window : Symbol(Window, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(declFileTypeAnnotationVisibilityErrorTypeAlias.ts, 0, 0)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(declFileTypeAnnotationVisibilityErrorTypeAlias.ts, 0, 0)) export module N { >N : Symbol(N, Decl(declFileTypeAnnotationVisibilityErrorTypeAlias.ts, 5, 29)) @@ -30,7 +30,7 @@ module M1 { export type W = Window | string; >W : Symbol(W, Decl(declFileTypeAnnotationVisibilityErrorTypeAlias.ts, 12, 11)) ->Window : Symbol(Window, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(declFileTypeAnnotationVisibilityErrorTypeAlias.ts, 0, 0)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(declFileTypeAnnotationVisibilityErrorTypeAlias.ts, 0, 0)) export module N { >N : Symbol(N, Decl(declFileTypeAnnotationVisibilityErrorTypeAlias.ts, 13, 36)) diff --git a/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.symbols b/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.symbols index 33c9d38355a..9bdfbdd3dbb 100644 --- a/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.symbols +++ b/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/declarationEmitArrayTypesFromGenericArrayUsage.ts === interface A extends Array { } >A : Symbol(A, Decl(declarationEmitArrayTypesFromGenericArrayUsage.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/declarationEmitFBoundedTypeParams.symbols b/tests/baselines/reference/declarationEmitFBoundedTypeParams.symbols index b90516af3b1..22fb8d4c339 100644 --- a/tests/baselines/reference/declarationEmitFBoundedTypeParams.symbols +++ b/tests/baselines/reference/declarationEmitFBoundedTypeParams.symbols @@ -13,9 +13,9 @@ function append(result: a[], value: b): a[] { >a : Symbol(a, Decl(declarationEmitFBoundedTypeParams.ts, 2, 16)) result.push(value); ->result.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>result.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(declarationEmitFBoundedTypeParams.ts, 2, 32)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(declarationEmitFBoundedTypeParams.ts, 2, 44)) return result; diff --git a/tests/baselines/reference/declarationEmitPrivateNameCausesError.symbols b/tests/baselines/reference/declarationEmitPrivateNameCausesError.symbols index 1edf01eb289..8a0c4c24408 100644 --- a/tests/baselines/reference/declarationEmitPrivateNameCausesError.symbols +++ b/tests/baselines/reference/declarationEmitPrivateNameCausesError.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/file.ts === const IGNORE_EXTRA_VARIABLES = Symbol(); //Notice how this is unexported >IGNORE_EXTRA_VARIABLES : Symbol(IGNORE_EXTRA_VARIABLES, Decl(file.ts, 0, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) //This is exported export function ignoreExtraVariables (ctor : CtorT) { diff --git a/tests/baselines/reference/declarationEmitPrivateSymbolCausesVarDeclarationEmit2.symbols b/tests/baselines/reference/declarationEmitPrivateSymbolCausesVarDeclarationEmit2.symbols index 0e3a888112a..84b3c2ad782 100644 --- a/tests/baselines/reference/declarationEmitPrivateSymbolCausesVarDeclarationEmit2.symbols +++ b/tests/baselines/reference/declarationEmitPrivateSymbolCausesVarDeclarationEmit2.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/a.ts === export const x = Symbol(); >x : Symbol(x, Decl(a.ts, 0, 12)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) === tests/cases/compiler/b.ts === import { x } from "./a"; diff --git a/tests/baselines/reference/declarationEmitPrivateSymbolCausesVarDeclarationToBeEmitted.symbols b/tests/baselines/reference/declarationEmitPrivateSymbolCausesVarDeclarationToBeEmitted.symbols index 1b9c3e09c90..e9375e896e0 100644 --- a/tests/baselines/reference/declarationEmitPrivateSymbolCausesVarDeclarationToBeEmitted.symbols +++ b/tests/baselines/reference/declarationEmitPrivateSymbolCausesVarDeclarationToBeEmitted.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/declarationEmitPrivateSymbolCausesVarDeclarationToBeEmitted.ts === const _data = Symbol('data'); >_data : Symbol(_data, Decl(declarationEmitPrivateSymbolCausesVarDeclarationToBeEmitted.ts, 0, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) export class User { >User : Symbol(User, Decl(declarationEmitPrivateSymbolCausesVarDeclarationToBeEmitted.ts, 0, 29)) diff --git a/tests/baselines/reference/declarationEmitPromise.symbols b/tests/baselines/reference/declarationEmitPromise.symbols index 71a31bea469..12d9adbebf4 100644 --- a/tests/baselines/reference/declarationEmitPromise.symbols +++ b/tests/baselines/reference/declarationEmitPromise.symbols @@ -5,7 +5,7 @@ export class bluebird { static all: Array>; >all : Symbol(bluebird.all, Decl(declarationEmitPromise.ts, 0, 26)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >bluebird : Symbol(bluebird, Decl(declarationEmitPromise.ts, 0, 0)) } @@ -39,13 +39,13 @@ export async function runSampleWorks( >bluebird.all : Symbol(bluebird.all, Decl(declarationEmitPromise.ts, 0, 26)) >bluebird : Symbol(bluebird, Decl(declarationEmitPromise.ts, 0, 0)) >all : Symbol(bluebird.all, Decl(declarationEmitPromise.ts, 0, 26)) ->[a, b, c, d, e].filter : Symbol(Array.filter, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>[a, b, c, d, e].filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(declarationEmitPromise.ts, 4, 52)) >b : Symbol(b, Decl(declarationEmitPromise.ts, 5, 19)) >c : Symbol(c, Decl(declarationEmitPromise.ts, 5, 36)) >d : Symbol(d, Decl(declarationEmitPromise.ts, 5, 53)) >e : Symbol(e, Decl(declarationEmitPromise.ts, 5, 70)) ->filter : Symbol(Array.filter, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >el : Symbol(el, Decl(declarationEmitPromise.ts, 6, 68)) >el : Symbol(el, Decl(declarationEmitPromise.ts, 6, 68)) @@ -67,9 +67,9 @@ export async function runSampleWorks( >T : Symbol(T, Decl(declarationEmitPromise.ts, 7, 16)) f.apply(this, result); ->f.apply : Symbol(Function.apply, Decl(lib.es6.d.ts, --, --)) +>f.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(declarationEmitPromise.ts, 7, 19)) ->apply : Symbol(Function.apply, Decl(lib.es6.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(declarationEmitPromise.ts, 6, 7)) let rfunc: typeof func & {} = func as any; // <- This is the only difference @@ -111,13 +111,13 @@ export async function runSampleBreaks( >bluebird.all : Symbol(bluebird.all, Decl(declarationEmitPromise.ts, 0, 26)) >bluebird : Symbol(bluebird, Decl(declarationEmitPromise.ts, 0, 0)) >all : Symbol(bluebird.all, Decl(declarationEmitPromise.ts, 0, 26)) ->[a, b, c, d, e].filter : Symbol(Array.filter, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>[a, b, c, d, e].filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(declarationEmitPromise.ts, 13, 53)) >b : Symbol(b, Decl(declarationEmitPromise.ts, 14, 19)) >c : Symbol(c, Decl(declarationEmitPromise.ts, 14, 36)) >d : Symbol(d, Decl(declarationEmitPromise.ts, 14, 53)) >e : Symbol(e, Decl(declarationEmitPromise.ts, 14, 70)) ->filter : Symbol(Array.filter, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >el : Symbol(el, Decl(declarationEmitPromise.ts, 15, 68)) >el : Symbol(el, Decl(declarationEmitPromise.ts, 15, 68)) @@ -139,9 +139,9 @@ export async function runSampleBreaks( >T : Symbol(T, Decl(declarationEmitPromise.ts, 16, 16)) f.apply(this, result); ->f.apply : Symbol(Function.apply, Decl(lib.es6.d.ts, --, --)) +>f.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(declarationEmitPromise.ts, 16, 19)) ->apply : Symbol(Function.apply, Decl(lib.es6.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(declarationEmitPromise.ts, 15, 7)) let rfunc: typeof func = func as any; // <- This is the only difference diff --git a/tests/baselines/reference/declarationFiles.symbols b/tests/baselines/reference/declarationFiles.symbols index d8623676e49..24640b2ae44 100644 --- a/tests/baselines/reference/declarationFiles.symbols +++ b/tests/baselines/reference/declarationFiles.symbols @@ -44,11 +44,11 @@ class C3 { c: this | Date; >c : Symbol(C3.c, Decl(declarationFiles.ts, 17, 20)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) d: this & Date; >d : Symbol(C3.d, Decl(declarationFiles.ts, 18, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) e: (((this))); >e : Symbol(C3.e, Decl(declarationFiles.ts, 19, 19)) diff --git a/tests/baselines/reference/declarationFilesWithTypeReferences1.symbols b/tests/baselines/reference/declarationFilesWithTypeReferences1.symbols index 58f8534b492..a62c316e2e7 100644 --- a/tests/baselines/reference/declarationFilesWithTypeReferences1.symbols +++ b/tests/baselines/reference/declarationFilesWithTypeReferences1.symbols @@ -1,6 +1,6 @@ === /node_modules/@types/node/index.d.ts === interface Error { ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(index.d.ts, 0, 0)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(index.d.ts, 0, 0)) stack2: string; >stack2 : Symbol(Error.stack2, Decl(index.d.ts, 0, 17)) @@ -9,7 +9,7 @@ interface Error { === /app.ts === function foo(): Error { >foo : Symbol(foo, Decl(app.ts, 0, 0)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(index.d.ts, 0, 0)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(index.d.ts, 0, 0)) return undefined; >undefined : Symbol(undefined) diff --git a/tests/baselines/reference/declarationFilesWithTypeReferences4.symbols b/tests/baselines/reference/declarationFilesWithTypeReferences4.symbols index f05bd814fc7..3d342b4ee25 100644 --- a/tests/baselines/reference/declarationFilesWithTypeReferences4.symbols +++ b/tests/baselines/reference/declarationFilesWithTypeReferences4.symbols @@ -1,6 +1,6 @@ === /a/node_modules/@types/node/index.d.ts === interface Error { ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(index.d.ts, 0, 0)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(index.d.ts, 0, 0)) stack2: string; >stack2 : Symbol(Error.stack2, Decl(index.d.ts, 0, 17)) @@ -10,7 +10,7 @@ interface Error { /// function foo(): Error { >foo : Symbol(foo, Decl(app.ts, 0, 0)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(index.d.ts, 0, 0)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(index.d.ts, 0, 0)) return undefined; >undefined : Symbol(undefined) diff --git a/tests/baselines/reference/declarationNoDanglingGenerics.symbols b/tests/baselines/reference/declarationNoDanglingGenerics.symbols index 512bf95d4bb..4cc6949542d 100644 --- a/tests/baselines/reference/declarationNoDanglingGenerics.symbols +++ b/tests/baselines/reference/declarationNoDanglingGenerics.symbols @@ -12,7 +12,7 @@ function register(kind: string): void | never { >kind : Symbol(kind, Decl(declarationNoDanglingGenerics.ts, 2, 18)) throw new Error(`Class with kind "${kind}" is already registered.`); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >kind : Symbol(kind, Decl(declarationNoDanglingGenerics.ts, 2, 18)) } kindCache[kind] = true; diff --git a/tests/baselines/reference/declareExternalModuleWithExportAssignedFundule.symbols b/tests/baselines/reference/declareExternalModuleWithExportAssignedFundule.symbols index 5aeb48b32a7..20e24115ebf 100644 --- a/tests/baselines/reference/declareExternalModuleWithExportAssignedFundule.symbols +++ b/tests/baselines/reference/declareExternalModuleWithExportAssignedFundule.symbols @@ -24,10 +24,10 @@ declare module "express" { post(path: RegExp, handler: (req: Function) => void ): void; >post : Symbol(ExpressServer.post, Decl(declareExternalModuleWithExportAssignedFundule.ts, 10, 48)) >path : Symbol(path, Decl(declareExternalModuleWithExportAssignedFundule.ts, 12, 17)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >handler : Symbol(handler, Decl(declareExternalModuleWithExportAssignedFundule.ts, 12, 30)) >req : Symbol(req, Decl(declareExternalModuleWithExportAssignedFundule.ts, 12, 41)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.symbols b/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.symbols index 829635323dd..3e7ec568927 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.symbols +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/moduleExportsAmd/a.ts === var decorator: ClassDecorator; >decorator : Symbol(decorator, Decl(a.ts, 0, 3)) ->ClassDecorator : Symbol(ClassDecorator, Decl(lib.es6.d.ts, --, --)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.es5.d.ts, --, --)) @decorator >decorator : Symbol(decorator, Decl(a.ts, 0, 3)) @@ -12,7 +12,7 @@ export default class Foo {} === tests/cases/conformance/es6/moduleExportsAmd/b.ts === var decorator: ClassDecorator; >decorator : Symbol(decorator, Decl(b.ts, 0, 3)) ->ClassDecorator : Symbol(ClassDecorator, Decl(lib.es6.d.ts, --, --)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.es5.d.ts, --, --)) @decorator >decorator : Symbol(decorator, Decl(b.ts, 0, 3)) diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.symbols b/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.symbols index a65cf169cbc..383d7d2c0d2 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.symbols +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/moduleExportsCommonjs/a.ts === var decorator: ClassDecorator; >decorator : Symbol(decorator, Decl(a.ts, 0, 3)) ->ClassDecorator : Symbol(ClassDecorator, Decl(lib.es6.d.ts, --, --)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.es5.d.ts, --, --)) @decorator >decorator : Symbol(decorator, Decl(a.ts, 0, 3)) @@ -12,7 +12,7 @@ export default class Foo {} === tests/cases/conformance/es6/moduleExportsCommonjs/b.ts === var decorator: ClassDecorator; >decorator : Symbol(decorator, Decl(b.ts, 0, 3)) ->ClassDecorator : Symbol(ClassDecorator, Decl(lib.es6.d.ts, --, --)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.es5.d.ts, --, --)) @decorator >decorator : Symbol(decorator, Decl(b.ts, 0, 3)) diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.symbols b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.symbols index 7358191e399..73898da76c4 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.symbols +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/moduleExportsSystem/a.ts === var decorator: ClassDecorator; >decorator : Symbol(decorator, Decl(a.ts, 0, 3)) ->ClassDecorator : Symbol(ClassDecorator, Decl(lib.es6.d.ts, --, --)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.es5.d.ts, --, --)) @decorator >decorator : Symbol(decorator, Decl(a.ts, 0, 3)) @@ -12,7 +12,7 @@ export default class Foo {} === tests/cases/conformance/es6/moduleExportsSystem/b.ts === var decorator: ClassDecorator; >decorator : Symbol(decorator, Decl(b.ts, 0, 3)) ->ClassDecorator : Symbol(ClassDecorator, Decl(lib.es6.d.ts, --, --)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.es5.d.ts, --, --)) @decorator >decorator : Symbol(decorator, Decl(b.ts, 0, 3)) diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.symbols b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.symbols index 1bc810409af..f93e5411306 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.symbols +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/moduleExportsUmd/a.ts === var decorator: ClassDecorator; >decorator : Symbol(decorator, Decl(a.ts, 0, 3)) ->ClassDecorator : Symbol(ClassDecorator, Decl(lib.es6.d.ts, --, --)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.es5.d.ts, --, --)) @decorator >decorator : Symbol(decorator, Decl(a.ts, 0, 3)) @@ -12,7 +12,7 @@ export default class Foo {} === tests/cases/conformance/es6/moduleExportsUmd/b.ts === var decorator: ClassDecorator; >decorator : Symbol(decorator, Decl(b.ts, 0, 3)) ->ClassDecorator : Symbol(ClassDecorator, Decl(lib.es6.d.ts, --, --)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.es5.d.ts, --, --)) @decorator >decorator : Symbol(decorator, Decl(b.ts, 0, 3)) diff --git a/tests/baselines/reference/decoratorMetadataOnInferredType.symbols b/tests/baselines/reference/decoratorMetadataOnInferredType.symbols index 3230c270f2b..624b7e0d260 100644 --- a/tests/baselines/reference/decoratorMetadataOnInferredType.symbols +++ b/tests/baselines/reference/decoratorMetadataOnInferredType.symbols @@ -20,7 +20,7 @@ class A { function decorator(target: Object, propertyKey: string) { >decorator : Symbol(decorator, Decl(decoratorMetadataOnInferredType.ts, 6, 1)) >target : Symbol(target, Decl(decoratorMetadataOnInferredType.ts, 8, 19)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >propertyKey : Symbol(propertyKey, Decl(decoratorMetadataOnInferredType.ts, 8, 34)) } diff --git a/tests/baselines/reference/decoratorMetadataPromise.symbols b/tests/baselines/reference/decoratorMetadataPromise.symbols index a40c240b38b..f9a161f9148 100644 --- a/tests/baselines/reference/decoratorMetadataPromise.symbols +++ b/tests/baselines/reference/decoratorMetadataPromise.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/decoratorMetadataPromise.ts === declare const decorator: MethodDecorator; >decorator : Symbol(decorator, Decl(decoratorMetadataPromise.ts, 0, 13)) ->MethodDecorator : Symbol(MethodDecorator, Decl(lib.es6.d.ts, --, --)) +>MethodDecorator : Symbol(MethodDecorator, Decl(lib.es5.d.ts, --, --)) class A { >A : Symbol(A, Decl(decoratorMetadataPromise.ts, 0, 41)) @@ -17,7 +17,7 @@ class A { async bar(): Promise { return 0; } >bar : Symbol(A.bar, Decl(decoratorMetadataPromise.ts, 4, 18)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @decorator >decorator : Symbol(decorator, Decl(decoratorMetadataPromise.ts, 0, 13)) @@ -25,8 +25,8 @@ class A { baz(n: Promise): Promise { return n; } >baz : Symbol(A.baz, Decl(decoratorMetadataPromise.ts, 6, 46)) >n : Symbol(n, Decl(decoratorMetadataPromise.ts, 8, 8)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >n : Symbol(n, Decl(decoratorMetadataPromise.ts, 8, 8)) } diff --git a/tests/baselines/reference/decoratorMetadataRestParameterWithImportedType.symbols b/tests/baselines/reference/decoratorMetadataRestParameterWithImportedType.symbols index 8b8fdf243f8..6bad65ed283 100644 --- a/tests/baselines/reference/decoratorMetadataRestParameterWithImportedType.symbols +++ b/tests/baselines/reference/decoratorMetadataRestParameterWithImportedType.symbols @@ -30,7 +30,7 @@ import { SomeClass1 } from './aux1'; function annotation(): ClassDecorator { >annotation : Symbol(annotation, Decl(main.ts, 1, 36)) ->ClassDecorator : Symbol(ClassDecorator, Decl(lib.d.ts, --, --)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.es5.d.ts, --, --)) return (target: any): void => { }; >target : Symbol(target, Decl(main.ts, 4, 12)) @@ -38,7 +38,7 @@ function annotation(): ClassDecorator { function annotation1(): MethodDecorator { >annotation1 : Symbol(annotation1, Decl(main.ts, 5, 1)) ->MethodDecorator : Symbol(MethodDecorator, Decl(lib.d.ts, --, --)) +>MethodDecorator : Symbol(MethodDecorator, Decl(lib.es5.d.ts, --, --)) return (target: any): void => { }; >target : Symbol(target, Decl(main.ts, 8, 12)) diff --git a/tests/baselines/reference/decoratorMetadataWithConstructorType.symbols b/tests/baselines/reference/decoratorMetadataWithConstructorType.symbols index cfe4fc002d6..38ba844fb43 100644 --- a/tests/baselines/reference/decoratorMetadataWithConstructorType.symbols +++ b/tests/baselines/reference/decoratorMetadataWithConstructorType.symbols @@ -20,7 +20,7 @@ class A { function decorator(target: Object, propertyKey: string) { >decorator : Symbol(decorator, Decl(decoratorMetadataWithConstructorType.ts, 6, 1)) >target : Symbol(target, Decl(decoratorMetadataWithConstructorType.ts, 8, 19)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >propertyKey : Symbol(propertyKey, Decl(decoratorMetadataWithConstructorType.ts, 8, 34)) } diff --git a/tests/baselines/reference/decoratorOnClass8.symbols b/tests/baselines/reference/decoratorOnClass8.symbols index 0d27c29c20d..fc520b0a203 100644 --- a/tests/baselines/reference/decoratorOnClass8.symbols +++ b/tests/baselines/reference/decoratorOnClass8.symbols @@ -2,7 +2,7 @@ declare function dec(): (target: Function, paramIndex: number) => void; >dec : Symbol(dec, Decl(decoratorOnClass8.ts, 0, 0)) >target : Symbol(target, Decl(decoratorOnClass8.ts, 0, 25)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >paramIndex : Symbol(paramIndex, Decl(decoratorOnClass8.ts, 0, 42)) @dec() diff --git a/tests/baselines/reference/decoratorOnClassAccessor1.es6.symbols b/tests/baselines/reference/decoratorOnClassAccessor1.es6.symbols index 62b7f821c21..82fe1128ada 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor1.es6.symbols +++ b/tests/baselines/reference/decoratorOnClassAccessor1.es6.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassAccessor1.es6.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassAccessor1.es6.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassAccessor1.es6.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor1.es6.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor1.es6.ts, 0, 21)) export default class { diff --git a/tests/baselines/reference/decoratorOnClassAccessor1.symbols b/tests/baselines/reference/decoratorOnClassAccessor1.symbols index 54fe1c7345d..1fd51cc19a7 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor1.symbols +++ b/tests/baselines/reference/decoratorOnClassAccessor1.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassAccessor1.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassAccessor1.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassAccessor1.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor1.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor1.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassAccessor2.symbols b/tests/baselines/reference/decoratorOnClassAccessor2.symbols index cb85e3b261c..8717ec53fe1 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor2.symbols +++ b/tests/baselines/reference/decoratorOnClassAccessor2.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassAccessor2.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassAccessor2.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassAccessor2.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor2.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor2.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassAccessor3.symbols b/tests/baselines/reference/decoratorOnClassAccessor3.symbols index c365540c936..449fac653ca 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor3.symbols +++ b/tests/baselines/reference/decoratorOnClassAccessor3.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassAccessor3.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassAccessor3.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassAccessor3.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor3.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor3.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassAccessor4.symbols b/tests/baselines/reference/decoratorOnClassAccessor4.symbols index 47776e58aa5..40a69833932 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor4.symbols +++ b/tests/baselines/reference/decoratorOnClassAccessor4.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassAccessor4.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassAccessor4.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassAccessor4.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor4.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor4.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassAccessor5.symbols b/tests/baselines/reference/decoratorOnClassAccessor5.symbols index d35e97ece50..a46b93d5555 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor5.symbols +++ b/tests/baselines/reference/decoratorOnClassAccessor5.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassAccessor5.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassAccessor5.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassAccessor5.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor5.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor5.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassAccessor6.symbols b/tests/baselines/reference/decoratorOnClassAccessor6.symbols index 8a4402798b6..2778d97c902 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor6.symbols +++ b/tests/baselines/reference/decoratorOnClassAccessor6.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassAccessor6.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassAccessor6.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassAccessor6.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor6.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor6.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassAccessor7.symbols b/tests/baselines/reference/decoratorOnClassAccessor7.symbols index 704afc5bb09..d1af7cce1f2 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor7.symbols +++ b/tests/baselines/reference/decoratorOnClassAccessor7.symbols @@ -5,9 +5,9 @@ declare function dec1(target: any, propertyKey: string, descriptor: TypedProp >target : Symbol(target, Decl(decoratorOnClassAccessor7.ts, 0, 25)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassAccessor7.ts, 0, 37)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassAccessor7.ts, 0, 58)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor7.ts, 0, 22)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor7.ts, 0, 22)) declare function dec2(target: any, propertyKey: string, descriptor: TypedPropertyDescriptor): TypedPropertyDescriptor; @@ -16,9 +16,9 @@ declare function dec2(target: any, propertyKey: string, descriptor: TypedProp >target : Symbol(target, Decl(decoratorOnClassAccessor7.ts, 1, 25)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassAccessor7.ts, 1, 37)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassAccessor7.ts, 1, 58)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor7.ts, 1, 22)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor7.ts, 1, 22)) class A { diff --git a/tests/baselines/reference/decoratorOnClassAccessor8.symbols b/tests/baselines/reference/decoratorOnClassAccessor8.symbols index d1e22d586fc..2454f2727b2 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor8.symbols +++ b/tests/baselines/reference/decoratorOnClassAccessor8.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassAccessor8.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassAccessor8.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassAccessor8.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor8.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassAccessor8.ts, 0, 21)) class A { diff --git a/tests/baselines/reference/decoratorOnClassConstructor1.symbols b/tests/baselines/reference/decoratorOnClassConstructor1.symbols index 35675e146df..af313609f0f 100644 --- a/tests/baselines/reference/decoratorOnClassConstructor1.symbols +++ b/tests/baselines/reference/decoratorOnClassConstructor1.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassConstructor1.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassConstructor1.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassConstructor1.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassConstructor1.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassConstructor1.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassConstructor2.symbols b/tests/baselines/reference/decoratorOnClassConstructor2.symbols index c3d30c40faa..de782500d87 100644 --- a/tests/baselines/reference/decoratorOnClassConstructor2.symbols +++ b/tests/baselines/reference/decoratorOnClassConstructor2.symbols @@ -5,7 +5,7 @@ export class base { } export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } >foo : Symbol(foo, Decl(0.ts, 0, 21)) >target : Symbol(target, Decl(0.ts, 1, 20)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >propertyKey : Symbol(propertyKey, Decl(0.ts, 1, 35)) >parameterIndex : Symbol(parameterIndex, Decl(0.ts, 1, 65)) diff --git a/tests/baselines/reference/decoratorOnClassConstructor3.symbols b/tests/baselines/reference/decoratorOnClassConstructor3.symbols index 3db6bf0f936..2ace8ae2630 100644 --- a/tests/baselines/reference/decoratorOnClassConstructor3.symbols +++ b/tests/baselines/reference/decoratorOnClassConstructor3.symbols @@ -5,7 +5,7 @@ export class base { } export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } >foo : Symbol(foo, Decl(0.ts, 0, 21)) >target : Symbol(target, Decl(0.ts, 1, 20)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >propertyKey : Symbol(propertyKey, Decl(0.ts, 1, 35)) >parameterIndex : Symbol(parameterIndex, Decl(0.ts, 1, 65)) diff --git a/tests/baselines/reference/decoratorOnClassConstructorParameter1.symbols b/tests/baselines/reference/decoratorOnClassConstructorParameter1.symbols index 2349029421c..c6866a8b15e 100644 --- a/tests/baselines/reference/decoratorOnClassConstructorParameter1.symbols +++ b/tests/baselines/reference/decoratorOnClassConstructorParameter1.symbols @@ -2,7 +2,7 @@ declare function dec(target: Function, propertyKey: string | symbol, parameterIndex: number): void; >dec : Symbol(dec, Decl(decoratorOnClassConstructorParameter1.ts, 0, 0)) >target : Symbol(target, Decl(decoratorOnClassConstructorParameter1.ts, 0, 21)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassConstructorParameter1.ts, 0, 38)) >parameterIndex : Symbol(parameterIndex, Decl(decoratorOnClassConstructorParameter1.ts, 0, 68)) diff --git a/tests/baselines/reference/decoratorOnClassConstructorParameter4.symbols b/tests/baselines/reference/decoratorOnClassConstructorParameter4.symbols index b66c7816f11..be12cb42463 100644 --- a/tests/baselines/reference/decoratorOnClassConstructorParameter4.symbols +++ b/tests/baselines/reference/decoratorOnClassConstructorParameter4.symbols @@ -2,7 +2,7 @@ declare function dec(target: Function, propertyKey: string | symbol, parameterIndex: number): void; >dec : Symbol(dec, Decl(decoratorOnClassConstructorParameter4.ts, 0, 0)) >target : Symbol(target, Decl(decoratorOnClassConstructorParameter4.ts, 0, 21)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassConstructorParameter4.ts, 0, 38)) >parameterIndex : Symbol(parameterIndex, Decl(decoratorOnClassConstructorParameter4.ts, 0, 68)) diff --git a/tests/baselines/reference/decoratorOnClassMethod1.es6.symbols b/tests/baselines/reference/decoratorOnClassMethod1.es6.symbols index e57dcbaef54..1e7707c5329 100644 --- a/tests/baselines/reference/decoratorOnClassMethod1.es6.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod1.es6.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassMethod1.es6.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassMethod1.es6.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassMethod1.es6.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod1.es6.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod1.es6.ts, 0, 21)) export default class { diff --git a/tests/baselines/reference/decoratorOnClassMethod1.symbols b/tests/baselines/reference/decoratorOnClassMethod1.symbols index bc2143f72a9..5c51ee112f7 100644 --- a/tests/baselines/reference/decoratorOnClassMethod1.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod1.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassMethod1.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassMethod1.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassMethod1.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod1.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod1.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassMethod10.symbols b/tests/baselines/reference/decoratorOnClassMethod10.symbols index 59c94103578..ba4ada26a2a 100644 --- a/tests/baselines/reference/decoratorOnClassMethod10.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod10.symbols @@ -2,7 +2,7 @@ declare function dec(target: Function, paramIndex: number): void; >dec : Symbol(dec, Decl(decoratorOnClassMethod10.ts, 0, 0)) >target : Symbol(target, Decl(decoratorOnClassMethod10.ts, 0, 21)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >paramIndex : Symbol(paramIndex, Decl(decoratorOnClassMethod10.ts, 0, 38)) class C { diff --git a/tests/baselines/reference/decoratorOnClassMethod11.symbols b/tests/baselines/reference/decoratorOnClassMethod11.symbols index 19336bfaec2..e4a66cc88dc 100644 --- a/tests/baselines/reference/decoratorOnClassMethod11.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod11.symbols @@ -8,7 +8,7 @@ module M { decorator(target: Object, key: string): void { } >decorator : Symbol(C.decorator, Decl(decoratorOnClassMethod11.ts, 1, 13)) >target : Symbol(target, Decl(decoratorOnClassMethod11.ts, 2, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >key : Symbol(key, Decl(decoratorOnClassMethod11.ts, 2, 33)) @this.decorator diff --git a/tests/baselines/reference/decoratorOnClassMethod12.symbols b/tests/baselines/reference/decoratorOnClassMethod12.symbols index a0976ddacdf..e1407eb789b 100644 --- a/tests/baselines/reference/decoratorOnClassMethod12.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod12.symbols @@ -8,7 +8,7 @@ module M { decorator(target: Object, key: string): void { } >decorator : Symbol(S.decorator, Decl(decoratorOnClassMethod12.ts, 1, 13)) >target : Symbol(target, Decl(decoratorOnClassMethod12.ts, 2, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >key : Symbol(key, Decl(decoratorOnClassMethod12.ts, 2, 33)) } class C extends S { diff --git a/tests/baselines/reference/decoratorOnClassMethod13.symbols b/tests/baselines/reference/decoratorOnClassMethod13.symbols index b64a9614b0c..0c8aa1bb2aa 100644 --- a/tests/baselines/reference/decoratorOnClassMethod13.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod13.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassMethod13.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassMethod13.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassMethod13.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod13.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod13.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassMethod2.symbols b/tests/baselines/reference/decoratorOnClassMethod2.symbols index addfdb70d40..1cf192b5244 100644 --- a/tests/baselines/reference/decoratorOnClassMethod2.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod2.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassMethod2.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassMethod2.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassMethod2.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod2.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod2.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassMethod3.symbols b/tests/baselines/reference/decoratorOnClassMethod3.symbols index c9b6e8d9bbd..9979e69f04f 100644 --- a/tests/baselines/reference/decoratorOnClassMethod3.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod3.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassMethod3.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassMethod3.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassMethod3.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod3.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod3.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassMethod4.symbols b/tests/baselines/reference/decoratorOnClassMethod4.symbols index 06342894d6b..f945a3e6972 100644 --- a/tests/baselines/reference/decoratorOnClassMethod4.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod4.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassMethod4.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassMethod4.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassMethod4.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod4.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod4.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassMethod5.symbols b/tests/baselines/reference/decoratorOnClassMethod5.symbols index 06c9e0670c1..0617619f798 100644 --- a/tests/baselines/reference/decoratorOnClassMethod5.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod5.symbols @@ -5,9 +5,9 @@ declare function dec(): (target: any, propertyKey: string, descriptor: TypedP >target : Symbol(target, Decl(decoratorOnClassMethod5.ts, 0, 28)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassMethod5.ts, 0, 40)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassMethod5.ts, 0, 61)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod5.ts, 0, 25)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod5.ts, 0, 25)) class C { diff --git a/tests/baselines/reference/decoratorOnClassMethod6.symbols b/tests/baselines/reference/decoratorOnClassMethod6.symbols index b73208457ae..c5172bd9085 100644 --- a/tests/baselines/reference/decoratorOnClassMethod6.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod6.symbols @@ -5,9 +5,9 @@ declare function dec(): (target: any, propertyKey: string, descriptor: TypedP >target : Symbol(target, Decl(decoratorOnClassMethod6.ts, 0, 28)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassMethod6.ts, 0, 40)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassMethod6.ts, 0, 61)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod6.ts, 0, 25)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod6.ts, 0, 25)) class C { diff --git a/tests/baselines/reference/decoratorOnClassMethod7.symbols b/tests/baselines/reference/decoratorOnClassMethod7.symbols index 8c2f99aac8e..bef1eadbe6e 100644 --- a/tests/baselines/reference/decoratorOnClassMethod7.symbols +++ b/tests/baselines/reference/decoratorOnClassMethod7.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassMethod7.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassMethod7.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassMethod7.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod7.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es6.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethod7.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassMethodOverload1.symbols b/tests/baselines/reference/decoratorOnClassMethodOverload1.symbols index 47080b5f607..bf61f0a3d21 100644 --- a/tests/baselines/reference/decoratorOnClassMethodOverload1.symbols +++ b/tests/baselines/reference/decoratorOnClassMethodOverload1.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassMethodOverload1.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassMethodOverload1.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassMethodOverload1.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethodOverload1.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethodOverload1.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassMethodOverload2.symbols b/tests/baselines/reference/decoratorOnClassMethodOverload2.symbols index 71f5c5f8479..64e2bdd81f1 100644 --- a/tests/baselines/reference/decoratorOnClassMethodOverload2.symbols +++ b/tests/baselines/reference/decoratorOnClassMethodOverload2.symbols @@ -5,9 +5,9 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope >target : Symbol(target, Decl(decoratorOnClassMethodOverload2.ts, 0, 24)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassMethodOverload2.ts, 0, 36)) >descriptor : Symbol(descriptor, Decl(decoratorOnClassMethodOverload2.ts, 0, 57)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethodOverload2.ts, 0, 21)) ->TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.d.ts, --, --)) +>TypedPropertyDescriptor : Symbol(TypedPropertyDescriptor, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(decoratorOnClassMethodOverload2.ts, 0, 21)) class C { diff --git a/tests/baselines/reference/decoratorOnClassMethodParameter1.es6.symbols b/tests/baselines/reference/decoratorOnClassMethodParameter1.es6.symbols index ffbda4e038e..e33f0e8f7b9 100644 --- a/tests/baselines/reference/decoratorOnClassMethodParameter1.es6.symbols +++ b/tests/baselines/reference/decoratorOnClassMethodParameter1.es6.symbols @@ -2,7 +2,7 @@ declare function dec(target: Object, propertyKey: string | symbol, parameterIndex: number): void; >dec : Symbol(dec, Decl(decoratorOnClassMethodParameter1.es6.ts, 0, 0)) >target : Symbol(target, Decl(decoratorOnClassMethodParameter1.es6.ts, 0, 21)) ->Object : Symbol(Object, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassMethodParameter1.es6.ts, 0, 36)) >parameterIndex : Symbol(parameterIndex, Decl(decoratorOnClassMethodParameter1.es6.ts, 0, 66)) diff --git a/tests/baselines/reference/decoratorOnClassMethodParameter1.symbols b/tests/baselines/reference/decoratorOnClassMethodParameter1.symbols index 8ce7338dde8..83db4ae89bb 100644 --- a/tests/baselines/reference/decoratorOnClassMethodParameter1.symbols +++ b/tests/baselines/reference/decoratorOnClassMethodParameter1.symbols @@ -2,7 +2,7 @@ declare function dec(target: Object, propertyKey: string | symbol, parameterIndex: number): void; >dec : Symbol(dec, Decl(decoratorOnClassMethodParameter1.ts, 0, 0)) >target : Symbol(target, Decl(decoratorOnClassMethodParameter1.ts, 0, 21)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassMethodParameter1.ts, 0, 36)) >parameterIndex : Symbol(parameterIndex, Decl(decoratorOnClassMethodParameter1.ts, 0, 66)) diff --git a/tests/baselines/reference/decoratorOnClassProperty6.symbols b/tests/baselines/reference/decoratorOnClassProperty6.symbols index f172e197fd7..fdabe2fe528 100644 --- a/tests/baselines/reference/decoratorOnClassProperty6.symbols +++ b/tests/baselines/reference/decoratorOnClassProperty6.symbols @@ -2,7 +2,7 @@ declare function dec(target: Function): void; >dec : Symbol(dec, Decl(decoratorOnClassProperty6.ts, 0, 0)) >target : Symbol(target, Decl(decoratorOnClassProperty6.ts, 0, 21)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) class C { >C : Symbol(C, Decl(decoratorOnClassProperty6.ts, 0, 45)) diff --git a/tests/baselines/reference/decoratorOnClassProperty7.symbols b/tests/baselines/reference/decoratorOnClassProperty7.symbols index e9baf99f9d2..f58fd0363f4 100644 --- a/tests/baselines/reference/decoratorOnClassProperty7.symbols +++ b/tests/baselines/reference/decoratorOnClassProperty7.symbols @@ -2,7 +2,7 @@ declare function dec(target: Function, propertyKey: string | symbol, paramIndex: number): void; >dec : Symbol(dec, Decl(decoratorOnClassProperty7.ts, 0, 0)) >target : Symbol(target, Decl(decoratorOnClassProperty7.ts, 0, 21)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >propertyKey : Symbol(propertyKey, Decl(decoratorOnClassProperty7.ts, 0, 38)) >paramIndex : Symbol(paramIndex, Decl(decoratorOnClassProperty7.ts, 0, 68)) diff --git a/tests/baselines/reference/decoratorsOnComputedProperties.symbols b/tests/baselines/reference/decoratorsOnComputedProperties.symbols index ea931aa9017..def5c2c50d6 100644 --- a/tests/baselines/reference/decoratorsOnComputedProperties.symbols +++ b/tests/baselines/reference/decoratorsOnComputedProperties.symbols @@ -3,7 +3,7 @@ function x(o: object, k: PropertyKey) { } >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >o : Symbol(o, Decl(decoratorsOnComputedProperties.ts, 0, 11)) >k : Symbol(k, Decl(decoratorsOnComputedProperties.ts, 0, 21)) ->PropertyKey : Symbol(PropertyKey, Decl(lib.es6.d.ts, --, --)) +>PropertyKey : Symbol(PropertyKey, Decl(lib.es5.d.ts, --, --)) let i = 0; >i : Symbol(i, Decl(decoratorsOnComputedProperties.ts, 1, 3)) @@ -32,9 +32,9 @@ class A { @x [Symbol.toStringTag]: any; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.toStringTag] : Symbol(A[Symbol.toStringTag], Decl(decoratorsOnComputedProperties.ts, 9, 25)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @x ["property2"]: any = 2; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) @@ -44,9 +44,9 @@ class A { @x [Symbol.iterator]: any = null; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.iterator] : Symbol(A[Symbol.iterator], Decl(decoratorsOnComputedProperties.ts, 11, 30)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ["property3"]: any; >["property3"] : Symbol(A["property3"], Decl(decoratorsOnComputedProperties.ts, 12, 37)) @@ -54,9 +54,9 @@ class A { [Symbol.isConcatSpreadable]: any; >[Symbol.isConcatSpreadable] : Symbol(A[Symbol.isConcatSpreadable], Decl(decoratorsOnComputedProperties.ts, 13, 23)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ["property4"]: any = 2; >["property4"] : Symbol(A["property4"], Decl(decoratorsOnComputedProperties.ts, 14, 37)) @@ -64,9 +64,9 @@ class A { [Symbol.match]: any = null; >[Symbol.match] : Symbol(A[Symbol.match], Decl(decoratorsOnComputedProperties.ts, 15, 27)) ->Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) +>Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [foo()]: any; >[foo()] : Symbol(A[foo()], Decl(decoratorsOnComputedProperties.ts, 16, 31)) @@ -108,9 +108,9 @@ void class B { @x [Symbol.toStringTag]: any; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.toStringTag] : Symbol(B[Symbol.toStringTag], Decl(decoratorsOnComputedProperties.ts, 26, 25)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @x ["property2"]: any = 2; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) @@ -120,9 +120,9 @@ void class B { @x [Symbol.iterator]: any = null; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.iterator] : Symbol(B[Symbol.iterator], Decl(decoratorsOnComputedProperties.ts, 28, 30)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ["property3"]: any; >["property3"] : Symbol(B["property3"], Decl(decoratorsOnComputedProperties.ts, 29, 37)) @@ -130,9 +130,9 @@ void class B { [Symbol.isConcatSpreadable]: any; >[Symbol.isConcatSpreadable] : Symbol(B[Symbol.isConcatSpreadable], Decl(decoratorsOnComputedProperties.ts, 30, 23)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ["property4"]: any = 2; >["property4"] : Symbol(B["property4"], Decl(decoratorsOnComputedProperties.ts, 31, 37)) @@ -140,9 +140,9 @@ void class B { [Symbol.match]: any = null; >[Symbol.match] : Symbol(B[Symbol.match], Decl(decoratorsOnComputedProperties.ts, 32, 27)) ->Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) +>Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [foo()]: any; >[foo()] : Symbol(B[foo()], Decl(decoratorsOnComputedProperties.ts, 33, 31)) @@ -185,9 +185,9 @@ class C { @x [Symbol.toStringTag]: any; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.toStringTag] : Symbol(C[Symbol.toStringTag], Decl(decoratorsOnComputedProperties.ts, 43, 25)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @x ["property2"]: any = 2; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) @@ -197,9 +197,9 @@ class C { @x [Symbol.iterator]: any = null; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(decoratorsOnComputedProperties.ts, 45, 30)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ["property3"]: any; >["property3"] : Symbol(C["property3"], Decl(decoratorsOnComputedProperties.ts, 46, 37)) @@ -207,9 +207,9 @@ class C { [Symbol.isConcatSpreadable]: any; >[Symbol.isConcatSpreadable] : Symbol(C[Symbol.isConcatSpreadable], Decl(decoratorsOnComputedProperties.ts, 47, 23)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ["property4"]: any = 2; >["property4"] : Symbol(C["property4"], Decl(decoratorsOnComputedProperties.ts, 48, 37)) @@ -217,9 +217,9 @@ class C { [Symbol.match]: any = null; >[Symbol.match] : Symbol(C[Symbol.match], Decl(decoratorsOnComputedProperties.ts, 49, 27)) ->Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) +>Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [foo()]: any; >[foo()] : Symbol(C[foo()], Decl(decoratorsOnComputedProperties.ts, 50, 31)) @@ -264,9 +264,9 @@ void class D { @x [Symbol.toStringTag]: any; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.toStringTag] : Symbol(D[Symbol.toStringTag], Decl(decoratorsOnComputedProperties.ts, 61, 25)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @x ["property2"]: any = 2; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) @@ -276,9 +276,9 @@ void class D { @x [Symbol.iterator]: any = null; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.iterator] : Symbol(D[Symbol.iterator], Decl(decoratorsOnComputedProperties.ts, 63, 30)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ["property3"]: any; >["property3"] : Symbol(D["property3"], Decl(decoratorsOnComputedProperties.ts, 64, 37)) @@ -286,9 +286,9 @@ void class D { [Symbol.isConcatSpreadable]: any; >[Symbol.isConcatSpreadable] : Symbol(D[Symbol.isConcatSpreadable], Decl(decoratorsOnComputedProperties.ts, 65, 23)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ["property4"]: any = 2; >["property4"] : Symbol(D["property4"], Decl(decoratorsOnComputedProperties.ts, 66, 37)) @@ -296,9 +296,9 @@ void class D { [Symbol.match]: any = null; >[Symbol.match] : Symbol(D[Symbol.match], Decl(decoratorsOnComputedProperties.ts, 67, 27)) ->Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) +>Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [foo()]: any; >[foo()] : Symbol(D[foo()], Decl(decoratorsOnComputedProperties.ts, 68, 31)) @@ -344,9 +344,9 @@ class E { @x [Symbol.toStringTag]: any; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.toStringTag] : Symbol(E[Symbol.toStringTag], Decl(decoratorsOnComputedProperties.ts, 79, 25)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @x ["property2"]: any = 2; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) @@ -356,9 +356,9 @@ class E { @x [Symbol.iterator]: any = null; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.iterator] : Symbol(E[Symbol.iterator], Decl(decoratorsOnComputedProperties.ts, 81, 30)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ["property3"]: any; >["property3"] : Symbol(E["property3"], Decl(decoratorsOnComputedProperties.ts, 82, 37)) @@ -366,9 +366,9 @@ class E { [Symbol.isConcatSpreadable]: any; >[Symbol.isConcatSpreadable] : Symbol(E[Symbol.isConcatSpreadable], Decl(decoratorsOnComputedProperties.ts, 83, 23)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ["property4"]: any = 2; >["property4"] : Symbol(E["property4"], Decl(decoratorsOnComputedProperties.ts, 84, 37)) @@ -376,9 +376,9 @@ class E { [Symbol.match]: any = null; >[Symbol.match] : Symbol(E[Symbol.match], Decl(decoratorsOnComputedProperties.ts, 85, 27)) ->Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) +>Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [foo()]: any; >[foo()] : Symbol(E[foo()], Decl(decoratorsOnComputedProperties.ts, 86, 31)) @@ -423,9 +423,9 @@ void class F { @x [Symbol.toStringTag]: any; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.toStringTag] : Symbol(F[Symbol.toStringTag], Decl(decoratorsOnComputedProperties.ts, 97, 25)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @x ["property2"]: any = 2; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) @@ -435,9 +435,9 @@ void class F { @x [Symbol.iterator]: any = null; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.iterator] : Symbol(F[Symbol.iterator], Decl(decoratorsOnComputedProperties.ts, 99, 30)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ["property3"]: any; >["property3"] : Symbol(F["property3"], Decl(decoratorsOnComputedProperties.ts, 100, 37)) @@ -445,9 +445,9 @@ void class F { [Symbol.isConcatSpreadable]: any; >[Symbol.isConcatSpreadable] : Symbol(F[Symbol.isConcatSpreadable], Decl(decoratorsOnComputedProperties.ts, 101, 23)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ["property4"]: any = 2; >["property4"] : Symbol(F["property4"], Decl(decoratorsOnComputedProperties.ts, 102, 37)) @@ -455,9 +455,9 @@ void class F { [Symbol.match]: any = null; >[Symbol.match] : Symbol(F[Symbol.match], Decl(decoratorsOnComputedProperties.ts, 103, 27)) ->Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) +>Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [foo()]: any; >[foo()] : Symbol(F[foo()], Decl(decoratorsOnComputedProperties.ts, 104, 31)) @@ -503,9 +503,9 @@ class G { @x [Symbol.toStringTag]: any; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.toStringTag] : Symbol(G[Symbol.toStringTag], Decl(decoratorsOnComputedProperties.ts, 115, 25)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @x ["property2"]: any = 2; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) @@ -515,9 +515,9 @@ class G { @x [Symbol.iterator]: any = null; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.iterator] : Symbol(G[Symbol.iterator], Decl(decoratorsOnComputedProperties.ts, 117, 30)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ["property3"]: any; >["property3"] : Symbol(G["property3"], Decl(decoratorsOnComputedProperties.ts, 118, 37)) @@ -525,9 +525,9 @@ class G { [Symbol.isConcatSpreadable]: any; >[Symbol.isConcatSpreadable] : Symbol(G[Symbol.isConcatSpreadable], Decl(decoratorsOnComputedProperties.ts, 119, 23)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ["property4"]: any = 2; >["property4"] : Symbol(G["property4"], Decl(decoratorsOnComputedProperties.ts, 120, 37)) @@ -535,9 +535,9 @@ class G { [Symbol.match]: any = null; >[Symbol.match] : Symbol(G[Symbol.match], Decl(decoratorsOnComputedProperties.ts, 121, 27)) ->Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) +>Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [foo()]: any; >[foo()] : Symbol(G[foo()], Decl(decoratorsOnComputedProperties.ts, 122, 31)) @@ -585,9 +585,9 @@ void class H { @x [Symbol.toStringTag]: any; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.toStringTag] : Symbol(H[Symbol.toStringTag], Decl(decoratorsOnComputedProperties.ts, 134, 25)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @x ["property2"]: any = 2; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) @@ -597,9 +597,9 @@ void class H { @x [Symbol.iterator]: any = null; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.iterator] : Symbol(H[Symbol.iterator], Decl(decoratorsOnComputedProperties.ts, 136, 30)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ["property3"]: any; >["property3"] : Symbol(H["property3"], Decl(decoratorsOnComputedProperties.ts, 137, 37)) @@ -607,9 +607,9 @@ void class H { [Symbol.isConcatSpreadable]: any; >[Symbol.isConcatSpreadable] : Symbol(H[Symbol.isConcatSpreadable], Decl(decoratorsOnComputedProperties.ts, 138, 23)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ["property4"]: any = 2; >["property4"] : Symbol(H["property4"], Decl(decoratorsOnComputedProperties.ts, 139, 37)) @@ -617,9 +617,9 @@ void class H { [Symbol.match]: any = null; >[Symbol.match] : Symbol(H[Symbol.match], Decl(decoratorsOnComputedProperties.ts, 140, 27)) ->Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) +>Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [foo()]: any; >[foo()] : Symbol(H[foo()], Decl(decoratorsOnComputedProperties.ts, 141, 31)) @@ -668,9 +668,9 @@ class I { @x [Symbol.toStringTag]: any; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.toStringTag] : Symbol(I[Symbol.toStringTag], Decl(decoratorsOnComputedProperties.ts, 153, 25)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @x ["property2"]: any = 2; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) @@ -680,9 +680,9 @@ class I { @x [Symbol.iterator]: any = null; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.iterator] : Symbol(I[Symbol.iterator], Decl(decoratorsOnComputedProperties.ts, 155, 30)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ["property3"]: any; >["property3"] : Symbol(I["property3"], Decl(decoratorsOnComputedProperties.ts, 156, 37)) @@ -690,9 +690,9 @@ class I { [Symbol.isConcatSpreadable]: any; >[Symbol.isConcatSpreadable] : Symbol(I[Symbol.isConcatSpreadable], Decl(decoratorsOnComputedProperties.ts, 157, 23)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ["property4"]: any = 2; >["property4"] : Symbol(I["property4"], Decl(decoratorsOnComputedProperties.ts, 158, 37)) @@ -700,9 +700,9 @@ class I { [Symbol.match]: any = null; >[Symbol.match] : Symbol(I[Symbol.match], Decl(decoratorsOnComputedProperties.ts, 159, 27)) ->Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) +>Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [foo()]: any; >[foo()] : Symbol(I[foo()], Decl(decoratorsOnComputedProperties.ts, 160, 31)) @@ -751,9 +751,9 @@ void class J { @x [Symbol.toStringTag]: any; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.toStringTag] : Symbol(J[Symbol.toStringTag], Decl(decoratorsOnComputedProperties.ts, 172, 25)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @x ["property2"]: any = 2; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) @@ -763,9 +763,9 @@ void class J { @x [Symbol.iterator]: any = null; >x : Symbol(x, Decl(decoratorsOnComputedProperties.ts, 0, 0)) >[Symbol.iterator] : Symbol(J[Symbol.iterator], Decl(decoratorsOnComputedProperties.ts, 174, 30)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ["property3"]: any; >["property3"] : Symbol(J["property3"], Decl(decoratorsOnComputedProperties.ts, 175, 37)) @@ -773,9 +773,9 @@ void class J { [Symbol.isConcatSpreadable]: any; >[Symbol.isConcatSpreadable] : Symbol(J[Symbol.isConcatSpreadable], Decl(decoratorsOnComputedProperties.ts, 176, 23)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ["property4"]: any = 2; >["property4"] : Symbol(J["property4"], Decl(decoratorsOnComputedProperties.ts, 177, 37)) @@ -783,9 +783,9 @@ void class J { [Symbol.match]: any = null; >[Symbol.match] : Symbol(J[Symbol.match], Decl(decoratorsOnComputedProperties.ts, 178, 27)) ->Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->match : Symbol(SymbolConstructor.match, Decl(lib.es6.d.ts, --, --)) +>Symbol.match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>match : Symbol(SymbolConstructor.match, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [foo()]: any; >[foo()] : Symbol(J[foo()], Decl(decoratorsOnComputedProperties.ts, 179, 31)) diff --git a/tests/baselines/reference/deduplicateImportsInSystem.symbols b/tests/baselines/reference/deduplicateImportsInSystem.symbols index 93a4723a2b1..25b528eb02f 100644 --- a/tests/baselines/reference/deduplicateImportsInSystem.symbols +++ b/tests/baselines/reference/deduplicateImportsInSystem.symbols @@ -18,9 +18,9 @@ import {F} from 'f1'; >F : Symbol(F, Decl(deduplicateImportsInSystem.ts, 5, 8)) console.log(A + B + C + D + E + F) ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >A : Symbol(A, Decl(deduplicateImportsInSystem.ts, 0, 8)) >B : Symbol(B, Decl(deduplicateImportsInSystem.ts, 1, 8)) >C : Symbol(C, Decl(deduplicateImportsInSystem.ts, 2, 8)) diff --git a/tests/baselines/reference/deeplyNestedCheck.symbols b/tests/baselines/reference/deeplyNestedCheck.symbols index 80c531cd6d0..8da69e1254a 100644 --- a/tests/baselines/reference/deeplyNestedCheck.symbols +++ b/tests/baselines/reference/deeplyNestedCheck.symbols @@ -19,7 +19,7 @@ interface Snapshot extends DataSnapshot { child>(path: U): Snapshot; >child : Symbol(Snapshot.child, Decl(deeplyNestedCheck.ts, 6, 44)) >U : Symbol(U, Decl(deeplyNestedCheck.ts, 7, 8)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(deeplyNestedCheck.ts, 6, 19)) >path : Symbol(path, Decl(deeplyNestedCheck.ts, 7, 44)) >U : Symbol(U, Decl(deeplyNestedCheck.ts, 7, 8)) diff --git a/tests/baselines/reference/defaultBestCommonTypesHaveDecls.symbols b/tests/baselines/reference/defaultBestCommonTypesHaveDecls.symbols index 6cbc7b88de3..5024b18fb92 100644 --- a/tests/baselines/reference/defaultBestCommonTypesHaveDecls.symbols +++ b/tests/baselines/reference/defaultBestCommonTypesHaveDecls.symbols @@ -7,7 +7,7 @@ obj1.length; var obj2: Object; >obj2 : Symbol(obj2, Decl(defaultBestCommonTypesHaveDecls.ts, 3, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) obj2.length; >obj2 : Symbol(obj2, Decl(defaultBestCommonTypesHaveDecls.ts, 3, 3)) diff --git a/tests/baselines/reference/defaultExportInAwaitExpression01.symbols b/tests/baselines/reference/defaultExportInAwaitExpression01.symbols index ed135aa28ea..e764ff87913 100644 --- a/tests/baselines/reference/defaultExportInAwaitExpression01.symbols +++ b/tests/baselines/reference/defaultExportInAwaitExpression01.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/modules/a.ts === const x = new Promise( ( resolve, reject ) => { resolve( {} ); } ); >x : Symbol(x, Decl(a.ts, 0, 5)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >resolve : Symbol(resolve, Decl(a.ts, 0, 24)) >reject : Symbol(reject, Decl(a.ts, 0, 33)) >resolve : Symbol(resolve, Decl(a.ts, 0, 24)) diff --git a/tests/baselines/reference/defaultExportInAwaitExpression02.symbols b/tests/baselines/reference/defaultExportInAwaitExpression02.symbols index ed135aa28ea..e764ff87913 100644 --- a/tests/baselines/reference/defaultExportInAwaitExpression02.symbols +++ b/tests/baselines/reference/defaultExportInAwaitExpression02.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/modules/a.ts === const x = new Promise( ( resolve, reject ) => { resolve( {} ); } ); >x : Symbol(x, Decl(a.ts, 0, 5)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >resolve : Symbol(resolve, Decl(a.ts, 0, 24)) >reject : Symbol(reject, Decl(a.ts, 0, 33)) >resolve : Symbol(resolve, Decl(a.ts, 0, 24)) diff --git a/tests/baselines/reference/defaultParameterAddsUndefinedWithStrictNullChecks.symbols b/tests/baselines/reference/defaultParameterAddsUndefinedWithStrictNullChecks.symbols index 80abc32ee73..39f1603eaab 100644 --- a/tests/baselines/reference/defaultParameterAddsUndefinedWithStrictNullChecks.symbols +++ b/tests/baselines/reference/defaultParameterAddsUndefinedWithStrictNullChecks.symbols @@ -5,9 +5,9 @@ function f(addUndefined1 = "J", addUndefined2?: number) { >addUndefined2 : Symbol(addUndefined2, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 0, 31)) return addUndefined1.length + (addUndefined2 || 0); ->addUndefined1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>addUndefined1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >addUndefined1 : Symbol(addUndefined1, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 0, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >addUndefined2 : Symbol(addUndefined2, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 0, 31)) } function g(addUndefined = "J", addDefined: number) { @@ -16,9 +16,9 @@ function g(addUndefined = "J", addDefined: number) { >addDefined : Symbol(addDefined, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 3, 30)) return addUndefined.length + addDefined; ->addUndefined.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>addUndefined.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >addUndefined : Symbol(addUndefined, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 3, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >addDefined : Symbol(addDefined, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 3, 30)) } let total = f() + f('a', 1) + f('b') + f(undefined, 2); @@ -41,9 +41,9 @@ function foo1(x: string = "string", b: number) { >b : Symbol(b, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 9, 35)) x.length; ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 9, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } function foo2(x = "string", b: number) { @@ -52,9 +52,9 @@ function foo2(x = "string", b: number) { >b : Symbol(b, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 13, 27)) x.length; // ok, should be string ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 13, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } function foo3(x: string | undefined = "string", b: number) { @@ -63,9 +63,9 @@ function foo3(x: string | undefined = "string", b: number) { >b : Symbol(b, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 17, 47)) x.length; // ok, should be string ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 17, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) x = undefined; >x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 17, 14)) diff --git a/tests/baselines/reference/deferredLookupTypeResolution.symbols b/tests/baselines/reference/deferredLookupTypeResolution.symbols index 29906ac6ae1..196b9ff972b 100644 --- a/tests/baselines/reference/deferredLookupTypeResolution.symbols +++ b/tests/baselines/reference/deferredLookupTypeResolution.symbols @@ -21,7 +21,7 @@ type ObjectHasKey = StringContains >O : Symbol(O, Decl(deferredLookupTypeResolution.ts, 7, 18)) >L : Symbol(L, Decl(deferredLookupTypeResolution.ts, 7, 20)) >StringContains : Symbol(StringContains, Decl(deferredLookupTypeResolution.ts, 0, 0)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >O : Symbol(O, Decl(deferredLookupTypeResolution.ts, 7, 18)) >L : Symbol(L, Decl(deferredLookupTypeResolution.ts, 7, 20)) diff --git a/tests/baselines/reference/deferredLookupTypeResolution2.symbols b/tests/baselines/reference/deferredLookupTypeResolution2.symbols index 41064fae533..e61551e514c 100644 --- a/tests/baselines/reference/deferredLookupTypeResolution2.symbols +++ b/tests/baselines/reference/deferredLookupTypeResolution2.symbols @@ -15,7 +15,7 @@ type ObjectHasKey = StringContains >O : Symbol(O, Decl(deferredLookupTypeResolution2.ts, 4, 18)) >L : Symbol(L, Decl(deferredLookupTypeResolution2.ts, 4, 20)) >StringContains : Symbol(StringContains, Decl(deferredLookupTypeResolution2.ts, 0, 0)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >O : Symbol(O, Decl(deferredLookupTypeResolution2.ts, 4, 18)) >L : Symbol(L, Decl(deferredLookupTypeResolution2.ts, 4, 20)) diff --git a/tests/baselines/reference/deleteOperatorWithStringType.symbols b/tests/baselines/reference/deleteOperatorWithStringType.symbols index e3f7fd30d7c..c5e85be5410 100644 --- a/tests/baselines/reference/deleteOperatorWithStringType.symbols +++ b/tests/baselines/reference/deleteOperatorWithStringType.symbols @@ -88,9 +88,9 @@ var ResultIsBoolean11 = delete (STRING + STRING); var ResultIsBoolean12 = delete STRING.charAt(0); >ResultIsBoolean12 : Symbol(ResultIsBoolean12, Decl(deleteOperatorWithStringType.ts, 32, 3)) ->STRING.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(deleteOperatorWithStringType.ts, 1, 3)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) // multiple delete operator var ResultIsBoolean13 = delete delete STRING; diff --git a/tests/baselines/reference/derivedClassConstructorWithExplicitReturns01.symbols b/tests/baselines/reference/derivedClassConstructorWithExplicitReturns01.symbols index a8545de2ba1..1b313311b5e 100644 --- a/tests/baselines/reference/derivedClassConstructorWithExplicitReturns01.symbols +++ b/tests/baselines/reference/derivedClassConstructorWithExplicitReturns01.symbols @@ -41,9 +41,9 @@ class D extends C { >a : Symbol(a, Decl(derivedClassConstructorWithExplicitReturns01.ts, 18, 16)) if (Math.random() < 0.5) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) "You win!" return { diff --git a/tests/baselines/reference/derivedClassIncludesInheritedMembers.symbols b/tests/baselines/reference/derivedClassIncludesInheritedMembers.symbols index 1b9fcb27ea8..c9f4b5cd866 100644 --- a/tests/baselines/reference/derivedClassIncludesInheritedMembers.symbols +++ b/tests/baselines/reference/derivedClassIncludesInheritedMembers.symbols @@ -93,11 +93,11 @@ class Base2 { [x: string]: Object; >x : Symbol(x, Decl(derivedClassIncludesInheritedMembers.ts, 28, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [x: number]: Date; >x : Symbol(x, Decl(derivedClassIncludesInheritedMembers.ts, 29, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } class Derived2 extends Base2 { diff --git a/tests/baselines/reference/derivedClassOverridesIndexersWithAssignmentCompatibility.symbols b/tests/baselines/reference/derivedClassOverridesIndexersWithAssignmentCompatibility.symbols index 17fb21e867d..aba7b7c6dd4 100644 --- a/tests/baselines/reference/derivedClassOverridesIndexersWithAssignmentCompatibility.symbols +++ b/tests/baselines/reference/derivedClassOverridesIndexersWithAssignmentCompatibility.symbols @@ -4,7 +4,7 @@ class Base { [x: string]: Object; >x : Symbol(x, Decl(derivedClassOverridesIndexersWithAssignmentCompatibility.ts, 1, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } // ok, use assignment compatibility @@ -21,7 +21,7 @@ class Base2 { [x: number]: Object; >x : Symbol(x, Decl(derivedClassOverridesIndexersWithAssignmentCompatibility.ts, 10, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } // ok, use assignment compatibility diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.symbols b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.symbols index d6f70480844..d13fefbbcc3 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.symbols +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.symbols @@ -193,7 +193,7 @@ class Base2 { [i: string]: Object; >i : Symbol(i, Decl(derivedClassOverridesProtectedMembers2.ts, 49, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [i: number]: typeof x; >i : Symbol(i, Decl(derivedClassOverridesProtectedMembers2.ts, 50, 5)) diff --git a/tests/baselines/reference/derivedClassOverridesPublicMembers.symbols b/tests/baselines/reference/derivedClassOverridesPublicMembers.symbols index 45c0faecf40..90e0b226207 100644 --- a/tests/baselines/reference/derivedClassOverridesPublicMembers.symbols +++ b/tests/baselines/reference/derivedClassOverridesPublicMembers.symbols @@ -192,7 +192,7 @@ class Base2 { [i: string]: Object; >i : Symbol(i, Decl(derivedClassOverridesPublicMembers.ts, 48, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [i: number]: typeof x; >i : Symbol(i, Decl(derivedClassOverridesPublicMembers.ts, 49, 5)) diff --git a/tests/baselines/reference/derivedClassWithoutExplicitConstructor.symbols b/tests/baselines/reference/derivedClassWithoutExplicitConstructor.symbols index 32b4e16d942..247bcc7508b 100644 --- a/tests/baselines/reference/derivedClassWithoutExplicitConstructor.symbols +++ b/tests/baselines/reference/derivedClassWithoutExplicitConstructor.symbols @@ -52,7 +52,7 @@ class Base2 { class D extends Base2 { >D : Symbol(D, Decl(derivedClassWithoutExplicitConstructor.ts, 16, 1)) >T : Symbol(T, Decl(derivedClassWithoutExplicitConstructor.ts, 18, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >Base2 : Symbol(Base2, Decl(derivedClassWithoutExplicitConstructor.ts, 11, 24)) >T : Symbol(T, Decl(derivedClassWithoutExplicitConstructor.ts, 18, 8)) @@ -71,5 +71,5 @@ var d = new D(); // error var d2 = new D(new Date()); // ok >d2 : Symbol(d2, Decl(derivedClassWithoutExplicitConstructor.ts, 24, 3)) >D : Symbol(D, Decl(derivedClassWithoutExplicitConstructor.ts, 16, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) diff --git a/tests/baselines/reference/derivedClassWithoutExplicitConstructor2.symbols b/tests/baselines/reference/derivedClassWithoutExplicitConstructor2.symbols index a6e3be7da95..b76a6cd9749 100644 --- a/tests/baselines/reference/derivedClassWithoutExplicitConstructor2.symbols +++ b/tests/baselines/reference/derivedClassWithoutExplicitConstructor2.symbols @@ -83,7 +83,7 @@ class Base2 { class D extends Base2 { >D : Symbol(D, Decl(derivedClassWithoutExplicitConstructor2.ts, 22, 1)) >T : Symbol(T, Decl(derivedClassWithoutExplicitConstructor2.ts, 24, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >Base2 : Symbol(Base2, Decl(derivedClassWithoutExplicitConstructor2.ts, 15, 30)) >T : Symbol(T, Decl(derivedClassWithoutExplicitConstructor2.ts, 24, 8)) @@ -102,18 +102,18 @@ var d = new D(); // error var d2 = new D(new Date()); // ok >d2 : Symbol(d2, Decl(derivedClassWithoutExplicitConstructor2.ts, 30, 3)) >D : Symbol(D, Decl(derivedClassWithoutExplicitConstructor2.ts, 22, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var d3 = new D(new Date(), new Date()); >d3 : Symbol(d3, Decl(derivedClassWithoutExplicitConstructor2.ts, 31, 3)) >D : Symbol(D, Decl(derivedClassWithoutExplicitConstructor2.ts, 22, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var d4 = new D(new Date(), new Date(), new Date()); >d4 : Symbol(d4, Decl(derivedClassWithoutExplicitConstructor2.ts, 32, 3)) >D : Symbol(D, Decl(derivedClassWithoutExplicitConstructor2.ts, 22, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) diff --git a/tests/baselines/reference/derivedClassWithoutExplicitConstructor3.symbols b/tests/baselines/reference/derivedClassWithoutExplicitConstructor3.symbols index 55e0c706427..e1e5f9f4082 100644 --- a/tests/baselines/reference/derivedClassWithoutExplicitConstructor3.symbols +++ b/tests/baselines/reference/derivedClassWithoutExplicitConstructor3.symbols @@ -107,7 +107,7 @@ class D extends Base { class D2 extends D { >D2 : Symbol(D2, Decl(derivedClassWithoutExplicitConstructor3.ts, 35, 1)) >T : Symbol(T, Decl(derivedClassWithoutExplicitConstructor3.ts, 38, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >D : Symbol(D, Decl(derivedClassWithoutExplicitConstructor3.ts, 27, 1)) >T : Symbol(T, Decl(derivedClassWithoutExplicitConstructor3.ts, 38, 9)) @@ -126,11 +126,11 @@ var d = new D2(); // error var d2 = new D2(new Date()); // error >d2 : Symbol(d2, Decl(derivedClassWithoutExplicitConstructor3.ts, 44, 3)) >D2 : Symbol(D2, Decl(derivedClassWithoutExplicitConstructor3.ts, 35, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var d3 = new D2(new Date(), new Date()); // ok >d3 : Symbol(d3, Decl(derivedClassWithoutExplicitConstructor3.ts, 45, 3)) >D2 : Symbol(D2, Decl(derivedClassWithoutExplicitConstructor3.ts, 35, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) diff --git a/tests/baselines/reference/destructureOptionalParameter.symbols b/tests/baselines/reference/destructureOptionalParameter.symbols index d75722076a9..e763a2097a9 100644 --- a/tests/baselines/reference/destructureOptionalParameter.symbols +++ b/tests/baselines/reference/destructureOptionalParameter.symbols @@ -48,7 +48,7 @@ interface QueryMetadataFactory { >read : Symbol(read, Decl(destructureOptionalParameter.ts, 14, 30)) }): ParameterDecorator; ->ParameterDecorator : Symbol(ParameterDecorator, Decl(lib.d.ts, --, --)) +>ParameterDecorator : Symbol(ParameterDecorator, Decl(lib.es5.d.ts, --, --)) new (selector: Type | string, {descendants, read}?: { >selector : Symbol(selector, Decl(destructureOptionalParameter.ts, 17, 9)) diff --git a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.symbols b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.symbols index 944dadea1ad..b37799eeb6c 100644 --- a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.symbols +++ b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.symbols @@ -1,8 +1,8 @@ === tests/cases/compiler/destructuredLateBoundNameHasCorrectTypes.ts === let { [Symbol.iterator]: destructured } = []; ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >destructured : Symbol(destructured, Decl(destructuredLateBoundNameHasCorrectTypes.ts, 0, 5)) void destructured; diff --git a/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.symbols b/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.symbols index b8ec6437e10..202986ed335 100644 --- a/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.symbols +++ b/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.symbols @@ -20,8 +20,8 @@ var [b0, b1, b2]: [number, boolean, string] = [1, 2, "string"]; // Error interface J extends Array { >J : Symbol(J, Decl(destructuringArrayBindingPatternAndAssignment2.ts, 8, 63)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) 2: number; >2 : Symbol(J[2], Decl(destructuringArrayBindingPatternAndAssignment2.ts, 9, 35)) diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES5.symbols b/tests/baselines/reference/destructuringParameterDeclaration3ES5.symbols index d34aff88196..b7704bdb148 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES5.symbols +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES5.symbols @@ -7,19 +7,19 @@ type arrayString = Array >arrayString : Symbol(arrayString, Decl(destructuringParameterDeclaration3ES5.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->String : Symbol(String, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 1 more) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) type someArray = Array | number[]; >someArray : Symbol(someArray, Decl(destructuringParameterDeclaration3ES5.ts, 6, 32)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->String : Symbol(String, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 1 more) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) type stringOrNumArray = Array; >stringOrNumArray : Symbol(stringOrNumArray, Decl(destructuringParameterDeclaration3ES5.ts, 7, 42)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->String : Symbol(String, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 1 more) ->Number : Symbol(Number, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function a1(...x: (number|string)[]) { } >a1 : Symbol(a1, Decl(destructuringParameterDeclaration3ES5.ts, 8, 45)) @@ -32,8 +32,8 @@ function a2(...a) { } function a3(...a: Array) { } >a3 : Symbol(a3, Decl(destructuringParameterDeclaration3ES5.ts, 11, 21)) >a : Symbol(a, Decl(destructuringParameterDeclaration3ES5.ts, 12, 12)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->String : Symbol(String, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 1 more) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) function a4(...a: arrayString) { } >a4 : Symbol(a4, Decl(destructuringParameterDeclaration3ES5.ts, 12, 36)) @@ -121,7 +121,7 @@ const enum E1 { a, b } function foo1(...a: T[]) { } >foo1 : Symbol(foo1, Decl(destructuringParameterDeclaration3ES5.ts, 38, 22)) >T : Symbol(T, Decl(destructuringParameterDeclaration3ES5.ts, 39, 14)) ->Number : Symbol(Number, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(destructuringParameterDeclaration3ES5.ts, 39, 32)) >T : Symbol(T, Decl(destructuringParameterDeclaration3ES5.ts, 39, 14)) diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.symbols b/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.symbols index 8ce99051801..89509b8b9ca 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.symbols +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.symbols @@ -7,19 +7,19 @@ type arrayString = Array >arrayString : Symbol(arrayString, Decl(destructuringParameterDeclaration3ES5iterable.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type someArray = Array | number[]; >someArray : Symbol(someArray, Decl(destructuringParameterDeclaration3ES5iterable.ts, 6, 32)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type stringOrNumArray = Array; >stringOrNumArray : Symbol(stringOrNumArray, Decl(destructuringParameterDeclaration3ES5iterable.ts, 7, 42)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function a1(...x: (number|string)[]) { } >a1 : Symbol(a1, Decl(destructuringParameterDeclaration3ES5iterable.ts, 8, 45)) @@ -32,8 +32,8 @@ function a2(...a) { } function a3(...a: Array) { } >a3 : Symbol(a3, Decl(destructuringParameterDeclaration3ES5iterable.ts, 11, 21)) >a : Symbol(a, Decl(destructuringParameterDeclaration3ES5iterable.ts, 12, 12)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function a4(...a: arrayString) { } >a4 : Symbol(a4, Decl(destructuringParameterDeclaration3ES5iterable.ts, 12, 36)) @@ -121,7 +121,7 @@ const enum E1 { a, b } function foo1(...a: T[]) { } >foo1 : Symbol(foo1, Decl(destructuringParameterDeclaration3ES5iterable.ts, 38, 22)) >T : Symbol(T, Decl(destructuringParameterDeclaration3ES5iterable.ts, 39, 14)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(destructuringParameterDeclaration3ES5iterable.ts, 39, 32)) >T : Symbol(T, Decl(destructuringParameterDeclaration3ES5iterable.ts, 39, 14)) diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES6.symbols b/tests/baselines/reference/destructuringParameterDeclaration3ES6.symbols index 5656fb33597..266f8e1af70 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES6.symbols +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES6.symbols @@ -7,19 +7,19 @@ type arrayString = Array >arrayString : Symbol(arrayString, Decl(destructuringParameterDeclaration3ES6.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->String : Symbol(String, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 1 more) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) type someArray = Array | number[]; >someArray : Symbol(someArray, Decl(destructuringParameterDeclaration3ES6.ts, 6, 32)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->String : Symbol(String, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 1 more) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) type stringOrNumArray = Array; >stringOrNumArray : Symbol(stringOrNumArray, Decl(destructuringParameterDeclaration3ES6.ts, 7, 42)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->String : Symbol(String, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 1 more) ->Number : Symbol(Number, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function a1(...x: (number|string)[]) { } >a1 : Symbol(a1, Decl(destructuringParameterDeclaration3ES6.ts, 8, 45)) @@ -32,8 +32,8 @@ function a2(...a) { } function a3(...a: Array) { } >a3 : Symbol(a3, Decl(destructuringParameterDeclaration3ES6.ts, 11, 21)) >a : Symbol(a, Decl(destructuringParameterDeclaration3ES6.ts, 12, 12)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->String : Symbol(String, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 1 more) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) function a4(...a: arrayString) { } >a4 : Symbol(a4, Decl(destructuringParameterDeclaration3ES6.ts, 12, 36)) @@ -121,7 +121,7 @@ const enum E1 { a, b } function foo1(...a: T[]) { } >foo1 : Symbol(foo1, Decl(destructuringParameterDeclaration3ES6.ts, 38, 22)) >T : Symbol(T, Decl(destructuringParameterDeclaration3ES6.ts, 39, 14)) ->Number : Symbol(Number, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(destructuringParameterDeclaration3ES6.ts, 39, 32)) >T : Symbol(T, Decl(destructuringParameterDeclaration3ES6.ts, 39, 14)) diff --git a/tests/baselines/reference/destructuringParameterDeclaration4.symbols b/tests/baselines/reference/destructuringParameterDeclaration4.symbols index 466d0868762..82643f08be5 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration4.symbols +++ b/tests/baselines/reference/destructuringParameterDeclaration4.symbols @@ -7,19 +7,19 @@ type arrayString = Array >arrayString : Symbol(arrayString, Decl(destructuringParameterDeclaration4.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type someArray = Array | number[]; >someArray : Symbol(someArray, Decl(destructuringParameterDeclaration4.ts, 6, 32)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type stringOrNumArray = Array; >stringOrNumArray : Symbol(stringOrNumArray, Decl(destructuringParameterDeclaration4.ts, 7, 42)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function a0(...x: [number, number, string]) { } // Error, rest parameter must be array type >a0 : Symbol(a0, Decl(destructuringParameterDeclaration4.ts, 8, 45)) @@ -86,7 +86,7 @@ class C { function foo1(...a: T[]) { } >foo1 : Symbol(foo1, Decl(destructuringParameterDeclaration4.ts, 29, 1)) >T : Symbol(T, Decl(destructuringParameterDeclaration4.ts, 32, 14)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(destructuringParameterDeclaration4.ts, 32, 32)) >T : Symbol(T, Decl(destructuringParameterDeclaration4.ts, 32, 14)) diff --git a/tests/baselines/reference/destructuringWithConstraint.symbols b/tests/baselines/reference/destructuringWithConstraint.symbols index aef7aad768e..90b7fa41e04 100644 --- a/tests/baselines/reference/destructuringWithConstraint.symbols +++ b/tests/baselines/reference/destructuringWithConstraint.symbols @@ -13,7 +13,7 @@ function foo

(props: Readonly

) { >P : Symbol(P, Decl(destructuringWithConstraint.ts, 6, 13)) >Props : Symbol(Props, Decl(destructuringWithConstraint.ts, 0, 0)) >props : Symbol(props, Decl(destructuringWithConstraint.ts, 6, 30)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >P : Symbol(P, Decl(destructuringWithConstraint.ts, 6, 13)) let { foo = false } = props; diff --git a/tests/baselines/reference/destructuringWithGenericParameter.symbols b/tests/baselines/reference/destructuringWithGenericParameter.symbols index 9a795cb5441..8c82f708ef5 100644 --- a/tests/baselines/reference/destructuringWithGenericParameter.symbols +++ b/tests/baselines/reference/destructuringWithGenericParameter.symbols @@ -37,9 +37,9 @@ genericFunction(genericObject, ({greeting}) => { var s = greeting.toLocaleLowerCase(); // Greeting should be of type string >s : Symbol(s, Decl(destructuringWithGenericParameter.ts, 11, 7)) ->greeting.toLocaleLowerCase : Symbol(String.toLocaleLowerCase, Decl(lib.d.ts, --, --)) +>greeting.toLocaleLowerCase : Symbol(String.toLocaleLowerCase, Decl(lib.es5.d.ts, --, --)) >greeting : Symbol(greeting, Decl(destructuringWithGenericParameter.ts, 10, 33)) ->toLocaleLowerCase : Symbol(String.toLocaleLowerCase, Decl(lib.d.ts, --, --)) +>toLocaleLowerCase : Symbol(String.toLocaleLowerCase, Decl(lib.es5.d.ts, --, --)) }); diff --git a/tests/baselines/reference/discriminantPropertyCheck.symbols b/tests/baselines/reference/discriminantPropertyCheck.symbols index 108e57c80f8..66ef653ac0d 100644 --- a/tests/baselines/reference/discriminantPropertyCheck.symbols +++ b/tests/baselines/reference/discriminantPropertyCheck.symbols @@ -60,11 +60,11 @@ function goo1(x: Item) { >undefined : Symbol(undefined) x.foo.length; ->x.foo.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.foo.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x.foo : Symbol(Item1.foo, Decl(discriminantPropertyCheck.ts, 7, 14)) >x : Symbol(x, Decl(discriminantPropertyCheck.ts, 20, 14)) >foo : Symbol(Item1.foo, Decl(discriminantPropertyCheck.ts, 7, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } @@ -83,11 +83,11 @@ function goo2(x: Item) { >kind : Symbol(kind, Decl(discriminantPropertyCheck.ts, 6, 30), Decl(discriminantPropertyCheck.ts, 13, 30)) x.foo.length; // Error, intervening discriminant guard ->x.foo.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.foo.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x.foo : Symbol(Item1.foo, Decl(discriminantPropertyCheck.ts, 7, 14)) >x : Symbol(x, Decl(discriminantPropertyCheck.ts, 26, 14)) >foo : Symbol(Item1.foo, Decl(discriminantPropertyCheck.ts, 7, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } @@ -106,11 +106,11 @@ function foo1(x: Item) { >undefined : Symbol(undefined) x.foo.length; ->x.foo.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.foo.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x.foo : Symbol(foo, Decl(discriminantPropertyCheck.ts, 7, 14), Decl(discriminantPropertyCheck.ts, 14, 14)) >x : Symbol(x, Decl(discriminantPropertyCheck.ts, 32, 14)) >foo : Symbol(foo, Decl(discriminantPropertyCheck.ts, 7, 14), Decl(discriminantPropertyCheck.ts, 14, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } @@ -129,11 +129,11 @@ function foo2(x: Item) { >bar : Symbol(Base.bar, Decl(discriminantPropertyCheck.ts, 2, 16)) x.foo.length; ->x.foo.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.foo.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x.foo : Symbol(foo, Decl(discriminantPropertyCheck.ts, 7, 14), Decl(discriminantPropertyCheck.ts, 14, 14)) >x : Symbol(x, Decl(discriminantPropertyCheck.ts, 38, 14)) >foo : Symbol(foo, Decl(discriminantPropertyCheck.ts, 7, 14), Decl(discriminantPropertyCheck.ts, 14, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } @@ -152,11 +152,11 @@ function foo3(x: Item) { >undefined : Symbol(undefined) x.foo.length; ->x.foo.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.foo.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x.foo : Symbol(foo, Decl(discriminantPropertyCheck.ts, 7, 14), Decl(discriminantPropertyCheck.ts, 14, 14)) >x : Symbol(x, Decl(discriminantPropertyCheck.ts, 44, 14)) >foo : Symbol(foo, Decl(discriminantPropertyCheck.ts, 7, 14), Decl(discriminantPropertyCheck.ts, 14, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } @@ -175,11 +175,11 @@ function foo4(x: Item) { >baz : Symbol(baz, Decl(discriminantPropertyCheck.ts, 8, 28), Decl(discriminantPropertyCheck.ts, 15, 28)) x.foo.length; ->x.foo.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.foo.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x.foo : Symbol(foo, Decl(discriminantPropertyCheck.ts, 7, 14), Decl(discriminantPropertyCheck.ts, 14, 14)) >x : Symbol(x, Decl(discriminantPropertyCheck.ts, 50, 14)) >foo : Symbol(foo, Decl(discriminantPropertyCheck.ts, 7, 14), Decl(discriminantPropertyCheck.ts, 14, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } @@ -198,11 +198,11 @@ function foo5(x: Item) { >undefined : Symbol(undefined) x.foo.length; ->x.foo.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.foo.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x.foo : Symbol(Item1.foo, Decl(discriminantPropertyCheck.ts, 7, 14)) >x : Symbol(x, Decl(discriminantPropertyCheck.ts, 56, 14)) >foo : Symbol(Item1.foo, Decl(discriminantPropertyCheck.ts, 7, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } @@ -221,10 +221,10 @@ function foo6(x: Item) { >qux : Symbol(qux, Decl(discriminantPropertyCheck.ts, 9, 17), Decl(discriminantPropertyCheck.ts, 16, 17)) x.foo.length; // Error, intervening discriminant guard ->x.foo.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.foo.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x.foo : Symbol(Item1.foo, Decl(discriminantPropertyCheck.ts, 7, 14)) >x : Symbol(x, Decl(discriminantPropertyCheck.ts, 62, 14)) >foo : Symbol(Item1.foo, Decl(discriminantPropertyCheck.ts, 7, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/discriminantsAndNullOrUndefined.symbols b/tests/baselines/reference/discriminantsAndNullOrUndefined.symbols index 01fd35e1a74..432fa06fda3 100644 --- a/tests/baselines/reference/discriminantsAndNullOrUndefined.symbols +++ b/tests/baselines/reference/discriminantsAndNullOrUndefined.symbols @@ -19,7 +19,7 @@ function never(_: never): never { >_ : Symbol(_, Decl(discriminantsAndNullOrUndefined.ts, 7, 15)) throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function useA(_: A): void { } diff --git a/tests/baselines/reference/discriminatedUnionTypes1.symbols b/tests/baselines/reference/discriminatedUnionTypes1.symbols index 38069447423..393d8b15170 100644 --- a/tests/baselines/reference/discriminatedUnionTypes1.symbols +++ b/tests/baselines/reference/discriminatedUnionTypes1.symbols @@ -62,9 +62,9 @@ function area1(s: Shape) { >kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 5, 21), Decl(discriminatedUnionTypes1.ts, 11, 18)) return Math.PI * s.radius * s.radius; ->Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) +>Math.PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) >s.radius : Symbol(Circle.radius, Decl(discriminatedUnionTypes1.ts, 12, 19)) >s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 18, 15)) >radius : Symbol(Circle.radius, Decl(discriminatedUnionTypes1.ts, 12, 19)) @@ -117,9 +117,9 @@ function area2(s: Shape) { >height : Symbol(Rectangle.height, Decl(discriminatedUnionTypes1.ts, 7, 18)) case "circle": return Math.PI * s.radius * s.radius; ->Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) +>Math.PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) >s.radius : Symbol(Circle.radius, Decl(discriminatedUnionTypes1.ts, 12, 19)) >s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 33, 15)) >radius : Symbol(Circle.radius, Decl(discriminatedUnionTypes1.ts, 12, 19)) @@ -134,7 +134,7 @@ function assertNever(x: never): never { >x : Symbol(x, Decl(discriminatedUnionTypes1.ts, 41, 21)) throw new Error("Unexpected object: " + x); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(discriminatedUnionTypes1.ts, 41, 21)) } @@ -165,9 +165,9 @@ function area3(s: Shape) { >height : Symbol(Rectangle.height, Decl(discriminatedUnionTypes1.ts, 7, 18)) case "circle": return Math.PI * s.radius * s.radius; ->Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) +>Math.PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) >s.radius : Symbol(Circle.radius, Decl(discriminatedUnionTypes1.ts, 12, 19)) >s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 45, 15)) >radius : Symbol(Circle.radius, Decl(discriminatedUnionTypes1.ts, 12, 19)) @@ -208,9 +208,9 @@ function area4(s: Shape) { >height : Symbol(Rectangle.height, Decl(discriminatedUnionTypes1.ts, 7, 18)) case "circle": return Math.PI * s.radius * s.radius; ->Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) +>Math.PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) >s.radius : Symbol(Circle.radius, Decl(discriminatedUnionTypes1.ts, 12, 19)) >s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 54, 15)) >radius : Symbol(Circle.radius, Decl(discriminatedUnionTypes1.ts, 12, 19)) @@ -395,7 +395,7 @@ function f8(m: Message) { return; case "D": throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } m; // { kind: "B" | "C", y: number } >m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 133, 12)) diff --git a/tests/baselines/reference/doNotInferUnrelatedTypes.symbols b/tests/baselines/reference/doNotInferUnrelatedTypes.symbols index ce7351cf78f..0324d6091f1 100644 --- a/tests/baselines/reference/doNotInferUnrelatedTypes.symbols +++ b/tests/baselines/reference/doNotInferUnrelatedTypes.symbols @@ -4,7 +4,7 @@ declare function dearray(ara: ReadonlyArray): T; >dearray : Symbol(dearray, Decl(doNotInferUnrelatedTypes.ts, 0, 0)) >T : Symbol(T, Decl(doNotInferUnrelatedTypes.ts, 1, 25)) >ara : Symbol(ara, Decl(doNotInferUnrelatedTypes.ts, 1, 28)) ->ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.d.ts, --, --)) +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(doNotInferUnrelatedTypes.ts, 1, 25)) >T : Symbol(T, Decl(doNotInferUnrelatedTypes.ts, 1, 25)) @@ -13,7 +13,7 @@ type LiteralType = "foo" | "bar"; declare var alt: Array; >alt : Symbol(alt, Decl(doNotInferUnrelatedTypes.ts, 3, 11)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >LiteralType : Symbol(LiteralType, Decl(doNotInferUnrelatedTypes.ts, 1, 54)) let foo: LiteralType = dearray(alt); diff --git a/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.symbols b/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.symbols index f1f0187a7eb..52bf6d41484 100644 --- a/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.symbols +++ b/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.symbols @@ -32,5 +32,5 @@ class C extends Mixin2(Mixin1(Object)) {} >C : Symbol(C, Decl(doubleMixinConditionalTypeBaseClassWorks.ts, 5, 76)) >Mixin2 : Symbol(Mixin2, Decl(doubleMixinConditionalTypeBaseClassWorks.ts, 5, 5)) >Mixin1 : Symbol(Mixin1, Decl(doubleMixinConditionalTypeBaseClassWorks.ts, 2, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/doubleUnderscoreMappedTypes.symbols b/tests/baselines/reference/doubleUnderscoreMappedTypes.symbols index 2569a88cf07..9f14a3bab48 100644 --- a/tests/baselines/reference/doubleUnderscoreMappedTypes.symbols +++ b/tests/baselines/reference/doubleUnderscoreMappedTypes.symbols @@ -39,7 +39,7 @@ type Property2Type = Properties["__property2"]; // And should work with partial const partial: Partial = { >partial : Symbol(partial, Decl(doubleUnderscoreMappedTypes.ts, 19, 5)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >Properties : Symbol(Properties, Decl(doubleUnderscoreMappedTypes.ts, 0, 0)) property1: "", diff --git a/tests/baselines/reference/duplicateLocalVariable1.symbols b/tests/baselines/reference/duplicateLocalVariable1.symbols index 23e2522d1d5..d554dc81181 100644 --- a/tests/baselines/reference/duplicateLocalVariable1.symbols +++ b/tests/baselines/reference/duplicateLocalVariable1.symbols @@ -35,9 +35,9 @@ export class TestRunner { >arg2 : Symbol(arg2, Decl(duplicateLocalVariable1.ts, 17, 36)) return (arg1.every(function (val, index) { return val === arg2[index] })); ->arg1.every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>arg1.every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >arg1 : Symbol(arg1, Decl(duplicateLocalVariable1.ts, 17, 24)) ->every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >val : Symbol(val, Decl(duplicateLocalVariable1.ts, 18, 37)) >index : Symbol(index, Decl(duplicateLocalVariable1.ts, 18, 41)) >val : Symbol(val, Decl(duplicateLocalVariable1.ts, 18, 37)) @@ -51,11 +51,11 @@ export class TestRunner { >TestCase : Symbol(TestCase, Decl(duplicateLocalVariable1.ts, 8, 37)) this.tests.push(test); ->this.tests.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>this.tests.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >this.tests : Symbol(TestRunner.tests, Decl(duplicateLocalVariable1.ts, 14, 25)) >this : Symbol(TestRunner, Decl(duplicateLocalVariable1.ts, 13, 1)) >tests : Symbol(TestRunner.tests, Decl(duplicateLocalVariable1.ts, 14, 25)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >test : Symbol(test, Decl(duplicateLocalVariable1.ts, 21, 19)) } public run() { @@ -118,16 +118,16 @@ export class TestRunner { var regex = new RegExp(testcase.errorMessageRegEx); >regex : Symbol(regex, Decl(duplicateLocalVariable1.ts, 40, 27)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >testcase.errorMessageRegEx : Symbol(TestCase.errorMessageRegEx, Decl(duplicateLocalVariable1.ts, 11, 63)) >testcase : Symbol(testcase, Decl(duplicateLocalVariable1.ts, 28, 15)) >errorMessageRegEx : Symbol(TestCase.errorMessageRegEx, Decl(duplicateLocalVariable1.ts, 11, 63)) testResult = regex.test(e.message); >testResult : Symbol(testResult, Decl(duplicateLocalVariable1.ts, 29, 15)) ->regex.test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) +>regex.test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) >regex : Symbol(regex, Decl(duplicateLocalVariable1.ts, 40, 27)) ->test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) +>test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) >e : Symbol(e, Decl(duplicateLocalVariable1.ts, 33, 19)) } } @@ -182,14 +182,14 @@ export var tests: TestRunner = (function () { >testRunner : Symbol(testRunner, Decl(duplicateLocalVariable1.ts, 61, 7)) >addTest : Symbol(TestRunner.addTest, Decl(duplicateLocalVariable1.ts, 19, 5)) >TestCase : Symbol(TestCase, Decl(duplicateLocalVariable1.ts, 8, 37)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) testRunner.addTest(new TestCase("Test RegEx error message match", function () { throw new Error("Should also pass"); return false; }, "Should [also]+ pass")); >testRunner.addTest : Symbol(TestRunner.addTest, Decl(duplicateLocalVariable1.ts, 19, 5)) >testRunner : Symbol(testRunner, Decl(duplicateLocalVariable1.ts, 61, 7)) >addTest : Symbol(TestRunner.addTest, Decl(duplicateLocalVariable1.ts, 19, 5)) >TestCase : Symbol(TestCase, Decl(duplicateLocalVariable1.ts, 8, 37)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) testRunner.addTest(new TestCase("Test array compare true", function () { return TestRunner.arrayCompare([1, 2, 3], [1, 2, 3]); })); >testRunner.addTest : Symbol(TestRunner.addTest, Decl(duplicateLocalVariable1.ts, 19, 5)) @@ -478,9 +478,9 @@ export var tests: TestRunner = (function () { >i : Symbol(i, Decl(duplicateLocalVariable1.ts, 158, 20)) chars.push(fb.readByte()); ->chars.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>chars.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >chars : Symbol(chars, Decl(duplicateLocalVariable1.ts, 157, 15)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >fb : Symbol(fb, Decl(duplicateLocalVariable1.ts, 156, 15)) } return TestRunner.arrayCompare(chars, [0x54, 0xC3, 0xA8, 0xE1, 0xB4, 0xA3, 0xE2, 0x80, 0xA0, 0x0D, 0x0A]); @@ -513,9 +513,9 @@ export var tests: TestRunner = (function () { >i : Symbol(i, Decl(duplicateLocalVariable1.ts, 169, 20)) chars.push(fb.readUtf8CodePoint()); ->chars.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>chars.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >chars : Symbol(chars, Decl(duplicateLocalVariable1.ts, 168, 15)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >fb : Symbol(fb, Decl(duplicateLocalVariable1.ts, 167, 15)) } return TestRunner.arrayCompare(chars, [0x0054, 0x00E8, 0x1D23, 0x2020, 0x000D, 0x000A]); @@ -564,9 +564,9 @@ export var tests: TestRunner = (function () { >i : Symbol(i, Decl(duplicateLocalVariable1.ts, 180, 20), Decl(duplicateLocalVariable1.ts, 185, 20)) bytes.push(fb.readByte()); ->bytes.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>bytes.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >bytes : Symbol(bytes, Decl(duplicateLocalVariable1.ts, 184, 15)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >fb : Symbol(fb, Decl(duplicateLocalVariable1.ts, 177, 15)) } var expected = [0xEF, 0xBB, 0xBF, 0x54, 0xC3, 0xA8, 0xE1, 0xB4, 0xA3, 0xE2, 0x80, 0xA0, 0x0D, 0x0A]; @@ -604,9 +604,9 @@ export var tests: TestRunner = (function () { >chars : Symbol(chars, Decl(duplicateLocalVariable1.ts, 198, 15)) chars.forEach(function (val) { fb.writeUtf16CodePoint(val, false); }); ->chars.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>chars.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >chars : Symbol(chars, Decl(duplicateLocalVariable1.ts, 198, 15)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >val : Symbol(val, Decl(duplicateLocalVariable1.ts, 199, 36)) >fb : Symbol(fb, Decl(duplicateLocalVariable1.ts, 196, 15)) >val : Symbol(val, Decl(duplicateLocalVariable1.ts, 199, 36)) @@ -624,7 +624,7 @@ export var tests: TestRunner = (function () { >savedFile : Symbol(savedFile, Decl(duplicateLocalVariable1.ts, 202, 15)) throw Error("Incorrect encoding"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var expectedBytes = [0xFF, 0xFE, 0x54, 0x00, 0xE8, 0x00, 0x23, 0x1D, 0x20, 0x20, 0x0D, 0x00, 0x0A, 0x00] >expectedBytes : Symbol(expectedBytes, Decl(duplicateLocalVariable1.ts, 206, 15)) @@ -633,9 +633,9 @@ export var tests: TestRunner = (function () { >savedFile : Symbol(savedFile, Decl(duplicateLocalVariable1.ts, 202, 15)) expectedBytes.forEach(function (val) { ->expectedBytes.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>expectedBytes.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >expectedBytes : Symbol(expectedBytes, Decl(duplicateLocalVariable1.ts, 206, 15)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >val : Symbol(val, Decl(duplicateLocalVariable1.ts, 208, 44)) var byteVal = savedFile.readByte(); @@ -647,7 +647,7 @@ export var tests: TestRunner = (function () { >val : Symbol(val, Decl(duplicateLocalVariable1.ts, 208, 44)) throw Error("Incorrect byte value"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } }); return true; @@ -706,7 +706,7 @@ export var tests: TestRunner = (function () { >savedFile : Symbol(savedFile, Decl(duplicateLocalVariable1.ts, 233, 15)) throw Error("Incorrect encoding"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var codePoints = []; @@ -718,9 +718,9 @@ export var tests: TestRunner = (function () { >i : Symbol(i, Decl(duplicateLocalVariable1.ts, 239, 20)) codePoints.push(savedFile.readUtf16CodePoint(false)); ->codePoints.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>codePoints.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >codePoints : Symbol(codePoints, Decl(duplicateLocalVariable1.ts, 238, 15)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >savedFile : Symbol(savedFile, Decl(duplicateLocalVariable1.ts, 233, 15)) } var expectedCodePoints = [0x10480, 0x10481, 0x10482, 0x54, 0x68, 0x69]; @@ -751,7 +751,7 @@ export var tests: TestRunner = (function () { >savedFile : Symbol(savedFile, Decl(duplicateLocalVariable1.ts, 248, 15)) throw Error("Incorrect encoding"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var codePoints = []; @@ -763,9 +763,9 @@ export var tests: TestRunner = (function () { >i : Symbol(i, Decl(duplicateLocalVariable1.ts, 254, 20)) codePoints.push(savedFile.readUtf8CodePoint()); ->codePoints.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>codePoints.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >codePoints : Symbol(codePoints, Decl(duplicateLocalVariable1.ts, 253, 15)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >savedFile : Symbol(savedFile, Decl(duplicateLocalVariable1.ts, 248, 15)) } var expectedCodePoints = [0x10480, 0x10481, 0x10482, 0x54, 0x68, 0x69]; @@ -799,9 +799,9 @@ export var tests: TestRunner = (function () { >chars : Symbol(chars, Decl(duplicateLocalVariable1.ts, 265, 15)) chars.forEach(function (val) { fb.writeUtf8CodePoint(val); }); ->chars.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>chars.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >chars : Symbol(chars, Decl(duplicateLocalVariable1.ts, 265, 15)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >val : Symbol(val, Decl(duplicateLocalVariable1.ts, 266, 36)) >fb : Symbol(fb, Decl(duplicateLocalVariable1.ts, 264, 15)) >val : Symbol(val, Decl(duplicateLocalVariable1.ts, 266, 36)) @@ -819,15 +819,15 @@ export var tests: TestRunner = (function () { >savedFile : Symbol(savedFile, Decl(duplicateLocalVariable1.ts, 269, 15)) throw Error("Incorrect encoding"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var expectedBytes = [0xF0, 0x90, 0x92, 0x80, 0xF0, 0x90, 0x92, 0x81, 0xF0, 0x90, 0x92, 0x82, 0x54, 0x68, 0x69]; >expectedBytes : Symbol(expectedBytes, Decl(duplicateLocalVariable1.ts, 273, 15)) expectedBytes.forEach(function (val) { ->expectedBytes.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>expectedBytes.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >expectedBytes : Symbol(expectedBytes, Decl(duplicateLocalVariable1.ts, 273, 15)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >val : Symbol(val, Decl(duplicateLocalVariable1.ts, 274, 44)) var byteVal = savedFile.readByte(); @@ -839,7 +839,7 @@ export var tests: TestRunner = (function () { >val : Symbol(val, Decl(duplicateLocalVariable1.ts, 274, 44)) throw Error("Incorrect byte value"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } }); return true; diff --git a/tests/baselines/reference/duplicateLocalVariable2.symbols b/tests/baselines/reference/duplicateLocalVariable2.symbols index b7fb26c0927..e57ba1df7ac 100644 --- a/tests/baselines/reference/duplicateLocalVariable2.symbols +++ b/tests/baselines/reference/duplicateLocalVariable2.symbols @@ -71,9 +71,9 @@ export var tests: TestRunner = (function () { >i : Symbol(i, Decl(duplicateLocalVariable2.ts, 21, 20), Decl(duplicateLocalVariable2.ts, 26, 20)) bytes.push(fb.readByte()); ->bytes.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>bytes.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >bytes : Symbol(bytes, Decl(duplicateLocalVariable2.ts, 25, 15)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >fb : Symbol(fb, Decl(duplicateLocalVariable2.ts, 18, 15)) } var expected = [0xEF]; diff --git a/tests/baselines/reference/duplicateNumericIndexers.symbols b/tests/baselines/reference/duplicateNumericIndexers.symbols index abb49155628..b4345dce5b6 100644 --- a/tests/baselines/reference/duplicateNumericIndexers.symbols +++ b/tests/baselines/reference/duplicateNumericIndexers.symbols @@ -2,7 +2,7 @@ // it is an error to have duplicate index signatures of the same kind in a type interface Number { ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicateNumericIndexers.ts, 0, 0)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(duplicateNumericIndexers.ts, 0, 0)) [x: number]: string; >x : Symbol(x, Decl(duplicateNumericIndexers.ts, 3, 5)) @@ -12,7 +12,7 @@ interface Number { } interface String { ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicateNumericIndexers.ts, 5, 1)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(duplicateNumericIndexers.ts, 5, 1)) [x: number]: string; >x : Symbol(x, Decl(duplicateNumericIndexers.ts, 8, 5)) @@ -22,16 +22,16 @@ interface String { } interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicateNumericIndexers.ts, 10, 1)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateNumericIndexers.ts, 12, 16)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(duplicateNumericIndexers.ts, 10, 1)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicateNumericIndexers.ts, 12, 16)) [x: number]: T; >x : Symbol(x, Decl(duplicateNumericIndexers.ts, 13, 5)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateNumericIndexers.ts, 12, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicateNumericIndexers.ts, 12, 16)) [x: number]: T; >x : Symbol(x, Decl(duplicateNumericIndexers.ts, 14, 5)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateNumericIndexers.ts, 12, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicateNumericIndexers.ts, 12, 16)) } class C { diff --git a/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.symbols b/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.symbols index 31efb739e4c..db63f98e5ae 100644 --- a/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.symbols +++ b/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.symbols @@ -1,36 +1,36 @@ === tests/cases/compiler/duplicateOverloadInTypeAugmentation1.ts === interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 20), Decl(duplicateOverloadInTypeAugmentation1.ts, 2, 29)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 20), Decl(duplicateOverloadInTypeAugmentation1.ts, 2, 29)) >callbackfn : Symbol(callbackfn, Decl(duplicateOverloadInTypeAugmentation1.ts, 1, 11)) >previousValue : Symbol(previousValue, Decl(duplicateOverloadInTypeAugmentation1.ts, 1, 24)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) >currentValue : Symbol(currentValue, Decl(duplicateOverloadInTypeAugmentation1.ts, 1, 41)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) >currentIndex : Symbol(currentIndex, Decl(duplicateOverloadInTypeAugmentation1.ts, 1, 58)) >array : Symbol(array, Decl(duplicateOverloadInTypeAugmentation1.ts, 1, 80)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) initialValue?: T): T; >initialValue : Symbol(initialValue, Decl(duplicateOverloadInTypeAugmentation1.ts, 1, 98)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 20), Decl(duplicateOverloadInTypeAugmentation1.ts, 2, 29)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 20), Decl(duplicateOverloadInTypeAugmentation1.ts, 2, 29)) >U : Symbol(U, Decl(duplicateOverloadInTypeAugmentation1.ts, 3, 11)) >callbackfn : Symbol(callbackfn, Decl(duplicateOverloadInTypeAugmentation1.ts, 3, 14)) >previousValue : Symbol(previousValue, Decl(duplicateOverloadInTypeAugmentation1.ts, 3, 27)) >U : Symbol(U, Decl(duplicateOverloadInTypeAugmentation1.ts, 3, 11)) >currentValue : Symbol(currentValue, Decl(duplicateOverloadInTypeAugmentation1.ts, 3, 44)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) >currentIndex : Symbol(currentIndex, Decl(duplicateOverloadInTypeAugmentation1.ts, 3, 61)) >array : Symbol(array, Decl(duplicateOverloadInTypeAugmentation1.ts, 3, 83)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 16)) >U : Symbol(U, Decl(duplicateOverloadInTypeAugmentation1.ts, 3, 11)) initialValue: U): U; @@ -40,13 +40,13 @@ interface Array { } var a: Array; >a : Symbol(a, Decl(duplicateOverloadInTypeAugmentation1.ts, 6, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 0)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 0)) var r5 = a.reduce((x, y) => x + y); >r5 : Symbol(r5, Decl(duplicateOverloadInTypeAugmentation1.ts, 7, 3)) ->a.reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 20), Decl(duplicateOverloadInTypeAugmentation1.ts, 2, 29)) +>a.reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 20), Decl(duplicateOverloadInTypeAugmentation1.ts, 2, 29)) >a : Symbol(a, Decl(duplicateOverloadInTypeAugmentation1.ts, 6, 3)) ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 20), Decl(duplicateOverloadInTypeAugmentation1.ts, 2, 29)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(duplicateOverloadInTypeAugmentation1.ts, 0, 20), Decl(duplicateOverloadInTypeAugmentation1.ts, 2, 29)) >x : Symbol(x, Decl(duplicateOverloadInTypeAugmentation1.ts, 7, 19)) >y : Symbol(y, Decl(duplicateOverloadInTypeAugmentation1.ts, 7, 21)) >x : Symbol(x, Decl(duplicateOverloadInTypeAugmentation1.ts, 7, 19)) diff --git a/tests/baselines/reference/duplicatePropertyNames.symbols b/tests/baselines/reference/duplicatePropertyNames.symbols index b81d1e8bc78..a6a0fb3bba2 100644 --- a/tests/baselines/reference/duplicatePropertyNames.symbols +++ b/tests/baselines/reference/duplicatePropertyNames.symbols @@ -2,7 +2,7 @@ // duplicate property names are an error in all types interface Number { ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicatePropertyNames.ts, 0, 0)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(duplicatePropertyNames.ts, 0, 0)) foo: string; >foo : Symbol(Number.foo, Decl(duplicatePropertyNames.ts, 2, 18), Decl(duplicatePropertyNames.ts, 3, 16)) @@ -12,7 +12,7 @@ interface Number { } interface String { ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicatePropertyNames.ts, 5, 1)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(duplicatePropertyNames.ts, 5, 1)) foo(): string; >foo : Symbol(String.foo, Decl(duplicatePropertyNames.ts, 7, 18), Decl(duplicatePropertyNames.ts, 8, 18)) @@ -22,16 +22,16 @@ interface String { } interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(duplicatePropertyNames.ts, 10, 1)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicatePropertyNames.ts, 12, 16)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(duplicatePropertyNames.ts, 10, 1)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicatePropertyNames.ts, 12, 16)) foo: T; >foo : Symbol(Array.foo, Decl(duplicatePropertyNames.ts, 12, 20), Decl(duplicatePropertyNames.ts, 13, 11)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicatePropertyNames.ts, 12, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicatePropertyNames.ts, 12, 16)) foo: T; >foo : Symbol(Array.foo, Decl(duplicatePropertyNames.ts, 12, 20), Decl(duplicatePropertyNames.ts, 13, 11)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(duplicatePropertyNames.ts, 12, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(duplicatePropertyNames.ts, 12, 16)) } class C { diff --git a/tests/baselines/reference/dynamicNames.symbols b/tests/baselines/reference/dynamicNames.symbols index 08a49fc05dc..fac6046d3c2 100644 --- a/tests/baselines/reference/dynamicNames.symbols +++ b/tests/baselines/reference/dynamicNames.symbols @@ -7,7 +7,7 @@ export const c1 = 1; export const s0 = Symbol(); >s0 : Symbol(s0, Decl(module.ts, 2, 12)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) export interface T0 { >T0 : Symbol(T0, Decl(module.ts, 2, 27)) diff --git a/tests/baselines/reference/dynamicNamesErrors.symbols b/tests/baselines/reference/dynamicNamesErrors.symbols index 038d566830c..3b9808dc01b 100644 --- a/tests/baselines/reference/dynamicNamesErrors.symbols +++ b/tests/baselines/reference/dynamicNamesErrors.symbols @@ -62,19 +62,19 @@ t2 = t1; const x = Symbol(); >x : Symbol(x, Decl(dynamicNamesErrors.ts, 26, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) const y = Symbol(); >y : Symbol(y, Decl(dynamicNamesErrors.ts, 27, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) const z = Symbol(); >z : Symbol(z, Decl(dynamicNamesErrors.ts, 28, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) const w = Symbol(); >w : Symbol(w, Decl(dynamicNamesErrors.ts, 29, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) export interface InterfaceMemberVisibility { >InterfaceMemberVisibility : Symbol(InterfaceMemberVisibility, Decl(dynamicNamesErrors.ts, 29, 19)) diff --git a/tests/baselines/reference/elementAccessExpressionInternalComments.symbols b/tests/baselines/reference/elementAccessExpressionInternalComments.symbols index c5b6cb7afc4..64d856d83cf 100644 --- a/tests/baselines/reference/elementAccessExpressionInternalComments.symbols +++ b/tests/baselines/reference/elementAccessExpressionInternalComments.symbols @@ -1,14 +1,14 @@ === tests/cases/compiler/elementAccessExpressionInternalComments.ts === /*0*/ Array /*1*/[ /*2*/ "toString" /*3*/ ] /*4*/; /*5*/ ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->"toString" : Symbol(Function.toString, Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>"toString" : Symbol(Function.toString, Decl(lib.es5.d.ts, --, --)) /*0*/ Array ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // single line /*1*/[ /*2*/ "toString" ->"toString" : Symbol(Function.toString, Decl(lib.d.ts, --, --)) +>"toString" : Symbol(Function.toString, Decl(lib.es5.d.ts, --, --)) // single line /*3*/ ] /*4*/ diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.symbols b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.symbols index 4bafae49e31..71762e4f687 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.symbols +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.symbols @@ -3,9 +3,9 @@ function f() { >f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments14.ts, 0, 0)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) const arguments = 100; >arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments14.ts, 2, 13)) diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.symbols b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.symbols index d99227adb5f..b984e697d02 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.symbols +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.symbols @@ -3,9 +3,9 @@ function f() { >f : Symbol(f, Decl(emitArrowFunctionWhenUsingArguments14_ES6.ts, 0, 0)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.es6.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.es6.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) let arguments = 100; >arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments14_ES6.ts, 2, 11)) diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.symbols b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.symbols index e15747ba90f..84f060be505 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.symbols +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.symbols @@ -6,9 +6,9 @@ function f() { >arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15.ts, 1, 7)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) const arguments = 100; >arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15.ts, 3, 13)) diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.symbols b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.symbols index 14618f76ba1..95693995e7f 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.symbols +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.symbols @@ -6,9 +6,9 @@ function f() { >arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15_ES6.ts, 1, 7)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.es6.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.es6.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) const arguments = 100; >arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments15_ES6.ts, 3, 13)) diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.symbols b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.symbols index 8b105f8ce94..8bc466db324 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.symbols +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.symbols @@ -6,9 +6,9 @@ function f() { >arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16.ts, 5, 7)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) return () => arguments[0]; >arguments : Symbol(arguments) diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.symbols b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.symbols index 077fde35fc5..accf6365cd4 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.symbols +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.symbols @@ -6,9 +6,9 @@ function f() { >arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 1, 7), Decl(emitArrowFunctionWhenUsingArguments16_ES6.ts, 5, 7)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.es6.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.es6.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) return () => arguments[0]; >arguments : Symbol(arguments) diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.symbols b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.symbols index af0d175db37..f1e2b4fa3b5 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.symbols +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.symbols @@ -7,9 +7,9 @@ function f() { >arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17.ts, 1, 25)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) return () => arguments[0]; >arguments : Symbol(arguments) diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.symbols b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.symbols index f610cdbac25..7cfb86db049 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.symbols +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.symbols @@ -7,9 +7,9 @@ function f() { >arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments17_ES6.ts, 1, 25)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.es6.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.es6.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) return () => arguments[0]; >arguments : Symbol(arguments) diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18.symbols b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18.symbols index 64f6b8865c5..1fb6b8795ea 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18.symbols +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18.symbols @@ -8,9 +8,9 @@ function f() { >arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments18.ts, 1, 31)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) return () => arguments; >arguments : Symbol(arguments) diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18_ES6.symbols b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18_ES6.symbols index 4599fdf9a6a..918e5ed4449 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18_ES6.symbols +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18_ES6.symbols @@ -8,9 +8,9 @@ function f() { >arguments : Symbol(arguments, Decl(emitArrowFunctionWhenUsingArguments18_ES6.ts, 1, 31)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.es6.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.es6.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) return () => arguments; >arguments : Symbol(arguments) diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.symbols b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.symbols index 19ebc050163..795c8e08120 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.symbols +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.symbols @@ -11,12 +11,12 @@ function incrementIdx(max: number) { let idx = Math.floor(Math.random() * max); >idx : Symbol(idx, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 3, 7)) ->Math.floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >max : Symbol(max, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 1, 22)) return idx; @@ -29,31 +29,31 @@ var array1 = [1, 2, 3, 4, 5]; array1[incrementIdx(array1.length)] **= 3; >array1 : Symbol(array1, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 7, 3)) >incrementIdx : Symbol(incrementIdx, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 0, 22)) ->array1.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array1.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array1 : Symbol(array1, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 7, 3)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) array1[incrementIdx(array1.length)] **= array1[incrementIdx(array1.length)] **= 2; >array1 : Symbol(array1, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 7, 3)) >incrementIdx : Symbol(incrementIdx, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 0, 22)) ->array1.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array1.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array1 : Symbol(array1, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 7, 3)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array1 : Symbol(array1, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 7, 3)) >incrementIdx : Symbol(incrementIdx, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 0, 22)) ->array1.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array1.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array1 : Symbol(array1, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 7, 3)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) array1[incrementIdx(array1.length)] **= array1[incrementIdx(array1.length)] ** 2; >array1 : Symbol(array1, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 7, 3)) >incrementIdx : Symbol(incrementIdx, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 0, 22)) ->array1.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array1.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array1 : Symbol(array1, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 7, 3)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array1 : Symbol(array1, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 7, 3)) >incrementIdx : Symbol(incrementIdx, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 0, 22)) ->array1.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array1.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array1 : Symbol(array1, Decl(emitCompoundExponentiationAssignmentWithIndexingOnLHS4.ts, 7, 3)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/emitDecoratorMetadata_object.symbols b/tests/baselines/reference/emitDecoratorMetadata_object.symbols index 21cd801fcdd..fd9ff12a2c6 100644 --- a/tests/baselines/reference/emitDecoratorMetadata_object.symbols +++ b/tests/baselines/reference/emitDecoratorMetadata_object.symbols @@ -1,11 +1,11 @@ === tests/cases/compiler/emitDecoratorMetadata_object.ts === declare const MyClassDecorator: ClassDecorator; >MyClassDecorator : Symbol(MyClassDecorator, Decl(emitDecoratorMetadata_object.ts, 0, 13)) ->ClassDecorator : Symbol(ClassDecorator, Decl(lib.d.ts, --, --)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.es5.d.ts, --, --)) declare const MyMethodDecorator: MethodDecorator; >MyMethodDecorator : Symbol(MyMethodDecorator, Decl(emitDecoratorMetadata_object.ts, 1, 13)) ->MethodDecorator : Symbol(MethodDecorator, Decl(lib.d.ts, --, --)) +>MethodDecorator : Symbol(MethodDecorator, Decl(lib.es5.d.ts, --, --)) @MyClassDecorator >MyClassDecorator : Symbol(MyClassDecorator, Decl(emitDecoratorMetadata_object.ts, 0, 13)) diff --git a/tests/baselines/reference/emitDecoratorMetadata_restArgs.symbols b/tests/baselines/reference/emitDecoratorMetadata_restArgs.symbols index c37ca0b8e4d..8a36fd89d35 100644 --- a/tests/baselines/reference/emitDecoratorMetadata_restArgs.symbols +++ b/tests/baselines/reference/emitDecoratorMetadata_restArgs.symbols @@ -1,11 +1,11 @@ === tests/cases/compiler/emitDecoratorMetadata_restArgs.ts === declare const MyClassDecorator: ClassDecorator; >MyClassDecorator : Symbol(MyClassDecorator, Decl(emitDecoratorMetadata_restArgs.ts, 0, 13)) ->ClassDecorator : Symbol(ClassDecorator, Decl(lib.d.ts, --, --)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.es5.d.ts, --, --)) declare const MyMethodDecorator: MethodDecorator; >MyMethodDecorator : Symbol(MyMethodDecorator, Decl(emitDecoratorMetadata_restArgs.ts, 1, 13)) ->MethodDecorator : Symbol(MethodDecorator, Decl(lib.d.ts, --, --)) +>MethodDecorator : Symbol(MethodDecorator, Decl(lib.es5.d.ts, --, --)) @MyClassDecorator >MyClassDecorator : Symbol(MyClassDecorator, Decl(emitDecoratorMetadata_restArgs.ts, 0, 13)) diff --git a/tests/baselines/reference/emitSkipsThisWithRestParameter.symbols b/tests/baselines/reference/emitSkipsThisWithRestParameter.symbols index 04a699a322d..7c2e8f05b3d 100644 --- a/tests/baselines/reference/emitSkipsThisWithRestParameter.symbols +++ b/tests/baselines/reference/emitSkipsThisWithRestParameter.symbols @@ -11,13 +11,13 @@ function rebase(fn: (base: any, ...args: any[]) => any): (...args: any[]) => any >args : Symbol(args, Decl(emitSkipsThisWithRestParameter.ts, 1, 30)) return fn.apply(this, [ this ].concat(args)); ->fn.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>fn.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >fn : Symbol(fn, Decl(emitSkipsThisWithRestParameter.ts, 0, 16)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >this : Symbol(this, Decl(emitSkipsThisWithRestParameter.ts, 1, 20)) ->[ this ].concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>[ this ].concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >this : Symbol(this, Decl(emitSkipsThisWithRestParameter.ts, 1, 20)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >args : Symbol(args, Decl(emitSkipsThisWithRestParameter.ts, 1, 30)) }; diff --git a/tests/baselines/reference/emptyArrayDestructuringExpressionVisitedByTransformer.symbols b/tests/baselines/reference/emptyArrayDestructuringExpressionVisitedByTransformer.symbols index 5694d47c8c8..d7bcfcb6803 100644 --- a/tests/baselines/reference/emptyArrayDestructuringExpressionVisitedByTransformer.symbols +++ b/tests/baselines/reference/emptyArrayDestructuringExpressionVisitedByTransformer.symbols @@ -1,15 +1,15 @@ === tests/cases/compiler/emptyArrayDestructuringExpressionVisitedByTransformer.ts === var a = [] = [1].map(_ => _); >a : Symbol(a, Decl(emptyArrayDestructuringExpressionVisitedByTransformer.ts, 0, 3)) ->[1].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>[1].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >_ : Symbol(_, Decl(emptyArrayDestructuringExpressionVisitedByTransformer.ts, 0, 21)) >_ : Symbol(_, Decl(emptyArrayDestructuringExpressionVisitedByTransformer.ts, 0, 21)) var b = [1].map(_ => _); >b : Symbol(b, Decl(emptyArrayDestructuringExpressionVisitedByTransformer.ts, 1, 3)) ->[1].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>[1].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >_ : Symbol(_, Decl(emptyArrayDestructuringExpressionVisitedByTransformer.ts, 1, 16)) >_ : Symbol(_, Decl(emptyArrayDestructuringExpressionVisitedByTransformer.ts, 1, 16)) diff --git a/tests/baselines/reference/enumAssignability.symbols b/tests/baselines/reference/enumAssignability.symbols index b840b7addb0..a9ea612e28a 100644 --- a/tests/baselines/reference/enumAssignability.symbols +++ b/tests/baselines/reference/enumAssignability.symbols @@ -84,7 +84,7 @@ module Others { var ee: Date = e; >ee : Symbol(ee, Decl(enumAssignability.ts, 30, 7)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >e : Symbol(e, Decl(enumAssignability.ts, 5, 3)) var f: any = e; // ok @@ -97,7 +97,7 @@ module Others { var h: Object = e; >h : Symbol(h, Decl(enumAssignability.ts, 33, 7)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >e : Symbol(e, Decl(enumAssignability.ts, 5, 3)) var i: {} = e; @@ -110,7 +110,7 @@ module Others { var k: Function = e; >k : Symbol(k, Decl(enumAssignability.ts, 36, 7)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >e : Symbol(e, Decl(enumAssignability.ts, 5, 3)) var l: (x: number) => string = e; @@ -145,12 +145,12 @@ module Others { var p: Number = e; >p : Symbol(p, Decl(enumAssignability.ts, 43, 7)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >e : Symbol(e, Decl(enumAssignability.ts, 5, 3)) var q: String = e; >q : Symbol(q, Decl(enumAssignability.ts, 44, 7)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >e : Symbol(e, Decl(enumAssignability.ts, 5, 3)) function foo(x: T, y: U, z: V) { @@ -159,9 +159,9 @@ module Others { >U : Symbol(U, Decl(enumAssignability.ts, 46, 19)) >T : Symbol(T, Decl(enumAssignability.ts, 46, 17)) >V : Symbol(V, Decl(enumAssignability.ts, 46, 32)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >A : Symbol(A, Decl(enumAssignability.ts, 46, 48)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >B : Symbol(B, Decl(enumAssignability.ts, 46, 66)) >E : Symbol(E, Decl(enumAssignability.ts, 0, 0)) >x : Symbol(x, Decl(enumAssignability.ts, 46, 80)) diff --git a/tests/baselines/reference/enumAssignabilityInInheritance.symbols b/tests/baselines/reference/enumAssignabilityInInheritance.symbols index 9d234c79622..5600052c445 100644 --- a/tests/baselines/reference/enumAssignabilityInInheritance.symbols +++ b/tests/baselines/reference/enumAssignabilityInInheritance.symbols @@ -85,8 +85,8 @@ var r4 = foo3(E.A); declare function foo4(x: Date): Date; >foo4 : Symbol(foo4, Decl(enumAssignabilityInInheritance.ts, 26, 19), Decl(enumAssignabilityInInheritance.ts, 28, 37)) >x : Symbol(x, Decl(enumAssignabilityInInheritance.ts, 28, 22)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) declare function foo4(x: E): E; >foo4 : Symbol(foo4, Decl(enumAssignabilityInInheritance.ts, 26, 19), Decl(enumAssignabilityInInheritance.ts, 28, 37)) @@ -104,8 +104,8 @@ var r4 = foo4(E.A); declare function foo5(x: RegExp): RegExp; >foo5 : Symbol(foo5, Decl(enumAssignabilityInInheritance.ts, 31, 19), Decl(enumAssignabilityInInheritance.ts, 33, 41)) >x : Symbol(x, Decl(enumAssignabilityInInheritance.ts, 33, 22)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare function foo5(x: E): E; >foo5 : Symbol(foo5, Decl(enumAssignabilityInInheritance.ts, 31, 19), Decl(enumAssignabilityInInheritance.ts, 33, 41)) @@ -354,8 +354,8 @@ var r4 = foo15(E.A); declare function foo16(x: Object): Object; >foo16 : Symbol(foo16, Decl(enumAssignabilityInInheritance.ts, 98, 20), Decl(enumAssignabilityInInheritance.ts, 100, 42)) >x : Symbol(x, Decl(enumAssignabilityInInheritance.ts, 100, 23)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare function foo16(x: E): E; >foo16 : Symbol(foo16, Decl(enumAssignabilityInInheritance.ts, 98, 20), Decl(enumAssignabilityInInheritance.ts, 100, 42)) diff --git a/tests/baselines/reference/enumBasics.symbols b/tests/baselines/reference/enumBasics.symbols index 948c1711837..d847374bb7c 100644 --- a/tests/baselines/reference/enumBasics.symbols +++ b/tests/baselines/reference/enumBasics.symbols @@ -79,8 +79,8 @@ enum E3 { X = 'foo'.length, Y = 4 + 3, Z = +'foo' >X : Symbol(E3.X, Decl(enumBasics.ts, 31, 9)) ->'foo'.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>'foo'.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >Y : Symbol(E3.Y, Decl(enumBasics.ts, 32, 21)) >Z : Symbol(E3.Z, Decl(enumBasics.ts, 32, 32)) } @@ -93,8 +93,8 @@ enum E4 { >X : Symbol(E4.X, Decl(enumBasics.ts, 36, 9)) >Y : Symbol(E4.Y, Decl(enumBasics.ts, 37, 10)) >Z : Symbol(E4.Z, Decl(enumBasics.ts, 37, 13)) ->'foo'.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>'foo'.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } // Enum with > 2 constant members with no initializer for first member, non zero initializer for second element diff --git a/tests/baselines/reference/enumClassification.symbols b/tests/baselines/reference/enumClassification.symbols index 119162e26a1..8d3db29baee 100644 --- a/tests/baselines/reference/enumClassification.symbols +++ b/tests/baselines/reference/enumClassification.symbols @@ -148,8 +148,8 @@ enum E20 { A = "foo".length, >A : Symbol(E20.A, Decl(enumClassification.ts, 72, 10)) ->"foo".length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>"foo".length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) B = A + 1, >B : Symbol(E20.B, Decl(enumClassification.ts, 73, 21)) @@ -160,8 +160,8 @@ enum E20 { D = Math.sin(1) >D : Symbol(E20.D, Decl(enumClassification.ts, 75, 15)) ->Math.sin : Symbol(Math.sin, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sin : Symbol(Math.sin, Decl(lib.d.ts, --, --)) +>Math.sin : Symbol(Math.sin, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sin : Symbol(Math.sin, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/enumErrors.symbols b/tests/baselines/reference/enumErrors.symbols index e619debdcc9..3dab3ef5f76 100644 --- a/tests/baselines/reference/enumErrors.symbols +++ b/tests/baselines/reference/enumErrors.symbols @@ -18,7 +18,7 @@ enum E5 { C = new Number(30) >C : Symbol(E5.C, Decl(enumErrors.ts, 7, 9)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } enum E9 { @@ -59,11 +59,11 @@ enum E11 { B = new Date(), >B : Symbol(E11.B, Decl(enumErrors.ts, 25, 13)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) C = window, >C : Symbol(E11.C, Decl(enumErrors.ts, 26, 19)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) D = {} >D : Symbol(E11.D, Decl(enumErrors.ts, 27, 15)) @@ -78,11 +78,11 @@ enum E12 { B = new Date(), >B : Symbol(E12.B, Decl(enumErrors.ts, 33, 11)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) C = window, >C : Symbol(E12.C, Decl(enumErrors.ts, 34, 19)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) D = {}, >D : Symbol(E12.D, Decl(enumErrors.ts, 35, 15)) diff --git a/tests/baselines/reference/enumIndexer.symbols b/tests/baselines/reference/enumIndexer.symbols index 59191a73276..0899c174b52 100644 --- a/tests/baselines/reference/enumIndexer.symbols +++ b/tests/baselines/reference/enumIndexer.symbols @@ -19,9 +19,9 @@ var enumValue = MyEnumType.foo; var x = _arr.map(o => MyEnumType[o.key] === enumValue); // these are not same type >x : Symbol(x, Decl(enumIndexer.ts, 5, 3)) ->_arr.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>_arr.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >_arr : Symbol(_arr, Decl(enumIndexer.ts, 3, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >o : Symbol(o, Decl(enumIndexer.ts, 5, 17)) >MyEnumType : Symbol(MyEnumType, Decl(enumIndexer.ts, 0, 0)) >o.key : Symbol(key, Decl(enumIndexer.ts, 3, 13)) diff --git a/tests/baselines/reference/enumIsNotASubtypeOfAnythingButNumber.symbols b/tests/baselines/reference/enumIsNotASubtypeOfAnythingButNumber.symbols index f8abda0c663..c8bd0d4efe4 100644 --- a/tests/baselines/reference/enumIsNotASubtypeOfAnythingButNumber.symbols +++ b/tests/baselines/reference/enumIsNotASubtypeOfAnythingButNumber.symbols @@ -58,7 +58,7 @@ interface I5 { [x: string]: Date; >x : Symbol(x, Decl(enumIsNotASubtypeOfAnythingButNumber.ts, 28, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo: E; >foo : Symbol(I5.foo, Decl(enumIsNotASubtypeOfAnythingButNumber.ts, 28, 22)) @@ -71,7 +71,7 @@ interface I6 { [x: string]: RegExp; >x : Symbol(x, Decl(enumIsNotASubtypeOfAnythingButNumber.ts, 34, 5)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo: E; >foo : Symbol(I6.foo, Decl(enumIsNotASubtypeOfAnythingButNumber.ts, 34, 24)) @@ -277,7 +277,7 @@ interface I19 { [x: string]: Object; >x : Symbol(x, Decl(enumIsNotASubtypeOfAnythingButNumber.ts, 121, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo: E; // BUG 831833 >foo : Symbol(I19.foo, Decl(enumIsNotASubtypeOfAnythingButNumber.ts, 121, 24)) diff --git a/tests/baselines/reference/enumLiteralTypes1.symbols b/tests/baselines/reference/enumLiteralTypes1.symbols index 06d5428f657..4946af9c659 100644 --- a/tests/baselines/reference/enumLiteralTypes1.symbols +++ b/tests/baselines/reference/enumLiteralTypes1.symbols @@ -253,7 +253,7 @@ function assertNever(x: never): never { >x : Symbol(x, Decl(enumLiteralTypes1.ts, 58, 21)) throw new Error("Unexpected value"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f10(x: YesNo) { diff --git a/tests/baselines/reference/enumLiteralTypes2.symbols b/tests/baselines/reference/enumLiteralTypes2.symbols index 3f82f33a67d..2767108c75b 100644 --- a/tests/baselines/reference/enumLiteralTypes2.symbols +++ b/tests/baselines/reference/enumLiteralTypes2.symbols @@ -253,7 +253,7 @@ function assertNever(x: never): never { >x : Symbol(x, Decl(enumLiteralTypes2.ts, 58, 21)) throw new Error("Unexpected value"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f10(x: YesNo) { diff --git a/tests/baselines/reference/enumMerging.symbols b/tests/baselines/reference/enumMerging.symbols index 7b94cb49b29..c792eac0cfa 100644 --- a/tests/baselines/reference/enumMerging.symbols +++ b/tests/baselines/reference/enumMerging.symbols @@ -71,14 +71,14 @@ module M2 { A = 'foo'.length, B = 'foo'.length, C = 'foo'.length >A : Symbol(EComp2.A, Decl(enumMerging.ts, 24, 24)) ->'foo'.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>'foo'.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >B : Symbol(EComp2.B, Decl(enumMerging.ts, 25, 25)) ->'foo'.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>'foo'.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >C : Symbol(EComp2.C, Decl(enumMerging.ts, 25, 43)) ->'foo'.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>'foo'.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } export enum EComp2 { @@ -86,14 +86,14 @@ module M2 { D = 'foo'.length, E = 'foo'.length, F = 'foo'.length >D : Symbol(EComp2.D, Decl(enumMerging.ts, 28, 24)) ->'foo'.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>'foo'.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >E : Symbol(EComp2.E, Decl(enumMerging.ts, 29, 25)) ->'foo'.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>'foo'.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >F : Symbol(EComp2.F, Decl(enumMerging.ts, 29, 43)) ->'foo'.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>'foo'.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } var x = [EComp2.A, EComp2.B, EComp2.C, EComp2.D, EComp2.E, EComp2.F]; diff --git a/tests/baselines/reference/enumMergingErrors.symbols b/tests/baselines/reference/enumMergingErrors.symbols index 371949745a9..bb453f7b7b3 100644 --- a/tests/baselines/reference/enumMergingErrors.symbols +++ b/tests/baselines/reference/enumMergingErrors.symbols @@ -21,14 +21,14 @@ module M { export enum E1 { B = 'foo'.length } >E1 : Symbol(E1, Decl(enumMergingErrors.ts, 1, 10), Decl(enumMergingErrors.ts, 6, 10), Decl(enumMergingErrors.ts, 11, 10)) >B : Symbol(E1.B, Decl(enumMergingErrors.ts, 7, 20)) ->'foo'.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>'foo'.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) export enum E2 { B = 'foo'.length } >E2 : Symbol(E2, Decl(enumMergingErrors.ts, 2, 28), Decl(enumMergingErrors.ts, 7, 39), Decl(enumMergingErrors.ts, 12, 24)) >B : Symbol(E2.B, Decl(enumMergingErrors.ts, 8, 20)) ->'foo'.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>'foo'.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) export enum E3 { C } >E3 : Symbol(E3, Decl(enumMergingErrors.ts, 3, 24), Decl(enumMergingErrors.ts, 8, 39), Decl(enumMergingErrors.ts, 13, 28)) @@ -48,8 +48,8 @@ module M { export enum E3 { B = 'foo'.length } >E3 : Symbol(E3, Decl(enumMergingErrors.ts, 3, 24), Decl(enumMergingErrors.ts, 8, 39), Decl(enumMergingErrors.ts, 13, 28)) >B : Symbol(E3.B, Decl(enumMergingErrors.ts, 14, 20)) ->'foo'.length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>'foo'.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } // Enum with no initializer in either declaration with constant members with the same root module diff --git a/tests/baselines/reference/enumNumbering1.symbols b/tests/baselines/reference/enumNumbering1.symbols index 274798f6aad..66a164df5e1 100644 --- a/tests/baselines/reference/enumNumbering1.symbols +++ b/tests/baselines/reference/enumNumbering1.symbols @@ -10,12 +10,12 @@ enum Test { C = Math.floor(Math.random() * 1000), >C : Symbol(Test.C, Decl(enumNumbering1.ts, 2, 6)) ->Math.floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) D = 10, >D : Symbol(Test.D, Decl(enumNumbering1.ts, 3, 41)) diff --git a/tests/baselines/reference/enumPropertyAccess.symbols b/tests/baselines/reference/enumPropertyAccess.symbols index 0740d10942d..5522a76fa97 100644 --- a/tests/baselines/reference/enumPropertyAccess.symbols +++ b/tests/baselines/reference/enumPropertyAccess.symbols @@ -20,9 +20,9 @@ var p = x.Green; // error >x : Symbol(x, Decl(enumPropertyAccess.ts, 5, 3)) x.toFixed(); // ok ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(enumPropertyAccess.ts, 5, 3)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) // Now with generics function fill(f: B) { @@ -36,7 +36,7 @@ function fill(f: B) { >f : Symbol(f, Decl(enumPropertyAccess.ts, 10, 32)) f.toFixed(); // ok ->f.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>f.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(enumPropertyAccess.ts, 10, 32)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/enumWithComputedMember.symbols b/tests/baselines/reference/enumWithComputedMember.symbols index 6ca96dca341..1b7e461fd50 100644 --- a/tests/baselines/reference/enumWithComputedMember.symbols +++ b/tests/baselines/reference/enumWithComputedMember.symbols @@ -4,8 +4,8 @@ enum A { X = "".length, >X : Symbol(A.X, Decl(enumWithComputedMember.ts, 0, 8)) ->"".length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>"".length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) Y = X, >Y : Symbol(A.Y, Decl(enumWithComputedMember.ts, 1, 18)) diff --git a/tests/baselines/reference/errorHandlingInInstanceOf.symbols b/tests/baselines/reference/errorHandlingInInstanceOf.symbols index 9052f5a8a9d..366d3724937 100644 --- a/tests/baselines/reference/errorHandlingInInstanceOf.symbols +++ b/tests/baselines/reference/errorHandlingInInstanceOf.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/errorHandlingInInstanceOf.ts === if (x instanceof String) { ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var y: any; diff --git a/tests/baselines/reference/errorMessageOnObjectLiteralType.symbols b/tests/baselines/reference/errorMessageOnObjectLiteralType.symbols index e3363d933b1..a40d673c213 100644 --- a/tests/baselines/reference/errorMessageOnObjectLiteralType.symbols +++ b/tests/baselines/reference/errorMessageOnObjectLiteralType.symbols @@ -13,5 +13,5 @@ x.getOwnPropertyNamess(); >x : Symbol(x, Decl(errorMessageOnObjectLiteralType.ts, 0, 3)) Object.getOwnPropertyNamess(null); ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/es2017basicAsync.symbols b/tests/baselines/reference/es2017basicAsync.symbols index 673ea4438fb..79d528619d6 100644 --- a/tests/baselines/reference/es2017basicAsync.symbols +++ b/tests/baselines/reference/es2017basicAsync.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/es2017basicAsync.ts === async (): Promise => { ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) await 0; } @@ -13,7 +13,7 @@ async function asyncFunc() { const asyncArrowFunc = async (): Promise => { >asyncArrowFunc : Symbol(asyncArrowFunc, Decl(es2017basicAsync.ts, 8, 5)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) await 0; } @@ -24,20 +24,20 @@ async function asyncIIFE() { await 0; await (async function(): Promise { ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) await 1; })(); await (async function asyncNamedFunc(): Promise { >asyncNamedFunc : Symbol(asyncNamedFunc, Decl(es2017basicAsync.ts, 19, 11)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) await 1; })(); await (async (): Promise => { ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) await 1; })(); @@ -48,7 +48,7 @@ class AsyncClass { asyncPropFunc = async function(): Promise { >asyncPropFunc : Symbol(AsyncClass.asyncPropFunc, Decl(es2017basicAsync.ts, 28, 18)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) await 2; } @@ -56,21 +56,21 @@ class AsyncClass { asyncPropNamedFunc = async function namedFunc(): Promise { >asyncPropNamedFunc : Symbol(AsyncClass.asyncPropNamedFunc, Decl(es2017basicAsync.ts, 31, 5)) >namedFunc : Symbol(namedFunc, Decl(es2017basicAsync.ts, 33, 24)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) await 2; } asyncPropArrowFunc = async (): Promise => { >asyncPropArrowFunc : Symbol(AsyncClass.asyncPropArrowFunc, Decl(es2017basicAsync.ts, 35, 5)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) await 2; } async asyncMethod(): Promise { >asyncMethod : Symbol(AsyncClass.asyncMethod, Decl(es2017basicAsync.ts, 39, 5)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) await 2; } diff --git a/tests/baselines/reference/es3defaultAliasIsQuoted.symbols b/tests/baselines/reference/es3defaultAliasIsQuoted.symbols index 16ba6ccdcf9..0e1eeade6b9 100644 --- a/tests/baselines/reference/es3defaultAliasIsQuoted.symbols +++ b/tests/baselines/reference/es3defaultAliasIsQuoted.symbols @@ -12,7 +12,7 @@ export default function assert(value: boolean) { if (!value) throw new Error("Assertion failed!"); >value : Symbol(value, Decl(es3defaultAliasQuoted_file0.ts, 4, 31)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } === tests/cases/compiler/es3defaultAliasQuoted_file1.ts === diff --git a/tests/baselines/reference/es5-asyncFunctionBinaryExpressions.symbols b/tests/baselines/reference/es5-asyncFunctionBinaryExpressions.symbols index eada06414bf..08060a14dac 100644 --- a/tests/baselines/reference/es5-asyncFunctionBinaryExpressions.symbols +++ b/tests/baselines/reference/es5-asyncFunctionBinaryExpressions.symbols @@ -259,7 +259,7 @@ async function binaryComma0() { async function binaryComma1(): Promise { >binaryComma1 : Symbol(binaryComma1, Decl(es5-asyncFunctionBinaryExpressions.ts, 117, 1)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) return x, await y; >x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) diff --git a/tests/baselines/reference/es5-asyncFunctionReturnStatements.symbols b/tests/baselines/reference/es5-asyncFunctionReturnStatements.symbols index f2e6667c27e..48eea3090ac 100644 --- a/tests/baselines/reference/es5-asyncFunctionReturnStatements.symbols +++ b/tests/baselines/reference/es5-asyncFunctionReturnStatements.symbols @@ -9,14 +9,14 @@ declare var x, y, z, a, b, c; async function returnStatement0(): Promise { >returnStatement0 : Symbol(returnStatement0, Decl(es5-asyncFunctionReturnStatements.ts, 0, 29)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) return; } async function returnStatement1(): Promise { >returnStatement1 : Symbol(returnStatement1, Decl(es5-asyncFunctionReturnStatements.ts, 4, 1)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) return x; >x : Symbol(x, Decl(es5-asyncFunctionReturnStatements.ts, 0, 11)) @@ -24,7 +24,7 @@ async function returnStatement1(): Promise { async function returnStatement2(): Promise { >returnStatement2 : Symbol(returnStatement2, Decl(es5-asyncFunctionReturnStatements.ts, 8, 1)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) return await x; >x : Symbol(x, Decl(es5-asyncFunctionReturnStatements.ts, 0, 11)) @@ -32,14 +32,14 @@ async function returnStatement2(): Promise { async function returnStatement3(): Promise { >returnStatement3 : Symbol(returnStatement3, Decl(es5-asyncFunctionReturnStatements.ts, 12, 1)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) { return; } } async function returnStatement4(): Promise { >returnStatement4 : Symbol(returnStatement4, Decl(es5-asyncFunctionReturnStatements.ts, 16, 1)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) await x; >x : Symbol(x, Decl(es5-asyncFunctionReturnStatements.ts, 0, 11)) @@ -49,7 +49,7 @@ async function returnStatement4(): Promise { async function returnStatement5(): Promise{ >returnStatement5 : Symbol(returnStatement5, Decl(es5-asyncFunctionReturnStatements.ts, 21, 1)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) { return await x; } >x : Symbol(x, Decl(es5-asyncFunctionReturnStatements.ts, 0, 11)) diff --git a/tests/baselines/reference/es5-asyncFunctionTryStatements.symbols b/tests/baselines/reference/es5-asyncFunctionTryStatements.symbols index fc73f21f622..34110d4e1ec 100644 --- a/tests/baselines/reference/es5-asyncFunctionTryStatements.symbols +++ b/tests/baselines/reference/es5-asyncFunctionTryStatements.symbols @@ -66,7 +66,7 @@ async function tryCatch2() { async function tryCatch3(): Promise { >tryCatch3 : Symbol(tryCatch3, Decl(es5-asyncFunctionTryStatements.ts, 30, 1)) ->Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var x: any, y: any; diff --git a/tests/baselines/reference/es6ClassTest2.symbols b/tests/baselines/reference/es6ClassTest2.symbols index 0b74e237f93..06b634438d7 100644 --- a/tests/baselines/reference/es6ClassTest2.symbols +++ b/tests/baselines/reference/es6ClassTest2.symbols @@ -39,9 +39,9 @@ m1.health = 0; >health : Symbol(BasicMonster.health, Decl(es6ClassTest2.ts, 1, 36)) console.log((m5.isAlive).toString()); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >m5.isAlive : Symbol(OverloadedMonster.isAlive, Decl(es6ClassTest2.ts, 58, 5)) >m5 : Symbol(m5, Decl(es6ClassTest2.ts, 63, 3)) >isAlive : Symbol(OverloadedMonster.isAlive, Decl(es6ClassTest2.ts, 58, 5)) @@ -82,7 +82,7 @@ class GetSetMonster { >value : Symbol(value, Decl(es6ClassTest2.ts, 34, 15)) throw new Error('Health must be non-negative.') ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } this._health = value >this._health : Symbol(GetSetMonster._health, Decl(es6ClassTest2.ts, 19, 36)) diff --git a/tests/baselines/reference/evalAfter0.symbols b/tests/baselines/reference/evalAfter0.symbols index a56fdd72c1f..c10c05dc01a 100644 --- a/tests/baselines/reference/evalAfter0.symbols +++ b/tests/baselines/reference/evalAfter0.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/evalAfter0.ts === (0,eval)("10"); // fine: special case for eval ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) declare var eva; >eva : Symbol(eva, Decl(evalAfter0.ts, 2, 11)) diff --git a/tests/baselines/reference/everyTypeAssignableToAny.symbols b/tests/baselines/reference/everyTypeAssignableToAny.symbols index b60eac61eea..bb429f3e376 100644 --- a/tests/baselines/reference/everyTypeAssignableToAny.symbols +++ b/tests/baselines/reference/everyTypeAssignableToAny.symbols @@ -41,7 +41,7 @@ var d: boolean; var e: Date; >e : Symbol(e, Decl(everyTypeAssignableToAny.ts, 17, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var f: any; >f : Symbol(f, Decl(everyTypeAssignableToAny.ts, 18, 3)) @@ -51,7 +51,7 @@ var g: void; var h: Object; >h : Symbol(h, Decl(everyTypeAssignableToAny.ts, 20, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var i: {}; >i : Symbol(i, Decl(everyTypeAssignableToAny.ts, 21, 3)) @@ -61,7 +61,7 @@ var j: () => {}; var k: Function; >k : Symbol(k, Decl(everyTypeAssignableToAny.ts, 23, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var l: (x: number) => string; >l : Symbol(l, Decl(everyTypeAssignableToAny.ts, 24, 3)) @@ -83,11 +83,11 @@ var o: (x: T) => T; var p: Number; >p : Symbol(p, Decl(everyTypeAssignableToAny.ts, 28, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var q: String; >q : Symbol(q, Decl(everyTypeAssignableToAny.ts, 29, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) a = b; >a : Symbol(a, Decl(everyTypeAssignableToAny.ts, 0, 3)) @@ -166,7 +166,7 @@ function foo(x: T, y: U, z: V) { >T : Symbol(T, Decl(everyTypeAssignableToAny.ts, 50, 13)) >U : Symbol(U, Decl(everyTypeAssignableToAny.ts, 50, 15)) >V : Symbol(V, Decl(everyTypeAssignableToAny.ts, 50, 32)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(everyTypeAssignableToAny.ts, 50, 49)) >T : Symbol(T, Decl(everyTypeAssignableToAny.ts, 50, 13)) >y : Symbol(y, Decl(everyTypeAssignableToAny.ts, 50, 54)) diff --git a/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.symbols b/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.symbols index 1b6661bca75..2cd48460668 100644 --- a/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.symbols +++ b/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.symbols @@ -51,9 +51,9 @@ module M { export function F2(x: number): string { return x.toString(); } >F2 : Symbol(F2, Decl(everyTypeWithAnnotationAndInitializer.ts, 19, 5)) >x : Symbol(x, Decl(everyTypeWithAnnotationAndInitializer.ts, 21, 23)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(everyTypeWithAnnotationAndInitializer.ts, 21, 23)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } var aNumber: number = 9.9; @@ -64,13 +64,13 @@ var aString: string = 'this is a string'; var aDate: Date = new Date(12); >aDate : Symbol(aDate, Decl(everyTypeWithAnnotationAndInitializer.ts, 26, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var anObject: Object = new Object(); >anObject : Symbol(anObject, Decl(everyTypeWithAnnotationAndInitializer.ts, 27, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var anAny: any = null; >anAny : Symbol(anAny, Decl(everyTypeWithAnnotationAndInitializer.ts, 29, 3)) diff --git a/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.symbols b/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.symbols index c5a734bd035..867b93656ce 100644 --- a/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.symbols +++ b/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.symbols @@ -56,9 +56,9 @@ module M { export function F2(x: number): string { return x.toString(); } >F2 : Symbol(F2, Decl(everyTypeWithAnnotationAndInvalidInitializer.ts, 20, 5)) >x : Symbol(x, Decl(everyTypeWithAnnotationAndInvalidInitializer.ts, 22, 23)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(everyTypeWithAnnotationAndInvalidInitializer.ts, 22, 23)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } module N { @@ -74,9 +74,9 @@ module N { export function F2(x: number): string { return x.toString(); } >F2 : Symbol(F2, Decl(everyTypeWithAnnotationAndInvalidInitializer.ts, 28, 5)) >x : Symbol(x, Decl(everyTypeWithAnnotationAndInvalidInitializer.ts, 30, 23)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(everyTypeWithAnnotationAndInvalidInitializer.ts, 30, 23)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } var aNumber: number = 'this is a string'; @@ -87,7 +87,7 @@ var aString: string = 9.9; var aDate: Date = 9.9; >aDate : Symbol(aDate, Decl(everyTypeWithAnnotationAndInvalidInitializer.ts, 35, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var aVoid: void = 9.9; >aVoid : Symbol(aVoid, Decl(everyTypeWithAnnotationAndInvalidInitializer.ts, 37, 3)) diff --git a/tests/baselines/reference/everyTypeWithInitializer.symbols b/tests/baselines/reference/everyTypeWithInitializer.symbols index 1dacfcf8855..c8c2b8dcbec 100644 --- a/tests/baselines/reference/everyTypeWithInitializer.symbols +++ b/tests/baselines/reference/everyTypeWithInitializer.symbols @@ -51,9 +51,9 @@ module M { export function F2(x: number): string { return x.toString(); } >F2 : Symbol(F2, Decl(everyTypeWithInitializer.ts, 19, 5)) >x : Symbol(x, Decl(everyTypeWithInitializer.ts, 21, 23)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(everyTypeWithInitializer.ts, 21, 23)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } var aNumber = 9.9; @@ -64,11 +64,11 @@ var aString = 'this is a string'; var aDate = new Date(12); >aDate : Symbol(aDate, Decl(everyTypeWithInitializer.ts, 26, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var anObject = new Object(); >anObject : Symbol(anObject, Decl(everyTypeWithInitializer.ts, 27, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var anAny = null; >anAny : Symbol(anAny, Decl(everyTypeWithInitializer.ts, 29, 3)) diff --git a/tests/baselines/reference/excessPropertyCheckWithEmptyObject.symbols b/tests/baselines/reference/excessPropertyCheckWithEmptyObject.symbols index 522fd81ffd1..84a0c1645c2 100644 --- a/tests/baselines/reference/excessPropertyCheckWithEmptyObject.symbols +++ b/tests/baselines/reference/excessPropertyCheckWithEmptyObject.symbols @@ -3,10 +3,10 @@ // Excess property error expected here Object.defineProperty(window, "prop", { value: "v1.0.0", readonly: false }); ->Object.defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.d.ts, --, --)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>Object.defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.es5.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) >value : Symbol(value, Decl(excessPropertyCheckWithEmptyObject.ts, 3, 39)) >readonly : Symbol(readonly, Decl(excessPropertyCheckWithEmptyObject.ts, 3, 56)) @@ -18,7 +18,7 @@ interface A { x?: string } let a: A & ThisType = { y: 10 }; >a : Symbol(a, Decl(excessPropertyCheckWithEmptyObject.ts, 8, 3)) >A : Symbol(A, Decl(excessPropertyCheckWithEmptyObject.ts, 3, 76)) ->ThisType : Symbol(ThisType, Decl(lib.d.ts, --, --)) +>ThisType : Symbol(ThisType, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(excessPropertyCheckWithEmptyObject.ts, 8, 28)) interface Empty {} diff --git a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.symbols b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.symbols index 9e7508b703d..3c0c8214b3a 100644 --- a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.symbols +++ b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.symbols @@ -25,7 +25,7 @@ var e: { a: number }; var f: Number; >f : Symbol(f, Decl(exponentiationOperatorWithInvalidOperands.ts, 9, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // All of the below should be an error unless otherwise noted // operator ** diff --git a/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.symbols b/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.symbols index c1ccfb5bf2c..f59f9f12f6c 100644 --- a/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.symbols +++ b/tests/baselines/reference/exponentiationOperatorWithNullValueAndInvalidOperands.symbols @@ -10,7 +10,7 @@ var b: string; var c: Object; >c : Symbol(c, Decl(exponentiationOperatorWithNullValueAndInvalidOperands.ts, 5, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // operator ** var r1a1 = null ** a; diff --git a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.symbols b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.symbols index e63a52f4cf1..8a16b690743 100644 --- a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.symbols +++ b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndInvalidOperands.symbols @@ -10,7 +10,7 @@ var b: string; var c: Object; >c : Symbol(c, Decl(exponentiationOperatorWithUndefinedValueAndInvalidOperands.ts, 5, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // operator ** var r1a1 = undefined ** a; diff --git a/tests/baselines/reference/exportAssignNonIdentifier.symbols b/tests/baselines/reference/exportAssignNonIdentifier.symbols index 544af42713f..0c1e7c3611d 100644 --- a/tests/baselines/reference/exportAssignNonIdentifier.symbols +++ b/tests/baselines/reference/exportAssignNonIdentifier.symbols @@ -24,8 +24,8 @@ export = void; // Error, void operator requires an argument No type information for this code. No type information for this code.=== tests/cases/conformance/externalModules/foo7.ts === export = Date || String; // Ok ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) === tests/cases/conformance/externalModules/foo8.ts === export = null; // Ok diff --git a/tests/baselines/reference/exportAssignTypes.symbols b/tests/baselines/reference/exportAssignTypes.symbols index 4936d7388fe..aa6f6fdcfde 100644 --- a/tests/baselines/reference/exportAssignTypes.symbols +++ b/tests/baselines/reference/exportAssignTypes.symbols @@ -25,7 +25,7 @@ import iArray = require('./expArray'); var v4: Array = iArray; >v4 : Symbol(v4, Decl(consumer.ts, 10, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >iArray : Symbol(iArray, Decl(consumer.ts, 7, 27)) import iObject = require('./expObject'); @@ -33,7 +33,7 @@ import iObject = require('./expObject'); var v5: Object = iObject; >v5 : Symbol(v5, Decl(consumer.ts, 13, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >iObject : Symbol(iObject, Decl(consumer.ts, 10, 31)) import iAny = require('./expAny'); diff --git a/tests/baselines/reference/exportAssignValueAndType.symbols b/tests/baselines/reference/exportAssignValueAndType.symbols index c245c75f474..3ab70b7f85d 100644 --- a/tests/baselines/reference/exportAssignValueAndType.symbols +++ b/tests/baselines/reference/exportAssignValueAndType.symbols @@ -16,7 +16,7 @@ interface server { startTime: Date; >startTime : Symbol(server.startTime, Decl(exportAssignValueAndType.ts, 5, 20)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } var x = 5; @@ -24,7 +24,7 @@ var x = 5; var server = new Date(); >server : Symbol(server, Decl(exportAssignValueAndType.ts, 2, 1), Decl(exportAssignValueAndType.ts, 10, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) export = server; >server : Symbol(server, Decl(exportAssignValueAndType.ts, 2, 1), Decl(exportAssignValueAndType.ts, 10, 3)) diff --git a/tests/baselines/reference/exportAssignedTypeAsTypeAnnotation.symbols b/tests/baselines/reference/exportAssignedTypeAsTypeAnnotation.symbols index 4085bff9c75..d2c9b5aa91d 100644 --- a/tests/baselines/reference/exportAssignedTypeAsTypeAnnotation.symbols +++ b/tests/baselines/reference/exportAssignedTypeAsTypeAnnotation.symbols @@ -12,7 +12,7 @@ interface x { >x : Symbol(x, Decl(exportAssignedTypeAsTypeAnnotation_0.ts, 0, 0)) (): Date; ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo: string; >foo : Symbol(x.foo, Decl(exportAssignedTypeAsTypeAnnotation_0.ts, 1, 13)) diff --git a/tests/baselines/reference/exportAssignmentWithoutIdentifier1.symbols b/tests/baselines/reference/exportAssignmentWithoutIdentifier1.symbols index e2ddbdb419c..3e7c2dea3f7 100644 --- a/tests/baselines/reference/exportAssignmentWithoutIdentifier1.symbols +++ b/tests/baselines/reference/exportAssignmentWithoutIdentifier1.symbols @@ -5,9 +5,9 @@ function Greeter() { //... } Greeter.prototype.greet = function () { ->Greeter.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>Greeter.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >Greeter : Symbol(Greeter, Decl(exportAssignmentWithoutIdentifier1.ts, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) //... } diff --git a/tests/baselines/reference/exportDeclarationsInAmbientNamespaces.symbols b/tests/baselines/reference/exportDeclarationsInAmbientNamespaces.symbols index 4cf100c1fa7..dbf7f7e5e3b 100644 --- a/tests/baselines/reference/exportDeclarationsInAmbientNamespaces.symbols +++ b/tests/baselines/reference/exportDeclarationsInAmbientNamespaces.symbols @@ -5,7 +5,7 @@ declare namespace Q { function _try(method: Function, ...args: any[]): any; >_try : Symbol(_try, Decl(exportDeclarationsInAmbientNamespaces.ts, 0, 21)) >method : Symbol(method, Decl(exportDeclarationsInAmbientNamespaces.ts, 1, 18)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >args : Symbol(args, Decl(exportDeclarationsInAmbientNamespaces.ts, 1, 35)) export { _try as try }; diff --git a/tests/baselines/reference/exportDefaultAbstractClass.symbols b/tests/baselines/reference/exportDefaultAbstractClass.symbols index 27e42487f31..b7c256dbc75 100644 --- a/tests/baselines/reference/exportDefaultAbstractClass.symbols +++ b/tests/baselines/reference/exportDefaultAbstractClass.symbols @@ -8,11 +8,11 @@ class B extends A {} >A : Symbol(A, Decl(a.ts, 0, 0)) new B().a.toExponential(); ->new B().a.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>new B().a.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >new B().a : Symbol(A.a, Decl(a.ts, 0, 33)) >B : Symbol(B, Decl(a.ts, 0, 46)) >a : Symbol(A.a, Decl(a.ts, 0, 33)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) === tests/cases/compiler/b.ts === import A from './a'; @@ -23,9 +23,9 @@ class C extends A {} >A : Symbol(A, Decl(b.ts, 0, 6)) new C().a.toExponential(); ->new C().a.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>new C().a.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >new C().a : Symbol(A.a, Decl(a.ts, 0, 33)) >C : Symbol(C, Decl(b.ts, 0, 20)) >a : Symbol(A.a, Decl(a.ts, 0, 33)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/exportDefaultAsyncFunction.symbols b/tests/baselines/reference/exportDefaultAsyncFunction.symbols index 2dce64af76d..9c97161712a 100644 --- a/tests/baselines/reference/exportDefaultAsyncFunction.symbols +++ b/tests/baselines/reference/exportDefaultAsyncFunction.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/exportDefaultAsyncFunction.ts === export default async function foo(): Promise {} >foo : Symbol(foo, Decl(exportDefaultAsyncFunction.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) foo(); >foo : Symbol(foo, Decl(exportDefaultAsyncFunction.ts, 0, 0)) diff --git a/tests/baselines/reference/exportDefaultAsyncFunction2.symbols b/tests/baselines/reference/exportDefaultAsyncFunction2.symbols index 5e120c23259..44ef20cd832 100644 --- a/tests/baselines/reference/exportDefaultAsyncFunction2.symbols +++ b/tests/baselines/reference/exportDefaultAsyncFunction2.symbols @@ -16,9 +16,9 @@ import { async, await } from 'asyncawait'; export default async(() => await(Promise.resolve(1))); >async : Symbol(async, Decl(a.ts, 0, 8)) >await : Symbol(await, Decl(a.ts, 0, 15)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) === tests/cases/compiler/b.ts === export default async () => { return 0; }; diff --git a/tests/baselines/reference/exportDefaultInterface.symbols b/tests/baselines/reference/exportDefaultInterface.symbols index 1a3b172fe97..98ed55da498 100644 --- a/tests/baselines/reference/exportDefaultInterface.symbols +++ b/tests/baselines/reference/exportDefaultInterface.symbols @@ -8,11 +8,11 @@ var a: A; >A : Symbol(A, Decl(a.ts, 0, 0)) a.value.toExponential(); ->a.value.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>a.value.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >a.value : Symbol(A.value, Decl(a.ts, 0, 28)) >a : Symbol(a, Decl(a.ts, 2, 3)) >value : Symbol(A.value, Decl(a.ts, 0, 28)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) === tests/cases/compiler/b.ts === import A from './a'; @@ -23,9 +23,9 @@ var a: A; >A : Symbol(A, Decl(b.ts, 0, 6)) a.value.toExponential(); ->a.value.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>a.value.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >a.value : Symbol(A.value, Decl(a.ts, 0, 28)) >a : Symbol(a, Decl(b.ts, 2, 3)) >value : Symbol(A.value, Decl(a.ts, 0, 28)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/exportDefaultProperty.symbols b/tests/baselines/reference/exportDefaultProperty.symbols index 6f559438ba1..1a69ffd3a8a 100644 --- a/tests/baselines/reference/exportDefaultProperty.symbols +++ b/tests/baselines/reference/exportDefaultProperty.symbols @@ -91,6 +91,6 @@ export default A.B; === tests/cases/compiler/b.ts === export default "foo".length; ->"foo".length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>"foo".length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/exportEqualErrorType.symbols b/tests/baselines/reference/exportEqualErrorType.symbols index 72c9d60661b..d091eb9c714 100644 --- a/tests/baselines/reference/exportEqualErrorType.symbols +++ b/tests/baselines/reference/exportEqualErrorType.symbols @@ -40,7 +40,7 @@ var server: { foo: Date; >foo : Symbol(foo, Decl(exportEqualErrorType_0.ts, 9, 29)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) }; export = server; diff --git a/tests/baselines/reference/exportEqualMemberMissing.symbols b/tests/baselines/reference/exportEqualMemberMissing.symbols index 0347033840f..b43324cfe8c 100644 --- a/tests/baselines/reference/exportEqualMemberMissing.symbols +++ b/tests/baselines/reference/exportEqualMemberMissing.symbols @@ -40,7 +40,7 @@ var server: { foo: Date; >foo : Symbol(foo, Decl(exportEqualMemberMissing_0.ts, 9, 29)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) }; export = server; diff --git a/tests/baselines/reference/exportEqualNamespaces.symbols b/tests/baselines/reference/exportEqualNamespaces.symbols index 50061d55eb2..8745f619bf7 100644 --- a/tests/baselines/reference/exportEqualNamespaces.symbols +++ b/tests/baselines/reference/exportEqualNamespaces.symbols @@ -4,7 +4,7 @@ declare module server { interface Server extends Object { } >Server : Symbol(Server, Decl(exportEqualNamespaces.ts, 0, 23)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } interface server { @@ -16,7 +16,7 @@ interface server { startTime: Date; >startTime : Symbol(server.startTime, Decl(exportEqualNamespaces.ts, 5, 22)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } var x = 5; @@ -24,7 +24,7 @@ var x = 5; var server = new Date(); >server : Symbol(server, Decl(exportEqualNamespaces.ts, 0, 0), Decl(exportEqualNamespaces.ts, 2, 1), Decl(exportEqualNamespaces.ts, 10, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) export = server; >server : Symbol(server, Decl(exportEqualNamespaces.ts, 0, 0), Decl(exportEqualNamespaces.ts, 2, 1), Decl(exportEqualNamespaces.ts, 10, 3)) diff --git a/tests/baselines/reference/exportEqualsDefaultProperty.symbols b/tests/baselines/reference/exportEqualsDefaultProperty.symbols index 157f1e8100b..a4ec745ceb2 100644 --- a/tests/baselines/reference/exportEqualsDefaultProperty.symbols +++ b/tests/baselines/reference/exportEqualsDefaultProperty.symbols @@ -18,7 +18,7 @@ import foo from "./exp"; >foo : Symbol(foo, Decl(imp.ts, 0, 6)) foo.toExponential(2); ->foo.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>foo.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >foo : Symbol(foo, Decl(imp.ts, 0, 6)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/exportEqualsProperty.symbols b/tests/baselines/reference/exportEqualsProperty.symbols index 7c1c08c520b..02aac05a08a 100644 --- a/tests/baselines/reference/exportEqualsProperty.symbols +++ b/tests/baselines/reference/exportEqualsProperty.symbols @@ -86,6 +86,6 @@ export = A.B; === tests/cases/compiler/b.ts === export = "foo".length; ->"foo".length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>"foo".length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/exportSpellingSuggestion.symbols b/tests/baselines/reference/exportSpellingSuggestion.symbols index ad22b4bbeb0..01746a98fd7 100644 --- a/tests/baselines/reference/exportSpellingSuggestion.symbols +++ b/tests/baselines/reference/exportSpellingSuggestion.symbols @@ -5,7 +5,7 @@ export function assertNever(x: never, msg: string) { >msg : Symbol(msg, Decl(a.ts, 0, 37)) throw new Error("Unexpected " + msg); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >msg : Symbol(msg, Decl(a.ts, 0, 37)) } diff --git a/tests/baselines/reference/exportedVariable1.symbols b/tests/baselines/reference/exportedVariable1.symbols index eb8d4d2f007..d6294e8db6c 100644 --- a/tests/baselines/reference/exportedVariable1.symbols +++ b/tests/baselines/reference/exportedVariable1.symbols @@ -5,9 +5,9 @@ export var foo = {name: "Bill"}; var upper = foo.name.toUpperCase(); >upper : Symbol(upper, Decl(exportedVariable1.ts, 1, 3)) ->foo.name.toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>foo.name.toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >foo.name : Symbol(name, Decl(exportedVariable1.ts, 0, 18)) >foo : Symbol(foo, Decl(exportedVariable1.ts, 0, 10)) >name : Symbol(name, Decl(exportedVariable1.ts, 0, 18)) ->toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/expressionTypeNodeShouldError.symbols b/tests/baselines/reference/expressionTypeNodeShouldError.symbols index fb6e056be8c..60b2faf26f8 100644 --- a/tests/baselines/reference/expressionTypeNodeShouldError.symbols +++ b/tests/baselines/reference/expressionTypeNodeShouldError.symbols @@ -5,7 +5,7 @@ declare const x: "foo".charCodeAt(0); === tests/cases/compiler/string.ts === interface String { ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(string.ts, 0, 0)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(string.ts, 0, 0)) typeof(x: T): T; >typeof : Symbol(String.typeof, Decl(string.ts, 0, 18)) @@ -31,19 +31,19 @@ class C { const nodes = document.getElementsByTagName("li"); >nodes : Symbol(nodes, Decl(string.ts, 10, 5)) ->document.getElementsByTagName : Symbol(Document.getElementsByTagName, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->document : Symbol(document, Decl(lib.d.ts, --, --)) ->getElementsByTagName : Symbol(Document.getElementsByTagName, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>document.getElementsByTagName : Symbol(Document.getElementsByTagName, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) +>document : Symbol(document, Decl(lib.dom.d.ts, --, --)) +>getElementsByTagName : Symbol(Document.getElementsByTagName, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) type ItemType = "".typeof(nodes.item(0)); >ItemType : Symbol(ItemType, Decl(string.ts, 10, 50)) ->nodes.item : Symbol(NodeListOf.item, Decl(lib.d.ts, --, --)) +>nodes.item : Symbol(NodeListOf.item, Decl(lib.dom.d.ts, --, --)) >nodes : Symbol(nodes, Decl(string.ts, 10, 5)) ->item : Symbol(NodeListOf.item, Decl(lib.d.ts, --, --)) +>item : Symbol(NodeListOf.item, Decl(lib.dom.d.ts, --, --)) === tests/cases/compiler/number.ts === interface Number { ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(number.ts, 0, 0)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(number.ts, 0, 0)) typeof(x: T): T; >typeof : Symbol(Number.typeof, Decl(number.ts, 0, 18)) @@ -69,19 +69,19 @@ class C2 { const nodes2 = document.getElementsByTagName("li"); >nodes2 : Symbol(nodes2, Decl(number.ts, 10, 5)) ->document.getElementsByTagName : Symbol(Document.getElementsByTagName, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->document : Symbol(document, Decl(lib.d.ts, --, --)) ->getElementsByTagName : Symbol(Document.getElementsByTagName, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>document.getElementsByTagName : Symbol(Document.getElementsByTagName, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) +>document : Symbol(document, Decl(lib.dom.d.ts, --, --)) +>getElementsByTagName : Symbol(Document.getElementsByTagName, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) type ItemType2 = 4..typeof(nodes.item(0)); >ItemType2 : Symbol(ItemType2, Decl(number.ts, 10, 51)) ->nodes.item : Symbol(NodeListOf.item, Decl(lib.d.ts, --, --)) +>nodes.item : Symbol(NodeListOf.item, Decl(lib.dom.d.ts, --, --)) >nodes : Symbol(nodes, Decl(string.ts, 10, 5)) ->item : Symbol(NodeListOf.item, Decl(lib.d.ts, --, --)) +>item : Symbol(NodeListOf.item, Decl(lib.dom.d.ts, --, --)) === tests/cases/compiler/boolean.ts === interface Boolean { ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(boolean.ts, 0, 0)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(boolean.ts, 0, 0)) typeof(x: T): T; >typeof : Symbol(Boolean.typeof, Decl(boolean.ts, 0, 19)) @@ -107,14 +107,14 @@ class C3 { const nodes3 = document.getElementsByTagName("li"); >nodes3 : Symbol(nodes3, Decl(boolean.ts, 10, 5)) ->document.getElementsByTagName : Symbol(Document.getElementsByTagName, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->document : Symbol(document, Decl(lib.d.ts, --, --)) ->getElementsByTagName : Symbol(Document.getElementsByTagName, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>document.getElementsByTagName : Symbol(Document.getElementsByTagName, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) +>document : Symbol(document, Decl(lib.dom.d.ts, --, --)) +>getElementsByTagName : Symbol(Document.getElementsByTagName, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) type ItemType3 = true.typeof(nodes.item(0)); >ItemType3 : Symbol(ItemType3, Decl(boolean.ts, 10, 51)) ->nodes.item : Symbol(NodeListOf.item, Decl(lib.d.ts, --, --)) +>nodes.item : Symbol(NodeListOf.item, Decl(lib.dom.d.ts, --, --)) >nodes : Symbol(nodes, Decl(string.ts, 10, 5)) ->item : Symbol(NodeListOf.item, Decl(lib.d.ts, --, --)) +>item : Symbol(NodeListOf.item, Decl(lib.dom.d.ts, --, --)) diff --git a/tests/baselines/reference/extendArray.symbols b/tests/baselines/reference/extendArray.symbols index e747d194ede..62e083fac6e 100644 --- a/tests/baselines/reference/extendArray.symbols +++ b/tests/baselines/reference/extendArray.symbols @@ -3,9 +3,9 @@ var a = [1,2]; >a : Symbol(a, Decl(extendArray.ts, 0, 3)) a.forEach(function (v,i,a) {}); ->a.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>a.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(extendArray.ts, 0, 3)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(extendArray.ts, 1, 20)) >i : Symbol(i, Decl(extendArray.ts, 1, 22)) >a : Symbol(a, Decl(extendArray.ts, 1, 24)) @@ -27,7 +27,7 @@ declare module _Core { var arr = (Array).prototype; >arr : Symbol(arr, Decl(extendArray.ts, 11, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) arr.collect = function (fn) { >arr : Symbol(arr, Decl(extendArray.ts, 11, 3)) @@ -53,9 +53,9 @@ arr.collect = function (fn) { >j : Symbol(j, Decl(extendArray.ts, 16, 16)) res.push(tmp[j]); ->res.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>res.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >res : Symbol(res, Decl(extendArray.ts, 13, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >tmp : Symbol(tmp, Decl(extendArray.ts, 15, 11)) >j : Symbol(j, Decl(extendArray.ts, 16, 16)) } diff --git a/tests/baselines/reference/extendBooleanInterface.symbols b/tests/baselines/reference/extendBooleanInterface.symbols index 9ae4c46e3c7..6751f1dfc83 100644 --- a/tests/baselines/reference/extendBooleanInterface.symbols +++ b/tests/baselines/reference/extendBooleanInterface.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/types/primitives/boolean/extendBooleanInterface.ts === interface Boolean { ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(extendBooleanInterface.ts, 0, 0)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(extendBooleanInterface.ts, 0, 0)) doStuff(): string; >doStuff : Symbol(Boolean.doStuff, Decl(extendBooleanInterface.ts, 0, 19)) diff --git a/tests/baselines/reference/extendGenericArray.symbols b/tests/baselines/reference/extendGenericArray.symbols index d5c6adccc2c..1c9a48744e7 100644 --- a/tests/baselines/reference/extendGenericArray.symbols +++ b/tests/baselines/reference/extendGenericArray.symbols @@ -1,11 +1,11 @@ === tests/cases/compiler/extendGenericArray.ts === interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(extendGenericArray.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(extendGenericArray.ts, 0, 16)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(extendGenericArray.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(extendGenericArray.ts, 0, 16)) foo(): T; >foo : Symbol(Array.foo, Decl(extendGenericArray.ts, 0, 20)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(extendGenericArray.ts, 0, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(extendGenericArray.ts, 0, 16)) } var arr: string[] = []; diff --git a/tests/baselines/reference/extendGenericArray2.symbols b/tests/baselines/reference/extendGenericArray2.symbols index faeb38709c0..6e1d2e3472f 100644 --- a/tests/baselines/reference/extendGenericArray2.symbols +++ b/tests/baselines/reference/extendGenericArray2.symbols @@ -9,10 +9,10 @@ interface IFoo { } interface Array extends IFoo { } ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(extendGenericArray2.ts, 2, 1)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(extendGenericArray2.ts, 4, 16)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(extendGenericArray2.ts, 2, 1)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(extendGenericArray2.ts, 4, 16)) >IFoo : Symbol(IFoo, Decl(extendGenericArray2.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(extendGenericArray2.ts, 4, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(extendGenericArray2.ts, 4, 16)) var arr: string[] = []; >arr : Symbol(arr, Decl(extendGenericArray2.ts, 6, 3)) diff --git a/tests/baselines/reference/extendNumberInterface.symbols b/tests/baselines/reference/extendNumberInterface.symbols index febe4993e2a..3ce4e975386 100644 --- a/tests/baselines/reference/extendNumberInterface.symbols +++ b/tests/baselines/reference/extendNumberInterface.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/types/primitives/number/extendNumberInterface.ts === interface Number { ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(extendNumberInterface.ts, 0, 0)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(extendNumberInterface.ts, 0, 0)) doStuff(): string; >doStuff : Symbol(Number.doStuff, Decl(extendNumberInterface.ts, 0, 18)) diff --git a/tests/baselines/reference/extendStringInterface.symbols b/tests/baselines/reference/extendStringInterface.symbols index 67773fa30bd..b84295c409c 100644 --- a/tests/baselines/reference/extendStringInterface.symbols +++ b/tests/baselines/reference/extendStringInterface.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/types/primitives/string/extendStringInterface.ts === interface String { ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(extendStringInterface.ts, 0, 0)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(extendStringInterface.ts, 0, 0)) doStuff(): string; >doStuff : Symbol(String.doStuff, Decl(extendStringInterface.ts, 0, 18)) diff --git a/tests/baselines/reference/externFunc.symbols b/tests/baselines/reference/externFunc.symbols index b23a70695cf..20de8c47436 100644 --- a/tests/baselines/reference/externFunc.symbols +++ b/tests/baselines/reference/externFunc.symbols @@ -1,8 +1,8 @@ === tests/cases/compiler/externFunc.ts === declare function parseInt(s:string):number; ->parseInt : Symbol(parseInt, Decl(lib.d.ts, --, --), Decl(externFunc.ts, 0, 0)) +>parseInt : Symbol(parseInt, Decl(lib.es5.d.ts, --, --), Decl(externFunc.ts, 0, 0)) >s : Symbol(s, Decl(externFunc.ts, 0, 26)) parseInt("2"); ->parseInt : Symbol(parseInt, Decl(lib.d.ts, --, --), Decl(externFunc.ts, 0, 0)) +>parseInt : Symbol(parseInt, Decl(lib.es5.d.ts, --, --), Decl(externFunc.ts, 0, 0)) diff --git a/tests/baselines/reference/fatarrowfunctions.symbols b/tests/baselines/reference/fatarrowfunctions.symbols index 3a2f4931dbb..e6428175dbe 100644 --- a/tests/baselines/reference/fatarrowfunctions.symbols +++ b/tests/baselines/reference/fatarrowfunctions.symbols @@ -146,7 +146,7 @@ function ternaryTest(isWhile:boolean) { } declare function setTimeout(expression: any, msec?: number, language?: any): number; ->setTimeout : Symbol(setTimeout, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(fatarrowfunctions.ts, 33, 1)) +>setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(fatarrowfunctions.ts, 33, 1)) >expression : Symbol(expression, Decl(fatarrowfunctions.ts, 35, 28)) >msec : Symbol(msec, Decl(fatarrowfunctions.ts, 35, 44)) >language : Symbol(language, Decl(fatarrowfunctions.ts, 35, 59)) @@ -161,7 +161,7 @@ var messenger = { >start : Symbol(start, Decl(fatarrowfunctions.ts, 38, 27)) setTimeout(() => { this.message.toString(); }, 3000); ->setTimeout : Symbol(setTimeout, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(fatarrowfunctions.ts, 33, 1)) +>setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(fatarrowfunctions.ts, 33, 1)) } }; diff --git a/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.symbols b/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.symbols index ea0ed9a605c..ff1f21279d2 100644 --- a/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.symbols +++ b/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.symbols @@ -12,7 +12,7 @@ function fn(x = () => this, y = x()) { } fn.call(4); // Should be 4 ->fn.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>fn.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >fn : Symbol(fn, Decl(fatarrowfunctionsInFunctionParameterDefaults.ts, 0, 0)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/fatarrowfunctionsInFunctions.symbols b/tests/baselines/reference/fatarrowfunctionsInFunctions.symbols index 5191aa38fc5..61bb09108d8 100644 --- a/tests/baselines/reference/fatarrowfunctionsInFunctions.symbols +++ b/tests/baselines/reference/fatarrowfunctionsInFunctions.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/fatarrowfunctionsInFunctions.ts === declare function setTimeout(expression: any, msec?: number, language?: any): number; ->setTimeout : Symbol(setTimeout, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(fatarrowfunctionsInFunctions.ts, 0, 0)) +>setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(fatarrowfunctionsInFunctions.ts, 0, 0)) >expression : Symbol(expression, Decl(fatarrowfunctionsInFunctions.ts, 0, 28)) >msec : Symbol(msec, Decl(fatarrowfunctionsInFunctions.ts, 0, 44)) >language : Symbol(language, Decl(fatarrowfunctionsInFunctions.ts, 0, 59)) @@ -18,7 +18,7 @@ var messenger = { >_self : Symbol(_self, Decl(fatarrowfunctionsInFunctions.ts, 5, 11)) setTimeout(function() { ->setTimeout : Symbol(setTimeout, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(fatarrowfunctionsInFunctions.ts, 0, 0)) +>setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(fatarrowfunctionsInFunctions.ts, 0, 0)) _self.message.toString(); >_self : Symbol(_self, Decl(fatarrowfunctionsInFunctions.ts, 5, 11)) diff --git a/tests/baselines/reference/fatarrowfunctionsOptionalArgs.symbols b/tests/baselines/reference/fatarrowfunctionsOptionalArgs.symbols index ef5ced0f201..b2d7785e68a 100644 --- a/tests/baselines/reference/fatarrowfunctionsOptionalArgs.symbols +++ b/tests/baselines/reference/fatarrowfunctionsOptionalArgs.symbols @@ -188,31 +188,31 @@ false ? null : (...arg: number[]) => 68; // In Expressions ((arg) => 90) instanceof Function; >arg : Symbol(arg, Decl(fatarrowfunctionsOptionalArgs.ts, 91, 2)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) ((arg = 1) => 91) instanceof Function; >arg : Symbol(arg, Decl(fatarrowfunctionsOptionalArgs.ts, 92, 2)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) ((arg? ) => 92) instanceof Function; >arg : Symbol(arg, Decl(fatarrowfunctionsOptionalArgs.ts, 93, 2)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) ((arg: number) => 93) instanceof Function; >arg : Symbol(arg, Decl(fatarrowfunctionsOptionalArgs.ts, 94, 2)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) ((arg: number = 1) => 94) instanceof Function; >arg : Symbol(arg, Decl(fatarrowfunctionsOptionalArgs.ts, 95, 2)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) ((arg?: number) => 95) instanceof Function; >arg : Symbol(arg, Decl(fatarrowfunctionsOptionalArgs.ts, 96, 2)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) ((...arg: number[]) => 96) instanceof Function; >arg : Symbol(arg, Decl(fatarrowfunctionsOptionalArgs.ts, 97, 2)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) '' + ((arg) => 100); >arg : Symbol(arg, Decl(fatarrowfunctionsOptionalArgs.ts, 99, 7)) diff --git a/tests/baselines/reference/fillInMissingTypeArgsOnConstructCalls.symbols b/tests/baselines/reference/fillInMissingTypeArgsOnConstructCalls.symbols index e3ad22f6a05..2cb92c845b2 100644 --- a/tests/baselines/reference/fillInMissingTypeArgsOnConstructCalls.symbols +++ b/tests/baselines/reference/fillInMissingTypeArgsOnConstructCalls.symbols @@ -2,7 +2,7 @@ class A{ >A : Symbol(A, Decl(fillInMissingTypeArgsOnConstructCalls.ts, 0, 0)) >T : Symbol(T, Decl(fillInMissingTypeArgsOnConstructCalls.ts, 0, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) list: T ; >list : Symbol(A.list, Decl(fillInMissingTypeArgsOnConstructCalls.ts, 0, 26)) diff --git a/tests/baselines/reference/fixSignatureCaching.symbols b/tests/baselines/reference/fixSignatureCaching.symbols index bad8a18e512..d47c52b12d6 100644 --- a/tests/baselines/reference/fixSignatureCaching.symbols +++ b/tests/baselines/reference/fixSignatureCaching.symbols @@ -773,11 +773,11 @@ define(function () { var hasOwnProp = Object.prototype.hasOwnProperty, >hasOwnProp : Symbol(hasOwnProp, Decl(fixSignatureCaching.ts, 289, 7)) ->Object.prototype.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) ->Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>Object.prototype.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) +>Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) isArray; >isArray : Symbol(isArray, Decl(fixSignatureCaching.ts, 289, 53)) @@ -793,39 +793,39 @@ define(function () { isArray = ('isArray' in Array) ? >isArray : Symbol(isArray, Decl(fixSignatureCaching.ts, 289, 53)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) Array.isArray : function (value) { return Object.prototype.toString.call(value) === '[object Array]'; }; ->Array.isArray : Symbol(ArrayConstructor.isArray, Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->isArray : Symbol(ArrayConstructor.isArray, Decl(lib.d.ts, --, --)) +>Array.isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(fixSignatureCaching.ts, 297, 34)) ->Object.prototype.toString.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) ->Object.prototype.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) ->Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>Object.prototype.toString.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) +>Object.prototype.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) +>Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(fixSignatureCaching.ts, 297, 34)) isArray = 'isArray' in Array >isArray : Symbol(isArray, Decl(fixSignatureCaching.ts, 289, 53)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) ? function (value) { return Object.prototype.toString.call(value) === '[object Array]'; } >value : Symbol(value, Decl(fixSignatureCaching.ts, 299, 20)) ->Object.prototype.toString.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) ->Object.prototype.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) ->Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>Object.prototype.toString.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) +>Object.prototype.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) +>Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(fixSignatureCaching.ts, 299, 20)) : Array.isArray; ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function equalIC(a, b) { >equalIC : Symbol(equalIC, Decl(fixSignatureCaching.ts, 300, 24)) @@ -886,16 +886,16 @@ define(function () { >object : Symbol(object, Decl(fixSignatureCaching.ts, 320, 34)) if (hasOwnProp.call(object, key)) { ->hasOwnProp.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>hasOwnProp.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >hasOwnProp : Symbol(hasOwnProp, Decl(fixSignatureCaching.ts, 289, 7)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >object : Symbol(object, Decl(fixSignatureCaching.ts, 320, 34)) >key : Symbol(key, Decl(fixSignatureCaching.ts, 321, 16)) object[key] = new RegExp(object[key], 'i'); >object : Symbol(object, Decl(fixSignatureCaching.ts, 320, 34)) >key : Symbol(key, Decl(fixSignatureCaching.ts, 321, 16)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >object : Symbol(object, Decl(fixSignatureCaching.ts, 320, 34)) >key : Symbol(key, Decl(fixSignatureCaching.ts, 321, 16)) } @@ -920,9 +920,9 @@ define(function () { >mobileDetectRules : Symbol(mobileDetectRules, Decl(fixSignatureCaching.ts, 329, 47)) if (hasOwnProp.call(mobileDetectRules.props, key)) { ->hasOwnProp.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>hasOwnProp.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >hasOwnProp : Symbol(hasOwnProp, Decl(fixSignatureCaching.ts, 289, 7)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >mobileDetectRules : Symbol(mobileDetectRules, Decl(fixSignatureCaching.ts, 329, 47)) >key : Symbol(key, Decl(fixSignatureCaching.ts, 329, 11)) @@ -971,7 +971,7 @@ define(function () { values[i] = new RegExp(value, 'i'); >values : Symbol(values, Decl(fixSignatureCaching.ts, 329, 16)) >i : Symbol(i, Decl(fixSignatureCaching.ts, 329, 31)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(fixSignatureCaching.ts, 329, 24)) } mobileDetectRules.props[key] = values; @@ -1032,9 +1032,9 @@ define(function () { >rules : Symbol(rules, Decl(fixSignatureCaching.ts, 368, 30)) if (hasOwnProp.call(rules, key)) { ->hasOwnProp.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>hasOwnProp.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >hasOwnProp : Symbol(hasOwnProp, Decl(fixSignatureCaching.ts, 289, 7)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >rules : Symbol(rules, Decl(fixSignatureCaching.ts, 368, 30)) >key : Symbol(key, Decl(fixSignatureCaching.ts, 369, 16)) @@ -1071,9 +1071,9 @@ define(function () { >rules : Symbol(rules, Decl(fixSignatureCaching.ts, 386, 32)) if (hasOwnProp.call(rules, key)) { ->hasOwnProp.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>hasOwnProp.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >hasOwnProp : Symbol(hasOwnProp, Decl(fixSignatureCaching.ts, 289, 7)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >rules : Symbol(rules, Decl(fixSignatureCaching.ts, 386, 32)) >key : Symbol(key, Decl(fixSignatureCaching.ts, 388, 16)) @@ -1083,9 +1083,9 @@ define(function () { >userAgent : Symbol(userAgent, Decl(fixSignatureCaching.ts, 386, 38)) result.push(key); ->result.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>result.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(fixSignatureCaching.ts, 387, 11)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >key : Symbol(key, Decl(fixSignatureCaching.ts, 388, 16)) } } @@ -1117,9 +1117,9 @@ define(function () { >match : Symbol(match, Decl(fixSignatureCaching.ts, 407, 67)) if (hasOwnProp.call(props, propertyName)) { ->hasOwnProp.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>hasOwnProp.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >hasOwnProp : Symbol(hasOwnProp, Decl(fixSignatureCaching.ts, 289, 7)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >props : Symbol(props, Decl(fixSignatureCaching.ts, 407, 11)) >propertyName : Symbol(propertyName, Decl(fixSignatureCaching.ts, 406, 35)) @@ -1179,7 +1179,7 @@ define(function () { >version : Symbol(version, Decl(fixSignatureCaching.ts, 431, 11)) >impl : Symbol(impl, Decl(fixSignatureCaching.ts, 6, 7)) >version : Symbol(version, Decl(fixSignatureCaching.ts, 431, 11)) ->NaN : Symbol(NaN, Decl(lib.d.ts, --, --)) +>NaN : Symbol(NaN, Decl(lib.es5.d.ts, --, --)) }; @@ -1223,7 +1223,7 @@ define(function () { >numbers : Symbol(numbers, Decl(fixSignatureCaching.ts, 443, 11)) } return Number(version); ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >version : Symbol(version, Decl(fixSignatureCaching.ts, 442, 38)) }; @@ -1602,30 +1602,30 @@ define(function () { >impl : Symbol(impl, Decl(fixSignatureCaching.ts, 6, 7)) return window.screen.width < window.screen.height ? ->window.screen.width : Symbol(Screen.width, Decl(lib.d.ts, --, --)) ->window.screen : Symbol(Window.screen, Decl(lib.d.ts, --, --)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) ->screen : Symbol(Window.screen, Decl(lib.d.ts, --, --)) ->width : Symbol(Screen.width, Decl(lib.d.ts, --, --)) ->window.screen.height : Symbol(Screen.height, Decl(lib.d.ts, --, --)) ->window.screen : Symbol(Window.screen, Decl(lib.d.ts, --, --)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) ->screen : Symbol(Window.screen, Decl(lib.d.ts, --, --)) ->height : Symbol(Screen.height, Decl(lib.d.ts, --, --)) +>window.screen.width : Symbol(Screen.width, Decl(lib.dom.d.ts, --, --)) +>window.screen : Symbol(Window.screen, Decl(lib.dom.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>screen : Symbol(Window.screen, Decl(lib.dom.d.ts, --, --)) +>width : Symbol(Screen.width, Decl(lib.dom.d.ts, --, --)) +>window.screen.height : Symbol(Screen.height, Decl(lib.dom.d.ts, --, --)) +>window.screen : Symbol(Window.screen, Decl(lib.dom.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>screen : Symbol(Window.screen, Decl(lib.dom.d.ts, --, --)) +>height : Symbol(Screen.height, Decl(lib.dom.d.ts, --, --)) window.screen.width : ->window.screen.width : Symbol(Screen.width, Decl(lib.d.ts, --, --)) ->window.screen : Symbol(Window.screen, Decl(lib.d.ts, --, --)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) ->screen : Symbol(Window.screen, Decl(lib.d.ts, --, --)) ->width : Symbol(Screen.width, Decl(lib.d.ts, --, --)) +>window.screen.width : Symbol(Screen.width, Decl(lib.dom.d.ts, --, --)) +>window.screen : Symbol(Window.screen, Decl(lib.dom.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>screen : Symbol(Window.screen, Decl(lib.dom.d.ts, --, --)) +>width : Symbol(Screen.width, Decl(lib.dom.d.ts, --, --)) window.screen.height; ->window.screen.height : Symbol(Screen.height, Decl(lib.d.ts, --, --)) ->window.screen : Symbol(Window.screen, Decl(lib.d.ts, --, --)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) ->screen : Symbol(Window.screen, Decl(lib.d.ts, --, --)) ->height : Symbol(Screen.height, Decl(lib.d.ts, --, --)) +>window.screen.height : Symbol(Screen.height, Decl(lib.dom.d.ts, --, --)) +>window.screen : Symbol(Window.screen, Decl(lib.dom.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>screen : Symbol(Window.screen, Decl(lib.dom.d.ts, --, --)) +>height : Symbol(Screen.height, Decl(lib.dom.d.ts, --, --)) }; @@ -1671,9 +1671,9 @@ define(function () { } MobileDetect.prototype = { ->MobileDetect.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>MobileDetect.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >MobileDetect : Symbol(MobileDetect, Decl(fixSignatureCaching.ts, 644, 6)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) constructor: MobileDetect, >constructor : Symbol(constructor, Decl(fixSignatureCaching.ts, 680, 30)) @@ -1988,11 +1988,11 @@ define(function () { if (!(pattern instanceof RegExp)) { >pattern : Symbol(pattern, Decl(fixSignatureCaching.ts, 925, 25)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) pattern = new RegExp(pattern, 'i'); >pattern : Symbol(pattern, Decl(fixSignatureCaching.ts, 925, 25)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >pattern : Symbol(pattern, Decl(fixSignatureCaching.ts, 925, 25)) } return pattern.test(this.ua); @@ -2041,10 +2041,10 @@ define(function () { // environment-dependent if (typeof window !== 'undefined' && window.screen) { ->window : Symbol(window, Decl(lib.d.ts, --, --)) ->window.screen : Symbol(Window.screen, Decl(lib.d.ts, --, --)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) ->screen : Symbol(Window.screen, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>window.screen : Symbol(Window.screen, Decl(lib.dom.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>screen : Symbol(Window.screen, Decl(lib.dom.d.ts, --, --)) MobileDetect.isPhoneSized = function (maxPhoneWidth) { >MobileDetect : Symbol(MobileDetect, Decl(fixSignatureCaching.ts, 644, 6)) @@ -2085,16 +2085,16 @@ define(function () { } else if (typeof define === 'function' && define.amd) { return define; } else if (typeof window !== 'undefined') { ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) return function (factory) { window.MobileDetect = factory(); }; >factory : Symbol(factory, Decl(fixSignatureCaching.ts, 982, 25)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) >factory : Symbol(factory, Decl(fixSignatureCaching.ts, 982, 25)) } else { // please file a bug if you get this error! throw new Error('unknown environment'); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } })()); diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly1.symbols b/tests/baselines/reference/fixingTypeParametersRepeatedly1.symbols index 3d0c33ebfc0..519c1787c29 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly1.symbols +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly1.symbols @@ -18,9 +18,9 @@ f("", x => null, x => x.toLowerCase()); >f : Symbol(f, Decl(fixingTypeParametersRepeatedly1.ts, 0, 0)) >x : Symbol(x, Decl(fixingTypeParametersRepeatedly1.ts, 1, 5)) >x : Symbol(x, Decl(fixingTypeParametersRepeatedly1.ts, 1, 16)) ->x.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>x.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(fixingTypeParametersRepeatedly1.ts, 1, 16)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) // First overload of g should type check just like f declare function g(x: T, y: (p: T) => T, z: (p: T) => T): T; diff --git a/tests/baselines/reference/for-inStatements.symbols b/tests/baselines/reference/for-inStatements.symbols index 04f3169fc4f..c72df5580c3 100644 --- a/tests/baselines/reference/for-inStatements.symbols +++ b/tests/baselines/reference/for-inStatements.symbols @@ -32,7 +32,7 @@ for (var x in /[a-z]/) { } for (var x in new Date()) { } >x : Symbol(x, Decl(for-inStatements.ts, 6, 8), Decl(for-inStatements.ts, 7, 8), Decl(for-inStatements.ts, 8, 8), Decl(for-inStatements.ts, 11, 8), Decl(for-inStatements.ts, 13, 8) ... and 14 more) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var c: any, d: any, e: any; >c : Symbol(c, Decl(for-inStatements.ts, 16, 3)) diff --git a/tests/baselines/reference/for-inStatementsArray.symbols b/tests/baselines/reference/for-inStatementsArray.symbols index 6e447f55086..9290ae4a92f 100644 --- a/tests/baselines/reference/for-inStatementsArray.symbols +++ b/tests/baselines/reference/for-inStatementsArray.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/statements/for-inStatements/for-inStatementsArray.ts === let a: Date[]; >a : Symbol(a, Decl(for-inStatementsArray.ts, 0, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) let b: boolean[]; >b : Symbol(b, Decl(for-inStatementsArray.ts, 1, 3)) diff --git a/tests/baselines/reference/for-inStatementsArrayErrors.symbols b/tests/baselines/reference/for-inStatementsArrayErrors.symbols index b37ca0b3762..65799c37be9 100644 --- a/tests/baselines/reference/for-inStatementsArrayErrors.symbols +++ b/tests/baselines/reference/for-inStatementsArrayErrors.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/statements/for-inStatements/for-inStatementsArrayErrors.ts === let a: Date[]; >a : Symbol(a, Decl(for-inStatementsArrayErrors.ts, 0, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) for (let x in a) { >x : Symbol(x, Decl(for-inStatementsArrayErrors.ts, 2, 8)) diff --git a/tests/baselines/reference/for-inStatementsInvalid.symbols b/tests/baselines/reference/for-inStatementsInvalid.symbols index e84140f82c5..4a2042e0e77 100644 --- a/tests/baselines/reference/for-inStatementsInvalid.symbols +++ b/tests/baselines/reference/for-inStatementsInvalid.symbols @@ -13,7 +13,7 @@ for (aBoolean in {}) { } var aRegExp: RegExp; >aRegExp : Symbol(aRegExp, Decl(for-inStatementsInvalid.ts, 6, 3)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) for (aRegExp in {}) { } >aRegExp : Symbol(aRegExp, Decl(for-inStatementsInvalid.ts, 6, 3)) diff --git a/tests/baselines/reference/for-of12.symbols b/tests/baselines/reference/for-of12.symbols index cdfca2893e7..1e3b75da731 100644 --- a/tests/baselines/reference/for-of12.symbols +++ b/tests/baselines/reference/for-of12.symbols @@ -4,6 +4,6 @@ var v: string; for (v of [0, ""].values()) { } >v : Symbol(v, Decl(for-of12.ts, 0, 3)) ->[0, ""].values : Symbol(Array.values, Decl(lib.es6.d.ts, --, --)) ->values : Symbol(Array.values, Decl(lib.es6.d.ts, --, --)) +>[0, ""].values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/for-of13.symbols b/tests/baselines/reference/for-of13.symbols index 4bdf2315c0f..d257ed5290a 100644 --- a/tests/baselines/reference/for-of13.symbols +++ b/tests/baselines/reference/for-of13.symbols @@ -4,6 +4,6 @@ var v: string; for (v of [""].values()) { } >v : Symbol(v, Decl(for-of13.ts, 0, 3)) ->[""].values : Symbol(Array.values, Decl(lib.es6.d.ts, --, --)) ->values : Symbol(Array.values, Decl(lib.es6.d.ts, --, --)) +>[""].values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/for-of15.symbols b/tests/baselines/reference/for-of15.symbols index ab32b8fb6d8..1a6ec8d2661 100644 --- a/tests/baselines/reference/for-of15.symbols +++ b/tests/baselines/reference/for-of15.symbols @@ -9,9 +9,9 @@ class StringIterator { } [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of15.ts, 3, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(for-of15.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of16.symbols b/tests/baselines/reference/for-of16.symbols index 00af3c37b9e..1bd52fa5dc6 100644 --- a/tests/baselines/reference/for-of16.symbols +++ b/tests/baselines/reference/for-of16.symbols @@ -4,9 +4,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of16.ts, 0, 22)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(for-of16.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of17.symbols b/tests/baselines/reference/for-of17.symbols index afb874f47ed..c776f274203 100644 --- a/tests/baselines/reference/for-of17.symbols +++ b/tests/baselines/reference/for-of17.symbols @@ -16,9 +16,9 @@ class NumberIterator { } [Symbol.iterator]() { >[Symbol.iterator] : Symbol(NumberIterator[Symbol.iterator], Decl(for-of17.ts, 6, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(NumberIterator, Decl(for-of17.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of18.symbols b/tests/baselines/reference/for-of18.symbols index d4080dd8f0f..a8b4267e7f7 100644 --- a/tests/baselines/reference/for-of18.symbols +++ b/tests/baselines/reference/for-of18.symbols @@ -16,9 +16,9 @@ class StringIterator { } [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of18.ts, 6, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(for-of18.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of19.symbols b/tests/baselines/reference/for-of19.symbols index 0c1ea75d204..2647cfb604a 100644 --- a/tests/baselines/reference/for-of19.symbols +++ b/tests/baselines/reference/for-of19.symbols @@ -20,9 +20,9 @@ class FooIterator { } [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(for-of19.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(for-of19.ts, 0, 13)) diff --git a/tests/baselines/reference/for-of20.symbols b/tests/baselines/reference/for-of20.symbols index ed6b99bd624..6a0f2961eeb 100644 --- a/tests/baselines/reference/for-of20.symbols +++ b/tests/baselines/reference/for-of20.symbols @@ -20,9 +20,9 @@ class FooIterator { } [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(for-of20.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(for-of20.ts, 0, 13)) diff --git a/tests/baselines/reference/for-of21.symbols b/tests/baselines/reference/for-of21.symbols index bacb9d5358d..51713f18c7f 100644 --- a/tests/baselines/reference/for-of21.symbols +++ b/tests/baselines/reference/for-of21.symbols @@ -20,9 +20,9 @@ class FooIterator { } [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(for-of21.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(for-of21.ts, 0, 13)) diff --git a/tests/baselines/reference/for-of22.symbols b/tests/baselines/reference/for-of22.symbols index 53e945c3725..c3e7c16f73f 100644 --- a/tests/baselines/reference/for-of22.symbols +++ b/tests/baselines/reference/for-of22.symbols @@ -20,9 +20,9 @@ class FooIterator { } [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(for-of22.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(for-of22.ts, 0, 13)) diff --git a/tests/baselines/reference/for-of23.symbols b/tests/baselines/reference/for-of23.symbols index d035ec50759..b57d1f5d982 100644 --- a/tests/baselines/reference/for-of23.symbols +++ b/tests/baselines/reference/for-of23.symbols @@ -20,9 +20,9 @@ class FooIterator { } [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(for-of23.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(for-of23.ts, 0, 13)) diff --git a/tests/baselines/reference/for-of25.symbols b/tests/baselines/reference/for-of25.symbols index 88a466983e3..b8663dce900 100644 --- a/tests/baselines/reference/for-of25.symbols +++ b/tests/baselines/reference/for-of25.symbols @@ -4,9 +4,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of25.ts, 0, 22)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return x; >x : Symbol(x, Decl(for-of25.ts, 6, 3)) diff --git a/tests/baselines/reference/for-of26.symbols b/tests/baselines/reference/for-of26.symbols index f580cfa8a13..af7efefbe45 100644 --- a/tests/baselines/reference/for-of26.symbols +++ b/tests/baselines/reference/for-of26.symbols @@ -10,9 +10,9 @@ class StringIterator { } [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of26.ts, 3, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(for-of26.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of27.symbols b/tests/baselines/reference/for-of27.symbols index d4571887444..99e8402469e 100644 --- a/tests/baselines/reference/for-of27.symbols +++ b/tests/baselines/reference/for-of27.symbols @@ -4,9 +4,9 @@ class StringIterator { [Symbol.iterator]: any; >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of27.ts, 0, 22)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) } for (var v of new StringIterator) { } diff --git a/tests/baselines/reference/for-of28.symbols b/tests/baselines/reference/for-of28.symbols index df9179def68..499e3c657ee 100644 --- a/tests/baselines/reference/for-of28.symbols +++ b/tests/baselines/reference/for-of28.symbols @@ -7,9 +7,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of28.ts, 1, 14)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(for-of28.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of29.symbols b/tests/baselines/reference/for-of29.symbols index ea10042e59e..dcba62ad76b 100644 --- a/tests/baselines/reference/for-of29.symbols +++ b/tests/baselines/reference/for-of29.symbols @@ -4,10 +4,10 @@ var iterableWithOptionalIterator: { [Symbol.iterator]?(): Iterator >[Symbol.iterator] : Symbol([Symbol.iterator], Decl(for-of29.ts, 0, 35)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Iterator : Symbol(Iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) }; diff --git a/tests/baselines/reference/for-of30.symbols b/tests/baselines/reference/for-of30.symbols index 2f26a520aaa..779d8aa2b21 100644 --- a/tests/baselines/reference/for-of30.symbols +++ b/tests/baselines/reference/for-of30.symbols @@ -19,9 +19,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of30.ts, 8, 15)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(for-of30.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of31.symbols b/tests/baselines/reference/for-of31.symbols index ccce3ef48eb..41b7d0a85d6 100644 --- a/tests/baselines/reference/for-of31.symbols +++ b/tests/baselines/reference/for-of31.symbols @@ -14,9 +14,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of31.ts, 6, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(for-of31.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of33.symbols b/tests/baselines/reference/for-of33.symbols index 35a2ee1ee07..4dd18fdeaac 100644 --- a/tests/baselines/reference/for-of33.symbols +++ b/tests/baselines/reference/for-of33.symbols @@ -4,9 +4,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of33.ts, 0, 22)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return v; >v : Symbol(v, Decl(for-of33.ts, 6, 8)) diff --git a/tests/baselines/reference/for-of34.symbols b/tests/baselines/reference/for-of34.symbols index 89e599c37e3..0b1e1252753 100644 --- a/tests/baselines/reference/for-of34.symbols +++ b/tests/baselines/reference/for-of34.symbols @@ -11,9 +11,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of34.ts, 3, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(for-of34.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of35.symbols b/tests/baselines/reference/for-of35.symbols index 4753f92bf70..4f21e538cad 100644 --- a/tests/baselines/reference/for-of35.symbols +++ b/tests/baselines/reference/for-of35.symbols @@ -17,9 +17,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of35.ts, 6, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(for-of35.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of37.symbols b/tests/baselines/reference/for-of37.symbols index e89cd2107b7..81c42b23c09 100644 --- a/tests/baselines/reference/for-of37.symbols +++ b/tests/baselines/reference/for-of37.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/for-ofStatements/for-of37.ts === var map = new Map([["", true]]); >map : Symbol(map, Decl(for-of37.ts, 0, 3)) ->Map : Symbol(Map, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) for (var v of map) { >v : Symbol(v, Decl(for-of37.ts, 1, 8)) diff --git a/tests/baselines/reference/for-of38.symbols b/tests/baselines/reference/for-of38.symbols index 6b2f3d5dfb2..641a3e06023 100644 --- a/tests/baselines/reference/for-of38.symbols +++ b/tests/baselines/reference/for-of38.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/for-ofStatements/for-of38.ts === var map = new Map([["", true]]); >map : Symbol(map, Decl(for-of38.ts, 0, 3)) ->Map : Symbol(Map, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) for (var [k, v] of map) { >k : Symbol(k, Decl(for-of38.ts, 1, 10)) diff --git a/tests/baselines/reference/for-of39.errors.txt b/tests/baselines/reference/for-of39.errors.txt index 98987fdd2c1..58b5f1ecdf1 100644 --- a/tests/baselines/reference/for-of39.errors.txt +++ b/tests/baselines/reference/for-of39.errors.txt @@ -1,28 +1,24 @@ -tests/cases/conformance/es6/for-ofStatements/for-of39.ts(1,19): error TS2345: Argument of type '([string, number] | [string, true])[]' is not assignable to parameter of type 'Iterable<[string, boolean]>'. - Types of property '[Symbol.iterator]' are incompatible. - Type '() => IterableIterator<[string, number] | [string, true]>' is not assignable to type '() => Iterator<[string, boolean]>'. - Type 'IterableIterator<[string, number] | [string, true]>' is not assignable to type 'Iterator<[string, boolean]>'. - Types of property 'next' are incompatible. - Type '(value?: any) => IteratorResult<[string, number] | [string, true]>' is not assignable to type '(value?: any) => IteratorResult<[string, boolean]>'. - Type 'IteratorResult<[string, number] | [string, true]>' is not assignable to type 'IteratorResult<[string, boolean]>'. - Type '[string, number] | [string, true]' is not assignable to type '[string, boolean]'. - Type '[string, number]' is not assignable to type '[string, boolean]'. - Type 'number' is not assignable to type 'boolean'. +tests/cases/conformance/es6/for-ofStatements/for-of39.ts(1,19): error TS2345: Argument of type '([string, number] | [string, true])[]' is not assignable to parameter of type 'ReadonlyArray<[string, boolean]>'. + Types of property 'concat' are incompatible. + Type '{ (...items: ConcatArray<[string, number] | [string, true]>[]): ([string, number] | [string, true])[]; (...items: ([string, number] | [string, true] | ConcatArray<[string, number] | [string, true]>)[]): ([string, number] | [string, true])[]; }' is not assignable to type '{ (...items: ConcatArray<[string, boolean]>[]): [string, boolean][]; (...items: ([string, boolean] | ConcatArray<[string, boolean]>)[]): [string, boolean][]; }'. + Types of parameters 'items' and 'items' are incompatible. + Type 'ConcatArray<[string, boolean]>' is not assignable to type 'ConcatArray<[string, number] | [string, true]>'. + Type '[string, boolean]' is not assignable to type '[string, number] | [string, true]'. + Type '[string, boolean]' is not assignable to type '[string, true]'. + Type 'boolean' is not assignable to type 'true'. ==== tests/cases/conformance/es6/for-ofStatements/for-of39.ts (1 errors) ==== var map = new Map([["", true], ["", 0]]); ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '([string, number] | [string, true])[]' is not assignable to parameter of type 'Iterable<[string, boolean]>'. -!!! error TS2345: Types of property '[Symbol.iterator]' are incompatible. -!!! error TS2345: Type '() => IterableIterator<[string, number] | [string, true]>' is not assignable to type '() => Iterator<[string, boolean]>'. -!!! error TS2345: Type 'IterableIterator<[string, number] | [string, true]>' is not assignable to type 'Iterator<[string, boolean]>'. -!!! error TS2345: Types of property 'next' are incompatible. -!!! error TS2345: Type '(value?: any) => IteratorResult<[string, number] | [string, true]>' is not assignable to type '(value?: any) => IteratorResult<[string, boolean]>'. -!!! error TS2345: Type 'IteratorResult<[string, number] | [string, true]>' is not assignable to type 'IteratorResult<[string, boolean]>'. -!!! error TS2345: Type '[string, number] | [string, true]' is not assignable to type '[string, boolean]'. -!!! error TS2345: Type '[string, number]' is not assignable to type '[string, boolean]'. -!!! error TS2345: Type 'number' is not assignable to type 'boolean'. +!!! error TS2345: Argument of type '([string, number] | [string, true])[]' is not assignable to parameter of type 'ReadonlyArray<[string, boolean]>'. +!!! error TS2345: Types of property 'concat' are incompatible. +!!! error TS2345: Type '{ (...items: ConcatArray<[string, number] | [string, true]>[]): ([string, number] | [string, true])[]; (...items: ([string, number] | [string, true] | ConcatArray<[string, number] | [string, true]>)[]): ([string, number] | [string, true])[]; }' is not assignable to type '{ (...items: ConcatArray<[string, boolean]>[]): [string, boolean][]; (...items: ([string, boolean] | ConcatArray<[string, boolean]>)[]): [string, boolean][]; }'. +!!! error TS2345: Types of parameters 'items' and 'items' are incompatible. +!!! error TS2345: Type 'ConcatArray<[string, boolean]>' is not assignable to type 'ConcatArray<[string, number] | [string, true]>'. +!!! error TS2345: Type '[string, boolean]' is not assignable to type '[string, number] | [string, true]'. +!!! error TS2345: Type '[string, boolean]' is not assignable to type '[string, true]'. +!!! error TS2345: Type 'boolean' is not assignable to type 'true'. for (var [k, v] of map) { k; v; diff --git a/tests/baselines/reference/for-of39.symbols b/tests/baselines/reference/for-of39.symbols index 79a328a3e0b..189b055cb30 100644 --- a/tests/baselines/reference/for-of39.symbols +++ b/tests/baselines/reference/for-of39.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/for-ofStatements/for-of39.ts === var map = new Map([["", true], ["", 0]]); >map : Symbol(map, Decl(for-of39.ts, 0, 3)) ->Map : Symbol(Map, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) for (var [k, v] of map) { >k : Symbol(k, Decl(for-of39.ts, 1, 10)) diff --git a/tests/baselines/reference/for-of40.symbols b/tests/baselines/reference/for-of40.symbols index 1fd88ab268d..b074ef9ea2f 100644 --- a/tests/baselines/reference/for-of40.symbols +++ b/tests/baselines/reference/for-of40.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/for-ofStatements/for-of40.ts === var map = new Map([["", true]]); >map : Symbol(map, Decl(for-of40.ts, 0, 3)) ->Map : Symbol(Map, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) for (var [k = "", v = false] of map) { >k : Symbol(k, Decl(for-of40.ts, 1, 10)) diff --git a/tests/baselines/reference/for-of44.symbols b/tests/baselines/reference/for-of44.symbols index 3c1db7bf525..b40db5b9a64 100644 --- a/tests/baselines/reference/for-of44.symbols +++ b/tests/baselines/reference/for-of44.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/for-ofStatements/for-of44.ts === var array: [number, string | boolean | symbol][] = [[0, ""], [0, true], [1, Symbol()]] >array : Symbol(array, Decl(for-of44.ts, 0, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) for (var [num, strBoolSym] of array) { >num : Symbol(num, Decl(for-of44.ts, 1, 10)) diff --git a/tests/baselines/reference/for-of45.symbols b/tests/baselines/reference/for-of45.symbols index 02f0244d769..94837bcc5a8 100644 --- a/tests/baselines/reference/for-of45.symbols +++ b/tests/baselines/reference/for-of45.symbols @@ -5,7 +5,7 @@ var k: string, v: boolean; var map = new Map([["", true]]); >map : Symbol(map, Decl(for-of45.ts, 1, 3)) ->Map : Symbol(Map, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) for ([k = "", v = false] of map) { >k : Symbol(k, Decl(for-of45.ts, 0, 3)) diff --git a/tests/baselines/reference/for-of46.symbols b/tests/baselines/reference/for-of46.symbols index 07c62839999..8cc5d0e8a68 100644 --- a/tests/baselines/reference/for-of46.symbols +++ b/tests/baselines/reference/for-of46.symbols @@ -5,7 +5,7 @@ var k: string, v: boolean; var map = new Map([["", true]]); >map : Symbol(map, Decl(for-of46.ts, 1, 3)) ->Map : Symbol(Map, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) for ([k = false, v = ""] of map) { >k : Symbol(k, Decl(for-of46.ts, 0, 3)) diff --git a/tests/baselines/reference/for-of49.symbols b/tests/baselines/reference/for-of49.symbols index 043c81f6d88..8aebf5ef181 100644 --- a/tests/baselines/reference/for-of49.symbols +++ b/tests/baselines/reference/for-of49.symbols @@ -5,7 +5,7 @@ var k: string, v: boolean; var map = new Map([["", true]]); >map : Symbol(map, Decl(for-of49.ts, 1, 3)) ->Map : Symbol(Map, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) for ([k, ...[v]] of map) { >k : Symbol(k, Decl(for-of49.ts, 0, 3)) diff --git a/tests/baselines/reference/for-of50.symbols b/tests/baselines/reference/for-of50.symbols index 278ee0f852a..474204fb995 100644 --- a/tests/baselines/reference/for-of50.symbols +++ b/tests/baselines/reference/for-of50.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/for-ofStatements/for-of50.ts === var map = new Map([["", true]]); >map : Symbol(map, Decl(for-of50.ts, 0, 3)) ->Map : Symbol(Map, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) for (const [k, v] of map) { >k : Symbol(k, Decl(for-of50.ts, 1, 12)) diff --git a/tests/baselines/reference/for-of57.symbols b/tests/baselines/reference/for-of57.symbols index 5c5d18ec956..7428ab54b83 100644 --- a/tests/baselines/reference/for-of57.symbols +++ b/tests/baselines/reference/for-of57.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/for-ofStatements/for-of57.ts === var iter: Iterable; >iter : Symbol(iter, Decl(for-of57.ts, 0, 3)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) for (let num of iter) { } >num : Symbol(num, Decl(for-of57.ts, 1, 8)) diff --git a/tests/baselines/reference/forOfTransformsExpression.symbols b/tests/baselines/reference/forOfTransformsExpression.symbols index 9348f587084..ea96011ac5d 100644 --- a/tests/baselines/reference/forOfTransformsExpression.symbols +++ b/tests/baselines/reference/forOfTransformsExpression.symbols @@ -8,16 +8,16 @@ let items = [{ name: "A" }, { name: "C" }, { name: "B" }]; for (var item of items.sort((a, b) => a.name.localeCompare(b.name))) { >item : Symbol(item, Decl(forOfTransformsExpression.ts, 2, 8)) ->items.sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>items.sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) >items : Symbol(items, Decl(forOfTransformsExpression.ts, 1, 3)) ->sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(forOfTransformsExpression.ts, 2, 29)) >b : Symbol(b, Decl(forOfTransformsExpression.ts, 2, 31)) ->a.name.localeCompare : Symbol(String.localeCompare, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>a.name.localeCompare : Symbol(String.localeCompare, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a.name : Symbol(name, Decl(forOfTransformsExpression.ts, 1, 14)) >a : Symbol(a, Decl(forOfTransformsExpression.ts, 2, 29)) >name : Symbol(name, Decl(forOfTransformsExpression.ts, 1, 14)) ->localeCompare : Symbol(String.localeCompare, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>localeCompare : Symbol(String.localeCompare, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b.name : Symbol(name, Decl(forOfTransformsExpression.ts, 1, 14)) >b : Symbol(b, Decl(forOfTransformsExpression.ts, 2, 31)) >name : Symbol(name, Decl(forOfTransformsExpression.ts, 1, 14)) diff --git a/tests/baselines/reference/forStatements.symbols b/tests/baselines/reference/forStatements.symbols index be1ca79fbbc..50ee7567d6d 100644 --- a/tests/baselines/reference/forStatements.symbols +++ b/tests/baselines/reference/forStatements.symbols @@ -51,9 +51,9 @@ module M { export function F2(x: number): string { return x.toString(); } >F2 : Symbol(F2, Decl(forStatements.ts, 19, 5)) >x : Symbol(x, Decl(forStatements.ts, 21, 23)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(forStatements.ts, 21, 23)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } for(var aNumber: number = 9.9;;){} @@ -64,13 +64,13 @@ for(var aString: string = 'this is a string';;){} for(var aDate: Date = new Date(12);;){} >aDate : Symbol(aDate, Decl(forStatements.ts, 26, 7)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) for(var anObject: Object = new Object();;){} >anObject : Symbol(anObject, Decl(forStatements.ts, 27, 7)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) for(var anAny: any = null;;){} >anAny : Symbol(anAny, Decl(forStatements.ts, 29, 7)) diff --git a/tests/baselines/reference/forStatementsMultipleInvalidDecl.symbols b/tests/baselines/reference/forStatementsMultipleInvalidDecl.symbols index bb1d50d737c..7ae13c821bd 100644 --- a/tests/baselines/reference/forStatementsMultipleInvalidDecl.symbols +++ b/tests/baselines/reference/forStatementsMultipleInvalidDecl.symbols @@ -62,9 +62,9 @@ module M { export function F2(x: number): string { return x.toString(); } >F2 : Symbol(F2, Decl(forStatementsMultipleInvalidDecl.ts, 24, 5)) >x : Symbol(x, Decl(forStatementsMultipleInvalidDecl.ts, 26, 23)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(forStatementsMultipleInvalidDecl.ts, 26, 23)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } // all of these are errors @@ -127,7 +127,7 @@ for(var arr2 = [new D()];;){} for( var arr2 = new Array>();;){} >arr2 : Symbol(arr2, Decl(forStatementsMultipleInvalidDecl.ts, 48, 7), Decl(forStatementsMultipleInvalidDecl.ts, 49, 8)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >D : Symbol(D, Decl(forStatementsMultipleInvalidDecl.ts, 11, 1)) for(var m: typeof M;;){} diff --git a/tests/baselines/reference/forStatementsMultipleValidDecl.symbols b/tests/baselines/reference/forStatementsMultipleValidDecl.symbols index 9f71c690015..48dda5ed539 100644 --- a/tests/baselines/reference/forStatementsMultipleValidDecl.symbols +++ b/tests/baselines/reference/forStatementsMultipleValidDecl.symbols @@ -102,7 +102,7 @@ for (var a: string[] = []; ;) { } for (var a = new Array(); ;) { } >a : Symbol(a, Decl(forStatementsMultipleValidDecl.ts, 27, 8), Decl(forStatementsMultipleValidDecl.ts, 28, 8), Decl(forStatementsMultipleValidDecl.ts, 29, 8), Decl(forStatementsMultipleValidDecl.ts, 30, 8), Decl(forStatementsMultipleValidDecl.ts, 31, 8) ... and 1 more) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) for (var a: typeof a; ;) { } >a : Symbol(a, Decl(forStatementsMultipleValidDecl.ts, 27, 8), Decl(forStatementsMultipleValidDecl.ts, 28, 8), Decl(forStatementsMultipleValidDecl.ts, 29, 8), Decl(forStatementsMultipleValidDecl.ts, 30, 8), Decl(forStatementsMultipleValidDecl.ts, 31, 8) ... and 1 more) diff --git a/tests/baselines/reference/funcdecl.symbols b/tests/baselines/reference/funcdecl.symbols index b91ec3814cf..f17d28f9165 100644 --- a/tests/baselines/reference/funcdecl.symbols +++ b/tests/baselines/reference/funcdecl.symbols @@ -40,7 +40,7 @@ function withMultiParams(a : number, b, c: Object) { >a : Symbol(a, Decl(funcdecl.ts, 19, 25)) >b : Symbol(b, Decl(funcdecl.ts, 19, 36)) >c : Symbol(c, Decl(funcdecl.ts, 19, 39)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) return a; >a : Symbol(a, Decl(funcdecl.ts, 19, 25)) diff --git a/tests/baselines/reference/functionAssignment.symbols b/tests/baselines/reference/functionAssignment.symbols index 8503539f037..d182394deab 100644 --- a/tests/baselines/reference/functionAssignment.symbols +++ b/tests/baselines/reference/functionAssignment.symbols @@ -2,7 +2,7 @@ function f(n: Function) { } >f : Symbol(f, Decl(functionAssignment.ts, 0, 0)) >n : Symbol(n, Decl(functionAssignment.ts, 0, 11)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) f(function () { }); >f : Symbol(f, Decl(functionAssignment.ts, 0, 0)) @@ -22,7 +22,7 @@ interface baz { get(callback: Function): number; >get : Symbol(baz.get, Decl(functionAssignment.ts, 7, 15)) >callback : Symbol(callback, Decl(functionAssignment.ts, 8, 8)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var barbaz: baz; diff --git a/tests/baselines/reference/functionCalls.symbols b/tests/baselines/reference/functionCalls.symbols index 1ecb8534cd2..a2555a89fad 100644 --- a/tests/baselines/reference/functionCalls.symbols +++ b/tests/baselines/reference/functionCalls.symbols @@ -19,14 +19,14 @@ anyVar(); anyVar(undefined); >anyVar : Symbol(anyVar, Decl(functionCalls.ts, 1, 3)) ->Window : Symbol(Window, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) >undefined : Symbol(undefined) // Invoke function call on value of a subtype of Function with no call signatures with no type arguments interface SubFunc extends Function { >SubFunc : Symbol(SubFunc, Decl(functionCalls.ts, 9, 26)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) prop: number; >prop : Symbol(SubFunc.prop, Decl(functionCalls.ts, 13, 36)) @@ -60,7 +60,7 @@ subFunc(); // These should be errors var func: Function; >func : Symbol(func, Decl(functionCalls.ts, 30, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) func(0); >func : Symbol(func, Decl(functionCalls.ts, 30, 3)) diff --git a/tests/baselines/reference/functionConstraintSatisfaction.symbols b/tests/baselines/reference/functionConstraintSatisfaction.symbols index 71f5b47707a..04b35f9798e 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction.symbols +++ b/tests/baselines/reference/functionConstraintSatisfaction.symbols @@ -4,7 +4,7 @@ function foo(x: T): T { return x; } >foo : Symbol(foo, Decl(functionConstraintSatisfaction.ts, 0, 0)) >T : Symbol(T, Decl(functionConstraintSatisfaction.ts, 2, 13)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(functionConstraintSatisfaction.ts, 2, 33)) >T : Symbol(T, Decl(functionConstraintSatisfaction.ts, 2, 13)) >T : Symbol(T, Decl(functionConstraintSatisfaction.ts, 2, 13)) @@ -39,7 +39,7 @@ var c: { (): string; (x): string }; var r = foo(new Function()); >r : Symbol(r, Decl(functionConstraintSatisfaction.ts, 17, 3)) >foo : Symbol(foo, Decl(functionConstraintSatisfaction.ts, 0, 0)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r1 = foo((x) => x); >r1 : Symbol(r1, Decl(functionConstraintSatisfaction.ts, 18, 3)) @@ -154,7 +154,7 @@ var r11 = foo((x: U) => x); >r11 : Symbol(r11, Decl(functionConstraintSatisfaction.ts, 42, 3)) >foo : Symbol(foo, Decl(functionConstraintSatisfaction.ts, 0, 0)) >U : Symbol(U, Decl(functionConstraintSatisfaction.ts, 42, 15)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(functionConstraintSatisfaction.ts, 42, 31)) >U : Symbol(U, Decl(functionConstraintSatisfaction.ts, 42, 15)) >x : Symbol(x, Decl(functionConstraintSatisfaction.ts, 42, 31)) @@ -192,7 +192,7 @@ var r16 = foo(c2); interface F2 extends Function { foo: string; } >F2 : Symbol(F2, Decl(functionConstraintSatisfaction.ts, 47, 18)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >foo : Symbol(F2.foo, Decl(functionConstraintSatisfaction.ts, 49, 31)) var f2: F2; diff --git a/tests/baselines/reference/functionConstraintSatisfaction2.symbols b/tests/baselines/reference/functionConstraintSatisfaction2.symbols index 1379fbd00c0..2c860272966 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction2.symbols +++ b/tests/baselines/reference/functionConstraintSatisfaction2.symbols @@ -4,7 +4,7 @@ function foo(x: T): T { return x; } >foo : Symbol(foo, Decl(functionConstraintSatisfaction2.ts, 0, 0)) >T : Symbol(T, Decl(functionConstraintSatisfaction2.ts, 2, 13)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(functionConstraintSatisfaction2.ts, 2, 33)) >T : Symbol(T, Decl(functionConstraintSatisfaction2.ts, 2, 13)) >T : Symbol(T, Decl(functionConstraintSatisfaction2.ts, 2, 13)) @@ -58,7 +58,7 @@ var b2: { new (x: T): T }; var r = foo2(new Function()); >r : Symbol(r, Decl(functionConstraintSatisfaction2.ts, 22, 3)) >foo2 : Symbol(foo2, Decl(functionConstraintSatisfaction2.ts, 6, 18)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r2 = foo2((x: string[]) => x); >r2 : Symbol(r2, Decl(functionConstraintSatisfaction2.ts, 23, 3)) @@ -107,7 +107,7 @@ var r14 = foo2(b2); interface F2 extends Function { foo: string; } >F2 : Symbol(F2, Decl(functionConstraintSatisfaction2.ts, 29, 19)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >foo : Symbol(F2.foo, Decl(functionConstraintSatisfaction2.ts, 31, 31)) var f2: F2; diff --git a/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.symbols b/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.symbols index 4809c88d7fa..a49ea06af36 100644 --- a/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.symbols +++ b/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.symbols @@ -5,8 +5,8 @@ function foo(args: { (x): number }[]) { >x : Symbol(x, Decl(functionDeclarationWithArgumentOfTypeFunctionTypeArray.ts, 0, 22)) return args.length; ->args.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>args.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >args : Symbol(args, Decl(functionDeclarationWithArgumentOfTypeFunctionTypeArray.ts, 0, 13)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/functionExpressionAndLambdaMatchesFunction.symbols b/tests/baselines/reference/functionExpressionAndLambdaMatchesFunction.symbols index 5211ee999bf..e0fc680ef15 100644 --- a/tests/baselines/reference/functionExpressionAndLambdaMatchesFunction.symbols +++ b/tests/baselines/reference/functionExpressionAndLambdaMatchesFunction.symbols @@ -6,7 +6,7 @@ class CDoc { function doSomething(a: Function) { >doSomething : Symbol(doSomething, Decl(functionExpressionAndLambdaMatchesFunction.ts, 1, 23)) >a : Symbol(a, Decl(functionExpressionAndLambdaMatchesFunction.ts, 2, 29)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } doSomething(() => undefined); >doSomething : Symbol(doSomething, Decl(functionExpressionAndLambdaMatchesFunction.ts, 1, 23)) diff --git a/tests/baselines/reference/functionExpressionContextualTyping1.symbols b/tests/baselines/reference/functionExpressionContextualTyping1.symbols index 7d4b0ccbb6b..8e1c1b320fa 100644 --- a/tests/baselines/reference/functionExpressionContextualTyping1.symbols +++ b/tests/baselines/reference/functionExpressionContextualTyping1.symbols @@ -18,9 +18,9 @@ var a0: (n: number, s: string) => number = (num, str) => { >str : Symbol(str, Decl(functionExpressionContextualTyping1.ts, 8, 48)) num.toExponential(); ->num.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>num.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >num : Symbol(num, Decl(functionExpressionContextualTyping1.ts, 8, 44)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) return 0; } @@ -37,7 +37,7 @@ var a1: (c: Class) => number = (a1) => { >a1 : Symbol(a1, Decl(functionExpressionContextualTyping1.ts, 17, 3)) >c : Symbol(c, Decl(functionExpressionContextualTyping1.ts, 17, 9)) >Class : Symbol(Class, Decl(functionExpressionContextualTyping1.ts, 11, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a1 : Symbol(a1, Decl(functionExpressionContextualTyping1.ts, 17, 40)) a1.foo(); diff --git a/tests/baselines/reference/functionExpressionShadowedByParams.symbols b/tests/baselines/reference/functionExpressionShadowedByParams.symbols index 746c06f1dae..6fc86166da1 100644 --- a/tests/baselines/reference/functionExpressionShadowedByParams.symbols +++ b/tests/baselines/reference/functionExpressionShadowedByParams.symbols @@ -4,9 +4,9 @@ function b1(b1: number) { >b1 : Symbol(b1, Decl(functionExpressionShadowedByParams.ts, 0, 12)) b1.toPrecision(2); // should not error ->b1.toPrecision : Symbol(Number.toPrecision, Decl(lib.d.ts, --, --)) +>b1.toPrecision : Symbol(Number.toPrecision, Decl(lib.es5.d.ts, --, --)) >b1 : Symbol(b1, Decl(functionExpressionShadowedByParams.ts, 0, 12)) ->toPrecision : Symbol(Number.toPrecision, Decl(lib.d.ts, --, --)) +>toPrecision : Symbol(Number.toPrecision, Decl(lib.es5.d.ts, --, --)) b1(12); // should error >b1 : Symbol(b1, Decl(functionExpressionShadowedByParams.ts, 0, 12)) @@ -22,9 +22,9 @@ var x = { >b : Symbol(b, Decl(functionExpressionShadowedByParams.ts, 7, 17)) b.toPrecision(2); // should not error ->b.toPrecision : Symbol(Number.toPrecision, Decl(lib.d.ts, --, --)) +>b.toPrecision : Symbol(Number.toPrecision, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(functionExpressionShadowedByParams.ts, 7, 17)) ->toPrecision : Symbol(Number.toPrecision, Decl(lib.d.ts, --, --)) +>toPrecision : Symbol(Number.toPrecision, Decl(lib.es5.d.ts, --, --)) b.apply(null, null); // should error >b : Symbol(b, Decl(functionExpressionShadowedByParams.ts, 7, 17)) diff --git a/tests/baselines/reference/functionImplementations.symbols b/tests/baselines/reference/functionImplementations.symbols index 5db3e736011..bf16a5932b0 100644 --- a/tests/baselines/reference/functionImplementations.symbols +++ b/tests/baselines/reference/functionImplementations.symbols @@ -279,9 +279,9 @@ var f7: (x: number) => string | number = x => { // should be (x: number) => numb >x : Symbol(x, Decl(functionImplementations.ts, 130, 40)) return x.toString(); ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(functionImplementations.ts, 130, 40)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } var f8: (x: number) => any = x => { // should be (x: number) => Base >f8 : Symbol(f8, Decl(functionImplementations.ts, 134, 3)) diff --git a/tests/baselines/reference/functionOnlyHasThrow.symbols b/tests/baselines/reference/functionOnlyHasThrow.symbols index 43846067381..5c63de6efb8 100644 --- a/tests/baselines/reference/functionOnlyHasThrow.symbols +++ b/tests/baselines/reference/functionOnlyHasThrow.symbols @@ -3,5 +3,5 @@ function clone():number { >clone : Symbol(clone, Decl(functionOnlyHasThrow.ts, 0, 0)) throw new Error("To be implemented"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/functionOverloadAmbiguity1.symbols b/tests/baselines/reference/functionOverloadAmbiguity1.symbols index cbbe835ce3e..f6552e3c29a 100644 --- a/tests/baselines/reference/functionOverloadAmbiguity1.symbols +++ b/tests/baselines/reference/functionOverloadAmbiguity1.symbols @@ -35,7 +35,7 @@ function callb2(a) { } callb2((a) => { a.length; } ); // ok, chose first overload >callb2 : Symbol(callb2, Decl(functionOverloadAmbiguity1.ts, 3, 29), Decl(functionOverloadAmbiguity1.ts, 5, 43), Decl(functionOverloadAmbiguity1.ts, 6, 43)) >a : Symbol(a, Decl(functionOverloadAmbiguity1.ts, 8, 8)) ->a.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>a.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(functionOverloadAmbiguity1.ts, 8, 8)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/functionOverloadErrors.symbols b/tests/baselines/reference/functionOverloadErrors.symbols index fe548f740c1..b7420207513 100644 --- a/tests/baselines/reference/functionOverloadErrors.symbols +++ b/tests/baselines/reference/functionOverloadErrors.symbols @@ -25,7 +25,7 @@ function fn2b(n: number[]); function fn2b(n: Array); >fn2b : Symbol(fn2b, Decl(functionOverloadErrors.ts, 9, 1), Decl(functionOverloadErrors.ts, 10, 27), Decl(functionOverloadErrors.ts, 11, 32)) >n : Symbol(n, Decl(functionOverloadErrors.ts, 11, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function fn2b() { >fn2b : Symbol(fn2b, Decl(functionOverloadErrors.ts, 9, 1), Decl(functionOverloadErrors.ts, 10, 27), Decl(functionOverloadErrors.ts, 11, 32)) @@ -106,12 +106,12 @@ function fn9() { } function fn10(); >fn10 : Symbol(fn10, Decl(functionOverloadErrors.ts, 40, 18), Decl(functionOverloadErrors.ts, 43, 34), Decl(functionOverloadErrors.ts, 44, 32)) >T : Symbol(T, Decl(functionOverloadErrors.ts, 43, 14)) ->Window : Symbol(Window, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) function fn10(); >fn10 : Symbol(fn10, Decl(functionOverloadErrors.ts, 40, 18), Decl(functionOverloadErrors.ts, 43, 34), Decl(functionOverloadErrors.ts, 44, 32)) >S : Symbol(S, Decl(functionOverloadErrors.ts, 44, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function fn10() { } >fn10 : Symbol(fn10, Decl(functionOverloadErrors.ts, 40, 18), Decl(functionOverloadErrors.ts, 43, 34), Decl(functionOverloadErrors.ts, 44, 32)) @@ -122,12 +122,12 @@ function fn10() { } function fn11(); >fn11 : Symbol(fn11, Decl(functionOverloadErrors.ts, 45, 19), Decl(functionOverloadErrors.ts, 49, 34), Decl(functionOverloadErrors.ts, 50, 41)) >T : Symbol(T, Decl(functionOverloadErrors.ts, 49, 14)) ->Window : Symbol(Window, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) function fn11(); >fn11 : Symbol(fn11, Decl(functionOverloadErrors.ts, 45, 19), Decl(functionOverloadErrors.ts, 49, 34), Decl(functionOverloadErrors.ts, 50, 41)) >S : Symbol(S, Decl(functionOverloadErrors.ts, 50, 14)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) function fn11() { } >fn11 : Symbol(fn11, Decl(functionOverloadErrors.ts, 45, 19), Decl(functionOverloadErrors.ts, 49, 34), Decl(functionOverloadErrors.ts, 50, 41)) diff --git a/tests/baselines/reference/functionOverloadsOnGenericArity2.symbols b/tests/baselines/reference/functionOverloadsOnGenericArity2.symbols index dd5ac297758..0dabd2c826d 100644 --- a/tests/baselines/reference/functionOverloadsOnGenericArity2.symbols +++ b/tests/baselines/reference/functionOverloadsOnGenericArity2.symbols @@ -16,5 +16,5 @@ interface I { >U : Symbol(U, Decl(functionOverloadsOnGenericArity2.ts, 3, 9)) >T : Symbol(T, Decl(functionOverloadsOnGenericArity2.ts, 3, 11)) >p : Symbol(p, Decl(functionOverloadsOnGenericArity2.ts, 3, 15)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs.symbols b/tests/baselines/reference/functionSubtypingOfVarArgs.symbols index b77b48590e8..0c65f985b1c 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs.symbols +++ b/tests/baselines/reference/functionSubtypingOfVarArgs.symbols @@ -11,11 +11,11 @@ class EventBase { >args : Symbol(args, Decl(functionSubtypingOfVarArgs.ts, 3, 19)) this._listeners.push(listener); ->this._listeners.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>this._listeners.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >this._listeners : Symbol(EventBase._listeners, Decl(functionSubtypingOfVarArgs.ts, 0, 17)) >this : Symbol(EventBase, Decl(functionSubtypingOfVarArgs.ts, 0, 0)) >_listeners : Symbol(EventBase._listeners, Decl(functionSubtypingOfVarArgs.ts, 0, 17)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >listener : Symbol(listener, Decl(functionSubtypingOfVarArgs.ts, 3, 8)) } } diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs2.symbols b/tests/baselines/reference/functionSubtypingOfVarArgs2.symbols index f624730fd0c..6b9707b9b25 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs2.symbols +++ b/tests/baselines/reference/functionSubtypingOfVarArgs2.symbols @@ -12,11 +12,11 @@ class EventBase { >args : Symbol(args, Decl(functionSubtypingOfVarArgs2.ts, 3, 19)) this._listeners.push(listener); ->this._listeners.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>this._listeners.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >this._listeners : Symbol(EventBase._listeners, Decl(functionSubtypingOfVarArgs2.ts, 0, 17)) >this : Symbol(EventBase, Decl(functionSubtypingOfVarArgs2.ts, 0, 0)) >_listeners : Symbol(EventBase._listeners, Decl(functionSubtypingOfVarArgs2.ts, 0, 17)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >listener : Symbol(listener, Decl(functionSubtypingOfVarArgs2.ts, 3, 8)) } } diff --git a/tests/baselines/reference/functionType.symbols b/tests/baselines/reference/functionType.symbols index 30a5a7cc447..9f2629271a2 100644 --- a/tests/baselines/reference/functionType.symbols +++ b/tests/baselines/reference/functionType.symbols @@ -3,12 +3,12 @@ function salt() {} >salt : Symbol(salt, Decl(functionType.ts, 0, 0)) salt.apply("hello", []); ->salt.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>salt.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >salt : Symbol(salt, Decl(functionType.ts, 0, 0)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) (new Function("return 5"))(); ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/functionTypeArgumentAssignmentCompat.symbols b/tests/baselines/reference/functionTypeArgumentAssignmentCompat.symbols index afba235425d..ea5af88fcc8 100644 --- a/tests/baselines/reference/functionTypeArgumentAssignmentCompat.symbols +++ b/tests/baselines/reference/functionTypeArgumentAssignmentCompat.symbols @@ -24,13 +24,13 @@ f = g; var s = f("str").toUpperCase(); >s : Symbol(s, Decl(functionTypeArgumentAssignmentCompat.ts, 9, 3)) ->f("str").toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>f("str").toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(functionTypeArgumentAssignmentCompat.ts, 0, 3)) ->toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) console.log(s); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >s : Symbol(s, Decl(functionTypeArgumentAssignmentCompat.ts, 9, 3)) diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements9.symbols b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements9.symbols index a6e0b70ba60..060a636b2b4 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements9.symbols +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements9.symbols @@ -2,14 +2,14 @@ function foo(a = console.log) { } >foo : Symbol(foo, Decl(functionWithDefaultParameterWithNoStatements9.ts, 0, 0)) >a : Symbol(a, Decl(functionWithDefaultParameterWithNoStatements9.ts, 0, 13)) ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) function bar(a = console.log) { >bar : Symbol(bar, Decl(functionWithDefaultParameterWithNoStatements9.ts, 0, 33)) >a : Symbol(a, Decl(functionWithDefaultParameterWithNoStatements9.ts, 2, 13)) ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) } diff --git a/tests/baselines/reference/functionWithMultipleReturnStatements2.symbols b/tests/baselines/reference/functionWithMultipleReturnStatements2.symbols index c4aa6663803..848a586a50f 100644 --- a/tests/baselines/reference/functionWithMultipleReturnStatements2.symbols +++ b/tests/baselines/reference/functionWithMultipleReturnStatements2.symbols @@ -46,7 +46,7 @@ function f5() { return 1; return new Object(); ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f6(x: T) { @@ -121,7 +121,7 @@ function f11() { } else { return (x: Object) => { } >x : Symbol(x, Decl(functionWithMultipleReturnStatements2.ts, 79, 16)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -132,7 +132,7 @@ function f12() { if (true) { return (x: Object) => { } >x : Symbol(x, Decl(functionWithMultipleReturnStatements2.ts, 86, 16)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } else { return (x: number) => { } diff --git a/tests/baselines/reference/functionWithThrowButNoReturn1.symbols b/tests/baselines/reference/functionWithThrowButNoReturn1.symbols index ebc67c6f466..3c415d94393 100644 --- a/tests/baselines/reference/functionWithThrowButNoReturn1.symbols +++ b/tests/baselines/reference/functionWithThrowButNoReturn1.symbols @@ -3,7 +3,7 @@ function fn(): number { >fn : Symbol(fn, Decl(functionWithThrowButNoReturn1.ts, 0, 0)) throw new Error('NYI'); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var t; >t : Symbol(t, Decl(functionWithThrowButNoReturn1.ts, 2, 5)) diff --git a/tests/baselines/reference/generatedContextualTyping.symbols b/tests/baselines/reference/generatedContextualTyping.symbols index 780170f24ed..a9ac8047069 100644 --- a/tests/baselines/reference/generatedContextualTyping.symbols +++ b/tests/baselines/reference/generatedContextualTyping.symbols @@ -74,7 +74,7 @@ var x7: Base[] = [d1, d2]; var x8: Array = [d1, d2]; >x8 : Symbol(x8, Decl(generatedContextualTyping.ts, 12, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -165,7 +165,7 @@ class x19 { member: Base[] = [d1, d2] } class x20 { member: Array = [d1, d2] } >x20 : Symbol(x20, Decl(generatedContextualTyping.ts, 23, 39)) >member : Symbol(x20.member, Decl(generatedContextualTyping.ts, 24, 11)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -260,7 +260,7 @@ class x31 { private member: Base[] = [d1, d2] } class x32 { private member: Array = [d1, d2] } >x32 : Symbol(x32, Decl(generatedContextualTyping.ts, 35, 47)) >member : Symbol(x32.member, Decl(generatedContextualTyping.ts, 36, 11)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -355,7 +355,7 @@ class x43 { public member: Base[] = [d1, d2] } class x44 { public member: Array = [d1, d2] } >x44 : Symbol(x44, Decl(generatedContextualTyping.ts, 47, 46)) >member : Symbol(x44.member, Decl(generatedContextualTyping.ts, 48, 11)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -450,7 +450,7 @@ class x55 { static member: Base[] = [d1, d2] } class x56 { static member: Array = [d1, d2] } >x56 : Symbol(x56, Decl(generatedContextualTyping.ts, 59, 46)) >member : Symbol(x56.member, Decl(generatedContextualTyping.ts, 60, 11)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -545,7 +545,7 @@ class x67 { private static member: Base[] = [d1, d2] } class x68 { private static member: Array = [d1, d2] } >x68 : Symbol(x68, Decl(generatedContextualTyping.ts, 71, 54)) >member : Symbol(x68.member, Decl(generatedContextualTyping.ts, 72, 11)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -640,7 +640,7 @@ class x79 { public static member: Base[] = [d1, d2] } class x80 { public static member: Array = [d1, d2] } >x80 : Symbol(x80, Decl(generatedContextualTyping.ts, 83, 53)) >member : Symbol(x80.member, Decl(generatedContextualTyping.ts, 84, 11)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -735,7 +735,7 @@ class x91 { constructor(parm: Base[] = [d1, d2]) { } } class x92 { constructor(parm: Array = [d1, d2]) { } } >x92 : Symbol(x92, Decl(generatedContextualTyping.ts, 95, 54)) >parm : Symbol(parm, Decl(generatedContextualTyping.ts, 96, 24)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -830,7 +830,7 @@ class x103 { constructor(public parm: Base[] = [d1, d2]) { } } class x104 { constructor(public parm: Array = [d1, d2]) { } } >x104 : Symbol(x104, Decl(generatedContextualTyping.ts, 107, 62)) >parm : Symbol(x104.parm, Decl(generatedContextualTyping.ts, 108, 25)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -925,7 +925,7 @@ class x115 { constructor(private parm: Base[] = [d1, d2]) { } } class x116 { constructor(private parm: Array = [d1, d2]) { } } >x116 : Symbol(x116, Decl(generatedContextualTyping.ts, 119, 63)) >parm : Symbol(x116.parm, Decl(generatedContextualTyping.ts, 120, 25)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -1020,7 +1020,7 @@ function x127(parm: Base[] = [d1, d2]) { } function x128(parm: Array = [d1, d2]) { } >x128 : Symbol(x128, Decl(generatedContextualTyping.ts, 131, 42)) >parm : Symbol(parm, Decl(generatedContextualTyping.ts, 132, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -1107,7 +1107,7 @@ function x139(): Base[] { return [d1, d2]; } function x140(): Array { return [d1, d2]; } >x140 : Symbol(x140, Decl(generatedContextualTyping.ts, 143, 44)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -1206,7 +1206,7 @@ function x151(): Base[] { return [d1, d2]; return [d1, d2]; } function x152(): Array { return [d1, d2]; return [d1, d2]; } >x152 : Symbol(x152, Decl(generatedContextualTyping.ts, 155, 61)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -1303,7 +1303,7 @@ var x163: () => Base[] = () => { return [d1, d2]; }; var x164: () => Array = () => { return [d1, d2]; }; >x164 : Symbol(x164, Decl(generatedContextualTyping.ts, 168, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -1386,7 +1386,7 @@ var x175: () => Base[] = function() { return [d1, d2]; }; var x176: () => Array = function() { return [d1, d2]; }; >x176 : Symbol(x176, Decl(generatedContextualTyping.ts, 180, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -1477,7 +1477,7 @@ module x187 { var t: Base[] = [d1, d2]; } module x188 { var t: Array = [d1, d2]; } >x188 : Symbol(x188, Decl(generatedContextualTyping.ts, 191, 41)) >t : Symbol(t, Decl(generatedContextualTyping.ts, 192, 17)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -1572,7 +1572,7 @@ module x199 { export var t: Base[] = [d1, d2]; } module x200 { export var t: Array = [d1, d2]; } >x200 : Symbol(x200, Decl(generatedContextualTyping.ts, 203, 48)) >t : Symbol(t, Decl(generatedContextualTyping.ts, 204, 24)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -1647,7 +1647,7 @@ var x211 = [d1, d2]; var x212 = >[d1, d2]; >x212 : Symbol(x212, Decl(generatedContextualTyping.ts, 214, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -1715,7 +1715,7 @@ var x221 = (undefined) || [d1, d2]; var x222 = (>undefined) || [d1, d2]; >x222 : Symbol(x222, Decl(generatedContextualTyping.ts, 223, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >undefined : Symbol(undefined) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) @@ -1791,7 +1791,7 @@ var x231: Base[]; x231 = [d1, d2]; var x232: Array; x232 = [d1, d2]; >x232 : Symbol(x232, Decl(generatedContextualTyping.ts, 233, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >x232 : Symbol(x232, Decl(generatedContextualTyping.ts, 233, 3)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) @@ -1894,7 +1894,7 @@ var x243: { n: Base[]; } = { n: [d1, d2] }; var x244: { n: Array; } = { n: [d1, d2] }; >x244 : Symbol(x244, Decl(generatedContextualTyping.ts, 245, 3)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 245, 11)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 245, 33)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) @@ -1967,7 +1967,7 @@ var x255: Base[][] = [[d1, d2]]; var x256: Array[] = [[d1, d2]]; >x256 : Symbol(x256, Decl(generatedContextualTyping.ts, 254, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -2035,7 +2035,7 @@ var x265: Base[] = [d1, d2] || undefined; var x266: Array = [d1, d2] || undefined; >x266 : Symbol(x266, Decl(generatedContextualTyping.ts, 263, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -2097,7 +2097,7 @@ var x273: Base[] = undefined || [d1, d2]; var x274: Array = undefined || [d1, d2]; >x274 : Symbol(x274, Decl(generatedContextualTyping.ts, 271, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >undefined : Symbol(undefined) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) @@ -2166,7 +2166,7 @@ var x281: Base[] = [d1, d2] || [d1, d2]; var x282: Array = [d1, d2] || [d1, d2]; >x282 : Symbol(x282, Decl(generatedContextualTyping.ts, 279, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -2255,7 +2255,7 @@ var x291: Base[] = true ? [d1, d2] : [d1, d2]; var x292: Array = true ? [d1, d2] : [d1, d2]; >x292 : Symbol(x292, Decl(generatedContextualTyping.ts, 289, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -2359,7 +2359,7 @@ var x303: Base[] = true ? undefined : [d1, d2]; var x304: Array = true ? undefined : [d1, d2]; >x304 : Symbol(x304, Decl(generatedContextualTyping.ts, 301, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >undefined : Symbol(undefined) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) @@ -2454,7 +2454,7 @@ var x315: Base[] = true ? [d1, d2] : undefined; var x316: Array = true ? [d1, d2] : undefined; >x316 : Symbol(x316, Decl(generatedContextualTyping.ts, 313, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) >d2 : Symbol(d2, Decl(generatedContextualTyping.ts, 4, 40)) @@ -2557,7 +2557,7 @@ function x327(n: Base[]) { }; x327([d1, d2]); function x328(n: Array) { }; x328([d1, d2]); >x328 : Symbol(x328, Decl(generatedContextualTyping.ts, 324, 45)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 325, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >x328 : Symbol(x328, Decl(generatedContextualTyping.ts, 324, 45)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) @@ -2671,7 +2671,7 @@ var x339 = (n: Base[]) => n; x339([d1, d2]); var x340 = (n: Array) => n; x340([d1, d2]); >x340 : Symbol(x340, Decl(generatedContextualTyping.ts, 337, 3)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 337, 12)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 337, 12)) >x340 : Symbol(x340, Decl(generatedContextualTyping.ts, 337, 3)) @@ -2783,7 +2783,7 @@ var x351 = function(n: Base[]) { }; x351([d1, d2]); var x352 = function(n: Array) { }; x352([d1, d2]); >x352 : Symbol(x352, Decl(generatedContextualTyping.ts, 349, 3)) >n : Symbol(n, Decl(generatedContextualTyping.ts, 349, 20)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(generatedContextualTyping.ts, 0, 0)) >x352 : Symbol(x352, Decl(generatedContextualTyping.ts, 349, 3)) >d1 : Symbol(d1, Decl(generatedContextualTyping.ts, 4, 19)) diff --git a/tests/baselines/reference/generatorES6_6.symbols b/tests/baselines/reference/generatorES6_6.symbols index 383bb398530..87925d3fef2 100644 --- a/tests/baselines/reference/generatorES6_6.symbols +++ b/tests/baselines/reference/generatorES6_6.symbols @@ -4,9 +4,9 @@ class C { *[Symbol.iterator]() { >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(generatorES6_6.ts, 0, 9)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) let a = yield 1; >a : Symbol(a, Decl(generatorES6_6.ts, 2, 7)) diff --git a/tests/baselines/reference/generatorNoImplicitReturns.symbols b/tests/baselines/reference/generatorNoImplicitReturns.symbols index d1d9961ae68..448c76896d7 100644 --- a/tests/baselines/reference/generatorNoImplicitReturns.symbols +++ b/tests/baselines/reference/generatorNoImplicitReturns.symbols @@ -5,7 +5,7 @@ function* testGenerator () { if (Math.random() > 0.5) { >Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) return; diff --git a/tests/baselines/reference/generatorOverloads1.symbols b/tests/baselines/reference/generatorOverloads1.symbols index 7497f051332..38215c2a343 100644 --- a/tests/baselines/reference/generatorOverloads1.symbols +++ b/tests/baselines/reference/generatorOverloads1.symbols @@ -5,15 +5,15 @@ module M { function* f(s: string): Iterable; >f : Symbol(f, Decl(generatorOverloads1.ts, 0, 10), Decl(generatorOverloads1.ts, 1, 42), Decl(generatorOverloads1.ts, 2, 42)) >s : Symbol(s, Decl(generatorOverloads1.ts, 1, 16)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) function* f(s: number): Iterable; >f : Symbol(f, Decl(generatorOverloads1.ts, 0, 10), Decl(generatorOverloads1.ts, 1, 42), Decl(generatorOverloads1.ts, 2, 42)) >s : Symbol(s, Decl(generatorOverloads1.ts, 2, 16)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) function* f(s: any): Iterable { } >f : Symbol(f, Decl(generatorOverloads1.ts, 0, 10), Decl(generatorOverloads1.ts, 1, 42), Decl(generatorOverloads1.ts, 2, 42)) >s : Symbol(s, Decl(generatorOverloads1.ts, 3, 16)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) } diff --git a/tests/baselines/reference/generatorOverloads2.symbols b/tests/baselines/reference/generatorOverloads2.symbols index 184e4832e16..9a80182cf0a 100644 --- a/tests/baselines/reference/generatorOverloads2.symbols +++ b/tests/baselines/reference/generatorOverloads2.symbols @@ -5,15 +5,15 @@ declare module M { function* f(s: string): Iterable; >f : Symbol(f, Decl(generatorOverloads2.ts, 0, 18), Decl(generatorOverloads2.ts, 1, 42), Decl(generatorOverloads2.ts, 2, 42)) >s : Symbol(s, Decl(generatorOverloads2.ts, 1, 16)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) function* f(s: number): Iterable; >f : Symbol(f, Decl(generatorOverloads2.ts, 0, 18), Decl(generatorOverloads2.ts, 1, 42), Decl(generatorOverloads2.ts, 2, 42)) >s : Symbol(s, Decl(generatorOverloads2.ts, 2, 16)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) function* f(s: any): Iterable; >f : Symbol(f, Decl(generatorOverloads2.ts, 0, 18), Decl(generatorOverloads2.ts, 1, 42), Decl(generatorOverloads2.ts, 2, 42)) >s : Symbol(s, Decl(generatorOverloads2.ts, 3, 16)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) } diff --git a/tests/baselines/reference/generatorOverloads3.symbols b/tests/baselines/reference/generatorOverloads3.symbols index ca2f704e9e9..2fdf8c56580 100644 --- a/tests/baselines/reference/generatorOverloads3.symbols +++ b/tests/baselines/reference/generatorOverloads3.symbols @@ -5,15 +5,15 @@ class C { *f(s: string): Iterable; >f : Symbol(C.f, Decl(generatorOverloads3.ts, 0, 9), Decl(generatorOverloads3.ts, 1, 33), Decl(generatorOverloads3.ts, 2, 33)) >s : Symbol(s, Decl(generatorOverloads3.ts, 1, 7)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) *f(s: number): Iterable; >f : Symbol(C.f, Decl(generatorOverloads3.ts, 0, 9), Decl(generatorOverloads3.ts, 1, 33), Decl(generatorOverloads3.ts, 2, 33)) >s : Symbol(s, Decl(generatorOverloads3.ts, 2, 7)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) *f(s: any): Iterable { } >f : Symbol(C.f, Decl(generatorOverloads3.ts, 0, 9), Decl(generatorOverloads3.ts, 1, 33), Decl(generatorOverloads3.ts, 2, 33)) >s : Symbol(s, Decl(generatorOverloads3.ts, 3, 7)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) } diff --git a/tests/baselines/reference/generatorOverloads4.symbols b/tests/baselines/reference/generatorOverloads4.symbols index 7fa2608d65a..f7ab5bc1f95 100644 --- a/tests/baselines/reference/generatorOverloads4.symbols +++ b/tests/baselines/reference/generatorOverloads4.symbols @@ -5,15 +5,15 @@ class C { f(s: string): Iterable; >f : Symbol(C.f, Decl(generatorOverloads4.ts, 0, 9), Decl(generatorOverloads4.ts, 1, 32), Decl(generatorOverloads4.ts, 2, 32)) >s : Symbol(s, Decl(generatorOverloads4.ts, 1, 6)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) f(s: number): Iterable; >f : Symbol(C.f, Decl(generatorOverloads4.ts, 0, 9), Decl(generatorOverloads4.ts, 1, 32), Decl(generatorOverloads4.ts, 2, 32)) >s : Symbol(s, Decl(generatorOverloads4.ts, 2, 6)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) *f(s: any): Iterable { } >f : Symbol(C.f, Decl(generatorOverloads4.ts, 0, 9), Decl(generatorOverloads4.ts, 1, 32), Decl(generatorOverloads4.ts, 2, 32)) >s : Symbol(s, Decl(generatorOverloads4.ts, 3, 7)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) } diff --git a/tests/baselines/reference/generatorOverloads5.symbols b/tests/baselines/reference/generatorOverloads5.symbols index e99fd377d6d..feb27cabed0 100644 --- a/tests/baselines/reference/generatorOverloads5.symbols +++ b/tests/baselines/reference/generatorOverloads5.symbols @@ -5,15 +5,15 @@ module M { function f(s: string): Iterable; >f : Symbol(f, Decl(generatorOverloads5.ts, 0, 10), Decl(generatorOverloads5.ts, 1, 41), Decl(generatorOverloads5.ts, 2, 41)) >s : Symbol(s, Decl(generatorOverloads5.ts, 1, 15)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) function f(s: number): Iterable; >f : Symbol(f, Decl(generatorOverloads5.ts, 0, 10), Decl(generatorOverloads5.ts, 1, 41), Decl(generatorOverloads5.ts, 2, 41)) >s : Symbol(s, Decl(generatorOverloads5.ts, 2, 15)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) function* f(s: any): Iterable { } >f : Symbol(f, Decl(generatorOverloads5.ts, 0, 10), Decl(generatorOverloads5.ts, 1, 41), Decl(generatorOverloads5.ts, 2, 41)) >s : Symbol(s, Decl(generatorOverloads5.ts, 3, 16)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) } diff --git a/tests/baselines/reference/generatorTypeCheck1.symbols b/tests/baselines/reference/generatorTypeCheck1.symbols index efcdb8215ae..dbb6db06833 100644 --- a/tests/baselines/reference/generatorTypeCheck1.symbols +++ b/tests/baselines/reference/generatorTypeCheck1.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck1.ts === function* g1(): Iterator { } >g1 : Symbol(g1, Decl(generatorTypeCheck1.ts, 0, 0)) ->Iterator : Symbol(Iterator, Decl(lib.es6.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/generatorTypeCheck10.symbols b/tests/baselines/reference/generatorTypeCheck10.symbols index 50f56a8c82e..3d6f8cf889a 100644 --- a/tests/baselines/reference/generatorTypeCheck10.symbols +++ b/tests/baselines/reference/generatorTypeCheck10.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck10.ts === function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck10.ts, 0, 0)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) return; } diff --git a/tests/baselines/reference/generatorTypeCheck11.symbols b/tests/baselines/reference/generatorTypeCheck11.symbols index 923a9b5c880..aea1ffd781c 100644 --- a/tests/baselines/reference/generatorTypeCheck11.symbols +++ b/tests/baselines/reference/generatorTypeCheck11.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck11.ts === function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck11.ts, 0, 0)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) return 0; } diff --git a/tests/baselines/reference/generatorTypeCheck12.symbols b/tests/baselines/reference/generatorTypeCheck12.symbols index b9145c00fdd..2dc7d5d42ab 100644 --- a/tests/baselines/reference/generatorTypeCheck12.symbols +++ b/tests/baselines/reference/generatorTypeCheck12.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck12.ts === function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck12.ts, 0, 0)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) return ""; } diff --git a/tests/baselines/reference/generatorTypeCheck13.symbols b/tests/baselines/reference/generatorTypeCheck13.symbols index 0ca8616dfc3..494356185c8 100644 --- a/tests/baselines/reference/generatorTypeCheck13.symbols +++ b/tests/baselines/reference/generatorTypeCheck13.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck13.ts === function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck13.ts, 0, 0)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) yield 0; return ""; diff --git a/tests/baselines/reference/generatorTypeCheck17.symbols b/tests/baselines/reference/generatorTypeCheck17.symbols index 099f0b415c8..6e4941dd7cf 100644 --- a/tests/baselines/reference/generatorTypeCheck17.symbols +++ b/tests/baselines/reference/generatorTypeCheck17.symbols @@ -10,7 +10,7 @@ class Bar extends Foo { y: string } function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck17.ts, 1, 35)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Foo : Symbol(Foo, Decl(generatorTypeCheck17.ts, 0, 0)) yield; diff --git a/tests/baselines/reference/generatorTypeCheck18.symbols b/tests/baselines/reference/generatorTypeCheck18.symbols index 87157a10fe5..103f3c4e48a 100644 --- a/tests/baselines/reference/generatorTypeCheck18.symbols +++ b/tests/baselines/reference/generatorTypeCheck18.symbols @@ -9,7 +9,7 @@ class Baz { z: number } function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck18.ts, 1, 23)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Foo : Symbol(Foo, Decl(generatorTypeCheck18.ts, 0, 0)) yield; diff --git a/tests/baselines/reference/generatorTypeCheck19.symbols b/tests/baselines/reference/generatorTypeCheck19.symbols index d9cf5ea03e4..bb72f4b5646 100644 --- a/tests/baselines/reference/generatorTypeCheck19.symbols +++ b/tests/baselines/reference/generatorTypeCheck19.symbols @@ -10,7 +10,7 @@ class Bar extends Foo { y: string } function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck19.ts, 1, 35)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Foo : Symbol(Foo, Decl(generatorTypeCheck19.ts, 0, 0)) yield; diff --git a/tests/baselines/reference/generatorTypeCheck2.symbols b/tests/baselines/reference/generatorTypeCheck2.symbols index e092a3a939c..33c0200c0c9 100644 --- a/tests/baselines/reference/generatorTypeCheck2.symbols +++ b/tests/baselines/reference/generatorTypeCheck2.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck2.ts === function* g1(): Iterable { } >g1 : Symbol(g1, Decl(generatorTypeCheck2.ts, 0, 0)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/generatorTypeCheck20.symbols b/tests/baselines/reference/generatorTypeCheck20.symbols index 34f0e8f625c..b82c2e64b80 100644 --- a/tests/baselines/reference/generatorTypeCheck20.symbols +++ b/tests/baselines/reference/generatorTypeCheck20.symbols @@ -9,7 +9,7 @@ class Baz { z: number } function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck20.ts, 1, 23)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Foo : Symbol(Foo, Decl(generatorTypeCheck20.ts, 0, 0)) yield; diff --git a/tests/baselines/reference/generatorTypeCheck21.symbols b/tests/baselines/reference/generatorTypeCheck21.symbols index 0d36624402d..d7a8c1fb131 100644 --- a/tests/baselines/reference/generatorTypeCheck21.symbols +++ b/tests/baselines/reference/generatorTypeCheck21.symbols @@ -10,7 +10,7 @@ class Bar extends Foo { y: string } function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck21.ts, 1, 35)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Foo : Symbol(Foo, Decl(generatorTypeCheck21.ts, 0, 0)) yield; diff --git a/tests/baselines/reference/generatorTypeCheck25.symbols b/tests/baselines/reference/generatorTypeCheck25.symbols index 8cafe9e8849..ebbe92062ed 100644 --- a/tests/baselines/reference/generatorTypeCheck25.symbols +++ b/tests/baselines/reference/generatorTypeCheck25.symbols @@ -14,7 +14,7 @@ class Baz { z: number } var g3: () => Iterable = function* () { >g3 : Symbol(g3, Decl(generatorTypeCheck25.ts, 3, 3)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >Foo : Symbol(Foo, Decl(generatorTypeCheck25.ts, 0, 0)) yield; diff --git a/tests/baselines/reference/generatorTypeCheck26.symbols b/tests/baselines/reference/generatorTypeCheck26.symbols index 78cc075c76f..b5f5a65669e 100644 --- a/tests/baselines/reference/generatorTypeCheck26.symbols +++ b/tests/baselines/reference/generatorTypeCheck26.symbols @@ -1,20 +1,20 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck26.ts === function* g(): IterableIterator<(x: string) => number> { >g : Symbol(g, Decl(generatorTypeCheck26.ts, 0, 0)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck26.ts, 0, 33)) yield x => x.length; >x : Symbol(x, Decl(generatorTypeCheck26.ts, 1, 9)) ->x.length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck26.ts, 1, 9)) ->length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) yield *[x => x.length]; >x : Symbol(x, Decl(generatorTypeCheck26.ts, 2, 12)) ->x.length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck26.ts, 2, 12)) ->length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) return x => x.length; >x : Symbol(x, Decl(generatorTypeCheck26.ts, 3, 10)) diff --git a/tests/baselines/reference/generatorTypeCheck27.symbols b/tests/baselines/reference/generatorTypeCheck27.symbols index 82e142b15c3..58f5e562423 100644 --- a/tests/baselines/reference/generatorTypeCheck27.symbols +++ b/tests/baselines/reference/generatorTypeCheck27.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck27.ts === function* g(): IterableIterator<(x: string) => number> { >g : Symbol(g, Decl(generatorTypeCheck27.ts, 0, 0)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck27.ts, 0, 33)) yield * function* () { diff --git a/tests/baselines/reference/generatorTypeCheck28.symbols b/tests/baselines/reference/generatorTypeCheck28.symbols index 5d95e0e797e..4ed3f5b5718 100644 --- a/tests/baselines/reference/generatorTypeCheck28.symbols +++ b/tests/baselines/reference/generatorTypeCheck28.symbols @@ -1,21 +1,21 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck28.ts === function* g(): IterableIterator<(x: string) => number> { >g : Symbol(g, Decl(generatorTypeCheck28.ts, 0, 0)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck28.ts, 0, 33)) yield * { *[Symbol.iterator]() { >[Symbol.iterator] : Symbol([Symbol.iterator], Decl(generatorTypeCheck28.ts, 1, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) yield x => x.length; >x : Symbol(x, Decl(generatorTypeCheck28.ts, 3, 17)) ->x.length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck28.ts, 3, 17)) ->length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } }; } diff --git a/tests/baselines/reference/generatorTypeCheck29.symbols b/tests/baselines/reference/generatorTypeCheck29.symbols index 8f0304c0874..5ea31ccb0cd 100644 --- a/tests/baselines/reference/generatorTypeCheck29.symbols +++ b/tests/baselines/reference/generatorTypeCheck29.symbols @@ -1,8 +1,8 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck29.ts === function* g2(): Iterator number>> { >g2 : Symbol(g2, Decl(generatorTypeCheck29.ts, 0, 0)) ->Iterator : Symbol(Iterator, Decl(lib.es6.d.ts, --, --)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck29.ts, 0, 35)) yield function* () { diff --git a/tests/baselines/reference/generatorTypeCheck3.symbols b/tests/baselines/reference/generatorTypeCheck3.symbols index 6bd083eb812..4533e1d9d2f 100644 --- a/tests/baselines/reference/generatorTypeCheck3.symbols +++ b/tests/baselines/reference/generatorTypeCheck3.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck3.ts === function* g1(): IterableIterator { } >g1 : Symbol(g1, Decl(generatorTypeCheck3.ts, 0, 0)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/generatorTypeCheck30.symbols b/tests/baselines/reference/generatorTypeCheck30.symbols index 76e02c243cf..f1626cf067f 100644 --- a/tests/baselines/reference/generatorTypeCheck30.symbols +++ b/tests/baselines/reference/generatorTypeCheck30.symbols @@ -1,8 +1,8 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck30.ts === function* g2(): Iterator number>> { >g2 : Symbol(g2, Decl(generatorTypeCheck30.ts, 0, 0)) ->Iterator : Symbol(Iterator, Decl(lib.es6.d.ts, --, --)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck30.ts, 0, 35)) yield function* () { diff --git a/tests/baselines/reference/generatorTypeCheck31.symbols b/tests/baselines/reference/generatorTypeCheck31.symbols index ede40291591..2cdc507cd7f 100644 --- a/tests/baselines/reference/generatorTypeCheck31.symbols +++ b/tests/baselines/reference/generatorTypeCheck31.symbols @@ -1,8 +1,8 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck31.ts === function* g2(): Iterator<() => Iterable<(x: string) => number>> { >g2 : Symbol(g2, Decl(generatorTypeCheck31.ts, 0, 0)) ->Iterator : Symbol(Iterator, Decl(lib.es6.d.ts, --, --)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck31.ts, 0, 41)) yield function* () { diff --git a/tests/baselines/reference/generatorTypeCheck45.symbols b/tests/baselines/reference/generatorTypeCheck45.symbols index 893b642cb99..fa8cdacfcd3 100644 --- a/tests/baselines/reference/generatorTypeCheck45.symbols +++ b/tests/baselines/reference/generatorTypeCheck45.symbols @@ -6,7 +6,7 @@ declare function foo(x: T, fun: () => Iterator<(x: T) => U>, fun2: (y: U) >x : Symbol(x, Decl(generatorTypeCheck45.ts, 0, 27)) >T : Symbol(T, Decl(generatorTypeCheck45.ts, 0, 21)) >fun : Symbol(fun, Decl(generatorTypeCheck45.ts, 0, 32)) ->Iterator : Symbol(Iterator, Decl(lib.es6.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck45.ts, 0, 54)) >T : Symbol(T, Decl(generatorTypeCheck45.ts, 0, 21)) >U : Symbol(U, Decl(generatorTypeCheck45.ts, 0, 23)) @@ -19,9 +19,9 @@ declare function foo(x: T, fun: () => Iterator<(x: T) => U>, fun2: (y: U) foo("", function* () { yield x => x.length }, p => undefined); // T is fixed, should be string >foo : Symbol(foo, Decl(generatorTypeCheck45.ts, 0, 0)) >x : Symbol(x, Decl(generatorTypeCheck45.ts, 2, 28)) ->x.length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck45.ts, 2, 28)) ->length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(generatorTypeCheck45.ts, 2, 45)) >undefined : Symbol(undefined) diff --git a/tests/baselines/reference/generatorTypeCheck46.symbols b/tests/baselines/reference/generatorTypeCheck46.symbols index f123679b3e3..93226483267 100644 --- a/tests/baselines/reference/generatorTypeCheck46.symbols +++ b/tests/baselines/reference/generatorTypeCheck46.symbols @@ -6,7 +6,7 @@ declare function foo(x: T, fun: () => Iterable<(x: T) => U>, fun2: (y: U) >x : Symbol(x, Decl(generatorTypeCheck46.ts, 0, 27)) >T : Symbol(T, Decl(generatorTypeCheck46.ts, 0, 21)) >fun : Symbol(fun, Decl(generatorTypeCheck46.ts, 0, 32)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck46.ts, 0, 54)) >T : Symbol(T, Decl(generatorTypeCheck46.ts, 0, 21)) >U : Symbol(U, Decl(generatorTypeCheck46.ts, 0, 23)) @@ -22,15 +22,15 @@ foo("", function* () { yield* { *[Symbol.iterator]() { >[Symbol.iterator] : Symbol([Symbol.iterator], Decl(generatorTypeCheck46.ts, 3, 12)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) yield x => x.length >x : Symbol(x, Decl(generatorTypeCheck46.ts, 5, 17)) ->x.length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck46.ts, 5, 17)) ->length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } }, p => undefined); // T is fixed, should be string diff --git a/tests/baselines/reference/generatorTypeCheck62.symbols b/tests/baselines/reference/generatorTypeCheck62.symbols index ab07de3d4f4..b8eb11d1f67 100644 --- a/tests/baselines/reference/generatorTypeCheck62.symbols +++ b/tests/baselines/reference/generatorTypeCheck62.symbols @@ -14,11 +14,11 @@ export function strategy(stratName: string, gen: (a: T >gen : Symbol(gen, Decl(generatorTypeCheck62.ts, 4, 69)) >a : Symbol(a, Decl(generatorTypeCheck62.ts, 4, 76)) >T : Symbol(T, Decl(generatorTypeCheck62.ts, 4, 25)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(generatorTypeCheck62.ts, 4, 25)) >a : Symbol(a, Decl(generatorTypeCheck62.ts, 4, 120)) >T : Symbol(T, Decl(generatorTypeCheck62.ts, 4, 25)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(generatorTypeCheck62.ts, 4, 25)) return function*(state) { @@ -51,7 +51,7 @@ export interface Strategy { (a: T): IterableIterator; >a : Symbol(a, Decl(generatorTypeCheck62.ts, 16, 5)) >T : Symbol(T, Decl(generatorTypeCheck62.ts, 15, 26)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(generatorTypeCheck62.ts, 15, 26)) } diff --git a/tests/baselines/reference/generatorTypeCheck63.symbols b/tests/baselines/reference/generatorTypeCheck63.symbols index e142a1b3bb0..4d825e2d056 100644 --- a/tests/baselines/reference/generatorTypeCheck63.symbols +++ b/tests/baselines/reference/generatorTypeCheck63.symbols @@ -14,11 +14,11 @@ export function strategy(stratName: string, gen: (a: T >gen : Symbol(gen, Decl(generatorTypeCheck63.ts, 4, 69)) >a : Symbol(a, Decl(generatorTypeCheck63.ts, 4, 76)) >T : Symbol(T, Decl(generatorTypeCheck63.ts, 4, 25)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(generatorTypeCheck63.ts, 4, 25)) >a : Symbol(a, Decl(generatorTypeCheck63.ts, 4, 120)) >T : Symbol(T, Decl(generatorTypeCheck63.ts, 4, 25)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(generatorTypeCheck63.ts, 4, 25)) return function*(state) { @@ -51,7 +51,7 @@ export interface Strategy { (a: T): IterableIterator; >a : Symbol(a, Decl(generatorTypeCheck63.ts, 16, 5)) >T : Symbol(T, Decl(generatorTypeCheck63.ts, 15, 26)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(generatorTypeCheck63.ts, 15, 26)) } diff --git a/tests/baselines/reference/generatorTypeCheck7.symbols b/tests/baselines/reference/generatorTypeCheck7.symbols index d81cbc05c0b..0573de30b7c 100644 --- a/tests/baselines/reference/generatorTypeCheck7.symbols +++ b/tests/baselines/reference/generatorTypeCheck7.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck7.ts === interface WeirdIter extends IterableIterator { >WeirdIter : Symbol(WeirdIter, Decl(generatorTypeCheck7.ts, 0, 0)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) hello: string; >hello : Symbol(WeirdIter.hello, Decl(generatorTypeCheck7.ts, 0, 54)) diff --git a/tests/baselines/reference/generatorTypeCheck8.symbols b/tests/baselines/reference/generatorTypeCheck8.symbols index 30d067805cd..2938c6c0dc1 100644 --- a/tests/baselines/reference/generatorTypeCheck8.symbols +++ b/tests/baselines/reference/generatorTypeCheck8.symbols @@ -1,8 +1,8 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck8.ts === interface BadGenerator extends Iterator, Iterable { } >BadGenerator : Symbol(BadGenerator, Decl(generatorTypeCheck8.ts, 0, 0)) ->Iterator : Symbol(Iterator, Decl(lib.es6.d.ts, --, --)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) function* g3(): BadGenerator { } >g3 : Symbol(g3, Decl(generatorTypeCheck8.ts, 0, 69)) diff --git a/tests/baselines/reference/genericArray1.symbols b/tests/baselines/reference/genericArray1.symbols index b73872b8d55..7ee0c3bc8c6 100644 --- a/tests/baselines/reference/genericArray1.symbols +++ b/tests/baselines/reference/genericArray1.symbols @@ -13,10 +13,10 @@ interface String{ var lengths = ["a", "b", "c"].map(x => x.length); >lengths : Symbol(lengths, Decl(genericArray1.ts, 12, 3)) ->["a", "b", "c"].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>["a", "b", "c"].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericArray1.ts, 12, 34)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericArray1.ts, 12, 34)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/genericArrayAssignmentCompatErrors.symbols b/tests/baselines/reference/genericArrayAssignmentCompatErrors.symbols index 29d2e52e637..0bb3c019867 100644 --- a/tests/baselines/reference/genericArrayAssignmentCompatErrors.symbols +++ b/tests/baselines/reference/genericArrayAssignmentCompatErrors.symbols @@ -1,22 +1,22 @@ === tests/cases/compiler/genericArrayAssignmentCompatErrors.ts === var myCars=new Array(); >myCars : Symbol(myCars, Decl(genericArrayAssignmentCompatErrors.ts, 0, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var myCars2 = new []; >myCars2 : Symbol(myCars2, Decl(genericArrayAssignmentCompatErrors.ts, 1, 3)) var myCars3 = new Array({}); >myCars3 : Symbol(myCars3, Decl(genericArrayAssignmentCompatErrors.ts, 2, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var myCars4: Array; // error >myCars4 : Symbol(myCars4, Decl(genericArrayAssignmentCompatErrors.ts, 3, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var myCars5: Array[]; >myCars5 : Symbol(myCars5, Decl(genericArrayAssignmentCompatErrors.ts, 4, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) myCars = myCars2; >myCars : Symbol(myCars, Decl(genericArrayAssignmentCompatErrors.ts, 0, 3)) diff --git a/tests/baselines/reference/genericArrayExtenstions.symbols b/tests/baselines/reference/genericArrayExtenstions.symbols index ceb253411ac..24df3774b78 100644 --- a/tests/baselines/reference/genericArrayExtenstions.symbols +++ b/tests/baselines/reference/genericArrayExtenstions.symbols @@ -2,7 +2,7 @@ export declare class ObservableArray implements Array { // MS.Entertainment.ObservableArray >ObservableArray : Symbol(ObservableArray, Decl(genericArrayExtenstions.ts, 0, 0)) >T : Symbol(T, Decl(genericArrayExtenstions.ts, 0, 37)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(genericArrayExtenstions.ts, 0, 37)) concat(...items: U[]): T[]; diff --git a/tests/baselines/reference/genericArrayMethods1.symbols b/tests/baselines/reference/genericArrayMethods1.symbols index 10b1850c1f4..423bcbdb9fa 100644 --- a/tests/baselines/reference/genericArrayMethods1.symbols +++ b/tests/baselines/reference/genericArrayMethods1.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/genericArrayMethods1.ts === var x:string[] = [0,1].slice(0); // this should be an error >x : Symbol(x, Decl(genericArrayMethods1.ts, 0, 3)) ->[0,1].slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>[0,1].slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/genericCallWithArrayLiteralArgs.symbols b/tests/baselines/reference/genericCallWithArrayLiteralArgs.symbols index e7a52c5e264..a95e6a8813f 100644 --- a/tests/baselines/reference/genericCallWithArrayLiteralArgs.symbols +++ b/tests/baselines/reference/genericCallWithArrayLiteralArgs.symbols @@ -40,5 +40,5 @@ var r5 = foo([1, '']); // any[] var r6 = foo([1, '']); // Object[] >r6 : Symbol(r6, Decl(genericCallWithArrayLiteralArgs.ts, 11, 3)) >foo : Symbol(foo, Decl(genericCallWithArrayLiteralArgs.ts, 0, 0)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.symbols b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.symbols index b61cb7746cf..e154693abe7 100644 --- a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.symbols +++ b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.symbols @@ -28,18 +28,18 @@ var r2 = foo(null); // {} var r3 = foo(new Object()); // {} >r3 : Symbol(r3, Decl(genericCallWithConstraintsTypeArgumentInference2.ts, 9, 3)) >foo : Symbol(foo, Decl(genericCallWithConstraintsTypeArgumentInference2.ts, 0, 0)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r4 = foo(1); // error >r4 : Symbol(r4, Decl(genericCallWithConstraintsTypeArgumentInference2.ts, 10, 3)) >foo : Symbol(foo, Decl(genericCallWithConstraintsTypeArgumentInference2.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r5 = foo(new Date()); // no error >r5 : Symbol(r5, Decl(genericCallWithConstraintsTypeArgumentInference2.ts, 11, 3)) >foo : Symbol(foo, Decl(genericCallWithConstraintsTypeArgumentInference2.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments.symbols b/tests/baselines/reference/genericCallWithGenericSignatureArguments.symbols index 5921a53ae5f..ceb828ca2ba 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments.symbols +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments.symbols @@ -35,7 +35,7 @@ var r2 = foo((x: Object) => null, (x: string) => ''); // Object => Object >r2 : Symbol(r2, Decl(genericCallWithGenericSignatureArguments.ts, 10, 3)) >foo : Symbol(foo, Decl(genericCallWithGenericSignatureArguments.ts, 0, 0)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments.ts, 10, 14)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments.ts, 10, 35)) var r3 = foo((x: number) => 1, (x: Object) => null); // number => number @@ -43,7 +43,7 @@ var r3 = foo((x: number) => 1, (x: Object) => null); // number => number >foo : Symbol(foo, Decl(genericCallWithGenericSignatureArguments.ts, 0, 0)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments.ts, 11, 14)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments.ts, 11, 32)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r3ii = foo((x: number) => 1, (x: number) => 1); // number => number >r3ii : Symbol(r3ii, Decl(genericCallWithGenericSignatureArguments.ts, 12, 3)) @@ -109,7 +109,7 @@ function other(x: T) { function other2(x: T) { >other2 : Symbol(other2, Decl(genericCallWithGenericSignatureArguments.ts, 23, 1)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments.ts, 25, 16)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments.ts, 25, 32)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments.ts, 25, 16)) @@ -143,7 +143,7 @@ function other2(x: T) { function foo2(a: (x: T) => T, b: (x: T) => T) { >foo2 : Symbol(foo2, Decl(genericCallWithGenericSignatureArguments.ts, 31, 1)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments.ts, 34, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >a : Symbol(a, Decl(genericCallWithGenericSignatureArguments.ts, 34, 30)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments.ts, 34, 34)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments.ts, 34, 14)) @@ -166,7 +166,7 @@ function foo2(a: (x: T) => T, b: (x: T) => T) { function other3(x: T) { >other3 : Symbol(other3, Decl(genericCallWithGenericSignatureArguments.ts, 37, 1)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments.ts, 39, 16)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments.ts, 39, 34)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments.ts, 39, 16)) @@ -174,9 +174,9 @@ function other3(x: T) { >r8 : Symbol(r8, Decl(genericCallWithGenericSignatureArguments.ts, 40, 7)) >foo2 : Symbol(foo2, Decl(genericCallWithGenericSignatureArguments.ts, 31, 1)) >a : Symbol(a, Decl(genericCallWithGenericSignatureArguments.ts, 40, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >a : Symbol(a, Decl(genericCallWithGenericSignatureArguments.ts, 40, 19)) >b : Symbol(b, Decl(genericCallWithGenericSignatureArguments.ts, 40, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >b : Symbol(b, Decl(genericCallWithGenericSignatureArguments.ts, 40, 35)) } diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.symbols b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.symbols index 8167765041d..5b8e0deb3c2 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.symbols +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.symbols @@ -37,7 +37,7 @@ module onlyT { function other2(x: T) { >other2 : Symbol(other2, Decl(genericCallWithGenericSignatureArguments2.ts, 9, 69)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 11, 20)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 11, 36)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 11, 20)) @@ -55,7 +55,7 @@ module onlyT { var r9 = r7(new Date()); // should be ok >r9 : Symbol(r9, Decl(genericCallWithGenericSignatureArguments2.ts, 14, 11)) >r7 : Symbol(r7, Decl(genericCallWithGenericSignatureArguments2.ts, 12, 11)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r10 = r7(1); // error >r10 : Symbol(r10, Decl(genericCallWithGenericSignatureArguments2.ts, 15, 11)) @@ -65,7 +65,7 @@ module onlyT { function foo2(a: (x: T) => T, b: (x: T) => T) { >foo2 : Symbol(foo2, Decl(genericCallWithGenericSignatureArguments2.ts, 16, 5)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 18, 18)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >a : Symbol(a, Decl(genericCallWithGenericSignatureArguments2.ts, 18, 34)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 18, 38)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 18, 18)) @@ -88,7 +88,7 @@ module onlyT { function other3(x: T) { >other3 : Symbol(other3, Decl(genericCallWithGenericSignatureArguments2.ts, 21, 5)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 23, 20)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 23, 38)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 23, 20)) @@ -195,7 +195,7 @@ module TU { function other2(x: T) { >other2 : Symbol(other2, Decl(genericCallWithGenericSignatureArguments2.ts, 45, 69)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 47, 20)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 47, 36)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 47, 20)) @@ -212,7 +212,7 @@ module TU { var r9 = r7(new Date()); >r9 : Symbol(r9, Decl(genericCallWithGenericSignatureArguments2.ts, 49, 11)) >r7 : Symbol(r7, Decl(genericCallWithGenericSignatureArguments2.ts, 48, 11)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r10 = r7(1); >r10 : Symbol(r10, Decl(genericCallWithGenericSignatureArguments2.ts, 50, 11)) @@ -222,9 +222,9 @@ module TU { function foo2(a: (x: T) => T, b: (x: U) => U) { >foo2 : Symbol(foo2, Decl(genericCallWithGenericSignatureArguments2.ts, 51, 5)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 53, 18)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >U : Symbol(U, Decl(genericCallWithGenericSignatureArguments2.ts, 53, 33)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >a : Symbol(a, Decl(genericCallWithGenericSignatureArguments2.ts, 53, 50)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 53, 54)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 53, 18)) @@ -247,7 +247,7 @@ module TU { function other3(x: T) { >other3 : Symbol(other3, Decl(genericCallWithGenericSignatureArguments2.ts, 56, 5)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 58, 20)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments2.ts, 58, 38)) >T : Symbol(T, Decl(genericCallWithGenericSignatureArguments2.ts, 58, 20)) diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.symbols b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.symbols index 56ca2d69751..33c667b40dc 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.symbols +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.symbols @@ -31,7 +31,7 @@ var r1 = foo('', (x: string) => '', (x: Object) => null); // any => any >foo : Symbol(foo, Decl(genericCallWithGenericSignatureArguments3.ts, 0, 0)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 8, 18)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 8, 37)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r1ii = foo('', (x) => '', (x) => null); // string => string >r1ii : Symbol(r1ii, Decl(genericCallWithGenericSignatureArguments3.ts, 9, 3)) @@ -44,13 +44,13 @@ var r2 = foo('', (x: string) => '', (x: Object) => ''); // string => string >foo : Symbol(foo, Decl(genericCallWithGenericSignatureArguments3.ts, 0, 0)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 10, 18)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 10, 37)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r3 = foo(null, (x: Object) => '', (x: string) => ''); // Object => Object >r3 : Symbol(r3, Decl(genericCallWithGenericSignatureArguments3.ts, 11, 3)) >foo : Symbol(foo, Decl(genericCallWithGenericSignatureArguments3.ts, 0, 0)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 11, 20)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 11, 39)) var r4 = foo(null, (x) => '', (x) => ''); // any => any @@ -62,7 +62,7 @@ var r4 = foo(null, (x) => '', (x) => ''); // any => any var r5 = foo(new Object(), (x) => '', (x) => ''); // Object => Object >r5 : Symbol(r5, Decl(genericCallWithGenericSignatureArguments3.ts, 13, 3)) >foo : Symbol(foo, Decl(genericCallWithGenericSignatureArguments3.ts, 0, 0)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 13, 28)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 13, 39)) @@ -132,7 +132,7 @@ var r10 = foo2(null, (x: Object) => '', (x: string) => ''); // Object => Object >r10 : Symbol(r10, Decl(genericCallWithGenericSignatureArguments3.ts, 28, 3)) >foo2 : Symbol(foo2, Decl(genericCallWithGenericSignatureArguments3.ts, 18, 53)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 28, 22)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericCallWithGenericSignatureArguments3.ts, 28, 41)) var x: (a: string) => boolean; @@ -146,7 +146,7 @@ var r11 = foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: stri >a1 : Symbol(a1, Decl(genericCallWithGenericSignatureArguments3.ts, 31, 19)) >y : Symbol(y, Decl(genericCallWithGenericSignatureArguments3.ts, 31, 24)) >n : Symbol(n, Decl(genericCallWithGenericSignatureArguments3.ts, 31, 50)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a2 : Symbol(a2, Decl(genericCallWithGenericSignatureArguments3.ts, 31, 68)) >z : Symbol(z, Decl(genericCallWithGenericSignatureArguments3.ts, 31, 73)) @@ -157,7 +157,7 @@ var r12 = foo2(x, (a1: (y: string) => boolean) => (n: Object) => 1, (a2: (z: str >a1 : Symbol(a1, Decl(genericCallWithGenericSignatureArguments3.ts, 32, 19)) >y : Symbol(y, Decl(genericCallWithGenericSignatureArguments3.ts, 32, 24)) >n : Symbol(n, Decl(genericCallWithGenericSignatureArguments3.ts, 32, 51)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a2 : Symbol(a2, Decl(genericCallWithGenericSignatureArguments3.ts, 32, 69)) >z : Symbol(z, Decl(genericCallWithGenericSignatureArguments3.ts, 32, 74)) diff --git a/tests/baselines/reference/genericCallWithNonSymmetricSubtypes.symbols b/tests/baselines/reference/genericCallWithNonSymmetricSubtypes.symbols index 24cc602fdab..ea226426515 100644 --- a/tests/baselines/reference/genericCallWithNonSymmetricSubtypes.symbols +++ b/tests/baselines/reference/genericCallWithNonSymmetricSubtypes.symbols @@ -87,7 +87,7 @@ var r6 = foo(y, x); // { x?: number; }; var s1: (x: Object) => string; >s1 : Symbol(s1, Decl(genericCallWithNonSymmetricSubtypes.ts, 26, 3)) >x : Symbol(x, Decl(genericCallWithNonSymmetricSubtypes.ts, 26, 9)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var s2: (x: string) => string; >s2 : Symbol(s2, Decl(genericCallWithNonSymmetricSubtypes.ts, 27, 3)) diff --git a/tests/baselines/reference/genericCallWithObjectLiteralArgs.symbols b/tests/baselines/reference/genericCallWithObjectLiteralArgs.symbols index 0474de7a4d4..f3ef1b5de1e 100644 --- a/tests/baselines/reference/genericCallWithObjectLiteralArgs.symbols +++ b/tests/baselines/reference/genericCallWithObjectLiteralArgs.symbols @@ -35,7 +35,7 @@ var r3 = foo({ bar: foo, baz: foo }); // T = typeof foo var r4 = foo({ bar: 1, baz: '' }); // T = Object >r4 : Symbol(r4, Decl(genericCallWithObjectLiteralArgs.ts, 7, 3)) >foo : Symbol(foo, Decl(genericCallWithObjectLiteralArgs.ts, 0, 0)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >bar : Symbol(bar, Decl(genericCallWithObjectLiteralArgs.ts, 7, 22)) >baz : Symbol(baz, Decl(genericCallWithObjectLiteralArgs.ts, 7, 30)) diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.symbols b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.symbols index 2e0c6b86cf6..5173547d194 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.symbols +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.symbols @@ -16,11 +16,11 @@ var a: { [x: string]: Object; >x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndIndexers.ts, 7, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [x: number]: Date; >x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndIndexers.ts, 8, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) }; var r = foo(a); @@ -31,7 +31,7 @@ var r = foo(a); function other(arg: T) { >other : Symbol(other, Decl(genericCallWithObjectTypeArgsAndIndexers.ts, 10, 15)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndIndexers.ts, 12, 15)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >arg : Symbol(arg, Decl(genericCallWithObjectTypeArgsAndIndexers.ts, 12, 31)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndIndexers.ts, 12, 15)) @@ -40,7 +40,7 @@ function other(arg: T) { [x: string]: Object; >x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndIndexers.ts, 14, 9)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [x: number]: T >x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndIndexers.ts, 15, 9)) diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.symbols b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.symbols index b1465624a09..eecd442bbd9 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.symbols +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.symbols @@ -22,7 +22,7 @@ function other(arg: T) { [x: string]: Object; >x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndIndexersErrors.ts, 8, 9)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [x: number]: T; // ok, T is a subtype of Object because its apparent type is {} >x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndIndexersErrors.ts, 9, 9)) @@ -40,7 +40,7 @@ function other3(arg: T) { >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndIndexersErrors.ts, 14, 16)) >U : Symbol(U, Decl(genericCallWithObjectTypeArgsAndIndexersErrors.ts, 14, 28)) >U : Symbol(U, Decl(genericCallWithObjectTypeArgsAndIndexersErrors.ts, 14, 28)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >arg : Symbol(arg, Decl(genericCallWithObjectTypeArgsAndIndexersErrors.ts, 14, 45)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndIndexersErrors.ts, 14, 16)) @@ -49,7 +49,7 @@ function other3(arg: T) { [x: string]: Object; >x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndIndexersErrors.ts, 16, 9)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [x: number]: T; >x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndIndexersErrors.ts, 17, 9)) diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.symbols b/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.symbols index d7e96bb29ce..e00d3da29f1 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.symbols +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.symbols @@ -19,7 +19,7 @@ function foo2(x: T = undefined) { return x; } // ok function foo3(x: T = 1) { } // error >foo3 : Symbol(foo3, Decl(genericCallWithObjectTypeArgsAndInitializers.ts, 3, 48)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndInitializers.ts, 4, 14)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndInitializers.ts, 4, 32)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndInitializers.ts, 4, 14)) diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.symbols b/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.symbols index 6dc56a2c05d..3900cb39200 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.symbols +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.symbols @@ -14,7 +14,7 @@ function foo(x: T) { var a: { [x: number]: Date }; >a : Symbol(a, Decl(genericCallWithObjectTypeArgsAndNumericIndexer.ts, 6, 3)) >x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndNumericIndexer.ts, 6, 10)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r = foo(a); >r : Symbol(r, Decl(genericCallWithObjectTypeArgsAndNumericIndexer.ts, 7, 3)) @@ -41,7 +41,7 @@ function other(arg: T) { function other2(arg: T) { >other2 : Symbol(other2, Decl(genericCallWithObjectTypeArgsAndNumericIndexer.ts, 12, 1)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndNumericIndexer.ts, 14, 16)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >arg : Symbol(arg, Decl(genericCallWithObjectTypeArgsAndNumericIndexer.ts, 14, 32)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndNumericIndexer.ts, 14, 16)) @@ -63,9 +63,9 @@ function other2(arg: T) { function other3(arg: T) { >other3 : Symbol(other3, Decl(genericCallWithObjectTypeArgsAndNumericIndexer.ts, 18, 1)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndNumericIndexer.ts, 20, 16)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >U : Symbol(U, Decl(genericCallWithObjectTypeArgsAndNumericIndexer.ts, 20, 31)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >arg : Symbol(arg, Decl(genericCallWithObjectTypeArgsAndNumericIndexer.ts, 20, 48)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndNumericIndexer.ts, 20, 16)) diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.symbols b/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.symbols index b680e367dc9..38106c96e18 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.symbols +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.symbols @@ -14,7 +14,7 @@ function foo(x: T) { var a: { [x: string]: Date }; >a : Symbol(a, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 6, 3)) >x : Symbol(x, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 6, 10)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r = foo(a); >r : Symbol(r, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 7, 3)) @@ -41,7 +41,7 @@ function other(arg: T) { function other2(arg: T) { >other2 : Symbol(other2, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 12, 1)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 14, 16)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >arg : Symbol(arg, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 14, 32)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 14, 16)) @@ -57,16 +57,16 @@ function other2(arg: T) { var d: Date = r2['hm']; // ok >d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 17, 7)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >r2 : Symbol(r2, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 16, 7)) } function other3(arg: T) { >other3 : Symbol(other3, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 18, 1)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 20, 16)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >U : Symbol(U, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 20, 31)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >arg : Symbol(arg, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 20, 48)) >T : Symbol(T, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 20, 16)) @@ -82,7 +82,7 @@ function other3(arg: T) { var d: Date = r2['hm']; // ok >d : Symbol(d, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 23, 7)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >r2 : Symbol(r2, Decl(genericCallWithObjectTypeArgsAndStringIndexer.ts, 22, 7)) // BUG 821629 diff --git a/tests/baselines/reference/genericChainedCalls.symbols b/tests/baselines/reference/genericChainedCalls.symbols index f060a742917..4e7d683e907 100644 --- a/tests/baselines/reference/genericChainedCalls.symbols +++ b/tests/baselines/reference/genericChainedCalls.symbols @@ -26,9 +26,9 @@ var r1 = v1.func(num => num.toString()) >v1 : Symbol(v1, Decl(genericChainedCalls.ts, 4, 11)) >func : Symbol(I1.func, Decl(genericChainedCalls.ts, 0, 17)) >num : Symbol(num, Decl(genericChainedCalls.ts, 6, 17)) ->num.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>num.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >num : Symbol(num, Decl(genericChainedCalls.ts, 6, 17)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) .func(str => str.length) // error, number doesn't have a length >func : Symbol(I1.func, Decl(genericChainedCalls.ts, 0, 17)) @@ -38,9 +38,9 @@ var r1 = v1.func(num => num.toString()) .func(num => num.toString()) >func : Symbol(I1.func, Decl(genericChainedCalls.ts, 0, 17)) >num : Symbol(num, Decl(genericChainedCalls.ts, 8, 17)) ->num.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>num.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >num : Symbol(num, Decl(genericChainedCalls.ts, 8, 17)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) var s1 = v1.func(num => num.toString()) >s1 : Symbol(s1, Decl(genericChainedCalls.ts, 10, 3)) @@ -48,9 +48,9 @@ var s1 = v1.func(num => num.toString()) >v1 : Symbol(v1, Decl(genericChainedCalls.ts, 4, 11)) >func : Symbol(I1.func, Decl(genericChainedCalls.ts, 0, 17)) >num : Symbol(num, Decl(genericChainedCalls.ts, 10, 17)) ->num.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>num.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >num : Symbol(num, Decl(genericChainedCalls.ts, 10, 17)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) var s2 = s1.func(str => str.length) // should also error >s2 : Symbol(s2, Decl(genericChainedCalls.ts, 11, 3)) @@ -66,7 +66,7 @@ var s3 = s2.func(num => num.toString()) >s2 : Symbol(s2, Decl(genericChainedCalls.ts, 11, 3)) >func : Symbol(I1.func, Decl(genericChainedCalls.ts, 0, 17)) >num : Symbol(num, Decl(genericChainedCalls.ts, 12, 17)) ->num.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>num.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >num : Symbol(num, Decl(genericChainedCalls.ts, 12, 17)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.symbols b/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.symbols index f20e65748e5..f400590ed6d 100644 --- a/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.symbols +++ b/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.symbols @@ -29,9 +29,9 @@ class Foo { >xs : Symbol(xs, Decl(genericClassWithStaticsUsingTypeArguments.ts, 12, 13)) return xs.reverse(); ->xs.reverse : Symbol(Array.reverse, Decl(lib.d.ts, --, --)) +>xs.reverse : Symbol(Array.reverse, Decl(lib.es5.d.ts, --, --)) >xs : Symbol(xs, Decl(genericClassWithStaticsUsingTypeArguments.ts, 12, 13)) ->reverse : Symbol(Array.reverse, Decl(lib.d.ts, --, --)) +>reverse : Symbol(Array.reverse, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/genericCloneReturnTypes2.symbols b/tests/baselines/reference/genericCloneReturnTypes2.symbols index 3f884a3a618..3d4e77aef14 100644 --- a/tests/baselines/reference/genericCloneReturnTypes2.symbols +++ b/tests/baselines/reference/genericCloneReturnTypes2.symbols @@ -23,7 +23,7 @@ class MyList { >this.data : Symbol(MyList.data, Decl(genericCloneReturnTypes2.ts, 1, 24)) >this : Symbol(MyList, Decl(genericCloneReturnTypes2.ts, 0, 0)) >data : Symbol(MyList.data, Decl(genericCloneReturnTypes2.ts, 1, 24)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(genericCloneReturnTypes2.ts, 0, 13)) >this.size : Symbol(MyList.size, Decl(genericCloneReturnTypes2.ts, 0, 17)) >this : Symbol(MyList, Decl(genericCloneReturnTypes2.ts, 0, 0)) diff --git a/tests/baselines/reference/genericCombinators2.symbols b/tests/baselines/reference/genericCombinators2.symbols index 727d9dd2775..23aad692219 100644 --- a/tests/baselines/reference/genericCombinators2.symbols +++ b/tests/baselines/reference/genericCombinators2.symbols @@ -72,29 +72,29 @@ var rf1 = (x: number, y: string) => { return x.toFixed() }; >rf1 : Symbol(rf1, Decl(genericCombinators2.ts, 13, 3)) >x : Symbol(x, Decl(genericCombinators2.ts, 13, 11)) >y : Symbol(y, Decl(genericCombinators2.ts, 13, 21)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericCombinators2.ts, 13, 11)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) var r5a = _.map(c2, (x, y) => { return x.toFixed() }); >r5a : Symbol(r5a, Decl(genericCombinators2.ts, 14, 3)) >_.map : Symbol(Combinators.map, Decl(genericCombinators2.ts, 6, 23), Decl(genericCombinators2.ts, 7, 81)) >_ : Symbol(_, Decl(genericCombinators2.ts, 11, 3)) >map : Symbol(Combinators.map, Decl(genericCombinators2.ts, 6, 23), Decl(genericCombinators2.ts, 7, 81)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >c2 : Symbol(c2, Decl(genericCombinators2.ts, 12, 3)) >x : Symbol(x, Decl(genericCombinators2.ts, 14, 43)) >y : Symbol(y, Decl(genericCombinators2.ts, 14, 45)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericCombinators2.ts, 14, 43)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) var r5b = _.map(c2, rf1); >r5b : Symbol(r5b, Decl(genericCombinators2.ts, 15, 3)) >_.map : Symbol(Combinators.map, Decl(genericCombinators2.ts, 6, 23), Decl(genericCombinators2.ts, 7, 81)) >_ : Symbol(_, Decl(genericCombinators2.ts, 11, 3)) >map : Symbol(Combinators.map, Decl(genericCombinators2.ts, 6, 23), Decl(genericCombinators2.ts, 7, 81)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >c2 : Symbol(c2, Decl(genericCombinators2.ts, 12, 3)) >rf1 : Symbol(rf1, Decl(genericCombinators2.ts, 13, 3)) diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.symbols b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.symbols index 57c0e6d0a21..52ab1d90137 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.symbols +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.symbols @@ -11,7 +11,7 @@ declare module EndGate { } interface Number extends EndGate.ICloneable { } ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(genericConstraintOnExtendedBuiltinTypes.ts, 4, 1)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(genericConstraintOnExtendedBuiltinTypes.ts, 4, 1)) >EndGate.ICloneable : Symbol(EndGate.ICloneable, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 0, 24)) >EndGate : Symbol(EndGate, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 0, 0), Decl(genericConstraintOnExtendedBuiltinTypes.ts, 6, 47), Decl(genericConstraintOnExtendedBuiltinTypes.ts, 17, 1)) >ICloneable : Symbol(EndGate.ICloneable, Decl(genericConstraintOnExtendedBuiltinTypes.ts, 0, 24)) diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.symbols b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.symbols index 63251ba000d..9229a0f579f 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.symbols +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.symbols @@ -11,7 +11,7 @@ module EndGate { } interface Number extends EndGate.ICloneable { } ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 4, 1)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 4, 1)) >EndGate.ICloneable : Symbol(EndGate.ICloneable, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 0, 16)) >EndGate : Symbol(EndGate, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 0, 0), Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 6, 47), Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 16, 1)) >ICloneable : Symbol(EndGate.ICloneable, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 0, 16)) @@ -51,7 +51,7 @@ module EndGate.Tweening { export class NumberTween extends Tween{ >NumberTween : Symbol(NumberTween, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 18, 25)) >Tween : Symbol(Tween, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 8, 25)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 4, 1)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 4, 1)) constructor(from: number) { >from : Symbol(from, Decl(genericConstraintOnExtendedBuiltinTypes2.ts, 20, 20)) diff --git a/tests/baselines/reference/genericConstructorFunction1.symbols b/tests/baselines/reference/genericConstructorFunction1.symbols index a6f177889de..87a90c4f95a 100644 --- a/tests/baselines/reference/genericConstructorFunction1.symbols +++ b/tests/baselines/reference/genericConstructorFunction1.symbols @@ -10,7 +10,7 @@ function f1(args: T) { >index : Symbol(index, Decl(genericConstructorFunction1.ts, 1, 15)) >arg : Symbol(arg, Decl(genericConstructorFunction1.ts, 1, 36)) >T : Symbol(T, Decl(genericConstructorFunction1.ts, 0, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var v2 = v1['test']; >v2 : Symbol(v2, Decl(genericConstructorFunction1.ts, 2, 7)) @@ -31,7 +31,7 @@ interface I1 { new (arg: T): Date }; >T : Symbol(T, Decl(genericConstructorFunction1.ts, 8, 13)) >arg : Symbol(arg, Decl(genericConstructorFunction1.ts, 8, 23)) >T : Symbol(T, Decl(genericConstructorFunction1.ts, 8, 13)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function f2(args: T) { >f2 : Symbol(f2, Decl(genericConstructorFunction1.ts, 8, 39)) diff --git a/tests/baselines/reference/genericContextualTypes1.symbols b/tests/baselines/reference/genericContextualTypes1.symbols index 29d8766abca..c793495e0e3 100644 --- a/tests/baselines/reference/genericContextualTypes1.symbols +++ b/tests/baselines/reference/genericContextualTypes1.symbols @@ -209,9 +209,9 @@ const arrayMap = (f: (x: T) => U) => (a: T[]) => a.map(f); >U : Symbol(U, Decl(genericContextualTypes1.ts, 32, 20)) >a : Symbol(a, Decl(genericContextualTypes1.ts, 32, 44)) >T : Symbol(T, Decl(genericContextualTypes1.ts, 32, 18)) ->a.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>a.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(genericContextualTypes1.ts, 32, 44)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(genericContextualTypes1.ts, 32, 24)) const arrayFilter = (f: (x: T) => boolean) => (a: T[]) => a.filter(f); @@ -222,9 +222,9 @@ const arrayFilter = (f: (x: T) => boolean) => (a: T[]) => a.filter(f); >T : Symbol(T, Decl(genericContextualTypes1.ts, 33, 21)) >a : Symbol(a, Decl(genericContextualTypes1.ts, 33, 50)) >T : Symbol(T, Decl(genericContextualTypes1.ts, 33, 21)) ->a.filter : Symbol(Array.filter, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>a.filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(genericContextualTypes1.ts, 33, 50)) ->filter : Symbol(Array.filter, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(genericContextualTypes1.ts, 33, 24)) const f20: (a: string[]) => number[] = arrayMap(x => x.length); @@ -232,9 +232,9 @@ const f20: (a: string[]) => number[] = arrayMap(x => x.length); >a : Symbol(a, Decl(genericContextualTypes1.ts, 35, 12)) >arrayMap : Symbol(arrayMap, Decl(genericContextualTypes1.ts, 32, 5)) >x : Symbol(x, Decl(genericContextualTypes1.ts, 35, 48)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericContextualTypes1.ts, 35, 48)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) const f21: (a: A[]) => A[][] = arrayMap(x => [x]); >f21 : Symbol(f21, Decl(genericContextualTypes1.ts, 36, 5)) @@ -271,9 +271,9 @@ const f30: (a: string[]) => string[] = arrayFilter(x => x.length > 10); >a : Symbol(a, Decl(genericContextualTypes1.ts, 40, 12)) >arrayFilter : Symbol(arrayFilter, Decl(genericContextualTypes1.ts, 33, 5)) >x : Symbol(x, Decl(genericContextualTypes1.ts, 40, 51)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericContextualTypes1.ts, 40, 51)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) const f31: >(a: T[]) => T[] = arrayFilter(x => x.value > 10); >f31 : Symbol(f31, Decl(genericContextualTypes1.ts, 41, 5)) diff --git a/tests/baselines/reference/genericContextualTypingSpecialization.symbols b/tests/baselines/reference/genericContextualTypingSpecialization.symbols index 0dcc8cb5899..28609346111 100644 --- a/tests/baselines/reference/genericContextualTypingSpecialization.symbols +++ b/tests/baselines/reference/genericContextualTypingSpecialization.symbols @@ -3,9 +3,9 @@ var b: number[]; >b : Symbol(b, Decl(genericContextualTypingSpecialization.ts, 0, 3)) b.reduce((c, d) => c + d, 0); // should not error on '+' ->b.reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>b.reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(genericContextualTypingSpecialization.ts, 0, 3)) ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >c : Symbol(c, Decl(genericContextualTypingSpecialization.ts, 1, 18)) >d : Symbol(d, Decl(genericContextualTypingSpecialization.ts, 1, 20)) >c : Symbol(c, Decl(genericContextualTypingSpecialization.ts, 1, 18)) diff --git a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.symbols b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.symbols index 15960021263..5b136f8aad5 100644 --- a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.symbols +++ b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/genericFunctionCallSignatureReturnTypeMismatch.ts === interface Array {} ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 0, 16)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 0, 16)) var f : { (x:T): T; } >f : Symbol(f, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 3)) @@ -21,13 +21,13 @@ f = g; var s = f("str").toUpperCase(); >s : Symbol(s, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 7, 3)) ->f("str").toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>f("str").toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 2, 3)) ->toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) console.log(s); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >s : Symbol(s, Decl(genericFunctionCallSignatureReturnTypeMismatch.ts, 7, 3)) diff --git a/tests/baselines/reference/genericFunctionParameters.symbols b/tests/baselines/reference/genericFunctionParameters.symbols index c5955949289..97083c57d4c 100644 --- a/tests/baselines/reference/genericFunctionParameters.symbols +++ b/tests/baselines/reference/genericFunctionParameters.symbols @@ -24,7 +24,7 @@ declare function f3(cb: >(x: S) => T): T; >T : Symbol(T, Decl(genericFunctionParameters.ts, 2, 20)) >cb : Symbol(cb, Decl(genericFunctionParameters.ts, 2, 23)) >S : Symbol(S, Decl(genericFunctionParameters.ts, 2, 28)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >S : Symbol(S, Decl(genericFunctionParameters.ts, 2, 28)) >x : Symbol(x, Decl(genericFunctionParameters.ts, 2, 48)) >S : Symbol(S, Decl(genericFunctionParameters.ts, 2, 28)) diff --git a/tests/baselines/reference/genericFunctionSpecializations1.symbols b/tests/baselines/reference/genericFunctionSpecializations1.symbols index 717e07455f4..720809f780b 100644 --- a/tests/baselines/reference/genericFunctionSpecializations1.symbols +++ b/tests/baselines/reference/genericFunctionSpecializations1.symbols @@ -18,7 +18,7 @@ function foo4(test: string); // valid function foo4(test: T) { } >foo4 : Symbol(foo4, Decl(genericFunctionSpecializations1.ts, 1, 29), Decl(genericFunctionSpecializations1.ts, 3, 31)) >T : Symbol(T, Decl(genericFunctionSpecializations1.ts, 4, 14)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >test : Symbol(test, Decl(genericFunctionSpecializations1.ts, 4, 32)) >T : Symbol(T, Decl(genericFunctionSpecializations1.ts, 4, 14)) diff --git a/tests/baselines/reference/genericFunctions2.symbols b/tests/baselines/reference/genericFunctions2.symbols index 246f59c8e8a..4d42bf6c732 100644 --- a/tests/baselines/reference/genericFunctions2.symbols +++ b/tests/baselines/reference/genericFunctions2.symbols @@ -19,8 +19,8 @@ var lengths = map(myItems, x => x.length); >map : Symbol(map, Decl(genericFunctions2.ts, 0, 0)) >myItems : Symbol(myItems, Decl(genericFunctions2.ts, 2, 3)) >x : Symbol(x, Decl(genericFunctions2.ts, 3, 26)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericFunctions2.ts, 3, 26)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters1.symbols b/tests/baselines/reference/genericFunctionsWithOptionalParameters1.symbols index e8d3e904ae0..2b28ac208ba 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters1.symbols +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters1.symbols @@ -7,7 +7,7 @@ interface Utils { >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 8)) >S : Symbol(S, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 10)) >c : Symbol(c, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 8)) >folder : Symbol(folder, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 27)) >s : Symbol(s, Decl(genericFunctionsWithOptionalParameters1.ts, 1, 38)) diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.symbols b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.symbols index 40c7e284628..f704066ed87 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.symbols +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.symbols @@ -7,7 +7,7 @@ interface Utils { >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters2.ts, 1, 8)) >S : Symbol(S, Decl(genericFunctionsWithOptionalParameters2.ts, 1, 10)) >c : Symbol(c, Decl(genericFunctionsWithOptionalParameters2.ts, 1, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(genericFunctionsWithOptionalParameters2.ts, 1, 8)) >folder : Symbol(folder, Decl(genericFunctionsWithOptionalParameters2.ts, 1, 26)) >s : Symbol(s, Decl(genericFunctionsWithOptionalParameters2.ts, 1, 37)) diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters3.symbols b/tests/baselines/reference/genericFunctionsWithOptionalParameters3.symbols index 7b3184d7bd3..940fc56ea5b 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters3.symbols +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters3.symbols @@ -63,7 +63,7 @@ var r3 = utils.mapReduce(c, (x) => { return 1 }, (y) => { return new Date() }); >c : Symbol(c, Decl(genericFunctionsWithOptionalParameters3.ts, 8, 3)) >x : Symbol(x, Decl(genericFunctionsWithOptionalParameters3.ts, 9, 29)) >y : Symbol(y, Decl(genericFunctionsWithOptionalParameters3.ts, 9, 50)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r4 = utils.mapReduce(c, (x: string) => { return 1 }, (y: number) => { return new Date() }); >r4 : Symbol(r4, Decl(genericFunctionsWithOptionalParameters3.ts, 10, 3)) @@ -73,7 +73,7 @@ var r4 = utils.mapReduce(c, (x: string) => { return 1 }, (y: number) => { return >c : Symbol(c, Decl(genericFunctionsWithOptionalParameters3.ts, 8, 3)) >x : Symbol(x, Decl(genericFunctionsWithOptionalParameters3.ts, 10, 29)) >y : Symbol(y, Decl(genericFunctionsWithOptionalParameters3.ts, 10, 58)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var f1 = (x: string) => { return 1 }; >f1 : Symbol(f1, Decl(genericFunctionsWithOptionalParameters3.ts, 11, 3)) @@ -82,7 +82,7 @@ var f1 = (x: string) => { return 1 }; var f2 = (y: number) => { return new Date() }; >f2 : Symbol(f2, Decl(genericFunctionsWithOptionalParameters3.ts, 12, 3)) >y : Symbol(y, Decl(genericFunctionsWithOptionalParameters3.ts, 12, 10)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r5 = utils.mapReduce(c, f1, f2); >r5 : Symbol(r5, Decl(genericFunctionsWithOptionalParameters3.ts, 13, 3)) diff --git a/tests/baselines/reference/genericInference1.symbols b/tests/baselines/reference/genericInference1.symbols index 8beecf27254..ce04ab6b012 100644 --- a/tests/baselines/reference/genericInference1.symbols +++ b/tests/baselines/reference/genericInference1.symbols @@ -1,9 +1,9 @@ === tests/cases/compiler/genericInference1.ts === ['a', 'b', 'c'].map(x => x.length); ->['a', 'b', 'c'].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>['a', 'b', 'c'].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericInference1.ts, 0, 20)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericInference1.ts, 0, 20)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/genericInference2.symbols b/tests/baselines/reference/genericInference2.symbols index 3389bf3a97b..9e184026311 100644 --- a/tests/baselines/reference/genericInference2.symbols +++ b/tests/baselines/reference/genericInference2.symbols @@ -49,11 +49,11 @@ }; var x_v = o.name().length; // should be 'number' >x_v : Symbol(x_v, Decl(genericInference2.ts, 14, 7)) ->o.name().length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>o.name().length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >o.name : Symbol(name, Decl(genericInference2.ts, 10, 13)) >o : Symbol(o, Decl(genericInference2.ts, 10, 7)) >name : Symbol(name, Decl(genericInference2.ts, 10, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) var age_v = o.age(); // should be 'number' >age_v : Symbol(age_v, Decl(genericInference2.ts, 15, 7)) diff --git a/tests/baselines/reference/genericMethodOverspecialization.symbols b/tests/baselines/reference/genericMethodOverspecialization.symbols index d7b2eb1ebf7..fe1f583f962 100644 --- a/tests/baselines/reference/genericMethodOverspecialization.symbols +++ b/tests/baselines/reference/genericMethodOverspecialization.symbols @@ -3,7 +3,7 @@ var names = ["list", "table1", "table2", "table3", "summary"]; >names : Symbol(names, Decl(genericMethodOverspecialization.ts, 0, 3)) interface HTMLElement { ->HTMLElement : Symbol(HTMLElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 0, 62)) +>HTMLElement : Symbol(HTMLElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 0, 62)) clientWidth: number; >clientWidth : Symbol(HTMLElement.clientWidth, Decl(genericMethodOverspecialization.ts, 2, 23)) @@ -13,29 +13,29 @@ interface HTMLElement { } declare var document: Document; ->document : Symbol(document, Decl(lib.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 7, 11)) ->Document : Symbol(Document, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 7, 31)) +>document : Symbol(document, Decl(lib.dom.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 7, 11)) +>Document : Symbol(Document, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 7, 31)) interface Document { ->Document : Symbol(Document, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 7, 31)) +>Document : Symbol(Document, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 7, 31)) getElementById(elementId: string): HTMLElement; ->getElementById : Symbol(Document.getElementById, Decl(lib.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 8, 20)) +>getElementById : Symbol(Document.getElementById, Decl(lib.dom.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 8, 20)) >elementId : Symbol(elementId, Decl(genericMethodOverspecialization.ts, 9, 19)) ->HTMLElement : Symbol(HTMLElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 0, 62)) +>HTMLElement : Symbol(HTMLElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 0, 62)) } var elements = names.map(function (name) { >elements : Symbol(elements, Decl(genericMethodOverspecialization.ts, 12, 3)) ->names.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>names.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >names : Symbol(names, Decl(genericMethodOverspecialization.ts, 0, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(genericMethodOverspecialization.ts, 12, 35)) return document.getElementById(name); ->document.getElementById : Symbol(Document.getElementById, Decl(lib.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 8, 20)) ->document : Symbol(document, Decl(lib.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 7, 11)) ->getElementById : Symbol(Document.getElementById, Decl(lib.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 8, 20)) +>document.getElementById : Symbol(Document.getElementById, Decl(lib.dom.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 8, 20)) +>document : Symbol(document, Decl(lib.dom.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 7, 11)) +>getElementById : Symbol(Document.getElementById, Decl(lib.dom.d.ts, --, --), Decl(genericMethodOverspecialization.ts, 8, 20)) >name : Symbol(name, Decl(genericMethodOverspecialization.ts, 12, 35)) }); @@ -43,9 +43,9 @@ var elements = names.map(function (name) { var xxx = elements.filter(function (e) { >xxx : Symbol(xxx, Decl(genericMethodOverspecialization.ts, 17, 3)) ->elements.filter : Symbol(Array.filter, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>elements.filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >elements : Symbol(elements, Decl(genericMethodOverspecialization.ts, 12, 3)) ->filter : Symbol(Array.filter, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >e : Symbol(e, Decl(genericMethodOverspecialization.ts, 17, 36)) return !e.isDisabled; @@ -57,9 +57,9 @@ var xxx = elements.filter(function (e) { var widths:number[] = elements.map(function (e) { // should not error >widths : Symbol(widths, Decl(genericMethodOverspecialization.ts, 21, 3)) ->elements.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>elements.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >elements : Symbol(elements, Decl(genericMethodOverspecialization.ts, 12, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >e : Symbol(e, Decl(genericMethodOverspecialization.ts, 21, 45)) return e.clientWidth; diff --git a/tests/baselines/reference/genericPrototypeProperty2.symbols b/tests/baselines/reference/genericPrototypeProperty2.symbols index b6957e69840..88b4a0fb6ac 100644 --- a/tests/baselines/reference/genericPrototypeProperty2.symbols +++ b/tests/baselines/reference/genericPrototypeProperty2.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/genericPrototypeProperty2.ts === interface EventTarget { x } ->EventTarget : Symbol(EventTarget, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(genericPrototypeProperty2.ts, 0, 0)) +>EventTarget : Symbol(EventTarget, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(genericPrototypeProperty2.ts, 0, 0)) >x : Symbol(EventTarget.x, Decl(genericPrototypeProperty2.ts, 0, 23)) class BaseEvent { @@ -8,13 +8,13 @@ class BaseEvent { target: EventTarget; >target : Symbol(BaseEvent.target, Decl(genericPrototypeProperty2.ts, 1, 17)) ->EventTarget : Symbol(EventTarget, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(genericPrototypeProperty2.ts, 0, 0)) +>EventTarget : Symbol(EventTarget, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(genericPrototypeProperty2.ts, 0, 0)) } class MyEvent extends BaseEvent { >MyEvent : Symbol(MyEvent, Decl(genericPrototypeProperty2.ts, 3, 1)) >T : Symbol(T, Decl(genericPrototypeProperty2.ts, 5, 14)) ->EventTarget : Symbol(EventTarget, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(genericPrototypeProperty2.ts, 0, 0)) +>EventTarget : Symbol(EventTarget, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(genericPrototypeProperty2.ts, 0, 0)) >BaseEvent : Symbol(BaseEvent, Decl(genericPrototypeProperty2.ts, 0, 27)) target: T; diff --git a/tests/baselines/reference/genericReduce.symbols b/tests/baselines/reference/genericReduce.symbols index a939c5cf92d..1ace07b9adf 100644 --- a/tests/baselines/reference/genericReduce.symbols +++ b/tests/baselines/reference/genericReduce.symbols @@ -4,19 +4,19 @@ var a = ["An", "array", "of", "strings"]; var b = a.map(s => s.length); >b : Symbol(b, Decl(genericReduce.ts, 1, 3)) ->a.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>a.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(genericReduce.ts, 0, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(genericReduce.ts, 1, 14)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(genericReduce.ts, 1, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) var n1 = b.reduce((x, y) => x + y); >n1 : Symbol(n1, Decl(genericReduce.ts, 2, 3)) ->b.reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>b.reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(genericReduce.ts, 1, 3)) ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericReduce.ts, 2, 19)) >y : Symbol(y, Decl(genericReduce.ts, 2, 21)) >x : Symbol(x, Decl(genericReduce.ts, 2, 19)) @@ -24,9 +24,9 @@ var n1 = b.reduce((x, y) => x + y); var n2 = b.reduceRight((x, y) => x + y); >n2 : Symbol(n2, Decl(genericReduce.ts, 3, 3)) ->b.reduceRight : Symbol(Array.reduceRight, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>b.reduceRight : Symbol(Array.reduceRight, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(genericReduce.ts, 1, 3)) ->reduceRight : Symbol(Array.reduceRight, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>reduceRight : Symbol(Array.reduceRight, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericReduce.ts, 3, 24)) >y : Symbol(y, Decl(genericReduce.ts, 3, 26)) >x : Symbol(x, Decl(genericReduce.ts, 3, 24)) @@ -36,23 +36,23 @@ n1.x = "fail"; // should error, as 'n1' should be type 'number', not 'any' >n1 : Symbol(n1, Decl(genericReduce.ts, 2, 3)) n1.toExponential(2); // should not error if 'n1' is correctly number. ->n1.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>n1.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >n1 : Symbol(n1, Decl(genericReduce.ts, 2, 3)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) n2.x = "fail"; // should error, as 'n2' should be type 'number', not 'any'. >n2 : Symbol(n2, Decl(genericReduce.ts, 3, 3)) n2.toExponential(2); // should not error if 'n2' is correctly number. ->n2.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>n2.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >n2 : Symbol(n2, Decl(genericReduce.ts, 3, 3)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) var n3 = b.reduce( (x, y) => x + y, ""); // Initial value is of type string >n3 : Symbol(n3, Decl(genericReduce.ts, 10, 3)) ->b.reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>b.reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(genericReduce.ts, 1, 3)) ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(genericReduce.ts, 10, 28)) >y : Symbol(y, Decl(genericReduce.ts, 10, 30)) >x : Symbol(x, Decl(genericReduce.ts, 10, 28)) @@ -62,7 +62,7 @@ n3.toExponential(2); // should error if 'n3' is correctly type 'string' >n3 : Symbol(n3, Decl(genericReduce.ts, 10, 3)) n3.charAt(0); // should not error if 'n3' is correctly type 'string' ->n3.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>n3.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >n3 : Symbol(n3, Decl(genericReduce.ts, 10, 3)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/genericRestArgs.symbols b/tests/baselines/reference/genericRestArgs.symbols index 09ee87e7a6b..fa88f7c9112 100644 --- a/tests/baselines/reference/genericRestArgs.symbols +++ b/tests/baselines/reference/genericRestArgs.symbols @@ -18,7 +18,7 @@ var a1Gb = makeArrayG(1, ""); var a1Gc = makeArrayG(1, ""); >a1Gc : Symbol(a1Gc, Decl(genericRestArgs.ts, 3, 3)) >makeArrayG : Symbol(makeArrayG, Decl(genericRestArgs.ts, 0, 0)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var a1Gd = makeArrayG(1, ""); // error >a1Gd : Symbol(a1Gd, Decl(genericRestArgs.ts, 4, 3)) diff --git a/tests/baselines/reference/genericSignatureIdentity.symbols b/tests/baselines/reference/genericSignatureIdentity.symbols index a5e9d289c3c..c4a27ccea8d 100644 --- a/tests/baselines/reference/genericSignatureIdentity.symbols +++ b/tests/baselines/reference/genericSignatureIdentity.symbols @@ -9,7 +9,7 @@ var x: { (x: T): T; >T : Symbol(T, Decl(genericSignatureIdentity.ts, 6, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(genericSignatureIdentity.ts, 6, 21)) >T : Symbol(T, Decl(genericSignatureIdentity.ts, 6, 5)) >T : Symbol(T, Decl(genericSignatureIdentity.ts, 6, 5)) diff --git a/tests/baselines/reference/genericTypeAssertions6.symbols b/tests/baselines/reference/genericTypeAssertions6.symbols index 764988fe42d..5e536925c33 100644 --- a/tests/baselines/reference/genericTypeAssertions6.symbols +++ b/tests/baselines/reference/genericTypeAssertions6.symbols @@ -40,9 +40,9 @@ class A { class B extends A { >B : Symbol(B, Decl(genericTypeAssertions6.ts, 10, 1)) >T : Symbol(T, Decl(genericTypeAssertions6.ts, 12, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >U : Symbol(U, Decl(genericTypeAssertions6.ts, 12, 23)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >A : Symbol(A, Decl(genericTypeAssertions6.ts, 0, 0)) >T : Symbol(T, Decl(genericTypeAssertions6.ts, 12, 8)) >U : Symbol(U, Decl(genericTypeAssertions6.ts, 12, 23)) @@ -54,45 +54,45 @@ class B extends A { var a: Date = x; >a : Symbol(a, Decl(genericTypeAssertions6.ts, 14, 11)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(genericTypeAssertions6.ts, 13, 6)) var b = x; >b : Symbol(b, Decl(genericTypeAssertions6.ts, 15, 11)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(genericTypeAssertions6.ts, 13, 6)) var c = new Date(); >c : Symbol(c, Decl(genericTypeAssertions6.ts, 16, 11)) >T : Symbol(T, Decl(genericTypeAssertions6.ts, 12, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var d = new Date(); >d : Symbol(d, Decl(genericTypeAssertions6.ts, 17, 11)) >U : Symbol(U, Decl(genericTypeAssertions6.ts, 12, 23)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var e = new Date(); >e : Symbol(e, Decl(genericTypeAssertions6.ts, 18, 11)) >T : Symbol(T, Decl(genericTypeAssertions6.ts, 12, 8)) >U : Symbol(U, Decl(genericTypeAssertions6.ts, 12, 23)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } } var b: B; >b : Symbol(b, Decl(genericTypeAssertions6.ts, 22, 3)) >B : Symbol(B, Decl(genericTypeAssertions6.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var c: A = >b; >c : Symbol(c, Decl(genericTypeAssertions6.ts, 23, 3)) >A : Symbol(A, Decl(genericTypeAssertions6.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >A : Symbol(A, Decl(genericTypeAssertions6.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >b : Symbol(b, Decl(genericTypeAssertions6.ts, 22, 3)) diff --git a/tests/baselines/reference/genericTypeParameterEquivalence2.symbols b/tests/baselines/reference/genericTypeParameterEquivalence2.symbols index cd558fdd10a..6c83f1ac4a6 100644 --- a/tests/baselines/reference/genericTypeParameterEquivalence2.symbols +++ b/tests/baselines/reference/genericTypeParameterEquivalence2.symbols @@ -24,9 +24,9 @@ function compose(f: (b: B) => C, g: (a:A) => B): (a:A) => C { return f(g.apply(null, a)); >f : Symbol(f, Decl(genericTypeParameterEquivalence2.ts, 1, 26)) ->g.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>g.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >g : Symbol(g, Decl(genericTypeParameterEquivalence2.ts, 1, 41)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(genericTypeParameterEquivalence2.ts, 2, 21)) }; @@ -46,9 +46,9 @@ function forEach(list: A[], f: (a: A, n?: number) => void ): void { for (var i = 0; i < list.length; ++i) { >i : Symbol(i, Decl(genericTypeParameterEquivalence2.ts, 9, 12)) >i : Symbol(i, Decl(genericTypeParameterEquivalence2.ts, 9, 12)) ->list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>list.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(genericTypeParameterEquivalence2.ts, 8, 20)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(genericTypeParameterEquivalence2.ts, 9, 12)) f(list[i], i); @@ -83,9 +83,9 @@ function filter(f: (a: A) => boolean, ar: A[]): A[] { >el : Symbol(el, Decl(genericTypeParameterEquivalence2.ts, 17, 17)) ret.push(el); ->ret.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>ret.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >ret : Symbol(ret, Decl(genericTypeParameterEquivalence2.ts, 16, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >el : Symbol(el, Decl(genericTypeParameterEquivalence2.ts, 17, 17)) } } ); @@ -102,9 +102,9 @@ function length2(ar: A[]): number { >A : Symbol(A, Decl(genericTypeParameterEquivalence2.ts, 27, 17)) return ar.length; ->ar.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>ar.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >ar : Symbol(ar, Decl(genericTypeParameterEquivalence2.ts, 27, 20)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) } // curry1 :: ((a,b)->c) -> (a->(b->c)) diff --git a/tests/baselines/reference/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.symbols b/tests/baselines/reference/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.symbols index 4b5c098c8b8..39516807c4d 100644 --- a/tests/baselines/reference/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.symbols +++ b/tests/baselines/reference/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.symbols @@ -3,7 +3,7 @@ declare function _(value: Array): _; >_ : Symbol(_, Decl(getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts, 0, 0), Decl(getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts, 0, 45), Decl(getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts, 1, 38)) >T : Symbol(T, Decl(getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts, 0, 19)) >value : Symbol(value, Decl(getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts, 0, 22)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts, 0, 19)) >T : Symbol(T, Decl(getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts, 0, 19)) diff --git a/tests/baselines/reference/getterControlFlowStrictNull.symbols b/tests/baselines/reference/getterControlFlowStrictNull.symbols index d660b1aeaec..4f10644a5cd 100644 --- a/tests/baselines/reference/getterControlFlowStrictNull.symbols +++ b/tests/baselines/reference/getterControlFlowStrictNull.symbols @@ -6,9 +6,9 @@ class A { >a : Symbol(A.a, Decl(getterControlFlowStrictNull.ts, 0, 9)) if (Math.random() > 0.5) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) return ''; } @@ -23,9 +23,9 @@ class B { >a : Symbol(B.a, Decl(getterControlFlowStrictNull.ts, 9, 9)) if (Math.random() > 0.5) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) return ''; } diff --git a/tests/baselines/reference/getterSetterNonAccessor.symbols b/tests/baselines/reference/getterSetterNonAccessor.symbols index f10542c0a0c..42e2b192afe 100644 --- a/tests/baselines/reference/getterSetterNonAccessor.symbols +++ b/tests/baselines/reference/getterSetterNonAccessor.symbols @@ -7,10 +7,10 @@ function setFunc(v){} >v : Symbol(v, Decl(getterSetterNonAccessor.ts, 1, 17)) Object.defineProperty({}, "0", ({ ->Object.defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.d.ts, --, --)) ->PropertyDescriptor : Symbol(PropertyDescriptor, Decl(lib.d.ts, --, --)) +>Object.defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.es5.d.ts, --, --)) +>PropertyDescriptor : Symbol(PropertyDescriptor, Decl(lib.es5.d.ts, --, --)) get: getFunc, >get : Symbol(get, Decl(getterSetterNonAccessor.ts, 3, 53)) diff --git a/tests/baselines/reference/globalFunctionAugmentationOverload.symbols b/tests/baselines/reference/globalFunctionAugmentationOverload.symbols index dc373973128..e890da090fc 100644 --- a/tests/baselines/reference/globalFunctionAugmentationOverload.symbols +++ b/tests/baselines/reference/globalFunctionAugmentationOverload.symbols @@ -2,7 +2,7 @@ declare function expect(spy: Function): void; >expect : Symbol(expect, Decl(mod.d.ts, 0, 0), Decl(mine.ts, 2, 16)) >spy : Symbol(spy, Decl(mod.d.ts, 0, 24)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare module "mod" { >"mod" : Symbol("mod", Decl(mod.d.ts, 0, 45)) diff --git a/tests/baselines/reference/globalThis.symbols b/tests/baselines/reference/globalThis.symbols index 6ca1054f1af..72652151030 100644 --- a/tests/baselines/reference/globalThis.symbols +++ b/tests/baselines/reference/globalThis.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/globalThis.ts === var __e = Math.E; // should not generate 'this.Math.E' >__e : Symbol(__e, Decl(globalThis.ts, 0, 3)) ->Math.E : Symbol(Math.E, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->E : Symbol(Math.E, Decl(lib.d.ts, --, --)) +>Math.E : Symbol(Math.E, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>E : Symbol(Math.E, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/heterogeneousArrayLiterals.symbols b/tests/baselines/reference/heterogeneousArrayLiterals.symbols index e74a037703b..b10fc50899c 100644 --- a/tests/baselines/reference/heterogeneousArrayLiterals.symbols +++ b/tests/baselines/reference/heterogeneousArrayLiterals.symbols @@ -15,7 +15,7 @@ var d = [{}, 1]; // {}[] var e = [{}, Object]; // {}[] >e : Symbol(e, Decl(heterogeneousArrayLiterals.ts, 6, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var f = [[], [1]]; // number[][] >f : Symbol(f, Decl(heterogeneousArrayLiterals.ts, 8, 3)) diff --git a/tests/baselines/reference/ifDoWhileStatements.symbols b/tests/baselines/reference/ifDoWhileStatements.symbols index 32a5437aac7..5ab287e7729 100644 --- a/tests/baselines/reference/ifDoWhileStatements.symbols +++ b/tests/baselines/reference/ifDoWhileStatements.symbols @@ -67,9 +67,9 @@ module M { export function F2(x: number): string { return x.toString(); } >F2 : Symbol(F2, Decl(ifDoWhileStatements.ts, 25, 5)) >x : Symbol(x, Decl(ifDoWhileStatements.ts, 27, 23)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(ifDoWhileStatements.ts, 27, 23)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } module N { @@ -85,9 +85,9 @@ module N { export function F2(x: number): string { return x.toString(); } >F2 : Symbol(F2, Decl(ifDoWhileStatements.ts, 33, 5)) >x : Symbol(x, Decl(ifDoWhileStatements.ts, 35, 23)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(ifDoWhileStatements.ts, 35, 23)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } // literals diff --git a/tests/baselines/reference/implementArrayInterface.symbols b/tests/baselines/reference/implementArrayInterface.symbols index e6a15a8774f..4df065b5773 100644 --- a/tests/baselines/reference/implementArrayInterface.symbols +++ b/tests/baselines/reference/implementArrayInterface.symbols @@ -2,7 +2,7 @@ declare class MyArray implements Array { >MyArray : Symbol(MyArray, Decl(implementArrayInterface.ts, 0, 0)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(implementArrayInterface.ts, 0, 22)) toString(): string; diff --git a/tests/baselines/reference/implicitAnyFromCircularInference.symbols b/tests/baselines/reference/implicitAnyFromCircularInference.symbols index e91dda7afbb..014fb5aa41b 100644 --- a/tests/baselines/reference/implicitAnyFromCircularInference.symbols +++ b/tests/baselines/reference/implicitAnyFromCircularInference.symbols @@ -16,7 +16,7 @@ var c: typeof b; // Error expected var d: Array; >d : Symbol(d, Decl(implicitAnyFromCircularInference.ts, 8, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >d : Symbol(d, Decl(implicitAnyFromCircularInference.ts, 8, 3)) function f() { return f; } diff --git a/tests/baselines/reference/implicitConstParameters.symbols b/tests/baselines/reference/implicitConstParameters.symbols index 9e5aca836de..f6bbdd2bcbe 100644 --- a/tests/baselines/reference/implicitConstParameters.symbols +++ b/tests/baselines/reference/implicitConstParameters.symbols @@ -16,9 +16,9 @@ function fn(x: number | string) { doSomething(() => x.toFixed()); >doSomething : Symbol(doSomething, Decl(implicitConstParameters.ts, 0, 0)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(implicitConstParameters.ts, 4, 12)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) } } @@ -33,9 +33,9 @@ function f1(x: string | undefined) { } doSomething(() => x.length); >doSomething : Symbol(doSomething, Decl(implicitConstParameters.ts, 0, 0)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(implicitConstParameters.ts, 10, 12)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } function f2(x: string | undefined) { @@ -50,9 +50,9 @@ function f2(x: string | undefined) { doSomething(() => x.length); >doSomething : Symbol(doSomething, Decl(implicitConstParameters.ts, 0, 0)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(implicitConstParameters.ts, 17, 12)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) }); } @@ -73,9 +73,9 @@ function f3(x: string | undefined) { doSomething(() => x.length); >doSomething : Symbol(doSomething, Decl(implicitConstParameters.ts, 0, 0)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(implicitConstParameters.ts, 25, 12)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } } @@ -92,9 +92,9 @@ function f4(x: string | undefined) { doSomething(() => x.length); >doSomething : Symbol(doSomething, Decl(implicitConstParameters.ts, 0, 0)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(implicitConstParameters.ts, 34, 12)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } @@ -107,9 +107,9 @@ function f5(x: string | undefined) { doSomething(() => x.length); >doSomething : Symbol(doSomething, Decl(implicitConstParameters.ts, 0, 0)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(implicitConstParameters.ts, 41, 12)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } x = "abc"; // causes x to be considered non-const >x : Symbol(x, Decl(implicitConstParameters.ts, 41, 12)) @@ -129,8 +129,8 @@ function f6(x: string | undefined) { doSomething(() => y.length); >doSomething : Symbol(doSomething, Decl(implicitConstParameters.ts, 0, 0)) ->y.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>y.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(implicitConstParameters.ts, 50, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/importCallExpression2ESNext.symbols b/tests/baselines/reference/importCallExpression2ESNext.symbols index e19c3df7eae..ee2b7544854 100644 --- a/tests/baselines/reference/importCallExpression2ESNext.symbols +++ b/tests/baselines/reference/importCallExpression2ESNext.symbols @@ -10,7 +10,7 @@ export class B { function foo(x: Promise) { >foo : Symbol(foo, Decl(2.ts, 0, 0)) >x : Symbol(x, Decl(2.ts, 0, 13)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) x.then(value => { >x.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/importCallExpressionCheckReturntype1.symbols b/tests/baselines/reference/importCallExpressionCheckReturntype1.symbols index 4a271e6bd49..159c8b3738c 100644 --- a/tests/baselines/reference/importCallExpressionCheckReturntype1.symbols +++ b/tests/baselines/reference/importCallExpressionCheckReturntype1.symbols @@ -15,18 +15,18 @@ import * as anotherModule from "./anotherModule"; let p1: Promise = import("./defaultPath"); >p1 : Symbol(p1, Decl(1.ts, 3, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >anotherModule : Symbol(anotherModule, Decl(1.ts, 1, 6)) >"./defaultPath" : Symbol(defaultModule, Decl(defaultPath.ts, 0, 0)) let p2 = import("./defaultPath") as Promise; >p2 : Symbol(p2, Decl(1.ts, 4, 3)) >"./defaultPath" : Symbol(defaultModule, Decl(defaultPath.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >anotherModule : Symbol(anotherModule, Decl(1.ts, 1, 6)) let p3: Promise = import("./defaultPath"); >p3 : Symbol(p3, Decl(1.ts, 5, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >"./defaultPath" : Symbol(defaultModule, Decl(defaultPath.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionDeclarationEmit3.symbols b/tests/baselines/reference/importCallExpressionDeclarationEmit3.symbols index 230bf8d079d..e1faa7226f2 100644 --- a/tests/baselines/reference/importCallExpressionDeclarationEmit3.symbols +++ b/tests/baselines/reference/importCallExpressionDeclarationEmit3.symbols @@ -14,18 +14,18 @@ import("./0"); export var p0: Promise = import(getPath()); >p0 : Symbol(p0, Decl(1.ts, 4, 10)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >Zero : Symbol(Zero, Decl(1.ts, 1, 6)) >getPath : Symbol(getPath, Decl(1.ts, 0, 0)) export var p1: Promise = import("./0"); >p1 : Symbol(p1, Decl(1.ts, 5, 10)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >Zero : Symbol(Zero, Decl(1.ts, 1, 6)) >"./0" : Symbol(Zero, Decl(0.ts, 0, 0)) export var p2: Promise = import("./0"); >p2 : Symbol(p2, Decl(1.ts, 6, 10)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >"./0" : Symbol(Zero, Decl(0.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionES6AMD.symbols b/tests/baselines/reference/importCallExpressionES6AMD.symbols index bac881bbcb9..2f8bd23758d 100644 --- a/tests/baselines/reference/importCallExpressionES6AMD.symbols +++ b/tests/baselines/reference/importCallExpressionES6AMD.symbols @@ -11,9 +11,9 @@ var p1 = import("./0"); >"./0" : Symbol("tests/cases/conformance/dynamicImport/0", Decl(0.ts, 0, 0)) p1.then(zero => { ->p1.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p1 : Symbol(p1, Decl(1.ts, 1, 3)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >zero : Symbol(zero, Decl(1.ts, 2, 8)) return zero.foo(); diff --git a/tests/baselines/reference/importCallExpressionES6CJS.symbols b/tests/baselines/reference/importCallExpressionES6CJS.symbols index bac881bbcb9..2f8bd23758d 100644 --- a/tests/baselines/reference/importCallExpressionES6CJS.symbols +++ b/tests/baselines/reference/importCallExpressionES6CJS.symbols @@ -11,9 +11,9 @@ var p1 = import("./0"); >"./0" : Symbol("tests/cases/conformance/dynamicImport/0", Decl(0.ts, 0, 0)) p1.then(zero => { ->p1.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p1 : Symbol(p1, Decl(1.ts, 1, 3)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >zero : Symbol(zero, Decl(1.ts, 2, 8)) return zero.foo(); diff --git a/tests/baselines/reference/importCallExpressionES6System.symbols b/tests/baselines/reference/importCallExpressionES6System.symbols index bac881bbcb9..2f8bd23758d 100644 --- a/tests/baselines/reference/importCallExpressionES6System.symbols +++ b/tests/baselines/reference/importCallExpressionES6System.symbols @@ -11,9 +11,9 @@ var p1 = import("./0"); >"./0" : Symbol("tests/cases/conformance/dynamicImport/0", Decl(0.ts, 0, 0)) p1.then(zero => { ->p1.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p1 : Symbol(p1, Decl(1.ts, 1, 3)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >zero : Symbol(zero, Decl(1.ts, 2, 8)) return zero.foo(); diff --git a/tests/baselines/reference/importCallExpressionES6UMD.symbols b/tests/baselines/reference/importCallExpressionES6UMD.symbols index bac881bbcb9..2f8bd23758d 100644 --- a/tests/baselines/reference/importCallExpressionES6UMD.symbols +++ b/tests/baselines/reference/importCallExpressionES6UMD.symbols @@ -11,9 +11,9 @@ var p1 = import("./0"); >"./0" : Symbol("tests/cases/conformance/dynamicImport/0", Decl(0.ts, 0, 0)) p1.then(zero => { ->p1.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p1 : Symbol(p1, Decl(1.ts, 1, 3)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >zero : Symbol(zero, Decl(1.ts, 2, 8)) return zero.foo(); diff --git a/tests/baselines/reference/importCallExpressionInAMD2.symbols b/tests/baselines/reference/importCallExpressionInAMD2.symbols index 920d421e560..acd330d61fd 100644 --- a/tests/baselines/reference/importCallExpressionInAMD2.symbols +++ b/tests/baselines/reference/importCallExpressionInAMD2.symbols @@ -11,7 +11,7 @@ export class B { function foo(x: Promise) { >foo : Symbol(foo, Decl(2.ts, 0, 0)) >x : Symbol(x, Decl(2.ts, 1, 13)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) x.then(value => { >x.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/importCallExpressionInCJS2.symbols b/tests/baselines/reference/importCallExpressionInCJS2.symbols index 996e4595000..1743980ab23 100644 --- a/tests/baselines/reference/importCallExpressionInCJS2.symbols +++ b/tests/baselines/reference/importCallExpressionInCJS2.symbols @@ -10,7 +10,7 @@ export function backup() { return "backup"; } async function compute(promise: Promise) { >compute : Symbol(compute, Decl(2.ts, 0, 0)) >promise : Symbol(promise, Decl(2.ts, 0, 23)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) let j = await promise; >j : Symbol(j, Decl(2.ts, 1, 7)) diff --git a/tests/baselines/reference/importCallExpressionInCJS3.symbols b/tests/baselines/reference/importCallExpressionInCJS3.symbols index 920d421e560..acd330d61fd 100644 --- a/tests/baselines/reference/importCallExpressionInCJS3.symbols +++ b/tests/baselines/reference/importCallExpressionInCJS3.symbols @@ -11,7 +11,7 @@ export class B { function foo(x: Promise) { >foo : Symbol(foo, Decl(2.ts, 0, 0)) >x : Symbol(x, Decl(2.ts, 1, 13)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) x.then(value => { >x.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/importCallExpressionInSystem2.symbols b/tests/baselines/reference/importCallExpressionInSystem2.symbols index 920d421e560..acd330d61fd 100644 --- a/tests/baselines/reference/importCallExpressionInSystem2.symbols +++ b/tests/baselines/reference/importCallExpressionInSystem2.symbols @@ -11,7 +11,7 @@ export class B { function foo(x: Promise) { >foo : Symbol(foo, Decl(2.ts, 0, 0)) >x : Symbol(x, Decl(2.ts, 1, 13)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) x.then(value => { >x.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/importCallExpressionInUMD2.symbols b/tests/baselines/reference/importCallExpressionInUMD2.symbols index 920d421e560..acd330d61fd 100644 --- a/tests/baselines/reference/importCallExpressionInUMD2.symbols +++ b/tests/baselines/reference/importCallExpressionInUMD2.symbols @@ -11,7 +11,7 @@ export class B { function foo(x: Promise) { >foo : Symbol(foo, Decl(2.ts, 0, 0)) >x : Symbol(x, Decl(2.ts, 1, 13)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) x.then(value => { >x.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.symbols b/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.symbols index 69a657da40d..d2cdfd31e4a 100644 --- a/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.symbols +++ b/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.symbols @@ -33,12 +33,12 @@ var p1 = import(ValidSomeCondition() ? "./0" : "externalModule"); var p1: Promise = import(getSpecifier()); >p1 : Symbol(p1, Decl(1.ts, 10, 3), Decl(1.ts, 11, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >getSpecifier : Symbol(getSpecifier, Decl(1.ts, 0, 47)) var p11: Promise = import(getSpecifier()); >p11 : Symbol(p11, Decl(1.ts, 12, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >defaultModule : Symbol(defaultModule, Decl(1.ts, 0, 6)) >getSpecifier : Symbol(getSpecifier, Decl(1.ts, 0, 47)) @@ -46,13 +46,13 @@ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") as Promisep2 : Symbol(p2, Decl(1.ts, 13, 5)) >whatToLoad : Symbol(whatToLoad, Decl(1.ts, 3, 11)) >getSpecifier : Symbol(getSpecifier, Decl(1.ts, 0, 47)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >defaultModule : Symbol(defaultModule, Decl(1.ts, 0, 6)) p1.then(zero => { ->p1.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p1 : Symbol(p1, Decl(1.ts, 10, 3), Decl(1.ts, 11, 3)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >zero : Symbol(zero, Decl(1.ts, 14, 8)) return zero.foo(); // ok, zero is any @@ -65,7 +65,7 @@ let j: string; var p3: Promise = import(j=getSpecifier()); >p3 : Symbol(p3, Decl(1.ts, 19, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >defaultModule : Symbol(defaultModule, Decl(1.ts, 0, 6)) >j : Symbol(j, Decl(1.ts, 18, 3)) >getSpecifier : Symbol(getSpecifier, Decl(1.ts, 0, 47)) diff --git a/tests/baselines/reference/importCallExpressionShouldNotGetParen.symbols b/tests/baselines/reference/importCallExpressionShouldNotGetParen.symbols index 7e83ad1b125..ace34efcf0d 100644 --- a/tests/baselines/reference/importCallExpressionShouldNotGetParen.symbols +++ b/tests/baselines/reference/importCallExpressionShouldNotGetParen.symbols @@ -3,9 +3,9 @@ const localeName = "zh-CN"; >localeName : Symbol(localeName, Decl(importCallExpressionShouldNotGetParen.ts, 0, 5)) import(`./locales/${localeName}.js`).then(bar => { ->import(`./locales/${localeName}.js`).then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>import(`./locales/${localeName}.js`).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >localeName : Symbol(localeName, Decl(importCallExpressionShouldNotGetParen.ts, 0, 5)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >bar : Symbol(bar, Decl(importCallExpressionShouldNotGetParen.ts, 1, 42)) let x = bar; @@ -15,9 +15,9 @@ import(`./locales/${localeName}.js`).then(bar => { }); import("./locales/" + localeName + ".js").then(bar => { ->import("./locales/" + localeName + ".js").then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>import("./locales/" + localeName + ".js").then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >localeName : Symbol(localeName, Decl(importCallExpressionShouldNotGetParen.ts, 0, 5)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >bar : Symbol(bar, Decl(importCallExpressionShouldNotGetParen.ts, 5, 47)) let x = bar; diff --git a/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.symbols b/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.symbols index fbf0705d982..adfbd7705ff 100644 --- a/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.symbols +++ b/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.symbols @@ -19,9 +19,9 @@ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") >getSpecifier : Symbol(getSpecifier, Decl(importCallExpressionSpecifierNotStringTypeError.ts, 0, 0)) p1.then(zero => { ->p1.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p1 : Symbol(p1, Decl(importCallExpressionSpecifierNotStringTypeError.ts, 5, 3)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >zero : Symbol(zero, Decl(importCallExpressionSpecifierNotStringTypeError.ts, 7, 8)) return zero.foo(); // ok, zero is any diff --git a/tests/baselines/reference/importCallExpressionWithTypeArgument.symbols b/tests/baselines/reference/importCallExpressionWithTypeArgument.symbols index 48b082da4fb..aae294cc824 100644 --- a/tests/baselines/reference/importCallExpressionWithTypeArgument.symbols +++ b/tests/baselines/reference/importCallExpressionWithTypeArgument.symbols @@ -6,7 +6,7 @@ export function foo() { return "foo"; } "use strict" var p1 = import>("./0"); // error >p1 : Symbol(p1, Decl(1.ts, 1, 3)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >"./0" : Symbol("tests/cases/conformance/dynamicImport/0", Decl(0.ts, 0, 0)) var p2 = import<>("./0"); // error diff --git a/tests/baselines/reference/importExportInternalComments.symbols b/tests/baselines/reference/importExportInternalComments.symbols index 6f11d291dd5..07fd64c5190 100644 --- a/tests/baselines/reference/importExportInternalComments.symbols +++ b/tests/baselines/reference/importExportInternalComments.symbols @@ -4,7 +4,7 @@ declare module "foo"; === tests/cases/compiler/default.ts === /*1*/ export /*2*/ default /*3*/ Array /*4*/; ->Array : Symbol(Array, Decl(lib.esnext.array.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 2 more) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 2 more) === tests/cases/compiler/index.ts === /*1*/ import /*2*/ D /*3*/, /*4*/ { /*5*/ A /*6*/, /*7*/ B /*8*/ as /*9*/ C /*10*/ } /*11*/ from /*12*/ "foo"; diff --git a/tests/baselines/reference/importHelpers.symbols b/tests/baselines/reference/importHelpers.symbols index 7b2184f93c6..0ce5bd5af70 100644 --- a/tests/baselines/reference/importHelpers.symbols +++ b/tests/baselines/reference/importHelpers.symbols @@ -78,9 +78,9 @@ const result = id`hello world`; export declare function __extends(d: Function, b: Function): void; >__extends : Symbol(__extends, Decl(tslib.d.ts, --, --)) >d : Symbol(d, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __assign(t: any, ...sources: any[]): any; >__assign : Symbol(__assign, Decl(tslib.d.ts, --, --)) @@ -90,7 +90,7 @@ export declare function __assign(t: any, ...sources: any[]): any; export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; >__decorate : Symbol(__decorate, Decl(tslib.d.ts, --, --)) >decorators : Symbol(decorators, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >target : Symbol(target, Decl(tslib.d.ts, --, --)) >key : Symbol(key, Decl(tslib.d.ts, --, --)) >desc : Symbol(desc, Decl(tslib.d.ts, --, --)) @@ -99,27 +99,27 @@ export declare function __param(paramIndex: number, decorator: Function): Functi >__param : Symbol(__param, Decl(tslib.d.ts, --, --)) >paramIndex : Symbol(paramIndex, Decl(tslib.d.ts, --, --)) >decorator : Symbol(decorator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __metadata(metadataKey: any, metadataValue: any): Function; >__metadata : Symbol(__metadata, Decl(tslib.d.ts, --, --)) >metadataKey : Symbol(metadataKey, Decl(tslib.d.ts, --, --)) >metadataValue : Symbol(metadataValue, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; >__awaiter : Symbol(__awaiter, Decl(tslib.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(tslib.d.ts, --, --)) >_arguments : Symbol(_arguments, Decl(tslib.d.ts, --, --)) >P : Symbol(P, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >generator : Symbol(generator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __makeTemplateObject(cooked: string[], raw: string[]): TemplateStringsArray; >__makeTemplateObject : Symbol(__makeTemplateObject, Decl(tslib.d.ts, --, --)) >cooked : Symbol(cooked, Decl(tslib.d.ts, --, --)) >raw : Symbol(raw, Decl(tslib.d.ts, --, --)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/importHelpersAmd.symbols b/tests/baselines/reference/importHelpersAmd.symbols index 68506b4c353..4c030dd2729 100644 --- a/tests/baselines/reference/importHelpersAmd.symbols +++ b/tests/baselines/reference/importHelpersAmd.symbols @@ -15,9 +15,9 @@ export class B extends A { } export declare function __extends(d: Function, b: Function): void; >__extends : Symbol(__extends, Decl(tslib.d.ts, --, --)) >d : Symbol(d, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __assign(t: any, ...sources: any[]): any; >__assign : Symbol(__assign, Decl(tslib.d.ts, --, --)) @@ -32,7 +32,7 @@ export declare function __rest(t: any, propertyNames: string[]): any; export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; >__decorate : Symbol(__decorate, Decl(tslib.d.ts, --, --)) >decorators : Symbol(decorators, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >target : Symbol(target, Decl(tslib.d.ts, --, --)) >key : Symbol(key, Decl(tslib.d.ts, --, --)) >desc : Symbol(desc, Decl(tslib.d.ts, --, --)) @@ -41,29 +41,29 @@ export declare function __param(paramIndex: number, decorator: Function): Functi >__param : Symbol(__param, Decl(tslib.d.ts, --, --)) >paramIndex : Symbol(paramIndex, Decl(tslib.d.ts, --, --)) >decorator : Symbol(decorator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __metadata(metadataKey: any, metadataValue: any): Function; >__metadata : Symbol(__metadata, Decl(tslib.d.ts, --, --)) >metadataKey : Symbol(metadataKey, Decl(tslib.d.ts, --, --)) >metadataValue : Symbol(metadataValue, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; >__awaiter : Symbol(__awaiter, Decl(tslib.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(tslib.d.ts, --, --)) >_arguments : Symbol(_arguments, Decl(tslib.d.ts, --, --)) >P : Symbol(P, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >generator : Symbol(generator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __generator(thisArg: any, body: Function): any; >__generator : Symbol(__generator, Decl(tslib.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(tslib.d.ts, --, --)) >body : Symbol(body, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __exportStar(m: any, exports: any): void; >__exportStar : Symbol(__exportStar, Decl(tslib.d.ts, --, --)) diff --git a/tests/baselines/reference/importHelpersES6.symbols b/tests/baselines/reference/importHelpersES6.symbols index ef1193275ad..09f27360888 100644 --- a/tests/baselines/reference/importHelpersES6.symbols +++ b/tests/baselines/reference/importHelpersES6.symbols @@ -20,14 +20,14 @@ const y = { ...o }; export declare function __extends(d: Function, b: Function): void; >__extends : Symbol(__extends, Decl(tslib.d.ts, --, --)) >d : Symbol(d, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >b : Symbol(b, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; >__decorate : Symbol(__decorate, Decl(tslib.d.ts, --, --)) >decorators : Symbol(decorators, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >target : Symbol(target, Decl(tslib.d.ts, --, --)) >key : Symbol(key, Decl(tslib.d.ts, --, --)) >desc : Symbol(desc, Decl(tslib.d.ts, --, --)) @@ -36,21 +36,21 @@ export declare function __param(paramIndex: number, decorator: Function): Functi >__param : Symbol(__param, Decl(tslib.d.ts, --, --)) >paramIndex : Symbol(paramIndex, Decl(tslib.d.ts, --, --)) >decorator : Symbol(decorator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) export declare function __metadata(metadataKey: any, metadataValue: any): Function; >__metadata : Symbol(__metadata, Decl(tslib.d.ts, --, --)) >metadataKey : Symbol(metadataKey, Decl(tslib.d.ts, --, --)) >metadataValue : Symbol(metadataValue, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; >__awaiter : Symbol(__awaiter, Decl(tslib.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(tslib.d.ts, --, --)) >_arguments : Symbol(_arguments, Decl(tslib.d.ts, --, --)) >P : Symbol(P, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >generator : Symbol(generator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/importHelpersInAmbientContext.symbols b/tests/baselines/reference/importHelpersInAmbientContext.symbols index 9dd7d30390f..6666b4f03e8 100644 --- a/tests/baselines/reference/importHelpersInAmbientContext.symbols +++ b/tests/baselines/reference/importHelpersInAmbientContext.symbols @@ -89,9 +89,9 @@ declare namespace N { export declare function __extends(d: Function, b: Function): void; >__extends : Symbol(__extends, Decl(tslib.d.ts, --, --)) >d : Symbol(d, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __assign(t: any, ...sources: any[]): any; >__assign : Symbol(__assign, Decl(tslib.d.ts, --, --)) @@ -106,7 +106,7 @@ export declare function __rest(t: any, propertyNames: string[]): any; export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; >__decorate : Symbol(__decorate, Decl(tslib.d.ts, --, --)) >decorators : Symbol(decorators, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >target : Symbol(target, Decl(tslib.d.ts, --, --)) >key : Symbol(key, Decl(tslib.d.ts, --, --)) >desc : Symbol(desc, Decl(tslib.d.ts, --, --)) @@ -115,29 +115,29 @@ export declare function __param(paramIndex: number, decorator: Function): Functi >__param : Symbol(__param, Decl(tslib.d.ts, --, --)) >paramIndex : Symbol(paramIndex, Decl(tslib.d.ts, --, --)) >decorator : Symbol(decorator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __metadata(metadataKey: any, metadataValue: any): Function; >__metadata : Symbol(__metadata, Decl(tslib.d.ts, --, --)) >metadataKey : Symbol(metadataKey, Decl(tslib.d.ts, --, --)) >metadataValue : Symbol(metadataValue, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; >__awaiter : Symbol(__awaiter, Decl(tslib.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(tslib.d.ts, --, --)) >_arguments : Symbol(_arguments, Decl(tslib.d.ts, --, --)) >P : Symbol(P, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >generator : Symbol(generator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __generator(thisArg: any, body: Function): any; >__generator : Symbol(__generator, Decl(tslib.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(tslib.d.ts, --, --)) >body : Symbol(body, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __exportStar(m: any, exports: any): void; >__exportStar : Symbol(__exportStar, Decl(tslib.d.ts, --, --)) diff --git a/tests/baselines/reference/importHelpersInIsolatedModules.symbols b/tests/baselines/reference/importHelpersInIsolatedModules.symbols index 55ca5153e32..08eb17346a3 100644 --- a/tests/baselines/reference/importHelpersInIsolatedModules.symbols +++ b/tests/baselines/reference/importHelpersInIsolatedModules.symbols @@ -50,9 +50,9 @@ class C { export declare function __extends(d: Function, b: Function): void; >__extends : Symbol(__extends, Decl(tslib.d.ts, --, --)) >d : Symbol(d, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __assign(t: any, ...sources: any[]): any; >__assign : Symbol(__assign, Decl(tslib.d.ts, --, --)) @@ -62,7 +62,7 @@ export declare function __assign(t: any, ...sources: any[]): any; export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; >__decorate : Symbol(__decorate, Decl(tslib.d.ts, --, --)) >decorators : Symbol(decorators, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >target : Symbol(target, Decl(tslib.d.ts, --, --)) >key : Symbol(key, Decl(tslib.d.ts, --, --)) >desc : Symbol(desc, Decl(tslib.d.ts, --, --)) @@ -71,21 +71,21 @@ export declare function __param(paramIndex: number, decorator: Function): Functi >__param : Symbol(__param, Decl(tslib.d.ts, --, --)) >paramIndex : Symbol(paramIndex, Decl(tslib.d.ts, --, --)) >decorator : Symbol(decorator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __metadata(metadataKey: any, metadataValue: any): Function; >__metadata : Symbol(__metadata, Decl(tslib.d.ts, --, --)) >metadataKey : Symbol(metadataKey, Decl(tslib.d.ts, --, --)) >metadataValue : Symbol(metadataValue, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; >__awaiter : Symbol(__awaiter, Decl(tslib.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(tslib.d.ts, --, --)) >_arguments : Symbol(_arguments, Decl(tslib.d.ts, --, --)) >P : Symbol(P, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >generator : Symbol(generator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/importHelpersInTsx.symbols b/tests/baselines/reference/importHelpersInTsx.symbols index efd4f98ed98..0bc92587561 100644 --- a/tests/baselines/reference/importHelpersInTsx.symbols +++ b/tests/baselines/reference/importHelpersInTsx.symbols @@ -24,9 +24,9 @@ const x = export declare function __extends(d: Function, b: Function): void; >__extends : Symbol(__extends, Decl(tslib.d.ts, --, --)) >d : Symbol(d, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __assign(t: any, ...sources: any[]): any; >__assign : Symbol(__assign, Decl(tslib.d.ts, --, --)) @@ -36,7 +36,7 @@ export declare function __assign(t: any, ...sources: any[]): any; export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; >__decorate : Symbol(__decorate, Decl(tslib.d.ts, --, --)) >decorators : Symbol(decorators, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >target : Symbol(target, Decl(tslib.d.ts, --, --)) >key : Symbol(key, Decl(tslib.d.ts, --, --)) >desc : Symbol(desc, Decl(tslib.d.ts, --, --)) @@ -45,21 +45,21 @@ export declare function __param(paramIndex: number, decorator: Function): Functi >__param : Symbol(__param, Decl(tslib.d.ts, --, --)) >paramIndex : Symbol(paramIndex, Decl(tslib.d.ts, --, --)) >decorator : Symbol(decorator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __metadata(metadataKey: any, metadataValue: any): Function; >__metadata : Symbol(__metadata, Decl(tslib.d.ts, --, --)) >metadataKey : Symbol(metadataKey, Decl(tslib.d.ts, --, --)) >metadataValue : Symbol(metadataValue, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; >__awaiter : Symbol(__awaiter, Decl(tslib.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(tslib.d.ts, --, --)) >_arguments : Symbol(_arguments, Decl(tslib.d.ts, --, --)) >P : Symbol(P, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >generator : Symbol(generator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/importHelpersOutFile.symbols b/tests/baselines/reference/importHelpersOutFile.symbols index 086f3f9995e..9c2eda6be4a 100644 --- a/tests/baselines/reference/importHelpersOutFile.symbols +++ b/tests/baselines/reference/importHelpersOutFile.symbols @@ -22,9 +22,9 @@ export class C extends A { } export declare function __extends(d: Function, b: Function): void; >__extends : Symbol(__extends, Decl(tslib.d.ts, --, --)) >d : Symbol(d, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __assign(t: any, ...sources: any[]): any; >__assign : Symbol(__assign, Decl(tslib.d.ts, --, --)) @@ -34,7 +34,7 @@ export declare function __assign(t: any, ...sources: any[]): any; export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; >__decorate : Symbol(__decorate, Decl(tslib.d.ts, --, --)) >decorators : Symbol(decorators, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >target : Symbol(target, Decl(tslib.d.ts, --, --)) >key : Symbol(key, Decl(tslib.d.ts, --, --)) >desc : Symbol(desc, Decl(tslib.d.ts, --, --)) @@ -43,21 +43,21 @@ export declare function __param(paramIndex: number, decorator: Function): Functi >__param : Symbol(__param, Decl(tslib.d.ts, --, --)) >paramIndex : Symbol(paramIndex, Decl(tslib.d.ts, --, --)) >decorator : Symbol(decorator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __metadata(metadataKey: any, metadataValue: any): Function; >__metadata : Symbol(__metadata, Decl(tslib.d.ts, --, --)) >metadataKey : Symbol(metadataKey, Decl(tslib.d.ts, --, --)) >metadataValue : Symbol(metadataValue, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; >__awaiter : Symbol(__awaiter, Decl(tslib.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(tslib.d.ts, --, --)) >_arguments : Symbol(_arguments, Decl(tslib.d.ts, --, --)) >P : Symbol(P, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >generator : Symbol(generator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/importHelpersSystem.symbols b/tests/baselines/reference/importHelpersSystem.symbols index d7d588a67ef..7ec1024337a 100644 --- a/tests/baselines/reference/importHelpersSystem.symbols +++ b/tests/baselines/reference/importHelpersSystem.symbols @@ -15,9 +15,9 @@ export class B extends A { } export declare function __extends(d: Function, b: Function): void; >__extends : Symbol(__extends, Decl(tslib.d.ts, --, --)) >d : Symbol(d, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __assign(t: any, ...sources: any[]): any; >__assign : Symbol(__assign, Decl(tslib.d.ts, --, --)) @@ -27,7 +27,7 @@ export declare function __assign(t: any, ...sources: any[]): any; export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; >__decorate : Symbol(__decorate, Decl(tslib.d.ts, --, --)) >decorators : Symbol(decorators, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >target : Symbol(target, Decl(tslib.d.ts, --, --)) >key : Symbol(key, Decl(tslib.d.ts, --, --)) >desc : Symbol(desc, Decl(tslib.d.ts, --, --)) @@ -36,21 +36,21 @@ export declare function __param(paramIndex: number, decorator: Function): Functi >__param : Symbol(__param, Decl(tslib.d.ts, --, --)) >paramIndex : Symbol(paramIndex, Decl(tslib.d.ts, --, --)) >decorator : Symbol(decorator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __metadata(metadataKey: any, metadataValue: any): Function; >__metadata : Symbol(__metadata, Decl(tslib.d.ts, --, --)) >metadataKey : Symbol(metadataKey, Decl(tslib.d.ts, --, --)) >metadataValue : Symbol(metadataValue, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; >__awaiter : Symbol(__awaiter, Decl(tslib.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(tslib.d.ts, --, --)) >_arguments : Symbol(_arguments, Decl(tslib.d.ts, --, --)) >P : Symbol(P, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >generator : Symbol(generator, Decl(tslib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/incompatibleExports1.symbols b/tests/baselines/reference/incompatibleExports1.symbols index 8014b232005..ea49b93a8fa 100644 --- a/tests/baselines/reference/incompatibleExports1.symbols +++ b/tests/baselines/reference/incompatibleExports1.symbols @@ -9,7 +9,7 @@ declare module "foo" { interface y { a: Date } >y : Symbol(y, Decl(incompatibleExports1.ts, 1, 36)) >a : Symbol(y.a, Decl(incompatibleExports1.ts, 2, 17)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) export = y; >y : Symbol(y, Decl(incompatibleExports1.ts, 1, 36)) diff --git a/tests/baselines/reference/incompatibleExports2.symbols b/tests/baselines/reference/incompatibleExports2.symbols index 0305cc2fb46..597634cb643 100644 --- a/tests/baselines/reference/incompatibleExports2.symbols +++ b/tests/baselines/reference/incompatibleExports2.symbols @@ -9,7 +9,7 @@ declare module "foo" { interface y { a: Date } >y : Symbol(y, Decl(incompatibleExports2.ts, 1, 36)) >a : Symbol(y.a, Decl(incompatibleExports2.ts, 2, 17)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) export = y; >y : Symbol(y, Decl(incompatibleExports2.ts, 1, 36)) diff --git a/tests/baselines/reference/incompleteDottedExpressionAtEOF.symbols b/tests/baselines/reference/incompleteDottedExpressionAtEOF.symbols index cb00bda7ec4..0d1fa050817 100644 --- a/tests/baselines/reference/incompleteDottedExpressionAtEOF.symbols +++ b/tests/baselines/reference/incompleteDottedExpressionAtEOF.symbols @@ -2,5 +2,5 @@ // used to leak __missing into error message var p2 = window. >p2 : Symbol(p2, Decl(incompleteDottedExpressionAtEOF.ts, 1, 3)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) diff --git a/tests/baselines/reference/indexIntoArraySubclass.symbols b/tests/baselines/reference/indexIntoArraySubclass.symbols index 0fcfe1eb841..3d10f3b822c 100644 --- a/tests/baselines/reference/indexIntoArraySubclass.symbols +++ b/tests/baselines/reference/indexIntoArraySubclass.symbols @@ -2,7 +2,7 @@ interface Foo2 extends Array { } >Foo2 : Symbol(Foo2, Decl(indexIntoArraySubclass.ts, 0, 0)) >T : Symbol(T, Decl(indexIntoArraySubclass.ts, 0, 15)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(indexIntoArraySubclass.ts, 0, 15)) var x2: Foo2; diff --git a/tests/baselines/reference/indexSignatureAndMappedType.symbols b/tests/baselines/reference/indexSignatureAndMappedType.symbols index cb4df91e8c1..0e33d65ee40 100644 --- a/tests/baselines/reference/indexSignatureAndMappedType.symbols +++ b/tests/baselines/reference/indexSignatureAndMappedType.symbols @@ -10,7 +10,7 @@ function f1(x: { [key: string]: T }, y: Record) { >key : Symbol(key, Decl(indexSignatureAndMappedType.ts, 3, 39)) >T : Symbol(T, Decl(indexSignatureAndMappedType.ts, 3, 12)) >y : Symbol(y, Decl(indexSignatureAndMappedType.ts, 3, 57)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >K : Symbol(K, Decl(indexSignatureAndMappedType.ts, 3, 14)) >T : Symbol(T, Decl(indexSignatureAndMappedType.ts, 3, 12)) @@ -30,7 +30,7 @@ function f2(x: { [key: string]: T }, y: Record) { >key : Symbol(key, Decl(indexSignatureAndMappedType.ts, 8, 21)) >T : Symbol(T, Decl(indexSignatureAndMappedType.ts, 8, 12)) >y : Symbol(y, Decl(indexSignatureAndMappedType.ts, 8, 39)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(indexSignatureAndMappedType.ts, 8, 12)) x = y; @@ -51,7 +51,7 @@ function f3(x: { [key: string]: T }, y: Record) { >key : Symbol(key, Decl(indexSignatureAndMappedType.ts, 13, 42)) >T : Symbol(T, Decl(indexSignatureAndMappedType.ts, 13, 12)) >y : Symbol(y, Decl(indexSignatureAndMappedType.ts, 13, 60)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >K : Symbol(K, Decl(indexSignatureAndMappedType.ts, 13, 17)) >U : Symbol(U, Decl(indexSignatureAndMappedType.ts, 13, 14)) @@ -92,7 +92,7 @@ interface IEntity extends IBaseEntity { properties: Record; >properties : Symbol(IEntity.properties, Decl(indexSignatureAndMappedType.ts, 29, 57)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(indexSignatureAndMappedType.ts, 29, 18)) } diff --git a/tests/baselines/reference/indexSignatureTypeInference.symbols b/tests/baselines/reference/indexSignatureTypeInference.symbols index 0b9cc265456..5e7fbd3ec0e 100644 --- a/tests/baselines/reference/indexSignatureTypeInference.symbols +++ b/tests/baselines/reference/indexSignatureTypeInference.symbols @@ -36,16 +36,16 @@ declare function stringMapToArray(object: StringMap): T[]; var numberMap: NumberMap; >numberMap : Symbol(numberMap, Decl(indexSignatureTypeInference.ts, 11, 3)) >NumberMap : Symbol(NumberMap, Decl(indexSignatureTypeInference.ts, 0, 0)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var stringMap: StringMap; >stringMap : Symbol(stringMap, Decl(indexSignatureTypeInference.ts, 12, 3)) >StringMap : Symbol(StringMap, Decl(indexSignatureTypeInference.ts, 2, 1)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var v1: Function[]; >v1 : Symbol(v1, Decl(indexSignatureTypeInference.ts, 14, 3), Decl(indexSignatureTypeInference.ts, 15, 3), Decl(indexSignatureTypeInference.ts, 16, 3), Decl(indexSignatureTypeInference.ts, 17, 3), Decl(indexSignatureTypeInference.ts, 18, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var v1 = numberMapToArray(numberMap); // Ok >v1 : Symbol(v1, Decl(indexSignatureTypeInference.ts, 14, 3), Decl(indexSignatureTypeInference.ts, 15, 3), Decl(indexSignatureTypeInference.ts, 16, 3), Decl(indexSignatureTypeInference.ts, 17, 3), Decl(indexSignatureTypeInference.ts, 18, 3)) diff --git a/tests/baselines/reference/indexedAccessRelation.symbols b/tests/baselines/reference/indexedAccessRelation.symbols index 40fa52652f9..c64e52a8d4d 100644 --- a/tests/baselines/reference/indexedAccessRelation.symbols +++ b/tests/baselines/reference/indexedAccessRelation.symbols @@ -10,7 +10,7 @@ class Component { >K : Symbol(K, Decl(indexedAccessRelation.ts, 3, 13)) >S : Symbol(S, Decl(indexedAccessRelation.ts, 2, 16)) >state : Symbol(state, Decl(indexedAccessRelation.ts, 3, 32)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >S : Symbol(S, Decl(indexedAccessRelation.ts, 2, 16)) >K : Symbol(K, Decl(indexedAccessRelation.ts, 3, 13)) } diff --git a/tests/baselines/reference/indexedAccessRetainsIndexSignature.symbols b/tests/baselines/reference/indexedAccessRetainsIndexSignature.symbols index ad46c367ba6..f6d65f9cf6f 100644 --- a/tests/baselines/reference/indexedAccessRetainsIndexSignature.symbols +++ b/tests/baselines/reference/indexedAccessRetainsIndexSignature.symbols @@ -18,7 +18,7 @@ type Omit = Pick> >U : Symbol(U, Decl(indexedAccessRetainsIndexSignature.ts, 2, 10)) >K : Symbol(K, Decl(indexedAccessRetainsIndexSignature.ts, 2, 12)) >U : Symbol(U, Decl(indexedAccessRetainsIndexSignature.ts, 2, 10)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(indexedAccessRetainsIndexSignature.ts, 2, 10)) >Diff : Symbol(Diff, Decl(indexedAccessRetainsIndexSignature.ts, 0, 0)) >U : Symbol(U, Decl(indexedAccessRetainsIndexSignature.ts, 2, 10)) @@ -29,7 +29,7 @@ type Omit1 = Pick>; >U : Symbol(U, Decl(indexedAccessRetainsIndexSignature.ts, 3, 11)) >K : Symbol(K, Decl(indexedAccessRetainsIndexSignature.ts, 3, 13)) >U : Symbol(U, Decl(indexedAccessRetainsIndexSignature.ts, 3, 11)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(indexedAccessRetainsIndexSignature.ts, 3, 11)) >Diff : Symbol(Diff, Decl(indexedAccessRetainsIndexSignature.ts, 0, 0)) >U : Symbol(U, Decl(indexedAccessRetainsIndexSignature.ts, 3, 11)) diff --git a/tests/baselines/reference/indexer3.symbols b/tests/baselines/reference/indexer3.symbols index 071a160b067..0d265bda485 100644 --- a/tests/baselines/reference/indexer3.symbols +++ b/tests/baselines/reference/indexer3.symbols @@ -2,10 +2,10 @@ var dateMap: { [x: string]: Date; } = {} >dateMap : Symbol(dateMap, Decl(indexer3.ts, 0, 3)) >x : Symbol(x, Decl(indexer3.ts, 0, 16)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r: Date = dateMap["hello"] // result type includes indexer using BCT >r : Symbol(r, Decl(indexer3.ts, 1, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >dateMap : Symbol(dateMap, Decl(indexer3.ts, 0, 3)) diff --git a/tests/baselines/reference/indexersInClassType.symbols b/tests/baselines/reference/indexersInClassType.symbols index cef1e3d41b6..366010a87d6 100644 --- a/tests/baselines/reference/indexersInClassType.symbols +++ b/tests/baselines/reference/indexersInClassType.symbols @@ -4,15 +4,15 @@ class C { [x: number]: Date; >x : Symbol(x, Decl(indexersInClassType.ts, 1, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) [x: string]: Object; >x : Symbol(x, Decl(indexersInClassType.ts, 2, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) 1: Date; >1 : Symbol(C[1], Decl(indexersInClassType.ts, 2, 24)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) 'a': {} >'a' : Symbol(C['a'], Decl(indexersInClassType.ts, 3, 12)) diff --git a/tests/baselines/reference/indexingTypesWithNever.symbols b/tests/baselines/reference/indexingTypesWithNever.symbols index 2b163d74a02..1833e8c6377 100644 --- a/tests/baselines/reference/indexingTypesWithNever.symbols +++ b/tests/baselines/reference/indexingTypesWithNever.symbols @@ -178,9 +178,9 @@ type ExpectType = Match extends "Match" ? ({} extends Exp ? Match, Required> : "Match") >Exp : Symbol(Exp, Decl(indexingTypesWithNever.ts, 56, 16)) >Match : Symbol(Match, Decl(indexingTypesWithNever.ts, 50, 63)) ->Required : Symbol(Required, Decl(lib.d.ts, --, --)) +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) >Exp : Symbol(Exp, Decl(indexingTypesWithNever.ts, 56, 16)) ->Required : Symbol(Required, Decl(lib.d.ts, --, --)) +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) >Act : Symbol(Act, Decl(indexingTypesWithNever.ts, 56, 20)) : "Did not match"; diff --git a/tests/baselines/reference/indirectUniqueSymbolDeclarationEmit.symbols b/tests/baselines/reference/indirectUniqueSymbolDeclarationEmit.symbols index 7249e5430cc..9df8cc7ad87 100644 --- a/tests/baselines/reference/indirectUniqueSymbolDeclarationEmit.symbols +++ b/tests/baselines/reference/indirectUniqueSymbolDeclarationEmit.symbols @@ -1,11 +1,11 @@ === tests/cases/compiler/indirectUniqueSymbolDeclarationEmit.ts === export const x = Symbol(); >x : Symbol(x, Decl(indirectUniqueSymbolDeclarationEmit.ts, 0, 12)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) export const y = Symbol(); >y : Symbol(y, Decl(indirectUniqueSymbolDeclarationEmit.ts, 1, 12)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare function rand(): boolean; >rand : Symbol(rand, Decl(indirectUniqueSymbolDeclarationEmit.ts, 1, 26)) diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes1.symbols b/tests/baselines/reference/inferFromGenericFunctionReturnTypes1.symbols index 3060f44009b..319ae142501 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes1.symbols +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes1.symbols @@ -16,11 +16,11 @@ class SetOf { >A : Symbol(A, Decl(inferFromGenericFunctionReturnTypes1.ts, 3, 12)) this._store.push(a); ->this._store.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>this._store.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >this._store : Symbol(SetOf._store, Decl(inferFromGenericFunctionReturnTypes1.ts, 3, 16)) >this : Symbol(SetOf, Decl(inferFromGenericFunctionReturnTypes1.ts, 0, 0)) >_store : Symbol(SetOf._store, Decl(inferFromGenericFunctionReturnTypes1.ts, 3, 16)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(inferFromGenericFunctionReturnTypes1.ts, 6, 6)) } @@ -49,11 +49,11 @@ class SetOf { >index : Symbol(index, Decl(inferFromGenericFunctionReturnTypes1.ts, 14, 20)) this._store.forEach((a, i) => fn(a, i)); ->this._store.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>this._store.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >this._store : Symbol(SetOf._store, Decl(inferFromGenericFunctionReturnTypes1.ts, 3, 16)) >this : Symbol(SetOf, Decl(inferFromGenericFunctionReturnTypes1.ts, 0, 0)) >_store : Symbol(SetOf._store, Decl(inferFromGenericFunctionReturnTypes1.ts, 3, 16)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(inferFromGenericFunctionReturnTypes1.ts, 15, 27)) >i : Symbol(i, Decl(inferFromGenericFunctionReturnTypes1.ts, 15, 29)) >fn : Symbol(fn, Decl(inferFromGenericFunctionReturnTypes1.ts, 14, 10)) @@ -124,9 +124,9 @@ function compose(...fns: ((x: T) => T)[]): (x: T) => T { return (x: T) => fns.reduce((prev, fn) => fn(prev), x); >x : Symbol(x, Decl(inferFromGenericFunctionReturnTypes1.ts, 27, 10)) >T : Symbol(T, Decl(inferFromGenericFunctionReturnTypes1.ts, 26, 17)) ->fns.reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>fns.reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >fns : Symbol(fns, Decl(inferFromGenericFunctionReturnTypes1.ts, 26, 20)) ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >prev : Symbol(prev, Decl(inferFromGenericFunctionReturnTypes1.ts, 27, 31)) >fn : Symbol(fn, Decl(inferFromGenericFunctionReturnTypes1.ts, 27, 36)) >fn : Symbol(fn, Decl(inferFromGenericFunctionReturnTypes1.ts, 27, 36)) @@ -263,9 +263,9 @@ testSet.transform( map(x => x.toUpperCase()) >map : Symbol(map, Decl(inferFromGenericFunctionReturnTypes1.ts, 28, 1)) >x : Symbol(x, Decl(inferFromGenericFunctionReturnTypes1.ts, 58, 8)) ->x.toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>x.toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(inferFromGenericFunctionReturnTypes1.ts, 58, 8)) ->toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) ) ) diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes2.symbols b/tests/baselines/reference/inferFromGenericFunctionReturnTypes2.symbols index f7189682273..379f011d2eb 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes2.symbols +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes2.symbols @@ -57,18 +57,18 @@ let f1: Mapper = s => s.length; >f1 : Symbol(f1, Decl(inferFromGenericFunctionReturnTypes2.ts, 10, 3)) >Mapper : Symbol(Mapper, Decl(inferFromGenericFunctionReturnTypes2.ts, 0, 0)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 10, 32)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 10, 32)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) let f2: Mapper = wrap(s => s.length); >f2 : Symbol(f2, Decl(inferFromGenericFunctionReturnTypes2.ts, 11, 3)) >Mapper : Symbol(Mapper, Decl(inferFromGenericFunctionReturnTypes2.ts, 0, 0)) >wrap : Symbol(wrap, Decl(inferFromGenericFunctionReturnTypes2.ts, 0, 32)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 11, 38)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 11, 38)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) let f3: Mapper = arrayize(wrap(s => s.length)); >f3 : Symbol(f3, Decl(inferFromGenericFunctionReturnTypes2.ts, 12, 3)) @@ -76,9 +76,9 @@ let f3: Mapper = arrayize(wrap(s => s.length)); >arrayize : Symbol(arrayize, Decl(inferFromGenericFunctionReturnTypes2.ts, 2, 60)) >wrap : Symbol(wrap, Decl(inferFromGenericFunctionReturnTypes2.ts, 0, 32)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 12, 49)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 12, 49)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) let f4: Mapper = combine(wrap(s => s.length), wrap(n => n >= 10)); >f4 : Symbol(f4, Decl(inferFromGenericFunctionReturnTypes2.ts, 13, 3)) @@ -86,9 +86,9 @@ let f4: Mapper = combine(wrap(s => s.length), wrap(n => n >= 10 >combine : Symbol(combine, Decl(inferFromGenericFunctionReturnTypes2.ts, 4, 66)) >wrap : Symbol(wrap, Decl(inferFromGenericFunctionReturnTypes2.ts, 0, 32)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 13, 47)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 13, 47)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >wrap : Symbol(wrap, Decl(inferFromGenericFunctionReturnTypes2.ts, 0, 32)) >n : Symbol(n, Decl(inferFromGenericFunctionReturnTypes2.ts, 13, 68)) >n : Symbol(n, Decl(inferFromGenericFunctionReturnTypes2.ts, 13, 68)) @@ -97,76 +97,76 @@ foo(wrap(s => s.length)); >foo : Symbol(foo, Decl(inferFromGenericFunctionReturnTypes2.ts, 6, 79)) >wrap : Symbol(wrap, Decl(inferFromGenericFunctionReturnTypes2.ts, 0, 32)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 15, 9)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 15, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) let a1 = ["a", "b"].map(s => s.length); >a1 : Symbol(a1, Decl(inferFromGenericFunctionReturnTypes2.ts, 17, 3)) ->["a", "b"].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>["a", "b"].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 17, 24)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 17, 24)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) let a2 = ["a", "b"].map(wrap(s => s.length)); >a2 : Symbol(a2, Decl(inferFromGenericFunctionReturnTypes2.ts, 18, 3)) ->["a", "b"].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>["a", "b"].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >wrap : Symbol(wrap, Decl(inferFromGenericFunctionReturnTypes2.ts, 0, 32)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 18, 29)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 18, 29)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) let a3 = ["a", "b"].map(wrap(arrayize(s => s.length))); >a3 : Symbol(a3, Decl(inferFromGenericFunctionReturnTypes2.ts, 19, 3)) ->["a", "b"].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>["a", "b"].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >wrap : Symbol(wrap, Decl(inferFromGenericFunctionReturnTypes2.ts, 0, 32)) >arrayize : Symbol(arrayize, Decl(inferFromGenericFunctionReturnTypes2.ts, 2, 60)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 19, 38)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 19, 38)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) let a4 = ["a", "b"].map(combine(wrap(s => s.length), wrap(n => n > 10))); >a4 : Symbol(a4, Decl(inferFromGenericFunctionReturnTypes2.ts, 20, 3)) ->["a", "b"].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>["a", "b"].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >combine : Symbol(combine, Decl(inferFromGenericFunctionReturnTypes2.ts, 4, 66)) >wrap : Symbol(wrap, Decl(inferFromGenericFunctionReturnTypes2.ts, 0, 32)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 20, 37)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 20, 37)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >wrap : Symbol(wrap, Decl(inferFromGenericFunctionReturnTypes2.ts, 0, 32)) >n : Symbol(n, Decl(inferFromGenericFunctionReturnTypes2.ts, 20, 58)) >n : Symbol(n, Decl(inferFromGenericFunctionReturnTypes2.ts, 20, 58)) let a5 = ["a", "b"].map(combine(identity, wrap(s => s.length))); >a5 : Symbol(a5, Decl(inferFromGenericFunctionReturnTypes2.ts, 21, 3)) ->["a", "b"].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>["a", "b"].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >combine : Symbol(combine, Decl(inferFromGenericFunctionReturnTypes2.ts, 4, 66)) >identity : Symbol(identity, Decl(inferFromGenericFunctionReturnTypes2.ts, 82, 1)) >wrap : Symbol(wrap, Decl(inferFromGenericFunctionReturnTypes2.ts, 0, 32)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 21, 47)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 21, 47)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) let a6 = ["a", "b"].map(combine(wrap(s => s.length), identity)); >a6 : Symbol(a6, Decl(inferFromGenericFunctionReturnTypes2.ts, 22, 3)) ->["a", "b"].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>["a", "b"].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >combine : Symbol(combine, Decl(inferFromGenericFunctionReturnTypes2.ts, 4, 66)) >wrap : Symbol(wrap, Decl(inferFromGenericFunctionReturnTypes2.ts, 0, 32)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 22, 37)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(inferFromGenericFunctionReturnTypes2.ts, 22, 37)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >identity : Symbol(identity, Decl(inferFromGenericFunctionReturnTypes2.ts, 82, 1)) // This is a contrived class. We could do the same thing with Observables, etc. @@ -184,11 +184,11 @@ class SetOf { >A : Symbol(A, Decl(inferFromGenericFunctionReturnTypes2.ts, 25, 12)) this._store.push(a); ->this._store.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>this._store.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >this._store : Symbol(SetOf._store, Decl(inferFromGenericFunctionReturnTypes2.ts, 25, 16)) >this : Symbol(SetOf, Decl(inferFromGenericFunctionReturnTypes2.ts, 22, 64)) >_store : Symbol(SetOf._store, Decl(inferFromGenericFunctionReturnTypes2.ts, 25, 16)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(inferFromGenericFunctionReturnTypes2.ts, 28, 6)) } @@ -217,11 +217,11 @@ class SetOf { >index : Symbol(index, Decl(inferFromGenericFunctionReturnTypes2.ts, 36, 20)) this._store.forEach((a, i) => fn(a, i)); ->this._store.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>this._store.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >this._store : Symbol(SetOf._store, Decl(inferFromGenericFunctionReturnTypes2.ts, 25, 16)) >this : Symbol(SetOf, Decl(inferFromGenericFunctionReturnTypes2.ts, 22, 64)) >_store : Symbol(SetOf._store, Decl(inferFromGenericFunctionReturnTypes2.ts, 25, 16)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(inferFromGenericFunctionReturnTypes2.ts, 37, 27)) >i : Symbol(i, Decl(inferFromGenericFunctionReturnTypes2.ts, 37, 29)) >fn : Symbol(fn, Decl(inferFromGenericFunctionReturnTypes2.ts, 36, 10)) @@ -292,9 +292,9 @@ function compose(...fns: ((x: T) => T)[]): (x: T) => T { return (x: T) => fns.reduce((prev, fn) => fn(prev), x); >x : Symbol(x, Decl(inferFromGenericFunctionReturnTypes2.ts, 49, 10)) >T : Symbol(T, Decl(inferFromGenericFunctionReturnTypes2.ts, 48, 17)) ->fns.reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>fns.reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >fns : Symbol(fns, Decl(inferFromGenericFunctionReturnTypes2.ts, 48, 20)) ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >prev : Symbol(prev, Decl(inferFromGenericFunctionReturnTypes2.ts, 49, 31)) >fn : Symbol(fn, Decl(inferFromGenericFunctionReturnTypes2.ts, 49, 36)) >fn : Symbol(fn, Decl(inferFromGenericFunctionReturnTypes2.ts, 49, 36)) @@ -432,9 +432,9 @@ const t1 = testSet.transform( map(x => x.toUpperCase()) >map : Symbol(map, Decl(inferFromGenericFunctionReturnTypes2.ts, 50, 1)) >x : Symbol(x, Decl(inferFromGenericFunctionReturnTypes2.ts, 80, 8)) ->x.toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>x.toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(inferFromGenericFunctionReturnTypes2.ts, 80, 8)) ->toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) ) ) @@ -471,9 +471,9 @@ const t2 = testSet.transform( map(x => x.toUpperCase()) >map : Symbol(map, Decl(inferFromGenericFunctionReturnTypes2.ts, 50, 1)) >x : Symbol(x, Decl(inferFromGenericFunctionReturnTypes2.ts, 91, 8)) ->x.toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>x.toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(inferFromGenericFunctionReturnTypes2.ts, 91, 8)) ->toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) ) ) diff --git a/tests/baselines/reference/inferSecondaryParameter.symbols b/tests/baselines/reference/inferSecondaryParameter.symbols index b6817d8fd52..0691b4b0aeb 100644 --- a/tests/baselines/reference/inferSecondaryParameter.symbols +++ b/tests/baselines/reference/inferSecondaryParameter.symbols @@ -6,7 +6,7 @@ interface Ib { m(test: string, fn: Function); } >m : Symbol(Ib.m, Decl(inferSecondaryParameter.ts, 2, 14)) >test : Symbol(test, Decl(inferSecondaryParameter.ts, 2, 17)) >fn : Symbol(fn, Decl(inferSecondaryParameter.ts, 2, 30)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var b: Ib = { m: function (test: string, fn: Function) { } }; >b : Symbol(b, Decl(inferSecondaryParameter.ts, 4, 3)) @@ -14,7 +14,7 @@ var b: Ib = { m: function (test: string, fn: Function) { } }; >m : Symbol(m, Decl(inferSecondaryParameter.ts, 4, 13)) >test : Symbol(test, Decl(inferSecondaryParameter.ts, 4, 27)) >fn : Symbol(fn, Decl(inferSecondaryParameter.ts, 4, 40)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) b.m("test", function (bug) { >b.m : Symbol(Ib.m, Decl(inferSecondaryParameter.ts, 2, 14)) diff --git a/tests/baselines/reference/inferTypes1.symbols b/tests/baselines/reference/inferTypes1.symbols index 2930e1733ff..ad5d6a2b68c 100644 --- a/tests/baselines/reference/inferTypes1.symbols +++ b/tests/baselines/reference/inferTypes1.symbols @@ -16,7 +16,7 @@ type Unpacked = T extends Promise ? U : >T : Symbol(T, Decl(inferTypes1.ts, 0, 14)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(inferTypes1.ts, 3, 27)) >U : Symbol(U, Decl(inferTypes1.ts, 3, 27)) @@ -38,13 +38,13 @@ type T02 = Unpacked<() => string>; // string type T03 = Unpacked>; // string >T03 : Symbol(T03, Decl(inferTypes1.ts, 8, 34)) >Unpacked : Symbol(Unpacked, Decl(inferTypes1.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) type T04 = Unpacked[]>>; // string >T04 : Symbol(T04, Decl(inferTypes1.ts, 9, 37)) >Unpacked : Symbol(Unpacked, Decl(inferTypes1.ts, 0, 0)) >Unpacked : Symbol(Unpacked, Decl(inferTypes1.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) type T05 = Unpacked; // any >T05 : Symbol(T05, Decl(inferTypes1.ts, 10, 49)) @@ -76,22 +76,22 @@ class C { type T10 = ReturnType<() => string>; // string >T10 : Symbol(T10, Decl(inferTypes1.ts, 21, 1)) ->ReturnType : Symbol(ReturnType, Decl(lib.d.ts, --, --)) +>ReturnType : Symbol(ReturnType, Decl(lib.es5.d.ts, --, --)) type T11 = ReturnType<(s: string) => void>; // void >T11 : Symbol(T11, Decl(inferTypes1.ts, 23, 36)) ->ReturnType : Symbol(ReturnType, Decl(lib.d.ts, --, --)) +>ReturnType : Symbol(ReturnType, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(inferTypes1.ts, 24, 23)) type T12 = ReturnType<(() => T)>; // {} >T12 : Symbol(T12, Decl(inferTypes1.ts, 24, 43)) ->ReturnType : Symbol(ReturnType, Decl(lib.d.ts, --, --)) +>ReturnType : Symbol(ReturnType, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(inferTypes1.ts, 25, 24)) >T : Symbol(T, Decl(inferTypes1.ts, 25, 24)) type T13 = ReturnType<(() => T)>; // number[] >T13 : Symbol(T13, Decl(inferTypes1.ts, 25, 36)) ->ReturnType : Symbol(ReturnType, Decl(lib.d.ts, --, --)) +>ReturnType : Symbol(ReturnType, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(inferTypes1.ts, 26, 24)) >U : Symbol(U, Decl(inferTypes1.ts, 26, 36)) >U : Symbol(U, Decl(inferTypes1.ts, 26, 36)) @@ -99,47 +99,47 @@ type T13 = ReturnType<(() => T)>; // number[] type T14 = ReturnType; // { a: number, b: string } >T14 : Symbol(T14, Decl(inferTypes1.ts, 26, 66)) ->ReturnType : Symbol(ReturnType, Decl(lib.d.ts, --, --)) +>ReturnType : Symbol(ReturnType, Decl(lib.es5.d.ts, --, --)) >f1 : Symbol(f1, Decl(inferTypes1.ts, 12, 27)) type T15 = ReturnType; // any >T15 : Symbol(T15, Decl(inferTypes1.ts, 27, 33)) ->ReturnType : Symbol(ReturnType, Decl(lib.d.ts, --, --)) +>ReturnType : Symbol(ReturnType, Decl(lib.es5.d.ts, --, --)) type T16 = ReturnType; // never >T16 : Symbol(T16, Decl(inferTypes1.ts, 28, 27)) ->ReturnType : Symbol(ReturnType, Decl(lib.d.ts, --, --)) +>ReturnType : Symbol(ReturnType, Decl(lib.es5.d.ts, --, --)) type T17 = ReturnType; // Error >T17 : Symbol(T17, Decl(inferTypes1.ts, 29, 29)) ->ReturnType : Symbol(ReturnType, Decl(lib.d.ts, --, --)) +>ReturnType : Symbol(ReturnType, Decl(lib.es5.d.ts, --, --)) type T18 = ReturnType; // Error >T18 : Symbol(T18, Decl(inferTypes1.ts, 30, 30)) ->ReturnType : Symbol(ReturnType, Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>ReturnType : Symbol(ReturnType, Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type U10 = InstanceType; // C >U10 : Symbol(U10, Decl(inferTypes1.ts, 31, 32)) ->InstanceType : Symbol(InstanceType, Decl(lib.d.ts, --, --)) +>InstanceType : Symbol(InstanceType, Decl(lib.es5.d.ts, --, --)) >C : Symbol(C, Decl(inferTypes1.ts, 16, 1)) type U11 = InstanceType; // any >U11 : Symbol(U11, Decl(inferTypes1.ts, 33, 34)) ->InstanceType : Symbol(InstanceType, Decl(lib.d.ts, --, --)) +>InstanceType : Symbol(InstanceType, Decl(lib.es5.d.ts, --, --)) type U12 = InstanceType; // never >U12 : Symbol(U12, Decl(inferTypes1.ts, 34, 29)) ->InstanceType : Symbol(InstanceType, Decl(lib.d.ts, --, --)) +>InstanceType : Symbol(InstanceType, Decl(lib.es5.d.ts, --, --)) type U13 = InstanceType; // Error >U13 : Symbol(U13, Decl(inferTypes1.ts, 35, 31)) ->InstanceType : Symbol(InstanceType, Decl(lib.d.ts, --, --)) +>InstanceType : Symbol(InstanceType, Decl(lib.es5.d.ts, --, --)) type U14 = InstanceType; // Error >U14 : Symbol(U14, Decl(inferTypes1.ts, 36, 32)) ->InstanceType : Symbol(InstanceType, Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>InstanceType : Symbol(InstanceType, Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type ArgumentType any> = T extends (a: infer A) => any ? A : any; >ArgumentType : Symbol(ArgumentType, Decl(inferTypes1.ts, 37, 34)) @@ -178,7 +178,7 @@ type T24 = ArgumentType<(x: string, y: string) => number>; // Error type T25 = ArgumentType; // Error >T25 : Symbol(T25, Decl(inferTypes1.ts, 45, 58)) >ArgumentType : Symbol(ArgumentType, Decl(inferTypes1.ts, 37, 34)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type T26 = ArgumentType; // any >T26 : Symbol(T26, Decl(inferTypes1.ts, 46, 34)) @@ -476,7 +476,7 @@ type Jsonified = : T extends undefined | Function ? never // undefined and functions are removed >T : Symbol(T, Decl(inferTypes1.ts, 103, 15)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) : T extends { toJSON(): infer R } ? R // toJSON is called if it exists (e.g. Date) >T : Symbol(T, Decl(inferTypes1.ts, 103, 15)) @@ -502,7 +502,7 @@ type Example = { date: Date, >date : Symbol(date, Decl(inferTypes1.ts, 112, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) customClass: MyClass, >customClass : Symbol(customClass, Decl(inferTypes1.ts, 113, 15)) @@ -521,7 +521,7 @@ type Example = { nested: { attr: Date } >nested : Symbol(nested, Decl(inferTypes1.ts, 117, 21)) >attr : Symbol(attr, Decl(inferTypes1.ts, 118, 17)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) }, } diff --git a/tests/baselines/reference/inferenceFromParameterlessLambda.symbols b/tests/baselines/reference/inferenceFromParameterlessLambda.symbols index 3e17cdfb2a4..12aa1481593 100644 --- a/tests/baselines/reference/inferenceFromParameterlessLambda.symbols +++ b/tests/baselines/reference/inferenceFromParameterlessLambda.symbols @@ -28,7 +28,7 @@ interface Take { foo(n => n.length, () => 'hi'); >foo : Symbol(foo, Decl(inferenceFromParameterlessLambda.ts, 0, 0)) >n : Symbol(n, Decl(inferenceFromParameterlessLambda.ts, 8, 4)) ->n.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>n.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(inferenceFromParameterlessLambda.ts, 8, 4)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/inferenceLimit.symbols b/tests/baselines/reference/inferenceLimit.symbols index c11227b29bb..4b7091a0585 100644 --- a/tests/baselines/reference/inferenceLimit.symbols +++ b/tests/baselines/reference/inferenceLimit.symbols @@ -14,8 +14,8 @@ export class BrokenClass { >value : Symbol(value, Decl(file1.ts, 7, 36)) return new Promise>((resolve, reject) => { ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >MyModule : Symbol(MyModule, Decl(file1.ts, 1, 6)) >MyModel : Symbol(MyModule.MyModel, Decl(mymodule.ts, 0, 0)) >resolve : Symbol(resolve, Decl(file1.ts, 8, 47)) @@ -23,7 +23,7 @@ export class BrokenClass { let result: Array = []; >result : Symbol(result, Decl(file1.ts, 10, 7)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >MyModule : Symbol(MyModule, Decl(file1.ts, 1, 6)) >MyModel : Symbol(MyModule.MyModel, Decl(mymodule.ts, 0, 0)) @@ -32,19 +32,19 @@ export class BrokenClass { >order : Symbol(order, Decl(file1.ts, 12, 25)) return new Promise((resolve, reject) => { ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >resolve : Symbol(resolve, Decl(file1.ts, 13, 26)) >reject : Symbol(reject, Decl(file1.ts, 13, 34)) this.doStuff(order.id) ->this.doStuff(order.id) .then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>this.doStuff(order.id) .then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >this.doStuff : Symbol(BrokenClass.doStuff, Decl(file1.ts, 27, 3)) >this : Symbol(BrokenClass, Decl(file1.ts, 1, 39)) >doStuff : Symbol(BrokenClass.doStuff, Decl(file1.ts, 27, 3)) >order : Symbol(order, Decl(file1.ts, 12, 25)) .then((items) => { ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >items : Symbol(items, Decl(file1.ts, 15, 17)) order.items = items; @@ -60,19 +60,19 @@ export class BrokenClass { }; return Promise.all(result.map(populateItems)) ->Promise.all(result.map(populateItems)) .then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 6 more) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->all : Symbol(PromiseConstructor.all, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 6 more) ->result.map : Symbol(Array.map, Decl(lib.es6.d.ts, --, --)) +>Promise.all(result.map(populateItems)) .then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --) ... and 6 more) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --) ... and 6 more) +>result.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(file1.ts, 10, 7)) ->map : Symbol(Array.map, Decl(lib.es6.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >populateItems : Symbol(populateItems, Decl(file1.ts, 12, 7)) .then((orders: Array) => { ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >orders : Symbol(orders, Decl(file1.ts, 23, 13)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >MyModule : Symbol(MyModule, Decl(file1.ts, 1, 6)) >MyModel : Symbol(MyModule.MyModel, Decl(mymodule.ts, 0, 0)) diff --git a/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.symbols b/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.symbols index 37e58850d4f..6ed5df67309 100644 --- a/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.symbols +++ b/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.symbols @@ -30,9 +30,9 @@ foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } } >foo : Symbol(foo, Decl(inferentialTypingObjectLiteralMethod1.ts, 2, 1)) >method : Symbol(method, Decl(inferentialTypingObjectLiteralMethod1.ts, 4, 9)) >p1 : Symbol(p1, Decl(inferentialTypingObjectLiteralMethod1.ts, 4, 17)) ->p1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>p1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >p1 : Symbol(p1, Decl(inferentialTypingObjectLiteralMethod1.ts, 4, 17)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >method : Symbol(method, Decl(inferentialTypingObjectLiteralMethod1.ts, 4, 46)) >p2 : Symbol(p2, Decl(inferentialTypingObjectLiteralMethod1.ts, 4, 54)) >undefined : Symbol(undefined) diff --git a/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.symbols b/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.symbols index 2f4aa942b91..4d0e9df72ee 100644 --- a/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.symbols +++ b/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.symbols @@ -30,9 +30,9 @@ foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } } >foo : Symbol(foo, Decl(inferentialTypingObjectLiteralMethod2.ts, 2, 1)) >method : Symbol(method, Decl(inferentialTypingObjectLiteralMethod2.ts, 4, 9)) >p1 : Symbol(p1, Decl(inferentialTypingObjectLiteralMethod2.ts, 4, 17)) ->p1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>p1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >p1 : Symbol(p1, Decl(inferentialTypingObjectLiteralMethod2.ts, 4, 17)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >method : Symbol(method, Decl(inferentialTypingObjectLiteralMethod2.ts, 4, 46)) >p2 : Symbol(p2, Decl(inferentialTypingObjectLiteralMethod2.ts, 4, 54)) >undefined : Symbol(undefined) diff --git a/tests/baselines/reference/inferentialTypingUsingApparentType1.symbols b/tests/baselines/reference/inferentialTypingUsingApparentType1.symbols index e8d66f2bbcb..6094779a457 100644 --- a/tests/baselines/reference/inferentialTypingUsingApparentType1.symbols +++ b/tests/baselines/reference/inferentialTypingUsingApparentType1.symbols @@ -14,7 +14,7 @@ function foo number>(x: T): T { foo(x => x.length); >foo : Symbol(foo, Decl(inferentialTypingUsingApparentType1.ts, 0, 0)) >x : Symbol(x, Decl(inferentialTypingUsingApparentType1.ts, 4, 4)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(inferentialTypingUsingApparentType1.ts, 4, 4)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/inferentialTypingUsingApparentType2.symbols b/tests/baselines/reference/inferentialTypingUsingApparentType2.symbols index e1525c50012..00cf33accdf 100644 --- a/tests/baselines/reference/inferentialTypingUsingApparentType2.symbols +++ b/tests/baselines/reference/inferentialTypingUsingApparentType2.symbols @@ -16,7 +16,7 @@ foo({ m(x) { return x.length } }); >foo : Symbol(foo, Decl(inferentialTypingUsingApparentType2.ts, 0, 0)) >m : Symbol(m, Decl(inferentialTypingUsingApparentType2.ts, 4, 5)) >x : Symbol(x, Decl(inferentialTypingUsingApparentType2.ts, 4, 8)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(inferentialTypingUsingApparentType2.ts, 4, 8)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/inferentialTypingWithFunctionType2.symbols b/tests/baselines/reference/inferentialTypingWithFunctionType2.symbols index c6ac17b0ccb..7b62d3c9f61 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionType2.symbols +++ b/tests/baselines/reference/inferentialTypingWithFunctionType2.symbols @@ -11,7 +11,7 @@ function identity(a: A): A { } var x = [1, 2, 3].map(identity)[0]; >x : Symbol(x, Decl(inferentialTypingWithFunctionType2.ts, 3, 3)) ->[1, 2, 3].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>[1, 2, 3].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >identity : Symbol(identity, Decl(inferentialTypingWithFunctionType2.ts, 0, 0)) diff --git a/tests/baselines/reference/inferingFromAny.symbols b/tests/baselines/reference/inferingFromAny.symbols index 8e24cf96654..e59cf621c2a 100644 --- a/tests/baselines/reference/inferingFromAny.symbols +++ b/tests/baselines/reference/inferingFromAny.symbols @@ -144,7 +144,7 @@ declare function f16(x: Partial): T; >f16 : Symbol(f16, Decl(a.ts, 17, 36)) >T : Symbol(T, Decl(a.ts, 18, 21)) >x : Symbol(x, Decl(a.ts, 18, 24)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(a.ts, 18, 21)) >T : Symbol(T, Decl(a.ts, 18, 21)) diff --git a/tests/baselines/reference/inferringClassMembersFromAssignments.symbols b/tests/baselines/reference/inferringClassMembersFromAssignments.symbols index 316b9f08f7c..b80bfcea538 100644 --- a/tests/baselines/reference/inferringClassMembersFromAssignments.symbols +++ b/tests/baselines/reference/inferringClassMembersFromAssignments.symbols @@ -4,9 +4,9 @@ class C { constructor() { if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) this.inConstructor = 0; >this.inConstructor : Symbol(C.inConstructor, Decl(a.js, 2, 28), Decl(a.js, 5, 14)) @@ -28,9 +28,9 @@ class C { >method : Symbol(C.method, Decl(a.js, 9, 5)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) this.inMethod = 0; >this.inMethod : Symbol(C.inMethod, Decl(a.js, 11, 28), Decl(a.js, 15, 14)) @@ -68,9 +68,9 @@ class C { >action : Symbol(action, Decl(a.js, 22, 11)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) this.inNestedArrowFunction = 0; >this.inNestedArrowFunction : Symbol(C.inNestedArrowFunction, Decl(a.js, 23, 32), Decl(a.js, 26, 18)) @@ -89,9 +89,9 @@ class C { >get : Symbol(C.get, Decl(a.js, 30, 5)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) this.inGetter = 0; >this.inGetter : Symbol(C.inGetter, Decl(a.js, 32, 28), Decl(a.js, 35, 14)) @@ -118,9 +118,9 @@ class C { >set : Symbol(C.set, Decl(a.js, 40, 5)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) this.inSetter = 0; >this.inSetter : Symbol(C.inSetter, Decl(a.js, 42, 28), Decl(a.js, 45, 14)) @@ -138,9 +138,9 @@ class C { >prop : Symbol(C.prop, Decl(a.js, 48, 5)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) this.inPropertyDeclaration = 0; >this.inPropertyDeclaration : Symbol(C.inPropertyDeclaration, Decl(a.js, 50, 28), Decl(a.js, 53, 14)) @@ -158,9 +158,9 @@ class C { >method : Symbol(C.method, Decl(a.js, 56, 5)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) this.inStaticMethod = 0; >this.inStaticMethod : Symbol(C.inStaticMethod, Decl(a.js, 58, 28), Decl(a.js, 61, 14)) @@ -178,9 +178,9 @@ class C { >action : Symbol(action, Decl(a.js, 65, 11)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) this.inStaticNestedArrowFunction = 0; >this.inStaticNestedArrowFunction : Symbol(C.inStaticNestedArrowFunction, Decl(a.js, 66, 32), Decl(a.js, 69, 18)) @@ -199,9 +199,9 @@ class C { >get : Symbol(C.get, Decl(a.js, 73, 5)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) this.inStaticGetter = 0; >this.inStaticGetter : Symbol(C.inStaticGetter, Decl(a.js, 75, 28), Decl(a.js, 78, 14)) @@ -219,9 +219,9 @@ class C { >set : Symbol(C.set, Decl(a.js, 81, 5)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) this.inStaticSetter = 0; >this.inStaticSetter : Symbol(C.inStaticSetter, Decl(a.js, 83, 28), Decl(a.js, 86, 14)) @@ -239,9 +239,9 @@ class C { >prop : Symbol(C.prop, Decl(a.js, 89, 5)) if (Math.random()) { ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) this.inStaticPropertyDeclaration = 0; >this.inStaticPropertyDeclaration : Symbol(C.inStaticPropertyDeclaration, Decl(a.js, 91, 28), Decl(a.js, 94, 14)) diff --git a/tests/baselines/reference/inferringClassMembersFromAssignments2.symbols b/tests/baselines/reference/inferringClassMembersFromAssignments2.symbols index 72f04fe0401..457dc9bea02 100644 --- a/tests/baselines/reference/inferringClassMembersFromAssignments2.symbols +++ b/tests/baselines/reference/inferringClassMembersFromAssignments2.symbols @@ -2,7 +2,7 @@ OOOrder.prototype.m = function () { >OOOrder.prototype : Symbol(OOOrder.m, Decl(a.js, 0, 0)) >OOOrder : Symbol(OOOrder, Decl(a.js, 2, 1)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m : Symbol(OOOrder.m, Decl(a.js, 0, 0)) this.p = 1 diff --git a/tests/baselines/reference/infinitelyExpandingOverloads.symbols b/tests/baselines/reference/infinitelyExpandingOverloads.symbols index 760595d7872..77b75e6888f 100644 --- a/tests/baselines/reference/infinitelyExpandingOverloads.symbols +++ b/tests/baselines/reference/infinitelyExpandingOverloads.symbols @@ -57,10 +57,10 @@ class ViewModel { public validationPlacements: Array> = new Array>(); >validationPlacements : Symbol(ViewModel.validationPlacements, Decl(infinitelyExpandingOverloads.ts, 15, 25)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >ValidationPlacement2 : Symbol(ValidationPlacement2, Decl(infinitelyExpandingOverloads.ts, 5, 1)) >TValue : Symbol(TValue, Decl(infinitelyExpandingOverloads.ts, 15, 16)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >ValidationPlacement2 : Symbol(ValidationPlacement2, Decl(infinitelyExpandingOverloads.ts, 5, 1)) >TValue : Symbol(TValue, Decl(infinitelyExpandingOverloads.ts, 15, 16)) } diff --git a/tests/baselines/reference/infinitelyExpandingTypes2.symbols b/tests/baselines/reference/infinitelyExpandingTypes2.symbols index 02fbf72221d..42c06094b1c 100644 --- a/tests/baselines/reference/infinitelyExpandingTypes2.symbols +++ b/tests/baselines/reference/infinitelyExpandingTypes2.symbols @@ -26,9 +26,9 @@ function f(p: Foo) { >Foo : Symbol(Foo, Decl(infinitelyExpandingTypes2.ts, 0, 0)) console.log(p); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >p : Symbol(p, Decl(infinitelyExpandingTypes2.ts, 8, 11)) } diff --git a/tests/baselines/reference/infinitelyExpandingTypes5.symbols b/tests/baselines/reference/infinitelyExpandingTypes5.symbols index b990fad0245..4376251bad1 100644 --- a/tests/baselines/reference/infinitelyExpandingTypes5.symbols +++ b/tests/baselines/reference/infinitelyExpandingTypes5.symbols @@ -12,13 +12,13 @@ interface Query { } interface Enumerator { ->Enumerator : Symbol(Enumerator, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(infinitelyExpandingTypes5.ts, 2, 1)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(infinitelyExpandingTypes5.ts, 4, 21)) +>Enumerator : Symbol(Enumerator, Decl(lib.scripthost.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(infinitelyExpandingTypes5.ts, 2, 1)) +>T : Symbol(T, Decl(lib.scripthost.d.ts, --, --), Decl(infinitelyExpandingTypes5.ts, 4, 21)) (action: (item: T, index: number) => boolean): boolean; >action : Symbol(action, Decl(infinitelyExpandingTypes5.ts, 5, 5)) >item : Symbol(item, Decl(infinitelyExpandingTypes5.ts, 5, 14)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(infinitelyExpandingTypes5.ts, 4, 21)) +>T : Symbol(T, Decl(lib.scripthost.d.ts, --, --), Decl(infinitelyExpandingTypes5.ts, 4, 21)) >index : Symbol(index, Decl(infinitelyExpandingTypes5.ts, 5, 22)) } @@ -34,7 +34,7 @@ function from(enumerator: Enumerator): Query; >from : Symbol(from, Decl(infinitelyExpandingTypes5.ts, 6, 1), Decl(infinitelyExpandingTypes5.ts, 8, 39), Decl(infinitelyExpandingTypes5.ts, 9, 54)) >T : Symbol(T, Decl(infinitelyExpandingTypes5.ts, 9, 14)) >enumerator : Symbol(enumerator, Decl(infinitelyExpandingTypes5.ts, 9, 17)) ->Enumerator : Symbol(Enumerator, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(infinitelyExpandingTypes5.ts, 2, 1)) +>Enumerator : Symbol(Enumerator, Decl(lib.scripthost.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(infinitelyExpandingTypes5.ts, 2, 1)) >T : Symbol(T, Decl(infinitelyExpandingTypes5.ts, 9, 14)) >Query : Symbol(Query, Decl(infinitelyExpandingTypes5.ts, 0, 0)) >T : Symbol(T, Decl(infinitelyExpandingTypes5.ts, 9, 14)) diff --git a/tests/baselines/reference/inheritanceOfGenericConstructorMethod1.symbols b/tests/baselines/reference/inheritanceOfGenericConstructorMethod1.symbols index 0e83ce75be9..cdb7495d718 100644 --- a/tests/baselines/reference/inheritanceOfGenericConstructorMethod1.symbols +++ b/tests/baselines/reference/inheritanceOfGenericConstructorMethod1.symbols @@ -12,7 +12,7 @@ class B extends A {} var a = new A(); >a : Symbol(a, Decl(inheritanceOfGenericConstructorMethod1.ts, 2, 3)) >A : Symbol(A, Decl(inheritanceOfGenericConstructorMethod1.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var b1 = new B(); // no error >b1 : Symbol(b1, Decl(inheritanceOfGenericConstructorMethod1.ts, 3, 3)) @@ -21,12 +21,12 @@ var b1 = new B(); // no error var b2: B = new B(); // no error >b2 : Symbol(b2, Decl(inheritanceOfGenericConstructorMethod1.ts, 4, 3)) >B : Symbol(B, Decl(inheritanceOfGenericConstructorMethod1.ts, 0, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >B : Symbol(B, Decl(inheritanceOfGenericConstructorMethod1.ts, 0, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var b3 = new B(); // error, could not select overload for 'new' expression >b3 : Symbol(b3, Decl(inheritanceOfGenericConstructorMethod1.ts, 5, 3)) >B : Symbol(B, Decl(inheritanceOfGenericConstructorMethod1.ts, 0, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) diff --git a/tests/baselines/reference/inheritedFunctionAssignmentCompatibility.symbols b/tests/baselines/reference/inheritedFunctionAssignmentCompatibility.symbols index b4e6eac2183..4d5133fcfbf 100644 --- a/tests/baselines/reference/inheritedFunctionAssignmentCompatibility.symbols +++ b/tests/baselines/reference/inheritedFunctionAssignmentCompatibility.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/inheritedFunctionAssignmentCompatibility.ts === interface IResultCallback extends Function { } >IResultCallback : Symbol(IResultCallback, Decl(inheritedFunctionAssignmentCompatibility.ts, 0, 0)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function fn(cb: IResultCallback) { } >fn : Symbol(fn, Decl(inheritedFunctionAssignmentCompatibility.ts, 0, 46)) diff --git a/tests/baselines/reference/inheritedGenericCallSignature.symbols b/tests/baselines/reference/inheritedGenericCallSignature.symbols index 63e2c45cd06..e22c3de1249 100644 --- a/tests/baselines/reference/inheritedGenericCallSignature.symbols +++ b/tests/baselines/reference/inheritedGenericCallSignature.symbols @@ -12,7 +12,7 @@ interface I1 { interface Object {} ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(inheritedGenericCallSignature.ts, 4, 1)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(inheritedGenericCallSignature.ts, 4, 1)) @@ -33,7 +33,7 @@ interface I2 extends I1 { var x: I2; >x : Symbol(x, Decl(inheritedGenericCallSignature.ts, 19, 3)) >I2 : Symbol(I2, Decl(inheritedGenericCallSignature.ts, 7, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) @@ -43,7 +43,7 @@ var y = x(undefined); >undefined : Symbol(undefined) y.length; // should not error ->y.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>y.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(inheritedGenericCallSignature.ts, 23, 3)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.symbols b/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.symbols index 1a204dd9f32..f19d4b572e5 100644 --- a/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.symbols +++ b/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.symbols @@ -20,9 +20,9 @@ var b:B; // Should not error b('foo').charAt(0); ->b('foo').charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>b('foo').charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(inheritedOverloadedSpecializedSignatures.ts, 8, 3)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) interface A { >A : Symbol(A, Decl(inheritedOverloadedSpecializedSignatures.ts, 0, 0), Decl(inheritedOverloadedSpecializedSignatures.ts, 10, 19), Decl(inheritedOverloadedSpecializedSignatures.ts, 19, 1)) diff --git a/tests/baselines/reference/initializedDestructuringAssignmentTypes.symbols b/tests/baselines/reference/initializedDestructuringAssignmentTypes.symbols index 7d9cf531f0d..d1965ff300b 100644 --- a/tests/baselines/reference/initializedDestructuringAssignmentTypes.symbols +++ b/tests/baselines/reference/initializedDestructuringAssignmentTypes.symbols @@ -1,8 +1,8 @@ === tests/cases/compiler/initializedDestructuringAssignmentTypes.ts === const [, a = ''] = ''.match('') || []; >a : Symbol(a, Decl(initializedDestructuringAssignmentTypes.ts, 0, 8)) ->''.match : Symbol(String.match, Decl(lib.d.ts, --, --)) ->match : Symbol(String.match, Decl(lib.d.ts, --, --)) +>''.match : Symbol(String.match, Decl(lib.es5.d.ts, --, --)) +>match : Symbol(String.match, Decl(lib.es5.d.ts, --, --)) a.toFixed() >a : Symbol(a, Decl(initializedDestructuringAssignmentTypes.ts, 0, 8)) diff --git a/tests/baselines/reference/inlineSourceMap.symbols b/tests/baselines/reference/inlineSourceMap.symbols index 5b47c580181..6343f03b308 100644 --- a/tests/baselines/reference/inlineSourceMap.symbols +++ b/tests/baselines/reference/inlineSourceMap.symbols @@ -3,8 +3,8 @@ var x = 0; >x : Symbol(x, Decl(inlineSourceMap.ts, 0, 3)) console.log(x); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >x : Symbol(x, Decl(inlineSourceMap.ts, 0, 3)) diff --git a/tests/baselines/reference/inlineSourceMap2.symbols b/tests/baselines/reference/inlineSourceMap2.symbols index 3660b68bbe9..ab5b634a1fb 100644 --- a/tests/baselines/reference/inlineSourceMap2.symbols +++ b/tests/baselines/reference/inlineSourceMap2.symbols @@ -5,8 +5,8 @@ var x = 0; >x : Symbol(x, Decl(inlineSourceMap2.ts, 2, 3)) console.log(x); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >x : Symbol(x, Decl(inlineSourceMap2.ts, 2, 3)) diff --git a/tests/baselines/reference/inlineSources.symbols b/tests/baselines/reference/inlineSources.symbols index 0da73fed123..99e77ded779 100644 --- a/tests/baselines/reference/inlineSources.symbols +++ b/tests/baselines/reference/inlineSources.symbols @@ -3,9 +3,9 @@ var a = 0; >a : Symbol(a, Decl(a.ts, 0, 3)) console.log(a); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >a : Symbol(a, Decl(a.ts, 0, 3)) === tests/cases/compiler/b.ts === @@ -13,8 +13,8 @@ var b = 0; >b : Symbol(b, Decl(b.ts, 0, 3)) console.log(b); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >b : Symbol(b, Decl(b.ts, 0, 3)) diff --git a/tests/baselines/reference/inlineSources2.symbols b/tests/baselines/reference/inlineSources2.symbols index 0da73fed123..99e77ded779 100644 --- a/tests/baselines/reference/inlineSources2.symbols +++ b/tests/baselines/reference/inlineSources2.symbols @@ -3,9 +3,9 @@ var a = 0; >a : Symbol(a, Decl(a.ts, 0, 3)) console.log(a); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >a : Symbol(a, Decl(a.ts, 0, 3)) === tests/cases/compiler/b.ts === @@ -13,8 +13,8 @@ var b = 0; >b : Symbol(b, Decl(b.ts, 0, 3)) console.log(b); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >b : Symbol(b, Decl(b.ts, 0, 3)) diff --git a/tests/baselines/reference/innerBoundLambdaEmit.symbols b/tests/baselines/reference/innerBoundLambdaEmit.symbols index 8d886cc433a..384189fe729 100644 --- a/tests/baselines/reference/innerBoundLambdaEmit.symbols +++ b/tests/baselines/reference/innerBoundLambdaEmit.symbols @@ -9,8 +9,8 @@ module M { >bar : Symbol(bar, Decl(innerBoundLambdaEmit.ts, 3, 7)) } interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(innerBoundLambdaEmit.ts, 4, 1)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(innerBoundLambdaEmit.ts, 5, 16)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(innerBoundLambdaEmit.ts, 4, 1)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(innerBoundLambdaEmit.ts, 5, 16)) toFoo(): M.Foo >toFoo : Symbol(Array.toFoo, Decl(innerBoundLambdaEmit.ts, 5, 20)) diff --git a/tests/baselines/reference/innerTypeParameterShadowingOuterOne.symbols b/tests/baselines/reference/innerTypeParameterShadowingOuterOne.symbols index 106f40ef3a9..2b9802391f7 100644 --- a/tests/baselines/reference/innerTypeParameterShadowingOuterOne.symbols +++ b/tests/baselines/reference/innerTypeParameterShadowingOuterOne.symbols @@ -5,63 +5,63 @@ function f() { >f : Symbol(f, Decl(innerTypeParameterShadowingOuterOne.ts, 0, 0)) >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne.ts, 3, 11)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function g() { >g : Symbol(g, Decl(innerTypeParameterShadowingOuterOne.ts, 3, 30)) >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne.ts, 4, 15)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var x: T; >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne.ts, 5, 11)) >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne.ts, 4, 15)) x.toFixed(); ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne.ts, 5, 11)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) } var x: T; >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne.ts, 8, 7)) >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne.ts, 3, 11)) x.getDate(); ->x.getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>x.getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne.ts, 8, 7)) ->getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) } function f2() { >f2 : Symbol(f2, Decl(innerTypeParameterShadowingOuterOne.ts, 10, 1)) >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne.ts, 12, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >U : Symbol(U, Decl(innerTypeParameterShadowingOuterOne.ts, 12, 27)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function g() { >g : Symbol(g, Decl(innerTypeParameterShadowingOuterOne.ts, 12, 47)) >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne.ts, 13, 15)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(innerTypeParameterShadowingOuterOne.ts, 13, 32)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var x: U; >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne.ts, 14, 11)) >U : Symbol(U, Decl(innerTypeParameterShadowingOuterOne.ts, 13, 32)) x.toFixed(); ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne.ts, 14, 11)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) } var x: U; >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne.ts, 17, 7)) >U : Symbol(U, Decl(innerTypeParameterShadowingOuterOne.ts, 12, 27)) x.getDate(); ->x.getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>x.getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne.ts, 17, 7)) ->getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) } //function f2() { // function g() { diff --git a/tests/baselines/reference/innerTypeParameterShadowingOuterOne2.symbols b/tests/baselines/reference/innerTypeParameterShadowingOuterOne2.symbols index d262182c029..2d2e286d65b 100644 --- a/tests/baselines/reference/innerTypeParameterShadowingOuterOne2.symbols +++ b/tests/baselines/reference/innerTypeParameterShadowingOuterOne2.symbols @@ -5,21 +5,21 @@ class C { >C : Symbol(C, Decl(innerTypeParameterShadowingOuterOne2.ts, 0, 0)) >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne2.ts, 3, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) g() { >g : Symbol(C.g, Decl(innerTypeParameterShadowingOuterOne2.ts, 3, 25)) >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne2.ts, 4, 6)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var x: T; >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne2.ts, 5, 11)) >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne2.ts, 4, 6)) x.toFixed(); ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne2.ts, 5, 11)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) } h() { @@ -30,34 +30,34 @@ class C { >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne2.ts, 3, 8)) x.getDate(); ->x.getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>x.getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne2.ts, 10, 11)) ->getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) } } class C2 { >C2 : Symbol(C2, Decl(innerTypeParameterShadowingOuterOne2.ts, 13, 1)) >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne2.ts, 15, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >U : Symbol(U, Decl(innerTypeParameterShadowingOuterOne2.ts, 15, 24)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) g() { >g : Symbol(C2.g, Decl(innerTypeParameterShadowingOuterOne2.ts, 15, 42)) >T : Symbol(T, Decl(innerTypeParameterShadowingOuterOne2.ts, 16, 6)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(innerTypeParameterShadowingOuterOne2.ts, 16, 23)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var x: U; >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne2.ts, 17, 11)) >U : Symbol(U, Decl(innerTypeParameterShadowingOuterOne2.ts, 16, 23)) x.toFixed(); ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne2.ts, 17, 11)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) } h() { @@ -68,9 +68,9 @@ class C2 { >U : Symbol(U, Decl(innerTypeParameterShadowingOuterOne2.ts, 15, 24)) x.getDate(); ->x.getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>x.getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(innerTypeParameterShadowingOuterOne2.ts, 22, 11)) ->getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) } } //class C2 { diff --git a/tests/baselines/reference/instanceAndStaticDeclarations1.symbols b/tests/baselines/reference/instanceAndStaticDeclarations1.symbols index 270f911e86c..a85d80b780f 100644 --- a/tests/baselines/reference/instanceAndStaticDeclarations1.symbols +++ b/tests/baselines/reference/instanceAndStaticDeclarations1.symbols @@ -32,9 +32,9 @@ class Point { >y : Symbol(Point.y, Decl(instanceAndStaticDeclarations1.ts, 3, 33)) return Math.sqrt(dx * dx + dy * dy); ->Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) +>Math.sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) >dx : Symbol(dx, Decl(instanceAndStaticDeclarations1.ts, 5, 11)) >dx : Symbol(dx, Decl(instanceAndStaticDeclarations1.ts, 5, 11)) >dy : Symbol(dy, Decl(instanceAndStaticDeclarations1.ts, 6, 11)) diff --git a/tests/baselines/reference/instanceOfAssignability.symbols b/tests/baselines/reference/instanceOfAssignability.symbols index 382ee29e34a..d772d7cd17d 100644 --- a/tests/baselines/reference/instanceOfAssignability.symbols +++ b/tests/baselines/reference/instanceOfAssignability.symbols @@ -48,12 +48,12 @@ class Giraffe extends Mammal { neck; } function fn1(x: Array|Array|boolean) { >fn1 : Symbol(fn1, Decl(instanceOfAssignability.ts, 19, 38)) >x : Symbol(x, Decl(instanceOfAssignability.ts, 21, 13)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) if(x instanceof Array) { >x : Symbol(x, Decl(instanceOfAssignability.ts, 21, 13)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // 1.5: y: Array|Array // Want: y: Array|Array @@ -154,12 +154,12 @@ function fn6(x: Animal|Mammal) { function fn7(x: Array|Array) { >fn7 : Symbol(fn7, Decl(instanceOfAssignability.ts, 67, 1)) >x : Symbol(x, Decl(instanceOfAssignability.ts, 69, 13)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) if(x instanceof Array) { >x : Symbol(x, Decl(instanceOfAssignability.ts, 69, 13)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // 1.5: y: Array|Array // Want: y: Array|Array diff --git a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.symbols b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.symbols index 93785c5c063..0d430d108f2 100644 --- a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.symbols +++ b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.symbols @@ -83,7 +83,7 @@ var o1: {}; var o2: Object; >o2 : Symbol(o2, Decl(instanceofOperatorWithInvalidOperands.ts, 30, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var o3: C; >o3 : Symbol(o3, Decl(instanceofOperatorWithInvalidOperands.ts, 31, 3)) diff --git a/tests/baselines/reference/instanceofOperatorWithLHSIsObject.symbols b/tests/baselines/reference/instanceofOperatorWithLHSIsObject.symbols index 481e241d69d..65c87f0b764 100644 --- a/tests/baselines/reference/instanceofOperatorWithLHSIsObject.symbols +++ b/tests/baselines/reference/instanceofOperatorWithLHSIsObject.symbols @@ -7,14 +7,14 @@ var x1: any; var x2: Function; >x2 : Symbol(x2, Decl(instanceofOperatorWithLHSIsObject.ts, 3, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var a: {}; >a : Symbol(a, Decl(instanceofOperatorWithLHSIsObject.ts, 5, 3)) var b: Object; >b : Symbol(b, Decl(instanceofOperatorWithLHSIsObject.ts, 6, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var c: C; >c : Symbol(c, Decl(instanceofOperatorWithLHSIsObject.ts, 7, 3)) diff --git a/tests/baselines/reference/instanceofOperatorWithRHSIsSubtypeOfFunction.symbols b/tests/baselines/reference/instanceofOperatorWithRHSIsSubtypeOfFunction.symbols index 5d02ff54ae2..0653e11dbc9 100644 --- a/tests/baselines/reference/instanceofOperatorWithRHSIsSubtypeOfFunction.symbols +++ b/tests/baselines/reference/instanceofOperatorWithRHSIsSubtypeOfFunction.symbols @@ -1,14 +1,14 @@ === tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithRHSIsSubtypeOfFunction.ts === interface I extends Function { } >I : Symbol(I, Decl(instanceofOperatorWithRHSIsSubtypeOfFunction.ts, 0, 0)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var x: any; >x : Symbol(x, Decl(instanceofOperatorWithRHSIsSubtypeOfFunction.ts, 2, 3)) var f1: Function; >f1 : Symbol(f1, Decl(instanceofOperatorWithRHSIsSubtypeOfFunction.ts, 3, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var f2: I; >f2 : Symbol(f2, Decl(instanceofOperatorWithRHSIsSubtypeOfFunction.ts, 4, 3)) diff --git a/tests/baselines/reference/instanceofWithPrimitiveUnion.symbols b/tests/baselines/reference/instanceofWithPrimitiveUnion.symbols index f9ad5ac943c..ad5a316d94e 100644 --- a/tests/baselines/reference/instanceofWithPrimitiveUnion.symbols +++ b/tests/baselines/reference/instanceofWithPrimitiveUnion.symbols @@ -5,7 +5,7 @@ function test1(x: number | string) { if (x instanceof Object) { >x : Symbol(x, Decl(instanceofWithPrimitiveUnion.ts, 0, 15)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x; >x : Symbol(x, Decl(instanceofWithPrimitiveUnion.ts, 0, 15)) @@ -18,7 +18,7 @@ function test2(x: (number | string) | number) { if (x instanceof Object) { >x : Symbol(x, Decl(instanceofWithPrimitiveUnion.ts, 6, 15)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x; >x : Symbol(x, Decl(instanceofWithPrimitiveUnion.ts, 6, 15)) diff --git a/tests/baselines/reference/instantiateContextuallyTypedGenericThis.symbols b/tests/baselines/reference/instantiateContextuallyTypedGenericThis.symbols index 1db5b30dd0b..17e8f2b2c82 100644 --- a/tests/baselines/reference/instantiateContextuallyTypedGenericThis.symbols +++ b/tests/baselines/reference/instantiateContextuallyTypedGenericThis.symbols @@ -35,12 +35,12 @@ $.each(lines, function(dit) { >dit : Symbol(dit, Decl(instantiateContextuallyTypedGenericThis.ts, 8, 23)) return dit.charAt(0) + this.charAt(1); ->dit.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>dit.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >dit : Symbol(dit, Decl(instantiateContextuallyTypedGenericThis.ts, 8, 23)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) ->this.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) +>this.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >this : Symbol(this, Decl(instantiateContextuallyTypedGenericThis.ts, 2, 36)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) }); diff --git a/tests/baselines/reference/intTypeCheck.symbols b/tests/baselines/reference/intTypeCheck.symbols index 181387014b7..cc326647768 100644 --- a/tests/baselines/reference/intTypeCheck.symbols +++ b/tests/baselines/reference/intTypeCheck.symbols @@ -245,7 +245,7 @@ var obj1: i1 = { var obj2: i1 = new Object(); >obj2 : Symbol(obj2, Decl(intTypeCheck.ts, 98, 3)) >i1 : Symbol(i1, Decl(intTypeCheck.ts, 0, 0)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var obj3: i1 = new obj0; >obj3 : Symbol(obj3, Decl(intTypeCheck.ts, 99, 3)) @@ -295,7 +295,7 @@ var obj12: i2 = {}; var obj13: i2 = new Object(); >obj13 : Symbol(obj13, Decl(intTypeCheck.ts, 112, 3)) >i2 : Symbol(i2, Decl(intTypeCheck.ts, 10, 1)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var obj14: i2 = new obj11; >obj14 : Symbol(obj14, Decl(intTypeCheck.ts, 113, 3)) @@ -345,7 +345,7 @@ var obj23: i3 = {}; var obj24: i3 = new Object(); >obj24 : Symbol(obj24, Decl(intTypeCheck.ts, 126, 3)) >i3 : Symbol(i3, Decl(intTypeCheck.ts, 21, 1)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var obj25: i3 = new obj22; >obj25 : Symbol(obj25, Decl(intTypeCheck.ts, 127, 3)) @@ -395,7 +395,7 @@ var obj34: i4 = {}; var obj35: i4 = new Object(); >obj35 : Symbol(obj35, Decl(intTypeCheck.ts, 140, 3)) >i4 : Symbol(i4, Decl(intTypeCheck.ts, 31, 1)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var obj36: i4 = new obj33; >obj36 : Symbol(obj36, Decl(intTypeCheck.ts, 141, 3)) @@ -445,7 +445,7 @@ var obj45: i5 = {}; var obj46: i5 = new Object(); >obj46 : Symbol(obj46, Decl(intTypeCheck.ts, 154, 3)) >i5 : Symbol(i5, Decl(intTypeCheck.ts, 38, 1)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var obj47: i5 = new obj44; >obj47 : Symbol(obj47, Decl(intTypeCheck.ts, 155, 3)) @@ -495,7 +495,7 @@ var obj56: i6 = {}; var obj57: i6 = new Object(); >obj57 : Symbol(obj57, Decl(intTypeCheck.ts, 168, 3)) >i6 : Symbol(i6, Decl(intTypeCheck.ts, 39, 27)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var obj58: i6 = new obj55; >obj58 : Symbol(obj58, Decl(intTypeCheck.ts, 169, 3)) @@ -545,7 +545,7 @@ var obj67: i7 = {}; var obj68: i7 = new Object(); >obj68 : Symbol(obj68, Decl(intTypeCheck.ts, 182, 3)) >i7 : Symbol(i7, Decl(intTypeCheck.ts, 40, 27)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var obj69: i7 = new obj66; >obj69 : Symbol(obj69, Decl(intTypeCheck.ts, 183, 3)) @@ -596,7 +596,7 @@ var obj78: i8 = {}; var obj79: i8 = new Object(); >obj79 : Symbol(obj79, Decl(intTypeCheck.ts, 196, 3)) >i8 : Symbol(i8, Decl(intTypeCheck.ts, 41, 27)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var obj80: i8 = new obj77; >obj80 : Symbol(obj80, Decl(intTypeCheck.ts, 197, 3)) diff --git a/tests/baselines/reference/interfaceAssignmentCompat.symbols b/tests/baselines/reference/interfaceAssignmentCompat.symbols index 10583ab6190..6f65abdd151 100644 --- a/tests/baselines/reference/interfaceAssignmentCompat.symbols +++ b/tests/baselines/reference/interfaceAssignmentCompat.symbols @@ -94,25 +94,25 @@ module M { x=x.sort(CompareYeux); // parameter mismatch >x : Symbol(x, Decl(interfaceAssignmentCompat.ts, 24, 11)) ->x.sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>x.sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(interfaceAssignmentCompat.ts, 24, 11)) ->sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) >CompareYeux : Symbol(CompareYeux, Decl(interfaceAssignmentCompat.ts, 17, 5)) // type of z inferred from specialized array type var z=x.sort(CompareEyes); // ok >z : Symbol(z, Decl(interfaceAssignmentCompat.ts, 33, 11)) ->x.sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>x.sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(interfaceAssignmentCompat.ts, 24, 11)) ->sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) >CompareEyes : Symbol(CompareEyes, Decl(interfaceAssignmentCompat.ts, 13, 5)) for (var i=0,len=z.length;ii : Symbol(i, Decl(interfaceAssignmentCompat.ts, 35, 16)) >len : Symbol(len, Decl(interfaceAssignmentCompat.ts, 35, 21)) ->z.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>z.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >z : Symbol(z, Decl(interfaceAssignmentCompat.ts, 33, 11)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(interfaceAssignmentCompat.ts, 35, 16)) >len : Symbol(len, Decl(interfaceAssignmentCompat.ts, 35, 21)) >i : Symbol(i, Decl(interfaceAssignmentCompat.ts, 35, 16)) @@ -132,9 +132,9 @@ module M { for (var j=z.length=1;j>=0;j--) { >j : Symbol(j, Decl(interfaceAssignmentCompat.ts, 40, 16)) ->z.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>z.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >z : Symbol(z, Decl(interfaceAssignmentCompat.ts, 33, 11)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >j : Symbol(j, Decl(interfaceAssignmentCompat.ts, 40, 16)) >j : Symbol(j, Decl(interfaceAssignmentCompat.ts, 40, 16)) diff --git a/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.symbols b/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.symbols index 8e5f0413299..fb57799248a 100644 --- a/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.symbols +++ b/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.symbols @@ -7,14 +7,14 @@ if (typeof x !== "string") { >x : Symbol(x, Decl(interfaceDoesNotDependOnBaseTypes.ts, 0, 3)) x.push(""); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(interfaceDoesNotDependOnBaseTypes.ts, 0, 3)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) x.push([""]); ->x.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(interfaceDoesNotDependOnBaseTypes.ts, 0, 3)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } type StringTree = string | StringTreeArray; @@ -23,6 +23,6 @@ type StringTree = string | StringTreeArray; interface StringTreeArray extends Array { } >StringTreeArray : Symbol(StringTreeArray, Decl(interfaceDoesNotDependOnBaseTypes.ts, 6, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >StringTree : Symbol(StringTree, Decl(interfaceDoesNotDependOnBaseTypes.ts, 4, 1)) diff --git a/tests/baselines/reference/interfaceExtendingClass.symbols b/tests/baselines/reference/interfaceExtendingClass.symbols index 2adff6a9a03..aabb2952004 100644 --- a/tests/baselines/reference/interfaceExtendingClass.symbols +++ b/tests/baselines/reference/interfaceExtendingClass.symbols @@ -15,7 +15,7 @@ class Foo { } [x: string]: Object; >x : Symbol(x, Decl(interfaceExtendingClass.ts, 6, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } interface I extends Foo { diff --git a/tests/baselines/reference/interfaceExtendingClass2.symbols b/tests/baselines/reference/interfaceExtendingClass2.symbols index 0e3b1f863c3..a289c3cd2d5 100644 --- a/tests/baselines/reference/interfaceExtendingClass2.symbols +++ b/tests/baselines/reference/interfaceExtendingClass2.symbols @@ -15,7 +15,7 @@ class Foo { } [x: string]: Object; >x : Symbol(x, Decl(interfaceExtendingClass2.ts, 6, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } interface I2 extends Foo { // error diff --git a/tests/baselines/reference/interfaceExtendsObjectIntersection.symbols b/tests/baselines/reference/interfaceExtendsObjectIntersection.symbols index 5086fa2b55a..df239bba261 100644 --- a/tests/baselines/reference/interfaceExtendsObjectIntersection.symbols +++ b/tests/baselines/reference/interfaceExtendsObjectIntersection.symbols @@ -175,13 +175,13 @@ type Identifiable = { _id: string } & T; interface I20 extends Partial { x: string } >I20 : Symbol(I20, Decl(interfaceExtendsObjectIntersection.ts, 42, 43)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T1 : Symbol(T1, Decl(interfaceExtendsObjectIntersection.ts, 0, 0)) >x : Symbol(I20.x, Decl(interfaceExtendsObjectIntersection.ts, 44, 35)) interface I21 extends Readonly { x: string } >I21 : Symbol(I21, Decl(interfaceExtendsObjectIntersection.ts, 44, 47)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T1 : Symbol(T1, Decl(interfaceExtendsObjectIntersection.ts, 0, 0)) >x : Symbol(I21.x, Decl(interfaceExtendsObjectIntersection.ts, 45, 36)) @@ -201,14 +201,14 @@ interface I23 extends Identifiable { x: string } class C20 extends Constructor>() { x: string } >C20 : Symbol(C20, Decl(interfaceExtendsObjectIntersection.ts, 47, 67)) >Constructor : Symbol(Constructor, Decl(interfaceExtendsObjectIntersection.ts, 16, 34), Decl(interfaceExtendsObjectIntersection.ts, 14, 37)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T1 : Symbol(T1, Decl(interfaceExtendsObjectIntersection.ts, 0, 0)) >x : Symbol(C20.x, Decl(interfaceExtendsObjectIntersection.ts, 49, 46)) class C21 extends Constructor>() { x: string } >C21 : Symbol(C21, Decl(interfaceExtendsObjectIntersection.ts, 49, 58)) >Constructor : Symbol(Constructor, Decl(interfaceExtendsObjectIntersection.ts, 16, 34), Decl(interfaceExtendsObjectIntersection.ts, 14, 37)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T1 : Symbol(T1, Decl(interfaceExtendsObjectIntersection.ts, 0, 0)) >x : Symbol(C21.x, Decl(interfaceExtendsObjectIntersection.ts, 50, 47)) diff --git a/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.symbols b/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.symbols index bb3b22a660b..384cfb273ce 100644 --- a/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.symbols +++ b/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.symbols @@ -148,13 +148,13 @@ type Identifiable = { _id: string } & T; interface I20 extends Partial { a: string } >I20 : Symbol(I20, Decl(interfaceExtendsObjectIntersectionErrors.ts, 36, 43)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T1 : Symbol(T1, Decl(interfaceExtendsObjectIntersectionErrors.ts, 0, 0)) >a : Symbol(I20.a, Decl(interfaceExtendsObjectIntersectionErrors.ts, 38, 35)) interface I21 extends Readonly { a: string } >I21 : Symbol(I21, Decl(interfaceExtendsObjectIntersectionErrors.ts, 38, 47)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T1 : Symbol(T1, Decl(interfaceExtendsObjectIntersectionErrors.ts, 0, 0)) >a : Symbol(I21.a, Decl(interfaceExtendsObjectIntersectionErrors.ts, 39, 36)) diff --git a/tests/baselines/reference/interfaceWithOverloadedCallAndConstructSignatures.symbols b/tests/baselines/reference/interfaceWithOverloadedCallAndConstructSignatures.symbols index f544aac424d..d36241ba1c1 100644 --- a/tests/baselines/reference/interfaceWithOverloadedCallAndConstructSignatures.symbols +++ b/tests/baselines/reference/interfaceWithOverloadedCallAndConstructSignatures.symbols @@ -9,7 +9,7 @@ interface Foo { new (): any; new (x: string): Object; >x : Symbol(x, Decl(interfaceWithOverloadedCallAndConstructSignatures.ts, 5, 9)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var f: Foo; diff --git a/tests/baselines/reference/interfaceWithPropertyOfEveryType.symbols b/tests/baselines/reference/interfaceWithPropertyOfEveryType.symbols index 46b0edd378b..ee7afd9ec09 100644 --- a/tests/baselines/reference/interfaceWithPropertyOfEveryType.symbols +++ b/tests/baselines/reference/interfaceWithPropertyOfEveryType.symbols @@ -39,7 +39,7 @@ interface Foo { g: Object; >g : Symbol(Foo.g, Decl(interfaceWithPropertyOfEveryType.ts, 13, 16)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) h: (x: number) => number; >h : Symbol(Foo.h, Decl(interfaceWithPropertyOfEveryType.ts, 14, 14)) diff --git a/tests/baselines/reference/interfaceWithSpecializedCallAndConstructSignatures.symbols b/tests/baselines/reference/interfaceWithSpecializedCallAndConstructSignatures.symbols index 1d4a024294f..e464818d31d 100644 --- a/tests/baselines/reference/interfaceWithSpecializedCallAndConstructSignatures.symbols +++ b/tests/baselines/reference/interfaceWithSpecializedCallAndConstructSignatures.symbols @@ -13,7 +13,7 @@ interface Foo { new (x: string): Object; >x : Symbol(x, Decl(interfaceWithSpecializedCallAndConstructSignatures.ts, 5, 9)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var f: Foo; diff --git a/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.symbols b/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.symbols index 8dc4781c865..0ae586d27b9 100644 --- a/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.symbols +++ b/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.symbols @@ -5,9 +5,9 @@ interface Component

{ props: Readonly

& Readonly<{ children?: {} }>; >props : Symbol(Component.props, Decl(intersectionOfTypeVariableHasApparentSignatures.ts, 0, 24)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >P : Symbol(P, Decl(intersectionOfTypeVariableHasApparentSignatures.ts, 0, 20)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >children : Symbol(children, Decl(intersectionOfTypeVariableHasApparentSignatures.ts, 1, 35)) } diff --git a/tests/baselines/reference/intersectionTypeInference3.symbols b/tests/baselines/reference/intersectionTypeInference3.symbols index 86da422bab3..7c851010e01 100644 --- a/tests/baselines/reference/intersectionTypeInference3.symbols +++ b/tests/baselines/reference/intersectionTypeInference3.symbols @@ -9,9 +9,9 @@ type Nominal = Type & { [Symbol.species]: Kind; >[Symbol.species] : Symbol([Symbol.species], Decl(intersectionTypeInference3.ts, 2, 50)) ->Symbol.species : Symbol(SymbolConstructor.species, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->species : Symbol(SymbolConstructor.species, Decl(lib.es6.d.ts, --, --)) +>Symbol.species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >Kind : Symbol(Kind, Decl(intersectionTypeInference3.ts, 2, 13)) }; @@ -22,25 +22,25 @@ type A = Nominal<'A', string>; declare const a: Set; >a : Symbol(a, Decl(intersectionTypeInference3.ts, 8, 13)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >A : Symbol(A, Decl(intersectionTypeInference3.ts, 4, 2)) declare const b: Set; >b : Symbol(b, Decl(intersectionTypeInference3.ts, 9, 13)) ->Set : Symbol(Set, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >A : Symbol(A, Decl(intersectionTypeInference3.ts, 4, 2)) const c1 = Array.from(a).concat(Array.from(b)); >c1 : Symbol(c1, Decl(intersectionTypeInference3.ts, 11, 5)) ->Array.from(a).concat : Symbol(Array.concat, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Array.from(a).concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >a : Symbol(a, Decl(intersectionTypeInference3.ts, 8, 13)) ->concat : Symbol(Array.concat, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >b : Symbol(b, Decl(intersectionTypeInference3.ts, 9, 13)) // Simpler repro @@ -52,7 +52,7 @@ declare function from(): T[]; const c2: ReadonlyArray = from(); >c2 : Symbol(c2, Decl(intersectionTypeInference3.ts, 16, 5)) ->ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >A : Symbol(A, Decl(intersectionTypeInference3.ts, 4, 2)) >from : Symbol(from, Decl(intersectionTypeInference3.ts, 11, 47)) diff --git a/tests/baselines/reference/intersectionWithUnionConstraint.symbols b/tests/baselines/reference/intersectionWithUnionConstraint.symbols index 0b7d7455977..f481a5c5185 100644 --- a/tests/baselines/reference/intersectionWithUnionConstraint.symbols +++ b/tests/baselines/reference/intersectionWithUnionConstraint.symbols @@ -103,12 +103,12 @@ type Example = { [K in keyof T]: K extends keyof U ? UnexpectedError : type UnexpectedError = T >UnexpectedError : Symbol(UnexpectedError, Decl(intersectionWithUnionConstraint.ts, 30, 96)) >T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 32, 21)) ->PropertyKey : Symbol(PropertyKey, Decl(lib.d.ts, --, --)) +>PropertyKey : Symbol(PropertyKey, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 32, 21)) type NoErrorHere = T >NoErrorHere : Symbol(NoErrorHere, Decl(intersectionWithUnionConstraint.ts, 32, 47)) >T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 33, 17)) ->PropertyKey : Symbol(PropertyKey, Decl(lib.d.ts, --, --)) +>PropertyKey : Symbol(PropertyKey, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(intersectionWithUnionConstraint.ts, 33, 17)) diff --git a/tests/baselines/reference/invalidMultipleVariableDeclarations.symbols b/tests/baselines/reference/invalidMultipleVariableDeclarations.symbols index e1aa9e573df..f236ca3d907 100644 --- a/tests/baselines/reference/invalidMultipleVariableDeclarations.symbols +++ b/tests/baselines/reference/invalidMultipleVariableDeclarations.symbols @@ -62,9 +62,9 @@ module M { export function F2(x: number): string { return x.toString(); } >F2 : Symbol(F2, Decl(invalidMultipleVariableDeclarations.ts, 24, 5)) >x : Symbol(x, Decl(invalidMultipleVariableDeclarations.ts, 26, 23)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(invalidMultipleVariableDeclarations.ts, 26, 23)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } // all of these are errors @@ -127,7 +127,7 @@ var arr2 = [new D()]; var arr2 = new Array>(); >arr2 : Symbol(arr2, Decl(invalidMultipleVariableDeclarations.ts, 48, 3), Decl(invalidMultipleVariableDeclarations.ts, 49, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >D : Symbol(D, Decl(invalidMultipleVariableDeclarations.ts, 11, 1)) var m: typeof M; diff --git a/tests/baselines/reference/invalidReturnStatements.symbols b/tests/baselines/reference/invalidReturnStatements.symbols index 1d7a7cd3ec5..792ef8a8bed 100644 --- a/tests/baselines/reference/invalidReturnStatements.symbols +++ b/tests/baselines/reference/invalidReturnStatements.symbols @@ -11,7 +11,7 @@ function fn3(): boolean { } function fn4(): Date { } >fn4 : Symbol(fn4, Decl(invalidReturnStatements.ts, 3, 27)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function fn7(): any { } // should be valid: any includes void >fn7 : Symbol(fn7, Decl(invalidReturnStatements.ts, 4, 25)) diff --git a/tests/baselines/reference/invalidSplice.symbols b/tests/baselines/reference/invalidSplice.symbols index 5aceb66a227..7b3c388b92c 100644 --- a/tests/baselines/reference/invalidSplice.symbols +++ b/tests/baselines/reference/invalidSplice.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/invalidSplice.ts === var arr = [].splice(0,3,4,5); >arr : Symbol(arr, Decl(invalidSplice.ts, 0, 3)) ->[].splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>[].splice : Symbol(Array.splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>splice : Symbol(Array.splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/invalidSymbolInTypeParameter1.symbols b/tests/baselines/reference/invalidSymbolInTypeParameter1.symbols index c790577abd4..573cbc5e737 100644 --- a/tests/baselines/reference/invalidSymbolInTypeParameter1.symbols +++ b/tests/baselines/reference/invalidSymbolInTypeParameter1.symbols @@ -4,6 +4,6 @@ function test() { var cats = new Array(); // WAWA is not a valid type >cats : Symbol(cats, Decl(invalidSymbolInTypeParameter1.ts, 1, 7)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/isArray.symbols b/tests/baselines/reference/isArray.symbols index b60123e6b2e..411cb42918d 100644 --- a/tests/baselines/reference/isArray.symbols +++ b/tests/baselines/reference/isArray.symbols @@ -4,19 +4,19 @@ var maybeArray: number | number[]; if (Array.isArray(maybeArray)) { ->Array.isArray : Symbol(ArrayConstructor.isArray, Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->isArray : Symbol(ArrayConstructor.isArray, Decl(lib.d.ts, --, --)) +>Array.isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --)) >maybeArray : Symbol(maybeArray, Decl(isArray.ts, 0, 3)) maybeArray.length; // OK ->maybeArray.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>maybeArray.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >maybeArray : Symbol(maybeArray, Decl(isArray.ts, 0, 3)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) } else { maybeArray.toFixed(); // OK ->maybeArray.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>maybeArray.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >maybeArray : Symbol(maybeArray, Decl(isArray.ts, 0, 3)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/isDeclarationVisibleNodeKinds.symbols b/tests/baselines/reference/isDeclarationVisibleNodeKinds.symbols index ba54996df4f..870e96730b8 100644 --- a/tests/baselines/reference/isDeclarationVisibleNodeKinds.symbols +++ b/tests/baselines/reference/isDeclarationVisibleNodeKinds.symbols @@ -126,7 +126,7 @@ module schema { export function createValidator8(schema: any): Array<{ (data: T) : T}> { >createValidator8 : Symbol(createValidator8, Decl(isDeclarationVisibleNodeKinds.ts, 51, 15)) >schema : Symbol(schema, Decl(isDeclarationVisibleNodeKinds.ts, 52, 37)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(isDeclarationVisibleNodeKinds.ts, 52, 60)) >data : Symbol(data, Decl(isDeclarationVisibleNodeKinds.ts, 52, 63)) >T : Symbol(T, Decl(isDeclarationVisibleNodeKinds.ts, 52, 60)) diff --git a/tests/baselines/reference/isomorphicMappedTypeInference.symbols b/tests/baselines/reference/isomorphicMappedTypeInference.symbols index 48765d15260..d36ebc7a4a5 100644 --- a/tests/baselines/reference/isomorphicMappedTypeInference.symbols +++ b/tests/baselines/reference/isomorphicMappedTypeInference.symbols @@ -466,7 +466,7 @@ const foo = (object: T, partial: Partial) => object; >object : Symbol(object, Decl(isomorphicMappedTypeInference.ts, 147, 16)) >T : Symbol(T, Decl(isomorphicMappedTypeInference.ts, 147, 13)) >partial : Symbol(partial, Decl(isomorphicMappedTypeInference.ts, 147, 26)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(isomorphicMappedTypeInference.ts, 147, 13)) >object : Symbol(object, Decl(isomorphicMappedTypeInference.ts, 147, 16)) diff --git a/tests/baselines/reference/iterableArrayPattern1.symbols b/tests/baselines/reference/iterableArrayPattern1.symbols index 1c291ea5ca9..d1f5742aa80 100644 --- a/tests/baselines/reference/iterableArrayPattern1.symbols +++ b/tests/baselines/reference/iterableArrayPattern1.symbols @@ -8,7 +8,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iterableArrayPattern1.ts, 2, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iterableArrayPattern1.ts, 3, 28)) @@ -18,9 +18,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iterableArrayPattern1.ts, 6, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iterableArrayPattern1.ts, 0, 0)) diff --git a/tests/baselines/reference/iterableArrayPattern10.symbols b/tests/baselines/reference/iterableArrayPattern10.symbols index de90c991797..b95d9a9d4d2 100644 --- a/tests/baselines/reference/iterableArrayPattern10.symbols +++ b/tests/baselines/reference/iterableArrayPattern10.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern10.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern10.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern11.symbols b/tests/baselines/reference/iterableArrayPattern11.symbols index 9ba151f6a80..d9649a6709e 100644 --- a/tests/baselines/reference/iterableArrayPattern11.symbols +++ b/tests/baselines/reference/iterableArrayPattern11.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern11.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern11.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern12.symbols b/tests/baselines/reference/iterableArrayPattern12.symbols index 24231021232..4d9cf41510f 100644 --- a/tests/baselines/reference/iterableArrayPattern12.symbols +++ b/tests/baselines/reference/iterableArrayPattern12.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern12.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern12.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern13.symbols b/tests/baselines/reference/iterableArrayPattern13.symbols index ebf4fac4eb2..225d588ebf6 100644 --- a/tests/baselines/reference/iterableArrayPattern13.symbols +++ b/tests/baselines/reference/iterableArrayPattern13.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern13.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern13.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern14.symbols b/tests/baselines/reference/iterableArrayPattern14.symbols index 2a41568d707..bba150cf8ad 100644 --- a/tests/baselines/reference/iterableArrayPattern14.symbols +++ b/tests/baselines/reference/iterableArrayPattern14.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern14.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern14.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern15.symbols b/tests/baselines/reference/iterableArrayPattern15.symbols index 0da31df6e24..c90e99a2328 100644 --- a/tests/baselines/reference/iterableArrayPattern15.symbols +++ b/tests/baselines/reference/iterableArrayPattern15.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern15.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern15.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern16.symbols b/tests/baselines/reference/iterableArrayPattern16.symbols index 1d24f89c05e..571d00d9be5 100644 --- a/tests/baselines/reference/iterableArrayPattern16.symbols +++ b/tests/baselines/reference/iterableArrayPattern16.symbols @@ -38,9 +38,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern16.ts, 10, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern16.ts, 3, 27)) @@ -66,9 +66,9 @@ class FooIteratorIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIteratorIterator[Symbol.iterator], Decl(iterableArrayPattern16.ts, 23, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIteratorIterator, Decl(iterableArrayPattern16.ts, 15, 1)) diff --git a/tests/baselines/reference/iterableArrayPattern17.symbols b/tests/baselines/reference/iterableArrayPattern17.symbols index 32744e38735..48d5a331266 100644 --- a/tests/baselines/reference/iterableArrayPattern17.symbols +++ b/tests/baselines/reference/iterableArrayPattern17.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern17.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern17.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern18.symbols b/tests/baselines/reference/iterableArrayPattern18.symbols index 647e73d2f6a..c5fd4997619 100644 --- a/tests/baselines/reference/iterableArrayPattern18.symbols +++ b/tests/baselines/reference/iterableArrayPattern18.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern18.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern18.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern19.symbols b/tests/baselines/reference/iterableArrayPattern19.symbols index a36d28a3f88..1dbfbffb33d 100644 --- a/tests/baselines/reference/iterableArrayPattern19.symbols +++ b/tests/baselines/reference/iterableArrayPattern19.symbols @@ -27,9 +27,9 @@ class FooArrayIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooArrayIterator[Symbol.iterator], Decl(iterableArrayPattern19.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooArrayIterator, Decl(iterableArrayPattern19.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern2.symbols b/tests/baselines/reference/iterableArrayPattern2.symbols index 46d7d0a167c..dae63cd01f4 100644 --- a/tests/baselines/reference/iterableArrayPattern2.symbols +++ b/tests/baselines/reference/iterableArrayPattern2.symbols @@ -8,7 +8,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iterableArrayPattern2.ts, 2, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iterableArrayPattern2.ts, 3, 28)) @@ -18,9 +18,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iterableArrayPattern2.ts, 6, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iterableArrayPattern2.ts, 0, 0)) diff --git a/tests/baselines/reference/iterableArrayPattern20.symbols b/tests/baselines/reference/iterableArrayPattern20.symbols index 8e304c88492..f3dc96cd8dc 100644 --- a/tests/baselines/reference/iterableArrayPattern20.symbols +++ b/tests/baselines/reference/iterableArrayPattern20.symbols @@ -27,9 +27,9 @@ class FooArrayIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooArrayIterator[Symbol.iterator], Decl(iterableArrayPattern20.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooArrayIterator, Decl(iterableArrayPattern20.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern25.symbols b/tests/baselines/reference/iterableArrayPattern25.symbols index a0a84b0898c..d009a69ca93 100644 --- a/tests/baselines/reference/iterableArrayPattern25.symbols +++ b/tests/baselines/reference/iterableArrayPattern25.symbols @@ -8,5 +8,5 @@ function takeFirstTwoEntries(...[[k1, v1], [k2, v2]]) { } takeFirstTwoEntries(new Map([["", 0], ["hello", 1]])); >takeFirstTwoEntries : Symbol(takeFirstTwoEntries, Decl(iterableArrayPattern25.ts, 0, 0)) ->Map : Symbol(Map, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/iterableArrayPattern26.symbols b/tests/baselines/reference/iterableArrayPattern26.symbols index cac9d55522e..b70f7a8b58b 100644 --- a/tests/baselines/reference/iterableArrayPattern26.symbols +++ b/tests/baselines/reference/iterableArrayPattern26.symbols @@ -8,5 +8,5 @@ function takeFirstTwoEntries(...[[k1, v1], [k2, v2]]: [string, number][]) { } takeFirstTwoEntries(new Map([["", 0], ["hello", 1]])); >takeFirstTwoEntries : Symbol(takeFirstTwoEntries, Decl(iterableArrayPattern26.ts, 0, 0)) ->Map : Symbol(Map, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/iterableArrayPattern27.symbols b/tests/baselines/reference/iterableArrayPattern27.symbols index ec46e3ba8dc..347d3c14317 100644 --- a/tests/baselines/reference/iterableArrayPattern27.symbols +++ b/tests/baselines/reference/iterableArrayPattern27.symbols @@ -8,5 +8,5 @@ function takeFirstTwoEntries(...[[k1, v1], [k2, v2]]: [string, number][]) { } takeFirstTwoEntries(...new Map([["", 0], ["hello", 1]])); >takeFirstTwoEntries : Symbol(takeFirstTwoEntries, Decl(iterableArrayPattern27.ts, 0, 0)) ->Map : Symbol(Map, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/iterableArrayPattern28.errors.txt b/tests/baselines/reference/iterableArrayPattern28.errors.txt index ac744111b45..7ca750cd81f 100644 --- a/tests/baselines/reference/iterableArrayPattern28.errors.txt +++ b/tests/baselines/reference/iterableArrayPattern28.errors.txt @@ -1,14 +1,11 @@ tests/cases/conformance/es6/destructuring/iterableArrayPattern28.ts(1,33): error TS2501: A rest element cannot contain a binding pattern. -tests/cases/conformance/es6/destructuring/iterableArrayPattern28.ts(2,32): error TS2345: Argument of type '([string, number] | [string, boolean])[]' is not assignable to parameter of type 'Iterable<[string, number]>'. - Types of property '[Symbol.iterator]' are incompatible. - Type '() => IterableIterator<[string, number] | [string, boolean]>' is not assignable to type '() => Iterator<[string, number]>'. - Type 'IterableIterator<[string, number] | [string, boolean]>' is not assignable to type 'Iterator<[string, number]>'. - Types of property 'next' are incompatible. - Type '(value?: any) => IteratorResult<[string, number] | [string, boolean]>' is not assignable to type '(value?: any) => IteratorResult<[string, number]>'. - Type 'IteratorResult<[string, number] | [string, boolean]>' is not assignable to type 'IteratorResult<[string, number]>'. - Type '[string, number] | [string, boolean]' is not assignable to type '[string, number]'. - Type '[string, boolean]' is not assignable to type '[string, number]'. - Type 'boolean' is not assignable to type 'number'. +tests/cases/conformance/es6/destructuring/iterableArrayPattern28.ts(2,32): error TS2345: Argument of type '([string, number] | [string, boolean])[]' is not assignable to parameter of type 'ReadonlyArray<[string, number]>'. + Types of property 'concat' are incompatible. + Type '{ (...items: ConcatArray<[string, number] | [string, boolean]>[]): ([string, number] | [string, boolean])[]; (...items: ([string, number] | [string, boolean] | ConcatArray<[string, number] | [string, boolean]>)[]): ([string, number] | [string, boolean])[]; }' is not assignable to type '{ (...items: ConcatArray<[string, number]>[]): [string, number][]; (...items: ([string, number] | ConcatArray<[string, number]>)[]): [string, number][]; }'. + Type '([string, number] | [string, boolean])[]' is not assignable to type '[string, number][]'. + Type '[string, number] | [string, boolean]' is not assignable to type '[string, number]'. + Type '[string, boolean]' is not assignable to type '[string, number]'. + Type 'boolean' is not assignable to type 'number'. ==== tests/cases/conformance/es6/destructuring/iterableArrayPattern28.ts (2 errors) ==== @@ -17,13 +14,10 @@ tests/cases/conformance/es6/destructuring/iterableArrayPattern28.ts(2,32): error !!! error TS2501: A rest element cannot contain a binding pattern. takeFirstTwoEntries(...new Map([["", 0], ["hello", true]])); ~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '([string, number] | [string, boolean])[]' is not assignable to parameter of type 'Iterable<[string, number]>'. -!!! error TS2345: Types of property '[Symbol.iterator]' are incompatible. -!!! error TS2345: Type '() => IterableIterator<[string, number] | [string, boolean]>' is not assignable to type '() => Iterator<[string, number]>'. -!!! error TS2345: Type 'IterableIterator<[string, number] | [string, boolean]>' is not assignable to type 'Iterator<[string, number]>'. -!!! error TS2345: Types of property 'next' are incompatible. -!!! error TS2345: Type '(value?: any) => IteratorResult<[string, number] | [string, boolean]>' is not assignable to type '(value?: any) => IteratorResult<[string, number]>'. -!!! error TS2345: Type 'IteratorResult<[string, number] | [string, boolean]>' is not assignable to type 'IteratorResult<[string, number]>'. -!!! error TS2345: Type '[string, number] | [string, boolean]' is not assignable to type '[string, number]'. -!!! error TS2345: Type '[string, boolean]' is not assignable to type '[string, number]'. -!!! error TS2345: Type 'boolean' is not assignable to type 'number'. \ No newline at end of file +!!! error TS2345: Argument of type '([string, number] | [string, boolean])[]' is not assignable to parameter of type 'ReadonlyArray<[string, number]>'. +!!! error TS2345: Types of property 'concat' are incompatible. +!!! error TS2345: Type '{ (...items: ConcatArray<[string, number] | [string, boolean]>[]): ([string, number] | [string, boolean])[]; (...items: ([string, number] | [string, boolean] | ConcatArray<[string, number] | [string, boolean]>)[]): ([string, number] | [string, boolean])[]; }' is not assignable to type '{ (...items: ConcatArray<[string, number]>[]): [string, number][]; (...items: ([string, number] | ConcatArray<[string, number]>)[]): [string, number][]; }'. +!!! error TS2345: Type '([string, number] | [string, boolean])[]' is not assignable to type '[string, number][]'. +!!! error TS2345: Type '[string, number] | [string, boolean]' is not assignable to type '[string, number]'. +!!! error TS2345: Type '[string, boolean]' is not assignable to type '[string, number]'. +!!! error TS2345: Type 'boolean' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/iterableArrayPattern28.symbols b/tests/baselines/reference/iterableArrayPattern28.symbols index 36034cd85fe..ef1ba751749 100644 --- a/tests/baselines/reference/iterableArrayPattern28.symbols +++ b/tests/baselines/reference/iterableArrayPattern28.symbols @@ -8,5 +8,5 @@ function takeFirstTwoEntries(...[[k1, v1], [k2, v2]]: [string, number][]) { } takeFirstTwoEntries(...new Map([["", 0], ["hello", true]])); >takeFirstTwoEntries : Symbol(takeFirstTwoEntries, Decl(iterableArrayPattern28.ts, 0, 0)) ->Map : Symbol(Map, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/iterableArrayPattern29.symbols b/tests/baselines/reference/iterableArrayPattern29.symbols index aca17d23757..a3193250345 100644 --- a/tests/baselines/reference/iterableArrayPattern29.symbols +++ b/tests/baselines/reference/iterableArrayPattern29.symbols @@ -8,5 +8,5 @@ function takeFirstTwoEntries(...[[k1, v1], [k2, v2]]: [string, number][]) { } takeFirstTwoEntries(...new Map([["", true], ["hello", true]])); >takeFirstTwoEntries : Symbol(takeFirstTwoEntries, Decl(iterableArrayPattern29.ts, 0, 0)) ->Map : Symbol(Map, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/iterableArrayPattern3.symbols b/tests/baselines/reference/iterableArrayPattern3.symbols index 4a5fd7a4c7b..83e7593aa9c 100644 --- a/tests/baselines/reference/iterableArrayPattern3.symbols +++ b/tests/baselines/reference/iterableArrayPattern3.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern3.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern3.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern30.symbols b/tests/baselines/reference/iterableArrayPattern30.symbols index 1d0ccdee791..32fa9bdeda1 100644 --- a/tests/baselines/reference/iterableArrayPattern30.symbols +++ b/tests/baselines/reference/iterableArrayPattern30.symbols @@ -4,5 +4,5 @@ const [[k1, v1], [k2, v2]] = new Map([["", true], ["hello", true]]) >v1 : Symbol(v1, Decl(iterableArrayPattern30.ts, 0, 11)) >k2 : Symbol(k2, Decl(iterableArrayPattern30.ts, 0, 18)) >v2 : Symbol(v2, Decl(iterableArrayPattern30.ts, 0, 21)) ->Map : Symbol(Map, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/iterableArrayPattern4.symbols b/tests/baselines/reference/iterableArrayPattern4.symbols index 30be64ecad5..79351fe4e85 100644 --- a/tests/baselines/reference/iterableArrayPattern4.symbols +++ b/tests/baselines/reference/iterableArrayPattern4.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern4.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern4.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern5.symbols b/tests/baselines/reference/iterableArrayPattern5.symbols index c2c0ca67a72..853085b9da6 100644 --- a/tests/baselines/reference/iterableArrayPattern5.symbols +++ b/tests/baselines/reference/iterableArrayPattern5.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern5.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern5.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern6.symbols b/tests/baselines/reference/iterableArrayPattern6.symbols index 04d107fa43c..f36d46fbdc9 100644 --- a/tests/baselines/reference/iterableArrayPattern6.symbols +++ b/tests/baselines/reference/iterableArrayPattern6.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern6.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern6.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern7.symbols b/tests/baselines/reference/iterableArrayPattern7.symbols index 4fa6cb88522..9500f619690 100644 --- a/tests/baselines/reference/iterableArrayPattern7.symbols +++ b/tests/baselines/reference/iterableArrayPattern7.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern7.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern7.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern8.symbols b/tests/baselines/reference/iterableArrayPattern8.symbols index ea7b528e10e..a43a7261bcd 100644 --- a/tests/baselines/reference/iterableArrayPattern8.symbols +++ b/tests/baselines/reference/iterableArrayPattern8.symbols @@ -27,9 +27,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern8.ts, 8, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern8.ts, 1, 27)) diff --git a/tests/baselines/reference/iterableArrayPattern9.symbols b/tests/baselines/reference/iterableArrayPattern9.symbols index 680233a683b..a69992cf503 100644 --- a/tests/baselines/reference/iterableArrayPattern9.symbols +++ b/tests/baselines/reference/iterableArrayPattern9.symbols @@ -33,9 +33,9 @@ class FooIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern9.ts, 9, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern9.ts, 2, 27)) diff --git a/tests/baselines/reference/iterableContextualTyping1.symbols b/tests/baselines/reference/iterableContextualTyping1.symbols index 29e3a5b2070..7a7f77e7898 100644 --- a/tests/baselines/reference/iterableContextualTyping1.symbols +++ b/tests/baselines/reference/iterableContextualTyping1.symbols @@ -1,10 +1,10 @@ === tests/cases/conformance/expressions/contextualTyping/iterableContextualTyping1.ts === var iter: Iterable<(x: string) => number> = [s => s.length]; >iter : Symbol(iter, Decl(iterableContextualTyping1.ts, 0, 3)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(iterableContextualTyping1.ts, 0, 20)) >s : Symbol(s, Decl(iterableContextualTyping1.ts, 0, 45)) ->s.length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(iterableContextualTyping1.ts, 0, 45)) ->length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/iteratorSpreadInArray.symbols b/tests/baselines/reference/iteratorSpreadInArray.symbols index cafe04e07b7..2f4eca4da05 100644 --- a/tests/baselines/reference/iteratorSpreadInArray.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray.symbols @@ -8,7 +8,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInArray.ts, 2, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInArray.ts, 3, 28)) @@ -18,9 +18,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInArray.ts, 6, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInArray.ts, 0, 0)) diff --git a/tests/baselines/reference/iteratorSpreadInArray10.symbols b/tests/baselines/reference/iteratorSpreadInArray10.symbols index 54667e6a449..e44b8534e80 100644 --- a/tests/baselines/reference/iteratorSpreadInArray10.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray10.symbols @@ -4,9 +4,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInArray10.ts, 0, 22)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInArray10.ts, 0, 0)) diff --git a/tests/baselines/reference/iteratorSpreadInArray11.symbols b/tests/baselines/reference/iteratorSpreadInArray11.symbols index 70d46097c90..6194a8305aa 100644 --- a/tests/baselines/reference/iteratorSpreadInArray11.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray11.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/spread/iteratorSpreadInArray11.ts === var iter: Iterable; >iter : Symbol(iter, Decl(iteratorSpreadInArray11.ts, 0, 3)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) var array = [...iter]; >array : Symbol(array, Decl(iteratorSpreadInArray11.ts, 1, 3)) diff --git a/tests/baselines/reference/iteratorSpreadInArray2.symbols b/tests/baselines/reference/iteratorSpreadInArray2.symbols index 7c4b4cee3e7..4612f557650 100644 --- a/tests/baselines/reference/iteratorSpreadInArray2.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray2.symbols @@ -8,7 +8,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInArray2.ts, 2, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInArray2.ts, 3, 28)) @@ -18,9 +18,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInArray2.ts, 6, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInArray2.ts, 0, 0)) @@ -45,9 +45,9 @@ class NumberIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(NumberIterator[Symbol.iterator], Decl(iteratorSpreadInArray2.ts, 19, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(NumberIterator, Decl(iteratorSpreadInArray2.ts, 11, 1)) diff --git a/tests/baselines/reference/iteratorSpreadInArray3.symbols b/tests/baselines/reference/iteratorSpreadInArray3.symbols index 94c08ba6cd5..8d2d6de3f69 100644 --- a/tests/baselines/reference/iteratorSpreadInArray3.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray3.symbols @@ -8,7 +8,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInArray3.ts, 2, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInArray3.ts, 3, 28)) @@ -18,9 +18,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInArray3.ts, 6, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInArray3.ts, 0, 0)) diff --git a/tests/baselines/reference/iteratorSpreadInArray4.symbols b/tests/baselines/reference/iteratorSpreadInArray4.symbols index e4a4443d324..e96f6f90ffe 100644 --- a/tests/baselines/reference/iteratorSpreadInArray4.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray4.symbols @@ -8,7 +8,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInArray4.ts, 2, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInArray4.ts, 3, 28)) @@ -18,9 +18,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInArray4.ts, 6, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInArray4.ts, 0, 0)) diff --git a/tests/baselines/reference/iteratorSpreadInArray5.symbols b/tests/baselines/reference/iteratorSpreadInArray5.symbols index 3212f96640d..00507a42fdb 100644 --- a/tests/baselines/reference/iteratorSpreadInArray5.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray5.symbols @@ -8,7 +8,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInArray5.ts, 2, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInArray5.ts, 3, 28)) @@ -18,9 +18,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInArray5.ts, 6, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInArray5.ts, 0, 0)) diff --git a/tests/baselines/reference/iteratorSpreadInArray6.symbols b/tests/baselines/reference/iteratorSpreadInArray6.symbols index 9096891546e..0903693a8bc 100644 --- a/tests/baselines/reference/iteratorSpreadInArray6.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray6.symbols @@ -8,7 +8,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInArray6.ts, 2, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInArray6.ts, 3, 28)) @@ -18,9 +18,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInArray6.ts, 6, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInArray6.ts, 0, 0)) @@ -31,8 +31,8 @@ var array: number[] = [0, 1]; >array : Symbol(array, Decl(iteratorSpreadInArray6.ts, 13, 3)) array.concat([...new SymbolIterator]); ->array.concat : Symbol(Array.concat, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>array.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >array : Symbol(array, Decl(iteratorSpreadInArray6.ts, 13, 3)) ->concat : Symbol(Array.concat, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >SymbolIterator : Symbol(SymbolIterator, Decl(iteratorSpreadInArray6.ts, 0, 0)) diff --git a/tests/baselines/reference/iteratorSpreadInArray7.symbols b/tests/baselines/reference/iteratorSpreadInArray7.symbols index 622534e8846..15bd761ea32 100644 --- a/tests/baselines/reference/iteratorSpreadInArray7.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray7.symbols @@ -8,7 +8,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInArray7.ts, 2, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInArray7.ts, 3, 28)) @@ -18,9 +18,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInArray7.ts, 6, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInArray7.ts, 0, 0)) @@ -31,8 +31,8 @@ var array: symbol[]; >array : Symbol(array, Decl(iteratorSpreadInArray7.ts, 13, 3)) array.concat([...new SymbolIterator]); ->array.concat : Symbol(Array.concat, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>array.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >array : Symbol(array, Decl(iteratorSpreadInArray7.ts, 13, 3)) ->concat : Symbol(Array.concat, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >SymbolIterator : Symbol(SymbolIterator, Decl(iteratorSpreadInArray7.ts, 0, 0)) diff --git a/tests/baselines/reference/iteratorSpreadInArray8.symbols b/tests/baselines/reference/iteratorSpreadInArray8.symbols index 678ede19e93..18f113095e6 100644 --- a/tests/baselines/reference/iteratorSpreadInArray8.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray8.symbols @@ -8,7 +8,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInArray8.ts, 2, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInArray8.ts, 3, 28)) diff --git a/tests/baselines/reference/iteratorSpreadInArray9.symbols b/tests/baselines/reference/iteratorSpreadInArray9.symbols index 6ce0c14067a..0d9113ed88a 100644 --- a/tests/baselines/reference/iteratorSpreadInArray9.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray9.symbols @@ -8,16 +8,16 @@ class SymbolIterator { return { value: Symbol() >value : Symbol(value, Decl(iteratorSpreadInArray9.ts, 2, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) }; } [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInArray9.ts, 5, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInArray9.ts, 0, 0)) diff --git a/tests/baselines/reference/iteratorSpreadInCall.symbols b/tests/baselines/reference/iteratorSpreadInCall.symbols index cc3d2f1ab68..38a1967c9a4 100644 --- a/tests/baselines/reference/iteratorSpreadInCall.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall.symbols @@ -12,7 +12,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInCall.ts, 3, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInCall.ts, 4, 28)) @@ -22,9 +22,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInCall.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInCall.ts, 0, 27)) diff --git a/tests/baselines/reference/iteratorSpreadInCall10.symbols b/tests/baselines/reference/iteratorSpreadInCall10.symbols index 00737e61937..fd063375082 100644 --- a/tests/baselines/reference/iteratorSpreadInCall10.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall10.symbols @@ -15,7 +15,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInCall10.ts, 3, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInCall10.ts, 4, 28)) @@ -25,9 +25,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInCall10.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInCall10.ts, 0, 39)) diff --git a/tests/baselines/reference/iteratorSpreadInCall11.symbols b/tests/baselines/reference/iteratorSpreadInCall11.symbols index 885ee9a3908..ea9c65316da 100644 --- a/tests/baselines/reference/iteratorSpreadInCall11.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall11.symbols @@ -15,7 +15,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInCall11.ts, 3, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInCall11.ts, 4, 28)) @@ -25,9 +25,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInCall11.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInCall11.ts, 0, 42)) diff --git a/tests/baselines/reference/iteratorSpreadInCall12.symbols b/tests/baselines/reference/iteratorSpreadInCall12.symbols index 29ecd1b2c31..935f37bef2a 100644 --- a/tests/baselines/reference/iteratorSpreadInCall12.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall12.symbols @@ -17,7 +17,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInCall12.ts, 6, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInCall12.ts, 7, 28)) @@ -27,9 +27,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInCall12.ts, 10, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInCall12.ts, 2, 1)) @@ -54,9 +54,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(iteratorSpreadInCall12.ts, 23, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(iteratorSpreadInCall12.ts, 15, 1)) diff --git a/tests/baselines/reference/iteratorSpreadInCall2.symbols b/tests/baselines/reference/iteratorSpreadInCall2.symbols index 22832d488be..eaddd6b04f1 100644 --- a/tests/baselines/reference/iteratorSpreadInCall2.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall2.symbols @@ -12,7 +12,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInCall2.ts, 3, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInCall2.ts, 4, 28)) @@ -22,9 +22,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInCall2.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInCall2.ts, 0, 29)) diff --git a/tests/baselines/reference/iteratorSpreadInCall3.symbols b/tests/baselines/reference/iteratorSpreadInCall3.symbols index 67780ce3b05..154748b561d 100644 --- a/tests/baselines/reference/iteratorSpreadInCall3.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall3.symbols @@ -12,7 +12,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInCall3.ts, 3, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInCall3.ts, 4, 28)) @@ -22,9 +22,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInCall3.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInCall3.ts, 0, 32)) diff --git a/tests/baselines/reference/iteratorSpreadInCall4.symbols b/tests/baselines/reference/iteratorSpreadInCall4.symbols index 571695c14c1..bf50443f40e 100644 --- a/tests/baselines/reference/iteratorSpreadInCall4.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall4.symbols @@ -13,7 +13,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInCall4.ts, 3, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInCall4.ts, 4, 28)) @@ -23,9 +23,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInCall4.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInCall4.ts, 0, 44)) diff --git a/tests/baselines/reference/iteratorSpreadInCall5.symbols b/tests/baselines/reference/iteratorSpreadInCall5.symbols index 7548708d1eb..f3be9a28557 100644 --- a/tests/baselines/reference/iteratorSpreadInCall5.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall5.symbols @@ -12,7 +12,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInCall5.ts, 3, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInCall5.ts, 4, 28)) @@ -22,9 +22,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInCall5.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInCall5.ts, 0, 43)) @@ -49,9 +49,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(iteratorSpreadInCall5.ts, 20, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(iteratorSpreadInCall5.ts, 12, 1)) diff --git a/tests/baselines/reference/iteratorSpreadInCall6.symbols b/tests/baselines/reference/iteratorSpreadInCall6.symbols index 47f652a1422..7eff7628534 100644 --- a/tests/baselines/reference/iteratorSpreadInCall6.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall6.symbols @@ -12,7 +12,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInCall6.ts, 3, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInCall6.ts, 4, 28)) @@ -22,9 +22,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInCall6.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInCall6.ts, 0, 43)) @@ -49,9 +49,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(iteratorSpreadInCall6.ts, 20, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(iteratorSpreadInCall6.ts, 12, 1)) diff --git a/tests/baselines/reference/iteratorSpreadInCall7.symbols b/tests/baselines/reference/iteratorSpreadInCall7.symbols index 24c001cd273..98c93f98b64 100644 --- a/tests/baselines/reference/iteratorSpreadInCall7.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall7.symbols @@ -15,7 +15,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInCall7.ts, 3, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInCall7.ts, 4, 28)) @@ -25,9 +25,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInCall7.ts, 7, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInCall7.ts, 0, 43)) @@ -52,9 +52,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(iteratorSpreadInCall7.ts, 20, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(iteratorSpreadInCall7.ts, 12, 1)) diff --git a/tests/baselines/reference/iteratorSpreadInCall8.symbols b/tests/baselines/reference/iteratorSpreadInCall8.symbols index d222767f40e..7c547419d17 100644 --- a/tests/baselines/reference/iteratorSpreadInCall8.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall8.symbols @@ -17,7 +17,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInCall8.ts, 6, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInCall8.ts, 7, 28)) @@ -27,9 +27,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInCall8.ts, 10, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInCall8.ts, 2, 1)) @@ -54,9 +54,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(iteratorSpreadInCall8.ts, 23, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(iteratorSpreadInCall8.ts, 15, 1)) diff --git a/tests/baselines/reference/iteratorSpreadInCall9.symbols b/tests/baselines/reference/iteratorSpreadInCall9.symbols index 20614e4e915..5db65829f13 100644 --- a/tests/baselines/reference/iteratorSpreadInCall9.symbols +++ b/tests/baselines/reference/iteratorSpreadInCall9.symbols @@ -17,7 +17,7 @@ class SymbolIterator { return { value: Symbol(), >value : Symbol(value, Decl(iteratorSpreadInCall9.ts, 6, 16)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) done: false >done : Symbol(done, Decl(iteratorSpreadInCall9.ts, 7, 28)) @@ -27,9 +27,9 @@ class SymbolIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(SymbolIterator[Symbol.iterator], Decl(iteratorSpreadInCall9.ts, 10, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(SymbolIterator, Decl(iteratorSpreadInCall9.ts, 2, 1)) @@ -54,9 +54,9 @@ class StringIterator { [Symbol.iterator]() { >[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(iteratorSpreadInCall9.ts, 23, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; >this : Symbol(StringIterator, Decl(iteratorSpreadInCall9.ts, 15, 1)) diff --git a/tests/baselines/reference/iteratorsAndStrictNullChecks.symbols b/tests/baselines/reference/iteratorsAndStrictNullChecks.symbols index 0aa0bf641d8..fb75206a825 100644 --- a/tests/baselines/reference/iteratorsAndStrictNullChecks.symbols +++ b/tests/baselines/reference/iteratorsAndStrictNullChecks.symbols @@ -4,9 +4,9 @@ for (const x of ["a", "b"]) { >x : Symbol(x, Decl(iteratorsAndStrictNullChecks.ts, 1, 10)) x.substring; ->x.substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>x.substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(iteratorsAndStrictNullChecks.ts, 1, 10)) ->substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) } // Spread @@ -17,8 +17,8 @@ const ys = [4, 5]; >ys : Symbol(ys, Decl(iteratorsAndStrictNullChecks.ts, 7, 5)) xs.push(...ys); ->xs.push : Symbol(Array.push, Decl(lib.es6.d.ts, --, --)) +>xs.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >xs : Symbol(xs, Decl(iteratorsAndStrictNullChecks.ts, 6, 5)) ->push : Symbol(Array.push, Decl(lib.es6.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >ys : Symbol(ys, Decl(iteratorsAndStrictNullChecks.ts, 7, 5)) diff --git a/tests/baselines/reference/jsFileClassPropertyType2.symbols b/tests/baselines/reference/jsFileClassPropertyType2.symbols index a33c9469bf9..50cb7aa784b 100644 --- a/tests/baselines/reference/jsFileClassPropertyType2.symbols +++ b/tests/baselines/reference/jsFileClassPropertyType2.symbols @@ -13,9 +13,9 @@ class C { === tests/cases/compiler/bar.ts === (new C()).p.push("string"); ->(new C()).p.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>(new C()).p.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >(new C()).p : Symbol(C.p, Decl(foo.js, 1, 19)) >C : Symbol(C, Decl(foo.js, 0, 0)) >p : Symbol(C.p, Decl(foo.js, 1, 19)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/jsFileCompilationRestParamJsDocFunction.symbols b/tests/baselines/reference/jsFileCompilationRestParamJsDocFunction.symbols index fc70ae01a6c..ec4e0294bf5 100644 --- a/tests/baselines/reference/jsFileCompilationRestParamJsDocFunction.symbols +++ b/tests/baselines/reference/jsFileCompilationRestParamJsDocFunction.symbols @@ -17,47 +17,47 @@ function apply(func, thisArg, ...args) { var length = args.length; >length : Symbol(length, Decl(_apply.js, 11, 7)) ->args.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>args.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >args : Symbol(args, Decl(_apply.js, 10, 29)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) switch (length) { >length : Symbol(length, Decl(_apply.js, 11, 7)) case 0: return func.call(thisArg); ->func.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>func.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >func : Symbol(func, Decl(_apply.js, 10, 15)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(_apply.js, 10, 20)) case 1: return func.call(thisArg, args[0]); ->func.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>func.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >func : Symbol(func, Decl(_apply.js, 10, 15)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(_apply.js, 10, 20)) >args : Symbol(args, Decl(_apply.js, 10, 29)) case 2: return func.call(thisArg, args[0], args[1]); ->func.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>func.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >func : Symbol(func, Decl(_apply.js, 10, 15)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(_apply.js, 10, 20)) >args : Symbol(args, Decl(_apply.js, 10, 29)) >args : Symbol(args, Decl(_apply.js, 10, 29)) case 3: return func.call(thisArg, args[0], args[1], args[2]); ->func.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>func.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >func : Symbol(func, Decl(_apply.js, 10, 15)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(_apply.js, 10, 20)) >args : Symbol(args, Decl(_apply.js, 10, 29)) >args : Symbol(args, Decl(_apply.js, 10, 29)) >args : Symbol(args, Decl(_apply.js, 10, 29)) } return func.apply(thisArg, args); ->func.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>func.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >func : Symbol(func, Decl(_apply.js, 10, 15)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >thisArg : Symbol(thisArg, Decl(_apply.js, 10, 20)) >args : Symbol(args, Decl(_apply.js, 10, 29)) } diff --git a/tests/baselines/reference/jsdocDisallowedInTypescript.symbols b/tests/baselines/reference/jsdocDisallowedInTypescript.symbols index 04b6afb6aac..225882e9920 100644 --- a/tests/baselines/reference/jsdocDisallowedInTypescript.symbols +++ b/tests/baselines/reference/jsdocDisallowedInTypescript.symbols @@ -2,13 +2,13 @@ // grammar error from checker var ara: Array. = [1,2,3]; >ara : Symbol(ara, Decl(jsdocDisallowedInTypescript.ts, 1, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function f(x: ?number, y: Array.) { >f : Symbol(f, Decl(jsdocDisallowedInTypescript.ts, 1, 34)) >x : Symbol(x, Decl(jsdocDisallowedInTypescript.ts, 3, 11)) >y : Symbol(y, Decl(jsdocDisallowedInTypescript.ts, 3, 22)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) return x ? x + y[1] : y[0]; >x : Symbol(x, Decl(jsdocDisallowedInTypescript.ts, 3, 11)) @@ -57,14 +57,14 @@ var postfixopt: number? = undefined; var nns: Array; >nns : Symbol(nns, Decl(jsdocDisallowedInTypescript.ts, 19, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var dns: Array; >dns : Symbol(dns, Decl(jsdocDisallowedInTypescript.ts, 20, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var anys: Array<*>; >anys : Symbol(anys, Decl(jsdocDisallowedInTypescript.ts, 21, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/jsdocFunctionType.symbols b/tests/baselines/reference/jsdocFunctionType.symbols index 0cac1aa4360..775bec8877a 100644 --- a/tests/baselines/reference/jsdocFunctionType.symbols +++ b/tests/baselines/reference/jsdocFunctionType.symbols @@ -15,9 +15,9 @@ var x = id1(function (n) { return this.length + n }); >x : Symbol(x, Decl(functions.js, 8, 3)) >id1 : Symbol(id1, Decl(functions.js, 0, 0)) >n : Symbol(n, Decl(functions.js, 8, 22)) ->this.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>this.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >this : Symbol(this, Decl(functions.js, 1, 20)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(functions.js, 8, 22)) /** diff --git a/tests/baselines/reference/jsdocParamTagOnPropertyInitializer.symbols b/tests/baselines/reference/jsdocParamTagOnPropertyInitializer.symbols index a2ad6028cfd..95f3cfe874b 100644 --- a/tests/baselines/reference/jsdocParamTagOnPropertyInitializer.symbols +++ b/tests/baselines/reference/jsdocParamTagOnPropertyInitializer.symbols @@ -6,8 +6,8 @@ class Foo { m = x => x.toLowerCase(); >m : Symbol(Foo.m, Decl(a.js, 0, 11)) >x : Symbol(x, Decl(a.js, 2, 7)) ->x.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>x.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(a.js, 2, 7)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/jsdocParseDotDotDotInJSDocFunction.symbols b/tests/baselines/reference/jsdocParseDotDotDotInJSDocFunction.symbols index a5737c7b245..2d4428bc08b 100644 --- a/tests/baselines/reference/jsdocParseDotDotDotInJSDocFunction.symbols +++ b/tests/baselines/reference/jsdocParseDotDotDotInJSDocFunction.symbols @@ -15,7 +15,7 @@ function g(callback) { */ var stringFromCharCode = String.fromCharCode; >stringFromCharCode : Symbol(stringFromCharCode, Decl(a.js, 10, 3)) ->String.fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.d.ts, --, --)) +>String.fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/jsdocTemplateConstructorFunction.symbols b/tests/baselines/reference/jsdocTemplateConstructorFunction.symbols index 8cf2ee99e57..1cefc3b35ef 100644 --- a/tests/baselines/reference/jsdocTemplateConstructorFunction.symbols +++ b/tests/baselines/reference/jsdocTemplateConstructorFunction.symbols @@ -21,7 +21,7 @@ function Zet(t) { Zet.prototype.add = function(v, id) { >Zet.prototype : Symbol(Zet.add, Decl(templateTagOnConstructorFunctions.js, 9, 1)) >Zet : Symbol(Zet, Decl(templateTagOnConstructorFunctions.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >add : Symbol(Zet.add, Decl(templateTagOnConstructorFunctions.js, 9, 1)) >v : Symbol(v, Decl(templateTagOnConstructorFunctions.js, 14, 29)) >id : Symbol(id, Decl(templateTagOnConstructorFunctions.js, 14, 31)) diff --git a/tests/baselines/reference/jsdocTemplateConstructorFunction2.symbols b/tests/baselines/reference/jsdocTemplateConstructorFunction2.symbols index c65570f84c4..095e1143b36 100644 --- a/tests/baselines/reference/jsdocTemplateConstructorFunction2.symbols +++ b/tests/baselines/reference/jsdocTemplateConstructorFunction2.symbols @@ -21,7 +21,7 @@ function Zet(t) { Zet.prototype.add = function(v, o) { >Zet.prototype : Symbol(Zet.add, Decl(templateTagWithNestedTypeLiteral.js, 8, 1)) >Zet : Symbol(Zet, Decl(templateTagWithNestedTypeLiteral.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >add : Symbol(Zet.add, Decl(templateTagWithNestedTypeLiteral.js, 8, 1)) >v : Symbol(v, Decl(templateTagWithNestedTypeLiteral.js, 14, 29)) >o : Symbol(o, Decl(templateTagWithNestedTypeLiteral.js, 14, 31)) diff --git a/tests/baselines/reference/jsdocTypeFromChainedAssignment.symbols b/tests/baselines/reference/jsdocTypeFromChainedAssignment.symbols index b5c0bdb9aa8..c2d14050ee1 100644 --- a/tests/baselines/reference/jsdocTypeFromChainedAssignment.symbols +++ b/tests/baselines/reference/jsdocTypeFromChainedAssignment.symbols @@ -14,11 +14,11 @@ function A () { A.prototype.y = A.prototype.z = function f(n) { >A.prototype : Symbol(A.y, Decl(a.js, 4, 1)) >A : Symbol(A, Decl(a.js, 0, 0), Decl(a.js, 8, 1)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >y : Symbol(A.y, Decl(a.js, 4, 1)) >A.prototype : Symbol(A.z, Decl(a.js, 6, 15)) >A : Symbol(A, Decl(a.js, 0, 0), Decl(a.js, 8, 1)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >z : Symbol(A.z, Decl(a.js, 6, 15)) >f : Symbol(f, Decl(a.js, 6, 31)) >n : Symbol(n, Decl(a.js, 6, 43)) diff --git a/tests/baselines/reference/jsdocTypeTag.symbols b/tests/baselines/reference/jsdocTypeTag.symbols index db299c10d2b..4aef9324eaa 100644 --- a/tests/baselines/reference/jsdocTypeTag.symbols +++ b/tests/baselines/reference/jsdocTypeTag.symbols @@ -132,11 +132,11 @@ var a: any[]; var P: Promise; >P : Symbol(P, Decl(a.js, 43, 3), Decl(b.ts, 14, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) var p: Promise; >p : Symbol(p, Decl(a.js, 46, 3), Decl(b.ts, 15, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) var nullable: number | null; >nullable : Symbol(nullable, Decl(a.js, 49, 3), Decl(b.ts, 16, 3)) @@ -149,7 +149,7 @@ var obj: any; var Func: Function; >Func : Symbol(Func, Decl(a.js, 58, 3), Decl(b.ts, 19, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var f: (s: string) => number; >f : Symbol(f, Decl(a.js, 61, 3), Decl(b.ts, 20, 3)) diff --git a/tests/baselines/reference/json.stringify.symbols b/tests/baselines/reference/json.stringify.symbols index 98afda4c6e7..213e4a0e28a 100644 --- a/tests/baselines/reference/json.stringify.symbols +++ b/tests/baselines/reference/json.stringify.symbols @@ -3,36 +3,36 @@ var value = null; >value : Symbol(value, Decl(json.stringify.ts, 0, 3)) JSON.stringify(value, undefined, 2); ->JSON.stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->JSON : Symbol(JSON, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>JSON.stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>JSON : Symbol(JSON, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(json.stringify.ts, 0, 3)) >undefined : Symbol(undefined) JSON.stringify(value, null, 2); ->JSON.stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->JSON : Symbol(JSON, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>JSON.stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>JSON : Symbol(JSON, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(json.stringify.ts, 0, 3)) JSON.stringify(value, ["a", 1], 2); ->JSON.stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->JSON : Symbol(JSON, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>JSON.stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>JSON : Symbol(JSON, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(json.stringify.ts, 0, 3)) JSON.stringify(value, (k) => undefined, 2); ->JSON.stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->JSON : Symbol(JSON, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>JSON.stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>JSON : Symbol(JSON, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(json.stringify.ts, 0, 3)) >k : Symbol(k, Decl(json.stringify.ts, 4, 23)) >undefined : Symbol(undefined) JSON.stringify(value, undefined, 2); ->JSON.stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->JSON : Symbol(JSON, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>JSON.stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>JSON : Symbol(JSON, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(json.stringify.ts, 0, 3)) >undefined : Symbol(undefined) diff --git a/tests/baselines/reference/jsxAndTypeAssertion.symbols b/tests/baselines/reference/jsxAndTypeAssertion.symbols index 796256a839a..56007775fcf 100644 --- a/tests/baselines/reference/jsxAndTypeAssertion.symbols +++ b/tests/baselines/reference/jsxAndTypeAssertion.symbols @@ -24,8 +24,8 @@ x = {}}>hello{{}}; x = x, x = ; {{/foo/.test(x) ? : }} ->/foo/.test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) ->test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) +>/foo/.test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) +>test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(jsxAndTypeAssertion.tsx, 4, 3)) diff --git a/tests/baselines/reference/jsxCallbackWithDestructuring.symbols b/tests/baselines/reference/jsxCallbackWithDestructuring.symbols index d879f256e13..73b24180f5e 100644 --- a/tests/baselines/reference/jsxCallbackWithDestructuring.symbols +++ b/tests/baselines/reference/jsxCallbackWithDestructuring.symbols @@ -20,9 +20,9 @@ declare class Component { props: Readonly<{ children?: {} }> & Readonly

; >props : Symbol(Component.props, Decl(jsxCallbackWithDestructuring.tsx, 4, 17)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >children : Symbol(children, Decl(jsxCallbackWithDestructuring.tsx, 5, 21)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >P : Symbol(P, Decl(jsxCallbackWithDestructuring.tsx, 1, 20), Decl(jsxCallbackWithDestructuring.tsx, 2, 24)) } diff --git a/tests/baselines/reference/jsxEmitWithAttributes.symbols b/tests/baselines/reference/jsxEmitWithAttributes.symbols index 018e2d62b47..00de54d5d07 100644 --- a/tests/baselines/reference/jsxEmitWithAttributes.symbols +++ b/tests/baselines/reference/jsxEmitWithAttributes.symbols @@ -68,12 +68,12 @@ function toCamelCase(text: string): string { >text : Symbol(text, Decl(Element.ts, 26, 21)) return text[0].toLowerCase() + text.substring(1); ->text[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.es6.d.ts, --, --)) +>text[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(Element.ts, 26, 21)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.es6.d.ts, --, --)) ->text.substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) +>text.substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(Element.ts, 26, 21)) ->substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) } === tests/cases/compiler/test.tsx === diff --git a/tests/baselines/reference/jsxFactoryAndReactNamespace.symbols b/tests/baselines/reference/jsxFactoryAndReactNamespace.symbols index 018e2d62b47..00de54d5d07 100644 --- a/tests/baselines/reference/jsxFactoryAndReactNamespace.symbols +++ b/tests/baselines/reference/jsxFactoryAndReactNamespace.symbols @@ -68,12 +68,12 @@ function toCamelCase(text: string): string { >text : Symbol(text, Decl(Element.ts, 26, 21)) return text[0].toLowerCase() + text.substring(1); ->text[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.es6.d.ts, --, --)) +>text[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(Element.ts, 26, 21)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.es6.d.ts, --, --)) ->text.substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) +>text.substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(Element.ts, 26, 21)) ->substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) } === tests/cases/compiler/test.tsx === diff --git a/tests/baselines/reference/jsxFactoryIdentifier.symbols b/tests/baselines/reference/jsxFactoryIdentifier.symbols index 3bdf04e7b62..d6070f3dbc0 100644 --- a/tests/baselines/reference/jsxFactoryIdentifier.symbols +++ b/tests/baselines/reference/jsxFactoryIdentifier.symbols @@ -68,12 +68,12 @@ function toCamelCase(text: string): string { >text : Symbol(text, Decl(Element.ts, 26, 21)) return text[0].toLowerCase() + text.substring(1); ->text[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.es6.d.ts, --, --)) +>text[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(Element.ts, 26, 21)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.es6.d.ts, --, --)) ->text.substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) +>text.substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(Element.ts, 26, 21)) ->substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) } === tests/cases/compiler/test.tsx === diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.symbols b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.symbols index 018e2d62b47..00de54d5d07 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.symbols +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.symbols @@ -68,12 +68,12 @@ function toCamelCase(text: string): string { >text : Symbol(text, Decl(Element.ts, 26, 21)) return text[0].toLowerCase() + text.substring(1); ->text[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.es6.d.ts, --, --)) +>text[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(Element.ts, 26, 21)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.es6.d.ts, --, --)) ->text.substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) +>text.substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(Element.ts, 26, 21)) ->substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) } === tests/cases/compiler/test.tsx === diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.symbols b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.symbols index 018e2d62b47..00de54d5d07 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.symbols +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.symbols @@ -68,12 +68,12 @@ function toCamelCase(text: string): string { >text : Symbol(text, Decl(Element.ts, 26, 21)) return text[0].toLowerCase() + text.substring(1); ->text[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.es6.d.ts, --, --)) +>text[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(Element.ts, 26, 21)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.es6.d.ts, --, --)) ->text.substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) +>text.substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(Element.ts, 26, 21)) ->substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) } === tests/cases/compiler/test.tsx === diff --git a/tests/baselines/reference/jsxFactoryQualifiedName.symbols b/tests/baselines/reference/jsxFactoryQualifiedName.symbols index 018e2d62b47..00de54d5d07 100644 --- a/tests/baselines/reference/jsxFactoryQualifiedName.symbols +++ b/tests/baselines/reference/jsxFactoryQualifiedName.symbols @@ -68,12 +68,12 @@ function toCamelCase(text: string): string { >text : Symbol(text, Decl(Element.ts, 26, 21)) return text[0].toLowerCase() + text.substring(1); ->text[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.es6.d.ts, --, --)) +>text[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(Element.ts, 26, 21)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.es6.d.ts, --, --)) ->text.substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) +>text.substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(Element.ts, 26, 21)) ->substring : Symbol(String.substring, Decl(lib.es6.d.ts, --, --)) +>substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) } === tests/cases/compiler/test.tsx === diff --git a/tests/baselines/reference/keyofAndIndexedAccess.symbols b/tests/baselines/reference/keyofAndIndexedAccess.symbols index a40a2347d91..e88983a2d0d 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.symbols +++ b/tests/baselines/reference/keyofAndIndexedAccess.symbols @@ -100,7 +100,7 @@ type K13 = keyof {}; // never type K14 = keyof Object; // "constructor" | "toString" | ... >K14 : Symbol(K14, Decl(keyofAndIndexedAccess.ts, 37, 20)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type K15 = keyof E; // "toString" | "toFixed" | "toExponential" | ... >K15 : Symbol(K15, Decl(keyofAndIndexedAccess.ts, 38, 24)) @@ -453,9 +453,9 @@ function pluck(array: T[], key: K) { >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 131, 17)) return array.map(x => x[key]); ->array.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>array.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >array : Symbol(array, Decl(keyofAndIndexedAccess.ts, 131, 37)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(keyofAndIndexedAccess.ts, 132, 21)) >x : Symbol(x, Decl(keyofAndIndexedAccess.ts, 132, 21)) >key : Symbol(key, Decl(keyofAndIndexedAccess.ts, 131, 48)) @@ -657,7 +657,7 @@ function f52(obj: { [x: string]: boolean }, k: Exclude, s: s >obj : Symbol(obj, Decl(keyofAndIndexedAccess.ts, 189, 16)) >x : Symbol(x, Decl(keyofAndIndexedAccess.ts, 189, 24)) >k : Symbol(k, Decl(keyofAndIndexedAccess.ts, 189, 46)) ->Exclude : Symbol(Exclude, Decl(lib.d.ts, --, --)) +>Exclude : Symbol(Exclude, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 189, 13)) >s : Symbol(s, Decl(keyofAndIndexedAccess.ts, 189, 75)) >n : Symbol(n, Decl(keyofAndIndexedAccess.ts, 189, 86)) @@ -682,7 +682,7 @@ function f53>(obj: { [x: string]: boolean >f53 : Symbol(f53, Decl(keyofAndIndexedAccess.ts, 193, 1)) >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 195, 13)) >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 195, 15)) ->Exclude : Symbol(Exclude, Decl(lib.d.ts, --, --)) +>Exclude : Symbol(Exclude, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 195, 13)) >obj : Symbol(obj, Decl(keyofAndIndexedAccess.ts, 195, 52)) >x : Symbol(x, Decl(keyofAndIndexedAccess.ts, 195, 60)) @@ -810,7 +810,7 @@ function f71(func: (x: T, y: U) => Partial) { >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 225, 20)) >y : Symbol(y, Decl(keyofAndIndexedAccess.ts, 225, 31)) >U : Symbol(U, Decl(keyofAndIndexedAccess.ts, 225, 22)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 225, 20)) >U : Symbol(U, Decl(keyofAndIndexedAccess.ts, 225, 22)) @@ -1219,24 +1219,24 @@ function f90(x1: S2[keyof S2], x2: T[keyof S2] >x3 : Symbol(x3, Decl(keyofAndIndexedAccess.ts, 301, 81)) x1.length; ->x1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x1 : Symbol(x1, Decl(keyofAndIndexedAccess.ts, 301, 47)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) x2.length; ->x2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x2 : Symbol(x2, Decl(keyofAndIndexedAccess.ts, 301, 64)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) x3.length; ->x3.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x3.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x3 : Symbol(x3, Decl(keyofAndIndexedAccess.ts, 301, 81)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) x4.length; ->x4.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x4.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x4 : Symbol(x4, Decl(keyofAndIndexedAccess.ts, 301, 92)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } function f91(x: T, y: T[keyof T], z: T[K]) { @@ -1754,10 +1754,10 @@ function addToMyThingy(key: S) { >S : Symbol(S, Decl(keyofAndIndexedAccess.ts, 474, 23)) MyThingy[key].push("a"); ->MyThingy[key].push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>MyThingy[key].push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >MyThingy : Symbol(MyThingy, Decl(keyofAndIndexedAccess.ts, 472, 3)) >key : Symbol(key, Decl(keyofAndIndexedAccess.ts, 474, 43)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } // Repro from #13102 @@ -1792,7 +1792,7 @@ function onChangeGenericFunction(handler: Handler) { function updateIds, K extends string>( >updateIds : Symbol(updateIds, Decl(keyofAndIndexedAccess.ts, 486, 1)) >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 490, 19)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 490, 47)) >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 490, 47)) @@ -1809,7 +1809,7 @@ function updateIds, K extends string>( >oldId : Symbol(oldId, Decl(keyofAndIndexedAccess.ts, 493, 18)) ): Record { ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 490, 47)) for (const idField of idFields) { @@ -1872,7 +1872,7 @@ function updateIds2( declare function head>(list: T): T[0]; >head : Symbol(head, Decl(keyofAndIndexedAccess.ts, 513, 1)) >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 517, 22)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(keyofAndIndexedAccess.ts, 517, 44)) >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 517, 22)) >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 517, 22)) @@ -1949,7 +1949,7 @@ class SampleClass

{ public props: Readonly

; >props : Symbol(SampleClass.props, Decl(keyofAndIndexedAccess.ts, 543, 22)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >P : Symbol(P, Decl(keyofAndIndexedAccess.ts, 543, 18)) constructor(props: P) { @@ -1960,9 +1960,9 @@ class SampleClass

{ >this.props : Symbol(SampleClass.props, Decl(keyofAndIndexedAccess.ts, 543, 22)) >this : Symbol(SampleClass, Decl(keyofAndIndexedAccess.ts, 539, 1)) >props : Symbol(SampleClass.props, Decl(keyofAndIndexedAccess.ts, 543, 22)) ->Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >props : Symbol(props, Decl(keyofAndIndexedAccess.ts, 545, 16)) } } @@ -2012,13 +2012,13 @@ class AnotherSampleClass extends SampleClass { >brokenMethod : Symbol(AnotherSampleClass.brokenMethod, Decl(keyofAndIndexedAccess.ts, 560, 5)) this.props.foo.concat; ->this.props.foo.concat : Symbol(String.concat, Decl(lib.d.ts, --, --)) +>this.props.foo.concat : Symbol(String.concat, Decl(lib.es5.d.ts, --, --)) >this.props.foo : Symbol(foo, Decl(keyofAndIndexedAccess.ts, 550, 15)) >this.props : Symbol(SampleClass.props, Decl(keyofAndIndexedAccess.ts, 543, 22)) >this : Symbol(AnotherSampleClass, Decl(keyofAndIndexedAccess.ts, 554, 54)) >props : Symbol(SampleClass.props, Decl(keyofAndIndexedAccess.ts, 543, 22)) >foo : Symbol(foo, Decl(keyofAndIndexedAccess.ts, 550, 15)) ->concat : Symbol(String.concat, Decl(lib.d.ts, --, --)) +>concat : Symbol(String.concat, Decl(lib.es5.d.ts, --, --)) } } new AnotherSampleClass({}); @@ -2029,7 +2029,7 @@ function f3>(t: T, k: K, tk: T[K]): void { >f3 : Symbol(f3, Decl(keyofAndIndexedAccess.ts, 566, 27)) >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 569, 12)) >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 569, 14)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 569, 12)) >t : Symbol(t, Decl(keyofAndIndexedAccess.ts, 569, 51)) >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 569, 12)) @@ -2096,7 +2096,7 @@ type Helper2 = { [K in keyof T]: Extract }; >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 586, 13)) >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 586, 21)) >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 586, 13)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 586, 13)) >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 586, 21)) >prop : Symbol(prop, Decl(keyofAndIndexedAccess.ts, 586, 51)) diff --git a/tests/baselines/reference/keyofAndIndexedAccessErrors.symbols b/tests/baselines/reference/keyofAndIndexedAccessErrors.symbols index bb86bf68bee..f5c5f41dddf 100644 --- a/tests/baselines/reference/keyofAndIndexedAccessErrors.symbols +++ b/tests/baselines/reference/keyofAndIndexedAccessErrors.symbols @@ -26,27 +26,27 @@ type T00 = keyof K0; // Error type T01 = keyof Object; >T01 : Symbol(T01, Decl(keyofAndIndexedAccessErrors.ts, 9, 20)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type T02 = keyof keyof Object; >T02 : Symbol(T02, Decl(keyofAndIndexedAccessErrors.ts, 11, 24)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type T03 = keyof keyof keyof Object; >T03 : Symbol(T03, Decl(keyofAndIndexedAccessErrors.ts, 12, 30)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type T04 = keyof keyof keyof keyof Object; >T04 : Symbol(T04, Decl(keyofAndIndexedAccessErrors.ts, 13, 36)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type T05 = keyof keyof keyof keyof keyof Object; >T05 : Symbol(T05, Decl(keyofAndIndexedAccessErrors.ts, 14, 42)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type T06 = keyof keyof keyof keyof keyof keyof Object; >T06 : Symbol(T06, Decl(keyofAndIndexedAccessErrors.ts, 15, 48)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) type T10 = Shape["name"]; >T10 : Symbol(T10, Decl(keyofAndIndexedAccessErrors.ts, 16, 54)) @@ -328,7 +328,7 @@ function f3, U extends T, J extends K>( >f3 : Symbol(f3, Decl(keyofAndIndexedAccessErrors.ts, 95, 1)) >T : Symbol(T, Decl(keyofAndIndexedAccessErrors.ts, 98, 12)) >K : Symbol(K, Decl(keyofAndIndexedAccessErrors.ts, 98, 14)) ->Extract : Symbol(Extract, Decl(lib.d.ts, --, --)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(keyofAndIndexedAccessErrors.ts, 98, 12)) >U : Symbol(U, Decl(keyofAndIndexedAccessErrors.ts, 98, 50)) >T : Symbol(T, Decl(keyofAndIndexedAccessErrors.ts, 98, 12)) diff --git a/tests/baselines/reference/keyofDoesntContainSymbols.symbols b/tests/baselines/reference/keyofDoesntContainSymbols.symbols index 20b02d638a6..8af26a54195 100644 --- a/tests/baselines/reference/keyofDoesntContainSymbols.symbols +++ b/tests/baselines/reference/keyofDoesntContainSymbols.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/keyofDoesntContainSymbols.ts === const sym = Symbol(); >sym : Symbol(sym, Decl(keyofDoesntContainSymbols.ts, 0, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) const num = 0; >num : Symbol(num, Decl(keyofDoesntContainSymbols.ts, 1, 5)) diff --git a/tests/baselines/reference/keyofInferenceLowerPriorityThanReturn.symbols b/tests/baselines/reference/keyofInferenceLowerPriorityThanReturn.symbols index c4c6b0c3cc3..6a5d1eeacf5 100644 --- a/tests/baselines/reference/keyofInferenceLowerPriorityThanReturn.symbols +++ b/tests/baselines/reference/keyofInferenceLowerPriorityThanReturn.symbols @@ -122,7 +122,7 @@ function insertOnConflictDoNothing(_tabl >Def : Symbol(Def, Decl(keyofInferenceLowerPriorityThanReturn.ts, 39, 54)) throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f() { diff --git a/tests/baselines/reference/keyofIntersection.symbols b/tests/baselines/reference/keyofIntersection.symbols index aac8341f363..ba141ef96d4 100644 --- a/tests/baselines/reference/keyofIntersection.symbols +++ b/tests/baselines/reference/keyofIntersection.symbols @@ -53,9 +53,9 @@ type Example1 = keyof (Record & Reco >Example1 : Symbol(Example1, Decl(keyofIntersection.ts, 9, 21)) >T : Symbol(T, Decl(keyofIntersection.ts, 13, 14)) >U : Symbol(U, Decl(keyofIntersection.ts, 13, 31)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(keyofIntersection.ts, 13, 14)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(keyofIntersection.ts, 13, 31)) type Result1 = Example1<'x', 'y'>; // "x" | "y" @@ -64,13 +64,13 @@ type Result1 = Example1<'x', 'y'>; // "x" | "y" type Result2 = keyof (Record<'x', any> & Record<'y', any>); // "x" | "y" >Result2 : Symbol(Result2, Decl(keyofIntersection.ts, 14, 34)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) type Example3 = keyof (Record); >Example3 : Symbol(Example3, Decl(keyofIntersection.ts, 16, 59)) >T : Symbol(T, Decl(keyofIntersection.ts, 18, 14)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(keyofIntersection.ts, 18, 14)) type Result3 = Example3<'x' | 'y'>; // "x" | "y" @@ -81,9 +81,9 @@ type Example4 = (Record & RecordExample4 : Symbol(Example4, Decl(keyofIntersection.ts, 19, 35)) >T : Symbol(T, Decl(keyofIntersection.ts, 21, 14)) >U : Symbol(U, Decl(keyofIntersection.ts, 21, 31)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(keyofIntersection.ts, 21, 14)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(keyofIntersection.ts, 21, 31)) type Result4 = keyof Example4<'x', 'y'>; // "x" | "y" @@ -100,6 +100,6 @@ type Example5 = keyof (T & U); type Result5 = Example5, Record<'y', any>>; // "x" | "y" >Result5 : Symbol(Result5, Decl(keyofIntersection.ts, 24, 36)) >Example5 : Symbol(Example5, Decl(keyofIntersection.ts, 22, 40)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/keyofIsLiteralContexualType.symbols b/tests/baselines/reference/keyofIsLiteralContexualType.symbols index 75e227430b2..198d2072dbd 100644 --- a/tests/baselines/reference/keyofIsLiteralContexualType.symbols +++ b/tests/baselines/reference/keyofIsLiteralContexualType.symbols @@ -27,7 +27,7 @@ declare function pick(obj: T, propNames: K[]): Pick; >T : Symbol(T, Decl(keyofIsLiteralContexualType.ts, 9, 22)) >propNames : Symbol(propNames, Decl(keyofIsLiteralContexualType.ts, 9, 51)) >K : Symbol(K, Decl(keyofIsLiteralContexualType.ts, 9, 24)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(keyofIsLiteralContexualType.ts, 9, 22)) >K : Symbol(K, Decl(keyofIsLiteralContexualType.ts, 9, 24)) diff --git a/tests/baselines/reference/keywordExpressionInternalComments.symbols b/tests/baselines/reference/keywordExpressionInternalComments.symbols index 95552462f6f..5120ad4ba4d 100644 --- a/tests/baselines/reference/keywordExpressionInternalComments.symbols +++ b/tests/baselines/reference/keywordExpressionInternalComments.symbols @@ -1,15 +1,15 @@ === tests/cases/compiler/keywordExpressionInternalComments.ts === /*1*/ new /*2*/ Array /*3*/; ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) /*1*/ typeof /*2*/ Array /*3*/; ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) /*1*/ void /*2*/ Array /*3*/; ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) /*1*/ delete /*2*/ Array.toString /*3*/; ->Array.toString : Symbol(Function.toString, Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->toString : Symbol(Function.toString, Decl(lib.d.ts, --, --)) +>Array.toString : Symbol(Function.toString, Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Function.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/knockout.symbols b/tests/baselines/reference/knockout.symbols index acb45420740..27521e31c48 100644 --- a/tests/baselines/reference/knockout.symbols +++ b/tests/baselines/reference/knockout.symbols @@ -48,11 +48,11 @@ } var x_v = o.name().length >x_v : Symbol(x_v, Decl(knockout.ts, 14, 4)) ->o.name().length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>o.name().length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >o.name : Symbol(name, Decl(knockout.ts, 10, 10)) >o : Symbol(o, Decl(knockout.ts, 10, 4)) >name : Symbol(name, Decl(knockout.ts, 10, 10)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) var age_v = o.age(); >age_v : Symbol(age_v, Decl(knockout.ts, 15, 4)) diff --git a/tests/baselines/reference/lambdaParamTypes.symbols b/tests/baselines/reference/lambdaParamTypes.symbols index 91c87399092..98669658f40 100644 --- a/tests/baselines/reference/lambdaParamTypes.symbols +++ b/tests/baselines/reference/lambdaParamTypes.symbols @@ -40,11 +40,11 @@ thing.doSomething((x, y) => x.name.charAt(0)); // x.name should be string, >doSomething : Symbol(MyArrayWrapper.doSomething, Decl(lambdaParamTypes.ts, 1, 36)) >x : Symbol(x, Decl(lambdaParamTypes.ts, 10, 19)) >y : Symbol(y, Decl(lambdaParamTypes.ts, 10, 21)) ->x.name.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>x.name.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >x.name : Symbol(name, Decl(lambdaParamTypes.ts, 7, 21)) >x : Symbol(x, Decl(lambdaParamTypes.ts, 10, 19)) >name : Symbol(name, Decl(lambdaParamTypes.ts, 7, 21)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) thing.doSomething((x, y) => x.id.toExponential(0)); // x.id should be string, so should be OK >thing.doSomething : Symbol(MyArrayWrapper.doSomething, Decl(lambdaParamTypes.ts, 1, 36)) @@ -52,11 +52,11 @@ thing.doSomething((x, y) => x.id.toExponential(0)); // x.id should be string, so >doSomething : Symbol(MyArrayWrapper.doSomething, Decl(lambdaParamTypes.ts, 1, 36)) >x : Symbol(x, Decl(lambdaParamTypes.ts, 11, 19)) >y : Symbol(y, Decl(lambdaParamTypes.ts, 11, 21)) ->x.id.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x.id.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x.id : Symbol(id, Decl(lambdaParamTypes.ts, 7, 34)) >x : Symbol(x, Decl(lambdaParamTypes.ts, 11, 19)) >id : Symbol(id, Decl(lambdaParamTypes.ts, 7, 34)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) thing.doSomething((x, y) => y.name.charAt(0)); // x.name should be string, so should be OK >thing.doSomething : Symbol(MyArrayWrapper.doSomething, Decl(lambdaParamTypes.ts, 1, 36)) @@ -64,11 +64,11 @@ thing.doSomething((x, y) => y.name.charAt(0)); // x.name should be string, >doSomething : Symbol(MyArrayWrapper.doSomething, Decl(lambdaParamTypes.ts, 1, 36)) >x : Symbol(x, Decl(lambdaParamTypes.ts, 12, 19)) >y : Symbol(y, Decl(lambdaParamTypes.ts, 12, 21)) ->y.name.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>y.name.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >y.name : Symbol(name, Decl(lambdaParamTypes.ts, 7, 21)) >y : Symbol(y, Decl(lambdaParamTypes.ts, 12, 21)) >name : Symbol(name, Decl(lambdaParamTypes.ts, 7, 21)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) thing.doSomething((x, y) => y.id.toExponential(0)); // x.id should be string, so should be OK >thing.doSomething : Symbol(MyArrayWrapper.doSomething, Decl(lambdaParamTypes.ts, 1, 36)) @@ -76,11 +76,11 @@ thing.doSomething((x, y) => y.id.toExponential(0)); // x.id should be string, so >doSomething : Symbol(MyArrayWrapper.doSomething, Decl(lambdaParamTypes.ts, 1, 36)) >x : Symbol(x, Decl(lambdaParamTypes.ts, 13, 19)) >y : Symbol(y, Decl(lambdaParamTypes.ts, 13, 21)) ->y.id.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>y.id.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >y.id : Symbol(id, Decl(lambdaParamTypes.ts, 7, 34)) >y : Symbol(y, Decl(lambdaParamTypes.ts, 13, 21)) >id : Symbol(id, Decl(lambdaParamTypes.ts, 7, 34)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) // Below should all be in error thing.doSomething((x, y) => x.foo); // no such property on x diff --git a/tests/baselines/reference/lambdaPropSelf.symbols b/tests/baselines/reference/lambdaPropSelf.symbols index 8ce5d8a6c57..b5a2d244e0b 100644 --- a/tests/baselines/reference/lambdaPropSelf.symbols +++ b/tests/baselines/reference/lambdaPropSelf.symbols @@ -22,11 +22,11 @@ class Person { addChild = () => this.children.push("New child"); >addChild : Symbol(Person.addChild, Decl(lambdaPropSelf.ts, 7, 5)) ->this.children.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>this.children.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >this.children : Symbol(Person.children, Decl(lambdaPropSelf.ts, 2, 14)) >this : Symbol(Person, Decl(lambdaPropSelf.ts, 0, 20)) >children : Symbol(Person.children, Decl(lambdaPropSelf.ts, 2, 14)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/lateBoundDestructuringImplicitAnyError.symbols b/tests/baselines/reference/lateBoundDestructuringImplicitAnyError.symbols index f97437ec5ed..242bc3ccf1a 100644 --- a/tests/baselines/reference/lateBoundDestructuringImplicitAnyError.symbols +++ b/tests/baselines/reference/lateBoundDestructuringImplicitAnyError.symbols @@ -23,11 +23,11 @@ let numed = 6; const symed = Symbol(); >symed : Symbol(symed, Decl(lateBoundDestructuringImplicitAnyError.ts, 9, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let symed2 = Symbol(); >symed2 : Symbol(symed2, Decl(lateBoundDestructuringImplicitAnyError.ts, 10, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let {[named]: prop2} = numIndexed; >named : Symbol(named, Decl(lateBoundDestructuringImplicitAnyError.ts, 0, 3)) diff --git a/tests/baselines/reference/letConstInCaseClauses.symbols b/tests/baselines/reference/letConstInCaseClauses.symbols index 23bf9dc6553..5cf95c13542 100644 --- a/tests/baselines/reference/letConstInCaseClauses.symbols +++ b/tests/baselines/reference/letConstInCaseClauses.symbols @@ -12,9 +12,9 @@ var y = 20; >y : Symbol(y, Decl(letConstInCaseClauses.ts, 4, 7)) console.log(x) ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >x : Symbol(x, Decl(letConstInCaseClauses.ts, 3, 7)) switch (x) { @@ -41,9 +41,9 @@ var y = 20; >y : Symbol(y, Decl(letConstInCaseClauses.ts, 18, 9)) console.log(x) ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >x : Symbol(x, Decl(letConstInCaseClauses.ts, 17, 9)) switch (x) { diff --git a/tests/baselines/reference/letDeclarations-access.symbols b/tests/baselines/reference/letDeclarations-access.symbols index eb1f0c85802..31a64fab3f8 100644 --- a/tests/baselines/reference/letDeclarations-access.symbols +++ b/tests/baselines/reference/letDeclarations-access.symbols @@ -80,7 +80,7 @@ x; >x : Symbol(x, Decl(letDeclarations-access.ts, 0, 3)) x.toString(); ->x.toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(letDeclarations-access.ts, 0, 3)) ->toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/letShadowedByNameInNestedScope.symbols b/tests/baselines/reference/letShadowedByNameInNestedScope.symbols index 98b6d1fe8a4..2ff4ea0e9a5 100644 --- a/tests/baselines/reference/letShadowedByNameInNestedScope.symbols +++ b/tests/baselines/reference/letShadowedByNameInNestedScope.symbols @@ -13,9 +13,9 @@ function foo() { >_x : Symbol(_x, Decl(letShadowedByNameInNestedScope.ts, 4, 11)) console.log(x); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >x : Symbol(x, Decl(letShadowedByNameInNestedScope.ts, 2, 7)) })(); diff --git a/tests/baselines/reference/libMembers.symbols b/tests/baselines/reference/libMembers.symbols index 328b98c95be..ae0caea8840 100644 --- a/tests/baselines/reference/libMembers.symbols +++ b/tests/baselines/reference/libMembers.symbols @@ -3,22 +3,22 @@ var s="hello"; >s : Symbol(s, Decl(libMembers.ts, 0, 3)) s.substring(0); ->s.substring : Symbol(String.substring, Decl(lib.d.ts, --, --)) +>s.substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(libMembers.ts, 0, 3)) ->substring : Symbol(String.substring, Decl(lib.d.ts, --, --)) +>substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) s.substring(3,4); ->s.substring : Symbol(String.substring, Decl(lib.d.ts, --, --)) +>s.substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(libMembers.ts, 0, 3)) ->substring : Symbol(String.substring, Decl(lib.d.ts, --, --)) +>substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) s.subby(12); // error unresolved >s : Symbol(s, Decl(libMembers.ts, 0, 3)) String.fromCharCode(12); ->String.fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.d.ts, --, --)) +>String.fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.es5.d.ts, --, --)) module M { >M : Symbol(M, Decl(libMembers.ts, 4, 24)) diff --git a/tests/baselines/reference/libdtsFix.symbols b/tests/baselines/reference/libdtsFix.symbols index f3b6b014de5..d1ca46f315d 100644 --- a/tests/baselines/reference/libdtsFix.symbols +++ b/tests/baselines/reference/libdtsFix.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/libdtsFix.ts === interface HTMLElement { ->HTMLElement : Symbol(HTMLElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(libdtsFix.ts, 0, 0)) +>HTMLElement : Symbol(HTMLElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(libdtsFix.ts, 0, 0)) type: string; >type : Symbol(HTMLElement.type, Decl(libdtsFix.ts, 0, 23)) diff --git a/tests/baselines/reference/library_ArraySlice.symbols b/tests/baselines/reference/library_ArraySlice.symbols index f29defbc3f9..600a4584bfc 100644 --- a/tests/baselines/reference/library_ArraySlice.symbols +++ b/tests/baselines/reference/library_ArraySlice.symbols @@ -1,23 +1,23 @@ === tests/cases/compiler/library_ArraySlice.ts === // Array.prototype.slice can have zero, one, or two arguments Array.prototype.slice(); ->Array.prototype.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) ->Array.prototype : Symbol(ArrayConstructor.prototype, Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ArrayConstructor.prototype, Decl(lib.d.ts, --, --)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>Array.prototype.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) +>Array.prototype : Symbol(ArrayConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ArrayConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) Array.prototype.slice(0); ->Array.prototype.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) ->Array.prototype : Symbol(ArrayConstructor.prototype, Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ArrayConstructor.prototype, Decl(lib.d.ts, --, --)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>Array.prototype.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) +>Array.prototype : Symbol(ArrayConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ArrayConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) Array.prototype.slice(0, 1); ->Array.prototype.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) ->Array.prototype : Symbol(ArrayConstructor.prototype, Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ArrayConstructor.prototype, Decl(lib.d.ts, --, --)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>Array.prototype.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) +>Array.prototype : Symbol(ArrayConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ArrayConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/library_DatePrototypeProperties.symbols b/tests/baselines/reference/library_DatePrototypeProperties.symbols index d35c2b6ab37..abf341572c6 100644 --- a/tests/baselines/reference/library_DatePrototypeProperties.symbols +++ b/tests/baselines/reference/library_DatePrototypeProperties.symbols @@ -2,310 +2,310 @@ // Properties of the Date prototype object as per ES5 spec // http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.5 Date.prototype.constructor; ->Date.prototype.constructor : Symbol(Object.constructor, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->constructor : Symbol(Object.constructor, Decl(lib.d.ts, --, --)) +>Date.prototype.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) Date.prototype.toString(); ->Date.prototype.toString : Symbol(Date.toString, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->toString : Symbol(Date.toString, Decl(lib.d.ts, --, --)) +>Date.prototype.toString : Symbol(Date.toString, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Date.toString, Decl(lib.es5.d.ts, --, --)) Date.prototype.toDateString(); ->Date.prototype.toDateString : Symbol(Date.toDateString, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->toDateString : Symbol(Date.toDateString, Decl(lib.d.ts, --, --)) +>Date.prototype.toDateString : Symbol(Date.toDateString, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>toDateString : Symbol(Date.toDateString, Decl(lib.es5.d.ts, --, --)) Date.prototype.toTimeString(); ->Date.prototype.toTimeString : Symbol(Date.toTimeString, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->toTimeString : Symbol(Date.toTimeString, Decl(lib.d.ts, --, --)) +>Date.prototype.toTimeString : Symbol(Date.toTimeString, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>toTimeString : Symbol(Date.toTimeString, Decl(lib.es5.d.ts, --, --)) Date.prototype.toLocaleString(); ->Date.prototype.toLocaleString : Symbol(Date.toLocaleString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->toLocaleString : Symbol(Date.toLocaleString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date.prototype.toLocaleString : Symbol(Date.toLocaleString, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>toLocaleString : Symbol(Date.toLocaleString, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) Date.prototype.toLocaleDateString(); ->Date.prototype.toLocaleDateString : Symbol(Date.toLocaleDateString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->toLocaleDateString : Symbol(Date.toLocaleDateString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date.prototype.toLocaleDateString : Symbol(Date.toLocaleDateString, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>toLocaleDateString : Symbol(Date.toLocaleDateString, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) Date.prototype.toLocaleTimeString(); ->Date.prototype.toLocaleTimeString : Symbol(Date.toLocaleTimeString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->toLocaleTimeString : Symbol(Date.toLocaleTimeString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date.prototype.toLocaleTimeString : Symbol(Date.toLocaleTimeString, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>toLocaleTimeString : Symbol(Date.toLocaleTimeString, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) Date.prototype.valueOf(); ->Date.prototype.valueOf : Symbol(Date.valueOf, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->valueOf : Symbol(Date.valueOf, Decl(lib.d.ts, --, --)) +>Date.prototype.valueOf : Symbol(Date.valueOf, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>valueOf : Symbol(Date.valueOf, Decl(lib.es5.d.ts, --, --)) Date.prototype.getTime(); ->Date.prototype.getTime : Symbol(Date.getTime, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getTime : Symbol(Date.getTime, Decl(lib.d.ts, --, --)) +>Date.prototype.getTime : Symbol(Date.getTime, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getTime : Symbol(Date.getTime, Decl(lib.es5.d.ts, --, --)) Date.prototype.getFullYear(); ->Date.prototype.getFullYear : Symbol(Date.getFullYear, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getFullYear : Symbol(Date.getFullYear, Decl(lib.d.ts, --, --)) +>Date.prototype.getFullYear : Symbol(Date.getFullYear, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getFullYear : Symbol(Date.getFullYear, Decl(lib.es5.d.ts, --, --)) Date.prototype.getUTCFullYear(); ->Date.prototype.getUTCFullYear : Symbol(Date.getUTCFullYear, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getUTCFullYear : Symbol(Date.getUTCFullYear, Decl(lib.d.ts, --, --)) +>Date.prototype.getUTCFullYear : Symbol(Date.getUTCFullYear, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getUTCFullYear : Symbol(Date.getUTCFullYear, Decl(lib.es5.d.ts, --, --)) Date.prototype.getMonth(); ->Date.prototype.getMonth : Symbol(Date.getMonth, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getMonth : Symbol(Date.getMonth, Decl(lib.d.ts, --, --)) +>Date.prototype.getMonth : Symbol(Date.getMonth, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getMonth : Symbol(Date.getMonth, Decl(lib.es5.d.ts, --, --)) Date.prototype.getUTCMonth(); ->Date.prototype.getUTCMonth : Symbol(Date.getUTCMonth, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getUTCMonth : Symbol(Date.getUTCMonth, Decl(lib.d.ts, --, --)) +>Date.prototype.getUTCMonth : Symbol(Date.getUTCMonth, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getUTCMonth : Symbol(Date.getUTCMonth, Decl(lib.es5.d.ts, --, --)) Date.prototype.getDate(); ->Date.prototype.getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>Date.prototype.getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) Date.prototype.getUTCDate(); ->Date.prototype.getUTCDate : Symbol(Date.getUTCDate, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getUTCDate : Symbol(Date.getUTCDate, Decl(lib.d.ts, --, --)) +>Date.prototype.getUTCDate : Symbol(Date.getUTCDate, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getUTCDate : Symbol(Date.getUTCDate, Decl(lib.es5.d.ts, --, --)) Date.prototype.getDay(); ->Date.prototype.getDay : Symbol(Date.getDay, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getDay : Symbol(Date.getDay, Decl(lib.d.ts, --, --)) +>Date.prototype.getDay : Symbol(Date.getDay, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getDay : Symbol(Date.getDay, Decl(lib.es5.d.ts, --, --)) Date.prototype.getUTCDay(); ->Date.prototype.getUTCDay : Symbol(Date.getUTCDay, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getUTCDay : Symbol(Date.getUTCDay, Decl(lib.d.ts, --, --)) +>Date.prototype.getUTCDay : Symbol(Date.getUTCDay, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getUTCDay : Symbol(Date.getUTCDay, Decl(lib.es5.d.ts, --, --)) Date.prototype.getHours(); ->Date.prototype.getHours : Symbol(Date.getHours, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getHours : Symbol(Date.getHours, Decl(lib.d.ts, --, --)) +>Date.prototype.getHours : Symbol(Date.getHours, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getHours : Symbol(Date.getHours, Decl(lib.es5.d.ts, --, --)) Date.prototype.getUTCHours(); ->Date.prototype.getUTCHours : Symbol(Date.getUTCHours, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getUTCHours : Symbol(Date.getUTCHours, Decl(lib.d.ts, --, --)) +>Date.prototype.getUTCHours : Symbol(Date.getUTCHours, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getUTCHours : Symbol(Date.getUTCHours, Decl(lib.es5.d.ts, --, --)) Date.prototype.getMinutes(); ->Date.prototype.getMinutes : Symbol(Date.getMinutes, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getMinutes : Symbol(Date.getMinutes, Decl(lib.d.ts, --, --)) +>Date.prototype.getMinutes : Symbol(Date.getMinutes, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getMinutes : Symbol(Date.getMinutes, Decl(lib.es5.d.ts, --, --)) Date.prototype.getUTCMinutes(); ->Date.prototype.getUTCMinutes : Symbol(Date.getUTCMinutes, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getUTCMinutes : Symbol(Date.getUTCMinutes, Decl(lib.d.ts, --, --)) +>Date.prototype.getUTCMinutes : Symbol(Date.getUTCMinutes, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getUTCMinutes : Symbol(Date.getUTCMinutes, Decl(lib.es5.d.ts, --, --)) Date.prototype.getSeconds(); ->Date.prototype.getSeconds : Symbol(Date.getSeconds, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getSeconds : Symbol(Date.getSeconds, Decl(lib.d.ts, --, --)) +>Date.prototype.getSeconds : Symbol(Date.getSeconds, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getSeconds : Symbol(Date.getSeconds, Decl(lib.es5.d.ts, --, --)) Date.prototype.getUTCSeconds(); ->Date.prototype.getUTCSeconds : Symbol(Date.getUTCSeconds, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getUTCSeconds : Symbol(Date.getUTCSeconds, Decl(lib.d.ts, --, --)) +>Date.prototype.getUTCSeconds : Symbol(Date.getUTCSeconds, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getUTCSeconds : Symbol(Date.getUTCSeconds, Decl(lib.es5.d.ts, --, --)) Date.prototype.getMilliseconds(); ->Date.prototype.getMilliseconds : Symbol(Date.getMilliseconds, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getMilliseconds : Symbol(Date.getMilliseconds, Decl(lib.d.ts, --, --)) +>Date.prototype.getMilliseconds : Symbol(Date.getMilliseconds, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getMilliseconds : Symbol(Date.getMilliseconds, Decl(lib.es5.d.ts, --, --)) Date.prototype.getUTCMilliseconds(); ->Date.prototype.getUTCMilliseconds : Symbol(Date.getUTCMilliseconds, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getUTCMilliseconds : Symbol(Date.getUTCMilliseconds, Decl(lib.d.ts, --, --)) +>Date.prototype.getUTCMilliseconds : Symbol(Date.getUTCMilliseconds, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getUTCMilliseconds : Symbol(Date.getUTCMilliseconds, Decl(lib.es5.d.ts, --, --)) Date.prototype.getTimezoneOffset(); ->Date.prototype.getTimezoneOffset : Symbol(Date.getTimezoneOffset, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->getTimezoneOffset : Symbol(Date.getTimezoneOffset, Decl(lib.d.ts, --, --)) +>Date.prototype.getTimezoneOffset : Symbol(Date.getTimezoneOffset, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>getTimezoneOffset : Symbol(Date.getTimezoneOffset, Decl(lib.es5.d.ts, --, --)) Date.prototype.setTime(0); ->Date.prototype.setTime : Symbol(Date.setTime, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setTime : Symbol(Date.setTime, Decl(lib.d.ts, --, --)) +>Date.prototype.setTime : Symbol(Date.setTime, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setTime : Symbol(Date.setTime, Decl(lib.es5.d.ts, --, --)) Date.prototype.setMilliseconds(0); ->Date.prototype.setMilliseconds : Symbol(Date.setMilliseconds, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setMilliseconds : Symbol(Date.setMilliseconds, Decl(lib.d.ts, --, --)) +>Date.prototype.setMilliseconds : Symbol(Date.setMilliseconds, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setMilliseconds : Symbol(Date.setMilliseconds, Decl(lib.es5.d.ts, --, --)) Date.prototype.setUTCMilliseconds(0); ->Date.prototype.setUTCMilliseconds : Symbol(Date.setUTCMilliseconds, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setUTCMilliseconds : Symbol(Date.setUTCMilliseconds, Decl(lib.d.ts, --, --)) +>Date.prototype.setUTCMilliseconds : Symbol(Date.setUTCMilliseconds, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setUTCMilliseconds : Symbol(Date.setUTCMilliseconds, Decl(lib.es5.d.ts, --, --)) Date.prototype.setSeconds(0); ->Date.prototype.setSeconds : Symbol(Date.setSeconds, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setSeconds : Symbol(Date.setSeconds, Decl(lib.d.ts, --, --)) +>Date.prototype.setSeconds : Symbol(Date.setSeconds, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setSeconds : Symbol(Date.setSeconds, Decl(lib.es5.d.ts, --, --)) Date.prototype.setUTCSeconds(0); ->Date.prototype.setUTCSeconds : Symbol(Date.setUTCSeconds, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setUTCSeconds : Symbol(Date.setUTCSeconds, Decl(lib.d.ts, --, --)) +>Date.prototype.setUTCSeconds : Symbol(Date.setUTCSeconds, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setUTCSeconds : Symbol(Date.setUTCSeconds, Decl(lib.es5.d.ts, --, --)) Date.prototype.setMinutes(0); ->Date.prototype.setMinutes : Symbol(Date.setMinutes, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setMinutes : Symbol(Date.setMinutes, Decl(lib.d.ts, --, --)) +>Date.prototype.setMinutes : Symbol(Date.setMinutes, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setMinutes : Symbol(Date.setMinutes, Decl(lib.es5.d.ts, --, --)) Date.prototype.setUTCMinutes(0); ->Date.prototype.setUTCMinutes : Symbol(Date.setUTCMinutes, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setUTCMinutes : Symbol(Date.setUTCMinutes, Decl(lib.d.ts, --, --)) +>Date.prototype.setUTCMinutes : Symbol(Date.setUTCMinutes, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setUTCMinutes : Symbol(Date.setUTCMinutes, Decl(lib.es5.d.ts, --, --)) Date.prototype.setHours(0); ->Date.prototype.setHours : Symbol(Date.setHours, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setHours : Symbol(Date.setHours, Decl(lib.d.ts, --, --)) +>Date.prototype.setHours : Symbol(Date.setHours, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setHours : Symbol(Date.setHours, Decl(lib.es5.d.ts, --, --)) Date.prototype.setUTCHours(0); ->Date.prototype.setUTCHours : Symbol(Date.setUTCHours, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setUTCHours : Symbol(Date.setUTCHours, Decl(lib.d.ts, --, --)) +>Date.prototype.setUTCHours : Symbol(Date.setUTCHours, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setUTCHours : Symbol(Date.setUTCHours, Decl(lib.es5.d.ts, --, --)) Date.prototype.setDate(0); ->Date.prototype.setDate : Symbol(Date.setDate, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setDate : Symbol(Date.setDate, Decl(lib.d.ts, --, --)) +>Date.prototype.setDate : Symbol(Date.setDate, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setDate : Symbol(Date.setDate, Decl(lib.es5.d.ts, --, --)) Date.prototype.setUTCDate(0); ->Date.prototype.setUTCDate : Symbol(Date.setUTCDate, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setUTCDate : Symbol(Date.setUTCDate, Decl(lib.d.ts, --, --)) +>Date.prototype.setUTCDate : Symbol(Date.setUTCDate, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setUTCDate : Symbol(Date.setUTCDate, Decl(lib.es5.d.ts, --, --)) Date.prototype.setMonth(0); ->Date.prototype.setMonth : Symbol(Date.setMonth, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setMonth : Symbol(Date.setMonth, Decl(lib.d.ts, --, --)) +>Date.prototype.setMonth : Symbol(Date.setMonth, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setMonth : Symbol(Date.setMonth, Decl(lib.es5.d.ts, --, --)) Date.prototype.setUTCMonth(0); ->Date.prototype.setUTCMonth : Symbol(Date.setUTCMonth, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setUTCMonth : Symbol(Date.setUTCMonth, Decl(lib.d.ts, --, --)) +>Date.prototype.setUTCMonth : Symbol(Date.setUTCMonth, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setUTCMonth : Symbol(Date.setUTCMonth, Decl(lib.es5.d.ts, --, --)) Date.prototype.setFullYear(0); ->Date.prototype.setFullYear : Symbol(Date.setFullYear, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setFullYear : Symbol(Date.setFullYear, Decl(lib.d.ts, --, --)) +>Date.prototype.setFullYear : Symbol(Date.setFullYear, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setFullYear : Symbol(Date.setFullYear, Decl(lib.es5.d.ts, --, --)) Date.prototype.setUTCFullYear(0); ->Date.prototype.setUTCFullYear : Symbol(Date.setUTCFullYear, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->setUTCFullYear : Symbol(Date.setUTCFullYear, Decl(lib.d.ts, --, --)) +>Date.prototype.setUTCFullYear : Symbol(Date.setUTCFullYear, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>setUTCFullYear : Symbol(Date.setUTCFullYear, Decl(lib.es5.d.ts, --, --)) Date.prototype.toUTCString(); ->Date.prototype.toUTCString : Symbol(Date.toUTCString, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->toUTCString : Symbol(Date.toUTCString, Decl(lib.d.ts, --, --)) +>Date.prototype.toUTCString : Symbol(Date.toUTCString, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>toUTCString : Symbol(Date.toUTCString, Decl(lib.es5.d.ts, --, --)) Date.prototype.toISOString(); ->Date.prototype.toISOString : Symbol(Date.toISOString, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->toISOString : Symbol(Date.toISOString, Decl(lib.d.ts, --, --)) +>Date.prototype.toISOString : Symbol(Date.toISOString, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>toISOString : Symbol(Date.toISOString, Decl(lib.es5.d.ts, --, --)) Date.prototype.toJSON(null); ->Date.prototype.toJSON : Symbol(Date.toJSON, Decl(lib.d.ts, --, --)) ->Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(DateConstructor.prototype, Decl(lib.d.ts, --, --)) ->toJSON : Symbol(Date.toJSON, Decl(lib.d.ts, --, --)) +>Date.prototype.toJSON : Symbol(Date.toJSON, Decl(lib.es5.d.ts, --, --)) +>Date.prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>prototype : Symbol(DateConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>toJSON : Symbol(Date.toJSON, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/library_ObjectPrototypeProperties.symbols b/tests/baselines/reference/library_ObjectPrototypeProperties.symbols index acbeccc02d0..fd3ade86730 100644 --- a/tests/baselines/reference/library_ObjectPrototypeProperties.symbols +++ b/tests/baselines/reference/library_ObjectPrototypeProperties.symbols @@ -2,52 +2,52 @@ // Properties of the Object Prototype Object as per ES5 spec // http://www.ecma-international.org/ecma-262/5.1/#sec-15.2.4 Object.prototype.constructor; ->Object.prototype.constructor : Symbol(Object.constructor, Decl(lib.d.ts, --, --)) ->Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->constructor : Symbol(Object.constructor, Decl(lib.d.ts, --, --)) +>Object.prototype.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) +>Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) Object.prototype.toString(); ->Object.prototype.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) ->Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>Object.prototype.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) +>Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) Object.prototype.toLocaleString(); ->Object.prototype.toLocaleString : Symbol(Object.toLocaleString, Decl(lib.d.ts, --, --)) ->Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->toLocaleString : Symbol(Object.toLocaleString, Decl(lib.d.ts, --, --)) +>Object.prototype.toLocaleString : Symbol(Object.toLocaleString, Decl(lib.es5.d.ts, --, --)) +>Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>toLocaleString : Symbol(Object.toLocaleString, Decl(lib.es5.d.ts, --, --)) Object.prototype.valueOf(); ->Object.prototype.valueOf : Symbol(Object.valueOf, Decl(lib.d.ts, --, --)) ->Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->valueOf : Symbol(Object.valueOf, Decl(lib.d.ts, --, --)) +>Object.prototype.valueOf : Symbol(Object.valueOf, Decl(lib.es5.d.ts, --, --)) +>Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>valueOf : Symbol(Object.valueOf, Decl(lib.es5.d.ts, --, --)) Object.prototype.hasOwnProperty("string"); ->Object.prototype.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) ->Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>Object.prototype.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) +>Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) Object.prototype.isPrototypeOf(Object); ->Object.prototype.isPrototypeOf : Symbol(Object.isPrototypeOf, Decl(lib.d.ts, --, --)) ->Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->isPrototypeOf : Symbol(Object.isPrototypeOf, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.prototype.isPrototypeOf : Symbol(Object.isPrototypeOf, Decl(lib.es5.d.ts, --, --)) +>Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>isPrototypeOf : Symbol(Object.isPrototypeOf, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) Object.prototype.propertyIsEnumerable("string"); ->Object.prototype.propertyIsEnumerable : Symbol(Object.propertyIsEnumerable, Decl(lib.d.ts, --, --)) ->Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->propertyIsEnumerable : Symbol(Object.propertyIsEnumerable, Decl(lib.d.ts, --, --)) +>Object.prototype.propertyIsEnumerable : Symbol(Object.propertyIsEnumerable, Decl(lib.es5.d.ts, --, --)) +>Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>propertyIsEnumerable : Symbol(Object.propertyIsEnumerable, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/library_RegExpExecArraySlice.symbols b/tests/baselines/reference/library_RegExpExecArraySlice.symbols index d1ad57ff1d5..0d8e5341f08 100644 --- a/tests/baselines/reference/library_RegExpExecArraySlice.symbols +++ b/tests/baselines/reference/library_RegExpExecArraySlice.symbols @@ -2,20 +2,20 @@ // RegExpExecArray.slice can have zero, one, or two arguments var regExpExecArrayValue: RegExpExecArray; >regExpExecArrayValue : Symbol(regExpExecArrayValue, Decl(library_RegExpExecArraySlice.ts, 1, 3)) ->RegExpExecArray : Symbol(RegExpExecArray, Decl(lib.d.ts, --, --)) +>RegExpExecArray : Symbol(RegExpExecArray, Decl(lib.es5.d.ts, --, --)) regExpExecArrayValue.slice(); ->regExpExecArrayValue.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>regExpExecArrayValue.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) >regExpExecArrayValue : Symbol(regExpExecArrayValue, Decl(library_RegExpExecArraySlice.ts, 1, 3)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) regExpExecArrayValue.slice(0); ->regExpExecArrayValue.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>regExpExecArrayValue.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) >regExpExecArrayValue : Symbol(regExpExecArrayValue, Decl(library_RegExpExecArraySlice.ts, 1, 3)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) regExpExecArrayValue.slice(0,1); ->regExpExecArrayValue.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>regExpExecArrayValue.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) >regExpExecArrayValue : Symbol(regExpExecArrayValue, Decl(library_RegExpExecArraySlice.ts, 1, 3)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/library_StringSlice.symbols b/tests/baselines/reference/library_StringSlice.symbols index bdf661c5ab2..4c8db8371ae 100644 --- a/tests/baselines/reference/library_StringSlice.symbols +++ b/tests/baselines/reference/library_StringSlice.symbols @@ -1,23 +1,23 @@ === tests/cases/compiler/library_StringSlice.ts === // String.prototype.slice can have zero, one, or two arguments String.prototype.slice(); ->String.prototype.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) ->String.prototype : Symbol(StringConstructor.prototype, Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(StringConstructor.prototype, Decl(lib.d.ts, --, --)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>String.prototype.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) +>String.prototype : Symbol(StringConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(StringConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) String.prototype.slice(0); ->String.prototype.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) ->String.prototype : Symbol(StringConstructor.prototype, Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(StringConstructor.prototype, Decl(lib.d.ts, --, --)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>String.prototype.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) +>String.prototype : Symbol(StringConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(StringConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) String.prototype.slice(0,1); ->String.prototype.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) ->String.prototype : Symbol(StringConstructor.prototype, Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(StringConstructor.prototype, Decl(lib.d.ts, --, --)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>String.prototype.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) +>String.prototype : Symbol(StringConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(StringConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/literalTypes2.symbols b/tests/baselines/reference/literalTypes2.symbols index a59a91eeb1a..9011de6bd83 100644 --- a/tests/baselines/reference/literalTypes2.symbols +++ b/tests/baselines/reference/literalTypes2.symbols @@ -573,14 +573,14 @@ function append(a: T[], x: T): T[] { let result = a.slice(); >result : Symbol(result, Decl(literalTypes2.ts, 169, 7)) ->a.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>a.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(literalTypes2.ts, 168, 19)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) result.push(x); ->result.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>result.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(literalTypes2.ts, 169, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(literalTypes2.ts, 168, 26)) return result; diff --git a/tests/baselines/reference/literalTypes3.symbols b/tests/baselines/reference/literalTypes3.symbols index 85838498df1..755741ef100 100644 --- a/tests/baselines/reference/literalTypes3.symbols +++ b/tests/baselines/reference/literalTypes3.symbols @@ -64,7 +64,7 @@ function f4(x: number) { >x : Symbol(x, Decl(literalTypes3.ts, 26, 12)) } throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f5(x: number, y: 1 | 2) { diff --git a/tests/baselines/reference/literals.symbols b/tests/baselines/reference/literals.symbols index 043e4230893..609d1d41826 100644 --- a/tests/baselines/reference/literals.symbols +++ b/tests/baselines/reference/literals.symbols @@ -76,7 +76,7 @@ var s = "foo\ var r: RegExp; >r : Symbol(r, Decl(literals.ts, 34, 3), Decl(literals.ts, 35, 3), Decl(literals.ts, 36, 3)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r = /what/; >r : Symbol(r, Decl(literals.ts, 34, 3), Decl(literals.ts, 35, 3), Decl(literals.ts, 36, 3)) diff --git a/tests/baselines/reference/literalsInComputedProperties1.symbols b/tests/baselines/reference/literalsInComputedProperties1.symbols index 81f28b87631..5df2c2a6df7 100644 --- a/tests/baselines/reference/literalsInComputedProperties1.symbols +++ b/tests/baselines/reference/literalsInComputedProperties1.symbols @@ -17,28 +17,28 @@ let x = { >"4" : Symbol(["4"], Decl(literalsInComputedProperties1.ts, 3, 10)) } x[1].toExponential(); ->x[1].toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x[1].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(literalsInComputedProperties1.ts, 0, 3)) >1 : Symbol(1, Decl(literalsInComputedProperties1.ts, 0, 9)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) x[2].toExponential(); ->x[2].toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x[2].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(literalsInComputedProperties1.ts, 0, 3)) >2 : Symbol([2], Decl(literalsInComputedProperties1.ts, 1, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) x[3].toExponential(); ->x[3].toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x[3].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(literalsInComputedProperties1.ts, 0, 3)) >3 : Symbol("3", Decl(literalsInComputedProperties1.ts, 2, 10)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) x[4].toExponential(); ->x[4].toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x[4].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(literalsInComputedProperties1.ts, 0, 3)) >4 : Symbol(["4"], Decl(literalsInComputedProperties1.ts, 3, 10)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) interface A { >A : Symbol(A, Decl(literalsInComputedProperties1.ts, 9, 21)) @@ -63,28 +63,28 @@ let y:A; >A : Symbol(A, Decl(literalsInComputedProperties1.ts, 9, 21)) y[1].toExponential(); ->y[1].toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>y[1].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 3)) >1 : Symbol(A[1], Decl(literalsInComputedProperties1.ts, 11, 13)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) y[2].toExponential(); ->y[2].toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>y[2].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 3)) >2 : Symbol(A[2], Decl(literalsInComputedProperties1.ts, 12, 13)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) y[3].toExponential(); ->y[3].toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>y[3].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 3)) >3 : Symbol(A["3"], Decl(literalsInComputedProperties1.ts, 13, 15)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) y[4].toExponential(); ->y[4].toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>y[4].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(literalsInComputedProperties1.ts, 18, 3)) >4 : Symbol(A["4"], Decl(literalsInComputedProperties1.ts, 14, 15)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) class C { >C : Symbol(C, Decl(literalsInComputedProperties1.ts, 22, 21)) @@ -109,28 +109,28 @@ let z:C; >C : Symbol(C, Decl(literalsInComputedProperties1.ts, 22, 21)) z[1].toExponential(); ->z[1].toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>z[1].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 3)) >1 : Symbol(C[1], Decl(literalsInComputedProperties1.ts, 24, 9)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) z[2].toExponential(); ->z[2].toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>z[2].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 3)) >2 : Symbol(C[2], Decl(literalsInComputedProperties1.ts, 25, 13)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) z[3].toExponential(); ->z[3].toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>z[3].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 3)) >3 : Symbol(C["3"], Decl(literalsInComputedProperties1.ts, 26, 15)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) z[4].toExponential(); ->z[4].toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>z[4].toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >z : Symbol(z, Decl(literalsInComputedProperties1.ts, 31, 3)) >4 : Symbol(C["4"], Decl(literalsInComputedProperties1.ts, 27, 15)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) enum X { >X : Symbol(X, Decl(literalsInComputedProperties1.ts, 35, 21)) diff --git a/tests/baselines/reference/localClassesInLoop.symbols b/tests/baselines/reference/localClassesInLoop.symbols index 6862525768e..45ee04bd8fa 100644 --- a/tests/baselines/reference/localClassesInLoop.symbols +++ b/tests/baselines/reference/localClassesInLoop.symbols @@ -16,9 +16,9 @@ for (let x = 0; x < 2; ++x) { >C : Symbol(C, Decl(localClassesInLoop.ts, 4, 29)) data.push(() => C); ->data.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>data.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >data : Symbol(data, Decl(localClassesInLoop.ts, 3, 3)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >C : Symbol(C, Decl(localClassesInLoop.ts, 4, 29)) } diff --git a/tests/baselines/reference/localClassesInLoop_ES6.symbols b/tests/baselines/reference/localClassesInLoop_ES6.symbols index d034881f1e4..582eca51f04 100644 --- a/tests/baselines/reference/localClassesInLoop_ES6.symbols +++ b/tests/baselines/reference/localClassesInLoop_ES6.symbols @@ -16,9 +16,9 @@ for (let x = 0; x < 2; ++x) { >C : Symbol(C, Decl(localClassesInLoop_ES6.ts, 4, 29)) data.push(() => C); ->data.push : Symbol(Array.push, Decl(lib.es6.d.ts, --, --)) +>data.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >data : Symbol(data, Decl(localClassesInLoop_ES6.ts, 3, 3)) ->push : Symbol(Array.push, Decl(lib.es6.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >C : Symbol(C, Decl(localClassesInLoop_ES6.ts, 4, 29)) } diff --git a/tests/baselines/reference/localTypes5.symbols b/tests/baselines/reference/localTypes5.symbols index dc0e3c80120..02b5348b550 100644 --- a/tests/baselines/reference/localTypes5.symbols +++ b/tests/baselines/reference/localTypes5.symbols @@ -22,7 +22,7 @@ function foo() { >Y : Symbol(Y, Decl(localTypes5.ts, 3, 36)) })(); ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } } var x = new X(); diff --git a/tests/baselines/reference/logicalNotOperatorWithStringType.symbols b/tests/baselines/reference/logicalNotOperatorWithStringType.symbols index 50432fe2333..371b84796f5 100644 --- a/tests/baselines/reference/logicalNotOperatorWithStringType.symbols +++ b/tests/baselines/reference/logicalNotOperatorWithStringType.symbols @@ -88,9 +88,9 @@ var ResultIsBoolean11 = !(STRING + STRING); var ResultIsBoolean12 = !STRING.charAt(0); >ResultIsBoolean12 : Symbol(ResultIsBoolean12, Decl(logicalNotOperatorWithStringType.ts, 32, 3)) ->STRING.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(logicalNotOperatorWithStringType.ts, 1, 3)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) // multiple ! operator var ResultIsBoolean13 = !!STRING; diff --git a/tests/baselines/reference/logicalOrExpressionIsNotContextuallyTyped.symbols b/tests/baselines/reference/logicalOrExpressionIsNotContextuallyTyped.symbols index a7dfba5f4cb..889bad50613 100644 --- a/tests/baselines/reference/logicalOrExpressionIsNotContextuallyTyped.symbols +++ b/tests/baselines/reference/logicalOrExpressionIsNotContextuallyTyped.symbols @@ -14,7 +14,7 @@ var r = a || ((a) => a.toLowerCase()); >r : Symbol(r, Decl(logicalOrExpressionIsNotContextuallyTyped.ts, 9, 3)) >a : Symbol(a, Decl(logicalOrExpressionIsNotContextuallyTyped.ts, 6, 3)) >a : Symbol(a, Decl(logicalOrExpressionIsNotContextuallyTyped.ts, 9, 15)) ->a.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>a.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(logicalOrExpressionIsNotContextuallyTyped.ts, 9, 15)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/malformedTags.symbols b/tests/baselines/reference/malformedTags.symbols index cd98f2a59a3..bd0dc3d4a80 100644 --- a/tests/baselines/reference/malformedTags.symbols +++ b/tests/baselines/reference/malformedTags.symbols @@ -6,7 +6,7 @@ */ var isArray = Array.isArray; >isArray : Symbol(isArray, Decl(myFile02.js, 5, 3)) ->Array.isArray : Symbol(ArrayConstructor.isArray, Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->isArray : Symbol(ArrayConstructor.isArray, Decl(lib.d.ts, --, --)) +>Array.isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/mapOnTupleTypes01.symbols b/tests/baselines/reference/mapOnTupleTypes01.symbols index ba21161decc..d3b55ab3509 100644 --- a/tests/baselines/reference/mapOnTupleTypes01.symbols +++ b/tests/baselines/reference/mapOnTupleTypes01.symbols @@ -1,8 +1,8 @@ === tests/cases/compiler/mapOnTupleTypes01.ts === export let mapOnLooseArrayLiteral = [1, 2, 3, 4].map(n => n * n); >mapOnLooseArrayLiteral : Symbol(mapOnLooseArrayLiteral, Decl(mapOnTupleTypes01.ts, 0, 10)) ->[1, 2, 3, 4].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>[1, 2, 3, 4].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 0, 53)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 0, 53)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 0, 53)) @@ -14,9 +14,9 @@ let numTuple: [number] = [1]; export let a = numTuple.map(x => x * x); >a : Symbol(a, Decl(mapOnTupleTypes01.ts, 5, 10)) ->numTuple.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>numTuple.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >numTuple : Symbol(numTuple, Decl(mapOnTupleTypes01.ts, 4, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(mapOnTupleTypes01.ts, 5, 28)) >x : Symbol(x, Decl(mapOnTupleTypes01.ts, 5, 28)) >x : Symbol(x, Decl(mapOnTupleTypes01.ts, 5, 28)) @@ -34,28 +34,28 @@ let numStr: [number, string] = [ 100, "hello"]; export let b = numNum.map(n => n * n); >b : Symbol(b, Decl(mapOnTupleTypes01.ts, 13, 10)) ->numNum.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>numNum.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >numNum : Symbol(numNum, Decl(mapOnTupleTypes01.ts, 9, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 13, 26)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 13, 26)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 13, 26)) export let c = strStr.map(s => s.charCodeAt(0)); >c : Symbol(c, Decl(mapOnTupleTypes01.ts, 14, 10)) ->strStr.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>strStr.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >strStr : Symbol(strStr, Decl(mapOnTupleTypes01.ts, 10, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(mapOnTupleTypes01.ts, 14, 26)) ->s.charCodeAt : Symbol(String.charCodeAt, Decl(lib.d.ts, --, --)) +>s.charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(mapOnTupleTypes01.ts, 14, 26)) ->charCodeAt : Symbol(String.charCodeAt, Decl(lib.d.ts, --, --)) +>charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --)) export let d = numStr.map(x => x); >d : Symbol(d, Decl(mapOnTupleTypes01.ts, 15, 10)) ->numStr.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>numStr.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >numStr : Symbol(numStr, Decl(mapOnTupleTypes01.ts, 11, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(mapOnTupleTypes01.ts, 15, 26)) >x : Symbol(x, Decl(mapOnTupleTypes01.ts, 15, 26)) @@ -66,9 +66,9 @@ let numNumNum: [number, number, number] = [1, 2, 3]; export let e = numNumNum.map(n => n * n); >e : Symbol(e, Decl(mapOnTupleTypes01.ts, 21, 10)) ->numNumNum.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>numNumNum.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >numNumNum : Symbol(numNumNum, Decl(mapOnTupleTypes01.ts, 19, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 21, 29)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 21, 29)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 21, 29)) @@ -80,9 +80,9 @@ let numNumNumNum: [number, number, number, number] = [1, 2, 3, 4]; export let f = numNumNumNum.map(n => n * n); >f : Symbol(f, Decl(mapOnTupleTypes01.ts, 27, 10)) ->numNumNumNum.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>numNumNumNum.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >numNumNumNum : Symbol(numNumNumNum, Decl(mapOnTupleTypes01.ts, 25, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 27, 32)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 27, 32)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 27, 32)) @@ -94,9 +94,9 @@ let numNumNumNumNum: [number, number, number, number, number] = [1, 2, 3, 4, 5]; export let g = numNumNumNumNum.map(n => n * n); >g : Symbol(g, Decl(mapOnTupleTypes01.ts, 33, 10)) ->numNumNumNumNum.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>numNumNumNumNum.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >numNumNumNumNum : Symbol(numNumNumNumNum, Decl(mapOnTupleTypes01.ts, 31, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 33, 35)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 33, 35)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 33, 35)) @@ -109,9 +109,9 @@ let numNumNumNumNumNum: [number, number, number, number, number, number] = [1, 2 export let h = numNumNumNumNum.map(n => n * n); >h : Symbol(h, Decl(mapOnTupleTypes01.ts, 40, 10)) ->numNumNumNumNum.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>numNumNumNumNum.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >numNumNumNumNum : Symbol(numNumNumNumNum, Decl(mapOnTupleTypes01.ts, 31, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 40, 35)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 40, 35)) >n : Symbol(n, Decl(mapOnTupleTypes01.ts, 40, 35)) diff --git a/tests/baselines/reference/mapOnTupleTypes02.symbols b/tests/baselines/reference/mapOnTupleTypes02.symbols index e0f37faf8ea..95241075d3b 100644 --- a/tests/baselines/reference/mapOnTupleTypes02.symbols +++ b/tests/baselines/reference/mapOnTupleTypes02.symbols @@ -8,9 +8,9 @@ export function increment(point: Point) { >Point : Symbol(Point, Decl(mapOnTupleTypes02.ts, 0, 0)) return point.map(d => d + 1); ->point.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>point.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >point : Symbol(point, Decl(mapOnTupleTypes02.ts, 2, 26)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >d : Symbol(d, Decl(mapOnTupleTypes02.ts, 3, 19)) >d : Symbol(d, Decl(mapOnTupleTypes02.ts, 3, 19)) } diff --git a/tests/baselines/reference/mappedTypeErrors.symbols b/tests/baselines/reference/mappedTypeErrors.symbols index 2e4ddb47cbf..80ce5d49845 100644 --- a/tests/baselines/reference/mappedTypeErrors.symbols +++ b/tests/baselines/reference/mappedTypeErrors.symbols @@ -46,48 +46,48 @@ type T01 = { [P in number]: string }; // Error type T02 = { [P in Date]: number }; // Error >T02 : Symbol(T02, Decl(mappedTypeErrors.ts, 19, 37)) >P : Symbol(P, Decl(mappedTypeErrors.ts, 20, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) type T03 = Record; // Error >T03 : Symbol(T03, Decl(mappedTypeErrors.ts, 20, 35)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) type T10 = Pick; >T10 : Symbol(T10, Decl(mappedTypeErrors.ts, 21, 32)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypeErrors.ts, 0, 0)) type T11 = Pick; // Error >T11 : Symbol(T11, Decl(mappedTypeErrors.ts, 23, 31)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypeErrors.ts, 0, 0)) type T12 = Pick; // Error >T12 : Symbol(T12, Decl(mappedTypeErrors.ts, 24, 30)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypeErrors.ts, 0, 0)) type T13 = Pick; >T13 : Symbol(T13, Decl(mappedTypeErrors.ts, 25, 39)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypeErrors.ts, 0, 0)) >Named : Symbol(Named, Decl(mappedTypeErrors.ts, 5, 1)) type T14 = Pick; // Error >T14 : Symbol(T14, Decl(mappedTypeErrors.ts, 26, 36)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypeErrors.ts, 0, 0)) >Point : Symbol(Point, Decl(mappedTypeErrors.ts, 9, 1)) type T15 = Pick; >T15 : Symbol(T15, Decl(mappedTypeErrors.ts, 27, 36)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypeErrors.ts, 0, 0)) type T16 = Pick; // Error >T16 : Symbol(T16, Decl(mappedTypeErrors.ts, 28, 30)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypeErrors.ts, 0, 0)) function f1(x: T) { @@ -98,7 +98,7 @@ function f1(x: T) { let y: Pick; // Error >y : Symbol(y, Decl(mappedTypeErrors.ts, 32, 7)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypeErrors.ts, 0, 0)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 31, 12)) } @@ -111,7 +111,7 @@ function f2(x: T) { let y: Pick; // Error >y : Symbol(y, Decl(mappedTypeErrors.ts, 36, 7)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypeErrors.ts, 0, 0)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 35, 12)) } @@ -125,7 +125,7 @@ function f3(x: T) { let y: Pick; >y : Symbol(y, Decl(mappedTypeErrors.ts, 40, 7)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypeErrors.ts, 0, 0)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 39, 12)) } @@ -139,7 +139,7 @@ function f4(x: T) { let y: Pick; >y : Symbol(y, Decl(mappedTypeErrors.ts, 44, 7)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypeErrors.ts, 0, 0)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 43, 12)) } @@ -236,7 +236,7 @@ declare function objAndReadonly(primary: T, secondary: Readonly): T; >primary : Symbol(primary, Decl(mappedTypeErrors.ts, 70, 35)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 70, 32)) >secondary : Symbol(secondary, Decl(mappedTypeErrors.ts, 70, 46)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 70, 32)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 70, 32)) @@ -246,7 +246,7 @@ declare function objAndPartial(primary: T, secondary: Partial): T; >primary : Symbol(primary, Decl(mappedTypeErrors.ts, 71, 34)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 71, 31)) >secondary : Symbol(secondary, Decl(mappedTypeErrors.ts, 71, 45)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 71, 31)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 71, 31)) @@ -326,7 +326,7 @@ function setState(obj: T, props: Pick) { >obj : Symbol(obj, Decl(mappedTypeErrors.ts, 92, 40)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 92, 18)) >props : Symbol(props, Decl(mappedTypeErrors.ts, 92, 47)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 92, 18)) >K : Symbol(K, Decl(mappedTypeErrors.ts, 92, 20)) @@ -398,7 +398,7 @@ class C { >K : Symbol(K, Decl(mappedTypeErrors.ts, 109, 13)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 107, 8)) >props : Symbol(props, Decl(mappedTypeErrors.ts, 109, 32)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeErrors.ts, 107, 8)) >K : Symbol(K, Decl(mappedTypeErrors.ts, 109, 13)) @@ -478,7 +478,7 @@ let x1: T2 = { a: 'no' }; // Error let x2: Partial = { a: 'no' }; // Error >x2 : Symbol(x2, Decl(mappedTypeErrors.ts, 128, 3)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T2 : Symbol(T2, Decl(mappedTypeErrors.ts, 123, 24)) >a : Symbol(a, Decl(mappedTypeErrors.ts, 128, 23)) diff --git a/tests/baselines/reference/mappedTypeInferenceErrors.symbols b/tests/baselines/reference/mappedTypeInferenceErrors.symbols index f8656a42cb1..577ddd44383 100644 --- a/tests/baselines/reference/mappedTypeInferenceErrors.symbols +++ b/tests/baselines/reference/mappedTypeInferenceErrors.symbols @@ -22,7 +22,7 @@ declare function foo(options: { props: P, computed: ComputedOf } & This >computed : Symbol(computed, Decl(mappedTypeInferenceErrors.ts, 6, 47)) >ComputedOf : Symbol(ComputedOf, Decl(mappedTypeInferenceErrors.ts, 0, 0)) >C : Symbol(C, Decl(mappedTypeInferenceErrors.ts, 6, 23)) ->ThisType : Symbol(ThisType, Decl(lib.d.ts, --, --)) +>ThisType : Symbol(ThisType, Decl(lib.es5.d.ts, --, --)) >P : Symbol(P, Decl(mappedTypeInferenceErrors.ts, 6, 21)) >C : Symbol(C, Decl(mappedTypeInferenceErrors.ts, 6, 23)) diff --git a/tests/baselines/reference/mappedTypeModifiers.symbols b/tests/baselines/reference/mappedTypeModifiers.symbols index 88896acf2ce..90e9171b8c2 100644 --- a/tests/baselines/reference/mappedTypeModifiers.symbols +++ b/tests/baselines/reference/mappedTypeModifiers.symbols @@ -51,14 +51,14 @@ var v01: { [P in keyof T]: T[P] }; var v01: Pick; >v01 : Symbol(v01, Decl(mappedTypeModifiers.ts, 11, 3), Decl(mappedTypeModifiers.ts, 12, 3), Decl(mappedTypeModifiers.ts, 13, 3), Decl(mappedTypeModifiers.ts, 14, 3)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeModifiers.ts, 0, 0)) >T : Symbol(T, Decl(mappedTypeModifiers.ts, 0, 0)) var v01: Pick, keyof T>; >v01 : Symbol(v01, Decl(mappedTypeModifiers.ts, 11, 3), Decl(mappedTypeModifiers.ts, 12, 3), Decl(mappedTypeModifiers.ts, 13, 3), Decl(mappedTypeModifiers.ts, 14, 3)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeModifiers.ts, 0, 0)) >T : Symbol(T, Decl(mappedTypeModifiers.ts, 0, 0)) >T : Symbol(T, Decl(mappedTypeModifiers.ts, 0, 0)) @@ -76,7 +76,7 @@ var v02: { [P in keyof T]?: T[P] }; var v02: Partial; >v02 : Symbol(v02, Decl(mappedTypeModifiers.ts, 16, 3), Decl(mappedTypeModifiers.ts, 17, 3), Decl(mappedTypeModifiers.ts, 18, 3), Decl(mappedTypeModifiers.ts, 19, 3), Decl(mappedTypeModifiers.ts, 20, 3)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeModifiers.ts, 0, 0)) var v02: { [P in keyof TP]: TP[P] } @@ -88,7 +88,7 @@ var v02: { [P in keyof TP]: TP[P] } var v02: Pick; >v02 : Symbol(v02, Decl(mappedTypeModifiers.ts, 16, 3), Decl(mappedTypeModifiers.ts, 17, 3), Decl(mappedTypeModifiers.ts, 18, 3), Decl(mappedTypeModifiers.ts, 19, 3), Decl(mappedTypeModifiers.ts, 20, 3)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >TP : Symbol(TP, Decl(mappedTypeModifiers.ts, 0, 34)) >TP : Symbol(TP, Decl(mappedTypeModifiers.ts, 0, 34)) @@ -105,7 +105,7 @@ var v03: { readonly [P in keyof T]: T[P] }; var v03: Readonly; >v03 : Symbol(v03, Decl(mappedTypeModifiers.ts, 22, 3), Decl(mappedTypeModifiers.ts, 23, 3), Decl(mappedTypeModifiers.ts, 24, 3), Decl(mappedTypeModifiers.ts, 25, 3), Decl(mappedTypeModifiers.ts, 26, 3)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeModifiers.ts, 0, 0)) var v03: { [P in keyof TR]: TR[P] } @@ -117,7 +117,7 @@ var v03: { [P in keyof TR]: TR[P] } var v03: Pick; >v03 : Symbol(v03, Decl(mappedTypeModifiers.ts, 22, 3), Decl(mappedTypeModifiers.ts, 23, 3), Decl(mappedTypeModifiers.ts, 24, 3), Decl(mappedTypeModifiers.ts, 25, 3), Decl(mappedTypeModifiers.ts, 26, 3)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >TR : Symbol(TR, Decl(mappedTypeModifiers.ts, 1, 37)) >TR : Symbol(TR, Decl(mappedTypeModifiers.ts, 1, 37)) @@ -134,24 +134,24 @@ var v04: { readonly [P in keyof T]?: T[P] }; var v04: Partial; >v04 : Symbol(v04, Decl(mappedTypeModifiers.ts, 28, 3), Decl(mappedTypeModifiers.ts, 29, 3), Decl(mappedTypeModifiers.ts, 30, 3), Decl(mappedTypeModifiers.ts, 31, 3), Decl(mappedTypeModifiers.ts, 32, 3) ... and 3 more) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >TR : Symbol(TR, Decl(mappedTypeModifiers.ts, 1, 37)) var v04: Readonly; >v04 : Symbol(v04, Decl(mappedTypeModifiers.ts, 28, 3), Decl(mappedTypeModifiers.ts, 29, 3), Decl(mappedTypeModifiers.ts, 30, 3), Decl(mappedTypeModifiers.ts, 31, 3), Decl(mappedTypeModifiers.ts, 32, 3) ... and 3 more) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >TP : Symbol(TP, Decl(mappedTypeModifiers.ts, 0, 34)) var v04: Partial>; >v04 : Symbol(v04, Decl(mappedTypeModifiers.ts, 28, 3), Decl(mappedTypeModifiers.ts, 29, 3), Decl(mappedTypeModifiers.ts, 30, 3), Decl(mappedTypeModifiers.ts, 31, 3), Decl(mappedTypeModifiers.ts, 32, 3) ... and 3 more) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeModifiers.ts, 0, 0)) var v04: Readonly>; >v04 : Symbol(v04, Decl(mappedTypeModifiers.ts, 28, 3), Decl(mappedTypeModifiers.ts, 29, 3), Decl(mappedTypeModifiers.ts, 30, 3), Decl(mappedTypeModifiers.ts, 31, 3), Decl(mappedTypeModifiers.ts, 32, 3) ... and 3 more) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeModifiers.ts, 0, 0)) var v04: { [P in keyof TPR]: TPR[P] } @@ -163,7 +163,7 @@ var v04: { [P in keyof TPR]: TPR[P] } var v04: Pick; >v04 : Symbol(v04, Decl(mappedTypeModifiers.ts, 28, 3), Decl(mappedTypeModifiers.ts, 29, 3), Decl(mappedTypeModifiers.ts, 30, 3), Decl(mappedTypeModifiers.ts, 31, 3), Decl(mappedTypeModifiers.ts, 32, 3) ... and 3 more) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >TPR : Symbol(TPR, Decl(mappedTypeModifiers.ts, 2, 53)) >T : Symbol(T, Decl(mappedTypeModifiers.ts, 0, 0)) @@ -236,14 +236,14 @@ var b01: { [P in keyof B]: B[P] }; var b01: Pick; >b01 : Symbol(b01, Decl(mappedTypeModifiers.ts, 50, 3), Decl(mappedTypeModifiers.ts, 51, 3), Decl(mappedTypeModifiers.ts, 52, 3), Decl(mappedTypeModifiers.ts, 53, 3)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >B : Symbol(B, Decl(mappedTypeModifiers.ts, 37, 51)) >B : Symbol(B, Decl(mappedTypeModifiers.ts, 37, 51)) var b01: Pick, keyof B>; >b01 : Symbol(b01, Decl(mappedTypeModifiers.ts, 50, 3), Decl(mappedTypeModifiers.ts, 51, 3), Decl(mappedTypeModifiers.ts, 52, 3), Decl(mappedTypeModifiers.ts, 53, 3)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >B : Symbol(B, Decl(mappedTypeModifiers.ts, 37, 51)) >B : Symbol(B, Decl(mappedTypeModifiers.ts, 37, 51)) >B : Symbol(B, Decl(mappedTypeModifiers.ts, 37, 51)) @@ -261,7 +261,7 @@ var b02: { [P in keyof B]?: B[P] }; var b02: Partial; >b02 : Symbol(b02, Decl(mappedTypeModifiers.ts, 55, 3), Decl(mappedTypeModifiers.ts, 56, 3), Decl(mappedTypeModifiers.ts, 57, 3), Decl(mappedTypeModifiers.ts, 58, 3), Decl(mappedTypeModifiers.ts, 59, 3)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >B : Symbol(B, Decl(mappedTypeModifiers.ts, 37, 51)) var b02: { [P in keyof BP]: BP[P] } @@ -273,7 +273,7 @@ var b02: { [P in keyof BP]: BP[P] } var b02: Pick; >b02 : Symbol(b02, Decl(mappedTypeModifiers.ts, 55, 3), Decl(mappedTypeModifiers.ts, 56, 3), Decl(mappedTypeModifiers.ts, 57, 3), Decl(mappedTypeModifiers.ts, 58, 3), Decl(mappedTypeModifiers.ts, 59, 3)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >BP : Symbol(BP, Decl(mappedTypeModifiers.ts, 39, 48)) >BP : Symbol(BP, Decl(mappedTypeModifiers.ts, 39, 48)) @@ -290,7 +290,7 @@ var b03: { readonly [P in keyof B]: B[P] }; var b03: Readonly; >b03 : Symbol(b03, Decl(mappedTypeModifiers.ts, 61, 3), Decl(mappedTypeModifiers.ts, 62, 3), Decl(mappedTypeModifiers.ts, 63, 3), Decl(mappedTypeModifiers.ts, 64, 3), Decl(mappedTypeModifiers.ts, 65, 3)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >B : Symbol(B, Decl(mappedTypeModifiers.ts, 37, 51)) var b03: { [P in keyof BR]: BR[P] } @@ -302,7 +302,7 @@ var b03: { [P in keyof BR]: BR[P] } var b03: Pick; >b03 : Symbol(b03, Decl(mappedTypeModifiers.ts, 61, 3), Decl(mappedTypeModifiers.ts, 62, 3), Decl(mappedTypeModifiers.ts, 63, 3), Decl(mappedTypeModifiers.ts, 64, 3), Decl(mappedTypeModifiers.ts, 65, 3)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >BR : Symbol(BR, Decl(mappedTypeModifiers.ts, 40, 51)) >BR : Symbol(BR, Decl(mappedTypeModifiers.ts, 40, 51)) @@ -319,24 +319,24 @@ var b04: { readonly [P in keyof B]?: B[P] }; var b04: Partial
; >b04 : Symbol(b04, Decl(mappedTypeModifiers.ts, 67, 3), Decl(mappedTypeModifiers.ts, 68, 3), Decl(mappedTypeModifiers.ts, 69, 3), Decl(mappedTypeModifiers.ts, 70, 3), Decl(mappedTypeModifiers.ts, 71, 3) ... and 3 more) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >BR : Symbol(BR, Decl(mappedTypeModifiers.ts, 40, 51)) var b04: Readonly; >b04 : Symbol(b04, Decl(mappedTypeModifiers.ts, 67, 3), Decl(mappedTypeModifiers.ts, 68, 3), Decl(mappedTypeModifiers.ts, 69, 3), Decl(mappedTypeModifiers.ts, 70, 3), Decl(mappedTypeModifiers.ts, 71, 3) ... and 3 more) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >BP : Symbol(BP, Decl(mappedTypeModifiers.ts, 39, 48)) var b04: Partial>; >b04 : Symbol(b04, Decl(mappedTypeModifiers.ts, 67, 3), Decl(mappedTypeModifiers.ts, 68, 3), Decl(mappedTypeModifiers.ts, 69, 3), Decl(mappedTypeModifiers.ts, 70, 3), Decl(mappedTypeModifiers.ts, 71, 3) ... and 3 more) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >B : Symbol(B, Decl(mappedTypeModifiers.ts, 37, 51)) var b04: Readonly>; >b04 : Symbol(b04, Decl(mappedTypeModifiers.ts, 67, 3), Decl(mappedTypeModifiers.ts, 68, 3), Decl(mappedTypeModifiers.ts, 69, 3), Decl(mappedTypeModifiers.ts, 70, 3), Decl(mappedTypeModifiers.ts, 71, 3) ... and 3 more) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >B : Symbol(B, Decl(mappedTypeModifiers.ts, 37, 51)) var b04: { [P in keyof BPR]: BPR[P] } @@ -348,7 +348,7 @@ var b04: { [P in keyof BPR]: BPR[P] } var b04: Pick; >b04 : Symbol(b04, Decl(mappedTypeModifiers.ts, 67, 3), Decl(mappedTypeModifiers.ts, 68, 3), Decl(mappedTypeModifiers.ts, 69, 3), Decl(mappedTypeModifiers.ts, 70, 3), Decl(mappedTypeModifiers.ts, 71, 3) ... and 3 more) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >BPR : Symbol(BPR, Decl(mappedTypeModifiers.ts, 41, 67)) >BPR : Symbol(BPR, Decl(mappedTypeModifiers.ts, 41, 67)) @@ -360,7 +360,7 @@ type Foo = { prop: number, [x: string]: number }; function f1(x: Partial) { >f1 : Symbol(f1, Decl(mappedTypeModifiers.ts, 76, 49)) >x : Symbol(x, Decl(mappedTypeModifiers.ts, 78, 12)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(mappedTypeModifiers.ts, 74, 30)) x.prop; // ok @@ -369,15 +369,15 @@ function f1(x: Partial) { >prop : Symbol(prop, Decl(mappedTypeModifiers.ts, 76, 12)) (x["other"] || 0).toFixed(); ->(x["other"] || 0).toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>(x["other"] || 0).toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(mappedTypeModifiers.ts, 78, 12)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) } function f2(x: Readonly) { >f2 : Symbol(f2, Decl(mappedTypeModifiers.ts, 81, 1)) >x : Symbol(x, Decl(mappedTypeModifiers.ts, 83, 12)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(mappedTypeModifiers.ts, 74, 30)) x.prop; // ok @@ -386,9 +386,9 @@ function f2(x: Readonly) { >prop : Symbol(prop, Decl(mappedTypeModifiers.ts, 76, 12)) x["other"].toFixed(); ->x["other"].toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x["other"].toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(mappedTypeModifiers.ts, 83, 12)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) } function f3(x: Boxified) { @@ -403,11 +403,11 @@ function f3(x: Boxified) { >prop : Symbol(prop, Decl(mappedTypeModifiers.ts, 76, 12)) x["other"].x.toFixed(); ->x["other"].x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x["other"].x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x["other"].x : Symbol(x, Decl(mappedTypeModifiers.ts, 37, 38)) >x : Symbol(x, Decl(mappedTypeModifiers.ts, 88, 12)) >x : Symbol(x, Decl(mappedTypeModifiers.ts, 37, 38)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) } function f4(x: { [P in keyof Foo]: Foo[P] }) { @@ -424,8 +424,8 @@ function f4(x: { [P in keyof Foo]: Foo[P] }) { >prop : Symbol(prop, Decl(mappedTypeModifiers.ts, 76, 12)) x["other"].toFixed(); ->x["other"].toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x["other"].toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(mappedTypeModifiers.ts, 93, 12)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/mappedTypePartialConstraints.symbols b/tests/baselines/reference/mappedTypePartialConstraints.symbols index 7601cd68d69..51f7d1b9087 100644 --- a/tests/baselines/reference/mappedTypePartialConstraints.symbols +++ b/tests/baselines/reference/mappedTypePartialConstraints.symbols @@ -16,7 +16,7 @@ class MyClass { doIt(data : Partial) {} >doIt : Symbol(MyClass.doIt, Decl(mappedTypePartialConstraints.ts, 6, 38)) >data : Symbol(data, Decl(mappedTypePartialConstraints.ts, 7, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypePartialConstraints.ts, 6, 14)) } diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.types b/tests/baselines/reference/mappedTypeRecursiveInference.types index 55f79242583..d6b35a75f71 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.types +++ b/tests/baselines/reference/mappedTypeRecursiveInference.types @@ -108,24 +108,24 @@ let xhr: XMLHttpRequest; >XMLHttpRequest : XMLHttpRequest const out2 = foo(xhr); ->out2 : { msCaching: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; msCachingEnabled: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; dispatchEvent: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; } ->foo(xhr) : { msCaching: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; msCachingEnabled: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; dispatchEvent: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; } +>out2 : { msCaching: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; msCachingEnabled: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; dispatchEvent: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; } +>foo(xhr) : { msCaching: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; msCachingEnabled: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; dispatchEvent: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; } >foo : (deep: Deep) => T >xhr : XMLHttpRequest out2.responseXML ->out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly styleSheets: { readonly length: any; item: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } ->out2 : { msCaching: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; msCachingEnabled: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; dispatchEvent: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; } ->responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly styleSheets: { readonly length: any; item: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } +>out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly styleSheets: { readonly length: any; item: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } +>out2 : { msCaching: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; msCachingEnabled: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; dispatchEvent: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; } +>responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly styleSheets: { readonly length: any; item: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } out2.responseXML.activeElement.className.length >out2.responseXML.activeElement.className.length : { toString: {}; toFixed: {}; toExponential: {}; toPrecision: {}; valueOf: {}; toLocaleString: {}; } ->out2.responseXML.activeElement.className : { toString: {}; charAt: {}; charCodeAt: {}; concat: {}; indexOf: {}; lastIndexOf: {}; localeCompare: {}; match: {}; replace: {}; search: {}; slice: {}; split: {}; substring: {}; toLowerCase: {}; toLocaleLowerCase: {}; toUpperCase: {}; toLocaleUpperCase: {}; trim: {}; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: {}; valueOf: {}; [Symbol.iterator]: {}; codePointAt: {}; includes: {}; endsWith: {}; normalize: {}; repeat: {}; startsWith: {}; anchor: {}; big: {}; blink: {}; bold: {}; fixed: {}; fontcolor: {}; fontsize: {}; italics: {}; link: {}; small: {}; strike: {}; sub: {}; sup: {}; } ->out2.responseXML.activeElement : { readonly assignedSlot: { name: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; add: any; contains: any; item: any; remove: any; replace: any; toString: any; toggle: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; msContentZoomFactor: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly msRegionOverflow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onariarequest: {}; oncommand: {}; ongotpointercapture: {}; onlostpointercapture: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsgotpointercapture: {}; onmsinertiastart: {}; onmslostpointercapture: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly host: any; innerHTML: any; readonly activeElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getSelection: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; attachShadow: {}; closest: {}; getAttribute: {}; getAttributeNS: {}; getAttributeNode: {}; getAttributeNodeNS: {}; getBoundingClientRect: {}; getClientRects: {}; getElementsByClassName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; hasAttribute: {}; hasAttributeNS: {}; hasAttributes: {}; insertAdjacentElement: {}; insertAdjacentHTML: {}; insertAdjacentText: {}; matches: {}; msGetRegionContent: {}; msGetUntransformedBounds: {}; msMatchesSelector: {}; msReleasePointerCapture: {}; msSetPointerCapture: {}; msZoomTo: {}; releasePointerCapture: {}; removeAttribute: {}; removeAttributeNS: {}; removeAttributeNode: {}; requestFullscreen: {}; requestPointerLock: {}; scroll: {}; scrollBy: {}; scrollIntoView: {}; scrollTo: {}; setAttribute: {}; setAttributeNS: {}; setAttributeNode: {}; setAttributeNodeNS: {}; setPointerCapture: {}; webkitMatchesSelector: {}; webkitRequestFullScreen: {}; webkitRequestFullscreen: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly nextElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly previousElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; remove: {}; } ->out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly styleSheets: { readonly length: any; item: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } ->out2 : { msCaching: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; msCachingEnabled: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; dispatchEvent: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; } ->responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly styleSheets: { readonly length: any; item: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } ->activeElement : { readonly assignedSlot: { name: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; add: any; contains: any; item: any; remove: any; replace: any; toString: any; toggle: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; msContentZoomFactor: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly msRegionOverflow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onariarequest: {}; oncommand: {}; ongotpointercapture: {}; onlostpointercapture: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsgotpointercapture: {}; onmsinertiastart: {}; onmslostpointercapture: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly host: any; innerHTML: any; readonly activeElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getSelection: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; attachShadow: {}; closest: {}; getAttribute: {}; getAttributeNS: {}; getAttributeNode: {}; getAttributeNodeNS: {}; getBoundingClientRect: {}; getClientRects: {}; getElementsByClassName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; hasAttribute: {}; hasAttributeNS: {}; hasAttributes: {}; insertAdjacentElement: {}; insertAdjacentHTML: {}; insertAdjacentText: {}; matches: {}; msGetRegionContent: {}; msGetUntransformedBounds: {}; msMatchesSelector: {}; msReleasePointerCapture: {}; msSetPointerCapture: {}; msZoomTo: {}; releasePointerCapture: {}; removeAttribute: {}; removeAttributeNS: {}; removeAttributeNode: {}; requestFullscreen: {}; requestPointerLock: {}; scroll: {}; scrollBy: {}; scrollIntoView: {}; scrollTo: {}; setAttribute: {}; setAttributeNS: {}; setAttributeNode: {}; setAttributeNodeNS: {}; setPointerCapture: {}; webkitMatchesSelector: {}; webkitRequestFullScreen: {}; webkitRequestFullscreen: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly nextElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly previousElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; remove: {}; } ->className : { toString: {}; charAt: {}; charCodeAt: {}; concat: {}; indexOf: {}; lastIndexOf: {}; localeCompare: {}; match: {}; replace: {}; search: {}; slice: {}; split: {}; substring: {}; toLowerCase: {}; toLocaleLowerCase: {}; toUpperCase: {}; toLocaleUpperCase: {}; trim: {}; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: {}; valueOf: {}; [Symbol.iterator]: {}; codePointAt: {}; includes: {}; endsWith: {}; normalize: {}; repeat: {}; startsWith: {}; anchor: {}; big: {}; blink: {}; bold: {}; fixed: {}; fontcolor: {}; fontsize: {}; italics: {}; link: {}; small: {}; strike: {}; sub: {}; sup: {}; } +>out2.responseXML.activeElement.className : { toString: {}; charAt: {}; charCodeAt: {}; concat: {}; indexOf: {}; lastIndexOf: {}; localeCompare: {}; match: {}; replace: {}; search: {}; slice: {}; split: {}; substring: {}; toLowerCase: {}; toLocaleLowerCase: {}; toUpperCase: {}; toLocaleUpperCase: {}; trim: {}; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: {}; valueOf: {}; codePointAt: {}; includes: {}; endsWith: {}; normalize: {}; repeat: {}; startsWith: {}; anchor: {}; big: {}; blink: {}; bold: {}; fixed: {}; fontcolor: {}; fontsize: {}; italics: {}; link: {}; small: {}; strike: {}; sub: {}; sup: {}; [Symbol.iterator]: {}; } +>out2.responseXML.activeElement : { readonly assignedSlot: { name: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; add: any; contains: any; item: any; remove: any; replace: any; toString: any; toggle: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; msContentZoomFactor: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly msRegionOverflow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onariarequest: {}; oncommand: {}; ongotpointercapture: {}; onlostpointercapture: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsgotpointercapture: {}; onmsinertiastart: {}; onmslostpointercapture: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly host: any; innerHTML: any; readonly activeElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getSelection: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: {}; closest: {}; getAttribute: {}; getAttributeNS: {}; getAttributeNode: {}; getAttributeNodeNS: {}; getBoundingClientRect: {}; getClientRects: {}; getElementsByClassName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; hasAttribute: {}; hasAttributeNS: {}; hasAttributes: {}; insertAdjacentElement: {}; insertAdjacentHTML: {}; insertAdjacentText: {}; matches: {}; msGetRegionContent: {}; msGetUntransformedBounds: {}; msMatchesSelector: {}; msReleasePointerCapture: {}; msSetPointerCapture: {}; msZoomTo: {}; releasePointerCapture: {}; removeAttribute: {}; removeAttributeNS: {}; removeAttributeNode: {}; requestFullscreen: {}; requestPointerLock: {}; scroll: {}; scrollBy: {}; scrollIntoView: {}; scrollTo: {}; setAttribute: {}; setAttributeNS: {}; setAttributeNode: {}; setAttributeNodeNS: {}; setPointerCapture: {}; webkitMatchesSelector: {}; webkitRequestFullScreen: {}; webkitRequestFullscreen: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly nextElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly previousElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; remove: {}; } +>out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly styleSheets: { readonly length: any; item: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } +>out2 : { msCaching: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; msCachingEnabled: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; dispatchEvent: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; } +>responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly styleSheets: { readonly length: any; item: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } +>activeElement : { readonly assignedSlot: { name: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; add: any; contains: any; item: any; remove: any; replace: any; toString: any; toggle: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; msContentZoomFactor: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly msRegionOverflow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onariarequest: {}; oncommand: {}; ongotpointercapture: {}; onlostpointercapture: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsgotpointercapture: {}; onmsinertiastart: {}; onmslostpointercapture: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly host: any; innerHTML: any; readonly activeElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getSelection: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: {}; closest: {}; getAttribute: {}; getAttributeNS: {}; getAttributeNode: {}; getAttributeNodeNS: {}; getBoundingClientRect: {}; getClientRects: {}; getElementsByClassName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; hasAttribute: {}; hasAttributeNS: {}; hasAttributes: {}; insertAdjacentElement: {}; insertAdjacentHTML: {}; insertAdjacentText: {}; matches: {}; msGetRegionContent: {}; msGetUntransformedBounds: {}; msMatchesSelector: {}; msReleasePointerCapture: {}; msSetPointerCapture: {}; msZoomTo: {}; releasePointerCapture: {}; removeAttribute: {}; removeAttributeNS: {}; removeAttributeNode: {}; requestFullscreen: {}; requestPointerLock: {}; scroll: {}; scrollBy: {}; scrollIntoView: {}; scrollTo: {}; setAttribute: {}; setAttributeNS: {}; setAttributeNode: {}; setAttributeNodeNS: {}; setPointerCapture: {}; webkitMatchesSelector: {}; webkitRequestFullScreen: {}; webkitRequestFullscreen: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly nextElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly previousElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; remove: {}; } +>className : { toString: {}; charAt: {}; charCodeAt: {}; concat: {}; indexOf: {}; lastIndexOf: {}; localeCompare: {}; match: {}; replace: {}; search: {}; slice: {}; split: {}; substring: {}; toLowerCase: {}; toLocaleLowerCase: {}; toUpperCase: {}; toLocaleUpperCase: {}; trim: {}; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: {}; valueOf: {}; codePointAt: {}; includes: {}; endsWith: {}; normalize: {}; repeat: {}; startsWith: {}; anchor: {}; big: {}; blink: {}; bold: {}; fixed: {}; fontcolor: {}; fontsize: {}; italics: {}; link: {}; small: {}; strike: {}; sub: {}; sup: {}; [Symbol.iterator]: {}; } >length : { toString: {}; toFixed: {}; toExponential: {}; toPrecision: {}; valueOf: {}; toLocaleString: {}; } diff --git a/tests/baselines/reference/mappedTypeRelationships.symbols b/tests/baselines/reference/mappedTypeRelationships.symbols index ed5317e3d75..39d82b5b857 100644 --- a/tests/baselines/reference/mappedTypeRelationships.symbols +++ b/tests/baselines/reference/mappedTypeRelationships.symbols @@ -137,7 +137,7 @@ function f10(x: T, y: Partial, k: keyof T) { >x : Symbol(x, Decl(mappedTypeRelationships.ts, 28, 16)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 28, 13)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 28, 21)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 28, 13)) >k : Symbol(k, Decl(mappedTypeRelationships.ts, 28, 36)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 28, 13)) @@ -163,7 +163,7 @@ function f11(x: T, y: Partial, k: K) { >x : Symbol(x, Decl(mappedTypeRelationships.ts, 33, 35)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 33, 13)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 33, 40)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 33, 13)) >k : Symbol(k, Decl(mappedTypeRelationships.ts, 33, 55)) >K : Symbol(K, Decl(mappedTypeRelationships.ts, 33, 15)) @@ -189,7 +189,7 @@ function f12(x: T, y: Partial, k: keyof T) { >x : Symbol(x, Decl(mappedTypeRelationships.ts, 38, 29)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 38, 13)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 38, 34)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(mappedTypeRelationships.ts, 38, 15)) >k : Symbol(k, Decl(mappedTypeRelationships.ts, 38, 49)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 38, 13)) @@ -217,7 +217,7 @@ function f13(x: T, y: Partial, k: K) { >x : Symbol(x, Decl(mappedTypeRelationships.ts, 43, 48)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 43, 13)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 43, 53)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(mappedTypeRelationships.ts, 43, 15)) >k : Symbol(k, Decl(mappedTypeRelationships.ts, 43, 68)) >K : Symbol(K, Decl(mappedTypeRelationships.ts, 43, 28)) @@ -241,7 +241,7 @@ function f20(x: T, y: Readonly, k: keyof T) { >x : Symbol(x, Decl(mappedTypeRelationships.ts, 48, 16)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 48, 13)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 48, 21)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 48, 13)) >k : Symbol(k, Decl(mappedTypeRelationships.ts, 48, 37)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 48, 13)) @@ -267,7 +267,7 @@ function f21(x: T, y: Readonly, k: K) { >x : Symbol(x, Decl(mappedTypeRelationships.ts, 53, 35)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 53, 13)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 53, 40)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 53, 13)) >k : Symbol(k, Decl(mappedTypeRelationships.ts, 53, 56)) >K : Symbol(K, Decl(mappedTypeRelationships.ts, 53, 15)) @@ -293,7 +293,7 @@ function f22(x: T, y: Readonly, k: keyof T) { >x : Symbol(x, Decl(mappedTypeRelationships.ts, 58, 29)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 58, 13)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 58, 34)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(mappedTypeRelationships.ts, 58, 15)) >k : Symbol(k, Decl(mappedTypeRelationships.ts, 58, 50)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 58, 13)) @@ -321,7 +321,7 @@ function f23(x: T, y: Readonly, k: K) { >x : Symbol(x, Decl(mappedTypeRelationships.ts, 63, 48)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 63, 13)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 63, 53)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(mappedTypeRelationships.ts, 63, 15)) >k : Symbol(k, Decl(mappedTypeRelationships.ts, 63, 69)) >K : Symbol(K, Decl(mappedTypeRelationships.ts, 63, 28)) @@ -350,7 +350,7 @@ function f30(x: T, y: Partial) { >x : Symbol(x, Decl(mappedTypeRelationships.ts, 70, 16)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 70, 13)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 70, 21)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 70, 13)) x = y; // Error @@ -367,10 +367,10 @@ function f31(x: Partial, y: Partial) { >T : Symbol(T, Decl(mappedTypeRelationships.ts, 75, 13)) >Thing : Symbol(Thing, Decl(mappedTypeRelationships.ts, 66, 1)) >x : Symbol(x, Decl(mappedTypeRelationships.ts, 75, 30)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >Thing : Symbol(Thing, Decl(mappedTypeRelationships.ts, 66, 1)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 75, 48)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 75, 13)) x = y; @@ -388,7 +388,7 @@ function f40(x: T, y: Readonly) { >x : Symbol(x, Decl(mappedTypeRelationships.ts, 80, 16)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 80, 13)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 80, 21)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 80, 13)) x = y; @@ -405,10 +405,10 @@ function f41(x: Readonly, y: Readonly) { >T : Symbol(T, Decl(mappedTypeRelationships.ts, 85, 13)) >Thing : Symbol(Thing, Decl(mappedTypeRelationships.ts, 66, 1)) >x : Symbol(x, Decl(mappedTypeRelationships.ts, 85, 30)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >Thing : Symbol(Thing, Decl(mappedTypeRelationships.ts, 66, 1)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 85, 49)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 85, 13)) x = y; @@ -540,7 +540,7 @@ function f61(x: Identity, y: Partial) { >Identity : Symbol(Identity, Decl(mappedTypeRelationships.ts, 119, 1)) >U : Symbol(U, Decl(mappedTypeRelationships.ts, 125, 13)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 125, 31)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(mappedTypeRelationships.ts, 125, 13)) x = y; // Error @@ -559,7 +559,7 @@ function f62(x: Identity, y: Readonly) { >Identity : Symbol(Identity, Decl(mappedTypeRelationships.ts, 119, 1)) >U : Symbol(U, Decl(mappedTypeRelationships.ts, 130, 13)) >y : Symbol(y, Decl(mappedTypeRelationships.ts, 130, 31)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(mappedTypeRelationships.ts, 130, 13)) x = y; @@ -755,7 +755,7 @@ function f80(t: T): Partial { >T : Symbol(T, Decl(mappedTypeRelationships.ts, 170, 13)) >t : Symbol(t, Decl(mappedTypeRelationships.ts, 170, 16)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 170, 13)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 170, 13)) return t; @@ -771,7 +771,7 @@ function f81(t: T, k: K): Partial { >T : Symbol(T, Decl(mappedTypeRelationships.ts, 174, 13)) >k : Symbol(k, Decl(mappedTypeRelationships.ts, 174, 40)) >K : Symbol(K, Decl(mappedTypeRelationships.ts, 174, 15)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 174, 13)) >K : Symbol(K, Decl(mappedTypeRelationships.ts, 174, 15)) @@ -794,7 +794,7 @@ function f82(t: T, k1: K1, k2: K2 >K1 : Symbol(K1, Decl(mappedTypeRelationships.ts, 178, 15)) >k2 : Symbol(k2, Decl(mappedTypeRelationships.ts, 178, 73)) >K2 : Symbol(K2, Decl(mappedTypeRelationships.ts, 178, 35)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeRelationships.ts, 178, 13)) >K1 : Symbol(K1, Decl(mappedTypeRelationships.ts, 178, 15)) >K2 : Symbol(K2, Decl(mappedTypeRelationships.ts, 178, 35)) diff --git a/tests/baselines/reference/mappedTypeUnionConstraintInferences.symbols b/tests/baselines/reference/mappedTypeUnionConstraintInferences.symbols index 10a998ace63..fb4d09e8d0b 100644 --- a/tests/baselines/reference/mappedTypeUnionConstraintInferences.symbols +++ b/tests/baselines/reference/mappedTypeUnionConstraintInferences.symbols @@ -4,9 +4,9 @@ export declare type Omit = Pick>; >T : Symbol(T, Decl(mappedTypeUnionConstraintInferences.ts, 0, 25)) >K : Symbol(K, Decl(mappedTypeUnionConstraintInferences.ts, 0, 27)) >T : Symbol(T, Decl(mappedTypeUnionConstraintInferences.ts, 0, 25)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeUnionConstraintInferences.ts, 0, 25)) ->Exclude : Symbol(Exclude, Decl(lib.d.ts, --, --)) +>Exclude : Symbol(Exclude, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeUnionConstraintInferences.ts, 0, 25)) >K : Symbol(K, Decl(mappedTypeUnionConstraintInferences.ts, 0, 27)) @@ -15,8 +15,8 @@ export declare type PartialProperties = Partial >T : Symbol(T, Decl(mappedTypeUnionConstraintInferences.ts, 1, 38)) >K : Symbol(K, Decl(mappedTypeUnionConstraintInferences.ts, 1, 40)) >T : Symbol(T, Decl(mappedTypeUnionConstraintInferences.ts, 1, 38)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypeUnionConstraintInferences.ts, 1, 38)) >K : Symbol(K, Decl(mappedTypeUnionConstraintInferences.ts, 1, 40)) >Omit : Symbol(Omit, Decl(mappedTypeUnionConstraintInferences.ts, 0, 0)) diff --git a/tests/baselines/reference/mappedTypes1.symbols b/tests/baselines/reference/mappedTypes1.symbols index 8cafc799d84..f7e6818aa58 100644 --- a/tests/baselines/reference/mappedTypes1.symbols +++ b/tests/baselines/reference/mappedTypes1.symbols @@ -24,7 +24,7 @@ type T03 = { [P in keyof Item]: Date }; >T03 : Symbol(T03, Decl(mappedTypes1.ts, 4, 41)) >P : Symbol(P, Decl(mappedTypes1.ts, 5, 14)) >Item : Symbol(Item, Decl(mappedTypes1.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) type T10 = { [P in keyof Item]: Item[P] }; >T10 : Symbol(T10, Decl(mappedTypes1.ts, 5, 39)) @@ -65,7 +65,7 @@ type T21 = { [P in keyof Item]: Array }; >T21 : Symbol(T21, Decl(mappedTypes1.ts, 12, 49)) >P : Symbol(P, Decl(mappedTypes1.ts, 13, 14)) >Item : Symbol(Item, Decl(mappedTypes1.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Item : Symbol(Item, Decl(mappedTypes1.ts, 0, 0)) >P : Symbol(P, Decl(mappedTypes1.ts, 13, 14)) @@ -142,7 +142,7 @@ declare function f3(): { [P in keyof T1]: void }; declare function f4(): { [P in keyof T1]: void }; >f4 : Symbol(f4, Decl(mappedTypes1.ts, 32, 68)) >T1 : Symbol(T1, Decl(mappedTypes1.ts, 33, 20)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >P : Symbol(P, Decl(mappedTypes1.ts, 33, 45)) >T1 : Symbol(T1, Decl(mappedTypes1.ts, 33, 20)) diff --git a/tests/baselines/reference/mappedTypes2.symbols b/tests/baselines/reference/mappedTypes2.symbols index 9100c408ee9..bf89682dbae 100644 --- a/tests/baselines/reference/mappedTypes2.symbols +++ b/tests/baselines/reference/mappedTypes2.symbols @@ -8,7 +8,7 @@ function verifyLibTypes() { var x1: Partial; >x1 : Symbol(x1, Decl(mappedTypes2.ts, 1, 7), Decl(mappedTypes2.ts, 2, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes2.ts, 0, 24)) var x1: { [P in keyof T]?: T[P] }; @@ -20,7 +20,7 @@ function verifyLibTypes() { var x2: Readonly; >x2 : Symbol(x2, Decl(mappedTypes2.ts, 3, 7), Decl(mappedTypes2.ts, 4, 7)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes2.ts, 0, 24)) var x2: { readonly [P in keyof T]: T[P] }; @@ -32,7 +32,7 @@ function verifyLibTypes() { var x3: Pick; >x3 : Symbol(x3, Decl(mappedTypes2.ts, 5, 7), Decl(mappedTypes2.ts, 6, 7)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes2.ts, 0, 24)) >K : Symbol(K, Decl(mappedTypes2.ts, 0, 26)) @@ -45,7 +45,7 @@ function verifyLibTypes() { var x4: Record; >x4 : Symbol(x4, Decl(mappedTypes2.ts, 7, 7), Decl(mappedTypes2.ts, 8, 7)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >K : Symbol(K, Decl(mappedTypes2.ts, 0, 26)) >U : Symbol(U, Decl(mappedTypes2.ts, 0, 45)) @@ -101,7 +101,7 @@ declare function assign(obj: T, props: Partial): void; >obj : Symbol(obj, Decl(mappedTypes2.ts, 24, 27)) >T : Symbol(T, Decl(mappedTypes2.ts, 24, 24)) >props : Symbol(props, Decl(mappedTypes2.ts, 24, 34)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes2.ts, 24, 24)) declare function freeze(obj: T): Readonly; @@ -109,7 +109,7 @@ declare function freeze(obj: T): Readonly; >T : Symbol(T, Decl(mappedTypes2.ts, 25, 24)) >obj : Symbol(obj, Decl(mappedTypes2.ts, 25, 27)) >T : Symbol(T, Decl(mappedTypes2.ts, 25, 24)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes2.ts, 25, 24)) declare function pick(obj: T, ...keys: K[]): Pick; @@ -121,7 +121,7 @@ declare function pick(obj: T, ...keys: K[]): Pick; >T : Symbol(T, Decl(mappedTypes2.ts, 26, 22)) >keys : Symbol(keys, Decl(mappedTypes2.ts, 26, 51)) >K : Symbol(K, Decl(mappedTypes2.ts, 26, 24)) ->Pick : Symbol(Pick, Decl(lib.d.ts, --, --)) +>Pick : Symbol(Pick, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes2.ts, 26, 22)) >K : Symbol(K, Decl(mappedTypes2.ts, 26, 24)) @@ -131,14 +131,14 @@ declare function mapObject(obj: Record, f: (x: T) >T : Symbol(T, Decl(mappedTypes2.ts, 27, 44)) >U : Symbol(U, Decl(mappedTypes2.ts, 27, 47)) >obj : Symbol(obj, Decl(mappedTypes2.ts, 27, 51)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >K : Symbol(K, Decl(mappedTypes2.ts, 27, 27)) >T : Symbol(T, Decl(mappedTypes2.ts, 27, 44)) >f : Symbol(f, Decl(mappedTypes2.ts, 27, 69)) >x : Symbol(x, Decl(mappedTypes2.ts, 27, 74)) >T : Symbol(T, Decl(mappedTypes2.ts, 27, 44)) >U : Symbol(U, Decl(mappedTypes2.ts, 27, 47)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >K : Symbol(K, Decl(mappedTypes2.ts, 27, 27)) >U : Symbol(U, Decl(mappedTypes2.ts, 27, 47)) @@ -241,7 +241,7 @@ function f1(shape: Shape) { var frozen: Readonly; >frozen : Symbol(frozen, Decl(mappedTypes2.ts, 62, 7), Decl(mappedTypes2.ts, 63, 7), Decl(mappedTypes2.ts, 64, 7)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypes2.ts, 33, 1)) var frozen = freeze(shape); @@ -261,12 +261,12 @@ function f2(shape: Shape) { var partial: Partial; >partial : Symbol(partial, Decl(mappedTypes2.ts, 68, 7), Decl(mappedTypes2.ts, 69, 7), Decl(mappedTypes2.ts, 70, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypes2.ts, 33, 1)) var partial: Partial = {}; >partial : Symbol(partial, Decl(mappedTypes2.ts, 68, 7), Decl(mappedTypes2.ts, 69, 7), Decl(mappedTypes2.ts, 70, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(mappedTypes2.ts, 33, 1)) } @@ -295,9 +295,9 @@ function f4() { >mapObject : Symbol(mapObject, Decl(mappedTypes2.ts, 26, 78)) >rec : Symbol(rec, Decl(mappedTypes2.ts, 78, 9)) >s : Symbol(s, Decl(mappedTypes2.ts, 79, 34)) ->s.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(mappedTypes2.ts, 79, 34)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } function f5(shape: Shape) { diff --git a/tests/baselines/reference/mappedTypes4.symbols b/tests/baselines/reference/mappedTypes4.symbols index 6c42cb5dea0..487f91c214e 100644 --- a/tests/baselines/reference/mappedTypes4.symbols +++ b/tests/baselines/reference/mappedTypes4.symbols @@ -78,14 +78,14 @@ function f1(x: A | B | C | undefined) { type T00 = Partial
; >T00 : Symbol(T00, Decl(mappedTypes4.ts, 24, 1)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >A : Symbol(A, Decl(mappedTypes4.ts, 16, 1)) >B : Symbol(B, Decl(mappedTypes4.ts, 18, 23)) >C : Symbol(C, Decl(mappedTypes4.ts, 19, 23)) type T01 = Readonly; >T01 : Symbol(T01, Decl(mappedTypes4.ts, 26, 30)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >A : Symbol(A, Decl(mappedTypes4.ts, 16, 1)) >B : Symbol(B, Decl(mappedTypes4.ts, 18, 23)) >C : Symbol(C, Decl(mappedTypes4.ts, 19, 23)) @@ -99,7 +99,7 @@ type T02 = Boxified type T03 = Readonly; >T03 : Symbol(T03, Decl(mappedTypes4.ts, 28, 41)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) type T04 = Boxified; >T04 : Symbol(T04, Decl(mappedTypes4.ts, 29, 73)) @@ -107,7 +107,7 @@ type T04 = Boxified; type T05 = Partial<"hello" | "world" | 42>; >T05 : Symbol(T05, Decl(mappedTypes4.ts, 30, 73)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) type BoxifiedWithSentinel = { >BoxifiedWithSentinel : Symbol(BoxifiedWithSentinel, Decl(mappedTypes4.ts, 31, 43)) diff --git a/tests/baselines/reference/mappedTypes5.symbols b/tests/baselines/reference/mappedTypes5.symbols index 7a499c4c4e9..edbd1ae5031 100644 --- a/tests/baselines/reference/mappedTypes5.symbols +++ b/tests/baselines/reference/mappedTypes5.symbols @@ -3,121 +3,121 @@ function f(p: Partial, r: Readonly, pr: Partial>, rp: Reado >f : Symbol(f, Decl(mappedTypes5.ts, 0, 0)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >p : Symbol(p, Decl(mappedTypes5.ts, 0, 14)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >r : Symbol(r, Decl(mappedTypes5.ts, 0, 28)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >pr : Symbol(pr, Decl(mappedTypes5.ts, 0, 44)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >rp : Symbol(rp, Decl(mappedTypes5.ts, 0, 70)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) let a1: Partial = p; >a1 : Symbol(a1, Decl(mappedTypes5.ts, 1, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >p : Symbol(p, Decl(mappedTypes5.ts, 0, 14)) let a2: Partial = r; >a2 : Symbol(a2, Decl(mappedTypes5.ts, 2, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >r : Symbol(r, Decl(mappedTypes5.ts, 0, 28)) let a3: Partial = pr; >a3 : Symbol(a3, Decl(mappedTypes5.ts, 3, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >pr : Symbol(pr, Decl(mappedTypes5.ts, 0, 44)) let a4: Partial = rp; >a4 : Symbol(a4, Decl(mappedTypes5.ts, 4, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >rp : Symbol(rp, Decl(mappedTypes5.ts, 0, 70)) let b1: Readonly = p; // Error >b1 : Symbol(b1, Decl(mappedTypes5.ts, 5, 7)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >p : Symbol(p, Decl(mappedTypes5.ts, 0, 14)) let b2: Readonly = r; >b2 : Symbol(b2, Decl(mappedTypes5.ts, 6, 7)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >r : Symbol(r, Decl(mappedTypes5.ts, 0, 28)) let b3: Readonly = pr; // Error >b3 : Symbol(b3, Decl(mappedTypes5.ts, 7, 7)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >pr : Symbol(pr, Decl(mappedTypes5.ts, 0, 44)) let b4: Readonly = rp; // Error >b4 : Symbol(b4, Decl(mappedTypes5.ts, 8, 7)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >rp : Symbol(rp, Decl(mappedTypes5.ts, 0, 70)) let c1: Partial> = p; >c1 : Symbol(c1, Decl(mappedTypes5.ts, 9, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >p : Symbol(p, Decl(mappedTypes5.ts, 0, 14)) let c2: Partial> = r; >c2 : Symbol(c2, Decl(mappedTypes5.ts, 10, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >r : Symbol(r, Decl(mappedTypes5.ts, 0, 28)) let c3: Partial> = pr; >c3 : Symbol(c3, Decl(mappedTypes5.ts, 11, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >pr : Symbol(pr, Decl(mappedTypes5.ts, 0, 44)) let c4: Partial> = rp; >c4 : Symbol(c4, Decl(mappedTypes5.ts, 12, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >rp : Symbol(rp, Decl(mappedTypes5.ts, 0, 70)) let d1: Readonly> = p; >d1 : Symbol(d1, Decl(mappedTypes5.ts, 13, 7)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >p : Symbol(p, Decl(mappedTypes5.ts, 0, 14)) let d2: Readonly> = r; >d2 : Symbol(d2, Decl(mappedTypes5.ts, 14, 7)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >r : Symbol(r, Decl(mappedTypes5.ts, 0, 28)) let d3: Readonly> = pr; >d3 : Symbol(d3, Decl(mappedTypes5.ts, 15, 7)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >pr : Symbol(pr, Decl(mappedTypes5.ts, 0, 44)) let d4: Readonly> = rp; >d4 : Symbol(d4, Decl(mappedTypes5.ts, 16, 7)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 0, 11)) >rp : Symbol(rp, Decl(mappedTypes5.ts, 0, 70)) } @@ -139,14 +139,14 @@ type Args1 = { readonly previous: Readonly>; >previous : Symbol(previous, Decl(mappedTypes5.ts, 25, 31)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 25, 11)) readonly current: Readonly>; >current : Symbol(current, Decl(mappedTypes5.ts, 26, 44)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 25, 11)) }; @@ -158,14 +158,14 @@ type Args2 = { readonly previous: Partial>; >previous : Symbol(previous, Decl(mappedTypes5.ts, 30, 31)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 30, 11)) readonly current: Partial>; >current : Symbol(current, Decl(mappedTypes5.ts, 31, 44)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 30, 11)) }; @@ -177,19 +177,19 @@ function doit() { let previous: Partial = Object.create(null); >previous : Symbol(previous, Decl(mappedTypes5.ts, 36, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 35, 14)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) let current: Partial = Object.create(null); >current : Symbol(current, Decl(mappedTypes5.ts, 37, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes5.ts, 35, 14)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) let args1: Args1 = { previous, current }; >args1 : Symbol(args1, Decl(mappedTypes5.ts, 38, 7)) @@ -216,14 +216,14 @@ type Args3 = { readonly previous: Readonly>; >previous : Symbol(previous, Decl(mappedTypes5.ts, 44, 14)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >State2 : Symbol(State2, Decl(mappedTypes5.ts, 40, 1)) readonly current: Readonly>; >current : Symbol(current, Decl(mappedTypes5.ts, 45, 49)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >State2 : Symbol(State2, Decl(mappedTypes5.ts, 40, 1)) }; @@ -233,14 +233,14 @@ type Args4 = { readonly previous: Partial>; >previous : Symbol(previous, Decl(mappedTypes5.ts, 49, 14)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >State2 : Symbol(State2, Decl(mappedTypes5.ts, 40, 1)) readonly current: Partial>; >current : Symbol(current, Decl(mappedTypes5.ts, 50, 49)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >State2 : Symbol(State2, Decl(mappedTypes5.ts, 40, 1)) }; @@ -250,19 +250,19 @@ function doit2() { let previous: Partial = Object.create(null); >previous : Symbol(previous, Decl(mappedTypes5.ts, 55, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >State2 : Symbol(State2, Decl(mappedTypes5.ts, 40, 1)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) let current: Partial = Object.create(null); >current : Symbol(current, Decl(mappedTypes5.ts, 56, 7)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >State2 : Symbol(State2, Decl(mappedTypes5.ts, 40, 1)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) let args1: Args3 = { previous, current }; >args1 : Symbol(args1, Decl(mappedTypes5.ts, 57, 7)) diff --git a/tests/baselines/reference/mappedTypes6.symbols b/tests/baselines/reference/mappedTypes6.symbols index 7cebcda184e..4e03fe359b7 100644 --- a/tests/baselines/reference/mappedTypes6.symbols +++ b/tests/baselines/reference/mappedTypes6.symbols @@ -131,12 +131,12 @@ function f1(x: Required, y: T, z: Partial) { >f1 : Symbol(f1, Decl(mappedTypes6.ts, 18, 51)) >T : Symbol(T, Decl(mappedTypes6.ts, 20, 12)) >x : Symbol(x, Decl(mappedTypes6.ts, 20, 15)) ->Required : Symbol(Required, Decl(lib.d.ts, --, --)) +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes6.ts, 20, 12)) >y : Symbol(y, Decl(mappedTypes6.ts, 20, 30)) >T : Symbol(T, Decl(mappedTypes6.ts, 20, 12)) >z : Symbol(z, Decl(mappedTypes6.ts, 20, 36)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes6.ts, 20, 12)) x = x; @@ -181,7 +181,7 @@ type Denullified = { [P in keyof T]-?: NonNullable }; >T : Symbol(T, Decl(mappedTypes6.ts, 32, 17)) >P : Symbol(P, Decl(mappedTypes6.ts, 32, 25)) >T : Symbol(T, Decl(mappedTypes6.ts, 32, 17)) ->NonNullable : Symbol(NonNullable, Decl(lib.d.ts, --, --)) +>NonNullable : Symbol(NonNullable, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes6.ts, 32, 17)) >P : Symbol(P, Decl(mappedTypes6.ts, 32, 25)) @@ -192,12 +192,12 @@ function f2(w: Denullified, x: Required, y: T, z: Partial) { >Denullified : Symbol(Denullified, Decl(mappedTypes6.ts, 30, 1)) >T : Symbol(T, Decl(mappedTypes6.ts, 34, 12)) >x : Symbol(x, Decl(mappedTypes6.ts, 34, 33)) ->Required : Symbol(Required, Decl(lib.d.ts, --, --)) +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes6.ts, 34, 12)) >y : Symbol(y, Decl(mappedTypes6.ts, 34, 49)) >T : Symbol(T, Decl(mappedTypes6.ts, 34, 12)) >z : Symbol(z, Decl(mappedTypes6.ts, 34, 55)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes6.ts, 34, 12)) w = w; @@ -273,12 +273,12 @@ function f3(w: Denullified, x: Required, y: T, z: Partial) { >Denullified : Symbol(Denullified, Decl(mappedTypes6.ts, 30, 1)) >T : Symbol(T, Decl(mappedTypes6.ts, 54, 12)) >x : Symbol(x, Decl(mappedTypes6.ts, 54, 33)) ->Required : Symbol(Required, Decl(lib.d.ts, --, --)) +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes6.ts, 54, 12)) >y : Symbol(y, Decl(mappedTypes6.ts, 54, 49)) >T : Symbol(T, Decl(mappedTypes6.ts, 54, 12)) >z : Symbol(z, Decl(mappedTypes6.ts, 54, 55)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes6.ts, 54, 12)) w = {}; // Error @@ -309,7 +309,7 @@ function f10(x: Readonly, y: T, z: Readwrite) { >f10 : Symbol(f10, Decl(mappedTypes6.ts, 63, 1)) >T : Symbol(T, Decl(mappedTypes6.ts, 65, 13)) >x : Symbol(x, Decl(mappedTypes6.ts, 65, 16)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypes6.ts, 65, 13)) >y : Symbol(y, Decl(mappedTypes6.ts, 65, 31)) >T : Symbol(T, Decl(mappedTypes6.ts, 65, 13)) @@ -418,7 +418,7 @@ x1 = { a: 1, b: 1, c: 1, d: 1 }; declare let x2: Required; >x2 : Symbol(x2, Decl(mappedTypes6.ts, 96, 11)) ->Required : Symbol(Required, Decl(lib.d.ts, --, --)) +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(mappedTypes6.ts, 75, 1)) x1.a; // number @@ -489,7 +489,7 @@ x3.b = 1; // Error declare let x4: Readonly; >x4 : Symbol(x4, Decl(mappedTypes6.ts, 117, 11)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >Bar : Symbol(Bar, Decl(mappedTypes6.ts, 106, 32)) x4.a = 1; // Error diff --git a/tests/baselines/reference/mappedTypesAndObjects.symbols b/tests/baselines/reference/mappedTypesAndObjects.symbols index 2bbab833343..1aa9452015b 100644 --- a/tests/baselines/reference/mappedTypesAndObjects.symbols +++ b/tests/baselines/reference/mappedTypesAndObjects.symbols @@ -3,10 +3,10 @@ function f1(x: Partial, y: Readonly) { >f1 : Symbol(f1, Decl(mappedTypesAndObjects.ts, 0, 0)) >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 0, 12)) >x : Symbol(x, Decl(mappedTypesAndObjects.ts, 0, 15)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 0, 12)) >y : Symbol(y, Decl(mappedTypesAndObjects.ts, 0, 29)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 0, 12)) let obj: {}; @@ -25,10 +25,10 @@ function f2(x: Partial, y: Readonly) { >f2 : Symbol(f2, Decl(mappedTypesAndObjects.ts, 4, 1)) >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 6, 12)) >x : Symbol(x, Decl(mappedTypesAndObjects.ts, 6, 15)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 6, 12)) >y : Symbol(y, Decl(mappedTypesAndObjects.ts, 6, 29)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 6, 12)) let obj: { [x: string]: any }; @@ -48,7 +48,7 @@ function f3(x: Partial) { >f3 : Symbol(f3, Decl(mappedTypesAndObjects.ts, 10, 1)) >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 12, 12)) >x : Symbol(x, Decl(mappedTypesAndObjects.ts, 12, 15)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 12, 12)) x = {}; @@ -92,7 +92,7 @@ interface E2 extends Base { foo: Partial; // or other mapped type >foo : Symbol(E2.foo, Decl(mappedTypesAndObjects.ts, 29, 27)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >Something : Symbol(Something, Decl(mappedTypesAndObjects.ts, 26, 1)) } @@ -103,7 +103,7 @@ interface E3 extends Base { foo: Partial; // or other mapped type >foo : Symbol(E3.foo, Decl(mappedTypesAndObjects.ts, 33, 30)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(mappedTypesAndObjects.ts, 33, 13)) } diff --git a/tests/baselines/reference/memberAccessOnConstructorType.symbols b/tests/baselines/reference/memberAccessOnConstructorType.symbols index c9c06c6f021..3713e20c8ce 100644 --- a/tests/baselines/reference/memberAccessOnConstructorType.symbols +++ b/tests/baselines/reference/memberAccessOnConstructorType.symbols @@ -3,7 +3,7 @@ var f: new () => void; >f : Symbol(f, Decl(memberAccessOnConstructorType.ts, 0, 3)) f.arguments == 0; ->f.arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>f.arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(memberAccessOnConstructorType.ts, 0, 3)) ->arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.symbols b/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.symbols index 3e5cabf4184..182b30ca93c 100644 --- a/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.symbols +++ b/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.symbols @@ -11,7 +11,7 @@ interface C extends D { b(): Date; >b : Symbol(C.b, Decl(mergedInterfaceFromMultipleFiles1_1.ts, 4, 23)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } var c:C; @@ -38,7 +38,7 @@ var d: number = c.a(); var e: Date = c.b(); >e : Symbol(e, Decl(mergedInterfaceFromMultipleFiles1_1.ts, 12, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >c.b : Symbol(C.b, Decl(mergedInterfaceFromMultipleFiles1_1.ts, 4, 23)) >c : Symbol(c, Decl(mergedInterfaceFromMultipleFiles1_1.ts, 8, 3)) >b : Symbol(C.b, Decl(mergedInterfaceFromMultipleFiles1_1.ts, 4, 23)) diff --git a/tests/baselines/reference/mergedInterfacesWithMultipleBases3.symbols b/tests/baselines/reference/mergedInterfacesWithMultipleBases3.symbols index e38829534b2..6a617e058f6 100644 --- a/tests/baselines/reference/mergedInterfacesWithMultipleBases3.symbols +++ b/tests/baselines/reference/mergedInterfacesWithMultipleBases3.symbols @@ -69,7 +69,7 @@ class D implements A { b: Date; >b : Symbol(D.b, Decl(mergedInterfacesWithMultipleBases3.ts, 28, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) c: string; >c : Symbol(D.c, Decl(mergedInterfacesWithMultipleBases3.ts, 29, 12)) diff --git a/tests/baselines/reference/metadataOfClassFromAlias.symbols b/tests/baselines/reference/metadataOfClassFromAlias.symbols index b4d20403275..e68e1fdab3e 100644 --- a/tests/baselines/reference/metadataOfClassFromAlias.symbols +++ b/tests/baselines/reference/metadataOfClassFromAlias.symbols @@ -12,7 +12,7 @@ import { SomeClass } from './auxiliry'; function annotation(): PropertyDecorator { >annotation : Symbol(annotation, Decl(test.ts, 0, 39)) ->PropertyDecorator : Symbol(PropertyDecorator, Decl(lib.d.ts, --, --)) +>PropertyDecorator : Symbol(PropertyDecorator, Decl(lib.es5.d.ts, --, --)) return (target: any): void => { }; >target : Symbol(target, Decl(test.ts, 2, 12)) diff --git a/tests/baselines/reference/metadataOfClassFromAlias2.symbols b/tests/baselines/reference/metadataOfClassFromAlias2.symbols index a20296c76af..7c9881403a4 100644 --- a/tests/baselines/reference/metadataOfClassFromAlias2.symbols +++ b/tests/baselines/reference/metadataOfClassFromAlias2.symbols @@ -12,7 +12,7 @@ import { SomeClass } from './auxiliry'; function annotation(): PropertyDecorator { >annotation : Symbol(annotation, Decl(test.ts, 0, 39)) ->PropertyDecorator : Symbol(PropertyDecorator, Decl(lib.d.ts, --, --)) +>PropertyDecorator : Symbol(PropertyDecorator, Decl(lib.es5.d.ts, --, --)) return (target: any): void => { }; >target : Symbol(target, Decl(test.ts, 2, 12)) diff --git a/tests/baselines/reference/metadataOfStringLiteral.symbols b/tests/baselines/reference/metadataOfStringLiteral.symbols index 959a3403e14..4954418ffcd 100644 --- a/tests/baselines/reference/metadataOfStringLiteral.symbols +++ b/tests/baselines/reference/metadataOfStringLiteral.symbols @@ -2,7 +2,7 @@ function PropDeco(target: Object, propKey: string | symbol) { } >PropDeco : Symbol(PropDeco, Decl(metadataOfStringLiteral.ts, 0, 0)) >target : Symbol(target, Decl(metadataOfStringLiteral.ts, 0, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >propKey : Symbol(propKey, Decl(metadataOfStringLiteral.ts, 0, 33)) class Foo { diff --git a/tests/baselines/reference/metadataOfUnion.symbols b/tests/baselines/reference/metadataOfUnion.symbols index 22c0cc37602..e236a6f3d02 100644 --- a/tests/baselines/reference/metadataOfUnion.symbols +++ b/tests/baselines/reference/metadataOfUnion.symbols @@ -2,7 +2,7 @@ function PropDeco(target: Object, propKey: string | symbol) { } >PropDeco : Symbol(PropDeco, Decl(metadataOfUnion.ts, 0, 0)) >target : Symbol(target, Decl(metadataOfUnion.ts, 0, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >propKey : Symbol(propKey, Decl(metadataOfUnion.ts, 0, 33)) class A { diff --git a/tests/baselines/reference/metadataOfUnionWithNull.symbols b/tests/baselines/reference/metadataOfUnionWithNull.symbols index 13316bc7cf1..96663ff8b98 100644 --- a/tests/baselines/reference/metadataOfUnionWithNull.symbols +++ b/tests/baselines/reference/metadataOfUnionWithNull.symbols @@ -2,7 +2,7 @@ function PropDeco(target: Object, propKey: string | symbol) { } >PropDeco : Symbol(PropDeco, Decl(metadataOfUnionWithNull.ts, 0, 0)) >target : Symbol(target, Decl(metadataOfUnionWithNull.ts, 0, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >propKey : Symbol(propKey, Decl(metadataOfUnionWithNull.ts, 0, 33)) class A { diff --git a/tests/baselines/reference/methodsReturningThis.symbols b/tests/baselines/reference/methodsReturningThis.symbols index eccb1a64f89..6d7e12bdf9b 100644 --- a/tests/baselines/reference/methodsReturningThis.symbols +++ b/tests/baselines/reference/methodsReturningThis.symbols @@ -8,7 +8,7 @@ function Class() Class.prototype.containsError = function () { return this.notPresent; }; >Class.prototype : Symbol(Class.containsError, Decl(input.js, 2, 1)) >Class : Symbol(Class, Decl(input.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >containsError : Symbol(Class.containsError, Decl(input.js, 2, 1)) >this : Symbol(Class, Decl(input.js, 0, 0)) @@ -16,7 +16,7 @@ Class.prototype.containsError = function () { return this.notPresent; }; Class.prototype.m1 = function (a, b, c, d, tx, ty) { return this; }; >Class.prototype : Symbol(Class.m1, Decl(input.js, 5, 72)) >Class : Symbol(Class, Decl(input.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m1 : Symbol(Class.m1, Decl(input.js, 5, 72)) >a : Symbol(a, Decl(input.js, 8, 31)) >b : Symbol(b, Decl(input.js, 8, 33)) @@ -29,7 +29,7 @@ Class.prototype.m1 = function (a, b, c, d, tx, ty) { return this; }; Class.prototype.m2 = function (x, y) { return this; }; >Class.prototype : Symbol(Class.m2, Decl(input.js, 8, 68)) >Class : Symbol(Class, Decl(input.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m2 : Symbol(Class.m2, Decl(input.js, 8, 68)) >x : Symbol(x, Decl(input.js, 9, 31)) >y : Symbol(y, Decl(input.js, 9, 33)) @@ -38,7 +38,7 @@ Class.prototype.m2 = function (x, y) { return this; }; Class.prototype.m3 = function (x, y) { return this; }; >Class.prototype : Symbol(Class.m3, Decl(input.js, 9, 54)) >Class : Symbol(Class, Decl(input.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m3 : Symbol(Class.m3, Decl(input.js, 9, 54)) >x : Symbol(x, Decl(input.js, 10, 31)) >y : Symbol(y, Decl(input.js, 10, 33)) @@ -47,7 +47,7 @@ Class.prototype.m3 = function (x, y) { return this; }; Class.prototype.m4 = function (angle) { return this; }; >Class.prototype : Symbol(Class.m4, Decl(input.js, 10, 54)) >Class : Symbol(Class, Decl(input.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m4 : Symbol(Class.m4, Decl(input.js, 10, 54)) >angle : Symbol(angle, Decl(input.js, 11, 31)) >this : Symbol(Class, Decl(input.js, 0, 0)) @@ -55,7 +55,7 @@ Class.prototype.m4 = function (angle) { return this; }; Class.prototype.m5 = function (matrix) { return this; }; >Class.prototype : Symbol(Class.m5, Decl(input.js, 11, 55)) >Class : Symbol(Class, Decl(input.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m5 : Symbol(Class.m5, Decl(input.js, 11, 55)) >matrix : Symbol(matrix, Decl(input.js, 12, 31)) >this : Symbol(Class, Decl(input.js, 0, 0)) @@ -63,7 +63,7 @@ Class.prototype.m5 = function (matrix) { return this; }; Class.prototype.m6 = function (x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { return this; }; >Class.prototype : Symbol(Class.m6, Decl(input.js, 12, 56)) >Class : Symbol(Class, Decl(input.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m6 : Symbol(Class.m6, Decl(input.js, 12, 56)) >x : Symbol(x, Decl(input.js, 13, 31)) >y : Symbol(y, Decl(input.js, 13, 33)) @@ -79,7 +79,7 @@ Class.prototype.m6 = function (x, y, pivotX, pivotY, scaleX, scaleY, rotation, s Class.prototype.m7 = function(matrix) { return this; }; >Class.prototype : Symbol(Class.m7, Decl(input.js, 13, 110)) >Class : Symbol(Class, Decl(input.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m7 : Symbol(Class.m7, Decl(input.js, 13, 110)) >matrix : Symbol(matrix, Decl(input.js, 14, 30)) >this : Symbol(Class, Decl(input.js, 0, 0)) @@ -87,14 +87,14 @@ Class.prototype.m7 = function(matrix) { return this; }; Class.prototype.m8 = function() { return this; }; >Class.prototype : Symbol(Class.m8, Decl(input.js, 14, 55)) >Class : Symbol(Class, Decl(input.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m8 : Symbol(Class.m8, Decl(input.js, 14, 55)) >this : Symbol(Class, Decl(input.js, 0, 0)) Class.prototype.m9 = function () { return this; }; >Class.prototype : Symbol(Class.m9, Decl(input.js, 15, 49)) >Class : Symbol(Class, Decl(input.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m9 : Symbol(Class.m9, Decl(input.js, 15, 49)) >this : Symbol(Class, Decl(input.js, 0, 0)) diff --git a/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.symbols b/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.symbols index 65ef2be47be..ff8312a0e71 100644 --- a/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.symbols +++ b/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.symbols @@ -15,13 +15,13 @@ function map(xs: T[], f: (x: T) => U) { >U : Symbol(U, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 0, 15)) xs.forEach(x => ys.push(f(x))); ->xs.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>xs.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >xs : Symbol(xs, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 0, 19)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 2, 15)) ->ys.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>ys.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >ys : Symbol(ys, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 1, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 0, 27)) >x : Symbol(x, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 2, 15)) @@ -33,9 +33,9 @@ var r0 = map([1, ""], (x) => x.toString()); >r0 : Symbol(r0, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 6, 3)) >map : Symbol(map, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 0, 0)) >x : Symbol(x, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 6, 23)) ->x.toString : Symbol(toString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>x.toString : Symbol(toString, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 6, 23)) ->toString : Symbol(toString, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>toString : Symbol(toString, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r5 = map([1, ""], (x) => x.toString()); >r5 : Symbol(r5, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 7, 3)) @@ -46,12 +46,12 @@ var r5 = map([1, ""], (x) => x.toString()); var r6 = map([1, ""], (x) => x.toString()); >r6 : Symbol(r6, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 8, 3)) >map : Symbol(map, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 0, 0)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 8, 39)) ->x.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 8, 39)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) var r7 = map([1, ""], (x) => x.toString()); // error >r7 : Symbol(r7, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 9, 3)) diff --git a/tests/baselines/reference/misspelledJsDocTypedefTags.symbols b/tests/baselines/reference/misspelledJsDocTypedefTags.symbols index 856df7059b8..1dda7f1fd58 100644 --- a/tests/baselines/reference/misspelledJsDocTypedefTags.symbols +++ b/tests/baselines/reference/misspelledJsDocTypedefTags.symbols @@ -1,9 +1,9 @@ === tests/cases/compiler/a.js === /** @typedef {{ endTime: number, screenshots: number}} A.*/ Animation.AnimationModel.ScreenshotCapture.Request; ->Animation : Symbol(Animation, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Animation : Symbol(Animation, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) /** @typedef {{ endTime: number, screenshots: !B.}} */ Animation.AnimationModel.ScreenshotCapture.Request; ->Animation : Symbol(Animation, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Animation : Symbol(Animation, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) diff --git a/tests/baselines/reference/mixinClassesAnonymous.symbols b/tests/baselines/reference/mixinClassesAnonymous.symbols index d65b103f8d1..b7adea1d713 100644 --- a/tests/baselines/reference/mixinClassesAnonymous.symbols +++ b/tests/baselines/reference/mixinClassesAnonymous.symbols @@ -181,7 +181,7 @@ const Timestamped = >(Base: CT) => { timestamp = new Date(); >timestamp : Symbol((Anonymous class).timestamp, Decl(mixinClassesAnonymous.ts, 60, 31)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) }; } diff --git a/tests/baselines/reference/mixinPrivateAndProtected.symbols b/tests/baselines/reference/mixinPrivateAndProtected.symbols index 8c22e08898c..e9a9b08eb73 100644 --- a/tests/baselines/reference/mixinPrivateAndProtected.symbols +++ b/tests/baselines/reference/mixinPrivateAndProtected.symbols @@ -115,88 +115,88 @@ const >AB2C : Symbol(AB2C, Decl(mixinPrivateAndProtected.ts, 34, 5)) a.pb.toFixed(); ->a.pb.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>a.pb.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >a.pb : Symbol(A.pb, Decl(mixinPrivateAndProtected.ts, 4, 9)) >a : Symbol(a, Decl(mixinPrivateAndProtected.ts, 38, 5)) >pb : Symbol(A.pb, Decl(mixinPrivateAndProtected.ts, 4, 9)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) a.ptd.toFixed(); // Error ->a.ptd.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>a.ptd.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >a.ptd : Symbol(A.ptd, Decl(mixinPrivateAndProtected.ts, 5, 26)) >a : Symbol(a, Decl(mixinPrivateAndProtected.ts, 38, 5)) >ptd : Symbol(A.ptd, Decl(mixinPrivateAndProtected.ts, 5, 26)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) a.pvt.toFixed(); // Error ->a.pvt.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>a.pvt.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >a.pvt : Symbol(A.pvt, Decl(mixinPrivateAndProtected.ts, 6, 30)) >a : Symbol(a, Decl(mixinPrivateAndProtected.ts, 38, 5)) >pvt : Symbol(A.pvt, Decl(mixinPrivateAndProtected.ts, 6, 30)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) ab.pb.toFixed(); ->ab.pb.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>ab.pb.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >ab.pb : Symbol(A.pb, Decl(mixinPrivateAndProtected.ts, 4, 9)) >ab : Symbol(ab, Decl(mixinPrivateAndProtected.ts, 39, 16)) >pb : Symbol(A.pb, Decl(mixinPrivateAndProtected.ts, 4, 9)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) ab.ptd.toFixed(); // Error ->ab.ptd.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>ab.ptd.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >ab.ptd : Symbol(ptd, Decl(mixinPrivateAndProtected.ts, 11, 30), Decl(mixinPrivateAndProtected.ts, 5, 26)) >ab : Symbol(ab, Decl(mixinPrivateAndProtected.ts, 39, 16)) >ptd : Symbol(ptd, Decl(mixinPrivateAndProtected.ts, 11, 30), Decl(mixinPrivateAndProtected.ts, 5, 26)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) ab.pvt.toFixed(); // Error ->ab.pvt.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>ab.pvt.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >ab.pvt : Symbol(pvt, Decl(mixinPrivateAndProtected.ts, 12, 35), Decl(mixinPrivateAndProtected.ts, 6, 30)) >ab : Symbol(ab, Decl(mixinPrivateAndProtected.ts, 39, 16)) >pvt : Symbol(pvt, Decl(mixinPrivateAndProtected.ts, 12, 35), Decl(mixinPrivateAndProtected.ts, 6, 30)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) abc.pb.toFixed(); ->abc.pb.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>abc.pb.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >abc.pb : Symbol(A.pb, Decl(mixinPrivateAndProtected.ts, 4, 9)) >abc : Symbol(abc, Decl(mixinPrivateAndProtected.ts, 40, 18)) >pb : Symbol(A.pb, Decl(mixinPrivateAndProtected.ts, 4, 9)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) abc.ptd.toFixed(); // Error ->abc.ptd.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>abc.ptd.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >abc.ptd : Symbol(ptd, Decl(mixinPrivateAndProtected.ts, 28, 30), Decl(mixinPrivateAndProtected.ts, 11, 30), Decl(mixinPrivateAndProtected.ts, 5, 26)) >abc : Symbol(abc, Decl(mixinPrivateAndProtected.ts, 40, 18)) >ptd : Symbol(ptd, Decl(mixinPrivateAndProtected.ts, 28, 30), Decl(mixinPrivateAndProtected.ts, 11, 30), Decl(mixinPrivateAndProtected.ts, 5, 26)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) abc.pvt.toFixed(); // Error ->abc.pvt.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>abc.pvt.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >abc.pvt : Symbol(pvt, Decl(mixinPrivateAndProtected.ts, 29, 36), Decl(mixinPrivateAndProtected.ts, 12, 35), Decl(mixinPrivateAndProtected.ts, 6, 30)) >abc : Symbol(abc, Decl(mixinPrivateAndProtected.ts, 40, 18)) >pvt : Symbol(pvt, Decl(mixinPrivateAndProtected.ts, 29, 36), Decl(mixinPrivateAndProtected.ts, 12, 35), Decl(mixinPrivateAndProtected.ts, 6, 30)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) ab2c.pb.toFixed(); ->ab2c.pb.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>ab2c.pb.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >ab2c.pb : Symbol(A.pb, Decl(mixinPrivateAndProtected.ts, 4, 9)) >ab2c : Symbol(ab2c, Decl(mixinPrivateAndProtected.ts, 41, 20)) >pb : Symbol(A.pb, Decl(mixinPrivateAndProtected.ts, 4, 9)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) ab2c.ptd.toFixed(); // Error ->ab2c.ptd.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>ab2c.ptd.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >ab2c.ptd : Symbol(ptd, Decl(mixinPrivateAndProtected.ts, 28, 30), Decl(mixinPrivateAndProtected.ts, 18, 30), Decl(mixinPrivateAndProtected.ts, 5, 26)) >ab2c : Symbol(ab2c, Decl(mixinPrivateAndProtected.ts, 41, 20)) >ptd : Symbol(ptd, Decl(mixinPrivateAndProtected.ts, 28, 30), Decl(mixinPrivateAndProtected.ts, 18, 30), Decl(mixinPrivateAndProtected.ts, 5, 26)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) ab2c.pvt.toFixed(); // Error ->ab2c.pvt.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>ab2c.pvt.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >ab2c.pvt : Symbol(pvt, Decl(mixinPrivateAndProtected.ts, 29, 36), Decl(mixinPrivateAndProtected.ts, 6, 30)) >ab2c : Symbol(ab2c, Decl(mixinPrivateAndProtected.ts, 41, 20)) >pvt : Symbol(pvt, Decl(mixinPrivateAndProtected.ts, 29, 36), Decl(mixinPrivateAndProtected.ts, 6, 30)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) // Repro from #13924 diff --git a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.symbols b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.symbols index 4c51c416f3c..279c3595c8e 100644 --- a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.symbols +++ b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.symbols @@ -7,7 +7,7 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) >from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) >arguments : Symbol(arguments) } diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.symbols b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.symbols index 6e413995042..51b8b92e0e5 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.symbols +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.symbols @@ -7,9 +7,9 @@ function f(x: number, y: number, z: number) { >z : Symbol(z, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 1, 32)) return Array.from(arguments); ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >arguments : Symbol(arguments) } @@ -19,7 +19,7 @@ f(1, 2, 3); // no error // Using ES6 collection var m = new Map(); >m : Symbol(m, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 8, 3)) ->Map : Symbol(Map, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) m.clear(); >m.clear : Symbol(Map.clear, Decl(lib.es2015.collection.d.ts, --, --)) @@ -79,7 +79,7 @@ function* gen2() { // Using ES6 math Math.sign(1); >Math.sign : Symbol(Math.sign, Decl(lib.es2015.core.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >sign : Symbol(Math.sign, Decl(lib.es2015.core.d.ts, --, --)) // Using ES6 object @@ -92,7 +92,7 @@ var o = { [Symbol.hasInstance](value: any) { >[Symbol.hasInstance] : Symbol([Symbol.hasInstance], Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 39, 9)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >value : Symbol(value, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 40, 25)) @@ -104,7 +104,7 @@ o.hasOwnProperty(Symbol.hasInstance); >o : Symbol(o, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 38, 3)) >hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Using ES6 promise @@ -112,7 +112,7 @@ async function out() { >out : Symbol(out, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 44, 37)) return new Promise(function (resolve, reject) {}); ->Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >resolve : Symbol(resolve, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 48, 33)) >reject : Symbol(reject, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 48, 41)) } @@ -142,13 +142,13 @@ var p = new Proxy(t, {}); // Using ES6 reflect Reflect.isExtensible({}); >Reflect.isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es2015.reflect.d.ts, --, --)) ->Reflect : Symbol(Reflect, Decl(lib.es2015.reflect.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Reflect : Symbol(Reflect, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.reflect.d.ts, --, --)) >isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es2015.reflect.d.ts, --, --)) // Using Es6 regexp var reg = new RegExp("/s"); >reg : Symbol(reg, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 64, 3)) ->RegExp : Symbol(RegExp, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) reg.flags; >reg.flags : Symbol(RegExp.flags, Decl(lib.es2015.core.d.ts, --, --)) @@ -167,7 +167,7 @@ str.includes("hello", 0); // Using ES6 symbol var s = Symbol(); >s : Symbol(s, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 72, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Using ES6 wellknown-symbol const o1 = { @@ -176,7 +176,7 @@ const o1 = { [Symbol.hasInstance](value: any) { >[Symbol.hasInstance] : Symbol([Symbol.hasInstance], Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 75, 12)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >value : Symbol(value, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 76, 25)) diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types index 4fdc3764e88..4bfd9b37441 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types @@ -8,9 +8,9 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >arguments : IArguments } diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.symbols b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.symbols index 6ad05a58c9c..61c2aa015fd 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.symbols +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.symbols @@ -7,9 +7,9 @@ function f(x: number, y: number, z: number) { >z : Symbol(z, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 1, 32)) return Array.from(arguments); ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >arguments : Symbol(arguments) } @@ -19,7 +19,7 @@ f(1, 2, 3); // no error // Using ES6 collection var m = new Map(); >m : Symbol(m, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 8, 3)) ->Map : Symbol(Map, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) m.clear(); >m.clear : Symbol(Map.clear, Decl(lib.es2015.collection.d.ts, --, --)) @@ -79,7 +79,7 @@ function* gen2() { // Using ES6 math Math.sign(1); >Math.sign : Symbol(Math.sign, Decl(lib.es2015.core.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >sign : Symbol(Math.sign, Decl(lib.es2015.core.d.ts, --, --)) // Using ES6 object @@ -92,7 +92,7 @@ var o = { [Symbol.hasInstance](value: any) { >[Symbol.hasInstance] : Symbol([Symbol.hasInstance], Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 39, 9)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >value : Symbol(value, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 40, 25)) @@ -104,7 +104,7 @@ o.hasOwnProperty(Symbol.hasInstance); >o : Symbol(o, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 38, 3)) >hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Using ES6 promise @@ -112,7 +112,7 @@ async function out() { >out : Symbol(out, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 44, 37)) return new Promise(function (resolve, reject) {}); ->Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >resolve : Symbol(resolve, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 48, 33)) >reject : Symbol(reject, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 48, 41)) } @@ -142,13 +142,13 @@ var p = new Proxy(t, {}); // Using ES6 reflect Reflect.isExtensible({}); >Reflect.isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es2015.reflect.d.ts, --, --)) ->Reflect : Symbol(Reflect, Decl(lib.es2015.reflect.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Reflect : Symbol(Reflect, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.reflect.d.ts, --, --)) >isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es2015.reflect.d.ts, --, --)) // Using Es6 regexp var reg = new RegExp("/s"); >reg : Symbol(reg, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 64, 3)) ->RegExp : Symbol(RegExp, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) reg.flags; >reg.flags : Symbol(RegExp.flags, Decl(lib.es2015.core.d.ts, --, --)) @@ -167,7 +167,7 @@ str.includes("hello", 0); // Using ES6 symbol var s = Symbol(); >s : Symbol(s, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 72, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Using ES6 wellknown-symbol const o1 = { @@ -176,7 +176,7 @@ const o1 = { [Symbol.hasInstance](value: any) { >[Symbol.hasInstance] : Symbol([Symbol.hasInstance], Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 75, 12)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >value : Symbol(value, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 76, 25)) diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types index 8c3ad5b55af..cfc9dd39823 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types @@ -8,9 +8,9 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >arguments : IArguments } diff --git a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.symbols b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.symbols index 99eea9ed337..9eefe74aead 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.symbols +++ b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.symbols @@ -7,9 +7,9 @@ function f(x: number, y: number, z: number) { >z : Symbol(z, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 1, 32)) return Array.from(arguments); ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >arguments : Symbol(arguments) } @@ -19,7 +19,7 @@ f(1, 2, 3); // no error // Using ES6 collection var m = new Map(); >m : Symbol(m, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 8, 3)) ->Map : Symbol(Map, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) m.clear(); >m.clear : Symbol(Map.clear, Decl(lib.es2015.collection.d.ts, --, --)) @@ -79,7 +79,7 @@ function* gen2() { // Using ES6 math Math.sign(1); >Math.sign : Symbol(Math.sign, Decl(lib.es2015.core.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >sign : Symbol(Math.sign, Decl(lib.es2015.core.d.ts, --, --)) // Using ES6 object @@ -92,7 +92,7 @@ var o = { [Symbol.hasInstance](value: any) { >[Symbol.hasInstance] : Symbol([Symbol.hasInstance], Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 39, 9)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >value : Symbol(value, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 40, 25)) @@ -104,7 +104,7 @@ o.hasOwnProperty(Symbol.hasInstance); >o : Symbol(o, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 38, 3)) >hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Using ES6 promise @@ -112,7 +112,7 @@ async function out() { >out : Symbol(out, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 44, 37)) return new Promise(function (resolve, reject) {}); ->Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >resolve : Symbol(resolve, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 48, 33)) >reject : Symbol(reject, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 48, 41)) } @@ -142,13 +142,13 @@ var p = new Proxy(t, {}); // Using ES6 reflect Reflect.isExtensible({}); >Reflect.isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es2015.reflect.d.ts, --, --)) ->Reflect : Symbol(Reflect, Decl(lib.es2015.reflect.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Reflect : Symbol(Reflect, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.reflect.d.ts, --, --)) >isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es2015.reflect.d.ts, --, --)) // Using Es6 regexp var reg = new RegExp("/s"); >reg : Symbol(reg, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 64, 3)) ->RegExp : Symbol(RegExp, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) reg.flags; >reg.flags : Symbol(RegExp.flags, Decl(lib.es2015.core.d.ts, --, --)) @@ -167,7 +167,7 @@ str.includes("hello", 0); // Using ES6 symbol var s = Symbol(); >s : Symbol(s, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 72, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Using ES6 wellknown-symbol const o1 = { @@ -176,7 +176,7 @@ const o1 = { [Symbol.hasInstance](value: any) { >[Symbol.hasInstance] : Symbol([Symbol.hasInstance], Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 75, 12)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >value : Symbol(value, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 76, 25)) diff --git a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types index df4e231ba80..f9203bbc639 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types @@ -8,9 +8,9 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >arguments : IArguments } diff --git a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.symbols b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.symbols index af7d017c8a1..50822175cf2 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.symbols +++ b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.symbols @@ -7,9 +7,9 @@ function f(x: number, y: number, z: number) { >z : Symbol(z, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 1, 32)) return Array.from(arguments); ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >arguments : Symbol(arguments) } @@ -19,7 +19,7 @@ f(1, 2, 3); // no error // Using ES6 collection var m = new Map(); >m : Symbol(m, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 8, 3)) ->Map : Symbol(Map, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) m.clear(); >m.clear : Symbol(Map.clear, Decl(lib.es2015.collection.d.ts, --, --)) @@ -44,7 +44,7 @@ Baz.name; // Using ES6 math Math.sign(1); >Math.sign : Symbol(Math.sign, Decl(lib.es2015.core.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >sign : Symbol(Math.sign, Decl(lib.es2015.core.d.ts, --, --)) // Using ES6 object @@ -57,7 +57,7 @@ var o = { [Symbol.hasInstance](value: any) { >[Symbol.hasInstance] : Symbol([Symbol.hasInstance], Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 22, 9)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >value : Symbol(value, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 23, 25)) @@ -69,7 +69,7 @@ o.hasOwnProperty(Symbol.hasInstance); >o : Symbol(o, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 21, 3)) >hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Using Es6 proxy @@ -84,13 +84,13 @@ var p = new Proxy(t, {}); // Using ES6 reflect Reflect.isExtensible({}); >Reflect.isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es2015.reflect.d.ts, --, --)) ->Reflect : Symbol(Reflect, Decl(lib.es2015.reflect.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Reflect : Symbol(Reflect, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.reflect.d.ts, --, --)) >isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es2015.reflect.d.ts, --, --)) // Using Es6 regexp var reg = new RegExp("/s"); >reg : Symbol(reg, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 37, 3)) ->RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) reg.flags; >reg.flags : Symbol(RegExp.flags, Decl(lib.es2015.core.d.ts, --, --)) @@ -109,7 +109,7 @@ str.includes("hello", 0); // Using ES6 symbol var s = Symbol(); >s : Symbol(s, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 45, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // Using ES6 wellknown-symbol const o1 = { @@ -118,7 +118,7 @@ const o1 = { [Symbol.hasInstance](value: any) { >[Symbol.hasInstance] : Symbol([Symbol.hasInstance], Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 48, 12)) >Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >value : Symbol(value, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 49, 25)) diff --git a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types index 1902ac93f05..f4eaba58752 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types @@ -8,9 +8,9 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >arguments : IArguments } diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.symbols b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.symbols index 489d23c4d48..4d18a92c66a 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.symbols +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.symbols @@ -8,7 +8,7 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) >from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) >arguments : Symbol(arguments) } diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.symbols b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.symbols index 2127073c582..498990494da 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.symbols +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts === var s = Symbol(); >s : Symbol(s, Decl(modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts, 0, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) var t = {}; >t : Symbol(t, Decl(modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts, 1, 3)) @@ -13,7 +13,7 @@ var p = new Proxy(t, {}); Reflect.ownKeys({}); >Reflect.ownKeys : Symbol(Reflect.ownKeys, Decl(lib.es2015.reflect.d.ts, --, --)) ->Reflect : Symbol(Reflect, Decl(lib.es2015.reflect.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Reflect : Symbol(Reflect, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.reflect.d.ts, --, --)) >ownKeys : Symbol(Reflect.ownKeys, Decl(lib.es2015.reflect.d.ts, --, --)) function* idGen() { diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.symbols b/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.symbols index dbc1ad48ed3..b4f78ef9a29 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.symbols +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.symbols @@ -7,7 +7,7 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) >arguments : Symbol(arguments) } @@ -21,6 +21,6 @@ let a = ['c', 'd']; a[Symbol.isConcatSpreadable] = false; >a : Symbol(a, Decl(modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.ts, 5, 3)) >Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/moduleAugmentationDeclarationEmit2.symbols b/tests/baselines/reference/moduleAugmentationDeclarationEmit2.symbols index cc789447246..ee15ef9865a 100644 --- a/tests/baselines/reference/moduleAugmentationDeclarationEmit2.symbols +++ b/tests/baselines/reference/moduleAugmentationDeclarationEmit2.symbols @@ -74,17 +74,17 @@ let y = x.map(x => x + 1); let z1 = Observable.someValue.toFixed(); >z1 : Symbol(z1, Decl(main.ts, 5, 3)) ->Observable.someValue.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>Observable.someValue.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >Observable.someValue : Symbol(Observable.someValue, Decl(observable.ts, 5, 14)) >Observable : Symbol(Observable, Decl(main.ts, 0, 8)) >someValue : Symbol(Observable.someValue, Decl(observable.ts, 5, 14)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) let z2 = Observable.someAnotherValue.toLowerCase(); >z2 : Symbol(z2, Decl(main.ts, 6, 3)) ->Observable.someAnotherValue.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>Observable.someAnotherValue.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >Observable.someAnotherValue : Symbol(Observable.someAnotherValue, Decl(map.ts, 9, 11)) >Observable : Symbol(Observable, Decl(main.ts, 0, 8)) >someAnotherValue : Symbol(Observable.someAnotherValue, Decl(map.ts, 9, 11)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/moduleAugmentationDuringSyntheticDefaultCheck.symbols b/tests/baselines/reference/moduleAugmentationDuringSyntheticDefaultCheck.symbols index f750c94eff6..115bb3b1a2c 100644 --- a/tests/baselines/reference/moduleAugmentationDuringSyntheticDefaultCheck.symbols +++ b/tests/baselines/reference/moduleAugmentationDuringSyntheticDefaultCheck.symbols @@ -15,7 +15,7 @@ declare namespace moment { interface Moment extends Object { >Moment : Symbol(Moment, Decl(index.d.ts, 1, 26), Decl(idx.ts, 1, 25), Decl(idx.ts, 6, 34), Decl(index.d.ts, 2, 25)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) valueOf(): number; >valueOf : Symbol(Moment.valueOf, Decl(index.d.ts, 2, 35)) diff --git a/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.symbols b/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.symbols index 14667bd4440..05fcd7d9752 100644 --- a/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.symbols +++ b/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.symbols @@ -19,19 +19,19 @@ let y = x.map(x => x + 1); let z1 = Observable.someValue.toFixed(); >z1 : Symbol(z1, Decl(main.ts, 6, 3)) ->Observable.someValue.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>Observable.someValue.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >Observable.someValue : Symbol(Observable.someValue, Decl(observable.d.ts, 5, 18)) >Observable : Symbol(Observable, Decl(main.ts, 1, 8)) >someValue : Symbol(Observable.someValue, Decl(observable.d.ts, 5, 18)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) let z2 = Observable.someAnotherValue.toLowerCase(); >z2 : Symbol(z2, Decl(main.ts, 7, 3)) ->Observable.someAnotherValue.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>Observable.someAnotherValue.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >Observable.someAnotherValue : Symbol(Observable.someAnotherValue, Decl(map.ts, 9, 11)) >Observable : Symbol(Observable, Decl(main.ts, 1, 8)) >someAnotherValue : Symbol(Observable.someAnotherValue, Decl(map.ts, 9, 11)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) === tests/cases/compiler/map.ts === import { Observable } from "observable" diff --git a/tests/baselines/reference/moduleAugmentationExtendFileModule2.symbols b/tests/baselines/reference/moduleAugmentationExtendFileModule2.symbols index cc789447246..ee15ef9865a 100644 --- a/tests/baselines/reference/moduleAugmentationExtendFileModule2.symbols +++ b/tests/baselines/reference/moduleAugmentationExtendFileModule2.symbols @@ -74,17 +74,17 @@ let y = x.map(x => x + 1); let z1 = Observable.someValue.toFixed(); >z1 : Symbol(z1, Decl(main.ts, 5, 3)) ->Observable.someValue.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>Observable.someValue.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >Observable.someValue : Symbol(Observable.someValue, Decl(observable.ts, 5, 14)) >Observable : Symbol(Observable, Decl(main.ts, 0, 8)) >someValue : Symbol(Observable.someValue, Decl(observable.ts, 5, 14)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) let z2 = Observable.someAnotherValue.toLowerCase(); >z2 : Symbol(z2, Decl(main.ts, 6, 3)) ->Observable.someAnotherValue.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>Observable.someAnotherValue.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >Observable.someAnotherValue : Symbol(Observable.someAnotherValue, Decl(map.ts, 9, 11)) >Observable : Symbol(Observable, Decl(main.ts, 0, 8)) >someAnotherValue : Symbol(Observable.someAnotherValue, Decl(map.ts, 9, 11)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/moduleAugmentationGlobal1.symbols b/tests/baselines/reference/moduleAugmentationGlobal1.symbols index 1dcb80409b7..78e8ea2ea80 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal1.symbols +++ b/tests/baselines/reference/moduleAugmentationGlobal1.symbols @@ -12,8 +12,8 @@ declare global { >global : Symbol(global, Decl(f2.ts, 0, 23)) interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(f2.ts, 3, 16)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(f2.ts, 4, 20)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(f2.ts, 3, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(f2.ts, 4, 20)) getA(): A; >getA : Symbol(Array.getA, Decl(f2.ts, 4, 24)) diff --git a/tests/baselines/reference/moduleAugmentationGlobal2.symbols b/tests/baselines/reference/moduleAugmentationGlobal2.symbols index b69e4eed013..1d7f5c91ebe 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal2.symbols +++ b/tests/baselines/reference/moduleAugmentationGlobal2.symbols @@ -11,8 +11,8 @@ declare global { >global : Symbol(global, Decl(f2.ts, 1, 23)) interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(f2.ts, 3, 16)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(f2.ts, 4, 20)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(f2.ts, 3, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(f2.ts, 4, 20)) getCountAsString(): string; >getCountAsString : Symbol(Array.getCountAsString, Decl(f2.ts, 4, 24)) @@ -24,9 +24,9 @@ let x = [1]; let y = x.getCountAsString().toLowerCase(); >y : Symbol(y, Decl(f2.ts, 10, 3)) ->x.getCountAsString().toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>x.getCountAsString().toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >x.getCountAsString : Symbol(Array.getCountAsString, Decl(f2.ts, 4, 24)) >x : Symbol(x, Decl(f2.ts, 9, 3)) >getCountAsString : Symbol(Array.getCountAsString, Decl(f2.ts, 4, 24)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/moduleAugmentationGlobal3.symbols b/tests/baselines/reference/moduleAugmentationGlobal3.symbols index f572214ad91..d7a6bff70ef 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal3.symbols +++ b/tests/baselines/reference/moduleAugmentationGlobal3.symbols @@ -11,8 +11,8 @@ declare global { >global : Symbol(global, Decl(f2.ts, 1, 23)) interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(f2.ts, 3, 16)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(f2.ts, 4, 20)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(f2.ts, 3, 16)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(f2.ts, 4, 20)) getCountAsString(): string; >getCountAsString : Symbol(Array.getCountAsString, Decl(f2.ts, 4, 24)) @@ -27,9 +27,9 @@ let x = [1]; let y = x.getCountAsString().toLowerCase(); >y : Symbol(y, Decl(f3.ts, 3, 3)) ->x.getCountAsString().toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>x.getCountAsString().toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >x.getCountAsString : Symbol(Array.getCountAsString, Decl(f2.ts, 4, 24)) >x : Symbol(x, Decl(f3.ts, 2, 3)) >getCountAsString : Symbol(Array.getCountAsString, Decl(f2.ts, 4, 24)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule5.symbols b/tests/baselines/reference/moduleAugmentationInAmbientModule5.symbols index 6518d795ae1..7545b5048bd 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule5.symbols +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule5.symbols @@ -32,8 +32,8 @@ declare module "array" { >global : Symbol(global, Decl(array.d.ts, 5, 24)) interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(array.d.ts, 6, 12)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(array.d.ts, 7, 24)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(array.d.ts, 6, 12)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(array.d.ts, 7, 24)) getA(): A; >getA : Symbol(Array.getA, Decl(array.d.ts, 7, 28)) diff --git a/tests/baselines/reference/moduleAugmentationsBundledOutput1.symbols b/tests/baselines/reference/moduleAugmentationsBundledOutput1.symbols index 6cff1090df8..0e8332f5d22 100644 --- a/tests/baselines/reference/moduleAugmentationsBundledOutput1.symbols +++ b/tests/baselines/reference/moduleAugmentationsBundledOutput1.symbols @@ -103,34 +103,34 @@ let c: Cls; >Cls : Symbol(Cls, Decl(test.ts, 0, 8)) c.foo().toExponential(); ->c.foo().toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>c.foo().toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >c.foo : Symbol(Cls.foo, Decl(m2.ts, 5, 19)) >c : Symbol(c, Decl(test.ts, 3, 3)) >foo : Symbol(Cls.foo, Decl(m2.ts, 5, 19)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) c.bar().toLowerCase(); ->c.bar().toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>c.bar().toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >c.bar : Symbol(Cls.bar, Decl(m2.ts, 11, 19)) >c : Symbol(c, Decl(test.ts, 3, 3)) >bar : Symbol(Cls.bar, Decl(m2.ts, 11, 19)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) c.baz1().x.toExponential(); ->c.baz1().x.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>c.baz1().x.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >c.baz1().x : Symbol(C1.x, Decl(m3.ts, 0, 17)) >c.baz1 : Symbol(Cls.baz1, Decl(m4.ts, 6, 19)) >c : Symbol(c, Decl(test.ts, 3, 3)) >baz1 : Symbol(Cls.baz1, Decl(m4.ts, 6, 19)) >x : Symbol(C1.x, Decl(m3.ts, 0, 17)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) c.baz2().x.toLowerCase(); ->c.baz2().x.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>c.baz2().x.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >c.baz2().x : Symbol(C2.x, Decl(m3.ts, 1, 17)) >c.baz2 : Symbol(Cls.baz2, Decl(m4.ts, 12, 19)) >c : Symbol(c, Decl(test.ts, 3, 3)) >baz2 : Symbol(Cls.baz2, Decl(m4.ts, 12, 19)) >x : Symbol(C2.x, Decl(m3.ts, 1, 17)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/moduleAugmentationsImports1.symbols b/tests/baselines/reference/moduleAugmentationsImports1.symbols index 6491300b32d..ad607a7bdcd 100644 --- a/tests/baselines/reference/moduleAugmentationsImports1.symbols +++ b/tests/baselines/reference/moduleAugmentationsImports1.symbols @@ -80,21 +80,21 @@ let a: A; let b = a.getB().x.toFixed(); >b : Symbol(b, Decl(main.ts, 4, 3)) ->a.getB().x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>a.getB().x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >a.getB().x : Symbol(B.x, Decl(b.ts, 0, 16)) >a.getB : Symbol(A.getB, Decl(d.ts, 10, 17)) >a : Symbol(a, Decl(main.ts, 3, 3)) >getB : Symbol(A.getB, Decl(d.ts, 10, 17)) >x : Symbol(B.x, Decl(b.ts, 0, 16)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) let c = a.getCls().y.toLowerCase(); >c : Symbol(c, Decl(main.ts, 5, 3)) ->a.getCls().y.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>a.getCls().y.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >a.getCls().y : Symbol(Cls.y, Decl(c.d.ts, 1, 15)) >a.getCls : Symbol(A.getCls, Decl(d.ts, 16, 17)) >a : Symbol(a, Decl(main.ts, 3, 3)) >getCls : Symbol(A.getCls, Decl(d.ts, 16, 17)) >y : Symbol(Cls.y, Decl(c.d.ts, 1, 15)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/moduleAugmentationsImports2.symbols b/tests/baselines/reference/moduleAugmentationsImports2.symbols index 2d43ea3c348..6c063cdd568 100644 --- a/tests/baselines/reference/moduleAugmentationsImports2.symbols +++ b/tests/baselines/reference/moduleAugmentationsImports2.symbols @@ -85,21 +85,21 @@ let a: A; let b = a.getB().x.toFixed(); >b : Symbol(b, Decl(main.ts, 5, 3)) ->a.getB().x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>a.getB().x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >a.getB().x : Symbol(B.x, Decl(b.ts, 0, 16)) >a.getB : Symbol(A.getB, Decl(d.ts, 8, 17)) >a : Symbol(a, Decl(main.ts, 4, 3)) >getB : Symbol(A.getB, Decl(d.ts, 8, 17)) >x : Symbol(B.x, Decl(b.ts, 0, 16)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) let c = a.getCls().y.toLowerCase(); >c : Symbol(c, Decl(main.ts, 6, 3)) ->a.getCls().y.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>a.getCls().y.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >a.getCls().y : Symbol(Cls.y, Decl(c.d.ts, 1, 15)) >a.getCls : Symbol(A.getCls, Decl(e.ts, 6, 17)) >a : Symbol(a, Decl(main.ts, 4, 3)) >getCls : Symbol(A.getCls, Decl(e.ts, 6, 17)) >y : Symbol(Cls.y, Decl(c.d.ts, 1, 15)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/moduleAugmentationsImports3.symbols b/tests/baselines/reference/moduleAugmentationsImports3.symbols index 3be5f3d5af1..23842d62805 100644 --- a/tests/baselines/reference/moduleAugmentationsImports3.symbols +++ b/tests/baselines/reference/moduleAugmentationsImports3.symbols @@ -12,23 +12,23 @@ let a: A; let b = a.getB().x.toFixed(); >b : Symbol(b, Decl(main.ts, 6, 3)) ->a.getB().x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>a.getB().x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >a.getB().x : Symbol(B.x, Decl(b.ts, 0, 16)) >a.getB : Symbol(A.getB, Decl(d.d.ts, 4, 21)) >a : Symbol(a, Decl(main.ts, 5, 3)) >getB : Symbol(A.getB, Decl(d.d.ts, 4, 21)) >x : Symbol(B.x, Decl(b.ts, 0, 16)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) let c = a.getCls().y.toLowerCase(); >c : Symbol(c, Decl(main.ts, 7, 3)) ->a.getCls().y.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>a.getCls().y.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >a.getCls().y : Symbol(Cls.y, Decl(c.d.ts, 1, 15)) >a.getCls : Symbol(A.getCls, Decl(e.ts, 7, 17)) >a : Symbol(a, Decl(main.ts, 5, 3)) >getCls : Symbol(A.getCls, Decl(e.ts, 7, 17)) >y : Symbol(Cls.y, Decl(c.d.ts, 1, 15)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) === tests/cases/compiler/a.ts === export class A {} diff --git a/tests/baselines/reference/moduleAugmentationsImports4.symbols b/tests/baselines/reference/moduleAugmentationsImports4.symbols index 56acb7627c5..6e7bc5d6c9b 100644 --- a/tests/baselines/reference/moduleAugmentationsImports4.symbols +++ b/tests/baselines/reference/moduleAugmentationsImports4.symbols @@ -13,23 +13,23 @@ let a: A; let b = a.getB().x.toFixed(); >b : Symbol(b, Decl(main.ts, 7, 3)) ->a.getB().x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>a.getB().x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >a.getB().x : Symbol(B.x, Decl(b.ts, 0, 16)) >a.getB : Symbol(A.getB, Decl(d.d.ts, 4, 21)) >a : Symbol(a, Decl(main.ts, 6, 3)) >getB : Symbol(A.getB, Decl(d.d.ts, 4, 21)) >x : Symbol(B.x, Decl(b.ts, 0, 16)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) let c = a.getCls().y.toLowerCase(); >c : Symbol(c, Decl(main.ts, 8, 3)) ->a.getCls().y.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>a.getCls().y.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >a.getCls().y : Symbol(Cls.y, Decl(c.d.ts, 1, 15)) >a.getCls : Symbol(A.getCls, Decl(e.d.ts, 6, 21)) >a : Symbol(a, Decl(main.ts, 6, 3)) >getCls : Symbol(A.getCls, Decl(e.d.ts, 6, 21)) >y : Symbol(Cls.y, Decl(c.d.ts, 1, 15)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) === tests/cases/compiler/a.ts === export class A {} diff --git a/tests/baselines/reference/moduleDeclarationExportStarShadowingGlobalIsNameable.symbols b/tests/baselines/reference/moduleDeclarationExportStarShadowingGlobalIsNameable.symbols index e5e6e8542b5..38f41fd31c4 100644 --- a/tests/baselines/reference/moduleDeclarationExportStarShadowingGlobalIsNameable.symbols +++ b/tests/baselines/reference/moduleDeclarationExportStarShadowingGlobalIsNameable.symbols @@ -23,7 +23,7 @@ declare global { >global : Symbol(global, Decl(index.ts, 0, 0)) interface Account { ->Account : Symbol(Account, Decl(lib.d.ts, --, --), Decl(index.ts, 0, 16)) +>Account : Symbol(Account, Decl(lib.dom.d.ts, --, --), Decl(index.ts, 0, 16)) someProp: number; >someProp : Symbol(Account.someProp, Decl(index.ts, 1, 23)) diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.symbols b/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.symbols index c9a09bb6a8b..08060424096 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.symbols +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.symbols @@ -6,9 +6,9 @@ var mod1 = require('./mod1') >'./mod1' : Symbol("tests/cases/conformance/salsa/mod1", Decl(mod1.js, 0, 0)) mod1.toFixed(12) ->mod1.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>mod1.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >mod1 : Symbol(mod1, Decl(a.js, 1, 3)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) mod1.f() // error, 'f' is not a property on 'number' >mod1 : Symbol(mod1, Decl(a.js, 1, 3)) diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.symbols b/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.symbols index a84080cc998..4f14c045d64 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.symbols +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.symbols @@ -6,11 +6,11 @@ var mod1 = require('./mod1') >'./mod1' : Symbol("tests/cases/conformance/salsa/mod1", Decl(mod1.js, 0, 0)) mod1.justExport.toFixed() ->mod1.justExport.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>mod1.justExport.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >mod1.justExport : Symbol(justExport, Decl(mod1.js, 2, 18)) >mod1 : Symbol(mod1, Decl(a.js, 1, 3)) >justExport : Symbol(justExport, Decl(mod1.js, 2, 18)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) mod1.bothBefore.toFixed() // error, 'toFixed' not on 'string | number' >mod1.bothBefore : Symbol(bothBefore) @@ -23,11 +23,11 @@ mod1.bothAfter.toFixed() // error, 'toFixed' not on 'string | number' >bothAfter : Symbol(bothAfter) mod1.justProperty.length ->mod1.justProperty.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>mod1.justProperty.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >mod1.justProperty : Symbol(justProperty, Decl(mod1.js, 7, 35)) >mod1 : Symbol(mod1, Decl(a.js, 1, 3)) >justProperty : Symbol(justProperty, Decl(mod1.js, 7, 35)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) === tests/cases/conformance/salsa/requires.d.ts === declare var module: { exports: any }; diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.symbols b/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.symbols index e7cbcfa0828..400885f4bd9 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.symbols +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.symbols @@ -6,11 +6,11 @@ var mod1 = require('./mod1') >'./mod1' : Symbol("tests/cases/conformance/salsa/mod1", Decl(mod1.js, 0, 0)) mod1.justExport.toFixed() ->mod1.justExport.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>mod1.justExport.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >mod1.justExport : Symbol(A.justExport, Decl(mod1.js, 1, 36)) >mod1 : Symbol(mod1, Decl(a.js, 1, 3)) >justExport : Symbol(A.justExport, Decl(mod1.js, 1, 36)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) mod1.bothBefore.toFixed() // error >mod1.bothBefore : Symbol(A.bothBefore, Decl(mod1.js, 2, 16), Decl(mod1.js, 0, 0)) @@ -23,11 +23,11 @@ mod1.bothAfter.toFixed() >bothAfter : Symbol(A.bothAfter, Decl(mod1.js, 3, 16), Decl(mod1.js, 8, 1)) mod1.justProperty.length ->mod1.justProperty.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>mod1.justProperty.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >mod1.justProperty : Symbol(justProperty, Decl(mod1.js, 9, 35)) >mod1 : Symbol(mod1, Decl(a.js, 1, 3)) >justProperty : Symbol(justProperty, Decl(mod1.js, 9, 35)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) === tests/cases/conformance/salsa/requires.d.ts === declare var module: { exports: any }; diff --git a/tests/baselines/reference/moduleScoping.symbols b/tests/baselines/reference/moduleScoping.symbols index 7a63e8a60fc..385be9a0210 100644 --- a/tests/baselines/reference/moduleScoping.symbols +++ b/tests/baselines/reference/moduleScoping.symbols @@ -38,7 +38,7 @@ var v4 = {a: true, b: NaN}; // Should shadow global v2 in this module >v4 : Symbol(v4, Decl(file4.ts, 4, 3)) >a : Symbol(a, Decl(file4.ts, 4, 10)) >b : Symbol(b, Decl(file4.ts, 4, 18)) ->NaN : Symbol(NaN, Decl(lib.d.ts, --, --)) +>NaN : Symbol(NaN, Decl(lib.es5.d.ts, --, --)) === tests/cases/conformance/externalModules/file5.ts === var x = v2; // Should be global v2 of type number again diff --git a/tests/baselines/reference/moduledecl.symbols b/tests/baselines/reference/moduledecl.symbols index 9407058910e..d68ea04e703 100644 --- a/tests/baselines/reference/moduledecl.symbols +++ b/tests/baselines/reference/moduledecl.symbols @@ -80,7 +80,7 @@ module m0 { >i1 : Symbol(i1, Decl(moduledecl.ts, 31, 5)) () : Object; ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [n: number]: c1; >n : Symbol(n, Decl(moduledecl.ts, 35, 9)) @@ -174,7 +174,7 @@ module m1 { >i1 : Symbol(i1, Decl(moduledecl.ts, 68, 5)) () : Object; ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [n: number]: c1; >n : Symbol(n, Decl(moduledecl.ts, 72, 9)) diff --git a/tests/baselines/reference/multiExtendsSplitInterfaces1.symbols b/tests/baselines/reference/multiExtendsSplitInterfaces1.symbols index c8c04f39ad4..0a33d265c43 100644 --- a/tests/baselines/reference/multiExtendsSplitInterfaces1.symbols +++ b/tests/baselines/reference/multiExtendsSplitInterfaces1.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/multiExtendsSplitInterfaces1.ts === self.cancelAnimationFrame(0); ->self.cancelAnimationFrame : Symbol(Window.cancelAnimationFrame, Decl(lib.d.ts, --, --)) ->self : Symbol(self, Decl(lib.d.ts, --, --)) ->cancelAnimationFrame : Symbol(Window.cancelAnimationFrame, Decl(lib.d.ts, --, --)) +>self.cancelAnimationFrame : Symbol(Window.cancelAnimationFrame, Decl(lib.dom.d.ts, --, --)) +>self : Symbol(self, Decl(lib.dom.d.ts, --, --)) +>cancelAnimationFrame : Symbol(Window.cancelAnimationFrame, Decl(lib.dom.d.ts, --, --)) diff --git a/tests/baselines/reference/multipleDeclarations.symbols b/tests/baselines/reference/multipleDeclarations.symbols index 930dd402da6..b33ebc0222f 100644 --- a/tests/baselines/reference/multipleDeclarations.symbols +++ b/tests/baselines/reference/multipleDeclarations.symbols @@ -8,7 +8,7 @@ function C() { C.prototype.m = function() { >C.prototype : Symbol(C.m, Decl(input.js, 2, 1)) >C : Symbol(C, Decl(input.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m : Symbol(C.m, Decl(input.js, 2, 1)) this.nothing(); @@ -22,11 +22,11 @@ class X { >this.m : Symbol(X.m, Decl(input.js, 10, 5)) >this : Symbol(X, Decl(input.js, 5, 1)) >m : Symbol(X.m, Decl(input.js, 7, 19)) ->this.m.bind : Symbol(Function.bind, Decl(lib.d.ts, --, --)) +>this.m.bind : Symbol(Function.bind, Decl(lib.es5.d.ts, --, --)) >this.m : Symbol(X.m, Decl(input.js, 10, 5)) >this : Symbol(X, Decl(input.js, 5, 1)) >m : Symbol(X.m, Decl(input.js, 10, 5)) ->bind : Symbol(Function.bind, Decl(lib.d.ts, --, --)) +>bind : Symbol(Function.bind, Decl(lib.es5.d.ts, --, --)) >this : Symbol(X, Decl(input.js, 5, 1)) this.mistake = 'frankly, complete nonsense'; @@ -76,11 +76,11 @@ class Y { >this.m : Symbol(Y.m, Decl(input.js, 22, 5)) >this : Symbol(Y, Decl(input.js, 19, 10)) >m : Symbol(Y.m, Decl(input.js, 22, 5)) ->this.m.bind : Symbol(Function.bind, Decl(lib.d.ts, --, --)) +>this.m.bind : Symbol(Function.bind, Decl(lib.es5.d.ts, --, --)) >this.m : Symbol(Y.m, Decl(input.js, 22, 5)) >this : Symbol(Y, Decl(input.js, 19, 10)) >m : Symbol(Y.m, Decl(input.js, 22, 5)) ->bind : Symbol(Function.bind, Decl(lib.d.ts, --, --)) +>bind : Symbol(Function.bind, Decl(lib.es5.d.ts, --, --)) >this : Symbol(Y, Decl(input.js, 19, 10)) this.mistake = 'even more nonsense'; diff --git a/tests/baselines/reference/narrowExceptionVariableInCatchClause.symbols b/tests/baselines/reference/narrowExceptionVariableInCatchClause.symbols index fab69d249cf..c4f8e9fb8fd 100644 --- a/tests/baselines/reference/narrowExceptionVariableInCatchClause.symbols +++ b/tests/baselines/reference/narrowExceptionVariableInCatchClause.symbols @@ -30,12 +30,12 @@ function tryCatch() { else if (err instanceof Error) { >err : Symbol(err, Decl(narrowExceptionVariableInCatchClause.ts, 6, 11)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) err.message; ->err.message : Symbol(Error.message, Decl(lib.d.ts, --, --)) +>err.message : Symbol(Error.message, Decl(lib.es5.d.ts, --, --)) >err : Symbol(err, Decl(narrowExceptionVariableInCatchClause.ts, 6, 11)) ->message : Symbol(Error.message, Decl(lib.d.ts, --, --)) +>message : Symbol(Error.message, Decl(lib.es5.d.ts, --, --)) err.massage; // ERROR: Property 'massage' does not exist on type 'Error' >err : Symbol(err, Decl(narrowExceptionVariableInCatchClause.ts, 6, 11)) diff --git a/tests/baselines/reference/narrowFromAnyWithInstanceof.symbols b/tests/baselines/reference/narrowFromAnyWithInstanceof.symbols index 6203a2d096b..0bf12ec5297 100644 --- a/tests/baselines/reference/narrowFromAnyWithInstanceof.symbols +++ b/tests/baselines/reference/narrowFromAnyWithInstanceof.symbols @@ -4,7 +4,7 @@ declare var x: any; if (x instanceof Function) { // 'any' is not narrowed when target type is 'Function' >x : Symbol(x, Decl(narrowFromAnyWithInstanceof.ts, 0, 11)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x(); >x : Symbol(x, Decl(narrowFromAnyWithInstanceof.ts, 0, 11)) @@ -21,7 +21,7 @@ if (x instanceof Function) { // 'any' is not narrowed when target type is 'Funct if (x instanceof Object) { // 'any' is not narrowed when target type is 'Object' >x : Symbol(x, Decl(narrowFromAnyWithInstanceof.ts, 0, 11)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x.method(); >x : Symbol(x, Decl(narrowFromAnyWithInstanceof.ts, 0, 11)) @@ -32,12 +32,12 @@ if (x instanceof Object) { // 'any' is not narrowed when target type is 'Object' if (x instanceof Error) { // 'any' is narrowed to types other than 'Function'/'Object' >x : Symbol(x, Decl(narrowFromAnyWithInstanceof.ts, 0, 11)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x.message; ->x.message : Symbol(Error.message, Decl(lib.d.ts, --, --)) +>x.message : Symbol(Error.message, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(narrowFromAnyWithInstanceof.ts, 0, 11)) ->message : Symbol(Error.message, Decl(lib.d.ts, --, --)) +>message : Symbol(Error.message, Decl(lib.es5.d.ts, --, --)) x.mesage; >x : Symbol(x, Decl(narrowFromAnyWithInstanceof.ts, 0, 11)) @@ -45,12 +45,12 @@ if (x instanceof Error) { // 'any' is narrowed to types other than 'Function'/'O if (x instanceof Date) { >x : Symbol(x, Decl(narrowFromAnyWithInstanceof.ts, 0, 11)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) x.getDate(); ->x.getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>x.getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(narrowFromAnyWithInstanceof.ts, 0, 11)) ->getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) x.getHuors(); >x : Symbol(x, Decl(narrowFromAnyWithInstanceof.ts, 0, 11)) diff --git a/tests/baselines/reference/narrowFromAnyWithTypePredicate.symbols b/tests/baselines/reference/narrowFromAnyWithTypePredicate.symbols index ac25fde581b..db940d13800 100644 --- a/tests/baselines/reference/narrowFromAnyWithTypePredicate.symbols +++ b/tests/baselines/reference/narrowFromAnyWithTypePredicate.symbols @@ -6,13 +6,13 @@ declare function isFunction(x): x is Function; >isFunction : Symbol(isFunction, Decl(narrowFromAnyWithTypePredicate.ts, 0, 19)) >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 1, 28)) >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 1, 28)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare function isObject(x): x is Object; >isObject : Symbol(isObject, Decl(narrowFromAnyWithTypePredicate.ts, 1, 46)) >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 2, 26)) >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 2, 26)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare function isAnything(x): x is {}; >isAnything : Symbol(isAnything, Decl(narrowFromAnyWithTypePredicate.ts, 2, 42)) @@ -23,13 +23,13 @@ declare function isError(x): x is Error; >isError : Symbol(isError, Decl(narrowFromAnyWithTypePredicate.ts, 3, 40)) >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 4, 25)) >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 4, 25)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare function isDate(x): x is Date; >isDate : Symbol(isDate, Decl(narrowFromAnyWithTypePredicate.ts, 4, 40)) >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 5, 24)) >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 5, 24)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) if (isFunction(x)) { // 'any' is not narrowed when target type is 'Function' @@ -76,9 +76,9 @@ if (isError(x)) { >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 0, 11)) x.message; ->x.message : Symbol(Error.message, Decl(lib.d.ts, --, --)) +>x.message : Symbol(Error.message, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 0, 11)) ->message : Symbol(Error.message, Decl(lib.d.ts, --, --)) +>message : Symbol(Error.message, Decl(lib.es5.d.ts, --, --)) x.mesage; >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 0, 11)) @@ -89,9 +89,9 @@ if (isDate(x)) { >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 0, 11)) x.getDate(); ->x.getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>x.getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 0, 11)) ->getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) x.getHuors(); >x : Symbol(x, Decl(narrowFromAnyWithTypePredicate.ts, 0, 11)) diff --git a/tests/baselines/reference/narrowedConstInMethod.symbols b/tests/baselines/reference/narrowedConstInMethod.symbols index 75f8620d19c..9d8279378c3 100644 --- a/tests/baselines/reference/narrowedConstInMethod.symbols +++ b/tests/baselines/reference/narrowedConstInMethod.symbols @@ -12,9 +12,9 @@ function f() { return { bar() { return x.length; } // ok >bar : Symbol(bar, Decl(narrowedConstInMethod.ts, 4, 16)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(narrowedConstInMethod.ts, 2, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) }; } @@ -32,9 +32,9 @@ function f2() { return class { bar() { return x.length; } // ok >bar : Symbol((Anonymous class).bar, Decl(narrowedConstInMethod.ts, 13, 22)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(narrowedConstInMethod.ts, 11, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) }; } diff --git a/tests/baselines/reference/narrowingConstrainedTypeParameter.symbols b/tests/baselines/reference/narrowingConstrainedTypeParameter.symbols index 0510f1b5945..4da463e5266 100644 --- a/tests/baselines/reference/narrowingConstrainedTypeParameter.symbols +++ b/tests/baselines/reference/narrowingConstrainedTypeParameter.symbols @@ -33,7 +33,7 @@ export function speak(pet: TPet, voice: (pet: TPet) => string) >pet : Symbol(pet, Decl(narrowingConstrainedTypeParameter.ts, 10, 40)) throw new Error("Expected \"pet\" to be a Pet"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } return voice(pet); >voice : Symbol(voice, Decl(narrowingConstrainedTypeParameter.ts, 10, 50)) diff --git a/tests/baselines/reference/nativeToBoxedTypes.symbols b/tests/baselines/reference/nativeToBoxedTypes.symbols index 6ab7360b06e..1257bc9bad8 100644 --- a/tests/baselines/reference/nativeToBoxedTypes.symbols +++ b/tests/baselines/reference/nativeToBoxedTypes.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/nativeToBoxedTypes.ts === var N = new Number(); >N : Symbol(N, Decl(nativeToBoxedTypes.ts, 0, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var n = 100; >n : Symbol(n, Decl(nativeToBoxedTypes.ts, 1, 3)) @@ -12,7 +12,7 @@ n = N; var S = new String(); >S : Symbol(S, Decl(nativeToBoxedTypes.ts, 4, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var s = "foge"; >s : Symbol(s, Decl(nativeToBoxedTypes.ts, 5, 3)) @@ -23,7 +23,7 @@ s = S; var B = new Boolean(); >B : Symbol(B, Decl(nativeToBoxedTypes.ts, 8, 3)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var b = true; >b : Symbol(b, Decl(nativeToBoxedTypes.ts, 9, 3)) @@ -37,7 +37,7 @@ var sym: symbol; var Sym: Symbol; >Sym : Symbol(Sym, Decl(nativeToBoxedTypes.ts, 13, 3)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) sym = Sym; >sym : Symbol(sym, Decl(nativeToBoxedTypes.ts, 12, 3)) diff --git a/tests/baselines/reference/negateOperatorWithStringType.symbols b/tests/baselines/reference/negateOperatorWithStringType.symbols index 497e3c7cb00..a95f8fdb3d0 100644 --- a/tests/baselines/reference/negateOperatorWithStringType.symbols +++ b/tests/baselines/reference/negateOperatorWithStringType.symbols @@ -88,9 +88,9 @@ var ResultIsNumber11 = -(STRING + STRING); var ResultIsNumber12 = -STRING.charAt(0); >ResultIsNumber12 : Symbol(ResultIsNumber12, Decl(negateOperatorWithStringType.ts, 32, 3)) ->STRING.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(negateOperatorWithStringType.ts, 1, 3)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) // miss assignment operators -""; diff --git a/tests/baselines/reference/nestedLoopTypeGuards.symbols b/tests/baselines/reference/nestedLoopTypeGuards.symbols index 74426576d5a..5ad95b18559 100644 --- a/tests/baselines/reference/nestedLoopTypeGuards.symbols +++ b/tests/baselines/reference/nestedLoopTypeGuards.symbols @@ -31,9 +31,9 @@ function f1() { >j : Symbol(j, Decl(nestedLoopTypeGuards.ts, 7, 20), Decl(nestedLoopTypeGuards.ts, 10, 24)) a.length; // Should not error here ->a.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>a.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(nestedLoopTypeGuards.ts, 3, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } } @@ -56,9 +56,9 @@ function f2() { while (1) { a.length; // Should not error here ->a.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>a.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(nestedLoopTypeGuards.ts, 19, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } } diff --git a/tests/baselines/reference/nestedLoops.symbols b/tests/baselines/reference/nestedLoops.symbols index 0ab1c4651a6..e59444f3393 100644 --- a/tests/baselines/reference/nestedLoops.symbols +++ b/tests/baselines/reference/nestedLoops.symbols @@ -6,11 +6,11 @@ export class Test { let outerArray: Array = [1, 2, 3]; >outerArray : Symbol(outerArray, Decl(nestedLoops.ts, 3, 11)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) let innerArray: Array = [1, 2, 3]; >innerArray : Symbol(innerArray, Decl(nestedLoops.ts, 4, 11)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) for (let outer of outerArray) >outer : Symbol(outer, Decl(nestedLoops.ts, 6, 16)) diff --git a/tests/baselines/reference/nestedSelf.symbols b/tests/baselines/reference/nestedSelf.symbols index 50bdd9981e2..fcb719ba82b 100644 --- a/tests/baselines/reference/nestedSelf.symbols +++ b/tests/baselines/reference/nestedSelf.symbols @@ -10,8 +10,8 @@ module M { public foo() { [1,2,3].map((x) => { return this.n * x; })} >foo : Symbol(C.foo, Decl(nestedSelf.ts, 2, 17)) ->[1,2,3].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>[1,2,3].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(nestedSelf.ts, 3, 31)) >this.n : Symbol(C.n, Decl(nestedSelf.ts, 1, 17)) >this : Symbol(C, Decl(nestedSelf.ts, 0, 10)) diff --git a/tests/baselines/reference/nestedTypeVariableInfersLiteral.symbols b/tests/baselines/reference/nestedTypeVariableInfersLiteral.symbols index ce9e4915e3f..b2d3e512131 100644 --- a/tests/baselines/reference/nestedTypeVariableInfersLiteral.symbols +++ b/tests/baselines/reference/nestedTypeVariableInfersLiteral.symbols @@ -6,7 +6,7 @@ declare function direct(a: A | A[]): Record >a : Symbol(a, Decl(nestedTypeVariableInfersLiteral.ts, 1, 42)) >A : Symbol(A, Decl(nestedTypeVariableInfersLiteral.ts, 1, 24)) >A : Symbol(A, Decl(nestedTypeVariableInfersLiteral.ts, 1, 24)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >A : Symbol(A, Decl(nestedTypeVariableInfersLiteral.ts, 1, 24)) declare function nested(a: { fields: A }): Record @@ -15,7 +15,7 @@ declare function nested(a: { fields: A }): Record >a : Symbol(a, Decl(nestedTypeVariableInfersLiteral.ts, 2, 42)) >fields : Symbol(fields, Decl(nestedTypeVariableInfersLiteral.ts, 2, 46)) >A : Symbol(A, Decl(nestedTypeVariableInfersLiteral.ts, 2, 24)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >A : Symbol(A, Decl(nestedTypeVariableInfersLiteral.ts, 2, 24)) declare function nestedUnion(a: { fields: A | A[] }): Record @@ -25,7 +25,7 @@ declare function nestedUnion(a: { fields: A | A[] }): Recordfields : Symbol(fields, Decl(nestedTypeVariableInfersLiteral.ts, 3, 51)) >A : Symbol(A, Decl(nestedTypeVariableInfersLiteral.ts, 3, 29)) >A : Symbol(A, Decl(nestedTypeVariableInfersLiteral.ts, 3, 29)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >A : Symbol(A, Decl(nestedTypeVariableInfersLiteral.ts, 3, 29)) const directUnionSingle = direct("z") diff --git a/tests/baselines/reference/neverInference.symbols b/tests/baselines/reference/neverInference.symbols index 0441770dd3f..b5e22441b9f 100644 --- a/tests/baselines/reference/neverInference.symbols +++ b/tests/baselines/reference/neverInference.symbols @@ -91,9 +91,9 @@ declare function f2(as1: a[], as2: a[], cmp: (a1: a, a2: a) => number): void; f2(Array.from([0]), [], (a1, a2) => a1 - a2); >f2 : Symbol(f2, Decl(neverInference.ts, 21, 60)) ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >a1 : Symbol(a1, Decl(neverInference.ts, 26, 25)) >a2 : Symbol(a2, Decl(neverInference.ts, 26, 28)) >a1 : Symbol(a1, Decl(neverInference.ts, 26, 25)) @@ -101,9 +101,9 @@ f2(Array.from([0]), [], (a1, a2) => a1 - a2); f2(Array.from([]), [0], (a1, a2) => a1 - a2); >f2 : Symbol(f2, Decl(neverInference.ts, 21, 60)) ->Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) ->from : Symbol(ArrayConstructor.from, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >a1 : Symbol(a1, Decl(neverInference.ts, 27, 25)) >a2 : Symbol(a2, Decl(neverInference.ts, 27, 28)) >a1 : Symbol(a1, Decl(neverInference.ts, 27, 25)) diff --git a/tests/baselines/reference/neverInference.types b/tests/baselines/reference/neverInference.types index 50deacc8c1e..3d359d69c0d 100644 --- a/tests/baselines/reference/neverInference.types +++ b/tests/baselines/reference/neverInference.types @@ -100,9 +100,9 @@ f2(Array.from([0]), [], (a1, a2) => a1 - a2); >f2(Array.from([0]), [], (a1, a2) => a1 - a2) : void >f2 : (as1: a[], as2: a[], cmp: (a1: a, a2: a) => number) => void >Array.from([0]) : number[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >[0] : number[] >0 : 0 >[] : never[] @@ -117,9 +117,9 @@ f2(Array.from([]), [0], (a1, a2) => a1 - a2); >f2(Array.from([]), [0], (a1, a2) => a1 - a2) : void >f2 : (as1: a[], as2: a[], cmp: (a1: a, a2: a) => number) => void >Array.from([]) : never[] ->Array.from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } >[] : never[] >[0] : number[] >0 : 0 diff --git a/tests/baselines/reference/neverType.symbols b/tests/baselines/reference/neverType.symbols index f4e8329e7ea..e5d645d995e 100644 --- a/tests/baselines/reference/neverType.symbols +++ b/tests/baselines/reference/neverType.symbols @@ -4,7 +4,7 @@ function error(message: string): never { >message : Symbol(message, Decl(neverType.ts, 0, 15)) throw new Error(message); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >message : Symbol(message, Decl(neverType.ts, 0, 15)) } @@ -13,7 +13,7 @@ function errorVoid(message: string) { >message : Symbol(message, Decl(neverType.ts, 4, 19)) throw new Error(message); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >message : Symbol(message, Decl(neverType.ts, 4, 19)) } @@ -35,7 +35,7 @@ function failOrThrow(shouldFail: boolean) { >fail : Symbol(fail, Decl(neverType.ts, 6, 1)) } throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function infiniteLoop1() { @@ -100,7 +100,7 @@ class C { >void1 : Symbol(C.void1, Decl(neverType.ts, 49, 9)) throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } void2() { >void2 : Symbol(C.void2, Decl(neverType.ts, 52, 5)) @@ -111,7 +111,7 @@ class C { >never1 : Symbol(C.never1, Decl(neverType.ts, 55, 5)) throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } never2(): never { >never2 : Symbol(C.never2, Decl(neverType.ts, 58, 5)) @@ -171,7 +171,7 @@ test(() => fail()); test(() => { throw new Error(); }) >test : Symbol(test, Decl(neverType.ts, 76, 1)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) test(errorCallback); >test : Symbol(test, Decl(neverType.ts, 76, 1)) diff --git a/tests/baselines/reference/newArrays.symbols b/tests/baselines/reference/newArrays.symbols index 4a312365b3f..d23c4050c71 100644 --- a/tests/baselines/reference/newArrays.symbols +++ b/tests/baselines/reference/newArrays.symbols @@ -25,7 +25,7 @@ module M { >this.fa : Symbol(Gar.fa, Decl(newArrays.ts, 2, 12)) >this : Symbol(Gar, Decl(newArrays.ts, 1, 13)) >fa : Symbol(Gar.fa, Decl(newArrays.ts, 2, 12)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(newArrays.ts, 0, 10)) >this.x : Symbol(Gar.x, Decl(newArrays.ts, 3, 19)) >this : Symbol(Gar, Decl(newArrays.ts, 1, 13)) diff --git a/tests/baselines/reference/newNamesInGlobalAugmentations1.symbols b/tests/baselines/reference/newNamesInGlobalAugmentations1.symbols index 39fa693a146..3ae85851d54 100644 --- a/tests/baselines/reference/newNamesInGlobalAugmentations1.symbols +++ b/tests/baselines/reference/newNamesInGlobalAugmentations1.symbols @@ -12,7 +12,7 @@ declare global { >global : Symbol(global, Decl(f1.d.ts, 4, 1)) interface SymbolConstructor { ->SymbolConstructor : Symbol(SymbolConstructor, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(f1.d.ts, 5, 16)) +>SymbolConstructor : Symbol(SymbolConstructor, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(f1.d.ts, 5, 16)) observable: symbol; >observable : Symbol(SymbolConstructor.observable, Decl(f1.d.ts, 6, 33)) @@ -35,7 +35,7 @@ declare global { === tests/cases/compiler/main.ts === Symbol.observable; >Symbol.observable : Symbol(SymbolConstructor.observable, Decl(f1.d.ts, 6, 33)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >observable : Symbol(SymbolConstructor.observable, Decl(f1.d.ts, 6, 33)) new Cls().x diff --git a/tests/baselines/reference/newOperator.symbols b/tests/baselines/reference/newOperator.symbols index de20d11ddf2..33f9ea63682 100644 --- a/tests/baselines/reference/newOperator.symbols +++ b/tests/baselines/reference/newOperator.symbols @@ -9,11 +9,11 @@ var i = new ifc(); // Parens are optional var x = new Date; >x : Symbol(x, Decl(newOperator.ts, 5, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var y = new Date(); >y : Symbol(y, Decl(newOperator.ts, 6, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) // Target is not a class or var, good error var t1 = new 53(); @@ -26,9 +26,9 @@ new string; // Use in LHS of expression? (new Date()).toString(); ->(new Date()).toString : Symbol(Date.toString, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->toString : Symbol(Date.toString, Decl(lib.d.ts, --, --)) +>(new Date()).toString : Symbol(Date.toString, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>toString : Symbol(Date.toString, Decl(lib.es5.d.ts, --, --)) // Various spacing var t3 = new string[]( ); @@ -51,11 +51,11 @@ var f = new q(); // not legal var t5 = new new Date; >t5 : Symbol(t5, Decl(newOperator.ts, 30, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) // Can be an expression new String; ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) module M { diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.symbols b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.symbols index 38597019c4f..bf2f24db9a3 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.symbols +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/noCollisionThisExpressionAndLocalVarInLambda.ts === declare function alert(message?: any): void; ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(noCollisionThisExpressionAndLocalVarInLambda.ts, 0, 0)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(noCollisionThisExpressionAndLocalVarInLambda.ts, 0, 0)) >message : Symbol(message, Decl(noCollisionThisExpressionAndLocalVarInLambda.ts, 0, 23)) var x = { @@ -19,11 +19,11 @@ var x = { } } alert(x.doStuff(x => alert(x))); ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(noCollisionThisExpressionAndLocalVarInLambda.ts, 0, 0)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(noCollisionThisExpressionAndLocalVarInLambda.ts, 0, 0)) >x.doStuff : Symbol(doStuff, Decl(noCollisionThisExpressionAndLocalVarInLambda.ts, 1, 9)) >x : Symbol(x, Decl(noCollisionThisExpressionAndLocalVarInLambda.ts, 1, 3)) >doStuff : Symbol(doStuff, Decl(noCollisionThisExpressionAndLocalVarInLambda.ts, 1, 9)) >x : Symbol(x, Decl(noCollisionThisExpressionAndLocalVarInLambda.ts, 7, 16)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(noCollisionThisExpressionAndLocalVarInLambda.ts, 0, 0)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(noCollisionThisExpressionAndLocalVarInLambda.ts, 0, 0)) >x : Symbol(x, Decl(noCollisionThisExpressionAndLocalVarInLambda.ts, 7, 16)) diff --git a/tests/baselines/reference/noCrashOnThisTypeUsage.symbols b/tests/baselines/reference/noCrashOnThisTypeUsage.symbols index 84ab25a3392..de65184a76d 100644 --- a/tests/baselines/reference/noCrashOnThisTypeUsage.symbols +++ b/tests/baselines/reference/noCrashOnThisTypeUsage.symbols @@ -4,7 +4,7 @@ interface IListenable { changeListeners: Function[] | null >changeListeners : Symbol(IListenable.changeListeners, Decl(noCrashOnThisTypeUsage.ts, 0, 23)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) observe(handler: (change: any, oldValue?: any) => void, fireImmediately?: boolean): void >observe : Symbol(IListenable.observe, Decl(noCrashOnThisTypeUsage.ts, 1, 38)) @@ -62,7 +62,7 @@ export class ObservableValue { } changeListeners: Function[] | null = []; >changeListeners : Symbol(ObservableValue.changeListeners, Decl(noCrashOnThisTypeUsage.ts, 20, 5)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) observe(handler: (change: any, oldValue?: any) => void, fireImmediately?: boolean) {} >observe : Symbol(ObservableValue.observe, Decl(noCrashOnThisTypeUsage.ts, 21, 44)) diff --git a/tests/baselines/reference/noErrorsInCallback.symbols b/tests/baselines/reference/noErrorsInCallback.symbols index 8d45c627b99..78ddd75be6f 100644 --- a/tests/baselines/reference/noErrorsInCallback.symbols +++ b/tests/baselines/reference/noErrorsInCallback.symbols @@ -10,8 +10,8 @@ var one = new Bar({}); // Error >Bar : Symbol(Bar, Decl(noErrorsInCallback.ts, 0, 0)) [].forEach(() => { ->[].forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>[].forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) var two = new Bar({}); // No error? >two : Symbol(two, Decl(noErrorsInCallback.ts, 5, 7)) diff --git a/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.symbols b/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.symbols index db4148efdf9..9156f581c03 100644 --- a/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.symbols +++ b/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.symbols @@ -3,11 +3,11 @@ var regexMatchList = ['', '']; >regexMatchList : Symbol(regexMatchList, Decl(noImplicitAnyInContextuallyTypesFunctionParamter.ts, 0, 3)) regexMatchList.forEach(match => ''.replace(match, '')); ->regexMatchList.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>regexMatchList.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >regexMatchList : Symbol(regexMatchList, Decl(noImplicitAnyInContextuallyTypesFunctionParamter.ts, 0, 3)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >match : Symbol(match, Decl(noImplicitAnyInContextuallyTypesFunctionParamter.ts, 1, 23)) ->''.replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>''.replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >match : Symbol(match, Decl(noImplicitAnyInContextuallyTypesFunctionParamter.ts, 1, 23)) diff --git a/tests/baselines/reference/noImplicitAnyIndexing.symbols b/tests/baselines/reference/noImplicitAnyIndexing.symbols index a0f69d9a6df..9d9ef60e5ba 100644 --- a/tests/baselines/reference/noImplicitAnyIndexing.symbols +++ b/tests/baselines/reference/noImplicitAnyIndexing.symbols @@ -81,7 +81,7 @@ var m: MyMap = { "Okay that's enough for today.": NaN >"Okay that's enough for today." : Symbol("Okay that's enough for today.", Decl(noImplicitAnyIndexing.ts, 39, 11)) ->NaN : Symbol(NaN, Decl(lib.d.ts, --, --)) +>NaN : Symbol(NaN, Decl(lib.es5.d.ts, --, --)) }; diff --git a/tests/baselines/reference/noImplicitAnyIndexingSuppressed.symbols b/tests/baselines/reference/noImplicitAnyIndexingSuppressed.symbols index 8c004ac8945..511d3268ffe 100644 --- a/tests/baselines/reference/noImplicitAnyIndexingSuppressed.symbols +++ b/tests/baselines/reference/noImplicitAnyIndexingSuppressed.symbols @@ -80,7 +80,7 @@ var m: MyMap = { "Okay that's enough for today.": NaN >"Okay that's enough for today." : Symbol("Okay that's enough for today.", Decl(noImplicitAnyIndexingSuppressed.ts, 38, 11)) ->NaN : Symbol(NaN, Decl(lib.d.ts, --, --)) +>NaN : Symbol(NaN, Decl(lib.es5.d.ts, --, --)) }; diff --git a/tests/baselines/reference/noImplicitReturnsInAsync1.symbols b/tests/baselines/reference/noImplicitReturnsInAsync1.symbols index 3717c07625b..fbcd727d0d6 100644 --- a/tests/baselines/reference/noImplicitReturnsInAsync1.symbols +++ b/tests/baselines/reference/noImplicitReturnsInAsync1.symbols @@ -10,7 +10,7 @@ async function test(isError: boolean = false) { } let x = await Promise.resolve("The test is passed without an error."); >x : Symbol(x, Decl(noImplicitReturnsInAsync1.ts, 4, 7)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } diff --git a/tests/baselines/reference/noImplicitReturnsInAsync2.symbols b/tests/baselines/reference/noImplicitReturnsInAsync2.symbols index 097b5ef7cec..00debb9234e 100644 --- a/tests/baselines/reference/noImplicitReturnsInAsync2.symbols +++ b/tests/baselines/reference/noImplicitReturnsInAsync2.symbols @@ -28,7 +28,7 @@ async function test4(isError: boolean = true) { async function test5(isError: boolean = true): Promise { //should not be error >test5 : Symbol(test5, Decl(noImplicitReturnsInAsync2.ts, 12, 1)) >isError : Symbol(isError, Decl(noImplicitReturnsInAsync2.ts, 15, 21)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) if (isError === true) { >isError : Symbol(isError, Decl(noImplicitReturnsInAsync2.ts, 15, 21)) @@ -43,7 +43,7 @@ async function test5(isError: boolean = true): Promise { //should not be er async function test6(isError: boolean = true): Promise { >test6 : Symbol(test6, Decl(noImplicitReturnsInAsync2.ts, 19, 1)) >isError : Symbol(isError, Decl(noImplicitReturnsInAsync2.ts, 23, 21)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) if (isError === true) { >isError : Symbol(isError, Decl(noImplicitReturnsInAsync2.ts, 23, 21)) diff --git a/tests/baselines/reference/noUnusedLocals_writeOnlyProperty_dynamicNames.symbols b/tests/baselines/reference/noUnusedLocals_writeOnlyProperty_dynamicNames.symbols index a31666f299a..fa1f3eca00d 100644 --- a/tests/baselines/reference/noUnusedLocals_writeOnlyProperty_dynamicNames.symbols +++ b/tests/baselines/reference/noUnusedLocals_writeOnlyProperty_dynamicNames.symbols @@ -1,11 +1,11 @@ === tests/cases/compiler/noUnusedLocals_writeOnlyProperty_dynamicNames.ts === const x = Symbol("x"); >x : Symbol(x, Decl(noUnusedLocals_writeOnlyProperty_dynamicNames.ts, 0, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) const y = Symbol("y"); >y : Symbol(y, Decl(noUnusedLocals_writeOnlyProperty_dynamicNames.ts, 1, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) class C { >C : Symbol(C, Decl(noUnusedLocals_writeOnlyProperty_dynamicNames.ts, 1, 22)) diff --git a/tests/baselines/reference/nonIdenticalTypeConstraints.symbols b/tests/baselines/reference/nonIdenticalTypeConstraints.symbols index 455b3410a39..9c7eb423b10 100644 --- a/tests/baselines/reference/nonIdenticalTypeConstraints.symbols +++ b/tests/baselines/reference/nonIdenticalTypeConstraints.symbols @@ -15,7 +15,7 @@ class Different { class Foo { >Foo : Symbol(Foo, Decl(nonIdenticalTypeConstraints.ts, 4, 1), Decl(nonIdenticalTypeConstraints.ts, 8, 1)) >T : Symbol(T, Decl(nonIdenticalTypeConstraints.ts, 6, 10), Decl(nonIdenticalTypeConstraints.ts, 9, 14)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) n: T; >n : Symbol(Foo.n, Decl(nonIdenticalTypeConstraints.ts, 6, 31)) @@ -42,7 +42,7 @@ interface Qux { class Qux { >Qux : Symbol(Qux, Decl(nonIdenticalTypeConstraints.ts, 11, 1), Decl(nonIdenticalTypeConstraints.ts, 14, 1)) >T : Symbol(T, Decl(nonIdenticalTypeConstraints.ts, 12, 14), Decl(nonIdenticalTypeConstraints.ts, 15, 10)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) n: T; >n : Symbol(Qux.n, Decl(nonIdenticalTypeConstraints.ts, 15, 31)) @@ -52,7 +52,7 @@ class Qux { class Bar { >Bar : Symbol(Bar, Decl(nonIdenticalTypeConstraints.ts, 17, 1), Decl(nonIdenticalTypeConstraints.ts, 21, 1)) >T : Symbol(T, Decl(nonIdenticalTypeConstraints.ts, 19, 10), Decl(nonIdenticalTypeConstraints.ts, 22, 14)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) n: T; >n : Symbol(Bar.n, Decl(nonIdenticalTypeConstraints.ts, 19, 31)) @@ -61,7 +61,7 @@ class Bar { interface Bar { >Bar : Symbol(Bar, Decl(nonIdenticalTypeConstraints.ts, 17, 1), Decl(nonIdenticalTypeConstraints.ts, 21, 1)) >T : Symbol(T, Decl(nonIdenticalTypeConstraints.ts, 19, 10), Decl(nonIdenticalTypeConstraints.ts, 22, 14)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) y: T; >y : Symbol(Bar.y, Decl(nonIdenticalTypeConstraints.ts, 22, 35)) @@ -70,7 +70,7 @@ interface Bar { interface Baz { >Baz : Symbol(Baz, Decl(nonIdenticalTypeConstraints.ts, 24, 1), Decl(nonIdenticalTypeConstraints.ts, 27, 1)) >T : Symbol(T, Decl(nonIdenticalTypeConstraints.ts, 25, 14), Decl(nonIdenticalTypeConstraints.ts, 28, 10)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) y: T; >y : Symbol(Baz.y, Decl(nonIdenticalTypeConstraints.ts, 25, 35)) @@ -79,7 +79,7 @@ interface Baz { class Baz { >Baz : Symbol(Baz, Decl(nonIdenticalTypeConstraints.ts, 24, 1), Decl(nonIdenticalTypeConstraints.ts, 27, 1)) >T : Symbol(T, Decl(nonIdenticalTypeConstraints.ts, 25, 14), Decl(nonIdenticalTypeConstraints.ts, 28, 10)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) n: T; >n : Symbol(Baz.n, Decl(nonIdenticalTypeConstraints.ts, 28, 31)) diff --git a/tests/baselines/reference/nonNullParameterExtendingStringAssignableToString.symbols b/tests/baselines/reference/nonNullParameterExtendingStringAssignableToString.symbols index e351d25ac31..28592c30d1e 100644 --- a/tests/baselines/reference/nonNullParameterExtendingStringAssignableToString.symbols +++ b/tests/baselines/reference/nonNullParameterExtendingStringAssignableToString.symbols @@ -14,7 +14,7 @@ function fn(one: T, two: U) { let three = Boolean() ? one : two; >three : Symbol(three, Decl(nonNullParameterExtendingStringAssignableToString.ts, 3, 7)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >one : Symbol(one, Decl(nonNullParameterExtendingStringAssignableToString.ts, 2, 60)) >two : Symbol(two, Decl(nonNullParameterExtendingStringAssignableToString.ts, 2, 67)) diff --git a/tests/baselines/reference/nonPrimitiveAccessProperty.symbols b/tests/baselines/reference/nonPrimitiveAccessProperty.symbols index 292fa91a838..e0c3e3bfa9d 100644 --- a/tests/baselines/reference/nonPrimitiveAccessProperty.symbols +++ b/tests/baselines/reference/nonPrimitiveAccessProperty.symbols @@ -3,9 +3,9 @@ var a: object; >a : Symbol(a, Decl(nonPrimitiveAccessProperty.ts, 0, 3)) a.toString(); ->a.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>a.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(nonPrimitiveAccessProperty.ts, 0, 3)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) a.nonExist(); // error >a : Symbol(a, Decl(nonPrimitiveAccessProperty.ts, 0, 3)) diff --git a/tests/baselines/reference/nonPrimitiveAssignError.symbols b/tests/baselines/reference/nonPrimitiveAssignError.symbols index caa969dbb0b..c5d89dd9cda 100644 --- a/tests/baselines/reference/nonPrimitiveAssignError.symbols +++ b/tests/baselines/reference/nonPrimitiveAssignError.symbols @@ -60,15 +60,15 @@ s = a; // expect error var numObj: Number = 123; >numObj : Symbol(numObj, Decl(nonPrimitiveAssignError.ts, 20, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var boolObj: Boolean = true; >boolObj : Symbol(boolObj, Decl(nonPrimitiveAssignError.ts, 21, 3)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var strObj: String = "string"; >strObj : Symbol(strObj, Decl(nonPrimitiveAssignError.ts, 22, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) a = numObj; // ok >a : Symbol(a, Decl(nonPrimitiveAssignError.ts, 2, 3)) diff --git a/tests/baselines/reference/nonPrimitiveInGeneric.symbols b/tests/baselines/reference/nonPrimitiveInGeneric.symbols index d51b26afdc3..5094c0833fd 100644 --- a/tests/baselines/reference/nonPrimitiveInGeneric.symbols +++ b/tests/baselines/reference/nonPrimitiveInGeneric.symbols @@ -63,7 +63,7 @@ bound2<{}>(); bound2(); >bound2 : Symbol(bound2, Decl(nonPrimitiveInGeneric.ts, 18, 9)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) bound2(); // expect error >bound2 : Symbol(bound2, Decl(nonPrimitiveInGeneric.ts, 18, 9)) diff --git a/tests/baselines/reference/nonPrimitiveNarrow.symbols b/tests/baselines/reference/nonPrimitiveNarrow.symbols index 599d9d53863..498df3ac345 100644 --- a/tests/baselines/reference/nonPrimitiveNarrow.symbols +++ b/tests/baselines/reference/nonPrimitiveNarrow.symbols @@ -36,9 +36,9 @@ if (typeof b === 'object') { >b : Symbol(b, Decl(nonPrimitiveNarrow.ts, 15, 3)) b.toString(); // ok, object | null ->b.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>b.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(nonPrimitiveNarrow.ts, 15, 3)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) } else { b.toString(); // error, never diff --git a/tests/baselines/reference/nonPrimitiveStrictNull.symbols b/tests/baselines/reference/nonPrimitiveStrictNull.symbols index cc63d26d0f5..55fc761e986 100644 --- a/tests/baselines/reference/nonPrimitiveStrictNull.symbols +++ b/tests/baselines/reference/nonPrimitiveStrictNull.symbols @@ -15,9 +15,9 @@ var e: object | null >e : Symbol(e, Decl(nonPrimitiveStrictNull.ts, 4, 3)) a.toString; // error ->a.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>a.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(nonPrimitiveStrictNull.ts, 0, 3)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) a = undefined; // error >a : Symbol(a, Decl(nonPrimitiveStrictNull.ts, 0, 3)) @@ -69,9 +69,9 @@ if (typeof d === 'object') { >d : Symbol(d, Decl(nonPrimitiveStrictNull.ts, 3, 11)) d.toString(); // error, object | null ->d.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>d.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >d : Symbol(d, Decl(nonPrimitiveStrictNull.ts, 3, 11)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) } else { d.toString(); // error, undefined @@ -86,9 +86,9 @@ if (d == null) { } else { d.toString(); // object ->d.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>d.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >d : Symbol(d, Decl(nonPrimitiveStrictNull.ts, 3, 11)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) } if (d === null) { @@ -99,9 +99,9 @@ if (d === null) { } else { d.toString(); // error, object | undefined ->d.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>d.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >d : Symbol(d, Decl(nonPrimitiveStrictNull.ts, 3, 11)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) } if (typeof d === 'undefined') { @@ -112,9 +112,9 @@ if (typeof d === 'undefined') { } else { d.toString(); // error, object | null ->d.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>d.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >d : Symbol(d, Decl(nonPrimitiveStrictNull.ts, 3, 11)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) } interface Proxy {} diff --git a/tests/baselines/reference/nonexistentPropertyAvailableOnPromisedType.symbols b/tests/baselines/reference/nonexistentPropertyAvailableOnPromisedType.symbols index 6e8de9ce43d..6c2dab4aaf2 100644 --- a/tests/baselines/reference/nonexistentPropertyAvailableOnPromisedType.symbols +++ b/tests/baselines/reference/nonexistentPropertyAvailableOnPromisedType.symbols @@ -2,7 +2,7 @@ function f(x: Promise) { >f : Symbol(f, Decl(nonexistentPropertyAvailableOnPromisedType.ts, 0, 0)) >x : Symbol(x, Decl(nonexistentPropertyAvailableOnPromisedType.ts, 0, 11)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) x.toLowerCase(); >x : Symbol(x, Decl(nonexistentPropertyAvailableOnPromisedType.ts, 0, 11)) diff --git a/tests/baselines/reference/nonexistentPropertyOnUnion.symbols b/tests/baselines/reference/nonexistentPropertyOnUnion.symbols index 1b865859949..be8109cc197 100644 --- a/tests/baselines/reference/nonexistentPropertyOnUnion.symbols +++ b/tests/baselines/reference/nonexistentPropertyOnUnion.symbols @@ -2,7 +2,7 @@ function f(x: string | Promise) { >f : Symbol(f, Decl(nonexistentPropertyOnUnion.ts, 0, 0)) >x : Symbol(x, Decl(nonexistentPropertyOnUnion.ts, 0, 11)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) x.toLowerCase(); >x : Symbol(x, Decl(nonexistentPropertyOnUnion.ts, 0, 11)) diff --git a/tests/baselines/reference/nonexistentPropertyUnavailableOnPromisedType.symbols b/tests/baselines/reference/nonexistentPropertyUnavailableOnPromisedType.symbols index 3754a5ff132..1475bee86ad 100644 --- a/tests/baselines/reference/nonexistentPropertyUnavailableOnPromisedType.symbols +++ b/tests/baselines/reference/nonexistentPropertyUnavailableOnPromisedType.symbols @@ -2,7 +2,7 @@ function f(x: Promise) { >f : Symbol(f, Decl(nonexistentPropertyUnavailableOnPromisedType.ts, 0, 0)) >x : Symbol(x, Decl(nonexistentPropertyUnavailableOnPromisedType.ts, 0, 11)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) x.toLowerCase(); >x : Symbol(x, Decl(nonexistentPropertyUnavailableOnPromisedType.ts, 0, 11)) diff --git a/tests/baselines/reference/nullAssignableToEveryType.symbols b/tests/baselines/reference/nullAssignableToEveryType.symbols index 9212d6df499..bc96e0ad7e0 100644 --- a/tests/baselines/reference/nullAssignableToEveryType.symbols +++ b/tests/baselines/reference/nullAssignableToEveryType.symbols @@ -38,7 +38,7 @@ var d: boolean = null; var e: Date = null; >e : Symbol(e, Decl(nullAssignableToEveryType.ts, 15, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var f: any = null; >f : Symbol(f, Decl(nullAssignableToEveryType.ts, 16, 3)) @@ -48,7 +48,7 @@ var g: void = null; var h: Object = null; >h : Symbol(h, Decl(nullAssignableToEveryType.ts, 18, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var i: {} = null; >i : Symbol(i, Decl(nullAssignableToEveryType.ts, 19, 3)) @@ -58,7 +58,7 @@ var j: () => {} = null; var k: Function = null; >k : Symbol(k, Decl(nullAssignableToEveryType.ts, 21, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var l: (x: number) => string = null; >l : Symbol(l, Decl(nullAssignableToEveryType.ts, 22, 3)) @@ -89,18 +89,18 @@ var o: (x: T) => T = null; var p: Number = null; >p : Symbol(p, Decl(nullAssignableToEveryType.ts, 29, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var q: String = null; >q : Symbol(q, Decl(nullAssignableToEveryType.ts, 30, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo(x: T, y: U, z: V) { >foo : Symbol(foo, Decl(nullAssignableToEveryType.ts, 30, 21)) >T : Symbol(T, Decl(nullAssignableToEveryType.ts, 32, 13)) >U : Symbol(U, Decl(nullAssignableToEveryType.ts, 32, 15)) >V : Symbol(V, Decl(nullAssignableToEveryType.ts, 32, 18)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(nullAssignableToEveryType.ts, 32, 35)) >T : Symbol(T, Decl(nullAssignableToEveryType.ts, 32, 13)) >y : Symbol(y, Decl(nullAssignableToEveryType.ts, 32, 40)) diff --git a/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.symbols b/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.symbols index 536bf6b2ec9..9427b6e6e38 100644 --- a/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.symbols +++ b/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.symbols @@ -39,11 +39,11 @@ var r3 = true ? null : true; var r4 = true ? new Date() : null; >r4 : Symbol(r4, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 18, 3), Decl(nullIsSubtypeOfEverythingButUndefined.ts, 19, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r4 = true ? null : new Date(); >r4 : Symbol(r4, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 18, 3), Decl(nullIsSubtypeOfEverythingButUndefined.ts, 19, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r5 = true ? /1/ : null; >r5 : Symbol(r5, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 21, 3), Decl(nullIsSubtypeOfEverythingButUndefined.ts, 22, 3)) @@ -233,11 +233,11 @@ function f18(x: U) { var r19 = true ? new Object() : null; >r19 : Symbol(r19, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 85, 3), Decl(nullIsSubtypeOfEverythingButUndefined.ts, 86, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r19 = true ? null : new Object(); >r19 : Symbol(r19, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 85, 3), Decl(nullIsSubtypeOfEverythingButUndefined.ts, 86, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r20 = true ? {} : null; >r20 : Symbol(r20, Decl(nullIsSubtypeOfEverythingButUndefined.ts, 88, 3), Decl(nullIsSubtypeOfEverythingButUndefined.ts, 89, 3)) diff --git a/tests/baselines/reference/numberPropertyAccess.symbols b/tests/baselines/reference/numberPropertyAccess.symbols index 4792c16609a..7b5f80357c7 100644 --- a/tests/baselines/reference/numberPropertyAccess.symbols +++ b/tests/baselines/reference/numberPropertyAccess.symbols @@ -4,23 +4,23 @@ var x = 1; var a = x.toExponential(); >a : Symbol(a, Decl(numberPropertyAccess.ts, 1, 3)) ->x.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(numberPropertyAccess.ts, 0, 3)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) var b = x.hasOwnProperty('toFixed'); >b : Symbol(b, Decl(numberPropertyAccess.ts, 2, 3)) ->x.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>x.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(numberPropertyAccess.ts, 0, 3)) ->hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) var c = x['toExponential'](); >c : Symbol(c, Decl(numberPropertyAccess.ts, 4, 3)) >x : Symbol(x, Decl(numberPropertyAccess.ts, 0, 3)) ->'toExponential' : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>'toExponential' : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) var d = x['hasOwnProperty']('toFixed'); >d : Symbol(d, Decl(numberPropertyAccess.ts, 5, 3)) >x : Symbol(x, Decl(numberPropertyAccess.ts, 0, 3)) ->'hasOwnProperty' : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>'hasOwnProperty' : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.symbols b/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.symbols index f698a0c131f..59df83859c6 100644 --- a/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.symbols +++ b/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.symbols @@ -3,7 +3,7 @@ interface MyNumber extends Number { >MyNumber : Symbol(MyNumber, Decl(numericIndexerConstrainsPropertyDeclarations.ts, 0, 0)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo: number; >foo : Symbol(MyNumber.foo, Decl(numericIndexerConstrainsPropertyDeclarations.ts, 2, 35)) diff --git a/tests/baselines/reference/numericIndexerConstraint.symbols b/tests/baselines/reference/numericIndexerConstraint.symbols index dac9892c128..de79ebe7c3d 100644 --- a/tests/baselines/reference/numericIndexerConstraint.symbols +++ b/tests/baselines/reference/numericIndexerConstraint.symbols @@ -7,5 +7,5 @@ class C { [x: number]: RegExp; >x : Symbol(x, Decl(numericIndexerConstraint.ts, 2, 5)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/numericIndexerConstraint5.symbols b/tests/baselines/reference/numericIndexerConstraint5.symbols index 54d12cc63fe..568b52c92fc 100644 --- a/tests/baselines/reference/numericIndexerConstraint5.symbols +++ b/tests/baselines/reference/numericIndexerConstraint5.symbols @@ -3,7 +3,7 @@ var x = { name: "x", 0: new Date() }; >x : Symbol(x, Decl(numericIndexerConstraint5.ts, 0, 3)) >name : Symbol(name, Decl(numericIndexerConstraint5.ts, 0, 9)) >0 : Symbol(0, Decl(numericIndexerConstraint5.ts, 0, 20)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var z: { [name: number]: string } = x; >z : Symbol(z, Decl(numericIndexerConstraint5.ts, 1, 3)) diff --git a/tests/baselines/reference/numericIndexerTyping1.symbols b/tests/baselines/reference/numericIndexerTyping1.symbols index 110eff563fb..71d6b097d1c 100644 --- a/tests/baselines/reference/numericIndexerTyping1.symbols +++ b/tests/baselines/reference/numericIndexerTyping1.symbols @@ -4,7 +4,7 @@ interface I { [x: string]: Date; >x : Symbol(x, Decl(numericIndexerTyping1.ts, 1, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } interface I2 extends I { diff --git a/tests/baselines/reference/numericIndexerTyping2.symbols b/tests/baselines/reference/numericIndexerTyping2.symbols index c5e4c3b4c98..071e5348594 100644 --- a/tests/baselines/reference/numericIndexerTyping2.symbols +++ b/tests/baselines/reference/numericIndexerTyping2.symbols @@ -4,7 +4,7 @@ class I { [x: string]: Date >x : Symbol(x, Decl(numericIndexerTyping2.ts, 1, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } class I2 extends I { diff --git a/tests/baselines/reference/numericLiteralTypes1.symbols b/tests/baselines/reference/numericLiteralTypes1.symbols index 0000ab5da1d..9144474a5bf 100644 --- a/tests/baselines/reference/numericLiteralTypes1.symbols +++ b/tests/baselines/reference/numericLiteralTypes1.symbols @@ -218,7 +218,7 @@ function assertNever(x: never): never { >x : Symbol(x, Decl(numericLiteralTypes1.ts, 63, 21)) throw new Error("Unexpected value"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } type Tag = 0 | 1 | 2; diff --git a/tests/baselines/reference/numericLiteralTypes2.symbols b/tests/baselines/reference/numericLiteralTypes2.symbols index fbe793d3649..c8265d419b8 100644 --- a/tests/baselines/reference/numericLiteralTypes2.symbols +++ b/tests/baselines/reference/numericLiteralTypes2.symbols @@ -218,7 +218,7 @@ function assertNever(x: never): never { >x : Symbol(x, Decl(numericLiteralTypes2.ts, 63, 21)) throw new Error("Unexpected value"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } type Tag = 0 | 1 | 2; diff --git a/tests/baselines/reference/objectCreate-errors.symbols b/tests/baselines/reference/objectCreate-errors.symbols index 98f15bec7c8..08dcd35b06b 100644 --- a/tests/baselines/reference/objectCreate-errors.symbols +++ b/tests/baselines/reference/objectCreate-errors.symbols @@ -1,52 +1,52 @@ === tests/cases/compiler/objectCreate-errors.ts === var e1 = Object.create(1); // Error >e1 : Symbol(e1, Decl(objectCreate-errors.ts, 0, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var e2 = Object.create("string"); // Error >e2 : Symbol(e2, Decl(objectCreate-errors.ts, 1, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var e3 = Object.create(false); // Error >e3 : Symbol(e3, Decl(objectCreate-errors.ts, 2, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var e4 = Object.create(undefined); // Error >e4 : Symbol(e4, Decl(objectCreate-errors.ts, 3, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) var e5 = Object.create(1, {}); // Error >e5 : Symbol(e5, Decl(objectCreate-errors.ts, 6, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var e6 = Object.create("string", {}); // Error >e6 : Symbol(e6, Decl(objectCreate-errors.ts, 7, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var e7 = Object.create(false, {}); // Error >e7 : Symbol(e7, Decl(objectCreate-errors.ts, 8, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var e8 = Object.create(undefined, {}); // Error >e8 : Symbol(e8, Decl(objectCreate-errors.ts, 9, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) diff --git a/tests/baselines/reference/objectCreate.symbols b/tests/baselines/reference/objectCreate.symbols index 00fe86a2d10..bc7ae4ed0a6 100644 --- a/tests/baselines/reference/objectCreate.symbols +++ b/tests/baselines/reference/objectCreate.symbols @@ -6,67 +6,67 @@ declare var union: null | { a: number, b: string }; var n = Object.create(null); // object >n : Symbol(n, Decl(objectCreate.ts, 2, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var t = Object.create({ a: 1, b: "" }); // {a: number, b: string } >t : Symbol(t, Decl(objectCreate.ts, 3, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(objectCreate.ts, 3, 23)) >b : Symbol(b, Decl(objectCreate.ts, 3, 29)) var u = Object.create(union); // object | {a: number, b: string } >u : Symbol(u, Decl(objectCreate.ts, 4, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >union : Symbol(union, Decl(objectCreate.ts, 0, 11)) var e = Object.create({}); // {} >e : Symbol(e, Decl(objectCreate.ts, 5, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var o = Object.create({}); // object >o : Symbol(o, Decl(objectCreate.ts, 6, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var a = Object.create(null, {}); // any >a : Symbol(a, Decl(objectCreate.ts, 8, 3), Decl(objectCreate.ts, 9, 3), Decl(objectCreate.ts, 10, 3), Decl(objectCreate.ts, 11, 3), Decl(objectCreate.ts, 12, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var a = Object.create({ a: 1, b: "" }, {}); >a : Symbol(a, Decl(objectCreate.ts, 8, 3), Decl(objectCreate.ts, 9, 3), Decl(objectCreate.ts, 10, 3), Decl(objectCreate.ts, 11, 3), Decl(objectCreate.ts, 12, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(objectCreate.ts, 9, 23)) >b : Symbol(b, Decl(objectCreate.ts, 9, 29)) var a = Object.create(union, {}); >a : Symbol(a, Decl(objectCreate.ts, 8, 3), Decl(objectCreate.ts, 9, 3), Decl(objectCreate.ts, 10, 3), Decl(objectCreate.ts, 11, 3), Decl(objectCreate.ts, 12, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >union : Symbol(union, Decl(objectCreate.ts, 0, 11)) var a = Object.create({}, {}); >a : Symbol(a, Decl(objectCreate.ts, 8, 3), Decl(objectCreate.ts, 9, 3), Decl(objectCreate.ts, 10, 3), Decl(objectCreate.ts, 11, 3), Decl(objectCreate.ts, 12, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var a = Object.create({}, {}); >a : Symbol(a, Decl(objectCreate.ts, 8, 3), Decl(objectCreate.ts, 9, 3), Decl(objectCreate.ts, 10, 3), Decl(objectCreate.ts, 11, 3), Decl(objectCreate.ts, 12, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/objectCreate2.symbols b/tests/baselines/reference/objectCreate2.symbols index 3579aba0817..d3dcb4e276a 100644 --- a/tests/baselines/reference/objectCreate2.symbols +++ b/tests/baselines/reference/objectCreate2.symbols @@ -6,67 +6,67 @@ declare var union: null | { a: number, b: string }; var n = Object.create(null); // any >n : Symbol(n, Decl(objectCreate2.ts, 2, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var t = Object.create({ a: 1, b: "" }); // {a: number, b: string } >t : Symbol(t, Decl(objectCreate2.ts, 3, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(objectCreate2.ts, 3, 23)) >b : Symbol(b, Decl(objectCreate2.ts, 3, 29)) var u = Object.create(union); // {a: number, b: string } >u : Symbol(u, Decl(objectCreate2.ts, 4, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >union : Symbol(union, Decl(objectCreate2.ts, 0, 11)) var e = Object.create({}); // {} >e : Symbol(e, Decl(objectCreate2.ts, 5, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var o = Object.create({}); // object >o : Symbol(o, Decl(objectCreate2.ts, 6, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var a = Object.create(null, {}); // any >a : Symbol(a, Decl(objectCreate2.ts, 8, 3), Decl(objectCreate2.ts, 9, 3), Decl(objectCreate2.ts, 10, 3), Decl(objectCreate2.ts, 11, 3), Decl(objectCreate2.ts, 12, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var a = Object.create({ a: 1, b: "" }, {}); >a : Symbol(a, Decl(objectCreate2.ts, 8, 3), Decl(objectCreate2.ts, 9, 3), Decl(objectCreate2.ts, 10, 3), Decl(objectCreate2.ts, 11, 3), Decl(objectCreate2.ts, 12, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(objectCreate2.ts, 9, 23)) >b : Symbol(b, Decl(objectCreate2.ts, 9, 29)) var a = Object.create(union, {}); >a : Symbol(a, Decl(objectCreate2.ts, 8, 3), Decl(objectCreate2.ts, 9, 3), Decl(objectCreate2.ts, 10, 3), Decl(objectCreate2.ts, 11, 3), Decl(objectCreate2.ts, 12, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >union : Symbol(union, Decl(objectCreate2.ts, 0, 11)) var a = Object.create({}, {}); >a : Symbol(a, Decl(objectCreate2.ts, 8, 3), Decl(objectCreate2.ts, 9, 3), Decl(objectCreate2.ts, 10, 3), Decl(objectCreate2.ts, 11, 3), Decl(objectCreate2.ts, 12, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var a = Object.create({}, {}); >a : Symbol(a, Decl(objectCreate2.ts, 8, 3), Decl(objectCreate2.ts, 9, 3), Decl(objectCreate2.ts, 10, 3), Decl(objectCreate2.ts, 11, 3), Decl(objectCreate2.ts, 12, 3)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/objectFreeze.symbols b/tests/baselines/reference/objectFreeze.symbols index c620cac772d..929ab44ddb4 100644 --- a/tests/baselines/reference/objectFreeze.symbols +++ b/tests/baselines/reference/objectFreeze.symbols @@ -1,9 +1,9 @@ === tests/cases/compiler/objectFreeze.ts === const f = Object.freeze(function foo(a: number, b: string) { return false; }); >f : Symbol(f, Decl(objectFreeze.ts, 0, 5)) ->Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >foo : Symbol(foo, Decl(objectFreeze.ts, 0, 24)) >a : Symbol(a, Decl(objectFreeze.ts, 0, 37)) >b : Symbol(b, Decl(objectFreeze.ts, 0, 47)) @@ -17,9 +17,9 @@ class C { constructor(a: number) { } } const c = Object.freeze(C); >c : Symbol(c, Decl(objectFreeze.ts, 4, 5)) ->Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >C : Symbol(C, Decl(objectFreeze.ts, 1, 19)) new c(1); @@ -27,21 +27,21 @@ new c(1); const a = Object.freeze([1, 2, 3]); >a : Symbol(a, Decl(objectFreeze.ts, 7, 5)) ->Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) a[0] = a[2].toString(); >a : Symbol(a, Decl(objectFreeze.ts, 7, 5)) ->a[2].toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>a[2].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(objectFreeze.ts, 7, 5)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) const o = Object.freeze({ a: 1, b: "string" }); >o : Symbol(o, Decl(objectFreeze.ts, 10, 5)) ->Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->freeze : Symbol(ObjectConstructor.freeze, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(objectFreeze.ts, 10, 25)) >b : Symbol(b, Decl(objectFreeze.ts, 10, 31)) @@ -49,9 +49,9 @@ o.b = o.a.toString(); >o.b : Symbol(b, Decl(objectFreeze.ts, 10, 31)) >o : Symbol(o, Decl(objectFreeze.ts, 10, 5)) >b : Symbol(b, Decl(objectFreeze.ts, 10, 31)) ->o.a.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>o.a.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >o.a : Symbol(a, Decl(objectFreeze.ts, 10, 25)) >o : Symbol(o, Decl(objectFreeze.ts, 10, 5)) >a : Symbol(a, Decl(objectFreeze.ts, 10, 25)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/objectLitGetterSetter.symbols b/tests/baselines/reference/objectLitGetterSetter.symbols index 15f3cdd8a4f..825b346b485 100644 --- a/tests/baselines/reference/objectLitGetterSetter.symbols +++ b/tests/baselines/reference/objectLitGetterSetter.symbols @@ -3,17 +3,17 @@ >obj : Symbol(obj, Decl(objectLitGetterSetter.ts, 0, 15)) Object.defineProperty(obj, "accProperty", ({ ->Object.defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.d.ts, --, --)) +>Object.defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(objectLitGetterSetter.ts, 0, 15)) ->PropertyDescriptor : Symbol(PropertyDescriptor, Decl(lib.d.ts, --, --)) +>PropertyDescriptor : Symbol(PropertyDescriptor, Decl(lib.es5.d.ts, --, --)) get: function () { >get : Symbol(get, Decl(objectLitGetterSetter.ts, 1, 76)) eval("public = 1;"); ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) return 11; }, diff --git a/tests/baselines/reference/objectLitPropertyScoping.symbols b/tests/baselines/reference/objectLitPropertyScoping.symbols index e1686e1dc7d..0e754a4c83b 100644 --- a/tests/baselines/reference/objectLitPropertyScoping.symbols +++ b/tests/baselines/reference/objectLitPropertyScoping.symbols @@ -25,9 +25,9 @@ function makePoint(x: number, y: number) { >dist : Symbol(dist, Decl(objectLitPropertyScoping.ts, 9, 10)) return Math.sqrt(x * x + y * y); ->Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) +>Math.sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectLitPropertyScoping.ts, 2, 19)) >x : Symbol(x, Decl(objectLitPropertyScoping.ts, 2, 19)) >y : Symbol(y, Decl(objectLitPropertyScoping.ts, 2, 29)) diff --git a/tests/baselines/reference/objectLiteralGettersAndSetters.symbols b/tests/baselines/reference/objectLiteralGettersAndSetters.symbols index 55ccbfb9990..0b5e9ac2387 100644 --- a/tests/baselines/reference/objectLiteralGettersAndSetters.symbols +++ b/tests/baselines/reference/objectLiteralGettersAndSetters.symbols @@ -138,7 +138,7 @@ var sameType1 = { get x(): string { return undefined; }, set x(n: string) { } }; var sameType2 = { get x(): Array { return undefined; }, set x(n: number[]) { } }; >sameType2 : Symbol(sameType2, Decl(objectLiteralGettersAndSetters.ts, 35, 3)) >x : Symbol(x, Decl(objectLiteralGettersAndSetters.ts, 35, 17), Decl(objectLiteralGettersAndSetters.ts, 35, 63)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >x : Symbol(x, Decl(objectLiteralGettersAndSetters.ts, 35, 17), Decl(objectLiteralGettersAndSetters.ts, 35, 63)) >n : Symbol(n, Decl(objectLiteralGettersAndSetters.ts, 35, 70)) @@ -154,11 +154,11 @@ var sameType3 = { get x(): any { return undefined; }, set x(n: typeof anyVar) { var sameType4 = { get x(): Date { return undefined; }, set x(n: Date) { } }; >sameType4 : Symbol(sameType4, Decl(objectLiteralGettersAndSetters.ts, 37, 3)) >x : Symbol(x, Decl(objectLiteralGettersAndSetters.ts, 37, 17), Decl(objectLiteralGettersAndSetters.ts, 37, 54)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >undefined : Symbol(undefined) >x : Symbol(x, Decl(objectLiteralGettersAndSetters.ts, 37, 17), Decl(objectLiteralGettersAndSetters.ts, 37, 54)) >n : Symbol(n, Decl(objectLiteralGettersAndSetters.ts, 37, 61)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) // Type of unannotated get accessor return type is the type annotation of the set accessor param var setParamType1 = { diff --git a/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.symbols b/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.symbols index 27c071f4789..dd070aabde2 100644 --- a/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.symbols +++ b/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.symbols @@ -2,7 +2,7 @@ const foo = Symbol.for("foo"); >foo : Symbol(foo, Decl(objectLiteralPropertyImplicitlyAny.ts, 0, 5)) >Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) const o = { [foo]: undefined }; diff --git a/tests/baselines/reference/objectMembersOnTypes.symbols b/tests/baselines/reference/objectMembersOnTypes.symbols index 3114d3b9695..c1a120f049b 100644 --- a/tests/baselines/reference/objectMembersOnTypes.symbols +++ b/tests/baselines/reference/objectMembersOnTypes.symbols @@ -10,25 +10,25 @@ var x: number; >x : Symbol(x, Decl(objectMembersOnTypes.ts, 2, 3)) x.toString(); ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectMembersOnTypes.ts, 2, 3)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) var i: I; >i : Symbol(i, Decl(objectMembersOnTypes.ts, 4, 3)) >I : Symbol(I, Decl(objectMembersOnTypes.ts, 0, 0)) i.toString(); // used to be an error ->i.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>i.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(objectMembersOnTypes.ts, 4, 3)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) var c: AAA; >c : Symbol(c, Decl(objectMembersOnTypes.ts, 6, 3)) >AAA : Symbol(AAA, Decl(objectMembersOnTypes.ts, 0, 14)) c.toString(); // used to be an error ->c.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>c.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >c : Symbol(c, Decl(objectMembersOnTypes.ts, 6, 3)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/objectRestForOf.symbols b/tests/baselines/reference/objectRestForOf.symbols index 2a384ce0923..2d5d6a2bb2d 100644 --- a/tests/baselines/reference/objectRestForOf.symbols +++ b/tests/baselines/reference/objectRestForOf.symbols @@ -32,9 +32,9 @@ for ({ x: xx, ...rrestOff } of array ) { } for (const norest of array.map(a => ({ ...a, x: 'a string' }))) { >norest : Symbol(norest, Decl(objectRestForOf.ts, 9, 10)) ->array.map : Symbol(Array.map, Decl(lib.es6.d.ts, --, --)) +>array.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >array : Symbol(array, Decl(objectRestForOf.ts, 0, 3)) ->map : Symbol(Array.map, Decl(lib.es6.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(objectRestForOf.ts, 9, 31)) >a : Symbol(a, Decl(objectRestForOf.ts, 9, 31)) >x : Symbol(x, Decl(objectRestForOf.ts, 9, 44)) diff --git a/tests/baselines/reference/objectRestReadonly.symbols b/tests/baselines/reference/objectRestReadonly.symbols index 91c95f915e1..f2a7504e9b5 100644 --- a/tests/baselines/reference/objectRestReadonly.symbols +++ b/tests/baselines/reference/objectRestReadonly.symbols @@ -15,7 +15,7 @@ type ObjType = { const obj: Readonly = { >obj : Symbol(obj, Decl(objectRestReadonly.ts, 7, 5)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >ObjType : Symbol(ObjType, Decl(objectRestReadonly.ts, 0, 0)) foo: 'bar', diff --git a/tests/baselines/reference/objectSpreadStrictNull.symbols b/tests/baselines/reference/objectSpreadStrictNull.symbols index ec1be723c3b..a5b1082cc17 100644 --- a/tests/baselines/reference/objectSpreadStrictNull.symbols +++ b/tests/baselines/reference/objectSpreadStrictNull.symbols @@ -124,7 +124,7 @@ function g(fields: Fields, partialFields: Partial, nearlyPartialFields: >fields : Symbol(fields, Decl(objectSpreadStrictNull.ts, 37, 11)) >Fields : Symbol(Fields, Decl(objectSpreadStrictNull.ts, 27, 44)) >partialFields : Symbol(partialFields, Decl(objectSpreadStrictNull.ts, 37, 26)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >Fields : Symbol(Fields, Decl(objectSpreadStrictNull.ts, 27, 44)) >nearlyPartialFields : Symbol(nearlyPartialFields, Decl(objectSpreadStrictNull.ts, 37, 58)) >NearlyPartialFields : Symbol(NearlyPartialFields, Decl(objectSpreadStrictNull.ts, 32, 1)) diff --git a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.symbols b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.symbols index 8cc5c7bf3d6..19de6a04838 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.symbols +++ b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.symbols @@ -15,7 +15,7 @@ class B extends A { } interface Object { ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(objectTypeHidingMembersOfExtendedObject.ts, 6, 1)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(objectTypeHidingMembersOfExtendedObject.ts, 6, 1)) data: A; >data : Symbol(Object.data, Decl(objectTypeHidingMembersOfExtendedObject.ts, 8, 18)) @@ -23,7 +23,7 @@ interface Object { [x: string]: Object; >x : Symbol(x, Decl(objectTypeHidingMembersOfExtendedObject.ts, 10, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(objectTypeHidingMembersOfExtendedObject.ts, 6, 1)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(objectTypeHidingMembersOfExtendedObject.ts, 6, 1)) } class C { diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.symbols b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.symbols index 31ebc0f62fd..7369ecc6203 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.symbols +++ b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.symbols @@ -12,7 +12,7 @@ var i: I; var o: Object; >o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) o = i; // error >o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat.ts, 5, 3)) diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.symbols b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.symbols index 1114a4df440..1797785fd8c 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.symbols +++ b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.symbols @@ -12,7 +12,7 @@ var i: I; var o: Object; >o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) o = i; // error >o : Symbol(o, Decl(objectTypeHidingMembersOfObjectAssignmentCompat2.ts, 5, 3)) diff --git a/tests/baselines/reference/objectTypePropertyAccess.symbols b/tests/baselines/reference/objectTypePropertyAccess.symbols index 072ddf5f476..812ce18fcb6 100644 --- a/tests/baselines/reference/objectTypePropertyAccess.symbols +++ b/tests/baselines/reference/objectTypePropertyAccess.symbols @@ -13,14 +13,14 @@ var c: C; var r1 = c.toString(); >r1 : Symbol(r1, Decl(objectTypePropertyAccess.ts, 6, 3)) ->c.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>c.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >c : Symbol(c, Decl(objectTypePropertyAccess.ts, 5, 3)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) var r2 = c['toString'](); >r2 : Symbol(r2, Decl(objectTypePropertyAccess.ts, 7, 3)) >c : Symbol(c, Decl(objectTypePropertyAccess.ts, 5, 3)) ->'toString' : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>'toString' : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) var r3 = c.foo; >r3 : Symbol(r3, Decl(objectTypePropertyAccess.ts, 8, 3)) @@ -45,14 +45,14 @@ var i: I; var r4 = i.toString(); >r4 : Symbol(r4, Decl(objectTypePropertyAccess.ts, 9, 3), Decl(objectTypePropertyAccess.ts, 15, 3)) ->i.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>i.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(objectTypePropertyAccess.ts, 14, 3)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) var r5 = i['toString'](); >r5 : Symbol(r5, Decl(objectTypePropertyAccess.ts, 16, 3)) >i : Symbol(i, Decl(objectTypePropertyAccess.ts, 14, 3)) ->'toString' : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>'toString' : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) var r6 = i.bar; >r6 : Symbol(r6, Decl(objectTypePropertyAccess.ts, 17, 3)) @@ -74,14 +74,14 @@ var a = { var r8 = a.toString(); >r8 : Symbol(r8, Decl(objectTypePropertyAccess.ts, 24, 3)) ->a.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>a.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(objectTypePropertyAccess.ts, 20, 3)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) var r9 = a['toString'](); >r9 : Symbol(r9, Decl(objectTypePropertyAccess.ts, 25, 3)) >a : Symbol(a, Decl(objectTypePropertyAccess.ts, 20, 3)) ->'toString' : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>'toString' : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) var r10 = a.foo; >r10 : Symbol(r10, Decl(objectTypePropertyAccess.ts, 26, 3)) diff --git a/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.symbols b/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.symbols index 60b7b08397a..17e0942a104 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.symbols +++ b/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.symbols @@ -20,9 +20,9 @@ var r2b: (x: any, y?: any) => any = i.apply; >r2b : Symbol(r2b, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 9, 3)) >x : Symbol(x, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 9, 10)) >y : Symbol(y, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 9, 17)) ->i.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>i.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 7, 3)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) var b: { >b : Symbol(b, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 11, 3)) @@ -38,7 +38,7 @@ var rb4: (x: any, y?: any) => any = b.apply; >rb4 : Symbol(rb4, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 16, 3)) >x : Symbol(x, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 16, 10)) >y : Symbol(y, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 16, 17)) ->b.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>b.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(objectTypeWithCallSignatureAppearsToBeFunctionType.ts, 11, 3)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.symbols b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.symbols index 8700c3a042f..78859d693c3 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.symbols +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.symbols @@ -3,14 +3,14 @@ // no errors expected below interface Function { ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 0, 0)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 0, 0)) data: number; >data : Symbol(Function.data, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 3, 20)) [x: string]: Object; >x : Symbol(x, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 5, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } interface I { @@ -50,9 +50,9 @@ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; var r1c = i.arguments; >r1c : Symbol(r1c, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 17, 3)) ->i.arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>i.arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 14, 3)) ->arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) var r1d = i.data; >r1d : Symbol(r1d, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 18, 3)) @@ -97,9 +97,9 @@ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; var r2c = x.arguments; >r2c : Symbol(r2c, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 29, 3)) ->x.arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>x.arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 21, 3)) ->arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) var r2d = x.data; >r2d : Symbol(r2d, Decl(objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts, 30, 3)) diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.symbols b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.symbols index 96cb451f861..a16ccfc2a02 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.symbols +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.symbols @@ -39,9 +39,9 @@ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; var r1c = i.arguments; >r1c : Symbol(r1c, Decl(objectTypeWithCallSignatureHidingMembersOfFunction.ts, 12, 3)) ->i.arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>i.arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(objectTypeWithCallSignatureHidingMembersOfFunction.ts, 9, 3)) ->arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) var x: { >x : Symbol(x, Decl(objectTypeWithCallSignatureHidingMembersOfFunction.ts, 14, 3)) @@ -76,7 +76,7 @@ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; var r2c = x.arguments; >r2c : Symbol(r2c, Decl(objectTypeWithCallSignatureHidingMembersOfFunction.ts, 22, 3)) ->x.arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>x.arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypeWithCallSignatureHidingMembersOfFunction.ts, 14, 3)) ->arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.symbols b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.symbols index 9453b2afc96..29bda8b01ee 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.symbols +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.symbols @@ -11,7 +11,7 @@ var i: I; var f: Object; >f : Symbol(f, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) f = i; >f : Symbol(f, Decl(objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.symbols b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.symbols index f8dc4810391..78645da5b2c 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.symbols +++ b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.symbols @@ -23,9 +23,9 @@ var r2c: (x: any, y?: any) => any = i.apply; >r2c : Symbol(r2c, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 9, 3)) >x : Symbol(x, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 9, 10)) >y : Symbol(y, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 9, 17)) ->i.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>i.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 6, 3)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) var b: { >b : Symbol(b, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 11, 3)) @@ -45,7 +45,7 @@ var r4c: (x: any, y?: any) => any = b.apply; >r4c : Symbol(r4c, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 17, 3)) >x : Symbol(x, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 17, 10)) >y : Symbol(y, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 17, 17)) ->b.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>b.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(objectTypeWithConstructSignatureAppearsToBeFunctionType.ts, 11, 3)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.symbols b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.symbols index 70175ae0d73..9dfb9769856 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.symbols +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.symbols @@ -1,13 +1,13 @@ === tests/cases/conformance/types/members/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts === interface Function { ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 0, 0)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 0, 0)) data: number; >data : Symbol(Function.data, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 0, 20)) [x: string]: Object; >x : Symbol(x, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 2, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } interface I { @@ -47,9 +47,9 @@ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; var r1c = i.arguments; >r1c : Symbol(r1c, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 14, 3)) ->i.arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>i.arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 11, 3)) ->arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) var r1d = i.data; >r1d : Symbol(r1d, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 15, 3)) @@ -94,9 +94,9 @@ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; var r2c = x.arguments; >r2c : Symbol(r2c, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 26, 3)) ->x.arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>x.arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 18, 3)) ->arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) var r2d = x.data; >r2d : Symbol(r2d, Decl(objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts, 27, 3)) diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.symbols b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.symbols index 9d128975147..fdb8231dfb2 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.symbols +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.symbols @@ -36,9 +36,9 @@ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; var r1c = i.arguments; >r1c : Symbol(r1c, Decl(objectTypeWithConstructSignatureHidingMembersOfFunction.ts, 9, 3)) ->i.arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>i.arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(objectTypeWithConstructSignatureHidingMembersOfFunction.ts, 6, 3)) ->arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) var x: { >x : Symbol(x, Decl(objectTypeWithConstructSignatureHidingMembersOfFunction.ts, 11, 3)) @@ -73,7 +73,7 @@ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; var r2c = x.arguments; >r2c : Symbol(r2c, Decl(objectTypeWithConstructSignatureHidingMembersOfFunction.ts, 19, 3)) ->x.arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>x.arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypeWithConstructSignatureHidingMembersOfFunction.ts, 11, 3)) ->arguments : Symbol(Function.arguments, Decl(lib.d.ts, --, --)) +>arguments : Symbol(Function.arguments, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.symbols b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.symbols index 910e324f766..e1436b6f499 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.symbols +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.symbols @@ -11,7 +11,7 @@ var i: I; var f: Object; >f : Symbol(f, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) f = i; >f : Symbol(f, Decl(objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts, 5, 3)) diff --git a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.symbols b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.symbols index 19df4ab30fa..23513514cee 100644 --- a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.symbols +++ b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.symbols @@ -3,11 +3,11 @@ // no errors expected below interface Object { ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 0, 0)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 0, 0)) [x: string]: Object; >x : Symbol(x, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 4, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 0, 0)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 0, 0)) } var o = {}; >o : Symbol(o, Decl(objectTypeWithStringIndexerHidingObjectIndexer.ts, 6, 3)) diff --git a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.symbols b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.symbols index e3b86f3bc4d..2479804f7e4 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.symbols +++ b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.symbols @@ -11,7 +11,7 @@ class C { ".1": Object; >".1" : Symbol(C[".1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 5, 16)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) "1": number; >"1" : Symbol(C["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 6, 17)) @@ -24,15 +24,15 @@ class C { "1.0": Date; >"1.0" : Symbol(C["1.0"], Decl(objectTypeWithStringNamedNumericProperty.ts, 9, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) "-1.0": RegExp; >"-1.0" : Symbol(C["-1.0"], Decl(objectTypeWithStringNamedNumericProperty.ts, 10, 16)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) "-1": Date; >"-1" : Symbol(C["-1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 11, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } var c: C; @@ -129,7 +129,7 @@ interface I { ".1": Object; >".1" : Symbol(I[".1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 36, 16)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) "1": number; >"1" : Symbol(I["1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 37, 17)) @@ -142,15 +142,15 @@ interface I { "1.0": Date; >"1.0" : Symbol(I["1.0"], Decl(objectTypeWithStringNamedNumericProperty.ts, 40, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) "-1.0": RegExp; >"-1.0" : Symbol(I["-1.0"], Decl(objectTypeWithStringNamedNumericProperty.ts, 41, 16)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) "-1": Date; >"-1" : Symbol(I["-1"], Decl(objectTypeWithStringNamedNumericProperty.ts, 42, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } var i: I; @@ -247,7 +247,7 @@ var a: { ".1": Object; >".1" : Symbol(".1", Decl(objectTypeWithStringNamedNumericProperty.ts, 67, 16)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) "1": number; >"1" : Symbol("1", Decl(objectTypeWithStringNamedNumericProperty.ts, 68, 17)) @@ -260,15 +260,15 @@ var a: { "1.0": Date; >"1.0" : Symbol("1.0", Decl(objectTypeWithStringNamedNumericProperty.ts, 71, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) "-1.0": RegExp; >"-1.0" : Symbol("-1.0", Decl(objectTypeWithStringNamedNumericProperty.ts, 72, 16)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) "-1": Date; >"-1" : Symbol("-1", Decl(objectTypeWithStringNamedNumericProperty.ts, 73, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } var r1 = a['0.1']; @@ -361,7 +361,7 @@ var b = { ".1": new Object(), >".1" : Symbol(".1", Decl(objectTypeWithStringNamedNumericProperty.ts, 97, 22)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) "1": 1, >"1" : Symbol("1", Decl(objectTypeWithStringNamedNumericProperty.ts, 98, 23)) @@ -374,14 +374,14 @@ var b = { "1.0": new Date(), >"1.0" : Symbol("1.0", Decl(objectTypeWithStringNamedNumericProperty.ts, 101, 16)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) "-1.0": /123/, >"-1.0" : Symbol("-1.0", Decl(objectTypeWithStringNamedNumericProperty.ts, 102, 22)) "-1": Date >"-1" : Symbol("-1", Decl(objectTypeWithStringNamedNumericProperty.ts, 103, 18)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) }; diff --git a/tests/baselines/reference/objectTypesIdentity2.symbols b/tests/baselines/reference/objectTypesIdentity2.symbols index b72bd836530..bd395aa37b6 100644 --- a/tests/baselines/reference/objectTypesIdentity2.symbols +++ b/tests/baselines/reference/objectTypesIdentity2.symbols @@ -29,13 +29,13 @@ interface I { foo: Date; >foo : Symbol(I.foo, Decl(objectTypesIdentity2.ts, 14, 13)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } var a: { foo: RegExp; } >a : Symbol(a, Decl(objectTypesIdentity2.ts, 18, 3)) >foo : Symbol(foo, Decl(objectTypesIdentity2.ts, 18, 8)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) enum E { A } >E : Symbol(E, Decl(objectTypesIdentity2.ts, 18, 23)) diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.symbols b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.symbols index 3c4e89482af..c2a45935003 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.symbols @@ -51,13 +51,13 @@ var a: { foo(x: Date): string } >a : Symbol(a, Decl(objectTypesIdentityWithCallSignatures2.ts, 22, 3)) >foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignatures2.ts, 22, 8)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignatures2.ts, 22, 13)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var b = { foo(x: RegExp) { return ''; } }; >b : Symbol(b, Decl(objectTypesIdentityWithCallSignatures2.ts, 23, 3)) >foo : Symbol(foo, Decl(objectTypesIdentityWithCallSignatures2.ts, 23, 9)) >x : Symbol(x, Decl(objectTypesIdentityWithCallSignatures2.ts, 23, 14)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1(x: A); >foo1 : Symbol(foo1, Decl(objectTypesIdentityWithCallSignatures2.ts, 23, 42), Decl(objectTypesIdentityWithCallSignatures2.ts, 25, 20), Decl(objectTypesIdentityWithCallSignatures2.ts, 26, 20)) diff --git a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.symbols b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.symbols index 3f54560782b..39126ed91ee 100644 --- a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.symbols @@ -37,13 +37,13 @@ interface I2 { var a: { new(x: Date): string } >a : Symbol(a, Decl(objectTypesIdentityWithConstructSignatures2.ts, 18, 3)) >x : Symbol(x, Decl(objectTypesIdentityWithConstructSignatures2.ts, 18, 13)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var b = { new(x: RegExp) { return ''; } }; // not a construct signature, function called new >b : Symbol(b, Decl(objectTypesIdentityWithConstructSignatures2.ts, 19, 3)) >new : Symbol(new, Decl(objectTypesIdentityWithConstructSignatures2.ts, 19, 9)) >x : Symbol(x, Decl(objectTypesIdentityWithConstructSignatures2.ts, 19, 14)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1b(x: B); >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithConstructSignatures2.ts, 19, 42), Decl(objectTypesIdentityWithConstructSignatures2.ts, 21, 21), Decl(objectTypesIdentityWithConstructSignatures2.ts, 22, 21)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.symbols index 5e0af45f907..77b9a7f081b 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.symbols @@ -9,7 +9,7 @@ class A { foo(x: T): string { return null; } >foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 4, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 5, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 5, 24)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 5, 8)) } @@ -17,7 +17,7 @@ class A { class B> { >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 6, 1)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 8, 8)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo(x: T): string { return null; } >foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 8, 34)) @@ -28,7 +28,7 @@ class B> { class C { >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 10, 1)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 12, 8)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo(x: T): string { return null; } >foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 12, 27)) @@ -39,7 +39,7 @@ class C { interface I { >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 14, 1)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 16, 12)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo(x: T): string; >foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 16, 31)) @@ -53,7 +53,7 @@ interface I2 { foo(x: T): string; >foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 20, 14)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 21, 8)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 21, 27)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 21, 8)) } @@ -62,7 +62,7 @@ var a: { foo>(x: T): string } >a : Symbol(a, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 24, 3)) >foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 24, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 24, 13)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 24, 38)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 24, 13)) @@ -70,7 +70,7 @@ var b = { foo(x: T) { return ''; } }; >b : Symbol(b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 25, 3)) >foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 25, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 25, 14)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 25, 32)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 25, 14)) @@ -92,13 +92,13 @@ function foo1b(x: B>); >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 29, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 31, 36), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 32, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 31, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1b(x: B>); // error >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 29, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 31, 36), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 32, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 32, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1b(x: any) { } >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 29, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 31, 36), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 32, 36)) @@ -108,13 +108,13 @@ function foo1c(x: C); >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 33, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 35, 29), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 36, 29)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 35, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1c(x: C); // error >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 33, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 35, 29), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 36, 29)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 36, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1c(x: any) { } >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 33, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 35, 29), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 36, 29)) @@ -124,13 +124,13 @@ function foo2(x: I); >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 37, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 39, 28), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 40, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 39, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo2(x: I); // error >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 37, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 39, 28), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 40, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 40, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo2(x: any) { } >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 37, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 39, 28), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 40, 28)) @@ -173,7 +173,7 @@ function foo5(x: B>); // ok >foo5 : Symbol(foo5, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 49, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 51, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 52, 35)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 52, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo5(x: any) { } >foo5 : Symbol(foo5, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 49, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 51, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 52, 35)) @@ -188,7 +188,7 @@ function foo5b(x: C); // ok >foo5b : Symbol(foo5b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 53, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 55, 21), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 56, 29)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 56, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo5b(x: any) { } >foo5b : Symbol(foo5b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 53, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 55, 21), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 56, 29)) @@ -203,7 +203,7 @@ function foo6(x: I); // ok >foo6 : Symbol(foo6, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 57, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 59, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 60, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 60, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo6(x: any) { } >foo6 : Symbol(foo6, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 57, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 59, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 60, 28)) @@ -227,13 +227,13 @@ function foo8(x: B>); >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 65, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 67, 35), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 68, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 67, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo8(x: I); // ok >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 65, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 67, 35), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 68, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 68, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo8(x: any) { } >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 65, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 67, 35), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 68, 28)) @@ -243,13 +243,13 @@ function foo9(x: B>); >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 69, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 71, 35), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 72, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 71, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo9(x: C); // ok >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 69, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 71, 35), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 72, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 72, 14)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo9(x: any) { } >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 69, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 71, 35), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 72, 28)) @@ -259,7 +259,7 @@ function foo10(x: B>); >foo10 : Symbol(foo10, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 73, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 75, 36), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 76, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 75, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo10(x: typeof a); // ok >foo10 : Symbol(foo10, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 73, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 75, 36), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 76, 28)) @@ -274,7 +274,7 @@ function foo11(x: B>); >foo11 : Symbol(foo11, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 77, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 79, 36), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 80, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 79, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo11(x: typeof b); // ok >foo11 : Symbol(foo11, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 77, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 79, 36), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 80, 28)) @@ -289,13 +289,13 @@ function foo12(x: I); >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 81, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 83, 29), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 84, 29)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 83, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo12(x: C); // ok >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 81, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 83, 29), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 84, 29)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 84, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo12(x: any) { } >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 81, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 83, 29), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 84, 29)) @@ -310,7 +310,7 @@ function foo12b(x: C); // ok >foo12b : Symbol(foo12b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 85, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 87, 23), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 88, 30)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 88, 16)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo12b(x: any) { } >foo12b : Symbol(foo12b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 85, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 87, 23), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 88, 30)) @@ -320,7 +320,7 @@ function foo13(x: I); >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 89, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 91, 29), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 92, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 91, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo13(x: typeof a); // ok >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 89, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 91, 29), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 92, 28)) @@ -335,7 +335,7 @@ function foo14(x: I); >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 93, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 95, 29), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 96, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 95, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo14(x: typeof b); // ok >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 93, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 95, 29), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 96, 28)) @@ -355,7 +355,7 @@ function foo15(x: C); // ok >foo15 : Symbol(foo15, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 97, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 99, 22), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 100, 29)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 100, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo15(x: any) { } >foo15 : Symbol(foo15, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 97, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 99, 22), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts, 100, 29)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.symbols index ee55a60f59c..2eea602e5bf 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.symbols @@ -11,7 +11,7 @@ class A { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 5, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 5, 20)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 5, 20)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 5, 37)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 5, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 5, 42)) @@ -23,7 +23,7 @@ class B> { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 8, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 8, 20)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 8, 20)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo(x: T, y: U): string { return null; } >foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 8, 47)) @@ -38,7 +38,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 12, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 12, 20)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 12, 20)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo(x: T, y: U): string { return null; } >foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 12, 40)) @@ -53,7 +53,7 @@ class D { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 16, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 16, 20)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 16, 20)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo(x: T, y: U): string { return null; } >foo : Symbol(D.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 16, 40)) @@ -68,7 +68,7 @@ interface I { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 20, 12)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 20, 24)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 20, 24)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo(x: T, y: U): string; >foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 20, 44)) @@ -86,7 +86,7 @@ interface I2 { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 25, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 25, 20)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 25, 20)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 25, 40)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 25, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 25, 45)) @@ -99,7 +99,7 @@ var a: { foo>(x: T, y: U): string } >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 28, 13)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 28, 25)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 28, 25)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 28, 51)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 28, 13)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 28, 56)) @@ -111,7 +111,7 @@ var b = { foo(x: T, y: U) { return ''; } }; >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 29, 14)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 29, 26)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 29, 26)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 29, 45)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 29, 14)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 29, 50)) @@ -135,15 +135,15 @@ function foo1b(x: B, Array>); >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 33, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 35, 51), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 36, 51)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 35, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1b(x: B, Array>); // error >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 33, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 35, 51), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 36, 51)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 36, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1b(x: any) { } >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 33, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 35, 51), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 36, 51)) @@ -153,15 +153,15 @@ function foo1c(x: C); >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 37, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 39, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 40, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 39, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1c(x: C); // error >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 37, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 39, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 40, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 40, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1c(x: any) { } >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 37, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 39, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 40, 37)) @@ -171,15 +171,15 @@ function foo2(x: I); >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 41, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 43, 36), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 44, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 43, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 18, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo2(x: I); // error >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 41, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 43, 36), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 44, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 44, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 18, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo2(x: any) { } >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 41, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 43, 36), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 44, 36)) @@ -222,8 +222,8 @@ function foo5(x: B, Array>); // ok >foo5 : Symbol(foo5, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 53, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 55, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 56, 50)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 56, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo5(x: any) { } >foo5 : Symbol(foo5, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 53, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 55, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 56, 50)) @@ -238,8 +238,8 @@ function foo5b(x: C); // ok >foo5b : Symbol(foo5b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 57, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 59, 21), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 60, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 60, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo5b(x: any) { } >foo5b : Symbol(foo5b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 57, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 59, 21), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 60, 37)) @@ -249,15 +249,15 @@ function foo5c(x: C); >foo5c : Symbol(foo5c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 61, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 63, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 64, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 63, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo5c(x: D); // ok >foo5c : Symbol(foo5c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 61, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 63, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 64, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 64, 15)) >D : Symbol(D, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo5c(x: any) { } >foo5c : Symbol(foo5c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 61, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 63, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 64, 37)) @@ -267,14 +267,14 @@ function foo6c(x: C); >foo6c : Symbol(foo6c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 65, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 67, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 68, 34)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 67, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo6c(x: D); // error, "any" does not satisfy the constraint >foo6c : Symbol(foo6c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 65, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 67, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 68, 34)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 68, 15)) >D : Symbol(D, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo6c(x: any) { } >foo6c : Symbol(foo6c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 65, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 67, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 68, 34)) @@ -289,8 +289,8 @@ function foo6(x: I); // ok >foo6 : Symbol(foo6, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 69, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 71, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 72, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 72, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 18, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo6(x: any) { } >foo6 : Symbol(foo6, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 69, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 71, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 72, 36)) @@ -314,15 +314,15 @@ function foo8(x: B, Array>); >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 77, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 79, 50), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 80, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 79, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo8(x: I); // ok >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 77, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 79, 50), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 80, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 80, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 18, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo8(x: any) { } >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 77, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 79, 50), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 80, 36)) @@ -332,15 +332,15 @@ function foo9(x: B, Array>); >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 81, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 83, 50), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 84, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 83, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo9(x: C); // ok >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 81, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 83, 50), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 84, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 84, 14)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo9(x: any) { } >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 81, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 83, 50), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 84, 36)) @@ -350,8 +350,8 @@ function foo10(x: B, Array>); >foo10 : Symbol(foo10, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 85, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 87, 51), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 88, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 87, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo10(x: typeof a); // ok >foo10 : Symbol(foo10, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 85, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 87, 51), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 88, 28)) @@ -366,8 +366,8 @@ function foo11(x: B, Array>); >foo11 : Symbol(foo11, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 89, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 91, 51), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 92, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 91, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 6, 1)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo11(x: typeof b); // ok >foo11 : Symbol(foo11, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 89, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 91, 51), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 92, 28)) @@ -382,15 +382,15 @@ function foo12(x: I); >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 93, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 95, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 96, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 95, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 18, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo12(x: C); // ok >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 93, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 95, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 96, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 96, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo12(x: any) { } >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 93, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 95, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 96, 37)) @@ -405,8 +405,8 @@ function foo12b(x: C); // ok >foo12b : Symbol(foo12b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 97, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 99, 23), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 100, 38)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 100, 16)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo12b(x: any) { } >foo12b : Symbol(foo12b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 97, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 99, 23), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 100, 38)) @@ -416,8 +416,8 @@ function foo13(x: I); >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 101, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 103, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 104, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 103, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 18, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo13(x: typeof a); // ok >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 101, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 103, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 104, 28)) @@ -432,8 +432,8 @@ function foo14(x: I); >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 105, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 107, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 108, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 107, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 18, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo14(x: typeof b); // ok >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 105, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 107, 37), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 108, 28)) @@ -453,8 +453,8 @@ function foo15(x: C); // ok >foo15 : Symbol(foo15, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 109, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 111, 22), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 112, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 112, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 10, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo15(x: any) { } >foo15 : Symbol(foo15, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 109, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 111, 22), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts, 112, 37)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.symbols index 6a3b4c81bdf..b2ece66856a 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.symbols @@ -41,7 +41,7 @@ interface I { >foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 16, 16)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 17, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 16, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } interface I2 { @@ -52,7 +52,7 @@ interface I2 { >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 21, 8)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 21, 11)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts, 21, 8)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var a: { foo(x: T): T } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.symbols index f44a4f08d8c..69cfeea8436 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.symbols @@ -9,7 +9,7 @@ class A { foo(x: T): string { return null; } >foo : Symbol(A.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 4, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 5, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 5, 24)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 5, 8)) } @@ -17,7 +17,7 @@ class A { class B { >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 6, 1)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 8, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo(x: T): number { return null; } >foo : Symbol(B.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 8, 25)) @@ -28,7 +28,7 @@ class B { class C { >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 10, 1)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 12, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo(x: T): boolean { return null; } >foo : Symbol(C.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 12, 25)) @@ -39,13 +39,13 @@ class C { interface I { >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 14, 1)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 16, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo(x: T): Date; >foo : Symbol(I.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 16, 29)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 17, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 16, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } interface I2 { @@ -54,17 +54,17 @@ interface I2 { foo(x: T): RegExp; >foo : Symbol(I2.foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 20, 14)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 21, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 21, 24)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 21, 8)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var a: { foo(x: T): T } >a : Symbol(a, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 24, 3)) >foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 24, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 24, 13)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 24, 29)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 24, 13)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 24, 13)) @@ -73,7 +73,7 @@ var b = { foo(x: T) { return null; } }; >b : Symbol(b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 25, 3)) >foo : Symbol(foo, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 25, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 25, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 25, 30)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 25, 14)) @@ -95,13 +95,13 @@ function foo1b(x: B); >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 29, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 31, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 32, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 31, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 6, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo1b(x: B); // error >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 29, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 31, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 32, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 32, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 6, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo1b(x: any) { } >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 29, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 31, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 32, 27)) @@ -111,13 +111,13 @@ function foo1c(x: C); >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 33, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 35, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 36, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 35, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo1c(x: C); // error >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 33, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 35, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 36, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 36, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo1c(x: any) { } >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 33, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 35, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 36, 27)) @@ -127,13 +127,13 @@ function foo2(x: I); >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 37, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 39, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 40, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 39, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 14, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo2(x: I); // error >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 37, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 39, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 40, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 40, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 14, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo2(x: any) { } >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 37, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 39, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 40, 26)) @@ -176,7 +176,7 @@ function foo5(x: B); // ok >foo5 : Symbol(foo5, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 49, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 51, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 52, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 52, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 6, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo5(x: any) { } >foo5 : Symbol(foo5, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 49, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 51, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 52, 26)) @@ -191,7 +191,7 @@ function foo5b(x: C); // ok >foo5b : Symbol(foo5b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 53, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 55, 21), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 56, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 56, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo5b(x: any) { } >foo5b : Symbol(foo5b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 53, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 55, 21), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 56, 27)) @@ -206,7 +206,7 @@ function foo6(x: I); // ok >foo6 : Symbol(foo6, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 57, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 59, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 60, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 60, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 14, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo6(x: any) { } >foo6 : Symbol(foo6, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 57, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 59, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 60, 26)) @@ -230,13 +230,13 @@ function foo8(x: B); >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 65, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 67, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 68, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 67, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 6, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo8(x: I); // ok >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 65, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 67, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 68, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 68, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 14, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo8(x: any) { } >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 65, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 67, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 68, 26)) @@ -246,13 +246,13 @@ function foo9(x: B); >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 69, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 71, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 72, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 71, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 6, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo9(x: C); // ok >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 69, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 71, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 72, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 72, 14)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo9(x: any) { } >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 69, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 71, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 72, 26)) @@ -262,7 +262,7 @@ function foo10(x: B); >foo10 : Symbol(foo10, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 73, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 75, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 76, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 75, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 6, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo10(x: typeof a); // ok >foo10 : Symbol(foo10, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 73, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 75, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 76, 28)) @@ -277,7 +277,7 @@ function foo11(x: B); >foo11 : Symbol(foo11, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 77, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 79, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 80, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 79, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 6, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo11(x: typeof b); // ok >foo11 : Symbol(foo11, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 77, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 79, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 80, 28)) @@ -292,13 +292,13 @@ function foo12(x: I); >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 81, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 83, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 84, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 83, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 14, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo12(x: C); // ok >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 81, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 83, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 84, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 84, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo12(x: any) { } >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 81, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 83, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 84, 27)) @@ -313,7 +313,7 @@ function foo12b(x: C); // ok >foo12b : Symbol(foo12b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 85, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 87, 23), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 88, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 88, 16)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo12b(x: any) { } >foo12b : Symbol(foo12b, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 85, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 87, 23), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 88, 28)) @@ -323,7 +323,7 @@ function foo13(x: I); >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 89, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 91, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 92, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 91, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 14, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo13(x: typeof a); // ok >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 89, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 91, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 92, 28)) @@ -338,7 +338,7 @@ function foo14(x: I); >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 93, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 95, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 96, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 95, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 14, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo14(x: typeof b); // ok >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 93, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 95, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 96, 28)) @@ -358,7 +358,7 @@ function foo15(x: C); // ok >foo15 : Symbol(foo15, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 97, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 99, 22), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 100, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 100, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo15(x: any) { } >foo15 : Symbol(foo15, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 97, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 99, 22), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts, 100, 27)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.symbols index 75d81b820fb..a02407ac469 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.symbols @@ -211,7 +211,7 @@ function foo6(x: I); // ok >foo6 : Symbol(foo6, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 55, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 57, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 58, 51)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 58, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 12, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo6(x: any) { } >foo6 : Symbol(foo6, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 55, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 57, 20), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 58, 51)) @@ -240,7 +240,7 @@ function foo8(x: I); // error >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 63, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 65, 36), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 66, 51)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 66, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 12, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo8(x: any) { } >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 63, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 65, 36), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 66, 51)) @@ -294,14 +294,14 @@ function foo12(x: I, number, Date, string>); >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 81, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 12, 1)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 4, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo12(x: C, number, Date>); // error >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 79, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 81, 62), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 82, 54)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 82, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 8, 1)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 4, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo12(x: any) { } >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 79, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 81, 62), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 82, 54)) @@ -325,9 +325,9 @@ function foo13(x: I); >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 87, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 89, 49), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 90, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 89, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 12, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo13(x: typeof a); // ok >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 87, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 89, 49), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 90, 28)) @@ -342,8 +342,8 @@ function foo14(x: I); >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 91, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 93, 52), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 94, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 93, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 12, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo14(x: typeof b); // ok >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 91, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 93, 52), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts, 94, 28)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.symbols index 61dccbcbfde..5f65785bfb1 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.symbols @@ -85,7 +85,7 @@ function foo13(x: I); >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 23, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 25, 52), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 26, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 25, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo13(x: typeof a); // ok >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 23, 25), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 25, 52), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 26, 28)) @@ -100,7 +100,7 @@ function foo14(x: I); >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 27, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 29, 52), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 30, 22)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 29, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo14(x: I2); // error >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 27, 26), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 29, 52), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 30, 22)) @@ -129,7 +129,7 @@ function foo15(x: I); >foo15 : Symbol(foo15, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 35, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 37, 52), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 38, 22)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 37, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo15(x: I2); // ok >foo15 : Symbol(foo15, Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 35, 27), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 37, 52), Decl(objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts, 38, 22)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.symbols index c95d5234ac5..fd8554e9a3c 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.symbols @@ -6,7 +6,7 @@ class B> { >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 0, 0)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 4, 8)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) constructor(x: T) { return null; } >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 5, 16)) @@ -16,7 +16,7 @@ class B> { class C { >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 6, 1)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 8, 8)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) constructor(x: T) { return null; } >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 9, 16)) @@ -26,7 +26,7 @@ class C { interface I { >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 10, 1)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 12, 12)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) new(x: T): string; >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 13, 8)) @@ -38,7 +38,7 @@ interface I2 { new(x: T): string; >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 17, 8)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 17, 27)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 17, 8)) } @@ -46,7 +46,7 @@ interface I2 { var a: { new>(x: T): string } >a : Symbol(a, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 20, 3)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 20, 13)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 20, 38)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 20, 13)) @@ -54,7 +54,7 @@ var b = { new(x: T) { return ''; } }; // not a construct signa >b : Symbol(b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 21, 3)) >new : Symbol(new, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 21, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 21, 14)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 21, 32)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 21, 14)) @@ -62,13 +62,13 @@ function foo1b(x: B>); >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 21, 55), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 23, 36), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 24, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 23, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1b(x: B>); // error >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 21, 55), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 23, 36), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 24, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 24, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1b(x: any) { } >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 21, 55), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 23, 36), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 24, 36)) @@ -78,13 +78,13 @@ function foo1c(x: C); >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 25, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 27, 29), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 28, 29)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 27, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 6, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1c(x: C); // error >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 25, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 27, 29), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 28, 29)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 28, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 6, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1c(x: any) { } >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 25, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 27, 29), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 28, 29)) @@ -94,13 +94,13 @@ function foo2(x: I); >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 29, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 31, 28), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 32, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 31, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 10, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo2(x: I); // error >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 29, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 31, 28), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 32, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 32, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 10, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo2(x: any) { } >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 29, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 31, 28), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 32, 28)) @@ -138,13 +138,13 @@ function foo8(x: B>); >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 41, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 43, 35), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 44, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 43, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo8(x: I); // ok >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 41, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 43, 35), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 44, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 44, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 10, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo8(x: any) { } >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 41, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 43, 35), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 44, 28)) @@ -154,13 +154,13 @@ function foo9(x: B>); >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 45, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 47, 35), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 48, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 47, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo9(x: C); // error, types are structurally equal >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 45, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 47, 35), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 48, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 48, 14)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 6, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo9(x: any) { } >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 45, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 47, 35), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 48, 28)) @@ -170,7 +170,7 @@ function foo10(x: B>); >foo10 : Symbol(foo10, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 49, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 51, 36), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 52, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 51, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo10(x: typeof a); // ok >foo10 : Symbol(foo10, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 49, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 51, 36), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 52, 28)) @@ -185,7 +185,7 @@ function foo11(x: B>); >foo11 : Symbol(foo11, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 53, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 55, 36), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 56, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 55, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo11(x: typeof b); // ok >foo11 : Symbol(foo11, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 53, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 55, 36), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 56, 28)) @@ -200,13 +200,13 @@ function foo12(x: I); >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 57, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 59, 29), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 60, 29)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 59, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 10, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo12(x: C); // ok >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 57, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 59, 29), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 60, 29)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 60, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 6, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo12(x: any) { } >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 57, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 59, 29), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 60, 29)) @@ -221,7 +221,7 @@ function foo12b(x: C); // ok >foo12b : Symbol(foo12b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 61, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 63, 23), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 64, 30)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 64, 16)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 6, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo12b(x: any) { } >foo12b : Symbol(foo12b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 61, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 63, 23), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 64, 30)) @@ -231,7 +231,7 @@ function foo13(x: I); >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 65, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 67, 29), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 68, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 67, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 10, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo13(x: typeof a); // ok >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 65, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 67, 29), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 68, 28)) @@ -246,7 +246,7 @@ function foo14(x: I); >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 69, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 71, 29), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 72, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 71, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 10, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo14(x: typeof b); // ok >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 69, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 71, 29), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts, 72, 28)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.symbols index 8d82f4ea140..0b36a90e759 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.symbols @@ -8,7 +8,7 @@ class B> { >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 4, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 4, 20)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 4, 20)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) constructor(x: T, y: U) { return null; } >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 5, 16)) @@ -22,7 +22,7 @@ class C { >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 8, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 8, 20)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 8, 20)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) constructor(x: T, y: U) { return null; } >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 9, 16)) @@ -36,7 +36,7 @@ class D { >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 12, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 12, 20)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 12, 20)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) constructor(x: T, y: U) { return null; } >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 13, 16)) @@ -50,7 +50,7 @@ interface I { >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 16, 12)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 16, 24)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 16, 24)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) new(x: T, y: U): string; >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 17, 8)) @@ -66,7 +66,7 @@ interface I2 { >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 21, 8)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 21, 20)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 21, 20)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 21, 40)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 21, 8)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 21, 45)) @@ -78,7 +78,7 @@ var a: { new>(x: T, y: U): string } >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 24, 13)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 24, 25)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 24, 25)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 24, 51)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 24, 13)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 24, 56)) @@ -90,7 +90,7 @@ var b = { new(x: T, y: U) { return ''; } }; // no >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 25, 14)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 25, 26)) >U : Symbol(U, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 25, 26)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 25, 45)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 25, 14)) >y : Symbol(y, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 25, 50)) @@ -100,15 +100,15 @@ function foo1b(x: B, Array>); >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 25, 74), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 27, 51), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 28, 51)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 27, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1b(x: B, Array>); // error >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 25, 74), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 27, 51), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 28, 51)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 28, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1b(x: any) { } >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 25, 74), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 27, 51), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 28, 51)) @@ -118,15 +118,15 @@ function foo1c(x: C); >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 29, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 31, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 32, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 31, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 6, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1c(x: C); // error >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 29, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 31, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 32, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 32, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 6, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo1c(x: any) { } >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 29, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 31, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 32, 37)) @@ -136,15 +136,15 @@ function foo2(x: I); >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 33, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 35, 36), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 36, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 35, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo2(x: I); // error >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 33, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 35, 36), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 36, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 36, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo2(x: any) { } >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 33, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 35, 36), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 36, 36)) @@ -182,15 +182,15 @@ function foo5c(x: C); >foo5c : Symbol(foo5c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 45, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 47, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 48, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 47, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 6, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo5c(x: D); // ok >foo5c : Symbol(foo5c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 45, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 47, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 48, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 48, 15)) >D : Symbol(D, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 10, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo5c(x: any) { } >foo5c : Symbol(foo5c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 45, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 47, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 48, 37)) @@ -200,14 +200,14 @@ function foo6c(x: C); >foo6c : Symbol(foo6c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 49, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 51, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 52, 34)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 51, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 6, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo6c(x: D); // ok >foo6c : Symbol(foo6c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 49, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 51, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 52, 34)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 52, 15)) >D : Symbol(D, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 10, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo6c(x: any) { } >foo6c : Symbol(foo6c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 49, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 51, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 52, 34)) @@ -217,15 +217,15 @@ function foo8(x: B, Array>); >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 53, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 55, 50), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 56, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 55, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo8(x: I); // ok >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 53, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 55, 50), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 56, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 56, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo8(x: any) { } >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 53, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 55, 50), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 56, 36)) @@ -235,15 +235,15 @@ function foo9(x: B, Array>); >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 57, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 59, 50), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 60, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 59, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo9(x: C); // error, types are structurally equal >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 57, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 59, 50), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 60, 36)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 60, 14)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 6, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo9(x: any) { } >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 57, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 59, 50), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 60, 36)) @@ -253,8 +253,8 @@ function foo10(x: B, Array>); >foo10 : Symbol(foo10, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 61, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 63, 51), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 64, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 63, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo10(x: typeof a); // ok >foo10 : Symbol(foo10, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 61, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 63, 51), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 64, 28)) @@ -269,8 +269,8 @@ function foo11(x: B, Array>); >foo11 : Symbol(foo11, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 65, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 67, 51), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 68, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 67, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo11(x: typeof b); // ok >foo11 : Symbol(foo11, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 65, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 67, 51), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 68, 28)) @@ -285,15 +285,15 @@ function foo12(x: I); >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 69, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 71, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 72, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 71, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo12(x: C); // ok >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 69, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 71, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 72, 37)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 72, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 6, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo12(x: any) { } >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 69, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 71, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 72, 37)) @@ -308,8 +308,8 @@ function foo12b(x: C); // ok >foo12b : Symbol(foo12b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 73, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 75, 23), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 76, 38)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 76, 16)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 6, 1)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo12b(x: any) { } >foo12b : Symbol(foo12b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 73, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 75, 23), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 76, 38)) @@ -319,8 +319,8 @@ function foo13(x: I); >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 77, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 79, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 80, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 79, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo13(x: typeof a); // ok >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 77, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 79, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 80, 28)) @@ -335,8 +335,8 @@ function foo14(x: I); >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 81, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 83, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 84, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 83, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 14, 1)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo14(x: typeof b); // ok >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 81, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 83, 37), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts, 84, 28)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.symbols index 308bce89f50..eeb0c7ee9bd 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.symbols @@ -28,7 +28,7 @@ interface I { new(x: T): Date; >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.ts, 13, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.ts, 12, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } interface I2 { @@ -38,7 +38,7 @@ interface I2 { >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.ts, 17, 8)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.ts, 17, 11)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.ts, 17, 8)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var a: { new(x: T): T } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.symbols index 55b2a084228..f6c83039f69 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.symbols @@ -6,7 +6,7 @@ class B { >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 0, 0)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 4, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) constructor(x: T) { return null; } >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 5, 16)) @@ -16,7 +16,7 @@ class B { class C { >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 6, 1)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 8, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) constructor(x: T) { return null; } >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 9, 16)) @@ -26,12 +26,12 @@ class C { interface I { >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 10, 1)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 12, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) new(x: T): Date; >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 13, 8)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 12, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } interface I2 { @@ -39,16 +39,16 @@ interface I2 { new(x: T): RegExp; >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 17, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 17, 24)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 17, 8)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var a: { new(x: T): T } >a : Symbol(a, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 20, 3)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 20, 13)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 20, 29)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 20, 13)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 20, 13)) @@ -57,7 +57,7 @@ var b = { new(x: T) { return null; } }; // not a construct signa >b : Symbol(b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 21, 3)) >new : Symbol(new, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 21, 9)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 21, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 21, 30)) >T : Symbol(T, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 21, 14)) @@ -65,13 +65,13 @@ function foo1b(x: B); >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 21, 55), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 23, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 24, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 23, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo1b(x: B); // error >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 21, 55), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 23, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 24, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 24, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo1b(x: any) { } >foo1b : Symbol(foo1b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 21, 55), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 23, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 24, 27)) @@ -81,13 +81,13 @@ function foo1c(x: C); >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 25, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 27, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 28, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 27, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 6, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo1c(x: C); // error >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 25, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 27, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 28, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 28, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 6, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo1c(x: any) { } >foo1c : Symbol(foo1c, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 25, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 27, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 28, 27)) @@ -97,13 +97,13 @@ function foo2(x: I); >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 29, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 31, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 32, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 31, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo2(x: I); // error >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 29, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 31, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 32, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 32, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo2(x: any) { } >foo2 : Symbol(foo2, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 29, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 31, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 32, 26)) @@ -141,13 +141,13 @@ function foo8(x: B); >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 41, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 43, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 44, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 43, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo8(x: I); // ok >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 41, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 43, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 44, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 44, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo8(x: any) { } >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 41, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 43, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 44, 26)) @@ -157,13 +157,13 @@ function foo9(x: B); >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 45, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 47, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 48, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 47, 14)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo9(x: C); // error since types are structurally equal >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 45, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 47, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 48, 26)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 48, 14)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 6, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo9(x: any) { } >foo9 : Symbol(foo9, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 45, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 47, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 48, 26)) @@ -173,7 +173,7 @@ function foo10(x: B); >foo10 : Symbol(foo10, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 49, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 51, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 52, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 51, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo10(x: typeof a); // ok >foo10 : Symbol(foo10, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 49, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 51, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 52, 28)) @@ -188,7 +188,7 @@ function foo11(x: B); >foo11 : Symbol(foo11, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 53, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 55, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 56, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 55, 15)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo11(x: typeof b); // ok >foo11 : Symbol(foo11, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 53, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 55, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 56, 28)) @@ -203,13 +203,13 @@ function foo12(x: I); >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 57, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 59, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 60, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 59, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo12(x: C); // ok >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 57, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 59, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 60, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 60, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 6, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo12(x: any) { } >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 57, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 59, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 60, 27)) @@ -224,7 +224,7 @@ function foo12b(x: C); // ok >foo12b : Symbol(foo12b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 61, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 63, 23), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 64, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 64, 16)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 6, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo12b(x: any) { } >foo12b : Symbol(foo12b, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 61, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 63, 23), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 64, 28)) @@ -234,7 +234,7 @@ function foo13(x: I); >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 65, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 67, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 68, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 67, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo13(x: typeof a); // ok >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 65, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 67, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 68, 28)) @@ -249,7 +249,7 @@ function foo14(x: I); >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 69, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 71, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 72, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 71, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 10, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo14(x: typeof b); // ok >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 69, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 71, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 72, 28)) @@ -269,7 +269,7 @@ function foo15(x: C); // ok >foo15 : Symbol(foo15, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 73, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 75, 22), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 76, 27)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 76, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 6, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo15(x: any) { } >foo15 : Symbol(foo15, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 73, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 75, 22), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts, 76, 27)) diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.symbols b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.symbols index 605049ca015..38bba414075 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.symbols +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.symbols @@ -159,7 +159,7 @@ function foo8(x: I); // BUG 832086 >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 39, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 41, 36), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 42, 51)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 42, 14)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 8, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo8(x: any) { } >foo8 : Symbol(foo8, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 39, 25), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 41, 36), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 42, 51)) @@ -213,14 +213,14 @@ function foo12(x: I, number, Date, string>); >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 57, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 8, 1)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo12(x: C, number, Date>); // ok >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 55, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 57, 62), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 58, 54)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 58, 15)) >C : Symbol(C, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 4, 1)) >B : Symbol(B, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo12(x: any) { } >foo12 : Symbol(foo12, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 55, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 57, 62), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 58, 54)) @@ -244,9 +244,9 @@ function foo13(x: I); >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 63, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 65, 49), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 66, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 65, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 8, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo13(x: typeof a); // ok >foo13 : Symbol(foo13, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 63, 27), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 65, 49), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 66, 28)) @@ -261,8 +261,8 @@ function foo14(x: I); >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 67, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 69, 52), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 70, 28)) >x : Symbol(x, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 69, 15)) >I : Symbol(I, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 8, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function foo14(x: typeof b); // ok >foo14 : Symbol(foo14, Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 67, 26), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 69, 52), Decl(objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts, 70, 28)) diff --git a/tests/baselines/reference/operatorsAndIntersectionTypes.symbols b/tests/baselines/reference/operatorsAndIntersectionTypes.symbols index 7ffc093e4af..bf39df1c835 100644 --- a/tests/baselines/reference/operatorsAndIntersectionTypes.symbols +++ b/tests/baselines/reference/operatorsAndIntersectionTypes.symbols @@ -51,9 +51,9 @@ const s1 = "{" + guid + "}"; const s2 = guid.toLowerCase(); >s2 : Symbol(s2, Decl(operatorsAndIntersectionTypes.ts, 20, 5)) ->guid.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>guid.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >guid : Symbol(guid, Decl(operatorsAndIntersectionTypes.ts, 12, 3)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) const s3 = guid + guid; >s3 : Symbol(s3, Decl(operatorsAndIntersectionTypes.ts, 21, 5)) @@ -67,9 +67,9 @@ const s4 = guid + serialNo; const s5 = serialNo.toPrecision(0); >s5 : Symbol(s5, Decl(operatorsAndIntersectionTypes.ts, 23, 5)) ->serialNo.toPrecision : Symbol(Number.toPrecision, Decl(lib.d.ts, --, --)) +>serialNo.toPrecision : Symbol(Number.toPrecision, Decl(lib.es5.d.ts, --, --)) >serialNo : Symbol(serialNo, Decl(operatorsAndIntersectionTypes.ts, 16, 3)) ->toPrecision : Symbol(Number.toPrecision, Decl(lib.d.ts, --, --)) +>toPrecision : Symbol(Number.toPrecision, Decl(lib.es5.d.ts, --, --)) const n1 = serialNo * 3; >n1 : Symbol(n1, Decl(operatorsAndIntersectionTypes.ts, 24, 5)) diff --git a/tests/baselines/reference/optionalFunctionArgAssignability.symbols b/tests/baselines/reference/optionalFunctionArgAssignability.symbols index 49f87eaa0e1..c29bc8e2af6 100644 --- a/tests/baselines/reference/optionalFunctionArgAssignability.symbols +++ b/tests/baselines/reference/optionalFunctionArgAssignability.symbols @@ -1,19 +1,19 @@ === tests/cases/compiler/optionalFunctionArgAssignability.ts === interface Promise { ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 18)) then(onFulfill?: (value: T) => U, onReject?: (reason: any) => U): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 22)) >U : Symbol(U, Decl(optionalFunctionArgAssignability.ts, 1, 9)) >onFulfill : Symbol(onFulfill, Decl(optionalFunctionArgAssignability.ts, 1, 12)) >value : Symbol(value, Decl(optionalFunctionArgAssignability.ts, 1, 25)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 18)) >U : Symbol(U, Decl(optionalFunctionArgAssignability.ts, 1, 9)) >onReject : Symbol(onReject, Decl(optionalFunctionArgAssignability.ts, 1, 40)) >reason : Symbol(reason, Decl(optionalFunctionArgAssignability.ts, 1, 53)) >U : Symbol(U, Decl(optionalFunctionArgAssignability.ts, 1, 9)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 0)) >U : Symbol(U, Decl(optionalFunctionArgAssignability.ts, 1, 9)) } @@ -27,7 +27,7 @@ var a = function then(onFulfill?: (value: string) => U, onReject?: (reason: a >onReject : Symbol(onReject, Decl(optionalFunctionArgAssignability.ts, 4, 58)) >reason : Symbol(reason, Decl(optionalFunctionArgAssignability.ts, 4, 71)) >U : Symbol(U, Decl(optionalFunctionArgAssignability.ts, 4, 22)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 0)) >U : Symbol(U, Decl(optionalFunctionArgAssignability.ts, 4, 22)) var b = function then(onFulFill?: (value: number) => U, onReject?: (reason: any) => U): Promise { return null }; @@ -40,7 +40,7 @@ var b = function then(onFulFill?: (value: number) => U, onReject?: (reason: a >onReject : Symbol(onReject, Decl(optionalFunctionArgAssignability.ts, 5, 58)) >reason : Symbol(reason, Decl(optionalFunctionArgAssignability.ts, 5, 71)) >U : Symbol(U, Decl(optionalFunctionArgAssignability.ts, 5, 22)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(optionalFunctionArgAssignability.ts, 0, 0)) >U : Symbol(U, Decl(optionalFunctionArgAssignability.ts, 5, 22)) a = b; // error because number is not assignable to string diff --git a/tests/baselines/reference/overEagerReturnTypeSpecialization.symbols b/tests/baselines/reference/overEagerReturnTypeSpecialization.symbols index 5c1bce4be0e..90d5d409cd4 100644 --- a/tests/baselines/reference/overEagerReturnTypeSpecialization.symbols +++ b/tests/baselines/reference/overEagerReturnTypeSpecialization.symbols @@ -28,16 +28,16 @@ var r1: I1 = v1.func(num => num.toString()) // Correctly returns an I1v1 : Symbol(v1, Decl(overEagerReturnTypeSpecialization.ts, 6, 11)) >func : Symbol(I1.func, Decl(overEagerReturnTypeSpecialization.ts, 2, 17)) >num : Symbol(num, Decl(overEagerReturnTypeSpecialization.ts, 7, 29)) ->num.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>num.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >num : Symbol(num, Decl(overEagerReturnTypeSpecialization.ts, 7, 29)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) .func(str => str.length); // should error >func : Symbol(I1.func, Decl(overEagerReturnTypeSpecialization.ts, 2, 17)) >str : Symbol(str, Decl(overEagerReturnTypeSpecialization.ts, 8, 17)) ->str.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>str.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >str : Symbol(str, Decl(overEagerReturnTypeSpecialization.ts, 8, 17)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) var r2: I1 = v1.func(num => num.toString()) // Correctly returns an I1 >r2 : Symbol(r2, Decl(overEagerReturnTypeSpecialization.ts, 10, 3)) @@ -47,15 +47,15 @@ var r2: I1 = v1.func(num => num.toString()) // Correctly returns an I1v1 : Symbol(v1, Decl(overEagerReturnTypeSpecialization.ts, 6, 11)) >func : Symbol(I1.func, Decl(overEagerReturnTypeSpecialization.ts, 2, 17)) >num : Symbol(num, Decl(overEagerReturnTypeSpecialization.ts, 10, 29)) ->num.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>num.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >num : Symbol(num, Decl(overEagerReturnTypeSpecialization.ts, 10, 29)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) .func(str => str.length); // should be ok >func : Symbol(I1.func, Decl(overEagerReturnTypeSpecialization.ts, 2, 17)) >str : Symbol(str, Decl(overEagerReturnTypeSpecialization.ts, 11, 17)) ->str.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>str.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >str : Symbol(str, Decl(overEagerReturnTypeSpecialization.ts, 11, 17)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/overloadOnGenericArity.symbols b/tests/baselines/reference/overloadOnGenericArity.symbols index 3a56861cb7f..f6a0b348f5f 100644 --- a/tests/baselines/reference/overloadOnGenericArity.symbols +++ b/tests/baselines/reference/overloadOnGenericArity.symbols @@ -10,7 +10,7 @@ interface Test { then(p: string): Date; // Error: Overloads cannot differ only by return type >then : Symbol(Test.then, Decl(overloadOnGenericArity.ts, 0, 16), Decl(overloadOnGenericArity.ts, 1, 31)) >p : Symbol(p, Decl(overloadOnGenericArity.ts, 2, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } diff --git a/tests/baselines/reference/overloadResolution.symbols b/tests/baselines/reference/overloadResolution.symbols index 096d6991644..164e7fe3e64 100644 --- a/tests/baselines/reference/overloadResolution.symbols +++ b/tests/baselines/reference/overloadResolution.symbols @@ -77,12 +77,12 @@ function fn2() { return undefined; } var d = fn2(0, undefined); >d : Symbol(d, Decl(overloadResolution.ts, 33, 3), Decl(overloadResolution.ts, 34, 3)) >fn2 : Symbol(fn2, Decl(overloadResolution.ts, 26, 8), Decl(overloadResolution.ts, 29, 43), Decl(overloadResolution.ts, 30, 36)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >undefined : Symbol(undefined) var d: Date; >d : Symbol(d, Decl(overloadResolution.ts, 33, 3), Decl(overloadResolution.ts, 34, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) // Generic and non - generic overload where generic overload is the only candidate when called without type arguments var s = fn2(0, ''); @@ -92,7 +92,7 @@ var s = fn2(0, ''); // Generic and non - generic overload where non - generic overload is the only candidate when called with type arguments fn2('', 0); // Error >fn2 : Symbol(fn2, Decl(overloadResolution.ts, 26, 8), Decl(overloadResolution.ts, 29, 43), Decl(overloadResolution.ts, 30, 36)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) // Generic and non - generic overload where non - generic overload is the only candidate when called without type arguments fn2('', 0); // OK @@ -214,7 +214,7 @@ fn4('', null); // Generic overloads with constraints called with type arguments that do not satisfy the constraints fn4(null, null); // Error >fn4 : Symbol(fn4, Decl(overloadResolution.ts, 62, 38), Decl(overloadResolution.ts, 65, 61), Decl(overloadResolution.ts, 66, 61)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints fn4(true, null); // Error @@ -248,8 +248,8 @@ var s = fn5((n) => n.substr(0)); >s : Symbol(s, Decl(overloadResolution.ts, 21, 3), Decl(overloadResolution.ts, 22, 3), Decl(overloadResolution.ts, 37, 3), Decl(overloadResolution.ts, 51, 3), Decl(overloadResolution.ts, 52, 3) ... and 3 more) >fn5 : Symbol(fn5, Decl(overloadResolution.ts, 84, 16), Decl(overloadResolution.ts, 87, 45), Decl(overloadResolution.ts, 88, 45)) >n : Symbol(n, Decl(overloadResolution.ts, 91, 13)) ->n.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(overloadResolution.ts, 91, 13)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/overloadResolutionClassConstructors.symbols b/tests/baselines/reference/overloadResolutionClassConstructors.symbols index 193ca469bab..5b69ee79ff1 100644 --- a/tests/baselines/reference/overloadResolutionClassConstructors.symbols +++ b/tests/baselines/reference/overloadResolutionClassConstructors.symbols @@ -72,7 +72,7 @@ class fn2 { var d = new fn2(0, undefined); >d : Symbol(d, Decl(overloadResolutionClassConstructors.ts, 35, 3)) >fn2 : Symbol(fn2, Decl(overloadResolutionClassConstructors.ts, 26, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >undefined : Symbol(undefined) // Generic and non - generic overload where generic overload is the only candidate when called without type arguments @@ -83,7 +83,7 @@ var s = new fn2(0, ''); // Generic and non - generic overload where non - generic overload is the only candidate when called with type arguments new fn2('', 0); // OK >fn2 : Symbol(fn2, Decl(overloadResolutionClassConstructors.ts, 26, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) // Generic and non - generic overload where non - generic overload is the only candidate when called without type arguments new fn2('', 0); // OK @@ -184,7 +184,7 @@ new fn4('', null); // Generic overloads with constraints called with type arguments that do not satisfy the constraints new fn4(null, null); // Error >fn4 : Symbol(fn4, Decl(overloadResolutionClassConstructors.ts, 64, 42)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints new fn4(true, null); // Error @@ -216,9 +216,9 @@ new fn5((n) => n.toFixed()); new fn5((n) => n.substr(0)); >fn5 : Symbol(fn5, Decl(overloadResolutionClassConstructors.ts, 87, 20)) >n : Symbol(n, Decl(overloadResolutionClassConstructors.ts, 96, 9)) ->n.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(overloadResolutionClassConstructors.ts, 96, 9)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) new fn5((n) => n.blah); // Error >fn5 : Symbol(fn5, Decl(overloadResolutionClassConstructors.ts, 87, 20)) diff --git a/tests/baselines/reference/overloadResolutionConstructors.symbols b/tests/baselines/reference/overloadResolutionConstructors.symbols index 0c9f9b413aa..025068be556 100644 --- a/tests/baselines/reference/overloadResolutionConstructors.symbols +++ b/tests/baselines/reference/overloadResolutionConstructors.symbols @@ -78,12 +78,12 @@ var fn2: fn2; var d = new fn2(0, undefined); >d : Symbol(d, Decl(overloadResolutionConstructors.ts, 35, 3), Decl(overloadResolutionConstructors.ts, 36, 3)) >fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >undefined : Symbol(undefined) var d: Date; >d : Symbol(d, Decl(overloadResolutionConstructors.ts, 35, 3), Decl(overloadResolutionConstructors.ts, 36, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) // Generic and non - generic overload where generic overload is the only candidate when called without type arguments var s = new fn2(0, ''); @@ -93,7 +93,7 @@ var s = new fn2(0, ''); // Generic and non - generic overload where non - generic overload is the only candidate when called with type arguments new fn2('', 0); // Error >fn2 : Symbol(fn2, Decl(overloadResolutionConstructors.ts, 26, 12), Decl(overloadResolutionConstructors.ts, 33, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) // Generic and non - generic overload where non - generic overload is the only candidate when called without type arguments new fn2('', 0); // OK @@ -218,7 +218,7 @@ new fn4('', null); // Generic overloads with constraints called with type arguments that do not satisfy the constraints new fn4(null, null); // Error >fn4 : Symbol(fn4, Decl(overloadResolutionConstructors.ts, 66, 42), Decl(overloadResolutionConstructors.ts, 73, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints new fn4(true, null); // Error @@ -253,7 +253,7 @@ var s = new fn5((n) => n.substr(0)); >s : Symbol(s, Decl(overloadResolutionConstructors.ts, 22, 3), Decl(overloadResolutionConstructors.ts, 23, 3), Decl(overloadResolutionConstructors.ts, 39, 3), Decl(overloadResolutionConstructors.ts, 55, 3), Decl(overloadResolutionConstructors.ts, 56, 3) ... and 3 more) >fn5 : Symbol(fn5, Decl(overloadResolutionConstructors.ts, 91, 20), Decl(overloadResolutionConstructors.ts, 98, 3)) >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 100, 17)) ->n.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 100, 17)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/overloadResolutionOverNonCTLambdas.symbols b/tests/baselines/reference/overloadResolutionOverNonCTLambdas.symbols index 0070954bb1e..fd477fbfb07 100644 --- a/tests/baselines/reference/overloadResolutionOverNonCTLambdas.symbols +++ b/tests/baselines/reference/overloadResolutionOverNonCTLambdas.symbols @@ -14,9 +14,9 @@ module Bugs { var result= message.replace(/\{(\d+)\}/g, function(match, ...rest) { >result : Symbol(result, Decl(overloadResolutionOverNonCTLambdas.ts, 6, 7)) ->message.replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>message.replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >message : Symbol(message, Decl(overloadResolutionOverNonCTLambdas.ts, 5, 16)) ->replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >match : Symbol(match, Decl(overloadResolutionOverNonCTLambdas.ts, 6, 55)) >rest : Symbol(rest, Decl(overloadResolutionOverNonCTLambdas.ts, 6, 61)) diff --git a/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.symbols b/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.symbols index 7ca4614ebe7..7495e9e23f2 100644 --- a/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.symbols +++ b/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.symbols @@ -39,17 +39,17 @@ module Bugs { >IToken : Symbol(IToken, Decl(overloadResolutionOverNonCTObjectLit.ts, 0, 13)) tokens.push({ startIndex: 1, type: '', bracket: 3 }); ->tokens.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>tokens.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >tokens : Symbol(tokens, Decl(overloadResolutionOverNonCTObjectLit.ts, 16, 35)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >startIndex : Symbol(startIndex, Decl(overloadResolutionOverNonCTObjectLit.ts, 17, 45)) >type : Symbol(type, Decl(overloadResolutionOverNonCTObjectLit.ts, 17, 60)) >bracket : Symbol(bracket, Decl(overloadResolutionOverNonCTObjectLit.ts, 17, 70)) tokens.push(({ startIndex: 1, type: '', bracket: 3, state: null, length: 10 })); ->tokens.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>tokens.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >tokens : Symbol(tokens, Decl(overloadResolutionOverNonCTObjectLit.ts, 16, 35)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >IToken : Symbol(IToken, Decl(overloadResolutionOverNonCTObjectLit.ts, 0, 13)) >startIndex : Symbol(startIndex, Decl(overloadResolutionOverNonCTObjectLit.ts, 18, 54)) >type : Symbol(type, Decl(overloadResolutionOverNonCTObjectLit.ts, 18, 69)) diff --git a/tests/baselines/reference/overloadResolutionWithAny.symbols b/tests/baselines/reference/overloadResolutionWithAny.symbols index 425855fb7da..7e7e8eb5e2d 100644 --- a/tests/baselines/reference/overloadResolutionWithAny.symbols +++ b/tests/baselines/reference/overloadResolutionWithAny.symbols @@ -37,7 +37,7 @@ var func2: { (s: string, t: any): RegExp; >s : Symbol(s, Decl(overloadResolutionWithAny.ts, 13, 5)) >t : Symbol(t, Decl(overloadResolutionWithAny.ts, 13, 15)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) (s: any, t: any): string; >s : Symbol(s, Decl(overloadResolutionWithAny.ts, 14, 5)) diff --git a/tests/baselines/reference/overloadsWithConstraints.symbols b/tests/baselines/reference/overloadsWithConstraints.symbols index d3a3574da6a..8d2582f840d 100644 --- a/tests/baselines/reference/overloadsWithConstraints.symbols +++ b/tests/baselines/reference/overloadsWithConstraints.symbols @@ -2,7 +2,7 @@ declare function f(x: T): T; >f : Symbol(f, Decl(overloadsWithConstraints.ts, 0, 0), Decl(overloadsWithConstraints.ts, 0, 46)) >T : Symbol(T, Decl(overloadsWithConstraints.ts, 0, 19)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(overloadsWithConstraints.ts, 0, 37)) >T : Symbol(T, Decl(overloadsWithConstraints.ts, 0, 19)) >T : Symbol(T, Decl(overloadsWithConstraints.ts, 0, 19)) @@ -10,7 +10,7 @@ declare function f(x: T): T; declare function f(x: T): T >f : Symbol(f, Decl(overloadsWithConstraints.ts, 0, 0), Decl(overloadsWithConstraints.ts, 0, 46)) >T : Symbol(T, Decl(overloadsWithConstraints.ts, 1, 19)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(overloadsWithConstraints.ts, 1, 37)) >T : Symbol(T, Decl(overloadsWithConstraints.ts, 1, 19)) >T : Symbol(T, Decl(overloadsWithConstraints.ts, 1, 19)) diff --git a/tests/baselines/reference/paramTagOnFunctionUsingArguments.symbols b/tests/baselines/reference/paramTagOnFunctionUsingArguments.symbols index 4d8688e9877..f367a13c2c7 100644 --- a/tests/baselines/reference/paramTagOnFunctionUsingArguments.symbols +++ b/tests/baselines/reference/paramTagOnFunctionUsingArguments.symbols @@ -16,9 +16,9 @@ function concat(/* first, second, ... */) { for (var i = 0, l = arguments.length; i < l; i++) { >i : Symbol(i, Decl(a.js, 5, 10)) >l : Symbol(l, Decl(a.js, 5, 17)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(a.js, 5, 10)) >l : Symbol(l, Decl(a.js, 5, 17)) >i : Symbol(i, Decl(a.js, 5, 10)) diff --git a/tests/baselines/reference/parenthesizedContexualTyping1.symbols b/tests/baselines/reference/parenthesizedContexualTyping1.symbols index 2902459d2ca..96f314bda60 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping1.symbols +++ b/tests/baselines/reference/parenthesizedContexualTyping1.symbols @@ -101,9 +101,9 @@ var h = fun((((x => x))), ((x => x)), 10); var i = fun((Math.random() < 0.5 ? x => x : x => undefined), 10); >i : Symbol(i, Decl(parenthesizedContexualTyping1.ts, 17, 3)) >fun : Symbol(fun, Decl(parenthesizedContexualTyping1.ts, 0, 0), Decl(parenthesizedContexualTyping1.ts, 0, 41), Decl(parenthesizedContexualTyping1.ts, 1, 57)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(parenthesizedContexualTyping1.ts, 17, 34)) >x : Symbol(x, Decl(parenthesizedContexualTyping1.ts, 17, 34)) >x : Symbol(x, Decl(parenthesizedContexualTyping1.ts, 17, 43)) @@ -112,9 +112,9 @@ var i = fun((Math.random() < 0.5 ? x => x : x => undefined), 10); var j = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10); >j : Symbol(j, Decl(parenthesizedContexualTyping1.ts, 18, 3)) >fun : Symbol(fun, Decl(parenthesizedContexualTyping1.ts, 0, 0), Decl(parenthesizedContexualTyping1.ts, 0, 41), Decl(parenthesizedContexualTyping1.ts, 1, 57)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(parenthesizedContexualTyping1.ts, 18, 36)) >x : Symbol(x, Decl(parenthesizedContexualTyping1.ts, 18, 36)) >x : Symbol(x, Decl(parenthesizedContexualTyping1.ts, 18, 47)) @@ -123,9 +123,9 @@ var j = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10); var k = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10); >k : Symbol(k, Decl(parenthesizedContexualTyping1.ts, 19, 3)) >fun : Symbol(fun, Decl(parenthesizedContexualTyping1.ts, 0, 0), Decl(parenthesizedContexualTyping1.ts, 0, 41), Decl(parenthesizedContexualTyping1.ts, 1, 57)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(parenthesizedContexualTyping1.ts, 19, 36)) >x : Symbol(x, Decl(parenthesizedContexualTyping1.ts, 19, 36)) >x : Symbol(x, Decl(parenthesizedContexualTyping1.ts, 19, 47)) @@ -136,9 +136,9 @@ var k = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10); var l = fun(((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))), ((x => x)), 10); >l : Symbol(l, Decl(parenthesizedContexualTyping1.ts, 20, 3)) >fun : Symbol(fun, Decl(parenthesizedContexualTyping1.ts, 0, 0), Decl(parenthesizedContexualTyping1.ts, 0, 41), Decl(parenthesizedContexualTyping1.ts, 1, 57)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(parenthesizedContexualTyping1.ts, 20, 38)) >x : Symbol(x, Decl(parenthesizedContexualTyping1.ts, 20, 38)) >x : Symbol(x, Decl(parenthesizedContexualTyping1.ts, 20, 51)) diff --git a/tests/baselines/reference/parenthesizedContexualTyping2.symbols b/tests/baselines/reference/parenthesizedContexualTyping2.symbols index bd735a8078a..ead4285a471 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping2.symbols +++ b/tests/baselines/reference/parenthesizedContexualTyping2.symbols @@ -128,9 +128,9 @@ var h = fun((((x => { x(undefined); return x; }))),((x => { x(un var i = fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined), 10); >i : Symbol(i, Decl(parenthesizedContexualTyping2.ts, 25, 3)) >fun : Symbol(fun, Decl(parenthesizedContexualTyping2.ts, 6, 48), Decl(parenthesizedContexualTyping2.ts, 8, 38), Decl(parenthesizedContexualTyping2.ts, 9, 51)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(parenthesizedContexualTyping2.ts, 25, 34)) >x : Symbol(x, Decl(parenthesizedContexualTyping2.ts, 25, 34)) >undefined : Symbol(undefined) @@ -141,9 +141,9 @@ var i = fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x var j = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), 10); >j : Symbol(j, Decl(parenthesizedContexualTyping2.ts, 26, 3)) >fun : Symbol(fun, Decl(parenthesizedContexualTyping2.ts, 6, 48), Decl(parenthesizedContexualTyping2.ts, 8, 38), Decl(parenthesizedContexualTyping2.ts, 9, 51)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(parenthesizedContexualTyping2.ts, 26, 36)) >x : Symbol(x, Decl(parenthesizedContexualTyping2.ts, 26, 36)) >undefined : Symbol(undefined) @@ -154,9 +154,9 @@ var j = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : var k = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), x => { x(undefined); return x; }, 10); >k : Symbol(k, Decl(parenthesizedContexualTyping2.ts, 27, 3)) >fun : Symbol(fun, Decl(parenthesizedContexualTyping2.ts, 6, 48), Decl(parenthesizedContexualTyping2.ts, 8, 38), Decl(parenthesizedContexualTyping2.ts, 9, 51)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(parenthesizedContexualTyping2.ts, 27, 36)) >x : Symbol(x, Decl(parenthesizedContexualTyping2.ts, 27, 36)) >undefined : Symbol(undefined) @@ -171,9 +171,9 @@ var k = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : var l = fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)))),((x => { x(undefined); return x; })), 10); >l : Symbol(l, Decl(parenthesizedContexualTyping2.ts, 28, 3)) >fun : Symbol(fun, Decl(parenthesizedContexualTyping2.ts, 6, 48), Decl(parenthesizedContexualTyping2.ts, 8, 38), Decl(parenthesizedContexualTyping2.ts, 9, 51)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(parenthesizedContexualTyping2.ts, 28, 38)) >x : Symbol(x, Decl(parenthesizedContexualTyping2.ts, 28, 38)) >undefined : Symbol(undefined) diff --git a/tests/baselines/reference/parenthesizedContexualTyping3.symbols b/tests/baselines/reference/parenthesizedContexualTyping3.symbols index b74efeb1f53..25ef572e230 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping3.symbols +++ b/tests/baselines/reference/parenthesizedContexualTyping3.symbols @@ -8,7 +8,7 @@ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; >tempFun : Symbol(tempFun, Decl(parenthesizedContexualTyping3.ts, 0, 0), Decl(parenthesizedContexualTyping3.ts, 5, 77), Decl(parenthesizedContexualTyping3.ts, 6, 93)) >T : Symbol(T, Decl(parenthesizedContexualTyping3.ts, 5, 17)) >tempStrs : Symbol(tempStrs, Decl(parenthesizedContexualTyping3.ts, 5, 20)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >g : Symbol(g, Decl(parenthesizedContexualTyping3.ts, 5, 51)) >x : Symbol(x, Decl(parenthesizedContexualTyping3.ts, 5, 56)) >T : Symbol(T, Decl(parenthesizedContexualTyping3.ts, 5, 17)) @@ -21,7 +21,7 @@ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => >tempFun : Symbol(tempFun, Decl(parenthesizedContexualTyping3.ts, 0, 0), Decl(parenthesizedContexualTyping3.ts, 5, 77), Decl(parenthesizedContexualTyping3.ts, 6, 93)) >T : Symbol(T, Decl(parenthesizedContexualTyping3.ts, 6, 17)) >tempStrs : Symbol(tempStrs, Decl(parenthesizedContexualTyping3.ts, 6, 20)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >g : Symbol(g, Decl(parenthesizedContexualTyping3.ts, 6, 51)) >x : Symbol(x, Decl(parenthesizedContexualTyping3.ts, 6, 56)) >T : Symbol(T, Decl(parenthesizedContexualTyping3.ts, 6, 17)) @@ -38,7 +38,7 @@ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T { >tempFun : Symbol(tempFun, Decl(parenthesizedContexualTyping3.ts, 0, 0), Decl(parenthesizedContexualTyping3.ts, 5, 77), Decl(parenthesizedContexualTyping3.ts, 6, 93)) >T : Symbol(T, Decl(parenthesizedContexualTyping3.ts, 7, 17)) >tempStrs : Symbol(tempStrs, Decl(parenthesizedContexualTyping3.ts, 7, 20)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >g : Symbol(g, Decl(parenthesizedContexualTyping3.ts, 7, 51)) >x : Symbol(x, Decl(parenthesizedContexualTyping3.ts, 7, 56)) >T : Symbol(T, Decl(parenthesizedContexualTyping3.ts, 7, 17)) diff --git a/tests/baselines/reference/parenthesizedTypes.symbols b/tests/baselines/reference/parenthesizedTypes.symbols index 7d7706795d5..e1859c196fb 100644 --- a/tests/baselines/reference/parenthesizedTypes.symbols +++ b/tests/baselines/reference/parenthesizedTypes.symbols @@ -40,19 +40,19 @@ var d: ({ (x: string): string } | { (x: number): number })[]; var d: Array<((x: string) => string) | ((x: number) => number)>; >d : Symbol(d, Decl(parenthesizedTypes.ts, 12, 3), Decl(parenthesizedTypes.ts, 13, 3), Decl(parenthesizedTypes.ts, 14, 3), Decl(parenthesizedTypes.ts, 15, 3), Decl(parenthesizedTypes.ts, 16, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(parenthesizedTypes.ts, 14, 15)) >x : Symbol(x, Decl(parenthesizedTypes.ts, 14, 41)) var d: Array<{ (x: string): string } | { (x: number): number }>; >d : Symbol(d, Decl(parenthesizedTypes.ts, 12, 3), Decl(parenthesizedTypes.ts, 13, 3), Decl(parenthesizedTypes.ts, 14, 3), Decl(parenthesizedTypes.ts, 15, 3), Decl(parenthesizedTypes.ts, 16, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(parenthesizedTypes.ts, 15, 16)) >x : Symbol(x, Decl(parenthesizedTypes.ts, 15, 42)) var d: (Array<{ (x: string): string } | { (x: number): number }>); >d : Symbol(d, Decl(parenthesizedTypes.ts, 12, 3), Decl(parenthesizedTypes.ts, 13, 3), Decl(parenthesizedTypes.ts, 14, 3), Decl(parenthesizedTypes.ts, 15, 3), Decl(parenthesizedTypes.ts, 16, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(parenthesizedTypes.ts, 16, 17)) >x : Symbol(x, Decl(parenthesizedTypes.ts, 16, 43)) diff --git a/tests/baselines/reference/parseErrorDoubleCommaInCall.symbols b/tests/baselines/reference/parseErrorDoubleCommaInCall.symbols index fed8484d591..425bc93075c 100644 --- a/tests/baselines/reference/parseErrorDoubleCommaInCall.symbols +++ b/tests/baselines/reference/parseErrorDoubleCommaInCall.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/parseErrorDoubleCommaInCall.ts === Boolean({ ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x: 0,, >x : Symbol(x, Decl(parseErrorDoubleCommaInCall.ts, 0, 9)) diff --git a/tests/baselines/reference/parseErrorIncorrectReturnToken.symbols b/tests/baselines/reference/parseErrorIncorrectReturnToken.symbols index 6e179457086..160e1ed5bf4 100644 --- a/tests/baselines/reference/parseErrorIncorrectReturnToken.symbols +++ b/tests/baselines/reference/parseErrorIncorrectReturnToken.symbols @@ -14,9 +14,9 @@ let f = (n: number) => string => n.toString(); >f : Symbol(f, Decl(parseErrorIncorrectReturnToken.ts, 6, 3)) >n : Symbol(n, Decl(parseErrorIncorrectReturnToken.ts, 6, 9)) >string : Symbol(string, Decl(parseErrorIncorrectReturnToken.ts, 6, 22)) ->n.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>n.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(parseErrorIncorrectReturnToken.ts, 6, 9)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) let o = { >o : Symbol(o, Decl(parseErrorIncorrectReturnToken.ts, 7, 3)) diff --git a/tests/baselines/reference/parser15.4.4.14-9-2.symbols b/tests/baselines/reference/parser15.4.4.14-9-2.symbols index 44496f7779b..ecad25d7959 100644 --- a/tests/baselines/reference/parser15.4.4.14-9-2.symbols +++ b/tests/baselines/reference/parser15.4.4.14-9-2.symbols @@ -25,7 +25,7 @@ function testcase() { var a = new Array(false,undefined,null,"0",obj,-1.3333333333333, "str",-0,true,+0, one, 1,0, false, _float, -(4/3)); >a : Symbol(a, Decl(parser15.4.4.14-9-2.ts, 15, 5)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >obj : Symbol(obj, Decl(parser15.4.4.14-9-2.ts, 12, 5)) >one : Symbol(one, Decl(parser15.4.4.14-9-2.ts, 13, 5)) diff --git a/tests/baselines/reference/parser630933.symbols b/tests/baselines/reference/parser630933.symbols index 8aff3b01ffd..3c462e11ce2 100644 --- a/tests/baselines/reference/parser630933.symbols +++ b/tests/baselines/reference/parser630933.symbols @@ -4,7 +4,7 @@ var a = "Hello"; var b = a.match(/\/ver=([^/]+)/); >b : Symbol(b, Decl(parser630933.ts, 1, 3)) ->a.match : Symbol(String.match, Decl(lib.d.ts, --, --)) +>a.match : Symbol(String.match, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(parser630933.ts, 0, 3)) ->match : Symbol(String.match, Decl(lib.d.ts, --, --)) +>match : Symbol(String.match, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/parserArgumentList1.symbols b/tests/baselines/reference/parserArgumentList1.symbols index 2b6bd9ae222..b74e4344a87 100644 --- a/tests/baselines/reference/parserArgumentList1.symbols +++ b/tests/baselines/reference/parserArgumentList1.symbols @@ -2,18 +2,18 @@ export function removeClass (node:HTMLElement, className:string) { >removeClass : Symbol(removeClass, Decl(parserArgumentList1.ts, 0, 0)) >node : Symbol(node, Decl(parserArgumentList1.ts, 0, 29)) ->HTMLElement : Symbol(HTMLElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>HTMLElement : Symbol(HTMLElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) >className : Symbol(className, Decl(parserArgumentList1.ts, 0, 46)) node.className = node.className.replace(_classNameRegexp(className), function (everything, leftDelimiter, name, rightDelimiter) { ->node.className : Symbol(Element.className, Decl(lib.d.ts, --, --)) +>node.className : Symbol(Element.className, Decl(lib.dom.d.ts, --, --)) >node : Symbol(node, Decl(parserArgumentList1.ts, 0, 29)) ->className : Symbol(Element.className, Decl(lib.d.ts, --, --)) ->node.className.replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->node.className : Symbol(Element.className, Decl(lib.d.ts, --, --)) +>className : Symbol(Element.className, Decl(lib.dom.d.ts, --, --)) +>node.className.replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>node.className : Symbol(Element.className, Decl(lib.dom.d.ts, --, --)) >node : Symbol(node, Decl(parserArgumentList1.ts, 0, 29)) ->className : Symbol(Element.className, Decl(lib.d.ts, --, --)) ->replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>className : Symbol(Element.className, Decl(lib.dom.d.ts, --, --)) +>replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >className : Symbol(className, Decl(parserArgumentList1.ts, 0, 46)) >everything : Symbol(everything, Decl(parserArgumentList1.ts, 1, 80)) >leftDelimiter : Symbol(leftDelimiter, Decl(parserArgumentList1.ts, 1, 91)) diff --git a/tests/baselines/reference/parserArrowFunctionExpression6.symbols b/tests/baselines/reference/parserArrowFunctionExpression6.symbols index 9b3afdbb950..0c9fd5cc34b 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression6.symbols +++ b/tests/baselines/reference/parserArrowFunctionExpression6.symbols @@ -7,9 +7,9 @@ function foo(q: string, b: number) { return true ? (q ? true : false) : (b = q.length, function() { }); >q : Symbol(q, Decl(parserArrowFunctionExpression6.ts, 0, 13)) >b : Symbol(b, Decl(parserArrowFunctionExpression6.ts, 0, 23)) ->q.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>q.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >q : Symbol(q, Decl(parserArrowFunctionExpression6.ts, 0, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) }; diff --git a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.symbols b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.symbols index d9faf5ba12c..46ae2090557 100644 --- a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.symbols +++ b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.symbols @@ -11,7 +11,7 @@ var i: I; var o: Object; >o : Symbol(o, Decl(parserAutomaticSemicolonInsertion1.ts, 5, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) o = i; >o : Symbol(o, Decl(parserAutomaticSemicolonInsertion1.ts, 5, 3)) diff --git a/tests/baselines/reference/parserCatchClauseWithTypeAnnotation1.symbols b/tests/baselines/reference/parserCatchClauseWithTypeAnnotation1.symbols index 37c374691df..0b2a8dd664d 100644 --- a/tests/baselines/reference/parserCatchClauseWithTypeAnnotation1.symbols +++ b/tests/baselines/reference/parserCatchClauseWithTypeAnnotation1.symbols @@ -2,6 +2,6 @@ try { } catch (e: Error) { >e : Symbol(e, Decl(parserCatchClauseWithTypeAnnotation1.ts, 1, 9)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/parserConstructorAmbiguity1.symbols b/tests/baselines/reference/parserConstructorAmbiguity1.symbols index 60044726e9f..e293cc726b2 100644 --- a/tests/baselines/reference/parserConstructorAmbiguity1.symbols +++ b/tests/baselines/reference/parserConstructorAmbiguity1.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserConstructorAmbiguity1.ts === new DateDate : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) diff --git a/tests/baselines/reference/parserConstructorAmbiguity2.symbols b/tests/baselines/reference/parserConstructorAmbiguity2.symbols index d53f5628106..c231a5aed3c 100644 --- a/tests/baselines/reference/parserConstructorAmbiguity2.symbols +++ b/tests/baselines/reference/parserConstructorAmbiguity2.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserConstructorAmbiguity2.ts === new DateDate : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) diff --git a/tests/baselines/reference/parserConstructorAmbiguity3.symbols b/tests/baselines/reference/parserConstructorAmbiguity3.symbols index 9c76818ebf2..714efac1b7c 100644 --- a/tests/baselines/reference/parserConstructorAmbiguity3.symbols +++ b/tests/baselines/reference/parserConstructorAmbiguity3.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserConstructorAmbiguity3.ts === new Date ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) diff --git a/tests/baselines/reference/parserConstructorAmbiguity4.symbols b/tests/baselines/reference/parserConstructorAmbiguity4.symbols index 69449eb070a..ce491ae2055 100644 --- a/tests/baselines/reference/parserConstructorAmbiguity4.symbols +++ b/tests/baselines/reference/parserConstructorAmbiguity4.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserConstructorAmbiguity4.ts === new DateDate : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) diff --git a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.symbols b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.symbols index e9209df72f2..e1fea74b17a 100644 --- a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.symbols +++ b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.symbols @@ -27,9 +27,9 @@ module Shapes { // Instance member getDist() { return Math.sqrt(this.x * this.x + this.y * this.y); } >getDist : Symbol(Point.getDist, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 60)) ->Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) +>Math.sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) >this.x : Symbol(Point.x, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 21)) >this : Symbol(Point, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 6, 15)) >x : Symbol(Point.x, Decl(parserErrorRecovery_IncompleteMemberVariable1.ts, 13, 21)) diff --git a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.symbols b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.symbols index 9bc9cc6b1a8..8ed9dc66765 100644 --- a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.symbols +++ b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.symbols @@ -28,9 +28,9 @@ module Shapes { // Instance member getDist() { return Math.sqrt(this.x * this.x + this.y * this.y); } >getDist : Symbol(Point.getDist, Decl(parserErrorRecovery_IncompleteMemberVariable2.ts, 13, 60)) ->Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) +>Math.sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) >this.x : Symbol(Point.x, Decl(parserErrorRecovery_IncompleteMemberVariable2.ts, 13, 21)) >this : Symbol(Point, Decl(parserErrorRecovery_IncompleteMemberVariable2.ts, 6, 15)) >x : Symbol(Point.x, Decl(parserErrorRecovery_IncompleteMemberVariable2.ts, 13, 21)) diff --git a/tests/baselines/reference/parserInExpression1.symbols b/tests/baselines/reference/parserInExpression1.symbols index 98212f5b905..3d0fae4385d 100644 --- a/tests/baselines/reference/parserInExpression1.symbols +++ b/tests/baselines/reference/parserInExpression1.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/parser/ecmascript5/parserInExpression1.ts === console.log("a" in { "a": true }); ->console.log : Symbol(Console.log, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->log : Symbol(Console.log, Decl(lib.d.ts, --, --)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) >"a" : Symbol("a", Decl(parserInExpression1.ts, 0, 20)) diff --git a/tests/baselines/reference/parserIndexSignature8.symbols b/tests/baselines/reference/parserIndexSignature8.symbols index 17cae8a6547..c251ddb2d1f 100644 --- a/tests/baselines/reference/parserIndexSignature8.symbols +++ b/tests/baselines/reference/parserIndexSignature8.symbols @@ -6,5 +6,5 @@ var foo: { [index: any]; }; // expect an error here var foo2: { [index: RegExp]; }; // expect an error here >foo2 : Symbol(foo2, Decl(parserIndexSignature8.ts, 1, 3)) >index : Symbol(index, Decl(parserIndexSignature8.ts, 1, 13)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/parserNoASIOnCallAfterFunctionExpression1.symbols b/tests/baselines/reference/parserNoASIOnCallAfterFunctionExpression1.symbols index b71c25b6b15..cd542afa76e 100644 --- a/tests/baselines/reference/parserNoASIOnCallAfterFunctionExpression1.symbols +++ b/tests/baselines/reference/parserNoASIOnCallAfterFunctionExpression1.symbols @@ -3,5 +3,5 @@ var x = function () { } >x : Symbol(x, Decl(parserNoASIOnCallAfterFunctionExpression1.ts, 0, 3)) (window).foo; ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) diff --git a/tests/baselines/reference/parserNotHexLiteral1.symbols b/tests/baselines/reference/parserNotHexLiteral1.symbols index f664a95fbf0..3c2fac78b3f 100644 --- a/tests/baselines/reference/parserNotHexLiteral1.symbols +++ b/tests/baselines/reference/parserNotHexLiteral1.symbols @@ -5,9 +5,9 @@ var x = {e0: 'cat', x0: 'dog'}; >x0 : Symbol(x0, Decl(parserNotHexLiteral1.ts, 0, 19)) console.info (x.x0); ->console.info : Symbol(Console.info, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->info : Symbol(Console.info, Decl(lib.d.ts, --, --)) +>console.info : Symbol(Console.info, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>info : Symbol(Console.info, Decl(lib.dom.d.ts, --, --)) >x.x0 : Symbol(x0, Decl(parserNotHexLiteral1.ts, 0, 19)) >x : Symbol(x, Decl(parserNotHexLiteral1.ts, 0, 3)) >x0 : Symbol(x0, Decl(parserNotHexLiteral1.ts, 0, 19)) @@ -15,9 +15,9 @@ console.info (x.x0); // tsc dies on this next line with "bug.ts (5,16): Expected ')'" // tsc seems to be parsing the e0 as a hex constant. console.info (x.e0); ->console.info : Symbol(Console.info, Decl(lib.d.ts, --, --)) ->console : Symbol(console, Decl(lib.d.ts, --, --)) ->info : Symbol(Console.info, Decl(lib.d.ts, --, --)) +>console.info : Symbol(Console.info, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>info : Symbol(Console.info, Decl(lib.dom.d.ts, --, --)) >x.e0 : Symbol(e0, Decl(parserNotHexLiteral1.ts, 0, 9)) >x : Symbol(x, Decl(parserNotHexLiteral1.ts, 0, 3)) >e0 : Symbol(e0, Decl(parserNotHexLiteral1.ts, 0, 9)) diff --git a/tests/baselines/reference/parserObjectCreation1.symbols b/tests/baselines/reference/parserObjectCreation1.symbols index 18dbc053ee3..f9d50d593d1 100644 --- a/tests/baselines/reference/parserObjectCreation1.symbols +++ b/tests/baselines/reference/parserObjectCreation1.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserObjectCreation1.ts === var autoToken: number[] = new Array(1); >autoToken : Symbol(autoToken, Decl(parserObjectCreation1.ts, 0, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/parserOverloadOnConstants1.symbols b/tests/baselines/reference/parserOverloadOnConstants1.symbols index 7105f32e5ec..7186a6880e0 100644 --- a/tests/baselines/reference/parserOverloadOnConstants1.symbols +++ b/tests/baselines/reference/parserOverloadOnConstants1.symbols @@ -1,24 +1,24 @@ === tests/cases/conformance/parser/ecmascript5/parserOverloadOnConstants1.ts === interface Document { ->Document : Symbol(Document, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(parserOverloadOnConstants1.ts, 0, 0)) +>Document : Symbol(Document, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(parserOverloadOnConstants1.ts, 0, 0)) createElement(tagName: string): HTMLElement; ->createElement : Symbol(Document.createElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(parserOverloadOnConstants1.ts, 0, 20), Decl(parserOverloadOnConstants1.ts, 1, 48), Decl(parserOverloadOnConstants1.ts, 2, 56) ... and 1 more) +>createElement : Symbol(Document.createElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(parserOverloadOnConstants1.ts, 0, 20), Decl(parserOverloadOnConstants1.ts, 1, 48), Decl(parserOverloadOnConstants1.ts, 2, 56) ... and 1 more) >tagName : Symbol(tagName, Decl(parserOverloadOnConstants1.ts, 1, 18)) ->HTMLElement : Symbol(HTMLElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>HTMLElement : Symbol(HTMLElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) createElement(tagName: 'canvas'): HTMLCanvasElement; ->createElement : Symbol(Document.createElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(parserOverloadOnConstants1.ts, 0, 20), Decl(parserOverloadOnConstants1.ts, 1, 48), Decl(parserOverloadOnConstants1.ts, 2, 56) ... and 1 more) +>createElement : Symbol(Document.createElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(parserOverloadOnConstants1.ts, 0, 20), Decl(parserOverloadOnConstants1.ts, 1, 48), Decl(parserOverloadOnConstants1.ts, 2, 56) ... and 1 more) >tagName : Symbol(tagName, Decl(parserOverloadOnConstants1.ts, 2, 18)) ->HTMLCanvasElement : Symbol(HTMLCanvasElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>HTMLCanvasElement : Symbol(HTMLCanvasElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) createElement(tagName: 'div'): HTMLDivElement; ->createElement : Symbol(Document.createElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(parserOverloadOnConstants1.ts, 0, 20), Decl(parserOverloadOnConstants1.ts, 1, 48), Decl(parserOverloadOnConstants1.ts, 2, 56) ... and 1 more) +>createElement : Symbol(Document.createElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(parserOverloadOnConstants1.ts, 0, 20), Decl(parserOverloadOnConstants1.ts, 1, 48), Decl(parserOverloadOnConstants1.ts, 2, 56) ... and 1 more) >tagName : Symbol(tagName, Decl(parserOverloadOnConstants1.ts, 3, 18)) ->HTMLDivElement : Symbol(HTMLDivElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>HTMLDivElement : Symbol(HTMLDivElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) createElement(tagName: 'span'): HTMLSpanElement; ->createElement : Symbol(Document.createElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(parserOverloadOnConstants1.ts, 0, 20), Decl(parserOverloadOnConstants1.ts, 1, 48), Decl(parserOverloadOnConstants1.ts, 2, 56) ... and 1 more) +>createElement : Symbol(Document.createElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(parserOverloadOnConstants1.ts, 0, 20), Decl(parserOverloadOnConstants1.ts, 1, 48), Decl(parserOverloadOnConstants1.ts, 2, 56) ... and 1 more) >tagName : Symbol(tagName, Decl(parserOverloadOnConstants1.ts, 4, 18)) ->HTMLSpanElement : Symbol(HTMLSpanElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>HTMLSpanElement : Symbol(HTMLSpanElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) } diff --git a/tests/baselines/reference/parserRealSource1.symbols b/tests/baselines/reference/parserRealSource1.symbols index 245d5082f08..fd350eec5aa 100644 --- a/tests/baselines/reference/parserRealSource1.symbols +++ b/tests/baselines/reference/parserRealSource1.symbols @@ -270,11 +270,11 @@ module TypeScript { >s : Symbol(s, Decl(parserRealSource1.ts, 91, 19)) this.logContents.push(s); ->this.logContents.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>this.logContents.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >this.logContents : Symbol(BufferedLogger.logContents, Decl(parserRealSource1.ts, 83, 52)) >this : Symbol(BufferedLogger, Decl(parserRealSource1.ts, 81, 5)) >logContents : Symbol(BufferedLogger.logContents, Decl(parserRealSource1.ts, 83, 52)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(parserRealSource1.ts, 91, 19)) } } @@ -288,7 +288,7 @@ module TypeScript { var start = +new Date(); >start : Symbol(start, Decl(parserRealSource1.ts, 97, 11)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var result = func(); >result : Symbol(result, Decl(parserRealSource1.ts, 98, 11)) @@ -296,7 +296,7 @@ module TypeScript { var end = +new Date(); >end : Symbol(end, Decl(parserRealSource1.ts, 99, 11)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) logger.log(funcDescription + " completed in " + (end - start) + " msec"); >logger.log : Symbol(ILogger.log, Decl(parserRealSource1.ts, 43, 25)) @@ -324,9 +324,9 @@ module TypeScript { var ch = value.charCodeAt(index); >ch : Symbol(ch, Decl(parserRealSource1.ts, 108, 15)) ->value.charCodeAt : Symbol(String.charCodeAt, Decl(lib.d.ts, --, --)) +>value.charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(parserRealSource1.ts, 104, 36)) ->charCodeAt : Symbol(String.charCodeAt, Decl(lib.d.ts, --, --)) +>charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --)) >index : Symbol(index, Decl(parserRealSource1.ts, 107, 23)) switch (ch) { @@ -375,18 +375,18 @@ module TypeScript { default: result += value.charAt(index); >result : Symbol(result, Decl(parserRealSource1.ts, 105, 11)) ->value.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>value.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(parserRealSource1.ts, 104, 36)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >index : Symbol(index, Decl(parserRealSource1.ts, 107, 23)) } } var tooLong = (value.length > length); >tooLong : Symbol(tooLong, Decl(parserRealSource1.ts, 139, 11)) ->value.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>value.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(parserRealSource1.ts, 104, 36)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >length : Symbol(length, Decl(parserRealSource1.ts, 104, 50)) if (tooLong) { @@ -409,14 +409,14 @@ module TypeScript { for (var i = value.length - mid; i < value.length; i++) addChar(i); >i : Symbol(i, Decl(parserRealSource1.ts, 142, 20), Decl(parserRealSource1.ts, 144, 20), Decl(parserRealSource1.ts, 148, 20)) ->value.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>value.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(parserRealSource1.ts, 104, 36)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >mid : Symbol(mid, Decl(parserRealSource1.ts, 141, 15)) >i : Symbol(i, Decl(parserRealSource1.ts, 142, 20), Decl(parserRealSource1.ts, 144, 20), Decl(parserRealSource1.ts, 148, 20)) ->value.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>value.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(parserRealSource1.ts, 104, 36)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(parserRealSource1.ts, 142, 20), Decl(parserRealSource1.ts, 144, 20), Decl(parserRealSource1.ts, 148, 20)) >addChar : Symbol(addChar, Decl(parserRealSource1.ts, 107, 11)) >i : Symbol(i, Decl(parserRealSource1.ts, 142, 20), Decl(parserRealSource1.ts, 144, 20), Decl(parserRealSource1.ts, 148, 20)) @@ -424,9 +424,9 @@ module TypeScript { else { length = value.length; >length : Symbol(length, Decl(parserRealSource1.ts, 104, 50)) ->value.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>value.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(parserRealSource1.ts, 104, 36)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) for (var i = 0; i < length; i++) addChar(i); >i : Symbol(i, Decl(parserRealSource1.ts, 142, 20), Decl(parserRealSource1.ts, 144, 20), Decl(parserRealSource1.ts, 148, 20)) diff --git a/tests/baselines/reference/parserRealSource10.symbols b/tests/baselines/reference/parserRealSource10.symbols index 53141db2ad4..5a7fab717d6 100644 --- a/tests/baselines/reference/parserRealSource10.symbols +++ b/tests/baselines/reference/parserRealSource10.symbols @@ -2418,16 +2418,16 @@ module TypeScript { >this.hasEmptyFraction : Symbol(NumberLiteralToken.hasEmptyFraction, Decl(parserRealSource10.ts, 366, 42)) >this : Symbol(NumberLiteralToken, Decl(parserRealSource10.ts, 363, 5)) >hasEmptyFraction : Symbol(NumberLiteralToken.hasEmptyFraction, Decl(parserRealSource10.ts, 366, 42)) ->this.value.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>this.value.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >this.value : Symbol(NumberLiteralToken.value, Decl(parserRealSource10.ts, 366, 21)) >this : Symbol(NumberLiteralToken, Decl(parserRealSource10.ts, 363, 5)) >value : Symbol(NumberLiteralToken.value, Decl(parserRealSource10.ts, 366, 21)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) ->this.value.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>this.value.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >this.value : Symbol(NumberLiteralToken.value, Decl(parserRealSource10.ts, 366, 21)) >this : Symbol(NumberLiteralToken, Decl(parserRealSource10.ts, 363, 5)) >value : Symbol(NumberLiteralToken.value, Decl(parserRealSource10.ts, 366, 21)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } public classification(): TokenClass { diff --git a/tests/baselines/reference/parserRealSource11.symbols b/tests/baselines/reference/parserRealSource11.symbols index c28040e5277..3eda44d6a15 100644 --- a/tests/baselines/reference/parserRealSource11.symbols +++ b/tests/baselines/reference/parserRealSource11.symbols @@ -124,7 +124,7 @@ module TypeScript { break; default: throw new Error("please implement in derived class"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } return this; >this : Symbol(AST, Decl(parserRealSource11.ts, 9, 5)) @@ -252,7 +252,7 @@ module TypeScript { break; default: throw new Error("please implement in derived class"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } emitter.emitParensAndCommentsInPlace(this, false); >emitter : Symbol(emitter, Decl(parserRealSource11.ts, 63, 20)) @@ -367,7 +367,7 @@ module TypeScript { public netFreeUses(container: Symbol, freeUses: StringHashTable) { >netFreeUses : Symbol(AST.netFreeUses, Decl(parserRealSource11.ts, 148, 9)) >container : Symbol(container, Decl(parserRealSource11.ts, 150, 27)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) >freeUses : Symbol(freeUses, Decl(parserRealSource11.ts, 150, 45)) } @@ -398,43 +398,43 @@ module TypeScript { while(i <= name.length - 6) { >i : Symbol(i, Decl(parserRealSource11.ts, 162, 15)) ->name.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>name.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(parserRealSource11.ts, 157, 48)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // Look for escape sequence \uxxxx if (name.charAt(i) == '\\' && name.charAt(i+1) == 'u') { ->name.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>name.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(parserRealSource11.ts, 157, 48)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(parserRealSource11.ts, 162, 15)) ->name.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>name.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(parserRealSource11.ts, 157, 48)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(parserRealSource11.ts, 162, 15)) var charCode = parseInt(name.substr(i + 2, 4), 16); >charCode : Symbol(charCode, Decl(parserRealSource11.ts, 166, 23)) ->parseInt : Symbol(parseInt, Decl(lib.d.ts, --, --)) ->name.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>parseInt : Symbol(parseInt, Decl(lib.es5.d.ts, --, --)) +>name.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(parserRealSource11.ts, 157, 48)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(parserRealSource11.ts, 162, 15)) resolved += name.substr(start, i - start); >resolved : Symbol(resolved, Decl(parserRealSource11.ts, 160, 15)) ->name.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>name.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(parserRealSource11.ts, 157, 48)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >start : Symbol(start, Decl(parserRealSource11.ts, 161, 15)) >i : Symbol(i, Decl(parserRealSource11.ts, 162, 15)) >start : Symbol(start, Decl(parserRealSource11.ts, 161, 15)) resolved += String.fromCharCode(charCode); >resolved : Symbol(resolved, Decl(parserRealSource11.ts, 160, 15)) ->String.fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.d.ts, --, --)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.d.ts, --, --)) +>String.fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.es5.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.es5.d.ts, --, --)) >charCode : Symbol(charCode, Decl(parserRealSource11.ts, 166, 23)) i += 6; @@ -452,9 +452,9 @@ module TypeScript { // Append remaining string resolved += name.substring(start); >resolved : Symbol(resolved, Decl(parserRealSource11.ts, 160, 15)) ->name.substring : Symbol(String.substring, Decl(lib.d.ts, --, --)) +>name.substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(parserRealSource11.ts, 157, 48)) ->substring : Symbol(String.substring, Decl(lib.d.ts, --, --)) +>substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) >start : Symbol(start, Decl(parserRealSource11.ts, 161, 15)) return resolved; @@ -510,11 +510,11 @@ module TypeScript { var len = this.members.length; >len : Symbol(len, Decl(parserRealSource11.ts, 199, 15)) ->this.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >this : Symbol(ASTList, Decl(parserRealSource11.ts, 188, 5)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) for (var i = 0; i < len; i++) { >i : Symbol(i, Decl(parserRealSource11.ts, 200, 20)) @@ -561,11 +561,11 @@ module TypeScript { >this.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >this : Symbol(ASTList, Decl(parserRealSource11.ts, 188, 5)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->this.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >this : Symbol(ASTList, Decl(parserRealSource11.ts, 188, 5)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >ast : Symbol(ast, Decl(parserRealSource11.ts, 212, 22)) return this; @@ -590,11 +590,11 @@ module TypeScript { for (var i = 0, len = list.members.length; i < len; i++) { >i : Symbol(i, Decl(parserRealSource11.ts, 220, 24)) >len : Symbol(len, Decl(parserRealSource11.ts, 220, 31)) ->list.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>list.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >list.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >list : Symbol(list, Decl(parserRealSource11.ts, 219, 19)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(parserRealSource11.ts, 220, 24)) >len : Symbol(len, Decl(parserRealSource11.ts, 220, 31)) >i : Symbol(i, Decl(parserRealSource11.ts, 220, 24)) @@ -646,11 +646,11 @@ module TypeScript { var len = this.members.length; >len : Symbol(len, Decl(parserRealSource11.ts, 237, 15)) ->this.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >this : Symbol(ASTList, Decl(parserRealSource11.ts, 188, 5)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) typeFlow.nestingLevel++; >typeFlow : Symbol(typeFlow, Decl(parserRealSource11.ts, 236, 25)) @@ -695,7 +695,7 @@ module TypeScript { public sym: Symbol = null; >sym : Symbol(Identifier.sym, Decl(parserRealSource11.ts, 249, 41)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) public cloId = -1; >cloId : Symbol(Identifier.cloId, Decl(parserRealSource11.ts, 250, 34)) @@ -1181,7 +1181,7 @@ module TypeScript { default: throw new Error("please implement in derived class"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } return this; >this : Symbol(UnaryExpression, Decl(parserRealSource11.ts, 356, 5)) @@ -1397,7 +1397,7 @@ module TypeScript { break; default: throw new Error("please implement in derived class"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } emitter.recordSourceMappingEnd(this); >emitter : Symbol(emitter, Decl(parserRealSource11.ts, 440, 20)) @@ -1695,7 +1695,7 @@ module TypeScript { break; default: throw new Error("please implement in derived class"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } return this; >this : Symbol(BinaryExpression, Decl(parserRealSource11.ts, 549, 5)) @@ -1879,11 +1879,11 @@ module TypeScript { break; case NodeType.Is: throw new Error("should be de-sugared during type check"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) default: throw new Error("please implement in derived class"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } emitter.recordSourceMappingEnd(this); @@ -2036,11 +2036,11 @@ module TypeScript { emitter.writeToOutput(this.value.toString()); >emitter : Symbol(emitter, Decl(parserRealSource11.ts, 746, 20)) ->this.value.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>this.value.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >this.value : Symbol(NumberLiteral.value, Decl(parserRealSource11.ts, 731, 21)) >this : Symbol(NumberLiteral, Decl(parserRealSource11.ts, 728, 5)) >value : Symbol(NumberLiteral.value, Decl(parserRealSource11.ts, 731, 21)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) if (this.hasEmptyFraction) >this.hasEmptyFraction : Symbol(NumberLiteral.hasEmptyFraction, Decl(parserRealSource11.ts, 731, 42)) @@ -2063,9 +2063,9 @@ module TypeScript { >printLabel : Symbol(NumberLiteral.printLabel, Decl(parserRealSource11.ts, 760, 9)) if (Math.floor(this.value) != this.value) { ->Math.floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) +>Math.floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) >this.value : Symbol(NumberLiteral.value, Decl(parserRealSource11.ts, 731, 21)) >this : Symbol(NumberLiteral, Decl(parserRealSource11.ts, 728, 5)) >value : Symbol(NumberLiteral.value, Decl(parserRealSource11.ts, 731, 21)) @@ -2074,13 +2074,13 @@ module TypeScript { >value : Symbol(NumberLiteral.value, Decl(parserRealSource11.ts, 731, 21)) return this.value.toFixed(2).toString(); ->this.value.toFixed(2).toString : Symbol(String.toString, Decl(lib.d.ts, --, --)) ->this.value.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>this.value.toFixed(2).toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --)) +>this.value.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >this.value : Symbol(NumberLiteral.value, Decl(parserRealSource11.ts, 731, 21)) >this : Symbol(NumberLiteral, Decl(parserRealSource11.ts, 728, 5)) >value : Symbol(NumberLiteral.value, Decl(parserRealSource11.ts, 731, 21)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) ->toString : Symbol(String.toString, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --)) } else if (this.hasEmptyFraction) { >this.hasEmptyFraction : Symbol(NumberLiteral.hasEmptyFraction, Decl(parserRealSource11.ts, 731, 42)) @@ -2088,19 +2088,19 @@ module TypeScript { >hasEmptyFraction : Symbol(NumberLiteral.hasEmptyFraction, Decl(parserRealSource11.ts, 731, 42)) return this.value.toString() + ".0"; ->this.value.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>this.value.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >this.value : Symbol(NumberLiteral.value, Decl(parserRealSource11.ts, 731, 21)) >this : Symbol(NumberLiteral, Decl(parserRealSource11.ts, 728, 5)) >value : Symbol(NumberLiteral.value, Decl(parserRealSource11.ts, 731, 21)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } else { return this.value.toString(); ->this.value.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>this.value.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >this.value : Symbol(NumberLiteral.value, Decl(parserRealSource11.ts, 731, 21)) >this : Symbol(NumberLiteral, Decl(parserRealSource11.ts, 728, 5)) >value : Symbol(NumberLiteral.value, Decl(parserRealSource11.ts, 731, 21)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } } } @@ -2479,7 +2479,7 @@ module TypeScript { public sym: Symbol = null; >sym : Symbol(BoundDecl.sym, Decl(parserRealSource11.ts, 890, 40)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) constructor (public id: Identifier, nodeType: NodeType, public nestingLevel: number) { >id : Symbol(BoundDecl.id, Decl(parserRealSource11.ts, 893, 21)) @@ -2706,7 +2706,7 @@ module TypeScript { public freeVariables: Symbol[] = []; >freeVariables : Symbol(FuncDecl.freeVariables, Decl(parserRealSource11.ts, 967, 45)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) public unitIndex = -1; >unitIndex : Symbol(FuncDecl.unitIndex, Decl(parserRealSource11.ts, 968, 44)) @@ -2734,7 +2734,7 @@ module TypeScript { public accessorSymbol: Symbol = null; >accessorSymbol : Symbol(FuncDecl.accessorSymbol, Decl(parserRealSource11.ts, 975, 43)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) public leftCurlyCount = 0; >leftCurlyCount : Symbol(FuncDecl.leftCurlyCount, Decl(parserRealSource11.ts, 976, 45)) @@ -2832,7 +2832,7 @@ module TypeScript { >id : Symbol(id, Decl(parserRealSource11.ts, 1006, 25)) >Identifier : Symbol(Identifier, Decl(parserRealSource11.ts, 247, 5)) >sym : Symbol(sym, Decl(parserRealSource11.ts, 1006, 40)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) if (this.envids == null) { >this.envids : Symbol(FuncDecl.envids, Decl(parserRealSource11.ts, 962, 36)) @@ -2849,11 +2849,11 @@ module TypeScript { >this.envids : Symbol(FuncDecl.envids, Decl(parserRealSource11.ts, 962, 36)) >this : Symbol(FuncDecl, Decl(parserRealSource11.ts, 954, 23)) >envids : Symbol(FuncDecl.envids, Decl(parserRealSource11.ts, 962, 36)) ->this.envids.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.envids.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.envids : Symbol(FuncDecl.envids, Decl(parserRealSource11.ts, 962, 36)) >this : Symbol(FuncDecl, Decl(parserRealSource11.ts, 954, 23)) >envids : Symbol(FuncDecl.envids, Decl(parserRealSource11.ts, 962, 36)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >id : Symbol(id, Decl(parserRealSource11.ts, 1006, 25)) var outerFnc = this.enclosingFnc; @@ -2886,17 +2886,17 @@ module TypeScript { } } return this.envids.length - 1; ->this.envids.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.envids.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.envids : Symbol(FuncDecl.envids, Decl(parserRealSource11.ts, 962, 36)) >this : Symbol(FuncDecl, Decl(parserRealSource11.ts, 954, 23)) >envids : Symbol(FuncDecl.envids, Decl(parserRealSource11.ts, 962, 36)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) } public addJumpRef(sym: Symbol): void { >addJumpRef : Symbol(FuncDecl.addJumpRef, Decl(parserRealSource11.ts, 1019, 9)) >sym : Symbol(sym, Decl(parserRealSource11.ts, 1021, 26)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) if (this.jumpRefs == null) { >this.jumpRefs : Symbol(FuncDecl.jumpRefs, Decl(parserRealSource11.ts, 963, 36)) @@ -2918,11 +2918,11 @@ module TypeScript { >this.jumpRefs : Symbol(FuncDecl.jumpRefs, Decl(parserRealSource11.ts, 963, 36)) >this : Symbol(FuncDecl, Decl(parserRealSource11.ts, 954, 23)) >jumpRefs : Symbol(FuncDecl.jumpRefs, Decl(parserRealSource11.ts, 963, 36)) ->this.jumpRefs.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.jumpRefs.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.jumpRefs : Symbol(FuncDecl.jumpRefs, Decl(parserRealSource11.ts, 963, 36)) >this : Symbol(FuncDecl, Decl(parserRealSource11.ts, 954, 23)) >jumpRefs : Symbol(FuncDecl.jumpRefs, Decl(parserRealSource11.ts, 963, 36)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >id : Symbol(id, Decl(parserRealSource11.ts, 1025, 15)) id.sym = sym; @@ -3172,18 +3172,18 @@ module TypeScript { >this.isConstructor : Symbol(FuncDecl.isConstructor, Decl(parserRealSource11.ts, 983, 66)) >this : Symbol(FuncDecl, Decl(parserRealSource11.ts, 954, 23)) >isConstructor : Symbol(FuncDecl.isConstructor, Decl(parserRealSource11.ts, 983, 66)) ->this.statics.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.statics.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.statics.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >this.statics : Symbol(FuncDecl.statics, Decl(parserRealSource11.ts, 984, 93)) >this : Symbol(FuncDecl, Decl(parserRealSource11.ts, 954, 23)) >statics : Symbol(FuncDecl.statics, Decl(parserRealSource11.ts, 984, 93)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->this.innerStaticFuncs.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) +>this.innerStaticFuncs.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.innerStaticFuncs : Symbol(FuncDecl.innerStaticFuncs, Decl(parserRealSource11.ts, 972, 34)) >this : Symbol(FuncDecl, Decl(parserRealSource11.ts, 954, 23)) >innerStaticFuncs : Symbol(FuncDecl.innerStaticFuncs, Decl(parserRealSource11.ts, 972, 34)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) } export class LocationInfo { @@ -3307,13 +3307,13 @@ module TypeScript { for (var i = 0, len = this.bod.members.length; i < len; i++) { >i : Symbol(i, Decl(parserRealSource11.ts, 1141, 24)) >len : Symbol(len, Decl(parserRealSource11.ts, 1141, 31)) ->this.bod.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.bod.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.bod.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >this.bod : Symbol(FuncDecl.bod, Decl(parserRealSource11.ts, 983, 45)) >this : Symbol(Script, Decl(parserRealSource11.ts, 1106, 75)) >bod : Symbol(FuncDecl.bod, Decl(parserRealSource11.ts, 983, 45)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(parserRealSource11.ts, 1141, 24)) >len : Symbol(len, Decl(parserRealSource11.ts, 1141, 31)) >i : Symbol(i, Decl(parserRealSource11.ts, 1141, 24)) @@ -3844,13 +3844,13 @@ module TypeScript { var labelsLen = this.labels.members.length; >labelsLen : Symbol(labelsLen, Decl(parserRealSource11.ts, 1320, 19)) ->this.labels.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.labels.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.labels.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >this.labels : Symbol(LabeledStatement.labels, Decl(parserRealSource11.ts, 1312, 21)) >this : Symbol(LabeledStatement, Decl(parserRealSource11.ts, 1309, 5)) >labels : Symbol(LabeledStatement.labels, Decl(parserRealSource11.ts, 1312, 21)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) for (var i = 0; i < labelsLen; i++) { >i : Symbol(i, Decl(parserRealSource11.ts, 1321, 24)) @@ -3979,13 +3979,13 @@ module TypeScript { } else { emitter.setInVarBlock(this.statements.members.length); >emitter : Symbol(emitter, Decl(parserRealSource11.ts, 1350, 20)) ->this.statements.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.statements.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.statements.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >this.statements : Symbol(Block.statements, Decl(parserRealSource11.ts, 1345, 21)) >this : Symbol(Block, Decl(parserRealSource11.ts, 1342, 5)) >statements : Symbol(Block.statements, Decl(parserRealSource11.ts, 1345, 21)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) } var temp = emitter.setInObjectLiteral(false); >temp : Symbol(temp, Decl(parserRealSource11.ts, 1359, 15)) @@ -4084,13 +4084,13 @@ module TypeScript { >this.statements : Symbol(Block.statements, Decl(parserRealSource11.ts, 1345, 21)) >this : Symbol(Block, Decl(parserRealSource11.ts, 1342, 5)) >statements : Symbol(Block.statements, Decl(parserRealSource11.ts, 1345, 21)) ->this.statements.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.statements.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.statements.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >this.statements : Symbol(Block.statements, Decl(parserRealSource11.ts, 1345, 21)) >this : Symbol(Block, Decl(parserRealSource11.ts, 1342, 5)) >statements : Symbol(Block.statements, Decl(parserRealSource11.ts, 1345, 21)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) typeFlow.checker.errorReporter.styleError(this, "empty block"); >typeFlow : Symbol(typeFlow, Decl(parserRealSource11.ts, 1387, 25)) @@ -5023,11 +5023,11 @@ module TypeScript { >body : Symbol(ForInStatement.body, Decl(parserRealSource11.ts, 1692, 50)) if (stmts.members.length == 1) { ->stmts.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>stmts.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >stmts.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >stmts : Symbol(stmts, Decl(parserRealSource11.ts, 1701, 23)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) singleItem = stmts.members[0]; >singleItem : Symbol(singleItem, Decl(parserRealSource11.ts, 1699, 19)) @@ -5061,13 +5061,13 @@ module TypeScript { >block.statements : Symbol(Block.statements, Decl(parserRealSource11.ts, 1345, 21)) >block : Symbol(block, Decl(parserRealSource11.ts, 1712, 27)) >statements : Symbol(Block.statements, Decl(parserRealSource11.ts, 1345, 21)) ->block.statements.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>block.statements.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >block.statements.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >block.statements : Symbol(Block.statements, Decl(parserRealSource11.ts, 1345, 21)) >block : Symbol(block, Decl(parserRealSource11.ts, 1712, 27)) >statements : Symbol(Block.statements, Decl(parserRealSource11.ts, 1345, 21)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) singleItem = block.statements.members[0]; >singleItem : Symbol(singleItem, Decl(parserRealSource11.ts, 1699, 19)) @@ -5161,11 +5161,11 @@ module TypeScript { if ((args !== null) && (args.members.length == 1)) { >args : Symbol(args, Decl(parserRealSource11.ts, 1728, 43)) ->args.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>args.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >args.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >args : Symbol(args, Decl(parserRealSource11.ts, 1728, 43)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) var arg = args.members[0]; >arg : Symbol(arg, Decl(parserRealSource11.ts, 1730, 47)) @@ -5465,14 +5465,14 @@ module TypeScript { else { emitter.setInVarBlock((this.init).members.length); >emitter : Symbol(emitter, Decl(parserRealSource11.ts, 1815, 20)) ->(this.init).members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>(this.init).members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >(this.init).members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >ASTList : Symbol(ASTList, Decl(parserRealSource11.ts, 188, 5)) >this.init : Symbol(ForStatement.init, Decl(parserRealSource11.ts, 1809, 21)) >this : Symbol(ForStatement, Decl(parserRealSource11.ts, 1802, 5)) >init : Symbol(ForStatement.init, Decl(parserRealSource11.ts, 1809, 21)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) emitter.emitJavascriptList(this.init, null, TokenID.For, false, false, false); >emitter : Symbol(emitter, Decl(parserRealSource11.ts, 1815, 20)) @@ -5860,13 +5860,13 @@ module TypeScript { var casesLen = this.caseList.members.length; >casesLen : Symbol(casesLen, Decl(parserRealSource11.ts, 1954, 15)) ->this.caseList.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.caseList.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.caseList.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >this.caseList : Symbol(SwitchStatement.caseList, Decl(parserRealSource11.ts, 1932, 52)) >this : Symbol(SwitchStatement, Decl(parserRealSource11.ts, 1930, 5)) >caseList : Symbol(SwitchStatement.caseList, Decl(parserRealSource11.ts, 1932, 52)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) for (var i = 0; i < casesLen; i++) { >i : Symbol(i, Decl(parserRealSource11.ts, 1955, 20)) @@ -5918,13 +5918,13 @@ module TypeScript { var len = this.caseList.members.length; >len : Symbol(len, Decl(parserRealSource11.ts, 1969, 15)) ->this.caseList.members.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.caseList.members.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.caseList.members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) >this.caseList : Symbol(SwitchStatement.caseList, Decl(parserRealSource11.ts, 1932, 52)) >this : Symbol(SwitchStatement, Decl(parserRealSource11.ts, 1930, 5)) >caseList : Symbol(SwitchStatement.caseList, Decl(parserRealSource11.ts, 1932, 52)) >members : Symbol(ASTList.members, Decl(parserRealSource11.ts, 191, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) this.val = typeFlow.typeCheck(this.val); >this.val : Symbol(SwitchStatement.val, Decl(parserRealSource11.ts, 1937, 21)) @@ -6249,7 +6249,7 @@ module TypeScript { >startLine : Symbol(startLine, Decl(parserRealSource11.ts, 2069, 55)) throw new Error("should not emit a type ref"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } public typeCheck(typeFlow: TypeFlow) { @@ -7110,20 +7110,20 @@ module TypeScript { >this.text : Symbol(Comment.text, Decl(parserRealSource11.ts, 2325, 38)) >this : Symbol(Comment, Decl(parserRealSource11.ts, 2323, 5)) >text : Symbol(Comment.text, Decl(parserRealSource11.ts, 2325, 38)) ->this.content.split : Symbol(String.split, Decl(lib.d.ts, --, --)) +>this.content.split : Symbol(String.split, Decl(lib.es5.d.ts, --, --)) >this.content : Symbol(Comment.content, Decl(parserRealSource11.ts, 2329, 21)) >this : Symbol(Comment, Decl(parserRealSource11.ts, 2323, 5)) >content : Symbol(Comment.content, Decl(parserRealSource11.ts, 2329, 21)) ->split : Symbol(String.split, Decl(lib.d.ts, --, --)) +>split : Symbol(String.split, Decl(lib.es5.d.ts, --, --)) for (var i = 0; i < this.text.length; i++) { >i : Symbol(i, Decl(parserRealSource11.ts, 2337, 28)) >i : Symbol(i, Decl(parserRealSource11.ts, 2337, 28)) ->this.text.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.text.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.text : Symbol(Comment.text, Decl(parserRealSource11.ts, 2325, 38)) >this : Symbol(Comment, Decl(parserRealSource11.ts, 2323, 5)) >text : Symbol(Comment.text, Decl(parserRealSource11.ts, 2325, 38)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(parserRealSource11.ts, 2337, 28)) this.text[i] = this.text[i].replace(/^\s+|\s+$/g, ''); @@ -7131,12 +7131,12 @@ module TypeScript { >this : Symbol(Comment, Decl(parserRealSource11.ts, 2323, 5)) >text : Symbol(Comment.text, Decl(parserRealSource11.ts, 2325, 38)) >i : Symbol(i, Decl(parserRealSource11.ts, 2337, 28)) ->this.text[i].replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>this.text[i].replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >this.text : Symbol(Comment.text, Decl(parserRealSource11.ts, 2325, 38)) >this : Symbol(Comment, Decl(parserRealSource11.ts, 2323, 5)) >text : Symbol(Comment.text, Decl(parserRealSource11.ts, 2325, 38)) >i : Symbol(i, Decl(parserRealSource11.ts, 2337, 28)) ->replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } else { @@ -7144,11 +7144,11 @@ module TypeScript { >this.text : Symbol(Comment.text, Decl(parserRealSource11.ts, 2325, 38)) >this : Symbol(Comment, Decl(parserRealSource11.ts, 2323, 5)) >text : Symbol(Comment.text, Decl(parserRealSource11.ts, 2325, 38)) ->this.content.replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>this.content.replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >this.content : Symbol(Comment.content, Decl(parserRealSource11.ts, 2329, 21)) >this : Symbol(Comment, Decl(parserRealSource11.ts, 2323, 5)) >content : Symbol(Comment.content, Decl(parserRealSource11.ts, 2329, 21)) ->replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/parserRealSource12.symbols b/tests/baselines/reference/parserRealSource12.symbols index acc25d56ec0..88bf2f162d0 100644 --- a/tests/baselines/reference/parserRealSource12.symbols +++ b/tests/baselines/reference/parserRealSource12.symbols @@ -1161,7 +1161,7 @@ module TypeScript { >undefined : Symbol(undefined) throw new Error("initWalkers function is not up to date with enum content!"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } } diff --git a/tests/baselines/reference/parserRealSource14.symbols b/tests/baselines/reference/parserRealSource14.symbols index 7361b92c002..abeef54b54c 100644 --- a/tests/baselines/reference/parserRealSource14.symbols +++ b/tests/baselines/reference/parserRealSource14.symbols @@ -13,13 +13,13 @@ module TypeScript { return (items === null || items.length === 0) ? null : items[items.length - 1]; >items : Symbol(items, Decl(parserRealSource14.ts, 6, 27)) ->items.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>items.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >items : Symbol(items, Decl(parserRealSource14.ts, 6, 27)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >items : Symbol(items, Decl(parserRealSource14.ts, 6, 27)) ->items.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>items.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >items : Symbol(items, Decl(parserRealSource14.ts, 6, 27)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) } export function max(a: number, b: number): number { @@ -67,14 +67,14 @@ module TypeScript { return (items === null || items.length <= index) ? null : items[items.length - index - 1]; >items : Symbol(items, Decl(parserRealSource14.ts, 26, 30)) ->items.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>items.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >items : Symbol(items, Decl(parserRealSource14.ts, 26, 30)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >index : Symbol(index, Decl(parserRealSource14.ts, 26, 43)) >items : Symbol(items, Decl(parserRealSource14.ts, 26, 30)) ->items.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>items.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >items : Symbol(items, Decl(parserRealSource14.ts, 26, 30)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >index : Symbol(index, Decl(parserRealSource14.ts, 26, 43)) } @@ -90,11 +90,11 @@ module TypeScript { >clone.asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) >clone : Symbol(clone, Decl(parserRealSource14.ts, 31, 15)) >asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) ->this.asts.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>this.asts.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >this.asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(parserRealSource14.ts, 32, 40)) >value : Symbol(value, Decl(parserRealSource14.ts, 32, 40)) @@ -126,21 +126,21 @@ module TypeScript { >up : Symbol(AstPath.up, Decl(parserRealSource14.ts, 53, 9)) while (this.asts.length > this.count()) { ->this.asts.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.asts.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.count : Symbol(AstPath.count, Decl(parserRealSource14.ts, 79, 9)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >count : Symbol(AstPath.count, Decl(parserRealSource14.ts, 79, 9)) this.asts.pop(); ->this.asts.pop : Symbol(Array.pop, Decl(lib.d.ts, --, --)) +>this.asts.pop : Symbol(Array.pop, Decl(lib.es5.d.ts, --, --)) >this.asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) ->pop : Symbol(Array.pop, Decl(lib.d.ts, --, --)) +>pop : Symbol(Array.pop, Decl(lib.es5.d.ts, --, --)) } return head; >head : Symbol(head, Decl(parserRealSource14.ts, 38, 15)) @@ -152,38 +152,38 @@ module TypeScript { >TypeScript : Symbol(TypeScript, Decl(parserRealSource14.ts, 0, 0)) while (this.asts.length > this.count()) { ->this.asts.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.asts.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.count : Symbol(AstPath.count, Decl(parserRealSource14.ts, 79, 9)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >count : Symbol(AstPath.count, Decl(parserRealSource14.ts, 79, 9)) this.asts.pop(); ->this.asts.pop : Symbol(Array.pop, Decl(lib.d.ts, --, --)) +>this.asts.pop : Symbol(Array.pop, Decl(lib.es5.d.ts, --, --)) >this.asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) ->pop : Symbol(Array.pop, Decl(lib.d.ts, --, --)) +>pop : Symbol(Array.pop, Decl(lib.es5.d.ts, --, --)) } this.top = this.asts.length; >this.top : Symbol(AstPath.top, Decl(parserRealSource14.ts, 23, 43)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >top : Symbol(AstPath.top, Decl(parserRealSource14.ts, 23, 43)) ->this.asts.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.asts.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) this.asts.push(ast); ->this.asts.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>this.asts.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >this.asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >ast : Symbol(ast, Decl(parserRealSource14.ts, 47, 20)) } @@ -196,7 +196,7 @@ module TypeScript { >top : Symbol(AstPath.top, Decl(parserRealSource14.ts, 23, 43)) throw new Error("Invalid call to 'up'"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) this.top--; >this.top : Symbol(AstPath.top, Decl(parserRealSource14.ts, 23, 43)) @@ -211,14 +211,14 @@ module TypeScript { >this.top : Symbol(AstPath.top, Decl(parserRealSource14.ts, 23, 43)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >top : Symbol(AstPath.top, Decl(parserRealSource14.ts, 23, 43)) ->this.ast.length : Symbol(Function.length, Decl(lib.d.ts, --, --)) +>this.ast.length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) >this.ast : Symbol(AstPath.ast, Decl(parserRealSource14.ts, 71, 9)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >ast : Symbol(AstPath.ast, Decl(parserRealSource14.ts, 71, 9)) ->length : Symbol(Function.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) throw new Error("Invalid call to 'down'"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) this.top++; >this.top : Symbol(AstPath.top, Decl(parserRealSource14.ts, 23, 43)) @@ -255,11 +255,11 @@ module TypeScript { >this.asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) ->this.asts.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.asts.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.top : Symbol(AstPath.top, Decl(parserRealSource14.ts, 23, 43)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >top : Symbol(AstPath.top, Decl(parserRealSource14.ts, 23, 43)) @@ -276,11 +276,11 @@ module TypeScript { >this.asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) ->this.asts.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.asts.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >asts : Symbol(AstPath.asts, Decl(parserRealSource14.ts, 22, 26)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.top : Symbol(AstPath.top, Decl(parserRealSource14.ts, 23, 43)) >this : Symbol(AstPath, Decl(parserRealSource14.ts, 16, 5)) >top : Symbol(AstPath.top, Decl(parserRealSource14.ts, 23, 43)) @@ -2208,16 +2208,16 @@ module TypeScript { if (comments && comments.length > 0) { >comments : Symbol(comments, Decl(parserRealSource14.ts, 462, 30)) ->comments.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>comments.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >comments : Symbol(comments, Decl(parserRealSource14.ts, 462, 30)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) for (var i = 0; i < comments.length; i++) { >i : Symbol(i, Decl(parserRealSource14.ts, 464, 24)) >i : Symbol(i, Decl(parserRealSource14.ts, 464, 24)) ->comments.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>comments.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >comments : Symbol(comments, Decl(parserRealSource14.ts, 462, 30)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(parserRealSource14.ts, 464, 24)) var minChar = comments[i].minChar; diff --git a/tests/baselines/reference/parserRealSource2.symbols b/tests/baselines/reference/parserRealSource2.symbols index c5ac2309aa1..7b959d85438 100644 --- a/tests/baselines/reference/parserRealSource2.symbols +++ b/tests/baselines/reference/parserRealSource2.symbols @@ -711,9 +711,9 @@ module TypeScript { >i : Symbol(i, Decl(parserRealSource2.ts, 254, 16)) if (builder.length > 0) { ->builder.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>builder.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >builder : Symbol(builder, Decl(parserRealSource2.ts, 253, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) builder += "|"; >builder : Symbol(builder, Decl(parserRealSource2.ts, 253, 11)) diff --git a/tests/baselines/reference/parserRealSource4.symbols b/tests/baselines/reference/parserRealSource4.symbols index 9cce62d1855..f43c35dcaa5 100644 --- a/tests/baselines/reference/parserRealSource4.symbols +++ b/tests/baselines/reference/parserRealSource4.symbols @@ -42,7 +42,7 @@ module TypeScript { // initialize the 'constructor' field this["constructor"] = undefined; >this : Symbol(BlockIntrinsics, Decl(parserRealSource4.ts, 5, 19)) ->"constructor" : Symbol(Object.constructor, Decl(lib.d.ts, --, --)) +>"constructor" : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) } } @@ -127,9 +127,9 @@ module TypeScript { result[result.length] = k; >result : Symbol(result, Decl(parserRealSource4.ts, 38, 15)) ->result.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>result.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(parserRealSource4.ts, 38, 15)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >k : Symbol(k, Decl(parserRealSource4.ts, 39, 20)) } } @@ -373,13 +373,13 @@ module TypeScript { >getAllKeys : Symbol(DualStringHashTable.getAllKeys, Decl(parserRealSource4.ts, 120, 78)) return this.primaryTable.getAllKeys().concat(this.secondaryTable.getAllKeys()); ->this.primaryTable.getAllKeys().concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>this.primaryTable.getAllKeys().concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >this.primaryTable.getAllKeys : Symbol(IHashTable.getAllKeys, Decl(parserRealSource4.ts, 22, 33)) >this.primaryTable : Symbol(DualStringHashTable.primaryTable, Decl(parserRealSource4.ts, 119, 21)) >this : Symbol(DualStringHashTable, Decl(parserRealSource4.ts, 110, 5)) >primaryTable : Symbol(DualStringHashTable.primaryTable, Decl(parserRealSource4.ts, 119, 21)) >getAllKeys : Symbol(IHashTable.getAllKeys, Decl(parserRealSource4.ts, 22, 33)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >this.secondaryTable.getAllKeys : Symbol(IHashTable.getAllKeys, Decl(parserRealSource4.ts, 22, 33)) >this.secondaryTable : Symbol(DualStringHashTable.secondaryTable, Decl(parserRealSource4.ts, 119, 53)) >this : Symbol(DualStringHashTable, Decl(parserRealSource4.ts, 110, 5)) @@ -932,9 +932,9 @@ module TypeScript { for (var i = 0; i < searchArray.length; i++) { >i : Symbol(i, Decl(parserRealSource4.ts, 270, 20)) >i : Symbol(i, Decl(parserRealSource4.ts, 270, 20)) ->searchArray.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>searchArray.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >searchArray : Symbol(searchArray, Decl(parserRealSource4.ts, 265, 15)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(parserRealSource4.ts, 270, 20)) if (searchArray[i] == key) { @@ -985,22 +985,22 @@ module TypeScript { >this.keys : Symbol(SimpleHashTable.keys, Decl(parserRealSource4.ts, 260, 34)) >this : Symbol(SimpleHashTable, Decl(parserRealSource4.ts, 257, 5)) >keys : Symbol(SimpleHashTable.keys, Decl(parserRealSource4.ts, 260, 34)) ->this.keys.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.keys.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.keys : Symbol(SimpleHashTable.keys, Decl(parserRealSource4.ts, 260, 34)) >this : Symbol(SimpleHashTable, Decl(parserRealSource4.ts, 257, 5)) >keys : Symbol(SimpleHashTable.keys, Decl(parserRealSource4.ts, 260, 34)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >key : Symbol(key, Decl(parserRealSource4.ts, 281, 19)) this.values[this.values.length] = data; >this.values : Symbol(SimpleHashTable.values, Decl(parserRealSource4.ts, 261, 26)) >this : Symbol(SimpleHashTable, Decl(parserRealSource4.ts, 257, 5)) >values : Symbol(SimpleHashTable.values, Decl(parserRealSource4.ts, 261, 26)) ->this.values.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.values.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.values : Symbol(SimpleHashTable.values, Decl(parserRealSource4.ts, 261, 26)) >this : Symbol(SimpleHashTable, Decl(parserRealSource4.ts, 257, 5)) >values : Symbol(SimpleHashTable.values, Decl(parserRealSource4.ts, 261, 26)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >data : Symbol(data, Decl(parserRealSource4.ts, 281, 23)) return true; diff --git a/tests/baselines/reference/parserRealSource5.symbols b/tests/baselines/reference/parserRealSource5.symbols index d1f2bb4f8fc..445437f0ca2 100644 --- a/tests/baselines/reference/parserRealSource5.symbols +++ b/tests/baselines/reference/parserRealSource5.symbols @@ -25,7 +25,7 @@ module TypeScript { constructor (public outfile: ITextWriter, public parser: Parser) { >outfile : Symbol(PrintContext.outfile, Decl(parserRealSource5.ts, 13, 21)) ->ITextWriter : Symbol(ITextWriter, Decl(lib.d.ts, --, --)) +>ITextWriter : Symbol(ITextWriter, Decl(lib.scripthost.d.ts, --, --)) >parser : Symbol(PrintContext.parser, Decl(parserRealSource5.ts, 13, 49)) } @@ -51,11 +51,11 @@ module TypeScript { >startLine : Symbol(PrintContext.startLine, Decl(parserRealSource5.ts, 22, 9)) if (this.builder.length > 0) { ->this.builder.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>this.builder.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >this.builder : Symbol(PrintContext.builder, Decl(parserRealSource5.ts, 7, 31)) >this : Symbol(PrintContext, Decl(parserRealSource5.ts, 5, 19)) >builder : Symbol(PrintContext.builder, Decl(parserRealSource5.ts, 7, 31)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) CompilerDiagnostics.Alert(this.builder); >this.builder : Symbol(PrintContext.builder, Decl(parserRealSource5.ts, 7, 31)) @@ -130,11 +130,11 @@ module TypeScript { >s : Symbol(s, Decl(parserRealSource5.ts, 43, 25)) this.outfile.WriteLine(this.builder); ->this.outfile.WriteLine : Symbol(ITextWriter.WriteLine, Decl(lib.d.ts, --, --)) +>this.outfile.WriteLine : Symbol(ITextWriter.WriteLine, Decl(lib.scripthost.d.ts, --, --)) >this.outfile : Symbol(PrintContext.outfile, Decl(parserRealSource5.ts, 13, 21)) >this : Symbol(PrintContext, Decl(parserRealSource5.ts, 5, 19)) >outfile : Symbol(PrintContext.outfile, Decl(parserRealSource5.ts, 13, 21)) ->WriteLine : Symbol(ITextWriter.WriteLine, Decl(lib.d.ts, --, --)) +>WriteLine : Symbol(ITextWriter.WriteLine, Decl(lib.scripthost.d.ts, --, --)) >this.builder : Symbol(PrintContext.builder, Decl(parserRealSource5.ts, 7, 31)) >this : Symbol(PrintContext, Decl(parserRealSource5.ts, 5, 19)) >builder : Symbol(PrintContext.builder, Decl(parserRealSource5.ts, 7, 31)) diff --git a/tests/baselines/reference/parserRealSource6.symbols b/tests/baselines/reference/parserRealSource6.symbols index 96c73f23bcc..78d6dda117b 100644 --- a/tests/baselines/reference/parserRealSource6.symbols +++ b/tests/baselines/reference/parserRealSource6.symbols @@ -259,7 +259,7 @@ module TypeScript { export function pushTypeCollectionScope(container: Symbol, >pushTypeCollectionScope : Symbol(pushTypeCollectionScope, Decl(parserRealSource6.ts, 89, 5)) >container : Symbol(container, Decl(parserRealSource6.ts, 91, 44)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) valueMembers: ScopedMembers, >valueMembers : Symbol(valueMembers, Decl(parserRealSource6.ts, 91, 62)) diff --git a/tests/baselines/reference/parserRealSource7.symbols b/tests/baselines/reference/parserRealSource7.symbols index 4776e5b6226..55399e9c422 100644 --- a/tests/baselines/reference/parserRealSource7.symbols +++ b/tests/baselines/reference/parserRealSource7.symbols @@ -59,9 +59,9 @@ module TypeScript { baseTypeLinks[baseTypeLinks.length] = typeLink; >baseTypeLinks : Symbol(baseTypeLinks, Decl(parserRealSource7.ts, 11, 45)) ->baseTypeLinks.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>baseTypeLinks.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >baseTypeLinks : Symbol(baseTypeLinks, Decl(parserRealSource7.ts, 11, 45)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >typeLink : Symbol(typeLink, Decl(parserRealSource7.ts, 20, 19)) } } @@ -240,7 +240,7 @@ module TypeScript { >findTypeSymbolInScopeChain : Symbol(findTypeSymbolInScopeChain, Decl(parserRealSource7.ts, 85, 5)) >name : Symbol(name, Decl(parserRealSource7.ts, 87, 40)) >scopeChain : Symbol(scopeChain, Decl(parserRealSource7.ts, 87, 53)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) var symbol = scopeChain.scope.find(name, false, true); >symbol : Symbol(symbol, Decl(parserRealSource7.ts, 88, 11)) @@ -267,11 +267,11 @@ module TypeScript { >alias : Symbol(alias, Decl(parserRealSource7.ts, 97, 33)) >context : Symbol(context, Decl(parserRealSource7.ts, 97, 44)) >IAliasScopeContext : Symbol(IAliasScopeContext, Decl(parserRealSource7.ts, 79, 34)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) var symbol: Symbol = null; >symbol : Symbol(symbol, Decl(parserRealSource7.ts, 98, 11)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) switch (alias.nodeType) { >alias : Symbol(alias, Decl(parserRealSource7.ts, 97, 33)) diff --git a/tests/baselines/reference/parserRealSource8.symbols b/tests/baselines/reference/parserRealSource8.symbols index 4a823fbcfc9..82c79bc74f4 100644 --- a/tests/baselines/reference/parserRealSource8.symbols +++ b/tests/baselines/reference/parserRealSource8.symbols @@ -81,9 +81,9 @@ module TypeScript { export function instanceCompare(a: Symbol, b: Symbol) { >instanceCompare : Symbol(instanceCompare, Decl(parserRealSource8.ts, 29, 5)) >a : Symbol(a, Decl(parserRealSource8.ts, 31, 36)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(parserRealSource8.ts, 31, 46)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) if (((a == null) || (!a.isInstanceProperty()))) { >a : Symbol(a, Decl(parserRealSource8.ts, 31, 36)) @@ -101,7 +101,7 @@ module TypeScript { export function instanceFilterStop(s: Symbol) { >instanceFilterStop : Symbol(instanceFilterStop, Decl(parserRealSource8.ts, 38, 5)) >s : Symbol(s, Decl(parserRealSource8.ts, 40, 39)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) return s.isInstanceProperty(); >s : Symbol(s, Decl(parserRealSource8.ts, 40, 39)) @@ -113,19 +113,19 @@ module TypeScript { constructor (public select: (a: Symbol, b: Symbol) =>Symbol, >select : Symbol(ScopeSearchFilter.select, Decl(parserRealSource8.ts, 46, 21)) >a : Symbol(a, Decl(parserRealSource8.ts, 46, 37)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(parserRealSource8.ts, 46, 47)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) public stop: (s: Symbol) =>boolean) { } >stop : Symbol(ScopeSearchFilter.stop, Decl(parserRealSource8.ts, 46, 68)) >s : Symbol(s, Decl(parserRealSource8.ts, 47, 42)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) public result: Symbol = null; >result : Symbol(ScopeSearchFilter.result, Decl(parserRealSource8.ts, 47, 67)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) public reset() { >reset : Symbol(ScopeSearchFilter.reset, Decl(parserRealSource8.ts, 49, 37)) @@ -139,7 +139,7 @@ module TypeScript { public update(b: Symbol): boolean { >update : Symbol(ScopeSearchFilter.update, Decl(parserRealSource8.ts, 53, 9)) >b : Symbol(b, Decl(parserRealSource8.ts, 55, 22)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) this.result = this.select(this.result, b); >this.result : Symbol(ScopeSearchFilter.result, Decl(parserRealSource8.ts, 47, 67)) @@ -227,11 +227,11 @@ module TypeScript { >memberScope : Symbol(memberScope, Decl(parserRealSource8.ts, 70, 11)) context.modDeclChain.push(moduleDecl); ->context.modDeclChain.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>context.modDeclChain.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >context.modDeclChain : Symbol(AssignScopeContext.modDeclChain, Decl(parserRealSource8.ts, 9, 47)) >context : Symbol(context, Decl(parserRealSource8.ts, 68, 51)) >modDeclChain : Symbol(AssignScopeContext.modDeclChain, Decl(parserRealSource8.ts, 9, 47)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >moduleDecl : Symbol(moduleDecl, Decl(parserRealSource8.ts, 69, 11)) context.typeFlow.checker.currentModDecl = moduleDecl; @@ -533,11 +533,11 @@ module TypeScript { var container: Symbol = null; >container : Symbol(container, Decl(parserRealSource8.ts, 178, 11)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) var localContainer: Symbol = null; >localContainer : Symbol(localContainer, Decl(parserRealSource8.ts, 179, 11)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) if (funcDecl.type) { >funcDecl : Symbol(funcDecl, Decl(parserRealSource8.ts, 176, 11)) @@ -1244,18 +1244,18 @@ module TypeScript { >context : Symbol(context, Decl(parserRealSource8.ts, 424, 11)) context.modDeclChain.pop(); ->context.modDeclChain.pop : Symbol(Array.pop, Decl(lib.d.ts, --, --)) +>context.modDeclChain.pop : Symbol(Array.pop, Decl(lib.es5.d.ts, --, --)) >context.modDeclChain : Symbol(AssignScopeContext.modDeclChain, Decl(parserRealSource8.ts, 9, 47)) >context : Symbol(context, Decl(parserRealSource8.ts, 424, 11)) >modDeclChain : Symbol(AssignScopeContext.modDeclChain, Decl(parserRealSource8.ts, 9, 47)) ->pop : Symbol(Array.pop, Decl(lib.d.ts, --, --)) +>pop : Symbol(Array.pop, Decl(lib.es5.d.ts, --, --)) if (context.modDeclChain.length >= 1) { ->context.modDeclChain.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>context.modDeclChain.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >context.modDeclChain : Symbol(AssignScopeContext.modDeclChain, Decl(parserRealSource8.ts, 9, 47)) >context : Symbol(context, Decl(parserRealSource8.ts, 424, 11)) >modDeclChain : Symbol(AssignScopeContext.modDeclChain, Decl(parserRealSource8.ts, 9, 47)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) context.typeFlow.checker.currentModDecl = context.modDeclChain[context.modDeclChain.length - 1]; >context.typeFlow : Symbol(AssignScopeContext.typeFlow, Decl(parserRealSource8.ts, 8, 51)) @@ -1264,11 +1264,11 @@ module TypeScript { >context.modDeclChain : Symbol(AssignScopeContext.modDeclChain, Decl(parserRealSource8.ts, 9, 47)) >context : Symbol(context, Decl(parserRealSource8.ts, 424, 11)) >modDeclChain : Symbol(AssignScopeContext.modDeclChain, Decl(parserRealSource8.ts, 9, 47)) ->context.modDeclChain.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>context.modDeclChain.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >context.modDeclChain : Symbol(AssignScopeContext.modDeclChain, Decl(parserRealSource8.ts, 9, 47)) >context : Symbol(context, Decl(parserRealSource8.ts, 424, 11)) >modDeclChain : Symbol(AssignScopeContext.modDeclChain, Decl(parserRealSource8.ts, 9, 47)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) } } else if (ast.nodeType == NodeType.ClassDeclaration) { diff --git a/tests/baselines/reference/parserRealSource9.symbols b/tests/baselines/reference/parserRealSource9.symbols index 535f3568a65..f21f52ce562 100644 --- a/tests/baselines/reference/parserRealSource9.symbols +++ b/tests/baselines/reference/parserRealSource9.symbols @@ -30,9 +30,9 @@ module TypeScript { for (var i = 0, len = typeLinks.length; i < len; i++) { >i : Symbol(i, Decl(parserRealSource9.ts, 12, 24)) >len : Symbol(len, Decl(parserRealSource9.ts, 12, 31)) ->typeLinks.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>typeLinks.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >typeLinks : Symbol(typeLinks, Decl(parserRealSource9.ts, 8, 36)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(parserRealSource9.ts, 12, 24)) >len : Symbol(len, Decl(parserRealSource9.ts, 12, 31)) >i : Symbol(i, Decl(parserRealSource9.ts, 12, 24)) @@ -478,7 +478,7 @@ module TypeScript { >bindSymbol : Symbol(Binder.bindSymbol, Decl(parserRealSource9.ts, 142, 9)) >scope : Symbol(scope, Decl(parserRealSource9.ts, 144, 26)) >symbol : Symbol(symbol, Decl(parserRealSource9.ts, 144, 45)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) if (!symbol.bound) { >symbol : Symbol(symbol, Decl(parserRealSource9.ts, 144, 45)) diff --git a/tests/baselines/reference/parserRegularExpression4.symbols b/tests/baselines/reference/parserRegularExpression4.symbols index 891da8446fd..2fe38cb1b07 100644 --- a/tests/baselines/reference/parserRegularExpression4.symbols +++ b/tests/baselines/reference/parserRegularExpression4.symbols @@ -1,12 +1,12 @@ === tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpression4.ts === if (Ca.test(c.href) || Ba.test(c.href) && /(\\?|&)adurl=/.test(c.href) && !/(\\?|&)q=/.test(c.href)) / (\\ ? | & ) rct = j / .test(c.href) || (d += "&rct=j"), /(\\?|&)q=/.test(c.href) || (d += "&q=" + encodeURIComponent(W("q") || W("as_q") || A), d = d.substring(0, 1948 - c.href.length)), b = !0; ->/(\\?|&)adurl=/.test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) ->test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) ->/(\\?|&)q=/.test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) ->test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) ->/ (\\ ? | & ) rct = j / .test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) ->test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) ->/(\\?|&)q=/.test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) ->test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) ->encodeURIComponent : Symbol(encodeURIComponent, Decl(lib.d.ts, --, --)) +>/(\\?|&)adurl=/.test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) +>test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) +>/(\\?|&)q=/.test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) +>test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) +>/ (\\ ? | & ) rct = j / .test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) +>test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) +>/(\\?|&)q=/.test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) +>test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) +>encodeURIComponent : Symbol(encodeURIComponent, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/parserRegularExpression5.symbols b/tests/baselines/reference/parserRegularExpression5.symbols index 7a27bb83844..a00296e6ca5 100644 --- a/tests/baselines/reference/parserRegularExpression5.symbols +++ b/tests/baselines/reference/parserRegularExpression5.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpression5.ts === if (a) / (\\ ? | & ) rct = j / .test(c.href); ->/ (\\ ? | & ) rct = j / .test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) ->test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) +>/ (\\ ? | & ) rct = j / .test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) +>test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity5.symbols b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity5.symbols index a5531dcfb16..4dccba6a34e 100644 --- a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity5.symbols +++ b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity5.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpressionDivideAmbiguity5.ts === model.rotate(0, rotateY * Math.PI / 180, rotateZ * Math.PI / 180); ->Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) ->Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) +>Math.PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) +>Math.PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/parserS7.2_A1.5_T2.symbols b/tests/baselines/reference/parserS7.2_A1.5_T2.symbols index 563bd6c6534..92ad52899f4 100644 --- a/tests/baselines/reference/parserS7.2_A1.5_T2.symbols +++ b/tests/baselines/reference/parserS7.2_A1.5_T2.symbols @@ -11,7 +11,7 @@ //CHECK#1 eval("\u00A0var x\u00A0= 1\u00A0"); ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) if (x !== 1) { >x : Symbol(x, Decl(parserS7.2_A1.5_T2.ts, 17, 4)) diff --git a/tests/baselines/reference/parserStrictMode3-negative.symbols b/tests/baselines/reference/parserStrictMode3-negative.symbols index 4bb17186dc9..0035b4fa691 100644 --- a/tests/baselines/reference/parserStrictMode3-negative.symbols +++ b/tests/baselines/reference/parserStrictMode3-negative.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode3-negative.ts === eval = 1; ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/parserStrictMode3.symbols b/tests/baselines/reference/parserStrictMode3.symbols index 09d569abc16..e90dab53acc 100644 --- a/tests/baselines/reference/parserStrictMode3.symbols +++ b/tests/baselines/reference/parserStrictMode3.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode3.ts === "use strict"; eval = 1; ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/parserStrictMode5.symbols b/tests/baselines/reference/parserStrictMode5.symbols index 33ece369322..e1bf3e62091 100644 --- a/tests/baselines/reference/parserStrictMode5.symbols +++ b/tests/baselines/reference/parserStrictMode5.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode5.ts === "use strict"; eval += 1; ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/parserStrictMode6-negative.symbols b/tests/baselines/reference/parserStrictMode6-negative.symbols index 68b9198d868..83ea7e77367 100644 --- a/tests/baselines/reference/parserStrictMode6-negative.symbols +++ b/tests/baselines/reference/parserStrictMode6-negative.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode6-negative.ts === eval++; ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/parserStrictMode6.symbols b/tests/baselines/reference/parserStrictMode6.symbols index 5d201bb9dd5..de405bec4e9 100644 --- a/tests/baselines/reference/parserStrictMode6.symbols +++ b/tests/baselines/reference/parserStrictMode6.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode6.ts === "use strict"; eval++; ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/parserStrictMode7.symbols b/tests/baselines/reference/parserStrictMode7.symbols index 9b92da321cc..86801baf001 100644 --- a/tests/baselines/reference/parserStrictMode7.symbols +++ b/tests/baselines/reference/parserStrictMode7.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode7.ts === "use strict"; ++eval; ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/parserStrictMode8.symbols b/tests/baselines/reference/parserStrictMode8.symbols index 076bf5daa1a..4d6d7dc6d6b 100644 --- a/tests/baselines/reference/parserStrictMode8.symbols +++ b/tests/baselines/reference/parserStrictMode8.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode8.ts === "use strict"; function eval() { ->eval : Symbol(eval, Decl(lib.d.ts, --, --), Decl(parserStrictMode8.ts, 0, 13)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --), Decl(parserStrictMode8.ts, 0, 13)) } diff --git a/tests/baselines/reference/parserSymbolProperty1.symbols b/tests/baselines/reference/parserSymbolProperty1.symbols index 07d7149b1f5..7e26048e15e 100644 --- a/tests/baselines/reference/parserSymbolProperty1.symbols +++ b/tests/baselines/reference/parserSymbolProperty1.symbols @@ -4,7 +4,7 @@ interface I { [Symbol.iterator]: string; >[Symbol.iterator] : Symbol(I[Symbol.iterator], Decl(parserSymbolProperty1.ts, 0, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) } diff --git a/tests/baselines/reference/parserSymbolProperty2.symbols b/tests/baselines/reference/parserSymbolProperty2.symbols index 0fa0e39ce15..a5bde9af35f 100644 --- a/tests/baselines/reference/parserSymbolProperty2.symbols +++ b/tests/baselines/reference/parserSymbolProperty2.symbols @@ -4,7 +4,7 @@ interface I { [Symbol.unscopables](): string; >[Symbol.unscopables] : Symbol(I[Symbol.unscopables], Decl(parserSymbolProperty2.ts, 0, 13)) ->Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) +>Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/parserSymbolProperty3.symbols b/tests/baselines/reference/parserSymbolProperty3.symbols index 2bd4cc1b8ff..e2c67419dda 100644 --- a/tests/baselines/reference/parserSymbolProperty3.symbols +++ b/tests/baselines/reference/parserSymbolProperty3.symbols @@ -4,7 +4,7 @@ declare class C { [Symbol.unscopables](): string; >[Symbol.unscopables] : Symbol(C[Symbol.unscopables], Decl(parserSymbolProperty3.ts, 0, 17)) ->Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) +>Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/parserSymbolProperty4.symbols b/tests/baselines/reference/parserSymbolProperty4.symbols index d7ed808e5b3..b02365b6c30 100644 --- a/tests/baselines/reference/parserSymbolProperty4.symbols +++ b/tests/baselines/reference/parserSymbolProperty4.symbols @@ -4,7 +4,7 @@ declare class C { [Symbol.toPrimitive]: string; >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(parserSymbolProperty4.ts, 0, 17)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/parserSymbolProperty5.symbols b/tests/baselines/reference/parserSymbolProperty5.symbols index 739cb77bc90..9214e94600e 100644 --- a/tests/baselines/reference/parserSymbolProperty5.symbols +++ b/tests/baselines/reference/parserSymbolProperty5.symbols @@ -4,7 +4,7 @@ class C { [Symbol.toPrimitive]: string; >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(parserSymbolProperty5.ts, 0, 9)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/parserSymbolProperty6.symbols b/tests/baselines/reference/parserSymbolProperty6.symbols index 3596667c847..958b0a4c3aa 100644 --- a/tests/baselines/reference/parserSymbolProperty6.symbols +++ b/tests/baselines/reference/parserSymbolProperty6.symbols @@ -4,7 +4,7 @@ class C { [Symbol.toStringTag]: string = ""; >[Symbol.toStringTag] : Symbol(C[Symbol.toStringTag], Decl(parserSymbolProperty6.ts, 0, 9)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/parserSymbolProperty7.symbols b/tests/baselines/reference/parserSymbolProperty7.symbols index 34c9ece0098..f1a778e906d 100644 --- a/tests/baselines/reference/parserSymbolProperty7.symbols +++ b/tests/baselines/reference/parserSymbolProperty7.symbols @@ -4,7 +4,7 @@ class C { [Symbol.toStringTag](): void { } >[Symbol.toStringTag] : Symbol(C[Symbol.toStringTag], Decl(parserSymbolProperty7.ts, 0, 9)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/parserSymbolProperty8.symbols b/tests/baselines/reference/parserSymbolProperty8.symbols index 218e952620b..baeec4dd398 100644 --- a/tests/baselines/reference/parserSymbolProperty8.symbols +++ b/tests/baselines/reference/parserSymbolProperty8.symbols @@ -4,7 +4,7 @@ var x: { [Symbol.toPrimitive](): string >[Symbol.toPrimitive] : Symbol([Symbol.toPrimitive], Decl(parserSymbolProperty8.ts, 0, 8)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/parserSymbolProperty9.symbols b/tests/baselines/reference/parserSymbolProperty9.symbols index 98d79da1c07..d3536750b8a 100644 --- a/tests/baselines/reference/parserSymbolProperty9.symbols +++ b/tests/baselines/reference/parserSymbolProperty9.symbols @@ -4,7 +4,7 @@ var x: { [Symbol.toPrimitive]: string >[Symbol.toPrimitive] : Symbol([Symbol.toPrimitive], Decl(parserSymbolProperty9.ts, 0, 8)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/parserUsingConstructorAsIdentifier.symbols b/tests/baselines/reference/parserUsingConstructorAsIdentifier.symbols index 8626f40e482..543e5d8ab23 100644 --- a/tests/baselines/reference/parserUsingConstructorAsIdentifier.symbols +++ b/tests/baselines/reference/parserUsingConstructorAsIdentifier.symbols @@ -50,18 +50,18 @@ constructor.prototype = Object.create(basePrototype); >constructor : Symbol(constructor, Decl(parserUsingConstructorAsIdentifier.ts, 12, 34)) ->Object.create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->create : Symbol(ObjectConstructor.create, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object.create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>create : Symbol(ObjectConstructor.create, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >basePrototype : Symbol(basePrototype, Decl(parserUsingConstructorAsIdentifier.ts, 15, 19)) PluginUtilities.Utilities.markSupportedForProcessing(constructor); >constructor : Symbol(constructor, Decl(parserUsingConstructorAsIdentifier.ts, 12, 34)) Object.defineProperty(constructor.prototype, "constructor", { value: constructor, writable: true, configurable: true, enumerable: true }); ->Object.defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.d.ts, --, --)) +>Object.defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.es5.d.ts, --, --)) >constructor : Symbol(constructor, Decl(parserUsingConstructorAsIdentifier.ts, 12, 34)) >value : Symbol(value, Decl(parserUsingConstructorAsIdentifier.ts, 18, 77)) >constructor : Symbol(constructor, Decl(parserUsingConstructorAsIdentifier.ts, 12, 34)) @@ -110,9 +110,9 @@ for (i = 1, len = arguments.length; i < len; i++) { >i : Symbol(i, Decl(parserUsingConstructorAsIdentifier.ts, 33, 15)) >len : Symbol(len, Decl(parserUsingConstructorAsIdentifier.ts, 33, 18)) ->arguments.length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>arguments.length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >arguments : Symbol(arguments) ->length : Symbol(IArguments.length, Decl(lib.d.ts, --, --)) +>length : Symbol(IArguments.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(parserUsingConstructorAsIdentifier.ts, 33, 15)) >len : Symbol(len, Decl(parserUsingConstructorAsIdentifier.ts, 33, 18)) >i : Symbol(i, Decl(parserUsingConstructorAsIdentifier.ts, 33, 15)) diff --git a/tests/baselines/reference/parserindenter.symbols b/tests/baselines/reference/parserindenter.symbols index 80eb51e098b..6ee7bcc8309 100644 --- a/tests/baselines/reference/parserindenter.symbols +++ b/tests/baselines/reference/parserindenter.symbols @@ -424,9 +424,9 @@ module Formatting { var tokenStartPosition = lineStartPosition + lineIndent.length; >tokenStartPosition : Symbol(tokenStartPosition, Decl(parserindenter.ts, 169, 27)) >lineStartPosition : Symbol(lineStartPosition, Decl(parserindenter.ts, 164, 23)) ->lineIndent.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>lineIndent.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >lineIndent : Symbol(lineIndent, Decl(parserindenter.ts, 165, 23)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) var commentIndentationEdit = this.GetIndentEdit(commentIndentationInfo, tokenStartPosition, false); >commentIndentationEdit : Symbol(commentIndentationEdit, Decl(parserindenter.ts, 170, 27)) @@ -473,16 +473,16 @@ module Formatting { for (var i = 0; i < text.length; i++) { >i : Symbol(i, Decl(parserindenter.ts, 188, 20)) >i : Symbol(i, Decl(parserindenter.ts, 188, 20)) ->text.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>text.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(parserindenter.ts, 185, 37)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(parserindenter.ts, 188, 20)) var c = text.charAt(i); >c : Symbol(c, Decl(parserindenter.ts, 189, 19)) ->text.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>text.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >text : Symbol(text, Decl(parserindenter.ts, 185, 37)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(parserindenter.ts, 188, 20)) if (c == '\t') diff --git a/tests/baselines/reference/partiallyDiscriminantedUnions.symbols b/tests/baselines/reference/partiallyDiscriminantedUnions.symbols index 01d6143b9b2..c8096894943 100644 --- a/tests/baselines/reference/partiallyDiscriminantedUnions.symbols +++ b/tests/baselines/reference/partiallyDiscriminantedUnions.symbols @@ -77,7 +77,7 @@ type Shape = Circle | Square; type Shapes = Shape | Array; >Shapes : Symbol(Shapes, Decl(partiallyDiscriminantedUnions.ts, 32, 29)) >Shape : Symbol(Shape, Decl(partiallyDiscriminantedUnions.ts, 30, 32)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Shape : Symbol(Shape, Decl(partiallyDiscriminantedUnions.ts, 30, 32)) function isShape(s : Shapes): s is Shape { @@ -88,9 +88,9 @@ function isShape(s : Shapes): s is Shape { >Shape : Symbol(Shape, Decl(partiallyDiscriminantedUnions.ts, 30, 32)) return !Array.isArray(s); ->Array.isArray : Symbol(ArrayConstructor.isArray, Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->isArray : Symbol(ArrayConstructor.isArray, Decl(lib.d.ts, --, --)) +>Array.isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(partiallyDiscriminantedUnions.ts, 35, 17)) } diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.symbols b/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.symbols index 41e36accb1c..d07bae7f93a 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.symbols +++ b/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.symbols @@ -10,9 +10,9 @@ declare function use(a: any): void; use(x.toExponential()); >use : Symbol(use, Decl(file1.ts, 2, 31)) ->x.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(file1.ts, 2, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) === c:/root/folder2/file2.ts === import {x as a} from "./file3" // found with baseurl diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.symbols b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.symbols index de7155bef85..503163cf8ad 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.symbols +++ b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.symbols @@ -10,9 +10,9 @@ declare function use(a: any): void; use(x.toExponential()); >use : Symbol(use, Decl(file1.ts, 2, 31)) ->x.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(file1.ts, 2, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) === c:/root/folder2/file2.ts === import {x as a} from "./file3" // found with baseurl diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.symbols b/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.symbols index 7c1943dae46..b1853b5c4e1 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.symbols +++ b/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.symbols @@ -8,9 +8,9 @@ declare function use(a: any): void; use(x.toExponential()); >use : Symbol(use, Decl(file1.ts, 0, 31)) ->x.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(file1.ts, 0, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) === c:/root/folder2/file2.ts === import {x as a} from "./file3" // found with baseurl diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution4_node.symbols b/tests/baselines/reference/pathMappingBasedModuleResolution4_node.symbols index fb1c5be9de6..31b294d1e04 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution4_node.symbols +++ b/tests/baselines/reference/pathMappingBasedModuleResolution4_node.symbols @@ -8,9 +8,9 @@ declare function use(a: any): void; use(x.toExponential()); >use : Symbol(use, Decl(file1.ts, 0, 31)) ->x.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(file1.ts, 0, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) === c:/root/folder2/file2.ts === import {x as a} from "./file3" // found with baseurl diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.symbols b/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.symbols index 057b5a622a1..41eecc1fc0b 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.symbols +++ b/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.symbols @@ -17,27 +17,27 @@ declare function use(a: any): void; use(x.toExponential()); >use : Symbol(use, Decl(file1.ts, 3, 24)) ->x.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(file1.ts, 0, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) use(y.toExponential()); >use : Symbol(use, Decl(file1.ts, 3, 24)) ->y.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>y.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(file1.ts, 1, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) use(z.toExponential()); >use : Symbol(use, Decl(file1.ts, 3, 24)) ->z.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>z.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >z : Symbol(z, Decl(file1.ts, 2, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) use(z1.toExponential()); >use : Symbol(use, Decl(file1.ts, 3, 24)) ->z1.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>z1.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >z1 : Symbol(z1, Decl(file1.ts, 3, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) === c:/root/folder2/file1.ts === export var x = 1; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.symbols b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.symbols index 67bf14607dd..4baefdba819 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.symbols +++ b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.symbols @@ -17,27 +17,27 @@ declare function use(a: any): void; use(x.toExponential()); >use : Symbol(use, Decl(file1.ts, 3, 24)) ->x.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(file1.ts, 0, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) use(y.toExponential()); >use : Symbol(use, Decl(file1.ts, 3, 24)) ->y.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>y.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(file1.ts, 1, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) use(z.toExponential()); >use : Symbol(use, Decl(file1.ts, 3, 24)) ->z.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>z.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >z : Symbol(z, Decl(file1.ts, 2, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) use(z1.toExponential()); >use : Symbol(use, Decl(file1.ts, 3, 24)) ->z1.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>z1.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >z1 : Symbol(z1, Decl(file1.ts, 3, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) === c:/root/folder2/file1.ts === export var x = 1; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution6_classic.symbols b/tests/baselines/reference/pathMappingBasedModuleResolution6_classic.symbols index a451ffb2584..6b2fe9762d7 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution6_classic.symbols +++ b/tests/baselines/reference/pathMappingBasedModuleResolution6_classic.symbols @@ -8,9 +8,9 @@ declare function use(x: string); use(x.toExponential()); >use : Symbol(use, Decl(file1.ts, 0, 34)) ->x.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>x.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(file1.ts, 0, 8)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) === c:/root/src/file2.d.ts === export let x: number; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution6_node.symbols b/tests/baselines/reference/pathMappingBasedModuleResolution6_node.symbols index 06554bae039..5f01f1436de 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution6_node.symbols +++ b/tests/baselines/reference/pathMappingBasedModuleResolution6_node.symbols @@ -8,9 +8,9 @@ declare function use(x: string); use(x.toFixed()); >use : Symbol(use, Decl(file1.ts, 0, 34)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(file1.ts, 0, 8)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) === c:/root/src/file2/index.d.ts === export let x: number; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution7_classic.symbols b/tests/baselines/reference/pathMappingBasedModuleResolution7_classic.symbols index b1e4751c495..9314c6eecc8 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution7_classic.symbols +++ b/tests/baselines/reference/pathMappingBasedModuleResolution7_classic.symbols @@ -11,15 +11,15 @@ declare function use(x: string); use(x.toFixed()); >use : Symbol(use, Decl(file1.ts, 1, 26)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(file1.ts, 0, 8)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) use(y.toFixed()); >use : Symbol(use, Decl(file1.ts, 1, 26)) ->y.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>y.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(file1.ts, 1, 8)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) === c:/root/generated/src/project/file2.ts === import {a} from "module1"; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.symbols b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.symbols index 9cda76790ea..3ea7ab3517f 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.symbols +++ b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.symbols @@ -11,15 +11,15 @@ declare function use(x: string); use(x.toFixed()); >use : Symbol(use, Decl(file1.ts, 1, 26)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(file1.ts, 0, 8)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) use(y.toFixed()); >use : Symbol(use, Decl(file1.ts, 1, 26)) ->y.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>y.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(file1.ts, 1, 8)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) === c:/root/generated/src/project/file2.ts === import {a} from "module1"; diff --git a/tests/baselines/reference/plusOperatorWithStringType.symbols b/tests/baselines/reference/plusOperatorWithStringType.symbols index eb2e2625a1c..86535bae1c2 100644 --- a/tests/baselines/reference/plusOperatorWithStringType.symbols +++ b/tests/baselines/reference/plusOperatorWithStringType.symbols @@ -88,9 +88,9 @@ var ResultIsNumber11 = +(STRING + STRING); var ResultIsNumber12 = +STRING.charAt(0); >ResultIsNumber12 : Symbol(ResultIsNumber12, Decl(plusOperatorWithStringType.ts, 32, 3)) ->STRING.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(plusOperatorWithStringType.ts, 1, 3)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) // miss assignment operators +""; diff --git a/tests/baselines/reference/primitiveMembers.symbols b/tests/baselines/reference/primitiveMembers.symbols index a32b3d8f51e..8e85ae91a7e 100644 --- a/tests/baselines/reference/primitiveMembers.symbols +++ b/tests/baselines/reference/primitiveMembers.symbols @@ -6,24 +6,24 @@ var r = /yo/; >r : Symbol(r, Decl(primitiveMembers.ts, 1, 3)) r.source; ->r.source : Symbol(RegExp.source, Decl(lib.d.ts, --, --)) +>r.source : Symbol(RegExp.source, Decl(lib.es5.d.ts, --, --)) >r : Symbol(r, Decl(primitiveMembers.ts, 1, 3)) ->source : Symbol(RegExp.source, Decl(lib.d.ts, --, --)) +>source : Symbol(RegExp.source, Decl(lib.es5.d.ts, --, --)) x.toBAZ(); >x : Symbol(x, Decl(primitiveMembers.ts, 0, 3)) x.toString(); ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(primitiveMembers.ts, 0, 3)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) var n = 0; >n : Symbol(n, Decl(primitiveMembers.ts, 7, 3)) var N: Number; >N : Symbol(N, Decl(primitiveMembers.ts, 8, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) n = N; // should not work, as 'number' has a different brand >n : Symbol(n, Decl(primitiveMembers.ts, 7, 3)) @@ -35,31 +35,31 @@ N = n; // should work var o: Object = {} >o : Symbol(o, Decl(primitiveMembers.ts, 13, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var f: Function = (x: string) => x.length; >f : Symbol(f, Decl(primitiveMembers.ts, 14, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(primitiveMembers.ts, 14, 19)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(primitiveMembers.ts, 14, 19)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) var r2: RegExp = /./g; >r2 : Symbol(r2, Decl(primitiveMembers.ts, 15, 3)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var n2: Number = 34; >n2 : Symbol(n2, Decl(primitiveMembers.ts, 16, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var s: String = "yo"; >s : Symbol(s, Decl(primitiveMembers.ts, 17, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var b: Boolean = true; >b : Symbol(b, Decl(primitiveMembers.ts, 18, 3)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var n3 = 5 || {}; >n3 : Symbol(n3, Decl(primitiveMembers.ts, 20, 3)) diff --git a/tests/baselines/reference/promiseChaining.symbols b/tests/baselines/reference/promiseChaining.symbols index 73f0eafd5b4..13e9232acdc 100644 --- a/tests/baselines/reference/promiseChaining.symbols +++ b/tests/baselines/reference/promiseChaining.symbols @@ -38,9 +38,9 @@ class Chain { >x : Symbol(x, Decl(promiseChaining.ts, 5, 49)) >then : Symbol(Chain.then, Decl(promiseChaining.ts, 1, 36)) >x : Symbol(x, Decl(promiseChaining.ts, 5, 76)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseChaining.ts, 5, 76)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) return new Chain(result); >Chain : Symbol(Chain, Decl(promiseChaining.ts, 0, 0)) diff --git a/tests/baselines/reference/promiseChaining1.symbols b/tests/baselines/reference/promiseChaining1.symbols index eab17f90d6a..17213839f0a 100644 --- a/tests/baselines/reference/promiseChaining1.symbols +++ b/tests/baselines/reference/promiseChaining1.symbols @@ -12,7 +12,7 @@ class Chain2 { then(cb: (x: T) => S): Chain2 { >then : Symbol(Chain2.then, Decl(promiseChaining1.ts, 2, 36)) >S : Symbol(S, Decl(promiseChaining1.ts, 3, 9)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >cb : Symbol(cb, Decl(promiseChaining1.ts, 3, 29)) >x : Symbol(x, Decl(promiseChaining1.ts, 3, 34)) >T : Symbol(T, Decl(promiseChaining1.ts, 1, 13)) diff --git a/tests/baselines/reference/promiseChaining2.symbols b/tests/baselines/reference/promiseChaining2.symbols index 46d3dbf01eb..ae1f85581e2 100644 --- a/tests/baselines/reference/promiseChaining2.symbols +++ b/tests/baselines/reference/promiseChaining2.symbols @@ -12,7 +12,7 @@ class Chain2 { then(cb: (x: T) => S): Chain2 { >then : Symbol(Chain2.then, Decl(promiseChaining2.ts, 2, 36)) >S : Symbol(S, Decl(promiseChaining2.ts, 3, 9)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >cb : Symbol(cb, Decl(promiseChaining2.ts, 3, 29)) >x : Symbol(x, Decl(promiseChaining2.ts, 3, 34)) >T : Symbol(T, Decl(promiseChaining2.ts, 1, 13)) diff --git a/tests/baselines/reference/promiseDefinitionTest.symbols b/tests/baselines/reference/promiseDefinitionTest.symbols index cd9fcd6c4dd..9b1d3844980 100644 --- a/tests/baselines/reference/promiseDefinitionTest.symbols +++ b/tests/baselines/reference/promiseDefinitionTest.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/promiseDefinitionTest.ts === class Promise {} ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promiseDefinitionTest.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promiseDefinitionTest.ts, 0, 14)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promiseDefinitionTest.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promiseDefinitionTest.ts, 0, 14)) async function foo() {} >foo : Symbol(foo, Decl(promiseDefinitionTest.ts, 0, 19)) diff --git a/tests/baselines/reference/promiseEmptyTupleNoException.symbols b/tests/baselines/reference/promiseEmptyTupleNoException.symbols index 3f84c482d4f..f8484e88407 100644 --- a/tests/baselines/reference/promiseEmptyTupleNoException.symbols +++ b/tests/baselines/reference/promiseEmptyTupleNoException.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/promiseEmptyTupleNoException.ts === export async function get(): Promise<[]> { >get : Symbol(get, Decl(promiseEmptyTupleNoException.ts, 0, 0)) ->Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let emails = []; >emails : Symbol(emails, Decl(promiseEmptyTupleNoException.ts, 1, 5)) diff --git a/tests/baselines/reference/promisePermutations.symbols b/tests/baselines/reference/promisePermutations.symbols index 23d1c8ac7fb..0260fcadfbc 100644 --- a/tests/baselines/reference/promisePermutations.symbols +++ b/tests/baselines/reference/promisePermutations.symbols @@ -1,70 +1,70 @@ === tests/cases/compiler/promisePermutations.ts === interface Promise { ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 18)) then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >U : Symbol(U, Decl(promisePermutations.ts, 1, 9)) >success : Symbol(success, Decl(promisePermutations.ts, 1, 12)) >value : Symbol(value, Decl(promisePermutations.ts, 1, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 18)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations.ts, 1, 9)) >error : Symbol(error, Decl(promisePermutations.ts, 1, 47)) >error : Symbol(error, Decl(promisePermutations.ts, 1, 57)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations.ts, 1, 9)) >progress : Symbol(progress, Decl(promisePermutations.ts, 1, 83)) >progress : Symbol(progress, Decl(promisePermutations.ts, 1, 96)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations.ts, 1, 9)) then(success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >U : Symbol(U, Decl(promisePermutations.ts, 2, 9)) >success : Symbol(success, Decl(promisePermutations.ts, 2, 12)) >value : Symbol(value, Decl(promisePermutations.ts, 2, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 18)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations.ts, 2, 9)) >error : Symbol(error, Decl(promisePermutations.ts, 2, 47)) >error : Symbol(error, Decl(promisePermutations.ts, 2, 57)) >U : Symbol(U, Decl(promisePermutations.ts, 2, 9)) >progress : Symbol(progress, Decl(promisePermutations.ts, 2, 74)) >progress : Symbol(progress, Decl(promisePermutations.ts, 2, 87)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations.ts, 2, 9)) then(success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >U : Symbol(U, Decl(promisePermutations.ts, 3, 9)) >success : Symbol(success, Decl(promisePermutations.ts, 3, 12)) >value : Symbol(value, Decl(promisePermutations.ts, 3, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 18)) >U : Symbol(U, Decl(promisePermutations.ts, 3, 9)) >error : Symbol(error, Decl(promisePermutations.ts, 3, 38)) >error : Symbol(error, Decl(promisePermutations.ts, 3, 48)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations.ts, 3, 9)) >progress : Symbol(progress, Decl(promisePermutations.ts, 3, 74)) >progress : Symbol(progress, Decl(promisePermutations.ts, 3, 87)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations.ts, 3, 9)) then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >U : Symbol(U, Decl(promisePermutations.ts, 4, 9)) >success : Symbol(success, Decl(promisePermutations.ts, 4, 12)) >value : Symbol(value, Decl(promisePermutations.ts, 4, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 18)) >U : Symbol(U, Decl(promisePermutations.ts, 4, 9)) >error : Symbol(error, Decl(promisePermutations.ts, 4, 38)) >error : Symbol(error, Decl(promisePermutations.ts, 4, 48)) >U : Symbol(U, Decl(promisePermutations.ts, 4, 9)) >progress : Symbol(progress, Decl(promisePermutations.ts, 4, 65)) >progress : Symbol(progress, Decl(promisePermutations.ts, 4, 78)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations.ts, 4, 9)) done(success?: (value: T) => any, error?: (error: any) => any, progress?: (progress: any) => void): void; @@ -72,7 +72,7 @@ interface Promise { >U : Symbol(U, Decl(promisePermutations.ts, 5, 9)) >success : Symbol(success, Decl(promisePermutations.ts, 5, 12)) >value : Symbol(value, Decl(promisePermutations.ts, 5, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 18)) >error : Symbol(error, Decl(promisePermutations.ts, 5, 40)) >error : Symbol(error, Decl(promisePermutations.ts, 5, 50)) >progress : Symbol(progress, Decl(promisePermutations.ts, 5, 69)) @@ -165,7 +165,7 @@ declare function testFunction(): IPromise; declare function testFunctionP(): Promise; >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) declare function testFunction2(): IPromise<{ x: number }>; >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) @@ -174,7 +174,7 @@ declare function testFunction2(): IPromise<{ x: number }>; declare function testFunction2P(): Promise<{ x: number }>; >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations.ts, 18, 58)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >x : Symbol(x, Decl(promisePermutations.ts, 19, 44)) declare function testFunction3(x: number): IPromise; @@ -185,7 +185,7 @@ declare function testFunction3(x: number): IPromise; declare function testFunction3P(x: number): Promise; >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations.ts, 20, 60)) >x : Symbol(x, Decl(promisePermutations.ts, 21, 32)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) declare function testFunction4(x: number, y?: string): IPromise; >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) @@ -197,7 +197,7 @@ declare function testFunction4P(x: number, y?: string): Promise; >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations.ts, 22, 72)) >x : Symbol(x, Decl(promisePermutations.ts, 23, 32)) >y : Symbol(y, Decl(promisePermutations.ts, 23, 42)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) declare function testFunction5(x: number, cb: (a: string) => string): IPromise; >testFunction5 : Symbol(testFunction5, Decl(promisePermutations.ts, 23, 72)) @@ -211,7 +211,7 @@ declare function testFunction5P(x: number, cb: (a: string) => string): Promisex : Symbol(x, Decl(promisePermutations.ts, 25, 32)) >cb : Symbol(cb, Decl(promisePermutations.ts, 25, 42)) >a : Symbol(a, Decl(promisePermutations.ts, 25, 48)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) declare function testFunction6(x: number, cb: (a: T) => T): IPromise; >testFunction6 : Symbol(testFunction6, Decl(promisePermutations.ts, 25, 87)) @@ -231,7 +231,7 @@ declare function testFunction6P(x: number, cb: (a: T) => T): Promise; >a : Symbol(a, Decl(promisePermutations.ts, 27, 51)) >T : Symbol(T, Decl(promisePermutations.ts, 27, 48)) >T : Symbol(T, Decl(promisePermutations.ts, 27, 48)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) declare function testFunction7(cb: (a: T) => T): IPromise; >testFunction7 : Symbol(testFunction7, Decl(promisePermutations.ts, 27, 80)) @@ -249,7 +249,7 @@ declare function testFunction7P(cb: (a: T) => T): Promise; >a : Symbol(a, Decl(promisePermutations.ts, 29, 40)) >T : Symbol(T, Decl(promisePermutations.ts, 29, 37)) >T : Symbol(T, Decl(promisePermutations.ts, 29, 37)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) declare function testFunction8(x: T, cb: (a: T) => T): IPromise; >testFunction8 : Symbol(testFunction8, Decl(promisePermutations.ts, 29, 69)) @@ -272,7 +272,7 @@ declare function testFunction8P(x: T, cb: (a: T) => T): Promise; >a : Symbol(a, Decl(promisePermutations.ts, 31, 46)) >T : Symbol(T, Decl(promisePermutations.ts, 31, 32)) >T : Symbol(T, Decl(promisePermutations.ts, 31, 32)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations.ts, 31, 32)) declare function testFunction9(x: T, cb: (a: U) => U): IPromise; @@ -298,7 +298,7 @@ declare function testFunction9P(x: T, cb: (a: U) => U): Promise; >a : Symbol(a, Decl(promisePermutations.ts, 33, 49)) >U : Symbol(U, Decl(promisePermutations.ts, 33, 46)) >U : Symbol(U, Decl(promisePermutations.ts, 33, 46)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations.ts, 33, 32)) declare function testFunction10(cb: (a: U) => U): IPromise; @@ -320,7 +320,7 @@ declare function testFunction10P(cb: (a: U) => U): Promise; >a : Symbol(a, Decl(promisePermutations.ts, 35, 44)) >U : Symbol(U, Decl(promisePermutations.ts, 35, 41)) >U : Symbol(U, Decl(promisePermutations.ts, 35, 41)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations.ts, 35, 33)) declare function testFunction11(x: number): IPromise; @@ -336,12 +336,12 @@ declare function testFunction11(x: string): IPromise; declare function testFunction11P(x: number): Promise; >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations.ts, 38, 61), Decl(promisePermutations.ts, 39, 61)) >x : Symbol(x, Decl(promisePermutations.ts, 39, 33)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) declare function testFunction11P(x: string): Promise; >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations.ts, 38, 61), Decl(promisePermutations.ts, 39, 61)) >x : Symbol(x, Decl(promisePermutations.ts, 40, 33)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) declare function testFunction12(x: T): IPromise; >testFunction12 : Symbol(testFunction12, Decl(promisePermutations.ts, 40, 61), Decl(promisePermutations.ts, 42, 54)) @@ -376,7 +376,7 @@ declare function testFunction12P(x: T, y: T): Promise; >T : Symbol(T, Decl(promisePermutations.ts, 45, 33)) >y : Symbol(y, Decl(promisePermutations.ts, 45, 41)) >T : Symbol(T, Decl(promisePermutations.ts, 45, 33)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations.ts, 45, 33)) var r1: IPromise; @@ -417,45 +417,45 @@ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); var s1: Promise; >s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s1a = s1.then(testFunction, testFunction, testFunction); >s1a : Symbol(s1a, Decl(promisePermutations.ts, 52, 3)) ->s1.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Symbol(s1b, Decl(promisePermutations.ts, 53, 3)) ->s1.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Symbol(s1c, Decl(promisePermutations.ts, 54, 3)) ->s1.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Symbol(s1d, Decl(promisePermutations.ts, 55, 3)) ->s1.then(testFunctionP, testFunction, testFunction).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s1.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s1.then(testFunctionP, testFunction, testFunction).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s1 : Symbol(s1, Decl(promisePermutations.ts, 51, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) @@ -490,46 +490,46 @@ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction var s2: Promise<{ x: number; }>; >s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) >x : Symbol(x, Decl(promisePermutations.ts, 60, 17)) var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Symbol(s2a, Decl(promisePermutations.ts, 61, 3)) ->s2.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Symbol(s2b, Decl(promisePermutations.ts, 62, 3)) ->s2.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations.ts, 18, 58)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations.ts, 18, 58)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations.ts, 18, 58)) var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Symbol(s2c, Decl(promisePermutations.ts, 63, 3)) ->s2.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations.ts, 18, 58)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Symbol(s2d, Decl(promisePermutations.ts, 64, 3)) ->s2.then(testFunction2P, testFunction2, testFunction2).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s2.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s2.then(testFunction2P, testFunction2, testFunction2).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s2 : Symbol(s2, Decl(promisePermutations.ts, 60, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations.ts, 18, 58)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations.ts, 17, 50)) @@ -563,45 +563,45 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction var s3: Promise; >s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3a : Symbol(s3a, Decl(promisePermutations.ts, 70, 3)) ->s3.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Symbol(s3b, Decl(promisePermutations.ts, 71, 3)) ->s3.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations.ts, 20, 60)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations.ts, 20, 60)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations.ts, 20, 60)) var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Symbol(s3c, Decl(promisePermutations.ts, 72, 3)) ->s3.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations.ts, 20, 60)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // error >s3d : Symbol(s3d, Decl(promisePermutations.ts, 73, 3)) ->s3.then(testFunction3P, testFunction3, testFunction3).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s3.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s3.then(testFunction3P, testFunction3, testFunction3).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s3 : Symbol(s3, Decl(promisePermutations.ts, 69, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations.ts, 20, 60)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations.ts, 19, 58)) @@ -618,7 +618,7 @@ var sIPromise: (x: any) => IPromise; var sPromise: (x: any) => Promise; >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) >x : Symbol(x, Decl(promisePermutations.ts, 77, 15)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error >r4a : Symbol(r4a, Decl(promisePermutations.ts, 78, 3)) @@ -645,45 +645,45 @@ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testF var s4: Promise; >s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4a : Symbol(s4a, Decl(promisePermutations.ts, 81, 3)) ->s4.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Symbol(s4b, Decl(promisePermutations.ts, 82, 3)) ->s4.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations.ts, 22, 72)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations.ts, 22, 72)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations.ts, 22, 72)) var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Symbol(s4c, Decl(promisePermutations.ts, 83, 3)) ->s4.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations.ts, 22, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Symbol(s4d, Decl(promisePermutations.ts, 84, 3)) ->s4.then(sIPromise, testFunction4P, testFunction4).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s4.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s4.then(sIPromise, testFunction4P, testFunction4).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s4 : Symbol(s4, Decl(promisePermutations.ts, 80, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations.ts, 22, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations.ts, 22, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations.ts, 21, 60)) @@ -717,45 +717,45 @@ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI var s5: Promise; >s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5a : Symbol(s5a, Decl(promisePermutations.ts, 90, 3)) ->s5.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations.ts, 23, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations.ts, 23, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations.ts, 23, 72)) var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Symbol(s5b, Decl(promisePermutations.ts, 91, 3)) ->s5.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations.ts, 24, 87)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations.ts, 24, 87)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations.ts, 24, 87)) var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Symbol(s5c, Decl(promisePermutations.ts, 92, 3)) ->s5.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations.ts, 24, 87)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations.ts, 23, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations.ts, 23, 72)) var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Symbol(s5d, Decl(promisePermutations.ts, 93, 3)) ->s5.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s5.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s5.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s5 : Symbol(s5, Decl(promisePermutations.ts, 89, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) @@ -789,45 +789,45 @@ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI var s6: Promise; >s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6a : Symbol(s6a, Decl(promisePermutations.ts, 99, 3)) ->s6.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations.ts, 25, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations.ts, 25, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations.ts, 25, 87)) var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Symbol(s6b, Decl(promisePermutations.ts, 100, 3)) ->s6.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations.ts, 26, 80)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations.ts, 26, 80)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations.ts, 26, 80)) var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Symbol(s6c, Decl(promisePermutations.ts, 101, 3)) ->s6.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations.ts, 26, 80)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations.ts, 25, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations.ts, 25, 87)) var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Symbol(s6d, Decl(promisePermutations.ts, 102, 3)) ->s6.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s6.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s6.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s6 : Symbol(s6, Decl(promisePermutations.ts, 98, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) @@ -861,7 +861,7 @@ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI var s7: Promise; >s7 : Symbol(s7, Decl(promisePermutations.ts, 107, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >s7a : Symbol(s7a, Decl(promisePermutations.ts, 108, 3)) @@ -916,7 +916,7 @@ var nIPromise: (x: any) => IPromise; var nPromise: (x: any) => Promise; >nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 3)) >x : Symbol(x, Decl(promisePermutations.ts, 115, 15)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error >r8a : Symbol(r8a, Decl(promisePermutations.ts, 116, 3)) @@ -943,45 +943,45 @@ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI var s8: Promise; >s8 : Symbol(s8, Decl(promisePermutations.ts, 118, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >s8a : Symbol(s8a, Decl(promisePermutations.ts, 119, 3)) ->s8.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s8 : Symbol(s8, Decl(promisePermutations.ts, 118, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations.ts, 29, 69)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations.ts, 29, 69)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations.ts, 29, 69)) var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : Symbol(s8b, Decl(promisePermutations.ts, 120, 3)) ->s8.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s8 : Symbol(s8, Decl(promisePermutations.ts, 118, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction8P : Symbol(testFunction8P, Decl(promisePermutations.ts, 30, 70)) >testFunction8P : Symbol(testFunction8P, Decl(promisePermutations.ts, 30, 70)) >testFunction8P : Symbol(testFunction8P, Decl(promisePermutations.ts, 30, 70)) var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : Symbol(s8c, Decl(promisePermutations.ts, 121, 3)) ->s8.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s8 : Symbol(s8, Decl(promisePermutations.ts, 118, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction8P : Symbol(testFunction8P, Decl(promisePermutations.ts, 30, 70)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations.ts, 29, 69)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations.ts, 29, 69)) var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Symbol(s8d, Decl(promisePermutations.ts, 122, 3)) ->s8.then(nIPromise, nIPromise, nIPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s8.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s8.then(nIPromise, nIPromise, nIPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s8 : Symbol(s8, Decl(promisePermutations.ts, 118, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) @@ -1042,72 +1042,72 @@ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, var s9: Promise; >s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9a : Symbol(s9a, Decl(promisePermutations.ts, 131, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations.ts, 31, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations.ts, 31, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations.ts, 31, 70)) var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Symbol(s9b, Decl(promisePermutations.ts, 132, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations.ts, 32, 73)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations.ts, 32, 73)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations.ts, 32, 73)) var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Symbol(s9c, Decl(promisePermutations.ts, 133, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations.ts, 32, 73)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations.ts, 31, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations.ts, 31, 70)) var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Symbol(s9d, Decl(promisePermutations.ts, 134, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Symbol(s9e, Decl(promisePermutations.ts, 135, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 3)) >nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 3)) >nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 3)) var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Symbol(s9f, Decl(promisePermutations.ts, 136, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Symbol(s9g, Decl(promisePermutations.ts, 137, 3)) ->s9.then(testFunction, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s9.then(testFunction, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s9 : Symbol(s9, Decl(promisePermutations.ts, 130, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations.ts, 14, 1)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) @@ -1176,68 +1176,68 @@ var s10 = testFunction10P(x => x); var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok >s10a : Symbol(s10a, Decl(promisePermutations.ts, 146, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s10 : Symbol(s10, Decl(promisePermutations.ts, 145, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations.ts, 33, 73)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations.ts, 33, 73)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations.ts, 33, 73)) var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Symbol(s10b, Decl(promisePermutations.ts, 147, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s10 : Symbol(s10, Decl(promisePermutations.ts, 145, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction10P : Symbol(testFunction10P, Decl(promisePermutations.ts, 34, 68)) >testFunction10P : Symbol(testFunction10P, Decl(promisePermutations.ts, 34, 68)) >testFunction10P : Symbol(testFunction10P, Decl(promisePermutations.ts, 34, 68)) var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Symbol(s10c, Decl(promisePermutations.ts, 148, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s10 : Symbol(s10, Decl(promisePermutations.ts, 145, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction10P : Symbol(testFunction10P, Decl(promisePermutations.ts, 34, 68)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations.ts, 33, 73)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations.ts, 33, 73)) var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Symbol(s10d, Decl(promisePermutations.ts, 149, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s10 : Symbol(s10, Decl(promisePermutations.ts, 145, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Symbol(s10e, Decl(promisePermutations.ts, 150, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s10 : Symbol(s10, Decl(promisePermutations.ts, 145, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) >nPromise : Symbol(nPromise, Decl(promisePermutations.ts, 115, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Symbol(s10f, Decl(promisePermutations.ts, 151, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s10 : Symbol(s10, Decl(promisePermutations.ts, 145, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Symbol(s10g, Decl(promisePermutations.ts, 152, 3)) ->s10.then(testFunctionP, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s10.then(testFunctionP, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s10 : Symbol(s10, Decl(promisePermutations.ts, 145, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations.ts, 16, 50)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations.ts, 114, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >sPromise : Symbol(sPromise, Decl(promisePermutations.ts, 77, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations.ts, 76, 3)) @@ -1257,31 +1257,31 @@ var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error var s11: Promise; >s11 : Symbol(s11, Decl(promisePermutations.ts, 156, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 0)) var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11a : Symbol(s11a, Decl(promisePermutations.ts, 157, 3)) ->s11.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s11 : Symbol(s11, Decl(promisePermutations.ts, 156, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations.ts, 35, 68), Decl(promisePermutations.ts, 37, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations.ts, 35, 68), Decl(promisePermutations.ts, 37, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations.ts, 35, 68), Decl(promisePermutations.ts, 37, 61)) var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11b : Symbol(s11b, Decl(promisePermutations.ts, 158, 3)) ->s11.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s11 : Symbol(s11, Decl(promisePermutations.ts, 156, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations.ts, 38, 61), Decl(promisePermutations.ts, 39, 61)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations.ts, 38, 61), Decl(promisePermutations.ts, 39, 61)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations.ts, 38, 61), Decl(promisePermutations.ts, 39, 61)) var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11c : Symbol(s11c, Decl(promisePermutations.ts, 159, 3)) ->s11.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >s11 : Symbol(s11, Decl(promisePermutations.ts, 156, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations.ts, 0, 22), Decl(promisePermutations.ts, 1, 132), Decl(promisePermutations.ts, 2, 123), Decl(promisePermutations.ts, 3, 123)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations.ts, 38, 61), Decl(promisePermutations.ts, 39, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations.ts, 35, 68), Decl(promisePermutations.ts, 37, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations.ts, 35, 68), Decl(promisePermutations.ts, 37, 61)) diff --git a/tests/baselines/reference/promisePermutations2.symbols b/tests/baselines/reference/promisePermutations2.symbols index 503eb01e830..5c0efeb0faa 100644 --- a/tests/baselines/reference/promisePermutations2.symbols +++ b/tests/baselines/reference/promisePermutations2.symbols @@ -2,22 +2,22 @@ // same as promisePermutations but without the same overloads in Promise interface Promise { ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 18)) then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >U : Symbol(U, Decl(promisePermutations2.ts, 3, 9)) >success : Symbol(success, Decl(promisePermutations2.ts, 3, 12)) >value : Symbol(value, Decl(promisePermutations2.ts, 3, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 18)) >U : Symbol(U, Decl(promisePermutations2.ts, 3, 9)) >error : Symbol(error, Decl(promisePermutations2.ts, 3, 38)) >error : Symbol(error, Decl(promisePermutations2.ts, 3, 48)) >U : Symbol(U, Decl(promisePermutations2.ts, 3, 9)) >progress : Symbol(progress, Decl(promisePermutations2.ts, 3, 65)) >progress : Symbol(progress, Decl(promisePermutations2.ts, 3, 78)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations2.ts, 3, 9)) done(success?: (value: T) => any, error?: (error: any) => any, progress?: (progress: any) => void): void; @@ -25,7 +25,7 @@ interface Promise { >U : Symbol(U, Decl(promisePermutations2.ts, 4, 9)) >success : Symbol(success, Decl(promisePermutations2.ts, 4, 12)) >value : Symbol(value, Decl(promisePermutations2.ts, 4, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 18)) >error : Symbol(error, Decl(promisePermutations2.ts, 4, 40)) >error : Symbol(error, Decl(promisePermutations2.ts, 4, 50)) >progress : Symbol(progress, Decl(promisePermutations2.ts, 4, 69)) @@ -118,7 +118,7 @@ declare function testFunction(): IPromise; declare function testFunctionP(): Promise; >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) declare function testFunction2(): IPromise<{ x: number }>; >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) @@ -127,7 +127,7 @@ declare function testFunction2(): IPromise<{ x: number }>; declare function testFunction2P(): Promise<{ x: number }>; >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations2.ts, 17, 58)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) >x : Symbol(x, Decl(promisePermutations2.ts, 18, 44)) declare function testFunction3(x: number): IPromise; @@ -138,7 +138,7 @@ declare function testFunction3(x: number): IPromise; declare function testFunction3P(x: number): Promise; >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations2.ts, 19, 60)) >x : Symbol(x, Decl(promisePermutations2.ts, 20, 32)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) declare function testFunction4(x: number, y?: string): IPromise; >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) @@ -150,7 +150,7 @@ declare function testFunction4P(x: number, y?: string): Promise; >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations2.ts, 21, 72)) >x : Symbol(x, Decl(promisePermutations2.ts, 22, 32)) >y : Symbol(y, Decl(promisePermutations2.ts, 22, 42)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) declare function testFunction5(x: number, cb: (a: string) => string): IPromise; >testFunction5 : Symbol(testFunction5, Decl(promisePermutations2.ts, 22, 72)) @@ -164,7 +164,7 @@ declare function testFunction5P(x: number, cb: (a: string) => string): Promisex : Symbol(x, Decl(promisePermutations2.ts, 24, 32)) >cb : Symbol(cb, Decl(promisePermutations2.ts, 24, 42)) >a : Symbol(a, Decl(promisePermutations2.ts, 24, 48)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) declare function testFunction6(x: number, cb: (a: T) => T): IPromise; >testFunction6 : Symbol(testFunction6, Decl(promisePermutations2.ts, 24, 87)) @@ -184,7 +184,7 @@ declare function testFunction6P(x: number, cb: (a: T) => T): Promise; >a : Symbol(a, Decl(promisePermutations2.ts, 26, 51)) >T : Symbol(T, Decl(promisePermutations2.ts, 26, 48)) >T : Symbol(T, Decl(promisePermutations2.ts, 26, 48)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) declare function testFunction7(cb: (a: T) => T): IPromise; >testFunction7 : Symbol(testFunction7, Decl(promisePermutations2.ts, 26, 80)) @@ -202,7 +202,7 @@ declare function testFunction7P(cb: (a: T) => T): Promise; >a : Symbol(a, Decl(promisePermutations2.ts, 28, 40)) >T : Symbol(T, Decl(promisePermutations2.ts, 28, 37)) >T : Symbol(T, Decl(promisePermutations2.ts, 28, 37)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) declare function testFunction8(x: T, cb: (a: T) => T): IPromise; >testFunction8 : Symbol(testFunction8, Decl(promisePermutations2.ts, 28, 69)) @@ -225,7 +225,7 @@ declare function testFunction8P(x: T, cb: (a: T) => T): Promise; >a : Symbol(a, Decl(promisePermutations2.ts, 30, 46)) >T : Symbol(T, Decl(promisePermutations2.ts, 30, 32)) >T : Symbol(T, Decl(promisePermutations2.ts, 30, 32)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations2.ts, 30, 32)) declare function testFunction9(x: T, cb: (a: U) => U): IPromise; @@ -251,7 +251,7 @@ declare function testFunction9P(x: T, cb: (a: U) => U): Promise; >a : Symbol(a, Decl(promisePermutations2.ts, 32, 49)) >U : Symbol(U, Decl(promisePermutations2.ts, 32, 46)) >U : Symbol(U, Decl(promisePermutations2.ts, 32, 46)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations2.ts, 32, 32)) declare function testFunction10(cb: (a: U) => U): IPromise; @@ -273,7 +273,7 @@ declare function testFunction10P(cb: (a: U) => U): Promise; >a : Symbol(a, Decl(promisePermutations2.ts, 34, 44)) >U : Symbol(U, Decl(promisePermutations2.ts, 34, 41)) >U : Symbol(U, Decl(promisePermutations2.ts, 34, 41)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations2.ts, 34, 33)) declare function testFunction11(x: number): IPromise; @@ -289,12 +289,12 @@ declare function testFunction11(x: string): IPromise; declare function testFunction11P(x: number): Promise; >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations2.ts, 37, 61), Decl(promisePermutations2.ts, 38, 61)) >x : Symbol(x, Decl(promisePermutations2.ts, 38, 33)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) declare function testFunction11P(x: string): Promise; >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations2.ts, 37, 61), Decl(promisePermutations2.ts, 38, 61)) >x : Symbol(x, Decl(promisePermutations2.ts, 39, 33)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) declare function testFunction12(x: T): IPromise; >testFunction12 : Symbol(testFunction12, Decl(promisePermutations2.ts, 39, 61), Decl(promisePermutations2.ts, 41, 54)) @@ -329,7 +329,7 @@ declare function testFunction12P(x: T, y: T): Promise; >T : Symbol(T, Decl(promisePermutations2.ts, 44, 33)) >y : Symbol(y, Decl(promisePermutations2.ts, 44, 41)) >T : Symbol(T, Decl(promisePermutations2.ts, 44, 33)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations2.ts, 44, 33)) var r1: IPromise; @@ -370,45 +370,45 @@ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); var s1: Promise; >s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s1a = s1.then(testFunction, testFunction, testFunction); >s1a : Symbol(s1a, Decl(promisePermutations2.ts, 51, 3)) ->s1.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Symbol(s1b, Decl(promisePermutations2.ts, 52, 3)) ->s1.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Symbol(s1c, Decl(promisePermutations2.ts, 53, 3)) ->s1.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Symbol(s1d, Decl(promisePermutations2.ts, 54, 3)) ->s1.then(testFunctionP, testFunction, testFunction).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s1.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s1.then(testFunctionP, testFunction, testFunction).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s1 : Symbol(s1, Decl(promisePermutations2.ts, 50, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) @@ -443,46 +443,46 @@ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction var s2: Promise<{ x: number; }>; >s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) >x : Symbol(x, Decl(promisePermutations2.ts, 59, 17)) var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Symbol(s2a, Decl(promisePermutations2.ts, 60, 3)) ->s2.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Symbol(s2b, Decl(promisePermutations2.ts, 61, 3)) ->s2.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations2.ts, 17, 58)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations2.ts, 17, 58)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations2.ts, 17, 58)) var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Symbol(s2c, Decl(promisePermutations2.ts, 62, 3)) ->s2.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations2.ts, 17, 58)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Symbol(s2d, Decl(promisePermutations2.ts, 63, 3)) ->s2.then(testFunction2P, testFunction2, testFunction2).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s2.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s2.then(testFunction2P, testFunction2, testFunction2).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s2 : Symbol(s2, Decl(promisePermutations2.ts, 59, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations2.ts, 17, 58)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations2.ts, 16, 50)) @@ -516,45 +516,45 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction var s3: Promise; >s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3a : Symbol(s3a, Decl(promisePermutations2.ts, 69, 3)) ->s3.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Symbol(s3b, Decl(promisePermutations2.ts, 70, 3)) ->s3.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations2.ts, 19, 60)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations2.ts, 19, 60)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations2.ts, 19, 60)) var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Symbol(s3c, Decl(promisePermutations2.ts, 71, 3)) ->s3.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations2.ts, 19, 60)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // Should error >s3d : Symbol(s3d, Decl(promisePermutations2.ts, 72, 3)) ->s3.then(testFunction3P, testFunction3, testFunction3).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s3.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s3.then(testFunction3P, testFunction3, testFunction3).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s3 : Symbol(s3, Decl(promisePermutations2.ts, 68, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations2.ts, 19, 60)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations2.ts, 18, 58)) @@ -571,7 +571,7 @@ var sIPromise: (x: any) => IPromise; var sPromise: (x: any) => Promise; >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) >x : Symbol(x, Decl(promisePermutations2.ts, 76, 15)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error >r4a : Symbol(r4a, Decl(promisePermutations2.ts, 77, 3)) @@ -598,45 +598,45 @@ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testF var s4: Promise; >s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4a : Symbol(s4a, Decl(promisePermutations2.ts, 80, 3)) ->s4.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Symbol(s4b, Decl(promisePermutations2.ts, 81, 3)) ->s4.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations2.ts, 21, 72)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations2.ts, 21, 72)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations2.ts, 21, 72)) var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Symbol(s4c, Decl(promisePermutations2.ts, 82, 3)) ->s4.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations2.ts, 21, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Symbol(s4d, Decl(promisePermutations2.ts, 83, 3)) ->s4.then(sIPromise, testFunction4P, testFunction4).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s4.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s4.then(sIPromise, testFunction4P, testFunction4).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s4 : Symbol(s4, Decl(promisePermutations2.ts, 79, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations2.ts, 21, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations2.ts, 21, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations2.ts, 20, 60)) @@ -670,45 +670,45 @@ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI var s5: Promise; >s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5a : Symbol(s5a, Decl(promisePermutations2.ts, 89, 3)) ->s5.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations2.ts, 22, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations2.ts, 22, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations2.ts, 22, 72)) var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Symbol(s5b, Decl(promisePermutations2.ts, 90, 3)) ->s5.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations2.ts, 23, 87)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations2.ts, 23, 87)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations2.ts, 23, 87)) var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Symbol(s5c, Decl(promisePermutations2.ts, 91, 3)) ->s5.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations2.ts, 23, 87)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations2.ts, 22, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations2.ts, 22, 72)) var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Symbol(s5d, Decl(promisePermutations2.ts, 92, 3)) ->s5.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s5.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s5.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s5 : Symbol(s5, Decl(promisePermutations2.ts, 88, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) @@ -742,45 +742,45 @@ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI var s6: Promise; >s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6a : Symbol(s6a, Decl(promisePermutations2.ts, 98, 3)) ->s6.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations2.ts, 24, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations2.ts, 24, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations2.ts, 24, 87)) var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Symbol(s6b, Decl(promisePermutations2.ts, 99, 3)) ->s6.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations2.ts, 25, 80)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations2.ts, 25, 80)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations2.ts, 25, 80)) var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Symbol(s6c, Decl(promisePermutations2.ts, 100, 3)) ->s6.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations2.ts, 25, 80)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations2.ts, 24, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations2.ts, 24, 87)) var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Symbol(s6d, Decl(promisePermutations2.ts, 101, 3)) ->s6.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s6.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s6.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s6 : Symbol(s6, Decl(promisePermutations2.ts, 97, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) @@ -814,7 +814,7 @@ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI var s7: Promise; >s7 : Symbol(s7, Decl(promisePermutations2.ts, 106, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >s7a : Symbol(s7a, Decl(promisePermutations2.ts, 107, 3)) @@ -869,7 +869,7 @@ var nIPromise: (x: any) => IPromise; var nPromise: (x: any) => Promise; >nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 3)) >x : Symbol(x, Decl(promisePermutations2.ts, 114, 15)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error >r8a : Symbol(r8a, Decl(promisePermutations2.ts, 115, 3)) @@ -896,45 +896,45 @@ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI var s8: Promise; >s8 : Symbol(s8, Decl(promisePermutations2.ts, 117, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >s8a : Symbol(s8a, Decl(promisePermutations2.ts, 118, 3)) ->s8.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s8 : Symbol(s8, Decl(promisePermutations2.ts, 117, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations2.ts, 28, 69)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations2.ts, 28, 69)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations2.ts, 28, 69)) var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : Symbol(s8b, Decl(promisePermutations2.ts, 119, 3)) ->s8.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s8 : Symbol(s8, Decl(promisePermutations2.ts, 117, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction8P : Symbol(testFunction8P, Decl(promisePermutations2.ts, 29, 70)) >testFunction8P : Symbol(testFunction8P, Decl(promisePermutations2.ts, 29, 70)) >testFunction8P : Symbol(testFunction8P, Decl(promisePermutations2.ts, 29, 70)) var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : Symbol(s8c, Decl(promisePermutations2.ts, 120, 3)) ->s8.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s8 : Symbol(s8, Decl(promisePermutations2.ts, 117, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction8P : Symbol(testFunction8P, Decl(promisePermutations2.ts, 29, 70)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations2.ts, 28, 69)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations2.ts, 28, 69)) var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Symbol(s8d, Decl(promisePermutations2.ts, 121, 3)) ->s8.then(nIPromise, nIPromise, nIPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s8.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s8.then(nIPromise, nIPromise, nIPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s8 : Symbol(s8, Decl(promisePermutations2.ts, 117, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) @@ -995,72 +995,72 @@ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, var s9: Promise; >s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9a : Symbol(s9a, Decl(promisePermutations2.ts, 130, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations2.ts, 30, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations2.ts, 30, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations2.ts, 30, 70)) var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Symbol(s9b, Decl(promisePermutations2.ts, 131, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations2.ts, 31, 73)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations2.ts, 31, 73)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations2.ts, 31, 73)) var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Symbol(s9c, Decl(promisePermutations2.ts, 132, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations2.ts, 31, 73)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations2.ts, 30, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations2.ts, 30, 70)) var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Symbol(s9d, Decl(promisePermutations2.ts, 133, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Symbol(s9e, Decl(promisePermutations2.ts, 134, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 3)) >nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 3)) >nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 3)) var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Symbol(s9f, Decl(promisePermutations2.ts, 135, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Symbol(s9g, Decl(promisePermutations2.ts, 136, 3)) ->s9.then(testFunction, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s9.then(testFunction, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s9 : Symbol(s9, Decl(promisePermutations2.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction : Symbol(testFunction, Decl(promisePermutations2.ts, 13, 1)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) @@ -1129,68 +1129,68 @@ var s10 = testFunction10P(x => x); var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok >s10a : Symbol(s10a, Decl(promisePermutations2.ts, 145, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s10 : Symbol(s10, Decl(promisePermutations2.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations2.ts, 32, 73)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations2.ts, 32, 73)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations2.ts, 32, 73)) var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Symbol(s10b, Decl(promisePermutations2.ts, 146, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s10 : Symbol(s10, Decl(promisePermutations2.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction10P : Symbol(testFunction10P, Decl(promisePermutations2.ts, 33, 68)) >testFunction10P : Symbol(testFunction10P, Decl(promisePermutations2.ts, 33, 68)) >testFunction10P : Symbol(testFunction10P, Decl(promisePermutations2.ts, 33, 68)) var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Symbol(s10c, Decl(promisePermutations2.ts, 147, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s10 : Symbol(s10, Decl(promisePermutations2.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction10P : Symbol(testFunction10P, Decl(promisePermutations2.ts, 33, 68)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations2.ts, 32, 73)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations2.ts, 32, 73)) var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Symbol(s10d, Decl(promisePermutations2.ts, 148, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s10 : Symbol(s10, Decl(promisePermutations2.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Symbol(s10e, Decl(promisePermutations2.ts, 149, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s10 : Symbol(s10, Decl(promisePermutations2.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) >nPromise : Symbol(nPromise, Decl(promisePermutations2.ts, 114, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Symbol(s10f, Decl(promisePermutations2.ts, 150, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s10 : Symbol(s10, Decl(promisePermutations2.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Symbol(s10g, Decl(promisePermutations2.ts, 151, 3)) ->s10.then(testFunctionP, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s10.then(testFunctionP, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s10 : Symbol(s10, Decl(promisePermutations2.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations2.ts, 15, 50)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations2.ts, 113, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >sPromise : Symbol(sPromise, Decl(promisePermutations2.ts, 76, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations2.ts, 75, 3)) @@ -1210,31 +1210,31 @@ var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error var s11: Promise; >s11 : Symbol(s11, Decl(promisePermutations2.ts, 155, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 0, 0)) var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11a : Symbol(s11a, Decl(promisePermutations2.ts, 156, 3)) ->s11.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s11 : Symbol(s11, Decl(promisePermutations2.ts, 155, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations2.ts, 34, 68), Decl(promisePermutations2.ts, 36, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations2.ts, 34, 68), Decl(promisePermutations2.ts, 36, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations2.ts, 34, 68), Decl(promisePermutations2.ts, 36, 61)) var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok >s11b : Symbol(s11b, Decl(promisePermutations2.ts, 157, 3)) ->s11.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s11 : Symbol(s11, Decl(promisePermutations2.ts, 155, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations2.ts, 37, 61), Decl(promisePermutations2.ts, 38, 61)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations2.ts, 37, 61), Decl(promisePermutations2.ts, 38, 61)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations2.ts, 37, 61), Decl(promisePermutations2.ts, 38, 61)) var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // ok >s11c : Symbol(s11c, Decl(promisePermutations2.ts, 158, 3)) ->s11.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >s11 : Symbol(s11, Decl(promisePermutations2.ts, 155, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations2.ts, 2, 22)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations2.ts, 37, 61), Decl(promisePermutations2.ts, 38, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations2.ts, 34, 68), Decl(promisePermutations2.ts, 36, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations2.ts, 34, 68), Decl(promisePermutations2.ts, 36, 61)) diff --git a/tests/baselines/reference/promisePermutations3.symbols b/tests/baselines/reference/promisePermutations3.symbols index 1ede5bd2342..336529aa426 100644 --- a/tests/baselines/reference/promisePermutations3.symbols +++ b/tests/baselines/reference/promisePermutations3.symbols @@ -2,71 +2,71 @@ // same as promisePermutations but without the same overloads in IPromise interface Promise { ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 18)) then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >U : Symbol(U, Decl(promisePermutations3.ts, 3, 9)) >success : Symbol(success, Decl(promisePermutations3.ts, 3, 12)) >value : Symbol(value, Decl(promisePermutations3.ts, 3, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 18)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations3.ts, 3, 9)) >error : Symbol(error, Decl(promisePermutations3.ts, 3, 47)) >error : Symbol(error, Decl(promisePermutations3.ts, 3, 57)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations3.ts, 3, 9)) >progress : Symbol(progress, Decl(promisePermutations3.ts, 3, 83)) >progress : Symbol(progress, Decl(promisePermutations3.ts, 3, 96)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations3.ts, 3, 9)) then(success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >U : Symbol(U, Decl(promisePermutations3.ts, 4, 9)) >success : Symbol(success, Decl(promisePermutations3.ts, 4, 12)) >value : Symbol(value, Decl(promisePermutations3.ts, 4, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 18)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations3.ts, 4, 9)) >error : Symbol(error, Decl(promisePermutations3.ts, 4, 47)) >error : Symbol(error, Decl(promisePermutations3.ts, 4, 57)) >U : Symbol(U, Decl(promisePermutations3.ts, 4, 9)) >progress : Symbol(progress, Decl(promisePermutations3.ts, 4, 74)) >progress : Symbol(progress, Decl(promisePermutations3.ts, 4, 87)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations3.ts, 4, 9)) then(success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >U : Symbol(U, Decl(promisePermutations3.ts, 5, 9)) >success : Symbol(success, Decl(promisePermutations3.ts, 5, 12)) >value : Symbol(value, Decl(promisePermutations3.ts, 5, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 18)) >U : Symbol(U, Decl(promisePermutations3.ts, 5, 9)) >error : Symbol(error, Decl(promisePermutations3.ts, 5, 38)) >error : Symbol(error, Decl(promisePermutations3.ts, 5, 48)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations3.ts, 5, 9)) >progress : Symbol(progress, Decl(promisePermutations3.ts, 5, 74)) >progress : Symbol(progress, Decl(promisePermutations3.ts, 5, 87)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations3.ts, 5, 9)) then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >U : Symbol(U, Decl(promisePermutations3.ts, 6, 9)) >success : Symbol(success, Decl(promisePermutations3.ts, 6, 12)) >value : Symbol(value, Decl(promisePermutations3.ts, 6, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 18)) >U : Symbol(U, Decl(promisePermutations3.ts, 6, 9)) >error : Symbol(error, Decl(promisePermutations3.ts, 6, 38)) >error : Symbol(error, Decl(promisePermutations3.ts, 6, 48)) >U : Symbol(U, Decl(promisePermutations3.ts, 6, 9)) >progress : Symbol(progress, Decl(promisePermutations3.ts, 6, 65)) >progress : Symbol(progress, Decl(promisePermutations3.ts, 6, 78)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >U : Symbol(U, Decl(promisePermutations3.ts, 6, 9)) done(success?: (value: T) => any, error?: (error: any) => any, progress?: (progress: any) => void): void; @@ -74,7 +74,7 @@ interface Promise { >U : Symbol(U, Decl(promisePermutations3.ts, 7, 9)) >success : Symbol(success, Decl(promisePermutations3.ts, 7, 12)) >value : Symbol(value, Decl(promisePermutations3.ts, 7, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 18)) >error : Symbol(error, Decl(promisePermutations3.ts, 7, 40)) >error : Symbol(error, Decl(promisePermutations3.ts, 7, 50)) >progress : Symbol(progress, Decl(promisePermutations3.ts, 7, 69)) @@ -118,7 +118,7 @@ declare function testFunction(): IPromise; declare function testFunctionP(): Promise; >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) declare function testFunction2(): IPromise<{ x: number }>; >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) @@ -127,7 +127,7 @@ declare function testFunction2(): IPromise<{ x: number }>; declare function testFunction2P(): Promise<{ x: number }>; >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations3.ts, 17, 58)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >x : Symbol(x, Decl(promisePermutations3.ts, 18, 44)) declare function testFunction3(x: number): IPromise; @@ -138,7 +138,7 @@ declare function testFunction3(x: number): IPromise; declare function testFunction3P(x: number): Promise; >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations3.ts, 19, 60)) >x : Symbol(x, Decl(promisePermutations3.ts, 20, 32)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) declare function testFunction4(x: number, y?: string): IPromise; >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) @@ -150,7 +150,7 @@ declare function testFunction4P(x: number, y?: string): Promise; >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations3.ts, 21, 72)) >x : Symbol(x, Decl(promisePermutations3.ts, 22, 32)) >y : Symbol(y, Decl(promisePermutations3.ts, 22, 42)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) declare function testFunction5(x: number, cb: (a: string) => string): IPromise; >testFunction5 : Symbol(testFunction5, Decl(promisePermutations3.ts, 22, 72)) @@ -164,7 +164,7 @@ declare function testFunction5P(x: number, cb: (a: string) => string): Promisex : Symbol(x, Decl(promisePermutations3.ts, 24, 32)) >cb : Symbol(cb, Decl(promisePermutations3.ts, 24, 42)) >a : Symbol(a, Decl(promisePermutations3.ts, 24, 48)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) declare function testFunction6(x: number, cb: (a: T) => T): IPromise; >testFunction6 : Symbol(testFunction6, Decl(promisePermutations3.ts, 24, 87)) @@ -184,7 +184,7 @@ declare function testFunction6P(x: number, cb: (a: T) => T): Promise; >a : Symbol(a, Decl(promisePermutations3.ts, 26, 51)) >T : Symbol(T, Decl(promisePermutations3.ts, 26, 48)) >T : Symbol(T, Decl(promisePermutations3.ts, 26, 48)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) declare function testFunction7(cb: (a: T) => T): IPromise; >testFunction7 : Symbol(testFunction7, Decl(promisePermutations3.ts, 26, 80)) @@ -202,7 +202,7 @@ declare function testFunction7P(cb: (a: T) => T): Promise; >a : Symbol(a, Decl(promisePermutations3.ts, 28, 40)) >T : Symbol(T, Decl(promisePermutations3.ts, 28, 37)) >T : Symbol(T, Decl(promisePermutations3.ts, 28, 37)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) declare function testFunction8(x: T, cb: (a: T) => T): IPromise; >testFunction8 : Symbol(testFunction8, Decl(promisePermutations3.ts, 28, 69)) @@ -225,7 +225,7 @@ declare function testFunction8P(x: T, cb: (a: T) => T): Promise; >a : Symbol(a, Decl(promisePermutations3.ts, 30, 46)) >T : Symbol(T, Decl(promisePermutations3.ts, 30, 32)) >T : Symbol(T, Decl(promisePermutations3.ts, 30, 32)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations3.ts, 30, 32)) declare function testFunction9(x: T, cb: (a: U) => U): IPromise; @@ -251,7 +251,7 @@ declare function testFunction9P(x: T, cb: (a: U) => U): Promise; >a : Symbol(a, Decl(promisePermutations3.ts, 32, 49)) >U : Symbol(U, Decl(promisePermutations3.ts, 32, 46)) >U : Symbol(U, Decl(promisePermutations3.ts, 32, 46)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations3.ts, 32, 32)) declare function testFunction10(cb: (a: U) => U): IPromise; @@ -273,7 +273,7 @@ declare function testFunction10P(cb: (a: U) => U): Promise; >a : Symbol(a, Decl(promisePermutations3.ts, 34, 44)) >U : Symbol(U, Decl(promisePermutations3.ts, 34, 41)) >U : Symbol(U, Decl(promisePermutations3.ts, 34, 41)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations3.ts, 34, 33)) declare function testFunction11(x: number): IPromise; @@ -289,12 +289,12 @@ declare function testFunction11(x: string): IPromise; declare function testFunction11P(x: number): Promise; >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations3.ts, 37, 61), Decl(promisePermutations3.ts, 38, 61)) >x : Symbol(x, Decl(promisePermutations3.ts, 38, 33)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) declare function testFunction11P(x: string): Promise; >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations3.ts, 37, 61), Decl(promisePermutations3.ts, 38, 61)) >x : Symbol(x, Decl(promisePermutations3.ts, 39, 33)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) declare function testFunction12(x: T): IPromise; >testFunction12 : Symbol(testFunction12, Decl(promisePermutations3.ts, 39, 61), Decl(promisePermutations3.ts, 41, 54)) @@ -329,7 +329,7 @@ declare function testFunction12P(x: T, y: T): Promise; >T : Symbol(T, Decl(promisePermutations3.ts, 44, 33)) >y : Symbol(y, Decl(promisePermutations3.ts, 44, 41)) >T : Symbol(T, Decl(promisePermutations3.ts, 44, 33)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >T : Symbol(T, Decl(promisePermutations3.ts, 44, 33)) var r1: IPromise; @@ -370,45 +370,45 @@ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); var s1: Promise; >s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s1a = s1.then(testFunction, testFunction, testFunction); >s1a : Symbol(s1a, Decl(promisePermutations3.ts, 51, 3)) ->s1.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Symbol(s1b, Decl(promisePermutations3.ts, 52, 3)) ->s1.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Symbol(s1c, Decl(promisePermutations3.ts, 53, 3)) ->s1.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Symbol(s1d, Decl(promisePermutations3.ts, 54, 3)) ->s1.then(testFunctionP, testFunction, testFunction).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s1.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s1.then(testFunctionP, testFunction, testFunction).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s1.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s1 : Symbol(s1, Decl(promisePermutations3.ts, 50, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) @@ -443,46 +443,46 @@ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction var s2: Promise<{ x: number; }>; >s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) >x : Symbol(x, Decl(promisePermutations3.ts, 59, 17)) var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Symbol(s2a, Decl(promisePermutations3.ts, 60, 3)) ->s2.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Symbol(s2b, Decl(promisePermutations3.ts, 61, 3)) ->s2.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations3.ts, 17, 58)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations3.ts, 17, 58)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations3.ts, 17, 58)) var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Symbol(s2c, Decl(promisePermutations3.ts, 62, 3)) ->s2.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations3.ts, 17, 58)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Symbol(s2d, Decl(promisePermutations3.ts, 63, 3)) ->s2.then(testFunction2P, testFunction2, testFunction2).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s2.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s2.then(testFunction2P, testFunction2, testFunction2).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s2.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s2 : Symbol(s2, Decl(promisePermutations3.ts, 59, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction2P : Symbol(testFunction2P, Decl(promisePermutations3.ts, 17, 58)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) >testFunction2 : Symbol(testFunction2, Decl(promisePermutations3.ts, 16, 50)) @@ -516,45 +516,45 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction var s3: Promise; >s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3a : Symbol(s3a, Decl(promisePermutations3.ts, 69, 3)) ->s3.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Symbol(s3b, Decl(promisePermutations3.ts, 70, 3)) ->s3.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations3.ts, 19, 60)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations3.ts, 19, 60)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations3.ts, 19, 60)) var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Symbol(s3c, Decl(promisePermutations3.ts, 71, 3)) ->s3.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations3.ts, 19, 60)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); >s3d : Symbol(s3d, Decl(promisePermutations3.ts, 72, 3)) ->s3.then(testFunction3P, testFunction3, testFunction3).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s3.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s3.then(testFunction3P, testFunction3, testFunction3).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s3.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s3 : Symbol(s3, Decl(promisePermutations3.ts, 68, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction3P : Symbol(testFunction3P, Decl(promisePermutations3.ts, 19, 60)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) >testFunction3 : Symbol(testFunction3, Decl(promisePermutations3.ts, 18, 58)) @@ -571,7 +571,7 @@ var sIPromise: (x: any) => IPromise; var sPromise: (x: any) => Promise; >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) >x : Symbol(x, Decl(promisePermutations3.ts, 76, 15)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error >r4a : Symbol(r4a, Decl(promisePermutations3.ts, 77, 3)) @@ -598,45 +598,45 @@ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testF var s4: Promise; >s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4a : Symbol(s4a, Decl(promisePermutations3.ts, 80, 3)) ->s4.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Symbol(s4b, Decl(promisePermutations3.ts, 81, 3)) ->s4.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations3.ts, 21, 72)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations3.ts, 21, 72)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations3.ts, 21, 72)) var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Symbol(s4c, Decl(promisePermutations3.ts, 82, 3)) ->s4.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations3.ts, 21, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Symbol(s4d, Decl(promisePermutations3.ts, 83, 3)) ->s4.then(sIPromise, testFunction4P, testFunction4).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s4.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s4.then(sIPromise, testFunction4P, testFunction4).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s4.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s4 : Symbol(s4, Decl(promisePermutations3.ts, 79, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations3.ts, 21, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) >testFunction4P : Symbol(testFunction4P, Decl(promisePermutations3.ts, 21, 72)) >testFunction4 : Symbol(testFunction4, Decl(promisePermutations3.ts, 20, 60)) @@ -670,45 +670,45 @@ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI var s5: Promise; >s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5a : Symbol(s5a, Decl(promisePermutations3.ts, 89, 3)) ->s5.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations3.ts, 22, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations3.ts, 22, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations3.ts, 22, 72)) var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Symbol(s5b, Decl(promisePermutations3.ts, 90, 3)) ->s5.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations3.ts, 23, 87)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations3.ts, 23, 87)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations3.ts, 23, 87)) var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Symbol(s5c, Decl(promisePermutations3.ts, 91, 3)) ->s5.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction5P : Symbol(testFunction5P, Decl(promisePermutations3.ts, 23, 87)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations3.ts, 22, 72)) >testFunction5 : Symbol(testFunction5, Decl(promisePermutations3.ts, 22, 72)) var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Symbol(s5d, Decl(promisePermutations3.ts, 92, 3)) ->s5.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s5.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s5.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s5.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s5 : Symbol(s5, Decl(promisePermutations3.ts, 88, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) @@ -742,45 +742,45 @@ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI var s6: Promise; >s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6a : Symbol(s6a, Decl(promisePermutations3.ts, 98, 3)) ->s6.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations3.ts, 24, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations3.ts, 24, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations3.ts, 24, 87)) var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Symbol(s6b, Decl(promisePermutations3.ts, 99, 3)) ->s6.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations3.ts, 25, 80)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations3.ts, 25, 80)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations3.ts, 25, 80)) var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Symbol(s6c, Decl(promisePermutations3.ts, 100, 3)) ->s6.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction6P : Symbol(testFunction6P, Decl(promisePermutations3.ts, 25, 80)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations3.ts, 24, 87)) >testFunction6 : Symbol(testFunction6, Decl(promisePermutations3.ts, 24, 87)) var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Symbol(s6d, Decl(promisePermutations3.ts, 101, 3)) ->s6.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s6.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s6.then(sPromise, sPromise, sPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s6.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s6 : Symbol(s6, Decl(promisePermutations3.ts, 97, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) @@ -814,7 +814,7 @@ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI var s7: Promise; >s7 : Symbol(s7, Decl(promisePermutations3.ts, 106, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >s7a : Symbol(s7a, Decl(promisePermutations3.ts, 107, 3)) @@ -869,7 +869,7 @@ var nIPromise: (x: any) => IPromise; var nPromise: (x: any) => Promise; >nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 3)) >x : Symbol(x, Decl(promisePermutations3.ts, 114, 15)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error >r8a : Symbol(r8a, Decl(promisePermutations3.ts, 115, 3)) @@ -896,45 +896,45 @@ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI var s8: Promise; >s8 : Symbol(s8, Decl(promisePermutations3.ts, 117, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >s8a : Symbol(s8a, Decl(promisePermutations3.ts, 118, 3)) ->s8.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s8 : Symbol(s8, Decl(promisePermutations3.ts, 117, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations3.ts, 28, 69)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations3.ts, 28, 69)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations3.ts, 28, 69)) var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : Symbol(s8b, Decl(promisePermutations3.ts, 119, 3)) ->s8.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s8 : Symbol(s8, Decl(promisePermutations3.ts, 117, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction8P : Symbol(testFunction8P, Decl(promisePermutations3.ts, 29, 70)) >testFunction8P : Symbol(testFunction8P, Decl(promisePermutations3.ts, 29, 70)) >testFunction8P : Symbol(testFunction8P, Decl(promisePermutations3.ts, 29, 70)) var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : Symbol(s8c, Decl(promisePermutations3.ts, 120, 3)) ->s8.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s8 : Symbol(s8, Decl(promisePermutations3.ts, 117, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction8P : Symbol(testFunction8P, Decl(promisePermutations3.ts, 29, 70)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations3.ts, 28, 69)) >testFunction8 : Symbol(testFunction8, Decl(promisePermutations3.ts, 28, 69)) var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Symbol(s8d, Decl(promisePermutations3.ts, 121, 3)) ->s8.then(nIPromise, nIPromise, nIPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s8.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s8.then(nIPromise, nIPromise, nIPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s8.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s8 : Symbol(s8, Decl(promisePermutations3.ts, 117, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) @@ -995,72 +995,72 @@ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, var s9: Promise; >s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9a : Symbol(s9a, Decl(promisePermutations3.ts, 130, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations3.ts, 30, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations3.ts, 30, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations3.ts, 30, 70)) var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Symbol(s9b, Decl(promisePermutations3.ts, 131, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations3.ts, 31, 73)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations3.ts, 31, 73)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations3.ts, 31, 73)) var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Symbol(s9c, Decl(promisePermutations3.ts, 132, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction9P : Symbol(testFunction9P, Decl(promisePermutations3.ts, 31, 73)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations3.ts, 30, 70)) >testFunction9 : Symbol(testFunction9, Decl(promisePermutations3.ts, 30, 70)) var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Symbol(s9d, Decl(promisePermutations3.ts, 133, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Symbol(s9e, Decl(promisePermutations3.ts, 134, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 3)) >nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 3)) >nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 3)) var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Symbol(s9f, Decl(promisePermutations3.ts, 135, 3)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Symbol(s9g, Decl(promisePermutations3.ts, 136, 3)) ->s9.then(testFunction, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s9.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s9.then(testFunction, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s9.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s9 : Symbol(s9, Decl(promisePermutations3.ts, 129, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction : Symbol(testFunction, Decl(promisePermutations3.ts, 13, 1)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) @@ -1129,68 +1129,68 @@ var s10 = testFunction10P(x => x); var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok >s10a : Symbol(s10a, Decl(promisePermutations3.ts, 145, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s10 : Symbol(s10, Decl(promisePermutations3.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations3.ts, 32, 73)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations3.ts, 32, 73)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations3.ts, 32, 73)) var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Symbol(s10b, Decl(promisePermutations3.ts, 146, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s10 : Symbol(s10, Decl(promisePermutations3.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction10P : Symbol(testFunction10P, Decl(promisePermutations3.ts, 33, 68)) >testFunction10P : Symbol(testFunction10P, Decl(promisePermutations3.ts, 33, 68)) >testFunction10P : Symbol(testFunction10P, Decl(promisePermutations3.ts, 33, 68)) var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Symbol(s10c, Decl(promisePermutations3.ts, 147, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s10 : Symbol(s10, Decl(promisePermutations3.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction10P : Symbol(testFunction10P, Decl(promisePermutations3.ts, 33, 68)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations3.ts, 32, 73)) >testFunction10 : Symbol(testFunction10, Decl(promisePermutations3.ts, 32, 73)) var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Symbol(s10d, Decl(promisePermutations3.ts, 148, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s10 : Symbol(s10, Decl(promisePermutations3.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Symbol(s10e, Decl(promisePermutations3.ts, 149, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s10 : Symbol(s10, Decl(promisePermutations3.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) >nPromise : Symbol(nPromise, Decl(promisePermutations3.ts, 114, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Symbol(s10f, Decl(promisePermutations3.ts, 150, 3)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s10 : Symbol(s10, Decl(promisePermutations3.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Symbol(s10g, Decl(promisePermutations3.ts, 151, 3)) ->s10.then(testFunctionP, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) ->s10.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s10.then(testFunctionP, nIPromise, sIPromise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s10.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s10 : Symbol(s10, Decl(promisePermutations3.ts, 144, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunctionP : Symbol(testFunctionP, Decl(promisePermutations3.ts, 15, 50)) >nIPromise : Symbol(nIPromise, Decl(promisePermutations3.ts, 113, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >sPromise : Symbol(sPromise, Decl(promisePermutations3.ts, 76, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) >sIPromise : Symbol(sIPromise, Decl(promisePermutations3.ts, 75, 3)) @@ -1210,31 +1210,31 @@ var r11a = r11.then(testFunction11, testFunction11, testFunction11); // ok var s11: Promise; >s11 : Symbol(s11, Decl(promisePermutations3.ts, 155, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 0, 0)) var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11a : Symbol(s11a, Decl(promisePermutations3.ts, 156, 3)) ->s11.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s11 : Symbol(s11, Decl(promisePermutations3.ts, 155, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations3.ts, 34, 68), Decl(promisePermutations3.ts, 36, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations3.ts, 34, 68), Decl(promisePermutations3.ts, 36, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations3.ts, 34, 68), Decl(promisePermutations3.ts, 36, 61)) var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11b : Symbol(s11b, Decl(promisePermutations3.ts, 157, 3)) ->s11.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s11 : Symbol(s11, Decl(promisePermutations3.ts, 155, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations3.ts, 37, 61), Decl(promisePermutations3.ts, 38, 61)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations3.ts, 37, 61), Decl(promisePermutations3.ts, 38, 61)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations3.ts, 37, 61), Decl(promisePermutations3.ts, 38, 61)) var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11c : Symbol(s11c, Decl(promisePermutations3.ts, 158, 3)) ->s11.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>s11.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >s11 : Symbol(s11, Decl(promisePermutations3.ts, 155, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisePermutations3.ts, 2, 22), Decl(promisePermutations3.ts, 3, 132), Decl(promisePermutations3.ts, 4, 123), Decl(promisePermutations3.ts, 5, 123)) >testFunction11P : Symbol(testFunction11P, Decl(promisePermutations3.ts, 37, 61), Decl(promisePermutations3.ts, 38, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations3.ts, 34, 68), Decl(promisePermutations3.ts, 36, 61)) >testFunction11 : Symbol(testFunction11, Decl(promisePermutations3.ts, 34, 68), Decl(promisePermutations3.ts, 36, 61)) diff --git a/tests/baselines/reference/promiseTest.symbols b/tests/baselines/reference/promiseTest.symbols index 4030f122a61..52382a11c14 100644 --- a/tests/baselines/reference/promiseTest.symbols +++ b/tests/baselines/reference/promiseTest.symbols @@ -1,43 +1,43 @@ === tests/cases/compiler/promiseTest.ts === interface Promise { ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promiseTest.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promiseTest.ts, 0, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promiseTest.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promiseTest.ts, 0, 18)) then(success?: (value: T) => Promise): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promiseTest.ts, 0, 22), Decl(promiseTest.ts, 1, 60)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promiseTest.ts, 0, 22), Decl(promiseTest.ts, 1, 60)) >A : Symbol(A, Decl(promiseTest.ts, 1, 9)) >success : Symbol(success, Decl(promiseTest.ts, 1, 12)) >value : Symbol(value, Decl(promiseTest.ts, 1, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promiseTest.ts, 0, 18)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promiseTest.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promiseTest.ts, 0, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promiseTest.ts, 0, 0)) >A : Symbol(A, Decl(promiseTest.ts, 1, 9)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promiseTest.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promiseTest.ts, 0, 0)) >A : Symbol(A, Decl(promiseTest.ts, 1, 9)) then(success?: (value: T) => B): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promiseTest.ts, 0, 22), Decl(promiseTest.ts, 1, 60)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promiseTest.ts, 0, 22), Decl(promiseTest.ts, 1, 60)) >B : Symbol(B, Decl(promiseTest.ts, 2, 9)) >success : Symbol(success, Decl(promiseTest.ts, 2, 12)) >value : Symbol(value, Decl(promiseTest.ts, 2, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promiseTest.ts, 0, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promiseTest.ts, 0, 18)) >B : Symbol(B, Decl(promiseTest.ts, 2, 9)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promiseTest.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promiseTest.ts, 0, 0)) >B : Symbol(B, Decl(promiseTest.ts, 2, 9)) data: T; >data : Symbol(Promise.data, Decl(promiseTest.ts, 2, 51)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promiseTest.ts, 0, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promiseTest.ts, 0, 18)) } var p: Promise = null; >p : Symbol(p, Decl(promiseTest.ts, 6, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promiseTest.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promiseTest.ts, 0, 0)) var p2 = p.then(function (x) { >p2 : Symbol(p2, Decl(promiseTest.ts, 7, 3)) ->p.then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promiseTest.ts, 0, 22), Decl(promiseTest.ts, 1, 60)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promiseTest.ts, 0, 22), Decl(promiseTest.ts, 1, 60)) >p : Symbol(p, Decl(promiseTest.ts, 6, 3)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promiseTest.ts, 0, 22), Decl(promiseTest.ts, 1, 60)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promiseTest.ts, 0, 22), Decl(promiseTest.ts, 1, 60)) >x : Symbol(x, Decl(promiseTest.ts, 7, 26)) return p; diff --git a/tests/baselines/reference/promiseType.symbols b/tests/baselines/reference/promiseType.symbols index 0b77624b195..cec81cd7d82 100644 --- a/tests/baselines/reference/promiseType.symbols +++ b/tests/baselines/reference/promiseType.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/promiseType.ts === declare var p: Promise; >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare var x: any; >x : Symbol(x, Decl(promiseType.ts, 1, 11)) @@ -73,7 +73,7 @@ async function E() { >e : Symbol(e, Decl(promiseType.ts, 37, 11)) throw Error(); ->Error : Symbol(Error, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -91,10 +91,10 @@ async function F() { >e : Symbol(e, Decl(promiseType.ts, 47, 11)) return Promise.reject(Error()); ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Error : Symbol(Error, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -131,7 +131,7 @@ async function H() { >e : Symbol(e, Decl(promiseType.ts, 67, 11)) throw Error(); ->Error : Symbol(Error, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -150,10 +150,10 @@ async function I() { >e : Symbol(e, Decl(promiseType.ts, 77, 11)) return Promise.reject(Error()); ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Error : Symbol(Error, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -161,931 +161,931 @@ async function I() { const p00 = p.catch(); >p00 : Symbol(p00, Decl(promiseType.ts, 84, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) const p01 = p.then(); >p01 : Symbol(p01, Decl(promiseType.ts, 85, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p10 = p.catch(undefined); >p10 : Symbol(p10, Decl(promiseType.ts, 87, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p11 = p.catch(null); >p11 : Symbol(p11, Decl(promiseType.ts, 88, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) const p12 = p.catch(() => 1); >p12 : Symbol(p12, Decl(promiseType.ts, 89, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) const p13 = p.catch(() => x); >p13 : Symbol(p13, Decl(promiseType.ts, 90, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p14 = p.catch(() => undefined); >p14 : Symbol(p14, Decl(promiseType.ts, 91, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p15 = p.catch(() => null); >p15 : Symbol(p15, Decl(promiseType.ts, 92, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) const p16 = p.catch(() => {}); >p16 : Symbol(p16, Decl(promiseType.ts, 93, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) const p17 = p.catch(() => {throw 1}); >p17 : Symbol(p17, Decl(promiseType.ts, 94, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) const p18 = p.catch(() => Promise.reject(1)); >p18 : Symbol(p18, Decl(promiseType.ts, 95, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p19 = p.catch(() => Promise.resolve(1)); >p19 : Symbol(p19, Decl(promiseType.ts, 96, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p20 = p.then(undefined); >p20 : Symbol(p20, Decl(promiseType.ts, 98, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p21 = p.then(null); >p21 : Symbol(p21, Decl(promiseType.ts, 99, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p22 = p.then(() => 1); >p22 : Symbol(p22, Decl(promiseType.ts, 100, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p23 = p.then(() => x); >p23 : Symbol(p23, Decl(promiseType.ts, 101, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p24 = p.then(() => undefined); >p24 : Symbol(p24, Decl(promiseType.ts, 102, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p25 = p.then(() => null); >p25 : Symbol(p25, Decl(promiseType.ts, 103, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p26 = p.then(() => {}); >p26 : Symbol(p26, Decl(promiseType.ts, 104, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p27 = p.then(() => {throw 1}); >p27 : Symbol(p27, Decl(promiseType.ts, 105, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p28 = p.then(() => Promise.resolve(1)); >p28 : Symbol(p28, Decl(promiseType.ts, 106, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p29 = p.then(() => Promise.reject(1)); >p29 : Symbol(p29, Decl(promiseType.ts, 107, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p30 = p.then(undefined, undefined); >p30 : Symbol(p30, Decl(promiseType.ts, 109, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >undefined : Symbol(undefined) const p31 = p.then(undefined, null); >p31 : Symbol(p31, Decl(promiseType.ts, 110, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p32 = p.then(undefined, () => 1); >p32 : Symbol(p32, Decl(promiseType.ts, 111, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p33 = p.then(undefined, () => x); >p33 : Symbol(p33, Decl(promiseType.ts, 112, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p34 = p.then(undefined, () => undefined); >p34 : Symbol(p34, Decl(promiseType.ts, 113, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >undefined : Symbol(undefined) const p35 = p.then(undefined, () => null); >p35 : Symbol(p35, Decl(promiseType.ts, 114, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p36 = p.then(undefined, () => {}); >p36 : Symbol(p36, Decl(promiseType.ts, 115, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p37 = p.then(undefined, () => {throw 1}); >p37 : Symbol(p37, Decl(promiseType.ts, 116, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p38 = p.then(undefined, () => Promise.resolve(1)); >p38 : Symbol(p38, Decl(promiseType.ts, 117, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p39 = p.then(undefined, () => Promise.reject(1)); >p39 : Symbol(p39, Decl(promiseType.ts, 118, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p40 = p.then(null, undefined); >p40 : Symbol(p40, Decl(promiseType.ts, 120, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p41 = p.then(null, null); >p41 : Symbol(p41, Decl(promiseType.ts, 121, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p42 = p.then(null, () => 1); >p42 : Symbol(p42, Decl(promiseType.ts, 122, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p43 = p.then(null, () => x); >p43 : Symbol(p43, Decl(promiseType.ts, 123, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p44 = p.then(null, () => undefined); >p44 : Symbol(p44, Decl(promiseType.ts, 124, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p45 = p.then(null, () => null); >p45 : Symbol(p45, Decl(promiseType.ts, 125, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p46 = p.then(null, () => {}); >p46 : Symbol(p46, Decl(promiseType.ts, 126, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p47 = p.then(null, () => {throw 1}); >p47 : Symbol(p47, Decl(promiseType.ts, 127, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p48 = p.then(null, () => Promise.resolve(1)); >p48 : Symbol(p48, Decl(promiseType.ts, 128, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p49 = p.then(null, () => Promise.reject(1)); >p49 : Symbol(p49, Decl(promiseType.ts, 129, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p50 = p.then(() => "1", undefined); >p50 : Symbol(p50, Decl(promiseType.ts, 131, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p51 = p.then(() => "1", null); >p51 : Symbol(p51, Decl(promiseType.ts, 132, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p52 = p.then(() => "1", () => 1); >p52 : Symbol(p52, Decl(promiseType.ts, 133, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p53 = p.then(() => "1", () => x); >p53 : Symbol(p53, Decl(promiseType.ts, 134, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p54 = p.then(() => "1", () => undefined); >p54 : Symbol(p54, Decl(promiseType.ts, 135, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p55 = p.then(() => "1", () => null); >p55 : Symbol(p55, Decl(promiseType.ts, 136, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p56 = p.then(() => "1", () => {}); >p56 : Symbol(p56, Decl(promiseType.ts, 137, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p57 = p.then(() => "1", () => {throw 1}); >p57 : Symbol(p57, Decl(promiseType.ts, 138, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p58 = p.then(() => "1", () => Promise.resolve(1)); >p58 : Symbol(p58, Decl(promiseType.ts, 139, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p59 = p.then(() => "1", () => Promise.reject(1)); >p59 : Symbol(p59, Decl(promiseType.ts, 140, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p60 = p.then(() => x, undefined); >p60 : Symbol(p60, Decl(promiseType.ts, 142, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) >undefined : Symbol(undefined) const p61 = p.then(() => x, null); >p61 : Symbol(p61, Decl(promiseType.ts, 143, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p62 = p.then(() => x, () => 1); >p62 : Symbol(p62, Decl(promiseType.ts, 144, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p63 = p.then(() => x, () => x); >p63 : Symbol(p63, Decl(promiseType.ts, 145, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p64 = p.then(() => x, () => undefined); >p64 : Symbol(p64, Decl(promiseType.ts, 146, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) >undefined : Symbol(undefined) const p65 = p.then(() => x, () => null); >p65 : Symbol(p65, Decl(promiseType.ts, 147, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p66 = p.then(() => x, () => {}); >p66 : Symbol(p66, Decl(promiseType.ts, 148, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p67 = p.then(() => x, () => {throw 1}); >p67 : Symbol(p67, Decl(promiseType.ts, 149, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p68 = p.then(() => x, () => Promise.resolve(1)); >p68 : Symbol(p68, Decl(promiseType.ts, 150, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p69 = p.then(() => x, () => Promise.reject(1)); >p69 : Symbol(p69, Decl(promiseType.ts, 151, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p70 = p.then(() => undefined, undefined); >p70 : Symbol(p70, Decl(promiseType.ts, 153, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >undefined : Symbol(undefined) const p71 = p.then(() => undefined, null); >p71 : Symbol(p71, Decl(promiseType.ts, 154, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p72 = p.then(() => undefined, () => 1); >p72 : Symbol(p72, Decl(promiseType.ts, 155, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p73 = p.then(() => undefined, () => x); >p73 : Symbol(p73, Decl(promiseType.ts, 156, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p74 = p.then(() => undefined, () => undefined); >p74 : Symbol(p74, Decl(promiseType.ts, 157, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >undefined : Symbol(undefined) const p75 = p.then(() => undefined, () => null); >p75 : Symbol(p75, Decl(promiseType.ts, 158, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p76 = p.then(() => undefined, () => {}); >p76 : Symbol(p76, Decl(promiseType.ts, 159, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p77 = p.then(() => undefined, () => {throw 1}); >p77 : Symbol(p77, Decl(promiseType.ts, 160, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p78 = p.then(() => undefined, () => Promise.resolve(1)); >p78 : Symbol(p78, Decl(promiseType.ts, 161, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p79 = p.then(() => undefined, () => Promise.reject(1)); >p79 : Symbol(p79, Decl(promiseType.ts, 162, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p80 = p.then(() => null, undefined); >p80 : Symbol(p80, Decl(promiseType.ts, 164, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p81 = p.then(() => null, null); >p81 : Symbol(p81, Decl(promiseType.ts, 165, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p82 = p.then(() => null, () => 1); >p82 : Symbol(p82, Decl(promiseType.ts, 166, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p83 = p.then(() => null, () => x); >p83 : Symbol(p83, Decl(promiseType.ts, 167, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p84 = p.then(() => null, () => undefined); >p84 : Symbol(p84, Decl(promiseType.ts, 168, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p85 = p.then(() => null, () => null); >p85 : Symbol(p85, Decl(promiseType.ts, 169, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p86 = p.then(() => null, () => {}); >p86 : Symbol(p86, Decl(promiseType.ts, 170, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p87 = p.then(() => null, () => {throw 1}); >p87 : Symbol(p87, Decl(promiseType.ts, 171, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p88 = p.then(() => null, () => Promise.resolve(1)); >p88 : Symbol(p88, Decl(promiseType.ts, 172, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p89 = p.then(() => null, () => Promise.reject(1)); >p89 : Symbol(p89, Decl(promiseType.ts, 173, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p90 = p.then(() => {}, undefined); >p90 : Symbol(p90, Decl(promiseType.ts, 175, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p91 = p.then(() => {}, null); >p91 : Symbol(p91, Decl(promiseType.ts, 176, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p92 = p.then(() => {}, () => 1); >p92 : Symbol(p92, Decl(promiseType.ts, 177, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p93 = p.then(() => {}, () => x); >p93 : Symbol(p93, Decl(promiseType.ts, 178, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const p94 = p.then(() => {}, () => undefined); >p94 : Symbol(p94, Decl(promiseType.ts, 179, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p95 = p.then(() => {}, () => null); >p95 : Symbol(p95, Decl(promiseType.ts, 180, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p96 = p.then(() => {}, () => {}); >p96 : Symbol(p96, Decl(promiseType.ts, 181, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p97 = p.then(() => {}, () => {throw 1}); >p97 : Symbol(p97, Decl(promiseType.ts, 182, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p98 = p.then(() => {}, () => Promise.resolve(1)); >p98 : Symbol(p98, Decl(promiseType.ts, 183, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p99 = p.then(() => {}, () => Promise.reject(1)); >p99 : Symbol(p99, Decl(promiseType.ts, 184, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pa0 = p.then(() => {throw 1}, undefined); >pa0 : Symbol(pa0, Decl(promiseType.ts, 186, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const pa1 = p.then(() => {throw 1}, null); >pa1 : Symbol(pa1, Decl(promiseType.ts, 187, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const pa2 = p.then(() => {throw 1}, () => 1); >pa2 : Symbol(pa2, Decl(promiseType.ts, 188, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const pa3 = p.then(() => {throw 1}, () => x); >pa3 : Symbol(pa3, Decl(promiseType.ts, 189, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const pa4 = p.then(() => {throw 1}, () => undefined); >pa4 : Symbol(pa4, Decl(promiseType.ts, 190, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const pa5 = p.then(() => {throw 1}, () => null); >pa5 : Symbol(pa5, Decl(promiseType.ts, 191, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const pa6 = p.then(() => {throw 1}, () => {}); >pa6 : Symbol(pa6, Decl(promiseType.ts, 192, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const pa7 = p.then(() => {throw 1}, () => {throw 1}); >pa7 : Symbol(pa7, Decl(promiseType.ts, 193, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >pa8 : Symbol(pa8, Decl(promiseType.ts, 194, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >pa9 : Symbol(pa9, Decl(promiseType.ts, 195, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pb0 = p.then(() => Promise.resolve("1"), undefined); >pb0 : Symbol(pb0, Decl(promiseType.ts, 197, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >undefined : Symbol(undefined) const pb1 = p.then(() => Promise.resolve("1"), null); >pb1 : Symbol(pb1, Decl(promiseType.ts, 198, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pb2 = p.then(() => Promise.resolve("1"), () => 1); >pb2 : Symbol(pb2, Decl(promiseType.ts, 199, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pb3 = p.then(() => Promise.resolve("1"), () => x); >pb3 : Symbol(pb3, Decl(promiseType.ts, 200, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const pb4 = p.then(() => Promise.resolve("1"), () => undefined); >pb4 : Symbol(pb4, Decl(promiseType.ts, 201, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >undefined : Symbol(undefined) const pb5 = p.then(() => Promise.resolve("1"), () => null); >pb5 : Symbol(pb5, Decl(promiseType.ts, 202, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pb6 = p.then(() => Promise.resolve("1"), () => {}); >pb6 : Symbol(pb6, Decl(promiseType.ts, 203, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); >pb7 : Symbol(pb7, Decl(promiseType.ts, 204, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >pb8 : Symbol(pb8, Decl(promiseType.ts, 205, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >pb9 : Symbol(pb9, Decl(promiseType.ts, 206, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc0 = p.then(() => Promise.reject("1"), undefined); >pc0 : Symbol(pc0, Decl(promiseType.ts, 208, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >undefined : Symbol(undefined) const pc1 = p.then(() => Promise.reject("1"), null); >pc1 : Symbol(pc1, Decl(promiseType.ts, 209, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc2 = p.then(() => Promise.reject("1"), () => 1); >pc2 : Symbol(pc2, Decl(promiseType.ts, 210, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc3 = p.then(() => Promise.reject("1"), () => x); >pc3 : Symbol(pc3, Decl(promiseType.ts, 211, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const pc4 = p.then(() => Promise.reject("1"), () => undefined); >pc4 : Symbol(pc4, Decl(promiseType.ts, 212, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >undefined : Symbol(undefined) const pc5 = p.then(() => Promise.reject("1"), () => null); >pc5 : Symbol(pc5, Decl(promiseType.ts, 213, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc6 = p.then(() => Promise.reject("1"), () => {}); >pc6 : Symbol(pc6, Decl(promiseType.ts, 214, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); >pc7 : Symbol(pc7, Decl(promiseType.ts, 215, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >pc8 : Symbol(pc8, Decl(promiseType.ts, 216, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >pc9 : Symbol(pc9, Decl(promiseType.ts, 217, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) diff --git a/tests/baselines/reference/promiseTypeInference.symbols b/tests/baselines/reference/promiseTypeInference.symbols index 3f0f871f364..ae87c8a82b5 100644 --- a/tests/baselines/reference/promiseTypeInference.symbols +++ b/tests/baselines/reference/promiseTypeInference.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/promiseTypeInference.ts === declare class Promise { ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 22)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 22)) then(success?: (value: T) => Promise): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 26)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 26)) >U : Symbol(U, Decl(promiseTypeInference.ts, 1, 9)) >success : Symbol(success, Decl(promiseTypeInference.ts, 1, 12)) >value : Symbol(value, Decl(promiseTypeInference.ts, 1, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 22)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 22)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 0)) >U : Symbol(U, Decl(promiseTypeInference.ts, 1, 9)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 0)) >U : Symbol(U, Decl(promiseTypeInference.ts, 1, 9)) } interface IPromise { @@ -32,7 +32,7 @@ interface IPromise { declare function load(name: string): Promise; >load : Symbol(load, Decl(promiseTypeInference.ts, 5, 1)) >name : Symbol(name, Decl(promiseTypeInference.ts, 6, 22)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 0)) declare function convert(s: string): IPromise; >convert : Symbol(convert, Decl(promiseTypeInference.ts, 6, 53)) @@ -41,9 +41,9 @@ declare function convert(s: string): IPromise; var $$x = load("something").then(s => convert(s)); >$$x : Symbol($$x, Decl(promiseTypeInference.ts, 9, 3)) ->load("something").then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 26)) +>load("something").then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 26)) >load : Symbol(load, Decl(promiseTypeInference.ts, 5, 1)) ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 26)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promiseTypeInference.ts, 0, 26)) >s : Symbol(s, Decl(promiseTypeInference.ts, 9, 33)) >convert : Symbol(convert, Decl(promiseTypeInference.ts, 6, 53)) >s : Symbol(s, Decl(promiseTypeInference.ts, 9, 33)) diff --git a/tests/baselines/reference/promiseTypeStrictNull.symbols b/tests/baselines/reference/promiseTypeStrictNull.symbols index 8d986c691d0..4f95974eab5 100644 --- a/tests/baselines/reference/promiseTypeStrictNull.symbols +++ b/tests/baselines/reference/promiseTypeStrictNull.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/promiseTypeStrictNull.ts === declare var p: Promise; >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) declare var x: any; >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) @@ -73,7 +73,7 @@ async function E() { >e : Symbol(e, Decl(promiseTypeStrictNull.ts, 37, 11)) throw Error(); ->Error : Symbol(Error, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -91,10 +91,10 @@ async function F() { >e : Symbol(e, Decl(promiseTypeStrictNull.ts, 47, 11)) return Promise.reject(Error()); ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Error : Symbol(Error, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -131,7 +131,7 @@ async function H() { >e : Symbol(e, Decl(promiseTypeStrictNull.ts, 67, 11)) throw Error(); ->Error : Symbol(Error, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -150,10 +150,10 @@ async function I() { >e : Symbol(e, Decl(promiseTypeStrictNull.ts, 77, 11)) return Promise.reject(Error()); ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Error : Symbol(Error, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -161,931 +161,931 @@ async function I() { const p00 = p.catch(); >p00 : Symbol(p00, Decl(promiseTypeStrictNull.ts, 84, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) const p01 = p.then(); >p01 : Symbol(p01, Decl(promiseTypeStrictNull.ts, 85, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p10 = p.catch(undefined); >p10 : Symbol(p10, Decl(promiseTypeStrictNull.ts, 87, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p11 = p.catch(null); >p11 : Symbol(p11, Decl(promiseTypeStrictNull.ts, 88, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) const p12 = p.catch(() => 1); >p12 : Symbol(p12, Decl(promiseTypeStrictNull.ts, 89, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) const p13 = p.catch(() => x); >p13 : Symbol(p13, Decl(promiseTypeStrictNull.ts, 90, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p14 = p.catch(() => undefined); >p14 : Symbol(p14, Decl(promiseTypeStrictNull.ts, 91, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p15 = p.catch(() => null); >p15 : Symbol(p15, Decl(promiseTypeStrictNull.ts, 92, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) const p16 = p.catch(() => {}); >p16 : Symbol(p16, Decl(promiseTypeStrictNull.ts, 93, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) const p17 = p.catch(() => {throw 1}); >p17 : Symbol(p17, Decl(promiseTypeStrictNull.ts, 94, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) const p18 = p.catch(() => Promise.reject(1)); >p18 : Symbol(p18, Decl(promiseTypeStrictNull.ts, 95, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p19 = p.catch(() => Promise.resolve(1)); >p19 : Symbol(p19, Decl(promiseTypeStrictNull.ts, 96, 5)) ->p.catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) +>p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->catch : Symbol(Promise.catch, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p20 = p.then(undefined); >p20 : Symbol(p20, Decl(promiseTypeStrictNull.ts, 98, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p21 = p.then(null); >p21 : Symbol(p21, Decl(promiseTypeStrictNull.ts, 99, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p22 = p.then(() => 1); >p22 : Symbol(p22, Decl(promiseTypeStrictNull.ts, 100, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p23 = p.then(() => x); >p23 : Symbol(p23, Decl(promiseTypeStrictNull.ts, 101, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p24 = p.then(() => undefined); >p24 : Symbol(p24, Decl(promiseTypeStrictNull.ts, 102, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p25 = p.then(() => null); >p25 : Symbol(p25, Decl(promiseTypeStrictNull.ts, 103, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p26 = p.then(() => {}); >p26 : Symbol(p26, Decl(promiseTypeStrictNull.ts, 104, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p27 = p.then(() => {throw 1}); >p27 : Symbol(p27, Decl(promiseTypeStrictNull.ts, 105, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p28 = p.then(() => Promise.resolve(1)); >p28 : Symbol(p28, Decl(promiseTypeStrictNull.ts, 106, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p29 = p.then(() => Promise.reject(1)); >p29 : Symbol(p29, Decl(promiseTypeStrictNull.ts, 107, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p30 = p.then(undefined, undefined); >p30 : Symbol(p30, Decl(promiseTypeStrictNull.ts, 109, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >undefined : Symbol(undefined) const p31 = p.then(undefined, null); >p31 : Symbol(p31, Decl(promiseTypeStrictNull.ts, 110, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p32 = p.then(undefined, () => 1); >p32 : Symbol(p32, Decl(promiseTypeStrictNull.ts, 111, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p33 = p.then(undefined, () => x); >p33 : Symbol(p33, Decl(promiseTypeStrictNull.ts, 112, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p34 = p.then(undefined, () => undefined); >p34 : Symbol(p34, Decl(promiseTypeStrictNull.ts, 113, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >undefined : Symbol(undefined) const p35 = p.then(undefined, () => null); >p35 : Symbol(p35, Decl(promiseTypeStrictNull.ts, 114, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p36 = p.then(undefined, () => {}); >p36 : Symbol(p36, Decl(promiseTypeStrictNull.ts, 115, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p37 = p.then(undefined, () => {throw 1}); >p37 : Symbol(p37, Decl(promiseTypeStrictNull.ts, 116, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p38 = p.then(undefined, () => Promise.resolve(1)); >p38 : Symbol(p38, Decl(promiseTypeStrictNull.ts, 117, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p39 = p.then(undefined, () => Promise.reject(1)); >p39 : Symbol(p39, Decl(promiseTypeStrictNull.ts, 118, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p40 = p.then(null, undefined); >p40 : Symbol(p40, Decl(promiseTypeStrictNull.ts, 120, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p41 = p.then(null, null); >p41 : Symbol(p41, Decl(promiseTypeStrictNull.ts, 121, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p42 = p.then(null, () => 1); >p42 : Symbol(p42, Decl(promiseTypeStrictNull.ts, 122, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p43 = p.then(null, () => x); >p43 : Symbol(p43, Decl(promiseTypeStrictNull.ts, 123, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p44 = p.then(null, () => undefined); >p44 : Symbol(p44, Decl(promiseTypeStrictNull.ts, 124, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p45 = p.then(null, () => null); >p45 : Symbol(p45, Decl(promiseTypeStrictNull.ts, 125, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p46 = p.then(null, () => {}); >p46 : Symbol(p46, Decl(promiseTypeStrictNull.ts, 126, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p47 = p.then(null, () => {throw 1}); >p47 : Symbol(p47, Decl(promiseTypeStrictNull.ts, 127, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p48 = p.then(null, () => Promise.resolve(1)); >p48 : Symbol(p48, Decl(promiseTypeStrictNull.ts, 128, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p49 = p.then(null, () => Promise.reject(1)); >p49 : Symbol(p49, Decl(promiseTypeStrictNull.ts, 129, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p50 = p.then(() => "1", undefined); >p50 : Symbol(p50, Decl(promiseTypeStrictNull.ts, 131, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p51 = p.then(() => "1", null); >p51 : Symbol(p51, Decl(promiseTypeStrictNull.ts, 132, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p52 = p.then(() => "1", () => 1); >p52 : Symbol(p52, Decl(promiseTypeStrictNull.ts, 133, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p53 = p.then(() => "1", () => x); >p53 : Symbol(p53, Decl(promiseTypeStrictNull.ts, 134, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p54 = p.then(() => "1", () => undefined); >p54 : Symbol(p54, Decl(promiseTypeStrictNull.ts, 135, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p55 = p.then(() => "1", () => null); >p55 : Symbol(p55, Decl(promiseTypeStrictNull.ts, 136, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p56 = p.then(() => "1", () => {}); >p56 : Symbol(p56, Decl(promiseTypeStrictNull.ts, 137, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p57 = p.then(() => "1", () => {throw 1}); >p57 : Symbol(p57, Decl(promiseTypeStrictNull.ts, 138, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p58 = p.then(() => "1", () => Promise.resolve(1)); >p58 : Symbol(p58, Decl(promiseTypeStrictNull.ts, 139, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p59 = p.then(() => "1", () => Promise.reject(1)); >p59 : Symbol(p59, Decl(promiseTypeStrictNull.ts, 140, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p60 = p.then(() => x, undefined); >p60 : Symbol(p60, Decl(promiseTypeStrictNull.ts, 142, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) >undefined : Symbol(undefined) const p61 = p.then(() => x, null); >p61 : Symbol(p61, Decl(promiseTypeStrictNull.ts, 143, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p62 = p.then(() => x, () => 1); >p62 : Symbol(p62, Decl(promiseTypeStrictNull.ts, 144, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p63 = p.then(() => x, () => x); >p63 : Symbol(p63, Decl(promiseTypeStrictNull.ts, 145, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p64 = p.then(() => x, () => undefined); >p64 : Symbol(p64, Decl(promiseTypeStrictNull.ts, 146, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) >undefined : Symbol(undefined) const p65 = p.then(() => x, () => null); >p65 : Symbol(p65, Decl(promiseTypeStrictNull.ts, 147, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p66 = p.then(() => x, () => {}); >p66 : Symbol(p66, Decl(promiseTypeStrictNull.ts, 148, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p67 = p.then(() => x, () => {throw 1}); >p67 : Symbol(p67, Decl(promiseTypeStrictNull.ts, 149, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p68 = p.then(() => x, () => Promise.resolve(1)); >p68 : Symbol(p68, Decl(promiseTypeStrictNull.ts, 150, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p69 = p.then(() => x, () => Promise.reject(1)); >p69 : Symbol(p69, Decl(promiseTypeStrictNull.ts, 151, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p70 = p.then(() => undefined, undefined); >p70 : Symbol(p70, Decl(promiseTypeStrictNull.ts, 153, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >undefined : Symbol(undefined) const p71 = p.then(() => undefined, null); >p71 : Symbol(p71, Decl(promiseTypeStrictNull.ts, 154, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p72 = p.then(() => undefined, () => 1); >p72 : Symbol(p72, Decl(promiseTypeStrictNull.ts, 155, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p73 = p.then(() => undefined, () => x); >p73 : Symbol(p73, Decl(promiseTypeStrictNull.ts, 156, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p74 = p.then(() => undefined, () => undefined); >p74 : Symbol(p74, Decl(promiseTypeStrictNull.ts, 157, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) >undefined : Symbol(undefined) const p75 = p.then(() => undefined, () => null); >p75 : Symbol(p75, Decl(promiseTypeStrictNull.ts, 158, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p76 = p.then(() => undefined, () => {}); >p76 : Symbol(p76, Decl(promiseTypeStrictNull.ts, 159, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p77 = p.then(() => undefined, () => {throw 1}); >p77 : Symbol(p77, Decl(promiseTypeStrictNull.ts, 160, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p78 = p.then(() => undefined, () => Promise.resolve(1)); >p78 : Symbol(p78, Decl(promiseTypeStrictNull.ts, 161, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p79 = p.then(() => undefined, () => Promise.reject(1)); >p79 : Symbol(p79, Decl(promiseTypeStrictNull.ts, 162, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p80 = p.then(() => null, undefined); >p80 : Symbol(p80, Decl(promiseTypeStrictNull.ts, 164, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p81 = p.then(() => null, null); >p81 : Symbol(p81, Decl(promiseTypeStrictNull.ts, 165, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p82 = p.then(() => null, () => 1); >p82 : Symbol(p82, Decl(promiseTypeStrictNull.ts, 166, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p83 = p.then(() => null, () => x); >p83 : Symbol(p83, Decl(promiseTypeStrictNull.ts, 167, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p84 = p.then(() => null, () => undefined); >p84 : Symbol(p84, Decl(promiseTypeStrictNull.ts, 168, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p85 = p.then(() => null, () => null); >p85 : Symbol(p85, Decl(promiseTypeStrictNull.ts, 169, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p86 = p.then(() => null, () => {}); >p86 : Symbol(p86, Decl(promiseTypeStrictNull.ts, 170, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p87 = p.then(() => null, () => {throw 1}); >p87 : Symbol(p87, Decl(promiseTypeStrictNull.ts, 171, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p88 = p.then(() => null, () => Promise.resolve(1)); >p88 : Symbol(p88, Decl(promiseTypeStrictNull.ts, 172, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p89 = p.then(() => null, () => Promise.reject(1)); >p89 : Symbol(p89, Decl(promiseTypeStrictNull.ts, 173, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p90 = p.then(() => {}, undefined); >p90 : Symbol(p90, Decl(promiseTypeStrictNull.ts, 175, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p91 = p.then(() => {}, null); >p91 : Symbol(p91, Decl(promiseTypeStrictNull.ts, 176, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p92 = p.then(() => {}, () => 1); >p92 : Symbol(p92, Decl(promiseTypeStrictNull.ts, 177, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p93 = p.then(() => {}, () => x); >p93 : Symbol(p93, Decl(promiseTypeStrictNull.ts, 178, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const p94 = p.then(() => {}, () => undefined); >p94 : Symbol(p94, Decl(promiseTypeStrictNull.ts, 179, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const p95 = p.then(() => {}, () => null); >p95 : Symbol(p95, Decl(promiseTypeStrictNull.ts, 180, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p96 = p.then(() => {}, () => {}); >p96 : Symbol(p96, Decl(promiseTypeStrictNull.ts, 181, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p97 = p.then(() => {}, () => {throw 1}); >p97 : Symbol(p97, Decl(promiseTypeStrictNull.ts, 182, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const p98 = p.then(() => {}, () => Promise.resolve(1)); >p98 : Symbol(p98, Decl(promiseTypeStrictNull.ts, 183, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const p99 = p.then(() => {}, () => Promise.reject(1)); >p99 : Symbol(p99, Decl(promiseTypeStrictNull.ts, 184, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pa0 = p.then(() => {throw 1}, undefined); >pa0 : Symbol(pa0, Decl(promiseTypeStrictNull.ts, 186, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const pa1 = p.then(() => {throw 1}, null); >pa1 : Symbol(pa1, Decl(promiseTypeStrictNull.ts, 187, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const pa2 = p.then(() => {throw 1}, () => 1); >pa2 : Symbol(pa2, Decl(promiseTypeStrictNull.ts, 188, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const pa3 = p.then(() => {throw 1}, () => x); >pa3 : Symbol(pa3, Decl(promiseTypeStrictNull.ts, 189, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const pa4 = p.then(() => {throw 1}, () => undefined); >pa4 : Symbol(pa4, Decl(promiseTypeStrictNull.ts, 190, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) const pa5 = p.then(() => {throw 1}, () => null); >pa5 : Symbol(pa5, Decl(promiseTypeStrictNull.ts, 191, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const pa6 = p.then(() => {throw 1}, () => {}); >pa6 : Symbol(pa6, Decl(promiseTypeStrictNull.ts, 192, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const pa7 = p.then(() => {throw 1}, () => {throw 1}); >pa7 : Symbol(pa7, Decl(promiseTypeStrictNull.ts, 193, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >pa8 : Symbol(pa8, Decl(promiseTypeStrictNull.ts, 194, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >pa9 : Symbol(pa9, Decl(promiseTypeStrictNull.ts, 195, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pb0 = p.then(() => Promise.resolve("1"), undefined); >pb0 : Symbol(pb0, Decl(promiseTypeStrictNull.ts, 197, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >undefined : Symbol(undefined) const pb1 = p.then(() => Promise.resolve("1"), null); >pb1 : Symbol(pb1, Decl(promiseTypeStrictNull.ts, 198, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pb2 = p.then(() => Promise.resolve("1"), () => 1); >pb2 : Symbol(pb2, Decl(promiseTypeStrictNull.ts, 199, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pb3 = p.then(() => Promise.resolve("1"), () => x); >pb3 : Symbol(pb3, Decl(promiseTypeStrictNull.ts, 200, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const pb4 = p.then(() => Promise.resolve("1"), () => undefined); >pb4 : Symbol(pb4, Decl(promiseTypeStrictNull.ts, 201, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >undefined : Symbol(undefined) const pb5 = p.then(() => Promise.resolve("1"), () => null); >pb5 : Symbol(pb5, Decl(promiseTypeStrictNull.ts, 202, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pb6 = p.then(() => Promise.resolve("1"), () => {}); >pb6 : Symbol(pb6, Decl(promiseTypeStrictNull.ts, 203, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); >pb7 : Symbol(pb7, Decl(promiseTypeStrictNull.ts, 204, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >pb8 : Symbol(pb8, Decl(promiseTypeStrictNull.ts, 205, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >pb9 : Symbol(pb9, Decl(promiseTypeStrictNull.ts, 206, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc0 = p.then(() => Promise.reject("1"), undefined); >pc0 : Symbol(pc0, Decl(promiseTypeStrictNull.ts, 208, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >undefined : Symbol(undefined) const pc1 = p.then(() => Promise.reject("1"), null); >pc1 : Symbol(pc1, Decl(promiseTypeStrictNull.ts, 209, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc2 = p.then(() => Promise.reject("1"), () => 1); >pc2 : Symbol(pc2, Decl(promiseTypeStrictNull.ts, 210, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc3 = p.then(() => Promise.reject("1"), () => x); >pc3 : Symbol(pc3, Decl(promiseTypeStrictNull.ts, 211, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const pc4 = p.then(() => Promise.reject("1"), () => undefined); >pc4 : Symbol(pc4, Decl(promiseTypeStrictNull.ts, 212, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >undefined : Symbol(undefined) const pc5 = p.then(() => Promise.reject("1"), () => null); >pc5 : Symbol(pc5, Decl(promiseTypeStrictNull.ts, 213, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc6 = p.then(() => Promise.reject("1"), () => {}); >pc6 : Symbol(pc6, Decl(promiseTypeStrictNull.ts, 214, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); >pc7 : Symbol(pc7, Decl(promiseTypeStrictNull.ts, 215, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >pc8 : Symbol(pc8, Decl(promiseTypeStrictNull.ts, 216, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >pc9 : Symbol(pc9, Decl(promiseTypeStrictNull.ts, 217, 5)) ->p.then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) diff --git a/tests/baselines/reference/promiseVoidErrorCallback.symbols b/tests/baselines/reference/promiseVoidErrorCallback.symbols index c923ea234d8..e431bbd4a19 100644 --- a/tests/baselines/reference/promiseVoidErrorCallback.symbols +++ b/tests/baselines/reference/promiseVoidErrorCallback.symbols @@ -22,13 +22,13 @@ interface T3 { function f1(): Promise { >f1 : Symbol(f1, Decl(promiseVoidErrorCallback.ts, 10, 1)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T1 : Symbol(T1, Decl(promiseVoidErrorCallback.ts, 0, 0)) return Promise.resolve({ __t1: "foo_t1" }); ->Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >__t1 : Symbol(__t1, Decl(promiseVoidErrorCallback.ts, 13, 28)) } @@ -47,22 +47,22 @@ function f2(x: T1): T2 { var x3 = f1() >x3 : Symbol(x3, Decl(promiseVoidErrorCallback.ts, 20, 3)) ->f1() .then(f2, (e: Error) => { throw e;}) .then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) ->f1() .then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>f1() .then(f2, (e: Error) => { throw e;}) .then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>f1() .then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >f1 : Symbol(f1, Decl(promiseVoidErrorCallback.ts, 10, 1)) .then(f2, (e: Error) => { ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >f2 : Symbol(f2, Decl(promiseVoidErrorCallback.ts, 14, 1)) >e : Symbol(e, Decl(promiseVoidErrorCallback.ts, 21, 15)) ->Error : Symbol(Error, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) throw e; >e : Symbol(e, Decl(promiseVoidErrorCallback.ts, 21, 15)) }) .then((x: T2) => { ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseVoidErrorCallback.ts, 24, 11)) >T2 : Symbol(T2, Decl(promiseVoidErrorCallback.ts, 2, 1)) diff --git a/tests/baselines/reference/promises.symbols b/tests/baselines/reference/promises.symbols index 19aa9b1450f..858d9e4ed14 100644 --- a/tests/baselines/reference/promises.symbols +++ b/tests/baselines/reference/promises.symbols @@ -1,31 +1,31 @@ === tests/cases/compiler/promises.ts === interface Promise { ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promises.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promises.ts, 0, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promises.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promises.ts, 0, 18)) then(success?: (value: T) => U): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promises.ts, 0, 22), Decl(promises.ts, 1, 51)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promises.ts, 0, 22), Decl(promises.ts, 1, 51)) >U : Symbol(U, Decl(promises.ts, 1, 9)) >success : Symbol(success, Decl(promises.ts, 1, 12)) >value : Symbol(value, Decl(promises.ts, 1, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promises.ts, 0, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promises.ts, 0, 18)) >U : Symbol(U, Decl(promises.ts, 1, 9)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promises.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promises.ts, 0, 0)) >U : Symbol(U, Decl(promises.ts, 1, 9)) then(success?: (value: T) => Promise): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promises.ts, 0, 22), Decl(promises.ts, 1, 51)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promises.ts, 0, 22), Decl(promises.ts, 1, 51)) >U : Symbol(U, Decl(promises.ts, 2, 9)) >success : Symbol(success, Decl(promises.ts, 2, 12)) >value : Symbol(value, Decl(promises.ts, 2, 23)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promises.ts, 0, 18)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promises.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promises.ts, 0, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promises.ts, 0, 0)) >U : Symbol(U, Decl(promises.ts, 2, 9)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promises.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promises.ts, 0, 0)) >U : Symbol(U, Decl(promises.ts, 2, 9)) value: T; >value : Symbol(Promise.value, Decl(promises.ts, 2, 60)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promises.ts, 0, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promises.ts, 0, 18)) } diff --git a/tests/baselines/reference/promisesWithConstraints.symbols b/tests/baselines/reference/promisesWithConstraints.symbols index edfe83e608c..a45e3073166 100644 --- a/tests/baselines/reference/promisesWithConstraints.symbols +++ b/tests/baselines/reference/promisesWithConstraints.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/promisesWithConstraints.ts === interface Promise { ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 18)) then(cb: (x: T) => Promise): Promise; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 22)) >U : Symbol(U, Decl(promisesWithConstraints.ts, 1, 9)) >cb : Symbol(cb, Decl(promisesWithConstraints.ts, 1, 12)) >x : Symbol(x, Decl(promisesWithConstraints.ts, 1, 17)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 18)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) >U : Symbol(U, Decl(promisesWithConstraints.ts, 1, 9)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) >U : Symbol(U, Decl(promisesWithConstraints.ts, 1, 9)) } @@ -27,9 +27,9 @@ interface CPromise { >cb : Symbol(cb, Decl(promisesWithConstraints.ts, 5, 32)) >x : Symbol(x, Decl(promisesWithConstraints.ts, 5, 37)) >T : Symbol(T, Decl(promisesWithConstraints.ts, 4, 19)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) >U : Symbol(U, Decl(promisesWithConstraints.ts, 5, 9)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) >U : Symbol(U, Decl(promisesWithConstraints.ts, 5, 9)) } @@ -44,12 +44,12 @@ interface Bar { x; y; } var a: Promise; >a : Symbol(a, Decl(promisesWithConstraints.ts, 11, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) >Foo : Symbol(Foo, Decl(promisesWithConstraints.ts, 6, 1)) var b: Promise; >b : Symbol(b, Decl(promisesWithConstraints.ts, 12, 3)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(promisesWithConstraints.ts, 0, 0)) >Bar : Symbol(Bar, Decl(promisesWithConstraints.ts, 8, 20)) a = b; // ok diff --git a/tests/baselines/reference/propagationOfPromiseInitialization.symbols b/tests/baselines/reference/propagationOfPromiseInitialization.symbols index ce60dd5818d..431c5ed8b6a 100644 --- a/tests/baselines/reference/propagationOfPromiseInitialization.symbols +++ b/tests/baselines/reference/propagationOfPromiseInitialization.symbols @@ -36,9 +36,9 @@ foo.then((x) => { // x is inferred to be string x.length; ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(propagationOfPromiseInitialization.ts, 8, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) return 123; }); diff --git a/tests/baselines/reference/propertyAccess.symbols b/tests/baselines/reference/propertyAccess.symbols index 512a40462e4..825a7e8a9ef 100644 --- a/tests/baselines/reference/propertyAccess.symbols +++ b/tests/baselines/reference/propertyAccess.symbols @@ -114,9 +114,9 @@ var aa = obj.x; // Dotted property access of property that exists on value's apparent type var bb = obj.hasOwnProperty; >bb : Symbol(bb, Decl(propertyAccess.ts, 41, 3)) ->obj.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>obj.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(propertyAccess.ts, 20, 3)) ->hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) // Dotted property access of property that doesn't exist on value's apparent type var cc = obj.qqq; // error diff --git a/tests/baselines/reference/propertyAccess7.symbols b/tests/baselines/reference/propertyAccess7.symbols index 9f9dd879f6a..4f334f7c44a 100644 --- a/tests/baselines/reference/propertyAccess7.symbols +++ b/tests/baselines/reference/propertyAccess7.symbols @@ -3,7 +3,7 @@ var foo: string; >foo : Symbol(foo, Decl(propertyAccess7.ts, 0, 3)) foo.toUpperCase(); ->foo.toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>foo.toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >foo : Symbol(foo, Decl(propertyAccess7.ts, 0, 3)) ->toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/propertyAccessExpressionInnerComments.symbols b/tests/baselines/reference/propertyAccessExpressionInnerComments.symbols index a8a7214c555..439195f985b 100644 --- a/tests/baselines/reference/propertyAccessExpressionInnerComments.symbols +++ b/tests/baselines/reference/propertyAccessExpressionInnerComments.symbols @@ -1,31 +1,31 @@ === tests/cases/compiler/propertyAccessExpressionInnerComments.ts === /*1*/Array/*2*/./*3*/toString/*4*/ ->Array/*2*/./*3*/toString : Symbol(Function.toString, Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->toString : Symbol(Function.toString, Decl(lib.d.ts, --, --)) +>Array/*2*/./*3*/toString : Symbol(Function.toString, Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Function.toString, Decl(lib.es5.d.ts, --, --)) /*1*/Array ->Array/*2*/./*3*/ // Single-line comment toString : Symbol(Function.toString, Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array/*2*/./*3*/ // Single-line comment toString : Symbol(Function.toString, Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) /*2*/./*3*/ // Single-line comment toString/*4*/ ->toString : Symbol(Function.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Function.toString, Decl(lib.es5.d.ts, --, --)) /*1*/Array/*2*/./*3*/ ->Array/*2*/./*3*/ // Single-line comment toString : Symbol(Function.toString, Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array/*2*/./*3*/ // Single-line comment toString : Symbol(Function.toString, Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // Single-line comment toString/*4*/ ->toString : Symbol(Function.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Function.toString, Decl(lib.es5.d.ts, --, --)) /*1*/Array ->Array // Single-line comment /*2*/./*3*/toString : Symbol(Function.toString, Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array // Single-line comment /*2*/./*3*/toString : Symbol(Function.toString, Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) // Single-line comment /*2*/./*3*/toString/*4*/ ->toString : Symbol(Function.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Function.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/propertyAccessNumericLiterals.es6.symbols b/tests/baselines/reference/propertyAccessNumericLiterals.es6.symbols index 36544cc1c40..dc0be21d84f 100644 --- a/tests/baselines/reference/propertyAccessNumericLiterals.es6.symbols +++ b/tests/baselines/reference/propertyAccessNumericLiterals.es6.symbols @@ -1,21 +1,21 @@ === tests/cases/conformance/es6/propertyAccess/propertyAccessNumericLiterals.es6.ts === 0xffffffff.toString(); ->0xffffffff.toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) ->toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>0xffffffff.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) 0o01234.toString(); ->0o01234.toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) ->toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>0o01234.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) 0b01101101.toString(); ->0b01101101.toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) ->toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>0b01101101.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) 1234..toString(); ->1234..toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) ->toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>1234..toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) 1e0.toString(); ->1e0.toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) ->toString : Symbol(Number.toString, Decl(lib.es6.d.ts, --, --)) +>1e0.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/propertyAccessNumericLiterals.symbols b/tests/baselines/reference/propertyAccessNumericLiterals.symbols index 5be13615e90..4f1d5e6fa22 100644 --- a/tests/baselines/reference/propertyAccessNumericLiterals.symbols +++ b/tests/baselines/reference/propertyAccessNumericLiterals.symbols @@ -1,25 +1,25 @@ === tests/cases/conformance/expressions/propertyAccess/propertyAccessNumericLiterals.ts === 0xffffffff.toString(); ->0xffffffff.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>0xffffffff.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) 0o01234.toString(); ->0o01234.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>0o01234.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) 0b01101101.toString(); ->0b01101101.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>0b01101101.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) 1234..toString(); ->1234..toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>1234..toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) 1e0.toString(); ->1e0.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>1e0.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) 000.toString(); ->000.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>000.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/propertyAccessOnObjectLiteral.symbols b/tests/baselines/reference/propertyAccessOnObjectLiteral.symbols index 5d4dff2dbce..5a4fa1824ed 100644 --- a/tests/baselines/reference/propertyAccessOnObjectLiteral.symbols +++ b/tests/baselines/reference/propertyAccessOnObjectLiteral.symbols @@ -3,15 +3,15 @@ class A { } >A : Symbol(A, Decl(propertyAccessOnObjectLiteral.ts, 0, 0)) ({}).toString(); ->({}).toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>({}).toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >A : Symbol(A, Decl(propertyAccessOnObjectLiteral.ts, 0, 0)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) (() => { ({}).toString(); ->({}).toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>({}).toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >A : Symbol(A, Decl(propertyAccessOnObjectLiteral.ts, 0, 0)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) })(); diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.symbols b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.symbols index 4fba2250833..716cdee9dc3 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.symbols +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.symbols @@ -5,7 +5,7 @@ class C { >C : Symbol(C, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 0, 0)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 3, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) f() { >f : Symbol(C.f, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 3, 25)) @@ -17,13 +17,13 @@ class C { var a = x['getDate'](); // number >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 6, 11)) >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 5, 11)) ->'getDate' : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>'getDate' : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) return a + x.getDate(); >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 6, 11)) ->x.getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>x.getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 5, 11)) ->getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) } } @@ -31,13 +31,13 @@ var r = (new C()).f(); >r : Symbol(r, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 11, 3)) >(new C()).f : Symbol(C.f, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 3, 25)) >C : Symbol(C, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >f : Symbol(C.f, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 3, 25)) interface I { >I : Symbol(I, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 11, 28)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 13, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo: T; >foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 13, 29)) @@ -46,42 +46,42 @@ interface I { var i: I; >i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 16, 3)) >I : Symbol(I, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 11, 28)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r2 = i.foo.getDate(); >r2 : Symbol(r2, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 17, 3)) ->i.foo.getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>i.foo.getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) >i.foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 13, 29)) >i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 16, 3)) >foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 13, 29)) ->getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) var r2b = i.foo['getDate'](); >r2b : Symbol(r2b, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 18, 3)) >i.foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 13, 29)) >i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 16, 3)) >foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 13, 29)) ->'getDate' : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>'getDate' : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) var a: { >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 20, 3)) (): T; >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 21, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 21, 5)) } var r3 = a().getDate(); >r3 : Symbol(r3, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 23, 3)) ->a().getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>a().getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 20, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) var r3b = a()['getDate'](); >r3b : Symbol(r3b, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 24, 3)) >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 20, 3)) ->'getDate' : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>'getDate' : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) var b = { >b : Symbol(b, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 26, 3)) @@ -89,20 +89,20 @@ var b = { foo: (x: T) => { >foo : Symbol(foo, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 26, 9)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 27, 10)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 27, 26)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 27, 10)) var a = x['getDate'](); // number >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 28, 11)) >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 27, 26)) ->'getDate' : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>'getDate' : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) return a + x.getDate(); >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 28, 11)) ->x.getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>x.getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 27, 26)) ->getDate : Symbol(Date.getDate, Decl(lib.d.ts, --, --)) +>getDate : Symbol(Date.getDate, Decl(lib.es5.d.ts, --, --)) } } @@ -111,5 +111,5 @@ var r4 = b.foo(new Date()); >b.foo : Symbol(foo, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 26, 9)) >b : Symbol(b, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 26, 3)) >foo : Symbol(foo, Decl(propertyAccessOnTypeParameterWithConstraints.ts, 26, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.symbols b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.symbols index ebd33d4dcc1..74593afb65c 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.symbols +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.symbols @@ -2,7 +2,7 @@ class C { >C : Symbol(C, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 0, 0)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 0, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) f() { >f : Symbol(C.f, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 0, 25)) @@ -25,13 +25,13 @@ var r = (new C()).f(); >r : Symbol(r, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 8, 3)) >(new C()).f : Symbol(C.f, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 0, 25)) >C : Symbol(C, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >f : Symbol(C.f, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 0, 25)) interface I { >I : Symbol(I, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 8, 28)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 10, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo: T; >foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 10, 29)) @@ -40,7 +40,7 @@ interface I { var i: I; >i : Symbol(i, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 13, 3)) >I : Symbol(I, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 8, 28)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r2 = i.foo.notHere(); >r2 : Symbol(r2, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 14, 3)) @@ -59,7 +59,7 @@ var a: { (): T; >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 18, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 18, 5)) } var r3: string = a().notHere(); @@ -76,7 +76,7 @@ var b = { foo: (x: T): T => { >foo : Symbol(foo, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 23, 9)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 24, 10)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 24, 26)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 24, 10)) >T : Symbol(T, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 24, 10)) @@ -98,5 +98,5 @@ var b = { var r4 = b.foo(new Date()); >r4 : Symbol(r4, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 31, 3)) >b : Symbol(b, Decl(propertyAccessOnTypeParameterWithConstraints4.ts, 23, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.symbols b/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.symbols index 4ae9957f41e..fbbfb557ef6 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.symbols +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.symbols @@ -13,13 +13,13 @@ class C { var a = x['toString'](); // should be string >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 3, 11)) >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 2, 11)) ->'toString' : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>'toString' : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) return a + x.toString(); >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 3, 11)) ->x.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 2, 11)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) } } @@ -43,18 +43,18 @@ var i: I; var r2 = i.foo.toString(); >r2 : Symbol(r2, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 14, 3)) ->i.foo.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>i.foo.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >i.foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 10, 16)) >i : Symbol(i, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 13, 3)) >foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 10, 16)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) var r2b = i.foo['toString'](); >r2b : Symbol(r2b, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 15, 3)) >i.foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 10, 16)) >i : Symbol(i, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 13, 3)) >foo : Symbol(I.foo, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 10, 16)) ->'toString' : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>'toString' : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) var a: { >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 17, 3)) @@ -65,14 +65,14 @@ var a: { } var r3: string = a().toString(); >r3 : Symbol(r3, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 20, 3)) ->a().toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>a().toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 17, 3)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) var r3b: string = a()['toString'](); >r3b : Symbol(r3b, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 21, 3)) >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 17, 3)) ->'toString' : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>'toString' : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) var b = { >b : Symbol(b, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 23, 3)) @@ -86,13 +86,13 @@ var b = { var a = x['toString'](); // should be string >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 25, 11)) >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 24, 13)) ->'toString' : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>'toString' : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) return a + x.toString(); >a : Symbol(a, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 25, 11)) ->x.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(propertyAccessOnTypeParameterWithoutConstraints.ts, 24, 13)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/protoAssignment.symbols b/tests/baselines/reference/protoAssignment.symbols index 09b042cb89d..737cd620b7b 100644 --- a/tests/baselines/reference/protoAssignment.symbols +++ b/tests/baselines/reference/protoAssignment.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/protoAssignment.ts === interface Number extends Comparable { ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(protoAssignment.ts, 0, 0)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(protoAssignment.ts, 0, 0)) compareTo(other: number); >compareTo : Symbol(Number.compareTo, Decl(protoAssignment.ts, 0, 45)) @@ -10,9 +10,9 @@ interface Number extends Comparable { Number.prototype.compareTo = function (other: number) { >Number.prototype.compareTo : Symbol(Number.compareTo, Decl(protoAssignment.ts, 0, 45)) ->Number.prototype : Symbol(NumberConstructor.prototype, Decl(lib.d.ts, --, --)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(protoAssignment.ts, 0, 0)) ->prototype : Symbol(NumberConstructor.prototype, Decl(lib.d.ts, --, --)) +>Number.prototype : Symbol(NumberConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(protoAssignment.ts, 0, 0)) +>prototype : Symbol(NumberConstructor.prototype, Decl(lib.es5.d.ts, --, --)) >compareTo : Symbol(Number.compareTo, Decl(protoAssignment.ts, 0, 45)) >other : Symbol(other, Decl(protoAssignment.ts, 6, 39)) diff --git a/tests/baselines/reference/prototypeOnConstructorFunctions.symbols b/tests/baselines/reference/prototypeOnConstructorFunctions.symbols index 56764468350..ec80b4c6217 100644 --- a/tests/baselines/reference/prototypeOnConstructorFunctions.symbols +++ b/tests/baselines/reference/prototypeOnConstructorFunctions.symbols @@ -15,9 +15,9 @@ var i: I1; i.const.prototype.prop = "yo"; ->i.const.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>i.const.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >i.const : Symbol(I1.const, Decl(prototypeOnConstructorFunctions.ts, 0, 14)) >i : Symbol(i, Decl(prototypeOnConstructorFunctions.ts, 5, 3)) >const : Symbol(I1.const, Decl(prototypeOnConstructorFunctions.ts, 0, 14)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/prototypes.symbols b/tests/baselines/reference/prototypes.symbols index adeab681c68..500f75bc4d2 100644 --- a/tests/baselines/reference/prototypes.symbols +++ b/tests/baselines/reference/prototypes.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/prototypes.ts === Object.prototype; // ok ->Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) +>Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) new Object().prototype; // error ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function f() {} >f : Symbol(f, Decl(prototypes.ts, 1, 23)) f.prototype; ->f.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>f.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(prototypes.ts, 1, 23)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/reachabilityCheckWithEmptyDefault.symbols b/tests/baselines/reference/reachabilityCheckWithEmptyDefault.symbols index 1133cf38daa..884828b5c55 100644 --- a/tests/baselines/reference/reachabilityCheckWithEmptyDefault.symbols +++ b/tests/baselines/reference/reachabilityCheckWithEmptyDefault.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/reachabilityCheckWithEmptyDefault.ts === declare function print(s: string): void; ->print : Symbol(print, Decl(lib.d.ts, --, --), Decl(reachabilityCheckWithEmptyDefault.ts, 0, 0)) +>print : Symbol(print, Decl(lib.dom.d.ts, --, --), Decl(reachabilityCheckWithEmptyDefault.ts, 0, 0)) >s : Symbol(s, Decl(reachabilityCheckWithEmptyDefault.ts, 0, 23)) function foo(x: any) { @@ -14,5 +14,5 @@ function foo(x: any) { default: } print('1'); ->print : Symbol(print, Decl(lib.d.ts, --, --), Decl(reachabilityCheckWithEmptyDefault.ts, 0, 0)) +>print : Symbol(print, Decl(lib.dom.d.ts, --, --), Decl(reachabilityCheckWithEmptyDefault.ts, 0, 0)) } diff --git a/tests/baselines/reference/reachabilityChecks1.symbols b/tests/baselines/reference/reachabilityChecks1.symbols index a28021455dc..8263f0d7e4c 100644 --- a/tests/baselines/reference/reachabilityChecks1.symbols +++ b/tests/baselines/reference/reachabilityChecks1.symbols @@ -67,7 +67,7 @@ function f1(x) { } else { throw new Error("123"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var x; >x : Symbol(x, Decl(reachabilityChecks1.ts, 34, 12), Decl(reachabilityChecks1.ts, 41, 7)) @@ -109,7 +109,7 @@ function f4() { if (true) { throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } const enum E { >E : Symbol(E, Decl(reachabilityChecks1.ts, 67, 5)) diff --git a/tests/baselines/reference/reachabilityChecks5.symbols b/tests/baselines/reference/reachabilityChecks5.symbols index 5187ab37a0f..887bc8202d9 100644 --- a/tests/baselines/reference/reachabilityChecks5.symbols +++ b/tests/baselines/reference/reachabilityChecks5.symbols @@ -25,7 +25,7 @@ function f2(x): number { >x : Symbol(x, Decl(reachabilityChecks5.ts, 10, 12)) throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } return 1; } @@ -38,7 +38,7 @@ function f3(x): number { >x : Symbol(x, Decl(reachabilityChecks5.ts, 17, 12)) throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -50,7 +50,7 @@ function f3_1 (x): number { >x : Symbol(x, Decl(reachabilityChecks5.ts, 23, 15)) } throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f4(x): number { @@ -100,7 +100,7 @@ function f6(x): number { else { throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } catch (e) { @@ -120,7 +120,7 @@ function f7(x): number { } else { throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } catch (e) { diff --git a/tests/baselines/reference/reachabilityChecks6.symbols b/tests/baselines/reference/reachabilityChecks6.symbols index fef9df4ade8..9bd44b1b771 100644 --- a/tests/baselines/reference/reachabilityChecks6.symbols +++ b/tests/baselines/reference/reachabilityChecks6.symbols @@ -25,7 +25,7 @@ function f2(x) { >x : Symbol(x, Decl(reachabilityChecks6.ts, 10, 12)) throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } return 1; } @@ -38,7 +38,7 @@ function f3(x) { >x : Symbol(x, Decl(reachabilityChecks6.ts, 17, 12)) throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -50,7 +50,7 @@ function f3_1 (x) { >x : Symbol(x, Decl(reachabilityChecks6.ts, 23, 15)) } throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f4(x) { @@ -100,7 +100,7 @@ function f6(x) { else { throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } catch (e) { @@ -120,7 +120,7 @@ function f7(x) { } else { throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } catch (e) { diff --git a/tests/baselines/reference/reachabilityChecks7.symbols b/tests/baselines/reference/reachabilityChecks7.symbols index 1a2e1d01f57..8a7f3925be6 100644 --- a/tests/baselines/reference/reachabilityChecks7.symbols +++ b/tests/baselines/reference/reachabilityChecks7.symbols @@ -11,7 +11,7 @@ let x = async function() { // async function with which promised type is void - return can be omitted async function f2(): Promise { >f2 : Symbol(f2, Decl(reachabilityChecks7.ts, 5, 1)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } @@ -25,7 +25,7 @@ async function f3(x) { async function f4(): Promise { >f4 : Symbol(f4, Decl(reachabilityChecks7.ts, 14, 1)) ->Promise : Symbol(Promise, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/readonlyInDeclarationFile.symbols b/tests/baselines/reference/readonlyInDeclarationFile.symbols index 9ec0e7f5e78..4bdd60470b8 100644 --- a/tests/baselines/reference/readonlyInDeclarationFile.symbols +++ b/tests/baselines/reference/readonlyInDeclarationFile.symbols @@ -7,7 +7,7 @@ interface Foo { readonly [x: string]: Object; >x : Symbol(x, Decl(readonlyInDeclarationFile.ts, 2, 14)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } class C { @@ -15,7 +15,7 @@ class C { readonly [x: string]: Object; >x : Symbol(x, Decl(readonlyInDeclarationFile.ts, 6, 14)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) private readonly a1: number; >a1 : Symbol(C.a1, Decl(readonlyInDeclarationFile.ts, 6, 33)) @@ -104,7 +104,7 @@ var z: { readonly [x: string]: Object; >x : Symbol(x, Decl(readonlyInDeclarationFile.ts, 35, 14)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f() { @@ -134,7 +134,7 @@ function g() { readonly [x: string]: Object; >x : Symbol(x, Decl(readonlyInDeclarationFile.ts, 49, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } return x; >x : Symbol(x, Decl(readonlyInDeclarationFile.ts, 47, 7)) diff --git a/tests/baselines/reference/recursiveComplicatedClasses.symbols b/tests/baselines/reference/recursiveComplicatedClasses.symbols index 3d69c41630c..dc1cc397b46 100644 --- a/tests/baselines/reference/recursiveComplicatedClasses.symbols +++ b/tests/baselines/reference/recursiveComplicatedClasses.symbols @@ -10,13 +10,13 @@ class Signature { function aEnclosesB(a: Symbol) { >aEnclosesB : Symbol(aEnclosesB, Decl(recursiveComplicatedClasses.ts, 2, 1)) >a : Symbol(a, Decl(recursiveComplicatedClasses.ts, 4, 20)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(recursiveComplicatedClasses.ts, 6, 1)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(recursiveComplicatedClasses.ts, 6, 1)) return true; } class Symbol { ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(recursiveComplicatedClasses.ts, 6, 1)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(recursiveComplicatedClasses.ts, 6, 1)) public bound: boolean; >bound : Symbol(Symbol.bound, Decl(recursiveComplicatedClasses.ts, 8, 14)) @@ -36,7 +36,7 @@ class Symbol { } class InferenceSymbol extends Symbol { >InferenceSymbol : Symbol(InferenceSymbol, Decl(recursiveComplicatedClasses.ts, 15, 1)) ->Symbol : Symbol(Symbol, Decl(lib.d.ts, --, --), Decl(recursiveComplicatedClasses.ts, 6, 1)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(recursiveComplicatedClasses.ts, 6, 1)) } class ParameterSymbol extends InferenceSymbol { diff --git a/tests/baselines/reference/recursiveTypeComparison2.symbols b/tests/baselines/reference/recursiveTypeComparison2.symbols index fb231211e1f..ade409e5ef7 100644 --- a/tests/baselines/reference/recursiveTypeComparison2.symbols +++ b/tests/baselines/reference/recursiveTypeComparison2.symbols @@ -82,7 +82,7 @@ declare module Bacon { decode(mapping: Object): Property; >decode : Symbol(Observable.decode, Decl(recursiveTypeComparison2.ts, 12, 113)) >mapping : Symbol(mapping, Decl(recursiveTypeComparison2.ts, 13, 15)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Property : Symbol(Property, Decl(recursiveTypeComparison2.ts, 19, 5)) awaiting(other: Observable): Property; diff --git a/tests/baselines/reference/recursiveTypeRelations.symbols b/tests/baselines/reference/recursiveTypeRelations.symbols index 39032cd2f94..57cd29bb71b 100644 --- a/tests/baselines/reference/recursiveTypeRelations.symbols +++ b/tests/baselines/reference/recursiveTypeRelations.symbols @@ -68,9 +68,9 @@ export function css(styles: S, ...classNam const args = classNames.map(arg => { >args : Symbol(args, Decl(recursiveTypeRelations.ts, 18, 7)) ->classNames.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>classNames.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >classNames : Symbol(classNames, Decl(recursiveTypeRelations.ts, 17, 68)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >arg : Symbol(arg, Decl(recursiveTypeRelations.ts, 18, 30)) if (arg == null) { @@ -89,12 +89,12 @@ export function css(styles: S, ...classNam >arg : Symbol(arg, Decl(recursiveTypeRelations.ts, 18, 30)) return Object.keys(arg).reduce((obj: ClassNameObject, key: keyof S) => { ->Object.keys(arg).reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object.keys : Symbol(ObjectConstructor.keys, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->keys : Symbol(ObjectConstructor.keys, Decl(lib.d.ts, --, --)) +>Object.keys(arg).reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object.keys : Symbol(ObjectConstructor.keys, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>keys : Symbol(ObjectConstructor.keys, Decl(lib.es5.d.ts, --, --)) >arg : Symbol(arg, Decl(recursiveTypeRelations.ts, 18, 30)) ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(recursiveTypeRelations.ts, 26, 55)) >key : Symbol(key, Decl(recursiveTypeRelations.ts, 26, 76)) >S : Symbol(S, Decl(recursiveTypeRelations.ts, 17, 20)) diff --git a/tests/baselines/reference/recursiveTypesWithTypeof.symbols b/tests/baselines/reference/recursiveTypesWithTypeof.symbols index 735d4c23724..a8f19d3a18b 100644 --- a/tests/baselines/reference/recursiveTypesWithTypeof.symbols +++ b/tests/baselines/reference/recursiveTypesWithTypeof.symbols @@ -27,7 +27,7 @@ interface Foo { } var f: Array; >f : Symbol(f, Decl(recursiveTypesWithTypeof.ts, 9, 3), Decl(recursiveTypesWithTypeof.ts, 10, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(recursiveTypesWithTypeof.ts, 9, 3), Decl(recursiveTypesWithTypeof.ts, 10, 3)) var f: any; @@ -159,7 +159,7 @@ var hy1 = hy1[0].x; var hy2: { x: Array }; >hy2 : Symbol(hy2, Decl(recursiveTypesWithTypeof.ts, 44, 3), Decl(recursiveTypesWithTypeof.ts, 45, 3)) >x : Symbol(x, Decl(recursiveTypesWithTypeof.ts, 44, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >hy2 : Symbol(hy2, Decl(recursiveTypesWithTypeof.ts, 44, 3), Decl(recursiveTypesWithTypeof.ts, 45, 3)) var hy2 = hy2.x[0]; diff --git a/tests/baselines/reference/redefineArray.symbols b/tests/baselines/reference/redefineArray.symbols index 007e5c08495..c4ce786368d 100644 --- a/tests/baselines/reference/redefineArray.symbols +++ b/tests/baselines/reference/redefineArray.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/redefineArray.ts === Array = function (n:number, s:string) {return n;}; ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(redefineArray.ts, 0, 18)) >s : Symbol(s, Decl(redefineArray.ts, 0, 27)) >n : Symbol(n, Decl(redefineArray.ts, 0, 18)) diff --git a/tests/baselines/reference/regExpWithSlashInCharClass.symbols b/tests/baselines/reference/regExpWithSlashInCharClass.symbols index 6ee33e12b45..66fc2e0b588 100644 --- a/tests/baselines/reference/regExpWithSlashInCharClass.symbols +++ b/tests/baselines/reference/regExpWithSlashInCharClass.symbols @@ -1,16 +1,16 @@ === tests/cases/compiler/regExpWithSlashInCharClass.ts === var foo1 = "a/".replace(/.[/]/, ""); >foo1 : Symbol(foo1, Decl(regExpWithSlashInCharClass.ts, 0, 3)) ->"a/".replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>"a/".replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var foo2 = "a//".replace(/.[//]/g, ""); >foo2 : Symbol(foo2, Decl(regExpWithSlashInCharClass.ts, 1, 3)) ->"a//".replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>"a//".replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var foo3 = "a/".replace(/.[/no sleep /till/]/, "bugfix"); >foo3 : Symbol(foo3, Decl(regExpWithSlashInCharClass.ts, 2, 3)) ->"a/".replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->replace : Symbol(String.replace, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>"a/".replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>replace : Symbol(String.replace, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/relativePathToDeclarationFile.symbols b/tests/baselines/reference/relativePathToDeclarationFile.symbols index 5aa953178d5..633e095ee97 100644 --- a/tests/baselines/reference/relativePathToDeclarationFile.symbols +++ b/tests/baselines/reference/relativePathToDeclarationFile.symbols @@ -18,13 +18,13 @@ if(foo.M2.x){ var x = new relMod(other.M2.x.charCodeAt(0)); >x : Symbol(x, Decl(file1.ts, 5, 4)) >relMod : Symbol(relMod, Decl(file1.ts, 1, 34)) ->other.M2.x.charCodeAt : Symbol(String.charCodeAt, Decl(lib.d.ts, --, --)) +>other.M2.x.charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --)) >other.M2.x : Symbol(other.M2.x, Decl(other.d.ts, 1, 11)) >other.M2 : Symbol(other.M2, Decl(other.d.ts, 0, 0)) >other : Symbol(other, Decl(file1.ts, 0, 28)) >M2 : Symbol(other.M2, Decl(other.d.ts, 0, 0)) >x : Symbol(other.M2.x, Decl(other.d.ts, 1, 11)) ->charCodeAt : Symbol(String.charCodeAt, Decl(lib.d.ts, --, --)) +>charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --)) } === tests/cases/conformance/externalModules/test/foo.d.ts === diff --git a/tests/baselines/reference/restArgAssignmentCompat.symbols b/tests/baselines/reference/restArgAssignmentCompat.symbols index 36b751cf202..b2a0556610a 100644 --- a/tests/baselines/reference/restArgAssignmentCompat.symbols +++ b/tests/baselines/reference/restArgAssignmentCompat.symbols @@ -4,9 +4,9 @@ function f(...x: number[]) { >x : Symbol(x, Decl(restArgAssignmentCompat.ts, 0, 11)) x.forEach((n, i) => void ('item ' + i + ' = ' + n)); ->x.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>x.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(restArgAssignmentCompat.ts, 0, 11)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(restArgAssignmentCompat.ts, 1, 15)) >i : Symbol(i, Decl(restArgAssignmentCompat.ts, 1, 17)) >i : Symbol(i, Decl(restArgAssignmentCompat.ts, 1, 17)) diff --git a/tests/baselines/reference/restParametersOfNonArrayTypes.symbols b/tests/baselines/reference/restParametersOfNonArrayTypes.symbols index ff0351a5866..085856ff283 100644 --- a/tests/baselines/reference/restParametersOfNonArrayTypes.symbols +++ b/tests/baselines/reference/restParametersOfNonArrayTypes.symbols @@ -13,7 +13,7 @@ var f = function foo(...x: number) { } var f2 = (...x: Date, ...y: boolean) => { } >f2 : Symbol(f2, Decl(restParametersOfNonArrayTypes.ts, 4, 3)) >x : Symbol(x, Decl(restParametersOfNonArrayTypes.ts, 4, 10)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >y : Symbol(y, Decl(restParametersOfNonArrayTypes.ts, 4, 21)) class C { @@ -60,7 +60,7 @@ var b = { >foo : Symbol(foo, Decl(restParametersOfNonArrayTypes.ts, 22, 6)) >x : Symbol(x, Decl(restParametersOfNonArrayTypes.ts, 22, 20)) >y : Symbol(y, Decl(restParametersOfNonArrayTypes.ts, 22, 33)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) b: (...x: string) => { } >b : Symbol(b, Decl(restParametersOfNonArrayTypes.ts, 22, 50)) diff --git a/tests/baselines/reference/restParametersOfNonArrayTypes2.symbols b/tests/baselines/reference/restParametersOfNonArrayTypes2.symbols index 18a8294fc4b..1bfa87148b0 100644 --- a/tests/baselines/reference/restParametersOfNonArrayTypes2.symbols +++ b/tests/baselines/reference/restParametersOfNonArrayTypes2.symbols @@ -4,12 +4,12 @@ interface MyThing extends Array { } >MyThing : Symbol(MyThing, Decl(restParametersOfNonArrayTypes2.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) interface MyThing2 extends Array { } >MyThing2 : Symbol(MyThing2, Decl(restParametersOfNonArrayTypes2.ts, 3, 40)) >T : Symbol(T, Decl(restParametersOfNonArrayTypes2.ts, 4, 19)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(restParametersOfNonArrayTypes2.ts, 4, 19)) function foo(...x: MyThing) { } diff --git a/tests/baselines/reference/restParametersWithArrayTypeAnnotations.symbols b/tests/baselines/reference/restParametersWithArrayTypeAnnotations.symbols index dabda2fd551..c215228ed74 100644 --- a/tests/baselines/reference/restParametersWithArrayTypeAnnotations.symbols +++ b/tests/baselines/reference/restParametersWithArrayTypeAnnotations.symbols @@ -70,20 +70,20 @@ var b = { function foo2(...x: Array) { } >foo2 : Symbol(foo2, Decl(restParametersWithArrayTypeAnnotations.ts, 24, 1)) >x : Symbol(x, Decl(restParametersWithArrayTypeAnnotations.ts, 29, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var f3 = function foo(...x: Array) { } >f3 : Symbol(f3, Decl(restParametersWithArrayTypeAnnotations.ts, 30, 3)) >foo : Symbol(foo, Decl(restParametersWithArrayTypeAnnotations.ts, 30, 8)) >x : Symbol(x, Decl(restParametersWithArrayTypeAnnotations.ts, 30, 22)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var f4 = (...x: Array, ...y: Array) => { } >f4 : Symbol(f4, Decl(restParametersWithArrayTypeAnnotations.ts, 31, 3)) >x : Symbol(x, Decl(restParametersWithArrayTypeAnnotations.ts, 31, 10)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(restParametersWithArrayTypeAnnotations.ts, 31, 30)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) class C2 { >C2 : Symbol(C2, Decl(restParametersWithArrayTypeAnnotations.ts, 31, 58)) @@ -91,7 +91,7 @@ class C2 { foo(...x: Array) { } >foo : Symbol(C2.foo, Decl(restParametersWithArrayTypeAnnotations.ts, 33, 10)) >x : Symbol(x, Decl(restParametersWithArrayTypeAnnotations.ts, 34, 8)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } interface I2 { @@ -99,14 +99,14 @@ interface I2 { (...x: Array); >x : Symbol(x, Decl(restParametersWithArrayTypeAnnotations.ts, 38, 5)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo(...x: Array, ...y: Array); >foo : Symbol(I2.foo, Decl(restParametersWithArrayTypeAnnotations.ts, 38, 26)) >x : Symbol(x, Decl(restParametersWithArrayTypeAnnotations.ts, 39, 8)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(restParametersWithArrayTypeAnnotations.ts, 39, 28)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var a2: { @@ -114,12 +114,12 @@ var a2: { (...x: Array); >x : Symbol(x, Decl(restParametersWithArrayTypeAnnotations.ts, 43, 5)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo(...x: Array); >foo : Symbol(foo, Decl(restParametersWithArrayTypeAnnotations.ts, 43, 26)) >x : Symbol(x, Decl(restParametersWithArrayTypeAnnotations.ts, 44, 8)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } var b2 = { @@ -128,18 +128,18 @@ var b2 = { foo(...x: Array) { }, >foo : Symbol(foo, Decl(restParametersWithArrayTypeAnnotations.ts, 47, 10)) >x : Symbol(x, Decl(restParametersWithArrayTypeAnnotations.ts, 48, 8)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) a: function foo(...x: Array, ...y: Array) { }, >a : Symbol(a, Decl(restParametersWithArrayTypeAnnotations.ts, 48, 33)) >foo : Symbol(foo, Decl(restParametersWithArrayTypeAnnotations.ts, 49, 6)) >x : Symbol(x, Decl(restParametersWithArrayTypeAnnotations.ts, 49, 20)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(restParametersWithArrayTypeAnnotations.ts, 49, 40)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) b: (...x: Array) => { } >b : Symbol(b, Decl(restParametersWithArrayTypeAnnotations.ts, 49, 66)) >x : Symbol(x, Decl(restParametersWithArrayTypeAnnotations.ts, 50, 8)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/returnStatements.symbols b/tests/baselines/reference/returnStatements.symbols index 65e90694184..b56aebbffae 100644 --- a/tests/baselines/reference/returnStatements.symbols +++ b/tests/baselines/reference/returnStatements.symbols @@ -18,8 +18,8 @@ function fn5(): boolean { return true; } function fn6(): Date { return new Date(12); } >fn6 : Symbol(fn6, Decl(returnStatements.ts, 5, 40)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function fn7(): any { return null; } >fn7 : Symbol(fn7, Decl(returnStatements.ts, 6, 45)) diff --git a/tests/baselines/reference/returnTypeParameterWithModules.symbols b/tests/baselines/reference/returnTypeParameterWithModules.symbols index eb56940b604..f147c3f79a2 100644 --- a/tests/baselines/reference/returnTypeParameterWithModules.symbols +++ b/tests/baselines/reference/returnTypeParameterWithModules.symbols @@ -8,17 +8,17 @@ module M1 { >ar : Symbol(ar, Decl(returnTypeParameterWithModules.ts, 1, 30)) >f : Symbol(f, Decl(returnTypeParameterWithModules.ts, 1, 33)) >e : Symbol(e, Decl(returnTypeParameterWithModules.ts, 1, 36)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >A : Symbol(A, Decl(returnTypeParameterWithModules.ts, 1, 27)) return Array.prototype.reduce.apply(ar, e ? [f, e] : [f]); ->Array.prototype.reduce.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) ->Array.prototype.reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Array.prototype : Symbol(ArrayConstructor.prototype, Decl(lib.d.ts, --, --)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ArrayConstructor.prototype, Decl(lib.d.ts, --, --)) ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>Array.prototype.reduce.apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) +>Array.prototype.reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Array.prototype : Symbol(ArrayConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ArrayConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>apply : Symbol(Function.apply, Decl(lib.es5.d.ts, --, --)) >ar : Symbol(ar, Decl(returnTypeParameterWithModules.ts, 1, 30)) >e : Symbol(e, Decl(returnTypeParameterWithModules.ts, 1, 36)) >f : Symbol(f, Decl(returnTypeParameterWithModules.ts, 1, 33)) diff --git a/tests/baselines/reference/reverseInferenceInContextualInstantiation.symbols b/tests/baselines/reference/reverseInferenceInContextualInstantiation.symbols index 48cf549efad..89a1b2015fa 100644 --- a/tests/baselines/reference/reverseInferenceInContextualInstantiation.symbols +++ b/tests/baselines/reference/reverseInferenceInContextualInstantiation.symbols @@ -11,8 +11,8 @@ var x: number[]; >x : Symbol(x, Decl(reverseInferenceInContextualInstantiation.ts, 1, 3)) x.sort(compare); // Error, but shouldn't be ->x.sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>x.sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(reverseInferenceInContextualInstantiation.ts, 1, 3)) ->sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) >compare : Symbol(compare, Decl(reverseInferenceInContextualInstantiation.ts, 0, 0)) diff --git a/tests/baselines/reference/scannerS7.2_A1.5_T2.symbols b/tests/baselines/reference/scannerS7.2_A1.5_T2.symbols index 3fed17b6781..4aa87fe7df6 100644 --- a/tests/baselines/reference/scannerS7.2_A1.5_T2.symbols +++ b/tests/baselines/reference/scannerS7.2_A1.5_T2.symbols @@ -11,7 +11,7 @@ //CHECK#1 eval("\u00A0var x\u00A0= 1\u00A0"); ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) if (x !== 1) { >x : Symbol(x, Decl(scannerS7.2_A1.5_T2.ts, 17, 4)) diff --git a/tests/baselines/reference/scopeResolutionIdentifiers.symbols b/tests/baselines/reference/scopeResolutionIdentifiers.symbols index d0e2e41c82d..2dbde58371b 100644 --- a/tests/baselines/reference/scopeResolutionIdentifiers.symbols +++ b/tests/baselines/reference/scopeResolutionIdentifiers.symbols @@ -51,7 +51,7 @@ class C { s: Date; >s : Symbol(C.s, Decl(scopeResolutionIdentifiers.ts, 21, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) n = this.s; >n : Symbol(C.n, Decl(scopeResolutionIdentifiers.ts, 22, 12)) @@ -70,7 +70,7 @@ class C { var p: Date; >p : Symbol(p, Decl(scopeResolutionIdentifiers.ts, 25, 11), Decl(scopeResolutionIdentifiers.ts, 26, 11)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } } diff --git a/tests/baselines/reference/selfReferencesInFunctionParameters.symbols b/tests/baselines/reference/selfReferencesInFunctionParameters.symbols index 5ac89306b87..118e6e132e2 100644 --- a/tests/baselines/reference/selfReferencesInFunctionParameters.symbols +++ b/tests/baselines/reference/selfReferencesInFunctionParameters.symbols @@ -25,8 +25,8 @@ class C { >bar : Symbol(C.bar, Decl(selfReferencesInFunctionParameters.ts, 8, 5)) >a : Symbol(a, Decl(selfReferencesInFunctionParameters.ts, 10, 8)) >b : Symbol(b, Decl(selfReferencesInFunctionParameters.ts, 10, 15)) ->b.toString : Symbol(String.toString, Decl(lib.d.ts, --, --)) +>b.toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(selfReferencesInFunctionParameters.ts, 10, 15)) ->toString : Symbol(String.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.symbols b/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.symbols index 52fc8b9a9a9..2599ea3f207 100644 --- a/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.symbols +++ b/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.symbols @@ -13,7 +13,7 @@ function MyClass() { MyClass.prototype.optionalParam = function(required, notRequired) { >MyClass.prototype : Symbol(MyClass.optionalParam, Decl(jsDocOptionality.js, 2, 1)) >MyClass : Symbol(MyClass, Decl(jsDocOptionality.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >optionalParam : Symbol(MyClass.optionalParam, Decl(jsDocOptionality.js, 2, 1)) >required : Symbol(required, Decl(jsDocOptionality.js, 8, 43)) >notRequired : Symbol(notRequired, Decl(jsDocOptionality.js, 8, 52)) diff --git a/tests/baselines/reference/simpleArrowFunctionParameterReferencedInObjectLiteral1.symbols b/tests/baselines/reference/simpleArrowFunctionParameterReferencedInObjectLiteral1.symbols index 49528257830..3b53fe7dd9b 100644 --- a/tests/baselines/reference/simpleArrowFunctionParameterReferencedInObjectLiteral1.symbols +++ b/tests/baselines/reference/simpleArrowFunctionParameterReferencedInObjectLiteral1.symbols @@ -1,9 +1,9 @@ === tests/cases/compiler/simpleArrowFunctionParameterReferencedInObjectLiteral1.ts === [].map(() => [].map(p => ({ X: p }))); ->[].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->[].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>[].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>[].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(simpleArrowFunctionParameterReferencedInObjectLiteral1.ts, 0, 20)) >X : Symbol(X, Decl(simpleArrowFunctionParameterReferencedInObjectLiteral1.ts, 0, 27)) >p : Symbol(p, Decl(simpleArrowFunctionParameterReferencedInObjectLiteral1.ts, 0, 20)) diff --git a/tests/baselines/reference/sourceMap-FileWithComments.symbols b/tests/baselines/reference/sourceMap-FileWithComments.symbols index 70135a317d0..70c03b28413 100644 --- a/tests/baselines/reference/sourceMap-FileWithComments.symbols +++ b/tests/baselines/reference/sourceMap-FileWithComments.symbols @@ -24,9 +24,9 @@ module Shapes { // Instance member getDist() { return Math.sqrt(this.x * this.x + this.y * this.y); } >getDist : Symbol(Point.getDist, Decl(sourceMap-FileWithComments.ts, 11, 59)) ->Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) +>Math.sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sqrt : Symbol(Math.sqrt, Decl(lib.es5.d.ts, --, --)) >this.x : Symbol(Point.x, Decl(sourceMap-FileWithComments.ts, 11, 20)) >this : Symbol(Point, Decl(sourceMap-FileWithComments.ts, 6, 15)) >x : Symbol(Point.x, Decl(sourceMap-FileWithComments.ts, 11, 20)) diff --git a/tests/baselines/reference/sourceMapSample.symbols b/tests/baselines/reference/sourceMapSample.symbols index 6d50b4b6838..189f54e7ef2 100644 --- a/tests/baselines/reference/sourceMapSample.symbols +++ b/tests/baselines/reference/sourceMapSample.symbols @@ -61,15 +61,15 @@ module Foo.Bar { for (var i = 0; i < restGreetings.length; i++) { >i : Symbol(i, Decl(sourceMapSample.ts, 23, 16)) >i : Symbol(i, Decl(sourceMapSample.ts, 23, 16)) ->restGreetings.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>restGreetings.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >restGreetings : Symbol(restGreetings, Decl(sourceMapSample.ts, 20, 35)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(sourceMapSample.ts, 23, 16)) greeters.push(new Greeter(restGreetings[i])); ->greeters.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>greeters.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >greeters : Symbol(greeters, Decl(sourceMapSample.ts, 21, 11)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >Greeter : Symbol(Greeter, Decl(sourceMapSample.ts, 1, 17)) >restGreetings : Symbol(restGreetings, Decl(sourceMapSample.ts, 20, 35)) >i : Symbol(i, Decl(sourceMapSample.ts, 23, 16)) @@ -86,9 +86,9 @@ module Foo.Bar { for (var j = 0; j < b.length; j++) { >j : Symbol(j, Decl(sourceMapSample.ts, 31, 12)) >j : Symbol(j, Decl(sourceMapSample.ts, 31, 12)) ->b.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>b.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(sourceMapSample.ts, 30, 7)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >j : Symbol(j, Decl(sourceMapSample.ts, 31, 12)) b[j].greet(); diff --git a/tests/baselines/reference/sourceMapValidationClasses.symbols b/tests/baselines/reference/sourceMapValidationClasses.symbols index 3386730e4f9..a17105fafb2 100644 --- a/tests/baselines/reference/sourceMapValidationClasses.symbols +++ b/tests/baselines/reference/sourceMapValidationClasses.symbols @@ -60,15 +60,15 @@ module Foo.Bar { for (var i = 0; i < restGreetings.length; i++) { >i : Symbol(i, Decl(sourceMapValidationClasses.ts, 23, 16)) >i : Symbol(i, Decl(sourceMapValidationClasses.ts, 23, 16)) ->restGreetings.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>restGreetings.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >restGreetings : Symbol(restGreetings, Decl(sourceMapValidationClasses.ts, 20, 35)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(sourceMapValidationClasses.ts, 23, 16)) greeters.push(new Greeter(restGreetings[i])); ->greeters.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>greeters.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >greeters : Symbol(greeters, Decl(sourceMapValidationClasses.ts, 21, 11)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >Greeter : Symbol(Greeter, Decl(sourceMapValidationClasses.ts, 1, 17)) >restGreetings : Symbol(restGreetings, Decl(sourceMapValidationClasses.ts, 20, 35)) >i : Symbol(i, Decl(sourceMapValidationClasses.ts, 23, 16)) @@ -86,9 +86,9 @@ module Foo.Bar { for (var j = 0; j < b.length; j++) { >j : Symbol(j, Decl(sourceMapValidationClasses.ts, 32, 12)) >j : Symbol(j, Decl(sourceMapValidationClasses.ts, 32, 12)) ->b.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>b.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(sourceMapValidationClasses.ts, 30, 7)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >j : Symbol(j, Decl(sourceMapValidationClasses.ts, 32, 12)) b[j].greet(); diff --git a/tests/baselines/reference/sourceMapValidationDecorators.symbols b/tests/baselines/reference/sourceMapValidationDecorators.symbols index 72e47dabe0b..9ad0b531ab1 100644 --- a/tests/baselines/reference/sourceMapValidationDecorators.symbols +++ b/tests/baselines/reference/sourceMapValidationDecorators.symbols @@ -2,35 +2,35 @@ declare function ClassDecorator1(target: Function): void; >ClassDecorator1 : Symbol(ClassDecorator1, Decl(sourceMapValidationDecorators.ts, 0, 0)) >target : Symbol(target, Decl(sourceMapValidationDecorators.ts, 0, 33)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare function ClassDecorator2(x: number): (target: Function) => void; >ClassDecorator2 : Symbol(ClassDecorator2, Decl(sourceMapValidationDecorators.ts, 0, 57)) >x : Symbol(x, Decl(sourceMapValidationDecorators.ts, 1, 33)) >target : Symbol(target, Decl(sourceMapValidationDecorators.ts, 1, 46)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare function PropertyDecorator1(target: Object, key: string | symbol, descriptor?: PropertyDescriptor): void; >PropertyDecorator1 : Symbol(PropertyDecorator1, Decl(sourceMapValidationDecorators.ts, 1, 72)) >target : Symbol(target, Decl(sourceMapValidationDecorators.ts, 2, 36)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >key : Symbol(key, Decl(sourceMapValidationDecorators.ts, 2, 51)) >descriptor : Symbol(descriptor, Decl(sourceMapValidationDecorators.ts, 2, 73)) ->PropertyDescriptor : Symbol(PropertyDescriptor, Decl(lib.d.ts, --, --)) +>PropertyDescriptor : Symbol(PropertyDescriptor, Decl(lib.es5.d.ts, --, --)) declare function PropertyDecorator2(x: number): (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void; >PropertyDecorator2 : Symbol(PropertyDecorator2, Decl(sourceMapValidationDecorators.ts, 2, 113)) >x : Symbol(x, Decl(sourceMapValidationDecorators.ts, 3, 36)) >target : Symbol(target, Decl(sourceMapValidationDecorators.ts, 3, 49)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >key : Symbol(key, Decl(sourceMapValidationDecorators.ts, 3, 64)) >descriptor : Symbol(descriptor, Decl(sourceMapValidationDecorators.ts, 3, 86)) ->PropertyDescriptor : Symbol(PropertyDescriptor, Decl(lib.d.ts, --, --)) +>PropertyDescriptor : Symbol(PropertyDescriptor, Decl(lib.es5.d.ts, --, --)) declare function ParameterDecorator1(target: Object, key: string | symbol, paramIndex: number): void; >ParameterDecorator1 : Symbol(ParameterDecorator1, Decl(sourceMapValidationDecorators.ts, 3, 128)) >target : Symbol(target, Decl(sourceMapValidationDecorators.ts, 4, 37)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >key : Symbol(key, Decl(sourceMapValidationDecorators.ts, 4, 52)) >paramIndex : Symbol(paramIndex, Decl(sourceMapValidationDecorators.ts, 4, 74)) @@ -38,7 +38,7 @@ declare function ParameterDecorator2(x: number): (target: Object, key: string | >ParameterDecorator2 : Symbol(ParameterDecorator2, Decl(sourceMapValidationDecorators.ts, 4, 101)) >x : Symbol(x, Decl(sourceMapValidationDecorators.ts, 5, 37)) >target : Symbol(target, Decl(sourceMapValidationDecorators.ts, 5, 50)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >key : Symbol(key, Decl(sourceMapValidationDecorators.ts, 5, 65)) >paramIndex : Symbol(paramIndex, Decl(sourceMapValidationDecorators.ts, 5, 87)) diff --git a/tests/baselines/reference/sourceMapValidationFor.symbols b/tests/baselines/reference/sourceMapValidationFor.symbols index c9031f54cec..312e7d21343 100644 --- a/tests/baselines/reference/sourceMapValidationFor.symbols +++ b/tests/baselines/reference/sourceMapValidationFor.symbols @@ -5,9 +5,9 @@ for (var i = 0; i < 10; i++) { >i : Symbol(i, Decl(sourceMapValidationFor.ts, 0, 8)) WScript.Echo("i: " + i); ->WScript.Echo : Symbol(Echo, Decl(lib.d.ts, --, --)) ->WScript : Symbol(WScript, Decl(lib.d.ts, --, --)) ->Echo : Symbol(Echo, Decl(lib.d.ts, --, --)) +>WScript.Echo : Symbol(Echo, Decl(lib.scripthost.d.ts, --, --)) +>WScript : Symbol(WScript, Decl(lib.scripthost.d.ts, --, --)) +>Echo : Symbol(Echo, Decl(lib.scripthost.d.ts, --, --)) >i : Symbol(i, Decl(sourceMapValidationFor.ts, 0, 8)) } for (i = 0; i < 10; i++) @@ -16,9 +16,9 @@ for (i = 0; i < 10; i++) >i : Symbol(i, Decl(sourceMapValidationFor.ts, 0, 8)) { WScript.Echo("i: " + i); ->WScript.Echo : Symbol(Echo, Decl(lib.d.ts, --, --)) ->WScript : Symbol(WScript, Decl(lib.d.ts, --, --)) ->Echo : Symbol(Echo, Decl(lib.d.ts, --, --)) +>WScript.Echo : Symbol(Echo, Decl(lib.scripthost.d.ts, --, --)) +>WScript : Symbol(WScript, Decl(lib.scripthost.d.ts, --, --)) +>Echo : Symbol(Echo, Decl(lib.scripthost.d.ts, --, --)) >i : Symbol(i, Decl(sourceMapValidationFor.ts, 0, 8)) } for (var j = 0; j < 10; ) { diff --git a/tests/baselines/reference/sourceMapValidationForIn.symbols b/tests/baselines/reference/sourceMapValidationForIn.symbols index 89edde365df..d0a8033dce9 100644 --- a/tests/baselines/reference/sourceMapValidationForIn.symbols +++ b/tests/baselines/reference/sourceMapValidationForIn.symbols @@ -1,41 +1,41 @@ === tests/cases/compiler/sourceMapValidationForIn.ts === for (var x in String) { >x : Symbol(x, Decl(sourceMapValidationForIn.ts, 0, 8)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) WScript.Echo(x); ->WScript.Echo : Symbol(Echo, Decl(lib.d.ts, --, --)) ->WScript : Symbol(WScript, Decl(lib.d.ts, --, --)) ->Echo : Symbol(Echo, Decl(lib.d.ts, --, --)) +>WScript.Echo : Symbol(Echo, Decl(lib.scripthost.d.ts, --, --)) +>WScript : Symbol(WScript, Decl(lib.scripthost.d.ts, --, --)) +>Echo : Symbol(Echo, Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(sourceMapValidationForIn.ts, 0, 8)) } for (x in String) { >x : Symbol(x, Decl(sourceMapValidationForIn.ts, 0, 8)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) WScript.Echo(x); ->WScript.Echo : Symbol(Echo, Decl(lib.d.ts, --, --)) ->WScript : Symbol(WScript, Decl(lib.d.ts, --, --)) ->Echo : Symbol(Echo, Decl(lib.d.ts, --, --)) +>WScript.Echo : Symbol(Echo, Decl(lib.scripthost.d.ts, --, --)) +>WScript : Symbol(WScript, Decl(lib.scripthost.d.ts, --, --)) +>Echo : Symbol(Echo, Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(sourceMapValidationForIn.ts, 0, 8)) } for (var x2 in String) >x2 : Symbol(x2, Decl(sourceMapValidationForIn.ts, 6, 8)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) { WScript.Echo(x2); ->WScript.Echo : Symbol(Echo, Decl(lib.d.ts, --, --)) ->WScript : Symbol(WScript, Decl(lib.d.ts, --, --)) ->Echo : Symbol(Echo, Decl(lib.d.ts, --, --)) +>WScript.Echo : Symbol(Echo, Decl(lib.scripthost.d.ts, --, --)) +>WScript : Symbol(WScript, Decl(lib.scripthost.d.ts, --, --)) +>Echo : Symbol(Echo, Decl(lib.scripthost.d.ts, --, --)) >x2 : Symbol(x2, Decl(sourceMapValidationForIn.ts, 6, 8)) } for (x in String) >x : Symbol(x, Decl(sourceMapValidationForIn.ts, 0, 8)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) { WScript.Echo(x); ->WScript.Echo : Symbol(Echo, Decl(lib.d.ts, --, --)) ->WScript : Symbol(WScript, Decl(lib.d.ts, --, --)) ->Echo : Symbol(Echo, Decl(lib.d.ts, --, --)) +>WScript.Echo : Symbol(Echo, Decl(lib.scripthost.d.ts, --, --)) +>WScript : Symbol(WScript, Decl(lib.scripthost.d.ts, --, --)) +>Echo : Symbol(Echo, Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(sourceMapValidationForIn.ts, 0, 8)) } diff --git a/tests/baselines/reference/sourceMapValidationStatements.symbols b/tests/baselines/reference/sourceMapValidationStatements.symbols index 1bdacf0b1ad..5aca0a85302 100644 --- a/tests/baselines/reference/sourceMapValidationStatements.symbols +++ b/tests/baselines/reference/sourceMapValidationStatements.symbols @@ -92,7 +92,7 @@ function f() { } try { throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } catch (e1) { >e1 : Symbol(e1, Decl(sourceMapValidationStatements.ts, 37, 13)) @@ -177,7 +177,7 @@ function f() { >z : Symbol(z, Decl(sourceMapValidationStatements.ts, 71, 7)) eval("y"); ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) return; } diff --git a/tests/baselines/reference/sourceMapValidationTryCatchFinally.symbols b/tests/baselines/reference/sourceMapValidationTryCatchFinally.symbols index 321d262d9e7..0c2acccf7e0 100644 --- a/tests/baselines/reference/sourceMapValidationTryCatchFinally.symbols +++ b/tests/baselines/reference/sourceMapValidationTryCatchFinally.symbols @@ -26,7 +26,7 @@ try >x : Symbol(x, Decl(sourceMapValidationTryCatchFinally.ts, 0, 3)) throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } catch (e) >e : Symbol(e, Decl(sourceMapValidationTryCatchFinally.ts, 13, 7)) diff --git a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.symbols b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.symbols index 4d16c332d82..f30fd79cf1f 100644 --- a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.symbols +++ b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.symbols @@ -6,10 +6,10 @@ module M { >X : Symbol(X, Decl(a.ts, 1, 14)) } interface Navigator { ->Navigator : Symbol(Navigator, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(a.ts, 2, 1)) +>Navigator : Symbol(Navigator, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(a.ts, 2, 1)) getGamepads(func?: any): any; ->getGamepads : Symbol(Navigator.getGamepads, Decl(lib.d.ts, --, --), Decl(a.ts, 3, 21)) +>getGamepads : Symbol(Navigator.getGamepads, Decl(lib.dom.d.ts, --, --), Decl(a.ts, 3, 21)) >func : Symbol(func, Decl(a.ts, 4, 16)) webkitGetGamepads(func?: any): any diff --git a/tests/baselines/reference/specializationError.symbols b/tests/baselines/reference/specializationError.symbols index 4879d167713..89b0b18d00b 100644 --- a/tests/baselines/reference/specializationError.symbols +++ b/tests/baselines/reference/specializationError.symbols @@ -1,13 +1,13 @@ === tests/cases/compiler/specializationError.ts === interface Promise { ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(specializationError.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(specializationError.ts, 0, 18)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(specializationError.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(specializationError.ts, 0, 18)) then(value: T): void; ->then : Symbol(Promise.then, Decl(lib.d.ts, --, --), Decl(specializationError.ts, 0, 22)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --), Decl(specializationError.ts, 0, 22)) >U : Symbol(U, Decl(specializationError.ts, 1, 9)) >value : Symbol(value, Decl(specializationError.ts, 1, 12)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(specializationError.ts, 0, 18)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(specializationError.ts, 0, 18)) } interface Bar { @@ -16,21 +16,21 @@ interface Bar { bar(value: "Menu"): Promise; >bar : Symbol(Bar.bar, Decl(specializationError.ts, 4, 15), Decl(specializationError.ts, 5, 40), Decl(specializationError.ts, 6, 55)) >value : Symbol(value, Decl(specializationError.ts, 5, 8)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(specializationError.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(specializationError.ts, 0, 0)) bar(value: string, element: string): Promise; >bar : Symbol(Bar.bar, Decl(specializationError.ts, 4, 15), Decl(specializationError.ts, 5, 40), Decl(specializationError.ts, 6, 55)) >T : Symbol(T, Decl(specializationError.ts, 6, 8)) >value : Symbol(value, Decl(specializationError.ts, 6, 11)) >element : Symbol(element, Decl(specializationError.ts, 6, 25)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(specializationError.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(specializationError.ts, 0, 0)) >T : Symbol(T, Decl(specializationError.ts, 6, 8)) bar(value: string): Promise; >bar : Symbol(Bar.bar, Decl(specializationError.ts, 4, 15), Decl(specializationError.ts, 5, 40), Decl(specializationError.ts, 6, 55)) >T : Symbol(T, Decl(specializationError.ts, 7, 8)) >value : Symbol(value, Decl(specializationError.ts, 7, 11)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --), Decl(specializationError.ts, 0, 0)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(specializationError.ts, 0, 0)) >T : Symbol(T, Decl(specializationError.ts, 7, 8)) } diff --git a/tests/baselines/reference/specializationsShouldNotAffectEachOther.symbols b/tests/baselines/reference/specializationsShouldNotAffectEachOther.symbols index cf2a3aa41cd..5d9ae19f588 100644 --- a/tests/baselines/reference/specializationsShouldNotAffectEachOther.symbols +++ b/tests/baselines/reference/specializationsShouldNotAffectEachOther.symbols @@ -22,9 +22,9 @@ function foo() { >series2 : Symbol(series2, Decl(specializationsShouldNotAffectEachOther.ts, 11, 7)) series2.map(seriesExtent); ->series2.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>series2.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >series2 : Symbol(series2, Decl(specializationsShouldNotAffectEachOther.ts, 11, 7)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >seriesExtent : Symbol(seriesExtent, Decl(specializationsShouldNotAffectEachOther.ts, 9, 7)) return null; @@ -33,11 +33,11 @@ function foo() { var keyExtent2: any[] = series.data.map(function (d: string) { return d; }); >keyExtent2 : Symbol(keyExtent2, Decl(specializationsShouldNotAffectEachOther.ts, 18, 3)) ->series.data.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>series.data.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >series.data : Symbol(Series.data, Decl(specializationsShouldNotAffectEachOther.ts, 0, 19)) >series : Symbol(series, Decl(specializationsShouldNotAffectEachOther.ts, 4, 3)) >data : Symbol(Series.data, Decl(specializationsShouldNotAffectEachOther.ts, 0, 19)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >d : Symbol(d, Decl(specializationsShouldNotAffectEachOther.ts, 18, 50)) >d : Symbol(d, Decl(specializationsShouldNotAffectEachOther.ts, 18, 50)) diff --git a/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.symbols b/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.symbols index e131f138d27..db18cb795e8 100644 --- a/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.symbols +++ b/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.symbols @@ -44,7 +44,7 @@ class C2 { class C3 { >C3 : Symbol(C3, Decl(specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts, 13, 1)) >T : Symbol(T, Decl(specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts, 15, 9)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo(x: 'a'); >foo : Symbol(C3.foo, Decl(specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts, 15, 28), Decl(specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts, 16, 16), Decl(specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts, 17, 14)) @@ -102,7 +102,7 @@ interface I2 { interface I3 { >I3 : Symbol(I3, Decl(specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts, 33, 1)) >T : Symbol(T, Decl(specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts, 35, 13)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) (x: 'a'); >x : Symbol(x, Decl(specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts, 36, 5)) @@ -179,7 +179,7 @@ var a3: { foo(x: T); >foo : Symbol(foo, Decl(specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts, 58, 14), Decl(specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts, 59, 16)) >T : Symbol(T, Decl(specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts, 60, 8)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts, 60, 26)) >T : Symbol(T, Decl(specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts, 60, 8)) } diff --git a/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.symbols b/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.symbols index 164361c14ac..d042b5ccbe6 100644 --- a/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.symbols +++ b/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.symbols @@ -55,7 +55,7 @@ class C2 { class C3 { >C3 : Symbol(C3, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 18, 1)) >T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 9)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo(x: 'a'); >foo : Symbol(C3.foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14)) @@ -131,7 +131,7 @@ interface I2 { interface I3 { >I3 : Symbol(I3, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 43, 1)) >T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 45, 13)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) (x: 'a'); >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 46, 5)) @@ -236,7 +236,7 @@ var a3: { foo(x: T); >foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 75, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 76, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 77, 16)) >T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 78, 8)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 78, 26)) >T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 78, 8)) } diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols index f217f42a8d6..5bcfebca97c 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols @@ -36,9 +36,9 @@ class ListWrapper2 { >array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 12, 43)) >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 12, 15)) >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 12, 15)) ->array.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>array.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) >array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 12, 43)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) static reversed(dit: typeof ListWrapper2, array: T[]): T[] { >reversed : Symbol(ListWrapper2.reversed, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 12, 87)) @@ -88,9 +88,9 @@ namespace tessst { for (let i = 0, len = array.length; i < len; i++) { >i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 26, 20)) >len : Symbol(len, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 26, 27)) ->array.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 24, 35)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 26, 20)) >len : Symbol(len, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 26, 27)) >i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 26, 20)) @@ -136,7 +136,7 @@ class ListWrapper { >dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 25)) >ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) >size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 49)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 75)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 75)) >size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 42, 49)) static createGrowableSize(dit: typeof ListWrapper, size: number): any[] { return new Array(size); } @@ -144,7 +144,7 @@ class ListWrapper { >dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 28)) >ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) >size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 52)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 75)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 75)) >size : Symbol(size, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 43, 52)) static clone(dit: typeof ListWrapper, array: T[]): T[] { return array.slice(0); } @@ -155,9 +155,9 @@ class ListWrapper { >array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 44, 42)) >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 44, 15)) >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 44, 15)) ->array.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>array.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) >array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 44, 42)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) static forEachWithIndex(dit: typeof ListWrapper, array: T[], fn: (t: T, n: number) => void) { >forEachWithIndex : Symbol(ListWrapper.forEachWithIndex, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 44, 86)) @@ -174,9 +174,9 @@ class ListWrapper { for (var i = 0; i < array.length; i++) { >i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 46, 12)) >i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 46, 12)) ->array.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 45, 53)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 46, 12)) fn(array[i], i); @@ -212,15 +212,15 @@ class ListWrapper { if (!array || array.length == 0) return null; >array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 41)) ->array.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 41)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) return array[array.length - 1]; >array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 41)) ->array.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 54, 41)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) } static indexOf(dit: typeof ListWrapper, array: T[], value: T, startIndex: number = 0): number { >indexOf : Symbol(ListWrapper.indexOf, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 57, 3)) @@ -234,9 +234,9 @@ class ListWrapper { >startIndex : Symbol(startIndex, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 66)) return array.indexOf(value, startIndex); ->array.indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>array.indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) >array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 44)) ->indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 56)) >startIndex : Symbol(startIndex, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 58, 66)) } @@ -249,9 +249,9 @@ class ListWrapper { >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 18)) >el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 56)) >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 18)) ->list.indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>list.indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 45)) ->indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) >el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 61, 56)) static reversed(dit: typeof ListWrapper, array: T[]): T[] { @@ -286,12 +286,12 @@ class ListWrapper { >funkyFor : Symbol(tessst.funkyFor, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 18, 18)) >array : Symbol(array, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 62, 45)) >t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 33)) ->t.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>t.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >t : Symbol(t, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 66, 33)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) ->a.reverse : Symbol(Array.reverse, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) +>a.reverse : Symbol(Array.reverse, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 63, 7)) ->reverse : Symbol(Array.reverse, Decl(lib.d.ts, --, --)) +>reverse : Symbol(Array.reverse, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 63, 7)) } static concat(dit: typeof ListWrapper, a: any[], b: any[]): any[] { return a.concat(b); } @@ -300,9 +300,9 @@ class ListWrapper { >ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) >a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 40)) >b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 50)) ->a.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>a.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 40)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 50)) static insert(dit: typeof ListWrapper, list: T[], index: number, value: T) { list.splice(index, 0, value); } @@ -315,9 +315,9 @@ class ListWrapper { >index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 54)) >value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 69)) >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 16)) ->list.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>list.splice : Symbol(Array.splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 43)) ->splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>splice : Symbol(Array.splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 54)) >value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 69, 69)) @@ -337,9 +337,9 @@ class ListWrapper { >index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 70, 56)) list.splice(index, 1); ->list.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>list.splice : Symbol(Array.splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 70, 45)) ->splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>splice : Symbol(Array.splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 70, 56)) return res; @@ -358,23 +358,23 @@ class ListWrapper { for (var i = 0; i < items.length; ++i) { >i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 76, 12)) >i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 76, 12)) ->items.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>items.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >items : Symbol(items, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 57)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 76, 12)) var index = list.indexOf(items[i]); >index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 77, 9)) ->list.indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>list.indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 46)) ->indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) >items : Symbol(items, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 57)) >i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 76, 12)) list.splice(index, 1); ->list.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>list.splice : Symbol(Array.splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 75, 46)) ->splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>splice : Symbol(Array.splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 77, 9)) } } @@ -390,18 +390,18 @@ class ListWrapper { var index = list.indexOf(el); >index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 82, 7)) ->list.indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>list.indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 81, 43)) ->indexOf : Symbol(Array.indexOf, Decl(lib.d.ts, --, --)) +>indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) >el : Symbol(el, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 81, 54)) if (index > -1) { >index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 82, 7)) list.splice(index, 1); ->list.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>list.splice : Symbol(Array.splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 81, 43)) ->splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>splice : Symbol(Array.splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 82, 7)) return true; @@ -413,18 +413,18 @@ class ListWrapper { >dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 89, 15)) >ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 89, 39)) ->list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>list.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 89, 39)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) static isEmpty(dit: typeof ListWrapper, list: any[]): boolean { return list.length == 0; } >isEmpty : Symbol(ListWrapper.isEmpty, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 89, 73)) >dit : Symbol(dit, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 90, 17)) >ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 90, 41)) ->list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>list.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 90, 41)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) static fill(dit: typeof ListWrapper, list: any[], value: any, start: number = 0, end: number = null) { >fill : Symbol(ListWrapper.fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 90, 92)) @@ -442,9 +442,9 @@ class ListWrapper { >value : Symbol(value, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 51)) >start : Symbol(start, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 63)) >end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 82)) ->list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>list.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 38)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >end : Symbol(end, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 91, 82)) } static equals(dit: typeof ListWrapper, a: any[], b: any[]): boolean { @@ -455,19 +455,19 @@ class ListWrapper { >b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 94, 50)) if (a.length != b.length) return false; ->a.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>a.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 94, 40)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->b.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) +>b.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 94, 50)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) for (var i = 0; i < a.length; ++i) { >i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 96, 12)) >i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 96, 12)) ->a.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>a.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 94, 40)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 96, 12)) if (a[i] !== b[i]) return false; @@ -490,9 +490,9 @@ class ListWrapper { >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 15)) return l.slice(from, to === null ? undefined : to); ->l.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>l.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) >l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 42)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --)) >from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 50)) >to : Symbol(to, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 101, 68)) >undefined : Symbol(undefined) @@ -508,9 +508,9 @@ class ListWrapper { >from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 51)) >length : Symbol(length, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 65)) >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 16)) ->l.splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>l.splice : Symbol(Array.splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 43)) ->splice : Symbol(Array.splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>splice : Symbol(Array.splice, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >from : Symbol(from, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 51)) >length : Symbol(length, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 104, 65)) @@ -532,16 +532,16 @@ class ListWrapper { >compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 49)) l.sort(compareFn); ->l.sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>l.sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) >l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 41)) ->sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) >compareFn : Symbol(compareFn, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 49)) } else { l.sort(); ->l.sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>l.sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) >l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 105, 41)) ->sort : Symbol(Array.sort, Decl(lib.d.ts, --, --)) +>sort : Symbol(Array.sort, Decl(lib.es5.d.ts, --, --)) } } static toString(dit: typeof ListWrapper, l: T[]): string { return l.toString(); } @@ -551,9 +551,9 @@ class ListWrapper { >ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) >l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 45)) >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 18)) ->l.toString : Symbol(Array.toString, Decl(lib.d.ts, --, --)) +>l.toString : Symbol(Array.toString, Decl(lib.es5.d.ts, --, --)) >l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 45)) ->toString : Symbol(Array.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Array.toString, Decl(lib.es5.d.ts, --, --)) static toJSON(dit: typeof ListWrapper, l: T[]): string { return JSON.stringify(l); } >toJSON : Symbol(ListWrapper.toJSON, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 112, 86)) @@ -562,9 +562,9 @@ class ListWrapper { >ListWrapper : Symbol(ListWrapper, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 38, 1)) >l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 113, 43)) >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 113, 16)) ->JSON.stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->JSON : Symbol(JSON, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->stringify : Symbol(JSON.stringify, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>JSON.stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>JSON : Symbol(JSON, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >l : Symbol(l, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 113, 43)) static maximum(dit: typeof ListWrapper, list: T[], predicate: (t: T) => number): T { @@ -580,9 +580,9 @@ class ListWrapper { >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 17)) if (list.length == 0) { ->list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>list.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 44)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) return null; } @@ -592,14 +592,14 @@ class ListWrapper { var maxValue = -Infinity; >maxValue : Symbol(maxValue, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 120, 7)) ->Infinity : Symbol(Infinity, Decl(lib.d.ts, --, --)) +>Infinity : Symbol(Infinity, Decl(lib.es5.d.ts, --, --)) for (var index = 0; index < list.length; index++) { >index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 121, 12)) >index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 121, 12)) ->list.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>list.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >list : Symbol(list, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 115, 44)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >index : Symbol(index, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 121, 12)) var candidate = list[index]; @@ -656,8 +656,8 @@ declare function isPresent(compareFn?: (a: T, b: T) => number): boolean; >T : Symbol(T, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 27)) interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 75)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 138, 16)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 137, 75)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 138, 16)) fill(value: any, start: number, end: number): void; >fill : Symbol(Array.fill, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 138, 20)) diff --git a/tests/baselines/reference/staticInstanceResolution2.symbols b/tests/baselines/reference/staticInstanceResolution2.symbols index cb7b96445c2..9591d4966e6 100644 --- a/tests/baselines/reference/staticInstanceResolution2.symbols +++ b/tests/baselines/reference/staticInstanceResolution2.symbols @@ -3,9 +3,9 @@ class A { } >A : Symbol(A, Decl(staticInstanceResolution2.ts, 0, 0)) A.hasOwnProperty('foo'); ->A.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>A.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >A : Symbol(A, Decl(staticInstanceResolution2.ts, 0, 0)) ->hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) class B { >B : Symbol(B, Decl(staticInstanceResolution2.ts, 1, 24)) @@ -13,9 +13,9 @@ class B { constructor() { } } B.hasOwnProperty('foo'); ->B.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>B.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >B : Symbol(B, Decl(staticInstanceResolution2.ts, 1, 24)) ->hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/staticMembersUsingClassTypeParameter.symbols b/tests/baselines/reference/staticMembersUsingClassTypeParameter.symbols index 862f651c971..807aa2bf739 100644 --- a/tests/baselines/reference/staticMembersUsingClassTypeParameter.symbols +++ b/tests/baselines/reference/staticMembersUsingClassTypeParameter.symbols @@ -28,7 +28,7 @@ class C2 { class C3 { >C3 : Symbol(C3, Decl(staticMembersUsingClassTypeParameter.ts, 9, 1)) >T : Symbol(T, Decl(staticMembersUsingClassTypeParameter.ts, 11, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) static x: T; >x : Symbol(C3.x, Decl(staticMembersUsingClassTypeParameter.ts, 11, 26)) diff --git a/tests/baselines/reference/strictFunctionTypes1.symbols b/tests/baselines/reference/strictFunctionTypes1.symbols index 715ea287734..ed657495cc4 100644 --- a/tests/baselines/reference/strictFunctionTypes1.symbols +++ b/tests/baselines/reference/strictFunctionTypes1.symbols @@ -59,7 +59,7 @@ declare function f4(f1: Func, f2: Func): Func; declare function fo(x: Object): void; >fo : Symbol(fo, Decl(strictFunctionTypes1.ts, 6, 58)) >x : Symbol(x, Decl(strictFunctionTypes1.ts, 8, 20)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare function fs(x: string): void; >fs : Symbol(fs, Decl(strictFunctionTypes1.ts, 8, 37)) @@ -117,7 +117,7 @@ declare function foo(a: ReadonlyArray): T; >foo : Symbol(foo, Decl(strictFunctionTypes1.ts, 20, 30)) >T : Symbol(T, Decl(strictFunctionTypes1.ts, 24, 21)) >a : Symbol(a, Decl(strictFunctionTypes1.ts, 24, 24)) ->ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.d.ts, --, --)) +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(strictFunctionTypes1.ts, 24, 21)) >T : Symbol(T, Decl(strictFunctionTypes1.ts, 24, 21)) diff --git a/tests/baselines/reference/strictFunctionTypesErrors.symbols b/tests/baselines/reference/strictFunctionTypesErrors.symbols index c85c337ca44..f887f15aeac 100644 --- a/tests/baselines/reference/strictFunctionTypesErrors.symbols +++ b/tests/baselines/reference/strictFunctionTypesErrors.symbols @@ -5,18 +5,18 @@ export {} declare let f1: (x: Object) => Object; >f1 : Symbol(f1, Decl(strictFunctionTypesErrors.ts, 3, 11)) >x : Symbol(x, Decl(strictFunctionTypesErrors.ts, 3, 17)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare let f2: (x: Object) => string; >f2 : Symbol(f2, Decl(strictFunctionTypesErrors.ts, 4, 11)) >x : Symbol(x, Decl(strictFunctionTypesErrors.ts, 4, 17)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare let f3: (x: string) => Object; >f3 : Symbol(f3, Decl(strictFunctionTypesErrors.ts, 5, 11)) >x : Symbol(x, Decl(strictFunctionTypesErrors.ts, 5, 17)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare let f4: (x: string) => string; >f4 : Symbol(f4, Decl(strictFunctionTypesErrors.ts, 6, 11)) @@ -81,18 +81,18 @@ type Func = (x: T) => U; declare let g1: Func; >g1 : Symbol(g1, Decl(strictFunctionTypesErrors.ts, 26, 11)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare let g2: Func; >g2 : Symbol(g2, Decl(strictFunctionTypesErrors.ts, 27, 11)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare let g3: Func; >g3 : Symbol(g3, Decl(strictFunctionTypesErrors.ts, 28, 11)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare let g4: Func; >g4 : Symbol(g4, Decl(strictFunctionTypesErrors.ts, 29, 11)) @@ -150,20 +150,20 @@ declare let h1: Func, Object>; >h1 : Symbol(h1, Decl(strictFunctionTypesErrors.ts, 47, 11)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare let h2: Func, string>; >h2 : Symbol(h2, Decl(strictFunctionTypesErrors.ts, 48, 11)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare let h3: Func, Object>; >h3 : Symbol(h3, Decl(strictFunctionTypesErrors.ts, 49, 11)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare let h4: Func, string>; >h4 : Symbol(h4, Decl(strictFunctionTypesErrors.ts, 50, 11)) @@ -221,21 +221,21 @@ h4 = h3; // Error declare let i1: Func>; >i1 : Symbol(i1, Decl(strictFunctionTypesErrors.ts, 68, 11)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare let i2: Func>; >i2 : Symbol(i2, Decl(strictFunctionTypesErrors.ts, 69, 11)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) declare let i3: Func>; >i3 : Symbol(i3, Decl(strictFunctionTypesErrors.ts, 70, 11)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) >Func : Symbol(Func, Decl(strictFunctionTypesErrors.ts, 22, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) declare let i4: Func>; >i4 : Symbol(i4, Decl(strictFunctionTypesErrors.ts, 71, 11)) diff --git a/tests/baselines/reference/strictNullEmptyDestructuring.symbols b/tests/baselines/reference/strictNullEmptyDestructuring.symbols index 5968efa4925..1b1fabc537a 100644 --- a/tests/baselines/reference/strictNullEmptyDestructuring.symbols +++ b/tests/baselines/reference/strictNullEmptyDestructuring.symbols @@ -14,36 +14,36 @@ let { } = undefined; >undefined : Symbol(undefined) let { } = Math.random() ? {} : null; ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ({} = Math.random() ? {} : null); ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) let { } = Math.random() ? {} : undefined; ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ({} = Math.random() ? {} : undefined); ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) let { } = Math.random() ? null : undefined; ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ({} = Math.random() ? null : undefined); ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) diff --git a/tests/baselines/reference/strictNullLogicalAndOr.symbols b/tests/baselines/reference/strictNullLogicalAndOr.symbols index 3dea02e8e8b..af1d9ca4b03 100644 --- a/tests/baselines/reference/strictNullLogicalAndOr.symbols +++ b/tests/baselines/reference/strictNullLogicalAndOr.symbols @@ -3,25 +3,25 @@ let sinOrCos = Math.random() < .5; >sinOrCos : Symbol(sinOrCos, Decl(strictNullLogicalAndOr.ts, 2, 3)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) let choice = sinOrCos && Math.sin || Math.cos; >choice : Symbol(choice, Decl(strictNullLogicalAndOr.ts, 3, 3)) >sinOrCos : Symbol(sinOrCos, Decl(strictNullLogicalAndOr.ts, 2, 3)) ->Math.sin : Symbol(Math.sin, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sin : Symbol(Math.sin, Decl(lib.d.ts, --, --)) ->Math.cos : Symbol(Math.cos, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->cos : Symbol(Math.cos, Decl(lib.d.ts, --, --)) +>Math.sin : Symbol(Math.sin, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sin : Symbol(Math.sin, Decl(lib.es5.d.ts, --, --)) +>Math.cos : Symbol(Math.cos, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>cos : Symbol(Math.cos, Decl(lib.es5.d.ts, --, --)) choice(Math.PI); >choice : Symbol(choice, Decl(strictNullLogicalAndOr.ts, 3, 3)) ->Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) +>Math.PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.es5.d.ts, --, --)) function sq(n?: number): number { >sq : Symbol(sq, Decl(strictNullLogicalAndOr.ts, 5, 16)) diff --git a/tests/baselines/reference/strictNullNotNullIndexTypeShouldWork.symbols b/tests/baselines/reference/strictNullNotNullIndexTypeShouldWork.symbols index bcc1b400be0..81751a1e7c2 100644 --- a/tests/baselines/reference/strictNullNotNullIndexTypeShouldWork.symbols +++ b/tests/baselines/reference/strictNullNotNullIndexTypeShouldWork.symbols @@ -14,7 +14,7 @@ class Test { attrs: Readonly; >attrs : Symbol(Test.attrs, Decl(strictNullNotNullIndexTypeShouldWork.ts, 4, 25)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(strictNullNotNullIndexTypeShouldWork.ts, 4, 11)) m() { @@ -46,7 +46,7 @@ class FooClass

{ properties: Readonly

; >properties : Symbol(FooClass.properties, Decl(strictNullNotNullIndexTypeShouldWork.ts, 16, 37)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >P : Symbol(P, Decl(strictNullNotNullIndexTypeShouldWork.ts, 16, 15)) foo(): number { @@ -70,7 +70,7 @@ class Test2 { attrs: Readonly; >attrs : Symbol(Test2.attrs, Decl(strictNullNotNullIndexTypeShouldWork.ts, 25, 26)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(strictNullNotNullIndexTypeShouldWork.ts, 25, 12)) m() { diff --git a/tests/baselines/reference/strictTupleLength.symbols b/tests/baselines/reference/strictTupleLength.symbols index e81697b84bf..e3d03333db1 100644 --- a/tests/baselines/reference/strictTupleLength.symbols +++ b/tests/baselines/reference/strictTupleLength.symbols @@ -31,9 +31,9 @@ var len2: 2 = t2.length; var lena: number = arr.length; >lena : Symbol(lena, Decl(strictTupleLength.ts, 8, 3)) ->arr.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>arr.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >arr : Symbol(arr, Decl(strictTupleLength.ts, 3, 3)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) var t1 = t2; // error >t1 : Symbol(t1, Decl(strictTupleLength.ts, 1, 3), Decl(strictTupleLength.ts, 10, 3)) diff --git a/tests/baselines/reference/stringEnumLiteralTypes1.symbols b/tests/baselines/reference/stringEnumLiteralTypes1.symbols index 1ed0bc6ae37..97ff08ebb1e 100644 --- a/tests/baselines/reference/stringEnumLiteralTypes1.symbols +++ b/tests/baselines/reference/stringEnumLiteralTypes1.symbols @@ -195,7 +195,7 @@ function assertNever(x: never): never { >x : Symbol(x, Decl(stringEnumLiteralTypes1.ts, 44, 21)) throw new Error("Unexpected value"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f10(x: YesNo) { diff --git a/tests/baselines/reference/stringEnumLiteralTypes2.symbols b/tests/baselines/reference/stringEnumLiteralTypes2.symbols index 38fcf73bb04..221751ee9e3 100644 --- a/tests/baselines/reference/stringEnumLiteralTypes2.symbols +++ b/tests/baselines/reference/stringEnumLiteralTypes2.symbols @@ -195,7 +195,7 @@ function assertNever(x: never): never { >x : Symbol(x, Decl(stringEnumLiteralTypes2.ts, 44, 21)) throw new Error("Unexpected value"); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f10(x: YesNo) { diff --git a/tests/baselines/reference/stringIncludes.symbols b/tests/baselines/reference/stringIncludes.symbols index d5830f6aab1..ba3c5ade73e 100644 --- a/tests/baselines/reference/stringIncludes.symbols +++ b/tests/baselines/reference/stringIncludes.symbols @@ -4,11 +4,11 @@ var includes: boolean; includes = "abcde".includes("cd"); >includes : Symbol(includes, Decl(stringIncludes.ts, 0, 3)) ->"abcde".includes : Symbol(String.includes, Decl(lib.es6.d.ts, --, --)) ->includes : Symbol(String.includes, Decl(lib.es6.d.ts, --, --)) +>"abcde".includes : Symbol(String.includes, Decl(lib.es2015.core.d.ts, --, --)) +>includes : Symbol(String.includes, Decl(lib.es2015.core.d.ts, --, --)) includes = "abcde".includes("cd", 2); >includes : Symbol(includes, Decl(stringIncludes.ts, 0, 3)) ->"abcde".includes : Symbol(String.includes, Decl(lib.es6.d.ts, --, --)) ->includes : Symbol(String.includes, Decl(lib.es6.d.ts, --, --)) +>"abcde".includes : Symbol(String.includes, Decl(lib.es2015.core.d.ts, --, --)) +>includes : Symbol(String.includes, Decl(lib.es2015.core.d.ts, --, --)) diff --git a/tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations.symbols b/tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations.symbols index 8c12846399d..cc69917c4fa 100644 --- a/tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations.symbols +++ b/tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations.symbols @@ -3,7 +3,7 @@ interface MyString extends String { >MyString : Symbol(MyString, Decl(stringIndexerConstrainsPropertyDeclarations.ts, 0, 0)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo: number; >foo : Symbol(MyString.foo, Decl(stringIndexerConstrainsPropertyDeclarations.ts, 2, 35)) diff --git a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.symbols b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.symbols index b656c54d944..cf735eb7042 100644 --- a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.symbols +++ b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.symbols @@ -35,7 +35,7 @@ function f3(x: 'a'); function f3(x: Object); >f3 : Symbol(f3, Decl(stringLiteralTypeIsSubtypeOfString.ts, 10, 23), Decl(stringLiteralTypeIsSubtypeOfString.ts, 13, 20), Decl(stringLiteralTypeIsSubtypeOfString.ts, 14, 23)) >x : Symbol(x, Decl(stringLiteralTypeIsSubtypeOfString.ts, 14, 12)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function f3(x: any) { } >f3 : Symbol(f3, Decl(stringLiteralTypeIsSubtypeOfString.ts, 10, 23), Decl(stringLiteralTypeIsSubtypeOfString.ts, 13, 20), Decl(stringLiteralTypeIsSubtypeOfString.ts, 14, 23)) @@ -84,7 +84,7 @@ function f7(x: 'a'); function f7(x: Date); >f7 : Symbol(f7, Decl(stringLiteralTypeIsSubtypeOfString.ts, 27, 23), Decl(stringLiteralTypeIsSubtypeOfString.ts, 29, 20), Decl(stringLiteralTypeIsSubtypeOfString.ts, 30, 21)) >x : Symbol(x, Decl(stringLiteralTypeIsSubtypeOfString.ts, 30, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function f7(x: any) { } >f7 : Symbol(f7, Decl(stringLiteralTypeIsSubtypeOfString.ts, 27, 23), Decl(stringLiteralTypeIsSubtypeOfString.ts, 29, 20), Decl(stringLiteralTypeIsSubtypeOfString.ts, 30, 21)) @@ -97,7 +97,7 @@ function f8(x: 'a'); function f8(x: RegExp); >f8 : Symbol(f8, Decl(stringLiteralTypeIsSubtypeOfString.ts, 31, 23), Decl(stringLiteralTypeIsSubtypeOfString.ts, 33, 20), Decl(stringLiteralTypeIsSubtypeOfString.ts, 34, 23)) >x : Symbol(x, Decl(stringLiteralTypeIsSubtypeOfString.ts, 34, 12)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function f8(x: any) { } >f8 : Symbol(f8, Decl(stringLiteralTypeIsSubtypeOfString.ts, 31, 23), Decl(stringLiteralTypeIsSubtypeOfString.ts, 33, 20), Decl(stringLiteralTypeIsSubtypeOfString.ts, 34, 23)) @@ -117,7 +117,7 @@ function f9(x: any) { } class C implements String { >C : Symbol(C, Decl(stringLiteralTypeIsSubtypeOfString.ts, 39, 23)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) toString(): string { return null; } >toString : Symbol(C.toString, Decl(stringLiteralTypeIsSubtypeOfString.ts, 41, 27)) @@ -222,7 +222,7 @@ function f10(x: any) { } interface I extends String { >I : Symbol(I, Decl(stringLiteralTypeIsSubtypeOfString.ts, 69, 24)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo: string; >foo : Symbol(I.foo, Decl(stringLiteralTypeIsSubtypeOfString.ts, 71, 28)) @@ -261,20 +261,20 @@ function f12(x: any) { } function f13(x: 'a'); >f13 : Symbol(f13, Decl(stringLiteralTypeIsSubtypeOfString.ts, 82, 27), Decl(stringLiteralTypeIsSubtypeOfString.ts, 84, 39), Decl(stringLiteralTypeIsSubtypeOfString.ts, 85, 37)) >T : Symbol(T, Decl(stringLiteralTypeIsSubtypeOfString.ts, 84, 13)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(stringLiteralTypeIsSubtypeOfString.ts, 84, 31)) function f13(x: T); >f13 : Symbol(f13, Decl(stringLiteralTypeIsSubtypeOfString.ts, 82, 27), Decl(stringLiteralTypeIsSubtypeOfString.ts, 84, 39), Decl(stringLiteralTypeIsSubtypeOfString.ts, 85, 37)) >T : Symbol(T, Decl(stringLiteralTypeIsSubtypeOfString.ts, 85, 13)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(stringLiteralTypeIsSubtypeOfString.ts, 85, 31)) >T : Symbol(T, Decl(stringLiteralTypeIsSubtypeOfString.ts, 85, 13)) function f13(x: any) { } >f13 : Symbol(f13, Decl(stringLiteralTypeIsSubtypeOfString.ts, 82, 27), Decl(stringLiteralTypeIsSubtypeOfString.ts, 84, 39), Decl(stringLiteralTypeIsSubtypeOfString.ts, 85, 37)) >T : Symbol(T, Decl(stringLiteralTypeIsSubtypeOfString.ts, 86, 13)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(stringLiteralTypeIsSubtypeOfString.ts, 86, 31)) enum E { A } @@ -319,7 +319,7 @@ function f15(x: any) { } function f16(x: 'a'); >f16 : Symbol(f16, Decl(stringLiteralTypeIsSubtypeOfString.ts, 95, 40), Decl(stringLiteralTypeIsSubtypeOfString.ts, 97, 52), Decl(stringLiteralTypeIsSubtypeOfString.ts, 98, 50)) >T : Symbol(T, Decl(stringLiteralTypeIsSubtypeOfString.ts, 97, 13)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(stringLiteralTypeIsSubtypeOfString.ts, 97, 30)) >T : Symbol(T, Decl(stringLiteralTypeIsSubtypeOfString.ts, 97, 13)) >x : Symbol(x, Decl(stringLiteralTypeIsSubtypeOfString.ts, 97, 44)) @@ -327,7 +327,7 @@ function f16(x: 'a'); function f16(x: U); >f16 : Symbol(f16, Decl(stringLiteralTypeIsSubtypeOfString.ts, 95, 40), Decl(stringLiteralTypeIsSubtypeOfString.ts, 97, 52), Decl(stringLiteralTypeIsSubtypeOfString.ts, 98, 50)) >T : Symbol(T, Decl(stringLiteralTypeIsSubtypeOfString.ts, 98, 13)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(stringLiteralTypeIsSubtypeOfString.ts, 98, 30)) >T : Symbol(T, Decl(stringLiteralTypeIsSubtypeOfString.ts, 98, 13)) >x : Symbol(x, Decl(stringLiteralTypeIsSubtypeOfString.ts, 98, 44)) @@ -336,7 +336,7 @@ function f16(x: U); function f16(x: any) { } >f16 : Symbol(f16, Decl(stringLiteralTypeIsSubtypeOfString.ts, 95, 40), Decl(stringLiteralTypeIsSubtypeOfString.ts, 97, 52), Decl(stringLiteralTypeIsSubtypeOfString.ts, 98, 50)) >T : Symbol(T, Decl(stringLiteralTypeIsSubtypeOfString.ts, 99, 13)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(stringLiteralTypeIsSubtypeOfString.ts, 99, 30)) >T : Symbol(T, Decl(stringLiteralTypeIsSubtypeOfString.ts, 99, 13)) >x : Symbol(x, Decl(stringLiteralTypeIsSubtypeOfString.ts, 99, 44)) diff --git a/tests/baselines/reference/stringPropCodeGen.symbols b/tests/baselines/reference/stringPropCodeGen.symbols index a590463c948..353438abaa9 100644 --- a/tests/baselines/reference/stringPropCodeGen.symbols +++ b/tests/baselines/reference/stringPropCodeGen.symbols @@ -18,9 +18,9 @@ a.foo(); >foo : Symbol("foo", Decl(stringPropCodeGen.ts, 0, 9)) a.bar.toString(); ->a.bar.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>a.bar.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >a.bar : Symbol("bar", Decl(stringPropCodeGen.ts, 2, 25)) >a : Symbol(a, Decl(stringPropCodeGen.ts, 0, 3)) >bar : Symbol("bar", Decl(stringPropCodeGen.ts, 2, 25)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/stringPropertyAccess.symbols b/tests/baselines/reference/stringPropertyAccess.symbols index ba239deee00..a2c187738c0 100644 --- a/tests/baselines/reference/stringPropertyAccess.symbols +++ b/tests/baselines/reference/stringPropertyAccess.symbols @@ -4,23 +4,23 @@ var x = ''; var a = x.charAt(0); >a : Symbol(a, Decl(stringPropertyAccess.ts, 1, 3)) ->x.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>x.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(stringPropertyAccess.ts, 0, 3)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) var b = x.hasOwnProperty('charAt'); >b : Symbol(b, Decl(stringPropertyAccess.ts, 2, 3)) ->x.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>x.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(stringPropertyAccess.ts, 0, 3)) ->hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) var c = x['charAt'](0); >c : Symbol(c, Decl(stringPropertyAccess.ts, 4, 3)) >x : Symbol(x, Decl(stringPropertyAccess.ts, 0, 3)) ->'charAt' : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>'charAt' : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) var e = x['hasOwnProperty']('toFixed'); >e : Symbol(e, Decl(stringPropertyAccess.ts, 5, 3)) >x : Symbol(x, Decl(stringPropertyAccess.ts, 0, 3)) ->'hasOwnProperty' : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>'hasOwnProperty' : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/stringPropertyAccessWithError.symbols b/tests/baselines/reference/stringPropertyAccessWithError.symbols index 0694296a032..8dc517ad306 100644 --- a/tests/baselines/reference/stringPropertyAccessWithError.symbols +++ b/tests/baselines/reference/stringPropertyAccessWithError.symbols @@ -5,5 +5,5 @@ var x = ''; var d = x['charAt']('invalid'); // error >d : Symbol(d, Decl(stringPropertyAccessWithError.ts, 1, 3)) >x : Symbol(x, Decl(stringPropertyAccessWithError.ts, 0, 3)) ->'charAt' : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>'charAt' : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/subtypeRelationForNever.symbols b/tests/baselines/reference/subtypeRelationForNever.symbols index 76555a8ff15..665639a3a4b 100644 --- a/tests/baselines/reference/subtypeRelationForNever.symbols +++ b/tests/baselines/reference/subtypeRelationForNever.symbols @@ -2,7 +2,7 @@ function fail(message: string) : never { throw new Error(message); } >fail : Symbol(fail, Decl(subtypeRelationForNever.ts, 0, 0)) >message : Symbol(message, Decl(subtypeRelationForNever.ts, 0, 14)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >message : Symbol(message, Decl(subtypeRelationForNever.ts, 0, 14)) function withFew(values: a[], haveFew: (values: a[]) => r, haveNone: (reason: string) => r): r { @@ -21,9 +21,9 @@ function withFew(values: a[], haveFew: (values: a[]) => r, haveNone: (reas >r : Symbol(r, Decl(subtypeRelationForNever.ts, 1, 19)) return values.length > 0 ? haveFew(values) : haveNone('No values.'); ->values.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>values.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >values : Symbol(values, Decl(subtypeRelationForNever.ts, 1, 23)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >haveFew : Symbol(haveFew, Decl(subtypeRelationForNever.ts, 1, 35)) >values : Symbol(values, Decl(subtypeRelationForNever.ts, 1, 23)) >haveNone : Symbol(haveNone, Decl(subtypeRelationForNever.ts, 1, 64)) diff --git a/tests/baselines/reference/subtypesOfAny.symbols b/tests/baselines/reference/subtypesOfAny.symbols index 8429aea06e4..ae81c294d7f 100644 --- a/tests/baselines/reference/subtypesOfAny.symbols +++ b/tests/baselines/reference/subtypesOfAny.symbols @@ -53,7 +53,7 @@ interface I5 { foo: Date; >foo : Symbol(I5.foo, Decl(subtypesOfAny.ts, 27, 21)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } @@ -65,7 +65,7 @@ interface I6 { foo: RegExp; >foo : Symbol(I6.foo, Decl(subtypesOfAny.ts, 33, 21)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } @@ -261,7 +261,7 @@ interface I19 { foo: Object; >foo : Symbol(I19.foo, Decl(subtypesOfAny.ts, 124, 21)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/subtypesOfTypeParameter.symbols b/tests/baselines/reference/subtypesOfTypeParameter.symbols index c01c5ae7b82..1b60a5f2187 100644 --- a/tests/baselines/reference/subtypesOfTypeParameter.symbols +++ b/tests/baselines/reference/subtypesOfTypeParameter.symbols @@ -138,13 +138,13 @@ function f2(x: T, y: U) { var r4 = true ? new Date() : x; >r4 : Symbol(r4, Decl(subtypesOfTypeParameter.ts, 46, 7), Decl(subtypesOfTypeParameter.ts, 47, 7)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameter.ts, 29, 18)) var r4 = true ? x : new Date(); >r4 : Symbol(r4, Decl(subtypesOfTypeParameter.ts, 46, 7), Decl(subtypesOfTypeParameter.ts, 47, 7)) >x : Symbol(x, Decl(subtypesOfTypeParameter.ts, 29, 18)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r5 = true ? /1/ : x; >r5 : Symbol(r5, Decl(subtypesOfTypeParameter.ts, 49, 7), Decl(subtypesOfTypeParameter.ts, 50, 7)) @@ -322,13 +322,13 @@ function f2(x: T, y: U) { var r19 = true ? new Object() : x; // BCT is Object >r19 : Symbol(r19, Decl(subtypesOfTypeParameter.ts, 99, 7), Decl(subtypesOfTypeParameter.ts, 100, 7)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameter.ts, 29, 18)) var r19 = true ? x : new Object(); // BCT is Object >r19 : Symbol(r19, Decl(subtypesOfTypeParameter.ts, 99, 7), Decl(subtypesOfTypeParameter.ts, 100, 7)) >x : Symbol(x, Decl(subtypesOfTypeParameter.ts, 29, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r20 = true ? {} : x; // ok >r20 : Symbol(r20, Decl(subtypesOfTypeParameter.ts, 102, 7), Decl(subtypesOfTypeParameter.ts, 103, 7)) diff --git a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints.symbols b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints.symbols index 3fc027f8cce..31556f38ebf 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints.symbols +++ b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints.symbols @@ -267,13 +267,13 @@ class D14 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 82, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 82, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 82, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) [x: string]: Date; >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints.ts, 83, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo: T; // ok >foo : Symbol(D14.foo, Decl(subtypesOfTypeParameterWithConstraints.ts, 83, 22)) @@ -287,7 +287,7 @@ class D15 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 87, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 87, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 87, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints.ts, 87, 10)) @@ -307,7 +307,7 @@ class D16 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 92, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 92, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 92, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 92, 22)) @@ -327,7 +327,7 @@ class D17 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 97, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 97, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 97, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 97, 35)) @@ -349,13 +349,13 @@ class D18 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 104, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 104, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 104, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) [x: string]: Date; >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints.ts, 105, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo: T; // ok >foo : Symbol(D18.foo, Decl(subtypesOfTypeParameterWithConstraints.ts, 105, 22)) @@ -369,7 +369,7 @@ class D19 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 109, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 109, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 109, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints.ts, 109, 10)) @@ -389,7 +389,7 @@ class D20 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 114, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 114, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 114, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 114, 22)) @@ -409,7 +409,7 @@ class D21 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 119, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 119, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 119, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 119, 35)) @@ -431,13 +431,13 @@ class D22 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 126, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 126, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 126, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) [x: string]: Date; >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints.ts, 127, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo: T; // ok >foo : Symbol(D22.foo, Decl(subtypesOfTypeParameterWithConstraints.ts, 127, 22)) @@ -451,7 +451,7 @@ class D23 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 131, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 131, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 131, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints.ts, 131, 10)) @@ -471,7 +471,7 @@ class D24 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 136, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 136, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 136, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 136, 22)) @@ -491,7 +491,7 @@ class D25 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 141, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 141, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 141, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 141, 35)) @@ -513,17 +513,17 @@ class D26 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 148, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 148, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 148, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) [x: string]: Date; >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints.ts, 149, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo: Date; // ok >foo : Symbol(D26.foo, Decl(subtypesOfTypeParameterWithConstraints.ts, 149, 22)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } class D27 extends C3 { @@ -533,7 +533,7 @@ class D27 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 153, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 153, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 153, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints.ts, 153, 10)) @@ -543,7 +543,7 @@ class D27 extends C3 { foo: Date; // error >foo : Symbol(D27.foo, Decl(subtypesOfTypeParameterWithConstraints.ts, 154, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } class D28 extends C3 { @@ -553,7 +553,7 @@ class D28 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 158, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 158, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 158, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 158, 22)) @@ -563,7 +563,7 @@ class D28 extends C3 { foo: Date; // error >foo : Symbol(D28.foo, Decl(subtypesOfTypeParameterWithConstraints.ts, 159, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } class D29 extends C3 { @@ -573,7 +573,7 @@ class D29 extends C3 { >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints.ts, 163, 22)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 163, 35)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 163, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >C3 : Symbol(C3, Decl(subtypesOfTypeParameterWithConstraints.ts, 0, 0)) >V : Symbol(V, Decl(subtypesOfTypeParameterWithConstraints.ts, 163, 35)) @@ -583,5 +583,5 @@ class D29 extends C3 { foo: Date; // error >foo : Symbol(D29.foo, Decl(subtypesOfTypeParameterWithConstraints.ts, 164, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } diff --git a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.symbols b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.symbols index e28bd3c05ba..fc387cf1d7c 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.symbols +++ b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.symbols @@ -76,7 +76,7 @@ function f3(x: T, y: U) { >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 22, 12)) >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints2.ts, 22, 24)) >U : Symbol(U, Decl(subtypesOfTypeParameterWithConstraints2.ts, 22, 24)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 22, 41)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 22, 12)) >y : Symbol(y, Decl(subtypesOfTypeParameterWithConstraints2.ts, 22, 46)) @@ -96,22 +96,22 @@ function f3(x: T, y: U) { var r2 = true ? x : new Date(); >r2 : Symbol(r2, Decl(subtypesOfTypeParameterWithConstraints2.ts, 27, 7), Decl(subtypesOfTypeParameterWithConstraints2.ts, 28, 7)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 22, 41)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r2 = true ? new Date() : x; >r2 : Symbol(r2, Decl(subtypesOfTypeParameterWithConstraints2.ts, 27, 7), Decl(subtypesOfTypeParameterWithConstraints2.ts, 28, 7)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 22, 41)) // ok var r3 = true ? y : new Date(); >r3 : Symbol(r3, Decl(subtypesOfTypeParameterWithConstraints2.ts, 31, 7), Decl(subtypesOfTypeParameterWithConstraints2.ts, 32, 7)) >y : Symbol(y, Decl(subtypesOfTypeParameterWithConstraints2.ts, 22, 46)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r3 = true ? new Date() : y; >r3 : Symbol(r3, Decl(subtypesOfTypeParameterWithConstraints2.ts, 31, 7), Decl(subtypesOfTypeParameterWithConstraints2.ts, 32, 7)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >y : Symbol(y, Decl(subtypesOfTypeParameterWithConstraints2.ts, 22, 46)) } @@ -157,7 +157,7 @@ module c { function f4(x: T) { >f4 : Symbol(f4, Decl(subtypesOfTypeParameterWithConstraints2.ts, 47, 1)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 49, 12)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 49, 30)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 49, 12)) @@ -187,7 +187,7 @@ function f4(x: T) { function f5(x: T) { >f5 : Symbol(f5, Decl(subtypesOfTypeParameterWithConstraints2.ts, 56, 1)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 58, 12)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 58, 30)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 58, 12)) @@ -203,7 +203,7 @@ function f5(x: T) { function f6(x: T) { >f6 : Symbol(f6, Decl(subtypesOfTypeParameterWithConstraints2.ts, 61, 1)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 63, 12)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 63, 30)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 63, 12)) @@ -219,7 +219,7 @@ function f6(x: T) { function f7(x: T) { >f7 : Symbol(f7, Decl(subtypesOfTypeParameterWithConstraints2.ts, 66, 1)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 68, 12)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 68, 31)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 68, 12)) @@ -235,25 +235,25 @@ function f7(x: T) { function f8(x: T) { >f8 : Symbol(f8, Decl(subtypesOfTypeParameterWithConstraints2.ts, 71, 1)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 73, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 73, 28)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 73, 12)) var r4 = true ? new Date() : x; // ok >r4 : Symbol(r4, Decl(subtypesOfTypeParameterWithConstraints2.ts, 74, 7), Decl(subtypesOfTypeParameterWithConstraints2.ts, 75, 7)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 73, 28)) var r4 = true ? x : new Date(); // ok >r4 : Symbol(r4, Decl(subtypesOfTypeParameterWithConstraints2.ts, 74, 7), Decl(subtypesOfTypeParameterWithConstraints2.ts, 75, 7)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 73, 28)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } function f9(x: T) { >f9 : Symbol(f9, Decl(subtypesOfTypeParameterWithConstraints2.ts, 76, 1)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 78, 12)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 78, 30)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 78, 12)) @@ -516,25 +516,25 @@ function f19(x: T) { function f20(x: T) { >f20 : Symbol(f20, Decl(subtypesOfTypeParameterWithConstraints2.ts, 146, 1)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 148, 13)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 148, 31)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 148, 13)) var r19 = true ? new Object() : x; // ok >r19 : Symbol(r19, Decl(subtypesOfTypeParameterWithConstraints2.ts, 149, 7), Decl(subtypesOfTypeParameterWithConstraints2.ts, 150, 7)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 148, 31)) var r19 = true ? x : new Object(); // ok >r19 : Symbol(r19, Decl(subtypesOfTypeParameterWithConstraints2.ts, 149, 7), Decl(subtypesOfTypeParameterWithConstraints2.ts, 150, 7)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 148, 31)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } function f21(x: T) { >f21 : Symbol(f21, Decl(subtypesOfTypeParameterWithConstraints2.ts, 151, 1)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 153, 13)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(subtypesOfTypeParameterWithConstraints2.ts, 153, 31)) >T : Symbol(T, Decl(subtypesOfTypeParameterWithConstraints2.ts, 153, 13)) diff --git a/tests/baselines/reference/subtypesOfUnion.symbols b/tests/baselines/reference/subtypesOfUnion.symbols index 999760c7e0c..c8e41fbc5d5 100644 --- a/tests/baselines/reference/subtypesOfUnion.symbols +++ b/tests/baselines/reference/subtypesOfUnion.symbols @@ -59,11 +59,11 @@ interface I1 { foo6: Date; // error >foo6 : Symbol(I1.foo6, Decl(subtypesOfUnion.ts, 16, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo7: RegExp; // error >foo7 : Symbol(I1.foo7, Decl(subtypesOfUnion.ts, 17, 15)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo8: { bar: number }; // error >foo8 : Symbol(I1.foo8, Decl(subtypesOfUnion.ts, 18, 17)) @@ -106,7 +106,7 @@ interface I1 { foo17: Object; // error >foo17 : Symbol(I1.foo17, Decl(subtypesOfUnion.ts, 27, 13)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo18: {}; // error >foo18 : Symbol(I1.foo18, Decl(subtypesOfUnion.ts, 28, 18)) @@ -137,11 +137,11 @@ interface I2 { foo6: Date; // error >foo6 : Symbol(I2.foo6, Decl(subtypesOfUnion.ts, 37, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo7: RegExp; // error >foo7 : Symbol(I2.foo7, Decl(subtypesOfUnion.ts, 38, 15)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo8: { bar: number }; // error >foo8 : Symbol(I2.foo8, Decl(subtypesOfUnion.ts, 39, 17)) @@ -184,7 +184,7 @@ interface I2 { foo17: Object; // error >foo17 : Symbol(I2.foo17, Decl(subtypesOfUnion.ts, 48, 13)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo18: {}; // error >foo18 : Symbol(I2.foo18, Decl(subtypesOfUnion.ts, 49, 18)) diff --git a/tests/baselines/reference/subtypingTransitivity.symbols b/tests/baselines/reference/subtypingTransitivity.symbols index 2a2f10af524..a18b224bd06 100644 --- a/tests/baselines/reference/subtypingTransitivity.symbols +++ b/tests/baselines/reference/subtypingTransitivity.symbols @@ -4,7 +4,7 @@ class B { x: Object; >x : Symbol(B.x, Decl(subtypingTransitivity.ts, 0, 9)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } class D extends B { diff --git a/tests/baselines/reference/subtypingWithCallSignatures2.symbols b/tests/baselines/reference/subtypingWithCallSignatures2.symbols index 7963a0fc414..14933c2e9ff 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures2.symbols +++ b/tests/baselines/reference/subtypingWithCallSignatures2.symbols @@ -173,12 +173,12 @@ declare function foo12(a: (x: Array, y: Array) => Array >foo12 : Symbol(foo12, Decl(subtypingWithCallSignatures2.ts, 38, 36), Decl(subtypingWithCallSignatures2.ts, 40, 92)) >a : Symbol(a, Decl(subtypingWithCallSignatures2.ts, 40, 23)) >x : Symbol(x, Decl(subtypingWithCallSignatures2.ts, 40, 27)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures2.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithCallSignatures2.ts, 40, 42)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(subtypingWithCallSignatures2.ts, 3, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures2.ts, 2, 27)) >a : Symbol(a, Decl(subtypingWithCallSignatures2.ts, 40, 23)) @@ -190,12 +190,12 @@ declare function foo13(a: (x: Array, y: Array) => Array) >foo13 : Symbol(foo13, Decl(subtypingWithCallSignatures2.ts, 41, 36), Decl(subtypingWithCallSignatures2.ts, 43, 91)) >a : Symbol(a, Decl(subtypingWithCallSignatures2.ts, 43, 23)) >x : Symbol(x, Decl(subtypingWithCallSignatures2.ts, 43, 27)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures2.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithCallSignatures2.ts, 43, 42)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures2.ts, 2, 27)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures2.ts, 2, 27)) >a : Symbol(a, Decl(subtypingWithCallSignatures2.ts, 43, 23)) @@ -209,7 +209,7 @@ declare function foo14(a: (x: { a: string; b: number }) => Object): typeof a; >x : Symbol(x, Decl(subtypingWithCallSignatures2.ts, 46, 27)) >a : Symbol(a, Decl(subtypingWithCallSignatures2.ts, 46, 31)) >b : Symbol(b, Decl(subtypingWithCallSignatures2.ts, 46, 42)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(subtypingWithCallSignatures2.ts, 46, 23)) declare function foo14(a: any): any; @@ -297,8 +297,8 @@ declare function foo18(a: { (a: Date): Date; >a : Symbol(a, Decl(subtypingWithCallSignatures2.ts, 74, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) }): any[]; }): typeof a; @@ -680,25 +680,25 @@ var r11b = [r11arg2, r11arg1]; var r12arg1 = >(x: Array, y: T) => >null; >r12arg1 : Symbol(r12arg1, Decl(subtypingWithCallSignatures2.ts, 145, 3)) >T : Symbol(T, Decl(subtypingWithCallSignatures2.ts, 145, 15)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures2.ts, 0, 0)) >x : Symbol(x, Decl(subtypingWithCallSignatures2.ts, 145, 38)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures2.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithCallSignatures2.ts, 145, 53)) >T : Symbol(T, Decl(subtypingWithCallSignatures2.ts, 145, 15)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures2.ts, 2, 27)) var r12arg2 = (x: Array, y: Array) => >null; >r12arg2 : Symbol(r12arg2, Decl(subtypingWithCallSignatures2.ts, 146, 3)) >x : Symbol(x, Decl(subtypingWithCallSignatures2.ts, 146, 15)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures2.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithCallSignatures2.ts, 146, 30)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(subtypingWithCallSignatures2.ts, 3, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures2.ts, 2, 27)) var r12 = foo12(r12arg1); // any @@ -719,10 +719,10 @@ var r12b = [r12arg2, r12arg1]; var r13arg1 = >(x: Array, y: T) => y; >r13arg1 : Symbol(r13arg1, Decl(subtypingWithCallSignatures2.ts, 151, 3)) >T : Symbol(T, Decl(subtypingWithCallSignatures2.ts, 151, 15)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures2.ts, 2, 27)) >x : Symbol(x, Decl(subtypingWithCallSignatures2.ts, 151, 41)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures2.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithCallSignatures2.ts, 151, 56)) >T : Symbol(T, Decl(subtypingWithCallSignatures2.ts, 151, 15)) @@ -731,12 +731,12 @@ var r13arg1 = >(x: Array, y: T) => y; var r13arg2 = (x: Array, y: Array) => >null; >r13arg2 : Symbol(r13arg2, Decl(subtypingWithCallSignatures2.ts, 152, 3)) >x : Symbol(x, Decl(subtypingWithCallSignatures2.ts, 152, 15)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures2.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithCallSignatures2.ts, 152, 30)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures2.ts, 2, 27)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures2.ts, 2, 27)) var r13 = foo13(r13arg1); // any @@ -771,7 +771,7 @@ var r14arg2 = (x: { a: string; b: number }) => null; >x : Symbol(x, Decl(subtypingWithCallSignatures2.ts, 158, 15)) >a : Symbol(a, Decl(subtypingWithCallSignatures2.ts, 158, 19)) >b : Symbol(b, Decl(subtypingWithCallSignatures2.ts, 158, 30)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r14 = foo14(r14arg1); // any >r14 : Symbol(r14, Decl(subtypingWithCallSignatures2.ts, 159, 3)) diff --git a/tests/baselines/reference/subtypingWithCallSignatures3.symbols b/tests/baselines/reference/subtypingWithCallSignatures3.symbols index 5b41bc78e38..d4198e17c5c 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures3.symbols +++ b/tests/baselines/reference/subtypingWithCallSignatures3.symbols @@ -101,12 +101,12 @@ module Errors { >foo12 : Symbol(foo12, Decl(subtypingWithCallSignatures3.ts, 22, 41), Decl(subtypingWithCallSignatures3.ts, 24, 98)) >a2 : Symbol(a2, Decl(subtypingWithCallSignatures3.ts, 24, 27)) >x : Symbol(x, Decl(subtypingWithCallSignatures3.ts, 24, 32)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures3.ts, 3, 15)) >y : Symbol(y, Decl(subtypingWithCallSignatures3.ts, 24, 47)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(subtypingWithCallSignatures3.ts, 5, 47)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures3.ts, 4, 31)) >a2 : Symbol(a2, Decl(subtypingWithCallSignatures3.ts, 24, 27)) @@ -386,24 +386,24 @@ module Errors { var r6arg = (x: Array, y: Array) => >null; >r6arg : Symbol(r6arg, Decl(subtypingWithCallSignatures3.ts, 83, 7)) >x : Symbol(x, Decl(subtypingWithCallSignatures3.ts, 83, 17)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures3.ts, 3, 15)) >y : Symbol(y, Decl(subtypingWithCallSignatures3.ts, 83, 32)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(subtypingWithCallSignatures3.ts, 5, 47)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithCallSignatures3.ts, 4, 31)) var r6arg2 = >(x: Array, y: Array) => null; >r6arg2 : Symbol(r6arg2, Decl(subtypingWithCallSignatures3.ts, 84, 7)) >T : Symbol(T, Decl(subtypingWithCallSignatures3.ts, 84, 18)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(subtypingWithCallSignatures3.ts, 5, 47)) >x : Symbol(x, Decl(subtypingWithCallSignatures3.ts, 84, 45)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures3.ts, 3, 15)) >y : Symbol(y, Decl(subtypingWithCallSignatures3.ts, 84, 60)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithCallSignatures3.ts, 3, 15)) >T : Symbol(T, Decl(subtypingWithCallSignatures3.ts, 84, 18)) diff --git a/tests/baselines/reference/subtypingWithConstructSignatures2.symbols b/tests/baselines/reference/subtypingWithConstructSignatures2.symbols index b66b6b0db20..4fceb29a42c 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures2.symbols +++ b/tests/baselines/reference/subtypingWithConstructSignatures2.symbols @@ -173,12 +173,12 @@ declare function foo12(a: new (x: Array, y: Array) => Arrayfoo12 : Symbol(foo12, Decl(subtypingWithConstructSignatures2.ts, 38, 36), Decl(subtypingWithConstructSignatures2.ts, 40, 96)) >a : Symbol(a, Decl(subtypingWithConstructSignatures2.ts, 40, 23)) >x : Symbol(x, Decl(subtypingWithConstructSignatures2.ts, 40, 31)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures2.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithConstructSignatures2.ts, 40, 46)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(subtypingWithConstructSignatures2.ts, 3, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures2.ts, 2, 27)) >a : Symbol(a, Decl(subtypingWithConstructSignatures2.ts, 40, 23)) @@ -190,12 +190,12 @@ declare function foo13(a: new (x: Array, y: Array) => Arrayfoo13 : Symbol(foo13, Decl(subtypingWithConstructSignatures2.ts, 41, 36), Decl(subtypingWithConstructSignatures2.ts, 43, 95)) >a : Symbol(a, Decl(subtypingWithConstructSignatures2.ts, 43, 23)) >x : Symbol(x, Decl(subtypingWithConstructSignatures2.ts, 43, 31)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures2.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithConstructSignatures2.ts, 43, 46)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures2.ts, 2, 27)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures2.ts, 2, 27)) >a : Symbol(a, Decl(subtypingWithConstructSignatures2.ts, 43, 23)) @@ -209,7 +209,7 @@ declare function foo14(a: new (x: { a: string; b: number }) => Object): typeof a >x : Symbol(x, Decl(subtypingWithConstructSignatures2.ts, 46, 31)) >a : Symbol(a, Decl(subtypingWithConstructSignatures2.ts, 46, 35)) >b : Symbol(b, Decl(subtypingWithConstructSignatures2.ts, 46, 46)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(subtypingWithConstructSignatures2.ts, 46, 23)) declare function foo14(a: any): any; @@ -297,8 +297,8 @@ declare function foo18(a: { new (a: Date): Date; >a : Symbol(a, Decl(subtypingWithConstructSignatures2.ts, 74, 13)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) }): any[]; }): typeof a; @@ -680,25 +680,25 @@ var r11b = [r11arg2, r11arg1]; var r12arg1: new >(x: Array, y: T) => Array; >r12arg1 : Symbol(r12arg1, Decl(subtypingWithConstructSignatures2.ts, 145, 3)) >T : Symbol(T, Decl(subtypingWithConstructSignatures2.ts, 145, 18)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures2.ts, 0, 0)) >x : Symbol(x, Decl(subtypingWithConstructSignatures2.ts, 145, 41)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures2.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithConstructSignatures2.ts, 145, 56)) >T : Symbol(T, Decl(subtypingWithConstructSignatures2.ts, 145, 18)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures2.ts, 2, 27)) var r12arg2: new (x: Array, y: Array) => Array; >r12arg2 : Symbol(r12arg2, Decl(subtypingWithConstructSignatures2.ts, 146, 3)) >x : Symbol(x, Decl(subtypingWithConstructSignatures2.ts, 146, 18)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures2.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithConstructSignatures2.ts, 146, 33)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(subtypingWithConstructSignatures2.ts, 3, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures2.ts, 2, 27)) var r12 = foo12(r12arg1); // any @@ -719,10 +719,10 @@ var r12b = [r12arg2, r12arg1]; var r13arg1: new >(x: Array, y: T) => T; >r13arg1 : Symbol(r13arg1, Decl(subtypingWithConstructSignatures2.ts, 151, 3)) >T : Symbol(T, Decl(subtypingWithConstructSignatures2.ts, 151, 18)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures2.ts, 2, 27)) >x : Symbol(x, Decl(subtypingWithConstructSignatures2.ts, 151, 44)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures2.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithConstructSignatures2.ts, 151, 59)) >T : Symbol(T, Decl(subtypingWithConstructSignatures2.ts, 151, 18)) @@ -731,12 +731,12 @@ var r13arg1: new >(x: Array, y: T) => T; var r13arg2: new (x: Array, y: Array) => Array; >r13arg2 : Symbol(r13arg2, Decl(subtypingWithConstructSignatures2.ts, 152, 3)) >x : Symbol(x, Decl(subtypingWithConstructSignatures2.ts, 152, 18)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures2.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithConstructSignatures2.ts, 152, 33)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures2.ts, 2, 27)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures2.ts, 2, 27)) var r13 = foo13(r13arg1); // any @@ -769,7 +769,7 @@ var r14arg2: new (x: { a: string; b: number }) => Object; >x : Symbol(x, Decl(subtypingWithConstructSignatures2.ts, 158, 18)) >a : Symbol(a, Decl(subtypingWithConstructSignatures2.ts, 158, 22)) >b : Symbol(b, Decl(subtypingWithConstructSignatures2.ts, 158, 33)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r14 = foo14(r14arg1); // any >r14 : Symbol(r14, Decl(subtypingWithConstructSignatures2.ts, 159, 3)) diff --git a/tests/baselines/reference/subtypingWithConstructSignatures3.symbols b/tests/baselines/reference/subtypingWithConstructSignatures3.symbols index b161a0f92c2..a27992541c9 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures3.symbols +++ b/tests/baselines/reference/subtypingWithConstructSignatures3.symbols @@ -101,12 +101,12 @@ module Errors { >foo12 : Symbol(foo12, Decl(subtypingWithConstructSignatures3.ts, 22, 41), Decl(subtypingWithConstructSignatures3.ts, 24, 102)) >a2 : Symbol(a2, Decl(subtypingWithConstructSignatures3.ts, 24, 27)) >x : Symbol(x, Decl(subtypingWithConstructSignatures3.ts, 24, 36)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures3.ts, 3, 15)) >y : Symbol(y, Decl(subtypingWithConstructSignatures3.ts, 24, 51)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(subtypingWithConstructSignatures3.ts, 5, 47)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures3.ts, 4, 31)) >a2 : Symbol(a2, Decl(subtypingWithConstructSignatures3.ts, 24, 27)) @@ -386,24 +386,24 @@ module Errors { var r6arg1: new (x: Array, y: Array) => Array; >r6arg1 : Symbol(r6arg1, Decl(subtypingWithConstructSignatures3.ts, 85, 7)) >x : Symbol(x, Decl(subtypingWithConstructSignatures3.ts, 85, 21)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures3.ts, 3, 15)) >y : Symbol(y, Decl(subtypingWithConstructSignatures3.ts, 85, 36)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(subtypingWithConstructSignatures3.ts, 5, 47)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures3.ts, 4, 31)) var r6arg2: new >(x: Array, y: Array) => T; >r6arg2 : Symbol(r6arg2, Decl(subtypingWithConstructSignatures3.ts, 86, 7)) >T : Symbol(T, Decl(subtypingWithConstructSignatures3.ts, 86, 21)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(subtypingWithConstructSignatures3.ts, 5, 47)) >x : Symbol(x, Decl(subtypingWithConstructSignatures3.ts, 86, 48)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures3.ts, 3, 15)) >y : Symbol(y, Decl(subtypingWithConstructSignatures3.ts, 86, 63)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures3.ts, 3, 15)) >T : Symbol(T, Decl(subtypingWithConstructSignatures3.ts, 86, 21)) diff --git a/tests/baselines/reference/subtypingWithConstructSignatures5.symbols b/tests/baselines/reference/subtypingWithConstructSignatures5.symbols index 1adbdb82b49..cbb55d20155 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures5.symbols +++ b/tests/baselines/reference/subtypingWithConstructSignatures5.symbols @@ -111,23 +111,23 @@ interface A { // T a12: new (x: Array, y: Array) => Array; >a12 : Symbol(A.a12, Decl(subtypingWithConstructSignatures5.ts, 20, 75)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 21, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithConstructSignatures5.ts, 21, 29)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived2 : Symbol(Derived2, Decl(subtypingWithConstructSignatures5.ts, 4, 43)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) a13: new (x: Array, y: Array) => Array; >a13 : Symbol(A.a13, Decl(subtypingWithConstructSignatures5.ts, 21, 68)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 22, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithConstructSignatures5.ts, 22, 29)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) a14: new (x: { a: string; b: number }) => Object; @@ -135,7 +135,7 @@ interface A { // T >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 23, 14)) >a : Symbol(a, Decl(subtypingWithConstructSignatures5.ts, 23, 18)) >b : Symbol(b, Decl(subtypingWithConstructSignatures5.ts, 23, 29)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } interface B extends A { @@ -280,23 +280,23 @@ interface I extends B { a12: new >(x: Array, y: T) => Array; // ok, less specific parameter type >a12 : Symbol(I.a12, Decl(subtypingWithConstructSignatures5.ts, 43, 47)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 44, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 44, 37)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithConstructSignatures5.ts, 44, 52)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 44, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) a13: new >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds >a13 : Symbol(I.a13, Decl(subtypingWithConstructSignatures5.ts, 44, 77)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 45, 14)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Derived : Symbol(Derived, Decl(subtypingWithConstructSignatures5.ts, 3, 27)) >x : Symbol(x, Decl(subtypingWithConstructSignatures5.ts, 45, 40)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >Base : Symbol(Base, Decl(subtypingWithConstructSignatures5.ts, 0, 0)) >y : Symbol(y, Decl(subtypingWithConstructSignatures5.ts, 45, 55)) >T : Symbol(T, Decl(subtypingWithConstructSignatures5.ts, 45, 14)) diff --git a/tests/baselines/reference/subtypingWithOptionalProperties.symbols b/tests/baselines/reference/subtypingWithOptionalProperties.symbols index a7a8b97e9f0..ec9b6284efd 100644 --- a/tests/baselines/reference/subtypingWithOptionalProperties.symbols +++ b/tests/baselines/reference/subtypingWithOptionalProperties.symbols @@ -21,15 +21,15 @@ var r = f({ s: new Object() }); // ok >r : Symbol(r, Decl(subtypingWithOptionalProperties.ts, 8, 3)) >f : Symbol(f, Decl(subtypingWithOptionalProperties.ts, 0, 0)) >s : Symbol(s, Decl(subtypingWithOptionalProperties.ts, 8, 11)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) r.s && r.s.toFixed(); // would blow up at runtime >r.s : Symbol(s, Decl(subtypingWithOptionalProperties.ts, 4, 12)) >r : Symbol(r, Decl(subtypingWithOptionalProperties.ts, 8, 3)) >s : Symbol(s, Decl(subtypingWithOptionalProperties.ts, 4, 12)) ->r.s.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>r.s.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >r.s : Symbol(s, Decl(subtypingWithOptionalProperties.ts, 4, 12)) >r : Symbol(r, Decl(subtypingWithOptionalProperties.ts, 8, 3)) >s : Symbol(s, Decl(subtypingWithOptionalProperties.ts, 4, 12)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/superAccessCastedCall.symbols b/tests/baselines/reference/superAccessCastedCall.symbols index 83b9447c3f7..a3fda82d32b 100644 --- a/tests/baselines/reference/superAccessCastedCall.symbols +++ b/tests/baselines/reference/superAccessCastedCall.symbols @@ -12,7 +12,7 @@ class Bar extends Foo { x: Number; >x : Symbol(Bar.x, Decl(superAccessCastedCall.ts, 4, 23)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) constructor() { super(); diff --git a/tests/baselines/reference/superCallFromClassThatDerivesFromGenericTypeButWithIncorrectNumberOfTypeArguments1.symbols b/tests/baselines/reference/superCallFromClassThatDerivesFromGenericTypeButWithIncorrectNumberOfTypeArguments1.symbols index fb7e13ab744..a133c5e00e1 100644 --- a/tests/baselines/reference/superCallFromClassThatDerivesFromGenericTypeButWithIncorrectNumberOfTypeArguments1.symbols +++ b/tests/baselines/reference/superCallFromClassThatDerivesFromGenericTypeButWithIncorrectNumberOfTypeArguments1.symbols @@ -19,6 +19,6 @@ class B extends A { constructor() { super(value => String(value)); } >value : Symbol(value, Decl(superCallFromClassThatDerivesFromGenericTypeButWithIncorrectNumberOfTypeArguments1.ts, 7, 26)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(superCallFromClassThatDerivesFromGenericTypeButWithIncorrectNumberOfTypeArguments1.ts, 7, 26)) } diff --git a/tests/baselines/reference/superCallFromClassThatDerivesFromGenericTypeButWithNoTypeArguments1.symbols b/tests/baselines/reference/superCallFromClassThatDerivesFromGenericTypeButWithNoTypeArguments1.symbols index 304eb38622a..fa42a1e2e60 100644 --- a/tests/baselines/reference/superCallFromClassThatDerivesFromGenericTypeButWithNoTypeArguments1.symbols +++ b/tests/baselines/reference/superCallFromClassThatDerivesFromGenericTypeButWithNoTypeArguments1.symbols @@ -19,6 +19,6 @@ class B extends A { constructor() { super(value => String(value)); } >value : Symbol(value, Decl(superCallFromClassThatDerivesFromGenericTypeButWithNoTypeArguments1.ts, 7, 26)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(superCallFromClassThatDerivesFromGenericTypeButWithNoTypeArguments1.ts, 7, 26)) } diff --git a/tests/baselines/reference/superCallFromClassThatDerivesNonGenericTypeButWithTypeArguments1.symbols b/tests/baselines/reference/superCallFromClassThatDerivesNonGenericTypeButWithTypeArguments1.symbols index a399c5dc800..8e8ed672bf4 100644 --- a/tests/baselines/reference/superCallFromClassThatDerivesNonGenericTypeButWithTypeArguments1.symbols +++ b/tests/baselines/reference/superCallFromClassThatDerivesNonGenericTypeButWithTypeArguments1.symbols @@ -15,6 +15,6 @@ class B extends A { constructor() { super(value => String(value)); } >value : Symbol(value, Decl(superCallFromClassThatDerivesNonGenericTypeButWithTypeArguments1.ts, 7, 26)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(superCallFromClassThatDerivesNonGenericTypeButWithTypeArguments1.ts, 7, 26)) } diff --git a/tests/baselines/reference/superCallFromClassThatHasNoBaseType1.symbols b/tests/baselines/reference/superCallFromClassThatHasNoBaseType1.symbols index ffac69d12b2..86739c71e0b 100644 --- a/tests/baselines/reference/superCallFromClassThatHasNoBaseType1.symbols +++ b/tests/baselines/reference/superCallFromClassThatHasNoBaseType1.symbols @@ -14,6 +14,6 @@ class B { constructor() { super(value => String(value)); } >value : Symbol(value, Decl(superCallFromClassThatHasNoBaseType1.ts, 7, 26)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(superCallFromClassThatHasNoBaseType1.ts, 7, 26)) } diff --git a/tests/baselines/reference/superCallFromClassThatHasNoBaseTypeButWithSameSymbolInterface.symbols b/tests/baselines/reference/superCallFromClassThatHasNoBaseTypeButWithSameSymbolInterface.symbols index a8ff0f10b4f..086234884a9 100644 --- a/tests/baselines/reference/superCallFromClassThatHasNoBaseTypeButWithSameSymbolInterface.symbols +++ b/tests/baselines/reference/superCallFromClassThatHasNoBaseTypeButWithSameSymbolInterface.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/classDeclaration/superCallFromClassThatHasNoBaseTypeButWithSameSymbolInterface.ts === interface Foo extends Array {} >Foo : Symbol(Foo, Decl(superCallFromClassThatHasNoBaseTypeButWithSameSymbolInterface.ts, 0, 0), Decl(superCallFromClassThatHasNoBaseTypeButWithSameSymbolInterface.ts, 0, 38)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) class Foo { >Foo : Symbol(Foo, Decl(superCallFromClassThatHasNoBaseTypeButWithSameSymbolInterface.ts, 0, 0), Decl(superCallFromClassThatHasNoBaseTypeButWithSameSymbolInterface.ts, 0, 38)) diff --git a/tests/baselines/reference/superCallFromFunction1.symbols b/tests/baselines/reference/superCallFromFunction1.symbols index 0b8dcc670ba..6e68ba04f02 100644 --- a/tests/baselines/reference/superCallFromFunction1.symbols +++ b/tests/baselines/reference/superCallFromFunction1.symbols @@ -4,6 +4,6 @@ function foo() { super(value => String(value)); >value : Symbol(value, Decl(superCallFromFunction1.ts, 1, 10)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(superCallFromFunction1.ts, 1, 10)) } diff --git a/tests/baselines/reference/superCallParameterContextualTyping1.symbols b/tests/baselines/reference/superCallParameterContextualTyping1.symbols index 628234537e2..9bb4527cdd1 100644 --- a/tests/baselines/reference/superCallParameterContextualTyping1.symbols +++ b/tests/baselines/reference/superCallParameterContextualTyping1.symbols @@ -21,9 +21,9 @@ class B extends A { constructor() { super(value => String(value.toExponential())); } >super : Symbol(A, Decl(superCallParameterContextualTyping1.ts, 0, 0)) >value : Symbol(value, Decl(superCallParameterContextualTyping1.ts, 8, 26)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->value.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>value.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(superCallParameterContextualTyping1.ts, 8, 26)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/superCallParameterContextualTyping2.symbols b/tests/baselines/reference/superCallParameterContextualTyping2.symbols index e8037d6e2e7..7e7a58903c3 100644 --- a/tests/baselines/reference/superCallParameterContextualTyping2.symbols +++ b/tests/baselines/reference/superCallParameterContextualTyping2.symbols @@ -21,6 +21,6 @@ class C extends A { constructor() { super(value => String(value())); } >super : Symbol(A, Decl(superCallParameterContextualTyping2.ts, 0, 0)) >value : Symbol(value, Decl(superCallParameterContextualTyping2.ts, 8, 26)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(superCallParameterContextualTyping2.ts, 8, 26)) } diff --git a/tests/baselines/reference/superCallParameterContextualTyping3.symbols b/tests/baselines/reference/superCallParameterContextualTyping3.symbols index 55101b7f053..0fc24dbdb01 100644 --- a/tests/baselines/reference/superCallParameterContextualTyping3.symbols +++ b/tests/baselines/reference/superCallParameterContextualTyping3.symbols @@ -42,9 +42,9 @@ class C extends CBase { >p : Symbol(p, Decl(superCallParameterContextualTyping3.ts, 17, 19)) p.length; ->p.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>p.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(superCallParameterContextualTyping3.ts, 17, 19)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } }); @@ -60,9 +60,9 @@ class C extends CBase { >p : Symbol(p, Decl(superCallParameterContextualTyping3.ts, 25, 19)) p.length; ->p.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>p.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(superCallParameterContextualTyping3.ts, 25, 19)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } }); } diff --git a/tests/baselines/reference/superElementAccess.symbols b/tests/baselines/reference/superElementAccess.symbols index 5da1450212b..99e01d2e3e0 100644 --- a/tests/baselines/reference/superElementAccess.symbols +++ b/tests/baselines/reference/superElementAccess.symbols @@ -41,10 +41,10 @@ class MyDerived extends MyBase { var l2 = super["m1"].bind(this); // Should be allowed, can access properties as well as invoke >l2 : Symbol(l2, Decl(superElementAccess.ts, 16, 11)) ->super["m1"].bind : Symbol(Function.bind, Decl(lib.d.ts, --, --)) +>super["m1"].bind : Symbol(Function.bind, Decl(lib.es5.d.ts, --, --)) >super : Symbol(MyBase, Decl(superElementAccess.ts, 0, 0)) >"m1" : Symbol(MyBase.m1, Decl(superElementAccess.ts, 0, 14)) ->bind : Symbol(Function.bind, Decl(lib.d.ts, --, --)) +>bind : Symbol(Function.bind, Decl(lib.es5.d.ts, --, --)) >this : Symbol(MyDerived, Decl(superElementAccess.ts, 8, 1)) var x: (a: string) => string = super["m1"]; // Should be allowed, can assign to var with compatible signature @@ -54,10 +54,10 @@ class MyDerived extends MyBase { >"m1" : Symbol(MyBase.m1, Decl(superElementAccess.ts, 0, 14)) super["m2"].bind(this); // Should error, instance property, not a public instance member function ->super["m2"].bind : Symbol(Function.bind, Decl(lib.d.ts, --, --)) +>super["m2"].bind : Symbol(Function.bind, Decl(lib.es5.d.ts, --, --)) >super : Symbol(MyBase, Decl(superElementAccess.ts, 0, 0)) >"m2" : Symbol(MyBase.m2, Decl(superElementAccess.ts, 2, 20)) ->bind : Symbol(Function.bind, Decl(lib.d.ts, --, --)) +>bind : Symbol(Function.bind, Decl(lib.es5.d.ts, --, --)) >this : Symbol(MyDerived, Decl(superElementAccess.ts, 8, 1)) super["p1"](); // Should error, private not public instance member function diff --git a/tests/baselines/reference/superNewCall1.symbols b/tests/baselines/reference/superNewCall1.symbols index 9ab1ba53516..83778c08ef4 100644 --- a/tests/baselines/reference/superNewCall1.symbols +++ b/tests/baselines/reference/superNewCall1.symbols @@ -21,7 +21,7 @@ class B extends A { new super(value => String(value)); >super : Symbol(A, Decl(superNewCall1.ts, 0, 0)) >value : Symbol(value, Decl(superNewCall1.ts, 8, 18)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(superNewCall1.ts, 8, 18)) } } diff --git a/tests/baselines/reference/superPropertyAccess.symbols b/tests/baselines/reference/superPropertyAccess.symbols index e823303a440..13b2979af56 100644 --- a/tests/baselines/reference/superPropertyAccess.symbols +++ b/tests/baselines/reference/superPropertyAccess.symbols @@ -42,11 +42,11 @@ class MyDerived extends MyBase { var l2 = super.m1.bind(this); // Should be allowed, can access properties as well as invoke >l2 : Symbol(l2, Decl(superPropertyAccess.ts, 16, 11)) ->super.m1.bind : Symbol(Function.bind, Decl(lib.d.ts, --, --)) +>super.m1.bind : Symbol(Function.bind, Decl(lib.es5.d.ts, --, --)) >super.m1 : Symbol(MyBase.m1, Decl(superPropertyAccess.ts, 0, 14)) >super : Symbol(MyBase, Decl(superPropertyAccess.ts, 0, 0)) >m1 : Symbol(MyBase.m1, Decl(superPropertyAccess.ts, 0, 14)) ->bind : Symbol(Function.bind, Decl(lib.d.ts, --, --)) +>bind : Symbol(Function.bind, Decl(lib.es5.d.ts, --, --)) >this : Symbol(MyDerived, Decl(superPropertyAccess.ts, 8, 1)) var x: (a: string) => string = super.m1; // Should be allowed, can assign to var with compatible signature @@ -57,11 +57,11 @@ class MyDerived extends MyBase { >m1 : Symbol(MyBase.m1, Decl(superPropertyAccess.ts, 0, 14)) super.m2.bind(this); // Should error, instance property, not a public instance member function ->super.m2.bind : Symbol(Function.bind, Decl(lib.d.ts, --, --)) +>super.m2.bind : Symbol(Function.bind, Decl(lib.es5.d.ts, --, --)) >super.m2 : Symbol(MyBase.m2, Decl(superPropertyAccess.ts, 2, 20)) >super : Symbol(MyBase, Decl(superPropertyAccess.ts, 0, 0)) >m2 : Symbol(MyBase.m2, Decl(superPropertyAccess.ts, 2, 20)) ->bind : Symbol(Function.bind, Decl(lib.d.ts, --, --)) +>bind : Symbol(Function.bind, Decl(lib.es5.d.ts, --, --)) >this : Symbol(MyDerived, Decl(superPropertyAccess.ts, 8, 1)) super.p1(); // Should error, private not public instance member function diff --git a/tests/baselines/reference/superSymbolIndexedAccess1.symbols b/tests/baselines/reference/superSymbolIndexedAccess1.symbols index e97cdf788da..1a76eed351a 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess1.symbols +++ b/tests/baselines/reference/superSymbolIndexedAccess1.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/expressions/superPropertyAccess/superSymbolIndexedAccess1.ts === var symbol = Symbol.for('myThing'); >symbol : Symbol(symbol, Decl(superSymbolIndexedAccess1.ts, 0, 3)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) class Foo { >Foo : Symbol(Foo, Decl(superSymbolIndexedAccess1.ts, 0, 35)) diff --git a/tests/baselines/reference/superSymbolIndexedAccess2.symbols b/tests/baselines/reference/superSymbolIndexedAccess2.symbols index fd4e11f254a..f0383e5e28e 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess2.symbols +++ b/tests/baselines/reference/superSymbolIndexedAccess2.symbols @@ -4,9 +4,9 @@ class Foo { [Symbol.isConcatSpreadable]() { >[Symbol.isConcatSpreadable] : Symbol(Foo[Symbol.isConcatSpreadable], Decl(superSymbolIndexedAccess2.ts, 0, 11)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return 0; } @@ -18,14 +18,14 @@ class Bar extends Foo { [Symbol.isConcatSpreadable]() { >[Symbol.isConcatSpreadable] : Symbol(Bar[Symbol.isConcatSpreadable], Decl(superSymbolIndexedAccess2.ts, 6, 23)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return super[Symbol.isConcatSpreadable](); >super : Symbol(Foo, Decl(superSymbolIndexedAccess2.ts, 0, 0)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } } diff --git a/tests/baselines/reference/superSymbolIndexedAccess3.symbols b/tests/baselines/reference/superSymbolIndexedAccess3.symbols index 547a6b34fdb..175eed26101 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess3.symbols +++ b/tests/baselines/reference/superSymbolIndexedAccess3.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/expressions/superPropertyAccess/superSymbolIndexedAccess3.ts === var symbol = Symbol.for('myThing'); >symbol : Symbol(symbol, Decl(superSymbolIndexedAccess3.ts, 0, 3)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) class Foo { >Foo : Symbol(Foo, Decl(superSymbolIndexedAccess3.ts, 0, 35)) diff --git a/tests/baselines/reference/superSymbolIndexedAccess4.symbols b/tests/baselines/reference/superSymbolIndexedAccess4.symbols index c6bf955d75e..c44f69c2792 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess4.symbols +++ b/tests/baselines/reference/superSymbolIndexedAccess4.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/expressions/superPropertyAccess/superSymbolIndexedAccess4.ts === var symbol = Symbol.for('myThing'); >symbol : Symbol(symbol, Decl(superSymbolIndexedAccess4.ts, 0, 3)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) class Bar { >Bar : Symbol(Bar, Decl(superSymbolIndexedAccess4.ts, 0, 35)) diff --git a/tests/baselines/reference/switchStatements.symbols b/tests/baselines/reference/switchStatements.symbols index 9d4a691d2ce..9ec14f05434 100644 --- a/tests/baselines/reference/switchStatements.symbols +++ b/tests/baselines/reference/switchStatements.symbols @@ -24,10 +24,10 @@ switch (x) { >undefined : Symbol(undefined) case new Date(12): ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) case new Object(): ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) case /[a-z]/: case[]: @@ -90,10 +90,10 @@ switch (undefined) { } >undefined : Symbol(undefined) switch (new Date(12)) { } ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) switch (new Object()) { } ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) switch (/[a-z]/) { } switch ([]) { } diff --git a/tests/baselines/reference/switchWithConstrainedTypeVariable.symbols b/tests/baselines/reference/switchWithConstrainedTypeVariable.symbols index 76a3e1c818f..3f19acd0571 100644 --- a/tests/baselines/reference/switchWithConstrainedTypeVariable.symbols +++ b/tests/baselines/reference/switchWithConstrainedTypeVariable.symbols @@ -12,16 +12,16 @@ function function1(key: T) { case 'a': key.toLowerCase(); ->key.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>key.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >key : Symbol(key, Decl(switchWithConstrainedTypeVariable.ts, 2, 40)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) break; default: key.toLowerCase(); ->key.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>key.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >key : Symbol(key, Decl(switchWithConstrainedTypeVariable.ts, 2, 40)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) break; } diff --git a/tests/baselines/reference/symbolDeclarationEmit1.symbols b/tests/baselines/reference/symbolDeclarationEmit1.symbols index d024cab6ac7..4211a24b7f5 100644 --- a/tests/baselines/reference/symbolDeclarationEmit1.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit1.symbols @@ -4,7 +4,7 @@ class C { [Symbol.toPrimitive]: number; >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit1.ts, 0, 9)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolDeclarationEmit10.symbols b/tests/baselines/reference/symbolDeclarationEmit10.symbols index 49811e9c9b3..aee93319393 100644 --- a/tests/baselines/reference/symbolDeclarationEmit10.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit10.symbols @@ -4,14 +4,14 @@ var obj = { get [Symbol.isConcatSpreadable]() { return '' }, >[Symbol.isConcatSpreadable] : Symbol([Symbol.isConcatSpreadable], Decl(symbolDeclarationEmit10.ts, 0, 11), Decl(symbolDeclarationEmit10.ts, 1, 52)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) set [Symbol.isConcatSpreadable](x) { } >[Symbol.isConcatSpreadable] : Symbol([Symbol.isConcatSpreadable], Decl(symbolDeclarationEmit10.ts, 0, 11), Decl(symbolDeclarationEmit10.ts, 1, 52)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolDeclarationEmit10.ts, 2, 36)) } diff --git a/tests/baselines/reference/symbolDeclarationEmit11.symbols b/tests/baselines/reference/symbolDeclarationEmit11.symbols index 2d9183e2368..4755346935e 100644 --- a/tests/baselines/reference/symbolDeclarationEmit11.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit11.symbols @@ -4,26 +4,26 @@ class C { static [Symbol.iterator] = 0; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolDeclarationEmit11.ts, 0, 9)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) static [Symbol.isConcatSpreadable]() { } >[Symbol.isConcatSpreadable] : Symbol(C[Symbol.isConcatSpreadable], Decl(symbolDeclarationEmit11.ts, 1, 33)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) static get [Symbol.toPrimitive]() { return ""; } >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit11.ts, 2, 44), Decl(symbolDeclarationEmit11.ts, 3, 52)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) static set [Symbol.toPrimitive](x) { } >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit11.ts, 2, 44), Decl(symbolDeclarationEmit11.ts, 3, 52)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolDeclarationEmit11.ts, 4, 36)) } diff --git a/tests/baselines/reference/symbolDeclarationEmit12.symbols b/tests/baselines/reference/symbolDeclarationEmit12.symbols index cf5908c7a3c..7cae6499b56 100644 --- a/tests/baselines/reference/symbolDeclarationEmit12.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit12.symbols @@ -10,24 +10,24 @@ module M { [Symbol.iterator]: I; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolDeclarationEmit12.ts, 2, 20)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >I : Symbol(I, Decl(symbolDeclarationEmit12.ts, 0, 10)) [Symbol.toPrimitive](x: I) { } >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit12.ts, 3, 29)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolDeclarationEmit12.ts, 4, 29)) >I : Symbol(I, Decl(symbolDeclarationEmit12.ts, 0, 10)) [Symbol.isConcatSpreadable](): I { >[Symbol.isConcatSpreadable] : Symbol(C[Symbol.isConcatSpreadable], Decl(symbolDeclarationEmit12.ts, 4, 38)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >I : Symbol(I, Decl(symbolDeclarationEmit12.ts, 0, 10)) return undefined @@ -35,16 +35,16 @@ module M { } get [Symbol.toPrimitive]() { return undefined; } >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit12.ts, 7, 9)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >undefined : Symbol(undefined) set [Symbol.toPrimitive](x: I) { } >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit12.ts, 8, 56)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolDeclarationEmit12.ts, 9, 33)) >I : Symbol(I, Decl(symbolDeclarationEmit12.ts, 0, 10)) } diff --git a/tests/baselines/reference/symbolDeclarationEmit13.symbols b/tests/baselines/reference/symbolDeclarationEmit13.symbols index d5af59157a3..2dcbd44bab6 100644 --- a/tests/baselines/reference/symbolDeclarationEmit13.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit13.symbols @@ -4,14 +4,14 @@ class C { get [Symbol.toPrimitive]() { return ""; } >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit13.ts, 0, 9)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) set [Symbol.toStringTag](x) { } >[Symbol.toStringTag] : Symbol(C[Symbol.toStringTag], Decl(symbolDeclarationEmit13.ts, 1, 45)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolDeclarationEmit13.ts, 2, 29)) } diff --git a/tests/baselines/reference/symbolDeclarationEmit14.symbols b/tests/baselines/reference/symbolDeclarationEmit14.symbols index ff0c9b71b5d..b8d776c1c93 100644 --- a/tests/baselines/reference/symbolDeclarationEmit14.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit14.symbols @@ -4,13 +4,13 @@ class C { get [Symbol.toPrimitive]() { return ""; } >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit14.ts, 0, 9)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) get [Symbol.toStringTag]() { return ""; } >[Symbol.toStringTag] : Symbol(C[Symbol.toStringTag], Decl(symbolDeclarationEmit14.ts, 1, 45)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolDeclarationEmit2.symbols b/tests/baselines/reference/symbolDeclarationEmit2.symbols index b1413c9f3fe..44962effabc 100644 --- a/tests/baselines/reference/symbolDeclarationEmit2.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit2.symbols @@ -4,7 +4,7 @@ class C { [Symbol.toPrimitive] = ""; >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit2.ts, 0, 9)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolDeclarationEmit3.symbols b/tests/baselines/reference/symbolDeclarationEmit3.symbols index f7d518e0cfe..1d396e5bd82 100644 --- a/tests/baselines/reference/symbolDeclarationEmit3.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit3.symbols @@ -4,22 +4,22 @@ class C { [Symbol.toPrimitive](x: number); >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit3.ts, 0, 9), Decl(symbolDeclarationEmit3.ts, 1, 36), Decl(symbolDeclarationEmit3.ts, 2, 36)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolDeclarationEmit3.ts, 1, 25)) [Symbol.toPrimitive](x: string); >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit3.ts, 0, 9), Decl(symbolDeclarationEmit3.ts, 1, 36), Decl(symbolDeclarationEmit3.ts, 2, 36)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolDeclarationEmit3.ts, 2, 25)) [Symbol.toPrimitive](x: any) { } >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit3.ts, 0, 9), Decl(symbolDeclarationEmit3.ts, 1, 36), Decl(symbolDeclarationEmit3.ts, 2, 36)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolDeclarationEmit3.ts, 3, 25)) } diff --git a/tests/baselines/reference/symbolDeclarationEmit4.symbols b/tests/baselines/reference/symbolDeclarationEmit4.symbols index 63c92fce7ff..79170842b38 100644 --- a/tests/baselines/reference/symbolDeclarationEmit4.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit4.symbols @@ -4,14 +4,14 @@ class C { get [Symbol.toPrimitive]() { return ""; } >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit4.ts, 0, 9), Decl(symbolDeclarationEmit4.ts, 1, 45)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) set [Symbol.toPrimitive](x) { } >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolDeclarationEmit4.ts, 0, 9), Decl(symbolDeclarationEmit4.ts, 1, 45)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolDeclarationEmit4.ts, 2, 29)) } diff --git a/tests/baselines/reference/symbolDeclarationEmit5.symbols b/tests/baselines/reference/symbolDeclarationEmit5.symbols index 5a6e67cd789..e1556a82de5 100644 --- a/tests/baselines/reference/symbolDeclarationEmit5.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit5.symbols @@ -4,7 +4,7 @@ interface I { [Symbol.isConcatSpreadable](): string; >[Symbol.isConcatSpreadable] : Symbol(I[Symbol.isConcatSpreadable], Decl(symbolDeclarationEmit5.ts, 0, 13)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolDeclarationEmit6.symbols b/tests/baselines/reference/symbolDeclarationEmit6.symbols index a0fc1266770..f229ff9bd4b 100644 --- a/tests/baselines/reference/symbolDeclarationEmit6.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit6.symbols @@ -4,7 +4,7 @@ interface I { [Symbol.isConcatSpreadable]: string; >[Symbol.isConcatSpreadable] : Symbol(I[Symbol.isConcatSpreadable], Decl(symbolDeclarationEmit6.ts, 0, 13)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolDeclarationEmit7.symbols b/tests/baselines/reference/symbolDeclarationEmit7.symbols index 6bfc3860a25..d85f81c081c 100644 --- a/tests/baselines/reference/symbolDeclarationEmit7.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit7.symbols @@ -4,7 +4,7 @@ var obj: { [Symbol.isConcatSpreadable]: string; >[Symbol.isConcatSpreadable] : Symbol([Symbol.isConcatSpreadable], Decl(symbolDeclarationEmit7.ts, 0, 10)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolDeclarationEmit8.symbols b/tests/baselines/reference/symbolDeclarationEmit8.symbols index 90d52d8ada5..3837a31bfe4 100644 --- a/tests/baselines/reference/symbolDeclarationEmit8.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit8.symbols @@ -4,7 +4,7 @@ var obj = { [Symbol.isConcatSpreadable]: 0 >[Symbol.isConcatSpreadable] : Symbol([Symbol.isConcatSpreadable], Decl(symbolDeclarationEmit8.ts, 0, 11)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolDeclarationEmit9.symbols b/tests/baselines/reference/symbolDeclarationEmit9.symbols index 2204a71b2cc..f1b6a885786 100644 --- a/tests/baselines/reference/symbolDeclarationEmit9.symbols +++ b/tests/baselines/reference/symbolDeclarationEmit9.symbols @@ -4,7 +4,7 @@ var obj = { [Symbol.isConcatSpreadable]() { } >[Symbol.isConcatSpreadable] : Symbol([Symbol.isConcatSpreadable], Decl(symbolDeclarationEmit9.ts, 0, 11)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolProperty10.symbols b/tests/baselines/reference/symbolProperty10.symbols index c5aa60a8e97..b0a44fa7638 100644 --- a/tests/baselines/reference/symbolProperty10.symbols +++ b/tests/baselines/reference/symbolProperty10.symbols @@ -4,9 +4,9 @@ class C { [Symbol.iterator]: { x; y }; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty10.ts, 0, 9)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty10.ts, 1, 24)) >y : Symbol(y, Decl(symbolProperty10.ts, 1, 27)) } @@ -15,9 +15,9 @@ interface I { [Symbol.iterator]?: { x }; >[Symbol.iterator] : Symbol(I[Symbol.iterator], Decl(symbolProperty10.ts, 3, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty10.ts, 4, 25)) } diff --git a/tests/baselines/reference/symbolProperty11.symbols b/tests/baselines/reference/symbolProperty11.symbols index b4e96fd384b..ce53d2f5b8a 100644 --- a/tests/baselines/reference/symbolProperty11.symbols +++ b/tests/baselines/reference/symbolProperty11.symbols @@ -7,9 +7,9 @@ interface I { [Symbol.iterator]?: { x }; >[Symbol.iterator] : Symbol(I[Symbol.iterator], Decl(symbolProperty11.ts, 1, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty11.ts, 2, 25)) } diff --git a/tests/baselines/reference/symbolProperty12.symbols b/tests/baselines/reference/symbolProperty12.symbols index ed5901df99c..f2694d90bae 100644 --- a/tests/baselines/reference/symbolProperty12.symbols +++ b/tests/baselines/reference/symbolProperty12.symbols @@ -4,9 +4,9 @@ class C { private [Symbol.iterator]: { x }; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty12.ts, 0, 9)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty12.ts, 1, 32)) } interface I { @@ -14,9 +14,9 @@ interface I { [Symbol.iterator]: { x }; >[Symbol.iterator] : Symbol(I[Symbol.iterator], Decl(symbolProperty12.ts, 3, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty12.ts, 4, 24)) } diff --git a/tests/baselines/reference/symbolProperty13.symbols b/tests/baselines/reference/symbolProperty13.symbols index 0d613a8d7d1..5773015d312 100644 --- a/tests/baselines/reference/symbolProperty13.symbols +++ b/tests/baselines/reference/symbolProperty13.symbols @@ -4,9 +4,9 @@ class C { [Symbol.iterator]: { x; y }; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty13.ts, 0, 9)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty13.ts, 1, 24)) >y : Symbol(y, Decl(symbolProperty13.ts, 1, 27)) } @@ -15,9 +15,9 @@ interface I { [Symbol.iterator]: { x }; >[Symbol.iterator] : Symbol(I[Symbol.iterator], Decl(symbolProperty13.ts, 3, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty13.ts, 4, 24)) } diff --git a/tests/baselines/reference/symbolProperty14.symbols b/tests/baselines/reference/symbolProperty14.symbols index 1602dae7f9d..7e2ee4b4b3c 100644 --- a/tests/baselines/reference/symbolProperty14.symbols +++ b/tests/baselines/reference/symbolProperty14.symbols @@ -4,9 +4,9 @@ class C { [Symbol.iterator]: { x; y }; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty14.ts, 0, 9)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty14.ts, 1, 24)) >y : Symbol(y, Decl(symbolProperty14.ts, 1, 27)) } @@ -15,9 +15,9 @@ interface I { [Symbol.iterator]?: { x }; >[Symbol.iterator] : Symbol(I[Symbol.iterator], Decl(symbolProperty14.ts, 3, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty14.ts, 4, 25)) } diff --git a/tests/baselines/reference/symbolProperty15.symbols b/tests/baselines/reference/symbolProperty15.symbols index 64c7d263d2e..653fcb580be 100644 --- a/tests/baselines/reference/symbolProperty15.symbols +++ b/tests/baselines/reference/symbolProperty15.symbols @@ -7,9 +7,9 @@ interface I { [Symbol.iterator]?: { x }; >[Symbol.iterator] : Symbol(I[Symbol.iterator], Decl(symbolProperty15.ts, 1, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty15.ts, 2, 25)) } diff --git a/tests/baselines/reference/symbolProperty16.symbols b/tests/baselines/reference/symbolProperty16.symbols index 54741379008..06af2e180a4 100644 --- a/tests/baselines/reference/symbolProperty16.symbols +++ b/tests/baselines/reference/symbolProperty16.symbols @@ -4,9 +4,9 @@ class C { private [Symbol.iterator]: { x }; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty16.ts, 0, 9)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty16.ts, 1, 32)) } interface I { @@ -14,9 +14,9 @@ interface I { [Symbol.iterator]: { x }; >[Symbol.iterator] : Symbol(I[Symbol.iterator], Decl(symbolProperty16.ts, 3, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty16.ts, 4, 24)) } diff --git a/tests/baselines/reference/symbolProperty17.symbols b/tests/baselines/reference/symbolProperty17.symbols index 59284ac8b2a..2bec47d4650 100644 --- a/tests/baselines/reference/symbolProperty17.symbols +++ b/tests/baselines/reference/symbolProperty17.symbols @@ -4,9 +4,9 @@ interface I { [Symbol.iterator]: number; >[Symbol.iterator] : Symbol(I[Symbol.iterator], Decl(symbolProperty17.ts, 0, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) [s: symbol]: string; >s : Symbol(s, Decl(symbolProperty17.ts, 2, 5)) @@ -22,7 +22,7 @@ var i: I; var it = i[Symbol.iterator]; >it : Symbol(it, Decl(symbolProperty17.ts, 7, 3)) >i : Symbol(i, Decl(symbolProperty17.ts, 6, 3)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolProperty18.symbols b/tests/baselines/reference/symbolProperty18.symbols index b7b3be0de0f..a7572e6920f 100644 --- a/tests/baselines/reference/symbolProperty18.symbols +++ b/tests/baselines/reference/symbolProperty18.symbols @@ -4,41 +4,41 @@ var i = { [Symbol.iterator]: 0, >[Symbol.iterator] : Symbol([Symbol.iterator], Decl(symbolProperty18.ts, 0, 9)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) [Symbol.toStringTag]() { return "" }, >[Symbol.toStringTag] : Symbol([Symbol.toStringTag], Decl(symbolProperty18.ts, 1, 25)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) set [Symbol.toPrimitive](p: boolean) { } >[Symbol.toPrimitive] : Symbol([Symbol.toPrimitive], Decl(symbolProperty18.ts, 2, 41)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >p : Symbol(p, Decl(symbolProperty18.ts, 3, 29)) } var it = i[Symbol.iterator]; >it : Symbol(it, Decl(symbolProperty18.ts, 6, 3)) >i : Symbol(i, Decl(symbolProperty18.ts, 0, 3)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) var str = i[Symbol.toStringTag](); >str : Symbol(str, Decl(symbolProperty18.ts, 7, 3)) >i : Symbol(i, Decl(symbolProperty18.ts, 0, 3)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) i[Symbol.toPrimitive] = false; >i : Symbol(i, Decl(symbolProperty18.ts, 0, 3)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolProperty19.symbols b/tests/baselines/reference/symbolProperty19.symbols index f44e08cf7e1..2623b4c3a82 100644 --- a/tests/baselines/reference/symbolProperty19.symbols +++ b/tests/baselines/reference/symbolProperty19.symbols @@ -4,16 +4,16 @@ var i = { [Symbol.iterator]: { p: null }, >[Symbol.iterator] : Symbol([Symbol.iterator], Decl(symbolProperty19.ts, 0, 9)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >p : Symbol(p, Decl(symbolProperty19.ts, 1, 24)) [Symbol.toStringTag]() { return { p: undefined }; } >[Symbol.toStringTag] : Symbol([Symbol.toStringTag], Decl(symbolProperty19.ts, 1, 35)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >p : Symbol(p, Decl(symbolProperty19.ts, 2, 37)) >undefined : Symbol(undefined) } @@ -21,14 +21,14 @@ var i = { var it = i[Symbol.iterator]; >it : Symbol(it, Decl(symbolProperty19.ts, 5, 3)) >i : Symbol(i, Decl(symbolProperty19.ts, 0, 3)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) var str = i[Symbol.toStringTag](); >str : Symbol(str, Decl(symbolProperty19.ts, 6, 3)) >i : Symbol(i, Decl(symbolProperty19.ts, 0, 3)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolProperty2.symbols b/tests/baselines/reference/symbolProperty2.symbols index d5c5675fb12..71421010b91 100644 --- a/tests/baselines/reference/symbolProperty2.symbols +++ b/tests/baselines/reference/symbolProperty2.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/Symbols/symbolProperty2.ts === var s = Symbol(); >s : Symbol(s, Decl(symbolProperty2.ts, 0, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var x = { >x : Symbol(x, Decl(symbolProperty2.ts, 1, 3)) diff --git a/tests/baselines/reference/symbolProperty20.symbols b/tests/baselines/reference/symbolProperty20.symbols index 7da335ade2f..1c7b976628c 100644 --- a/tests/baselines/reference/symbolProperty20.symbols +++ b/tests/baselines/reference/symbolProperty20.symbols @@ -4,16 +4,16 @@ interface I { [Symbol.iterator]: (s: string) => string; >[Symbol.iterator] : Symbol(I[Symbol.iterator], Decl(symbolProperty20.ts, 0, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >s : Symbol(s, Decl(symbolProperty20.ts, 1, 24)) [Symbol.toStringTag](s: number): number; >[Symbol.toStringTag] : Symbol(I[Symbol.toStringTag], Decl(symbolProperty20.ts, 1, 45)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >s : Symbol(s, Decl(symbolProperty20.ts, 2, 25)) } @@ -23,17 +23,17 @@ var i: I = { [Symbol.iterator]: s => s, >[Symbol.iterator] : Symbol([Symbol.iterator], Decl(symbolProperty20.ts, 5, 12)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >s : Symbol(s, Decl(symbolProperty20.ts, 6, 22)) >s : Symbol(s, Decl(symbolProperty20.ts, 6, 22)) [Symbol.toStringTag](n) { return n; } >[Symbol.toStringTag] : Symbol([Symbol.toStringTag], Decl(symbolProperty20.ts, 6, 30)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >n : Symbol(n, Decl(symbolProperty20.ts, 7, 25)) >n : Symbol(n, Decl(symbolProperty20.ts, 7, 25)) } diff --git a/tests/baselines/reference/symbolProperty21.symbols b/tests/baselines/reference/symbolProperty21.symbols index 4c5f200c4ee..c4cdc79ca84 100644 --- a/tests/baselines/reference/symbolProperty21.symbols +++ b/tests/baselines/reference/symbolProperty21.symbols @@ -6,16 +6,16 @@ interface I { [Symbol.unscopables]: T; >[Symbol.unscopables] : Symbol(I[Symbol.unscopables], Decl(symbolProperty21.ts, 0, 19)) ->Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) +>Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(symbolProperty21.ts, 0, 12)) [Symbol.isConcatSpreadable]: U; >[Symbol.isConcatSpreadable] : Symbol(I[Symbol.isConcatSpreadable], Decl(symbolProperty21.ts, 1, 28)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >U : Symbol(U, Decl(symbolProperty21.ts, 0, 14)) } @@ -37,20 +37,20 @@ foo({ [Symbol.isConcatSpreadable]: "", >[Symbol.isConcatSpreadable] : Symbol([Symbol.isConcatSpreadable], Decl(symbolProperty21.ts, 7, 5)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [Symbol.toPrimitive]: 0, >[Symbol.toPrimitive] : Symbol([Symbol.toPrimitive], Decl(symbolProperty21.ts, 8, 36)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [Symbol.unscopables]: true >[Symbol.unscopables] : Symbol([Symbol.unscopables], Decl(symbolProperty21.ts, 9, 28)) ->Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) +>Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) }); diff --git a/tests/baselines/reference/symbolProperty22.symbols b/tests/baselines/reference/symbolProperty22.symbols index 128686329e7..56402f46bf0 100644 --- a/tests/baselines/reference/symbolProperty22.symbols +++ b/tests/baselines/reference/symbolProperty22.symbols @@ -6,9 +6,9 @@ interface I { [Symbol.unscopables](x: T): U; >[Symbol.unscopables] : Symbol(I[Symbol.unscopables], Decl(symbolProperty22.ts, 0, 19)) ->Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) +>Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty22.ts, 1, 25)) >T : Symbol(T, Decl(symbolProperty22.ts, 0, 12)) >U : Symbol(U, Decl(symbolProperty22.ts, 0, 14)) @@ -29,11 +29,11 @@ declare function foo(p1: T, p2: I): U; foo("", { [Symbol.unscopables]: s => s.length }); >foo : Symbol(foo, Decl(symbolProperty22.ts, 2, 1)) >[Symbol.unscopables] : Symbol([Symbol.unscopables], Decl(symbolProperty22.ts, 6, 9)) ->Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) +>Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >s : Symbol(s, Decl(symbolProperty22.ts, 6, 31)) ->s.length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(symbolProperty22.ts, 6, 31)) ->length : Symbol(String.length, Decl(lib.es6.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolProperty23.symbols b/tests/baselines/reference/symbolProperty23.symbols index 20e2853efe7..e4a4237abfd 100644 --- a/tests/baselines/reference/symbolProperty23.symbols +++ b/tests/baselines/reference/symbolProperty23.symbols @@ -4,9 +4,9 @@ interface I { [Symbol.toPrimitive]: () => boolean; >[Symbol.toPrimitive] : Symbol(I[Symbol.toPrimitive], Decl(symbolProperty23.ts, 0, 13)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } class C implements I { @@ -15,9 +15,9 @@ class C implements I { [Symbol.toPrimitive]() { >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolProperty23.ts, 4, 22)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return true; } diff --git a/tests/baselines/reference/symbolProperty24.symbols b/tests/baselines/reference/symbolProperty24.symbols index 2e953e9275a..14dfefbf79d 100644 --- a/tests/baselines/reference/symbolProperty24.symbols +++ b/tests/baselines/reference/symbolProperty24.symbols @@ -4,9 +4,9 @@ interface I { [Symbol.toPrimitive]: () => boolean; >[Symbol.toPrimitive] : Symbol(I[Symbol.toPrimitive], Decl(symbolProperty24.ts, 0, 13)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } class C implements I { @@ -15,9 +15,9 @@ class C implements I { [Symbol.toPrimitive]() { >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolProperty24.ts, 4, 22)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return ""; } diff --git a/tests/baselines/reference/symbolProperty25.symbols b/tests/baselines/reference/symbolProperty25.symbols index b804beeb355..7a014af550f 100644 --- a/tests/baselines/reference/symbolProperty25.symbols +++ b/tests/baselines/reference/symbolProperty25.symbols @@ -4,9 +4,9 @@ interface I { [Symbol.toPrimitive]: () => boolean; >[Symbol.toPrimitive] : Symbol(I[Symbol.toPrimitive], Decl(symbolProperty25.ts, 0, 13)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } class C implements I { @@ -15,9 +15,9 @@ class C implements I { [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol(C[Symbol.toStringTag], Decl(symbolProperty25.ts, 4, 22)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return ""; } diff --git a/tests/baselines/reference/symbolProperty26.symbols b/tests/baselines/reference/symbolProperty26.symbols index 74521d6e1d0..bab2a5f1485 100644 --- a/tests/baselines/reference/symbolProperty26.symbols +++ b/tests/baselines/reference/symbolProperty26.symbols @@ -4,9 +4,9 @@ class C1 { [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol(C1[Symbol.toStringTag], Decl(symbolProperty26.ts, 0, 10)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return ""; } @@ -18,9 +18,9 @@ class C2 extends C1 { [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol(C2[Symbol.toStringTag], Decl(symbolProperty26.ts, 6, 21)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return ""; } diff --git a/tests/baselines/reference/symbolProperty27.symbols b/tests/baselines/reference/symbolProperty27.symbols index 4a5022c1109..3b64e7493c6 100644 --- a/tests/baselines/reference/symbolProperty27.symbols +++ b/tests/baselines/reference/symbolProperty27.symbols @@ -4,9 +4,9 @@ class C1 { [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol(C1[Symbol.toStringTag], Decl(symbolProperty27.ts, 0, 10)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return {}; } @@ -18,9 +18,9 @@ class C2 extends C1 { [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol(C2[Symbol.toStringTag], Decl(symbolProperty27.ts, 6, 21)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return ""; } diff --git a/tests/baselines/reference/symbolProperty28.symbols b/tests/baselines/reference/symbolProperty28.symbols index 26a1766c270..c7569c14796 100644 --- a/tests/baselines/reference/symbolProperty28.symbols +++ b/tests/baselines/reference/symbolProperty28.symbols @@ -4,9 +4,9 @@ class C1 { [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol(C1[Symbol.toStringTag], Decl(symbolProperty28.ts, 0, 10)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return { x: "" }; >x : Symbol(x, Decl(symbolProperty28.ts, 2, 16)) @@ -25,8 +25,8 @@ var obj = c[Symbol.toStringTag]().x; >obj : Symbol(obj, Decl(symbolProperty28.ts, 9, 3)) >c[Symbol.toStringTag]().x : Symbol(x, Decl(symbolProperty28.ts, 2, 16)) >c : Symbol(c, Decl(symbolProperty28.ts, 8, 3)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty28.ts, 2, 16)) diff --git a/tests/baselines/reference/symbolProperty29.symbols b/tests/baselines/reference/symbolProperty29.symbols index 7549453ddd0..b942468810f 100644 --- a/tests/baselines/reference/symbolProperty29.symbols +++ b/tests/baselines/reference/symbolProperty29.symbols @@ -4,9 +4,9 @@ class C1 { [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol(C1[Symbol.toStringTag], Decl(symbolProperty29.ts, 0, 10)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return { x: "" }; >x : Symbol(x, Decl(symbolProperty29.ts, 2, 16)) diff --git a/tests/baselines/reference/symbolProperty3.symbols b/tests/baselines/reference/symbolProperty3.symbols index 5d8b6f655d0..c250575bf68 100644 --- a/tests/baselines/reference/symbolProperty3.symbols +++ b/tests/baselines/reference/symbolProperty3.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/Symbols/symbolProperty3.ts === var s = Symbol; >s : Symbol(s, Decl(symbolProperty3.ts, 0, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var x = { >x : Symbol(x, Decl(symbolProperty3.ts, 1, 3)) diff --git a/tests/baselines/reference/symbolProperty30.symbols b/tests/baselines/reference/symbolProperty30.symbols index a885af28d02..55abddbcafd 100644 --- a/tests/baselines/reference/symbolProperty30.symbols +++ b/tests/baselines/reference/symbolProperty30.symbols @@ -4,9 +4,9 @@ class C1 { [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol(C1[Symbol.toStringTag], Decl(symbolProperty30.ts, 0, 10)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return { x: "" }; >x : Symbol(x, Decl(symbolProperty30.ts, 2, 16)) diff --git a/tests/baselines/reference/symbolProperty31.symbols b/tests/baselines/reference/symbolProperty31.symbols index d641b3ade9b..9354eebe5a5 100644 --- a/tests/baselines/reference/symbolProperty31.symbols +++ b/tests/baselines/reference/symbolProperty31.symbols @@ -4,9 +4,9 @@ class C1 { [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol(C1[Symbol.toStringTag], Decl(symbolProperty31.ts, 0, 10)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return { x: "" }; >x : Symbol(x, Decl(symbolProperty31.ts, 2, 16)) diff --git a/tests/baselines/reference/symbolProperty32.symbols b/tests/baselines/reference/symbolProperty32.symbols index 3a2efc0b839..7e7e58f1e8c 100644 --- a/tests/baselines/reference/symbolProperty32.symbols +++ b/tests/baselines/reference/symbolProperty32.symbols @@ -4,9 +4,9 @@ class C1 { [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol(C1[Symbol.toStringTag], Decl(symbolProperty32.ts, 0, 10)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return { x: "" }; >x : Symbol(x, Decl(symbolProperty32.ts, 2, 16)) diff --git a/tests/baselines/reference/symbolProperty33.symbols b/tests/baselines/reference/symbolProperty33.symbols index 5d7d2f428e6..5312839ad24 100644 --- a/tests/baselines/reference/symbolProperty33.symbols +++ b/tests/baselines/reference/symbolProperty33.symbols @@ -5,9 +5,9 @@ class C1 extends C2 { [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol(C1[Symbol.toStringTag], Decl(symbolProperty33.ts, 0, 21)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return { x: "" }; >x : Symbol(x, Decl(symbolProperty33.ts, 2, 16)) diff --git a/tests/baselines/reference/symbolProperty34.symbols b/tests/baselines/reference/symbolProperty34.symbols index 2a586ea24c2..08c9c8cd7ec 100644 --- a/tests/baselines/reference/symbolProperty34.symbols +++ b/tests/baselines/reference/symbolProperty34.symbols @@ -5,9 +5,9 @@ class C1 extends C2 { [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol(C1[Symbol.toStringTag], Decl(symbolProperty34.ts, 0, 21)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return { x: "" }; >x : Symbol(x, Decl(symbolProperty34.ts, 2, 16)) diff --git a/tests/baselines/reference/symbolProperty35.symbols b/tests/baselines/reference/symbolProperty35.symbols index 8ffa5e22ea5..f717e7a5103 100644 --- a/tests/baselines/reference/symbolProperty35.symbols +++ b/tests/baselines/reference/symbolProperty35.symbols @@ -4,9 +4,9 @@ interface I1 { [Symbol.toStringTag](): { x: string } >[Symbol.toStringTag] : Symbol(I1[Symbol.toStringTag], Decl(symbolProperty35.ts, 0, 14)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty35.ts, 1, 29)) } interface I2 { @@ -14,9 +14,9 @@ interface I2 { [Symbol.toStringTag](): { x: number } >[Symbol.toStringTag] : Symbol(I2[Symbol.toStringTag], Decl(symbolProperty35.ts, 3, 14)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty35.ts, 4, 29)) } diff --git a/tests/baselines/reference/symbolProperty36.symbols b/tests/baselines/reference/symbolProperty36.symbols index 5d142406061..dfba148d419 100644 --- a/tests/baselines/reference/symbolProperty36.symbols +++ b/tests/baselines/reference/symbolProperty36.symbols @@ -4,13 +4,13 @@ var x = { [Symbol.isConcatSpreadable]: 0, >[Symbol.isConcatSpreadable] : Symbol([Symbol.isConcatSpreadable], Decl(symbolProperty36.ts, 0, 9), Decl(symbolProperty36.ts, 1, 35)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [Symbol.isConcatSpreadable]: 1 >[Symbol.isConcatSpreadable] : Symbol([Symbol.isConcatSpreadable], Decl(symbolProperty36.ts, 0, 9), Decl(symbolProperty36.ts, 1, 35)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolProperty37.symbols b/tests/baselines/reference/symbolProperty37.symbols index 647b93c30e1..a416fbb132c 100644 --- a/tests/baselines/reference/symbolProperty37.symbols +++ b/tests/baselines/reference/symbolProperty37.symbols @@ -4,13 +4,13 @@ interface I { [Symbol.isConcatSpreadable]: string; >[Symbol.isConcatSpreadable] : Symbol(I[Symbol.isConcatSpreadable], Decl(symbolProperty37.ts, 0, 13), Decl(symbolProperty37.ts, 1, 40)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [Symbol.isConcatSpreadable]: string; >[Symbol.isConcatSpreadable] : Symbol(I[Symbol.isConcatSpreadable], Decl(symbolProperty37.ts, 0, 13), Decl(symbolProperty37.ts, 1, 40)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolProperty38.symbols b/tests/baselines/reference/symbolProperty38.symbols index ff8b9058eb9..59dea71c1fd 100644 --- a/tests/baselines/reference/symbolProperty38.symbols +++ b/tests/baselines/reference/symbolProperty38.symbols @@ -4,16 +4,16 @@ interface I { [Symbol.isConcatSpreadable]: string; >[Symbol.isConcatSpreadable] : Symbol(I[Symbol.isConcatSpreadable], Decl(symbolProperty38.ts, 0, 13), Decl(symbolProperty38.ts, 3, 13)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } interface I { >I : Symbol(I, Decl(symbolProperty38.ts, 0, 0), Decl(symbolProperty38.ts, 2, 1)) [Symbol.isConcatSpreadable]: string; >[Symbol.isConcatSpreadable] : Symbol(I[Symbol.isConcatSpreadable], Decl(symbolProperty38.ts, 0, 13), Decl(symbolProperty38.ts, 3, 13)) ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolProperty39.symbols b/tests/baselines/reference/symbolProperty39.symbols index 04a0a4c1e17..167a228c56e 100644 --- a/tests/baselines/reference/symbolProperty39.symbols +++ b/tests/baselines/reference/symbolProperty39.symbols @@ -4,23 +4,23 @@ class C { [Symbol.iterator](x: string): string; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty39.ts, 0, 9), Decl(symbolProperty39.ts, 1, 41), Decl(symbolProperty39.ts, 2, 41), Decl(symbolProperty39.ts, 5, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty39.ts, 1, 22)) [Symbol.iterator](x: number): number; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty39.ts, 0, 9), Decl(symbolProperty39.ts, 1, 41), Decl(symbolProperty39.ts, 2, 41), Decl(symbolProperty39.ts, 5, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty39.ts, 2, 22)) [Symbol.iterator](x: any) { >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty39.ts, 0, 9), Decl(symbolProperty39.ts, 1, 41), Decl(symbolProperty39.ts, 2, 41), Decl(symbolProperty39.ts, 5, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty39.ts, 3, 22)) return undefined; @@ -28,9 +28,9 @@ class C { } [Symbol.iterator](x: any) { >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty39.ts, 0, 9), Decl(symbolProperty39.ts, 1, 41), Decl(symbolProperty39.ts, 2, 41), Decl(symbolProperty39.ts, 5, 5)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty39.ts, 6, 22)) return undefined; diff --git a/tests/baselines/reference/symbolProperty4.symbols b/tests/baselines/reference/symbolProperty4.symbols index d79b68c918b..28712208071 100644 --- a/tests/baselines/reference/symbolProperty4.symbols +++ b/tests/baselines/reference/symbolProperty4.symbols @@ -4,15 +4,15 @@ var x = { [Symbol()]: 0, >[Symbol()] : Symbol([Symbol()], Decl(symbolProperty4.ts, 0, 9)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [Symbol()]() { }, >[Symbol()] : Symbol([Symbol()], Decl(symbolProperty4.ts, 1, 18)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) get [Symbol()]() { >[Symbol()] : Symbol([Symbol()], Decl(symbolProperty4.ts, 2, 21)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return 0; } diff --git a/tests/baselines/reference/symbolProperty40.symbols b/tests/baselines/reference/symbolProperty40.symbols index 8f77dc64a20..557cc5392ef 100644 --- a/tests/baselines/reference/symbolProperty40.symbols +++ b/tests/baselines/reference/symbolProperty40.symbols @@ -4,23 +4,23 @@ class C { [Symbol.iterator](x: string): string; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty40.ts, 0, 9), Decl(symbolProperty40.ts, 1, 41), Decl(symbolProperty40.ts, 2, 41)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty40.ts, 1, 22)) [Symbol.iterator](x: number): number; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty40.ts, 0, 9), Decl(symbolProperty40.ts, 1, 41), Decl(symbolProperty40.ts, 2, 41)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty40.ts, 2, 22)) [Symbol.iterator](x: any) { >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty40.ts, 0, 9), Decl(symbolProperty40.ts, 1, 41), Decl(symbolProperty40.ts, 2, 41)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty40.ts, 3, 22)) return undefined; @@ -34,13 +34,13 @@ var c = new C; c[Symbol.iterator](""); >c : Symbol(c, Decl(symbolProperty40.ts, 8, 3)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) c[Symbol.iterator](0); >c : Symbol(c, Decl(symbolProperty40.ts, 8, 3)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolProperty41.symbols b/tests/baselines/reference/symbolProperty41.symbols index 7da5f2824e8..abb756dde8d 100644 --- a/tests/baselines/reference/symbolProperty41.symbols +++ b/tests/baselines/reference/symbolProperty41.symbols @@ -4,26 +4,26 @@ class C { [Symbol.iterator](x: string): { x: string }; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty41.ts, 0, 9), Decl(symbolProperty41.ts, 1, 48), Decl(symbolProperty41.ts, 2, 64)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty41.ts, 1, 22)) >x : Symbol(x, Decl(symbolProperty41.ts, 1, 35)) [Symbol.iterator](x: "hello"): { x: string; hello: string }; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty41.ts, 0, 9), Decl(symbolProperty41.ts, 1, 48), Decl(symbolProperty41.ts, 2, 64)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty41.ts, 2, 22)) >x : Symbol(x, Decl(symbolProperty41.ts, 2, 36)) >hello : Symbol(hello, Decl(symbolProperty41.ts, 2, 47)) [Symbol.iterator](x: any) { >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty41.ts, 0, 9), Decl(symbolProperty41.ts, 1, 48), Decl(symbolProperty41.ts, 2, 64)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty41.ts, 3, 22)) return undefined; @@ -37,13 +37,13 @@ var c = new C; c[Symbol.iterator](""); >c : Symbol(c, Decl(symbolProperty41.ts, 8, 3)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) c[Symbol.iterator]("hello"); >c : Symbol(c, Decl(symbolProperty41.ts, 8, 3)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolProperty42.symbols b/tests/baselines/reference/symbolProperty42.symbols index f92539e0235..500f5ba7976 100644 --- a/tests/baselines/reference/symbolProperty42.symbols +++ b/tests/baselines/reference/symbolProperty42.symbols @@ -4,23 +4,23 @@ class C { [Symbol.iterator](x: string): string; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty42.ts, 0, 9), Decl(symbolProperty42.ts, 2, 48)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty42.ts, 1, 22)) static [Symbol.iterator](x: number): number; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty42.ts, 1, 41)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty42.ts, 2, 29)) [Symbol.iterator](x: any) { >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty42.ts, 0, 9), Decl(symbolProperty42.ts, 2, 48)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty42.ts, 3, 22)) return undefined; diff --git a/tests/baselines/reference/symbolProperty43.symbols b/tests/baselines/reference/symbolProperty43.symbols index aac18eb4cd1..6ca77031ad3 100644 --- a/tests/baselines/reference/symbolProperty43.symbols +++ b/tests/baselines/reference/symbolProperty43.symbols @@ -4,15 +4,15 @@ class C { [Symbol.iterator](x: string): string; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty43.ts, 0, 9), Decl(symbolProperty43.ts, 1, 41)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty43.ts, 1, 22)) [Symbol.iterator](x: number): number; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty43.ts, 0, 9), Decl(symbolProperty43.ts, 1, 41)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty43.ts, 2, 22)) } diff --git a/tests/baselines/reference/symbolProperty44.symbols b/tests/baselines/reference/symbolProperty44.symbols index dacbec6454a..ff625bd5278 100644 --- a/tests/baselines/reference/symbolProperty44.symbols +++ b/tests/baselines/reference/symbolProperty44.symbols @@ -4,17 +4,17 @@ class C { get [Symbol.hasInstance]() { >[Symbol.hasInstance] : Symbol(C[Symbol.hasInstance], Decl(symbolProperty44.ts, 0, 9)) ->Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) +>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return ""; } get [Symbol.hasInstance]() { >[Symbol.hasInstance] : Symbol(C[Symbol.hasInstance], Decl(symbolProperty44.ts, 3, 5)) ->Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) +>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return ""; } diff --git a/tests/baselines/reference/symbolProperty45.symbols b/tests/baselines/reference/symbolProperty45.symbols index 2fab2a62697..265c2c1bfe0 100644 --- a/tests/baselines/reference/symbolProperty45.symbols +++ b/tests/baselines/reference/symbolProperty45.symbols @@ -4,17 +4,17 @@ class C { get [Symbol.hasInstance]() { >[Symbol.hasInstance] : Symbol(C[Symbol.hasInstance], Decl(symbolProperty45.ts, 0, 9)) ->Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) +>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return ""; } get [Symbol.toPrimitive]() { >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolProperty45.ts, 3, 5)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return ""; } diff --git a/tests/baselines/reference/symbolProperty46.symbols b/tests/baselines/reference/symbolProperty46.symbols index c89906010aa..47fe1c7a59e 100644 --- a/tests/baselines/reference/symbolProperty46.symbols +++ b/tests/baselines/reference/symbolProperty46.symbols @@ -4,31 +4,31 @@ class C { get [Symbol.hasInstance]() { >[Symbol.hasInstance] : Symbol(C[Symbol.hasInstance], Decl(symbolProperty46.ts, 0, 9), Decl(symbolProperty46.ts, 3, 5)) ->Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) +>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return ""; } // Should take a string set [Symbol.hasInstance](x) { >[Symbol.hasInstance] : Symbol(C[Symbol.hasInstance], Decl(symbolProperty46.ts, 0, 9), Decl(symbolProperty46.ts, 3, 5)) ->Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) +>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty46.ts, 5, 29)) } } (new C)[Symbol.hasInstance] = 0; >C : Symbol(C, Decl(symbolProperty46.ts, 0, 0)) ->Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) +>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) (new C)[Symbol.hasInstance] = ""; >C : Symbol(C, Decl(symbolProperty46.ts, 0, 0)) ->Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) +>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolProperty47.symbols b/tests/baselines/reference/symbolProperty47.symbols index 40f04afd0b0..ad2204afc9d 100644 --- a/tests/baselines/reference/symbolProperty47.symbols +++ b/tests/baselines/reference/symbolProperty47.symbols @@ -4,31 +4,31 @@ class C { get [Symbol.hasInstance]() { >[Symbol.hasInstance] : Symbol(C[Symbol.hasInstance], Decl(symbolProperty47.ts, 0, 9), Decl(symbolProperty47.ts, 3, 5)) ->Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) +>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return ""; } // Should take a string set [Symbol.hasInstance](x: number) { >[Symbol.hasInstance] : Symbol(C[Symbol.hasInstance], Decl(symbolProperty47.ts, 0, 9), Decl(symbolProperty47.ts, 3, 5)) ->Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) +>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty47.ts, 5, 29)) } } (new C)[Symbol.hasInstance] = 0; >C : Symbol(C, Decl(symbolProperty47.ts, 0, 0)) ->Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) +>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) (new C)[Symbol.hasInstance] = ""; >C : Symbol(C, Decl(symbolProperty47.ts, 0, 0)) ->Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.d.ts, --, --)) +>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolProperty5.symbols b/tests/baselines/reference/symbolProperty5.symbols index 422f7795ac7..adcdbc9abf1 100644 --- a/tests/baselines/reference/symbolProperty5.symbols +++ b/tests/baselines/reference/symbolProperty5.symbols @@ -4,21 +4,21 @@ var x = { [Symbol.iterator]: 0, >[Symbol.iterator] : Symbol([Symbol.iterator], Decl(symbolProperty5.ts, 0, 9)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) [Symbol.toPrimitive]() { }, >[Symbol.toPrimitive] : Symbol([Symbol.toPrimitive], Decl(symbolProperty5.ts, 1, 25)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) get [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol([Symbol.toStringTag], Decl(symbolProperty5.ts, 2, 31)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return 0; } diff --git a/tests/baselines/reference/symbolProperty50.symbols b/tests/baselines/reference/symbolProperty50.symbols index a9007eaec91..bd3f8c91e2e 100644 --- a/tests/baselines/reference/symbolProperty50.symbols +++ b/tests/baselines/reference/symbolProperty50.symbols @@ -10,8 +10,8 @@ module M { [Symbol.iterator]() { } >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty50.ts, 3, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) } } diff --git a/tests/baselines/reference/symbolProperty51.symbols b/tests/baselines/reference/symbolProperty51.symbols index 6e6a3818ed6..45d83dadbd6 100644 --- a/tests/baselines/reference/symbolProperty51.symbols +++ b/tests/baselines/reference/symbolProperty51.symbols @@ -10,8 +10,8 @@ module M { [Symbol.iterator]() { } >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty51.ts, 3, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) } } diff --git a/tests/baselines/reference/symbolProperty52.symbols b/tests/baselines/reference/symbolProperty52.symbols index f3a0a5ba1e3..d9c60bd1a21 100644 --- a/tests/baselines/reference/symbolProperty52.symbols +++ b/tests/baselines/reference/symbolProperty52.symbols @@ -4,7 +4,7 @@ var obj = { [Symbol.nonsense]: 0 >[Symbol.nonsense] : Symbol([Symbol.nonsense], Decl(symbolProperty52.ts, 0, 11)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) }; @@ -13,5 +13,5 @@ obj = {}; obj[Symbol.nonsense]; >obj : Symbol(obj, Decl(symbolProperty52.ts, 0, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolProperty53.symbols b/tests/baselines/reference/symbolProperty53.symbols index 5641de22802..cc45cb828b8 100644 --- a/tests/baselines/reference/symbolProperty53.symbols +++ b/tests/baselines/reference/symbolProperty53.symbols @@ -4,15 +4,15 @@ var obj = { [Symbol.for]: 0 >[Symbol.for] : Symbol([Symbol.for], Decl(symbolProperty53.ts, 0, 11)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) }; obj[Symbol.for]; >obj : Symbol(obj, Decl(symbolProperty53.ts, 0, 3)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolProperty54.symbols b/tests/baselines/reference/symbolProperty54.symbols index 9c30af0c25a..94906dda393 100644 --- a/tests/baselines/reference/symbolProperty54.symbols +++ b/tests/baselines/reference/symbolProperty54.symbols @@ -4,8 +4,8 @@ var obj = { [Symbol.prototype]: 0 >[Symbol.prototype] : Symbol([Symbol.prototype], Decl(symbolProperty54.ts, 0, 11)) ->Symbol.prototype : Symbol(SymbolConstructor.prototype, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->prototype : Symbol(SymbolConstructor.prototype, Decl(lib.es6.d.ts, --, --)) +>Symbol.prototype : Symbol(SymbolConstructor.prototype, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>prototype : Symbol(SymbolConstructor.prototype, Decl(lib.es2015.symbol.d.ts, --, --)) }; diff --git a/tests/baselines/reference/symbolProperty55.symbols b/tests/baselines/reference/symbolProperty55.symbols index b63a0eeef8d..55998bfccf7 100644 --- a/tests/baselines/reference/symbolProperty55.symbols +++ b/tests/baselines/reference/symbolProperty55.symbols @@ -4,9 +4,9 @@ var obj = { [Symbol.iterator]: 0 >[Symbol.iterator] : Symbol([Symbol.iterator], Decl(symbolProperty55.ts, 0, 11)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) }; @@ -15,13 +15,13 @@ module M { var Symbol: SymbolConstructor; >Symbol : Symbol(Symbol, Decl(symbolProperty55.ts, 5, 7)) ->SymbolConstructor : Symbol(SymbolConstructor, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>SymbolConstructor : Symbol(SymbolConstructor, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // The following should be of type 'any'. This is because even though obj has a property keyed by Symbol.iterator, // the key passed in here is the *wrong* Symbol.iterator. It is not the iterator property of the global Symbol. obj[Symbol.iterator]; >obj : Symbol(obj, Decl(symbolProperty55.ts, 0, 3)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(symbolProperty55.ts, 5, 7)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolProperty56.symbols b/tests/baselines/reference/symbolProperty56.symbols index 7af15539fc8..78c073a9c1b 100644 --- a/tests/baselines/reference/symbolProperty56.symbols +++ b/tests/baselines/reference/symbolProperty56.symbols @@ -4,9 +4,9 @@ var obj = { [Symbol.iterator]: 0 >[Symbol.iterator] : Symbol([Symbol.iterator], Decl(symbolProperty56.ts, 0, 11)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) }; diff --git a/tests/baselines/reference/symbolProperty57.symbols b/tests/baselines/reference/symbolProperty57.symbols index bb0b5dc6ede..20f190501f4 100644 --- a/tests/baselines/reference/symbolProperty57.symbols +++ b/tests/baselines/reference/symbolProperty57.symbols @@ -4,14 +4,14 @@ var obj = { [Symbol.iterator]: 0 >[Symbol.iterator] : Symbol([Symbol.iterator], Decl(symbolProperty57.ts, 0, 11)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) }; // Should give type 'any'. obj[Symbol["nonsense"]]; >obj : Symbol(obj, Decl(symbolProperty57.ts, 0, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolProperty58.symbols b/tests/baselines/reference/symbolProperty58.symbols index dcadf2fe187..d7046f00419 100644 --- a/tests/baselines/reference/symbolProperty58.symbols +++ b/tests/baselines/reference/symbolProperty58.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/Symbols/symbolProperty58.ts === interface SymbolConstructor { ->SymbolConstructor : Symbol(SymbolConstructor, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(symbolProperty58.ts, 0, 0)) +>SymbolConstructor : Symbol(SymbolConstructor, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(symbolProperty58.ts, 0, 0)) foo: string; >foo : Symbol(SymbolConstructor.foo, Decl(symbolProperty58.ts, 0, 29)) @@ -12,6 +12,6 @@ var obj = { [Symbol.foo]: 0 >[Symbol.foo] : Symbol([Symbol.foo], Decl(symbolProperty58.ts, 4, 11)) >Symbol.foo : Symbol(SymbolConstructor.foo, Decl(symbolProperty58.ts, 0, 29)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >foo : Symbol(SymbolConstructor.foo, Decl(symbolProperty58.ts, 0, 29)) } diff --git a/tests/baselines/reference/symbolProperty59.symbols b/tests/baselines/reference/symbolProperty59.symbols index f308e642326..178ad671829 100644 --- a/tests/baselines/reference/symbolProperty59.symbols +++ b/tests/baselines/reference/symbolProperty59.symbols @@ -4,7 +4,7 @@ interface I { [Symbol.keyFor]: string; >[Symbol.keyFor] : Symbol(I[Symbol.keyFor], Decl(symbolProperty59.ts, 0, 13)) ->Symbol.keyFor : Symbol(SymbolConstructor.keyFor, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->keyFor : Symbol(SymbolConstructor.keyFor, Decl(lib.es6.d.ts, --, --)) +>Symbol.keyFor : Symbol(SymbolConstructor.keyFor, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>keyFor : Symbol(SymbolConstructor.keyFor, Decl(lib.es2015.symbol.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolProperty6.symbols b/tests/baselines/reference/symbolProperty6.symbols index 03f445d1ac2..d7fbafd2fe0 100644 --- a/tests/baselines/reference/symbolProperty6.symbols +++ b/tests/baselines/reference/symbolProperty6.symbols @@ -4,27 +4,27 @@ class C { [Symbol.iterator] = 0; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty6.ts, 0, 9)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) [Symbol.unscopables]: number; >[Symbol.unscopables] : Symbol(C[Symbol.unscopables], Decl(symbolProperty6.ts, 1, 26)) ->Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) +>Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [Symbol.toPrimitive]() { } >[Symbol.toPrimitive] : Symbol(C[Symbol.toPrimitive], Decl(symbolProperty6.ts, 2, 33)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) get [Symbol.toStringTag]() { >[Symbol.toStringTag] : Symbol(C[Symbol.toStringTag], Decl(symbolProperty6.ts, 3, 30)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return 0; } diff --git a/tests/baselines/reference/symbolProperty60.symbols b/tests/baselines/reference/symbolProperty60.symbols index 3511aa12be1..a00dc487691 100644 --- a/tests/baselines/reference/symbolProperty60.symbols +++ b/tests/baselines/reference/symbolProperty60.symbols @@ -5,9 +5,9 @@ interface I1 { [Symbol.toStringTag]: string; >[Symbol.toStringTag] : Symbol(I1[Symbol.toStringTag], Decl(symbolProperty60.ts, 1, 14)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [key: string]: number; >key : Symbol(key, Decl(symbolProperty60.ts, 3, 5)) @@ -18,9 +18,9 @@ interface I2 { [Symbol.toStringTag]: string; >[Symbol.toStringTag] : Symbol(I2[Symbol.toStringTag], Decl(symbolProperty60.ts, 6, 14)) ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [key: number]: boolean; >key : Symbol(key, Decl(symbolProperty60.ts, 8, 5)) diff --git a/tests/baselines/reference/symbolProperty7.symbols b/tests/baselines/reference/symbolProperty7.symbols index 2271b3fe9cb..865bacf4be0 100644 --- a/tests/baselines/reference/symbolProperty7.symbols +++ b/tests/baselines/reference/symbolProperty7.symbols @@ -4,19 +4,19 @@ class C { [Symbol()] = 0; >[Symbol()] : Symbol(C[Symbol()], Decl(symbolProperty7.ts, 0, 9)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [Symbol()]: number; >[Symbol()] : Symbol(C[Symbol()], Decl(symbolProperty7.ts, 1, 19)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [Symbol()]() { } >[Symbol()] : Symbol(C[Symbol()], Decl(symbolProperty7.ts, 2, 23)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) get [Symbol()]() { >[Symbol()] : Symbol(C[Symbol()], Decl(symbolProperty7.ts, 3, 20)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return 0; } diff --git a/tests/baselines/reference/symbolProperty8.symbols b/tests/baselines/reference/symbolProperty8.symbols index 7380c0b7f4d..d17bec61ad7 100644 --- a/tests/baselines/reference/symbolProperty8.symbols +++ b/tests/baselines/reference/symbolProperty8.symbols @@ -4,13 +4,13 @@ interface I { [Symbol.unscopables]: number; >[Symbol.unscopables] : Symbol(I[Symbol.unscopables], Decl(symbolProperty8.ts, 0, 13)) ->Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es6.d.ts, --, --)) +>Symbol.unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>unscopables : Symbol(SymbolConstructor.unscopables, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) [Symbol.toPrimitive](); >[Symbol.toPrimitive] : Symbol(I[Symbol.toPrimitive], Decl(symbolProperty8.ts, 1, 33)) ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } diff --git a/tests/baselines/reference/symbolProperty9.symbols b/tests/baselines/reference/symbolProperty9.symbols index 8e85046ca21..8ff5c425327 100644 --- a/tests/baselines/reference/symbolProperty9.symbols +++ b/tests/baselines/reference/symbolProperty9.symbols @@ -4,9 +4,9 @@ class C { [Symbol.iterator]: { x; y }; >[Symbol.iterator] : Symbol(C[Symbol.iterator], Decl(symbolProperty9.ts, 0, 9)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty9.ts, 1, 24)) >y : Symbol(y, Decl(symbolProperty9.ts, 1, 27)) } @@ -15,9 +15,9 @@ interface I { [Symbol.iterator]: { x }; >[Symbol.iterator] : Symbol(I[Symbol.iterator], Decl(symbolProperty9.ts, 3, 13)) ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(symbolProperty9.ts, 4, 24)) } diff --git a/tests/baselines/reference/symbolType1.symbols b/tests/baselines/reference/symbolType1.symbols index 4ec24cb8019..31707612abb 100644 --- a/tests/baselines/reference/symbolType1.symbols +++ b/tests/baselines/reference/symbolType1.symbols @@ -1,17 +1,17 @@ === tests/cases/conformance/es6/Symbols/symbolType1.ts === Symbol() instanceof Symbol; ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) Symbol instanceof Symbol(); ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) (Symbol() || {}) instanceof Object; // This one should be okay, it's a valid way of distinguishing types ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) Symbol instanceof (Symbol() || {}); ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolType10.symbols b/tests/baselines/reference/symbolType10.symbols index 5d72856e227..58bf362b0f0 100644 --- a/tests/baselines/reference/symbolType10.symbols +++ b/tests/baselines/reference/symbolType10.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/Symbols/symbolType10.ts === var s = Symbol.for("bitwise"); >s : Symbol(s, Decl(symbolType10.ts, 0, 3)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) s & s; >s : Symbol(s, Decl(symbolType10.ts, 0, 3)) diff --git a/tests/baselines/reference/symbolType11.symbols b/tests/baselines/reference/symbolType11.symbols index 4cf633413f7..0c8f3114293 100644 --- a/tests/baselines/reference/symbolType11.symbols +++ b/tests/baselines/reference/symbolType11.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/Symbols/symbolType11.ts === var s = Symbol.for("logical"); >s : Symbol(s, Decl(symbolType11.ts, 0, 3)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) s && s; >s : Symbol(s, Decl(symbolType11.ts, 0, 3)) diff --git a/tests/baselines/reference/symbolType12.symbols b/tests/baselines/reference/symbolType12.symbols index 0367ac66fd5..d9c73cbb0c8 100644 --- a/tests/baselines/reference/symbolType12.symbols +++ b/tests/baselines/reference/symbolType12.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/Symbols/symbolType12.ts === var s = Symbol.for("assign"); >s : Symbol(s, Decl(symbolType12.ts, 0, 3)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) var str = ""; >str : Symbol(str, Decl(symbolType12.ts, 1, 3)) diff --git a/tests/baselines/reference/symbolType13.symbols b/tests/baselines/reference/symbolType13.symbols index ee332848f5d..4d81d2bce08 100644 --- a/tests/baselines/reference/symbolType13.symbols +++ b/tests/baselines/reference/symbolType13.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/Symbols/symbolType13.ts === var s = Symbol(); >s : Symbol(s, Decl(symbolType13.ts, 0, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var x: any; >x : Symbol(x, Decl(symbolType13.ts, 1, 3)) diff --git a/tests/baselines/reference/symbolType14.symbols b/tests/baselines/reference/symbolType14.symbols index 45620ffed20..faf1c62d932 100644 --- a/tests/baselines/reference/symbolType14.symbols +++ b/tests/baselines/reference/symbolType14.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/es6/Symbols/symbolType14.ts === new Symbol(); ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolType15.symbols b/tests/baselines/reference/symbolType15.symbols index 1c0cb19e2ca..b5921d042c5 100644 --- a/tests/baselines/reference/symbolType15.symbols +++ b/tests/baselines/reference/symbolType15.symbols @@ -4,7 +4,7 @@ var sym: symbol; var symObj: Symbol; >symObj : Symbol(symObj, Decl(symbolType15.ts, 1, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) symObj = sym; >symObj : Symbol(symObj, Decl(symbolType15.ts, 1, 3)) diff --git a/tests/baselines/reference/symbolType16.symbols b/tests/baselines/reference/symbolType16.symbols index f722f5fea2f..150401a6bfb 100644 --- a/tests/baselines/reference/symbolType16.symbols +++ b/tests/baselines/reference/symbolType16.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/Symbols/symbolType16.ts === interface Symbol { ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(symbolType16.ts, 0, 0)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(symbolType16.ts, 0, 0)) newSymbolProp: number; >newSymbolProp : Symbol(Symbol.newSymbolProp, Decl(symbolType16.ts, 0, 18)) diff --git a/tests/baselines/reference/symbolType2.symbols b/tests/baselines/reference/symbolType2.symbols index 5931a71b32f..51ad5f5cb3c 100644 --- a/tests/baselines/reference/symbolType2.symbols +++ b/tests/baselines/reference/symbolType2.symbols @@ -1,11 +1,11 @@ === tests/cases/conformance/es6/Symbols/symbolType2.ts === Symbol.isConcatSpreadable in {}; ->Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.d.ts, --, --)) +>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) "" in Symbol.toPrimitive; ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolType3.symbols b/tests/baselines/reference/symbolType3.symbols index 2d4a45d6da3..fa2a3df314f 100644 --- a/tests/baselines/reference/symbolType3.symbols +++ b/tests/baselines/reference/symbolType3.symbols @@ -1,22 +1,22 @@ === tests/cases/conformance/es6/Symbols/symbolType3.ts === var s = Symbol(); >s : Symbol(s, Decl(symbolType3.ts, 0, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) delete Symbol.iterator; ->Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es6.d.ts, --, --)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) void Symbol.toPrimitive; ->Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es6.d.ts, --, --)) +>Symbol.toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toPrimitive : Symbol(SymbolConstructor.toPrimitive, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) typeof Symbol.toStringTag; ->Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es6.d.ts, --, --)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ++s; >s : Symbol(s, Decl(symbolType3.ts, 0, 3)) @@ -25,17 +25,17 @@ typeof Symbol.toStringTag; >s : Symbol(s, Decl(symbolType3.ts, 0, 3)) + Symbol(); ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) - Symbol(); ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ~ Symbol(); ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ! Symbol(); ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +(Symbol() || 0); ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/symbolType4.symbols b/tests/baselines/reference/symbolType4.symbols index e668afd6fa3..b22f436ca8e 100644 --- a/tests/baselines/reference/symbolType4.symbols +++ b/tests/baselines/reference/symbolType4.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/Symbols/symbolType4.ts === var s = Symbol.for("postfix"); >s : Symbol(s, Decl(symbolType4.ts, 0, 3)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) s++; >s : Symbol(s, Decl(symbolType4.ts, 0, 3)) diff --git a/tests/baselines/reference/symbolType5.symbols b/tests/baselines/reference/symbolType5.symbols index aa902bb6684..81fd495979c 100644 --- a/tests/baselines/reference/symbolType5.symbols +++ b/tests/baselines/reference/symbolType5.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/Symbols/symbolType5.ts === var s = Symbol.for("multiply"); >s : Symbol(s, Decl(symbolType5.ts, 0, 3)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) s * s; >s : Symbol(s, Decl(symbolType5.ts, 0, 3)) diff --git a/tests/baselines/reference/symbolType6.symbols b/tests/baselines/reference/symbolType6.symbols index 4d823c8907a..0b2e733ec6d 100644 --- a/tests/baselines/reference/symbolType6.symbols +++ b/tests/baselines/reference/symbolType6.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/Symbols/symbolType6.ts === var s = Symbol.for("add"); >s : Symbol(s, Decl(symbolType6.ts, 0, 3)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) var a: any; >a : Symbol(a, Decl(symbolType6.ts, 1, 3)) diff --git a/tests/baselines/reference/symbolType7.symbols b/tests/baselines/reference/symbolType7.symbols index f7733ac1936..408d155ec0f 100644 --- a/tests/baselines/reference/symbolType7.symbols +++ b/tests/baselines/reference/symbolType7.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/Symbols/symbolType7.ts === var s = Symbol.for("shift"); >s : Symbol(s, Decl(symbolType7.ts, 0, 3)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) s << s; >s : Symbol(s, Decl(symbolType7.ts, 0, 3)) diff --git a/tests/baselines/reference/symbolType8.symbols b/tests/baselines/reference/symbolType8.symbols index 00abf89c26a..aa314dbe151 100644 --- a/tests/baselines/reference/symbolType8.symbols +++ b/tests/baselines/reference/symbolType8.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/Symbols/symbolType8.ts === var s = Symbol.for("compare"); >s : Symbol(s, Decl(symbolType8.ts, 0, 3)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) s < s; >s : Symbol(s, Decl(symbolType8.ts, 0, 3)) diff --git a/tests/baselines/reference/symbolType9.symbols b/tests/baselines/reference/symbolType9.symbols index 4388254d569..3eb39c80b73 100644 --- a/tests/baselines/reference/symbolType9.symbols +++ b/tests/baselines/reference/symbolType9.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/Symbols/symbolType9.ts === var s = Symbol.for("equal"); >s : Symbol(s, Decl(symbolType9.ts, 0, 3)) ->Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->for : Symbol(SymbolConstructor.for, Decl(lib.es6.d.ts, --, --)) +>Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) s == s; >s : Symbol(s, Decl(symbolType9.ts, 0, 3)) diff --git a/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.symbols b/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.symbols index c0eaabecfd6..85019711153 100644 --- a/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.symbols +++ b/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.symbols @@ -8,9 +8,9 @@ export = packageExport; === tests/cases/compiler/index.ts === import("package").then(({default: foo}) => foo(42)); ->import("package").then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>import("package").then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >"package" : Symbol("tests/cases/compiler/node_modules/package/index", Decl(index.d.ts, 0, 0)) ->then : Symbol(Promise.then, Decl(lib.es6.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >default : Symbol(default) >foo : Symbol(foo, Decl(index.ts, 0, 25)) >foo : Symbol(foo, Decl(index.ts, 0, 25)) diff --git a/tests/baselines/reference/systemDefaultImportCallable.symbols b/tests/baselines/reference/systemDefaultImportCallable.symbols index 7612c1e3b26..04277166f53 100644 --- a/tests/baselines/reference/systemDefaultImportCallable.symbols +++ b/tests/baselines/reference/systemDefaultImportCallable.symbols @@ -33,7 +33,7 @@ import repeat from "core-js/fn/string/repeat"; const _: string = repeat(new Date().toUTCString() + " ", 2); >_ : Symbol(_, Decl(greeter.ts, 2, 5)) >repeat : Symbol(repeat, Decl(greeter.ts, 0, 6)) ->new Date().toUTCString : Symbol(Date.toUTCString, Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->toUTCString : Symbol(Date.toUTCString, Decl(lib.d.ts, --, --)) +>new Date().toUTCString : Symbol(Date.toUTCString, Decl(lib.es5.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>toUTCString : Symbol(Date.toUTCString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/taggedTemplateContextualTyping1.symbols b/tests/baselines/reference/taggedTemplateContextualTyping1.symbols index 4f931dbb96a..320c0e74479 100644 --- a/tests/baselines/reference/taggedTemplateContextualTyping1.symbols +++ b/tests/baselines/reference/taggedTemplateContextualTyping1.symbols @@ -12,7 +12,7 @@ function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, x: T): T; >tempTag1 : Symbol(tempTag1, Decl(taggedTemplateContextualTyping1.ts, 0, 48), Decl(taggedTemplateContextualTyping1.ts, 2, 79), Decl(taggedTemplateContextualTyping1.ts, 3, 92)) >T : Symbol(T, Decl(taggedTemplateContextualTyping1.ts, 2, 18)) >templateStrs : Symbol(templateStrs, Decl(taggedTemplateContextualTyping1.ts, 2, 21)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(taggedTemplateContextualTyping1.ts, 2, 56)) >FuncType : Symbol(FuncType, Decl(taggedTemplateContextualTyping1.ts, 0, 0)) >x : Symbol(x, Decl(taggedTemplateContextualTyping1.ts, 2, 69)) @@ -23,7 +23,7 @@ function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, h: FuncTyp >tempTag1 : Symbol(tempTag1, Decl(taggedTemplateContextualTyping1.ts, 0, 48), Decl(taggedTemplateContextualTyping1.ts, 2, 79), Decl(taggedTemplateContextualTyping1.ts, 3, 92)) >T : Symbol(T, Decl(taggedTemplateContextualTyping1.ts, 3, 18)) >templateStrs : Symbol(templateStrs, Decl(taggedTemplateContextualTyping1.ts, 3, 21)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(taggedTemplateContextualTyping1.ts, 3, 56)) >FuncType : Symbol(FuncType, Decl(taggedTemplateContextualTyping1.ts, 0, 0)) >h : Symbol(h, Decl(taggedTemplateContextualTyping1.ts, 3, 69)) diff --git a/tests/baselines/reference/taggedTemplateContextualTyping2.symbols b/tests/baselines/reference/taggedTemplateContextualTyping2.symbols index 950a39cfccc..8c9459638d0 100644 --- a/tests/baselines/reference/taggedTemplateContextualTyping2.symbols +++ b/tests/baselines/reference/taggedTemplateContextualTyping2.symbols @@ -21,7 +21,7 @@ type FuncType2 = (x: (p: T) => T) => typeof x; function tempTag2(templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; >tempTag2 : Symbol(tempTag2, Decl(taggedTemplateContextualTyping2.ts, 1, 52), Decl(taggedTemplateContextualTyping2.ts, 3, 87), Decl(taggedTemplateContextualTyping2.ts, 4, 101)) >templateStrs : Symbol(templateStrs, Decl(taggedTemplateContextualTyping2.ts, 3, 18)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(taggedTemplateContextualTyping2.ts, 3, 53)) >FuncType1 : Symbol(FuncType1, Decl(taggedTemplateContextualTyping2.ts, 0, 0)) >x : Symbol(x, Decl(taggedTemplateContextualTyping2.ts, 3, 67)) @@ -29,7 +29,7 @@ function tempTag2(templateStrs: TemplateStringsArray, f: FuncType1, x: number): function tempTag2(templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; >tempTag2 : Symbol(tempTag2, Decl(taggedTemplateContextualTyping2.ts, 1, 52), Decl(taggedTemplateContextualTyping2.ts, 3, 87), Decl(taggedTemplateContextualTyping2.ts, 4, 101)) >templateStrs : Symbol(templateStrs, Decl(taggedTemplateContextualTyping2.ts, 4, 18)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(taggedTemplateContextualTyping2.ts, 4, 53)) >FuncType2 : Symbol(FuncType2, Decl(taggedTemplateContextualTyping2.ts, 0, 49)) >h : Symbol(h, Decl(taggedTemplateContextualTyping2.ts, 4, 67)) diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.symbols b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.symbols index f4170c38d26..a3b24b33b48 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.symbols +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.symbols @@ -14,7 +14,7 @@ function noGenericParams(n: TemplateStringsArray) { } >noGenericParams : Symbol(noGenericParams, Decl(taggedTemplateStringsTypeArgumentInference.ts, 2, 12)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 5, 25)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInference.ts, 5, 28)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) noGenericParams ``; >noGenericParams : Symbol(noGenericParams, Decl(taggedTemplateStringsTypeArgumentInference.ts, 2, 12)) @@ -36,7 +36,7 @@ function someGenerics1b(n: TemplateStringsArray, m: U) { } >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 12, 24)) >U : Symbol(U, Decl(taggedTemplateStringsTypeArgumentInference.ts, 12, 26)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInference.ts, 12, 30)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >m : Symbol(m, Decl(taggedTemplateStringsTypeArgumentInference.ts, 12, 54)) >U : Symbol(U, Decl(taggedTemplateStringsTypeArgumentInference.ts, 12, 26)) @@ -48,7 +48,7 @@ function someGenerics2a(strs: TemplateStringsArray, n: (x: T) => void) { } >someGenerics2a : Symbol(someGenerics2a, Decl(taggedTemplateStringsTypeArgumentInference.ts, 13, 22)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 16, 24)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInference.ts, 16, 27)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInference.ts, 16, 54)) >x : Symbol(x, Decl(taggedTemplateStringsTypeArgumentInference.ts, 16, 59)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 16, 24)) @@ -63,7 +63,7 @@ function someGenerics2b(strs: TemplateStringsArray, n: (x: T, y: U) => voi >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 19, 24)) >U : Symbol(U, Decl(taggedTemplateStringsTypeArgumentInference.ts, 19, 26)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInference.ts, 19, 30)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInference.ts, 19, 57)) >x : Symbol(x, Decl(taggedTemplateStringsTypeArgumentInference.ts, 19, 62)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 19, 24)) @@ -81,7 +81,7 @@ function someGenerics3(strs: TemplateStringsArray, producer: () => T) { } >someGenerics3 : Symbol(someGenerics3, Decl(taggedTemplateStringsTypeArgumentInference.ts, 20, 50)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 23, 23)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInference.ts, 23, 26)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >producer : Symbol(producer, Decl(taggedTemplateStringsTypeArgumentInference.ts, 23, 53)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 23, 23)) @@ -101,7 +101,7 @@ function someGenerics4(strs: TemplateStringsArray, n: T, f: (x: U) => void >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 29, 23)) >U : Symbol(U, Decl(taggedTemplateStringsTypeArgumentInference.ts, 29, 25)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInference.ts, 29, 29)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInference.ts, 29, 56)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 29, 23)) >f : Symbol(f, Decl(taggedTemplateStringsTypeArgumentInference.ts, 29, 62)) @@ -123,7 +123,7 @@ function someGenerics5(strs: TemplateStringsArray, n: T, f: (x: U) => void >U : Symbol(U, Decl(taggedTemplateStringsTypeArgumentInference.ts, 35, 23)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 35, 25)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInference.ts, 35, 29)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInference.ts, 35, 56)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 35, 25)) >f : Symbol(f, Decl(taggedTemplateStringsTypeArgumentInference.ts, 35, 62)) @@ -144,7 +144,7 @@ function someGenerics6(strs: TemplateStringsArray, a: (a: A) => A, b: (b: A) >someGenerics6 : Symbol(someGenerics6, Decl(taggedTemplateStringsTypeArgumentInference.ts, 38, 31)) >A : Symbol(A, Decl(taggedTemplateStringsTypeArgumentInference.ts, 41, 23)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInference.ts, 41, 26)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(taggedTemplateStringsTypeArgumentInference.ts, 41, 53)) >a : Symbol(a, Decl(taggedTemplateStringsTypeArgumentInference.ts, 41, 58)) >A : Symbol(A, Decl(taggedTemplateStringsTypeArgumentInference.ts, 41, 23)) @@ -192,7 +192,7 @@ function someGenerics7(strs: TemplateStringsArray, a: (a: A) => A, b: ( >B : Symbol(B, Decl(taggedTemplateStringsTypeArgumentInference.ts, 47, 25)) >C : Symbol(C, Decl(taggedTemplateStringsTypeArgumentInference.ts, 47, 28)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInference.ts, 47, 32)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(taggedTemplateStringsTypeArgumentInference.ts, 47, 59)) >a : Symbol(a, Decl(taggedTemplateStringsTypeArgumentInference.ts, 47, 64)) >A : Symbol(A, Decl(taggedTemplateStringsTypeArgumentInference.ts, 47, 23)) @@ -238,7 +238,7 @@ function someGenerics8(strs: TemplateStringsArray, n: T): T { return n; } >someGenerics8 : Symbol(someGenerics8, Decl(taggedTemplateStringsTypeArgumentInference.ts, 50, 76)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 53, 23)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInference.ts, 53, 26)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInference.ts, 53, 53)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 53, 23)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 53, 23)) @@ -257,7 +257,7 @@ function someGenerics9(strs: TemplateStringsArray, a: T, b: T, c: T): T { >someGenerics9 : Symbol(someGenerics9, Decl(taggedTemplateStringsTypeArgumentInference.ts, 55, 26)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 58, 23)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInference.ts, 58, 26)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(taggedTemplateStringsTypeArgumentInference.ts, 58, 53)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInference.ts, 58, 23)) >b : Symbol(b, Decl(taggedTemplateStringsTypeArgumentInference.ts, 58, 59)) @@ -293,7 +293,7 @@ interface A92 { z?: Date; >z : Symbol(A92.z, Decl(taggedTemplateStringsTypeArgumentInference.ts, 70, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } var a9e = someGenerics9 `${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: '' } }`; @@ -302,7 +302,7 @@ var a9e = someGenerics9 `${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: >undefined : Symbol(undefined) >x : Symbol(x, Decl(taggedTemplateStringsTypeArgumentInference.ts, 74, 43)) >z : Symbol(z, Decl(taggedTemplateStringsTypeArgumentInference.ts, 74, 49)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(taggedTemplateStringsTypeArgumentInference.ts, 74, 71)) >y : Symbol(y, Decl(taggedTemplateStringsTypeArgumentInference.ts, 74, 77)) diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.symbols b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.symbols index 79f294e0d92..e24dd09ccfe 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.symbols @@ -14,7 +14,7 @@ function noGenericParams(n: TemplateStringsArray) { } >noGenericParams : Symbol(noGenericParams, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 2, 12)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 5, 25)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 5, 28)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) noGenericParams ``; >noGenericParams : Symbol(noGenericParams, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 2, 12)) @@ -36,7 +36,7 @@ function someGenerics1b(n: TemplateStringsArray, m: U) { } >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 12, 24)) >U : Symbol(U, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 12, 26)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 12, 30)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >m : Symbol(m, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 12, 54)) >U : Symbol(U, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 12, 26)) @@ -48,7 +48,7 @@ function someGenerics2a(strs: TemplateStringsArray, n: (x: T) => void) { } >someGenerics2a : Symbol(someGenerics2a, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 13, 22)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 16, 24)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 16, 27)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 16, 54)) >x : Symbol(x, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 16, 59)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 16, 24)) @@ -63,7 +63,7 @@ function someGenerics2b(strs: TemplateStringsArray, n: (x: T, y: U) => voi >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 19, 24)) >U : Symbol(U, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 19, 26)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 19, 30)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 19, 57)) >x : Symbol(x, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 19, 62)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 19, 24)) @@ -81,7 +81,7 @@ function someGenerics3(strs: TemplateStringsArray, producer: () => T) { } >someGenerics3 : Symbol(someGenerics3, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 20, 50)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 23, 23)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 23, 26)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >producer : Symbol(producer, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 23, 53)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 23, 23)) @@ -101,7 +101,7 @@ function someGenerics4(strs: TemplateStringsArray, n: T, f: (x: U) => void >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 29, 23)) >U : Symbol(U, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 29, 25)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 29, 29)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 29, 56)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 29, 23)) >f : Symbol(f, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 29, 62)) @@ -123,7 +123,7 @@ function someGenerics5(strs: TemplateStringsArray, n: T, f: (x: U) => void >U : Symbol(U, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 35, 23)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 35, 25)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 35, 29)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 35, 56)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 35, 25)) >f : Symbol(f, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 35, 62)) @@ -144,7 +144,7 @@ function someGenerics6(strs: TemplateStringsArray, a: (a: A) => A, b: (b: A) >someGenerics6 : Symbol(someGenerics6, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 38, 31)) >A : Symbol(A, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 41, 23)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 41, 26)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 41, 53)) >a : Symbol(a, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 41, 58)) >A : Symbol(A, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 41, 23)) @@ -192,7 +192,7 @@ function someGenerics7(strs: TemplateStringsArray, a: (a: A) => A, b: ( >B : Symbol(B, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 47, 25)) >C : Symbol(C, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 47, 28)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 47, 32)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 47, 59)) >a : Symbol(a, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 47, 64)) >A : Symbol(A, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 47, 23)) @@ -238,7 +238,7 @@ function someGenerics8(strs: TemplateStringsArray, n: T): T { return n; } >someGenerics8 : Symbol(someGenerics8, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 50, 76)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 53, 23)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 53, 26)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 53, 53)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 53, 23)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 53, 23)) @@ -257,7 +257,7 @@ function someGenerics9(strs: TemplateStringsArray, a: T, b: T, c: T): T { >someGenerics9 : Symbol(someGenerics9, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 55, 26)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 58, 23)) >strs : Symbol(strs, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 58, 26)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 58, 53)) >T : Symbol(T, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 58, 23)) >b : Symbol(b, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 58, 59)) @@ -293,7 +293,7 @@ interface A92 { z?: Date; >z : Symbol(A92.z, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 70, 14)) ->Date : Symbol(Date, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } var a9e = someGenerics9 `${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: '' } }`; @@ -302,7 +302,7 @@ var a9e = someGenerics9 `${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: >undefined : Symbol(undefined) >x : Symbol(x, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 74, 43)) >z : Symbol(z, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 74, 49)) ->Date : Symbol(Date, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >x : Symbol(x, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 74, 71)) >y : Symbol(y, Decl(taggedTemplateStringsTypeArgumentInferenceES6.ts, 74, 77)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.symbols b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.symbols index 8ecb79bbbca..e207a8971bb 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.symbols @@ -4,7 +4,7 @@ interface I { (stringParts: TemplateStringsArray, ...rest: boolean[]): I; >stringParts : Symbol(stringParts, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 1, 5)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >rest : Symbol(rest, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 1, 39)) >I : Symbol(I, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 0, 0)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.symbols index 848ed7682f8..5ec23bae79a 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.symbols @@ -4,7 +4,7 @@ interface I { (stringParts: TemplateStringsArray, ...rest: boolean[]): I; >stringParts : Symbol(stringParts, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 1, 5)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >rest : Symbol(rest, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 1, 39)) >I : Symbol(I, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 0, 0)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.symbols b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.symbols index c8883fda4fe..4d537183e40 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.symbols @@ -4,7 +4,7 @@ interface I { (strs: TemplateStringsArray, ...subs: number[]): I; >strs : Symbol(strs, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 1, 5)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >subs : Symbol(subs, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 1, 32)) >I : Symbol(I, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 0, 0)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.symbols index 1a81f4c36a0..0d163daa640 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.symbols @@ -4,7 +4,7 @@ interface I { (strs: TemplateStringsArray, ...subs: number[]): I; >strs : Symbol(strs, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 1, 5)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >subs : Symbol(subs, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 1, 32)) >I : Symbol(I, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 0, 0)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.symbols b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.symbols index 803291b8b30..017e73555af 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.symbols @@ -2,25 +2,25 @@ function foo(strs: TemplateStringsArray): number; >foo : Symbol(foo, Decl(taggedTemplateStringsWithOverloadResolution1.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 0, 49), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 1, 60), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 2, 72), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 3, 67)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution1.ts, 0, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) function foo(strs: TemplateStringsArray, x: number): string; >foo : Symbol(foo, Decl(taggedTemplateStringsWithOverloadResolution1.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 0, 49), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 1, 60), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 2, 72), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 3, 67)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution1.ts, 1, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(taggedTemplateStringsWithOverloadResolution1.ts, 1, 40)) function foo(strs: TemplateStringsArray, x: number, y: number): boolean; >foo : Symbol(foo, Decl(taggedTemplateStringsWithOverloadResolution1.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 0, 49), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 1, 60), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 2, 72), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 3, 67)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution1.ts, 2, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(taggedTemplateStringsWithOverloadResolution1.ts, 2, 40)) >y : Symbol(y, Decl(taggedTemplateStringsWithOverloadResolution1.ts, 2, 51)) function foo(strs: TemplateStringsArray, x: number, y: string): {}; >foo : Symbol(foo, Decl(taggedTemplateStringsWithOverloadResolution1.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 0, 49), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 1, 60), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 2, 72), Decl(taggedTemplateStringsWithOverloadResolution1.ts, 3, 67)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution1.ts, 3, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(taggedTemplateStringsWithOverloadResolution1.ts, 3, 40)) >y : Symbol(y, Decl(taggedTemplateStringsWithOverloadResolution1.ts, 3, 51)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.symbols index 2f45654ce62..fad61bd5e7d 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.symbols @@ -2,25 +2,25 @@ function foo(strs: TemplateStringsArray): number; >foo : Symbol(foo, Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 0, 49), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 1, 60), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 2, 72), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 3, 67)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 0, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) function foo(strs: TemplateStringsArray, x: number): string; >foo : Symbol(foo, Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 0, 49), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 1, 60), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 2, 72), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 3, 67)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 1, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 1, 40)) function foo(strs: TemplateStringsArray, x: number, y: number): boolean; >foo : Symbol(foo, Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 0, 49), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 1, 60), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 2, 72), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 3, 67)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 2, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 2, 40)) >y : Symbol(y, Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 2, 51)) function foo(strs: TemplateStringsArray, x: number, y: string): {}; >foo : Symbol(foo, Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 0, 49), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 1, 60), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 2, 72), Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 3, 67)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 3, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 3, 40)) >y : Symbol(y, Decl(taggedTemplateStringsWithOverloadResolution1_ES6.ts, 3, 51)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.symbols b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.symbols index fe66a0c1c19..9bd2bbd3f0c 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.symbols @@ -2,7 +2,7 @@ function foo1(strs: TemplateStringsArray, x: number): string; >foo1 : Symbol(foo1, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution2.ts, 0, 61), Decl(taggedTemplateStringsWithOverloadResolution2.ts, 1, 49)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 0, 14)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 0, 41)) function foo1(strs: string[], x: number): number; @@ -34,7 +34,7 @@ function foo2(strs: string[], x: number): number; function foo2(strs: TemplateStringsArray, x: number): string; >foo2 : Symbol(foo2, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 7, 20), Decl(taggedTemplateStringsWithOverloadResolution2.ts, 9, 49), Decl(taggedTemplateStringsWithOverloadResolution2.ts, 10, 61)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 10, 14)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 10, 41)) function foo2(...stuff: any[]): any { diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.symbols index c124db958da..9cc79f2596f 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.symbols @@ -2,7 +2,7 @@ function foo1(strs: TemplateStringsArray, x: number): string; >foo1 : Symbol(foo1, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 0, 61), Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 1, 49)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 0, 14)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 0, 41)) function foo1(strs: string[], x: number): number; @@ -34,7 +34,7 @@ function foo2(strs: string[], x: number): number; function foo2(strs: TemplateStringsArray, x: number): string; >foo2 : Symbol(foo2, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 7, 20), Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 9, 49), Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 10, 61)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 10, 14)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 10, 41)) function foo2(...stuff: any[]): any { diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.symbols b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.symbols index 07b5228bae0..3ae8ba82c53 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.symbols @@ -3,13 +3,13 @@ function fn1(strs: TemplateStringsArray, s: string): string; >fn1 : Symbol(fn1, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 1, 60), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 2, 60)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 1, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 1, 40)) function fn1(strs: TemplateStringsArray, n: number): number; >fn1 : Symbol(fn1, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 1, 60), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 2, 60)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 2, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 2, 40)) function fn1() { return null; } @@ -27,7 +27,7 @@ fn1 `${ {} }`; // Error function fn2(strs: TemplateStringsArray, s: string, n: number): number; >fn2 : Symbol(fn2, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 8, 14), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 10, 71), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 11, 64)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 10, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 10, 40)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 10, 51)) @@ -35,7 +35,7 @@ function fn2(strs: TemplateStringsArray, n: number, t: T): T; >fn2 : Symbol(fn2, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 8, 14), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 10, 71), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 11, 64)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 11, 13)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 11, 16)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 11, 43)) >t : Symbol(t, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 11, 54)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 11, 13)) @@ -47,7 +47,7 @@ function fn2() { return undefined; } var d1: Date = fn2 `${ 0 }${ undefined }`; // contextually typed >d1 : Symbol(d1, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 14, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >fn2 : Symbol(fn2, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 8, 14), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 10, 71), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 11, 64)) >undefined : Symbol(undefined) @@ -75,7 +75,7 @@ function fn3(strs: TemplateStringsArray, n: T): string; >fn3 : Symbol(fn3, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 24, 20), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 27, 58), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 28, 73), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 29, 76)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 27, 13)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 27, 16)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 27, 43)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 27, 13)) @@ -84,7 +84,7 @@ function fn3(strs: TemplateStringsArray, s: string, t: T, u: U): U; >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 28, 13)) >U : Symbol(U, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 28, 15)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 28, 19)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 28, 46)) >t : Symbol(t, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 28, 57)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 28, 13)) @@ -98,7 +98,7 @@ function fn3(strs: TemplateStringsArray, v: V, u: U, t: T): number; >U : Symbol(U, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 29, 15)) >V : Symbol(V, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 29, 18)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 29, 22)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 29, 49)) >V : Symbol(V, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 29, 18)) >u : Symbol(u, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 29, 55)) @@ -147,7 +147,7 @@ function fn4(strs: TemplateStringsArray, n: >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 46, 13)) >U : Symbol(U, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 46, 30)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 46, 49)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 46, 76)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 46, 13)) >m : Symbol(m, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 46, 82)) @@ -158,7 +158,7 @@ function fn4(strs: TemplateStringsArray, n: >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 47, 13)) >U : Symbol(U, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 47, 30)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 47, 49)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 47, 76)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 47, 13)) >m : Symbol(m, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 47, 82)) @@ -167,7 +167,7 @@ function fn4(strs: TemplateStringsArray, n: function fn4(strs: TemplateStringsArray) >fn4 : Symbol(fn4, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 43, 7), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 46, 89), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 47, 89), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 48, 40)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 48, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) function fn4() { } >fn4 : Symbol(fn4, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 43, 7), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 46, 89), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 47, 89), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 48, 40)) @@ -201,14 +201,14 @@ fn4 `${ null }${ true }`; function fn5(strs: TemplateStringsArray, f: (n: string) => void): string; >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 66, 73)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 65, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 65, 40)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 65, 45)) function fn5(strs: TemplateStringsArray, f: (n: number) => void): number; >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 66, 73)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 66, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 66, 40)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 66, 45)) @@ -224,8 +224,8 @@ fn5 `${ (n) => n.toFixed() }`; // will error; 'n' should have type 'string'. fn5 `${ (n) => n.substr(0) }`; >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 66, 73)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 69, 9)) ->n.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 69, 9)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.symbols index fb19ebbb4c9..c8c0e6c6551 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.symbols @@ -3,13 +3,13 @@ function fn1(strs: TemplateStringsArray, s: string): string; >fn1 : Symbol(fn1, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 1, 60), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 2, 60)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 1, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 1, 40)) function fn1(strs: TemplateStringsArray, n: number): number; >fn1 : Symbol(fn1, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 1, 60), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 2, 60)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 2, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 2, 40)) function fn1() { return null; } @@ -27,7 +27,7 @@ fn1 `${ {} }`; // Error function fn2(strs: TemplateStringsArray, s: string, n: number): number; >fn2 : Symbol(fn2, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 8, 14), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 10, 71), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 11, 64)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 10, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 10, 40)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 10, 51)) @@ -35,7 +35,7 @@ function fn2(strs: TemplateStringsArray, n: number, t: T): T; >fn2 : Symbol(fn2, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 8, 14), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 10, 71), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 11, 64)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 11, 13)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 11, 16)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 11, 43)) >t : Symbol(t, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 11, 54)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 11, 13)) @@ -47,7 +47,7 @@ function fn2() { return undefined; } var d1: Date = fn2 `${ 0 }${ undefined }`; // contextually typed >d1 : Symbol(d1, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 14, 3)) ->Date : Symbol(Date, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >fn2 : Symbol(fn2, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 8, 14), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 10, 71), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 11, 64)) >undefined : Symbol(undefined) @@ -75,7 +75,7 @@ function fn3(strs: TemplateStringsArray, n: T): string; >fn3 : Symbol(fn3, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 24, 20), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 27, 58), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 28, 73), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 29, 76)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 27, 13)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 27, 16)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 27, 43)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 27, 13)) @@ -84,7 +84,7 @@ function fn3(strs: TemplateStringsArray, s: string, t: T, u: U): U; >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 28, 13)) >U : Symbol(U, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 28, 15)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 28, 19)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 28, 46)) >t : Symbol(t, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 28, 57)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 28, 13)) @@ -98,7 +98,7 @@ function fn3(strs: TemplateStringsArray, v: V, u: U, t: T): number; >U : Symbol(U, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 29, 15)) >V : Symbol(V, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 29, 18)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 29, 22)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 29, 49)) >V : Symbol(V, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 29, 18)) >u : Symbol(u, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 29, 55)) @@ -147,7 +147,7 @@ function fn4(strs: TemplateStringsArray, n: >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 46, 13)) >U : Symbol(U, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 46, 30)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 46, 49)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 46, 76)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 46, 13)) >m : Symbol(m, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 46, 82)) @@ -158,7 +158,7 @@ function fn4(strs: TemplateStringsArray, n: >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 47, 13)) >U : Symbol(U, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 47, 30)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 47, 49)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 47, 76)) >T : Symbol(T, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 47, 13)) >m : Symbol(m, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 47, 82)) @@ -167,7 +167,7 @@ function fn4(strs: TemplateStringsArray, n: function fn4(strs: TemplateStringsArray) >fn4 : Symbol(fn4, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 43, 7), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 46, 89), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 47, 89), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 48, 40)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 48, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) function fn4() { } >fn4 : Symbol(fn4, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 43, 7), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 46, 89), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 47, 89), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 48, 40)) @@ -201,14 +201,14 @@ fn4 `${ null }${ true }`; function fn5(strs: TemplateStringsArray, f: (n: string) => void): string; >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 66, 73)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 65, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 65, 40)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 65, 45)) function fn5(strs: TemplateStringsArray, f: (n: number) => void): number; >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 66, 73)) >strs : Symbol(strs, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 66, 13)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 66, 40)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 66, 45)) @@ -224,8 +224,8 @@ fn5 `${ (n) => n.toFixed() }`; // will error; 'n' should have type 'string'. fn5 `${ (n) => n.substr(0) }`; >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 66, 73)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 69, 9)) ->n.substr : Symbol(String.substr, Decl(lib.es6.d.ts, --, --)) +>n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 69, 9)) ->substr : Symbol(String.substr, Decl(lib.es6.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.symbols b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.symbols index cd28177f587..4c1b515e97a 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.symbols @@ -4,7 +4,7 @@ interface I { (stringParts: TemplateStringsArray, ...rest: number[]): I; >stringParts : Symbol(stringParts, Decl(taggedTemplateStringsWithTypedTags.ts, 1, 5)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >rest : Symbol(rest, Decl(taggedTemplateStringsWithTypedTags.ts, 1, 39)) >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTags.ts, 0, 0)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.symbols index 64be0db1a92..f7f9c62d492 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.symbols @@ -4,7 +4,7 @@ interface I { (stringParts: TemplateStringsArray, ...rest: number[]): I; >stringParts : Symbol(stringParts, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 1, 5)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >rest : Symbol(rest, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 1, 39)) >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 0, 0)) diff --git a/tests/baselines/reference/taggedTemplateUntypedTagCall01.symbols b/tests/baselines/reference/taggedTemplateUntypedTagCall01.symbols index 07af0a996e5..7563fff15b4 100644 --- a/tests/baselines/reference/taggedTemplateUntypedTagCall01.symbols +++ b/tests/baselines/reference/taggedTemplateUntypedTagCall01.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/templates/taggedTemplateUntypedTagCall01.ts === var tag: Function; >tag : Symbol(tag, Decl(taggedTemplateUntypedTagCall01.ts, 0, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) tag `Hello world!`; >tag : Symbol(tag, Decl(taggedTemplateUntypedTagCall01.ts, 0, 3)) diff --git a/tests/baselines/reference/taggedTemplatesInDifferentScopes.symbols b/tests/baselines/reference/taggedTemplatesInDifferentScopes.symbols index 071616b85f1..02028ffe6eb 100644 --- a/tests/baselines/reference/taggedTemplatesInDifferentScopes.symbols +++ b/tests/baselines/reference/taggedTemplatesInDifferentScopes.symbols @@ -2,7 +2,7 @@ export function tag(parts: TemplateStringsArray, ...values: any[]) { >tag : Symbol(tag, Decl(taggedTemplatesInDifferentScopes.ts, 0, 0)) >parts : Symbol(parts, Decl(taggedTemplatesInDifferentScopes.ts, 0, 20)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >values : Symbol(values, Decl(taggedTemplatesInDifferentScopes.ts, 0, 48)) return parts[0]; diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteNoSubstitutionTemplate1.symbols b/tests/baselines/reference/taggedTemplatesWithIncompleteNoSubstitutionTemplate1.symbols index 7daa576a25e..4735c33e421 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteNoSubstitutionTemplate1.symbols +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteNoSubstitutionTemplate1.symbols @@ -2,7 +2,7 @@ function f(x: TemplateStringsArray, y: string, z: string) { >f : Symbol(f, Decl(taggedTemplatesWithIncompleteNoSubstitutionTemplate1.ts, 0, 0)) >x : Symbol(x, Decl(taggedTemplatesWithIncompleteNoSubstitutionTemplate1.ts, 0, 11)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(taggedTemplatesWithIncompleteNoSubstitutionTemplate1.ts, 0, 35)) >z : Symbol(z, Decl(taggedTemplatesWithIncompleteNoSubstitutionTemplate1.ts, 0, 46)) } diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteNoSubstitutionTemplate2.symbols b/tests/baselines/reference/taggedTemplatesWithIncompleteNoSubstitutionTemplate2.symbols index 3262b1dcad5..f0cf4b20af3 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteNoSubstitutionTemplate2.symbols +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteNoSubstitutionTemplate2.symbols @@ -2,7 +2,7 @@ function f(x: TemplateStringsArray, y: string, z: string) { >f : Symbol(f, Decl(taggedTemplatesWithIncompleteNoSubstitutionTemplate2.ts, 0, 0)) >x : Symbol(x, Decl(taggedTemplatesWithIncompleteNoSubstitutionTemplate2.ts, 0, 11)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(taggedTemplatesWithIncompleteNoSubstitutionTemplate2.ts, 0, 35)) >z : Symbol(z, Decl(taggedTemplatesWithIncompleteNoSubstitutionTemplate2.ts, 0, 46)) } diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions1.symbols b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions1.symbols index 946026220ea..4f41bcd748e 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions1.symbols +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions1.symbols @@ -2,7 +2,7 @@ function f(x: TemplateStringsArray, y: string, z: string) { >f : Symbol(f, Decl(taggedTemplatesWithIncompleteTemplateExpressions1.ts, 0, 0)) >x : Symbol(x, Decl(taggedTemplatesWithIncompleteTemplateExpressions1.ts, 0, 11)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(taggedTemplatesWithIncompleteTemplateExpressions1.ts, 0, 35)) >z : Symbol(z, Decl(taggedTemplatesWithIncompleteTemplateExpressions1.ts, 0, 46)) } diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions2.symbols b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions2.symbols index 051a8a2706f..90316388c50 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions2.symbols +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions2.symbols @@ -2,7 +2,7 @@ function f(x: TemplateStringsArray, y: string, z: string) { >f : Symbol(f, Decl(taggedTemplatesWithIncompleteTemplateExpressions2.ts, 0, 0)) >x : Symbol(x, Decl(taggedTemplatesWithIncompleteTemplateExpressions2.ts, 0, 11)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(taggedTemplatesWithIncompleteTemplateExpressions2.ts, 0, 35)) >z : Symbol(z, Decl(taggedTemplatesWithIncompleteTemplateExpressions2.ts, 0, 46)) } diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions3.symbols b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions3.symbols index a51594b3772..35629254802 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions3.symbols +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions3.symbols @@ -2,7 +2,7 @@ function f(x: TemplateStringsArray, y: string, z: string) { >f : Symbol(f, Decl(taggedTemplatesWithIncompleteTemplateExpressions3.ts, 0, 0)) >x : Symbol(x, Decl(taggedTemplatesWithIncompleteTemplateExpressions3.ts, 0, 11)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(taggedTemplatesWithIncompleteTemplateExpressions3.ts, 0, 35)) >z : Symbol(z, Decl(taggedTemplatesWithIncompleteTemplateExpressions3.ts, 0, 46)) } diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions4.symbols b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions4.symbols index 88dab945db0..ba814b71c97 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions4.symbols +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions4.symbols @@ -2,7 +2,7 @@ function f(x: TemplateStringsArray, y: string, z: string) { >f : Symbol(f, Decl(taggedTemplatesWithIncompleteTemplateExpressions4.ts, 0, 0)) >x : Symbol(x, Decl(taggedTemplatesWithIncompleteTemplateExpressions4.ts, 0, 11)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(taggedTemplatesWithIncompleteTemplateExpressions4.ts, 0, 35)) >z : Symbol(z, Decl(taggedTemplatesWithIncompleteTemplateExpressions4.ts, 0, 46)) } diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions5.symbols b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions5.symbols index 9152de0026b..d9cc96fd93f 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions5.symbols +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions5.symbols @@ -2,7 +2,7 @@ function f(x: TemplateStringsArray, y: string, z: string) { >f : Symbol(f, Decl(taggedTemplatesWithIncompleteTemplateExpressions5.ts, 0, 0)) >x : Symbol(x, Decl(taggedTemplatesWithIncompleteTemplateExpressions5.ts, 0, 11)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(taggedTemplatesWithIncompleteTemplateExpressions5.ts, 0, 35)) >z : Symbol(z, Decl(taggedTemplatesWithIncompleteTemplateExpressions5.ts, 0, 46)) } diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions6.symbols b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions6.symbols index 608273563aa..6a18e12c08f 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions6.symbols +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions6.symbols @@ -2,7 +2,7 @@ function f(x: TemplateStringsArray, y: string, z: string) { >f : Symbol(f, Decl(taggedTemplatesWithIncompleteTemplateExpressions6.ts, 0, 0)) >x : Symbol(x, Decl(taggedTemplatesWithIncompleteTemplateExpressions6.ts, 0, 11)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(taggedTemplatesWithIncompleteTemplateExpressions6.ts, 0, 35)) >z : Symbol(z, Decl(taggedTemplatesWithIncompleteTemplateExpressions6.ts, 0, 46)) } diff --git a/tests/baselines/reference/taggedTemplatesWithTypeArguments1.symbols b/tests/baselines/reference/taggedTemplatesWithTypeArguments1.symbols index 2691919f0b5..4cd6dce23e3 100644 --- a/tests/baselines/reference/taggedTemplatesWithTypeArguments1.symbols +++ b/tests/baselines/reference/taggedTemplatesWithTypeArguments1.symbols @@ -5,7 +5,7 @@ declare function f(strs: TemplateStringsArray, ...callbacks: Array<(x: T) => >strs : Symbol(strs, Decl(taggedTemplatesWithTypeArguments1.ts, 0, 22)) >TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >callbacks : Symbol(callbacks, Decl(taggedTemplatesWithTypeArguments1.ts, 0, 49)) ->Array : Symbol(Array, Decl(lib.esnext.array.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 2 more) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 2 more) >x : Symbol(x, Decl(taggedTemplatesWithTypeArguments1.ts, 0, 71)) >T : Symbol(T, Decl(taggedTemplatesWithTypeArguments1.ts, 0, 19)) diff --git a/tests/baselines/reference/targetTypeArgs.symbols b/tests/baselines/reference/targetTypeArgs.symbols index b0d825ddd50..c60d457c233 100644 --- a/tests/baselines/reference/targetTypeArgs.symbols +++ b/tests/baselines/reference/targetTypeArgs.symbols @@ -14,44 +14,44 @@ foo(function(x) { x }); >x : Symbol(x, Decl(targetTypeArgs.ts, 4, 13)) [1].forEach(function(v,i,a) { v }); ->[1].forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>[1].forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(targetTypeArgs.ts, 6, 21)) >i : Symbol(i, Decl(targetTypeArgs.ts, 6, 23)) >a : Symbol(a, Decl(targetTypeArgs.ts, 6, 25)) >v : Symbol(v, Decl(targetTypeArgs.ts, 6, 21)) ["hello"].every(function(v,i,a) {return true;}); ->["hello"].every : Symbol(Array.every, Decl(lib.d.ts, --, --)) ->every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>["hello"].every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) +>every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(targetTypeArgs.ts, 7, 25)) >i : Symbol(i, Decl(targetTypeArgs.ts, 7, 27)) >a : Symbol(a, Decl(targetTypeArgs.ts, 7, 29)) [1].every(function(v,i,a) {return true;}); ->[1].every : Symbol(Array.every, Decl(lib.d.ts, --, --)) ->every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>[1].every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) +>every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(targetTypeArgs.ts, 8, 19)) >i : Symbol(i, Decl(targetTypeArgs.ts, 8, 21)) >a : Symbol(a, Decl(targetTypeArgs.ts, 8, 23)) [1].every(function(v,i,a) {return true;}); ->[1].every : Symbol(Array.every, Decl(lib.d.ts, --, --)) ->every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>[1].every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) +>every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(targetTypeArgs.ts, 9, 19)) >i : Symbol(i, Decl(targetTypeArgs.ts, 9, 21)) >a : Symbol(a, Decl(targetTypeArgs.ts, 9, 23)) ["s"].every(function(v,i,a) {return true;}); ->["s"].every : Symbol(Array.every, Decl(lib.d.ts, --, --)) ->every : Symbol(Array.every, Decl(lib.d.ts, --, --)) +>["s"].every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) +>every : Symbol(Array.every, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(targetTypeArgs.ts, 10, 21)) >i : Symbol(i, Decl(targetTypeArgs.ts, 10, 23)) >a : Symbol(a, Decl(targetTypeArgs.ts, 10, 25)) ["s"].forEach(function(v,i,a) { v }); ->["s"].forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>["s"].forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >v : Symbol(v, Decl(targetTypeArgs.ts, 11, 23)) >i : Symbol(i, Decl(targetTypeArgs.ts, 11, 25)) >a : Symbol(a, Decl(targetTypeArgs.ts, 11, 27)) diff --git a/tests/baselines/reference/targetTypeObjectLiteralToAny.symbols b/tests/baselines/reference/targetTypeObjectLiteralToAny.symbols index 6df8d8ac2ad..a7b9d93670f 100644 --- a/tests/baselines/reference/targetTypeObjectLiteralToAny.symbols +++ b/tests/baselines/reference/targetTypeObjectLiteralToAny.symbols @@ -9,9 +9,9 @@ function suggest(){ >result : Symbol(result, Decl(targetTypeObjectLiteralToAny.ts, 2, 4)) TypeScriptKeywords.forEach(function(keyword) { ->TypeScriptKeywords.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>TypeScriptKeywords.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >TypeScriptKeywords : Symbol(TypeScriptKeywords, Decl(targetTypeObjectLiteralToAny.ts, 1, 4)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >keyword : Symbol(keyword, Decl(targetTypeObjectLiteralToAny.ts, 4, 37)) result.push({text:keyword, type:"keyword"}); // this should not cause a crash - push should be typed to any diff --git a/tests/baselines/reference/targetTypeTest1.symbols b/tests/baselines/reference/targetTypeTest1.symbols index 0b2b97d4e0f..0b2f7f92eef 100644 --- a/tests/baselines/reference/targetTypeTest1.symbols +++ b/tests/baselines/reference/targetTypeTest1.symbols @@ -62,9 +62,9 @@ Point.origin = new Point(0, 0); // this inferred as Point because of obj.prop assignment // dx, dy, and return type inferred using target typing Point.prototype.add = function(dx, dy) { ->Point.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>Point.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >Point : Symbol(Point, Decl(targetTypeTest1.ts, 8, 1)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >dx : Symbol(dx, Decl(targetTypeTest1.ts, 30, 31)) >dy : Symbol(dy, Decl(targetTypeTest1.ts, 30, 34)) @@ -82,9 +82,9 @@ var f : number = 5; // this in function add inferred to be type of object literal (i.e. Point) // dx, dy, and return type of add inferred using target typing Point.prototype = { ->Point.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>Point.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >Point : Symbol(Point, Decl(targetTypeTest1.ts, 8, 1)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) x: 0, >x : Symbol(x, Decl(targetTypeTest1.ts, 39, 19)) @@ -147,9 +147,9 @@ function C(a,b) { } C.prototype = ->C.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>C.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >C : Symbol(C, Decl(targetTypeTest1.ts, 57, 1)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) { a:0, >a : Symbol(a, Decl(targetTypeTest1.ts, 65, 2)) diff --git a/tests/baselines/reference/targetTypingOnFunctions.symbols b/tests/baselines/reference/targetTypingOnFunctions.symbols index 19dfda36f79..e7f49ebf5fd 100644 --- a/tests/baselines/reference/targetTypingOnFunctions.symbols +++ b/tests/baselines/reference/targetTypingOnFunctions.symbols @@ -3,15 +3,15 @@ var fu: (s: string) => string = function (s) { return s.toLowerCase() }; >fu : Symbol(fu, Decl(targetTypingOnFunctions.ts, 0, 3)) >s : Symbol(s, Decl(targetTypingOnFunctions.ts, 0, 9)) >s : Symbol(s, Decl(targetTypingOnFunctions.ts, 0, 42)) ->s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(targetTypingOnFunctions.ts, 0, 42)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) var zu = fu = function (s) { return s.toLowerCase() }; >zu : Symbol(zu, Decl(targetTypingOnFunctions.ts, 2, 3)) >fu : Symbol(fu, Decl(targetTypingOnFunctions.ts, 0, 3)) >s : Symbol(s, Decl(targetTypingOnFunctions.ts, 2, 24)) ->s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(targetTypingOnFunctions.ts, 2, 24)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/templateStringInInstanceOf.symbols b/tests/baselines/reference/templateStringInInstanceOf.symbols index ba852026452..0d9655f77d1 100644 --- a/tests/baselines/reference/templateStringInInstanceOf.symbols +++ b/tests/baselines/reference/templateStringInInstanceOf.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/templates/templateStringInInstanceOf.ts === var x = `abc${ 0 }def` instanceof String; >x : Symbol(x, Decl(templateStringInInstanceOf.ts, 0, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/templateStringInInstanceOfES6.symbols b/tests/baselines/reference/templateStringInInstanceOfES6.symbols index 9580d7c069d..8c306e89050 100644 --- a/tests/baselines/reference/templateStringInInstanceOfES6.symbols +++ b/tests/baselines/reference/templateStringInInstanceOfES6.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/templates/templateStringInInstanceOfES6.ts === var x = `abc${ 0 }def` instanceof String; >x : Symbol(x, Decl(templateStringInInstanceOfES6.ts, 0, 3)) ->String : Symbol(String, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 1 more) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) diff --git a/tests/baselines/reference/templateStringWithEmbeddedInstanceOf.symbols b/tests/baselines/reference/templateStringWithEmbeddedInstanceOf.symbols index b95f28e152a..b261e988304 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedInstanceOf.symbols +++ b/tests/baselines/reference/templateStringWithEmbeddedInstanceOf.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/templates/templateStringWithEmbeddedInstanceOf.ts === var x = `abc${ "hello" instanceof String }def`; >x : Symbol(x, Decl(templateStringWithEmbeddedInstanceOf.ts, 0, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/templateStringWithEmbeddedInstanceOfES6.symbols b/tests/baselines/reference/templateStringWithEmbeddedInstanceOfES6.symbols index ab2e5d8094e..19699613b29 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedInstanceOfES6.symbols +++ b/tests/baselines/reference/templateStringWithEmbeddedInstanceOfES6.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/templates/templateStringWithEmbeddedInstanceOfES6.ts === var x = `abc${ "hello" instanceof String }def`; >x : Symbol(x, Decl(templateStringWithEmbeddedInstanceOfES6.ts, 0, 3)) ->String : Symbol(String, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 1 more) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) diff --git a/tests/baselines/reference/templateStringWithEmbeddedNewOperator.symbols b/tests/baselines/reference/templateStringWithEmbeddedNewOperator.symbols index 120bd330502..8c2bce3dd99 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedNewOperator.symbols +++ b/tests/baselines/reference/templateStringWithEmbeddedNewOperator.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/templates/templateStringWithEmbeddedNewOperator.ts === var x = `abc${ new String("Hi") }def`; >x : Symbol(x, Decl(templateStringWithEmbeddedNewOperator.ts, 0, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/templateStringWithEmbeddedNewOperatorES6.symbols b/tests/baselines/reference/templateStringWithEmbeddedNewOperatorES6.symbols index b597bc5e6d7..27aad1de7ab 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedNewOperatorES6.symbols +++ b/tests/baselines/reference/templateStringWithEmbeddedNewOperatorES6.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/templates/templateStringWithEmbeddedNewOperatorES6.ts === var x = `abc${ new String("Hi") }def`; >x : Symbol(x, Decl(templateStringWithEmbeddedNewOperatorES6.ts, 0, 3)) ->String : Symbol(String, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --) ... and 1 more) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 1 more) diff --git a/tests/baselines/reference/templateStringWithEmbeddedUnaryPlus.symbols b/tests/baselines/reference/templateStringWithEmbeddedUnaryPlus.symbols index 22af33732cf..8b63cb08dd1 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedUnaryPlus.symbols +++ b/tests/baselines/reference/templateStringWithEmbeddedUnaryPlus.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/templates/templateStringWithEmbeddedUnaryPlus.ts === var x = `abc${ +Infinity }def`; >x : Symbol(x, Decl(templateStringWithEmbeddedUnaryPlus.ts, 0, 3)) ->Infinity : Symbol(Infinity, Decl(lib.d.ts, --, --)) +>Infinity : Symbol(Infinity, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/templateStringWithEmbeddedUnaryPlusES6.symbols b/tests/baselines/reference/templateStringWithEmbeddedUnaryPlusES6.symbols index 06a1acd210b..df10fbfca6d 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedUnaryPlusES6.symbols +++ b/tests/baselines/reference/templateStringWithEmbeddedUnaryPlusES6.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/templates/templateStringWithEmbeddedUnaryPlusES6.ts === var x = `abc${ +Infinity }def`; >x : Symbol(x, Decl(templateStringWithEmbeddedUnaryPlusES6.ts, 0, 3)) ->Infinity : Symbol(Infinity, Decl(lib.es6.d.ts, --, --)) +>Infinity : Symbol(Infinity, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/templateStringWithPropertyAccess.symbols b/tests/baselines/reference/templateStringWithPropertyAccess.symbols index 16b090fe5ff..dc8d8d9c926 100644 --- a/tests/baselines/reference/templateStringWithPropertyAccess.symbols +++ b/tests/baselines/reference/templateStringWithPropertyAccess.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/templates/templateStringWithPropertyAccess.ts === `abc${0}abc`.indexOf(`abc`); ->`abc${0}abc`.indexOf : Symbol(String.indexOf, Decl(lib.d.ts, --, --)) ->indexOf : Symbol(String.indexOf, Decl(lib.d.ts, --, --)) +>`abc${0}abc`.indexOf : Symbol(String.indexOf, Decl(lib.es5.d.ts, --, --)) +>indexOf : Symbol(String.indexOf, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/templateStringWithPropertyAccessES6.symbols b/tests/baselines/reference/templateStringWithPropertyAccessES6.symbols index 4638a3813b9..803705609a1 100644 --- a/tests/baselines/reference/templateStringWithPropertyAccessES6.symbols +++ b/tests/baselines/reference/templateStringWithPropertyAccessES6.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/templates/templateStringWithPropertyAccessES6.ts === `abc${0}abc`.indexOf(`abc`); ->`abc${0}abc`.indexOf : Symbol(String.indexOf, Decl(lib.es6.d.ts, --, --)) ->indexOf : Symbol(String.indexOf, Decl(lib.es6.d.ts, --, --)) +>`abc${0}abc`.indexOf : Symbol(String.indexOf, Decl(lib.es5.d.ts, --, --)) +>indexOf : Symbol(String.indexOf, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.symbols b/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.symbols index 45b19e89694..78e58c22343 100644 --- a/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.symbols +++ b/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.symbols @@ -1,12 +1,12 @@ === tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts === class TemplateStringsArray { ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --), Decl(templateStringsArrayTypeDefinedInES5Mode.ts, 0, 0)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --), Decl(templateStringsArrayTypeDefinedInES5Mode.ts, 0, 0)) } function f(x: TemplateStringsArray, y: number, z: number) { >f : Symbol(f, Decl(templateStringsArrayTypeDefinedInES5Mode.ts, 1, 1)) >x : Symbol(x, Decl(templateStringsArrayTypeDefinedInES5Mode.ts, 3, 11)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --), Decl(templateStringsArrayTypeDefinedInES5Mode.ts, 0, 0)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --), Decl(templateStringsArrayTypeDefinedInES5Mode.ts, 0, 0)) >y : Symbol(y, Decl(templateStringsArrayTypeDefinedInES5Mode.ts, 3, 35)) >z : Symbol(z, Decl(templateStringsArrayTypeDefinedInES5Mode.ts, 3, 46)) } diff --git a/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.symbols b/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.symbols index 68953aee49a..63a6e7e42eb 100644 --- a/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.symbols +++ b/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.symbols @@ -2,7 +2,7 @@ function f(x: TemplateStringsArray, y: number, z: number) { >f : Symbol(f, Decl(templateStringsArrayTypeNotDefinedES5Mode.ts, 0, 0)) >x : Symbol(x, Decl(templateStringsArrayTypeNotDefinedES5Mode.ts, 0, 11)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(templateStringsArrayTypeNotDefinedES5Mode.ts, 0, 35)) >z : Symbol(z, Decl(templateStringsArrayTypeNotDefinedES5Mode.ts, 0, 46)) } diff --git a/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.symbols b/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.symbols index 225f7c9b122..f65f949fcb9 100644 --- a/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.symbols +++ b/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.symbols @@ -1,12 +1,12 @@ === tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts === class TemplateStringsArray { ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --), Decl(templateStringsArrayTypeRedefinedInES6Mode.ts, 0, 0)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --), Decl(templateStringsArrayTypeRedefinedInES6Mode.ts, 0, 0)) } function f(x: TemplateStringsArray, y: number, z: number) { >f : Symbol(f, Decl(templateStringsArrayTypeRedefinedInES6Mode.ts, 1, 1)) >x : Symbol(x, Decl(templateStringsArrayTypeRedefinedInES6Mode.ts, 3, 11)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es6.d.ts, --, --), Decl(templateStringsArrayTypeRedefinedInES6Mode.ts, 0, 0)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --), Decl(templateStringsArrayTypeRedefinedInES6Mode.ts, 0, 0)) >y : Symbol(y, Decl(templateStringsArrayTypeRedefinedInES6Mode.ts, 3, 35)) >z : Symbol(z, Decl(templateStringsArrayTypeRedefinedInES6Mode.ts, 3, 46)) } diff --git a/tests/baselines/reference/thisBinding2.symbols b/tests/baselines/reference/thisBinding2.symbols index 3404ad69473..a0ff4876b3c 100644 --- a/tests/baselines/reference/thisBinding2.symbols +++ b/tests/baselines/reference/thisBinding2.symbols @@ -33,7 +33,7 @@ class C { } } declare function setTimeout(expression: any, msec?: number, language?: any): number; ->setTimeout : Symbol(setTimeout, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(thisBinding2.ts, 12, 1)) +>setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(thisBinding2.ts, 12, 1)) >expression : Symbol(expression, Decl(thisBinding2.ts, 13, 28)) >msec : Symbol(msec, Decl(thisBinding2.ts, 13, 44)) >language : Symbol(language, Decl(thisBinding2.ts, 13, 59)) @@ -48,7 +48,7 @@ var messenger = { >start : Symbol(start, Decl(thisBinding2.ts, 15, 27)) return setTimeout(() => { var x = this.message; }, 3000); ->setTimeout : Symbol(setTimeout, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(thisBinding2.ts, 12, 1)) +>setTimeout : Symbol(setTimeout, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(thisBinding2.ts, 12, 1)) >x : Symbol(x, Decl(thisBinding2.ts, 17, 37)) >this.message : Symbol(message, Decl(thisBinding2.ts, 14, 17)) >this : Symbol(messenger, Decl(thisBinding2.ts, 14, 15)) diff --git a/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.symbols b/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.symbols index c7f2b7c78a7..5618ae4a695 100644 --- a/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.symbols +++ b/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.symbols @@ -4,8 +4,8 @@ class C { public foo() { [1,2,3].map((x) => { return this; })} >foo : Symbol(C.foo, Decl(thisExpressionInCallExpressionWithTypeArguments.ts, 0, 9)) ->[1,2,3].map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>[1,2,3].map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(thisExpressionInCallExpressionWithTypeArguments.ts, 1, 41)) >this : Symbol(C, Decl(thisExpressionInCallExpressionWithTypeArguments.ts, 0, 0)) } diff --git a/tests/baselines/reference/thisInPropertyBoundDeclarations.symbols b/tests/baselines/reference/thisInPropertyBoundDeclarations.symbols index 12d3b2db31e..4e19e5bb148 100644 --- a/tests/baselines/reference/thisInPropertyBoundDeclarations.symbols +++ b/tests/baselines/reference/thisInPropertyBoundDeclarations.symbols @@ -7,7 +7,7 @@ class Bug { private static func: Function[] = [ >func : Symbol(Bug.func, Decl(thisInPropertyBoundDeclarations.ts, 1, 25)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) (that: Bug, name: string) => { >that : Symbol(that, Decl(thisInPropertyBoundDeclarations.ts, 4, 6)) diff --git a/tests/baselines/reference/thisTypeInClasses.symbols b/tests/baselines/reference/thisTypeInClasses.symbols index df8ffe927df..523a96b7dc2 100644 --- a/tests/baselines/reference/thisTypeInClasses.symbols +++ b/tests/baselines/reference/thisTypeInClasses.symbols @@ -41,11 +41,11 @@ class C3 { c: this | Date; >c : Symbol(C3.c, Decl(thisTypeInClasses.ts, 16, 20)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) d: this & Date; >d : Symbol(C3.d, Decl(thisTypeInClasses.ts, 17, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) e: (((this))); >e : Symbol(C3.e, Decl(thisTypeInClasses.ts, 18, 19)) diff --git a/tests/baselines/reference/thisTypeInFunctions2.symbols b/tests/baselines/reference/thisTypeInFunctions2.symbols index aeff7756a62..82ddc46903c 100644 --- a/tests/baselines/reference/thisTypeInFunctions2.symbols +++ b/tests/baselines/reference/thisTypeInFunctions2.symbols @@ -118,9 +118,9 @@ simple({ >n : Symbol(n, Decl(thisTypeInFunctions2.ts, 45, 8)) return n.length + this.bar(); ->n.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>n.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(thisTypeInFunctions2.ts, 45, 8)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >this.bar : Symbol(SimpleInterface.bar, Decl(thisTypeInFunctions2.ts, 13, 19)) >this : Symbol(SimpleInterface, Decl(thisTypeInFunctions2.ts, 11, 1)) >bar : Symbol(SimpleInterface.bar, Decl(thisTypeInFunctions2.ts, 13, 19)) diff --git a/tests/baselines/reference/thisTypeInInterfaces.symbols b/tests/baselines/reference/thisTypeInInterfaces.symbols index 3b02bbe3588..25879e11fc1 100644 --- a/tests/baselines/reference/thisTypeInInterfaces.symbols +++ b/tests/baselines/reference/thisTypeInInterfaces.symbols @@ -46,11 +46,11 @@ interface I3 { c: this | Date; >c : Symbol(I3.c, Decl(thisTypeInInterfaces.ts, 18, 20)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) d: this & Date; >d : Symbol(I3.d, Decl(thisTypeInInterfaces.ts, 19, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) e: (((this))); >e : Symbol(I3.e, Decl(thisTypeInInterfaces.ts, 20, 19)) diff --git a/tests/baselines/reference/thisTypeInObjectLiterals.symbols b/tests/baselines/reference/thisTypeInObjectLiterals.symbols index fd6d6ecebd5..20e7699d943 100644 --- a/tests/baselines/reference/thisTypeInObjectLiterals.symbols +++ b/tests/baselines/reference/thisTypeInObjectLiterals.symbols @@ -9,22 +9,22 @@ let o = { >m : Symbol(m, Decl(thisTypeInObjectLiterals.ts, 1, 13)) return this.d.length; ->this.d.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>this.d.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >this.d : Symbol(d, Decl(thisTypeInObjectLiterals.ts, 0, 9)) >this : Symbol(o, Decl(thisTypeInObjectLiterals.ts, 0, 7)) >d : Symbol(d, Decl(thisTypeInObjectLiterals.ts, 0, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) }, f: function() { >f : Symbol(f, Decl(thisTypeInObjectLiterals.ts, 4, 6)) return this.d.length; ->this.d.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>this.d.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >this.d : Symbol(d, Decl(thisTypeInObjectLiterals.ts, 0, 9)) >this : Symbol(o, Decl(thisTypeInObjectLiterals.ts, 0, 7)) >d : Symbol(d, Decl(thisTypeInObjectLiterals.ts, 0, 9)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/thisTypeInObjectLiterals2.symbols b/tests/baselines/reference/thisTypeInObjectLiterals2.symbols index 956fea7a85c..0ed97b942f1 100644 --- a/tests/baselines/reference/thisTypeInObjectLiterals2.symbols +++ b/tests/baselines/reference/thisTypeInObjectLiterals2.symbols @@ -365,7 +365,7 @@ type ObjectDescriptor = { methods?: M & ThisType; // Type of 'this' in methods is D & M >methods : Symbol(methods, Decl(thisTypeInObjectLiterals2.ts, 115, 13)) >M : Symbol(M, Decl(thisTypeInObjectLiterals2.ts, 114, 24)) ->ThisType : Symbol(ThisType, Decl(lib.d.ts, --, --)) +>ThisType : Symbol(ThisType, Decl(lib.es5.d.ts, --, --)) >D : Symbol(D, Decl(thisTypeInObjectLiterals2.ts, 114, 22)) >M : Symbol(M, Decl(thisTypeInObjectLiterals2.ts, 114, 24)) } @@ -418,7 +418,7 @@ type ObjectDescriptor2 = ThisType & { >ObjectDescriptor2 : Symbol(ObjectDescriptor2, Decl(thisTypeInObjectLiterals2.ts, 129, 3)) >D : Symbol(D, Decl(thisTypeInObjectLiterals2.ts, 134, 23)) >M : Symbol(M, Decl(thisTypeInObjectLiterals2.ts, 134, 25)) ->ThisType : Symbol(ThisType, Decl(lib.d.ts, --, --)) +>ThisType : Symbol(ThisType, Decl(lib.es5.d.ts, --, --)) >D : Symbol(D, Decl(thisTypeInObjectLiterals2.ts, 134, 23)) >M : Symbol(M, Decl(thisTypeInObjectLiterals2.ts, 134, 25)) @@ -516,10 +516,10 @@ declare function defineProp(obj: T, name: K, desc: PropD >desc : Symbol(desc, Decl(thisTypeInObjectLiterals2.ts, 163, 68)) >PropDesc : Symbol(PropDesc, Decl(thisTypeInObjectLiterals2.ts, 149, 3)) >U : Symbol(U, Decl(thisTypeInObjectLiterals2.ts, 163, 48)) ->ThisType : Symbol(ThisType, Decl(lib.d.ts, --, --)) +>ThisType : Symbol(ThisType, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(thisTypeInObjectLiterals2.ts, 163, 28)) >T : Symbol(T, Decl(thisTypeInObjectLiterals2.ts, 163, 28)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >K : Symbol(K, Decl(thisTypeInObjectLiterals2.ts, 163, 30)) >U : Symbol(U, Decl(thisTypeInObjectLiterals2.ts, 163, 48)) @@ -532,7 +532,7 @@ declare function defineProps(obj: T, descs: PropDescMap & ThisType): >descs : Symbol(descs, Decl(thisTypeInObjectLiterals2.ts, 165, 42)) >PropDescMap : Symbol(PropDescMap, Decl(thisTypeInObjectLiterals2.ts, 157, 1)) >U : Symbol(U, Decl(thisTypeInObjectLiterals2.ts, 165, 31)) ->ThisType : Symbol(ThisType, Decl(lib.d.ts, --, --)) +>ThisType : Symbol(ThisType, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(thisTypeInObjectLiterals2.ts, 165, 29)) >T : Symbol(T, Decl(thisTypeInObjectLiterals2.ts, 165, 29)) >U : Symbol(U, Decl(thisTypeInObjectLiterals2.ts, 165, 31)) @@ -674,7 +674,7 @@ type VueOptions = ThisType & { >D : Symbol(D, Decl(thisTypeInObjectLiterals2.ts, 207, 16)) >M : Symbol(M, Decl(thisTypeInObjectLiterals2.ts, 207, 18)) >P : Symbol(P, Decl(thisTypeInObjectLiterals2.ts, 207, 21)) ->ThisType : Symbol(ThisType, Decl(lib.d.ts, --, --)) +>ThisType : Symbol(ThisType, Decl(lib.es5.d.ts, --, --)) >D : Symbol(D, Decl(thisTypeInObjectLiterals2.ts, 207, 16)) >M : Symbol(M, Decl(thisTypeInObjectLiterals2.ts, 207, 18)) >P : Symbol(P, Decl(thisTypeInObjectLiterals2.ts, 207, 21)) diff --git a/tests/baselines/reference/thisTypeInTuples.symbols b/tests/baselines/reference/thisTypeInTuples.symbols index 44f8660f691..c7484620dde 100644 --- a/tests/baselines/reference/thisTypeInTuples.symbols +++ b/tests/baselines/reference/thisTypeInTuples.symbols @@ -1,10 +1,10 @@ === tests/cases/conformance/types/thisType/thisTypeInTuples.ts === interface Array { ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 0)) ->T : Symbol(T, Decl(lib.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 16)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 0)) +>T : Symbol(T, Decl(lib.es5.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 16)) slice(): this; ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) } let t: [number, string] = [42, "hello"]; @@ -12,19 +12,19 @@ let t: [number, string] = [42, "hello"]; let a = t.slice(); >a : Symbol(a, Decl(thisTypeInTuples.ts, 5, 3)) ->t.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) +>t.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) >t : Symbol(t, Decl(thisTypeInTuples.ts, 4, 3)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) let b = t.slice(1); >b : Symbol(b, Decl(thisTypeInTuples.ts, 6, 3)) ->t.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) +>t.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) >t : Symbol(t, Decl(thisTypeInTuples.ts, 4, 3)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) let c = t.slice(0, 1); >c : Symbol(c, Decl(thisTypeInTuples.ts, 7, 3)) ->t.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) +>t.slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) >t : Symbol(t, Decl(thisTypeInTuples.ts, 4, 3)) ->slice : Symbol(Array.slice, Decl(lib.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) +>slice : Symbol(Array.slice, Decl(lib.es5.d.ts, --, --), Decl(thisTypeInTuples.ts, 0, 20)) diff --git a/tests/baselines/reference/throwStatements.symbols b/tests/baselines/reference/throwStatements.symbols index 0aee3630654..52b9bb629c7 100644 --- a/tests/baselines/reference/throwStatements.symbols +++ b/tests/baselines/reference/throwStatements.symbols @@ -53,9 +53,9 @@ module M { export function F2(x: number): string { return x.toString(); } >F2 : Symbol(F2, Decl(throwStatements.ts, 21, 5)) >x : Symbol(x, Decl(throwStatements.ts, 23, 23)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(throwStatements.ts, 23, 23)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } var aNumber = 9.9; @@ -72,14 +72,14 @@ throw aString; var aDate = new Date(12); >aDate : Symbol(aDate, Decl(throwStatements.ts, 30, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) throw aDate; >aDate : Symbol(aDate, Decl(throwStatements.ts, 30, 3)) var anObject = new Object(); >anObject : Symbol(anObject, Decl(throwStatements.ts, 32, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) throw anObject; >anObject : Symbol(anObject, Decl(throwStatements.ts, 32, 3)) @@ -202,13 +202,13 @@ throw []; throw ['a', ['b']]; throw /[a-z]/; throw new Date(); ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) throw new C(); >C : Symbol(C, Decl(throwStatements.ts, 4, 1)) throw new Object(); ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) throw new D(); >D : Symbol(D, Decl(throwStatements.ts, 8, 1)) diff --git a/tests/baselines/reference/toStringOnPrimitives.symbols b/tests/baselines/reference/toStringOnPrimitives.symbols index 96fb16bf4ca..2192970d984 100644 --- a/tests/baselines/reference/toStringOnPrimitives.symbols +++ b/tests/baselines/reference/toStringOnPrimitives.symbols @@ -1,17 +1,17 @@ === tests/cases/compiler/toStringOnPrimitives.ts === true.toString() ->true.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>true.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) var aBool = false; >aBool : Symbol(aBool, Decl(toStringOnPrimitives.ts, 1, 3)) aBool.toString(); ->aBool.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>aBool.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >aBool : Symbol(aBool, Decl(toStringOnPrimitives.ts, 1, 3)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) 1..toString(); ->1..toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>1..toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.symbols b/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.symbols index 9a6549577d2..672ac3cfa4f 100644 --- a/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.symbols +++ b/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.symbols @@ -73,16 +73,16 @@ var r1a = _.map(c2, (x) => { return x.toFixed() }); >map : Symbol(Combinators.map, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 5, 23), Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 6, 77)) >c2 : Symbol(c2, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 9, 3)) >x : Symbol(x, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 11, 21)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 11, 21)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) var rf1 = (x: number) => { return x.toFixed() }; >rf1 : Symbol(rf1, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 12, 3)) >x : Symbol(x, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 12, 11)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 12, 11)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) var r1b = _.map(c2, rf1); >r1b : Symbol(r1b, Decl(tooFewArgumentsInGenericFunctionTypedArgument.ts, 13, 3)) diff --git a/tests/baselines/reference/tooManyTypeParameters1.symbols b/tests/baselines/reference/tooManyTypeParameters1.symbols index 761028be41c..d2ec2762604 100644 --- a/tests/baselines/reference/tooManyTypeParameters1.symbols +++ b/tests/baselines/reference/tooManyTypeParameters1.symbols @@ -20,8 +20,8 @@ class C {} var c = new C(); >c : Symbol(c, Decl(tooManyTypeParameters1.ts, 7, 3)) >C : Symbol(C, Decl(tooManyTypeParameters1.ts, 4, 19)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) interface I {} >I : Symbol(I, Decl(tooManyTypeParameters1.ts, 7, 27)) diff --git a/tests/baselines/reference/topLevelExports.symbols b/tests/baselines/reference/topLevelExports.symbols index 733a98bcde5..f97eefaa5fa 100644 --- a/tests/baselines/reference/topLevelExports.symbols +++ b/tests/baselines/reference/topLevelExports.symbols @@ -8,8 +8,8 @@ function log(n:number) { return n;} >n : Symbol(n, Decl(topLevelExports.ts, 2, 13)) void log(foo).toString(); ->log(foo).toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>log(foo).toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >log : Symbol(log, Decl(topLevelExports.ts, 0, 19)) >foo : Symbol(foo, Decl(topLevelExports.ts, 0, 10)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/transformNestedGeneratorsWithTry.symbols b/tests/baselines/reference/transformNestedGeneratorsWithTry.symbols index b983a5605bf..e13cce398ab 100644 --- a/tests/baselines/reference/transformNestedGeneratorsWithTry.symbols +++ b/tests/baselines/reference/transformNestedGeneratorsWithTry.symbols @@ -38,12 +38,12 @@ declare module "bluebird" { type Bluebird = Promise; >Bluebird : Symbol(Bluebird, Decl(bluebird.d.ts, 0, 27), Decl(bluebird.d.ts, 2, 9)) >T : Symbol(T, Decl(bluebird.d.ts, 1, 18)) ->Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >T : Symbol(T, Decl(bluebird.d.ts, 1, 18)) const Bluebird: typeof Promise; >Bluebird : Symbol(Bluebird, Decl(bluebird.d.ts, 0, 27), Decl(bluebird.d.ts, 2, 9)) ->Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) export = Bluebird; >Bluebird : Symbol(Bluebird, Decl(bluebird.d.ts, 0, 27), Decl(bluebird.d.ts, 2, 9)) diff --git a/tests/baselines/reference/tsxAttributeResolution2.symbols b/tests/baselines/reference/tsxAttributeResolution2.symbols index 409a6829c87..fb7ac3aed88 100644 --- a/tests/baselines/reference/tsxAttributeResolution2.symbols +++ b/tests/baselines/reference/tsxAttributeResolution2.symbols @@ -26,9 +26,9 @@ interface Attribs1 { >test1 : Symbol(JSX.IntrinsicElements.test1, Decl(file.tsx, 2, 30)) >c1 : Symbol(c1, Decl(file.tsx, 11, 6)) >x : Symbol(x, Decl(file.tsx, 11, 12)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(file.tsx, 11, 12)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) x.leng} />; // OK >test1 : Symbol(JSX.IntrinsicElements.test1, Decl(file.tsx, 2, 30)) diff --git a/tests/baselines/reference/tsxAttributesHasInferrableIndex.symbols b/tests/baselines/reference/tsxAttributesHasInferrableIndex.symbols index 86a4c82043e..9e2876bdec4 100644 --- a/tests/baselines/reference/tsxAttributesHasInferrableIndex.symbols +++ b/tests/baselines/reference/tsxAttributesHasInferrableIndex.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/tsxAttributesHasInferrableIndex.tsx === type AttributeValue = number | string | Date | boolean; >AttributeValue : Symbol(AttributeValue, Decl(tsxAttributesHasInferrableIndex.tsx, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) interface Attributes { >Attributes : Symbol(Attributes, Decl(tsxAttributesHasInferrableIndex.tsx, 0, 55)) diff --git a/tests/baselines/reference/tsxSpreadChildren.symbols b/tests/baselines/reference/tsxSpreadChildren.symbols index b74c28634c3..f34784e5320 100644 --- a/tests/baselines/reference/tsxSpreadChildren.symbols +++ b/tests/baselines/reference/tsxSpreadChildren.symbols @@ -39,11 +39,11 @@ function Todo(prop: { key: number, todo: string }) { return
{prop.key.toString() + prop.todo}
; >div : Symbol(JSX.IntrinsicElements, Decl(tsxSpreadChildren.tsx, 1, 22)) ->prop.key.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>prop.key.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >prop.key : Symbol(key, Decl(tsxSpreadChildren.tsx, 15, 21)) >prop : Symbol(prop, Decl(tsxSpreadChildren.tsx, 15, 14)) >key : Symbol(key, Decl(tsxSpreadChildren.tsx, 15, 21)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >prop.todo : Symbol(todo, Decl(tsxSpreadChildren.tsx, 15, 34)) >prop : Symbol(prop, Decl(tsxSpreadChildren.tsx, 15, 14)) >todo : Symbol(todo, Decl(tsxSpreadChildren.tsx, 15, 34)) @@ -58,9 +58,9 @@ function TodoList({ todos }: TodoListProps) { >div : Symbol(JSX.IntrinsicElements, Decl(tsxSpreadChildren.tsx, 1, 22)) {...todos.map(todo => )} ->todos.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>todos.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >todos : Symbol(todos, Decl(tsxSpreadChildren.tsx, 18, 19)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >todo : Symbol(todo, Decl(tsxSpreadChildren.tsx, 20, 22)) >Todo : Symbol(Todo, Decl(tsxSpreadChildren.tsx, 14, 1)) >key : Symbol(key, Decl(tsxSpreadChildren.tsx, 20, 35)) diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType.symbols b/tests/baselines/reference/tsxSpreadChildrenInvalidType.symbols index 40614cee8e4..5e41936f306 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType.symbols +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType.symbols @@ -39,11 +39,11 @@ function Todo(prop: { key: number, todo: string }) { return
{prop.key.toString() + prop.todo}
; >div : Symbol(JSX.IntrinsicElements, Decl(tsxSpreadChildrenInvalidType.tsx, 1, 22)) ->prop.key.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>prop.key.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >prop.key : Symbol(key, Decl(tsxSpreadChildrenInvalidType.tsx, 15, 21)) >prop : Symbol(prop, Decl(tsxSpreadChildrenInvalidType.tsx, 15, 14)) >key : Symbol(key, Decl(tsxSpreadChildrenInvalidType.tsx, 15, 21)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >prop.todo : Symbol(todo, Decl(tsxSpreadChildrenInvalidType.tsx, 15, 34)) >prop : Symbol(prop, Decl(tsxSpreadChildrenInvalidType.tsx, 15, 14)) >todo : Symbol(todo, Decl(tsxSpreadChildrenInvalidType.tsx, 15, 34)) diff --git a/tests/baselines/reference/tsxTypeArgumentPartialDefinitionStillErrors.symbols b/tests/baselines/reference/tsxTypeArgumentPartialDefinitionStillErrors.symbols index b0c5502e9b7..1a8bd15fa1e 100644 --- a/tests/baselines/reference/tsxTypeArgumentPartialDefinitionStillErrors.symbols +++ b/tests/baselines/reference/tsxTypeArgumentPartialDefinitionStillErrors.symbols @@ -15,7 +15,7 @@ function SFC(props: Record) { >SFC : Symbol(SFC, Decl(file.tsx, 4, 1)) >T : Symbol(T, Decl(file.tsx, 6, 13)) >props : Symbol(props, Decl(file.tsx, 6, 16)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(file.tsx, 6, 13)) return ''; diff --git a/tests/baselines/reference/tupleTypes.symbols b/tests/baselines/reference/tupleTypes.symbols index cf60cea8534..a886271b6ee 100644 --- a/tests/baselines/reference/tupleTypes.symbols +++ b/tests/baselines/reference/tupleTypes.symbols @@ -56,9 +56,9 @@ var tf: [string, (x: string) => number] = ["hello", x => x.length]; >tf : Symbol(tf, Decl(tupleTypes.ts, 19, 3)) >x : Symbol(x, Decl(tupleTypes.ts, 19, 18)) >x : Symbol(x, Decl(tupleTypes.ts, 19, 51)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(tupleTypes.ts, 19, 51)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) declare function ff(a: T, b: [T, (x: T) => U]): U; >ff : Symbol(ff, Decl(tupleTypes.ts, 19, 67)) @@ -77,9 +77,9 @@ var ff1 = ff("hello", ["foo", x => x.length]); >ff1 : Symbol(ff1, Decl(tupleTypes.ts, 22, 3), Decl(tupleTypes.ts, 23, 3)) >ff : Symbol(ff, Decl(tupleTypes.ts, 19, 67)) >x : Symbol(x, Decl(tupleTypes.ts, 22, 29)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(tupleTypes.ts, 22, 29)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) var ff1: number; >ff1 : Symbol(ff1, Decl(tupleTypes.ts, 22, 3), Decl(tupleTypes.ts, 23, 3)) diff --git a/tests/baselines/reference/twoGenericInterfacesWithDifferentConstraints.symbols b/tests/baselines/reference/twoGenericInterfacesWithDifferentConstraints.symbols index 9e70ad9fb81..a1ad41441bd 100644 --- a/tests/baselines/reference/twoGenericInterfacesWithDifferentConstraints.symbols +++ b/tests/baselines/reference/twoGenericInterfacesWithDifferentConstraints.symbols @@ -2,7 +2,7 @@ interface A { >A : Symbol(A, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 0, 0), Decl(twoGenericInterfacesWithDifferentConstraints.ts, 2, 1)) >T : Symbol(T, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 0, 12), Decl(twoGenericInterfacesWithDifferentConstraints.ts, 4, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) x: T; >x : Symbol(A.x, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 0, 29)) @@ -12,7 +12,7 @@ interface A { interface A { // error >A : Symbol(A, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 0, 0), Decl(twoGenericInterfacesWithDifferentConstraints.ts, 2, 1)) >T : Symbol(T, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 0, 12), Decl(twoGenericInterfacesWithDifferentConstraints.ts, 4, 12)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) y: T; >y : Symbol(A.y, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 4, 31)) @@ -26,7 +26,7 @@ module M { >B : Symbol(B, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 8, 10), Decl(twoGenericInterfacesWithDifferentConstraints.ts, 11, 5)) >T : Symbol(T, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 9, 16), Decl(twoGenericInterfacesWithDifferentConstraints.ts, 13, 16)) >A : Symbol(A, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 0, 0), Decl(twoGenericInterfacesWithDifferentConstraints.ts, 2, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) x: T; >x : Symbol(B.x, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 9, 36)) @@ -50,7 +50,7 @@ module M2 { interface A { >A : Symbol(A, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 18, 11)) >T : Symbol(T, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 19, 16)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) x: T; >x : Symbol(A.x, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 19, 33)) @@ -64,7 +64,7 @@ module M2 { interface A { // ok, different declaration space from other M2.A >A : Symbol(A, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 24, 11)) >T : Symbol(T, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 25, 16)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) y: T; >y : Symbol(A.y, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 25, 35)) @@ -78,7 +78,7 @@ module M3 { export interface A { >A : Symbol(A, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 30, 11), Decl(twoGenericInterfacesWithDifferentConstraints.ts, 36, 11)) >T : Symbol(T, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 31, 23), Decl(twoGenericInterfacesWithDifferentConstraints.ts, 37, 23)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) x: T; >x : Symbol(A.x, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 31, 40)) @@ -92,7 +92,7 @@ module M3 { export interface A { // error >A : Symbol(A, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 30, 11), Decl(twoGenericInterfacesWithDifferentConstraints.ts, 36, 11)) >T : Symbol(T, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 31, 23), Decl(twoGenericInterfacesWithDifferentConstraints.ts, 37, 23)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) y: T; >y : Symbol(A.y, Decl(twoGenericInterfacesWithDifferentConstraints.ts, 37, 42)) diff --git a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.symbols b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.symbols index 34900916a56..5a7c17c3695 100644 --- a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.symbols +++ b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.symbols @@ -19,8 +19,8 @@ interface A { foo(x: Date): Date; >foo : Symbol(A.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 2, 13), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 3, 27), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 7, 13)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 8, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } interface B { @@ -45,12 +45,12 @@ interface B { >foo : Symbol(B.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 12, 22), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 17, 20)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 17, 8)) >T : Symbol(T, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 12), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo(x: Date): string; >foo : Symbol(B.foo, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 11, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 12, 22), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 16, 16), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 17, 20)) >x : Symbol(x, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 18, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } var b: B; @@ -100,7 +100,7 @@ interface C { var c: C; >c : Symbol(c, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 34, 3)) >C : Symbol(C, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 22, 20), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 28, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r2 = c.foo(1, 2); // number >r2 : Symbol(r2, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 35, 3)) @@ -150,7 +150,7 @@ interface D { var d: D; >d : Symbol(d, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 48, 3)) >D : Symbol(D, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 35, 21), Decl(twoMergedInterfacesWithDifferingOverloads.ts, 42, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var r3 = d.foo(1, 1); // boolean, last definition wins >r3 : Symbol(r3, Decl(twoMergedInterfacesWithDifferingOverloads.ts, 49, 3)) diff --git a/tests/baselines/reference/typeAliasDoesntMakeModuleInstantiated.symbols b/tests/baselines/reference/typeAliasDoesntMakeModuleInstantiated.symbols index c990d3de59d..4b99eabd384 100644 --- a/tests/baselines/reference/typeAliasDoesntMakeModuleInstantiated.symbols +++ b/tests/baselines/reference/typeAliasDoesntMakeModuleInstantiated.symbols @@ -5,7 +5,7 @@ declare module m { // type alias declaration here shouldnt make the module declaration instantiated type Selector = string| string[] |Function; >Selector : Symbol(Selector, Decl(typeAliasDoesntMakeModuleInstantiated.ts, 0, 18)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) export interface IStatic { >IStatic : Symbol(IStatic, Decl(typeAliasDoesntMakeModuleInstantiated.ts, 2, 47)) diff --git a/tests/baselines/reference/typeAliases.symbols b/tests/baselines/reference/typeAliases.symbols index bedd6c8bb69..e34ff9e1a85 100644 --- a/tests/baselines/reference/typeAliases.symbols +++ b/tests/baselines/reference/typeAliases.symbols @@ -200,12 +200,12 @@ declare function f15(a: Meters): string; >Meters : Symbol(Meters, Decl(typeAliases.ts, 63, 39)) f15(E.x).toLowerCase(); ->f15(E.x).toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>f15(E.x).toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >f15 : Symbol(f15, Decl(typeAliases.ts, 67, 17), Decl(typeAliases.ts, 69, 41)) >E.x : Symbol(E.x, Decl(typeAliases.ts, 67, 8)) >E : Symbol(E, Decl(typeAliases.ts, 65, 20)) >x : Symbol(E.x, Decl(typeAliases.ts, 67, 8)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) type StringAndBoolean = [string, boolean] >StringAndBoolean : Symbol(StringAndBoolean, Decl(typeAliases.ts, 71, 23)) @@ -227,8 +227,8 @@ var y: StringAndBoolean = ["1", false]; >StringAndBoolean : Symbol(StringAndBoolean, Decl(typeAliases.ts, 71, 23)) y[0].toLowerCase(); ->y[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>y[0].toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >y : Symbol(y, Decl(typeAliases.ts, 78, 3)) >0 : Symbol(0) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/typeArgumentConstraintResolution1.symbols b/tests/baselines/reference/typeArgumentConstraintResolution1.symbols index 3f32ab58f3b..2ad1c75a304 100644 --- a/tests/baselines/reference/typeArgumentConstraintResolution1.symbols +++ b/tests/baselines/reference/typeArgumentConstraintResolution1.symbols @@ -2,32 +2,32 @@ function foo1(test: T); >foo1 : Symbol(foo1, Decl(typeArgumentConstraintResolution1.ts, 0, 0), Decl(typeArgumentConstraintResolution1.ts, 0, 39), Decl(typeArgumentConstraintResolution1.ts, 1, 46)) >T : Symbol(T, Decl(typeArgumentConstraintResolution1.ts, 0, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >test : Symbol(test, Decl(typeArgumentConstraintResolution1.ts, 0, 30)) >T : Symbol(T, Decl(typeArgumentConstraintResolution1.ts, 0, 14)) function foo1(test: string); >foo1 : Symbol(foo1, Decl(typeArgumentConstraintResolution1.ts, 0, 0), Decl(typeArgumentConstraintResolution1.ts, 0, 39), Decl(typeArgumentConstraintResolution1.ts, 1, 46)) >T : Symbol(T, Decl(typeArgumentConstraintResolution1.ts, 1, 14)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >test : Symbol(test, Decl(typeArgumentConstraintResolution1.ts, 1, 32)) function foo1(test: any) { } >foo1 : Symbol(foo1, Decl(typeArgumentConstraintResolution1.ts, 0, 0), Decl(typeArgumentConstraintResolution1.ts, 0, 39), Decl(typeArgumentConstraintResolution1.ts, 1, 46)) >T : Symbol(T, Decl(typeArgumentConstraintResolution1.ts, 2, 14)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >test : Symbol(test, Decl(typeArgumentConstraintResolution1.ts, 2, 32)) foo1(""); // should error >foo1 : Symbol(foo1, Decl(typeArgumentConstraintResolution1.ts, 0, 0), Decl(typeArgumentConstraintResolution1.ts, 0, 39), Decl(typeArgumentConstraintResolution1.ts, 1, 46)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function foo2(test: T): T; >foo2 : Symbol(foo2, Decl(typeArgumentConstraintResolution1.ts, 3, 15), Decl(typeArgumentConstraintResolution1.ts, 7, 42), Decl(typeArgumentConstraintResolution1.ts, 8, 49)) >T : Symbol(T, Decl(typeArgumentConstraintResolution1.ts, 7, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >test : Symbol(test, Decl(typeArgumentConstraintResolution1.ts, 7, 30)) >T : Symbol(T, Decl(typeArgumentConstraintResolution1.ts, 7, 14)) >T : Symbol(T, Decl(typeArgumentConstraintResolution1.ts, 7, 14)) @@ -35,17 +35,17 @@ function foo2(test: T): T; function foo2(test: string): T; >foo2 : Symbol(foo2, Decl(typeArgumentConstraintResolution1.ts, 3, 15), Decl(typeArgumentConstraintResolution1.ts, 7, 42), Decl(typeArgumentConstraintResolution1.ts, 8, 49)) >T : Symbol(T, Decl(typeArgumentConstraintResolution1.ts, 8, 14)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >test : Symbol(test, Decl(typeArgumentConstraintResolution1.ts, 8, 32)) >T : Symbol(T, Decl(typeArgumentConstraintResolution1.ts, 8, 14)) function foo2(test: any): any { return null; } >foo2 : Symbol(foo2, Decl(typeArgumentConstraintResolution1.ts, 3, 15), Decl(typeArgumentConstraintResolution1.ts, 7, 42), Decl(typeArgumentConstraintResolution1.ts, 8, 49)) >T : Symbol(T, Decl(typeArgumentConstraintResolution1.ts, 9, 14)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >test : Symbol(test, Decl(typeArgumentConstraintResolution1.ts, 9, 32)) foo2(""); // Type Date does not satisfy the constraint 'Number' for type parameter 'T extends Number' >foo2 : Symbol(foo2, Decl(typeArgumentConstraintResolution1.ts, 3, 15), Decl(typeArgumentConstraintResolution1.ts, 7, 42), Decl(typeArgumentConstraintResolution1.ts, 8, 49)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) diff --git a/tests/baselines/reference/typeArgumentInference.symbols b/tests/baselines/reference/typeArgumentInference.symbols index 4b37b4ca6f8..31d1b2b9248 100644 --- a/tests/baselines/reference/typeArgumentInference.symbols +++ b/tests/baselines/reference/typeArgumentInference.symbols @@ -64,9 +64,9 @@ someGenerics2a((n: string) => n); someGenerics2a((n) => n.substr(0)); >someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInference.ts, 15, 32)) >n : Symbol(n, Decl(typeArgumentInference.ts, 21, 24)) ->n.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(typeArgumentInference.ts, 21, 24)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) function someGenerics2b(n: (x: T, y: U) => void) { } >someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInference.ts, 21, 43)) @@ -94,9 +94,9 @@ someGenerics2b((n, t) => n.substr(t * t)); >someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInference.ts, 21, 43)) >n : Symbol(n, Decl(typeArgumentInference.ts, 26, 32)) >t : Symbol(t, Decl(typeArgumentInference.ts, 26, 34)) ->n.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(typeArgumentInference.ts, 26, 32)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >t : Symbol(t, Decl(typeArgumentInference.ts, 26, 34)) >t : Symbol(t, Decl(typeArgumentInference.ts, 26, 34)) @@ -112,7 +112,7 @@ someGenerics3(() => ''); someGenerics3(() => undefined); >someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInference.ts, 26, 58)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >undefined : Symbol(undefined) someGenerics3(() => 3); @@ -317,7 +317,7 @@ interface A92 { z?: Date; >z : Symbol(A92.z, Decl(typeArgumentInference.ts, 78, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } var a9e = someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' }); >a9e : Symbol(a9e, Decl(typeArgumentInference.ts, 81, 3), Decl(typeArgumentInference.ts, 82, 3)) @@ -325,7 +325,7 @@ var a9e = someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' }); >undefined : Symbol(undefined) >x : Symbol(x, Decl(typeArgumentInference.ts, 81, 36)) >z : Symbol(z, Decl(typeArgumentInference.ts, 81, 42)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(typeArgumentInference.ts, 81, 61)) >y : Symbol(y, Decl(typeArgumentInference.ts, 81, 67)) @@ -339,7 +339,7 @@ var a9f = someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' } >undefined : Symbol(undefined) >x : Symbol(x, Decl(typeArgumentInference.ts, 83, 41)) >z : Symbol(z, Decl(typeArgumentInference.ts, 83, 47)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(typeArgumentInference.ts, 83, 66)) >y : Symbol(y, Decl(typeArgumentInference.ts, 83, 72)) diff --git a/tests/baselines/reference/typeArgumentInferenceApparentType1.symbols b/tests/baselines/reference/typeArgumentInferenceApparentType1.symbols index 7fe379bdcf2..c9ef38b3c5c 100644 --- a/tests/baselines/reference/typeArgumentInferenceApparentType1.symbols +++ b/tests/baselines/reference/typeArgumentInferenceApparentType1.symbols @@ -3,7 +3,7 @@ function method(iterable: Iterable): T { >method : Symbol(method, Decl(typeArgumentInferenceApparentType1.ts, 0, 0)) >T : Symbol(T, Decl(typeArgumentInferenceApparentType1.ts, 0, 16)) >iterable : Symbol(iterable, Decl(typeArgumentInferenceApparentType1.ts, 0, 19)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(typeArgumentInferenceApparentType1.ts, 0, 16)) >T : Symbol(T, Decl(typeArgumentInferenceApparentType1.ts, 0, 16)) diff --git a/tests/baselines/reference/typeArgumentInferenceApparentType2.symbols b/tests/baselines/reference/typeArgumentInferenceApparentType2.symbols index 75664a7b14e..f257b3596ba 100644 --- a/tests/baselines/reference/typeArgumentInferenceApparentType2.symbols +++ b/tests/baselines/reference/typeArgumentInferenceApparentType2.symbols @@ -3,14 +3,14 @@ function method(iterable: Iterable): T { >method : Symbol(method, Decl(typeArgumentInferenceApparentType2.ts, 0, 0)) >T : Symbol(T, Decl(typeArgumentInferenceApparentType2.ts, 0, 16)) >iterable : Symbol(iterable, Decl(typeArgumentInferenceApparentType2.ts, 0, 19)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(typeArgumentInferenceApparentType2.ts, 0, 16)) >T : Symbol(T, Decl(typeArgumentInferenceApparentType2.ts, 0, 16)) function inner>() { >inner : Symbol(inner, Decl(typeArgumentInferenceApparentType2.ts, 0, 46)) >U : Symbol(U, Decl(typeArgumentInferenceApparentType2.ts, 1, 19)) ->Iterable : Symbol(Iterable, Decl(lib.es6.d.ts, --, --)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(typeArgumentInferenceApparentType2.ts, 0, 16)) var u: U; diff --git a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.symbols b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.symbols index 6acbb6225a5..0a056bb3bc3 100644 --- a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.symbols +++ b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.symbols @@ -91,9 +91,9 @@ new someGenerics2a((n: string) => n); new someGenerics2a((n) => n.substr(0)); >someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceConstructSignatures.ts, 25, 36), Decl(typeArgumentInferenceConstructSignatures.ts, 31, 3)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 28)) ->n.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 28)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) interface someGenerics2b { >someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 3)) @@ -127,9 +127,9 @@ new someGenerics2b((n, t) => n.substr(t * t)); >someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceConstructSignatures.ts, 34, 47), Decl(typeArgumentInferenceConstructSignatures.ts, 39, 3)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 36)) >t : Symbol(t, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 38)) ->n.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 36)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >t : Symbol(t, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 38)) >t : Symbol(t, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 38)) @@ -151,7 +151,7 @@ new someGenerics3(() => ''); new someGenerics3(() => undefined); >someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceConstructSignatures.ts, 42, 62), Decl(typeArgumentInferenceConstructSignatures.ts, 48, 3)) ->Window : Symbol(Window, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) >undefined : Symbol(undefined) new someGenerics3(() => 3); @@ -406,7 +406,7 @@ interface A92 { z?: Window; >z : Symbol(A92.z, Decl(typeArgumentInferenceConstructSignatures.ts, 116, 14)) ->Window : Symbol(Window, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) } var a9e = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); >a9e : Symbol(a9e, Decl(typeArgumentInferenceConstructSignatures.ts, 119, 3), Decl(typeArgumentInferenceConstructSignatures.ts, 120, 3)) @@ -414,7 +414,7 @@ var a9e = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); >undefined : Symbol(undefined) >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 119, 40)) >z : Symbol(z, Decl(typeArgumentInferenceConstructSignatures.ts, 119, 46)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 119, 61)) >y : Symbol(y, Decl(typeArgumentInferenceConstructSignatures.ts, 119, 67)) @@ -428,7 +428,7 @@ var a9f = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' } >undefined : Symbol(undefined) >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 121, 45)) >z : Symbol(z, Decl(typeArgumentInferenceConstructSignatures.ts, 121, 51)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) >x : Symbol(x, Decl(typeArgumentInferenceConstructSignatures.ts, 121, 66)) >y : Symbol(y, Decl(typeArgumentInferenceConstructSignatures.ts, 121, 72)) diff --git a/tests/baselines/reference/typeArgumentInferenceTransitiveConstraints.symbols b/tests/baselines/reference/typeArgumentInferenceTransitiveConstraints.symbols index f98237f556d..470f44b51cd 100644 --- a/tests/baselines/reference/typeArgumentInferenceTransitiveConstraints.symbols +++ b/tests/baselines/reference/typeArgumentInferenceTransitiveConstraints.symbols @@ -2,7 +2,7 @@ function fn
(a: A, b: B, c: C) { >fn : Symbol(fn, Decl(typeArgumentInferenceTransitiveConstraints.ts, 0, 0)) >A : Symbol(A, Decl(typeArgumentInferenceTransitiveConstraints.ts, 0, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >B : Symbol(B, Decl(typeArgumentInferenceTransitiveConstraints.ts, 0, 27)) >A : Symbol(A, Decl(typeArgumentInferenceTransitiveConstraints.ts, 0, 12)) >C : Symbol(C, Decl(typeArgumentInferenceTransitiveConstraints.ts, 0, 40)) @@ -23,11 +23,11 @@ function fn(a: A, b: B, c: C) { var d = fn(new Date(), new Date(), new Date()); >d : Symbol(d, Decl(typeArgumentInferenceTransitiveConstraints.ts, 4, 3), Decl(typeArgumentInferenceTransitiveConstraints.ts, 5, 3)) >fn : Symbol(fn, Decl(typeArgumentInferenceTransitiveConstraints.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var d: Date[]; // Should be OK (d should be Date[]) >d : Symbol(d, Decl(typeArgumentInferenceTransitiveConstraints.ts, 4, 3), Decl(typeArgumentInferenceTransitiveConstraints.ts, 5, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.symbols b/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.symbols index 7c24840b5ab..b998e24bf0a 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.symbols +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.symbols @@ -12,8 +12,8 @@ function foo(x = class { static prop: T }): T { } foo(class { static prop = "hello" }).length; ->foo(class { static prop = "hello" }).length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>foo(class { static prop = "hello" }).length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >foo : Symbol(foo, Decl(typeArgumentInferenceWithClassExpression1.ts, 0, 0)) >prop : Symbol((Anonymous class).prop, Decl(typeArgumentInferenceWithClassExpression1.ts, 4, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.symbols b/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.symbols index 3f25fd0682f..7f988eb2110 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.symbols +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.symbols @@ -12,8 +12,8 @@ function foo(x = class { prop: T }): T { } foo(class { prop = "hello" }).length; ->foo(class { prop = "hello" }).length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>foo(class { prop = "hello" }).length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >foo : Symbol(foo, Decl(typeArgumentInferenceWithClassExpression3.ts, 0, 0)) >prop : Symbol((Anonymous class).prop, Decl(typeArgumentInferenceWithClassExpression3.ts, 4, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraints.symbols b/tests/baselines/reference/typeArgumentInferenceWithConstraints.symbols index 52789f14706..753e2057701 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraints.symbols +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraints.symbols @@ -71,9 +71,9 @@ someGenerics2a((n: string) => n); someGenerics2a((n) => n.substr(0)); >someGenerics2a : Symbol(someGenerics2a, Decl(typeArgumentInferenceWithConstraints.ts, 17, 36)) >n : Symbol(n, Decl(typeArgumentInferenceWithConstraints.ts, 23, 24)) ->n.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(typeArgumentInferenceWithConstraints.ts, 23, 24)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) function someGenerics2b(n: (x: T, y: U) => void) { } >someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceWithConstraints.ts, 23, 43)) @@ -101,9 +101,9 @@ someGenerics2b((n, t) => n.substr(t * t)); >someGenerics2b : Symbol(someGenerics2b, Decl(typeArgumentInferenceWithConstraints.ts, 23, 43)) >n : Symbol(n, Decl(typeArgumentInferenceWithConstraints.ts, 28, 32)) >t : Symbol(t, Decl(typeArgumentInferenceWithConstraints.ts, 28, 34)) ->n.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>n.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(typeArgumentInferenceWithConstraints.ts, 28, 32)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >t : Symbol(t, Decl(typeArgumentInferenceWithConstraints.ts, 28, 34)) >t : Symbol(t, Decl(typeArgumentInferenceWithConstraints.ts, 28, 34)) @@ -111,7 +111,7 @@ someGenerics2b((n, t) => n.substr(t * t)); function someGenerics3(producer: () => T) { } >someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceWithConstraints.ts, 28, 58)) >T : Symbol(T, Decl(typeArgumentInferenceWithConstraints.ts, 31, 23)) ->Window : Symbol(Window, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) >producer : Symbol(producer, Decl(typeArgumentInferenceWithConstraints.ts, 31, 41)) >T : Symbol(T, Decl(typeArgumentInferenceWithConstraints.ts, 31, 23)) @@ -120,7 +120,7 @@ someGenerics3(() => ''); // Error someGenerics3(() => undefined); >someGenerics3 : Symbol(someGenerics3, Decl(typeArgumentInferenceWithConstraints.ts, 28, 58)) ->Window : Symbol(Window, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) >undefined : Symbol(undefined) someGenerics3(() => 3); // Error @@ -342,7 +342,7 @@ interface A92 { z?: Window; >z : Symbol(A92.z, Decl(typeArgumentInferenceWithConstraints.ts, 83, 14)) ->Window : Symbol(Window, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) } var a9e = someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); >a9e : Symbol(a9e, Decl(typeArgumentInferenceWithConstraints.ts, 86, 3), Decl(typeArgumentInferenceWithConstraints.ts, 87, 3)) @@ -350,7 +350,7 @@ var a9e = someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); >undefined : Symbol(undefined) >x : Symbol(x, Decl(typeArgumentInferenceWithConstraints.ts, 86, 36)) >z : Symbol(z, Decl(typeArgumentInferenceWithConstraints.ts, 86, 42)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) >x : Symbol(x, Decl(typeArgumentInferenceWithConstraints.ts, 86, 57)) >y : Symbol(y, Decl(typeArgumentInferenceWithConstraints.ts, 86, 63)) @@ -364,7 +364,7 @@ var a9f = someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); >undefined : Symbol(undefined) >x : Symbol(x, Decl(typeArgumentInferenceWithConstraints.ts, 88, 41)) >z : Symbol(z, Decl(typeArgumentInferenceWithConstraints.ts, 88, 47)) ->window : Symbol(window, Decl(lib.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) >x : Symbol(x, Decl(typeArgumentInferenceWithConstraints.ts, 88, 62)) >y : Symbol(y, Decl(typeArgumentInferenceWithConstraints.ts, 88, 68)) diff --git a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.symbols b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.symbols index b73bd8882d2..961ec823ad1 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.symbols +++ b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.symbols @@ -15,9 +15,9 @@ var nodes: TreeNode[]; >TreeNode : Symbol(TreeNode, Decl(typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.ts, 0, 0)) nodes.map(n => n.name); ->nodes.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>nodes.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >nodes : Symbol(nodes, Decl(typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.ts, 5, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.ts, 6, 10)) >n.name : Symbol(name, Decl(typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.ts, 0, 17)) >n : Symbol(n, Decl(typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.ts, 6, 10)) diff --git a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.symbols b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.symbols index 7cec46cb4b6..a41bb9ba952 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.symbols +++ b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.symbols @@ -26,9 +26,9 @@ var nodes: TreeNodeMiddleman[]; >TreeNodeMiddleman : Symbol(TreeNodeMiddleman, Decl(typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.ts, 3, 1)) nodes.map(n => n.name); ->nodes.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>nodes.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >nodes : Symbol(nodes, Decl(typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.ts, 10, 3)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.ts, 11, 10)) >n.name : Symbol(name, Decl(typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.ts, 5, 26)) >n : Symbol(n, Decl(typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.ts, 11, 10)) diff --git a/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.symbols b/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.symbols index f5fca8216d0..b91a3941ae3 100644 --- a/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.symbols +++ b/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.symbols @@ -7,7 +7,7 @@ var functions = [function () { k = new Object(); >k : Symbol(k, Decl(typeCheckingInsideFunctionExpressionInArray.ts, 1, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [1, 2, 3].NonexistantMethod(); derp(); diff --git a/tests/baselines/reference/typeFromJSConstructor.symbols b/tests/baselines/reference/typeFromJSConstructor.symbols index 541eeada65f..eaaf1f2e176 100644 --- a/tests/baselines/reference/typeFromJSConstructor.symbols +++ b/tests/baselines/reference/typeFromJSConstructor.symbols @@ -28,7 +28,7 @@ function Installer () { Installer.prototype.first = function () { >Installer.prototype : Symbol(Installer.first, Decl(a.js, 11, 1)) >Installer : Symbol(Installer, Decl(a.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >first : Symbol(Installer.first, Decl(a.js, 11, 1)) this.arg = 'hi' // error @@ -60,7 +60,7 @@ Installer.prototype.first = function () { Installer.prototype.second = function () { >Installer.prototype : Symbol(Installer.second, Decl(a.js, 18, 1)) >Installer : Symbol(Installer, Decl(a.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >second : Symbol(Installer.second, Decl(a.js, 18, 1)) this.arg = false // error @@ -89,11 +89,11 @@ Installer.prototype.second = function () { >twice : Symbol(Installer.twice, Decl(a.js, 4, 23), Decl(a.js, 6, 26), Decl(a.js, 15, 24), Decl(a.js, 16, 26), Decl(a.js, 22, 28) ... and 1 more) this.twices.push(1) // error: Object is possibly null ->this.twices.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>this.twices.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >this.twices : Symbol(Installer.twices, Decl(a.js, 7, 21), Decl(a.js, 9, 20)) >this : Symbol(Installer, Decl(a.js, 0, 0)) >twices : Symbol(Installer.twices, Decl(a.js, 7, 21), Decl(a.js, 9, 20)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) if (this.twices != null) { >this.twices : Symbol(Installer.twices, Decl(a.js, 7, 21), Decl(a.js, 9, 20)) @@ -101,11 +101,11 @@ Installer.prototype.second = function () { >twices : Symbol(Installer.twices, Decl(a.js, 7, 21), Decl(a.js, 9, 20)) this.twices.push('hi') ->this.twices.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>this.twices.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >this.twices : Symbol(Installer.twices, Decl(a.js, 7, 21), Decl(a.js, 9, 20)) >this : Symbol(Installer, Decl(a.js, 0, 0)) >twices : Symbol(Installer.twices, Decl(a.js, 7, 21), Decl(a.js, 9, 20)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/typeFromJSInitializer.symbols b/tests/baselines/reference/typeFromJSInitializer.symbols index 3c9d9657421..d2212ccd367 100644 --- a/tests/baselines/reference/typeFromJSInitializer.symbols +++ b/tests/baselines/reference/typeFromJSInitializer.symbols @@ -58,32 +58,32 @@ a.unknowable = 'hi' >unknowable : Symbol(A.unknowable, Decl(a.js, 2, 23)) a.empty.push(1) ->a.empty.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>a.empty.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >a.empty : Symbol(A.empty, Decl(a.js, 3, 31)) >a : Symbol(a, Decl(a.js, 6, 3), Decl(a.js, 8, 16)) >empty : Symbol(A.empty, Decl(a.js, 3, 31)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) a.empty.push(true) ->a.empty.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>a.empty.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >a.empty : Symbol(A.empty, Decl(a.js, 3, 31)) >a : Symbol(a, Decl(a.js, 6, 3), Decl(a.js, 8, 16)) >empty : Symbol(A.empty, Decl(a.js, 3, 31)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) a.empty.push({}) ->a.empty.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>a.empty.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >a.empty : Symbol(A.empty, Decl(a.js, 3, 31)) >a : Symbol(a, Decl(a.js, 6, 3), Decl(a.js, 8, 16)) >empty : Symbol(A.empty, Decl(a.js, 3, 31)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) a.empty.push('hi') ->a.empty.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>a.empty.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >a.empty : Symbol(A.empty, Decl(a.js, 3, 31)) >a : Symbol(a, Decl(a.js, 6, 3), Decl(a.js, 8, 16)) >empty : Symbol(A.empty, Decl(a.js, 3, 31)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) /** @type {number | undefined} */ var n; @@ -130,14 +130,14 @@ function f(a = null, b = n, l = []) { // l should be any[] l.push(1) ->l.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>l.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >l : Symbol(l, Decl(a.js, 24, 27)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) l.push('ok') ->l.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>l.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >l : Symbol(l, Decl(a.js, 24, 27)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) } // should get any on variable initialisers @@ -165,7 +165,7 @@ u = 'ok' >u : Symbol(u, Decl(a.js, 44, 3)) l.push('ok') ->l.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>l.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >l : Symbol(l, Decl(a.js, 45, 3)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment11.symbols b/tests/baselines/reference/typeFromPropertyAssignment11.symbols index fa70ba958d1..93d79e2de1c 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment11.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment11.symbols @@ -3,9 +3,9 @@ var Inner = function() {} >Inner : Symbol(Inner, Decl(module.js, 0, 3), Decl(module.js, 0, 25)) Inner.prototype = { ->Inner.prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>Inner.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >Inner : Symbol(Inner, Decl(module.js, 0, 3), Decl(module.js, 0, 25)) ->prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) m() { }, >m : Symbol(m, Decl(module.js, 1, 19)) @@ -17,14 +17,14 @@ Inner.prototype = { Inner.prototype.j = 2 >Inner.prototype : Symbol(Inner.j, Decl(module.js, 4, 1)) >Inner : Symbol(Inner, Decl(module.js, 0, 3), Decl(module.js, 0, 25)) ->prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >j : Symbol(Inner.j, Decl(module.js, 4, 1)) /** @type {string} */ Inner.prototype.k; ->Inner.prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>Inner.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >Inner : Symbol(Inner, Decl(module.js, 0, 3), Decl(module.js, 0, 25)) ->prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) var inner = new Inner() >inner : Symbol(inner, Decl(module.js, 9, 3)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment12.symbols b/tests/baselines/reference/typeFromPropertyAssignment12.symbols index d5b763375a4..cd25c16a13d 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment12.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment12.symbols @@ -15,11 +15,11 @@ Outer.Pos = function (line, ch) {}; /** @type {number} */ Outer.Pos.prototype.line; ->Outer.Pos.prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>Outer.Pos.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >Outer.Pos : Symbol(Outer.Pos, Decl(usage.js, 0, 0)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(usage.js, 0, 0)) >Pos : Symbol(Outer.Pos, Decl(usage.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) var pos = new Outer.Pos(1, 'x'); >pos : Symbol(pos, Decl(usage.js, 4, 3)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment13.symbols b/tests/baselines/reference/typeFromPropertyAssignment13.symbols index e23cd005d22..c0c05635b03 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment13.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment13.symbols @@ -8,11 +8,11 @@ Outer.Inner = function() {} >Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) Outer.Inner.prototype = { ->Outer.Inner.prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>Outer.Inner.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >Outer.Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 14), Decl(module.js, 1, 27)) >Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) ->prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) m() { }, >m : Symbol(m, Decl(module.js, 2, 25)) @@ -26,16 +26,16 @@ Outer.Inner.prototype.j = 2 >Outer.Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 14), Decl(module.js, 1, 27)) >Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) ->prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >j : Symbol(Inner.j, Decl(module.js, 5, 1)) /** @type {string} */ Outer.Inner.prototype.k; ->Outer.Inner.prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>Outer.Inner.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >Outer.Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 14), Decl(module.js, 1, 27)) >Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) ->prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) var inner = new Outer.Inner() >inner : Symbol(inner, Decl(module.js, 10, 3)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment14.symbols b/tests/baselines/reference/typeFromPropertyAssignment14.symbols index 3f5035e24ad..6740513f4d6 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment14.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment14.symbols @@ -9,11 +9,11 @@ Outer.Inner = function () {} >Inner : Symbol(Outer.Inner, Decl(work.js, 0, 0), Decl(work.js, 1, 6)) Outer.Inner.prototype = { ->Outer.Inner.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>Outer.Inner.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >Outer.Inner : Symbol(Outer.Inner, Decl(work.js, 0, 0), Decl(work.js, 1, 6)) >Outer : Symbol(Outer, Decl(def.js, 0, 3), Decl(work.js, 0, 0), Decl(work.js, 0, 28)) >Inner : Symbol(Outer.Inner, Decl(work.js, 0, 0), Decl(work.js, 1, 6)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) x: 1, >x : Symbol(x, Decl(work.js, 1, 25)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment16.symbols b/tests/baselines/reference/typeFromPropertyAssignment16.symbols index e7fbaed599c..cf73cbd40aa 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment16.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment16.symbols @@ -8,11 +8,11 @@ Outer.Inner = function () {} >Inner : Symbol(Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) Outer.Inner.prototype = { ->Outer.Inner.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>Outer.Inner.prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >Outer.Inner : Symbol(Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) >Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 0, 15), Decl(a.js, 2, 28)) >Inner : Symbol(Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) x: 1, >x : Symbol(x, Decl(a.js, 3, 25)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment17.symbols b/tests/baselines/reference/typeFromPropertyAssignment17.symbols index ab0f9bf6c28..cbb5324cab0 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment17.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment17.symbols @@ -75,7 +75,7 @@ M.defaults = function (def) { M.prototype.m = function () { >M.prototype : Symbol(M.m, Decl(minimatch.js, 11, 1)) >M : Symbol(M, Decl(minimatch.js, 13, 1), Decl(minimatch.js, 8, 1)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >m : Symbol(M.m, Decl(minimatch.js, 11, 1)) } function M() { diff --git a/tests/baselines/reference/typeFromPropertyAssignment20.symbols b/tests/baselines/reference/typeFromPropertyAssignment20.symbols index c7e035aaab4..f2a10e59e4d 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment20.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment20.symbols @@ -17,7 +17,7 @@ Async.prototype.disableTrampolineIfNecessary = function dtin(b) { >Async.prototype : Symbol(Async.disableTrampolineIfNecessary, Decl(bluebird.js, 4, 9)) >Async : Symbol(Async, Decl(bluebird.js, 1, 23)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >disableTrampolineIfNecessary : Symbol(Async.disableTrampolineIfNecessary, Decl(bluebird.js, 4, 9)) >dtin : Symbol(dtin, Decl(bluebird.js, 6, 54)) >b : Symbol(b, Decl(bluebird.js, 6, 69)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment22.symbols b/tests/baselines/reference/typeFromPropertyAssignment22.symbols index 1d43e3a4c27..7288d7f6e26 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment22.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment22.symbols @@ -8,7 +8,7 @@ function Installer () { Installer.prototype.loadArgMetadata = function (next) { >Installer.prototype : Symbol(Installer.loadArgMetadata, Decl(npm-install.js, 2, 1)) >Installer : Symbol(Installer, Decl(npm-install.js, 0, 0)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Function.prototype, Decl(lib.es5.d.ts, --, --)) >loadArgMetadata : Symbol(Installer.loadArgMetadata, Decl(npm-install.js, 2, 1)) >next : Symbol(next, Decl(npm-install.js, 3, 48)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment9.symbols b/tests/baselines/reference/typeFromPropertyAssignment9.symbols index 6604480deaf..a45debb849c 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment9.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment9.symbols @@ -112,7 +112,7 @@ my.predicate.type = class { // global-ish prefixes var min = window.min || {}; >min : Symbol(min, Decl(a.js, 29, 3), Decl(a.js, 29, 27), Decl(a.js, 30, 44), Decl(a.js, 31, 50)) ->window : Symbol(window, Decl(lib.es6.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) min.nest = this.min.nest || function () { }; >min.nest : Symbol(nest, Decl(a.js, 29, 27), Decl(a.js, 31, 4)) @@ -125,7 +125,7 @@ min.nest.other = self.min.nest.other || class { }; >min : Symbol(min, Decl(a.js, 29, 3), Decl(a.js, 29, 27), Decl(a.js, 30, 44), Decl(a.js, 31, 50)) >nest : Symbol(nest, Decl(a.js, 29, 27), Decl(a.js, 31, 4)) >other : Symbol(nest.other, Decl(a.js, 30, 44)) ->self : Symbol(self, Decl(lib.es6.d.ts, --, --)) +>self : Symbol(self, Decl(lib.dom.d.ts, --, --)) min.property = global.min.property || {}; >min.property : Symbol(property, Decl(a.js, 31, 50)) diff --git a/tests/baselines/reference/typeGuardIntersectionTypes.symbols b/tests/baselines/reference/typeGuardIntersectionTypes.symbols index fa706d85429..21da29e434f 100644 --- a/tests/baselines/reference/typeGuardIntersectionTypes.symbols +++ b/tests/baselines/reference/typeGuardIntersectionTypes.symbols @@ -41,7 +41,7 @@ declare function isZ(obj: any): obj is Z; function f1(obj: Object) { >f1 : Symbol(f1, Decl(typeGuardIntersectionTypes.ts, 14, 41)) >obj : Symbol(obj, Decl(typeGuardIntersectionTypes.ts, 16, 12)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) if (isX(obj) || isY(obj) || isZ(obj)) { >isX : Symbol(isX, Decl(typeGuardIntersectionTypes.ts, 10, 1)) @@ -229,7 +229,7 @@ function identifyBeast(beast: Beast) { function beastFoo(beast: Object) { >beastFoo : Symbol(beastFoo, Decl(typeGuardIntersectionTypes.ts, 97, 1)) >beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 99, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) if (hasWings(beast) && hasLegs(beast)) { >hasWings : Symbol(hasWings, Decl(typeGuardIntersectionTypes.ts, 60, 83)) diff --git a/tests/baselines/reference/typeGuardOfFormFunctionEquality.symbols b/tests/baselines/reference/typeGuardOfFormFunctionEquality.symbols index f1384050176..71356fd58a2 100644 --- a/tests/baselines/reference/typeGuardOfFormFunctionEquality.symbols +++ b/tests/baselines/reference/typeGuardOfFormFunctionEquality.symbols @@ -3,13 +3,13 @@ declare function isString1(a: number, b: Object): b is string; >isString1 : Symbol(isString1, Decl(typeGuardOfFormFunctionEquality.ts, 0, 0)) >a : Symbol(a, Decl(typeGuardOfFormFunctionEquality.ts, 0, 27)) >b : Symbol(b, Decl(typeGuardOfFormFunctionEquality.ts, 0, 37)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(typeGuardOfFormFunctionEquality.ts, 0, 37)) declare function isString2(a: Object): a is string; >isString2 : Symbol(isString2, Decl(typeGuardOfFormFunctionEquality.ts, 0, 62)) >a : Symbol(a, Decl(typeGuardOfFormFunctionEquality.ts, 2, 27)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(typeGuardOfFormFunctionEquality.ts, 2, 27)) switch (isString1(0, "")) { @@ -31,7 +31,7 @@ function isString3(a: number, b: number, c: Object): c is string { >a : Symbol(a, Decl(typeGuardOfFormFunctionEquality.ts, 11, 19)) >b : Symbol(b, Decl(typeGuardOfFormFunctionEquality.ts, 11, 29)) >c : Symbol(c, Decl(typeGuardOfFormFunctionEquality.ts, 11, 40)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >c : Symbol(c, Decl(typeGuardOfFormFunctionEquality.ts, 11, 40)) return isString1(0, c); diff --git a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols index f696dfe17d0..06912f9d59b 100644 --- a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols +++ b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols @@ -10,12 +10,12 @@ class B { b: number; } class C { b: Object; } >C : Symbol(C, Decl(typeGuardOfFromPropNameInUnionType.ts, 1, 22)) >b : Symbol(C.b, Decl(typeGuardOfFromPropNameInUnionType.ts, 2, 9)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) class D { a: Date; } >D : Symbol(D, Decl(typeGuardOfFromPropNameInUnionType.ts, 2, 22)) >a : Symbol(D.a, Decl(typeGuardOfFromPropNameInUnionType.ts, 3, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function namedClasses(x: A | B) { >namedClasses : Symbol(namedClasses, Decl(typeGuardOfFromPropNameInUnionType.ts, 3, 20)) @@ -52,7 +52,7 @@ function multipleClasses(x: A | B | C | D) { let y: string | Date = x.a; >y : Symbol(y, Decl(typeGuardOfFromPropNameInUnionType.ts, 15, 11)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x.a : Symbol(a, Decl(typeGuardOfFromPropNameInUnionType.ts, 0, 9), Decl(typeGuardOfFromPropNameInUnionType.ts, 3, 9)) >x : Symbol(x, Decl(typeGuardOfFromPropNameInUnionType.ts, 13, 25)) >a : Symbol(a, Decl(typeGuardOfFromPropNameInUnionType.ts, 0, 9), Decl(typeGuardOfFromPropNameInUnionType.ts, 3, 9)) @@ -60,7 +60,7 @@ function multipleClasses(x: A | B | C | D) { } else { let z: number | Object = x.b; >z : Symbol(z, Decl(typeGuardOfFromPropNameInUnionType.ts, 17, 11)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x.b : Symbol(b, Decl(typeGuardOfFromPropNameInUnionType.ts, 1, 9), Decl(typeGuardOfFromPropNameInUnionType.ts, 2, 9)) >x : Symbol(x, Decl(typeGuardOfFromPropNameInUnionType.ts, 13, 25)) >b : Symbol(b, Decl(typeGuardOfFromPropNameInUnionType.ts, 1, 9), Decl(typeGuardOfFromPropNameInUnionType.ts, 2, 9)) diff --git a/tests/baselines/reference/typeGuardRedundancy.symbols b/tests/baselines/reference/typeGuardRedundancy.symbols index 356061407ad..a0f2131767d 100644 --- a/tests/baselines/reference/typeGuardRedundancy.symbols +++ b/tests/baselines/reference/typeGuardRedundancy.symbols @@ -6,43 +6,43 @@ var r1 = typeof x === "string" && typeof x === "string" ? x.substr : x.toFixed; >r1 : Symbol(r1, Decl(typeGuardRedundancy.ts, 2, 3)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) ->x.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>x.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) var r2 = !(typeof x === "string" && typeof x === "string") ? x.toFixed : x.substr; >r2 : Symbol(r2, Decl(typeGuardRedundancy.ts, 4, 3)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) ->x.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) +>x.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) var r3 = typeof x === "string" || typeof x === "string" ? x.substr : x.toFixed; >r3 : Symbol(r3, Decl(typeGuardRedundancy.ts, 6, 3)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) ->x.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>x.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) var r4 = !(typeof x === "string" || typeof x === "string") ? x.toFixed : x.substr; >r4 : Symbol(r4, Decl(typeGuardRedundancy.ts, 8, 3)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) ->x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) ->toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) ->x.substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) +>x.substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardRedundancy.ts, 0, 3)) ->substr : Symbol(String.substr, Decl(lib.d.ts, --, --)) +>substr : Symbol(String.substr, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/typeGuardsAsAssertions.symbols b/tests/baselines/reference/typeGuardsAsAssertions.symbols index 346418871db..276f1d8b93b 100644 --- a/tests/baselines/reference/typeGuardsAsAssertions.symbols +++ b/tests/baselines/reference/typeGuardsAsAssertions.symbols @@ -104,9 +104,9 @@ function foo1() { x = typeof x === "string" ? x.slice() : "abc"; >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 30, 7)) >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 30, 7)) ->x.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>x.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 30, 7)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) x; // string >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 30, 7)) @@ -135,9 +135,9 @@ function foo2() { x = x.slice(); >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 41, 7)) ->x.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>x.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 41, 7)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) } else { x = "abc"; @@ -257,59 +257,59 @@ function f6() { >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) x!.slice(); ->x!.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>x!.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) x = ""; >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) x!.slice(); ->x!.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>x!.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) x = undefined; >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) >undefined : Symbol(undefined) x!.slice(); ->x!.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>x!.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) x = null; >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) x!.slice(); ->x!.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>x!.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) x = undefined; >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) >undefined : Symbol(undefined) x!.slice(); ->x!.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>x!.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) x = ""; >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) x!.slice(); ->x!.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>x!.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) x = ""; >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) x!.slice(); ->x!.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>x!.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 105, 7)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) } function f7() { @@ -319,8 +319,8 @@ function f7() { >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 122, 7)) x!.slice(); ->x!.slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>x!.slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsAsAssertions.ts, 122, 7)) ->slice : Symbol(String.slice, Decl(lib.d.ts, --, --)) +>slice : Symbol(String.slice, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/typeGuardsDefeat.symbols b/tests/baselines/reference/typeGuardsDefeat.symbols index 388b69b5789..cbb23c3d9a6 100644 --- a/tests/baselines/reference/typeGuardsDefeat.symbols +++ b/tests/baselines/reference/typeGuardsDefeat.symbols @@ -18,9 +18,9 @@ function foo(x: number | string) { >f : Symbol(f, Decl(typeGuardsDefeat.ts, 2, 34)) return x.length; // string ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsDefeat.ts, 2, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } else { return x++; // number @@ -35,9 +35,9 @@ function foo2(x: number | string) { >x : Symbol(x, Decl(typeGuardsDefeat.ts, 14, 14)) return x.length; // string ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsDefeat.ts, 14, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } else { var f = function () { @@ -63,9 +63,9 @@ function foo3(x: number | string) { >x : Symbol(x, Decl(typeGuardsDefeat.ts, 26, 14)) return x.length; // string ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsDefeat.ts, 26, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } else { var f = () => x * x; diff --git a/tests/baselines/reference/typeGuardsInClassAccessors.symbols b/tests/baselines/reference/typeGuardsInClassAccessors.symbols index fad5b10e285..520a5442545 100644 --- a/tests/baselines/reference/typeGuardsInClassAccessors.symbols +++ b/tests/baselines/reference/typeGuardsInClassAccessors.symbols @@ -23,9 +23,9 @@ class ClassWithAccessors { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -34,9 +34,9 @@ class ClassWithAccessors { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 14, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 14, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) return strOrNum; >strOrNum : Symbol(strOrNum, Decl(typeGuardsInClassAccessors.ts, 5, 3)) @@ -50,17 +50,17 @@ class ClassWithAccessors { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameter of function declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsInClassAccessors.ts, 20, 11)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsInClassAccessors.ts, 20, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -69,9 +69,9 @@ class ClassWithAccessors { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 28, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 28, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } // Inside private accessor getter private get pp1() { @@ -81,9 +81,9 @@ class ClassWithAccessors { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -92,9 +92,9 @@ class ClassWithAccessors { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 37, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 37, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) return strOrNum; >strOrNum : Symbol(strOrNum, Decl(typeGuardsInClassAccessors.ts, 5, 3)) @@ -108,17 +108,17 @@ class ClassWithAccessors { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameter of function declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsInClassAccessors.ts, 43, 20)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsInClassAccessors.ts, 43, 20)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -127,9 +127,9 @@ class ClassWithAccessors { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 51, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 51, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } // Inside static accessor getter static get s1() { @@ -139,9 +139,9 @@ class ClassWithAccessors { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -150,9 +150,9 @@ class ClassWithAccessors { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 60, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 60, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) return strOrNum; >strOrNum : Symbol(strOrNum, Decl(typeGuardsInClassAccessors.ts, 5, 3)) @@ -166,17 +166,17 @@ class ClassWithAccessors { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameter of function declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsInClassAccessors.ts, 66, 18)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsInClassAccessors.ts, 66, 18)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -185,9 +185,9 @@ class ClassWithAccessors { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 74, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 74, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } // Inside private static accessor getter private static get ss1() { @@ -197,9 +197,9 @@ class ClassWithAccessors { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -208,9 +208,9 @@ class ClassWithAccessors { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 83, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 83, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) return strOrNum; >strOrNum : Symbol(strOrNum, Decl(typeGuardsInClassAccessors.ts, 5, 3)) @@ -224,17 +224,17 @@ class ClassWithAccessors { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInClassAccessors.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameter of function declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsInClassAccessors.ts, 89, 27)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsInClassAccessors.ts, 89, 27)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -243,9 +243,9 @@ class ClassWithAccessors { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInClassAccessors.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 97, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInClassAccessors.ts, 97, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/typeGuardsInClassMethods.symbols b/tests/baselines/reference/typeGuardsInClassMethods.symbols index 1808b97be47..649e589b9bc 100644 --- a/tests/baselines/reference/typeGuardsInClassMethods.symbols +++ b/tests/baselines/reference/typeGuardsInClassMethods.symbols @@ -19,9 +19,9 @@ class C1 { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInClassMethods.ts, 5, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInClassMethods.ts, 5, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -30,17 +30,17 @@ class C1 { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInClassMethods.ts, 12, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInClassMethods.ts, 12, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameters in function declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsInClassMethods.ts, 7, 16)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsInClassMethods.ts, 7, 16)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } // Inside function declaration private p1(param: string | number) { @@ -51,9 +51,9 @@ class C1 { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInClassMethods.ts, 5, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInClassMethods.ts, 5, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -62,17 +62,17 @@ class C1 { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInClassMethods.ts, 24, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInClassMethods.ts, 24, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameters in function declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsInClassMethods.ts, 19, 15)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsInClassMethods.ts, 19, 15)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } // Inside function declaration p2(param: string | number) { @@ -83,9 +83,9 @@ class C1 { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInClassMethods.ts, 5, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInClassMethods.ts, 5, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -94,17 +94,17 @@ class C1 { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInClassMethods.ts, 36, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInClassMethods.ts, 36, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameters in function declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsInClassMethods.ts, 31, 7)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsInClassMethods.ts, 31, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } // Inside function declaration private static s1(param: string | number) { @@ -115,9 +115,9 @@ class C1 { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInClassMethods.ts, 5, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInClassMethods.ts, 5, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -126,17 +126,17 @@ class C1 { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInClassMethods.ts, 48, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInClassMethods.ts, 48, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameters in function declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsInClassMethods.ts, 43, 22)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsInClassMethods.ts, 43, 22)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } // Inside function declaration static s2(param: string | number) { @@ -147,9 +147,9 @@ class C1 { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInClassMethods.ts, 5, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInClassMethods.ts, 5, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -158,17 +158,17 @@ class C1 { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInClassMethods.ts, 60, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInClassMethods.ts, 60, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameters in function declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsInClassMethods.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsInClassMethods.ts, 55, 14)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsInClassMethods.ts, 55, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/typeGuardsInConditionalExpression.symbols b/tests/baselines/reference/typeGuardsInConditionalExpression.symbols index ada6a6d99fd..b54753f79cd 100644 --- a/tests/baselines/reference/typeGuardsInConditionalExpression.symbols +++ b/tests/baselines/reference/typeGuardsInConditionalExpression.symbols @@ -14,9 +14,9 @@ function foo(x: number | string) { >x : Symbol(x, Decl(typeGuardsInConditionalExpression.ts, 7, 13)) ? x.length // string ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInConditionalExpression.ts, 7, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) : x++; // number >x : Symbol(x, Decl(typeGuardsInConditionalExpression.ts, 7, 13)) @@ -151,9 +151,9 @@ function foo9(x: number | string) { ? ((y = x.length) && x === "hello") // boolean >y : Symbol(y, Decl(typeGuardsInConditionalExpression.ts, 55, 7)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInConditionalExpression.ts, 54, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInConditionalExpression.ts, 54, 14)) : x === 10; // boolean @@ -181,9 +181,9 @@ function foo10(x: number | string | boolean) { >x : Symbol(x, Decl(typeGuardsInConditionalExpression.ts, 61, 15)) && x.toString()); // x is number ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInConditionalExpression.ts, 61, 15)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } function foo11(x: number | string | boolean) { >foo11 : Symbol(foo11, Decl(typeGuardsInConditionalExpression.ts, 69, 1)) @@ -225,11 +225,11 @@ function foo12(x: number | string | boolean) { ? ((x = 10) && x.toString().length) // number >x : Symbol(x, Decl(typeGuardsInConditionalExpression.ts, 80, 15)) ->x.toString().length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString().length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInConditionalExpression.ts, 80, 15)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) : ((b = x) // x is number | boolean >b : Symbol(b, Decl(typeGuardsInConditionalExpression.ts, 82, 7)) diff --git a/tests/baselines/reference/typeGuardsInExternalModule.symbols b/tests/baselines/reference/typeGuardsInExternalModule.symbols index c9e5791f101..73324cb7518 100644 --- a/tests/baselines/reference/typeGuardsInExternalModule.symbols +++ b/tests/baselines/reference/typeGuardsInExternalModule.symbols @@ -14,9 +14,9 @@ if (typeof var1 === "string") { num = var1.length; // string >num : Symbol(num, Decl(typeGuardsInExternalModule.ts, 4, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInExternalModule.ts, 5, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } else { num = var1; // number diff --git a/tests/baselines/reference/typeGuardsInFunction.symbols b/tests/baselines/reference/typeGuardsInFunction.symbols index 452e69435ff..238eed71830 100644 --- a/tests/baselines/reference/typeGuardsInFunction.symbols +++ b/tests/baselines/reference/typeGuardsInFunction.symbols @@ -18,9 +18,9 @@ function f(param: string | number) { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInFunction.ts, 5, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInFunction.ts, 5, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -29,17 +29,17 @@ function f(param: string | number) { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInFunction.ts, 12, 7)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInFunction.ts, 12, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameters in function declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsInFunction.ts, 7, 11)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsInFunction.ts, 7, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } // local function declaration function f1(param: string | number) { @@ -57,25 +57,25 @@ function f1(param: string | number) { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInFunction.ts, 5, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInFunction.ts, 5, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables from outer function declaration num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInFunction.ts, 20, 7)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInFunction.ts, 20, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameters in outer declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsInFunction.ts, 19, 12)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsInFunction.ts, 19, 12)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // local var var3: string | number; @@ -84,16 +84,16 @@ function f1(param: string | number) { num = typeof var3 === "string" && var3.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >var3 : Symbol(var3, Decl(typeGuardsInFunction.ts, 32, 11)) ->var3.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var3.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var3 : Symbol(var3, Decl(typeGuardsInFunction.ts, 32, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) num = typeof param1 === "string" && param1.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >param1 : Symbol(param1, Decl(typeGuardsInFunction.ts, 21, 16)) ->param1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param1 : Symbol(param1, Decl(typeGuardsInFunction.ts, 21, 16)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } // Function expression @@ -114,25 +114,25 @@ function f2(param: string | number) { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInFunction.ts, 5, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInFunction.ts, 5, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables from outer function declaration num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInFunction.ts, 40, 7)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInFunction.ts, 40, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameters in outer declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsInFunction.ts, 38, 12)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsInFunction.ts, 38, 12)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // local var var3: string | number; @@ -141,16 +141,16 @@ function f2(param: string | number) { num = typeof var3 === "string" && var3.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >var3 : Symbol(var3, Decl(typeGuardsInFunction.ts, 53, 11)) ->var3.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var3.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var3 : Symbol(var3, Decl(typeGuardsInFunction.ts, 53, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) num = typeof param1 === "string" && param1.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >param1 : Symbol(param1, Decl(typeGuardsInFunction.ts, 42, 22)) ->param1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param1 : Symbol(param1, Decl(typeGuardsInFunction.ts, 42, 22)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } (param); >param : Symbol(param, Decl(typeGuardsInFunction.ts, 38, 12)) @@ -173,25 +173,25 @@ function f3(param: string | number) { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInFunction.ts, 5, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInFunction.ts, 5, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables from outer function declaration num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInFunction.ts, 61, 7)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInFunction.ts, 61, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameters in outer declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsInFunction.ts, 59, 12)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsInFunction.ts, 59, 12)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // local var var3: string | number; @@ -200,16 +200,16 @@ function f3(param: string | number) { num = typeof var3 === "string" && var3.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >var3 : Symbol(var3, Decl(typeGuardsInFunction.ts, 74, 11)) ->var3.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var3.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var3 : Symbol(var3, Decl(typeGuardsInFunction.ts, 74, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) num = typeof param1 === "string" && param1.length; // string >num : Symbol(num, Decl(typeGuardsInFunction.ts, 4, 3)) >param1 : Symbol(param1, Decl(typeGuardsInFunction.ts, 63, 14)) ->param1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param1 : Symbol(param1, Decl(typeGuardsInFunction.ts, 63, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) })(param); >param : Symbol(param, Decl(typeGuardsInFunction.ts, 59, 12)) diff --git a/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.symbols b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.symbols index 56eeb22bf9f..45f3d2a15e3 100644 --- a/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.symbols +++ b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.symbols @@ -22,14 +22,14 @@ function foo(x: number | string | boolean) { >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 2, 13)) ? x.toString() // boolean ->x.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 2, 13)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) : x.toString(); // number ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 2, 13)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } (); } @@ -55,14 +55,14 @@ function foo2(x: number | string | boolean) { >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 12, 14)) ? x.toString() // boolean ->x.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 12, 14)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) : x.toString(); // number ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 12, 14)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } (x); // x here is narrowed to number | boolean >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 12, 14)) @@ -86,14 +86,14 @@ function foo3(x: number | string | boolean) { >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 22, 14)) ? x.toString() // boolean ->x.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 22, 14)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) : x.toString(); // number ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 22, 14)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) })(); } @@ -118,14 +118,14 @@ function foo4(x: number | string | boolean) { >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 32, 14)) ? x.toString() // boolean ->x.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 32, 14)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) : x.toString(); // number ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 32, 14)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) })(x); // x here is narrowed to number | boolean >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 32, 14)) @@ -180,14 +180,14 @@ module m { >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 52, 7)) ? x.toString() // boolean ->x.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 52, 7)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) : x.toString(); // number ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 52, 7)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } } } @@ -221,14 +221,14 @@ module m1 { >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 66, 7)) ? x.toString() // boolean ->x.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 66, 7)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) : x.toString(); // number ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInFunctionAndModuleBlock.ts, 66, 7)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } } } diff --git a/tests/baselines/reference/typeGuardsInGlobal.symbols b/tests/baselines/reference/typeGuardsInGlobal.symbols index e052a068651..699788dc15c 100644 --- a/tests/baselines/reference/typeGuardsInGlobal.symbols +++ b/tests/baselines/reference/typeGuardsInGlobal.symbols @@ -14,9 +14,9 @@ if (typeof var1 === "string") { num = var1.length; // string >num : Symbol(num, Decl(typeGuardsInGlobal.ts, 4, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInGlobal.ts, 5, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } else { num = var1; // number diff --git a/tests/baselines/reference/typeGuardsInIfStatement.symbols b/tests/baselines/reference/typeGuardsInIfStatement.symbols index 2305339b317..b37531a563f 100644 --- a/tests/baselines/reference/typeGuardsInIfStatement.symbols +++ b/tests/baselines/reference/typeGuardsInIfStatement.symbols @@ -11,9 +11,9 @@ function foo(x: number | string) { >x : Symbol(x, Decl(typeGuardsInIfStatement.ts, 4, 13)) return x.length; // string ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInIfStatement.ts, 4, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } else { return x++; // number @@ -174,9 +174,9 @@ function foo9(x: number | string) { // usage of x or assignment to separate variable shouldn't cause narrowing of type to stop y = x.length; >y : Symbol(y, Decl(typeGuardsInIfStatement.ts, 84, 7)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInIfStatement.ts, 83, 14)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) return x === "hello"; // string >x : Symbol(x, Decl(typeGuardsInIfStatement.ts, 83, 14)) @@ -242,9 +242,9 @@ function foo11(x: number | string | boolean) { // change value of x x = 10 && x.toString() // number | boolean | string >x : Symbol(x, Decl(typeGuardsInIfStatement.ts, 107, 15)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInIfStatement.ts, 107, 15)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ) : ( @@ -252,9 +252,9 @@ function foo11(x: number | string | boolean) { y = x && x.toString() // number | boolean | string >y : Symbol(y, Decl(typeGuardsInIfStatement.ts, 114, 11)) >x : Symbol(x, Decl(typeGuardsInIfStatement.ts, 107, 15)) ->x.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInIfStatement.ts, 107, 15)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) ); } @@ -269,9 +269,9 @@ function foo12(x: number | string | boolean) { >x : Symbol(x, Decl(typeGuardsInIfStatement.ts, 127, 15)) return x.toString(); // string | number | boolean - x changed in else branch ->x.toString : Symbol(String.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInIfStatement.ts, 127, 15)) ->toString : Symbol(String.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --)) } else { x = 10; @@ -285,9 +285,9 @@ function foo12(x: number | string | boolean) { >x : Symbol(x, Decl(typeGuardsInIfStatement.ts, 127, 15)) ? x.toString() // number ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInIfStatement.ts, 127, 15)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) : x.toString(); // boolean | string >x : Symbol(x, Decl(typeGuardsInIfStatement.ts, 127, 15)) diff --git a/tests/baselines/reference/typeGuardsInModule.symbols b/tests/baselines/reference/typeGuardsInModule.symbols index 9c501e9c22f..60ec8ed832a 100644 --- a/tests/baselines/reference/typeGuardsInModule.symbols +++ b/tests/baselines/reference/typeGuardsInModule.symbols @@ -20,9 +20,9 @@ module m1 { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInModule.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInModule.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInModule.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in module declaration var var2: string | number; @@ -33,9 +33,9 @@ module m1 { num = var2.length; // string >num : Symbol(num, Decl(typeGuardsInModule.ts, 4, 3)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInModule.ts, 13, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } else { num = var2; // number @@ -77,17 +77,17 @@ module m2 { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInModule.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInModule.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInModule.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // local variables from outer module declaration num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsInModule.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsInModule.ts, 32, 7)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInModule.ts, 32, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // exported variable from outer the module strOrNum = typeof var3 === "string" && var3; // string | number @@ -104,9 +104,9 @@ module m2 { num = var4.length; // string >num : Symbol(num, Decl(typeGuardsInModule.ts, 4, 3)) ->var4.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var4.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var4 : Symbol(var4, Decl(typeGuardsInModule.ts, 45, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } else { num = var4; // number @@ -141,9 +141,9 @@ module m3.m4 { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsInModule.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsInModule.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsInModule.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in module declaration var var2: string | number; @@ -154,9 +154,9 @@ module m3.m4 { num = var2.length; // string >num : Symbol(num, Decl(typeGuardsInModule.ts, 4, 3)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsInModule.ts, 69, 7)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } else { num = var2; // number diff --git a/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.symbols b/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.symbols index 4028edb6b42..9c702735074 100644 --- a/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.symbols +++ b/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.symbols @@ -7,9 +7,9 @@ function foo(x: number | string) { return typeof x === "string" && x.length === 10; // string >x : Symbol(x, Decl(typeGuardsInRightOperandOfAndAndOperator.ts, 2, 13)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInRightOperandOfAndAndOperator.ts, 2, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } function foo2(x: number | string) { >foo2 : Symbol(foo2, Decl(typeGuardsInRightOperandOfAndAndOperator.ts, 4, 1)) @@ -104,16 +104,16 @@ function foo7(x: number | string | boolean) { // change value of x ? ((x = 10) && x.toString()) // x is number >x : Symbol(x, Decl(typeGuardsInRightOperandOfAndAndOperator.ts, 32, 14)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInRightOperandOfAndAndOperator.ts, 32, 14)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) // do not change value : ((y = x) && x.toString()))); // x is boolean >y : Symbol(y, Decl(typeGuardsInRightOperandOfAndAndOperator.ts, 33, 7)) >x : Symbol(x, Decl(typeGuardsInRightOperandOfAndAndOperator.ts, 32, 14)) ->x.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInRightOperandOfAndAndOperator.ts, 32, 14)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.symbols b/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.symbols index b276671819a..6a24d58c040 100644 --- a/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.symbols +++ b/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.symbols @@ -8,9 +8,9 @@ function foo(x: number | string) { return typeof x !== "string" || x.length === 10; // string >x : Symbol(x, Decl(typeGuardsInRightOperandOfOrOrOperator.ts, 3, 13)) ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInRightOperandOfOrOrOperator.ts, 3, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } function foo2(x: number | string) { >foo2 : Symbol(foo2, Decl(typeGuardsInRightOperandOfOrOrOperator.ts, 5, 1)) @@ -105,16 +105,16 @@ function foo7(x: number | string | boolean) { // change value of x ? ((x = 10) && x.toString()) // number | boolean | string >x : Symbol(x, Decl(typeGuardsInRightOperandOfOrOrOperator.ts, 33, 14)) ->x.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInRightOperandOfOrOrOperator.ts, 33, 14)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) // do not change value : ((y = x) && x.toString()))); // number | boolean | string >y : Symbol(y, Decl(typeGuardsInRightOperandOfOrOrOperator.ts, 34, 7)) >x : Symbol(x, Decl(typeGuardsInRightOperandOfOrOrOperator.ts, 33, 14)) ->x.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>x.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsInRightOperandOfOrOrOperator.ts, 33, 14)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/typeGuardsNestedAssignments.symbols b/tests/baselines/reference/typeGuardsNestedAssignments.symbols index 4baa5db1b71..ef411c53d16 100644 --- a/tests/baselines/reference/typeGuardsNestedAssignments.symbols +++ b/tests/baselines/reference/typeGuardsNestedAssignments.symbols @@ -59,7 +59,7 @@ function f3() { let obj: Object | null; >obj : Symbol(obj, Decl(typeGuardsNestedAssignments.ts, 24, 7)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) if ((obj = getFooOrNull()) instanceof Foo) { >obj : Symbol(obj, Decl(typeGuardsNestedAssignments.ts, 24, 7)) @@ -93,20 +93,20 @@ const re = /./g let match: RegExpExecArray | null >match : Symbol(match, Decl(typeGuardsNestedAssignments.ts, 40, 3)) ->RegExpExecArray : Symbol(RegExpExecArray, Decl(lib.d.ts, --, --)) +>RegExpExecArray : Symbol(RegExpExecArray, Decl(lib.es5.d.ts, --, --)) while ((match = re.exec("xxx")) != null) { >match : Symbol(match, Decl(typeGuardsNestedAssignments.ts, 40, 3)) ->re.exec : Symbol(RegExp.exec, Decl(lib.d.ts, --, --)) +>re.exec : Symbol(RegExp.exec, Decl(lib.es5.d.ts, --, --)) >re : Symbol(re, Decl(typeGuardsNestedAssignments.ts, 39, 5)) ->exec : Symbol(RegExp.exec, Decl(lib.d.ts, --, --)) +>exec : Symbol(RegExp.exec, Decl(lib.es5.d.ts, --, --)) const length = match[1].length + match[2].length >length : Symbol(length, Decl(typeGuardsNestedAssignments.ts, 43, 9)) ->match[1].length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>match[1].length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >match : Symbol(match, Decl(typeGuardsNestedAssignments.ts, 40, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) ->match[2].length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>match[2].length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >match : Symbol(match, Decl(typeGuardsNestedAssignments.ts, 40, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/typeGuardsObjectMethods.symbols b/tests/baselines/reference/typeGuardsObjectMethods.symbols index 7b468cc20ed..90dc76747ab 100644 --- a/tests/baselines/reference/typeGuardsObjectMethods.symbols +++ b/tests/baselines/reference/typeGuardsObjectMethods.symbols @@ -24,9 +24,9 @@ var obj1 = { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsObjectMethods.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsObjectMethods.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsObjectMethods.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -35,17 +35,17 @@ var obj1 = { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsObjectMethods.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsObjectMethods.ts, 14, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsObjectMethods.ts, 14, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameters in function declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsObjectMethods.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsObjectMethods.ts, 9, 11)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsObjectMethods.ts, 9, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) return strOrNum; >strOrNum : Symbol(strOrNum, Decl(typeGuardsObjectMethods.ts, 5, 3)) @@ -58,9 +58,9 @@ var obj1 = { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsObjectMethods.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsObjectMethods.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsObjectMethods.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -69,9 +69,9 @@ var obj1 = { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsObjectMethods.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsObjectMethods.ts, 27, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsObjectMethods.ts, 27, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) return strOrNum; >strOrNum : Symbol(strOrNum, Decl(typeGuardsObjectMethods.ts, 5, 3)) @@ -85,9 +85,9 @@ var obj1 = { num = typeof var1 === "string" && var1.length; // string >num : Symbol(num, Decl(typeGuardsObjectMethods.ts, 4, 3)) >var1 : Symbol(var1, Decl(typeGuardsObjectMethods.ts, 6, 3)) ->var1.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var1.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var1 : Symbol(var1, Decl(typeGuardsObjectMethods.ts, 6, 3)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // variables in function declaration var var2: string | number; @@ -96,17 +96,17 @@ var obj1 = { num = typeof var2 === "string" && var2.length; // string >num : Symbol(num, Decl(typeGuardsObjectMethods.ts, 4, 3)) >var2 : Symbol(var2, Decl(typeGuardsObjectMethods.ts, 37, 11)) ->var2.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>var2.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >var2 : Symbol(var2, Decl(typeGuardsObjectMethods.ts, 37, 11)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) // parameters in function declaration num = typeof param === "string" && param.length; // string >num : Symbol(num, Decl(typeGuardsObjectMethods.ts, 4, 3)) >param : Symbol(param, Decl(typeGuardsObjectMethods.ts, 32, 13)) ->param.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>param.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >param : Symbol(param, Decl(typeGuardsObjectMethods.ts, 32, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } }; // return expression of the method diff --git a/tests/baselines/reference/typeGuardsOnClassProperty.symbols b/tests/baselines/reference/typeGuardsOnClassProperty.symbols index 5017c442b2f..44c30fbe6ab 100644 --- a/tests/baselines/reference/typeGuardsOnClassProperty.symbols +++ b/tests/baselines/reference/typeGuardsOnClassProperty.symbols @@ -22,9 +22,9 @@ class D { return typeof data === "string" ? data : data.join(" "); >data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 8, 11)) >data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 8, 11)) ->data.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>data.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >data : Symbol(data, Decl(typeGuardsOnClassProperty.ts, 8, 11)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } getData1() { @@ -37,11 +37,11 @@ class D { >this.data : Symbol(D.data, Decl(typeGuardsOnClassProperty.ts, 5, 9)) >this : Symbol(D, Decl(typeGuardsOnClassProperty.ts, 0, 0)) >data : Symbol(D.data, Decl(typeGuardsOnClassProperty.ts, 5, 9)) ->this.data.join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>this.data.join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) >this.data : Symbol(D.data, Decl(typeGuardsOnClassProperty.ts, 5, 9)) >this : Symbol(D, Decl(typeGuardsOnClassProperty.ts, 0, 0)) >data : Symbol(D.data, Decl(typeGuardsOnClassProperty.ts, 5, 9)) ->join : Symbol(Array.join, Decl(lib.d.ts, --, --)) +>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --)) } } @@ -66,11 +66,11 @@ if (typeof o.prop1 === "string" && o.prop1.toLowerCase()) {} >o.prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 17, 8)) >o : Symbol(o, Decl(typeGuardsOnClassProperty.ts, 17, 3)) >prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 17, 8)) ->o.prop1.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>o.prop1.toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) >o.prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 17, 8)) >o : Symbol(o, Decl(typeGuardsOnClassProperty.ts, 17, 3)) >prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 17, 8)) ->toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.es5.d.ts, --, --)) var prop1 = o.prop1; >prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 26, 3)) @@ -80,7 +80,7 @@ var prop1 = o.prop1; if (typeof prop1 === "string" && prop1.toLocaleLowerCase()) { } >prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 26, 3)) ->prop1.toLocaleLowerCase : Symbol(String.toLocaleLowerCase, Decl(lib.d.ts, --, --)) +>prop1.toLocaleLowerCase : Symbol(String.toLocaleLowerCase, Decl(lib.es5.d.ts, --, --)) >prop1 : Symbol(prop1, Decl(typeGuardsOnClassProperty.ts, 26, 3)) ->toLocaleLowerCase : Symbol(String.toLocaleLowerCase, Decl(lib.d.ts, --, --)) +>toLocaleLowerCase : Symbol(String.toLocaleLowerCase, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/typeGuardsTypeParameters.symbols b/tests/baselines/reference/typeGuardsTypeParameters.symbols index 2586d2e88d9..adbdb888503 100644 --- a/tests/baselines/reference/typeGuardsTypeParameters.symbols +++ b/tests/baselines/reference/typeGuardsTypeParameters.symbols @@ -54,9 +54,9 @@ function f2(x: T) { >x : Symbol(x, Decl(typeGuardsTypeParameters.ts, 14, 15)) x.length; ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsTypeParameters.ts, 14, 15)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } @@ -87,9 +87,9 @@ function fun(item: { [P in keyof T]: T[P] }) { >value : Symbol(value, Decl(typeGuardsTypeParameters.ts, 27, 13)) strings.push(value); ->strings.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>strings.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >strings : Symbol(strings, Decl(typeGuardsTypeParameters.ts, 25, 9)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(typeGuardsTypeParameters.ts, 27, 13)) } } diff --git a/tests/baselines/reference/typeGuardsWithAny.symbols b/tests/baselines/reference/typeGuardsWithAny.symbols index 90405d762a1..b4ce8fb4a11 100644 --- a/tests/baselines/reference/typeGuardsWithAny.symbols +++ b/tests/baselines/reference/typeGuardsWithAny.symbols @@ -5,7 +5,7 @@ var x: any = { p: 0 }; if (x instanceof Object) { >x : Symbol(x, Decl(typeGuardsWithAny.ts, 0, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x.p; // No error, type any unaffected by instanceof type guard >x : Symbol(x, Decl(typeGuardsWithAny.ts, 0, 3)) diff --git a/tests/baselines/reference/typeGuardsWithInstanceOf.symbols b/tests/baselines/reference/typeGuardsWithInstanceOf.symbols index 6d1667a6519..90be23463b9 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOf.symbols +++ b/tests/baselines/reference/typeGuardsWithInstanceOf.symbols @@ -13,14 +13,14 @@ var result2: I; if (!(result instanceof RegExp)) { >result : Symbol(result, Decl(typeGuardsWithInstanceOf.ts, 1, 3)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) result = result2; >result : Symbol(result, Decl(typeGuardsWithInstanceOf.ts, 1, 3)) >result2 : Symbol(result2, Decl(typeGuardsWithInstanceOf.ts, 2, 3)) } else if (!result.global) { ->result.global : Symbol(global, Decl(typeGuardsWithInstanceOf.ts, 0, 13), Decl(lib.d.ts, --, --)) +>result.global : Symbol(global, Decl(typeGuardsWithInstanceOf.ts, 0, 13), Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(typeGuardsWithInstanceOf.ts, 1, 3)) ->global : Symbol(global, Decl(typeGuardsWithInstanceOf.ts, 0, 13), Decl(lib.d.ts, --, --)) +>global : Symbol(global, Decl(typeGuardsWithInstanceOf.ts, 0, 13), Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.symbols b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.symbols index 7eb36de8451..7856be22491 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.symbols +++ b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.symbols @@ -480,7 +480,7 @@ var obj17: any; if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' >obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 190, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) obj17.foo1; >obj17 : Symbol(obj17, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 190, 3)) @@ -494,7 +494,7 @@ var obj18: any; if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' >obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 196, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) obj18.foo1; >obj18 : Symbol(obj18, Decl(typeGuardsWithInstanceOfByConstructorSignature.ts, 196, 3)) diff --git a/tests/baselines/reference/typeInferenceFBoundedTypeParams.symbols b/tests/baselines/reference/typeInferenceFBoundedTypeParams.symbols index f49d7b7524e..46e750e355e 100644 --- a/tests/baselines/reference/typeInferenceFBoundedTypeParams.symbols +++ b/tests/baselines/reference/typeInferenceFBoundedTypeParams.symbols @@ -43,9 +43,9 @@ function append(values: a[], value: b): a[] { >a : Symbol(a, Decl(typeInferenceFBoundedTypeParams.ts, 9, 16)) values.push(value); ->values.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>values.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >values : Symbol(values, Decl(typeInferenceFBoundedTypeParams.ts, 9, 32)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(typeInferenceFBoundedTypeParams.ts, 9, 44)) return values; diff --git a/tests/baselines/reference/typeInferenceLiteralUnion.symbols b/tests/baselines/reference/typeInferenceLiteralUnion.symbols index 011dea66f24..9ae4a067f35 100644 --- a/tests/baselines/reference/typeInferenceLiteralUnion.symbols +++ b/tests/baselines/reference/typeInferenceLiteralUnion.symbols @@ -5,7 +5,7 @@ */ export type Primitive = number | string | boolean | Date; >Primitive : Symbol(Primitive, Decl(typeInferenceLiteralUnion.ts, 0, 0)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) /** * Administrivia: anything with a valueOf(): number method is comparable, so we allow it in numeric operations @@ -51,7 +51,7 @@ export function extent(array: Array): [T | Pri >T : Symbol(T, Decl(typeInferenceLiteralUnion.ts, 28, 23)) >Numeric : Symbol(Numeric, Decl(typeInferenceLiteralUnion.ts, 4, 57)) >array : Symbol(array, Decl(typeInferenceLiteralUnion.ts, 28, 42)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(typeInferenceLiteralUnion.ts, 28, 23)) >Primitive : Symbol(Primitive, Decl(typeInferenceLiteralUnion.ts, 0, 0)) >T : Symbol(T, Decl(typeInferenceLiteralUnion.ts, 28, 23)) diff --git a/tests/baselines/reference/typeInferenceTypePredicate2.symbols b/tests/baselines/reference/typeInferenceTypePredicate2.symbols index e0fb14a710f..e235ad97b97 100644 --- a/tests/baselines/reference/typeInferenceTypePredicate2.symbols +++ b/tests/baselines/reference/typeInferenceTypePredicate2.symbols @@ -1,18 +1,18 @@ === tests/cases/compiler/typeInferenceTypePredicate2.ts === [true, true, false, null] ->[true, true, false, null] .filter((thing): thing is boolean => thing !== null) .map : Symbol(Array.map, Decl(lib.d.ts, --, --)) ->[true, true, false, null] .filter : Symbol(Array.filter, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>[true, true, false, null] .filter((thing): thing is boolean => thing !== null) .map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>[true, true, false, null] .filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) .filter((thing): thing is boolean => thing !== null) ->filter : Symbol(Array.filter, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >thing : Symbol(thing, Decl(typeInferenceTypePredicate2.ts, 1, 13)) >thing : Symbol(thing, Decl(typeInferenceTypePredicate2.ts, 1, 13)) >thing : Symbol(thing, Decl(typeInferenceTypePredicate2.ts, 1, 13)) .map(thing => thing.toString()); ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >thing : Symbol(thing, Decl(typeInferenceTypePredicate2.ts, 2, 9)) ->thing.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>thing.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >thing : Symbol(thing, Decl(typeInferenceTypePredicate2.ts, 2, 9)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/typeInferenceWithTupleType.symbols b/tests/baselines/reference/typeInferenceWithTupleType.symbols index 6f3279db8c2..040e7bed1b1 100644 --- a/tests/baselines/reference/typeInferenceWithTupleType.symbols +++ b/tests/baselines/reference/typeInferenceWithTupleType.symbols @@ -41,12 +41,12 @@ function zip(array1: T[], array2: U[]): [[T, U]] { >U : Symbol(U, Decl(typeInferenceWithTupleType.ts, 8, 15)) if (array1.length != array2.length) { ->array1.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array1.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array1 : Symbol(array1, Decl(typeInferenceWithTupleType.ts, 8, 19)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->array2.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) +>array2.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array2 : Symbol(array2, Decl(typeInferenceWithTupleType.ts, 8, 31)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) return [[undefined, undefined]]; >undefined : Symbol(undefined) @@ -54,9 +54,9 @@ function zip(array1: T[], array2: U[]): [[T, U]] { } var length = array1.length; >length : Symbol(length, Decl(typeInferenceWithTupleType.ts, 12, 7)) ->array1.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>array1.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >array1 : Symbol(array1, Decl(typeInferenceWithTupleType.ts, 8, 19)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) var zipResult: [[T, U]]; >zipResult : Symbol(zipResult, Decl(typeInferenceWithTupleType.ts, 13, 7)) @@ -70,9 +70,9 @@ function zip(array1: T[], array2: U[]): [[T, U]] { >i : Symbol(i, Decl(typeInferenceWithTupleType.ts, 14, 12)) zipResult.push([array1[i], array2[i]]); ->zipResult.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>zipResult.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >zipResult : Symbol(zipResult, Decl(typeInferenceWithTupleType.ts, 13, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >array1 : Symbol(array1, Decl(typeInferenceWithTupleType.ts, 8, 19)) >i : Symbol(i, Decl(typeInferenceWithTupleType.ts, 14, 12)) >array2 : Symbol(array2, Decl(typeInferenceWithTupleType.ts, 8, 31)) diff --git a/tests/baselines/reference/typeOfThisInInstanceMember.symbols b/tests/baselines/reference/typeOfThisInInstanceMember.symbols index a0e8a218d63..4de44252e7c 100644 --- a/tests/baselines/reference/typeOfThisInInstanceMember.symbols +++ b/tests/baselines/reference/typeOfThisInInstanceMember.symbols @@ -87,9 +87,9 @@ var rs = [r, r2, r3]; >r3 : Symbol(r3, Decl(typeOfThisInInstanceMember.ts, 23, 3)) rs.forEach(x => { ->rs.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>rs.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >rs : Symbol(rs, Decl(typeOfThisInInstanceMember.ts, 24, 3)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeOfThisInInstanceMember.ts, 26, 11)) x.foo; diff --git a/tests/baselines/reference/typeOfThisInInstanceMember2.symbols b/tests/baselines/reference/typeOfThisInInstanceMember2.symbols index a0f3f0b8eb6..97b451a62e5 100644 --- a/tests/baselines/reference/typeOfThisInInstanceMember2.symbols +++ b/tests/baselines/reference/typeOfThisInInstanceMember2.symbols @@ -101,9 +101,9 @@ var rs = [r, r2, r3]; >r3 : Symbol(r3, Decl(typeOfThisInInstanceMember2.ts, 25, 3)) rs.forEach(x => { ->rs.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>rs.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >rs : Symbol(rs, Decl(typeOfThisInInstanceMember2.ts, 27, 3)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeOfThisInInstanceMember2.ts, 29, 11)) x.foo; diff --git a/tests/baselines/reference/typeOfThisInMemberFunctions.symbols b/tests/baselines/reference/typeOfThisInMemberFunctions.symbols index c2c90ef3434..093a8da43ea 100644 --- a/tests/baselines/reference/typeOfThisInMemberFunctions.symbols +++ b/tests/baselines/reference/typeOfThisInMemberFunctions.symbols @@ -47,7 +47,7 @@ class D { class E { >E : Symbol(E, Decl(typeOfThisInMemberFunctions.ts, 19, 1)) >T : Symbol(T, Decl(typeOfThisInMemberFunctions.ts, 21, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) x: T; >x : Symbol(E.x, Decl(typeOfThisInMemberFunctions.ts, 21, 25)) diff --git a/tests/baselines/reference/typeParamExtendsOtherTypeParam.symbols b/tests/baselines/reference/typeParamExtendsOtherTypeParam.symbols index f76719737b6..69dc0879c35 100644 --- a/tests/baselines/reference/typeParamExtendsOtherTypeParam.symbols +++ b/tests/baselines/reference/typeParamExtendsOtherTypeParam.symbols @@ -8,15 +8,15 @@ class A { } class B { >B : Symbol(B, Decl(typeParamExtendsOtherTypeParam.ts, 0, 27)) >T : Symbol(T, Decl(typeParamExtendsOtherTypeParam.ts, 1, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(typeParamExtendsOtherTypeParam.ts, 1, 25)) >T : Symbol(T, Decl(typeParamExtendsOtherTypeParam.ts, 1, 8)) data: A; >data : Symbol(B.data, Decl(typeParamExtendsOtherTypeParam.ts, 1, 40)) >A : Symbol(A, Decl(typeParamExtendsOtherTypeParam.ts, 0, 0)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } // Below 2 should compile without error diff --git a/tests/baselines/reference/typeParameterAndArgumentOfSameName1.symbols b/tests/baselines/reference/typeParameterAndArgumentOfSameName1.symbols index cacd7f91dfe..680dfb3f488 100644 --- a/tests/baselines/reference/typeParameterAndArgumentOfSameName1.symbols +++ b/tests/baselines/reference/typeParameterAndArgumentOfSameName1.symbols @@ -2,16 +2,16 @@ function f(A: A): A { >f : Symbol(f, Decl(typeParameterAndArgumentOfSameName1.ts, 0, 0)) >A : Symbol(A, Decl(typeParameterAndArgumentOfSameName1.ts, 0, 11), Decl(typeParameterAndArgumentOfSameName1.ts, 0, 29)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >A : Symbol(A, Decl(typeParameterAndArgumentOfSameName1.ts, 0, 11), Decl(typeParameterAndArgumentOfSameName1.ts, 0, 29)) >A : Symbol(A, Decl(typeParameterAndArgumentOfSameName1.ts, 0, 11), Decl(typeParameterAndArgumentOfSameName1.ts, 0, 29)) >A : Symbol(A, Decl(typeParameterAndArgumentOfSameName1.ts, 0, 11), Decl(typeParameterAndArgumentOfSameName1.ts, 0, 29)) var r = A.toExponential(123); >r : Symbol(r, Decl(typeParameterAndArgumentOfSameName1.ts, 1, 7)) ->A.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>A.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) >A : Symbol(A, Decl(typeParameterAndArgumentOfSameName1.ts, 0, 11), Decl(typeParameterAndArgumentOfSameName1.ts, 0, 29)) ->toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --)) +>toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) return null; } diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.symbols b/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.symbols index aa30036b82e..561c8feac75 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.symbols +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.symbols @@ -22,7 +22,7 @@ foo(1, {}); interface NumberVariant extends Number { >NumberVariant : Symbol(NumberVariant, Decl(typeParameterAsTypeParameterConstraint2.ts, 6, 11)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x: number; >x : Symbol(NumberVariant.x, Decl(typeParameterAsTypeParameterConstraint2.ts, 8, 40)) diff --git a/tests/baselines/reference/typeParameterAssignability2.symbols b/tests/baselines/reference/typeParameterAssignability2.symbols index 0bf94533dde..bdcb27ec4cc 100644 --- a/tests/baselines/reference/typeParameterAssignability2.symbols +++ b/tests/baselines/reference/typeParameterAssignability2.symbols @@ -85,7 +85,7 @@ function foo4(t: T, u: U, v: V) { >U : Symbol(U, Decl(typeParameterAssignability2.ts, 23, 26)) >V : Symbol(V, Decl(typeParameterAssignability2.ts, 23, 39)) >V : Symbol(V, Decl(typeParameterAssignability2.ts, 23, 39)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >t : Symbol(t, Decl(typeParameterAssignability2.ts, 23, 56)) >T : Symbol(T, Decl(typeParameterAssignability2.ts, 23, 14)) >u : Symbol(u, Decl(typeParameterAssignability2.ts, 23, 61)) @@ -103,7 +103,7 @@ function foo4(t: T, u: U, v: V) { t = new Date(); // error >t : Symbol(t, Decl(typeParameterAssignability2.ts, 23, 56)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) u = t; >u : Symbol(u, Decl(typeParameterAssignability2.ts, 23, 61)) @@ -115,7 +115,7 @@ function foo4(t: T, u: U, v: V) { u = new Date(); // error >u : Symbol(u, Decl(typeParameterAssignability2.ts, 23, 61)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) v = t; >v : Symbol(v, Decl(typeParameterAssignability2.ts, 23, 67)) @@ -127,11 +127,11 @@ function foo4(t: T, u: U, v: V) { v = new Date(); // ok >v : Symbol(v, Decl(typeParameterAssignability2.ts, 23, 67)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var d: Date; >d : Symbol(d, Decl(typeParameterAssignability2.ts, 36, 7)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) d = t; // ok >d : Symbol(d, Decl(typeParameterAssignability2.ts, 36, 7)) @@ -150,7 +150,7 @@ function foo4(t: T, u: U, v: V) { function foo5(t: T, u: U, v: V) { >foo5 : Symbol(foo5, Decl(typeParameterAssignability2.ts, 40, 1)) >V : Symbol(V, Decl(typeParameterAssignability2.ts, 43, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >U : Symbol(U, Decl(typeParameterAssignability2.ts, 43, 29)) >V : Symbol(V, Decl(typeParameterAssignability2.ts, 43, 14)) >T : Symbol(T, Decl(typeParameterAssignability2.ts, 43, 42)) @@ -172,7 +172,7 @@ function foo5(t: T, u: U, v: V) { t = new Date(); // error >t : Symbol(t, Decl(typeParameterAssignability2.ts, 43, 56)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) u = t; >u : Symbol(u, Decl(typeParameterAssignability2.ts, 43, 61)) @@ -184,7 +184,7 @@ function foo5(t: T, u: U, v: V) { u = new Date(); // error >u : Symbol(u, Decl(typeParameterAssignability2.ts, 43, 61)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) v = t; >v : Symbol(v, Decl(typeParameterAssignability2.ts, 43, 67)) @@ -196,11 +196,11 @@ function foo5(t: T, u: U, v: V) { v = new Date(); // ok >v : Symbol(v, Decl(typeParameterAssignability2.ts, 43, 67)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var d: Date; >d : Symbol(d, Decl(typeParameterAssignability2.ts, 56, 7)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) d = t; // ok >d : Symbol(d, Decl(typeParameterAssignability2.ts, 56, 7)) diff --git a/tests/baselines/reference/typeParameterConstraints1.symbols b/tests/baselines/reference/typeParameterConstraints1.symbols index 5d724139442..33180a568ce 100644 --- a/tests/baselines/reference/typeParameterConstraints1.symbols +++ b/tests/baselines/reference/typeParameterConstraints1.symbols @@ -20,14 +20,14 @@ function foo3(test: T) { } function foo4(test: T) { } // valid >foo4 : Symbol(foo4, Decl(typeParameterConstraints1.ts, 2, 44)) >T : Symbol(T, Decl(typeParameterConstraints1.ts, 3, 14)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >test : Symbol(test, Decl(typeParameterConstraints1.ts, 3, 30)) >T : Symbol(T, Decl(typeParameterConstraints1.ts, 3, 14)) function foo5(test: T) { } // valid >foo5 : Symbol(foo5, Decl(typeParameterConstraints1.ts, 3, 42)) >T : Symbol(T, Decl(typeParameterConstraints1.ts, 4, 14)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >test : Symbol(test, Decl(typeParameterConstraints1.ts, 4, 32)) >T : Symbol(T, Decl(typeParameterConstraints1.ts, 4, 14)) @@ -40,7 +40,7 @@ function foo6(test: T) { } function foo7(test: T) { } // valid >foo7 : Symbol(foo7, Decl(typeParameterConstraints1.ts, 5, 40)) >T : Symbol(T, Decl(typeParameterConstraints1.ts, 6, 14)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >test : Symbol(test, Decl(typeParameterConstraints1.ts, 6, 32)) >T : Symbol(T, Decl(typeParameterConstraints1.ts, 6, 14)) diff --git a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.symbols b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.symbols index 416e77ba2b8..96ea15df174 100644 --- a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.symbols +++ b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.symbols @@ -11,9 +11,9 @@ function fee() { >t : Symbol(t, Decl(typeParameterExplicitlyExtendsAny.ts, 1, 7)) t.toString; // ok ->t.toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>t.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >t : Symbol(t, Decl(typeParameterExplicitlyExtendsAny.ts, 1, 7)) ->toString : Symbol(Object.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) } function fee2() { diff --git a/tests/baselines/reference/typeParameterExtendsPrimitive.symbols b/tests/baselines/reference/typeParameterExtendsPrimitive.symbols index 45e7cbfcad1..967525bf2b2 100644 --- a/tests/baselines/reference/typeParameterExtendsPrimitive.symbols +++ b/tests/baselines/reference/typeParameterExtendsPrimitive.symbols @@ -57,7 +57,7 @@ function g(i: IdMap) { function h, K extends string>(array: T[], prop: K): number { >h : Symbol(h, Decl(typeParameterExtendsPrimitive.ts, 15, 1)) >T : Symbol(T, Decl(typeParameterExtendsPrimitive.ts, 18, 11)) ->Record : Symbol(Record, Decl(lib.d.ts, --, --)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) >K : Symbol(K, Decl(typeParameterExtendsPrimitive.ts, 18, 39)) >K : Symbol(K, Decl(typeParameterExtendsPrimitive.ts, 18, 39)) >array : Symbol(array, Decl(typeParameterExtendsPrimitive.ts, 18, 58)) diff --git a/tests/baselines/reference/typeParameterUsedAsConstraint.symbols b/tests/baselines/reference/typeParameterUsedAsConstraint.symbols index 17a1d454e50..9aec0ecf4a2 100644 --- a/tests/baselines/reference/typeParameterUsedAsConstraint.symbols +++ b/tests/baselines/reference/typeParameterUsedAsConstraint.symbols @@ -14,7 +14,7 @@ class C2 { } class C3 { } >C3 : Symbol(C3, Decl(typeParameterUsedAsConstraint.ts, 1, 28)) >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 2, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 2, 24)) >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 2, 9)) @@ -23,7 +23,7 @@ class C4 { } >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 3, 9)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 3, 21)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 3, 21)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) class C5 { } >C5 : Symbol(C5, Decl(typeParameterUsedAsConstraint.ts, 3, 41)) @@ -56,7 +56,7 @@ interface I2 { } interface I3 { } >I3 : Symbol(I3, Decl(typeParameterUsedAsConstraint.ts, 8, 32)) >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 9, 13)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 9, 28)) >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 9, 13)) @@ -65,7 +65,7 @@ interface I4 { } >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 10, 13)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 10, 25)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 10, 25)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) interface I5 { } >I5 : Symbol(I5, Decl(typeParameterUsedAsConstraint.ts, 10, 45)) @@ -98,7 +98,7 @@ function f2() { } function f3() { } >f3 : Symbol(f3, Decl(typeParameterUsedAsConstraint.ts, 15, 33)) >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 16, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 16, 27)) >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 16, 12)) @@ -107,7 +107,7 @@ function f4() { } >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 17, 12)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 17, 24)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 17, 24)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) function f5() { } >f5 : Symbol(f5, Decl(typeParameterUsedAsConstraint.ts, 17, 46)) @@ -140,7 +140,7 @@ var e2 = () => { } var e3 = () => { } >e3 : Symbol(e3, Decl(typeParameterUsedAsConstraint.ts, 23, 3)) >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 23, 10)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 23, 25)) >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 23, 10)) @@ -149,7 +149,7 @@ var e4 = () => { } >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 24, 10)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 24, 22)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 24, 22)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var e5 = () => { } >e5 : Symbol(e5, Decl(typeParameterUsedAsConstraint.ts, 25, 3)) @@ -182,7 +182,7 @@ var a2: { (): void } var a3: { (): void } >a3 : Symbol(a3, Decl(typeParameterUsedAsConstraint.ts, 30, 3)) >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 30, 11)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 30, 26)) >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 30, 11)) @@ -191,7 +191,7 @@ var a4: { (): void } >T : Symbol(T, Decl(typeParameterUsedAsConstraint.ts, 31, 11)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 31, 23)) >U : Symbol(U, Decl(typeParameterUsedAsConstraint.ts, 31, 23)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var a5: { (): void } >a5 : Symbol(a5, Decl(typeParameterUsedAsConstraint.ts, 32, 3)) diff --git a/tests/baselines/reference/typeParametersAreIdenticalToThemselves.symbols b/tests/baselines/reference/typeParametersAreIdenticalToThemselves.symbols index 23eb6ed8c5f..7878a1fd17c 100644 --- a/tests/baselines/reference/typeParametersAreIdenticalToThemselves.symbols +++ b/tests/baselines/reference/typeParametersAreIdenticalToThemselves.symbols @@ -144,21 +144,21 @@ class C { foo4(x: T); >foo4 : Symbol(C.foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 31, 21), Decl(typeParametersAreIdenticalToThemselves.ts, 33, 31), Decl(typeParametersAreIdenticalToThemselves.ts, 34, 31)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 33, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 33, 25)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 33, 9)) foo4(x: T); // no error, different declaration for each T >foo4 : Symbol(C.foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 31, 21), Decl(typeParametersAreIdenticalToThemselves.ts, 33, 31), Decl(typeParametersAreIdenticalToThemselves.ts, 34, 31)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 34, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 34, 25)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 34, 9)) foo4(x: T) { } >foo4 : Symbol(C.foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 31, 21), Decl(typeParametersAreIdenticalToThemselves.ts, 33, 31), Decl(typeParametersAreIdenticalToThemselves.ts, 34, 31)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 35, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 35, 25)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 35, 9)) } @@ -166,7 +166,7 @@ class C { class C2 { >C2 : Symbol(C2, Decl(typeParametersAreIdenticalToThemselves.ts, 36, 1)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo1(x: T); >foo1 : Symbol(C2.foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 38, 26), Decl(typeParametersAreIdenticalToThemselves.ts, 39, 15), Decl(typeParametersAreIdenticalToThemselves.ts, 40, 15)) @@ -271,14 +271,14 @@ interface I { foo4(x: T); >foo4 : Symbol(I.foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 60, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 62, 31)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 62, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 62, 25)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 62, 9)) foo4(x: T); // no error, different declaration for each T >foo4 : Symbol(I.foo4, Decl(typeParametersAreIdenticalToThemselves.ts, 60, 18), Decl(typeParametersAreIdenticalToThemselves.ts, 62, 31)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 63, 9)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(typeParametersAreIdenticalToThemselves.ts, 63, 25)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 63, 9)) } @@ -286,7 +286,7 @@ interface I { interface I2 { >I2 : Symbol(I2, Decl(typeParametersAreIdenticalToThemselves.ts, 64, 1)) >T : Symbol(T, Decl(typeParametersAreIdenticalToThemselves.ts, 66, 13)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo1(x: T); >foo1 : Symbol(I2.foo1, Decl(typeParametersAreIdenticalToThemselves.ts, 66, 30), Decl(typeParametersAreIdenticalToThemselves.ts, 67, 15)) diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual.symbols b/tests/baselines/reference/typeParametersShouldNotBeEqual.symbols index e45e9963d93..0fb05bebbdf 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual.symbols +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual.symbols @@ -10,7 +10,7 @@ function ff(x: T, y: U) { var z: Object; >z : Symbol(z, Decl(typeParametersShouldNotBeEqual.ts, 1, 7)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = x; // Ok >x : Symbol(x, Decl(typeParametersShouldNotBeEqual.ts, 0, 18)) diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual2.symbols b/tests/baselines/reference/typeParametersShouldNotBeEqual2.symbols index b87249e2a5d..eedcfd29aa6 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual2.symbols +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual2.symbols @@ -2,9 +2,9 @@ function ff(x: T, y: U, z: V) { >ff : Symbol(ff, Decl(typeParametersShouldNotBeEqual2.ts, 0, 0)) >T : Symbol(T, Decl(typeParametersShouldNotBeEqual2.ts, 0, 12)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >U : Symbol(U, Decl(typeParametersShouldNotBeEqual2.ts, 0, 27)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >V : Symbol(V, Decl(typeParametersShouldNotBeEqual2.ts, 0, 43)) >x : Symbol(x, Decl(typeParametersShouldNotBeEqual2.ts, 0, 47)) >T : Symbol(T, Decl(typeParametersShouldNotBeEqual2.ts, 0, 12)) @@ -15,7 +15,7 @@ function ff(x: T, y: U, z: V) { var zz: Object; >zz : Symbol(zz, Decl(typeParametersShouldNotBeEqual2.ts, 1, 7)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = x; // Ok >x : Symbol(x, Decl(typeParametersShouldNotBeEqual2.ts, 0, 47)) diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual3.symbols b/tests/baselines/reference/typeParametersShouldNotBeEqual3.symbols index 9ae7c5f7801..80802cb3bb8 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual3.symbols +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual3.symbols @@ -2,9 +2,9 @@ function ff(x: T, y: U) { >ff : Symbol(ff, Decl(typeParametersShouldNotBeEqual3.ts, 0, 0)) >T : Symbol(T, Decl(typeParametersShouldNotBeEqual3.ts, 0, 12)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >U : Symbol(U, Decl(typeParametersShouldNotBeEqual3.ts, 0, 29)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeParametersShouldNotBeEqual3.ts, 0, 48)) >T : Symbol(T, Decl(typeParametersShouldNotBeEqual3.ts, 0, 12)) >y : Symbol(y, Decl(typeParametersShouldNotBeEqual3.ts, 0, 53)) @@ -12,7 +12,7 @@ function ff(x: T, y: U) { var z: Object; >z : Symbol(z, Decl(typeParametersShouldNotBeEqual3.ts, 1, 7)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = x; // Ok >x : Symbol(x, Decl(typeParametersShouldNotBeEqual3.ts, 0, 48)) diff --git a/tests/baselines/reference/typePredicateStructuralMatch.symbols b/tests/baselines/reference/typePredicateStructuralMatch.symbols index 59d548d4bfc..5e4826ebbf2 100644 --- a/tests/baselines/reference/typePredicateStructuralMatch.symbols +++ b/tests/baselines/reference/typePredicateStructuralMatch.symbols @@ -35,9 +35,9 @@ function isResponseInData(value: T | { data: T}): value is { data: T } { >T : Symbol(T, Decl(typePredicateStructuralMatch.ts, 11, 26)) return value.hasOwnProperty('data'); ->value.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>value.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(typePredicateStructuralMatch.ts, 11, 29)) ->hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) } function getResults1(value: Results | { data: Results }): Results { @@ -68,9 +68,9 @@ function isPlainResponse(value: T | { data: T}): value is T { >T : Symbol(T, Decl(typePredicateStructuralMatch.ts, 19, 25)) return !value.hasOwnProperty('data'); ->value.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>value.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(typePredicateStructuralMatch.ts, 19, 28)) ->hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) } function getResults2(value: Results | { data: Results }): Results { diff --git a/tests/baselines/reference/typeVariableTypeGuards.symbols b/tests/baselines/reference/typeVariableTypeGuards.symbols index 5a91e712e1e..ded3e17d2d6 100644 --- a/tests/baselines/reference/typeVariableTypeGuards.symbols +++ b/tests/baselines/reference/typeVariableTypeGuards.symbols @@ -11,12 +11,12 @@ interface Foo { class A

> { >A : Symbol(A, Decl(typeVariableTypeGuards.ts, 4, 1)) >P : Symbol(P, Decl(typeVariableTypeGuards.ts, 6, 8)) ->Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) >Foo : Symbol(Foo, Decl(typeVariableTypeGuards.ts, 0, 0)) constructor(public props: Readonly

) {} >props : Symbol(A.props, Decl(typeVariableTypeGuards.ts, 7, 16)) ->Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) >P : Symbol(P, Decl(typeVariableTypeGuards.ts, 6, 8)) doSomething() { @@ -193,10 +193,10 @@ function f4(obj: T | undefined, x: number) { >obj : Symbol(obj, Decl(typeVariableTypeGuards.ts, 70, 44)) obj[x].length; ->obj[x].length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>obj[x].length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(typeVariableTypeGuards.ts, 70, 44)) >x : Symbol(x, Decl(typeVariableTypeGuards.ts, 70, 63)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/typedArrays.symbols b/tests/baselines/reference/typedArrays.symbols index 7bc6cecf543..656609a0499 100644 --- a/tests/baselines/reference/typedArrays.symbols +++ b/tests/baselines/reference/typedArrays.symbols @@ -7,39 +7,39 @@ function CreateTypedArrayTypes() { typedArrays[0] = Int8Array; >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 1, 7)) ->Int8Array : Symbol(Int8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int8Array : Symbol(Int8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) typedArrays[1] = Uint8Array; >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 1, 7)) ->Uint8Array : Symbol(Uint8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) typedArrays[2] = Int16Array; >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 1, 7)) ->Int16Array : Symbol(Int16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int16Array : Symbol(Int16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) typedArrays[3] = Uint16Array; >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 1, 7)) ->Uint16Array : Symbol(Uint16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint16Array : Symbol(Uint16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) typedArrays[4] = Int32Array; >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 1, 7)) ->Int32Array : Symbol(Int32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int32Array : Symbol(Int32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) typedArrays[5] = Uint32Array; >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 1, 7)) ->Uint32Array : Symbol(Uint32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint32Array : Symbol(Uint32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) typedArrays[6] = Float32Array; >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 1, 7)) ->Float32Array : Symbol(Float32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) typedArrays[7] = Float64Array; >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 1, 7)) ->Float64Array : Symbol(Float64Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float64Array : Symbol(Float64Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) typedArrays[8] = Uint8ClampedArray; >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 1, 7)) ->Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) return typedArrays; >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 1, 7)) @@ -54,47 +54,47 @@ function CreateTypedArrayInstancesFromLength(obj: number) { typedArrays[0] = new Int8Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 16, 7)) ->Int8Array : Symbol(Int8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int8Array : Symbol(Int8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 15, 45)) typedArrays[1] = new Uint8Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 16, 7)) ->Uint8Array : Symbol(Uint8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 15, 45)) typedArrays[2] = new Int16Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 16, 7)) ->Int16Array : Symbol(Int16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int16Array : Symbol(Int16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 15, 45)) typedArrays[3] = new Uint16Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 16, 7)) ->Uint16Array : Symbol(Uint16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint16Array : Symbol(Uint16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 15, 45)) typedArrays[4] = new Int32Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 16, 7)) ->Int32Array : Symbol(Int32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int32Array : Symbol(Int32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 15, 45)) typedArrays[5] = new Uint32Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 16, 7)) ->Uint32Array : Symbol(Uint32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint32Array : Symbol(Uint32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 15, 45)) typedArrays[6] = new Float32Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 16, 7)) ->Float32Array : Symbol(Float32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 15, 45)) typedArrays[7] = new Float64Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 16, 7)) ->Float64Array : Symbol(Float64Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float64Array : Symbol(Float64Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 15, 45)) typedArrays[8] = new Uint8ClampedArray(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 16, 7)) ->Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 15, 45)) return typedArrays; @@ -110,47 +110,47 @@ function CreateTypedArrayInstancesFromArray(obj: number[]) { typedArrays[0] = new Int8Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 31, 7)) ->Int8Array : Symbol(Int8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int8Array : Symbol(Int8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 30, 44)) typedArrays[1] = new Uint8Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 31, 7)) ->Uint8Array : Symbol(Uint8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 30, 44)) typedArrays[2] = new Int16Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 31, 7)) ->Int16Array : Symbol(Int16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int16Array : Symbol(Int16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 30, 44)) typedArrays[3] = new Uint16Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 31, 7)) ->Uint16Array : Symbol(Uint16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint16Array : Symbol(Uint16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 30, 44)) typedArrays[4] = new Int32Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 31, 7)) ->Int32Array : Symbol(Int32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int32Array : Symbol(Int32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 30, 44)) typedArrays[5] = new Uint32Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 31, 7)) ->Uint32Array : Symbol(Uint32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint32Array : Symbol(Uint32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 30, 44)) typedArrays[6] = new Float32Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 31, 7)) ->Float32Array : Symbol(Float32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 30, 44)) typedArrays[7] = new Float64Array(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 31, 7)) ->Float64Array : Symbol(Float64Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float64Array : Symbol(Float64Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 30, 44)) typedArrays[8] = new Uint8ClampedArray(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 31, 7)) ->Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 30, 44)) return typedArrays; @@ -166,65 +166,65 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { typedArrays[0] = Int8Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 46, 7)) ->Int8Array.from : Symbol(Int8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Int8Array : Symbol(Int8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Int8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int8Array.from : Symbol(Int8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Int8Array : Symbol(Int8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Int8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 45, 44)) typedArrays[1] = Uint8Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 46, 7)) ->Uint8Array.from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint8Array : Symbol(Uint8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8Array.from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 45, 44)) typedArrays[2] = Int16Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 46, 7)) ->Int16Array.from : Symbol(Int16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Int16Array : Symbol(Int16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Int16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int16Array.from : Symbol(Int16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Int16Array : Symbol(Int16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Int16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 45, 44)) typedArrays[3] = Uint16Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 46, 7)) ->Uint16Array.from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint16Array : Symbol(Uint16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint16Array.from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint16Array : Symbol(Uint16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 45, 44)) typedArrays[4] = Int32Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 46, 7)) ->Int32Array.from : Symbol(Int32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Int32Array : Symbol(Int32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Int32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int32Array.from : Symbol(Int32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Int32Array : Symbol(Int32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Int32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 45, 44)) typedArrays[5] = Uint32Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 46, 7)) ->Uint32Array.from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint32Array : Symbol(Uint32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint32Array.from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint32Array : Symbol(Uint32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 45, 44)) typedArrays[6] = Float32Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 46, 7)) ->Float32Array.from : Symbol(Float32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Float32Array : Symbol(Float32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Float32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float32Array.from : Symbol(Float32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Float32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 45, 44)) typedArrays[7] = Float64Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 46, 7)) ->Float64Array.from : Symbol(Float64ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Float64Array : Symbol(Float64Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Float64ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float64Array.from : Symbol(Float64ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Float64Array : Symbol(Float64Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Float64ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 45, 44)) typedArrays[8] = Uint8ClampedArray.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 46, 7)) ->Uint8ClampedArray.from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8ClampedArray.from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 45, 44)) return typedArrays; @@ -234,72 +234,72 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >CreateIntegerTypedArraysFromArrayLike : Symbol(CreateIntegerTypedArraysFromArrayLike, Decl(typedArrays.ts, 58, 1)) >obj : Symbol(obj, Decl(typedArrays.ts, 60, 47)) ->ArrayLike : Symbol(ArrayLike, Decl(lib.es6.d.ts, --, --)) +>ArrayLike : Symbol(ArrayLike, Decl(lib.es5.d.ts, --, --)) var typedArrays = []; >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 61, 7)) typedArrays[0] = Int8Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 61, 7)) ->Int8Array.from : Symbol(Int8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Int8Array : Symbol(Int8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Int8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int8Array.from : Symbol(Int8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Int8Array : Symbol(Int8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Int8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 60, 47)) typedArrays[1] = Uint8Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 61, 7)) ->Uint8Array.from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint8Array : Symbol(Uint8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8Array.from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 60, 47)) typedArrays[2] = Int16Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 61, 7)) ->Int16Array.from : Symbol(Int16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Int16Array : Symbol(Int16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Int16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int16Array.from : Symbol(Int16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Int16Array : Symbol(Int16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Int16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 60, 47)) typedArrays[3] = Uint16Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 61, 7)) ->Uint16Array.from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint16Array : Symbol(Uint16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint16Array.from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint16Array : Symbol(Uint16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 60, 47)) typedArrays[4] = Int32Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 61, 7)) ->Int32Array.from : Symbol(Int32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Int32Array : Symbol(Int32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Int32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int32Array.from : Symbol(Int32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Int32Array : Symbol(Int32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Int32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 60, 47)) typedArrays[5] = Uint32Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 61, 7)) ->Uint32Array.from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint32Array : Symbol(Uint32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint32Array.from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint32Array : Symbol(Uint32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 60, 47)) typedArrays[6] = Float32Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 61, 7)) ->Float32Array.from : Symbol(Float32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Float32Array : Symbol(Float32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Float32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float32Array.from : Symbol(Float32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Float32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 60, 47)) typedArrays[7] = Float64Array.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 61, 7)) ->Float64Array.from : Symbol(Float64ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Float64Array : Symbol(Float64Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Float64ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float64Array.from : Symbol(Float64ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Float64Array : Symbol(Float64Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Float64ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 60, 47)) typedArrays[8] = Uint8ClampedArray.from(obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 61, 7)) ->Uint8ClampedArray.from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8ClampedArray.from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 60, 47)) return typedArrays; @@ -315,65 +315,65 @@ function CreateTypedArraysOf(obj) { typedArrays[0] = Int8Array.of(...obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 76, 7)) ->Int8Array.of : Symbol(Int8ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Int8Array : Symbol(Int8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Int8ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Int8Array.of : Symbol(Int8ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Int8Array : Symbol(Int8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Int8ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 75, 29)) typedArrays[1] = Uint8Array.of(...obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 76, 7)) ->Uint8Array.of : Symbol(Uint8ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Uint8Array : Symbol(Uint8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Uint8ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Uint8Array.of : Symbol(Uint8ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Uint8ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 75, 29)) typedArrays[2] = Int16Array.of(...obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 76, 7)) ->Int16Array.of : Symbol(Int16ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Int16Array : Symbol(Int16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Int16ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Int16Array.of : Symbol(Int16ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Int16Array : Symbol(Int16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Int16ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 75, 29)) typedArrays[3] = Uint16Array.of(...obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 76, 7)) ->Uint16Array.of : Symbol(Uint16ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Uint16Array : Symbol(Uint16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Uint16ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Uint16Array.of : Symbol(Uint16ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Uint16Array : Symbol(Uint16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Uint16ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 75, 29)) typedArrays[4] = Int32Array.of(...obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 76, 7)) ->Int32Array.of : Symbol(Int32ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Int32Array : Symbol(Int32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Int32ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Int32Array.of : Symbol(Int32ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Int32Array : Symbol(Int32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Int32ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 75, 29)) typedArrays[5] = Uint32Array.of(...obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 76, 7)) ->Uint32Array.of : Symbol(Uint32ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Uint32Array : Symbol(Uint32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Uint32ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Uint32Array.of : Symbol(Uint32ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Uint32Array : Symbol(Uint32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Uint32ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 75, 29)) typedArrays[6] = Float32Array.of(...obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 76, 7)) ->Float32Array.of : Symbol(Float32ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Float32Array : Symbol(Float32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Float32ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Float32Array.of : Symbol(Float32ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Float32ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 75, 29)) typedArrays[7] = Float64Array.of(...obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 76, 7)) ->Float64Array.of : Symbol(Float64ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Float64Array : Symbol(Float64Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Float64ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Float64Array.of : Symbol(Float64ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Float64Array : Symbol(Float64Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Float64ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 75, 29)) typedArrays[8] = Uint8ClampedArray.of(...obj); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 76, 7)) ->Uint8ClampedArray.of : Symbol(Uint8ClampedArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Uint8ClampedArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Uint8ClampedArray.of : Symbol(Uint8ClampedArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Uint8ClampedArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 75, 29)) return typedArrays; @@ -388,57 +388,57 @@ function CreateTypedArraysOf2() { typedArrays[0] = Int8Array.of(1,2,3,4); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 91, 7)) ->Int8Array.of : Symbol(Int8ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Int8Array : Symbol(Int8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Int8ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Int8Array.of : Symbol(Int8ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Int8Array : Symbol(Int8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Int8ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) typedArrays[1] = Uint8Array.of(1,2,3,4); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 91, 7)) ->Uint8Array.of : Symbol(Uint8ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Uint8Array : Symbol(Uint8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Uint8ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Uint8Array.of : Symbol(Uint8ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Uint8ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) typedArrays[2] = Int16Array.of(1,2,3,4); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 91, 7)) ->Int16Array.of : Symbol(Int16ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Int16Array : Symbol(Int16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Int16ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Int16Array.of : Symbol(Int16ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Int16Array : Symbol(Int16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Int16ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) typedArrays[3] = Uint16Array.of(1,2,3,4); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 91, 7)) ->Uint16Array.of : Symbol(Uint16ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Uint16Array : Symbol(Uint16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Uint16ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Uint16Array.of : Symbol(Uint16ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Uint16Array : Symbol(Uint16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Uint16ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) typedArrays[4] = Int32Array.of(1,2,3,4); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 91, 7)) ->Int32Array.of : Symbol(Int32ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Int32Array : Symbol(Int32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Int32ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Int32Array.of : Symbol(Int32ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Int32Array : Symbol(Int32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Int32ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) typedArrays[5] = Uint32Array.of(1,2,3,4); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 91, 7)) ->Uint32Array.of : Symbol(Uint32ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Uint32Array : Symbol(Uint32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Uint32ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Uint32Array.of : Symbol(Uint32ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Uint32Array : Symbol(Uint32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Uint32ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) typedArrays[6] = Float32Array.of(1,2,3,4); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 91, 7)) ->Float32Array.of : Symbol(Float32ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Float32Array : Symbol(Float32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Float32ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Float32Array.of : Symbol(Float32ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Float32ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) typedArrays[7] = Float64Array.of(1,2,3,4); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 91, 7)) ->Float64Array.of : Symbol(Float64ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Float64Array : Symbol(Float64Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Float64ArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Float64Array.of : Symbol(Float64ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Float64Array : Symbol(Float64Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Float64ArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) typedArrays[8] = Uint8ClampedArray.of(1,2,3,4); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 91, 7)) ->Uint8ClampedArray.of : Symbol(Uint8ClampedArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) ->Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->of : Symbol(Uint8ClampedArrayConstructor.of, Decl(lib.es6.d.ts, --, --)) +>Uint8ClampedArray.of : Symbol(Uint8ClampedArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) +>Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>of : Symbol(Uint8ClampedArrayConstructor.of, Decl(lib.es5.d.ts, --, --)) return typedArrays; >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 91, 7)) @@ -447,7 +447,7 @@ function CreateTypedArraysOf2() { function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:number)=> number) { >CreateTypedArraysFromMapFn : Symbol(CreateTypedArraysFromMapFn, Decl(typedArrays.ts, 103, 1)) >obj : Symbol(obj, Decl(typedArrays.ts, 105, 36)) ->ArrayLike : Symbol(ArrayLike, Decl(lib.es6.d.ts, --, --)) +>ArrayLike : Symbol(ArrayLike, Decl(lib.es5.d.ts, --, --)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 105, 58)) >n : Symbol(n, Decl(typedArrays.ts, 105, 67)) >v : Symbol(v, Decl(typedArrays.ts, 105, 76)) @@ -457,73 +457,73 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n typedArrays[0] = Int8Array.from(obj, mapFn); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 106, 7)) ->Int8Array.from : Symbol(Int8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Int8Array : Symbol(Int8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Int8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int8Array.from : Symbol(Int8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Int8Array : Symbol(Int8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Int8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 105, 36)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 105, 58)) typedArrays[1] = Uint8Array.from(obj, mapFn); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 106, 7)) ->Uint8Array.from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint8Array : Symbol(Uint8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8Array.from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 105, 36)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 105, 58)) typedArrays[2] = Int16Array.from(obj, mapFn); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 106, 7)) ->Int16Array.from : Symbol(Int16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Int16Array : Symbol(Int16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Int16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int16Array.from : Symbol(Int16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Int16Array : Symbol(Int16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Int16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 105, 36)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 105, 58)) typedArrays[3] = Uint16Array.from(obj, mapFn); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 106, 7)) ->Uint16Array.from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint16Array : Symbol(Uint16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint16Array.from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint16Array : Symbol(Uint16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 105, 36)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 105, 58)) typedArrays[4] = Int32Array.from(obj, mapFn); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 106, 7)) ->Int32Array.from : Symbol(Int32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Int32Array : Symbol(Int32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Int32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int32Array.from : Symbol(Int32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Int32Array : Symbol(Int32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Int32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 105, 36)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 105, 58)) typedArrays[5] = Uint32Array.from(obj, mapFn); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 106, 7)) ->Uint32Array.from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint32Array : Symbol(Uint32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint32Array.from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint32Array : Symbol(Uint32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 105, 36)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 105, 58)) typedArrays[6] = Float32Array.from(obj, mapFn); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 106, 7)) ->Float32Array.from : Symbol(Float32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Float32Array : Symbol(Float32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Float32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float32Array.from : Symbol(Float32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Float32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 105, 36)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 105, 58)) typedArrays[7] = Float64Array.from(obj, mapFn); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 106, 7)) ->Float64Array.from : Symbol(Float64ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Float64Array : Symbol(Float64Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Float64ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float64Array.from : Symbol(Float64ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Float64Array : Symbol(Float64Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Float64ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 105, 36)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 105, 58)) typedArrays[8] = Uint8ClampedArray.from(obj, mapFn); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 106, 7)) ->Uint8ClampedArray.from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8ClampedArray.from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 105, 36)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 105, 58)) @@ -534,7 +534,7 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v:number)=> number, thisArg: {}) { >CreateTypedArraysFromThisObj : Symbol(CreateTypedArraysFromThisObj, Decl(typedArrays.ts, 118, 1)) >obj : Symbol(obj, Decl(typedArrays.ts, 120, 38)) ->ArrayLike : Symbol(ArrayLike, Decl(lib.es6.d.ts, --, --)) +>ArrayLike : Symbol(ArrayLike, Decl(lib.es5.d.ts, --, --)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 120, 60)) >n : Symbol(n, Decl(typedArrays.ts, 120, 69)) >v : Symbol(v, Decl(typedArrays.ts, 120, 78)) @@ -545,81 +545,81 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v typedArrays[0] = Int8Array.from(obj, mapFn, thisArg); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 121, 7)) ->Int8Array.from : Symbol(Int8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Int8Array : Symbol(Int8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Int8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int8Array.from : Symbol(Int8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Int8Array : Symbol(Int8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Int8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 120, 38)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 120, 60)) >thisArg : Symbol(thisArg, Decl(typedArrays.ts, 120, 98)) typedArrays[1] = Uint8Array.from(obj, mapFn, thisArg); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 121, 7)) ->Uint8Array.from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint8Array : Symbol(Uint8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8Array.from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint8ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 120, 38)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 120, 60)) >thisArg : Symbol(thisArg, Decl(typedArrays.ts, 120, 98)) typedArrays[2] = Int16Array.from(obj, mapFn, thisArg); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 121, 7)) ->Int16Array.from : Symbol(Int16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Int16Array : Symbol(Int16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Int16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int16Array.from : Symbol(Int16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Int16Array : Symbol(Int16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Int16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 120, 38)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 120, 60)) >thisArg : Symbol(thisArg, Decl(typedArrays.ts, 120, 98)) typedArrays[3] = Uint16Array.from(obj, mapFn, thisArg); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 121, 7)) ->Uint16Array.from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint16Array : Symbol(Uint16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint16Array.from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint16Array : Symbol(Uint16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint16ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 120, 38)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 120, 60)) >thisArg : Symbol(thisArg, Decl(typedArrays.ts, 120, 98)) typedArrays[4] = Int32Array.from(obj, mapFn, thisArg); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 121, 7)) ->Int32Array.from : Symbol(Int32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Int32Array : Symbol(Int32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Int32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int32Array.from : Symbol(Int32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Int32Array : Symbol(Int32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Int32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 120, 38)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 120, 60)) >thisArg : Symbol(thisArg, Decl(typedArrays.ts, 120, 98)) typedArrays[5] = Uint32Array.from(obj, mapFn, thisArg); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 121, 7)) ->Uint32Array.from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint32Array : Symbol(Uint32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint32Array.from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint32Array : Symbol(Uint32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 120, 38)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 120, 60)) >thisArg : Symbol(thisArg, Decl(typedArrays.ts, 120, 98)) typedArrays[6] = Float32Array.from(obj, mapFn, thisArg); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 121, 7)) ->Float32Array.from : Symbol(Float32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Float32Array : Symbol(Float32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Float32ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float32Array.from : Symbol(Float32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Float32ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 120, 38)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 120, 60)) >thisArg : Symbol(thisArg, Decl(typedArrays.ts, 120, 98)) typedArrays[7] = Float64Array.from(obj, mapFn, thisArg); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 121, 7)) ->Float64Array.from : Symbol(Float64ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Float64Array : Symbol(Float64Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Float64ArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float64Array.from : Symbol(Float64ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Float64Array : Symbol(Float64Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Float64ArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 120, 38)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 120, 60)) >thisArg : Symbol(thisArg, Decl(typedArrays.ts, 120, 98)) typedArrays[8] = Uint8ClampedArray.from(obj, mapFn, thisArg); >typedArrays : Symbol(typedArrays, Decl(typedArrays.ts, 121, 7)) ->Uint8ClampedArray.from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) ->from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8ClampedArray.from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(Uint8ClampedArrayConstructor.from, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >obj : Symbol(obj, Decl(typedArrays.ts, 120, 38)) >mapFn : Symbol(mapFn, Decl(typedArrays.ts, 120, 60)) >thisArg : Symbol(thisArg, Decl(typedArrays.ts, 120, 98)) diff --git a/tests/baselines/reference/typedArraysCrossAssignability01.symbols b/tests/baselines/reference/typedArraysCrossAssignability01.symbols index be3070df6ef..f6dbc09a232 100644 --- a/tests/baselines/reference/typedArraysCrossAssignability01.symbols +++ b/tests/baselines/reference/typedArraysCrossAssignability01.symbols @@ -4,39 +4,39 @@ function CheckAssignability() { let arr_Int8Array = new Int8Array(1); >arr_Int8Array : Symbol(arr_Int8Array, Decl(typedArraysCrossAssignability01.ts, 1, 7)) ->Int8Array : Symbol(Int8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int8Array : Symbol(Int8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let arr_Uint8Array = new Uint8Array(1); >arr_Uint8Array : Symbol(arr_Uint8Array, Decl(typedArraysCrossAssignability01.ts, 2, 7)) ->Uint8Array : Symbol(Uint8Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let arr_Int16Array = new Int16Array(1); >arr_Int16Array : Symbol(arr_Int16Array, Decl(typedArraysCrossAssignability01.ts, 3, 7)) ->Int16Array : Symbol(Int16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int16Array : Symbol(Int16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let arr_Uint16Array = new Uint16Array(1); >arr_Uint16Array : Symbol(arr_Uint16Array, Decl(typedArraysCrossAssignability01.ts, 4, 7)) ->Uint16Array : Symbol(Uint16Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint16Array : Symbol(Uint16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let arr_Int32Array = new Int32Array(1); >arr_Int32Array : Symbol(arr_Int32Array, Decl(typedArraysCrossAssignability01.ts, 5, 7)) ->Int32Array : Symbol(Int32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Int32Array : Symbol(Int32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let arr_Uint32Array = new Uint32Array(1); >arr_Uint32Array : Symbol(arr_Uint32Array, Decl(typedArraysCrossAssignability01.ts, 6, 7)) ->Uint32Array : Symbol(Uint32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint32Array : Symbol(Uint32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let arr_Float32Array = new Float32Array(1); >arr_Float32Array : Symbol(arr_Float32Array, Decl(typedArraysCrossAssignability01.ts, 7, 7)) ->Float32Array : Symbol(Float32Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let arr_Float64Array = new Float64Array(1); >arr_Float64Array : Symbol(arr_Float64Array, Decl(typedArraysCrossAssignability01.ts, 8, 7)) ->Float64Array : Symbol(Float64Array, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Float64Array : Symbol(Float64Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let arr_Uint8ClampedArray = new Uint8ClampedArray(1); >arr_Uint8ClampedArray : Symbol(arr_Uint8ClampedArray, Decl(typedArraysCrossAssignability01.ts, 9, 7)) ->Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) arr_Int8Array = arr_Int8Array; >arr_Int8Array : Symbol(arr_Int8Array, Decl(typedArraysCrossAssignability01.ts, 1, 7)) diff --git a/tests/baselines/reference/typeofOperatorWithStringType.symbols b/tests/baselines/reference/typeofOperatorWithStringType.symbols index ce66fb4889a..40d6375225c 100644 --- a/tests/baselines/reference/typeofOperatorWithStringType.symbols +++ b/tests/baselines/reference/typeofOperatorWithStringType.symbols @@ -88,9 +88,9 @@ var ResultIsString11 = typeof (STRING + STRING); var ResultIsString12 = typeof STRING.charAt(0); >ResultIsString12 : Symbol(ResultIsString12, Decl(typeofOperatorWithStringType.ts, 32, 3)) ->STRING.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(typeofOperatorWithStringType.ts, 1, 3)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) // multiple typeof operators var ResultIsString13 = typeof typeof STRING; diff --git a/tests/baselines/reference/types.asyncGenerators.esnext.1.symbols b/tests/baselines/reference/types.asyncGenerators.esnext.1.symbols index 58aefd0087e..2b98a589b0e 100644 --- a/tests/baselines/reference/types.asyncGenerators.esnext.1.symbols +++ b/tests/baselines/reference/types.asyncGenerators.esnext.1.symbols @@ -17,7 +17,7 @@ async function * inferReturnType4() { yield Promise.resolve(1); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } async function * inferReturnType5() { @@ -26,7 +26,7 @@ async function * inferReturnType5() { yield 1; yield Promise.resolve(2); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } async function * inferReturnType6() { @@ -39,7 +39,7 @@ async function * inferReturnType7() { yield* [Promise.resolve(1)]; >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } async function * inferReturnType8() { @@ -59,7 +59,7 @@ const assignability2: () => AsyncIterableIterator = async function * () yield Promise.resolve(1); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) }; @@ -75,7 +75,7 @@ const assignability4: () => AsyncIterableIterator = async function * () yield* [Promise.resolve(1)]; >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) }; @@ -97,7 +97,7 @@ const assignability7: () => AsyncIterable = async function * () { yield Promise.resolve(1); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) }; @@ -113,7 +113,7 @@ const assignability9: () => AsyncIterable = async function * () { yield* [Promise.resolve(1)]; >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) }; @@ -135,7 +135,7 @@ const assignability12: () => AsyncIterator = async function * () { yield Promise.resolve(1); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) }; @@ -151,7 +151,7 @@ const assignability14: () => AsyncIterator = async function * () { yield* [Promise.resolve(1)]; >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) }; @@ -173,7 +173,7 @@ async function * explicitReturnType2(): AsyncIterableIterator { yield Promise.resolve(1); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } async function * explicitReturnType3(): AsyncIterableIterator { @@ -188,7 +188,7 @@ async function * explicitReturnType4(): AsyncIterableIterator { yield* [Promise.resolve(1)]; >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } async function * explicitReturnType5(): AsyncIterableIterator { @@ -209,7 +209,7 @@ async function * explicitReturnType7(): AsyncIterable { yield Promise.resolve(1); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } async function * explicitReturnType8(): AsyncIterable { @@ -224,7 +224,7 @@ async function * explicitReturnType9(): AsyncIterable { yield* [Promise.resolve(1)]; >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } async function * explicitReturnType10(): AsyncIterable { @@ -245,7 +245,7 @@ async function * explicitReturnType12(): AsyncIterator { yield Promise.resolve(1); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } async function * explicitReturnType13(): AsyncIterator { @@ -260,7 +260,7 @@ async function * explicitReturnType14(): AsyncIterator { yield* [Promise.resolve(1)]; >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } async function * explicitReturnType15(): AsyncIterator { @@ -286,6 +286,6 @@ async function * awaitedType2() { const x = await Promise.resolve(1); >x : Symbol(x, Decl(types.asyncGenerators.esnext.1.ts, 121, 9)) >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } diff --git a/tests/baselines/reference/types.asyncGenerators.esnext.2.symbols b/tests/baselines/reference/types.asyncGenerators.esnext.2.symbols index af5a65d9b42..2305609b9de 100644 --- a/tests/baselines/reference/types.asyncGenerators.esnext.2.symbols +++ b/tests/baselines/reference/types.asyncGenerators.esnext.2.symbols @@ -15,7 +15,7 @@ async function * inferReturnType3() { yield* Promise.resolve([1, 2]); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) } const assignability1: () => AsyncIterableIterator = async function * () { diff --git a/tests/baselines/reference/typesOnlyExternalModuleStillHasInstance.symbols b/tests/baselines/reference/typesOnlyExternalModuleStillHasInstance.symbols index b656515831e..9558257ed9a 100644 --- a/tests/baselines/reference/typesOnlyExternalModuleStillHasInstance.symbols +++ b/tests/baselines/reference/typesOnlyExternalModuleStillHasInstance.symbols @@ -11,7 +11,7 @@ var x: typeof foo0 = {}; var y: {M2: Object} = foo0; >y : Symbol(y, Decl(foo_1.ts, 4, 3)) >M2 : Symbol(M2, Decl(foo_1.ts, 4, 8)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >foo0 : Symbol(foo0, Decl(foo_1.ts, 0, 0)) === tests/cases/conformance/externalModules/foo_0.ts === diff --git a/tests/baselines/reference/typesWithPublicConstructor.symbols b/tests/baselines/reference/typesWithPublicConstructor.symbols index 253890a490d..eb284064f7b 100644 --- a/tests/baselines/reference/typesWithPublicConstructor.symbols +++ b/tests/baselines/reference/typesWithPublicConstructor.symbols @@ -13,9 +13,9 @@ var c = new C(); var r: () => void = c.constructor; >r : Symbol(r, Decl(typesWithPublicConstructor.ts, 7, 3)) ->c.constructor : Symbol(Object.constructor, Decl(lib.d.ts, --, --)) +>c.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >c : Symbol(c, Decl(typesWithPublicConstructor.ts, 6, 3)) ->constructor : Symbol(Object.constructor, Decl(lib.d.ts, --, --)) +>constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) class C2 { >C2 : Symbol(C2, Decl(typesWithPublicConstructor.ts, 7, 34)) diff --git a/tests/baselines/reference/unaryOperatorsInStrictMode.symbols b/tests/baselines/reference/unaryOperatorsInStrictMode.symbols index d5d344f00ca..4d96037e22d 100644 --- a/tests/baselines/reference/unaryOperatorsInStrictMode.symbols +++ b/tests/baselines/reference/unaryOperatorsInStrictMode.symbols @@ -2,18 +2,18 @@ "use strict" ++eval; ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) --eval; ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) ++arguments; --arguments; eval++; ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) eval--; ->eval : Symbol(eval, Decl(lib.d.ts, --, --)) +>eval : Symbol(eval, Decl(lib.es5.d.ts, --, --)) arguments++; arguments--; diff --git a/tests/baselines/reference/undeclaredModuleError.symbols b/tests/baselines/reference/undeclaredModuleError.symbols index 6e7f7c58fda..03a238dca21 100644 --- a/tests/baselines/reference/undeclaredModuleError.symbols +++ b/tests/baselines/reference/undeclaredModuleError.symbols @@ -12,7 +12,7 @@ function readdir(path: string, accept: (stat: fs.Stats, name: string) => boolean >name : Symbol(name, Decl(undeclaredModuleError.ts, 1, 55)) >callback : Symbol(callback, Decl(undeclaredModuleError.ts, 1, 81)) >error : Symbol(error, Decl(undeclaredModuleError.ts, 1, 93)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >results : Symbol(results, Decl(undeclaredModuleError.ts, 1, 106)) >name : Symbol(name, Decl(undeclaredModuleError.ts, 1, 117)) >stat : Symbol(stat, Decl(undeclaredModuleError.ts, 1, 131)) @@ -39,13 +39,13 @@ function instrumentFile(covFileDir: string, covFileName: string, originalFilePat } , (error: Error, files: {}[]) => { >error : Symbol(error, Decl(undeclaredModuleError.ts, 8, 13)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >files : Symbol(files, Decl(undeclaredModuleError.ts, 8, 26)) files.forEach((file) => { ->files.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>files.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >files : Symbol(files, Decl(undeclaredModuleError.ts, 8, 26)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --)) >file : Symbol(file, Decl(undeclaredModuleError.ts, 9, 31)) var fullPath = join(IDoNotExist); diff --git a/tests/baselines/reference/undefinedAssignableToEveryType.symbols b/tests/baselines/reference/undefinedAssignableToEveryType.symbols index 18f568da52e..e3f54a72f85 100644 --- a/tests/baselines/reference/undefinedAssignableToEveryType.symbols +++ b/tests/baselines/reference/undefinedAssignableToEveryType.symbols @@ -41,7 +41,7 @@ var d: boolean = undefined; var e: Date = undefined; >e : Symbol(e, Decl(undefinedAssignableToEveryType.ts, 15, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >undefined : Symbol(undefined) var f: any = undefined; @@ -54,7 +54,7 @@ var g: void = undefined; var h: Object = undefined; >h : Symbol(h, Decl(undefinedAssignableToEveryType.ts, 18, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) var i: {} = undefined; @@ -67,7 +67,7 @@ var j: () => {} = undefined; var k: Function = undefined; >k : Symbol(k, Decl(undefinedAssignableToEveryType.ts, 21, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) var l: (x: number) => string = undefined; @@ -106,12 +106,12 @@ var o: (x: T) => T = undefined; var p: Number = undefined; >p : Symbol(p, Decl(undefinedAssignableToEveryType.ts, 29, 3)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) var q: String = undefined; >q : Symbol(q, Decl(undefinedAssignableToEveryType.ts, 30, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) function foo(x: T, y: U, z: V) { @@ -119,7 +119,7 @@ function foo(x: T, y: U, z: V) { >T : Symbol(T, Decl(undefinedAssignableToEveryType.ts, 32, 13)) >U : Symbol(U, Decl(undefinedAssignableToEveryType.ts, 32, 15)) >V : Symbol(V, Decl(undefinedAssignableToEveryType.ts, 32, 18)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >x : Symbol(x, Decl(undefinedAssignableToEveryType.ts, 32, 35)) >T : Symbol(T, Decl(undefinedAssignableToEveryType.ts, 32, 13)) >y : Symbol(y, Decl(undefinedAssignableToEveryType.ts, 32, 40)) diff --git a/tests/baselines/reference/undefinedIsSubtypeOfEverything.symbols b/tests/baselines/reference/undefinedIsSubtypeOfEverything.symbols index 0d0c6917dc2..fd7c558f2bb 100644 --- a/tests/baselines/reference/undefinedIsSubtypeOfEverything.symbols +++ b/tests/baselines/reference/undefinedIsSubtypeOfEverything.symbols @@ -40,7 +40,7 @@ class D1A extends Base { foo: String; >foo : Symbol(D1A.foo, Decl(undefinedIsSubtypeOfEverything.ts, 18, 24)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } @@ -58,7 +58,7 @@ class D2A extends Base { foo: Number; >foo : Symbol(D2A.foo, Decl(undefinedIsSubtypeOfEverything.ts, 27, 24)) ->Number : Symbol(Number, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } @@ -76,7 +76,7 @@ class D3A extends Base { foo: Boolean; >foo : Symbol(D3A.foo, Decl(undefinedIsSubtypeOfEverything.ts, 36, 24)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } @@ -86,7 +86,7 @@ class D4 extends Base { foo: RegExp; >foo : Symbol(D4.foo, Decl(undefinedIsSubtypeOfEverything.ts, 41, 23)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } class D5 extends Base { @@ -95,7 +95,7 @@ class D5 extends Base { foo: Date; >foo : Symbol(D5.foo, Decl(undefinedIsSubtypeOfEverything.ts, 45, 23)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) } @@ -235,7 +235,7 @@ class D16 extends Base { foo: Object; >foo : Symbol(D16.foo, Decl(undefinedIsSubtypeOfEverything.ts, 112, 24)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/undefinedTypeArgument1.symbols b/tests/baselines/reference/undefinedTypeArgument1.symbols index 5bed8c3c92a..1b6e2def9f2 100644 --- a/tests/baselines/reference/undefinedTypeArgument1.symbols +++ b/tests/baselines/reference/undefinedTypeArgument1.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/undefinedTypeArgument1.ts === var cats = new Array(); >cats : Symbol(cats, Decl(undefinedTypeArgument1.ts, 0, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/underscoreTest1.symbols b/tests/baselines/reference/underscoreTest1.symbols index 0ddfeb13be0..cfae9f8bb6c 100644 --- a/tests/baselines/reference/underscoreTest1.symbols +++ b/tests/baselines/reference/underscoreTest1.symbols @@ -5,7 +5,7 @@ declare var $; >$ : Symbol($, Decl(underscoreTest1_underscoreTests.ts, 2, 11)) declare function alert(x: string): void; ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) >x : Symbol(x, Decl(underscoreTest1_underscoreTests.ts, 3, 23)) _.each([1, 2, 3], (num) => alert(num.toString())); @@ -13,10 +13,10 @@ _.each([1, 2, 3], (num) => alert(num.toString())); >_ : Symbol(_, Decl(underscoreTest1_underscore.ts, 645, 11)) >each : Symbol(Underscore.Static.each, Decl(underscoreTest1_underscore.ts, 395, 43), Decl(underscoreTest1_underscore.ts, 397, 78)) >num : Symbol(num, Decl(underscoreTest1_underscoreTests.ts, 5, 19)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) ->num.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) +>num.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >num : Symbol(num, Decl(underscoreTest1_underscoreTests.ts, 5, 19)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) _.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(value.toString())); >_.each : Symbol(Underscore.Static.each, Decl(underscoreTest1_underscore.ts, 395, 43), Decl(underscoreTest1_underscore.ts, 397, 78)) @@ -27,10 +27,10 @@ _.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(valu >three : Symbol(three, Decl(underscoreTest1_underscoreTests.ts, 6, 24)) >value : Symbol(value, Decl(underscoreTest1_underscoreTests.ts, 6, 38)) >key : Symbol(key, Decl(underscoreTest1_underscoreTests.ts, 6, 52)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) ->value.toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) +>value.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >value : Symbol(value, Decl(underscoreTest1_underscoreTests.ts, 6, 38)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, --, --)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) _.map([1, 2, 3], (num) => num * 3); >_.map : Symbol(Underscore.Static.map, Decl(underscoreTest1_underscore.ts, 400, 91), Decl(underscoreTest1_underscore.ts, 402, 76)) @@ -71,9 +71,9 @@ var flat = _.reduceRight(list, (a, b) => a.concat(b), []); >list : Symbol(list, Decl(underscoreTest1_underscoreTests.ts, 13, 3)) >a : Symbol(a, Decl(underscoreTest1_underscoreTests.ts, 14, 32)) >b : Symbol(b, Decl(underscoreTest1_underscoreTests.ts, 14, 34)) ->a.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>a.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(underscoreTest1_underscoreTests.ts, 14, 32)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(underscoreTest1_underscoreTests.ts, 14, 34)) var even = _.find([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); @@ -182,9 +182,9 @@ _.sortBy([1, 2, 3, 4, 5, 6], (num) => Math.sin(num)); >_ : Symbol(_, Decl(underscoreTest1_underscore.ts, 645, 11)) >sortBy : Symbol(Underscore.Static.sortBy, Decl(underscoreTest1_underscore.ts, 473, 84), Decl(underscoreTest1_underscore.ts, 475, 78), Decl(underscoreTest1_underscore.ts, 476, 88), Decl(underscoreTest1_underscore.ts, 477, 56)) >num : Symbol(num, Decl(underscoreTest1_underscoreTests.ts, 41, 30)) ->Math.sin : Symbol(Math.sin, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->sin : Symbol(Math.sin, Decl(lib.d.ts, --, --)) +>Math.sin : Symbol(Math.sin, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>sin : Symbol(Math.sin, Decl(lib.es5.d.ts, --, --)) >num : Symbol(num, Decl(underscoreTest1_underscoreTests.ts, 41, 30)) @@ -196,9 +196,9 @@ _([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floo >e : Symbol(e, Decl(underscoreTest1_underscoreTests.ts, 45, 28)) >i : Symbol(i, Decl(underscoreTest1_underscoreTests.ts, 45, 38)) >list : Symbol(list, Decl(underscoreTest1_underscoreTests.ts, 45, 50)) ->Math.floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) +>Math.floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) >e : Symbol(e, Decl(underscoreTest1_underscoreTests.ts, 45, 28)) _.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)); @@ -206,9 +206,9 @@ _.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)); >_ : Symbol(_, Decl(underscoreTest1_underscore.ts, 645, 11)) >groupBy : Symbol(Underscore.Static.groupBy, Decl(underscoreTest1_underscore.ts, 478, 66), Decl(underscoreTest1_underscore.ts, 480, 92), Decl(underscoreTest1_underscore.ts, 481, 102), Decl(underscoreTest1_underscore.ts, 482, 69)) >num : Symbol(num, Decl(underscoreTest1_underscoreTests.ts, 46, 28)) ->Math.floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->floor : Symbol(Math.floor, Decl(lib.d.ts, --, --)) +>Math.floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>floor : Symbol(Math.floor, Decl(lib.es5.d.ts, --, --)) >num : Symbol(num, Decl(underscoreTest1_underscoreTests.ts, 46, 28)) _.groupBy(['one', 'two', 'three'], 'length'); @@ -394,11 +394,11 @@ var buttonView = { onClick: function () { alert('clicked: ' + this.label); }, >onClick : Symbol(onClick, Decl(underscoreTest1_underscoreTests.ts, 97, 24)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) onHover: function () { alert('hovering: ' + this.label); } >onHover : Symbol(onHover, Decl(underscoreTest1_underscoreTests.ts, 98, 62)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) }; _.bindAll(buttonView); @@ -437,7 +437,7 @@ var log = _.bind((message?: string, ...rest: string[]) => { }, Date); >bind : Symbol(Underscore.Static.bind, Decl(underscoreTest1_underscore.ts, 548, 68), Decl(underscoreTest1_underscore.ts, 550, 58)) >message : Symbol(message, Decl(underscoreTest1_underscoreTests.ts, 108, 18)) >rest : Symbol(rest, Decl(underscoreTest1_underscoreTests.ts, 108, 35)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) _.delay(log, 1000, 'logged later'); >_.delay : Symbol(Underscore.Static.delay, Decl(underscoreTest1_underscore.ts, 557, 73)) @@ -449,11 +449,11 @@ _.defer(function () { alert('deferred'); }); >_.defer : Symbol(Underscore.Static.defer, Decl(underscoreTest1_underscore.ts, 559, 68)) >_ : Symbol(_, Decl(underscoreTest1_underscore.ts, 645, 11)) >defer : Symbol(Underscore.Static.defer, Decl(underscoreTest1_underscore.ts, 559, 68)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) var updatePosition = () => alert('updating position...'); >updatePosition : Symbol(updatePosition, Decl(underscoreTest1_underscoreTests.ts, 113, 3)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) var throttled = _.throttle(updatePosition, 100); >throttled : Symbol(throttled, Decl(underscoreTest1_underscoreTests.ts, 114, 3)) @@ -468,7 +468,7 @@ $(null).scroll(throttled); var calculateLayout = () => alert('calculating layout...'); >calculateLayout : Symbol(calculateLayout, Decl(underscoreTest1_underscoreTests.ts, 117, 3)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) var lazyLayout = _.debounce(calculateLayout, 300); >lazyLayout : Symbol(lazyLayout, Decl(underscoreTest1_underscoreTests.ts, 118, 3)) @@ -483,7 +483,7 @@ $(null).resize(lazyLayout); var createApplication = () => alert('creating application...'); >createApplication : Symbol(createApplication, Decl(underscoreTest1_underscoreTests.ts, 121, 3)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) var initialize = _.once(createApplication); >initialize : Symbol(initialize, Decl(underscoreTest1_underscoreTests.ts, 122, 3)) @@ -503,16 +503,16 @@ var notes: any[]; var render = () => alert("rendering..."); >render : Symbol(render, Decl(underscoreTest1_underscoreTests.ts, 127, 3)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) var renderNotes = _.after(notes.length, render); >renderNotes : Symbol(renderNotes, Decl(underscoreTest1_underscoreTests.ts, 128, 3)) >_.after : Symbol(Underscore.Static.after, Decl(underscoreTest1_underscore.ts, 567, 45)) >_ : Symbol(_, Decl(underscoreTest1_underscore.ts, 645, 11)) >after : Symbol(Underscore.Static.after, Decl(underscoreTest1_underscore.ts, 567, 45)) ->notes.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>notes.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >notes : Symbol(notes, Decl(underscoreTest1_underscoreTests.ts, 126, 3)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >render : Symbol(render, Decl(underscoreTest1_underscoreTests.ts, 127, 3)) _.each(notes, (note) => note.asyncSave({ success: renderNotes })); @@ -662,7 +662,7 @@ _.chain([1, 2, 3, 200]) .tap(alert) >tap : Symbol(Underscore.ChainedArray.tap, Decl(underscoreTest1_underscore.ts, 325, 33)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) .map(function (num) { return num * num }) >map : Symbol(Underscore.ChainedArray.map, Decl(underscoreTest1_underscore.ts, 240, 82)) @@ -750,7 +750,7 @@ _.isFunction(alert); >_.isFunction : Symbol(Underscore.Static.isFunction, Decl(underscoreTest1_underscore.ts, 606, 42)) >_ : Symbol(_, Decl(underscoreTest1_underscore.ts, 645, 11)) >isFunction : Symbol(Underscore.Static.isFunction, Decl(underscoreTest1_underscore.ts, 606, 42)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --), Decl(underscoreTest1_underscoreTests.ts, 2, 14)) _.isString("moe"); >_.isString : Symbol(Underscore.Static.isString, Decl(underscoreTest1_underscore.ts, 607, 41)) @@ -771,7 +771,7 @@ _.isFinite(-Infinity); >_.isFinite : Symbol(Underscore.Static.isFinite, Decl(underscoreTest1_underscore.ts, 609, 39)) >_ : Symbol(_, Decl(underscoreTest1_underscore.ts, 645, 11)) >isFinite : Symbol(Underscore.Static.isFinite, Decl(underscoreTest1_underscore.ts, 609, 39)) ->Infinity : Symbol(Infinity, Decl(lib.d.ts, --, --)) +>Infinity : Symbol(Infinity, Decl(lib.es5.d.ts, --, --)) _.isBoolean(null); >_.isBoolean : Symbol(Underscore.Static.isBoolean, Decl(underscoreTest1_underscore.ts, 610, 39)) @@ -782,7 +782,7 @@ _.isDate(new Date()); >_.isDate : Symbol(Underscore.Static.isDate, Decl(underscoreTest1_underscore.ts, 611, 40)) >_ : Symbol(_, Decl(underscoreTest1_underscore.ts, 645, 11)) >isDate : Symbol(Underscore.Static.isDate, Decl(underscoreTest1_underscore.ts, 611, 40)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) _.isRegExp(/moe/); >_.isRegExp : Symbol(Underscore.Static.isRegExp, Decl(underscoreTest1_underscore.ts, 612, 37)) @@ -793,10 +793,10 @@ _.isNaN(NaN); >_.isNaN : Symbol(Underscore.Static.isNaN, Decl(underscoreTest1_underscore.ts, 613, 39)) >_ : Symbol(_, Decl(underscoreTest1_underscore.ts, 645, 11)) >isNaN : Symbol(Underscore.Static.isNaN, Decl(underscoreTest1_underscore.ts, 613, 39)) ->NaN : Symbol(NaN, Decl(lib.d.ts, --, --)) +>NaN : Symbol(NaN, Decl(lib.es5.d.ts, --, --)) isNaN(undefined); ->isNaN : Symbol(isNaN, Decl(lib.d.ts, --, --)) +>isNaN : Symbol(isNaN, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) _.isNaN(undefined); @@ -1008,7 +1008,7 @@ interface Tuple2 extends Array { >Tuple2 : Symbol(Tuple2, Decl(underscoreTest1_underscore.ts, 10, 1)) >T0 : Symbol(T0, Decl(underscoreTest1_underscore.ts, 12, 17)) >T1 : Symbol(T1, Decl(underscoreTest1_underscore.ts, 12, 20)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) 0: T0; >0 : Symbol(Tuple2[0], Decl(underscoreTest1_underscore.ts, 12, 45)) @@ -1024,7 +1024,7 @@ interface Tuple3 extends Array { >T0 : Symbol(T0, Decl(underscoreTest1_underscore.ts, 17, 17)) >T1 : Symbol(T1, Decl(underscoreTest1_underscore.ts, 17, 20)) >T2 : Symbol(T2, Decl(underscoreTest1_underscore.ts, 17, 24)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) 0: T0; >0 : Symbol(Tuple3[0], Decl(underscoreTest1_underscore.ts, 17, 49)) @@ -1045,7 +1045,7 @@ interface Tuple4 extends Array { >T1 : Symbol(T1, Decl(underscoreTest1_underscore.ts, 23, 20)) >T2 : Symbol(T2, Decl(underscoreTest1_underscore.ts, 23, 24)) >T3 : Symbol(T3, Decl(underscoreTest1_underscore.ts, 23, 28)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) 0: T0; >0 : Symbol(Tuple4[0], Decl(underscoreTest1_underscore.ts, 23, 53)) @@ -1182,7 +1182,7 @@ module Underscore { export interface WrappedFunction extends WrappedObject { >WrappedFunction : Symbol(WrappedFunction, Decl(underscoreTest1_underscore.ts, 62, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 64, 37)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >WrappedObject : Symbol(WrappedObject, Decl(underscoreTest1_underscore.ts, 30, 19)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 64, 37)) @@ -1195,7 +1195,7 @@ module Underscore { >bind : Symbol(WrappedFunction.bind, Decl(underscoreTest1_underscore.ts, 64, 83), Decl(underscoreTest1_underscore.ts, 65, 29)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 66, 13)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 66, 25)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) bindAll(...methodNames: string[]): T; >bindAll : Symbol(WrappedFunction.bindAll, Decl(underscoreTest1_underscore.ts, 66, 52)) @@ -1205,12 +1205,12 @@ module Underscore { partial(...args: any[]): Function; >partial : Symbol(WrappedFunction.partial, Decl(underscoreTest1_underscore.ts, 67, 45)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 68, 16)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) memoize(hashFunction?: Function): T; >memoize : Symbol(WrappedFunction.memoize, Decl(underscoreTest1_underscore.ts, 68, 42)) >hashFunction : Symbol(hashFunction, Decl(underscoreTest1_underscore.ts, 69, 16)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 64, 37)) delay(wait: number, ...args: any[]): number; @@ -1248,15 +1248,15 @@ module Underscore { compose(...funcs: Function[]): Function; >compose : Symbol(WrappedFunction.compose, Decl(underscoreTest1_underscore.ts, 75, 59)) >funcs : Symbol(funcs, Decl(underscoreTest1_underscore.ts, 76, 16)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } export interface WrappedArray extends WrappedObject> { >WrappedArray : Symbol(WrappedArray, Decl(underscoreTest1_underscore.ts, 77, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) >WrappedObject : Symbol(WrappedObject, Decl(underscoreTest1_underscore.ts, 30, 19)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) each(iterator: Iterator_, context?: any): void; @@ -1443,13 +1443,13 @@ module Underscore { where(properties: Object): T[]; >where : Symbol(WrappedArray.where, Decl(underscoreTest1_underscore.ts, 97, 68)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 98, 14)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) findWhere(properties: Object): T; >findWhere : Symbol(WrappedArray.findWhere, Decl(underscoreTest1_underscore.ts, 98, 39)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 99, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 79, 34)) reject(iterator: Iterator_, context?: any): T[]; @@ -1982,13 +1982,13 @@ module Underscore { where(properties: Object): T[]; >where : Symbol(WrappedDictionary.where, Decl(underscoreTest1_underscore.ts, 180, 68)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 181, 14)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) findWhere(properties: Object): T; >findWhere : Symbol(WrappedDictionary.findWhere, Decl(underscoreTest1_underscore.ts, 181, 39)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 182, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 162, 39)) reject(iterator: Iterator_, context?: any): T[]; @@ -2260,7 +2260,7 @@ module Underscore { >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) each(iterator: Iterator_, context?: any): ChainedObject; @@ -2465,14 +2465,14 @@ module Underscore { where(properties: Object): ChainedArray; >where : Symbol(ChainedArray.where, Decl(underscoreTest1_underscore.ts, 256, 80)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 257, 14)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) findWhere(properties: Object): ChainedObject; >findWhere : Symbol(ChainedArray.findWhere, Decl(underscoreTest1_underscore.ts, 257, 51)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 258, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 238, 34)) @@ -3116,14 +3116,14 @@ module Underscore { where(properties: Object): ChainedArray; >where : Symbol(ChainedDictionary.where, Decl(underscoreTest1_underscore.ts, 347, 80)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 348, 14)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >ChainedArray : Symbol(ChainedArray, Decl(underscoreTest1_underscore.ts, 236, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) findWhere(properties: Object): ChainedObject; >findWhere : Symbol(ChainedDictionary.findWhere, Decl(underscoreTest1_underscore.ts, 348, 51)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 349, 18)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >ChainedObject : Symbol(ChainedObject, Decl(underscoreTest1_underscore.ts, 203, 5)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 329, 39)) @@ -3310,15 +3310,15 @@ module Underscore { evaluate?: RegExp; >evaluate : Symbol(TemplateSettings.evaluate, Decl(underscoreTest1_underscore.ts, 380, 39)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) interpolate?: RegExp; >interpolate : Symbol(TemplateSettings.interpolate, Decl(underscoreTest1_underscore.ts, 381, 26)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) escape?: RegExp; >escape : Symbol(TemplateSettings.escape, Decl(underscoreTest1_underscore.ts, 382, 29)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) variable?: string; >variable : Symbol(TemplateSettings.variable, Decl(underscoreTest1_underscore.ts, 383, 24)) @@ -3344,7 +3344,7 @@ module Underscore { (func: T): WrappedFunction; >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 390, 9)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 390, 29)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 390, 9)) >WrappedFunction : Symbol(WrappedFunction, Decl(underscoreTest1_underscore.ts, 62, 5)) @@ -3876,7 +3876,7 @@ module Underscore { >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 439, 17)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 439, 14)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 439, 27)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 439, 14)) where(list: Dictionary, properties: Object): T[]; @@ -3886,7 +3886,7 @@ module Underscore { >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 440, 14)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 440, 37)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 440, 14)) findWhere(list: T[], properties: Object): T; @@ -3895,7 +3895,7 @@ module Underscore { >list : Symbol(list, Decl(underscoreTest1_underscore.ts, 442, 21)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 442, 18)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 442, 31)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 442, 18)) findWhere(list: Dictionary, properties: Object): T; @@ -3905,7 +3905,7 @@ module Underscore { >Dictionary : Symbol(Dictionary, Decl(underscoreTest1_underscore.ts, 0, 0)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 443, 18)) >properties : Symbol(properties, Decl(underscoreTest1_underscore.ts, 443, 41)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 443, 18)) reject(list: T[], iterator: Iterator_, context?: any): T[]; @@ -4579,7 +4579,7 @@ module Underscore { bind(func: T, object: any): T; >bind : Symbol(Static.bind, Decl(underscoreTest1_underscore.ts, 548, 68), Decl(underscoreTest1_underscore.ts, 550, 58)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 550, 13)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 550, 33)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 550, 13)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 550, 41)) @@ -4588,10 +4588,10 @@ module Underscore { bind(func: Function, object: any, ...args: any[]): Function; >bind : Symbol(Static.bind, Decl(underscoreTest1_underscore.ts, 548, 68), Decl(underscoreTest1_underscore.ts, 550, 58)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 551, 13)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >object : Symbol(object, Decl(underscoreTest1_underscore.ts, 551, 28)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 551, 41)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) bindAll(object: T, ...methodNames: string[]): T; >bindAll : Symbol(Static.bindAll, Decl(underscoreTest1_underscore.ts, 551, 68)) @@ -4604,37 +4604,37 @@ module Underscore { partial(func: Function, ...args: any[]): Function; >partial : Symbol(Static.partial, Decl(underscoreTest1_underscore.ts, 553, 59)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 555, 16)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 555, 31)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) memoize(func: T, hashFunction?: Function): T; >memoize : Symbol(Static.memoize, Decl(underscoreTest1_underscore.ts, 555, 58)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 557, 16)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 557, 36)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 557, 16)) >hashFunction : Symbol(hashFunction, Decl(underscoreTest1_underscore.ts, 557, 44)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 557, 16)) delay(func: Function, wait: number, ...args: any[]): number; >delay : Symbol(Static.delay, Decl(underscoreTest1_underscore.ts, 557, 73)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 559, 14)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >wait : Symbol(wait, Decl(underscoreTest1_underscore.ts, 559, 29)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 559, 43)) defer(func: Function, ...args: any[]): number; >defer : Symbol(Static.defer, Decl(underscoreTest1_underscore.ts, 559, 68)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 561, 14)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >args : Symbol(args, Decl(underscoreTest1_underscore.ts, 561, 29)) throttle(func: T, wait: number): T; >throttle : Symbol(Static.throttle, Decl(underscoreTest1_underscore.ts, 561, 54)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 563, 17)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 563, 37)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 563, 17)) >wait : Symbol(wait, Decl(underscoreTest1_underscore.ts, 563, 45)) @@ -4643,7 +4643,7 @@ module Underscore { debounce(func: T, wait: number, immediate?: boolean): T; >debounce : Symbol(Static.debounce, Decl(underscoreTest1_underscore.ts, 563, 63)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 565, 17)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 565, 37)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 565, 17)) >wait : Symbol(wait, Decl(underscoreTest1_underscore.ts, 565, 45)) @@ -4653,7 +4653,7 @@ module Underscore { once(func: T): T; >once : Symbol(Static.once, Decl(underscoreTest1_underscore.ts, 565, 84)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 567, 13)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 567, 33)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 567, 13)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 567, 13)) @@ -4661,7 +4661,7 @@ module Underscore { after(count: number, func: T): T; >after : Symbol(Static.after, Decl(underscoreTest1_underscore.ts, 567, 45)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 569, 14)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >count : Symbol(count, Decl(underscoreTest1_underscore.ts, 569, 34)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 569, 48)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 569, 14)) @@ -4670,7 +4670,7 @@ module Underscore { wrap(func: T, wrapper: (func: T, ...args: any[]) => any): T; >wrap : Symbol(Static.wrap, Decl(underscoreTest1_underscore.ts, 569, 61)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 571, 13)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >func : Symbol(func, Decl(underscoreTest1_underscore.ts, 571, 33)) >T : Symbol(T, Decl(underscoreTest1_underscore.ts, 571, 13)) >wrapper : Symbol(wrapper, Decl(underscoreTest1_underscore.ts, 571, 41)) @@ -4682,8 +4682,8 @@ module Underscore { compose(...funcs: Function[]): Function; >compose : Symbol(Static.compose, Decl(underscoreTest1_underscore.ts, 571, 88)) >funcs : Symbol(funcs, Decl(underscoreTest1_underscore.ts, 573, 16)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) keys(object: any): string[]; >keys : Symbol(Static.keys, Decl(underscoreTest1_underscore.ts, 573, 48)) diff --git a/tests/baselines/reference/unicodeIdentifierName2.symbols b/tests/baselines/reference/unicodeIdentifierName2.symbols index c176395ca1c..58a0524ca9c 100644 --- a/tests/baselines/reference/unicodeIdentifierName2.symbols +++ b/tests/baselines/reference/unicodeIdentifierName2.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/unicodeIdentifierName2.ts === var aâ‚ = "hello"; alert(aâ‚) >a : Symbol(a, Decl(unicodeIdentifierName2.ts, 0, 3)) ->alert : Symbol(alert, Decl(lib.d.ts, --, --)) +>alert : Symbol(alert, Decl(lib.dom.d.ts, --, --)) >a : Symbol(a, Decl(unicodeIdentifierName2.ts, 0, 3)) diff --git a/tests/baselines/reference/unionAndIntersectionInference1.symbols b/tests/baselines/reference/unionAndIntersectionInference1.symbols index 174a9a7cbba..38bcd416dff 100644 --- a/tests/baselines/reference/unionAndIntersectionInference1.symbols +++ b/tests/baselines/reference/unionAndIntersectionInference1.symbols @@ -49,9 +49,9 @@ function destructure( var value = Math.random() > 0.5 ? 'hey!' : undefined; >value : Symbol(value, Decl(unionAndIntersectionInference1.ts, 12, 3)) ->Math.random : Symbol(Math.random, Decl(lib.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->random : Symbol(Math.random, Decl(lib.d.ts, --, --)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >Y : Symbol(Y, Decl(unionAndIntersectionInference1.ts, 0, 0)) >undefined : Symbol(undefined) @@ -147,10 +147,10 @@ let foo: Maybe; >Maybe : Symbol(Maybe, Decl(unionAndIntersectionInference1.ts, 40, 1)) get(foo).toUpperCase(); // Ok ->get(foo).toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>get(foo).toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) >get : Symbol(get, Decl(unionAndIntersectionInference1.ts, 44, 25)) >foo : Symbol(foo, Decl(unionAndIntersectionInference1.ts, 50, 3)) ->toUpperCase : Symbol(String.toUpperCase, Decl(lib.d.ts, --, --)) +>toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) // Repro from #5456 diff --git a/tests/baselines/reference/unionPropertyExistence.symbols b/tests/baselines/reference/unionPropertyExistence.symbols index 35caa6143d8..ea6bba56854 100644 --- a/tests/baselines/reference/unionPropertyExistence.symbols +++ b/tests/baselines/reference/unionPropertyExistence.symbols @@ -67,9 +67,9 @@ bFoo.onlyInB; >bFoo : Symbol(bFoo, Decl(unionPropertyExistence.ts, 24, 13)) x.length; // Ok ->x.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(unionPropertyExistence.ts, 23, 13)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) bFoo.length; >bFoo : Symbol(bFoo, Decl(unionPropertyExistence.ts, 24, 13)) diff --git a/tests/baselines/reference/unionSubtypeIfEveryConstituentTypeIsSubtype.symbols b/tests/baselines/reference/unionSubtypeIfEveryConstituentTypeIsSubtype.symbols index d3905b6ee1e..8cc650fc16a 100644 --- a/tests/baselines/reference/unionSubtypeIfEveryConstituentTypeIsSubtype.symbols +++ b/tests/baselines/reference/unionSubtypeIfEveryConstituentTypeIsSubtype.symbols @@ -73,7 +73,7 @@ interface I5 { [x: string]: Date; >x : Symbol(x, Decl(unionSubtypeIfEveryConstituentTypeIsSubtype.ts, 33, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo: string | number; >foo : Symbol(I5.foo, Decl(unionSubtypeIfEveryConstituentTypeIsSubtype.ts, 33, 22)) @@ -89,7 +89,7 @@ interface I6 { [x: string]: RegExp; >x : Symbol(x, Decl(unionSubtypeIfEveryConstituentTypeIsSubtype.ts, 40, 5)) ->RegExp : Symbol(RegExp, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo: string | number; >foo : Symbol(I6.foo, Decl(unionSubtypeIfEveryConstituentTypeIsSubtype.ts, 40, 24)) @@ -314,7 +314,7 @@ interface I19 { [x: string]: Object; >x : Symbol(x, Decl(unionSubtypeIfEveryConstituentTypeIsSubtype.ts, 132, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) foo: string | number; >foo : Symbol(I19.foo, Decl(unionSubtypeIfEveryConstituentTypeIsSubtype.ts, 132, 24)) diff --git a/tests/baselines/reference/unionTypeCallSignatures.symbols b/tests/baselines/reference/unionTypeCallSignatures.symbols index 23a18efff22..ed54cb56183 100644 --- a/tests/baselines/reference/unionTypeCallSignatures.symbols +++ b/tests/baselines/reference/unionTypeCallSignatures.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/types/union/unionTypeCallSignatures.ts === var numOrDate: number | Date; >numOrDate : Symbol(numOrDate, Decl(unionTypeCallSignatures.ts, 0, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var strOrBoolean: string | boolean; >strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeCallSignatures.ts, 1, 3)) @@ -15,7 +15,7 @@ var unionOfDifferentReturnType: { (a: number): number; } | { (a: number): Date; >unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeCallSignatures.ts, 6, 3)) >a : Symbol(a, Decl(unionTypeCallSignatures.ts, 6, 35)) >a : Symbol(a, Decl(unionTypeCallSignatures.ts, 6, 62)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) numOrDate = unionOfDifferentReturnType(10); >numOrDate : Symbol(numOrDate, Decl(unionTypeCallSignatures.ts, 0, 3)) @@ -33,7 +33,7 @@ var unionOfDifferentReturnType1: { (a: number): number; (a: string): string; } | >a : Symbol(a, Decl(unionTypeCallSignatures.ts, 11, 36)) >a : Symbol(a, Decl(unionTypeCallSignatures.ts, 11, 57)) >a : Symbol(a, Decl(unionTypeCallSignatures.ts, 11, 84)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >a : Symbol(a, Decl(unionTypeCallSignatures.ts, 11, 103)) numOrDate = unionOfDifferentReturnType1(10); @@ -54,7 +54,7 @@ var unionOfDifferentParameterTypes: { (a: number): number; } | { (a: string): Da >unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeCallSignatures.ts, 17, 3)) >a : Symbol(a, Decl(unionTypeCallSignatures.ts, 17, 39)) >a : Symbol(a, Decl(unionTypeCallSignatures.ts, 17, 66)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) unionOfDifferentParameterTypes(10);// error - no call signatures >unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeCallSignatures.ts, 17, 3)) @@ -69,7 +69,7 @@ var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number) >unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeCallSignatures.ts, 22, 3)) >a : Symbol(a, Decl(unionTypeCallSignatures.ts, 22, 43)) >a : Symbol(a, Decl(unionTypeCallSignatures.ts, 22, 70)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >a : Symbol(a, Decl(unionTypeCallSignatures.ts, 22, 89)) unionOfDifferentNumberOfSignatures(); // error - no call signatures diff --git a/tests/baselines/reference/unionTypeCallSignatures2.symbols b/tests/baselines/reference/unionTypeCallSignatures2.symbols index 9193b90bab5..4485b341118 100644 --- a/tests/baselines/reference/unionTypeCallSignatures2.symbols +++ b/tests/baselines/reference/unionTypeCallSignatures2.symbols @@ -11,7 +11,7 @@ interface A { (x: Date): void; >x : Symbol(x, Decl(unionTypeCallSignatures2.ts, 3, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) (x: T[]): T[]; >T : Symbol(T, Decl(unionTypeCallSignatures2.ts, 4, 5)) @@ -31,7 +31,7 @@ interface B { (x: Date): void; >x : Symbol(x, Decl(unionTypeCallSignatures2.ts, 10, 5)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) (x: T[]): T[]; >T : Symbol(T, Decl(unionTypeCallSignatures2.ts, 11, 5)) diff --git a/tests/baselines/reference/unionTypeConstructSignatures.symbols b/tests/baselines/reference/unionTypeConstructSignatures.symbols index cd8b873a543..b4123a6f746 100644 --- a/tests/baselines/reference/unionTypeConstructSignatures.symbols +++ b/tests/baselines/reference/unionTypeConstructSignatures.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/types/union/unionTypeConstructSignatures.ts === var numOrDate: number | Date; >numOrDate : Symbol(numOrDate, Decl(unionTypeConstructSignatures.ts, 0, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var strOrBoolean: string | boolean; >strOrBoolean : Symbol(strOrBoolean, Decl(unionTypeConstructSignatures.ts, 1, 3)) @@ -15,7 +15,7 @@ var unionOfDifferentReturnType: { new (a: number): number; } | { new (a: number) >unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeConstructSignatures.ts, 6, 3)) >a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 6, 39)) >a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 6, 70)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) numOrDate = new unionOfDifferentReturnType(10); >numOrDate : Symbol(numOrDate, Decl(unionTypeConstructSignatures.ts, 0, 3)) @@ -33,7 +33,7 @@ var unionOfDifferentReturnType1: { new (a: number): number; new (a: string): str >a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 11, 40)) >a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 11, 65)) >a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 11, 96)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 11, 119)) numOrDate = new unionOfDifferentReturnType1(10); @@ -54,7 +54,7 @@ var unionOfDifferentParameterTypes: { new (a: number): number; } | { new (a: str >unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeConstructSignatures.ts, 17, 3)) >a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 17, 43)) >a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 17, 74)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) new unionOfDifferentParameterTypes(10);// error - no call signatures >unionOfDifferentParameterTypes : Symbol(unionOfDifferentParameterTypes, Decl(unionTypeConstructSignatures.ts, 17, 3)) @@ -69,7 +69,7 @@ var unionOfDifferentNumberOfSignatures: { new (a: number): number; } | { new (a: >unionOfDifferentNumberOfSignatures : Symbol(unionOfDifferentNumberOfSignatures, Decl(unionTypeConstructSignatures.ts, 22, 3)) >a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 22, 47)) >a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 22, 78)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >a : Symbol(a, Decl(unionTypeConstructSignatures.ts, 22, 101)) new unionOfDifferentNumberOfSignatures(); // error - no call signatures diff --git a/tests/baselines/reference/unionTypeIndexSignature.symbols b/tests/baselines/reference/unionTypeIndexSignature.symbols index ba52a068476..d55907e29b0 100644 --- a/tests/baselines/reference/unionTypeIndexSignature.symbols +++ b/tests/baselines/reference/unionTypeIndexSignature.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/types/union/unionTypeIndexSignature.ts === var numOrDate: number | Date; >numOrDate : Symbol(numOrDate, Decl(unionTypeIndexSignature.ts, 0, 3)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) var anyVar: number; >anyVar : Symbol(anyVar, Decl(unionTypeIndexSignature.ts, 1, 3)) @@ -13,7 +13,7 @@ var unionOfDifferentReturnType: { [a: string]: number; } | { [a: string]: Date; >unionOfDifferentReturnType : Symbol(unionOfDifferentReturnType, Decl(unionTypeIndexSignature.ts, 6, 3)) >a : Symbol(a, Decl(unionTypeIndexSignature.ts, 6, 35)) >a : Symbol(a, Decl(unionTypeIndexSignature.ts, 6, 62)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) numOrDate = unionOfDifferentReturnType["hello"]; // number | Date >numOrDate : Symbol(numOrDate, Decl(unionTypeIndexSignature.ts, 0, 3)) @@ -41,7 +41,7 @@ var unionOfDifferentReturnType1: { [a: number]: number; } | { [a: number]: Date; >unionOfDifferentReturnType1 : Symbol(unionOfDifferentReturnType1, Decl(unionTypeIndexSignature.ts, 16, 3)) >a : Symbol(a, Decl(unionTypeIndexSignature.ts, 16, 36)) >a : Symbol(a, Decl(unionTypeIndexSignature.ts, 16, 63)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) numOrDate = unionOfDifferentReturnType1["hello"]; // any >numOrDate : Symbol(numOrDate, Decl(unionTypeIndexSignature.ts, 0, 3)) diff --git a/tests/baselines/reference/unionTypeLiterals.symbols b/tests/baselines/reference/unionTypeLiterals.symbols index 92d155187c1..9364083ec9e 100644 --- a/tests/baselines/reference/unionTypeLiterals.symbols +++ b/tests/baselines/reference/unionTypeLiterals.symbols @@ -12,7 +12,7 @@ var arrayOfUnions: (string | number)[]; var arrayOfUnions: Array; >arrayOfUnions : Symbol(arrayOfUnions, Decl(unionTypeLiterals.ts, 5, 3), Decl(unionTypeLiterals.ts, 6, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var unionOfFunctionType: (() => string) | (() => number); >unionOfFunctionType : Symbol(unionOfFunctionType, Decl(unionTypeLiterals.ts, 8, 3), Decl(unionTypeLiterals.ts, 9, 3), Decl(unionTypeLiterals.ts, 10, 3)) diff --git a/tests/baselines/reference/uniqueSymbolAllowsIndexInObjectWithIndexSignature.symbols b/tests/baselines/reference/uniqueSymbolAllowsIndexInObjectWithIndexSignature.symbols index 88b5f84d045..3fa074b58dd 100644 --- a/tests/baselines/reference/uniqueSymbolAllowsIndexInObjectWithIndexSignature.symbols +++ b/tests/baselines/reference/uniqueSymbolAllowsIndexInObjectWithIndexSignature.symbols @@ -2,7 +2,7 @@ // https://github.com/Microsoft/TypeScript/issues/21962 export const SYM = Symbol('a unique symbol'); >SYM : Symbol(SYM, Decl(uniqueSymbolAllowsIndexInObjectWithIndexSignature.ts, 1, 12)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) export interface I { >I : Symbol(I, Decl(uniqueSymbolAllowsIndexInObjectWithIndexSignature.ts, 1, 45)) diff --git a/tests/baselines/reference/uniqueSymbols.symbols b/tests/baselines/reference/uniqueSymbols.symbols index 819b578884c..e4c84dd12ff 100644 --- a/tests/baselines/reference/uniqueSymbols.symbols +++ b/tests/baselines/reference/uniqueSymbols.symbols @@ -2,15 +2,15 @@ // declarations with call initializer const constCall = Symbol(); >constCall : Symbol(constCall, Decl(uniqueSymbols.ts, 1, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let letCall = Symbol(); >letCall : Symbol(letCall, Decl(uniqueSymbols.ts, 2, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var varCall = Symbol(); >varCall : Symbol(varCall, Decl(uniqueSymbols.ts, 3, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // ambient declaration with type declare const constType: unique symbol; @@ -19,7 +19,7 @@ declare const constType: unique symbol; // declaration with type and call initializer const constTypeAndCall: unique symbol = Symbol(); >constTypeAndCall : Symbol(constTypeAndCall, Decl(uniqueSymbols.ts, 9, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // declaration from initializer const constInitToConstCall = constCall; @@ -152,26 +152,26 @@ class C { static readonly readonlyStaticCall = Symbol(); >readonlyStaticCall : Symbol(C.readonlyStaticCall, Decl(uniqueSymbols.ts, 56, 9)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) static readonly readonlyStaticType: unique symbol; >readonlyStaticType : Symbol(C.readonlyStaticType, Decl(uniqueSymbols.ts, 57, 50)) static readonly readonlyStaticTypeAndCall: unique symbol = Symbol(); >readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 54)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) static readwriteStaticCall = Symbol(); >readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 72)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) readonly readonlyCall = Symbol(); >readonlyCall : Symbol(C.readonlyCall, Decl(uniqueSymbols.ts, 60, 42)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) readwriteCall = Symbol(); >readwriteCall : Symbol(C.readwriteCall, Decl(uniqueSymbols.ts, 62, 37)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } declare const c: C; >c : Symbol(c, Decl(uniqueSymbols.ts, 65, 13)) @@ -388,7 +388,7 @@ const constInitToLReadonlyNestedTypeWithIndexedAccess: L["nested"]["readonlyNest const promiseForConstCall = Promise.resolve(constCall); >promiseForConstCall : Symbol(promiseForConstCall, Decl(uniqueSymbols.ts, 111, 5)) >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >constCall : Symbol(constCall, Decl(uniqueSymbols.ts, 1, 5)) @@ -665,13 +665,13 @@ N["s"] || ""; // conditionals Math.random() * 2 ? s : "a"; >Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(uniqueSymbols.ts, 115, 13)) Math.random() * 2 ? N.s : "a"; >Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >N.s : Symbol(N.s, Decl(uniqueSymbols.ts, 116, 27)) >N : Symbol(N, Decl(uniqueSymbols.ts, 115, 31)) @@ -679,7 +679,7 @@ Math.random() * 2 ? N.s : "a"; Math.random() * 2 ? N["s"] : "a"; >Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >N : Symbol(N, Decl(uniqueSymbols.ts, 115, 31)) >"s" : Symbol(N.s, Decl(uniqueSymbols.ts, 116, 27)) @@ -733,7 +733,7 @@ interface Context { method2(): Promise; >method2 : Symbol(Context.method2, Decl(uniqueSymbols.ts, 214, 24)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >s : Symbol(s, Decl(uniqueSymbols.ts, 115, 13)) method3(): AsyncIterableIterator; diff --git a/tests/baselines/reference/uniqueSymbolsDeclarations.symbols b/tests/baselines/reference/uniqueSymbolsDeclarations.symbols index eda7e7c4b19..eecee05a306 100644 --- a/tests/baselines/reference/uniqueSymbolsDeclarations.symbols +++ b/tests/baselines/reference/uniqueSymbolsDeclarations.symbols @@ -2,15 +2,15 @@ // declarations with call initializer const constCall = Symbol(); >constCall : Symbol(constCall, Decl(uniqueSymbolsDeclarations.ts, 1, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) let letCall = Symbol(); >letCall : Symbol(letCall, Decl(uniqueSymbolsDeclarations.ts, 2, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var varCall = Symbol(); >varCall : Symbol(varCall, Decl(uniqueSymbolsDeclarations.ts, 3, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // ambient declaration with type declare const constType: unique symbol; @@ -19,7 +19,7 @@ declare const constType: unique symbol; // declaration with type and call initializer const constTypeAndCall: unique symbol = Symbol(); >constTypeAndCall : Symbol(constTypeAndCall, Decl(uniqueSymbolsDeclarations.ts, 9, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) // declaration from initializer const constInitToConstCall = constCall; @@ -152,26 +152,26 @@ class C { static readonly readonlyStaticCall = Symbol(); >readonlyStaticCall : Symbol(C.readonlyStaticCall, Decl(uniqueSymbolsDeclarations.ts, 56, 9)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) static readonly readonlyStaticType: unique symbol; >readonlyStaticType : Symbol(C.readonlyStaticType, Decl(uniqueSymbolsDeclarations.ts, 57, 50)) static readonly readonlyStaticTypeAndCall: unique symbol = Symbol(); >readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbolsDeclarations.ts, 58, 54)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) static readwriteStaticCall = Symbol(); >readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbolsDeclarations.ts, 59, 72)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) readonly readonlyCall = Symbol(); >readonlyCall : Symbol(C.readonlyCall, Decl(uniqueSymbolsDeclarations.ts, 60, 42)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) readwriteCall = Symbol(); >readwriteCall : Symbol(C.readwriteCall, Decl(uniqueSymbolsDeclarations.ts, 62, 37)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) } declare const c: C; >c : Symbol(c, Decl(uniqueSymbolsDeclarations.ts, 65, 13)) @@ -388,7 +388,7 @@ const constInitToLReadonlyNestedTypeWithIndexedAccess: L["nested"]["readonlyNest const promiseForConstCall = Promise.resolve(constCall); >promiseForConstCall : Symbol(promiseForConstCall, Decl(uniqueSymbolsDeclarations.ts, 111, 5)) >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >constCall : Symbol(constCall, Decl(uniqueSymbolsDeclarations.ts, 1, 5)) @@ -665,13 +665,13 @@ N["s"] || ""; // conditionals Math.random() * 2 ? s : "a"; >Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(uniqueSymbolsDeclarations.ts, 115, 13)) Math.random() * 2 ? N.s : "a"; >Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >N.s : Symbol(N.s, Decl(uniqueSymbolsDeclarations.ts, 116, 27)) >N : Symbol(N, Decl(uniqueSymbolsDeclarations.ts, 115, 31)) @@ -679,7 +679,7 @@ Math.random() * 2 ? N.s : "a"; Math.random() * 2 ? N["s"] : "a"; >Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >N : Symbol(N, Decl(uniqueSymbolsDeclarations.ts, 115, 31)) >"s" : Symbol(N.s, Decl(uniqueSymbolsDeclarations.ts, 116, 27)) @@ -733,7 +733,7 @@ interface Context { method2(): Promise; >method2 : Symbol(Context.method2, Decl(uniqueSymbolsDeclarations.ts, 214, 24)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >s : Symbol(s, Decl(uniqueSymbolsDeclarations.ts, 115, 13)) method3(): AsyncIterableIterator; diff --git a/tests/baselines/reference/uniqueSymbolsErrors.symbols b/tests/baselines/reference/uniqueSymbolsErrors.symbols index de62c08e88b..8f47912956e 100644 --- a/tests/baselines/reference/uniqueSymbolsErrors.symbols +++ b/tests/baselines/reference/uniqueSymbolsErrors.symbols @@ -214,7 +214,7 @@ type InvalidAliasTypeParameterDefault = never; // type references declare const invalidTypeArgument: Promise; >invalidTypeArgument : Symbol(invalidTypeArgument, Decl(uniqueSymbolsErrors.ts, 73, 13)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) declare const invalidArrayType: (unique symbol)[]; >invalidArrayType : Symbol(invalidArrayType, Decl(uniqueSymbolsErrors.ts, 74, 13)) @@ -238,5 +238,5 @@ declare const invalidIntersection: unique symbol | unique symbol; // https://github.com/Microsoft/TypeScript/issues/21584 const shouldNotBeAssignable: string = Symbol(); >shouldNotBeAssignable : Symbol(shouldNotBeAssignable, Decl(uniqueSymbolsErrors.ts, 86, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/unknownPropertiesAreAssignableToObjectUnion.symbols b/tests/baselines/reference/unknownPropertiesAreAssignableToObjectUnion.symbols index f9c0b09c987..ba627e547d6 100644 --- a/tests/baselines/reference/unknownPropertiesAreAssignableToObjectUnion.symbols +++ b/tests/baselines/reference/unknownPropertiesAreAssignableToObjectUnion.symbols @@ -1,11 +1,11 @@ === tests/cases/compiler/unknownPropertiesAreAssignableToObjectUnion.ts === const x: Object | string = { x: 0 }; >x : Symbol(x, Decl(unknownPropertiesAreAssignableToObjectUnion.ts, 0, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(unknownPropertiesAreAssignableToObjectUnion.ts, 0, 28)) const y: Object | undefined = { x: 0 }; >y : Symbol(y, Decl(unknownPropertiesAreAssignableToObjectUnion.ts, 1, 5)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(unknownPropertiesAreAssignableToObjectUnion.ts, 1, 31)) diff --git a/tests/baselines/reference/unknownSymbolInGenericReturnType.symbols b/tests/baselines/reference/unknownSymbolInGenericReturnType.symbols index 515385960d6..f34871cae2e 100644 --- a/tests/baselines/reference/unknownSymbolInGenericReturnType.symbols +++ b/tests/baselines/reference/unknownSymbolInGenericReturnType.symbols @@ -14,17 +14,17 @@ class Linq { var result = new Array(values.length); >result : Symbol(result, Decl(unknownSymbolInGenericReturnType.ts, 2, 11)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->values.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>values.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >values : Symbol(values, Decl(unknownSymbolInGenericReturnType.ts, 1, 31)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) for (var i = 0; i < values.length; i++) { >i : Symbol(i, Decl(unknownSymbolInGenericReturnType.ts, 4, 16)) >i : Symbol(i, Decl(unknownSymbolInGenericReturnType.ts, 4, 16)) ->values.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>values.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >values : Symbol(values, Decl(unknownSymbolInGenericReturnType.ts, 1, 31)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(unknownSymbolInGenericReturnType.ts, 4, 16)) result[i] = func(values[i]); diff --git a/tests/baselines/reference/unknownSymbolOffContextualType1.symbols b/tests/baselines/reference/unknownSymbolOffContextualType1.symbols index 8089af1d1fc..1360417ccf3 100644 --- a/tests/baselines/reference/unknownSymbolOffContextualType1.symbols +++ b/tests/baselines/reference/unknownSymbolOffContextualType1.symbols @@ -1,18 +1,18 @@ === tests/cases/compiler/unknownSymbolOffContextualType1.ts === declare var document: Document; ->document : Symbol(document, Decl(lib.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 0, 11)) ->Document : Symbol(Document, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 0, 31)) +>document : Symbol(document, Decl(lib.dom.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 0, 11)) +>Document : Symbol(Document, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 0, 31)) interface Document { ->Document : Symbol(Document, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 0, 31)) +>Document : Symbol(Document, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 0, 31)) getElementById(elementId: string): HTMLElement; ->getElementById : Symbol(Document.getElementById, Decl(lib.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 1, 20)) +>getElementById : Symbol(Document.getElementById, Decl(lib.dom.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 1, 20)) >elementId : Symbol(elementId, Decl(unknownSymbolOffContextualType1.ts, 2, 19)) ->HTMLElement : Symbol(HTMLElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 3, 1)) +>HTMLElement : Symbol(HTMLElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 3, 1)) } interface HTMLElement { ->HTMLElement : Symbol(HTMLElement, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 3, 1)) +>HTMLElement : Symbol(HTMLElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 3, 1)) isDisabled: boolean; >isDisabled : Symbol(HTMLElement.isDisabled, Decl(unknownSymbolOffContextualType1.ts, 4, 23)) @@ -23,23 +23,23 @@ function getMaxWidth(elementNames: string[]) { var elements = elementNames.map(function (name) { >elements : Symbol(elements, Decl(unknownSymbolOffContextualType1.ts, 8, 7)) ->elementNames.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>elementNames.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >elementNames : Symbol(elementNames, Decl(unknownSymbolOffContextualType1.ts, 7, 21)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >name : Symbol(name, Decl(unknownSymbolOffContextualType1.ts, 8, 46)) return document.getElementById(name); ->document.getElementById : Symbol(Document.getElementById, Decl(lib.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 1, 20)) ->document : Symbol(document, Decl(lib.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 0, 11)) ->getElementById : Symbol(Document.getElementById, Decl(lib.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 1, 20)) +>document.getElementById : Symbol(Document.getElementById, Decl(lib.dom.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 1, 20)) +>document : Symbol(document, Decl(lib.dom.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 0, 11)) +>getElementById : Symbol(Document.getElementById, Decl(lib.dom.d.ts, --, --), Decl(unknownSymbolOffContextualType1.ts, 1, 20)) >name : Symbol(name, Decl(unknownSymbolOffContextualType1.ts, 8, 46)) }); var enabled = elements.filter(function (e) { >enabled : Symbol(enabled, Decl(unknownSymbolOffContextualType1.ts, 11, 7)) ->elements.filter : Symbol(Array.filter, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>elements.filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >elements : Symbol(elements, Decl(unknownSymbolOffContextualType1.ts, 8, 7)) ->filter : Symbol(Array.filter, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >e : Symbol(e, Decl(unknownSymbolOffContextualType1.ts, 11, 44)) return !e.isDisabled; @@ -50,9 +50,9 @@ function getMaxWidth(elementNames: string[]) { }); var widths = enabled.map(function (e) { >widths : Symbol(widths, Decl(unknownSymbolOffContextualType1.ts, 14, 7)) ->enabled.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>enabled.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >enabled : Symbol(enabled, Decl(unknownSymbolOffContextualType1.ts, 11, 7)) ->map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >e : Symbol(e, Decl(unknownSymbolOffContextualType1.ts, 14, 39)) return e.xyxyxyx; // error expected here @@ -61,9 +61,9 @@ function getMaxWidth(elementNames: string[]) { }); var maxWidth = widths.reduce(function (a, b) { >maxWidth : Symbol(maxWidth, Decl(unknownSymbolOffContextualType1.ts, 17, 7)) ->widths.reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>widths.reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >widths : Symbol(widths, Decl(unknownSymbolOffContextualType1.ts, 14, 7)) ->reduce : Symbol(Array.reduce, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>reduce : Symbol(Array.reduce, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(unknownSymbolOffContextualType1.ts, 17, 43)) >b : Symbol(b, Decl(unknownSymbolOffContextualType1.ts, 17, 45)) diff --git a/tests/baselines/reference/unspecializedConstraints.symbols b/tests/baselines/reference/unspecializedConstraints.symbols index 59befcc11f6..5223dbd9bf7 100644 --- a/tests/baselines/reference/unspecializedConstraints.symbols +++ b/tests/baselines/reference/unspecializedConstraints.symbols @@ -272,28 +272,28 @@ module ts { >Signature : Symbol(Signature, Decl(unspecializedConstraints.ts, 80, 5)) return this.parameters.length === other.parameters.length && ->this.parameters.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.parameters.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.parameters : Symbol(Signature.parameters, Decl(unspecializedConstraints.ts, 83, 59)) >this : Symbol(Signature, Decl(unspecializedConstraints.ts, 80, 5)) >parameters : Symbol(Signature.parameters, Decl(unspecializedConstraints.ts, 83, 59)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->other.parameters.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) +>other.parameters.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >other.parameters : Symbol(Signature.parameters, Decl(unspecializedConstraints.ts, 83, 59)) >other : Symbol(other, Decl(unspecializedConstraints.ts, 86, 23)) >parameters : Symbol(Signature.parameters, Decl(unspecializedConstraints.ts, 83, 59)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) this.typeParameters.length === other.typeParameters.length && ->this.typeParameters.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>this.typeParameters.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >this.typeParameters : Symbol(Signature.typeParameters, Decl(unspecializedConstraints.ts, 83, 20)) >this : Symbol(Signature, Decl(unspecializedConstraints.ts, 80, 5)) >typeParameters : Symbol(Signature.typeParameters, Decl(unspecializedConstraints.ts, 83, 20)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) ->other.typeParameters.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) +>other.typeParameters.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >other.typeParameters : Symbol(Signature.typeParameters, Decl(unspecializedConstraints.ts, 83, 20)) >other : Symbol(other, Decl(unspecializedConstraints.ts, 86, 23)) >typeParameters : Symbol(Signature.typeParameters, Decl(unspecializedConstraints.ts, 83, 20)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) arrayEquals(this.parameters, other.parameters) && >arrayEquals : Symbol(arrayEquals, Decl(unspecializedConstraints.ts, 132, 5)) @@ -396,11 +396,11 @@ module ts { var hasOwnProperty = Object.prototype.hasOwnProperty; >hasOwnProperty : Symbol(hasOwnProperty, Decl(unspecializedConstraints.ts, 115, 7)) ->Object.prototype.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) ->Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) ->prototype : Symbol(ObjectConstructor.prototype, Decl(lib.d.ts, --, --)) ->hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.d.ts, --, --)) +>Object.prototype.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) +>Object.prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>prototype : Symbol(ObjectConstructor.prototype, Decl(lib.es5.d.ts, --, --)) +>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --)) function getProperty(map: Map, key: string): T { >getProperty : Symbol(getProperty, Decl(unspecializedConstraints.ts, 115, 57)) @@ -412,9 +412,9 @@ module ts { >T : Symbol(T, Decl(unspecializedConstraints.ts, 117, 25)) if (!hasOwnProperty.call(map, key)) return undefined; ->hasOwnProperty.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>hasOwnProperty.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >hasOwnProperty : Symbol(hasOwnProperty, Decl(unspecializedConstraints.ts, 115, 7)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >map : Symbol(map, Decl(unspecializedConstraints.ts, 117, 28)) >key : Symbol(key, Decl(unspecializedConstraints.ts, 117, 40)) >undefined : Symbol(undefined) @@ -433,9 +433,9 @@ module ts { >key : Symbol(key, Decl(unspecializedConstraints.ts, 122, 40)) return hasOwnProperty.call(map, key); ->hasOwnProperty.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>hasOwnProperty.call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >hasOwnProperty : Symbol(hasOwnProperty, Decl(unspecializedConstraints.ts, 115, 7)) ->call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>call : Symbol(Function.call, Decl(lib.es5.d.ts, --, --)) >map : Symbol(map, Decl(unspecializedConstraints.ts, 122, 28)) >key : Symbol(key, Decl(unspecializedConstraints.ts, 122, 40)) } @@ -452,9 +452,9 @@ module ts { var len = a.length; >len : Symbol(len, Decl(unspecializedConstraints.ts, 127, 11)) ->a.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>a.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(unspecializedConstraints.ts, 126, 48)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) for (var i = 0; i < len; i++) { >i : Symbol(i, Decl(unspecializedConstraints.ts, 128, 16)) @@ -484,14 +484,14 @@ module ts { var len = a.length; >len : Symbol(len, Decl(unspecializedConstraints.ts, 135, 11)) ->a.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>a.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(unspecializedConstraints.ts, 134, 46)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) if (b.length !== len) return false; ->b.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>b.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(unspecializedConstraints.ts, 134, 53)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >len : Symbol(len, Decl(unspecializedConstraints.ts, 135, 11)) for (var i = 0; i < len; i++) { @@ -523,14 +523,14 @@ module ts { var len = a.length; >len : Symbol(len, Decl(unspecializedConstraints.ts, 144, 11)) ->a.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>a.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(unspecializedConstraints.ts, 143, 44)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) if (b.length !== len) return false; ->b.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>b.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >b : Symbol(b, Decl(unspecializedConstraints.ts, 143, 51)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >len : Symbol(len, Decl(unspecializedConstraints.ts, 144, 11)) for (var i = 0; i < len; i++) { diff --git a/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.symbols b/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.symbols index e9e06b68f80..5f51967dc30 100644 --- a/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.symbols +++ b/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.symbols @@ -17,7 +17,7 @@ var r2 = y(); var c: Function; >c : Symbol(c, Decl(untypedFunctionCallsWithTypeParameters1.ts, 6, 3)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var r3 = c(); // should be an error >r3 : Symbol(r3, Decl(untypedFunctionCallsWithTypeParameters1.ts, 7, 3)) @@ -25,7 +25,7 @@ var r3 = c(); // should be an error class C implements Function { >C : Symbol(C, Decl(untypedFunctionCallsWithTypeParameters1.ts, 7, 21)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) prototype = null; >prototype : Symbol(C.prototype, Decl(untypedFunctionCallsWithTypeParameters1.ts, 9, 29)) @@ -50,7 +50,7 @@ var r4 = c2(); // should be an error class C2 extends Function { } // error >C2 : Symbol(C2, Decl(untypedFunctionCallsWithTypeParameters1.ts, 17, 22)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var c3: C2; >c3 : Symbol(c3, Decl(untypedFunctionCallsWithTypeParameters1.ts, 20, 3)) diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.symbols b/tests/baselines/reference/unusedIdentifiersConsolidated1.symbols index ed7491d2b06..13e61d3547b 100644 --- a/tests/baselines/reference/unusedIdentifiersConsolidated1.symbols +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.symbols @@ -91,9 +91,9 @@ namespace Validation { >s2 : Symbol(s2, Decl(unusedIdentifiersConsolidated1.ts, 39, 21)) return lettersRegexp.test(s2); ->lettersRegexp.test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) +>lettersRegexp.test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) >lettersRegexp : Symbol(lettersRegexp, Decl(unusedIdentifiersConsolidated1.ts, 35, 9)) ->test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) +>test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) >s2 : Symbol(s2, Decl(unusedIdentifiersConsolidated1.ts, 39, 21)) } @@ -111,9 +111,9 @@ namespace Validation { >s3 : Symbol(s3, Decl(unusedIdentifiersConsolidated1.ts, 48, 21)) return s3.length === 5; ->s3.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>s3.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >s3 : Symbol(s3, Decl(unusedIdentifiersConsolidated1.ts, 48, 21)) ->length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.symbols b/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.symbols index 1cc03613409..839a5b7c091 100644 --- a/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.symbols +++ b/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.symbols @@ -50,7 +50,7 @@ type handler6 = () => void; var y: Array; >y : Symbol(y, Decl(unusedLocalsAndParametersTypeAliases.ts, 23, 3)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >handler6 : Symbol(handler6, Decl(unusedLocalsAndParametersTypeAliases.ts, 19, 4)) y[0](); diff --git a/tests/baselines/reference/unusedVariablesinNamespaces2.symbols b/tests/baselines/reference/unusedVariablesinNamespaces2.symbols index aa8a5b67761..ed85811888f 100644 --- a/tests/baselines/reference/unusedVariablesinNamespaces2.symbols +++ b/tests/baselines/reference/unusedVariablesinNamespaces2.symbols @@ -16,9 +16,9 @@ namespace Validation { >s2 : Symbol(s2, Decl(unusedVariablesinNamespaces2.ts, 5, 21)) return lettersRegexp.test(s2); ->lettersRegexp.test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) +>lettersRegexp.test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) >lettersRegexp : Symbol(lettersRegexp, Decl(unusedVariablesinNamespaces2.ts, 1, 9)) ->test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) +>test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) >s2 : Symbol(s2, Decl(unusedVariablesinNamespaces2.ts, 5, 21)) } } diff --git a/tests/baselines/reference/unusedVariablesinNamespaces3.symbols b/tests/baselines/reference/unusedVariablesinNamespaces3.symbols index 4345dc49a40..6e74708a259 100644 --- a/tests/baselines/reference/unusedVariablesinNamespaces3.symbols +++ b/tests/baselines/reference/unusedVariablesinNamespaces3.symbols @@ -19,9 +19,9 @@ namespace Validation { >s2 : Symbol(s2, Decl(unusedVariablesinNamespaces3.ts, 6, 21)) return lettersRegexp.test(s2); ->lettersRegexp.test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) +>lettersRegexp.test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) >lettersRegexp : Symbol(lettersRegexp, Decl(unusedVariablesinNamespaces3.ts, 1, 9)) ->test : Symbol(RegExp.test, Decl(lib.d.ts, --, --)) +>test : Symbol(RegExp.test, Decl(lib.es5.d.ts, --, --)) >s2 : Symbol(s2, Decl(unusedVariablesinNamespaces3.ts, 6, 21)) } } diff --git a/tests/baselines/reference/useObjectValuesAndEntries3.symbols b/tests/baselines/reference/useObjectValuesAndEntries3.symbols index 0e0b62f734e..51f2b14cc93 100644 --- a/tests/baselines/reference/useObjectValuesAndEntries3.symbols +++ b/tests/baselines/reference/useObjectValuesAndEntries3.symbols @@ -6,7 +6,7 @@ var o = { a: 1, b: 2 }; for (var x of Object.values(o)) { >x : Symbol(x, Decl(useObjectValuesAndEntries3.ts, 2, 8)) ->Object : Symbol(Object, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >o : Symbol(o, Decl(useObjectValuesAndEntries3.ts, 0, 3)) let y = x; @@ -16,6 +16,6 @@ for (var x of Object.values(o)) { var entries = Object.entries(o); >entries : Symbol(entries, Decl(useObjectValuesAndEntries3.ts, 6, 3)) ->Object : Symbol(Object, Decl(lib.es6.d.ts, --, --), Decl(lib.es6.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >o : Symbol(o, Decl(useObjectValuesAndEntries3.ts, 0, 3)) diff --git a/tests/baselines/reference/usePromiseFinally.symbols b/tests/baselines/reference/usePromiseFinally.symbols index aaffd056eb8..a9346f4eddd 100644 --- a/tests/baselines/reference/usePromiseFinally.symbols +++ b/tests/baselines/reference/usePromiseFinally.symbols @@ -2,7 +2,7 @@ let promise1 = new Promise(function(resolve, reject) {}) >promise1 : Symbol(promise1, Decl(usePromiseFinally.ts, 0, 3)) >new Promise(function(resolve, reject) {}) .finally : Symbol(Promise.finally, Decl(lib.es2018.promise.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.es2018.promise.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) >resolve : Symbol(resolve, Decl(usePromiseFinally.ts, 0, 36)) >reject : Symbol(reject, Decl(usePromiseFinally.ts, 0, 44)) diff --git a/tests/baselines/reference/useSharedArrayBuffer4.symbols b/tests/baselines/reference/useSharedArrayBuffer4.symbols index d6c9cb8d002..01e7cd89184 100644 --- a/tests/baselines/reference/useSharedArrayBuffer4.symbols +++ b/tests/baselines/reference/useSharedArrayBuffer4.symbols @@ -13,14 +13,14 @@ var species = foge[Symbol.species]; >species : Symbol(species, Decl(useSharedArrayBuffer4.ts, 2, 3)) >foge : Symbol(foge, Decl(useSharedArrayBuffer4.ts, 0, 3)) >Symbol.species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var stringTag = foge[Symbol.toStringTag]; >stringTag : Symbol(stringTag, Decl(useSharedArrayBuffer4.ts, 3, 3)) >foge : Symbol(foge, Decl(useSharedArrayBuffer4.ts, 0, 3)) >Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var len = foge.byteLength; diff --git a/tests/baselines/reference/useSharedArrayBuffer5.symbols b/tests/baselines/reference/useSharedArrayBuffer5.symbols index f44595db76e..8231cbeb1e6 100644 --- a/tests/baselines/reference/useSharedArrayBuffer5.symbols +++ b/tests/baselines/reference/useSharedArrayBuffer5.symbols @@ -7,13 +7,13 @@ var species = foge[Symbol.species]; >species : Symbol(species, Decl(useSharedArrayBuffer5.ts, 1, 3)) >foge : Symbol(foge, Decl(useSharedArrayBuffer5.ts, 0, 3)) >Symbol.species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var stringTag = foge[Symbol.toStringTag]; >stringTag : Symbol(stringTag, Decl(useSharedArrayBuffer5.ts, 2, 3)) >foge : Symbol(foge, Decl(useSharedArrayBuffer5.ts, 0, 3)) >Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/useSharedArrayBuffer6.symbols b/tests/baselines/reference/useSharedArrayBuffer6.symbols index 539fbe5c280..2b0ddbbe843 100644 --- a/tests/baselines/reference/useSharedArrayBuffer6.symbols +++ b/tests/baselines/reference/useSharedArrayBuffer6.symbols @@ -7,13 +7,13 @@ var species = foge[Symbol.species]; >species : Symbol(species, Decl(useSharedArrayBuffer6.ts, 1, 3)) >foge : Symbol(foge, Decl(useSharedArrayBuffer6.ts, 0, 3)) >Symbol.species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) var stringTag = foge[Symbol.toStringTag]; >stringTag : Symbol(stringTag, Decl(useSharedArrayBuffer6.ts, 2, 3)) >foge : Symbol(foge, Decl(useSharedArrayBuffer6.ts, 0, 3)) >Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) diff --git a/tests/baselines/reference/validBooleanAssignments.symbols b/tests/baselines/reference/validBooleanAssignments.symbols index b7ba6be03c1..75c9acd1901 100644 --- a/tests/baselines/reference/validBooleanAssignments.symbols +++ b/tests/baselines/reference/validBooleanAssignments.symbols @@ -8,12 +8,12 @@ var a: any = x; var b: Object = x; >b : Symbol(b, Decl(validBooleanAssignments.ts, 3, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(validBooleanAssignments.ts, 0, 3)) var c: Boolean = x; >c : Symbol(c, Decl(validBooleanAssignments.ts, 4, 3)) ->Boolean : Symbol(Boolean, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(validBooleanAssignments.ts, 0, 3)) var d: boolean = x; diff --git a/tests/baselines/reference/validMultipleVariableDeclarations.symbols b/tests/baselines/reference/validMultipleVariableDeclarations.symbols index 142e3a43121..a1b155d3b1e 100644 --- a/tests/baselines/reference/validMultipleVariableDeclarations.symbols +++ b/tests/baselines/reference/validMultipleVariableDeclarations.symbols @@ -110,7 +110,7 @@ var a: string[] = []; var a = new Array(); >a : Symbol(a, Decl(validMultipleVariableDeclarations.ts, 32, 3), Decl(validMultipleVariableDeclarations.ts, 33, 3), Decl(validMultipleVariableDeclarations.ts, 34, 3), Decl(validMultipleVariableDeclarations.ts, 35, 3), Decl(validMultipleVariableDeclarations.ts, 36, 3) ... and 1 more) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) var a: typeof a; >a : Symbol(a, Decl(validMultipleVariableDeclarations.ts, 32, 3), Decl(validMultipleVariableDeclarations.ts, 33, 3), Decl(validMultipleVariableDeclarations.ts, 34, 3), Decl(validMultipleVariableDeclarations.ts, 35, 3), Decl(validMultipleVariableDeclarations.ts, 36, 3) ... and 1 more) diff --git a/tests/baselines/reference/validNumberAssignments.symbols b/tests/baselines/reference/validNumberAssignments.symbols index 7cb763bc89b..e10583bf40e 100644 --- a/tests/baselines/reference/validNumberAssignments.symbols +++ b/tests/baselines/reference/validNumberAssignments.symbols @@ -8,7 +8,7 @@ var a: any = x; var b: Object = x; >b : Symbol(b, Decl(validNumberAssignments.ts, 3, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(validNumberAssignments.ts, 0, 3)) var c: number = x; diff --git a/tests/baselines/reference/validStringAssignments.symbols b/tests/baselines/reference/validStringAssignments.symbols index cb949fd076e..480f08406e8 100644 --- a/tests/baselines/reference/validStringAssignments.symbols +++ b/tests/baselines/reference/validStringAssignments.symbols @@ -8,7 +8,7 @@ var a: any = x; var b: Object = x; >b : Symbol(b, Decl(validStringAssignments.ts, 3, 3)) ->Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(validStringAssignments.ts, 0, 3)) var c: string = x; @@ -17,6 +17,6 @@ var c: string = x; var d: String = x; >d : Symbol(d, Decl(validStringAssignments.ts, 5, 3)) ->String : Symbol(String, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(validStringAssignments.ts, 0, 3)) diff --git a/tests/baselines/reference/vararg.symbols b/tests/baselines/reference/vararg.symbols index 402b7320d88..a65d7aef07c 100644 --- a/tests/baselines/reference/vararg.symbols +++ b/tests/baselines/reference/vararg.symbols @@ -16,9 +16,9 @@ module M { for (var i=0;ii : Symbol(i, Decl(vararg.ts, 4, 20)) >i : Symbol(i, Decl(vararg.ts, 4, 20)) ->rest.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>rest.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >rest : Symbol(rest, Decl(vararg.ts, 2, 26)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(vararg.ts, 4, 20)) sum+=rest[i]; @@ -50,9 +50,9 @@ module M { for (var i=0;ii : Symbol(i, Decl(vararg.ts, 17, 20)) >i : Symbol(i, Decl(vararg.ts, 17, 20)) ->rest.length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>rest.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >rest : Symbol(rest, Decl(vararg.ts, 15, 21)) ->length : Symbol(Array.length, Decl(lib.d.ts, --, --)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) >i : Symbol(i, Decl(vararg.ts, 17, 20)) builder+=rest[i]; diff --git a/tests/baselines/reference/vardecl.symbols b/tests/baselines/reference/vardecl.symbols index 98e6f1b5330..f2315e57f02 100644 --- a/tests/baselines/reference/vardecl.symbols +++ b/tests/baselines/reference/vardecl.symbols @@ -41,9 +41,9 @@ var complicatedArrayVar: { x: number; y: string; }[] ; >y : Symbol(y, Decl(vardecl.ts, 18, 37)) complicatedArrayVar.push({ x: 30, y : 'hello world' }); ->complicatedArrayVar.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>complicatedArrayVar.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >complicatedArrayVar : Symbol(complicatedArrayVar, Decl(vardecl.ts, 18, 3)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(vardecl.ts, 19, 26)) >y : Symbol(y, Decl(vardecl.ts, 19, 33)) diff --git a/tests/baselines/reference/variableDeclarationDeclarationEmitUniqueSymbolPartialStatement.symbols b/tests/baselines/reference/variableDeclarationDeclarationEmitUniqueSymbolPartialStatement.symbols index ff06ccca974..dffceb5b04a 100644 --- a/tests/baselines/reference/variableDeclarationDeclarationEmitUniqueSymbolPartialStatement.symbols +++ b/tests/baselines/reference/variableDeclarationDeclarationEmitUniqueSymbolPartialStatement.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/variableDeclarationDeclarationEmitUniqueSymbolPartialStatement.ts === const key = Symbol(), value = 12; >key : Symbol(key, Decl(variableDeclarationDeclarationEmitUniqueSymbolPartialStatement.ts, 0, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >value : Symbol(value, Decl(variableDeclarationDeclarationEmitUniqueSymbolPartialStatement.ts, 0, 21)) export class Foo { diff --git a/tests/baselines/reference/variableDeclarationInStrictMode1.errors.txt b/tests/baselines/reference/variableDeclarationInStrictMode1.errors.txt index 9143e4c81c8..10b6a9b0c3b 100644 --- a/tests/baselines/reference/variableDeclarationInStrictMode1.errors.txt +++ b/tests/baselines/reference/variableDeclarationInStrictMode1.errors.txt @@ -1,6 +1,6 @@ tests/cases/compiler/variableDeclarationInStrictMode1.ts(2,5): error TS1100: Invalid use of 'eval' in strict mode. tests/cases/compiler/variableDeclarationInStrictMode1.ts(2,5): error TS2300: Duplicate identifier 'eval'. -lib.d.ts(32,18): error TS2300: Duplicate identifier 'eval'. +lib.es5.d.ts(32,18): error TS2300: Duplicate identifier 'eval'. ==== tests/cases/compiler/variableDeclarationInStrictMode1.ts (2 errors) ==== diff --git a/tests/baselines/reference/voidOperatorWithStringType.symbols b/tests/baselines/reference/voidOperatorWithStringType.symbols index 448b5f79c00..4dda065d94e 100644 --- a/tests/baselines/reference/voidOperatorWithStringType.symbols +++ b/tests/baselines/reference/voidOperatorWithStringType.symbols @@ -88,9 +88,9 @@ var ResultIsAny11 = void (STRING + STRING); var ResultIsAny12 = void STRING.charAt(0); >ResultIsAny12 : Symbol(ResultIsAny12, Decl(voidOperatorWithStringType.ts, 32, 3)) ->STRING.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>STRING.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) >STRING : Symbol(STRING, Decl(voidOperatorWithStringType.ts, 1, 3)) ->charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) // multiple void operators var ResultIsAny13 = void void STRING; diff --git a/tests/baselines/reference/weakType.symbols b/tests/baselines/reference/weakType.symbols index 4712d282fb0..3e47c828190 100644 --- a/tests/baselines/reference/weakType.symbols +++ b/tests/baselines/reference/weakType.symbols @@ -93,15 +93,15 @@ function del(options: ConfigurableStartEnd = {}, >ChangeOptions : Symbol(ChangeOptions, Decl(weakType.ts, 29, 1)) changes.push(options); ->changes.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>changes.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >changes : Symbol(changes, Decl(weakType.ts, 34, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >options : Symbol(options, Decl(weakType.ts, 32, 13)) changes.push(error); ->changes.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>changes.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >changes : Symbol(changes, Decl(weakType.ts, 34, 7)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >error : Symbol(error, Decl(weakType.ts, 32, 48)) } diff --git a/tests/baselines/reference/withExportDecl.symbols b/tests/baselines/reference/withExportDecl.symbols index 4457abb76ea..2be6a3ddf7e 100644 --- a/tests/baselines/reference/withExportDecl.symbols +++ b/tests/baselines/reference/withExportDecl.symbols @@ -56,9 +56,9 @@ export var exportedArrayVar: { x: number; y: string; }[] ; >y : Symbol(y, Decl(withExportDecl.ts, 22, 41)) exportedArrayVar.push({ x: 30, y : 'hello world' }); ->exportedArrayVar.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>exportedArrayVar.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >exportedArrayVar : Symbol(exportedArrayVar, Decl(withExportDecl.ts, 22, 10)) ->push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(withExportDecl.ts, 23, 23)) >y : Symbol(y, Decl(withExportDecl.ts, 23, 30)) diff --git a/tests/baselines/reference/wrappedAndRecursiveConstraints.symbols b/tests/baselines/reference/wrappedAndRecursiveConstraints.symbols index 0aa90b3d89d..435ccacc947 100644 --- a/tests/baselines/reference/wrappedAndRecursiveConstraints.symbols +++ b/tests/baselines/reference/wrappedAndRecursiveConstraints.symbols @@ -4,7 +4,7 @@ class C { >C : Symbol(C, Decl(wrappedAndRecursiveConstraints.ts, 0, 0)) >T : Symbol(T, Decl(wrappedAndRecursiveConstraints.ts, 2, 8)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) constructor(public data: T) { } >data : Symbol(C.data, Decl(wrappedAndRecursiveConstraints.ts, 3, 16)) @@ -24,7 +24,7 @@ class C { interface Foo extends Date { >Foo : Symbol(Foo, Decl(wrappedAndRecursiveConstraints.ts, 7, 1)) ->Date : Symbol(Date, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) foo: string; >foo : Symbol(Foo.foo, Decl(wrappedAndRecursiveConstraints.ts, 9, 28)) diff --git a/tests/baselines/reference/yieldExpression1.symbols b/tests/baselines/reference/yieldExpression1.symbols index 3ecc11d799f..fb7c2b585f8 100644 --- a/tests/baselines/reference/yieldExpression1.symbols +++ b/tests/baselines/reference/yieldExpression1.symbols @@ -8,7 +8,7 @@ function* a() { function* b(): IterableIterator { >b : Symbol(b, Decl(yieldExpression1.ts, 3, 1)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es6.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) yield; yield 0; From 6c35abe77fa1df191dd10521ba677e2ec4304915 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Wed, 9 May 2018 11:11:46 -0700 Subject: [PATCH 07/76] Add additional Array.from test case --- .../baselines/reference/arrayFrom.errors.txt | 7 +- tests/baselines/reference/arrayFrom.js | 9 +++ tests/baselines/reference/arrayFrom.symbols | 80 ++++++++++++------- tests/baselines/reference/arrayFrom.types | 33 ++++++++ tests/cases/compiler/arrayFrom.ts | 3 + 5 files changed, 103 insertions(+), 29 deletions(-) diff --git a/tests/baselines/reference/arrayFrom.errors.txt b/tests/baselines/reference/arrayFrom.errors.txt index 896125ee1ce..4685ec20db8 100644 --- a/tests/baselines/reference/arrayFrom.errors.txt +++ b/tests/baselines/reference/arrayFrom.errors.txt @@ -1,7 +1,7 @@ -tests/cases/compiler/arrayFrom.ts(19,7): error TS2322: Type 'A[]' is not assignable to type 'B[]'. +tests/cases/compiler/arrayFrom.ts(20,7): error TS2322: Type 'A[]' is not assignable to type 'B[]'. Type 'A' is not assignable to type 'B'. Property 'b' is missing in type 'A'. -tests/cases/compiler/arrayFrom.ts(22,7): error TS2322: Type 'A[]' is not assignable to type 'B[]'. +tests/cases/compiler/arrayFrom.ts(23,7): error TS2322: Type 'A[]' is not assignable to type 'B[]'. ==== tests/cases/compiler/arrayFrom.ts (2 errors) ==== @@ -20,6 +20,7 @@ tests/cases/compiler/arrayFrom.ts(22,7): error TS2322: Type 'A[]' is not assigna const inputB: B[] = []; const inputALike: ArrayLike = { length: 0 }; const inputARand = getEither(inputA, inputALike); + const inputASet = new Set(); const result1: A[] = Array.from(inputA); const result2: A[] = Array.from(inputA.values()); @@ -36,6 +37,8 @@ tests/cases/compiler/arrayFrom.ts(22,7): error TS2322: Type 'A[]' is not assigna const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); const result8: A[] = Array.from(inputARand); const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); + const result10: A[] = Array.from(new Set()); + const result11: B[] = Array.from(inputASet, ({ a }): B => ({ b: a })); // if this is written inline, the compiler seems to infer // the ?: as always taking the false branch, narrowing to ArrayLike, diff --git a/tests/baselines/reference/arrayFrom.js b/tests/baselines/reference/arrayFrom.js index b9b7ff75268..ea6fcf8fcf0 100644 --- a/tests/baselines/reference/arrayFrom.js +++ b/tests/baselines/reference/arrayFrom.js @@ -14,6 +14,7 @@ const inputA: A[] = []; const inputB: B[] = []; const inputALike: ArrayLike = { length: 0 }; const inputARand = getEither(inputA, inputALike); +const inputASet = new Set(); const result1: A[] = Array.from(inputA); const result2: A[] = Array.from(inputA.values()); @@ -24,6 +25,8 @@ const result6: B[] = Array.from(inputALike); // expect error const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); const result8: A[] = Array.from(inputARand); const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); +const result10: A[] = Array.from(new Set()); +const result11: B[] = Array.from(inputASet, ({ a }): B => ({ b: a })); // if this is written inline, the compiler seems to infer // the ?: as always taking the false branch, narrowing to ArrayLike, @@ -40,6 +43,7 @@ var inputA = []; var inputB = []; var inputALike = { length: 0 }; var inputARand = getEither(inputA, inputALike); +var inputASet = new Set(); var result1 = Array.from(inputA); var result2 = Array.from(inputA.values()); var result3 = Array.from(inputA.values()); // expect error @@ -58,6 +62,11 @@ var result9 = Array.from(inputARand, function (_a) { var a = _a.a; return ({ b: a }); }); +var result10 = Array.from(new Set()); +var result11 = Array.from(inputASet, function (_a) { + var a = _a.a; + return ({ b: a }); +}); // if this is written inline, the compiler seems to infer // the ?: as always taking the false branch, narrowing to ArrayLike, // even when the type is written as : Iterable|ArrayLike diff --git a/tests/baselines/reference/arrayFrom.symbols b/tests/baselines/reference/arrayFrom.symbols index 895b648a2a3..29ccb93a2e6 100644 --- a/tests/baselines/reference/arrayFrom.symbols +++ b/tests/baselines/reference/arrayFrom.symbols @@ -32,12 +32,17 @@ const inputALike: ArrayLike = { length: 0 }; const inputARand = getEither(inputA, inputALike); >inputARand : Symbol(inputARand, Decl(arrayFrom.ts, 14, 5)) ->getEither : Symbol(getEither, Decl(arrayFrom.ts, 24, 70)) +>getEither : Symbol(getEither, Decl(arrayFrom.ts, 27, 70)) >inputA : Symbol(inputA, Decl(arrayFrom.ts, 11, 5)) >inputALike : Symbol(inputALike, Decl(arrayFrom.ts, 13, 5)) +const inputASet = new Set(); +>inputASet : Symbol(inputASet, Decl(arrayFrom.ts, 15, 5)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) + const result1: A[] = Array.from(inputA); ->result1 : Symbol(result1, Decl(arrayFrom.ts, 16, 5)) +>result1 : Symbol(result1, Decl(arrayFrom.ts, 17, 5)) >A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) >Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @@ -45,7 +50,7 @@ const result1: A[] = Array.from(inputA); >inputA : Symbol(inputA, Decl(arrayFrom.ts, 11, 5)) const result2: A[] = Array.from(inputA.values()); ->result2 : Symbol(result2, Decl(arrayFrom.ts, 17, 5)) +>result2 : Symbol(result2, Decl(arrayFrom.ts, 18, 5)) >A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) >Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @@ -55,7 +60,7 @@ const result2: A[] = Array.from(inputA.values()); >values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) const result3: B[] = Array.from(inputA.values()); // expect error ->result3 : Symbol(result3, Decl(arrayFrom.ts, 18, 5)) +>result3 : Symbol(result3, Decl(arrayFrom.ts, 19, 5)) >B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) >Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @@ -65,19 +70,19 @@ const result3: B[] = Array.from(inputA.values()); // expect error >values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); ->result4 : Symbol(result4, Decl(arrayFrom.ts, 19, 5)) +>result4 : Symbol(result4, Decl(arrayFrom.ts, 20, 5)) >A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) >Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >inputB : Symbol(inputB, Decl(arrayFrom.ts, 12, 5)) ->b : Symbol(b, Decl(arrayFrom.ts, 19, 42)) +>b : Symbol(b, Decl(arrayFrom.ts, 20, 42)) >A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) ->a : Symbol(a, Decl(arrayFrom.ts, 19, 56)) ->b : Symbol(b, Decl(arrayFrom.ts, 19, 42)) +>a : Symbol(a, Decl(arrayFrom.ts, 20, 56)) +>b : Symbol(b, Decl(arrayFrom.ts, 20, 42)) const result5: A[] = Array.from(inputALike); ->result5 : Symbol(result5, Decl(arrayFrom.ts, 20, 5)) +>result5 : Symbol(result5, Decl(arrayFrom.ts, 21, 5)) >A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) >Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @@ -85,7 +90,7 @@ const result5: A[] = Array.from(inputALike); >inputALike : Symbol(inputALike, Decl(arrayFrom.ts, 13, 5)) const result6: B[] = Array.from(inputALike); // expect error ->result6 : Symbol(result6, Decl(arrayFrom.ts, 21, 5)) +>result6 : Symbol(result6, Decl(arrayFrom.ts, 22, 5)) >B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) >Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @@ -93,19 +98,19 @@ const result6: B[] = Array.from(inputALike); // expect error >inputALike : Symbol(inputALike, Decl(arrayFrom.ts, 13, 5)) const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); ->result7 : Symbol(result7, Decl(arrayFrom.ts, 22, 5)) +>result7 : Symbol(result7, Decl(arrayFrom.ts, 23, 5)) >B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) >Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >inputALike : Symbol(inputALike, Decl(arrayFrom.ts, 13, 5)) ->a : Symbol(a, Decl(arrayFrom.ts, 22, 46)) +>a : Symbol(a, Decl(arrayFrom.ts, 23, 46)) >B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) ->b : Symbol(b, Decl(arrayFrom.ts, 22, 60)) ->a : Symbol(a, Decl(arrayFrom.ts, 22, 46)) +>b : Symbol(b, Decl(arrayFrom.ts, 23, 60)) +>a : Symbol(a, Decl(arrayFrom.ts, 23, 46)) const result8: A[] = Array.from(inputARand); ->result8 : Symbol(result8, Decl(arrayFrom.ts, 23, 5)) +>result8 : Symbol(result8, Decl(arrayFrom.ts, 24, 5)) >A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) >Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) @@ -113,35 +118,56 @@ const result8: A[] = Array.from(inputARand); >inputARand : Symbol(inputARand, Decl(arrayFrom.ts, 14, 5)) const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); ->result9 : Symbol(result9, Decl(arrayFrom.ts, 24, 5)) +>result9 : Symbol(result9, Decl(arrayFrom.ts, 25, 5)) >B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) >Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) >inputARand : Symbol(inputARand, Decl(arrayFrom.ts, 14, 5)) ->a : Symbol(a, Decl(arrayFrom.ts, 24, 46)) +>a : Symbol(a, Decl(arrayFrom.ts, 25, 46)) >B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) ->b : Symbol(b, Decl(arrayFrom.ts, 24, 60)) ->a : Symbol(a, Decl(arrayFrom.ts, 24, 46)) +>b : Symbol(b, Decl(arrayFrom.ts, 25, 60)) +>a : Symbol(a, Decl(arrayFrom.ts, 25, 46)) + +const result10: A[] = Array.from(new Set()); +>result10 : Symbol(result10, Decl(arrayFrom.ts, 26, 5)) +>A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>A : Symbol(A, Decl(arrayFrom.ts, 0, 0)) + +const result11: B[] = Array.from(inputASet, ({ a }): B => ({ b: a })); +>result11 : Symbol(result11, Decl(arrayFrom.ts, 27, 5)) +>B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) +>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>from : Symbol(ArrayConstructor.from, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>inputASet : Symbol(inputASet, Decl(arrayFrom.ts, 15, 5)) +>a : Symbol(a, Decl(arrayFrom.ts, 27, 46)) +>B : Symbol(B, Decl(arrayFrom.ts, 5, 1)) +>b : Symbol(b, Decl(arrayFrom.ts, 27, 60)) +>a : Symbol(a, Decl(arrayFrom.ts, 27, 46)) // if this is written inline, the compiler seems to infer // the ?: as always taking the false branch, narrowing to ArrayLike, // even when the type is written as : Iterable|ArrayLike function getEither (in1: Iterable, in2: ArrayLike) { ->getEither : Symbol(getEither, Decl(arrayFrom.ts, 24, 70)) ->T : Symbol(T, Decl(arrayFrom.ts, 29, 19)) ->in1 : Symbol(in1, Decl(arrayFrom.ts, 29, 23)) +>getEither : Symbol(getEither, Decl(arrayFrom.ts, 27, 70)) +>T : Symbol(T, Decl(arrayFrom.ts, 32, 19)) +>in1 : Symbol(in1, Decl(arrayFrom.ts, 32, 23)) >Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) ->T : Symbol(T, Decl(arrayFrom.ts, 29, 19)) ->in2 : Symbol(in2, Decl(arrayFrom.ts, 29, 40)) +>T : Symbol(T, Decl(arrayFrom.ts, 32, 19)) +>in2 : Symbol(in2, Decl(arrayFrom.ts, 32, 40)) >ArrayLike : Symbol(ArrayLike, Decl(lib.es5.d.ts, --, --)) ->T : Symbol(T, Decl(arrayFrom.ts, 29, 19)) +>T : Symbol(T, Decl(arrayFrom.ts, 32, 19)) return Math.random() > 0.5 ? in1 : in2; >Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) >Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) ->in1 : Symbol(in1, Decl(arrayFrom.ts, 29, 23)) ->in2 : Symbol(in2, Decl(arrayFrom.ts, 29, 40)) +>in1 : Symbol(in1, Decl(arrayFrom.ts, 32, 23)) +>in2 : Symbol(in2, Decl(arrayFrom.ts, 32, 40)) } diff --git a/tests/baselines/reference/arrayFrom.types b/tests/baselines/reference/arrayFrom.types index b833fd0dc01..870d3dde945 100644 --- a/tests/baselines/reference/arrayFrom.types +++ b/tests/baselines/reference/arrayFrom.types @@ -41,6 +41,12 @@ const inputARand = getEither(inputA, inputALike); >inputA : A[] >inputALike : ArrayLike +const inputASet = new Set(); +>inputASet : Set +>new Set() : Set +>Set : SetConstructor +>A : A + const result1: A[] = Array.from(inputA); >result1 : A[] >A : A @@ -149,6 +155,33 @@ const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); >b : string >a : string +const result10: A[] = Array.from(new Set()); +>result10 : A[] +>A : A +>Array.from(new Set()) : A[] +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array : ArrayConstructor +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>new Set() : Set +>Set : SetConstructor +>A : A + +const result11: B[] = Array.from(inputASet, ({ a }): B => ({ b: a })); +>result11 : B[] +>B : B +>Array.from(inputASet, ({ a }): B => ({ b: a })) : B[] +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array : ArrayConstructor +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>inputASet : Set +>({ a }): B => ({ b: a }) : ({ a }: A) => B +>a : string +>B : B +>({ b: a }) : { b: string; } +>{ b: a } : { b: string; } +>b : string +>a : string + // if this is written inline, the compiler seems to infer // the ?: as always taking the false branch, narrowing to ArrayLike, // even when the type is written as : Iterable|ArrayLike diff --git a/tests/cases/compiler/arrayFrom.ts b/tests/cases/compiler/arrayFrom.ts index f0b8f5928cb..57b76943a02 100644 --- a/tests/cases/compiler/arrayFrom.ts +++ b/tests/cases/compiler/arrayFrom.ts @@ -15,6 +15,7 @@ const inputA: A[] = []; const inputB: B[] = []; const inputALike: ArrayLike = { length: 0 }; const inputARand = getEither(inputA, inputALike); +const inputASet = new Set(); const result1: A[] = Array.from(inputA); const result2: A[] = Array.from(inputA.values()); @@ -25,6 +26,8 @@ const result6: B[] = Array.from(inputALike); // expect error const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); const result8: A[] = Array.from(inputARand); const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); +const result10: A[] = Array.from(new Set()); +const result11: B[] = Array.from(inputASet, ({ a }): B => ({ b: a })); // if this is written inline, the compiler seems to infer // the ?: as always taking the false branch, narrowing to ArrayLike, From dbe87a67415472c1f826802234c885cee41511ef Mon Sep 17 00:00:00 2001 From: Zzzen <843968788@qq.com> Date: Sat, 19 May 2018 20:17:42 +0800 Subject: [PATCH 08/76] Document highlights on yield keywords highlight other occurrences in the same body --- src/services/documentHighlights.ts | 48 +++++++++++++++----- tests/cases/fourslash/getOccurrencesYield.ts | 22 +++++++++ 2 files changed, 59 insertions(+), 11 deletions(-) create mode 100644 tests/cases/fourslash/getOccurrencesYield.ts diff --git a/src/services/documentHighlights.ts b/src/services/documentHighlights.ts index e6a78e098e9..cd28f46a841 100644 --- a/src/services/documentHighlights.ts +++ b/src/services/documentHighlights.ts @@ -78,6 +78,8 @@ namespace ts.DocumentHighlights { return useParent(node.parent, isAwaitExpression, getAsyncAndAwaitOccurrences); case SyntaxKind.AsyncKeyword: return highlightSpans(getAsyncAndAwaitOccurrences(node)); + case SyntaxKind.YieldKeyword: + return highlightSpans(getYieldOccurrences(node)); default: return isModifierKind(node.kind) && (isDeclaration(node.parent) || isVariableStatement(node.parent)) ? highlightSpans(getModifierOccurrences(node.kind, node.parent)) @@ -170,7 +172,7 @@ namespace ts.DocumentHighlights { if (statement.kind === SyntaxKind.ContinueStatement) { return false; } - // falls through + // falls through case SyntaxKind.ForStatement: case SyntaxKind.ForInStatement: case SyntaxKind.ForOfStatement: @@ -237,7 +239,7 @@ namespace ts.DocumentHighlights { } } - function pushKeywordIf(keywordList: Push, token: Node, ...expected: SyntaxKind[]): boolean { + function pushKeywordIf(keywordList: Push, token: Node | undefined, ...expected: SyntaxKind[]): boolean { if (token && contains(expected, token.kind)) { keywordList.push(token); return true; @@ -384,18 +386,42 @@ namespace ts.DocumentHighlights { }); } - forEachChild(func, aggregate); + forEachChild(func, child => { + traverseWithoutCrossingFunction(child, node => { + if (isAwaitExpression(node)) { + pushKeywordIf(keywords, node.getFirstToken(), SyntaxKind.AwaitKeyword); + } + }); + }); + return keywords; + } - function aggregate(node: Node): void { - if (isAwaitExpression(node)) { - pushKeywordIf(keywords, node.getFirstToken()!, SyntaxKind.AwaitKeyword); - } - // Do not cross function boundaries. - if (!isFunctionLike(node) && !isClassLike(node) && !isInterfaceDeclaration(node) && !isModuleDeclaration(node) && !isTypeAliasDeclaration(node) && !isTypeNode(node)) { - forEachChild(node, aggregate); - } + function getYieldOccurrences(node: Node): Node[] | undefined { + const func = getContainingFunction(node) as FunctionDeclaration; + if (!func) { + return undefined; + } + + const keywords: Node[] = []; + + forEachChild(func, child => { + traverseWithoutCrossingFunction(child, node => { + if (isYieldExpression(node)) { + pushKeywordIf(keywords, node.getFirstToken(), SyntaxKind.YieldKeyword); + } + }); + }); + + return keywords; + } + + // Do not cross function/class/interface/module/type boundaries. + function traverseWithoutCrossingFunction(node: Node, cb: (node: Node) => void) { + cb(node); + if (!isFunctionLike(node) && !isClassLike(node) && !isInterfaceDeclaration(node) && !isModuleDeclaration(node) && !isTypeAliasDeclaration(node) && !isTypeNode(node)) { + forEachChild(node, child => traverseWithoutCrossingFunction(child, cb)); } } diff --git a/tests/cases/fourslash/getOccurrencesYield.ts b/tests/cases/fourslash/getOccurrencesYield.ts new file mode 100644 index 00000000000..34a0b771ad3 --- /dev/null +++ b/tests/cases/fourslash/getOccurrencesYield.ts @@ -0,0 +1,22 @@ +/// + +////function* f() { +//// [|yield|] 100; +//// [|y/**/ield|] [|yield|] 200; +//// class Foo { +//// *memberFunction() { +//// return yield 1; +//// } +//// } +//// return function* g() { +//// yield 1; +//// } +////} + + +verify.rangesAreOccurrences(false); + +goTo.marker(); +for (const range of test.ranges()) { + verify.occurrencesAtPositionContains(range, false); +} From 576a7333787133b08ab1af72c2409ef869b2ab1e Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 30 May 2018 17:52:59 -0700 Subject: [PATCH 09/76] For type emit, walk non-parent containers when those containers have aliases leading to the target (#24507) --- src/compiler/checker.ts | 46 +++++++++++++++++-- ...ltImportsCanPaintCrossModuleDeclaration.js | 37 +++++++++++++++ ...ortsCanPaintCrossModuleDeclaration.symbols | 26 +++++++++++ ...mportsCanPaintCrossModuleDeclaration.types | 27 +++++++++++ .../reference/importTypeGenericTypes.types | 4 +- .../baselines/reference/importTypeLocal.types | 4 +- ...ltImportsCanPaintCrossModuleDeclaration.ts | 12 +++++ 7 files changed, 149 insertions(+), 7 deletions(-) create mode 100644 tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.js create mode 100644 tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.symbols create mode 100644 tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types create mode 100644 tests/cases/compiler/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 033e332e068..7dd798a935d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2533,6 +2533,46 @@ namespace ts { return getMergedSymbol(symbol.parent && getLateBoundSymbol(symbol.parent)); } + /** + * Attempts to find the symbol corresponding to the container a symbol is in - usually this + * is just its' `.parent`, but for locals, this value is `undefined` + */ + function getContainerOfSymbol(symbol: Symbol): Symbol | undefined { + const container = getParentOfSymbol(symbol); + if (container) { + return container; + } + const candidate = forEach(symbol.declarations, d => !isAmbientModule(d) && d.parent && hasNonGlobalAugmentationExternalModuleSymbol(d.parent) ? getSymbolOfNode(d.parent) : undefined); + if (!candidate) { + return undefined; + } + const alias = getAliasForSymbolInContainer(candidate, symbol); + return alias ? candidate : undefined; + } + + function getAliasForSymbolInContainer(container: Symbol, symbol: Symbol) { + if (container === getParentOfSymbol(symbol)) { + // fast path, `symbol` is either already the alias or isn't aliased + return symbol; + } + const exports = getExportsOfSymbol(container); + const quick = exports.get(symbol.escapedName); + if (quick && symbolRefersToTarget(quick)) { + return quick; + } + return forEachEntry(exports, exported => { + if (symbolRefersToTarget(exported)) { + return exported; + } + }); + + function symbolRefersToTarget(s: Symbol) { + if (s === symbol || resolveSymbol(s) === symbol || resolveSymbol(s) === resolveSymbol(symbol)) { + return s; + } + } + } + function getExportSymbolOfValueSymbolIfExported(symbol: Symbol): Symbol; function getExportSymbolOfValueSymbolIfExported(symbol: Symbol | undefined): Symbol | undefined; function getExportSymbolOfValueSymbolIfExported(symbol: Symbol | undefined): Symbol | undefined { @@ -2838,7 +2878,7 @@ namespace ts { // But it can't, hence the accessible is going to be undefined, but that doesn't mean m.c is inaccessible // It is accessible if the parent m is accessible because then m.c can be accessed through qualification meaningToLook = getQualifiedLeftMeaning(meaning); - symbol = getParentOfSymbol(symbol); + symbol = getContainerOfSymbol(symbol); } // This could be a symbol that is not exported in the external module @@ -3729,12 +3769,12 @@ namespace ts { needsQualification(accessibleSymbolChain[0], context.enclosingDeclaration, accessibleSymbolChain.length === 1 ? meaning : getQualifiedLeftMeaning(meaning))) { // Go up and add our parent. - const parent = getParentOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); + const parent = getContainerOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); if (parent) { const parentChain = getSymbolChain(parent, getQualifiedLeftMeaning(meaning), /*endOfChain*/ false); if (parentChain) { parentSymbol = parent; - accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [symbol]); + accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [getAliasForSymbolInContainer(parent, symbol) || symbol]); } } } diff --git a/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.js b/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.js new file mode 100644 index 00000000000..96a5bfcb068 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.js @@ -0,0 +1,37 @@ +//// [tests/cases/compiler/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.ts] //// + +//// [color.ts] +interface Color { + c: string; +} +export default Color; +//// [file1.ts] +import Color from "./color"; +export declare function styled(): Color; +//// [file2.ts] +import { styled } from "./file1"; +export const A = styled(); + +//// [color.js] +"use strict"; +exports.__esModule = true; +//// [file1.js] +"use strict"; +exports.__esModule = true; +//// [file2.js] +"use strict"; +exports.__esModule = true; +var file1_1 = require("./file1"); +exports.A = file1_1.styled(); + + +//// [color.d.ts] +interface Color { + c: string; +} +export default Color; +//// [file1.d.ts] +import Color from "./color"; +export declare function styled(): Color; +//// [file2.d.ts] +export declare const A: import("./color").default; diff --git a/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.symbols b/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.symbols new file mode 100644 index 00000000000..4b1cd3b370e --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.symbols @@ -0,0 +1,26 @@ +=== tests/cases/compiler/color.ts === +interface Color { +>Color : Symbol(Color, Decl(color.ts, 0, 0)) + + c: string; +>c : Symbol(Color.c, Decl(color.ts, 0, 17)) +} +export default Color; +>Color : Symbol(Color, Decl(color.ts, 0, 0)) + +=== tests/cases/compiler/file1.ts === +import Color from "./color"; +>Color : Symbol(Color, Decl(file1.ts, 0, 6)) + +export declare function styled(): Color; +>styled : Symbol(styled, Decl(file1.ts, 0, 28)) +>Color : Symbol(Color, Decl(file1.ts, 0, 6)) + +=== tests/cases/compiler/file2.ts === +import { styled } from "./file1"; +>styled : Symbol(styled, Decl(file2.ts, 0, 8)) + +export const A = styled(); +>A : Symbol(A, Decl(file2.ts, 1, 12)) +>styled : Symbol(styled, Decl(file2.ts, 0, 8)) + diff --git a/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types b/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types new file mode 100644 index 00000000000..ffcf611af8c --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types @@ -0,0 +1,27 @@ +=== tests/cases/compiler/color.ts === +interface Color { +>Color : Color + + c: string; +>c : string +} +export default Color; +>Color : Color + +=== tests/cases/compiler/file1.ts === +import Color from "./color"; +>Color : any + +export declare function styled(): Color; +>styled : () => Color +>Color : Color + +=== tests/cases/compiler/file2.ts === +import { styled } from "./file1"; +>styled : () => import("tests/cases/compiler/color").default + +export const A = styled(); +>A : import("tests/cases/compiler/color").default +>styled() : import("tests/cases/compiler/color").default +>styled : () => import("tests/cases/compiler/color").default + diff --git a/tests/baselines/reference/importTypeGenericTypes.types b/tests/baselines/reference/importTypeGenericTypes.types index 19611db6963..dc7dff5e6f6 100644 --- a/tests/baselines/reference/importTypeGenericTypes.types +++ b/tests/baselines/reference/importTypeGenericTypes.types @@ -89,9 +89,9 @@ export const x: import("./foo")<{x: number}> = { x: 0, y: 0, data: {x: 12} }; >12 : 12 export let y: import("./foo2").Bar.I<{x: number}> = { a: "", b: 0, data: {x: 12} }; ->y : Bar.I<{ x: number; }> +>y : import("tests/cases/conformance/types/import/foo2").Bar.I<{ x: number; }> >Bar : any ->I : Bar.I +>I : import("tests/cases/conformance/types/import/foo2").Bar.I >x : number >{ a: "", b: 0, data: {x: 12} } : { a: string; b: number; data: { x: number; }; } >a : string diff --git a/tests/baselines/reference/importTypeLocal.types b/tests/baselines/reference/importTypeLocal.types index ed7f28b2910..e4791b52ee9 100644 --- a/tests/baselines/reference/importTypeLocal.types +++ b/tests/baselines/reference/importTypeLocal.types @@ -66,9 +66,9 @@ export const x: import("./foo") = { x: 0, y: 0 }; >0 : 0 export let y: import("./foo2").Bar.I = { a: "", b: 0 }; ->y : Bar.I +>y : import("tests/cases/conformance/types/import/foo2").Bar.I >Bar : any ->I : Bar.I +>I : import("tests/cases/conformance/types/import/foo2").Bar.I >{ a: "", b: 0 } : { a: string; b: number; } >a : string >"" : "" diff --git a/tests/cases/compiler/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.ts b/tests/cases/compiler/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.ts new file mode 100644 index 00000000000..5341faa78be --- /dev/null +++ b/tests/cases/compiler/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.ts @@ -0,0 +1,12 @@ +// @declaration: true +// @filename: color.ts +interface Color { + c: string; +} +export default Color; +// @filename: file1.ts +import Color from "./color"; +export declare function styled(): Color; +// @filename: file2.ts +import { styled } from "./file1"; +export const A = styled(); \ No newline at end of file From 7910bbdccbef5b27472107082e86b4e5136cd2d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=96=87=E7=92=90?= Date: Thu, 31 May 2018 13:30:31 +0800 Subject: [PATCH 10/76] add esnext symbol proposal --- src/compiler/commandLineParser.ts | 1 + src/harness/unittests/commandLineParsing.ts | 6 +++--- .../convertCompilerOptionsFromJson.ts | 8 ++++---- src/lib/esnext.d.ts | 1 + src/lib/esnext.symbol.d.ts | 6 ++++++ src/lib/libs.json | 1 + tests/baselines/reference/dynamicNames.symbols | 2 +- .../reference/dynamicNamesErrors.symbols | 8 ++++---- .../objectLiteralPropertyImplicitlyAny.symbols | 2 +- .../baselines/reference/uniqueSymbols.symbols | 18 +++++++++--------- .../uniqueSymbolsDeclarations.symbols | 18 +++++++++--------- .../reference/uniqueSymbolsErrors.symbols | 2 +- 12 files changed, 41 insertions(+), 32 deletions(-) create mode 100644 src/lib/esnext.symbol.d.ts diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 2f205f1e44e..08152017942 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -149,6 +149,7 @@ namespace 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", }), }, diff --git a/src/harness/unittests/commandLineParsing.ts b/src/harness/unittests/commandLineParsing.ts index 269f83e5eb9..f4bee50ee9e 100644 --- a/src/harness/unittests/commandLineParsing.ts +++ b/src/harness/unittests/commandLineParsing.ts @@ -60,7 +60,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', '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.asynciterable'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', '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'.", category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, @@ -262,7 +262,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', '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.asynciterable'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', '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'.", category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, @@ -281,7 +281,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', '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.asynciterable'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', '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'.", 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/harness/unittests/convertCompilerOptionsFromJson.ts b/src/harness/unittests/convertCompilerOptionsFromJson.ts index c120bfae8f9..44d78bf08db 100644 --- a/src/harness/unittests/convertCompilerOptionsFromJson.ts +++ b/src/harness/unittests/convertCompilerOptionsFromJson.ts @@ -268,7 +268,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', '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.asynciterable'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', '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'.", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -299,7 +299,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', '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.asynciterable'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', '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'.", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -330,7 +330,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', '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.asynciterable'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', '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'.", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -361,7 +361,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', '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.asynciterable'.", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'esnext', 'dom', 'dom.iterable', 'webworker', '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'.", 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/src/lib/esnext.d.ts b/src/lib/esnext.d.ts index 831d241cc3c..37736c3893d 100644 --- a/src/lib/esnext.d.ts +++ b/src/lib/esnext.d.ts @@ -1,3 +1,4 @@ /// /// /// +/// diff --git a/src/lib/esnext.symbol.d.ts b/src/lib/esnext.symbol.d.ts new file mode 100644 index 00000000000..9da5b779405 --- /dev/null +++ b/src/lib/esnext.symbol.d.ts @@ -0,0 +1,6 @@ +interface Symbol { + /** + * expose the [[Description]] internal slot of a symbol directly + */ + readonly description: string; +} diff --git a/src/lib/libs.json b/src/lib/libs.json index a7b468c0ac4..2a5dc73b5b5 100644 --- a/src/lib/libs.json +++ b/src/lib/libs.json @@ -33,6 +33,7 @@ "es2018.intl", "esnext.asynciterable", "esnext.array", + "esnext.symbol", // Default libraries "es5.full", "es2015.full", diff --git a/tests/baselines/reference/dynamicNames.symbols b/tests/baselines/reference/dynamicNames.symbols index 08a49fc05dc..a39be3783c4 100644 --- a/tests/baselines/reference/dynamicNames.symbols +++ b/tests/baselines/reference/dynamicNames.symbols @@ -7,7 +7,7 @@ export const c1 = 1; export const s0 = Symbol(); >s0 : Symbol(s0, Decl(module.ts, 2, 12)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) export interface T0 { >T0 : Symbol(T0, Decl(module.ts, 2, 27)) diff --git a/tests/baselines/reference/dynamicNamesErrors.symbols b/tests/baselines/reference/dynamicNamesErrors.symbols index 038d566830c..19bb7852cda 100644 --- a/tests/baselines/reference/dynamicNamesErrors.symbols +++ b/tests/baselines/reference/dynamicNamesErrors.symbols @@ -62,19 +62,19 @@ t2 = t1; const x = Symbol(); >x : Symbol(x, Decl(dynamicNamesErrors.ts, 26, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) const y = Symbol(); >y : Symbol(y, Decl(dynamicNamesErrors.ts, 27, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) const z = Symbol(); >z : Symbol(z, Decl(dynamicNamesErrors.ts, 28, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) const w = Symbol(); >w : Symbol(w, Decl(dynamicNamesErrors.ts, 29, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) export interface InterfaceMemberVisibility { >InterfaceMemberVisibility : Symbol(InterfaceMemberVisibility, Decl(dynamicNamesErrors.ts, 29, 19)) diff --git a/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.symbols b/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.symbols index 27c071f4789..09834e6c5f4 100644 --- a/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.symbols +++ b/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.symbols @@ -2,7 +2,7 @@ const foo = Symbol.for("foo"); >foo : Symbol(foo, Decl(objectLiteralPropertyImplicitlyAny.ts, 0, 5)) >Symbol.for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) >for : Symbol(SymbolConstructor.for, Decl(lib.es2015.symbol.d.ts, --, --)) const o = { [foo]: undefined }; diff --git a/tests/baselines/reference/uniqueSymbols.symbols b/tests/baselines/reference/uniqueSymbols.symbols index 819b578884c..46828b8f3cc 100644 --- a/tests/baselines/reference/uniqueSymbols.symbols +++ b/tests/baselines/reference/uniqueSymbols.symbols @@ -2,15 +2,15 @@ // declarations with call initializer const constCall = Symbol(); >constCall : Symbol(constCall, Decl(uniqueSymbols.ts, 1, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) let letCall = Symbol(); >letCall : Symbol(letCall, Decl(uniqueSymbols.ts, 2, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) var varCall = Symbol(); >varCall : Symbol(varCall, Decl(uniqueSymbols.ts, 3, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) // ambient declaration with type declare const constType: unique symbol; @@ -19,7 +19,7 @@ declare const constType: unique symbol; // declaration with type and call initializer const constTypeAndCall: unique symbol = Symbol(); >constTypeAndCall : Symbol(constTypeAndCall, Decl(uniqueSymbols.ts, 9, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) // declaration from initializer const constInitToConstCall = constCall; @@ -152,26 +152,26 @@ class C { static readonly readonlyStaticCall = Symbol(); >readonlyStaticCall : Symbol(C.readonlyStaticCall, Decl(uniqueSymbols.ts, 56, 9)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) static readonly readonlyStaticType: unique symbol; >readonlyStaticType : Symbol(C.readonlyStaticType, Decl(uniqueSymbols.ts, 57, 50)) static readonly readonlyStaticTypeAndCall: unique symbol = Symbol(); >readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbols.ts, 58, 54)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) static readwriteStaticCall = Symbol(); >readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbols.ts, 59, 72)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) readonly readonlyCall = Symbol(); >readonlyCall : Symbol(C.readonlyCall, Decl(uniqueSymbols.ts, 60, 42)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) readwriteCall = Symbol(); >readwriteCall : Symbol(C.readwriteCall, Decl(uniqueSymbols.ts, 62, 37)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) } declare const c: C; >c : Symbol(c, Decl(uniqueSymbols.ts, 65, 13)) diff --git a/tests/baselines/reference/uniqueSymbolsDeclarations.symbols b/tests/baselines/reference/uniqueSymbolsDeclarations.symbols index eda7e7c4b19..03e9133a0d0 100644 --- a/tests/baselines/reference/uniqueSymbolsDeclarations.symbols +++ b/tests/baselines/reference/uniqueSymbolsDeclarations.symbols @@ -2,15 +2,15 @@ // declarations with call initializer const constCall = Symbol(); >constCall : Symbol(constCall, Decl(uniqueSymbolsDeclarations.ts, 1, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) let letCall = Symbol(); >letCall : Symbol(letCall, Decl(uniqueSymbolsDeclarations.ts, 2, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) var varCall = Symbol(); >varCall : Symbol(varCall, Decl(uniqueSymbolsDeclarations.ts, 3, 3)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) // ambient declaration with type declare const constType: unique symbol; @@ -19,7 +19,7 @@ declare const constType: unique symbol; // declaration with type and call initializer const constTypeAndCall: unique symbol = Symbol(); >constTypeAndCall : Symbol(constTypeAndCall, Decl(uniqueSymbolsDeclarations.ts, 9, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) // declaration from initializer const constInitToConstCall = constCall; @@ -152,26 +152,26 @@ class C { static readonly readonlyStaticCall = Symbol(); >readonlyStaticCall : Symbol(C.readonlyStaticCall, Decl(uniqueSymbolsDeclarations.ts, 56, 9)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) static readonly readonlyStaticType: unique symbol; >readonlyStaticType : Symbol(C.readonlyStaticType, Decl(uniqueSymbolsDeclarations.ts, 57, 50)) static readonly readonlyStaticTypeAndCall: unique symbol = Symbol(); >readonlyStaticTypeAndCall : Symbol(C.readonlyStaticTypeAndCall, Decl(uniqueSymbolsDeclarations.ts, 58, 54)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) static readwriteStaticCall = Symbol(); >readwriteStaticCall : Symbol(C.readwriteStaticCall, Decl(uniqueSymbolsDeclarations.ts, 59, 72)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) readonly readonlyCall = Symbol(); >readonlyCall : Symbol(C.readonlyCall, Decl(uniqueSymbolsDeclarations.ts, 60, 42)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) readwriteCall = Symbol(); >readwriteCall : Symbol(C.readwriteCall, Decl(uniqueSymbolsDeclarations.ts, 62, 37)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) } declare const c: C; >c : Symbol(c, Decl(uniqueSymbolsDeclarations.ts, 65, 13)) diff --git a/tests/baselines/reference/uniqueSymbolsErrors.symbols b/tests/baselines/reference/uniqueSymbolsErrors.symbols index de62c08e88b..ad6299576a7 100644 --- a/tests/baselines/reference/uniqueSymbolsErrors.symbols +++ b/tests/baselines/reference/uniqueSymbolsErrors.symbols @@ -238,5 +238,5 @@ declare const invalidIntersection: unique symbol | unique symbol; // https://github.com/Microsoft/TypeScript/issues/21584 const shouldNotBeAssignable: string = Symbol(); >shouldNotBeAssignable : Symbol(shouldNotBeAssignable, Decl(uniqueSymbolsErrors.ts, 86, 5)) ->Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.esnext.symbol.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --)) From 821b459a775c889872aac356875b1eb2dd06c795 Mon Sep 17 00:00:00 2001 From: typescript-bot Date: Thu, 31 May 2018 13:30:38 +0000 Subject: [PATCH 11/76] Update user baselines --- tests/baselines/reference/user/acorn.log | 250 +++++++++++------------ 1 file changed, 125 insertions(+), 125 deletions(-) diff --git a/tests/baselines/reference/user/acorn.log b/tests/baselines/reference/user/acorn.log index a02c176db32..c5b8d47654d 100644 --- a/tests/baselines/reference/user/acorn.log +++ b/tests/baselines/reference/user/acorn.log @@ -8,148 +8,148 @@ node_modules/acorn/bin/_acorn.js(63,23): error TS2345: Argument of type 'string node_modules/acorn/bin/run_test262.js(3,21): error TS2307: Cannot find module 'test262-parser-runner'. node_modules/acorn/dist/acorn.es.js(36,1): error TS2322: Type 'null' is not assignable to type 'string'. node_modules/acorn/dist/acorn.es.js(36,32): error TS2322: Type 'null' is not assignable to type 'string'. -node_modules/acorn/dist/acorn.es.js(540,43): error TS2339: Property 'startNode' does not exist on type 'Parser'. -node_modules/acorn/dist/acorn.es.js(541,8): error TS2339: Property 'nextToken' does not exist on type 'Parser'. -node_modules/acorn/dist/acorn.es.js(542,15): error TS2339: Property 'parseTopLevel' does not exist on type 'Parser'. -node_modules/acorn/dist/acorn.es.js(555,14): error TS2531: Object is possibly 'null'. -node_modules/acorn/dist/acorn.es.js(715,25): error TS2531: Object is possibly 'null'. -node_modules/acorn/dist/acorn.es.js(735,25): error TS2531: Object is possibly 'null'. -node_modules/acorn/dist/acorn.es.js(2743,7): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn.es.js(2743,22): error TS2339: Property 'loc' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn.es.js(2743,37): error TS2339: Property 'raisedAt' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn.es.js(2954,12): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2955,10): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2958,18): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2959,38): error TS2339: Property 'curContext' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2960,16): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2962,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2966,8): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2966,26): error TS2339: Property 'braceIsBlock' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2967,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2971,8): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2972,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2977,8): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2978,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2987,73): error TS2339: Property 'curContext' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2988,12): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2990,12): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2991,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(2995,12): error TS2339: Property 'curContext' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(543,43): error TS2339: Property 'startNode' does not exist on type 'Parser'. +node_modules/acorn/dist/acorn.es.js(544,8): error TS2339: Property 'nextToken' does not exist on type 'Parser'. +node_modules/acorn/dist/acorn.es.js(545,15): error TS2339: Property 'parseTopLevel' does not exist on type 'Parser'. +node_modules/acorn/dist/acorn.es.js(558,14): error TS2531: Object is possibly 'null'. +node_modules/acorn/dist/acorn.es.js(718,25): error TS2531: Object is possibly 'null'. +node_modules/acorn/dist/acorn.es.js(738,25): error TS2531: Object is possibly 'null'. +node_modules/acorn/dist/acorn.es.js(2751,7): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn.es.js(2751,22): error TS2339: Property 'loc' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn.es.js(2751,37): error TS2339: Property 'raisedAt' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn.es.js(2962,12): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(2963,10): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(2966,18): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(2967,38): error TS2339: Property 'curContext' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(2968,16): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(2970,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(2974,8): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(2974,26): error TS2339: Property 'braceIsBlock' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(2975,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(2979,8): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(2980,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(2985,8): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(2986,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(2995,73): error TS2339: Property 'curContext' does not exist on type 'TokenType'. node_modules/acorn/dist/acorn.es.js(2996,12): error TS2339: Property 'context' does not exist on type 'TokenType'. node_modules/acorn/dist/acorn.es.js(2998,12): error TS2339: Property 'context' does not exist on type 'TokenType'. node_modules/acorn/dist/acorn.es.js(2999,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(3004,22): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(3005,14): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(3006,14): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(3008,14): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(3010,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(3015,12): error TS2339: Property 'options' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(3016,14): error TS2339: Property 'value' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(3016,37): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(3017,14): error TS2339: Property 'value' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(3017,39): error TS2339: Property 'inGeneratorContext' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(3020,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.es.js(5282,5): error TS2339: Property 'nextToken' does not exist on type 'Parser'. -node_modules/acorn/dist/acorn.es.js(5283,12): error TS2339: Property 'parseExpression' does not exist on type 'Parser'. +node_modules/acorn/dist/acorn.es.js(3003,12): error TS2339: Property 'curContext' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3004,12): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3006,12): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3007,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3012,22): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3013,14): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3014,14): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3016,14): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3018,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3023,12): error TS2339: Property 'options' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3024,14): error TS2339: Property 'value' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3024,37): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3025,14): error TS2339: Property 'value' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3025,39): error TS2339: Property 'inGeneratorContext' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(3028,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.es.js(5290,5): error TS2339: Property 'nextToken' does not exist on type 'Parser'. +node_modules/acorn/dist/acorn.es.js(5291,12): error TS2339: Property 'parseExpression' does not exist on type 'Parser'. node_modules/acorn/dist/acorn.js(3,9): error TS2304: Cannot find name 'define'. node_modules/acorn/dist/acorn.js(3,34): error TS2304: Cannot find name 'define'. node_modules/acorn/dist/acorn.js(3,47): error TS2304: Cannot find name 'define'. node_modules/acorn/dist/acorn.js(42,1): error TS2322: Type 'null' is not assignable to type 'string'. node_modules/acorn/dist/acorn.js(42,32): error TS2322: Type 'null' is not assignable to type 'string'. -node_modules/acorn/dist/acorn.js(546,43): error TS2339: Property 'startNode' does not exist on type 'Parser'. -node_modules/acorn/dist/acorn.js(547,8): error TS2339: Property 'nextToken' does not exist on type 'Parser'. -node_modules/acorn/dist/acorn.js(548,15): error TS2339: Property 'parseTopLevel' does not exist on type 'Parser'. -node_modules/acorn/dist/acorn.js(561,14): error TS2531: Object is possibly 'null'. -node_modules/acorn/dist/acorn.js(721,25): error TS2531: Object is possibly 'null'. -node_modules/acorn/dist/acorn.js(741,25): error TS2531: Object is possibly 'null'. -node_modules/acorn/dist/acorn.js(2749,7): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn.js(2749,22): error TS2339: Property 'loc' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn.js(2749,37): error TS2339: Property 'raisedAt' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn.js(2960,12): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2961,10): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2964,18): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2965,38): error TS2339: Property 'curContext' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2966,16): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2968,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2972,8): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2972,26): error TS2339: Property 'braceIsBlock' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2973,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2977,8): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2978,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2983,8): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2984,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2993,73): error TS2339: Property 'curContext' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2994,12): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2996,12): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(2997,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(3001,12): error TS2339: Property 'curContext' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(549,43): error TS2339: Property 'startNode' does not exist on type 'Parser'. +node_modules/acorn/dist/acorn.js(550,8): error TS2339: Property 'nextToken' does not exist on type 'Parser'. +node_modules/acorn/dist/acorn.js(551,15): error TS2339: Property 'parseTopLevel' does not exist on type 'Parser'. +node_modules/acorn/dist/acorn.js(564,14): error TS2531: Object is possibly 'null'. +node_modules/acorn/dist/acorn.js(724,25): error TS2531: Object is possibly 'null'. +node_modules/acorn/dist/acorn.js(744,25): error TS2531: Object is possibly 'null'. +node_modules/acorn/dist/acorn.js(2757,7): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn.js(2757,22): error TS2339: Property 'loc' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn.js(2757,37): error TS2339: Property 'raisedAt' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn.js(2968,12): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(2969,10): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(2972,18): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(2973,38): error TS2339: Property 'curContext' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(2974,16): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(2976,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(2980,8): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(2980,26): error TS2339: Property 'braceIsBlock' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(2981,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(2985,8): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(2986,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(2991,8): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(2992,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3001,73): error TS2339: Property 'curContext' does not exist on type 'TokenType'. node_modules/acorn/dist/acorn.js(3002,12): error TS2339: Property 'context' does not exist on type 'TokenType'. node_modules/acorn/dist/acorn.js(3004,12): error TS2339: Property 'context' does not exist on type 'TokenType'. node_modules/acorn/dist/acorn.js(3005,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(3010,22): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(3011,14): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(3012,14): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(3014,14): error TS2339: Property 'context' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(3016,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(3021,12): error TS2339: Property 'options' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(3022,14): error TS2339: Property 'value' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(3022,37): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(3023,14): error TS2339: Property 'value' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(3023,39): error TS2339: Property 'inGeneratorContext' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(3026,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. -node_modules/acorn/dist/acorn.js(5288,5): error TS2339: Property 'nextToken' does not exist on type 'Parser'. -node_modules/acorn/dist/acorn.js(5289,12): error TS2339: Property 'parseExpression' does not exist on type 'Parser'. -node_modules/acorn/dist/acorn_loose.es.js(72,9): error TS2339: Property 'name' does not exist on type 'Node'. -node_modules/acorn/dist/acorn_loose.es.js(78,9): error TS2339: Property 'value' does not exist on type 'Node'. -node_modules/acorn/dist/acorn_loose.es.js(78,23): error TS2339: Property 'raw' does not exist on type 'Node'. -node_modules/acorn/dist/acorn_loose.es.js(84,10): error TS2339: Property 'next' does not exist on type 'LooseParser'. -node_modules/acorn/dist/acorn_loose.es.js(113,16): error TS2339: Property 'lookAhead' does not exist on type 'LooseParser'. -node_modules/acorn/dist/acorn_loose.es.js(114,44): error TS2339: Property 'next' does not exist on type 'LooseParser'. -node_modules/acorn/dist/acorn_loose.es.js(176,8): error TS2339: Property 'next' does not exist on type 'LooseParser'. -node_modules/acorn/dist/acorn_loose.es.js(177,15): error TS2339: Property 'parseTopLevel' does not exist on type 'LooseParser'. -node_modules/acorn/dist/acorn_loose.es.js(221,36): error TS2339: Property 'raisedAt' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.es.js(223,32): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.es.js(225,11): error TS2322: Type '{ start: any; end: any; type: TokenType; value: any; }' is not assignable to type 'boolean'. -node_modules/acorn/dist/acorn_loose.es.js(225,31): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.es.js(225,97): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.es.js(227,41): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.es.js(229,11): error TS2322: Type '{ start: any; end: any; type: TokenType; value: any; }' is not assignable to type 'boolean'. -node_modules/acorn/dist/acorn_loose.es.js(229,31): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.es.js(231,11): error TS2322: Type '{ start: any; end: any; type: TokenType; value: any; }' is not assignable to type 'boolean'. -node_modules/acorn/dist/acorn_loose.es.js(232,22): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.es.js(235,41): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.es.js(256,31): error TS2322: Type '{ start: any; end: any; type: TokenType; value: string; }' is not assignable to type 'boolean'. -node_modules/acorn/dist/acorn_loose.es.js(259,21): error TS2339: Property 'loc' does not exist on type 'true'. -node_modules/acorn/dist/acorn_loose.es.js(261,47): error TS2339: Property 'start' does not exist on type 'true'. -node_modules/acorn/dist/acorn_loose.es.js(262,47): error TS2339: Property 'end' does not exist on type 'true'. +node_modules/acorn/dist/acorn.js(3009,12): error TS2339: Property 'curContext' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3010,12): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3012,12): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3013,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3018,22): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3019,14): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3020,14): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3022,14): error TS2339: Property 'context' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3024,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3029,12): error TS2339: Property 'options' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3030,14): error TS2339: Property 'value' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3030,37): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3031,14): error TS2339: Property 'value' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3031,39): error TS2339: Property 'inGeneratorContext' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(3034,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. +node_modules/acorn/dist/acorn.js(5296,5): error TS2339: Property 'nextToken' does not exist on type 'Parser'. +node_modules/acorn/dist/acorn.js(5297,12): error TS2339: Property 'parseExpression' does not exist on type 'Parser'. +node_modules/acorn/dist/acorn_loose.es.js(73,9): error TS2339: Property 'name' does not exist on type 'Node'. +node_modules/acorn/dist/acorn_loose.es.js(79,9): error TS2339: Property 'value' does not exist on type 'Node'. +node_modules/acorn/dist/acorn_loose.es.js(79,23): error TS2339: Property 'raw' does not exist on type 'Node'. +node_modules/acorn/dist/acorn_loose.es.js(85,10): error TS2339: Property 'next' does not exist on type 'LooseParser'. +node_modules/acorn/dist/acorn_loose.es.js(114,16): error TS2339: Property 'lookAhead' does not exist on type 'LooseParser'. +node_modules/acorn/dist/acorn_loose.es.js(115,44): error TS2339: Property 'next' does not exist on type 'LooseParser'. +node_modules/acorn/dist/acorn_loose.es.js(177,8): error TS2339: Property 'next' does not exist on type 'LooseParser'. +node_modules/acorn/dist/acorn_loose.es.js(178,15): error TS2339: Property 'parseTopLevel' does not exist on type 'LooseParser'. +node_modules/acorn/dist/acorn_loose.es.js(222,36): error TS2339: Property 'raisedAt' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.es.js(224,32): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.es.js(226,11): error TS2322: Type '{ start: any; end: any; type: TokenType; value: any; }' is not assignable to type 'boolean'. +node_modules/acorn/dist/acorn_loose.es.js(226,31): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.es.js(226,97): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.es.js(228,41): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.es.js(230,11): error TS2322: Type '{ start: any; end: any; type: TokenType; value: any; }' is not assignable to type 'boolean'. +node_modules/acorn/dist/acorn_loose.es.js(230,31): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.es.js(232,11): error TS2322: Type '{ start: any; end: any; type: TokenType; value: any; }' is not assignable to type 'boolean'. +node_modules/acorn/dist/acorn_loose.es.js(233,22): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.es.js(236,41): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.es.js(257,31): error TS2322: Type '{ start: any; end: any; type: TokenType; value: string; }' is not assignable to type 'boolean'. +node_modules/acorn/dist/acorn_loose.es.js(260,21): error TS2339: Property 'loc' does not exist on type 'true'. +node_modules/acorn/dist/acorn_loose.es.js(262,47): error TS2339: Property 'start' does not exist on type 'true'. +node_modules/acorn/dist/acorn_loose.es.js(263,47): error TS2339: Property 'end' does not exist on type 'true'. node_modules/acorn/dist/acorn_loose.js(3,9): error TS2304: Cannot find name 'define'. node_modules/acorn/dist/acorn_loose.js(3,34): error TS2304: Cannot find name 'define'. node_modules/acorn/dist/acorn_loose.js(3,47): error TS2304: Cannot find name 'define'. -node_modules/acorn/dist/acorn_loose.js(88,10): error TS2339: Property 'next' does not exist on type 'LooseParser'. -node_modules/acorn/dist/acorn_loose.js(117,16): error TS2339: Property 'lookAhead' does not exist on type 'LooseParser'. -node_modules/acorn/dist/acorn_loose.js(118,44): error TS2339: Property 'next' does not exist on type 'LooseParser'. -node_modules/acorn/dist/acorn_loose.js(180,8): error TS2339: Property 'next' does not exist on type 'LooseParser'. -node_modules/acorn/dist/acorn_loose.js(181,15): error TS2339: Property 'parseTopLevel' does not exist on type 'LooseParser'. -node_modules/acorn/dist/acorn_loose.js(225,36): error TS2339: Property 'raisedAt' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.js(227,32): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.js(229,11): error TS2322: Type '{ start: any; end: any; type: any; value: any; }' is not assignable to type 'boolean'. -node_modules/acorn/dist/acorn_loose.js(229,31): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.js(229,105): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.js(231,41): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.js(233,11): error TS2322: Type '{ start: any; end: any; type: any; value: any; }' is not assignable to type 'boolean'. -node_modules/acorn/dist/acorn_loose.js(233,31): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.js(235,11): error TS2322: Type '{ start: any; end: any; type: any; value: any; }' is not assignable to type 'boolean'. -node_modules/acorn/dist/acorn_loose.js(236,22): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.js(239,41): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. -node_modules/acorn/dist/acorn_loose.js(260,31): error TS2322: Type '{ start: any; end: any; type: any; value: string; }' is not assignable to type 'boolean'. -node_modules/acorn/dist/acorn_loose.js(263,21): error TS2339: Property 'loc' does not exist on type 'true'. -node_modules/acorn/dist/acorn_loose.js(265,55): error TS2339: Property 'start' does not exist on type 'true'. -node_modules/acorn/dist/acorn_loose.js(266,55): error TS2339: Property 'end' does not exist on type 'true'. -node_modules/acorn/dist/walk.es.js(154,41): error TS2339: Property 'node' does not exist on type 'never'. +node_modules/acorn/dist/acorn_loose.js(89,10): error TS2339: Property 'next' does not exist on type 'LooseParser'. +node_modules/acorn/dist/acorn_loose.js(118,16): error TS2339: Property 'lookAhead' does not exist on type 'LooseParser'. +node_modules/acorn/dist/acorn_loose.js(119,44): error TS2339: Property 'next' does not exist on type 'LooseParser'. +node_modules/acorn/dist/acorn_loose.js(181,8): error TS2339: Property 'next' does not exist on type 'LooseParser'. +node_modules/acorn/dist/acorn_loose.js(182,15): error TS2339: Property 'parseTopLevel' does not exist on type 'LooseParser'. +node_modules/acorn/dist/acorn_loose.js(226,36): error TS2339: Property 'raisedAt' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.js(228,32): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.js(230,11): error TS2322: Type '{ start: any; end: any; type: any; value: any; }' is not assignable to type 'boolean'. +node_modules/acorn/dist/acorn_loose.js(230,31): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.js(230,105): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.js(232,41): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.js(234,11): error TS2322: Type '{ start: any; end: any; type: any; value: any; }' is not assignable to type 'boolean'. +node_modules/acorn/dist/acorn_loose.js(234,31): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.js(236,11): error TS2322: Type '{ start: any; end: any; type: any; value: any; }' is not assignable to type 'boolean'. +node_modules/acorn/dist/acorn_loose.js(237,22): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.js(240,41): error TS2339: Property 'pos' does not exist on type 'SyntaxError'. +node_modules/acorn/dist/acorn_loose.js(261,31): error TS2322: Type '{ start: any; end: any; type: any; value: string; }' is not assignable to type 'boolean'. +node_modules/acorn/dist/acorn_loose.js(264,21): error TS2339: Property 'loc' does not exist on type 'true'. +node_modules/acorn/dist/acorn_loose.js(266,55): error TS2339: Property 'start' does not exist on type 'true'. +node_modules/acorn/dist/acorn_loose.js(267,55): error TS2339: Property 'end' does not exist on type 'true'. +node_modules/acorn/dist/walk.es.js(162,41): error TS2339: Property 'node' does not exist on type 'never'. node_modules/acorn/dist/walk.js(3,9): error TS2304: Cannot find name 'define'. node_modules/acorn/dist/walk.js(3,34): error TS2304: Cannot find name 'define'. node_modules/acorn/dist/walk.js(3,47): error TS2304: Cannot find name 'define'. -node_modules/acorn/dist/walk.js(160,41): error TS2339: Property 'node' does not exist on type 'never'. +node_modules/acorn/dist/walk.js(168,41): error TS2339: Property 'node' does not exist on type 'never'. From 7de55fbb7e94f414f9f1448ba4f966ca3f963b27 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Thu, 31 May 2018 09:50:51 -0700 Subject: [PATCH 12/76] PR Feedback --- src/compiler/commandLineParser.ts | 28 +++++++++++++------ src/compiler/core.ts | 2 +- src/compiler/program.ts | 9 ++++++ src/compiler/types.ts | 1 + src/harness/unittests/commandLineParsing.ts | 6 ++-- .../convertCompilerOptionsFromJson.ts | 8 +++--- src/lib/es2015.full.d.ts | 13 ++------- src/lib/webworker.generated.d.ts | 2 -- src/services/goToDefinition.ts | 12 +++++++- 9 files changed, 50 insertions(+), 31 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 5216f784091..c0e64078ab5 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -2,8 +2,11 @@ namespace ts { /* @internal */ export const compileOnSaveCommandLineOption: CommandLineOption = { name: "compileOnSave", type: "boolean" }; - // NOTE: The order here is important to default lib ordering - const commandLineLibMap = createMapFromEntries([ + // NOTE: The order here is important to default lib ordering as entries will have the same + // order in the generated program (see `getDefaultLibPriority` in program.ts). This + // order also affects overload resolution when a type declared in one lib is + // augmented in another lib. + const libEntries: [string, string][] = [ // JavaScript only ["es5", "lib.es5.d.ts"], ["es6", "lib.es2015.d.ts"], @@ -17,6 +20,7 @@ namespace ts { ["dom", "lib.dom.d.ts"], ["dom.iterable", "lib.dom.iterable.d.ts"], ["webworker", "lib.webworker.d.ts"], + ["webworker.importscripts", "lib.webworker.importscripts.d.ts"], ["scripthost", "lib.scripthost.d.ts"], // ES2015 Or ESNext By-feature options ["es2015.core", "lib.es2015.core.d.ts"], @@ -39,16 +43,22 @@ namespace ts { ["es2018.regexp", "lib.es2018.regexp.d.ts"], ["esnext.array", "lib.esnext.array.d.ts"], ["esnext.asynciterable", "lib.esnext.asynciterable.d.ts"], - ]); + ]; - // Internally we add some additional lib references that we only support when used as part of a - // "lib" reference directive. They are not available on the command line or in tsconfig.json. + /** + * An array of supported "lib" reference file names used to determine the order for inclusion + * when referenced, as well as for spelling suggestions. This ensures the correct ordering for + * overload resolution when a type declared in one lib is extended by another. + */ /* @internal */ - export const libMap = cloneMap(commandLineLibMap) - .set("webworker.importscripts", "lib.webworker.importscripts.d.ts"); + export const libs = libEntries.map(entry => entry[0]); + /** + * A map of lib names to lib files. This map is used both for parsing the "lib" command line + * option as well as for resolving lib reference directives. + */ /* @internal */ - export const libs = arrayFrom(commandLineLibMap.keys()); + export const libMap = createMapFromEntries(libEntries); /* @internal */ export const optionDeclarations: CommandLineOption[] = [ @@ -163,7 +173,7 @@ namespace ts { type: "list", element: { name: "lib", - type: commandLineLibMap + type: libMap }, showInSimplifiedHelpView: true, category: Diagnostics.Basic_Options, diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 2185ad0aacb..76a51a9f072 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -1749,7 +1749,7 @@ namespace ts { * Case-sensitive comparisons compare both strings one code-point at a time using the integer * value of each code-point after applying `toUpperCase` to each string. We always map both * strings to their upper-case form as some unicode characters do not properly round-trip to - * lowercase (such as `ẞ` (German sharp capital s)). + * lowercase (such as `ẞ` (German sharp capital s)). */ export function equateStringsCaseInsensitive(a: string, b: string) { return a === b diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 12cd2b01f7d..accd394fffe 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -707,6 +707,7 @@ namespace ts { isSourceFileDefaultLibrary, dropDiagnosticsProducingTypeChecker, getSourceFileFromReference, + getLibFileFromReference, sourceFileToPackageName, redirectTargetsSet, isEmittedFile, @@ -1842,6 +1843,14 @@ namespace ts { } } + function getLibFileFromReference(ref: FileReference) { + const libName = ref.fileName.toLocaleLowerCase(); + const libFileName = libMap.get(libName); + if (libFileName) { + return getSourceFile(combinePaths(defaultLibraryPath, libFileName)); + } + } + /** This should have similar behavior to 'processSourceFile' without diagnostics or mutation. */ function getSourceFileFromReference(referencingFile: SourceFile, ref: FileReference): SourceFile | undefined { return getSourceFileFromReferenceWorker(resolveTripleslashReference(ref.fileName, referencingFile.fileName), fileName => filesByName.get(toPath(fileName))); diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 18daa26b41c..820369c7245 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2783,6 +2783,7 @@ namespace ts { /* @internal */ structureIsReused?: StructureIsReused; /* @internal */ getSourceFileFromReference(referencingFile: SourceFile, ref: FileReference): SourceFile | undefined; + /* @internal */ getLibFileFromReference(ref: FileReference): SourceFile | undefined; /** Given a source file, get the name of the package it was imported from. */ /* @internal */ sourceFileToPackageName: Map; diff --git a/src/harness/unittests/commandLineParsing.ts b/src/harness/unittests/commandLineParsing.ts index 269f83e5eb9..3d5efea3b62 100644 --- a/src/harness/unittests/commandLineParsing.ts +++ b/src/harness/unittests/commandLineParsing.ts @@ -60,7 +60,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', '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.asynciterable'.", + 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.asynciterable'.", category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, @@ -262,7 +262,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', '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.asynciterable'.", + 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.asynciterable'.", category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, file: undefined, @@ -281,7 +281,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', '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.asynciterable'.", + 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.asynciterable'.", 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/harness/unittests/convertCompilerOptionsFromJson.ts b/src/harness/unittests/convertCompilerOptionsFromJson.ts index c120bfae8f9..a63e74cdf50 100644 --- a/src/harness/unittests/convertCompilerOptionsFromJson.ts +++ b/src/harness/unittests/convertCompilerOptionsFromJson.ts @@ -268,7 +268,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', '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.asynciterable'.", + 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.asynciterable'.", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -299,7 +299,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', '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.asynciterable'.", + 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.asynciterable'.", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -330,7 +330,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', '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.asynciterable'.", + 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.asynciterable'.", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -361,7 +361,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', '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.asynciterable'.", + 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.asynciterable'.", 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/src/lib/es2015.full.d.ts b/src/lib/es2015.full.d.ts index e4d420bb207..4c79f15da9c 100644 --- a/src/lib/es2015.full.d.ts +++ b/src/lib/es2015.full.d.ts @@ -1,14 +1,5 @@ -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// +/// /// +/// /// /// -/// diff --git a/src/lib/webworker.generated.d.ts b/src/lib/webworker.generated.d.ts index 558acc14d12..ff2d0007ed8 100644 --- a/src/lib/webworker.generated.d.ts +++ b/src/lib/webworker.generated.d.ts @@ -1,5 +1,3 @@ -/// - ///////////////////////////// /// Worker APIs ///////////////////////////// diff --git a/src/services/goToDefinition.ts b/src/services/goToDefinition.ts index 1b9ecf0b5f0..92979b44ce0 100644 --- a/src/services/goToDefinition.ts +++ b/src/services/goToDefinition.ts @@ -89,6 +89,7 @@ namespace ts.GoToDefinition { } export function getReferenceAtPosition(sourceFile: SourceFile, position: number, program: Program): { fileName: string, file: SourceFile } | undefined { + debugger; const referencePath = findReferenceInPosition(sourceFile.referencedFiles, position); if (referencePath) { const file = tryResolveScriptReference(program, sourceFile, referencePath); @@ -102,6 +103,12 @@ namespace ts.GoToDefinition { return file && { fileName: typeReferenceDirective.fileName, file }; } + const libReferenceDirective = findReferenceInPosition(sourceFile.libReferenceDirectives, position); + if (libReferenceDirective) { + const file = program.getLibFileFromReference(libReferenceDirective); + return file && { fileName: libReferenceDirective.fileName, file }; + } + return undefined; } @@ -133,7 +140,10 @@ namespace ts.GoToDefinition { } // Check if position is on triple slash reference. - const comment = findReferenceInPosition(sourceFile.referencedFiles, position) || findReferenceInPosition(sourceFile.typeReferenceDirectives, position); + const comment = findReferenceInPosition(sourceFile.referencedFiles, position) || + findReferenceInPosition(sourceFile.typeReferenceDirectives, position) || + findReferenceInPosition(sourceFile.libReferenceDirectives, position); + if (comment) { return { definitions, textSpan: createTextSpanFromRange(comment) }; } From cee29204a160dde9a5b1d5e60e80e08456825845 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Thu, 31 May 2018 10:10:13 -0700 Subject: [PATCH 13/76] Fix preProcessFile tests --- .../unittests/services/preProcessFile.ts | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/harness/unittests/services/preProcessFile.ts b/src/harness/unittests/services/preProcessFile.ts index 76b1e4f05a6..56d66a245ec 100644 --- a/src/harness/unittests/services/preProcessFile.ts +++ b/src/harness/unittests/services/preProcessFile.ts @@ -9,6 +9,7 @@ describe("PreProcessFile:", () => { checkFileReferenceList("Imported files", expectedPreProcess.importedFiles, resultPreProcess.importedFiles); checkFileReferenceList("Referenced files", expectedPreProcess.referencedFiles, resultPreProcess.referencedFiles); checkFileReferenceList("Type reference directives", expectedPreProcess.typeReferenceDirectives, resultPreProcess.typeReferenceDirectives); + checkFileReferenceList("Lib reference directives", expectedPreProcess.libReferenceDirectives, resultPreProcess.libReferenceDirectives); assert.deepEqual(resultPreProcess.ambientExternalModules, expectedPreProcess.ambientExternalModules); } @@ -41,6 +42,7 @@ describe("PreProcessFile:", () => { { fileName: "refFile3.ts", pos: 94, end: 105 }, { fileName: "..\\refFile4d.ts", pos: 131, end: 146 }], importedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], ambientExternalModules: undefined, isLibFile: false }); @@ -54,6 +56,7 @@ describe("PreProcessFile:", () => { referencedFiles: [], importedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], ambientExternalModules: undefined, isLibFile: false }); @@ -67,6 +70,7 @@ describe("PreProcessFile:", () => { referencedFiles: [], importedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], ambientExternalModules: undefined, isLibFile: false }); @@ -80,6 +84,7 @@ describe("PreProcessFile:", () => { referencedFiles: [], importedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], ambientExternalModules: undefined, isLibFile: false }); @@ -92,6 +97,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [{ fileName: "r1.ts", pos: 20, end: 25 }, { fileName: "r2.ts", pos: 49, end: 54 }, { fileName: "r3.ts", pos: 78, end: 83 }, { fileName: "r4.ts", pos: 106, end: 111 }, { fileName: "r5.ts", pos: 138, end: 143 }], ambientExternalModules: undefined, @@ -106,6 +112,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [], ambientExternalModules: undefined, isLibFile: false @@ -119,6 +126,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [{ fileName: "r3.ts", pos: 73, end: 78 }], ambientExternalModules: undefined, isLibFile: false @@ -132,6 +140,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [{ fileName: "refFile1.ts", pos: 20, end: 31 }, { fileName: "refFile2.ts", pos: 57, end: 68 }], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [{ fileName: "r1.ts", pos: 92, end: 97 }, { fileName: "r2.ts", pos: 121, end: 126 }], ambientExternalModules: undefined, isLibFile: false @@ -145,6 +154,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [{ fileName: "refFile1.ts", pos: 20, end: 31 }], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [{ fileName: "r1.ts", pos: 91, end: 96 }, { fileName: "r3.ts", pos: 148, end: 153 }], ambientExternalModules: undefined, isLibFile: false @@ -164,6 +174,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "m1", pos: 20, end: 22 }, { fileName: "m2", pos: 51, end: 53 }, @@ -188,6 +199,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "m1", pos: 14, end: 16 }, { fileName: "m2", pos: 36, end: 38 }, @@ -212,6 +224,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [], ambientExternalModules: ["B"], isLibFile: false @@ -225,6 +238,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "m1", pos: 26, end: 28 } ], @@ -244,6 +258,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "m1", pos: 39, end: 41 }, { fileName: "m2", pos: 74, end: 76 }, @@ -264,6 +279,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "mod1", pos: 21, end: 25 }, { fileName: "mod2", pos: 29, end: 33 }, @@ -282,6 +298,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "mod1", pos: 28, end: 32 }, { fileName: "mod2", pos: 36, end: 40 }, @@ -303,6 +320,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "../Observable", pos: 28, end: 41 } ], @@ -323,6 +341,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "m", pos: 123, end: 124 }, { fileName: "../Observable", pos: 28, end: 41 } @@ -344,6 +363,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "m", pos: 123, end: 124 }, { fileName: "../Observable", pos: 28, end: 41 } @@ -365,6 +385,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "../Observable", pos: 28, end: 41 } ], @@ -385,6 +406,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "../Observable", pos: 28, end: 41 } ], @@ -404,6 +426,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "../Observable", pos: 28, end: 41 } ], @@ -425,6 +448,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "m2", pos: 65, end: 67 }, { fileName: "augmentation", pos: 102, end: 114 } @@ -449,6 +473,7 @@ describe("PreProcessFile:", () => { { referencedFiles: [], typeReferenceDirectives: [], + libReferenceDirectives: [], importedFiles: [ { fileName: "m2", pos: 127, end: 129 }, { fileName: "augmentation", pos: 164, end: 176 } @@ -475,6 +500,32 @@ describe("PreProcessFile:", () => { { pos: 73, end: 75, fileName: "a1" }, { pos: 152, end: 154, fileName: "a3" } ], + libReferenceDirectives: [], + importedFiles: [], + ambientExternalModules: undefined, + isLibFile: false + }); + }); + it ("correctly recognizes lib reference directives", () => { + test(` + /// + /// + /// + /// + `, + /*readImportFile*/ true, + /*detectJavaScriptImports*/ false, + { + referencedFiles: [ + { pos: 34, end: 35, fileName: "a" }, + { pos: 110, end: 112, fileName: "a2" } + ], + typeReferenceDirectives: [ + ], + libReferenceDirectives: [ + { pos: 71, end: 73, fileName: "a1" }, + { pos: 148, end: 150, fileName: "a3" } + ], importedFiles: [], ambientExternalModules: undefined, isLibFile: false From 689d2b6ab55a5cb06f9ce61d7f7f8c23940392a9 Mon Sep 17 00:00:00 2001 From: Sam Bostock Date: Thu, 31 May 2018 13:04:24 -0400 Subject: [PATCH 14/76] Rename ESNext `flatten` to `flat` --- src/lib/esnext.array.d.ts | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/lib/esnext.array.d.ts b/src/lib/esnext.array.d.ts index ddba47badaa..b602e8cc0e8 100644 --- a/src/lib/esnext.array.d.ts +++ b/src/lib/esnext.array.d.ts @@ -3,7 +3,7 @@ interface ReadonlyArray { /** * Calls a defined callback function on each element of an array. Then, flattens the result into * a new array. - * This is identical to a map followed by a flatten of depth 1. + * This is identical to a map followed by flat with depth 1. * * @param callback A function that accepts up to three arguments. The flatMap method calls the * callback function one time for each element in the array. @@ -22,7 +22,7 @@ interface ReadonlyArray { * * @param depth The maximum recursion depth */ - flatten(this: + flat(this: ReadonlyArray | ReadonlyArray> | @@ -51,7 +51,7 @@ interface ReadonlyArray { * * @param depth The maximum recursion depth */ - flatten(this: + flat(this: ReadonlyArray | ReadonlyArray[][]> | @@ -71,7 +71,7 @@ interface ReadonlyArray { * * @param depth The maximum recursion depth */ - flatten(this: + flat(this: ReadonlyArray | ReadonlyArray> | @@ -86,7 +86,7 @@ interface ReadonlyArray { * * @param depth The maximum recursion depth */ - flatten(this: + flat(this: ReadonlyArray | ReadonlyArray>, depth?: 1 @@ -98,18 +98,18 @@ interface ReadonlyArray { * * @param depth The maximum recursion depth */ - flatten(this: + flat(this: ReadonlyArray, depth: 0 ): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the - * specified depth. If no depth is provided, flatten method defaults to the depth of 1. + * specified depth. If no depth is provided, flat method defaults to the depth of 1. * * @param depth The maximum recursion depth */ - flatten(depth?: number): any[]; + flat(depth?: number): any[]; } interface Array { @@ -117,7 +117,7 @@ interface Array { /** * Calls a defined callback function on each element of an array. Then, flattens the result into * a new array. - * This is identical to a map followed by a flatten of depth 1. + * This is identical to a map followed by flat with depth 1. * * @param callback A function that accepts up to three arguments. The flatMap method calls the * callback function one time for each element in the array. @@ -135,7 +135,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][][][][][][][], depth: 7): U[]; + flat(this: U[][][][][][][][], depth: 7): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -143,7 +143,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][][][][][][], depth: 6): U[]; + flat(this: U[][][][][][][], depth: 6): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -151,7 +151,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][][][][][], depth: 5): U[]; + flat(this: U[][][][][][], depth: 5): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -159,7 +159,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][][][][], depth: 4): U[]; + flat(this: U[][][][][], depth: 4): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -167,7 +167,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][][][], depth: 3): U[]; + flat(this: U[][][][], depth: 3): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -175,7 +175,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][][], depth: 2): U[]; + flat(this: U[][][], depth: 2): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -183,7 +183,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][], depth?: 1): U[]; + flat(this: U[][], depth?: 1): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -191,13 +191,13 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[], depth: 0): U[]; + flat(this: U[], depth: 0): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the - * specified depth. If no depth is provided, flatten method defaults to the depth of 1. + * specified depth. If no depth is provided, flat method defaults to the depth of 1. * * @param depth The maximum recursion depth */ - flatten(depth?: number): any[]; + flat(depth?: number): any[]; } From 7ef7f907b9a410e358bc53bc99bc14a641dfe398 Mon Sep 17 00:00:00 2001 From: Alexander T Date: Thu, 31 May 2018 14:26:58 +0300 Subject: [PATCH 15/76] Do not emit 'use strict' prologue in .json files with --alwaysStrict --- src/compiler/transformers/ts.ts | 4 +- ...OfJsonFileWithAlwaysStrictWithoutErrors.js | 32 +++++++++++++ ...nFileWithAlwaysStrictWithoutErrors.symbols | 38 ++++++++++++++++ ...sonFileWithAlwaysStrictWithoutErrors.types | 45 +++++++++++++++++++ ...OfJsonFileWithAlwaysStrictWithoutErrors.ts | 19 ++++++++ 5 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.js create mode 100644 tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.symbols create mode 100644 tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.types create mode 100644 tests/cases/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.ts diff --git a/src/compiler/transformers/ts.ts b/src/compiler/transformers/ts.ts index cc244d92204..076645a14d8 100644 --- a/src/compiler/transformers/ts.ts +++ b/src/compiler/transformers/ts.ts @@ -552,7 +552,9 @@ namespace ts { function visitSourceFile(node: SourceFile) { const alwaysStrict = getStrictOptionValue(compilerOptions, "alwaysStrict") && - !(isExternalModule(node) && moduleKind >= ModuleKind.ES2015); + !(isExternalModule(node) && moduleKind >= ModuleKind.ES2015) && + !isJsonSourceFile(node); + return updateSourceFileNode( node, visitLexicalEnvironment(node.statements, sourceElementVisitor, context, /*start*/ 0, alwaysStrict)); diff --git a/tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.js b/tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.js new file mode 100644 index 00000000000..700d5f9c927 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.js @@ -0,0 +1,32 @@ +//// [tests/cases/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.ts] //// + +//// [file1.ts] +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] +{ + "a": true, + "b": "hello" +} + +//// [b.json] +{ + "a": true, + "b": "hello" +} +//// [file1.js] +"use strict"; +exports.__esModule = true; +var b1 = require("./b.json"); +var x = b1.a; +var b2 = require("./b.json"); +if (x) { + var b = b2.b; + x = (b1.b === b); +} diff --git a/tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.symbols b/tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.symbols new file mode 100644 index 00000000000..a8f82b6b145 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.symbols @@ -0,0 +1,38 @@ +=== tests/cases/compiler/file1.ts === +import b1 = require('./b.json'); +>b1 : Symbol(b1, Decl(file1.ts, 0, 0)) + +let x = b1.a; +>x : Symbol(x, Decl(file1.ts, 1, 3)) +>b1.a : Symbol("a", Decl(b.json, 0, 1)) +>b1 : Symbol(b1, Decl(file1.ts, 0, 0)) +>a : Symbol("a", Decl(b.json, 0, 1)) + +import b2 = require('./b.json'); +>b2 : Symbol(b2, Decl(file1.ts, 1, 13)) + +if (x) { +>x : Symbol(x, Decl(file1.ts, 1, 3)) + + let b = b2.b; +>b : Symbol(b, Decl(file1.ts, 4, 7)) +>b2.b : Symbol("b", Decl(b.json, 1, 14)) +>b2 : Symbol(b2, Decl(file1.ts, 1, 13)) +>b : Symbol("b", Decl(b.json, 1, 14)) + + x = (b1.b === b); +>x : Symbol(x, Decl(file1.ts, 1, 3)) +>b1.b : Symbol("b", Decl(b.json, 1, 14)) +>b1 : Symbol(b1, Decl(file1.ts, 0, 0)) +>b : Symbol("b", Decl(b.json, 1, 14)) +>b : Symbol(b, Decl(file1.ts, 4, 7)) +} + +=== tests/cases/compiler/b.json === +{ + "a": true, +>"a" : Symbol("a", Decl(b.json, 0, 1)) + + "b": "hello" +>"b" : Symbol("b", Decl(b.json, 1, 14)) +} diff --git a/tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.types b/tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.types new file mode 100644 index 00000000000..c718c429408 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.types @@ -0,0 +1,45 @@ +=== tests/cases/compiler/file1.ts === +import b1 = require('./b.json'); +>b1 : { "a": boolean; "b": string; } + +let x = b1.a; +>x : boolean +>b1.a : boolean +>b1 : { "a": boolean; "b": string; } +>a : boolean + +import b2 = require('./b.json'); +>b2 : { "a": boolean; "b": string; } + +if (x) { +>x : boolean + + let b = b2.b; +>b : string +>b2.b : string +>b2 : { "a": boolean; "b": string; } +>b : string + + x = (b1.b === b); +>x = (b1.b === b) : boolean +>x : boolean +>(b1.b === b) : boolean +>b1.b === b : boolean +>b1.b : string +>b1 : { "a": boolean; "b": string; } +>b : string +>b : string +} + +=== tests/cases/compiler/b.json === +{ +>{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } + + "a": true, +>"a" : boolean +>true : true + + "b": "hello" +>"b" : string +>"hello" : "hello" +} diff --git a/tests/cases/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.ts b/tests/cases/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.ts new file mode 100644 index 00000000000..705590412eb --- /dev/null +++ b/tests/cases/compiler/requireOfJsonFileWithAlwaysStrictWithoutErrors.ts @@ -0,0 +1,19 @@ +// @module: commonjs +// @outdir: out/ +// @resolveJsonModule: true +// @alwaysStrict: true + +// @Filename: file1.ts +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +// @Filename: b.json +{ + "a": true, + "b": "hello" +} \ No newline at end of file From 159e73c50ec0fdb85183748dca73c46f6d36e71f Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Thu, 31 May 2018 10:30:38 -0700 Subject: [PATCH 16/76] Updated baselines --- .../genericTemplateOverloadResolution.symbols | 10 +++++----- tests/baselines/reference/unknownType1.symbols | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/baselines/reference/genericTemplateOverloadResolution.symbols b/tests/baselines/reference/genericTemplateOverloadResolution.symbols index 700f40956a1..1b4da552380 100644 --- a/tests/baselines/reference/genericTemplateOverloadResolution.symbols +++ b/tests/baselines/reference/genericTemplateOverloadResolution.symbols @@ -4,14 +4,14 @@ interface IFooFn { (strings: TemplateStringsArray): Promise<{}>; >strings : Symbol(strings, Decl(genericTemplateOverloadResolution.ts, 1, 5)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) (strings: TemplateStringsArray): Promise; >T : Symbol(T, Decl(genericTemplateOverloadResolution.ts, 2, 5)) >strings : Symbol(strings, Decl(genericTemplateOverloadResolution.ts, 2, 8)) ->TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) >T : Symbol(T, Decl(genericTemplateOverloadResolution.ts, 2, 5)) } @@ -22,7 +22,7 @@ declare const fooFn: IFooFn; declare function expect(x: Promise): void; >expect : Symbol(expect, Decl(genericTemplateOverloadResolution.ts, 5, 28)) >x : Symbol(x, Decl(genericTemplateOverloadResolution.ts, 7, 24)) ->Promise : Symbol(Promise, Decl(lib.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) expect(fooFn``); >expect : Symbol(expect, Decl(genericTemplateOverloadResolution.ts, 5, 28)) diff --git a/tests/baselines/reference/unknownType1.symbols b/tests/baselines/reference/unknownType1.symbols index c73308df512..bf4088c6e38 100644 --- a/tests/baselines/reference/unknownType1.symbols +++ b/tests/baselines/reference/unknownType1.symbols @@ -178,7 +178,7 @@ declare function isFunction(x: unknown): x is Function; >isFunction : Symbol(isFunction, Decl(unknownType1.ts, 66, 1)) >x : Symbol(x, Decl(unknownType1.ts, 70, 28)) >x : Symbol(x, Decl(unknownType1.ts, 70, 28)) ->Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) function f20(x: unknown) { >f20 : Symbol(f20, Decl(unknownType1.ts, 70, 55)) @@ -193,7 +193,7 @@ function f20(x: unknown) { } if (x instanceof Error) { >x : Symbol(x, Decl(unknownType1.ts, 72, 13)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x; // Error >x : Symbol(x, Decl(unknownType1.ts, 72, 13)) @@ -247,7 +247,7 @@ function f21(pAny: any, pNever: never, pT: T) { x = new Error(); >x : Symbol(x, Decl(unknownType1.ts, 93, 7)) ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) x = x; >x : Symbol(x, Decl(unknownType1.ts, 93, 7)) From b0f039c9e231638bb4d7c5588abbc7d8e7e4408c Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Thu, 31 May 2018 10:47:17 -0700 Subject: [PATCH 17/76] Make suggestion diagnostics to wire cancellationToken This especially needed if its a js file without the ts-check, the file wont be typechecked in getSemanticDiagnostics Fixes part of #19458 --- src/compiler/checker.ts | 29 +++++++++++----- src/compiler/program.ts | 7 ++++ src/compiler/types.ts | 3 +- .../cancellableLanguageServiceOperations.ts | 18 +++++++--- src/services/codeFixProvider.ts | 4 +-- src/services/services.ts | 2 +- src/services/suggestionDiagnostics.ts | 33 +++++++++---------- 7 files changed, 63 insertions(+), 33 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7dd798a935d..55dc7ed40b2 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -310,21 +310,34 @@ namespace ts { const node = getParseTreeNode(nodeIn, isTypeNode); return node && getTypeArgumentConstraint(node); }, + getSuggestionDiagnostics: (file, ct) => { + let diagnostics: DiagnosticWithLocation[] | undefined; + try { + // Record the cancellation token so it can be checked later on during checkSourceElement. + // Do this in a finally block so we can ensure that it gets reset back to nothing after + // this call is done. + cancellationToken = ct; - getSuggestionDiagnostics: file => { - return (suggestionDiagnostics.get(file.fileName) || emptyArray).concat(getUnusedDiagnostics()); - function getUnusedDiagnostics(): ReadonlyArray { - if (file.isDeclarationFile) return emptyArray; - + // Ensure file is type checked checkSourceFile(file); - const diagnostics: DiagnosticWithLocation[] = []; Debug.assert(!!(getNodeLinks(file).flags & NodeCheckFlags.TypeChecked)); + + diagnostics = addRange(diagnostics, suggestionDiagnostics.get(file.fileName)); + if (!file.isDeclarationFile && (!unusedIsError(UnusedKind.Local) || !unusedIsError(UnusedKind.Parameter))) { + addUnusedDiagnostics(); + } + return diagnostics || emptyArray; + } + finally { + cancellationToken = undefined; + } + + function addUnusedDiagnostics() { checkUnusedIdentifiers(getPotentiallyUnusedIdentifiers(file), (kind, diag) => { if (!unusedIsError(kind)) { - diagnostics.push({ ...diag, category: DiagnosticCategory.Suggestion }); + (diagnostics || (diagnostics = [])).push({ ...diag, category: DiagnosticCategory.Suggestion }); } }); - return diagnostics; } }, diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 4dfb9039ccf..715f5377b16 100755 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -683,6 +683,7 @@ namespace ts { getOptionsDiagnostics, getGlobalDiagnostics, getSemanticDiagnostics, + getSuggestionDiagnostics, getDeclarationDiagnostics, getTypeChecker, getClassifiableNames, @@ -1422,6 +1423,12 @@ namespace ts { }); } + function getSuggestionDiagnostics(sourceFile: SourceFile, cancellationToken: CancellationToken): ReadonlyArray { + return runWithCancellationToken(() => { + return getDiagnosticsProducingTypeChecker().getSuggestionDiagnostics(sourceFile, cancellationToken); + }); + } + /** * Skip errors if previous line start with '// @ts-ignore' comment, not counting non-empty non-comment lines */ diff --git a/src/compiler/types.ts b/src/compiler/types.ts index b13f4aea613..3a19762f0a9 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2755,6 +2755,7 @@ namespace ts { getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; getConfigFileParsingDiagnostics(): ReadonlyArray; + /* @internal */ getSuggestionDiagnostics(sourceFile: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; /** * Gets a type checker that can be used to semantically analyze source files in the program. @@ -3076,7 +3077,7 @@ namespace ts { * Does *not* get *all* suggestion diagnostics, just the ones that were convenient to report in the checker. * Others are added in computeSuggestionDiagnostics. */ - /* @internal */ getSuggestionDiagnostics(file: SourceFile): ReadonlyArray; + /* @internal */ getSuggestionDiagnostics(file: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; /** * Depending on the operation performed, it may be appropriate to throw away the checker diff --git a/src/harness/unittests/cancellableLanguageServiceOperations.ts b/src/harness/unittests/cancellableLanguageServiceOperations.ts index 161b45841f3..a198210f76b 100644 --- a/src/harness/unittests/cancellableLanguageServiceOperations.ts +++ b/src/harness/unittests/cancellableLanguageServiceOperations.ts @@ -56,9 +56,19 @@ namespace ts { r => assert.exists(r.displayParts) ); }); + + it("can cancel suggestion diagnostics mid-request", () => { + verifyOperationCancelledAfter(file, 1, service => // The LS doesn't do any top-level checks on the token for suggestion diagnostics, so the first check is within the checker + service.getSuggestionDiagnostics("file.js"), + r => assert.notEqual(r.length, 0), + "file.js", + "function foo() { let a = 10; }", + { allowJs: true } + ); + }); }); - function verifyOperationCancelledAfter(content: string, cancelAfter: number, operation: (service: LanguageService) => T, validator: (arg: T) => void) { + function verifyOperationCancelledAfter(content: string, cancelAfter: number, operation: (service: LanguageService) => T, validator: (arg: T) => void, fileName?: string, fileContent?: string, options?: CompilerOptions) { let checks = 0; const token: HostCancellationToken = { isCancellationRequested() { @@ -70,9 +80,9 @@ namespace ts { return result; } }; - const adapter = new Harness.LanguageService.NativeLanguageServiceAdapter(token); + const adapter = new Harness.LanguageService.NativeLanguageServiceAdapter(token, options); const host = adapter.getHost(); - host.addScript("file.ts", content, /*isRootFile*/ true); + host.addScript(fileName || "file.ts", fileContent || content, /*isRootFile*/ true); const service = adapter.getLanguageService(); assertCancelled(() => operation(service)); validator(operation(service)); @@ -92,4 +102,4 @@ namespace ts { assert.exists(caught, "Expected operation to be cancelled, but was not"); assert.instanceOf(caught, OperationCanceledException); } -} \ No newline at end of file +} diff --git a/src/services/codeFixProvider.ts b/src/services/codeFixProvider.ts index 31b766d3bf5..4dbdc23041e 100644 --- a/src/services/codeFixProvider.ts +++ b/src/services/codeFixProvider.ts @@ -86,8 +86,8 @@ namespace ts { return createCombinedCodeActions(changes, commands.length === 0 ? undefined : commands); } - function eachDiagnostic({ program, sourceFile }: CodeFixAllContext, errorCodes: number[], cb: (diag: DiagnosticWithLocation) => void): void { - for (const diag of program.getSemanticDiagnostics(sourceFile).concat(computeSuggestionDiagnostics(sourceFile, program))) { + function eachDiagnostic({ program, sourceFile, cancellationToken }: CodeFixAllContext, errorCodes: number[], cb: (diag: DiagnosticWithLocation) => void): void { + for (const diag of program.getSemanticDiagnostics(sourceFile, cancellationToken).concat(computeSuggestionDiagnostics(sourceFile, program, cancellationToken))) { if (contains(errorCodes, diag.code)) { cb(diag as DiagnosticWithLocation); } diff --git a/src/services/services.ts b/src/services/services.ts index 441cb5a8ebd..7d5e4ec0a87 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1415,7 +1415,7 @@ namespace ts { function getSuggestionDiagnostics(fileName: string): DiagnosticWithLocation[] { synchronizeHostData(); - return computeSuggestionDiagnostics(getValidSourceFile(fileName), program); + return computeSuggestionDiagnostics(getValidSourceFile(fileName), program, cancellationToken); } function getCompilerOptionsDiagnostics() { diff --git a/src/services/suggestionDiagnostics.ts b/src/services/suggestionDiagnostics.ts index 4e09b97fec8..cdf40df08e4 100644 --- a/src/services/suggestionDiagnostics.ts +++ b/src/services/suggestionDiagnostics.ts @@ -1,8 +1,7 @@ /* @internal */ namespace ts { - export function computeSuggestionDiagnostics(sourceFile: SourceFile, program: Program): DiagnosticWithLocation[] { - program.getSemanticDiagnostics(sourceFile); - const checker = program.getDiagnosticsProducingTypeChecker(); + export function computeSuggestionDiagnostics(sourceFile: SourceFile, program: Program, cancellationToken: CancellationToken): DiagnosticWithLocation[] { + program.getSemanticDiagnostics(sourceFile, cancellationToken); const diags: DiagnosticWithLocation[] = []; if (sourceFile.commonJsModuleIndicator && @@ -23,6 +22,18 @@ namespace ts { } } break; + case SyntaxKind.VariableStatement: + if (!isJsFile && node.parent === sourceFile) { + const statement = node as VariableStatement; + if (statement.declarationList.flags & NodeFlags.Const && + statement.declarationList.declarations.length === 1) { + const init = statement.declarationList.declarations[0].initializer; + if (init && isRequireCall(init, /*checkArgumentIsStringLiteralLike*/ true)) { + diags.push(createDiagnosticForNode(init, Diagnostics.require_call_may_be_converted_to_an_import)); + } + } + } + break; } if (!isJsFile && codefix.parameterShouldGetTypeFromJSDoc(node)) { @@ -33,19 +44,6 @@ namespace ts { } check(sourceFile); - if (!isJsFile) { - for (const statement of sourceFile.statements) { - if (isVariableStatement(statement) && - statement.declarationList.flags & NodeFlags.Const && - statement.declarationList.declarations.length === 1) { - const init = statement.declarationList.declarations[0].initializer; - if (init && isRequireCall(init, /*checkArgumentIsStringLiteralLike*/ true)) { - diags.push(createDiagnosticForNode(init, Diagnostics.require_call_may_be_converted_to_an_import)); - } - } - } - } - if (getAllowSyntheticDefaultImports(program.getCompilerOptions())) { for (const moduleSpecifier of sourceFile.imports) { const importNode = importFromModuleSpecifier(moduleSpecifier); @@ -60,7 +58,8 @@ namespace ts { } addRange(diags, sourceFile.bindSuggestionDiagnostics); - return diags.concat(checker.getSuggestionDiagnostics(sourceFile)).sort((d1, d2) => d1.start - d2.start); + addRange(diags, program.getSuggestionDiagnostics(sourceFile, cancellationToken)); + return diags.sort((d1, d2) => d1.start - d2.start); } // convertToEs6Module only works on top-level, so don't trigger it if commonjs code only appears in nested scopes. From d187de20769ed57a60a7642b0b5196bf1d5b9a32 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Thu, 31 May 2018 11:41:26 -0700 Subject: [PATCH 18/76] Better JS container binding (#24367) * Static assignments to class expressions work * Bind static properties of functions too Also update SymbolLinks in getTypeOfFuncClassEnumModule so that the type gets cached correctly. * Remove initializer handling:obj literals+type lookup Also include a couple of improved baselines * Fix 1-nested js containers:binding+cross-file merge * Consolidate check into one utility The utility is horrible and needs to change, but at least it's in one place. Next step is to make the utility like getDeclarationOfAlias, except getDeclarationOfJSAlias. * Defaulted assignments now (mostly) work * Default assignment definitely work, and IIFEs kind of do * n-nested undeclared containers now seem to work Merging even seems to work ok. * Handle prototype+prototype property assignments Perhaps in the wrong way. I have an idea how to simplify them. * Remove prototype special-case 1. It's not completely removed; the checker code in getJavascriptClassType needs to be fixed, among other places. 2. I didn't actually remove the code so that it will be easier to see what used to be there on Monday. Regardless, the code will be much simpler and seems to be mostly improved with very little work so far. * Allow more merges+accept baselines * Update more baselines * Fix js initializer check in bindPropertyAssignment * Fix codefixes * Rest of strictNullChecks cleanup + other cleanup 1. Remove a few TODOs 2. Remove extraneous SymbolFlag 3. Simplify isSameDefaultedName * Binder cleanup * Checker cleanup * Almost done with utilities cleanup * Utilities cleanup * Require js initializer to be (1) JS (2) initializer Change getDeclarationOfJSInitializer to require that the provided js initializer be in a javascript file, and that it is the initializer of the retrieved declaration. * Use getSymbolOfNode instead of accessing symbol directly * Ugh. Start over with just test cases * Handle additional cases in getTypeOfVariableOrParameterOrProperty These are cases in a really embarrassing check, in which we admit that the symbol flags steered us wrong and switch to getTypeOfFuncClassEnumModule instead (which never asserts). * Add test case for #24111 * Address PR comments --- src/compiler/binder.ts | 82 ++++++---- src/compiler/checker.ts | 140 +++++++++--------- src/compiler/core.ts | 4 + src/compiler/utilities.ts | 66 ++++++--- .../codefixes/convertFunctionToEs6Class.ts | 2 +- src/services/suggestionDiagnostics.ts | 22 ++- .../chainedPrototypeAssignment.symbols | 8 +- .../chainedPrototypeAssignment.types | 8 +- .../reference/exportNestedNamespaces.symbols | 24 +-- .../reference/exportNestedNamespaces.types | 18 +-- ...gClassStaticMembersFromAssignments.symbols | 8 +- .../jsContainerMergeJsContainer.symbols | 12 +- .../jsContainerMergeJsContainer.types | 20 +-- .../jsContainerMergeTsDeclaration.errors.txt | 22 --- .../jsContainerMergeTsDeclaration.js | 17 --- .../jsContainerMergeTsDeclaration.symbols | 4 +- .../jsContainerMergeTsDeclaration2.errors.txt | 13 ++ .../jsContainerMergeTsDeclaration2.symbols | 18 +++ .../jsContainerMergeTsDeclaration2.types | 22 +++ .../jsContainerMergeTsDeclaration3.symbols | 13 ++ .../jsContainerMergeTsDeclaration3.types | 16 ++ .../jsObjectsMarkedAsOpenEnded.symbols | 8 +- .../moduleExportNestedNamespaces.symbols | 16 +- .../moduleExportNestedNamespaces.types | 8 +- .../nestedPrototypeAssignment.symbols | 16 ++ .../reference/nestedPrototypeAssignment.types | 20 +++ .../typeFromPropertyAssignment.symbols | 4 +- .../typeFromPropertyAssignment10.symbols | 52 +++---- .../typeFromPropertyAssignment11.symbols | 10 +- .../typeFromPropertyAssignment11.types | 12 +- .../typeFromPropertyAssignment12.symbols | 4 +- .../typeFromPropertyAssignment12.types | 10 +- .../typeFromPropertyAssignment13.symbols | 42 +++--- .../typeFromPropertyAssignment13.types | 26 ++-- .../typeFromPropertyAssignment14.symbols | 4 +- .../typeFromPropertyAssignment14.types | 30 ++-- .../typeFromPropertyAssignment15.symbols | 8 +- .../typeFromPropertyAssignment16.symbols | 16 +- .../typeFromPropertyAssignment16.types | 30 ++-- .../typeFromPropertyAssignment18.symbols | 8 +- .../typeFromPropertyAssignment3.symbols | 4 +- .../typeFromPropertyAssignment7.symbols | 8 +- .../typeFromPropertyAssignment8.symbols | 48 +++--- .../typeFromPropertyAssignment9.symbols | 136 ++++++++--------- ...peFromPropertyAssignmentOutOfOrder.symbols | 14 +- ...peFromPropertyAssignmentWithExport.symbols | 14 +- .../reference/typeLookupInIIFE.errors.txt | 11 ++ .../reference/typedefCrossModule3.symbols | 4 +- ...erringClassStaticMembersFromAssignments.ts | 2 +- .../salsa/jsContainerMergeTsDeclaration.ts | 1 + .../salsa/jsContainerMergeTsDeclaration2.ts | 10 ++ .../salsa/jsContainerMergeTsDeclaration3.ts | 8 + .../salsa/nestedPrototypeAssignment.ts | 9 ++ 53 files changed, 653 insertions(+), 479 deletions(-) delete mode 100644 tests/baselines/reference/jsContainerMergeTsDeclaration.errors.txt delete mode 100644 tests/baselines/reference/jsContainerMergeTsDeclaration.js create mode 100644 tests/baselines/reference/jsContainerMergeTsDeclaration2.errors.txt create mode 100644 tests/baselines/reference/jsContainerMergeTsDeclaration2.symbols create mode 100644 tests/baselines/reference/jsContainerMergeTsDeclaration2.types create mode 100644 tests/baselines/reference/jsContainerMergeTsDeclaration3.symbols create mode 100644 tests/baselines/reference/jsContainerMergeTsDeclaration3.types create mode 100644 tests/baselines/reference/nestedPrototypeAssignment.symbols create mode 100644 tests/baselines/reference/nestedPrototypeAssignment.types create mode 100644 tests/baselines/reference/typeLookupInIIFE.errors.txt create mode 100644 tests/cases/conformance/salsa/jsContainerMergeTsDeclaration2.ts create mode 100644 tests/cases/conformance/salsa/jsContainerMergeTsDeclaration3.ts create mode 100644 tests/cases/conformance/salsa/nestedPrototypeAssignment.ts diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 5b48a69fa04..beee9823aa5 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -1698,6 +1698,7 @@ namespace ts { symbol.parent = container.symbol; } addDeclarationToSymbol(symbol, node, symbolFlags); + return symbol; } function bindBlockScopedDeclaration(node: Declaration, symbolFlags: SymbolFlags, symbolExcludes: SymbolFlags) { @@ -2317,13 +2318,11 @@ namespace ts { // expression is the declaration setCommonJsModuleIndicator(node); const lhs = node.left as PropertyAccessEntityNameExpression; - const symbol = forEachIdentifierInEntityName(lhs.expression, (id, original) => { - if (!original) { - return undefined; + const symbol = forEachIdentifierInEntityName(lhs.expression, /*parent*/ undefined, (id, symbol) => { + if (symbol) { + addDeclarationToSymbol(symbol, id, SymbolFlags.Module | SymbolFlags.JSContainer); } - const s = getJSInitializerSymbol(original)!; - addDeclarationToSymbol(s, id, SymbolFlags.Module | SymbolFlags.JSContainer); - return s; + return symbol; }); if (symbol) { const flags = isClassExpression(node.right) ? @@ -2359,12 +2358,12 @@ namespace ts { switch (thisContainer.kind) { case SyntaxKind.FunctionDeclaration: case SyntaxKind.FunctionExpression: - let constructorSymbol = thisContainer.symbol; + let constructorSymbol: Symbol | undefined = thisContainer.symbol; // For `f.prototype.m = function() { this.x = 0; }`, `this.x = 0` should modify `f`'s members, not the function expression. if (isBinaryExpression(thisContainer.parent) && thisContainer.parent.operatorToken.kind === SyntaxKind.EqualsToken) { const l = thisContainer.parent.left; if (isPropertyAccessEntityNameExpression(l) && isPrototypeAccess(l.expression)) { - constructorSymbol = getJSInitializerSymbolFromName(l.expression.expression, thisParentContainer)!; + constructorSymbol = lookupSymbolForPropertyAccess(l.expression.expression, thisParentContainer); } } @@ -2463,46 +2462,67 @@ namespace ts { bindPropertyAssignment(node.expression, node, /*isPrototypeProperty*/ false); } - function getJSInitializerSymbolFromName(name: EntityNameExpression, lookupContainer?: Node): Symbol | undefined { - return getJSInitializerSymbol(lookupSymbolForPropertyAccess(name, lookupContainer)); - } - function bindPropertyAssignment(name: EntityNameExpression, propertyAccess: PropertyAccessEntityNameExpression, isPrototypeProperty: boolean) { - let symbol = getJSInitializerSymbolFromName(name); + let namespaceSymbol = lookupSymbolForPropertyAccess(name); const isToplevelNamespaceableInitializer = isBinaryExpression(propertyAccess.parent) ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === SyntaxKind.SourceFile && !!getJavascriptInitializer(getInitializerOfBinaryExpression(propertyAccess.parent), isPrototypeAccess(propertyAccess.parent.left)) : propertyAccess.parent.parent.kind === SyntaxKind.SourceFile; - if (!isPrototypeProperty && (!symbol || !(symbol.flags & SymbolFlags.Namespace)) && isToplevelNamespaceableInitializer) { + if (!isPrototypeProperty && (!namespaceSymbol || !(namespaceSymbol.flags & SymbolFlags.Namespace)) && isToplevelNamespaceableInitializer) { // make symbols or add declarations for intermediate containers const flags = SymbolFlags.Module | SymbolFlags.JSContainer; const excludeFlags = SymbolFlags.ValueModuleExcludes & ~SymbolFlags.JSContainer; - forEachIdentifierInEntityName(propertyAccess.expression, (id, original) => { - if (original) { - // Note: add declaration to original symbol, not the special-syntax's symbol, so that namespaces work for type lookup - addDeclarationToSymbol(original, id, flags); - return original; + namespaceSymbol = forEachIdentifierInEntityName(propertyAccess.expression, namespaceSymbol, (id, symbol, parent) => { + if (symbol) { + addDeclarationToSymbol(symbol, id, flags); + return symbol; } else { - return symbol = declareSymbol(symbol ? symbol.exports! : container.locals!, symbol, id, flags, excludeFlags); + return declareSymbol(parent ? parent.exports! : container.locals!, parent, id, flags, excludeFlags); } }); } - if (!symbol || !(symbol.flags & (SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.NamespaceModule | SymbolFlags.ObjectLiteral))) { + if (!namespaceSymbol || !isJavascriptContainer(namespaceSymbol)) { return; } // Set up the members collection if it doesn't exist already const symbolTable = isPrototypeProperty ? - (symbol.members || (symbol.members = createSymbolTable())) : - (symbol.exports || (symbol.exports = createSymbolTable())); + (namespaceSymbol.members || (namespaceSymbol.members = createSymbolTable())) : + (namespaceSymbol.exports || (namespaceSymbol.exports = createSymbolTable())); // Declare the method/property const jsContainerFlag = isToplevelNamespaceableInitializer ? SymbolFlags.JSContainer : 0; - const isMethod = isFunctionLikeDeclaration(getAssignedJavascriptInitializer(propertyAccess)!); // TODO: GH#18217 + const isMethod = isFunctionLikeDeclaration(getAssignedJavascriptInitializer(propertyAccess)!); const symbolFlags = (isMethod ? SymbolFlags.Method : SymbolFlags.Property) | jsContainerFlag; const symbolExcludes = (isMethod ? SymbolFlags.MethodExcludes : SymbolFlags.PropertyExcludes) & ~jsContainerFlag; - declareSymbol(symbolTable, symbol, propertyAccess, symbolFlags, symbolExcludes); + declareSymbol(symbolTable, namespaceSymbol, propertyAccess, symbolFlags, symbolExcludes); + } + + /** + * Javascript containers are: + * - Functions + * - classes + * - namespaces + * - variables initialized with function expressions + * - with class expressions + * - with empty object literals + * - with non-empty object literals if assigned to the prototype property + */ + function isJavascriptContainer(symbol: Symbol): boolean { + const node = symbol.valueDeclaration; + if (symbol.flags & (SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.NamespaceModule)) { + return true; + } + const init = isVariableDeclaration(node) ? node.initializer : + isBinaryExpression(node) ? node.right : + isPropertyAccessExpression(node) && isBinaryExpression(node.parent) ? node.parent.right : + undefined; + if (init) { + const isPrototypeAssignment = isPrototypeAccess(isVariableDeclaration(node) ? node.name : isBinaryExpression(node) ? node.left : node); + return !!getJavascriptInitializer(isBinaryExpression(init) && init.operatorToken.kind === SyntaxKind.BarBarToken ? init.right : init, isPrototypeAssignment); + } + return false; } function getParentOfBinaryExpression(expr: BinaryExpression) { @@ -2517,22 +2537,22 @@ namespace ts { return lookupSymbolForNameWorker(lookupContainer, node.escapedText); } else { - const symbol = getJSInitializerSymbol(lookupSymbolForPropertyAccess(node.expression)); + const symbol = lookupSymbolForPropertyAccess(node.expression); return symbol && symbol.exports && symbol.exports.get(node.name.escapedText); } } - function forEachIdentifierInEntityName(e: EntityNameExpression, action: (e: Identifier, symbol: Symbol | undefined) => Symbol | undefined): Symbol | undefined { + function forEachIdentifierInEntityName(e: EntityNameExpression, parent: Symbol | undefined, action: (e: Identifier, symbol: Symbol | undefined, parent: Symbol | undefined) => Symbol | undefined): Symbol | undefined { if (isExportsOrModuleExportsOrAlias(file, e)) { return file.symbol; } else if (isIdentifier(e)) { - return action(e, lookupSymbolForPropertyAccess(e)); + return action(e, lookupSymbolForPropertyAccess(e), parent); } else { - const s = getJSInitializerSymbol(forEachIdentifierInEntityName(e.expression, action)); + const s = forEachIdentifierInEntityName(e.expression, parent, action); if (!s || !s.exports) return Debug.fail(); - return action(e.name, s.exports.get(e.name.escapedText)); + return action(e.name, s.exports.get(e.name.escapedText), s); } } @@ -2596,7 +2616,7 @@ namespace ts { bindBlockScopedVariableDeclaration(node); } else if (isParameterDeclaration(node)) { - // It is safe to walk up parent chain to find whether the node is a destructing parameter declaration + // It is safe to walk up parent chain to find whether the node is a destructuring parameter declaration // because its parent chain has already been set up, since parents are set before descending into children. // // If node is a binding element in parameter declaration, we need to use ParameterExcludes. diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7dd798a935d..fcddb03f63d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -889,11 +889,17 @@ namespace ts { return result; } - function mergeSymbol(target: Symbol, source: Symbol) { + /** + * Note: if target is transient, then it is mutable, and mergeSymbol with both mutate and return it. + * If target is not transient, mergeSymbol will produce a transient clone, mutate that and return it. + */ + function mergeSymbol(target: Symbol, source: Symbol): Symbol { if (!(target.flags & getExcludedSymbolFlags(source.flags)) || (source.flags | target.flags) & SymbolFlags.JSContainer) { - const targetValueDeclaration = target.valueDeclaration; - Debug.assert(!!(target.flags & SymbolFlags.Transient)); + Debug.assert(source !== target); + if (!(target.flags & SymbolFlags.Transient)) { + target = cloneSymbol(target); + } // Javascript static-property-assignment declarations always merge, even though they are also values if (source.flags & SymbolFlags.ValueModule && target.flags & SymbolFlags.ValueModule && target.constEnumOnlyModule && !source.constEnumOnlyModule) { // reset flag when merging instantiated module into value module that has only const enums @@ -915,18 +921,6 @@ namespace ts { if (!target.exports) target.exports = createSymbolTable(); mergeSymbolTable(target.exports, source.exports); } - if ((source.flags | target.flags) & SymbolFlags.JSContainer) { - const sourceInitializer = getJSInitializerSymbol(source)!; - const init = getDeclaredJavascriptInitializer(targetValueDeclaration) || getAssignedJavascriptInitializer(targetValueDeclaration); - let targetInitializer = init && init.symbol ? init.symbol : target; - if (!(targetInitializer.flags & SymbolFlags.Transient)) { - const mergedInitializer = getMergedSymbol(targetInitializer); - targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; - } - if (sourceInitializer !== source || targetInitializer !== target) { - mergeSymbol(targetInitializer, sourceInitializer); - } - } recordMergedSymbol(target, source); } else if (target.flags & SymbolFlags.NamespaceModule) { @@ -947,11 +941,12 @@ namespace ts { error(errorNode, message, symbolToString(source)); }); } + return target; } function combineSymbolTables(first: SymbolTable | undefined, second: SymbolTable | undefined): SymbolTable | undefined { - if (!first || first.size === 0) return second; - if (!second || second.size === 0) return first; + if (!hasEntries(first)) return second; + if (!hasEntries(second)) return first; const combined = createSymbolTable(); mergeSymbolTable(combined, first); mergeSymbolTable(combined, second); @@ -960,17 +955,7 @@ namespace ts { function mergeSymbolTable(target: SymbolTable, source: SymbolTable) { source.forEach((sourceSymbol, id) => { - let targetSymbol = target.get(id); - if (!targetSymbol) { - target.set(id, sourceSymbol); - } - else { - if (!(targetSymbol.flags & SymbolFlags.Transient)) { - targetSymbol = cloneSymbol(targetSymbol); - target.set(id, targetSymbol); - } - mergeSymbol(targetSymbol, sourceSymbol); - } + target.set(id, target.has(id) ? mergeSymbol(target.get(id)!, sourceSymbol) : sourceSymbol); }); } @@ -1000,10 +985,7 @@ namespace ts { // obtain item referenced by 'export=' mainModule = resolveExternalModuleSymbol(mainModule); if (mainModule.flags & SymbolFlags.Namespace) { - // if module symbol has already been merged - it is safe to use it. - // otherwise clone it - mainModule = mainModule.flags & SymbolFlags.Transient ? mainModule : cloneSymbol(mainModule); - mergeSymbol(mainModule, moduleAugmentation.symbol); + mainModule = mergeSymbol(mainModule, moduleAugmentation.symbol); } else { // moduleName will be a StringLiteral since this is not `declare global`. @@ -2124,14 +2106,6 @@ namespace ts { return namespace; } if (isInJavaScriptFile(name)) { - const initializer = getDeclaredJavascriptInitializer(namespace.valueDeclaration) || getAssignedJavascriptInitializer(namespace.valueDeclaration); - if (initializer) { - namespace = getSymbolOfNode(initializer)!; - } - // Currently, IIFEs may not have a symbol and we don't know about their contents. Give up in this case. - if (!namespace) { - return undefined; - } if (namespace.valueDeclaration && isVariableDeclaration(namespace.valueDeclaration) && namespace.valueDeclaration.initializer && @@ -2324,14 +2298,7 @@ namespace ts { } moduleSymbol.exports!.forEach((s, name) => { if (name === InternalSymbolName.ExportEquals) return; - if (!merged.exports!.has(name)) { - merged.exports!.set(name, s); - } - else { - const ms = cloneSymbol(merged.exports!.get(name)!); - mergeSymbol(ms, s); - merged.exports!.set(name, ms); - } + merged.exports!.set(name, merged.exports!.has(name) ? mergeSymbol(merged.exports!.get(name)!, s) : s); }); return merged; } @@ -4966,6 +4933,8 @@ namespace ts { else if (isJSDocPropertyLikeTag(declaration) || isPropertyAccessExpression(declaration) || isIdentifier(declaration) + || isClassDeclaration(declaration) + || isFunctionDeclaration(declaration) || (isMethodDeclaration(declaration) && !isObjectLiteralMethod(declaration)) || isMethodSignature(declaration)) { @@ -4995,7 +4964,7 @@ namespace ts { type = getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true); } else { - return Debug.fail("Unhandled declaration kind! " + Debug.showSyntaxKind(declaration)); + return Debug.fail("Unhandled declaration kind! " + Debug.showSyntaxKind(declaration) + " for " + Debug.showSymbol(symbol)); } if (!popTypeResolution()) { @@ -5097,8 +5066,25 @@ namespace ts { } function getTypeOfFuncClassEnumModule(symbol: Symbol): Type { - const links = getSymbolLinks(symbol); + let links = getSymbolLinks(symbol); if (!links.type) { + const jsDeclaration = getDeclarationOfJSInitializer(symbol.valueDeclaration); + if (jsDeclaration) { + const jsSymbol = getSymbolOfNode(jsDeclaration); + if (jsSymbol && (hasEntries(jsSymbol.exports) || hasEntries(jsSymbol.members))) { + symbol = cloneSymbol(symbol); + // note:we overwrite links because we just cloned the symbol + links = symbol as TransientSymbol; + if (hasEntries(jsSymbol.exports)) { + symbol.exports = symbol.exports || createSymbolTable(); + mergeSymbolTable(symbol.exports, jsSymbol.exports); + } + if (hasEntries(jsSymbol.members)) { + symbol.members = symbol.members || createSymbolTable(); + mergeSymbolTable(symbol.members, jsSymbol.members); + } + } + } if (symbol.flags & SymbolFlags.Module && isShorthandAmbientModuleSymbol(symbol)) { links.type = anyType; } @@ -7446,18 +7432,17 @@ namespace ts { const result: Signature[] = []; for (let i = 0; i < symbol.declarations.length; i++) { const decl = symbol.declarations[i]; - const node = isPropertyAccessExpression(decl) ? getAssignedJavascriptInitializer(decl)! : decl; // TODO: GH#18217 - if (!isFunctionLike(node)) continue; + if (!isFunctionLike(decl)) continue; // Don't include signature if node is the implementation of an overloaded function. A node is considered // an implementation node if it has a body and the previous node is of the same kind and immediately // precedes the implementation node (i.e. has the same parent and ends where the implementation starts). - if (i > 0 && (node as FunctionLikeDeclaration).body) { + if (i > 0 && (decl as FunctionLikeDeclaration).body) { const previous = symbol.declarations[i - 1]; - if (node.parent === previous.parent && node.kind === previous.kind && node.pos === previous.end) { + if (decl.parent === previous.parent && decl.kind === previous.kind && decl.pos === previous.end) { continue; } } - result.push(getSignatureFromDeclaration(node)); + result.push(getSignatureFromDeclaration(decl)); } return result; } @@ -15299,7 +15284,7 @@ namespace ts { // expression has no contextual type, the right operand is contextually typed by the type of the left operand, // except for the special case of Javascript declarations of the form `namespace.prop = namespace.prop || {}` const type = getContextualType(binaryExpression); - return !type && node === right && !getDeclaredJavascriptInitializer(binaryExpression.parent) && !getAssignedJavascriptInitializer(binaryExpression) ? + return !type && node === right && !isDefaultedJavascriptInitializer(binaryExpression) ? getTypeOfExpression(left) : type; case SyntaxKind.AmpersandAmpersandToken: case SyntaxKind.CommaToken: @@ -15308,6 +15293,7 @@ namespace ts { return undefined; } } + // In an assignment expression, the right operand is contextually typed by the type of the left operand. // Don't do this for special property assignments to avoid circularity. function isContextSensitiveAssignment(binaryExpression: BinaryExpression): boolean { @@ -15975,13 +15961,16 @@ namespace ts { let hasComputedStringProperty = false; let hasComputedNumberProperty = false; - if (isInJSFile && node.properties.length === 0) { - // an empty JS object literal that nonetheless has members is a JS namespace - const symbol = getSymbolOfNode(node); - if (symbol.exports) { - propertiesTable = symbol.exports; - symbol.exports.forEach(symbol => propertiesArray.push(getMergedSymbol(symbol))); - return createObjectLiteralType(); + if (isInJSFile) { + const decl = getDeclarationOfJSInitializer(node); + if (decl) { + // a JS object literal whose declaration's symbol has exports is a JS namespace + const symbol = getMergedSymbol(decl.symbol); + if (symbol && hasEntries(symbol.exports)) { + propertiesTable = symbol.exports; + symbol.exports.forEach(symbol => propertiesArray.push(getMergedSymbol(symbol))); + return createObjectLiteralType(); + } } } propertiesTable = createSymbolTable(); @@ -19083,10 +19072,6 @@ namespace ts { } function getJavaScriptClassType(symbol: Symbol): Type | undefined { - const initializer = getDeclaredJavascriptInitializer(symbol.valueDeclaration); - if (initializer) { - symbol = getSymbolOfNode(initializer)!; - } let inferred: Type | undefined; if (isJavaScriptConstructor(symbol.valueDeclaration)) { inferred = getInferredClassType(symbol); @@ -19197,7 +19182,17 @@ namespace ts { if (returnType.flags & TypeFlags.ESSymbolLike && isSymbolOrSymbolForCall(node)) { return getESSymbolLikeTypeForNode(walkUpParenthesizedExpressions(node.parent)); } - return returnType; + let jsAssignmentType: Type | undefined; + if (isInJavaScriptFile(node)) { + const decl = getDeclarationOfJSInitializer(node); + if (decl) { + const jsSymbol = getSymbolOfNode(decl); + if (jsSymbol && hasEntries(jsSymbol.exports)) { + jsAssignmentType = createAnonymousType(jsSymbol, jsSymbol.exports, emptyArray, emptyArray, jsObjectLiteralIndexInfo, undefined); + } + } + } + return jsAssignmentType ? getIntersectionType([returnType, jsAssignmentType]) : returnType; } function isSymbolOrSymbolForCall(node: Node) { @@ -20693,13 +20688,12 @@ namespace ts { } function checkDeclarationInitializer(declaration: HasExpressionInitializer) { - const inJs = isInJavaScriptFile(declaration); - const initializer = inJs && getDeclaredJavascriptInitializer(declaration) || declaration.initializer!; + const initializer = getEffectiveInitializer(declaration)!; const type = getTypeOfExpression(initializer, /*cache*/ true); const widened = getCombinedNodeFlags(declaration) & NodeFlags.Const || (getCombinedModifierFlags(declaration) & ModifierFlags.Readonly && !isParameterPropertyDeclaration(declaration)) || isTypeAssertion(initializer) ? type : getWidenedLiteralType(type); - if (inJs) { + if (isInJavaScriptFile(declaration)) { if (widened.flags & TypeFlags.Nullable) { if (noImplicitAny) { reportImplicitAnyError(declaration, anyType); @@ -23325,8 +23319,8 @@ namespace ts { if (node === symbol.valueDeclaration) { // Node is the primary declaration of the symbol, just validate the initializer // Don't validate for-in initializer as it is already an error - if (node.initializer && node.parent.parent.kind !== SyntaxKind.ForInStatement) { - const initializer = isInJavaScriptFile(node) && getDeclaredJavascriptInitializer(node) || node.initializer; + const initializer = getEffectiveInitializer(node); + if (initializer && node.parent.parent.kind !== SyntaxKind.ForInStatement) { checkTypeAssignableTo(checkExpressionCached(initializer), type, node, /*headMessage*/ undefined); checkParameterInitializer(node); } diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 350272db44a..01ca0bea4c7 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -169,6 +169,10 @@ namespace ts { return array ? array.length : 0; } + export function hasEntries(map: ReadonlyUnderscoreEscapedMap | undefined): map is ReadonlyUnderscoreEscapedMap { + return !!map && !!map.size; + } + /** * Iterates through 'array' by index and performs the callback on each element of array until the callback * returns a truthy value, then returns that value. diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 426c0d8d1da..8b4e12dc222 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -1560,28 +1560,49 @@ namespace ts { return getSourceTextOfNodeFromSourceFile(sourceFile, str).charCodeAt(0) === CharacterCodes.doubleQuote; } - /** - * Given the symbol of a declaration, find the symbol of its Javascript container-like initializer, - * if it has one. Otherwise just return the original symbol. - * - * Container-like initializer behave like namespaces, so the binder needs to add contained symbols - * to their exports. An example is a function with assignments to `this` inside. - */ - export function getJSInitializerSymbol(symbol: Symbol | undefined) { - if (!symbol || !symbol.valueDeclaration) { - return symbol; + export function getDeclarationOfJSInitializer(node: Node): Node | undefined { + if (!isInJavaScriptFile(node) || !node.parent) { + return undefined; } - const declaration = symbol.valueDeclaration; - const e = getDeclaredJavascriptInitializer(declaration) || getAssignedJavascriptInitializer(declaration); - return e && e.symbol ? e.symbol : symbol; + let name: Expression | BindingName | undefined; + let decl: Node | undefined; + if (isVariableDeclaration(node.parent) && node.parent.initializer === node) { + name = node.parent.name; + decl = node.parent; + } + else if (isBinaryExpression(node.parent) && node.parent.operatorToken.kind === SyntaxKind.EqualsToken && node.parent.right === node) { + name = node.parent.left; + decl = name; + } + else if (isBinaryExpression(node.parent) && node.parent.operatorToken.kind === SyntaxKind.BarBarToken) { + if (isVariableDeclaration(node.parent.parent) && node.parent.parent.initializer === node.parent) { + name = node.parent.parent.name; + decl = node.parent.parent; + } + else if (isBinaryExpression(node.parent.parent) && node.parent.parent.operatorToken.kind === SyntaxKind.EqualsToken && node.parent.parent.right === node.parent) { + name = node.parent.parent.left; + decl = name; + } + + if (!name || !isEntityNameExpression(name) || !isSameEntityName(name, node.parent.left)) { + return undefined; + } + } + + if (!name || !getJavascriptInitializer(node, isPrototypeAccess(name))) { + return undefined; + } + return decl; } - /** Get the declaration initializer, when the initializer is container-like (See getJavascriptInitializer) */ - export function getDeclaredJavascriptInitializer(node: Node) { - if (node && isVariableDeclaration(node) && node.initializer) { - return getJavascriptInitializer(node.initializer, /*isPrototypeAssignment*/ false) || - isIdentifier(node.name) && getDefaultedJavascriptInitializer(node.name, node.initializer, /*isPrototypeAssignment*/ false); + /** Get the initializer, taking into account defaulted Javascript initializers */ + export function getEffectiveInitializer(node: HasExpressionInitializer) { + if (isInJavaScriptFile(node) && node.initializer && + isBinaryExpression(node.initializer) && node.initializer.operatorToken.kind === SyntaxKind.BarBarToken && + node.name && isEntityNameExpression(node.name) && isSameEntityName(node.name, node.initializer.left)) { + return node.initializer.right; } + return node.initializer; } /** @@ -1636,6 +1657,13 @@ namespace ts { } } + export function isDefaultedJavascriptInitializer(node: BinaryExpression) { + const name = isVariableDeclaration(node.parent) ? node.parent.name : + isBinaryExpression(node.parent) && node.parent.operatorToken.kind === SyntaxKind.EqualsToken ? node.parent.left : + undefined; + return name && getJavascriptInitializer(node.right, isPrototypeAccess(name)) && isEntityNameExpression(name) && isSameEntityName(name, node.left); + } + /** Given a Javascript initializer, return the outer name. That is, the lhs of the assignment or the declaration name. */ export function getOuterNameOfJsInitializer(node: Declaration): DeclarationName | undefined { if (isBinaryExpression(node.parent)) { @@ -1658,7 +1686,7 @@ namespace ts { * var min = window.min || {} * my.app = self.my.app || class { } */ - function isSameEntityName(name: EntityNameExpression, initializer: EntityNameExpression): boolean { + function isSameEntityName(name: Expression, initializer: Expression): boolean { if (isIdentifier(name) && isIdentifier(initializer)) { return name.escapedText === initializer.escapedText; } diff --git a/src/services/codefixes/convertFunctionToEs6Class.ts b/src/services/codefixes/convertFunctionToEs6Class.ts index cd1baeb14a0..0d75de3e79b 100644 --- a/src/services/codefixes/convertFunctionToEs6Class.ts +++ b/src/services/codefixes/convertFunctionToEs6Class.ts @@ -176,7 +176,7 @@ namespace ts.codefix { return undefined; } - const memberElements = createClassElementsFromSymbol(initializer.symbol); + const memberElements = createClassElementsFromSymbol(node.symbol); if (initializer.body) { memberElements.unshift(createConstructor(/*decorators*/ undefined, /*modifiers*/ undefined, initializer.parameters, initializer.body)); } diff --git a/src/services/suggestionDiagnostics.ts b/src/services/suggestionDiagnostics.ts index 4e09b97fec8..19d919841b0 100644 --- a/src/services/suggestionDiagnostics.ts +++ b/src/services/suggestionDiagnostics.ts @@ -14,15 +14,25 @@ namespace ts { const isJsFile = isSourceFileJavaScript(sourceFile); function check(node: Node) { - switch (node.kind) { - case SyntaxKind.FunctionDeclaration: - case SyntaxKind.FunctionExpression: - if (isJsFile) { - if (node.symbol.members && (node.symbol.members.size > 0)) { + if (isJsFile) { + switch (node.kind) { + case SyntaxKind.FunctionExpression: + const decl = getDeclarationOfJSInitializer(node); + if (decl) { + const symbol = decl.symbol; + if (symbol && (symbol.exports && symbol.exports.size || symbol.members && symbol.members.size)) { + diags.push(createDiagnosticForNode(isVariableDeclaration(node.parent) ? node.parent.name : node, Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); + break; + } + } + // falls through if no diagnostic was created + case SyntaxKind.FunctionDeclaration: + const symbol = node.symbol; + if (symbol.members && (symbol.members.size > 0)) { diags.push(createDiagnosticForNode(isVariableDeclaration(node.parent) ? node.parent.name : node, Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); } + break; } - break; } if (!isJsFile && codefix.parameterShouldGetTypeFromJSDoc(node)) { diff --git a/tests/baselines/reference/chainedPrototypeAssignment.symbols b/tests/baselines/reference/chainedPrototypeAssignment.symbols index 8a61686921d..800915e5316 100644 --- a/tests/baselines/reference/chainedPrototypeAssignment.symbols +++ b/tests/baselines/reference/chainedPrototypeAssignment.symbols @@ -62,12 +62,12 @@ exports.B = B >B : Symbol(B, Decl(mod.js, 4, 3), Decl(mod.js, 9, 13)) A.prototype = B.prototype = { ->A.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>A.prototype : Symbol(A.prototype, Decl(mod.js, 8, 13)) >A : Symbol(A, Decl(mod.js, 1, 3), Decl(mod.js, 8, 13)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) ->B.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(A.prototype, Decl(mod.js, 8, 13)) +>B.prototype : Symbol(B.prototype, Decl(mod.js, 9, 13)) >B : Symbol(B, Decl(mod.js, 4, 3), Decl(mod.js, 9, 13)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(B.prototype, Decl(mod.js, 9, 13)) /** @param {number} n */ m(n) { diff --git a/tests/baselines/reference/chainedPrototypeAssignment.types b/tests/baselines/reference/chainedPrototypeAssignment.types index e49e1a89980..a893ae63022 100644 --- a/tests/baselines/reference/chainedPrototypeAssignment.types +++ b/tests/baselines/reference/chainedPrototypeAssignment.types @@ -82,13 +82,13 @@ exports.B = B A.prototype = B.prototype = { >A.prototype = B.prototype = { /** @param {number} n */ m(n) { return n + 1 }} : { [x: string]: any; m(n: number): number; } ->A.prototype : any +>A.prototype : { [x: string]: any; m(n: number): number; } >A : typeof A ->prototype : any +>prototype : { [x: string]: any; m(n: number): number; } >B.prototype = { /** @param {number} n */ m(n) { return n + 1 }} : { [x: string]: any; m(n: number): number; } ->B.prototype : any +>B.prototype : { [x: string]: any; m(n: number): number; } >B : typeof B ->prototype : any +>prototype : { [x: string]: any; m(n: number): number; } >{ /** @param {number} n */ m(n) { return n + 1 }} : { [x: string]: any; m(n: number): number; } /** @param {number} n */ diff --git a/tests/baselines/reference/exportNestedNamespaces.symbols b/tests/baselines/reference/exportNestedNamespaces.symbols index fbd22e0dea3..e5fc5db16d9 100644 --- a/tests/baselines/reference/exportNestedNamespaces.symbols +++ b/tests/baselines/reference/exportNestedNamespaces.symbols @@ -1,18 +1,18 @@ === tests/cases/conformance/salsa/mod.js === exports.n = {}; ->exports.n : Symbol(n, Decl(mod.js, 0, 0)) ->exports : Symbol(n, Decl(mod.js, 0, 0)) ->n : Symbol(n, Decl(mod.js, 0, 0)) +>exports.n : Symbol(n, Decl(mod.js, 0, 0), Decl(mod.js, 1, 8)) +>exports : Symbol(n, Decl(mod.js, 0, 0), Decl(mod.js, 1, 8)) +>n : Symbol(n, Decl(mod.js, 0, 0), Decl(mod.js, 1, 8)) exports.n.K = function () { ->exports.n.K : Symbol(K, Decl(mod.js, 0, 15)) ->exports.n : Symbol(K, Decl(mod.js, 0, 15)) +>exports.n.K : Symbol(n.K, Decl(mod.js, 0, 15)) +>exports.n : Symbol(n.K, Decl(mod.js, 0, 15)) >exports : Symbol("tests/cases/conformance/salsa/mod", Decl(mod.js, 0, 0)) ->n : Symbol(n, Decl(mod.js, 0, 0)) ->K : Symbol(K, Decl(mod.js, 0, 15)) +>n : Symbol(n, Decl(mod.js, 0, 0), Decl(mod.js, 1, 8)) +>K : Symbol(n.K, Decl(mod.js, 0, 15)) this.x = 10; ->this : Symbol(__object, Decl(mod.js, 0, 11), Decl(mod.js, 1, 8)) +>this : Symbol(__object, Decl(mod.js, 0, 11)) >x : Symbol(K.x, Decl(mod.js, 1, 27)) } exports.Classic = class { @@ -34,11 +34,11 @@ import * as s from './mod' var k = new s.n.K() >k : Symbol(k, Decl(use.js, 2, 3)) ->s.n.K : Symbol(K, Decl(mod.js, 0, 15)) ->s.n : Symbol(s.n, Decl(mod.js, 0, 0)) +>s.n.K : Symbol(s.n.K, Decl(mod.js, 0, 15)) +>s.n : Symbol(s.n, Decl(mod.js, 0, 0), Decl(mod.js, 1, 8)) >s : Symbol(s, Decl(use.js, 0, 6)) ->n : Symbol(s.n, Decl(mod.js, 0, 0)) ->K : Symbol(K, Decl(mod.js, 0, 15)) +>n : Symbol(s.n, Decl(mod.js, 0, 0), Decl(mod.js, 1, 8)) +>K : Symbol(s.n.K, Decl(mod.js, 0, 15)) k.x >k.x : Symbol(K.x, Decl(mod.js, 1, 27)) diff --git a/tests/baselines/reference/exportNestedNamespaces.types b/tests/baselines/reference/exportNestedNamespaces.types index a887f0697a8..b6b701bc05f 100644 --- a/tests/baselines/reference/exportNestedNamespaces.types +++ b/tests/baselines/reference/exportNestedNamespaces.types @@ -1,24 +1,24 @@ === tests/cases/conformance/salsa/mod.js === exports.n = {}; ->exports.n = {} : typeof __object ->exports.n : typeof __object +>exports.n = {} : { [x: string]: any; K: typeof K; } +>exports.n : { [x: string]: any; K: typeof K; } >exports : typeof import("tests/cases/conformance/salsa/mod") ->n : typeof __object ->{} : typeof __object +>n : { [x: string]: any; K: typeof K; } +>{} : { [x: string]: any; K: typeof K; } exports.n.K = function () { >exports.n.K = function () { this.x = 10;} : typeof K >exports.n.K : typeof K ->exports.n : typeof __object +>exports.n : { [x: string]: any; K: typeof K; } >exports : typeof import("tests/cases/conformance/salsa/mod") ->n : typeof __object +>n : { [x: string]: any; K: typeof K; } >K : typeof K >function () { this.x = 10;} : typeof K this.x = 10; >this.x = 10 : 10 >this.x : any ->this : typeof __object +>this : { [x: string]: any; K: typeof K; } >x : any >10 : 10 } @@ -47,9 +47,9 @@ var k = new s.n.K() >k : K >new s.n.K() : K >s.n.K : typeof K ->s.n : typeof __object +>s.n : { [x: string]: any; K: typeof K; } >s : typeof s ->n : typeof __object +>n : { [x: string]: any; K: typeof K; } >K : typeof K k.x diff --git a/tests/baselines/reference/inferringClassStaticMembersFromAssignments.symbols b/tests/baselines/reference/inferringClassStaticMembersFromAssignments.symbols index 5716e73a5fe..1c82d05c019 100644 --- a/tests/baselines/reference/inferringClassStaticMembersFromAssignments.symbols +++ b/tests/baselines/reference/inferringClassStaticMembersFromAssignments.symbols @@ -81,11 +81,11 @@ var n = a.C1.staticProp; var n = a.C2.staticProp; >n : Symbol(n, Decl(b.ts, 1, 3), Decl(b.ts, 3, 3), Decl(b.ts, 4, 3), Decl(b.ts, 5, 3), Decl(b.ts, 6, 3) ... and 4 more) ->a.C2.staticProp : Symbol(C2.staticProp, Decl(a.js, 6, 26)) +>a.C2.staticProp : Symbol(a.C2.staticProp, Decl(a.js, 6, 26)) >a.C2 : Symbol(a.C2, Decl(a.js, 6, 10)) >a : Symbol(a, Decl(b.ts, 0, 6)) >C2 : Symbol(a.C2, Decl(a.js, 6, 10)) ->staticProp : Symbol(C2.staticProp, Decl(a.js, 6, 26)) +>staticProp : Symbol(a.C2.staticProp, Decl(a.js, 6, 26)) var n = a.F1.staticProp; >n : Symbol(n, Decl(b.ts, 1, 3), Decl(b.ts, 3, 3), Decl(b.ts, 4, 3), Decl(b.ts, 5, 3), Decl(b.ts, 6, 3) ... and 4 more) @@ -97,11 +97,11 @@ var n = a.F1.staticProp; var n = a.F2.staticProp; >n : Symbol(n, Decl(b.ts, 1, 3), Decl(b.ts, 3, 3), Decl(b.ts, 4, 3), Decl(b.ts, 5, 3), Decl(b.ts, 6, 3) ... and 4 more) ->a.F2.staticProp : Symbol(F2.staticProp, Decl(a.js, 9, 32)) +>a.F2.staticProp : Symbol(a.F2.staticProp, Decl(a.js, 9, 32)) >a.F2 : Symbol(a.F2, Decl(a.js, 9, 10)) >a : Symbol(a, Decl(b.ts, 0, 6)) >F2 : Symbol(a.F2, Decl(a.js, 9, 10)) ->staticProp : Symbol(F2.staticProp, Decl(a.js, 9, 32)) +>staticProp : Symbol(a.F2.staticProp, Decl(a.js, 9, 32)) var n = C3.staticProp; diff --git a/tests/baselines/reference/jsContainerMergeJsContainer.symbols b/tests/baselines/reference/jsContainerMergeJsContainer.symbols index 1f4728d50de..7063bdca204 100644 --- a/tests/baselines/reference/jsContainerMergeJsContainer.symbols +++ b/tests/baselines/reference/jsContainerMergeJsContainer.symbols @@ -4,15 +4,15 @@ const a = {}; >a : Symbol(a, Decl(a.js, 1, 5), Decl(a.js, 1, 13), Decl(b.js, 0, 0)) a.d = function() {}; ->a.d : Symbol(d, Decl(a.js, 1, 13), Decl(b.js, 0, 2)) +>a.d : Symbol(a.d, Decl(a.js, 1, 13), Decl(b.js, 0, 2)) >a : Symbol(a, Decl(a.js, 1, 5), Decl(a.js, 1, 13), Decl(b.js, 0, 0)) ->d : Symbol(d, Decl(a.js, 1, 13), Decl(b.js, 0, 2)) +>d : Symbol(a.d, Decl(a.js, 1, 13), Decl(b.js, 0, 2)) === tests/cases/conformance/salsa/b.js === a.d.prototype = {}; ->a.d.prototype : Symbol(d.prototype, Decl(b.js, 0, 0)) ->a.d : Symbol(d, Decl(a.js, 1, 13), Decl(b.js, 0, 2)) +>a.d.prototype : Symbol(a.d.prototype, Decl(b.js, 0, 0)) +>a.d : Symbol(a.d, Decl(a.js, 1, 13), Decl(b.js, 0, 2)) >a : Symbol(a, Decl(a.js, 1, 5), Decl(a.js, 1, 13), Decl(b.js, 0, 0)) ->d : Symbol(d, Decl(a.js, 1, 13), Decl(b.js, 0, 2)) ->prototype : Symbol(d.prototype, Decl(b.js, 0, 0)) +>d : Symbol(a.d, Decl(a.js, 1, 13), Decl(b.js, 0, 2)) +>prototype : Symbol(a.d.prototype, Decl(b.js, 0, 0)) diff --git a/tests/baselines/reference/jsContainerMergeJsContainer.types b/tests/baselines/reference/jsContainerMergeJsContainer.types index fa5c74f5b05..6d25fb4608a 100644 --- a/tests/baselines/reference/jsContainerMergeJsContainer.types +++ b/tests/baselines/reference/jsContainerMergeJsContainer.types @@ -1,23 +1,23 @@ === tests/cases/conformance/salsa/a.js === // #24131 const a = {}; ->a : { [x: string]: any; d: typeof d; } ->{} : { [x: string]: any; d: typeof d; } +>a : { [x: string]: any; d: { (): void; prototype: { [x: string]: any; }; }; } +>{} : { [x: string]: any; d: { (): void; prototype: { [x: string]: any; }; }; } a.d = function() {}; ->a.d = function() {} : typeof d ->a.d : typeof d ->a : { [x: string]: any; d: typeof d; } ->d : typeof d ->function() {} : typeof d +>a.d = function() {} : { (): void; prototype: { [x: string]: any; }; } +>a.d : { (): void; prototype: { [x: string]: any; }; } +>a : { [x: string]: any; d: { (): void; prototype: { [x: string]: any; }; }; } +>d : { (): void; prototype: { [x: string]: any; }; } +>function() {} : { (): void; prototype: { [x: string]: any; }; } === tests/cases/conformance/salsa/b.js === a.d.prototype = {}; >a.d.prototype = {} : { [x: string]: any; } >a.d.prototype : { [x: string]: any; } ->a.d : typeof d ->a : { [x: string]: any; d: typeof d; } ->d : typeof d +>a.d : { (): void; prototype: { [x: string]: any; }; } +>a : { [x: string]: any; d: { (): void; prototype: { [x: string]: any; }; }; } +>d : { (): void; prototype: { [x: string]: any; }; } >prototype : { [x: string]: any; } >{} : { [x: string]: any; } diff --git a/tests/baselines/reference/jsContainerMergeTsDeclaration.errors.txt b/tests/baselines/reference/jsContainerMergeTsDeclaration.errors.txt deleted file mode 100644 index eb9ea6e9f53..00000000000 --- a/tests/baselines/reference/jsContainerMergeTsDeclaration.errors.txt +++ /dev/null @@ -1,22 +0,0 @@ -error TS5055: Cannot write file 'tests/cases/conformance/salsa/a.js' because it would overwrite input file. - Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig. -tests/cases/conformance/salsa/a.js(1,10): error TS2300: Duplicate identifier 'x'. -tests/cases/conformance/salsa/b.ts(1,5): error TS2300: Duplicate identifier 'x'. - - -!!! error TS5055: Cannot write file 'tests/cases/conformance/salsa/a.js' because it would overwrite input file. -!!! error TS5055: Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig. -==== tests/cases/conformance/salsa/a.js (1 errors) ==== - var /*1*/x = function foo() { - ~ -!!! error TS2300: Duplicate identifier 'x'. - } - x.a = function bar() { - } -==== tests/cases/conformance/salsa/b.ts (1 errors) ==== - var x = function () { - ~ -!!! error TS2300: Duplicate identifier 'x'. - return 1; - }(); - \ No newline at end of file diff --git a/tests/baselines/reference/jsContainerMergeTsDeclaration.js b/tests/baselines/reference/jsContainerMergeTsDeclaration.js deleted file mode 100644 index 9e81ff2e536..00000000000 --- a/tests/baselines/reference/jsContainerMergeTsDeclaration.js +++ /dev/null @@ -1,17 +0,0 @@ -//// [tests/cases/conformance/salsa/jsContainerMergeTsDeclaration.ts] //// - -//// [a.js] -var /*1*/x = function foo() { -} -x.a = function bar() { -} -//// [b.ts] -var x = function () { - return 1; -}(); - - -//// [b.js] -var x = function () { - return 1; -}(); diff --git a/tests/baselines/reference/jsContainerMergeTsDeclaration.symbols b/tests/baselines/reference/jsContainerMergeTsDeclaration.symbols index 080cf745cba..81c51d9ed89 100644 --- a/tests/baselines/reference/jsContainerMergeTsDeclaration.symbols +++ b/tests/baselines/reference/jsContainerMergeTsDeclaration.symbols @@ -4,9 +4,9 @@ var /*1*/x = function foo() { >foo : Symbol(foo, Decl(a.js, 0, 12)) } x.a = function bar() { ->x.a : Symbol(foo.a, Decl(a.js, 1, 1)) +>x.a : Symbol(x.a, Decl(a.js, 1, 1)) >x : Symbol(x, Decl(a.js, 0, 3), Decl(a.js, 1, 1), Decl(b.ts, 0, 3)) ->a : Symbol(foo.a, Decl(a.js, 1, 1)) +>a : Symbol(x.a, Decl(a.js, 1, 1)) >bar : Symbol(bar, Decl(a.js, 2, 5)) } === tests/cases/conformance/salsa/b.ts === diff --git a/tests/baselines/reference/jsContainerMergeTsDeclaration2.errors.txt b/tests/baselines/reference/jsContainerMergeTsDeclaration2.errors.txt new file mode 100644 index 00000000000..7078de12816 --- /dev/null +++ b/tests/baselines/reference/jsContainerMergeTsDeclaration2.errors.txt @@ -0,0 +1,13 @@ +tests/cases/conformance/salsa/b.js(2,1): error TS2322: Type '2' is not assignable to type '() => void'. + + +==== tests/cases/conformance/salsa/a.d.ts (0 errors) ==== + declare namespace C { + function bar(): void + } +==== tests/cases/conformance/salsa/b.js (1 errors) ==== + C.prototype = {}; + C.bar = 2; + ~~~~~ +!!! error TS2322: Type '2' is not assignable to type '() => void'. + \ No newline at end of file diff --git a/tests/baselines/reference/jsContainerMergeTsDeclaration2.symbols b/tests/baselines/reference/jsContainerMergeTsDeclaration2.symbols new file mode 100644 index 00000000000..4f5f86e8e67 --- /dev/null +++ b/tests/baselines/reference/jsContainerMergeTsDeclaration2.symbols @@ -0,0 +1,18 @@ +=== tests/cases/conformance/salsa/a.d.ts === +declare namespace C { +>C : Symbol(C, Decl(a.d.ts, 0, 0), Decl(b.js, 0, 0)) + + function bar(): void +>bar : Symbol(bar, Decl(a.d.ts, 0, 21), Decl(b.js, 0, 17)) +} +=== tests/cases/conformance/salsa/b.js === +C.prototype = {}; +>C.prototype : Symbol(C.prototype, Decl(b.js, 0, 0)) +>C : Symbol(C, Decl(a.d.ts, 0, 0), Decl(b.js, 0, 0)) +>prototype : Symbol(C.prototype, Decl(b.js, 0, 0)) + +C.bar = 2; +>C.bar : Symbol(C.bar, Decl(a.d.ts, 0, 21), Decl(b.js, 0, 17)) +>C : Symbol(C, Decl(a.d.ts, 0, 0), Decl(b.js, 0, 0)) +>bar : Symbol(C.bar, Decl(a.d.ts, 0, 21), Decl(b.js, 0, 17)) + diff --git a/tests/baselines/reference/jsContainerMergeTsDeclaration2.types b/tests/baselines/reference/jsContainerMergeTsDeclaration2.types new file mode 100644 index 00000000000..aec24cb7f5e --- /dev/null +++ b/tests/baselines/reference/jsContainerMergeTsDeclaration2.types @@ -0,0 +1,22 @@ +=== tests/cases/conformance/salsa/a.d.ts === +declare namespace C { +>C : typeof C + + function bar(): void +>bar : () => void +} +=== tests/cases/conformance/salsa/b.js === +C.prototype = {}; +>C.prototype = {} : { [x: string]: any; } +>C.prototype : { [x: string]: any; } +>C : typeof C +>prototype : { [x: string]: any; } +>{} : { [x: string]: any; } + +C.bar = 2; +>C.bar = 2 : 2 +>C.bar : () => void +>C : typeof C +>bar : () => void +>2 : 2 + diff --git a/tests/baselines/reference/jsContainerMergeTsDeclaration3.symbols b/tests/baselines/reference/jsContainerMergeTsDeclaration3.symbols new file mode 100644 index 00000000000..df0c7e06fd2 --- /dev/null +++ b/tests/baselines/reference/jsContainerMergeTsDeclaration3.symbols @@ -0,0 +1,13 @@ +=== tests/cases/conformance/salsa/a.d.ts === +declare class A {} +>A : Symbol(A, Decl(a.d.ts, 0, 0), Decl(b.js, 0, 5), Decl(b.js, 0, 14)) + +=== tests/cases/conformance/salsa/b.js === +const A = { }; +>A : Symbol(A, Decl(a.d.ts, 0, 0), Decl(b.js, 0, 5), Decl(b.js, 0, 14)) + +A.d = { }; +>A.d : Symbol(A.d, Decl(b.js, 0, 14)) +>A : Symbol(A, Decl(a.d.ts, 0, 0), Decl(b.js, 0, 5), Decl(b.js, 0, 14)) +>d : Symbol(A.d, Decl(b.js, 0, 14)) + diff --git a/tests/baselines/reference/jsContainerMergeTsDeclaration3.types b/tests/baselines/reference/jsContainerMergeTsDeclaration3.types new file mode 100644 index 00000000000..1a29cab2538 --- /dev/null +++ b/tests/baselines/reference/jsContainerMergeTsDeclaration3.types @@ -0,0 +1,16 @@ +=== tests/cases/conformance/salsa/a.d.ts === +declare class A {} +>A : A + +=== tests/cases/conformance/salsa/b.js === +const A = { }; +>A : typeof A +>{ } : { [x: string]: any; prototype: A; d: { [x: string]: any; }; } + +A.d = { }; +>A.d = { } : { [x: string]: any; } +>A.d : { [x: string]: any; } +>A : typeof A +>d : { [x: string]: any; } +>{ } : { [x: string]: any; } + diff --git a/tests/baselines/reference/jsObjectsMarkedAsOpenEnded.symbols b/tests/baselines/reference/jsObjectsMarkedAsOpenEnded.symbols index 57e05c273b4..231d9fa60b2 100644 --- a/tests/baselines/reference/jsObjectsMarkedAsOpenEnded.symbols +++ b/tests/baselines/reference/jsObjectsMarkedAsOpenEnded.symbols @@ -3,9 +3,9 @@ var variable = {}; >variable : Symbol(variable, Decl(a.js, 0, 3)) variable.a = 0; ->variable.a : Symbol(a, Decl(a.js, 0, 18)) +>variable.a : Symbol(variable.a, Decl(a.js, 0, 18)) >variable : Symbol(variable, Decl(a.js, 0, 3)) ->a : Symbol(a, Decl(a.js, 0, 18)) +>a : Symbol(variable.a, Decl(a.js, 0, 18)) class C { >C : Symbol(C, Decl(a.js, 1, 15)) @@ -51,9 +51,9 @@ function getObj() { === tests/cases/conformance/salsa/b.ts === variable.a = 1; ->variable.a : Symbol(a, Decl(a.js, 0, 18)) +>variable.a : Symbol(variable.a, Decl(a.js, 0, 18)) >variable : Symbol(variable, Decl(a.js, 0, 3)) ->a : Symbol(a, Decl(a.js, 0, 18)) +>a : Symbol(variable.a, Decl(a.js, 0, 18)) (new C()).member.a = 1; >(new C()).member : Symbol(C.member, Decl(a.js, 5, 19)) diff --git a/tests/baselines/reference/moduleExportNestedNamespaces.symbols b/tests/baselines/reference/moduleExportNestedNamespaces.symbols index 2128a6efb60..566221b3a56 100644 --- a/tests/baselines/reference/moduleExportNestedNamespaces.symbols +++ b/tests/baselines/reference/moduleExportNestedNamespaces.symbols @@ -1,13 +1,13 @@ === tests/cases/conformance/salsa/mod.js === module.exports.n = {}; ->module.exports : Symbol(n, Decl(mod.js, 0, 0)) +>module.exports : Symbol(n, Decl(mod.js, 0, 0), Decl(mod.js, 1, 15)) >module : Symbol(module) ->n : Symbol(n, Decl(mod.js, 0, 0)) +>n : Symbol(n, Decl(mod.js, 0, 0), Decl(mod.js, 1, 15)) module.exports.n.K = function C() { ->module.exports.n : Symbol(K, Decl(mod.js, 0, 22)) +>module.exports.n : Symbol(n.K, Decl(mod.js, 0, 22)) >module : Symbol(module) ->K : Symbol(K, Decl(mod.js, 0, 22)) +>K : Symbol(n.K, Decl(mod.js, 0, 22)) >C : Symbol(C, Decl(mod.js, 1, 20)) this.x = 10; @@ -32,11 +32,11 @@ import * as s from './mod' var k = new s.n.K() >k : Symbol(k, Decl(use.js, 2, 3)) ->s.n.K : Symbol(K, Decl(mod.js, 0, 22)) ->s.n : Symbol(s.n, Decl(mod.js, 0, 0)) +>s.n.K : Symbol(s.n.K, Decl(mod.js, 0, 22)) +>s.n : Symbol(s.n, Decl(mod.js, 0, 0), Decl(mod.js, 1, 15)) >s : Symbol(s, Decl(use.js, 0, 6)) ->n : Symbol(s.n, Decl(mod.js, 0, 0)) ->K : Symbol(K, Decl(mod.js, 0, 22)) +>n : Symbol(s.n, Decl(mod.js, 0, 0), Decl(mod.js, 1, 15)) +>K : Symbol(s.n.K, Decl(mod.js, 0, 22)) k.x >k.x : Symbol(C.x, Decl(mod.js, 1, 35)) diff --git a/tests/baselines/reference/moduleExportNestedNamespaces.types b/tests/baselines/reference/moduleExportNestedNamespaces.types index bad23cab949..92dd4f14e69 100644 --- a/tests/baselines/reference/moduleExportNestedNamespaces.types +++ b/tests/baselines/reference/moduleExportNestedNamespaces.types @@ -1,12 +1,12 @@ === tests/cases/conformance/salsa/mod.js === module.exports.n = {}; ->module.exports.n = {} : typeof __object +>module.exports.n = {} : { [x: string]: any; K: typeof C; } >module.exports.n : any >module.exports : any >module : any >exports : any >n : any ->{} : typeof __object +>{} : { [x: string]: any; K: typeof C; } module.exports.n.K = function C() { >module.exports.n.K = function C() { this.x = 10;} : typeof C @@ -54,9 +54,9 @@ var k = new s.n.K() >k : C >new s.n.K() : C >s.n.K : typeof C ->s.n : typeof __object +>s.n : { [x: string]: any; K: typeof C; } >s : typeof s ->n : typeof __object +>n : { [x: string]: any; K: typeof C; } >K : typeof C k.x diff --git a/tests/baselines/reference/nestedPrototypeAssignment.symbols b/tests/baselines/reference/nestedPrototypeAssignment.symbols new file mode 100644 index 00000000000..870baefae11 --- /dev/null +++ b/tests/baselines/reference/nestedPrototypeAssignment.symbols @@ -0,0 +1,16 @@ +=== tests/cases/conformance/salsa/mod.js === +// #24111 -- shouldn't assert +C.prototype = {} +>C.prototype : Symbol(C.prototype, Decl(mod.js, 0, 0), Decl(mod.js, 2, 2)) +>C : Symbol(C, Decl(mod.js, 0, 0), Decl(mod.js, 1, 16)) +>prototype : Symbol(C.prototype, Decl(mod.js, 0, 0), Decl(mod.js, 2, 2)) + +C.prototype.bar.foo = {}; +>C.prototype.bar.foo : Symbol(C.prototype.bar.foo, Decl(mod.js, 1, 16)) +>C.prototype.bar : Symbol(C.prototype.bar, Decl(mod.js, 2, 12)) +>C.prototype : Symbol(C.prototype, Decl(mod.js, 0, 0), Decl(mod.js, 2, 2)) +>C : Symbol(C, Decl(mod.js, 0, 0), Decl(mod.js, 1, 16)) +>prototype : Symbol(C.prototype, Decl(mod.js, 0, 0), Decl(mod.js, 2, 2)) +>bar : Symbol(C.prototype.bar, Decl(mod.js, 2, 12)) +>foo : Symbol(C.prototype.bar.foo, Decl(mod.js, 1, 16)) + diff --git a/tests/baselines/reference/nestedPrototypeAssignment.types b/tests/baselines/reference/nestedPrototypeAssignment.types new file mode 100644 index 00000000000..620ca215f6d --- /dev/null +++ b/tests/baselines/reference/nestedPrototypeAssignment.types @@ -0,0 +1,20 @@ +=== tests/cases/conformance/salsa/mod.js === +// #24111 -- shouldn't assert +C.prototype = {} +>C.prototype = {} : { [x: string]: any; bar: typeof C.prototype.bar; } +>C.prototype : { [x: string]: any; bar: typeof C.prototype.bar; } +>C : typeof C +>prototype : { [x: string]: any; bar: typeof C.prototype.bar; } +>{} : { [x: string]: any; bar: typeof C.prototype.bar; } + +C.prototype.bar.foo = {}; +>C.prototype.bar.foo = {} : { [x: string]: any; } +>C.prototype.bar.foo : { [x: string]: any; } +>C.prototype.bar : typeof C.prototype.bar +>C.prototype : { [x: string]: any; bar: typeof C.prototype.bar; } +>C : typeof C +>prototype : { [x: string]: any; bar: typeof C.prototype.bar; } +>bar : typeof C.prototype.bar +>foo : { [x: string]: any; } +>{} : { [x: string]: any; } + diff --git a/tests/baselines/reference/typeFromPropertyAssignment.symbols b/tests/baselines/reference/typeFromPropertyAssignment.symbols index 56237a1358b..f58a6620264 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment.symbols @@ -9,9 +9,9 @@ var Outer = class O { >y : Symbol(y, Decl(a.js, 1, 8)) } Outer.Inner = class I { ->Outer.Inner : Symbol(O.Inner, Decl(a.js, 2, 1)) +>Outer.Inner : Symbol(Outer.Inner, Decl(a.js, 2, 1)) >Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 2, 1)) ->Inner : Symbol(O.Inner, Decl(a.js, 2, 1)) +>Inner : Symbol(Outer.Inner, Decl(a.js, 2, 1)) >I : Symbol(I, Decl(a.js, 3, 13)) n(a, b) { } diff --git a/tests/baselines/reference/typeFromPropertyAssignment10.symbols b/tests/baselines/reference/typeFromPropertyAssignment10.symbols index 8b0f00481c2..9b0af678352 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment10.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment10.symbols @@ -4,19 +4,19 @@ var Outer = Outer || {}; >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 24), Decl(someview.js, 0, 0), Decl(application.js, 0, 0)) Outer.app = Outer.app || {}; ->Outer.app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>Outer.app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 24), Decl(someview.js, 0, 0), Decl(application.js, 0, 0)) ->app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) ->Outer.app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>Outer.app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 24), Decl(someview.js, 0, 0), Decl(application.js, 0, 0)) ->app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) === tests/cases/conformance/salsa/someview.js === Outer.app.SomeView = (function () { >Outer.app.SomeView : Symbol(Outer.app.SomeView, Decl(someview.js, 0, 0)) ->Outer.app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>Outer.app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 24), Decl(someview.js, 0, 0), Decl(application.js, 0, 0)) ->app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >SomeView : Symbol(Outer.app.SomeView, Decl(someview.js, 0, 0)) var SomeView = function() { @@ -31,9 +31,9 @@ Outer.app.SomeView = (function () { })(); Outer.app.Inner = class { >Outer.app.Inner : Symbol(Outer.app.Inner, Decl(someview.js, 5, 5)) ->Outer.app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>Outer.app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 24), Decl(someview.js, 0, 0), Decl(application.js, 0, 0)) ->app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Inner : Symbol(Outer.app.Inner, Decl(someview.js, 5, 5)) constructor() { @@ -47,9 +47,9 @@ Outer.app.Inner = class { var example = new Outer.app.Inner(); >example : Symbol(example, Decl(someview.js, 12, 3)) >Outer.app.Inner : Symbol(Outer.app.Inner, Decl(someview.js, 5, 5)) ->Outer.app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>Outer.app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 24), Decl(someview.js, 0, 0), Decl(application.js, 0, 0)) ->app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Inner : Symbol(Outer.app.Inner, Decl(someview.js, 5, 5)) example.y; @@ -60,9 +60,9 @@ example.y; /** @param {number} k */ Outer.app.statische = function (k) { >Outer.app.statische : Symbol(Outer.app.statische, Decl(someview.js, 13, 10)) ->Outer.app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>Outer.app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 24), Decl(someview.js, 0, 0), Decl(application.js, 0, 0)) ->app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >statische : Symbol(Outer.app.statische, Decl(someview.js, 13, 10)) >k : Symbol(k, Decl(someview.js, 15, 32)) @@ -72,11 +72,11 @@ Outer.app.statische = function (k) { } === tests/cases/conformance/salsa/application.js === Outer.app.Application = (function () { ->Outer.app.Application : Symbol(app.Application, Decl(application.js, 0, 0)) ->Outer.app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>Outer.app.Application : Symbol(Outer.app.Application, Decl(application.js, 0, 0)) +>Outer.app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 24), Decl(someview.js, 0, 0), Decl(application.js, 0, 0)) ->app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) ->Application : Symbol(app.Application, Decl(application.js, 0, 0)) +>app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>Application : Symbol(Outer.app.Application, Decl(application.js, 0, 0)) /** * Application main class. @@ -91,9 +91,9 @@ Outer.app.Application = (function () { me.view = new Outer.app.SomeView(); >me : Symbol(me, Decl(application.js, 7, 11)) >Outer.app.SomeView : Symbol(Outer.app.SomeView, Decl(someview.js, 0, 0)) ->Outer.app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>Outer.app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 24), Decl(someview.js, 0, 0), Decl(application.js, 0, 0)) ->app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >SomeView : Symbol(Outer.app.SomeView, Decl(someview.js, 0, 0)) }; @@ -104,18 +104,18 @@ Outer.app.Application = (function () { === tests/cases/conformance/salsa/main.js === var app = new Outer.app.Application(); >app : Symbol(app, Decl(main.js, 0, 3)) ->Outer.app.Application : Symbol(app.Application, Decl(application.js, 0, 0)) ->Outer.app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>Outer.app.Application : Symbol(Outer.app.Application, Decl(application.js, 0, 0)) +>Outer.app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 24), Decl(someview.js, 0, 0), Decl(application.js, 0, 0)) ->app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) ->Application : Symbol(app.Application, Decl(application.js, 0, 0)) +>app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>Application : Symbol(Outer.app.Application, Decl(application.js, 0, 0)) var inner = new Outer.app.Inner(); >inner : Symbol(inner, Decl(main.js, 1, 3)) >Outer.app.Inner : Symbol(Outer.app.Inner, Decl(someview.js, 5, 5)) ->Outer.app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>Outer.app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 24), Decl(someview.js, 0, 0), Decl(application.js, 0, 0)) ->app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Inner : Symbol(Outer.app.Inner, Decl(someview.js, 5, 5)) inner.y; @@ -134,8 +134,8 @@ x.y; Outer.app.statische(101); // Infinity, duh >Outer.app.statische : Symbol(Outer.app.statische, Decl(someview.js, 13, 10)) ->Outer.app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>Outer.app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 24), Decl(someview.js, 0, 0), Decl(application.js, 0, 0)) ->app : Symbol(app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) +>app : Symbol(Outer.app, Decl(module.js, 0, 24), Decl(someview.js, 0, 6), Decl(application.js, 0, 6)) >statische : Symbol(Outer.app.statische, Decl(someview.js, 13, 10)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment11.symbols b/tests/baselines/reference/typeFromPropertyAssignment11.symbols index fa70ba958d1..fe41bc09c23 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment11.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment11.symbols @@ -3,9 +3,9 @@ var Inner = function() {} >Inner : Symbol(Inner, Decl(module.js, 0, 3), Decl(module.js, 0, 25)) Inner.prototype = { ->Inner.prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>Inner.prototype : Symbol(Inner.prototype, Decl(module.js, 0, 25)) >Inner : Symbol(Inner, Decl(module.js, 0, 3), Decl(module.js, 0, 25)) ->prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>prototype : Symbol(Inner.prototype, Decl(module.js, 0, 25)) m() { }, >m : Symbol(m, Decl(module.js, 1, 19)) @@ -17,14 +17,14 @@ Inner.prototype = { Inner.prototype.j = 2 >Inner.prototype : Symbol(Inner.j, Decl(module.js, 4, 1)) >Inner : Symbol(Inner, Decl(module.js, 0, 3), Decl(module.js, 0, 25)) ->prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>prototype : Symbol(Inner.prototype, Decl(module.js, 0, 25)) >j : Symbol(Inner.j, Decl(module.js, 4, 1)) /** @type {string} */ Inner.prototype.k; ->Inner.prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>Inner.prototype : Symbol(Inner.prototype, Decl(module.js, 0, 25)) >Inner : Symbol(Inner, Decl(module.js, 0, 3), Decl(module.js, 0, 25)) ->prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>prototype : Symbol(Inner.prototype, Decl(module.js, 0, 25)) var inner = new Inner() >inner : Symbol(inner, Decl(module.js, 9, 3)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment11.types b/tests/baselines/reference/typeFromPropertyAssignment11.types index 949ba93570f..8c90e824f23 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment11.types +++ b/tests/baselines/reference/typeFromPropertyAssignment11.types @@ -5,9 +5,9 @@ var Inner = function() {} Inner.prototype = { >Inner.prototype = { m() { }, i: 1} : { [x: string]: any; m(): void; i: number; } ->Inner.prototype : any +>Inner.prototype : { [x: string]: any; m(): void; i: number; } >Inner : typeof Inner ->prototype : any +>prototype : { [x: string]: any; m(): void; i: number; } >{ m() { }, i: 1} : { [x: string]: any; m(): void; i: number; } m() { }, @@ -21,18 +21,18 @@ Inner.prototype = { Inner.prototype.j = 2 >Inner.prototype.j = 2 : 2 >Inner.prototype.j : any ->Inner.prototype : any +>Inner.prototype : { [x: string]: any; m(): void; i: number; } >Inner : typeof Inner ->prototype : any +>prototype : { [x: string]: any; m(): void; i: number; } >j : any >2 : 2 /** @type {string} */ Inner.prototype.k; >Inner.prototype.k : any ->Inner.prototype : any +>Inner.prototype : { [x: string]: any; m(): void; i: number; } >Inner : typeof Inner ->prototype : any +>prototype : { [x: string]: any; m(): void; i: number; } >k : any var inner = new Inner() diff --git a/tests/baselines/reference/typeFromPropertyAssignment12.symbols b/tests/baselines/reference/typeFromPropertyAssignment12.symbols index d5b763375a4..007a7ae8d52 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment12.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment12.symbols @@ -28,8 +28,8 @@ var pos = new Outer.Pos(1, 'x'); >Pos : Symbol(Outer.Pos, Decl(usage.js, 0, 0)) pos.line; ->pos.line : Symbol(Pos.line, Decl(usage.js, 1, 35)) +>pos.line : Symbol(Outer.Pos.line, Decl(usage.js, 1, 35)) >pos : Symbol(pos, Decl(usage.js, 4, 3)) ->line : Symbol(Pos.line, Decl(usage.js, 1, 35)) +>line : Symbol(Outer.Pos.line, Decl(usage.js, 1, 35)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment12.types b/tests/baselines/reference/typeFromPropertyAssignment12.types index 60e69008868..21b8dd7e32c 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment12.types +++ b/tests/baselines/reference/typeFromPropertyAssignment12.types @@ -1,7 +1,7 @@ === tests/cases/conformance/salsa/module.js === var Outer = function(element, config) {}; ->Outer : typeof Outer ->function(element, config) {} : typeof Outer +>Outer : { (element: any, config: any): void; Pos(line: any, ch: any): void; } +>function(element, config) {} : { (element: any, config: any): void; Pos(line: any, ch: any): void; } >element : any >config : any @@ -10,7 +10,7 @@ var Outer = function(element, config) {}; Outer.Pos = function (line, ch) {}; >Outer.Pos = function (line, ch) {} : typeof Pos >Outer.Pos : typeof Pos ->Outer : typeof Outer +>Outer : { (element: any, config: any): void; Pos(line: any, ch: any): void; } >Pos : typeof Pos >function (line, ch) {} : typeof Pos >line : any @@ -21,7 +21,7 @@ Outer.Pos.prototype.line; >Outer.Pos.prototype.line : any >Outer.Pos.prototype : any >Outer.Pos : typeof Pos ->Outer : typeof Outer +>Outer : { (element: any, config: any): void; Pos(line: any, ch: any): void; } >Pos : typeof Pos >prototype : any >line : any @@ -30,7 +30,7 @@ var pos = new Outer.Pos(1, 'x'); >pos : Pos >new Outer.Pos(1, 'x') : Pos >Outer.Pos : typeof Pos ->Outer : typeof Outer +>Outer : { (element: any, config: any): void; Pos(line: any, ch: any): void; } >Pos : typeof Pos >1 : 1 >'x' : "x" diff --git a/tests/baselines/reference/typeFromPropertyAssignment13.symbols b/tests/baselines/reference/typeFromPropertyAssignment13.symbols index e23cd005d22..1fd8f13f835 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment13.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment13.symbols @@ -3,16 +3,16 @@ var Outer = {} >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 14), Decl(module.js, 1, 27)) Outer.Inner = function() {} ->Outer.Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) +>Outer.Inner : Symbol(Outer.Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 14), Decl(module.js, 1, 27)) ->Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) +>Inner : Symbol(Outer.Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) Outer.Inner.prototype = { ->Outer.Inner.prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) ->Outer.Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) +>Outer.Inner.prototype : Symbol(Outer.Inner.prototype, Decl(module.js, 1, 27)) +>Outer.Inner : Symbol(Outer.Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 14), Decl(module.js, 1, 27)) ->Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) ->prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>Inner : Symbol(Outer.Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) +>prototype : Symbol(Outer.Inner.prototype, Decl(module.js, 1, 27)) m() { }, >m : Symbol(m, Decl(module.js, 2, 25)) @@ -22,26 +22,26 @@ Outer.Inner.prototype = { } // incremental assignments still work Outer.Inner.prototype.j = 2 ->Outer.Inner.prototype : Symbol(Inner.j, Decl(module.js, 5, 1)) ->Outer.Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) +>Outer.Inner.prototype : Symbol(Outer.Inner.j, Decl(module.js, 5, 1)) +>Outer.Inner : Symbol(Outer.Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 14), Decl(module.js, 1, 27)) ->Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) ->prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) ->j : Symbol(Inner.j, Decl(module.js, 5, 1)) +>Inner : Symbol(Outer.Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) +>prototype : Symbol(Outer.Inner.prototype, Decl(module.js, 1, 27)) +>j : Symbol(Outer.Inner.j, Decl(module.js, 5, 1)) /** @type {string} */ Outer.Inner.prototype.k; ->Outer.Inner.prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) ->Outer.Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) +>Outer.Inner.prototype : Symbol(Outer.Inner.prototype, Decl(module.js, 1, 27)) +>Outer.Inner : Symbol(Outer.Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 14), Decl(module.js, 1, 27)) ->Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) ->prototype : Symbol(Function.prototype, Decl(lib.es6.d.ts, --, --)) +>Inner : Symbol(Outer.Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) +>prototype : Symbol(Outer.Inner.prototype, Decl(module.js, 1, 27)) var inner = new Outer.Inner() >inner : Symbol(inner, Decl(module.js, 10, 3)) ->Outer.Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) +>Outer.Inner : Symbol(Outer.Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) >Outer : Symbol(Outer, Decl(module.js, 0, 3), Decl(module.js, 0, 14), Decl(module.js, 1, 27)) ->Inner : Symbol(Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) +>Inner : Symbol(Outer.Inner, Decl(module.js, 0, 14), Decl(module.js, 2, 6)) inner.m() >inner.m : Symbol(m, Decl(module.js, 2, 25)) @@ -54,12 +54,12 @@ inner.i >i : Symbol(i, Decl(module.js, 3, 12)) inner.j ->inner.j : Symbol(Inner.j, Decl(module.js, 5, 1)) +>inner.j : Symbol(Outer.Inner.j, Decl(module.js, 5, 1)) >inner : Symbol(inner, Decl(module.js, 10, 3)) ->j : Symbol(Inner.j, Decl(module.js, 5, 1)) +>j : Symbol(Outer.Inner.j, Decl(module.js, 5, 1)) inner.k ->inner.k : Symbol(Inner.k, Decl(module.js, 7, 27)) +>inner.k : Symbol(Outer.Inner.k, Decl(module.js, 7, 27)) >inner : Symbol(inner, Decl(module.js, 10, 3)) ->k : Symbol(Inner.k, Decl(module.js, 7, 27)) +>k : Symbol(Outer.Inner.k, Decl(module.js, 7, 27)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment13.types b/tests/baselines/reference/typeFromPropertyAssignment13.types index 92feec7d5c5..c5370aebc56 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment13.types +++ b/tests/baselines/reference/typeFromPropertyAssignment13.types @@ -1,22 +1,22 @@ === tests/cases/conformance/salsa/module.js === var Outer = {} ->Outer : { [x: string]: any; Inner(): void; } ->{} : { [x: string]: any; Inner(): void; } +>Outer : { [x: string]: any; Inner: typeof Inner; } +>{} : { [x: string]: any; Inner: typeof Inner; } Outer.Inner = function() {} >Outer.Inner = function() {} : typeof Inner >Outer.Inner : typeof Inner ->Outer : { [x: string]: any; Inner(): void; } +>Outer : { [x: string]: any; Inner: typeof Inner; } >Inner : typeof Inner >function() {} : typeof Inner Outer.Inner.prototype = { >Outer.Inner.prototype = { m() { }, i: 1} : { [x: string]: any; m(): void; i: number; } ->Outer.Inner.prototype : any +>Outer.Inner.prototype : { [x: string]: any; m(): void; i: number; } >Outer.Inner : typeof Inner ->Outer : { [x: string]: any; Inner(): void; } +>Outer : { [x: string]: any; Inner: typeof Inner; } >Inner : typeof Inner ->prototype : any +>prototype : { [x: string]: any; m(): void; i: number; } >{ m() { }, i: 1} : { [x: string]: any; m(): void; i: number; } m() { }, @@ -30,29 +30,29 @@ Outer.Inner.prototype = { Outer.Inner.prototype.j = 2 >Outer.Inner.prototype.j = 2 : 2 >Outer.Inner.prototype.j : any ->Outer.Inner.prototype : any +>Outer.Inner.prototype : { [x: string]: any; m(): void; i: number; } >Outer.Inner : typeof Inner ->Outer : { [x: string]: any; Inner(): void; } +>Outer : { [x: string]: any; Inner: typeof Inner; } >Inner : typeof Inner ->prototype : any +>prototype : { [x: string]: any; m(): void; i: number; } >j : any >2 : 2 /** @type {string} */ Outer.Inner.prototype.k; >Outer.Inner.prototype.k : any ->Outer.Inner.prototype : any +>Outer.Inner.prototype : { [x: string]: any; m(): void; i: number; } >Outer.Inner : typeof Inner ->Outer : { [x: string]: any; Inner(): void; } +>Outer : { [x: string]: any; Inner: typeof Inner; } >Inner : typeof Inner ->prototype : any +>prototype : { [x: string]: any; m(): void; i: number; } >k : any var inner = new Outer.Inner() >inner : Inner & { [x: string]: any; m(): void; i: number; } >new Outer.Inner() : Inner & { [x: string]: any; m(): void; i: number; } >Outer.Inner : typeof Inner ->Outer : { [x: string]: any; Inner(): void; } +>Outer : { [x: string]: any; Inner: typeof Inner; } >Inner : typeof Inner inner.m() diff --git a/tests/baselines/reference/typeFromPropertyAssignment14.symbols b/tests/baselines/reference/typeFromPropertyAssignment14.symbols index 3f5035e24ad..aa5aba6eea4 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment14.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment14.symbols @@ -9,11 +9,11 @@ Outer.Inner = function () {} >Inner : Symbol(Outer.Inner, Decl(work.js, 0, 0), Decl(work.js, 1, 6)) Outer.Inner.prototype = { ->Outer.Inner.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>Outer.Inner.prototype : Symbol(Outer.Inner.prototype, Decl(work.js, 0, 28)) >Outer.Inner : Symbol(Outer.Inner, Decl(work.js, 0, 0), Decl(work.js, 1, 6)) >Outer : Symbol(Outer, Decl(def.js, 0, 3), Decl(work.js, 0, 0), Decl(work.js, 0, 28)) >Inner : Symbol(Outer.Inner, Decl(work.js, 0, 0), Decl(work.js, 1, 6)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>prototype : Symbol(Outer.Inner.prototype, Decl(work.js, 0, 28)) x: 1, >x : Symbol(x, Decl(work.js, 1, 25)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment14.types b/tests/baselines/reference/typeFromPropertyAssignment14.types index 0416d2de952..65838ccacc1 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment14.types +++ b/tests/baselines/reference/typeFromPropertyAssignment14.types @@ -1,23 +1,23 @@ === tests/cases/conformance/salsa/def.js === var Outer = {}; ->Outer : { [x: string]: any; Inner(): void; } ->{} : { [x: string]: any; Inner(): void; } +>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; } +>{} : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; } === tests/cases/conformance/salsa/work.js === Outer.Inner = function () {} ->Outer.Inner = function () {} : () => void ->Outer.Inner : () => void ->Outer : { [x: string]: any; Inner(): void; } ->Inner : () => void ->function () {} : () => void +>Outer.Inner = function () {} : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } +>Outer.Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } +>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; } +>Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } +>function () {} : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } Outer.Inner.prototype = { >Outer.Inner.prototype = { x: 1, m() { }} : { [x: string]: any; x: number; m(): void; } ->Outer.Inner.prototype : any ->Outer.Inner : () => void ->Outer : { [x: string]: any; Inner(): void; } ->Inner : () => void ->prototype : any +>Outer.Inner.prototype : { [x: string]: any; x: number; m(): void; } +>Outer.Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } +>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; } +>Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } +>prototype : { [x: string]: any; x: number; m(): void; } >{ x: 1, m() { }} : { [x: string]: any; x: number; m(): void; } x: 1, @@ -47,9 +47,9 @@ inner.m() var inno = new Outer.Inner() >inno : { [x: string]: any; x: number; m(): void; } >new Outer.Inner() : { [x: string]: any; x: number; m(): void; } ->Outer.Inner : () => void ->Outer : { [x: string]: any; Inner(): void; } ->Inner : () => void +>Outer.Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } +>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; } +>Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } inno.x >inno.x : number diff --git a/tests/baselines/reference/typeFromPropertyAssignment15.symbols b/tests/baselines/reference/typeFromPropertyAssignment15.symbols index f649c3e9e63..ce9a3205857 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment15.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment15.symbols @@ -3,9 +3,9 @@ var Outer = {}; >Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 0, 15)) Outer.Inner = class { ->Outer.Inner : Symbol(Inner, Decl(a.js, 0, 15)) +>Outer.Inner : Symbol(Outer.Inner, Decl(a.js, 0, 15)) >Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 0, 15)) ->Inner : Symbol(Inner, Decl(a.js, 0, 15)) +>Inner : Symbol(Outer.Inner, Decl(a.js, 0, 15)) constructor() { this.x = 1 @@ -33,9 +33,9 @@ inner.m() var inno = new Outer.Inner() >inno : Symbol(inno, Decl(a.js, 13, 3)) ->Outer.Inner : Symbol(Inner, Decl(a.js, 0, 15)) +>Outer.Inner : Symbol(Outer.Inner, Decl(a.js, 0, 15)) >Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 0, 15)) ->Inner : Symbol(Inner, Decl(a.js, 0, 15)) +>Inner : Symbol(Outer.Inner, Decl(a.js, 0, 15)) inno.x >inno.x : Symbol(Inner.x, Decl(a.js, 3, 19)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment16.symbols b/tests/baselines/reference/typeFromPropertyAssignment16.symbols index e7fbaed599c..c5b41ad4f95 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment16.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment16.symbols @@ -3,16 +3,16 @@ var Outer = {}; >Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 0, 15), Decl(a.js, 2, 28)) Outer.Inner = function () {} ->Outer.Inner : Symbol(Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) +>Outer.Inner : Symbol(Outer.Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) >Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 0, 15), Decl(a.js, 2, 28)) ->Inner : Symbol(Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) +>Inner : Symbol(Outer.Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) Outer.Inner.prototype = { ->Outer.Inner.prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) ->Outer.Inner : Symbol(Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) +>Outer.Inner.prototype : Symbol(Outer.Inner.prototype, Decl(a.js, 2, 28)) +>Outer.Inner : Symbol(Outer.Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) >Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 0, 15), Decl(a.js, 2, 28)) ->Inner : Symbol(Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) ->prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) +>Inner : Symbol(Outer.Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) +>prototype : Symbol(Outer.Inner.prototype, Decl(a.js, 2, 28)) x: 1, >x : Symbol(x, Decl(a.js, 3, 25)) @@ -37,9 +37,9 @@ inner.m() var inno = new Outer.Inner() >inno : Symbol(inno, Decl(a.js, 12, 3)) ->Outer.Inner : Symbol(Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) +>Outer.Inner : Symbol(Outer.Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) >Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 0, 15), Decl(a.js, 2, 28)) ->Inner : Symbol(Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) +>Inner : Symbol(Outer.Inner, Decl(a.js, 0, 15), Decl(a.js, 3, 6)) inno.x >inno.x : Symbol(x, Decl(a.js, 3, 25)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment16.types b/tests/baselines/reference/typeFromPropertyAssignment16.types index 95fc42ca434..76076e74d93 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment16.types +++ b/tests/baselines/reference/typeFromPropertyAssignment16.types @@ -1,22 +1,22 @@ === tests/cases/conformance/salsa/a.js === var Outer = {}; ->Outer : { [x: string]: any; Inner(): void; } ->{} : { [x: string]: any; Inner(): void; } +>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; } +>{} : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; } Outer.Inner = function () {} ->Outer.Inner = function () {} : () => void ->Outer.Inner : () => void ->Outer : { [x: string]: any; Inner(): void; } ->Inner : () => void ->function () {} : () => void +>Outer.Inner = function () {} : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } +>Outer.Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } +>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; } +>Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } +>function () {} : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } Outer.Inner.prototype = { >Outer.Inner.prototype = { x: 1, m() { }} : { [x: string]: any; x: number; m(): void; } ->Outer.Inner.prototype : any ->Outer.Inner : () => void ->Outer : { [x: string]: any; Inner(): void; } ->Inner : () => void ->prototype : any +>Outer.Inner.prototype : { [x: string]: any; x: number; m(): void; } +>Outer.Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } +>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; } +>Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } +>prototype : { [x: string]: any; x: number; m(): void; } >{ x: 1, m() { }} : { [x: string]: any; x: number; m(): void; } x: 1, @@ -45,9 +45,9 @@ inner.m() var inno = new Outer.Inner() >inno : { [x: string]: any; x: number; m(): void; } >new Outer.Inner() : { [x: string]: any; x: number; m(): void; } ->Outer.Inner : () => void ->Outer : { [x: string]: any; Inner(): void; } ->Inner : () => void +>Outer.Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } +>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; } +>Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; } inno.x >inno.x : number diff --git a/tests/baselines/reference/typeFromPropertyAssignment18.symbols b/tests/baselines/reference/typeFromPropertyAssignment18.symbols index b4342c29394..19fc0068c91 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment18.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment18.symbols @@ -12,16 +12,16 @@ GLOBSTAR.p = 1 >GLOBSTAR : Symbol(GLOBSTAR, Decl(a.js, 0, 3)) m.GLOBSTAR.q = 2 ->m.GLOBSTAR.q : Symbol(q, Decl(a.js, 3, 14)) +>m.GLOBSTAR.q : Symbol(m.GLOBSTAR.q, Decl(a.js, 3, 14)) >m.GLOBSTAR : Symbol(m.GLOBSTAR, Decl(a.js, 0, 14)) >m : Symbol(m, Decl(a.js, 0, 30)) >GLOBSTAR : Symbol(m.GLOBSTAR, Decl(a.js, 0, 14)) ->q : Symbol(q, Decl(a.js, 3, 14)) +>q : Symbol(m.GLOBSTAR.q, Decl(a.js, 3, 14)) GLOBSTAR.q ->GLOBSTAR.q : Symbol(q, Decl(a.js, 3, 14)) +>GLOBSTAR.q : Symbol(m.GLOBSTAR.q, Decl(a.js, 3, 14)) >GLOBSTAR : Symbol(GLOBSTAR, Decl(a.js, 0, 3)) ->q : Symbol(q, Decl(a.js, 3, 14)) +>q : Symbol(m.GLOBSTAR.q, Decl(a.js, 3, 14)) m.GLOBSTAR.p >m.GLOBSTAR : Symbol(m.GLOBSTAR, Decl(a.js, 0, 14)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment3.symbols b/tests/baselines/reference/typeFromPropertyAssignment3.symbols index bd78393be05..b3353e034ad 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment3.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment3.symbols @@ -7,9 +7,9 @@ var Outer = function O() { >y : Symbol(O.y, Decl(a.js, 0, 26)) } Outer.Inner = class I { ->Outer.Inner : Symbol(O.Inner, Decl(a.js, 2, 1)) +>Outer.Inner : Symbol(Outer.Inner, Decl(a.js, 2, 1)) >Outer : Symbol(Outer, Decl(a.js, 0, 3), Decl(a.js, 2, 1)) ->Inner : Symbol(O.Inner, Decl(a.js, 2, 1)) +>Inner : Symbol(Outer.Inner, Decl(a.js, 2, 1)) >I : Symbol(I, Decl(a.js, 3, 13)) constructor() { diff --git a/tests/baselines/reference/typeFromPropertyAssignment7.symbols b/tests/baselines/reference/typeFromPropertyAssignment7.symbols index 1aa0e047523..44ffff7860b 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment7.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment7.symbols @@ -3,16 +3,16 @@ var obj = {}; >obj : Symbol(obj, Decl(a.js, 0, 3), Decl(a.js, 0, 13)) obj.method = function (hunch) { ->obj.method : Symbol(method, Decl(a.js, 0, 13)) +>obj.method : Symbol(obj.method, Decl(a.js, 0, 13)) >obj : Symbol(obj, Decl(a.js, 0, 3), Decl(a.js, 0, 13)) ->method : Symbol(method, Decl(a.js, 0, 13)) +>method : Symbol(obj.method, Decl(a.js, 0, 13)) >hunch : Symbol(hunch, Decl(a.js, 1, 23)) return true; } var b = obj.method(); >b : Symbol(b, Decl(a.js, 4, 3)) ->obj.method : Symbol(method, Decl(a.js, 0, 13)) +>obj.method : Symbol(obj.method, Decl(a.js, 0, 13)) >obj : Symbol(obj, Decl(a.js, 0, 3), Decl(a.js, 0, 13)) ->method : Symbol(method, Decl(a.js, 0, 13)) +>method : Symbol(obj.method, Decl(a.js, 0, 13)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment8.symbols b/tests/baselines/reference/typeFromPropertyAssignment8.symbols index ba7d2a37379..a1450d21a1f 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment8.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment8.symbols @@ -4,19 +4,19 @@ var my = my || {}; >my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 1, 22)) my.app = my.app || {}; ->my.app : Symbol(app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) +>my.app : Symbol(my.app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) >my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 1, 22)) ->app : Symbol(app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) ->my.app : Symbol(app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) +>app : Symbol(my.app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) +>my.app : Symbol(my.app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) >my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 1, 22)) ->app : Symbol(app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) +>app : Symbol(my.app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) my.app.Application = (function () { ->my.app.Application : Symbol(Application, Decl(a.js, 1, 22)) ->my.app : Symbol(app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) +>my.app.Application : Symbol(my.app.Application, Decl(a.js, 1, 22)) +>my.app : Symbol(my.app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) >my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 1, 22)) ->app : Symbol(app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) ->Application : Symbol(Application, Decl(a.js, 1, 22)) +>app : Symbol(my.app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) +>Application : Symbol(my.app.Application, Decl(a.js, 1, 22)) var Application = function () { >Application : Symbol(Application, Decl(a.js, 4, 3)) @@ -28,11 +28,11 @@ return Application; })(); my.app.Application() ->my.app.Application : Symbol(Application, Decl(a.js, 1, 22)) ->my.app : Symbol(app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) +>my.app.Application : Symbol(my.app.Application, Decl(a.js, 1, 22)) +>my.app : Symbol(my.app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) >my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 1, 22)) ->app : Symbol(app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) ->Application : Symbol(Application, Decl(a.js, 1, 22)) +>app : Symbol(my.app, Decl(a.js, 0, 18), Decl(a.js, 3, 3)) +>Application : Symbol(my.app.Application, Decl(a.js, 1, 22)) === tests/cases/conformance/salsa/b.js === var min = window.min || {}; @@ -40,19 +40,19 @@ var min = window.min || {}; >window : Symbol(window, Decl(lib.dom.d.ts, --, --)) min.app = min.app || {}; ->min.app : Symbol(app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) +>min.app : Symbol(min.app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) >min : Symbol(min, Decl(b.js, 0, 3), Decl(b.js, 0, 27), Decl(b.js, 1, 24)) ->app : Symbol(app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) ->min.app : Symbol(app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) +>app : Symbol(min.app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) +>min.app : Symbol(min.app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) >min : Symbol(min, Decl(b.js, 0, 3), Decl(b.js, 0, 27), Decl(b.js, 1, 24)) ->app : Symbol(app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) +>app : Symbol(min.app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) min.app.Application = (function () { ->min.app.Application : Symbol(Application, Decl(b.js, 1, 24)) ->min.app : Symbol(app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) +>min.app.Application : Symbol(min.app.Application, Decl(b.js, 1, 24)) +>min.app : Symbol(min.app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) >min : Symbol(min, Decl(b.js, 0, 3), Decl(b.js, 0, 27), Decl(b.js, 1, 24)) ->app : Symbol(app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) ->Application : Symbol(Application, Decl(b.js, 1, 24)) +>app : Symbol(min.app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) +>Application : Symbol(min.app.Application, Decl(b.js, 1, 24)) var Application = function () { >Application : Symbol(Application, Decl(b.js, 4, 3)) @@ -64,9 +64,9 @@ return Application; })(); min.app.Application() ->min.app.Application : Symbol(Application, Decl(b.js, 1, 24)) ->min.app : Symbol(app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) +>min.app.Application : Symbol(min.app.Application, Decl(b.js, 1, 24)) +>min.app : Symbol(min.app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) >min : Symbol(min, Decl(b.js, 0, 3), Decl(b.js, 0, 27), Decl(b.js, 1, 24)) ->app : Symbol(app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) ->Application : Symbol(Application, Decl(b.js, 1, 24)) +>app : Symbol(min.app, Decl(b.js, 0, 27), Decl(b.js, 3, 4)) +>Application : Symbol(min.app.Application, Decl(b.js, 1, 24)) diff --git a/tests/baselines/reference/typeFromPropertyAssignment9.symbols b/tests/baselines/reference/typeFromPropertyAssignment9.symbols index 6604480deaf..fb1259f5a4b 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment9.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignment9.symbols @@ -1,42 +1,42 @@ === tests/cases/conformance/salsa/a.js === var my = my || {}; ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) /** @param {number} n */ my.method = function(n) { ->my.method : Symbol(method, Decl(a.js, 0, 18)) ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) ->method : Symbol(method, Decl(a.js, 0, 18)) +>my.method : Symbol(my.method, Decl(a.js, 0, 18)) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) +>method : Symbol(my.method, Decl(a.js, 0, 18)) >n : Symbol(n, Decl(a.js, 2, 21)) return n + 1; >n : Symbol(n, Decl(a.js, 2, 21)) } my.number = 1; ->my.number : Symbol(number, Decl(a.js, 4, 1)) ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) ->number : Symbol(number, Decl(a.js, 4, 1)) +>my.number : Symbol(my.number, Decl(a.js, 4, 1)) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) +>number : Symbol(my.number, Decl(a.js, 4, 1)) my.object = {}; ->my.object : Symbol(object, Decl(a.js, 5, 14)) ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) ->object : Symbol(object, Decl(a.js, 5, 14)) +>my.object : Symbol(my.object, Decl(a.js, 5, 14)) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) +>object : Symbol(my.object, Decl(a.js, 5, 14)) my.predicate = my.predicate || {}; ->my.predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) ->predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->my.predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) ->predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) +>my.predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) +>predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>my.predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) +>predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) my.predicate.query = function () { ->my.predicate.query : Symbol(query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) ->my.predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) ->predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->query : Symbol(query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) +>my.predicate.query : Symbol(my.predicate.query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) +>my.predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) +>predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>query : Symbol(my.predicate.query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) var me = this; >me : Symbol(me, Decl(a.js, 9, 7)) @@ -48,46 +48,46 @@ my.predicate.query = function () { }; var q = new my.predicate.query(); >q : Symbol(q, Decl(a.js, 12, 3)) ->my.predicate.query : Symbol(query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) ->my.predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) ->predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->query : Symbol(query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) +>my.predicate.query : Symbol(my.predicate.query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) +>my.predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) +>predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>query : Symbol(my.predicate.query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) my.predicate.query.another = function () { ->my.predicate.query.another : Symbol(query.another, Decl(a.js, 12, 33)) ->my.predicate.query : Symbol(query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) ->my.predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) ->predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->query : Symbol(query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) ->another : Symbol(query.another, Decl(a.js, 12, 33)) +>my.predicate.query.another : Symbol(my.predicate.query.another, Decl(a.js, 12, 33)) +>my.predicate.query : Symbol(my.predicate.query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) +>my.predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) +>predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>query : Symbol(my.predicate.query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) +>another : Symbol(my.predicate.query.another, Decl(a.js, 12, 33)) return 1; } my.predicate.query.result = 'none' ->my.predicate.query.result : Symbol(query.result, Decl(a.js, 15, 1)) ->my.predicate.query : Symbol(query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) ->my.predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) ->predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->query : Symbol(query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) ->result : Symbol(query.result, Decl(a.js, 15, 1)) +>my.predicate.query.result : Symbol(my.predicate.query.result, Decl(a.js, 15, 1)) +>my.predicate.query : Symbol(my.predicate.query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) +>my.predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) +>predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>query : Symbol(my.predicate.query, Decl(a.js, 7, 34), Decl(a.js, 13, 13)) +>result : Symbol(my.predicate.query.result, Decl(a.js, 15, 1)) /** @param {number} first * @param {number} second */ my.predicate.sort = my.predicate.sort || function (first, second) { ->my.predicate.sort : Symbol(sort, Decl(a.js, 16, 34)) ->my.predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) ->predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->sort : Symbol(sort, Decl(a.js, 16, 34)) ->my.predicate.sort : Symbol(sort, Decl(a.js, 16, 34)) ->my.predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) ->predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->sort : Symbol(sort, Decl(a.js, 16, 34)) +>my.predicate.sort : Symbol(my.predicate.sort, Decl(a.js, 16, 34)) +>my.predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) +>predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>sort : Symbol(my.predicate.sort, Decl(a.js, 16, 34)) +>my.predicate.sort : Symbol(my.predicate.sort, Decl(a.js, 16, 34)) +>my.predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) +>predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>sort : Symbol(my.predicate.sort, Decl(a.js, 16, 34)) >first : Symbol(first, Decl(a.js, 20, 51)) >second : Symbol(second, Decl(a.js, 20, 57)) @@ -98,11 +98,11 @@ my.predicate.sort = my.predicate.sort || function (first, second) { >second : Symbol(second, Decl(a.js, 20, 57)) } my.predicate.type = class { ->my.predicate.type : Symbol(type, Decl(a.js, 22, 1)) ->my.predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 5, 14), Decl(a.js, 6, 15), Decl(a.js, 7, 34) ... and 3 more) ->predicate : Symbol(predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3), Decl(a.js, 20, 3), Decl(a.js, 23, 3)) ->type : Symbol(type, Decl(a.js, 22, 1)) +>my.predicate.type : Symbol(my.predicate.type, Decl(a.js, 22, 1)) +>my.predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>my : Symbol(my, Decl(a.js, 0, 3), Decl(a.js, 0, 18), Decl(a.js, 7, 34), Decl(a.js, 12, 33)) +>predicate : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3)) +>type : Symbol(my.predicate.type, Decl(a.js, 22, 1)) m() { return 101; } >m : Symbol(type.m, Decl(a.js, 23, 27)) @@ -111,24 +111,24 @@ my.predicate.type = class { // global-ish prefixes var min = window.min || {}; ->min : Symbol(min, Decl(a.js, 29, 3), Decl(a.js, 29, 27), Decl(a.js, 30, 44), Decl(a.js, 31, 50)) +>min : Symbol(min, Decl(a.js, 29, 3), Decl(a.js, 29, 27), Decl(a.js, 30, 44)) >window : Symbol(window, Decl(lib.es6.d.ts, --, --)) min.nest = this.min.nest || function () { }; ->min.nest : Symbol(nest, Decl(a.js, 29, 27), Decl(a.js, 31, 4)) ->min : Symbol(min, Decl(a.js, 29, 3), Decl(a.js, 29, 27), Decl(a.js, 30, 44), Decl(a.js, 31, 50)) ->nest : Symbol(nest, Decl(a.js, 29, 27), Decl(a.js, 31, 4)) +>min.nest : Symbol(min.nest, Decl(a.js, 29, 27), Decl(a.js, 31, 4)) +>min : Symbol(min, Decl(a.js, 29, 3), Decl(a.js, 29, 27), Decl(a.js, 30, 44)) +>nest : Symbol(min.nest, Decl(a.js, 29, 27), Decl(a.js, 31, 4)) min.nest.other = self.min.nest.other || class { }; ->min.nest.other : Symbol(nest.other, Decl(a.js, 30, 44)) ->min.nest : Symbol(nest, Decl(a.js, 29, 27), Decl(a.js, 31, 4)) ->min : Symbol(min, Decl(a.js, 29, 3), Decl(a.js, 29, 27), Decl(a.js, 30, 44), Decl(a.js, 31, 50)) ->nest : Symbol(nest, Decl(a.js, 29, 27), Decl(a.js, 31, 4)) ->other : Symbol(nest.other, Decl(a.js, 30, 44)) +>min.nest.other : Symbol(min.nest.other, Decl(a.js, 30, 44)) +>min.nest : Symbol(min.nest, Decl(a.js, 29, 27), Decl(a.js, 31, 4)) +>min : Symbol(min, Decl(a.js, 29, 3), Decl(a.js, 29, 27), Decl(a.js, 30, 44)) +>nest : Symbol(min.nest, Decl(a.js, 29, 27), Decl(a.js, 31, 4)) +>other : Symbol(min.nest.other, Decl(a.js, 30, 44)) >self : Symbol(self, Decl(lib.es6.d.ts, --, --)) min.property = global.min.property || {}; ->min.property : Symbol(property, Decl(a.js, 31, 50)) ->min : Symbol(min, Decl(a.js, 29, 3), Decl(a.js, 29, 27), Decl(a.js, 30, 44), Decl(a.js, 31, 50)) ->property : Symbol(property, Decl(a.js, 31, 50)) +>min.property : Symbol(min.property, Decl(a.js, 31, 50)) +>min : Symbol(min, Decl(a.js, 29, 3), Decl(a.js, 29, 27), Decl(a.js, 30, 44)) +>property : Symbol(min.property, Decl(a.js, 31, 50)) diff --git a/tests/baselines/reference/typeFromPropertyAssignmentOutOfOrder.symbols b/tests/baselines/reference/typeFromPropertyAssignmentOutOfOrder.symbols index bb187808b32..59b42c24737 100644 --- a/tests/baselines/reference/typeFromPropertyAssignmentOutOfOrder.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignmentOutOfOrder.symbols @@ -1,24 +1,24 @@ === tests/cases/conformance/salsa/index.js === Common.Item = class I {} >Common.Item : Symbol(Common.Item, Decl(index.js, 0, 0)) ->Common : Symbol(Common, Decl(index.js, 0, 0), Decl(roots.js, 0, 3), Decl(roots.js, 0, 12)) +>Common : Symbol(Common, Decl(index.js, 0, 0), Decl(roots.js, 0, 3)) >Item : Symbol(Common.Item, Decl(index.js, 0, 0)) >I : Symbol(I, Decl(index.js, 0, 13)) Common.Object = class extends Common.Item {} >Common.Object : Symbol(Common.Object, Decl(index.js, 0, 24)) ->Common : Symbol(Common, Decl(index.js, 0, 0), Decl(roots.js, 0, 3), Decl(roots.js, 0, 12)) +>Common : Symbol(Common, Decl(index.js, 0, 0), Decl(roots.js, 0, 3)) >Object : Symbol(Common.Object, Decl(index.js, 0, 24)) >Common.Item : Symbol(Common.Item, Decl(index.js, 0, 0)) ->Common : Symbol(Common, Decl(index.js, 0, 0), Decl(roots.js, 0, 3), Decl(roots.js, 0, 12)) +>Common : Symbol(Common, Decl(index.js, 0, 0), Decl(roots.js, 0, 3)) >Item : Symbol(Common.Item, Decl(index.js, 0, 0)) Workspace.Object = class extends Common.Object {} >Workspace.Object : Symbol(Workspace.Object, Decl(index.js, 1, 44)) ->Workspace : Symbol(Workspace, Decl(index.js, 1, 44), Decl(roots.js, 1, 3), Decl(roots.js, 1, 15)) +>Workspace : Symbol(Workspace, Decl(index.js, 1, 44), Decl(roots.js, 1, 3)) >Object : Symbol(Workspace.Object, Decl(index.js, 1, 44)) >Common.Object : Symbol(Common.Object, Decl(index.js, 0, 24)) ->Common : Symbol(Common, Decl(index.js, 0, 0), Decl(roots.js, 0, 3), Decl(roots.js, 0, 12)) +>Common : Symbol(Common, Decl(index.js, 0, 0), Decl(roots.js, 0, 3)) >Object : Symbol(Common.Object, Decl(index.js, 0, 24)) /** @type {Workspace.Object} */ @@ -27,8 +27,8 @@ var am; === tests/cases/conformance/salsa/roots.js === var Common = {}; ->Common : Symbol(Common, Decl(index.js, 0, 0), Decl(roots.js, 0, 3), Decl(roots.js, 0, 12)) +>Common : Symbol(Common, Decl(index.js, 0, 0), Decl(roots.js, 0, 3)) var Workspace = {}; ->Workspace : Symbol(Workspace, Decl(index.js, 1, 44), Decl(roots.js, 1, 3), Decl(roots.js, 1, 15)) +>Workspace : Symbol(Workspace, Decl(index.js, 1, 44), Decl(roots.js, 1, 3)) diff --git a/tests/baselines/reference/typeFromPropertyAssignmentWithExport.symbols b/tests/baselines/reference/typeFromPropertyAssignmentWithExport.symbols index 8120c3bbaef..6dcf8532f1e 100644 --- a/tests/baselines/reference/typeFromPropertyAssignmentWithExport.symbols +++ b/tests/baselines/reference/typeFromPropertyAssignmentWithExport.symbols @@ -2,16 +2,16 @@ // this is a javascript file... export const Adapter = {}; ->Adapter : Symbol(Adapter, Decl(a.js, 2, 12), Decl(a.js, 2, 26), Decl(a.js, 4, 18)) +>Adapter : Symbol(Adapter, Decl(a.js, 2, 12), Decl(a.js, 2, 26)) Adapter.prop = {}; ->Adapter.prop : Symbol(prop, Decl(a.js, 2, 26)) ->Adapter : Symbol(Adapter, Decl(a.js, 2, 12), Decl(a.js, 2, 26), Decl(a.js, 4, 18)) ->prop : Symbol(prop, Decl(a.js, 2, 26)) +>Adapter.prop : Symbol(Adapter.prop, Decl(a.js, 2, 26)) +>Adapter : Symbol(Adapter, Decl(a.js, 2, 12), Decl(a.js, 2, 26)) +>prop : Symbol(Adapter.prop, Decl(a.js, 2, 26)) // comment this out, and it works Adapter.asyncMethod = function() {} ->Adapter.asyncMethod : Symbol(asyncMethod, Decl(a.js, 4, 18)) ->Adapter : Symbol(Adapter, Decl(a.js, 2, 12), Decl(a.js, 2, 26), Decl(a.js, 4, 18)) ->asyncMethod : Symbol(asyncMethod, Decl(a.js, 4, 18)) +>Adapter.asyncMethod : Symbol(Adapter.asyncMethod, Decl(a.js, 4, 18)) +>Adapter : Symbol(Adapter, Decl(a.js, 2, 12), Decl(a.js, 2, 26)) +>asyncMethod : Symbol(Adapter.asyncMethod, Decl(a.js, 4, 18)) diff --git a/tests/baselines/reference/typeLookupInIIFE.errors.txt b/tests/baselines/reference/typeLookupInIIFE.errors.txt new file mode 100644 index 00000000000..9e95cb4f11a --- /dev/null +++ b/tests/baselines/reference/typeLookupInIIFE.errors.txt @@ -0,0 +1,11 @@ +tests/cases/conformance/salsa/a.js(3,15): error TS2694: Namespace 'ns' has no exported member 'NotFound'. + + +==== tests/cases/conformance/salsa/a.js (1 errors) ==== + // #22973 + var ns = (function() {})(); + /** @type {ns.NotFound} */ + ~~~~~~~~ +!!! error TS2694: Namespace 'ns' has no exported member 'NotFound'. + var crash; + \ No newline at end of file diff --git a/tests/baselines/reference/typedefCrossModule3.symbols b/tests/baselines/reference/typedefCrossModule3.symbols index 3e1c8a55535..b41b278b0c3 100644 --- a/tests/baselines/reference/typedefCrossModule3.symbols +++ b/tests/baselines/reference/typedefCrossModule3.symbols @@ -4,9 +4,9 @@ const ns = {}; >ns : Symbol(ns, Decl(mod2.js, 1, 5), Decl(mod2.js, 1, 14)) ns.Foo = class {} ->ns.Foo : Symbol(Foo, Decl(mod2.js, 1, 14)) +>ns.Foo : Symbol(ns.Foo, Decl(mod2.js, 1, 14)) >ns : Symbol(ns, Decl(mod2.js, 1, 5), Decl(mod2.js, 1, 14)) ->Foo : Symbol(Foo, Decl(mod2.js, 1, 14)) +>Foo : Symbol(ns.Foo, Decl(mod2.js, 1, 14)) module.exports = ns; >module : Symbol(export=, Decl(mod2.js, 2, 17)) diff --git a/tests/cases/conformance/salsa/inferringClassStaticMembersFromAssignments.ts b/tests/cases/conformance/salsa/inferringClassStaticMembersFromAssignments.ts index 7ed3a81dcfe..925f9de5305 100644 --- a/tests/cases/conformance/salsa/inferringClassStaticMembersFromAssignments.ts +++ b/tests/cases/conformance/salsa/inferringClassStaticMembersFromAssignments.ts @@ -40,4 +40,4 @@ var n = a.F2.staticProp; var n = C3.staticProp; var n = C4.staticProp; var n = F3.staticProp; -var n = F4.staticProp; \ No newline at end of file +var n = F4.staticProp; diff --git a/tests/cases/conformance/salsa/jsContainerMergeTsDeclaration.ts b/tests/cases/conformance/salsa/jsContainerMergeTsDeclaration.ts index 5a5ba7f49d5..a3b0289608f 100644 --- a/tests/cases/conformance/salsa/jsContainerMergeTsDeclaration.ts +++ b/tests/cases/conformance/salsa/jsContainerMergeTsDeclaration.ts @@ -1,5 +1,6 @@ // @allowJs: true // @checkJs: true +// @noEmit: true // @Filename: a.js var /*1*/x = function foo() { } diff --git a/tests/cases/conformance/salsa/jsContainerMergeTsDeclaration2.ts b/tests/cases/conformance/salsa/jsContainerMergeTsDeclaration2.ts new file mode 100644 index 00000000000..f4fc9a9c92d --- /dev/null +++ b/tests/cases/conformance/salsa/jsContainerMergeTsDeclaration2.ts @@ -0,0 +1,10 @@ +// @noEmit: true +// @allowJs: true +// @checkJs: true +// @Filename: a.d.ts +declare namespace C { + function bar(): void +} +// @Filename: b.js +C.prototype = {}; +C.bar = 2; diff --git a/tests/cases/conformance/salsa/jsContainerMergeTsDeclaration3.ts b/tests/cases/conformance/salsa/jsContainerMergeTsDeclaration3.ts new file mode 100644 index 00000000000..ca3b952f532 --- /dev/null +++ b/tests/cases/conformance/salsa/jsContainerMergeTsDeclaration3.ts @@ -0,0 +1,8 @@ +// @noEmit: true +// @allowJs: true +// @checkJs: true +// @Filename: a.d.ts +declare class A {} +// @Filename: b.js +const A = { }; +A.d = { }; diff --git a/tests/cases/conformance/salsa/nestedPrototypeAssignment.ts b/tests/cases/conformance/salsa/nestedPrototypeAssignment.ts new file mode 100644 index 00000000000..ea17ef15da2 --- /dev/null +++ b/tests/cases/conformance/salsa/nestedPrototypeAssignment.ts @@ -0,0 +1,9 @@ +// @noEmit: true +// @allowJs: true +// @checkJs: true +// @noImplicitAny: true +// @Filename: mod.js + +// #24111 -- shouldn't assert +C.prototype = {} +C.prototype.bar.foo = {}; From 1696da14f230e70f4a90d61c5ba52b69982cff17 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Thu, 31 May 2018 12:40:08 -0700 Subject: [PATCH 19/76] Do not emit trailing comma in json module Fixes #24530 --- src/compiler/emitter.ts | 2 +- .../requireOfJsonFileWithTraillingComma.js | 32 +++++++++++++ ...equireOfJsonFileWithTraillingComma.symbols | 38 ++++++++++++++++ .../requireOfJsonFileWithTraillingComma.types | 45 +++++++++++++++++++ .../requireOfJsonFileWithTraillingComma.ts | 20 +++++++++ 5 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/requireOfJsonFileWithTraillingComma.js create mode 100644 tests/baselines/reference/requireOfJsonFileWithTraillingComma.symbols create mode 100644 tests/baselines/reference/requireOfJsonFileWithTraillingComma.types create mode 100644 tests/cases/compiler/requireOfJsonFileWithTraillingComma.ts diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 5e53605decf..5af58a11678 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -1458,7 +1458,7 @@ namespace ts { } const preferNewLine = node.multiLine ? ListFormat.PreferNewLine : ListFormat.None; - const allowTrailingComma = currentSourceFile.languageVersion >= ScriptTarget.ES5 ? ListFormat.AllowTrailingComma : ListFormat.None; + const allowTrailingComma = currentSourceFile.languageVersion >= ScriptTarget.ES5 && !isJsonSourceFile(currentSourceFile) ? ListFormat.AllowTrailingComma : ListFormat.None; emitList(node, node.properties, ListFormat.ObjectLiteralExpressionProperties | allowTrailingComma | preferNewLine); if (indentedFlag) { diff --git a/tests/baselines/reference/requireOfJsonFileWithTraillingComma.js b/tests/baselines/reference/requireOfJsonFileWithTraillingComma.js new file mode 100644 index 00000000000..332112b3560 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithTraillingComma.js @@ -0,0 +1,32 @@ +//// [tests/cases/compiler/requireOfJsonFileWithTraillingComma.ts] //// + +//// [file1.ts] +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] +{ + "a": true, + "b": "hello", +} + +//// [out/b.json] +{ + "a": true, + "b": "hello" +} +//// [out/file1.js] +"use strict"; +exports.__esModule = true; +var b1 = require("./b.json"); +var x = b1.a; +var b2 = require("./b.json"); +if (x) { + var b = b2.b; + x = (b1.b === b); +} diff --git a/tests/baselines/reference/requireOfJsonFileWithTraillingComma.symbols b/tests/baselines/reference/requireOfJsonFileWithTraillingComma.symbols new file mode 100644 index 00000000000..79eac57c9f6 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithTraillingComma.symbols @@ -0,0 +1,38 @@ +=== tests/cases/compiler/file1.ts === +import b1 = require('./b.json'); +>b1 : Symbol(b1, Decl(file1.ts, 0, 0)) + +let x = b1.a; +>x : Symbol(x, Decl(file1.ts, 1, 3)) +>b1.a : Symbol("a", Decl(b.json, 0, 1)) +>b1 : Symbol(b1, Decl(file1.ts, 0, 0)) +>a : Symbol("a", Decl(b.json, 0, 1)) + +import b2 = require('./b.json'); +>b2 : Symbol(b2, Decl(file1.ts, 1, 13)) + +if (x) { +>x : Symbol(x, Decl(file1.ts, 1, 3)) + + let b = b2.b; +>b : Symbol(b, Decl(file1.ts, 4, 7)) +>b2.b : Symbol("b", Decl(b.json, 1, 14)) +>b2 : Symbol(b2, Decl(file1.ts, 1, 13)) +>b : Symbol("b", Decl(b.json, 1, 14)) + + x = (b1.b === b); +>x : Symbol(x, Decl(file1.ts, 1, 3)) +>b1.b : Symbol("b", Decl(b.json, 1, 14)) +>b1 : Symbol(b1, Decl(file1.ts, 0, 0)) +>b : Symbol("b", Decl(b.json, 1, 14)) +>b : Symbol(b, Decl(file1.ts, 4, 7)) +} + +=== tests/cases/compiler/b.json === +{ + "a": true, +>"a" : Symbol("a", Decl(b.json, 0, 1)) + + "b": "hello", +>"b" : Symbol("b", Decl(b.json, 1, 14)) +} diff --git a/tests/baselines/reference/requireOfJsonFileWithTraillingComma.types b/tests/baselines/reference/requireOfJsonFileWithTraillingComma.types new file mode 100644 index 00000000000..17e637a6df8 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithTraillingComma.types @@ -0,0 +1,45 @@ +=== tests/cases/compiler/file1.ts === +import b1 = require('./b.json'); +>b1 : { "a": boolean; "b": string; } + +let x = b1.a; +>x : boolean +>b1.a : boolean +>b1 : { "a": boolean; "b": string; } +>a : boolean + +import b2 = require('./b.json'); +>b2 : { "a": boolean; "b": string; } + +if (x) { +>x : boolean + + let b = b2.b; +>b : string +>b2.b : string +>b2 : { "a": boolean; "b": string; } +>b : string + + x = (b1.b === b); +>x = (b1.b === b) : boolean +>x : boolean +>(b1.b === b) : boolean +>b1.b === b : boolean +>b1.b : string +>b1 : { "a": boolean; "b": string; } +>b : string +>b : string +} + +=== tests/cases/compiler/b.json === +{ +>{ "a": true, "b": "hello",} : { "a": boolean; "b": string; } + + "a": true, +>"a" : boolean +>true : true + + "b": "hello", +>"b" : string +>"hello" : "hello" +} diff --git a/tests/cases/compiler/requireOfJsonFileWithTraillingComma.ts b/tests/cases/compiler/requireOfJsonFileWithTraillingComma.ts new file mode 100644 index 00000000000..de1f3b24a78 --- /dev/null +++ b/tests/cases/compiler/requireOfJsonFileWithTraillingComma.ts @@ -0,0 +1,20 @@ +// @module: commonjs +// @outdir: out/ +// @allowJs: true +// @fullEmitPaths: true +// @resolveJsonModule: true + +// @Filename: file1.ts +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +// @Filename: b.json +{ + "a": true, + "b": "hello", +} \ No newline at end of file From 9d42ab983d12780eb2a2e8e90dc63e532a36b462 Mon Sep 17 00:00:00 2001 From: Andy Date: Thu, 31 May 2018 13:32:02 -0700 Subject: [PATCH 20/76] implementations: Use declaration name for the span (#24537) * implementations: Use declaration name for the span * Always get name in nodeEntry --- src/services/findAllReferences.ts | 4 ++-- .../goToImplementationClassMethod_00.ts | 2 +- .../goToImplementationClassMethod_01.ts | 2 +- .../fourslash/goToImplementationEnum_00.ts | 2 +- .../fourslash/goToImplementationEnum_01.ts | 4 ++-- .../goToImplementationInterfaceMethod_00.ts | 10 +++++----- .../goToImplementationInterfaceMethod_01.ts | 2 +- .../goToImplementationInterfaceMethod_02.ts | 2 +- .../goToImplementationInterfaceMethod_03.ts | 2 +- .../goToImplementationInterfaceMethod_04.ts | 4 ++-- .../goToImplementationInterfaceMethod_05.ts | 2 +- .../goToImplementationInterfaceMethod_06.ts | 6 +++--- .../goToImplementationInterfaceMethod_08.ts | 4 ++-- .../goToImplementationInterfaceMethod_09.ts | 2 +- .../goToImplementationInterfaceMethod_10.ts | 6 +++--- .../goToImplementationInterfaceMethod_11.ts | 4 ++-- .../goToImplementationInterfaceProperty_00.ts | 8 ++++---- .../goToImplementationInterfaceProperty_01.ts | 2 +- .../goToImplementationInterface_01.ts | 8 ++++---- .../goToImplementationInterface_07.ts | 4 ++-- .../goToImplementationInterface_08.ts | 2 +- .../fourslash/goToImplementationLocal_00.ts | 4 ++-- .../fourslash/goToImplementationLocal_01.ts | 4 ++-- .../fourslash/goToImplementationLocal_02.ts | 4 ++-- .../fourslash/goToImplementationLocal_03.ts | 4 ++-- .../fourslash/goToImplementationLocal_04.ts | 4 ++-- .../fourslash/goToImplementationLocal_05.ts | 4 ++-- .../fourslash/goToImplementationLocal_06.ts | 4 ++-- .../fourslash/goToImplementationLocal_07.ts | 4 ++-- .../fourslash/goToImplementationLocal_08.ts | 4 ++-- .../goToImplementationNamespace_00.ts | 4 ++-- .../goToImplementationNamespace_01.ts | 2 +- .../goToImplementationNamespace_02.ts | 2 +- .../goToImplementationNamespace_03.ts | 8 ++++---- .../goToImplementationNamespace_04.ts | 8 ++++---- .../goToImplementationNamespace_05.ts | 4 ++-- .../goToImplementationNamespace_06.ts | 4 ++-- ...mentationShorthandPropertyAssignment_00.ts | 6 +++--- ...mentationShorthandPropertyAssignment_01.ts | 8 ++++---- ...mentationShorthandPropertyAssignment_02.ts | 2 +- .../fourslash/goToImplementationSuper_00.ts | 4 ++-- .../fourslash/goToImplementationSuper_01.ts | 4 ++-- .../fourslash/goToImplementationThis_00.ts | 6 +++--- .../fourslash/goToImplementationThis_01.ts | 6 +++--- .../goToImplementation_inDifferentFiles.ts | 8 ++++---- .../fourslash/server/implementation01.ts | 5 ++--- .../shims-pp/getImplementationAtPosition.ts | 19 ++++++------------- .../shims/getImplementationAtPosition.ts | 19 ++++++------------- 48 files changed, 111 insertions(+), 126 deletions(-) diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index de1510943c3..c87bdb5e925 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -24,7 +24,7 @@ namespace ts.FindAllReferences { textSpan: TextSpan; } export function nodeEntry(node: Node, isInString?: true): NodeEntry { - return { type: "node", node, isInString }; + return { type: "node", node: (node as NamedDeclaration).name || node, isInString }; } export interface Options { @@ -1096,7 +1096,7 @@ namespace ts.FindAllReferences.Core { function addImplementationReferences(refNode: Node, addReference: (node: Node) => void, state: State): void { // Check if we found a function/propertyAssignment/method with an implementation or initializer if (isDeclarationName(refNode) && isImplementation(refNode.parent)) { - addReference(refNode.parent); + addReference(refNode); return; } diff --git a/tests/cases/fourslash/goToImplementationClassMethod_00.ts b/tests/cases/fourslash/goToImplementationClassMethod_00.ts index 09bece0c1a2..8c8ad0723ee 100644 --- a/tests/cases/fourslash/goToImplementationClassMethod_00.ts +++ b/tests/cases/fourslash/goToImplementationClassMethod_00.ts @@ -3,7 +3,7 @@ // Should handle calls made on members declared in a class //// class Bar { -//// [|{|"parts": ["(","method",")"," ","Bar",".","hello","(",")",":"," ","void"], "kind": "method"|}hello() {}|] +//// [|{|"parts": ["(","method",")"," ","Bar",".","hello","(",")",":"," ","void"], "kind": "method"|}hello|]() {} //// } //// //// new Bar().hel/*reference*/lo; diff --git a/tests/cases/fourslash/goToImplementationClassMethod_01.ts b/tests/cases/fourslash/goToImplementationClassMethod_01.ts index 7f59376a6ae..5aa9deace63 100644 --- a/tests/cases/fourslash/goToImplementationClassMethod_01.ts +++ b/tests/cases/fourslash/goToImplementationClassMethod_01.ts @@ -7,7 +7,7 @@ //// } //// //// class Bar extends AbstractBar{ -//// [|hello() {}|] +//// [|hello|]() {} //// } //// //// function whatever(x: AbstractBar) { diff --git a/tests/cases/fourslash/goToImplementationEnum_00.ts b/tests/cases/fourslash/goToImplementationEnum_00.ts index 81e72b871a2..ee5750ed04d 100644 --- a/tests/cases/fourslash/goToImplementationEnum_00.ts +++ b/tests/cases/fourslash/goToImplementationEnum_00.ts @@ -3,7 +3,7 @@ // Should handle calls made on members of an enum //// enum Foo { -//// [|Foo1 = function initializer() { return 5 } ()|], +//// [|Foo1|] = function initializer() { return 5 } (), //// Foo2 = 6 //// } //// diff --git a/tests/cases/fourslash/goToImplementationEnum_01.ts b/tests/cases/fourslash/goToImplementationEnum_01.ts index 43273b6b03a..cf21420609b 100644 --- a/tests/cases/fourslash/goToImplementationEnum_01.ts +++ b/tests/cases/fourslash/goToImplementationEnum_01.ts @@ -2,10 +2,10 @@ // Should handle calls made on enum name -//// [|enum Foo { +//// enum [|Foo|] { //// Foo1 = function initializer() { return 5 } (), //// Foo2 = 6 -//// }|] +//// } //// //// Fo/*reference*/o; diff --git a/tests/cases/fourslash/goToImplementationInterfaceMethod_00.ts b/tests/cases/fourslash/goToImplementationInterfaceMethod_00.ts index 7ec63c4e94b..0a50197d7ad 100644 --- a/tests/cases/fourslash/goToImplementationInterfaceMethod_00.ts +++ b/tests/cases/fourslash/goToImplementationInterfaceMethod_00.ts @@ -6,19 +6,19 @@ //// he/*declaration*/llo: () => void //// } //// -//// var bar: Foo = { [|hello: helloImpl|] }; -//// var baz: Foo = { [|"hello": helloImpl|] }; +//// var bar: Foo = { [|hello|]: helloImpl }; +//// var baz: Foo = { "[|hello|]": helloImpl }; //// //// function helloImpl () {} //// -//// function whatever(x: Foo = { [|hello() {/**1*/}|] }) { +//// function whatever(x: Foo = { [|hello|]() {/**1*/} }) { //// x.he/*function_call*/llo() //// } //// //// class Bar { -//// x: Foo = { [|hello() {/*2*/}|] } +//// x: Foo = { [|hello|]() {/*2*/} } //// -//// constructor(public f: Foo = { [|hello() {/**3*/}|] } ) {} +//// constructor(public f: Foo = { [|hello|]() {/**3*/} } ) {} //// } verify.allRangesAppearInImplementationList("function_call"); diff --git a/tests/cases/fourslash/goToImplementationInterfaceMethod_01.ts b/tests/cases/fourslash/goToImplementationInterfaceMethod_01.ts index 8bd328bcb54..d7626b3bf74 100644 --- a/tests/cases/fourslash/goToImplementationInterfaceMethod_01.ts +++ b/tests/cases/fourslash/goToImplementationInterfaceMethod_01.ts @@ -8,7 +8,7 @@ //// } //// //// class Bar implements Foo { -//// [|hello() {}|] +//// [|hello|]() {} //// public sure() {} //// } //// diff --git a/tests/cases/fourslash/goToImplementationInterfaceMethod_02.ts b/tests/cases/fourslash/goToImplementationInterfaceMethod_02.ts index 82dceaad91c..d672f1c8f48 100644 --- a/tests/cases/fourslash/goToImplementationInterfaceMethod_02.ts +++ b/tests/cases/fourslash/goToImplementationInterfaceMethod_02.ts @@ -11,7 +11,7 @@ //// } //// //// class Bar extends AbstractBar { -//// [|hello() {}|] +//// [|hello|]() {} //// } //// //// function whatever(a: AbstractBar) { diff --git a/tests/cases/fourslash/goToImplementationInterfaceMethod_03.ts b/tests/cases/fourslash/goToImplementationInterfaceMethod_03.ts index 8826cc1eab4..3753fe4e351 100644 --- a/tests/cases/fourslash/goToImplementationInterfaceMethod_03.ts +++ b/tests/cases/fourslash/goToImplementationInterfaceMethod_03.ts @@ -7,7 +7,7 @@ //// } //// //// class Bar extends SuperBar { -//// [|hello() {}|] +//// [|hello|]() {} //// } //// //// class SuperBar implements Foo { diff --git a/tests/cases/fourslash/goToImplementationInterfaceMethod_04.ts b/tests/cases/fourslash/goToImplementationInterfaceMethod_04.ts index a9b825c717f..a4c832b43ae 100644 --- a/tests/cases/fourslash/goToImplementationInterfaceMethod_04.ts +++ b/tests/cases/fourslash/goToImplementationInterfaceMethod_04.ts @@ -7,11 +7,11 @@ //// } //// //// class Bar extends SuperBar { -//// [|hello() {}|] +//// [|hello|]() {} //// } //// //// class SuperBar implements Foo { -//// [|hello() {}|] +//// [|hello|]() {} //// } //// //// class OtherBar implements Foo { diff --git a/tests/cases/fourslash/goToImplementationInterfaceMethod_05.ts b/tests/cases/fourslash/goToImplementationInterfaceMethod_05.ts index b051e16a929..c8cc432c161 100644 --- a/tests/cases/fourslash/goToImplementationInterfaceMethod_05.ts +++ b/tests/cases/fourslash/goToImplementationInterfaceMethod_05.ts @@ -7,7 +7,7 @@ //// } //// //// class SuperBar implements Foo { -//// [|hello() {}|] +//// [|hello|]() {} //// } //// //// class Bar extends SuperBar { diff --git a/tests/cases/fourslash/goToImplementationInterfaceMethod_06.ts b/tests/cases/fourslash/goToImplementationInterfaceMethod_06.ts index b340270096d..ac39ed70928 100644 --- a/tests/cases/fourslash/goToImplementationInterfaceMethod_06.ts +++ b/tests/cases/fourslash/goToImplementationInterfaceMethod_06.ts @@ -11,19 +11,19 @@ //// } //// //// class Bar implements Foo { -//// [|hello() {}|] +//// [|hello|]() {} //// someOtherFunction() {} //// } //// //// function createFoo(): Foo { //// return { -//// [|hello() {}|], +//// [|hello|]() {}, //// someOtherFunction() {} //// }; //// } //// //// var y: Foo = { -//// [|hello() {}|], +//// [|hello|]() {}, //// someOtherFunction() {} //// }; //// diff --git a/tests/cases/fourslash/goToImplementationInterfaceMethod_08.ts b/tests/cases/fourslash/goToImplementationInterfaceMethod_08.ts index d2038f99efd..ed1a4b34f50 100644 --- a/tests/cases/fourslash/goToImplementationInterfaceMethod_08.ts +++ b/tests/cases/fourslash/goToImplementationInterfaceMethod_08.ts @@ -7,7 +7,7 @@ //// } //// //// class SuperBar implements Foo { -//// [|hello() {}|] +//// [|hello|]() {} //// } //// //// class Bar extends SuperBar { @@ -15,7 +15,7 @@ //// } //// //// class SubBar extends Bar { -//// [|hello() {}|] +//// [|hello|]() {} //// } diff --git a/tests/cases/fourslash/goToImplementationInterfaceMethod_09.ts b/tests/cases/fourslash/goToImplementationInterfaceMethod_09.ts index 84c57ec2bce..b507be3fe2b 100644 --- a/tests/cases/fourslash/goToImplementationInterfaceMethod_09.ts +++ b/tests/cases/fourslash/goToImplementationInterfaceMethod_09.ts @@ -20,7 +20,7 @@ //// } //// //// class SuperBar extends MegaBar { -//// [|hello() {}|] +//// [|hello|]() {} //// } //// //// class MegaBar implements Foo { diff --git a/tests/cases/fourslash/goToImplementationInterfaceMethod_10.ts b/tests/cases/fourslash/goToImplementationInterfaceMethod_10.ts index 0604d2511f2..ebc0f0e713a 100644 --- a/tests/cases/fourslash/goToImplementationInterfaceMethod_10.ts +++ b/tests/cases/fourslash/goToImplementationInterfaceMethod_10.ts @@ -16,7 +16,7 @@ //// } //// //// class FooImpl implements Foo { -//// [|hello() {/**FooImpl*/}|] +//// [|hello|]() {/**FooImpl*/} //// aloha() {} //// } //// @@ -25,12 +25,12 @@ //// } //// //// class BarImpl implements Bar { -//// [|hello() {/**BarImpl*/}|] +//// [|hello|]() {/**BarImpl*/} //// goodbye() {} //// } //// //// class FooAndBarImpl implements Foo, Bar { -//// [|hello() {/**FooAndBarImpl*/}|] +//// [|hello|]() {/**FooAndBarImpl*/} //// aloha() {} //// goodbye() {} //// } diff --git a/tests/cases/fourslash/goToImplementationInterfaceMethod_11.ts b/tests/cases/fourslash/goToImplementationInterfaceMethod_11.ts index 9528aa409b4..07f06a6d76d 100644 --- a/tests/cases/fourslash/goToImplementationInterfaceMethod_11.ts +++ b/tests/cases/fourslash/goToImplementationInterfaceMethod_11.ts @@ -6,7 +6,7 @@ //// hel/*reference*/lo(): void; //// } //// -//// var x = { [|hello: () => {}|] }; -//// var y = (((({ [|hello: () => {}|] })))); +//// var x = { [|hello|]: () => {} }; +//// var y = (((({ [|hello|]: () => {} })))); verify.allRangesAppearInImplementationList("reference"); \ No newline at end of file diff --git a/tests/cases/fourslash/goToImplementationInterfaceProperty_00.ts b/tests/cases/fourslash/goToImplementationInterfaceProperty_00.ts index 70e49c10b45..547d14d493e 100644 --- a/tests/cases/fourslash/goToImplementationInterfaceProperty_00.ts +++ b/tests/cases/fourslash/goToImplementationInterfaceProperty_00.ts @@ -6,17 +6,17 @@ //// hello: number //// } //// -//// var bar: Foo = { [|hello: 5|] }; +//// var bar: Foo = { [|hello|]: 5 }; //// //// -//// function whatever(x: Foo = { [|hello: 5 * 9|] }) { +//// function whatever(x: Foo = { [|hello|]: 5 * 9 }) { //// x.he/*reference*/llo //// } //// //// class Bar { -//// x: Foo = { [|hello: 6|] } +//// x: Foo = { [|hello|]: 6 } //// -//// constructor(public f: Foo = { [|hello: 7|] } ) {} +//// constructor(public f: Foo = { [|hello|]: 7 } ) {} //// } verify.allRangesAppearInImplementationList("reference"); \ No newline at end of file diff --git a/tests/cases/fourslash/goToImplementationInterfaceProperty_01.ts b/tests/cases/fourslash/goToImplementationInterfaceProperty_01.ts index 14b80362917..46cb696d3de 100644 --- a/tests/cases/fourslash/goToImplementationInterfaceProperty_01.ts +++ b/tests/cases/fourslash/goToImplementationInterfaceProperty_01.ts @@ -5,7 +5,7 @@ //// interface Foo { hello: number } //// //// class Bar implements Foo { -//// [|hello = 5 * 9;|] +//// [|hello|] = 5 * 9; //// } //// //// function whatever(foo: Foo) { diff --git a/tests/cases/fourslash/goToImplementationInterface_01.ts b/tests/cases/fourslash/goToImplementationInterface_01.ts index 62d01da6ca8..9f76e9db5cd 100644 --- a/tests/cases/fourslash/goToImplementationInterface_01.ts +++ b/tests/cases/fourslash/goToImplementationInterface_01.ts @@ -2,13 +2,13 @@ //// interface Fo/*interface_definition*/o { hello(): void } //// -//// [|class SuperBar implements Foo { +//// class [|SuperBar|] implements Foo { //// hello () {} -//// }|] +//// } //// -//// [|abstract class AbstractBar implements Foo { +//// abstract class [|AbstractBar|] implements Foo { //// abstract hello (): void; -//// }|] +//// } //// //// class Bar extends SuperBar { //// } diff --git a/tests/cases/fourslash/goToImplementationInterface_07.ts b/tests/cases/fourslash/goToImplementationInterface_07.ts index 960072004b4..3ebf76d1e3e 100644 --- a/tests/cases/fourslash/goToImplementationInterface_07.ts +++ b/tests/cases/fourslash/goToImplementationInterface_07.ts @@ -20,11 +20,11 @@ //// let x8: Foo[] = [|[{ hello () { /**arrayType*/} }]|]; //// let x9: { y: Foo } = [|{ y: { hello () { /**typeLiteral*/} } }|]; //// let x10 = [|{|"parts": ["(","anonymous local class",")"], "kind": "local class"|}class implements Foo { hello() {} }|] -//// let x11 = [|{|"parts": ["(","local class",")"," ","C"], "kind": "local class"|}class C implements Foo { hello() {} }|] +//// let x11 = class [|{|"parts": ["(","local class",")"," ","C"], "kind": "local class"|}C|] implements Foo { hello() {} } //// //// // Should not do anything for type predicates //// function isFoo(a: any): a is Foo { //// return true; //// } -verify.allRangesAppearInImplementationList("interface_definition"); \ No newline at end of file +verify.allRangesAppearInImplementationList("interface_definition"); diff --git a/tests/cases/fourslash/goToImplementationInterface_08.ts b/tests/cases/fourslash/goToImplementationInterface_08.ts index 652cfe46246..470776c737b 100644 --- a/tests/cases/fourslash/goToImplementationInterface_08.ts +++ b/tests/cases/fourslash/goToImplementationInterface_08.ts @@ -11,7 +11,7 @@ //// interface C extends B, A {} //// //// class X implements B { -//// [|hello() {}|] +//// [|hello|]() {} //// } //// //// function someFunction(d : A) { diff --git a/tests/cases/fourslash/goToImplementationLocal_00.ts b/tests/cases/fourslash/goToImplementationLocal_00.ts index b97fadfcb02..f5e01b89cee 100644 --- a/tests/cases/fourslash/goToImplementationLocal_00.ts +++ b/tests/cases/fourslash/goToImplementationLocal_00.ts @@ -3,6 +3,6 @@ // Should return definition of locally declared functions //// he/*function_call*/llo(); -//// [|function hello() {}|] +//// function [|hello|]() {} -verify.allRangesAppearInImplementationList("function_call"); \ No newline at end of file +verify.allRangesAppearInImplementationList("function_call"); diff --git a/tests/cases/fourslash/goToImplementationLocal_01.ts b/tests/cases/fourslash/goToImplementationLocal_01.ts index 0bda3418354..fe83db9b887 100644 --- a/tests/cases/fourslash/goToImplementationLocal_01.ts +++ b/tests/cases/fourslash/goToImplementationLocal_01.ts @@ -2,7 +2,7 @@ // Should return the defintion of locally defined variables -//// const [|hello = function() {}|]; +//// const [|hello|] = function() {}; //// he/*function_call*/llo(); -verify.allRangesAppearInImplementationList("function_call"); \ No newline at end of file +verify.allRangesAppearInImplementationList("function_call"); diff --git a/tests/cases/fourslash/goToImplementationLocal_02.ts b/tests/cases/fourslash/goToImplementationLocal_02.ts index 62bb8a71a10..6ec1bf0380d 100644 --- a/tests/cases/fourslash/goToImplementationLocal_02.ts +++ b/tests/cases/fourslash/goToImplementationLocal_02.ts @@ -1,8 +1,8 @@ /// -//// const x = { [|hello: () => {}|] }; +//// const x = { [|hello|]: () => {} }; //// //// x.he/*function_call*/llo(); //// -verify.allRangesAppearInImplementationList("function_call"); \ No newline at end of file +verify.allRangesAppearInImplementationList("function_call"); diff --git a/tests/cases/fourslash/goToImplementationLocal_03.ts b/tests/cases/fourslash/goToImplementationLocal_03.ts index d3f25ea29dc..6f40437a8bb 100644 --- a/tests/cases/fourslash/goToImplementationLocal_03.ts +++ b/tests/cases/fourslash/goToImplementationLocal_03.ts @@ -2,11 +2,11 @@ // Should return the definition when invoked on variable assignment -//// let [|he/*local_var*/llo = {}|]; +//// let [|he/*local_var*/llo|] = {}; //// //// x.hello(); //// //// hello = {}; //// -verify.allRangesAppearInImplementationList("local_var"); \ No newline at end of file +verify.allRangesAppearInImplementationList("local_var"); diff --git a/tests/cases/fourslash/goToImplementationLocal_04.ts b/tests/cases/fourslash/goToImplementationLocal_04.ts index 9de9dcd0a9f..e564a375592 100644 --- a/tests/cases/fourslash/goToImplementationLocal_04.ts +++ b/tests/cases/fourslash/goToImplementationLocal_04.ts @@ -2,9 +2,9 @@ // Should return definition of function when invoked on the declaration -//// [|function he/*local_var*/llo() {}|] +//// function [|he/*local_var*/llo|]() {} //// //// hello(); //// -verify.allRangesAppearInImplementationList("local_var"); \ No newline at end of file +verify.allRangesAppearInImplementationList("local_var"); diff --git a/tests/cases/fourslash/goToImplementationLocal_05.ts b/tests/cases/fourslash/goToImplementationLocal_05.ts index 969f4c25fc7..c8e07ab7a74 100644 --- a/tests/cases/fourslash/goToImplementationLocal_05.ts +++ b/tests/cases/fourslash/goToImplementationLocal_05.ts @@ -6,7 +6,7 @@ //// public hello() {} //// } //// -//// var [|someVar = new Bar()|]; +//// var [|someVar|] = new Bar(); //// someVa/*reference*/r.hello(); -verify.allRangesAppearInImplementationList("reference"); \ No newline at end of file +verify.allRangesAppearInImplementationList("reference"); diff --git a/tests/cases/fourslash/goToImplementationLocal_06.ts b/tests/cases/fourslash/goToImplementationLocal_06.ts index acdbaffc36f..90c489bcf54 100644 --- a/tests/cases/fourslash/goToImplementationLocal_06.ts +++ b/tests/cases/fourslash/goToImplementationLocal_06.ts @@ -2,7 +2,7 @@ // Should be able to go to ambient variable declarations -//// declare var [|someVar: string|]; +//// declare var [|someVar|]: string; //// someVa/*reference*/r -verify.allRangesAppearInImplementationList("reference"); \ No newline at end of file +verify.allRangesAppearInImplementationList("reference"); diff --git a/tests/cases/fourslash/goToImplementationLocal_07.ts b/tests/cases/fourslash/goToImplementationLocal_07.ts index 3556c25abc0..b24b463e107 100644 --- a/tests/cases/fourslash/goToImplementationLocal_07.ts +++ b/tests/cases/fourslash/goToImplementationLocal_07.ts @@ -2,7 +2,7 @@ // Should be able to go to ambient function declarations -//// [|declare function someFunction(): () => void;|] +//// declare function [|someFunction|](): () => void; //// someFun/*reference*/ction(); -verify.allRangesAppearInImplementationList("reference"); \ No newline at end of file +verify.allRangesAppearInImplementationList("reference"); diff --git a/tests/cases/fourslash/goToImplementationLocal_08.ts b/tests/cases/fourslash/goToImplementationLocal_08.ts index 3556c25abc0..b24b463e107 100644 --- a/tests/cases/fourslash/goToImplementationLocal_08.ts +++ b/tests/cases/fourslash/goToImplementationLocal_08.ts @@ -2,7 +2,7 @@ // Should be able to go to ambient function declarations -//// [|declare function someFunction(): () => void;|] +//// declare function [|someFunction|](): () => void; //// someFun/*reference*/ction(); -verify.allRangesAppearInImplementationList("reference"); \ No newline at end of file +verify.allRangesAppearInImplementationList("reference"); diff --git a/tests/cases/fourslash/goToImplementationNamespace_00.ts b/tests/cases/fourslash/goToImplementationNamespace_00.ts index 5b71b7bbf9f..c1e05398e22 100644 --- a/tests/cases/fourslash/goToImplementationNamespace_00.ts +++ b/tests/cases/fourslash/goToImplementationNamespace_00.ts @@ -2,11 +2,11 @@ // Should handle namespace and module implementations -//// /*implementation0*/namespace Foo { +//// namespace /*implementation0*/Foo { //// export function hello() {} //// } //// -//// /*implementation1*/module Bar { +//// module /*implementation1*/Bar { //// export function sure() {} //// } //// diff --git a/tests/cases/fourslash/goToImplementationNamespace_01.ts b/tests/cases/fourslash/goToImplementationNamespace_01.ts index b2e267d5378..7d1d36ecde7 100644 --- a/tests/cases/fourslash/goToImplementationNamespace_01.ts +++ b/tests/cases/fourslash/goToImplementationNamespace_01.ts @@ -3,7 +3,7 @@ // Should handle property access expressions on namespaces //// namespace Foo { -//// [|export function hello() {}|] +//// export function [|hello|]() {} //// } //// //// Foo.hell/*reference*/o(); diff --git a/tests/cases/fourslash/goToImplementationNamespace_02.ts b/tests/cases/fourslash/goToImplementationNamespace_02.ts index 2d2ae960a99..c2c4318493e 100644 --- a/tests/cases/fourslash/goToImplementationNamespace_02.ts +++ b/tests/cases/fourslash/goToImplementationNamespace_02.ts @@ -3,7 +3,7 @@ // Should handle property access expressions on namespaces //// module Foo { -//// [|export function hello() {}|] +//// export function [|hello|]() {} //// } //// //// Foo.hell/*reference*/o(); diff --git a/tests/cases/fourslash/goToImplementationNamespace_03.ts b/tests/cases/fourslash/goToImplementationNamespace_03.ts index 751d182ec00..1cc6039933d 100644 --- a/tests/cases/fourslash/goToImplementationNamespace_03.ts +++ b/tests/cases/fourslash/goToImplementationNamespace_03.ts @@ -7,14 +7,14 @@ //// hello(): void; //// } //// -//// [|class BarImpl implements Bar { +//// class [|BarImpl|] implements Bar { //// hello() {} -//// }|] +//// } //// } //// -//// [|class Baz implements Foo.Bar { +//// class [|Baz|] implements Foo.Bar { //// hello() {} -//// }|] +//// } //// //// var someVar1 : Foo.Bar = [|{ hello: () => {/**1*/} }|]; //// diff --git a/tests/cases/fourslash/goToImplementationNamespace_04.ts b/tests/cases/fourslash/goToImplementationNamespace_04.ts index ac0b85e43fe..557b690a42d 100644 --- a/tests/cases/fourslash/goToImplementationNamespace_04.ts +++ b/tests/cases/fourslash/goToImplementationNamespace_04.ts @@ -7,14 +7,14 @@ //// hello(): void; //// } //// -//// [|class BarImpl implements Bar { +//// class [|BarImpl|] implements Bar { //// hello() {} -//// }|] +//// } //// } //// -//// [|class Baz implements Foo.Bar { +//// class [|Baz|] implements Foo.Bar { //// hello() {} -//// }|] +//// } //// //// var someVar1 : Foo.Bar = [|{ hello: () => {/**1*/} }|]; //// diff --git a/tests/cases/fourslash/goToImplementationNamespace_05.ts b/tests/cases/fourslash/goToImplementationNamespace_05.ts index 6936b79bd9b..6fcdb7a396d 100644 --- a/tests/cases/fourslash/goToImplementationNamespace_05.ts +++ b/tests/cases/fourslash/goToImplementationNamespace_05.ts @@ -2,11 +2,11 @@ // Should handle namespace and module implementations with qualified names -//// /*implementation0*/namespace Foo./*implementation2*/Baz { +//// namespace /*implementation0*/Foo./*implementation2*/Baz { //// export function hello() {} //// } //// -//// /*implementation1*/module Bar./*implementation3*/Baz { +//// module /*implementation1*/Bar./*implementation3*/Baz { //// export function sure() {} //// } //// diff --git a/tests/cases/fourslash/goToImplementationNamespace_06.ts b/tests/cases/fourslash/goToImplementationNamespace_06.ts index f5e52d90b1c..62ee4999758 100644 --- a/tests/cases/fourslash/goToImplementationNamespace_06.ts +++ b/tests/cases/fourslash/goToImplementationNamespace_06.ts @@ -2,9 +2,9 @@ // Should handle type queries -//// [|namespace F/*declaration*/oo { +//// namespace [|F/*declaration*/oo|] { //// declare function hello(): void; -//// }|] +//// } //// //// //// let x: typeof Foo = [|{ hello() {} }|]; diff --git a/tests/cases/fourslash/goToImplementationShorthandPropertyAssignment_00.ts b/tests/cases/fourslash/goToImplementationShorthandPropertyAssignment_00.ts index ad4a0cd6b51..4fed473c46b 100644 --- a/tests/cases/fourslash/goToImplementationShorthandPropertyAssignment_00.ts +++ b/tests/cases/fourslash/goToImplementationShorthandPropertyAssignment_00.ts @@ -14,7 +14,7 @@ //// Foo: FooConstructor; //// } //// -//// var x = /*classExpression*/class Foo { +//// var x = class /*classExpression*/Foo { //// createBarInClassExpression(): Bar { //// return { //// Fo/*classExpressionRef*/o @@ -24,7 +24,7 @@ //// someFunction() {} //// } //// -//// /*declaredClass*/class Foo { +//// class /*declaredClass*/Foo { //// //// } //// @@ -40,4 +40,4 @@ verify.caretAtMarker("classExpression"); goTo.marker("declaredClassRef"); goTo.implementation(); -verify.caretAtMarker("declaredClass"); \ No newline at end of file +verify.caretAtMarker("declaredClass"); diff --git a/tests/cases/fourslash/goToImplementationShorthandPropertyAssignment_01.ts b/tests/cases/fourslash/goToImplementationShorthandPropertyAssignment_01.ts index fb4763619a4..23af9ea1591 100644 --- a/tests/cases/fourslash/goToImplementationShorthandPropertyAssignment_01.ts +++ b/tests/cases/fourslash/goToImplementationShorthandPropertyAssignment_01.ts @@ -15,7 +15,7 @@ //// } //// //// // Class expression that gets used in a bar implementation -//// var x = [|class Foo { +//// var x = class [|Foo|] { //// createBarInClassExpression(): Bar { //// return { //// Foo @@ -23,13 +23,13 @@ //// } //// //// someFunction() {} -//// }|]; +//// }; //// //// // Class declaration that gets used in a bar implementation. This class has multiple definitions //// // (the class declaration and the interface above), but we only want the class returned -//// [|class Foo { +//// class [|Foo|] { //// -//// }|] +//// } //// //// function createBarUsingClassDeclaration(): Bar { //// return { diff --git a/tests/cases/fourslash/goToImplementationShorthandPropertyAssignment_02.ts b/tests/cases/fourslash/goToImplementationShorthandPropertyAssignment_02.ts index a27480c8272..30542c0c52b 100644 --- a/tests/cases/fourslash/goToImplementationShorthandPropertyAssignment_02.ts +++ b/tests/cases/fourslash/goToImplementationShorthandPropertyAssignment_02.ts @@ -11,7 +11,7 @@ //// hello //// }; //// -//// [|function hello() {}|] +//// function [|hello|]() {} //// } //// //// function whatever(x: Foo) { diff --git a/tests/cases/fourslash/goToImplementationSuper_00.ts b/tests/cases/fourslash/goToImplementationSuper_00.ts index 53377bdcdb0..16e059e43f1 100644 --- a/tests/cases/fourslash/goToImplementationSuper_00.ts +++ b/tests/cases/fourslash/goToImplementationSuper_00.ts @@ -2,9 +2,9 @@ // Should go to super class declaration when invoked on a super call expression -//// [|class Foo { +//// class [|Foo|] { //// constructor() {} -//// }|] +//// } //// //// class Bar extends Foo { //// constructor() { diff --git a/tests/cases/fourslash/goToImplementationSuper_01.ts b/tests/cases/fourslash/goToImplementationSuper_01.ts index fffa7caf716..6313b3930d9 100644 --- a/tests/cases/fourslash/goToImplementationSuper_01.ts +++ b/tests/cases/fourslash/goToImplementationSuper_01.ts @@ -2,9 +2,9 @@ // Should go to the super class declaration when invoked on the super keyword in a property access expression -//// [|class Foo { +//// class [|Foo|] { //// hello() {} -//// }|] +//// } //// //// class Bar extends Foo { //// hello() { diff --git a/tests/cases/fourslash/goToImplementationThis_00.ts b/tests/cases/fourslash/goToImplementationThis_00.ts index 19212c9a77a..5162eee9b46 100644 --- a/tests/cases/fourslash/goToImplementationThis_00.ts +++ b/tests/cases/fourslash/goToImplementationThis_00.ts @@ -2,12 +2,12 @@ // Should go to class declaration when invoked on this keyword in property access expression -//// [|class Bar extends Foo { +//// class [|Bar|] extends Foo { //// hello() { //// thi/*this_call*/s.whatever(); //// } //// //// whatever() {} -//// }|] +//// } -verify.allRangesAppearInImplementationList("this_call"); \ No newline at end of file +verify.allRangesAppearInImplementationList("this_call"); diff --git a/tests/cases/fourslash/goToImplementationThis_01.ts b/tests/cases/fourslash/goToImplementationThis_01.ts index 6761c6ec6c9..cd5ab3bfaaa 100644 --- a/tests/cases/fourslash/goToImplementationThis_01.ts +++ b/tests/cases/fourslash/goToImplementationThis_01.ts @@ -2,10 +2,10 @@ // Should go to class declaration when invoked on a this type reference -//// [|class Bar extends Foo { +//// class [|Bar|] extends Foo { //// hello(): th/*this_type*/is { //// return this; //// } -//// }|] +//// } -verify.allRangesAppearInImplementationList("this_type"); \ No newline at end of file +verify.allRangesAppearInImplementationList("this_type"); diff --git a/tests/cases/fourslash/server/goToImplementation_inDifferentFiles.ts b/tests/cases/fourslash/server/goToImplementation_inDifferentFiles.ts index e4289b83102..591e8de3608 100644 --- a/tests/cases/fourslash/server/goToImplementation_inDifferentFiles.ts +++ b/tests/cases/fourslash/server/goToImplementation_inDifferentFiles.ts @@ -3,13 +3,13 @@ // @Filename: /bar.ts ////import {Foo} from './foo' //// -////[|class A implements Foo { +////class [|A|] implements Foo { //// func() {} -////}|] +////} //// -////[|class B implements Foo { +////class [|B|] implements Foo { //// func() {} -////}|] +////} // @Filename: /foo.ts ////export interface /**/Foo { diff --git a/tests/cases/fourslash/server/implementation01.ts b/tests/cases/fourslash/server/implementation01.ts index 24d5f935bda..ddd8c792324 100644 --- a/tests/cases/fourslash/server/implementation01.ts +++ b/tests/cases/fourslash/server/implementation01.ts @@ -1,8 +1,7 @@ /// -// @Filename: a.ts -//// interface Fo/*1*/o {} -//// /*2*/class Bar implements Foo {} +////interface Fo/*1*/o {} +////class /*2*/Bar implements Foo {} goTo.marker('1'); goTo.implementation(); diff --git a/tests/cases/fourslash/shims-pp/getImplementationAtPosition.ts b/tests/cases/fourslash/shims-pp/getImplementationAtPosition.ts index a509922f919..22de573d2c9 100644 --- a/tests/cases/fourslash/shims-pp/getImplementationAtPosition.ts +++ b/tests/cases/fourslash/shims-pp/getImplementationAtPosition.ts @@ -1,9 +1,9 @@ -/// +/// // @Filename: goToImplementationDifferentFile_Implementation.ts -//// /*fooClassImplementation*/class FooImpl implements Foo {} +//// class /*fooClassImplementation*/FooImpl implements Foo {} //// -//// /*barClassImplementation*/class Bar { +//// class /*barClassImplementation*/Bar { //// /*barHelloFunctionImplementation*/hello() {} //// } //// @@ -15,21 +15,14 @@ //// //// x.hel/*barHelloFunctionReference*/lo(); //// -//// /*thisImplementation*/class SomeClass { +//// class /*thisImplementation*/SomeClass { //// someMethod() { //// thi/*thisReference*/s.someMethod(); //// } //// } -var markerList = [ - "fooClass", - "barClass", - "barHelloFunction", - "this" -]; - -markerList.forEach((marker) => { +for (const marker of ["fooClass", "barClass", "barHelloFunction", "this"]) { goTo.marker(marker + 'Reference'); goTo.implementation(); verify.caretAtMarker(marker + 'Implementation'); -}); +}; diff --git a/tests/cases/fourslash/shims/getImplementationAtPosition.ts b/tests/cases/fourslash/shims/getImplementationAtPosition.ts index a509922f919..22de573d2c9 100644 --- a/tests/cases/fourslash/shims/getImplementationAtPosition.ts +++ b/tests/cases/fourslash/shims/getImplementationAtPosition.ts @@ -1,9 +1,9 @@ -/// +/// // @Filename: goToImplementationDifferentFile_Implementation.ts -//// /*fooClassImplementation*/class FooImpl implements Foo {} +//// class /*fooClassImplementation*/FooImpl implements Foo {} //// -//// /*barClassImplementation*/class Bar { +//// class /*barClassImplementation*/Bar { //// /*barHelloFunctionImplementation*/hello() {} //// } //// @@ -15,21 +15,14 @@ //// //// x.hel/*barHelloFunctionReference*/lo(); //// -//// /*thisImplementation*/class SomeClass { +//// class /*thisImplementation*/SomeClass { //// someMethod() { //// thi/*thisReference*/s.someMethod(); //// } //// } -var markerList = [ - "fooClass", - "barClass", - "barHelloFunction", - "this" -]; - -markerList.forEach((marker) => { +for (const marker of ["fooClass", "barClass", "barHelloFunction", "this"]) { goTo.marker(marker + 'Reference'); goTo.implementation(); verify.caretAtMarker(marker + 'Implementation'); -}); +}; From e65444214c3775b86080aa57c0861795d7819fef Mon Sep 17 00:00:00 2001 From: Andy Date: Fri, 1 Jun 2018 08:14:07 -0700 Subject: [PATCH 21/76] Remove deprecated internal method (#24540) --- src/harness/harnessLanguageService.ts | 2 +- src/services/services.ts | 5 ----- src/services/types.ts | 6 ------ 3 files changed, 1 insertion(+), 12 deletions(-) diff --git a/src/harness/harnessLanguageService.ts b/src/harness/harnessLanguageService.ts index 8d1322abfd7..022fe3c3ccd 100644 --- a/src/harness/harnessLanguageService.ts +++ b/src/harness/harnessLanguageService.ts @@ -794,7 +794,7 @@ namespace Harness.LanguageService { const proxy = makeDefaultProxy(info); proxy.getSemanticDiagnostics = filename => { const prev = info.languageService.getSemanticDiagnostics(filename); - const sourceFile: ts.SourceFile = info.languageService.getSourceFile(filename); + const sourceFile: ts.SourceFile = info.project.getSourceFile(ts.toPath(filename, /*basePath*/ undefined, ts.createGetCanonicalFileName(info.serverHost.useCaseSensitiveFileNames)))!; prev.push({ category: ts.DiagnosticCategory.Warning, file: sourceFile, diff --git a/src/services/services.ts b/src/services/services.ts index 7d5e4ec0a87..467fe902025 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1780,10 +1780,6 @@ namespace ts { return syntaxTreeCache.getCurrentSourceFile(fileName); } - function getSourceFile(fileName: string): SourceFile { - return getNonBoundSourceFile(fileName); - } - function getNameOrDottedNameSpan(fileName: string, startPos: number, _endPos: number): TextSpan | undefined { const sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); @@ -2291,7 +2287,6 @@ namespace ts { getEditsForFileRename, getEmitOutput, getNonBoundSourceFile, - getSourceFile, getProgram, getApplicableRefactors, getEditsForRefactor, diff --git a/src/services/types.ts b/src/services/types.ts index 4dcd59d22b5..1f170d7e9ef 100644 --- a/src/services/types.ts +++ b/src/services/types.ts @@ -350,12 +350,6 @@ namespace ts { /* @internal */ getNonBoundSourceFile(fileName: string): SourceFile; - /** - * @internal - * @deprecated Use ts.createSourceFile instead. - */ - getSourceFile(fileName: string): SourceFile; - dispose(): void; } From 95df51b7cfbb02df3222770358b56b006f00f02a Mon Sep 17 00:00:00 2001 From: Zen Date: Fri, 1 Jun 2018 23:16:03 +0800 Subject: [PATCH 22/76] remove redundant assertions in fourslash tests (#24561) --- tests/cases/fourslash/getOccurrencesAsyncAwait.ts | 5 ----- tests/cases/fourslash/getOccurrencesAsyncAwait2.ts | 5 ----- tests/cases/fourslash/getOccurrencesConstructor.ts | 5 ----- tests/cases/fourslash/getOccurrencesConstructor2.ts | 5 ----- tests/cases/fourslash/getOccurrencesIfElse.ts | 5 ----- tests/cases/fourslash/getOccurrencesLoopBreakContinue.ts | 6 ------ tests/cases/fourslash/getOccurrencesLoopBreakContinue2.ts | 6 ------ tests/cases/fourslash/getOccurrencesLoopBreakContinue3.ts | 5 ----- tests/cases/fourslash/getOccurrencesLoopBreakContinue4.ts | 6 ------ tests/cases/fourslash/getOccurrencesLoopBreakContinue5.ts | 6 ------ tests/cases/fourslash/getOccurrencesReturn.ts | 5 ----- tests/cases/fourslash/getOccurrencesReturn2.ts | 5 ----- tests/cases/fourslash/getOccurrencesSuper.ts | 5 ----- tests/cases/fourslash/getOccurrencesSuper2.ts | 5 ----- tests/cases/fourslash/getOccurrencesThis.ts | 5 ----- tests/cases/fourslash/getOccurrencesThis2.ts | 5 ----- tests/cases/fourslash/getOccurrencesThis3.ts | 5 ----- tests/cases/fourslash/getOccurrencesThis4.ts | 5 ----- tests/cases/fourslash/getOccurrencesThis5.ts | 5 ----- tests/cases/fourslash/getOccurrencesThrow.ts | 5 ----- tests/cases/fourslash/getOccurrencesThrow2.ts | 5 ----- tests/cases/fourslash/getOccurrencesThrow3.ts | 5 ----- tests/cases/fourslash/getOccurrencesThrow4.ts | 5 ----- tests/cases/fourslash/getOccurrencesThrow5.ts | 5 ----- tests/cases/fourslash/getOccurrencesYield.ts | 5 ----- 25 files changed, 129 deletions(-) diff --git a/tests/cases/fourslash/getOccurrencesAsyncAwait.ts b/tests/cases/fourslash/getOccurrencesAsyncAwait.ts index f337e755096..c41b2079749 100644 --- a/tests/cases/fourslash/getOccurrencesAsyncAwait.ts +++ b/tests/cases/fourslash/getOccurrencesAsyncAwait.ts @@ -20,8 +20,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesAsyncAwait2.ts b/tests/cases/fourslash/getOccurrencesAsyncAwait2.ts index 530f26bc18d..039cade46d0 100644 --- a/tests/cases/fourslash/getOccurrencesAsyncAwait2.ts +++ b/tests/cases/fourslash/getOccurrencesAsyncAwait2.ts @@ -9,8 +9,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesConstructor.ts b/tests/cases/fourslash/getOccurrencesConstructor.ts index 41d72c533a3..8eb05b6a91e 100644 --- a/tests/cases/fourslash/getOccurrencesConstructor.ts +++ b/tests/cases/fourslash/getOccurrencesConstructor.ts @@ -19,8 +19,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesConstructor2.ts b/tests/cases/fourslash/getOccurrencesConstructor2.ts index b34ffa4a190..3329a59e0a2 100644 --- a/tests/cases/fourslash/getOccurrencesConstructor2.ts +++ b/tests/cases/fourslash/getOccurrencesConstructor2.ts @@ -19,8 +19,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesIfElse.ts b/tests/cases/fourslash/getOccurrencesIfElse.ts index 9251a59d130..66622be4008 100644 --- a/tests/cases/fourslash/getOccurrencesIfElse.ts +++ b/tests/cases/fourslash/getOccurrencesIfElse.ts @@ -23,8 +23,3 @@ ////[|else|] { } verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesLoopBreakContinue.ts b/tests/cases/fourslash/getOccurrencesLoopBreakContinue.ts index 88621cd4cf4..eef8454f7ca 100644 --- a/tests/cases/fourslash/getOccurrencesLoopBreakContinue.ts +++ b/tests/cases/fourslash/getOccurrencesLoopBreakContinue.ts @@ -64,9 +64,3 @@ ////label7: while (true) continue label5; verify.rangesAreOccurrences(false); - -goTo.marker(); -verify.occurrencesAtPositionCount(test.ranges().length); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesLoopBreakContinue2.ts b/tests/cases/fourslash/getOccurrencesLoopBreakContinue2.ts index 225346f8077..1a546730e2b 100644 --- a/tests/cases/fourslash/getOccurrencesLoopBreakContinue2.ts +++ b/tests/cases/fourslash/getOccurrencesLoopBreakContinue2.ts @@ -64,9 +64,3 @@ ////label7: while (true) continue label5; verify.rangesAreOccurrences(false); - -goTo.marker(); -verify.occurrencesAtPositionCount(test.ranges().length); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesLoopBreakContinue3.ts b/tests/cases/fourslash/getOccurrencesLoopBreakContinue3.ts index c1aeef315f9..6cb54f708dc 100644 --- a/tests/cases/fourslash/getOccurrencesLoopBreakContinue3.ts +++ b/tests/cases/fourslash/getOccurrencesLoopBreakContinue3.ts @@ -64,8 +64,3 @@ ////label7: while (true) continue label5; verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesLoopBreakContinue4.ts b/tests/cases/fourslash/getOccurrencesLoopBreakContinue4.ts index b183b2b3fde..2c4ef310bad 100644 --- a/tests/cases/fourslash/getOccurrencesLoopBreakContinue4.ts +++ b/tests/cases/fourslash/getOccurrencesLoopBreakContinue4.ts @@ -64,9 +64,3 @@ ////label7: while (true) continue label5; verify.rangesAreOccurrences(false); - -goTo.marker(); -verify.occurrencesAtPositionCount(test.ranges().length); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesLoopBreakContinue5.ts b/tests/cases/fourslash/getOccurrencesLoopBreakContinue5.ts index 3353d6c96dc..9dc4c6b04c6 100644 --- a/tests/cases/fourslash/getOccurrencesLoopBreakContinue5.ts +++ b/tests/cases/fourslash/getOccurrencesLoopBreakContinue5.ts @@ -64,9 +64,3 @@ ////label7: while (true) continue label5; verify.rangesAreOccurrences(false); - -goTo.marker(); -verify.occurrencesAtPositionCount(test.ranges().length); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesReturn.ts b/tests/cases/fourslash/getOccurrencesReturn.ts index 44b3679ba2e..08467d88f9c 100644 --- a/tests/cases/fourslash/getOccurrencesReturn.ts +++ b/tests/cases/fourslash/getOccurrencesReturn.ts @@ -20,8 +20,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesReturn2.ts b/tests/cases/fourslash/getOccurrencesReturn2.ts index 750648838a2..81c5e3f8985 100644 --- a/tests/cases/fourslash/getOccurrencesReturn2.ts +++ b/tests/cases/fourslash/getOccurrencesReturn2.ts @@ -20,8 +20,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesSuper.ts b/tests/cases/fourslash/getOccurrencesSuper.ts index 6f5c51715f3..17089b61f22 100644 --- a/tests/cases/fourslash/getOccurrencesSuper.ts +++ b/tests/cases/fourslash/getOccurrencesSuper.ts @@ -51,8 +51,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} \ No newline at end of file diff --git a/tests/cases/fourslash/getOccurrencesSuper2.ts b/tests/cases/fourslash/getOccurrencesSuper2.ts index 2da702acbc6..310eac02aac 100644 --- a/tests/cases/fourslash/getOccurrencesSuper2.ts +++ b/tests/cases/fourslash/getOccurrencesSuper2.ts @@ -51,8 +51,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} \ No newline at end of file diff --git a/tests/cases/fourslash/getOccurrencesThis.ts b/tests/cases/fourslash/getOccurrencesThis.ts index 156fde2c4ac..bb60e7a1c64 100644 --- a/tests/cases/fourslash/getOccurrencesThis.ts +++ b/tests/cases/fourslash/getOccurrencesThis.ts @@ -141,8 +141,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesThis2.ts b/tests/cases/fourslash/getOccurrencesThis2.ts index 9a40eb39fb0..67dc0b82be1 100644 --- a/tests/cases/fourslash/getOccurrencesThis2.ts +++ b/tests/cases/fourslash/getOccurrencesThis2.ts @@ -141,8 +141,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesThis3.ts b/tests/cases/fourslash/getOccurrencesThis3.ts index 66c80241e4a..432bdaeb8c7 100644 --- a/tests/cases/fourslash/getOccurrencesThis3.ts +++ b/tests/cases/fourslash/getOccurrencesThis3.ts @@ -141,8 +141,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesThis4.ts b/tests/cases/fourslash/getOccurrencesThis4.ts index 42ddd7984a8..462c5269a0d 100644 --- a/tests/cases/fourslash/getOccurrencesThis4.ts +++ b/tests/cases/fourslash/getOccurrencesThis4.ts @@ -141,8 +141,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesThis5.ts b/tests/cases/fourslash/getOccurrencesThis5.ts index 845e8342fa5..ee9153c39b5 100644 --- a/tests/cases/fourslash/getOccurrencesThis5.ts +++ b/tests/cases/fourslash/getOccurrencesThis5.ts @@ -141,8 +141,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesThrow.ts b/tests/cases/fourslash/getOccurrencesThrow.ts index db80e3c51a0..5c955bb8772 100644 --- a/tests/cases/fourslash/getOccurrencesThrow.ts +++ b/tests/cases/fourslash/getOccurrencesThrow.ts @@ -43,8 +43,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesThrow2.ts b/tests/cases/fourslash/getOccurrencesThrow2.ts index 21425990e2f..4a629b7b2b4 100644 --- a/tests/cases/fourslash/getOccurrencesThrow2.ts +++ b/tests/cases/fourslash/getOccurrencesThrow2.ts @@ -43,8 +43,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesThrow3.ts b/tests/cases/fourslash/getOccurrencesThrow3.ts index d601123f7bd..5bef04c6abb 100644 --- a/tests/cases/fourslash/getOccurrencesThrow3.ts +++ b/tests/cases/fourslash/getOccurrencesThrow3.ts @@ -43,8 +43,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesThrow4.ts b/tests/cases/fourslash/getOccurrencesThrow4.ts index c348685b4ed..741a9d8cc06 100644 --- a/tests/cases/fourslash/getOccurrencesThrow4.ts +++ b/tests/cases/fourslash/getOccurrencesThrow4.ts @@ -43,8 +43,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesThrow5.ts b/tests/cases/fourslash/getOccurrencesThrow5.ts index b4b51b677bc..91011e5eb12 100644 --- a/tests/cases/fourslash/getOccurrencesThrow5.ts +++ b/tests/cases/fourslash/getOccurrencesThrow5.ts @@ -43,8 +43,3 @@ ////} verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} diff --git a/tests/cases/fourslash/getOccurrencesYield.ts b/tests/cases/fourslash/getOccurrencesYield.ts index 34a0b771ad3..001434c8bd0 100644 --- a/tests/cases/fourslash/getOccurrencesYield.ts +++ b/tests/cases/fourslash/getOccurrencesYield.ts @@ -15,8 +15,3 @@ verify.rangesAreOccurrences(false); - -goTo.marker(); -for (const range of test.ranges()) { - verify.occurrencesAtPositionContains(range, false); -} From d671c7ae9611dc49d4fadbd1c06652df967c81fc Mon Sep 17 00:00:00 2001 From: Andy Date: Fri, 1 Jun 2018 08:23:37 -0700 Subject: [PATCH 23/76] getEditsForFileRename: Support directory rename (#24305) * getEditsForFileRename: Support directory rename * Code review * Handle imports inside the new file/directory * Document path updaters * Shorten relative paths where possible * Reduce duplicate code * Rewrite, use moduleSpecifiers.ts to get module specifiers from scratch instead of updating relative paths * Update additional tsconfig.json fields * Add test with '.js' extension * Handle case-insensitive paths * Better tsconfig handling * Handle properties inside compilerOptions * Use getOptionFromName --- src/compiler/commandLineParser.ts | 3 +- src/compiler/core.ts | 33 ++- src/compiler/utilities.ts | 15 +- src/harness/fourslash.ts | 20 +- .../unittests/tsserverProjectSystem.ts | 14 +- src/server/session.ts | 2 +- src/services/codefixes/moduleSpecifiers.ts | 164 ++++++++----- src/services/getEditsForFileRename.ts | 231 +++++++++++++----- src/services/services.ts | 4 +- src/services/textChanges.ts | 2 +- src/services/types.ts | 2 +- .../reference/api/tsserverlibrary.d.ts | 2 +- tests/baselines/reference/api/typescript.d.ts | 2 +- .../cases/fourslash/getEditsForFileRename.ts | 7 +- .../fourslash/getEditsForFileRename_amd.ts | 18 ++ .../getEditsForFileRename_caseInsensitive.ts | 15 ++ .../getEditsForFileRename_directory.ts | 61 +++++ .../getEditsForFileRename_directory_down.ts | 66 +++++ ...ame_directory_noUpdateNodeModulesImport.ts | 13 + .../getEditsForFileRename_directory_up.ts | 66 +++++ .../getEditsForFileRename_jsExtension.ts | 18 ++ ...tEditsForFileRename_oldFileStillPresent.ts | 4 +- .../getEditsForFileRename_renameFromIndex.ts | 43 ++++ .../getEditsForFileRename_renameToIndex.ts | 37 +++ ...EditsForFileRename_shortenRelativePaths.ts | 16 ++ .../fourslash/getEditsForFileRename_subDir.ts | 16 ++ .../getEditsForFileRename_tsconfig.ts | 41 ++++ ...EditsForFileRename_tsconfig_include_add.ts | 17 ++ ...ForFileRename_tsconfig_include_noChange.ts | 12 + 29 files changed, 789 insertions(+), 155 deletions(-) create mode 100644 tests/cases/fourslash/getEditsForFileRename_amd.ts create mode 100644 tests/cases/fourslash/getEditsForFileRename_caseInsensitive.ts create mode 100644 tests/cases/fourslash/getEditsForFileRename_directory.ts create mode 100644 tests/cases/fourslash/getEditsForFileRename_directory_down.ts create mode 100644 tests/cases/fourslash/getEditsForFileRename_directory_noUpdateNodeModulesImport.ts create mode 100644 tests/cases/fourslash/getEditsForFileRename_directory_up.ts create mode 100644 tests/cases/fourslash/getEditsForFileRename_jsExtension.ts create mode 100644 tests/cases/fourslash/getEditsForFileRename_renameFromIndex.ts create mode 100644 tests/cases/fourslash/getEditsForFileRename_renameToIndex.ts create mode 100644 tests/cases/fourslash/getEditsForFileRename_shortenRelativePaths.ts create mode 100644 tests/cases/fourslash/getEditsForFileRename_subDir.ts create mode 100644 tests/cases/fourslash/getEditsForFileRename_tsconfig.ts create mode 100644 tests/cases/fourslash/getEditsForFileRename_tsconfig_include_add.ts create mode 100644 tests/cases/fourslash/getEditsForFileRename_tsconfig_include_noChange.ts diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 08152017942..1a6de4149ad 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -930,7 +930,8 @@ namespace ts { } } - function getOptionFromName(optionName: string, allowShort = false): CommandLineOption | undefined { + /** @internal */ + export function getOptionFromName(optionName: string, allowShort = false): CommandLineOption | undefined { optionName = optionName.toLowerCase(); const { optionNameMap, shortOptionNames } = getOptionNameMap(); // Try to translate short option names to their full equivalents. diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 01ca0bea4c7..7710e8c2d75 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -2592,6 +2592,22 @@ namespace ts { return startsWith(str, prefix) ? str.substr(prefix.length) : str; } + export function tryRemovePrefix(str: string, prefix: string): string | undefined { + return startsWith(str, prefix) ? str.substring(prefix.length) : undefined; + } + + export function tryRemoveDirectoryPrefix(path: string, dirPath: string): string | undefined { + const a = tryRemovePrefix(path, dirPath); + if (a === undefined) return undefined; + switch (a.charCodeAt(0)) { + case CharacterCodes.slash: + case CharacterCodes.backslash: + return a.slice(1); + default: + return undefined; + } + } + export function endsWith(str: string, suffix: string): boolean { const expectedPos = str.length - suffix.length; return expectedPos >= 0 && str.indexOf(suffix, expectedPos) === expectedPos; @@ -2601,6 +2617,10 @@ namespace ts { return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : str; } + export function tryRemoveSuffix(str: string, suffix: string): string | undefined { + return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : undefined; + } + export function stringContains(str: string, substring: string): boolean { return str.indexOf(substring) !== -1; } @@ -2801,6 +2821,7 @@ namespace ts { basePaths: ReadonlyArray; } + /** @param path directory of the tsconfig.json */ export function getFileMatcherPatterns(path: string, excludes: ReadonlyArray | undefined, includes: ReadonlyArray | undefined, useCaseSensitiveFileNames: boolean, currentDirectory: string): FileMatcherPatterns { path = normalizePath(path); currentDirectory = normalizePath(currentDirectory); @@ -2815,16 +2836,20 @@ namespace ts { }; } + export function getRegexFromPattern(pattern: string, useCaseSensitiveFileNames: boolean): RegExp { + return new RegExp(pattern, useCaseSensitiveFileNames ? "" : "i"); + } + + /** @param path directory of the tsconfig.json */ export function matchFiles(path: string, extensions: ReadonlyArray | undefined, excludes: ReadonlyArray | undefined, includes: ReadonlyArray | undefined, useCaseSensitiveFileNames: boolean, currentDirectory: string, depth: number | undefined, getFileSystemEntries: (path: string) => FileSystemEntries): string[] { path = normalizePath(path); currentDirectory = normalizePath(currentDirectory); const patterns = getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory); - const regexFlag = useCaseSensitiveFileNames ? "" : "i"; - const includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(pattern => new RegExp(pattern, regexFlag)); - const includeDirectoryRegex = patterns.includeDirectoryPattern && new RegExp(patterns.includeDirectoryPattern, regexFlag); - const excludeRegex = patterns.excludePattern && new RegExp(patterns.excludePattern, regexFlag); + const includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(pattern => getRegexFromPattern(pattern, useCaseSensitiveFileNames)); + const includeDirectoryRegex = patterns.includeDirectoryPattern && getRegexFromPattern(patterns.includeDirectoryPattern, useCaseSensitiveFileNames); + const excludeRegex = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, useCaseSensitiveFileNames); // Associate an array of results with each include regex. This keeps results in order of the "include" order. // If there are no "includes", then just put everything in results[0]. diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 8b4e12dc222..ff9c4d52c21 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -1088,7 +1088,7 @@ namespace ts { } export function getPropertyAssignment(objectLiteral: ObjectLiteralExpression, key: string, key2?: string): ReadonlyArray { - return filter(objectLiteral.properties, (property): property is PropertyAssignment => { + return objectLiteral.properties.filter((property): property is PropertyAssignment => { if (property.kind === SyntaxKind.PropertyAssignment) { const propName = getTextOfPropertyName(property.name); return key === propName || (!!key2 && key2 === propName); @@ -1105,12 +1105,15 @@ namespace ts { } export function getTsConfigPropArrayElementValue(tsConfigSourceFile: TsConfigSourceFile | undefined, propKey: string, elementValue: string): StringLiteral | undefined { + return firstDefined(getTsConfigPropArray(tsConfigSourceFile, propKey), property => + isArrayLiteralExpression(property.initializer) ? + find(property.initializer.elements, (element): element is StringLiteral => isStringLiteral(element) && element.text === elementValue) : + undefined); + } + + export function getTsConfigPropArray(tsConfigSourceFile: TsConfigSourceFile | undefined, propKey: string): ReadonlyArray { const jsonObjectLiteral = getTsConfigObjectLiteralExpression(tsConfigSourceFile); - return jsonObjectLiteral && - firstDefined(getPropertyAssignment(jsonObjectLiteral, propKey), property => - isArrayLiteralExpression(property.initializer) ? - find(property.initializer.elements, (element): element is StringLiteral => isStringLiteral(element) && element.text === elementValue) : - undefined); + return jsonObjectLiteral ? getPropertyAssignment(jsonObjectLiteral, propKey) : emptyArray; } export function getContainingFunction(node: Node): SignatureDeclaration | undefined { diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts index f6214d4c719..fc8852107f4 100644 --- a/src/harness/fourslash.ts +++ b/src/harness/fourslash.ts @@ -3131,8 +3131,12 @@ Actual: ${stringify(fullActual)}`); assert(action.name === "Move to a new file" && action.description === "Move to a new file"); const editInfo = this.languageService.getEditsForRefactor(this.activeFile.fileName, this.formatCodeSettings, range, refactor.name, action.name, options.preferences || ts.defaultPreferences)!; - for (const edit of editInfo.edits) { - const newContent = options.newFileContents[edit.fileName]; + this.testNewFileContents(editInfo.edits, options.newFileContents); + } + + private testNewFileContents(edits: ReadonlyArray, newFileContents: { [fileName: string]: string }): void { + for (const edit of edits) { + const newContent = newFileContents[edit.fileName]; if (newContent === undefined) { this.raiseError(`There was an edit in ${edit.fileName} but new content was not specified.`); } @@ -3149,8 +3153,8 @@ Actual: ${stringify(fullActual)}`); } } - for (const fileName in options.newFileContents) { - assert(editInfo.edits.some(e => e.fileName === fileName)); + for (const fileName in newFileContents) { + assert(edits.some(e => e.fileName === fileName)); } } @@ -3360,12 +3364,8 @@ Actual: ${stringify(fullActual)}`); } public getEditsForFileRename(options: FourSlashInterface.GetEditsForFileRenameOptions): void { - const changes = this.languageService.getEditsForFileRename(options.oldPath, options.newPath, this.formatCodeSettings); - this.applyChanges(changes); - for (const fileName in options.newFileContents) { - this.openFile(fileName); - this.verifyCurrentFileContent(options.newFileContents[fileName]); - } + const changes = this.languageService.getEditsForFileRename(options.oldPath, options.newPath, this.formatCodeSettings, ts.defaultPreferences); + this.testNewFileContents(changes, options.newFileContents); } private getApplicableRefactors(positionOrRange: number | ts.TextRange, preferences = ts.defaultPreferences): ReadonlyArray { diff --git a/src/harness/unittests/tsserverProjectSystem.ts b/src/harness/unittests/tsserverProjectSystem.ts index 4518a740a85..aa1f4143fc8 100644 --- a/src/harness/unittests/tsserverProjectSystem.ts +++ b/src/harness/unittests/tsserverProjectSystem.ts @@ -8400,15 +8400,23 @@ new C();` path: "/user.ts", content: 'import { x } from "./old";', }; + const newTs: File = { + path: "/new.ts", + content: "export const x = 0;", + }; + const tsconfig: File = { + path: "/tsconfig.json", + content: "{}", + }; - const host = createServerHost([userTs]); + const host = createServerHost([userTs, newTs, tsconfig]); const projectService = createProjectService(host); projectService.openClientFile(userTs.path); - const project = first(projectService.inferredProjects); + const project = projectService.configuredProjects.get(tsconfig.path)!; Debug.assert(!!project.resolveModuleNames); - const edits = project.getLanguageService().getEditsForFileRename("/old.ts", "/new.ts", testFormatOptions); + const edits = project.getLanguageService().getEditsForFileRename("/old.ts", "/new.ts", testFormatOptions, defaultPreferences); assert.deepEqual>(edits, [{ fileName: "/user.ts", textChanges: [{ diff --git a/src/server/session.ts b/src/server/session.ts index 191982a7cd4..f56b396814b 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -1692,7 +1692,7 @@ namespace ts.server { private getEditsForFileRename(args: protocol.GetEditsForFileRenameRequestArgs, simplifiedResult: boolean): ReadonlyArray | ReadonlyArray { const { file, project } = this.getFileAndProject(args); - const changes = project.getLanguageService().getEditsForFileRename(args.oldFilePath, args.newFilePath, this.getFormatOptions(file)); + const changes = project.getLanguageService().getEditsForFileRename(args.oldFilePath, args.newFilePath, this.getFormatOptions(file), this.getPreferences(file)); return simplifiedResult ? this.mapTextChangesToCodeEdits(project, changes) : changes; } diff --git a/src/services/codefixes/moduleSpecifiers.ts b/src/services/codefixes/moduleSpecifiers.ts index 5a08f7d3dea..be92b917273 100644 --- a/src/services/codefixes/moduleSpecifiers.ts +++ b/src/services/codefixes/moduleSpecifiers.ts @@ -1,6 +1,14 @@ // Used by importFixes to synthesize import module specifiers. /* @internal */ namespace ts.moduleSpecifiers { + // Note: fromSourceFile is just for usesJsExtensionOnImports + export function getModuleSpecifier(program: Program, fromSourceFile: SourceFile, fromSourceFileName: string, toFileName: string, host: LanguageServiceHost, preferences: UserPreferences) { + const info = getInfo(program.getCompilerOptions(), fromSourceFile, fromSourceFileName, host); + const compilerOptions = program.getCompilerOptions(); + return getGlobalModuleSpecifier(toFileName, info, host, compilerOptions) || + first(getLocalModuleSpecifiers(toFileName, info, compilerOptions, preferences)); + } + // For each symlink/original for a module, returns a list of ways to import that file. export function getModuleSpecifiers( moduleSymbol: Symbol, @@ -9,84 +17,110 @@ namespace ts.moduleSpecifiers { host: LanguageServiceHost, preferences: UserPreferences, ): ReadonlyArray> { - const compilerOptions = program.getCompilerOptions(); - const { baseUrl, paths, rootDirs } = compilerOptions; - const moduleResolutionKind = getEmitModuleResolutionKind(compilerOptions); - const addJsExtension = usesJsExtensionOnImports(importingSourceFile); - const getCanonicalFileName = hostGetCanonicalFileName(host); - const sourceDirectory = getDirectoryPath(importingSourceFile.fileName); - const ambient = tryGetModuleNameFromAmbientModule(moduleSymbol); if (ambient) return [[ambient]]; + const compilerOptions = program.getCompilerOptions(); + const info = getInfo(compilerOptions, importingSourceFile, importingSourceFile.fileName, host); const modulePaths = getAllModulePaths(program, moduleSymbol.valueDeclaration.getSourceFile()); - const global = mapDefined(modulePaths, moduleFileName => - tryGetModuleNameFromTypeRoots(compilerOptions, host, getCanonicalFileName, moduleFileName, addJsExtension) || - tryGetModuleNameAsNodeModule(compilerOptions, moduleFileName, host, getCanonicalFileName, sourceDirectory) || - rootDirs && tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName)); - if (global.length) return global.map(g => [g]); + const global = mapDefined(modulePaths, moduleFileName => getGlobalModuleSpecifier(moduleFileName, info, host, compilerOptions)); + return global.length ? global.map(g => [g]) : modulePaths.map(moduleFileName => + getLocalModuleSpecifiers(moduleFileName, info, compilerOptions, preferences)); + } - return modulePaths.map(moduleFileName => { - const relativePath = removeExtensionAndIndexPostFix(ensurePathIsNonModuleName(getRelativePathFromDirectory(sourceDirectory, moduleFileName, getCanonicalFileName)), moduleResolutionKind, addJsExtension); - if (!baseUrl || preferences.importModuleSpecifierPreference === "relative") { - return [relativePath]; + interface Info { + readonly moduleResolutionKind: ModuleResolutionKind; + readonly addJsExtension: boolean; + readonly getCanonicalFileName: GetCanonicalFileName; + readonly sourceDirectory: string; + } + // importingSourceFileName is separate because getEditsForFileRename may need to specify an updated path + function getInfo(compilerOptions: CompilerOptions, importingSourceFile: SourceFile, importingSourceFileName: string, host: LanguageServiceHost): Info { + const moduleResolutionKind = getEmitModuleResolutionKind(compilerOptions); + const addJsExtension = usesJsExtensionOnImports(importingSourceFile); + const getCanonicalFileName = hostGetCanonicalFileName(host); + const sourceDirectory = getDirectoryPath(importingSourceFileName); + return { moduleResolutionKind, addJsExtension, getCanonicalFileName, sourceDirectory }; + } + + function getGlobalModuleSpecifier( + moduleFileName: string, + { addJsExtension, getCanonicalFileName, sourceDirectory }: Info, + host: LanguageServiceHost, + compilerOptions: CompilerOptions, + ) { + return tryGetModuleNameFromTypeRoots(compilerOptions, host, getCanonicalFileName, moduleFileName, addJsExtension) + || tryGetModuleNameAsNodeModule(compilerOptions, moduleFileName, host, getCanonicalFileName, sourceDirectory) + || compilerOptions.rootDirs && tryGetModuleNameFromRootDirs(compilerOptions.rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName); + } + + function getLocalModuleSpecifiers( + moduleFileName: string, + { moduleResolutionKind, addJsExtension, getCanonicalFileName, sourceDirectory }: Info, + compilerOptions: CompilerOptions, + preferences: UserPreferences, + ) { + const { baseUrl, paths } = compilerOptions; + + const relativePath = removeExtensionAndIndexPostFix(ensurePathIsNonModuleName(getRelativePathFromDirectory(sourceDirectory, moduleFileName, getCanonicalFileName)), moduleResolutionKind, addJsExtension); + if (!baseUrl || preferences.importModuleSpecifierPreference === "relative") { + return [relativePath]; + } + + const relativeToBaseUrl = getRelativePathIfInDirectory(moduleFileName, baseUrl, getCanonicalFileName); + if (!relativeToBaseUrl) { + return [relativePath]; + } + + const importRelativeToBaseUrl = removeExtensionAndIndexPostFix(relativeToBaseUrl, moduleResolutionKind, addJsExtension); + if (paths) { + const fromPaths = tryGetModuleNameFromPaths(removeFileExtension(relativeToBaseUrl), importRelativeToBaseUrl, paths); + if (fromPaths) { + return [fromPaths]; } + } - const relativeToBaseUrl = getRelativePathIfInDirectory(moduleFileName, baseUrl, getCanonicalFileName); - if (!relativeToBaseUrl) { - return [relativePath]; - } + if (preferences.importModuleSpecifierPreference === "non-relative") { + return [importRelativeToBaseUrl]; + } - const importRelativeToBaseUrl = removeExtensionAndIndexPostFix(relativeToBaseUrl, moduleResolutionKind, addJsExtension); - if (paths) { - const fromPaths = tryGetModuleNameFromPaths(removeFileExtension(relativeToBaseUrl), importRelativeToBaseUrl, paths); - if (fromPaths) { - return [fromPaths]; - } - } + if (preferences.importModuleSpecifierPreference !== undefined) Debug.assertNever(preferences.importModuleSpecifierPreference); - if (preferences.importModuleSpecifierPreference === "non-relative") { - return [importRelativeToBaseUrl]; - } + if (isPathRelativeToParent(relativeToBaseUrl)) { + return [relativePath]; + } - if (preferences.importModuleSpecifierPreference !== undefined) Debug.assertNever(preferences.importModuleSpecifierPreference); + /* + Prefer a relative import over a baseUrl import if it doesn't traverse up to baseUrl. - if (isPathRelativeToParent(relativeToBaseUrl)) { - return [relativePath]; - } + Suppose we have: + baseUrl = /base + sourceDirectory = /base/a/b + moduleFileName = /base/foo/bar + Then: + relativePath = ../../foo/bar + getRelativePathNParents(relativePath) = 2 + pathFromSourceToBaseUrl = ../../ + getRelativePathNParents(pathFromSourceToBaseUrl) = 2 + 2 < 2 = false + In this case we should prefer using the baseUrl path "/a/b" instead of the relative path "../../foo/bar". - /* - Prefer a relative import over a baseUrl import if it doesn't traverse up to baseUrl. - - Suppose we have: - baseUrl = /base - sourceDirectory = /base/a/b - moduleFileName = /base/foo/bar - Then: - relativePath = ../../foo/bar - getRelativePathNParents(relativePath) = 2 - pathFromSourceToBaseUrl = ../../ - getRelativePathNParents(pathFromSourceToBaseUrl) = 2 - 2 < 2 = false - In this case we should prefer using the baseUrl path "/a/b" instead of the relative path "../../foo/bar". - - Suppose we have: - baseUrl = /base - sourceDirectory = /base/foo/a - moduleFileName = /base/foo/bar - Then: - relativePath = ../a - getRelativePathNParents(relativePath) = 1 - pathFromSourceToBaseUrl = ../../ - getRelativePathNParents(pathFromSourceToBaseUrl) = 2 - 1 < 2 = true - In this case we should prefer using the relative path "../a" instead of the baseUrl path "foo/a". - */ - const pathFromSourceToBaseUrl = ensurePathIsNonModuleName(getRelativePathFromDirectory(sourceDirectory, baseUrl, getCanonicalFileName)); - const relativeFirst = getRelativePathNParents(relativePath) < getRelativePathNParents(pathFromSourceToBaseUrl); - return relativeFirst ? [relativePath, importRelativeToBaseUrl] : [importRelativeToBaseUrl, relativePath]; - }); + Suppose we have: + baseUrl = /base + sourceDirectory = /base/foo/a + moduleFileName = /base/foo/bar + Then: + relativePath = ../a + getRelativePathNParents(relativePath) = 1 + pathFromSourceToBaseUrl = ../../ + getRelativePathNParents(pathFromSourceToBaseUrl) = 2 + 1 < 2 = true + In this case we should prefer using the relative path "../a" instead of the baseUrl path "foo/a". + */ + const pathFromSourceToBaseUrl = ensurePathIsNonModuleName(getRelativePathFromDirectory(sourceDirectory, baseUrl, getCanonicalFileName)); + const relativeFirst = getRelativePathNParents(relativePath) < getRelativePathNParents(pathFromSourceToBaseUrl); + return relativeFirst ? [relativePath, importRelativeToBaseUrl] : [importRelativeToBaseUrl, relativePath]; } function usesJsExtensionOnImports({ imports }: SourceFile): boolean { diff --git a/src/services/getEditsForFileRename.ts b/src/services/getEditsForFileRename.ts index 1726f5e0681..4bac4a2516d 100644 --- a/src/services/getEditsForFileRename.ts +++ b/src/services/getEditsForFileRename.ts @@ -1,68 +1,189 @@ /* @internal */ namespace ts { - export function getEditsForFileRename(program: Program, oldFilePath: string, newFilePath: string, host: LanguageServiceHost, formatContext: formatting.FormatContext): ReadonlyArray { - const pathUpdater = getPathUpdater(oldFilePath, newFilePath, host); + export function getEditsForFileRename(program: Program, oldFileOrDirPath: string, newFileOrDirPath: string, host: LanguageServiceHost, formatContext: formatting.FormatContext, preferences: UserPreferences): ReadonlyArray { + const useCaseSensitiveFileNames = hostUsesCaseSensitiveFileNames(host); + const getCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames); + const oldToNew = getPathUpdater(oldFileOrDirPath, newFileOrDirPath, getCanonicalFileName); + const newToOld = getPathUpdater(newFileOrDirPath, oldFileOrDirPath, getCanonicalFileName); return textChanges.ChangeTracker.with({ host, formatContext }, changeTracker => { - updateTsconfigFiles(program, changeTracker, oldFilePath, newFilePath); - for (const { sourceFile, toUpdate } of getImportsToUpdate(program, oldFilePath, host)) { - const newPath = pathUpdater(isRef(toUpdate) ? toUpdate.fileName : toUpdate.text); - if (newPath !== undefined) { - const range = isRef(toUpdate) ? toUpdate : createStringRange(toUpdate, sourceFile); - changeTracker.replaceRangeWithText(sourceFile, range, isRef(toUpdate) ? newPath : removeFileExtension(newPath)); - } - } + updateTsconfigFiles(program, changeTracker, oldToNew, newFileOrDirPath, host.getCurrentDirectory(), useCaseSensitiveFileNames); + updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName, preferences); }); } - function updateTsconfigFiles(program: Program, changeTracker: textChanges.ChangeTracker, oldFilePath: string, newFilePath: string): void { - const configFile = program.getCompilerOptions().configFile; - if (!configFile) return; - const oldFile = getTsConfigPropArrayElementValue(configFile, "files", oldFilePath); - if (oldFile) { - changeTracker.replaceRangeWithText(configFile, createStringRange(oldFile, configFile), newFilePath); - } - } - - interface ToUpdate { - readonly sourceFile: SourceFile; - readonly toUpdate: StringLiteralLike | FileReference; - } - function isRef(toUpdate: StringLiteralLike | FileReference): toUpdate is FileReference { - return "fileName" in toUpdate; - } - - function getImportsToUpdate(program: Program, oldFilePath: string, host: LanguageServiceHost): ReadonlyArray { - const result: ToUpdate[] = []; - for (const sourceFile of program.getSourceFiles()) { - for (const ref of sourceFile.referencedFiles) { - if (resolveTripleslashReference(ref.fileName, sourceFile.fileName) === oldFilePath) { - result.push({ sourceFile, toUpdate: ref }); - } - } - - for (const importStringLiteral of sourceFile.imports) { - const resolved = host.resolveModuleNames - ? host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importStringLiteral.text, sourceFile.fileName) - : program.getResolvedModuleWithFailedLookupLocationsFromCache(importStringLiteral.text, sourceFile.fileName); - // We may or may not have picked up on the file being renamed, so maybe successfully resolved to oldFilePath, or maybe that's in failedLookupLocations - if (resolved && contains(resolved.resolvedModule ? [resolved.resolvedModule.resolvedFileName] : resolved.failedLookupLocations, oldFilePath)) { - result.push({ sourceFile, toUpdate: importStringLiteral }); - } - } - } - return result; - } - - function getPathUpdater(oldFilePath: string, newFilePath: string, host: LanguageServiceHost): (oldPath: string) => string | undefined { - // Get the relative path from old to new location, and append it on to the end of imports and normalize. - const rel = getRelativePathFromFile(oldFilePath, newFilePath, createGetCanonicalFileName(hostUsesCaseSensitiveFileNames(host))); - return oldPath => { - if (!pathIsRelative(oldPath)) return; - return ensurePathIsNonModuleName(normalizePath(combinePaths(getDirectoryPath(oldPath), rel))); + /** If 'path' refers to an old directory, returns path in the new directory. */ + type PathUpdater = (path: string) => string | undefined; + function getPathUpdater(oldFileOrDirPath: string, newFileOrDirPath: string, getCanonicalFileName: GetCanonicalFileName): PathUpdater { + const canonicalOldPath = getCanonicalFileName(oldFileOrDirPath); + return path => { + const canonicalPath = getCanonicalFileName(path); + if (canonicalPath === canonicalOldPath) return newFileOrDirPath; + const suffix = tryRemoveDirectoryPrefix(canonicalPath, canonicalOldPath); + return suffix === undefined ? undefined : newFileOrDirPath + "/" + suffix; }; } + function updateTsconfigFiles(program: Program, changeTracker: textChanges.ChangeTracker, oldToNew: PathUpdater, newFileOrDirPath: string, currentDirectory: string, useCaseSensitiveFileNames: boolean): void { + const { configFile } = program.getCompilerOptions(); + if (!configFile) return; + const configDir = getDirectoryPath(configFile.fileName); + + const jsonObjectLiteral = getTsConfigObjectLiteralExpression(configFile); + if (!jsonObjectLiteral) return; + + forEachProperty(jsonObjectLiteral, (property, propertyName) => { + switch (propertyName) { + case "files": + case "include": + case "exclude": { + const foundExactMatch = updatePaths(property); + if (!foundExactMatch && propertyName === "include" && isArrayLiteralExpression(property.initializer)) { + const includes = mapDefined(property.initializer.elements, e => isStringLiteral(e) ? e.text : undefined); + const matchers = getFileMatcherPatterns(configDir, /*excludes*/ [], includes, useCaseSensitiveFileNames, currentDirectory); + // If there isn't some include for this, add a new one. + if (!getRegexFromPattern(Debug.assertDefined(matchers.includeFilePattern), useCaseSensitiveFileNames).test(newFileOrDirPath)) { + changeTracker.insertNodeAfter(configFile, last(property.initializer.elements), createStringLiteral(relativePath(newFileOrDirPath))); + } + } + break; + } + case "compilerOptions": + forEachProperty(property.initializer, (property, propertyName) => { + const option = getOptionFromName(propertyName); + if (option && (option.isFilePath || option.type === "list" && (option as CommandLineOptionOfListType).element.isFilePath)) { + updatePaths(property); + } + else if (propertyName === "paths") { + forEachProperty(property.initializer, (pathsProperty) => { + if (!isArrayLiteralExpression(pathsProperty.initializer)) return; + for (const e of pathsProperty.initializer.elements) { + tryUpdateString(e); + } + }); + } + }); + break; + } + }); + + function updatePaths(property: PropertyAssignment): boolean { + // Type annotation needed due to #7294 + const elements: ReadonlyArray = isArrayLiteralExpression(property.initializer) ? property.initializer.elements : [property.initializer]; + let foundExactMatch = false; + for (const element of elements) { + foundExactMatch = tryUpdateString(element) || foundExactMatch; + } + return foundExactMatch; + } + + function tryUpdateString(element: Expression): boolean { + if (!isStringLiteral(element)) return false; + const elementFileName = combinePathsSafe(configDir, element.text); + + const updated = oldToNew(elementFileName); + if (updated !== undefined) { + changeTracker.replaceRangeWithText(configFile!, createStringRange(element, configFile!), relativePath(updated)); + return true; + } + return false; + } + + function relativePath(path: string): string { + return getRelativePathFromDirectory(configDir, path, /*ignoreCase*/ !useCaseSensitiveFileNames); + } + } + + function updateImports( + program: Program, + changeTracker: textChanges.ChangeTracker, + oldToNew: PathUpdater, + newToOld: PathUpdater, + host: LanguageServiceHost, + getCanonicalFileName: GetCanonicalFileName, + preferences: UserPreferences, + ): void { + for (const sourceFile of program.getSourceFiles()) { + const newImportFromPath = oldToNew(sourceFile.fileName) || sourceFile.fileName; + const newImportFromDirectory = getDirectoryPath(newImportFromPath); + + const oldFromNew: string | undefined = newToOld(sourceFile.fileName); + const oldImportFromPath: string = oldFromNew || sourceFile.fileName; + const oldImportFromDirectory = getDirectoryPath(oldImportFromPath); + + updateImportsWorker(sourceFile, changeTracker, + referenceText => { + if (!pathIsRelative(referenceText)) return undefined; + const oldAbsolute = combinePathsSafe(oldImportFromDirectory, referenceText); + const newAbsolute = oldToNew(oldAbsolute); + return newAbsolute === undefined ? undefined : ensurePathIsNonModuleName(getRelativePathFromDirectory(newImportFromDirectory, newAbsolute, getCanonicalFileName)); + }, + importLiteral => { + const toImport = oldFromNew !== undefined + // If we're at the new location (file was already renamed), need to redo module resolution starting from the old location. + // TODO:GH#18217 + ? getSourceFileToImportFromResolved(resolveModuleName(importLiteral.text, oldImportFromPath, program.getCompilerOptions(), host as ModuleResolutionHost), oldToNew, program) + : getSourceFileToImport(importLiteral, sourceFile, program, host, oldToNew); + return toImport === undefined ? undefined : moduleSpecifiers.getModuleSpecifier(program, sourceFile, newImportFromPath, toImport, host, preferences); + }); + } + } + + function combineNormal(pathA: string, pathB: string): string { + return normalizePath(combinePaths(pathA, pathB)); + } + function combinePathsSafe(pathA: string, pathB: string): string { + return ensurePathIsNonModuleName(combineNormal(pathA, pathB)); + } + + function getSourceFileToImport(importLiteral: StringLiteralLike, importingSourceFile: SourceFile, program: Program, host: LanguageServiceHost, oldToNew: PathUpdater): string | undefined { + const symbol = program.getTypeChecker().getSymbolAtLocation(importLiteral); + if (symbol) { + if (symbol.declarations.some(d => isAmbientModule(d))) return undefined; // No need to update if it's an ambient module + const oldFileName = find(symbol.declarations, isSourceFile)!.fileName; + return oldToNew(oldFileName) || oldFileName; + } + else { + const resolved = host.resolveModuleNames + ? host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName) + : program.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName); + return getSourceFileToImportFromResolved(resolved, oldToNew, program); + } + } + + function getSourceFileToImportFromResolved(resolved: ResolvedModuleWithFailedLookupLocations | undefined, oldToNew: PathUpdater, program: Program): string | undefined { + return resolved && ( + (resolved.resolvedModule && getIfInProgram(resolved.resolvedModule.resolvedFileName)) || firstDefined(resolved.failedLookupLocations, getIfInProgram)); + + function getIfInProgram(oldLocation: string): string | undefined { + const newLocation = oldToNew(oldLocation); + return program.getSourceFile(oldLocation) || newLocation !== undefined && program.getSourceFile(newLocation) + ? newLocation || oldLocation + : undefined; + } + } + + function updateImportsWorker(sourceFile: SourceFile, changeTracker: textChanges.ChangeTracker, updateRef: (refText: string) => string | undefined, updateImport: (importLiteral: StringLiteralLike) => string | undefined) { + for (const ref of sourceFile.referencedFiles) { + const updated = updateRef(ref.fileName); + if (updated !== undefined && updated !== sourceFile.text.slice(ref.pos, ref.end)) changeTracker.replaceRangeWithText(sourceFile, ref, updated); + } + + for (const importStringLiteral of sourceFile.imports) { + const updated = updateImport(importStringLiteral); + if (updated !== undefined && updated !== importStringLiteral.text) changeTracker.replaceRangeWithText(sourceFile, createStringRange(importStringLiteral, sourceFile), updated); + } + } + function createStringRange(node: StringLiteralLike, sourceFile: SourceFileLike): TextRange { return createTextRange(node.getStart(sourceFile) + 1, node.end - 1); } + + function forEachProperty(objectLiteral: Expression, cb: (property: PropertyAssignment, propertyName: string) => void) { + if (!isObjectLiteralExpression(objectLiteral)) return; + for (const property of objectLiteral.properties) { + if (isPropertyAssignment(property) && isStringLiteral(property.name)) { + cb(property, property.name.text); + } + } + } } diff --git a/src/services/services.ts b/src/services/services.ts index 467fe902025..ab86025d839 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1981,8 +1981,8 @@ namespace ts { return OrganizeImports.organizeImports(sourceFile, formatContext, host, program, preferences); } - function getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings): ReadonlyArray { - return ts.getEditsForFileRename(getProgram()!, oldFilePath, newFilePath, host, formatting.getFormatContext(formatOptions)); + function getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences = defaultPreferences): ReadonlyArray { + return ts.getEditsForFileRename(getProgram()!, oldFilePath, newFilePath, host, formatting.getFormatContext(formatOptions), preferences); } function applyCodeActionCommand(action: CodeActionCommand): Promise; diff --git a/src/services/textChanges.ts b/src/services/textChanges.ts index 528ec8268b2..02c29b0568d 100644 --- a/src/services/textChanges.ts +++ b/src/services/textChanges.ts @@ -496,7 +496,7 @@ namespace ts.textChanges { else if (isStatement(node) || isClassOrTypeElement(node)) { return { suffix: this.newLineCharacter }; } - else if (isVariableDeclaration(node)) { + else if (isVariableDeclaration(node) || isStringLiteral(node)) { return { prefix: ", " }; } else if (isPropertyAssignment(node)) { diff --git a/src/services/types.ts b/src/services/types.ts index 1f170d7e9ef..75dc45c3552 100644 --- a/src/services/types.ts +++ b/src/services/types.ts @@ -342,7 +342,7 @@ namespace ts { getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined): ApplicableRefactorInfo[]; getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined): RefactorEditInfo | undefined; organizeImports(scope: OrganizeImportsScope, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; - getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings): ReadonlyArray; + getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean): EmitOutput; diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index a6657b4d341..8f065e362d2 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -4572,7 +4572,7 @@ declare namespace ts { getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined): ApplicableRefactorInfo[]; getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined): RefactorEditInfo | undefined; organizeImports(scope: OrganizeImportsScope, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; - getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings): ReadonlyArray; + getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean): EmitOutput; getProgram(): Program | undefined; dispose(): void; diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index d71bb5117ba..86c001cdec4 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -4572,7 +4572,7 @@ declare namespace ts { getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined): ApplicableRefactorInfo[]; getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined): RefactorEditInfo | undefined; organizeImports(scope: OrganizeImportsScope, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; - getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings): ReadonlyArray; + getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean): EmitOutput; getProgram(): Program | undefined; dispose(): void; diff --git a/tests/cases/fourslash/getEditsForFileRename.ts b/tests/cases/fourslash/getEditsForFileRename.ts index 8e53883b37e..03aab260978 100644 --- a/tests/cases/fourslash/getEditsForFileRename.ts +++ b/tests/cases/fourslash/getEditsForFileRename.ts @@ -14,8 +14,11 @@ /////// ////import old from "../old"; +// @Filename: /src/new.ts +//// + // @Filename: /tsconfig.json -////{ "files": ["/a.ts", "/src/a.ts", "/src/foo/a.ts", "/src/old.ts"] } +////{ "files": ["a.ts", "src/a.ts", "src/foo/a.ts", "src/old.ts"] } verify.getEditsForFileRename({ oldPath: "/src/old.ts", @@ -24,6 +27,6 @@ verify.getEditsForFileRename({ "/a.ts": '/// \nimport old from "./src/new";', "/src/a.ts": '/// \nimport old from "./new";', "/src/foo/a.ts": '/// \nimport old from "../new";', - "/tsconfig.json": '{ "files": ["/a.ts", "/src/a.ts", "/src/foo/a.ts", "/src/new.ts"] }', + "/tsconfig.json": '{ "files": ["a.ts", "src/a.ts", "src/foo/a.ts", "src/new.ts"] }', }, }); diff --git a/tests/cases/fourslash/getEditsForFileRename_amd.ts b/tests/cases/fourslash/getEditsForFileRename_amd.ts new file mode 100644 index 00000000000..22bf01e823c --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_amd.ts @@ -0,0 +1,18 @@ +/// + +// @moduleResolution: classic + +// @Filename: /src/user.ts +////import { x } from "old"; + +// @Filename: /src/old.ts +//// + +verify.getEditsForFileRename({ + oldPath: "/src/old.ts", + newPath: "/src/new.ts", + newFileContents: { + "/src/user.ts": +`import { x } from "./new";`, + }, +}); diff --git a/tests/cases/fourslash/getEditsForFileRename_caseInsensitive.ts b/tests/cases/fourslash/getEditsForFileRename_caseInsensitive.ts new file mode 100644 index 00000000000..506c93ad344 --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_caseInsensitive.ts @@ -0,0 +1,15 @@ +/// + +// @Filename: /a.ts +////export const a = 0; + +// @Filename: /b.ts +////import { a } from "./A"; + +verify.getEditsForFileRename({ + oldPath: "/a.ts", + newPath: "/eh.ts", + newFileContents: { + "/b.ts": 'import { a } from "./eh";', + }, +}); diff --git a/tests/cases/fourslash/getEditsForFileRename_directory.ts b/tests/cases/fourslash/getEditsForFileRename_directory.ts new file mode 100644 index 00000000000..8089d6fa138 --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_directory.ts @@ -0,0 +1,61 @@ +/// + +// @Filename: /a.ts +/////// +////import old from "./src/old"; +////import old2 from "./src/old/file"; +////export default 0; + +// @Filename: /src/b.ts +/////// +////import old from "./old"; +////import old2 from "./old/file"; +////export default 0; + +// @Filename: /src/foo/c.ts +/////// +////import old from "../old"; +////import old2 from "../old/file"; +////export default 0; + +// @Filename: /src/new/index.ts +////import a from "../../a"; +////import a2 from "../b"; +////import a3 from "../foo/c"; +////import f from "./file"; +////export default 0; + +// @Filename: /src/new/file.ts +//// + +// @Filename: /tsconfig.json +////{ "files": ["a.ts", "src/b.ts", "src/foo/c.ts", "src/old/index.ts", "src/old/file.ts"] } + +verify.getEditsForFileRename({ + oldPath: "/src/old", + newPath: "/src/new", + newFileContents: { + "/a.ts": +`/// +import old from "./src/new"; +import old2 from "./src/new/file"; +export default 0;`, + + "/src/b.ts": +`/// +import old from "./new"; +import old2 from "./new/file"; +export default 0;`, + + "/src/foo/c.ts": +`/// +import old from "../new"; +import old2 from "../new/file"; +export default 0;`, + + // No change to /src/new + + "/tsconfig.json": +`{ "files": ["a.ts", "src/b.ts", "src/foo/c.ts", "src/new/index.ts", "src/new/file.ts"] }`, + }, +}); diff --git a/tests/cases/fourslash/getEditsForFileRename_directory_down.ts b/tests/cases/fourslash/getEditsForFileRename_directory_down.ts new file mode 100644 index 00000000000..c4f42e3cc52 --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_directory_down.ts @@ -0,0 +1,66 @@ +/// + +// @Filename: /a.ts +/////// +////import old from "./src/old"; +////import old2 from "./src/old/file"; +////export default 0; + +// @Filename: /src/b.ts +/////// +////import old from "./old"; +////import old2 from "./old/file"; +////export default 0; + +// @Filename: /src/foo/c.ts +/////// +////import old from "../old"; +////import old2 from "../old/file"; +////export default 0; + +// @Filename: /src/newDir/new/index.ts +////import a from "../../a"; +////import a2 from "../b"; +////import a3 from "../foo/c"; +////import f from "./file"; +////export default 0; + +// @Filename: /src/newDir/new/file.ts +//// + +// @Filename: /tsconfig.json +////{ "files": ["a.ts", "src/b.ts", "src/foo/c.ts", "src/old/index.ts", "src/old/file.ts"] } + +verify.getEditsForFileRename({ + oldPath: "/src/old", + newPath: "/src/newDir/new", + newFileContents: { + "/a.ts": +`/// +import old from "./src/newDir/new"; +import old2 from "./src/newDir/new/file"; +export default 0;`, + + "/src/b.ts": +`/// +import old from "./newDir/new"; +import old2 from "./newDir/new/file"; +export default 0;`, + + "/src/foo/c.ts": +`/// +import old from "../newDir/new"; +import old2 from "../newDir/new/file"; +export default 0;`, + + "/src/newDir/new/index.ts": +`import a from "../../../a"; +import a2 from "../../b"; +import a3 from "../../foo/c"; +import f from "./file"; +export default 0;`, + + "/tsconfig.json": +`{ "files": ["a.ts", "src/b.ts", "src/foo/c.ts", "src/newDir/new/index.ts", "src/newDir/new/file.ts"] }`, + }, +}); diff --git a/tests/cases/fourslash/getEditsForFileRename_directory_noUpdateNodeModulesImport.ts b/tests/cases/fourslash/getEditsForFileRename_directory_noUpdateNodeModulesImport.ts new file mode 100644 index 00000000000..c2674cc1670 --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_directory_noUpdateNodeModulesImport.ts @@ -0,0 +1,13 @@ +/// + +// @Filename: /a/b/file1.ts +////import { foo } from "foo"; + +// @Filename: /a/b/node_modules/foo/index.d.ts +////export const foo = 0; + +verify.getEditsForFileRename({ + oldPath: "/a/b", + newPath: "/a/d", + newFileContents: {}, +}); diff --git a/tests/cases/fourslash/getEditsForFileRename_directory_up.ts b/tests/cases/fourslash/getEditsForFileRename_directory_up.ts new file mode 100644 index 00000000000..c63cfe888f1 --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_directory_up.ts @@ -0,0 +1,66 @@ +/// + +// @Filename: /a.ts +/////// +////import old from "./src/old"; +////import old2 from "./src/old/file"; +////export default 0; + +// @Filename: /src/b.ts +/////// +////import old from "./old"; +////import old2 from "./old/file"; +////export default 0; + +// @Filename: /src/foo/c.ts +/////// +////import old from "../old"; +////import old2 from "../old/file"; +////export default 0; + +// @Filename: /newDir/new/index.ts +////import a from "../../a"; +////import a2 from "../b"; +////import a3 from "../foo/c"; +////import f from "./file"; +////export default 0; + +// @Filename: /newDir/new/file.ts +//// + +// @Filename: /tsconfig.json +////{ "files": ["a.ts", "src/b.ts", "src/foo/c.ts", "src/old/index.ts", "src/old/file.ts"] } + +verify.getEditsForFileRename({ + oldPath: "/src/old", + newPath: "/newDir/new", + newFileContents: { + "/a.ts": +`/// +import old from "./newDir/new"; +import old2 from "./newDir/new/file"; +export default 0;`, + + "/src/b.ts": +`/// +import old from "../newDir/new"; +import old2 from "../newDir/new/file"; +export default 0;`, + + "/src/foo/c.ts": +`/// +import old from "../../newDir/new"; +import old2 from "../../newDir/new/file"; +export default 0;`, + + "/newDir/new/index.ts": +`import a from "../../a"; +import a2 from "../../src/b"; +import a3 from "../../src/foo/c"; +import f from "./file"; +export default 0;`, + + "/tsconfig.json": +`{ "files": ["a.ts", "src/b.ts", "src/foo/c.ts", "newDir/new/index.ts", "newDir/new/file.ts"] }`, + }, +}); diff --git a/tests/cases/fourslash/getEditsForFileRename_jsExtension.ts b/tests/cases/fourslash/getEditsForFileRename_jsExtension.ts new file mode 100644 index 00000000000..9c4e423a76a --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_jsExtension.ts @@ -0,0 +1,18 @@ +/// + +// @allowJs: true + +// @Filename: /src/a.js +////export const a = 0; + +// @Filename: /b.js +////import { a } from "./src/a.js"; + +verify.getEditsForFileRename({ + oldPath: "/b.js", + newPath: "/src/b.js", + newFileContents: { + "/b.js": +`import { a } from "./a.js";`, + }, +}); diff --git a/tests/cases/fourslash/getEditsForFileRename_oldFileStillPresent.ts b/tests/cases/fourslash/getEditsForFileRename_oldFileStillPresent.ts index c4ebf341a5e..34084d9d9df 100644 --- a/tests/cases/fourslash/getEditsForFileRename_oldFileStillPresent.ts +++ b/tests/cases/fourslash/getEditsForFileRename_oldFileStillPresent.ts @@ -18,7 +18,7 @@ ////import old from "../old"; // @Filename: /tsconfig.json -////{ "files": ["/a.ts", "/src/a.ts", "/src/foo/a.ts", "/src/old.ts"] } +////{ "files": ["a.ts", "src/a.ts", "src/foo/a.ts", "src/old.ts"] } verify.getEditsForFileRename({ oldPath: "/src/old.ts", @@ -27,6 +27,6 @@ verify.getEditsForFileRename({ "/a.ts": '/// \nimport old from "./src/new";', "/src/a.ts": '/// \nimport old from "./new";', "/src/foo/a.ts": '/// \nimport old from "../new";', - "/tsconfig.json": '{ "files": ["/a.ts", "/src/a.ts", "/src/foo/a.ts", "/src/new.ts"] }', + "/tsconfig.json": '{ "files": ["a.ts", "src/a.ts", "src/foo/a.ts", "src/new.ts"] }', }, }); diff --git a/tests/cases/fourslash/getEditsForFileRename_renameFromIndex.ts b/tests/cases/fourslash/getEditsForFileRename_renameFromIndex.ts new file mode 100644 index 00000000000..cddf212128c --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_renameFromIndex.ts @@ -0,0 +1,43 @@ +/// + +// @Filename: /a.ts +/////// +////import old from "./src"; +////import old2 from "./src/index"; + +// @Filename: /src/a.ts +/////// +////import old from "."; +////import old2 from "./index"; + +// @Filename: /src/foo/a.ts +/////// +////import old from ".."; +////import old2 from "../index"; + +// @Filename: /src/index.ts +//// + +// @Filename: /tsconfig.json +////{ "files": ["a.ts", "src/a.ts", "src/foo/a.ts", "src/index.ts"] } + +verify.getEditsForFileRename({ + oldPath: "/src/index.ts", + newPath: "/src/new.ts", + newFileContents: { + "/a.ts": +`/// +import old from "./src/new"; +import old2 from "./src/new";`, + "/src/a.ts": +`/// +import old from "./new"; +import old2 from "./new";`, + "/src/foo/a.ts": +`/// +import old from "../new"; +import old2 from "../new";`, + "/tsconfig.json": +'{ "files": ["a.ts", "src/a.ts", "src/foo/a.ts", "src/new.ts"] }', + }, +}); diff --git a/tests/cases/fourslash/getEditsForFileRename_renameToIndex.ts b/tests/cases/fourslash/getEditsForFileRename_renameToIndex.ts new file mode 100644 index 00000000000..a1a052ee557 --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_renameToIndex.ts @@ -0,0 +1,37 @@ +/// + +// @Filename: /a.ts +/////// +////import old from "./src/old"; + +// @Filename: /src/a.ts +/////// +////import old from "./old"; + +// @Filename: /src/foo/a.ts +/////// +////import old from "../old"; + +// @Filename: /src/old.ts +//// + +// @Filename: /tsconfig.json +////{ "files": ["a.ts", "src/a.ts", "src/foo/a.ts", "src/old.ts"] } + +verify.getEditsForFileRename({ + oldPath: "/src/old.ts", + newPath: "/src/index.ts", + newFileContents: { + "/a.ts": +`/// +import old from "./src";`, + "/src/a.ts": +`/// +import old from ".";`, + "/src/foo/a.ts": +`/// +import old from "..";`, + "/tsconfig.json": +'{ "files": ["a.ts", "src/a.ts", "src/foo/a.ts", "src/index.ts"] }', + }, +}); diff --git a/tests/cases/fourslash/getEditsForFileRename_shortenRelativePaths.ts b/tests/cases/fourslash/getEditsForFileRename_shortenRelativePaths.ts new file mode 100644 index 00000000000..d5a62f219d5 --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_shortenRelativePaths.ts @@ -0,0 +1,16 @@ +/// + +// @Filename: /src/foo/x.ts +//// + +// @Filename: /src/foo/new.ts +////import { x } from "./foo/x"; + +verify.getEditsForFileRename({ + oldPath: "/src/old.ts", + newPath: "/src/foo/new.ts", + newFileContents: { + "/src/foo/new.ts": +`import { x } from "./x";`, + }, +}); diff --git a/tests/cases/fourslash/getEditsForFileRename_subDir.ts b/tests/cases/fourslash/getEditsForFileRename_subDir.ts new file mode 100644 index 00000000000..ae75f190b9d --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_subDir.ts @@ -0,0 +1,16 @@ +/// + +// @Filename: /src/foo/a.ts +//// + +// @Filename: /src/dir/new.ts +////import a from "./foo/a"; + +verify.getEditsForFileRename({ + oldPath: "/src/old.ts", + newPath: "/src/dir/new.ts", + newFileContents: { + "/src/dir/new.ts": +`import a from "../foo/a";`, + }, +}); diff --git a/tests/cases/fourslash/getEditsForFileRename_tsconfig.ts b/tests/cases/fourslash/getEditsForFileRename_tsconfig.ts new file mode 100644 index 00000000000..611bff18539 --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_tsconfig.ts @@ -0,0 +1,41 @@ +/// + +// @Filename: /src/tsconfig.json +////{ +//// "compilerOptions": { +//// "baseUrl": "./old", +//// "mapRoot": "../src/old", +//// "paths": { +//// "foo": ["old"], +//// }, +//// "rootDir": "old", +//// "rootDirs": ["old"], +//// "typeRoots": ["old"], +//// }, +//// "files": ["old/a.ts"], +//// "include": ["old/*.ts"], +//// "exclude": ["old"], +////} + +verify.getEditsForFileRename({ + oldPath: "/src/old", + newPath: "/src/new", + newFileContents: { + "/src/tsconfig.json": +`{ + "compilerOptions": { + "baseUrl": "new", + "mapRoot": "new", + "paths": { + "foo": ["new"], + }, + "rootDir": "new", + "rootDirs": ["new"], + "typeRoots": ["new"], + }, + "files": ["new/a.ts"], + "include": ["new/*.ts"], + "exclude": ["new"], +}`, + }, +}); diff --git a/tests/cases/fourslash/getEditsForFileRename_tsconfig_include_add.ts b/tests/cases/fourslash/getEditsForFileRename_tsconfig_include_add.ts new file mode 100644 index 00000000000..5b1ef6791c0 --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_tsconfig_include_add.ts @@ -0,0 +1,17 @@ +/// + +// @Filename: /src/tsconfig.json +////{ +//// "include": ["dir"], +////} + +verify.getEditsForFileRename({ + oldPath: "/src/dir/a.ts", + newPath: "/src/newDir/b.ts", + newFileContents: { + "/src/tsconfig.json": +`{ + "include": ["dir", "newDir/b.ts"], +}`, + }, +}); diff --git a/tests/cases/fourslash/getEditsForFileRename_tsconfig_include_noChange.ts b/tests/cases/fourslash/getEditsForFileRename_tsconfig_include_noChange.ts new file mode 100644 index 00000000000..dc2200e17e8 --- /dev/null +++ b/tests/cases/fourslash/getEditsForFileRename_tsconfig_include_noChange.ts @@ -0,0 +1,12 @@ +/// + +// @Filename: /src/tsconfig.json +////{ +//// "include": ["dir"], +////} + +verify.getEditsForFileRename({ + oldPath: "/src/dir/a.ts", + newPath: "/src/dir/b.ts", + newFileContents: {}, +}); From 8310bdde49ed8469b021becaaa18b361e6012fd1 Mon Sep 17 00:00:00 2001 From: csigs Date: Fri, 1 Jun 2018 16:10:41 +0000 Subject: [PATCH 24/76] LEGO: check in for master to temporary branch. --- .../diagnosticMessages.generated.json.lcl | 27 +++++++++++++++++ .../diagnosticMessages.generated.json.lcl | 30 +++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl index 7581c49286b..22e99039884 100644 --- a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2619,6 +2619,24 @@ + + + + + + + + + + + + + + + + + + @@ -5433,6 +5451,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl index 3688383b060..2b06595787f 100644 --- a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2406,6 +2406,15 @@ + + + + + + + + + @@ -2571,6 +2580,9 @@ + + + @@ -2619,6 +2631,18 @@ + + + + + + + + + + + + @@ -5433,6 +5457,12 @@ + + + + + + From 4a36ee0c6269d8e5f7977c05f66e54d19b051c99 Mon Sep 17 00:00:00 2001 From: Dan Freeman Date: Fri, 1 Jun 2018 12:46:56 -0400 Subject: [PATCH 25/76] Support import completion for merged declaration exports (#24539) --- src/services/completions.ts | 2 +- ...nsImport_default_fromMergedDeclarations.ts | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/completionsImport_default_fromMergedDeclarations.ts diff --git a/src/services/completions.ts b/src/services/completions.ts index 522950e87ef..9f1a7cf0688 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -633,7 +633,7 @@ namespace ts.Completions { } const { moduleSymbol } = symbolOriginInfo; - const exportedSymbol = skipAlias(symbol.exportSymbol || symbol, checker); + const exportedSymbol = checker.getMergedSymbol(skipAlias(symbol.exportSymbol || symbol, checker)); const { moduleSpecifier, codeAction } = codefix.getImportCompletionAction( exportedSymbol, moduleSymbol, diff --git a/tests/cases/fourslash/completionsImport_default_fromMergedDeclarations.ts b/tests/cases/fourslash/completionsImport_default_fromMergedDeclarations.ts new file mode 100644 index 00000000000..ca4c993d511 --- /dev/null +++ b/tests/cases/fourslash/completionsImport_default_fromMergedDeclarations.ts @@ -0,0 +1,31 @@ +/// + +// @module: esnext + +// @Filename: /a.ts +////declare module "m" { +//// export default class M {} +////} + +// @Filename: /b.ts +////declare module "m" { +//// export default interface M {} +////} + +// @Filename: /c.ts +/////**/ + +goTo.marker(""); +verify.completionListContains({ name: "M", source: "m" }, "class M", "", "class", /*spanIndex*/ undefined, /*hasAction*/ true, { + includeCompletionsForModuleExports: true, + sourceDisplay: "m", +}); + +verify.applyCodeActionFromCompletion("", { + name: "M", + source: "m", + description: `Import 'M' from module "m"`, + newFileContent: `import M from "m"; + +`, +}); From 7e249ce72188939491e40da90a2ccd6a9fc02a01 Mon Sep 17 00:00:00 2001 From: Andy Date: Fri, 1 Jun 2018 09:50:32 -0700 Subject: [PATCH 26/76] Reduce size of span for unused declaration (revert #22388) (#24566) --- src/compiler/checker.ts | 2 +- src/compiler/utilities.ts | 5 ---- .../noUnusedLocals_selfReference.errors.txt | 28 +++++++++---------- ...lfReference_skipsBlockLocations.errors.txt | 12 ++++---- .../unusedClassesinModule1.errors.txt | 4 +-- .../unusedClassesinNamespace1.errors.txt | 4 +-- .../unusedClassesinNamespace2.errors.txt | 4 +-- .../unusedClassesinNamespace4.errors.txt | 4 +-- .../unusedClassesinNamespace5.errors.txt | 4 +-- .../reference/unusedDestructuring.errors.txt | 4 +-- .../unusedFunctionsinNamespaces1.errors.txt | 4 +-- .../unusedFunctionsinNamespaces5.errors.txt | 8 +++--- .../unusedFunctionsinNamespaces6.errors.txt | 4 +-- .../unusedIdentifiersConsolidated1.errors.txt | 20 ++++++------- .../reference/unusedImports10.errors.txt | 4 +-- .../reference/unusedImports12.errors.txt | 4 +-- .../reference/unusedImports8.errors.txt | 4 +-- .../reference/unusedImports9.errors.txt | 4 +-- ...Imports_entireImportDeclaration.errors.txt | 12 ++++---- .../unusedInterfaceinNamespace1.errors.txt | 4 +-- .../unusedInterfaceinNamespace2.errors.txt | 4 +-- .../unusedInterfaceinNamespace3.errors.txt | 4 +-- .../unusedLocalsAndObjectSpread2.errors.txt | 4 +-- .../unusedLocalsAndParameters.errors.txt | 8 +++--- ...LocalsAndParametersTypeAliases2.errors.txt | 12 ++++---- ...ationWithinFunctionDeclaration1.errors.txt | 4 +-- ...ationWithinFunctionDeclaration2.errors.txt | 4 +-- ...rationWithinFunctionExpression1.errors.txt | 4 +-- ...rationWithinFunctionExpression2.errors.txt | 4 +-- .../reference/unusedModuleInModule.errors.txt | 4 +-- .../unusedNamespaceInModule.errors.txt | 4 +-- .../unusedNamespaceInNamespace.errors.txt | 4 +-- 32 files changed, 97 insertions(+), 102 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0f4db171ab0..0b29eb58b29 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -22784,7 +22784,7 @@ namespace ts { function errorUnusedLocal(declaration: Declaration, name: string, addDiagnostic: AddUnusedDiagnostic) { const node = getNameOfDeclaration(declaration) || declaration; const message = isTypeDeclaration(declaration) ? Diagnostics._0_is_declared_but_never_used : Diagnostics._0_is_declared_but_its_value_is_never_read; - addDiagnostic(UnusedKind.Local, createDiagnosticForNodeSpan(getSourceFileOfNode(declaration), declaration, node, message, name)); + addDiagnostic(UnusedKind.Local, createDiagnosticForNode(node, message, name)); } function parameterNameStartsWithUnderscore(parameterName: DeclarationName) { diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index ff9c4d52c21..753ab32321d 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -641,11 +641,6 @@ namespace ts { return createFileDiagnostic(sourceFile, span.start, span.length, message, arg0, arg1, arg2, arg3); } - export function createDiagnosticForNodeSpan(sourceFile: SourceFile, startNode: Node, endNode: Node, message: DiagnosticMessage, arg0?: string | number, arg1?: string | number, arg2?: string | number, arg3?: string | number): DiagnosticWithLocation { - const start = skipTrivia(sourceFile.text, startNode.pos); - return createFileDiagnostic(sourceFile, start, endNode.end - start, message, arg0, arg1, arg2, arg3); - } - export function createDiagnosticForNodeFromMessageChain(node: Node, messageChain: DiagnosticMessageChain): DiagnosticWithLocation { const sourceFile = getSourceFileOfNode(node); const span = getErrorSpanForNode(sourceFile, node); diff --git a/tests/baselines/reference/noUnusedLocals_selfReference.errors.txt b/tests/baselines/reference/noUnusedLocals_selfReference.errors.txt index ff2291c84d6..edb5049bbbf 100644 --- a/tests/baselines/reference/noUnusedLocals_selfReference.errors.txt +++ b/tests/baselines/reference/noUnusedLocals_selfReference.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/noUnusedLocals_selfReference.ts(3,1): error TS6133: 'f' is declared but its value is never read. -tests/cases/compiler/noUnusedLocals_selfReference.ts(5,5): error TS6133: 'g' is declared but its value is never read. -tests/cases/compiler/noUnusedLocals_selfReference.ts(9,1): error TS6196: 'C' is declared but never used. -tests/cases/compiler/noUnusedLocals_selfReference.ts(12,1): error TS6196: 'E' is declared but never used. -tests/cases/compiler/noUnusedLocals_selfReference.ts(13,1): error TS6196: 'I' is declared but never used. -tests/cases/compiler/noUnusedLocals_selfReference.ts(14,1): error TS6196: 'T' is declared but never used. -tests/cases/compiler/noUnusedLocals_selfReference.ts(15,1): error TS6133: 'N' is declared but its value is never read. +tests/cases/compiler/noUnusedLocals_selfReference.ts(3,10): error TS6133: 'f' is declared but its value is never read. +tests/cases/compiler/noUnusedLocals_selfReference.ts(5,14): error TS6133: 'g' is declared but its value is never read. +tests/cases/compiler/noUnusedLocals_selfReference.ts(9,7): error TS6196: 'C' is declared but never used. +tests/cases/compiler/noUnusedLocals_selfReference.ts(12,6): error TS6196: 'E' is declared but never used. +tests/cases/compiler/noUnusedLocals_selfReference.ts(13,11): error TS6196: 'I' is declared but never used. +tests/cases/compiler/noUnusedLocals_selfReference.ts(14,6): error TS6196: 'T' is declared but never used. +tests/cases/compiler/noUnusedLocals_selfReference.ts(15,11): error TS6133: 'N' is declared but its value is never read. tests/cases/compiler/noUnusedLocals_selfReference.ts(22,19): error TS6133: 'm' is declared but its value is never read. @@ -12,31 +12,31 @@ tests/cases/compiler/noUnusedLocals_selfReference.ts(22,19): error TS6133: 'm' i export {}; // Make this a module scope, so these are local variables. function f() { - ~~~~~~~~~~ + ~ !!! error TS6133: 'f' is declared but its value is never read. f; function g() { - ~~~~~~~~~~ + ~ !!! error TS6133: 'g' is declared but its value is never read. g; } } class C { - ~~~~~~~ + ~ !!! error TS6196: 'C' is declared but never used. m() { C; } } enum E { A = 0, B = E.A } - ~~~~~~ + ~ !!! error TS6196: 'E' is declared but never used. interface I { x: I }; - ~~~~~~~~~~~ + ~ !!! error TS6196: 'I' is declared but never used. type T = { x: T }; - ~~~~~~ + ~ !!! error TS6196: 'T' is declared but never used. namespace N { N; } - ~~~~~~~~~~~ + ~ !!! error TS6133: 'N' is declared but its value is never read. // Avoid a false positive. diff --git a/tests/baselines/reference/noUnusedLocals_selfReference_skipsBlockLocations.errors.txt b/tests/baselines/reference/noUnusedLocals_selfReference_skipsBlockLocations.errors.txt index f99b2522f14..9ea0147978a 100644 --- a/tests/baselines/reference/noUnusedLocals_selfReference_skipsBlockLocations.errors.txt +++ b/tests/baselines/reference/noUnusedLocals_selfReference_skipsBlockLocations.errors.txt @@ -1,12 +1,12 @@ -tests/cases/compiler/noUnusedLocals_selfReference_skipsBlockLocations.ts(2,5): error TS6133: 'f' is declared but its value is never read. -tests/cases/compiler/noUnusedLocals_selfReference_skipsBlockLocations.ts(8,13): error TS6133: 'g' is declared but its value is never read. -tests/cases/compiler/noUnusedLocals_selfReference_skipsBlockLocations.ts(12,13): error TS6133: 'h' is declared but its value is never read. +tests/cases/compiler/noUnusedLocals_selfReference_skipsBlockLocations.ts(2,14): error TS6133: 'f' is declared but its value is never read. +tests/cases/compiler/noUnusedLocals_selfReference_skipsBlockLocations.ts(8,22): error TS6133: 'g' is declared but its value is never read. +tests/cases/compiler/noUnusedLocals_selfReference_skipsBlockLocations.ts(12,22): error TS6133: 'h' is declared but its value is never read. ==== tests/cases/compiler/noUnusedLocals_selfReference_skipsBlockLocations.ts (3 errors) ==== namespace n { function f() { - ~~~~~~~~~~ + ~ !!! error TS6133: 'f' is declared but its value is never read. f; } @@ -14,13 +14,13 @@ tests/cases/compiler/noUnusedLocals_selfReference_skipsBlockLocations.ts(12,13): switch (0) { case 0: function g() { - ~~~~~~~~~~ + ~ !!! error TS6133: 'g' is declared but its value is never read. g; } default: function h() { - ~~~~~~~~~~ + ~ !!! error TS6133: 'h' is declared but its value is never read. h; } diff --git a/tests/baselines/reference/unusedClassesinModule1.errors.txt b/tests/baselines/reference/unusedClassesinModule1.errors.txt index 488c434c537..663955b2750 100644 --- a/tests/baselines/reference/unusedClassesinModule1.errors.txt +++ b/tests/baselines/reference/unusedClassesinModule1.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/unusedClassesinModule1.ts(2,5): error TS6196: 'Calculator' is declared but never used. +tests/cases/compiler/unusedClassesinModule1.ts(2,11): error TS6196: 'Calculator' is declared but never used. ==== tests/cases/compiler/unusedClassesinModule1.ts (1 errors) ==== module A { class Calculator { - ~~~~~~~~~~~~~~~~ + ~~~~~~~~~~ !!! error TS6196: 'Calculator' is declared but never used. public handelChar() { } diff --git a/tests/baselines/reference/unusedClassesinNamespace1.errors.txt b/tests/baselines/reference/unusedClassesinNamespace1.errors.txt index 44050f75b54..10a2d2b1204 100644 --- a/tests/baselines/reference/unusedClassesinNamespace1.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace1.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/unusedClassesinNamespace1.ts(2,5): error TS6196: 'c1' is declared but never used. +tests/cases/compiler/unusedClassesinNamespace1.ts(2,11): error TS6196: 'c1' is declared but never used. ==== tests/cases/compiler/unusedClassesinNamespace1.ts (1 errors) ==== namespace Validation { class c1 { - ~~~~~~~~ + ~~ !!! error TS6196: 'c1' is declared but never used. } diff --git a/tests/baselines/reference/unusedClassesinNamespace2.errors.txt b/tests/baselines/reference/unusedClassesinNamespace2.errors.txt index 6c6f5f815b6..d69339f212e 100644 --- a/tests/baselines/reference/unusedClassesinNamespace2.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace2.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/unusedClassesinNamespace2.ts(2,5): error TS6196: 'c1' is declared but never used. +tests/cases/compiler/unusedClassesinNamespace2.ts(2,11): error TS6196: 'c1' is declared but never used. ==== tests/cases/compiler/unusedClassesinNamespace2.ts (1 errors) ==== namespace Validation { class c1 { - ~~~~~~~~ + ~~ !!! error TS6196: 'c1' is declared but never used. } diff --git a/tests/baselines/reference/unusedClassesinNamespace4.errors.txt b/tests/baselines/reference/unusedClassesinNamespace4.errors.txt index 209654569c9..ad869daed7d 100644 --- a/tests/baselines/reference/unusedClassesinNamespace4.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace4.ts(10,5): error TS6196: 'c3' is declared but never used. +tests/cases/compiler/unusedClassesinNamespace4.ts(10,11): error TS6196: 'c3' is declared but never used. ==== tests/cases/compiler/unusedClassesinNamespace4.ts (1 errors) ==== @@ -12,7 +12,7 @@ tests/cases/compiler/unusedClassesinNamespace4.ts(10,5): error TS6196: 'c3' is d } class c3 extends c1 { - ~~~~~~~~ + ~~ !!! error TS6196: 'c3' is declared but never used. } diff --git a/tests/baselines/reference/unusedClassesinNamespace5.errors.txt b/tests/baselines/reference/unusedClassesinNamespace5.errors.txt index 58cfa661603..cc4798de010 100644 --- a/tests/baselines/reference/unusedClassesinNamespace5.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace5.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace5.ts(10,5): error TS6196: 'c3' is declared but never used. +tests/cases/compiler/unusedClassesinNamespace5.ts(10,11): error TS6196: 'c3' is declared but never used. ==== tests/cases/compiler/unusedClassesinNamespace5.ts (1 errors) ==== @@ -12,7 +12,7 @@ tests/cases/compiler/unusedClassesinNamespace5.ts(10,5): error TS6196: 'c3' is d } class c3 { - ~~~~~~~~ + ~~ !!! error TS6196: 'c3' is declared but never used. public x: c1; } diff --git a/tests/baselines/reference/unusedDestructuring.errors.txt b/tests/baselines/reference/unusedDestructuring.errors.txt index 67b97697323..14f71a459ab 100644 --- a/tests/baselines/reference/unusedDestructuring.errors.txt +++ b/tests/baselines/reference/unusedDestructuring.errors.txt @@ -3,7 +3,7 @@ tests/cases/compiler/unusedDestructuring.ts(4,9): error TS6133: 'c' is declared tests/cases/compiler/unusedDestructuring.ts(6,7): error TS6133: 'e' is declared but its value is never read. tests/cases/compiler/unusedDestructuring.ts(7,7): error TS6133: 'g' is declared but its value is never read. tests/cases/compiler/unusedDestructuring.ts(8,1): error TS6199: All variables are unused. -tests/cases/compiler/unusedDestructuring.ts(10,1): error TS6133: 'f' is declared but its value is never read. +tests/cases/compiler/unusedDestructuring.ts(10,10): error TS6133: 'f' is declared but its value is never read. tests/cases/compiler/unusedDestructuring.ts(10,12): error TS6198: All destructured elements are unused. tests/cases/compiler/unusedDestructuring.ts(10,24): error TS6133: 'c' is declared but its value is never read. tests/cases/compiler/unusedDestructuring.ts(10,32): error TS6133: 'e' is declared but its value is never read. @@ -30,7 +30,7 @@ tests/cases/compiler/unusedDestructuring.ts(10,32): error TS6133: 'e' is declare !!! error TS6199: All variables are unused. function f({ a, b }, { c, d }, { e }) { - ~~~~~~~~~~ + ~ !!! error TS6133: 'f' is declared but its value is never read. ~~~~~~~~ !!! error TS6198: All destructured elements are unused. diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt index 7dee9ad0723..202977c6fb7 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/unusedFunctionsinNamespaces1.ts(2,5): error TS6133: 'function1' is declared but its value is never read. +tests/cases/compiler/unusedFunctionsinNamespaces1.ts(2,14): error TS6133: 'function1' is declared but its value is never read. ==== tests/cases/compiler/unusedFunctionsinNamespaces1.ts (1 errors) ==== namespace Validation { function function1() { - ~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~ !!! error TS6133: 'function1' is declared but its value is never read. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt index 07f22fa39dc..8f7f617e559 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedFunctionsinNamespaces5.ts(9,5): error TS6133: 'function3' is declared but its value is never read. -tests/cases/compiler/unusedFunctionsinNamespaces5.ts(13,5): error TS6133: 'function4' is declared but its value is never read. +tests/cases/compiler/unusedFunctionsinNamespaces5.ts(9,14): error TS6133: 'function3' is declared but its value is never read. +tests/cases/compiler/unusedFunctionsinNamespaces5.ts(13,14): error TS6133: 'function4' is declared but its value is never read. ==== tests/cases/compiler/unusedFunctionsinNamespaces5.ts (2 errors) ==== @@ -12,13 +12,13 @@ tests/cases/compiler/unusedFunctionsinNamespaces5.ts(13,5): error TS6133: 'funct } function function3() { - ~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~ !!! error TS6133: 'function3' is declared but its value is never read. function1(); } function function4() { - ~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~ !!! error TS6133: 'function4' is declared but its value is never read. } diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt index fe84d72524e..de5f7ae4d87 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedFunctionsinNamespaces6.ts(13,5): error TS6133: 'function4' is declared but its value is never read. +tests/cases/compiler/unusedFunctionsinNamespaces6.ts(13,14): error TS6133: 'function4' is declared but its value is never read. ==== tests/cases/compiler/unusedFunctionsinNamespaces6.ts (1 errors) ==== @@ -15,7 +15,7 @@ tests/cases/compiler/unusedFunctionsinNamespaces6.ts(13,5): error TS6133: 'funct } function function4() { - ~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~ !!! error TS6133: 'function4' is declared but its value is never read. } diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt index 3ddd1f12b1b..c100fed6949 100644 --- a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt @@ -10,11 +10,11 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,13): error TS6133: 'un tests/cases/compiler/unusedIdentifiersConsolidated1.ts(24,13): error TS6133: 'unUsedPrivateFunction' is declared but its value is never read. tests/cases/compiler/unusedIdentifiersConsolidated1.ts(37,11): error TS6133: 'numberRegexp' is declared but its value is never read. tests/cases/compiler/unusedIdentifiersConsolidated1.ts(44,17): error TS6133: 'unUsedPrivateFunction' is declared but its value is never read. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(57,5): error TS6196: 'usedLocallyInterface2' is declared but never used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(64,5): error TS6196: 'dummy' is declared but never used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(67,5): error TS6196: 'unusedInterface' is declared but never used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(79,5): error TS6196: 'class3' is declared but never used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(99,5): error TS6196: 'interface5' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(57,15): error TS6196: 'usedLocallyInterface2' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(64,11): error TS6196: 'dummy' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(67,15): error TS6196: 'unusedInterface' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(79,11): error TS6196: 'class3' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(99,15): error TS6196: 'interface5' is declared but never used. ==== tests/cases/compiler/unusedIdentifiersConsolidated1.ts (17 errors) ==== @@ -99,7 +99,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(99,5): error TS6196: 'int } interface usedLocallyInterface2 { - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~ !!! error TS6196: 'usedLocallyInterface2' is declared but never used. someFunction(s1: string): void; } @@ -108,12 +108,12 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(99,5): error TS6196: 'int } class dummy implements usedLocallyInterface { - ~~~~~~~~~~~ + ~~~~~ !!! error TS6196: 'dummy' is declared but never used. } interface unusedInterface { - ~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~ !!! error TS6196: 'unusedInterface' is declared but never used. } } @@ -127,7 +127,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(99,5): error TS6196: 'int } class class3 { - ~~~~~~~~~~~~ + ~~~~~~ !!! error TS6196: 'class3' is declared but never used. } @@ -149,7 +149,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(99,5): error TS6196: 'int export let a: interface3; interface interface5 { - ~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~ !!! error TS6196: 'interface5' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedImports10.errors.txt b/tests/baselines/reference/unusedImports10.errors.txt index e6c405d221c..b9688a01185 100644 --- a/tests/baselines/reference/unusedImports10.errors.txt +++ b/tests/baselines/reference/unusedImports10.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedImports10.ts(9,5): error TS6133: 'a' is declared but its value is never read. +tests/cases/compiler/unusedImports10.ts(9,12): error TS6133: 'a' is declared but its value is never read. ==== tests/cases/compiler/unusedImports10.ts (1 errors) ==== @@ -11,6 +11,6 @@ tests/cases/compiler/unusedImports10.ts(9,5): error TS6133: 'a' is declared but module B { import a = A; - ~~~~~~~~ + ~ !!! error TS6133: 'a' is declared but its value is never read. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedImports12.errors.txt b/tests/baselines/reference/unusedImports12.errors.txt index 5bdd99d6044..e3b6da00db8 100644 --- a/tests/baselines/reference/unusedImports12.errors.txt +++ b/tests/baselines/reference/unusedImports12.errors.txt @@ -1,7 +1,7 @@ tests/cases/compiler/a.ts(1,1): error TS6133: 'Member' is declared but its value is never read. tests/cases/compiler/a.ts(2,1): error TS6192: All imports in import declaration are unused. tests/cases/compiler/a.ts(3,1): error TS6133: 'ns' is declared but its value is never read. -tests/cases/compiler/a.ts(4,1): error TS6133: 'r' is declared but its value is never read. +tests/cases/compiler/a.ts(4,8): error TS6133: 'r' is declared but its value is never read. ==== tests/cases/compiler/a.ts (4 errors) ==== @@ -15,7 +15,7 @@ tests/cases/compiler/a.ts(4,1): error TS6133: 'r' is declared but its value is n ~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS6133: 'ns' is declared but its value is never read. import r = require("./b"); - ~~~~~~~~ + ~ !!! error TS6133: 'r' is declared but its value is never read. ==== tests/cases/compiler/b.ts (0 errors) ==== diff --git a/tests/baselines/reference/unusedImports8.errors.txt b/tests/baselines/reference/unusedImports8.errors.txt index 5cac8a8ee15..a6cbaae8ff6 100644 --- a/tests/baselines/reference/unusedImports8.errors.txt +++ b/tests/baselines/reference/unusedImports8.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/file2.ts(1,41): error TS6133: 't2' is declared but its value is never read. +tests/cases/compiler/file2.ts(1,50): error TS6133: 't2' is declared but its value is never read. ==== tests/cases/compiler/file1.ts (0 errors) ==== @@ -16,7 +16,7 @@ tests/cases/compiler/file2.ts(1,41): error TS6133: 't2' is declared but its valu ==== tests/cases/compiler/file2.ts (1 errors) ==== import {Calculator as calc, test as t1, test2 as t2} from "./file1" - ~~~~~~~~~~~ + ~~ !!! error TS6133: 't2' is declared but its value is never read. var x = new calc(); diff --git a/tests/baselines/reference/unusedImports9.errors.txt b/tests/baselines/reference/unusedImports9.errors.txt index 02bee34686e..2452962b289 100644 --- a/tests/baselines/reference/unusedImports9.errors.txt +++ b/tests/baselines/reference/unusedImports9.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/file2.ts(1,1): error TS6133: 'c' is declared but its value is never read. +tests/cases/compiler/file2.ts(1,8): error TS6133: 'c' is declared but its value is never read. ==== tests/cases/compiler/file2.ts (1 errors) ==== import c = require('./file1') - ~~~~~~~~ + ~ !!! error TS6133: 'c' is declared but its value is never read. ==== tests/cases/compiler/file1.ts (0 errors) ==== export class Calculator { diff --git a/tests/baselines/reference/unusedImports_entireImportDeclaration.errors.txt b/tests/baselines/reference/unusedImports_entireImportDeclaration.errors.txt index cd58ce714b0..d0418446be3 100644 --- a/tests/baselines/reference/unusedImports_entireImportDeclaration.errors.txt +++ b/tests/baselines/reference/unusedImports_entireImportDeclaration.errors.txt @@ -1,8 +1,8 @@ /b.ts(1,1): error TS6192: All imports in import declaration are unused. /b.ts(2,1): error TS6192: All imports in import declaration are unused. -/b.ts(4,14): error TS6133: 'a2' is declared but its value is never read. -/b.ts(4,23): error TS6133: 'b2' is declared but its value is never read. -/b.ts(6,12): error TS6133: 'ns2' is declared but its value is never read. +/b.ts(4,19): error TS6133: 'a2' is declared but its value is never read. +/b.ts(4,28): error TS6133: 'b2' is declared but its value is never read. +/b.ts(6,17): error TS6133: 'ns2' is declared but its value is never read. /b.ts(8,8): error TS6133: 'd5' is declared but its value is never read. @@ -20,13 +20,13 @@ !!! error TS6192: All imports in import declaration are unused. import d3, { a as a2, b as b2 } from "./a"; - ~~~~~~~ + ~~ !!! error TS6133: 'a2' is declared but its value is never read. - ~~~~~~~ + ~~ !!! error TS6133: 'b2' is declared but its value is never read. d3; import d4, * as ns2 from "./a"; - ~~~~~~~~ + ~~~ !!! error TS6133: 'ns2' is declared but its value is never read. d4; import d5, * as ns3 from "./a"; diff --git a/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt index 0fe77374c4d..0c134508ea7 100644 --- a/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt +++ b/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/unusedInterfaceinNamespace1.ts(2,5): error TS6196: 'i1' is declared but never used. +tests/cases/compiler/unusedInterfaceinNamespace1.ts(2,15): error TS6196: 'i1' is declared but never used. ==== tests/cases/compiler/unusedInterfaceinNamespace1.ts (1 errors) ==== namespace Validation { interface i1 { - ~~~~~~~~~~~~ + ~~ !!! error TS6196: 'i1' is declared but never used. } diff --git a/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt index 40e224358af..312e2db0aa2 100644 --- a/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt +++ b/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/unusedInterfaceinNamespace2.ts(2,5): error TS6196: 'i1' is declared but never used. +tests/cases/compiler/unusedInterfaceinNamespace2.ts(2,15): error TS6196: 'i1' is declared but never used. ==== tests/cases/compiler/unusedInterfaceinNamespace2.ts (1 errors) ==== namespace Validation { interface i1 { - ~~~~~~~~~~~~ + ~~ !!! error TS6196: 'i1' is declared but never used. } diff --git a/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt index 206dd51c3e5..7647932305f 100644 --- a/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt +++ b/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedInterfaceinNamespace3.ts(10,5): error TS6196: 'i3' is declared but never used. +tests/cases/compiler/unusedInterfaceinNamespace3.ts(10,15): error TS6196: 'i3' is declared but never used. ==== tests/cases/compiler/unusedInterfaceinNamespace3.ts (1 errors) ==== @@ -12,7 +12,7 @@ tests/cases/compiler/unusedInterfaceinNamespace3.ts(10,5): error TS6196: 'i3' is } interface i3 extends i1 { - ~~~~~~~~~~~~ + ~~ !!! error TS6196: 'i3' is declared but never used. } diff --git a/tests/baselines/reference/unusedLocalsAndObjectSpread2.errors.txt b/tests/baselines/reference/unusedLocalsAndObjectSpread2.errors.txt index 100f86468ad..d675747fd04 100644 --- a/tests/baselines/reference/unusedLocalsAndObjectSpread2.errors.txt +++ b/tests/baselines/reference/unusedLocalsAndObjectSpread2.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/unusedLocalsAndObjectSpread2.ts(5,6): error TS6133: 'rest' is declared but its value is never read. -tests/cases/compiler/unusedLocalsAndObjectSpread2.ts(8,1): error TS6133: 'foo' is declared but its value is never read. +tests/cases/compiler/unusedLocalsAndObjectSpread2.ts(8,10): error TS6133: 'foo' is declared but its value is never read. tests/cases/compiler/unusedLocalsAndObjectSpread2.ts(12,12): error TS6133: 'rest' is declared but its value is never read. @@ -14,7 +14,7 @@ tests/cases/compiler/unusedLocalsAndObjectSpread2.ts(12,12): error TS6133: 'rest } = props; function foo() { - ~~~~~~~~~~~~ + ~~~ !!! error TS6133: 'foo' is declared but its value is never read. const { children, diff --git a/tests/baselines/reference/unusedLocalsAndParameters.errors.txt b/tests/baselines/reference/unusedLocalsAndParameters.errors.txt index e9656c6f669..2b07a5fac52 100644 --- a/tests/baselines/reference/unusedLocalsAndParameters.errors.txt +++ b/tests/baselines/reference/unusedLocalsAndParameters.errors.txt @@ -2,7 +2,7 @@ tests/cases/compiler/unusedLocalsAndParameters.ts(4,12): error TS6133: 'a' is de tests/cases/compiler/unusedLocalsAndParameters.ts(9,22): error TS6133: 'a' is declared but its value is never read. tests/cases/compiler/unusedLocalsAndParameters.ts(15,5): error TS6133: 'farrow' is declared but its value is never read. tests/cases/compiler/unusedLocalsAndParameters.ts(15,15): error TS6133: 'a' is declared but its value is never read. -tests/cases/compiler/unusedLocalsAndParameters.ts(18,1): error TS6196: 'C' is declared but never used. +tests/cases/compiler/unusedLocalsAndParameters.ts(18,7): error TS6196: 'C' is declared but never used. tests/cases/compiler/unusedLocalsAndParameters.ts(20,12): error TS6133: 'a' is declared but its value is never read. tests/cases/compiler/unusedLocalsAndParameters.ts(23,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/unusedLocalsAndParameters.ts(23,11): error TS6133: 'v' is declared but its value is never read. @@ -20,7 +20,7 @@ tests/cases/compiler/unusedLocalsAndParameters.ts(63,11): error TS6133: 'c' is d tests/cases/compiler/unusedLocalsAndParameters.ts(68,11): error TS6133: 'a' is declared but its value is never read. tests/cases/compiler/unusedLocalsAndParameters.ts(71,11): error TS6133: 'c' is declared but its value is never read. tests/cases/compiler/unusedLocalsAndParameters.ts(74,11): error TS6133: 'c' is declared but its value is never read. -tests/cases/compiler/unusedLocalsAndParameters.ts(79,1): error TS6133: 'N' is declared but its value is never read. +tests/cases/compiler/unusedLocalsAndParameters.ts(79,11): error TS6133: 'N' is declared but its value is never read. tests/cases/compiler/unusedLocalsAndParameters.ts(80,9): error TS6133: 'x' is declared but its value is never read. @@ -51,7 +51,7 @@ tests/cases/compiler/unusedLocalsAndParameters.ts(80,9): error TS6133: 'x' is de }; class C { - ~~~~~~~ + ~ !!! error TS6196: 'C' is declared but never used. // Method declaration paramter method(a) { @@ -148,7 +148,7 @@ tests/cases/compiler/unusedLocalsAndParameters.ts(80,9): error TS6133: 'x' is de // in a namespace namespace N { - ~~~~~~~~~~~ + ~ !!! error TS6133: 'N' is declared but its value is never read. var x; ~ diff --git a/tests/baselines/reference/unusedLocalsAndParametersTypeAliases2.errors.txt b/tests/baselines/reference/unusedLocalsAndParametersTypeAliases2.errors.txt index f86ec0d1cc7..de03f17fa46 100644 --- a/tests/baselines/reference/unusedLocalsAndParametersTypeAliases2.errors.txt +++ b/tests/baselines/reference/unusedLocalsAndParametersTypeAliases2.errors.txt @@ -1,20 +1,20 @@ -tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(2,1): error TS6196: 'handler1' is declared but never used. -tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(5,1): error TS6133: 'foo' is declared but its value is never read. -tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(6,5): error TS6196: 'handler2' is declared but never used. +tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(2,6): error TS6196: 'handler1' is declared but never used. +tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(5,10): error TS6133: 'foo' is declared but its value is never read. +tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(6,10): error TS6196: 'handler2' is declared but never used. ==== tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts (3 errors) ==== // unused type handler1 = () => void; - ~~~~~~~~~~~~~ + ~~~~~~~~ !!! error TS6196: 'handler1' is declared but never used. function foo() { - ~~~~~~~~~~~~ + ~~~ !!! error TS6133: 'foo' is declared but its value is never read. type handler2 = () => void; - ~~~~~~~~~~~~~ + ~~~~~~~~ !!! error TS6196: 'handler2' is declared but never used. foo(); } diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt index ccfecf77634..da5bc7382e3 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt @@ -1,7 +1,7 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(1,18): error TS6133: 'person' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(1,34): error TS6133: 'person2' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(2,9): error TS6133: 'unused' is declared but its value is never read. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(3,5): error TS6133: 'maker' is declared but its value is never read. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(3,14): error TS6133: 'maker' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(3,20): error TS6133: 'child' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,13): error TS6133: 'unused2' is declared but its value is never read. @@ -16,7 +16,7 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1 ~~~~~~ !!! error TS6133: 'unused' is declared but its value is never read. function maker(child: string): void { - ~~~~~~~~~~~~~~ + ~~~~~ !!! error TS6133: 'maker' is declared but its value is never read. ~~~~~ !!! error TS6133: 'child' is declared but its value is never read. diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt index dcd5b75ea86..e5326d2c41f 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt @@ -1,6 +1,6 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(1,18): error TS6133: 'person' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(2,9): error TS6133: 'unused' is declared but its value is never read. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(3,5): error TS6133: 'maker' is declared but its value is never read. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(3,14): error TS6133: 'maker' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(3,20): error TS6133: 'child' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,13): error TS6133: 'unused2' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(6,21): error TS6133: 'child2' is declared but its value is never read. @@ -15,7 +15,7 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2 ~~~~~~ !!! error TS6133: 'unused' is declared but its value is never read. function maker(child: string): void { - ~~~~~~~~~~~~~~ + ~~~~~ !!! error TS6133: 'maker' is declared but its value is never read. ~~~~~ !!! error TS6133: 'child' is declared but its value is never read. diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt index d8b92c7d71d..ac9b5c8632c 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt @@ -1,7 +1,7 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(1,25): error TS6133: 'person' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(1,41): error TS6133: 'person2' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(2,9): error TS6133: 'unused' is declared but its value is never read. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(3,5): error TS6133: 'maker' is declared but its value is never read. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(3,14): error TS6133: 'maker' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(3,20): error TS6133: 'child' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,13): error TS6133: 'unused2' is declared but its value is never read. @@ -16,7 +16,7 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1. ~~~~~~ !!! error TS6133: 'unused' is declared but its value is never read. function maker(child: string): void { - ~~~~~~~~~~~~~~ + ~~~~~ !!! error TS6133: 'maker' is declared but its value is never read. ~~~~~ !!! error TS6133: 'child' is declared but its value is never read. diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt index 4b5da962c00..c709d189d17 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt @@ -1,6 +1,6 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(1,25): error TS6133: 'person' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(2,9): error TS6133: 'unused' is declared but its value is never read. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(3,5): error TS6133: 'maker' is declared but its value is never read. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(3,14): error TS6133: 'maker' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(3,20): error TS6133: 'child' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,13): error TS6133: 'unused2' is declared but its value is never read. tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(6,21): error TS6133: 'child2' is declared but its value is never read. @@ -15,7 +15,7 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2. ~~~~~~ !!! error TS6133: 'unused' is declared but its value is never read. function maker(child: string): void { - ~~~~~~~~~~~~~~ + ~~~~~ !!! error TS6133: 'maker' is declared but its value is never read. ~~~~~ !!! error TS6133: 'child' is declared but its value is never read. diff --git a/tests/baselines/reference/unusedModuleInModule.errors.txt b/tests/baselines/reference/unusedModuleInModule.errors.txt index eb3aa944797..bd8040ce590 100644 --- a/tests/baselines/reference/unusedModuleInModule.errors.txt +++ b/tests/baselines/reference/unusedModuleInModule.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/unusedModuleInModule.ts(2,5): error TS6133: 'B' is declared but its value is never read. +tests/cases/compiler/unusedModuleInModule.ts(2,12): error TS6133: 'B' is declared but its value is never read. ==== tests/cases/compiler/unusedModuleInModule.ts (1 errors) ==== module A { module B {} - ~~~~~~~~ + ~ !!! error TS6133: 'B' is declared but its value is never read. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedNamespaceInModule.errors.txt b/tests/baselines/reference/unusedNamespaceInModule.errors.txt index 9cce14e295a..afc118b094a 100644 --- a/tests/baselines/reference/unusedNamespaceInModule.errors.txt +++ b/tests/baselines/reference/unusedNamespaceInModule.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/unusedNamespaceInModule.ts(2,5): error TS6133: 'B' is declared but its value is never read. +tests/cases/compiler/unusedNamespaceInModule.ts(2,15): error TS6133: 'B' is declared but its value is never read. ==== tests/cases/compiler/unusedNamespaceInModule.ts (1 errors) ==== module A { namespace B { } - ~~~~~~~~~~~ + ~ !!! error TS6133: 'B' is declared but its value is never read. export namespace C {} } \ No newline at end of file diff --git a/tests/baselines/reference/unusedNamespaceInNamespace.errors.txt b/tests/baselines/reference/unusedNamespaceInNamespace.errors.txt index 0988b749fd4..ff031f5af41 100644 --- a/tests/baselines/reference/unusedNamespaceInNamespace.errors.txt +++ b/tests/baselines/reference/unusedNamespaceInNamespace.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/unusedNamespaceInNamespace.ts(2,5): error TS6133: 'B' is declared but its value is never read. +tests/cases/compiler/unusedNamespaceInNamespace.ts(2,15): error TS6133: 'B' is declared but its value is never read. ==== tests/cases/compiler/unusedNamespaceInNamespace.ts (1 errors) ==== namespace A { namespace B { } - ~~~~~~~~~~~ + ~ !!! error TS6133: 'B' is declared but its value is never read. export namespace C {} } \ No newline at end of file From 5e83f1e1ff80161f1e6c87f503c4056df58019ae Mon Sep 17 00:00:00 2001 From: Klaus Meinhardt Date: Fri, 1 Jun 2018 19:17:24 +0200 Subject: [PATCH 27/76] fix syntax error in unit test Fixes: https://github.com/Microsoft/TypeScript/pull/24474#pullrequestreview-125221016 --- src/harness/unittests/evaluation/forAwaitOf.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/harness/unittests/evaluation/forAwaitOf.ts b/src/harness/unittests/evaluation/forAwaitOf.ts index b02a45860b9..066b8daf0d9 100644 --- a/src/harness/unittests/evaluation/forAwaitOf.ts +++ b/src/harness/unittests/evaluation/forAwaitOf.ts @@ -9,7 +9,7 @@ describe("forAwaitOfEvaluation", () => { case 0: return { value: 1, done: false }; case 1: return { value: Promise.resolve(2), done: false }; case 2: return { value: new Promise(resolve => setTimeout(resolve, 100, 3)), done: false }; - default: return { value: undefined: done: true }; + default: return { value: undefined, done: true }; } } }; @@ -35,7 +35,7 @@ describe("forAwaitOfEvaluation", () => { case 0: return { value: 1, done: false }; case 1: return { value: Promise.resolve(2), done: false }; case 2: return { value: new Promise(resolve => setTimeout(resolve, 100, 3)), done: false }; - default: return { value: undefined: done: true }; + default: return { value: undefined, done: true }; } } }; @@ -61,7 +61,7 @@ describe("forAwaitOfEvaluation", () => { case 0: return { value: 1, done: false }; case 1: return { value: Promise.resolve(2), done: false }; case 2: return { value: new Promise(resolve => setTimeout(resolve, 100, 3)), done: false }; - default: return { value: undefined: done: true }; + default: return { value: undefined, done: true }; } } }; @@ -87,7 +87,7 @@ describe("forAwaitOfEvaluation", () => { case 0: return { value: 1, done: false }; case 1: return { value: Promise.resolve(2), done: false }; case 2: return { value: new Promise(resolve => setTimeout(resolve, 100, 3)), done: false }; - default: return { value: undefined: done: true }; + default: return { value: undefined, done: true }; } } }; @@ -102,4 +102,4 @@ describe("forAwaitOfEvaluation", () => { assert.instanceOf(result.output[1], Promise); assert.instanceOf(result.output[2], Promise); }); -}); \ No newline at end of file +}); From f8503f26328beb8755792528dd312f29f9d5415c Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 1 Jun 2018 10:40:30 -0700 Subject: [PATCH 28/76] Include export specifiers in the list of syntactic defaults (#24549) --- src/compiler/checker.ts | 2 +- .../reference/reexportDefaultIsCallable.js | 36 +++++++++++++++++++ .../reexportDefaultIsCallable.symbols | 16 +++++++++ .../reference/reexportDefaultIsCallable.types | 16 +++++++++ .../compiler/reexportDefaultIsCallable.ts | 8 +++++ 5 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/reexportDefaultIsCallable.js create mode 100644 tests/baselines/reference/reexportDefaultIsCallable.symbols create mode 100644 tests/baselines/reference/reexportDefaultIsCallable.types create mode 100644 tests/cases/compiler/reexportDefaultIsCallable.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0b29eb58b29..1b7b5fc3656 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1784,7 +1784,7 @@ namespace ts { } function isSyntacticDefault(node: Node) { - return ((isExportAssignment(node) && !node.isExportEquals) || hasModifier(node, ModifierFlags.Default)); + return ((isExportAssignment(node) && !node.isExportEquals) || hasModifier(node, ModifierFlags.Default) || isExportSpecifier(node)); } function canHaveSyntheticDefault(file: SourceFile | undefined, moduleSymbol: Symbol, dontResolveAlias: boolean) { diff --git a/tests/baselines/reference/reexportDefaultIsCallable.js b/tests/baselines/reference/reexportDefaultIsCallable.js new file mode 100644 index 00000000000..a4b557883de --- /dev/null +++ b/tests/baselines/reference/reexportDefaultIsCallable.js @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/reexportDefaultIsCallable.ts] //// + +//// [schema.d.ts] +export default class Schema {} +//// [reexporter.d.ts] +export { default } from "./schema"; +//// [usage.ts] +import Base from "./reexporter"; +export default class Mine extends Base {} + + +//// [usage.js] +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +exports.__esModule = true; +var reexporter_1 = __importDefault(require("./reexporter")); +var Mine = /** @class */ (function (_super) { + __extends(Mine, _super); + function Mine() { + return _super !== null && _super.apply(this, arguments) || this; + } + return Mine; +}(reexporter_1["default"])); +exports["default"] = Mine; diff --git a/tests/baselines/reference/reexportDefaultIsCallable.symbols b/tests/baselines/reference/reexportDefaultIsCallable.symbols new file mode 100644 index 00000000000..8d6841aeb3f --- /dev/null +++ b/tests/baselines/reference/reexportDefaultIsCallable.symbols @@ -0,0 +1,16 @@ +=== tests/cases/compiler/schema.d.ts === +export default class Schema {} +>Schema : Symbol(Schema, Decl(schema.d.ts, 0, 0)) + +=== tests/cases/compiler/reexporter.d.ts === +export { default } from "./schema"; +>default : Symbol(default, Decl(reexporter.d.ts, 0, 8)) + +=== tests/cases/compiler/usage.ts === +import Base from "./reexporter"; +>Base : Symbol(Base, Decl(usage.ts, 0, 6)) + +export default class Mine extends Base {} +>Mine : Symbol(Mine, Decl(usage.ts, 0, 32)) +>Base : Symbol(Base, Decl(usage.ts, 0, 6)) + diff --git a/tests/baselines/reference/reexportDefaultIsCallable.types b/tests/baselines/reference/reexportDefaultIsCallable.types new file mode 100644 index 00000000000..ba33aeef0fa --- /dev/null +++ b/tests/baselines/reference/reexportDefaultIsCallable.types @@ -0,0 +1,16 @@ +=== tests/cases/compiler/schema.d.ts === +export default class Schema {} +>Schema : Schema + +=== tests/cases/compiler/reexporter.d.ts === +export { default } from "./schema"; +>default : typeof import("tests/cases/compiler/schema").default + +=== tests/cases/compiler/usage.ts === +import Base from "./reexporter"; +>Base : typeof Base + +export default class Mine extends Base {} +>Mine : Mine +>Base : Base + diff --git a/tests/cases/compiler/reexportDefaultIsCallable.ts b/tests/cases/compiler/reexportDefaultIsCallable.ts new file mode 100644 index 00000000000..f37c79401de --- /dev/null +++ b/tests/cases/compiler/reexportDefaultIsCallable.ts @@ -0,0 +1,8 @@ +// @esModuleInterop: true +// @filename: schema.d.ts +export default class Schema {} +// @filename: reexporter.d.ts +export { default } from "./schema"; +// @filename: usage.ts +import Base from "./reexporter"; +export default class Mine extends Base {} From 45f9370997ec353f81fb4312a57410e53174e156 Mon Sep 17 00:00:00 2001 From: Benjamin Lichtman Date: Fri, 1 Jun 2018 14:11:45 -0700 Subject: [PATCH 29/76] Handle installed package missing from registry --- src/services/jsTyping.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index 539099510f1..ee757a0ca28 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -160,7 +160,7 @@ namespace ts.JsTyping { } // Add the cached typing locations for inferred typings that are already installed packageNameToTypingLocation.forEach((typing, name) => { - if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && isTypingUpToDate(typing, typesRegistry.get(name)!)) { + if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && typesRegistry.has(name) && isTypingUpToDate(typing, typesRegistry.get(name)!)) { inferredTypings.set(name, typing.typingLocation); } }); From 1b6d9229f2699b4285e32466818fa0abe925cd49 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 1 Jun 2018 14:14:56 -0700 Subject: [PATCH 30/76] Visit super arguments even when no signature exists (#24591) --- src/compiler/checker.ts | 1 + .../importNotElidedWhenNotFound.errors.txt | 17 ++++++++++ .../reference/importNotElidedWhenNotFound.js | 32 +++++++++++++++++++ .../importNotElidedWhenNotFound.symbols | 16 ++++++++++ .../importNotElidedWhenNotFound.types | 18 +++++++++++ .../compiler/importNotElidedWhenNotFound.ts | 8 +++++ 6 files changed, 92 insertions(+) create mode 100644 tests/baselines/reference/importNotElidedWhenNotFound.errors.txt create mode 100644 tests/baselines/reference/importNotElidedWhenNotFound.js create mode 100644 tests/baselines/reference/importNotElidedWhenNotFound.symbols create mode 100644 tests/baselines/reference/importNotElidedWhenNotFound.types create mode 100644 tests/cases/compiler/importNotElidedWhenNotFound.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 1b7b5fc3656..2df1a583876 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -18678,6 +18678,7 @@ namespace ts { if (node.expression.kind === SyntaxKind.SuperKeyword) { const superType = checkSuperExpression(node.expression); if (isTypeAny(superType)) { + forEach(node.arguments, checkExpression); // Still visit arguments so they get marked for visibility, etc return anySignature; } if (superType !== errorType) { diff --git a/tests/baselines/reference/importNotElidedWhenNotFound.errors.txt b/tests/baselines/reference/importNotElidedWhenNotFound.errors.txt new file mode 100644 index 00000000000..51e1fe9b44d --- /dev/null +++ b/tests/baselines/reference/importNotElidedWhenNotFound.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/importNotElidedWhenNotFound.ts(1,15): error TS2307: Cannot find module 'file'. +tests/cases/compiler/importNotElidedWhenNotFound.ts(2,15): error TS2307: Cannot find module 'other_file'. + + +==== tests/cases/compiler/importNotElidedWhenNotFound.ts (2 errors) ==== + import X from 'file'; + ~~~~~~ +!!! error TS2307: Cannot find module 'file'. + import Z from 'other_file'; + ~~~~~~~~~~~~ +!!! error TS2307: Cannot find module 'other_file'. + + class Y extends Z { + constructor() { + super(X); + } + } \ No newline at end of file diff --git a/tests/baselines/reference/importNotElidedWhenNotFound.js b/tests/baselines/reference/importNotElidedWhenNotFound.js new file mode 100644 index 00000000000..303e5df8f22 --- /dev/null +++ b/tests/baselines/reference/importNotElidedWhenNotFound.js @@ -0,0 +1,32 @@ +//// [importNotElidedWhenNotFound.ts] +import X from 'file'; +import Z from 'other_file'; + +class Y extends Z { + constructor() { + super(X); + } +} + +//// [importNotElidedWhenNotFound.js] +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +exports.__esModule = true; +var file_1 = require("file"); +var other_file_1 = require("other_file"); +var Y = /** @class */ (function (_super) { + __extends(Y, _super); + function Y() { + return _super.call(this, file_1["default"]) || this; + } + return Y; +}(other_file_1["default"])); diff --git a/tests/baselines/reference/importNotElidedWhenNotFound.symbols b/tests/baselines/reference/importNotElidedWhenNotFound.symbols new file mode 100644 index 00000000000..37558d6be3d --- /dev/null +++ b/tests/baselines/reference/importNotElidedWhenNotFound.symbols @@ -0,0 +1,16 @@ +=== tests/cases/compiler/importNotElidedWhenNotFound.ts === +import X from 'file'; +>X : Symbol(X, Decl(importNotElidedWhenNotFound.ts, 0, 6)) + +import Z from 'other_file'; +>Z : Symbol(Z, Decl(importNotElidedWhenNotFound.ts, 1, 6)) + +class Y extends Z { +>Y : Symbol(Y, Decl(importNotElidedWhenNotFound.ts, 1, 27)) +>Z : Symbol(Z, Decl(importNotElidedWhenNotFound.ts, 1, 6)) + + constructor() { + super(X); +>X : Symbol(X, Decl(importNotElidedWhenNotFound.ts, 0, 6)) + } +} diff --git a/tests/baselines/reference/importNotElidedWhenNotFound.types b/tests/baselines/reference/importNotElidedWhenNotFound.types new file mode 100644 index 00000000000..02304b6e2d2 --- /dev/null +++ b/tests/baselines/reference/importNotElidedWhenNotFound.types @@ -0,0 +1,18 @@ +=== tests/cases/compiler/importNotElidedWhenNotFound.ts === +import X from 'file'; +>X : any + +import Z from 'other_file'; +>Z : any + +class Y extends Z { +>Y : Y +>Z : any + + constructor() { + super(X); +>super(X) : void +>super : any +>X : any + } +} diff --git a/tests/cases/compiler/importNotElidedWhenNotFound.ts b/tests/cases/compiler/importNotElidedWhenNotFound.ts new file mode 100644 index 00000000000..2ff7cd64d0d --- /dev/null +++ b/tests/cases/compiler/importNotElidedWhenNotFound.ts @@ -0,0 +1,8 @@ +import X from 'file'; +import Z from 'other_file'; + +class Y extends Z { + constructor() { + super(X); + } +} \ No newline at end of file From e9cddd471d4c8ff40261ec1808c446272e6f6246 Mon Sep 17 00:00:00 2001 From: Benjamin Lichtman Date: Fri, 1 Jun 2018 14:21:21 -0700 Subject: [PATCH 31/76] Add test --- src/harness/unittests/typingsInstaller.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/harness/unittests/typingsInstaller.ts b/src/harness/unittests/typingsInstaller.ts index 34176e8563c..0b355d5aa89 100644 --- a/src/harness/unittests/typingsInstaller.ts +++ b/src/harness/unittests/typingsInstaller.ts @@ -1340,6 +1340,27 @@ namespace ts.projectSystem { assert.deepEqual(result.newTypingNames, ["bar"]); }); + it("should gracefully handle packages that have been removed from the types-registry", () => { + const f = { + path: "/a/b/app.js", + content: "" + }; + const node = { + path: "/a/b/node.d.ts", + content: "" + }; + const host = createServerHost([f, node]); + const cache = createMapFromTemplate({ node: { typingLocation: node.path, version: Semver.parse("1.3.0") } }); + const logger = trackingLogger(); + const result = JsTyping.discoverTypings(host, logger.log, [f.path], getDirectoryPath(f.path), emptySafeList, cache, { enable: true }, ["fs", "bar"], emptyMap); + assert.deepEqual(logger.finish(), [ + 'Inferred typings from unresolved imports: ["node","bar"]', + 'Result: {"cachedTypingPaths":[],"newTypingNames":["node","bar"],"filesToWatch":["/a/b/bower_components","/a/b/node_modules"]}', + ]); + assert.deepEqual(result.cachedTypingPaths, []); + assert.deepEqual(result.newTypingNames, ["node", "bar"]); + }); + it("should search only 2 levels deep", () => { const app = { path: "/app.js", From fb853a6624f8c1c6a9f2c7bf6bb403f12cd9b264 Mon Sep 17 00:00:00 2001 From: csigs Date: Fri, 1 Jun 2018 22:10:44 +0000 Subject: [PATCH 32/76] LEGO: check in for master to temporary branch. --- .../diagnosticMessages.generated.json.lcl | 27 +++++++++++++++++++ .../diagnosticMessages.generated.json.lcl | 9 +++++++ 2 files changed, 36 insertions(+) diff --git a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl index 0d661980ba6..25dd803be2c 100644 --- a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2619,6 +2619,24 @@ + + + + + + + + + + + + + + + + + + @@ -5433,6 +5451,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl index 2b06595787f..6be145f0c21 100644 --- a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2634,12 +2634,18 @@ + + + + + + @@ -5460,6 +5466,9 @@ + + + From 34cee162ed287709e3313ed13e0a178fc67f3704 Mon Sep 17 00:00:00 2001 From: Benjamin Lichtman Date: Fri, 1 Jun 2018 15:21:22 -0700 Subject: [PATCH 33/76] Replace has with get and check undefined --- src/services/jsTyping.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index ee757a0ca28..516c66688dc 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -160,7 +160,8 @@ namespace ts.JsTyping { } // Add the cached typing locations for inferred typings that are already installed packageNameToTypingLocation.forEach((typing, name) => { - if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && typesRegistry.has(name) && isTypingUpToDate(typing, typesRegistry.get(name)!)) { + const registryEntry = typesRegistry.get(name); + if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && registryEntry !== undefined && isTypingUpToDate(typing, typesRegistry.get(name)!)) { inferredTypings.set(name, typing.typingLocation); } }); From 8f14e24575d88d8804e8efca60208594ee30d42b Mon Sep 17 00:00:00 2001 From: Benjamin Lichtman Date: Fri, 1 Jun 2018 15:32:23 -0700 Subject: [PATCH 34/76] Remove second get call --- src/services/jsTyping.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index 516c66688dc..21fe04562e9 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -161,7 +161,7 @@ namespace ts.JsTyping { // Add the cached typing locations for inferred typings that are already installed packageNameToTypingLocation.forEach((typing, name) => { const registryEntry = typesRegistry.get(name); - if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && registryEntry !== undefined && isTypingUpToDate(typing, typesRegistry.get(name)!)) { + if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && registryEntry !== undefined && isTypingUpToDate(typing, registryEntry!)) { inferredTypings.set(name, typing.typingLocation); } }); From 4f4759590b95442c0225a07dc53d128b6b359e22 Mon Sep 17 00:00:00 2001 From: Benjamin Lichtman Date: Fri, 1 Jun 2018 15:52:19 -0700 Subject: [PATCH 35/76] Always get latest tag of types-registry --- src/server/typingsInstaller/nodeTypingsInstaller.ts | 2 +- src/server/typingsInstaller/typingsInstaller.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/typingsInstaller/nodeTypingsInstaller.ts b/src/server/typingsInstaller/nodeTypingsInstaller.ts index 6de5d9e1e0c..d2c7269f9bf 100644 --- a/src/server/typingsInstaller/nodeTypingsInstaller.ts +++ b/src/server/typingsInstaller/nodeTypingsInstaller.ts @@ -106,7 +106,7 @@ namespace ts.server.typingsInstaller { if (this.log.isEnabled()) { this.log.writeLine(`Updating ${typesRegistryPackageName} npm package...`); } - this.execSyncAndLog(`${this.npmPath} install --ignore-scripts ${typesRegistryPackageName}`, { cwd: globalTypingsCacheLocation }); + this.execSyncAndLog(`${this.npmPath} install --ignore-scripts ${typesRegistryPackageName}@${this.latestDistTag}`, { cwd: globalTypingsCacheLocation }); if (this.log.isEnabled()) { this.log.writeLine(`Updated ${typesRegistryPackageName} npm package`); } diff --git a/src/server/typingsInstaller/typingsInstaller.ts b/src/server/typingsInstaller/typingsInstaller.ts index 5c1fcda6184..772753c00bb 100644 --- a/src/server/typingsInstaller/typingsInstaller.ts +++ b/src/server/typingsInstaller/typingsInstaller.ts @@ -350,7 +350,7 @@ namespace ts.server.typingsInstaller { // packageName is guaranteed to exist in typesRegistry by filterTypings const distTags = this.typesRegistry.get(packageName)!; - const newVersion = Semver.parse(distTags[`ts${versionMajorMinor}`] || distTags[latestDistTag]); + const newVersion = Semver.parse(distTags[`ts${versionMajorMinor}`] || distTags[this.latestDistTag]); const newTyping: JsTyping.CachedTyping = { typingLocation: typingFile, version: newVersion }; this.packageNameToTypingLocation.set(packageName, newTyping); installedTypingFiles.push(typingFile); @@ -523,12 +523,12 @@ namespace ts.server.typingsInstaller { protected abstract installWorker(requestId: number, packageNames: string[], cwd: string, onRequestCompleted: RequestCompletedAction): void; protected abstract sendResponse(response: SetTypings | InvalidateCachedTypings | BeginInstallTypes | EndInstallTypes): void; + + protected latestDistTag = "latest"; } /* @internal */ export function typingsName(packageName: string): string { return `@types/${packageName}@ts${versionMajorMinor}`; } - - const latestDistTag = "latest"; } From 80dbaf90c6c3b6febc61fa203a9b328642336656 Mon Sep 17 00:00:00 2001 From: Benjamin Lichtman Date: Fri, 1 Jun 2018 16:03:04 -0700 Subject: [PATCH 36/76] Make tag readonly --- src/server/typingsInstaller/typingsInstaller.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/typingsInstaller/typingsInstaller.ts b/src/server/typingsInstaller/typingsInstaller.ts index 772753c00bb..66e8e6fe3b8 100644 --- a/src/server/typingsInstaller/typingsInstaller.ts +++ b/src/server/typingsInstaller/typingsInstaller.ts @@ -524,7 +524,7 @@ namespace ts.server.typingsInstaller { protected abstract installWorker(requestId: number, packageNames: string[], cwd: string, onRequestCompleted: RequestCompletedAction): void; protected abstract sendResponse(response: SetTypings | InvalidateCachedTypings | BeginInstallTypes | EndInstallTypes): void; - protected latestDistTag = "latest"; + protected readonly latestDistTag = "latest"; } /* @internal */ From 9be846e1f2df180b2563180db2059ef65463b9fa Mon Sep 17 00:00:00 2001 From: Andy Date: Fri, 1 Jun 2018 16:49:54 -0700 Subject: [PATCH 37/76] Fix bug when name resolution fails in a @typedef: Don't set `lastLocation` (#24585) * Fix bug when name resolution fails in a @typedef: Don't set `lastLocation` * Add noEmit to test --- src/compiler/checker.ts | 5 ++--- .../jsdocResolveNameFailureInTypedef.errors.txt | 15 +++++++++++++++ .../jsdocResolveNameFailureInTypedef.symbols | 12 ++++++++++++ .../jsdocResolveNameFailureInTypedef.types | 12 ++++++++++++ .../compiler/jsdocResolveNameFailureInTypedef.ts | 13 +++++++++++++ 5 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 tests/baselines/reference/jsdocResolveNameFailureInTypedef.errors.txt create mode 100644 tests/baselines/reference/jsdocResolveNameFailureInTypedef.symbols create mode 100644 tests/baselines/reference/jsdocResolveNameFailureInTypedef.types create mode 100644 tests/cases/compiler/jsdocResolveNameFailureInTypedef.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 2df1a583876..dc43faac435 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1458,9 +1458,8 @@ namespace ts { case SyntaxKind.JSDocTypedefTag: case SyntaxKind.JSDocCallbackTag: // js type aliases do not resolve names from their host, so skip past it - lastLocation = location; - location = getJSDocHost(location).parent; - continue; + location = getJSDocHost(location); + break; } if (isSelfReferenceLocation(location)) { lastSelfReferenceLocation = location; diff --git a/tests/baselines/reference/jsdocResolveNameFailureInTypedef.errors.txt b/tests/baselines/reference/jsdocResolveNameFailureInTypedef.errors.txt new file mode 100644 index 00000000000..220be597bdb --- /dev/null +++ b/tests/baselines/reference/jsdocResolveNameFailureInTypedef.errors.txt @@ -0,0 +1,15 @@ +/a.js(7,14): error TS2304: Cannot find name 'CantResolveThis'. + + +==== /a.js (1 errors) ==== + /** + * @param {Ty} x + */ + function f(x) {} + + /** + * @typedef {CantResolveThis} Ty + ~~~~~~~~~~~~~~~ +!!! error TS2304: Cannot find name 'CantResolveThis'. + */ + \ No newline at end of file diff --git a/tests/baselines/reference/jsdocResolveNameFailureInTypedef.symbols b/tests/baselines/reference/jsdocResolveNameFailureInTypedef.symbols new file mode 100644 index 00000000000..36d8565cf01 --- /dev/null +++ b/tests/baselines/reference/jsdocResolveNameFailureInTypedef.symbols @@ -0,0 +1,12 @@ +=== /a.js === +/** + * @param {Ty} x + */ +function f(x) {} +>f : Symbol(f, Decl(a.js, 0, 0)) +>x : Symbol(x, Decl(a.js, 3, 11)) + +/** + * @typedef {CantResolveThis} Ty + */ + diff --git a/tests/baselines/reference/jsdocResolveNameFailureInTypedef.types b/tests/baselines/reference/jsdocResolveNameFailureInTypedef.types new file mode 100644 index 00000000000..4d88a942fe9 --- /dev/null +++ b/tests/baselines/reference/jsdocResolveNameFailureInTypedef.types @@ -0,0 +1,12 @@ +=== /a.js === +/** + * @param {Ty} x + */ +function f(x) {} +>f : (x: any) => void +>x : any + +/** + * @typedef {CantResolveThis} Ty + */ + diff --git a/tests/cases/compiler/jsdocResolveNameFailureInTypedef.ts b/tests/cases/compiler/jsdocResolveNameFailureInTypedef.ts new file mode 100644 index 00000000000..016893cfd7b --- /dev/null +++ b/tests/cases/compiler/jsdocResolveNameFailureInTypedef.ts @@ -0,0 +1,13 @@ +// @allowJs: true +// @checkJs: true +// @noEmit: true + +// @Filename: /a.js +/** + * @param {Ty} x + */ +function f(x) {} + +/** + * @typedef {CantResolveThis} Ty + */ From d246c3c2bd464c6598d9cab45fe6b71bd8d37f33 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Fri, 1 Jun 2018 17:42:09 -0700 Subject: [PATCH 38/76] Disable source maps and declaration emit for the json module Fixes #24546 --- src/compiler/emitter.ts | 2 +- src/compiler/parser.ts | 1 + src/compiler/sourcemap.ts | 22 ++- src/harness/compiler.ts | 12 +- src/harness/harness.ts | 4 +- .../requireOfJsonFileWithDeclaration.js | 36 +++++ .../requireOfJsonFileWithDeclaration.symbols | 38 +++++ .../requireOfJsonFileWithDeclaration.types | 45 ++++++ .../requireOfJsonFileWithSourceMap.js | 33 ++++ .../requireOfJsonFileWithSourceMap.js.map | 2 + ...quireOfJsonFileWithSourceMap.sourcemap.txt | 145 ++++++++++++++++++ .../requireOfJsonFileWithSourceMap.symbols | 38 +++++ .../requireOfJsonFileWithSourceMap.types | 45 ++++++ .../requireOfJsonFileWithDeclaration.ts | 20 +++ .../requireOfJsonFileWithSourceMap.ts | 21 +++ 15 files changed, 453 insertions(+), 11 deletions(-) create mode 100644 tests/baselines/reference/requireOfJsonFileWithDeclaration.js create mode 100644 tests/baselines/reference/requireOfJsonFileWithDeclaration.symbols create mode 100644 tests/baselines/reference/requireOfJsonFileWithDeclaration.types create mode 100644 tests/baselines/reference/requireOfJsonFileWithSourceMap.js create mode 100644 tests/baselines/reference/requireOfJsonFileWithSourceMap.js.map create mode 100644 tests/baselines/reference/requireOfJsonFileWithSourceMap.sourcemap.txt create mode 100644 tests/baselines/reference/requireOfJsonFileWithSourceMap.symbols create mode 100644 tests/baselines/reference/requireOfJsonFileWithSourceMap.types create mode 100644 tests/cases/compiler/requireOfJsonFileWithDeclaration.ts create mode 100644 tests/cases/compiler/requireOfJsonFileWithSourceMap.ts diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 5af58a11678..90ec1c793a3 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -50,7 +50,7 @@ namespace ts { } else { const jsFilePath = getOwnEmitOutputFilePath(sourceFile, host, getOutputExtension(sourceFile, options)); - const sourceMapFilePath = getSourceMapFilePath(jsFilePath, options); + const sourceMapFilePath = isJsonSourceFile(sourceFile) ? undefined : getSourceMapFilePath(jsFilePath, options); // For legacy reasons (ie, we have baselines capturing the behavior), js files don't report a .d.ts output path - this would only matter if `declaration` and `allowJs` were both on, which is currently an error const isJs = isSourceFileJavaScript(sourceFile); const declarationFilePath = ((forceDtsPaths || options.declaration) && !isJs) ? getDeclarationEmitOutputFilePath(sourceFile, host) : undefined; diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index ea5a2a33937..e8cbcf5163f 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -717,6 +717,7 @@ namespace ts { initializeState(sourceText, languageVersion, syntaxCursor, ScriptKind.JSON); // Set source file so that errors will be reported with this file name sourceFile = createSourceFile(fileName, ScriptTarget.ES2015, ScriptKind.JSON, /*isDeclaration*/ false); + sourceFile.flags = contextFlags; // Prime the scanner. nextToken(); diff --git a/src/compiler/sourcemap.ts b/src/compiler/sourcemap.ts index a274404f320..9229e2daa0e 100644 --- a/src/compiler/sourcemap.ts +++ b/src/compiler/sourcemap.ts @@ -125,7 +125,7 @@ namespace ts { * @param sourceFileOrBundle The input source file or bundle for the program. */ function initialize(filePath: string, sourceMapFilePath: string, sourceFileOrBundle: SourceFile | Bundle, outputSourceMapDataList?: SourceMapData[]) { - if (disabled) { + if (disabled || fileExtensionIs(filePath, Extension.Json)) { return; } @@ -270,7 +270,7 @@ namespace ts { * @param pos The position. */ function emitPos(pos: number) { - if (disabled || positionIsSynthesized(pos)) { + if (disabled || positionIsSynthesized(pos) || isJsonSourceMapSource(currentSource)) { return; } @@ -328,7 +328,7 @@ namespace ts { * @param emitCallback The callback used to emit the node. */ function emitNodeWithSourceMap(hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void) { - if (disabled) { + if (disabled || isInJsonFile(node)) { return emitCallback(hint, node); } @@ -381,7 +381,7 @@ namespace ts { * @param emitCallback The callback used to emit the token. */ function emitTokenWithSourceMap(node: Node, token: SyntaxKind, writer: (s: string) => void, tokenPos: number, emitCallback: (token: SyntaxKind, writer: (s: string) => void, tokenStartPos: number) => number) { - if (disabled) { + if (disabled || isInJsonFile(node)) { return emitCallback(token, writer, tokenPos); } @@ -404,6 +404,10 @@ namespace ts { return tokenPos; } + function isJsonSourceMapSource(sourceFile: SourceMapSource) { + return fileExtensionIs(sourceFile.fileName, Extension.Json); + } + /** * Set the current source file. * @@ -417,6 +421,10 @@ namespace ts { currentSource = sourceFile; currentSourceText = currentSource.text; + if (isJsonSourceMapSource(sourceFile)) { + return; + } + // Add the file to tsFilePaths // If sourceroot option: Use the relative path corresponding to the common directory path // otherwise source locations relative to map file location @@ -446,7 +454,7 @@ namespace ts { * Gets the text for the source map. */ function getText() { - if (disabled) { + if (disabled || isJsonSourceMapSource(currentSource)) { return undefined!; // TODO: GH#18217 } @@ -467,7 +475,7 @@ namespace ts { * Gets the SourceMappingURL for the source map. */ function getSourceMappingURL() { - if (disabled) { + if (disabled || isJsonSourceMapSource(currentSource)) { return undefined!; // TODO: GH#18217 } @@ -519,4 +527,4 @@ namespace ts { return encodedStr; } -} \ No newline at end of file +} diff --git a/src/harness/compiler.ts b/src/harness/compiler.ts index 95a7d85fe58..1290bbb4be8 100644 --- a/src/harness/compiler.ts +++ b/src/harness/compiler.ts @@ -183,7 +183,7 @@ namespace compiler { public getSourceMapRecord(): string | undefined { if (this.result!.sourceMaps && this.result!.sourceMaps!.length > 0) { - return Harness.SourceMapRecorder.getSourceMapRecord(this.result!.sourceMaps!, this.program!, Array.from(this.js.values()), Array.from(this.dts.values())); + return Harness.SourceMapRecorder.getSourceMapRecord(this.result!.sourceMaps!, this.program!, Array.from(this.js.values()).filter(d => !ts.fileExtensionIs(d.file, ts.Extension.Json)), Array.from(this.dts.values())); } } @@ -216,6 +216,16 @@ namespace compiler { } return vpath.changeExtension(path, ext); } + + public getNumberOfJsFiles() { + let count = this.js.size; + this.js.forEach(document => { + if (ts.fileExtensionIs(document.file, ts.Extension.Json)) { + count--; + } + }); + return count; + } } export function compileFiles(host: fakes.CompilerHost, rootFiles: string[] | undefined, compilerOptions: ts.CompilerOptions): CompilationResult { diff --git a/src/harness/harness.ts b/src/harness/harness.ts index d57de0cb910..d325883fc11 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -1270,7 +1270,7 @@ namespace Harness { throw new Error("Only declaration files should be generated when emitDeclarationOnly:true"); } } - else if (result.dts.size !== result.js.size) { + else if (result.dts.size !== result.getNumberOfJsFiles()) { throw new Error("There were no errors and declFiles generated did not match number of js files generated"); } } @@ -1645,7 +1645,7 @@ namespace Harness { return; } else if (options.sourceMap || declMaps) { - if (result.maps.size !== (result.js.size * (declMaps && options.sourceMap ? 2 : 1))) { + if (result.maps.size !== (result.getNumberOfJsFiles() * (declMaps && options.sourceMap ? 2 : 1))) { throw new Error("Number of sourcemap files should be same as js files."); } diff --git a/tests/baselines/reference/requireOfJsonFileWithDeclaration.js b/tests/baselines/reference/requireOfJsonFileWithDeclaration.js new file mode 100644 index 00000000000..2cb5085ffb7 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithDeclaration.js @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/requireOfJsonFileWithDeclaration.ts] //// + +//// [file1.ts] +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] +{ + "a": true, + "b": "hello" +} + +//// [out/b.json] +{ + "a": true, + "b": "hello" +} +//// [out/file1.js] +"use strict"; +exports.__esModule = true; +var b1 = require("./b.json"); +var x = b1.a; +var b2 = require("./b.json"); +if (x) { + var b = b2.b; + x = (b1.b === b); +} + + +//// [out/file1.d.ts] +export {}; diff --git a/tests/baselines/reference/requireOfJsonFileWithDeclaration.symbols b/tests/baselines/reference/requireOfJsonFileWithDeclaration.symbols new file mode 100644 index 00000000000..a8f82b6b145 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithDeclaration.symbols @@ -0,0 +1,38 @@ +=== tests/cases/compiler/file1.ts === +import b1 = require('./b.json'); +>b1 : Symbol(b1, Decl(file1.ts, 0, 0)) + +let x = b1.a; +>x : Symbol(x, Decl(file1.ts, 1, 3)) +>b1.a : Symbol("a", Decl(b.json, 0, 1)) +>b1 : Symbol(b1, Decl(file1.ts, 0, 0)) +>a : Symbol("a", Decl(b.json, 0, 1)) + +import b2 = require('./b.json'); +>b2 : Symbol(b2, Decl(file1.ts, 1, 13)) + +if (x) { +>x : Symbol(x, Decl(file1.ts, 1, 3)) + + let b = b2.b; +>b : Symbol(b, Decl(file1.ts, 4, 7)) +>b2.b : Symbol("b", Decl(b.json, 1, 14)) +>b2 : Symbol(b2, Decl(file1.ts, 1, 13)) +>b : Symbol("b", Decl(b.json, 1, 14)) + + x = (b1.b === b); +>x : Symbol(x, Decl(file1.ts, 1, 3)) +>b1.b : Symbol("b", Decl(b.json, 1, 14)) +>b1 : Symbol(b1, Decl(file1.ts, 0, 0)) +>b : Symbol("b", Decl(b.json, 1, 14)) +>b : Symbol(b, Decl(file1.ts, 4, 7)) +} + +=== tests/cases/compiler/b.json === +{ + "a": true, +>"a" : Symbol("a", Decl(b.json, 0, 1)) + + "b": "hello" +>"b" : Symbol("b", Decl(b.json, 1, 14)) +} diff --git a/tests/baselines/reference/requireOfJsonFileWithDeclaration.types b/tests/baselines/reference/requireOfJsonFileWithDeclaration.types new file mode 100644 index 00000000000..c718c429408 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithDeclaration.types @@ -0,0 +1,45 @@ +=== tests/cases/compiler/file1.ts === +import b1 = require('./b.json'); +>b1 : { "a": boolean; "b": string; } + +let x = b1.a; +>x : boolean +>b1.a : boolean +>b1 : { "a": boolean; "b": string; } +>a : boolean + +import b2 = require('./b.json'); +>b2 : { "a": boolean; "b": string; } + +if (x) { +>x : boolean + + let b = b2.b; +>b : string +>b2.b : string +>b2 : { "a": boolean; "b": string; } +>b : string + + x = (b1.b === b); +>x = (b1.b === b) : boolean +>x : boolean +>(b1.b === b) : boolean +>b1.b === b : boolean +>b1.b : string +>b1 : { "a": boolean; "b": string; } +>b : string +>b : string +} + +=== tests/cases/compiler/b.json === +{ +>{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } + + "a": true, +>"a" : boolean +>true : true + + "b": "hello" +>"b" : string +>"hello" : "hello" +} diff --git a/tests/baselines/reference/requireOfJsonFileWithSourceMap.js b/tests/baselines/reference/requireOfJsonFileWithSourceMap.js new file mode 100644 index 00000000000..2a6b929f662 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithSourceMap.js @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/requireOfJsonFileWithSourceMap.ts] //// + +//// [file1.ts] +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] +{ + "a": true, + "b": "hello" +} + +//// [out/b.json] +{ + "a": true, + "b": "hello" +} +//// [out/file1.js] +"use strict"; +exports.__esModule = true; +var b1 = require("./b.json"); +var x = b1.a; +var b2 = require("./b.json"); +if (x) { + var b = b2.b; + x = (b1.b === b); +} +//# sourceMappingURL=file1.js.map \ No newline at end of file diff --git a/tests/baselines/reference/requireOfJsonFileWithSourceMap.js.map b/tests/baselines/reference/requireOfJsonFileWithSourceMap.js.map new file mode 100644 index 00000000000..d0848a65469 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithSourceMap.js.map @@ -0,0 +1,2 @@ +//// [out/file1.js.map] +{"version":3,"file":"file1.js","sourceRoot":"","sources":["../tests/cases/compiler/file1.ts"],"names":[],"mappings":";;AAAA,6BAAgC;AAChC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACb,6BAAgC;AAChC,IAAI,CAAC,EAAE;IACH,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACb,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;CACpB"} \ No newline at end of file diff --git a/tests/baselines/reference/requireOfJsonFileWithSourceMap.sourcemap.txt b/tests/baselines/reference/requireOfJsonFileWithSourceMap.sourcemap.txt new file mode 100644 index 00000000000..ac39c3d7464 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithSourceMap.sourcemap.txt @@ -0,0 +1,145 @@ +=================================================================== +JsFile: file1.js +mapUrl: file1.js.map +sourceRoot: +sources: ../tests/cases/compiler/file1.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:out/file1.js +sourceFile:../tests/cases/compiler/file1.ts +------------------------------------------------------------------- +>>>"use strict"; +>>>exports.__esModule = true; +>>>var b1 = require("./b.json"); +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 >import b1 = require('./b.json'); +1 >Emitted(3, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(3, 30) Source(1, 33) + SourceIndex(0) +--- +>>>var x = b1.a; +1 > +2 >^^^^ +3 > ^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^ +8 > ^ +9 > ^^^^^^^^^^^^^^^^^-> +1 > + > +2 >let +3 > x +4 > = +5 > b1 +6 > . +7 > a +8 > ; +1 >Emitted(4, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(4, 5) Source(2, 5) + SourceIndex(0) +3 >Emitted(4, 6) Source(2, 6) + SourceIndex(0) +4 >Emitted(4, 9) Source(2, 9) + SourceIndex(0) +5 >Emitted(4, 11) Source(2, 11) + SourceIndex(0) +6 >Emitted(4, 12) Source(2, 12) + SourceIndex(0) +7 >Emitted(4, 13) Source(2, 13) + SourceIndex(0) +8 >Emitted(4, 14) Source(2, 14) + SourceIndex(0) +--- +>>>var b2 = require("./b.json"); +1-> +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> + > +2 >import b2 = require('./b.json'); +1->Emitted(5, 1) Source(3, 1) + SourceIndex(0) +2 >Emitted(5, 30) Source(3, 33) + SourceIndex(0) +--- +>>>if (x) { +1 > +2 >^^^^ +3 > ^ +4 > ^^ +5 > ^^^^^^^^^^^-> +1 > + > +2 >if ( +3 > x +4 > ) +1 >Emitted(6, 1) Source(4, 1) + SourceIndex(0) +2 >Emitted(6, 5) Source(4, 5) + SourceIndex(0) +3 >Emitted(6, 6) Source(4, 6) + SourceIndex(0) +4 >Emitted(6, 8) Source(4, 8) + SourceIndex(0) +--- +>>> var b = b2.b; +1->^^^^ +2 > ^^^^ +3 > ^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^ +8 > ^ +9 > ^^^^^-> +1->{ + > +2 > let +3 > b +4 > = +5 > b2 +6 > . +7 > b +8 > ; +1->Emitted(7, 5) Source(5, 5) + SourceIndex(0) +2 >Emitted(7, 9) Source(5, 9) + SourceIndex(0) +3 >Emitted(7, 10) Source(5, 10) + SourceIndex(0) +4 >Emitted(7, 13) Source(5, 13) + SourceIndex(0) +5 >Emitted(7, 15) Source(5, 15) + SourceIndex(0) +6 >Emitted(7, 16) Source(5, 16) + SourceIndex(0) +7 >Emitted(7, 17) Source(5, 17) + SourceIndex(0) +8 >Emitted(7, 18) Source(5, 18) + SourceIndex(0) +--- +>>> x = (b1.b === b); +1->^^^^ +2 > ^ +3 > ^^^ +4 > ^ +5 > ^^ +6 > ^ +7 > ^ +8 > ^^^^^ +9 > ^ +10> ^ +11> ^ +1-> + > +2 > x +3 > = +4 > ( +5 > b1 +6 > . +7 > b +8 > === +9 > b +10> ) +11> ; +1->Emitted(8, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(8, 6) Source(6, 6) + SourceIndex(0) +3 >Emitted(8, 9) Source(6, 9) + SourceIndex(0) +4 >Emitted(8, 10) Source(6, 10) + SourceIndex(0) +5 >Emitted(8, 12) Source(6, 12) + SourceIndex(0) +6 >Emitted(8, 13) Source(6, 13) + SourceIndex(0) +7 >Emitted(8, 14) Source(6, 14) + SourceIndex(0) +8 >Emitted(8, 19) Source(6, 19) + SourceIndex(0) +9 >Emitted(8, 20) Source(6, 20) + SourceIndex(0) +10>Emitted(8, 21) Source(6, 21) + SourceIndex(0) +11>Emitted(8, 22) Source(6, 22) + SourceIndex(0) +--- +>>>} +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +1 >Emitted(9, 2) Source(7, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=file1.js.map \ No newline at end of file diff --git a/tests/baselines/reference/requireOfJsonFileWithSourceMap.symbols b/tests/baselines/reference/requireOfJsonFileWithSourceMap.symbols new file mode 100644 index 00000000000..a8f82b6b145 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithSourceMap.symbols @@ -0,0 +1,38 @@ +=== tests/cases/compiler/file1.ts === +import b1 = require('./b.json'); +>b1 : Symbol(b1, Decl(file1.ts, 0, 0)) + +let x = b1.a; +>x : Symbol(x, Decl(file1.ts, 1, 3)) +>b1.a : Symbol("a", Decl(b.json, 0, 1)) +>b1 : Symbol(b1, Decl(file1.ts, 0, 0)) +>a : Symbol("a", Decl(b.json, 0, 1)) + +import b2 = require('./b.json'); +>b2 : Symbol(b2, Decl(file1.ts, 1, 13)) + +if (x) { +>x : Symbol(x, Decl(file1.ts, 1, 3)) + + let b = b2.b; +>b : Symbol(b, Decl(file1.ts, 4, 7)) +>b2.b : Symbol("b", Decl(b.json, 1, 14)) +>b2 : Symbol(b2, Decl(file1.ts, 1, 13)) +>b : Symbol("b", Decl(b.json, 1, 14)) + + x = (b1.b === b); +>x : Symbol(x, Decl(file1.ts, 1, 3)) +>b1.b : Symbol("b", Decl(b.json, 1, 14)) +>b1 : Symbol(b1, Decl(file1.ts, 0, 0)) +>b : Symbol("b", Decl(b.json, 1, 14)) +>b : Symbol(b, Decl(file1.ts, 4, 7)) +} + +=== tests/cases/compiler/b.json === +{ + "a": true, +>"a" : Symbol("a", Decl(b.json, 0, 1)) + + "b": "hello" +>"b" : Symbol("b", Decl(b.json, 1, 14)) +} diff --git a/tests/baselines/reference/requireOfJsonFileWithSourceMap.types b/tests/baselines/reference/requireOfJsonFileWithSourceMap.types new file mode 100644 index 00000000000..c718c429408 --- /dev/null +++ b/tests/baselines/reference/requireOfJsonFileWithSourceMap.types @@ -0,0 +1,45 @@ +=== tests/cases/compiler/file1.ts === +import b1 = require('./b.json'); +>b1 : { "a": boolean; "b": string; } + +let x = b1.a; +>x : boolean +>b1.a : boolean +>b1 : { "a": boolean; "b": string; } +>a : boolean + +import b2 = require('./b.json'); +>b2 : { "a": boolean; "b": string; } + +if (x) { +>x : boolean + + let b = b2.b; +>b : string +>b2.b : string +>b2 : { "a": boolean; "b": string; } +>b : string + + x = (b1.b === b); +>x = (b1.b === b) : boolean +>x : boolean +>(b1.b === b) : boolean +>b1.b === b : boolean +>b1.b : string +>b1 : { "a": boolean; "b": string; } +>b : string +>b : string +} + +=== tests/cases/compiler/b.json === +{ +>{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } + + "a": true, +>"a" : boolean +>true : true + + "b": "hello" +>"b" : string +>"hello" : "hello" +} diff --git a/tests/cases/compiler/requireOfJsonFileWithDeclaration.ts b/tests/cases/compiler/requireOfJsonFileWithDeclaration.ts new file mode 100644 index 00000000000..5a288ce76ca --- /dev/null +++ b/tests/cases/compiler/requireOfJsonFileWithDeclaration.ts @@ -0,0 +1,20 @@ +// @module: commonjs +// @outdir: out/ +// @fullEmitPaths: true +// @resolveJsonModule: true +// @declaration: true + +// @Filename: file1.ts +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +// @Filename: b.json +{ + "a": true, + "b": "hello" +} \ No newline at end of file diff --git a/tests/cases/compiler/requireOfJsonFileWithSourceMap.ts b/tests/cases/compiler/requireOfJsonFileWithSourceMap.ts new file mode 100644 index 00000000000..d83fbda47a0 --- /dev/null +++ b/tests/cases/compiler/requireOfJsonFileWithSourceMap.ts @@ -0,0 +1,21 @@ +// @module: commonjs +// @outdir: out/ +// @allowJs: true +// @fullEmitPaths: true +// @resolveJsonModule: true +// @sourceMap: true + +// @Filename: file1.ts +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +// @Filename: b.json +{ + "a": true, + "b": "hello" +} \ No newline at end of file From 7e0ed5ec4d920fcc7824ce3fbe3fe81a4f16625f Mon Sep 17 00:00:00 2001 From: David Sherret Date: Fri, 1 Jun 2018 22:01:04 -0400 Subject: [PATCH 39/76] Fix createProgram js docs. --- src/compiler/program.ts | 12 +++++++++++- tests/baselines/reference/api/tsserverlibrary.d.ts | 12 +++++++++++- tests/baselines/reference/api/typescript.d.ts | 12 +++++++++++- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 715f5377b16..2bdb23a2c3e 100755 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -488,6 +488,17 @@ namespace ts { }; } + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param createProgramOptions - The options for creating a program. + * @returns A 'Program' object. + */ + export function createProgram(createProgramOptions: CreateProgramOptions): Program; /** * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' * that represent a compilation unit. @@ -502,7 +513,6 @@ namespace ts { * @param configFileParsingDiagnostics - error during config file parsing * @returns A 'Program' object. */ - export function createProgram(createProgramOptions: CreateProgramOptions): Program; export function createProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: ReadonlyArray): Program; export function createProgram(rootNamesOrOptions: ReadonlyArray | CreateProgramOptions, _options?: CompilerOptions, _host?: CompilerHost, _oldProgram?: Program, _configFileParsingDiagnostics?: ReadonlyArray): Program { const createProgramOptions = isArray(rootNamesOrOptions) ? createCreateProgramOptions(rootNamesOrOptions, _options!, _host, _oldProgram, _configFileParsingDiagnostics) : rootNamesOrOptions; // TODO: GH#18217 diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index 8f065e362d2..e388200ea0a 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -4022,6 +4022,17 @@ declare namespace ts { function formatDiagnosticsWithColorAndContext(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain | undefined, newLine: string): string; function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): ReadonlyArray; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param createProgramOptions - The options for creating a program. + * @returns A 'Program' object. + */ + function createProgram(createProgramOptions: CreateProgramOptions): Program; /** * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' * that represent a compilation unit. @@ -4036,7 +4047,6 @@ declare namespace ts { * @param configFileParsingDiagnostics - error during config file parsing * @returns A 'Program' object. */ - function createProgram(createProgramOptions: CreateProgramOptions): Program; function createProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: ReadonlyArray): Program; } declare namespace ts { diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 86c001cdec4..a8d490a3e85 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -4022,6 +4022,17 @@ declare namespace ts { function formatDiagnosticsWithColorAndContext(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain | undefined, newLine: string): string; function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): ReadonlyArray; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param createProgramOptions - The options for creating a program. + * @returns A 'Program' object. + */ + function createProgram(createProgramOptions: CreateProgramOptions): Program; /** * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' * that represent a compilation unit. @@ -4036,7 +4047,6 @@ declare namespace ts { * @param configFileParsingDiagnostics - error during config file parsing * @returns A 'Program' object. */ - function createProgram(createProgramOptions: CreateProgramOptions): Program; function createProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: ReadonlyArray): Program; } declare namespace ts { From 72ac87f243b23bc0b89687edcce929c96b35b7ff Mon Sep 17 00:00:00 2001 From: csigs Date: Sat, 2 Jun 2018 04:10:31 +0000 Subject: [PATCH 40/76] LEGO: check in for master to temporary branch. --- .../diagnosticMessages.generated.json.lcl | 27 +++++++++++++++++++ .../diagnosticMessages.generated.json.lcl | 27 +++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl index fc9952d3b43..c5bb7599859 100644 --- a/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2628,6 +2628,24 @@ + + + + + + + + + + + + + + + + + + @@ -5442,6 +5460,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl index 339ed012ebb..5c86135cbf9 100644 --- a/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2612,6 +2612,24 @@ + + + + + + + + + + + + + + + + + + @@ -5426,6 +5444,15 @@ + + + + + + + + + From 0ff597c3a831ef39481714f3ad39c3b1e878aaaa Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 2 Jun 2018 17:42:07 -0700 Subject: [PATCH 41/76] Improve typeof x === "function" narrowing for non-unions --- src/compiler/checker.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index dc43faac435..9306907b418 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14112,11 +14112,14 @@ namespace ts { if (operator === SyntaxKind.ExclamationEqualsToken || operator === SyntaxKind.ExclamationEqualsEqualsToken) { assumeTrue = !assumeTrue; } + if (type.flags & TypeFlags.Any && literal.text === "function") { + return type; + } if (assumeTrue && !(type.flags & TypeFlags.Union)) { // We narrow a non-union type to an exact primitive type if the non-union type // is a supertype of that primitive type. For example, type 'any' can be narrowed // to one of the primitive types. - const targetType = typeofTypesByName.get(literal.text); + const targetType = literal.text === "function" ? globalFunctionType : typeofTypesByName.get(literal.text); if (targetType) { if (isTypeSubtypeOf(targetType, type)) { return targetType; From 6f2001fb237c47025f91c7d745d268a5fe428a6b Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 2 Jun 2018 17:43:37 -0700 Subject: [PATCH 42/76] Add tests --- .../typeGuardOfFormTypeOfFunction.ts | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfFunction.ts diff --git a/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfFunction.ts b/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfFunction.ts new file mode 100644 index 00000000000..cbacf60ce68 --- /dev/null +++ b/tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfFunction.ts @@ -0,0 +1,73 @@ + +function f1(x: any) { + if (typeof x === "function") { + x; // any + } +} + +function f2(x: unknown) { + if (typeof x === "function") { + x; // Function + } +} + +function f3(x: {}) { + if (typeof x === "function") { + x; // Function + } +} + +function f4(x: T) { + if (typeof x === "function") { + x; // T & Function + } +} + +function f5(x: { s: string }) { + if (typeof x === "function") { + x; // never + } +} + +function f6(x: () => string) { + if (typeof x === "function") { + x; // () => string + } +} + +function f10(x: string | (() => string)) { + if (typeof x === "function") { + x; // () => string + } + else { + x; // string + } +} + +function f11(x: { s: string } | (() => string)) { + if (typeof x === "function") { + x; // () => string + } + else { + x; // { s: string } + } +} + +function f12(x: { s: string } | { n: number }) { + if (typeof x === "function") { + x; // never + } + else { + x; // { s: string } | { n: number } + } +} + +// Repro from #18238 + +function f100(obj: T, keys: K[]) : void { + for (const k of keys) { + const item = obj[k]; + if (typeof item == 'function') + item.call(obj); + } +} From 8b38d357e1279ac1370c5faa674f59323aa174e4 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sat, 2 Jun 2018 17:44:02 -0700 Subject: [PATCH 43/76] Accept new baselines --- .../typeGuardOfFormTypeOfFunction.js | 139 +++++++++++++ .../typeGuardOfFormTypeOfFunction.symbols | 159 +++++++++++++++ .../typeGuardOfFormTypeOfFunction.types | 191 ++++++++++++++++++ 3 files changed, 489 insertions(+) create mode 100644 tests/baselines/reference/typeGuardOfFormTypeOfFunction.js create mode 100644 tests/baselines/reference/typeGuardOfFormTypeOfFunction.symbols create mode 100644 tests/baselines/reference/typeGuardOfFormTypeOfFunction.types diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfFunction.js b/tests/baselines/reference/typeGuardOfFormTypeOfFunction.js new file mode 100644 index 00000000000..2dfff84c36b --- /dev/null +++ b/tests/baselines/reference/typeGuardOfFormTypeOfFunction.js @@ -0,0 +1,139 @@ +//// [typeGuardOfFormTypeOfFunction.ts] +function f1(x: any) { + if (typeof x === "function") { + x; // any + } +} + +function f2(x: unknown) { + if (typeof x === "function") { + x; // Function + } +} + +function f3(x: {}) { + if (typeof x === "function") { + x; // Function + } +} + +function f4(x: T) { + if (typeof x === "function") { + x; // T & Function + } +} + +function f5(x: { s: string }) { + if (typeof x === "function") { + x; // never + } +} + +function f6(x: () => string) { + if (typeof x === "function") { + x; // () => string + } +} + +function f10(x: string | (() => string)) { + if (typeof x === "function") { + x; // () => string + } + else { + x; // string + } +} + +function f11(x: { s: string } | (() => string)) { + if (typeof x === "function") { + x; // () => string + } + else { + x; // { s: string } + } +} + +function f12(x: { s: string } | { n: number }) { + if (typeof x === "function") { + x; // never + } + else { + x; // { s: string } | { n: number } + } +} + +// Repro from #18238 + +function f100(obj: T, keys: K[]) : void { + for (const k of keys) { + const item = obj[k]; + if (typeof item == 'function') + item.call(obj); + } +} + + +//// [typeGuardOfFormTypeOfFunction.js] +function f1(x) { + if (typeof x === "function") { + x; // any + } +} +function f2(x) { + if (typeof x === "function") { + x; // Function + } +} +function f3(x) { + if (typeof x === "function") { + x; // Function + } +} +function f4(x) { + if (typeof x === "function") { + x; // T & Function + } +} +function f5(x) { + if (typeof x === "function") { + x; // never + } +} +function f6(x) { + if (typeof x === "function") { + x; // () => string + } +} +function f10(x) { + if (typeof x === "function") { + x; // () => string + } + else { + x; // string + } +} +function f11(x) { + if (typeof x === "function") { + x; // () => string + } + else { + x; // { s: string } + } +} +function f12(x) { + if (typeof x === "function") { + x; // never + } + else { + x; // { s: string } | { n: number } + } +} +// Repro from #18238 +function f100(obj, keys) { + for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) { + var k = keys_1[_i]; + var item = obj[k]; + if (typeof item == 'function') + item.call(obj); + } +} diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfFunction.symbols b/tests/baselines/reference/typeGuardOfFormTypeOfFunction.symbols new file mode 100644 index 00000000000..accc628aff9 --- /dev/null +++ b/tests/baselines/reference/typeGuardOfFormTypeOfFunction.symbols @@ -0,0 +1,159 @@ +=== tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfFunction.ts === +function f1(x: any) { +>f1 : Symbol(f1, Decl(typeGuardOfFormTypeOfFunction.ts, 0, 0)) +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 0, 12)) + + if (typeof x === "function") { +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 0, 12)) + + x; // any +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 0, 12)) + } +} + +function f2(x: unknown) { +>f2 : Symbol(f2, Decl(typeGuardOfFormTypeOfFunction.ts, 4, 1)) +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 6, 12)) + + if (typeof x === "function") { +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 6, 12)) + + x; // Function +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 6, 12)) + } +} + +function f3(x: {}) { +>f3 : Symbol(f3, Decl(typeGuardOfFormTypeOfFunction.ts, 10, 1)) +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 12, 12)) + + if (typeof x === "function") { +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 12, 12)) + + x; // Function +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 12, 12)) + } +} + +function f4(x: T) { +>f4 : Symbol(f4, Decl(typeGuardOfFormTypeOfFunction.ts, 16, 1)) +>T : Symbol(T, Decl(typeGuardOfFormTypeOfFunction.ts, 18, 12)) +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 18, 15)) +>T : Symbol(T, Decl(typeGuardOfFormTypeOfFunction.ts, 18, 12)) + + if (typeof x === "function") { +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 18, 15)) + + x; // T & Function +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 18, 15)) + } +} + +function f5(x: { s: string }) { +>f5 : Symbol(f5, Decl(typeGuardOfFormTypeOfFunction.ts, 22, 1)) +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 24, 12)) +>s : Symbol(s, Decl(typeGuardOfFormTypeOfFunction.ts, 24, 16)) + + if (typeof x === "function") { +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 24, 12)) + + x; // never +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 24, 12)) + } +} + +function f6(x: () => string) { +>f6 : Symbol(f6, Decl(typeGuardOfFormTypeOfFunction.ts, 28, 1)) +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 30, 12)) + + if (typeof x === "function") { +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 30, 12)) + + x; // () => string +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 30, 12)) + } +} + +function f10(x: string | (() => string)) { +>f10 : Symbol(f10, Decl(typeGuardOfFormTypeOfFunction.ts, 34, 1)) +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 36, 13)) + + if (typeof x === "function") { +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 36, 13)) + + x; // () => string +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 36, 13)) + } + else { + x; // string +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 36, 13)) + } +} + +function f11(x: { s: string } | (() => string)) { +>f11 : Symbol(f11, Decl(typeGuardOfFormTypeOfFunction.ts, 43, 1)) +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 45, 13)) +>s : Symbol(s, Decl(typeGuardOfFormTypeOfFunction.ts, 45, 17)) + + if (typeof x === "function") { +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 45, 13)) + + x; // () => string +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 45, 13)) + } + else { + x; // { s: string } +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 45, 13)) + } +} + +function f12(x: { s: string } | { n: number }) { +>f12 : Symbol(f12, Decl(typeGuardOfFormTypeOfFunction.ts, 52, 1)) +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 54, 13)) +>s : Symbol(s, Decl(typeGuardOfFormTypeOfFunction.ts, 54, 17)) +>n : Symbol(n, Decl(typeGuardOfFormTypeOfFunction.ts, 54, 33)) + + if (typeof x === "function") { +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 54, 13)) + + x; // never +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 54, 13)) + } + else { + x; // { s: string } | { n: number } +>x : Symbol(x, Decl(typeGuardOfFormTypeOfFunction.ts, 54, 13)) + } +} + +// Repro from #18238 + +function f100(obj: T, keys: K[]) : void { +>f100 : Symbol(f100, Decl(typeGuardOfFormTypeOfFunction.ts, 61, 1)) +>T : Symbol(T, Decl(typeGuardOfFormTypeOfFunction.ts, 65, 14)) +>K : Symbol(K, Decl(typeGuardOfFormTypeOfFunction.ts, 65, 16)) +>T : Symbol(T, Decl(typeGuardOfFormTypeOfFunction.ts, 65, 14)) +>obj : Symbol(obj, Decl(typeGuardOfFormTypeOfFunction.ts, 65, 36)) +>T : Symbol(T, Decl(typeGuardOfFormTypeOfFunction.ts, 65, 14)) +>keys : Symbol(keys, Decl(typeGuardOfFormTypeOfFunction.ts, 65, 43)) +>K : Symbol(K, Decl(typeGuardOfFormTypeOfFunction.ts, 65, 16)) + + for (const k of keys) { +>k : Symbol(k, Decl(typeGuardOfFormTypeOfFunction.ts, 66, 14)) +>keys : Symbol(keys, Decl(typeGuardOfFormTypeOfFunction.ts, 65, 43)) + + const item = obj[k]; +>item : Symbol(item, Decl(typeGuardOfFormTypeOfFunction.ts, 67, 13)) +>obj : Symbol(obj, Decl(typeGuardOfFormTypeOfFunction.ts, 65, 36)) +>k : Symbol(k, Decl(typeGuardOfFormTypeOfFunction.ts, 66, 14)) + + if (typeof item == 'function') +>item : Symbol(item, Decl(typeGuardOfFormTypeOfFunction.ts, 67, 13)) + + item.call(obj); +>item.call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>item : Symbol(item, Decl(typeGuardOfFormTypeOfFunction.ts, 67, 13)) +>call : Symbol(Function.call, Decl(lib.d.ts, --, --)) +>obj : Symbol(obj, Decl(typeGuardOfFormTypeOfFunction.ts, 65, 36)) + } +} + diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types b/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types new file mode 100644 index 00000000000..1aa667abdcc --- /dev/null +++ b/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types @@ -0,0 +1,191 @@ +=== tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfFunction.ts === +function f1(x: any) { +>f1 : (x: any) => void +>x : any + + if (typeof x === "function") { +>typeof x === "function" : boolean +>typeof x : "string" | "number" | "boolean" | "symbol" | "undefined" | "object" | "function" +>x : any +>"function" : "function" + + x; // any +>x : any + } +} + +function f2(x: unknown) { +>f2 : (x: unknown) => void +>x : unknown + + if (typeof x === "function") { +>typeof x === "function" : boolean +>typeof x : "string" | "number" | "boolean" | "symbol" | "undefined" | "object" | "function" +>x : unknown +>"function" : "function" + + x; // Function +>x : Function + } +} + +function f3(x: {}) { +>f3 : (x: {}) => void +>x : {} + + if (typeof x === "function") { +>typeof x === "function" : boolean +>typeof x : "string" | "number" | "boolean" | "symbol" | "undefined" | "object" | "function" +>x : {} +>"function" : "function" + + x; // Function +>x : Function + } +} + +function f4(x: T) { +>f4 : (x: T) => void +>T : T +>x : T +>T : T + + if (typeof x === "function") { +>typeof x === "function" : boolean +>typeof x : "string" | "number" | "boolean" | "symbol" | "undefined" | "object" | "function" +>x : T +>"function" : "function" + + x; // T & Function +>x : T & Function + } +} + +function f5(x: { s: string }) { +>f5 : (x: { s: string; }) => void +>x : { s: string; } +>s : string + + if (typeof x === "function") { +>typeof x === "function" : boolean +>typeof x : "string" | "number" | "boolean" | "symbol" | "undefined" | "object" | "function" +>x : { s: string; } +>"function" : "function" + + x; // never +>x : never + } +} + +function f6(x: () => string) { +>f6 : (x: () => string) => void +>x : () => string + + if (typeof x === "function") { +>typeof x === "function" : boolean +>typeof x : "string" | "number" | "boolean" | "symbol" | "undefined" | "object" | "function" +>x : () => string +>"function" : "function" + + x; // () => string +>x : () => string + } +} + +function f10(x: string | (() => string)) { +>f10 : (x: string | (() => string)) => void +>x : string | (() => string) + + if (typeof x === "function") { +>typeof x === "function" : boolean +>typeof x : "string" | "number" | "boolean" | "symbol" | "undefined" | "object" | "function" +>x : string | (() => string) +>"function" : "function" + + x; // () => string +>x : () => string + } + else { + x; // string +>x : string + } +} + +function f11(x: { s: string } | (() => string)) { +>f11 : (x: { s: string; } | (() => string)) => void +>x : { s: string; } | (() => string) +>s : string + + if (typeof x === "function") { +>typeof x === "function" : boolean +>typeof x : "string" | "number" | "boolean" | "symbol" | "undefined" | "object" | "function" +>x : { s: string; } | (() => string) +>"function" : "function" + + x; // () => string +>x : () => string + } + else { + x; // { s: string } +>x : { s: string; } + } +} + +function f12(x: { s: string } | { n: number }) { +>f12 : (x: { s: string; } | { n: number; }) => void +>x : { s: string; } | { n: number; } +>s : string +>n : number + + if (typeof x === "function") { +>typeof x === "function" : boolean +>typeof x : "string" | "number" | "boolean" | "symbol" | "undefined" | "object" | "function" +>x : { s: string; } | { n: number; } +>"function" : "function" + + x; // never +>x : never + } + else { + x; // { s: string } | { n: number } +>x : { s: string; } | { n: number; } + } +} + +// Repro from #18238 + +function f100(obj: T, keys: K[]) : void { +>f100 : (obj: T, keys: K[]) => void +>T : T +>K : K +>T : T +>obj : T +>T : T +>keys : K[] +>K : K + + for (const k of keys) { +>k : K +>keys : K[] + + const item = obj[k]; +>item : T[K] +>obj[k] : T[K] +>obj : T +>k : K + + if (typeof item == 'function') +>typeof item == 'function' : boolean +>typeof item : "string" | "number" | "boolean" | "symbol" | "undefined" | "object" | "function" +>item : T[K] +>'function' : "function" + + item.call(obj); +>item.call(obj) : any +>item.call : (this: Function, thisArg: any, ...argArray: any[]) => any +>item : T[K] & Function +>call : (this: Function, thisArg: any, ...argArray: any[]) => any +>obj : T + } +} + From 55d4d7b5c637c33f175b22458df3ff2302474621 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sun, 3 Jun 2018 08:57:15 -0700 Subject: [PATCH 44/76] Simplify nested indexed access types --- src/compiler/checker.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 9306907b418..b1ac56d66eb 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8881,7 +8881,9 @@ namespace ts { return type.simplified === circularConstraintType ? type : type.simplified; } type.simplified = circularConstraintType; - const objectType = type.objectType; + // We recursively simplify the object type as it may in turn be an indexed access type. For example, with + // '{ [P in T]: { [Q in U]: number } }[T][U]' we want to first simplify the inner indexed access type. + const objectType = getSimplifiedType(type.objectType); if (objectType.flags & TypeFlags.Intersection && isGenericObjectType(objectType)) { // Given an indexed access type T[K], if T is an intersection containing one or more generic types and one or // more object types with only a string index signature, e.g. '(U & V & { [x: string]: D })[K]', return a From 54f9c170450a0bb7698460d235850703e8205b61 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sun, 3 Jun 2018 11:59:24 -0700 Subject: [PATCH 45/76] Add regression test --- .../types/keyof/keyofAndIndexedAccess.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/cases/conformance/types/keyof/keyofAndIndexedAccess.ts b/tests/cases/conformance/types/keyof/keyofAndIndexedAccess.ts index 07aa3c1994f..c76071f7d99 100644 --- a/tests/cases/conformance/types/keyof/keyofAndIndexedAccess.ts +++ b/tests/cases/conformance/types/keyof/keyofAndIndexedAccess.ts @@ -637,3 +637,17 @@ interface I7 { } type Foo7 = T; declare function f7(type: K): Foo7; + +// Repro from #21770 + +type Dict = { [key in T]: number }; +type DictDict = { [key in V]: Dict }; + +function ff1(dd: DictDict, k1: V, k2: T): number { + return dd[k1][k2]; +} + +function ff2(dd: DictDict, k1: V, k2: T): number { + const d: Dict = dd[k1]; + return d[k2]; +} From 9eea4d53edc024a880f4e852588ff3231b3084c0 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sun, 3 Jun 2018 11:59:32 -0700 Subject: [PATCH 46/76] Accept new baselines --- .../reference/keyofAndIndexedAccess.js | 29 +++++++++ .../reference/keyofAndIndexedAccess.symbols | 61 +++++++++++++++++ .../reference/keyofAndIndexedAccess.types | 65 +++++++++++++++++++ 3 files changed, 155 insertions(+) diff --git a/tests/baselines/reference/keyofAndIndexedAccess.js b/tests/baselines/reference/keyofAndIndexedAccess.js index c23f10f3e68..3667a30f92c 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.js +++ b/tests/baselines/reference/keyofAndIndexedAccess.js @@ -635,6 +635,20 @@ interface I7 { } type Foo7 = T; declare function f7(type: K): Foo7; + +// Repro from #21770 + +type Dict = { [key in T]: number }; +type DictDict = { [key in V]: Dict }; + +function ff1(dd: DictDict, k1: V, k2: T): number { + return dd[k1][k2]; +} + +function ff2(dd: DictDict, k1: V, k2: T): number { + const d: Dict = dd[k1]; + return d[k2]; +} //// [keyofAndIndexedAccess.js] @@ -1054,6 +1068,13 @@ var Unbounded = /** @class */ (function () { }; return Unbounded; }()); +function ff1(dd, k1, k2) { + return dd[k1][k2]; +} +function ff2(dd, k1, k2) { + var d = dd[k1]; + return d[k2]; +} //// [keyofAndIndexedAccess.d.ts] @@ -1381,3 +1402,11 @@ interface I7 { } declare type Foo7 = T; declare function f7(type: K): Foo7; +declare type Dict = { + [key in T]: number; +}; +declare type DictDict = { + [key in V]: Dict; +}; +declare function ff1(dd: DictDict, k1: V, k2: T): number; +declare function ff2(dd: DictDict, k1: V, k2: T): number; diff --git a/tests/baselines/reference/keyofAndIndexedAccess.symbols b/tests/baselines/reference/keyofAndIndexedAccess.symbols index ef43a711264..de9a4be5947 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.symbols +++ b/tests/baselines/reference/keyofAndIndexedAccess.symbols @@ -2258,3 +2258,64 @@ declare function f7(type: K): Foo7; >I7 : Symbol(I7, Decl(keyofAndIndexedAccess.ts, 627, 1)) >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 635, 20)) +// Repro from #21770 + +type Dict = { [key in T]: number }; +>Dict : Symbol(Dict, Decl(keyofAndIndexedAccess.ts, 635, 62)) +>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 639, 10)) +>key : Symbol(key, Decl(keyofAndIndexedAccess.ts, 639, 33)) +>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 639, 10)) + +type DictDict = { [key in V]: Dict }; +>DictDict : Symbol(DictDict, Decl(keyofAndIndexedAccess.ts, 639, 53)) +>V : Symbol(V, Decl(keyofAndIndexedAccess.ts, 640, 14)) +>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 640, 31)) +>key : Symbol(key, Decl(keyofAndIndexedAccess.ts, 640, 55)) +>V : Symbol(V, Decl(keyofAndIndexedAccess.ts, 640, 14)) +>Dict : Symbol(Dict, Decl(keyofAndIndexedAccess.ts, 635, 62)) +>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 640, 31)) + +function ff1(dd: DictDict, k1: V, k2: T): number { +>ff1 : Symbol(ff1, Decl(keyofAndIndexedAccess.ts, 640, 76)) +>V : Symbol(V, Decl(keyofAndIndexedAccess.ts, 642, 13)) +>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 642, 30)) +>dd : Symbol(dd, Decl(keyofAndIndexedAccess.ts, 642, 49)) +>DictDict : Symbol(DictDict, Decl(keyofAndIndexedAccess.ts, 639, 53)) +>V : Symbol(V, Decl(keyofAndIndexedAccess.ts, 642, 13)) +>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 642, 30)) +>k1 : Symbol(k1, Decl(keyofAndIndexedAccess.ts, 642, 68)) +>V : Symbol(V, Decl(keyofAndIndexedAccess.ts, 642, 13)) +>k2 : Symbol(k2, Decl(keyofAndIndexedAccess.ts, 642, 75)) +>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 642, 30)) + + return dd[k1][k2]; +>dd : Symbol(dd, Decl(keyofAndIndexedAccess.ts, 642, 49)) +>k1 : Symbol(k1, Decl(keyofAndIndexedAccess.ts, 642, 68)) +>k2 : Symbol(k2, Decl(keyofAndIndexedAccess.ts, 642, 75)) +} + +function ff2(dd: DictDict, k1: V, k2: T): number { +>ff2 : Symbol(ff2, Decl(keyofAndIndexedAccess.ts, 644, 1)) +>V : Symbol(V, Decl(keyofAndIndexedAccess.ts, 646, 13)) +>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 646, 30)) +>dd : Symbol(dd, Decl(keyofAndIndexedAccess.ts, 646, 49)) +>DictDict : Symbol(DictDict, Decl(keyofAndIndexedAccess.ts, 639, 53)) +>V : Symbol(V, Decl(keyofAndIndexedAccess.ts, 646, 13)) +>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 646, 30)) +>k1 : Symbol(k1, Decl(keyofAndIndexedAccess.ts, 646, 68)) +>V : Symbol(V, Decl(keyofAndIndexedAccess.ts, 646, 13)) +>k2 : Symbol(k2, Decl(keyofAndIndexedAccess.ts, 646, 75)) +>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 646, 30)) + + const d: Dict = dd[k1]; +>d : Symbol(d, Decl(keyofAndIndexedAccess.ts, 647, 9)) +>Dict : Symbol(Dict, Decl(keyofAndIndexedAccess.ts, 635, 62)) +>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 646, 30)) +>dd : Symbol(dd, Decl(keyofAndIndexedAccess.ts, 646, 49)) +>k1 : Symbol(k1, Decl(keyofAndIndexedAccess.ts, 646, 68)) + + return d[k2]; +>d : Symbol(d, Decl(keyofAndIndexedAccess.ts, 647, 9)) +>k2 : Symbol(k2, Decl(keyofAndIndexedAccess.ts, 646, 75)) +} + diff --git a/tests/baselines/reference/keyofAndIndexedAccess.types b/tests/baselines/reference/keyofAndIndexedAccess.types index a85b34d707b..1a65dbb0389 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.types +++ b/tests/baselines/reference/keyofAndIndexedAccess.types @@ -2614,3 +2614,68 @@ declare function f7(type: K): Foo7; >I7 : I7 >K : K +// Repro from #21770 + +type Dict = { [key in T]: number }; +>Dict : Dict +>T : T +>key : key +>T : T + +type DictDict = { [key in V]: Dict }; +>DictDict : DictDict +>V : V +>T : T +>key : key +>V : V +>Dict : Dict +>T : T + +function ff1(dd: DictDict, k1: V, k2: T): number { +>ff1 : (dd: DictDict, k1: V, k2: T) => number +>V : V +>T : T +>dd : DictDict +>DictDict : DictDict +>V : V +>T : T +>k1 : V +>V : V +>k2 : T +>T : T + + return dd[k1][k2]; +>dd[k1][k2] : DictDict[V][T] +>dd[k1] : DictDict[V] +>dd : DictDict +>k1 : V +>k2 : T +} + +function ff2(dd: DictDict, k1: V, k2: T): number { +>ff2 : (dd: DictDict, k1: V, k2: T) => number +>V : V +>T : T +>dd : DictDict +>DictDict : DictDict +>V : V +>T : T +>k1 : V +>V : V +>k2 : T +>T : T + + const d: Dict = dd[k1]; +>d : Dict +>Dict : Dict +>T : T +>dd[k1] : DictDict[V] +>dd : DictDict +>k1 : V + + return d[k2]; +>d[k2] : Dict[T] +>d : Dict +>k2 : T +} + From a9cb33db04534211cf103d403e61020e8ea10026 Mon Sep 17 00:00:00 2001 From: Kitson Kelly Date: Mon, 4 Jun 2018 09:47:54 +1000 Subject: [PATCH 47/76] Treat host as possibly undefined for base64encode/base64decode Fixes: #24638 --- src/compiler/utilities.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 753ab32321d..e17f34cd05a 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -3674,15 +3674,15 @@ namespace ts { return output; } - export function base64encode(host: { base64encode?(input: string): string }, input: string): string { - if (host.base64encode) { + export function base64encode(host: { base64encode?(input: string): string } | undefined, input: string): string { + if (host && host.base64encode) { return host.base64encode(input); } return convertToBase64(input); } - export function base64decode(host: { base64decode?(input: string): string }, input: string): string { - if (host.base64decode) { + export function base64decode(host: { base64decode?(input: string): string } | undefined, input: string): string { + if (host && host.base64decode) { return host.base64decode(input); } const length = input.length; From c5492fa1594532f4dc322c986306a3b45b6c129c Mon Sep 17 00:00:00 2001 From: csigs Date: Mon, 4 Jun 2018 10:10:32 +0000 Subject: [PATCH 48/76] LEGO: check in for master to temporary branch. --- .../diagnosticMessages.generated.json.lcl | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl index e61caabaf99..b0d68c1af91 100644 --- a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2619,6 +2619,24 @@ + + + + + + + + + + + + + + + + + + @@ -5433,6 +5451,15 @@ + + + + + + + + + From 91dd3b16abe3e84202d898bf02cfa821f6a07207 Mon Sep 17 00:00:00 2001 From: csigs Date: Mon, 4 Jun 2018 16:10:46 +0000 Subject: [PATCH 49/76] LEGO: check in for master to temporary branch. --- .../diagnosticMessages.generated.json.lcl | 27 +++++++++++++++++++ .../diagnosticMessages.generated.json.lcl | 27 +++++++++++++++++++ .../diagnosticMessages.generated.json.lcl | 27 +++++++++++++++++++ .../diagnosticMessages.generated.json.lcl | 27 +++++++++++++++++++ 4 files changed, 108 insertions(+) diff --git a/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl index 0ea5759d00d..01118e162e7 100644 --- a/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2631,6 +2631,24 @@ + + + + + + + + + + + + + + + + + + @@ -5445,6 +5463,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl index b49cfdfe469..5448bdd5957 100644 --- a/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2619,6 +2619,24 @@ + + + + + + + + + + + + + + + + + + @@ -5433,6 +5451,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl index 63032699b0e..2400d397683 100644 --- a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2609,6 +2609,24 @@ + + + + + + + + + + + + + + + + + + @@ -5423,6 +5441,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl index c9be251b033..9e0ffcb8f8f 100644 --- a/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2618,6 +2618,24 @@ + + + + + + + + + + + + + + + + + + @@ -5432,6 +5450,15 @@ + + + + + + + + + From c6bab0f395de0cdf9b1c1f83c8f0df93f83e9658 Mon Sep 17 00:00:00 2001 From: Benjamin Lichtman Date: Mon, 4 Jun 2018 09:20:49 -0700 Subject: [PATCH 50/76] Remove redundant null assertion --- src/services/jsTyping.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index 21fe04562e9..e9c96ba2bf6 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -161,7 +161,7 @@ namespace ts.JsTyping { // Add the cached typing locations for inferred typings that are already installed packageNameToTypingLocation.forEach((typing, name) => { const registryEntry = typesRegistry.get(name); - if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && registryEntry !== undefined && isTypingUpToDate(typing, registryEntry!)) { + if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && registryEntry !== undefined && isTypingUpToDate(typing, registryEntry)) { inferredTypings.set(name, typing.typingLocation); } }); From 886377f8d3625736bc735d327e6b9cf1c6496855 Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 4 Jun 2018 10:08:15 -0700 Subject: [PATCH 51/76] Add autoCloseTag language service (#24543) * Add autoCloseTag language service * Change name to getJsxClosingTagAtPosition and return an object --- src/compiler/parser.ts | 42 +++++++++---------- src/harness/fourslash.ts | 12 ++++++ src/harness/harnessLanguageService.ts | 3 ++ src/harness/unittests/session.ts | 1 + src/server/client.ts | 4 ++ src/server/protocol.ts | 12 ++++++ src/server/session.ts | 10 +++++ src/services/services.ts | 12 ++++++ src/services/types.ts | 9 ++++ .../reference/api/tsserverlibrary.d.ts | 19 +++++++++ tests/baselines/reference/api/typescript.d.ts | 8 ++++ tests/cases/fourslash/autoCloseTag.ts | 20 +++++++++ tests/cases/fourslash/fourslash.ts | 1 + 13 files changed, 132 insertions(+), 21 deletions(-) create mode 100644 tests/cases/fourslash/autoCloseTag.ts diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index ea5a2a33937..6374dbb5179 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -4147,27 +4147,6 @@ namespace ts { return finishNode(node); } - function tagNamesAreEquivalent(lhs: JsxTagNameExpression, rhs: JsxTagNameExpression): boolean { - if (lhs.kind !== rhs.kind) { - return false; - } - - if (lhs.kind === SyntaxKind.Identifier) { - return (lhs).escapedText === (rhs).escapedText; - } - - if (lhs.kind === SyntaxKind.ThisKeyword) { - return true; - } - - // If we are at this statement then we must have PropertyAccessExpression and because tag name in Jsx element can only - // take forms of JsxTagNameExpression which includes an identifier, "this" expression, or another propertyAccessExpression - // it is safe to case the expression property as such. See parseJsxElementName for how we parse tag name in Jsx element - return (lhs).name.escapedText === (rhs).name.escapedText && - tagNamesAreEquivalent((lhs).expression as JsxTagNameExpression, (rhs).expression as JsxTagNameExpression); - } - - function parseJsxElementOrSelfClosingElementOrFragment(inExpressionContext: boolean): JsxElement | JsxSelfClosingElement | JsxFragment { const opening = parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext); let result: JsxElement | JsxSelfClosingElement | JsxFragment; @@ -7906,4 +7885,25 @@ namespace ts { } return argMap; } + + /** @internal */ + export function tagNamesAreEquivalent(lhs: JsxTagNameExpression, rhs: JsxTagNameExpression): boolean { + if (lhs.kind !== rhs.kind) { + return false; + } + + if (lhs.kind === SyntaxKind.Identifier) { + return (lhs).escapedText === (rhs).escapedText; + } + + if (lhs.kind === SyntaxKind.ThisKeyword) { + return true; + } + + // If we are at this statement then we must have PropertyAccessExpression and because tag name in Jsx element can only + // take forms of JsxTagNameExpression which includes an identifier, "this" expression, or another propertyAccessExpression + // it is safe to case the expression property as such. See parseJsxElementName for how we parse tag name in Jsx element + return (lhs).name.escapedText === (rhs).name.escapedText && + tagNamesAreEquivalent((lhs).expression as JsxTagNameExpression, (rhs).expression as JsxTagNameExpression); + } } diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts index fc8852107f4..d2aaeecbb92 100644 --- a/src/harness/fourslash.ts +++ b/src/harness/fourslash.ts @@ -2743,6 +2743,14 @@ Actual: ${stringify(fullActual)}`); } } + public verifyJsxClosingTag(map: { [markerName: string]: ts.JsxClosingTagInfo | undefined }): void { + for (const markerName in map) { + this.goToMarker(markerName); + const actual = this.languageService.getJsxClosingTagAtPosition(this.activeFile.fileName, this.currentCaretPosition); + assert.deepEqual(actual, map[markerName]); + } + } + public verifyMatchingBracePosition(bracePosition: number, expectedMatchPosition: number) { const actual = this.languageService.getBraceMatchingAtPosition(this.activeFile.fileName, bracePosition); @@ -4079,6 +4087,10 @@ namespace FourSlashInterface { this.state.verifyBraceCompletionAtPosition(this.negative, openingBrace); } + public jsxClosingTag(map: { [markerName: string]: ts.JsxClosingTagInfo | undefined }): void { + this.state.verifyJsxClosingTag(map); + } + public isInCommentAtPosition(onlyMultiLineDiverges?: boolean) { this.state.verifySpanOfEnclosingComment(this.negative, onlyMultiLineDiverges); } diff --git a/src/harness/harnessLanguageService.ts b/src/harness/harnessLanguageService.ts index 022fe3c3ccd..a6139e60c30 100644 --- a/src/harness/harnessLanguageService.ts +++ b/src/harness/harnessLanguageService.ts @@ -509,6 +509,9 @@ namespace Harness.LanguageService { isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean { return unwrapJSONCallResult(this.shim.isValidBraceCompletionAtPosition(fileName, position, openingBrace)); } + getJsxClosingTagAtPosition(): never { + throw new Error("Not supported on the shim."); + } getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): ts.TextSpan { return unwrapJSONCallResult(this.shim.getSpanOfEnclosingComment(fileName, position, onlyMultiLine)); } diff --git a/src/harness/unittests/session.ts b/src/harness/unittests/session.ts index 5e0b44fb5f0..cdb6e818d7b 100644 --- a/src/harness/unittests/session.ts +++ b/src/harness/unittests/session.ts @@ -224,6 +224,7 @@ namespace ts.server { CommandNames.Occurrences, CommandNames.DocumentHighlights, CommandNames.DocumentHighlightsFull, + CommandNames.JsxClosingTag, CommandNames.Open, CommandNames.Quickinfo, CommandNames.QuickinfoFull, diff --git a/src/server/client.ts b/src/server/client.ts index a7e76fb06a8..e797cadb8ca 100644 --- a/src/server/client.ts +++ b/src/server/client.ts @@ -552,6 +552,10 @@ namespace ts.server { return notImplemented(); } + getJsxClosingTagAtPosition(_fileName: string, _position: number): never { + return notImplemented(); + } + getSpanOfEnclosingComment(_fileName: string, _position: number, _onlyMultiLine: boolean): TextSpan { return notImplemented(); } diff --git a/src/server/protocol.ts b/src/server/protocol.ts index 9c34130bdef..be1a6247fb0 100644 --- a/src/server/protocol.ts +++ b/src/server/protocol.ts @@ -6,6 +6,7 @@ namespace ts.server.protocol { // NOTE: If updating this, be sure to also update `allCommandNames` in `harness/unittests/session.ts`. export const enum CommandTypes { + JsxClosingTag = "jsxClosingTag", Brace = "brace", /* @internal */ BraceFull = "brace-full", @@ -890,6 +891,17 @@ namespace ts.server.protocol { openingBrace: string; } + export interface JsxClosingTagRequest extends FileLocationRequest { + readonly command: CommandTypes.JsxClosingTag; + readonly arguments: JsxClosingTagRequestArgs; + } + + export interface JsxClosingTagRequestArgs extends FileLocationRequestArgs {} + + export interface JsxClosingTagResponse extends Response { + readonly body: TextInsertion; + } + /** * @deprecated * Get occurrences request; value of command field is diff --git a/src/server/session.ts b/src/server/session.ts index f56b396814b..3a368587d4b 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -818,6 +818,13 @@ namespace ts.server { return this.getDiagnosticsWorker(args, /*isSemantic*/ true, (project, file) => project.getLanguageService().getSuggestionDiagnostics(file), !!args.includeLinePosition); } + private getJsxClosingTag(args: protocol.JsxClosingTagRequestArgs): TextInsertion | undefined { + const { file, project } = this.getFileAndProject(args); + const position = this.getPositionInFile(args, file); + const tag = project.getLanguageService().getJsxClosingTagAtPosition(file, position); + return tag === undefined ? undefined : { newText: tag.newText, caretOffset: 0 }; + } + private getDocumentHighlights(args: protocol.DocumentHighlightsRequestArgs, simplifiedResult: boolean): ReadonlyArray | ReadonlyArray { const { file, project } = this.getFileAndProject(args); const position = this.getPositionInFile(args, file); @@ -2130,6 +2137,9 @@ namespace ts.server { this.projectService.reloadProjects(); return this.notRequired(); }, + [CommandNames.JsxClosingTag]: (request: protocol.JsxClosingTagRequest) => { + return this.requiredResponse(this.getJsxClosingTag(request.arguments)); + }, [CommandNames.GetCodeFixes]: (request: protocol.CodeFixRequest) => { return this.requiredResponse(this.getCodeFixes(request.arguments, /*simplifiedResult*/ true)); }, diff --git a/src/services/services.ts b/src/services/services.ts index ab86025d839..603206e52df 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2047,6 +2047,17 @@ namespace ts { return true; } + function getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined { + const sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); + const token = findPrecedingToken(position, sourceFile); + if (!token) return undefined; + const element = token.kind === SyntaxKind.GreaterThanToken && isJsxOpeningElement(token.parent) ? token.parent.parent + : isJsxText(token) ? token.parent : undefined; + if (element && !tagNamesAreEquivalent(element.openingElement.tagName, element.closingElement.tagName)) { + return { newText: `` }; + } + } + function getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined { const sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); const range = formatting.getRangeOfEnclosingComment(sourceFile, position, onlyMultiLine); @@ -2279,6 +2290,7 @@ namespace ts { getFormattingEditsAfterKeystroke, getDocCommentTemplateAtPosition, isValidBraceCompletionAtPosition, + getJsxClosingTagAtPosition, getSpanOfEnclosingComment, getCodeFixesAtPosition, getCombinedCodeFix, diff --git a/src/services/types.ts b/src/services/types.ts index 75dc45c3552..7d829132d47 100644 --- a/src/services/types.ts +++ b/src/services/types.ts @@ -323,6 +323,11 @@ namespace ts { getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion | undefined; isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; + /** + * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag. + * Editors should call this after `>` is typed. + */ + getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined; getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined; @@ -353,6 +358,10 @@ namespace ts { dispose(): void; } + export interface JsxClosingTagInfo { + readonly newText: string; + } + export interface CombinedCodeFixScope { type: "file"; fileName: string; } export type OrganizeImportsScope = CombinedCodeFixScope; diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index e388200ea0a..b88ebf8b118 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -4566,6 +4566,11 @@ declare namespace ts { getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion | undefined; isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; + /** + * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag. + * Editors should call this after `>` is typed. + */ + getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined; getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined; toLineColumnOffset?(fileName: string, position: number): LineAndCharacter; getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: ReadonlyArray, formatOptions: FormatCodeSettings, preferences: UserPreferences): ReadonlyArray; @@ -4587,6 +4592,9 @@ declare namespace ts { getProgram(): Program | undefined; dispose(): void; } + interface JsxClosingTagInfo { + readonly newText: string; + } interface CombinedCodeFixScope { type: "file"; fileName: string; @@ -5516,6 +5524,7 @@ declare namespace ts.server { */ declare namespace ts.server.protocol { enum CommandTypes { + JsxClosingTag = "jsxClosingTag", Brace = "brace", BraceCompletion = "braceCompletion", GetSpanOfEnclosingComment = "getSpanOfEnclosingComment", @@ -6185,6 +6194,15 @@ declare namespace ts.server.protocol { */ openingBrace: string; } + interface JsxClosingTagRequest extends FileLocationRequest { + readonly command: CommandTypes.JsxClosingTag; + readonly arguments: JsxClosingTagRequestArgs; + } + interface JsxClosingTagRequestArgs extends FileLocationRequestArgs { + } + interface JsxClosingTagResponse extends Response { + readonly body: TextInsertion; + } /** * @deprecated * Get occurrences request; value of command field is @@ -8473,6 +8491,7 @@ declare namespace ts.server { private getSyntacticDiagnosticsSync; private getSemanticDiagnosticsSync; private getSuggestionDiagnosticsSync; + private getJsxClosingTag; private getDocumentHighlights; private setCompilerOptionsForInferredProjects; private getProjectInfo; diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index a8d490a3e85..3368c6347cd 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -4566,6 +4566,11 @@ declare namespace ts { getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion | undefined; isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; + /** + * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag. + * Editors should call this after `>` is typed. + */ + getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined; getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined; toLineColumnOffset?(fileName: string, position: number): LineAndCharacter; getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: ReadonlyArray, formatOptions: FormatCodeSettings, preferences: UserPreferences): ReadonlyArray; @@ -4587,6 +4592,9 @@ declare namespace ts { getProgram(): Program | undefined; dispose(): void; } + interface JsxClosingTagInfo { + readonly newText: string; + } interface CombinedCodeFixScope { type: "file"; fileName: string; diff --git a/tests/cases/fourslash/autoCloseTag.ts b/tests/cases/fourslash/autoCloseTag.ts new file mode 100644 index 00000000000..ba828f207a2 --- /dev/null +++ b/tests/cases/fourslash/autoCloseTag.ts @@ -0,0 +1,20 @@ +/// + +// @Filename: /a.tsx +////const x =

/*0*/; +////const x =
foo/*1*/
; +////const x =
/*2*/; +////const x =
/*3*/; +////const x =
+////

/*4*/ +////

+////

; +////const x =
text /*5*/; + +verify.jsxClosingTag({ + 0: { newText: "
" }, + 1: undefined, + 2: undefined, + 3: undefined, + 4: { newText: "

" }, +}); diff --git a/tests/cases/fourslash/fourslash.ts b/tests/cases/fourslash/fourslash.ts index de1ca0afd8c..a104e2fde0f 100644 --- a/tests/cases/fourslash/fourslash.ts +++ b/tests/cases/fourslash/fourslash.ts @@ -174,6 +174,7 @@ declare namespace FourSlashInterface { typeDefinitionCountIs(expectedCount: number): void; implementationListIsEmpty(): void; isValidBraceCompletionAtPosition(openingBrace?: string): void; + jsxClosingTag(map: { [markerName: string]: { readonly newText: string } | undefined }): void; isInCommentAtPosition(onlyMultiLineDiverges?: boolean): void; codeFix(options: { description: string, From 779fa9847515d6504b7686132feaca55e67303e3 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Mon, 4 Jun 2018 10:34:38 -0700 Subject: [PATCH 52/76] Fix merge lexical environment to *always* respect prologue statements (#24602) --- src/compiler/visitor.ts | 2 +- .../destructuringTempOccursAfterPrologue.js | 12 ++++++++++++ ...destructuringTempOccursAfterPrologue.symbols | 12 ++++++++++++ .../destructuringTempOccursAfterPrologue.types | 17 +++++++++++++++++ .../destructuringTempOccursAfterPrologue.ts | 4 ++++ 5 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/destructuringTempOccursAfterPrologue.js create mode 100644 tests/baselines/reference/destructuringTempOccursAfterPrologue.symbols create mode 100644 tests/baselines/reference/destructuringTempOccursAfterPrologue.types create mode 100644 tests/cases/compiler/destructuringTempOccursAfterPrologue.ts diff --git a/src/compiler/visitor.ts b/src/compiler/visitor.ts index 5f35a3027dc..cda3158afeb 100644 --- a/src/compiler/visitor.ts +++ b/src/compiler/visitor.ts @@ -1468,7 +1468,7 @@ namespace ts { } return isNodeArray(statements) - ? setTextRange(createNodeArray(concatenate(declarations, statements)), statements) + ? setTextRange(createNodeArray(prependStatements(statements.slice(), declarations)), statements) : prependStatements(statements, declarations); } diff --git a/tests/baselines/reference/destructuringTempOccursAfterPrologue.js b/tests/baselines/reference/destructuringTempOccursAfterPrologue.js new file mode 100644 index 00000000000..a7390708560 --- /dev/null +++ b/tests/baselines/reference/destructuringTempOccursAfterPrologue.js @@ -0,0 +1,12 @@ +//// [destructuringTempOccursAfterPrologue.ts] +function test(p: any) { + 'use strict'; + p = { prop: p } = p; +} + +//// [destructuringTempOccursAfterPrologue.js] +function test(p) { + 'use strict'; + var _a; + p = (_a = p, p = _a.prop, _a); +} diff --git a/tests/baselines/reference/destructuringTempOccursAfterPrologue.symbols b/tests/baselines/reference/destructuringTempOccursAfterPrologue.symbols new file mode 100644 index 00000000000..0e68259e6cf --- /dev/null +++ b/tests/baselines/reference/destructuringTempOccursAfterPrologue.symbols @@ -0,0 +1,12 @@ +=== tests/cases/compiler/destructuringTempOccursAfterPrologue.ts === +function test(p: any) { +>test : Symbol(test, Decl(destructuringTempOccursAfterPrologue.ts, 0, 0)) +>p : Symbol(p, Decl(destructuringTempOccursAfterPrologue.ts, 0, 14)) + + 'use strict'; + p = { prop: p } = p; +>p : Symbol(p, Decl(destructuringTempOccursAfterPrologue.ts, 0, 14)) +>prop : Symbol(prop, Decl(destructuringTempOccursAfterPrologue.ts, 2, 9)) +>p : Symbol(p, Decl(destructuringTempOccursAfterPrologue.ts, 0, 14)) +>p : Symbol(p, Decl(destructuringTempOccursAfterPrologue.ts, 0, 14)) +} diff --git a/tests/baselines/reference/destructuringTempOccursAfterPrologue.types b/tests/baselines/reference/destructuringTempOccursAfterPrologue.types new file mode 100644 index 00000000000..8a62e25b685 --- /dev/null +++ b/tests/baselines/reference/destructuringTempOccursAfterPrologue.types @@ -0,0 +1,17 @@ +=== tests/cases/compiler/destructuringTempOccursAfterPrologue.ts === +function test(p: any) { +>test : (p: any) => void +>p : any + + 'use strict'; +>'use strict' : "use strict" + + p = { prop: p } = p; +>p = { prop: p } = p : any +>p : any +>{ prop: p } = p : any +>{ prop: p } : { prop: any; } +>prop : any +>p : any +>p : any +} diff --git a/tests/cases/compiler/destructuringTempOccursAfterPrologue.ts b/tests/cases/compiler/destructuringTempOccursAfterPrologue.ts new file mode 100644 index 00000000000..96dec6e6083 --- /dev/null +++ b/tests/cases/compiler/destructuringTempOccursAfterPrologue.ts @@ -0,0 +1,4 @@ +function test(p: any) { + 'use strict'; + p = { prop: p } = p; +} \ No newline at end of file From 046c5ea6c1c52dbec5b5462b9701668f0fd5475b Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 4 Jun 2018 10:35:23 -0700 Subject: [PATCH 53/76] moveToNewFile: Ignore reference to global (#24651) --- src/services/refactors/moveToNewFile.ts | 8 ++++++-- tests/cases/fourslash/moveToNewFile.ts | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/services/refactors/moveToNewFile.ts b/src/services/refactors/moveToNewFile.ts index 48e361c1b01..73e36095e83 100644 --- a/src/services/refactors/moveToNewFile.ts +++ b/src/services/refactors/moveToNewFile.ts @@ -404,7 +404,7 @@ namespace ts.refactor { if (isInImport(decl)) { oldImportsNeededByNewFile.add(symbol); } - else if (isTopLevelDeclaration(decl) && !movedSymbols.has(symbol)) { + else if (isTopLevelDeclaration(decl) && sourceFileOfTopLevelDeclaration(decl) === oldFile && !movedSymbols.has(symbol)) { newFileImportsFromOldFile.add(symbol); } } @@ -546,7 +546,11 @@ namespace ts.refactor { interface TopLevelVariableDeclaration extends VariableDeclaration { parent: VariableDeclarationList & { parent: VariableStatement; }; } type TopLevelDeclaration = NonVariableTopLevelDeclaration | TopLevelVariableDeclaration; function isTopLevelDeclaration(node: Node): node is TopLevelDeclaration { - return isNonVariableTopLevelDeclaration(node) || isVariableDeclaration(node) && isSourceFile(node.parent.parent.parent); + return isNonVariableTopLevelDeclaration(node) && isSourceFile(node.parent) || isVariableDeclaration(node) && isSourceFile(node.parent.parent.parent); + } + + function sourceFileOfTopLevelDeclaration(node: TopLevelDeclaration): Node { + return isVariableDeclaration(node) ? node.parent.parent.parent : node.parent; } function isTopLevelDeclarationStatement(node: Node): node is TopLevelDeclarationStatement { diff --git a/tests/cases/fourslash/moveToNewFile.ts b/tests/cases/fourslash/moveToNewFile.ts index 8caa8538a13..9175e37889d 100644 --- a/tests/cases/fourslash/moveToNewFile.ts +++ b/tests/cases/fourslash/moveToNewFile.ts @@ -4,7 +4,7 @@ ////import './foo'; ////import { a, b, alreadyUnused } from './other'; ////const p = 0; -////[|const y = p + b;|] +////[|const y: Date = p + b;|] ////a; y; verify.moveToNewFile({ @@ -20,7 +20,7 @@ a; y;`, "/y.ts": `import { b } from './other'; import { p } from './a'; -export const y = p + b;`, +export const y: Date = p + b;`, }, preferences: { From d8cea359f797bde9753b40c047c6e869b87cbbe9 Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 4 Jun 2018 11:30:14 -0700 Subject: [PATCH 54/76] moveToNewFile: Update namespace imports (#24612) --- src/services/refactors/moveToNewFile.ts | 67 +++++++++++++++++++ .../moveToNewFile_namespaceImport.ts | 49 ++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 tests/cases/fourslash/moveToNewFile_namespaceImport.ts diff --git a/src/services/refactors/moveToNewFile.ts b/src/services/refactors/moveToNewFile.ts index 73e36095e83..c1f1ec1fd5e 100644 --- a/src/services/refactors/moveToNewFile.ts +++ b/src/services/refactors/moveToNewFile.ts @@ -153,6 +153,8 @@ namespace ts.refactor { if (sourceFile === oldFile) continue; for (const statement of sourceFile.statements) { forEachImportInStatement(statement, importNode => { + if (checker.getSymbolAtLocation(moduleSpecifierFromImport(importNode)) !== oldFile.symbol) return; + const shouldMove = (name: Identifier): boolean => { const symbol = isBindingElement(name.parent) ? getPropertySymbolFromBindingElement(checker, name.parent as BindingElement & { name: Identifier }) @@ -163,11 +165,76 @@ namespace ts.refactor { const newModuleSpecifier = combinePaths(getDirectoryPath(moduleSpecifierFromImport(importNode).text), newModuleName); const newImportDeclaration = filterImport(importNode, createLiteral(newModuleSpecifier), shouldMove); if (newImportDeclaration) changes.insertNodeAfter(sourceFile, statement, newImportDeclaration); + + const ns = getNamespaceLikeImport(importNode); + if (ns) updateNamespaceLikeImport(changes, sourceFile, checker, movedSymbols, newModuleName, newModuleSpecifier, ns, importNode); }); } } } + function getNamespaceLikeImport(node: SupportedImport): Identifier | undefined { + switch (node.kind) { + case SyntaxKind.ImportDeclaration: + return node.importClause && node.importClause.namedBindings && node.importClause.namedBindings.kind === SyntaxKind.NamespaceImport ? + node.importClause.namedBindings.name : undefined; + case SyntaxKind.ImportEqualsDeclaration: + return node.name; + case SyntaxKind.VariableDeclaration: + return tryCast(node.name, isIdentifier); + default: + return Debug.assertNever(node); + } + } + + function updateNamespaceLikeImport( + changes: textChanges.ChangeTracker, + sourceFile: SourceFile, + checker: TypeChecker, + movedSymbols: ReadonlySymbolSet, + newModuleName: string, + newModuleSpecifier: string, + oldImportId: Identifier, + oldImportNode: SupportedImport, + ): void { + const preferredNewNamespaceName = codefix.moduleSpecifierToValidIdentifier(newModuleName, ScriptTarget.ESNext); + let needUniqueName = false; + const toChange: Identifier[] = []; + FindAllReferences.Core.eachSymbolReferenceInFile(oldImportId, checker, sourceFile, ref => { + if (!isPropertyAccessExpression(ref.parent)) return; + needUniqueName = needUniqueName || !!checker.resolveName(preferredNewNamespaceName, ref, SymbolFlags.All, /*excludeGlobals*/ true); + if (movedSymbols.has(checker.getSymbolAtLocation(ref.parent.name)!)) { + toChange.push(ref); + } + }); + + if (toChange.length) { + const newNamespaceName = needUniqueName ? getUniqueName(preferredNewNamespaceName, sourceFile) : preferredNewNamespaceName; + for (const ref of toChange) { + changes.replaceNode(sourceFile, ref, createIdentifier(newNamespaceName)); + } + changes.insertNodeAfter(sourceFile, oldImportNode, updateNamespaceLikeImportNode(oldImportNode, newModuleName, newModuleSpecifier)); + } + } + + function updateNamespaceLikeImportNode(node: SupportedImport, newNamespaceName: string, newModuleSpecifier: string): Node { + const newNamespaceId = createIdentifier(newNamespaceName); + const newModuleString = createLiteral(newModuleSpecifier); + switch (node.kind) { + case SyntaxKind.ImportDeclaration: + return createImportDeclaration( + /*decorators*/ undefined, /*modifiers*/ undefined, + createImportClause(/*name*/ undefined, createNamespaceImport(newNamespaceId)), + newModuleString); + case SyntaxKind.ImportEqualsDeclaration: + return createImportEqualsDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, newNamespaceId, createExternalModuleReference(newModuleString)); + case SyntaxKind.VariableDeclaration: + return createVariableDeclaration(newNamespaceId, /*type*/ undefined, createRequireCall(newModuleString)); + default: + return Debug.assertNever(node); + } + } + function moduleSpecifierFromImport(i: SupportedImport): StringLiteralLike { return (i.kind === SyntaxKind.ImportDeclaration ? i.moduleSpecifier : i.kind === SyntaxKind.ImportEqualsDeclaration ? i.moduleReference.expression diff --git a/tests/cases/fourslash/moveToNewFile_namespaceImport.ts b/tests/cases/fourslash/moveToNewFile_namespaceImport.ts new file mode 100644 index 00000000000..152d1fcaeb5 --- /dev/null +++ b/tests/cases/fourslash/moveToNewFile_namespaceImport.ts @@ -0,0 +1,49 @@ +/// + +// @allowJs: true + +// @Filename: /a.ts +////[|export const x = 0;|] +////export const y = 0; + +// @Filename: /b.ts +////import * as a from "./a"; +////a.x; +////a.y; + +// @Filename: /c.ts +////import a = require("./a"); +////a.x; +////a.y; + +// @Filename: /d.js +////const a = require("./a"); +////a.x; +////a.y; + +verify.moveToNewFile({ + newFileContents: { + "/a.ts": +`export const y = 0;`, + + "/x.ts": +`export const x = 0;`, + + "/b.ts": +`import * as a from "./a"; +import * as x from "./x"; +x.x; +a.y;`, + + "/c.ts": +`import a = require("./a"); +import x = require("./x"); +x.x; +a.y;`, + + "/d.js": +`const a = require("./a"), x = require("./x"); +x.x; +a.y;`, + }, +}); From 2ce7e5f0cd6b7dd9ae1df9b2991f41a5a63b4679 Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 4 Jun 2018 11:31:48 -0700 Subject: [PATCH 55/76] Add 'unknown' to type keywords (#24606) --- src/services/utilities.ts | 1 + tests/cases/fourslash/completionsTypeKeywords.ts | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/services/utilities.ts b/src/services/utilities.ts index fbccd72c2aa..fa795f359ff 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -1196,6 +1196,7 @@ namespace ts { SyntaxKind.VoidKeyword, SyntaxKind.UndefinedKeyword, SyntaxKind.UniqueKeyword, + SyntaxKind.UnknownKeyword, ]; export function isTypeKeyword(kind: SyntaxKind): boolean { diff --git a/tests/cases/fourslash/completionsTypeKeywords.ts b/tests/cases/fourslash/completionsTypeKeywords.ts index 198d6dddab4..5148f2ae7c3 100644 --- a/tests/cases/fourslash/completionsTypeKeywords.ts +++ b/tests/cases/fourslash/completionsTypeKeywords.ts @@ -1,7 +1,10 @@ /// +// @noLib: true + ////type T = /**/ -goTo.marker(); -verify.completionListContains("undefined", "undefined", undefined, "keyword"); -verify.not.completionListContains("await"); +verify.completions({ + marker: "", + exact: ["T", "null", "void", "any", "boolean", "keyof", "never", "number", "object", "string", "symbol", "undefined", "unique", "unknown"], +}); From 34e68efdae72aa9857964cc19d8c8b02df0d1ba9 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Mon, 4 Jun 2018 11:42:46 -0700 Subject: [PATCH 56/76] Template tag allows specification of constraints (#24600) * Parse (and mostly support) template tag constraints A bunch of tests hit the asserts I added though. * Messy version is finished. Need to add a few tests * Refactor to be smaller * Small refactor + Add one test * Another test * Minor cleanup * Fix error reporting on type parameters on ctors * Simplify syntax of `@template` tag This is a breaking change, but in my sample, nobody except webpack used the erroneous syntax. I need to improve the error message, so jsdocTemplateTag3 currently fails to remind me of that. * Better error message for template tag * Fix fourslash baselines * Another fourslash update * Address PR comments * Simplify getEffectiveTypeParameterDeclarations Make checkGrammarConstructorTypeParameters do a little more work --- src/compiler/checker.ts | 6 +- src/compiler/diagnosticMessages.json | 4 + src/compiler/parser.ts | 35 +++---- src/compiler/utilities.ts | 17 ++-- .../reference/jsdocTemplateClass.errors.txt | 2 +- .../reference/jsdocTemplateClass.symbols | 2 +- .../reference/jsdocTemplateClass.types | 2 +- ...sdocTemplateConstructorFunction.errors.txt | 4 +- .../jsdocTemplateConstructorFunction.symbols | 4 +- .../jsdocTemplateConstructorFunction.types | 4 +- ...docTemplateConstructorFunction2.errors.txt | 2 +- .../jsdocTemplateConstructorFunction2.symbols | 2 +- .../jsdocTemplateConstructorFunction2.types | 2 +- .../reference/jsdocTemplateTag3.errors.txt | 47 +++++++++ .../reference/jsdocTemplateTag3.symbols | 70 ++++++++++++++ .../reference/jsdocTemplateTag3.types | 95 +++++++++++++++++++ .../reference/quickInfoJsDocTags.baseline | 6 +- .../typedefMultipleTypeParameters.errors.txt | 32 +++++++ .../typedefMultipleTypeParameters.symbols | 30 ++++++ .../typedefMultipleTypeParameters.types | 30 ++++++ .../conformance/jsdoc/jsdocTemplateClass.ts | 2 +- .../jsdoc/jsdocTemplateConstructorFunction.ts | 4 +- .../jsdocTemplateConstructorFunction2.ts | 2 +- .../conformance/jsdoc/jsdocTemplateTag3.ts | 33 +++++++ .../jsdoc/typedefMultipleTypeParameters.ts | 24 +++++ .../fourslash/annotateWithTypeFromJSDoc9.5.ts | 4 +- tests/cases/fourslash/jsdocReturnsTag.ts | 2 +- tests/cases/fourslash/quickInfoJsDocTags.ts | 2 +- 28 files changed, 412 insertions(+), 57 deletions(-) create mode 100644 tests/baselines/reference/jsdocTemplateTag3.errors.txt create mode 100644 tests/baselines/reference/jsdocTemplateTag3.symbols create mode 100644 tests/baselines/reference/jsdocTemplateTag3.types create mode 100644 tests/baselines/reference/typedefMultipleTypeParameters.errors.txt create mode 100644 tests/baselines/reference/typedefMultipleTypeParameters.symbols create mode 100644 tests/baselines/reference/typedefMultipleTypeParameters.types create mode 100644 tests/cases/conformance/jsdoc/jsdocTemplateTag3.ts create mode 100644 tests/cases/conformance/jsdoc/typedefMultipleTypeParameters.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b1ac56d66eb..5ab7c808f06 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -28421,9 +28421,9 @@ namespace ts { } function checkGrammarConstructorTypeParameters(node: ConstructorDeclaration) { - const typeParameters = getEffectiveTypeParameterDeclarations(node); - if (isNodeArray(typeParameters)) { - const { pos, end } = typeParameters; + const jsdocTypeParameters = isInJavaScriptFile(node) && getJSDocTypeParameterDeclarations(node); + if (node.typeParameters || jsdocTypeParameters && jsdocTypeParameters.length) { + const { pos, end } = node.typeParameters || jsdocTypeParameters && jsdocTypeParameters[0] || node; return grammarErrorAtPos(node, pos, end - pos, Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration); } } diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 259c1ee4ea5..79d91f76379 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -219,6 +219,10 @@ "category": "Error", "code": 1068 }, + "Unexpected token. A type parameter name was expected without curly braces.": { + "category": "Error", + "code": 1069 + }, "'{0}' modifier cannot appear on a type member.": { "category": "Error", "code": 1070 diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index d7c94261fa9..2e75775fbd8 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -6993,29 +6993,27 @@ namespace ts { } function parseTemplateTag(atToken: AtToken, tagName: Identifier): JSDocTemplateTag | undefined { - if (some(tags, isJSDocTemplateTag)) { - parseErrorAt(tagName.pos, scanner.getTokenPos(), Diagnostics._0_tag_already_specified, tagName.escapedText); + // the template tag looks like '@template {Constraint} T,U,V' + let constraint: JSDocTypeExpression | undefined; + if (token() === SyntaxKind.OpenBraceToken) { + constraint = parseJSDocTypeExpression(); + skipWhitespace(); } - // Type parameter list looks like '@template T,U,V' const typeParameters = []; const typeParametersPos = getNodePos(); - while (true) { const typeParameter = createNode(SyntaxKind.TypeParameter); - const name = parseJSDocIdentifierNameWithOptionalBraces(); - skipWhitespace(); - if (!name) { - parseErrorAtPosition(scanner.getStartPos(), 0, Diagnostics.Identifier_expected); + if (!tokenIsIdentifierOrKeyword(token())) { + parseErrorAtCurrentToken(Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces); return undefined; } - - typeParameter.name = name; + typeParameter.name = parseJSDocIdentifierName()!; + skipWhitespace(); finishNode(typeParameter); - typeParameters.push(typeParameter); - if (token() === SyntaxKind.CommaToken) { + // need to look for more type parameters nextJSDocToken(); skipWhitespace(); } @@ -7024,6 +7022,10 @@ namespace ts { } } + if (constraint) { + first(typeParameters).constraint = constraint.type; + } + const result = createNode(SyntaxKind.JSDocTemplateTag, atToken.pos); result.atToken = atToken; result.tagName = tagName; @@ -7032,15 +7034,6 @@ namespace ts { return result; } - function parseJSDocIdentifierNameWithOptionalBraces(): Identifier | undefined { - const parsedBrace = parseOptional(SyntaxKind.OpenBraceToken); - const res = parseJSDocIdentifierName(); - if (parsedBrace) { - parseExpected(SyntaxKind.CloseBraceToken); - } - return res; - } - function nextJSDocToken(): JsDocSyntaxKind { return currentToken = scanner.scanJSDocToken(); } diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index e17f34cd05a..e2e2de985bc 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -3164,21 +3164,18 @@ namespace ts { } if (isJSDocTypeAlias(node)) { Debug.assert(node.parent.kind === SyntaxKind.JSDocComment); - const templateTags = flatMap(filter(node.parent.tags, isJSDocTemplateTag), tag => tag.typeParameters) as ReadonlyArray; - const templateTagNodes = templateTags as NodeArray; - templateTagNodes.pos = templateTagNodes.length > 0 ? first(templateTagNodes).pos : node.pos; - templateTagNodes.end = templateTagNodes.length > 0 ? last(templateTagNodes).end : node.end; - templateTagNodes.hasTrailingComma = false; - return templateTagNodes; + return flatMap(node.parent.tags, tag => isJSDocTemplateTag(tag) ? tag.typeParameters : undefined) as ReadonlyArray; } return node.typeParameters || (isInJavaScriptFile(node) ? getJSDocTypeParameterDeclarations(node) : emptyArray); } export function getJSDocTypeParameterDeclarations(node: DeclarationWithTypeParameters): ReadonlyArray { - // template tags are only available when a typedef isn't already using them - const tag = find(getJSDocTags(node), (tag): tag is JSDocTemplateTag => - isJSDocTemplateTag(tag) && !(tag.parent.kind === SyntaxKind.JSDocComment && tag.parent.tags!.some(isJSDocTypeAlias))); - return (tag && tag.typeParameters) || emptyArray; + return flatMap(getJSDocTags(node), tag => isNonTypeAliasTemplate(tag) ? tag.typeParameters : undefined); + } + + /** template tags are only available when a typedef isn't already using them */ + function isNonTypeAliasTemplate(tag: JSDocTag): tag is JSDocTemplateTag { + return isJSDocTemplateTag(tag) && !(tag.parent.kind === SyntaxKind.JSDocComment && tag.parent.tags!.some(isJSDocTypeAlias)); } /** diff --git a/tests/baselines/reference/jsdocTemplateClass.errors.txt b/tests/baselines/reference/jsdocTemplateClass.errors.txt index 402992c34bd..372fee6fd5a 100644 --- a/tests/baselines/reference/jsdocTemplateClass.errors.txt +++ b/tests/baselines/reference/jsdocTemplateClass.errors.txt @@ -3,7 +3,7 @@ tests/cases/conformance/jsdoc/templateTagOnClasses.js(25,1): error TS2322: Type ==== tests/cases/conformance/jsdoc/templateTagOnClasses.js (1 errors) ==== /** - * @template {T} + * @template T * @typedef {(t: T) => T} Id */ /** @template T */ diff --git a/tests/baselines/reference/jsdocTemplateClass.symbols b/tests/baselines/reference/jsdocTemplateClass.symbols index b82cd8038e5..a2da2f051cd 100644 --- a/tests/baselines/reference/jsdocTemplateClass.symbols +++ b/tests/baselines/reference/jsdocTemplateClass.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/jsdoc/templateTagOnClasses.js === /** - * @template {T} + * @template T * @typedef {(t: T) => T} Id */ /** @template T */ diff --git a/tests/baselines/reference/jsdocTemplateClass.types b/tests/baselines/reference/jsdocTemplateClass.types index 9c028a96ff1..40b73bc7002 100644 --- a/tests/baselines/reference/jsdocTemplateClass.types +++ b/tests/baselines/reference/jsdocTemplateClass.types @@ -1,6 +1,6 @@ === tests/cases/conformance/jsdoc/templateTagOnClasses.js === /** - * @template {T} + * @template T * @typedef {(t: T) => T} Id */ /** @template T */ diff --git a/tests/baselines/reference/jsdocTemplateConstructorFunction.errors.txt b/tests/baselines/reference/jsdocTemplateConstructorFunction.errors.txt index 9e735b780a0..1153424c8db 100644 --- a/tests/baselines/reference/jsdocTemplateConstructorFunction.errors.txt +++ b/tests/baselines/reference/jsdocTemplateConstructorFunction.errors.txt @@ -3,12 +3,12 @@ tests/cases/conformance/jsdoc/templateTagOnConstructorFunctions.js(24,1): error ==== tests/cases/conformance/jsdoc/templateTagOnConstructorFunctions.js (1 errors) ==== /** - * @template {U} + * @template U * @typedef {(u: U) => U} Id */ /** * @param {T} t - * @template {T} + * @template T */ function Zet(t) { /** @type {T} */ diff --git a/tests/baselines/reference/jsdocTemplateConstructorFunction.symbols b/tests/baselines/reference/jsdocTemplateConstructorFunction.symbols index b640d3c1e21..86b80ca08b6 100644 --- a/tests/baselines/reference/jsdocTemplateConstructorFunction.symbols +++ b/tests/baselines/reference/jsdocTemplateConstructorFunction.symbols @@ -1,11 +1,11 @@ === tests/cases/conformance/jsdoc/templateTagOnConstructorFunctions.js === /** - * @template {U} + * @template U * @typedef {(u: U) => U} Id */ /** * @param {T} t - * @template {T} + * @template T */ function Zet(t) { >Zet : Symbol(Zet, Decl(templateTagOnConstructorFunctions.js, 0, 0)) diff --git a/tests/baselines/reference/jsdocTemplateConstructorFunction.types b/tests/baselines/reference/jsdocTemplateConstructorFunction.types index 121cf846a0e..4c0237aedeb 100644 --- a/tests/baselines/reference/jsdocTemplateConstructorFunction.types +++ b/tests/baselines/reference/jsdocTemplateConstructorFunction.types @@ -1,11 +1,11 @@ === tests/cases/conformance/jsdoc/templateTagOnConstructorFunctions.js === /** - * @template {U} + * @template U * @typedef {(u: U) => U} Id */ /** * @param {T} t - * @template {T} + * @template T */ function Zet(t) { >Zet : typeof Zet diff --git a/tests/baselines/reference/jsdocTemplateConstructorFunction2.errors.txt b/tests/baselines/reference/jsdocTemplateConstructorFunction2.errors.txt index cdcc9a056eb..d7222f11ee2 100644 --- a/tests/baselines/reference/jsdocTemplateConstructorFunction2.errors.txt +++ b/tests/baselines/reference/jsdocTemplateConstructorFunction2.errors.txt @@ -5,7 +5,7 @@ tests/cases/conformance/jsdoc/templateTagWithNestedTypeLiteral.js(26,15): error ==== tests/cases/conformance/jsdoc/templateTagWithNestedTypeLiteral.js (2 errors) ==== /** * @param {T} t - * @template {T} + * @template T */ function Zet(t) { /** @type {T} */ diff --git a/tests/baselines/reference/jsdocTemplateConstructorFunction2.symbols b/tests/baselines/reference/jsdocTemplateConstructorFunction2.symbols index 32573a37398..ebc2e5eba58 100644 --- a/tests/baselines/reference/jsdocTemplateConstructorFunction2.symbols +++ b/tests/baselines/reference/jsdocTemplateConstructorFunction2.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/jsdoc/templateTagWithNestedTypeLiteral.js === /** * @param {T} t - * @template {T} + * @template T */ function Zet(t) { >Zet : Symbol(Zet, Decl(templateTagWithNestedTypeLiteral.js, 0, 0)) diff --git a/tests/baselines/reference/jsdocTemplateConstructorFunction2.types b/tests/baselines/reference/jsdocTemplateConstructorFunction2.types index 14407a5a0c9..91c820ce094 100644 --- a/tests/baselines/reference/jsdocTemplateConstructorFunction2.types +++ b/tests/baselines/reference/jsdocTemplateConstructorFunction2.types @@ -1,7 +1,7 @@ === tests/cases/conformance/jsdoc/templateTagWithNestedTypeLiteral.js === /** * @param {T} t - * @template {T} + * @template T */ function Zet(t) { >Zet : typeof Zet diff --git a/tests/baselines/reference/jsdocTemplateTag3.errors.txt b/tests/baselines/reference/jsdocTemplateTag3.errors.txt new file mode 100644 index 00000000000..a85024e1499 --- /dev/null +++ b/tests/baselines/reference/jsdocTemplateTag3.errors.txt @@ -0,0 +1,47 @@ +tests/cases/conformance/jsdoc/a.js(14,29): error TS2339: Property 'a' does not exist on type 'U'. +tests/cases/conformance/jsdoc/a.js(14,35): error TS2339: Property 'b' does not exist on type 'U'. +tests/cases/conformance/jsdoc/a.js(21,3): error TS2345: Argument of type '{ a: number; }' is not assignable to parameter of type '{ a: number; b: string; }'. + Property 'b' is missing in type '{ a: number; }'. +tests/cases/conformance/jsdoc/a.js(25,2): error TS1069: Unexpected token. A type parameter name was expected without curly braces. + + +==== tests/cases/conformance/jsdoc/a.js (4 errors) ==== + /** + * @template {{ a: number, b: string }} T,U A Comment + * @template {{ c: boolean }} V uh ... are comments even supported?? + * @template W + * @template X That last one had no comment + * @param {T} t + * @param {U} u + * @param {V} v + * @param {W} w + * @param {X} x + * @return {W | X} + */ + function f(t, u, v, w, x) { + if(t.a + t.b.length > u.a - u.b.length && v.c) { + ~ +!!! error TS2339: Property 'a' does not exist on type 'U'. + ~ +!!! error TS2339: Property 'b' does not exist on type 'U'. + return w; + } + return x; + } + + f({ a: 12, b: 'hi', c: null }, undefined, { c: false, d: 12, b: undefined }, 101, 'nope'); + f({ a: 12 }, undefined, undefined, 101, 'nope'); + ~~~~~~~~~~ +!!! error TS2345: Argument of type '{ a: number; }' is not assignable to parameter of type '{ a: number; b: string; }'. +!!! error TS2345: Property 'b' is missing in type '{ a: number; }'. + + /** + * @template {NoLongerAllowed} + * @template T preceding line's syntax is no longer allowed + ~ +!!! error TS1069: Unexpected token. A type parameter name was expected without curly braces. + * @param {T} x + */ + function g(x) { } + + \ No newline at end of file diff --git a/tests/baselines/reference/jsdocTemplateTag3.symbols b/tests/baselines/reference/jsdocTemplateTag3.symbols new file mode 100644 index 00000000000..f9257d40e6f --- /dev/null +++ b/tests/baselines/reference/jsdocTemplateTag3.symbols @@ -0,0 +1,70 @@ +=== tests/cases/conformance/jsdoc/a.js === +/** + * @template {{ a: number, b: string }} T,U A Comment + * @template {{ c: boolean }} V uh ... are comments even supported?? + * @template W + * @template X That last one had no comment + * @param {T} t + * @param {U} u + * @param {V} v + * @param {W} w + * @param {X} x + * @return {W | X} + */ +function f(t, u, v, w, x) { +>f : Symbol(f, Decl(a.js, 0, 0)) +>t : Symbol(t, Decl(a.js, 12, 11)) +>u : Symbol(u, Decl(a.js, 12, 13)) +>v : Symbol(v, Decl(a.js, 12, 16)) +>w : Symbol(w, Decl(a.js, 12, 19)) +>x : Symbol(x, Decl(a.js, 12, 22)) + + if(t.a + t.b.length > u.a - u.b.length && v.c) { +>t.a : Symbol(a, Decl(a.js, 1, 15)) +>t : Symbol(t, Decl(a.js, 12, 11)) +>a : Symbol(a, Decl(a.js, 1, 15)) +>t.b.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>t.b : Symbol(b, Decl(a.js, 1, 26)) +>t : Symbol(t, Decl(a.js, 12, 11)) +>b : Symbol(b, Decl(a.js, 1, 26)) +>length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>u : Symbol(u, Decl(a.js, 12, 13)) +>u : Symbol(u, Decl(a.js, 12, 13)) +>v.c : Symbol(c, Decl(a.js, 2, 15)) +>v : Symbol(v, Decl(a.js, 12, 16)) +>c : Symbol(c, Decl(a.js, 2, 15)) + + return w; +>w : Symbol(w, Decl(a.js, 12, 19)) + } + return x; +>x : Symbol(x, Decl(a.js, 12, 22)) +} + +f({ a: 12, b: 'hi', c: null }, undefined, { c: false, d: 12, b: undefined }, 101, 'nope'); +>f : Symbol(f, Decl(a.js, 0, 0)) +>a : Symbol(a, Decl(a.js, 19, 3)) +>b : Symbol(b, Decl(a.js, 19, 10)) +>c : Symbol(c, Decl(a.js, 19, 19)) +>undefined : Symbol(undefined) +>c : Symbol(c, Decl(a.js, 19, 43)) +>d : Symbol(d, Decl(a.js, 19, 53)) +>b : Symbol(b, Decl(a.js, 19, 60)) +>undefined : Symbol(undefined) + +f({ a: 12 }, undefined, undefined, 101, 'nope'); +>f : Symbol(f, Decl(a.js, 0, 0)) +>a : Symbol(a, Decl(a.js, 20, 3)) +>undefined : Symbol(undefined) +>undefined : Symbol(undefined) + +/** + * @template {NoLongerAllowed} + * @template T preceding line's syntax is no longer allowed + * @param {T} x + */ +function g(x) { } +>g : Symbol(g, Decl(a.js, 20, 49)) +>x : Symbol(x, Decl(a.js, 27, 11)) + + diff --git a/tests/baselines/reference/jsdocTemplateTag3.types b/tests/baselines/reference/jsdocTemplateTag3.types new file mode 100644 index 00000000000..63e8498d84a --- /dev/null +++ b/tests/baselines/reference/jsdocTemplateTag3.types @@ -0,0 +1,95 @@ +=== tests/cases/conformance/jsdoc/a.js === +/** + * @template {{ a: number, b: string }} T,U A Comment + * @template {{ c: boolean }} V uh ... are comments even supported?? + * @template W + * @template X That last one had no comment + * @param {T} t + * @param {U} u + * @param {V} v + * @param {W} w + * @param {X} x + * @return {W | X} + */ +function f(t, u, v, w, x) { +>f : (t: T, u: U, v: V, w: W, x: X) => W | X +>t : T +>u : U +>v : V +>w : W +>x : X + + if(t.a + t.b.length > u.a - u.b.length && v.c) { +>t.a + t.b.length > u.a - u.b.length && v.c : boolean +>t.a + t.b.length > u.a - u.b.length : boolean +>t.a + t.b.length : number +>t.a : number +>t : T +>a : number +>t.b.length : number +>t.b : string +>t : T +>b : string +>length : number +>u.a - u.b.length : number +>u.a : any +>u : U +>a : any +>u.b.length : any +>u.b : any +>u : U +>b : any +>length : any +>v.c : boolean +>v : V +>c : boolean + + return w; +>w : W + } + return x; +>x : X +} + +f({ a: 12, b: 'hi', c: null }, undefined, { c: false, d: 12, b: undefined }, 101, 'nope'); +>f({ a: 12, b: 'hi', c: null }, undefined, { c: false, d: 12, b: undefined }, 101, 'nope') : string | number +>f : (t: T, u: U, v: V, w: W, x: X) => W | X +>{ a: 12, b: 'hi', c: null } : { a: number; b: string; c: null; } +>a : number +>12 : 12 +>b : string +>'hi' : "hi" +>c : null +>null : null +>undefined : undefined +>{ c: false, d: 12, b: undefined } : { c: false; d: number; b: undefined; } +>c : false +>false : false +>d : number +>12 : 12 +>b : undefined +>undefined : undefined +>101 : 101 +>'nope' : "nope" + +f({ a: 12 }, undefined, undefined, 101, 'nope'); +>f({ a: 12 }, undefined, undefined, 101, 'nope') : any +>f : (t: T, u: U, v: V, w: W, x: X) => W | X +>{ a: 12 } : { a: number; } +>a : number +>12 : 12 +>undefined : undefined +>undefined : undefined +>101 : 101 +>'nope' : "nope" + +/** + * @template {NoLongerAllowed} + * @template T preceding line's syntax is no longer allowed + * @param {T} x + */ +function g(x) { } +>g : (x: T) => void +>x : T + + diff --git a/tests/baselines/reference/quickInfoJsDocTags.baseline b/tests/baselines/reference/quickInfoJsDocTags.baseline index 6019419e489..b022204dd69 100644 --- a/tests/baselines/reference/quickInfoJsDocTags.baseline +++ b/tests/baselines/reference/quickInfoJsDocTags.baseline @@ -2,13 +2,13 @@ { "marker": { "fileName": "/tests/cases/fourslash/quickInfoJsDocTags.ts", - "position": 258 + "position": 256 }, "quickInfo": { "kind": "function", "kindModifiers": "", "textSpan": { - "start": 258, + "start": 256, "length": 3 }, "displayParts": [ @@ -78,7 +78,7 @@ }, { "name": "template", - "text": "{T} A template" + "text": "T A template" }, { "name": "type", diff --git a/tests/baselines/reference/typedefMultipleTypeParameters.errors.txt b/tests/baselines/reference/typedefMultipleTypeParameters.errors.txt new file mode 100644 index 00000000000..e8d0e52ba0f --- /dev/null +++ b/tests/baselines/reference/typedefMultipleTypeParameters.errors.txt @@ -0,0 +1,32 @@ +tests/cases/conformance/jsdoc/a.js(16,12): error TS2314: Generic type 'Everything' requires 5 type argument(s). +tests/cases/conformance/jsdoc/test.ts(1,34): error TS2344: Type '{ a: number; }' does not satisfy the constraint '{ a: number; b: string; }'. + Property 'b' is missing in type '{ a: number; }'. + + +==== tests/cases/conformance/jsdoc/a.js (1 errors) ==== + /** + * @template {{ a: number, b: string }} T,U A Comment + * @template {{ c: boolean }} V uh ... are comments even supported?? + * @template W + * @template X That last one had no comment + * @typedef {{ t: T, u: U, v: V, w: W, x: X }} Everything + */ + + /** @type {Everything<{ a: number, b: 'hi', c: never }, undefined, { c: true, d: 1 }, number, string>} */ + var tuvwx; + + // TODO: will error when #24592 is fixed + /** @type {Everything<{ a: number }, undefined, { c: 1, d: 1 }, number, string>} */ + var wrong; + + /** @type {Everything<{ a: number }>} */ + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2314: Generic type 'Everything' requires 5 type argument(s). + var insufficient; + +==== tests/cases/conformance/jsdoc/test.ts (1 errors) ==== + declare var actually: Everything<{ a: number }, undefined, { c: 1, d: 1 }, number, string>; + ~~~~~~~~~~~~~~ +!!! error TS2344: Type '{ a: number; }' does not satisfy the constraint '{ a: number; b: string; }'. +!!! error TS2344: Property 'b' is missing in type '{ a: number; }'. + \ No newline at end of file diff --git a/tests/baselines/reference/typedefMultipleTypeParameters.symbols b/tests/baselines/reference/typedefMultipleTypeParameters.symbols new file mode 100644 index 00000000000..9acd30fea1b --- /dev/null +++ b/tests/baselines/reference/typedefMultipleTypeParameters.symbols @@ -0,0 +1,30 @@ +=== tests/cases/conformance/jsdoc/a.js === +/** + * @template {{ a: number, b: string }} T,U A Comment + * @template {{ c: boolean }} V uh ... are comments even supported?? + * @template W + * @template X That last one had no comment + * @typedef {{ t: T, u: U, v: V, w: W, x: X }} Everything + */ + +/** @type {Everything<{ a: number, b: 'hi', c: never }, undefined, { c: true, d: 1 }, number, string>} */ +var tuvwx; +>tuvwx : Symbol(tuvwx, Decl(a.js, 9, 3)) + +// TODO: will error when #24592 is fixed +/** @type {Everything<{ a: number }, undefined, { c: 1, d: 1 }, number, string>} */ +var wrong; +>wrong : Symbol(wrong, Decl(a.js, 13, 3)) + +/** @type {Everything<{ a: number }>} */ +var insufficient; +>insufficient : Symbol(insufficient, Decl(a.js, 16, 3)) + +=== tests/cases/conformance/jsdoc/test.ts === +declare var actually: Everything<{ a: number }, undefined, { c: 1, d: 1 }, number, string>; +>actually : Symbol(actually, Decl(test.ts, 0, 11)) +>Everything : Symbol(Everything, Decl(a.js, 5, 3)) +>a : Symbol(a, Decl(test.ts, 0, 34)) +>c : Symbol(c, Decl(test.ts, 0, 61)) +>d : Symbol(d, Decl(test.ts, 0, 67)) + diff --git a/tests/baselines/reference/typedefMultipleTypeParameters.types b/tests/baselines/reference/typedefMultipleTypeParameters.types new file mode 100644 index 00000000000..5bc38bb835b --- /dev/null +++ b/tests/baselines/reference/typedefMultipleTypeParameters.types @@ -0,0 +1,30 @@ +=== tests/cases/conformance/jsdoc/a.js === +/** + * @template {{ a: number, b: string }} T,U A Comment + * @template {{ c: boolean }} V uh ... are comments even supported?? + * @template W + * @template X That last one had no comment + * @typedef {{ t: T, u: U, v: V, w: W, x: X }} Everything + */ + +/** @type {Everything<{ a: number, b: 'hi', c: never }, undefined, { c: true, d: 1 }, number, string>} */ +var tuvwx; +>tuvwx : { t: { a: number; b: "hi"; c: never; }; u: undefined; v: { c: true; d: 1; }; w: number; x: string; } + +// TODO: will error when #24592 is fixed +/** @type {Everything<{ a: number }, undefined, { c: 1, d: 1 }, number, string>} */ +var wrong; +>wrong : { t: { a: number; }; u: undefined; v: { c: 1; d: 1; }; w: number; x: string; } + +/** @type {Everything<{ a: number }>} */ +var insufficient; +>insufficient : any + +=== tests/cases/conformance/jsdoc/test.ts === +declare var actually: Everything<{ a: number }, undefined, { c: 1, d: 1 }, number, string>; +>actually : { t: { a: number; }; u: undefined; v: { c: 1; d: 1; }; w: number; x: string; } +>Everything : { t: T; u: U; v: V; w: W; x: X; } +>a : number +>c : 1 +>d : 1 + diff --git a/tests/cases/conformance/jsdoc/jsdocTemplateClass.ts b/tests/cases/conformance/jsdoc/jsdocTemplateClass.ts index b13303d6def..08297262cca 100644 --- a/tests/cases/conformance/jsdoc/jsdocTemplateClass.ts +++ b/tests/cases/conformance/jsdoc/jsdocTemplateClass.ts @@ -4,7 +4,7 @@ // @Filename: templateTagOnClasses.js /** - * @template {T} + * @template T * @typedef {(t: T) => T} Id */ /** @template T */ diff --git a/tests/cases/conformance/jsdoc/jsdocTemplateConstructorFunction.ts b/tests/cases/conformance/jsdoc/jsdocTemplateConstructorFunction.ts index a2a7a48c1cb..016607490a8 100644 --- a/tests/cases/conformance/jsdoc/jsdocTemplateConstructorFunction.ts +++ b/tests/cases/conformance/jsdoc/jsdocTemplateConstructorFunction.ts @@ -4,12 +4,12 @@ // @Filename: templateTagOnConstructorFunctions.js /** - * @template {U} + * @template U * @typedef {(u: U) => U} Id */ /** * @param {T} t - * @template {T} + * @template T */ function Zet(t) { /** @type {T} */ diff --git a/tests/cases/conformance/jsdoc/jsdocTemplateConstructorFunction2.ts b/tests/cases/conformance/jsdoc/jsdocTemplateConstructorFunction2.ts index c736962de39..d0418661bb7 100644 --- a/tests/cases/conformance/jsdoc/jsdocTemplateConstructorFunction2.ts +++ b/tests/cases/conformance/jsdoc/jsdocTemplateConstructorFunction2.ts @@ -5,7 +5,7 @@ /** * @param {T} t - * @template {T} + * @template T */ function Zet(t) { /** @type {T} */ diff --git a/tests/cases/conformance/jsdoc/jsdocTemplateTag3.ts b/tests/cases/conformance/jsdoc/jsdocTemplateTag3.ts new file mode 100644 index 00000000000..e05438d304d --- /dev/null +++ b/tests/cases/conformance/jsdoc/jsdocTemplateTag3.ts @@ -0,0 +1,33 @@ +// @allowJs: true +// @checkJs: true +// @noEmit: true +// @Filename: a.js +/** + * @template {{ a: number, b: string }} T,U A Comment + * @template {{ c: boolean }} V uh ... are comments even supported?? + * @template W + * @template X That last one had no comment + * @param {T} t + * @param {U} u + * @param {V} v + * @param {W} w + * @param {X} x + * @return {W | X} + */ +function f(t, u, v, w, x) { + if(t.a + t.b.length > u.a - u.b.length && v.c) { + return w; + } + return x; +} + +f({ a: 12, b: 'hi', c: null }, undefined, { c: false, d: 12, b: undefined }, 101, 'nope'); +f({ a: 12 }, undefined, undefined, 101, 'nope'); + +/** + * @template {NoLongerAllowed} + * @template T preceding line's syntax is no longer allowed + * @param {T} x + */ +function g(x) { } + diff --git a/tests/cases/conformance/jsdoc/typedefMultipleTypeParameters.ts b/tests/cases/conformance/jsdoc/typedefMultipleTypeParameters.ts new file mode 100644 index 00000000000..9fc7c0d0d41 --- /dev/null +++ b/tests/cases/conformance/jsdoc/typedefMultipleTypeParameters.ts @@ -0,0 +1,24 @@ +// @allowJs: true +// @checkJs: true +// @noEmit: true +// @Filename: a.js +/** + * @template {{ a: number, b: string }} T,U A Comment + * @template {{ c: boolean }} V uh ... are comments even supported?? + * @template W + * @template X That last one had no comment + * @typedef {{ t: T, u: U, v: V, w: W, x: X }} Everything + */ + +/** @type {Everything<{ a: number, b: 'hi', c: never }, undefined, { c: true, d: 1 }, number, string>} */ +var tuvwx; + +// TODO: will error when #24592 is fixed +/** @type {Everything<{ a: number }, undefined, { c: 1, d: 1 }, number, string>} */ +var wrong; + +/** @type {Everything<{ a: number }>} */ +var insufficient; + +// @Filename: test.ts +declare var actually: Everything<{ a: number }, undefined, { c: 1, d: 1 }, number, string>; diff --git a/tests/cases/fourslash/annotateWithTypeFromJSDoc9.5.ts b/tests/cases/fourslash/annotateWithTypeFromJSDoc9.5.ts index 33750e4f3e0..d0319bee614 100644 --- a/tests/cases/fourslash/annotateWithTypeFromJSDoc9.5.ts +++ b/tests/cases/fourslash/annotateWithTypeFromJSDoc9.5.ts @@ -1,7 +1,7 @@ /// /////** -//// * @template {T} +//// * @template T //// * @param {T} x //// * @returns {T} //// */ @@ -11,7 +11,7 @@ verify.codeFix({ description: "Annotate with type from JSDoc", newFileContent: `/** - * @template {T} + * @template T * @param {T} x * @returns {T} */ diff --git a/tests/cases/fourslash/jsdocReturnsTag.ts b/tests/cases/fourslash/jsdocReturnsTag.ts index e91d3509222..3f78e275e93 100644 --- a/tests/cases/fourslash/jsdocReturnsTag.ts +++ b/tests/cases/fourslash/jsdocReturnsTag.ts @@ -17,7 +17,7 @@ verify.signatureHelp({ text: "find(l: T[], x: T): T", docComment: "Find an item", tags: [ - // TODO: GH#24130 + // TODO: GH#24130 (see PR #24600's commits for potential fix) { name: "template", text: "T\n " }, { name: "param", text: "l" }, { name: "param", text: "x" }, diff --git a/tests/cases/fourslash/quickInfoJsDocTags.ts b/tests/cases/fourslash/quickInfoJsDocTags.ts index ce045ab2940..798a850a310 100644 --- a/tests/cases/fourslash/quickInfoJsDocTags.ts +++ b/tests/cases/fourslash/quickInfoJsDocTags.ts @@ -5,7 +5,7 @@ //// * Doc //// * @author Me //// * @augments {C} Augments it -//// * @template {T} A template +//// * @template T A template //// * @type {number | string} A type //// * @typedef {number | string} NumOrStr //// * @property {number} x The prop From 8427e953866188c5aecce9437a7472755dd234b6 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Mon, 4 Jun 2018 11:31:49 -0700 Subject: [PATCH 57/76] Tests to acknowledge the public watch api --- tests/baselines/reference/APISample_Watch.js | 133 ++++++++++++++++++ .../reference/APISample_WatchWithDefaults.js | 90 ++++++++++++ ...APISample_WatchWithOwnWatchHost.errors.txt | 71 ++++++++++ .../APISample_WatchWithOwnWatchHost.js | 102 ++++++++++++++ tests/cases/compiler/APISample_Watch.ts | 80 +++++++++++ .../compiler/APISample_WatchWithDefaults.ts | 53 +++++++ .../APISample_WatchWithOwnWatchHost.ts | 60 ++++++++ 7 files changed, 589 insertions(+) create mode 100644 tests/baselines/reference/APISample_Watch.js create mode 100644 tests/baselines/reference/APISample_WatchWithDefaults.js create mode 100644 tests/baselines/reference/APISample_WatchWithOwnWatchHost.errors.txt create mode 100644 tests/baselines/reference/APISample_WatchWithOwnWatchHost.js create mode 100644 tests/cases/compiler/APISample_Watch.ts create mode 100644 tests/cases/compiler/APISample_WatchWithDefaults.ts create mode 100644 tests/cases/compiler/APISample_WatchWithOwnWatchHost.ts diff --git a/tests/baselines/reference/APISample_Watch.js b/tests/baselines/reference/APISample_Watch.js new file mode 100644 index 00000000000..5e3a67e827d --- /dev/null +++ b/tests/baselines/reference/APISample_Watch.js @@ -0,0 +1,133 @@ +//// [APISample_Watch.ts] +/* + * Note: This test is a public API sample. The sample sources can be found + at: https://github.com/Microsoft/TypeScript-wiki/blob/master/Using-the-Compiler-API.md#writing-an-incremental-program-watcher + * Please log a "breaking change" issue for any API breaking change affecting this issue + */ + +declare var process: any; +declare var console: any; +declare var os: any; + +import ts = require("typescript"); + +const formatHost: ts.FormatDiagnosticsHost = { + getCanonicalFileName: path => path, + getCurrentDirectory: ts.sys.getCurrentDirectory, + getNewLine: () => ts.sys.newLine, +} + +function watchMain() { + const configPath = ts.findConfigFile(/*searchPath*/ "./", ts.sys.fileExists, "tsconfig.json"); + if (!configPath) { + throw new Error("Could not find a valid 'tsconfig.json'."); + } + + // TypeScript can use several different program creation "strategies": + // * ts.createEmitAndSemanticDiagnosticsBuilderProgram, + // * ts.createSemanticDiagnosticsBuilderProgram + // * ts.createAbstractBuilder + // The first two produce "builder programs". These use an incremental strategy to only re-check and emit files whose + // contents may have changed, or whose dependencies may have changes which may impact change the result of prior type-check and emit. + // The last uses an ordinary program which does a full type check after every change. + // Between `createEmitAndSemanticDiagnosticsBuilderProgram` and `createSemanticDiagnosticsBuilderProgram`, the only difference is emit. + // For pure type-checking scenarios, or when another tool/process handles emit, using `createSemanticDiagnosticsBuilderProgram` may be more desirable. + + // Note that there is another overload for `createWatchCompilerHost` that takes a set of root files. + const host = ts.createWatchCompilerHost(configPath, {}, ts.sys, + ts.createSemanticDiagnosticsBuilderProgram, + reportDiagnostic, + reportWatchStatusChanged, + ); + + // You can technically override any given hook on the host, though you probably don't need to. + // Note that we're assuming `origCreateProgram` and `origPostProgramCreate` doesn't use `this` at all. + const origCreateProgram = host.createProgram; + host.createProgram = (rootNames: ReadonlyArray, options, host, oldProgram) => { + console.log("** We're about to create the program! **"); + return origCreateProgram(rootNames, options, host, oldProgram); + } + const origPostProgramCreate = host.afterProgramCreate; + + host.afterProgramCreate = program => { + console.log("** We finished making the program! **"); + origPostProgramCreate!(program); + }; + + // `createWatchProgram` creates an initial program, watches files, and updates the program over time. + ts.createWatchProgram(host); +} + +function reportDiagnostic(diagnostic: ts.Diagnostic) { + console.error("Error", diagnostic.code, ":", + ts.flattenDiagnosticMessageText(diagnostic.messageText, formatHost.getNewLine()) + ); +} + +/** + * Prints a diagnostic every time the watch status changes. + * This is mainly for messages like "Starting compilation" or "Compilation completed". + */ +function reportWatchStatusChanged(diagnostic: ts.Diagnostic) { + console.info(ts.formatDiagnostic(diagnostic, formatHost)); +} + +watchMain(); + + +//// [APISample_Watch.js] +"use strict"; +/* + * Note: This test is a public API sample. The sample sources can be found + at: https://github.com/Microsoft/TypeScript-wiki/blob/master/Using-the-Compiler-API.md#writing-an-incremental-program-watcher + * Please log a "breaking change" issue for any API breaking change affecting this issue + */ +exports.__esModule = true; +var ts = require("typescript"); +var formatHost = { + getCanonicalFileName: function (path) { return path; }, + getCurrentDirectory: ts.sys.getCurrentDirectory, + getNewLine: function () { return ts.sys.newLine; } +}; +function watchMain() { + var configPath = ts.findConfigFile(/*searchPath*/ "./", ts.sys.fileExists, "tsconfig.json"); + if (!configPath) { + throw new Error("Could not find a valid 'tsconfig.json'."); + } + // TypeScript can use several different program creation "strategies": + // * ts.createEmitAndSemanticDiagnosticsBuilderProgram, + // * ts.createSemanticDiagnosticsBuilderProgram + // * ts.createAbstractBuilder + // The first two produce "builder programs". These use an incremental strategy to only re-check and emit files whose + // contents may have changed, or whose dependencies may have changes which may impact change the result of prior type-check and emit. + // The last uses an ordinary program which does a full type check after every change. + // Between `createEmitAndSemanticDiagnosticsBuilderProgram` and `createSemanticDiagnosticsBuilderProgram`, the only difference is emit. + // For pure type-checking scenarios, or when another tool/process handles emit, using `createSemanticDiagnosticsBuilderProgram` may be more desirable. + // Note that there is another overload for `createWatchCompilerHost` that takes a set of root files. + var host = ts.createWatchCompilerHost(configPath, {}, ts.sys, ts.createSemanticDiagnosticsBuilderProgram, reportDiagnostic, reportWatchStatusChanged); + // You can technically override any given hook on the host, though you probably don't need to. + // Note that we're assuming `origCreateProgram` and `origPostProgramCreate` doesn't use `this` at all. + var origCreateProgram = host.createProgram; + host.createProgram = function (rootNames, options, host, oldProgram) { + console.log("** We're about to create the program! **"); + return origCreateProgram(rootNames, options, host, oldProgram); + }; + var origPostProgramCreate = host.afterProgramCreate; + host.afterProgramCreate = function (program) { + console.log("** We finished making the program! **"); + origPostProgramCreate(program); + }; + // `createWatchProgram` creates an initial program, watches files, and updates the program over time. + ts.createWatchProgram(host); +} +function reportDiagnostic(diagnostic) { + console.error("Error", diagnostic.code, ":", ts.flattenDiagnosticMessageText(diagnostic.messageText, formatHost.getNewLine())); +} +/** + * Prints a diagnostic every time the watch status changes. + * This is mainly for messages like "Starting compilation" or "Compilation completed". + */ +function reportWatchStatusChanged(diagnostic) { + console.info(ts.formatDiagnostic(diagnostic, formatHost)); +} +watchMain(); diff --git a/tests/baselines/reference/APISample_WatchWithDefaults.js b/tests/baselines/reference/APISample_WatchWithDefaults.js new file mode 100644 index 00000000000..493bef221f6 --- /dev/null +++ b/tests/baselines/reference/APISample_WatchWithDefaults.js @@ -0,0 +1,90 @@ +//// [APISample_WatchWithDefaults.ts] +/* + * Note: This test is a public API sample. This uses default sys interface without having to pass anything + * Please log a "breaking change" issue for any API breaking change affecting this issue + */ + +declare var console: any; + +import ts = require("typescript"); + +function watchMain() { + const configPath = ts.findConfigFile(/*searchPath*/ "./", ts.sys.fileExists, "tsconfig.json"); + if (!configPath) { + throw new Error("Could not find a valid 'tsconfig.json'."); + } + + // TypeScript can use several different program creation "strategies": + // * ts.createEmitAndSemanticDiagnosticsBuilderProgram, + // * ts.createSemanticDiagnosticsBuilderProgram + // * ts.createAbstractBuilder + // The first two produce "builder programs". These use an incremental strategy to only re-check and emit files whose + // contents may have changed, or whose dependencies may have changes which may impact change the result of prior type-check and emit. + // The last uses an ordinary program which does a full type check after every change. + // Between `createEmitAndSemanticDiagnosticsBuilderProgram` and `createSemanticDiagnosticsBuilderProgram`, the only difference is emit. + // For pure type-checking scenarios, or when another tool/process handles emit, using `createSemanticDiagnosticsBuilderProgram` may be more desirable. + + // Note that there is another overload for `createWatchCompilerHost` that takes a set of root files. + const host = ts.createWatchCompilerHost(configPath, {}, ts.sys); + + // You can technically override any given hook on the host, though you probably don't need to. + // Note that we're assuming `origCreateProgram` and `origPostProgramCreate` doesn't use `this` at all. + const origCreateProgram = host.createProgram; + host.createProgram = (rootNames, options, host, oldProgram) => { + console.log("** We're about to create the program! **"); + return origCreateProgram(rootNames, options, host, oldProgram); + } + const origPostProgramCreate = host.afterProgramCreate; + + host.afterProgramCreate = program => { + console.log("** We finished making the program! **"); + origPostProgramCreate!(program); + }; + + // `createWatchProgram` creates an initial program, watches files, and updates the program over time. + ts.createWatchProgram(host); +} + +watchMain(); + + +//// [APISample_WatchWithDefaults.js] +"use strict"; +/* + * Note: This test is a public API sample. This uses default sys interface without having to pass anything + * Please log a "breaking change" issue for any API breaking change affecting this issue + */ +exports.__esModule = true; +var ts = require("typescript"); +function watchMain() { + var configPath = ts.findConfigFile(/*searchPath*/ "./", ts.sys.fileExists, "tsconfig.json"); + if (!configPath) { + throw new Error("Could not find a valid 'tsconfig.json'."); + } + // TypeScript can use several different program creation "strategies": + // * ts.createEmitAndSemanticDiagnosticsBuilderProgram, + // * ts.createSemanticDiagnosticsBuilderProgram + // * ts.createAbstractBuilder + // The first two produce "builder programs". These use an incremental strategy to only re-check and emit files whose + // contents may have changed, or whose dependencies may have changes which may impact change the result of prior type-check and emit. + // The last uses an ordinary program which does a full type check after every change. + // Between `createEmitAndSemanticDiagnosticsBuilderProgram` and `createSemanticDiagnosticsBuilderProgram`, the only difference is emit. + // For pure type-checking scenarios, or when another tool/process handles emit, using `createSemanticDiagnosticsBuilderProgram` may be more desirable. + // Note that there is another overload for `createWatchCompilerHost` that takes a set of root files. + var host = ts.createWatchCompilerHost(configPath, {}, ts.sys); + // You can technically override any given hook on the host, though you probably don't need to. + // Note that we're assuming `origCreateProgram` and `origPostProgramCreate` doesn't use `this` at all. + var origCreateProgram = host.createProgram; + host.createProgram = function (rootNames, options, host, oldProgram) { + console.log("** We're about to create the program! **"); + return origCreateProgram(rootNames, options, host, oldProgram); + }; + var origPostProgramCreate = host.afterProgramCreate; + host.afterProgramCreate = function (program) { + console.log("** We finished making the program! **"); + origPostProgramCreate(program); + }; + // `createWatchProgram` creates an initial program, watches files, and updates the program over time. + ts.createWatchProgram(host); +} +watchMain(); diff --git a/tests/baselines/reference/APISample_WatchWithOwnWatchHost.errors.txt b/tests/baselines/reference/APISample_WatchWithOwnWatchHost.errors.txt new file mode 100644 index 00000000000..46910d16b63 --- /dev/null +++ b/tests/baselines/reference/APISample_WatchWithOwnWatchHost.errors.txt @@ -0,0 +1,71 @@ +tests/cases/compiler/APISample_WatchWithOwnWatchHost.ts(15,11): error TS2322: Type '{ rootFiles: string[]; options: CompilerOptions; useCaseSensitiveFileNames: () => boolean; getNewLine: () => string; getCurrentDirectory: () => string; getDefaultLibFileName: (options: CompilerOptions) => string; fileExists: (path: string) => boolean; readFile: (path: string, encoding?: string | undefined) => string | undefined; directoryExists: (path: string) => boolean; getDirectories: (path: string) => string[]; readDirectory: (path: string, extensions?: ReadonlyArray | undefined, exclude?: ReadonlyArray | undefined, include?: ReadonlyArray | undefined, depth?: number | undefined) => string[]; realpath: ((path: string) => string) | undefined; watchFile: (path: string, callback: FileWatcherCallback, pollingInterval?: number | undefined) => FileWatcher; watchDirectory: (path: string, callback: DirectoryWatcherCallback, recursive?: boolean | undefined) => FileWatcher; createProgram: { (newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; (rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost | undefined, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; }; }' is not assignable to type 'WatchCompilerHostOfFilesAndCompilerOptions'. + Types of property 'createProgram' are incompatible. + Type '{ (newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; (rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost | undefined, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; }' is not assignable to type 'CreateProgram'. + Types of parameters 'newProgram' and 'rootNames' are incompatible. + Type 'ReadonlyArray | undefined' is not assignable to type 'Program'. + Type 'undefined' is not assignable to type 'Program'. + + +==== tests/cases/compiler/APISample_WatchWithOwnWatchHost.ts (1 errors) ==== + /* + * Note: This test is a public API sample. This sample verifies creating abstract builder to watch list of root files + * Please log a "breaking change" issue for any API breaking change affecting this issue + */ + + declare var console: any; + + import ts = require("typescript"); + + function watchMain() { + // get list of files and compiler options somehow + const files: string[] = []; + const options: ts.CompilerOptions = {}; + + const host: ts.WatchCompilerHostOfFilesAndCompilerOptions = { + ~~~~ +!!! error TS2322: Type '{ rootFiles: string[]; options: CompilerOptions; useCaseSensitiveFileNames: () => boolean; getNewLine: () => string; getCurrentDirectory: () => string; getDefaultLibFileName: (options: CompilerOptions) => string; fileExists: (path: string) => boolean; readFile: (path: string, encoding?: string | undefined) => string | undefined; directoryExists: (path: string) => boolean; getDirectories: (path: string) => string[]; readDirectory: (path: string, extensions?: ReadonlyArray | undefined, exclude?: ReadonlyArray | undefined, include?: ReadonlyArray | undefined, depth?: number | undefined) => string[]; realpath: ((path: string) => string) | undefined; watchFile: (path: string, callback: FileWatcherCallback, pollingInterval?: number | undefined) => FileWatcher; watchDirectory: (path: string, callback: DirectoryWatcherCallback, recursive?: boolean | undefined) => FileWatcher; createProgram: { (newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; (rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost | undefined, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; }; }' is not assignable to type 'WatchCompilerHostOfFilesAndCompilerOptions'. +!!! error TS2322: Types of property 'createProgram' are incompatible. +!!! error TS2322: Type '{ (newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; (rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost | undefined, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; }' is not assignable to type 'CreateProgram'. +!!! error TS2322: Types of parameters 'newProgram' and 'rootNames' are incompatible. +!!! error TS2322: Type 'ReadonlyArray | undefined' is not assignable to type 'Program'. +!!! error TS2322: Type 'undefined' is not assignable to type 'Program'. + rootFiles: files, + options, + + useCaseSensitiveFileNames: () => ts.sys.useCaseSensitiveFileNames, + getNewLine: () => ts.sys.newLine, + getCurrentDirectory: ts.sys.getCurrentDirectory, + getDefaultLibFileName: options => ts.getDefaultLibFilePath(options), + + fileExists: ts.sys.fileExists, + readFile: ts.sys.readFile, + directoryExists: ts.sys.directoryExists, + getDirectories: ts.sys.getDirectories, + readDirectory: ts.sys.readDirectory, + realpath: ts.sys.realpath, + + watchFile: ts.sys.watchFile!, + watchDirectory: ts.sys.watchDirectory!, + createProgram: ts.createAbstractBuilder + }; + + // You can technically override any given hook on the host, though you probably don't need to. + // Note that we're assuming `origCreateProgram` and `origPostProgramCreate` doesn't use `this` at all. + const origCreateProgram = host.createProgram; + host.createProgram = (rootNames, options, host, oldProgram) => { + console.log("** We're about to create the program! **"); + return origCreateProgram(rootNames, options, host, oldProgram); + } + const origPostProgramCreate = host.afterProgramCreate; + + host.afterProgramCreate = program => { + console.log("** We finished making the program! **"); + origPostProgramCreate!(program); + }; + + // `createWatchProgram` creates an initial program, watches files, and updates the program over time. + ts.createWatchProgram(host); + } + + watchMain(); + \ No newline at end of file diff --git a/tests/baselines/reference/APISample_WatchWithOwnWatchHost.js b/tests/baselines/reference/APISample_WatchWithOwnWatchHost.js new file mode 100644 index 00000000000..95f6df3fb51 --- /dev/null +++ b/tests/baselines/reference/APISample_WatchWithOwnWatchHost.js @@ -0,0 +1,102 @@ +//// [APISample_WatchWithOwnWatchHost.ts] +/* + * Note: This test is a public API sample. This sample verifies creating abstract builder to watch list of root files + * Please log a "breaking change" issue for any API breaking change affecting this issue + */ + +declare var console: any; + +import ts = require("typescript"); + +function watchMain() { + // get list of files and compiler options somehow + const files: string[] = []; + const options: ts.CompilerOptions = {}; + + const host: ts.WatchCompilerHostOfFilesAndCompilerOptions = { + rootFiles: files, + options, + + useCaseSensitiveFileNames: () => ts.sys.useCaseSensitiveFileNames, + getNewLine: () => ts.sys.newLine, + getCurrentDirectory: ts.sys.getCurrentDirectory, + getDefaultLibFileName: options => ts.getDefaultLibFilePath(options), + + fileExists: ts.sys.fileExists, + readFile: ts.sys.readFile, + directoryExists: ts.sys.directoryExists, + getDirectories: ts.sys.getDirectories, + readDirectory: ts.sys.readDirectory, + realpath: ts.sys.realpath, + + watchFile: ts.sys.watchFile!, + watchDirectory: ts.sys.watchDirectory!, + createProgram: ts.createAbstractBuilder + }; + + // You can technically override any given hook on the host, though you probably don't need to. + // Note that we're assuming `origCreateProgram` and `origPostProgramCreate` doesn't use `this` at all. + const origCreateProgram = host.createProgram; + host.createProgram = (rootNames, options, host, oldProgram) => { + console.log("** We're about to create the program! **"); + return origCreateProgram(rootNames, options, host, oldProgram); + } + const origPostProgramCreate = host.afterProgramCreate; + + host.afterProgramCreate = program => { + console.log("** We finished making the program! **"); + origPostProgramCreate!(program); + }; + + // `createWatchProgram` creates an initial program, watches files, and updates the program over time. + ts.createWatchProgram(host); +} + +watchMain(); + + +//// [APISample_WatchWithOwnWatchHost.js] +"use strict"; +/* + * Note: This test is a public API sample. This sample verifies creating abstract builder to watch list of root files + * Please log a "breaking change" issue for any API breaking change affecting this issue + */ +exports.__esModule = true; +var ts = require("typescript"); +function watchMain() { + // get list of files and compiler options somehow + var files = []; + var options = {}; + var host = { + rootFiles: files, + options: options, + useCaseSensitiveFileNames: function () { return ts.sys.useCaseSensitiveFileNames; }, + getNewLine: function () { return ts.sys.newLine; }, + getCurrentDirectory: ts.sys.getCurrentDirectory, + getDefaultLibFileName: function (options) { return ts.getDefaultLibFilePath(options); }, + fileExists: ts.sys.fileExists, + readFile: ts.sys.readFile, + directoryExists: ts.sys.directoryExists, + getDirectories: ts.sys.getDirectories, + readDirectory: ts.sys.readDirectory, + realpath: ts.sys.realpath, + watchFile: ts.sys.watchFile, + watchDirectory: ts.sys.watchDirectory, + createProgram: ts.createAbstractBuilder + }; + // You can technically override any given hook on the host, though you probably don't need to. + // Note that we're assuming `origCreateProgram` and `origPostProgramCreate` doesn't use `this` at all. + var origCreateProgram = host.createProgram; + host.createProgram = function (rootNames, options, host, oldProgram) { + console.log("** We're about to create the program! **"); + return origCreateProgram(rootNames, options, host, oldProgram); + }; + var origPostProgramCreate = host.afterProgramCreate; + host.afterProgramCreate = function (program) { + console.log("** We finished making the program! **"); + origPostProgramCreate(program); + }; + // `createWatchProgram` creates an initial program, watches files, and updates the program over time. + ts.createWatchProgram(host); +} +watchMain(); diff --git a/tests/cases/compiler/APISample_Watch.ts b/tests/cases/compiler/APISample_Watch.ts new file mode 100644 index 00000000000..e1506676426 --- /dev/null +++ b/tests/cases/compiler/APISample_Watch.ts @@ -0,0 +1,80 @@ +// @module: commonjs +// @skipLibCheck: true +// @includebuiltfile: typescript_standalone.d.ts +// @noImplicitAny:true +// @strictNullChecks:true + +/* + * Note: This test is a public API sample. The sample sources can be found + at: https://github.com/Microsoft/TypeScript-wiki/blob/master/Using-the-Compiler-API.md#writing-an-incremental-program-watcher + * Please log a "breaking change" issue for any API breaking change affecting this issue + */ + +declare var process: any; +declare var console: any; +declare var os: any; + +import ts = require("typescript"); + +const formatHost: ts.FormatDiagnosticsHost = { + getCanonicalFileName: path => path, + getCurrentDirectory: ts.sys.getCurrentDirectory, + getNewLine: () => ts.sys.newLine, +} + +function watchMain() { + const configPath = ts.findConfigFile(/*searchPath*/ "./", ts.sys.fileExists, "tsconfig.json"); + if (!configPath) { + throw new Error("Could not find a valid 'tsconfig.json'."); + } + + // TypeScript can use several different program creation "strategies": + // * ts.createEmitAndSemanticDiagnosticsBuilderProgram, + // * ts.createSemanticDiagnosticsBuilderProgram + // * ts.createAbstractBuilder + // The first two produce "builder programs". These use an incremental strategy to only re-check and emit files whose + // contents may have changed, or whose dependencies may have changes which may impact change the result of prior type-check and emit. + // The last uses an ordinary program which does a full type check after every change. + // Between `createEmitAndSemanticDiagnosticsBuilderProgram` and `createSemanticDiagnosticsBuilderProgram`, the only difference is emit. + // For pure type-checking scenarios, or when another tool/process handles emit, using `createSemanticDiagnosticsBuilderProgram` may be more desirable. + + // Note that there is another overload for `createWatchCompilerHost` that takes a set of root files. + const host = ts.createWatchCompilerHost(configPath, {}, ts.sys, + ts.createSemanticDiagnosticsBuilderProgram, + reportDiagnostic, + reportWatchStatusChanged, + ); + + // You can technically override any given hook on the host, though you probably don't need to. + // Note that we're assuming `origCreateProgram` and `origPostProgramCreate` doesn't use `this` at all. + const origCreateProgram = host.createProgram; + host.createProgram = (rootNames: ReadonlyArray, options, host, oldProgram) => { + console.log("** We're about to create the program! **"); + return origCreateProgram(rootNames, options, host, oldProgram); + } + const origPostProgramCreate = host.afterProgramCreate; + + host.afterProgramCreate = program => { + console.log("** We finished making the program! **"); + origPostProgramCreate!(program); + }; + + // `createWatchProgram` creates an initial program, watches files, and updates the program over time. + ts.createWatchProgram(host); +} + +function reportDiagnostic(diagnostic: ts.Diagnostic) { + console.error("Error", diagnostic.code, ":", + ts.flattenDiagnosticMessageText(diagnostic.messageText, formatHost.getNewLine()) + ); +} + +/** + * Prints a diagnostic every time the watch status changes. + * This is mainly for messages like "Starting compilation" or "Compilation completed". + */ +function reportWatchStatusChanged(diagnostic: ts.Diagnostic) { + console.info(ts.formatDiagnostic(diagnostic, formatHost)); +} + +watchMain(); diff --git a/tests/cases/compiler/APISample_WatchWithDefaults.ts b/tests/cases/compiler/APISample_WatchWithDefaults.ts new file mode 100644 index 00000000000..24f251daca2 --- /dev/null +++ b/tests/cases/compiler/APISample_WatchWithDefaults.ts @@ -0,0 +1,53 @@ +// @module: commonjs +// @skipLibCheck: true +// @includebuiltfile: typescript_standalone.d.ts +// @noImplicitAny:true +// @strict:true + +/* + * Note: This test is a public API sample. This uses default sys interface without having to pass anything + * Please log a "breaking change" issue for any API breaking change affecting this issue + */ + +declare var console: any; + +import ts = require("typescript"); + +function watchMain() { + const configPath = ts.findConfigFile(/*searchPath*/ "./", ts.sys.fileExists, "tsconfig.json"); + if (!configPath) { + throw new Error("Could not find a valid 'tsconfig.json'."); + } + + // TypeScript can use several different program creation "strategies": + // * ts.createEmitAndSemanticDiagnosticsBuilderProgram, + // * ts.createSemanticDiagnosticsBuilderProgram + // * ts.createAbstractBuilder + // The first two produce "builder programs". These use an incremental strategy to only re-check and emit files whose + // contents may have changed, or whose dependencies may have changes which may impact change the result of prior type-check and emit. + // The last uses an ordinary program which does a full type check after every change. + // Between `createEmitAndSemanticDiagnosticsBuilderProgram` and `createSemanticDiagnosticsBuilderProgram`, the only difference is emit. + // For pure type-checking scenarios, or when another tool/process handles emit, using `createSemanticDiagnosticsBuilderProgram` may be more desirable. + + // Note that there is another overload for `createWatchCompilerHost` that takes a set of root files. + const host = ts.createWatchCompilerHost(configPath, {}, ts.sys); + + // You can technically override any given hook on the host, though you probably don't need to. + // Note that we're assuming `origCreateProgram` and `origPostProgramCreate` doesn't use `this` at all. + const origCreateProgram = host.createProgram; + host.createProgram = (rootNames, options, host, oldProgram) => { + console.log("** We're about to create the program! **"); + return origCreateProgram(rootNames, options, host, oldProgram); + } + const origPostProgramCreate = host.afterProgramCreate; + + host.afterProgramCreate = program => { + console.log("** We finished making the program! **"); + origPostProgramCreate!(program); + }; + + // `createWatchProgram` creates an initial program, watches files, and updates the program over time. + ts.createWatchProgram(host); +} + +watchMain(); diff --git a/tests/cases/compiler/APISample_WatchWithOwnWatchHost.ts b/tests/cases/compiler/APISample_WatchWithOwnWatchHost.ts new file mode 100644 index 00000000000..18f170bd5f6 --- /dev/null +++ b/tests/cases/compiler/APISample_WatchWithOwnWatchHost.ts @@ -0,0 +1,60 @@ +// @module: commonjs +// @skipLibCheck: true +// @includebuiltfile: typescript_standalone.d.ts +// @noImplicitAny:true +// @strict:true + +/* + * Note: This test is a public API sample. This sample verifies creating abstract builder to watch list of root files + * Please log a "breaking change" issue for any API breaking change affecting this issue + */ + +declare var console: any; + +import ts = require("typescript"); + +function watchMain() { + // get list of files and compiler options somehow + const files: string[] = []; + const options: ts.CompilerOptions = {}; + + const host: ts.WatchCompilerHostOfFilesAndCompilerOptions = { + rootFiles: files, + options, + + useCaseSensitiveFileNames: () => ts.sys.useCaseSensitiveFileNames, + getNewLine: () => ts.sys.newLine, + getCurrentDirectory: ts.sys.getCurrentDirectory, + getDefaultLibFileName: options => ts.getDefaultLibFilePath(options), + + fileExists: ts.sys.fileExists, + readFile: ts.sys.readFile, + directoryExists: ts.sys.directoryExists, + getDirectories: ts.sys.getDirectories, + readDirectory: ts.sys.readDirectory, + realpath: ts.sys.realpath, + + watchFile: ts.sys.watchFile!, + watchDirectory: ts.sys.watchDirectory!, + createProgram: ts.createAbstractBuilder + }; + + // You can technically override any given hook on the host, though you probably don't need to. + // Note that we're assuming `origCreateProgram` and `origPostProgramCreate` doesn't use `this` at all. + const origCreateProgram = host.createProgram; + host.createProgram = (rootNames, options, host, oldProgram) => { + console.log("** We're about to create the program! **"); + return origCreateProgram(rootNames, options, host, oldProgram); + } + const origPostProgramCreate = host.afterProgramCreate; + + host.afterProgramCreate = program => { + console.log("** We finished making the program! **"); + origPostProgramCreate!(program); + }; + + // `createWatchProgram` creates an initial program, watches files, and updates the program over time. + ts.createWatchProgram(host); +} + +watchMain(); From e88305173ddf53ba25dc1b8bb43df735de6dd02e Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Mon, 4 Jun 2018 12:48:21 -0700 Subject: [PATCH 58/76] Fix the issue with createSemanticDiagnosticsBuilderProgram, createEmitAndSemanticDiagnosticsBuilderProgram and createAbstractBuilder not assignable to CreateProgram Fixes #24625 --- src/compiler/builder.ts | 12 ++-- ...APISample_WatchWithOwnWatchHost.errors.txt | 71 ------------------- .../reference/api/tsserverlibrary.d.ts | 6 +- tests/baselines/reference/api/typescript.d.ts | 6 +- 4 files changed, 12 insertions(+), 83 deletions(-) delete mode 100644 tests/baselines/reference/APISample_WatchWithOwnWatchHost.errors.txt diff --git a/src/compiler/builder.ts b/src/compiler/builder.ts index a4f3bbefac2..fc52559a318 100644 --- a/src/compiler/builder.ts +++ b/src/compiler/builder.ts @@ -549,8 +549,8 @@ namespace ts { * Create the builder to manage semantic diagnostics and cache them */ export function createSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; - export function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; - export function createSemanticDiagnosticsBuilderProgram(newProgramOrRootNames: Program | ReadonlyArray, hostOrOptions: BuilderProgramHost | CompilerOptions, oldProgramOrHost?: CompilerHost | SemanticDiagnosticsBuilderProgram, configFileParsingDiagnosticsOrOldProgram?: ReadonlyArray | SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray) { + export function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + export function createSemanticDiagnosticsBuilderProgram(newProgramOrRootNames: Program | ReadonlyArray | undefined, hostOrOptions: BuilderProgramHost | CompilerOptions | undefined, oldProgramOrHost?: CompilerHost | SemanticDiagnosticsBuilderProgram, configFileParsingDiagnosticsOrOldProgram?: ReadonlyArray | SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray) { return createBuilderProgram(BuilderProgramKind.SemanticDiagnosticsBuilderProgram, getBuilderCreationParameters(newProgramOrRootNames, hostOrOptions, oldProgramOrHost, configFileParsingDiagnosticsOrOldProgram, configFileParsingDiagnostics)); } @@ -559,8 +559,8 @@ namespace ts { * to emit the those files and manage semantic diagnostics cache as well */ export function createEmitAndSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; - export function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; - export function createEmitAndSemanticDiagnosticsBuilderProgram(newProgramOrRootNames: Program | ReadonlyArray, hostOrOptions: BuilderProgramHost | CompilerOptions, oldProgramOrHost?: CompilerHost | EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnosticsOrOldProgram?: ReadonlyArray | EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray) { + export function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + export function createEmitAndSemanticDiagnosticsBuilderProgram(newProgramOrRootNames: Program | ReadonlyArray | undefined, hostOrOptions: BuilderProgramHost | CompilerOptions | undefined, oldProgramOrHost?: CompilerHost | EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnosticsOrOldProgram?: ReadonlyArray | EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray) { return createBuilderProgram(BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram, getBuilderCreationParameters(newProgramOrRootNames, hostOrOptions, oldProgramOrHost, configFileParsingDiagnosticsOrOldProgram, configFileParsingDiagnostics)); } @@ -568,8 +568,8 @@ namespace ts { * Creates a builder thats just abstraction over program and can be used with watch */ export function createAbstractBuilder(newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; - export function createAbstractBuilder(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; - export function createAbstractBuilder(newProgramOrRootNames: Program | ReadonlyArray, hostOrOptions: BuilderProgramHost | CompilerOptions, oldProgramOrHost?: CompilerHost | BuilderProgram, configFileParsingDiagnosticsOrOldProgram?: ReadonlyArray | BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram { + export function createAbstractBuilder(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; + export function createAbstractBuilder(newProgramOrRootNames: Program | ReadonlyArray | undefined, hostOrOptions: BuilderProgramHost | CompilerOptions | undefined, oldProgramOrHost?: CompilerHost | BuilderProgram, configFileParsingDiagnosticsOrOldProgram?: ReadonlyArray | BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram { const { newProgram: program } = getBuilderCreationParameters(newProgramOrRootNames, hostOrOptions, oldProgramOrHost, configFileParsingDiagnosticsOrOldProgram, configFileParsingDiagnostics); return { // Only return program, all other methods are not implemented diff --git a/tests/baselines/reference/APISample_WatchWithOwnWatchHost.errors.txt b/tests/baselines/reference/APISample_WatchWithOwnWatchHost.errors.txt deleted file mode 100644 index 46910d16b63..00000000000 --- a/tests/baselines/reference/APISample_WatchWithOwnWatchHost.errors.txt +++ /dev/null @@ -1,71 +0,0 @@ -tests/cases/compiler/APISample_WatchWithOwnWatchHost.ts(15,11): error TS2322: Type '{ rootFiles: string[]; options: CompilerOptions; useCaseSensitiveFileNames: () => boolean; getNewLine: () => string; getCurrentDirectory: () => string; getDefaultLibFileName: (options: CompilerOptions) => string; fileExists: (path: string) => boolean; readFile: (path: string, encoding?: string | undefined) => string | undefined; directoryExists: (path: string) => boolean; getDirectories: (path: string) => string[]; readDirectory: (path: string, extensions?: ReadonlyArray | undefined, exclude?: ReadonlyArray | undefined, include?: ReadonlyArray | undefined, depth?: number | undefined) => string[]; realpath: ((path: string) => string) | undefined; watchFile: (path: string, callback: FileWatcherCallback, pollingInterval?: number | undefined) => FileWatcher; watchDirectory: (path: string, callback: DirectoryWatcherCallback, recursive?: boolean | undefined) => FileWatcher; createProgram: { (newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; (rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost | undefined, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; }; }' is not assignable to type 'WatchCompilerHostOfFilesAndCompilerOptions'. - Types of property 'createProgram' are incompatible. - Type '{ (newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; (rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost | undefined, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; }' is not assignable to type 'CreateProgram'. - Types of parameters 'newProgram' and 'rootNames' are incompatible. - Type 'ReadonlyArray | undefined' is not assignable to type 'Program'. - Type 'undefined' is not assignable to type 'Program'. - - -==== tests/cases/compiler/APISample_WatchWithOwnWatchHost.ts (1 errors) ==== - /* - * Note: This test is a public API sample. This sample verifies creating abstract builder to watch list of root files - * Please log a "breaking change" issue for any API breaking change affecting this issue - */ - - declare var console: any; - - import ts = require("typescript"); - - function watchMain() { - // get list of files and compiler options somehow - const files: string[] = []; - const options: ts.CompilerOptions = {}; - - const host: ts.WatchCompilerHostOfFilesAndCompilerOptions = { - ~~~~ -!!! error TS2322: Type '{ rootFiles: string[]; options: CompilerOptions; useCaseSensitiveFileNames: () => boolean; getNewLine: () => string; getCurrentDirectory: () => string; getDefaultLibFileName: (options: CompilerOptions) => string; fileExists: (path: string) => boolean; readFile: (path: string, encoding?: string | undefined) => string | undefined; directoryExists: (path: string) => boolean; getDirectories: (path: string) => string[]; readDirectory: (path: string, extensions?: ReadonlyArray | undefined, exclude?: ReadonlyArray | undefined, include?: ReadonlyArray | undefined, depth?: number | undefined) => string[]; realpath: ((path: string) => string) | undefined; watchFile: (path: string, callback: FileWatcherCallback, pollingInterval?: number | undefined) => FileWatcher; watchDirectory: (path: string, callback: DirectoryWatcherCallback, recursive?: boolean | undefined) => FileWatcher; createProgram: { (newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; (rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost | undefined, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; }; }' is not assignable to type 'WatchCompilerHostOfFilesAndCompilerOptions'. -!!! error TS2322: Types of property 'createProgram' are incompatible. -!!! error TS2322: Type '{ (newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; (rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost | undefined, oldProgram?: BuilderProgram | undefined, configFileParsingDiagnostics?: ReadonlyArray | undefined): BuilderProgram; }' is not assignable to type 'CreateProgram'. -!!! error TS2322: Types of parameters 'newProgram' and 'rootNames' are incompatible. -!!! error TS2322: Type 'ReadonlyArray | undefined' is not assignable to type 'Program'. -!!! error TS2322: Type 'undefined' is not assignable to type 'Program'. - rootFiles: files, - options, - - useCaseSensitiveFileNames: () => ts.sys.useCaseSensitiveFileNames, - getNewLine: () => ts.sys.newLine, - getCurrentDirectory: ts.sys.getCurrentDirectory, - getDefaultLibFileName: options => ts.getDefaultLibFilePath(options), - - fileExists: ts.sys.fileExists, - readFile: ts.sys.readFile, - directoryExists: ts.sys.directoryExists, - getDirectories: ts.sys.getDirectories, - readDirectory: ts.sys.readDirectory, - realpath: ts.sys.realpath, - - watchFile: ts.sys.watchFile!, - watchDirectory: ts.sys.watchDirectory!, - createProgram: ts.createAbstractBuilder - }; - - // You can technically override any given hook on the host, though you probably don't need to. - // Note that we're assuming `origCreateProgram` and `origPostProgramCreate` doesn't use `this` at all. - const origCreateProgram = host.createProgram; - host.createProgram = (rootNames, options, host, oldProgram) => { - console.log("** We're about to create the program! **"); - return origCreateProgram(rootNames, options, host, oldProgram); - } - const origPostProgramCreate = host.afterProgramCreate; - - host.afterProgramCreate = program => { - console.log("** We finished making the program! **"); - origPostProgramCreate!(program); - }; - - // `createWatchProgram` creates an initial program, watches files, and updates the program over time. - ts.createWatchProgram(host); - } - - watchMain(); - \ No newline at end of file diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index b88ebf8b118..76a5d890fa7 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -4172,18 +4172,18 @@ declare namespace ts { * Create the builder to manage semantic diagnostics and cache them */ function createSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; - function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; /** * Create the builder that can handle the changes in program and iterate through changed files * to emit the those files and manage semantic diagnostics cache as well */ function createEmitAndSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; - function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; /** * Creates a builder thats just abstraction over program and can be used with watch */ function createAbstractBuilder(newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; - function createAbstractBuilder(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; + function createAbstractBuilder(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; } declare namespace ts { type WatchStatusReporter = (diagnostic: Diagnostic, newLine: string, options: CompilerOptions) => void; diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 3368c6347cd..51bd949ae4d 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -4172,18 +4172,18 @@ declare namespace ts { * Create the builder to manage semantic diagnostics and cache them */ function createSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; - function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; /** * Create the builder that can handle the changes in program and iterate through changed files * to emit the those files and manage semantic diagnostics cache as well */ function createEmitAndSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; - function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; /** * Creates a builder thats just abstraction over program and can be used with watch */ function createAbstractBuilder(newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; - function createAbstractBuilder(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; + function createAbstractBuilder(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; } declare namespace ts { type WatchStatusReporter = (diagnostic: Diagnostic, newLine: string, options: CompilerOptions) => void; From f9530d7e8f8839774db6ffcdcf613f4ddafe50cb Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 4 Jun 2018 13:28:47 -0700 Subject: [PATCH 59/76] Add 'parseOptionalJsdoc' helper (#24650) --- src/compiler/parser.ts | 39 +++++++++++++++++---------------------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 2e75775fbd8..9838709e9a6 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -6365,17 +6365,14 @@ namespace ts { indent += text.length; } - let t = nextJSDocToken(); - while (t === SyntaxKind.WhitespaceTrivia) { - t = nextJSDocToken(); - } - if (t === SyntaxKind.NewLineTrivia) { + nextJSDocToken(); + while (parseOptionalJsdoc(SyntaxKind.WhitespaceTrivia)); + if (parseOptionalJsdoc(SyntaxKind.NewLineTrivia)) { state = JSDocState.BeginningOfLine; indent = 0; - t = nextJSDocToken(); } loop: while (true) { - switch (t) { + switch (token()) { case SyntaxKind.AtToken: if (state === JSDocState.BeginningOfLine || state === JSDocState.SawAsterisk) { removeTrailingNewlines(comments); @@ -6435,12 +6432,11 @@ namespace ts { pushComment(scanner.getTokenText()); break; } - t = nextJSDocToken(); + nextJSDocToken(); } removeLeadingNewlines(comments); removeTrailingNewlines(comments); result = createJSDocComment(); - }); return result; @@ -6877,8 +6873,7 @@ namespace ts { jsdocSignature.parameters = append(jsdocSignature.parameters as MutableNodeArray, child); } const returnTag = tryParse(() => { - if (token() === SyntaxKind.AtToken) { - nextJSDocToken(); + if (parseOptionalJsdoc(SyntaxKind.AtToken)) { const tag = parseTag(indent); if (tag && tag.kind === SyntaxKind.JSDocReturnTag) { return tag as JSDocReturnTag; @@ -6997,12 +6992,12 @@ namespace ts { let constraint: JSDocTypeExpression | undefined; if (token() === SyntaxKind.OpenBraceToken) { constraint = parseJSDocTypeExpression(); - skipWhitespace(); } const typeParameters = []; const typeParametersPos = getNodePos(); - while (true) { + do { + skipWhitespace(); const typeParameter = createNode(SyntaxKind.TypeParameter); if (!tokenIsIdentifierOrKeyword(token())) { parseErrorAtCurrentToken(Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces); @@ -7012,15 +7007,7 @@ namespace ts { skipWhitespace(); finishNode(typeParameter); typeParameters.push(typeParameter); - if (token() === SyntaxKind.CommaToken) { - // need to look for more type parameters - nextJSDocToken(); - skipWhitespace(); - } - else { - break; - } - } + } while (parseOptionalJsdoc(SyntaxKind.CommaToken)); if (constraint) { first(typeParameters).constraint = constraint.type; @@ -7038,6 +7025,14 @@ namespace ts { return currentToken = scanner.scanJSDocToken(); } + function parseOptionalJsdoc(t: JsDocSyntaxKind): boolean { + if (token() === t) { + nextJSDocToken(); + return true; + } + return false; + } + function parseJSDocEntityName(): EntityName { let entity: EntityName = parseJSDocIdentifierName(/*createIfMissing*/ true); if (parseOptional(SyntaxKind.OpenBracketToken)) { From 7db4b1cbc7790607fe7f04d7f95403c4388d1303 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Mon, 4 Jun 2018 13:34:23 -0700 Subject: [PATCH 60/76] Fix property assignment on aliases (#24659) Aliases don't have valueDeclarations, which caused a crash when passed to isJavascriptContainer before. --- src/compiler/binder.ts | 5 +++-- .../propertyAssignmentOnImportedSymbol.symbols | 11 +++++++++++ .../propertyAssignmentOnImportedSymbol.types | 16 ++++++++++++++++ .../salsa/propertyAssignmentOnImportedSymbol.ts | 8 ++++++++ 4 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/propertyAssignmentOnImportedSymbol.symbols create mode 100644 tests/baselines/reference/propertyAssignmentOnImportedSymbol.types create mode 100644 tests/cases/conformance/salsa/propertyAssignmentOnImportedSymbol.ts diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index beee9823aa5..8b6ff01dd20 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -2510,11 +2510,12 @@ namespace ts { * - with non-empty object literals if assigned to the prototype property */ function isJavascriptContainer(symbol: Symbol): boolean { - const node = symbol.valueDeclaration; if (symbol.flags & (SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.NamespaceModule)) { return true; } - const init = isVariableDeclaration(node) ? node.initializer : + const node = symbol.valueDeclaration; + const init = !node ? undefined : + isVariableDeclaration(node) ? node.initializer : isBinaryExpression(node) ? node.right : isPropertyAccessExpression(node) && isBinaryExpression(node.parent) ? node.parent.right : undefined; diff --git a/tests/baselines/reference/propertyAssignmentOnImportedSymbol.symbols b/tests/baselines/reference/propertyAssignmentOnImportedSymbol.symbols new file mode 100644 index 00000000000..f8d01ae6981 --- /dev/null +++ b/tests/baselines/reference/propertyAssignmentOnImportedSymbol.symbols @@ -0,0 +1,11 @@ +=== tests/cases/conformance/salsa/mod1.js === +export var hurk = {} +>hurk : Symbol(hurk, Decl(mod1.js, 0, 10)) + +=== tests/cases/conformance/salsa/bug24658.js === +import { hurk } from './mod1' +>hurk : Symbol(hurk, Decl(bug24658.js, 0, 8)) + +hurk.expando = 4 +>hurk : Symbol(hurk, Decl(bug24658.js, 0, 8)) + diff --git a/tests/baselines/reference/propertyAssignmentOnImportedSymbol.types b/tests/baselines/reference/propertyAssignmentOnImportedSymbol.types new file mode 100644 index 00000000000..c14617911d1 --- /dev/null +++ b/tests/baselines/reference/propertyAssignmentOnImportedSymbol.types @@ -0,0 +1,16 @@ +=== tests/cases/conformance/salsa/mod1.js === +export var hurk = {} +>hurk : { [x: string]: any; } +>{} : { [x: string]: any; } + +=== tests/cases/conformance/salsa/bug24658.js === +import { hurk } from './mod1' +>hurk : { [x: string]: any; } + +hurk.expando = 4 +>hurk.expando = 4 : 4 +>hurk.expando : any +>hurk : { [x: string]: any; } +>expando : any +>4 : 4 + diff --git a/tests/cases/conformance/salsa/propertyAssignmentOnImportedSymbol.ts b/tests/cases/conformance/salsa/propertyAssignmentOnImportedSymbol.ts new file mode 100644 index 00000000000..083cf23baac --- /dev/null +++ b/tests/cases/conformance/salsa/propertyAssignmentOnImportedSymbol.ts @@ -0,0 +1,8 @@ +// @allowJs: true +// @checkJs: true +// @noEmit: true +// @Filename: mod1.js +export var hurk = {} +// @Filename: bug24658.js +import { hurk } from './mod1' +hurk.expando = 4 From fb09aeb23d50dec197d58c3e667962bf0f45f425 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Mon, 4 Jun 2018 13:42:31 -0700 Subject: [PATCH 61/76] Remove debugger statement --- src/services/goToDefinition.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/services/goToDefinition.ts b/src/services/goToDefinition.ts index 92979b44ce0..ed0973f9260 100644 --- a/src/services/goToDefinition.ts +++ b/src/services/goToDefinition.ts @@ -89,7 +89,6 @@ namespace ts.GoToDefinition { } export function getReferenceAtPosition(sourceFile: SourceFile, position: number, program: Program): { fileName: string, file: SourceFile } | undefined { - debugger; const referencePath = findReferenceInPosition(sourceFile.referencedFiles, position); if (referencePath) { const file = tryResolveScriptReference(program, sourceFile, referencePath); From 2f73986b44a4ec10c7ebe7188e23863c3879d54e Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Mon, 4 Jun 2018 14:02:51 -0700 Subject: [PATCH 62/76] Update LKG --- lib/cs/diagnosticMessages.generated.json | 10 + lib/de/diagnosticMessages.generated.json | 7 + lib/enu/diagnosticMessages.generated.json.lcg | 48 + lib/es/diagnosticMessages.generated.json | 13 +- lib/fr/diagnosticMessages.generated.json | 11 +- lib/it/diagnosticMessages.generated.json | 10 + lib/ja/diagnosticMessages.generated.json | 7 + lib/ko/diagnosticMessages.generated.json | 10 + lib/lib.es2015.core.d.ts | 16 +- lib/lib.esnext.array.d.ts | 38 +- lib/lib.esnext.d.ts | 1 + lib/lib.esnext.full.d.ts | 1 + lib/lib.esnext.symbol.d.ts | 26 + lib/pl/diagnosticMessages.generated.json | 10 + lib/protocol.d.ts | 18 +- lib/pt-br/diagnosticMessages.generated.json | 11 +- lib/ru/diagnosticMessages.generated.json | 10 + lib/tr/diagnosticMessages.generated.json | 7 + lib/tsc.js | 11136 +++++----- lib/tsserver.js | 16069 +++++++------- lib/tsserverlibrary.d.ts | 881 +- lib/tsserverlibrary.js | 17962 ++++++++-------- lib/typescript.d.ts | 821 +- lib/typescript.js | 17723 +++++++-------- lib/typescriptServices.d.ts | 821 +- lib/typescriptServices.js | 17723 +++++++-------- lib/typingsInstaller.js | 2830 +-- lib/zh-cn/diagnosticMessages.generated.json | 10 + lib/zh-tw/diagnosticMessages.generated.json | 10 + 29 files changed, 45342 insertions(+), 40898 deletions(-) create mode 100644 lib/lib.esnext.symbol.d.ts diff --git a/lib/cs/diagnosticMessages.generated.json b/lib/cs/diagnosticMessages.generated.json index 7271e1a2328..bd5bf11f505 100644 --- a/lib/cs/diagnosticMessages.generated.json +++ b/lib/cs/diagnosticMessages.generated.json @@ -106,6 +106,7 @@ "Add_initializer_to_property_0_95019": "PÅ™idat inicializaÄní výraz k vlastnosti {0}", "Add_initializers_to_all_uninitialized_properties_95027": "PÅ™idat inicializátory do vÅ¡ech neinicializovaných vlastností", "Add_missing_super_call_90001": "PÅ™idat chybÄ›jící volání metody super()", + "Add_missing_typeof_95052": "PÅ™idat chybÄ›jící typeof", "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037": "PÅ™idat kvalifikátor do vÅ¡ech nerozpoznaných promÄ›nných odpovídajících názvu Älenu", "Add_to_all_uncalled_decorators_95044": "PÅ™idat () do vÅ¡ech nevolaných dekorátorů", "Add_ts_ignore_to_all_error_messages_95042": "PÅ™idat @ts-ignore do vÅ¡ech chybových zpráv", @@ -119,6 +120,7 @@ "All_declarations_of_an_abstract_method_must_be_consecutive_2516": "VÅ¡echny deklarace abstraktní metody musí jít po sobÄ›.", "All_destructured_elements_are_unused_6198": "Žádný z destrukturovaných elementů se nepoužívá.", "All_imports_in_import_declaration_are_unused_6192": "Žádné importy z deklarace importu se nepoužívají.", + "All_variables_are_unused_6199": "Žádná z promÄ›nných se nepoužívá.", "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011": "Povolte výchozí importy z modulů bez výchozího exportu. Nebude to mít vliv na generování kódu, jenom na kontrolu typů.", "Allow_javascript_files_to_be_compiled_6102": "Povolí kompilaci souborů javascript.", "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209": "Když se zadá příznak --isolatedModules, nepovolují se ambientní výÄty.", @@ -255,6 +257,7 @@ "Class_0_used_before_its_declaration_2449": "Třída {0} se používá dříve, než se deklaruje.", "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "Deklarace tříd nemůžou mít více než jednu znaÄku @augments nebo @extends.", "Class_name_cannot_be_0_2414": "Třída nemůže mít název {0}.", + "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725": "Když se cílí na ES5 s modulem {0}, název třídy nemůže být Object.", "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417": "Statická strana třídy {0} nesprávnÄ› rozÅ¡iÅ™uje statickou stranu základní třídy {1}.", "Classes_can_only_extend_a_single_class_1174": "Třídy můžou rozšířit jenom jednu třídu.", "Classes_containing_abstract_methods_must_be_marked_abstract_2514": "Třídy obsahující abstraktní metody musí být oznaÄené jako abstraktní.", @@ -273,11 +276,14 @@ "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674": "Konstruktor třídy {0} je chránÄ›ný a dostupný jenom v rámci deklarace třídy.", "Constructors_for_derived_classes_must_contain_a_super_call_2377": "Konstruktory odvozených tříd musí obsahovat volání příkazu super.", "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126": "Není zadaný obsažený soubor a nedá se urÄit koÅ™enový adresář – pÅ™eskakuje se vyhledávání ve složce node_modules.", + "Convert_0_to_mapped_object_type_95055": "PÅ™evést {0} na typ mapovaného objektu", "Convert_all_constructor_functions_to_classes_95045": "PÅ™evést vÅ¡echny funkce konstruktoru na třídy", "Convert_all_require_to_import_95048": "PÅ™evést vÅ¡echna volání require na import", "Convert_all_to_default_imports_95035": "PÅ™evést vÅ¡e na výchozí importy", "Convert_function_0_to_class_95002": "PÅ™evést funkci {0} na třídu", "Convert_function_to_an_ES2015_class_95001": "PÅ™evést funkci na třídu ES2015", + "Convert_named_imports_to_namespace_import_95057": "PÅ™evést pojmenované importy na import oboru názvů", + "Convert_namespace_import_to_named_imports_95056": "PÅ™evést import oboru názvů na pojmenované importy", "Convert_require_to_import_95047": "PÅ™evést require na import", "Convert_to_ES6_module_95017": "PÅ™evést na modul ES6", "Convert_to_default_import_95013": "PÅ™evést na výchozí import", @@ -580,6 +586,7 @@ "Not_all_code_paths_return_a_value_7030": "Ne vÅ¡echny cesty kódu vracejí hodnotu.", "Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413": "Typ Äíselného indexu {0} se nedá pÅ™iÅ™adit k typu indexu Å™etÄ›zce {1}.", "Numeric_separators_are_not_allowed_here_6188": "Číselné oddÄ›lovaÄe tady nejsou povolené.", + "Object_is_of_type_unknown_2571": "Objekt je typu Neznámý.", "Object_is_possibly_null_2531": "Objekt je pravdÄ›podobnÄ› null.", "Object_is_possibly_null_or_undefined_2533": "Objekt je pravdÄ›podobnÄ› null nebo undefined.", "Object_is_possibly_undefined_2532": "Objekt je pravdÄ›podobnÄ› undefined.", @@ -708,10 +715,13 @@ "Redirect_output_structure_to_the_directory_6006": "PÅ™esmÄ›rování výstupní struktury do adresáře", "Referenced_project_0_must_have_setting_composite_Colon_true_6306": "Odkazovaný projekt {0} musí mít nastavení \"composite\": true.", "Remove_all_unreachable_code_95051": "Odebrat veÅ¡kerý nedosažitelný kód", + "Remove_all_unused_labels_95054": "Odebrat vÅ¡echny nepoužívané popisky", "Remove_declaration_for_Colon_0_90004": "Odebrat deklaraci pro {0}", "Remove_destructuring_90009": "Odebrat destrukci", "Remove_import_from_0_90005": "Odebrat import z {0}", "Remove_unreachable_code_95050": "Odebrat nedosažitelný kód", + "Remove_unused_label_95053": "Odebrat nepoužitý popisek", + "Remove_variable_statement_90010": "Odebrat příkaz promÄ›nné", "Replace_import_with_0_95015": "Nahradí import použitím: {0}.", "Report_error_when_not_all_code_paths_in_function_return_a_value_6075": "Oznámí se chyba, když nÄ›které cesty kódu ve funkci nevracejí hodnotu.", "Report_errors_for_fallthrough_cases_in_switch_statement_6076": "Oznámí se chyby v případech fallthrough v příkazu switch.", diff --git a/lib/de/diagnosticMessages.generated.json b/lib/de/diagnosticMessages.generated.json index 61c5a4bc241..01dc8cbf466 100644 --- a/lib/de/diagnosticMessages.generated.json +++ b/lib/de/diagnosticMessages.generated.json @@ -106,6 +106,7 @@ "Add_initializer_to_property_0_95019": "Initialisierer zu Eigenschaft \"{0}\" hinzufügen", "Add_initializers_to_all_uninitialized_properties_95027": "Allen nicht initialisierten Eigenschaften Initialisierer hinzufügen", "Add_missing_super_call_90001": "Fehlenden super()-Aufruf hinzufügen", + "Add_missing_typeof_95052": "Fehlenden \"typeof\" hinzufügen", "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037": "Allen nicht aufgelösten Variablen, die einem Membernamen entsprechen, Qualifizierer hinzufügen", "Add_to_all_uncalled_decorators_95044": "Allen nicht aufgerufenen Decorators \"()\" hinzufügen", "Add_ts_ignore_to_all_error_messages_95042": "Allen Fehlermeldungen \"@ts-ignore\" hinzufügen", @@ -119,6 +120,7 @@ "All_declarations_of_an_abstract_method_must_be_consecutive_2516": "Alle Deklarationen einer abstrakten Methode müssen aufeinanderfolgend sein.", "All_destructured_elements_are_unused_6198": "Alle destrukturierten Elemente werden nicht verwendet.", "All_imports_in_import_declaration_are_unused_6192": "Keiner der Importe in der Importdeklaration wird verwendet.", + "All_variables_are_unused_6199": "Alle Variablen werden nicht verwendet.", "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011": "Standardimporte von Modulen ohne Standardexport zulassen. Dies wirkt sich nicht auf die Codeausgabe aus, lediglich auf die Typprüfung.", "Allow_javascript_files_to_be_compiled_6102": "Kompilierung von JavaScript-Dateien zulassen.", "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209": "const-Umgebungsenumerationen sind unzulässig, wenn das Flag \"-isolatedModules\" angegeben wird.", @@ -255,6 +257,7 @@ "Class_0_used_before_its_declaration_2449": "Klasse \"{0}\", die vor der Deklaration verwendet wurde.", "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "Klassendeklarationen dürfen maximal ein \"@augments\"- oder \"@extends\"-Tag aufweisen.", "Class_name_cannot_be_0_2414": "Der Klassenname darf nicht \"{0}\" sein.", + "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725": "Der Klassenname darf nicht \"Object\" lauten, wenn ES5 mit Modul \"{0}\" als Ziel verwendet wird.", "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417": "Die statische Seite der Klasse \"{0}\" erweitert fälschlicherweise die statische Seite der Basisklasse \"{1}\".", "Classes_can_only_extend_a_single_class_1174": "Klassen dürfen nur eine einzelne Klasse erweitern.", "Classes_containing_abstract_methods_must_be_marked_abstract_2514": "Klassen, die abstrakte Methoden enthalten, müssen als abstrakt markiert werden.", @@ -273,6 +276,7 @@ "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674": "Der Konstruktor der Klasse \"{0}\" ist geschützt. Auf ihn kann nur innerhalb der Klassendeklaration zugegriffen werden.", "Constructors_for_derived_classes_must_contain_a_super_call_2377": "Konstruktoren für abgeleitete Klassen müssen einen Aufruf \"super\" enthalten.", "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126": "Die enthaltene Datei wird nicht angegeben, und das Stammverzeichnis kann nicht ermittelt werden. Die Suche im Ordner \"node_modules\" wird übersprungen.", + "Convert_0_to_mapped_object_type_95055": "\"{0}\" in zugeordneten Objekttyp konvertieren", "Convert_all_constructor_functions_to_classes_95045": "Alle Konstruktorfunktionen in Klassen konvertieren", "Convert_all_require_to_import_95048": "Alle Aufrufe von \"require\" in \"import\" konvertieren", "Convert_all_to_default_imports_95035": "Alle in Standardimporte konvertieren", @@ -708,10 +712,13 @@ "Redirect_output_structure_to_the_directory_6006": "Die Ausgabestruktur in das Verzeichnis umleiten.", "Referenced_project_0_must_have_setting_composite_Colon_true_6306": "Das referenzierte Projekt \"{0}\" muss für die Einstellung \"composite\" den Wert TRUE aufweisen.", "Remove_all_unreachable_code_95051": "Gesamten nicht erreichbaren Code entfernen", + "Remove_all_unused_labels_95054": "Alle nicht verwendeten Bezeichnungen entfernen", "Remove_declaration_for_Colon_0_90004": "Deklaration entfernen für: {0}", "Remove_destructuring_90009": "Destrukturierung entfernen", "Remove_import_from_0_90005": "Import aus \"{0}\" entfernen", "Remove_unreachable_code_95050": "Nicht erreichbaren Code entfernen", + "Remove_unused_label_95053": "Nicht verwendete Bezeichnung entfernen", + "Remove_variable_statement_90010": "Variablenanweisung entfernen", "Replace_import_with_0_95015": "Ersetzen Sie den Import durch \"{0}\".", "Report_error_when_not_all_code_paths_in_function_return_a_value_6075": "Fehler melden, wenn nicht alle Codepfade in der Funktion einen Wert zurückgeben.", "Report_errors_for_fallthrough_cases_in_switch_statement_6076": "Für FallTrough-Fälle in switch-Anweisung Fehler melden.", diff --git a/lib/enu/diagnosticMessages.generated.json.lcg b/lib/enu/diagnosticMessages.generated.json.lcg index 3ea2129b89b..dfa254800c9 100644 --- a/lib/enu/diagnosticMessages.generated.json.lcg +++ b/lib/enu/diagnosticMessages.generated.json.lcg @@ -735,6 +735,12 @@ + + + + + + @@ -1551,6 +1557,12 @@ + + + + + + @@ -1659,6 +1671,12 @@ + + + + + + @@ -1689,6 +1707,18 @@ + + + + + + + + + + + + @@ -3501,6 +3531,12 @@ + + + + + + @@ -4305,6 +4341,12 @@ + + + + + + @@ -5619,6 +5661,12 @@ + + + + + + diff --git a/lib/es/diagnosticMessages.generated.json b/lib/es/diagnosticMessages.generated.json index 9d6ee4cc1f9..debe11fef02 100644 --- a/lib/es/diagnosticMessages.generated.json +++ b/lib/es/diagnosticMessages.generated.json @@ -106,7 +106,7 @@ "Add_initializer_to_property_0_95019": "Agregar inicializador a la propiedad \"{0}\"", "Add_initializers_to_all_uninitialized_properties_95027": "Agregar inicializadores a todas las propiedades sin inicializar", "Add_missing_super_call_90001": "Agregar la llamada a \"super()\" que falta", - "Add_missing_typeof_95052": "Agregar el objeto typeof que falta", + "Add_missing_typeof_95052": "Agregar el elemento \"typeof\" que falta", "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037": "Agregar un calificador a todas las variables no resueltas que coincidan con un nombre de miembro", "Add_to_all_uncalled_decorators_95044": "Agregar \"()\" a todos los elementos Decorator a los que no se llama", "Add_ts_ignore_to_all_error_messages_95042": "Agregar \"@ts-ignore\" a todos los mensajes de error", @@ -120,6 +120,7 @@ "All_declarations_of_an_abstract_method_must_be_consecutive_2516": "Todas las declaraciones de un método abstracto deben ser consecutivas.", "All_destructured_elements_are_unused_6198": "Todos los elementos desestructurados están sin utilizar.", "All_imports_in_import_declaration_are_unused_6192": "Todas las importaciones de la declaración de importación están sin utilizar.", + "All_variables_are_unused_6199": "Todas las variables son no utilizadas.", "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011": "Permitir las importaciones predeterminadas de los módulos sin exportación predeterminada. Esto no afecta a la emisión de código, solo a la comprobación de tipos.", "Allow_javascript_files_to_be_compiled_6102": "Permitir que se compilen los archivos de JavaScript.", "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209": "No se permiten enumeraciones const de ambiente cuando se proporciona la marca \"--isolatedModules\".", @@ -256,6 +257,7 @@ "Class_0_used_before_its_declaration_2449": "Se ha usado la clase \"{0}\" antes de declararla.", "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "Las declaraciones de clase no pueden tener más de una etiqueta \"@augments\" o \"@extends\".", "Class_name_cannot_be_0_2414": "El nombre de la clase no puede ser \"{0}\".", + "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725": "El nombre de clase no puede ser \"Object\" cuando el destino es ES5 con un módulo {0}.", "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417": "El lado estático de la clase '{0}' extiende el lado estático de la clase base '{1}' de forma incorrecta.", "Classes_can_only_extend_a_single_class_1174": "Las clases solo pueden extender una clase única.", "Classes_containing_abstract_methods_must_be_marked_abstract_2514": "Las clases con métodos abstractos deben marcarse como abstractas.", @@ -274,11 +276,14 @@ "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674": "El constructor de la clase '{0}' está protegido y solo es accesible desde la declaración de la clase.", "Constructors_for_derived_classes_must_contain_a_super_call_2377": "Los constructores de las clases derivadas deben contener una llamada a \"super\".", "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126": "El archivo contenedor no se ha especificado y no se puede determinar el directorio raíz. Se omitirá la búsqueda en la carpeta 'node_modules'.", + "Convert_0_to_mapped_object_type_95055": "Convertir \"{0}\" en el tipo de objeto asignado", "Convert_all_constructor_functions_to_classes_95045": "Convertir todas las funciones de constructor en clases", "Convert_all_require_to_import_95048": "Convertir todas las repeticiones de \"require\" en \"import\"", "Convert_all_to_default_imports_95035": "Convertir todo en importaciones predeterminadas", "Convert_function_0_to_class_95002": "Convertir la función \"{0}\" en una clase", "Convert_function_to_an_ES2015_class_95001": "Convertir la función en una clase ES2015", + "Convert_named_imports_to_namespace_import_95057": "Convertir importaciones con nombre en una importación de espacio de nombres", + "Convert_namespace_import_to_named_imports_95056": "Convertir una importación de espacio de nombres en importaciones con nombre", "Convert_require_to_import_95047": "Convertir \"require\" en \"import\"", "Convert_to_ES6_module_95017": "Convertir en módulo ES6", "Convert_to_default_import_95013": "Convertir en importación predeterminada", @@ -581,6 +586,7 @@ "Not_all_code_paths_return_a_value_7030": "No todas las rutas de acceso de código devuelven un valor.", "Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413": "El tipo de índice numérico '{0}' no se puede asignar a un tipo de índice de cadena '{1}'.", "Numeric_separators_are_not_allowed_here_6188": "Aquí no se permiten separadores numéricos.", + "Object_is_of_type_unknown_2571": "El objeto es de tipo \"desconocido\".", "Object_is_possibly_null_2531": "El objeto es posiblemente \"null\".", "Object_is_possibly_null_or_undefined_2533": "El objeto es posiblemente \"null\" o \"undefined\".", "Object_is_possibly_undefined_2532": "El objeto es posiblemente \"undefined\".", @@ -709,12 +715,13 @@ "Redirect_output_structure_to_the_directory_6006": "Redirija la estructura de salida al directorio.", "Referenced_project_0_must_have_setting_composite_Colon_true_6306": "El proyecto \"{0}\" al que se hace referencia debe tener el valor \"composite\": true.", "Remove_all_unreachable_code_95051": "Quitar todo el código inaccesible", - "Remove_all_unused_labels_95054": "Remove all unused labels", + "Remove_all_unused_labels_95054": "Quitar todas las etiquetas no utilizadas", "Remove_declaration_for_Colon_0_90004": "Quitar declaración de: \"{0}\"", "Remove_destructuring_90009": "Quitar la desestructuración", "Remove_import_from_0_90005": "Quitar importación de \"{0}\"", "Remove_unreachable_code_95050": "Quitar el código inaccesible", - "Remove_unused_label_95053": "Remove unused label", + "Remove_unused_label_95053": "Quitar etiqueta no utilizada", + "Remove_variable_statement_90010": "Quitar la declaración de variable", "Replace_import_with_0_95015": "Reemplazar importación por \"{0}\".", "Report_error_when_not_all_code_paths_in_function_return_a_value_6075": "Notificar un error cuando no todas las rutas de acceso de código en funcionamiento devuelven un valor.", "Report_errors_for_fallthrough_cases_in_switch_statement_6076": "Notificar errores de los casos de fallthrough en la instrucción switch.", diff --git a/lib/fr/diagnosticMessages.generated.json b/lib/fr/diagnosticMessages.generated.json index 23f0d175862..55ad54ddf55 100644 --- a/lib/fr/diagnosticMessages.generated.json +++ b/lib/fr/diagnosticMessages.generated.json @@ -106,7 +106,7 @@ "Add_initializer_to_property_0_95019": "Ajouter un initialiseur à la propriété '{0}'", "Add_initializers_to_all_uninitialized_properties_95027": "Ajouter des initialiseurs à toutes les propriétés non initialisées", "Add_missing_super_call_90001": "Ajouter l'appel manquant à 'super()'", - "Add_missing_typeof_95052": "Ajouter un typeof manquant", + "Add_missing_typeof_95052": "Ajouter un 'typeof' manquant", "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037": "Ajouter un qualificateur à toutes les variables non résolues correspondant à un nom de membre", "Add_to_all_uncalled_decorators_95044": "Ajouter '()' à tous les décorateurs non appelés", "Add_ts_ignore_to_all_error_messages_95042": "Ajouter '@ts-ignore' à tous les messages d'erreur", @@ -120,6 +120,7 @@ "All_declarations_of_an_abstract_method_must_be_consecutive_2516": "Toutes les déclarations d'une méthode abstraite doivent être consécutives.", "All_destructured_elements_are_unused_6198": "Tous les éléments déstructurés sont inutilisés.", "All_imports_in_import_declaration_are_unused_6192": "Les importations de la déclaration d'importation ne sont pas toutes utilisées.", + "All_variables_are_unused_6199": "Toutes les variables sont inutilisées.", "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011": "Autorisez les importations par défaut à partir des modules sans exportation par défaut. Cela n'affecte pas l'émission du code, juste le contrôle de type.", "Allow_javascript_files_to_be_compiled_6102": "Autorisez la compilation des fichiers JavaScript.", "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209": "Les enums const ambiants ne sont pas autorisés quand l'indicateur '--isolatedModules' est fourni.", @@ -256,6 +257,7 @@ "Class_0_used_before_its_declaration_2449": "Classe '{0}' utilisée avant sa déclaration.", "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "Les déclarations de classes ne peuvent pas avoir plusieurs balises '@augments' ou '@extends'.", "Class_name_cannot_be_0_2414": "Le nom de la classe ne peut pas être '{0}'.", + "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725": "Le nom de la classe ne peut pas être 'Object' quand ES5 est ciblé avec le module {0}.", "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417": "Le côté statique de la classe '{0}' étend de manière incorrecte le côté statique de la classe de base '{1}'.", "Classes_can_only_extend_a_single_class_1174": "Les classes ne peuvent étendre qu'une seule classe.", "Classes_containing_abstract_methods_must_be_marked_abstract_2514": "Les classes contenant des méthodes abstraites doivent être marquées comme étant abstraites.", @@ -274,11 +276,14 @@ "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674": "Le constructeur de la classe '{0}' est protégé et uniquement accessible dans la déclaration de classe.", "Constructors_for_derived_classes_must_contain_a_super_call_2377": "Les constructeurs pour les classes dérivées doivent contenir un appel de 'super'.", "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126": "Fichier conteneur non spécifié et répertoire racine impossible à déterminer. Recherche ignorée dans le dossier 'node_modules'.", + "Convert_0_to_mapped_object_type_95055": "Convertir '{0}' en type d'objet mappé", "Convert_all_constructor_functions_to_classes_95045": "Convertir toutes les fonctions de constructeur en classes", "Convert_all_require_to_import_95048": "Convertir tous les 'require' en 'import'", "Convert_all_to_default_imports_95035": "Convertir tout en importations par défaut", "Convert_function_0_to_class_95002": "Convertir la fonction '{0}' en classe", "Convert_function_to_an_ES2015_class_95001": "Convertir la fonction en classe ES2015", + "Convert_named_imports_to_namespace_import_95057": "Convertir les importations nommées en importation d'espace de noms", + "Convert_namespace_import_to_named_imports_95056": "Convertir l'importation d'espace de noms en importations nommées", "Convert_require_to_import_95047": "Convertir 'require' en 'import'", "Convert_to_ES6_module_95017": "Convertir en module ES6", "Convert_to_default_import_95013": "Convertir en importation par défaut", @@ -581,6 +586,7 @@ "Not_all_code_paths_return_a_value_7030": "Les chemins de code ne retournent pas tous une valeur.", "Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413": "Impossible d'assigner le type d'index numérique '{0}' au type d'index de chaîne '{1}'.", "Numeric_separators_are_not_allowed_here_6188": "Les séparateurs numériques ne sont pas autorisés ici.", + "Object_is_of_type_unknown_2571": "L'objet est de type 'unknown'.", "Object_is_possibly_null_2531": "L'objet a peut-être la valeur 'null'.", "Object_is_possibly_null_or_undefined_2533": "L'objet a peut-être la valeur 'null' ou 'undefined'.", "Object_is_possibly_undefined_2532": "L'objet a peut-être la valeur 'undefined'.", @@ -709,10 +715,13 @@ "Redirect_output_structure_to_the_directory_6006": "Rediriger la structure de sortie vers le répertoire.", "Referenced_project_0_must_have_setting_composite_Colon_true_6306": "Le projet référencé '{0}' doit avoir le paramètre \"composite\" avec la valeur true.", "Remove_all_unreachable_code_95051": "Supprimer tout le code inaccessible", + "Remove_all_unused_labels_95054": "Supprimer toutes les étiquettes inutilisées", "Remove_declaration_for_Colon_0_90004": "Supprimer la déclaration pour : '{0}'", "Remove_destructuring_90009": "Supprimer la déstructuration", "Remove_import_from_0_90005": "Supprimer l'importation de '{0}'", "Remove_unreachable_code_95050": "Supprimer le code inaccessible", + "Remove_unused_label_95053": "Supprimer l'étiquette inutilisée", + "Remove_variable_statement_90010": "Supprimer l'instruction de variable", "Replace_import_with_0_95015": "Remplacez l'importation par '{0}'.", "Report_error_when_not_all_code_paths_in_function_return_a_value_6075": "Signalez une erreur quand les chemins de code de la fonction ne retournent pas tous une valeur.", "Report_errors_for_fallthrough_cases_in_switch_statement_6076": "Signalez les erreurs pour les case avec fallthrough dans une instruction switch.", diff --git a/lib/it/diagnosticMessages.generated.json b/lib/it/diagnosticMessages.generated.json index b7463e378ef..d69031f584a 100644 --- a/lib/it/diagnosticMessages.generated.json +++ b/lib/it/diagnosticMessages.generated.json @@ -106,6 +106,7 @@ "Add_initializer_to_property_0_95019": "Aggiungere l'inizializzatore alla proprietà '{0}'", "Add_initializers_to_all_uninitialized_properties_95027": "Aggiungere gli inizializzatori a tutte le proprietà non inizializzate", "Add_missing_super_call_90001": "Aggiungere la chiamata mancante a 'super()'", + "Add_missing_typeof_95052": "Aggiungere l'elemento 'typeof' mancante", "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037": "Aggiungere il qualificatore a tutte le variabili non risolte corrispondenti a un nome di membro", "Add_to_all_uncalled_decorators_95044": "Aggiungere '()' a tutti gli elementi Decorator non chiamati", "Add_ts_ignore_to_all_error_messages_95042": "Aggiungere '@ts-ignore' a tutti i messaggi di errore", @@ -119,6 +120,7 @@ "All_declarations_of_an_abstract_method_must_be_consecutive_2516": "Tutte le dichiarazioni di un metodo astratto devono essere consecutive.", "All_destructured_elements_are_unused_6198": "Tutti gli elementi destrutturati sono inutilizzati.", "All_imports_in_import_declaration_are_unused_6192": "Tutte le importazioni nella dichiarazione di importazione sono inutilizzate.", + "All_variables_are_unused_6199": "Tutte le variabili sono inutilizzate.", "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011": "Consente di eseguire importazioni predefinite da moduli senza esportazione predefinita. Non influisce sulla creazione del codice ma solo sul controllo dei tipi.", "Allow_javascript_files_to_be_compiled_6102": "Consente la compilazione di file JavaScript.", "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209": "Le enumerazioni const di ambiente non sono consentite quando viene specificato il flag '--isolatedModules'.", @@ -255,6 +257,7 @@ "Class_0_used_before_its_declaration_2449": "La classe '{0}' è stata usata prima di essere stata dichiarata.", "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "Le dichiarazioni di classe non possono contenere più di un tag `@augments` o `@extends`.", "Class_name_cannot_be_0_2414": "Il nome della classe non può essere '{0}'.", + "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725": "Il nome della classe non può essere 'Object' quando la destinazione è ES5 con il modulo {0}.", "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417": "Il lato statico '{0}' della classe estende in modo errato il lato statico '{1}' della classe di base.", "Classes_can_only_extend_a_single_class_1174": "Le classi possono estendere solo un'unica classe.", "Classes_containing_abstract_methods_must_be_marked_abstract_2514": "Le classi che contengono metodi astratti devono essere contrassegnate come astratte.", @@ -273,11 +276,14 @@ "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674": "Il costruttore della classe '{0}' è protetto e accessibile solo all'interno della dichiarazione di classe.", "Constructors_for_derived_classes_must_contain_a_super_call_2377": "I costruttori di classi derivate devono contenere una chiamata 'super'.", "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126": "Il file contenitore non è specificato e non è possibile determinare la directory radice. La ricerca nella cartella 'node_modules' verrà ignorata.", + "Convert_0_to_mapped_object_type_95055": "Convertire '{0}' nel tipo di oggetto con mapping", "Convert_all_constructor_functions_to_classes_95045": "Convertire tutte le funzioni di costruttore in classi", "Convert_all_require_to_import_95048": "Convertire tutte le occorrenze di 'require' in 'import'", "Convert_all_to_default_imports_95035": "Convertire tutte le impostazioni predefinite", "Convert_function_0_to_class_95002": "Converti la funzione '{0}' in classe", "Convert_function_to_an_ES2015_class_95001": "Converti la funzione in una classe ES2015", + "Convert_named_imports_to_namespace_import_95057": "Convertire le importazioni denominate in importazione spazi dei nomi", + "Convert_namespace_import_to_named_imports_95056": "Convertire l'importazione spazi dei nomi in importazioni denominate", "Convert_require_to_import_95047": "Convertire 'require' in 'import'", "Convert_to_ES6_module_95017": "Converti in modulo ES6", "Convert_to_default_import_95013": "Converti nell'importazione predefinita", @@ -580,6 +586,7 @@ "Not_all_code_paths_return_a_value_7030": "Non tutti i percorsi del codice restituiscono un valore.", "Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413": "Il tipo di indice numerico '{0}' non è assegnabile al tipo di indice stringa '{1}'.", "Numeric_separators_are_not_allowed_here_6188": "I separatori numerici non sono consentiti in questa posizione.", + "Object_is_of_type_unknown_2571": "L'oggetto è di tipo 'unknown'.", "Object_is_possibly_null_2531": "L'oggetto è probabilmente 'null'.", "Object_is_possibly_null_or_undefined_2533": "L'oggetto è probabilmente 'null' o 'undefined'.", "Object_is_possibly_undefined_2532": "L'oggetto è probabilmente 'undefined'.", @@ -708,10 +715,13 @@ "Redirect_output_structure_to_the_directory_6006": "Reindirizza la struttura di output alla directory.", "Referenced_project_0_must_have_setting_composite_Colon_true_6306": "Il progetto di riferimento '{0}' deve includere l'impostazione \"composite\": true.", "Remove_all_unreachable_code_95051": "Rimuovere tutto il codice non eseguibile", + "Remove_all_unused_labels_95054": "Rimuovere tutte le etichette inutilizzate", "Remove_declaration_for_Colon_0_90004": "Rimuovere la dichiarazione per '{0}'", "Remove_destructuring_90009": "Rimuovere la destrutturazione", "Remove_import_from_0_90005": "Rimuovere l'importazione da '{0}'", "Remove_unreachable_code_95050": "Rimuovere il codice non eseguibile", + "Remove_unused_label_95053": "Rimuovere l'etichetta inutilizzata", + "Remove_variable_statement_90010": "Rimuovere l'istruzione di variabile", "Replace_import_with_0_95015": "Sostituire l'importazione con '{0}'.", "Report_error_when_not_all_code_paths_in_function_return_a_value_6075": "Segnala l'errore quando non tutti i percorsi del codice nella funzione restituiscono un valore.", "Report_errors_for_fallthrough_cases_in_switch_statement_6076": "Segnala errori per i casi di fallthrough nell'istruzione switch.", diff --git a/lib/ja/diagnosticMessages.generated.json b/lib/ja/diagnosticMessages.generated.json index 6189d07adce..21721d5f147 100644 --- a/lib/ja/diagnosticMessages.generated.json +++ b/lib/ja/diagnosticMessages.generated.json @@ -106,6 +106,7 @@ "Add_initializer_to_property_0_95019": "プロパティ '{0}' ã«åˆæœŸåŒ–å­ã‚’追加ã—ã¾ã™", "Add_initializers_to_all_uninitialized_properties_95027": "åˆæœŸåŒ–ã•れã¦ã„ãªã„ã™ã¹ã¦ã®ãƒ—ロパティã«åˆæœŸåŒ–å­ã‚’追加ã—ã¾ã™", "Add_missing_super_call_90001": "欠è½ã—ã¦ã„ã‚‹ 'super()' 呼ã³å‡ºã—を追加ã™ã‚‹", + "Add_missing_typeof_95052": "ä¸è¶³ã—ã¦ã„ã‚‹ 'typeof' を追加ã—ã¾ã™", "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037": "メンãƒãƒ¼åã¨ä¸€è‡´ã™ã‚‹ã™ã¹ã¦ã®æœªè§£æ±ºã®å¤‰æ•°ã«ä¿®é£¾å­ã‚’追加ã—ã¾ã™", "Add_to_all_uncalled_decorators_95044": "呼ã³å‡ºã•れã¦ã„ãªã„ã™ã¹ã¦ã®ãƒ‡ã‚³ãƒ¬ãƒ¼ã‚¿ãƒ¼ã« '()' を追加ã—ã¾ã™", "Add_ts_ignore_to_all_error_messages_95042": "ã™ã¹ã¦ã®ã‚¨ãƒ©ãƒ¼ メッセージ㫠'@ts-ignore' を追加ã—ã¾ã™", @@ -119,6 +120,7 @@ "All_declarations_of_an_abstract_method_must_be_consecutive_2516": "抽象メソッドã®å®£è¨€ã¯ã™ã¹ã¦é€£ç¶šã—ã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚", "All_destructured_elements_are_unused_6198": "éžæ§‹é€ åŒ–è¦ç´ ã¯ã„ãšã‚Œã‚‚使用ã•れã¦ã„ã¾ã›ã‚“。", "All_imports_in_import_declaration_are_unused_6192": "インãƒãƒ¼ãƒˆå®£è¨€å†…ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã¯ã™ã¹ã¦æœªä½¿ç”¨ã§ã™ã€‚", + "All_variables_are_unused_6199": "ã™ã¹ã¦ã®å¤‰æ•°ã¯æœªä½¿ç”¨ã§ã™ã€‚", "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011": "既定ã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãŒãªã„モジュールã‹ã‚‰ã®æ—¢å®šã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã‚’許å¯ã—ã¾ã™ã€‚ã“れã¯ã€åž‹ãƒã‚§ãƒƒã‚¯ã®ã¿ã®ãŸã‚ã€ã‚³ãƒ¼ãƒ‰ç”Ÿæˆã«ã¯å½±éŸ¿ã‚’与ãˆã¾ã›ã‚“。", "Allow_javascript_files_to_be_compiled_6102": "javascript ファイルã®ã‚³ãƒ³ãƒ‘イルを許å¯ã—ã¾ã™ã€‚", "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209": "'--isolatedModules' ãƒ•ãƒ©ã‚°ãŒæŒ‡å®šã•れã¦ã„ã‚‹å ´åˆã€ã‚¢ãƒ³ãƒ“エント const 列挙型ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。", @@ -255,6 +257,7 @@ "Class_0_used_before_its_declaration_2449": "クラス '{0}' ã¯å®£è¨€ã®å‰ã«ä½¿ç”¨ã•れã¾ã—ãŸã€‚", "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "クラス宣言ã§è¤‡æ•°ã® '@augments' ã¾ãŸã¯ `@extends` タグを使用ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。", "Class_name_cannot_be_0_2414": "クラスåã‚’ '{0}' ã«ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。", + "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725": "モジュール {0} を使用ã—㦠ES5 をターゲットã¨ã™ã‚‹ã¨ãã«ã€ã‚¯ãƒ©ã‚¹åã‚’ 'オブジェクト' ã«ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。", "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417": "クラスå´ã®é™çš„㪠'{0}' ãŒåŸºåº•クラスå´ã®é™çš„㪠'{1}' ã‚’æ­£ã—ãæ‹¡å¼µã—ã¦ã„ã¾ã›ã‚“。", "Classes_can_only_extend_a_single_class_1174": "ã‚¯ãƒ©ã‚¹ã§æ‹¡å¼µã§ãるクラス㯠1 ã¤ã®ã¿ã§ã™ã€‚", "Classes_containing_abstract_methods_must_be_marked_abstract_2514": "抽象メソッドをå«ã‚€ã‚¯ãƒ©ã‚¹ã¯ abstract ã«æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚", @@ -273,6 +276,7 @@ "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674": "クラス '{0}' ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãƒ¼ã¯ä¿è­·ã•れã¦ãŠã‚Šã€ã‚¯ãƒ©ã‚¹å®£è¨€å†…ã§ã®ã¿ã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ã§ã™ã€‚", "Constructors_for_derived_classes_must_contain_a_super_call_2377": "派生クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãƒ¼ã«ã¯ 'super' ã®å‘¼ã³å‡ºã—ã‚’å«ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚", "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126": "包å«ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒæŒ‡å®šã•れã¦ã„ãªã„ãŸã‚ã€ãƒ«ãƒ¼ãƒˆ ディレクトリを決定ã§ãã¾ã›ã‚“。'node_modules' フォルダーã®ãƒ«ãƒƒã‚¯ã‚¢ãƒƒãƒ—をスキップã—ã¾ã™ã€‚", + "Convert_0_to_mapped_object_type_95055": "'{0}' をマップã•れãŸã‚ªãƒ–ジェクト型ã«å¤‰æ›ã™ã‚‹", "Convert_all_constructor_functions_to_classes_95045": "ã™ã¹ã¦ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãƒ¼é–¢æ•°ã‚’クラスã«å¤‰æ›ã—ã¾ã™", "Convert_all_require_to_import_95048": "'require' ã‚’ã™ã¹ã¦ 'import' ã«å¤‰æ›", "Convert_all_to_default_imports_95035": "ã™ã¹ã¦ã‚’既定ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã«å¤‰æ›ã—ã¾ã™", @@ -708,10 +712,13 @@ "Redirect_output_structure_to_the_directory_6006": "ディレクトリã¸å‡ºåŠ›æ§‹é€ ã‚’ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ã¾ã™ã€‚", "Referenced_project_0_must_have_setting_composite_Colon_true_6306": "å‚ç…§ã•れã¦ã„るプロジェクト '{0}' ã«ã¯ã€è¨­å®š \"composite\": true ãŒå¿…è¦ã§ã™ã€‚", "Remove_all_unreachable_code_95051": "到é”ã§ããªã„コードをã™ã¹ã¦å‰Šé™¤ã—ã¾ã™", + "Remove_all_unused_labels_95054": "ã™ã¹ã¦ã®æœªä½¿ç”¨ã®ãƒ©ãƒ™ãƒ«ã‚’削除ã—ã¾ã™", "Remove_declaration_for_Colon_0_90004": "次ã«å¯¾ã™ã‚‹å®£è¨€ã‚’削除ã™ã‚‹: '{0}'", "Remove_destructuring_90009": "éžæ§‹é€ åŒ–を削除ã—ã¾ã™", "Remove_import_from_0_90005": "'{0}' ã‹ã‚‰ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã‚’削除", "Remove_unreachable_code_95050": "到é”ã§ããªã„コードを削除ã—ã¾ã™", + "Remove_unused_label_95053": "未使用ã®ãƒ©ãƒ™ãƒ«ã‚’削除ã—ã¾ã™", + "Remove_variable_statement_90010": "変数ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã‚’削除ã—ã¾ã™", "Replace_import_with_0_95015": "インãƒãƒ¼ãƒˆã‚’ '{0}' ã«ç½®æ›ã—ã¾ã™ã€‚", "Report_error_when_not_all_code_paths_in_function_return_a_value_6075": "関数ã®ä¸€éƒ¨ã®ã‚³ãƒ¼ãƒ‰ パスãŒå€¤ã‚’è¿”ã•ãªã„å ´åˆã«ã‚¨ãƒ©ãƒ¼ã‚’報告ã—ã¾ã™ã€‚", "Report_errors_for_fallthrough_cases_in_switch_statement_6076": "switch ステートメント㫠case ã®ãƒ•ォールスルーãŒã‚ã‚‹å ´åˆã«ã‚¨ãƒ©ãƒ¼ã‚’報告ã—ã¾ã™ã€‚", diff --git a/lib/ko/diagnosticMessages.generated.json b/lib/ko/diagnosticMessages.generated.json index 9ab72b1379f..a75f68d2b77 100644 --- a/lib/ko/diagnosticMessages.generated.json +++ b/lib/ko/diagnosticMessages.generated.json @@ -106,6 +106,7 @@ "Add_initializer_to_property_0_95019": "'{0}' ì†ì„±ì— ì´ë‹ˆì…œë¼ì´ì € 추가", "Add_initializers_to_all_uninitialized_properties_95027": "초기화ë˜ì§€ ì•Šì€ ëª¨ë“  ì†ì„±ì— ì´ë‹ˆì…œë¼ì´ì € 추가", "Add_missing_super_call_90001": "누ë½ëœ 'super()' 호출 추가", + "Add_missing_typeof_95052": "누ë½ëœ 'typeof' 추가", "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037": "멤버 ì´ë¦„ê³¼ ì¼ì¹˜í•˜ëŠ” 모든 확ì¸ë˜ì§€ ì•Šì€ ë³€ìˆ˜ì— í•œì •ìž ì¶”ê°€", "Add_to_all_uncalled_decorators_95044": "호출ë˜ì§€ 않는 모든 ë°ì½”ë ˆì´í„°ì— '()' 추가", "Add_ts_ignore_to_all_error_messages_95042": "모든 오류 ë©”ì‹œì§€ì— '@ts-ignore' 추가", @@ -119,6 +120,7 @@ "All_declarations_of_an_abstract_method_must_be_consecutive_2516": "ì¶”ìƒ ë©”ì„œë“œì˜ ëª¨ë“  ì„ ì–¸ì€ ì—°ì†ì ì´ì–´ì•¼ 합니다.", "All_destructured_elements_are_unused_6198": "구조 íŒŒê´´ëœ ìš”ì†Œê°€ ëª¨ë‘ ì‚¬ìš©ë˜ì§€ 않습니다.", "All_imports_in_import_declaration_are_unused_6192": "가져오기 ì„ ì–¸ì˜ ëª¨ë“  가져오기가 사용ë˜ì§€ 않습니다.", + "All_variables_are_unused_6199": "모든 변수가 사용ë˜ì§€ 않습니다.", "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011": "기본 내보내기가 없는 모듈ì—서 기본 가져오기를 허용합니다. 여기서는 코드 내보내기ì—는 ì˜í–¥ì„ 주지 않고 í˜•ì‹ ê²€ì‚¬ë§Œ 합니다.", "Allow_javascript_files_to_be_compiled_6102": "Javascript 파ì¼ì„ 컴파ì¼í•˜ë„ë¡ í—ˆìš©í•©ë‹ˆë‹¤.", "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209": "'--isolatedModules' 플래그가 ì œê³µëœ ê²½ìš° 앰비언트 const ì—´ê±°í˜•ì´ í—ˆìš©ë˜ì§€ 않습니다.", @@ -255,6 +257,7 @@ "Class_0_used_before_its_declaration_2449": "ì„ ì–¸ ì „ì— ì‚¬ìš©ëœ '{0}' í´ëž˜ìŠ¤ìž…ë‹ˆë‹¤.", "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "í´ëž˜ìФ ì„ ì–¸ì€ '@augments' ë˜ëŠ” `@extends` 태그를 둘 ì´ìƒ 가질 수 없습니다.", "Class_name_cannot_be_0_2414": "í´ëž˜ìФ ì´ë¦„ì€ '{0}'ì¼ ìˆ˜ 없습니다.", + "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725": "{0} ëª¨ë“ˆì„ ì‚¬ìš©í•˜ëŠ” ES5를 대ìƒìœ¼ë¡œ 하는 경우 í´ëž˜ìФ ì´ë¦„ì€ 'Object'ì¼ ìˆ˜ 없습니다.", "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417": "í´ëž˜ìФ ì •ì  ì¸¡ë©´ '{0}'ì´(ê°€) 기본 í´ëž˜ìФ ì •ì  ì¸¡ë©´ '{1}'ì„(를) 잘못 확장합니다.", "Classes_can_only_extend_a_single_class_1174": "í´ëž˜ìŠ¤ëŠ” ë‹¨ì¼ í´ëž˜ìŠ¤ë§Œ 확장할 수 있습니다.", "Classes_containing_abstract_methods_must_be_marked_abstract_2514": "ì¶”ìƒ ë©”ì„œë“œë¥¼ í¬í•¨í•˜ëŠ” í´ëž˜ìŠ¤ëŠ” abstract로 표시ë˜ì–´ 있어야 합니다.", @@ -273,11 +276,14 @@ "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674": "'{0}' í´ëž˜ìŠ¤ì˜ ìƒì„±ìžëŠ” protectedì´ë©° í´ëž˜ìФ ì„ ì–¸ ë‚´ì—서만 액세스할 수 있습니다.", "Constructors_for_derived_classes_must_contain_a_super_call_2377": "íŒŒìƒ í´ëž˜ìŠ¤ì˜ ìƒì„±ìžëŠ” 'super' í˜¸ì¶œì„ í¬í•¨í•´ì•¼ 합니다.", "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126": "í¬í•¨ 파ì¼ì´ 지정ë˜ì§€ 않았고 루트 디렉터리를 확ì¸í•  수 없어 'node_modules' í´ë” 조회를 건너ëœë‹ˆë‹¤.", + "Convert_0_to_mapped_object_type_95055": "'{0}'ì„(를) ë§¤í•‘ëœ ê°œì²´ 형ì‹ìœ¼ë¡œ 변환", "Convert_all_constructor_functions_to_classes_95045": "모든 ìƒì„±ìž 함수를 í´ëž˜ìŠ¤ë¡œ 변환", "Convert_all_require_to_import_95048": "모든 'require'를 'import'로 변환", "Convert_all_to_default_imports_95035": "모든 í•­ëª©ì„ ê¸°ë³¸ 가져오기로 변환", "Convert_function_0_to_class_95002": "'{0}' 함수를 í´ëž˜ìŠ¤ë¡œ 변환", "Convert_function_to_an_ES2015_class_95001": "함수를 ES2015 í´ëž˜ìŠ¤ë¡œ 변환", + "Convert_named_imports_to_namespace_import_95057": "ëª…ëª…ëœ ê°€ì ¸ì˜¤ê¸°ë¥¼ 네임스페ì´ìФ 가져오기로 변환", + "Convert_namespace_import_to_named_imports_95056": "네임스페ì´ìФ 가져오기를 ëª…ëª…ëœ ê°€ì ¸ì˜¤ê¸°ë¡œ 변환", "Convert_require_to_import_95047": "'require'를 'import'로 변환", "Convert_to_ES6_module_95017": "ES6 모듈로 변환", "Convert_to_default_import_95013": "기본 가져오기로 변환", @@ -580,6 +586,7 @@ "Not_all_code_paths_return_a_value_7030": "ì¼ë¶€ 코드 경로가 ê°’ì„ ë°˜í™˜í•˜ì§€ 않습니다.", "Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413": "ìˆ«ìž ì¸ë±ìФ í˜•ì‹ '{0}'ì„(를) 문ìžì—´ ì¸ë±ìФ í˜•ì‹ '{1}'ì— í• ë‹¹í•  수 없습니다.", "Numeric_separators_are_not_allowed_here_6188": "ìˆ«ìž êµ¬ë¶„ 기호는 여기ì—서 허용ë˜ì§€ 않습니다.", + "Object_is_of_type_unknown_2571": "개체가 '알 수 없는' 형ì‹ìž…니다.", "Object_is_possibly_null_2531": "개체가 'null'ì¸ ê²ƒ 같습니다.", "Object_is_possibly_null_or_undefined_2533": "개체가 'null' ë˜ëŠ” 'undefined'ì¸ ê²ƒ 같습니다.", "Object_is_possibly_undefined_2532": "개체가 'undefined'ì¸ ê²ƒ 같습니다.", @@ -708,10 +715,13 @@ "Redirect_output_structure_to_the_directory_6006": "출력 구조를 디렉터리로 리디렉션합니다.", "Referenced_project_0_must_have_setting_composite_Colon_true_6306": "참조ë˜ëŠ” 프로ì íЏ '{0}'ì—는 \"composite\": true ì„¤ì •ì´ ìžˆì–´ì•¼ 합니다.", "Remove_all_unreachable_code_95051": "접근할 수 없는 코드 ëª¨ë‘ ì œê±°", + "Remove_all_unused_labels_95054": "사용ë˜ì§€ 않는 ë ˆì´ë¸” ëª¨ë‘ ì œê±°", "Remove_declaration_for_Colon_0_90004": "'{0}'ì— ëŒ€í•œ ì„ ì–¸ 제거", "Remove_destructuring_90009": "구조 파괴 제거", "Remove_import_from_0_90005": "'{0}'ì—서 가져오기 제거", "Remove_unreachable_code_95050": "접근할 수 없는 코드 제거", + "Remove_unused_label_95053": "사용ë˜ì§€ 않는 ë ˆì´ë¸” 제거", + "Remove_variable_statement_90010": "변수 문 제거", "Replace_import_with_0_95015": "가져오기를 '{0}'(으)로 바꿉니다.", "Report_error_when_not_all_code_paths_in_function_return_a_value_6075": "í•¨ìˆ˜ì˜ ì¼ë¶€ 코드 경로가 ê°’ì„ ë°˜í™˜í•˜ì§€ 않는 경우 오류를 보고합니다.", "Report_errors_for_fallthrough_cases_in_switch_statement_6076": "switch ë¬¸ì˜ fallthrough caseì— ëŒ€í•œ 오류를 보고합니다.", diff --git a/lib/lib.es2015.core.d.ts b/lib/lib.es2015.core.d.ts index 16105331f1f..7c43b36c424 100644 --- a/lib/lib.es2015.core.d.ts +++ b/lib/lib.es2015.core.d.ts @@ -222,29 +222,29 @@ interface NumberConstructor { * Returns true if passed value is finite. * Unlike the global isFinite, Number.isFinite doesn't forcibly convert the parameter to a * number. Only finite values of the type number, result in true. - * @param value The value you want to test. + * @param number A numeric value. */ - isFinite(value: any): boolean; + isFinite(number: number): boolean; /** * Returns true if the value passed is an integer, false otherwise. - * @param value The value you want to test. + * @param number A numeric value. */ - isInteger(value: any): boolean; + isInteger(number: number): boolean; /** * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a * number). Unlike the global isNaN(), Number.isNaN() doesn't forcefully convert the parameter * to a number. Only values of the type number, that are also NaN, result in true. - * @param value The value you want to test. + * @param number A numeric value. */ - isNaN(number: any): boolean; + isNaN(number: number): boolean; /** * Returns true if the value passed is a safe integer. - * @param value The value you want to test + * @param number A numeric value. */ - isSafeInteger(value: any): boolean; + isSafeInteger(number: number): boolean; /** * The value of the largest integer n such that n and n + 1 are both exactly representable as diff --git a/lib/lib.esnext.array.d.ts b/lib/lib.esnext.array.d.ts index ce26358d3d6..3da8562d2ea 100644 --- a/lib/lib.esnext.array.d.ts +++ b/lib/lib.esnext.array.d.ts @@ -23,7 +23,7 @@ interface ReadonlyArray { /** * Calls a defined callback function on each element of an array. Then, flattens the result into * a new array. - * This is identical to a map followed by a flatten of depth 1. + * This is identical to a map followed by flat with depth 1. * * @param callback A function that accepts up to three arguments. The flatMap method calls the * callback function one time for each element in the array. @@ -42,7 +42,7 @@ interface ReadonlyArray { * * @param depth The maximum recursion depth */ - flatten(this: + flat(this: ReadonlyArray | ReadonlyArray> | @@ -71,7 +71,7 @@ interface ReadonlyArray { * * @param depth The maximum recursion depth */ - flatten(this: + flat(this: ReadonlyArray | ReadonlyArray[][]> | @@ -91,7 +91,7 @@ interface ReadonlyArray { * * @param depth The maximum recursion depth */ - flatten(this: + flat(this: ReadonlyArray | ReadonlyArray> | @@ -106,7 +106,7 @@ interface ReadonlyArray { * * @param depth The maximum recursion depth */ - flatten(this: + flat(this: ReadonlyArray | ReadonlyArray>, depth?: 1 @@ -118,18 +118,18 @@ interface ReadonlyArray { * * @param depth The maximum recursion depth */ - flatten(this: + flat(this: ReadonlyArray, depth: 0 ): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the - * specified depth. If no depth is provided, flatten method defaults to the depth of 1. + * specified depth. If no depth is provided, flat method defaults to the depth of 1. * * @param depth The maximum recursion depth */ - flatten(depth?: number): any[]; + flat(depth?: number): any[]; } interface Array { @@ -137,7 +137,7 @@ interface Array { /** * Calls a defined callback function on each element of an array. Then, flattens the result into * a new array. - * This is identical to a map followed by a flatten of depth 1. + * This is identical to a map followed by flat with depth 1. * * @param callback A function that accepts up to three arguments. The flatMap method calls the * callback function one time for each element in the array. @@ -155,7 +155,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][][][][][][][], depth: 7): U[]; + flat(this: U[][][][][][][][], depth: 7): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -163,7 +163,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][][][][][][], depth: 6): U[]; + flat(this: U[][][][][][][], depth: 6): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -171,7 +171,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][][][][][], depth: 5): U[]; + flat(this: U[][][][][][], depth: 5): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -179,7 +179,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][][][][], depth: 4): U[]; + flat(this: U[][][][][], depth: 4): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -187,7 +187,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][][][], depth: 3): U[]; + flat(this: U[][][][], depth: 3): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -195,7 +195,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][][], depth: 2): U[]; + flat(this: U[][][], depth: 2): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -203,7 +203,7 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[][], depth?: 1): U[]; + flat(this: U[][], depth?: 1): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the @@ -211,13 +211,13 @@ interface Array { * * @param depth The maximum recursion depth */ - flatten(this: U[], depth: 0): U[]; + flat(this: U[], depth: 0): U[]; /** * Returns a new array with all sub-array elements concatenated into it recursively up to the - * specified depth. If no depth is provided, flatten method defaults to the depth of 1. + * specified depth. If no depth is provided, flat method defaults to the depth of 1. * * @param depth The maximum recursion depth */ - flatten(depth?: number): any[]; + flat(depth?: number): any[]; } diff --git a/lib/lib.esnext.d.ts b/lib/lib.esnext.d.ts index 095e46de36f..c81534fc03b 100644 --- a/lib/lib.esnext.d.ts +++ b/lib/lib.esnext.d.ts @@ -21,3 +21,4 @@ and limitations under the License. /// /// /// +/// diff --git a/lib/lib.esnext.full.d.ts b/lib/lib.esnext.full.d.ts index 76d3c72b283..bc9e7060f9e 100644 --- a/lib/lib.esnext.full.d.ts +++ b/lib/lib.esnext.full.d.ts @@ -21,6 +21,7 @@ and limitations under the License. /// /// /// +/// ///////////////////////////// diff --git a/lib/lib.esnext.symbol.d.ts b/lib/lib.esnext.symbol.d.ts new file mode 100644 index 00000000000..98293eaf572 --- /dev/null +++ b/lib/lib.esnext.symbol.d.ts @@ -0,0 +1,26 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// + + +interface Symbol { + /** + * expose the [[Description]] internal slot of a symbol directly + */ + readonly description: string; +} diff --git a/lib/pl/diagnosticMessages.generated.json b/lib/pl/diagnosticMessages.generated.json index 7a5316e7673..f2891354fe4 100644 --- a/lib/pl/diagnosticMessages.generated.json +++ b/lib/pl/diagnosticMessages.generated.json @@ -106,6 +106,7 @@ "Add_initializer_to_property_0_95019": "Dodaj inicjator do wÅ‚aÅ›ciwoÅ›ci „{0}â€", "Add_initializers_to_all_uninitialized_properties_95027": "Dodaj inicjatory do wszystkich niezainicjowanych wÅ‚aÅ›ciwoÅ›ci", "Add_missing_super_call_90001": "Dodaj brakujÄ…ce wywoÅ‚anie „super()â€", + "Add_missing_typeof_95052": "Dodaj brakujÄ…cy element „typeofâ€", "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037": "Dodaj kwalifikator do wszystkich nierozpoznanych zmiennych pasujÄ…cych do nazwy skÅ‚adowej", "Add_to_all_uncalled_decorators_95044": "Dodaj element „()†do wszystkich niewywoÅ‚ywanych dekoratorów", "Add_ts_ignore_to_all_error_messages_95042": "Dodaj element „@ts-ignore†do wszystkich komunikatów o błędach", @@ -119,6 +120,7 @@ "All_declarations_of_an_abstract_method_must_be_consecutive_2516": "Wszystkie deklaracje metody abstrakcyjnej muszÄ… wystÄ™pować obok siebie.", "All_destructured_elements_are_unused_6198": "Wszystkie elementy, których strukturÄ™ usuniÄ™to, sÄ… nieużywane.", "All_imports_in_import_declaration_are_unused_6192": "Wszystkie importy w deklaracji importu sÄ… nieużywane.", + "All_variables_are_unused_6199": "Wszystkie zmienne sÄ… nieużywane.", "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011": "Zezwalaj na domyÅ›lne importy z modułów bez domyÅ›lnego eksportu. To nie wpÅ‚ywa na emitowanie kodu, a tylko na sprawdzanie typów.", "Allow_javascript_files_to_be_compiled_6102": "Zezwalaj na kompilowanie plików JavaScript.", "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209": "OtaczajÄ…ce wyliczenia ze specyfikacjÄ… const nie sÄ… dozwolone w przypadku podania flagi „--isolatedModulesâ€.", @@ -255,6 +257,7 @@ "Class_0_used_before_its_declaration_2449": "Klasa „{0}†zostaÅ‚a użyta przed zadeklarowaniem.", "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "Deklaracje klas nie mogÄ… mieć wiÄ™cej niż jeden tag „@augments†lub „@extendsâ€.", "Class_name_cannot_be_0_2414": "Klasa nie może mieć nazwy „{0}â€.", + "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725": "NazwÄ… klasy nie może być sÅ‚owo „Objectâ€, gdy docelowym jÄ™zykiem jest ES5 z moduÅ‚em {0}.", "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417": "Strona statyczna klasy „{0}†niepoprawnie rozszerza stronÄ™ statycznÄ… klasy bazowej „{1}â€.", "Classes_can_only_extend_a_single_class_1174": "Klasy mogÄ… rozszerzać tylko pojedynczÄ… klasÄ™.", "Classes_containing_abstract_methods_must_be_marked_abstract_2514": "Klasy zawierajÄ…ce metody abstrakcyjne muszÄ… być oznaczone jako abstrakcyjne.", @@ -273,11 +276,14 @@ "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674": "Konstruktor klasy „{0}†jest chroniony i dostÄ™pny tylko w ramach deklaracji klasy.", "Constructors_for_derived_classes_must_contain_a_super_call_2377": "Konstruktory klas pochodnych muszÄ… zawierać wywoÅ‚anie „superâ€.", "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126": "Nie podano pliku zawierajÄ…cego i nie można okreÅ›lić katalogu głównego. Pomijanie wyszukiwania w folderze „node_modulesâ€.", + "Convert_0_to_mapped_object_type_95055": "Konwertuj element „{0}†na zamapowany typ obiektu", "Convert_all_constructor_functions_to_classes_95045": "Przekonwertuj wszystkie funkcje konstruktora na klasy", "Convert_all_require_to_import_95048": "Konwertuj wszystkie wywoÅ‚ania „require†na wywoÅ‚ania „importâ€", "Convert_all_to_default_imports_95035": "Przekonwertuj wszystko na domyÅ›lne importowanie", "Convert_function_0_to_class_95002": "Konwertuj funkcjÄ™ „{0}†na klasÄ™", "Convert_function_to_an_ES2015_class_95001": "Konwertuj funkcjÄ™ na klasÄ™ ES2015", + "Convert_named_imports_to_namespace_import_95057": "Konwertuj importy nazwane na import przestrzeni nazw", + "Convert_namespace_import_to_named_imports_95056": "Konwertuj import przestrzeni nazw na importy nazwane", "Convert_require_to_import_95047": "Konwertuj wywoÅ‚anie „require†na wywoÅ‚anie „importâ€", "Convert_to_ES6_module_95017": "Konwertuj na moduÅ‚ ES6", "Convert_to_default_import_95013": "Konwertuj na import domyÅ›lny", @@ -580,6 +586,7 @@ "Not_all_code_paths_return_a_value_7030": "Nie wszystkie Å›cieżki kodu zwracajÄ… wartość.", "Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413": "Nie można przypisać typu indeksu numerycznego „{0}†do typu indeksu ciÄ…gu „{1}â€.", "Numeric_separators_are_not_allowed_here_6188": "Separatory liczbowe nie sÄ… dozwolone w tym miejscu.", + "Object_is_of_type_unknown_2571": "Obiekt jest typu „nieznanyâ€.", "Object_is_possibly_null_2531": "Obiekt ma prawdopodobnie wartość „nullâ€.", "Object_is_possibly_null_or_undefined_2533": "Obiekt ma prawdopodobnie wartość „null†lub „undefinedâ€.", "Object_is_possibly_undefined_2532": "Obiekt ma prawdopodobnie wartość „undefinedâ€.", @@ -708,10 +715,13 @@ "Redirect_output_structure_to_the_directory_6006": "Przekieruj strukturÄ™ wyjÅ›ciowÄ… do katalogu.", "Referenced_project_0_must_have_setting_composite_Colon_true_6306": "PrzywoÅ‚ywany projekt „{0}†musi mieć ustawienie „composite†o wartoÅ›ci true.", "Remove_all_unreachable_code_95051": "UsuÅ„ caÅ‚y nieosiÄ…galny kod", + "Remove_all_unused_labels_95054": "UsuÅ„ wszystkie nieużywane etykiety", "Remove_declaration_for_Colon_0_90004": "UsuÅ„ deklaracjÄ™ dla: „{0}â€", "Remove_destructuring_90009": "UsuÅ„ usuwanie struktury", "Remove_import_from_0_90005": "UsuÅ„ import z „{0}â€", "Remove_unreachable_code_95050": "UsuÅ„ nieosiÄ…galny kod", + "Remove_unused_label_95053": "UsuÅ„ nieużywanÄ… etykietÄ™", + "Remove_variable_statement_90010": "UsuÅ„ instrukcjÄ™ zmiennej", "Replace_import_with_0_95015": "ZamieÅ„ import na element „{0}â€.", "Report_error_when_not_all_code_paths_in_function_return_a_value_6075": "ZgÅ‚oÅ› błąd, gdy nie wszystkie Å›cieżki kodu zwracajÄ… wartość.", "Report_errors_for_fallthrough_cases_in_switch_statement_6076": "ZgÅ‚oÅ› błędy dla przepuszczajÄ…cych klauzul case w instrukcji switch.", diff --git a/lib/protocol.d.ts b/lib/protocol.d.ts index dc13cb5f575..b75a2c10e52 100644 --- a/lib/protocol.d.ts +++ b/lib/protocol.d.ts @@ -3,6 +3,7 @@ */ declare namespace ts.server.protocol { const enum CommandTypes { + JsxClosingTag = "jsxClosingTag", Brace = "brace", BraceCompletion = "braceCompletion", GetSpanOfEnclosingComment = "getSpanOfEnclosingComment", @@ -672,6 +673,15 @@ declare namespace ts.server.protocol { */ openingBrace: string; } + interface JsxClosingTagRequest extends FileLocationRequest { + readonly command: CommandTypes.JsxClosingTag; + readonly arguments: JsxClosingTagRequestArgs; + } + interface JsxClosingTagRequestArgs extends FileLocationRequestArgs { + } + interface JsxClosingTagResponse extends Response { + readonly body: TextInsertion; + } /** * @deprecated * Get occurrences request; value of command field is @@ -1363,7 +1373,7 @@ declare namespace ts.server.protocol { } interface CompletionEntryIdentifier { name: string; - source: string; + source?: string; } /** * Completion entry details request; value of command field is @@ -1403,7 +1413,7 @@ declare namespace ts.server.protocol { /** * Optional modifiers for the kind (such as 'public'). */ - kindModifiers: string; + kindModifiers?: string; /** * A string that is used for comparing completion items so that they can be ordered. This * is often the same as the name but may be different in certain circumstances. @@ -1460,11 +1470,11 @@ declare namespace ts.server.protocol { /** * Documentation strings for the symbol. */ - documentation: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; /** * JSDoc tags for the symbol. */ - tags: JSDocTagInfo[]; + tags?: JSDocTagInfo[]; /** * The associated code actions for this entry */ diff --git a/lib/pt-br/diagnosticMessages.generated.json b/lib/pt-br/diagnosticMessages.generated.json index fd953b416a9..e4a7dfc1ee6 100644 --- a/lib/pt-br/diagnosticMessages.generated.json +++ b/lib/pt-br/diagnosticMessages.generated.json @@ -106,7 +106,7 @@ "Add_initializer_to_property_0_95019": "Adicionar inicializador à propriedade '{0}'", "Add_initializers_to_all_uninitialized_properties_95027": "Adicionar inicializadores a todas as propriedades não inicializadas", "Add_missing_super_call_90001": "Adicionar chamada 'super()' ausente", - "Add_missing_typeof_95052": "Adicionar typeof ausente", + "Add_missing_typeof_95052": "Adicionar 'typeof' ausente", "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037": "Adicionar um qualificador a todas as variáveis não resolvidas correspondentes a um nome de membro", "Add_to_all_uncalled_decorators_95044": "Adicionar '()' a todos os decoradores não chamados", "Add_ts_ignore_to_all_error_messages_95042": "Adicionar '@ts-ignore' a todas as mensagens de erro", @@ -120,6 +120,7 @@ "All_declarations_of_an_abstract_method_must_be_consecutive_2516": "Todas as declarações de um método abstrato devem ser consecutivas.", "All_destructured_elements_are_unused_6198": "Todos os elementos desestruturados são inutilizados.", "All_imports_in_import_declaration_are_unused_6192": "Nenhuma das importações na declaração de importação está sendo utilizada.", + "All_variables_are_unused_6199": "Nenhuma das variáveis está sendo utilizada.", "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011": "Permita importações padrão de módulos sem exportação padrão. Isso não afeta a emissão do código, apenas a verificação de digitação.", "Allow_javascript_files_to_be_compiled_6102": "Permita que arquivos javascript sejam compilados.", "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209": "As enumerações de constante de ambiente não são permitidas quando o sinalizador '--isolatedModules' é fornecido.", @@ -256,6 +257,7 @@ "Class_0_used_before_its_declaration_2449": "Classe '{0}' usada antes de sua declaração.", "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "Declarações de classe não podem ter mais de uma marca `@augments` ou `@extends`.", "Class_name_cannot_be_0_2414": "O nome de classe não pode ser '{0}'.", + "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725": "O nome da classe não pode ser 'Object' ao direcionar ES5 com módulo {0}.", "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417": "O lado estático da classe '{0}' incorretamente estende o lado estático da classe base '{1}'.", "Classes_can_only_extend_a_single_class_1174": "Classes só podem estender uma única classe.", "Classes_containing_abstract_methods_must_be_marked_abstract_2514": "As classes que contêm métodos abstratos devem ser marcadas como abstratas.", @@ -274,11 +276,14 @@ "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674": "O construtor de classe '{0}' é protegido e somente acessível na declaração de classe.", "Constructors_for_derived_classes_must_contain_a_super_call_2377": "Construtores para classes derivadas devem conter uma chamada 'super'.", "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126": "O arquivo contido não foi especificado e o diretório raiz não pode ser determinado, ignorando a pesquisa na pasta 'node_modules'.", + "Convert_0_to_mapped_object_type_95055": "Converter '{0}' para o tipo de objeto mapeado", "Convert_all_constructor_functions_to_classes_95045": "Converter todas as funções de construtor em classes", "Convert_all_require_to_import_95048": "Converter todos os 'require' em 'import'", "Convert_all_to_default_imports_95035": "Converter tudo para importações padrão", "Convert_function_0_to_class_95002": "Converter função '{0}' em classe", "Convert_function_to_an_ES2015_class_95001": "Converter função em uma classe ES2015", + "Convert_named_imports_to_namespace_import_95057": "Converter importações nomeadas em importação de namespace", + "Convert_namespace_import_to_named_imports_95056": "Converter importação de namespace em importações nomeadas", "Convert_require_to_import_95047": "Converter 'require' em 'import'", "Convert_to_ES6_module_95017": "Converter em módulo ES6", "Convert_to_default_import_95013": "Converter para importação padrão", @@ -581,6 +586,7 @@ "Not_all_code_paths_return_a_value_7030": "Nem todos os caminhos de código retornam um valor.", "Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413": "O tipo de índice numérico '{0}' não é atribuível ao tipo de índice de cadeia de caracteres '{1}'.", "Numeric_separators_are_not_allowed_here_6188": "Separadores numéricos não são permitidos aqui.", + "Object_is_of_type_unknown_2571": "O objeto é do tipo 'desconhecido'.", "Object_is_possibly_null_2531": "Possivelmente, o objeto é 'nulo'.", "Object_is_possibly_null_or_undefined_2533": "Possivelmente, o objeto é 'nulo' ou 'indefinido'.", "Object_is_possibly_undefined_2532": "Possivelmente, o objeto é 'nulo'.", @@ -709,10 +715,13 @@ "Redirect_output_structure_to_the_directory_6006": "Redirecione a estrutura de saída para o diretório.", "Referenced_project_0_must_have_setting_composite_Colon_true_6306": "O projeto referenciado '{0}' deve ter a configuração de \"composite\": true.", "Remove_all_unreachable_code_95051": "Remover todo o código inacessível", + "Remove_all_unused_labels_95054": "Remover todos os rótulos não utilizados", "Remove_declaration_for_Colon_0_90004": "Remover declaração para: '{0}'", "Remove_destructuring_90009": "Remover desestruturação", "Remove_import_from_0_90005": "Remover importação do '{0}'", "Remove_unreachable_code_95050": "Remover código inacessível", + "Remove_unused_label_95053": "Remover rótulo não utilizado", + "Remove_variable_statement_90010": "Remover instrução de variável", "Replace_import_with_0_95015": "Substitua a importação com '{0}'.", "Report_error_when_not_all_code_paths_in_function_return_a_value_6075": "Relate erro quando nem todos os caminhos de código na função retornarem um valor.", "Report_errors_for_fallthrough_cases_in_switch_statement_6076": "Relate erros para casos de fallthrough na instrução switch.", diff --git a/lib/ru/diagnosticMessages.generated.json b/lib/ru/diagnosticMessages.generated.json index dc4efb499e5..fbae0dbc63a 100644 --- a/lib/ru/diagnosticMessages.generated.json +++ b/lib/ru/diagnosticMessages.generated.json @@ -106,6 +106,7 @@ "Add_initializer_to_property_0_95019": "Добавить инициализатор к ÑвойÑтву \"{0}\"", "Add_initializers_to_all_uninitialized_properties_95027": "Добавить инициализаторы ко вÑем неинициализированным ÑвойÑтвам", "Add_missing_super_call_90001": "Добавьте отÑутÑтвующий вызов \"super()\"", + "Add_missing_typeof_95052": "Добавить отÑутÑтвующий \"typeof\"", "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037": "Добавить квалификатор ко вÑем неразрешенным переменным, ÑоответÑтвующим имени члена", "Add_to_all_uncalled_decorators_95044": "Добавить \"()\" ко вÑем невызванным декораторам", "Add_ts_ignore_to_all_error_messages_95042": "Добавить \"@ts-ignore\" ко вÑем ÑообщениÑм об ошибках", @@ -119,6 +120,7 @@ "All_declarations_of_an_abstract_method_must_be_consecutive_2516": "Ð’Ñе объÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð°Ð±Ñтрактных методов должны быть поÑледовательными.", "All_destructured_elements_are_unused_6198": "Ð’Ñе деÑтруктурированные Ñлементы не иÑпользуютÑÑ.", "All_imports_in_import_declaration_are_unused_6192": "Ðи один из импортов в объÑвлении импорта не иÑпользуетÑÑ.", + "All_variables_are_unused_6199": "Ðи одна Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð½Ðµ иÑпользуетÑÑ.", "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011": "Разрешить импорт по умолчанию из модулей без ÑкÑпорта по умолчанию. Это не повлиÑет на выведение кода — только на проверку типов.", "Allow_javascript_files_to_be_compiled_6102": "Разрешить компилÑцию файлов javascript.", "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209": "ПеречиÑление внешних конÑтант не разрешено, еÑли задан флаг \"--isolatedModules\".", @@ -255,6 +257,7 @@ "Class_0_used_before_its_declaration_2449": "КлаÑÑ \"{0}\" иÑпользован прежде, чем объÑвлен.", "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "Ð’ объÑвлении клаÑÑа не может иÑпользоватьÑÑ Ð±Ð¾Ð»ÐµÐµ одного тега \"@augments\" или \"@extends\".", "Class_name_cannot_be_0_2414": "Ð˜Ð¼Ñ ÐºÐ»Ð°ÑÑа не может иметь значение \"{0}\".", + "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725": "КлаÑÑ Ð½Ðµ может иметь Ð¸Ð¼Ñ \"Object\" при выборе ES5 Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼ {0} в качеÑтве целевого.", "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417": "СтатичеÑÐºÐ°Ñ Ñторона клаÑÑа \"{0}\" неправильно раÑширÑет ÑтатичеÑкую Ñторону базового клаÑÑа \"{1}\".", "Classes_can_only_extend_a_single_class_1174": "КлаÑÑÑ‹ могут раÑширить только один клаÑÑ.", "Classes_containing_abstract_methods_must_be_marked_abstract_2514": "КлаÑÑÑ‹, Ñодержащие абÑтрактные методы, должны быть отмечены как абÑтрактные.", @@ -273,11 +276,14 @@ "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674": "КонÑтруктор клаÑÑа \"{0}\" защищен и доÑтупен только в объÑвлении клаÑÑа.", "Constructors_for_derived_classes_must_contain_a_super_call_2377": "КонÑтрукторы производных клаÑÑов должны Ñодержать вызов super.", "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126": "Содержащий файл не указан, корневой каталог невозможно определить. ВыполнÑетÑÑ Ð¿Ñ€Ð¾Ð¿ÑƒÑк поиÑка в папке node_modules.", + "Convert_0_to_mapped_object_type_95055": "Преобразовать \"{0}\" в тип ÑопоÑтавленного объекта", "Convert_all_constructor_functions_to_classes_95045": "Преобразовать вÑе функции конÑтруктора в клаÑÑÑ‹", "Convert_all_require_to_import_95048": "Преобразовать вÑе \"require\" в \"import\"", "Convert_all_to_default_imports_95035": "Преобразовать вÑе в импорт по умолчанию", "Convert_function_0_to_class_95002": "Преобразование функции \"{0}\" в клаÑÑ", "Convert_function_to_an_ES2015_class_95001": "Преобразование функции в клаÑÑ ES2015", + "Convert_named_imports_to_namespace_import_95057": "Преобразовать операции импорта имен в импорт проÑтранÑтва имен", + "Convert_namespace_import_to_named_imports_95056": "Преобразовать импорт проÑтранÑтва имен в операции импорта имен", "Convert_require_to_import_95047": "Преобразовать \"require\" в \"import\"", "Convert_to_ES6_module_95017": "Преобразовать в модуль ES6", "Convert_to_default_import_95013": "Преобразовать в импорт по умолчанию", @@ -580,6 +586,7 @@ "Not_all_code_paths_return_a_value_7030": "Ðе вÑе пути кода возвращают значение.", "Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413": "Тип чиÑлового индекÑа \"{0}\" Ð½ÐµÐ»ÑŒÐ·Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡Ð¸Ñ‚ÑŒ типу Ñтрокового индекÑа \"{1}\".", "Numeric_separators_are_not_allowed_here_6188": "ЧиÑловые разделители здеÑÑŒ запрещены.", + "Object_is_of_type_unknown_2571": "Объект имеет тип \"ÐеизвеÑтный\".", "Object_is_possibly_null_2531": "Возможно, объект равен null.", "Object_is_possibly_null_or_undefined_2533": "Возможно, объект равен null или undefined.", "Object_is_possibly_undefined_2532": "Возможно, объект равен undefined.", @@ -708,10 +715,13 @@ "Redirect_output_structure_to_the_directory_6006": "Перенаправить Ñтруктуру вывода в каталог.", "Referenced_project_0_must_have_setting_composite_Colon_true_6306": "Указанный в ÑÑылке проект \"{0}\" должен иметь Ñледующее значение параметра composite: true.", "Remove_all_unreachable_code_95051": "Удалить веÑÑŒ недоÑтижимый код", + "Remove_all_unused_labels_95054": "Удалить вÑе неиÑпользуемые метки", "Remove_declaration_for_Colon_0_90004": "Удалите объÑвление: \"{0}\"", "Remove_destructuring_90009": "Удалить деÑтруктурирование", "Remove_import_from_0_90005": "Удалить импорт из \"{0}\"", "Remove_unreachable_code_95050": "Удалить недоÑтижимый код", + "Remove_unused_label_95053": "Удалить неиÑпользуемую метку", + "Remove_variable_statement_90010": "Удалить оператор Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹", "Replace_import_with_0_95015": "Замена импорта на \"{0}\".", "Report_error_when_not_all_code_paths_in_function_return_a_value_6075": "Сообщать об ошибке, еÑли не вÑе пути кода в функции возвращают значение.", "Report_errors_for_fallthrough_cases_in_switch_statement_6076": "Сообщать об ошибках Ð´Ð»Ñ Ñлучаев передачи ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² операторе switch.", diff --git a/lib/tr/diagnosticMessages.generated.json b/lib/tr/diagnosticMessages.generated.json index d037f7d0d20..7ebbf4a0622 100644 --- a/lib/tr/diagnosticMessages.generated.json +++ b/lib/tr/diagnosticMessages.generated.json @@ -106,6 +106,7 @@ "Add_initializer_to_property_0_95019": "'{0}' özelliÄŸine baÅŸlatıcı ekle", "Add_initializers_to_all_uninitialized_properties_95027": "Tüm baÅŸlatılmamış özelliklere baÅŸlatıcılar ekle", "Add_missing_super_call_90001": "Eksik 'super()' çaÄŸrısını ekle", + "Add_missing_typeof_95052": "Eksik 'typeof' öğesini ekle", "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037": "Bir üye adıyla eÅŸleÅŸen tüm çözülmemiÅŸ deÄŸiÅŸkenlere niteleyici ekle", "Add_to_all_uncalled_decorators_95044": "ÇaÄŸrılmayan tüm dekoratörlere '()' ekle", "Add_ts_ignore_to_all_error_messages_95042": "Tüm hata iletilerine '@ts-ignore' ekle", @@ -119,6 +120,7 @@ "All_declarations_of_an_abstract_method_must_be_consecutive_2516": "Soyut metoda ait tüm bildirimler ardışık olmalıdır.", "All_destructured_elements_are_unused_6198": "Yok edilen öğelerin hiçbiri kullanılmamış.", "All_imports_in_import_declaration_are_unused_6192": "İçeri aktarma bildirimindeki hiçbir içeri aktarma kullanılmadı.", + "All_variables_are_unused_6199": "Hiçbir deÄŸiÅŸken kullanılmıyor.", "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011": "Varsayılan dışarı aktarmaya sahip olmayan modüllerde varsayılan içeri aktarmalara izin verin. Bu iÅŸlem kod üretimini etkilemez, yalnızca tür denetimini etkiler.", "Allow_javascript_files_to_be_compiled_6102": "Javascript dosyalarının derlenmesine izin ver.", "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209": "'--isolatedModules' bayrağı saÄŸlandığında çevresel const sabit listesi deÄŸerlerine izin verilmez.", @@ -255,6 +257,7 @@ "Class_0_used_before_its_declaration_2449": "'{0}' sınıfı, bildiriminden önce kullanıldı.", "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "Sınıf bildirimlerinde birden fazla `@augments` veya `@extends` etiketi olamaz.", "Class_name_cannot_be_0_2414": "Sınıf adı '{0}' olamaz.", + "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725": "Modül {0} ile ES5 hedeflendiÄŸinde sınıf adı 'Object' olamaz.", "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417": "'{0}' statik sınıf tarafı, '{1}' statik temel sınıf tarafını yanlış geniÅŸletiyor.", "Classes_can_only_extend_a_single_class_1174": "Sınıflar yalnızca bir sınıfı geniÅŸletebilir.", "Classes_containing_abstract_methods_must_be_marked_abstract_2514": "Soyut metotlar içeren sınıflar abstract olarak iÅŸaretlenmelidir.", @@ -273,6 +276,7 @@ "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674": "'{0}' sınıfının oluÅŸturucusu korumalı olduÄŸundan, oluÅŸturucuya yalnızca sınıf bildiriminden eriÅŸilebilir.", "Constructors_for_derived_classes_must_contain_a_super_call_2377": "TüretilmiÅŸ sınıflara iliÅŸkin oluÅŸturucular bir 'super' çaÄŸrısı içermelidir.", "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126": "Kapsayıcı dosya belirtilmedi ve kök dizini belirlenemiyor; 'node_modules' klasöründe arama atlanıyor.", + "Convert_0_to_mapped_object_type_95055": "'{0}' öğesini eÅŸlenen nesne türüne dönüştür", "Convert_all_constructor_functions_to_classes_95045": "Tüm oluÅŸturucu iÅŸlevleri sınıflara dönüştür", "Convert_all_require_to_import_95048": "Tüm 'require' öğelerini 'import' olarak dönüştür", "Convert_all_to_default_imports_95035": "Tümünü varsayılan içeri aktarmalara dönüştür", @@ -708,10 +712,13 @@ "Redirect_output_structure_to_the_directory_6006": "Çıktı yapısını dizine yeniden yönlendir.", "Referenced_project_0_must_have_setting_composite_Colon_true_6306": "BaÅŸvurulan proje '{0}' \"composite\": true ayarına sahip olmalıdır.", "Remove_all_unreachable_code_95051": "Tüm eriÅŸilemeyen kodları kaldır", + "Remove_all_unused_labels_95054": "Kullanılmayan tüm etiketleri kaldır", "Remove_declaration_for_Colon_0_90004": "'{0}' bildirimini kaldır", "Remove_destructuring_90009": "Yıkmayı kaldır", "Remove_import_from_0_90005": "'{0}' öğesinden içeri aktarmayı kaldır", "Remove_unreachable_code_95050": "EriÅŸilemeyen kodları kaldır", + "Remove_unused_label_95053": "Kullanılmayan etiketi kaldır", + "Remove_variable_statement_90010": "DeÄŸiÅŸken deyimini kaldır", "Replace_import_with_0_95015": "İçeri aktarma iÅŸlemini '{0}' ile deÄŸiÅŸtirin.", "Report_error_when_not_all_code_paths_in_function_return_a_value_6075": "İşlevdeki tüm kod yolları bir deÄŸer döndürmediÄŸinde hata bildir.", "Report_errors_for_fallthrough_cases_in_switch_statement_6076": "switch deyiminde sonraki ifadelere geçiÅŸ ile ilgili hataları bildir.", diff --git a/lib/tsc.js b/lib/tsc.js index f39c393bfd1..bed2ef28383 100644 --- a/lib/tsc.js +++ b/lib/tsc.js @@ -173,7 +173,7 @@ var ts; })(ts || (ts = {})); var ts; (function (ts) { - ts.versionMajorMinor = "2.9"; + ts.versionMajorMinor = "3.0"; ts.version = ts.versionMajorMinor + ".0-dev"; })(ts || (ts = {})); (function (ts) { @@ -304,6 +304,10 @@ var ts; return array ? array.length : 0; } ts.length = length; + function hasEntries(map) { + return !!map && !!map.size; + } + ts.hasEntries = hasEntries; function forEach(array, callback) { if (array) { for (var i = 0; i < array.length; i++) { @@ -444,7 +448,7 @@ var ts; return result; } } - Debug.fail(); + return Debug.fail(); } ts.findMap = findMap; function contains(array, value, equalityComparer) { @@ -974,15 +978,6 @@ var ts; return to; } ts.addRange = addRange; - function prependRange(to, from) { - if (from === undefined || from.length === 0) - return to; - if (to === undefined) - return from.slice(); - to.unshift.apply(to, from); - return to; - } - ts.prependRange = prependRange; function pushIfUnique(array, toAdd, equalityComparer) { if (contains(array, toAdd, equalityComparer)) { return false; @@ -1375,10 +1370,10 @@ var ts; if (value !== undefined && test(value)) return value; if (value && typeof value.kind === "number") { - Debug.fail("Invalid cast. The supplied " + Debug.showSyntaxKind(value) + " did not pass the test '" + Debug.getFunctionName(test) + "'."); + return Debug.fail("Invalid cast. The supplied " + Debug.showSyntaxKind(value) + " did not pass the test '" + Debug.getFunctionName(test) + "'."); } else { - Debug.fail("Invalid cast. The supplied value did not pass the test '" + Debug.getFunctionName(test) + "'."); + return Debug.fail("Invalid cast. The supplied value did not pass the test '" + Debug.getFunctionName(test) + "'."); } } ts.cast = cast; @@ -1458,7 +1453,7 @@ var ts; } ts.compose = compose; function formatStringFromArgs(text, args, baseIndex) { - baseIndex = baseIndex || 0; + if (baseIndex === void 0) { baseIndex = 0; } return text.replace(/{(\d+)}/g, function (_match, index) { return Debug.assertDefined(args[+index + baseIndex]); }); } ts.formatStringFromArgs = formatStringFromArgs; @@ -1695,7 +1690,9 @@ var ts; return compareValues(a ? 1 : 0, b ? 1 : 0); } ts.compareBooleans = compareBooleans; - function compareMessageText(text1, text2) { + function compareMessageText(t1, t2) { + var text1 = t1; + var text2 = t2; while (text1 && text2) { var string1 = isString(text1) ? text1 : text1.messageText; var string2 = isString(text2) ? text2 : text2.messageText; @@ -1729,6 +1726,14 @@ var ts; return moduleResolution; } ts.getEmitModuleResolutionKind = getEmitModuleResolutionKind; + function unreachableCodeIsError(options) { + return options.allowUnreachableCode === false; + } + ts.unreachableCodeIsError = unreachableCodeIsError; + function unusedLabelIsError(options) { + return options.allowUnusedLabels === false; + } + ts.unusedLabelIsError = unusedLabelIsError; function getAreDeclarationMapsEnabled(options) { return !!(options.declaration && options.declarationMap); } @@ -1747,7 +1752,7 @@ var ts; } ts.getEmitDeclarations = getEmitDeclarations; function getStrictOptionValue(compilerOptions, flag) { - return compilerOptions[flag] === undefined ? compilerOptions.strict : compilerOptions[flag]; + return compilerOptions[flag] === undefined ? !!compilerOptions.strict : !!compilerOptions[flag]; } ts.getStrictOptionValue = getStrictOptionValue; function hasZeroOrOneAsteriskCharacter(str) { @@ -2125,6 +2130,23 @@ var ts; return startsWith(str, prefix) ? str.substr(prefix.length) : str; } ts.removePrefix = removePrefix; + function tryRemovePrefix(str, prefix) { + return startsWith(str, prefix) ? str.substring(prefix.length) : undefined; + } + ts.tryRemovePrefix = tryRemovePrefix; + function tryRemoveDirectoryPrefix(path, dirPath) { + var a = tryRemovePrefix(path, dirPath); + if (a === undefined) + return undefined; + switch (a.charCodeAt(0)) { + case 47: + case 92: + return a.slice(1); + default: + return undefined; + } + } + ts.tryRemoveDirectoryPrefix = tryRemoveDirectoryPrefix; function endsWith(str, suffix) { var expectedPos = str.length - suffix.length; return expectedPos >= 0 && str.indexOf(suffix, expectedPos) === expectedPos; @@ -2134,6 +2156,10 @@ var ts; return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : str; } ts.removeSuffix = removeSuffix; + function tryRemoveSuffix(str, suffix) { + return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : undefined; + } + ts.tryRemoveSuffix = tryRemoveSuffix; function stringContains(str, substring) { return str.indexOf(substring) !== -1; } @@ -2207,7 +2233,7 @@ var ts; var subpattern = ""; var hasWrittenComponent = false; var components = getNormalizedPathComponents(spec, basePath); - var lastComponent = lastOrUndefined(components); + var lastComponent = last(components); if (usage !== "exclude" && lastComponent === "**") { return undefined; } @@ -2273,14 +2299,17 @@ var ts; }; } ts.getFileMatcherPatterns = getFileMatcherPatterns; + function getRegexFromPattern(pattern, useCaseSensitiveFileNames) { + return new RegExp(pattern, useCaseSensitiveFileNames ? "" : "i"); + } + ts.getRegexFromPattern = getRegexFromPattern; function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries) { path = normalizePath(path); currentDirectory = normalizePath(currentDirectory); var patterns = getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory); - var regexFlag = useCaseSensitiveFileNames ? "" : "i"; - var includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(function (pattern) { return new RegExp(pattern, regexFlag); }); - var includeDirectoryRegex = patterns.includeDirectoryPattern && new RegExp(patterns.includeDirectoryPattern, regexFlag); - var excludeRegex = patterns.excludePattern && new RegExp(patterns.excludePattern, regexFlag); + var includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(function (pattern) { return getRegexFromPattern(pattern, useCaseSensitiveFileNames); }); + var includeDirectoryRegex = patterns.includeDirectoryPattern && getRegexFromPattern(patterns.includeDirectoryPattern, useCaseSensitiveFileNames); + var excludeRegex = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, useCaseSensitiveFileNames); var results = includeFileRegexes ? includeFileRegexes.map(function () { return []; }) : [[]]; for (var _i = 0, _a = patterns.basePaths; _i < _a.length; _i++) { var basePath = _a[_i]; @@ -2398,11 +2427,11 @@ var ts; return scriptKind === 1 || scriptKind === 2; } function hasJavaScriptFileExtension(fileName) { - return forEach(ts.supportedJavascriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); + return some(ts.supportedJavascriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); } ts.hasJavaScriptFileExtension = hasJavaScriptFileExtension; function hasTypeScriptFileExtension(fileName) { - return forEach(ts.supportedTypeScriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); + return some(ts.supportedTypeScriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); } ts.hasTypeScriptFileExtension = hasTypeScriptFileExtension; function isSupportedSourceFileName(fileName, compilerOptions, extraFileExtensions) { @@ -2576,7 +2605,8 @@ var ts; } Debug.fail = fail; function assertDefined(value, message) { - assert(value !== undefined && value !== null, message); + if (value === undefined || value === null) + return fail(message); return value; } Debug.assertDefined = assertDefined; @@ -2734,10 +2764,7 @@ var ts; ts.resolutionExtensionIsTypeScriptOrJson = resolutionExtensionIsTypeScriptOrJson; function extensionFromPath(path) { var ext = tryGetExtensionFromPath(path); - if (ext !== undefined) { - return ext; - } - Debug.fail("File " + path + " has unknown extension."); + return ext !== undefined ? ext : Debug.fail("File " + path + " has unknown extension."); } ts.extensionFromPath = extensionFromPath; function isAnySupportedFileExtension(path) { @@ -3286,6 +3313,7 @@ var ts; return watchDirectoryRecursively(directoryName, callback); } watchDirectory(directoryName, callback); + return undefined; }; } function createNonPollingWatchFile() { @@ -3516,6 +3544,7 @@ var ts; switch (entryKind) { case 0: return stat.isFile(); case 1: return stat.isDirectory(); + default: return false; } } catch (e) { @@ -3694,6 +3723,7 @@ var ts; The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type: diag(1064, ts.DiagnosticCategory.Error, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1064", "The return type of an async function or method must be the global Promise type."), In_ambient_enum_declarations_member_initializer_must_be_constant_expression: diag(1066, ts.DiagnosticCategory.Error, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."), Unexpected_token_A_constructor_method_accessor_or_property_was_expected: diag(1068, ts.DiagnosticCategory.Error, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."), + Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: diag(1069, ts.DiagnosticCategory.Error, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."), _0_modifier_cannot_appear_on_a_type_member: diag(1070, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_a_type_member_1070", "'{0}' modifier cannot appear on a type member."), _0_modifier_cannot_appear_on_an_index_signature: diag(1071, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_an_index_signature_1071", "'{0}' modifier cannot appear on an index signature."), A_0_modifier_cannot_be_used_with_an_import_declaration: diag(1079, ts.DiagnosticCategory.Error, "A_0_modifier_cannot_be_used_with_an_import_declaration_1079", "A '{0}' modifier cannot be used with an import declaration."), @@ -4145,6 +4175,7 @@ var ts; Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators: diag(2568, ts.DiagnosticCategory.Error, "Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators_2568", "Type '{0}' is not an array type. Use compiler option '--downlevelIteration' to allow iterating of iterators."), Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators: diag(2569, ts.DiagnosticCategory.Error, "Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569", "Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators."), Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await: diag(2570, ts.DiagnosticCategory.Error, "Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await_2570", "Property '{0}' does not exist on type '{1}'. Did you forget to use 'await'?"), + Object_is_of_type_unknown: diag(2571, ts.DiagnosticCategory.Error, "Object_is_of_type_unknown_2571", "Object is of type 'unknown'."), JSX_element_attributes_type_0_may_not_be_a_union_type: diag(2600, ts.DiagnosticCategory.Error, "JSX_element_attributes_type_0_may_not_be_a_union_type_2600", "JSX element attributes type '{0}' may not be a union type."), The_return_type_of_a_JSX_element_constructor_must_return_an_object_type: diag(2601, ts.DiagnosticCategory.Error, "The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601", "The return type of a JSX element constructor must return an object type."), JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist: diag(2602, ts.DiagnosticCategory.Error, "JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602", "JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."), @@ -4198,7 +4229,7 @@ var ts; _0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible: diag(2692, ts.DiagnosticCategory.Error, "_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692", "'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."), _0_only_refers_to_a_type_but_is_being_used_as_a_value_here: diag(2693, ts.DiagnosticCategory.Error, "_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693", "'{0}' only refers to a type, but is being used as a value here."), Namespace_0_has_no_exported_member_1: diag(2694, ts.DiagnosticCategory.Error, "Namespace_0_has_no_exported_member_1_2694", "Namespace '{0}' has no exported member '{1}'."), - Left_side_of_comma_operator_is_unused_and_has_no_side_effects: diag(2695, ts.DiagnosticCategory.Error, "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695", "Left side of comma operator is unused and has no side effects."), + Left_side_of_comma_operator_is_unused_and_has_no_side_effects: diag(2695, ts.DiagnosticCategory.Error, "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695", "Left side of comma operator is unused and has no side effects.", true), The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead: diag(2696, ts.DiagnosticCategory.Error, "The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696", "The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"), An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option: diag(2697, ts.DiagnosticCategory.Error, "An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697", "An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."), Spread_types_may_only_be_created_from_object_types: diag(2698, ts.DiagnosticCategory.Error, "Spread_types_may_only_be_created_from_object_types_2698", "Spread types may only be created from object types."), @@ -4228,6 +4259,7 @@ var ts; Cannot_invoke_an_object_which_is_possibly_undefined: diag(2722, ts.DiagnosticCategory.Error, "Cannot_invoke_an_object_which_is_possibly_undefined_2722", "Cannot invoke an object which is possibly 'undefined'."), Cannot_invoke_an_object_which_is_possibly_null_or_undefined: diag(2723, ts.DiagnosticCategory.Error, "Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723", "Cannot invoke an object which is possibly 'null' or 'undefined'."), Module_0_has_no_exported_member_1_Did_you_mean_2: diag(2724, ts.DiagnosticCategory.Error, "Module_0_has_no_exported_member_1_Did_you_mean_2_2724", "Module '{0}' has no exported member '{1}'. Did you mean '{2}'?"), + Class_name_cannot_be_Object_when_targeting_ES5_with_module_0: diag(2725, ts.DiagnosticCategory.Error, "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725", "Class name cannot be 'Object' when targeting ES5 with module {0}."), Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."), Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."), Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."), @@ -4526,6 +4558,7 @@ var ts; _0_is_declared_but_never_used: diag(6196, ts.DiagnosticCategory.Error, "_0_is_declared_but_never_used_6196", "'{0}' is declared but never used.", true), Include_modules_imported_with_json_extension: diag(6197, ts.DiagnosticCategory.Message, "Include_modules_imported_with_json_extension_6197", "Include modules imported with '.json' extension"), All_destructured_elements_are_unused: diag(6198, ts.DiagnosticCategory.Error, "All_destructured_elements_are_unused_6198", "All destructured elements are unused.", true), + All_variables_are_unused: diag(6199, ts.DiagnosticCategory.Error, "All_variables_are_unused_6199", "All variables are unused.", true), Projects_to_reference: diag(6300, ts.DiagnosticCategory.Message, "Projects_to_reference_6300", "Projects to reference"), Enable_project_compilation: diag(6302, ts.DiagnosticCategory.Message, "Enable_project_compilation_6302", "Enable project compilation"), Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0: diag(6202, ts.DiagnosticCategory.Error, "Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202", "Project references may not form a circular graph. Cycle detected: {0}"), @@ -4553,7 +4586,7 @@ var ts; Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: diag(7024, ts.DiagnosticCategory.Error, "Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024", "Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."), Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type: diag(7025, ts.DiagnosticCategory.Error, "Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025", "Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."), JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists: diag(7026, ts.DiagnosticCategory.Error, "JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026", "JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."), - Unreachable_code_detected: diag(7027, ts.DiagnosticCategory.Error, "Unreachable_code_detected_7027", "Unreachable code detected."), + Unreachable_code_detected: diag(7027, ts.DiagnosticCategory.Error, "Unreachable_code_detected_7027", "Unreachable code detected.", true), Unused_label: diag(7028, ts.DiagnosticCategory.Error, "Unused_label_7028", "Unused label.", true), Fallthrough_case_in_switch: diag(7029, ts.DiagnosticCategory.Error, "Fallthrough_case_in_switch_7029", "Fallthrough case in switch."), Not_all_code_paths_return_a_value: diag(7030, ts.DiagnosticCategory.Error, "Not_all_code_paths_return_a_value_7030", "Not all code paths return a value."), @@ -4634,6 +4667,7 @@ var ts; Implement_inherited_abstract_class: diag(90007, ts.DiagnosticCategory.Message, "Implement_inherited_abstract_class_90007", "Implement inherited abstract class"), Add_0_to_unresolved_variable: diag(90008, ts.DiagnosticCategory.Message, "Add_0_to_unresolved_variable_90008", "Add '{0}.' to unresolved variable"), Remove_destructuring: diag(90009, ts.DiagnosticCategory.Message, "Remove_destructuring_90009", "Remove destructuring"), + Remove_variable_statement: diag(90010, ts.DiagnosticCategory.Message, "Remove_variable_statement_90010", "Remove variable statement"), Import_0_from_module_1: diag(90013, ts.DiagnosticCategory.Message, "Import_0_from_module_1_90013", "Import '{0}' from module \"{1}\""), Change_0_to_1: diag(90014, ts.DiagnosticCategory.Message, "Change_0_to_1_90014", "Change '{0}' to '{1}'"), Add_0_to_existing_import_declaration_from_1: diag(90015, ts.DiagnosticCategory.Message, "Add_0_to_existing_import_declaration_from_1_90015", "Add '{0}' to existing import declaration from \"{1}\""), @@ -4703,6 +4737,9 @@ var ts; Add_missing_typeof: diag(95052, ts.DiagnosticCategory.Message, "Add_missing_typeof_95052", "Add missing 'typeof'"), Remove_unused_label: diag(95053, ts.DiagnosticCategory.Message, "Remove_unused_label_95053", "Remove unused label"), Remove_all_unused_labels: diag(95054, ts.DiagnosticCategory.Message, "Remove_all_unused_labels_95054", "Remove all unused labels"), + Convert_0_to_mapped_object_type: diag(95055, ts.DiagnosticCategory.Message, "Convert_0_to_mapped_object_type_95055", "Convert '{0}' to mapped object type"), + Convert_namespace_import_to_named_imports: diag(95056, ts.DiagnosticCategory.Message, "Convert_namespace_import_to_named_imports_95056", "Convert namespace import to named imports"), + Convert_named_imports_to_namespace_import: diag(95057, ts.DiagnosticCategory.Message, "Convert_named_imports_to_namespace_import_95057", "Convert named imports to namespace import"), }; })(ts || (ts = {})); var ts; @@ -4739,7 +4776,7 @@ var ts; "false": 86, "finally": 87, "for": 88, - "from": 142, + "from": 143, "function": 89, "get": 125, "if": 90, @@ -4765,7 +4802,7 @@ var ts; "public": 114, "readonly": 132, "require": 133, - "global": 143, + "global": 144, "return": 96, "set": 136, "static": 115, @@ -4781,6 +4818,7 @@ var ts; "typeof": 103, "undefined": 140, "unique": 141, + "unknown": 142, "var": 104, "void": 105, "while": 106, @@ -4788,7 +4826,7 @@ var ts; "yield": 116, "async": 120, "await": 121, - "of": 144, + "of": 145, "{": 17, "}": 18, "(": 19, @@ -5294,8 +5332,9 @@ var ts; return true; } ts.isIdentifierText = isIdentifierText; - function createScanner(languageVersion, skipTrivia, languageVariant, text, onError, start, length) { + function createScanner(languageVersion, skipTrivia, languageVariant, textInitial, onError, start, length) { if (languageVariant === void 0) { languageVariant = 0; } + var text = textInitial; var pos; var end; var startPos; @@ -6493,7 +6532,7 @@ var ts; } ts.moduleResolutionIsEqualTo = moduleResolutionIsEqualTo; function packageIdIsEqual(a, b) { - return a === b || a && b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version; + return a === b || !!a && !!b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version; } function packageIdToString(_a) { var name = _a.name, subModuleName = _a.subModuleName, version = _a.version; @@ -6536,7 +6575,7 @@ var ts; } } function getSourceFileOfNode(node) { - while (node && node.kind !== 273) { + while (node && node.kind !== 274) { node = node.parent; } return node; @@ -6544,11 +6583,11 @@ var ts; ts.getSourceFileOfNode = getSourceFileOfNode; function isStatementWithLocals(node) { switch (node.kind) { - case 212: - case 240: - case 219: + case 213: + case 241: case 220: case 221: + case 222: return true; } return false; @@ -6584,9 +6623,8 @@ var ts; } } ts.getEndLinePosition = getEndLinePosition; - function isFileLevelUniqueName(currentSourceFile, name, hasGlobalName) { - return !(hasGlobalName && hasGlobalName(name)) - && !currentSourceFile.identifiers.has(name); + function isFileLevelUniqueName(sourceFile, name, hasGlobalName) { + return !(hasGlobalName && hasGlobalName(name)) && !sourceFile.identifiers.has(name); } ts.isFileLevelUniqueName = isFileLevelUniqueName; function nodeIsMissing(node) { @@ -6600,6 +6638,19 @@ var ts; return !nodeIsMissing(node); } ts.nodeIsPresent = nodeIsPresent; + function prependStatements(to, from) { + if (from === undefined || from.length === 0) + return to; + if (to === undefined) + return from.slice(); + var prologue = to.length && isPrologueDirective(to[0]) && to.shift(); + to.unshift.apply(to, from); + if (prologue) { + to.unshift(prologue); + } + return to; + } + ts.prependStatements = prependStatements; function isRecognizedTripleSlashComment(text, commentPos, commentEnd) { if (text.charCodeAt(commentPos + 1) === 47 && commentPos + 2 < commentEnd && @@ -6629,7 +6680,7 @@ var ts; if (includeJsDoc && ts.hasJSDocNodes(node)) { return getTokenPosOfNode(node.jsDoc[0]); } - if (node.kind === 298 && node._children.length > 0) { + if (node.kind === 299 && node._children.length > 0) { return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc); } return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.pos); @@ -6669,7 +6720,7 @@ var ts; ts.indexOfNode = indexOfNode; function getEmitFlags(node) { var emitNode = node.emitNode; - return emitNode && emitNode.flags; + return emitNode && emitNode.flags || 0; } ts.getEmitFlags = getEmitFlags; function getLiteralText(node, sourceFile) { @@ -6697,7 +6748,7 @@ var ts; case 12: return node.text; } - ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); + return ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); } ts.getLiteralText = getLiteralText; function getTextOfConstantValue(value) { @@ -6723,7 +6774,7 @@ var ts; ts.isBlockOrCatchScoped = isBlockOrCatchScoped; function isCatchClauseVariableDeclarationOrBindingElement(declaration) { var node = getRootDeclaration(declaration); - return node.kind === 231 && node.parent.kind === 268; + return node.kind === 232 && node.parent.kind === 269; } ts.isCatchClauseVariableDeclarationOrBindingElement = isCatchClauseVariableDeclarationOrBindingElement; function isAmbientModule(node) { @@ -6743,11 +6794,11 @@ var ts; } ts.isShorthandAmbientModuleSymbol = isShorthandAmbientModuleSymbol; function isShorthandAmbientModule(node) { - return node && node.kind === 238 && (!node.body); + return node && node.kind === 239 && (!node.body); } function isBlockScopedContainerTopLevel(node) { - return node.kind === 273 || - node.kind === 238 || + return node.kind === 274 || + node.kind === 239 || ts.isFunctionLike(node); } ts.isBlockScopedContainerTopLevel = isBlockScopedContainerTopLevel; @@ -6761,9 +6812,9 @@ var ts; ts.isExternalModuleAugmentation = isExternalModuleAugmentation; function isModuleAugmentationExternal(node) { switch (node.parent.kind) { - case 273: + case 274: return ts.isExternalModule(node.parent); - case 239: + case 240: return isAmbientModule(node.parent.parent) && ts.isSourceFile(node.parent.parent.parent) && !ts.isExternalModule(node.parent.parent.parent); } return false; @@ -6775,51 +6826,51 @@ var ts; ts.isEffectiveExternalModule = isEffectiveExternalModule; function isBlockScope(node, parentNode) { switch (node.kind) { - case 273: - case 240: - case 268: - case 238: - case 219: + case 274: + case 241: + case 269: + case 239: case 220: case 221: - case 154: - case 153: + case 222: case 155: + case 154: case 156: - case 233: - case 191: + case 157: + case 234: case 192: + case 193: return true; - case 212: - return parentNode && !ts.isFunctionLike(parentNode); + case 213: + return !ts.isFunctionLike(parentNode); } return false; } ts.isBlockScope = isBlockScope; function isDeclarationWithTypeParameters(node) { switch (node.kind) { - case 157: case 158: - case 152: case 159: - case 162: - case 163: - case 283: - case 234: - case 204: - case 235: - case 236: - case 295: - case 233: case 153: + case 160: + case 163: + case 164: + case 284: + case 235: + case 205: + case 236: + case 237: + case 296: + case 234: case 154: case 155: case 156: - case 191: + case 157: case 192: - case 291: - case 296: - case 287: + case 193: + case 292: + case 297: + case 288: return true; default: ts.assertTypeIsNever(node); @@ -6829,8 +6880,8 @@ var ts; ts.isDeclarationWithTypeParameters = isDeclarationWithTypeParameters; function isAnyImportSyntax(node) { switch (node.kind) { + case 244: case 243: - case 242: return true; default: return false; @@ -6839,15 +6890,15 @@ var ts; ts.isAnyImportSyntax = isAnyImportSyntax; function isLateVisibilityPaintedStatement(node) { switch (node.kind) { + case 244: case 243: - case 242: - case 213: - case 234: - case 233: - case 238: - case 236: + case 214: case 235: + case 234: + case 239: case 237: + case 236: + case 238: return true; default: return false; @@ -6877,7 +6928,7 @@ var ts; case 9: case 8: return escapeLeadingUnderscores(name.text); - case 146: + case 147: return isStringOrNumericLiteral(name.expression) ? escapeLeadingUnderscores(name.expression.text) : undefined; default: ts.Debug.assertNever(name); @@ -6888,10 +6939,12 @@ var ts; switch (name.kind) { case 71: return getFullWidth(name) === 0 ? ts.idText(name) : getTextOfNode(name); - case 145: + case 146: return entityNameToString(name.left) + "." + entityNameToString(name.right); - case 184: + case 185: return entityNameToString(name.expression) + "." + entityNameToString(name.name); + default: + throw ts.Debug.assertNever(name); } } ts.entityNameToString = entityNameToString; @@ -6910,11 +6963,6 @@ var ts; return ts.createFileDiagnostic(sourceFile, span.start, span.length, message, arg0, arg1, arg2, arg3); } ts.createDiagnosticForNodeInSourceFile = createDiagnosticForNodeInSourceFile; - function createDiagnosticForNodeSpan(sourceFile, startNode, endNode, message, arg0, arg1, arg2, arg3) { - var start = ts.skipTrivia(sourceFile.text, startNode.pos); - return ts.createFileDiagnostic(sourceFile, start, endNode.end - start, message, arg0, arg1, arg2, arg3); - } - ts.createDiagnosticForNodeSpan = createDiagnosticForNodeSpan; function createDiagnosticForNodeFromMessageChain(node, messageChain) { var sourceFile = getSourceFileOfNode(node); var span = getErrorSpanForNode(sourceFile, node); @@ -6937,7 +6985,7 @@ var ts; ts.getSpanOfTokenAtPosition = getSpanOfTokenAtPosition; function getErrorSpanForArrowFunction(sourceFile, node) { var pos = ts.skipTrivia(sourceFile.text, node.pos); - if (node.body && node.body.kind === 212) { + if (node.body && node.body.kind === 213) { var startLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.pos).line; var endLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.end).line; if (startLine < endLine) { @@ -6949,31 +6997,31 @@ var ts; function getErrorSpanForNode(sourceFile, node) { var errorNode = node; switch (node.kind) { - case 273: + case 274: var pos_1 = ts.skipTrivia(sourceFile.text, 0, false); if (pos_1 === sourceFile.text.length) { return ts.createTextSpan(0, 0); } return getSpanOfTokenAtPosition(sourceFile, pos_1); - case 231: - case 181: - case 234: - case 204: + case 232: + case 182: case 235: - case 238: - case 237: - case 272: - case 233: - case 191: - case 153: - case 155: - case 156: + case 205: case 236: + case 239: + case 238: + case 273: + case 234: + case 192: + case 154: + case 156: + case 157: + case 237: + case 152: case 151: - case 150: errorNode = node.name; break; - case 192: + case 193: return getErrorSpanForArrowFunction(sourceFile, node); } if (errorNode === undefined) { @@ -7003,7 +7051,7 @@ var ts; } ts.isJsonSourceFile = isJsonSourceFile; function isConstEnumDeclaration(node) { - return node.kind === 237 && isConst(node); + return node.kind === 238 && isConst(node); } ts.isConstEnumDeclaration = isConstEnumDeclaration; function isConst(node) { @@ -7016,21 +7064,21 @@ var ts; } ts.isLet = isLet; function isSuperCall(n) { - return n.kind === 186 && n.expression.kind === 97; + return n.kind === 187 && n.expression.kind === 97; } ts.isSuperCall = isSuperCall; function isImportCall(n) { - return n.kind === 186 && n.expression.kind === 91; + return n.kind === 187 && n.expression.kind === 91; } ts.isImportCall = isImportCall; function isLiteralImportTypeNode(n) { - return n.kind === 178 && - n.argument.kind === 177 && + return n.kind === 179 && + n.argument.kind === 178 && ts.isStringLiteral(n.argument.literal); } ts.isLiteralImportTypeNode = isLiteralImportTypeNode; function isPrologueDirective(node) { - return node.kind === 215 + return node.kind === 216 && node.expression.kind === 9; } ts.isPrologueDirective = isPrologueDirective; @@ -7039,11 +7087,11 @@ var ts; } ts.getLeadingCommentRangesOfNode = getLeadingCommentRangesOfNode; function getJSDocCommentRanges(node, text) { - var commentRanges = (node.kind === 148 || - node.kind === 147 || - node.kind === 191 || + var commentRanges = (node.kind === 149 || + node.kind === 148 || node.kind === 192 || - node.kind === 190) ? + node.kind === 193 || + node.kind === 191) ? ts.concatenate(ts.getTrailingCommentRanges(text, node.pos), ts.getLeadingCommentRanges(text, node.pos)) : ts.getLeadingCommentRanges(text, node.pos); return ts.filter(commentRanges, function (comment) { @@ -7058,11 +7106,12 @@ var ts; ts.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*/; var defaultLibReferenceRegEx = /^(\/\/\/\s*/; function isPartOfTypeNode(node) { - if (160 <= node.kind && node.kind <= 178) { + if (161 <= node.kind && node.kind <= 179) { return true; } switch (node.kind) { case 119: + case 142: case 134: case 137: case 122: @@ -7071,63 +7120,64 @@ var ts; case 131: return true; case 105: - return node.parent.kind !== 195; - case 206: + return node.parent.kind !== 196; + case 207: return !isExpressionWithTypeArgumentsInClassExtendsClause(node); - case 147: - return node.parent.kind === 176 || node.parent.kind === 171; + case 148: + return node.parent.kind === 177 || node.parent.kind === 172; case 71: - if (node.parent.kind === 145 && node.parent.right === node) { + if (node.parent.kind === 146 && node.parent.right === node) { node = node.parent; } - else if (node.parent.kind === 184 && node.parent.name === node) { + else if (node.parent.kind === 185 && node.parent.name === node) { node = node.parent; } - ts.Debug.assert(node.kind === 71 || node.kind === 145 || node.kind === 184, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); - case 145: - case 184: - case 99: + ts.Debug.assert(node.kind === 71 || node.kind === 146 || node.kind === 185, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); + case 146: + case 185: + case 99: { var parent = node.parent; - if (parent.kind === 164) { + if (parent.kind === 165) { return false; } - if (parent.kind === 178) { + if (parent.kind === 179) { return !parent.isTypeOf; } - if (160 <= parent.kind && parent.kind <= 178) { + if (161 <= parent.kind && parent.kind <= 179) { return true; } switch (parent.kind) { - case 206: + case 207: return !isExpressionWithTypeArgumentsInClassExtendsClause(parent); - case 147: - return node === parent.constraint; - case 151: - case 150: case 148: - case 231: + return node === parent.constraint; + case 152: + case 151: + case 149: + case 232: return node === parent.type; - case 233: - case 191: + case 234: case 192: + case 193: + case 155: case 154: case 153: - case 152: - case 155: case 156: - return node === parent.type; case 157: + return node === parent.type; case 158: case 159: + case 160: return node === parent.type; - case 189: + case 190: return node === parent.type; - case 186: case 187: - return ts.contains(parent.typeArguments, node); case 188: + return ts.contains(parent.typeArguments, node); + case 189: return false; } + } } return false; } @@ -7146,23 +7196,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 224: + case 225: return visitor(node); - case 240: - case 212: - case 216: + case 241: + case 213: case 217: case 218: case 219: case 220: case 221: - case 225: + case 222: case 226: - case 265: - case 266: case 227: - case 229: - case 268: + case 266: + case 267: + case 228: + case 230: + case 269: return ts.forEachChild(node, traverse); } } @@ -7172,23 +7222,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 202: + case 203: visitor(node); var operand = node.expression; if (operand) { traverse(operand); } return; - case 237: - case 235: case 238: case 236: - case 234: - case 204: + case 239: + case 237: + case 235: + case 205: return; default: if (ts.isFunctionLike(node)) { - if (node.name && node.name.kind === 146) { + if (node.name && node.name.kind === 147) { traverse(node.name.expression); return; } @@ -7201,10 +7251,10 @@ var ts; } ts.forEachYieldExpression = forEachYieldExpression; function getRestParameterElementType(node) { - if (node && node.kind === 166) { + if (node && node.kind === 167) { return node.elementType; } - else if (node && node.kind === 161) { + else if (node && node.kind === 162) { return ts.singleOrUndefined(node.typeArguments); } else { @@ -7214,12 +7264,12 @@ var ts; ts.getRestParameterElementType = getRestParameterElementType; function getMembersOfDeclaration(node) { switch (node.kind) { + case 236: case 235: - case 234: - case 204: - case 165: + case 205: + case 166: return node.members; - case 183: + case 184: return node.properties; } } @@ -7227,14 +7277,14 @@ var ts; function isVariableLike(node) { if (node) { switch (node.kind) { - case 181: - case 272: - case 148: - case 269: - case 151: - case 150: + case 182: + case 273: + case 149: case 270: - case 231: + case 152: + case 151: + case 271: + case 232: return true; } } @@ -7246,8 +7296,8 @@ var ts; } ts.isVariableLikeOrAccessor = isVariableLikeOrAccessor; function isVariableDeclarationInVariableStatement(node) { - return node.parent.kind === 232 - && node.parent.parent.kind === 213; + return node.parent.kind === 233 + && node.parent.parent.kind === 214; } ts.isVariableDeclarationInVariableStatement = isVariableDeclarationInVariableStatement; function isValidESSymbolDeclaration(node) { @@ -7258,13 +7308,13 @@ var ts; ts.isValidESSymbolDeclaration = isValidESSymbolDeclaration; function introducesArgumentsExoticObject(node) { switch (node.kind) { - case 153: - case 152: case 154: + case 153: case 155: case 156: - case 233: - case 191: + case 157: + case 234: + case 192: return true; } return false; @@ -7275,7 +7325,7 @@ var ts; if (beforeUnwrapLabelCallback) { beforeUnwrapLabelCallback(node); } - if (node.statement.kind !== 227) { + if (node.statement.kind !== 228) { return node.statement; } node = node.statement; @@ -7283,17 +7333,17 @@ var ts; } ts.unwrapInnermostStatementOfLabel = unwrapInnermostStatementOfLabel; function isFunctionBlock(node) { - return node && node.kind === 212 && ts.isFunctionLike(node.parent); + return node && node.kind === 213 && ts.isFunctionLike(node.parent); } ts.isFunctionBlock = isFunctionBlock; function isObjectLiteralMethod(node) { - return node && node.kind === 153 && node.parent.kind === 183; + return node && node.kind === 154 && node.parent.kind === 184; } ts.isObjectLiteralMethod = isObjectLiteralMethod; function isObjectLiteralOrClassExpressionMethod(node) { - return node.kind === 153 && - (node.parent.kind === 183 || - node.parent.kind === 204); + return node.kind === 154 && + (node.parent.kind === 184 || + node.parent.kind === 205); } ts.isObjectLiteralOrClassExpressionMethod = isObjectLiteralOrClassExpressionMethod; function isIdentifierTypePredicate(predicate) { @@ -7305,31 +7355,35 @@ var ts; } ts.isThisTypePredicate = isThisTypePredicate; function getPropertyAssignment(objectLiteral, key, key2) { - return ts.filter(objectLiteral.properties, function (property) { - if (property.kind === 269) { + return objectLiteral.properties.filter(function (property) { + if (property.kind === 270) { var propName = getTextOfPropertyName(property.name); - return key === propName || (key2 && key2 === propName); + return key === propName || (!!key2 && key2 === propName); } + return false; }); } ts.getPropertyAssignment = getPropertyAssignment; function getTsConfigObjectLiteralExpression(tsConfigSourceFile) { if (tsConfigSourceFile && tsConfigSourceFile.statements.length) { var expression = tsConfigSourceFile.statements[0].expression; - return ts.isObjectLiteralExpression(expression) && expression; + return ts.tryCast(expression, ts.isObjectLiteralExpression); } } ts.getTsConfigObjectLiteralExpression = getTsConfigObjectLiteralExpression; function getTsConfigPropArrayElementValue(tsConfigSourceFile, propKey, elementValue) { - var jsonObjectLiteral = getTsConfigObjectLiteralExpression(tsConfigSourceFile); - return jsonObjectLiteral && - ts.firstDefined(getPropertyAssignment(jsonObjectLiteral, propKey), function (property) { - return ts.isArrayLiteralExpression(property.initializer) ? - ts.find(property.initializer.elements, function (element) { return ts.isStringLiteral(element) && element.text === elementValue; }) : - undefined; - }); + return ts.firstDefined(getTsConfigPropArray(tsConfigSourceFile, propKey), function (property) { + return ts.isArrayLiteralExpression(property.initializer) ? + ts.find(property.initializer.elements, function (element) { return ts.isStringLiteral(element) && element.text === elementValue; }) : + undefined; + }); } ts.getTsConfigPropArrayElementValue = getTsConfigPropArrayElementValue; + function getTsConfigPropArray(tsConfigSourceFile, propKey) { + var jsonObjectLiteral = getTsConfigObjectLiteralExpression(tsConfigSourceFile); + return jsonObjectLiteral ? getPropertyAssignment(jsonObjectLiteral, propKey) : ts.emptyArray; + } + ts.getTsConfigPropArray = getTsConfigPropArray; function getContainingFunction(node) { return ts.findAncestor(node.parent, ts.isFunctionLike); } @@ -7339,45 +7393,46 @@ var ts; } ts.getContainingClass = getContainingClass; function getThisContainer(node, includeArrowFunctions) { + ts.Debug.assert(node.kind !== 274); while (true) { node = node.parent; if (!node) { - return undefined; + return ts.Debug.fail(); } switch (node.kind) { - case 146: + case 147: if (ts.isClassLike(node.parent.parent)) { return node; } node = node.parent; break; - case 149: - if (node.parent.kind === 148 && ts.isClassElement(node.parent.parent)) { + case 150: + if (node.parent.kind === 149 && ts.isClassElement(node.parent.parent)) { node = node.parent.parent; } else if (ts.isClassElement(node.parent)) { node = node.parent; } break; - case 192: + case 193: if (!includeArrowFunctions) { continue; } - case 233: - case 191: - case 238: - case 151: - case 150: - case 153: + case 234: + case 192: + case 239: case 152: + case 151: case 154: + case 153: case 155: case 156: case 157: case 158: case 159: - case 237: - case 273: + case 160: + case 238: + case 274: return node; } } @@ -7387,9 +7442,9 @@ var ts; var container = getThisContainer(node, false); if (container) { switch (container.kind) { - case 154: - case 233: - case 191: + case 155: + case 234: + case 192: return container; } } @@ -7403,25 +7458,25 @@ var ts; return node; } switch (node.kind) { - case 146: + case 147: node = node.parent; break; - case 233: - case 191: + case 234: case 192: + case 193: if (!stopOnFunctions) { continue; } - case 151: - case 150: - case 153: case 152: + case 151: case 154: + case 153: case 155: case 156: + case 157: return node; - case 149: - if (node.parent.kind === 148 && ts.isClassElement(node.parent.parent)) { + case 150: + if (node.parent.kind === 149 && ts.isClassElement(node.parent.parent)) { node = node.parent.parent; } else if (ts.isClassElement(node.parent)) { @@ -7433,14 +7488,14 @@ var ts; } ts.getSuperContainer = getSuperContainer; function getImmediatelyInvokedFunctionExpression(func) { - if (func.kind === 191 || func.kind === 192) { + if (func.kind === 192 || func.kind === 193) { var prev = func; var parent = func.parent; - while (parent.kind === 190) { + while (parent.kind === 191) { prev = parent; parent = parent.parent; } - if (parent.kind === 186 && parent.expression === prev) { + if (parent.kind === 187 && parent.expression === prev) { return parent; } } @@ -7448,26 +7503,26 @@ var ts; ts.getImmediatelyInvokedFunctionExpression = getImmediatelyInvokedFunctionExpression; function isSuperProperty(node) { var kind = node.kind; - return (kind === 184 || kind === 185) + return (kind === 185 || kind === 186) && node.expression.kind === 97; } ts.isSuperProperty = isSuperProperty; function isThisProperty(node) { var kind = node.kind; - return (kind === 184 || kind === 185) + return (kind === 185 || kind === 186) && node.expression.kind === 99; } ts.isThisProperty = isThisProperty; function getEntityNameFromTypeNode(node) { switch (node.kind) { - case 161: + case 162: return node.typeName; - case 206: + case 207: return isEntityNameExpression(node.expression) ? node.expression : undefined; case 71: - case 145: + case 146: return node; } return undefined; @@ -7475,10 +7530,10 @@ var ts; ts.getEntityNameFromTypeNode = getEntityNameFromTypeNode; function getInvokedExpression(node) { switch (node.kind) { - case 188: + case 189: return node.tag; + case 257: case 256: - case 255: return node.tagName; default: return node.expression; @@ -7487,21 +7542,21 @@ var ts; ts.getInvokedExpression = getInvokedExpression; function nodeCanBeDecorated(node, parent, grandparent) { switch (node.kind) { - case 234: + case 235: return true; - case 151: - return parent.kind === 234; - case 155: + case 152: + return parent.kind === 235; case 156: - case 153: + case 157: + case 154: return node.body !== undefined - && parent.kind === 234; - case 148: + && parent.kind === 235; + case 149: return parent.body !== undefined - && (parent.kind === 154 - || parent.kind === 153 - || parent.kind === 156) - && grandparent.kind === 234; + && (parent.kind === 155 + || parent.kind === 154 + || parent.kind === 157) + && grandparent.kind === 235; } return false; } @@ -7517,19 +7572,21 @@ var ts; ts.nodeOrChildIsDecorated = nodeOrChildIsDecorated; function childIsDecorated(node, parent) { switch (node.kind) { - case 234: - return ts.forEach(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); - case 153: - case 156: - return ts.forEach(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); + case 235: + return ts.some(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); + case 154: + case 157: + return ts.some(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); + default: + return false; } } ts.childIsDecorated = childIsDecorated; function isJSXTagName(node) { var parent = node.parent; - if (parent.kind === 256 || - parent.kind === 255 || - parent.kind === 257) { + if (parent.kind === 257 || + parent.kind === 256 || + parent.kind === 258) { return parent.tagName === node; } return false; @@ -7542,45 +7599,45 @@ var ts; case 101: case 86: case 12: - case 182: case 183: case 184: case 185: case 186: case 187: case 188: - case 207: case 189: case 208: case 190: + case 209: case 191: - case 204: case 192: - case 195: + case 205: case 193: + case 196: case 194: - case 197: + case 195: case 198: case 199: case 200: - case 203: case 201: - case 13: - case 205: - case 254: - case 255: - case 258: + case 204: case 202: - case 196: - case 209: + case 13: + case 206: + case 255: + case 256: + case 259: + case 203: + case 197: + case 210: return true; - case 145: - while (node.parent.kind === 145) { + case 146: + while (node.parent.kind === 146) { node = node.parent; } - return node.parent.kind === 164 || isJSXTagName(node); + return node.parent.kind === 165 || isJSXTagName(node); case 71: - if (node.parent.kind === 164 || isJSXTagName(node)) { + if (node.parent.kind === 165 || isJSXTagName(node)) { return true; } case 8: @@ -7595,47 +7652,47 @@ var ts; function isInExpressionContext(node) { var parent = node.parent; switch (parent.kind) { - case 231: - case 148: + case 232: + case 149: + case 152: case 151: - case 150: - case 272: - case 269: - case 181: + case 273: + case 270: + case 182: return parent.initializer === node; - case 215: case 216: case 217: case 218: - case 224: + case 219: case 225: case 226: - case 265: - case 228: + case 227: + case 266: + case 229: return parent.expression === node; - case 219: + case 220: var forStatement = parent; - return (forStatement.initializer === node && forStatement.initializer.kind !== 232) || + return (forStatement.initializer === node && forStatement.initializer.kind !== 233) || forStatement.condition === node || forStatement.incrementor === node; - case 220: case 221: + case 222: var forInStatement = parent; - return (forInStatement.initializer === node && forInStatement.initializer.kind !== 232) || + return (forInStatement.initializer === node && forInStatement.initializer.kind !== 233) || forInStatement.expression === node; - case 189: - case 207: + case 190: + case 208: return node === parent.expression; - case 210: + case 211: return node === parent.expression; - case 146: + case 147: return node === parent.expression; - case 149: + case 150: + case 265: case 264: - case 263: - case 271: + case 272: return true; - case 206: + case 207: return parent.expression === node && isExpressionWithTypeArgumentsInClassExtendsClause(parent); default: return isExpressionNode(parent); @@ -7643,7 +7700,7 @@ var ts; } ts.isInExpressionContext = isInExpressionContext; function isExternalModuleImportEqualsDeclaration(node) { - return node.kind === 242 && node.moduleReference.kind === 253; + return node.kind === 243 && node.moduleReference.kind === 254; } ts.isExternalModuleImportEqualsDeclaration = isExternalModuleImportEqualsDeclaration; function getExternalModuleImportEqualsDeclarationExpression(node) { @@ -7652,7 +7709,7 @@ var ts; } ts.getExternalModuleImportEqualsDeclarationExpression = getExternalModuleImportEqualsDeclarationExpression; function isInternalModuleImportEqualsDeclaration(node) { - return node.kind === 242 && node.moduleReference.kind !== 253; + return node.kind === 243 && node.moduleReference.kind !== 254; } ts.isInternalModuleImportEqualsDeclaration = isInternalModuleImportEqualsDeclaration; function isSourceFileJavaScript(file) { @@ -7664,15 +7721,15 @@ var ts; } ts.isSourceFileNotJavaScript = isSourceFileNotJavaScript; function isInJavaScriptFile(node) { - return node && !!(node.flags & 65536); + return !!node && !!(node.flags & 65536); } ts.isInJavaScriptFile = isInJavaScriptFile; function isInJsonFile(node) { - return node && !!(node.flags & 16777216); + return !!node && !!(node.flags & 16777216); } ts.isInJsonFile = isInJsonFile; function isInJSDoc(node) { - return node && !!(node.flags & 2097152); + return !!node && !!(node.flags & 2097152); } ts.isInJSDoc = isInJSDoc; function isJSDocIndexSignature(node) { @@ -7684,7 +7741,7 @@ var ts; } ts.isJSDocIndexSignature = isJSDocIndexSignature; function isRequireCall(callExpression, checkArgumentIsStringLiteralLike) { - if (callExpression.kind !== 186) { + if (callExpression.kind !== 187) { return false; } var _a = callExpression, expression = _a.expression, args = _a.arguments; @@ -7706,22 +7763,48 @@ var ts; return getSourceTextOfNodeFromSourceFile(sourceFile, str).charCodeAt(0) === 34; } ts.isStringDoubleQuoted = isStringDoubleQuoted; - function getJSInitializerSymbol(symbol) { - if (!symbol || !symbol.valueDeclaration) { - return symbol; + function getDeclarationOfJSInitializer(node) { + if (!isInJavaScriptFile(node) || !node.parent) { + return undefined; } - var declaration = symbol.valueDeclaration; - var e = getDeclaredJavascriptInitializer(declaration) || getAssignedJavascriptInitializer(declaration); - return e && e.symbol ? e.symbol : symbol; - } - ts.getJSInitializerSymbol = getJSInitializerSymbol; - function getDeclaredJavascriptInitializer(node) { - if (node && ts.isVariableDeclaration(node) && node.initializer) { - return getJavascriptInitializer(node.initializer, false) || - ts.isIdentifier(node.name) && getDefaultedJavascriptInitializer(node.name, node.initializer, false); + var name; + var decl; + if (ts.isVariableDeclaration(node.parent) && node.parent.initializer === node) { + name = node.parent.name; + decl = node.parent; } + else if (ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58 && node.parent.right === node) { + name = node.parent.left; + decl = name; + } + else if (ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 54) { + if (ts.isVariableDeclaration(node.parent.parent) && node.parent.parent.initializer === node.parent) { + name = node.parent.parent.name; + decl = node.parent.parent; + } + else if (ts.isBinaryExpression(node.parent.parent) && node.parent.parent.operatorToken.kind === 58 && node.parent.parent.right === node.parent) { + name = node.parent.parent.left; + decl = name; + } + if (!name || !isEntityNameExpression(name) || !isSameEntityName(name, node.parent.left)) { + return undefined; + } + } + if (!name || !getJavascriptInitializer(node, isPrototypeAccess(name))) { + return undefined; + } + return decl; } - ts.getDeclaredJavascriptInitializer = getDeclaredJavascriptInitializer; + ts.getDeclarationOfJSInitializer = getDeclarationOfJSInitializer; + function getEffectiveInitializer(node) { + if (isInJavaScriptFile(node) && node.initializer && + ts.isBinaryExpression(node.initializer) && node.initializer.operatorToken.kind === 54 && + node.name && isEntityNameExpression(node.name) && isSameEntityName(node.name, node.initializer.left)) { + return node.initializer.right; + } + return node.initializer; + } + ts.getEffectiveInitializer = getEffectiveInitializer; function getAssignedJavascriptInitializer(node) { if (node && node.parent && ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58) { var isPrototypeAssignment = isPrototypeAccess(node.parent.left); @@ -7733,11 +7816,11 @@ var ts; function getJavascriptInitializer(initializer, isPrototypeAssignment) { if (ts.isCallExpression(initializer)) { var e = skipParentheses(initializer.expression); - return e.kind === 191 || e.kind === 192 ? initializer : undefined; + return e.kind === 192 || e.kind === 193 ? initializer : undefined; } - if (initializer.kind === 191 || - initializer.kind === 204 || - initializer.kind === 192) { + if (initializer.kind === 192 || + initializer.kind === 205 || + initializer.kind === 193) { return initializer; } if (ts.isObjectLiteralExpression(initializer) && (initializer.properties.length === 0 || isPrototypeAssignment)) { @@ -7751,6 +7834,13 @@ var ts; return e; } } + function isDefaultedJavascriptInitializer(node) { + var name = ts.isVariableDeclaration(node.parent) ? node.parent.name : + ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58 ? node.parent.left : + undefined; + return name && getJavascriptInitializer(node.right, isPrototypeAccess(name)) && isEntityNameExpression(name) && isSameEntityName(name, node.left); + } + ts.isDefaultedJavascriptInitializer = isDefaultedJavascriptInitializer; function getOuterNameOfJsInitializer(node) { if (ts.isBinaryExpression(node.parent)) { var parent = (node.parent.operatorToken.kind === 54 && ts.isBinaryExpression(node.parent.parent)) ? node.parent.parent : node.parent; @@ -7843,7 +7933,7 @@ var ts; ts.isPrototypePropertyAssignment = isPrototypePropertyAssignment; function isSpecialPropertyDeclaration(expr) { return isInJavaScriptFile(expr) && - expr.parent && expr.parent.kind === 215 && + expr.parent && expr.parent.kind === 216 && !!ts.getJSDocTypeTag(expr.parent); } ts.isSpecialPropertyDeclaration = isSpecialPropertyDeclaration; @@ -7853,14 +7943,14 @@ var ts; ts.importFromModuleSpecifier = importFromModuleSpecifier; function tryGetImportFromModuleSpecifier(node) { switch (node.parent.kind) { - case 243: - case 249: + case 244: + case 250: return node.parent; - case 253: + case 254: return node.parent.parent; - case 186: + case 187: return node.parent; - case 177: + case 178: ts.Debug.assert(ts.isStringLiteral(node)); return ts.tryCast(node.parent.parent, ts.isImportTypeNode); default: @@ -7870,12 +7960,12 @@ var ts; ts.tryGetImportFromModuleSpecifier = tryGetImportFromModuleSpecifier; function getExternalModuleName(node) { switch (node.kind) { - case 243: - case 249: + case 244: + case 250: return node.moduleSpecifier; - case 242: - return node.moduleReference.kind === 253 ? node.moduleReference.expression : undefined; - case 178: + case 243: + return node.moduleReference.kind === 254 ? node.moduleReference.expression : undefined; + case 179: return isLiteralImportTypeNode(node) ? node.argument.literal : undefined; default: return ts.Debug.assertNever(node); @@ -7884,11 +7974,11 @@ var ts; ts.getExternalModuleName = getExternalModuleName; function getNamespaceDeclarationNode(node) { switch (node.kind) { - case 243: + case 244: return node.importClause && ts.tryCast(node.importClause.namedBindings, ts.isNamespaceImport); - case 242: + case 243: return node; - case 249: + case 250: return undefined; default: return ts.Debug.assertNever(node); @@ -7896,19 +7986,19 @@ var ts; } ts.getNamespaceDeclarationNode = getNamespaceDeclarationNode; function isDefaultImport(node) { - return node.kind === 243 && node.importClause && !!node.importClause.name; + return node.kind === 244 && !!node.importClause && !!node.importClause.name; } ts.isDefaultImport = isDefaultImport; function hasQuestionToken(node) { if (node) { switch (node.kind) { - case 148: + case 149: + case 154: case 153: - case 152: + case 271: case 270: - case 269: + case 152: case 151: - case 150: return node.questionToken !== undefined; } } @@ -7916,14 +8006,14 @@ var ts; } ts.hasQuestionToken = hasQuestionToken; function isJSDocConstructSignature(node) { - return node.kind === 283 && + return node.kind === 284 && node.parameters.length > 0 && node.parameters[0].name && node.parameters[0].name.escapedText === "new"; } ts.isJSDocConstructSignature = isJSDocConstructSignature; function isJSDocTypeAlias(node) { - return node.kind === 296 || node.kind === 291; + return node.kind === 297 || node.kind === 292; } ts.isJSDocTypeAlias = isJSDocTypeAlias; function isTypeAlias(node) { @@ -7933,38 +8023,39 @@ var ts; function getSourceOfAssignment(node) { return ts.isExpressionStatement(node) && node.expression && ts.isBinaryExpression(node.expression) && - node.expression.operatorToken.kind === 58 && - node.expression.right; + node.expression.operatorToken.kind === 58 + ? node.expression.right + : undefined; } function getSourceOfDefaultedAssignment(node) { return ts.isExpressionStatement(node) && ts.isBinaryExpression(node.expression) && getSpecialPropertyAssignmentKind(node.expression) !== 0 && ts.isBinaryExpression(node.expression.right) && - node.expression.right.operatorToken.kind === 54 && - node.expression.right.right; + node.expression.right.operatorToken.kind === 54 + ? node.expression.right.right + : undefined; } function getSingleInitializerOfVariableStatementOrPropertyDeclaration(node) { switch (node.kind) { - case 213: + case 214: var v = getSingleVariableOfVariableStatement(node); return v && v.initializer; - case 151: + case 152: return node.initializer; - case 269: + case 270: return node.initializer; } } function getSingleVariableOfVariableStatement(node) { - return ts.isVariableStatement(node) && - node.declarationList.declarations.length > 0 && - node.declarationList.declarations[0]; + return ts.isVariableStatement(node) ? ts.firstOrUndefined(node.declarationList.declarations) : undefined; } function getNestedModuleDeclaration(node) { - return node.kind === 238 && + return ts.isModuleDeclaration(node) && node.body && - node.body.kind === 238 && - node.body; + node.body.kind === 239 + ? node.body + : undefined; } function getJSDocCommentsAndTags(hostNode) { var result; @@ -7974,7 +8065,7 @@ var ts; var parent = node.parent; if (!parent) return; - if (parent.kind === 269 || parent.kind === 151 || getNestedModuleDeclaration(parent)) { + if (parent.kind === 270 || parent.kind === 152 || getNestedModuleDeclaration(parent)) { getJSDocCommentsAndTagsWorker(parent); } if (parent.parent && (getSingleVariableOfVariableStatement(parent.parent) === node)) { @@ -7988,10 +8079,10 @@ var ts; } if (ts.isBinaryExpression(node) && node.operatorToken.kind === 58 || ts.isBinaryExpression(parent) && parent.operatorToken.kind === 58 || - node.kind === 184 && node.parent && node.parent.kind === 215) { + node.kind === 185 && node.parent && node.parent.kind === 216) { getJSDocCommentsAndTagsWorker(parent); } - if (node.kind === 148) { + if (node.kind === 149) { result = ts.addRange(result, ts.getJSDocParameterTags(node)); } if (isVariableLike(node) && ts.hasInitializer(node) && node.initializer !== hostNode && ts.hasJSDocNodes(node.initializer)) { @@ -8045,43 +8136,43 @@ var ts; ts.getTypeParameterFromJsDoc = getTypeParameterFromJsDoc; function hasRestParameter(s) { var last = ts.lastOrUndefined(s.parameters); - return last && isRestParameter(last); + return !!last && isRestParameter(last); } ts.hasRestParameter = hasRestParameter; function isRestParameter(node) { var type = ts.isJSDocParameterTag(node) ? (node.typeExpression && node.typeExpression.type) : node.type; - return node.dotDotDotToken !== undefined || type && type.kind === 284; + return node.dotDotDotToken !== undefined || !!type && type.kind === 285; } ts.isRestParameter = isRestParameter; function getAssignmentTargetKind(node) { var parent = node.parent; while (true) { switch (parent.kind) { - case 199: + case 200: var binaryOperator = parent.operatorToken.kind; return isAssignmentOperator(binaryOperator) && parent.left === node ? binaryOperator === 58 ? 1 : 2 : 0; - case 197: case 198: + case 199: var unaryOperator = parent.operator; return unaryOperator === 43 || unaryOperator === 44 ? 2 : 0; - case 220: case 221: + case 222: return parent.initializer === node ? 1 : 0; - case 190: - case 182: - case 203: - case 208: + case 191: + case 183: + case 204: + case 209: node = parent; break; - case 270: + case 271: if (parent.name !== node) { return 0; } node = parent.parent; break; - case 269: + case 270: if (parent.name === node) { return 0; } @@ -8100,22 +8191,22 @@ var ts; ts.isAssignmentTarget = isAssignmentTarget; function isNodeWithPossibleHoistedDeclaration(node) { switch (node.kind) { - case 212: case 213: - case 225: - case 216: + case 214: case 226: - case 240: - case 265: - case 266: + case 217: case 227: - case 219: + case 241: + case 266: + case 267: + case 228: case 220: case 221: - case 217: + case 222: case 218: - case 229: - case 268: + case 219: + case 230: + case 269: return true; } return false; @@ -8132,26 +8223,26 @@ var ts; return node; } function walkUpParenthesizedTypes(node) { - return walkUp(node, 172); + return walkUp(node, 173); } ts.walkUpParenthesizedTypes = walkUpParenthesizedTypes; function walkUpParenthesizedExpressions(node) { - return walkUp(node, 190); + return walkUp(node, 191); } ts.walkUpParenthesizedExpressions = walkUpParenthesizedExpressions; function skipParentheses(node) { - while (node.kind === 190) { + while (node.kind === 191) { node = node.expression; } return node; } ts.skipParentheses = skipParentheses; function isDeleteTarget(node) { - if (node.kind !== 184 && node.kind !== 185) { + if (node.kind !== 185 && node.kind !== 186) { return false; } node = walkUpParenthesizedExpressions(node.parent); - return node && node.kind === 193; + return node && node.kind === 194; } ts.isDeleteTarget = isDeleteTarget; function isNodeDescendantOf(node, ancestor) { @@ -8171,9 +8262,10 @@ var ts; switch (name.kind) { case 71: case 9: - case 8: - if (ts.isDeclaration(name.parent)) { - return name.parent.name === name; + case 8: { + var parent = name.parent; + if (ts.isDeclaration(parent)) { + return parent.name === name; } else if (ts.isQualifiedName(name.parent)) { var tag = name.parent.parent; @@ -8183,6 +8275,7 @@ var ts; var binExp = name.parent.parent; return ts.isBinaryExpression(binExp) && getSpecialPropertyAssignmentKind(binExp) !== 0 && ts.getNameOfDeclaration(binExp) === name; } + } default: return false; } @@ -8190,49 +8283,49 @@ var ts; ts.isAnyDeclarationName = isAnyDeclarationName; function isLiteralComputedPropertyDeclarationName(node) { return (node.kind === 9 || node.kind === 8) && - node.parent.kind === 146 && + node.parent.kind === 147 && ts.isDeclaration(node.parent.parent); } ts.isLiteralComputedPropertyDeclarationName = isLiteralComputedPropertyDeclarationName; function isIdentifierName(node) { var parent = node.parent; switch (parent.kind) { - case 151: - case 150: - case 153: case 152: - case 155: + case 151: + case 154: + case 153: case 156: - case 272: - case 269: - case 184: + case 157: + case 273: + case 270: + case 185: return parent.name === node; - case 145: + case 146: if (parent.right === node) { - while (parent.kind === 145) { + while (parent.kind === 146) { parent = parent.parent; } - return parent.kind === 164 || parent.kind === 161; + return parent.kind === 165 || parent.kind === 162; } return false; - case 181: - case 247: + case 182: + case 248: return parent.propertyName === node; - case 251: - case 261: + case 252: + case 262: return true; } return false; } ts.isIdentifierName = isIdentifierName; function isAliasSymbolDeclaration(node) { - return node.kind === 242 || - node.kind === 241 || - node.kind === 244 && !!node.name || - node.kind === 245 || - node.kind === 247 || - node.kind === 251 || - node.kind === 248 && exportAssignmentIsAlias(node) || + return node.kind === 243 || + node.kind === 242 || + node.kind === 245 && !!node.name || + node.kind === 246 || + node.kind === 248 || + node.kind === 252 || + node.kind === 249 && exportAssignmentIsAlias(node) || ts.isBinaryExpression(node) && getSpecialPropertyAssignmentKind(node) === 2; } ts.isAliasSymbolDeclaration = isAliasSymbolDeclaration; @@ -8292,11 +8385,11 @@ var ts; } ts.getAncestor = getAncestor; function isKeyword(token) { - return 72 <= token && token <= 144; + return 72 <= token && token <= 145; } ts.isKeyword = isKeyword; function isContextualKeyword(token) { - return 117 <= token && token <= 144; + return 117 <= token && token <= 145; } ts.isContextualKeyword = isContextualKeyword; function isNonContextualKeyword(token) { @@ -8318,13 +8411,13 @@ var ts; } var flags = 0; switch (node.kind) { - case 233: - case 191: - case 153: + case 234: + case 192: + case 154: if (node.asteriskToken) { flags |= 1; } - case 192: + case 193: if (hasModifier(node, 256)) { flags |= 2; } @@ -8338,10 +8431,10 @@ var ts; ts.getFunctionFlags = getFunctionFlags; function isAsyncFunction(node) { switch (node.kind) { - case 233: - case 191: + case 234: case 192: - case 153: + case 193: + case 154: return node.body !== undefined && node.asteriskToken === undefined && hasModifier(node, 256); @@ -8357,11 +8450,11 @@ var ts; ts.isStringOrNumericLiteral = isStringOrNumericLiteral; function hasDynamicName(declaration) { var name = ts.getNameOfDeclaration(declaration); - return name && isDynamicName(name); + return !!name && isDynamicName(name); } ts.hasDynamicName = hasDynamicName; function isDynamicName(name) { - return name.kind === 146 && + return name.kind === 147 && !isStringOrNumericLiteral(name.expression) && !isWellKnownSymbolSyntactically(name.expression); } @@ -8377,7 +8470,7 @@ var ts; if (name.kind === 9 || name.kind === 8) { return escapeLeadingUnderscores(name.text); } - if (name.kind === 146) { + if (name.kind === 147) { var nameExpression = name.expression; if (isWellKnownSymbolSyntactically(nameExpression)) { return getPropertyNameForKnownSymbolName(ts.idText(nameExpression.name)); @@ -8427,11 +8520,11 @@ var ts; ts.isPushOrUnshiftIdentifier = isPushOrUnshiftIdentifier; function isParameterDeclaration(node) { var root = getRootDeclaration(node); - return root.kind === 148; + return root.kind === 149; } ts.isParameterDeclaration = isParameterDeclaration; function getRootDeclaration(node) { - while (node.kind === 181) { + while (node.kind === 182) { node = node.parent.parent; } return node; @@ -8439,15 +8532,15 @@ var ts; ts.getRootDeclaration = getRootDeclaration; function nodeStartsNewLexicalEnvironment(node) { var kind = node.kind; - return kind === 154 - || kind === 191 - || kind === 233 + return kind === 155 || kind === 192 - || kind === 153 - || kind === 155 + || kind === 234 + || kind === 193 + || kind === 154 || kind === 156 - || kind === 238 - || kind === 273; + || kind === 157 + || kind === 239 + || kind === 274; } ts.nodeStartsNewLexicalEnvironment = nodeStartsNewLexicalEnvironment; function nodeIsSynthesized(range) { @@ -8461,23 +8554,23 @@ var ts; ts.getOriginalSourceFile = getOriginalSourceFile; function getExpressionAssociativity(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 187 && expression.arguments !== undefined; + var hasArguments = expression.kind === 188 && expression.arguments !== undefined; return getOperatorAssociativity(expression.kind, operator, hasArguments); } ts.getExpressionAssociativity = getExpressionAssociativity; function getOperatorAssociativity(kind, operator, hasArguments) { switch (kind) { - case 187: + case 188: return hasArguments ? 0 : 1; - case 197: - case 194: + case 198: case 195: - case 193: case 196: - case 200: - case 202: + case 194: + case 197: + case 201: + case 203: return 1; - case 199: + case 200: switch (operator) { case 40: case 58: @@ -8501,15 +8594,15 @@ var ts; ts.getOperatorAssociativity = getOperatorAssociativity; function getExpressionPrecedence(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 187 && expression.arguments !== undefined; + var hasArguments = expression.kind === 188 && expression.arguments !== undefined; return getOperatorPrecedence(expression.kind, operator, hasArguments); } ts.getExpressionPrecedence = getExpressionPrecedence; function getOperator(expression) { - if (expression.kind === 199) { + if (expression.kind === 200) { return expression.operatorToken.kind; } - else if (expression.kind === 197 || expression.kind === 198) { + else if (expression.kind === 198 || expression.kind === 199) { return expression.operator; } else { @@ -8519,15 +8612,15 @@ var ts; ts.getOperator = getOperator; function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) { switch (nodeKind) { - case 301: + case 302: return 0; - case 203: + case 204: return 1; - case 202: + case 203: return 2; - case 200: + case 201: return 4; - case 199: + case 200: switch (operatorKind) { case 26: return 0; @@ -8548,21 +8641,21 @@ var ts; default: return getBinaryOperatorPrecedence(operatorKind); } - case 197: - case 194: - case 195: - case 193: - case 196: - return 16; case 198: + case 195: + case 196: + case 194: + case 197: + return 16; + case 199: return 17; - case 186: - return 18; case 187: - return hasArguments ? 19 : 18; + return 18; case 188: - case 184: + return hasArguments ? 19 : 18; + case 189: case 185: + case 186: return 19; case 99: case 97: @@ -8572,19 +8665,19 @@ var ts; case 86: case 8: case 9: - case 182: case 183: - case 191: + case 184: case 192: - case 204: - case 254: + case 193: + case 205: case 255: - case 258: + case 256: + case 259: case 12: case 13: - case 201: - case 190: - case 205: + case 202: + case 191: + case 206: return 20; default: return -1; @@ -8784,7 +8877,7 @@ var ts; var lineStartsOfS = ts.computeLineStarts(s); if (lineStartsOfS.length > 1) { lineCount = lineCount + lineStartsOfS.length - 1; - linePos = output.length - s.length + ts.lastOrUndefined(lineStartsOfS); + linePos = output.length - s.length + ts.last(lineStartsOfS); } } } @@ -8943,7 +9036,7 @@ var ts; } ts.parameterIsThisKeyword = parameterIsThisKeyword; function isThisIdentifier(node) { - return node && node.kind === 71 && identifierIsThisKeyword(node); + return !!node && node.kind === 71 && identifierIsThisKeyword(node); } ts.isThisIdentifier = isThisIdentifier; function identifierIsThisKeyword(id) { @@ -8957,10 +9050,10 @@ var ts; var setAccessor; if (hasDynamicName(accessor)) { firstAccessor = accessor; - if (accessor.kind === 155) { + if (accessor.kind === 156) { getAccessor = accessor; } - else if (accessor.kind === 156) { + else if (accessor.kind === 157) { setAccessor = accessor; } else { @@ -8969,7 +9062,7 @@ var ts; } else { ts.forEach(declarations, function (member) { - if ((member.kind === 155 || member.kind === 156) + if ((member.kind === 156 || member.kind === 157) && hasModifier(member, 32) === hasModifier(accessor, 32)) { var memberName = getPropertyNameForPropertyNameNode(member.name); var accessorName = getPropertyNameForPropertyNameNode(accessor.name); @@ -8980,10 +9073,10 @@ var ts; else if (!secondAccessor) { secondAccessor = member; } - if (member.kind === 155 && !getAccessor) { + if (member.kind === 156 && !getAccessor) { getAccessor = member; } - if (member.kind === 156 && !setAccessor) { + if (member.kind === 157 && !setAccessor) { setAccessor = member; } } @@ -9018,24 +9111,19 @@ var ts; return ts.emptyArray; } if (isJSDocTypeAlias(node)) { - ts.Debug.assert(node.parent.kind === 285); - var templateTags = ts.flatMap(ts.filter(node.parent.tags, ts.isJSDocTemplateTag), function (tag) { return tag.typeParameters; }); - var templateTagNodes = templateTags; - templateTagNodes.pos = templateTagNodes.length > 0 ? ts.first(templateTagNodes).pos : node.pos; - templateTagNodes.end = templateTagNodes.length > 0 ? ts.last(templateTagNodes).end : node.end; - templateTagNodes.hasTrailingComma = false; - return templateTagNodes; + ts.Debug.assert(node.parent.kind === 286); + return ts.flatMap(node.parent.tags, function (tag) { return ts.isJSDocTemplateTag(tag) ? tag.typeParameters : undefined; }); } return node.typeParameters || (isInJavaScriptFile(node) ? getJSDocTypeParameterDeclarations(node) : ts.emptyArray); } ts.getEffectiveTypeParameterDeclarations = getEffectiveTypeParameterDeclarations; function getJSDocTypeParameterDeclarations(node) { - var tag = ts.find(ts.getJSDocTags(node), function (tag) { - return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 285 && tag.parent.tags.some(isJSDocTypeAlias)); - }); - return (tag && tag.typeParameters) || ts.emptyArray; + return ts.flatMap(ts.getJSDocTags(node), function (tag) { return isNonTypeAliasTemplate(tag) ? tag.typeParameters : undefined; }); } ts.getJSDocTypeParameterDeclarations = getJSDocTypeParameterDeclarations; + function isNonTypeAliasTemplate(tag) { + return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 286 && tag.parent.tags.some(isJSDocTypeAlias)); + } function getEffectiveSetAccessorTypeAnnotationNode(node) { var parameter = getSetAccessorValueParameter(node); return parameter && getEffectiveTypeAnnotationNode(parameter); @@ -9112,12 +9200,12 @@ var ts; lastComment = comment; } if (detachedComments.length) { - var lastCommentLine = getLineOfLocalPositionFromLineMap(lineMap, ts.lastOrUndefined(detachedComments).end); + var lastCommentLine = getLineOfLocalPositionFromLineMap(lineMap, ts.last(detachedComments).end); var nodeLine = getLineOfLocalPositionFromLineMap(lineMap, ts.skipTrivia(text, node.pos)); if (nodeLine >= lastCommentLine + 2) { emitNewLineBeforeLeadingComments(lineMap, writer, node, leadingComments); emitComments(text, lineMap, writer, detachedComments, false, true, newLine, writeComment); - currentDetachedCommentInfo = { nodePos: node.pos, detachedCommentEndPos: ts.lastOrUndefined(detachedComments).end }; + currentDetachedCommentInfo = { nodePos: node.pos, detachedCommentEndPos: ts.last(detachedComments).end }; } } } @@ -9260,7 +9348,7 @@ var ts; } ts.isAssignmentOperator = isAssignmentOperator; function tryGetClassExtendingExpressionWithTypeArguments(node) { - if (node.kind === 206 && + if (ts.isExpressionWithTypeArguments(node) && node.parent.token === 85 && ts.isClassLike(node.parent.parent)) { return node.parent.parent; @@ -9278,8 +9366,8 @@ var ts; function isDestructuringAssignment(node) { if (isAssignmentExpression(node, true)) { var kind = node.left.kind; - return kind === 183 - || kind === 182; + return kind === 184 + || kind === 183; } return false; } @@ -9289,7 +9377,7 @@ var ts; } ts.isExpressionWithTypeArgumentsInClassExtendsClause = isExpressionWithTypeArgumentsInClassExtendsClause; function isExpressionWithTypeArgumentsInClassImplementsClause(node) { - return node.kind === 206 + return node.kind === 207 && isEntityNameExpression(node.expression) && node.parent && node.parent.token === 108 @@ -9310,17 +9398,17 @@ var ts; } ts.isPrototypeAccess = isPrototypeAccess; function isRightSideOfQualifiedNameOrPropertyAccess(node) { - return (node.parent.kind === 145 && node.parent.right === node) || - (node.parent.kind === 184 && node.parent.name === node); + return (node.parent.kind === 146 && node.parent.right === node) || + (node.parent.kind === 185 && node.parent.name === node); } ts.isRightSideOfQualifiedNameOrPropertyAccess = isRightSideOfQualifiedNameOrPropertyAccess; function isEmptyObjectLiteral(expression) { - return expression.kind === 183 && + return expression.kind === 184 && expression.properties.length === 0; } ts.isEmptyObjectLiteral = isEmptyObjectLiteral; function isEmptyArrayLiteral(expression) { - return expression.kind === 182 && + return expression.kind === 183 && expression.elements.length === 0; } ts.isEmptyArrayLiteral = isEmptyArrayLiteral; @@ -9417,14 +9505,14 @@ var ts; return output; } function base64encode(host, input) { - if (host.base64encode) { + if (host && host.base64encode) { return host.base64encode(input); } return convertToBase64(input); } ts.base64encode = base64encode; function base64decode(host, input) { - if (host.base64decode) { + if (host && host.base64decode) { return host.base64decode(input); } var length = input.length; @@ -9600,8 +9688,8 @@ var ts; var parseNode = ts.getParseTreeNode(node); if (parseNode) { switch (parseNode.parent.kind) { - case 237: case 238: + case 239: return parseNode === parseNode.parent.name; } } @@ -9663,20 +9751,20 @@ var ts; if (!parent) return 0; switch (parent.kind) { + case 199: case 198: - case 197: var operator = parent.operator; return operator === 43 || operator === 44 ? writeOrReadWrite() : 0; - case 199: + case 200: var _a = parent, left = _a.left, operatorToken = _a.operatorToken; return left === node && isAssignmentOperator(operatorToken.kind) ? writeOrReadWrite() : 0; - case 184: + case 185: return parent.name !== node ? 0 : accessKind(parent); default: return 0; } function writeOrReadWrite() { - return parent.parent && parent.parent.kind === 215 ? 1 : 2; + return parent.parent && parent.parent.kind === 216 ? 1 : 2; } } function compareDataObjects(dst, src) { @@ -9753,7 +9841,7 @@ var ts; } ts.getClassLikeDeclarationOfSymbol = getClassLikeDeclarationOfSymbol; function getObjectFlags(type) { - return type.flags & 65536 ? type.objectFlags : 0; + return type.flags & 131072 ? type.objectFlags : 0; } ts.getObjectFlags = getObjectFlags; function typeHasCallOrConstructSignatures(type, checker) { @@ -9932,9 +10020,9 @@ var ts; } ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions; function getTypeParameterOwner(d) { - if (d && d.kind === 147) { + if (d && d.kind === 148) { for (var current = d; current; current = current.parent) { - if (ts.isFunctionLike(current) || ts.isClassLike(current) || current.kind === 235) { + if (ts.isFunctionLike(current) || ts.isClassLike(current) || current.kind === 236) { return current; } } @@ -9942,7 +10030,7 @@ var ts; } ts.getTypeParameterOwner = getTypeParameterOwner; function isParameterPropertyDeclaration(node) { - return ts.hasModifier(node, 92) && node.parent.kind === 154; + return ts.hasModifier(node, 92) && node.parent.kind === 155; } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; function isEmptyBindingPattern(node) { @@ -9960,7 +10048,7 @@ var ts; } ts.isEmptyBindingElement = isEmptyBindingElement; function walkUpBindingElementsAndPatterns(node) { - while (node && (node.kind === 181 || ts.isBindingPattern(node))) { + while (node && (node.kind === 182 || ts.isBindingPattern(node))) { node = node.parent; } return node; @@ -9968,14 +10056,14 @@ var ts; function getCombinedModifierFlags(node) { node = walkUpBindingElementsAndPatterns(node); var flags = ts.getModifierFlags(node); - if (node.kind === 231) { + if (node.kind === 232) { node = node.parent; } - if (node && node.kind === 232) { + if (node && node.kind === 233) { flags |= ts.getModifierFlags(node); node = node.parent; } - if (node && node.kind === 213) { + if (node && node.kind === 214) { flags |= ts.getModifierFlags(node); } return flags; @@ -9984,14 +10072,14 @@ var ts; function getCombinedNodeFlags(node) { node = walkUpBindingElementsAndPatterns(node); var flags = node.flags; - if (node.kind === 231) { + if (node.kind === 232) { node = node.parent; } - if (node && node.kind === 232) { + if (node && node.kind === 233) { flags |= node.flags; node = node.parent; } - if (node && node.kind === 213) { + if (node && node.kind === 214) { flags |= node.flags; } return flags; @@ -10035,7 +10123,7 @@ var ts; try { ts.localizedDiagnosticMessages = JSON.parse(fileContents); } - catch (e) { + catch (_a) { if (errors) { errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Corrupted_locale_file_0, filePath)); } @@ -10095,17 +10183,17 @@ var ts; return getDeclarationIdentifier(hostNode); } switch (hostNode.kind) { - case 213: + case 214: if (hostNode.declarationList && hostNode.declarationList.declarations[0]) { return getDeclarationIdentifier(hostNode.declarationList.declarations[0]); } return undefined; - case 215: + case 216: var expr = hostNode.expression; switch (expr.kind) { - case 184: - return expr.name; case 185: + return expr.name; + case 186: var arg = expr.argumentExpression; if (ts.isIdentifier(arg)) { return arg; @@ -10114,10 +10202,10 @@ var ts; return undefined; case 1: return undefined; - case 190: { + case 191: { return getDeclarationIdentifier(hostNode.expression); } - case 227: { + case 228: { if (ts.isDeclaration(hostNode.statement) || ts.isExpression(hostNode.statement)) { return getDeclarationIdentifier(hostNode.statement); } @@ -10144,23 +10232,23 @@ var ts; return undefined; } switch (declaration.kind) { - case 204: - case 191: + case 205: + case 192: if (!declaration.name) { return getAssignedName(declaration); } break; case 71: return declaration; - case 297: - case 292: { + case 298: + case 293: { var name = declaration.name; - if (name.kind === 145) { + if (name.kind === 146) { return name.right; } break; } - case 199: { + case 200: { var expr = declaration; switch (ts.getSpecialPropertyAssignmentKind(expr)) { case 1: @@ -10172,11 +10260,11 @@ var ts; return undefined; } } - case 291: + case 292: return declaration.name; - case 296: + case 297: return getNameOfJSDocTypedef(declaration); - case 248: { + case 249: { var expression = declaration.expression; return ts.isIdentifier(expression) ? expression : undefined; } @@ -10315,628 +10403,628 @@ var ts; } ts.isIdentifier = isIdentifier; function isQualifiedName(node) { - return node.kind === 145; + return node.kind === 146; } ts.isQualifiedName = isQualifiedName; function isComputedPropertyName(node) { - return node.kind === 146; + return node.kind === 147; } ts.isComputedPropertyName = isComputedPropertyName; function isTypeParameterDeclaration(node) { - return node.kind === 147; + return node.kind === 148; } ts.isTypeParameterDeclaration = isTypeParameterDeclaration; function isParameter(node) { - return node.kind === 148; + return node.kind === 149; } ts.isParameter = isParameter; function isDecorator(node) { - return node.kind === 149; + return node.kind === 150; } ts.isDecorator = isDecorator; function isPropertySignature(node) { - return node.kind === 150; + return node.kind === 151; } ts.isPropertySignature = isPropertySignature; function isPropertyDeclaration(node) { - return node.kind === 151; + return node.kind === 152; } ts.isPropertyDeclaration = isPropertyDeclaration; function isMethodSignature(node) { - return node.kind === 152; + return node.kind === 153; } ts.isMethodSignature = isMethodSignature; function isMethodDeclaration(node) { - return node.kind === 153; + return node.kind === 154; } ts.isMethodDeclaration = isMethodDeclaration; function isConstructorDeclaration(node) { - return node.kind === 154; + return node.kind === 155; } ts.isConstructorDeclaration = isConstructorDeclaration; function isGetAccessorDeclaration(node) { - return node.kind === 155; + return node.kind === 156; } ts.isGetAccessorDeclaration = isGetAccessorDeclaration; function isSetAccessorDeclaration(node) { - return node.kind === 156; + return node.kind === 157; } ts.isSetAccessorDeclaration = isSetAccessorDeclaration; function isCallSignatureDeclaration(node) { - return node.kind === 157; + return node.kind === 158; } ts.isCallSignatureDeclaration = isCallSignatureDeclaration; function isConstructSignatureDeclaration(node) { - return node.kind === 158; + return node.kind === 159; } ts.isConstructSignatureDeclaration = isConstructSignatureDeclaration; function isIndexSignatureDeclaration(node) { - return node.kind === 159; + return node.kind === 160; } ts.isIndexSignatureDeclaration = isIndexSignatureDeclaration; function isGetOrSetAccessorDeclaration(node) { - return node.kind === 156 || node.kind === 155; + return node.kind === 157 || node.kind === 156; } ts.isGetOrSetAccessorDeclaration = isGetOrSetAccessorDeclaration; function isTypePredicateNode(node) { - return node.kind === 160; + return node.kind === 161; } ts.isTypePredicateNode = isTypePredicateNode; function isTypeReferenceNode(node) { - return node.kind === 161; + return node.kind === 162; } ts.isTypeReferenceNode = isTypeReferenceNode; function isFunctionTypeNode(node) { - return node.kind === 162; + return node.kind === 163; } ts.isFunctionTypeNode = isFunctionTypeNode; function isConstructorTypeNode(node) { - return node.kind === 163; + return node.kind === 164; } ts.isConstructorTypeNode = isConstructorTypeNode; function isTypeQueryNode(node) { - return node.kind === 164; + return node.kind === 165; } ts.isTypeQueryNode = isTypeQueryNode; function isTypeLiteralNode(node) { - return node.kind === 165; + return node.kind === 166; } ts.isTypeLiteralNode = isTypeLiteralNode; function isArrayTypeNode(node) { - return node.kind === 166; + return node.kind === 167; } ts.isArrayTypeNode = isArrayTypeNode; function isTupleTypeNode(node) { - return node.kind === 167; + return node.kind === 168; } ts.isTupleTypeNode = isTupleTypeNode; function isUnionTypeNode(node) { - return node.kind === 168; + return node.kind === 169; } ts.isUnionTypeNode = isUnionTypeNode; function isIntersectionTypeNode(node) { - return node.kind === 169; + return node.kind === 170; } ts.isIntersectionTypeNode = isIntersectionTypeNode; function isConditionalTypeNode(node) { - return node.kind === 170; + return node.kind === 171; } ts.isConditionalTypeNode = isConditionalTypeNode; function isInferTypeNode(node) { - return node.kind === 171; + return node.kind === 172; } ts.isInferTypeNode = isInferTypeNode; function isParenthesizedTypeNode(node) { - return node.kind === 172; + return node.kind === 173; } ts.isParenthesizedTypeNode = isParenthesizedTypeNode; function isThisTypeNode(node) { - return node.kind === 173; + return node.kind === 174; } ts.isThisTypeNode = isThisTypeNode; function isTypeOperatorNode(node) { - return node.kind === 174; + return node.kind === 175; } ts.isTypeOperatorNode = isTypeOperatorNode; function isIndexedAccessTypeNode(node) { - return node.kind === 175; + return node.kind === 176; } ts.isIndexedAccessTypeNode = isIndexedAccessTypeNode; function isMappedTypeNode(node) { - return node.kind === 176; + return node.kind === 177; } ts.isMappedTypeNode = isMappedTypeNode; function isLiteralTypeNode(node) { - return node.kind === 177; + return node.kind === 178; } ts.isLiteralTypeNode = isLiteralTypeNode; function isImportTypeNode(node) { - return node.kind === 178; + return node.kind === 179; } ts.isImportTypeNode = isImportTypeNode; function isObjectBindingPattern(node) { - return node.kind === 179; + return node.kind === 180; } ts.isObjectBindingPattern = isObjectBindingPattern; function isArrayBindingPattern(node) { - return node.kind === 180; + return node.kind === 181; } ts.isArrayBindingPattern = isArrayBindingPattern; function isBindingElement(node) { - return node.kind === 181; + return node.kind === 182; } ts.isBindingElement = isBindingElement; function isArrayLiteralExpression(node) { - return node.kind === 182; + return node.kind === 183; } ts.isArrayLiteralExpression = isArrayLiteralExpression; function isObjectLiteralExpression(node) { - return node.kind === 183; + return node.kind === 184; } ts.isObjectLiteralExpression = isObjectLiteralExpression; function isPropertyAccessExpression(node) { - return node.kind === 184; + return node.kind === 185; } ts.isPropertyAccessExpression = isPropertyAccessExpression; function isElementAccessExpression(node) { - return node.kind === 185; + return node.kind === 186; } ts.isElementAccessExpression = isElementAccessExpression; function isCallExpression(node) { - return node.kind === 186; + return node.kind === 187; } ts.isCallExpression = isCallExpression; function isNewExpression(node) { - return node.kind === 187; + return node.kind === 188; } ts.isNewExpression = isNewExpression; function isTaggedTemplateExpression(node) { - return node.kind === 188; + return node.kind === 189; } ts.isTaggedTemplateExpression = isTaggedTemplateExpression; function isTypeAssertion(node) { - return node.kind === 189; + return node.kind === 190; } ts.isTypeAssertion = isTypeAssertion; function isParenthesizedExpression(node) { - return node.kind === 190; + return node.kind === 191; } ts.isParenthesizedExpression = isParenthesizedExpression; function skipPartiallyEmittedExpressions(node) { - while (node.kind === 300) { + while (node.kind === 301) { node = node.expression; } return node; } ts.skipPartiallyEmittedExpressions = skipPartiallyEmittedExpressions; function isFunctionExpression(node) { - return node.kind === 191; + return node.kind === 192; } ts.isFunctionExpression = isFunctionExpression; function isArrowFunction(node) { - return node.kind === 192; + return node.kind === 193; } ts.isArrowFunction = isArrowFunction; function isDeleteExpression(node) { - return node.kind === 193; + return node.kind === 194; } ts.isDeleteExpression = isDeleteExpression; function isTypeOfExpression(node) { - return node.kind === 194; + return node.kind === 195; } ts.isTypeOfExpression = isTypeOfExpression; function isVoidExpression(node) { - return node.kind === 195; + return node.kind === 196; } ts.isVoidExpression = isVoidExpression; function isAwaitExpression(node) { - return node.kind === 196; + return node.kind === 197; } ts.isAwaitExpression = isAwaitExpression; function isPrefixUnaryExpression(node) { - return node.kind === 197; + return node.kind === 198; } ts.isPrefixUnaryExpression = isPrefixUnaryExpression; function isPostfixUnaryExpression(node) { - return node.kind === 198; + return node.kind === 199; } ts.isPostfixUnaryExpression = isPostfixUnaryExpression; function isBinaryExpression(node) { - return node.kind === 199; + return node.kind === 200; } ts.isBinaryExpression = isBinaryExpression; function isConditionalExpression(node) { - return node.kind === 200; + return node.kind === 201; } ts.isConditionalExpression = isConditionalExpression; function isTemplateExpression(node) { - return node.kind === 201; + return node.kind === 202; } ts.isTemplateExpression = isTemplateExpression; function isYieldExpression(node) { - return node.kind === 202; + return node.kind === 203; } ts.isYieldExpression = isYieldExpression; function isSpreadElement(node) { - return node.kind === 203; + return node.kind === 204; } ts.isSpreadElement = isSpreadElement; function isClassExpression(node) { - return node.kind === 204; + return node.kind === 205; } ts.isClassExpression = isClassExpression; function isOmittedExpression(node) { - return node.kind === 205; + return node.kind === 206; } ts.isOmittedExpression = isOmittedExpression; function isExpressionWithTypeArguments(node) { - return node.kind === 206; + return node.kind === 207; } ts.isExpressionWithTypeArguments = isExpressionWithTypeArguments; function isAsExpression(node) { - return node.kind === 207; + return node.kind === 208; } ts.isAsExpression = isAsExpression; function isNonNullExpression(node) { - return node.kind === 208; + return node.kind === 209; } ts.isNonNullExpression = isNonNullExpression; function isMetaProperty(node) { - return node.kind === 209; + return node.kind === 210; } ts.isMetaProperty = isMetaProperty; function isTemplateSpan(node) { - return node.kind === 210; + return node.kind === 211; } ts.isTemplateSpan = isTemplateSpan; function isSemicolonClassElement(node) { - return node.kind === 211; + return node.kind === 212; } ts.isSemicolonClassElement = isSemicolonClassElement; function isBlock(node) { - return node.kind === 212; + return node.kind === 213; } ts.isBlock = isBlock; function isVariableStatement(node) { - return node.kind === 213; + return node.kind === 214; } ts.isVariableStatement = isVariableStatement; function isEmptyStatement(node) { - return node.kind === 214; + return node.kind === 215; } ts.isEmptyStatement = isEmptyStatement; function isExpressionStatement(node) { - return node.kind === 215; + return node.kind === 216; } ts.isExpressionStatement = isExpressionStatement; function isIfStatement(node) { - return node.kind === 216; + return node.kind === 217; } ts.isIfStatement = isIfStatement; function isDoStatement(node) { - return node.kind === 217; + return node.kind === 218; } ts.isDoStatement = isDoStatement; function isWhileStatement(node) { - return node.kind === 218; + return node.kind === 219; } ts.isWhileStatement = isWhileStatement; function isForStatement(node) { - return node.kind === 219; + return node.kind === 220; } ts.isForStatement = isForStatement; function isForInStatement(node) { - return node.kind === 220; + return node.kind === 221; } ts.isForInStatement = isForInStatement; function isForOfStatement(node) { - return node.kind === 221; + return node.kind === 222; } ts.isForOfStatement = isForOfStatement; function isContinueStatement(node) { - return node.kind === 222; + return node.kind === 223; } ts.isContinueStatement = isContinueStatement; function isBreakStatement(node) { - return node.kind === 223; + return node.kind === 224; } ts.isBreakStatement = isBreakStatement; function isBreakOrContinueStatement(node) { - return node.kind === 223 || node.kind === 222; + return node.kind === 224 || node.kind === 223; } ts.isBreakOrContinueStatement = isBreakOrContinueStatement; function isReturnStatement(node) { - return node.kind === 224; + return node.kind === 225; } ts.isReturnStatement = isReturnStatement; function isWithStatement(node) { - return node.kind === 225; + return node.kind === 226; } ts.isWithStatement = isWithStatement; function isSwitchStatement(node) { - return node.kind === 226; + return node.kind === 227; } ts.isSwitchStatement = isSwitchStatement; function isLabeledStatement(node) { - return node.kind === 227; + return node.kind === 228; } ts.isLabeledStatement = isLabeledStatement; function isThrowStatement(node) { - return node.kind === 228; + return node.kind === 229; } ts.isThrowStatement = isThrowStatement; function isTryStatement(node) { - return node.kind === 229; + return node.kind === 230; } ts.isTryStatement = isTryStatement; function isDebuggerStatement(node) { - return node.kind === 230; + return node.kind === 231; } ts.isDebuggerStatement = isDebuggerStatement; function isVariableDeclaration(node) { - return node.kind === 231; + return node.kind === 232; } ts.isVariableDeclaration = isVariableDeclaration; function isVariableDeclarationList(node) { - return node.kind === 232; + return node.kind === 233; } ts.isVariableDeclarationList = isVariableDeclarationList; function isFunctionDeclaration(node) { - return node.kind === 233; + return node.kind === 234; } ts.isFunctionDeclaration = isFunctionDeclaration; function isClassDeclaration(node) { - return node.kind === 234; + return node.kind === 235; } ts.isClassDeclaration = isClassDeclaration; function isInterfaceDeclaration(node) { - return node.kind === 235; + return node.kind === 236; } ts.isInterfaceDeclaration = isInterfaceDeclaration; function isTypeAliasDeclaration(node) { - return node.kind === 236; + return node.kind === 237; } ts.isTypeAliasDeclaration = isTypeAliasDeclaration; function isEnumDeclaration(node) { - return node.kind === 237; + return node.kind === 238; } ts.isEnumDeclaration = isEnumDeclaration; function isModuleDeclaration(node) { - return node.kind === 238; + return node.kind === 239; } ts.isModuleDeclaration = isModuleDeclaration; function isModuleBlock(node) { - return node.kind === 239; + return node.kind === 240; } ts.isModuleBlock = isModuleBlock; function isCaseBlock(node) { - return node.kind === 240; + return node.kind === 241; } ts.isCaseBlock = isCaseBlock; function isNamespaceExportDeclaration(node) { - return node.kind === 241; + return node.kind === 242; } ts.isNamespaceExportDeclaration = isNamespaceExportDeclaration; function isImportEqualsDeclaration(node) { - return node.kind === 242; + return node.kind === 243; } ts.isImportEqualsDeclaration = isImportEqualsDeclaration; function isImportDeclaration(node) { - return node.kind === 243; + return node.kind === 244; } ts.isImportDeclaration = isImportDeclaration; function isImportClause(node) { - return node.kind === 244; + return node.kind === 245; } ts.isImportClause = isImportClause; function isNamespaceImport(node) { - return node.kind === 245; + return node.kind === 246; } ts.isNamespaceImport = isNamespaceImport; function isNamedImports(node) { - return node.kind === 246; + return node.kind === 247; } ts.isNamedImports = isNamedImports; function isImportSpecifier(node) { - return node.kind === 247; + return node.kind === 248; } ts.isImportSpecifier = isImportSpecifier; function isExportAssignment(node) { - return node.kind === 248; + return node.kind === 249; } ts.isExportAssignment = isExportAssignment; function isExportDeclaration(node) { - return node.kind === 249; + return node.kind === 250; } ts.isExportDeclaration = isExportDeclaration; function isNamedExports(node) { - return node.kind === 250; + return node.kind === 251; } ts.isNamedExports = isNamedExports; function isExportSpecifier(node) { - return node.kind === 251; + return node.kind === 252; } ts.isExportSpecifier = isExportSpecifier; function isMissingDeclaration(node) { - return node.kind === 252; + return node.kind === 253; } ts.isMissingDeclaration = isMissingDeclaration; function isExternalModuleReference(node) { - return node.kind === 253; + return node.kind === 254; } ts.isExternalModuleReference = isExternalModuleReference; function isJsxElement(node) { - return node.kind === 254; + return node.kind === 255; } ts.isJsxElement = isJsxElement; function isJsxSelfClosingElement(node) { - return node.kind === 255; + return node.kind === 256; } ts.isJsxSelfClosingElement = isJsxSelfClosingElement; function isJsxOpeningElement(node) { - return node.kind === 256; + return node.kind === 257; } ts.isJsxOpeningElement = isJsxOpeningElement; function isJsxClosingElement(node) { - return node.kind === 257; + return node.kind === 258; } ts.isJsxClosingElement = isJsxClosingElement; function isJsxFragment(node) { - return node.kind === 258; + return node.kind === 259; } ts.isJsxFragment = isJsxFragment; function isJsxOpeningFragment(node) { - return node.kind === 259; + return node.kind === 260; } ts.isJsxOpeningFragment = isJsxOpeningFragment; function isJsxClosingFragment(node) { - return node.kind === 260; + return node.kind === 261; } ts.isJsxClosingFragment = isJsxClosingFragment; function isJsxAttribute(node) { - return node.kind === 261; + return node.kind === 262; } ts.isJsxAttribute = isJsxAttribute; function isJsxAttributes(node) { - return node.kind === 262; + return node.kind === 263; } ts.isJsxAttributes = isJsxAttributes; function isJsxSpreadAttribute(node) { - return node.kind === 263; + return node.kind === 264; } ts.isJsxSpreadAttribute = isJsxSpreadAttribute; function isJsxExpression(node) { - return node.kind === 264; + return node.kind === 265; } ts.isJsxExpression = isJsxExpression; function isCaseClause(node) { - return node.kind === 265; + return node.kind === 266; } ts.isCaseClause = isCaseClause; function isDefaultClause(node) { - return node.kind === 266; + return node.kind === 267; } ts.isDefaultClause = isDefaultClause; function isHeritageClause(node) { - return node.kind === 267; + return node.kind === 268; } ts.isHeritageClause = isHeritageClause; function isCatchClause(node) { - return node.kind === 268; + return node.kind === 269; } ts.isCatchClause = isCatchClause; function isPropertyAssignment(node) { - return node.kind === 269; + return node.kind === 270; } ts.isPropertyAssignment = isPropertyAssignment; function isShorthandPropertyAssignment(node) { - return node.kind === 270; + return node.kind === 271; } ts.isShorthandPropertyAssignment = isShorthandPropertyAssignment; function isSpreadAssignment(node) { - return node.kind === 271; + return node.kind === 272; } ts.isSpreadAssignment = isSpreadAssignment; function isEnumMember(node) { - return node.kind === 272; + return node.kind === 273; } ts.isEnumMember = isEnumMember; function isSourceFile(node) { - return node.kind === 273; + return node.kind === 274; } ts.isSourceFile = isSourceFile; function isBundle(node) { - return node.kind === 274; + return node.kind === 275; } ts.isBundle = isBundle; function isJSDocTypeExpression(node) { - return node.kind === 277; + return node.kind === 278; } ts.isJSDocTypeExpression = isJSDocTypeExpression; function isJSDocAllType(node) { - return node.kind === 278; + return node.kind === 279; } ts.isJSDocAllType = isJSDocAllType; function isJSDocUnknownType(node) { - return node.kind === 279; + return node.kind === 280; } ts.isJSDocUnknownType = isJSDocUnknownType; function isJSDocNullableType(node) { - return node.kind === 280; + return node.kind === 281; } ts.isJSDocNullableType = isJSDocNullableType; function isJSDocNonNullableType(node) { - return node.kind === 281; + return node.kind === 282; } ts.isJSDocNonNullableType = isJSDocNonNullableType; function isJSDocOptionalType(node) { - return node.kind === 282; + return node.kind === 283; } ts.isJSDocOptionalType = isJSDocOptionalType; function isJSDocFunctionType(node) { - return node.kind === 283; + return node.kind === 284; } ts.isJSDocFunctionType = isJSDocFunctionType; function isJSDocVariadicType(node) { - return node.kind === 284; + return node.kind === 285; } ts.isJSDocVariadicType = isJSDocVariadicType; function isJSDoc(node) { - return node.kind === 285; + return node.kind === 286; } ts.isJSDoc = isJSDoc; function isJSDocAugmentsTag(node) { - return node.kind === 289; + return node.kind === 290; } ts.isJSDocAugmentsTag = isJSDocAugmentsTag; function isJSDocClassTag(node) { - return node.kind === 290; + return node.kind === 291; } ts.isJSDocClassTag = isJSDocClassTag; function isJSDocParameterTag(node) { - return node.kind === 292; + return node.kind === 293; } ts.isJSDocParameterTag = isJSDocParameterTag; function isJSDocReturnTag(node) { - return node.kind === 293; + return node.kind === 294; } ts.isJSDocReturnTag = isJSDocReturnTag; function isJSDocTypeTag(node) { - return node.kind === 294; + return node.kind === 295; } ts.isJSDocTypeTag = isJSDocTypeTag; function isJSDocTemplateTag(node) { - return node.kind === 295; + return node.kind === 296; } ts.isJSDocTemplateTag = isJSDocTemplateTag; function isJSDocTypedefTag(node) { - return node.kind === 296; + return node.kind === 297; } ts.isJSDocTypedefTag = isJSDocTypedefTag; function isJSDocPropertyTag(node) { - return node.kind === 297; + return node.kind === 298; } ts.isJSDocPropertyTag = isJSDocPropertyTag; function isJSDocPropertyLikeTag(node) { - return node.kind === 297 || node.kind === 292; + return node.kind === 298 || node.kind === 293; } ts.isJSDocPropertyLikeTag = isJSDocPropertyLikeTag; function isJSDocTypeLiteral(node) { - return node.kind === 286; + return node.kind === 287; } ts.isJSDocTypeLiteral = isJSDocTypeLiteral; function isJSDocCallbackTag(node) { - return node.kind === 291; + return node.kind === 292; } ts.isJSDocCallbackTag = isJSDocCallbackTag; function isJSDocSignature(node) { - return node.kind === 287; + return node.kind === 288; } ts.isJSDocSignature = isJSDocSignature; })(ts || (ts = {})); (function (ts) { function isSyntaxList(n) { - return n.kind === 298; + return n.kind === 299; } ts.isSyntaxList = isSyntaxList; function isNode(node) { @@ -10944,11 +11032,11 @@ var ts; } ts.isNode = isNode; function isNodeKind(kind) { - return kind >= 145; + return kind >= 146; } ts.isNodeKind = isNodeKind; function isToken(n) { - return n.kind >= 0 && n.kind <= 144; + return n.kind >= 0 && n.kind <= 145; } ts.isToken = isToken; function isNodeArray(array) { @@ -10967,6 +11055,10 @@ var ts; return 13 <= kind && kind <= 16; } ts.isTemplateLiteralKind = isTemplateLiteralKind; + function isTemplateLiteralToken(node) { + return isTemplateLiteralKind(node.kind); + } + ts.isTemplateLiteralToken = isTemplateLiteralToken; function isTemplateMiddleOrTemplateTail(node) { var kind = node.kind; return kind === 15 @@ -11013,7 +11105,7 @@ var ts; ts.isModifier = isModifier; function isEntityName(node) { var kind = node.kind; - return kind === 145 + return kind === 146 || kind === 71; } ts.isEntityName = isEntityName; @@ -11022,14 +11114,14 @@ var ts; return kind === 71 || kind === 9 || kind === 8 - || kind === 146; + || kind === 147; } ts.isPropertyName = isPropertyName; function isBindingName(node) { var kind = node.kind; return kind === 71 - || kind === 179 - || kind === 180; + || kind === 180 + || kind === 181; } ts.isBindingName = isBindingName; function isFunctionLike(node) { @@ -11042,13 +11134,13 @@ var ts; ts.isFunctionLikeDeclaration = isFunctionLikeDeclaration; function isFunctionLikeDeclarationKind(kind) { switch (kind) { - case 233: - case 153: + case 234: case 154: case 155: case 156: - case 191: + case 157: case 192: + case 193: return true; default: return false; @@ -11056,14 +11148,14 @@ var ts; } function isFunctionLikeKind(kind) { switch (kind) { - case 152: - case 157: - case 287: + case 153: case 158: + case 288: case 159: - case 162: - case 283: + case 160: case 163: + case 284: + case 164: return true; default: return isFunctionLikeDeclarationKind(kind); @@ -11076,28 +11168,28 @@ var ts; ts.isFunctionOrModuleBlock = isFunctionOrModuleBlock; function isClassElement(node) { var kind = node.kind; - return kind === 154 - || kind === 151 - || kind === 153 - || kind === 155 + return kind === 155 + || kind === 152 + || kind === 154 || kind === 156 - || kind === 159 - || kind === 211; + || kind === 157 + || kind === 160 + || kind === 212; } ts.isClassElement = isClassElement; function isClassLike(node) { - return node && (node.kind === 234 || node.kind === 204); + return node && (node.kind === 235 || node.kind === 205); } ts.isClassLike = isClassLike; function isAccessor(node) { - return node && (node.kind === 155 || node.kind === 156); + return node && (node.kind === 156 || node.kind === 157); } ts.isAccessor = isAccessor; function isMethodOrAccessor(node) { switch (node.kind) { - case 153: - case 155: + case 154: case 156: + case 157: return true; default: return false; @@ -11106,11 +11198,11 @@ var ts; ts.isMethodOrAccessor = isMethodOrAccessor; function isTypeElement(node) { var kind = node.kind; - return kind === 158 - || kind === 157 - || kind === 150 - || kind === 152 - || kind === 159; + return kind === 159 + || kind === 158 + || kind === 151 + || kind === 153 + || kind === 160; } ts.isTypeElement = isTypeElement; function isClassOrTypeElement(node) { @@ -11119,17 +11211,18 @@ var ts; ts.isClassOrTypeElement = isClassOrTypeElement; function isObjectLiteralElementLike(node) { var kind = node.kind; - return kind === 269 - || kind === 270 + return kind === 270 || kind === 271 - || kind === 153 - || kind === 155 - || kind === 156; + || kind === 272 + || kind === 154 + || kind === 156 + || kind === 157; } ts.isObjectLiteralElementLike = isObjectLiteralElementLike; function isTypeNodeKind(kind) { - return (kind >= 160 && kind <= 178) + return (kind >= 161 && kind <= 179) || kind === 119 + || kind === 142 || kind === 134 || kind === 135 || kind === 122 @@ -11140,14 +11233,14 @@ var ts; || kind === 140 || kind === 95 || kind === 131 - || kind === 206 - || kind === 278 + || kind === 207 || kind === 279 || kind === 280 || kind === 281 || kind === 282 || kind === 283 - || kind === 284; + || kind === 284 + || kind === 285; } function isTypeNode(node) { return isTypeNodeKind(node.kind); @@ -11155,8 +11248,8 @@ var ts; ts.isTypeNode = isTypeNode; function isFunctionOrConstructorTypeNode(node) { switch (node.kind) { - case 162: case 163: + case 164: return true; } return false; @@ -11165,29 +11258,29 @@ var ts; function isBindingPattern(node) { if (node) { var kind = node.kind; - return kind === 180 - || kind === 179; + return kind === 181 + || kind === 180; } return false; } ts.isBindingPattern = isBindingPattern; function isAssignmentPattern(node) { var kind = node.kind; - return kind === 182 - || kind === 183; + return kind === 183 + || kind === 184; } ts.isAssignmentPattern = isAssignmentPattern; function isArrayBindingElement(node) { var kind = node.kind; - return kind === 181 - || kind === 205; + return kind === 182 + || kind === 206; } ts.isArrayBindingElement = isArrayBindingElement; function isDeclarationBindingElement(bindingElement) { switch (bindingElement.kind) { - case 231: - case 148: - case 181: + case 232: + case 149: + case 182: return true; } return false; @@ -11200,8 +11293,8 @@ var ts; ts.isBindingOrAssignmentPattern = isBindingOrAssignmentPattern; function isObjectBindingOrAssignmentPattern(node) { switch (node.kind) { - case 179: - case 183: + case 180: + case 184: return true; } return false; @@ -11209,8 +11302,8 @@ var ts; ts.isObjectBindingOrAssignmentPattern = isObjectBindingOrAssignmentPattern; function isArrayBindingOrAssignmentPattern(node) { switch (node.kind) { - case 180: - case 182: + case 181: + case 183: return true; } return false; @@ -11218,25 +11311,25 @@ var ts; ts.isArrayBindingOrAssignmentPattern = isArrayBindingOrAssignmentPattern; function isPropertyAccessOrQualifiedNameOrImportTypeNode(node) { var kind = node.kind; - return kind === 184 - || kind === 145 - || kind === 178; + return kind === 185 + || kind === 146 + || kind === 179; } ts.isPropertyAccessOrQualifiedNameOrImportTypeNode = isPropertyAccessOrQualifiedNameOrImportTypeNode; function isPropertyAccessOrQualifiedName(node) { var kind = node.kind; - return kind === 184 - || kind === 145; + return kind === 185 + || kind === 146; } ts.isPropertyAccessOrQualifiedName = isPropertyAccessOrQualifiedName; function isCallLikeExpression(node) { switch (node.kind) { + case 257: case 256: - case 255: - case 186: case 187: case 188: - case 149: + case 189: + case 150: return true; default: return false; @@ -11244,12 +11337,12 @@ var ts; } ts.isCallLikeExpression = isCallLikeExpression; function isCallOrNewExpression(node) { - return node.kind === 186 || node.kind === 187; + return node.kind === 187 || node.kind === 188; } ts.isCallOrNewExpression = isCallOrNewExpression; function isTemplateLiteral(node) { var kind = node.kind; - return kind === 201 + return kind === 202 || kind === 13; } ts.isTemplateLiteral = isTemplateLiteral; @@ -11259,32 +11352,32 @@ var ts; ts.isLeftHandSideExpression = isLeftHandSideExpression; function isLeftHandSideExpressionKind(kind) { switch (kind) { - case 184: case 185: - case 187: case 186: - case 254: - case 255: - case 258: case 188: - case 182: - case 190: + case 187: + case 255: + case 256: + case 259: + case 189: case 183: - case 204: case 191: + case 184: + case 205: + case 192: case 71: case 12: case 8: case 9: case 13: - case 201: + case 202: case 86: case 95: case 99: case 101: case 97: - case 208: case 209: + case 210: case 91: return true; default: @@ -11297,13 +11390,13 @@ var ts; ts.isUnaryExpression = isUnaryExpression; function isUnaryExpressionKind(kind) { switch (kind) { - case 197: case 198: - case 193: + case 199: case 194: case 195: case 196: - case 189: + case 197: + case 190: return true; default: return isLeftHandSideExpressionKind(kind); @@ -11311,9 +11404,9 @@ var ts; } function isUnaryExpressionWithWrite(expr) { switch (expr.kind) { - case 198: + case 199: return true; - case 197: + case 198: return expr.operator === 43 || expr.operator === 44; default: @@ -11327,15 +11420,15 @@ var ts; ts.isExpression = isExpression; function isExpressionKind(kind) { switch (kind) { - case 200: - case 202: - case 192: - case 199: + case 201: case 203: - case 207: - case 205: + case 193: + case 200: + case 204: + case 208: + case 206: + case 302: case 301: - case 300: return true; default: return isUnaryExpressionKind(kind); @@ -11343,16 +11436,16 @@ var ts; } function isAssertionExpression(node) { var kind = node.kind; - return kind === 189 - || kind === 207; + return kind === 190 + || kind === 208; } ts.isAssertionExpression = isAssertionExpression; function isPartiallyEmittedExpression(node) { - return node.kind === 300; + return node.kind === 301; } ts.isPartiallyEmittedExpression = isPartiallyEmittedExpression; function isNotEmittedStatement(node) { - return node.kind === 299; + return node.kind === 300; } ts.isNotEmittedStatement = isNotEmittedStatement; function isNotEmittedOrPartiallyEmittedNode(node) { @@ -11362,20 +11455,20 @@ var ts; ts.isNotEmittedOrPartiallyEmittedNode = isNotEmittedOrPartiallyEmittedNode; function isIterationStatement(node, lookInLabeledStatements) { switch (node.kind) { - case 219: case 220: case 221: - case 217: + case 222: case 218: + case 219: return true; - case 227: + case 228: return lookInLabeledStatements && isIterationStatement(node.statement, lookInLabeledStatements); } return false; } ts.isIterationStatement = isIterationStatement; function isForInOrOfStatement(node) { - return node.kind === 220 || node.kind === 221; + return node.kind === 221 || node.kind === 222; } ts.isForInOrOfStatement = isForInOrOfStatement; function isConciseBody(node) { @@ -11394,108 +11487,108 @@ var ts; ts.isForInitializer = isForInitializer; function isModuleBody(node) { var kind = node.kind; - return kind === 239 - || kind === 238 + return kind === 240 + || kind === 239 || kind === 71; } ts.isModuleBody = isModuleBody; function isNamespaceBody(node) { var kind = node.kind; - return kind === 239 - || kind === 238; + return kind === 240 + || kind === 239; } ts.isNamespaceBody = isNamespaceBody; function isJSDocNamespaceBody(node) { var kind = node.kind; return kind === 71 - || kind === 238; + || kind === 239; } ts.isJSDocNamespaceBody = isJSDocNamespaceBody; function isNamedImportBindings(node) { var kind = node.kind; - return kind === 246 - || kind === 245; + return kind === 247 + || kind === 246; } ts.isNamedImportBindings = isNamedImportBindings; function isModuleOrEnumDeclaration(node) { - return node.kind === 238 || node.kind === 237; + return node.kind === 239 || node.kind === 238; } ts.isModuleOrEnumDeclaration = isModuleOrEnumDeclaration; function isDeclarationKind(kind) { - return kind === 192 - || kind === 181 - || kind === 234 - || kind === 204 - || kind === 154 - || kind === 237 - || kind === 272 - || kind === 251 - || kind === 233 - || kind === 191 - || kind === 155 - || kind === 244 - || kind === 242 - || kind === 247 + return kind === 193 + || kind === 182 || kind === 235 - || kind === 261 - || kind === 153 - || kind === 152 + || kind === 205 + || kind === 155 || kind === 238 - || kind === 241 - || kind === 245 - || kind === 148 - || kind === 269 - || kind === 151 - || kind === 150 - || kind === 156 - || kind === 270 - || kind === 236 - || kind === 147 - || kind === 231 - || kind === 296 - || kind === 291 - || kind === 297; - } - function isDeclarationStatementKind(kind) { - return kind === 233 + || kind === 273 || kind === 252 || kind === 234 + || kind === 192 + || kind === 156 + || kind === 245 + || kind === 243 + || kind === 248 + || kind === 236 + || kind === 262 + || kind === 154 + || kind === 153 + || kind === 239 + || kind === 242 + || kind === 246 + || kind === 149 + || kind === 270 + || kind === 152 + || kind === 151 + || kind === 157 + || kind === 271 + || kind === 237 + || kind === 148 + || kind === 232 + || kind === 297 + || kind === 292 + || kind === 298; + } + function isDeclarationStatementKind(kind) { + return kind === 234 + || kind === 253 || kind === 235 || kind === 236 || kind === 237 || kind === 238 + || kind === 239 + || kind === 244 || kind === 243 - || kind === 242 + || kind === 250 || kind === 249 - || kind === 248 - || kind === 241; + || kind === 242; } function isStatementKindButNotDeclarationKind(kind) { - return kind === 223 - || kind === 222 - || kind === 230 - || kind === 217 - || kind === 215 - || kind === 214 - || kind === 220 - || kind === 221 - || kind === 219 - || kind === 216 - || kind === 227 - || kind === 224 - || kind === 226 - || kind === 228 - || kind === 229 - || kind === 213 + return kind === 224 + || kind === 223 + || kind === 231 || kind === 218 + || kind === 216 + || kind === 215 + || kind === 221 + || kind === 222 + || kind === 220 + || kind === 217 + || kind === 228 || kind === 225 - || kind === 299 - || kind === 303 - || kind === 302; + || kind === 227 + || kind === 229 + || kind === 230 + || kind === 214 + || kind === 219 + || kind === 226 + || kind === 300 + || kind === 304 + || kind === 303; } function isDeclaration(node) { - if (node.kind === 147) { - return node.parent.kind !== 295 || ts.isInJavaScriptFile(node); + if (node.kind === 148) { + return node.parent.kind !== 296 || ts.isInJavaScriptFile(node); } return isDeclarationKind(node.kind); } @@ -11516,10 +11609,10 @@ var ts; } ts.isStatement = isStatement; function isBlockStatement(node) { - if (node.kind !== 212) + if (node.kind !== 213) return false; if (node.parent !== undefined) { - if (node.parent.kind === 229 || node.parent.kind === 268) { + if (node.parent.kind === 230 || node.parent.kind === 269) { return false; } } @@ -11527,8 +11620,8 @@ var ts; } function isModuleReference(node) { var kind = node.kind; - return kind === 253 - || kind === 145 + return kind === 254 + || kind === 146 || kind === 71; } ts.isModuleReference = isModuleReference; @@ -11536,64 +11629,65 @@ var ts; var kind = node.kind; return kind === 99 || kind === 71 - || kind === 184; + || kind === 185; } ts.isJsxTagNameExpression = isJsxTagNameExpression; function isJsxChild(node) { var kind = node.kind; - return kind === 254 - || kind === 264 - || kind === 255 + return kind === 255 + || kind === 265 + || kind === 256 || kind === 10 - || kind === 258; + || kind === 259; } ts.isJsxChild = isJsxChild; function isJsxAttributeLike(node) { var kind = node.kind; - return kind === 261 - || kind === 263; + return kind === 262 + || kind === 264; } ts.isJsxAttributeLike = isJsxAttributeLike; function isStringLiteralOrJsxExpression(node) { var kind = node.kind; return kind === 9 - || kind === 264; + || kind === 265; } ts.isStringLiteralOrJsxExpression = isStringLiteralOrJsxExpression; function isJsxOpeningLikeElement(node) { var kind = node.kind; - return kind === 256 - || kind === 255; + return kind === 257 + || kind === 256; } ts.isJsxOpeningLikeElement = isJsxOpeningLikeElement; function isCaseOrDefaultClause(node) { var kind = node.kind; - return kind === 265 - || kind === 266; + return kind === 266 + || kind === 267; } ts.isCaseOrDefaultClause = isCaseOrDefaultClause; function isJSDocNode(node) { - return node.kind >= 277 && node.kind <= 297; + return node.kind >= 278 && node.kind <= 298; } ts.isJSDocNode = isJSDocNode; function isJSDocCommentContainingNode(node) { - return node.kind === 285 || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) || ts.isJSDocSignature(node); + return node.kind === 286 || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) || ts.isJSDocSignature(node); } ts.isJSDocCommentContainingNode = isJSDocCommentContainingNode; function isJSDocTag(node) { - return node.kind >= 288 && node.kind <= 297; + return node.kind >= 289 && node.kind <= 298; } ts.isJSDocTag = isJSDocTag; function isSetAccessor(node) { - return node.kind === 156; + return node.kind === 157; } ts.isSetAccessor = isSetAccessor; function isGetAccessor(node) { - return node.kind === 155; + return node.kind === 156; } ts.isGetAccessor = isGetAccessor; function hasJSDocNodes(node) { - return !!node.jsDoc && node.jsDoc.length > 0; + var jsDoc = node.jsDoc; + return !!jsDoc && jsDoc.length > 0; } ts.hasJSDocNodes = hasJSDocNodes; function hasType(node) { @@ -11602,8 +11696,7 @@ var ts; ts.hasType = hasType; function couldHaveType(node) { switch (node.kind) { - case 148: - case 150: + case 149: case 151: case 152: case 153: @@ -11614,24 +11707,25 @@ var ts; case 158: case 159: case 160: - case 162: + case 161: case 163: - case 172: - case 174: - case 176: - case 189: - case 191: + case 164: + case 173: + case 175: + case 177: + case 190: case 192: - case 207: - case 231: - case 233: - case 236: - case 277: - case 280: + case 193: + case 208: + case 232: + case 234: + case 237: + case 278: case 281: case 282: case 283: case 284: + case 285: return true; } return false; @@ -11647,13 +11741,13 @@ var ts; ts.hasOnlyExpressionInitializer = hasOnlyExpressionInitializer; function isObjectLiteralElement(node) { switch (node.kind) { - case 261: - case 263: - case 269: + case 262: + case 264: case 270: - case 153: - case 155: + case 271: + case 154: case 156: + case 157: return true; default: return false; @@ -11661,7 +11755,7 @@ var ts; } ts.isObjectLiteralElement = isObjectLiteralElement; function isTypeReferenceType(node) { - return node.kind === 161 || node.kind === 206; + return node.kind === 162 || node.kind === 207; } ts.isTypeReferenceType = isTypeReferenceType; var MAX_SMI_X86 = 1073741823; @@ -11693,7 +11787,7 @@ var ts; } ts.isStringLiteralLike = isStringLiteralLike; function isNamedImportsOrExports(node) { - return node.kind === 246 || node.kind === 250; + return node.kind === 247 || node.kind === 251; } ts.isNamedImportsOrExports = isNamedImportsOrExports; })(ts || (ts = {})); @@ -11704,7 +11798,7 @@ var ts; var IdentifierConstructor; var SourceFileConstructor; function createNode(kind, pos, end) { - if (kind === 273) { + if (kind === 274) { return new (SourceFileConstructor || (SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor()))(kind, pos, end); } else if (kind === 71) { @@ -11742,28 +11836,28 @@ var ts; } ts.isJSDocLikeText = isJSDocLikeText; function forEachChild(node, cbNode, cbNodes) { - if (!node || node.kind <= 144) { + if (!node || node.kind <= 145) { return; } switch (node.kind) { - case 145: + case 146: return visitNode(cbNode, node.left) || visitNode(cbNode, node.right); - case 147: + case 148: return visitNode(cbNode, node.name) || visitNode(cbNode, node.constraint) || visitNode(cbNode, node.default) || visitNode(cbNode, node.expression); - case 270: + case 271: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.equalsToken) || visitNode(cbNode, node.objectAssignmentInitializer); - case 271: + case 272: return visitNode(cbNode, node.expression); - case 148: + case 149: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || @@ -11771,59 +11865,59 @@ var ts; visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); + case 152: + return visitNodes(cbNode, cbNodes, node.decorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.exclamationToken) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.initializer); case 151: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 150: - return visitNodes(cbNode, cbNodes, node.decorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.initializer); - case 269: + case 270: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.initializer); - case 231: + case 232: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 181: + case 182: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 162: case 163: - case 157: + case 164: case 158: case 159: + case 160: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 153: - case 152: case 154: + case 153: case 155: case 156: - case 191: - case 233: + case 157: case 192: + case 234: + case 193: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.asteriskToken) || @@ -11834,187 +11928,180 @@ var ts; visitNode(cbNode, node.type) || visitNode(cbNode, node.equalsGreaterThanToken) || visitNode(cbNode, node.body); - case 161: + case 162: return visitNode(cbNode, node.typeName) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 160: + case 161: return visitNode(cbNode, node.parameterName) || visitNode(cbNode, node.type); - case 164: - return visitNode(cbNode, node.exprName); case 165: - return visitNodes(cbNode, cbNodes, node.members); + return visitNode(cbNode, node.exprName); case 166: - return visitNode(cbNode, node.elementType); + return visitNodes(cbNode, cbNodes, node.members); case 167: - return visitNodes(cbNode, cbNodes, node.elementTypes); + return visitNode(cbNode, node.elementType); case 168: + return visitNodes(cbNode, cbNodes, node.elementTypes); case 169: - return visitNodes(cbNode, cbNodes, node.types); case 170: + return visitNodes(cbNode, cbNodes, node.types); + case 171: return visitNode(cbNode, node.checkType) || visitNode(cbNode, node.extendsType) || visitNode(cbNode, node.trueType) || visitNode(cbNode, node.falseType); - case 171: + case 172: return visitNode(cbNode, node.typeParameter); - case 178: + case 179: return visitNode(cbNode, node.argument) || visitNode(cbNode, node.qualifier) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 172: - case 174: - return visitNode(cbNode, node.type); + case 173: case 175: + return visitNode(cbNode, node.type); + case 176: return visitNode(cbNode, node.objectType) || visitNode(cbNode, node.indexType); - case 176: + case 177: return visitNode(cbNode, node.readonlyToken) || visitNode(cbNode, node.typeParameter) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type); - case 177: + case 178: return visitNode(cbNode, node.literal); - case 179: case 180: - return visitNodes(cbNode, cbNodes, node.elements); - case 182: + case 181: return visitNodes(cbNode, cbNodes, node.elements); case 183: - return visitNodes(cbNode, cbNodes, node.properties); + return visitNodes(cbNode, cbNodes, node.elements); case 184: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.name); + return visitNodes(cbNode, cbNodes, node.properties); case 185: return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.argumentExpression); + visitNode(cbNode, node.name); case 186: + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.argumentExpression); case 187: + case 188: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNodes(cbNode, cbNodes, node.arguments); - case 188: + case 189: return visitNode(cbNode, node.tag) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.template); - case 189: + case 190: return visitNode(cbNode, node.type) || visitNode(cbNode, node.expression); - case 190: - return visitNode(cbNode, node.expression); - case 193: + case 191: return visitNode(cbNode, node.expression); case 194: return visitNode(cbNode, node.expression); case 195: return visitNode(cbNode, node.expression); - case 197: - return visitNode(cbNode, node.operand); - case 202: - return visitNode(cbNode, node.asteriskToken) || - visitNode(cbNode, node.expression); case 196: return visitNode(cbNode, node.expression); case 198: return visitNode(cbNode, node.operand); + case 203: + return visitNode(cbNode, node.asteriskToken) || + visitNode(cbNode, node.expression); + case 197: + return visitNode(cbNode, node.expression); case 199: + return visitNode(cbNode, node.operand); + case 200: return visitNode(cbNode, node.left) || visitNode(cbNode, node.operatorToken) || visitNode(cbNode, node.right); - case 207: + case 208: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.type); - case 208: - return visitNode(cbNode, node.expression); case 209: + return visitNode(cbNode, node.expression); + case 210: return visitNode(cbNode, node.name); - case 200: + case 201: return visitNode(cbNode, node.condition) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.whenTrue) || visitNode(cbNode, node.colonToken) || visitNode(cbNode, node.whenFalse); - case 203: + case 204: return visitNode(cbNode, node.expression); - case 212: - case 239: + case 213: + case 240: return visitNodes(cbNode, cbNodes, node.statements); - case 273: + case 274: return visitNodes(cbNode, cbNodes, node.statements) || visitNode(cbNode, node.endOfFileToken); - case 213: + case 214: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.declarationList); - case 232: + case 233: return visitNodes(cbNode, cbNodes, node.declarations); - case 215: - return visitNode(cbNode, node.expression); case 216: + return visitNode(cbNode, node.expression); + case 217: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.thenStatement) || visitNode(cbNode, node.elseStatement); - case 217: + case 218: return visitNode(cbNode, node.statement) || visitNode(cbNode, node.expression); - case 218: + case 219: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 219: + case 220: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.condition) || visitNode(cbNode, node.incrementor) || visitNode(cbNode, node.statement); - case 220: + case 221: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 221: + case 222: return visitNode(cbNode, node.awaitModifier) || visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 222: case 223: - return visitNode(cbNode, node.label); case 224: - return visitNode(cbNode, node.expression); + return visitNode(cbNode, node.label); case 225: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.statement); + return visitNode(cbNode, node.expression); case 226: + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.statement); + case 227: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.caseBlock); - case 240: + case 241: return visitNodes(cbNode, cbNodes, node.clauses); - case 265: + case 266: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.statements); - case 266: + case 267: return visitNodes(cbNode, cbNodes, node.statements); - case 227: + case 228: return visitNode(cbNode, node.label) || visitNode(cbNode, node.statement); - case 228: - return visitNode(cbNode, node.expression); case 229: + return visitNode(cbNode, node.expression); + case 230: return visitNode(cbNode, node.tryBlock) || visitNode(cbNode, node.catchClause) || visitNode(cbNode, node.finallyBlock); - case 268: + case 269: return visitNode(cbNode, node.variableDeclaration) || visitNode(cbNode, node.block); - case 149: + case 150: return visitNode(cbNode, node.expression); - case 234: - case 204: - return visitNodes(cbNode, cbNodes, node.decorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.heritageClauses) || - visitNodes(cbNode, cbNodes, node.members); case 235: + case 205: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || @@ -12026,112 +12113,119 @@ var ts; visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNode(cbNode, node.type); + visitNodes(cbNode, cbNodes, node.heritageClauses) || + visitNodes(cbNode, cbNodes, node.members); case 237: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.members); - case 272: - return visitNode(cbNode, node.name) || - visitNode(cbNode, node.initializer); + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNode(cbNode, node.type); case 238: + return visitNodes(cbNode, cbNodes, node.decorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.members); + case 273: + return visitNode(cbNode, node.name) || + visitNode(cbNode, node.initializer); + case 239: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.body); - case 242: + case 243: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.moduleReference); - case 243: + case 244: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.importClause) || visitNode(cbNode, node.moduleSpecifier); - case 244: + case 245: return visitNode(cbNode, node.name) || visitNode(cbNode, node.namedBindings); - case 241: - return visitNode(cbNode, node.name); - case 245: + case 242: return visitNode(cbNode, node.name); case 246: - case 250: + return visitNode(cbNode, node.name); + case 247: + case 251: return visitNodes(cbNode, cbNodes, node.elements); - case 249: + case 250: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.exportClause) || visitNode(cbNode, node.moduleSpecifier); - case 247: - case 251: + case 248: + case 252: return visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name); - case 248: + case 249: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.expression); - case 201: + case 202: return visitNode(cbNode, node.head) || visitNodes(cbNode, cbNodes, node.templateSpans); - case 210: + case 211: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.literal); - case 146: + case 147: return visitNode(cbNode, node.expression); - case 267: + case 268: return visitNodes(cbNode, cbNodes, node.types); - case 206: + case 207: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 253: - return visitNode(cbNode, node.expression); - case 252: - return visitNodes(cbNode, cbNodes, node.decorators); - case 301: - return visitNodes(cbNode, cbNodes, node.elements); case 254: + return visitNode(cbNode, node.expression); + case 253: + return visitNodes(cbNode, cbNodes, node.decorators); + case 302: + return visitNodes(cbNode, cbNodes, node.elements); + case 255: return visitNode(cbNode, node.openingElement) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingElement); - case 258: + case 259: return visitNode(cbNode, node.openingFragment) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingFragment); - case 255: case 256: + case 257: return visitNode(cbNode, node.tagName) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.attributes); - case 262: + case 263: return visitNodes(cbNode, cbNodes, node.properties); - case 261: + case 262: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 263: - return visitNode(cbNode, node.expression); case 264: + return visitNode(cbNode, node.expression); + case 265: return visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.expression); - case 257: + case 258: return visitNode(cbNode, node.tagName); - case 277: - return visitNode(cbNode, node.type); - case 281: - return visitNode(cbNode, node.type); - case 280: + case 278: return visitNode(cbNode, node.type); case 282: return visitNode(cbNode, node.type); + case 281: + return visitNode(cbNode, node.type); case 283: + return visitNode(cbNode, node.type); + case 284: return visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 284: - return visitNode(cbNode, node.type); case 285: + return visitNode(cbNode, node.type); + case 286: return visitNodes(cbNode, cbNodes, node.tags); - case 292: - case 297: + case 293: + case 298: if (node.isNameFirst) { return visitNode(cbNode, node.name) || visitNode(cbNode, node.typeExpression); @@ -12140,17 +12234,17 @@ var ts; return visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.name); } - case 293: - return visitNode(cbNode, node.typeExpression); case 294: return visitNode(cbNode, node.typeExpression); - case 289: - return visitNode(cbNode, node.class); case 295: - return visitNodes(cbNode, cbNodes, node.typeParameters); + return visitNode(cbNode, node.typeExpression); + case 290: + return visitNode(cbNode, node.class); case 296: + return visitNodes(cbNode, cbNodes, node.typeParameters); + case 297: if (node.typeExpression && - node.typeExpression.kind === 277) { + node.typeExpression.kind === 278) { return visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.fullName); } @@ -12158,16 +12252,16 @@ var ts; return visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression); } - case 291: + case 292: return visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression); - case 287: + case 288: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 286: + case 287: if (node.jsDocPropertyTags) { for (var _i = 0, _a = node.jsDocPropertyTags; _i < _a.length; _i++) { var tag = _a[_i]; @@ -12175,7 +12269,7 @@ var ts; } } return; - case 300: + case 301: return visitNode(cbNode, node.expression); } } @@ -12208,6 +12302,7 @@ var ts; } ts.isExternalModule = isExternalModule; function updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks) { + if (aggressiveChecks === void 0) { aggressiveChecks = false; } var newSourceFile = IncrementalParser.updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks); newSourceFile.flags |= (sourceFile.flags & 1572864); return newSourceFile; @@ -12245,6 +12340,7 @@ var ts; var contextFlags; var parseErrorBeforeNextFinishedNode = false; function parseSourceFile(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes, scriptKind) { + if (setParentNodes === void 0) { setParentNodes = false; } scriptKind = ts.ensureScriptKind(fileName, scriptKind); if (scriptKind === 6) { var result_1 = parseJsonText(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes); @@ -12272,6 +12368,7 @@ var ts; if (languageVersion === void 0) { languageVersion = 2; } initializeState(sourceText, languageVersion, syntaxCursor, 6); sourceFile = createSourceFile(fileName, 2, 6, false); + sourceFile.flags = contextFlags; nextToken(); var pos = getNodePos(); if (token() === 1) { @@ -12279,7 +12376,7 @@ var ts; sourceFile.endOfFileToken = parseTokenNode(); } else { - var statement = createNode(215); + var statement = createNode(216); switch (token()) { case 21: statement.expression = parseArrayLiteralExpression(); @@ -12422,10 +12519,11 @@ var ts; } Parser.fixupParentReferences = fixupParentReferences; function createSourceFile(fileName, languageVersion, scriptKind, isDeclarationFile) { - var sourceFile = new SourceFileConstructor(273, 0, sourceText.length); + var sourceFile = new SourceFileConstructor(274, 0, sourceText.length); nodeCount++; sourceFile.text = sourceText; sourceFile.bindDiagnostics = []; + sourceFile.bindSuggestionDiagnostics = undefined; sourceFile.languageVersion = languageVersion; sourceFile.fileName = ts.normalizePath(fileName); sourceFile.languageVariant = getLanguageVariant(scriptKind); @@ -12739,7 +12837,7 @@ var ts; return parsePropertyNameWorker(true); } function parseComputedPropertyName() { - var node = createNode(146); + var node = createNode(147); parseExpected(21); node.expression = allowInAnd(parseExpression); parseExpected(22); @@ -12853,7 +12951,7 @@ var ts; case 14: return true; } - ts.Debug.fail("Non-exhaustive case in 'isListElement'."); + return ts.Debug.fail("Non-exhaustive case in 'isListElement'."); } function isValidHeritageClauseObjectLiteral() { ts.Debug.assert(token() === 17); @@ -12929,6 +13027,8 @@ var ts; return token() === 29 || token() === 41; case 14: return token() === 27 && lookAhead(nextTokenIsSlash); + default: + return false; } } function isVariableDeclaratorListTerminator() { @@ -13047,14 +13147,14 @@ var ts; function isReusableClassMember(node) { if (node) { switch (node.kind) { - case 154: - case 159: case 155: + case 160: case 156: - case 151: - case 211: + case 157: + case 152: + case 212: return true; - case 153: + case 154: var methodDeclaration = node; var nameIsConstructor = methodDeclaration.name.kind === 71 && methodDeclaration.name.originalKeywordKind === 123; @@ -13066,8 +13166,8 @@ var ts; function isReusableSwitchClause(node) { if (node) { switch (node.kind) { - case 265: case 266: + case 267: return true; } } @@ -13076,65 +13176,65 @@ var ts; function isReusableStatement(node) { if (node) { switch (node.kind) { - case 233: + case 234: + case 214: case 213: - case 212: + case 217: case 216: - case 215: - case 228: + case 229: + case 225: + case 227: case 224: - case 226: case 223: + case 221: case 222: case 220: - case 221: case 219: - case 218: - case 225: - case 214: - case 229: - case 227: - case 217: + case 226: + case 215: case 230: + case 228: + case 218: + case 231: + case 244: case 243: - case 242: + case 250: case 249: - case 248: - case 238: - case 234: + case 239: case 235: - case 237: case 236: + case 238: + case 237: return true; } } return false; } function isReusableEnumMember(node) { - return node.kind === 272; + return node.kind === 273; } function isReusableTypeMember(node) { if (node) { switch (node.kind) { - case 158: - case 152: case 159: - case 150: - case 157: + case 153: + case 160: + case 151: + case 158: return true; } } return false; } function isReusableVariableDeclaration(node) { - if (node.kind !== 231) { + if (node.kind !== 232) { return false; } var variableDeclarator = node; return variableDeclarator.initializer === undefined; } function isReusableParameter(node) { - if (node.kind !== 148) { + if (node.kind !== 149) { return false; } var parameter = node; @@ -13173,6 +13273,7 @@ var ts; case 22: return ts.Diagnostics.Identifier_expected; case 13: return ts.Diagnostics.Identifier_expected; case 14: return ts.Diagnostics.Identifier_expected; + default: return undefined; } } function parseDelimitedList(kind, parseElement, considerSemicolonAsDelimiter) { @@ -13241,7 +13342,7 @@ var ts; return entity; } function createQualifiedName(entity, name) { - var node = createNode(145, entity.pos); + var node = createNode(146, entity.pos); node.left = entity; node.right = name; return finishNode(node); @@ -13256,19 +13357,19 @@ var ts; return allowIdentifierNames ? parseIdentifierName() : parseIdentifier(); } function parseTemplateExpression() { - var template = createNode(201); + var template = createNode(202); template.head = parseTemplateHead(); ts.Debug.assert(template.head.kind === 14, "Template head has wrong token kind"); var list = []; var listPos = getNodePos(); do { list.push(parseTemplateSpan()); - } while (ts.lastOrUndefined(list).literal.kind === 15); + } while (ts.last(list).literal.kind === 15); template.templateSpans = createNodeArray(list, listPos); return finishNode(template); } function parseTemplateSpan() { - var span = createNode(210); + var span = createNode(211); span.expression = allowInAnd(parseExpression); var literal; if (token() === 18) { @@ -13312,7 +13413,7 @@ var ts; return node; } function parseTypeReference() { - var node = createNode(161); + var node = createNode(162); node.typeName = parseEntityName(true, ts.Diagnostics.Type_expected); if (!scanner.hasPrecedingLineBreak() && token() === 27) { node.typeArguments = parseBracketedList(19, parseType, 27, 29); @@ -13321,20 +13422,20 @@ var ts; } function parseThisTypePredicate(lhs) { nextToken(); - var node = createNode(160, lhs.pos); + var node = createNode(161, lhs.pos); node.parameterName = lhs; node.type = parseType(); return finishNode(node); } function parseThisTypeNode() { - var node = createNode(173); + var node = createNode(174); nextToken(); return finishNode(node); } function parseJSDocAllType(postFixEquals) { - var result = createNode(278); + var result = createNode(279); if (postFixEquals) { - return createJSDocPostfixType(282, result); + return createJSDocPostfixType(283, result); } else { nextToken(); @@ -13342,7 +13443,7 @@ var ts; return finishNode(result); } function parseJSDocNonNullableType() { - var result = createNode(281); + var result = createNode(282); nextToken(); result.type = parseNonArrayType(); return finishNode(result); @@ -13356,28 +13457,28 @@ var ts; token() === 29 || token() === 58 || token() === 49) { - var result = createNode(279, pos); + var result = createNode(280, pos); return finishNode(result); } else { - var result = createNode(280, pos); + var result = createNode(281, pos); result.type = parseType(); return finishNode(result); } } function parseJSDocFunctionType() { if (lookAhead(nextTokenIsOpenParen)) { - var result = createNodeWithJSDoc(283); + var result = createNodeWithJSDoc(284); nextToken(); fillSignature(56, 4 | 32, result); return finishNode(result); } - var node = createNode(161); + var node = createNode(162); node.typeName = parseIdentifierName(); return finishNode(node); } function parseJSDocParameter() { - var parameter = createNode(148); + var parameter = createNode(149); if (token() === 99 || token() === 94) { parameter.name = parseIdentifierName(); parseExpected(56); @@ -13389,23 +13490,23 @@ var ts; var dotdotdot = parseOptionalToken(24); var type = parseType(); if (dotdotdot) { - var variadic = createNode(284, dotdotdot.pos); + var variadic = createNode(285, dotdotdot.pos); variadic.type = type; type = finishNode(variadic); } if (token() === 58) { - return createJSDocPostfixType(282, type); + return createJSDocPostfixType(283, type); } return type; } function parseTypeQuery() { - var node = createNode(164); + var node = createNode(165); parseExpected(103); node.exprName = parseEntityName(true); return finishNode(node); } function parseTypeParameter() { - var node = createNode(147); + var node = createNode(148); node.name = parseIdentifier(); if (parseOptional(85)) { if (isStartOfType() || !isStartOfExpression()) { @@ -13439,7 +13540,7 @@ var ts; isStartOfType(true); } function parseParameter() { - var node = createNodeWithJSDoc(148); + var node = createNodeWithJSDoc(149); if (token() === 99) { node.name = createIdentifier(true); node.type = parseParameterType(); @@ -13507,7 +13608,7 @@ var ts; } function parseSignatureMember(kind) { var node = createNodeWithJSDoc(kind); - if (kind === 158) { + if (kind === 159) { parseExpected(94); } fillSignature(56, 4, node); @@ -13544,7 +13645,7 @@ var ts; return token() === 56 || token() === 26 || token() === 22; } function parseIndexSignatureDeclaration(node) { - node.kind = 159; + node.kind = 160; node.parameters = parseBracketedList(16, parseParameter, 21, 22); node.type = parseTypeAnnotation(); parseTypeMemberSemicolon(); @@ -13554,11 +13655,11 @@ var ts; node.name = parsePropertyName(); node.questionToken = parseOptionalToken(55); if (token() === 19 || token() === 27) { - node.kind = 152; + node.kind = 153; fillSignature(56, 4, node); } else { - node.kind = 150; + node.kind = 151; node.type = parseTypeAnnotation(); if (token() === 58) { node.initializer = parseInitializer(); @@ -13571,7 +13672,7 @@ var ts; if (token() === 19 || token() === 27) { return true; } - var idToken; + var idToken = false; while (ts.isModifierKind(token())) { idToken = true; nextToken(); @@ -13595,10 +13696,10 @@ var ts; } function parseTypeMember() { if (token() === 19 || token() === 27) { - return parseSignatureMember(157); + return parseSignatureMember(158); } if (token() === 94 && lookAhead(nextTokenIsOpenParenOrLessThan)) { - return parseSignatureMember(158); + return parseSignatureMember(159); } var node = createNodeWithJSDoc(0); node.modifiers = parseModifiers(); @@ -13624,7 +13725,7 @@ var ts; return false; } function parseTypeLiteral() { - var node = createNode(165); + var node = createNode(166); node.members = parseObjectTypeMembers(); return finishNode(node); } @@ -13650,14 +13751,14 @@ var ts; return token() === 21 && nextTokenIsIdentifier() && nextToken() === 92; } function parseMappedTypeParameter() { - var node = createNode(147); + var node = createNode(148); node.name = parseIdentifier(); parseExpected(92); node.constraint = parseType(); return finishNode(node); } function parseMappedType() { - var node = createNode(176); + var node = createNode(177); parseExpected(17); if (token() === 132 || token() === 37 || token() === 38) { node.readonlyToken = parseTokenNode(); @@ -13680,12 +13781,12 @@ var ts; return finishNode(node); } function parseTupleType() { - var node = createNode(167); + var node = createNode(168); node.elementTypes = parseBracketedList(20, parseType, 21, 22); return finishNode(node); } function parseParenthesizedType() { - var node = createNode(172); + var node = createNode(173); parseExpected(19); node.type = parseType(); if (!node.type) { @@ -13696,7 +13797,7 @@ var ts; } function parseFunctionOrConstructorType(kind) { var node = createNodeWithJSDoc(kind); - if (kind === 163) { + if (kind === 164) { parseExpected(94); } if (!fillSignature(36, 4 | (sourceFile.languageVariant === 1 ? 8 : 0), node)) { @@ -13712,10 +13813,10 @@ var ts; return token() === 23 ? undefined : node; } function parseLiteralTypeNode(negative) { - var node = createNode(177); + var node = createNode(178); var unaryMinusExpression; if (negative) { - unaryMinusExpression = createNode(197); + unaryMinusExpression = createNode(198); unaryMinusExpression.operator = 38; nextToken(); } @@ -13736,7 +13837,7 @@ var ts; } function parseImportType() { sourceFile.flags |= 524288; - var node = createNode(178); + var node = createNode(179); if (parseOptional(103)) { node.isTypeOf = true; } @@ -13756,6 +13857,7 @@ var ts; function parseNonArrayType() { switch (token()) { case 119: + case 142: case 137: case 134: case 138: @@ -13811,6 +13913,7 @@ var ts; function isStartOfType(inStartOfParameter) { switch (token()) { case 119: + case 142: case 137: case 134: case 122: @@ -13857,25 +13960,25 @@ var ts; while (!scanner.hasPrecedingLineBreak()) { switch (token()) { case 51: - type = createJSDocPostfixType(281, type); + type = createJSDocPostfixType(282, type); break; case 55: if (!(contextFlags & 2097152) && lookAhead(nextTokenIsStartOfType)) { return type; } - type = createJSDocPostfixType(280, type); + type = createJSDocPostfixType(281, type); break; case 21: parseExpected(21); if (isStartOfType()) { - var node = createNode(175, type.pos); + var node = createNode(176, type.pos); node.objectType = type; node.indexType = parseType(); parseExpected(22); type = finishNode(node); } else { - var node = createNode(166, type.pos); + var node = createNode(167, type.pos); node.elementType = type; parseExpected(22); type = finishNode(node); @@ -13894,16 +13997,16 @@ var ts; return finishNode(postfix); } function parseTypeOperator(operator) { - var node = createNode(174); + var node = createNode(175); parseExpected(operator); node.operator = operator; node.type = parseTypeOperatorOrHigher(); return finishNode(node); } function parseInferType() { - var node = createNode(171); + var node = createNode(172); parseExpected(126); - var typeParameter = createNode(147); + var typeParameter = createNode(148); typeParameter.name = parseIdentifier(); node.typeParameter = finishNode(typeParameter); return finishNode(node); @@ -13934,10 +14037,10 @@ var ts; return type; } function parseIntersectionTypeOrHigher() { - return parseUnionOrIntersectionType(169, parseTypeOperatorOrHigher, 48); + return parseUnionOrIntersectionType(170, parseTypeOperatorOrHigher, 48); } function parseUnionTypeOrHigher() { - return parseUnionOrIntersectionType(168, parseIntersectionTypeOrHigher, 49); + return parseUnionOrIntersectionType(169, parseIntersectionTypeOrHigher, 49); } function isStartOfFunctionType() { if (token() === 27) { @@ -13983,7 +14086,7 @@ var ts; var typePredicateVariable = isIdentifier() && tryParse(parseTypePredicatePrefix); var type = parseType(); if (typePredicateVariable) { - var node = createNode(160, typePredicateVariable.pos); + var node = createNode(161, typePredicateVariable.pos); node.parameterName = typePredicateVariable; node.type = type; return finishNode(node); @@ -14004,14 +14107,14 @@ var ts; } function parseTypeWorker(noConditionalTypes) { if (isStartOfFunctionType()) { - return parseFunctionOrConstructorType(162); + return parseFunctionOrConstructorType(163); } if (token() === 94) { - return parseFunctionOrConstructorType(163); + return parseFunctionOrConstructorType(164); } var type = parseUnionTypeOrHigher(); if (!noConditionalTypes && !scanner.hasPrecedingLineBreak() && parseOptional(85)) { - var node = createNode(170, type.pos); + var node = createNode(171, type.pos); node.checkType = type; node.extendsType = parseTypeWorker(true); parseExpected(55); @@ -14133,7 +14236,7 @@ var ts; return !scanner.hasPrecedingLineBreak() && isIdentifier(); } function parseYieldExpression() { - var node = createNode(202); + var node = createNode(203); nextToken(); if (!scanner.hasPrecedingLineBreak() && (token() === 39 || isStartOfExpression())) { @@ -14149,13 +14252,13 @@ var ts; ts.Debug.assert(token() === 36, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); var node; if (asyncModifier) { - node = createNode(192, asyncModifier.pos); + node = createNode(193, asyncModifier.pos); node.modifiers = asyncModifier; } else { - node = createNode(192, identifier.pos); + node = createNode(193, identifier.pos); } - var parameter = createNode(148, identifier.pos); + var parameter = createNode(149, identifier.pos); parameter.name = identifier; finishNode(parameter); node.parameters = createNodeArray([parameter], parameter.pos, parameter.end); @@ -14301,7 +14404,7 @@ var ts; return 0; } function parseParenthesizedArrowFunctionExpressionHead(allowAmbiguity) { - var node = createNodeWithJSDoc(192); + var node = createNodeWithJSDoc(193); node.modifiers = parseModifiersForArrowFunction(); var isAsync = ts.hasModifier(node, 256) ? 2 : 0; if (!fillSignature(56, isAsync | (allowAmbiguity ? 0 : 8), node)) { @@ -14335,7 +14438,7 @@ var ts; if (!questionToken) { return leftOperand; } - var node = createNode(200, leftOperand.pos); + var node = createNode(201, leftOperand.pos); node.condition = leftOperand; node.questionToken = questionToken; node.whenTrue = doOutsideOfContext(disallowInAndDecoratorContext, parseAssignmentExpressionOrHigher); @@ -14350,7 +14453,7 @@ var ts; return parseBinaryExpressionRest(precedence, leftOperand); } function isInOrOfKeyword(t) { - return t === 92 || t === 144; + return t === 92 || t === 145; } function parseBinaryExpressionRest(precedence, leftOperand) { while (true) { @@ -14387,43 +14490,43 @@ var ts; return ts.getBinaryOperatorPrecedence(token()) > 0; } function makeBinaryExpression(left, operatorToken, right) { - var node = createNode(199, left.pos); + var node = createNode(200, left.pos); node.left = left; node.operatorToken = operatorToken; node.right = right; return finishNode(node); } function makeAsExpression(left, right) { - var node = createNode(207, left.pos); + var node = createNode(208, left.pos); node.expression = left; node.type = right; return finishNode(node); } function parsePrefixUnaryExpression() { - var node = createNode(197); + var node = createNode(198); node.operator = token(); nextToken(); node.operand = parseSimpleUnaryExpression(); return finishNode(node); } function parseDeleteExpression() { - var node = createNode(193); - nextToken(); - node.expression = parseSimpleUnaryExpression(); - return finishNode(node); - } - function parseTypeOfExpression() { var node = createNode(194); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); } - function parseVoidExpression() { + function parseTypeOfExpression() { var node = createNode(195); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); } + function parseVoidExpression() { + var node = createNode(196); + nextToken(); + node.expression = parseSimpleUnaryExpression(); + return finishNode(node); + } function isAwaitExpression() { if (token() === 121) { if (inAwaitContext()) { @@ -14434,7 +14537,7 @@ var ts; return false; } function parseAwaitExpression() { - var node = createNode(196); + var node = createNode(197); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); @@ -14451,7 +14554,7 @@ var ts; if (token() === 40) { var pos = ts.skipTrivia(sourceText, simpleUnaryExpression.pos); var end = simpleUnaryExpression.end; - if (simpleUnaryExpression.kind === 189) { + if (simpleUnaryExpression.kind === 190) { parseErrorAt(pos, end, ts.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses); } else { @@ -14504,7 +14607,7 @@ var ts; } function parseUpdateExpression() { if (token() === 43 || token() === 44) { - var node = createNode(197); + var node = createNode(198); node.operator = token(); nextToken(); node.operand = parseLeftHandSideExpressionOrHigher(); @@ -14516,7 +14619,7 @@ var ts; var expression = parseLeftHandSideExpressionOrHigher(); ts.Debug.assert(ts.isLeftHandSideExpression(expression)); if ((token() === 43 || token() === 44) && !scanner.hasPrecedingLineBreak()) { - var node = createNode(198, expression.pos); + var node = createNode(199, expression.pos); node.operand = expression; node.operator = token(); nextToken(); @@ -14535,7 +14638,7 @@ var ts; var fullStart = scanner.getStartPos(); nextToken(); nextToken(); - var node = createNode(209, fullStart); + var node = createNode(210, fullStart); node.keywordToken = 91; node.name = parseIdentifierName(); expression = finishNode(node); @@ -14559,30 +14662,17 @@ var ts; if (token() === 19 || token() === 23 || token() === 21) { return expression; } - var node = createNode(184, expression.pos); + var node = createNode(185, expression.pos); node.expression = expression; parseExpectedToken(23, ts.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access); node.name = parseRightSideOfDot(true); return finishNode(node); } - function tagNamesAreEquivalent(lhs, rhs) { - if (lhs.kind !== rhs.kind) { - return false; - } - if (lhs.kind === 71) { - return lhs.escapedText === rhs.escapedText; - } - if (lhs.kind === 99) { - return true; - } - return lhs.name.escapedText === rhs.name.escapedText && - tagNamesAreEquivalent(lhs.expression, rhs.expression); - } function parseJsxElementOrSelfClosingElementOrFragment(inExpressionContext) { var opening = parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext); var result; - if (opening.kind === 256) { - var node = createNode(254, opening.pos); + if (opening.kind === 257) { + var node = createNode(255, opening.pos); node.openingElement = opening; node.children = parseJsxChildren(node.openingElement); node.closingElement = parseJsxClosingElement(inExpressionContext); @@ -14591,22 +14681,22 @@ var ts; } result = finishNode(node); } - else if (opening.kind === 259) { - var node = createNode(258, opening.pos); + else if (opening.kind === 260) { + var node = createNode(259, opening.pos); node.openingFragment = opening; node.children = parseJsxChildren(node.openingFragment); node.closingFragment = parseJsxClosingFragment(inExpressionContext); result = finishNode(node); } else { - ts.Debug.assert(opening.kind === 255); + ts.Debug.assert(opening.kind === 256); result = opening; } if (inExpressionContext && token() === 27) { var invalidElement = tryParse(function () { return parseJsxElementOrSelfClosingElementOrFragment(true); }); if (invalidElement) { parseErrorAtCurrentToken(ts.Diagnostics.JSX_expressions_must_have_one_parent_element); - var badNode = createNode(199, result.pos); + var badNode = createNode(200, result.pos); badNode.end = invalidElement.end; badNode.left = result; badNode.right = invalidElement; @@ -14662,7 +14752,7 @@ var ts; return createNodeArray(list, listPos); } function parseJsxAttributes() { - var jsxAttributes = createNode(262); + var jsxAttributes = createNode(263); jsxAttributes.properties = parseList(13, parseJsxAttribute); return finishNode(jsxAttributes); } @@ -14670,7 +14760,7 @@ var ts; var fullStart = scanner.getStartPos(); parseExpected(27); if (token() === 29) { - var node_1 = createNode(259, fullStart); + var node_1 = createNode(260, fullStart); scanJsxText(); return finishNode(node_1); } @@ -14679,7 +14769,7 @@ var ts; var attributes = parseJsxAttributes(); var node; if (token() === 29) { - node = createNode(256, fullStart); + node = createNode(257, fullStart); scanJsxText(); } else { @@ -14691,7 +14781,7 @@ var ts; parseExpected(29, undefined, false); scanJsxText(); } - node = createNode(255, fullStart); + node = createNode(256, fullStart); } node.tagName = tagName; node.typeArguments = typeArguments; @@ -14703,7 +14793,7 @@ var ts; var expression = token() === 99 ? parseTokenNode() : parseIdentifierName(); while (parseOptional(23)) { - var propertyAccess = createNode(184, expression.pos); + var propertyAccess = createNode(185, expression.pos); propertyAccess.expression = expression; propertyAccess.name = parseRightSideOfDot(true); expression = finishNode(propertyAccess); @@ -14711,7 +14801,7 @@ var ts; return expression; } function parseJsxExpression(inExpressionContext) { - var node = createNode(264); + var node = createNode(265); if (!parseExpected(17)) { return undefined; } @@ -14733,7 +14823,7 @@ var ts; return parseJsxSpreadAttribute(); } scanJsxIdentifier(); - var node = createNode(261); + var node = createNode(262); node.name = parseIdentifierName(); if (token() === 58) { switch (scanJsxAttributeValue()) { @@ -14748,7 +14838,7 @@ var ts; return finishNode(node); } function parseJsxSpreadAttribute() { - var node = createNode(263); + var node = createNode(264); parseExpected(17); parseExpected(24); node.expression = parseExpression(); @@ -14756,7 +14846,7 @@ var ts; return finishNode(node); } function parseJsxClosingElement(inExpressionContext) { - var node = createNode(257); + var node = createNode(258); parseExpected(28); node.tagName = parseJsxElementName(); if (inExpressionContext) { @@ -14769,7 +14859,7 @@ var ts; return finishNode(node); } function parseJsxClosingFragment(inExpressionContext) { - var node = createNode(260); + var node = createNode(261); parseExpected(28); if (ts.tokenIsIdentifierOrKeyword(token())) { parseErrorAtRange(parseJsxElementName(), ts.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment); @@ -14784,7 +14874,7 @@ var ts; return finishNode(node); } function parseTypeAssertion() { - var node = createNode(189); + var node = createNode(190); parseExpected(27); node.type = parseType(); parseExpected(29); @@ -14795,7 +14885,7 @@ var ts; while (true) { var dotToken = parseOptionalToken(23); if (dotToken) { - var propertyAccess = createNode(184, expression.pos); + var propertyAccess = createNode(185, expression.pos); propertyAccess.expression = expression; propertyAccess.name = parseRightSideOfDot(true); expression = finishNode(propertyAccess); @@ -14803,13 +14893,13 @@ var ts; } if (token() === 51 && !scanner.hasPrecedingLineBreak()) { nextToken(); - var nonNullExpression = createNode(208, expression.pos); + var nonNullExpression = createNode(209, expression.pos); nonNullExpression.expression = expression; expression = finishNode(nonNullExpression); continue; } if (!inDecoratorContext() && parseOptional(21)) { - var indexedAccess = createNode(185, expression.pos); + var indexedAccess = createNode(186, expression.pos); indexedAccess.expression = expression; if (token() === 22) { indexedAccess.argumentExpression = createMissingNode(71, true, ts.Diagnostics.An_element_access_expression_should_take_an_argument); @@ -14836,7 +14926,7 @@ var ts; return token() === 13 || token() === 14; } function parseTaggedTemplateRest(tag, typeArguments) { - var tagExpression = createNode(188, tag.pos); + var tagExpression = createNode(189, tag.pos); tagExpression.tag = tag; tagExpression.typeArguments = typeArguments; tagExpression.template = token() === 13 @@ -14856,7 +14946,7 @@ var ts; expression = parseTaggedTemplateRest(expression, typeArguments); continue; } - var callExpr = createNode(186, expression.pos); + var callExpr = createNode(187, expression.pos); callExpr.expression = expression; callExpr.typeArguments = typeArguments; callExpr.arguments = parseArgumentList(); @@ -14864,7 +14954,7 @@ var ts; continue; } else if (token() === 19) { - var callExpr = createNode(186, expression.pos); + var callExpr = createNode(187, expression.pos); callExpr.expression = expression; callExpr.arguments = parseArgumentList(); expression = finishNode(callExpr); @@ -14961,28 +15051,28 @@ var ts; return parseIdentifier(ts.Diagnostics.Expression_expected); } function parseParenthesizedExpression() { - var node = createNodeWithJSDoc(190); + var node = createNodeWithJSDoc(191); parseExpected(19); node.expression = allowInAnd(parseExpression); parseExpected(20); return finishNode(node); } function parseSpreadElement() { - var node = createNode(203); + var node = createNode(204); parseExpected(24); node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } function parseArgumentOrArrayLiteralElement() { return token() === 24 ? parseSpreadElement() : - token() === 26 ? createNode(205) : + token() === 26 ? createNode(206) : parseAssignmentExpressionOrHigher(); } function parseArgumentExpression() { return doOutsideOfContext(disallowInAndDecoratorContext, parseArgumentOrArrayLiteralElement); } function parseArrayLiteralExpression() { - var node = createNode(182); + var node = createNode(183); parseExpected(21); if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -14994,17 +15084,17 @@ var ts; function parseObjectLiteralElement() { var node = createNodeWithJSDoc(0); if (parseOptionalToken(24)) { - node.kind = 271; + node.kind = 272; node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } node.decorators = parseDecorators(); node.modifiers = parseModifiers(); if (parseContextualModifier(125)) { - return parseAccessorDeclaration(node, 155); + return parseAccessorDeclaration(node, 156); } if (parseContextualModifier(136)) { - return parseAccessorDeclaration(node, 156); + return parseAccessorDeclaration(node, 157); } var asteriskToken = parseOptionalToken(39); var tokenIsIdentifier = isIdentifier(); @@ -15015,7 +15105,7 @@ var ts; } var isShorthandPropertyAssignment = tokenIsIdentifier && (token() === 26 || token() === 18 || token() === 58); if (isShorthandPropertyAssignment) { - node.kind = 270; + node.kind = 271; var equalsToken = parseOptionalToken(58); if (equalsToken) { node.equalsToken = equalsToken; @@ -15023,14 +15113,14 @@ var ts; } } else { - node.kind = 269; + node.kind = 270; parseExpected(56); node.initializer = allowInAnd(parseAssignmentExpressionOrHigher); } return finishNode(node); } function parseObjectLiteralExpression() { - var node = createNode(183); + var node = createNode(184); parseExpected(17); if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -15044,7 +15134,7 @@ var ts; if (saveDecoratorContext) { setDecoratorContext(false); } - var node = createNodeWithJSDoc(191); + var node = createNodeWithJSDoc(192); node.modifiers = parseModifiers(); parseExpected(89); node.asteriskToken = parseOptionalToken(39); @@ -15069,7 +15159,7 @@ var ts; var fullStart = scanner.getStartPos(); parseExpected(94); if (parseOptional(23)) { - var node_2 = createNode(209, fullStart); + var node_2 = createNode(210, fullStart); node_2.keywordToken = 94; node_2.name = parseIdentifierName(); return finishNode(node_2); @@ -15086,7 +15176,7 @@ var ts; } break; } - var node = createNode(187, fullStart); + var node = createNode(188, fullStart); node.expression = expression; node.typeArguments = typeArguments; if (node.typeArguments || token() === 19) { @@ -15095,7 +15185,7 @@ var ts; return finishNode(node); } function parseBlock(ignoreMissingOpenBrace, diagnosticMessage) { - var node = createNode(212); + var node = createNode(213); if (parseExpected(17, diagnosticMessage) || ignoreMissingOpenBrace) { if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -15126,12 +15216,12 @@ var ts; return block; } function parseEmptyStatement() { - var node = createNode(214); + var node = createNode(215); parseExpected(25); return finishNode(node); } function parseIfStatement() { - var node = createNode(216); + var node = createNode(217); parseExpected(90); parseExpected(19); node.expression = allowInAnd(parseExpression); @@ -15141,7 +15231,7 @@ var ts; return finishNode(node); } function parseDoStatement() { - var node = createNode(217); + var node = createNode(218); parseExpected(81); node.statement = parseStatement(); parseExpected(106); @@ -15152,7 +15242,7 @@ var ts; return finishNode(node); } function parseWhileStatement() { - var node = createNode(218); + var node = createNode(219); parseExpected(106); parseExpected(19); node.expression = allowInAnd(parseExpression); @@ -15175,8 +15265,8 @@ var ts; } } var forOrForInOrForOfStatement; - if (awaitToken ? parseExpected(144) : parseOptional(144)) { - var forOfStatement = createNode(221, pos); + if (awaitToken ? parseExpected(145) : parseOptional(145)) { + var forOfStatement = createNode(222, pos); forOfStatement.awaitModifier = awaitToken; forOfStatement.initializer = initializer; forOfStatement.expression = allowInAnd(parseAssignmentExpressionOrHigher); @@ -15184,14 +15274,14 @@ var ts; forOrForInOrForOfStatement = forOfStatement; } else if (parseOptional(92)) { - var forInStatement = createNode(220, pos); + var forInStatement = createNode(221, pos); forInStatement.initializer = initializer; forInStatement.expression = allowInAnd(parseExpression); parseExpected(20); forOrForInOrForOfStatement = forInStatement; } else { - var forStatement = createNode(219, pos); + var forStatement = createNode(220, pos); forStatement.initializer = initializer; parseExpected(25); if (token() !== 25 && token() !== 20) { @@ -15209,7 +15299,7 @@ var ts; } function parseBreakOrContinueStatement(kind) { var node = createNode(kind); - parseExpected(kind === 223 ? 72 : 77); + parseExpected(kind === 224 ? 72 : 77); if (!canParseSemicolon()) { node.label = parseIdentifier(); } @@ -15217,7 +15307,7 @@ var ts; return finishNode(node); } function parseReturnStatement() { - var node = createNode(224); + var node = createNode(225); parseExpected(96); if (!canParseSemicolon()) { node.expression = allowInAnd(parseExpression); @@ -15226,7 +15316,7 @@ var ts; return finishNode(node); } function parseWithStatement() { - var node = createNode(225); + var node = createNode(226); parseExpected(107); parseExpected(19); node.expression = allowInAnd(parseExpression); @@ -15235,7 +15325,7 @@ var ts; return finishNode(node); } function parseCaseClause() { - var node = createNode(265); + var node = createNode(266); parseExpected(73); node.expression = allowInAnd(parseExpression); parseExpected(56); @@ -15243,7 +15333,7 @@ var ts; return finishNode(node); } function parseDefaultClause() { - var node = createNode(266); + var node = createNode(267); parseExpected(79); parseExpected(56); node.statements = parseList(3, parseStatement); @@ -15253,12 +15343,12 @@ var ts; return token() === 73 ? parseCaseClause() : parseDefaultClause(); } function parseSwitchStatement() { - var node = createNode(226); + var node = createNode(227); parseExpected(98); parseExpected(19); node.expression = allowInAnd(parseExpression); parseExpected(20); - var caseBlock = createNode(240); + var caseBlock = createNode(241); parseExpected(17); caseBlock.clauses = parseList(2, parseCaseOrDefaultClause); parseExpected(18); @@ -15266,14 +15356,14 @@ var ts; return finishNode(node); } function parseThrowStatement() { - var node = createNode(228); + var node = createNode(229); parseExpected(100); node.expression = scanner.hasPrecedingLineBreak() ? undefined : allowInAnd(parseExpression); parseSemicolon(); return finishNode(node); } function parseTryStatement() { - var node = createNode(229); + var node = createNode(230); parseExpected(102); node.tryBlock = parseBlock(false); node.catchClause = token() === 74 ? parseCatchClause() : undefined; @@ -15284,7 +15374,7 @@ var ts; return finishNode(node); } function parseCatchClause() { - var result = createNode(268); + var result = createNode(269); parseExpected(74); if (parseOptional(19)) { result.variableDeclaration = parseVariableDeclaration(); @@ -15297,7 +15387,7 @@ var ts; return finishNode(result); } function parseDebuggerStatement() { - var node = createNode(230); + var node = createNode(231); parseExpected(78); parseSemicolon(); return finishNode(node); @@ -15306,12 +15396,12 @@ var ts; var node = createNodeWithJSDoc(0); var expression = allowInAnd(parseExpression); if (expression.kind === 71 && parseOptional(56)) { - node.kind = 227; + node.kind = 228; node.label = expression; node.statement = parseStatement(); } else { - node.kind = 215; + node.kind = 216; node.expression = expression; parseSemicolon(); } @@ -15361,7 +15451,7 @@ var ts; return false; } continue; - case 143: + case 144: nextToken(); return token() === 17 || token() === 71 || token() === 84; case 91: @@ -15423,7 +15513,7 @@ var ts; case 129: case 130: case 139: - case 143: + case 144: return true; case 114: case 112: @@ -15449,16 +15539,16 @@ var ts; case 17: return parseBlock(false); case 104: - return parseVariableStatement(createNodeWithJSDoc(231)); + return parseVariableStatement(createNodeWithJSDoc(232)); case 110: if (isLetDeclaration()) { - return parseVariableStatement(createNodeWithJSDoc(231)); + return parseVariableStatement(createNodeWithJSDoc(232)); } break; case 89: - return parseFunctionDeclaration(createNodeWithJSDoc(233)); + return parseFunctionDeclaration(createNodeWithJSDoc(234)); case 75: - return parseClassDeclaration(createNodeWithJSDoc(234)); + return parseClassDeclaration(createNodeWithJSDoc(235)); case 90: return parseIfStatement(); case 81: @@ -15468,9 +15558,9 @@ var ts; case 88: return parseForOrForInOrForOfStatement(); case 77: - return parseBreakOrContinueStatement(222); - case 72: return parseBreakOrContinueStatement(223); + case 72: + return parseBreakOrContinueStatement(224); case 96: return parseReturnStatement(); case 107: @@ -15503,7 +15593,7 @@ var ts; case 117: case 115: case 132: - case 143: + case 144: if (isStartOfDeclaration()) { return parseDeclaration(); } @@ -15545,7 +15635,7 @@ var ts; return parseTypeAliasDeclaration(node); case 83: return parseEnumDeclaration(node); - case 143: + case 144: case 129: case 130: return parseModuleDeclaration(node); @@ -15564,12 +15654,13 @@ var ts; } default: if (node.decorators || node.modifiers) { - var missing = createMissingNode(252, true, ts.Diagnostics.Declaration_expected); + var missing = createMissingNode(253, true, ts.Diagnostics.Declaration_expected); missing.pos = node.pos; missing.decorators = node.decorators; missing.modifiers = node.modifiers; return finishNode(missing); } + return undefined; } } function nextTokenIsIdentifierOrStringLiteralOnSameLine() { @@ -15585,16 +15676,16 @@ var ts; } function parseArrayBindingElement() { if (token() === 26) { - return createNode(205); + return createNode(206); } - var node = createNode(181); + var node = createNode(182); node.dotDotDotToken = parseOptionalToken(24); node.name = parseIdentifierOrPattern(); node.initializer = parseInitializer(); return finishNode(node); } function parseObjectBindingElement() { - var node = createNode(181); + var node = createNode(182); node.dotDotDotToken = parseOptionalToken(24); var tokenIsIdentifier = isIdentifier(); var propertyName = parsePropertyName(); @@ -15610,14 +15701,14 @@ var ts; return finishNode(node); } function parseObjectBindingPattern() { - var node = createNode(179); + var node = createNode(180); parseExpected(17); node.elements = parseDelimitedList(9, parseObjectBindingElement); parseExpected(18); return finishNode(node); } function parseArrayBindingPattern() { - var node = createNode(180); + var node = createNode(181); parseExpected(21); node.elements = parseDelimitedList(10, parseArrayBindingElement); parseExpected(22); @@ -15639,7 +15730,7 @@ var ts; return parseVariableDeclaration(true); } function parseVariableDeclaration(allowExclamation) { - var node = createNode(231); + var node = createNode(232); node.name = parseIdentifierOrPattern(); if (allowExclamation && node.name.kind === 71 && token() === 51 && !scanner.hasPrecedingLineBreak()) { @@ -15652,7 +15743,7 @@ var ts; return finishNode(node); } function parseVariableDeclarationList(inForStatementInitializer) { - var node = createNode(232); + var node = createNode(233); switch (token()) { case 104: break; @@ -15666,7 +15757,7 @@ var ts; ts.Debug.fail(); } nextToken(); - if (token() === 144 && lookAhead(canFollowContextualOfKeyword)) { + if (token() === 145 && lookAhead(canFollowContextualOfKeyword)) { node.declarations = createMissingList(); } else { @@ -15681,13 +15772,13 @@ var ts; return nextTokenIsIdentifier() && nextToken() === 20; } function parseVariableStatement(node) { - node.kind = 213; + node.kind = 214; node.declarationList = parseVariableDeclarationList(false); parseSemicolon(); return finishNode(node); } function parseFunctionDeclaration(node) { - node.kind = 233; + node.kind = 234; parseExpected(89); node.asteriskToken = parseOptionalToken(39); node.name = ts.hasModifier(node, 512) ? parseOptionalIdentifier() : parseIdentifier(); @@ -15698,14 +15789,14 @@ var ts; return finishNode(node); } function parseConstructorDeclaration(node) { - node.kind = 154; + node.kind = 155; parseExpected(123); fillSignature(56, 0, node); node.body = parseFunctionBlockOrSemicolon(0, ts.Diagnostics.or_expected); return finishNode(node); } function parseMethodDeclaration(node, asteriskToken, diagnosticMessage) { - node.kind = 153; + node.kind = 154; node.asteriskToken = asteriskToken; var isGenerator = asteriskToken ? 1 : 0; var isAsync = ts.hasModifier(node, 256) ? 2 : 0; @@ -15714,7 +15805,7 @@ var ts; return finishNode(node); } function parsePropertyDeclaration(node) { - node.kind = 151; + node.kind = 152; if (!node.questionToken && token() === 51 && !scanner.hasPrecedingLineBreak()) { node.exclamationToken = parseTokenNode(); } @@ -15789,7 +15880,7 @@ var ts; if (!parseOptional(57)) { break; } - var decorator = createNode(149, decoratorStart); + var decorator = createNode(150, decoratorStart); decorator.expression = doInDecoratorContext(parseLeftHandSideExpressionOrHigher); finishNode(decorator); (list || (list = [])).push(decorator); @@ -15830,7 +15921,7 @@ var ts; } function parseClassElement() { if (token() === 25) { - var result = createNode(211); + var result = createNode(212); nextToken(); return finishNode(result); } @@ -15838,10 +15929,10 @@ var ts; node.decorators = parseDecorators(); node.modifiers = parseModifiers(true); if (parseContextualModifier(125)) { - return parseAccessorDeclaration(node, 155); + return parseAccessorDeclaration(node, 156); } if (parseContextualModifier(136)) { - return parseAccessorDeclaration(node, 156); + return parseAccessorDeclaration(node, 157); } if (token() === 123) { return parseConstructorDeclaration(node); @@ -15860,13 +15951,13 @@ var ts; node.name = createMissingNode(71, true, ts.Diagnostics.Declaration_expected); return parsePropertyDeclaration(node); } - ts.Debug.fail("Should not have attempted to parse class member declaration."); + return ts.Debug.fail("Should not have attempted to parse class member declaration."); } function parseClassExpression() { - return parseClassDeclarationOrExpression(createNodeWithJSDoc(0), 204); + return parseClassDeclarationOrExpression(createNodeWithJSDoc(0), 205); } function parseClassDeclaration(node) { - return parseClassDeclarationOrExpression(node, 234); + return parseClassDeclarationOrExpression(node, 235); } function parseClassDeclarationOrExpression(node, kind) { node.kind = kind; @@ -15899,17 +15990,15 @@ var ts; } function parseHeritageClause() { var tok = token(); - if (tok === 85 || tok === 108) { - var node = createNode(267); - node.token = tok; - nextToken(); - node.types = parseDelimitedList(7, parseExpressionWithTypeArguments); - return finishNode(node); - } - return undefined; + ts.Debug.assert(tok === 85 || tok === 108); + var node = createNode(268); + node.token = tok; + nextToken(); + node.types = parseDelimitedList(7, parseExpressionWithTypeArguments); + return finishNode(node); } function parseExpressionWithTypeArguments() { - var node = createNode(206); + var node = createNode(207); node.expression = parseLeftHandSideExpressionOrHigher(); node.typeArguments = tryParseTypeArguments(); return finishNode(node); @@ -15926,7 +16015,7 @@ var ts; return parseList(5, parseClassElement); } function parseInterfaceDeclaration(node) { - node.kind = 235; + node.kind = 236; parseExpected(109); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); @@ -15935,7 +16024,7 @@ var ts; return finishNode(node); } function parseTypeAliasDeclaration(node) { - node.kind = 236; + node.kind = 237; parseExpected(139); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); @@ -15945,13 +16034,13 @@ var ts; return finishNode(node); } function parseEnumMember() { - var node = createNodeWithJSDoc(272); + var node = createNodeWithJSDoc(273); node.name = parsePropertyName(); node.initializer = allowInAnd(parseInitializer); return finishNode(node); } function parseEnumDeclaration(node) { - node.kind = 237; + node.kind = 238; parseExpected(83); node.name = parseIdentifier(); if (parseExpected(17)) { @@ -15964,7 +16053,7 @@ var ts; return finishNode(node); } function parseModuleBlock() { - var node = createNode(239); + var node = createNode(240); if (parseExpected(17)) { node.statements = parseList(1, parseStatement); parseExpected(18); @@ -15975,7 +16064,7 @@ var ts; return finishNode(node); } function parseModuleOrNamespaceDeclaration(node, flags) { - node.kind = 238; + node.kind = 239; var namespaceFlag = flags & 16; node.flags |= flags; node.name = parseIdentifier(); @@ -15985,8 +16074,8 @@ var ts; return finishNode(node); } function parseAmbientExternalModuleDeclaration(node) { - node.kind = 238; - if (token() === 143) { + node.kind = 239; + if (token() === 144) { node.name = parseIdentifier(); node.flags |= 512; } @@ -16004,7 +16093,7 @@ var ts; } function parseModuleDeclaration(node) { var flags = 0; - if (token() === 143) { + if (token() === 144) { return parseAmbientExternalModuleDeclaration(node); } else if (parseOptional(130)) { @@ -16029,7 +16118,7 @@ var ts; return nextToken() === 41; } function parseNamespaceExportDeclaration(node) { - node.kind = 241; + node.kind = 242; parseExpected(118); parseExpected(130); node.name = parseIdentifier(); @@ -16042,23 +16131,23 @@ var ts; var identifier; if (isIdentifier()) { identifier = parseIdentifier(); - if (token() !== 26 && token() !== 142) { + if (token() !== 26 && token() !== 143) { return parseImportEqualsDeclaration(node, identifier); } } - node.kind = 243; + node.kind = 244; if (identifier || token() === 39 || token() === 17) { node.importClause = parseImportClause(identifier, afterImportPos); - parseExpected(142); + parseExpected(143); } node.moduleSpecifier = parseModuleSpecifier(); parseSemicolon(); return finishNode(node); } function parseImportEqualsDeclaration(node, identifier) { - node.kind = 242; + node.kind = 243; node.name = identifier; parseExpected(58); node.moduleReference = parseModuleReference(); @@ -16066,13 +16155,13 @@ var ts; return finishNode(node); } function parseImportClause(identifier, fullStart) { - var importClause = createNode(244, fullStart); + var importClause = createNode(245, fullStart); if (identifier) { importClause.name = identifier; } if (!importClause.name || parseOptional(26)) { - importClause.namedBindings = token() === 39 ? parseNamespaceImport() : parseNamedImportsOrExports(246); + importClause.namedBindings = token() === 39 ? parseNamespaceImport() : parseNamedImportsOrExports(247); } return finishNode(importClause); } @@ -16082,7 +16171,7 @@ var ts; : parseEntityName(false); } function parseExternalModuleReference() { - var node = createNode(253); + var node = createNode(254); parseExpected(133); parseExpected(19); node.expression = parseModuleSpecifier(); @@ -16100,7 +16189,7 @@ var ts; } } function parseNamespaceImport() { - var namespaceImport = createNode(245); + var namespaceImport = createNode(246); parseExpected(39); parseExpected(118); namespaceImport.name = parseIdentifier(); @@ -16108,14 +16197,14 @@ var ts; } function parseNamedImportsOrExports(kind) { var node = createNode(kind); - node.elements = parseBracketedList(22, kind === 246 ? parseImportSpecifier : parseExportSpecifier, 17, 18); + node.elements = parseBracketedList(22, kind === 247 ? parseImportSpecifier : parseExportSpecifier, 17, 18); return finishNode(node); } function parseExportSpecifier() { - return parseImportOrExportSpecifier(251); + return parseImportOrExportSpecifier(252); } function parseImportSpecifier() { - return parseImportOrExportSpecifier(247); + return parseImportOrExportSpecifier(248); } function parseImportOrExportSpecifier(kind) { var node = createNode(kind); @@ -16134,21 +16223,21 @@ var ts; else { node.name = identifierName; } - if (kind === 247 && checkIdentifierIsKeyword) { + if (kind === 248 && checkIdentifierIsKeyword) { parseErrorAt(checkIdentifierStart, checkIdentifierEnd, ts.Diagnostics.Identifier_expected); } return finishNode(node); } function parseExportDeclaration(node) { - node.kind = 249; + node.kind = 250; if (parseOptional(39)) { - parseExpected(142); + parseExpected(143); node.moduleSpecifier = parseModuleSpecifier(); } else { - node.exportClause = parseNamedImportsOrExports(250); - if (token() === 142 || (token() === 9 && !scanner.hasPrecedingLineBreak())) { - parseExpected(142); + node.exportClause = parseNamedImportsOrExports(251); + if (token() === 143 || (token() === 9 && !scanner.hasPrecedingLineBreak())) { + parseExpected(143); node.moduleSpecifier = parseModuleSpecifier(); } } @@ -16156,7 +16245,7 @@ var ts; return finishNode(node); } function parseExportAssignment(node) { - node.kind = 248; + node.kind = 249; if (parseOptional(58)) { node.isExportEquals = true; } @@ -16174,10 +16263,10 @@ var ts; } function isAnExternalModuleIndicatorNode(node) { return ts.hasModifier(node, 1) - || node.kind === 242 && node.moduleReference.kind === 253 - || node.kind === 243 - || node.kind === 248 + || node.kind === 243 && node.moduleReference.kind === 254 + || node.kind === 244 || node.kind === 249 + || node.kind === 250 ? node : undefined; } @@ -16206,7 +16295,7 @@ var ts; } JSDocParser.parseJSDocTypeExpressionForTests = parseJSDocTypeExpressionForTests; function parseJSDocTypeExpression(mayOmitBraces) { - var result = createNode(277, scanner.getTokenPos()); + var result = createNode(278, scanner.getTokenPos()); var hasBrace = (mayOmitBraces ? parseOptional : parseExpected)(17); result.type = doInsideOfContext(2097152, parseJSDocType); if (!mayOmitBraces || hasBrace) { @@ -16247,8 +16336,8 @@ var ts; } JSDocParser.parseJSDocComment = parseJSDocComment; function parseJSDocCommentWorker(start, length) { + if (start === void 0) { start = 0; } var content = sourceText; - start = start || 0; var end = length === undefined ? content.length : start + length; length = end - start; ts.Debug.assert(start >= 0); @@ -16273,17 +16362,15 @@ var ts; comments.push(text); indent += text.length; } - var t = nextJSDocToken(); - while (t === 5) { - t = nextJSDocToken(); - } - if (t === 4) { + nextJSDocToken(); + while (parseOptionalJsdoc(5)) + ; + if (parseOptionalJsdoc(4)) { state = 0; indent = 0; - t = nextJSDocToken(); } loop: while (true) { - switch (t) { + switch (token()) { case 57: if (state === 0 || state === 1) { removeTrailingNewlines(comments); @@ -16333,7 +16420,7 @@ var ts; pushComment(scanner.getTokenText()); break; } - t = nextJSDocToken(); + nextJSDocToken(); } removeLeadingNewlines(comments); removeTrailingNewlines(comments); @@ -16351,7 +16438,7 @@ var ts; } } function createJSDocComment() { - var result = createNode(285, start); + var result = createNode(286, start); result.tags = tags && createNodeArray(tags, tagsPos, tagsEnd); result.comment = comments.length ? comments.join("") : undefined; return finishNode(result, end); @@ -16489,7 +16576,7 @@ var ts; return comments.length === 0 ? undefined : comments.join(""); } function parseUnknownTag(atToken, tagName) { - var result = createNode(288, atToken.pos); + var result = createNode(289, atToken.pos); result.atToken = atToken; result.tagName = tagName; return finishNode(result); @@ -16530,7 +16617,7 @@ var ts; switch (node.kind) { case 135: return true; - case 166: + case 167: return isObjectOrObjectArrayTypeReference(node.elementType); default: return ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && node.typeName.escapedText === "Object"; @@ -16546,12 +16633,12 @@ var ts; typeExpression = tryParseTypeExpression(); } var result = target === 1 ? - createNode(297, atToken.pos) : - createNode(292, atToken.pos); + createNode(298, atToken.pos) : + createNode(293, atToken.pos); var comment; if (indent !== undefined) comment = parseTagComments(indent + scanner.getStartPos() - atToken.pos); - var nestedTypeLiteral = parseNestedTypeLiteral(typeExpression, name, target); + var nestedTypeLiteral = target !== 4 && parseNestedTypeLiteral(typeExpression, name, target); if (nestedTypeLiteral) { typeExpression = nestedTypeLiteral; isNameFirst = true; @@ -16567,20 +16654,20 @@ var ts; } function parseNestedTypeLiteral(typeExpression, name, target) { if (typeExpression && isObjectOrObjectArrayTypeReference(typeExpression.type)) { - var typeLiteralExpression = createNode(277, scanner.getTokenPos()); + var typeLiteralExpression = createNode(278, scanner.getTokenPos()); var child = void 0; var jsdocTypeLiteral = void 0; var start_2 = scanner.getStartPos(); var children = void 0; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(target, name); })) { - if (child.kind === 292 || child.kind === 297) { + if (child.kind === 293 || child.kind === 298) { children = ts.append(children, child); } } if (children) { - jsdocTypeLiteral = createNode(286, start_2); + jsdocTypeLiteral = createNode(287, start_2); jsdocTypeLiteral.jsDocPropertyTags = children; - if (typeExpression.type.kind === 166) { + if (typeExpression.type.kind === 167) { jsdocTypeLiteral.isArrayType = true; } typeLiteralExpression.type = finishNode(jsdocTypeLiteral); @@ -16589,27 +16676,27 @@ var ts; } } function parseReturnTag(atToken, tagName) { - if (ts.forEach(tags, function (t) { return t.kind === 293; })) { - parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); - } - var result = createNode(293, atToken.pos); - result.atToken = atToken; - result.tagName = tagName; - result.typeExpression = tryParseTypeExpression(); - return finishNode(result); - } - function parseTypeTag(atToken, tagName) { if (ts.forEach(tags, function (t) { return t.kind === 294; })) { parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); } var result = createNode(294, atToken.pos); result.atToken = atToken; result.tagName = tagName; + result.typeExpression = tryParseTypeExpression(); + return finishNode(result); + } + function parseTypeTag(atToken, tagName) { + if (ts.forEach(tags, function (t) { return t.kind === 295; })) { + parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); + } + var result = createNode(295, atToken.pos); + result.atToken = atToken; + result.tagName = tagName; result.typeExpression = parseJSDocTypeExpression(true); return finishNode(result); } function parseAugmentsTag(atToken, tagName) { - var result = createNode(289, atToken.pos); + var result = createNode(290, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.class = parseExpressionWithTypeArgumentsForAugments(); @@ -16617,7 +16704,7 @@ var ts; } function parseExpressionWithTypeArgumentsForAugments() { var usedBrace = parseOptional(17); - var node = createNode(206); + var node = createNode(207); node.expression = parsePropertyAccessEntityNameExpression(); node.typeArguments = tryParseTypeArguments(); var res = finishNode(node); @@ -16629,7 +16716,7 @@ var ts; function parsePropertyAccessEntityNameExpression() { var node = parseJSDocIdentifierName(true); while (parseOptional(23)) { - var prop = createNode(184, node.pos); + var prop = createNode(185, node.pos); prop.expression = node; prop.name = parseJSDocIdentifierName(); node = finishNode(prop); @@ -16637,7 +16724,7 @@ var ts; return node; } function parseClassTag(atToken, tagName) { - var tag = createNode(290, atToken.pos); + var tag = createNode(291, atToken.pos); tag.atToken = atToken; tag.tagName = tagName; return finishNode(tag); @@ -16645,7 +16732,7 @@ var ts; function parseTypedefTag(atToken, tagName, indent) { var typeExpression = tryParseTypeExpression(); skipWhitespace(); - var typedefTag = createNode(296, atToken.pos); + var typedefTag = createNode(297, atToken.pos); typedefTag.atToken = atToken; typedefTag.tagName = tagName; typedefTag.fullName = parseJSDocTypeNameWithNamespace(); @@ -16661,9 +16748,9 @@ var ts; var start_3 = scanner.getStartPos(); while (child = tryParse(function () { return parseChildPropertyTag(); })) { if (!jsdocTypeLiteral) { - jsdocTypeLiteral = createNode(286, start_3); + jsdocTypeLiteral = createNode(287, start_3); } - if (child.kind === 294) { + if (child.kind === 295) { if (childTypeTag) { break; } @@ -16676,7 +16763,7 @@ var ts; } } if (jsdocTypeLiteral) { - if (typeExpression && typeExpression.type.kind === 166) { + if (typeExpression && typeExpression.type.kind === 167) { jsdocTypeLiteral.isArrayType = true; } typedefTag.typeExpression = childTypeTag && childTypeTag.typeExpression && !isObjectOrObjectArrayTypeReference(childTypeTag.typeExpression.type) ? @@ -16691,7 +16778,7 @@ var ts; var pos = scanner.getTokenPos(); var typeNameOrNamespaceName = parseJSDocIdentifierName(); if (typeNameOrNamespaceName && parseOptional(23)) { - var jsDocNamespaceNode = createNode(238, pos); + var jsDocNamespaceNode = createNode(239, pos); if (nested) { jsDocNamespaceNode.flags |= 4; } @@ -16705,7 +16792,7 @@ var ts; return typeNameOrNamespaceName; } function parseCallbackTag(atToken, tagName, indent) { - var callbackTag = createNode(291, atToken.pos); + var callbackTag = createNode(292, atToken.pos); callbackTag.atToken = atToken; callbackTag.tagName = tagName; callbackTag.fullName = parseJSDocTypeNameWithNamespace(); @@ -16714,16 +16801,15 @@ var ts; callbackTag.comment = parseTagComments(indent); var child; var start = scanner.getStartPos(); - var jsdocSignature = createNode(287, start); + var jsdocSignature = createNode(288, start); jsdocSignature.parameters = []; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(4); })) { jsdocSignature.parameters = ts.append(jsdocSignature.parameters, child); } var returnTag = tryParse(function () { - if (token() === 57) { - nextJSDocToken(); + if (parseOptionalJsdoc(57)) { var tag = parseTag(indent); - if (tag && tag.kind === 293) { + if (tag && tag.kind === 294) { return tag; } } @@ -16768,7 +16854,7 @@ var ts; case 57: if (canParseTag) { var child = tryParseChildTag(target); - if (child && child.kind === 292 && + if (child && child.kind === 293 && target !== 4 && (ts.isIdentifier(child.name) || !escapedTextsEqual(name, child.name.left))) { return false; @@ -16829,48 +16915,44 @@ var ts; return tag; } function parseTemplateTag(atToken, tagName) { - if (ts.some(tags, ts.isJSDocTemplateTag)) { - parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); + var constraint; + if (token() === 17) { + constraint = parseJSDocTypeExpression(); } var typeParameters = []; var typeParametersPos = getNodePos(); - while (true) { - var typeParameter = createNode(147); - var name = parseJSDocIdentifierNameWithOptionalBraces(); + do { skipWhitespace(); - if (!name) { - parseErrorAtPosition(scanner.getStartPos(), 0, ts.Diagnostics.Identifier_expected); + var typeParameter = createNode(148); + if (!ts.tokenIsIdentifierOrKeyword(token())) { + parseErrorAtCurrentToken(ts.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces); return undefined; } - typeParameter.name = name; + typeParameter.name = parseJSDocIdentifierName(); + skipWhitespace(); finishNode(typeParameter); typeParameters.push(typeParameter); - if (token() === 26) { - nextJSDocToken(); - skipWhitespace(); - } - else { - break; - } + } while (parseOptionalJsdoc(26)); + if (constraint) { + ts.first(typeParameters).constraint = constraint.type; } - var result = createNode(295, atToken.pos); + var result = createNode(296, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeParameters = createNodeArray(typeParameters, typeParametersPos); finishNode(result); return result; } - function parseJSDocIdentifierNameWithOptionalBraces() { - var parsedBrace = parseOptional(17); - var res = parseJSDocIdentifierName(); - if (parsedBrace) { - parseExpected(18); - } - return res; - } function nextJSDocToken() { return currentToken = scanner.scanJSDocToken(); } + function parseOptionalJsdoc(t) { + if (token() === t) { + nextJSDocToken(); + return true; + } + return false; + } function parseJSDocEntityName() { var entity = parseJSDocIdentifierName(true); if (parseOptional(21)) { @@ -17260,10 +17342,7 @@ var ts; break; } case "amd-dependency": { - context.amdDependencies = ts.map(ts.toArray(entryOrList), function (_a) { - var _b = _a.arguments, name = _b.name, path = _b.path; - return ({ name: name, path: path }); - }); + context.amdDependencies = ts.map(ts.toArray(entryOrList), function (x) { return ({ name: x.arguments.name, path: x.arguments.path }); }); break; } case "amd-module": { @@ -17395,6 +17474,20 @@ var ts; } return argMap; } + function tagNamesAreEquivalent(lhs, rhs) { + if (lhs.kind !== rhs.kind) { + return false; + } + if (lhs.kind === 71) { + return lhs.escapedText === rhs.escapedText; + } + if (lhs.kind === 99) { + return true; + } + return lhs.name.escapedText === rhs.name.escapedText && + tagNamesAreEquivalent(lhs.expression, rhs.expression); + } + ts.tagNamesAreEquivalent = tagNamesAreEquivalent; })(ts || (ts = {})); var ts; (function (ts) { @@ -17404,21 +17497,21 @@ var ts; ts.getModuleInstanceState = getModuleInstanceState; function getModuleInstanceStateWorker(node) { switch (node.kind) { - case 235: case 236: - return 0; case 237: + return 0; + case 238: if (ts.isConst(node)) { return 2; } break; + case 244: case 243: - case 242: if (!(ts.hasModifier(node, 1))) { return 0; } break; - case 239: { + case 240: { var state_1 = 0; ts.forEachChild(node, function (n) { var childState = getModuleInstanceStateWorker(n); @@ -17437,7 +17530,7 @@ var ts; }); return state_1; } - case 238: + case 239: return getModuleInstanceState(node); case 71: if (node.isInJSDocNamespace) { @@ -17548,13 +17641,13 @@ var ts; if (symbolFlags & 67216319) { var valueDeclaration = symbol.valueDeclaration; if (!valueDeclaration || - (valueDeclaration.kind !== node.kind && valueDeclaration.kind === 238)) { + (valueDeclaration.kind !== node.kind && valueDeclaration.kind === 239)) { symbol.valueDeclaration = node; } } } function getDeclarationName(node) { - if (node.kind === 248) { + if (node.kind === 249) { return node.isExportEquals ? "export=" : "default"; } var name = ts.getNameOfDeclaration(node); @@ -17563,7 +17656,7 @@ var ts; var moduleName = ts.getTextOfIdentifierOrLiteral(name); return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"" + moduleName + "\""); } - if (name.kind === 146) { + if (name.kind === 147) { var nameExpression = name.expression; if (ts.isStringOrNumericLiteral(nameExpression)) { return ts.escapeLeadingUnderscores(nameExpression.text); @@ -17574,31 +17667,31 @@ var ts; return ts.isPropertyNameLiteral(name) ? ts.getEscapedTextOfIdentifierOrLiteral(name) : undefined; } switch (node.kind) { - case 154: + case 155: return "__constructor"; - case 162: - case 157: - case 287: - return "__call"; case 163: case 158: - return "__new"; + case 288: + return "__call"; + case 164: case 159: + return "__new"; + case 160: return "__index"; - case 249: + case 250: return "__export"; - case 273: + case 274: return "export="; - case 199: + case 200: if (ts.getSpecialPropertyAssignmentKind(node) === 2) { return "export="; } ts.Debug.fail("Unknown binary declaration kind"); break; - case 283: + case 284: return (ts.isJSDocConstructSignature(node) ? "__new" : "__call"); - case 148: - ts.Debug.assert(node.parent.kind === 283, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; }); + case 149: + ts.Debug.assert(node.parent.kind === 284, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; }); var functionType = node.parent; var index = functionType.parameters.indexOf(node); return "arg" + index; @@ -17648,7 +17741,7 @@ var ts; } else { if (symbol.declarations && symbol.declarations.length && - (node.kind === 248 && !node.isExportEquals)) { + (node.kind === 249 && !node.isExportEquals)) { message_1 = ts.Diagnostics.A_module_cannot_have_multiple_default_exports; } } @@ -17673,7 +17766,7 @@ var ts; function declareModuleMember(node, symbolFlags, symbolExcludes) { var hasExportModifier = ts.getCombinedModifierFlags(node) & 1; if (symbolFlags & 2097152) { - if (node.kind === 251 || (node.kind === 242 && hasExportModifier)) { + if (node.kind === 252 || (node.kind === 243 && hasExportModifier)) { return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); } else { @@ -17703,7 +17796,7 @@ var ts; var saveThisParentContainer = thisParentContainer; var savedBlockScopeContainer = blockScopeContainer; if (containerFlags & 1) { - if (node.kind !== 192) { + if (node.kind !== 193) { thisParentContainer = container; } container = blockScopeContainer = node; @@ -17731,7 +17824,7 @@ var ts; currentFlow.container = node; } } - currentReturnTarget = isIIFE || node.kind === 154 ? createBranchLabel() : undefined; + currentReturnTarget = isIIFE || node.kind === 155 ? createBranchLabel() : undefined; currentBreakTarget = undefined; currentContinueTarget = undefined; activeLabels = undefined; @@ -17743,13 +17836,13 @@ var ts; if (hasExplicitReturn) node.flags |= 256; } - if (node.kind === 273) { + if (node.kind === 274) { node.flags |= emitFlags; } if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); currentFlow = finishFlowLabel(currentReturnTarget); - if (node.kind === 154) { + if (node.kind === 155) { node.returnFlowNode = currentFlow; } } @@ -17792,8 +17885,8 @@ var ts; } } function bindEachFunctionsFirst(nodes) { - bindEach(nodes, function (n) { return n.kind === 233 ? bind(n) : undefined; }); - bindEach(nodes, function (n) { return n.kind !== 233 ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind === 234 ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind !== 234 ? bind(n) : undefined; }); } function bindEach(nodes, bindFunction) { if (bindFunction === void 0) { bindFunction = bind; } @@ -17825,76 +17918,76 @@ var ts; return; } switch (node.kind) { - case 218: + case 219: bindWhileStatement(node); break; - case 217: + case 218: bindDoStatement(node); break; - case 219: + case 220: bindForStatement(node); break; - case 220: case 221: + case 222: bindForInOrForOfStatement(node); break; - case 216: + case 217: bindIfStatement(node); break; - case 224: - case 228: + case 225: + case 229: bindReturnOrThrow(node); break; + case 224: case 223: - case 222: bindBreakOrContinueStatement(node); break; - case 229: + case 230: bindTryStatement(node); break; - case 226: + case 227: bindSwitchStatement(node); break; - case 240: + case 241: bindCaseBlock(node); break; - case 265: + case 266: bindCaseClause(node); break; - case 227: + case 228: bindLabeledStatement(node); break; - case 197: + case 198: bindPrefixUnaryExpressionFlow(node); break; - case 198: + case 199: bindPostfixUnaryExpressionFlow(node); break; - case 199: + case 200: bindBinaryExpressionFlow(node); break; - case 193: + case 194: bindDeleteExpressionFlow(node); break; - case 200: + case 201: bindConditionalExpressionFlow(node); break; - case 231: + case 232: bindVariableDeclarationFlow(node); break; - case 186: + case 187: bindCallExpressionFlow(node); break; - case 296: - case 291: + case 297: + case 292: bindJSDocTypeAlias(node); break; - case 273: + case 274: bindEachFunctionsFirst(node.statements); bind(node.endOfFileToken); break; - case 212: - case 239: + case 213: + case 240: bindEachFunctionsFirst(node.statements); break; default: @@ -17907,15 +18000,15 @@ var ts; switch (expr.kind) { case 71: case 99: - case 184: + case 185: return isNarrowableReference(expr); - case 186: + case 187: return hasNarrowableArgument(expr); - case 190: + case 191: return isNarrowingExpression(expr.expression); - case 199: + case 200: return isNarrowingBinaryExpression(expr); - case 197: + case 198: return expr.operator === 51 && isNarrowingExpression(expr.operand); } return false; @@ -17924,7 +18017,7 @@ var ts; return expr.kind === 71 || expr.kind === 99 || expr.kind === 97 || - expr.kind === 184 && isNarrowableReference(expr.expression); + expr.kind === 185 && isNarrowableReference(expr.expression); } function hasNarrowableArgument(expr) { if (expr.arguments) { @@ -17935,7 +18028,7 @@ var ts; } } } - if (expr.expression.kind === 184 && + if (expr.expression.kind === 185 && isNarrowableReference(expr.expression.expression)) { return true; } @@ -17968,9 +18061,9 @@ var ts; } function isNarrowableOperand(expr) { switch (expr.kind) { - case 190: + case 191: return isNarrowableOperand(expr.expression); - case 199: + case 200: switch (expr.operatorToken.kind) { case 58: return isNarrowableOperand(expr.left); @@ -18047,33 +18140,33 @@ var ts; function isStatementCondition(node) { var parent = node.parent; switch (parent.kind) { - case 216: - case 218: case 217: - return parent.expression === node; case 219: - case 200: + case 218: + return parent.expression === node; + case 220: + case 201: return parent.condition === node; } return false; } function isLogicalExpression(node) { while (true) { - if (node.kind === 190) { + if (node.kind === 191) { node = node.expression; } - else if (node.kind === 197 && node.operator === 51) { + else if (node.kind === 198 && node.operator === 51) { node = node.operand; } else { - return node.kind === 199 && (node.operatorToken.kind === 53 || + return node.kind === 200 && (node.operatorToken.kind === 53 || node.operatorToken.kind === 54); } } } function isTopLevelLogicalExpression(node) { - while (node.parent.kind === 190 || - node.parent.kind === 197 && + while (node.parent.kind === 191 || + node.parent.kind === 198 && node.parent.operator === 51) { node = node.parent; } @@ -18115,7 +18208,7 @@ var ts; } function bindDoStatement(node) { var preDoLabel = createLoopLabel(); - var enclosingLabeledStatement = node.parent.kind === 227 + var enclosingLabeledStatement = node.parent.kind === 228 ? ts.lastOrUndefined(activeLabels) : undefined; var preConditionLabel = enclosingLabeledStatement ? enclosingLabeledStatement.continueTarget : createBranchLabel(); @@ -18147,13 +18240,13 @@ var ts; var postLoopLabel = createBranchLabel(); addAntecedent(preLoopLabel, currentFlow); currentFlow = preLoopLabel; - if (node.kind === 221) { + if (node.kind === 222) { bind(node.awaitModifier); } bind(node.expression); addAntecedent(postLoopLabel, currentFlow); bind(node.initializer); - if (node.initializer.kind !== 232) { + if (node.initializer.kind !== 233) { bindAssignmentTargetFlow(node.initializer); } bindIterativeStatement(node.statement, postLoopLabel, preLoopLabel); @@ -18175,7 +18268,7 @@ var ts; } function bindReturnOrThrow(node) { bind(node.expression); - if (node.kind === 224) { + if (node.kind === 225) { hasExplicitReturn = true; if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); @@ -18195,7 +18288,7 @@ var ts; return undefined; } function bindBreakOrContinueFlow(node, breakTarget, continueTarget) { - var flowLabel = node.kind === 223 ? breakTarget : continueTarget; + var flowLabel = node.kind === 224 ? breakTarget : continueTarget; if (flowLabel) { addAntecedent(flowLabel, currentFlow); currentFlow = unreachableFlow; @@ -18258,7 +18351,7 @@ var ts; preSwitchCaseFlow = currentFlow; bind(node.caseBlock); addAntecedent(postSwitchLabel, currentFlow); - var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 266; }); + var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 267; }); node.possiblyExhaustive = !hasDefault && !postSwitchLabel.antecedents; if (!hasDefault) { addAntecedent(postSwitchLabel, createFlowSwitchClause(preSwitchCaseFlow, node, 0, 0)); @@ -18280,6 +18373,7 @@ var ts; } var preCaseLabel = createBranchLabel(); addAntecedent(preCaseLabel, createFlowSwitchClause(preSwitchCaseFlow, node.parent, clauseStart, i + 1)); + addAntecedent(preCaseLabel, createFlowSwitchClause(preSwitchCaseFlow, node.parent, clauseStart, i + 1)); addAntecedent(preCaseLabel, fallthroughFlow); currentFlow = finishFlowLabel(preCaseLabel); var clause = clauses[i]; @@ -18321,15 +18415,15 @@ var ts; bind(node.statement); popActiveLabel(); if (!activeLabel.referenced && !options.allowUnusedLabels) { - file.bindDiagnostics.push(createDiagnosticForNode(node.label, ts.Diagnostics.Unused_label)); + errorOrSuggestionOnFirstToken(ts.unusedLabelIsError(options), node, ts.Diagnostics.Unused_label); } - if (!node.statement || node.statement.kind !== 217) { + if (!node.statement || node.statement.kind !== 218) { addAntecedent(postStatementLabel, currentFlow); currentFlow = finishFlowLabel(postStatementLabel); } } function bindDestructuringTargetFlow(node) { - if (node.kind === 199 && node.operatorToken.kind === 58) { + if (node.kind === 200 && node.operatorToken.kind === 58) { bindAssignmentTargetFlow(node.left); } else { @@ -18340,10 +18434,10 @@ var ts; if (isNarrowableReference(node)) { currentFlow = createFlowAssignment(currentFlow, node); } - else if (node.kind === 182) { + else if (node.kind === 183) { for (var _i = 0, _a = node.elements; _i < _a.length; _i++) { var e = _a[_i]; - if (e.kind === 203) { + if (e.kind === 204) { bindAssignmentTargetFlow(e.expression); } else { @@ -18351,16 +18445,16 @@ var ts; } } } - else if (node.kind === 183) { + else if (node.kind === 184) { for (var _b = 0, _c = node.properties; _b < _c.length; _b++) { var p = _c[_b]; - if (p.kind === 269) { + if (p.kind === 270) { bindDestructuringTargetFlow(p.initializer); } - else if (p.kind === 270) { + else if (p.kind === 271) { bindAssignmentTargetFlow(p.name); } - else if (p.kind === 271) { + else if (p.kind === 272) { bindAssignmentTargetFlow(p.expression); } } @@ -18416,7 +18510,7 @@ var ts; bindEachChild(node); if (ts.isAssignmentOperator(operator) && !ts.isAssignmentTarget(node)) { bindAssignmentTargetFlow(node.left); - if (operator === 58 && node.left.kind === 185) { + if (operator === 58 && node.left.kind === 186) { var elementAccess = node.left; if (isNarrowableOperand(elementAccess.expression)) { currentFlow = createFlowArrayMutation(currentFlow, node); @@ -18427,7 +18521,7 @@ var ts; } function bindDeleteExpressionFlow(node) { bindEachChild(node); - if (node.expression.kind === 184) { + if (node.expression.kind === 185) { bindAssignmentTargetFlow(node.expression); } } @@ -18471,10 +18565,10 @@ var ts; } function bindCallExpressionFlow(node) { var expr = node.expression; - while (expr.kind === 190) { + while (expr.kind === 191) { expr = expr.expression; } - if (expr.kind === 191 || expr.kind === 192) { + if (expr.kind === 192 || expr.kind === 193) { bindEach(node.typeArguments); bindEach(node.arguments); bind(node.expression); @@ -18482,7 +18576,7 @@ var ts; else { bindEachChild(node); } - if (node.expression.kind === 184) { + if (node.expression.kind === 185) { var propertyAccess = node.expression; if (isNarrowableOperand(propertyAccess.expression) && ts.isPushOrUnshiftIdentifier(propertyAccess.name)) { currentFlow = createFlowArrayMutation(currentFlow, node); @@ -18491,53 +18585,53 @@ var ts; } function getContainerFlags(node) { switch (node.kind) { - case 204: - case 234: - case 237: - case 183: - case 165: - case 286: - case 262: - return 1; + case 205: case 235: - return 1 | 64; case 238: + case 184: + case 166: + case 287: + case 263: + return 1; case 236: - case 176: + return 1 | 64; + case 239: + case 237: + case 177: return 1 | 32; - case 273: + case 274: return 1 | 4 | 32; - case 153: + case 154: if (ts.isObjectLiteralOrClassExpressionMethod(node)) { return 1 | 4 | 32 | 8 | 128; } - case 154: - case 233: - case 152: case 155: + case 234: + case 153: case 156: case 157: - case 287: - case 283: - case 162: case 158: - case 159: + case 288: + case 284: case 163: + case 159: + case 160: + case 164: return 1 | 4 | 32 | 8; - case 191: case 192: + case 193: return 1 | 4 | 32 | 8 | 16; - case 239: + case 240: return 4; - case 151: + case 152: return node.initializer ? 4 : 0; - case 268: - case 219: + case 269: case 220: case 221: - case 240: + case 222: + case 241: return 2; - case 212: + case 213: return ts.isFunctionLike(node.parent) ? 0 : 2; } return 0; @@ -18550,40 +18644,40 @@ var ts; } function declareSymbolAndAddToSymbolTable(node, symbolFlags, symbolExcludes) { switch (container.kind) { - case 238: + case 239: return declareModuleMember(node, symbolFlags, symbolExcludes); - case 273: + case 274: return declareSourceFileMember(node, symbolFlags, symbolExcludes); - case 204: - case 234: - return declareClassMember(node, symbolFlags, symbolExcludes); - case 237: - return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); - case 165: - case 286: - case 183: + case 205: case 235: - case 262: - return declareSymbol(container.symbol.members, container.symbol, node, symbolFlags, symbolExcludes); - case 162: - case 163: - case 157: - case 158: + return declareClassMember(node, symbolFlags, symbolExcludes); + case 238: + return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); + case 166: case 287: + case 184: + case 236: + case 263: + return declareSymbol(container.symbol.members, container.symbol, node, symbolFlags, symbolExcludes); + case 163: + case 164: + case 158: case 159: - case 153: - case 152: + case 288: + case 160: case 154: + case 153: case 155: case 156: - case 233: - case 191: + case 157: + case 234: case 192: - case 283: - case 296: - case 291: - case 236: - case 176: + case 193: + case 284: + case 297: + case 292: + case 237: + case 177: return declareSymbol(container.locals, undefined, node, symbolFlags, symbolExcludes); } } @@ -18598,11 +18692,11 @@ var ts; : declareSymbol(file.locals, undefined, node, symbolFlags, symbolExcludes); } function hasExportDeclarations(node) { - var body = node.kind === 273 ? node : node.body; - if (body && (body.kind === 273 || body.kind === 239)) { + var body = node.kind === 274 ? node : node.body; + if (body && (body.kind === 274 || body.kind === 240)) { for (var _i = 0, _a = body.statements; _i < _a.length; _i++) { var stat = _a[_i]; - if (stat.kind === 249 || stat.kind === 248) { + if (stat.kind === 250 || stat.kind === 249) { return true; } } @@ -18670,11 +18764,11 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 271 || prop.name.kind !== 71) { + if (prop.kind === 272 || prop.name.kind !== 71) { continue; } var identifier = prop.name; - var currentKind = prop.kind === 269 || prop.kind === 270 || prop.kind === 153 + var currentKind = prop.kind === 270 || prop.kind === 271 || prop.kind === 154 ? 1 : 2; var existingKind = seen.get(identifier.escapedText); @@ -18702,13 +18796,14 @@ var ts; symbol.parent = container.symbol; } addDeclarationToSymbol(symbol, node, symbolFlags); + return symbol; } function bindBlockScopedDeclaration(node, symbolFlags, symbolExcludes) { switch (blockScopeContainer.kind) { - case 238: + case 239: declareModuleMember(node, symbolFlags, symbolExcludes); break; - case 273: + case 274: if (ts.isExternalOrCommonJsModule(container)) { declareModuleMember(node, symbolFlags, symbolExcludes); break; @@ -18828,8 +18923,8 @@ var ts; } function checkStrictModeFunctionDeclaration(node) { if (languageVersion < 2) { - if (blockScopeContainer.kind !== 273 && - blockScopeContainer.kind !== 238 && + if (blockScopeContainer.kind !== 274 && + blockScopeContainer.kind !== 239 && !ts.isFunctionLike(blockScopeContainer)) { var errorSpan = ts.getErrorSpanForNode(file, node); file.bindDiagnostics.push(ts.createFileDiagnostic(file, errorSpan.start, errorSpan.length, getStrictModeBlockScopeFunctionDeclarationMessage(node))); @@ -18862,6 +18957,16 @@ var ts; var span = ts.getSpanOfTokenAtPosition(file, node.pos); file.bindDiagnostics.push(ts.createFileDiagnostic(file, span.start, span.length, message, arg0, arg1, arg2)); } + function errorOrSuggestionOnFirstToken(isError, node, message, arg0, arg1, arg2) { + var span = ts.getSpanOfTokenAtPosition(file, node.pos); + var diag = ts.createFileDiagnostic(file, span.start, span.length, message, arg0, arg1, arg2); + if (isError) { + file.bindDiagnostics.push(diag); + } + else { + file.bindSuggestionDiagnostics = ts.append(file.bindSuggestionDiagnostics, __assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); + } + } function bind(node) { if (!node) { return; @@ -18869,7 +18974,7 @@ var ts; node.parent = parent; var saveInStrictMode = inStrictMode; bindWorker(node); - if (node.kind > 144) { + if (node.kind > 145) { var saveParent = parent; parent = node; var containerFlags = getContainerFlags(node); @@ -18933,11 +19038,11 @@ var ts; break; } case 99: - if (currentFlow && (ts.isExpression(node) || parent.kind === 270)) { + if (currentFlow && (ts.isExpression(node) || parent.kind === 271)) { node.flowNode = currentFlow; } return checkStrictModeIdentifier(node); - case 184: + case 185: if (currentFlow && isNarrowableReference(node)) { node.flowNode = currentFlow; } @@ -18945,7 +19050,7 @@ var ts; bindSpecialPropertyDeclaration(node); } break; - case 199: + case 200: var specialKind = ts.getSpecialPropertyAssignmentKind(node); switch (specialKind) { case 1: @@ -18972,127 +19077,127 @@ var ts; ts.Debug.fail("Unknown special property assignment kind"); } return checkStrictModeBinaryExpression(node); - case 268: + case 269: return checkStrictModeCatchClause(node); - case 193: + case 194: return checkStrictModeDeleteExpression(node); case 8: return checkStrictModeNumericLiteral(node); - case 198: + case 199: return checkStrictModePostfixUnaryExpression(node); - case 197: + case 198: return checkStrictModePrefixUnaryExpression(node); - case 225: + case 226: return checkStrictModeWithStatement(node); - case 173: + case 174: seenThisKeyword = true; return; - case 160: + case 161: break; - case 147: - return bindTypeParameter(node); case 148: + return bindTypeParameter(node); + case 149: return bindParameter(node); - case 231: + case 232: return bindVariableDeclarationOrBindingElement(node); - case 181: + case 182: node.flowNode = currentFlow; return bindVariableDeclarationOrBindingElement(node); + case 152: case 151: - case 150: return bindPropertyWorker(node); - case 269: case 270: + case 271: return bindPropertyOrMethodOrAccessor(node, 4, 0); - case 272: + case 273: return bindPropertyOrMethodOrAccessor(node, 8, 68008959); - case 157: case 158: case 159: + case 160: return declareSymbolAndAddToSymbolTable(node, 131072, 0); - case 153: - case 152: - return bindPropertyOrMethodOrAccessor(node, 8192 | (node.questionToken ? 16777216 : 0), ts.isObjectLiteralMethod(node) ? 0 : 67208127); - case 233: - return bindFunctionDeclaration(node); case 154: - return declareSymbolAndAddToSymbolTable(node, 16384, 0); + case 153: + return bindPropertyOrMethodOrAccessor(node, 8192 | (node.questionToken ? 16777216 : 0), ts.isObjectLiteralMethod(node) ? 0 : 67208127); + case 234: + return bindFunctionDeclaration(node); case 155: - return bindPropertyOrMethodOrAccessor(node, 32768, 67150783); + return declareSymbolAndAddToSymbolTable(node, 16384, 0); case 156: + return bindPropertyOrMethodOrAccessor(node, 32768, 67150783); + case 157: return bindPropertyOrMethodOrAccessor(node, 65536, 67183551); - case 162: - case 283: - case 287: case 163: + case 284: + case 288: + case 164: return bindFunctionOrConstructorType(node); - case 165: - case 286: - case 176: + case 166: + case 287: + case 177: return bindAnonymousTypeWorker(node); - case 183: + case 184: return bindObjectLiteralExpression(node); - case 191: case 192: + case 193: return bindFunctionExpression(node); - case 186: + case 187: if (ts.isInJavaScriptFile(node)) { bindCallExpression(node); } break; - case 204: - case 234: + case 205: + case 235: inStrictMode = true; return bindClassLikeDeclaration(node); - case 235: - return bindBlockScopedDeclaration(node, 64, 67901832); case 236: - return bindBlockScopedDeclaration(node, 524288, 67901928); + return bindBlockScopedDeclaration(node, 64, 67901832); case 237: - return bindEnumDeclaration(node); + return bindBlockScopedDeclaration(node, 524288, 67901928); case 238: + return bindEnumDeclaration(node); + case 239: return bindModuleDeclaration(node); - case 262: + case 263: return bindJsxAttributes(node); - case 261: + case 262: return bindJsxAttribute(node, 4, 0); - case 242: - case 245: - case 247: - case 251: - return declareSymbolAndAddToSymbolTable(node, 2097152, 2097152); - case 241: - return bindNamespaceExportDeclaration(node); - case 244: - return bindImportClause(node); - case 249: - return bindExportDeclaration(node); + case 243: + case 246: case 248: + case 252: + return declareSymbolAndAddToSymbolTable(node, 2097152, 2097152); + case 242: + return bindNamespaceExportDeclaration(node); + case 245: + return bindImportClause(node); + case 250: + return bindExportDeclaration(node); + case 249: return bindExportAssignment(node); - case 273: + case 274: updateStrictModeStatementList(node.statements); return bindSourceFileIfExternalModule(); - case 212: + case 213: if (!ts.isFunctionLike(node.parent)) { return; } - case 239: + case 240: return updateStrictModeStatementList(node.statements); - case 292: - if (node.parent.kind === 287) { + case 293: + if (node.parent.kind === 288) { return bindParameter(node); } - if (node.parent.kind !== 286) { + if (node.parent.kind !== 287) { break; } - case 297: + case 298: var propTag = node; - var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 282 ? + var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 283 ? 4 | 16777216 : 4; return declareSymbolAndAddToSymbolTable(propTag, flags, 0); - case 296: - case 291: + case 297: + case 292: return (delayedTypeAliases || (delayedTypeAliases = [])).push(node); } } @@ -19122,7 +19227,7 @@ var ts; bindAnonymousDeclaration(node, 2097152, getDeclarationName(node)); } else { - var flags = node.kind === 248 && ts.exportAssignmentIsAlias(node) + var flags = node.kind === 249 && ts.exportAssignmentIsAlias(node) ? 2097152 : 4; declareSymbol(container.symbol.exports, container.symbol, node, flags, 67108863); @@ -19132,7 +19237,7 @@ var ts; if (node.modifiers && node.modifiers.length) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Modifiers_cannot_appear_here)); } - if (node.parent.kind !== 273) { + if (node.parent.kind !== 274) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Global_module_exports_may_only_appear_at_top_level)); return; } @@ -19174,13 +19279,11 @@ var ts; function bindExportsPropertyAssignment(node) { setCommonJsModuleIndicator(node); var lhs = node.left; - var symbol = forEachIdentifierInEntityName(lhs.expression, function (id, original) { - if (!original) { - return undefined; + var symbol = forEachIdentifierInEntityName(lhs.expression, undefined, function (id, symbol) { + if (symbol) { + addDeclarationToSymbol(symbol, id, 1536 | 67108864); } - var s = ts.getJSInitializerSymbol(original); - addDeclarationToSymbol(s, id, 1536 | 67108864); - return s; + return symbol; }); if (symbol) { var flags = ts.isClassExpression(node.right) ? @@ -19205,13 +19308,13 @@ var ts; ts.Debug.assert(ts.isInJavaScriptFile(node)); var thisContainer = ts.getThisContainer(node, false); switch (thisContainer.kind) { - case 233: - case 191: + case 234: + case 192: var constructorSymbol = thisContainer.symbol; if (ts.isBinaryExpression(thisContainer.parent) && thisContainer.parent.operatorToken.kind === 58) { var l = thisContainer.parent.left; if (ts.isPropertyAccessEntityNameExpression(l) && ts.isPrototypeAccess(l.expression)) { - constructorSymbol = getJSInitializerSymbolFromName(l.expression.expression, thisParentContainer); + constructorSymbol = lookupSymbolForPropertyAccess(l.expression.expression, thisParentContainer); } } if (constructorSymbol) { @@ -19219,16 +19322,16 @@ var ts; declareSymbol(constructorSymbol.members, constructorSymbol, node, 4, 0 & ~4); } break; - case 154: - case 151: - case 153: case 155: + case 152: + case 154: case 156: + case 157: var containingClass = thisContainer.parent; var symbolTable = ts.hasModifier(thisContainer, 32) ? containingClass.symbol.exports : containingClass.symbol.members; declareSymbol(symbolTable, containingClass.symbol, node, 4, 0, true); break; - case 273: + case 274: break; default: ts.Debug.fail(ts.Debug.showSyntaxKind(thisContainer)); @@ -19238,7 +19341,7 @@ var ts; if (node.expression.kind === 99) { bindThisPropertyAssignment(node); } - else if (ts.isPropertyAccessEntityNameExpression(node) && node.parent.parent.kind === 273) { + else if (ts.isPropertyAccessEntityNameExpression(node) && node.parent.parent.kind === 274) { if (ts.isPrototypeAccess(node.expression)) { bindPrototypePropertyAssignment(node, node.parent); } @@ -19276,39 +19379,52 @@ var ts; node.expression.parent = node; bindPropertyAssignment(node.expression, node, false); } - function getJSInitializerSymbolFromName(name, lookupContainer) { - return ts.getJSInitializerSymbol(lookupSymbolForPropertyAccess(name, lookupContainer)); - } function bindPropertyAssignment(name, propertyAccess, isPrototypeProperty) { - var symbol = getJSInitializerSymbolFromName(name); + var namespaceSymbol = lookupSymbolForPropertyAccess(name); var isToplevelNamespaceableInitializer = ts.isBinaryExpression(propertyAccess.parent) - ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 273 && + ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 274 && !!ts.getJavascriptInitializer(ts.getInitializerOfBinaryExpression(propertyAccess.parent), ts.isPrototypeAccess(propertyAccess.parent.left)) - : propertyAccess.parent.parent.kind === 273; - if (!isPrototypeProperty && (!symbol || !(symbol.flags & 1920)) && isToplevelNamespaceableInitializer) { + : propertyAccess.parent.parent.kind === 274; + if (!isPrototypeProperty && (!namespaceSymbol || !(namespaceSymbol.flags & 1920)) && isToplevelNamespaceableInitializer) { var flags_1 = 1536 | 67108864; var excludeFlags_1 = 67215503 & ~67108864; - forEachIdentifierInEntityName(propertyAccess.expression, function (id, original) { - if (original) { - addDeclarationToSymbol(original, id, flags_1); - return original; + namespaceSymbol = forEachIdentifierInEntityName(propertyAccess.expression, namespaceSymbol, function (id, symbol, parent) { + if (symbol) { + addDeclarationToSymbol(symbol, id, flags_1); + return symbol; } else { - return symbol = declareSymbol(symbol ? symbol.exports : container.locals, symbol, id, flags_1, excludeFlags_1); + return declareSymbol(parent ? parent.exports : container.locals, parent, id, flags_1, excludeFlags_1); } }); } - if (!symbol || !(symbol.flags & (16 | 32 | 1024 | 4096))) { + if (!namespaceSymbol || !isJavascriptContainer(namespaceSymbol)) { return; } var symbolTable = isPrototypeProperty ? - (symbol.members || (symbol.members = ts.createSymbolTable())) : - (symbol.exports || (symbol.exports = ts.createSymbolTable())); + (namespaceSymbol.members || (namespaceSymbol.members = ts.createSymbolTable())) : + (namespaceSymbol.exports || (namespaceSymbol.exports = ts.createSymbolTable())); var jsContainerFlag = isToplevelNamespaceableInitializer ? 67108864 : 0; var isMethod = ts.isFunctionLikeDeclaration(ts.getAssignedJavascriptInitializer(propertyAccess)); var symbolFlags = (isMethod ? 8192 : 4) | jsContainerFlag; var symbolExcludes = (isMethod ? 67208127 : 0) & ~jsContainerFlag; - declareSymbol(symbolTable, symbol, propertyAccess, symbolFlags, symbolExcludes); + declareSymbol(symbolTable, namespaceSymbol, propertyAccess, symbolFlags, symbolExcludes); + } + function isJavascriptContainer(symbol) { + if (symbol.flags & (16 | 32 | 1024)) { + return true; + } + var node = symbol.valueDeclaration; + var init = !node ? undefined : + ts.isVariableDeclaration(node) ? node.initializer : + ts.isBinaryExpression(node) ? node.right : + ts.isPropertyAccessExpression(node) && ts.isBinaryExpression(node.parent) ? node.parent.right : + undefined; + if (init) { + var isPrototypeAssignment = ts.isPrototypeAccess(ts.isVariableDeclaration(node) ? node.name : ts.isBinaryExpression(node) ? node.left : node); + return !!ts.getJavascriptInitializer(ts.isBinaryExpression(init) && init.operatorToken.kind === 54 ? init.right : init, isPrototypeAssignment); + } + return false; } function getParentOfBinaryExpression(expr) { while (ts.isBinaryExpression(expr.parent)) { @@ -19322,21 +19438,22 @@ var ts; return lookupSymbolForNameWorker(lookupContainer, node.escapedText); } else { - var symbol = ts.getJSInitializerSymbol(lookupSymbolForPropertyAccess(node.expression)); + var symbol = lookupSymbolForPropertyAccess(node.expression); return symbol && symbol.exports && symbol.exports.get(node.name.escapedText); } } - function forEachIdentifierInEntityName(e, action) { + function forEachIdentifierInEntityName(e, parent, action) { if (isExportsOrModuleExportsOrAlias(file, e)) { return file.symbol; } else if (ts.isIdentifier(e)) { - return action(e, lookupSymbolForPropertyAccess(e)); + return action(e, lookupSymbolForPropertyAccess(e), parent); } else { - var s = ts.getJSInitializerSymbol(forEachIdentifierInEntityName(e.expression, action)); - ts.Debug.assert(!!s && !!s.exports); - return action(e.name, s.exports.get(e.name.escapedText)); + var s = forEachIdentifierInEntityName(e.expression, parent, action); + if (!s || !s.exports) + return ts.Debug.fail(); + return action(e.name, s.exports.get(e.name.escapedText), s); } } function bindCallExpression(node) { @@ -19345,7 +19462,7 @@ var ts; } } function bindClassLikeDeclaration(node) { - if (node.kind === 234) { + if (node.kind === 235) { bindBlockScopedDeclaration(node, 32, 68008383); } else { @@ -19389,7 +19506,7 @@ var ts; } } function bindParameter(node) { - if (node.kind === 292 && container.kind !== 287) { + if (node.kind === 293 && container.kind !== 288) { return; } if (inStrictMode && !(node.flags & 4194304)) { @@ -19462,7 +19579,7 @@ var ts; declareSymbolAndAddToSymbolTable(node, 262144, 67639784); } } - else if (node.parent.kind === 171) { + else if (node.parent.kind === 172) { var container_2 = getInferTypeContainer(node.parent); if (container_2) { if (!container_2.locals) { @@ -19480,26 +19597,26 @@ var ts; } function shouldReportErrorOnModuleDeclaration(node) { var instanceState = getModuleInstanceState(node); - return instanceState === 1 || (instanceState === 2 && options.preserveConstEnums); + return instanceState === 1 || (instanceState === 2 && !!options.preserveConstEnums); } function checkUnreachable(node) { if (!(currentFlow.flags & 1)) { return false; } if (currentFlow === unreachableFlow) { - var reportError = (ts.isStatementButNotDeclaration(node) && node.kind !== 214) || - node.kind === 234 || - (node.kind === 238 && shouldReportErrorOnModuleDeclaration(node)) || - (node.kind === 237 && (!ts.isConstEnumDeclaration(node) || options.preserveConstEnums)); + var reportError = (ts.isStatementButNotDeclaration(node) && node.kind !== 215) || + node.kind === 235 || + (node.kind === 239 && shouldReportErrorOnModuleDeclaration(node)) || + (node.kind === 238 && (!ts.isConstEnumDeclaration(node) || options.preserveConstEnums)); if (reportError) { currentFlow = reportedUnreachableFlow; - var reportUnreachableCode = !options.allowUnreachableCode && - !(node.flags & 4194304) && - (node.kind !== 213 || - ts.getCombinedNodeFlags(node.declarationList) & 3 || - ts.forEach(node.declarationList.declarations, function (d) { return d.initializer; })); - if (reportUnreachableCode) { - errorOnFirstToken(node, ts.Diagnostics.Unreachable_code_detected); + if (!options.allowUnreachableCode) { + var isError = ts.unreachableCodeIsError(options) && + !(node.flags & 4194304) && + (!ts.isVariableStatement(node) || + !!(ts.getCombinedNodeFlags(node.declarationList) & 3) || + node.declarationList.declarations.some(function (d) { return !!d.initializer; })); + errorOrSuggestionOnFirstToken(isError, node, ts.Diagnostics.Unreachable_code_detected); } } } @@ -19514,8 +19631,8 @@ var ts; ts.isExportsOrModuleExportsOrAlias = isExportsOrModuleExportsOrAlias; function isNameOfExportsOrModuleExportsAliasDeclaration(sourceFile, node) { var symbol = lookupSymbolForNameWorker(sourceFile, node.escapedText); - return symbol && symbol.valueDeclaration && ts.isVariableDeclaration(symbol.valueDeclaration) && - symbol.valueDeclaration.initializer && isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, symbol.valueDeclaration.initializer); + return !!symbol && !!symbol.valueDeclaration && ts.isVariableDeclaration(symbol.valueDeclaration) && + !!symbol.valueDeclaration.initializer && isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, symbol.valueDeclaration.initializer); } function isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, node) { return isExportsOrModuleExportsOrAlias(sourceFile, node) || @@ -19531,58 +19648,58 @@ var ts; function computeTransformFlagsForNode(node, subtreeFlags) { var kind = node.kind; switch (kind) { - case 186: - return computeCallExpression(node, subtreeFlags); case 187: + return computeCallExpression(node, subtreeFlags); + case 188: return computeNewExpression(node, subtreeFlags); - case 238: + case 239: return computeModuleDeclaration(node, subtreeFlags); - case 190: - return computeParenthesizedExpression(node, subtreeFlags); - case 199: - return computeBinaryExpression(node, subtreeFlags); - case 215: - return computeExpressionStatement(node, subtreeFlags); - case 148: - return computeParameter(node, subtreeFlags); - case 192: - return computeArrowFunction(node, subtreeFlags); case 191: + return computeParenthesizedExpression(node, subtreeFlags); + case 200: + return computeBinaryExpression(node, subtreeFlags); + case 216: + return computeExpressionStatement(node, subtreeFlags); + case 149: + return computeParameter(node, subtreeFlags); + case 193: + return computeArrowFunction(node, subtreeFlags); + case 192: return computeFunctionExpression(node, subtreeFlags); - case 233: - return computeFunctionDeclaration(node, subtreeFlags); - case 231: - return computeVariableDeclaration(node, subtreeFlags); - case 232: - return computeVariableDeclarationList(node, subtreeFlags); - case 213: - return computeVariableStatement(node, subtreeFlags); - case 227: - return computeLabeledStatement(node, subtreeFlags); case 234: + return computeFunctionDeclaration(node, subtreeFlags); + case 232: + return computeVariableDeclaration(node, subtreeFlags); + case 233: + return computeVariableDeclarationList(node, subtreeFlags); + case 214: + return computeVariableStatement(node, subtreeFlags); + case 228: + return computeLabeledStatement(node, subtreeFlags); + case 235: return computeClassDeclaration(node, subtreeFlags); - case 204: + case 205: return computeClassExpression(node, subtreeFlags); - case 267: - return computeHeritageClause(node, subtreeFlags); case 268: + return computeHeritageClause(node, subtreeFlags); + case 269: return computeCatchClause(node, subtreeFlags); - case 206: + case 207: return computeExpressionWithTypeArguments(node, subtreeFlags); - case 154: - return computeConstructor(node, subtreeFlags); - case 151: - return computePropertyDeclaration(node, subtreeFlags); - case 153: - return computeMethod(node, subtreeFlags); case 155: + return computeConstructor(node, subtreeFlags); + case 152: + return computePropertyDeclaration(node, subtreeFlags); + case 154: + return computeMethod(node, subtreeFlags); case 156: + case 157: return computeAccessor(node, subtreeFlags); - case 242: + case 243: return computeImportEquals(node, subtreeFlags); - case 184: - return computePropertyAccess(node, subtreeFlags); case 185: + return computePropertyAccess(node, subtreeFlags); + case 186: return computeElementAccess(node, subtreeFlags); default: return computeOther(node, kind, subtreeFlags); @@ -19626,10 +19743,10 @@ var ts; var transformFlags = subtreeFlags; var operatorTokenKind = node.operatorToken.kind; var leftKind = node.left.kind; - if (operatorTokenKind === 58 && leftKind === 183) { + if (operatorTokenKind === 58 && leftKind === 184) { transformFlags |= 8 | 192 | 3072; } - else if (operatorTokenKind === 58 && leftKind === 182) { + else if (operatorTokenKind === 58 && leftKind === 183) { transformFlags |= 192 | 3072; } else if (operatorTokenKind === 40 @@ -19667,8 +19784,8 @@ var ts; var expression = node.expression; var expressionKind = expression.kind; var expressionTransformFlags = expression.transformFlags; - if (expressionKind === 207 - || expressionKind === 189) { + if (expressionKind === 208 + || expressionKind === 190) { transformFlags |= 3; } if (expressionTransformFlags & 1024) { @@ -19967,12 +20084,12 @@ var ts; var excludeFlags = 939525441; switch (kind) { case 120: - case 196: + case 197: transformFlags |= 8 | 16; break; - case 189: - case 207: - case 300: + case 190: + case 208: + case 301: transformFlags |= 3; excludeFlags = 536872257; break; @@ -19982,17 +20099,16 @@ var ts; case 117: case 124: case 76: - case 237: - case 272: - case 208: + case 238: + case 273: + case 209: case 132: transformFlags |= 3; break; - case 254: case 255: case 256: - case 10: case 257: + case 10: case 258: case 259: case 260: @@ -20000,17 +20116,18 @@ var ts; case 262: case 263: case 264: + case 265: transformFlags |= 4; break; case 13: case 14: case 15: case 16: - case 201: - case 188: - case 270: + case 202: + case 189: + case 271: case 115: - case 209: + case 210: transformFlags |= 192; break; case 9: @@ -20023,13 +20140,13 @@ var ts; transformFlags |= 192; } break; - case 221: + case 222: if (node.awaitModifier) { transformFlags |= 8; } transformFlags |= 192; break; - case 202: + case 203: transformFlags |= 8 | 192 | 16777216; break; case 119: @@ -20040,10 +20157,9 @@ var ts; case 122: case 138: case 105: - case 147: - case 150: - case 152: - case 157: + case 148: + case 151: + case 153: case 158: case 159: case 160: @@ -20059,27 +20175,28 @@ var ts; case 170: case 171: case 172: - case 235: - case 236: case 173: + case 236: + case 237: case 174: case 175: case 176: case 177: - case 241: + case 178: + case 242: transformFlags = 3; excludeFlags = -3; break; - case 146: + case 147: transformFlags |= 2097152; if (subtreeFlags & 16384) { transformFlags |= 65536; } break; - case 203: + case 204: transformFlags |= 192 | 524288; break; - case 271: + case 272: transformFlags |= 8 | 1048576; break; case 97: @@ -20089,27 +20206,27 @@ var ts; case 99: transformFlags |= 16384; break; - case 179: + case 180: transformFlags |= 192 | 8388608; if (subtreeFlags & 524288) { transformFlags |= 8 | 1048576; } excludeFlags = 940049729; break; - case 180: + case 181: transformFlags |= 192 | 8388608; excludeFlags = 940049729; break; - case 181: + case 182: transformFlags |= 192; if (node.dotDotDotToken) { transformFlags |= 524288; } break; - case 149: + case 150: transformFlags |= 3 | 4096; break; - case 183: + case 184: excludeFlags = 942740801; if (subtreeFlags & 2097152) { transformFlags |= 192; @@ -20121,29 +20238,31 @@ var ts; transformFlags |= 8; } break; - case 182: - case 187: + case 183: + case 188: excludeFlags = 940049729; if (subtreeFlags & 524288) { transformFlags |= 192; } break; - case 217: case 218: case 219: case 220: + case 221: if (subtreeFlags & 4194304) { transformFlags |= 192; } break; - case 273: + case 274: if (subtreeFlags & 32768) { transformFlags |= 192; } break; - case 224: - case 222: + case 225: + transformFlags |= 33554432 | 8; + break; case 223: + case 224: transformFlags |= 33554432; break; } @@ -20151,33 +20270,33 @@ var ts; return transformFlags & ~excludeFlags; } function getTransformFlagsSubtreeExclusions(kind) { - if (kind >= 160 && kind <= 178) { + if (kind >= 161 && kind <= 179) { return -3; } switch (kind) { - case 186: case 187: - case 182: + case 188: + case 183: return 940049729; - case 238: + case 239: return 977327425; - case 148: + case 149: return 939525441; - case 192: + case 193: return 1003902273; - case 191: - case 233: - return 1003935041; - case 232: - return 948962625; + case 192: case 234: - case 204: + return 1003935041; + case 233: + return 948962625; + case 235: + case 205: return 942011713; - case 154: - return 1003668801; - case 153: case 155: + return 1003668801; + case 154: case 156: + case 157: return 1003668801; case 119: case 134: @@ -20187,30 +20306,30 @@ var ts; case 122: case 138: case 105: - case 147: - case 150: - case 152: - case 157: + case 148: + case 151: + case 153: case 158: case 159: - case 235: + case 160: case 236: + case 237: return -3; - case 183: + case 184: return 942740801; - case 268: + case 269: return 940574017; - case 179: case 180: + case 181: return 940049729; - case 189: - case 207: - case 300: case 190: + case 208: + case 301: + case 191: case 97: return 536872257; - case 184: case 185: + case 186: return 671089985; default: return 939525441; @@ -20263,7 +20382,7 @@ var ts; var shouldBail = visitSymbol(type.symbol); if (shouldBail) return; - if (type.flags & 65536) { + if (type.flags & 131072) { var objectType = type; var objectFlags = objectType.objectFlags; if (objectFlags & 4) { @@ -20279,16 +20398,16 @@ var ts; visitObjectType(objectType); } } - if (type.flags & 32768) { + if (type.flags & 65536) { visitTypeParameter(type); } - if (type.flags & 393216) { + if (type.flags & 786432) { visitUnionOrIntersectionType(type); } - if (type.flags & 524288) { + if (type.flags & 1048576) { visitIndexType(type); } - if (type.flags & 1048576) { + if (type.flags & 2097152) { visitIndexedAccessType(type); } } @@ -20356,11 +20475,11 @@ var ts; } function visitSymbol(symbol) { if (!symbol) { - return; + return false; } var symbolId = ts.getSymbolId(symbol); if (visitedSymbols[symbolId]) { - return; + return false; } visitedSymbols[symbolId] = symbol; if (!accept(symbol)) { @@ -20372,12 +20491,13 @@ var ts; symbol.exports.forEach(visitSymbol); } ts.forEach(symbol.declarations, function (d) { - if (d.type && d.type.kind === 164) { + if (d.type && d.type.kind === 165) { var query = d.type; var entity = getResolvedSymbol(getFirstIdentifier(query.exprName)); visitSymbol(entity); } }); + return false; } } } @@ -20390,7 +20510,7 @@ var ts; } ts.trace = trace; function isTraceEnabled(compilerOptions, host) { - return compilerOptions.traceResolution && host.trace !== undefined; + return !!compilerOptions.traceResolution && host.trace !== undefined; } ts.isTraceEnabled = isTraceEnabled; function withPackageId(packageId, r) { @@ -20551,14 +20671,13 @@ var ts; } } function secondaryLookup() { - var resolvedFile; var initialLocationForSecondaryLookup = containingFile && ts.getDirectoryPath(containingFile); if (initialLocationForSecondaryLookup !== undefined) { if (traceEnabled) { trace(host, ts.Diagnostics.Looking_up_in_node_modules_folder_initial_location_0, initialLocationForSecondaryLookup); } var result = loadModuleFromNodeModules(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, failedLookupLocations, moduleResolutionState, undefined); - resolvedFile = resolvedTypeScriptOnly(result && result.value); + var resolvedFile = resolvedTypeScriptOnly(result && result.value); if (!resolvedFile && traceEnabled) { trace(host, ts.Diagnostics.Type_reference_directive_0_was_not_resolved, typeReferenceDirectiveName); } @@ -20710,7 +20829,7 @@ var ts; result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache); break; default: - ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); + return ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); } if (perFolderCache) { perFolderCache.set(moduleName, result); @@ -20888,7 +21007,7 @@ var ts; var originalPath = void 0; if (!compilerOptions.preserveSymlinks && resolvedValue) { originalPath = resolvedValue.path; - var path = realPath(resolved_1.value.path, host, traceEnabled); + var path = realPath(resolvedValue.path, host, traceEnabled); if (path === originalPath) { originalPath = undefined; } @@ -20988,7 +21107,7 @@ var ts; function loadModuleFromFile(extensions, candidate, failedLookupLocations, onlyRecordFailures, state) { if (extensions === Extensions.Json) { var extensionLess = ts.tryRemoveExtension(candidate, ".json"); - return extensionLess && tryAddingExtensions(extensionLess, extensions, failedLookupLocations, onlyRecordFailures, state); + return extensionLess === undefined ? undefined : tryAddingExtensions(extensionLess, extensions, failedLookupLocations, onlyRecordFailures, state); } var resolvedByAddingExtension = tryAddingExtensions(candidate, extensions, failedLookupLocations, onlyRecordFailures, state); if (resolvedByAddingExtension) { @@ -21022,7 +21141,7 @@ var ts; } function tryExtension(ext) { var path = tryFile(candidate + ext, failedLookupLocations, onlyRecordFailures, state); - return path && { path: path, ext: ext }; + return path === undefined ? undefined : { path: path, ext: ext }; } } function tryFile(fileName, failedLookupLocations, onlyRecordFailures, state) { @@ -21393,11 +21512,12 @@ var ts; getGlobalDiagnostics: getGlobalDiagnostics, getTypeOfSymbolAtLocation: function (symbol, location) { location = ts.getParseTreeNode(location); - return location ? getTypeOfSymbolAtLocation(symbol, location) : unknownType; + return location ? getTypeOfSymbolAtLocation(symbol, location) : errorType; }, - getSymbolsOfParameterPropertyDeclaration: function (parameter, parameterName) { - parameter = ts.getParseTreeNode(parameter, ts.isParameter); - ts.Debug.assert(parameter !== undefined, "Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."); + getSymbolsOfParameterPropertyDeclaration: function (parameterIn, parameterName) { + var parameter = ts.getParseTreeNode(parameterIn, ts.isParameter); + if (parameter === undefined) + return ts.Debug.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."); return getSymbolsOfParameterPropertyDeclaration(parameter, ts.escapeLeadingUnderscores(parameterName)); }, getDeclaredTypeOfSymbol: getDeclaredTypeOfSymbol, @@ -21409,9 +21529,9 @@ var ts; getBaseTypes: getBaseTypes, getBaseTypeOfLiteralType: getBaseTypeOfLiteralType, getWidenedType: getWidenedType, - getTypeFromTypeNode: function (node) { - node = ts.getParseTreeNode(node, ts.isTypeNode); - return node ? getTypeFromTypeNode(node) : unknownType; + getTypeFromTypeNode: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isTypeNode); + return node ? getTypeFromTypeNode(node) : errorType; }, getParameterType: getTypeAtPosition, getReturnTypeOfSignature: getReturnTypeOfSignature, @@ -21437,8 +21557,8 @@ var ts; node = ts.getParseTreeNode(node); return node ? getShorthandAssignmentValueSymbol(node) : undefined; }, - getExportSpecifierLocalTargetSymbol: function (node) { - node = ts.getParseTreeNode(node, ts.isExportSpecifier); + getExportSpecifierLocalTargetSymbol: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isExportSpecifier); return node ? getExportSpecifierLocalTargetSymbol(node) : undefined; }, getExportSymbolOfSymbol: function (symbol) { @@ -21446,10 +21566,10 @@ var ts; }, getTypeAtLocation: function (node) { node = ts.getParseTreeNode(node); - return node ? getTypeOfNode(node) : unknownType; + return node ? getTypeOfNode(node) : errorType; }, - getPropertySymbolOfDestructuringAssignment: function (location) { - location = ts.getParseTreeNode(location, ts.isIdentifier); + getPropertySymbolOfDestructuringAssignment: function (locationIn) { + var location = ts.getParseTreeNode(locationIn, ts.isIdentifier); return location ? getPropertySymbolOfDestructuringAssignment(location) : undefined; }, signatureToString: function (signature, enclosingDeclaration, flags, kind) { @@ -21479,41 +21599,41 @@ var ts; getSymbolDisplayBuilder: getSymbolDisplayBuilder, getAugmentedPropertiesOfType: getAugmentedPropertiesOfType, getRootSymbols: getRootSymbols, - getContextualType: function (node) { - node = ts.getParseTreeNode(node, ts.isExpression); + getContextualType: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isExpression); return node ? getContextualType(node) : undefined; }, - getContextualTypeForArgumentAtIndex: function (node, argIndex) { - node = ts.getParseTreeNode(node, ts.isCallLikeExpression); + getContextualTypeForArgumentAtIndex: function (nodeIn, argIndex) { + var node = ts.getParseTreeNode(nodeIn, ts.isCallLikeExpression); return node && getContextualTypeForArgumentAtIndex(node, argIndex); }, - getContextualTypeForJsxAttribute: function (node) { - node = ts.getParseTreeNode(node, ts.isJsxAttributeLike); + getContextualTypeForJsxAttribute: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isJsxAttributeLike); return node && getContextualTypeForJsxAttribute(node); }, isContextSensitive: isContextSensitive, getFullyQualifiedName: getFullyQualifiedName, - getResolvedSignature: function (node, candidatesOutArray, theArgumentCount) { - node = ts.getParseTreeNode(node, ts.isCallLikeExpression); + getResolvedSignature: function (nodeIn, candidatesOutArray, theArgumentCount) { + var node = ts.getParseTreeNode(nodeIn, ts.isCallLikeExpression); apparentArgumentCount = theArgumentCount; var res = node ? getResolvedSignature(node, candidatesOutArray) : undefined; apparentArgumentCount = undefined; return res; }, - getConstantValue: function (node) { - node = ts.getParseTreeNode(node, canHaveConstantValue); + getConstantValue: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue(node) : undefined; }, - isValidPropertyAccess: function (node, propertyName) { - node = ts.getParseTreeNode(node, ts.isPropertyAccessOrQualifiedNameOrImportTypeNode); + isValidPropertyAccess: function (nodeIn, propertyName) { + var node = ts.getParseTreeNode(nodeIn, ts.isPropertyAccessOrQualifiedNameOrImportTypeNode); return !!node && isValidPropertyAccess(node, ts.escapeLeadingUnderscores(propertyName)); }, - isValidPropertyAccessForCompletions: function (node, type, property) { - node = ts.getParseTreeNode(node, ts.isPropertyAccessExpression); + isValidPropertyAccessForCompletions: function (nodeIn, type, property) { + var node = ts.getParseTreeNode(nodeIn, ts.isPropertyAccessExpression); return !!node && isValidPropertyAccessForCompletions(node, type, property); }, - getSignatureFromDeclaration: function (declaration) { - declaration = ts.getParseTreeNode(declaration, ts.isFunctionLike); + getSignatureFromDeclaration: function (declarationIn) { + var declaration = ts.getParseTreeNode(declarationIn, ts.isFunctionLike); return declaration ? getSignatureFromDeclaration(declaration) : undefined; }, isImplementationOfOverload: function (node) { @@ -21525,7 +21645,8 @@ var ts; var links = getSymbolLinks(symbol); if (!links.immediateTarget) { var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); + if (!node) + return ts.Debug.fail(); links.immediateTarget = getTargetOfAliasDeclaration(node, true); } return links.immediateTarget; @@ -21536,13 +21657,13 @@ var ts; getExportsAndPropertiesOfModule: getExportsAndPropertiesOfModule, getSymbolWalker: ts.createGetSymbolWalker(getRestTypeOfSignature, getTypePredicateOfSignature, getReturnTypeOfSignature, getBaseTypes, resolveStructuredTypeMembers, getTypeOfSymbol, getResolvedSymbol, getIndexTypeOfStructuredType, getConstraintFromTypeParameter, getFirstIdentifier), getAmbientModules: getAmbientModules, - getAllAttributesTypeFromJsxOpeningLikeElement: function (node) { - node = ts.getParseTreeNode(node, ts.isJsxOpeningLikeElement); + getAllAttributesTypeFromJsxOpeningLikeElement: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isJsxOpeningLikeElement); return node ? getAllAttributesTypeFromJsxOpeningLikeElement(node) : undefined; }, getJsxIntrinsicTagNamesAt: getJsxIntrinsicTagNamesAt, - isOptionalParameter: function (node) { - node = ts.getParseTreeNode(node, ts.isParameter); + isOptionalParameter: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isParameter); return node ? isOptionalParameter(node) : false; }, tryGetMemberInModuleExports: function (name, symbol) { return tryGetMemberInModuleExports(ts.escapeLeadingUnderscores(name), symbol); }, @@ -21574,7 +21695,7 @@ var ts; getSuggestionForNonexistentSymbol: function (location, name, meaning) { return getSuggestionForNonexistentSymbol(location, ts.escapeLeadingUnderscores(name), meaning); }, getSuggestionForNonexistentModule: function (node, target) { return getSuggestionForNonexistentModule(node, target); }, getBaseConstraintOfType: getBaseConstraintOfType, - getDefaultFromTypeParameter: function (type) { return type && type.flags & 32768 ? getDefaultFromTypeParameter(type) : undefined; }, + getDefaultFromTypeParameter: function (type) { return type && type.flags & 65536 ? getDefaultFromTypeParameter(type) : undefined; }, resolveName: function (name, location, meaning, excludeGlobals) { return resolveName(location, ts.escapeLeadingUnderscores(name), meaning, undefined, undefined, false, excludeGlobals); }, @@ -21586,24 +21707,31 @@ var ts; node = ts.getParseTreeNode(node); return node && tryGetThisTypeAt(node); }, - getTypeArgumentConstraint: function (node) { - node = ts.getParseTreeNode(node, ts.isTypeNode); + getTypeArgumentConstraint: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isTypeNode); return node && getTypeArgumentConstraint(node); }, - getSuggestionDiagnostics: function (file) { - return (suggestionDiagnostics.get(file.fileName) || ts.emptyArray).concat(getUnusedDiagnostics()); - function getUnusedDiagnostics() { - if (file.isDeclarationFile) - return ts.emptyArray; + getSuggestionDiagnostics: function (file, ct) { + var diagnostics; + try { + cancellationToken = ct; checkSourceFile(file); - var diagnostics = []; ts.Debug.assert(!!(getNodeLinks(file).flags & 1)); + diagnostics = ts.addRange(diagnostics, suggestionDiagnostics.get(file.fileName)); + if (!file.isDeclarationFile && (!unusedIsError(0) || !unusedIsError(1))) { + addUnusedDiagnostics(); + } + return diagnostics || ts.emptyArray; + } + finally { + cancellationToken = undefined; + } + function addUnusedDiagnostics() { checkUnusedIdentifiers(getPotentiallyUnusedIdentifiers(file), function (kind, diag) { if (!unusedIsError(kind)) { - diagnostics.push(__assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); + (diagnostics || (diagnostics = [])).push(__assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); } }); - return diagnostics; } }, runWithCancellationToken: function (token, callback) { @@ -21628,22 +21756,23 @@ var ts; var anyType = createIntrinsicType(1, "any"); var autoType = createIntrinsicType(1, "any"); var wildcardType = createIntrinsicType(1, "any"); - var unknownType = createIntrinsicType(1, "unknown"); - var undefinedType = createIntrinsicType(4096, "undefined"); - var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(4096 | 16777216, "undefined"); - var nullType = createIntrinsicType(8192, "null"); - var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(8192 | 16777216, "null"); - var stringType = createIntrinsicType(2, "string"); - var numberType = createIntrinsicType(4, "number"); - var trueType = createIntrinsicType(128, "true"); - var falseType = createIntrinsicType(128, "false"); + var errorType = createIntrinsicType(1, "error"); + var unknownType = createIntrinsicType(2, "unknown"); + var undefinedType = createIntrinsicType(8192, "undefined"); + var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(8192 | 134217728, "undefined"); + var nullType = createIntrinsicType(16384, "null"); + var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(16384 | 134217728, "null"); + var stringType = createIntrinsicType(4, "string"); + var numberType = createIntrinsicType(8, "number"); + var trueType = createIntrinsicType(256, "true"); + var falseType = createIntrinsicType(256, "false"); var booleanType = createBooleanType([trueType, falseType]); - var esSymbolType = createIntrinsicType(512, "symbol"); - var voidType = createIntrinsicType(2048, "void"); - var neverType = createIntrinsicType(16384, "never"); - var silentNeverType = createIntrinsicType(16384, "never"); - var implicitNeverType = createIntrinsicType(16384, "never"); - var nonPrimitiveType = createIntrinsicType(134217728, "object"); + var esSymbolType = createIntrinsicType(1024, "symbol"); + var voidType = createIntrinsicType(4096, "void"); + var neverType = createIntrinsicType(32768, "never"); + var silentNeverType = createIntrinsicType(32768, "never"); + var implicitNeverType = createIntrinsicType(32768, "never"); + var nonPrimitiveType = createIntrinsicType(16777216, "object"); var stringNumberSymbolType = getUnionType([stringType, numberType, esSymbolType]); var keyofConstraintType = keyofStringsOnly ? stringType : stringNumberSymbolType; var emptyObjectType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); @@ -21653,17 +21782,17 @@ var ts; var emptyGenericType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); emptyGenericType.instantiations = ts.createMap(); var anyFunctionType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); - anyFunctionType.flags |= 67108864; + anyFunctionType.flags |= 536870912; var noConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); var circularConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); var resolvingDefaultType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); - var markerSuperType = createType(32768); - var markerSubType = createType(32768); + var markerSuperType = createType(65536); + var markerSubType = createType(65536); markerSubType.constraint = markerSuperType; - var markerOtherType = createType(32768); + var markerOtherType = createType(65536); var noTypePredicate = createIdentifierTypePredicate("<>", 0, anyType); var anySignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, undefined, 0, false, false); - var unknownSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, unknownType, undefined, 0, false, false); + var unknownSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, errorType, undefined, 0, false, false); var resolvingSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, undefined, 0, false, false); var silentNeverSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, silentNeverType, undefined, 0, false, false); var resolvingSignaturesArray = [resolvingSignature]; @@ -21773,6 +21902,7 @@ var ts; typeToString(type, enclosingDeclaration, flags, emitTextWriterWrapper(writer)); }, buildSymbolDisplay: function (symbol, writer, enclosingDeclaration, meaning, flags) { + if (flags === void 0) { flags = 0; } symbolToString(symbol, enclosingDeclaration, meaning, flags | 4, emitTextWriterWrapper(writer)); }, buildSignatureDisplay: function (signature, writer, enclosing, flags, kind) { @@ -22022,15 +22152,17 @@ var ts; function mergeSymbol(target, source) { if (!(target.flags & getExcludedSymbolFlags(source.flags)) || (source.flags | target.flags) & 67108864) { - var targetValueDeclaration = target.valueDeclaration; - ts.Debug.assert(!!(target.flags & 33554432)); + ts.Debug.assert(source !== target); + if (!(target.flags & 33554432)) { + target = cloneSymbol(target); + } if (source.flags & 512 && target.flags & 512 && target.constEnumOnlyModule && !source.constEnumOnlyModule) { target.constEnumOnlyModule = false; } target.flags |= source.flags; if (source.valueDeclaration && (!target.valueDeclaration || - (target.valueDeclaration.kind === 238 && source.valueDeclaration.kind !== 238))) { + (target.valueDeclaration.kind === 239 && source.valueDeclaration.kind !== 239))) { target.valueDeclaration = source.valueDeclaration; } ts.addRange(target.declarations, source.declarations); @@ -22044,18 +22176,6 @@ var ts; target.exports = ts.createSymbolTable(); mergeSymbolTable(target.exports, source.exports); } - if ((source.flags | target.flags) & 67108864) { - var sourceInitializer = ts.getJSInitializerSymbol(source); - var init = ts.getDeclaredJavascriptInitializer(targetValueDeclaration) || ts.getAssignedJavascriptInitializer(targetValueDeclaration); - var targetInitializer = init && init.symbol ? init.symbol : target; - if (!(targetInitializer.flags & 33554432)) { - var mergedInitializer = getMergedSymbol(targetInitializer); - targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; - } - if (sourceInitializer !== source || targetInitializer !== target) { - mergeSymbol(targetInitializer, sourceInitializer); - } - } recordMergedSymbol(target, source); } else if (target.flags & 1024) { @@ -22076,11 +22196,12 @@ var ts; error(errorNode, message_2, symbolToString(source)); }); } + return target; } function combineSymbolTables(first, second) { - if (!first || first.size === 0) + if (!ts.hasEntries(first)) return second; - if (!second || second.size === 0) + if (!ts.hasEntries(second)) return first; var combined = ts.createSymbolTable(); mergeSymbolTable(combined, first); @@ -22089,17 +22210,7 @@ var ts; } function mergeSymbolTable(target, source) { source.forEach(function (sourceSymbol, id) { - var targetSymbol = target.get(id); - if (!targetSymbol) { - target.set(id, sourceSymbol); - } - else { - if (!(targetSymbol.flags & 33554432)) { - targetSymbol = cloneSymbol(targetSymbol); - target.set(id, targetSymbol); - } - mergeSymbol(targetSymbol, sourceSymbol); - } + target.set(id, target.has(id) ? mergeSymbol(target.get(id), sourceSymbol) : sourceSymbol); }); } function mergeModuleAugmentation(moduleName) { @@ -22121,8 +22232,7 @@ var ts; } mainModule = resolveExternalModuleSymbol(mainModule); if (mainModule.flags & 1920) { - mainModule = mainModule.flags & 33554432 ? mainModule : cloneSymbol(mainModule); - mergeSymbol(mainModule, moduleAugmentation.symbol); + mainModule = mergeSymbol(mainModule, moduleAugmentation.symbol); } else { error(moduleName, ts.Diagnostics.Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity, moduleName.text); @@ -22154,7 +22264,7 @@ var ts; return nodeLinks[nodeId] || (nodeLinks[nodeId] = { flags: 0 }); } function isGlobalSourceFile(node) { - return node.kind === 273 && !ts.isExternalOrCommonJsModule(node); + return node.kind === 274 && !ts.isExternalOrCommonJsModule(node); } function getSymbol(symbols, name, meaning) { if (meaning) { @@ -22181,7 +22291,7 @@ var ts; if (parameterSymbol && propertySymbol) { return [parameterSymbol, propertySymbol]; } - ts.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration"); + return ts.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration"); } function isBlockScopedNameDeclaredBeforeUse(declaration, usage) { var declarationFile = ts.getSourceFileOfNode(declaration); @@ -22200,15 +22310,15 @@ var ts; return sourceFiles.indexOf(declarationFile) <= sourceFiles.indexOf(useFile); } if (declaration.pos <= usage.pos) { - if (declaration.kind === 181) { - var errorBindingElement = ts.getAncestor(usage, 181); + if (declaration.kind === 182) { + var errorBindingElement = ts.getAncestor(usage, 182); if (errorBindingElement) { return ts.findAncestor(errorBindingElement, ts.isBindingElement) !== ts.findAncestor(declaration, ts.isBindingElement) || declaration.pos < errorBindingElement.pos; } - return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 231), usage); + return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 232), usage); } - else if (declaration.kind === 231) { + else if (declaration.kind === 232) { return !isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage); } else if (ts.isClassDeclaration(declaration)) { @@ -22216,10 +22326,10 @@ var ts; } return true; } - if (usage.parent.kind === 251 || (usage.parent.kind === 248 && usage.parent.isExportEquals)) { + if (usage.parent.kind === 252 || (usage.parent.kind === 249 && usage.parent.isExportEquals)) { return true; } - if (usage.kind === 248 && usage.isExportEquals) { + if (usage.kind === 249 && usage.isExportEquals) { return true; } var container = ts.getEnclosingBlockScopeContainer(declaration); @@ -22227,15 +22337,16 @@ var ts; function isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage) { var container = ts.getEnclosingBlockScopeContainer(declaration); switch (declaration.parent.parent.kind) { - case 213: - case 219: - case 221: + case 214: + case 220: + case 222: if (isSameScopeDescendentOf(usage, declaration, container)) { return true; } break; } - return ts.isForInOrOfStatement(declaration.parent.parent) && isSameScopeDescendentOf(usage, declaration.parent.parent.expression, container); + var grandparent = declaration.parent.parent; + return ts.isForInOrOfStatement(grandparent) && isSameScopeDescendentOf(usage, grandparent.expression, container); } function isUsedInFunctionOrInstanceProperty(usage, declaration, container) { return !!ts.findAncestor(usage, function (current) { @@ -22246,21 +22357,22 @@ var ts; return true; } var initializerOfProperty = current.parent && - current.parent.kind === 151 && + current.parent.kind === 152 && current.parent.initializer === current; if (initializerOfProperty) { if (ts.hasModifier(current.parent, 32)) { - if (declaration.kind === 153) { + if (declaration.kind === 154) { return true; } } else { - var isDeclarationInstanceProperty = declaration.kind === 151 && !ts.hasModifier(declaration, 32); + var isDeclarationInstanceProperty = declaration.kind === 152 && !ts.hasModifier(declaration, 32); if (!isDeclarationInstanceProperty || ts.getContainingClass(usage) !== ts.getContainingClass(declaration)) { return true; } } } + return false; }); } } @@ -22282,21 +22394,21 @@ var ts; if (result = lookup(location.locals, name, meaning)) { var useResult = true; if (ts.isFunctionLike(location) && lastLocation && lastLocation !== location.body) { - if (meaning & result.flags & 67901928 && lastLocation.kind !== 285) { + if (meaning & result.flags & 67901928 && lastLocation.kind !== 286) { useResult = result.flags & 262144 ? lastLocation === location.type || - lastLocation.kind === 148 || - lastLocation.kind === 147 + lastLocation.kind === 149 || + lastLocation.kind === 148 : false; } if (meaning & 67216319 && result.flags & 1) { useResult = - lastLocation.kind === 148 || + lastLocation.kind === 149 || (lastLocation === location.type && !!ts.findAncestor(result.valueDeclaration, ts.isParameter)); } } - else if (location.kind === 170) { + else if (location.kind === 171) { useResult = lastLocation === location.trueType; } if (useResult) { @@ -22308,13 +22420,13 @@ var ts; } } switch (location.kind) { - case 273: + case 274: if (!ts.isExternalOrCommonJsModule(location)) break; isInExternalModule = true; - case 238: + case 239: var moduleExports = getSymbolOfNode(location).exports; - if (location.kind === 273 || ts.isAmbientModule(location)) { + if (location.kind === 274 || ts.isAmbientModule(location)) { if (result = moduleExports.get("default")) { var localSymbol = ts.getLocalSymbolForExportDefault(result); if (localSymbol && (result.flags & meaning) && localSymbol.escapedName === name) { @@ -22325,21 +22437,26 @@ var ts; var moduleExport = moduleExports.get(name); if (moduleExport && moduleExport.flags === 2097152 && - ts.getDeclarationOfKind(moduleExport, 251)) { + ts.getDeclarationOfKind(moduleExport, 252)) { break; } } if (name !== "default" && (result = lookup(moduleExports, name, meaning & 2623475))) { - break loop; + if (ts.isSourceFile(location) && location.commonJsModuleIndicator && !result.declarations.some(ts.isJSDocTypeAlias)) { + result = undefined; + } + else { + break loop; + } } break; - case 237: + case 238: if (result = lookup(getSymbolOfNode(location).exports, name, meaning & 8)) { break loop; } break; + case 152: case 151: - case 150: if (ts.isClassLike(location.parent) && !ts.hasModifier(location, 32)) { var ctor = findConstructorDeclaration(location.parent); if (ctor && ctor.locals) { @@ -22349,9 +22466,9 @@ var ts; } } break; - case 234: - case 204: case 235: + case 205: + case 236: if (result = lookup(getMembersOfSymbol(getSymbolOfNode(location)), name, meaning & 67901928)) { if (!isTypeParameterSymbolDeclaredInContainer(result, location)) { result = undefined; @@ -22363,7 +22480,7 @@ var ts; } break loop; } - if (location.kind === 204 && meaning & 32) { + if (location.kind === 205 && meaning & 32) { var className = location.name; if (className && name === className.escapedText) { result = location.symbol; @@ -22371,7 +22488,7 @@ var ts; } } break; - case 206: + case 207: if (lastLocation === location.expression && location.parent.token === 85) { var container = location.parent.parent; if (ts.isClassLike(container) && (result = lookup(getSymbolOfNode(container).members, name, meaning & 67901928))) { @@ -22382,28 +22499,28 @@ var ts; } } break; - case 146: + case 147: grandparent = location.parent.parent; - if (ts.isClassLike(grandparent) || grandparent.kind === 235) { + if (ts.isClassLike(grandparent) || grandparent.kind === 236) { if (result = lookup(getSymbolOfNode(grandparent).members, name, meaning & 67901928)) { error(errorLocation, ts.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type); return undefined; } } break; - case 153: - case 152: case 154: + case 153: case 155: case 156: - case 233: - case 192: + case 157: + case 234: + case 193: if (meaning & 3 && name === "arguments") { result = argumentsSymbol; break loop; } break; - case 191: + case 192: if (meaning & 3 && name === "arguments") { result = argumentsSymbol; break loop; @@ -22416,19 +22533,18 @@ var ts; } } break; - case 149: - if (location.parent && location.parent.kind === 148) { + case 150: + if (location.parent && location.parent.kind === 149) { location = location.parent; } if (location.parent && ts.isClassElement(location.parent)) { location = location.parent; } break; - case 296: - case 291: - lastLocation = location; - location = ts.getJSDocHost(location).parent; - continue; + case 297: + case 292: + location = ts.getJSDocHost(location); + break; } if (isSelfReferenceLocation(location)) { lastSelfReferenceLocation = location; @@ -22441,7 +22557,7 @@ var ts; } if (!result) { if (lastLocation) { - ts.Debug.assert(lastLocation.kind === 273); + ts.Debug.assert(lastLocation.kind === 274); if (lastLocation.commonJsModuleIndicator && name === "exports") { return lastLocation.symbol; } @@ -22500,7 +22616,7 @@ var ts; } if (result && isInExternalModule && (meaning & 67216319) === 67216319 && !(originalLocation.flags & 2097152)) { var decls = result.declarations; - if (decls && decls.length === 1 && decls[0].kind === 241) { + if (decls && decls.length === 1 && decls[0].kind === 242) { error(errorLocation, ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, ts.unescapeLeadingUnderscores(name)); } } @@ -22509,12 +22625,12 @@ var ts; } function isSelfReferenceLocation(node) { switch (node.kind) { - case 233: case 234: case 235: - case 237: case 236: case 238: + case 237: + case 239: return true; default: return false; @@ -22526,7 +22642,7 @@ var ts; function isTypeParameterSymbolDeclaredInContainer(symbol, container) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - if (decl.kind === 147) { + if (decl.kind === 148) { var parent = ts.isJSDocTemplateTag(decl.parent) ? ts.getJSDocHost(decl.parent) : decl.parent; if (parent === container) { return !(ts.isJSDocTemplateTag(decl.parent) && ts.find(decl.parent.parent.tags, ts.isJSDocTypeAlias)); @@ -22566,18 +22682,18 @@ var ts; } function checkAndReportErrorForExtendingInterface(errorLocation) { var expression = getEntityNameForExtendingInterface(errorLocation); - var isError = !!(expression && resolveEntityName(expression, 64, true)); - if (isError) { + if (expression && resolveEntityName(expression, 64, true)) { error(errorLocation, ts.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements, ts.getTextOfNode(expression)); + return true; } - return isError; + return false; } function getEntityNameForExtendingInterface(node) { switch (node.kind) { case 71: - case 184: + case 185: return node.parent ? getEntityNameForExtendingInterface(node.parent) : undefined; - case 206: + case 207: if (ts.isEntityNameExpression(node.expression)) { return node.expression; } @@ -22639,8 +22755,9 @@ var ts; } function checkResolvedBlockScopedVariable(result, errorLocation) { ts.Debug.assert(!!(result.flags & 2 || result.flags & 32 || result.flags & 384)); - var declaration = ts.forEach(result.declarations, function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 237) ? d : undefined; }); - ts.Debug.assert(declaration !== undefined, "Declaration to checkResolvedBlockScopedVariable is undefined"); + var declaration = ts.forEach(result.declarations, function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 238) ? d : undefined; }); + if (declaration === undefined) + return ts.Debug.fail("Declaration to checkResolvedBlockScopedVariable is undefined"); if (!(declaration.flags & 4194304) && !isBlockScopedNameDeclaredBeforeUse(declaration, errorLocation)) { if (result.flags & 2) { error(errorLocation, ts.Diagnostics.Block_scoped_variable_0_used_before_its_declaration, ts.declarationNameToString(ts.getNameOfDeclaration(declaration))); @@ -22654,17 +22771,17 @@ var ts; } } function isSameScopeDescendentOf(initial, parent, stopAt) { - return parent && !!ts.findAncestor(initial, function (n) { return n === stopAt || ts.isFunctionLike(n) ? "quit" : n === parent; }); + return !!parent && !!ts.findAncestor(initial, function (n) { return n === stopAt || ts.isFunctionLike(n) ? "quit" : n === parent; }); } function getAnyImportSyntax(node) { switch (node.kind) { - case 242: + case 243: return node; - case 244: - return node.parent; case 245: + return node.parent; + case 246: return node.parent.parent; - case 247: + case 248: return node.parent.parent.parent; default: return undefined; @@ -22674,7 +22791,7 @@ var ts; return ts.find(symbol.declarations, ts.isAliasSymbolDeclaration); } function getTargetOfImportEqualsDeclaration(node, dontResolveAlias) { - if (node.moduleReference.kind === 253) { + if (node.moduleReference.kind === 254) { return resolveExternalModuleSymbol(resolveExternalModuleName(node, ts.getExternalModuleImportEqualsDeclarationExpression(node))); } return getSymbolOfPartOfRightHandSideOfImportEquals(node.moduleReference, dontResolveAlias); @@ -22686,7 +22803,7 @@ var ts; : resolveSymbol(moduleSymbol.exports.get(name), dontResolveAlias); } function isSyntacticDefault(node) { - return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasModifier(node, 512)); + return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasModifier(node, 512) || ts.isExportSpecifier(node)); } function canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias) { if (!allowSyntheticDefaultImports) { @@ -22764,6 +22881,7 @@ var ts; } } function getExternalModuleMember(node, specifier, dontResolveAlias) { + if (dontResolveAlias === void 0) { dontResolveAlias = false; } var moduleSymbol = resolveExternalModuleName(node, node.moduleSpecifier); var targetSymbol = resolveESModuleSymbol(moduleSymbol, node.moduleSpecifier, dontResolveAlias); if (targetSymbol) { @@ -22826,33 +22944,35 @@ var ts; return getNodeLinks(expression).resolvedSymbol; } function getTargetOfAliasDeclaration(node, dontRecursivelyResolve) { + if (dontRecursivelyResolve === void 0) { dontRecursivelyResolve = false; } switch (node.kind) { - case 242: + case 243: return getTargetOfImportEqualsDeclaration(node, dontRecursivelyResolve); - case 244: - return getTargetOfImportClause(node, dontRecursivelyResolve); case 245: + return getTargetOfImportClause(node, dontRecursivelyResolve); + case 246: return getTargetOfNamespaceImport(node, dontRecursivelyResolve); - case 247: - return getTargetOfImportSpecifier(node, dontRecursivelyResolve); - case 251: - return getTargetOfExportSpecifier(node, 67216319 | 67901928 | 1920, dontRecursivelyResolve); case 248: - case 199: + return getTargetOfImportSpecifier(node, dontRecursivelyResolve); + case 252: + return getTargetOfExportSpecifier(node, 67216319 | 67901928 | 1920, dontRecursivelyResolve); + case 249: + case 200: return getTargetOfExportAssignment(node, dontRecursivelyResolve); - case 241: + case 242: return getTargetOfNamespaceExportDeclaration(node, dontRecursivelyResolve); + default: + return ts.Debug.fail(); } } function isNonLocalAlias(symbol, excludes) { if (excludes === void 0) { excludes = 67216319 | 67901928 | 1920; } if (!symbol) return false; - return (symbol.flags & (2097152 | excludes)) === 2097152 || (symbol.flags & 2097152 && symbol.flags & 67108864); + return (symbol.flags & (2097152 | excludes)) === 2097152 || !!(symbol.flags & 2097152 && symbol.flags & 67108864); } function resolveSymbol(symbol, dontResolveAlias) { - var shouldResolve = !dontResolveAlias && isNonLocalAlias(symbol); - return shouldResolve ? resolveAlias(symbol) : symbol; + return !dontResolveAlias && isNonLocalAlias(symbol) ? resolveAlias(symbol) : symbol; } function resolveAlias(symbol) { ts.Debug.assert((symbol.flags & 2097152) !== 0, "Should only get Alias here."); @@ -22860,7 +22980,8 @@ var ts; if (!links.target) { links.target = resolvingSymbol; var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); + if (!node) + return ts.Debug.fail(); var target = getTargetOfAliasDeclaration(node); if (links.target === resolvingSymbol) { links.target = target || unknownSymbol; @@ -22890,11 +23011,12 @@ var ts; if (!links.referenced) { links.referenced = true; var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); - if (node.kind === 248) { + if (!node) + return ts.Debug.fail(); + if (node.kind === 249) { checkExpressionCached(node.expression); } - else if (node.kind === 251) { + else if (node.kind === 252) { checkExpressionCached(node.propertyName || node.name); } else if (ts.isInternalModuleImportEqualsDeclaration(node)) { @@ -22906,11 +23028,11 @@ var ts; if (entityName.kind === 71 && ts.isRightSideOfQualifiedNameOrPropertyAccess(entityName)) { entityName = entityName.parent; } - if (entityName.kind === 71 || entityName.parent.kind === 145) { + if (entityName.kind === 71 || entityName.parent.kind === 146) { return resolveEntityName(entityName, 1920, false, dontResolveAlias); } else { - ts.Debug.assert(entityName.parent.kind === 242); + ts.Debug.assert(entityName.parent.kind === 243); return resolveEntityName(entityName, 67216319 | 67901928 | 1920, false, dontResolveAlias); } } @@ -22931,9 +23053,9 @@ var ts; return symbolFromJSPrototype; } } - else if (name.kind === 145 || name.kind === 184) { - var left = name.kind === 145 ? name.left : name.expression; - var right = name.kind === 145 ? name.right : name.name; + else if (name.kind === 146 || name.kind === 185) { + var left = name.kind === 146 ? name.left : name.expression; + var right = name.kind === 146 ? name.right : name.name; var namespace_1 = resolveEntityName(left, namespaceMeaning, ignoreErrors, false, location); if (!namespace_1 || ts.nodeIsMissing(right)) { return undefined; @@ -22942,13 +23064,6 @@ var ts; return namespace_1; } if (ts.isInJavaScriptFile(name)) { - var initializer = ts.getDeclaredJavascriptInitializer(namespace_1.valueDeclaration) || ts.getAssignedJavascriptInitializer(namespace_1.valueDeclaration); - if (initializer) { - namespace_1 = getSymbolOfNode(initializer); - } - if (!namespace_1) { - return undefined; - } if (namespace_1.valueDeclaration && ts.isVariableDeclaration(namespace_1.valueDeclaration) && namespace_1.valueDeclaration.initializer && @@ -22972,7 +23087,7 @@ var ts; } } else { - ts.Debug.assertNever(name, "Unknown entity name kind."); + throw ts.Debug.assertNever(name, "Unknown entity name kind."); } ts.Debug.assert((ts.getCheckFlags(symbol) & 1) === 0, "Should never get an instantiated symbol here."); return (symbol.flags & meaning) || dontResolveAlias ? symbol : resolveAlias(symbol); @@ -23110,14 +23225,7 @@ var ts; moduleSymbol.exports.forEach(function (s, name) { if (name === "export=") return; - if (!merged.exports.has(name)) { - merged.exports.set(name, s); - } - else { - var ms = cloneSymbol(merged.exports.get(name)); - mergeSymbol(ms, s); - merged.exports.set(name, ms); - } + merged.exports.set(name, merged.exports.has(name) ? mergeSymbol(merged.exports.get(name), s) : s); }); return merged; } @@ -23191,7 +23299,7 @@ var ts; return undefined; } var type = getTypeOfSymbol(exportEquals); - return type.flags & 16382 ? undefined : getPropertyOfType(type, memberName); + return type.flags & 32764 ? undefined : getPropertyOfType(type, memberName); } function getExportsOfSymbol(symbol) { return symbol.flags & 32 ? getResolvedMembersOrExportsOfSymbol(symbol, "resolvedExports") : @@ -23272,6 +23380,38 @@ var ts; function getParentOfSymbol(symbol) { return getMergedSymbol(symbol.parent && getLateBoundSymbol(symbol.parent)); } + function getContainerOfSymbol(symbol) { + var container = getParentOfSymbol(symbol); + if (container) { + return container; + } + var candidate = ts.forEach(symbol.declarations, function (d) { return !ts.isAmbientModule(d) && d.parent && hasNonGlobalAugmentationExternalModuleSymbol(d.parent) ? getSymbolOfNode(d.parent) : undefined; }); + if (!candidate) { + return undefined; + } + var alias = getAliasForSymbolInContainer(candidate, symbol); + return alias ? candidate : undefined; + } + function getAliasForSymbolInContainer(container, symbol) { + if (container === getParentOfSymbol(symbol)) { + return symbol; + } + var exports = getExportsOfSymbol(container); + var quick = exports.get(symbol.escapedName); + if (quick && symbolRefersToTarget(quick)) { + return quick; + } + return ts.forEachEntry(exports, function (exported) { + if (symbolRefersToTarget(exported)) { + return exported; + } + }); + function symbolRefersToTarget(s) { + if (s === symbol || resolveSymbol(s) === symbol || resolveSymbol(s) === resolveSymbol(symbol)) { + return s; + } + } + } function getExportSymbolOfValueSymbolIfExported(symbol) { return symbol && (symbol.flags & 1048576) !== 0 ? getMergedSymbol(symbol.exportSymbol) @@ -23284,7 +23424,7 @@ var ts; var members = node.members; for (var _i = 0, members_2 = members; _i < members_2.length; _i++) { var member = members_2[_i]; - if (member.kind === 154 && ts.nodeIsPresent(member.body)) { + if (member.kind === 155 && ts.nodeIsPresent(member.body)) { return member; } } @@ -23302,12 +23442,12 @@ var ts; } function createBooleanType(trueFalseTypes) { var type = getUnionType(trueFalseTypes); - type.flags |= 8; + type.flags |= 16; type.intrinsicName = "boolean"; return type; } function createObjectType(objectFlags, symbol) { - var type = createType(65536); + var type = createType(131072); type.objectFlags = objectFlags; type.symbol = symbol; return type; @@ -23357,11 +23497,11 @@ var ts; } } switch (location.kind) { - case 273: + case 274: if (!ts.isExternalOrCommonJsModule(location)) { break; } - case 238: + case 239: if (result = callback(getSymbolOfNode(location).exports)) { return result; } @@ -23398,7 +23538,7 @@ var ts; } function isAccessible(symbolFromSymbolTable, resolvedAliasSymbol, ignoreQualification) { return symbol === (resolvedAliasSymbol || symbolFromSymbolTable) && - !ts.some(symbolFromSymbolTable.declarations, hasExternalModuleSymbol) && + !ts.some(symbolFromSymbolTable.declarations, hasNonGlobalAugmentationExternalModuleSymbol) && (ignoreQualification || canQualifySymbol(symbolFromSymbolTable, meaning)); } function trySymbolTable(symbols, ignoreQualification) { @@ -23421,20 +23561,25 @@ var ts; return [symbolFromSymbolTable].concat(accessibleSymbolsFromExports); } } + if (symbolFromSymbolTable.escapedName === symbol.escapedName && symbolFromSymbolTable.exportSymbol) { + if (isAccessible(getMergedSymbol(symbolFromSymbolTable.exportSymbol), undefined, ignoreQualification)) { + return [symbol]; + } + } }); } } function needsQualification(symbol, enclosingDeclaration, meaning) { var qualify = false; forEachSymbolTableInScope(enclosingDeclaration, function (symbolTable) { - var symbolFromSymbolTable = symbolTable.get(symbol.escapedName); + var symbolFromSymbolTable = getMergedSymbol(symbolTable.get(symbol.escapedName)); if (!symbolFromSymbolTable) { return false; } if (symbolFromSymbolTable === symbol) { return true; } - symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 && !ts.getDeclarationOfKind(symbolFromSymbolTable, 251)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; + symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 && !ts.getDeclarationOfKind(symbolFromSymbolTable, 252)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; if (symbolFromSymbolTable.flags & meaning) { qualify = true; return true; @@ -23448,10 +23593,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; switch (declaration.kind) { - case 151: - case 153: - case 155: + case 152: + case 154: case 156: + case 157: continue; default: return false; @@ -23487,14 +23632,14 @@ var ts; return hasAccessibleDeclarations; } else { - if (ts.some(symbol.declarations, hasExternalModuleSymbol)) { + if (ts.some(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol)) { return { accessibility: 0 }; } } meaningToLook = getQualifiedLeftMeaning(meaning); - symbol = getParentOfSymbol(symbol); + symbol = getContainerOfSymbol(symbol); } var symbolExternalModule = ts.forEach(initialSymbol.declarations, getExternalModuleContainer); if (symbolExternalModule) { @@ -23519,7 +23664,10 @@ var ts; } } function hasExternalModuleSymbol(declaration) { - return ts.isAmbientModule(declaration) || (declaration.kind === 273 && ts.isExternalOrCommonJsModule(declaration)); + return ts.isAmbientModule(declaration) || (declaration.kind === 274 && ts.isExternalOrCommonJsModule(declaration)); + } + function hasNonGlobalAugmentationExternalModuleSymbol(declaration) { + return ts.isModuleWithStringLiteralName(declaration) || (declaration.kind === 274 && ts.isExternalOrCommonJsModule(declaration)); } function hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible) { var aliasesToMakeVisible; @@ -23559,13 +23707,13 @@ var ts; } function isEntityNameVisible(entityName, enclosingDeclaration) { var meaning; - if (entityName.parent.kind === 164 || + if (entityName.parent.kind === 165 || ts.isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent) || - entityName.parent.kind === 146) { + entityName.parent.kind === 147) { meaning = 67216319 | 1048576; } - else if (entityName.kind === 145 || entityName.kind === 184 || - entityName.parent.kind === 242) { + else if (entityName.kind === 146 || entityName.kind === 185 || + entityName.parent.kind === 243) { meaning = 1920; } else { @@ -23602,14 +23750,15 @@ var ts; } } function signatureToString(signature, enclosingDeclaration, flags, kind, writer) { + if (flags === void 0) { flags = 0; } return writer ? signatureToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(signatureToStringWorker); function signatureToStringWorker(writer) { var sigOutput; if (flags & 262144) { - sigOutput = kind === 1 ? 163 : 162; + sigOutput = kind === 1 ? 164 : 163; } else { - sigOutput = kind === 1 ? 158 : 157; + sigOutput = kind === 1 ? 159 : 158; } var sig = nodeBuilder.signatureToSignatureDeclaration(signature, sigOutput, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960 | 512); var printer = ts.createPrinter({ removeComments: true, omitTrailingSemicolon: true }); @@ -23619,10 +23768,11 @@ var ts; } } function typeToString(type, enclosingDeclaration, flags, writer) { - if (flags === void 0) { flags = 1048576; } + if (flags === void 0) { flags = 1048576 | 16384; } if (writer === void 0) { writer = ts.createTextWriter(""); } var typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960, writer); - ts.Debug.assert(typeNode !== undefined, "should always get typenode"); + if (typeNode === undefined) + return ts.Debug.fail("should always get typenode"); var options = { removeComments: true }; var printer = ts.createPrinter(options); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); @@ -23635,6 +23785,7 @@ var ts; return result; } function toNodeBuilderFlags(flags) { + if (flags === void 0) { flags = 0; } return flags & 9469291; } function createNodeBuilder() { @@ -23699,7 +23850,7 @@ var ts; function createNodeBuilderContext(enclosingDeclaration, flags, tracker) { return { enclosingDeclaration: enclosingDeclaration, - flags: flags, + flags: flags || 0, tracker: tracker && tracker.trackSymbol ? tracker : { trackSymbol: ts.noop }, encounteredError: false, visitedSymbols: undefined, @@ -23720,34 +23871,37 @@ var ts; return ts.createKeywordTypeNode(119); } if (type.flags & 2) { - return ts.createKeywordTypeNode(137); + return ts.createKeywordTypeNode(142); } if (type.flags & 4) { - return ts.createKeywordTypeNode(134); + return ts.createKeywordTypeNode(137); } if (type.flags & 8) { + return ts.createKeywordTypeNode(134); + } + if (type.flags & 16) { return ts.createKeywordTypeNode(122); } - if (type.flags & 256 && !(type.flags & 131072)) { + if (type.flags & 512 && !(type.flags & 262144)) { var parentSymbol = getParentOfSymbol(type.symbol); var parentName = symbolToName(parentSymbol, context, 67901928, false); var enumLiteralName = getDeclaredTypeOfSymbol(parentSymbol) === type ? parentName : ts.createQualifiedName(parentName, ts.symbolName(type.symbol)); return ts.createTypeReferenceNode(enumLiteralName, undefined); } - if (type.flags & 272) { + if (type.flags & 544) { var name = symbolToName(type.symbol, context, 67901928, false); return ts.createTypeReferenceNode(name, undefined); } - if (type.flags & (32)) { + if (type.flags & (64)) { return ts.createLiteralTypeNode(ts.setEmitFlags(ts.createLiteral(type.value), 16777216)); } - if (type.flags & (64)) { + if (type.flags & (128)) { return ts.createLiteralTypeNode((ts.createLiteral(type.value))); } - if (type.flags & 128) { + if (type.flags & 256) { return type.intrinsicName === "true" ? ts.createTrue() : ts.createFalse(); } - if (type.flags & 1024) { + if (type.flags & 2048) { if (!(context.flags & 1048576)) { if (isValueSymbolAccessible(type.symbol, context.enclosingDeclaration)) { return symbolToTypeNode(type.symbol, context, 67216319); @@ -23758,25 +23912,25 @@ var ts; } return ts.createTypeOperatorNode(141, ts.createKeywordTypeNode(138)); } - if (type.flags & 2048) { + if (type.flags & 4096) { return ts.createKeywordTypeNode(105); } - if (type.flags & 4096) { + if (type.flags & 8192) { return ts.createKeywordTypeNode(140); } - if (type.flags & 8192) { + if (type.flags & 16384) { return ts.createKeywordTypeNode(95); } - if (type.flags & 16384) { + if (type.flags & 32768) { return ts.createKeywordTypeNode(131); } - if (type.flags & 512) { + if (type.flags & 1024) { return ts.createKeywordTypeNode(138); } - if (type.flags & 134217728) { + if (type.flags & 16777216) { return ts.createKeywordTypeNode(135); } - if (type.flags & 32768 && type.isThisType) { + if (type.flags & 65536 && type.isThisType) { if (context.flags & 4194304) { if (!context.encounteredError && !(context.flags & 32768)) { context.encounteredError = true; @@ -23789,23 +23943,24 @@ var ts; } var objectFlags = ts.getObjectFlags(type); if (objectFlags & 4) { - ts.Debug.assert(!!(type.flags & 65536)); + ts.Debug.assert(!!(type.flags & 131072)); return typeReferenceToTypeNode(type); } - if (type.flags & 32768 || objectFlags & 3) { - if (type.flags & 32768 && ts.contains(context.inferTypeParameters, type)) { + if (type.flags & 65536 || objectFlags & 3) { + if (type.flags & 65536 && ts.contains(context.inferTypeParameters, type)) { return ts.createInferTypeNode(typeParameterToDeclarationWithConstraint(type, context, undefined)); } if (context.flags & 4 && - type.flags & 32768 && + type.flags & 65536 && ts.length(type.symbol.declarations) && ts.isTypeParameterDeclaration(type.symbol.declarations[0]) && typeParameterShadowsNameInScope(type, context) && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration)) { return ts.createTypeReferenceNode(ts.getGeneratedNameForNode(type.symbol.declarations[0].name, 16 | 8), undefined); } - var name = type.symbol ? symbolToName(type.symbol, context, 67901928, false) : ts.createIdentifier("?"); - return ts.createTypeReferenceNode(name, undefined); + return type.symbol + ? symbolToTypeNode(type.symbol, context, 67901928) + : ts.createTypeReferenceNode(ts.createIdentifier("?"), undefined); } if (!inTypeAlias && type.aliasSymbol && (context.flags & 16384 || isTypeSymbolAccessible(type.aliasSymbol, context.enclosingDeclaration))) { var typeArgumentNodes = mapToTypeNodes(type.aliasTypeArguments, context); @@ -23813,11 +23968,11 @@ var ts; return ts.createTypeReferenceNode(ts.createIdentifier(""), typeArgumentNodes); return symbolToTypeNode(type.aliasSymbol, context, 67901928, typeArgumentNodes); } - if (type.flags & (131072 | 262144)) { - var types = type.flags & 131072 ? formatUnionTypes(type.types) : type.types; + if (type.flags & (262144 | 524288)) { + var types = type.flags & 262144 ? formatUnionTypes(type.types) : type.types; var typeNodes = mapToTypeNodes(types, context); if (typeNodes && typeNodes.length > 0) { - var unionOrIntersectionTypeNode = ts.createUnionOrIntersectionTypeNode(type.flags & 131072 ? 168 : 169, typeNodes); + var unionOrIntersectionTypeNode = ts.createUnionOrIntersectionTypeNode(type.flags & 262144 ? 169 : 170, typeNodes); return unionOrIntersectionTypeNode; } else { @@ -23828,20 +23983,20 @@ var ts; } } if (objectFlags & (16 | 32)) { - ts.Debug.assert(!!(type.flags & 65536)); + ts.Debug.assert(!!(type.flags & 131072)); return createAnonymousTypeNode(type); } - if (type.flags & 524288) { + if (type.flags & 1048576) { var indexedType = type.type; var indexTypeNode = typeToTypeNodeHelper(indexedType, context); return ts.createTypeOperatorNode(indexTypeNode); } - if (type.flags & 1048576) { + if (type.flags & 2097152) { var objectTypeNode = typeToTypeNodeHelper(type.objectType, context); var indexTypeNode = typeToTypeNodeHelper(type.indexType, context); return ts.createIndexedAccessTypeNode(objectTypeNode, indexTypeNode); } - if (type.flags & 2097152) { + if (type.flags & 4194304) { var checkTypeNode = typeToTypeNodeHelper(type.checkType, context); var saveInferTypeParameters = context.inferTypeParameters; context.inferTypeParameters = type.root.inferTypeParameters; @@ -23851,12 +24006,12 @@ var ts; var falseTypeNode = typeToTypeNodeHelper(getFalseTypeFromConditionalType(type), context); return ts.createConditionalTypeNode(checkTypeNode, extendsTypeNode, trueTypeNode, falseTypeNode); } - if (type.flags & 4194304) { + if (type.flags & 8388608) { return typeToTypeNodeHelper(type.typeVariable, context); } - ts.Debug.fail("Should be unreachable."); + return ts.Debug.fail("Should be unreachable."); function createMappedTypeNodeFromType(type) { - ts.Debug.assert(!!(type.flags & 65536)); + ts.Debug.assert(!!(type.flags & 131072)); var readonlyToken = type.declaration.readonlyToken ? ts.createToken(type.declaration.readonlyToken.kind) : undefined; var questionToken = type.declaration.questionToken ? ts.createToken(type.declaration.questionToken.kind) : undefined; var appropriateConstraintTypeNode; @@ -23881,7 +24036,7 @@ var ts; var isInstanceType = type === getInferredClassType(symbol) ? 67901928 : 67216319; return symbolToTypeNode(symbol, context, isInstanceType); } - else if (symbol.flags & 32 && !getBaseTypeVariableOfClass(symbol) && !(symbol.valueDeclaration.kind === 204 && context.flags & 2048) || + else if (symbol.flags & 32 && !getBaseTypeVariableOfClass(symbol) && !(symbol.valueDeclaration.kind === 205 && context.flags & 2048) || symbol.flags & (384 | 512) || shouldWriteTypeOfFunctionSymbol()) { return symbolToTypeNode(symbol, context, 67216319); @@ -23914,7 +24069,7 @@ var ts; var isNonLocalFunctionSymbol = !!(symbol.flags & 16) && (symbol.parent || ts.forEach(symbol.declarations, function (declaration) { - return declaration.parent.kind === 273 || declaration.parent.kind === 239; + return declaration.parent.kind === 274 || declaration.parent.kind === 240; })); if (isStaticMethodSymbol || isNonLocalFunctionSymbol) { return (!!(context.flags & 4096) || (context.visitedSymbols && context.visitedSymbols.has(id))) && @@ -23933,12 +24088,12 @@ var ts; } if (resolved.callSignatures.length === 1 && !resolved.constructSignatures.length) { var signature = resolved.callSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 162, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 163, context); return signatureNode; } if (resolved.constructSignatures.length === 1 && !resolved.callSignatures.length) { var signature = resolved.constructSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 163, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 164, context); return signatureNode; } } @@ -24052,11 +24207,11 @@ var ts; var typeElements = []; for (var _i = 0, _a = resolvedType.callSignatures; _i < _a.length; _i++) { var signature = _a[_i]; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 157, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 158, context)); } for (var _b = 0, _c = resolvedType.constructSignatures; _b < _c.length; _b++) { var signature = _c[_b]; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 158, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 159, context)); } if (resolvedType.stringIndexInfo) { var indexInfo = resolvedType.objectFlags & 2048 ? @@ -24086,7 +24241,7 @@ var ts; var saveEnclosingDeclaration = context.enclosingDeclaration; context.enclosingDeclaration = undefined; if (ts.getCheckFlags(propertySymbol) & 1024) { - var decl = ts.firstOrUndefined(propertySymbol.declarations); + var decl = ts.first(propertySymbol.declarations); var name = hasLateBindableName(decl) && resolveEntityName(decl.name.expression, 67216319); if (name && context.tracker.trackSymbol) { context.tracker.trackSymbol(name, saveEnclosingDeclaration, 67216319); @@ -24099,7 +24254,7 @@ var ts; var signatures = getSignaturesOfType(propertyType, 0); for (var _e = 0, signatures_1 = signatures; _e < signatures_1.length; _e++) { var signature = signatures_1[_e]; - var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 152, context); + var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 153, context); methodDeclaration.name = propertyName; methodDeclaration.questionToken = optionalToken; if (propertySymbol.valueDeclaration) { @@ -24141,7 +24296,7 @@ var ts; var name = ts.getNameFromIndexInfo(indexInfo) || "x"; var indexerTypeNode = ts.createKeywordTypeNode(kind === 0 ? 137 : 134); var indexingParameter = ts.createParameter(undefined, undefined, undefined, name, undefined, indexerTypeNode, undefined); - var typeNode = indexInfo.type ? typeToTypeNodeHelper(indexInfo.type, context) : typeToTypeNodeHelper(anyType, context); + var typeNode = typeToTypeNodeHelper(indexInfo.type || anyType, context); if (!indexInfo.type && !(context.flags & 2097152)) { context.encounteredError = true; } @@ -24156,7 +24311,7 @@ var ts; else { typeParameters = signature.typeParameters && signature.typeParameters.map(function (parameter) { return typeParameterToDeclaration(parameter, context); }); } - var parameters = signature.parameters.map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 154); }); + var parameters = signature.parameters.map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 155); }); if (signature.thisParameter) { var thisParameter = symbolToParameterDeclaration(signature.thisParameter, context); parameters.unshift(thisParameter); @@ -24208,22 +24363,22 @@ var ts; return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags) { - var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 148); + var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 149); if (!parameterDeclaration && !isTransientSymbol(parameterSymbol)) { - parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 292); + parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 293); } var parameterType = getTypeOfSymbol(parameterSymbol); if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { parameterType = getOptionalType(parameterType); } var parameterTypeNode = typeToTypeNodeHelper(parameterType, context); - var modifiers = !(context.flags & 8192) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers && parameterDeclaration.modifiers.map(ts.getSynthesizedClone); + var modifiers = !(context.flags & 8192) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers ? parameterDeclaration.modifiers.map(ts.getSynthesizedClone) : undefined; var isRest = parameterDeclaration ? ts.isRestParameter(parameterDeclaration) : parameterSymbol.isRestParameter; var dotDotDotToken = isRest ? ts.createToken(24) : undefined; var name = parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 71 ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name), 16777216) : - parameterDeclaration.name.kind === 145 ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name.right), 16777216) : + parameterDeclaration.name.kind === 146 ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name.right), 16777216) : cloneBindingName(parameterDeclaration.name) : ts.symbolName(parameterSymbol) : ts.symbolName(parameterSymbol); @@ -24235,7 +24390,7 @@ var ts; function elideInitializerAndSetEmitFlags(node) { var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, undefined, elideInitializerAndSetEmitFlags); var clone = ts.nodeIsSynthesized(visited) ? visited : ts.getSynthesizedClone(visited); - if (clone.kind === 181) { + if (clone.kind === 182) { clone.initializer = undefined; } return ts.setEmitFlags(clone, 1 | 16777216); @@ -24247,7 +24402,7 @@ var ts; var chain; var isTypeParameter = symbol.flags & 262144; if (!isTypeParameter && (context.enclosingDeclaration || context.flags & 64)) { - chain = getSymbolChain(symbol, meaning, true); + chain = ts.Debug.assertDefined(getSymbolChain(symbol, meaning, true)); ts.Debug.assert(chain && chain.length > 0); } else { @@ -24259,12 +24414,12 @@ var ts; var parentSymbol; if (!accessibleSymbolChain || needsQualification(accessibleSymbolChain[0], context.enclosingDeclaration, accessibleSymbolChain.length === 1 ? meaning : getQualifiedLeftMeaning(meaning))) { - var parent = getParentOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); + var parent = getContainerOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); if (parent) { var parentChain = getSymbolChain(parent, getQualifiedLeftMeaning(meaning), false); if (parentChain) { parentSymbol = parent; - accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [symbol]); + accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [getAliasForSymbolInContainer(parent, symbol) || symbol]); } } } @@ -24272,7 +24427,7 @@ var ts; return accessibleSymbolChain; } if (endOfChain || - (yieldModuleSymbol || !(!parentSymbol && ts.forEach(symbol.declarations, hasExternalModuleSymbol))) && + (yieldModuleSymbol || !(!parentSymbol && ts.forEach(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol))) && !(symbol.flags & (2048 | 4096))) { return [symbol]; } @@ -24443,6 +24598,7 @@ var ts; } } function typePredicateToString(typePredicate, enclosingDeclaration, flags, writer) { + if (flags === void 0) { flags = 16384; } return writer ? typePredicateToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(typePredicateToStringWorker); function typePredicateToStringWorker(writer) { var predicate = ts.createTypePredicateNode(typePredicate.kind === 1 ? ts.createIdentifier(typePredicate.parameterName) : ts.createThisTypeNode(), nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960 | 512)); @@ -24458,10 +24614,10 @@ var ts; for (var i = 0; i < types.length; i++) { var t = types[i]; flags |= t.flags; - if (!(t.flags & 12288)) { - if (t.flags & (128 | 256)) { - var baseType = t.flags & 128 ? booleanType : getBaseTypeOfEnumLiteralType(t); - if (baseType.flags & 131072) { + if (!(t.flags & 24576)) { + if (t.flags & (256 | 512)) { + var baseType = t.flags & 256 ? booleanType : getBaseTypeOfEnumLiteralType(t); + if (baseType.flags & 262144) { var count = baseType.types.length; if (i + count <= types.length && types[i + count - 1] === baseType.types[count - 1]) { result.push(baseType); @@ -24473,9 +24629,9 @@ var ts; result.push(t); } } - if (flags & 8192) + if (flags & 16384) result.push(nullType); - if (flags & 4096) + if (flags & 8192) result.push(undefinedType); return result || types; } @@ -24490,8 +24646,8 @@ var ts; } function getTypeAliasForTypeLiteral(type) { if (type.symbol && type.symbol.flags & 2048) { - var node = ts.findAncestor(type.symbol.declarations[0].parent, function (n) { return n.kind !== 172; }); - if (node.kind === 236) { + var node = ts.findAncestor(type.symbol.declarations[0].parent, function (n) { return n.kind !== 173; }); + if (node.kind === 237) { return getSymbolOfNode(node); } } @@ -24499,11 +24655,11 @@ var ts; } function isTopLevelInExternalModuleAugmentation(node) { return node && node.parent && - node.parent.kind === 239 && + node.parent.kind === 240 && ts.isExternalModuleAugmentation(node.parent.parent); } function isDefaultBindingContext(location) { - return location.kind === 273 || ts.isAmbientModule(location); + return location.kind === 274 || ts.isAmbientModule(location); } function getNameOfSymbolAsWritten(symbol, context) { if (context && symbol.escapedName === "default" && !(context.flags & 16384) && @@ -24514,7 +24670,7 @@ var ts; } if (symbol.declarations && symbol.declarations.length) { if (ts.some(symbol.declarations, hasExternalModuleSymbol) && context.enclosingDeclaration) { - var file_3 = ts.getDeclarationOfKind(symbol, 273); + var file_3 = ts.getDeclarationOfKind(symbol, 274); if (!file_3 || !context.tracker.moduleResolverHost) { if (context.tracker.trackReferencedAmbientModule) { var ambientDecls = ts.filter(symbol.declarations, ts.isAmbientModule); @@ -24535,26 +24691,26 @@ var ts; if (name) { return ts.declarationNameToString(name); } - if (declaration.parent && declaration.parent.kind === 231) { + if (declaration.parent && declaration.parent.kind === 232) { return ts.declarationNameToString(declaration.parent.name); } if (context && !context.encounteredError && !(context.flags & 131072)) { context.encounteredError = true; } switch (declaration.kind) { - case 204: + case 205: return "(Anonymous class)"; - case 191: case 192: + case 193: return "(Anonymous function)"; } } var nameType = symbol.nameType; if (nameType) { - if (nameType.flags & 32 && !ts.isIdentifierText(nameType.value, compilerOptions.target)) { + if (nameType.flags & 64 && !ts.isIdentifierText(nameType.value, compilerOptions.target)) { return "\"" + ts.escapeString(nameType.value, 34) + "\""; } - if (nameType && nameType.flags & 1024) { + if (nameType && nameType.flags & 2048) { return "[" + getNameOfSymbolAsWritten(nameType.symbol, context) + "]"; } } @@ -24571,67 +24727,67 @@ var ts; return false; function determineIfDeclarationIsVisible() { switch (node.kind) { - case 291: - case 296: + case 292: + case 297: return !!(node.parent && node.parent.parent && node.parent.parent.parent && ts.isSourceFile(node.parent.parent.parent)); - case 181: + case 182: return isDeclarationVisible(node.parent.parent); - case 231: + case 232: if (ts.isBindingPattern(node.name) && !node.name.elements.length) { return false; } - case 238: - case 234: + case 239: case 235: case 236: - case 233: case 237: - case 242: + case 234: + case 238: + case 243: if (ts.isExternalModuleAugmentation(node)) { return true; } var parent = getDeclarationContainer(node); if (!(ts.getCombinedModifierFlags(node) & 1) && - !(node.kind !== 242 && parent.kind !== 273 && parent.flags & 4194304)) { + !(node.kind !== 243 && parent.kind !== 274 && parent.flags & 4194304)) { return isGlobalSourceFile(parent); } return isDeclarationVisible(parent); - case 151: - case 150: - case 155: - case 156: - case 153: case 152: + case 151: + case 156: + case 157: + case 154: + case 153: if (ts.hasModifier(node, 8 | 16)) { return false; } - case 154: - case 158: - case 157: + case 155: case 159: - case 148: - case 239: - case 162: + case 158: + case 160: + case 149: + case 240: case 163: - case 165: - case 161: + case 164: case 166: + case 162: case 167: case 168: case 169: - case 172: + case 170: + case 173: return isDeclarationVisible(node.parent); - case 244: case 245: - case 247: - return false; - case 147: - case 273: - case 241: - return true; + case 246: case 248: return false; + case 148: + case 274: + case 242: + return true; + case 249: + return false; default: return false; } @@ -24639,10 +24795,10 @@ var ts; } function collectLinkedAliases(node, setVisibility) { var exportSymbol; - if (node.parent && node.parent.kind === 248) { + if (node.parent && node.parent.kind === 249) { exportSymbol = resolveName(node, node.escapedText, 67216319 | 67901928 | 1920 | 2097152, undefined, node, false); } - else if (node.parent.kind === 251) { + else if (node.parent.kind === 252) { exportSymbol = getTargetOfExportSpecifier(node.parent, 67216319 | 67901928 | 1920 | 2097152); } var result; @@ -24698,22 +24854,22 @@ var ts; } function hasType(target, propertyName) { if (propertyName === 0) { - return getSymbolLinks(target).type; + return !!getSymbolLinks(target).type; } if (propertyName === 2) { - return getSymbolLinks(target).declaredType; + return !!getSymbolLinks(target).declaredType; } if (propertyName === 1) { - return target.resolvedBaseConstructorType; + return !!target.resolvedBaseConstructorType; } if (propertyName === 3) { - return target.resolvedReturnType; + return !!target.resolvedReturnType; } if (propertyName === 4) { var bc = target.resolvedBaseConstraint; - return bc && bc !== circularConstraintType; + return !!bc && bc !== circularConstraintType; } - ts.Debug.fail("Unhandled TypeSystemPropertyName " + propertyName); + return ts.Debug.fail("Unhandled TypeSystemPropertyName " + propertyName); } function popTypeResolution() { resolutionTargets.pop(); @@ -24721,20 +24877,19 @@ var ts; return resolutionResults.pop(); } function getDeclarationContainer(node) { - node = ts.findAncestor(ts.getRootDeclaration(node), function (node) { + return ts.findAncestor(ts.getRootDeclaration(node), function (node) { switch (node.kind) { - case 231: case 232: + case 233: + case 248: case 247: case 246: case 245: - case 244: return false; default: return true; } - }); - return node && node.parent; + }).parent; } function getTypeOfPrototypeProperty(prototype) { var classType = getDeclaredTypeOfSymbol(getParentOfSymbol(prototype)); @@ -24752,14 +24907,14 @@ var ts; return symbol && getSymbolLinks(symbol).type || getTypeForVariableLikeDeclaration(node, false); } function isComputedNonLiteralName(name) { - return name.kind === 146 && !ts.isStringOrNumericLiteral(name.expression); + return name.kind === 147 && !ts.isStringOrNumericLiteral(name.expression); } function getRestType(source, properties, symbol) { - source = filterType(source, function (t) { return !(t.flags & 12288); }); - if (source.flags & 16384) { + source = filterType(source, function (t) { return !(t.flags & 24576); }); + if (source.flags & 32768) { return emptyObjectType; } - if (source.flags & 131072) { + if (source.flags & 262144) { return mapType(source, function (t) { return getRestType(t, properties, symbol); }); } var members = ts.createSymbolTable(); @@ -24784,8 +24939,8 @@ var ts; function getTypeForBindingElement(declaration) { var pattern = declaration.parent; var parentType = getTypeForBindingElementParent(pattern.parent); - if (parentType === unknownType) { - return unknownType; + if (parentType === errorType) { + return errorType; } if (!parentType) { return declaration.initializer ? checkDeclarationInitializer(declaration) : parentType; @@ -24794,11 +24949,11 @@ var ts; return parentType; } var type; - if (pattern.kind === 179) { + if (pattern.kind === 180) { if (declaration.dotDotDotToken) { - if (!isValidSpreadType(parentType)) { + if (parentType.flags & 2 || !isValidSpreadType(parentType)) { error(declaration, ts.Diagnostics.Rest_types_may_only_be_created_from_object_types); - return unknownType; + return errorType; } var literalMembers = []; for (var _i = 0, _a = pattern.elements; _i < _a.length; _i++) { @@ -24815,13 +24970,13 @@ var ts; var isWellKnown = ts.isComputedPropertyName(name) && ts.isWellKnownSymbolSyntactically(name.expression); if (!isLate && !isWellKnown && isComputedNonLiteralName(name)) { var exprType = checkExpression(name.expression); - if (isTypeAssignableToKind(exprType, 1536)) { + if (isTypeAssignableToKind(exprType, 3072)) { if (noImplicitAny) { error(declaration, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(exprType), typeToString(parentType)); } return anyType; } - var indexerType = isTypeAssignableToKind(exprType, 84) && getIndexTypeOfType(parentType, 1) || getIndexTypeOfType(parentType, 0); + var indexerType = isTypeAssignableToKind(exprType, 168) && getIndexTypeOfType(parentType, 1) || getIndexTypeOfType(parentType, 0); if (!indexerType && noImplicitAny && !compilerOptions.suppressImplicitAnyIndexErrors) { if (getIndexTypeOfType(parentType, 1)) { error(declaration, ts.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number); @@ -24832,14 +24987,14 @@ var ts; } return indexerType || anyType; } - var nameType = isLate && checkComputedPropertyName(name); + var nameType = isLate ? checkComputedPropertyName(name) : undefined; var text = isLate ? getLateBoundNameFromType(nameType) : isWellKnown ? ts.getPropertyNameForKnownSymbolName(ts.idText(name.expression.name)) : ts.getTextOfPropertyName(name); if (strictNullChecks && declaration.flags & 4194304 && ts.isParameterDeclaration(declaration)) { parentType = getNonNullableType(parentType); } - if (isLate && nameType && !getPropertyOfType(parentType, text) && isTypeAssignableToKind(nameType, 1536)) { + if (isLate && nameType && !getPropertyOfType(parentType, text) && isTypeAssignableToKind(nameType, 3072)) { if (noImplicitAny) { error(declaration, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(nameType), typeToString(parentType)); } @@ -24851,7 +25006,7 @@ var ts; getIndexTypeOfType(parentType, 0); if (!type) { error(name, ts.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature, typeToString(parentType), ts.declarationNameToString(name)); - return unknownType; + return errorType; } } } @@ -24872,11 +25027,11 @@ var ts; else { error(declaration, ts.Diagnostics.Type_0_has_no_property_1, typeToString(parentType), propName); } - return unknownType; + return errorType; } } } - if (strictNullChecks && declaration.initializer && !(getFalsyFlags(checkExpressionCached(declaration.initializer)) & 4096)) { + if (strictNullChecks && declaration.initializer && !(getFalsyFlags(checkExpressionCached(declaration.initializer)) & 8192)) { type = getTypeWithFacts(type, 131072); } return declaration.initializer ? @@ -24896,18 +25051,18 @@ var ts; } function isEmptyArrayLiteral(node) { var expr = ts.skipParentheses(node); - return expr.kind === 182 && expr.elements.length === 0; + return expr.kind === 183 && expr.elements.length === 0; } function addOptionality(type, optional) { if (optional === void 0) { optional = true; } return strictNullChecks && optional ? getOptionalType(type) : type; } function getTypeForVariableLikeDeclaration(declaration, includeOptionality) { - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 220) { - var indexType = getIndexType(checkNonNullExpression(declaration.parent.parent.expression)); - return indexType.flags & (32768 | 524288) ? getExtractStringType(indexType) : stringType; - } if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 221) { + var indexType = getIndexType(checkNonNullExpression(declaration.parent.parent.expression)); + return indexType.flags & (65536 | 1048576) ? getExtractStringType(indexType) : stringType; + } + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 222) { var forOfStatement = declaration.parent.parent; return checkRightHandSideOfForOf(forOfStatement.expression, forOfStatement.awaitModifier) || anyType; } @@ -24921,7 +25076,7 @@ var ts; return addOptionality(declaredType, isOptional); } if ((noImplicitAny || ts.isInJavaScriptFile(declaration)) && - declaration.kind === 231 && !ts.isBindingPattern(declaration.name) && + declaration.kind === 232 && !ts.isBindingPattern(declaration.name) && !(ts.getCombinedModifierFlags(declaration) & 1) && !(declaration.flags & 4194304)) { if (!(ts.getCombinedNodeFlags(declaration) & 2) && (!declaration.initializer || isNullOrUndefined(declaration.initializer))) { return autoType; @@ -24930,10 +25085,10 @@ var ts; return autoArrayType; } } - if (declaration.kind === 148) { + if (declaration.kind === 149) { var func = declaration.parent; - if (func.kind === 156 && !hasNonBindableDynamicName(func)) { - var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 155); + if (func.kind === 157 && !hasNonBindableDynamicName(func)) { + var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 156); if (getter) { var getterSignature = getSignatureFromDeclaration(getter); var thisParameter = getAccessorThisParameter(func); @@ -24979,18 +25134,18 @@ var ts; var jsDocType; var _loop_3 = function (declaration) { var declarationInConstructor = false; - var expression = declaration.kind === 199 ? declaration : - declaration.kind === 184 ? ts.cast(declaration.parent, ts.isBinaryExpression) : + var expression = declaration.kind === 200 ? declaration : + declaration.kind === 185 ? ts.cast(declaration.parent, ts.isBinaryExpression) : undefined; if (!expression) { - return { value: unknownType }; + return { value: errorType }; } var special = ts.getSpecialPropertyAssignmentKind(expression); if (special === 4) { var thisContainer = ts.getThisContainer(expression, false); - declarationInConstructor = thisContainer.kind === 154 || - thisContainer.kind === 233 || - (thisContainer.kind === 191 && !ts.isPrototypePropertyAssignment(thisContainer.parent)); + declarationInConstructor = thisContainer.kind === 155 || + thisContainer.kind === 234 || + (thisContainer.kind === 192 && !ts.isPrototypePropertyAssignment(thisContainer.parent)); if (declarationInConstructor) { definedInConstructor = true; } @@ -25004,7 +25159,7 @@ var ts; if (!jsDocType) { jsDocType = declarationType; } - else if (jsDocType !== unknownType && declarationType !== unknownType && + else if (jsDocType !== errorType && declarationType !== errorType && !isTypeIdenticalTo(jsDocType, declarationType) && !(symbol.flags & 67108864)) { errorNextVariableOrPropertyDeclarationMustHaveSameType(jsDocType, declaration, declarationType); @@ -25059,11 +25214,11 @@ var ts; definedInConstructor = true; } } - var sourceTypes = ts.some(constructorTypes, function (t) { return !!(t.flags & ~(12288 | 16777216)); }) ? constructorTypes : types; + var sourceTypes = ts.some(constructorTypes, function (t) { return !!(t.flags & ~(24576 | 134217728)); }) ? constructorTypes : types; type = getUnionType(sourceTypes, 2); } var widened = getWidenedType(addOptionality(type, definedInMethod && !definedInConstructor)); - if (filterType(widened, function (t) { return !!(t.flags & ~12288); }) === neverType) { + if (filterType(widened, function (t) { return !!(t.flags & ~24576); }) === neverType) { if (noImplicitAny) { reportImplicitAnyError(symbol.valueDeclaration, anyType); } @@ -25118,7 +25273,7 @@ var ts; members.set(symbol.escapedName, symbol); }); var result = createAnonymousType(undefined, members, ts.emptyArray, ts.emptyArray, stringIndexInfo, undefined); - result.flags |= 33554432; + result.flags |= 268435456; result.objectFlags |= objectFlags; if (includePatternInType) { result.pattern = pattern; @@ -25128,7 +25283,7 @@ var ts; function getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors) { var elements = pattern.elements; var lastElement = ts.lastOrUndefined(elements); - if (elements.length === 0 || (!ts.isOmittedExpression(lastElement) && lastElement.dotDotDotToken)) { + if (!lastElement || (!ts.isOmittedExpression(lastElement) && lastElement.dotDotDotToken)) { return languageVersion >= 2 ? createIterableType(anyType) : anyArrayType; } var elementTypes = ts.map(elements, function (e) { return ts.isOmittedExpression(e) ? anyType : getTypeFromBindingElement(e, includePatternInType, reportErrors); }); @@ -25140,7 +25295,9 @@ var ts; return result; } function getTypeFromBindingPattern(pattern, includePatternInType, reportErrors) { - return pattern.kind === 179 + if (includePatternInType === void 0) { includePatternInType = false; } + if (reportErrors === void 0) { reportErrors = false; } + return pattern.kind === 180 ? getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) : getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors); } @@ -25150,7 +25307,7 @@ var ts; if (reportErrors) { reportErrorsFromWidening(declaration, type); } - if (type.flags & 1024 && (ts.isBindingElement(declaration) || !declaration.type) && type.symbol !== getSymbolOfNode(declaration)) { + if (type.flags & 2048 && (ts.isBindingElement(declaration) || !declaration.type) && type.symbol !== getSymbolOfNode(declaration)) { type = esSymbolType; } return getWidenedType(type); @@ -25165,7 +25322,7 @@ var ts; } function declarationBelongsToPrivateAmbientMember(declaration) { var root = ts.getRootDeclaration(declaration); - var memberDeclaration = root.kind === 148 ? root.parent : root; + var memberDeclaration = root.kind === 149 ? root.parent : root; return isPrivateWithinAmbient(memberDeclaration); } function tryGetTypeFromEffectiveTypeNode(declaration) { @@ -25191,23 +25348,25 @@ var ts; var jsonSourceFile = ts.cast(declaration, ts.isJsonSourceFile); return links.type = jsonSourceFile.statements.length ? checkExpression(jsonSourceFile.statements[0].expression) : emptyObjectType; } - if (declaration.kind === 248) { + if (declaration.kind === 249) { return links.type = checkExpression(declaration.expression); } if (ts.isInJavaScriptFile(declaration) && ts.isJSDocPropertyLikeTag(declaration) && declaration.typeExpression) { return links.type = getTypeFromTypeNode(declaration.typeExpression.type); } if (!pushTypeResolution(symbol, 0)) { - return unknownType; + return errorType; } var type = void 0; - if (declaration.kind === 199 || - declaration.kind === 184 && declaration.parent.kind === 199) { + if (declaration.kind === 200 || + declaration.kind === 185 && declaration.parent.kind === 200) { type = getWidenedTypeFromJSSpecialPropertyDeclarations(symbol); } else if (ts.isJSDocPropertyLikeTag(declaration) || ts.isPropertyAccessExpression(declaration) || ts.isIdentifier(declaration) + || ts.isClassDeclaration(declaration) + || ts.isFunctionDeclaration(declaration) || (ts.isMethodDeclaration(declaration) && !ts.isObjectLiteralMethod(declaration)) || ts.isMethodSignature(declaration)) { if (symbol.flags & (16 | 8192 | 32 | 384 | 512)) { @@ -25235,7 +25394,7 @@ var ts; type = getWidenedTypeForVariableLikeDeclaration(declaration, true); } else { - ts.Debug.fail("Unhandled declaration kind! " + ts.Debug.showSyntaxKind(declaration)); + return ts.Debug.fail("Unhandled declaration kind! " + ts.Debug.showSyntaxKind(declaration) + " for " + ts.Debug.showSymbol(symbol)); } if (!popTypeResolution()) { type = reportCircularityError(symbol); @@ -25246,7 +25405,7 @@ var ts; } function getAnnotatedAccessorType(accessor) { if (accessor) { - if (accessor.kind === 155) { + if (accessor.kind === 156) { var getterTypeAnnotation = ts.getEffectiveReturnTypeNode(accessor); return getterTypeAnnotation && getTypeFromTypeNode(getterTypeAnnotation); } @@ -25267,8 +25426,8 @@ var ts; function getTypeOfAccessors(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { - var getter = ts.getDeclarationOfKind(symbol, 155); - var setter = ts.getDeclarationOfKind(symbol, 156); + var getter = ts.getDeclarationOfKind(symbol, 156); + var setter = ts.getDeclarationOfKind(symbol, 157); if (getter && ts.isInJavaScriptFile(getter)) { var jsDocType = getTypeForDeclarationFromJSDocComment(getter); if (jsDocType) { @@ -25276,7 +25435,7 @@ var ts; } } if (!pushTypeResolution(symbol, 0)) { - return unknownType; + return errorType; } var type = void 0; var getterReturnType = getAnnotatedAccessorType(getter); @@ -25309,7 +25468,7 @@ var ts; if (!popTypeResolution()) { type = anyType; if (noImplicitAny) { - var getter_1 = ts.getDeclarationOfKind(symbol, 155); + var getter_1 = ts.getDeclarationOfKind(symbol, 156); error(getter_1, ts.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, symbolToString(symbol)); } } @@ -25319,16 +25478,32 @@ var ts; } function getBaseTypeVariableOfClass(symbol) { var baseConstructorType = getBaseConstructorTypeOfClass(getDeclaredTypeOfClassOrInterface(symbol)); - return baseConstructorType.flags & 1081344 ? baseConstructorType : undefined; + return baseConstructorType.flags & 2162688 ? baseConstructorType : undefined; } function getTypeOfFuncClassEnumModule(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { + var jsDeclaration = ts.getDeclarationOfJSInitializer(symbol.valueDeclaration); + if (jsDeclaration) { + var jsSymbol = getSymbolOfNode(jsDeclaration); + if (jsSymbol && (ts.hasEntries(jsSymbol.exports) || ts.hasEntries(jsSymbol.members))) { + symbol = cloneSymbol(symbol); + links = symbol; + if (ts.hasEntries(jsSymbol.exports)) { + symbol.exports = symbol.exports || ts.createSymbolTable(); + mergeSymbolTable(symbol.exports, jsSymbol.exports); + } + if (ts.hasEntries(jsSymbol.members)) { + symbol.members = symbol.members || ts.createSymbolTable(); + mergeSymbolTable(symbol.members, jsSymbol.members); + } + } + } if (symbol.flags & 1536 && ts.isShorthandAmbientModuleSymbol(symbol)) { links.type = anyType; } - else if (symbol.valueDeclaration.kind === 199 || - symbol.valueDeclaration.kind === 184 && symbol.valueDeclaration.parent.kind === 199) { + else if (symbol.valueDeclaration.kind === 200 || + symbol.valueDeclaration.kind === 185 && symbol.valueDeclaration.parent.kind === 200) { links.type = getWidenedTypeFromJSSpecialPropertyDeclarations(symbol); } else { @@ -25357,7 +25532,7 @@ var ts; var targetSymbol = resolveAlias(symbol); links.type = targetSymbol.flags & 67216319 ? getTypeOfSymbol(targetSymbol) - : unknownType; + : errorType; } return links.type; } @@ -25366,11 +25541,11 @@ var ts; if (!links.type) { if (symbolInstantiationDepth === 100) { error(symbol.valueDeclaration, ts.Diagnostics.Generic_type_instantiation_is_excessively_deep_and_possibly_infinite); - links.type = unknownType; + links.type = errorType; } else { if (!pushTypeResolution(symbol, 0)) { - return unknownType; + return errorType; } symbolInstantiationDepth++; var type = instantiateType(getTypeOfSymbol(links.target), links.mapper); @@ -25386,7 +25561,7 @@ var ts; function reportCircularityError(symbol) { if (ts.getEffectiveTypeAnnotationNode(symbol.valueDeclaration)) { error(symbol.valueDeclaration, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, symbolToString(symbol)); - return unknownType; + return errorType; } if (noImplicitAny) { error(symbol.valueDeclaration, ts.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer, symbolToString(symbol)); @@ -25415,7 +25590,7 @@ var ts; if (symbol.flags & 2097152) { return getTypeOfAlias(symbol); } - return unknownType; + return errorType; } function isReferenceToType(type, target) { return type !== undefined @@ -25431,11 +25606,12 @@ var ts; function check(type) { if (ts.getObjectFlags(type) & (3 | 4)) { var target = getTargetType(type); - return target === checkBase || ts.forEach(getBaseTypes(target), check); + return target === checkBase || ts.some(getBaseTypes(target), check); } - else if (type.flags & 262144) { - return ts.forEach(type.types, check); + else if (type.flags & 524288) { + return ts.some(type.types, check); } + return false; } } function appendTypeParameters(typeParameters, declarations) { @@ -25452,51 +25628,51 @@ var ts; return undefined; } switch (node.kind) { - case 234: - case 204: case 235: - case 157: - case 158: - case 152: - case 162: - case 163: - case 283: - case 233: - case 153: - case 191: - case 192: + case 205: case 236: - case 295: + case 158: + case 159: + case 153: + case 163: + case 164: + case 284: + case 234: + case 154: + case 192: + case 193: + case 237: case 296: - case 291: - case 176: - case 170: + case 297: + case 292: + case 177: + case 171: var outerTypeParameters = getOuterTypeParameters(node, includeThisTypes); - if (node.kind === 176) { + if (node.kind === 177) { return ts.append(outerTypeParameters, getDeclaredTypeOfTypeParameter(getSymbolOfNode(node.typeParameter))); } - else if (node.kind === 170) { + else if (node.kind === 171) { return ts.concatenate(outerTypeParameters, getInferTypeParameters(node)); } var outerAndOwnTypeParameters = appendTypeParameters(outerTypeParameters, ts.getEffectiveTypeParameterDeclarations(node)); var thisType = includeThisTypes && - (node.kind === 234 || node.kind === 204 || node.kind === 235) && + (node.kind === 235 || node.kind === 205 || node.kind === 236) && getDeclaredTypeOfClassOrInterface(getSymbolOfNode(node)).thisType; return thisType ? ts.append(outerAndOwnTypeParameters, thisType) : outerAndOwnTypeParameters; } } } function getOuterTypeParametersOfClassOrInterface(symbol) { - var declaration = symbol.flags & 32 ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 235); + var declaration = symbol.flags & 32 ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 236); return getOuterTypeParameters(declaration); } function getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol) { var result; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var node = _a[_i]; - if (node.kind === 235 || - node.kind === 234 || - node.kind === 204 || + if (node.kind === 236 || + node.kind === 235 || + node.kind === 205 || ts.isTypeAlias(node)) { var declaration = node; result = appendTypeParameters(result, ts.getEffectiveTypeParameterDeclarations(declaration)); @@ -25519,9 +25695,9 @@ var ts; if (isValidBaseType(type) && getSignaturesOfType(type, 1).length > 0) { return true; } - if (type.flags & 1081344) { + if (type.flags & 2162688) { var constraint = getBaseConstraintOfType(type); - return constraint && isValidBaseType(constraint) && isMixinConstructorType(constraint); + return !!constraint && isValidBaseType(constraint) && isMixinConstructorType(constraint); } return false; } @@ -25554,23 +25730,23 @@ var ts; return type.resolvedBaseConstructorType = undefinedType; } if (!pushTypeResolution(type, 1)) { - return unknownType; + return errorType; } var baseConstructorType = checkExpression(baseTypeNode.expression); if (extended && baseTypeNode !== extended) { ts.Debug.assert(!extended.typeArguments); checkExpression(extended.expression); } - if (baseConstructorType.flags & (65536 | 262144)) { + if (baseConstructorType.flags & (131072 | 524288)) { resolveStructuredTypeMembers(baseConstructorType); } if (!popTypeResolution()) { error(type.symbol.valueDeclaration, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression, symbolToString(type.symbol)); - return type.resolvedBaseConstructorType = unknownType; + return type.resolvedBaseConstructorType = errorType; } if (!(baseConstructorType.flags & 1) && baseConstructorType !== nullWideningType && !isConstructorType(baseConstructorType)) { error(baseTypeNode.expression, ts.Diagnostics.Type_0_is_not_a_constructor_function_type, typeToString(baseConstructorType)); - return type.resolvedBaseConstructorType = unknownType; + return type.resolvedBaseConstructorType = errorType; } type.resolvedBaseConstructorType = baseConstructorType; } @@ -25598,7 +25774,7 @@ var ts; function resolveBaseTypesOfClass(type) { type.resolvedBaseTypes = ts.resolvingEmptyArray; var baseConstructorType = getApparentType(getBaseConstructorTypeOfClass(type)); - if (!(baseConstructorType.flags & (65536 | 262144 | 1))) { + if (!(baseConstructorType.flags & (131072 | 524288 | 1))) { return type.resolvedBaseTypes = ts.emptyArray; } var baseTypeNode = getBaseTypeNodeOfClass(type); @@ -25620,7 +25796,7 @@ var ts; } baseType = getReturnTypeOfSignature(constructors[0]); } - if (baseType === unknownType) { + if (baseType === errorType) { return type.resolvedBaseTypes = ts.emptyArray; } if (!isValidBaseType(baseType)) { @@ -25646,18 +25822,18 @@ var ts; return true; } function isValidBaseType(type) { - return type.flags & (65536 | 134217728 | 1) && !isGenericMappedType(type) || - type.flags & 262144 && !ts.forEach(type.types, function (t) { return !isValidBaseType(t); }); + return !!(type.flags & (131072 | 16777216 | 1)) && !isGenericMappedType(type) || + !!(type.flags & 524288) && !ts.some(type.types, function (t) { return !isValidBaseType(t); }); } function resolveBaseTypesOfInterface(type) { type.resolvedBaseTypes = type.resolvedBaseTypes || ts.emptyArray; for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 235 && ts.getInterfaceBaseTypeNodes(declaration)) { + if (declaration.kind === 236 && ts.getInterfaceBaseTypeNodes(declaration)) { for (var _b = 0, _c = ts.getInterfaceBaseTypeNodes(declaration); _b < _c.length; _b++) { var node = _c[_b]; var baseType = getTypeFromTypeNode(node); - if (baseType !== unknownType) { + if (baseType !== errorType) { if (isValidBaseType(baseType)) { if (type !== baseType && !hasBaseType(baseType, type)) { if (type.resolvedBaseTypes === ts.emptyArray) { @@ -25682,7 +25858,7 @@ var ts; function isThislessInterface(symbol) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 235) { + if (declaration.kind === 236) { if (declaration.flags & 64) { return false; } @@ -25718,7 +25894,7 @@ var ts; type.instantiations.set(getTypeListId(type.typeParameters), type); type.target = type; type.typeArguments = type.typeParameters; - type.thisType = createType(32768); + type.thisType = createType(65536); type.thisType.isThisType = true; type.thisType.symbol = symbol; type.thisType.constraint = type; @@ -25730,13 +25906,13 @@ var ts; var links = getSymbolLinks(symbol); if (!links.declaredType) { if (!pushTypeResolution(symbol, 2)) { - return unknownType; + return errorType; } var declaration = ts.find(symbol.declarations, function (d) { - return ts.isJSDocTypeAlias(d) || d.kind === 236; + return ts.isJSDocTypeAlias(d) || d.kind === 237; }); var typeNode = ts.isJSDocTypeAlias(declaration) ? declaration.typeExpression : declaration.type; - var type = typeNode ? getTypeFromTypeNode(typeNode) : unknownType; + var type = typeNode ? getTypeFromTypeNode(typeNode) : errorType; if (popTypeResolution()) { var typeParameters = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol); if (typeParameters) { @@ -25746,7 +25922,7 @@ var ts; } } else { - type = unknownType; + type = errorType; error(declaration.name, ts.Diagnostics.Type_alias_0_circularly_references_itself, symbolToString(symbol)); } links.declaredType = type; @@ -25757,7 +25933,7 @@ var ts; if (expr.kind === 9) { return true; } - else if (expr.kind === 199) { + else if (expr.kind === 200) { return isStringConcatExpression(expr.left) && isStringConcatExpression(expr.right); } return false; @@ -25771,12 +25947,12 @@ var ts; case 9: case 8: return true; - case 197: + case 198: return expr.operator === 38 && expr.operand.kind === 8; case 71: return ts.nodeIsMissing(expr) || !!getSymbolOfNode(member.parent).exports.get(expr.escapedText); - case 199: + case 200: return isStringConcatExpression(expr); default: return false; @@ -25790,7 +25966,7 @@ var ts; var hasNonLiteralMember = false; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 237) { + if (declaration.kind === 238) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; if (member.initializer && member.initializer.kind === 9) { @@ -25805,7 +25981,7 @@ var ts; return links.enumKind = hasNonLiteralMember ? 0 : 1; } function getBaseTypeOfEnumLiteralType(type) { - return type.flags & 256 && !(type.flags & 131072) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; + return type.flags & 512 && !(type.flags & 262144) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; } function getDeclaredTypeOfEnum(symbol) { var links = getSymbolLinks(symbol); @@ -25817,7 +25993,7 @@ var ts; var memberTypeList = []; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 237) { + if (declaration.kind === 238) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; var memberType = getLiteralType(getEnumMemberValue(member), enumCount, getSymbolOfNode(member)); @@ -25828,14 +26004,14 @@ var ts; } if (memberTypeList.length) { var enumType_1 = getUnionType(memberTypeList, 1, symbol, undefined); - if (enumType_1.flags & 131072) { - enumType_1.flags |= 256; + if (enumType_1.flags & 262144) { + enumType_1.flags |= 512; enumType_1.symbol = symbol; } return links.declaredType = enumType_1; } } - var enumType = createType(16); + var enumType = createType(32); enumType.symbol = symbol; return links.declaredType = enumType; } @@ -25852,7 +26028,7 @@ var ts; function getDeclaredTypeOfTypeParameter(symbol) { var links = getSymbolLinks(symbol); if (!links.declaredType) { - var type = createType(32768); + var type = createType(65536); type.symbol = symbol; links.declaredType = type; } @@ -25866,7 +26042,7 @@ var ts; return links.declaredType; } function getDeclaredTypeOfSymbol(symbol) { - return tryGetDeclaredTypeOfSymbol(symbol) || unknownType; + return tryGetDeclaredTypeOfSymbol(symbol) || errorType; } function tryGetDeclaredTypeOfSymbol(symbol) { if (symbol.flags & (32 | 64)) { @@ -25892,6 +26068,7 @@ var ts; function isThislessType(node) { switch (node.kind) { case 119: + case 142: case 137: case 134: case 122: @@ -25901,11 +26078,11 @@ var ts; case 140: case 95: case 131: - case 177: + case 178: return true; - case 166: + case 167: return isThislessType(node.elementType); - case 161: + case 162: return !node.typeArguments || node.typeArguments.every(isThislessType); } return false; @@ -25920,7 +26097,7 @@ var ts; function isThislessFunctionLikeDeclaration(node) { var returnType = ts.getEffectiveReturnTypeNode(node); var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); - return (node.kind === 154 || (returnType && isThislessType(returnType))) && + return (node.kind === 155 || (!!returnType && isThislessType(returnType))) && node.parameters.every(isThislessVariableLikeDeclaration) && typeParameters.every(isThislessTypeParameter); } @@ -25929,12 +26106,12 @@ var ts; var declaration = symbol.declarations[0]; if (declaration) { switch (declaration.kind) { - case 151: - case 150: - return isThislessVariableLikeDeclaration(declaration); - case 153: case 152: + case 151: + return isThislessVariableLikeDeclaration(declaration); case 154: + case 153: + case 155: return isThislessFunctionLikeDeclaration(declaration); } } @@ -25972,7 +26149,7 @@ var ts; return type; } function isTypeUsableAsLateBoundName(type) { - return !!(type.flags & 1120); + return !!(type.flags & 2240); } function isLateBindableName(node) { return ts.isComputedPropertyName(node) @@ -25981,7 +26158,7 @@ var ts; } function hasLateBindableName(node) { var name = ts.getNameOfDeclaration(node); - return name && isLateBindableName(name); + return !!name && isLateBindableName(name); } function hasNonBindableDynamicName(node) { return ts.hasDynamicName(node) && !hasLateBindableName(node); @@ -25990,12 +26167,13 @@ var ts; return ts.isDynamicName(node) && !isLateBindableName(node); } function getLateBoundNameFromType(type) { - if (type.flags & 1024) { + if (type.flags & 2048) { return "__@" + type.symbol.escapedName + "@" + getSymbolId(type.symbol); } - if (type.flags & 96) { + if (type.flags & 192) { return ts.escapeLeadingUnderscores("" + type.value); } + return ts.Debug.fail(); } function addDeclarationToLateBoundSymbol(symbol, member, symbolFlags) { ts.Debug.assert(!!(ts.getCheckFlags(symbol) & 1024), "Expected a late-bound symbol."); @@ -26008,8 +26186,7 @@ var ts; symbol.declarations.push(member); } if (symbolFlags & 67216319) { - var valueDeclaration = symbol.valueDeclaration; - if (!valueDeclaration || valueDeclaration.kind !== member.kind) { + if (!symbol.valueDeclaration || symbol.valueDeclaration.kind !== member.kind) { symbol.valueDeclaration = member; } } @@ -26101,7 +26278,7 @@ var ts; return needApparentType ? getApparentType(ref) : ref; } } - else if (type.flags & 262144) { + else if (type.flags & 524288) { return getIntersectionType(ts.map(type.types, function (t) { return getTypeWithThisArgument(t, thisArgument, needApparentType); })); } return needApparentType ? getApparentType(type) : type; @@ -26360,7 +26537,7 @@ var ts; if (symbol.flags & 32) { var classType = getDeclaredTypeOfClassOrInterface(symbol); var baseConstructorType = getBaseConstructorTypeOfClass(classType); - if (baseConstructorType.flags & (65536 | 262144 | 1081344)) { + if (baseConstructorType.flags & (131072 | 524288 | 2162688)) { members = ts.createSymbolTable(getNamedMembers(members)); addInheritedMembers(members, getPropertiesOfType(baseConstructorType)); } @@ -26412,7 +26589,7 @@ var ts; var templateType = getTemplateTypeFromMappedType(type.target || type); var modifiersType = getApparentType(getModifiersTypeFromMappedType(type)); var templateModifiers = getMappedTypeModifiers(type); - var include = keyofStringsOnly ? 32 : 1120; + var include = keyofStringsOnly ? 64 : 2240; if (isMappedTypeWithKeyofConstraintDeclaration(type)) { for (var _i = 0, _a = getPropertiesOfType(modifiersType); _i < _a.length; _i++) { var prop = _a[_i]; @@ -26426,15 +26603,15 @@ var ts; } } else { - var keyType = constraintType.flags & 7372800 ? getApparentType(constraintType) : constraintType; - var iterationType = keyType.flags & 524288 ? getIndexType(getApparentType(keyType.type)) : keyType; + var keyType = constraintType.flags & 14745600 ? getApparentType(constraintType) : constraintType; + var iterationType = keyType.flags & 1048576 ? getIndexType(getApparentType(keyType.type)) : keyType; forEachType(iterationType, addMemberForKeyType); } setStructuredTypeMembers(type, members, ts.emptyArray, ts.emptyArray, stringIndexInfo, numberIndexInfo); function addMemberForKeyType(t, _index, origin) { var templateMapper = combineTypeMappers(type.mapper, createTypeMapper([typeParameter], [t])); var propType = instantiateType(templateType, templateMapper); - if (t.flags & 1120) { + if (t.flags & 2240) { var propName = getLateBoundNameFromType(t); var modifiersProp = getPropertyOfType(modifiersType, propName); var isOptional = !!(templateModifiers & 4 || @@ -26452,10 +26629,10 @@ var ts; prop.nameType = t; members.set(propName, prop); } - else if (t.flags & (1 | 2)) { + else if (t.flags & (1 | 4)) { stringIndexInfo = createIndexInfo(propType, !!(templateModifiers & 1)); } - else if (t.flags & 4) { + else if (t.flags & 8) { numberIndexInfo = createIndexInfo(propType, !!(templateModifiers & 1)); } } @@ -26466,20 +26643,20 @@ var ts; } function getConstraintTypeFromMappedType(type) { return type.constraintType || - (type.constraintType = instantiateType(getConstraintOfTypeParameter(getTypeParameterFromMappedType(type)), type.mapper || identityMapper) || unknownType); + (type.constraintType = instantiateType(getConstraintOfTypeParameter(getTypeParameterFromMappedType(type)), type.mapper || identityMapper) || errorType); } function getTemplateTypeFromMappedType(type) { return type.templateType || (type.templateType = type.declaration.type ? instantiateType(addOptionality(getTypeFromTypeNode(type.declaration.type), !!(getMappedTypeModifiers(type) & 4)), type.mapper || identityMapper) : - unknownType); + errorType); } function getConstraintDeclarationForMappedType(type) { return type.declaration.typeParameter.constraint; } function isMappedTypeWithKeyofConstraintDeclaration(type) { var constraintDeclaration = getConstraintDeclarationForMappedType(type); - return constraintDeclaration.kind === 174 && + return constraintDeclaration.kind === 175 && constraintDeclaration.operator === 128; } function getModifiersTypeFromMappedType(type) { @@ -26490,8 +26667,8 @@ var ts; else { var declaredType = getTypeFromMappedTypeNode(type.declaration); var constraint = getConstraintTypeFromMappedType(declaredType); - var extendedConstraint = constraint && constraint.flags & 32768 ? getConstraintOfTypeParameter(constraint) : constraint; - type.modifiersType = extendedConstraint && extendedConstraint.flags & 524288 ? instantiateType(extendedConstraint.type, type.mapper || identityMapper) : emptyObjectType; + var extendedConstraint = constraint && constraint.flags & 65536 ? getConstraintOfTypeParameter(constraint) : constraint; + type.modifiersType = extendedConstraint && extendedConstraint.flags & 1048576 ? instantiateType(extendedConstraint.type, type.mapper || identityMapper) : emptyObjectType; } } return type.modifiersType; @@ -26514,11 +26691,11 @@ var ts; return !!(ts.getObjectFlags(type) & 32 && getMappedTypeModifiers(type) & 4); } function isGenericMappedType(type) { - return ts.getObjectFlags(type) & 32 && isGenericIndexType(getConstraintTypeFromMappedType(type)); + return !!(ts.getObjectFlags(type) & 32) && isGenericIndexType(getConstraintTypeFromMappedType(type)); } function resolveStructuredTypeMembers(type) { if (!type.members) { - if (type.flags & 65536) { + if (type.flags & 131072) { if (type.objectFlags & 4) { resolveTypeReferenceMembers(type); } @@ -26535,23 +26712,23 @@ var ts; resolveMappedTypeMembers(type); } } - else if (type.flags & 131072) { + else if (type.flags & 262144) { resolveUnionTypeMembers(type); } - else if (type.flags & 262144) { + else if (type.flags & 524288) { resolveIntersectionTypeMembers(type); } } return type; } function getPropertiesOfObjectType(type) { - if (type.flags & 65536) { + if (type.flags & 131072) { return resolveStructuredTypeMembers(type).properties; } return ts.emptyArray; } function getPropertyOfObjectType(type, name) { - if (type.flags & 65536) { + if (type.flags & 131072) { var resolved = resolveStructuredTypeMembers(type); var symbol = resolved.members.get(name); if (symbol && symbolIsValue(symbol)) { @@ -26573,7 +26750,7 @@ var ts; } } } - if (type.flags & 131072) { + if (type.flags & 262144) { break; } } @@ -26583,13 +26760,13 @@ var ts; } function getPropertiesOfType(type) { type = getApparentType(type); - return type.flags & 393216 ? + return type.flags & 786432 ? getPropertiesOfUnionOrIntersectionType(type) : getPropertiesOfObjectType(type); } function getAllPossiblePropertiesOfTypes(types) { var unionType = getUnionType(types); - if (!(unionType.flags & 131072)) { + if (!(unionType.flags & 262144)) { return getAugmentedPropertiesOfType(unionType); } var props = ts.createSymbolTable(); @@ -26607,9 +26784,9 @@ var ts; return ts.arrayFrom(props.values()); } function getConstraintOfType(type) { - return type.flags & 32768 ? getConstraintOfTypeParameter(type) : - type.flags & 1048576 ? getConstraintOfIndexedAccess(type) : - type.flags & 2097152 ? getConstraintOfConditionalType(type) : + return type.flags & 65536 ? getConstraintOfTypeParameter(type) : + type.flags & 2097152 ? getConstraintOfIndexedAccess(type) : + type.flags & 4194304 ? getConstraintOfConditionalType(type) : getBaseConstraintOfType(type); } function getConstraintOfTypeParameter(typeParameter) { @@ -26619,12 +26796,12 @@ var ts; var objectType = getBaseConstraintOfType(type.objectType) || type.objectType; var indexType = getBaseConstraintOfType(type.indexType) || type.indexType; var constraint = !isGenericObjectType(objectType) && !isGenericIndexType(indexType) ? getIndexedAccessType(objectType, indexType) : undefined; - return constraint && constraint !== unknownType ? constraint : undefined; + return constraint && constraint !== errorType ? constraint : undefined; } function getDefaultConstraintOfConditionalType(type) { if (!type.resolvedDefaultConstraint) { var rootTrueType = type.root.trueType; - var rootTrueConstraint = rootTrueType.flags & 4194304 ? rootTrueType.substitute : rootTrueType; + var rootTrueConstraint = rootTrueType.flags & 8388608 ? rootTrueType.substitute : rootTrueType; type.resolvedDefaultConstraint = getUnionType([instantiateType(rootTrueConstraint, type.combinedMapper || type.mapper), getFalseTypeFromConditionalType(type)]); } return type.resolvedDefaultConstraint; @@ -26635,7 +26812,7 @@ var ts; if (constraint) { var mapper = makeUnaryTypeMapper(type.root.checkType, constraint); var instantiated = getConditionalTypeInstantiation(type, combineTypeMappers(mapper, type.mapper)); - if (!(instantiated.flags & 16384)) { + if (!(instantiated.flags & 32768)) { return instantiated; } } @@ -26650,19 +26827,19 @@ var ts; var hasDisjointDomainType = false; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 7897088) { + if (t.flags & 15794176) { var constraint = getConstraintOfType(t); - while (constraint && constraint.flags & (32768 | 524288 | 2097152)) { + while (constraint && constraint.flags & (65536 | 1048576 | 4194304)) { constraint = getConstraintOfType(constraint); } if (constraint) { - if (!(constraint.flags & 131072)) { + if (!(constraint.flags & 262144)) { return undefined; } constraints = ts.append(constraints, constraint); } } - else if (t.flags & 134233854) { + else if (t.flags & 16809468) { hasDisjointDomainType = true; } } @@ -26670,7 +26847,7 @@ var ts; if (hasDisjointDomainType) { for (var _b = 0, _c = type.types; _b < _c.length; _b++) { var t = _c[_b]; - if (t.flags & 134233854) { + if (t.flags & 16809468) { constraints = ts.append(constraints, t); } } @@ -26680,7 +26857,7 @@ var ts; return undefined; } function getBaseConstraintOfInstantiableNonPrimitiveUnionOrIntersection(type) { - if (type.flags & (7372800 | 393216)) { + if (type.flags & (14745600 | 786432)) { var constraint = getResolvedBaseConstraint(type); if (constraint !== noConstraintType && constraint !== circularConstraintType) { return constraint; @@ -26689,7 +26866,7 @@ var ts; } function getBaseConstraintOfType(type) { var constraint = getBaseConstraintOfInstantiableNonPrimitiveUnionOrIntersection(type); - if (!constraint && type.flags & 524288) { + if (!constraint && type.flags & 1048576) { return keyofConstraintType; } return constraint; @@ -26720,13 +26897,13 @@ var ts; return result; } function computeBaseConstraint(t) { - if (t.flags & 32768) { + if (t.flags & 65536) { var constraint = getConstraintFromTypeParameter(t); return t.isThisType || !constraint ? constraint : getBaseConstraint(constraint); } - if (t.flags & 393216) { + if (t.flags & 786432) { var types = t.types; var baseTypes = []; for (var _i = 0, types_4 = types; _i < types_4.length; _i++) { @@ -26736,24 +26913,24 @@ var ts; baseTypes.push(baseType); } } - return t.flags & 131072 && baseTypes.length === types.length ? getUnionType(baseTypes) : - t.flags & 262144 && baseTypes.length ? getIntersectionType(baseTypes) : + return t.flags & 262144 && baseTypes.length === types.length ? getUnionType(baseTypes) : + t.flags & 524288 && baseTypes.length ? getIntersectionType(baseTypes) : undefined; } - if (t.flags & 524288) { + if (t.flags & 1048576) { return keyofConstraintType; } - if (t.flags & 1048576) { + if (t.flags & 2097152) { var baseObjectType = getBaseConstraint(t.objectType); var baseIndexType = getBaseConstraint(t.indexType); var baseIndexedAccess = baseObjectType && baseIndexType ? getIndexedAccessType(baseObjectType, baseIndexType) : undefined; - return baseIndexedAccess && baseIndexedAccess !== unknownType ? getBaseConstraint(baseIndexedAccess) : undefined; + return baseIndexedAccess && baseIndexedAccess !== errorType ? getBaseConstraint(baseIndexedAccess) : undefined; } - if (t.flags & 2097152) { + if (t.flags & 4194304) { var constraint = getConstraintOfConditionalType(t); return constraint && getBaseConstraint(constraint); } - if (t.flags & 4194304) { + if (t.flags & 8388608) { return getBaseConstraint(t.substitute); } if (isGenericMappedType(t)) { @@ -26796,19 +26973,19 @@ var ts; return !!(typeParameter.symbol && ts.forEach(typeParameter.symbol.declarations, function (decl) { return ts.isTypeParameterDeclaration(decl) && decl.default; })); } function getApparentType(type) { - var t = type.flags & 7897088 ? getBaseConstraintOfType(type) || emptyObjectType : type; - return t.flags & 262144 ? getApparentTypeOfIntersectionType(t) : - t.flags & 34 ? globalStringType : - t.flags & 84 ? globalNumberType : - t.flags & 136 ? globalBooleanType : - t.flags & 1536 ? getGlobalESSymbolType(languageVersion >= 2) : - t.flags & 134217728 ? emptyObjectType : - t.flags & 524288 ? keyofConstraintType : + var t = type.flags & 15794176 ? getBaseConstraintOfType(type) || emptyObjectType : type; + return t.flags & 524288 ? getApparentTypeOfIntersectionType(t) : + t.flags & 68 ? globalStringType : + t.flags & 168 ? globalNumberType : + t.flags & 272 ? globalBooleanType : + t.flags & 3072 ? getGlobalESSymbolType(languageVersion >= 2) : + t.flags & 16777216 ? emptyObjectType : + t.flags & 1048576 ? keyofConstraintType : t; } function createUnionOrIntersectionProperty(containingType, name) { var props; - var isUnion = containingType.flags & 131072; + var isUnion = containingType.flags & 262144; var excludeModifiers = isUnion ? 24 : 0; var commonFlags = isUnion ? 0 : 16777216; var syntheticFlag = 4; @@ -26816,7 +26993,7 @@ var ts; for (var _i = 0, _a = containingType.types; _i < _a.length; _i++) { var current = _a[_i]; var type = getApparentType(current); - if (type !== unknownType) { + if (type !== errorType) { var prop = getPropertyOfType(type, name); var modifiers = prop ? ts.getDeclarationModifierFlagsFromSymbol(prop) : 0; if (prop && !(modifiers & excludeModifiers)) { @@ -26898,7 +27075,7 @@ var ts; } function getPropertyOfType(type, name) { type = getApparentType(type); - if (type.flags & 65536) { + if (type.flags & 131072) { var resolved = resolveStructuredTypeMembers(type); var symbol = resolved.members.get(name); if (symbol && symbolIsValue(symbol)) { @@ -26912,13 +27089,13 @@ var ts; } return getPropertyOfObjectType(globalObjectType, name); } - if (type.flags & 393216) { + if (type.flags & 786432) { return getPropertyOfUnionOrIntersectionType(type, name); } return undefined; } function getSignaturesOfStructuredType(type, kind) { - if (type.flags & 458752) { + if (type.flags & 917504) { var resolved = resolveStructuredTypeMembers(type); return kind === 0 ? resolved.callSignatures : resolved.constructSignatures; } @@ -26928,7 +27105,7 @@ var ts; return getSignaturesOfStructuredType(getApparentType(type), kind); } function getIndexInfoOfStructuredType(type, kind) { - if (type.flags & 458752) { + if (type.flags & 917504) { var resolved = resolveStructuredTypeMembers(type); return kind === 0 ? resolved.stringIndexInfo : resolved.numberIndexInfo; } @@ -26976,10 +27153,10 @@ var ts; return result; } function isJSDocOptionalParameter(node) { - return ts.isInJavaScriptFile(node) && (node.type && node.type.kind === 282 + return ts.isInJavaScriptFile(node) && (node.type && node.type.kind === 283 || ts.getJSDocParameterTags(node).some(function (_a) { var isBracketed = _a.isBracketed, typeExpression = _a.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 282; + return isBracketed || !!typeExpression && typeExpression.type.kind === 283; })); } function tryFindAmbientModule(moduleName, withAugmentations) { @@ -27012,7 +27189,7 @@ var ts; return false; } var isBracketed = node.isBracketed, typeExpression = node.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 282; + return isBracketed || !!typeExpression && typeExpression.type.kind === 283; } function createTypePredicateFromTypePredicateNode(node) { var parameterName = node.parameterName; @@ -27072,7 +27249,7 @@ var ts; var hasLiteralTypes = false; var minArgumentCount = 0; var thisParameter = void 0; - var hasThisParameter = void 0; + var hasThisParameter = false; var iife = ts.getImmediatelyInvokedFunctionExpression(declaration); var isJSConstructSignature = ts.isJSDocConstructSignature(declaration); var isUntypedSignatureInJSFile = !iife && @@ -27095,7 +27272,7 @@ var ts; else { parameters.push(paramSymbol); } - if (type && type.kind === 177) { + if (type && type.kind === 178) { hasLiteralTypes = true; } var isOptionalParameter_1 = isOptionalJSDocParameterTag(param) || @@ -27107,16 +27284,16 @@ var ts; minArgumentCount = parameters.length; } } - if ((declaration.kind === 155 || declaration.kind === 156) && + if ((declaration.kind === 156 || declaration.kind === 157) && !hasNonBindableDynamicName(declaration) && (!hasThisParameter || !thisParameter)) { - var otherKind = declaration.kind === 155 ? 156 : 155; + var otherKind = declaration.kind === 156 ? 157 : 156; var other = ts.getDeclarationOfKind(getSymbolOfNode(declaration), otherKind); if (other) { thisParameter = getAnnotatedAccessorThisParameter(other); } } - var classType = declaration.kind === 154 ? + var classType = declaration.kind === 155 ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(declaration.parent.symbol)) : undefined; var typeParameters = classType ? classType.localTypeParameters : getTypeParametersFromDeclaration(declaration); @@ -27155,8 +27332,8 @@ var ts; if (typeNode) { return getTypeFromTypeNode(typeNode); } - if (declaration.kind === 155 && !hasNonBindableDynamicName(declaration)) { - var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 156); + if (declaration.kind === 156 && !hasNonBindableDynamicName(declaration)) { + var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 157); return getAnnotatedAccessorType(setter); } if (ts.nodeIsMissing(declaration.body)) { @@ -27180,14 +27357,14 @@ var ts; switch (node.kind) { case 71: return node.escapedText === "arguments" && ts.isExpressionNode(node); - case 151: - case 153: - case 155: + case 152: + case 154: case 156: - return node.name.kind === 146 + case 157: + return node.name.kind === 147 && traverse(node.name); default: - return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && ts.forEachChild(node, traverse); + return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && !!ts.forEachChild(node, traverse); } } } @@ -27197,16 +27374,15 @@ var ts; var result = []; for (var i = 0; i < symbol.declarations.length; i++) { var decl = symbol.declarations[i]; - var node = ts.isPropertyAccessExpression(decl) ? ts.getAssignedJavascriptInitializer(decl) : decl; - if (!ts.isFunctionLike(node)) + if (!ts.isFunctionLike(decl)) continue; - if (i > 0 && node.body) { + if (i > 0 && decl.body) { var previous = symbol.declarations[i - 1]; - if (node.parent === previous.parent && node.kind === previous.kind && node.pos === previous.end) { + if (decl.parent === previous.parent && decl.kind === previous.kind && decl.pos === previous.end) { continue; } } - result.push(getSignatureFromDeclaration(node)); + result.push(getSignatureFromDeclaration(decl)); } return result; } @@ -27239,7 +27415,7 @@ var ts; } else { var declaration = signature.declaration; - signature.resolvedTypePredicate = declaration && declaration.type && declaration.type.kind === 160 ? + signature.resolvedTypePredicate = declaration && declaration.type && declaration.type.kind === 161 ? createTypePredicateFromTypePredicateNode(declaration.type) : noTypePredicate; } @@ -27250,7 +27426,7 @@ var ts; function getReturnTypeOfSignature(signature) { if (!signature.resolvedReturnType) { if (!pushTypeResolution(signature, 3)) { - return unknownType; + return errorType; } var type = void 0; if (signature.target) { @@ -27284,7 +27460,7 @@ var ts; } function getRestTypeOfSignature(signature) { if (signature.hasRestParameter) { - var type = getTypeOfSymbol(ts.lastOrUndefined(signature.parameters)); + var type = getTypeOfSymbol(ts.last(signature.parameters)); if (ts.getObjectFlags(type) & 4 && type.target === globalArrayType) { return type.typeArguments[0]; } @@ -27334,7 +27510,7 @@ var ts; } function getOrCreateTypeFromSignature(signature) { if (!signature.isolatedSignatureType) { - var isConstructor = signature.declaration.kind === 154 || signature.declaration.kind === 158; + var isConstructor = signature.declaration.kind === 155 || signature.declaration.kind === 159; var type = createObjectType(16); type.members = emptySymbols; type.properties = ts.emptyArray; @@ -27375,7 +27551,7 @@ var ts; return undefined; } function getConstraintDeclaration(type) { - var decl = type.symbol && ts.getDeclarationOfKind(type.symbol, 147); + var decl = type.symbol && ts.getDeclarationOfKind(type.symbol, 148); return decl && decl.constraint; } function getInferredTypeParameterConstraint(typeParameter) { @@ -27383,7 +27559,7 @@ var ts; if (typeParameter.symbol) { for (var _i = 0, _a = typeParameter.symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.parent.kind === 171 && declaration.parent.parent.kind === 161) { + if (declaration.parent.kind === 172 && declaration.parent.parent.kind === 162) { var typeReference = declaration.parent.parent; var typeParameters = getTypeParametersForTypeReference(typeReference); if (typeParameters) { @@ -27419,7 +27595,7 @@ var ts; return typeParameter.constraint === noConstraintType ? undefined : typeParameter.constraint; } function getParentSymbolOfTypeParameter(typeParameter) { - return getSymbolOfNode(ts.getDeclarationOfKind(typeParameter.symbol, 147).parent); + return getSymbolOfNode(ts.getDeclarationOfKind(typeParameter.symbol, 148).parent); } function getTypeListId(types) { var result = ""; @@ -27452,7 +27628,7 @@ var ts; result |= type.flags; } } - return result & 117440512; + return result & 939524096; } function createTypeReference(target, typeArguments) { var id = getTypeListId(typeArguments); @@ -27486,7 +27662,7 @@ var ts; var isJs = ts.isInJavaScriptFile(node); var isJsImplicitAny = !noImplicitAny && isJs; if (!isJsImplicitAny && (numTypeArguments < minTypeArgumentCount || numTypeArguments > typeParameters.length)) { - var missingAugmentsTag = isJs && node.parent.kind !== 289; + var missingAugmentsTag = isJs && node.parent.kind !== 290; var diag = minTypeArgumentCount === typeParameters.length ? missingAugmentsTag ? ts.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag @@ -27497,13 +27673,13 @@ var ts; var typeStr = typeToString(type, undefined, 2); error(node, diag, typeStr, minTypeArgumentCount, typeParameters.length); if (!isJs) { - return unknownType; + return errorType; } } var typeArguments = ts.concatenate(type.outerTypeParameters, fillMissingTypeArguments(typeArgs, typeParameters, minTypeArgumentCount, isJs)); return createTypeReference(type, typeArguments); } - return checkNoTypeArguments(node, symbol) ? type : unknownType; + return checkNoTypeArguments(node, symbol) ? type : errorType; } function getTypeAliasInstantiation(symbol, typeArguments) { var type = getDeclaredTypeOfSymbol(symbol); @@ -27526,17 +27702,17 @@ var ts; error(node, minTypeArgumentCount === typeParameters.length ? ts.Diagnostics.Generic_type_0_requires_1_type_argument_s : ts.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments, symbolToString(symbol), minTypeArgumentCount, typeParameters.length); - return unknownType; + return errorType; } return getTypeAliasInstantiation(symbol, typeArguments); } - return checkNoTypeArguments(node, symbol) ? type : unknownType; + return checkNoTypeArguments(node, symbol) ? type : errorType; } function getTypeReferenceName(node) { switch (node.kind) { - case 161: + case 162: return node.typeName; - case 206: + case 207: var expr = node.expression; if (ts.isEntityNameExpression(expr)) { return expr; @@ -27553,7 +27729,7 @@ var ts; function getTypeReferenceType(node, symbol) { var typeArguments = typeArgumentsFromTypeReferenceNode(node); if (symbol === unknownSymbol) { - return unknownType; + return errorType; } var type = getTypeReferenceTypeWorker(node, symbol, typeArguments); if (type) { @@ -27562,11 +27738,11 @@ var ts; var res = tryGetDeclaredTypeOfSymbol(symbol); if (res) { return checkNoTypeArguments(node, symbol) ? - res.flags & 32768 ? getConstrainedTypeVariable(res, node) : res : - unknownType; + res.flags & 65536 ? getConstrainedTypeVariable(res, node) : res : + errorType; } if (!(symbol.flags & 67216319 && isJSDocTypeReference(node))) { - return unknownType; + return errorType; } var jsdocType = getJSDocTypeReference(node, symbol, typeArguments); if (jsdocType) { @@ -27580,7 +27756,7 @@ var ts; var valueType = getTypeOfSymbol(symbol); var referenceType = valueType.symbol && valueType.symbol !== symbol && !isInferredClassType(valueType) && getTypeReferenceTypeWorker(node, valueType.symbol, typeArguments); if (referenceType || assignedType) { - return referenceType && assignedType ? getIntersectionType([assignedType, referenceType]) : referenceType || assignedType; + return (referenceType && assignedType ? getIntersectionType([assignedType, referenceType]) : referenceType || assignedType); } } function getTypeReferenceTypeWorker(node, symbol, typeArguments) { @@ -27603,13 +27779,13 @@ var ts; } } function getSubstitutionType(typeVariable, substitute) { - var result = createType(4194304); + var result = createType(8388608); result.typeVariable = typeVariable; result.substitute = substitute; return result; } function isUnaryTupleTypeNode(node) { - return node.kind === 167 && node.elementTypes.length === 1; + return node.kind === 168 && node.elementTypes.length === 1; } function getImpliedConstraint(typeVariable, checkNode, extendsNode) { return isUnaryTupleTypeNode(checkNode) && isUnaryTupleTypeNode(extendsNode) ? getImpliedConstraint(typeVariable, checkNode.elementTypes[0], extendsNode.elementTypes[0]) : @@ -27618,9 +27794,9 @@ var ts; } function getConstrainedTypeVariable(typeVariable, node) { var constraints; - while (node && !ts.isStatement(node) && node.kind !== 285) { + while (node && !ts.isStatement(node) && node.kind !== 286) { var parent = node.parent; - if (parent.kind === 170 && node === parent.trueType) { + if (parent.kind === 171 && node === parent.trueType) { var constraint = getImpliedConstraint(typeVariable, parent.checkType, parent.extendsType); if (constraint) { constraints = ts.append(constraints, constraint); @@ -27631,7 +27807,7 @@ var ts; return constraints ? getSubstitutionType(typeVariable, getIntersectionType(ts.append(constraints, typeVariable))) : typeVariable; } function isJSDocTypeReference(node) { - return node.flags & 2097152 && node.kind === 161; + return !!(node.flags & 2097152) && node.kind === 162; } function checkNoTypeArguments(node, symbol) { if (node.typeArguments) { @@ -27678,7 +27854,7 @@ var ts; var indexed = getTypeFromTypeNode(typeArgs[0]); var target = getTypeFromTypeNode(typeArgs[1]); var index = createIndexInfo(target, false); - return createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, indexed === stringType && index, indexed === numberType && index); + return createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, indexed === stringType ? index : undefined, indexed === numberType ? index : undefined); } return anyType; } @@ -27689,7 +27865,7 @@ var ts; } function getTypeFromJSDocNullableTypeNode(node) { var type = getTypeFromTypeNode(node.type); - return strictNullChecks ? getNullableType(type, 8192) : type; + return strictNullChecks ? getNullableType(type, 16384) : type; } function getTypeFromTypeReference(node) { var links = getNodeLinks(node); @@ -27726,9 +27902,9 @@ var ts; for (var _i = 0, declarations_3 = declarations; _i < declarations_3.length; _i++) { var declaration = declarations_3[_i]; switch (declaration.kind) { - case 234: case 235: - case 237: + case 236: + case 238: return declaration; } } @@ -27737,7 +27913,7 @@ var ts; return arity ? emptyGenericType : emptyObjectType; } var type = getDeclaredTypeOfSymbol(symbol); - if (!(type.flags & 65536)) { + if (!(type.flags & 131072)) { error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, ts.symbolName(symbol)); return arity ? emptyGenericType : emptyObjectType; } @@ -27842,7 +28018,7 @@ var ts; var typeParameters = []; var properties = []; for (var i = 0; i < arity; i++) { - var typeParameter = createType(32768); + var typeParameter = createType(65536); typeParameters.push(typeParameter); var property = createSymbol(4, "" + i); property.type = typeParameter; @@ -27859,7 +28035,7 @@ var ts; type.instantiations.set(getTypeListId(type.typeParameters), type); type.target = type; type.typeArguments = type.typeParameters; - type.thisType = createType(32768); + type.thisType = createType(65536); type.thisType.isThisType = true; type.thisType.constraint = type; type.declaredProperties = properties; @@ -27892,16 +28068,16 @@ var ts; var combined = 0; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 13536 && combined & 13536) { + if (t.flags & 27072 && combined & 27072) { return true; } combined |= t.flags; - if (combined & 12288 && combined & (65536 | 134217728) || - combined & 134217728 && combined & (134233854 & ~134217728) || - combined & 34 && combined & (134233854 & ~34) || - combined & 84 && combined & (134233854 & ~84) || - combined & 1536 && combined & (134233854 & ~1536) || - combined & 6144 && combined & (134233854 & ~6144)) { + if (combined & 24576 && combined & (131072 | 16777216) || + combined & 16777216 && combined & (16809468 & ~16777216) || + combined & 68 && combined & (16809468 & ~68) || + combined & 168 && combined & (16809468 & ~168) || + combined & 3072 && combined & (16809468 & ~3072) || + combined & 12288 && combined & (16809468 & ~12288)) { return true; } } @@ -27909,24 +28085,24 @@ var ts; } function addTypeToUnion(typeSet, includes, type) { var flags = type.flags; - if (flags & 131072) { + if (flags & 262144) { return addTypesToUnion(typeSet, includes, type.types); } - if (!(flags & 16384 || flags & 262144 && isEmptyIntersectionType(type))) { - includes |= flags & ~117440512; - if (flags & 1) { + if (!(flags & 32768 || flags & 524288 && isEmptyIntersectionType(type))) { + includes |= flags & ~939524096; + if (flags & 3) { if (type === wildcardType) - includes |= 33554432; + includes |= 268435456; } - else if (!strictNullChecks && flags & 12288) { - if (!(flags & 16777216)) - includes |= 16777216; + else if (!strictNullChecks && flags & 24576) { + if (!(flags & 134217728)) + includes |= 134217728; } else { var len = typeSet.length; var index = len && type.id > typeSet[len - 1].id ? ~len : ts.binarySearch(typeSet, type, getTypeId, ts.compareValues); if (index < 0) { - if (!(flags & 65536 && type.objectFlags & 16 && + if (!(flags & 131072 && type.objectFlags & 16 && type.symbol && type.symbol.flags & (16 | 8192) && containsIdenticalType(typeSet, type))) { typeSet.splice(~index, 0, type); } @@ -27964,11 +28140,11 @@ var ts; } function isSetOfLiteralsFromSameEnum(types) { var first = types[0]; - if (first.flags & 256) { + if (first.flags & 512) { var firstEnum = getParentOfSymbol(first.symbol); for (var i = 1; i < types.length; i++) { var other = types[i]; - if (!(other.flags & 256) || (firstEnum !== getParentOfSymbol(other.symbol))) { + if (!(other.flags & 512) || (firstEnum !== getParentOfSymbol(other.symbol))) { return false; } } @@ -27993,10 +28169,10 @@ var ts; while (i > 0) { i--; var t = types[i]; - var remove = t.flags & 32 && includes & 2 || - t.flags & 64 && includes & 4 || - t.flags & 1024 && includes & 512 || - t.flags & 96 && t.flags & 8388608 && containsType(types, t.regularType); + var remove = t.flags & 64 && includes & 4 || + t.flags & 128 && includes & 8 || + t.flags & 2048 && includes & 1024 || + t.flags & 192 && t.flags & 33554432 && containsType(types, t.regularType); if (remove) { ts.orderedRemoveItemAt(types, i); } @@ -28012,12 +28188,12 @@ var ts; } var typeSet = []; var includes = addTypesToUnion(typeSet, 0, types); - if (includes & 1) { - return includes & 33554432 ? wildcardType : anyType; + if (includes & 3) { + return includes & 1 ? includes & 268435456 ? wildcardType : anyType : unknownType; } switch (unionReduction) { case 1: - if (includes & 1120) { + if (includes & 2240) { removeRedundantLiteralTypes(typeSet, includes); } break; @@ -28026,11 +28202,11 @@ var ts; break; } if (typeSet.length === 0) { - return includes & 8192 ? includes & 16777216 ? nullType : nullWideningType : - includes & 4096 ? includes & 16777216 ? undefinedType : undefinedWideningType : + return includes & 16384 ? includes & 134217728 ? nullType : nullWideningType : + includes & 8192 ? includes & 134217728 ? undefinedType : undefinedWideningType : neverType; } - return getUnionTypeFromSortedList(typeSet, includes & 8374815 ? 0 : 268435456, aliasSymbol, aliasTypeArguments); + return getUnionTypeFromSortedList(typeSet, includes & 16749629 ? 0 : 67108864, aliasSymbol, aliasTypeArguments); } function getUnionTypePredicate(signatures) { var first; @@ -28074,8 +28250,8 @@ var ts; var id = getTypeListId(types); var type = unionTypes.get(id); if (!type) { - var propagatedFlags = getPropagatingFlagsOfTypes(types, 12288); - type = createType(131072 | propagatedFlags | unionOfUnitTypes); + var propagatedFlags = getPropagatingFlagsOfTypes(types, 24576); + type = createType(262144 | propagatedFlags | unionOfUnitTypes); unionTypes.set(id, type); type.types = types; type.aliasSymbol = aliasSymbol; @@ -28093,20 +28269,20 @@ var ts; } function addTypeToIntersection(typeSet, includes, type) { var flags = type.flags; - if (flags & 262144) { + if (flags & 524288) { return addTypesToIntersection(typeSet, includes, type.types); } if (ts.getObjectFlags(type) & 16 && isEmptyObjectType(type)) { - includes |= 67108864; + includes |= 536870912; } else { - includes |= flags & ~117440512; - if (flags & 1) { + includes |= flags & ~939524096; + if (flags & 3) { if (type === wildcardType) - includes |= 33554432; + includes |= 268435456; } - else if ((strictNullChecks || !(flags & 12288)) && !ts.contains(typeSet, type) && - !(flags & 65536 && type.objectFlags & 16 && + else if ((strictNullChecks || !(flags & 24576)) && !ts.contains(typeSet, type) && + !(flags & 131072 && type.objectFlags & 16 && type.symbol && type.symbol.flags & (16 | 8192) && containsIdenticalType(typeSet, type))) { typeSet.push(type); @@ -28126,22 +28302,22 @@ var ts; while (i > 0) { i--; var t = types[i]; - var remove = t.flags & 2 && includes & 32 || - t.flags & 4 && includes & 64 || - t.flags & 512 && includes & 1024; + var remove = t.flags & 4 && includes & 64 || + t.flags & 8 && includes & 128 || + t.flags & 1024 && includes & 2048; if (remove) { ts.orderedRemoveItemAt(types, i); } } } function intersectUnionsOfUnitTypes(types) { - var unionIndex = ts.findIndex(types, function (t) { return (t.flags & 268435456) !== 0; }); + var unionIndex = ts.findIndex(types, function (t) { return (t.flags & 67108864) !== 0; }); var unionType = types[unionIndex]; var intersection = unionType.types; var i = types.length - 1; var _loop_5 = function () { var t = types[i]; - if (t.flags & 268435456) { + if (t.flags & 67108864) { intersection = ts.filter(intersection, function (u) { return containsType(t.types, u); }); ts.orderedRemoveItemAt(types, i); } @@ -28153,45 +28329,48 @@ var ts; if (intersection === unionType.types) { return false; } - types[unionIndex] = getUnionTypeFromSortedList(intersection, unionType.flags & 268435456); + types[unionIndex] = getUnionTypeFromSortedList(intersection, unionType.flags & 67108864); return true; } function getIntersectionType(types, aliasSymbol, aliasTypeArguments) { - if (types.length === 0) { - return emptyObjectType; - } var typeSet = []; var includes = addTypesToIntersection(typeSet, 0, types); - if (includes & 16384) { + if (includes & 32768) { return neverType; } if (includes & 1) { - return includes & 33554432 ? wildcardType : anyType; + return includes & 268435456 ? wildcardType : anyType; } - if (includes & 2 && includes & 32 || - includes & 4 && includes & 64 || - includes & 512 && includes & 1024) { + if (!strictNullChecks && includes & 24576) { + return includes & 8192 ? undefinedType : nullType; + } + if (includes & 4 && includes & 64 || + includes & 8 && includes & 128 || + includes & 1024 && includes & 2048) { removeRedundantPrimitiveTypes(typeSet, includes); } - if (includes & 67108864 && !(includes & 65536)) { + if (includes & 536870912 && !(includes & 131072)) { typeSet.push(emptyObjectType); } + if (typeSet.length === 0) { + return unknownType; + } if (typeSet.length === 1) { return typeSet[0]; } - if (includes & 131072) { - if (includes & 268435456 && intersectUnionsOfUnitTypes(typeSet)) { + if (includes & 262144) { + if (includes & 67108864 && intersectUnionsOfUnitTypes(typeSet)) { return getIntersectionType(typeSet, aliasSymbol, aliasTypeArguments); } - var unionIndex_1 = ts.findIndex(typeSet, function (t) { return (t.flags & 131072) !== 0; }); + var unionIndex_1 = ts.findIndex(typeSet, function (t) { return (t.flags & 262144) !== 0; }); var unionType = typeSet[unionIndex_1]; return getUnionType(ts.map(unionType.types, function (t) { return getIntersectionType(ts.replaceElement(typeSet, unionIndex_1, t)); }), 1, aliasSymbol, aliasTypeArguments); } var id = getTypeListId(typeSet); var type = intersectionTypes.get(id); if (!type) { - var propagatedFlags = getPropagatingFlagsOfTypes(typeSet, 12288); - type = createType(262144 | propagatedFlags); + var propagatedFlags = getPropagatingFlagsOfTypes(typeSet, 24576); + type = createType(524288 | propagatedFlags); intersectionTypes.set(id, type); type.types = typeSet; type.aliasSymbol = aliasSymbol; @@ -28208,7 +28387,7 @@ var ts; return links.resolvedType; } function createIndexType(type, stringsOnly) { - var result = createType(524288); + var result = createType(1048576); result.type = type; result.stringsOnly = stringsOnly; return result; @@ -28224,7 +28403,7 @@ var ts; if (!type && !ts.isKnownSymbol(prop)) { var name = ts.getNameOfDeclaration(prop.valueDeclaration); type = name && ts.isNumericLiteral(name) ? getLiteralType(+name.text) : - name && name.kind === 146 && ts.isNumericLiteral(name.expression) ? getLiteralType(+name.expression.text) : + name && name.kind === 147 && ts.isNumericLiteral(name.expression) ? getLiteralType(+name.expression.text) : getLiteralType(ts.symbolName(prop)); } if (type && type.flags & include) { @@ -28242,16 +28421,16 @@ var ts; } function getIndexType(type, stringsOnly) { if (stringsOnly === void 0) { stringsOnly = keyofStringsOnly; } - return type.flags & 131072 ? getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : - type.flags & 262144 ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : - maybeTypeOfKind(type, 7372800) ? getIndexTypeForGenericType(type, stringsOnly) : + return type.flags & 262144 ? getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : + type.flags & 524288 ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : + maybeTypeOfKind(type, 14745600) ? getIndexTypeForGenericType(type, stringsOnly) : ts.getObjectFlags(type) & 32 ? getConstraintTypeFromMappedType(type) : type === wildcardType ? wildcardType : type.flags & 1 ? keyofConstraintType : - stringsOnly ? getIndexInfoOfType(type, 0) ? stringType : getLiteralTypeFromPropertyNames(type, 32) : - getIndexInfoOfType(type, 0) ? getUnionType([stringType, numberType, getLiteralTypeFromPropertyNames(type, 1024)]) : - getNonEnumNumberIndexInfo(type) ? getUnionType([numberType, getLiteralTypeFromPropertyNames(type, 32 | 1024)]) : - getLiteralTypeFromPropertyNames(type, 1120); + stringsOnly ? getIndexInfoOfType(type, 0) ? stringType : getLiteralTypeFromPropertyNames(type, 64) : + getIndexInfoOfType(type, 0) ? getUnionType([stringType, numberType, getLiteralTypeFromPropertyNames(type, 2048)]) : + getNonEnumNumberIndexInfo(type) ? getUnionType([numberType, getLiteralTypeFromPropertyNames(type, 64 | 2048)]) : + getLiteralTypeFromPropertyNames(type, 2240); } function getExtractStringType(type) { if (keyofStringsOnly) { @@ -28262,7 +28441,7 @@ var ts; } function getIndexTypeOrString(type) { var indexType = getExtractStringType(getIndexType(type)); - return indexType.flags & 16384 ? stringType : indexType; + return indexType.flags & 32768 ? stringType : indexType; } function getTypeFromTypeOperatorNode(node) { var links = getNodeLinks(node); @@ -28274,20 +28453,20 @@ var ts; case 141: links.resolvedType = node.type.kind === 138 ? getESSymbolLikeTypeForNode(ts.walkUpParenthesizedTypes(node.parent)) - : unknownType; + : errorType; break; } } return links.resolvedType; } function createIndexedAccessType(objectType, indexType) { - var type = createType(1048576); + var type = createType(2097152); type.objectType = objectType; type.indexType = indexType; return type; } function getPropertyTypeForIndexType(objectType, indexType, accessNode, cacheSymbol) { - var accessExpression = accessNode && accessNode.kind === 185 ? accessNode : undefined; + var accessExpression = accessNode && accessNode.kind === 186 ? accessNode : undefined; var propName = isTypeUsableAsLateBoundName(indexType) ? getLateBoundNameFromType(indexType) : accessExpression && checkThatExpressionIsProperSymbolReference(accessExpression.argumentExpression, indexType, false) ? ts.getPropertyNameForKnownSymbolName(ts.idText(accessExpression.argumentExpression.name)) : @@ -28299,7 +28478,7 @@ var ts; markPropertyAsReferenced(prop, accessExpression, accessExpression.expression.kind === 99); if (ts.isAssignmentTarget(accessExpression) && (isReferenceToReadonlyEntity(accessExpression, prop) || isReferenceThroughNamespaceImport(accessExpression))) { error(accessExpression.argumentExpression, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, symbolToString(prop)); - return unknownType; + return errorType; } if (cacheSymbol) { getNodeLinks(accessNode).resolvedSymbol = prop; @@ -28308,16 +28487,16 @@ var ts; return getTypeOfSymbol(prop); } } - if (!(indexType.flags & 12288) && isTypeAssignableToKind(indexType, 34 | 84 | 1536)) { + if (!(indexType.flags & 24576) && isTypeAssignableToKind(indexType, 68 | 168 | 3072)) { if (isTypeAny(objectType)) { return objectType; } - var indexInfo = isTypeAssignableToKind(indexType, 84) && getIndexInfoOfType(objectType, 1) || + var indexInfo = isTypeAssignableToKind(indexType, 168) && getIndexInfoOfType(objectType, 1) || getIndexInfoOfType(objectType, 0) || undefined; if (indexInfo) { - if (accessNode && !isTypeAssignableToKind(indexType, 2 | 4)) { - var indexNode = accessNode.kind === 185 ? accessNode.argumentExpression : accessNode.indexType; + if (accessNode && !isTypeAssignableToKind(indexType, 4 | 8)) { + var indexNode = accessNode.kind === 186 ? accessNode.argumentExpression : accessNode.indexType; error(indexNode, ts.Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeToString(indexType)); } else if (accessExpression && indexInfo.isReadonly && (ts.isAssignmentTarget(accessExpression) || ts.isDeleteTarget(accessExpression))) { @@ -28325,7 +28504,7 @@ var ts; } return indexInfo.type; } - if (indexType.flags & 16384) { + if (indexType.flags & 32768) { return neverType; } if (accessExpression && !isConstEnumObjectType(objectType)) { @@ -28341,47 +28520,47 @@ var ts; } } if (accessNode) { - var indexNode = accessNode.kind === 185 ? accessNode.argumentExpression : accessNode.indexType; - if (indexType.flags & (32 | 64)) { + var indexNode = accessNode.kind === 186 ? accessNode.argumentExpression : accessNode.indexType; + if (indexType.flags & (64 | 128)) { error(indexNode, ts.Diagnostics.Property_0_does_not_exist_on_type_1, "" + indexType.value, typeToString(objectType)); } - else if (indexType.flags & (2 | 4)) { + else if (indexType.flags & (4 | 8)) { error(indexNode, ts.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1, typeToString(objectType), typeToString(indexType)); } else { error(indexNode, ts.Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeToString(indexType)); } } - return unknownType; + return errorType; } function isGenericObjectType(type) { - return maybeTypeOfKind(type, 7372800 | 536870912); + return maybeTypeOfKind(type, 14745600 | 134217728); } function isGenericIndexType(type) { - return maybeTypeOfKind(type, 7372800 | 524288); + return maybeTypeOfKind(type, 14745600 | 1048576); } function isStringIndexOnlyType(type) { - if (type.flags & 65536 && !isGenericMappedType(type)) { + if (type.flags & 131072 && !isGenericMappedType(type)) { var t = resolveStructuredTypeMembers(type); return t.properties.length === 0 && t.callSignatures.length === 0 && t.constructSignatures.length === 0 && - t.stringIndexInfo && !t.numberIndexInfo; + !!t.stringIndexInfo && !t.numberIndexInfo; } return false; } function isMappedTypeToNever(type) { - return ts.getObjectFlags(type) & 32 && getTemplateTypeFromMappedType(type) === neverType; + return !!(ts.getObjectFlags(type) & 32) && getTemplateTypeFromMappedType(type) === neverType; } function getSimplifiedType(type) { - return type.flags & 1048576 ? getSimplifiedIndexedAccessType(type) : type; + return type.flags & 2097152 ? getSimplifiedIndexedAccessType(type) : type; } function getSimplifiedIndexedAccessType(type) { if (type.simplified) { return type.simplified === circularConstraintType ? type : type.simplified; } type.simplified = circularConstraintType; - var objectType = type.objectType; - if (objectType.flags & 262144 && isGenericObjectType(objectType)) { + var objectType = getSimplifiedType(type.objectType); + if (objectType.flags & 524288 && isGenericObjectType(objectType)) { if (ts.some(objectType.types, isStringIndexOnlyType)) { var regularTypes = []; var stringIndexTypes = []; @@ -28407,7 +28586,7 @@ var ts; if (isGenericMappedType(objectType)) { return type.simplified = substituteIndexedMappedType(objectType, type); } - if (objectType.flags & 32768) { + if (objectType.flags & 65536) { var constraint = getConstraintFromTypeParameter(objectType); if (constraint && isGenericMappedType(constraint)) { return type.simplified = substituteIndexedMappedType(constraint, type); @@ -28424,8 +28603,8 @@ var ts; if (objectType === wildcardType || indexType === wildcardType) { return wildcardType; } - if (isGenericIndexType(indexType) || !(accessNode && accessNode.kind === 185) && isGenericObjectType(objectType)) { - if (objectType.flags & 1) { + if (isGenericIndexType(indexType) || !(accessNode && accessNode.kind === 186) && isGenericObjectType(objectType)) { + if (objectType.flags & 3) { return objectType; } var id = objectType.id + "," + indexType.id; @@ -28436,13 +28615,13 @@ var ts; return type; } var apparentObjectType = getApparentType(objectType); - if (indexType.flags & 131072 && !(indexType.flags & 8)) { + if (indexType.flags & 262144 && !(indexType.flags & 16)) { var propTypes = []; for (var _i = 0, _a = indexType.types; _i < _a.length; _i++) { var t = _a[_i]; var propType = getPropertyTypeForIndexType(apparentObjectType, t, accessNode, false); - if (propType === unknownType) { - return unknownType; + if (propType === errorType) { + return errorType; } propTypes.push(propType); } @@ -28456,7 +28635,7 @@ var ts; var objectType = getTypeFromTypeNode(node.objectType); var indexType = getTypeFromTypeNode(node.indexType); var resolved = getIndexedAccessType(objectType, indexType, node); - links.resolvedType = resolved.flags & 1048576 && + links.resolvedType = resolved.flags & 2097152 && resolved.objectType === objectType && resolved.indexType === indexType ? getConstrainedTypeVariable(resolved, node) : resolved; @@ -28476,7 +28655,7 @@ var ts; return links.resolvedType; } function getActualTypeVariable(type) { - return type.flags & 4194304 ? type.typeVariable : type; + return type.flags & 8388608 ? type.typeVariable : type; } function getConditionalType(root, mapper) { var checkType = instantiateType(root.checkType, mapper); @@ -28484,7 +28663,7 @@ var ts; if (checkType === wildcardType || extendsType === wildcardType) { return wildcardType; } - var isDeferred = root.isDistributive && maybeTypeOfKind(checkType, 7897088); + var isDeferred = root.isDistributive && maybeTypeOfKind(checkType, 15794176); var combinedMapper; if (root.inferTypeParameters) { var context_1 = createInferenceContext(root.inferTypeParameters, undefined, 0); @@ -28494,6 +28673,9 @@ var ts; combinedMapper = combineTypeMappers(mapper, context_1); } if (!isDeferred) { + if (extendsType.flags & 3) { + return instantiateType(root.trueType, mapper); + } if (checkType.flags & 1) { return getUnionType([instantiateType(root.trueType, combinedMapper || mapper), instantiateType(root.falseType, mapper)]); } @@ -28506,7 +28688,7 @@ var ts; } } var erasedCheckType = getActualTypeVariable(checkType); - var result = createType(2097152); + var result = createType(4194304); result.root = root; result.checkType = erasedCheckType; result.extendsType = extendsType; @@ -28538,7 +28720,7 @@ var ts; return true; } while (node) { - if (node.kind === 170) { + if (node.kind === 171) { if (isTypeParameterPossiblyReferenced(tp, node.extendsType)) { return true; } @@ -28561,7 +28743,7 @@ var ts; extendsType: getTypeFromTypeNode(node.extendsType), trueType: getTypeFromTypeNode(node.trueType), falseType: getTypeFromTypeNode(node.falseType), - isDistributive: !!(checkType.flags & 32768), + isDistributive: !!(checkType.flags & 65536), inferTypeParameters: getInferTypeParameters(node), outerTypeParameters: outerTypeParameters, instantiations: undefined, @@ -28597,12 +28779,12 @@ var ts; if (node.isTypeOf && node.typeArguments) { error(node, ts.Diagnostics.Type_arguments_cannot_be_used_here); links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } if (!ts.isLiteralImportTypeNode(node)) { error(node.argument, ts.Diagnostics.String_literal_expected); links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } var argumentType = getTypeFromTypeNode(node.argument); var targetMeaning = node.isTypeOf ? 67216319 : 67901928; @@ -28610,7 +28792,7 @@ var ts; var innerModuleSymbol = resolveExternalModule(node, moduleName, ts.Diagnostics.Cannot_find_module_0, node, false); if (!innerModuleSymbol) { links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } var moduleSymbol_1 = resolveExternalModuleSymbol(innerModuleSymbol, false); if (!ts.nodeIsMissing(node.qualifier)) { @@ -28622,7 +28804,7 @@ var ts; var next = getSymbol(getExportsOfSymbol(getMergedSymbol(resolveSymbol(currentNamespace))), current.escapedText, meaning); if (!next) { error(current, ts.Diagnostics.Namespace_0_has_no_exported_member_1, getFullyQualifiedName(currentNamespace), ts.declarationNameToString(current)); - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } getNodeLinks(current).resolvedSymbol = next; getNodeLinks(current.parent).resolvedSymbol = next; @@ -28637,7 +28819,7 @@ var ts; else { error(node, targetMeaning === 67216319 ? ts.Diagnostics.Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here : ts.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here, moduleName); links.resolvedSymbol = unknownSymbol; - links.resolvedType = unknownType; + links.resolvedType = errorType; } } } @@ -28681,19 +28863,22 @@ var ts; if (left.flags & 1 || right.flags & 1) { return anyType; } - if (left.flags & 16384) { + if (left.flags & 2 || right.flags & 2) { + return unknownType; + } + if (left.flags & 32768) { return right; } - if (right.flags & 16384) { + if (right.flags & 32768) { return left; } - if (left.flags & 131072) { + if (left.flags & 262144) { return mapType(left, function (t) { return getSpreadType(t, right, symbol, typeFlags, objectFlags); }); } - if (right.flags & 131072) { + if (right.flags & 262144) { return mapType(right, function (t) { return getSpreadType(left, t, symbol, typeFlags, objectFlags); }); } - if (right.flags & (136 | 84 | 34 | 272 | 134217728 | 524288)) { + if (right.flags & (272 | 168 | 68 | 544 | 16777216 | 1048576)) { return left; } var members = ts.createSymbolTable(); @@ -28745,7 +28930,7 @@ var ts; } } var spread = createAnonymousType(symbol, members, ts.emptyArray, ts.emptyArray, getNonReadonlyIndexSignature(stringIndexInfo), getNonReadonlyIndexSignature(numberIndexInfo)); - spread.flags |= typeFlags | 33554432; + spread.flags |= typeFlags | 268435456; spread.objectFlags |= objectFlags | (128 | 1024); return spread; } @@ -28777,9 +28962,9 @@ var ts; return type; } function getFreshTypeOfLiteralType(type) { - if (type.flags & 96 && !(type.flags & 8388608)) { + if (type.flags & 192 && !(type.flags & 33554432)) { if (!type.freshType) { - var freshType = createLiteralType(type.flags | 8388608, type.value, type.symbol); + var freshType = createLiteralType(type.flags | 33554432, type.value, type.symbol); freshType.regularType = type; type.freshType = freshType; } @@ -28788,14 +28973,16 @@ var ts; return type; } function getRegularTypeOfLiteralType(type) { - return type.flags & 96 && type.flags & 8388608 ? type.regularType : type; + return type.flags & 192 && type.flags & 33554432 ? type.regularType : + type.flags & 262144 ? getUnionType(ts.sameMap(type.types, getRegularTypeOfLiteralType)) : + type; } function getLiteralType(value, enumId, symbol) { var qualifier = typeof value === "number" ? "#" : "@"; var key = enumId ? enumId + qualifier + value : qualifier + value; var type = literalTypes.get(key); if (!type) { - var flags = (typeof value === "number" ? 64 : 32) | (enumId ? 256 : 0); + var flags = (typeof value === "number" ? 128 : 64) | (enumId ? 512 : 0); literalTypes.set(key, type = createLiteralType(flags, value, symbol)); } return type; @@ -28808,7 +28995,7 @@ var ts; return links.resolvedType; } function createUniqueESSymbolType(symbol) { - var type = createType(1024); + var type = createType(2048); type.symbol = symbol; return type; } @@ -28823,14 +29010,14 @@ var ts; function getThisType(node) { var container = ts.getThisContainer(node, false); var parent = container && container.parent; - if (parent && (ts.isClassLike(parent) || parent.kind === 235)) { + if (parent && (ts.isClassLike(parent) || parent.kind === 236)) { if (!ts.hasModifier(container, 32) && - (container.kind !== 154 || ts.isNodeDescendantOf(node, container.body))) { + (container.kind !== 155 || ts.isNodeDescendantOf(node, container.body))) { return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(parent)).thisType; } } error(node, ts.Diagnostics.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface); - return unknownType; + return errorType; } function getTypeFromThisTypeNode(node) { var links = getNodeLinks(node); @@ -28842,9 +29029,11 @@ var ts; function getTypeFromTypeNode(node) { switch (node.kind) { case 119: - case 278: case 279: + case 280: return anyType; + case 142: + return unknownType; case 137: return stringType; case 134: @@ -28863,62 +29052,62 @@ var ts; return neverType; case 135: return node.flags & 65536 ? anyType : nonPrimitiveType; - case 173: + case 174: case 99: return getTypeFromThisTypeNode(node); - case 177: - return getTypeFromLiteralTypeNode(node); - case 161: - return getTypeFromTypeReference(node); - case 160: - return booleanType; - case 206: - return getTypeFromTypeReference(node); - case 164: - return getTypeFromTypeQueryNode(node); - case 166: - return getTypeFromArrayTypeNode(node); - case 167: - return getTypeFromTupleTypeNode(node); - case 168: - return getTypeFromUnionTypeNode(node); - case 169: - return getTypeFromIntersectionTypeNode(node); - case 280: - return getTypeFromJSDocNullableTypeNode(node); - case 282: - return addOptionality(getTypeFromTypeNode(node.type)); - case 172: - case 281: - case 277: - return getTypeFromTypeNode(node.type); - case 284: - return getTypeFromJSDocVariadicType(node); - case 162: - case 163: - case 165: - case 286: - case 283: - case 287: - return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node); - case 174: - return getTypeFromTypeOperatorNode(node); - case 175: - return getTypeFromIndexedAccessTypeNode(node); - case 176: - return getTypeFromMappedTypeNode(node); - case 170: - return getTypeFromConditionalTypeNode(node); - case 171: - return getTypeFromInferTypeNode(node); case 178: + return getTypeFromLiteralTypeNode(node); + case 162: + return getTypeFromTypeReference(node); + case 161: + return booleanType; + case 207: + return getTypeFromTypeReference(node); + case 165: + return getTypeFromTypeQueryNode(node); + case 167: + return getTypeFromArrayTypeNode(node); + case 168: + return getTypeFromTupleTypeNode(node); + case 169: + return getTypeFromUnionTypeNode(node); + case 170: + return getTypeFromIntersectionTypeNode(node); + case 281: + return getTypeFromJSDocNullableTypeNode(node); + case 283: + return addOptionality(getTypeFromTypeNode(node.type)); + case 173: + case 282: + case 278: + return getTypeFromTypeNode(node.type); + case 285: + return getTypeFromJSDocVariadicType(node); + case 163: + case 164: + case 166: + case 287: + case 284: + case 288: + return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node); + case 175: + return getTypeFromTypeOperatorNode(node); + case 176: + return getTypeFromIndexedAccessTypeNode(node); + case 177: + return getTypeFromMappedTypeNode(node); + case 171: + return getTypeFromConditionalTypeNode(node); + case 172: + return getTypeFromInferTypeNode(node); + case 179: return getTypeFromImportTypeNode(node); case 71: - case 145: + case 146: var symbol = getSymbolAtLocation(node); - return symbol && getDeclaredTypeOfSymbol(symbol); + return (symbol && getDeclaredTypeOfSymbol(symbol)); default: - return unknownType; + return errorType; } } function instantiateList(items, mapper, instantiator) { @@ -28991,10 +29180,10 @@ var ts; return function (t) { return t === source ? target : baseMapper(t); }; } function wildcardMapper(type) { - return type.flags & 32768 ? wildcardType : type; + return type.flags & 65536 ? wildcardType : type; } function cloneTypeParameter(typeParameter) { - var result = createType(32768); + var result = createType(65536); result.symbol = typeParameter.symbol; result.target = typeParameter; return result; @@ -29032,7 +29221,7 @@ var ts; } function instantiateSymbol(symbol, mapper) { var links = getSymbolLinks(symbol); - if (links.type && !maybeTypeOfKind(links.type, 65536 | 7897088)) { + if (links.type && !maybeTypeOfKind(links.type, 131072 | 15794176)) { return symbol; } if (ts.getCheckFlags(symbol) & 1) { @@ -29103,35 +29292,35 @@ var ts; return type; } function maybeTypeParameterReference(node) { - return !(node.kind === 145 || - node.parent.kind === 161 && node.parent.typeArguments && node === node.parent.typeName); + return !(node.kind === 146 || + node.parent.kind === 162 && node.parent.typeArguments && node === node.parent.typeName); } function isTypeParameterPossiblyReferenced(tp, node) { if (tp.symbol && tp.symbol.declarations && tp.symbol.declarations.length === 1) { var container_3 = tp.symbol.declarations[0].parent; - if (ts.findAncestor(node, function (n) { return n.kind === 212 ? "quit" : n === container_3; })) { - return ts.forEachChild(node, containsReference); + if (ts.findAncestor(node, function (n) { return n.kind === 213 ? "quit" : n === container_3; })) { + return !!ts.forEachChild(node, containsReference); } } return true; function containsReference(node) { switch (node.kind) { - case 173: - return tp.isThisType; + case 174: + return !!tp.isThisType; case 71: return !tp.isThisType && ts.isPartOfTypeNode(node) && maybeTypeParameterReference(node) && getTypeFromTypeNode(node) === tp; - case 164: + case 165: return true; } - return ts.forEachChild(node, containsReference); + return !!ts.forEachChild(node, containsReference); } } function instantiateMappedType(type, mapper) { var constraintType = getConstraintTypeFromMappedType(type); - if (constraintType.flags & 524288) { + if (constraintType.flags & 1048576) { var typeVariable_1 = constraintType.type; - if (typeVariable_1.flags & 32768) { + if (typeVariable_1.flags & 65536) { var mappedTypeVariable = instantiateType(typeVariable_1, mapper); if (typeVariable_1 !== mappedTypeVariable) { return mapType(mappedTypeVariable, function (t) { @@ -29146,7 +29335,7 @@ var ts; return instantiateAnonymousType(type, mapper); } function isMappableType(type) { - return type.flags & (1 | 7372800 | 65536 | 262144); + return type.flags & (3 | 14745600 | 131072 | 524288); } function instantiateAnonymousType(type, mapper) { var result = createObjectType(type.objectFlags | 64, type.symbol); @@ -29178,7 +29367,7 @@ var ts; if (root.isDistributive) { var checkType_1 = root.checkType; var instantiatedType = mapper(checkType_1); - if (checkType_1 !== instantiatedType && instantiatedType.flags & (131072 | 16384)) { + if (checkType_1 !== instantiatedType && instantiatedType.flags & (262144 | 32768)) { return mapType(instantiatedType, function (t) { return getConditionalType(root, createReplacementMapper(checkType_1, t, mapper)); }); } } @@ -29186,10 +29375,10 @@ var ts; } function instantiateType(type, mapper) { if (type && mapper && mapper !== identityMapper) { - if (type.flags & 32768) { + if (type.flags & 65536) { return mapper(type); } - if (type.flags & 65536) { + if (type.flags & 131072) { if (type.objectFlags & 16) { return type.symbol && type.symbol.flags & (16 | 8192 | 32 | 2048 | 4096) && type.symbol.declarations ? getAnonymousTypeInstantiation(type, mapper) : type; @@ -29203,65 +29392,69 @@ var ts; return newTypeArguments !== typeArguments ? createTypeReference(type.target, newTypeArguments) : type; } } - if (type.flags & 131072 && !(type.flags & 16382)) { + if (type.flags & 262144 && !(type.flags & 32764)) { var types = type.types; var newTypes = instantiateTypes(types, mapper); return newTypes !== types ? getUnionType(newTypes, 1, type.aliasSymbol, instantiateTypes(type.aliasTypeArguments, mapper)) : type; } - if (type.flags & 262144) { + if (type.flags & 524288) { var types = type.types; var newTypes = instantiateTypes(types, mapper); return newTypes !== types ? getIntersectionType(newTypes, type.aliasSymbol, instantiateTypes(type.aliasTypeArguments, mapper)) : type; } - if (type.flags & 524288) { + if (type.flags & 1048576) { return getIndexType(instantiateType(type.type, mapper)); } - if (type.flags & 1048576) { + if (type.flags & 2097152) { return getIndexedAccessType(instantiateType(type.objectType, mapper), instantiateType(type.indexType, mapper)); } - if (type.flags & 2097152) { + if (type.flags & 4194304) { return getConditionalTypeInstantiation(type, combineTypeMappers(type.mapper, mapper)); } - if (type.flags & 4194304) { + if (type.flags & 8388608) { return instantiateType(type.typeVariable, mapper); } } return type; } function getWildcardInstantiation(type) { - return type.flags & (16382 | 1 | 16384) ? type : + return type.flags & (32764 | 3 | 32768) ? type : type.wildcardInstantiation || (type.wildcardInstantiation = instantiateType(type, wildcardMapper)); } function instantiateIndexInfo(info, mapper) { return info && createIndexInfo(instantiateType(info.type, mapper), info.isReadonly, info.declaration); } function isContextSensitive(node) { - ts.Debug.assert(node.kind !== 153 || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 || ts.isObjectLiteralMethod(node)); switch (node.kind) { - case 191: case 192: - case 153: + case 193: + case 154: return isContextSensitiveFunctionLikeDeclaration(node); + case 184: + return ts.some(node.properties, isContextSensitive); case 183: - return ts.forEach(node.properties, isContextSensitive); - case 182: - return ts.forEach(node.elements, isContextSensitive); - case 200: + return ts.some(node.elements, isContextSensitive); + case 201: return isContextSensitive(node.whenTrue) || isContextSensitive(node.whenFalse); - case 199: + case 200: return node.operatorToken.kind === 54 && (isContextSensitive(node.left) || isContextSensitive(node.right)); - case 269: + case 270: return isContextSensitive(node.initializer); - case 190: + case 191: return isContextSensitive(node.expression); - case 262: - return ts.forEach(node.properties, isContextSensitive); - case 261: - return node.initializer && isContextSensitive(node.initializer); - case 264: - return node.expression && isContextSensitive(node.expression); + case 263: + return ts.some(node.properties, isContextSensitive); + case 262: { + var initializer = node.initializer; + return !!initializer && isContextSensitive(initializer); + } + case 265: { + var expression = node.expression; + return !!expression && isContextSensitive(expression); + } } return false; } @@ -29269,23 +29462,24 @@ var ts; if (node.typeParameters) { return false; } - if (ts.forEach(node.parameters, function (p) { return !ts.getEffectiveTypeAnnotationNode(p); })) { + if (ts.some(node.parameters, function (p) { return !ts.getEffectiveTypeAnnotationNode(p); })) { return true; } - if (node.kind !== 192) { + if (node.kind !== 193) { var parameter = ts.firstOrUndefined(node.parameters); if (!(parameter && ts.parameterIsThisKeyword(parameter))) { return true; } } - return node.body.kind === 212 ? false : isContextSensitive(node.body); + var body = node.body; + return body.kind === 213 ? false : isContextSensitive(body); } function isContextSensitiveFunctionOrObjectLiteralMethod(func) { return (ts.isInJavaScriptFile(func) && ts.isFunctionDeclaration(func) || isFunctionExpressionOrArrowFunction(func) || ts.isObjectLiteralMethod(func)) && isContextSensitiveFunctionLikeDeclaration(func); } function getTypeWithoutSignatures(type) { - if (type.flags & 65536) { + if (type.flags & 131072) { var resolved = resolveStructuredTypeMembers(type); if (resolved.constructSignatures.length) { var result = createObjectType(16, type.symbol); @@ -29296,7 +29490,7 @@ var ts; return result; } } - else if (type.flags & 262144) { + else if (type.flags & 524288) { return getIntersectionType(ts.map(type.types, getTypeWithoutSignatures)); } return type; @@ -29317,9 +29511,9 @@ var ts; return isTypeRelatedTo(source, target, assignableRelation); } function isTypeDerivedFrom(source, target) { - return source.flags & 131072 ? ts.every(source.types, function (t) { return isTypeDerivedFrom(t, target); }) : - target.flags & 131072 ? ts.some(target.types, function (t) { return isTypeDerivedFrom(source, t); }) : - source.flags & 7372800 ? isTypeDerivedFrom(getBaseConstraintOfType(source) || emptyObjectType, target) : + return source.flags & 262144 ? ts.every(source.types, function (t) { return isTypeDerivedFrom(t, target); }) : + target.flags & 262144 ? ts.some(target.types, function (t) { return isTypeDerivedFrom(source, t); }) : + source.flags & 14745600 ? isTypeDerivedFrom(getBaseConstraintOfType(source) || emptyObjectType, target) : target === globalObjectType || target === globalFunctionType ? isTypeSubtypeOf(source, target) : hasBaseType(source, getTargetType(target)); } @@ -29350,8 +29544,8 @@ var ts; source = instantiateSignatureInContextOf(source, target, undefined, compareTypes); } var kind = target.declaration ? target.declaration.kind : 0; - var strictVariance = !callbackCheck && strictFunctionTypes && kind !== 153 && - kind !== 152 && kind !== 154; + var strictVariance = !callbackCheck && strictFunctionTypes && kind !== 154 && + kind !== 153 && kind !== 155; var result = -1; var sourceThisType = getThisTypeOfSignature(source); if (sourceThisType && sourceThisType !== voidType) { @@ -29379,7 +29573,7 @@ var ts; var sourceSig = callbackCheck ? undefined : getSingleCallSignature(getNonNullableType(sourceType)); var targetSig = callbackCheck ? undefined : getSingleCallSignature(getNonNullableType(targetType)); var callbacks = sourceSig && targetSig && !signatureHasTypePredicate(sourceSig) && !signatureHasTypePredicate(targetSig) && - (getFalsyFlags(sourceType) & 12288) === (getFalsyFlags(targetType) & 12288); + (getFalsyFlags(sourceType) & 24576) === (getFalsyFlags(targetType) & 24576); var related = callbacks ? compareSignaturesRelated(targetSig, sourceSig, strictVariance ? 2 : 1, false, reportErrors, errorReporter, compareTypes) : !callbackCheck && !strictVariance && compareTypes(sourceType, targetType, false) || compareTypes(targetType, sourceType, reportErrors); @@ -29484,10 +29678,10 @@ var ts; !t.numberIndexInfo; } function isEmptyObjectType(type) { - return type.flags & 65536 ? isEmptyResolvedType(resolveStructuredTypeMembers(type)) : - type.flags & 134217728 ? true : - type.flags & 131072 ? ts.forEach(type.types, isEmptyObjectType) : - type.flags & 262144 ? !ts.forEach(type.types, function (t) { return !isEmptyObjectType(t); }) : + return type.flags & 131072 ? isEmptyResolvedType(resolveStructuredTypeMembers(type)) : + type.flags & 16777216 ? true : + type.flags & 262144 ? ts.some(type.types, isEmptyObjectType) : + type.flags & 524288 ? !ts.some(type.types, function (t) { return !isEmptyObjectType(t); }) : false; } function isEnumTypeRelatedTo(sourceSymbol, targetSymbol, errorReporter) { @@ -29523,71 +29717,71 @@ var ts; function isSimpleTypeRelatedTo(source, target, relation, errorReporter) { var s = source.flags; var t = target.flags; - if (t & 1 || s & 16384 || source === wildcardType) + if (t & 3 || s & 32768 || source === wildcardType) return true; - if (t & 16384) + if (t & 32768) return false; - if (s & 34 && t & 2) + if (s & 68 && t & 4) return true; - if (s & 32 && s & 256 && - t & 32 && !(t & 256) && + if (s & 64 && s & 512 && + t & 64 && !(t & 512) && source.value === target.value) return true; - if (s & 84 && t & 4) + if (s & 168 && t & 8) return true; - if (s & 64 && s & 256 && - t & 64 && !(t & 256) && + if (s & 128 && s & 512 && + t & 128 && !(t & 512) && source.value === target.value) return true; - if (s & 136 && t & 8) + if (s & 272 && t & 16) return true; - if (s & 1536 && t & 512) + if (s & 3072 && t & 1024) return true; - if (s & 16 && t & 16 && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 32 && t & 32 && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; - if (s & 256 && t & 256) { - if (s & 131072 && t & 131072 && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 512 && t & 512) { + if (s & 262144 && t & 262144 && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; - if (s & 224 && t & 224 && + if (s & 448 && t & 448 && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) return true; } - if (s & 4096 && (!strictNullChecks || t & (4096 | 2048))) + if (s & 8192 && (!strictNullChecks || t & (8192 | 4096))) return true; - if (s & 8192 && (!strictNullChecks || t & 8192)) + if (s & 16384 && (!strictNullChecks || t & 16384)) return true; - if (s & 65536 && t & 134217728) + if (s & 131072 && t & 16777216) return true; - if (s & 1024 || t & 1024) + if (s & 2048 || t & 2048) return false; if (relation === assignableRelation || relation === definitelyAssignableRelation || relation === comparableRelation) { if (s & 1) return true; - if (s & (4 | 64) && !(s & 256) && (t & 16 || t & 64 && t & 256)) + if (s & (8 | 128) && !(s & 512) && (t & 32 || t & 128 && t & 512)) return true; } return false; } function isTypeRelatedTo(source, target, relation) { - if (source.flags & 96 && source.flags & 8388608) { + if (source.flags & 192 && source.flags & 33554432) { source = source.regularType; } - if (target.flags & 96 && target.flags & 8388608) { + if (target.flags & 192 && target.flags & 33554432) { target = target.regularType; } if (source === target || - relation === comparableRelation && !(target.flags & 16384) && isSimpleTypeRelatedTo(target, source, relation) || + relation === comparableRelation && !(target.flags & 32768) && isSimpleTypeRelatedTo(target, source, relation) || relation !== identityRelation && isSimpleTypeRelatedTo(source, target, relation)) { return true; } - if (source.flags & 65536 && target.flags & 65536) { + if (source.flags & 131072 && target.flags & 131072) { var related = relation.get(getRelationKey(source, target, relation)); if (related !== undefined) { return related === 1; } } - if (source.flags & 8355840 || target.flags & 8355840) { + if (source.flags & 16711680 || target.flags & 16711680) { return checkTypeRelatedTo(source, target, relation, undefined); } return false; @@ -29664,13 +29858,13 @@ var ts; } } function isUnionOrIntersectionTypeWithoutNullableConstituents(type) { - if (!(type.flags & 393216)) { + if (!(type.flags & 786432)) { return false; } var seenNonNullable = false; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 12288) { + if (t.flags & 24576) { continue; } if (seenNonNullable) { @@ -29681,22 +29875,23 @@ var ts; return false; } function isRelatedTo(source, target, reportErrors, headMessage) { - if (source.flags & 96 && source.flags & 8388608) { + if (reportErrors === void 0) { reportErrors = false; } + if (source.flags & 192 && source.flags & 33554432) { source = source.regularType; } - if (target.flags & 96 && target.flags & 8388608) { + if (target.flags & 192 && target.flags & 33554432) { target = target.regularType; } - if (source.flags & 4194304) { + if (source.flags & 8388608) { source = relation === definitelyAssignableRelation ? source.typeVariable : source.substitute; } - if (target.flags & 4194304) { + if (target.flags & 8388608) { target = target.typeVariable; } - if (source.flags & 1048576) { + if (source.flags & 2097152) { source = getSimplifiedType(source); } - if (target.flags & 1048576) { + if (target.flags & 2097152) { target = getSimplifiedType(target); } if (source === target) @@ -29704,11 +29899,11 @@ var ts; if (relation === identityRelation) { return isIdenticalTo(source, target); } - if (relation === comparableRelation && !(target.flags & 16384) && isSimpleTypeRelatedTo(target, source, relation) || + if (relation === comparableRelation && !(target.flags & 32768) && isSimpleTypeRelatedTo(target, source, relation) || isSimpleTypeRelatedTo(source, target, relation, reportErrors ? reportError : undefined)) return -1; - if (isObjectLiteralType(source) && source.flags & 8388608) { - var discriminantType = target.flags & 131072 ? findMatchingDiscriminantType(source, target) : undefined; + if (isObjectLiteralType(source) && source.flags & 33554432) { + var discriminantType = target.flags & 262144 ? findMatchingDiscriminantType(source, target) : undefined; if (hasExcessProperties(source, target, discriminantType, reportErrors)) { if (reportErrors) { reportRelationError(headMessage, source, target); @@ -29720,8 +29915,8 @@ var ts; } } if (relation !== comparableRelation && - !(source.flags & 393216) && - !(target.flags & 131072) && + !(source.flags & 786432) && + !(target.flags & 262144) && !isIntersectionConstituent && source !== globalObjectType && (getPropertiesOfType(source).length > 0 || typeHasCallOrConstructSignatures(source)) && @@ -29744,30 +29939,30 @@ var ts; var saveErrorInfo = errorInfo; var saveIsIntersectionConstituent = isIntersectionConstituent; isIntersectionConstituent = false; - if (source.flags & 131072) { + if (source.flags & 262144) { result = relation === comparableRelation ? - someTypeRelatedToType(source, target, reportErrors && !(source.flags & 16382)) : - eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 16382)); + someTypeRelatedToType(source, target, reportErrors && !(source.flags & 32764)) : + eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 32764)); } else { - if (target.flags & 131072) { - result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & 16382) && !(target.flags & 16382)); + if (target.flags & 262144) { + result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & 32764) && !(target.flags & 32764)); } - else if (target.flags & 262144) { + else if (target.flags & 524288) { isIntersectionConstituent = true; result = typeRelatedToEachType(source, target, reportErrors); } - else if (source.flags & 262144) { + else if (source.flags & 524288) { result = someTypeRelatedToType(source, target, false); } - if (!result && (source.flags & 8355840 || target.flags & 8355840)) { + if (!result && (source.flags & 16711680 || target.flags & 16711680)) { if (result = recursiveTypeRelatedTo(source, target, reportErrors)) { errorInfo = saveErrorInfo; } } } - if (!result && source.flags & 262144) { - var constraint = getUnionConstraintOfIntersection(source, !!(target.flags & 131072)); + if (!result && source.flags & 524288) { + var constraint = getUnionConstraintOfIntersection(source, !!(target.flags & 262144)); if (constraint) { if (result = isRelatedTo(constraint, target, reportErrors)) { errorInfo = saveErrorInfo; @@ -29776,12 +29971,21 @@ var ts; } isIntersectionConstituent = saveIsIntersectionConstituent; if (!result && reportErrors) { - if (source.flags & 65536 && target.flags & 16382) { + if (source.flags & 131072 && target.flags & 32764) { tryElaborateErrorsForPrimitivesAndObjects(source, target); } - else if (source.symbol && source.flags & 65536 && globalObjectType === source) { + else if (source.symbol && source.flags & 131072 && globalObjectType === source) { reportError(ts.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead); } + else if (ts.getObjectFlags(source) & 4096 && target.flags & 524288) { + var targetTypes = target.types; + var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, errorNode); + var intrinsicClassAttributes = getJsxType(JsxNames.IntrinsicClassAttributes, errorNode); + if (intrinsicAttributes !== errorType && intrinsicClassAttributes !== errorType && + (ts.contains(targetTypes, intrinsicAttributes) || ts.contains(targetTypes, intrinsicClassAttributes))) { + return result; + } + } reportRelationError(headMessage, source, target); } return result; @@ -29789,27 +29993,27 @@ var ts; function isIdenticalTo(source, target) { var result; var flags = source.flags & target.flags; - if (flags & 65536) { + if (flags & 131072) { return recursiveTypeRelatedTo(source, target, false); } - if (flags & (131072 | 262144)) { + if (flags & (262144 | 524288)) { if (result = eachTypeRelatedToSomeType(source, target)) { if (result &= eachTypeRelatedToSomeType(target, source)) { return result; } } } - if (flags & 524288) { + if (flags & 1048576) { return isRelatedTo(source.type, target.type, false); } - if (flags & 1048576) { + if (flags & 2097152) { if (result = isRelatedTo(source.objectType, target.objectType, false)) { if (result &= isRelatedTo(source.indexType, target.indexType, false)) { return result; } } } - if (flags & 2097152) { + if (flags & 4194304) { if (source.root.isDistributive === target.root.isDistributive) { if (result = isRelatedTo(source.checkType, target.checkType, false)) { if (result &= isRelatedTo(source.extendsType, target.extendsType, false)) { @@ -29822,13 +30026,13 @@ var ts; } } } - if (flags & 4194304) { + if (flags & 8388608) { return isRelatedTo(source.substitute, target.substitute, false); } return 0; } function hasExcessProperties(source, target, discriminant, reportErrors) { - if (maybeTypeOfKind(target, 65536) && !(ts.getObjectFlags(target) & 512)) { + if (maybeTypeOfKind(target, 131072) && !(ts.getObjectFlags(target) & 512)) { var isComparingJsxAttributes = !!(ts.getObjectFlags(source) & 4096); if ((relation === assignableRelation || relation === definitelyAssignableRelation || relation === comparableRelation) && (isTypeSubsetOf(globalObjectType, target) || (!isComparingJsxAttributes && isEmptyObjectType(target)))) { @@ -29840,7 +30044,8 @@ var ts; var _loop_6 = function (prop) { if (!isKnownProperty(target, prop.escapedName, isComparingJsxAttributes)) { if (reportErrors) { - ts.Debug.assert(!!errorNode); + if (!errorNode) + return { value: ts.Debug.fail() }; if (ts.isJsxAttributes(errorNode) || ts.isJsxOpeningLikeElement(errorNode)) { reportError(ts.Diagnostics.Property_0_does_not_exist_on_type_1, symbolToString(prop), typeToString(target)); } @@ -29851,8 +30056,9 @@ var ts; var propDeclaration = prop.valueDeclaration; ts.Debug.assertNode(propDeclaration, ts.isObjectLiteralElementLike); errorNode = propDeclaration; - if (ts.isIdentifier(propDeclaration.name)) { - suggestion = getSuggestionForNonexistentProperty(propDeclaration.name, target); + var name = propDeclaration.name; + if (ts.isIdentifier(name)) { + suggestion = getSuggestionForNonexistentProperty(name, target); } } if (suggestion !== undefined) { @@ -29890,7 +30096,7 @@ var ts; } function typeRelatedToSomeType(source, target, reportErrors) { var targetTypes = target.types; - if (target.flags & 131072 && containsType(targetTypes, source)) { + if (target.flags & 262144 && containsType(targetTypes, source)) { return -1; } for (var _i = 0, targetTypes_1 = targetTypes; _i < targetTypes_1.length; _i++) { @@ -29947,7 +30153,7 @@ var ts; } function someTypeRelatedToType(source, target, reportErrors) { var sourceTypes = source.types; - if (source.flags & 131072 && containsType(sourceTypes, target)) { + if (source.flags & 262144 && containsType(sourceTypes, target)) { return -1; } var len = sourceTypes.length; @@ -30077,7 +30283,7 @@ var ts; var result; var originalErrorInfo; var saveErrorInfo = errorInfo; - if (target.flags & 32768) { + if (target.flags & 65536) { if (ts.getObjectFlags(source) & 32 && getConstraintTypeFromMappedType(source) === getIndexType(target)) { if (!(getMappedTypeModifiers(source) & 4)) { var templateType = getTemplateTypeFromMappedType(source); @@ -30088,8 +30294,8 @@ var ts; } } } - else if (target.flags & 524288) { - if (source.flags & 524288) { + else if (target.flags & 1048576) { + if (source.flags & 1048576) { if (result = isRelatedTo(target.type, source.type, false)) { return result; } @@ -30104,7 +30310,7 @@ var ts; } } } - else if (target.flags & 1048576) { + else if (target.flags & 2097152) { var constraint = getConstraintForRelation(target); if (constraint) { if (result = isRelatedTo(source, constraint, reportErrors)) { @@ -30117,7 +30323,7 @@ var ts; var template = getTemplateTypeFromMappedType(target); var modifiers = getMappedTypeModifiers(target); if (!(modifiers & 8)) { - if (template.flags & 1048576 && template.objectType === source && + if (template.flags & 2097152 && template.objectType === source && template.indexType === getTypeParameterFromMappedType(target)) { return -1; } @@ -30131,8 +30337,8 @@ var ts; } } } - if (source.flags & 1081344) { - if (source.flags & 1048576 && target.flags & 1048576) { + if (source.flags & 2162688) { + if (source.flags & 2097152 && target.flags & 2097152) { if (result = isRelatedTo(source.objectType, target.objectType, reportErrors)) { result &= isRelatedTo(source.indexType, target.indexType, reportErrors); } @@ -30142,8 +30348,8 @@ var ts; } } var constraint = getConstraintForRelation(source); - if (!constraint || (source.flags & 32768 && constraint.flags & 1)) { - if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~134217728))) { + if (!constraint || (source.flags & 65536 && constraint.flags & 3)) { + if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~16777216))) { errorInfo = saveErrorInfo; return result; } @@ -30156,14 +30362,14 @@ var ts; } } } - else if (source.flags & 524288) { + else if (source.flags & 1048576) { if (result = isRelatedTo(keyofConstraintType, target, reportErrors)) { errorInfo = saveErrorInfo; return result; } } - else if (source.flags & 2097152) { - if (target.flags & 2097152) { + else if (source.flags & 4194304) { + if (target.flags & 4194304) { if (isTypeIdenticalTo(source.extendsType, target.extendsType) && (isRelatedTo(source.checkType, target.checkType) || isRelatedTo(target.checkType, source.checkType))) { if (result = isRelatedTo(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target), reportErrors)) { @@ -30207,11 +30413,11 @@ var ts; errorInfo = saveErrorInfo; } } - var sourceIsPrimitive = !!(source.flags & 16382); + var sourceIsPrimitive = !!(source.flags & 32764); if (relation !== identityRelation) { source = getApparentType(source); } - if (source.flags & (65536 | 262144) && target.flags & 65536) { + if (source.flags & (131072 | 524288) && target.flags & 131072) { var reportStructuralErrors = reportErrors && errorInfo === saveErrorInfo && !sourceIsPrimitive; if (isPartialMappedType(target) && !isGenericMappedType(source) && isEmptyObjectType(source)) { result = -1; @@ -30349,14 +30555,14 @@ var ts; return result; } function isWeakType(type) { - if (type.flags & 65536) { + if (type.flags & 131072) { var resolved = resolveStructuredTypeMembers(type); return resolved.callSignatures.length === 0 && resolved.constructSignatures.length === 0 && !resolved.stringIndexInfo && !resolved.numberIndexInfo && resolved.properties.length > 0 && ts.every(resolved.properties, function (p) { return !!(p.flags & 16777216); }); } - if (type.flags & 262144) { + if (type.flags & 524288) { return ts.every(type.types, isWeakType); } return false; @@ -30372,7 +30578,7 @@ var ts; return false; } function propertiesIdenticalTo(source, target) { - if (!(source.flags & 65536 && target.flags & 65536)) { + if (!(source.flags & 131072 && target.flags & 131072)) { return 0; } var sourceProperties = getPropertiesOfObjectType(source); @@ -30427,7 +30633,7 @@ var ts; } } else if (sourceSignatures.length === 1 && targetSignatures.length === 1) { - var eraseGenerics = relation === comparableRelation || compilerOptions.noStrictGenericChecks; + var eraseGenerics = relation === comparableRelation || !!compilerOptions.noStrictGenericChecks; result = signatureRelatedTo(sourceSignatures[0], targetSignatures[0], eraseGenerics, reportErrors); } else { @@ -30478,7 +30684,7 @@ var ts; if (isIgnoredJsxProperty(source, prop, undefined)) { continue; } - if (prop.nameType && prop.nameType.flags & 1024) { + if (prop.nameType && prop.nameType.flags & 2048) { continue; } if (kind === 0 || isNumericLiteralName(prop.escapedName)) { @@ -30506,7 +30712,7 @@ var ts; return indexTypesIdenticalTo(source, target, kind); } var targetInfo = getIndexInfoOfType(target, kind); - if (!targetInfo || targetInfo.type.flags & 1 && !sourceIsPrimitive) { + if (!targetInfo || targetInfo.type.flags & 3 && !sourceIsPrimitive) { return -1; } var sourceInfo = getIndexInfoOfType(source, kind) || @@ -30515,7 +30721,7 @@ var ts; return indexInfoRelatedTo(sourceInfo, targetInfo, reportErrors); } if (isGenericMappedType(source)) { - return kind === 0 && isRelatedTo(getTemplateTypeFromMappedType(source), targetInfo.type, reportErrors); + return (kind === 0 && isRelatedTo(getTemplateTypeFromMappedType(source), targetInfo.type, reportErrors)); } if (isObjectTypeWithInferableIndex(source)) { var related = -1; @@ -30603,17 +30809,17 @@ var ts; } function hasCovariantVoidArgument(type, variances) { for (var i = 0; i < variances.length; i++) { - if (variances[i] === 1 && type.typeArguments[i].flags & 2048) { + if (variances[i] === 1 && type.typeArguments[i].flags & 4096) { return true; } } return false; } function isUnconstrainedTypeParameter(type) { - return type.flags & 32768 && !getConstraintFromTypeParameter(type); + return type.flags & 65536 && !getConstraintFromTypeParameter(type); } function isTypeReferenceWithGenericArguments(type) { - return ts.getObjectFlags(type) & 4 && ts.some(type.typeArguments, function (t) { return isUnconstrainedTypeParameter(t) || isTypeReferenceWithGenericArguments(t); }); + return !!(ts.getObjectFlags(type) & 4) && ts.some(type.typeArguments, function (t) { return isUnconstrainedTypeParameter(t) || isTypeReferenceWithGenericArguments(t); }); } function getTypeReferenceId(type, typeParameters, depth) { if (depth === void 0) { depth = 0; } @@ -30681,13 +30887,13 @@ var ts; !hasBaseType(checkClass, getDeclaringClass(p)) : false; }) ? undefined : checkClass; } function isDeeplyNestedType(type, stack, depth) { - if (depth >= 5 && type.flags & 65536) { + if (depth >= 5 && type.flags & 131072) { var symbol = type.symbol; if (symbol) { var count = 0; for (var i = 0; i < depth; i++) { var t = stack[i]; - if (t.flags & 65536 && t.symbol === symbol) { + if (t.flags & 131072 && t.symbol === symbol) { count++; if (count >= 5) return true; @@ -30812,20 +31018,20 @@ var ts; if (!strictNullChecks) { return getSupertypeOrUnion(types); } - var primaryTypes = ts.filter(types, function (t) { return !(t.flags & 12288); }); + var primaryTypes = ts.filter(types, function (t) { return !(t.flags & 24576); }); return primaryTypes.length ? - getNullableType(getSupertypeOrUnion(primaryTypes), getFalsyFlagsOfTypes(types) & 12288) : + getNullableType(getSupertypeOrUnion(primaryTypes), getFalsyFlagsOfTypes(types) & 24576) : getUnionType(types, 2); } function getCommonSubtype(types) { return ts.reduceLeft(types, function (s, t) { return isTypeSubtypeOf(t, s) ? t : s; }); } function isArrayType(type) { - return ts.getObjectFlags(type) & 4 && type.target === globalArrayType; + return !!(ts.getObjectFlags(type) & 4) && type.target === globalArrayType; } function isArrayLikeType(type) { return ts.getObjectFlags(type) & 4 && (type.target === globalArrayType || type.target === globalReadonlyArrayType) || - !(type.flags & 12288) && isTypeAssignableTo(type, anyReadonlyArrayType); + !(type.flags & 24576) && isTypeAssignableTo(type, anyReadonlyArrayType); } function isEmptyArrayLiteralType(type) { var elementType = isArrayType(type) ? type.typeArguments[0] : undefined; @@ -30835,35 +31041,35 @@ var ts; return !!getPropertyOfType(type, "0"); } function isNeitherUnitTypeNorNever(type) { - return !(type.flags & (13536 | 16384)); + return !(type.flags & (27072 | 32768)); } function isUnitType(type) { - return !!(type.flags & 13536); + return !!(type.flags & 27072); } function isLiteralType(type) { - return type.flags & 8 ? true : - type.flags & 131072 ? type.flags & 256 ? true : !ts.forEach(type.types, function (t) { return !isUnitType(t); }) : + return type.flags & 16 ? true : + type.flags & 262144 ? type.flags & 512 ? true : !ts.forEach(type.types, function (t) { return !isUnitType(t); }) : isUnitType(type); } function getBaseTypeOfLiteralType(type) { - return type.flags & 256 ? getBaseTypeOfEnumLiteralType(type) : - type.flags & 32 ? stringType : - type.flags & 64 ? numberType : - type.flags & 128 ? booleanType : - type.flags & 131072 ? getUnionType(ts.sameMap(type.types, getBaseTypeOfLiteralType)) : + return type.flags & 512 ? getBaseTypeOfEnumLiteralType(type) : + type.flags & 64 ? stringType : + type.flags & 128 ? numberType : + type.flags & 256 ? booleanType : + type.flags & 262144 ? getUnionType(ts.sameMap(type.types, getBaseTypeOfLiteralType)) : type; } function getWidenedLiteralType(type) { - return type.flags & 256 ? getBaseTypeOfEnumLiteralType(type) : - type.flags & 32 && type.flags & 8388608 ? stringType : - type.flags & 64 && type.flags & 8388608 ? numberType : - type.flags & 128 ? booleanType : - type.flags & 131072 ? getUnionType(ts.sameMap(type.types, getWidenedLiteralType)) : + return type.flags & 512 ? getBaseTypeOfEnumLiteralType(type) : + type.flags & 64 && type.flags & 33554432 ? stringType : + type.flags & 128 && type.flags & 33554432 ? numberType : + type.flags & 256 ? booleanType : + type.flags & 262144 ? getUnionType(ts.sameMap(type.types, getWidenedLiteralType)) : type; } function getWidenedUniqueESSymbolType(type) { - return type.flags & 1024 ? esSymbolType : - type.flags & 131072 ? getUnionType(ts.sameMap(type.types, getWidenedUniqueESSymbolType)) : + return type.flags & 2048 ? esSymbolType : + type.flags & 262144 ? getUnionType(ts.sameMap(type.types, getWidenedUniqueESSymbolType)) : type; } function getWidenedLiteralLikeTypeForContextualType(type, contextualType) { @@ -30884,39 +31090,39 @@ var ts; return result; } function getFalsyFlags(type) { - return type.flags & 131072 ? getFalsyFlagsOfTypes(type.types) : - type.flags & 32 ? type.value === "" ? 32 : 0 : - type.flags & 64 ? type.value === 0 ? 64 : 0 : - type.flags & 128 ? type === falseType ? 128 : 0 : - type.flags & 14574; + return type.flags & 262144 ? getFalsyFlagsOfTypes(type.types) : + type.flags & 64 ? type.value === "" ? 64 : 0 : + type.flags & 128 ? type.value === 0 ? 128 : 0 : + type.flags & 256 ? type === falseType ? 256 : 0 : + type.flags & 29148; } function removeDefinitelyFalsyTypes(type) { - return getFalsyFlags(type) & 14560 ? - filterType(type, function (t) { return !(getFalsyFlags(t) & 14560); }) : + return getFalsyFlags(type) & 29120 ? + filterType(type, function (t) { return !(getFalsyFlags(t) & 29120); }) : type; } function extractDefinitelyFalsyTypes(type) { return mapType(type, getDefinitelyFalsyPartOfType); } function getDefinitelyFalsyPartOfType(type) { - return type.flags & 2 ? emptyStringType : - type.flags & 4 ? zeroType : - type.flags & 8 || type === falseType ? falseType : - type.flags & (2048 | 4096 | 8192) || - type.flags & 32 && type.value === "" || - type.flags & 64 && type.value === 0 ? type : + return type.flags & 4 ? emptyStringType : + type.flags & 8 ? zeroType : + type.flags & 16 || type === falseType ? falseType : + type.flags & (4096 | 8192 | 16384) || + type.flags & 64 && type.value === "" || + type.flags & 128 && type.value === 0 ? type : neverType; } function getNullableType(type, flags) { - var missing = (flags & ~type.flags) & (4096 | 8192); + var missing = (flags & ~type.flags) & (8192 | 16384); return missing === 0 ? type : - missing === 4096 ? getUnionType([type, undefinedType]) : - missing === 8192 ? getUnionType([type, nullType]) : + missing === 8192 ? getUnionType([type, undefinedType]) : + missing === 16384 ? getUnionType([type, nullType]) : getUnionType([type, undefinedType, nullType]); } function getOptionalType(type) { ts.Debug.assert(strictNullChecks); - return type.flags & 4096 ? type : getUnionType([type, undefinedType]); + return type.flags & 8192 ? type : getUnionType([type, undefinedType]); } function getGlobalNonNullableTypeInstantiation(type) { if (!deferredGlobalNonNullableTypeAlias) { @@ -30959,7 +31165,7 @@ var ts; return members; } function getRegularTypeOfObjectLiteral(type) { - if (!(isObjectLiteralType(type) && type.flags & 8388608)) { + if (!(isObjectLiteralType(type) && type.flags & 33554432)) { return type; } var regularType = type.regularType; @@ -30969,7 +31175,7 @@ var ts; var resolved = type; var members = transformTypeOfMembers(type, getRegularTypeOfObjectLiteral); var regularNew = createAnonymousType(resolved.symbol, members, resolved.callSignatures, resolved.constructSignatures, resolved.stringIndexInfo, resolved.numberIndexInfo); - regularNew.flags = resolved.flags & ~8388608; + regularNew.flags = resolved.flags & ~33554432; regularNew.objectFlags |= 128; type.regularType = regularNew; return regularNew; @@ -31049,16 +31255,16 @@ var ts; return getWidenedTypeWithContext(type, undefined); } function getWidenedTypeWithContext(type, context) { - if (type.flags & 50331648) { - if (type.flags & 12288) { + if (type.flags & 402653184) { + if (type.flags & 24576) { return anyType; } if (isObjectLiteralType(type)) { return getWidenedTypeOfObjectLiteral(type, context); } - if (type.flags & 131072) { + if (type.flags & 262144) { var unionContext_1 = context || createWideningContext(undefined, undefined, type.types); - var widenedTypes = ts.sameMap(type.types, function (t) { return t.flags & 12288 ? t : getWidenedTypeWithContext(t, unionContext_1); }); + var widenedTypes = ts.sameMap(type.types, function (t) { return t.flags & 24576 ? t : getWidenedTypeWithContext(t, unionContext_1); }); return getUnionType(widenedTypes, ts.some(widenedTypes, isEmptyObjectType) ? 2 : 1); } if (isArrayType(type) || isTupleType(type)) { @@ -31069,8 +31275,8 @@ var ts; } function reportWideningErrorsInType(type) { var errorReported = false; - if (type.flags & 16777216) { - if (type.flags & 131072) { + if (type.flags & 134217728) { + if (type.flags & 262144) { if (ts.some(type.types, isEmptyObjectType)) { errorReported = true; } @@ -31095,7 +31301,7 @@ var ts; for (var _d = 0, _e = getPropertiesOfObjectType(type); _d < _e.length; _d++) { var p = _e[_d]; var t = getTypeOfSymbol(p); - if (t.flags & 16777216) { + if (t.flags & 134217728) { if (!reportWideningErrorsInType(t)) { error(p.valueDeclaration, ts.Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type, symbolToString(p), typeToString(getWidenedType(t))); } @@ -31110,33 +31316,33 @@ var ts; var typeAsString = typeToString(getWidenedType(type)); var diagnostic; switch (declaration.kind) { - case 199: + case 200: + case 152: case 151: - case 150: diagnostic = ts.Diagnostics.Member_0_implicitly_has_an_1_type; break; - case 148: + case 149: diagnostic = declaration.dotDotDotToken ? ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type : ts.Diagnostics.Parameter_0_implicitly_has_an_1_type; break; - case 181: + case 182: diagnostic = ts.Diagnostics.Binding_element_0_implicitly_has_an_1_type; break; - case 233: + case 234: + case 154: case 153: - case 152: - case 155: case 156: - case 191: + case 157: case 192: + case 193: if (!declaration.name) { error(declaration, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeAsString); return; } diagnostic = ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type; break; - case 176: + case 177: error(declaration, ts.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type); return; default: @@ -31145,7 +31351,7 @@ var ts; error(declaration, diagnostic, ts.declarationNameToString(ts.getNameOfDeclaration(declaration)), typeAsString); } function reportErrorsFromWidening(declaration, type) { - if (produceDiagnostics && noImplicitAny && type.flags & 16777216) { + if (produceDiagnostics && noImplicitAny && type.flags & 134217728) { if (!reportWideningErrorsInType(type)) { reportImplicitAnyError(declaration, type); } @@ -31214,25 +31420,25 @@ var ts; } function couldContainTypeVariables(type) { var objectFlags = ts.getObjectFlags(type); - return !!(type.flags & 7897088 || + return !!(type.flags & 15794176 || objectFlags & 4 && ts.forEach(type.typeArguments, couldContainTypeVariables) || objectFlags & 16 && type.symbol && type.symbol.flags & (16 | 8192 | 2048 | 32) || objectFlags & 32 || - type.flags & 393216 && couldUnionOrIntersectionContainTypeVariables(type)); + type.flags & 786432 && couldUnionOrIntersectionContainTypeVariables(type)); } function couldUnionOrIntersectionContainTypeVariables(type) { if (type.couldContainTypeVariables === undefined) { - type.couldContainTypeVariables = ts.forEach(type.types, couldContainTypeVariables); + type.couldContainTypeVariables = ts.some(type.types, couldContainTypeVariables); } return type.couldContainTypeVariables; } function isTypeParameterAtTopLevel(type, typeParameter) { - return type === typeParameter || type.flags & 393216 && ts.forEach(type.types, function (t) { return isTypeParameterAtTopLevel(t, typeParameter); }); + return type === typeParameter || !!(type.flags & 786432) && ts.some(type.types, function (t) { return isTypeParameterAtTopLevel(t, typeParameter); }); } function createEmptyObjectTypeFromStringLiteral(type) { var members = ts.createSymbolTable(); forEachType(type, function (t) { - if (!(t.flags & 32)) { + if (!(t.flags & 64)) { return; } var name = ts.escapeLeadingUnderscores(t.value); @@ -31244,7 +31450,7 @@ var ts; } members.set(name, literalProp); }); - var indexInfo = type.flags & 2 ? createIndexInfo(emptyObjectType, false) : undefined; + var indexInfo = type.flags & 4 ? createIndexInfo(emptyObjectType, false) : undefined; return createAnonymousType(undefined, members, ts.emptyArray, ts.emptyArray, indexInfo, undefined); } function inferTypeForHomomorphicMappedType(source, target) { @@ -31264,7 +31470,7 @@ var ts; } for (var _i = 0, properties_4 = properties; _i < properties_4.length; _i++) { var prop = properties_4[_i]; - if (getTypeOfSymbol(prop).flags & 67108864) { + if (getTypeOfSymbol(prop).flags & 536870912) { return undefined; } } @@ -31284,7 +31490,7 @@ var ts; return getTypeFromInference(inference); } function getUnmatchedProperty(source, target, requireOptionalProperties) { - var properties = target.flags & 262144 ? getPropertiesOfUnionOrIntersectionType(target) : getPropertiesOfObjectType(target); + var properties = target.flags & 524288 ? getPropertiesOfUnionOrIntersectionType(target) : getPropertiesOfObjectType(target); for (var _i = 0, properties_5 = properties; _i < properties_5.length; _i++) { var targetProp = properties_5[_i]; if (requireOptionalProperties || !(targetProp.flags & 16777216)) { @@ -31331,8 +31537,8 @@ var ts; } return; } - if (source.flags & 131072 && target.flags & 131072 && !(source.flags & 256 && target.flags & 256) || - source.flags & 262144 && target.flags & 262144) { + if (source.flags & 262144 && target.flags & 262144 && !(source.flags & 512 && target.flags & 512) || + source.flags & 524288 && target.flags & 524288) { if (source === target) { for (var _i = 0, _a = source.types; _i < _a.length; _i++) { var t = _a[_i]; @@ -31347,7 +31553,7 @@ var ts; (matchingTypes || (matchingTypes = [])).push(t); inferFromTypes(t, t); } - else if (t.flags & (64 | 32)) { + else if (t.flags & (128 | 64)) { var b = getBaseTypeOfLiteralType(t); if (typeIdenticalToSomeType(b, target.types)) { (matchingTypes || (matchingTypes = [])).push(t, b); @@ -31359,8 +31565,8 @@ var ts; target = removeTypesFromUnionOrIntersection(target, matchingTypes); } } - if (target.flags & 1081344) { - if (source.flags & 67108864 || source === silentNeverType) { + if (target.flags & 2162688) { + if (source.flags & 536870912 || source === silentNeverType) { return; } var inference = getInferenceInfoForType(target); @@ -31380,7 +31586,7 @@ var ts; inference.candidates = ts.append(inference.candidates, candidate); } } - if (!(priority & 8) && target.flags & 32768 && !isTypeParameterAtTopLevel(originalTarget, target)) { + if (!(priority & 8) && target.flags & 65536 && !isTypeParameterAtTopLevel(originalTarget, target)) { inference.topLevel = false; } } @@ -31401,12 +31607,12 @@ var ts; } } } - else if (source.flags & 524288 && target.flags & 524288) { + else if (source.flags & 1048576 && target.flags & 1048576) { contravariant = !contravariant; inferFromTypes(source.type, target.type); contravariant = !contravariant; } - else if ((isLiteralType(source) || source.flags & 2) && target.flags & 524288) { + else if ((isLiteralType(source) || source.flags & 4) && target.flags & 1048576) { var empty = createEmptyObjectTypeFromStringLiteral(source); contravariant = !contravariant; var savePriority = priority; @@ -31415,17 +31621,17 @@ var ts; priority = savePriority; contravariant = !contravariant; } - else if (source.flags & 1048576 && target.flags & 1048576) { + else if (source.flags & 2097152 && target.flags & 2097152) { inferFromTypes(source.objectType, target.objectType); inferFromTypes(source.indexType, target.indexType); } - else if (source.flags & 2097152 && target.flags & 2097152) { + else if (source.flags & 4194304 && target.flags & 4194304) { inferFromTypes(source.checkType, target.checkType); inferFromTypes(source.extendsType, target.extendsType); inferFromTypes(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target)); inferFromTypes(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target)); } - else if (target.flags & 393216) { + else if (target.flags & 786432) { var targetTypes = target.types; var typeVariableCount = 0; var typeVariable = void 0; @@ -31446,7 +31652,7 @@ var ts; priority = savePriority; } } - else if (source.flags & 131072) { + else if (source.flags & 262144) { var sourceTypes = source.types; for (var _e = 0, sourceTypes_3 = sourceTypes; _e < sourceTypes_3.length; _e++) { var sourceType = sourceTypes_3[_e]; @@ -31454,16 +31660,16 @@ var ts; } } else { - if (!(priority & 32 && source.flags & (262144 | 7897088))) { + if (!(priority & 32 && source.flags & (524288 | 15794176))) { source = getApparentType(source); } - if (source.flags & (65536 | 262144)) { + if (source.flags & (131072 | 524288)) { var key = source.id + "," + target.id; if (visited && visited.get(key)) { return; } (visited || (visited = ts.createMap())).set(key, true); - var isNonConstructorObject = target.flags & 65536 && + var isNonConstructorObject = target.flags & 131072 && !(ts.getObjectFlags(target) & 16 && target.symbol && target.symbol.flags & 32); var symbol = isNonConstructorObject ? target.symbol : undefined; if (symbol) { @@ -31491,7 +31697,7 @@ var ts; } } function getInferenceInfoForType(type) { - if (type.flags & 1081344) { + if (type.flags & 2162688) { for (var _i = 0, inferences_1 = inferences; _i < inferences_1.length; _i++) { var inference = inferences_1[_i]; if (type === inference.typeParameter) { @@ -31508,7 +31714,7 @@ var ts; } if (ts.getObjectFlags(target) & 32) { var constraintType = getConstraintTypeFromMappedType(target); - if (constraintType.flags & 524288) { + if (constraintType.flags & 1048576) { var inference = getInferenceInfoForType(constraintType.type); if (inference && !inference.isFixed) { var inferredType = inferTypeForHomomorphicMappedType(source, target); @@ -31521,7 +31727,7 @@ var ts; } return; } - if (constraintType.flags & 32768) { + if (constraintType.flags & 65536) { var savePriority = priority; priority |= 4; inferFromTypes(getIndexType(source), constraintType); @@ -31605,11 +31811,11 @@ var ts; reducedTypes.push(t); } } - return type.flags & 131072 ? getUnionType(reducedTypes) : getIntersectionType(reducedTypes); + return type.flags & 262144 ? getUnionType(reducedTypes) : getIntersectionType(reducedTypes); } function hasPrimitiveConstraint(type) { var constraint = getConstraintOfTypeParameter(type); - return constraint && maybeTypeOfKind(constraint, 16382 | 524288); + return !!constraint && maybeTypeOfKind(constraint, 32764 | 1048576); } function isObjectLiteralType(type) { return !!(ts.getObjectFlags(type) & 128); @@ -31629,10 +31835,12 @@ var ts; } function getCovariantInference(inference, context, signature) { var candidates = widenObjectLiteralCandidates(inference.candidates); - var widenLiteralTypes = inference.topLevel && - !hasPrimitiveConstraint(inference.typeParameter) && + var primitiveConstraint = hasPrimitiveConstraint(inference.typeParameter); + var widenLiteralTypes = !primitiveConstraint && inference.topLevel && (inference.isFixed || !isTypeParameterAtTopLevel(getReturnTypeOfSignature(signature), inference.typeParameter)); - var baseCandidates = widenLiteralTypes ? ts.sameMap(candidates, getWidenedLiteralType) : candidates; + var baseCandidates = primitiveConstraint ? ts.sameMap(candidates, getRegularTypeOfLiteralType) : + widenLiteralTypes ? ts.sameMap(candidates, getWidenedLiteralType) : + candidates; var unwidenedType = context.flags & 1 || inference.priority & 28 ? getUnionType(baseCandidates, 2) : getCommonSupertype(baseCandidates); @@ -31646,7 +31854,7 @@ var ts; if (signature) { if (inference.candidates) { inferredType = getCovariantInference(inference, context, signature); - if (inferredType.flags & 16384 && inference.contraCandidates) { + if (inferredType.flags & 32768 && inference.contraCandidates) { inferredType = getContravariantInference(inference); } } @@ -31699,7 +31907,7 @@ var ts; return links.resolvedSymbol; } function isInTypeQuery(node) { - return !!ts.findAncestor(node, function (n) { return n.kind === 164 ? true : n.kind === 71 || n.kind === 145 ? false : "quit"; }); + return !!ts.findAncestor(node, function (n) { return n.kind === 165 ? true : n.kind === 71 || n.kind === 146 ? false : "quit"; }); } function getFlowCacheKey(node) { if (node.kind === 71) { @@ -31709,13 +31917,13 @@ var ts; if (node.kind === 99) { return "0"; } - if (node.kind === 184) { + if (node.kind === 185) { var key = getFlowCacheKey(node.expression); return key && key + "." + ts.idText(node.name); } - if (node.kind === 181) { + if (node.kind === 182) { var container = node.parent.parent; - var key = container.kind === 181 ? getFlowCacheKey(container) : (container.initializer && getFlowCacheKey(container.initializer)); + var key = container.kind === 182 ? getFlowCacheKey(container) : (container.initializer && getFlowCacheKey(container.initializer)); var text = getBindingElementNameText(node); var result = key && text && (key + "." + text); return result; @@ -31723,12 +31931,13 @@ var ts; return undefined; } function getBindingElementNameText(element) { - if (element.parent.kind === 179) { + var parent = element.parent; + if (parent.kind === 180) { var name = element.propertyName || element.name; switch (name.kind) { case 71: return ts.idText(name); - case 146: + case 147: return ts.isStringOrNumericLiteral(name.expression) ? name.expression.text : undefined; case 9: case 8: @@ -31738,41 +31947,41 @@ var ts; } } else { - return "" + element.parent.elements.indexOf(element); + return "" + parent.elements.indexOf(element); } } function isMatchingReference(source, target) { switch (source.kind) { case 71: return target.kind === 71 && getResolvedSymbol(source) === getResolvedSymbol(target) || - (target.kind === 231 || target.kind === 181) && + (target.kind === 232 || target.kind === 182) && getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(source)) === getSymbolOfNode(target); case 99: return target.kind === 99; case 97: return target.kind === 97; - case 184: - return target.kind === 184 && + case 185: + return target.kind === 185 && source.name.escapedText === target.name.escapedText && isMatchingReference(source.expression, target.expression); - case 181: - if (target.kind !== 184) + case 182: + if (target.kind !== 185) return false; var t = target; if (t.name.escapedText !== getBindingElementNameText(source)) return false; - if (source.parent.parent.kind === 181 && isMatchingReference(source.parent.parent, t.expression)) { + if (source.parent.parent.kind === 182 && isMatchingReference(source.parent.parent, t.expression)) { return true; } - if (source.parent.parent.kind === 231) { + if (source.parent.parent.kind === 232) { var maybeId = source.parent.parent.initializer; - return maybeId && isMatchingReference(maybeId, t.expression); + return !!maybeId && isMatchingReference(maybeId, t.expression); } } return false; } function containsMatchingReference(source, target) { - while (source.kind === 184) { + while (source.kind === 185) { source = source.expression; if (isMatchingReference(source, target)) { return true; @@ -31781,7 +31990,7 @@ var ts; return false; } function containsMatchingReferenceDiscriminant(source, target) { - return target.kind === 184 && + return target.kind === 185 && containsMatchingReference(source, target.expression) && isDiscriminantProperty(getDeclaredTypeOfReference(target.expression), target.name.escapedText); } @@ -31789,18 +31998,18 @@ var ts; if (expr.kind === 71) { return getTypeOfSymbol(getResolvedSymbol(expr)); } - if (expr.kind === 184) { + if (expr.kind === 185) { var type = getDeclaredTypeOfReference(expr.expression); return type && getTypeOfPropertyOfType(type, expr.name.escapedText); } return undefined; } function isDiscriminantProperty(type, name) { - if (type && type.flags & 131072) { + if (type && type.flags & 262144) { var prop = getUnionOrIntersectionProperty(type, name); if (prop && ts.getCheckFlags(prop) & 2) { if (prop.isDiscriminantProperty === undefined) { - prop.isDiscriminantProperty = prop.checkFlags & 32 && isLiteralType(getTypeOfSymbol(prop)); + prop.isDiscriminantProperty = !!(prop.checkFlags & 32) && isLiteralType(getTypeOfSymbol(prop)); } return prop.isDiscriminantProperty; } @@ -31833,7 +32042,7 @@ var ts; } } } - if (callExpression.expression.kind === 184 && + if (callExpression.expression.kind === 185 && isOrContainsMatchingReference(reference, callExpression.expression.expression)) { return true; } @@ -31847,7 +32056,7 @@ var ts; return flow.id; } function typeMaybeAssignableTo(source, target) { - if (!(source.flags & 131072)) { + if (!(source.flags & 262144)) { return isTypeAssignableTo(source, target); } for (var _i = 0, _a = source.types; _i < _a.length; _i++) { @@ -31860,11 +32069,11 @@ var ts; } function getAssignmentReducedType(declaredType, assignedType) { if (declaredType !== assignedType) { - if (assignedType.flags & 16384) { + if (assignedType.flags & 32768) { return assignedType; } var reducedType = filterType(declaredType, function (t) { return typeMaybeAssignableTo(assignedType, t); }); - if (!(reducedType.flags & 16384)) { + if (!(reducedType.flags & 32768)) { return reducedType; } } @@ -31885,53 +32094,53 @@ var ts; } function getTypeFacts(type) { var flags = type.flags; - if (flags & 2) { + if (flags & 4) { return strictNullChecks ? 4079361 : 4194049; } - if (flags & 32) { + if (flags & 64) { var isEmpty = type.value === ""; return strictNullChecks ? isEmpty ? 3030785 : 1982209 : isEmpty ? 3145473 : 4194049; } - if (flags & (4 | 16)) { + if (flags & (8 | 32)) { return strictNullChecks ? 4079234 : 4193922; } - if (flags & 64) { + if (flags & 128) { var isZero = type.value === 0; return strictNullChecks ? isZero ? 3030658 : 1982082 : isZero ? 3145346 : 4193922; } - if (flags & 8) { + if (flags & 16) { return strictNullChecks ? 4078980 : 4193668; } - if (flags & 136) { + if (flags & 272) { return strictNullChecks ? type === falseType ? 3030404 : 1981828 : type === falseType ? 3145092 : 4193668; } - if (flags & 65536) { + if (flags & 131072) { return isFunctionObjectType(type) ? strictNullChecks ? 1970144 : 4181984 : strictNullChecks ? 1972176 : 4184016; } - if (flags & (2048 | 4096)) { + if (flags & (4096 | 8192)) { return 2457472; } - if (flags & 8192) { + if (flags & 16384) { return 2340752; } - if (flags & 1536) { + if (flags & 3072) { return strictNullChecks ? 1981320 : 4193160; } - if (flags & 134217728) { + if (flags & 16777216) { return strictNullChecks ? 1972176 : 4184016; } - if (flags & 7897088) { + if (flags & 15794176) { return getTypeFacts(getBaseConstraintOfType(type) || emptyObjectType); } - if (flags & 393216) { + if (flags & 786432) { return getTypeFactsOfTypes(type.types); } return 4194303; @@ -31951,26 +32160,26 @@ var ts; return getConstraintForLocation(getTypeOfPropertyOfType(type, text), name) || isNumericLiteralName(text) && getIndexTypeOfType(type, 1) || getIndexTypeOfType(type, 0) || - unknownType; + errorType; } function getTypeOfDestructuredArrayElement(type, index) { return isTupleLikeType(type) && getTypeOfPropertyOfType(type, "" + index) || checkIteratedTypeOrElementType(type, undefined, false, false) || - unknownType; + errorType; } function getTypeOfDestructuredSpreadExpression(type) { - return createArrayType(checkIteratedTypeOrElementType(type, undefined, false, false) || unknownType); + return createArrayType(checkIteratedTypeOrElementType(type, undefined, false, false) || errorType); } function getAssignedTypeOfBinaryExpression(node) { - var isDestructuringDefaultAssignment = node.parent.kind === 182 && isDestructuringAssignmentTarget(node.parent) || - node.parent.kind === 269 && isDestructuringAssignmentTarget(node.parent.parent); + var isDestructuringDefaultAssignment = node.parent.kind === 183 && isDestructuringAssignmentTarget(node.parent) || + node.parent.kind === 270 && isDestructuringAssignmentTarget(node.parent.parent); return isDestructuringDefaultAssignment ? getTypeWithDefault(getAssignedType(node), node.right) : getTypeOfExpression(node.right); } function isDestructuringAssignmentTarget(parent) { - return parent.parent.kind === 199 && parent.parent.left === parent || - parent.parent.kind === 221 && parent.parent.initializer === parent; + return parent.parent.kind === 200 && parent.parent.left === parent || + parent.parent.kind === 222 && parent.parent.initializer === parent; } function getAssignedTypeOfArrayLiteralElement(node, element) { return getTypeOfDestructuredArrayElement(getAssignedType(node), node.elements.indexOf(element)); @@ -31987,29 +32196,29 @@ var ts; function getAssignedType(node) { var parent = node.parent; switch (parent.kind) { - case 220: - return stringType; case 221: - return checkRightHandSideOfForOf(parent.expression, parent.awaitModifier) || unknownType; - case 199: + return stringType; + case 222: + return checkRightHandSideOfForOf(parent.expression, parent.awaitModifier) || errorType; + case 200: return getAssignedTypeOfBinaryExpression(parent); - case 193: + case 194: return undefinedType; - case 182: + case 183: return getAssignedTypeOfArrayLiteralElement(parent, node); - case 203: + case 204: return getAssignedTypeOfSpreadExpression(parent); - case 269: - return getAssignedTypeOfPropertyAssignment(parent); case 270: + return getAssignedTypeOfPropertyAssignment(parent); + case 271: return getAssignedTypeOfShorthandPropertyAssignment(parent); } - return unknownType; + return errorType; } function getInitialTypeOfBindingElement(node) { var pattern = node.parent; var parentType = getInitialType(pattern.parent); - var type = pattern.kind === 179 ? + var type = pattern.kind === 180 ? getTypeOfDestructuredProperty(parentType, node.propertyName || node.name) : !node.dotDotDotToken ? getTypeOfDestructuredArrayElement(parentType, pattern.elements.indexOf(node)) : @@ -32024,35 +32233,35 @@ var ts; if (node.initializer) { return getTypeOfInitializer(node.initializer); } - if (node.parent.parent.kind === 220) { + if (node.parent.parent.kind === 221) { return stringType; } - if (node.parent.parent.kind === 221) { - return checkRightHandSideOfForOf(node.parent.parent.expression, node.parent.parent.awaitModifier) || unknownType; + if (node.parent.parent.kind === 222) { + return checkRightHandSideOfForOf(node.parent.parent.expression, node.parent.parent.awaitModifier) || errorType; } - return unknownType; + return errorType; } function getInitialType(node) { - return node.kind === 231 ? + return node.kind === 232 ? getInitialTypeOfVariableDeclaration(node) : getInitialTypeOfBindingElement(node); } function getInitialOrAssignedType(node) { - return node.kind === 231 || node.kind === 181 ? + return node.kind === 232 || node.kind === 182 ? getInitialType(node) : getAssignedType(node); } function isEmptyArrayAssignment(node) { - return node.kind === 231 && node.initializer && + return node.kind === 232 && node.initializer && isEmptyArrayLiteral(node.initializer) || - node.kind !== 181 && node.parent.kind === 199 && + node.kind !== 182 && node.parent.kind === 200 && isEmptyArrayLiteral(node.parent.right); } function getReferenceCandidate(node) { switch (node.kind) { - case 190: + case 191: return getReferenceCandidate(node.expression); - case 199: + case 200: switch (node.operatorToken.kind) { case 58: return getReferenceCandidate(node.left); @@ -32064,13 +32273,13 @@ var ts; } function getReferenceRoot(node) { var parent = node.parent; - return parent.kind === 190 || - parent.kind === 199 && parent.operatorToken.kind === 58 && parent.left === node || - parent.kind === 199 && parent.operatorToken.kind === 26 && parent.right === node ? + return parent.kind === 191 || + parent.kind === 200 && parent.operatorToken.kind === 58 && parent.left === node || + parent.kind === 200 && parent.operatorToken.kind === 26 && parent.right === node ? getReferenceRoot(parent) : node; } function getTypeOfSwitchClause(clause) { - if (clause.kind === 265) { + if (clause.kind === 266) { return getRegularTypeOfLiteralType(getTypeOfExpression(clause.expression)); } return neverType; @@ -32087,13 +32296,13 @@ var ts; return links.switchTypes; } function eachTypeContainedIn(source, types) { - return source.flags & 131072 ? !ts.forEach(source.types, function (t) { return !ts.contains(types, t); }) : ts.contains(types, source); + return source.flags & 262144 ? !ts.forEach(source.types, function (t) { return !ts.contains(types, t); }) : ts.contains(types, source); } function isTypeSubsetOf(source, target) { - return source === target || target.flags & 131072 && isTypeSubsetOfUnion(source, target); + return source === target || target.flags & 262144 && isTypeSubsetOfUnion(source, target); } function isTypeSubsetOfUnion(source, target) { - if (source.flags & 131072) { + if (source.flags & 262144) { for (var _i = 0, _a = source.types; _i < _a.length; _i++) { var t = _a[_i]; if (!containsType(target.types, t)) { @@ -32102,27 +32311,27 @@ var ts; } return true; } - if (source.flags & 256 && getBaseTypeOfEnumLiteralType(source) === target) { + if (source.flags & 512 && getBaseTypeOfEnumLiteralType(source) === target) { return true; } return containsType(target.types, source); } function forEachType(type, f) { - return type.flags & 131072 ? ts.forEach(type.types, f) : f(type); + return type.flags & 262144 ? ts.forEach(type.types, f) : f(type); } function filterType(type, f) { - if (type.flags & 131072) { + if (type.flags & 262144) { var types = type.types; var filtered = ts.filter(types, f); - return filtered === types ? type : getUnionTypeFromSortedList(filtered, type.flags & 268435456); + return filtered === types ? type : getUnionTypeFromSortedList(filtered, type.flags & 67108864); } return f(type) ? type : neverType; } function mapType(type, mapper, noReductions) { - if (type.flags & 16384) { + if (type.flags & 32768) { return type; } - if (!(type.flags & 131072)) { + if (!(type.flags & 262144)) { return mapper(type); } var types = type.types; @@ -32149,11 +32358,11 @@ var ts; return filterType(type, function (t) { return (t.flags & kind) !== 0; }); } function replacePrimitivesWithLiterals(typeWithPrimitives, typeWithLiterals) { - if (isTypeSubsetOf(stringType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 32) || - isTypeSubsetOf(numberType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 64)) { + if (isTypeSubsetOf(stringType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 64) || + isTypeSubsetOf(numberType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 128)) { return mapType(typeWithPrimitives, function (t) { - return t.flags & 2 ? extractTypesOfKind(typeWithLiterals, 2 | 32) : - t.flags & 4 ? extractTypesOfKind(typeWithLiterals, 4 | 64) : + return t.flags & 4 ? extractTypesOfKind(typeWithLiterals, 4 | 64) : + t.flags & 8 ? extractTypesOfKind(typeWithLiterals, 8 | 128) : t; }); } @@ -32181,9 +32390,9 @@ var ts; return isTypeSubsetOf(elementType, evolvingArrayType.elementType) ? evolvingArrayType : getEvolvingArrayType(getUnionType([evolvingArrayType.elementType, elementType])); } function createFinalArrayType(elementType) { - return elementType.flags & 16384 ? + return elementType.flags & 32768 ? autoArrayType : - createArrayType(elementType.flags & 131072 ? + createArrayType(elementType.flags & 262144 ? getUnionType(elementType.types, 2) : elementType); } @@ -32200,7 +32409,7 @@ var ts; var hasEvolvingArrayType = false; for (var _i = 0, types_14 = types; _i < types_14.length; _i++) { var t = types_14[_i]; - if (!(t.flags & 16384)) { + if (!(t.flags & 32768)) { if (!(ts.getObjectFlags(t) & 256)) { return false; } @@ -32217,15 +32426,15 @@ var ts; function isEvolvingArrayOperationTarget(node) { var root = getReferenceRoot(node); var parent = root.parent; - var isLengthPushOrUnshift = parent.kind === 184 && (parent.name.escapedText === "length" || - parent.parent.kind === 186 && ts.isPushOrUnshiftIdentifier(parent.name)); - var isElementAssignment = parent.kind === 185 && + var isLengthPushOrUnshift = parent.kind === 185 && (parent.name.escapedText === "length" || + parent.parent.kind === 187 && ts.isPushOrUnshiftIdentifier(parent.name)); + var isElementAssignment = parent.kind === 186 && parent.expression === root && - parent.parent.kind === 199 && + parent.parent.kind === 200 && parent.parent.operatorToken.kind === 58 && parent.parent.left === parent && !ts.isAssignmentTarget(parent.parent) && - isTypeAssignableToKind(getTypeOfExpression(parent.argumentExpression), 84); + isTypeAssignableToKind(getTypeOfExpression(parent.argumentExpression), 168); return isLengthPushOrUnshift || isElementAssignment; } function maybeTypePredicateCall(node) { @@ -32240,7 +32449,7 @@ var ts; var funcType = checkNonNullExpression(node.expression); if (funcType !== silentNeverType) { var apparentType = getApparentType(funcType); - return apparentType !== unknownType && ts.some(getSignaturesOfType(apparentType, 0), signatureHasTypePredicate); + return apparentType !== errorType && ts.some(getSignaturesOfType(apparentType, 0), signatureHasTypePredicate); } } return false; @@ -32256,16 +32465,16 @@ var ts; var key; var flowDepth = 0; if (flowAnalysisDisabled) { - return unknownType; + return errorType; } - if (!reference.flowNode || !couldBeUninitialized && !(declaredType.flags & 142575359)) { + if (!reference.flowNode || !couldBeUninitialized && !(declaredType.flags & 33492479)) { return declaredType; } var sharedFlowStart = sharedFlowCount; var evolvedType = getTypeFromFlowType(getTypeAtFlowNode(reference.flowNode)); sharedFlowCount = sharedFlowStart; var resultType = ts.getObjectFlags(evolvedType) & 256 && isEvolvingArrayOperationTarget(reference) ? anyArrayType : finalizeEvolvingArrayType(evolvedType); - if (reference.parent && reference.parent.kind === 208 && getTypeWithFacts(resultType, 524288).flags & 16384) { + if (reference.parent && reference.parent.kind === 209 && getTypeWithFacts(resultType, 524288).flags & 32768) { return declaredType; } return resultType; @@ -32273,7 +32482,7 @@ var ts; if (flowDepth === 2500) { flowAnalysisDisabled = true; reportFlowControlError(reference); - return unknownType; + return errorType; } flowDepth++; while (true) { @@ -32327,7 +32536,7 @@ var ts; } else if (flags & 2) { var container = flow.container; - if (container && container !== flowContainer && reference.kind !== 184 && reference.kind !== 99) { + if (container && container !== flowContainer && reference.kind !== 185 && reference.kind !== 99) { flow = container.flowNode; continue; } @@ -32359,7 +32568,7 @@ var ts; var assignedType = getBaseTypeOfLiteralType(getInitialOrAssignedType(node)); return isTypeAssignableTo(assignedType, declaredType) ? assignedType : anyArrayType; } - if (declaredType.flags & 131072) { + if (declaredType.flags & 262144) { return getAssignmentReducedType(declaredType, getInitialOrAssignedType(node)); } return declaredType; @@ -32372,7 +32581,7 @@ var ts; function getTypeAtFlowArrayMutation(flow) { if (declaredType === autoType || declaredType === autoArrayType) { var node = flow.node; - var expr = node.kind === 186 ? + var expr = node.kind === 187 ? node.expression.expression : node.left.expression; if (isMatchingReference(reference, getReferenceCandidate(expr))) { @@ -32380,7 +32589,7 @@ var ts; var type = getTypeFromFlowType(flowType); if (ts.getObjectFlags(type) & 256) { var evolvedType_1 = type; - if (node.kind === 186) { + if (node.kind === 187) { for (var _i = 0, _a = node.arguments; _i < _a.length; _i++) { var arg = _a[_i]; evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, arg); @@ -32388,7 +32597,7 @@ var ts; } else { var indexType = getTypeOfExpression(node.left.argumentExpression); - if (isTypeAssignableToKind(indexType, 84)) { + if (isTypeAssignableToKind(indexType, 168)) { evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, node.right); } } @@ -32402,7 +32611,7 @@ var ts; function getTypeAtFlowCondition(flow) { var flowType = getTypeAtFlowNode(flow.antecedent); var type = getTypeFromFlowType(flowType); - if (type.flags & 16384) { + if (type.flags & 32768) { return flowType; } var assumeTrue = (flow.flags & 32) !== 0; @@ -32412,7 +32621,7 @@ var ts; return flowType; } var incomplete = isIncomplete(flowType); - var resultType = incomplete && narrowedType.flags & 16384 ? silentNeverType : narrowedType; + var resultType = incomplete && narrowedType.flags & 32768 ? silentNeverType : narrowedType; return createFlowType(resultType, incomplete); } function getTypeAtSwitchClause(flow) { @@ -32504,8 +32713,8 @@ var ts; return result; } function isMatchingReferenceDiscriminant(expr, computedType) { - return expr.kind === 184 && - computedType.flags & 131072 && + return expr.kind === 185 && + computedType.flags & 262144 && isMatchingReference(reference, expr.expression) && isDiscriminantProperty(computedType, expr.name.escapedText); } @@ -32538,7 +32747,7 @@ var ts; return !assumeTrue; } function narrowByInKeyword(type, literal, assumeTrue) { - if ((type.flags & (131072 | 65536)) || (type.flags & 32768 && type.isThisType)) { + if ((type.flags & (262144 | 131072)) || (type.flags & 65536 && type.isThisType)) { var propName_1 = ts.escapeLeadingUnderscores(literal.text); return filterType(type, function (t) { return isTypePresencePossible(t, propName_1, assumeTrue); }); } @@ -32555,10 +32764,10 @@ var ts; var operator_1 = expr.operatorToken.kind; var left_1 = getReferenceCandidate(expr.left); var right_1 = getReferenceCandidate(expr.right); - if (left_1.kind === 194 && ts.isStringLiteralLike(right_1)) { + if (left_1.kind === 195 && ts.isStringLiteralLike(right_1)) { return narrowTypeByTypeof(type, left_1, operator_1, right_1, assumeTrue); } - if (right_1.kind === 194 && ts.isStringLiteralLike(left_1)) { + if (right_1.kind === 195 && ts.isStringLiteralLike(left_1)) { return narrowTypeByTypeof(type, right_1, operator_1, left_1, assumeTrue); } if (isMatchingReference(reference, left_1)) { @@ -32598,24 +32807,24 @@ var ts; assumeTrue = !assumeTrue; } var valueType = getTypeOfExpression(value); - if (valueType.flags & 12288) { + if (valueType.flags & 24576) { if (!strictNullChecks) { return type; } var doubleEquals = operator === 32 || operator === 33; var facts = doubleEquals ? assumeTrue ? 65536 : 524288 : - valueType.flags & 8192 ? + valueType.flags & 16384 ? assumeTrue ? 32768 : 262144 : assumeTrue ? 16384 : 131072; return getTypeWithFacts(type, facts); } - if (type.flags & 134283777) { + if (type.flags & 16909315) { return type; } if (assumeTrue) { var narrowedType = filterType(type, function (t) { return areTypesComparable(t, valueType); }); - return narrowedType.flags & 16384 ? type : replacePrimitivesWithLiterals(narrowedType, valueType); + return narrowedType.flags & 32768 ? type : replacePrimitivesWithLiterals(narrowedType, valueType); } if (isUnitType(valueType)) { var regularType_1 = getRegularTypeOfLiteralType(valueType); @@ -32634,13 +32843,16 @@ var ts; if (operator === 33 || operator === 35) { assumeTrue = !assumeTrue; } - if (assumeTrue && !(type.flags & 131072)) { - var targetType = typeofTypesByName.get(literal.text); + if (type.flags & 1 && literal.text === "function") { + return type; + } + if (assumeTrue && !(type.flags & 262144)) { + var targetType = literal.text === "function" ? globalFunctionType : typeofTypesByName.get(literal.text); if (targetType) { if (isTypeSubtypeOf(targetType, type)) { return targetType; } - if (type.flags & 7897088) { + if (type.flags & 15794176) { var constraint = getBaseConstraintOfType(type) || anyType; if (isTypeSubtypeOf(targetType, constraint)) { return getIntersectionType([type, targetType]); @@ -32661,13 +32873,13 @@ var ts; var clauseTypes = switchTypes.slice(clauseStart, clauseEnd); var hasDefaultClause = clauseStart === clauseEnd || ts.contains(clauseTypes, neverType); var discriminantType = getUnionType(clauseTypes); - var caseType = discriminantType.flags & 16384 ? neverType : + var caseType = discriminantType.flags & 32768 ? neverType : replacePrimitivesWithLiterals(filterType(type, function (t) { return areTypesComparable(discriminantType, t); }), discriminantType); if (!hasDefaultClause) { return caseType; } var defaultType = filterType(type, function (t) { return !(isUnitType(t) && ts.contains(switchTypes, getRegularTypeOfLiteralType(t))); }); - return caseType.flags & 16384 ? defaultType : getUnionType([caseType, defaultType]); + return caseType.flags & 32768 ? defaultType : getUnionType([caseType, defaultType]); } function narrowTypeByInstanceof(type, expr, assumeTrue) { var left = getReferenceCandidate(expr.left); @@ -32713,9 +32925,9 @@ var ts; if (!assumeTrue) { return filterType(type, function (t) { return !isRelated(t, candidate); }); } - if (type.flags & 131072) { + if (type.flags & 262144) { var assignableType = filterType(type, function (t) { return isRelated(t, candidate); }); - if (!(assignableType.flags & 16384)) { + if (!(assignableType.flags & 32768)) { return assignableType; } } @@ -32749,7 +32961,7 @@ var ts; } else { var invokedExpression = ts.skipParentheses(callExpression.expression); - if (invokedExpression.kind === 185 || invokedExpression.kind === 184) { + if (invokedExpression.kind === 186 || invokedExpression.kind === 185) { var accessExpression = invokedExpression; var possibleReference = ts.skipParentheses(accessExpression.expression); if (isMatchingReference(reference, possibleReference)) { @@ -32767,15 +32979,15 @@ var ts; case 71: case 99: case 97: - case 184: + case 185: return narrowTypeByTruthiness(type, expr, assumeTrue); - case 186: + case 187: return narrowTypeByTypePredicate(type, expr, assumeTrue); - case 190: + case 191: return narrowType(type, expr.expression, assumeTrue); - case 199: + case 200: return narrowTypeByBinaryExpression(type, expr, assumeTrue); - case 197: + case 198: if (expr.operator === 51) { return narrowType(type, expr.operand, !assumeTrue); } @@ -32802,9 +33014,9 @@ var ts; function getControlFlowContainer(node) { return ts.findAncestor(node.parent, function (node) { return ts.isFunctionLike(node) && !ts.getImmediatelyInvokedFunctionExpression(node) || - node.kind === 239 || - node.kind === 273 || - node.kind === 151; + node.kind === 240 || + node.kind === 274 || + node.kind === 152; }); } function isParameterAssigned(symbol) { @@ -32825,7 +33037,7 @@ var ts; if (node.kind === 71) { if (ts.isAssignmentTarget(node)) { var symbol = getResolvedSymbol(node); - if (symbol.valueDeclaration && ts.getRootDeclaration(symbol.valueDeclaration).kind === 148) { + if (symbol.valueDeclaration && ts.getRootDeclaration(symbol.valueDeclaration).kind === 149) { symbol.isAssigned = true; } } @@ -32839,21 +33051,21 @@ var ts; } function removeOptionalityFromDeclaredType(declaredType, declaration) { var annotationIncludesUndefined = strictNullChecks && - declaration.kind === 148 && + declaration.kind === 149 && declaration.initializer && - getFalsyFlags(declaredType) & 4096 && - !(getFalsyFlags(checkExpression(declaration.initializer)) & 4096); + getFalsyFlags(declaredType) & 8192 && + !(getFalsyFlags(checkExpression(declaration.initializer)) & 8192); return annotationIncludesUndefined ? getTypeWithFacts(declaredType, 131072) : declaredType; } function isConstraintPosition(node) { var parent = node.parent; - return parent.kind === 184 || + return parent.kind === 185 || + parent.kind === 187 && parent.expression === node || parent.kind === 186 && parent.expression === node || - parent.kind === 185 && parent.expression === node || - parent.kind === 181 && parent.name === node && !!parent.initializer; + parent.kind === 182 && parent.name === node && !!parent.initializer; } function typeHasNullableConstraint(type) { - return type.flags & 7372800 && maybeTypeOfKind(getBaseConstraintOfType(type) || emptyObjectType, 12288); + return type.flags & 14745600 && maybeTypeOfKind(getBaseConstraintOfType(type) || emptyObjectType, 24576); } function getConstraintForLocation(type, node) { if (type && isConstraintPosition(node) && forEachType(type, typeHasNullableConstraint)) { @@ -32869,12 +33081,12 @@ var ts; function checkIdentifier(node) { var symbol = getResolvedSymbol(node); if (symbol === unknownSymbol) { - return unknownType; + return errorType; } if (symbol === argumentsSymbol) { var container = ts.getContainingFunction(node); if (languageVersion < 2) { - if (container.kind === 192) { + if (container.kind === 193) { error(node, ts.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression); } else if (ts.hasModifier(container, 256)) { @@ -32890,7 +33102,7 @@ var ts; var localOrExportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); var declaration = localOrExportSymbol.valueDeclaration; if (localOrExportSymbol.flags & 32) { - if (declaration.kind === 234 + if (declaration.kind === 235 && ts.nodeIsDecorated(declaration)) { var container = ts.getContainingClass(node); while (container !== undefined) { @@ -32902,11 +33114,11 @@ var ts; container = ts.getContainingClass(container); } } - else if (declaration.kind === 204) { + else if (declaration.kind === 205) { var container = ts.getThisContainer(node, false); - while (container !== undefined) { + while (container.kind !== 274) { if (container.parent === declaration) { - if (container.kind === 151 && ts.hasModifier(container, 32)) { + if (container.kind === 152 && ts.hasModifier(container, 32)) { getNodeLinks(declaration).flags |= 8388608; getNodeLinks(node).flags |= 16777216; } @@ -32923,11 +33135,11 @@ var ts; if (!(localOrExportSymbol.flags & 3) && !(ts.isInJavaScriptFile(node) && localOrExportSymbol.flags & 512)) { error(node, ts.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable, symbolToString(symbol)); - return unknownType; + return errorType; } if (isReadonlySymbol(localOrExportSymbol)) { error(node, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, symbolToString(symbol)); - return unknownType; + return errorType; } } var isAlias = localOrExportSymbol.flags & 2097152; @@ -32945,21 +33157,21 @@ var ts; if (!declaration) { return type; } - var isParameter = ts.getRootDeclaration(declaration).kind === 148; + var isParameter = ts.getRootDeclaration(declaration).kind === 149; var declarationContainer = getControlFlowContainer(declaration); var flowContainer = getControlFlowContainer(node); var isOuterVariable = flowContainer !== declarationContainer; var isSpreadDestructuringAsignmentTarget = node.parent && node.parent.parent && ts.isSpreadAssignment(node.parent) && isDestructuringAssignmentTarget(node.parent.parent); - while (flowContainer !== declarationContainer && (flowContainer.kind === 191 || - flowContainer.kind === 192 || ts.isObjectLiteralOrClassExpressionMethod(flowContainer)) && + while (flowContainer !== declarationContainer && (flowContainer.kind === 192 || + flowContainer.kind === 193 || ts.isObjectLiteralOrClassExpressionMethod(flowContainer)) && (isConstVariable(localOrExportSymbol) || isParameter && !isParameterAssigned(localOrExportSymbol))) { flowContainer = getControlFlowContainer(flowContainer); } var assumeInitialized = isParameter || isAlias || isOuterVariable || isSpreadDestructuringAsignmentTarget || - type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & 1) !== 0 || - isInTypeQuery(node) || node.parent.kind === 251) || - node.parent.kind === 208 || - declaration.kind === 231 && declaration.exclamationToken || + type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & 3) !== 0 || + isInTypeQuery(node) || node.parent.kind === 252) || + node.parent.kind === 209 || + declaration.kind === 232 && declaration.exclamationToken || declaration.flags & 4194304; var initialType = assumeInitialized ? (isParameter ? removeOptionalityFromDeclaredType(type, declaration) : type) : type === autoType || type === autoArrayType ? undefinedType : @@ -32974,7 +33186,7 @@ var ts; return convertAutoToAny(flowType); } } - else if (!assumeInitialized && !(getFalsyFlags(type) & 4096) && getFalsyFlags(flowType) & 4096) { + else if (!assumeInitialized && !(getFalsyFlags(type) & 8192) && getFalsyFlags(flowType) & 8192) { error(node, ts.Diagnostics.Variable_0_is_used_before_being_assigned, symbolToString(symbol)); return type; } @@ -32986,7 +33198,7 @@ var ts; function checkNestedBlockScopedBinding(node, symbol) { if (languageVersion >= 2 || (symbol.flags & (2 | 32)) === 0 || - symbol.valueDeclaration.parent.kind === 268) { + symbol.valueDeclaration.parent.kind === 269) { return; } var container = ts.getEnclosingBlockScopeContainer(symbol.valueDeclaration); @@ -33004,8 +33216,8 @@ var ts; if (usedInFunction) { getNodeLinks(current).flags |= 65536; } - if (container.kind === 219 && - ts.getAncestor(symbol.valueDeclaration, 232).parent === container && + if (container.kind === 220 && + ts.getAncestor(symbol.valueDeclaration, 233).parent === container && isAssignedInBodyOfForStatement(node, container)) { getNodeLinks(symbol.valueDeclaration).flags |= 2097152; } @@ -33017,14 +33229,14 @@ var ts; } function isAssignedInBodyOfForStatement(node, container) { var current = node; - while (current.parent.kind === 190) { + while (current.parent.kind === 191) { current = current.parent; } var isAssigned = false; if (ts.isAssignmentTarget(current)) { isAssigned = true; } - else if ((current.parent.kind === 197 || current.parent.kind === 198)) { + else if ((current.parent.kind === 198 || current.parent.kind === 199)) { var expr = current.parent; isAssigned = expr.operator === 43 || expr.operator === 44; } @@ -33035,7 +33247,7 @@ var ts; } function captureLexicalThis(node, container) { getNodeLinks(node).flags |= 2; - if (container.kind === 151 || container.kind === 154) { + if (container.kind === 152 || container.kind === 155) { var classNode = container.parent; getNodeLinks(classNode).flags |= 4; } @@ -33079,32 +33291,32 @@ var ts; function checkThisExpression(node) { var container = ts.getThisContainer(node, true); var needToCaptureLexicalThis = false; - if (container.kind === 154) { + if (container.kind === 155) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class); } - if (container.kind === 192) { + if (container.kind === 193) { container = ts.getThisContainer(container, false); needToCaptureLexicalThis = (languageVersion < 2); } switch (container.kind) { - case 238: + case 239: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body); break; - case 237: + case 238: error(node, ts.Diagnostics.this_cannot_be_referenced_in_current_location); break; - case 154: + case 155: if (isInConstructorArgumentInitializer(node, container)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_constructor_arguments); } break; + case 152: case 151: - case 150: if (ts.hasModifier(container, 32)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer); } break; - case 146: + case 147: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name); break; } @@ -33121,8 +33333,8 @@ var ts; if (container === void 0) { container = ts.getThisContainer(node, false); } if (ts.isFunctionLike(container) && (!isInParameterInitializerBeforeContainingFunction(node) || ts.getThisParameter(container))) { - if (container.kind === 191 && - container.parent.kind === 199 && + if (container.kind === 192 && + container.parent.kind === 200 && ts.getSpecialPropertyAssignmentKind(container.parent) === 3) { var className = container.parent .left @@ -33145,14 +33357,14 @@ var ts; } if (ts.isInJavaScriptFile(node)) { var type = getTypeForThisExpressionFromJSDoc(container); - if (type && type !== unknownType) { + if (type && type !== errorType) { return getFlowTypeOfReference(node, type); } } } function getTypeForThisExpressionFromJSDoc(node) { var jsdocType = ts.getJSDocType(node); - if (jsdocType && jsdocType.kind === 283) { + if (jsdocType && jsdocType.kind === 284) { var jsDocFunctionType = jsdocType; if (jsDocFunctionType.parameters.length > 0 && jsDocFunctionType.parameters[0].name && @@ -33162,14 +33374,14 @@ var ts; } } function isInConstructorArgumentInitializer(node, constructorDecl) { - return !!ts.findAncestor(node, function (n) { return n === constructorDecl ? "quit" : n.kind === 148; }); + return !!ts.findAncestor(node, function (n) { return n === constructorDecl ? "quit" : n.kind === 149; }); } function checkSuperExpression(node) { - var isCallExpression = node.parent.kind === 186 && node.parent.expression === node; + var isCallExpression = node.parent.kind === 187 && node.parent.expression === node; var container = ts.getSuperContainer(node, true); var needToCaptureLexicalThis = false; if (!isCallExpression) { - while (container && container.kind === 192) { + while (container && container.kind === 193) { container = ts.getSuperContainer(container, true); needToCaptureLexicalThis = languageVersion < 2; } @@ -33177,22 +33389,22 @@ var ts; var canUseSuperExpression = isLegalUsageOfSuperExpression(container); var nodeCheckFlag = 0; if (!canUseSuperExpression) { - var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 146; }); - if (current && current.kind === 146) { + var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 147; }); + if (current && current.kind === 147) { error(node, ts.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name); } else if (isCallExpression) { error(node, ts.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors); } - else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 183)) { + else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 184)) { error(node, ts.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions); } else { error(node, ts.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class); } - return unknownType; + return errorType; } - if (!isCallExpression && container.kind === 154) { + if (!isCallExpression && container.kind === 155) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class); } if (ts.hasModifier(container, 32) || isCallExpression) { @@ -33202,7 +33414,7 @@ var ts; nodeCheckFlag = 256; } getNodeLinks(node).flags |= nodeCheckFlag; - if (container.kind === 153 && ts.hasModifier(container, 256)) { + if (container.kind === 154 && ts.hasModifier(container, 256)) { if (ts.isSuperProperty(node.parent) && ts.isAssignmentTarget(node.parent)) { getNodeLinks(container).flags |= 4096; } @@ -33213,10 +33425,10 @@ var ts; if (needToCaptureLexicalThis) { captureLexicalThis(node.parent, container); } - if (container.parent.kind === 183) { + if (container.parent.kind === 184) { if (languageVersion < 2) { error(node, ts.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher); - return unknownType; + return errorType; } else { return anyType; @@ -33225,16 +33437,16 @@ var ts; var classLikeDeclaration = container.parent; if (!ts.getClassExtendsHeritageClauseElement(classLikeDeclaration)) { error(node, ts.Diagnostics.super_can_only_be_referenced_in_a_derived_class); - return unknownType; + return errorType; } var classType = getDeclaredTypeOfSymbol(getSymbolOfNode(classLikeDeclaration)); var baseClassType = classType && getBaseTypes(classType)[0]; if (!baseClassType) { - return unknownType; + return errorType; } - if (container.kind === 154 && isInConstructorArgumentInitializer(node, container)) { + if (container.kind === 155 && isInConstructorArgumentInitializer(node, container)) { error(node, ts.Diagnostics.super_cannot_be_referenced_in_constructor_arguments); - return unknownType; + return errorType; } return nodeCheckFlag === 512 ? getBaseConstructorTypeOfClass(classType) @@ -33244,24 +33456,24 @@ var ts; return false; } if (isCallExpression) { - return container.kind === 154; + return container.kind === 155; } else { - if (ts.isClassLike(container.parent) || container.parent.kind === 183) { + if (ts.isClassLike(container.parent) || container.parent.kind === 184) { if (ts.hasModifier(container, 32)) { - return container.kind === 153 || - container.kind === 152 || - container.kind === 155 || - container.kind === 156; + return container.kind === 154 || + container.kind === 153 || + container.kind === 156 || + container.kind === 157; } else { - return container.kind === 153 || - container.kind === 152 || - container.kind === 155 || + return container.kind === 154 || + container.kind === 153 || container.kind === 156 || + container.kind === 157 || + container.kind === 152 || container.kind === 151 || - container.kind === 150 || - container.kind === 154; + container.kind === 155; } } } @@ -33269,10 +33481,10 @@ var ts; } } function getContainingObjectLiteral(func) { - return (func.kind === 153 || - func.kind === 155 || - func.kind === 156) && func.parent.kind === 183 ? func.parent : - func.kind === 191 && func.parent.kind === 269 ? func.parent.parent : + return (func.kind === 154 || + func.kind === 156 || + func.kind === 157) && func.parent.kind === 184 ? func.parent : + func.kind === 192 && func.parent.kind === 270 ? func.parent.parent : undefined; } function getThisTypeArgument(type) { @@ -33280,11 +33492,11 @@ var ts; } function getThisTypeFromContextualType(type) { return mapType(type, function (t) { - return t.flags & 262144 ? ts.forEach(t.types, getThisTypeArgument) : getThisTypeArgument(t); + return t.flags & 524288 ? ts.forEach(t.types, getThisTypeArgument) : getThisTypeArgument(t); }); } function getContextualThisParameterType(func) { - if (func.kind === 192) { + if (func.kind === 193) { return undefined; } if (isContextSensitiveFunctionOrObjectLiteralMethod(func)) { @@ -33308,7 +33520,7 @@ var ts; if (thisType) { return instantiateType(thisType, getContextualMapper(containingLiteral)); } - if (literal.parent.kind !== 269) { + if (literal.parent.kind !== 270) { break; } literal = literal.parent.parent; @@ -33317,9 +33529,9 @@ var ts; return contextualType ? getNonNullableType(contextualType) : checkExpressionCached(containingLiteral); } var parent = func.parent; - if (parent.kind === 199 && parent.operatorToken.kind === 58) { + if (parent.kind === 200 && parent.operatorToken.kind === 58) { var target = parent.left; - if (target.kind === 184 || target.kind === 185) { + if (target.kind === 185 || target.kind === 186) { var expression = target.expression; if (inJs && ts.isIdentifier(expression)) { var sourceFile = ts.getSourceFileOfNode(parent); @@ -33372,7 +33584,7 @@ var ts; if (funcHasRestParameters && indexOfParameter === (func.parameters.length - 1) && isRestParameterIndex(contextualSignature, func.parameters.length - 1)) { - return getTypeOfSymbol(ts.lastOrUndefined(contextualSignature.parameters)); + return getTypeOfSymbol(ts.last(contextualSignature.parameters)); } } } @@ -33383,7 +33595,7 @@ var ts; if (typeNode) { return getTypeFromTypeNode(typeNode); } - if (declaration.kind === 148) { + if (declaration.kind === 149) { var type = getContextuallyTypedParameterType(declaration); if (type) { return type; @@ -33395,7 +33607,7 @@ var ts; if (ts.isBindingPattern(declaration.parent)) { var parentDeclaration = declaration.parent.parent; var name = declaration.propertyName || declaration.name; - if (parentDeclaration.kind !== 181) { + if (parentDeclaration.kind !== 182) { var parentTypeNode = ts.getEffectiveTypeAnnotationNode(parentDeclaration); if (parentTypeNode && !ts.isBindingPattern(name)) { var text = ts.getTextOfPropertyName(name); @@ -33449,7 +33661,7 @@ var ts; return false; } function getContextualReturnType(functionDecl) { - if (functionDecl.kind === 154 || + if (functionDecl.kind === 155 || ts.getEffectiveReturnTypeNode(functionDecl) || isGetAccessorWithAnnotatedSetAccessor(functionDecl)) { return getReturnTypeOfSignature(getSignatureFromDeclaration(functionDecl)); @@ -33470,7 +33682,7 @@ var ts; return getTypeAtPosition(signature, argIndex); } function getContextualTypeForSubstitutionExpression(template, substitutionExpression) { - if (template.parent.kind === 188) { + if (template.parent.kind === 189) { return getContextualTypeForArgument(template.parent, substitutionExpression); } return undefined; @@ -33483,7 +33695,7 @@ var ts; return node === right && isContextSensitiveAssignment(binaryExpression) ? getTypeOfExpression(left) : undefined; case 54: var type = getContextualType(binaryExpression); - return !type && node === right && !ts.getDeclaredJavascriptInitializer(binaryExpression.parent) && !ts.getAssignedJavascriptInitializer(binaryExpression) ? + return !type && node === right && !ts.isDefaultedJavascriptInitializer(binaryExpression) ? getTypeOfExpression(left) : type; case 53: case 26: @@ -33506,12 +33718,12 @@ var ts; case 6: return false; default: - ts.Debug.assertNever(kind); + return ts.Debug.assertNever(kind); } } function getTypeOfPropertyOfContextualType(type, name) { return mapType(type, function (t) { - var prop = t.flags & 458752 ? getPropertyOfType(t, name) : undefined; + var prop = t.flags & 917504 ? getPropertyOfType(t, name) : undefined; return prop ? getTypeOfSymbol(prop) : undefined; }, true); } @@ -33519,7 +33731,7 @@ var ts; return mapType(type, function (t) { return getIndexTypeOfStructuredType(t, kind); }, true); } function contextualTypeIsTupleLikeType(type) { - return !!(type.flags & 131072 ? ts.forEach(type.types, isTupleLikeType) : isTupleLikeType(type)); + return !!(type.flags & 262144 ? ts.forEach(type.types, isTupleLikeType) : isTupleLikeType(type)); } function getContextualTypeForObjectLiteralMethod(node) { ts.Debug.assert(ts.isObjectLiteralMethod(node)); @@ -33578,10 +33790,26 @@ var ts; return getContextualType(attribute.parent); } } + function isPossiblyDiscriminantValue(node) { + switch (node.kind) { + case 9: + case 8: + case 13: + case 101: + case 86: + case 95: + case 71: + return true; + case 185: + case 191: + return isPossiblyDiscriminantValue(node.expression); + } + return false; + } function getApparentTypeOfContextualType(node) { var contextualType = getContextualType(node); contextualType = contextualType && mapType(contextualType, getApparentType); - if (!(contextualType && contextualType.flags & 131072 && ts.isObjectLiteralExpression(node))) { + if (!(contextualType && contextualType.flags & 262144 && ts.isObjectLiteralExpression(node))) { return contextualType; } var match; @@ -33589,10 +33817,10 @@ var ts; var prop = _a[_i]; if (!prop.symbol) continue; - if (prop.kind !== 269) + if (prop.kind !== 270) continue; - if (isDiscriminantProperty(contextualType, prop.symbol.escapedName)) { - var discriminatingType = getTypeOfNode(prop.initializer); + if (isPossiblyDiscriminantValue(prop.initializer) && isDiscriminantProperty(contextualType, prop.symbol.escapedName)) { + var discriminatingType = checkExpression(prop.initializer); for (var _b = 0, _c = contextualType.types; _b < _c.length; _b++) { var type = _c[_b]; var targetType = getTypeOfPropertyOfType(type, prop.symbol.escapedName); @@ -33619,58 +33847,58 @@ var ts; } var parent = node.parent; switch (parent.kind) { - case 231: - case 148: + case 232: + case 149: + case 152: case 151: - case 150: - case 181: + case 182: return getContextualTypeForInitializerExpression(node); - case 192: - case 224: + case 193: + case 225: return getContextualTypeForReturnExpression(node); - case 202: + case 203: return getContextualTypeForYieldOperand(parent); - case 186: case 187: + case 188: return getContextualTypeForArgument(parent, node); - case 189: - case 207: + case 190: + case 208: return getTypeFromTypeNode(parent.type); - case 199: + case 200: return getContextualTypeForBinaryOperand(node); - case 269: case 270: - return getContextualTypeForObjectLiteralElement(parent); case 271: + return getContextualTypeForObjectLiteralElement(parent); + case 272: return getApparentTypeOfContextualType(parent.parent); - case 182: { + case 183: { var arrayLiteral = parent; var type = getApparentTypeOfContextualType(arrayLiteral); return getContextualTypeForElementExpression(type, ts.indexOfNode(arrayLiteral.elements, node)); } - case 200: + case 201: return getContextualTypeForConditionalOperand(node); - case 210: - ts.Debug.assert(parent.parent.kind === 201); + case 211: + ts.Debug.assert(parent.parent.kind === 202); return getContextualTypeForSubstitutionExpression(parent.parent, node); - case 190: { + case 191: { var tag = ts.isInJavaScriptFile(parent) ? ts.getJSDocTypeTag(parent) : undefined; return tag ? getTypeFromTypeNode(tag.typeExpression.type) : getContextualType(parent); } - case 264: + case 265: return getContextualTypeForJsxExpression(parent); - case 261: - case 263: + case 262: + case 264: return getContextualTypeForJsxAttribute(parent); + case 257: case 256: - case 255: return getContextualJsxElementAttributesType(parent); } return undefined; } function getContextualMapper(node) { - node = ts.findAncestor(node, function (n) { return !!n.contextualMapper; }); - return node ? node.contextualMapper : identityMapper; + var ancestor = ts.findAncestor(node, function (n) { return !!n.contextualMapper; }); + return ancestor ? ancestor.contextualMapper : identityMapper; } function getContextualJsxElementAttributesType(node) { if (isJsxIntrinsicIdentifier(node.tagName)) { @@ -33684,12 +33912,12 @@ var ts; return mapType(valueType, function (t) { return getJsxSignaturesParameterTypes(t, isJs, node); }); } function getJsxSignaturesParameterTypes(valueType, isJs, context) { - if (valueType.flags & 2) { + if (valueType.flags & 4) { return anyType; } - else if (valueType.flags & 32) { + else if (valueType.flags & 64) { var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, context); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { var stringLiteralTypeName = valueType.value; var intrinsicProp = getPropertyOfType(intrinsicElementsType, ts.escapeLeadingUnderscores(stringLiteralTypeName)); if (intrinsicProp) { @@ -33708,7 +33936,7 @@ var ts; signatures = getSignaturesOfType(valueType, 0); ctor = false; if (signatures.length === 0) { - return unknownType; + return errorType; } } var links = getNodeLinks(context); @@ -33729,7 +33957,7 @@ var ts; function getJsxPropsTypeFromCallSignature(sig, context) { var propsType = getTypeOfFirstParameterOfSignatureWithFallback(sig, emptyObjectType); var intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context); - if (intrinsicAttribs !== unknownType) { + if (intrinsicAttribs !== errorType) { propsType = intersectTypes(intrinsicAttribs, propsType); } return propsType; @@ -33757,7 +33985,7 @@ var ts; else { var apparentAttributesType = attributesType; var intrinsicClassAttribs = getJsxType(JsxNames.IntrinsicClassAttributes, context); - if (intrinsicClassAttribs !== unknownType) { + if (intrinsicClassAttribs !== errorType) { var typeParams = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(intrinsicClassAttribs.symbol); var hostClassType = getReturnTypeOfSignature(sig); apparentAttributesType = intersectTypes(typeParams @@ -33765,7 +33993,7 @@ var ts; : intrinsicClassAttribs, apparentAttributesType); } var intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context); - if (intrinsicAttribs !== unknownType) { + if (intrinsicAttribs !== errorType) { apparentAttributesType = intersectTypes(intrinsicAttribs, apparentAttributesType); } return apparentAttributesType; @@ -33795,7 +34023,7 @@ var ts; return sourceLength < targetParameterCount; } function isFunctionExpressionOrArrowFunction(node) { - return node.kind === 191 || node.kind === 192; + return node.kind === 192 || node.kind === 193; } function getContextualSignatureForFunctionLikeDeclaration(node) { return isFunctionExpressionOrArrowFunction(node) || ts.isObjectLiteralMethod(node) @@ -33808,7 +34036,7 @@ var ts; getApparentTypeOfContextualType(node); } function getContextualSignature(node) { - ts.Debug.assert(node.kind !== 153 || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 || ts.isObjectLiteralMethod(node)); var type; if (ts.isInJavaScriptFile(node)) { var jsdoc = ts.getJSDocType(node); @@ -33822,7 +34050,7 @@ var ts; if (!type) { return undefined; } - if (!(type.flags & 131072)) { + if (!(type.flags & 262144)) { return getContextualCallSignature(type, node); } var signatureList; @@ -33857,8 +34085,8 @@ var ts; return checkIteratedTypeOrElementType(arrayOrIterableType, node.expression, false, false); } function hasDefaultValue(node) { - return (node.kind === 181 && !!node.initializer) || - (node.kind === 199 && node.operatorToken.kind === 58); + return (node.kind === 182 && !!node.initializer) || + (node.kind === 200 && node.operatorToken.kind === 58); } function checkArrayLiteral(node, checkMode) { var elements = node.elements; @@ -33868,7 +34096,7 @@ var ts; var contextualType = getApparentTypeOfContextualType(node); for (var index = 0; index < elements.length; index++) { var e = elements[index]; - if (inDestructuringPattern && e.kind === 203) { + if (inDestructuringPattern && e.kind === 204) { var restArrayType = checkExpression(e.expression, checkMode); var restElementType = getIndexTypeOfType(restArrayType, 1) || getIteratedTypeOrElementType(restArrayType, undefined, false, false, false); @@ -33881,7 +34109,7 @@ var ts; var type = checkExpressionForMutableLocation(e, checkMode, elementContextualType); elementTypes.push(type); } - hasSpreadElement = hasSpreadElement || e.kind === 203; + hasSpreadElement = hasSpreadElement || e.kind === 204; } if (!hasSpreadElement) { if (inDestructuringPattern && elementTypes.length) { @@ -33891,7 +34119,7 @@ var ts; } if (contextualType && contextualTypeIsTupleLikeType(contextualType)) { var pattern = contextualType.pattern; - if (pattern && (pattern.kind === 180 || pattern.kind === 182)) { + if (pattern && (pattern.kind === 181 || pattern.kind === 183)) { var patternElements = pattern.elements; for (var i = elementTypes.length; i < patternElements.length; i++) { var patternElement = patternElements[i]; @@ -33899,7 +34127,7 @@ var ts; elementTypes.push(contextualType.typeArguments[i]); } else { - if (patternElement.kind !== 205) { + if (patternElement.kind !== 206) { error(patternElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value); } elementTypes.push(strictNullChecks ? implicitNeverType : undefinedWideningType); @@ -33917,7 +34145,7 @@ var ts; } function isNumericName(name) { switch (name.kind) { - case 146: + case 147: return isNumericComputedName(name); case 71: return isNumericLiteralName(name.escapedText); @@ -33929,7 +34157,7 @@ var ts; } } function isNumericComputedName(name) { - return isTypeAssignableToKind(checkComputedPropertyName(name), 84); + return isTypeAssignableToKind(checkComputedPropertyName(name), 168); } function isInfinityOrNaNString(name) { return name === "Infinity" || name === "-Infinity" || name === "NaN"; @@ -33941,8 +34169,8 @@ var ts; var links = getNodeLinks(node.expression); if (!links.resolvedType) { links.resolvedType = checkExpression(node.expression); - if (links.resolvedType.flags & 12288 || - !isTypeAssignableToKind(links.resolvedType, 34 | 84 | 1536) && + if (links.resolvedType.flags & 24576 || + !isTypeAssignableToKind(links.resolvedType, 68 | 168 | 3072) && !isTypeAssignableTo(links.resolvedType, stringNumberSymbolType)) { error(node, ts.Diagnostics.A_computed_property_name_must_be_of_type_string_number_symbol_or_any); } @@ -33968,22 +34196,25 @@ var ts; var propertiesTable; var propertiesArray = []; var spread = emptyObjectType; - var propagatedFlags = 8388608; + var propagatedFlags = 33554432; var contextualType = getApparentTypeOfContextualType(node); var contextualTypeHasPattern = contextualType && contextualType.pattern && - (contextualType.pattern.kind === 179 || contextualType.pattern.kind === 183); + (contextualType.pattern.kind === 180 || contextualType.pattern.kind === 184); var isInJSFile = ts.isInJavaScriptFile(node) && !ts.isInJsonFile(node); var isJSObjectLiteral = !contextualType && isInJSFile; var typeFlags = 0; var patternWithComputedProperties = false; var hasComputedStringProperty = false; var hasComputedNumberProperty = false; - if (isInJSFile && node.properties.length === 0) { - var symbol = getSymbolOfNode(node); - if (symbol.exports) { - propertiesTable = symbol.exports; - symbol.exports.forEach(function (symbol) { return propertiesArray.push(getMergedSymbol(symbol)); }); - return createObjectLiteralType(); + if (isInJSFile) { + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + var symbol = getMergedSymbol(decl.symbol); + if (symbol && ts.hasEntries(symbol.exports)) { + propertiesTable = symbol.exports; + symbol.exports.forEach(function (symbol) { return propertiesArray.push(getMergedSymbol(symbol)); }); + return createObjectLiteralType(); + } } } propertiesTable = ts.createSymbolTable(); @@ -33991,13 +34222,13 @@ var ts; for (var i = 0; i < node.properties.length; i++) { var memberDecl = node.properties[i]; var member = getSymbolOfNode(memberDecl); - var computedNameType = memberDecl.name && memberDecl.name.kind === 146 && !ts.isWellKnownSymbolSyntactically(memberDecl.name.expression) ? + var computedNameType = memberDecl.name && memberDecl.name.kind === 147 && !ts.isWellKnownSymbolSyntactically(memberDecl.name.expression) ? checkComputedPropertyName(memberDecl.name) : undefined; - if (memberDecl.kind === 269 || - memberDecl.kind === 270 || + if (memberDecl.kind === 270 || + memberDecl.kind === 271 || ts.isObjectLiteralMethod(memberDecl)) { - var type = memberDecl.kind === 269 ? checkPropertyAssignment(memberDecl, checkMode) : - memberDecl.kind === 270 ? checkExpressionForMutableLocation(memberDecl.name, checkMode) : + var type = memberDecl.kind === 270 ? checkPropertyAssignment(memberDecl, checkMode) : + memberDecl.kind === 271 ? checkExpressionForMutableLocation(memberDecl.name, checkMode) : checkObjectLiteralMethod(memberDecl, checkMode); if (isInJSFile) { var jsDocType = getTypeForDeclarationFromJSDocComment(memberDecl); @@ -34007,7 +34238,7 @@ var ts; } } typeFlags |= type.flags; - var nameType = computedNameType && computedNameType.flags & 1120 ? + var nameType = computedNameType && computedNameType.flags & 2240 ? computedNameType : undefined; var prop = nameType ? createSymbol(4 | member.flags, getLateBoundNameFromType(nameType), 1024) : @@ -34016,8 +34247,8 @@ var ts; prop.nameType = nameType; } if (inDestructuringPattern) { - var isOptional = (memberDecl.kind === 269 && hasDefaultValue(memberDecl.initializer)) || - (memberDecl.kind === 270 && memberDecl.objectAssignmentInitializer); + var isOptional = (memberDecl.kind === 270 && hasDefaultValue(memberDecl.initializer)) || + (memberDecl.kind === 271 && memberDecl.objectAssignmentInitializer); if (isOptional) { prop.flags |= 16777216; } @@ -34040,7 +34271,7 @@ var ts; prop.target = member; member = prop; } - else if (memberDecl.kind === 271) { + else if (memberDecl.kind === 272) { if (languageVersion < 2) { checkExternalEmitHelpers(memberDecl, 2); } @@ -34055,17 +34286,17 @@ var ts; var type = checkExpression(memberDecl.expression); if (!isValidSpreadType(type)) { error(memberDecl, ts.Diagnostics.Spread_types_may_only_be_created_from_object_types); - return unknownType; + return errorType; } spread = getSpreadType(spread, type, node.symbol, propagatedFlags, 0); offset = i + 1; continue; } else { - ts.Debug.assert(memberDecl.kind === 155 || memberDecl.kind === 156); + ts.Debug.assert(memberDecl.kind === 156 || memberDecl.kind === 157); checkNodeDeferred(memberDecl); } - if (computedNameType && !(computedNameType.flags & 1120)) { + if (computedNameType && !(computedNameType.flags & 2240)) { if (isTypeAssignableTo(computedNameType, stringNumberSymbolType)) { if (isTypeAssignableTo(computedNameType, numberType)) { hasComputedNumberProperty = true; @@ -34106,8 +34337,8 @@ var ts; var stringIndexInfo = isJSObjectLiteral ? jsObjectLiteralIndexInfo : hasComputedStringProperty ? getObjectLiteralIndexInfo(node.properties, offset, propertiesArray, 0) : undefined; var numberIndexInfo = hasComputedNumberProperty && !isJSObjectLiteral ? getObjectLiteralIndexInfo(node.properties, offset, propertiesArray, 1) : undefined; var result = createAnonymousType(node.symbol, propertiesTable, ts.emptyArray, ts.emptyArray, stringIndexInfo, numberIndexInfo); - var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 8388608; - result.flags |= 33554432 | freshObjectLiteralFlag | (typeFlags & 117440512); + var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 33554432; + result.flags |= 268435456 | freshObjectLiteralFlag | (typeFlags & 939524096); result.objectFlags |= 128; if (patternWithComputedProperties) { result.objectFlags |= 512; @@ -34115,17 +34346,17 @@ var ts; if (inDestructuringPattern) { result.pattern = node; } - if (!(result.flags & 12288)) { - propagatedFlags |= (result.flags & 117440512); + if (!(result.flags & 24576)) { + propagatedFlags |= (result.flags & 939524096); } return result; } } function isValidSpreadType(type) { - return !!(type.flags & (1 | 134217728) || - getFalsyFlags(type) & 14560 && isValidSpreadType(removeDefinitelyFalsyTypes(type)) || - type.flags & 65536 && !isGenericMappedType(type) || - type.flags & 393216 && !ts.forEach(type.types, function (t) { return !isValidSpreadType(t); })); + return !!(type.flags & (3 | 16777216) || + getFalsyFlags(type) & 29120 && isValidSpreadType(removeDefinitelyFalsyTypes(type)) || + type.flags & 131072 && !isGenericMappedType(type) || + type.flags & 786432 && !ts.forEach(type.types, function (t) { return !isValidSpreadType(t); })); } function checkJsxSelfClosingElement(node, checkMode) { checkJsxOpeningLikeElementOrOpeningFragment(node, checkMode); @@ -34155,13 +34386,13 @@ var ts; } function isJsxIntrinsicIdentifier(tagName) { switch (tagName.kind) { - case 184: + case 185: case 99: return false; case 71: return ts.isIntrinsicJsxName(tagName.escapedText); default: - ts.Debug.fail(); + return ts.Debug.fail(); } } function checkJsxAttribute(node, checkMode) { @@ -34196,7 +34427,7 @@ var ts; } } else { - ts.Debug.assert(attributeDecl.kind === 263); + ts.Debug.assert(attributeDecl.kind === 264); if (attributesTable.size > 0) { spread = getSpreadType(spread, createJsxAttributesType(), attributes.symbol, 0, 4096); attributesTable = ts.createSymbolTable(); @@ -34218,7 +34449,7 @@ var ts; spread = getSpreadType(spread, createJsxAttributesType(), attributes.symbol, 0, 4096); } } - var parent = openingLikeElement.parent.kind === 254 ? openingLikeElement.parent : undefined; + var parent = openingLikeElement.parent.kind === 255 ? openingLikeElement.parent : undefined; if (parent && parent.openingElement === openingLikeElement && parent.children.length > 0) { var childrenTypes = checkJsxChildren(parent, checkMode); if (!hasSpreadAnyType && jsxChildrenPropertyName && jsxChildrenPropertyName !== "") { @@ -34243,7 +34474,7 @@ var ts; return typeToIntersect || (spread === emptyObjectType ? createJsxAttributesType() : spread); function createJsxAttributesType() { var result = createAnonymousType(attributes.symbol, attributesTable, ts.emptyArray, ts.emptyArray, undefined, undefined); - result.flags |= 33554432; + result.flags |= 268435456; result.objectFlags |= 128 | 4096; return result; } @@ -34270,13 +34501,13 @@ var ts; var namespace = getJsxNamespaceAt(location); var exports = namespace && getExportsOfSymbol(namespace); var typeSymbol = exports && getSymbol(exports, name, 67901928); - return typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : unknownType; + return typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : errorType; } function getIntrinsicTagSymbol(node) { var links = getNodeLinks(node); if (!links.resolvedSymbol) { var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, node); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { if (!ts.isIdentifier(node.tagName)) return ts.Debug.fail(); var intrinsicProp = getPropertyOfType(intrinsicElementsType, node.tagName.escapedText); @@ -34338,6 +34569,7 @@ var ts; return instantiatedSignatures; } function getJsxSignatureTypeArgumentInstantiation(signature, node, isJavascript, reportErrors) { + if (reportErrors === void 0) { reportErrors = false; } if (!node.typeArguments) { return; } @@ -34388,7 +34620,7 @@ var ts; if (!propsType) { return undefined; } - if (propsType.flags & 262144) { + if (propsType.flags & 524288) { var propsApparentType = []; for (var _i = 0, _a = propsType.types; _i < _a.length; _i++) { var t = _a[_i]; @@ -34399,7 +34631,7 @@ var ts; return getApparentType(propsType); } function defaultTryGetJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType) { - ts.Debug.assert(!(elementType.flags & 131072)); + ts.Debug.assert(!(elementType.flags & 262144)); if (!elementClassType || !isTypeAssignableTo(elemInstanceType, elementClassType)) { var jsxStatelessElementType = getJsxStatelessElementTypeAt(openingLikeElement); if (jsxStatelessElementType) { @@ -34410,7 +34642,7 @@ var ts; paramType = getApparentTypeOfJsxPropsType(paramType); if (callReturnType && isTypeAssignableTo(callReturnType, jsxStatelessElementType)) { var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, openingLikeElement); - if (intrinsicAttributes !== unknownType) { + if (intrinsicAttributes !== errorType) { paramType = intersectTypes(intrinsicAttributes, paramType); } return paramType; @@ -34421,7 +34653,7 @@ var ts; return undefined; } function tryGetAllJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType) { - ts.Debug.assert(!(elementType.flags & 131072)); + ts.Debug.assert(!(elementType.flags & 262144)); if (!elementClassType || !isTypeAssignableTo(elemInstanceType, elementClassType)) { var jsxStatelessElementType = getJsxStatelessElementTypeAt(openingLikeElement); if (jsxStatelessElementType) { @@ -34455,7 +34687,7 @@ var ts; result = allMatchingAttributesType; } var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, openingLikeElement); - if (intrinsicAttributes !== unknownType) { + if (intrinsicAttributes !== errorType) { result = intersectTypes(intrinsicAttributes, result); } return result; @@ -34491,7 +34723,7 @@ var ts; return results; } function resolveCustomJsxElementAttributesType(openingLikeElement, shouldIncludeAllStatelessAttributesType, elementType, elementClassType) { - if (elementType.flags & 131072) { + if (elementType.flags & 262144) { var types = elementType.types; return getUnionType(types.map(function (type) { return resolveCustomJsxElementAttributesType(openingLikeElement, shouldIncludeAllStatelessAttributesType, type, elementClassType); @@ -34500,12 +34732,12 @@ var ts; if (isTypeAny(elementType)) { return elementType; } - else if (elementType.flags & 2) { + else if (elementType.flags & 4) { return anyType; } - else if (elementType.flags & 32) { + else if (elementType.flags & 64) { var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, openingLikeElement); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { var stringLiteralTypeName = elementType.value; var intrinsicProp = getPropertyOfType(intrinsicElementsType, ts.escapeLeadingUnderscores(stringLiteralTypeName)); if (intrinsicProp) { @@ -34521,9 +34753,9 @@ var ts; } var instantiatedSignatures = getInstantiatedJsxSignatures(openingLikeElement, elementType, true); if (!ts.length(instantiatedSignatures)) { - return unknownType; + return errorType; } - var elemInstanceType = getUnionType(ts.map(instantiatedSignatures, getReturnTypeOfSignature), 2); + var elemInstanceType = getUnionType(instantiatedSignatures.map(getReturnTypeOfSignature), 2); var statelessAttributesType = shouldIncludeAllStatelessAttributesType ? tryGetAllJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType) : defaultTryGetJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType); @@ -34534,7 +34766,7 @@ var ts; checkTypeRelatedTo(elemInstanceType, elementClassType, assignableRelation, openingLikeElement, ts.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements); } var isJs = ts.isInJavaScriptFile(openingLikeElement); - return getUnionType(ts.map(instantiatedSignatures, function (sig) { return getJsxPropsTypeFromClassType(sig, isJs, openingLikeElement, true); })); + return getUnionType(instantiatedSignatures.map(function (sig) { return getJsxPropsTypeFromClassType(sig, isJs, openingLikeElement, true); })); } function getIntrinsicAttributesTypeFromJsxOpeningLikeElement(node) { ts.Debug.assert(isJsxIntrinsicIdentifier(node.tagName)); @@ -34548,7 +34780,7 @@ var ts; return links.resolvedJsxElementAttributesType = getIndexInfoOfSymbol(symbol, 0).type; } else { - return links.resolvedJsxElementAttributesType = unknownType; + return links.resolvedJsxElementAttributesType = errorType; } } return links.resolvedJsxElementAttributesType; @@ -34579,7 +34811,7 @@ var ts; } function getJsxElementClassTypeAt(location) { var type = getJsxType(JsxNames.ElementClass, location); - if (type === unknownType) + if (type === errorType) return undefined; return type; } @@ -34630,7 +34862,7 @@ var ts; } } function isKnownProperty(targetType, name, isComparingJsxAttributes) { - if (targetType.flags & 65536) { + if (targetType.flags & 131072) { var resolved = resolveStructuredTypeMembers(targetType); if (resolved.stringIndexInfo || resolved.numberIndexInfo && isNumericLiteralName(name) || @@ -34639,7 +34871,7 @@ var ts; return true; } } - else if (targetType.flags & 393216) { + else if (targetType.flags & 786432) { for (var _i = 0, _a = targetType.types; _i < _a.length; _i++) { var t = _a[_i]; if (isKnownProperty(t, name, isComparingJsxAttributes)) { @@ -34703,11 +34935,11 @@ var ts; return type; } else { - return unknownType; + return errorType; } } function getDeclarationKindFromSymbol(s) { - return s.valueDeclaration ? s.valueDeclaration.kind : 151; + return s.valueDeclaration ? s.valueDeclaration.kind : 152; } function getDeclarationNodeFlagsFromSymbol(s) { return s.valueDeclaration ? ts.getCombinedNodeFlags(s.valueDeclaration) : 0; @@ -34724,9 +34956,9 @@ var ts; } function checkPropertyAccessibility(node, left, type, prop) { var flags = ts.getDeclarationModifierFlagsFromSymbol(prop); - var errorNode = node.kind === 184 || node.kind === 231 ? + var errorNode = node.kind === 185 || node.kind === 232 ? node.name : - node.kind === 178 ? + node.kind === 179 ? node : node.right; if (ts.getCheckFlags(prop) & 256) { @@ -34777,7 +35009,7 @@ var ts; if (flags & 32) { return true; } - if (type.flags & 32768) { + if (type.flags & 65536) { type = type.isThisType ? getConstraintOfTypeParameter(type) : getBaseConstraintOfType(type); } if (!type || !hasBaseType(type, enclosingClass)) { @@ -34789,21 +35021,25 @@ var ts; function symbolHasNonMethodDeclaration(symbol) { return forEachProperty(symbol, function (prop) { var propKind = getDeclarationKindFromSymbol(prop); - return propKind !== 153 && propKind !== 152; + return propKind !== 154 && propKind !== 153; }); } function checkNonNullExpression(node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic) { return checkNonNullType(checkExpression(node), node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic); } function checkNonNullType(type, node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic) { - var kind = (strictNullChecks ? getFalsyFlags(type) : type.flags) & 12288; + if (type.flags & 2) { + error(node, ts.Diagnostics.Object_is_of_type_unknown); + return errorType; + } + var kind = (strictNullChecks ? getFalsyFlags(type) : type.flags) & 24576; if (kind) { - error(node, kind & 4096 ? kind & 8192 ? + error(node, kind & 8192 ? kind & 16384 ? (nullOrUndefinedDiagnostic || ts.Diagnostics.Object_is_possibly_null_or_undefined) : (undefinedDiagnostic || ts.Diagnostics.Object_is_possibly_undefined) : (nullDiagnostic || ts.Diagnostics.Object_is_possibly_null)); var t = getNonNullableType(type); - return t.flags & (12288 | 16384) ? unknownType : t; + return t.flags & (24576 | 32768) ? errorType : t; } return type; } @@ -34833,9 +35069,9 @@ var ts; var indexInfo = getIndexInfoOfType(apparentType, 0); if (!(indexInfo && indexInfo.type)) { if (right.escapedText && !checkAndReportErrorForExtendingInterface(node)) { - reportNonexistentProperty(right, leftType.flags & 32768 && leftType.isThisType ? apparentType : leftType); + reportNonexistentProperty(right, leftType.flags & 65536 && leftType.isThisType ? apparentType : leftType); } - return unknownType; + return errorType; } if (indexInfo.isReadonly && (ts.isAssignmentTarget(node) || ts.isDeleteTarget(node))) { error(node, ts.Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(apparentType)); @@ -34850,14 +35086,14 @@ var ts; if (assignmentKind) { if (isReferenceToReadonlyEntity(node, prop) || isReferenceThroughNamespaceImport(node)) { error(right, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, ts.idText(right)); - return unknownType; + return errorType; } } propType = getConstraintForLocation(getTypeOfSymbol(prop), node); } - if (node.kind !== 184 || + if (node.kind !== 185 || assignmentKind === 1 || - prop && !(prop.flags & (3 | 4 | 98304)) && !(prop.flags & 8192 && propType.flags & 131072)) { + prop && !(prop.flags & (3 | 4 | 98304)) && !(prop.flags & 8192 && propType.flags & 262144)) { return propType; } var assumeUninitialized = false; @@ -34865,13 +35101,13 @@ var ts; var declaration = prop && prop.valueDeclaration; if (declaration && isInstancePropertyWithoutInitializer(declaration)) { var flowContainer = getControlFlowContainer(node); - if (flowContainer.kind === 154 && flowContainer.parent === declaration.parent) { + if (flowContainer.kind === 155 && flowContainer.parent === declaration.parent) { assumeUninitialized = true; } } } var flowType = getFlowTypeOfReference(node, propType, assumeUninitialized ? getOptionalType(propType) : propType); - if (assumeUninitialized && !(getFalsyFlags(propType) & 4096) && getFalsyFlags(flowType) & 4096) { + if (assumeUninitialized && !(getFalsyFlags(propType) & 8192) && getFalsyFlags(flowType) & 8192) { error(right, ts.Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(prop)); return propType; } @@ -34887,8 +35123,8 @@ var ts; && !isPropertyDeclaredInAncestorClass(prop)) { error(right, ts.Diagnostics.Block_scoped_variable_0_used_before_its_declaration, ts.idText(right)); } - else if (valueDeclaration.kind === 234 && - node.parent.kind !== 161 && + else if (valueDeclaration.kind === 235 && + node.parent.kind !== 162 && !(valueDeclaration.flags & 4194304) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right)) { error(right, ts.Diagnostics.Class_0_used_before_its_declaration, ts.idText(right)); @@ -34897,9 +35133,9 @@ var ts; function isInPropertyInitializer(node) { return !!ts.findAncestor(node, function (node) { switch (node.kind) { - case 151: + case 152: return true; - case 269: + case 270: return false; default: return ts.isExpressionNode(node) ? false : "quit"; @@ -34931,7 +35167,7 @@ var ts; } function reportNonexistentProperty(propNode, containingType) { var errorInfo; - if (containingType.flags & 131072 && !(containingType.flags & 16382)) { + if (containingType.flags & 262144 && !(containingType.flags & 32764)) { for (var _i = 0, _a = containingType.types; _i < _a.length; _i++) { var subtype = _a[_i]; if (!getPropertyOfType(subtype, propNode.escapedText)) { @@ -35064,20 +35300,20 @@ var ts; } function isValidPropertyAccess(node, propertyName) { switch (node.kind) { - case 184: + case 185: return isValidPropertyAccessWithType(node, node.expression, propertyName, getWidenedType(checkExpression(node.expression))); - case 145: + case 146: return isValidPropertyAccessWithType(node, node.left, propertyName, getWidenedType(checkExpression(node.left))); - case 178: + case 179: return isValidPropertyAccessWithType(node, node, propertyName, getTypeFromTypeNode(node)); } } function isValidPropertyAccessForCompletions(node, type, property) { - return isValidPropertyAccessWithType(node, node.kind === 178 ? node : node.expression, property.escapedName, type) + return isValidPropertyAccessWithType(node, node.kind === 179 ? node : node.expression, property.escapedName, type) && (!(property.flags & 8192) || isValidMethodAccess(property, type)); } function isValidMethodAccess(method, actualThisType) { - var propType = getTypeOfFuncClassEnumModule(method); + var propType = getTypeOfPropertyOfType(actualThisType, method.escapedName); var signatures = getSignaturesOfType(getNonNullableType(propType), 0); ts.Debug.assert(signatures.length !== 0); return signatures.some(function (sig) { @@ -35094,16 +35330,16 @@ var ts; return instantiateType(signatureThisType, createSignatureTypeMapper(sig, getInferredTypes(context))); } function isValidPropertyAccessWithType(node, left, propertyName, type) { - if (type === unknownType || isTypeAny(type)) { + if (type === errorType || isTypeAny(type)) { return true; } var prop = getPropertyOfType(type, propertyName); return prop ? checkPropertyAccessibility(node, left, type, prop) - : ts.isInJavaScriptFile(node) && (type.flags & 131072) && type.types.some(function (elementType) { return isValidPropertyAccessWithType(node, left, propertyName, elementType); }); + : ts.isInJavaScriptFile(node) && (type.flags & 262144) !== 0 && type.types.some(function (elementType) { return isValidPropertyAccessWithType(node, left, propertyName, elementType); }); } function getForInVariableSymbol(node) { var initializer = node.initializer; - if (initializer.kind === 232) { + if (initializer.kind === 233) { var variable = initializer.declarations[0]; if (variable && !ts.isBindingPattern(variable.name)) { return getSymbolOfNode(variable); @@ -35125,7 +35361,7 @@ var ts; var child = expr; var node = expr.parent; while (node) { - if (node.kind === 220 && + if (node.kind === 221 && child === node.statement && getForInVariableSymbol(node) === symbol && hasNumericPropertyNames(getTypeOfExpression(node.expression))) { @@ -35143,7 +35379,7 @@ var ts; var indexExpression = node.argumentExpression; if (!indexExpression) { var sourceFile = ts.getSourceFileOfNode(node); - if (node.parent.kind === 187 && node.parent.expression === node) { + if (node.parent.kind === 188 && node.parent.expression === node) { var start = ts.skipTrivia(sourceFile.text, node.expression.end); var end = node.end; grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead); @@ -35153,26 +35389,26 @@ var ts; var end = node.end; grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.Expression_expected); } - return unknownType; + return errorType; } var indexType = isForInVariableForNumericPropertyNames(indexExpression) ? numberType : checkExpression(indexExpression); - if (objectType === unknownType || objectType === silentNeverType) { + if (objectType === errorType || objectType === silentNeverType) { return objectType; } if (isConstEnumObjectType(objectType) && indexExpression.kind !== 9) { error(indexExpression, ts.Diagnostics.A_const_enum_member_can_only_be_accessed_using_a_string_literal); - return unknownType; + return errorType; } return checkIndexedAccessIndexType(getIndexedAccessType(objectType, indexType, node), node); } function checkThatExpressionIsProperSymbolReference(expression, expressionType, reportError) { - if (expressionType === unknownType) { + if (expressionType === errorType) { return false; } if (!ts.isWellKnownSymbolSyntactically(expression)) { return false; } - if ((expressionType.flags & 1536) === 0) { + if ((expressionType.flags & 3072) === 0) { if (reportError) { error(expression, ts.Diagnostics.A_computed_property_name_of_the_form_0_must_be_of_type_symbol, ts.getTextOfNode(expression)); } @@ -35202,10 +35438,10 @@ var ts; if (callLikeExpressionMayHaveTypeArguments(node)) { ts.forEach(node.typeArguments, checkSourceElement); } - if (node.kind === 188) { + if (node.kind === 189) { checkExpression(node.template); } - else if (node.kind !== 149) { + else if (node.kind !== 150) { ts.forEach(node.arguments, function (argument) { checkExpression(argument); }); @@ -35230,7 +35466,7 @@ var ts; var parent = signature.declaration && signature.declaration.parent; if (!lastSymbol || symbol === lastSymbol) { if (lastParent && parent === lastParent) { - index++; + index = index + 1; } else { lastParent = parent; @@ -35256,7 +35492,7 @@ var ts; function getSpreadArgumentIndex(args) { for (var i = 0; i < args.length; i++) { var arg = args[i]; - if (arg && arg.kind === 203) { + if (arg && arg.kind === 204) { return i; } } @@ -35266,17 +35502,16 @@ var ts; if (signatureHelpTrailingComma === void 0) { signatureHelpTrailingComma = false; } var argCount; var typeArguments; - var callIsIncomplete; + var callIsIncomplete = false; var spreadArgIndex = -1; if (ts.isJsxOpeningLikeElement(node)) { return true; } - if (node.kind === 188) { + if (node.kind === 189) { argCount = args.length; - typeArguments = undefined; - if (node.template.kind === 201) { - var lastSpan = ts.lastOrUndefined(node.template.templateSpans); - ts.Debug.assert(lastSpan !== undefined); + typeArguments = node.typeArguments; + if (node.template.kind === 202) { + var lastSpan = ts.last(node.template.templateSpans); callIsIncomplete = ts.nodeIsMissing(lastSpan.literal) || !!lastSpan.literal.isUnterminated; } else { @@ -35285,13 +35520,13 @@ var ts; callIsIncomplete = !!templateLiteral.isUnterminated; } } - else if (node.kind === 149) { + else if (node.kind === 150) { typeArguments = undefined; argCount = getEffectiveArgumentCount(node, undefined, signature); } else { if (!node.arguments) { - ts.Debug.assert(node.kind === 187); + ts.Debug.assert(node.kind === 188); return signature.minArgumentCount === 0; } argCount = signatureHelpTrailingComma ? args.length + 1 : args.length; @@ -35319,7 +35554,7 @@ var ts; (typeArguments.length >= minTypeArgumentCount && typeArguments.length <= numTypeParameters); } function getSingleCallSignature(type) { - if (type.flags & 65536) { + if (type.flags & 131072) { var resolved = resolveStructuredTypeMembers(type); if (resolved.callSignatures.length === 1 && resolved.constructSignatures.length === 0 && resolved.properties.length === 0 && !resolved.stringIndexInfo && !resolved.numberIndexInfo) { @@ -35354,7 +35589,7 @@ var ts; inference.inferredType = undefined; } } - if (node.kind !== 149) { + if (node.kind !== 150) { var contextualType = getContextualType(node); if (contextualType) { var instantiatedType = instantiateType(contextualType, cloneTypeMapper(getContextualMapper(node))); @@ -35375,7 +35610,7 @@ var ts; var argCount = getEffectiveArgumentCount(node, args, signature); for (var i = 0; i < argCount; i++) { var arg = getEffectiveArgument(node, args, i); - if (arg === undefined || arg.kind !== 205) { + if (arg === undefined || arg.kind !== 206) { var paramType = getTypeAtPosition(signature, i); var argType = getEffectiveArgumentType(node, i); if (argType === undefined) { @@ -35406,7 +35641,7 @@ var ts; var constraint = getConstraintOfTypeParameter(typeParameters[i]); if (!constraint) continue; - var errorInfo = reportErrors && headMessage && (function () { return ts.chainDiagnosticMessages(undefined, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); }); + var errorInfo = reportErrors && headMessage ? (function () { return ts.chainDiagnosticMessages(undefined, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); }) : undefined; var typeArgumentHeadMessage = headMessage || ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1; if (!mapper) { mapper = createTypeMapper(typeParameters, typeArgumentTypes); @@ -35440,12 +35675,12 @@ var ts; return checkApplicableSignatureForJsxOpeningLikeElement(node, signature, relation); } var thisType = getThisTypeOfSignature(signature); - if (thisType && thisType !== voidType && node.kind !== 187) { + if (thisType && thisType !== voidType && node.kind !== 188) { var thisArgumentNode = getThisArgumentOfCall(node); var thisArgumentType = thisArgumentNode ? checkExpression(thisArgumentNode) : voidType; var errorNode = reportErrors ? (thisArgumentNode || node) : undefined; var headMessage_1 = ts.Diagnostics.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1; - if (!checkTypeRelatedTo(thisArgumentType, getThisTypeOfSignature(signature), relation, errorNode, headMessage_1)) { + if (!checkTypeRelatedTo(thisArgumentType, thisType, relation, errorNode, headMessage_1)) { return false; } } @@ -35453,7 +35688,7 @@ var ts; var argCount = getEffectiveArgumentCount(node, args, signature); for (var i = 0; i < argCount; i++) { var arg = getEffectiveArgument(node, args, i); - if (arg === undefined || arg.kind !== 205) { + if (arg === undefined || arg.kind !== 206) { var paramType = getTypeAtPosition(signature, i); var argType = getEffectiveArgumentType(node, i) || checkExpressionWithContextualType(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); @@ -35467,25 +35702,25 @@ var ts; return true; } function getThisArgumentOfCall(node) { - if (node.kind === 186) { + if (node.kind === 187) { var callee = ts.skipOuterExpressions(node.expression); - if (callee.kind === 184 || callee.kind === 185) { + if (callee.kind === 185 || callee.kind === 186) { return callee.expression; } } } function getEffectiveCallArguments(node) { - if (node.kind === 188) { + if (node.kind === 189) { var template = node.template; var args_4 = [undefined]; - if (template.kind === 201) { + if (template.kind === 202) { ts.forEach(template.templateSpans, function (span) { args_4.push(span.expression); }); } return args_4; } - else if (node.kind === 149) { + else if (node.kind === 150) { return undefined; } else if (ts.isJsxOpeningLikeElement(node)) { @@ -35496,22 +35731,24 @@ var ts; } } function getEffectiveArgumentCount(node, args, signature) { - if (node.kind === 149) { + if (node.kind === 150) { switch (node.parent.kind) { - case 234: - case 204: + case 235: + case 205: return 1; - case 151: + case 152: return 2; - case 153: - case 155: + case 154: case 156: + case 157: if (languageVersion === 0) { return 2; } return signature.parameters.length >= 3 ? 3 : 2; - case 148: + case 149: return 3; + default: + return ts.Debug.fail(); } } else { @@ -35519,51 +35756,52 @@ var ts; } } function getEffectiveDecoratorFirstArgumentType(node) { - if (node.kind === 234) { + if (node.kind === 235) { var classSymbol = getSymbolOfNode(node); return getTypeOfSymbol(classSymbol); } - if (node.kind === 148) { + if (node.kind === 149) { node = node.parent; - if (node.kind === 154) { + if (node.kind === 155) { var classSymbol = getSymbolOfNode(node); return getTypeOfSymbol(classSymbol); } } - if (node.kind === 151 || - node.kind === 153 || - node.kind === 155 || - node.kind === 156) { + if (node.kind === 152 || + node.kind === 154 || + node.kind === 156 || + node.kind === 157) { return getParentTypeOfClassElement(node); } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } function getEffectiveDecoratorSecondArgumentType(node) { - if (node.kind === 234) { + if (node.kind === 235) { ts.Debug.fail("Class decorators should not have a second synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 148) { + if (node.kind === 149) { node = node.parent; - if (node.kind === 154) { + if (node.kind === 155) { return anyType; } } - if (node.kind === 151 || - node.kind === 153 || - node.kind === 155 || - node.kind === 156) { + if (node.kind === 152 || + node.kind === 154 || + node.kind === 156 || + node.kind === 157) { var element = node; - switch (element.name.kind) { + var name = element.name; + switch (name.kind) { case 71: - return getLiteralType(ts.idText(element.name)); + return getLiteralType(ts.idText(name)); case 8: case 9: - return getLiteralType(element.name.text); - case 146: - var nameType = checkComputedPropertyName(element.name); - if (isTypeAssignableToKind(nameType, 1536)) { + return getLiteralType(name.text); + case 147: + var nameType = checkComputedPropertyName(name); + if (isTypeAssignableToKind(nameType, 3072)) { return nameType; } else { @@ -35571,32 +35809,32 @@ var ts; } default: ts.Debug.fail("Unsupported property name."); - return unknownType; + return errorType; } } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } function getEffectiveDecoratorThirdArgumentType(node) { - if (node.kind === 234) { + if (node.kind === 235) { ts.Debug.fail("Class decorators should not have a third synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 148) { + if (node.kind === 149) { return numberType; } - if (node.kind === 151) { + if (node.kind === 152) { ts.Debug.fail("Property decorators should not have a third synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 153 || - node.kind === 155 || - node.kind === 156) { + if (node.kind === 154 || + node.kind === 156 || + node.kind === 157) { var propertyType = getTypeOfNode(node); return createTypedPropertyDescriptorType(propertyType); } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } function getEffectiveDecoratorArgumentType(node, argIndex) { if (argIndex === 0) { @@ -35609,29 +35847,29 @@ var ts; return getEffectiveDecoratorThirdArgumentType(node.parent); } ts.Debug.fail("Decorators should not have a fourth synthetic argument."); - return unknownType; + return errorType; } function getEffectiveArgumentType(node, argIndex) { - if (node.kind === 149) { + if (node.kind === 150) { return getEffectiveDecoratorArgumentType(node, argIndex); } - else if (argIndex === 0 && node.kind === 188) { + else if (argIndex === 0 && node.kind === 189) { return getGlobalTemplateStringsArrayType(); } return undefined; } function getEffectiveArgument(node, args, argIndex) { - if (node.kind === 149 || - (argIndex === 0 && node.kind === 188)) { + if (node.kind === 150 || + (argIndex === 0 && node.kind === 189)) { return undefined; } return args[argIndex]; } function getEffectiveArgumentErrorNode(node, argIndex, arg) { - if (node.kind === 149) { + if (node.kind === 150) { return node.expression; } - else if (argIndex === 0 && node.kind === 188) { + else if (argIndex === 0 && node.kind === 189) { return node.template; } else { @@ -35650,8 +35888,8 @@ var ts; return ts.createDiagnosticForNodeArray(ts.getSourceFileOfNode(node), typeArguments, ts.Diagnostics.Expected_0_type_arguments_but_got_1, paramCount, typeArguments.length); } function resolveCall(node, signatures, candidatesOutArray, fallbackError) { - var isTaggedTemplate = node.kind === 188; - var isDecorator = node.kind === 149; + var isTaggedTemplate = node.kind === 189; + var isDecorator = node.kind === 150; var isJsxOpeningOrSelfClosingElement = ts.isJsxOpeningLikeElement(node); var typeArguments; if (!isDecorator) { @@ -35684,7 +35922,7 @@ var ts; var candidateForArgumentError; var candidateForTypeArgumentError; var result; - var signatureHelpTrailingComma = candidatesOutArray && node.kind === 186 && node.arguments.hasTrailingComma; + var signatureHelpTrailingComma = candidatesOutArray && node.kind === 187 && node.arguments.hasTrailingComma; if (candidates.length > 1) { result = chooseOverload(candidates, subtypeRelation, signatureHelpTrailingComma); } @@ -35835,9 +36073,10 @@ var ts; if (node.expression.kind === 97) { var superType = checkSuperExpression(node.expression); if (isTypeAny(superType)) { + ts.forEach(node.arguments, checkExpression); return anySignature; } - if (superType !== unknownType) { + if (superType !== errorType) { var baseTypeNode = ts.getClassExtendsHeritageClauseElement(ts.getContainingClass(node)); if (baseTypeNode) { var baseConstructors = getInstantiatedConstructorsForTypeArguments(superType, baseTypeNode.typeArguments, baseTypeNode); @@ -35851,13 +36090,13 @@ var ts; return silentNeverSignature; } var apparentType = getApparentType(funcType); - if (apparentType === unknownType) { + if (apparentType === errorType) { return resolveErrorCall(node); } var callSignatures = getSignaturesOfType(apparentType, 0); var constructSignatures = getSignaturesOfType(apparentType, 1); if (isUntypedFunctionCall(funcType, apparentType, callSignatures.length, constructSignatures.length)) { - if (funcType !== unknownType && node.typeArguments) { + if (funcType !== errorType && node.typeArguments) { error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); } return resolveUntypedCall(node); @@ -35874,8 +36113,8 @@ var ts; return resolveCall(node, callSignatures, candidatesOutArray); } function isUntypedFunctionCall(funcType, apparentFuncType, numCallSignatures, numConstructSignatures) { - return isTypeAny(funcType) || isTypeAny(apparentFuncType) && funcType.flags & 32768 || - !numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & (131072 | 16384)) && isTypeAssignableTo(funcType, globalFunctionType); + return isTypeAny(funcType) || isTypeAny(apparentFuncType) && funcType.flags & 65536 || + !numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & (262144 | 32768)) && isTypeAssignableTo(funcType, globalFunctionType); } function resolveNewExpression(node, candidatesOutArray) { if (node.arguments && languageVersion < 1) { @@ -35889,7 +36128,7 @@ var ts; return silentNeverSignature; } expressionType = getApparentType(expressionType); - if (expressionType === unknownType) { + if (expressionType === errorType) { return resolveErrorCall(node); } if (isTypeAny(expressionType)) { @@ -35980,7 +36219,7 @@ var ts; function resolveTaggedTemplateExpression(node, candidatesOutArray) { var tagType = checkExpression(node.tag); var apparentType = getApparentType(tagType); - if (apparentType === unknownType) { + if (apparentType === errorType) { return resolveErrorCall(node); } var callSignatures = getSignaturesOfType(apparentType, 0); @@ -35996,23 +36235,25 @@ var ts; } function getDiagnosticHeadMessageForDecoratorResolution(node) { switch (node.parent.kind) { - case 234: - case 204: + case 235: + case 205: return ts.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression; - case 148: + case 149: return ts.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression; - case 151: + case 152: return ts.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression; - case 153: - case 155: + case 154: case 156: + case 157: return ts.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression; + default: + return ts.Debug.fail(); } } function resolveDecorator(node, candidatesOutArray) { var funcType = checkExpression(node.expression); var apparentType = getApparentType(funcType); - if (apparentType === unknownType) { + if (apparentType === errorType) { return resolveErrorCall(node); } var callSignatures = getSignaturesOfType(apparentType, 0); @@ -36027,8 +36268,7 @@ var ts; } var headMessage = getDiagnosticHeadMessageForDecoratorResolution(node); if (!callSignatures.length) { - var errorInfo = void 0; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures, typeToString(apparentType)); + var errorInfo = ts.chainDiagnosticMessages(undefined, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures, typeToString(apparentType)); errorInfo = ts.chainDiagnosticMessages(errorInfo, headMessage); diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(node, errorInfo)); invocationErrorRecovery(apparentType, 0); @@ -36044,7 +36284,7 @@ var ts; }); } function getResolvedJsxStatelessFunctionSignature(openingLikeElement, elementType, candidatesOutArray) { - ts.Debug.assert(!(elementType.flags & 131072)); + ts.Debug.assert(!(elementType.flags & 262144)); var callSignatures = elementType && getSignaturesOfType(elementType, 0); if (callSignatures && callSignatures.length > 0) { return resolveCall(openingLikeElement, callSignatures, candidatesOutArray); @@ -36053,16 +36293,16 @@ var ts; } function resolveSignature(node, candidatesOutArray) { switch (node.kind) { - case 186: - return resolveCallExpression(node, candidatesOutArray); case 187: - return resolveNewExpression(node, candidatesOutArray); + return resolveCallExpression(node, candidatesOutArray); case 188: + return resolveNewExpression(node, candidatesOutArray); + case 189: return resolveTaggedTemplateExpression(node, candidatesOutArray); - case 149: + case 150: return resolveDecorator(node, candidatesOutArray); + case 257: case 256: - case 255: var exprTypes = checkExpression(node.tagName); return forEachType(exprTypes, function (exprType) { var sfcResult = getResolvedJsxStatelessFunctionSignature(node, exprType, candidatesOutArray); @@ -36076,7 +36316,7 @@ var ts; return ts.length(sigs) ? sigs[0] : unknownSignature; }) || unknownSignature; } - ts.Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); + throw ts.Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); } function getResolvedSignature(node, candidatesOutArray) { var links = getNodeLinks(node); @@ -36096,15 +36336,11 @@ var ts; var symbol = ts.isFunctionDeclaration(node) || ts.isFunctionExpression(node) ? getSymbolOfNode(node) : ts.isVariableDeclaration(node) && node.initializer && ts.isFunctionExpression(node.initializer) ? getSymbolOfNode(node.initializer) : undefined; - return symbol && symbol.members !== undefined; + return !!symbol && symbol.members !== undefined; } return false; } function getJavaScriptClassType(symbol) { - var initializer = ts.getDeclaredJavascriptInitializer(symbol.valueDeclaration); - if (initializer) { - symbol = getSymbolOfNode(initializer); - } var inferred; if (isJavaScriptConstructor(symbol.valueDeclaration)) { inferred = getInferredClassType(symbol); @@ -36135,7 +36371,7 @@ var ts; return false; } var parent = node.parent; - while (parent && parent.kind === 184) { + while (parent && parent.kind === 185) { parent = parent.parent; } if (parent && ts.isBinaryExpression(parent) && ts.isPrototypeAccess(parent.left) && parent.operatorToken.kind === 58) { @@ -36162,12 +36398,12 @@ var ts; if (node.expression.kind === 97) { return voidType; } - if (node.kind === 187) { + if (node.kind === 188) { var declaration = signature.declaration; if (declaration && - declaration.kind !== 154 && - declaration.kind !== 158 && - declaration.kind !== 163 && + declaration.kind !== 155 && + declaration.kind !== 159 && + declaration.kind !== 164 && !ts.isJSDocConstructSignature(declaration)) { var funcSymbol = checkExpression(node.expression).symbol; if (!funcSymbol && node.expression.kind === 71) { @@ -36187,10 +36423,20 @@ var ts; return resolveExternalModuleTypeByLiteral(node.arguments[0]); } var returnType = getReturnTypeOfSignature(signature); - if (returnType.flags & 1536 && isSymbolOrSymbolForCall(node)) { + if (returnType.flags & 3072 && isSymbolOrSymbolForCall(node)) { return getESSymbolLikeTypeForNode(ts.walkUpParenthesizedExpressions(node.parent)); } - return returnType; + var jsAssignmentType; + if (ts.isInJavaScriptFile(node)) { + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + var jsSymbol = getSymbolOfNode(decl); + if (jsSymbol && ts.hasEntries(jsSymbol.exports)) { + jsAssignmentType = createAnonymousType(jsSymbol, jsSymbol.exports, ts.emptyArray, ts.emptyArray, jsObjectLiteralIndexInfo, undefined); + } + } + } + return jsAssignmentType ? getIntersectionType([returnType, jsAssignmentType]) : returnType; } function isSymbolOrSymbolForCall(node) { if (!ts.isCallExpression(node)) @@ -36219,7 +36465,7 @@ var ts; for (var i = 1; i < node.arguments.length; ++i) { checkExpressionCached(node.arguments[i]); } - if (specifierType.flags & 4096 || specifierType.flags & 8192 || !isTypeAssignableTo(specifierType, stringType)) { + if (specifierType.flags & 8192 || specifierType.flags & 16384 || !isTypeAssignableTo(specifierType, stringType)) { error(specifier, ts.Diagnostics.Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0, typeToString(specifierType)); } var moduleSymbol = resolveExternalModuleName(node, specifier); @@ -36232,7 +36478,7 @@ var ts; return createPromiseReturnType(node, anyType); } function getTypeWithSyntheticDefaultImportType(type, symbol, originalSymbol) { - if (allowSyntheticDefaultImports && type && type !== unknownType) { + if (allowSyntheticDefaultImports && type && type !== errorType) { var synthType = type; if (!synthType.syntheticType) { var file_4 = ts.find(originalSymbol.declarations, ts.isSourceFile); @@ -36269,9 +36515,9 @@ var ts; return false; } var targetDeclarationKind = resolvedRequire.flags & 16 - ? 233 + ? 234 : resolvedRequire.flags & 3 - ? 231 + ? 232 : 0; if (targetDeclarationKind !== 0) { var decl = ts.getDeclarationOfKind(resolvedRequire, targetDeclarationKind); @@ -36293,7 +36539,7 @@ var ts; var exprType = getRegularTypeOfObjectLiteral(getBaseTypeOfLiteralType(checkExpression(expression, checkMode))); checkSourceElement(type); var targetType = getTypeFromTypeNode(type); - if (produceDiagnostics && targetType !== unknownType) { + if (produceDiagnostics && targetType !== errorType) { var widenedType = getWidenedType(exprType); if (!isTypeComparableTo(targetType, widenedType)) { checkTypeComparableTo(exprType, targetType, errNode, ts.Diagnostics.Type_0_cannot_be_converted_to_type_1); @@ -36312,14 +36558,15 @@ var ts; if (node.keywordToken === 91) { return checkImportMetaProperty(node); } + return ts.Debug.assertNever(node.keywordToken); } function checkNewTargetMetaProperty(node) { var container = ts.getNewTargetContainer(node); if (!container) { error(node, ts.Diagnostics.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor, "new.target"); - return unknownType; + return errorType; } - else if (container.kind === 154) { + else if (container.kind === 155) { var symbol = getSymbolOfNode(container.parent); return getTypeOfSymbol(symbol); } @@ -36335,7 +36582,7 @@ var ts; var file = ts.getSourceFileOfNode(node); ts.Debug.assert(!!(file.flags & 1048576), "Containing file is missing import meta node flag."); ts.Debug.assert(!!file.externalModuleIndicator, "Containing file should be a module."); - return node.name.escapedText === "meta" ? getGlobalImportMetaType() : unknownType; + return node.name.escapedText === "meta" ? getGlobalImportMetaType() : errorType; } function getTypeOfParameter(symbol) { var type = getTypeOfSymbol(symbol); @@ -36390,9 +36637,9 @@ var ts; } } if (signature.hasRestParameter && isRestParameterIndex(context, signature.parameters.length - 1)) { - var parameter = ts.lastOrUndefined(signature.parameters); + var parameter = ts.last(signature.parameters); if (isTransientSymbol(parameter) || !ts.getEffectiveTypeAnnotationNode(parameter.valueDeclaration)) { - var contextualParameterType = getTypeOfSymbol(ts.lastOrUndefined(context.parameters)); + var contextualParameterType = getTypeOfSymbol(ts.last(context.parameters)); assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType); } } @@ -36437,7 +36684,7 @@ var ts; error(func, ts.isImportCall(func) ? ts.Diagnostics.A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option : ts.Diagnostics.An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option); - return unknownType; + return errorType; } else if (!getGlobalPromiseConstructorSymbol(true)) { error(func, ts.isImportCall(func) ? @@ -36448,11 +36695,11 @@ var ts; } function getReturnTypeFromBody(func, checkMode) { if (!func.body) { - return unknownType; + return errorType; } var functionFlags = ts.getFunctionFlags(func); var type; - if (func.body.kind !== 212) { + if (func.body.kind !== 213) { type = checkExpressionCached(func.body, checkMode); if (functionFlags & 2) { type = checkAwaitedType(type, func, ts.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); @@ -36555,7 +36802,7 @@ var ts; if (!(func.flags & 128)) { return false; } - if (ts.some(func.body.statements, function (statement) { return statement.kind === 226 && isExhaustiveSwitchStatement(statement); })) { + if (ts.some(func.body.statements, function (statement) { return statement.kind === 227 && isExhaustiveSwitchStatement(statement); })) { return false; } return true; @@ -36572,7 +36819,7 @@ var ts; if (functionFlags & 2) { type = checkAwaitedType(type, func, ts.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); } - if (type.flags & 16384) { + if (type.flags & 32768) { hasReturnOfTypeNever = true; } ts.pushIfUnique(aggregatedTypes, type); @@ -36592,11 +36839,11 @@ var ts; } function mayReturnNever(func) { switch (func.kind) { - case 191: case 192: + case 193: return true; - case 153: - return func.parent.kind === 183; + case 154: + return func.parent.kind === 184; default: return false; } @@ -36605,14 +36852,14 @@ var ts; if (!produceDiagnostics) { return; } - if (returnType && maybeTypeOfKind(returnType, 1 | 2048)) { + if (returnType && maybeTypeOfKind(returnType, 3 | 4096)) { return; } - if (func.kind === 152 || ts.nodeIsMissing(func.body) || func.body.kind !== 212 || !functionHasImplicitReturn(func)) { + if (func.kind === 153 || ts.nodeIsMissing(func.body) || func.body.kind !== 213 || !functionHasImplicitReturn(func)) { return; } var hasExplicitReturn = func.flags & 256; - if (returnType && returnType.flags & 16384) { + if (returnType && returnType.flags & 32768) { error(ts.getEffectiveReturnTypeNode(func), ts.Diagnostics.A_function_returning_never_cannot_have_a_reachable_end_point); } else if (returnType && !hasExplicitReturn) { @@ -36635,12 +36882,12 @@ var ts; } } function checkFunctionExpressionOrObjectLiteralMethod(node, checkMode) { - ts.Debug.assert(node.kind !== 153 || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 || ts.isObjectLiteralMethod(node)); if (checkMode === 1 && isContextSensitive(node)) { return anyFunctionType; } var hasGrammarError = checkGrammarFunctionLikeDeclaration(node); - if (!hasGrammarError && node.kind === 191) { + if (!hasGrammarError && node.kind === 192) { checkGrammarForGenerator(node); } var links = getNodeLinks(node); @@ -36677,7 +36924,7 @@ var ts; return type; } function checkFunctionExpressionOrObjectLiteralMethodDeferred(node) { - ts.Debug.assert(node.kind !== 153 || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 || ts.isObjectLiteralMethod(node)); var functionFlags = ts.getFunctionFlags(node); var returnTypeNode = ts.getEffectiveReturnTypeNode(node); var returnOrPromisedType = returnTypeNode && @@ -36691,7 +36938,7 @@ var ts; if (!returnTypeNode) { getReturnTypeOfSignature(getSignatureFromDeclaration(node)); } - if (node.body.kind === 212) { + if (node.body.kind === 213) { checkSourceElement(node.body); } else { @@ -36709,7 +36956,7 @@ var ts; } } function checkArithmeticOperandType(operand, type, diagnostic) { - if (!isTypeAssignableToKind(type, 84)) { + if (!isTypeAssignableToKind(type, 168)) { error(operand, diagnostic); return false; } @@ -36725,10 +36972,10 @@ var ts; function isReferenceToReadonlyEntity(expr, symbol) { if (isReadonlySymbol(symbol)) { if (symbol.flags & 4 && - (expr.kind === 184 || expr.kind === 185) && + (expr.kind === 185 || expr.kind === 186) && expr.expression.kind === 99) { var func = ts.getContainingFunction(expr); - if (!(func && func.kind === 154)) { + if (!(func && func.kind === 155)) { return true; } return !(func.parent === symbol.valueDeclaration.parent || func === symbol.valueDeclaration.parent); @@ -36738,13 +36985,13 @@ var ts; return false; } function isReferenceThroughNamespaceImport(expr) { - if (expr.kind === 184 || expr.kind === 185) { + if (expr.kind === 185 || expr.kind === 186) { var node = ts.skipParentheses(expr.expression); if (node.kind === 71) { var symbol = getNodeLinks(node).resolvedSymbol; if (symbol.flags & 2097152) { var declaration = getDeclarationOfAliasSymbol(symbol); - return declaration && declaration.kind === 245; + return !!declaration && declaration.kind === 246; } } } @@ -36752,7 +36999,7 @@ var ts; } function checkReferenceExpression(expr, invalidReferenceMessage) { var node = ts.skipOuterExpressions(expr, 2 | 1); - if (node.kind !== 71 && node.kind !== 184 && node.kind !== 185) { + if (node.kind !== 71 && node.kind !== 185 && node.kind !== 186) { error(expr, invalidReferenceMessage); return false; } @@ -36761,7 +37008,7 @@ var ts; function checkDeleteExpression(node) { checkExpression(node.expression); var expr = ts.skipParentheses(node.expression); - if (expr.kind !== 184 && expr.kind !== 185) { + if (expr.kind !== 185 && expr.kind !== 186) { error(expr, ts.Diagnostics.The_operand_of_a_delete_operator_must_be_a_property_reference); return booleanType; } @@ -36810,7 +37057,7 @@ var ts; case 38: case 52: checkNonNullType(operandType, node.operand); - if (maybeTypeOfKind(operandType, 1536)) { + if (maybeTypeOfKind(operandType, 3072)) { error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator)); } return numberType; @@ -36827,7 +37074,7 @@ var ts; } return numberType; } - return unknownType; + return errorType; } function checkPostfixUnaryExpression(node) { var operandType = checkExpression(node.operand); @@ -36841,10 +37088,10 @@ var ts; return numberType; } function maybeTypeOfKind(type, kind) { - if (type.flags & kind || kind & 536870912 && isGenericMappedType(type)) { + if (type.flags & kind & ~134217728 || kind & 134217728 && isGenericMappedType(type)) { return true; } - if (type.flags & 393216) { + if (type.flags & 786432) { var types = type.types; for (var _i = 0, types_16 = types; _i < types_16.length; _i++) { var t = types_16[_i]; @@ -36859,26 +37106,26 @@ var ts; if (source.flags & kind) { return true; } - if (strict && source.flags & (1 | 2048 | 4096 | 8192)) { + if (strict && source.flags & (3 | 4096 | 8192 | 16384)) { return false; } - return (kind & 84 && isTypeAssignableTo(source, numberType)) || - (kind & 34 && isTypeAssignableTo(source, stringType)) || - (kind & 136 && isTypeAssignableTo(source, booleanType)) || - (kind & 2048 && isTypeAssignableTo(source, voidType)) || - (kind & 16384 && isTypeAssignableTo(source, neverType)) || - (kind & 8192 && isTypeAssignableTo(source, nullType)) || - (kind & 4096 && isTypeAssignableTo(source, undefinedType)) || - (kind & 512 && isTypeAssignableTo(source, esSymbolType)) || - (kind & 134217728 && isTypeAssignableTo(source, nonPrimitiveType)); + return !!(kind & 168) && isTypeAssignableTo(source, numberType) || + !!(kind & 68) && isTypeAssignableTo(source, stringType) || + !!(kind & 272) && isTypeAssignableTo(source, booleanType) || + !!(kind & 4096) && isTypeAssignableTo(source, voidType) || + !!(kind & 32768) && isTypeAssignableTo(source, neverType) || + !!(kind & 16384) && isTypeAssignableTo(source, nullType) || + !!(kind & 8192) && isTypeAssignableTo(source, undefinedType) || + !!(kind & 1024) && isTypeAssignableTo(source, esSymbolType) || + !!(kind & 16777216) && isTypeAssignableTo(source, nonPrimitiveType); } function allTypesAssignableToKind(source, kind, strict) { - return source.flags & 131072 ? + return source.flags & 262144 ? ts.every(source.types, function (subType) { return allTypesAssignableToKind(subType, kind, strict); }) : isTypeAssignableToKind(source, kind, strict); } function isConstEnumObjectType(type) { - return ts.getObjectFlags(type) & 16 && type.symbol && isConstEnumSymbol(type.symbol); + return !!(ts.getObjectFlags(type) & 16) && !!type.symbol && isConstEnumSymbol(type.symbol); } function isConstEnumSymbol(symbol) { return (symbol.flags & 128) !== 0; @@ -36888,7 +37135,7 @@ var ts; return silentNeverType; } if (!isTypeAny(leftType) && - allTypesAssignableToKind(leftType, 16382)) { + allTypesAssignableToKind(leftType, 32764)) { error(left, ts.Diagnostics.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } if (!(isTypeAny(rightType) || typeHasCallOrConstructSignatures(rightType) || isTypeSubtypeOf(rightType, globalFunctionType))) { @@ -36902,10 +37149,10 @@ var ts; } leftType = checkNonNullType(leftType, left); rightType = checkNonNullType(rightType, right); - if (!(isTypeComparableTo(leftType, stringType) || isTypeAssignableToKind(leftType, 84 | 1536))) { + if (!(isTypeComparableTo(leftType, stringType) || isTypeAssignableToKind(leftType, 168 | 3072))) { error(left, ts.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol); } - if (!isTypeAssignableToKind(rightType, 134217728 | 7372800)) { + if (!isTypeAssignableToKind(rightType, 16777216 | 14745600)) { error(right, ts.Diagnostics.The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } return booleanType; @@ -36923,9 +37170,9 @@ var ts; return sourceType; } function checkObjectLiteralDestructuringPropertyAssignment(objectLiteralType, property, allProperties) { - if (property.kind === 269 || property.kind === 270) { + if (property.kind === 270 || property.kind === 271) { var name = property.name; - if (name.kind === 146) { + if (name.kind === 147) { checkComputedPropertyName(name); } if (isComputedNonLiteralName(name)) { @@ -36938,7 +37185,7 @@ var ts; isNumericLiteralName(text) && getIndexTypeOfType(objectLiteralType, 1) || getIndexTypeOfType(objectLiteralType, 0); if (type) { - if (property.kind === 270) { + if (property.kind === 271) { return checkDestructuringAssignment(property, type); } else { @@ -36949,7 +37196,7 @@ var ts; error(name, ts.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature, typeToString(objectLiteralType), ts.declarationNameToString(name)); } } - else if (property.kind === 271) { + else if (property.kind === 272) { if (languageVersion < 6) { checkExternalEmitHelpers(property, 4); } @@ -36972,7 +37219,7 @@ var ts; if (languageVersion < 2 && compilerOptions.downlevelIteration) { checkExternalEmitHelpers(node, 512); } - var elementType = checkIteratedTypeOrElementType(sourceType, node, false, false) || unknownType; + var elementType = checkIteratedTypeOrElementType(sourceType, node, false, false) || errorType; for (var i = 0; i < elements.length; i++) { checkArrayLiteralDestructuringElementAssignment(node, sourceType, i, elementType, checkMode); } @@ -36981,8 +37228,8 @@ var ts; function checkArrayLiteralDestructuringElementAssignment(node, sourceType, elementIndex, elementType, checkMode) { var elements = node.elements; var element = elements[elementIndex]; - if (element.kind !== 205) { - if (element.kind !== 203) { + if (element.kind !== 206) { + if (element.kind !== 204) { var propName = "" + elementIndex; var type = isTypeAny(sourceType) ? sourceType @@ -37008,7 +37255,7 @@ var ts; } else { var restExpression = element.expression; - if (restExpression.kind === 199 && restExpression.operatorToken.kind === 58) { + if (restExpression.kind === 200 && restExpression.operatorToken.kind === 58) { error(restExpression.operatorToken, ts.Diagnostics.A_rest_element_cannot_have_an_initializer); } else { @@ -37021,11 +37268,11 @@ var ts; } function checkDestructuringAssignment(exprOrAssignment, sourceType, checkMode) { var target; - if (exprOrAssignment.kind === 270) { + if (exprOrAssignment.kind === 271) { var prop = exprOrAssignment; if (prop.objectAssignmentInitializer) { if (strictNullChecks && - !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 4096)) { + !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 8192)) { sourceType = getTypeWithFacts(sourceType, 131072); } checkBinaryLikeExpression(prop.name, prop.equalsToken, prop.objectAssignmentInitializer, checkMode); @@ -37035,21 +37282,21 @@ var ts; else { target = exprOrAssignment; } - if (target.kind === 199 && target.operatorToken.kind === 58) { + if (target.kind === 200 && target.operatorToken.kind === 58) { checkBinaryExpression(target, checkMode); target = target.left; } - if (target.kind === 183) { + if (target.kind === 184) { return checkObjectLiteralAssignment(target, sourceType); } - if (target.kind === 182) { + if (target.kind === 183) { return checkArrayLiteralAssignment(target, sourceType, checkMode); } return checkReferenceAssignment(target, sourceType, checkMode); } function checkReferenceAssignment(target, sourceType, checkMode) { var targetType = checkExpression(target, checkMode); - var error = target.parent.kind === 271 ? + var error = target.parent.kind === 272 ? ts.Diagnostics.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access : ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access; if (checkReferenceExpression(target, error)) { @@ -37063,35 +37310,35 @@ var ts; case 71: case 9: case 12: - case 188: - case 201: + case 189: + case 202: case 13: case 8: case 101: case 86: case 95: case 140: - case 191: - case 204: case 192: - case 182: + case 205: + case 193: case 183: - case 194: - case 208: + case 184: + case 195: + case 209: + case 256: case 255: - case 254: return true; - case 200: + case 201: return isSideEffectFree(node.whenTrue) && isSideEffectFree(node.whenFalse); - case 199: + case 200: if (ts.isAssignmentOperator(node.operatorToken.kind)) { return false; } return isSideEffectFree(node.left) && isSideEffectFree(node.right); - case 197: case 198: + case 199: switch (node.operator) { case 51: case 37: @@ -37100,15 +37347,15 @@ var ts; return true; } return false; - case 195: - case 189: - case 207: + case 196: + case 190: + case 208: default: return false; } } function isTypeEqualityComparableTo(source, target) { - return (target.flags & 12288) !== 0 || isTypeComparableTo(source, target); + return (target.flags & 24576) !== 0 || isTypeComparableTo(source, target); } function checkBinaryExpression(node, checkMode) { if (ts.isInJavaScriptFile(node) && ts.getAssignedJavascriptInitializer(node)) { @@ -37118,7 +37365,7 @@ var ts; } function checkBinaryLikeExpression(left, operatorToken, right, checkMode, errorNode) { var operator = operatorToken.kind; - if (operator === 58 && (left.kind === 183 || left.kind === 182)) { + if (operator === 58 && (left.kind === 184 || left.kind === 183)) { return checkDestructuringAssignment(left, checkExpression(right, checkMode), checkMode); } var leftType = checkExpression(left, checkMode); @@ -37152,8 +37399,8 @@ var ts; leftType = checkNonNullType(leftType, left); rightType = checkNonNullType(rightType, right); var suggestedOperator = void 0; - if ((leftType.flags & 136) && - (rightType.flags & 136) && + if ((leftType.flags & 272) && + (rightType.flags & 272) && (suggestedOperator = getSuggestedBooleanOperator(operatorToken.kind)) !== undefined) { error(errorNode || operatorToken, ts.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead, ts.tokenToString(operatorToken.kind), ts.tokenToString(suggestedOperator)); } @@ -37170,19 +37417,19 @@ var ts; if (leftType === silentNeverType || rightType === silentNeverType) { return silentNeverType; } - if (!isTypeAssignableToKind(leftType, 34) && !isTypeAssignableToKind(rightType, 34)) { + if (!isTypeAssignableToKind(leftType, 68) && !isTypeAssignableToKind(rightType, 68)) { leftType = checkNonNullType(leftType, left); rightType = checkNonNullType(rightType, right); } var resultType = void 0; - if (isTypeAssignableToKind(leftType, 84, true) && isTypeAssignableToKind(rightType, 84, true)) { + if (isTypeAssignableToKind(leftType, 168, true) && isTypeAssignableToKind(rightType, 168, true)) { resultType = numberType; } - else if (isTypeAssignableToKind(leftType, 34, true) || isTypeAssignableToKind(rightType, 34, true)) { + else if (isTypeAssignableToKind(leftType, 68, true) || isTypeAssignableToKind(rightType, 68, true)) { resultType = stringType; } else if (isTypeAny(leftType) || isTypeAny(rightType)) { - resultType = leftType === unknownType || rightType === unknownType ? unknownType : anyType; + resultType = leftType === errorType || rightType === errorType ? errorType : anyType; } if (resultType && !checkForDisallowedESSymbolOperand(operator)) { return resultType; @@ -37242,6 +37489,8 @@ var ts; error(left, ts.Diagnostics.Left_side_of_comma_operator_is_unused_and_has_no_side_effects); } return rightType; + default: + return ts.Debug.fail(); } function checkSpecialAssignment(left, right) { var special = ts.getSpecialPropertyAssignmentKind(left.parent); @@ -37253,7 +37502,7 @@ var ts; if (propType.symbol && propType.symbol.flags & 32) { var name = prop.escapedName; var symbol = resolveName(prop.valueDeclaration, name, 67901928, undefined, name, false); - if (symbol) { + if (symbol && symbol.declarations.some(function (d) { return d.kind === 297; })) { grammarErrorOnNode(symbol.declarations[0], ts.Diagnostics.Duplicate_identifier_0, ts.unescapeLeadingUnderscores(name)); return grammarErrorOnNode(prop.valueDeclaration, ts.Diagnostics.Duplicate_identifier_0, ts.unescapeLeadingUnderscores(name)); } @@ -37265,8 +37514,8 @@ var ts; return node.kind === 71 && node.escapedText === "eval"; } function checkForDisallowedESSymbolOperand(operator) { - var offendingSymbolOperand = maybeTypeOfKind(leftType, 1536) ? left : - maybeTypeOfKind(rightType, 1536) ? right : + var offendingSymbolOperand = maybeTypeOfKind(leftType, 3072) ? left : + maybeTypeOfKind(rightType, 3072) ? right : undefined; if (offendingSymbolOperand) { error(offendingSymbolOperand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(operator)); @@ -37326,7 +37575,9 @@ var ts; } } var func = ts.getContainingFunction(node); - var functionFlags = func ? ts.getFunctionFlags(func) : 0; + if (!func) + return anyType; + var functionFlags = ts.getFunctionFlags(func); if (!(functionFlags & 1)) { return anyType; } @@ -37357,14 +37608,14 @@ var ts; } function checkTemplateExpression(node) { ts.forEach(node.templateSpans, function (templateSpan) { - if (maybeTypeOfKind(checkExpression(templateSpan.expression), 1536)) { + if (maybeTypeOfKind(checkExpression(templateSpan.expression), 3072)) { error(templateSpan.expression, ts.Diagnostics.Type_0_cannot_be_converted_to_type_1, typeToString(esSymbolType), typeToString(stringType)); } }); return stringType; } function getContextNode(node) { - if (node.kind === 262) { + if (node.kind === 263) { return node.parent.parent; } return node; @@ -37397,17 +37648,16 @@ var ts; } function isTypeAssertion(node) { node = ts.skipParentheses(node); - return node.kind === 189 || node.kind === 207; + return node.kind === 190 || node.kind === 208; } function checkDeclarationInitializer(declaration) { - var inJs = ts.isInJavaScriptFile(declaration); - var initializer = inJs && ts.getDeclaredJavascriptInitializer(declaration) || declaration.initializer; + var initializer = ts.getEffectiveInitializer(declaration); var type = getTypeOfExpression(initializer, true); var widened = ts.getCombinedNodeFlags(declaration) & 2 || (ts.getCombinedModifierFlags(declaration) & 64 && !ts.isParameterPropertyDeclaration(declaration)) || isTypeAssertion(initializer) ? type : getWidenedLiteralType(type); - if (inJs) { - if (widened.flags & 12288) { + if (ts.isInJavaScriptFile(declaration)) { + if (widened.flags & 24576) { if (noImplicitAny) { reportImplicitAnyError(declaration, anyType); } @@ -37422,33 +37672,23 @@ var ts; } return widened; } - function isTypeParameterWithKeyofConstraint(type) { - if (type.flags & 32768) { - var constraintDeclaration = getConstraintDeclaration(type); - return constraintDeclaration && constraintDeclaration.kind === 174 && - constraintDeclaration.operator === 128; - } - return false; - } function isLiteralOfContextualType(candidateType, contextualType) { if (contextualType) { - if (contextualType.flags & 393216) { + if (contextualType.flags & 786432) { var types = contextualType.types; return ts.some(types, function (t) { return isLiteralOfContextualType(candidateType, t); }); } - if (contextualType.flags & 7372800) { + if (contextualType.flags & 14745600) { var constraint = getBaseConstraintOfType(contextualType) || emptyObjectType; - return isTypeParameterWithKeyofConstraint(contextualType) && maybeTypeOfKind(candidateType, 32 | 64 | 1024) || - constraint.flags & 2 && maybeTypeOfKind(candidateType, 32) || - constraint.flags & 4 && maybeTypeOfKind(candidateType, 64) || - constraint.flags & 8 && maybeTypeOfKind(candidateType, 128) || - constraint.flags & 512 && maybeTypeOfKind(candidateType, 1024) || + return maybeTypeOfKind(constraint, 4) && maybeTypeOfKind(candidateType, 64) || + maybeTypeOfKind(constraint, 8) && maybeTypeOfKind(candidateType, 128) || + maybeTypeOfKind(constraint, 1024) && maybeTypeOfKind(candidateType, 2048) || isLiteralOfContextualType(candidateType, constraint); } - return contextualType.flags & (32 | 524288) && maybeTypeOfKind(candidateType, 32) || - contextualType.flags & 64 && maybeTypeOfKind(candidateType, 64) || + return !!(contextualType.flags & (64 | 1048576) && maybeTypeOfKind(candidateType, 64) || contextualType.flags & 128 && maybeTypeOfKind(candidateType, 128) || - contextualType.flags & 1024 && maybeTypeOfKind(candidateType, 1024); + contextualType.flags & 256 && maybeTypeOfKind(candidateType, 256) || + contextualType.flags & 2048 && maybeTypeOfKind(candidateType, 2048)); } return false; } @@ -37461,14 +37701,14 @@ var ts; getWidenedLiteralLikeTypeForContextualType(type, contextualType); } function checkPropertyAssignment(node, checkMode) { - if (node.name.kind === 146) { + if (node.name.kind === 147) { checkComputedPropertyName(node.name); } return checkExpressionForMutableLocation(node.initializer, checkMode); } function checkObjectLiteralMethod(node, checkMode) { checkGrammarMethod(node); - if (node.name.kind === 146) { + if (node.name.kind === 147) { checkComputedPropertyName(node.name); } var uninstantiatedType = checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); @@ -37490,7 +37730,7 @@ var ts; return type; } function getTypeOfExpression(node, cache) { - if (node.kind === 186 && node.expression.kind !== 97 && !ts.isRequireCall(node, true) && !isSymbolOrSymbolForCall(node)) { + if (node.kind === 187 && node.expression.kind !== 97 && !ts.isRequireCall(node, true) && !isSymbolOrSymbolForCall(node)) { var funcType = checkNonNullExpression(node.expression); var signature = getSingleCallSignature(funcType); if (signature && !signature.typeParameters) { @@ -37508,7 +37748,7 @@ var ts; } function checkExpression(node, checkMode) { var type; - if (node.kind === 145) { + if (node.kind === 146) { type = checkQualifiedName(node); } else { @@ -37516,10 +37756,10 @@ var ts; type = instantiateTypeWithSingleGenericCallSignature(node, uninstantiatedType, checkMode); } if (isConstEnumObjectType(type)) { - var ok = (node.parent.kind === 184 && node.parent.expression === node) || - (node.parent.kind === 185 && node.parent.expression === node) || - ((node.kind === 71 || node.kind === 145) && isInRightSideOfImportOrExportAssignment(node) || - (node.parent.kind === 164 && node.parent.exprName === node)); + var ok = (node.parent.kind === 185 && node.parent.expression === node) || + (node.parent.kind === 186 && node.parent.expression === node) || + ((node.kind === 71 || node.kind === 146) && isInRightSideOfImportOrExportAssignment(node) || + (node.parent.kind === 165 && node.parent.exprName === node)); if (!ok) { error(node, ts.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query); } @@ -37553,76 +37793,76 @@ var ts; return trueType; case 86: return falseType; - case 201: + case 202: return checkTemplateExpression(node); case 12: return globalRegExpType; - case 182: - return checkArrayLiteral(node, checkMode); case 183: - return checkObjectLiteral(node, checkMode); + return checkArrayLiteral(node, checkMode); case 184: - return checkPropertyAccessExpression(node); + return checkObjectLiteral(node, checkMode); case 185: - return checkIndexedAccess(node); + return checkPropertyAccessExpression(node); case 186: + return checkIndexedAccess(node); + case 187: if (node.expression.kind === 91) { return checkImportCallExpression(node); } - case 187: - return checkCallExpression(node); case 188: - return checkTaggedTemplateExpression(node); - case 190: - return checkParenthesizedExpression(node, checkMode); - case 204: - return checkClassExpression(node); - case 191: - case 192: - return checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); - case 194: - return checkTypeOfExpression(node); + return checkCallExpression(node); case 189: - case 207: - return checkAssertion(node); - case 208: - return checkNonNullAssertion(node); - case 209: - return checkMetaProperty(node); - case 193: - return checkDeleteExpression(node); - case 195: - return checkVoidExpression(node); - case 196: - return checkAwaitExpression(node); - case 197: - return checkPrefixUnaryExpression(node); - case 198: - return checkPostfixUnaryExpression(node); - case 199: - return checkBinaryExpression(node, checkMode); - case 200: - return checkConditionalExpression(node, checkMode); - case 203: - return checkSpreadExpression(node, checkMode); + return checkTaggedTemplateExpression(node); + case 191: + return checkParenthesizedExpression(node, checkMode); case 205: + return checkClassExpression(node); + case 192: + case 193: + return checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); + case 195: + return checkTypeOfExpression(node); + case 190: + case 208: + return checkAssertion(node); + case 209: + return checkNonNullAssertion(node); + case 210: + return checkMetaProperty(node); + case 194: + return checkDeleteExpression(node); + case 196: + return checkVoidExpression(node); + case 197: + return checkAwaitExpression(node); + case 198: + return checkPrefixUnaryExpression(node); + case 199: + return checkPostfixUnaryExpression(node); + case 200: + return checkBinaryExpression(node, checkMode); + case 201: + return checkConditionalExpression(node, checkMode); + case 204: + return checkSpreadExpression(node, checkMode); + case 206: return undefinedWideningType; - case 202: + case 203: return checkYieldExpression(node); - case 264: + case 265: return checkJsxExpression(node, checkMode); - case 254: - return checkJsxElement(node, checkMode); case 255: - return checkJsxSelfClosingElement(node, checkMode); - case 258: - return checkJsxFragment(node, checkMode); - case 262: - return checkJsxAttributes(node, checkMode); + return checkJsxElement(node, checkMode); case 256: + return checkJsxSelfClosingElement(node, checkMode); + case 259: + return checkJsxFragment(node, checkMode); + case 263: + return checkJsxAttributes(node, checkMode); + case 257: ts.Debug.fail("Shouldn't ever directly check a JsxOpeningElement"); } - return unknownType; + return errorType; } function checkTypeParameter(node) { if (node.expression) { @@ -37651,7 +37891,7 @@ var ts; checkVariableLikeDeclaration(node); var func = ts.getContainingFunction(node); if (ts.hasModifier(node, 92)) { - if (!(func.kind === 154 && ts.nodeIsPresent(func.body))) { + if (!(func.kind === 155 && ts.nodeIsPresent(func.body))) { error(node, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); } } @@ -37662,7 +37902,7 @@ var ts; if (func.parameters.indexOf(node) !== 0) { error(node, ts.Diagnostics.A_0_parameter_must_be_the_first_parameter, node.name.escapedText); } - if (func.kind === 154 || func.kind === 158 || func.kind === 163) { + if (func.kind === 155 || func.kind === 159 || func.kind === 164) { error(node, ts.Diagnostics.A_constructor_cannot_have_a_this_parameter); } } @@ -37724,13 +37964,13 @@ var ts; } function getTypePredicateParent(node) { switch (node.parent.kind) { + case 193: + case 158: + case 234: case 192: - case 157: - case 233: - case 191: - case 162: + case 163: + case 154: case 153: - case 152: var parent = node.parent; if (node === parent.type) { return parent; @@ -37748,7 +37988,7 @@ var ts; error(predicateVariableNode, ts.Diagnostics.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern, predicateVariableName); return true; } - else if (name.kind === 180 || name.kind === 179) { + else if (name.kind === 181 || name.kind === 180) { if (checkIfTypePredicateVariableIsDeclaredInBindingPattern(name, predicateVariableNode, predicateVariableName)) { return true; } @@ -37756,12 +37996,12 @@ var ts; } } function checkSignatureDeclaration(node) { - if (node.kind === 159) { + if (node.kind === 160) { checkGrammarIndexSignature(node); } - else if (node.kind === 162 || node.kind === 233 || node.kind === 163 || - node.kind === 157 || node.kind === 154 || - node.kind === 158) { + else if (node.kind === 163 || node.kind === 234 || node.kind === 164 || + node.kind === 158 || node.kind === 155 || + node.kind === 159) { checkGrammarFunctionLikeDeclaration(node); } var functionFlags = ts.getFunctionFlags(node); @@ -37786,10 +38026,10 @@ var ts; var returnTypeNode = ts.getEffectiveReturnTypeNode(node); if (noImplicitAny && !returnTypeNode) { switch (node.kind) { - case 158: + case 159: error(node, ts.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; - case 157: + case 158: error(node, ts.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; } @@ -37813,7 +38053,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (node.kind !== 159 && node.kind !== 283) { + if (node.kind !== 160 && node.kind !== 284) { registerForUnusedIdentifiersCheck(node); } } @@ -37823,7 +38063,7 @@ var ts; var staticNames = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 154) { + if (member.kind === 155) { for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var param = _c[_b]; if (ts.isParameterPropertyDeclaration(param) && !ts.isBindingPattern(param.name)) { @@ -37834,20 +38074,21 @@ var ts; else { var isStatic = ts.hasModifier(member, 32); var names = isStatic ? staticNames : instanceNames; - var memberName = member.name && ts.getPropertyNameForPropertyNameNode(member.name); - if (memberName) { + var name = member.name; + var memberName = name && ts.getPropertyNameForPropertyNameNode(name); + if (name && memberName) { switch (member.kind) { - case 155: - addName(names, member.name, memberName, 1); - break; case 156: - addName(names, member.name, memberName, 2); + addName(names, name, memberName, 1); break; - case 151: - addName(names, member.name, memberName, 3); + case 157: + addName(names, name, memberName, 2); break; - case 153: - addName(names, member.name, memberName, 4); + case 152: + addName(names, name, memberName, 3); + break; + case 154: + addName(names, name, memberName, 4); break; } } @@ -37898,15 +38139,16 @@ var ts; var names = ts.createMap(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 150) { + if (member.kind === 151) { var memberName = void 0; - switch (member.name.kind) { + var name = member.name; + switch (name.kind) { case 9: case 8: - memberName = member.name.text; + memberName = name.text; break; case 71: - memberName = ts.idText(member.name); + memberName = ts.idText(name); break; default: continue; @@ -37922,7 +38164,7 @@ var ts; } } function checkTypeForDuplicateIndexSignatures(node) { - if (node.kind === 235) { + if (node.kind === 236) { var nodeSymbol = getSymbolOfNode(node); if (nodeSymbol.declarations.length > 0 && nodeSymbol.declarations[0] !== node) { return; @@ -37967,7 +38209,7 @@ var ts; if (!checkGrammarMethod(node)) checkGrammarComputedPropertyName(node.name); checkFunctionOrMethodDeclaration(node); - if (ts.hasModifier(node, 128) && node.kind === 153 && node.body) { + if (ts.hasModifier(node, 128) && node.kind === 154 && node.body) { error(node, ts.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract, ts.declarationNameToString(node.name)); } } @@ -37988,7 +38230,7 @@ var ts; return; } function isInstancePropertyWithInitializer(n) { - return n.kind === 151 && + return n.kind === 152 && !ts.hasModifier(n, 32) && !!n.initializer; } @@ -38008,7 +38250,7 @@ var ts; var superCallStatement = void 0; for (var _i = 0, statements_2 = statements; _i < statements_2.length; _i++) { var statement = statements_2[_i]; - if (statement.kind === 215 && ts.isSuperCall(statement.expression)) { + if (statement.kind === 216 && ts.isSuperCall(statement.expression)) { superCallStatement = statement; break; } @@ -38032,18 +38274,18 @@ var ts; checkGrammarComputedPropertyName(node.name); checkDecorators(node); checkSignatureDeclaration(node); - if (node.kind === 155) { + if (node.kind === 156) { if (!(node.flags & 4194304) && ts.nodeIsPresent(node.body) && (node.flags & 128)) { if (!(node.flags & 256)) { error(node.name, ts.Diagnostics.A_get_accessor_must_return_a_value); } } } - if (node.name.kind === 146) { + if (node.name.kind === 147) { checkComputedPropertyName(node.name); } if (!hasNonBindableDynamicName(node)) { - var otherKind = node.kind === 155 ? 156 : 155; + var otherKind = node.kind === 156 ? 157 : 156; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(node), otherKind); if (otherAccessor) { var nodeFlags = ts.getModifierFlags(node); @@ -38059,7 +38301,7 @@ var ts; } } var returnType = getTypeOfAccessors(getSymbolOfNode(node)); - if (node.kind === 155) { + if (node.kind === 156) { checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnType); } } @@ -38096,7 +38338,7 @@ var ts; } function getTypeParametersForTypeReference(node) { var type = getTypeFromTypeReference(node); - if (type !== unknownType) { + if (type !== errorType) { var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { return symbol.flags & 524288 && getSymbolLinks(symbol).typeParameters || @@ -38107,11 +38349,11 @@ var ts; } function checkTypeReferenceNode(node) { checkGrammarTypeArguments(node, node.typeArguments); - if (node.kind === 161 && node.typeName.jsdocDotPos !== undefined && !ts.isInJavaScriptFile(node) && !ts.isInJSDoc(node)) { + if (node.kind === 162 && node.typeName.jsdocDotPos !== undefined && !ts.isInJavaScriptFile(node) && !ts.isInJSDoc(node)) { grammarErrorAtPos(node, node.typeName.jsdocDotPos, 1, ts.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments); } var type = getTypeFromTypeReference(node); - if (type !== unknownType) { + if (type !== errorType) { if (node.typeArguments) { ts.forEach(node.typeArguments, checkSourceElement); if (produceDiagnostics) { @@ -38121,7 +38363,7 @@ var ts; } } } - if (type.flags & 16 && getNodeLinks(node).resolvedSymbol.flags & 8) { + if (type.flags & 32 && getNodeLinks(node).resolvedSymbol.flags & 8) { error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type)); } } @@ -38160,19 +38402,19 @@ var ts; ts.forEach(node.types, checkSourceElement); } function checkIndexedAccessIndexType(type, accessNode) { - if (!(type.flags & 1048576)) { + if (!(type.flags & 2097152)) { return type; } var objectType = type.objectType; var indexType = type.indexType; if (isTypeAssignableTo(indexType, getIndexType(objectType, false))) { - if (accessNode.kind === 185 && ts.isAssignmentTarget(accessNode) && + if (accessNode.kind === 186 && ts.isAssignmentTarget(accessNode) && ts.getObjectFlags(objectType) & 32 && getMappedTypeModifiers(objectType) & 1) { error(accessNode, ts.Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(objectType)); } return type; } - if (getIndexInfoOfType(getApparentType(objectType), 1) && isTypeAssignableToKind(indexType, 84)) { + if (getIndexInfoOfType(getApparentType(objectType), 1) && isTypeAssignableToKind(indexType, 168)) { return type; } error(accessNode, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(indexType), typeToString(objectType)); @@ -38201,7 +38443,7 @@ var ts; ts.forEachChild(node, checkSourceElement); } function checkInferType(node) { - if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 170 && n.parent.extendsType === n; })) { + if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 171 && n.parent.extendsType === n; })) { grammarErrorOnNode(node, ts.Diagnostics.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type); } checkSourceElement(node.typeParameter); @@ -38215,9 +38457,9 @@ var ts; } function getEffectiveDeclarationFlags(n, flagsToCheck) { var flags = ts.getCombinedModifierFlags(n); - if (n.parent.kind !== 235 && - n.parent.kind !== 234 && - n.parent.kind !== 204 && + if (n.parent.kind !== 236 && + n.parent.kind !== 235 && + n.parent.kind !== 205 && n.flags & 4194304) { if (!(flags & 2) && !(ts.isModuleBlock(n.parent) && ts.isModuleDeclaration(n.parent.parent) && ts.isGlobalScopeAugmentation(n.parent.parent))) { flags |= 1; @@ -38297,7 +38539,7 @@ var ts; if (node.name && subsequentName && (ts.isComputedPropertyName(node.name) && ts.isComputedPropertyName(subsequentName) || !ts.isComputedPropertyName(node.name) && !ts.isComputedPropertyName(subsequentName) && ts.getEscapedTextOfIdentifierOrLiteral(node.name) === ts.getEscapedTextOfIdentifierOrLiteral(subsequentName))) { - var reportError = (node.kind === 153 || node.kind === 152) && + var reportError = (node.kind === 154 || node.kind === 153) && ts.hasModifier(node, 32) !== ts.hasModifier(subsequentNode, 32); if (reportError) { var diagnostic = ts.hasModifier(node, 32) ? ts.Diagnostics.Function_overload_must_be_static : ts.Diagnostics.Function_overload_must_not_be_static; @@ -38330,11 +38572,11 @@ var ts; var current = declarations_4[_i]; var node = current; var inAmbientContext = node.flags & 4194304; - var inAmbientContextOrInterface = node.parent.kind === 235 || node.parent.kind === 165 || inAmbientContext; + var inAmbientContextOrInterface = node.parent.kind === 236 || node.parent.kind === 166 || inAmbientContext; if (inAmbientContextOrInterface) { previousDeclaration = undefined; } - if (node.kind === 233 || node.kind === 153 || node.kind === 152 || node.kind === 154) { + if (node.kind === 234 || node.kind === 154 || node.kind === 153 || node.kind === 155) { var currentNodeFlags = getEffectiveDeclarationFlags(node, flagsToCheck); someNodeFlags |= currentNodeFlags; allNodeFlags &= currentNodeFlags; @@ -38447,39 +38689,39 @@ var ts; function getDeclarationSpaces(decl) { var d = decl; switch (d.kind) { - case 235: case 236: - case 296: - case 291: + case 237: + case 297: + case 292: return 2; - case 238: + case 239: return ts.isAmbientModule(d) || ts.getModuleInstanceState(d) !== 0 ? 4 | 1 : 4; - case 234: - case 237: + case 235: + case 238: return 2 | 1; - case 273: + case 274: return 2 | 1 | 4; - case 248: + case 249: if (!ts.isEntityNameExpression(d.expression)) { return 1; } d = d.expression; - case 242: + case 243: + case 246: case 245: - case 244: var result_3 = 0; var target = resolveAlias(getSymbolOfNode(d)); ts.forEach(target.declarations, function (d) { result_3 |= getDeclarationSpaces(d); }); return result_3; - case 231: - case 181: - case 233: - case 247: + case 232: + case 182: + case 234: + case 248: return 1; default: - ts.Debug.fail(ts.Debug.showSyntaxKind(d)); + return ts.Debug.fail(ts.Debug.showSyntaxKind(d)); } } } @@ -38523,7 +38765,7 @@ var ts; return typeAsPromise.promisedTypeOfPromise = getUnionType(ts.map(onfulfilledParameterSignatures, getTypeOfFirstParameterOfSignature), 2); } function checkAwaitedType(type, errorNode, diagnosticMessage) { - return getAwaitedType(type, errorNode, diagnosticMessage) || unknownType; + return getAwaitedType(type, errorNode, diagnosticMessage) || errorType; } function getAwaitedType(type, errorNode, diagnosticMessage) { var typeAsAwaitable = type; @@ -38533,7 +38775,7 @@ var ts; if (isTypeAny(type)) { return typeAsAwaitable.awaitedTypeOfType = type; } - if (type.flags & 131072) { + if (type.flags & 262144) { var types = void 0; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var constituentType = _a[_i]; @@ -38563,7 +38805,8 @@ var ts; var thenFunction = getTypeOfPropertyOfType(type, "then"); if (thenFunction && getSignaturesOfType(thenFunction, 0).length > 0) { if (errorNode) { - ts.Debug.assert(!!diagnosticMessage); + if (!diagnosticMessage) + return ts.Debug.fail(); error(errorNode, diagnosticMessage); } return undefined; @@ -38574,49 +38817,49 @@ var ts; var returnTypeNode = ts.getEffectiveReturnTypeNode(node); var returnType = getTypeFromTypeNode(returnTypeNode); if (languageVersion >= 2) { - if (returnType === unknownType) { - return unknownType; + if (returnType === errorType) { + return errorType; } var globalPromiseType = getGlobalPromiseType(true); if (globalPromiseType !== emptyGenericType && !isReferenceToType(returnType, globalPromiseType)) { error(returnTypeNode, ts.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type); - return unknownType; + return errorType; } } else { markTypeNodeAsReferenced(returnTypeNode); - if (returnType === unknownType) { - return unknownType; + if (returnType === errorType) { + return errorType; } var promiseConstructorName = ts.getEntityNameFromTypeNode(returnTypeNode); if (promiseConstructorName === undefined) { error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, typeToString(returnType)); - return unknownType; + return errorType; } var promiseConstructorSymbol = resolveEntityName(promiseConstructorName, 67216319, true); - var promiseConstructorType = promiseConstructorSymbol ? getTypeOfSymbol(promiseConstructorSymbol) : unknownType; - if (promiseConstructorType === unknownType) { + var promiseConstructorType = promiseConstructorSymbol ? getTypeOfSymbol(promiseConstructorSymbol) : errorType; + if (promiseConstructorType === errorType) { if (promiseConstructorName.kind === 71 && promiseConstructorName.escapedText === "Promise" && getTargetType(returnType) === getGlobalPromiseType(false)) { error(returnTypeNode, ts.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option); } else { error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, ts.entityNameToString(promiseConstructorName)); } - return unknownType; + return errorType; } var globalPromiseConstructorLikeType = getGlobalPromiseConstructorLikeType(true); if (globalPromiseConstructorLikeType === emptyObjectType) { error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, ts.entityNameToString(promiseConstructorName)); - return unknownType; + return errorType; } if (!checkTypeAssignableTo(promiseConstructorType, globalPromiseConstructorLikeType, returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value)) { - return unknownType; + return errorType; } var rootName = promiseConstructorName && getFirstIdentifier(promiseConstructorName); var collidingSymbol = getSymbol(node.locals, rootName.escapedText, 67216319); if (collidingSymbol) { error(collidingSymbol.valueDeclaration, ts.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions, ts.idText(rootName), ts.entityNameToString(promiseConstructorName)); - return unknownType; + return errorType; } } return checkAwaitedType(returnType, node, ts.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); @@ -38631,26 +38874,28 @@ var ts; var headMessage = getDiagnosticHeadMessageForDecoratorResolution(node); var errorInfo; switch (node.parent.kind) { - case 234: + case 235: var classSymbol = getSymbolOfNode(node.parent); var classConstructorType = getTypeOfSymbol(classSymbol); expectedReturnType = getUnionType([classConstructorType, voidType]); break; - case 148: + case 149: expectedReturnType = voidType; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any); + errorInfo = ts.chainDiagnosticMessages(undefined, ts.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any); break; - case 151: + case 152: expectedReturnType = voidType; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any); + errorInfo = ts.chainDiagnosticMessages(undefined, ts.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any); break; - case 153: - case 155: + case 154: case 156: + case 157: var methodType = getTypeOfNode(node.parent); var descriptorType = createTypedPropertyDescriptorType(methodType); expectedReturnType = getUnionType([descriptorType, voidType]); break; + default: + return ts.Debug.fail(); } checkTypeAssignableTo(returnType, expectedReturnType, node, headMessage, function () { return errorInfo; }); } @@ -38679,12 +38924,12 @@ var ts; function getEntityNameForDecoratorMetadata(node) { if (node) { switch (node.kind) { + case 170: case 169: - case 168: var commonEntityName = void 0; for (var _i = 0, _a = node.types; _i < _a.length; _i++) { var typeNode = _a[_i]; - while (typeNode.kind === 172) { + while (typeNode.kind === 173) { typeNode = typeNode.type; } if (typeNode.kind === 131) { @@ -38709,9 +38954,9 @@ var ts; } } return commonEntityName; - case 172: + case 173: return getEntityNameForDecoratorMetadata(node.type); - case 161: + case 162: return node.typeName; } } @@ -38732,13 +38977,13 @@ var ts; } var firstDecorator = node.decorators[0]; checkExternalEmitHelpers(firstDecorator, 8); - if (node.kind === 148) { + if (node.kind === 149) { checkExternalEmitHelpers(firstDecorator, 32); } if (compilerOptions.emitDecoratorMetadata) { checkExternalEmitHelpers(firstDecorator, 16); switch (node.kind) { - case 234: + case 235: var constructor = ts.getFirstConstructorWithBody(node); if (constructor) { for (var _i = 0, _a = constructor.parameters; _i < _a.length; _i++) { @@ -38747,19 +38992,19 @@ var ts; } } break; - case 153: - case 155: + case 154: case 156: + case 157: for (var _b = 0, _c = node.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); } markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveReturnTypeNode(node)); break; - case 151: + case 152: markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveTypeAnnotationNode(node)); break; - case 148: + case 149: markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(node)); var containingSignature = node.parent; for (var _d = 0, _e = containingSignature.parameters; _d < _e.length; _d++) { @@ -38798,12 +39043,12 @@ var ts; return; } if (!containsArgumentsReference(decl)) { - error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(node.name.kind === 145 ? node.name.right : node.name)); + error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(node.name.kind === 146 ? node.name.right : node.name)); } else if (ts.findLast(ts.getJSDocTags(decl), ts.isJSDocParameterTag) === node && node.typeExpression && node.typeExpression.type && !isArrayType(getTypeFromTypeNode(node.typeExpression.type))) { - error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, ts.idText(node.name.kind === 145 ? node.name.right : node.name)); + error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, ts.idText(node.name.kind === 146 ? node.name.right : node.name)); } } } @@ -38832,7 +39077,7 @@ var ts; switch (node.kind) { case 71: return node; - case 184: + case 185: return node.name; default: return undefined; @@ -38842,7 +39087,7 @@ var ts; checkDecorators(node); checkSignatureDeclaration(node); var functionFlags = ts.getFunctionFlags(node); - if (node.name && node.name.kind === 146) { + if (node.name && node.name.kind === 147) { checkComputedPropertyName(node.name); } if (!hasNonBindableDynamicName(node)) { @@ -38858,7 +39103,7 @@ var ts; } } } - var body = node.kind === 152 ? undefined : node.body; + var body = node.kind === 153 ? undefined : node.body; checkSourceElement(body); var returnTypeNode = ts.getEffectiveReturnTypeNode(node); if ((functionFlags & 1) === 0) { @@ -38891,41 +39136,41 @@ var ts; for (var _i = 0, potentiallyUnusedIdentifiers_1 = potentiallyUnusedIdentifiers; _i < potentiallyUnusedIdentifiers_1.length; _i++) { var node = potentiallyUnusedIdentifiers_1[_i]; switch (node.kind) { - case 234: - case 204: + case 235: + case 205: checkUnusedClassMembers(node, addDiagnostic); checkUnusedTypeParameters(node, addDiagnostic); break; - case 235: + case 236: checkUnusedTypeParameters(node, addDiagnostic); break; - case 273: - case 238: - case 212: - case 240: - case 219: + case 274: + case 239: + case 213: + case 241: case 220: case 221: + case 222: checkUnusedLocalsAndParameters(node, addDiagnostic); break; - case 154: - case 191: - case 233: - case 192: - case 153: case 155: + case 192: + case 234: + case 193: + case 154: case 156: + case 157: if (node.body) { checkUnusedLocalsAndParameters(node, addDiagnostic); } checkUnusedTypeParameters(node, addDiagnostic); break; - case 152: - case 157: + case 153: case 158: - case 162: + case 159: case 163: - case 236: + case 164: + case 237: checkUnusedTypeParameters(node, addDiagnostic); break; default: @@ -38935,15 +39180,8 @@ var ts; } function errorUnusedLocal(declaration, name, addDiagnostic) { var node = ts.getNameOfDeclaration(declaration) || declaration; - if (isIdentifierThatStartsWithUnderScore(node)) { - var declaration_2 = ts.getRootDeclaration(node.parent); - if ((declaration_2.kind === 231 && ts.isForInOrOfStatement(declaration_2.parent.parent)) || - declaration_2.kind === 147) { - return; - } - } var message = isTypeDeclaration(declaration) ? ts.Diagnostics._0_is_declared_but_never_used : ts.Diagnostics._0_is_declared_but_its_value_is_never_read; - addDiagnostic(0, ts.createDiagnosticForNodeSpan(ts.getSourceFileOfNode(declaration), declaration, node, message, name)); + addDiagnostic(0, ts.createDiagnosticForNode(node, message, name)); } function parameterNameStartsWithUnderscore(parameterName) { return parameterName && isIdentifierThatStartsWithUnderScore(parameterName); @@ -38956,11 +39194,11 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 153: - case 151: - case 155: + case 154: + case 152: case 156: - if (member.kind === 156 && member.symbol.flags & 32768) { + case 157: + if (member.kind === 157 && member.symbol.flags & 32768) { break; } var symbol = getSymbolOfNode(member); @@ -38968,7 +39206,7 @@ var ts; addDiagnostic(0, ts.createDiagnosticForNode(member.name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, symbolToString(symbol))); } break; - case 154: + case 155: for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; if (!parameter.symbol.isReferenced && ts.hasModifier(parameter, 8)) { @@ -38976,8 +39214,8 @@ var ts; } } break; - case 159: - case 211: + case 160: + case 212: break; default: ts.Debug.fail(); @@ -39014,6 +39252,7 @@ var ts; return; var unusedImports = ts.createMap(); var unusedDestructures = ts.createMap(); + var unusedVariables = ts.createMap(); nodeWithLocals.locals.forEach(function (local) { if (local.flags & 262144 ? !(local.flags & 3 && !(local.isReferenced & 3)) : local.isReferenced || local.exportSymbol) { return; @@ -39031,6 +39270,11 @@ var ts; addToGroup(unusedDestructures, declaration.parent, declaration, getNodeId); } } + else if (ts.isVariableDeclaration(declaration)) { + if (!isIdentifierThatStartsWithUnderScore(declaration.name) || !ts.isForInOrOfStatement(declaration.parent.parent)) { + addToGroup(unusedVariables, declaration.parent, declaration, getNodeId); + } + } else { var parameter = local.valueDeclaration && tryGetRootParameterDeclaration(local.valueDeclaration); if (parameter) { @@ -39048,49 +39292,76 @@ var ts; unusedImports.forEach(function (_a) { var importClause = _a[0], unuseds = _a[1]; var importDecl = importClause.parent; - if (forEachImportedDeclaration(importClause, function (d) { return !ts.contains(unuseds, d); })) { + var nDeclarations = (importClause.name ? 1 : 0) + + (importClause.namedBindings ? + (importClause.namedBindings.kind === 246 ? 1 : importClause.namedBindings.elements.length) + : 0); + if (nDeclarations === unuseds.length) { + addDiagnostic(0, unuseds.length === 1 + ? ts.createDiagnosticForNode(importDecl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.first(unuseds).name)) + : ts.createDiagnosticForNode(importDecl, ts.Diagnostics.All_imports_in_import_declaration_are_unused)); + } + else { for (var _i = 0, unuseds_1 = unuseds; _i < unuseds_1.length; _i++) { var unused = unuseds_1[_i]; errorUnusedLocal(unused, ts.idText(unused.name), addDiagnostic); } } - else if (unuseds.length === 1) { - addDiagnostic(0, ts.createDiagnosticForNode(importDecl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.first(unuseds).name))); - } - else { - addDiagnostic(0, ts.createDiagnosticForNode(importDecl, ts.Diagnostics.All_imports_in_import_declaration_are_unused)); - } }); unusedDestructures.forEach(function (_a) { var bindingPattern = _a[0], bindingElements = _a[1]; var kind = tryGetRootParameterDeclaration(bindingPattern.parent) ? 1 : 0; - if (!bindingPattern.elements.every(function (e) { return ts.contains(bindingElements, e); })) { + if (bindingPattern.elements.length === bindingElements.length) { + if (bindingElements.length === 1 && bindingPattern.parent.kind === 232 && bindingPattern.parent.parent.kind === 233) { + addToGroup(unusedVariables, bindingPattern.parent.parent, bindingPattern.parent, getNodeId); + } + else { + addDiagnostic(kind, bindingElements.length === 1 + ? ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(ts.first(bindingElements).name, ts.isIdentifier))) + : ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics.All_destructured_elements_are_unused)); + } + } + else { for (var _i = 0, bindingElements_1 = bindingElements; _i < bindingElements_1.length; _i++) { var e = bindingElements_1[_i]; addDiagnostic(kind, ts.createDiagnosticForNode(e, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(e.name, ts.isIdentifier)))); } } - else if (bindingElements.length === 1) { - addDiagnostic(kind, ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(ts.first(bindingElements).name, ts.isIdentifier)))); + }); + unusedVariables.forEach(function (_a) { + var declarationList = _a[0], declarations = _a[1]; + if (declarationList.declarations.length === declarations.length) { + addDiagnostic(0, declarations.length === 1 + ? ts.createDiagnosticForNode(ts.first(declarations).name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, bindingNameText(ts.first(declarations).name)) + : ts.createDiagnosticForNode(declarationList.parent.kind === 214 ? declarationList.parent : declarationList, ts.Diagnostics.All_variables_are_unused)); } else { - addDiagnostic(kind, ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics.All_destructured_elements_are_unused)); + for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { + var decl = declarations_5[_i]; + addDiagnostic(0, ts.createDiagnosticForNode(decl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(decl.name, ts.isIdentifier)))); + } } }); } + function bindingNameText(name) { + switch (name.kind) { + case 71: + return ts.idText(name); + case 181: + case 180: + return bindingNameText(ts.cast(ts.first(name.elements), ts.isBindingElement).name); + default: + return ts.Debug.assertNever(name); + } + } function isImportedDeclaration(node) { - return node.kind === 244 || node.kind === 247 || node.kind === 245; + return node.kind === 245 || node.kind === 248 || node.kind === 246; } function importClauseFromImported(decl) { - return decl.kind === 244 ? decl : decl.kind === 245 ? decl.parent : decl.parent.parent; - } - function forEachImportedDeclaration(importClause, cb) { - var defaultName = importClause.name, namedBindings = importClause.namedBindings; - return (defaultName && cb(importClause)) || - namedBindings && (namedBindings.kind === 245 ? cb(namedBindings) : ts.forEach(namedBindings.elements, cb)); + return decl.kind === 245 ? decl : decl.kind === 246 ? decl.parent : decl.parent.parent; } function checkBlock(node) { - if (node.kind === 212) { + if (node.kind === 213) { checkGrammarStatementInAmbientContext(node); } if (ts.isFunctionOrModuleBlock(node)) { @@ -39119,19 +39390,19 @@ var ts; if (!(identifier && identifier.escapedText === name)) { return false; } - if (node.kind === 151 || - node.kind === 150 || + if (node.kind === 152 || + node.kind === 151 || + node.kind === 154 || node.kind === 153 || - node.kind === 152 || - node.kind === 155 || - node.kind === 156) { + node.kind === 156 || + node.kind === 157) { return false; } if (node.flags & 4194304) { return false; } var root = ts.getRootDeclaration(node); - if (root.kind === 148 && ts.nodeIsMissing(root.parent.body)) { + if (root.kind === 149 && ts.nodeIsMissing(root.parent.body)) { return false; } return true; @@ -39148,6 +39419,7 @@ var ts; } return true; } + return false; }); } function checkIfNewTargetIsCapturedInEnclosingScope(node) { @@ -39162,6 +39434,7 @@ var ts; } return true; } + return false; }); } function checkCollisionWithRequireExportsInGeneratedCode(node, name) { @@ -39175,7 +39448,7 @@ var ts; return; } var parent = getDeclarationContainer(node); - if (parent.kind === 273 && ts.isExternalOrCommonJsModule(parent)) { + if (parent.kind === 274 && ts.isExternalOrCommonJsModule(parent)) { error(name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module, ts.declarationNameToString(name), ts.declarationNameToString(name)); } } @@ -39187,7 +39460,7 @@ var ts; return; } var parent = getDeclarationContainer(node); - if (parent.kind === 273 && ts.isExternalOrCommonJsModule(parent) && parent.flags & 1024) { + if (parent.kind === 274 && ts.isExternalOrCommonJsModule(parent) && parent.flags & 1024) { error(name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions, ts.declarationNameToString(name), ts.declarationNameToString(name)); } } @@ -39195,7 +39468,7 @@ var ts; if ((ts.getCombinedNodeFlags(node) & 3) !== 0 || ts.isParameterDeclaration(node)) { return; } - if (node.kind === 231 && !node.initializer) { + if (node.kind === 232 && !node.initializer) { return; } var symbol = getSymbolOfNode(node); @@ -39207,15 +39480,15 @@ var ts; localDeclarationSymbol !== symbol && localDeclarationSymbol.flags & 2) { if (getDeclarationNodeFlagsFromSymbol(localDeclarationSymbol) & 3) { - var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 232); - var container = varDeclList.parent.kind === 213 && varDeclList.parent.parent + var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 233); + var container = varDeclList.parent.kind === 214 && varDeclList.parent.parent ? varDeclList.parent.parent : undefined; var namesShareScope = container && - (container.kind === 212 && ts.isFunctionLike(container.parent) || + (container.kind === 213 && ts.isFunctionLike(container.parent) || + container.kind === 240 || container.kind === 239 || - container.kind === 238 || - container.kind === 273); + container.kind === 274); if (!namesShareScope) { var name = symbolToString(localDeclarationSymbol); error(node, ts.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1, name, name); @@ -39225,7 +39498,7 @@ var ts; } } function checkParameterInitializer(node) { - if (ts.getRootDeclaration(node).kind !== 148) { + if (ts.getRootDeclaration(node).kind !== 149) { return; } var func = ts.getContainingFunction(node); @@ -39234,7 +39507,7 @@ var ts; if (ts.isTypeNode(n) || ts.isDeclarationName(n)) { return; } - if (n.kind === 184) { + if (n.kind === 185) { return visit(n.expression); } else if (n.kind === 71) { @@ -39248,8 +39521,8 @@ var ts; } var enclosingContainer = ts.getEnclosingBlockScopeContainer(symbol.valueDeclaration); if (enclosingContainer === func) { - if (symbol.valueDeclaration.kind === 148 || - symbol.valueDeclaration.kind === 181) { + if (symbol.valueDeclaration.kind === 149 || + symbol.valueDeclaration.kind === 182) { if (symbol.valueDeclaration.pos < node.pos) { return; } @@ -39258,7 +39531,7 @@ var ts; return "quit"; } return ts.isFunctionLike(current.parent) || - (current.parent.kind === 151 && + (current.parent.kind === 152 && !(ts.hasModifier(current.parent, 32)) && ts.isClassLike(current.parent.parent)); })) { @@ -39284,17 +39557,17 @@ var ts; if (!node.name) { return; } - if (node.name.kind === 146) { + if (node.name.kind === 147) { checkComputedPropertyName(node.name); if (node.initializer) { checkExpressionCached(node.initializer); } } - if (node.kind === 181) { - if (node.parent.kind === 179 && languageVersion < 6) { + if (node.kind === 182) { + if (node.parent.kind === 180 && languageVersion < 6) { checkExternalEmitHelpers(node, 4); } - if (node.propertyName && node.propertyName.kind === 146) { + if (node.propertyName && node.propertyName.kind === 147) { checkComputedPropertyName(node.propertyName); } var parent = node.parent.parent; @@ -39309,17 +39582,17 @@ var ts; } } if (ts.isBindingPattern(node.name)) { - if (node.name.kind === 180 && languageVersion < 2 && compilerOptions.downlevelIteration) { + if (node.name.kind === 181 && languageVersion < 2 && compilerOptions.downlevelIteration) { checkExternalEmitHelpers(node, 512); } ts.forEach(node.name.elements, checkSourceElement); } - if (node.initializer && ts.getRootDeclaration(node).kind === 148 && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { + if (node.initializer && ts.getRootDeclaration(node).kind === 149 && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { error(node, ts.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation); return; } if (ts.isBindingPattern(node.name)) { - if (node.initializer && node.parent.parent.kind !== 220) { + if (node.initializer && node.parent.parent.kind !== 221) { var initializerType = checkExpressionCached(node.initializer); if (strictNullChecks && node.name.elements.length === 0) { checkNonNullType(initializerType, node); @@ -39334,15 +39607,15 @@ var ts; var symbol = getSymbolOfNode(node); var type = convertAutoToAny(getTypeOfSymbol(symbol)); if (node === symbol.valueDeclaration) { - if (node.initializer && node.parent.parent.kind !== 220) { - var initializer = ts.isInJavaScriptFile(node) && ts.getDeclaredJavascriptInitializer(node) || node.initializer; + var initializer = ts.getEffectiveInitializer(node); + if (initializer && node.parent.parent.kind !== 221) { checkTypeAssignableTo(checkExpressionCached(initializer), type, node, undefined); checkParameterInitializer(node); } } else { var declarationType = convertAutoToAny(getWidenedTypeForVariableLikeDeclaration(node)); - if (type !== unknownType && declarationType !== unknownType && + if (type !== errorType && declarationType !== errorType && !isTypeIdenticalTo(type, declarationType) && !(symbol.flags & 67108864)) { errorNextVariableOrPropertyDeclarationMustHaveSameType(type, node, declarationType); @@ -39355,9 +39628,9 @@ var ts; error(node.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_modifiers, ts.declarationNameToString(node.name)); } } - if (node.kind !== 151 && node.kind !== 150) { + if (node.kind !== 152 && node.kind !== 151) { checkExportsOnMergedDeclarations(node); - if (node.kind === 231 || node.kind === 181) { + if (node.kind === 232 || node.kind === 182) { checkVarDeclaredNamesNotShadowed(node); } checkCollisionWithRequireExportsInGeneratedCode(node, node.name); @@ -39366,14 +39639,14 @@ var ts; } function errorNextVariableOrPropertyDeclarationMustHaveSameType(firstType, nextDeclaration, nextType) { var nextDeclarationName = ts.getNameOfDeclaration(nextDeclaration); - var message = nextDeclaration.kind === 151 || nextDeclaration.kind === 150 + var message = nextDeclaration.kind === 152 || nextDeclaration.kind === 151 ? ts.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2 : ts.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2; error(nextDeclarationName, message, ts.declarationNameToString(nextDeclarationName), typeToString(firstType), typeToString(nextType)); } function areDeclarationFlagsIdentical(left, right) { - if ((left.kind === 148 && right.kind === 231) || - (left.kind === 231 && right.kind === 148)) { + if ((left.kind === 149 && right.kind === 232) || + (left.kind === 232 && right.kind === 149)) { return true; } if (ts.hasQuestionToken(left) !== ts.hasQuestionToken(right)) { @@ -39408,7 +39681,7 @@ var ts; checkGrammarStatementInAmbientContext(node); checkExpression(node.expression); checkSourceElement(node.thenStatement); - if (node.thenStatement.kind === 214) { + if (node.thenStatement.kind === 215) { error(node.thenStatement, ts.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement); } checkSourceElement(node.elseStatement); @@ -39425,12 +39698,12 @@ var ts; } function checkForStatement(node) { if (!checkGrammarStatementInAmbientContext(node)) { - if (node.initializer && node.initializer.kind === 232) { + if (node.initializer && node.initializer.kind === 233) { checkGrammarVariableDeclarationList(node.initializer); } } if (node.initializer) { - if (node.initializer.kind === 232) { + if (node.initializer.kind === 233) { ts.forEach(node.initializer.declarations, checkVariableDeclaration); } else { @@ -39457,14 +39730,14 @@ var ts; else if (compilerOptions.downlevelIteration && languageVersion < 2) { checkExternalEmitHelpers(node, 256); } - if (node.initializer.kind === 232) { + if (node.initializer.kind === 233) { checkForInOrForOfVariableDeclaration(node); } else { var varExpr = node.initializer; var iteratedType = checkRightHandSideOfForOf(node.expression, node.awaitModifier); - if (varExpr.kind === 182 || varExpr.kind === 183) { - checkDestructuringAssignment(varExpr, iteratedType || unknownType); + if (varExpr.kind === 183 || varExpr.kind === 184) { + checkDestructuringAssignment(varExpr, iteratedType || errorType); } else { var leftType = checkExpression(varExpr); @@ -39482,7 +39755,7 @@ var ts; function checkForInStatement(node) { checkGrammarForInOrForOfStatement(node); var rightType = checkNonNullExpression(node.expression); - if (node.initializer.kind === 232) { + if (node.initializer.kind === 233) { var variable = node.initializer.declarations[0]; if (variable && ts.isBindingPattern(variable.name)) { error(variable.name, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); @@ -39492,7 +39765,7 @@ var ts; else { var varExpr = node.initializer; var leftType = checkExpression(varExpr); - if (varExpr.kind === 182 || varExpr.kind === 183) { + if (varExpr.kind === 183 || varExpr.kind === 184) { error(varExpr, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); } else if (!isTypeAssignableTo(getIndexTypeOrString(rightType), leftType)) { @@ -39502,7 +39775,7 @@ var ts; checkReferenceExpression(varExpr, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access); } } - if (rightType === neverType || !isTypeAssignableToKind(rightType, 134217728 | 7372800)) { + if (rightType === neverType || !isTypeAssignableToKind(rightType, 16777216 | 14745600)) { error(node.expression, ts.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0, typeToString(rightType)); } checkSourceElement(node.statement); @@ -39544,14 +39817,14 @@ var ts; var reportedError = false; var hasStringConstituent = false; if (allowStringInput) { - if (arrayType.flags & 131072) { + if (arrayType.flags & 262144) { var arrayTypes = inputType.types; - var filteredTypes = ts.filter(arrayTypes, function (t) { return !(t.flags & 34); }); + var filteredTypes = ts.filter(arrayTypes, function (t) { return !(t.flags & 68); }); if (filteredTypes !== arrayTypes) { arrayType = getUnionType(filteredTypes, 2); } } - else if (arrayType.flags & 34) { + else if (arrayType.flags & 68) { arrayType = neverType; } hasStringConstituent = arrayType !== inputType; @@ -39562,7 +39835,7 @@ var ts; reportedError = true; } } - if (arrayType.flags & 16384) { + if (arrayType.flags & 32768) { return stringType; } } @@ -39587,7 +39860,7 @@ var ts; } var arrayElementType = getIndexTypeOfType(arrayType, 1); if (hasStringConstituent && arrayElementType) { - if (arrayElementType.flags & 34) { + if (arrayElementType.flags & 68) { return stringType; } return getUnionType([arrayElementType, stringType], 2); @@ -39620,11 +39893,11 @@ var ts; } } var asyncMethodType = allowAsyncIterables && getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("asyncIterator")); - var methodType = asyncMethodType || (allowSyncIterables && getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("iterator"))); + var methodType = asyncMethodType || (allowSyncIterables ? getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("iterator")) : undefined); if (isTypeAny(methodType)) { return undefined; } - var signatures = methodType && getSignaturesOfType(methodType, 0); + var signatures = methodType ? getSignaturesOfType(methodType, 0) : undefined; if (!ts.some(signatures)) { if (errorNode) { reportTypeNotIterableError(errorNode, type, allowAsyncIterables); @@ -39711,14 +39984,14 @@ var ts; checkGrammarBreakOrContinueStatement(node); } function isGetAccessorWithAnnotatedSetAccessor(node) { - return node.kind === 155 - && ts.getEffectiveSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(node.symbol, 156)) !== undefined; + return node.kind === 156 + && ts.getEffectiveSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(node.symbol, 157)) !== undefined; } function isUnwrappedReturnTypeVoidOrAny(func, returnType) { var unwrappedReturnType = (ts.getFunctionFlags(func) & 3) === 2 ? getPromisedTypeOfPromise(returnType) : returnType; - return unwrappedReturnType && maybeTypeOfKind(unwrappedReturnType, 2048 | 1); + return !!unwrappedReturnType && maybeTypeOfKind(unwrappedReturnType, 4096 | 3); } function checkReturnStatement(node) { if (checkGrammarStatementInAmbientContext(node)) { @@ -39733,17 +40006,17 @@ var ts; var returnType = getReturnTypeOfSignature(signature); var functionFlags = ts.getFunctionFlags(func); var isGenerator = functionFlags & 1; - if (strictNullChecks || node.expression || returnType.flags & 16384) { + if (strictNullChecks || node.expression || returnType.flags & 32768) { var exprType = node.expression ? checkExpressionCached(node.expression) : undefinedType; if (isGenerator) { return; } - else if (func.kind === 156) { + else if (func.kind === 157) { if (node.expression) { error(node, ts.Diagnostics.Setters_cannot_return_a_value); } } - else if (func.kind === 154) { + else if (func.kind === 155) { if (node.expression && !checkTypeAssignableTo(exprType, returnType, node)) { error(node, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); } @@ -39761,7 +40034,7 @@ var ts; } } } - else if (func.kind !== 154 && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(func, returnType) && !isGenerator) { + else if (func.kind !== 155 && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(func, returnType) && !isGenerator) { error(node, ts.Diagnostics.Not_all_code_paths_return_a_value); } } @@ -39786,7 +40059,7 @@ var ts; var expressionType = checkExpression(node.expression); var expressionIsLiteral = isLiteralType(expressionType); ts.forEach(node.caseBlock.clauses, function (clause) { - if (clause.kind === 266 && !hasDuplicateDefaultClause) { + if (clause.kind === 267 && !hasDuplicateDefaultClause) { if (firstDefaultClause === undefined) { firstDefaultClause = clause; } @@ -39798,7 +40071,7 @@ var ts; hasDuplicateDefaultClause = true; } } - if (produceDiagnostics && clause.kind === 265) { + if (produceDiagnostics && clause.kind === 266) { var caseType = checkExpression(clause.expression); var caseIsLiteral = isLiteralType(caseType); var comparedExpressionType = expressionType; @@ -39822,10 +40095,11 @@ var ts; if (ts.isFunctionLike(current)) { return "quit"; } - if (current.kind === 227 && current.label.escapedText === node.label.escapedText) { + if (current.kind === 228 && current.label.escapedText === node.label.escapedText) { grammarErrorOnNode(node.label, ts.Diagnostics.Duplicate_label_0, ts.getTextOfNode(node.label)); return true; } + return false; }); } checkSourceElement(node.statement); @@ -39881,8 +40155,8 @@ var ts; checkIndexConstraintForProperty(prop, propType, type, declaredStringIndexer, stringIndexType, 0); checkIndexConstraintForProperty(prop, propType, type, declaredNumberIndexer, numberIndexType, 1); }); - if (ts.getObjectFlags(type) & 1 && ts.isClassLike(type.symbol.valueDeclaration)) { - var classDeclaration = type.symbol.valueDeclaration; + var classDeclaration = type.symbol.valueDeclaration; + if (ts.getObjectFlags(type) & 1 && ts.isClassLike(classDeclaration)) { for (var _i = 0, _a = classDeclaration.members; _i < _a.length; _i++) { var member = _a[_i]; if (!ts.hasModifier(member, 32) && hasNonBindableDynamicName(member)) { @@ -39915,8 +40189,8 @@ var ts; } var errorNode; if (propDeclaration && - (propDeclaration.kind === 199 || - ts.getNameOfDeclaration(propDeclaration).kind === 146 || + (propDeclaration.kind === 200 || + ts.getNameOfDeclaration(propDeclaration).kind === 147 || prop.parent === containingType.symbol)) { errorNode = propDeclaration; } @@ -39938,6 +40212,7 @@ var ts; function checkTypeNameIsReserved(name, message) { switch (name.escapedText) { case "any": + case "unknown": case "number": case "boolean": case "string": @@ -39947,6 +40222,12 @@ var ts; error(name, message, name.escapedText); } } + function checkClassNameCollisionWithObject(name) { + if (languageVersion === 1 && name.escapedText === "Object" + && moduleKind !== ts.ModuleKind.ES2015 && moduleKind !== ts.ModuleKind.ESNext) { + error(name, ts.Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, ts.ModuleKind[moduleKind]); + } + } function checkTypeParameters(typeParameterDeclarations) { if (typeParameterDeclarations) { var seenDefault = false; @@ -39983,8 +40264,8 @@ var ts; var type = getDeclaredTypeOfSymbol(symbol); if (!areTypeParametersIdentical(declarations, type.localTypeParameters)) { var name = symbolToString(symbol); - for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { - var declaration = declarations_5[_i]; + for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { + var declaration = declarations_6[_i]; error(declaration.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_type_parameters, name); } } @@ -39993,8 +40274,8 @@ var ts; function areTypeParametersIdentical(declarations, targetParameters) { var maxTypeArgumentCount = ts.length(targetParameters); var minTypeArgumentCount = getMinTypeArgumentCount(targetParameters); - for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { - var declaration = declarations_6[_i]; + for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { + var declaration = declarations_7[_i]; var sourceParameters = ts.getEffectiveTypeParameterDeclarations(declaration); var numTypeParameters = sourceParameters.length; if (numTypeParameters < minTypeArgumentCount || numTypeParameters > maxTypeArgumentCount) { @@ -40046,6 +40327,9 @@ var ts; checkTypeNameIsReserved(node.name, ts.Diagnostics.Class_name_cannot_be_0); checkCollisionWithRequireExportsInGeneratedCode(node, node.name); checkCollisionWithGlobalPromiseInGeneratedCode(node, node.name); + if (!(node.flags & 4194304)) { + checkClassNameCollisionWithObject(node.name); + } } checkTypeParameters(ts.getEffectiveTypeParameterDeclarations(node)); checkExportsOnMergedDeclarations(node); @@ -40084,10 +40368,10 @@ var ts; issueMemberSpecificError(node, typeWithThis, baseWithThis, ts.Diagnostics.Class_0_incorrectly_extends_base_class_1); } checkTypeAssignableTo(staticType, getTypeWithoutSignatures(staticBaseType), node.name || node, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); - if (baseConstructorType.flags & 1081344 && !isMixinConstructorType(staticType)) { + if (baseConstructorType.flags & 2162688 && !isMixinConstructorType(staticType)) { error(node.name || node, ts.Diagnostics.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any); } - if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32) && !(baseConstructorType.flags & 1081344)) { + if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32) && !(baseConstructorType.flags & 2162688)) { var constructors = getInstantiatedConstructorsForTypeArguments(staticBaseType, baseTypeNode.typeArguments, baseTypeNode); if (ts.forEach(constructors, function (sig) { return getReturnTypeOfSignature(sig) !== baseType_1; })) { error(baseTypeNode.expression, ts.Diagnostics.Base_constructors_must_all_have_the_same_return_type); @@ -40106,7 +40390,7 @@ var ts; checkTypeReferenceNode(typeRefNode); if (produceDiagnostics) { var t = getTypeFromTypeNode(typeRefNode); - if (t !== unknownType) { + if (t !== errorType) { if (isValidBaseType(t)) { var genericDiag = t.symbol && t.symbol.flags & 32 ? ts.Diagnostics.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass : @@ -40172,7 +40456,7 @@ var ts; } function getClassOrInterfaceDeclarationsOfSymbol(symbol) { return ts.filter(symbol.declarations, function (d) { - return d.kind === 234 || d.kind === 235; + return d.kind === 235 || d.kind === 236; }); } function checkKindsOfPropertyMemberOverrides(type, baseType) { @@ -40190,7 +40474,7 @@ var ts; if (derived === base) { var derivedClassDecl = ts.getClassLikeDeclarationOfSymbol(type.symbol); if (baseDeclarationFlags & 128 && (!derivedClassDecl || !ts.hasModifier(derivedClassDecl, 128))) { - if (derivedClassDecl.kind === 204) { + if (derivedClassDecl.kind === 205) { error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, symbolToString(baseProperty), typeToString(baseType)); } else { @@ -40203,7 +40487,7 @@ var ts; if (baseDeclarationFlags & 8 || derivedDeclarationFlags & 8) { continue; } - if (isPrototypeProperty(base) && isPrototypeProperty(derived) || base.flags & 98308 && derived.flags & 98308) { + if (isPrototypeProperty(base) || base.flags & 98308 && derived.flags & 98308) { continue; } var errorMessage = void 0; @@ -40269,7 +40553,7 @@ var ts; var propName = member.name; if (ts.isIdentifier(propName)) { var type = getTypeOfSymbol(getSymbolOfNode(member)); - if (!(type.flags & 1 || getFalsyFlags(type) & 4096)) { + if (!(type.flags & 3 || getFalsyFlags(type) & 8192)) { if (!constructor || !isPropertyInitializedInConstructor(propName, type, constructor)) { error(member.name, ts.Diagnostics.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor, ts.declarationNameToString(propName)); } @@ -40279,7 +40563,7 @@ var ts; } } function isInstancePropertyWithoutInitializer(node) { - return node.kind === 151 && + return node.kind === 152 && !ts.hasModifier(node, 32 | 128) && !node.exclamationToken && !node.initializer; @@ -40288,7 +40572,7 @@ var ts; var reference = ts.createPropertyAccess(ts.createThis(), propName); reference.flowNode = constructor.returnFlowNode; var flowType = getFlowTypeOfReference(reference, propType, getOptionalType(propType)); - return !(getFalsyFlags(flowType) & 4096); + return !(getFalsyFlags(flowType) & 8192); } function checkInterfaceDeclaration(node) { if (!checkGrammarDecoratorsAndModifiers(node)) @@ -40299,7 +40583,7 @@ var ts; checkExportsOnMergedDeclarations(node); var symbol = getSymbolOfNode(node); checkTypeParameterListsIdentical(symbol); - var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 235); + var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 236); if (node === firstInterfaceDecl) { var type = getDeclaredTypeOfSymbol(symbol); var typeWithThis = getTypeWithThisArgument(type); @@ -40395,7 +40679,7 @@ var ts; return value; function evaluate(expr) { switch (expr.kind) { - case 197: + case 198: var value_2 = evaluate(expr.operand); if (typeof value_2 === "number") { switch (expr.operator) { @@ -40405,7 +40689,7 @@ var ts; } } break; - case 199: + case 200: var left = evaluate(expr.left); var right = evaluate(expr.right); if (typeof left === "number" && typeof right === "number") { @@ -40433,18 +40717,22 @@ var ts; case 8: checkGrammarNumericLiteral(expr); return +expr.text; - case 190: + case 191: return evaluate(expr.expression); case 71: - return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), expr.escapedText); + var identifier = expr; + if (isInfinityOrNaNString(identifier.escapedText)) { + return +(identifier.escapedText); + } + return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); + case 186: case 185: - case 184: var ex = expr; if (isConstantMemberAccess(ex)) { var type = getTypeOfExpression(ex.expression); if (type.symbol && type.symbol.flags & 384) { var name = void 0; - if (ex.kind === 184) { + if (ex.kind === 185) { name = ex.name.escapedText; } else { @@ -40476,8 +40764,8 @@ var ts; } function isConstantMemberAccess(node) { return node.kind === 71 || - node.kind === 184 && isConstantMemberAccess(node.expression) || - node.kind === 185 && isConstantMemberAccess(node.expression) && + node.kind === 185 && isConstantMemberAccess(node.expression) || + node.kind === 186 && isConstantMemberAccess(node.expression) && node.argumentExpression.kind === 9; } function checkEnumDeclaration(node) { @@ -40506,7 +40794,7 @@ var ts; } var seenEnumMissingInitialInitializer_1 = false; ts.forEach(enumSymbol.declarations, function (declaration) { - if (declaration.kind !== 237) { + if (declaration.kind !== 238) { return false; } var enumDeclaration = declaration; @@ -40527,10 +40815,10 @@ var ts; } function getFirstNonAmbientClassOrFunctionDeclaration(symbol) { var declarations = symbol.declarations; - for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { - var declaration = declarations_7[_i]; - if ((declaration.kind === 234 || - (declaration.kind === 233 && ts.nodeIsPresent(declaration.body))) && + for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { + var declaration = declarations_8[_i]; + if ((declaration.kind === 235 || + (declaration.kind === 234 && ts.nodeIsPresent(declaration.body))) && !(declaration.flags & 4194304)) { return declaration; } @@ -40578,7 +40866,7 @@ var ts; if (symbol.flags & 512 && symbol.declarations.length > 1 && !inAmbientContext - && isInstantiatedModule(node, compilerOptions.preserveConstEnums || compilerOptions.isolatedModules)) { + && isInstantiatedModule(node, !!compilerOptions.preserveConstEnums || !!compilerOptions.isolatedModules)) { var firstNonAmbientClassOrFunc = getFirstNonAmbientClassOrFunctionDeclaration(symbol); if (firstNonAmbientClassOrFunc) { if (ts.getSourceFileOfNode(node) !== ts.getSourceFileOfNode(firstNonAmbientClassOrFunc)) { @@ -40588,7 +40876,7 @@ var ts; error(node.name, ts.Diagnostics.A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged); } } - var mergedClass = ts.getDeclarationOfKind(symbol, 234); + var mergedClass = ts.getDeclarationOfKind(symbol, 235); if (mergedClass && inSameLexicalScope(node, mergedClass)) { getNodeLinks(node).flags |= 32768; @@ -40631,22 +40919,22 @@ var ts; } function checkModuleAugmentationElement(node, isGlobalAugmentation) { switch (node.kind) { - case 213: + case 214: for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) { var decl = _a[_i]; checkModuleAugmentationElement(decl, isGlobalAugmentation); } break; - case 248: case 249: + case 250: grammarErrorOnFirstToken(node, ts.Diagnostics.Exports_and_export_assignments_are_not_permitted_in_module_augmentations); break; - case 242: case 243: + case 244: grammarErrorOnFirstToken(node, ts.Diagnostics.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module); break; - case 181: - case 231: + case 182: + case 232: var name = node.name; if (ts.isBindingPattern(name)) { for (var _b = 0, _c = name.elements; _b < _c.length; _b++) { @@ -40655,12 +40943,12 @@ var ts; } break; } - case 234: - case 237: - case 233: case 235: case 238: + case 234: case 236: + case 239: + case 237: if (isGlobalAugmentation) { return; } @@ -40678,12 +40966,12 @@ var ts; switch (node.kind) { case 71: return node; - case 145: + case 146: do { node = node.left; } while (node.kind !== 71); return node; - case 184: + case 185: do { node = node.expression; } while (node.kind !== 71); @@ -40692,16 +40980,16 @@ var ts; } function checkExternalImportOrExportDeclaration(node) { var moduleName = ts.getExternalModuleName(node); - if (ts.nodeIsMissing(moduleName)) { + if (!moduleName || ts.nodeIsMissing(moduleName)) { return false; } if (!ts.isStringLiteral(moduleName)) { error(moduleName, ts.Diagnostics.String_literal_expected); return false; } - var inAmbientExternalModule = node.parent.kind === 239 && ts.isAmbientModule(node.parent.parent); - if (node.parent.kind !== 273 && !inAmbientExternalModule) { - error(moduleName, node.kind === 249 ? + var inAmbientExternalModule = node.parent.kind === 240 && ts.isAmbientModule(node.parent.parent); + if (node.parent.kind !== 274 && !inAmbientExternalModule) { + error(moduleName, node.kind === 250 ? ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace : ts.Diagnostics.Import_declarations_in_a_namespace_cannot_reference_a_module); return false; @@ -40722,13 +41010,13 @@ var ts; (symbol.flags & 67901928 ? 67901928 : 0) | (symbol.flags & 1920 ? 1920 : 0); if (target.flags & excludedMeanings) { - var message = node.kind === 251 ? + var message = node.kind === 252 ? ts.Diagnostics.Export_declaration_conflicts_with_exported_declaration_of_0 : ts.Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0; error(node, message, symbolToString(symbol)); } if (compilerOptions.isolatedModules - && node.kind === 251 + && node.kind === 252 && !(target.flags & 67216319) && !(node.flags & 4194304)) { error(node, ts.Diagnostics.Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided); @@ -40754,7 +41042,7 @@ var ts; checkImportBinding(importClause); } if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 245) { + if (importClause.namedBindings.kind === 246) { checkImportBinding(importClause.namedBindings); } else { @@ -40777,7 +41065,7 @@ var ts; if (ts.hasModifier(node, 1)) { markExportAsReferenced(node); } - if (node.moduleReference.kind !== 253) { + if (node.moduleReference.kind !== 254) { var target = resolveAlias(getSymbolOfNode(node)); if (target !== unknownSymbol) { if (target.flags & 67216319) { @@ -40808,10 +41096,10 @@ var ts; if (!node.moduleSpecifier || checkExternalImportOrExportDeclaration(node)) { if (node.exportClause) { ts.forEach(node.exportClause.elements, checkExportSpecifier); - var inAmbientExternalModule = node.parent.kind === 239 && ts.isAmbientModule(node.parent.parent); - var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 239 && + var inAmbientExternalModule = node.parent.kind === 240 && ts.isAmbientModule(node.parent.parent); + var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 240 && !node.moduleSpecifier && node.flags & 4194304; - if (node.parent.kind !== 273 && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { + if (node.parent.kind !== 274 && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { error(node, ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace); } } @@ -40827,7 +41115,7 @@ var ts; } } function checkGrammarModuleElementContext(node, errorMessage) { - var isInAppropriateContext = node.parent.kind === 273 || node.parent.kind === 239 || node.parent.kind === 238; + var isInAppropriateContext = node.parent.kind === 274 || node.parent.kind === 240 || node.parent.kind === 239; if (!isInAppropriateContext) { grammarErrorOnFirstToken(node, errorMessage); } @@ -40853,8 +41141,8 @@ var ts; if (checkGrammarModuleElementContext(node, ts.Diagnostics.An_export_assignment_can_only_be_used_in_a_module)) { return; } - var container = node.parent.kind === 273 ? node.parent : node.parent.parent; - if (container.kind === 238 && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 274 ? node.parent : node.parent.parent; + if (container.kind === 239 && !ts.isAmbientModule(container)) { if (node.isExportEquals) { error(node, ts.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace); } @@ -40917,8 +41205,8 @@ var ts; return; } if (exportedDeclarationsCount > 1) { - for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { - var declaration = declarations_8[_i]; + for (var _i = 0, declarations_9 = declarations; _i < declarations_9.length; _i++) { + var declaration = declarations_9[_i]; if (isNotOverload(declaration)) { diagnostics.add(ts.createDiagnosticForNode(declaration, ts.Diagnostics.Cannot_redeclare_exported_variable_0, ts.unescapeLeadingUnderscores(id))); } @@ -40933,165 +41221,165 @@ var ts; return !ts.isAccessor(declaration); } function isNotOverload(declaration) { - return (declaration.kind !== 233 && declaration.kind !== 153) || + return (declaration.kind !== 234 && declaration.kind !== 154) || !!declaration.body; } function checkSourceElement(node) { if (!node) { return; } - if (ts.isInJavaScriptFile(node) && node.jsDoc) { - for (var _i = 0, _a = node.jsDoc; _i < _a.length; _i++) { - var tags = _a[_i].tags; - ts.forEach(tags, checkSourceElement); - } + if (ts.isInJavaScriptFile(node)) { + ts.forEach(node.jsDoc, function (_a) { + var tags = _a.tags; + return ts.forEach(tags, checkSourceElement); + }); } var kind = node.kind; if (cancellationToken) { switch (kind) { - case 238: - case 234: + case 239: case 235: - case 233: + case 236: + case 234: cancellationToken.throwIfCancellationRequested(); } } switch (kind) { - case 147: - return checkTypeParameter(node); case 148: + return checkTypeParameter(node); + case 149: return checkParameter(node); + case 152: case 151: - case 150: return checkPropertyDeclaration(node); - case 162: case 163: - case 157: + case 164: case 158: case 159: - return checkSignatureDeclaration(node); - case 153: - case 152: - return checkMethodDeclaration(node); - case 154: - return checkConstructorDeclaration(node); - case 155: - case 156: - return checkAccessorDeclaration(node); - case 161: - return checkTypeReferenceNode(node); case 160: + return checkSignatureDeclaration(node); + case 154: + case 153: + return checkMethodDeclaration(node); + case 155: + return checkConstructorDeclaration(node); + case 156: + case 157: + return checkAccessorDeclaration(node); + case 162: + return checkTypeReferenceNode(node); + case 161: return checkTypePredicate(node); - case 164: - return checkTypeQuery(node); case 165: - return checkTypeLiteral(node); + return checkTypeQuery(node); case 166: - return checkArrayType(node); + return checkTypeLiteral(node); case 167: - return checkTupleType(node); + return checkArrayType(node); case 168: + return checkTupleType(node); case 169: - return checkUnionOrIntersectionType(node); - case 172: - return checkSourceElement(node.type); - case 174: - return checkTypeOperator(node); case 170: - return checkConditionalType(node); + return checkUnionOrIntersectionType(node); + case 173: + return checkSourceElement(node.type); + case 175: + return checkTypeOperator(node); case 171: + return checkConditionalType(node); + case 172: return checkInferType(node); - case 178: + case 179: return checkImportType(node); - case 289: + case 290: return checkJSDocAugmentsTag(node); - case 296: - case 291: - return checkJSDocTypeAliasTag(node); + case 297: case 292: + return checkJSDocTypeAliasTag(node); + case 293: return checkJSDocParameterTag(node); - case 283: + case 284: checkSignatureDeclaration(node); + case 282: case 281: - case 280: - case 278: case 279: - case 286: + case 280: + case 287: checkJSDocTypeIsInJsFile(node); ts.forEachChild(node, checkSourceElement); return; - case 284: + case 285: checkJSDocVariadicType(node); return; - case 277: + case 278: return checkSourceElement(node.type); - case 175: - return checkIndexedAccessType(node); case 176: + return checkIndexedAccessType(node); + case 177: return checkMappedType(node); - case 233: - return checkFunctionDeclaration(node); - case 212: - case 239: - return checkBlock(node); - case 213: - return checkVariableStatement(node); - case 215: - return checkExpressionStatement(node); - case 216: - return checkIfStatement(node); - case 217: - return checkDoStatement(node); - case 218: - return checkWhileStatement(node); - case 219: - return checkForStatement(node); - case 220: - return checkForInStatement(node); - case 221: - return checkForOfStatement(node); - case 222: - case 223: - return checkBreakOrContinueStatement(node); - case 224: - return checkReturnStatement(node); - case 225: - return checkWithStatement(node); - case 226: - return checkSwitchStatement(node); - case 227: - return checkLabeledStatement(node); - case 228: - return checkThrowStatement(node); - case 229: - return checkTryStatement(node); - case 231: - return checkVariableDeclaration(node); - case 181: - return checkBindingElement(node); case 234: - return checkClassDeclaration(node); - case 235: - return checkInterfaceDeclaration(node); - case 236: - return checkTypeAliasDeclaration(node); - case 237: - return checkEnumDeclaration(node); - case 238: - return checkModuleDeclaration(node); - case 243: - return checkImportDeclaration(node); - case 242: - return checkImportEqualsDeclaration(node); - case 249: - return checkExportDeclaration(node); - case 248: - return checkExportAssignment(node); + return checkFunctionDeclaration(node); + case 213: + case 240: + return checkBlock(node); case 214: + return checkVariableStatement(node); + case 216: + return checkExpressionStatement(node); + case 217: + return checkIfStatement(node); + case 218: + return checkDoStatement(node); + case 219: + return checkWhileStatement(node); + case 220: + return checkForStatement(node); + case 221: + return checkForInStatement(node); + case 222: + return checkForOfStatement(node); + case 223: + case 224: + return checkBreakOrContinueStatement(node); + case 225: + return checkReturnStatement(node); + case 226: + return checkWithStatement(node); + case 227: + return checkSwitchStatement(node); + case 228: + return checkLabeledStatement(node); + case 229: + return checkThrowStatement(node); case 230: + return checkTryStatement(node); + case 232: + return checkVariableDeclaration(node); + case 182: + return checkBindingElement(node); + case 235: + return checkClassDeclaration(node); + case 236: + return checkInterfaceDeclaration(node); + case 237: + return checkTypeAliasDeclaration(node); + case 238: + return checkEnumDeclaration(node); + case 239: + return checkModuleDeclaration(node); + case 244: + return checkImportDeclaration(node); + case 243: + return checkImportEqualsDeclaration(node); + case 250: + return checkExportDeclaration(node); + case 249: + return checkExportAssignment(node); + case 215: + case 231: checkGrammarStatementInAmbientContext(node); return; - case 252: + case 253: return checkMissingDeclaration(node); } } @@ -41113,7 +41401,7 @@ var ts; if (!ts.isJSDocTypeExpression(parent)) { error(node, ts.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature); } - var paramTag = parent.parent; + var paramTag = node.parent.parent; if (!ts.isJSDocParameterTag(paramTag)) { error(node, ts.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature); return; @@ -41130,8 +41418,8 @@ var ts; function getTypeFromJSDocVariadicType(node) { var type = getTypeFromTypeNode(node.type); var parent = node.parent; - var paramTag = parent.parent; - if (ts.isJSDocTypeExpression(parent) && ts.isJSDocParameterTag(paramTag)) { + var paramTag = node.parent.parent; + if (ts.isJSDocTypeExpression(node.parent) && ts.isJSDocParameterTag(paramTag)) { var host_1 = ts.getHostSignatureFromJSDoc(paramTag); if (host_1) { var lastParamDeclaration = ts.lastOrUndefined(host_1.parameters); @@ -41153,20 +41441,20 @@ var ts; } } function checkDeferredNodes() { - for (var _i = 0, deferredNodes_1 = deferredNodes; _i < deferredNodes_1.length; _i++) { - var node = deferredNodes_1[_i]; + for (var _i = 0, _a = deferredNodes; _i < _a.length; _i++) { + var node = _a[_i]; switch (node.kind) { - case 191: case 192: + case 193: + case 154: case 153: - case 152: checkFunctionExpressionOrObjectLiteralMethodDeferred(node); break; - case 155: case 156: + case 157: checkAccessorDeclaration(node); break; - case 204: + case 205: checkClassExpressionDeferred(node); break; } @@ -41181,9 +41469,9 @@ var ts; function unusedIsError(kind) { switch (kind) { case 0: - return compilerOptions.noUnusedLocals; + return !!compilerOptions.noUnusedLocals; case 1: - return compilerOptions.noUnusedParameters; + return !!compilerOptions.noUnusedParameters; default: return ts.Debug.assertNever(kind); } @@ -41280,24 +41568,24 @@ var ts; copySymbols(location.locals, meaning); } switch (location.kind) { - case 238: + case 239: copySymbols(getSymbolOfNode(location).exports, meaning & 2623475); break; - case 237: + case 238: copySymbols(getSymbolOfNode(location).exports, meaning & 8); break; - case 204: + case 205: var className = location.name; if (className) { copySymbol(location.symbol, meaning); } - case 234: case 235: + case 236: if (!isStatic) { copySymbols(getMembersOfSymbol(getSymbolOfNode(location)), meaning & 67901928); } break; - case 191: + case 192: var funcName = location.name; if (funcName) { copySymbol(location.symbol, meaning); @@ -41335,27 +41623,27 @@ var ts; } function isTypeDeclaration(node) { switch (node.kind) { - case 147: - case 234: + case 148: case 235: case 236: case 237: + case 238: return true; + default: + return false; } } - function isTypeReferenceIdentifier(entityName) { - var node = entityName; - while (node.parent && node.parent.kind === 145) { + function isTypeReferenceIdentifier(node) { + while (node.parent.kind === 146) { node = node.parent; } - return node.parent && node.parent.kind === 161; + return node.parent.kind === 162; } - function isHeritageClauseElementIdentifier(entityName) { - var node = entityName; - while (node.parent && node.parent.kind === 184) { + function isHeritageClauseElementIdentifier(node) { + while (node.parent.kind === 185) { node = node.parent; } - return node.parent && node.parent.kind === 206; + return node.parent.kind === 207; } function forEachEnclosingClass(node, callback) { var result; @@ -41383,14 +41671,14 @@ var ts; return !!forEachEnclosingClass(node, function (n) { return n === classDeclaration; }); } function getLeftSideOfImportEqualsOrExportAssignment(nodeOnRightSide) { - while (nodeOnRightSide.parent.kind === 145) { + while (nodeOnRightSide.parent.kind === 146) { nodeOnRightSide = nodeOnRightSide.parent; } - if (nodeOnRightSide.parent.kind === 242) { - return nodeOnRightSide.parent.moduleReference === nodeOnRightSide && nodeOnRightSide.parent; + if (nodeOnRightSide.parent.kind === 243) { + return nodeOnRightSide.parent.moduleReference === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } - if (nodeOnRightSide.parent.kind === 248) { - return nodeOnRightSide.parent.expression === nodeOnRightSide && nodeOnRightSide.parent; + if (nodeOnRightSide.parent.kind === 249) { + return nodeOnRightSide.parent.expression === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } return undefined; } @@ -41415,7 +41703,7 @@ var ts; node = parent; parent = parent.parent; } - if (parent && parent.kind === 178 && parent.qualifier === node) { + if (parent && parent.kind === 179 && parent.qualifier === node) { return parent; } return undefined; @@ -41425,21 +41713,21 @@ var ts; return getSymbolOfNode(entityName.parent); } if (ts.isInJavaScriptFile(entityName) && - entityName.parent.kind === 184 && + entityName.parent.kind === 185 && entityName.parent === entityName.parent.parent.left) { var specialPropertyAssignmentSymbol = getSpecialPropertyAssignmentSymbolFromEntityName(entityName); if (specialPropertyAssignmentSymbol) { return specialPropertyAssignmentSymbol; } } - if (entityName.parent.kind === 248 && ts.isEntityNameExpression(entityName)) { + if (entityName.parent.kind === 249 && ts.isEntityNameExpression(entityName)) { var success = resolveEntityName(entityName, 67216319 | 67901928 | 1920 | 2097152, true); if (success && success !== unknownSymbol) { return success; } } else if (!ts.isPropertyAccessExpression(entityName) && isInRightSideOfImportOrExportAssignment(entityName)) { - var importEqualsDeclaration = ts.getAncestor(entityName, 242); + var importEqualsDeclaration = ts.getAncestor(entityName, 243); ts.Debug.assert(importEqualsDeclaration !== undefined); return getSymbolOfPartOfRightHandSideOfImportEquals(entityName, true); } @@ -41456,7 +41744,7 @@ var ts; } if (isHeritageClauseElementIdentifier(entityName)) { var meaning = 0; - if (entityName.parent.kind === 206) { + if (entityName.parent.kind === 207) { meaning = 67901928; if (ts.isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent)) { meaning |= 67216319; @@ -41471,10 +41759,10 @@ var ts; return entityNameSymbol; } } - if (entityName.parent.kind === 292) { + if (entityName.parent.kind === 293) { return ts.getParameterSymbolFromJSDoc(entityName.parent); } - if (entityName.parent.kind === 147 && entityName.parent.parent.kind === 295) { + if (entityName.parent.kind === 148 && entityName.parent.parent.kind === 296) { ts.Debug.assert(!ts.isInJavaScriptFile(entityName)); var typeParameter = ts.getTypeParameterFromJsDoc(entityName.parent); return typeParameter && typeParameter.symbol; @@ -41490,12 +41778,12 @@ var ts; } return resolveEntityName(entityName, 67216319, false, true); } - else if (entityName.kind === 184 || entityName.kind === 145) { + else if (entityName.kind === 185 || entityName.kind === 146) { var links = getNodeLinks(entityName); if (links.resolvedSymbol) { return links.resolvedSymbol; } - if (entityName.kind === 184) { + if (entityName.kind === 185) { checkPropertyAccessExpression(entityName); } else { @@ -41505,38 +41793,40 @@ var ts; } } else if (isTypeReferenceIdentifier(entityName)) { - var meaning = entityName.parent.kind === 161 ? 67901928 : 1920; + var meaning = entityName.parent.kind === 162 ? 67901928 : 1920; return resolveEntityName(entityName, meaning, false, true); } - else if (entityName.parent.kind === 261) { + else if (entityName.parent.kind === 262) { return getJsxAttributePropertySymbol(entityName.parent); } - if (entityName.parent.kind === 160) { + if (entityName.parent.kind === 161) { return resolveEntityName(entityName, 1); } return undefined; } function getSymbolAtLocation(node) { - if (node.kind === 273) { + if (node.kind === 274) { return ts.isExternalModule(node) ? getMergedSymbol(node.symbol) : undefined; } + var parent = node.parent; + var grandParent = parent.parent; if (node.flags & 8388608) { return undefined; } if (isDeclarationNameOrImportPropertyName(node)) { - return getSymbolOfNode(node.parent); + return getSymbolOfNode(parent); } else if (ts.isLiteralComputedPropertyDeclarationName(node)) { - return getSymbolOfNode(node.parent.parent); + return getSymbolOfNode(parent.parent); } if (node.kind === 71) { if (isInRightSideOfImportOrExportAssignment(node)) { return getSymbolOfEntityNameOrPropertyAccessExpression(node); } - else if (node.parent.kind === 181 && - node.parent.parent.kind === 179 && - node === node.parent.propertyName) { - var typeOfPattern = getTypeOfNode(node.parent.parent); + else if (parent.kind === 182 && + grandParent.kind === 180 && + node === parent.propertyName) { + var typeOfPattern = getTypeOfNode(grandParent); var propertyDeclaration = typeOfPattern && getPropertyOfType(typeOfPattern, node.escapedText); if (propertyDeclaration) { return propertyDeclaration; @@ -41545,8 +41835,8 @@ var ts; } switch (node.kind) { case 71: - case 184: - case 145: + case 185: + case 146: return getSymbolOfEntityNameOrPropertyAccessExpression(node); case 99: var container = ts.getThisContainer(node, false); @@ -41559,43 +41849,43 @@ var ts; if (ts.isInExpressionContext(node)) { return checkExpression(node).symbol; } - case 173: + case 174: return getTypeFromThisTypeNode(node).symbol; case 97: return checkExpression(node).symbol; case 123: var constructorDeclaration = node.parent; - if (constructorDeclaration && constructorDeclaration.kind === 154) { + if (constructorDeclaration && constructorDeclaration.kind === 155) { return constructorDeclaration.parent.symbol; } return undefined; case 9: case 13: if ((ts.isExternalModuleImportEqualsDeclaration(node.parent.parent) && ts.getExternalModuleImportEqualsDeclarationExpression(node.parent.parent) === node) || - ((node.parent.kind === 243 || node.parent.kind === 249) && node.parent.moduleSpecifier === node) || + ((node.parent.kind === 244 || node.parent.kind === 250) && node.parent.moduleSpecifier === node) || ((ts.isInJavaScriptFile(node) && ts.isRequireCall(node.parent, false)) || ts.isImportCall(node.parent)) || (ts.isLiteralTypeNode(node.parent) && ts.isLiteralImportTypeNode(node.parent.parent) && node.parent.parent.argument === node.parent)) { return resolveExternalModuleName(node, node); } case 8: - var objectType = ts.isElementAccessExpression(node.parent) - ? node.parent.argumentExpression === node ? getTypeOfExpression(node.parent.expression) : undefined - : ts.isLiteralTypeNode(node.parent) && ts.isIndexedAccessTypeNode(node.parent.parent) - ? getTypeFromTypeNode(node.parent.parent.objectType) + var objectType = ts.isElementAccessExpression(parent) + ? parent.argumentExpression === node ? getTypeOfExpression(parent.expression) : undefined + : ts.isLiteralTypeNode(parent) && ts.isIndexedAccessTypeNode(grandParent) + ? getTypeFromTypeNode(grandParent.objectType) : undefined; return objectType && getPropertyOfType(objectType, ts.escapeLeadingUnderscores(node.text)); case 79: case 89: case 36: return getSymbolOfNode(node.parent); - case 178: + case 179: return ts.isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal) : undefined; default: return undefined; } } function getShorthandAssignmentValueSymbol(location) { - if (location && location.kind === 270) { + if (location && location.kind === 271) { return resolveEntityName(location.name, 67216319 | 2097152); } return undefined; @@ -41607,7 +41897,7 @@ var ts; } function getTypeOfNode(node) { if (node.flags & 8388608) { - return unknownType; + return errorType; } if (ts.isPartOfTypeNode(node)) { var typeFromTypeNode = getTypeFromTypeNode(node); @@ -41650,29 +41940,29 @@ var ts; var symbol = getSymbolAtLocation(node); if (symbol) { var declaredType = getDeclaredTypeOfSymbol(symbol); - return declaredType !== unknownType ? declaredType : getTypeOfSymbol(symbol); + return declaredType !== errorType ? declaredType : getTypeOfSymbol(symbol); } } - return unknownType; + return errorType; } function getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr) { - ts.Debug.assert(expr.kind === 183 || expr.kind === 182); - if (expr.parent.kind === 221) { + ts.Debug.assert(expr.kind === 184 || expr.kind === 183); + if (expr.parent.kind === 222) { var iteratedType = checkRightHandSideOfForOf(expr.parent.expression, expr.parent.awaitModifier); - return checkDestructuringAssignment(expr, iteratedType || unknownType); + return checkDestructuringAssignment(expr, iteratedType || errorType); } - if (expr.parent.kind === 199) { + if (expr.parent.kind === 200) { var iteratedType = getTypeOfExpression(expr.parent.right); - return checkDestructuringAssignment(expr, iteratedType || unknownType); + return checkDestructuringAssignment(expr, iteratedType || errorType); } - if (expr.parent.kind === 269) { + if (expr.parent.kind === 270) { var typeOfParentObjectLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr.parent.parent); - return checkObjectLiteralDestructuringPropertyAssignment(typeOfParentObjectLiteral || unknownType, expr.parent); + return checkObjectLiteralDestructuringPropertyAssignment(typeOfParentObjectLiteral || errorType, expr.parent); } - ts.Debug.assert(expr.parent.kind === 182); + ts.Debug.assert(expr.parent.kind === 183); var typeOfArrayLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr.parent); - var elementType = checkIteratedTypeOrElementType(typeOfArrayLiteral || unknownType, expr.parent, false, false) || unknownType; - return checkArrayLiteralDestructuringElementAssignment(expr.parent, typeOfArrayLiteral, expr.parent.elements.indexOf(expr), elementType || unknownType); + var elementType = checkIteratedTypeOrElementType(typeOfArrayLiteral || errorType, expr.parent, false, false) || errorType; + return checkArrayLiteralDestructuringElementAssignment(expr.parent, typeOfArrayLiteral, expr.parent.elements.indexOf(expr), elementType || errorType); } function getPropertySymbolOfDestructuringAssignment(location) { var typeOfObjectLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(location.parent.parent); @@ -41729,11 +42019,11 @@ var ts; } return target; } - function isArgumentsLocalBinding(node) { - if (!ts.isGeneratedIdentifier(node)) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function isArgumentsLocalBinding(nodeIn) { + if (!ts.isGeneratedIdentifier(nodeIn)) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { - var isPropertyName_1 = node.parent.kind === 184 && node.parent.name === node; + var isPropertyName_1 = node.parent.kind === 185 && node.parent.name === node; return !isPropertyName_1 && getReferencedValueSymbol(node) === argumentsSymbol; } } @@ -41759,11 +42049,10 @@ var ts; } } function isNameOfModuleOrEnumDeclaration(node) { - var parent = node.parent; - return parent && ts.isModuleOrEnumDeclaration(parent) && node === parent.name; + return ts.isModuleOrEnumDeclaration(node.parent) && node === node.parent.name; } - function getReferencedExportContainer(node, prefixLocals) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedExportContainer(nodeIn, prefixLocals) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { var symbol = getReferencedValueSymbol(node, isNameOfModuleOrEnumDeclaration(node)); if (symbol) { @@ -41776,7 +42065,7 @@ var ts; } var parentSymbol_1 = getParentOfSymbol(symbol); if (parentSymbol_1) { - if (parentSymbol_1.flags & 512 && parentSymbol_1.valueDeclaration.kind === 273) { + if (parentSymbol_1.flags & 512 && parentSymbol_1.valueDeclaration.kind === 274) { var symbolFile = parentSymbol_1.valueDeclaration; var referenceFile = ts.getSourceFileOfNode(node); var symbolIsUmdExport = symbolFile !== referenceFile; @@ -41787,8 +42076,8 @@ var ts; } } } - function getReferencedImportDeclaration(node) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedImportDeclaration(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { var symbol = getReferencedValueSymbol(node); if (isNonLocalAlias(symbol, 67216319)) { @@ -41810,7 +42099,7 @@ var ts; else if (nodeLinks_1.flags & 131072) { var isDeclaredInLoop = nodeLinks_1.flags & 262144; var inLoopInitializer = ts.isIterationStatement(container, false); - var inLoopBodyBlock = container.kind === 212 && ts.isIterationStatement(container.parent, false); + var inLoopBodyBlock = container.kind === 213 && ts.isIterationStatement(container.parent, false); links.isDeclarationWithCollidingName = !ts.isBlockScopedContainerTopLevel(container) && (!isDeclaredInLoop || (!inLoopInitializer && !inLoopBodyBlock)); } else { @@ -41822,9 +42111,9 @@ var ts; } return false; } - function getReferencedDeclarationWithCollidingName(node) { - if (!ts.isGeneratedIdentifier(node)) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedDeclarationWithCollidingName(nodeIn) { + if (!ts.isGeneratedIdentifier(nodeIn)) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { var symbol = getReferencedValueSymbol(node); if (symbol && isSymbolOfDeclarationWithCollidingName(symbol)) { @@ -41834,8 +42123,8 @@ var ts; } return undefined; } - function isDeclarationWithCollidingName(node) { - node = ts.getParseTreeNode(node, ts.isDeclaration); + function isDeclarationWithCollidingName(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isDeclaration); if (node) { var symbol = getSymbolOfNode(node); if (symbol) { @@ -41846,16 +42135,16 @@ var ts; } function isValueAliasDeclaration(node) { switch (node.kind) { - case 242: - case 244: + case 243: case 245: - case 247: - case 251: - return isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol); - case 249: - var exportClause = node.exportClause; - return exportClause && ts.forEach(exportClause.elements, isValueAliasDeclaration); + case 246: case 248: + case 252: + return isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol); + case 250: + var exportClause = node.exportClause; + return !!exportClause && ts.some(exportClause.elements, isValueAliasDeclaration); + case 249: return node.expression && node.expression.kind === 71 ? isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol) @@ -41863,9 +42152,9 @@ var ts; } return false; } - function isTopLevelValueImportEqualsWithEntityName(node) { - node = ts.getParseTreeNode(node, ts.isImportEqualsDeclaration); - if (node === undefined || node.parent.kind !== 273 || !ts.isInternalModuleImportEqualsDeclaration(node)) { + function isTopLevelValueImportEqualsWithEntityName(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isImportEqualsDeclaration); + if (node === undefined || node.parent.kind !== 274 || !ts.isInternalModuleImportEqualsDeclaration(node)) { return false; } var isValue = isAliasResolvedToValue(getSymbolOfNode(node)); @@ -41876,11 +42165,11 @@ var ts; if (target === unknownSymbol) { return true; } - return target.flags & 67216319 && + return !!(target.flags & 67216319) && (compilerOptions.preserveConstEnums || !isConstEnumOrConstEnumOnlyModule(target)); } function isConstEnumOrConstEnumOnlyModule(s) { - return isConstEnumSymbol(s) || s.constEnumOnlyModule; + return isConstEnumSymbol(s) || !!s.constEnumOnlyModule; } function isReferencedAliasDeclaration(node, checkChildren) { if (ts.isAliasSymbolDeclaration(node)) { @@ -41894,7 +42183,7 @@ var ts; } } if (checkChildren) { - return ts.forEachChild(node, function (node) { return isReferencedAliasDeclaration(node, checkChildren); }); + return !!ts.forEachChild(node, function (node) { return isReferencedAliasDeclaration(node, checkChildren); }); } return false; } @@ -41910,10 +42199,10 @@ var ts; return false; } function isRequiredInitializedParameter(parameter) { - return strictNullChecks && + return !!strictNullChecks && !isOptionalParameter(parameter) && !ts.isJSDocParameterTag(parameter) && - parameter.initializer && + !!parameter.initializer && !ts.hasModifier(parameter, 92); } function isOptionalUninitializedParameterProperty(parameter) { @@ -41923,7 +42212,7 @@ var ts; ts.hasModifier(parameter, 92); } function getNodeCheckFlags(node) { - return getNodeLinks(node).flags; + return getNodeLinks(node).flags || 0; } function getEnumMemberValue(node) { computeEnumMemberValues(node.parent); @@ -41931,15 +42220,15 @@ var ts; } function canHaveConstantValue(node) { switch (node.kind) { - case 272: - case 184: + case 273: case 185: + case 186: return true; } return false; } function getConstantValue(node) { - if (node.kind === 272) { + if (node.kind === 273) { return getEnumMemberValue(node); } var symbol = getNodeLinks(node).resolvedSymbol; @@ -41951,10 +42240,10 @@ var ts; return undefined; } function isFunctionType(type) { - return type.flags & 65536 && getSignaturesOfType(type, 0).length > 0; + return !!(type.flags & 131072) && getSignaturesOfType(type, 0).length > 0; } - function getTypeReferenceSerializationKind(typeName, location) { - typeName = ts.getParseTreeNode(typeName, ts.isEntityName); + function getTypeReferenceSerializationKind(typeNameIn, location) { + var typeName = ts.getParseTreeNode(typeNameIn, ts.isEntityName); if (!typeName) return ts.TypeReferenceSerializationKind.Unknown; if (location) { @@ -41975,31 +42264,31 @@ var ts; } } if (!typeSymbol) { - return ts.TypeReferenceSerializationKind.ObjectType; - } - var type = getDeclaredTypeOfSymbol(typeSymbol); - if (type === unknownType) { return ts.TypeReferenceSerializationKind.Unknown; } - else if (type.flags & 1) { + var type = getDeclaredTypeOfSymbol(typeSymbol); + if (type === errorType) { + return ts.TypeReferenceSerializationKind.Unknown; + } + else if (type.flags & 3) { return ts.TypeReferenceSerializationKind.ObjectType; } - else if (isTypeAssignableToKind(type, 2048 | 12288 | 16384)) { + else if (isTypeAssignableToKind(type, 4096 | 24576 | 32768)) { return ts.TypeReferenceSerializationKind.VoidNullableOrNeverType; } - else if (isTypeAssignableToKind(type, 136)) { + else if (isTypeAssignableToKind(type, 272)) { return ts.TypeReferenceSerializationKind.BooleanType; } - else if (isTypeAssignableToKind(type, 84)) { + else if (isTypeAssignableToKind(type, 168)) { return ts.TypeReferenceSerializationKind.NumberLikeType; } - else if (isTypeAssignableToKind(type, 34)) { + else if (isTypeAssignableToKind(type, 68)) { return ts.TypeReferenceSerializationKind.StringLikeType; } else if (isTupleType(type)) { return ts.TypeReferenceSerializationKind.ArrayLikeType; } - else if (isTypeAssignableToKind(type, 1536)) { + else if (isTypeAssignableToKind(type, 3072)) { return ts.TypeReferenceSerializationKind.ESSymbolType; } else if (isFunctionType(type)) { @@ -42012,16 +42301,16 @@ var ts; return ts.TypeReferenceSerializationKind.ObjectType; } } - function createTypeOfDeclaration(declaration, enclosingDeclaration, flags, tracker, addUndefined) { - declaration = ts.getParseTreeNode(declaration, ts.isVariableLikeOrAccessor); + function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker, addUndefined) { + var declaration = ts.getParseTreeNode(declarationIn, ts.isVariableLikeOrAccessor); if (!declaration) { return ts.createToken(119); } var symbol = getSymbolOfNode(declaration); var type = symbol && !(symbol.flags & (2048 | 131072)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) - : unknownType; - if (type.flags & 1024 && + : errorType; + if (type.flags & 2048 && type.symbol === symbol) { flags |= 1048576; } @@ -42030,16 +42319,16 @@ var ts; } return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024, tracker); } - function createReturnTypeOfSignatureDeclaration(signatureDeclaration, enclosingDeclaration, flags, tracker) { - signatureDeclaration = ts.getParseTreeNode(signatureDeclaration, ts.isFunctionLike); + function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { + var signatureDeclaration = ts.getParseTreeNode(signatureDeclarationIn, ts.isFunctionLike); if (!signatureDeclaration) { return ts.createToken(119); } var signature = getSignatureFromDeclaration(signatureDeclaration); return nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosingDeclaration, flags | 1024, tracker); } - function createTypeOfExpression(expr, enclosingDeclaration, flags, tracker) { - expr = ts.getParseTreeNode(expr, ts.isExpression); + function createTypeOfExpression(exprIn, enclosingDeclaration, flags, tracker) { + var expr = ts.getParseTreeNode(exprIn, ts.isExpression); if (!expr) { return ts.createToken(119); } @@ -42063,9 +42352,9 @@ var ts; } return resolveName(location, reference.escapedText, 67216319 | 1048576 | 2097152, undefined, undefined, true); } - function getReferencedValueDeclaration(reference) { - if (!ts.isGeneratedIdentifier(reference)) { - reference = ts.getParseTreeNode(reference, ts.isIdentifier); + function getReferencedValueDeclaration(referenceIn) { + if (!ts.isGeneratedIdentifier(referenceIn)) { + var reference = ts.getParseTreeNode(referenceIn, ts.isIdentifier); if (reference) { var symbol = getReferencedValueSymbol(reference); if (symbol) { @@ -42078,7 +42367,7 @@ var ts; function isLiteralConstDeclaration(node) { if (ts.isConst(node)) { var type = getTypeOfSymbol(getSymbolOfNode(node)); - return !!(type.flags & 96 && type.flags & 8388608); + return !!(type.flags & 192 && type.flags & 33554432); } return false; } @@ -42118,7 +42407,7 @@ var ts; }, getNodeCheckFlags: function (node) { node = ts.getParseTreeNode(node); - return node ? getNodeCheckFlags(node) : undefined; + return node ? getNodeCheckFlags(node) : 0; }, isTopLevelValueImportEqualsWithEntityName: isTopLevelValueImportEqualsWithEntityName, isDeclarationVisible: isDeclarationVisible, @@ -42131,8 +42420,8 @@ var ts; createLiteralConstValue: createLiteralConstValue, isSymbolAccessible: isSymbolAccessible, isEntityNameVisible: isEntityNameVisible, - getConstantValue: function (node) { - node = ts.getParseTreeNode(node, canHaveConstantValue); + getConstantValue: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue(node) : undefined; }, collectLinkedAliases: collectLinkedAliases, @@ -42145,20 +42434,20 @@ var ts; getTypeReferenceDirectivesForEntityName: getTypeReferenceDirectivesForEntityName, getTypeReferenceDirectivesForSymbol: getTypeReferenceDirectivesForSymbol, isLiteralConstDeclaration: isLiteralConstDeclaration, - isLateBound: function (node) { - node = ts.getParseTreeNode(node, ts.isDeclaration); + isLateBound: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isDeclaration); var symbol = node && getSymbolOfNode(node); return !!(symbol && ts.getCheckFlags(symbol) & 1024); }, getJsxFactoryEntity: function (location) { return location ? (getJsxNamespace(location), (ts.getSourceFileOfNode(location).localJsxFactory || _jsxFactoryEntity)) : _jsxFactoryEntity; }, getAllAccessorDeclarations: function (accessor) { accessor = ts.getParseTreeNode(accessor, ts.isGetOrSetAccessorDeclaration); - var otherKind = accessor.kind === 156 ? 155 : 156; + var otherKind = accessor.kind === 157 ? 156 : 157; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(accessor), otherKind); var firstAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? otherAccessor : accessor; var secondAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? accessor : otherAccessor; - var setAccessor = accessor.kind === 156 ? accessor : otherAccessor; - var getAccessor = accessor.kind === 155 ? accessor : otherAccessor; + var setAccessor = accessor.kind === 157 ? accessor : otherAccessor; + var getAccessor = accessor.kind === 156 ? accessor : otherAccessor; return { firstAccessor: firstAccessor, secondAccessor: secondAccessor, @@ -42168,14 +42457,14 @@ var ts; } }; function isInHeritageClause(node) { - return node.parent && node.parent.kind === 206 && node.parent.parent && node.parent.parent.kind === 267; + return node.parent && node.parent.kind === 207 && node.parent.parent && node.parent.parent.kind === 268; } function getTypeReferenceDirectivesForEntityName(node) { if (!fileToDirective) { return undefined; } var meaning = 67901928 | 1920; - if ((node.kind === 71 && isInTypeQuery(node)) || (node.kind === 184 && !isInHeritageClause(node))) { + if ((node.kind === 71 && isInTypeQuery(node)) || (node.kind === 185 && !isInHeritageClause(node))) { meaning = 67216319 | 1048576; } var symbol = resolveEntityName(node, meaning, true); @@ -42218,7 +42507,7 @@ var ts; break; } } - if (current.valueDeclaration && current.valueDeclaration.kind === 273 && current.flags & 512) { + if (current.valueDeclaration && current.valueDeclaration.kind === 274 && current.flags & 512) { return false; } for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { @@ -42232,12 +42521,12 @@ var ts; } } function getExternalModuleFileFromDeclaration(declaration) { - var specifier = declaration.kind === 238 ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); + var specifier = declaration.kind === 239 ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); var moduleSymbol = resolveExternalModuleNameWorker(specifier, specifier, undefined); if (!moduleSymbol) { return undefined; } - return ts.getDeclarationOfKind(moduleSymbol, 273); + return ts.getDeclarationOfKind(moduleSymbol, 274); } function initializeTypeChecker() { for (var _i = 0, _a = host.getSourceFiles(); _i < _a.length; _i++) { @@ -42279,7 +42568,7 @@ var ts; addToSymbolTable(globals, builtinGlobals, ts.Diagnostics.Declaration_name_conflicts_with_built_in_global_identifier_0); getSymbolLinks(undefinedSymbol).type = undefinedWideningType; getSymbolLinks(argumentsSymbol).type = getGlobalType("IArguments", 0, true); - getSymbolLinks(unknownSymbol).type = unknownType; + getSymbolLinks(unknownSymbol).type = errorType; globalArrayType = getGlobalType("Array", 1, true); globalObjectType = getGlobalType("Object", 0, true); globalFunctionType = getGlobalType("Function", 0, true); @@ -42347,7 +42636,7 @@ var ts; case 16384: return "__asyncValues"; case 32768: return "__exportStar"; case 65536: return "__makeTemplateObject"; - default: ts.Debug.fail("Unrecognized helper"); + default: return ts.Debug.fail("Unrecognized helper"); } } function resolveHelpersModule(node, errorNode) { @@ -42364,14 +42653,14 @@ var ts; return false; } if (!ts.nodeCanBeDecorated(node, node.parent, node.parent.parent)) { - if (node.kind === 153 && !ts.nodeIsPresent(node.body)) { + if (node.kind === 154 && !ts.nodeIsPresent(node.body)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload); } else { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here); } } - else if (node.kind === 155 || node.kind === 156) { + else if (node.kind === 156 || node.kind === 157) { var accessors = ts.getAllAccessorDeclarations(node.parent.members, node); if (accessors.firstAccessor.decorators && node === accessors.secondAccessor) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name); @@ -42389,16 +42678,16 @@ var ts; for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; if (modifier.kind !== 132) { - if (node.kind === 150 || node.kind === 152) { + if (node.kind === 151 || node.kind === 153) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_type_member, ts.tokenToString(modifier.kind)); } - if (node.kind === 159) { + if (node.kind === 160) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_an_index_signature, ts.tokenToString(modifier.kind)); } } switch (modifier.kind) { case 76: - if (node.kind !== 237 && node.parent.kind === 234) { + if (node.kind !== 238 && node.parent.kind === 235) { return grammarErrorOnNode(node, ts.Diagnostics.A_class_member_cannot_have_the_0_keyword, ts.tokenToString(76)); } break; @@ -42418,7 +42707,7 @@ var ts; else if (flags & 256) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "async"); } - else if (node.parent.kind === 239 || node.parent.kind === 273) { + else if (node.parent.kind === 240 || node.parent.kind === 274) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, text); } else if (flags & 128) { @@ -42441,10 +42730,10 @@ var ts; else if (flags & 256) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "static", "async"); } - else if (node.parent.kind === 239 || node.parent.kind === 273) { + else if (node.parent.kind === 240 || node.parent.kind === 274) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, "static"); } - else if (node.kind === 148) { + else if (node.kind === 149) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "static"); } else if (flags & 128) { @@ -42457,7 +42746,7 @@ var ts; if (flags & 64) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "readonly"); } - else if (node.kind !== 151 && node.kind !== 150 && node.kind !== 159 && node.kind !== 148) { + else if (node.kind !== 152 && node.kind !== 151 && node.kind !== 160 && node.kind !== 149) { return grammarErrorOnNode(modifier, ts.Diagnostics.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature); } flags |= 64; @@ -42476,17 +42765,17 @@ var ts; else if (flags & 256) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "async"); } - else if (node.parent.kind === 234) { + else if (node.parent.kind === 235) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "export"); } - else if (node.kind === 148) { + else if (node.kind === 149) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "export"); } flags |= 1; break; case 79: - var container = node.parent.kind === 273 ? node.parent : node.parent.parent; - if (container.kind === 238 && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 274 ? node.parent : node.parent.parent; + if (container.kind === 239 && !ts.isAmbientModule(container)) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module); } flags |= 512; @@ -42498,13 +42787,13 @@ var ts; else if (flags & 256) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (node.parent.kind === 234) { + else if (node.parent.kind === 235) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "declare"); } - else if (node.kind === 148) { + else if (node.kind === 149) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "declare"); } - else if ((node.parent.flags & 4194304) && node.parent.kind === 239) { + else if ((node.parent.flags & 4194304) && node.parent.kind === 240) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); } flags |= 2; @@ -42514,14 +42803,14 @@ var ts; if (flags & 128) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "abstract"); } - if (node.kind !== 234) { - if (node.kind !== 153 && - node.kind !== 151 && - node.kind !== 155 && - node.kind !== 156) { + if (node.kind !== 235) { + if (node.kind !== 154 && + node.kind !== 152 && + node.kind !== 156 && + node.kind !== 157) { return grammarErrorOnNode(modifier, ts.Diagnostics.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration); } - if (!(node.parent.kind === 234 && ts.hasModifier(node.parent, 128))) { + if (!(node.parent.kind === 235 && ts.hasModifier(node.parent, 128))) { return grammarErrorOnNode(modifier, ts.Diagnostics.Abstract_methods_can_only_appear_within_an_abstract_class); } if (flags & 32) { @@ -42540,7 +42829,7 @@ var ts; else if (flags & 2 || node.parent.flags & 4194304) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (node.kind === 148) { + else if (node.kind === 149) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "async"); } flags |= 256; @@ -42548,7 +42837,7 @@ var ts; break; } } - if (node.kind === 154) { + if (node.kind === 155) { if (flags & 32) { return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); } @@ -42561,20 +42850,21 @@ var ts; else if (flags & 64) { return grammarErrorOnNode(lastReadonly, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "readonly"); } - return; + return false; } - else if ((node.kind === 243 || node.kind === 242) && flags & 2) { + else if ((node.kind === 244 || node.kind === 243) && flags & 2) { return grammarErrorOnNode(lastDeclare, ts.Diagnostics.A_0_modifier_cannot_be_used_with_an_import_declaration, "declare"); } - else if (node.kind === 148 && (flags & 92) && ts.isBindingPattern(node.name)) { + else if (node.kind === 149 && (flags & 92) && ts.isBindingPattern(node.name)) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_may_not_be_declared_using_a_binding_pattern); } - else if (node.kind === 148 && (flags & 92) && node.dotDotDotToken) { + else if (node.kind === 149 && (flags & 92) && node.dotDotDotToken) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_cannot_be_declared_using_a_rest_parameter); } if (flags & 256) { return checkGrammarAsyncModifier(node, lastAsync); } + return false; } function reportObviousModifierErrors(node) { return !node.modifiers @@ -42585,37 +42875,37 @@ var ts; } function shouldReportBadModifier(node) { switch (node.kind) { - case 155: case 156: - case 154: - case 151: - case 150: - case 153: + case 157: + case 155: case 152: - case 159: - case 238: + case 151: + case 154: + case 153: + case 160: + case 239: + case 244: case 243: - case 242: + case 250: case 249: - case 248: - case 191: case 192: - case 148: + case 193: + case 149: return false; default: - if (node.parent.kind === 239 || node.parent.kind === 273) { + if (node.parent.kind === 240 || node.parent.kind === 274) { return false; } switch (node.kind) { - case 233: - return nodeHasAnyModifiersExcept(node, 120); case 234: - return nodeHasAnyModifiersExcept(node, 117); + return nodeHasAnyModifiersExcept(node, 120); case 235: - case 213: + return nodeHasAnyModifiersExcept(node, 117); case 236: - return true; + case 214: case 237: + return true; + case 238: return nodeHasAnyModifiersExcept(node, 76); default: ts.Debug.fail(); @@ -42628,10 +42918,10 @@ var ts; } function checkGrammarAsyncModifier(node, asyncModifier) { switch (node.kind) { - case 153: - case 233: - case 191: + case 154: + case 234: case 192: + case 193: return false; } return grammarErrorOnNode(asyncModifier, ts.Diagnostics._0_modifier_cannot_be_used_here, "async"); @@ -42641,6 +42931,7 @@ var ts; if (list && list.hasTrailingComma) { return grammarErrorAtPos(list[0], list.end - ",".length, ",".length, diag); } + return false; } function checkGrammarTypeParameterList(typeParameters, file) { if (typeParameters && typeParameters.length === 0) { @@ -42648,6 +42939,7 @@ var ts; var end = ts.skipTrivia(file.text, typeParameters.end) + ">".length; return grammarErrorAtPos(file, start, end - start, ts.Diagnostics.Type_parameter_list_cannot_be_empty); } + return false; } function checkGrammarParameterList(parameters) { var seenOptionalParameter = false; @@ -42727,10 +43019,10 @@ var ts; } if (parameter.type.kind !== 137 && parameter.type.kind !== 134) { var type = getTypeFromTypeNode(parameter.type); - if (type.flags & 2 || type.flags & 4) { + if (type.flags & 4 || type.flags & 8) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead, ts.getTextOfNode(parameter.name), typeToString(type), typeToString(getTypeFromTypeNode(node.type))); } - if (type.flags & 131072 && allTypesAssignableToKind(type, 32, true)) { + if (type.flags & 262144 && allTypesAssignableToKind(type, 64, true)) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead); } return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_must_be_string_or_number); @@ -42738,6 +43030,7 @@ var ts; if (!node.type) { return grammarErrorOnNode(node, ts.Diagnostics.An_index_signature_must_have_a_type_annotation); } + return false; } function checkGrammarIndexSignature(node) { return checkGrammarDecoratorsAndModifiers(node) || checkGrammarIndexSignatureParameters(node); @@ -42749,6 +43042,7 @@ var ts; var end = ts.skipTrivia(sourceFile.text, typeArguments.end) + ">".length; return grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.Type_argument_list_cannot_be_empty); } + return false; } function checkGrammarTypeArguments(node, typeArguments) { return checkGrammarForDisallowedTrailingComma(typeArguments) || @@ -42758,11 +43052,12 @@ var ts; if (args) { for (var _i = 0, args_5 = args; _i < args_5.length; _i++) { var arg = args_5[_i]; - if (arg.kind === 205) { + if (arg.kind === 206) { return grammarErrorAtPos(arg, arg.pos, 0, ts.Diagnostics.Argument_expression_expected); } } } + return false; } function checkGrammarArguments(args) { return checkGrammarForOmittedArgument(args); @@ -42776,7 +43071,7 @@ var ts; var listType = ts.tokenToString(node.token); return grammarErrorAtPos(node, types.pos, 0, ts.Diagnostics._0_list_cannot_be_empty, listType); } - return ts.forEach(types, checkGrammarExpressionWithTypeArguments); + return ts.some(types, checkGrammarExpressionWithTypeArguments); } function checkGrammarExpressionWithTypeArguments(node) { return checkGrammarTypeArguments(node, node.typeArguments); @@ -42831,19 +43126,20 @@ var ts; return false; } function checkGrammarComputedPropertyName(node) { - if (node.kind !== 146) { + if (node.kind !== 147) { return false; } var computedPropertyName = node; - if (computedPropertyName.expression.kind === 199 && computedPropertyName.expression.operatorToken.kind === 26) { + if (computedPropertyName.expression.kind === 200 && computedPropertyName.expression.operatorToken.kind === 26) { return grammarErrorOnNode(computedPropertyName.expression, ts.Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name); } + return false; } function checkGrammarForGenerator(node) { if (node.asteriskToken) { - ts.Debug.assert(node.kind === 233 || - node.kind === 191 || - node.kind === 153); + ts.Debug.assert(node.kind === 234 || + node.kind === 192 || + node.kind === 154); if (node.flags & 4194304) { return grammarErrorOnNode(node.asteriskToken, ts.Diagnostics.Generators_are_not_allowed_in_an_ambient_context); } @@ -42853,51 +43149,49 @@ var ts; } } function checkGrammarForInvalidQuestionMark(questionToken, message) { - if (questionToken) { - return grammarErrorOnNode(questionToken, message); - } + return !!questionToken && grammarErrorOnNode(questionToken, message); } function checkGrammarObjectLiteralExpression(node, inDestructuring) { var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 271) { + if (prop.kind === 272) { continue; } var name = prop.name; - if (name.kind === 146) { + if (name.kind === 147) { checkGrammarComputedPropertyName(name); } - if (prop.kind === 270 && !inDestructuring && prop.objectAssignmentInitializer) { + if (prop.kind === 271 && !inDestructuring && prop.objectAssignmentInitializer) { return grammarErrorOnNode(prop.equalsToken, ts.Diagnostics.can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment); } if (prop.modifiers) { for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { var mod = _c[_b]; - if (mod.kind !== 120 || prop.kind !== 153) { + if (mod.kind !== 120 || prop.kind !== 154) { grammarErrorOnNode(mod, ts.Diagnostics._0_modifier_cannot_be_used_here, ts.getTextOfNode(mod)); } } } var currentKind = void 0; switch (prop.kind) { - case 269: case 270: + case 271: checkGrammarForInvalidQuestionMark(prop.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional); if (name.kind === 8) { checkGrammarNumericLiteral(name); } - case 153: + case 154: currentKind = 1; break; - case 155: + case 156: currentKind = 2; break; - case 156: + case 157: currentKind = 4; break; default: - ts.Debug.assertNever(prop, "Unexpected syntax kind:" + prop.kind); + throw ts.Debug.assertNever(prop, "Unexpected syntax kind:" + prop.kind); } var effectiveName = ts.getPropertyNameForPropertyNameNode(name); if (effectiveName === undefined) { @@ -42930,7 +43224,7 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.attributes.properties; _i < _a.length; _i++) { var attr = _a[_i]; - if (attr.kind === 263) { + if (attr.kind === 264) { continue; } var name = attr.name, initializer = attr.initializer; @@ -42940,7 +43234,7 @@ var ts; else { return grammarErrorOnNode(name, ts.Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name); } - if (initializer && initializer.kind === 264 && !initializer.expression) { + if (initializer && initializer.kind === 265 && !initializer.expression) { return grammarErrorOnNode(initializer, ts.Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression); } } @@ -42949,12 +43243,12 @@ var ts; if (checkGrammarStatementInAmbientContext(forInOrOfStatement)) { return true; } - if (forInOrOfStatement.kind === 221 && forInOrOfStatement.awaitModifier) { + if (forInOrOfStatement.kind === 222 && forInOrOfStatement.awaitModifier) { if ((forInOrOfStatement.flags & 16384) === 0) { return grammarErrorOnNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator); } } - if (forInOrOfStatement.initializer.kind === 232) { + if (forInOrOfStatement.initializer.kind === 233) { var variableList = forInOrOfStatement.initializer; if (!checkGrammarVariableDeclarationList(variableList)) { var declarations = variableList.declarations; @@ -42962,20 +43256,20 @@ var ts; return false; } if (declarations.length > 1) { - var diagnostic = forInOrOfStatement.kind === 220 + var diagnostic = forInOrOfStatement.kind === 221 ? ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement : ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement; return grammarErrorOnFirstToken(variableList.declarations[1], diagnostic); } var firstDeclaration = declarations[0]; if (firstDeclaration.initializer) { - var diagnostic = forInOrOfStatement.kind === 220 + var diagnostic = forInOrOfStatement.kind === 221 ? ts.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer : ts.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer; return grammarErrorOnNode(firstDeclaration.name, diagnostic); } if (firstDeclaration.type) { - var diagnostic = forInOrOfStatement.kind === 220 + var diagnostic = forInOrOfStatement.kind === 221 ? ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation : ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation; return grammarErrorOnNode(firstDeclaration, diagnostic); @@ -43002,11 +43296,11 @@ var ts; return grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_have_type_parameters); } else if (!doesAccessorHaveCorrectParameterCount(accessor)) { - return grammarErrorOnNode(accessor.name, kind === 155 ? + return grammarErrorOnNode(accessor.name, kind === 156 ? ts.Diagnostics.A_get_accessor_cannot_have_parameters : ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter); } - else if (kind === 156) { + else if (kind === 157) { if (accessor.type) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation); } @@ -43023,12 +43317,13 @@ var ts; } } } + return false; } function doesAccessorHaveCorrectParameterCount(accessor) { - return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 155 ? 0 : 1); + return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 156 ? 0 : 1); } function getAccessorThisParameter(accessor) { - if (accessor.parameters.length === (accessor.kind === 155 ? 1 : 2)) { + if (accessor.parameters.length === (accessor.kind === 156 ? 1 : 2)) { return ts.getThisParameter(accessor); } } @@ -43039,7 +43334,7 @@ var ts; } var parent = ts.walkUpParenthesizedTypes(node.parent); switch (parent.kind) { - case 231: + case 232: var decl = parent; if (decl.name.kind !== 71) { return grammarErrorOnNode(node, ts.Diagnostics.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name); @@ -43051,13 +43346,13 @@ var ts; return grammarErrorOnNode(parent.name, ts.Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const); } break; - case 151: + case 152: if (!ts.hasModifier(parent, 32) || !ts.hasModifier(parent, 64)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly); } break; - case 150: + case 151: if (!ts.hasModifier(parent, 64)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly); } @@ -43076,8 +43371,8 @@ var ts; if (checkGrammarFunctionLikeDeclaration(node)) { return true; } - if (node.kind === 153) { - if (node.parent.kind === 183) { + if (node.kind === 154) { + if (node.parent.kind === 184) { if (node.modifiers && !(node.modifiers.length === 1 && ts.first(node.modifiers).kind === 120)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Modifiers_cannot_appear_here); } @@ -43096,14 +43391,14 @@ var ts; if (node.flags & 4194304) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.kind === 153 && !node.body) { + else if (node.kind === 154 && !node.body) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } - else if (node.parent.kind === 235) { + else if (node.parent.kind === 236) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.parent.kind === 165) { + else if (node.parent.kind === 166) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } @@ -43114,9 +43409,9 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.Jump_target_cannot_cross_function_boundary); } switch (current.kind) { - case 227: + case 228: if (node.label && current.label.escapedText === node.label.escapedText) { - var isMisplacedContinueLabel = node.kind === 222 + var isMisplacedContinueLabel = node.kind === 223 && !ts.isIterationStatement(current.statement, true); if (isMisplacedContinueLabel) { return grammarErrorOnNode(node, ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement); @@ -43124,8 +43419,8 @@ var ts; return false; } break; - case 226: - if (node.kind === 223 && !node.label) { + case 227: + if (node.kind === 224 && !node.label) { return false; } break; @@ -43138,13 +43433,13 @@ var ts; current = current.parent; } if (node.label) { - var message = node.kind === 223 + var message = node.kind === 224 ? ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); } else { - var message = node.kind === 223 + var message = node.kind === 224 ? ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); @@ -43157,7 +43452,7 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern); } checkGrammarForDisallowedTrailingComma(elements, ts.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma); - if (node.name.kind === 180 || node.name.kind === 179) { + if (node.name.kind === 181 || node.name.kind === 180) { return grammarErrorOnNode(node.name, ts.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern); } if (node.propertyName) { @@ -43170,11 +43465,11 @@ var ts; } function isStringOrNumberLiteralExpression(expr) { return expr.kind === 9 || expr.kind === 8 || - expr.kind === 197 && expr.operator === 38 && + expr.kind === 198 && expr.operator === 38 && expr.operand.kind === 8; } function checkGrammarVariableDeclaration(node) { - if (node.parent.parent.kind !== 220 && node.parent.parent.kind !== 221) { + if (node.parent.parent.kind !== 221 && node.parent.parent.kind !== 222) { if (node.flags & 4194304) { if (node.initializer) { if (ts.isConst(node) && !node.type) { @@ -43201,7 +43496,7 @@ var ts; } } } - if (node.exclamationToken && (node.parent.parent.kind !== 213 || !node.type || node.initializer || node.flags & 4194304)) { + if (node.exclamationToken && (node.parent.parent.kind !== 214 || !node.type || node.initializer || node.flags & 4194304)) { return grammarErrorOnNode(node.exclamationToken, ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context); } if (compilerOptions.module !== ts.ModuleKind.ES2015 && compilerOptions.module !== ts.ModuleKind.ESNext && compilerOptions.module !== ts.ModuleKind.System && !compilerOptions.noEmit && @@ -43226,6 +43521,7 @@ var ts; } } } + return false; } function checkGrammarNameInLetOrConstDeclarations(name) { if (name.kind === 71) { @@ -43242,6 +43538,7 @@ var ts; } } } + return false; } function checkGrammarVariableDeclarationList(declarationList) { var declarations = declarationList.declarations; @@ -43251,18 +43548,19 @@ var ts; if (!declarationList.declarations.length) { return grammarErrorAtPos(declarationList, declarations.pos, declarations.end - declarations.pos, ts.Diagnostics.Variable_declaration_list_cannot_be_empty); } + return false; } function allowLetAndConstDeclarations(parent) { switch (parent.kind) { - case 216: case 217: case 218: - case 225: case 219: + case 226: case 220: case 221: + case 222: return false; - case 227: + case 228: return allowLetAndConstDeclarations(parent.parent); } return true; @@ -43302,6 +43600,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, span.start, span.length, message, arg0, arg1, arg2)); return true; } + return false; } function grammarErrorAtPos(nodeForSourceFile, start, length, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(nodeForSourceFile); @@ -43309,6 +43608,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, start, length, message, arg0, arg1, arg2)); return true; } + return false; } function grammarErrorOnNode(node, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(node); @@ -43316,11 +43616,12 @@ var ts; diagnostics.add(ts.createDiagnosticForNode(node, message, arg0, arg1, arg2)); return true; } + return false; } function checkGrammarConstructorTypeParameters(node) { - var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); - if (ts.isNodeArray(typeParameters)) { - var pos = typeParameters.pos, end = typeParameters.end; + var jsdocTypeParameters = ts.isInJavaScriptFile(node) && ts.getJSDocTypeParameterDeclarations(node); + if (node.typeParameters || jsdocTypeParameters && jsdocTypeParameters.length) { + var _a = node.typeParameters || jsdocTypeParameters && jsdocTypeParameters[0] || node, pos = _a.pos, end = _a.end; return grammarErrorAtPos(node, pos, end - pos, ts.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration); } } @@ -43336,7 +43637,7 @@ var ts; return true; } } - else if (node.parent.kind === 235) { + else if (node.parent.kind === 236) { if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } @@ -43344,7 +43645,7 @@ var ts; return grammarErrorOnNode(node.initializer, ts.Diagnostics.An_interface_property_cannot_have_an_initializer); } } - else if (node.parent.kind === 165) { + else if (node.parent.kind === 166) { if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } @@ -43361,13 +43662,13 @@ var ts; } } function checkGrammarTopLevelElementForRequiredDeclareModifier(node) { - if (node.kind === 235 || - node.kind === 236 || + if (node.kind === 236 || + node.kind === 237 || + node.kind === 244 || node.kind === 243 || - node.kind === 242 || + node.kind === 250 || node.kind === 249 || - node.kind === 248 || - node.kind === 241 || + node.kind === 242 || ts.hasModifier(node, 2 | 1 | 512)) { return false; } @@ -43376,12 +43677,13 @@ var ts; function checkGrammarTopLevelElementsForRequiredDeclareModifier(file) { for (var _i = 0, _a = file.statements; _i < _a.length; _i++) { var decl = _a[_i]; - if (ts.isDeclaration(decl) || decl.kind === 213) { + if (ts.isDeclaration(decl) || decl.kind === 214) { if (checkGrammarTopLevelElementForRequiredDeclareModifier(decl)) { return true; } } } + return false; } function checkGrammarSourceFile(node) { return !!(node.flags & 4194304) && checkGrammarTopLevelElementsForRequiredDeclareModifier(node); @@ -43395,7 +43697,7 @@ var ts; if (!links.hasReportedStatementInAmbientContext && ts.isFunctionLike(node.parent)) { return getNodeLinks(node).hasReportedStatementInAmbientContext = grammarErrorOnFirstToken(node, ts.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts); } - if (node.parent.kind === 212 || node.parent.kind === 239 || node.parent.kind === 273) { + if (node.parent.kind === 213 || node.parent.kind === 240 || node.parent.kind === 274) { var links_1 = getNodeLinks(node.parent); if (!links_1.hasReportedStatementInAmbientContext) { return links_1.hasReportedStatementInAmbientContext = grammarErrorOnFirstToken(node, ts.Diagnostics.Statements_are_not_allowed_in_ambient_contexts); @@ -43404,6 +43706,7 @@ var ts; else { } } + return false; } function checkGrammarNumericLiteral(node) { if (node.numericLiteralFlags & 32) { @@ -43411,10 +43714,10 @@ var ts; if (languageVersion >= 1) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 177)) { + else if (ts.isChildOfNodeWithKind(node, 178)) { diagnosticMessage = ts.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 272)) { + else if (ts.isChildOfNodeWithKind(node, 273)) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0; } if (diagnosticMessage) { @@ -43423,6 +43726,7 @@ var ts; return grammarErrorOnNode(withMinus ? node.parent : node, diagnosticMessage, literal); } } + return false; } function grammarErrorAfterFirstToken(node, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(node); @@ -43431,6 +43735,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, ts.textSpanEnd(span), 0, message, arg0, arg1, arg2)); return true; } + return false; } function getAmbientModules() { if (!ambientModulesCache) { @@ -43457,13 +43762,14 @@ var ts; if (ts.isSpreadElement(nodeArguments[0])) { return grammarErrorOnNode(nodeArguments[0], ts.Diagnostics.Specifier_of_dynamic_import_cannot_be_spread_element); } + return false; } } ts.createTypeChecker = createTypeChecker; function isDeclarationNameOrImportPropertyName(name) { switch (name.parent.kind) { - case 247: - case 251: + case 248: + case 252: return ts.isIdentifier(name); default: return ts.isDeclarationName(name); @@ -43471,13 +43777,13 @@ var ts; } function isSomeImportDeclaration(decl) { switch (decl.kind) { - case 244: - case 242: case 245: - case 247: + case 243: + case 246: + case 248: return true; case 71: - return decl.parent.kind === 247; + return decl.parent.kind === 248; default: return false; } @@ -43526,7 +43832,7 @@ var ts; ts.createNodeArray = createNodeArray; function getSynthesizedClone(node) { if (node === undefined) { - return undefined; + return node; } var clone = createSynthesizedNode(node.kind); clone.flags |= node.flags; @@ -43719,7 +44025,7 @@ var ts; } ts.createModifiersFromModifierFlags = createModifiersFromModifierFlags; function createQualifiedName(left, right) { - var node = createSynthesizedNode(145); + var node = createSynthesizedNode(146); node.left = left; node.right = asName(right); return node; @@ -43734,12 +44040,12 @@ var ts; ts.updateQualifiedName = updateQualifiedName; function parenthesizeForComputedName(expression) { return (ts.isBinaryExpression(expression) && expression.operatorToken.kind === 26) || - expression.kind === 301 ? + expression.kind === 302 ? createParen(expression) : expression; } function createComputedPropertyName(expression) { - var node = createSynthesizedNode(146); + var node = createSynthesizedNode(147); node.expression = parenthesizeForComputedName(expression); return node; } @@ -43751,7 +44057,7 @@ var ts; } ts.updateComputedPropertyName = updateComputedPropertyName; function createTypeParameterDeclaration(name, constraint, defaultType) { - var node = createSynthesizedNode(147); + var node = createSynthesizedNode(148); node.name = asName(name); node.constraint = constraint; node.default = defaultType; @@ -43767,7 +44073,7 @@ var ts; } ts.updateTypeParameterDeclaration = updateTypeParameterDeclaration; function createParameter(decorators, modifiers, dotDotDotToken, name, questionToken, type, initializer) { - var node = createSynthesizedNode(148); + var node = createSynthesizedNode(149); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.dotDotDotToken = dotDotDotToken; @@ -43791,7 +44097,7 @@ var ts; } ts.updateParameter = updateParameter; function createDecorator(expression) { - var node = createSynthesizedNode(149); + var node = createSynthesizedNode(150); node.expression = ts.parenthesizeForAccess(expression); return node; } @@ -43803,7 +44109,7 @@ var ts; } ts.updateDecorator = updateDecorator; function createPropertySignature(modifiers, name, questionToken, type, initializer) { - var node = createSynthesizedNode(150); + var node = createSynthesizedNode(151); node.modifiers = asNodeArray(modifiers); node.name = asName(name); node.questionToken = questionToken; @@ -43823,7 +44129,7 @@ var ts; } ts.updatePropertySignature = updatePropertySignature; function createProperty(decorators, modifiers, name, questionOrExclamationToken, type, initializer) { - var node = createSynthesizedNode(151); + var node = createSynthesizedNode(152); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -43847,7 +44153,7 @@ var ts; } ts.updateProperty = updateProperty; function createMethodSignature(typeParameters, parameters, type, name, questionToken) { - var node = createSignatureDeclaration(152, typeParameters, parameters, type); + var node = createSignatureDeclaration(153, typeParameters, parameters, type); node.name = asName(name); node.questionToken = questionToken; return node; @@ -43864,7 +44170,7 @@ var ts; } ts.updateMethodSignature = updateMethodSignature; function createMethod(decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(153); + var node = createSynthesizedNode(154); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; @@ -43892,7 +44198,7 @@ var ts; } ts.updateMethod = updateMethod; function createConstructor(decorators, modifiers, parameters, body) { - var node = createSynthesizedNode(154); + var node = createSynthesizedNode(155); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.typeParameters = undefined; @@ -43912,7 +44218,7 @@ var ts; } ts.updateConstructor = updateConstructor; function createGetAccessor(decorators, modifiers, name, parameters, type, body) { - var node = createSynthesizedNode(155); + var node = createSynthesizedNode(156); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -43935,7 +44241,7 @@ var ts; } ts.updateGetAccessor = updateGetAccessor; function createSetAccessor(decorators, modifiers, name, parameters, body) { - var node = createSynthesizedNode(156); + var node = createSynthesizedNode(157); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -43956,7 +44262,7 @@ var ts; } ts.updateSetAccessor = updateSetAccessor; function createCallSignature(typeParameters, parameters, type) { - return createSignatureDeclaration(157, typeParameters, parameters, type); + return createSignatureDeclaration(158, typeParameters, parameters, type); } ts.createCallSignature = createCallSignature; function updateCallSignature(node, typeParameters, parameters, type) { @@ -43964,7 +44270,7 @@ var ts; } ts.updateCallSignature = updateCallSignature; function createConstructSignature(typeParameters, parameters, type) { - return createSignatureDeclaration(158, typeParameters, parameters, type); + return createSignatureDeclaration(159, typeParameters, parameters, type); } ts.createConstructSignature = createConstructSignature; function updateConstructSignature(node, typeParameters, parameters, type) { @@ -43972,7 +44278,7 @@ var ts; } ts.updateConstructSignature = updateConstructSignature; function createIndexSignature(decorators, modifiers, parameters, type) { - var node = createSynthesizedNode(159); + var node = createSynthesizedNode(160); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.parameters = createNodeArray(parameters); @@ -44010,7 +44316,7 @@ var ts; } ts.createKeywordTypeNode = createKeywordTypeNode; function createTypePredicateNode(parameterName, type) { - var node = createSynthesizedNode(160); + var node = createSynthesizedNode(161); node.parameterName = asName(parameterName); node.type = type; return node; @@ -44024,7 +44330,7 @@ var ts; } ts.updateTypePredicateNode = updateTypePredicateNode; function createTypeReferenceNode(typeName, typeArguments) { - var node = createSynthesizedNode(161); + var node = createSynthesizedNode(162); node.typeName = asName(typeName); node.typeArguments = typeArguments && ts.parenthesizeTypeParameters(typeArguments); return node; @@ -44038,7 +44344,7 @@ var ts; } ts.updateTypeReferenceNode = updateTypeReferenceNode; function createFunctionTypeNode(typeParameters, parameters, type) { - return createSignatureDeclaration(162, typeParameters, parameters, type); + return createSignatureDeclaration(163, typeParameters, parameters, type); } ts.createFunctionTypeNode = createFunctionTypeNode; function updateFunctionTypeNode(node, typeParameters, parameters, type) { @@ -44046,7 +44352,7 @@ var ts; } ts.updateFunctionTypeNode = updateFunctionTypeNode; function createConstructorTypeNode(typeParameters, parameters, type) { - return createSignatureDeclaration(163, typeParameters, parameters, type); + return createSignatureDeclaration(164, typeParameters, parameters, type); } ts.createConstructorTypeNode = createConstructorTypeNode; function updateConstructorTypeNode(node, typeParameters, parameters, type) { @@ -44054,7 +44360,7 @@ var ts; } ts.updateConstructorTypeNode = updateConstructorTypeNode; function createTypeQueryNode(exprName) { - var node = createSynthesizedNode(164); + var node = createSynthesizedNode(165); node.exprName = exprName; return node; } @@ -44066,7 +44372,7 @@ var ts; } ts.updateTypeQueryNode = updateTypeQueryNode; function createTypeLiteralNode(members) { - var node = createSynthesizedNode(165); + var node = createSynthesizedNode(166); node.members = createNodeArray(members); return node; } @@ -44078,7 +44384,7 @@ var ts; } ts.updateTypeLiteralNode = updateTypeLiteralNode; function createArrayTypeNode(elementType) { - var node = createSynthesizedNode(166); + var node = createSynthesizedNode(167); node.elementType = ts.parenthesizeArrayTypeMember(elementType); return node; } @@ -44090,7 +44396,7 @@ var ts; } ts.updateArrayTypeNode = updateArrayTypeNode; function createTupleTypeNode(elementTypes) { - var node = createSynthesizedNode(167); + var node = createSynthesizedNode(168); node.elementTypes = createNodeArray(elementTypes); return node; } @@ -44102,7 +44408,7 @@ var ts; } ts.updateTypleTypeNode = updateTypleTypeNode; function createUnionTypeNode(types) { - return createUnionOrIntersectionTypeNode(168, types); + return createUnionOrIntersectionTypeNode(169, types); } ts.createUnionTypeNode = createUnionTypeNode; function updateUnionTypeNode(node, types) { @@ -44110,7 +44416,7 @@ var ts; } ts.updateUnionTypeNode = updateUnionTypeNode; function createIntersectionTypeNode(types) { - return createUnionOrIntersectionTypeNode(169, types); + return createUnionOrIntersectionTypeNode(170, types); } ts.createIntersectionTypeNode = createIntersectionTypeNode; function updateIntersectionTypeNode(node, types) { @@ -44129,7 +44435,7 @@ var ts; : node; } function createConditionalTypeNode(checkType, extendsType, trueType, falseType) { - var node = createSynthesizedNode(170); + var node = createSynthesizedNode(171); node.checkType = ts.parenthesizeConditionalTypeMember(checkType); node.extendsType = ts.parenthesizeConditionalTypeMember(extendsType); node.trueType = trueType; @@ -44147,7 +44453,7 @@ var ts; } ts.updateConditionalTypeNode = updateConditionalTypeNode; function createInferTypeNode(typeParameter) { - var node = createSynthesizedNode(171); + var node = createSynthesizedNode(172); node.typeParameter = typeParameter; return node; } @@ -44159,7 +44465,7 @@ var ts; } ts.updateInferTypeNode = updateInferTypeNode; function createImportTypeNode(argument, qualifier, typeArguments, isTypeOf) { - var node = createSynthesizedNode(178); + var node = createSynthesizedNode(179); node.argument = argument; node.qualifier = qualifier; node.typeArguments = asNodeArray(typeArguments); @@ -44177,7 +44483,7 @@ var ts; } ts.updateImportTypeNode = updateImportTypeNode; function createParenthesizedType(type) { - var node = createSynthesizedNode(172); + var node = createSynthesizedNode(173); node.type = type; return node; } @@ -44189,11 +44495,11 @@ var ts; } ts.updateParenthesizedType = updateParenthesizedType; function createThisTypeNode() { - return createSynthesizedNode(173); + return createSynthesizedNode(174); } ts.createThisTypeNode = createThisTypeNode; function createTypeOperatorNode(operatorOrType, type) { - var node = createSynthesizedNode(174); + var node = createSynthesizedNode(175); node.operator = typeof operatorOrType === "number" ? operatorOrType : 128; node.type = ts.parenthesizeElementTypeMember(typeof operatorOrType === "number" ? type : operatorOrType); return node; @@ -44204,7 +44510,7 @@ var ts; } ts.updateTypeOperatorNode = updateTypeOperatorNode; function createIndexedAccessTypeNode(objectType, indexType) { - var node = createSynthesizedNode(175); + var node = createSynthesizedNode(176); node.objectType = ts.parenthesizeElementTypeMember(objectType); node.indexType = indexType; return node; @@ -44218,7 +44524,7 @@ var ts; } ts.updateIndexedAccessTypeNode = updateIndexedAccessTypeNode; function createMappedTypeNode(readonlyToken, typeParameter, questionToken, type) { - var node = createSynthesizedNode(176); + var node = createSynthesizedNode(177); node.readonlyToken = readonlyToken; node.typeParameter = typeParameter; node.questionToken = questionToken; @@ -44236,7 +44542,7 @@ var ts; } ts.updateMappedTypeNode = updateMappedTypeNode; function createLiteralTypeNode(literal) { - var node = createSynthesizedNode(177); + var node = createSynthesizedNode(178); node.literal = literal; return node; } @@ -44248,7 +44554,7 @@ var ts; } ts.updateLiteralTypeNode = updateLiteralTypeNode; function createObjectBindingPattern(elements) { - var node = createSynthesizedNode(179); + var node = createSynthesizedNode(180); node.elements = createNodeArray(elements); return node; } @@ -44260,7 +44566,7 @@ var ts; } ts.updateObjectBindingPattern = updateObjectBindingPattern; function createArrayBindingPattern(elements) { - var node = createSynthesizedNode(180); + var node = createSynthesizedNode(181); node.elements = createNodeArray(elements); return node; } @@ -44272,7 +44578,7 @@ var ts; } ts.updateArrayBindingPattern = updateArrayBindingPattern; function createBindingElement(dotDotDotToken, propertyName, name, initializer) { - var node = createSynthesizedNode(181); + var node = createSynthesizedNode(182); node.dotDotDotToken = dotDotDotToken; node.propertyName = asName(propertyName); node.name = asName(name); @@ -44290,7 +44596,7 @@ var ts; } ts.updateBindingElement = updateBindingElement; function createArrayLiteral(elements, multiLine) { - var node = createSynthesizedNode(182); + var node = createSynthesizedNode(183); node.elements = ts.parenthesizeListElements(createNodeArray(elements)); if (multiLine) node.multiLine = true; @@ -44304,7 +44610,7 @@ var ts; } ts.updateArrayLiteral = updateArrayLiteral; function createObjectLiteral(properties, multiLine) { - var node = createSynthesizedNode(183); + var node = createSynthesizedNode(184); node.properties = createNodeArray(properties); if (multiLine) node.multiLine = true; @@ -44318,7 +44624,7 @@ var ts; } ts.updateObjectLiteral = updateObjectLiteral; function createPropertyAccess(expression, name) { - var node = createSynthesizedNode(184); + var node = createSynthesizedNode(185); node.expression = ts.parenthesizeForAccess(expression); node.name = asName(name); setEmitFlags(node, 131072); @@ -44333,7 +44639,7 @@ var ts; } ts.updatePropertyAccess = updatePropertyAccess; function createElementAccess(expression, index) { - var node = createSynthesizedNode(185); + var node = createSynthesizedNode(186); node.expression = ts.parenthesizeForAccess(expression); node.argumentExpression = asExpression(index); return node; @@ -44347,7 +44653,7 @@ var ts; } ts.updateElementAccess = updateElementAccess; function createCall(expression, typeArguments, argumentsArray) { - var node = createSynthesizedNode(186); + var node = createSynthesizedNode(187); node.expression = ts.parenthesizeForAccess(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = ts.parenthesizeListElements(createNodeArray(argumentsArray)); @@ -44363,7 +44669,7 @@ var ts; } ts.updateCall = updateCall; function createNew(expression, typeArguments, argumentsArray) { - var node = createSynthesizedNode(187); + var node = createSynthesizedNode(188); node.expression = ts.parenthesizeForNew(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = argumentsArray ? ts.parenthesizeListElements(createNodeArray(argumentsArray)) : undefined; @@ -44379,7 +44685,7 @@ var ts; } ts.updateNew = updateNew; function createTaggedTemplate(tag, typeArgumentsOrTemplate, template) { - var node = createSynthesizedNode(188); + var node = createSynthesizedNode(189); node.tag = ts.parenthesizeForAccess(tag); if (template) { node.typeArguments = asNodeArray(typeArgumentsOrTemplate); @@ -44402,7 +44708,7 @@ var ts; } ts.updateTaggedTemplate = updateTaggedTemplate; function createTypeAssertion(type, expression) { - var node = createSynthesizedNode(189); + var node = createSynthesizedNode(190); node.type = type; node.expression = ts.parenthesizePrefixOperand(expression); return node; @@ -44416,7 +44722,7 @@ var ts; } ts.updateTypeAssertion = updateTypeAssertion; function createParen(expression) { - var node = createSynthesizedNode(190); + var node = createSynthesizedNode(191); node.expression = expression; return node; } @@ -44428,7 +44734,7 @@ var ts; } ts.updateParen = updateParen; function createFunctionExpression(modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(191); + var node = createSynthesizedNode(192); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; node.name = asName(name); @@ -44452,7 +44758,7 @@ var ts; } ts.updateFunctionExpression = updateFunctionExpression; function createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body) { - var node = createSynthesizedNode(192); + var node = createSynthesizedNode(193); node.modifiers = asNodeArray(modifiers); node.typeParameters = asNodeArray(typeParameters); node.parameters = createNodeArray(parameters); @@ -44486,7 +44792,7 @@ var ts; } ts.updateArrowFunction = updateArrowFunction; function createDelete(expression) { - var node = createSynthesizedNode(193); + var node = createSynthesizedNode(194); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -44498,7 +44804,7 @@ var ts; } ts.updateDelete = updateDelete; function createTypeOf(expression) { - var node = createSynthesizedNode(194); + var node = createSynthesizedNode(195); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -44510,7 +44816,7 @@ var ts; } ts.updateTypeOf = updateTypeOf; function createVoid(expression) { - var node = createSynthesizedNode(195); + var node = createSynthesizedNode(196); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -44522,7 +44828,7 @@ var ts; } ts.updateVoid = updateVoid; function createAwait(expression) { - var node = createSynthesizedNode(196); + var node = createSynthesizedNode(197); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -44534,7 +44840,7 @@ var ts; } ts.updateAwait = updateAwait; function createPrefix(operator, operand) { - var node = createSynthesizedNode(197); + var node = createSynthesizedNode(198); node.operator = operator; node.operand = ts.parenthesizePrefixOperand(operand); return node; @@ -44547,7 +44853,7 @@ var ts; } ts.updatePrefix = updatePrefix; function createPostfix(operand, operator) { - var node = createSynthesizedNode(198); + var node = createSynthesizedNode(199); node.operand = ts.parenthesizePostfixOperand(operand); node.operator = operator; return node; @@ -44560,7 +44866,7 @@ var ts; } ts.updatePostfix = updatePostfix; function createBinary(left, operator, right) { - var node = createSynthesizedNode(199); + var node = createSynthesizedNode(200); var operatorToken = asToken(operator); var operatorKind = operatorToken.kind; node.left = ts.parenthesizeBinaryOperand(operatorKind, left, true, undefined); @@ -44577,7 +44883,7 @@ var ts; } ts.updateBinary = updateBinary; function createConditional(condition, questionTokenOrWhenTrue, whenTrueOrWhenFalse, colonToken, whenFalse) { - var node = createSynthesizedNode(200); + var node = createSynthesizedNode(201); node.condition = ts.parenthesizeForConditionalHead(condition); node.questionToken = whenFalse ? questionTokenOrWhenTrue : createToken(55); node.whenTrue = ts.parenthesizeSubexpressionOfConditionalExpression(whenFalse ? whenTrueOrWhenFalse : questionTokenOrWhenTrue); @@ -44607,7 +44913,7 @@ var ts; } ts.updateConditional = updateConditional; function createTemplateExpression(head, templateSpans) { - var node = createSynthesizedNode(201); + var node = createSynthesizedNode(202); node.head = head; node.templateSpans = createNodeArray(templateSpans); return node; @@ -44645,7 +44951,7 @@ var ts; } ts.createNoSubstitutionTemplateLiteral = createNoSubstitutionTemplateLiteral; function createYield(asteriskTokenOrExpression, expression) { - var node = createSynthesizedNode(202); + var node = createSynthesizedNode(203); node.asteriskToken = asteriskTokenOrExpression && asteriskTokenOrExpression.kind === 39 ? asteriskTokenOrExpression : undefined; node.expression = asteriskTokenOrExpression && asteriskTokenOrExpression.kind !== 39 ? asteriskTokenOrExpression : expression; return node; @@ -44659,7 +44965,7 @@ var ts; } ts.updateYield = updateYield; function createSpread(expression) { - var node = createSynthesizedNode(203); + var node = createSynthesizedNode(204); node.expression = ts.parenthesizeExpressionForList(expression); return node; } @@ -44671,7 +44977,7 @@ var ts; } ts.updateSpread = updateSpread; function createClassExpression(modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(204); + var node = createSynthesizedNode(205); node.decorators = undefined; node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -44692,11 +44998,11 @@ var ts; } ts.updateClassExpression = updateClassExpression; function createOmittedExpression() { - return createSynthesizedNode(205); + return createSynthesizedNode(206); } ts.createOmittedExpression = createOmittedExpression; function createExpressionWithTypeArguments(typeArguments, expression) { - var node = createSynthesizedNode(206); + var node = createSynthesizedNode(207); node.expression = ts.parenthesizeForAccess(expression); node.typeArguments = asNodeArray(typeArguments); return node; @@ -44710,7 +45016,7 @@ var ts; } ts.updateExpressionWithTypeArguments = updateExpressionWithTypeArguments; function createAsExpression(expression, type) { - var node = createSynthesizedNode(207); + var node = createSynthesizedNode(208); node.expression = expression; node.type = type; return node; @@ -44724,7 +45030,7 @@ var ts; } ts.updateAsExpression = updateAsExpression; function createNonNullExpression(expression) { - var node = createSynthesizedNode(208); + var node = createSynthesizedNode(209); node.expression = ts.parenthesizeForAccess(expression); return node; } @@ -44736,7 +45042,7 @@ var ts; } ts.updateNonNullExpression = updateNonNullExpression; function createMetaProperty(keywordToken, name) { - var node = createSynthesizedNode(209); + var node = createSynthesizedNode(210); node.keywordToken = keywordToken; node.name = name; return node; @@ -44749,7 +45055,7 @@ var ts; } ts.updateMetaProperty = updateMetaProperty; function createTemplateSpan(expression, literal) { - var node = createSynthesizedNode(210); + var node = createSynthesizedNode(211); node.expression = expression; node.literal = literal; return node; @@ -44763,11 +45069,11 @@ var ts; } ts.updateTemplateSpan = updateTemplateSpan; function createSemicolonClassElement() { - return createSynthesizedNode(211); + return createSynthesizedNode(212); } ts.createSemicolonClassElement = createSemicolonClassElement; function createBlock(statements, multiLine) { - var block = createSynthesizedNode(212); + var block = createSynthesizedNode(213); block.statements = createNodeArray(statements); if (multiLine) block.multiLine = multiLine; @@ -44775,7 +45081,7 @@ var ts; } ts.createBlock = createBlock; function createExpressionStatement(expression) { - var node = createSynthesizedNode(215); + var node = createSynthesizedNode(216); node.expression = expression; return node; } @@ -44787,7 +45093,7 @@ var ts; } ts.updateBlock = updateBlock; function createVariableStatement(modifiers, declarationList) { - var node = createSynthesizedNode(213); + var node = createSynthesizedNode(214); node.decorators = undefined; node.modifiers = asNodeArray(modifiers); node.declarationList = ts.isArray(declarationList) ? createVariableDeclarationList(declarationList) : declarationList; @@ -44802,7 +45108,7 @@ var ts; } ts.updateVariableStatement = updateVariableStatement; function createEmptyStatement() { - return createSynthesizedNode(214); + return createSynthesizedNode(215); } ts.createEmptyStatement = createEmptyStatement; function createStatement(expression) { @@ -44816,7 +45122,7 @@ var ts; } ts.updateStatement = updateStatement; function createIf(expression, thenStatement, elseStatement) { - var node = createSynthesizedNode(216); + var node = createSynthesizedNode(217); node.expression = expression; node.thenStatement = thenStatement; node.elseStatement = elseStatement; @@ -44832,7 +45138,7 @@ var ts; } ts.updateIf = updateIf; function createDo(statement, expression) { - var node = createSynthesizedNode(217); + var node = createSynthesizedNode(218); node.statement = statement; node.expression = expression; return node; @@ -44846,7 +45152,7 @@ var ts; } ts.updateDo = updateDo; function createWhile(expression, statement) { - var node = createSynthesizedNode(218); + var node = createSynthesizedNode(219); node.expression = expression; node.statement = statement; return node; @@ -44860,7 +45166,7 @@ var ts; } ts.updateWhile = updateWhile; function createFor(initializer, condition, incrementor, statement) { - var node = createSynthesizedNode(219); + var node = createSynthesizedNode(220); node.initializer = initializer; node.condition = condition; node.incrementor = incrementor; @@ -44878,7 +45184,7 @@ var ts; } ts.updateFor = updateFor; function createForIn(initializer, expression, statement) { - var node = createSynthesizedNode(220); + var node = createSynthesizedNode(221); node.initializer = initializer; node.expression = expression; node.statement = statement; @@ -44894,7 +45200,7 @@ var ts; } ts.updateForIn = updateForIn; function createForOf(awaitModifier, initializer, expression, statement) { - var node = createSynthesizedNode(221); + var node = createSynthesizedNode(222); node.awaitModifier = awaitModifier; node.initializer = initializer; node.expression = expression; @@ -44912,7 +45218,7 @@ var ts; } ts.updateForOf = updateForOf; function createContinue(label) { - var node = createSynthesizedNode(222); + var node = createSynthesizedNode(223); node.label = asName(label); return node; } @@ -44924,7 +45230,7 @@ var ts; } ts.updateContinue = updateContinue; function createBreak(label) { - var node = createSynthesizedNode(223); + var node = createSynthesizedNode(224); node.label = asName(label); return node; } @@ -44936,7 +45242,7 @@ var ts; } ts.updateBreak = updateBreak; function createReturn(expression) { - var node = createSynthesizedNode(224); + var node = createSynthesizedNode(225); node.expression = expression; return node; } @@ -44948,7 +45254,7 @@ var ts; } ts.updateReturn = updateReturn; function createWith(expression, statement) { - var node = createSynthesizedNode(225); + var node = createSynthesizedNode(226); node.expression = expression; node.statement = statement; return node; @@ -44962,7 +45268,7 @@ var ts; } ts.updateWith = updateWith; function createSwitch(expression, caseBlock) { - var node = createSynthesizedNode(226); + var node = createSynthesizedNode(227); node.expression = ts.parenthesizeExpressionForList(expression); node.caseBlock = caseBlock; return node; @@ -44976,7 +45282,7 @@ var ts; } ts.updateSwitch = updateSwitch; function createLabel(label, statement) { - var node = createSynthesizedNode(227); + var node = createSynthesizedNode(228); node.label = asName(label); node.statement = statement; return node; @@ -44990,7 +45296,7 @@ var ts; } ts.updateLabel = updateLabel; function createThrow(expression) { - var node = createSynthesizedNode(228); + var node = createSynthesizedNode(229); node.expression = expression; return node; } @@ -45002,7 +45308,7 @@ var ts; } ts.updateThrow = updateThrow; function createTry(tryBlock, catchClause, finallyBlock) { - var node = createSynthesizedNode(229); + var node = createSynthesizedNode(230); node.tryBlock = tryBlock; node.catchClause = catchClause; node.finallyBlock = finallyBlock; @@ -45018,11 +45324,11 @@ var ts; } ts.updateTry = updateTry; function createDebuggerStatement() { - return createSynthesizedNode(230); + return createSynthesizedNode(231); } ts.createDebuggerStatement = createDebuggerStatement; function createVariableDeclaration(name, type, initializer) { - var node = createSynthesizedNode(231); + var node = createSynthesizedNode(232); node.name = asName(name); node.type = type; node.initializer = initializer !== undefined ? ts.parenthesizeExpressionForList(initializer) : undefined; @@ -45038,7 +45344,8 @@ var ts; } ts.updateVariableDeclaration = updateVariableDeclaration; function createVariableDeclarationList(declarations, flags) { - var node = createSynthesizedNode(232); + if (flags === void 0) { flags = 0; } + var node = createSynthesizedNode(233); node.flags |= flags & 3; node.declarations = createNodeArray(declarations); return node; @@ -45051,7 +45358,7 @@ var ts; } ts.updateVariableDeclarationList = updateVariableDeclarationList; function createFunctionDeclaration(decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(233); + var node = createSynthesizedNode(234); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; @@ -45077,7 +45384,7 @@ var ts; } ts.updateFunctionDeclaration = updateFunctionDeclaration; function createClassDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(234); + var node = createSynthesizedNode(235); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -45099,7 +45406,7 @@ var ts; } ts.updateClassDeclaration = updateClassDeclaration; function createInterfaceDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(235); + var node = createSynthesizedNode(236); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -45121,7 +45428,7 @@ var ts; } ts.updateInterfaceDeclaration = updateInterfaceDeclaration; function createTypeAliasDeclaration(decorators, modifiers, name, typeParameters, type) { - var node = createSynthesizedNode(236); + var node = createSynthesizedNode(237); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -45141,7 +45448,7 @@ var ts; } ts.updateTypeAliasDeclaration = updateTypeAliasDeclaration; function createEnumDeclaration(decorators, modifiers, name, members) { - var node = createSynthesizedNode(237); + var node = createSynthesizedNode(238); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -45159,7 +45466,8 @@ var ts; } ts.updateEnumDeclaration = updateEnumDeclaration; function createModuleDeclaration(decorators, modifiers, name, body, flags) { - var node = createSynthesizedNode(238); + if (flags === void 0) { flags = 0; } + var node = createSynthesizedNode(239); node.flags |= flags & (16 | 4 | 512); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); @@ -45178,7 +45486,7 @@ var ts; } ts.updateModuleDeclaration = updateModuleDeclaration; function createModuleBlock(statements) { - var node = createSynthesizedNode(239); + var node = createSynthesizedNode(240); node.statements = createNodeArray(statements); return node; } @@ -45190,7 +45498,7 @@ var ts; } ts.updateModuleBlock = updateModuleBlock; function createCaseBlock(clauses) { - var node = createSynthesizedNode(240); + var node = createSynthesizedNode(241); node.clauses = createNodeArray(clauses); return node; } @@ -45202,7 +45510,7 @@ var ts; } ts.updateCaseBlock = updateCaseBlock; function createNamespaceExportDeclaration(name) { - var node = createSynthesizedNode(241); + var node = createSynthesizedNode(242); node.name = asName(name); return node; } @@ -45214,7 +45522,7 @@ var ts; } ts.updateNamespaceExportDeclaration = updateNamespaceExportDeclaration; function createImportEqualsDeclaration(decorators, modifiers, name, moduleReference) { - var node = createSynthesizedNode(242); + var node = createSynthesizedNode(243); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -45232,7 +45540,7 @@ var ts; } ts.updateImportEqualsDeclaration = updateImportEqualsDeclaration; function createImportDeclaration(decorators, modifiers, importClause, moduleSpecifier) { - var node = createSynthesizedNode(243); + var node = createSynthesizedNode(244); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.importClause = importClause; @@ -45250,7 +45558,7 @@ var ts; } ts.updateImportDeclaration = updateImportDeclaration; function createImportClause(name, namedBindings) { - var node = createSynthesizedNode(244); + var node = createSynthesizedNode(245); node.name = name; node.namedBindings = namedBindings; return node; @@ -45264,7 +45572,7 @@ var ts; } ts.updateImportClause = updateImportClause; function createNamespaceImport(name) { - var node = createSynthesizedNode(245); + var node = createSynthesizedNode(246); node.name = name; return node; } @@ -45276,7 +45584,7 @@ var ts; } ts.updateNamespaceImport = updateNamespaceImport; function createNamedImports(elements) { - var node = createSynthesizedNode(246); + var node = createSynthesizedNode(247); node.elements = createNodeArray(elements); return node; } @@ -45288,7 +45596,7 @@ var ts; } ts.updateNamedImports = updateNamedImports; function createImportSpecifier(propertyName, name) { - var node = createSynthesizedNode(247); + var node = createSynthesizedNode(248); node.propertyName = propertyName; node.name = name; return node; @@ -45302,7 +45610,7 @@ var ts; } ts.updateImportSpecifier = updateImportSpecifier; function createExportAssignment(decorators, modifiers, isExportEquals, expression) { - var node = createSynthesizedNode(248); + var node = createSynthesizedNode(249); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.isExportEquals = isExportEquals; @@ -45319,7 +45627,7 @@ var ts; } ts.updateExportAssignment = updateExportAssignment; function createExportDeclaration(decorators, modifiers, exportClause, moduleSpecifier) { - var node = createSynthesizedNode(249); + var node = createSynthesizedNode(250); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.exportClause = exportClause; @@ -45337,7 +45645,7 @@ var ts; } ts.updateExportDeclaration = updateExportDeclaration; function createNamedExports(elements) { - var node = createSynthesizedNode(250); + var node = createSynthesizedNode(251); node.elements = createNodeArray(elements); return node; } @@ -45349,7 +45657,7 @@ var ts; } ts.updateNamedExports = updateNamedExports; function createExportSpecifier(propertyName, name) { - var node = createSynthesizedNode(251); + var node = createSynthesizedNode(252); node.propertyName = asName(propertyName); node.name = asName(name); return node; @@ -45363,7 +45671,7 @@ var ts; } ts.updateExportSpecifier = updateExportSpecifier; function createExternalModuleReference(expression) { - var node = createSynthesizedNode(253); + var node = createSynthesizedNode(254); node.expression = expression; return node; } @@ -45375,7 +45683,7 @@ var ts; } ts.updateExternalModuleReference = updateExternalModuleReference; function createJsxElement(openingElement, children, closingElement) { - var node = createSynthesizedNode(254); + var node = createSynthesizedNode(255); node.openingElement = openingElement; node.children = createNodeArray(children); node.closingElement = closingElement; @@ -45391,7 +45699,7 @@ var ts; } ts.updateJsxElement = updateJsxElement; function createJsxSelfClosingElement(tagName, typeArguments, attributes) { - var node = createSynthesizedNode(255); + var node = createSynthesizedNode(256); node.tagName = tagName; node.typeArguments = typeArguments && createNodeArray(typeArguments); node.attributes = attributes; @@ -45407,7 +45715,7 @@ var ts; } ts.updateJsxSelfClosingElement = updateJsxSelfClosingElement; function createJsxOpeningElement(tagName, typeArguments, attributes) { - var node = createSynthesizedNode(256); + var node = createSynthesizedNode(257); node.tagName = tagName; node.typeArguments = typeArguments && createNodeArray(typeArguments); node.attributes = attributes; @@ -45423,7 +45731,7 @@ var ts; } ts.updateJsxOpeningElement = updateJsxOpeningElement; function createJsxClosingElement(tagName) { - var node = createSynthesizedNode(257); + var node = createSynthesizedNode(258); node.tagName = tagName; return node; } @@ -45435,7 +45743,7 @@ var ts; } ts.updateJsxClosingElement = updateJsxClosingElement; function createJsxFragment(openingFragment, children, closingFragment) { - var node = createSynthesizedNode(258); + var node = createSynthesizedNode(259); node.openingFragment = openingFragment; node.children = createNodeArray(children); node.closingFragment = closingFragment; @@ -45451,7 +45759,7 @@ var ts; } ts.updateJsxFragment = updateJsxFragment; function createJsxAttribute(name, initializer) { - var node = createSynthesizedNode(261); + var node = createSynthesizedNode(262); node.name = name; node.initializer = initializer; return node; @@ -45465,7 +45773,7 @@ var ts; } ts.updateJsxAttribute = updateJsxAttribute; function createJsxAttributes(properties) { - var node = createSynthesizedNode(262); + var node = createSynthesizedNode(263); node.properties = createNodeArray(properties); return node; } @@ -45477,7 +45785,7 @@ var ts; } ts.updateJsxAttributes = updateJsxAttributes; function createJsxSpreadAttribute(expression) { - var node = createSynthesizedNode(263); + var node = createSynthesizedNode(264); node.expression = expression; return node; } @@ -45489,7 +45797,7 @@ var ts; } ts.updateJsxSpreadAttribute = updateJsxSpreadAttribute; function createJsxExpression(dotDotDotToken, expression) { - var node = createSynthesizedNode(264); + var node = createSynthesizedNode(265); node.dotDotDotToken = dotDotDotToken; node.expression = expression; return node; @@ -45502,7 +45810,7 @@ var ts; } ts.updateJsxExpression = updateJsxExpression; function createCaseClause(expression, statements) { - var node = createSynthesizedNode(265); + var node = createSynthesizedNode(266); node.expression = ts.parenthesizeExpressionForList(expression); node.statements = createNodeArray(statements); return node; @@ -45516,7 +45824,7 @@ var ts; } ts.updateCaseClause = updateCaseClause; function createDefaultClause(statements) { - var node = createSynthesizedNode(266); + var node = createSynthesizedNode(267); node.statements = createNodeArray(statements); return node; } @@ -45528,7 +45836,7 @@ var ts; } ts.updateDefaultClause = updateDefaultClause; function createHeritageClause(token, types) { - var node = createSynthesizedNode(267); + var node = createSynthesizedNode(268); node.token = token; node.types = createNodeArray(types); return node; @@ -45541,7 +45849,7 @@ var ts; } ts.updateHeritageClause = updateHeritageClause; function createCatchClause(variableDeclaration, block) { - var node = createSynthesizedNode(268); + var node = createSynthesizedNode(269); node.variableDeclaration = ts.isString(variableDeclaration) ? createVariableDeclaration(variableDeclaration) : variableDeclaration; node.block = block; return node; @@ -45555,7 +45863,7 @@ var ts; } ts.updateCatchClause = updateCatchClause; function createPropertyAssignment(name, initializer) { - var node = createSynthesizedNode(269); + var node = createSynthesizedNode(270); node.name = asName(name); node.questionToken = undefined; node.initializer = ts.parenthesizeExpressionForList(initializer); @@ -45570,7 +45878,7 @@ var ts; } ts.updatePropertyAssignment = updatePropertyAssignment; function createShorthandPropertyAssignment(name, objectAssignmentInitializer) { - var node = createSynthesizedNode(270); + var node = createSynthesizedNode(271); node.name = asName(name); node.objectAssignmentInitializer = objectAssignmentInitializer !== undefined ? ts.parenthesizeExpressionForList(objectAssignmentInitializer) : undefined; return node; @@ -45584,7 +45892,7 @@ var ts; } ts.updateShorthandPropertyAssignment = updateShorthandPropertyAssignment; function createSpreadAssignment(expression) { - var node = createSynthesizedNode(271); + var node = createSynthesizedNode(272); node.expression = expression !== undefined ? ts.parenthesizeExpressionForList(expression) : undefined; return node; } @@ -45596,7 +45904,7 @@ var ts; } ts.updateSpreadAssignment = updateSpreadAssignment; function createEnumMember(name, initializer) { - var node = createSynthesizedNode(272); + var node = createSynthesizedNode(273); node.name = asName(name); node.initializer = initializer && ts.parenthesizeExpressionForList(initializer); return node; @@ -45615,7 +45923,7 @@ var ts; (referencedFiles !== undefined && node.referencedFiles !== referencedFiles) || (typeReferences !== undefined && node.typeReferenceDirectives !== typeReferences) || (hasNoDefaultLib !== undefined && node.hasNoDefaultLib !== hasNoDefaultLib)) { - var updated = createSynthesizedNode(273); + var updated = createSynthesizedNode(274); updated.flags |= node.flags; updated.statements = createNodeArray(statements); updated.endOfFileToken = node.endOfFileToken; @@ -45654,6 +45962,8 @@ var ts; updated.parseDiagnostics = node.parseDiagnostics; if (node.bindDiagnostics !== undefined) updated.bindDiagnostics = node.bindDiagnostics; + if (node.bindSuggestionDiagnostics !== undefined) + updated.bindSuggestionDiagnostics = node.bindSuggestionDiagnostics; if (node.lineMap !== undefined) updated.lineMap = node.lineMap; if (node.classifiableNames !== undefined) @@ -45686,28 +45996,28 @@ var ts; } ts.getMutableClone = getMutableClone; function createNotEmittedStatement(original) { - var node = createSynthesizedNode(299); + var node = createSynthesizedNode(300); node.original = original; setTextRange(node, original); return node; } ts.createNotEmittedStatement = createNotEmittedStatement; function createEndOfDeclarationMarker(original) { - var node = createSynthesizedNode(303); + var node = createSynthesizedNode(304); node.emitNode = {}; node.original = original; return node; } ts.createEndOfDeclarationMarker = createEndOfDeclarationMarker; function createMergeDeclarationMarker(original) { - var node = createSynthesizedNode(302); + var node = createSynthesizedNode(303); node.emitNode = {}; node.original = original; return node; } ts.createMergeDeclarationMarker = createMergeDeclarationMarker; function createPartiallyEmittedExpression(expression, original) { - var node = createSynthesizedNode(300); + var node = createSynthesizedNode(301); node.expression = expression; node.original = original; setTextRange(node, original); @@ -45723,7 +46033,7 @@ var ts; ts.updatePartiallyEmittedExpression = updatePartiallyEmittedExpression; function flattenCommaElements(node) { if (ts.nodeIsSynthesized(node) && !ts.isParseTreeNode(node) && !node.original && !node.emitNode && !node.id) { - if (node.kind === 301) { + if (node.kind === 302) { return node.elements; } if (ts.isBinaryExpression(node) && node.operatorToken.kind === 26) { @@ -45733,7 +46043,7 @@ var ts; return node; } function createCommaList(elements) { - var node = createSynthesizedNode(301); + var node = createSynthesizedNode(302); node.elements = createNodeArray(ts.sameFlatMap(elements, flattenCommaElements)); return node; } @@ -45746,20 +46056,20 @@ var ts; ts.updateCommaList = updateCommaList; function createBundle(sourceFiles, prepends) { if (prepends === void 0) { prepends = ts.emptyArray; } - var node = ts.createNode(274); + var node = ts.createNode(275); node.prepends = prepends; node.sourceFiles = sourceFiles; return node; } ts.createBundle = createBundle; function createUnparsedSourceFile(text) { - var node = ts.createNode(275); + var node = ts.createNode(276); node.text = text; return node; } ts.createUnparsedSourceFile = createUnparsedSourceFile; function createInputFiles(javascript, declaration) { - var node = ts.createNode(276); + var node = ts.createNode(277); node.javascriptText = javascript; node.declarationText = declaration; return node; @@ -45864,7 +46174,7 @@ var ts; function getOrCreateEmitNode(node) { if (!node.emitNode) { if (ts.isParseTreeNode(node)) { - if (node.kind === 273) { + if (node.kind === 274) { return node.emitNode = { annotatedNodes: [node] }; } var sourceFile = ts.getSourceFileOfNode(node); @@ -46272,7 +46582,7 @@ var ts; ts.createSpreadHelper = createSpreadHelper; function createForOfBindingStatement(node, boundValue) { if (ts.isVariableDeclarationList(node)) { - var firstDeclaration = ts.firstOrUndefined(node.declarations); + var firstDeclaration = ts.first(node.declarations); var updatedDeclaration = ts.updateVariableDeclaration(firstDeclaration, firstDeclaration.name, undefined, boundValue); return ts.setTextRange(ts.createVariableStatement(undefined, ts.updateVariableDeclarationList(node, [updatedDeclaration])), node); } @@ -46295,7 +46605,7 @@ var ts; if (!outermostLabeledStatement) { return node; } - var updated = ts.updateLabel(outermostLabeledStatement, outermostLabeledStatement.label, outermostLabeledStatement.statement.kind === 227 + var updated = ts.updateLabel(outermostLabeledStatement, outermostLabeledStatement.label, outermostLabeledStatement.statement.kind === 228 ? restoreEnclosingLabel(node, outermostLabeledStatement.statement) : node); if (afterRestoreLabelCallback) { @@ -46313,19 +46623,20 @@ var ts; case 8: case 9: return false; - case 182: + case 183: var elements = target.elements; if (elements.length === 0) { return false; } return true; - case 183: + case 184: return target.properties.length > 0; default: return true; } } function createCallBinding(expression, recordTempVariable, languageVersion, cacheIdentifiers) { + if (cacheIdentifiers === void 0) { cacheIdentifiers = false; } var callee = skipOuterExpressions(expression, 7); var thisArg; var target; @@ -46345,7 +46656,7 @@ var ts; } else { switch (callee.kind) { - case 184: { + case 185: { if (shouldBeCapturedInTempVariable(callee.expression, cacheIdentifiers)) { thisArg = ts.createTempVariable(recordTempVariable); target = ts.createPropertyAccess(ts.setTextRange(ts.createAssignment(thisArg, callee.expression), callee.expression), callee.name); @@ -46357,7 +46668,7 @@ var ts; } break; } - case 185: { + case 186: { if (shouldBeCapturedInTempVariable(callee.expression, cacheIdentifiers)) { thisArg = ts.createTempVariable(recordTempVariable); target = ts.createElementAccess(ts.setTextRange(ts.createAssignment(thisArg, callee.expression), callee.expression), callee.argumentExpression); @@ -46410,14 +46721,14 @@ var ts; ts.createExpressionForPropertyName = createExpressionForPropertyName; function createExpressionForObjectLiteralElementLike(node, property, receiver) { switch (property.kind) { - case 155: case 156: - return createExpressionForAccessorDeclaration(node.properties, property, receiver, node.multiLine); - case 269: - return createExpressionForPropertyAssignment(property, receiver); + case 157: + return createExpressionForAccessorDeclaration(node.properties, property, receiver, !!node.multiLine); case 270: + return createExpressionForPropertyAssignment(property, receiver); + case 271: return createExpressionForShorthandPropertyAssignment(property, receiver); - case 153: + case 154: return createExpressionForMethodDeclaration(property, receiver); } } @@ -46489,6 +46800,7 @@ var ts; } ts.getDeclarationName = getDeclarationName; function getName(node, allowComments, allowSourceMaps, emitFlags) { + if (emitFlags === void 0) { emitFlags = 0; } var nodeName = ts.getNameOfDeclaration(node); if (nodeName && ts.isIdentifier(nodeName) && !ts.isGeneratedIdentifier(nodeName)) { var name = ts.getMutableClone(nodeName); @@ -46513,7 +46825,7 @@ var ts; function getNamespaceMemberName(ns, name, allowComments, allowSourceMaps) { var qualifiedName = ts.createPropertyAccess(ns, ts.nodeIsSynthesized(name) ? name : ts.getSynthesizedClone(name)); ts.setTextRange(qualifiedName, name); - var emitFlags; + var emitFlags = 0; if (!allowSourceMaps) emitFlags |= 48; if (!allowComments) @@ -46528,7 +46840,8 @@ var ts; } ts.convertToFunctionBody = convertToFunctionBody; function convertFunctionDeclarationToExpression(node) { - ts.Debug.assert(!!node.body); + if (!node.body) + return ts.Debug.fail(); var updated = ts.createFunctionExpression(node.modifiers, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, node.body); ts.setOriginalNode(updated, node); ts.setTextRange(updated, node); @@ -46573,7 +46886,7 @@ var ts; ts.addStandardPrologue = addStandardPrologue; function addCustomPrologue(target, source, statementOffset, visitor) { var numStatements = source.length; - while (statementOffset < numStatements) { + while (statementOffset !== undefined && statementOffset < numStatements) { var statement = source[statementOffset]; if (ts.getEmitFlags(statement) & 1048576) { ts.append(target, visitor ? ts.visitNode(statement, visitor, ts.isStatement) : statement); @@ -46617,7 +46930,7 @@ var ts; ts.ensureUseStrict = ensureUseStrict; function parenthesizeBinaryOperand(binaryOperator, operand, isLeftSideOfBinary, leftOperand) { var skipped = ts.skipPartiallyEmittedExpressions(operand); - if (skipped.kind === 190) { + if (skipped.kind === 191) { return operand; } return binaryOperandNeedsParentheses(binaryOperator, operand, isLeftSideOfBinary, leftOperand) @@ -46626,15 +46939,15 @@ var ts; } ts.parenthesizeBinaryOperand = parenthesizeBinaryOperand; function binaryOperandNeedsParentheses(binaryOperator, operand, isLeftSideOfBinary, leftOperand) { - var binaryOperatorPrecedence = ts.getOperatorPrecedence(199, binaryOperator); - var binaryOperatorAssociativity = ts.getOperatorAssociativity(199, binaryOperator); + var binaryOperatorPrecedence = ts.getOperatorPrecedence(200, binaryOperator); + var binaryOperatorAssociativity = ts.getOperatorAssociativity(200, binaryOperator); var emittedOperand = ts.skipPartiallyEmittedExpressions(operand); var operandPrecedence = ts.getExpressionPrecedence(emittedOperand); switch (ts.compareValues(operandPrecedence, binaryOperatorPrecedence)) { case -1: if (!isLeftSideOfBinary && binaryOperatorAssociativity === 1 - && operand.kind === 202) { + && operand.kind === 203) { return false; } return true; @@ -46673,7 +46986,7 @@ var ts; if (ts.isLiteralKind(node.kind)) { return node.kind; } - if (node.kind === 199 && node.operatorToken.kind === 37) { + if (node.kind === 200 && node.operatorToken.kind === 37) { if (node.cachedLiteralKind !== undefined) { return node.cachedLiteralKind; } @@ -46688,7 +47001,7 @@ var ts; return 0; } function parenthesizeForConditionalHead(condition) { - var conditionalPrecedence = ts.getOperatorPrecedence(200, 55); + var conditionalPrecedence = ts.getOperatorPrecedence(201, 55); var emittedCondition = ts.skipPartiallyEmittedExpressions(condition); var conditionPrecedence = ts.getExpressionPrecedence(emittedCondition); if (ts.compareValues(conditionPrecedence, conditionalPrecedence) === -1) { @@ -46699,17 +47012,17 @@ var ts; ts.parenthesizeForConditionalHead = parenthesizeForConditionalHead; function parenthesizeSubexpressionOfConditionalExpression(e) { var emittedExpression = ts.skipPartiallyEmittedExpressions(e); - return emittedExpression.kind === 199 && emittedExpression.operatorToken.kind === 26 || - emittedExpression.kind === 301 + return emittedExpression.kind === 200 && emittedExpression.operatorToken.kind === 26 || + emittedExpression.kind === 302 ? ts.createParen(e) : e; } ts.parenthesizeSubexpressionOfConditionalExpression = parenthesizeSubexpressionOfConditionalExpression; function parenthesizeDefaultExpression(e) { var check = ts.skipPartiallyEmittedExpressions(e); - return (check.kind === 204 || - check.kind === 191 || - check.kind === 301 || + return (check.kind === 205 || + check.kind === 192 || + check.kind === 302 || ts.isBinaryExpression(check) && check.operatorToken.kind === 26) ? ts.createParen(e) : e; @@ -46718,9 +47031,9 @@ var ts; function parenthesizeForNew(expression) { var leftmostExpr = getLeftmostExpression(expression, true); switch (leftmostExpr.kind) { - case 186: - return ts.createParen(expression); case 187: + return ts.createParen(expression); + case 188: return !leftmostExpr.arguments ? ts.createParen(expression) : expression; @@ -46731,7 +47044,7 @@ var ts; function parenthesizeForAccess(expression) { var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); if (ts.isLeftHandSideExpression(emittedExpression) - && (emittedExpression.kind !== 187 || emittedExpression.arguments)) { + && (emittedExpression.kind !== 188 || emittedExpression.arguments)) { return expression; } return ts.setTextRange(ts.createParen(expression), expression); @@ -46769,7 +47082,7 @@ var ts; function parenthesizeExpressionForList(expression) { var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); var expressionPrecedence = ts.getExpressionPrecedence(emittedExpression); - var commaPrecedence = ts.getOperatorPrecedence(199, 26); + var commaPrecedence = ts.getOperatorPrecedence(200, 26); return expressionPrecedence > commaPrecedence ? expression : ts.setTextRange(ts.createParen(expression), expression); @@ -46780,29 +47093,29 @@ var ts; if (ts.isCallExpression(emittedExpression)) { var callee = emittedExpression.expression; var kind = ts.skipPartiallyEmittedExpressions(callee).kind; - if (kind === 191 || kind === 192) { + if (kind === 192 || kind === 193) { var mutableCall = ts.getMutableClone(emittedExpression); mutableCall.expression = ts.setTextRange(ts.createParen(callee), callee); return recreateOuterExpressions(expression, mutableCall, 4); } } var leftmostExpressionKind = getLeftmostExpression(emittedExpression, false).kind; - if (leftmostExpressionKind === 183 || leftmostExpressionKind === 191) { + if (leftmostExpressionKind === 184 || leftmostExpressionKind === 192) { return ts.setTextRange(ts.createParen(expression), expression); } return expression; } ts.parenthesizeExpressionForExpressionStatement = parenthesizeExpressionForExpressionStatement; function parenthesizeConditionalTypeMember(member) { - return member.kind === 170 ? ts.createParenthesizedType(member) : member; + return member.kind === 171 ? ts.createParenthesizedType(member) : member; } ts.parenthesizeConditionalTypeMember = parenthesizeConditionalTypeMember; function parenthesizeElementTypeMember(member) { switch (member.kind) { - case 168: case 169: - case 162: + case 170: case 163: + case 164: return ts.createParenthesizedType(member); } return parenthesizeConditionalTypeMember(member); @@ -46810,9 +47123,9 @@ var ts; ts.parenthesizeElementTypeMember = parenthesizeElementTypeMember; function parenthesizeArrayTypeMember(member) { switch (member.kind) { - case 164: - case 174: - case 171: + case 165: + case 175: + case 172: return ts.createParenthesizedType(member); } return parenthesizeElementTypeMember(member); @@ -46838,24 +47151,24 @@ var ts; function getLeftmostExpression(node, stopAtCallExpressions) { while (true) { switch (node.kind) { - case 198: + case 199: node = node.operand; continue; - case 199: + case 200: node = node.left; continue; - case 200: + case 201: node = node.condition; continue; - case 186: + case 187: if (stopAtCallExpressions) { return node; } + case 186: case 185: - case 184: node = node.expression; continue; - case 300: + case 301: node = node.expression; continue; } @@ -46863,7 +47176,7 @@ var ts; } } function parenthesizeConciseBody(body) { - if (!ts.isBlock(body) && getLeftmostExpression(body, false).kind === 183) { + if (!ts.isBlock(body) && getLeftmostExpression(body, false).kind === 184) { return ts.setTextRange(ts.createParen(body), body); } return body; @@ -46872,13 +47185,13 @@ var ts; function isOuterExpression(node, kinds) { if (kinds === void 0) { kinds = 7; } switch (node.kind) { - case 190: + case 191: return (kinds & 1) !== 0; - case 189: - case 207: + case 190: case 208: + case 209: return (kinds & 2) !== 0; - case 300: + case 301: return (kinds & 4) !== 0; } return false; @@ -46903,7 +47216,7 @@ var ts; } ts.skipOuterExpressions = skipOuterExpressions; function skipAssertions(node) { - while (ts.isAssertionExpression(node) || node.kind === 208) { + while (ts.isAssertionExpression(node) || node.kind === 209) { node = node.expression; } return node; @@ -46911,15 +47224,15 @@ var ts; ts.skipAssertions = skipAssertions; function updateOuterExpression(outerExpression, expression) { switch (outerExpression.kind) { - case 190: return ts.updateParen(outerExpression, expression); - case 189: return ts.updateTypeAssertion(outerExpression, outerExpression.type, expression); - case 207: return ts.updateAsExpression(outerExpression, expression, outerExpression.type); - case 208: return ts.updateNonNullExpression(outerExpression, expression); - case 300: return ts.updatePartiallyEmittedExpression(outerExpression, expression); + case 191: return ts.updateParen(outerExpression, expression); + case 190: return ts.updateTypeAssertion(outerExpression, outerExpression.type, expression); + case 208: return ts.updateAsExpression(outerExpression, expression, outerExpression.type); + case 209: return ts.updateNonNullExpression(outerExpression, expression); + case 301: return ts.updatePartiallyEmittedExpression(outerExpression, expression); } } function isIgnorableParen(node) { - return node.kind === 190 + return node.kind === 191 && ts.nodeIsSynthesized(node) && ts.nodeIsSynthesized(ts.getSourceMapRange(node)) && ts.nodeIsSynthesized(ts.getCommentRange(node)) @@ -46981,10 +47294,10 @@ var ts; var name = namespaceDeclaration.name; return ts.isGeneratedIdentifier(name) ? name : ts.createIdentifier(ts.getSourceTextOfNodeFromSourceFile(sourceFile, name) || ts.idText(name)); } - if (node.kind === 243 && node.importClause) { + if (node.kind === 244 && node.importClause) { return ts.getGeneratedNameForNode(node); } - if (node.kind === 249 && node.moduleSpecifier) { + if (node.kind === 250 && node.moduleSpecifier) { return ts.getGeneratedNameForNode(node); } return undefined; @@ -47025,8 +47338,9 @@ var ts; return bindingElement.initializer; } if (ts.isPropertyAssignment(bindingElement)) { - return ts.isAssignmentExpression(bindingElement.initializer, true) - ? bindingElement.initializer.right + var initializer = bindingElement.initializer; + return ts.isAssignmentExpression(initializer, true) + ? initializer.right : undefined; } if (ts.isShorthandPropertyAssignment(bindingElement)) { @@ -47046,11 +47360,11 @@ var ts; } if (ts.isObjectLiteralElementLike(bindingElement)) { switch (bindingElement.kind) { - case 269: - return getTargetOfBindingOrAssignmentElement(bindingElement.initializer); case 270: - return bindingElement.name; + return getTargetOfBindingOrAssignmentElement(bindingElement.initializer); case 271: + return bindingElement.name; + case 272: return getTargetOfBindingOrAssignmentElement(bindingElement.expression); } return undefined; @@ -47066,11 +47380,11 @@ var ts; ts.getTargetOfBindingOrAssignmentElement = getTargetOfBindingOrAssignmentElement; function getRestIndicatorOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 148: - case 181: + case 149: + case 182: return bindingElement.dotDotDotToken; - case 203: - case 271: + case 204: + case 272: return bindingElement; } return undefined; @@ -47078,7 +47392,7 @@ var ts; ts.getRestIndicatorOfBindingOrAssignmentElement = getRestIndicatorOfBindingOrAssignmentElement; function getPropertyNameOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 181: + case 182: if (bindingElement.propertyName) { var propertyName = bindingElement.propertyName; return ts.isComputedPropertyName(propertyName) && ts.isStringOrNumericLiteral(propertyName.expression) @@ -47086,7 +47400,7 @@ var ts; : propertyName; } break; - case 269: + case 270: if (bindingElement.name) { var propertyName = bindingElement.name; return ts.isComputedPropertyName(propertyName) && ts.isStringOrNumericLiteral(propertyName.expression) @@ -47094,7 +47408,7 @@ var ts; : propertyName; } break; - case 271: + case 272: return bindingElement.name; } var target = getTargetOfBindingOrAssignmentElement(bindingElement); @@ -47108,11 +47422,11 @@ var ts; ts.getPropertyNameOfBindingOrAssignmentElement = getPropertyNameOfBindingOrAssignmentElement; function getElementsOfBindingOrAssignmentPattern(name) { switch (name.kind) { - case 179: case 180: - case 182: - return name.elements; + case 181: case 183: + return name.elements; + case 184: return name.properties; } } @@ -47151,11 +47465,11 @@ var ts; ts.convertToObjectAssignmentElement = convertToObjectAssignmentElement; function convertToAssignmentPattern(node) { switch (node.kind) { - case 180: - case 182: - return convertToArrayAssignmentPattern(node); - case 179: + case 181: case 183: + return convertToArrayAssignmentPattern(node); + case 180: + case 184: return convertToObjectAssignmentPattern(node); } } @@ -47292,257 +47606,257 @@ var ts; return undefined; } var kind = node.kind; - if ((kind > 0 && kind <= 144) || kind === 173) { + if ((kind > 0 && kind <= 145) || kind === 174) { return node; } switch (kind) { case 71: return ts.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, isTypeNodeOrTypeParameterDeclaration)); - case 145: - return ts.updateQualifiedName(node, visitNode(node.left, visitor, ts.isEntityName), visitNode(node.right, visitor, ts.isIdentifier)); case 146: - return ts.updateComputedPropertyName(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateQualifiedName(node, visitNode(node.left, visitor, ts.isEntityName), visitNode(node.right, visitor, ts.isIdentifier)); case 147: - return ts.updateTypeParameterDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.constraint, visitor, ts.isTypeNode), visitNode(node.default, visitor, ts.isTypeNode)); + return ts.updateComputedPropertyName(node, visitNode(node.expression, visitor, ts.isExpression)); case 148: - return ts.updateParameter(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); + return ts.updateTypeParameterDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.constraint, visitor, ts.isTypeNode), visitNode(node.default, visitor, ts.isTypeNode)); case 149: - return ts.updateDecorator(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateParameter(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); case 150: - return ts.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); + return ts.updateDecorator(node, visitNode(node.expression, visitor, ts.isExpression)); case 151: - return ts.updateProperty(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); + return ts.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); case 152: - return ts.updateMethodSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken)); + return ts.updateProperty(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); case 153: - return ts.updateMethod(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); + return ts.updateMethodSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken)); case 154: - return ts.updateConstructor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); + return ts.updateMethod(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); case 155: - return ts.updateGetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); + return ts.updateConstructor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); case 156: - return ts.updateSetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); + return ts.updateGetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); case 157: - return ts.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateSetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); case 158: - return ts.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); case 159: - return ts.updateIndexSignature(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); case 160: - return ts.updateTypePredicateNode(node, visitNode(node.parameterName, visitor), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateIndexSignature(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); case 161: - return ts.updateTypeReferenceNode(node, visitNode(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); + return ts.updateTypePredicateNode(node, visitNode(node.parameterName, visitor), visitNode(node.type, visitor, ts.isTypeNode)); case 162: - return ts.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateTypeReferenceNode(node, visitNode(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); case 163: - return ts.updateConstructorTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); case 164: - return ts.updateTypeQueryNode(node, visitNode(node.exprName, visitor, ts.isEntityName)); + return ts.updateConstructorTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); case 165: - return ts.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement)); + return ts.updateTypeQueryNode(node, visitNode(node.exprName, visitor, ts.isEntityName)); case 166: - return ts.updateArrayTypeNode(node, visitNode(node.elementType, visitor, ts.isTypeNode)); + return ts.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement)); case 167: - return ts.updateTypleTypeNode(node, nodesVisitor(node.elementTypes, visitor, ts.isTypeNode)); + return ts.updateArrayTypeNode(node, visitNode(node.elementType, visitor, ts.isTypeNode)); case 168: - return ts.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); + return ts.updateTypleTypeNode(node, nodesVisitor(node.elementTypes, visitor, ts.isTypeNode)); case 169: - return ts.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); + return ts.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); case 170: - return ts.updateConditionalTypeNode(node, visitNode(node.checkType, visitor, ts.isTypeNode), visitNode(node.extendsType, visitor, ts.isTypeNode), visitNode(node.trueType, visitor, ts.isTypeNode), visitNode(node.falseType, visitor, ts.isTypeNode)); + return ts.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); case 171: - return ts.updateInferTypeNode(node, visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration)); - case 178: - return ts.updateImportTypeNode(node, visitNode(node.argument, visitor, ts.isTypeNode), visitNode(node.qualifier, visitor, ts.isEntityName), visitNodes(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); + return ts.updateConditionalTypeNode(node, visitNode(node.checkType, visitor, ts.isTypeNode), visitNode(node.extendsType, visitor, ts.isTypeNode), visitNode(node.trueType, visitor, ts.isTypeNode), visitNode(node.falseType, visitor, ts.isTypeNode)); case 172: - return ts.updateParenthesizedType(node, visitNode(node.type, visitor, ts.isTypeNode)); - case 174: - return ts.updateTypeOperatorNode(node, visitNode(node.type, visitor, ts.isTypeNode)); - case 175: - return ts.updateIndexedAccessTypeNode(node, visitNode(node.objectType, visitor, ts.isTypeNode), visitNode(node.indexType, visitor, ts.isTypeNode)); - case 176: - return ts.updateMappedTypeNode(node, visitNode(node.readonlyToken, tokenVisitor, ts.isToken), visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode)); - case 177: - return ts.updateLiteralTypeNode(node, visitNode(node.literal, visitor, ts.isExpression)); + return ts.updateInferTypeNode(node, visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration)); case 179: - return ts.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement)); + return ts.updateImportTypeNode(node, visitNode(node.argument, visitor, ts.isTypeNode), visitNode(node.qualifier, visitor, ts.isEntityName), visitNodes(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); + case 173: + return ts.updateParenthesizedType(node, visitNode(node.type, visitor, ts.isTypeNode)); + case 175: + return ts.updateTypeOperatorNode(node, visitNode(node.type, visitor, ts.isTypeNode)); + case 176: + return ts.updateIndexedAccessTypeNode(node, visitNode(node.objectType, visitor, ts.isTypeNode), visitNode(node.indexType, visitor, ts.isTypeNode)); + case 177: + return ts.updateMappedTypeNode(node, visitNode(node.readonlyToken, tokenVisitor, ts.isToken), visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode)); + case 178: + return ts.updateLiteralTypeNode(node, visitNode(node.literal, visitor, ts.isExpression)); case 180: - return ts.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement)); + return ts.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement)); case 181: - return ts.updateBindingElement(node, visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.propertyName, visitor, ts.isPropertyName), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.initializer, visitor, ts.isExpression)); + return ts.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement)); case 182: - return ts.updateArrayLiteral(node, nodesVisitor(node.elements, visitor, ts.isExpression)); + return ts.updateBindingElement(node, visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.propertyName, visitor, ts.isPropertyName), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.initializer, visitor, ts.isExpression)); case 183: - return ts.updateObjectLiteral(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike)); + return ts.updateArrayLiteral(node, nodesVisitor(node.elements, visitor, ts.isExpression)); case 184: - return ts.updatePropertyAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.name, visitor, ts.isIdentifier)); + return ts.updateObjectLiteral(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike)); case 185: - return ts.updateElementAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.argumentExpression, visitor, ts.isExpression)); + return ts.updatePropertyAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.name, visitor, ts.isIdentifier)); case 186: - return ts.updateCall(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); + return ts.updateElementAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.argumentExpression, visitor, ts.isExpression)); case 187: - return ts.updateNew(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); + return ts.updateCall(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); case 188: - return ts.updateTaggedTemplate(node, visitNode(node.tag, visitor, ts.isExpression), visitNodes(node.typeArguments, visitor, ts.isExpression), visitNode(node.template, visitor, ts.isTemplateLiteral)); + return ts.updateNew(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); case 189: - return ts.updateTypeAssertion(node, visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateTaggedTemplate(node, visitNode(node.tag, visitor, ts.isExpression), visitNodes(node.typeArguments, visitor, ts.isExpression), visitNode(node.template, visitor, ts.isTemplateLiteral)); case 190: - return ts.updateParen(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateTypeAssertion(node, visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); case 191: - return ts.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); + return ts.updateParen(node, visitNode(node.expression, visitor, ts.isExpression)); case 192: - return ts.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.equalsGreaterThanToken, visitor, ts.isToken), visitFunctionBody(node.body, visitor, context)); + return ts.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); case 193: - return ts.updateDelete(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.equalsGreaterThanToken, visitor, ts.isToken), visitFunctionBody(node.body, visitor, context)); case 194: - return ts.updateTypeOf(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateDelete(node, visitNode(node.expression, visitor, ts.isExpression)); case 195: - return ts.updateVoid(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateTypeOf(node, visitNode(node.expression, visitor, ts.isExpression)); case 196: - return ts.updateAwait(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateVoid(node, visitNode(node.expression, visitor, ts.isExpression)); case 197: - return ts.updatePrefix(node, visitNode(node.operand, visitor, ts.isExpression)); + return ts.updateAwait(node, visitNode(node.expression, visitor, ts.isExpression)); case 198: - return ts.updatePostfix(node, visitNode(node.operand, visitor, ts.isExpression)); + return ts.updatePrefix(node, visitNode(node.operand, visitor, ts.isExpression)); case 199: - return ts.updateBinary(node, visitNode(node.left, visitor, ts.isExpression), visitNode(node.right, visitor, ts.isExpression), visitNode(node.operatorToken, visitor, ts.isToken)); + return ts.updatePostfix(node, visitNode(node.operand, visitor, ts.isExpression)); case 200: - return ts.updateConditional(node, visitNode(node.condition, visitor, ts.isExpression), visitNode(node.questionToken, visitor, ts.isToken), visitNode(node.whenTrue, visitor, ts.isExpression), visitNode(node.colonToken, visitor, ts.isToken), visitNode(node.whenFalse, visitor, ts.isExpression)); + return ts.updateBinary(node, visitNode(node.left, visitor, ts.isExpression), visitNode(node.right, visitor, ts.isExpression), visitNode(node.operatorToken, visitor, ts.isToken)); case 201: - return ts.updateTemplateExpression(node, visitNode(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan)); + return ts.updateConditional(node, visitNode(node.condition, visitor, ts.isExpression), visitNode(node.questionToken, visitor, ts.isToken), visitNode(node.whenTrue, visitor, ts.isExpression), visitNode(node.colonToken, visitor, ts.isToken), visitNode(node.whenFalse, visitor, ts.isExpression)); case 202: - return ts.updateYield(node, visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateTemplateExpression(node, visitNode(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan)); case 203: - return ts.updateSpread(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateYield(node, visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.expression, visitor, ts.isExpression)); case 204: + return ts.updateSpread(node, visitNode(node.expression, visitor, ts.isExpression)); + case 205: return ts.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 206: - return ts.updateExpressionWithTypeArguments(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); case 207: - return ts.updateAsExpression(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateExpressionWithTypeArguments(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); case 208: - return ts.updateNonNullExpression(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateAsExpression(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.type, visitor, ts.isTypeNode)); case 209: - return ts.updateMetaProperty(node, visitNode(node.name, visitor, ts.isIdentifier)); + return ts.updateNonNullExpression(node, visitNode(node.expression, visitor, ts.isExpression)); case 210: + return ts.updateMetaProperty(node, visitNode(node.name, visitor, ts.isIdentifier)); + case 211: return ts.updateTemplateSpan(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail)); - case 212: - return ts.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); case 213: + return ts.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); + case 214: return ts.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.declarationList, visitor, ts.isVariableDeclarationList)); - case 215: - return ts.updateStatement(node, visitNode(node.expression, visitor, ts.isExpression)); case 216: - return ts.updateIf(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.thenStatement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.elseStatement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateStatement(node, visitNode(node.expression, visitor, ts.isExpression)); case 217: - return ts.updateDo(node, visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateIf(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.thenStatement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.elseStatement, visitor, ts.isStatement, ts.liftToBlock)); case 218: - return ts.updateWhile(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateDo(node, visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.expression, visitor, ts.isExpression)); case 219: - return ts.updateFor(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.condition, visitor, ts.isExpression), visitNode(node.incrementor, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateWhile(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); case 220: - return ts.updateForIn(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateFor(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.condition, visitor, ts.isExpression), visitNode(node.incrementor, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); case 221: - return ts.updateForOf(node, visitNode(node.awaitModifier, visitor, ts.isToken), visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateForIn(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); case 222: - return ts.updateContinue(node, visitNode(node.label, visitor, ts.isIdentifier)); + return ts.updateForOf(node, visitNode(node.awaitModifier, visitor, ts.isToken), visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); case 223: - return ts.updateBreak(node, visitNode(node.label, visitor, ts.isIdentifier)); + return ts.updateContinue(node, visitNode(node.label, visitor, ts.isIdentifier)); case 224: - return ts.updateReturn(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateBreak(node, visitNode(node.label, visitor, ts.isIdentifier)); case 225: - return ts.updateWith(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateReturn(node, visitNode(node.expression, visitor, ts.isExpression)); case 226: - return ts.updateSwitch(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.caseBlock, visitor, ts.isCaseBlock)); + return ts.updateWith(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); case 227: - return ts.updateLabel(node, visitNode(node.label, visitor, ts.isIdentifier), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateSwitch(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.caseBlock, visitor, ts.isCaseBlock)); case 228: - return ts.updateThrow(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateLabel(node, visitNode(node.label, visitor, ts.isIdentifier), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); case 229: + return ts.updateThrow(node, visitNode(node.expression, visitor, ts.isExpression)); + case 230: return ts.updateTry(node, visitNode(node.tryBlock, visitor, ts.isBlock), visitNode(node.catchClause, visitor, ts.isCatchClause), visitNode(node.finallyBlock, visitor, ts.isBlock)); - case 231: - return ts.updateVariableDeclaration(node, visitNode(node.name, visitor, ts.isBindingName), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); case 232: - return ts.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration)); + return ts.updateVariableDeclaration(node, visitNode(node.name, visitor, ts.isBindingName), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); case 233: - return ts.updateFunctionDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); + return ts.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration)); case 234: - return ts.updateClassDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); + return ts.updateFunctionDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); case 235: - return ts.updateInterfaceDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement)); + return ts.updateClassDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); case 236: - return ts.updateTypeAliasDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateInterfaceDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement)); case 237: - return ts.updateEnumDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember)); + return ts.updateTypeAliasDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); case 238: - return ts.updateModuleDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.body, visitor, ts.isModuleBody)); + return ts.updateEnumDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember)); case 239: - return ts.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); + return ts.updateModuleDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.body, visitor, ts.isModuleBody)); case 240: - return ts.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause)); + return ts.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); case 241: - return ts.updateNamespaceExportDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier)); + return ts.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause)); case 242: - return ts.updateImportEqualsDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.moduleReference, visitor, ts.isModuleReference)); + return ts.updateNamespaceExportDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier)); case 243: - return ts.updateImportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.importClause, visitor, ts.isImportClause), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); + return ts.updateImportEqualsDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.moduleReference, visitor, ts.isModuleReference)); case 244: - return ts.updateImportClause(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.namedBindings, visitor, ts.isNamedImportBindings)); + return ts.updateImportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.importClause, visitor, ts.isImportClause), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); case 245: - return ts.updateNamespaceImport(node, visitNode(node.name, visitor, ts.isIdentifier)); + return ts.updateImportClause(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.namedBindings, visitor, ts.isNamedImportBindings)); case 246: - return ts.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier)); + return ts.updateNamespaceImport(node, visitNode(node.name, visitor, ts.isIdentifier)); case 247: - return ts.updateImportSpecifier(node, visitNode(node.propertyName, visitor, ts.isIdentifier), visitNode(node.name, visitor, ts.isIdentifier)); + return ts.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier)); case 248: - return ts.updateExportAssignment(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateImportSpecifier(node, visitNode(node.propertyName, visitor, ts.isIdentifier), visitNode(node.name, visitor, ts.isIdentifier)); case 249: - return ts.updateExportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.exportClause, visitor, ts.isNamedExports), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); + return ts.updateExportAssignment(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.expression, visitor, ts.isExpression)); case 250: - return ts.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier)); + return ts.updateExportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.exportClause, visitor, ts.isNamedExports), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); case 251: + return ts.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier)); + case 252: return ts.updateExportSpecifier(node, visitNode(node.propertyName, visitor, ts.isIdentifier), visitNode(node.name, visitor, ts.isIdentifier)); - case 253: - return ts.updateExternalModuleReference(node, visitNode(node.expression, visitor, ts.isExpression)); case 254: - return ts.updateJsxElement(node, visitNode(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), visitNode(node.closingElement, visitor, ts.isJsxClosingElement)); + return ts.updateExternalModuleReference(node, visitNode(node.expression, visitor, ts.isExpression)); case 255: - return ts.updateJsxSelfClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); + return ts.updateJsxElement(node, visitNode(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), visitNode(node.closingElement, visitor, ts.isJsxClosingElement)); case 256: - return ts.updateJsxOpeningElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); + return ts.updateJsxSelfClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); case 257: - return ts.updateJsxClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression)); + return ts.updateJsxOpeningElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); case 258: + return ts.updateJsxClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression)); + case 259: return ts.updateJsxFragment(node, visitNode(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), visitNode(node.closingFragment, visitor, ts.isJsxClosingFragment)); - case 261: - return ts.updateJsxAttribute(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.initializer, visitor, ts.isStringLiteralOrJsxExpression)); case 262: - return ts.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike)); + return ts.updateJsxAttribute(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.initializer, visitor, ts.isStringLiteralOrJsxExpression)); case 263: - return ts.updateJsxSpreadAttribute(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike)); case 264: - return ts.updateJsxExpression(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateJsxSpreadAttribute(node, visitNode(node.expression, visitor, ts.isExpression)); case 265: - return ts.updateCaseClause(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement)); + return ts.updateJsxExpression(node, visitNode(node.expression, visitor, ts.isExpression)); case 266: - return ts.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement)); + return ts.updateCaseClause(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement)); case 267: - return ts.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments)); + return ts.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement)); case 268: - return ts.updateCatchClause(node, visitNode(node.variableDeclaration, visitor, ts.isVariableDeclaration), visitNode(node.block, visitor, ts.isBlock)); + return ts.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments)); case 269: - return ts.updatePropertyAssignment(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); + return ts.updateCatchClause(node, visitNode(node.variableDeclaration, visitor, ts.isVariableDeclaration), visitNode(node.block, visitor, ts.isBlock)); case 270: - return ts.updateShorthandPropertyAssignment(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.objectAssignmentInitializer, visitor, ts.isExpression)); + return ts.updatePropertyAssignment(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); case 271: - return ts.updateSpreadAssignment(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateShorthandPropertyAssignment(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.objectAssignmentInitializer, visitor, ts.isExpression)); case 272: - return ts.updateEnumMember(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); + return ts.updateSpreadAssignment(node, visitNode(node.expression, visitor, ts.isExpression)); case 273: + return ts.updateEnumMember(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); + case 274: return ts.updateSourceFileNode(node, visitLexicalEnvironment(node.statements, visitor, context)); - case 300: - return ts.updatePartiallyEmittedExpression(node, visitNode(node.expression, visitor, ts.isExpression)); case 301: + return ts.updatePartiallyEmittedExpression(node, visitNode(node.expression, visitor, ts.isExpression)); + case 302: return ts.updateCommaList(node, nodesVisitor(node.elements, visitor, ts.isExpression)); default: return node; @@ -47568,52 +47882,52 @@ var ts; var reduceNodes = cbNodeArray ? reduceNodeArray : ts.reduceLeft; var cbNodes = cbNodeArray || cbNode; var kind = node.kind; - if ((kind > 0 && kind <= 144)) { + if ((kind > 0 && kind <= 145)) { return initial; } - if ((kind >= 160 && kind <= 177)) { + if ((kind >= 161 && kind <= 178)) { return initial; } var result = initial; switch (node.kind) { - case 211: - case 214: - case 205: - case 230: - case 299: + case 212: + case 215: + case 206: + case 231: + case 300: break; - case 145: + case 146: result = reduceNode(node.left, cbNode, result); result = reduceNode(node.right, cbNode, result); break; - case 146: + case 147: result = reduceNode(node.expression, cbNode, result); break; - case 148: + case 149: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 149: + case 150: result = reduceNode(node.expression, cbNode, result); break; - case 150: + case 151: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.questionToken, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 151: + case 152: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 153: + case 154: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -47622,53 +47936,48 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 154: - result = reduceNodes(node.modifiers, cbNodes, result); - result = reduceNodes(node.parameters, cbNodes, result); - result = reduceNode(node.body, cbNode, result); - break; case 155: - result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); - result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.parameters, cbNodes, result); - result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; case 156: + result = reduceNodes(node.decorators, cbNodes, result); + result = reduceNodes(node.modifiers, cbNodes, result); + result = reduceNode(node.name, cbNode, result); + result = reduceNodes(node.parameters, cbNodes, result); + result = reduceNode(node.type, cbNode, result); + result = reduceNode(node.body, cbNode, result); + break; + case 157: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.parameters, cbNodes, result); result = reduceNode(node.body, cbNode, result); break; - case 179: case 180: + case 181: result = reduceNodes(node.elements, cbNodes, result); break; - case 181: + case 182: result = reduceNode(node.propertyName, cbNode, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 182: + case 183: result = reduceNodes(node.elements, cbNodes, result); break; - case 183: - result = reduceNodes(node.properties, cbNodes, result); - break; case 184: - result = reduceNode(node.expression, cbNode, result); - result = reduceNode(node.name, cbNode, result); + result = reduceNodes(node.properties, cbNodes, result); break; case 185: result = reduceNode(node.expression, cbNode, result); - result = reduceNode(node.argumentExpression, cbNode, result); + result = reduceNode(node.name, cbNode, result); break; case 186: result = reduceNode(node.expression, cbNode, result); - result = reduceNodes(node.typeArguments, cbNodes, result); - result = reduceNodes(node.arguments, cbNodes, result); + result = reduceNode(node.argumentExpression, cbNode, result); break; case 187: result = reduceNode(node.expression, cbNode, result); @@ -47676,14 +47985,19 @@ var ts; result = reduceNodes(node.arguments, cbNodes, result); break; case 188: + result = reduceNode(node.expression, cbNode, result); + result = reduceNodes(node.typeArguments, cbNodes, result); + result = reduceNodes(node.arguments, cbNodes, result); + break; + case 189: result = reduceNode(node.tag, cbNode, result); result = reduceNode(node.template, cbNode, result); break; - case 189: + case 190: result = reduceNode(node.type, cbNode, result); result = reduceNode(node.expression, cbNode, result); break; - case 191: + case 192: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.typeParameters, cbNodes, result); @@ -47691,262 +48005,262 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 192: + case 193: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNodes(node.typeParameters, cbNodes, result); result = reduceNodes(node.parameters, cbNodes, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 190: - case 193: + case 191: case 194: case 195: case 196: - case 202: + case 197: case 203: - case 208: + case 204: + case 209: result = reduceNode(node.expression, cbNode, result); break; - case 197: case 198: + case 199: result = reduceNode(node.operand, cbNode, result); break; - case 199: + case 200: result = reduceNode(node.left, cbNode, result); result = reduceNode(node.right, cbNode, result); break; - case 200: + case 201: result = reduceNode(node.condition, cbNode, result); result = reduceNode(node.whenTrue, cbNode, result); result = reduceNode(node.whenFalse, cbNode, result); break; - case 201: + case 202: result = reduceNode(node.head, cbNode, result); result = reduceNodes(node.templateSpans, cbNodes, result); break; - case 204: + case 205: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.typeParameters, cbNodes, result); result = reduceNodes(node.heritageClauses, cbNodes, result); result = reduceNodes(node.members, cbNodes, result); break; - case 206: + case 207: result = reduceNode(node.expression, cbNode, result); result = reduceNodes(node.typeArguments, cbNodes, result); break; - case 207: + case 208: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.type, cbNode, result); break; - case 210: + case 211: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.literal, cbNode, result); break; - case 212: + case 213: result = reduceNodes(node.statements, cbNodes, result); break; - case 213: + case 214: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.declarationList, cbNode, result); break; - case 215: + case 216: result = reduceNode(node.expression, cbNode, result); break; - case 216: + case 217: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.thenStatement, cbNode, result); result = reduceNode(node.elseStatement, cbNode, result); break; - case 217: - result = reduceNode(node.statement, cbNode, result); - result = reduceNode(node.expression, cbNode, result); - break; case 218: - case 225: - result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.statement, cbNode, result); + result = reduceNode(node.expression, cbNode, result); break; case 219: + case 226: + result = reduceNode(node.expression, cbNode, result); + result = reduceNode(node.statement, cbNode, result); + break; + case 220: result = reduceNode(node.initializer, cbNode, result); result = reduceNode(node.condition, cbNode, result); result = reduceNode(node.incrementor, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 220: case 221: + case 222: result = reduceNode(node.initializer, cbNode, result); result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 224: - case 228: + case 225: + case 229: result = reduceNode(node.expression, cbNode, result); break; - case 226: + case 227: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.caseBlock, cbNode, result); break; - case 227: + case 228: result = reduceNode(node.label, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 229: + case 230: result = reduceNode(node.tryBlock, cbNode, result); result = reduceNode(node.catchClause, cbNode, result); result = reduceNode(node.finallyBlock, cbNode, result); break; - case 231: + case 232: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 232: - result = reduceNodes(node.declarations, cbNodes, result); - break; case 233: - result = reduceNodes(node.decorators, cbNodes, result); - result = reduceNodes(node.modifiers, cbNodes, result); - result = reduceNode(node.name, cbNode, result); - result = reduceNodes(node.typeParameters, cbNodes, result); - result = reduceNodes(node.parameters, cbNodes, result); - result = reduceNode(node.type, cbNode, result); - result = reduceNode(node.body, cbNode, result); + result = reduceNodes(node.declarations, cbNodes, result); break; case 234: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.typeParameters, cbNodes, result); - result = reduceNodes(node.heritageClauses, cbNodes, result); - result = reduceNodes(node.members, cbNodes, result); + result = reduceNodes(node.parameters, cbNodes, result); + result = reduceNode(node.type, cbNode, result); + result = reduceNode(node.body, cbNode, result); break; - case 237: + case 235: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); + result = reduceNodes(node.typeParameters, cbNodes, result); + result = reduceNodes(node.heritageClauses, cbNodes, result); result = reduceNodes(node.members, cbNodes, result); break; case 238: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); - result = reduceNode(node.body, cbNode, result); + result = reduceNodes(node.members, cbNodes, result); break; case 239: - result = reduceNodes(node.statements, cbNodes, result); + result = reduceNodes(node.decorators, cbNodes, result); + result = reduceNodes(node.modifiers, cbNodes, result); + result = reduceNode(node.name, cbNode, result); + result = reduceNode(node.body, cbNode, result); break; case 240: + result = reduceNodes(node.statements, cbNodes, result); + break; + case 241: result = reduceNodes(node.clauses, cbNodes, result); break; - case 242: + case 243: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.moduleReference, cbNode, result); break; - case 243: + case 244: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.importClause, cbNode, result); result = reduceNode(node.moduleSpecifier, cbNode, result); break; - case 244: + case 245: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.namedBindings, cbNode, result); break; - case 245: - result = reduceNode(node.name, cbNode, result); - break; case 246: - case 250: - result = reduceNodes(node.elements, cbNodes, result); + result = reduceNode(node.name, cbNode, result); break; case 247: case 251: + result = reduceNodes(node.elements, cbNodes, result); + break; + case 248: + case 252: result = reduceNode(node.propertyName, cbNode, result); result = reduceNode(node.name, cbNode, result); break; - case 248: + case 249: result = ts.reduceLeft(node.decorators, cbNode, result); result = ts.reduceLeft(node.modifiers, cbNode, result); result = reduceNode(node.expression, cbNode, result); break; - case 249: + case 250: result = ts.reduceLeft(node.decorators, cbNode, result); result = ts.reduceLeft(node.modifiers, cbNode, result); result = reduceNode(node.exportClause, cbNode, result); result = reduceNode(node.moduleSpecifier, cbNode, result); break; - case 253: + case 254: result = reduceNode(node.expression, cbNode, result); break; - case 254: + case 255: result = reduceNode(node.openingElement, cbNode, result); result = ts.reduceLeft(node.children, cbNode, result); result = reduceNode(node.closingElement, cbNode, result); break; - case 258: + case 259: result = reduceNode(node.openingFragment, cbNode, result); result = ts.reduceLeft(node.children, cbNode, result); result = reduceNode(node.closingFragment, cbNode, result); break; - case 255: case 256: + case 257: result = reduceNode(node.tagName, cbNode, result); result = reduceNode(node.attributes, cbNode, result); break; - case 262: + case 263: result = reduceNodes(node.properties, cbNodes, result); break; - case 257: + case 258: result = reduceNode(node.tagName, cbNode, result); break; - case 261: + case 262: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 263: - result = reduceNode(node.expression, cbNode, result); - break; case 264: result = reduceNode(node.expression, cbNode, result); break; case 265: result = reduceNode(node.expression, cbNode, result); + break; case 266: + result = reduceNode(node.expression, cbNode, result); + case 267: result = reduceNodes(node.statements, cbNodes, result); break; - case 267: + case 268: result = reduceNodes(node.types, cbNodes, result); break; - case 268: + case 269: result = reduceNode(node.variableDeclaration, cbNode, result); result = reduceNode(node.block, cbNode, result); break; - case 269: + case 270: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 270: + case 271: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.objectAssignmentInitializer, cbNode, result); break; - case 271: + case 272: result = reduceNode(node.expression, cbNode, result); break; - case 272: + case 273: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 273: + case 274: result = reduceNodes(node.statements, cbNodes, result); break; - case 300: + case 301: result = reduceNode(node.expression, cbNode, result); break; - case 301: + case 302: result = reduceNodes(node.elements, cbNodes, result); break; default: @@ -47960,8 +48274,8 @@ var ts; return statements; } return ts.isNodeArray(statements) - ? ts.setTextRange(ts.createNodeArray(ts.concatenate(declarations, statements)), statements) - : ts.prependRange(statements, declarations); + ? ts.setTextRange(ts.createNodeArray(ts.prependStatements(statements.slice(), declarations)), statements) + : ts.prependStatements(statements, declarations); } ts.mergeLexicalEnvironment = mergeLexicalEnvironment; function liftToBlock(nodes) { @@ -47999,7 +48313,7 @@ var ts; return subtreeFlags; } function aggregateTransformFlagsForSubtree(node) { - if (ts.hasModifier(node, 2) || (ts.isTypeNode(node) && node.kind !== 206)) { + if (ts.hasModifier(node, 2) || (ts.isTypeNode(node) && node.kind !== 207)) { return 0; } return reduceEachChild(node, 0, aggregateTransformFlagsForChildNode, aggregateTransformFlagsForChildNodes); @@ -48040,7 +48354,7 @@ var ts; }); Object.defineProperties(ts.objectAllocator.getTypeConstructor().prototype, { __debugFlags: { get: function () { return ts.formatTypeFlags(this.flags); } }, - __debugObjectFlags: { get: function () { return this.flags & 65536 ? ts.formatObjectFlags(this.objectFlags) : ""; } }, + __debugObjectFlags: { get: function () { return this.flags & 131072 ? ts.formatObjectFlags(this.objectFlags) : ""; } }, __debugTypeToString: { value: function () { return this.checker.typeToString(this); } }, }); var nodeConstructors = [ @@ -48089,12 +48403,12 @@ var ts; return ts.some(node.elements, isNamedDefaultReference); } function isNamedDefaultReference(e) { - return e.propertyName && e.propertyName.escapedText === "default"; + return e.propertyName !== undefined && e.propertyName.escapedText === "default"; } function chainBundle(transformSourceFile) { return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - return node.kind === 273 ? transformSourceFile(node) : transformBundle(node); + return node.kind === 274 ? transformSourceFile(node) : transformBundle(node); } function transformBundle(node) { return ts.createBundle(ts.map(node.sourceFiles, transformSourceFile), node.prepends); @@ -48122,7 +48436,7 @@ var ts; } ts.getImportNeedsImportStarHelper = getImportNeedsImportStarHelper; function getImportNeedsImportDefaultHelper(node) { - return !getImportNeedsImportStarHelper(node) && (ts.isDefaultImport(node) || (node.importClause && ts.isNamedImports(node.importClause.namedBindings) && containsDefaultReference(node.importClause.namedBindings))); + return !getImportNeedsImportStarHelper(node) && (ts.isDefaultImport(node) || (!!node.importClause && ts.isNamedImports(node.importClause.namedBindings) && containsDefaultReference(node.importClause.namedBindings))); } ts.getImportNeedsImportDefaultHelper = getImportNeedsImportDefaultHelper; function collectExternalModuleInfo(sourceFile, resolver, compilerOptions) { @@ -48138,16 +48452,16 @@ var ts; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var node = _a[_i]; switch (node.kind) { - case 243: + case 244: externalImports.push(node); hasImportStarOrImportDefault = hasImportStarOrImportDefault || getImportNeedsImportStarHelper(node) || getImportNeedsImportDefaultHelper(node); break; - case 242: - if (node.moduleReference.kind === 253) { + case 243: + if (node.moduleReference.kind === 254) { externalImports.push(node); } break; - case 249: + case 250: if (node.moduleSpecifier) { if (!node.exportClause) { externalImports.push(node); @@ -48174,12 +48488,12 @@ var ts; } } break; - case 248: + case 249: if (node.isExportEquals && !exportEquals) { exportEquals = node; } break; - case 213: + case 214: if (ts.hasModifier(node, 1)) { for (var _d = 0, _e = node.declarationList.declarations; _d < _e.length; _d++) { var decl = _e[_d]; @@ -48187,7 +48501,7 @@ var ts; } } break; - case 233: + case 234: if (ts.hasModifier(node, 1)) { if (ts.hasModifier(node, 512)) { if (!hasExportDefault) { @@ -48205,7 +48519,7 @@ var ts; } } break; - case 234: + case 235: if (ts.hasModifier(node, 1)) { if (ts.hasModifier(node, 512)) { if (!hasExportDefault) { @@ -48307,7 +48621,7 @@ var ts; var flattenContext = { context: context, level: level, - downlevelIteration: context.getCompilerOptions().downlevelIteration, + downlevelIteration: !!context.getCompilerOptions().downlevelIteration, hoistTempVariables: true, emitExpression: emitExpression, emitBindingOrAssignment: emitBindingOrAssignment, @@ -48372,13 +48686,14 @@ var ts; return false; } function flattenDestructuringBinding(node, visitor, context, level, rval, hoistTempVariables, skipInitializer) { + if (hoistTempVariables === void 0) { hoistTempVariables = false; } var pendingExpressions; var pendingDeclarations = []; var declarations = []; var flattenContext = { context: context, level: level, - downlevelIteration: context.getCompilerOptions().downlevelIteration, + downlevelIteration: !!context.getCompilerOptions().downlevelIteration, hoistTempVariables: hoistTempVariables, emitExpression: emitExpression, emitBindingOrAssignment: emitBindingOrAssignment, @@ -48404,7 +48719,7 @@ var ts; } else { context.hoistVariableDeclaration(temp); - var pendingDeclaration = ts.lastOrUndefined(pendingDeclarations); + var pendingDeclaration = ts.last(pendingDeclarations); pendingDeclaration.pendingExpressions = ts.append(pendingDeclaration.pendingExpressions, ts.createAssignment(temp, pendingDeclaration.value)); ts.addRange(pendingDeclaration.pendingExpressions, pendingExpressions); pendingDeclaration.value = temp; @@ -48649,8 +48964,8 @@ var ts; var previousOnSubstituteNode = context.onSubstituteNode; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; - context.enableSubstitution(184); context.enableSubstitution(185); + context.enableSubstitution(186); var currentSourceFile; var currentNamespace; var currentNamespaceContainerName; @@ -48662,14 +48977,14 @@ var ts; var pendingExpressions; return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - if (node.kind === 274) { + if (node.kind === 275) { return transformBundle(node); } return transformSourceFile(node); } function transformBundle(node) { return ts.createBundle(node.sourceFiles.map(transformSourceFile), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 276) { + if (prepend.kind === 277) { return ts.createUnparsedSourceFile(prepend.javascriptText); } return prepend; @@ -48698,15 +49013,15 @@ var ts; } function onBeforeVisitNode(node) { switch (node.kind) { - case 273: + case 274: + case 241: case 240: - case 239: - case 212: + case 213: currentScope = node; currentScopeFirstDeclarationsOfName = undefined; break; + case 235: case 234: - case 233: if (ts.hasModifier(node, 2)) { break; } @@ -48714,7 +49029,7 @@ var ts; recordEmittedDeclarationInScope(node); } else { - ts.Debug.assert(node.kind === 234 || ts.hasModifier(node, 512)); + ts.Debug.assert(node.kind === 235 || ts.hasModifier(node, 512)); } break; } @@ -48736,10 +49051,10 @@ var ts; } function sourceElementVisitorWorker(node) { switch (node.kind) { + case 244: case 243: - case 242: - case 248: case 249: + case 250: return visitEllidableStatement(node); default: return visitorWorker(node); @@ -48754,13 +49069,13 @@ var ts; return node; } switch (node.kind) { - case 243: + case 244: return visitImportDeclaration(node); - case 242: + case 243: return visitImportEqualsDeclaration(node); - case 248: - return visitExportAssignment(node); case 249: + return visitExportAssignment(node); + case 250: return visitExportDeclaration(node); default: ts.Debug.fail("Unhandled ellided statement"); @@ -48770,11 +49085,11 @@ var ts; return saveStateAndInvoke(node, namespaceElementVisitorWorker); } function namespaceElementVisitorWorker(node) { - if (node.kind === 249 || - node.kind === 243 || + if (node.kind === 250 || node.kind === 244 || - (node.kind === 242 && - node.moduleReference.kind === 253)) { + node.kind === 245 || + (node.kind === 243 && + node.moduleReference.kind === 254)) { return undefined; } else if (node.transformFlags & 1 || ts.hasModifier(node, 1)) { @@ -48790,15 +49105,15 @@ var ts; } function classElementVisitorWorker(node) { switch (node.kind) { - case 154: - return undefined; - case 151: - case 159: case 155: + return undefined; + case 152: + case 160: case 156: - case 153: + case 157: + case 154: return visitorWorker(node); - case 211: + case 212: return node; default: return ts.Debug.failBadSyntaxKind(node); @@ -48828,87 +49143,88 @@ var ts; case 76: case 124: case 132: - case 166: case 167: - case 165: - case 160: - case 147: + case 168: + case 166: + case 161: + case 148: case 119: + case 142: case 122: case 137: case 134: case 131: case 105: case 138: - case 163: - case 162: case 164: - case 161: - case 168: + case 163: + case 165: + case 162: case 169: case 170: - case 172: + case 171: case 173: case 174: case 175: case 176: case 177: - case 159: - case 149: - case 236: - return undefined; - case 151: - return visitPropertyDeclaration(node); - case 241: - return undefined; - case 154: - return visitConstructor(node); - case 235: - return ts.createNotEmittedStatement(node); - case 234: - return visitClassDeclaration(node); - case 204: - return visitClassExpression(node); - case 267: - return visitHeritageClause(node); - case 206: - return visitExpressionWithTypeArguments(node); - case 153: - return visitMethodDeclaration(node); - case 155: - return visitGetAccessor(node); - case 156: - return visitSetAccessor(node); - case 233: - return visitFunctionDeclaration(node); - case 191: - return visitFunctionExpression(node); - case 192: - return visitArrowFunction(node); - case 148: - return visitParameter(node); - case 190: - return visitParenthesizedExpression(node); - case 189: - case 207: - return visitAssertionExpression(node); - case 186: - return visitCallExpression(node); - case 187: - return visitNewExpression(node); - case 188: - return visitTaggedTemplateExpression(node); - case 208: - return visitNonNullExpression(node); + case 178: + case 160: + case 150: case 237: - return visitEnumDeclaration(node); - case 213: - return visitVariableStatement(node); - case 231: - return visitVariableDeclaration(node); - case 238: - return visitModuleDeclaration(node); + return undefined; + case 152: + return visitPropertyDeclaration(node); case 242: + return undefined; + case 155: + return visitConstructor(node); + case 236: + return ts.createNotEmittedStatement(node); + case 235: + return visitClassDeclaration(node); + case 205: + return visitClassExpression(node); + case 268: + return visitHeritageClause(node); + case 207: + return visitExpressionWithTypeArguments(node); + case 154: + return visitMethodDeclaration(node); + case 156: + return visitGetAccessor(node); + case 157: + return visitSetAccessor(node); + case 234: + return visitFunctionDeclaration(node); + case 192: + return visitFunctionExpression(node); + case 193: + return visitArrowFunction(node); + case 149: + return visitParameter(node); + case 191: + return visitParenthesizedExpression(node); + case 190: + case 208: + return visitAssertionExpression(node); + case 187: + return visitCallExpression(node); + case 188: + return visitNewExpression(node); + case 189: + return visitTaggedTemplateExpression(node); + case 209: + return visitNonNullExpression(node); + case 238: + return visitEnumDeclaration(node); + case 214: + return visitVariableStatement(node); + case 232: + return visitVariableDeclaration(node); + case 239: + return visitModuleDeclaration(node); + case 243: return visitImportEqualsDeclaration(node); default: return ts.Debug.failBadSyntaxKind(node); @@ -48916,7 +49232,8 @@ var ts; } function visitSourceFile(node) { var alwaysStrict = ts.getStrictOptionValue(compilerOptions, "alwaysStrict") && - !(ts.isExternalModule(node) && moduleKind >= ts.ModuleKind.ES2015); + !(ts.isExternalModule(node) && moduleKind >= ts.ModuleKind.ES2015) && + !ts.isJsonSourceFile(node); return ts.updateSourceFileNode(node, ts.visitLexicalEnvironment(node.statements, sourceElementVisitor, context, 0, alwaysStrict)); } function shouldEmitDecorateCallForClass(node) { @@ -48986,7 +49303,7 @@ var ts; statement.pos = closingBraceLocation.pos; ts.setEmitFlags(statement, 1536 | 384); statements.push(statement); - ts.prependRange(statements, context.endLexicalEnvironment()); + ts.prependStatements(statements, context.endLexicalEnvironment()); var iife = ts.createImmediatelyInvokedArrowFunction(statements); ts.setEmitFlags(iife, 33554432); var varStatement = ts.createVariableStatement(undefined, ts.createVariableDeclarationList([ @@ -49128,7 +49445,7 @@ var ts; return index; } var statement = statements[index]; - if (statement.kind === 215 && ts.isSuperCall(statement.expression)) { + if (statement.kind === 216 && ts.isSuperCall(statement.expression)) { result.push(ts.visitNode(statement, visitor, ts.isStatement)); return index + 1; } @@ -49162,7 +49479,7 @@ var ts; return isInitializedProperty(member, false); } function isInitializedProperty(member, isStatic) { - return member.kind === 151 + return member.kind === 152 && isStatic === ts.hasModifier(member, 32) && member.initializer !== undefined; } @@ -49237,12 +49554,12 @@ var ts; } function getAllDecoratorsOfClassElement(node, member) { switch (member.kind) { - case 155: case 156: + case 157: return getAllDecoratorsOfAccessors(node, member); - case 153: + case 154: return getAllDecoratorsOfMethod(member); - case 151: + case 152: return getAllDecoratorsOfProperty(member); default: return undefined; @@ -49321,7 +49638,7 @@ var ts; var prefix = getClassMemberPrefix(node, member); var memberName = getExpressionForPropertyName(member, true); var descriptor = languageVersion > 0 - ? member.kind === 151 + ? member.kind === 152 ? ts.createVoidZero() : ts.createNull() : undefined; @@ -49405,37 +49722,37 @@ var ts; } function shouldAddTypeMetadata(node) { var kind = node.kind; - return kind === 153 - || kind === 155 + return kind === 154 || kind === 156 - || kind === 151; + || kind === 157 + || kind === 152; } function shouldAddReturnTypeMetadata(node) { - return node.kind === 153; + return node.kind === 154; } function shouldAddParamTypesMetadata(node) { switch (node.kind) { - case 234: - case 204: + case 235: + case 205: return ts.getFirstConstructorWithBody(node) !== undefined; - case 153: - case 155: + case 154: case 156: + case 157: return true; } return false; } function serializeTypeOfNode(node) { switch (node.kind) { - case 151: - case 148: - case 155: - return serializeTypeNode(node.type); + case 152: + case 149: case 156: + return serializeTypeNode(node.type); + case 157: return serializeTypeNode(ts.getSetAccessorTypeAnnotationNode(node)); - case 234: - case 204: - case 153: + case 235: + case 205: + case 154: return ts.createIdentifier("Function"); default: return ts.createVoidZero(); @@ -49467,7 +49784,7 @@ var ts; return ts.createArrayLiteral(expressions); } function getParametersOfDecoratedDeclaration(node, container) { - if (container && node.kind === 155) { + if (container && node.kind === 156) { var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor; if (setAccessor) { return setAccessor.parameters; @@ -49494,22 +49811,22 @@ var ts; case 95: case 131: return ts.createVoidZero(); - case 172: + case 173: return serializeTypeNode(node.type); - case 162: case 163: + case 164: return ts.createIdentifier("Function"); - case 166: case 167: + case 168: return ts.createIdentifier("Array"); - case 160: + case 161: case 122: return ts.createIdentifier("Boolean"); case 137: return ts.createIdentifier("String"); case 135: return ts.createIdentifier("Object"); - case 177: + case 178: switch (node.literal.kind) { case 9: return ts.createIdentifier("String"); @@ -49527,18 +49844,19 @@ var ts; return languageVersion < 2 ? getGlobalSymbolNameWithFallback() : ts.createIdentifier("Symbol"); - case 161: + case 162: return serializeTypeReferenceNode(node); + case 170: case 169: - case 168: return serializeUnionOrIntersectionType(node); - case 164: - case 174: + case 165: case 175: case 176: - case 165: + case 177: + case 166: case 119: - case 173: + case 142: + case 174: break; default: return ts.Debug.failBadSyntaxKind(node); @@ -49549,7 +49867,7 @@ var ts; var serializedUnion; for (var _i = 0, _a = node.types; _i < _a.length; _i++) { var typeNode = _a[_i]; - while (typeNode.kind === 172) { + while (typeNode.kind === 173) { typeNode = typeNode.type; } if (typeNode.kind === 131) { @@ -49576,7 +49894,8 @@ var ts; return serializedUnion || ts.createVoidZero(); } function serializeTypeReferenceNode(node) { - switch (resolver.getTypeReferenceSerializationKind(node.typeName, currentScope)) { + var kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentScope); + switch (kind) { case ts.TypeReferenceSerializationKind.Unknown: var serialized = serializeEntityNameAsExpression(node.typeName, true); var temp = ts.createTempVariable(hoistVariableDeclaration); @@ -49602,8 +49921,9 @@ var ts; case ts.TypeReferenceSerializationKind.Promise: return ts.createIdentifier("Promise"); case ts.TypeReferenceSerializationKind.ObjectType: - default: return ts.createIdentifier("Object"); + default: + return ts.Debug.assertNever(kind); } } function serializeEntityNameAsExpression(node, useFallback) { @@ -49617,7 +49937,7 @@ var ts; return ts.createLogicalAnd(ts.createStrictInequality(ts.createTypeOf(name), ts.createLiteral("undefined")), name); } return name; - case 145: + case 146: return serializeQualifiedNameAsExpression(node, useFallback); } } @@ -49872,7 +50192,7 @@ var ts; var statements = []; startLexicalEnvironment(); var members = ts.map(node.members, transformEnumMember); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); ts.addRange(statements, members); currentNamespaceContainerName = savedCurrentNamespaceLocalName; return ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), node.members), true); @@ -49902,7 +50222,7 @@ var ts; } } function shouldEmitModuleDeclaration(node) { - return ts.isInstantiatedModule(node, compilerOptions.preserveConstEnums || compilerOptions.isolatedModules); + return ts.isInstantiatedModule(node, !!compilerOptions.preserveConstEnums || !!compilerOptions.isolatedModules); } function hasNamespaceQualifiedExportName(node) { return isExportOfNamespace(node) @@ -49934,11 +50254,11 @@ var ts; function addVarForEnumOrModuleDeclaration(statements, node) { var statement = ts.createVariableStatement(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.createVariableDeclarationList([ ts.createVariableDeclaration(ts.getLocalName(node, false, true)) - ], currentScope.kind === 273 ? 0 : 1)); + ], currentScope.kind === 274 ? 0 : 1)); ts.setOriginalNode(statement, node); recordEmittedDeclarationInScope(node); if (isFirstEmittedDeclarationInScope(node)) { - if (node.kind === 237) { + if (node.kind === 238) { ts.setSourceMapRange(statement.declarationList, node); } else { @@ -49999,7 +50319,7 @@ var ts; var statementsLocation; var blockLocation; var body = node.body; - if (body.kind === 239) { + if (body.kind === 240) { saveStateAndInvoke(body, function (body) { return ts.addRange(statements, ts.visitNodes(body.statements, namespaceElementVisitor, ts.isStatement)); }); statementsLocation = body.statements; blockLocation = body; @@ -50017,19 +50337,19 @@ var ts; var moduleBlock = getInnerMostModuleDeclarationFromDottedModule(node).body; statementsLocation = ts.moveRangePos(moduleBlock.statements, -1); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); currentNamespaceContainerName = savedCurrentNamespaceContainerName; currentNamespace = savedCurrentNamespace; currentScopeFirstDeclarationsOfName = savedCurrentScopeFirstDeclarationsOfName; var block = ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), statementsLocation), true); ts.setTextRange(block, blockLocation); - if (body.kind !== 239) { + if (body.kind !== 240) { ts.setEmitFlags(block, ts.getEmitFlags(block) | 1536); } return block; } function getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration) { - if (moduleDeclaration.body.kind === 238) { + if (moduleDeclaration.body.kind === 239) { var recursiveInnerModule = getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration.body); return recursiveInnerModule || moduleDeclaration.body; } @@ -50049,7 +50369,7 @@ var ts; return (name || namedBindings) ? ts.updateImportClause(node, name, namedBindings) : undefined; } function visitNamedImportBindings(node) { - if (node.kind === 245) { + if (node.kind === 246) { return resolver.isReferencedAliasDeclaration(node) ? node : undefined; } else { @@ -50184,15 +50504,15 @@ var ts; if ((enabledSubstitutions & 2) === 0) { enabledSubstitutions |= 2; context.enableSubstitution(71); - context.enableSubstitution(270); - context.enableEmitNotification(238); + context.enableSubstitution(271); + context.enableEmitNotification(239); } } function isTransformedModuleDeclaration(node) { - return ts.getOriginalNode(node).kind === 238; + return ts.getOriginalNode(node).kind === 239; } function isTransformedEnumDeclaration(node) { - return ts.getOriginalNode(node).kind === 237; + return ts.getOriginalNode(node).kind === 238; } function onEmitNode(hint, node, emitCallback) { var savedApplicableSubstitutions = applicableSubstitutions; @@ -50238,9 +50558,9 @@ var ts; switch (node.kind) { case 71: return substituteExpressionIdentifier(node); - case 184: - return substitutePropertyAccessExpression(node); case 185: + return substitutePropertyAccessExpression(node); + case 186: return substituteElementAccessExpression(node); } return node; @@ -50270,9 +50590,9 @@ var ts; function trySubstituteNamespaceExportedName(node) { if (enabledSubstitutions & applicableSubstitutions && !ts.isGeneratedIdentifier(node) && !ts.isLocalName(node)) { var container = resolver.getReferencedExportContainer(node, false); - if (container && container.kind !== 273) { - var substitute = (applicableSubstitutions & 2 && container.kind === 238) || - (applicableSubstitutions & 8 && container.kind === 237); + if (container && container.kind !== 274) { + var substitute = (applicableSubstitutions & 2 && container.kind === 239) || + (applicableSubstitutions & 8 && container.kind === 238); if (substitute) { return ts.setTextRange(ts.createPropertyAccess(ts.getGeneratedNameForNode(container), node), node); } @@ -50385,15 +50705,15 @@ var ts; switch (node.kind) { case 120: return undefined; - case 196: + case 197: return visitAwaitExpression(node); - case 153: + case 154: return visitMethodDeclaration(node); - case 233: + case 234: return visitFunctionDeclaration(node); - case 191: - return visitFunctionExpression(node); case 192: + return visitFunctionExpression(node); + case 193: return visitArrowFunction(node); default: return ts.visitEachChild(node, visitor, context); @@ -50402,27 +50722,27 @@ var ts; function asyncBodyVisitor(node) { if (ts.isNodeWithPossibleHoistedDeclaration(node)) { switch (node.kind) { - case 213: + case 214: return visitVariableStatementInAsyncBody(node); - case 219: - return visitForStatementInAsyncBody(node); case 220: - return visitForInStatementInAsyncBody(node); + return visitForStatementInAsyncBody(node); case 221: + return visitForInStatementInAsyncBody(node); + case 222: return visitForOfStatementInAsyncBody(node); - case 268: + case 269: return visitCatchClauseInAsyncBody(node); - case 212: - case 226: - case 240: - case 265: - case 266: - case 229: - case 217: - case 218: - case 216: - case 225: + case 213: case 227: + case 241: + case 266: + case 267: + case 230: + case 218: + case 219: + case 217: + case 226: + case 228: return ts.visitEachChild(node, asyncBodyVisitor, context); default: return ts.Debug.assertNever(node, "Unhandled node."); @@ -50471,8 +50791,9 @@ var ts; : ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.expression, visitor, ts.isExpression), ts.visitNode(node.statement, asyncBodyVisitor, ts.isStatement, ts.liftToBlock)); } function visitForStatementInAsyncBody(node) { - return ts.updateFor(node, isVariableDeclarationListWithCollidingName(node.initializer) - ? visitVariableDeclarationListWithCollidingNames(node.initializer, false) + var initializer = node.initializer; + return ts.updateFor(node, isVariableDeclarationListWithCollidingName(initializer) + ? visitVariableDeclarationListWithCollidingNames(initializer, false) : ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.condition, visitor, ts.isExpression), ts.visitNode(node.incrementor, visitor, ts.isExpression), ts.visitNode(node.statement, asyncBodyVisitor, ts.isStatement, ts.liftToBlock)); } function visitAwaitExpression(node) { @@ -50513,10 +50834,10 @@ var ts; } } function isVariableDeclarationListWithCollidingName(node) { - return node + return !!node && ts.isVariableDeclarationList(node) && !(node.flags & 3) - && ts.forEach(node.declarations, collidesWithParameterName); + && node.declarations.some(collidesWithParameterName); } function visitVariableDeclarationListWithCollidingNames(node, hasReceiver) { hoistVariableDeclarationList(node); @@ -50570,7 +50891,7 @@ var ts; var original = ts.getOriginalNode(node, ts.isFunctionLike); var nodeType = original.type; var promiseConstructor = languageVersion < 2 ? getPromiseConstructor(nodeType) : undefined; - var isArrowFunction = node.kind === 192; + var isArrowFunction = node.kind === 193; var hasLexicalArguments = (resolver.getNodeCheckFlags(node) & 8192) !== 0; var savedEnclosingFunctionParameterNames = enclosingFunctionParameterNames; enclosingFunctionParameterNames = ts.createUnderscoreEscapedMap(); @@ -50583,7 +50904,7 @@ var ts; var statements = []; var statementOffset = ts.addPrologue(statements, node.body.statements, false, visitor); statements.push(ts.createReturn(createAwaiterHelper(context, hasLexicalArguments, promiseConstructor, transformAsyncFunctionBodyWorker(node.body, statementOffset)))); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.createBlock(statements, true); ts.setTextRange(block, node.body); if (languageVersion >= 2) { @@ -50634,14 +50955,14 @@ var ts; function enableSubstitutionForAsyncMethodsWithSuper() { if ((enabledSubstitutions & 1) === 0) { enabledSubstitutions |= 1; - context.enableSubstitution(186); - context.enableSubstitution(184); + context.enableSubstitution(187); context.enableSubstitution(185); - context.enableEmitNotification(234); - context.enableEmitNotification(153); - context.enableEmitNotification(155); - context.enableEmitNotification(156); + context.enableSubstitution(186); + context.enableEmitNotification(235); context.enableEmitNotification(154); + context.enableEmitNotification(156); + context.enableEmitNotification(157); + context.enableEmitNotification(155); } } function onEmitNode(hint, node, emitCallback) { @@ -50666,11 +50987,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 184: - return substitutePropertyAccessExpression(node); case 185: - return substituteElementAccessExpression(node); + return substitutePropertyAccessExpression(node); case 186: + return substituteElementAccessExpression(node); + case 187: return substituteCallExpression(node); } return node; @@ -50701,11 +51022,11 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 234 - || kind === 154 - || kind === 153 + return kind === 235 || kind === 155 - || kind === 156; + || kind === 154 + || kind === 156 + || kind === 157; } function createSuperAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096) { @@ -50785,45 +51106,47 @@ var ts; return node; } switch (node.kind) { - case 196: + case 197: return visitAwaitExpression(node); - case 202: + case 203: return visitYieldExpression(node); - case 227: + case 225: + return visitReturnStatement(node); + case 228: return visitLabeledStatement(node); - case 183: + case 184: return visitObjectLiteralExpression(node); - case 199: + case 200: return visitBinaryExpression(node, noDestructuringValue); - case 231: + case 232: return visitVariableDeclaration(node); - case 221: + case 222: return visitForOfStatement(node, undefined); - case 219: + case 220: return visitForStatement(node); - case 195: + case 196: return visitVoidExpression(node); - case 154: - return visitConstructorDeclaration(node); - case 153: - return visitMethodDeclaration(node); case 155: - return visitGetAccessorDeclaration(node); + return visitConstructorDeclaration(node); + case 154: + return visitMethodDeclaration(node); case 156: + return visitGetAccessorDeclaration(node); + case 157: return visitSetAccessorDeclaration(node); - case 233: + case 234: return visitFunctionDeclaration(node); - case 191: - return visitFunctionExpression(node); case 192: + return visitFunctionExpression(node); + case 193: return visitArrowFunction(node); - case 148: + case 149: return visitParameter(node); - case 215: + case 216: return visitExpressionStatement(node); - case 190: + case 191: return visitParenthesizedExpression(node, noDestructuringValue); - case 268: + case 269: return visitCatchClause(node); default: return ts.visitEachChild(node, visitor, context); @@ -50847,10 +51170,16 @@ var ts; } return ts.visitEachChild(node, visitor, context); } + function visitReturnStatement(node) { + if (enclosingFunctionFlags & 2 && enclosingFunctionFlags & 1) { + return ts.updateReturn(node, createDownlevelAwait(node.expression ? ts.visitNode(node.expression, visitor, ts.isExpression) : ts.createVoidZero())); + } + return ts.visitEachChild(node, visitor, context); + } function visitLabeledStatement(node) { if (enclosingFunctionFlags & 2) { var statement = ts.unwrapInnermostStatementOfLabel(node); - if (statement.kind === 221 && statement.awaitModifier) { + if (statement.kind === 222 && statement.awaitModifier) { return visitForOfStatement(statement, node); } return ts.restoreEnclosingLabel(ts.visitEachChild(statement, visitor, context), node); @@ -50862,7 +51191,7 @@ var ts; var objects = []; for (var _i = 0, elements_4 = elements; _i < elements_4.length; _i++) { var e = elements_4[_i]; - if (e.kind === 271) { + if (e.kind === 272) { if (chunkObject) { objects.push(ts.createObjectLiteral(chunkObject)); chunkObject = undefined; @@ -50871,7 +51200,7 @@ var ts; objects.push(ts.visitNode(target, visitor, ts.isExpression)); } else { - chunkObject = ts.append(chunkObject, e.kind === 269 + chunkObject = ts.append(chunkObject, e.kind === 270 ? ts.createPropertyAssignment(e.name, ts.visitNode(e.initializer, visitor, ts.isExpression)) : ts.visitNode(e, visitor, ts.isObjectLiteralElementLike)); } @@ -50884,7 +51213,7 @@ var ts; function visitObjectLiteralExpression(node) { if (node.transformFlags & 1048576) { var objects = chunkObjectLiteralElements(node.properties); - if (objects.length && objects[0].kind !== 183) { + if (objects.length && objects[0].kind !== 184) { objects.unshift(ts.createObjectLiteral()); } return createAssignHelper(context, objects); @@ -50996,7 +51325,7 @@ var ts; var forStatement = ts.setEmitFlags(ts.setTextRange(ts.createFor(ts.setEmitFlags(ts.setTextRange(ts.createVariableDeclarationList([ ts.setTextRange(ts.createVariableDeclaration(iterator, undefined, callValues), node.expression), ts.createVariableDeclaration(result) - ]), node.expression), 2097152), ts.createComma(ts.createAssignment(result, createDownlevelAwait(callNext)), ts.createLogicalNot(getDone)), undefined, convertForOfStatementHead(node, createDownlevelAwait(getValue))), node), 256); + ]), node.expression), 2097152), ts.createComma(ts.createAssignment(result, createDownlevelAwait(callNext)), ts.createLogicalNot(getDone)), undefined, convertForOfStatementHead(node, getValue)), node), 256); return ts.createTry(ts.createBlock([ ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement) ]), ts.createCatchClause(ts.createVariableDeclaration(catchVariable), ts.setEmitFlags(ts.createBlock([ @@ -51090,7 +51419,7 @@ var ts; var statementOffset = ts.addPrologue(statements, node.body.statements, false, visitor); appendObjectRestAssignmentsIfNeeded(statements, node); statements.push(ts.createReturn(createAsyncGeneratorHelper(context, ts.createFunctionExpression(undefined, ts.createToken(39), node.name && ts.getGeneratedNameForNode(node.name), undefined, [], undefined, ts.updateBlock(node.body, ts.visitLexicalEnvironment(node.body.statements, visitor, context, statementOffset)))))); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.updateBlock(node.body, statements); if (languageVersion >= 2) { if (resolver.getNodeCheckFlags(node) & 4096) { @@ -51116,7 +51445,7 @@ var ts; var leadingStatements = endLexicalEnvironment(); if (statementOffset > 0 || ts.some(statements) || ts.some(leadingStatements)) { var block = ts.convertToFunctionBody(body, true); - ts.prependRange(statements, leadingStatements); + ts.prependStatements(statements, leadingStatements); ts.addRange(statements, block.statements.slice(statementOffset)); return ts.updateBlock(block, ts.setTextRange(ts.createNodeArray(statements), block.statements)); } @@ -51140,14 +51469,14 @@ var ts; function enableSubstitutionForAsyncMethodsWithSuper() { if ((enabledSubstitutions & 1) === 0) { enabledSubstitutions |= 1; - context.enableSubstitution(186); - context.enableSubstitution(184); + context.enableSubstitution(187); context.enableSubstitution(185); - context.enableEmitNotification(234); - context.enableEmitNotification(153); - context.enableEmitNotification(155); - context.enableEmitNotification(156); + context.enableSubstitution(186); + context.enableEmitNotification(235); context.enableEmitNotification(154); + context.enableEmitNotification(156); + context.enableEmitNotification(157); + context.enableEmitNotification(155); } } function onEmitNode(hint, node, emitCallback) { @@ -51172,11 +51501,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 184: - return substitutePropertyAccessExpression(node); case 185: - return substituteElementAccessExpression(node); + return substitutePropertyAccessExpression(node); case 186: + return substituteElementAccessExpression(node); + case 187: return substituteCallExpression(node); } return node; @@ -51207,11 +51536,11 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 234 - || kind === 154 - || kind === 153 + return kind === 235 || kind === 155 - || kind === 156; + || kind === 154 + || kind === 156 + || kind === 157; } function createSuperAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096) { @@ -51306,13 +51635,13 @@ var ts; } function visitorWorker(node) { switch (node.kind) { - case 254: - return visitJsxElement(node, false); case 255: + return visitJsxElement(node, false); + case 256: return visitJsxSelfClosingElement(node, false); - case 258: + case 259: return visitJsxFragment(node, false); - case 264: + case 265: return visitJsxExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -51322,13 +51651,13 @@ var ts; switch (node.kind) { case 10: return visitJsxText(node); - case 264: + case 265: return visitJsxExpression(node); - case 254: - return visitJsxElement(node, true); case 255: + return visitJsxElement(node, true); + case 256: return visitJsxSelfClosingElement(node, true); - case 258: + case 259: return visitJsxFragment(node, true); default: return ts.Debug.failBadSyntaxKind(node); @@ -51392,7 +51721,7 @@ var ts; literal.singleQuote = node.singleQuote !== undefined ? node.singleQuote : !ts.isStringDoubleQuoted(node, currentSourceFile); return ts.setTextRange(literal, node); } - else if (node.kind === 264) { + else if (node.kind === 265) { if (node.expression === undefined) { return ts.createTrue(); } @@ -51452,7 +51781,7 @@ var ts; return decoded === text ? undefined : decoded; } function getTagName(node) { - if (node.kind === 254) { + if (node.kind === 255) { return getTagName(node.openingElement); } else { @@ -51752,7 +52081,7 @@ var ts; return node; } switch (node.kind) { - case 199: + case 200: return visitBinaryExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -51841,14 +52170,14 @@ var ts; hierarchyFacts = (hierarchyFacts & ~excludeFacts | includeFacts) & -16384 | ancestorFacts; } function isReturnVoidStatementInConstructorWithCapturedSuper(node) { - return hierarchyFacts & 4096 - && node.kind === 224 + return (hierarchyFacts & 4096) !== 0 + && node.kind === 225 && !node.expression; } function shouldVisitNode(node) { return (node.transformFlags & 128) !== 0 || convertedLoopState !== undefined - || (hierarchyFacts & 4096 && (ts.isStatement(node) || (node.kind === 212))) + || (hierarchyFacts & 4096 && (ts.isStatement(node) || (node.kind === 213))) || (ts.isIterationStatement(node, false) && shouldConvertIterationStatementBody(node)) || (ts.getEmitFlags(node) & 33554432) !== 0; } @@ -51876,63 +52205,63 @@ var ts; switch (node.kind) { case 115: return undefined; - case 234: + case 235: return visitClassDeclaration(node); - case 204: + case 205: return visitClassExpression(node); - case 148: + case 149: return visitParameter(node); - case 233: + case 234: return visitFunctionDeclaration(node); - case 192: + case 193: return visitArrowFunction(node); - case 191: + case 192: return visitFunctionExpression(node); - case 231: + case 232: return visitVariableDeclaration(node); case 71: return visitIdentifier(node); - case 232: + case 233: return visitVariableDeclarationList(node); - case 226: - return visitSwitchStatement(node); - case 240: - return visitCaseBlock(node); - case 212: - return visitBlock(node, false); - case 223: - case 222: - return visitBreakOrContinueStatement(node); case 227: + return visitSwitchStatement(node); + case 241: + return visitCaseBlock(node); + case 213: + return visitBlock(node, false); + case 224: + case 223: + return visitBreakOrContinueStatement(node); + case 228: return visitLabeledStatement(node); - case 217: case 218: - return visitDoOrWhileStatement(node, undefined); case 219: - return visitForStatement(node, undefined); + return visitDoOrWhileStatement(node, undefined); case 220: - return visitForInStatement(node, undefined); + return visitForStatement(node, undefined); case 221: + return visitForInStatement(node, undefined); + case 222: return visitForOfStatement(node, undefined); - case 215: + case 216: return visitExpressionStatement(node); - case 183: + case 184: return visitObjectLiteralExpression(node); - case 268: + case 269: return visitCatchClause(node); - case 270: + case 271: return visitShorthandPropertyAssignment(node); - case 146: + case 147: return visitComputedPropertyName(node); - case 182: + case 183: return visitArrayLiteralExpression(node); - case 186: - return visitCallExpression(node); case 187: + return visitCallExpression(node); + case 188: return visitNewExpression(node); - case 190: + case 191: return visitParenthesizedExpression(node, true); - case 199: + case 200: return visitBinaryExpression(node, true); case 13: case 14: @@ -51943,28 +52272,28 @@ var ts; return visitStringLiteral(node); case 8: return visitNumericLiteral(node); - case 188: + case 189: return visitTaggedTemplateExpression(node); - case 201: - return visitTemplateExpression(node); case 202: - return visitYieldExpression(node); + return visitTemplateExpression(node); case 203: + return visitYieldExpression(node); + case 204: return visitSpreadElement(node); case 97: return visitSuperKeyword(false); case 99: return visitThisKeyword(node); - case 209: + case 210: return visitMetaProperty(node); - case 153: + case 154: return visitMethodDeclaration(node); - case 155: case 156: + case 157: return visitAccessorDeclaration(node); - case 213: + case 214: return visitVariableStatement(node); - case 224: + case 225: return visitReturnStatement(node); default: return ts.visitEachChild(node, visitor, context); @@ -51981,7 +52310,7 @@ var ts; if (taggedTemplateStringDeclarations) { statements.push(ts.createVariableStatement(undefined, ts.createVariableDeclarationList(taggedTemplateStringDeclarations))); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); exitSubtree(ancestorFacts, 0, 0); return ts.updateSourceFileNode(node, ts.setTextRange(ts.createNodeArray(statements), node.statements)); } @@ -52045,13 +52374,14 @@ var ts; } function visitBreakOrContinueStatement(node) { if (convertedLoopState) { - var jump = node.kind === 223 ? 2 : 4; + var jump = node.kind === 224 ? 2 : 4; var canUseBreakOrContinue = (node.label && convertedLoopState.labels && convertedLoopState.labels.get(ts.idText(node.label))) || (!node.label && (convertedLoopState.allowedNonLabeledJumps & jump)); if (!canUseBreakOrContinue) { var labelMarker = void 0; - if (!node.label) { - if (node.kind === 223) { + var label = node.label; + if (!label) { + if (node.kind === 224) { convertedLoopState.nonLocalJumps |= 2; labelMarker = "break"; } @@ -52061,13 +52391,13 @@ var ts; } } else { - if (node.kind === 223) { - labelMarker = "break-" + node.label.escapedText; - setLabeledJump(convertedLoopState, true, ts.idText(node.label), labelMarker); + if (node.kind === 224) { + labelMarker = "break-" + label.escapedText; + setLabeledJump(convertedLoopState, true, ts.idText(label), labelMarker); } else { - labelMarker = "continue-" + node.label.escapedText; - setLabeledJump(convertedLoopState, false, ts.idText(node.label), labelMarker); + labelMarker = "continue-" + label.escapedText; + setLabeledJump(convertedLoopState, false, ts.idText(label), labelMarker); } } var returnExpression = ts.createLiteral(labelMarker); @@ -52150,7 +52480,7 @@ var ts; statement.pos = closingBraceLocation.pos; ts.setEmitFlags(statement, 1536 | 384); statements.push(statement); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), node.members), true); ts.setEmitFlags(block, 1536); return block; @@ -52176,7 +52506,7 @@ var ts; convertedLoopState = savedConvertedLoopState; } function transformConstructorParameters(constructor, hasSynthesizedSuper) { - return ts.visitParameterList(constructor && !hasSynthesizedSuper && constructor.parameters, visitor, context) + return ts.visitParameterList(constructor && !hasSynthesizedSuper ? constructor.parameters : undefined, visitor, context) || []; } function transformConstructorBody(constructor, node, extendsClauseElement, hasSynthesizedSuper) { @@ -52197,7 +52527,7 @@ var ts; } ts.Debug.assert(statementOffset >= 0, "statementOffset not initialized correctly!"); } - var isDerivedClass = extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 95; + var isDerivedClass = !!extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 95; var superCaptureStatus = declareOrCaptureOrReturnThisForConstructorIfNeeded(statements, constructor, isDerivedClass, hasSynthesizedSuper, statementOffset); if (superCaptureStatus === 1 || superCaptureStatus === 2) { statementOffset++; @@ -52213,7 +52543,7 @@ var ts; && !(constructor && isSufficientlyCoveredByReturnStatements(constructor.body))) { statements.push(ts.createReturn(ts.createFileLevelUniqueName("_this"))); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); if (constructor) { prependCaptureNewTargetIfNeeded(statements, constructor, false); } @@ -52225,17 +52555,17 @@ var ts; return block; } function isSufficientlyCoveredByReturnStatements(statement) { - if (statement.kind === 224) { + if (statement.kind === 225) { return true; } - else if (statement.kind === 216) { + else if (statement.kind === 217) { var ifStatement = statement; if (ifStatement.elseStatement) { return isSufficientlyCoveredByReturnStatements(ifStatement.thenStatement) && isSufficientlyCoveredByReturnStatements(ifStatement.elseStatement); } } - else if (statement.kind === 212) { + else if (statement.kind === 213) { var lastStatement = ts.lastOrUndefined(statement.statements); if (lastStatement && isSufficientlyCoveredByReturnStatements(lastStatement)) { return true; @@ -52264,7 +52594,7 @@ var ts; var ctorStatements = ctor.body.statements; if (statementOffset < ctorStatements.length) { firstStatement = ctorStatements[statementOffset]; - if (firstStatement.kind === 215 && ts.isSuperCall(firstStatement.expression)) { + if (firstStatement.kind === 216 && ts.isSuperCall(firstStatement.expression)) { superCallExpression = visitImmediateSuperCallInBody(firstStatement.expression); } } @@ -52272,8 +52602,8 @@ var ts; && statementOffset === ctorStatements.length - 1 && !(ctor.transformFlags & (16384 | 32768))) { var returnStatement = ts.createReturn(superCallExpression); - if (superCallExpression.kind !== 199 - || superCallExpression.left.kind !== 186) { + if (superCallExpression.kind !== 200 + || superCallExpression.left.kind !== 187) { ts.Debug.fail("Assumed generated super call would have form 'super.call(...) || this'."); } ts.setCommentRange(returnStatement, ts.getCommentRange(ts.setEmitFlags(superCallExpression.left, 1536))); @@ -52374,7 +52704,7 @@ var ts; statements.push(forStatement); } function addCaptureThisForNodeIfNeeded(statements, node) { - if (node.transformFlags & 32768 && node.kind !== 192) { + if (node.transformFlags & 32768 && node.kind !== 193) { captureThisForNode(statements, node, ts.createThis()); } } @@ -52392,18 +52722,18 @@ var ts; if (hierarchyFacts & 16384) { var newTarget = void 0; switch (node.kind) { - case 192: + case 193: return statements; - case 153: - case 155: + case 154: case 156: + case 157: newTarget = ts.createVoidZero(); break; - case 154: + case 155: newTarget = ts.createPropertyAccess(ts.setEmitFlags(ts.createThis(), 4), "constructor"); break; - case 233: - case 191: + case 234: + case 192: newTarget = ts.createConditional(ts.createLogicalAnd(ts.setEmitFlags(ts.createThis(), 4), ts.createBinary(ts.setEmitFlags(ts.createThis(), 4), 93, ts.getLocalName(node))), ts.createPropertyAccess(ts.setEmitFlags(ts.createThis(), 4), "constructor"), ts.createVoidZero()); break; default: @@ -52423,20 +52753,20 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 211: + case 212: statements.push(transformSemicolonClassElementToStatement(member)); break; - case 153: + case 154: statements.push(transformClassMethodDeclarationToStatement(getClassMemberPrefix(node, member), member, node)); break; - case 155: case 156: + case 157: var accessors = ts.getAllAccessorDeclarations(node.members, member); if (member === accessors.firstAccessor) { statements.push(transformAccessorsToStatement(getClassMemberPrefix(node, member), accessors, node)); } break; - case 154: + case 155: break; default: ts.Debug.failBadSyntaxKind(node); @@ -52561,7 +52891,7 @@ var ts; : enterSubtree(16286, 65); var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); - if (hierarchyFacts & 16384 && !name && (node.kind === 233 || node.kind === 191)) { + if (hierarchyFacts & 16384 && !name && (node.kind === 234 || node.kind === 192)) { name = ts.getGeneratedNameForNode(node); } exitSubtree(ancestorFacts, 49152, 0); @@ -52595,7 +52925,7 @@ var ts; } } else { - ts.Debug.assert(node.kind === 192); + ts.Debug.assert(node.kind === 193); statementsLocation = ts.moveRangeEnd(body, -1); var equalsGreaterThanToken = node.equalsGreaterThanToken; if (!ts.nodeIsSynthesized(equalsGreaterThanToken) && !ts.nodeIsSynthesized(body)) { @@ -52615,7 +52945,7 @@ var ts; closeBraceLocation = body; } var lexicalEnvironment = context.endLexicalEnvironment(); - ts.prependRange(statements, lexicalEnvironment); + ts.prependStatements(statements, lexicalEnvironment); prependCaptureNewTargetIfNeeded(statements, node, false); if (!multiLine && lexicalEnvironment && lexicalEnvironment.length) { multiLine = true; @@ -52648,9 +52978,9 @@ var ts; } function visitExpressionStatement(node) { switch (node.expression.kind) { - case 190: + case 191: return ts.updateStatement(node, visitParenthesizedExpression(node.expression, false)); - case 199: + case 200: return ts.updateStatement(node, visitBinaryExpression(node.expression, false)); } return ts.visitEachChild(node, visitor, context); @@ -52658,9 +52988,9 @@ var ts; function visitParenthesizedExpression(node, needsDestructuringValue) { if (!needsDestructuringValue) { switch (node.expression.kind) { - case 190: + case 191: return ts.updateParen(node, visitParenthesizedExpression(node.expression, false)); - case 199: + case 200: return ts.updateParen(node, visitBinaryExpression(node.expression, false)); } } @@ -52718,11 +53048,10 @@ var ts; ts.setTextRange(declarationList, node); ts.setCommentRange(declarationList, node); if (node.transformFlags & 8388608 - && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.lastOrUndefined(node.declarations).name))) { + && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.last(node.declarations).name))) { var firstDeclaration = ts.firstOrUndefined(declarations); if (firstDeclaration) { - var lastDeclaration = ts.lastOrUndefined(declarations); - ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, lastDeclaration.end)); + ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, ts.last(declarations).end)); } } return declarationList; @@ -52786,14 +53115,14 @@ var ts; } function visitIterationStatement(node, outermostLabeledStatement) { switch (node.kind) { - case 217: case 218: - return visitDoOrWhileStatement(node, outermostLabeledStatement); case 219: - return visitForStatement(node, outermostLabeledStatement); + return visitDoOrWhileStatement(node, outermostLabeledStatement); case 220: - return visitForInStatement(node, outermostLabeledStatement); + return visitForStatement(node, outermostLabeledStatement); case 221: + return visitForInStatement(node, outermostLabeledStatement); + case 222: return visitForOfStatement(node, outermostLabeledStatement); } } @@ -52817,35 +53146,34 @@ var ts; } function convertForOfStatementHead(node, boundValue, convertedLoopBodyStatements) { var statements = []; - if (ts.isVariableDeclarationList(node.initializer)) { + var initializer = node.initializer; + if (ts.isVariableDeclarationList(initializer)) { if (node.initializer.flags & 3) { enableSubstitutionsForBlockScopedBindings(); } - var firstOriginalDeclaration = ts.firstOrUndefined(node.initializer.declarations); + var firstOriginalDeclaration = ts.firstOrUndefined(initializer.declarations); if (firstOriginalDeclaration && ts.isBindingPattern(firstOriginalDeclaration.name)) { var declarations = ts.flattenDestructuringBinding(firstOriginalDeclaration, visitor, context, 0, boundValue); var declarationList = ts.setTextRange(ts.createVariableDeclarationList(declarations), node.initializer); ts.setOriginalNode(declarationList, node.initializer); - var firstDeclaration = declarations[0]; - var lastDeclaration = ts.lastOrUndefined(declarations); - ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, lastDeclaration.end)); + ts.setSourceMapRange(declarationList, ts.createRange(declarations[0].pos, ts.last(declarations).end)); statements.push(ts.createVariableStatement(undefined, declarationList)); } else { statements.push(ts.setTextRange(ts.createVariableStatement(undefined, ts.setOriginalNode(ts.setTextRange(ts.createVariableDeclarationList([ ts.createVariableDeclaration(firstOriginalDeclaration ? firstOriginalDeclaration.name : ts.createTempVariable(undefined), undefined, boundValue) - ]), ts.moveRangePos(node.initializer, -1)), node.initializer)), ts.moveRangeEnd(node.initializer, -1))); + ]), ts.moveRangePos(initializer, -1)), initializer)), ts.moveRangeEnd(initializer, -1))); } } else { - var assignment = ts.createAssignment(node.initializer, boundValue); + var assignment = ts.createAssignment(initializer, boundValue); if (ts.isDestructuringAssignment(assignment)) { ts.aggregateTransformFlags(assignment); statements.push(ts.createStatement(visitBinaryExpression(assignment, false))); } else { - assignment.end = node.initializer.end; - statements.push(ts.setTextRange(ts.createStatement(ts.visitNode(assignment, visitor, ts.isExpression)), ts.moveRangeEnd(node.initializer, -1))); + assignment.end = initializer.end; + statements.push(ts.setTextRange(ts.createStatement(ts.visitNode(assignment, visitor, ts.isExpression)), ts.moveRangeEnd(initializer, -1))); } } if (convertedLoopBodyStatements) { @@ -52918,7 +53246,7 @@ var ts; && i < numInitialPropertiesWithoutYield) { numInitialPropertiesWithoutYield = i; } - if (property.name.kind === 146) { + if (property.name.kind === 147) { numInitialProperties = i; break; } @@ -52980,11 +53308,11 @@ var ts; var functionName = ts.createUniqueName("_loop"); var loopInitializer; switch (node.kind) { - case 219: case 220: case 221: + case 222: var initializer = node.initializer; - if (initializer && initializer.kind === 232) { + if (initializer && initializer.kind === 233) { loopInitializer = initializer; } break; @@ -53020,7 +53348,7 @@ var ts; if (loopOutParameters.length) { copyOutParameters(loopOutParameters, 1, statements_4); } - ts.prependRange(statements_4, lexicalEnvironment); + ts.prependStatements(statements_4, lexicalEnvironment); loopBody = ts.createBlock(statements_4, true); } if (ts.isBlock(loopBody)) { @@ -53210,20 +53538,20 @@ var ts; for (var i = start; i < numProperties; i++) { var property = properties[i]; switch (property.kind) { - case 155: case 156: + case 157: var accessors = ts.getAllAccessorDeclarations(node.properties, property); if (property === accessors.firstAccessor) { - expressions.push(transformAccessorsToExpression(receiver, accessors, node, node.multiLine)); + expressions.push(transformAccessorsToExpression(receiver, accessors, node, !!node.multiLine)); } break; - case 153: + case 154: expressions.push(transformObjectLiteralMethodDeclarationToExpression(property, receiver, node, node.multiLine)); break; - case 269: + case 270: expressions.push(transformPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; - case 270: + case 271: expressions.push(transformShorthandPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; default: @@ -53298,7 +53626,7 @@ var ts; var body = node.transformFlags & (32768 | 128) ? transformFunctionBody(node) : visitFunctionBodyDownLevel(node); - if (node.kind === 155) { + if (node.kind === 156) { updated = ts.updateGetAccessor(node, node.decorators, node.modifiers, node.name, parameters, node.type, body); } else { @@ -53322,7 +53650,7 @@ var ts; } function visitArrayLiteralExpression(node) { if (node.transformFlags & 64) { - return transformAndSpreadElements(node.elements, true, node.multiLine, node.elements.hasTrailingComma); + return transformAndSpreadElements(node.elements, true, !!node.multiLine, !!node.elements.hasTrailingComma); } return ts.visitEachChild(node, visitor, context); } @@ -53337,11 +53665,11 @@ var ts; } function visitTypeScriptClassWrapper(node) { var body = ts.cast(ts.cast(ts.skipOuterExpressions(node.expression), ts.isArrowFunction).body, ts.isBlock); - var isVariableStatementWithInitializer = function (stmt) { return ts.isVariableStatement(stmt) && !!ts.firstOrUndefined(stmt.declarationList.declarations).initializer; }; + var isVariableStatementWithInitializer = function (stmt) { return ts.isVariableStatement(stmt) && !!ts.first(stmt.declarationList.declarations).initializer; }; var bodyStatements = ts.visitNodes(body.statements, visitor, ts.isStatement); var classStatements = ts.filter(bodyStatements, isVariableStatementWithInitializer); var remainingStatements = ts.filter(bodyStatements, function (stmt) { return !isVariableStatementWithInitializer(stmt); }); - var varStatement = ts.cast(ts.firstOrUndefined(classStatements), ts.isVariableStatement); + var varStatement = ts.cast(ts.first(classStatements), ts.isVariableStatement); var variable = varStatement.declarationList.declarations[0]; var initializer = ts.skipOuterExpressions(variable.initializer); var aliasAssignment = ts.tryCast(initializer, ts.isAssignmentExpression); @@ -53429,7 +53757,7 @@ var ts; else { if (segments.length === 1) { var firstElement = elements[0]; - return needsUniqueCopy && ts.isSpreadElement(firstElement) && firstElement.expression.kind !== 182 + return needsUniqueCopy && ts.isSpreadElement(firstElement) && firstElement.expression.kind !== 183 ? ts.createArraySlice(segments[0]) : segments[0]; } @@ -53575,13 +53903,13 @@ var ts; if ((enabledSubstitutions & 1) === 0) { enabledSubstitutions |= 1; context.enableSubstitution(99); - context.enableEmitNotification(154); - context.enableEmitNotification(153); context.enableEmitNotification(155); + context.enableEmitNotification(154); context.enableEmitNotification(156); + context.enableEmitNotification(157); + context.enableEmitNotification(193); context.enableEmitNotification(192); - context.enableEmitNotification(191); - context.enableEmitNotification(233); + context.enableEmitNotification(234); } } function onSubstituteNode(hint, node) { @@ -53604,14 +53932,13 @@ var ts; return node; } function isNameOfDeclarationWithCollidingName(node) { - var parent = node.parent; - switch (parent.kind) { - case 181: - case 234: - case 237: - case 231: - return parent.name === node - && resolver.isDeclarationWithCollidingName(parent); + switch (node.parent.kind) { + case 182: + case 235: + case 238: + case 232: + return node.parent.name === node + && resolver.isDeclarationWithCollidingName(node.parent); } return false; } @@ -53670,11 +53997,11 @@ var ts; return false; } var statement = ts.firstOrUndefined(constructor.body.statements); - if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 215) { + if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 216) { return false; } var statementExpression = statement.expression; - if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 186) { + if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 187) { return false; } var callTarget = statementExpression.expression; @@ -53682,7 +54009,7 @@ var ts; return false; } var callArgument = ts.singleOrUndefined(statementExpression.arguments); - if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 203) { + if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 204) { return false; } var expression = callArgument.expression; @@ -53726,24 +54053,24 @@ var ts; if (compilerOptions.jsx === 1 || compilerOptions.jsx === 3) { previousOnEmitNode = context.onEmitNode; context.onEmitNode = onEmitNode; - context.enableEmitNotification(256); context.enableEmitNotification(257); - context.enableEmitNotification(255); + context.enableEmitNotification(258); + context.enableEmitNotification(256); noSubstitution = []; } var previousOnSubstituteNode = context.onSubstituteNode; context.onSubstituteNode = onSubstituteNode; - context.enableSubstitution(184); - context.enableSubstitution(269); + context.enableSubstitution(185); + context.enableSubstitution(270); return ts.chainBundle(transformSourceFile); function transformSourceFile(node) { return node; } function onEmitNode(hint, node, emitCallback) { switch (node.kind) { - case 256: case 257: - case 255: + case 258: + case 256: var tagName = node.tagName; noSubstitution[ts.getOriginalNodeId(tagName)] = true; break; @@ -53779,7 +54106,7 @@ var ts; } function trySubstituteReservedName(name) { var token = name.originalKeywordKind || (ts.nodeIsSynthesized(name) ? ts.stringToToken(ts.idText(name)) : undefined); - if (token >= 72 && token <= 107) { + if (token !== undefined && token >= 72 && token <= 107) { return ts.setTextRange(ts.createLiteral(name), name); } return undefined; @@ -53796,6 +54123,7 @@ var ts; case 4: return "yield"; case 5: return "yield*"; case 7: return "endfinally"; + default: return undefined; } } function transformGenerators(context) { @@ -53859,13 +54187,13 @@ var ts; } function visitJavaScriptInStatementContainingYield(node) { switch (node.kind) { - case 217: - return visitDoStatement(node); case 218: + return visitDoStatement(node); + case 219: return visitWhileStatement(node); - case 226: - return visitSwitchStatement(node); case 227: + return visitSwitchStatement(node); + case 228: return visitLabeledStatement(node); default: return visitJavaScriptInGeneratorFunctionBody(node); @@ -53873,24 +54201,24 @@ var ts; } function visitJavaScriptInGeneratorFunctionBody(node) { switch (node.kind) { - case 233: + case 234: return visitFunctionDeclaration(node); - case 191: + case 192: return visitFunctionExpression(node); - case 155: case 156: + case 157: return visitAccessorDeclaration(node); - case 213: + case 214: return visitVariableStatement(node); - case 219: - return visitForStatement(node); case 220: + return visitForStatement(node); + case 221: return visitForInStatement(node); - case 223: - return visitBreakStatement(node); - case 222: - return visitContinueStatement(node); case 224: + return visitBreakStatement(node); + case 223: + return visitContinueStatement(node); + case 225: return visitReturnStatement(node); default: if (node.transformFlags & 16777216) { @@ -53906,21 +54234,21 @@ var ts; } function visitJavaScriptContainingYield(node) { switch (node.kind) { - case 199: - return visitBinaryExpression(node); case 200: + return visitBinaryExpression(node); + case 201: return visitConditionalExpression(node); - case 202: + case 203: return visitYieldExpression(node); - case 182: - return visitArrayLiteralExpression(node); case 183: + return visitArrayLiteralExpression(node); + case 184: return visitObjectLiteralExpression(node); - case 185: - return visitElementAccessExpression(node); case 186: - return visitCallExpression(node); + return visitElementAccessExpression(node); case 187: + return visitCallExpression(node); + case 188: return visitNewExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -53928,9 +54256,9 @@ var ts; } function visitGenerator(node) { switch (node.kind) { - case 233: + case 234: return visitFunctionDeclaration(node); - case 191: + case 192: return visitFunctionExpression(node); default: return ts.Debug.failBadSyntaxKind(node); @@ -54014,7 +54342,7 @@ var ts; var statementOffset = ts.addPrologue(statements, body.statements, false, visitor); transformAndEmitStatements(body.statements, statementOffset); var buildResult = build(); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); statements.push(ts.createReturn(buildResult)); inGeneratorFunctionBody = savedInGeneratorFunctionBody; inStatementContainingYield = savedInStatementContainingYield; @@ -54052,13 +54380,14 @@ var ts; } } function visitBinaryExpression(node) { - switch (ts.getExpressionAssociativity(node)) { + var assoc = ts.getExpressionAssociativity(node); + switch (assoc) { case 0: return visitLeftAssociativeBinaryExpression(node); case 1: return visitRightAssociativeBinaryExpression(node); default: - ts.Debug.fail("Unknown associativity."); + return ts.Debug.assertNever(assoc); } } function isCompoundAssignment(kind) { @@ -54086,10 +54415,10 @@ var ts; if (containsYield(right)) { var target = void 0; switch (left.kind) { - case 184: + case 185: target = ts.updatePropertyAccess(left, cacheExpression(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression)), left.name); break; - case 185: + case 186: target = ts.updateElementAccess(left, cacheExpression(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression)), cacheExpression(ts.visitNode(left.argumentExpression, visitor, ts.isExpression))); break; default: @@ -54290,35 +54619,35 @@ var ts; } function transformAndEmitStatementWorker(node) { switch (node.kind) { - case 212: + case 213: return transformAndEmitBlock(node); - case 215: - return transformAndEmitExpressionStatement(node); case 216: - return transformAndEmitIfStatement(node); + return transformAndEmitExpressionStatement(node); case 217: - return transformAndEmitDoStatement(node); + return transformAndEmitIfStatement(node); case 218: - return transformAndEmitWhileStatement(node); + return transformAndEmitDoStatement(node); case 219: - return transformAndEmitForStatement(node); + return transformAndEmitWhileStatement(node); case 220: + return transformAndEmitForStatement(node); + case 221: return transformAndEmitForInStatement(node); - case 222: - return transformAndEmitContinueStatement(node); case 223: - return transformAndEmitBreakStatement(node); + return transformAndEmitContinueStatement(node); case 224: - return transformAndEmitReturnStatement(node); + return transformAndEmitBreakStatement(node); case 225: - return transformAndEmitWithStatement(node); + return transformAndEmitReturnStatement(node); case 226: - return transformAndEmitSwitchStatement(node); + return transformAndEmitWithStatement(node); case 227: - return transformAndEmitLabeledStatement(node); + return transformAndEmitSwitchStatement(node); case 228: - return transformAndEmitThrowStatement(node); + return transformAndEmitLabeledStatement(node); case 229: + return transformAndEmitThrowStatement(node); + case 230: return transformAndEmitTryStatement(node); default: return emitStatement(ts.visitNode(node, visitor, ts.isStatement)); @@ -54612,7 +54941,7 @@ var ts; for (var i = 0; i < numClauses; i++) { var clause = caseBlock.clauses[i]; clauseLabels.push(defineLabel()); - if (clause.kind === 266 && defaultClauseIndex === -1) { + if (clause.kind === 267 && defaultClauseIndex === -1) { defaultClauseIndex = i; } } @@ -54622,7 +54951,7 @@ var ts; var defaultClausesSkipped = 0; for (var i = clausesWritten; i < numClauses; i++) { var clause = caseBlock.clauses[i]; - if (clause.kind === 265) { + if (clause.kind === 266) { if (containsYield(clause.expression) && pendingClauses.length > 0) { break; } @@ -54712,7 +55041,7 @@ var ts; } } function containsYield(node) { - return node && (node.transformFlags & 16777216) !== 0; + return !!node && (node.transformFlags & 16777216) !== 0; } function countInitialNodesWithoutYield(nodes) { var numNodes = nodes.length; @@ -54799,7 +55128,8 @@ var ts; } function endBlock() { var block = peekBlock(); - ts.Debug.assert(block !== undefined, "beginBlock was never called."); + if (block === undefined) + return ts.Debug.fail("beginBlock was never called."); var index = blockActions.length; blockActions[index] = 1; blockOffsets[index] = operations ? operations.length : 0; @@ -55042,7 +55372,7 @@ var ts; return 0; } function createLabel(label) { - if (label > 0) { + if (label !== undefined && label > 0) { if (labelExpressions === undefined) { labelExpressions = []; } @@ -55413,7 +55743,7 @@ var ts; name: "typescript:generator", scoped: false, priority: 6, - text: "\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [0, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };" + text: "\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };" }; })(ts || (ts = {})); var ts; @@ -55437,11 +55767,11 @@ var ts; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; context.enableSubstitution(71); - context.enableSubstitution(199); - context.enableSubstitution(197); + context.enableSubstitution(200); context.enableSubstitution(198); - context.enableSubstitution(270); - context.enableEmitNotification(273); + context.enableSubstitution(199); + context.enableSubstitution(271); + context.enableEmitNotification(274); var moduleInfoMap = []; var deferredExports = []; var currentSourceFile; @@ -55480,7 +55810,7 @@ var ts; ts.append(statements, ts.visitNode(currentModuleInfo.externalHelpersImportDeclaration, sourceElementVisitor, ts.isStatement)); ts.addRange(statements, ts.visitNodes(node.statements, sourceElementVisitor, ts.isStatement, statementOffset)); addExportEqualsIfNeeded(statements, false); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var updated = ts.updateSourceFileNode(node, ts.setTextRange(ts.createNodeArray(statements), node.statements)); if (currentModuleInfo.hasExportStarsToExportValues && !compilerOptions.importHelpers) { ts.addEmitHelper(updated, exportStarHelper); @@ -55595,7 +55925,7 @@ var ts; } ts.addRange(statements, ts.visitNodes(node.statements, sourceElementVisitor, ts.isStatement, statementOffset)); addExportEqualsIfNeeded(statements, true); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var body = ts.createBlock(statements, true); if (currentModuleInfo.hasExportStarsToExportValues && !compilerOptions.importHelpers) { ts.addEmitHelper(body, exportStarHelper); @@ -55626,23 +55956,23 @@ var ts; } function sourceElementVisitor(node) { switch (node.kind) { - case 243: + case 244: return visitImportDeclaration(node); - case 242: + case 243: return visitImportEqualsDeclaration(node); - case 249: + case 250: return visitExportDeclaration(node); - case 248: + case 249: return visitExportAssignment(node); - case 213: + case 214: return visitVariableStatement(node); - case 233: - return visitFunctionDeclaration(node); case 234: + return visitFunctionDeclaration(node); + case 235: return visitClassDeclaration(node); - case 302: - return visitMergeDeclarationMarker(node); case 303: + return visitMergeDeclarationMarker(node); + case 304: return visitEndOfDeclarationMarker(node); default: return ts.visitEachChild(node, moduleExpressionElementVisitor, context); @@ -55667,24 +55997,24 @@ var ts; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var elem = _a[_i]; switch (elem.kind) { - case 269: + case 270: if (destructuringNeedsFlattening(elem.initializer)) { return true; } break; - case 270: + case 271: if (destructuringNeedsFlattening(elem.name)) { return true; } break; - case 271: + case 272: if (destructuringNeedsFlattening(elem.expression)) { return true; } break; - case 153: - case 155: + case 154: case 156: + case 157: return false; default: ts.Debug.assertNever(elem, "Unhandled object member kind"); } @@ -55999,7 +56329,7 @@ var ts; } } function visitMergeDeclarationMarker(node) { - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 213) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 214) { var id = ts.getOriginalNodeId(node); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original); } @@ -56031,10 +56361,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 245: + case 246: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 246: + case 247: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding); @@ -56142,7 +56472,7 @@ var ts; return node; } function onEmitNode(hint, node, emitCallback) { - if (node.kind === 273) { + if (node.kind === 274) { currentSourceFile = node; currentModuleInfo = moduleInfoMap[ts.getOriginalNodeId(currentSourceFile)]; noSubstitution = []; @@ -56184,10 +56514,10 @@ var ts; switch (node.kind) { case 71: return substituteExpressionIdentifier(node); - case 199: + case 200: return substituteBinaryExpression(node); + case 199: case 198: - case 197: return substituteUnaryExpression(node); } return node; @@ -56202,7 +56532,7 @@ var ts; } if (!ts.isGeneratedIdentifier(node) && !ts.isLocalName(node)) { var exportContainer = resolver.getReferencedExportContainer(node, ts.isExportName(node)); - if (exportContainer && exportContainer.kind === 273) { + if (exportContainer && exportContainer.kind === 274) { return ts.setTextRange(ts.createPropertyAccess(ts.createIdentifier("exports"), ts.getSynthesizedClone(node)), node); } var importDeclaration = resolver.getReferencedImportDeclaration(node); @@ -56245,7 +56575,7 @@ var ts; && !ts.isDeclarationNameOfEnumOrNamespace(node.operand)) { var exportedNames = getExports(node.operand); if (exportedNames) { - var expression = node.kind === 198 + var expression = node.kind === 199 ? ts.setTextRange(ts.createBinary(node.operand, ts.createToken(node.operator === 43 ? 59 : 60), ts.createLiteral(1)), node) : node; for (var _i = 0, exportedNames_3 = exportedNames; _i < exportedNames_3.length; _i++) { @@ -56309,11 +56639,11 @@ var ts; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; context.enableSubstitution(71); - context.enableSubstitution(270); - context.enableSubstitution(199); - context.enableSubstitution(197); + context.enableSubstitution(271); + context.enableSubstitution(200); context.enableSubstitution(198); - context.enableEmitNotification(273); + context.enableSubstitution(199); + context.enableEmitNotification(274); var moduleInfoMap = []; var deferredExports = []; var exportFunctionsMap = []; @@ -56399,7 +56729,7 @@ var ts; ts.visitNode(moduleInfo.externalHelpersImportDeclaration, sourceElementVisitor, ts.isStatement); var executeStatements = ts.visitNodes(node.statements, sourceElementVisitor, ts.isStatement, statementOffset); ts.addRange(statements, hoistedStatements); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var exportStarFunction = addExportStarIfNeeded(statements); var moduleObject = ts.createObjectLiteral([ ts.createPropertyAssignment("setters", createSettersArray(exportStarFunction, dependencyGroups)), @@ -56417,7 +56747,7 @@ var ts; var hasExportDeclarationWithExportClause = false; for (var _i = 0, _a = moduleInfo.externalImports; _i < _a.length; _i++) { var externalImport = _a[_i]; - if (externalImport.kind === 249 && externalImport.exportClause) { + if (externalImport.kind === 250 && externalImport.exportClause) { hasExportDeclarationWithExportClause = true; break; } @@ -56440,7 +56770,7 @@ var ts; } for (var _d = 0, _e = moduleInfo.externalImports; _d < _e.length; _d++) { var externalImport = _e[_d]; - if (externalImport.kind !== 249) { + if (externalImport.kind !== 250) { continue; } if (!externalImport.exportClause) { @@ -56491,15 +56821,15 @@ var ts; var entry = _b[_a]; var importVariableName = ts.getLocalNameForExternalImport(entry, currentSourceFile); switch (entry.kind) { - case 243: + case 244: if (!entry.importClause) { break; } - case 242: + case 243: ts.Debug.assert(importVariableName !== undefined); statements.push(ts.createStatement(ts.createAssignment(importVariableName, parameterName))); break; - case 249: + case 250: ts.Debug.assert(importVariableName !== undefined); if (entry.exportClause) { var properties = []; @@ -56521,13 +56851,13 @@ var ts; } function sourceElementVisitor(node) { switch (node.kind) { - case 243: + case 244: return visitImportDeclaration(node); - case 242: + case 243: return visitImportEqualsDeclaration(node); - case 249: + case 250: return undefined; - case 248: + case 249: return visitExportAssignment(node); default: return nestedElementVisitor(node); @@ -56648,7 +56978,7 @@ var ts; } function shouldHoistVariableDeclarationList(node) { return (ts.getEmitFlags(node) & 2097152) === 0 - && (enclosingBlockScopedContainer.kind === 273 + && (enclosingBlockScopedContainer.kind === 274 || (ts.getOriginalNode(node).flags & 3) === 0); } function transformInitializedVariable(node, isExportedDeclaration) { @@ -56670,7 +57000,7 @@ var ts; : preventSubstitution(ts.setTextRange(ts.createAssignment(name, value), location)); } function visitMergeDeclarationMarker(node) { - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 213) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 214) { var id = ts.getOriginalNodeId(node); var isExportedDeclaration = ts.hasModifier(node.original, 1); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original, isExportedDeclaration); @@ -56709,10 +57039,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 245: + case 246: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 246: + case 247: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding); @@ -56812,43 +57142,43 @@ var ts; } function nestedElementVisitor(node) { switch (node.kind) { - case 213: + case 214: return visitVariableStatement(node); - case 233: - return visitFunctionDeclaration(node); case 234: + return visitFunctionDeclaration(node); + case 235: return visitClassDeclaration(node); - case 219: - return visitForStatement(node); case 220: - return visitForInStatement(node); + return visitForStatement(node); case 221: + return visitForInStatement(node); + case 222: return visitForOfStatement(node); - case 217: - return visitDoStatement(node); case 218: + return visitDoStatement(node); + case 219: return visitWhileStatement(node); - case 227: + case 228: return visitLabeledStatement(node); - case 225: - return visitWithStatement(node); case 226: + return visitWithStatement(node); + case 227: return visitSwitchStatement(node); - case 240: + case 241: return visitCaseBlock(node); - case 265: - return visitCaseClause(node); case 266: + return visitCaseClause(node); + case 267: return visitDefaultClause(node); - case 229: + case 230: return visitTryStatement(node); - case 268: + case 269: return visitCatchClause(node); - case 212: + case 213: return visitBlock(node); - case 302: - return visitMergeDeclarationMarker(node); case 303: + return visitMergeDeclarationMarker(node); + case 304: return visitEndOfDeclarationMarker(node); default: return destructuringAndImportCallVisitor(node); @@ -56857,7 +57187,7 @@ var ts; function visitForStatement(node) { var savedEnclosingBlockScopedContainer = enclosingBlockScopedContainer; enclosingBlockScopedContainer = node; - node = ts.updateFor(node, visitForInitializer(node.initializer), ts.visitNode(node.condition, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.incrementor, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.statement, nestedElementVisitor, ts.isStatement)); + node = ts.updateFor(node, node.initializer && visitForInitializer(node.initializer), ts.visitNode(node.condition, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.incrementor, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.statement, nestedElementVisitor, ts.isStatement)); enclosingBlockScopedContainer = savedEnclosingBlockScopedContainer; return node; } @@ -56880,9 +57210,6 @@ var ts; && shouldHoistVariableDeclarationList(node); } function visitForInitializer(node) { - if (!node) { - return node; - } if (shouldHoistForInitializer(node)) { var expressions = void 0; for (var _i = 0, _a = node.declarations; _i < _a.length; _i++) { @@ -56945,7 +57272,7 @@ var ts; } function destructuringAndImportCallVisitor(node) { if (node.transformFlags & 1024 - && node.kind === 199) { + && node.kind === 200) { return visitDestructuringAssignment(node); } else if (ts.isImportCall(node)) { @@ -56988,7 +57315,7 @@ var ts; } else if (ts.isIdentifier(node)) { var container = resolver.getReferencedExportContainer(node); - return container !== undefined && container.kind === 273; + return container !== undefined && container.kind === 274; } else { return false; @@ -57003,7 +57330,7 @@ var ts; return node; } function onEmitNode(hint, node, emitCallback) { - if (node.kind === 273) { + if (node.kind === 274) { var id = ts.getOriginalNodeId(node); currentSourceFile = node; moduleInfo = moduleInfoMap[id]; @@ -57037,7 +57364,7 @@ var ts; } function substituteUnspecified(node) { switch (node.kind) { - case 270: + case 271: return substituteShorthandPropertyAssignment(node); } return node; @@ -57061,10 +57388,10 @@ var ts; switch (node.kind) { case 71: return substituteExpressionIdentifier(node); - case 199: + case 200: return substituteBinaryExpression(node); - case 197: case 198: + case 199: return substituteUnaryExpression(node); } return node; @@ -57116,14 +57443,14 @@ var ts; && !ts.isDeclarationNameOfEnumOrNamespace(node.operand)) { var exportedNames = getExports(node.operand); if (exportedNames) { - var expression = node.kind === 198 + var expression = node.kind === 199 ? ts.setTextRange(ts.createPrefix(node.operator, node.operand), node) : node; for (var _i = 0, exportedNames_5 = exportedNames; _i < exportedNames_5.length; _i++) { var exportName = exportedNames_5[_i]; expression = createExportExpression(exportName, preventSubstitution(expression)); } - if (node.kind === 198) { + if (node.kind === 199) { expression = node.operator === 43 ? ts.createSubtract(preventSubstitution(expression), ts.createLiteral(1)) : ts.createAdd(preventSubstitution(expression), ts.createLiteral(1)); @@ -57140,7 +57467,7 @@ var ts; || resolver.getReferencedValueDeclaration(name); if (valueDeclaration) { var exportContainer = resolver.getReferencedExportContainer(name, false); - if (exportContainer && exportContainer.kind === 273) { + if (exportContainer && exportContainer.kind === 274) { exportedNames = ts.append(exportedNames, ts.getDeclarationName(valueDeclaration)); } exportedNames = ts.addRange(exportedNames, moduleInfo && moduleInfo.exportedBindings[ts.getOriginalNodeId(valueDeclaration)]); @@ -57168,7 +57495,7 @@ var ts; var previousOnSubstituteNode = context.onSubstituteNode; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; - context.enableEmitNotification(273); + context.enableEmitNotification(274); context.enableSubstitution(71); var currentSourceFile; return ts.chainBundle(transformSourceFile); @@ -57195,9 +57522,9 @@ var ts; } function visitor(node) { switch (node.kind) { - case 242: + case 243: return undefined; - case 248: + case 249: return visitExportAssignment(node); } return node; @@ -57283,7 +57610,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234) { + else if (node.parent.kind === 235) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -57312,7 +57639,7 @@ var ts; ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234) { + else if (node.parent.kind === 235) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -57356,18 +57683,18 @@ var ts; return getTypeAliasDeclarationVisibilityError; } else { - ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]); + return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]); } function getVariableDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { - if (node.kind === 231 || node.kind === 181) { + if (node.kind === 232 || node.kind === 182) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1; } - else if (node.kind === 151 || node.kind === 150 || - (node.kind === 148 && ts.hasModifier(node.parent, 8))) { + else if (node.kind === 152 || node.kind === 151 || + (node.kind === 149 && ts.hasModifier(node.parent, 8))) { if (ts.hasModifier(node, 32)) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? @@ -57375,7 +57702,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234 || node.kind === 148) { + else if (node.parent.kind === 235 || node.kind === 149) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -57399,7 +57726,7 @@ var ts; } function getAccessorDeclarationTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; - if (node.kind === 156) { + if (node.kind === 157) { if (ts.hasModifier(node, 32)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2 : @@ -57436,23 +57763,23 @@ var ts; function getReturnTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; switch (node.kind) { - case 158: + case 159: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 157: + case 158: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 159: + case 160: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0; break; + case 154: case 153: - case 152: if (ts.hasModifier(node, 32)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? @@ -57460,7 +57787,7 @@ var ts; ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0; } - else if (node.parent.kind === 234) { + else if (node.parent.kind === 235) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -57473,7 +57800,7 @@ var ts; ts.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0; } break; - case 233: + case 234: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -57481,7 +57808,7 @@ var ts; ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0; break; default: - ts.Debug.fail("This is unknown kind for signature: " + node.kind); + return ts.Debug.fail("This is unknown kind for signature: " + node.kind); } return { diagnosticMessage: diagnosticMessage, @@ -57498,27 +57825,27 @@ var ts; } function getParameterDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { switch (node.parent.kind) { - case 154: + case 155: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1; - case 158: - case 163: + case 159: + case 164: return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; - case 157: + case 158: return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; - case 159: + case 160: return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1; + case 154: case 153: - case 152: if (ts.hasModifier(node.parent, 32)) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? @@ -57526,7 +57853,7 @@ var ts; ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 234) { + else if (node.parent.parent.kind === 235) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -57538,52 +57865,52 @@ var ts; ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } - case 233: - case 162: + case 234: + case 163: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1; default: - ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]); + return ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]); } } function getTypeParameterConstraintVisibilityError() { var diagnosticMessage; switch (node.parent.kind) { - case 234: + case 235: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1; break; - case 235: + case 236: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1; break; - case 158: + case 159: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 157: + case 158: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; break; + case 154: case 153: - case 152: if (ts.hasModifier(node.parent, 32)) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 234) { + else if (node.parent.parent.kind === 235) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; } else { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } break; - case 233: + case 234: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1; break; - case 236: + case 237: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1; break; default: - ts.Debug.fail("This is unknown parent for type parameter: " + node.parent.kind); + return ts.Debug.fail("This is unknown parent for type parameter: " + node.parent.kind); } return { diagnosticMessage: diagnosticMessage, @@ -57593,7 +57920,7 @@ var ts; } function getHeritageClauseVisibilityError() { var diagnosticMessage; - if (node.parent.parent.kind === 234) { + if (node.parent.parent.kind === 235) { diagnosticMessage = node.parent.token === 108 ? ts.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1; @@ -57733,16 +58060,16 @@ var ts; } } function transformRoot(node) { - if (node.kind === 273 && (node.isDeclarationFile || ts.isSourceFileJavaScript(node))) { + if (node.kind === 274 && (node.isDeclarationFile || ts.isSourceFileJavaScript(node))) { return node; } - if (node.kind === 274) { + if (node.kind === 275) { isBundledEmit = true; var refs_1 = ts.createMap(); var hasNoDefaultLib_1 = false; var bundle = ts.createBundle(ts.map(node.sourceFiles, function (sourceFile) { if (sourceFile.isDeclarationFile || ts.isSourceFileJavaScript(sourceFile)) - return; + return undefined; hasNoDefaultLib_1 = hasNoDefaultLib_1 || sourceFile.hasNoDefaultLib; currentSourceFile = sourceFile; enclosingDeclaration = sourceFile; @@ -57764,7 +58091,7 @@ var ts; var updated = ts.visitNodes(sourceFile.statements, visitDeclarationStatements); return ts.updateSourceFileNode(sourceFile, transformAndReplaceLatePaintedStatements(updated), true, [], [], false); }), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 276) { + if (prepend.kind === 277) { return ts.createUnparsedSourceFile(prepend.declarationText); } })); @@ -57859,7 +58186,7 @@ var ts; return name; } else { - if (name.kind === 180) { + if (name.kind === 181) { return ts.updateArrayBindingPattern(name, ts.visitNodes(name.elements, visitBindingElement)); } else { @@ -57867,7 +58194,7 @@ var ts; } } function visitBindingElement(elem) { - if (elem.kind === 205) { + if (elem.kind === 206) { return elem; } return ts.updateBindingElement(elem, elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializers(elem.name), shouldPrintWithInitializer(elem) ? elem.initializer : undefined); @@ -57901,7 +58228,7 @@ var ts; if (shouldPrintWithInitializer(node)) { return; } - var shouldUseResolverType = node.kind === 148 && + var shouldUseResolverType = node.kind === 149 && (resolver.isRequiredInitializedParameter(node) || resolver.isOptionalUninitializedParameterProperty(node)); if (type && !shouldUseResolverType) { @@ -57910,7 +58237,7 @@ var ts; if (!ts.getParseTreeNode(node)) { return type ? ts.visitNode(type, visitDeclarationSubtree) : ts.createKeywordTypeNode(119); } - if (node.kind === 156) { + if (node.kind === 157) { return ts.createKeywordTypeNode(119); } errorNameNode = node.name; @@ -57919,12 +58246,12 @@ var ts; oldDiag = getSymbolAccessibilityDiagnostic; getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(node); } - if (node.kind === 231 || node.kind === 181) { + if (node.kind === 232 || node.kind === 182) { return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } - if (node.kind === 148 - || node.kind === 151 - || node.kind === 150) { + if (node.kind === 149 + || node.kind === 152 + || node.kind === 151) { if (!node.initializer) return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); @@ -57941,19 +58268,19 @@ var ts; function isDeclarationAndNotVisible(node) { node = ts.getParseTreeNode(node); switch (node.kind) { - case 233: - case 238: - case 235: case 234: + case 239: case 236: + case 235: case 237: + case 238: return !resolver.isDeclarationVisible(node); - case 231: + case 232: return !getBindingNameVisible(node); - case 242: case 243: + case 244: + case 250: case 249: - case 248: return false; } return false; @@ -57963,7 +58290,7 @@ var ts; return false; } if (ts.isBindingPattern(elem.name)) { - return ts.forEach(elem.name.elements, getBindingNameVisible); + return ts.some(elem.name.elements, getBindingNameVisible); } else { return resolver.isDeclarationVisible(elem); @@ -58005,8 +58332,8 @@ var ts; } function rewriteModuleSpecifier(parent, input) { if (!input) - return; - resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 238 && parent.kind !== 178); + return undefined; + resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 239 && parent.kind !== 179); if (input.kind === 9 && isBundledEmit) { var newName = ts.getExternalModuleNameFromDeclaration(context.getEmitHost(), resolver, parent); if (newName) { @@ -58018,7 +58345,7 @@ var ts; function transformImportEqualsDeclaration(decl) { if (!resolver.isDeclarationVisible(decl)) return; - if (decl.moduleReference.kind === 253) { + if (decl.moduleReference.kind === 254) { var specifier = ts.getExternalModuleImportEqualsDeclarationExpression(decl); return ts.updateImportEqualsDeclaration(decl, undefined, decl.modifiers, decl.name, ts.updateExternalModuleReference(decl.moduleReference, rewriteModuleSpecifier(decl, specifier))); } @@ -58038,7 +58365,7 @@ var ts; if (!decl.importClause.namedBindings) { return visibleDefaultBinding && ts.updateImportDeclaration(decl, undefined, decl.modifiers, ts.updateImportClause(decl.importClause, visibleDefaultBinding, undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier)); } - if (decl.importClause.namedBindings.kind === 245) { + if (decl.importClause.namedBindings.kind === 246) { var namedBindings = resolver.isDeclarationVisible(decl.importClause.namedBindings) ? decl.importClause.namedBindings : undefined; return visibleDefaultBinding || namedBindings ? ts.updateImportDeclaration(decl, undefined, decl.modifiers, ts.updateImportClause(decl.importClause, visibleDefaultBinding, namedBindings), rewriteModuleSpecifier(decl, decl.moduleSpecifier)) : undefined; } @@ -58118,61 +58445,61 @@ var ts; checkEntityNameVisibility(input.exprName, enclosingDeclaration); } var oldWithinObjectLiteralType = suppressNewDiagnosticContexts; - var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 165 || input.kind === 176) && input.parent.kind !== 236); + var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 166 || input.kind === 177) && input.parent.kind !== 237); if (shouldEnterSuppressNewDiagnosticsContextContext) { suppressNewDiagnosticContexts = true; } if (isProcessedComponent(input)) { switch (input.kind) { - case 206: { + case 207: { if ((ts.isEntityName(input.expression) || ts.isEntityNameExpression(input.expression))) { checkEntityNameVisibility(input.expression, enclosingDeclaration); } var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(ts.updateExpressionWithTypeArguments(node, ts.parenthesizeTypeParameters(node.typeArguments), node.expression)); } - case 161: { + case 162: { checkEntityNameVisibility(input.typeName, enclosingDeclaration); var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(ts.updateTypeReferenceNode(node, node.typeName, ts.parenthesizeTypeParameters(node.typeArguments))); } - case 158: + case 159: return cleanup(ts.updateConstructSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); - case 154: { + case 155: { var isPrivate = ts.hasModifier(input, 8); - var ctor = ts.createSignatureDeclaration(154, isPrivate ? undefined : ensureTypeParams(input, input.typeParameters), isPrivate ? undefined : updateParamsList(input, input.parameters, 0), undefined); + var ctor = ts.createSignatureDeclaration(155, isPrivate ? undefined : ensureTypeParams(input, input.typeParameters), isPrivate ? undefined : updateParamsList(input, input.parameters, 0), undefined); ctor.modifiers = ts.createNodeArray(ensureModifiers(input)); return cleanup(ctor); } - case 153: { - var sig = ts.createSignatureDeclaration(152, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type)); + case 154: { + var sig = ts.createSignatureDeclaration(153, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type)); sig.name = input.name; sig.modifiers = ts.createNodeArray(ensureModifiers(input)); sig.questionToken = input.questionToken; return cleanup(sig); } - case 155: { - var newNode = ensureAccessor(input); - return cleanup(newNode); - } case 156: { var newNode = ensureAccessor(input); return cleanup(newNode); } - case 151: + case 157: { + var newNode = ensureAccessor(input); + return cleanup(newNode); + } + case 152: return cleanup(ts.updateProperty(input, undefined, ensureModifiers(input), input.name, input.questionToken, !ts.hasModifier(input, 8) ? ensureType(input, input.type) : undefined, ensureNoInitializer(input))); - case 150: + case 151: return cleanup(ts.updatePropertySignature(input, ensureModifiers(input), input.name, input.questionToken, !ts.hasModifier(input, 8) ? ensureType(input, input.type) : undefined, ensureNoInitializer(input))); - case 152: { + case 153: { return cleanup(ts.updateMethodSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), input.name, input.questionToken)); } - case 157: { + case 158: { return cleanup(ts.updateCallSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); } - case 159: { + case 160: { return cleanup(ts.updateIndexSignature(input, undefined, ensureModifiers(input), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree) || ts.createKeywordTypeNode(119))); } - case 231: { + case 232: { if (ts.isBindingPattern(input.name)) { return recreateBindingPattern(input.name); } @@ -58180,13 +58507,13 @@ var ts; suppressNewDiagnosticContexts = true; return cleanup(ts.updateVariableDeclaration(input, input.name, ensureType(input, input.type), ensureNoInitializer(input))); } - case 147: { + case 148: { if (isPrivateMethodTypeParameter(input) && (input.default || input.constraint)) { return cleanup(ts.updateTypeParameterDeclaration(input, input.name, undefined, undefined)); } return cleanup(ts.visitEachChild(input, visitDeclarationSubtree, context)); } - case 170: { + case 171: { var checkType = ts.visitNode(input.checkType, visitDeclarationSubtree); var extendsType = ts.visitNode(input.extendsType, visitDeclarationSubtree); var oldEnclosingDecl = enclosingDeclaration; @@ -58196,13 +58523,13 @@ var ts; var falseType = ts.visitNode(input.falseType, visitDeclarationSubtree); return cleanup(ts.updateConditionalTypeNode(input, checkType, extendsType, trueType, falseType)); } - case 162: { + case 163: { return cleanup(ts.updateFunctionTypeNode(input, ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 163: { + case 164: { return cleanup(ts.updateConstructorTypeNode(input, ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 178: { + case 179: { if (!ts.isLiteralImportTypeNode(input)) return cleanup(input); return cleanup(ts.updateImportTypeNode(input, ts.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)), input.qualifier, ts.visitNodes(input.typeArguments, visitDeclarationSubtree, ts.isTypeNode), input.isTypeOf)); @@ -58231,7 +58558,7 @@ var ts; } } function isPrivateMethodTypeParameter(node) { - return node.parent.kind === 153 && ts.hasModifier(node.parent, 8); + return node.parent.kind === 154 && ts.hasModifier(node.parent, 8); } function visitDeclarationStatements(input) { if (!isPreservedDeclarationStatement(input)) { @@ -58240,14 +58567,14 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 249: { + case 250: { if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; resultHasScopeMarker = true; } return ts.updateExportDeclaration(input, undefined, input.modifiers, input.exportClause, rewriteModuleSpecifier(input, input.moduleSpecifier)); } - case 248: { + case 249: { if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; resultHasScopeMarker = true; @@ -58275,10 +58602,10 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 242: { + case 243: { return transformImportEqualsDeclaration(input); } - case 243: { + case 244: { return transformImportDeclaration(input); } } @@ -58298,18 +58625,18 @@ var ts; } var previousNeedsDeclare = needsDeclare; switch (input.kind) { - case 236: + case 237: return cleanup(ts.updateTypeAliasDeclaration(input, undefined, ensureModifiers(input, isPrivate), input.name, ts.visitNodes(input.typeParameters, visitDeclarationSubtree, ts.isTypeParameterDeclaration), ts.visitNode(input.type, visitDeclarationSubtree, ts.isTypeNode))); - case 235: { + case 236: { return cleanup(ts.updateInterfaceDeclaration(input, undefined, ensureModifiers(input, isPrivate), input.name, ensureTypeParams(input, input.typeParameters), transformHeritageClauses(input.heritageClauses), ts.visitNodes(input.members, visitDeclarationSubtree))); } - case 233: { + case 234: { return cleanup(ts.updateFunctionDeclaration(input, undefined, ensureModifiers(input, isPrivate), undefined, input.name, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), undefined)); } - case 238: { + case 239: { needsDeclare = false; var inner = input.body; - if (inner && inner.kind === 239) { + if (inner && inner.kind === 240) { var statements = ts.visitNodes(inner.statements, visitDeclarationStatements); var body = ts.updateModuleBlock(inner, transformAndReplaceLatePaintedStatements(statements)); needsDeclare = previousNeedsDeclare; @@ -58327,7 +58654,7 @@ var ts; return cleanup(ts.updateModuleDeclaration(input, undefined, mods, input.name, body)); } } - case 234: { + case 235: { var modifiers = ts.createNodeArray(ensureModifiers(input, isPrivate)); var typeParameters = ensureTypeParams(input, input.typeParameters); var ctor = ts.getFirstConstructorWithBody(input); @@ -58389,10 +58716,10 @@ var ts; return cleanup(ts.updateClassDeclaration(input, undefined, modifiers, input.name, typeParameters, heritageClauses, members)); } } - case 213: { + case 214: { return cleanup(transformVariableStatement(input, isPrivate)); } - case 237: { + case 238: { return cleanup(ts.updateEnumDeclaration(input, undefined, ts.createNodeArray(ensureModifiers(input, isPrivate)), input.name, ts.createNodeArray(ts.mapDefined(input.members, function (m) { if (shouldStripInternal(m)) return; @@ -58409,7 +58736,7 @@ var ts; if (canProdiceDiagnostic) { getSymbolAccessibilityDiagnostic = oldDiag; } - if (input.kind === 238) { + if (input.kind === 239) { needsDeclare = previousNeedsDeclare; } if (node === input) { @@ -58430,7 +58757,7 @@ var ts; return ts.flatten(ts.mapDefined(d.elements, function (e) { return recreateBindingElement(e); })); } function recreateBindingElement(e) { - if (e.kind === 205) { + if (e.kind === 206) { return; } if (e.name) { @@ -58484,7 +58811,7 @@ var ts; function ensureModifierFlags(node, privateDeclaration) { var mask = 3071 ^ (4 | 256); var additions = (needsDeclare && !isAlwaysType(node)) ? 2 : 0; - var parentIsFile = node.parent.kind === 273; + var parentIsFile = node.parent.kind === 274; if (!parentIsFile || (isBundledEmit && parentIsFile && ts.isExternalModule(node.parent))) { mask ^= ((privateDeclaration || (isBundledEmit && parentIsFile) ? 0 : 1) | 512 | 2); additions = 0; @@ -58531,7 +58858,7 @@ var ts; } ts.transformDeclarations = transformDeclarations; function isAlwaysType(node) { - if (node.kind === 235) { + if (node.kind === 236) { return true; } return false; @@ -58550,7 +58877,7 @@ var ts; } function getTypeAnnotationFromAccessor(accessor) { if (accessor) { - return accessor.kind === 155 + return accessor.kind === 156 ? accessor.type : accessor.parameters.length > 0 ? accessor.parameters[0].type @@ -58559,51 +58886,51 @@ var ts; } function canHaveLiteralInitializer(node) { switch (node.kind) { - case 231: + case 232: + case 152: case 151: - case 150: - case 148: + case 149: return true; } return false; } function isPreservedDeclarationStatement(node) { switch (node.kind) { - case 233: - case 238: - case 242: - case 235: case 234: - case 236: - case 237: - case 213: + case 239: case 243: + case 236: + case 235: + case 237: + case 238: + case 214: + case 244: + case 250: case 249: - case 248: return true; } return false; } function isProcessedComponent(node) { switch (node.kind) { - case 158: - case 154: - case 153: - case 155: - case 156: - case 151: - case 150: - case 152: - case 157: case 159: - case 231: - case 147: - case 206: - case 161: - case 170: + case 155: + case 154: + case 156: + case 157: + case 152: + case 151: + case 153: + case 158: + case 160: + case 232: + case 148: + case 207: case 162: + case 171: case 163: - case 178: + case 164: + case 179: return true; } return false; @@ -58654,7 +58981,7 @@ var ts; } ts.getTransformers = getTransformers; function transformNodes(resolver, host, options, nodes, transformers, allowDtsFiles) { - var enabledSyntaxKindFeatures = new Array(304); + var enabledSyntaxKindFeatures = new Array(305); var lexicalEnvironmentVariableDeclarations; var lexicalEnvironmentFunctionDeclarations; var lexicalEnvironmentVariableDeclarationsStack = []; @@ -58889,7 +59216,7 @@ var ts; return currentSource.skipTrivia ? currentSource.skipTrivia(pos) : ts.skipTrivia(currentSourceText, pos); } function initialize(filePath, sourceMapFilePath, sourceFileOrBundle, outputSourceMapDataList) { - if (disabled) { + if (disabled || ts.fileExtensionIs(filePath, ".json")) { return; } if (sourceMapData) { @@ -58920,7 +59247,7 @@ var ts; } if (compilerOptions.mapRoot) { sourceMapDir = ts.normalizeSlashes(compilerOptions.mapRoot); - if (sourceFileOrBundle.kind === 273) { + if (sourceFileOrBundle.kind === 274) { sourceMapDir = ts.getDirectoryPath(ts.getSourceFilePathInNewDir(sourceFileOrBundle, host, sourceMapDir)); } if (!ts.isRootedDiskPath(sourceMapDir) && !ts.isUrl(sourceMapDir)) { @@ -58980,7 +59307,7 @@ var ts; sourceMapData.sourceMapDecodedMappings.push(lastEncodedSourceMapSpan); } function emitPos(pos) { - if (disabled || ts.positionIsSynthesized(pos)) { + if (disabled || ts.positionIsSynthesized(pos) || isJsonSourceMapSource(currentSource)) { return; } if (extendedDiagnostics) { @@ -59017,12 +59344,12 @@ var ts; } } function emitNodeWithSourceMap(hint, node, emitCallback) { - if (disabled) { + if (disabled || ts.isInJsonFile(node)) { return emitCallback(hint, node); } if (node) { var emitNode = node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0; var range = emitNode && emitNode.sourceMapRange; var _a = range || node, pos = _a.pos, end = _a.end; var source = range && range.source; @@ -59031,7 +59358,7 @@ var ts; source = undefined; if (source) setSourceFile(source); - if (node.kind !== 299 + if (node.kind !== 300 && (emitFlags & 16) === 0 && pos >= 0) { emitPos(skipSourceTrivia(pos)); @@ -59048,7 +59375,7 @@ var ts; } if (source) setSourceFile(source); - if (node.kind !== 299 + if (node.kind !== 300 && (emitFlags & 32) === 0 && end >= 0) { emitPos(end); @@ -59058,11 +59385,11 @@ var ts; } } function emitTokenWithSourceMap(node, token, writer, tokenPos, emitCallback) { - if (disabled) { + if (disabled || ts.isInJsonFile(node)) { return emitCallback(token, writer, tokenPos); } var emitNode = node && node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0; var range = emitNode && emitNode.tokenSourceMapRanges && emitNode.tokenSourceMapRanges[token]; tokenPos = skipSourceTrivia(range ? range.pos : tokenPos); if ((emitFlags & 128) === 0 && tokenPos >= 0) { @@ -59076,12 +59403,18 @@ var ts; } return tokenPos; } + function isJsonSourceMapSource(sourceFile) { + return ts.fileExtensionIs(sourceFile.fileName, ".json"); + } function setSourceFile(sourceFile) { if (disabled) { return; } currentSource = sourceFile; currentSourceText = currentSource.text; + if (isJsonSourceMapSource(sourceFile)) { + return; + } var sourcesDirectoryPath = compilerOptions.sourceRoot ? host.getCommonSourceDirectory() : sourceMapDir; var source = ts.getRelativePathToDirectoryOrUrl(sourcesDirectoryPath, currentSource.fileName, host.getCurrentDirectory(), host.getCanonicalFileName, true); sourceMapSourceIndex = sourceMapData.sourceMapSources.indexOf(source); @@ -59095,8 +59428,8 @@ var ts; } } function getText() { - if (disabled) { - return; + if (disabled || isJsonSourceMapSource(currentSource)) { + return undefined; } encodeLastRecordedSourceMapSpan(); return JSON.stringify({ @@ -59110,8 +59443,8 @@ var ts; }); } function getSourceMappingURL() { - if (disabled) { - return; + if (disabled || isJsonSourceMapSource(currentSource)) { + return undefined; } if (compilerOptions.inlineSourceMap) { var base64SourceMapText = ts.base64encode(ts.sys, getText()); @@ -59163,7 +59496,7 @@ var ts; var currentLineMap; var detachedCommentsInfo; var hasWrittenComment = false; - var disabled = printerOptions.removeComments; + var disabled = !!printerOptions.removeComments; return { reset: reset, setWriter: setWriter, @@ -59181,7 +59514,7 @@ var ts; if (node) { hasWrittenComment = false; var emitNode = node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0; var _a = emitNode && emitNode.commentRange || node, pos = _a.pos, end = _a.end; if ((pos < 0 && end < 0) || (pos === end)) { emitNodeWithSynthesizedComments(hint, node, emitNode, emitFlags, emitCallback); @@ -59190,7 +59523,7 @@ var ts; if (extendedDiagnostics) { ts.performance.mark("preEmitNodeWithComment"); } - var isEmittedNode = node.kind !== 299; + var isEmittedNode = node.kind !== 300; var skipLeadingComments = pos < 0 || (emitFlags & 512) !== 0 || node.kind === 10; var skipTrailingComments = end < 0 || (emitFlags & 1024) !== 0 || node.kind === 10; if (!skipLeadingComments) { @@ -59204,7 +59537,7 @@ var ts; } if (!skipTrailingComments) { containerEnd = end; - if (node.kind === 232) { + if (node.kind === 233) { declarationListContainerEnd = end; } } @@ -59445,10 +59778,10 @@ var ts; detachedCommentsInfo = undefined; } function hasDetachedComments(pos) { - return detachedCommentsInfo !== undefined && ts.lastOrUndefined(detachedCommentsInfo).nodePos === pos; + return detachedCommentsInfo !== undefined && ts.last(detachedCommentsInfo).nodePos === pos; } function forEachLeadingCommentWithoutDetachedComments(cb) { - var pos = ts.lastOrUndefined(detachedCommentsInfo).detachedCommentEndPos; + var pos = ts.last(detachedCommentsInfo).detachedCommentEndPos; if (detachedCommentsInfo.length - 1) { detachedCommentsInfo.pop(); } @@ -59488,6 +59821,7 @@ var ts; var infoExtension = ".tsbundleinfo"; var brackets = createBracketsMap(); function forEachEmittedFile(host, action, sourceFilesOrTargetSourceFile, emitOnlyDtsFiles) { + if (emitOnlyDtsFiles === void 0) { emitOnlyDtsFiles = false; } var sourceFiles = ts.isArray(sourceFilesOrTargetSourceFile) ? sourceFilesOrTargetSourceFile : ts.getSourceFilesToEmit(host, sourceFilesOrTargetSourceFile); var options = host.getCompilerOptions(); if (options.outFile || options.out) { @@ -59512,17 +59846,17 @@ var ts; ts.forEachEmittedFile = forEachEmittedFile; function getOutputPathsFor(sourceFile, host, forceDtsPaths) { var options = host.getCompilerOptions(); - if (sourceFile.kind === 274) { + if (sourceFile.kind === 275) { var jsFilePath = options.outFile || options.out; var sourceMapFilePath = getSourceMapFilePath(jsFilePath, options); var declarationFilePath = (forceDtsPaths || options.declaration) ? ts.removeFileExtension(jsFilePath) + ".d.ts" : undefined; var declarationMapPath = ts.getAreDeclarationMapsEnabled(options) ? declarationFilePath + ".map" : undefined; - var bundleInfoPath = options.references && jsFilePath && (ts.removeFileExtension(jsFilePath) + infoExtension); + var bundleInfoPath = options.references && jsFilePath ? (ts.removeFileExtension(jsFilePath) + infoExtension) : undefined; return { jsFilePath: jsFilePath, sourceMapFilePath: sourceMapFilePath, declarationFilePath: declarationFilePath, declarationMapPath: declarationMapPath, bundleInfoPath: bundleInfoPath }; } else { var jsFilePath = ts.getOwnEmitOutputFilePath(sourceFile, host, getOutputExtension(sourceFile, options)); - var sourceMapFilePath = getSourceMapFilePath(jsFilePath, options); + var sourceMapFilePath = ts.isJsonSourceFile(sourceFile) ? undefined : getSourceMapFilePath(jsFilePath, options); var isJs = ts.isSourceFileJavaScript(sourceFile); var declarationFilePath = ((forceDtsPaths || options.declaration) && !isJs) ? ts.getDeclarationEmitOutputFilePath(sourceFile, host) : undefined; var declarationMapPath = ts.getAreDeclarationMapsEnabled(options) ? declarationFilePath + ".map" : undefined; @@ -59579,7 +59913,7 @@ var ts; emitSkipped: emitSkipped, diagnostics: emitterDiagnostics.getDiagnostics(), emittedFiles: emittedFilesList, - sourceMaps: sourceMapDataList + sourceMaps: sourceMapDataList, }; function emitSourceFileOrBundle(_a, sourceFileOrBundle) { var jsFilePath = _a.jsFilePath, sourceMapFilePath = _a.sourceMapFilePath, declarationFilePath = _a.declarationFilePath, declarationMapPath = _a.declarationMapPath, bundleInfoPath = _a.bundleInfoPath; @@ -59654,8 +59988,8 @@ var ts; declarationTransform.dispose(); } function printSourceFileOrBundle(jsFilePath, sourceMapFilePath, sourceFileOrBundle, bundleInfoPath, printer, mapRecorder) { - var bundle = sourceFileOrBundle.kind === 274 ? sourceFileOrBundle : undefined; - var sourceFile = sourceFileOrBundle.kind === 273 ? sourceFileOrBundle : undefined; + var bundle = sourceFileOrBundle.kind === 275 ? sourceFileOrBundle : undefined; + var sourceFile = sourceFileOrBundle.kind === 274 ? sourceFileOrBundle : undefined; var sourceFiles = bundle ? bundle.sourceFiles : [sourceFile]; mapRecorder.initialize(jsFilePath, sourceMapFilePath || "", sourceFileOrBundle, sourceMapDataList); if (bundle) { @@ -59672,7 +60006,7 @@ var ts; if (sourceMapFilePath) { ts.writeFile(host, emitterDiagnostics, sourceMapFilePath, mapRecorder.getText(), false, sourceFiles); } - ts.writeFile(host, emitterDiagnostics, jsFilePath, writer.getText(), compilerOptions.emitBOM, sourceFiles); + ts.writeFile(host, emitterDiagnostics, jsFilePath, writer.getText(), !!compilerOptions.emitBOM, sourceFiles); if (bundleInfoPath) { bundleInfo.totalLength = writer.getTextPos(); ts.writeFile(host, emitterDiagnostics, bundleInfoPath, JSON.stringify(bundleInfo, undefined, 2), false); @@ -59742,9 +60076,9 @@ var ts; break; } switch (node.kind) { - case 273: return printFile(node); - case 274: return printBundle(node); - case 275: return printUnparsedSource(node); + case 274: return printFile(node); + case 275: return printBundle(node); + case 276: return printUnparsedSource(node); } writeNode(hint, node, sourceFile, beginPrint()); return endPrint(); @@ -59901,8 +60235,7 @@ var ts; return getPipelinePhase(currentPhase + 1, hint); } function pipelineEmitWithNotification(hint, node) { - ts.Debug.assertDefined(onEmitNode); - onEmitNode(hint, node, getNextPipelinePhase(0, hint)); + ts.Debug.assertDefined(onEmitNode)(hint, node, getNextPipelinePhase(0, hint)); } function pipelineEmitWithComments(hint, node) { ts.Debug.assertDefined(emitNodeWithComments); @@ -59914,9 +60247,8 @@ var ts; pipelinePhase(hint, trySubstituteNode(hint, node)); } function pipelineEmitWithSourceMap(hint, node) { - ts.Debug.assertDefined(onEmitSourceMapOfNode); ts.Debug.assert(hint !== 0 && hint !== 2); - onEmitSourceMapOfNode(hint, node, pipelineEmitWithHint); + ts.Debug.assertDefined(onEmitSourceMapOfNode)(hint, node, pipelineEmitWithHint); } function pipelineEmitWithHint(hint, node) { if (hint === 0) @@ -59933,220 +60265,220 @@ var ts; case 15: case 16: return emitLiteral(node); - case 275: + case 276: return emitUnparsedSource(node); case 71: return emitIdentifier(node); - case 145: - return emitQualifiedName(node); case 146: - return emitComputedPropertyName(node); + return emitQualifiedName(node); case 147: - return emitTypeParameter(node); + return emitComputedPropertyName(node); case 148: - return emitParameter(node); + return emitTypeParameter(node); case 149: - return emitDecorator(node); + return emitParameter(node); case 150: - return emitPropertySignature(node); + return emitDecorator(node); case 151: - return emitPropertyDeclaration(node); + return emitPropertySignature(node); case 152: - return emitMethodSignature(node); + return emitPropertyDeclaration(node); case 153: - return emitMethodDeclaration(node); + return emitMethodSignature(node); case 154: - return emitConstructor(node); + return emitMethodDeclaration(node); case 155: + return emitConstructor(node); case 156: - return emitAccessorDeclaration(node); case 157: - return emitCallSignature(node); + return emitAccessorDeclaration(node); case 158: - return emitConstructSignature(node); + return emitCallSignature(node); case 159: - return emitIndexSignature(node); + return emitConstructSignature(node); case 160: - return emitTypePredicate(node); + return emitIndexSignature(node); case 161: - return emitTypeReference(node); + return emitTypePredicate(node); case 162: - return emitFunctionType(node); - case 283: - return emitJSDocFunctionType(node); + return emitTypeReference(node); case 163: - return emitConstructorType(node); + return emitFunctionType(node); + case 284: + return emitJSDocFunctionType(node); case 164: - return emitTypeQuery(node); + return emitConstructorType(node); case 165: - return emitTypeLiteral(node); + return emitTypeQuery(node); case 166: - return emitArrayType(node); + return emitTypeLiteral(node); case 167: - return emitTupleType(node); + return emitArrayType(node); case 168: - return emitUnionType(node); + return emitTupleType(node); case 169: - return emitIntersectionType(node); + return emitUnionType(node); case 170: - return emitConditionalType(node); + return emitIntersectionType(node); case 171: - return emitInferType(node); + return emitConditionalType(node); case 172: - return emitParenthesizedType(node); - case 206: - return emitExpressionWithTypeArguments(node); + return emitInferType(node); case 173: - return emitThisType(); + return emitParenthesizedType(node); + case 207: + return emitExpressionWithTypeArguments(node); case 174: - return emitTypeOperator(node); + return emitThisType(); case 175: - return emitIndexedAccessType(node); + return emitTypeOperator(node); case 176: - return emitMappedType(node); + return emitIndexedAccessType(node); case 177: - return emitLiteralType(node); + return emitMappedType(node); case 178: + return emitLiteralType(node); + case 179: return emitImportTypeNode(node); - case 278: + case 279: write("*"); return; - case 279: + case 280: write("?"); return; - case 280: - return emitJSDocNullableType(node); case 281: - return emitJSDocNonNullableType(node); + return emitJSDocNullableType(node); case 282: + return emitJSDocNonNullableType(node); + case 283: return emitJSDocOptionalType(node); - case 284: + case 285: return emitJSDocVariadicType(node); - case 179: - return emitObjectBindingPattern(node); case 180: - return emitArrayBindingPattern(node); + return emitObjectBindingPattern(node); case 181: + return emitArrayBindingPattern(node); + case 182: return emitBindingElement(node); - case 210: - return emitTemplateSpan(node); case 211: - return emitSemicolonClassElement(); + return emitTemplateSpan(node); case 212: - return emitBlock(node); + return emitSemicolonClassElement(); case 213: - return emitVariableStatement(node); + return emitBlock(node); case 214: - return emitEmptyStatement(); + return emitVariableStatement(node); case 215: - return emitExpressionStatement(node); + return emitEmptyStatement(); case 216: - return emitIfStatement(node); + return emitExpressionStatement(node); case 217: - return emitDoStatement(node); + return emitIfStatement(node); case 218: - return emitWhileStatement(node); + return emitDoStatement(node); case 219: - return emitForStatement(node); + return emitWhileStatement(node); case 220: - return emitForInStatement(node); + return emitForStatement(node); case 221: - return emitForOfStatement(node); + return emitForInStatement(node); case 222: - return emitContinueStatement(node); + return emitForOfStatement(node); case 223: - return emitBreakStatement(node); + return emitContinueStatement(node); case 224: - return emitReturnStatement(node); + return emitBreakStatement(node); case 225: - return emitWithStatement(node); + return emitReturnStatement(node); case 226: - return emitSwitchStatement(node); + return emitWithStatement(node); case 227: - return emitLabeledStatement(node); + return emitSwitchStatement(node); case 228: - return emitThrowStatement(node); + return emitLabeledStatement(node); case 229: - return emitTryStatement(node); + return emitThrowStatement(node); case 230: - return emitDebuggerStatement(node); + return emitTryStatement(node); case 231: - return emitVariableDeclaration(node); + return emitDebuggerStatement(node); case 232: - return emitVariableDeclarationList(node); + return emitVariableDeclaration(node); case 233: - return emitFunctionDeclaration(node); + return emitVariableDeclarationList(node); case 234: - return emitClassDeclaration(node); + return emitFunctionDeclaration(node); case 235: - return emitInterfaceDeclaration(node); + return emitClassDeclaration(node); case 236: - return emitTypeAliasDeclaration(node); + return emitInterfaceDeclaration(node); case 237: - return emitEnumDeclaration(node); + return emitTypeAliasDeclaration(node); case 238: - return emitModuleDeclaration(node); + return emitEnumDeclaration(node); case 239: - return emitModuleBlock(node); + return emitModuleDeclaration(node); case 240: - return emitCaseBlock(node); + return emitModuleBlock(node); case 241: - return emitNamespaceExportDeclaration(node); + return emitCaseBlock(node); case 242: - return emitImportEqualsDeclaration(node); + return emitNamespaceExportDeclaration(node); case 243: - return emitImportDeclaration(node); + return emitImportEqualsDeclaration(node); case 244: - return emitImportClause(node); + return emitImportDeclaration(node); case 245: - return emitNamespaceImport(node); + return emitImportClause(node); case 246: - return emitNamedImports(node); + return emitNamespaceImport(node); case 247: - return emitImportSpecifier(node); + return emitNamedImports(node); case 248: - return emitExportAssignment(node); + return emitImportSpecifier(node); case 249: - return emitExportDeclaration(node); + return emitExportAssignment(node); case 250: - return emitNamedExports(node); + return emitExportDeclaration(node); case 251: - return emitExportSpecifier(node); + return emitNamedExports(node); case 252: - return; + return emitExportSpecifier(node); case 253: + return; + case 254: return emitExternalModuleReference(node); case 10: return emitJsxText(node); - case 256: - case 259: - return emitJsxOpeningElementOrFragment(node); case 257: case 260: - return emitJsxClosingElementOrFragment(node); + return emitJsxOpeningElementOrFragment(node); + case 258: case 261: - return emitJsxAttribute(node); + return emitJsxClosingElementOrFragment(node); case 262: - return emitJsxAttributes(node); + return emitJsxAttribute(node); case 263: - return emitJsxSpreadAttribute(node); + return emitJsxAttributes(node); case 264: - return emitJsxExpression(node); + return emitJsxSpreadAttribute(node); case 265: - return emitCaseClause(node); + return emitJsxExpression(node); case 266: - return emitDefaultClause(node); + return emitCaseClause(node); case 267: - return emitHeritageClause(node); + return emitDefaultClause(node); case 268: - return emitCatchClause(node); + return emitHeritageClause(node); case 269: - return emitPropertyAssignment(node); + return emitCatchClause(node); case 270: - return emitShorthandPropertyAssignment(node); + return emitPropertyAssignment(node); case 271: - return emitSpreadAssignment(node); + return emitShorthandPropertyAssignment(node); case 272: + return emitSpreadAssignment(node); + case 273: return emitEnumMember(node); } if (ts.isExpression(node)) { @@ -60175,69 +60507,69 @@ var ts; case 91: writeTokenNode(node, writeKeyword); return; - case 182: - return emitArrayLiteralExpression(node); case 183: - return emitObjectLiteralExpression(node); + return emitArrayLiteralExpression(node); case 184: - return emitPropertyAccessExpression(node); + return emitObjectLiteralExpression(node); case 185: - return emitElementAccessExpression(node); + return emitPropertyAccessExpression(node); case 186: - return emitCallExpression(node); + return emitElementAccessExpression(node); case 187: - return emitNewExpression(node); + return emitCallExpression(node); case 188: - return emitTaggedTemplateExpression(node); + return emitNewExpression(node); case 189: - return emitTypeAssertionExpression(node); + return emitTaggedTemplateExpression(node); case 190: - return emitParenthesizedExpression(node); + return emitTypeAssertionExpression(node); case 191: - return emitFunctionExpression(node); + return emitParenthesizedExpression(node); case 192: - return emitArrowFunction(node); + return emitFunctionExpression(node); case 193: - return emitDeleteExpression(node); + return emitArrowFunction(node); case 194: - return emitTypeOfExpression(node); + return emitDeleteExpression(node); case 195: - return emitVoidExpression(node); + return emitTypeOfExpression(node); case 196: - return emitAwaitExpression(node); + return emitVoidExpression(node); case 197: - return emitPrefixUnaryExpression(node); + return emitAwaitExpression(node); case 198: - return emitPostfixUnaryExpression(node); + return emitPrefixUnaryExpression(node); case 199: - return emitBinaryExpression(node); + return emitPostfixUnaryExpression(node); case 200: - return emitConditionalExpression(node); + return emitBinaryExpression(node); case 201: - return emitTemplateExpression(node); + return emitConditionalExpression(node); case 202: - return emitYieldExpression(node); + return emitTemplateExpression(node); case 203: - return emitSpreadExpression(node); + return emitYieldExpression(node); case 204: - return emitClassExpression(node); + return emitSpreadExpression(node); case 205: + return emitClassExpression(node); + case 206: return; - case 207: - return emitAsExpression(node); case 208: - return emitNonNullExpression(node); + return emitAsExpression(node); case 209: + return emitNonNullExpression(node); + case 210: return emitMetaProperty(node); - case 254: - return emitJsxElement(node); case 255: + return emitJsxElement(node); + case 256: return emitJsxSelfClosingElement(node); - case 258: + case 259: return emitJsxFragment(node); - case 300: - return emitPartiallyEmittedExpression(node); case 301: + return emitPartiallyEmittedExpression(node); + case 302: return emitCommaList(node); } } @@ -60254,7 +60586,7 @@ var ts; } function emitHelpers(node) { var helpersEmitted = false; - var bundle = node.kind === 274 ? node : undefined; + var bundle = node.kind === 275 ? node : undefined; if (bundle && moduleKind === ts.ModuleKind.None) { return; } @@ -60353,7 +60685,7 @@ var ts; emit(node.dotDotDotToken); emitNodeWithWriter(node.name, writeParameter); emit(node.questionToken); - if (node.parent && node.parent.kind === 283 && !node.name) { + if (node.parent && node.parent.kind === 284 && !node.name) { emit(node.type); } else { @@ -60411,7 +60743,7 @@ var ts; function emitAccessorDeclaration(node) { emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); - writeKeyword(node.kind === 155 ? "get" : "set"); + writeKeyword(node.kind === 156 ? "get" : "set"); writeSpace(); emit(node.name); emitSignatureAndBody(node, emitSignatureHead); @@ -60659,7 +60991,7 @@ var ts; increaseIndent(); } var preferNewLine = node.multiLine ? 32768 : 0; - var allowTrailingComma = currentSourceFile.languageVersion >= 1 ? 32 : 0; + var allowTrailingComma = currentSourceFile.languageVersion >= 1 && !ts.isJsonSourceFile(currentSourceFile) ? 32 : 0; emitList(node, node.properties, 263122 | allowTrailingComma | preferNewLine); if (indentedFlag) { decreaseIndent(); @@ -60782,7 +61114,7 @@ var ts; } function shouldEmitWhitespaceBeforeOperand(node) { var operand = node.operand; - return operand.kind === 197 + return operand.kind === 198 && ((node.operator === 37 && (operand.operator === 37 || operand.operator === 43)) || (node.operator === 38 && (operand.operator === 38 || operand.operator === 44))); } @@ -60896,7 +61228,7 @@ var ts; if (node.elseStatement) { writeLineOrSpace(node); emitTokenWithComment(82, node.thenStatement.end, writeKeyword, node); - if (node.elseStatement.kind === 216) { + if (node.elseStatement.kind === 217) { writeSpace(); emit(node.elseStatement); } @@ -60959,7 +61291,7 @@ var ts; emitTokenWithComment(19, openParenPos, writePunctuation, node); emitForBinding(node.initializer); writeSpace(); - emitTokenWithComment(144, node.initializer.end, writeKeyword, node); + emitTokenWithComment(145, node.initializer.end, writeKeyword, node); writeSpace(); emitExpression(node.expression); emitTokenWithComment(20, node.expression.end, writePunctuation, node); @@ -60967,7 +61299,7 @@ var ts; } function emitForBinding(node) { if (node !== undefined) { - if (node.kind === 232) { + if (node.kind === 233) { emit(node); } else { @@ -61252,7 +61584,7 @@ var ts; var body = node.body; if (!body) return writeSemicolon(); - while (body.kind === 238) { + while (body.kind === 239) { writePunctuation("."); emit(body.name); body = body.body; @@ -61297,7 +61629,7 @@ var ts; if (node.importClause) { emit(node.importClause); writeSpace(); - emitTokenWithComment(142, node.importClause.end, writeKeyword, node); + emitTokenWithComment(143, node.importClause.end, writeKeyword, node); writeSpace(); } emitExpression(node.moduleSpecifier); @@ -61349,7 +61681,7 @@ var ts; if (node.moduleSpecifier) { writeSpace(); var fromPos = node.exportClause ? node.exportClause.end : nextPos; - emitTokenWithComment(142, fromPos, writeKeyword, node); + emitTokenWithComment(143, fromPos, writeKeyword, node); writeSpace(); emitExpression(node.moduleSpecifier); } @@ -61546,7 +61878,7 @@ var ts; emitSourceFileWorker(node); } function emitSyntheticTripleSlashReferencesIfNeeded(node) { - emitTripleSlashDirectives(node.hasNoDefaultLib, node.syntheticFileReferences || [], node.syntheticTypeReferences || []); + emitTripleSlashDirectives(!!node.hasNoDefaultLib, node.syntheticFileReferences || [], node.syntheticTypeReferences || []); } function emitTripleSlashDirectivesIfNeeded(node) { if (node.isDeclarationFile) @@ -61790,7 +62122,7 @@ var ts; if (isUndefined && format & 8192) { return; } - var isEmpty = isUndefined || start >= children.length || count === 0; + var isEmpty = children === undefined || start >= children.length || count === 0; if (isEmpty && format & 16384) { if (onBeforeEmitNodeArray) { onBeforeEmitNodeArray(children); @@ -61831,7 +62163,7 @@ var ts; increaseIndent(); } var previousSibling = void 0; - var shouldDecreaseIndentAfterEmit = void 0; + var shouldDecreaseIndentAfterEmit = false; for (var i = 0; i < count; i++) { var child = children[start + i]; if (previousSibling) { @@ -62107,7 +62439,7 @@ var ts; && ts.rangeEndIsOnSameLineAsRangeStart(block, block, currentSourceFile); } function skipSynthesizedParentheses(node) { - while (node.kind === 190 && ts.nodeIsSynthesized(node)) { + while (node.kind === 191 && ts.nodeIsSynthesized(node)) { node = node.expression; } return node; @@ -62166,81 +62498,81 @@ var ts; if (!node) return; switch (node.kind) { - case 212: + case 213: ts.forEach(node.statements, generateNames); break; - case 227: - case 225: - case 217: + case 228: + case 226: case 218: + case 219: generateNames(node.statement); break; - case 216: + case 217: generateNames(node.thenStatement); generateNames(node.elseStatement); break; - case 219: - case 221: case 220: + case 222: + case 221: generateNames(node.initializer); generateNames(node.statement); break; - case 226: + case 227: generateNames(node.caseBlock); break; - case 240: + case 241: ts.forEach(node.clauses, generateNames); break; - case 265: case 266: + case 267: ts.forEach(node.statements, generateNames); break; - case 229: + case 230: generateNames(node.tryBlock); generateNames(node.catchClause); generateNames(node.finallyBlock); break; - case 268: + case 269: generateNames(node.variableDeclaration); generateNames(node.block); break; - case 213: + case 214: generateNames(node.declarationList); break; - case 232: + case 233: ts.forEach(node.declarations, generateNames); break; - case 231: - case 148: - case 181: - case 234: + case 232: + case 149: + case 182: + case 235: generateNameIfNeeded(node.name); break; - case 233: + case 234: generateNameIfNeeded(node.name); if (ts.getEmitFlags(node) & 524288) { ts.forEach(node.parameters, generateNames); generateNames(node.body); } break; - case 179: case 180: + case 181: ts.forEach(node.elements, generateNames); break; - case 243: - generateNames(node.importClause); - break; case 244: - generateNameIfNeeded(node.name); - generateNames(node.namedBindings); + generateNames(node.importClause); break; case 245: generateNameIfNeeded(node.name); + generateNames(node.namedBindings); break; case 246: - ts.forEach(node.elements, generateNames); + generateNameIfNeeded(node.name); break; case 247: + ts.forEach(node.elements, generateNames); + break; + case 248: generateNameIfNeeded(node.propertyName || node.name); break; } @@ -62249,12 +62581,12 @@ var ts; if (!node) return; switch (node.kind) { - case 269: case 270: - case 151: - case 153: - case 155: + case 271: + case 152: + case 154: case 156: + case 157: generateNameIfNeeded(node.name); break; } @@ -62388,21 +62720,21 @@ var ts; switch (node.kind) { case 71: return makeUniqueName(getTextOfNode(node), isUniqueName, !!(flags & 16), !!(flags & 8)); + case 239: case 238: - case 237: return generateNameForModuleOrEnum(node); - case 243: - case 249: + case 244: + case 250: return generateNameForImportOrExportDeclaration(node); - case 233: case 234: - case 248: + case 235: + case 249: return generateNameForExportDefault(); - case 204: + case 205: return generateNameForClassExpression(); - case 153: - case 155: + case 154: case 156: + case 157: return generateNameForMethodOrAccessor(node); default: return makeTempVariableName(0); @@ -62417,7 +62749,7 @@ var ts; case 3: return makeUniqueName(ts.idText(name), (name.autoGenerateFlags & 32) ? isFileLevelUniqueName : isUniqueName, !!(name.autoGenerateFlags & 16), !!(name.autoGenerateFlags & 8)); } - ts.Debug.fail("Unsupported GeneratedIdentifierKind."); + return ts.Debug.fail("Unsupported GeneratedIdentifierKind."); } function getNodeForGeneratedName(name) { var autoGenerateId = name.autoGenerateId; @@ -63078,8 +63410,7 @@ var ts; } ts.isProgramUptoDate = isProgramUptoDate; function getConfigFileParsingDiagnostics(configFileParseResult) { - return configFileParseResult.options.configFile ? - configFileParseResult.options.configFile.parseDiagnostics.concat(configFileParseResult.errors) : + return configFileParseResult.options.configFile ? configFileParseResult.options.configFile.parseDiagnostics.concat(configFileParseResult.errors) : configFileParseResult.errors; } ts.getConfigFileParsingDiagnostics = getConfigFileParsingDiagnostics; @@ -63107,7 +63438,7 @@ var ts; function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) { var createProgramOptions = ts.isArray(rootNamesOrOptions) ? createCreateProgramOptions(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) : rootNamesOrOptions; var rootNames = createProgramOptions.rootNames, options = createProgramOptions.options, configFileParsingDiagnostics = createProgramOptions.configFileParsingDiagnostics, projectReferences = createProgramOptions.projectReferences; - var host = createProgramOptions.host, oldProgram = createProgramOptions.oldProgram; + var oldProgram = createProgramOptions.oldProgram; var program; var files = []; var commonSourceDirectory; @@ -63124,7 +63455,7 @@ var ts; var modulesWithElidedImports = ts.createMap(); var sourceFilesFoundSearchingNodeModules = ts.createMap(); ts.performance.mark("beforeProgram"); - host = host || createCompilerHost(options); + var host = createProgramOptions.host || createCompilerHost(options); var configParsingHost = parseConfigHostFromCompilerHost(host); var skipDefaultLib = options.noLib; var getDefaultLibraryFileName = ts.memoize(function () { return host.getDefaultLibFileName(options); }); @@ -63231,6 +63562,7 @@ var ts; getOptionsDiagnostics: getOptionsDiagnostics, getGlobalDiagnostics: getGlobalDiagnostics, getSemanticDiagnostics: getSemanticDiagnostics, + getSuggestionDiagnostics: getSuggestionDiagnostics, getDeclarationDiagnostics: getDeclarationDiagnostics, getTypeChecker: getTypeChecker, getClassifiableNames: getClassifiableNames, @@ -63601,7 +63933,7 @@ var ts; return nodes; } function isSourceFileFromExternalLibrary(file) { - return sourceFilesFoundSearchingNodeModules.get(file.path); + return !!sourceFilesFoundSearchingNodeModules.get(file.path); } function isSourceFileDefaultLibrary(file) { if (file.hasNoDefaultLib) { @@ -63615,7 +63947,7 @@ var ts; return equalityComparer(file.fileName, getDefaultLibraryFileName()); } else { - return ts.forEach(options.lib, function (libFileName) { return equalityComparer(file.fileName, ts.combinePaths(defaultLibraryPath, libFileName)); }); + return ts.some(options.lib, function (libFileName) { return equalityComparer(file.fileName, ts.combinePaths(defaultLibraryPath, libFileName)); }); } } function getDiagnosticsProducingTypeChecker() { @@ -63732,11 +64064,24 @@ var ts; var checkDiagnostics = includeBindAndCheckDiagnostics ? typeChecker.getDiagnostics(sourceFile, cancellationToken) : ts.emptyArray; var fileProcessingDiagnosticsInFile = fileProcessingDiagnostics.getDiagnostics(sourceFile.fileName); var programDiagnosticsInFile = programDiagnostics.getDiagnostics(sourceFile.fileName); - var diagnostics = bindDiagnostics.concat(checkDiagnostics, fileProcessingDiagnosticsInFile, programDiagnosticsInFile); - if (isCheckJs) { - diagnostics = ts.concatenate(diagnostics, sourceFile.jsDocDiagnostics); + var diagnostics; + for (var _i = 0, _a = [bindDiagnostics, checkDiagnostics, fileProcessingDiagnosticsInFile, programDiagnosticsInFile, isCheckJs ? sourceFile.jsDocDiagnostics : undefined]; _i < _a.length; _i++) { + var diags = _a[_i]; + if (diags) { + for (var _b = 0, diags_1 = diags; _b < diags_1.length; _b++) { + var diag = diags_1[_b]; + if (shouldReportDiagnostic(diag)) { + diagnostics = ts.append(diagnostics, diag); + } + } + } } - return ts.filter(diagnostics, shouldReportDiagnostic); + return diagnostics; + }); + } + function getSuggestionDiagnostics(sourceFile, cancellationToken) { + return runWithCancellationToken(function () { + return getDiagnosticsProducingTypeChecker().getSuggestionDiagnostics(sourceFile, cancellationToken); }); } function shouldReportDiagnostic(diagnostic) { @@ -63766,62 +64111,62 @@ var ts; return diagnostics; function walk(node) { switch (parent.kind) { - case 148: - case 151: + case 149: + case 152: if (parent.questionToken === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_can_only_be_used_in_a_ts_file, "?")); return; } - case 153: - case 152: case 154: + case 153: case 155: case 156: - case 191: - case 233: + case 157: case 192: - case 231: + case 234: + case 193: + case 232: if (parent.type === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.types_can_only_be_used_in_a_ts_file)); return; } } switch (node.kind) { - case 242: + case 243: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.import_can_only_be_used_in_a_ts_file)); return; - case 248: + case 249: if (node.isExportEquals) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.export_can_only_be_used_in_a_ts_file)); return; } break; - case 267: + case 268: var heritageClause = node; if (heritageClause.token === 108) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.implements_clauses_can_only_be_used_in_a_ts_file)); return; } break; - case 235: + case 236: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.interface_declarations_can_only_be_used_in_a_ts_file)); return; - case 238: + case 239: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.module_declarations_can_only_be_used_in_a_ts_file)); return; - case 236: + case 237: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.type_aliases_can_only_be_used_in_a_ts_file)); return; - case 237: + case 238: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.enum_declarations_can_only_be_used_in_a_ts_file)); return; - case 208: + case 209: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.non_null_assertions_can_only_be_used_in_a_ts_file)); return; - case 207: + case 208: diagnostics.push(createDiagnosticForNode(node.type, ts.Diagnostics.type_assertion_expressions_can_only_be_used_in_a_ts_file)); return; - case 189: + case 190: ts.Debug.fail(); } var prevParent = parent; @@ -63834,25 +64179,25 @@ var ts; diagnostics.push(createDiagnosticForNode(parent, ts.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning)); } switch (parent.kind) { - case 234: - case 153: - case 152: + case 235: case 154: + case 153: case 155: case 156: - case 191: - case 233: + case 157: case 192: + case 234: + case 193: if (nodes === parent.typeParameters) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.type_parameter_declarations_can_only_be_used_in_a_ts_file)); return; } - case 213: + case 214: if (nodes === parent.modifiers) { - return checkModifiers(nodes, parent.kind === 213); + return checkModifiers(nodes, parent.kind === 214); } break; - case 151: + case 152: if (nodes === parent.modifiers) { for (var _i = 0, _a = nodes; _i < _a.length; _i++) { var modifier = _a[_i]; @@ -63863,17 +64208,17 @@ var ts; return; } break; - case 148: + case 149: if (nodes === parent.modifiers) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.parameter_modifiers_can_only_be_used_in_a_ts_file)); return; } break; - case 186: case 187: - case 206: - case 255: + case 188: + case 207: case 256: + case 257: if (nodes === parent.typeArguments) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.type_arguments_can_only_be_used_in_a_ts_file)); return; @@ -64624,9 +64969,9 @@ var ts; if (ts.isObjectLiteralExpression(pathProp.initializer)) { for (var _a = 0, _b = ts.getPropertyAssignment(pathProp.initializer, key); _a < _b.length; _a++) { var keyProps = _b[_a]; - if (ts.isArrayLiteralExpression(keyProps.initializer) && - keyProps.initializer.elements.length > valueIndex) { - programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, keyProps.initializer.elements[valueIndex], message, arg0, arg1, arg2)); + var initializer = keyProps.initializer; + if (ts.isArrayLiteralExpression(initializer) && initializer.elements.length > valueIndex) { + programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, initializer.elements[valueIndex], message, arg0, arg1, arg2)); needCompilerDiagnostic = false; } } @@ -64728,6 +65073,7 @@ var ts; return false; } programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, arrayLiteral.elements[index], message, arg0, arg1, arg2)); + return false; } function blockEmittingOfFile(emitFileName, diag) { hasEmitBlockingDiagnostics.set(toPath(emitFileName), true); @@ -64745,13 +65091,16 @@ var ts; if (out) { return isSameFile(filePath, out) || isSameFile(filePath, ts.removeFileExtension(out) + ".d.ts"); } + if (options.declarationDir && ts.containsPath(options.declarationDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames())) { + return true; + } if (options.outDir) { return ts.containsPath(options.outDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames()); } if (ts.fileExtensionIsOneOf(filePath, ts.supportedJavascriptExtensions) || ts.fileExtensionIs(filePath, ".d.ts")) { var filePathWithoutExtension = ts.removeFileExtension(filePath); - return !!getSourceFileByPath(ts.combinePaths(filePathWithoutExtension, ".ts")) || - !!getSourceFileByPath(ts.combinePaths(filePathWithoutExtension, ".tsx")); + return !!getSourceFileByPath((filePathWithoutExtension + ".ts")) || + !!getSourceFileByPath((filePathWithoutExtension + ".tsx")); } return false; } @@ -64879,7 +65228,7 @@ var ts; for (var _i = 0, _a = newProgram.getSourceFiles(); _i < _a.length; _i++) { var sourceFile = _a[_i]; var version_1 = sourceFile.version; - var oldInfo = useOldState && oldState.fileInfos.get(sourceFile.path); + var oldInfo = useOldState ? oldState.fileInfos.get(sourceFile.path) : undefined; if (referencedMap) { var newReferences = getReferencedFiles(newProgram, sourceFile, getCanonicalFileName); if (newReferences) { @@ -64926,7 +65275,8 @@ var ts; return false; } var info = state.fileInfos.get(sourceFile.path); - ts.Debug.assert(!!info); + if (!info) + return ts.Debug.fail(); var prevSignature = info.signature; var latestSignature; if (sourceFile.isDeclarationFile) { @@ -65051,7 +65401,7 @@ var ts; var ts; (function (ts) { function hasSameKeys(map1, map2) { - return map1 === map2 || map1 && map2 && map1.size === map2.size && !ts.forEachKey(map1, function (key) { return !map2.has(key); }); + return map1 === map2 || map1 !== undefined && map2 !== undefined && map1.size === map2.size && !ts.forEachKey(map1, function (key) { return !map2.has(key); }); } function createBuilderProgramState(newProgram, getCanonicalFileName, oldState) { var state = ts.BuilderState.create(newProgram, getCanonicalFileName, oldState); @@ -65073,7 +65423,7 @@ var ts; ts.copyEntries(oldState.changedFilesSet, state.changedFilesSet); } var referencedMap = state.referencedMap; - var oldReferencedMap = useOldState && oldState.referencedMap; + var oldReferencedMap = useOldState ? oldState.referencedMap : undefined; state.fileInfos.forEach(function (info, sourceFilePath) { var oldInfo; var newReferences; @@ -65239,7 +65589,7 @@ var ts; assertSourceFileOkWithoutNextAffectedCall(state, targetSourceFile); if (!targetSourceFile) { var sourceMaps = []; - var emitSkipped = void 0; + var emitSkipped = false; var diagnostics = void 0; var emittedFiles = []; var affectedEmitResult = void 0; @@ -65350,7 +65700,7 @@ var ts; var customFailedLookupPaths = ts.createMap(); var directoryWatchesOfFailedLookups = ts.createMap(); var rootDir = rootDirForResolution && ts.removeTrailingDirectorySeparator(ts.getNormalizedAbsolutePath(rootDirForResolution, getCurrentDirectory())); - var rootPath = rootDir && resolutionHost.toPath(rootDir); + var rootPath = (rootDir && resolutionHost.toPath(rootDir)); var typeRootsWatches = ts.createMap(); return { startRecordingFilesWithChangedResolutions: startRecordingFilesWithChangedResolutions, @@ -65402,7 +65752,7 @@ var ts; return false; } var value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path); - return value && !!value.length; + return !!value && !!value.length; } function createHasInvalidatedResolution(forceAllFilesAsInvalidated) { if (allFilesHaveInvalidatedResolution || forceAllFilesAsInvalidated) { @@ -65411,7 +65761,7 @@ var ts; } var collected = filesWithInvalidatedResolutions; filesWithInvalidatedResolutions = undefined; - return function (path) { return (collected && collected.has(path)) || + return function (path) { return (!!collected && collected.has(path)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path); }; } function clearPerDirectoryResolutions() { @@ -65559,19 +65909,20 @@ var ts; if (isNodeModulesDirectory(dirPath)) { return filterFSRootDirectoriesToWatch({ dir: dir, dirPath: dirPath }, ts.getDirectoryPath(dirPath)); } - var subDirectory; + var subDirectoryPath, subDirectory; if (rootPath !== undefined) { while (!isInDirectoryPath(dirPath, rootPath)) { var parentPath = ts.getDirectoryPath(dirPath); if (parentPath === dirPath) { break; } - subDirectory = dirPath.slice(parentPath.length + ts.directorySeparator.length); + subDirectoryPath = dirPath; + subDirectory = dir; dirPath = parentPath; dir = ts.getDirectoryPath(dir); } } - return filterFSRootDirectoriesToWatch({ dir: dir, dirPath: dirPath, subDirectory: subDirectory }, dirPath); + return filterFSRootDirectoriesToWatch({ dir: subDirectory || dir, dirPath: subDirectoryPath || dirPath }, dirPath); } function isPathWithDefaultFailedLookupExtension(path) { return ts.fileExtensionIsOneOf(path, failedLookupDefaultExtensions); @@ -65590,7 +65941,7 @@ var ts; for (var _i = 0, failedLookupLocations_1 = failedLookupLocations; _i < failedLookupLocations_1.length; _i++) { var failedLookupLocation = failedLookupLocations_1[_i]; var failedLookupLocationPath = resolutionHost.toPath(failedLookupLocation); - var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dir = _a.dir, dirPath = _a.dirPath, ignore = _a.ignore, subDirectory = _a.subDirectory; + var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dir = _a.dir, dirPath = _a.dirPath, ignore = _a.ignore; if (!ignore) { if (!isPathWithDefaultFailedLookupExtension(failedLookupLocationPath)) { var refCount = customFailedLookupPaths.get(failedLookupLocationPath) || 0; @@ -65600,7 +65951,7 @@ var ts; setAtRoot = true; } else { - setDirectoryWatcher(dir, dirPath, subDirectory); + setDirectoryWatcher(dir, dirPath); } } } @@ -65608,19 +65959,13 @@ var ts; setDirectoryWatcher(rootDir, rootPath); } } - function setDirectoryWatcher(dir, dirPath, subDirectory) { + function setDirectoryWatcher(dir, dirPath) { var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); if (dirWatcher) { dirWatcher.refCount++; } else { - dirWatcher = { watcher: createDirectoryWatcher(dir, dirPath), refCount: 1 }; - directoryWatchesOfFailedLookups.set(dirPath, dirWatcher); - } - if (subDirectory) { - var subDirectoryMap = dirWatcher.subDirectoryMap || (dirWatcher.subDirectoryMap = ts.createMap()); - var existing = subDirectoryMap.get(subDirectory) || 0; - subDirectoryMap.set(subDirectory, existing + 1); + directoryWatchesOfFailedLookups.set(dirPath, { watcher: createDirectoryWatcher(dir, dirPath), refCount: 1 }); } } function stopWatchFailedLookupLocationOfResolution(resolution) { @@ -65636,7 +65981,7 @@ var ts; for (var _i = 0, failedLookupLocations_2 = failedLookupLocations; _i < failedLookupLocations_2.length; _i++) { var failedLookupLocation = failedLookupLocations_2[_i]; var failedLookupLocationPath = resolutionHost.toPath(failedLookupLocation); - var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dirPath = _a.dirPath, ignore = _a.ignore, subDirectory = _a.subDirectory; + var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dirPath = _a.dirPath, ignore = _a.ignore; if (!ignore) { var refCount = customFailedLookupPaths.get(failedLookupLocationPath); if (refCount) { @@ -65652,7 +65997,7 @@ var ts; removeAtRoot = true; } else { - removeDirectoryWatcher(dirPath, subDirectory); + removeDirectoryWatcher(dirPath); } } } @@ -65660,39 +66005,18 @@ var ts; removeDirectoryWatcher(rootPath); } } - function removeDirectoryWatcher(dirPath, subDirectory) { + function removeDirectoryWatcher(dirPath) { var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); - if (subDirectory) { - var existing = dirWatcher.subDirectoryMap.get(subDirectory); - if (existing === 1) { - dirWatcher.subDirectoryMap.delete(subDirectory); - } - else { - dirWatcher.subDirectoryMap.set(subDirectory, existing - 1); - } - } dirWatcher.refCount--; } - function inWatchedSubdirectory(dirPath, fileOrDirectoryPath) { - var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); - if (!dirWatcher || !dirWatcher.subDirectoryMap) - return false; - return ts.forEachKey(dirWatcher.subDirectoryMap, function (subDirectory) { - var fullSubDirectory = dirPath + "/" + subDirectory; - return fullSubDirectory === fileOrDirectoryPath || isInDirectoryPath(fullSubDirectory, fileOrDirectoryPath); - }); - } function createDirectoryWatcher(directory, dirPath) { return resolutionHost.watchDirectoryOfFailedLookupLocation(directory, function (fileOrDirectory) { var fileOrDirectoryPath = resolutionHost.toPath(fileOrDirectory); if (cachedDirectoryStructureHost) { cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(fileOrDirectory, fileOrDirectoryPath); } - if (!allFilesHaveInvalidatedResolution && - (dirPath === rootPath || isNodeModulesDirectory(dirPath) || ts.getDirectoryPath(fileOrDirectoryPath) === dirPath || inWatchedSubdirectory(dirPath, fileOrDirectoryPath))) { - if (invalidateResolutionOfFailedLookupLocation(fileOrDirectoryPath, dirPath === fileOrDirectoryPath)) { - resolutionHost.onInvalidatedResolution(); - } + if (!allFilesHaveInvalidatedResolution && invalidateResolutionOfFailedLookupLocation(fileOrDirectoryPath, dirPath === fileOrDirectoryPath)) { + resolutionHost.onInvalidatedResolution(); } }, 1); } @@ -65744,7 +66068,7 @@ var ts; removeResolutionsOfFile(filePath); invalidateResolutions(function (resolution, getResolutionWithResolvedFileName) { var result = getResolutionWithResolvedFileName(resolution); - return result && resolutionHost.toPath(result.resolvedFileName) === filePath; + return !!result && resolutionHost.toPath(result.resolvedFileName) === filePath; }); } function setFilesWithInvalidatedNonRelativeUnresolvedImports(filesMap) { @@ -65791,7 +66115,7 @@ var ts; return rootPath; } var _a = getDirectoryToWatchFromFailedLookupLocationDirectory(typeRoot, typeRootPath), dirPath = _a.dirPath, ignore = _a.ignore; - return !ignore && directoryWatchesOfFailedLookups.has(dirPath) && dirPath; + return !ignore && directoryWatchesOfFailedLookups.has(dirPath) ? dirPath : undefined; } function createTypeRootsWatch(typeRootPath, typeRoot) { return resolutionHost.watchTypeRootsDirectory(typeRoot, function (fileOrDirectory) { @@ -66013,9 +66337,9 @@ var ts; system.exit(ts.ExitStatus.DiagnosticsPresent_OutputsSkipped); } function createWatchCompilerHostOfConfigFile(configFileName, optionsToExtend, system, createProgram, reportDiagnostic, reportWatchStatus) { - reportDiagnostic = reportDiagnostic || createDiagnosticReporter(system); - var host = createWatchCompilerHost(system, createProgram, reportDiagnostic, reportWatchStatus); - host.onUnRecoverableConfigFileDiagnostic = function (diagnostic) { return reportUnrecoverableDiagnostic(system, reportDiagnostic, diagnostic); }; + var diagnosticReporter = reportDiagnostic || createDiagnosticReporter(system); + var host = createWatchCompilerHost(system, createProgram, diagnosticReporter, reportWatchStatus); + host.onUnRecoverableConfigFileDiagnostic = function (diagnostic) { return reportUnrecoverableDiagnostic(system, diagnosticReporter, diagnostic); }; host.configFileName = configFileName; host.optionsToExtend = optionsToExtend; return host; @@ -66059,7 +66383,7 @@ var ts; var configFileSpecs; var configFileParsingDiagnostics; var hasChangedConfigFileParsingErrors = false; - var cachedDirectoryStructureHost = configFileName && ts.createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensitiveFileNames); + var cachedDirectoryStructureHost = configFileName === undefined ? undefined : ts.createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensitiveFileNames); if (cachedDirectoryStructureHost && host.onCachedDirectoryStructureHostCreate) { host.onCachedDirectoryStructureHostCreate(cachedDirectoryStructureHost); } @@ -66109,7 +66433,7 @@ var ts; readFile: readFile, trace: trace, directoryExists: directoryStructureHost.directoryExists && (function (path) { return directoryStructureHost.directoryExists(path); }), - getDirectories: directoryStructureHost.getDirectories && (function (path) { return directoryStructureHost.getDirectories(path); }), + getDirectories: (directoryStructureHost.getDirectories && (function (path) { return directoryStructureHost.getDirectories(path); })), realpath: host.realpath && (function (s) { return host.realpath(s); }), getEnvironmentVariable: host.getEnvironmentVariable ? (function (name) { return host.getEnvironmentVariable(name); }) : (function () { return ""; }), onReleaseOldSourceFile: onReleaseOldSourceFile, @@ -66596,6 +66920,7 @@ var 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", }), }, @@ -67219,7 +67544,7 @@ var ts; case "string": return ts.map(values, function (v) { return v || ""; }); default: - return ts.filter(ts.map(values, function (v) { return parseCustomTypeOption(opt.element, v, errors); }), function (v) { return !!v; }); + return ts.mapDefined(values, function (v) { return parseCustomTypeOption(opt.element, v, errors); }); } } ts.parseListTypeOption = parseListTypeOption; @@ -67340,6 +67665,7 @@ var ts; } return optionNameMap.get(optionName); } + ts.getOptionFromName = getOptionFromName; function getParsedCommandLineOfConfigFile(configFileName, optionsToExtend, host) { var configFileText; try { @@ -67474,7 +67800,7 @@ var ts; var result = returnValue ? {} : undefined; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var element = _a[_i]; - if (element.kind !== 269) { + if (element.kind !== 270) { errors.push(ts.createDiagnosticForNodeInSourceFile(sourceFile, element, ts.Diagnostics.Property_assignment_expected)); continue; } @@ -67545,13 +67871,13 @@ var ts; case 8: reportInvalidOptionValue(option && option.type !== "number"); return Number(valueExpression.text); - case 197: + case 198: if (valueExpression.operator !== 38 || valueExpression.operand.kind !== 8) { break; } reportInvalidOptionValue(option && option.type !== "number"); return -Number(valueExpression.operand.text); - case 183: + case 184: reportInvalidOptionValue(option && option.type !== "object"); var objectLiteralExpression = valueExpression; if (option) { @@ -67561,7 +67887,7 @@ var ts; else { return convertObjectLiteralExpressionToJson(objectLiteralExpression, undefined, undefined, undefined); } - case 182: + case 183: reportInvalidOptionValue(option && option.type !== "list"); return convertArrayLiteralExpressionToJson(valueExpression.elements, option && option.element); } @@ -67598,6 +67924,7 @@ var ts; var expectedType = ts.isString(option.type) ? option.type : "string"; return typeof value === expectedType; } + return false; } function generateTSConfig(options, fileNames, newLine) { var compilerOptions = ts.extend(options, ts.defaultInitCompilerOptions); @@ -68019,13 +68346,10 @@ var ts; } function convertCompileOnSaveOptionFromJson(jsonOption, basePath, errors) { if (!ts.hasProperty(jsonOption, ts.compileOnSaveCommandLineOption.name)) { - return undefined; + return false; } var result = convertJsonOption(ts.compileOnSaveCommandLineOption, jsonOption.compileOnSave, basePath, errors); - if (typeof result === "boolean" && result) { - return result; - } - return false; + return typeof result === "boolean" && result; } function convertCompilerOptionsFromJson(jsonOptions, basePath, configFileName) { var errors = []; @@ -68054,7 +68378,7 @@ var ts; return options; } function getDefaultTypeAcquisition(configFileName) { - return { enable: configFileName && ts.getBaseFileName(configFileName) === "jsconfig.json", include: [], exclude: [] }; + return { enable: !!configFileName && ts.getBaseFileName(configFileName) === "jsconfig.json", include: [], exclude: [] }; } function convertTypeAcquisitionFromJsonWorker(jsonOptions, basePath, errors, configFileName) { var options = getDefaultTypeAcquisition(configFileName); @@ -68382,7 +68706,7 @@ var ts; } if (commandLine.options.help || commandLine.options.all) { printVersion(); - printHelp(commandLine.options.all); + printHelp(!!commandLine.options.all); return ts.sys.exit(ts.ExitStatus.Success); } if (commandLine.options.project) { @@ -68412,7 +68736,7 @@ var ts; } if (commandLine.fileNames.length === 0 && !configFileName) { printVersion(); - printHelp(commandLine.options.all); + printHelp(!!commandLine.options.all); return ts.sys.exit(ts.ExitStatus.Success); } var commandLineOptions = commandLine.options; @@ -68575,7 +68899,7 @@ var ts; output.push(getDiagnosticText(ts.Diagnostics.Options_Colon) + ts.sys.newLine); var optsList = showAllOptions ? ts.sort(ts.optionDeclarations, function (a, b) { return ts.compareStringsCaseInsensitive(a.name, b.name); }) : - ts.filter(ts.optionDeclarations.slice(), function (v) { return v.showInSimplifiedHelpView; }); + ts.filter(ts.optionDeclarations.slice(), function (v) { return !!v.showInSimplifiedHelpView; }); marginLength = 0; var usageColumn = []; var descriptionColumn = []; diff --git a/lib/tsserver.js b/lib/tsserver.js index dc5875cc4b9..035ba5afaf9 100644 --- a/lib/tsserver.js +++ b/lib/tsserver.js @@ -188,169 +188,170 @@ var ts; SyntaxKind[SyntaxKind["TypeKeyword"] = 139] = "TypeKeyword"; SyntaxKind[SyntaxKind["UndefinedKeyword"] = 140] = "UndefinedKeyword"; SyntaxKind[SyntaxKind["UniqueKeyword"] = 141] = "UniqueKeyword"; - SyntaxKind[SyntaxKind["FromKeyword"] = 142] = "FromKeyword"; - SyntaxKind[SyntaxKind["GlobalKeyword"] = 143] = "GlobalKeyword"; - SyntaxKind[SyntaxKind["OfKeyword"] = 144] = "OfKeyword"; - SyntaxKind[SyntaxKind["QualifiedName"] = 145] = "QualifiedName"; - SyntaxKind[SyntaxKind["ComputedPropertyName"] = 146] = "ComputedPropertyName"; - SyntaxKind[SyntaxKind["TypeParameter"] = 147] = "TypeParameter"; - SyntaxKind[SyntaxKind["Parameter"] = 148] = "Parameter"; - SyntaxKind[SyntaxKind["Decorator"] = 149] = "Decorator"; - SyntaxKind[SyntaxKind["PropertySignature"] = 150] = "PropertySignature"; - SyntaxKind[SyntaxKind["PropertyDeclaration"] = 151] = "PropertyDeclaration"; - SyntaxKind[SyntaxKind["MethodSignature"] = 152] = "MethodSignature"; - SyntaxKind[SyntaxKind["MethodDeclaration"] = 153] = "MethodDeclaration"; - SyntaxKind[SyntaxKind["Constructor"] = 154] = "Constructor"; - SyntaxKind[SyntaxKind["GetAccessor"] = 155] = "GetAccessor"; - SyntaxKind[SyntaxKind["SetAccessor"] = 156] = "SetAccessor"; - SyntaxKind[SyntaxKind["CallSignature"] = 157] = "CallSignature"; - SyntaxKind[SyntaxKind["ConstructSignature"] = 158] = "ConstructSignature"; - SyntaxKind[SyntaxKind["IndexSignature"] = 159] = "IndexSignature"; - SyntaxKind[SyntaxKind["TypePredicate"] = 160] = "TypePredicate"; - SyntaxKind[SyntaxKind["TypeReference"] = 161] = "TypeReference"; - SyntaxKind[SyntaxKind["FunctionType"] = 162] = "FunctionType"; - SyntaxKind[SyntaxKind["ConstructorType"] = 163] = "ConstructorType"; - SyntaxKind[SyntaxKind["TypeQuery"] = 164] = "TypeQuery"; - SyntaxKind[SyntaxKind["TypeLiteral"] = 165] = "TypeLiteral"; - SyntaxKind[SyntaxKind["ArrayType"] = 166] = "ArrayType"; - SyntaxKind[SyntaxKind["TupleType"] = 167] = "TupleType"; - SyntaxKind[SyntaxKind["UnionType"] = 168] = "UnionType"; - SyntaxKind[SyntaxKind["IntersectionType"] = 169] = "IntersectionType"; - SyntaxKind[SyntaxKind["ConditionalType"] = 170] = "ConditionalType"; - SyntaxKind[SyntaxKind["InferType"] = 171] = "InferType"; - SyntaxKind[SyntaxKind["ParenthesizedType"] = 172] = "ParenthesizedType"; - SyntaxKind[SyntaxKind["ThisType"] = 173] = "ThisType"; - SyntaxKind[SyntaxKind["TypeOperator"] = 174] = "TypeOperator"; - SyntaxKind[SyntaxKind["IndexedAccessType"] = 175] = "IndexedAccessType"; - SyntaxKind[SyntaxKind["MappedType"] = 176] = "MappedType"; - SyntaxKind[SyntaxKind["LiteralType"] = 177] = "LiteralType"; - SyntaxKind[SyntaxKind["ImportType"] = 178] = "ImportType"; - SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 179] = "ObjectBindingPattern"; - SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 180] = "ArrayBindingPattern"; - SyntaxKind[SyntaxKind["BindingElement"] = 181] = "BindingElement"; - SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 182] = "ArrayLiteralExpression"; - SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 183] = "ObjectLiteralExpression"; - SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 184] = "PropertyAccessExpression"; - SyntaxKind[SyntaxKind["ElementAccessExpression"] = 185] = "ElementAccessExpression"; - SyntaxKind[SyntaxKind["CallExpression"] = 186] = "CallExpression"; - SyntaxKind[SyntaxKind["NewExpression"] = 187] = "NewExpression"; - SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 188] = "TaggedTemplateExpression"; - SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 189] = "TypeAssertionExpression"; - SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 190] = "ParenthesizedExpression"; - SyntaxKind[SyntaxKind["FunctionExpression"] = 191] = "FunctionExpression"; - SyntaxKind[SyntaxKind["ArrowFunction"] = 192] = "ArrowFunction"; - SyntaxKind[SyntaxKind["DeleteExpression"] = 193] = "DeleteExpression"; - SyntaxKind[SyntaxKind["TypeOfExpression"] = 194] = "TypeOfExpression"; - SyntaxKind[SyntaxKind["VoidExpression"] = 195] = "VoidExpression"; - SyntaxKind[SyntaxKind["AwaitExpression"] = 196] = "AwaitExpression"; - SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 197] = "PrefixUnaryExpression"; - SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 198] = "PostfixUnaryExpression"; - SyntaxKind[SyntaxKind["BinaryExpression"] = 199] = "BinaryExpression"; - SyntaxKind[SyntaxKind["ConditionalExpression"] = 200] = "ConditionalExpression"; - SyntaxKind[SyntaxKind["TemplateExpression"] = 201] = "TemplateExpression"; - SyntaxKind[SyntaxKind["YieldExpression"] = 202] = "YieldExpression"; - SyntaxKind[SyntaxKind["SpreadElement"] = 203] = "SpreadElement"; - SyntaxKind[SyntaxKind["ClassExpression"] = 204] = "ClassExpression"; - SyntaxKind[SyntaxKind["OmittedExpression"] = 205] = "OmittedExpression"; - SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 206] = "ExpressionWithTypeArguments"; - SyntaxKind[SyntaxKind["AsExpression"] = 207] = "AsExpression"; - SyntaxKind[SyntaxKind["NonNullExpression"] = 208] = "NonNullExpression"; - SyntaxKind[SyntaxKind["MetaProperty"] = 209] = "MetaProperty"; - SyntaxKind[SyntaxKind["TemplateSpan"] = 210] = "TemplateSpan"; - SyntaxKind[SyntaxKind["SemicolonClassElement"] = 211] = "SemicolonClassElement"; - SyntaxKind[SyntaxKind["Block"] = 212] = "Block"; - SyntaxKind[SyntaxKind["VariableStatement"] = 213] = "VariableStatement"; - SyntaxKind[SyntaxKind["EmptyStatement"] = 214] = "EmptyStatement"; - SyntaxKind[SyntaxKind["ExpressionStatement"] = 215] = "ExpressionStatement"; - SyntaxKind[SyntaxKind["IfStatement"] = 216] = "IfStatement"; - SyntaxKind[SyntaxKind["DoStatement"] = 217] = "DoStatement"; - SyntaxKind[SyntaxKind["WhileStatement"] = 218] = "WhileStatement"; - SyntaxKind[SyntaxKind["ForStatement"] = 219] = "ForStatement"; - SyntaxKind[SyntaxKind["ForInStatement"] = 220] = "ForInStatement"; - SyntaxKind[SyntaxKind["ForOfStatement"] = 221] = "ForOfStatement"; - SyntaxKind[SyntaxKind["ContinueStatement"] = 222] = "ContinueStatement"; - SyntaxKind[SyntaxKind["BreakStatement"] = 223] = "BreakStatement"; - SyntaxKind[SyntaxKind["ReturnStatement"] = 224] = "ReturnStatement"; - SyntaxKind[SyntaxKind["WithStatement"] = 225] = "WithStatement"; - SyntaxKind[SyntaxKind["SwitchStatement"] = 226] = "SwitchStatement"; - SyntaxKind[SyntaxKind["LabeledStatement"] = 227] = "LabeledStatement"; - SyntaxKind[SyntaxKind["ThrowStatement"] = 228] = "ThrowStatement"; - SyntaxKind[SyntaxKind["TryStatement"] = 229] = "TryStatement"; - SyntaxKind[SyntaxKind["DebuggerStatement"] = 230] = "DebuggerStatement"; - SyntaxKind[SyntaxKind["VariableDeclaration"] = 231] = "VariableDeclaration"; - SyntaxKind[SyntaxKind["VariableDeclarationList"] = 232] = "VariableDeclarationList"; - SyntaxKind[SyntaxKind["FunctionDeclaration"] = 233] = "FunctionDeclaration"; - SyntaxKind[SyntaxKind["ClassDeclaration"] = 234] = "ClassDeclaration"; - SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 235] = "InterfaceDeclaration"; - SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 236] = "TypeAliasDeclaration"; - SyntaxKind[SyntaxKind["EnumDeclaration"] = 237] = "EnumDeclaration"; - SyntaxKind[SyntaxKind["ModuleDeclaration"] = 238] = "ModuleDeclaration"; - SyntaxKind[SyntaxKind["ModuleBlock"] = 239] = "ModuleBlock"; - SyntaxKind[SyntaxKind["CaseBlock"] = 240] = "CaseBlock"; - SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 241] = "NamespaceExportDeclaration"; - SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 242] = "ImportEqualsDeclaration"; - SyntaxKind[SyntaxKind["ImportDeclaration"] = 243] = "ImportDeclaration"; - SyntaxKind[SyntaxKind["ImportClause"] = 244] = "ImportClause"; - SyntaxKind[SyntaxKind["NamespaceImport"] = 245] = "NamespaceImport"; - SyntaxKind[SyntaxKind["NamedImports"] = 246] = "NamedImports"; - SyntaxKind[SyntaxKind["ImportSpecifier"] = 247] = "ImportSpecifier"; - SyntaxKind[SyntaxKind["ExportAssignment"] = 248] = "ExportAssignment"; - SyntaxKind[SyntaxKind["ExportDeclaration"] = 249] = "ExportDeclaration"; - SyntaxKind[SyntaxKind["NamedExports"] = 250] = "NamedExports"; - SyntaxKind[SyntaxKind["ExportSpecifier"] = 251] = "ExportSpecifier"; - SyntaxKind[SyntaxKind["MissingDeclaration"] = 252] = "MissingDeclaration"; - SyntaxKind[SyntaxKind["ExternalModuleReference"] = 253] = "ExternalModuleReference"; - SyntaxKind[SyntaxKind["JsxElement"] = 254] = "JsxElement"; - SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 255] = "JsxSelfClosingElement"; - SyntaxKind[SyntaxKind["JsxOpeningElement"] = 256] = "JsxOpeningElement"; - SyntaxKind[SyntaxKind["JsxClosingElement"] = 257] = "JsxClosingElement"; - SyntaxKind[SyntaxKind["JsxFragment"] = 258] = "JsxFragment"; - SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 259] = "JsxOpeningFragment"; - SyntaxKind[SyntaxKind["JsxClosingFragment"] = 260] = "JsxClosingFragment"; - SyntaxKind[SyntaxKind["JsxAttribute"] = 261] = "JsxAttribute"; - SyntaxKind[SyntaxKind["JsxAttributes"] = 262] = "JsxAttributes"; - SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 263] = "JsxSpreadAttribute"; - SyntaxKind[SyntaxKind["JsxExpression"] = 264] = "JsxExpression"; - SyntaxKind[SyntaxKind["CaseClause"] = 265] = "CaseClause"; - SyntaxKind[SyntaxKind["DefaultClause"] = 266] = "DefaultClause"; - SyntaxKind[SyntaxKind["HeritageClause"] = 267] = "HeritageClause"; - SyntaxKind[SyntaxKind["CatchClause"] = 268] = "CatchClause"; - SyntaxKind[SyntaxKind["PropertyAssignment"] = 269] = "PropertyAssignment"; - SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 270] = "ShorthandPropertyAssignment"; - SyntaxKind[SyntaxKind["SpreadAssignment"] = 271] = "SpreadAssignment"; - SyntaxKind[SyntaxKind["EnumMember"] = 272] = "EnumMember"; - SyntaxKind[SyntaxKind["SourceFile"] = 273] = "SourceFile"; - SyntaxKind[SyntaxKind["Bundle"] = 274] = "Bundle"; - SyntaxKind[SyntaxKind["UnparsedSource"] = 275] = "UnparsedSource"; - SyntaxKind[SyntaxKind["InputFiles"] = 276] = "InputFiles"; - SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 277] = "JSDocTypeExpression"; - SyntaxKind[SyntaxKind["JSDocAllType"] = 278] = "JSDocAllType"; - SyntaxKind[SyntaxKind["JSDocUnknownType"] = 279] = "JSDocUnknownType"; - SyntaxKind[SyntaxKind["JSDocNullableType"] = 280] = "JSDocNullableType"; - SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 281] = "JSDocNonNullableType"; - SyntaxKind[SyntaxKind["JSDocOptionalType"] = 282] = "JSDocOptionalType"; - SyntaxKind[SyntaxKind["JSDocFunctionType"] = 283] = "JSDocFunctionType"; - SyntaxKind[SyntaxKind["JSDocVariadicType"] = 284] = "JSDocVariadicType"; - SyntaxKind[SyntaxKind["JSDocComment"] = 285] = "JSDocComment"; - SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 286] = "JSDocTypeLiteral"; - SyntaxKind[SyntaxKind["JSDocSignature"] = 287] = "JSDocSignature"; - SyntaxKind[SyntaxKind["JSDocTag"] = 288] = "JSDocTag"; - SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 289] = "JSDocAugmentsTag"; - SyntaxKind[SyntaxKind["JSDocClassTag"] = 290] = "JSDocClassTag"; - SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 291] = "JSDocCallbackTag"; - SyntaxKind[SyntaxKind["JSDocParameterTag"] = 292] = "JSDocParameterTag"; - SyntaxKind[SyntaxKind["JSDocReturnTag"] = 293] = "JSDocReturnTag"; - SyntaxKind[SyntaxKind["JSDocTypeTag"] = 294] = "JSDocTypeTag"; - SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 295] = "JSDocTemplateTag"; - SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 296] = "JSDocTypedefTag"; - SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 297] = "JSDocPropertyTag"; - SyntaxKind[SyntaxKind["SyntaxList"] = 298] = "SyntaxList"; - SyntaxKind[SyntaxKind["NotEmittedStatement"] = 299] = "NotEmittedStatement"; - SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 300] = "PartiallyEmittedExpression"; - SyntaxKind[SyntaxKind["CommaListExpression"] = 301] = "CommaListExpression"; - SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 302] = "MergeDeclarationMarker"; - SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 303] = "EndOfDeclarationMarker"; - SyntaxKind[SyntaxKind["Count"] = 304] = "Count"; + SyntaxKind[SyntaxKind["UnknownKeyword"] = 142] = "UnknownKeyword"; + SyntaxKind[SyntaxKind["FromKeyword"] = 143] = "FromKeyword"; + SyntaxKind[SyntaxKind["GlobalKeyword"] = 144] = "GlobalKeyword"; + SyntaxKind[SyntaxKind["OfKeyword"] = 145] = "OfKeyword"; + SyntaxKind[SyntaxKind["QualifiedName"] = 146] = "QualifiedName"; + SyntaxKind[SyntaxKind["ComputedPropertyName"] = 147] = "ComputedPropertyName"; + SyntaxKind[SyntaxKind["TypeParameter"] = 148] = "TypeParameter"; + SyntaxKind[SyntaxKind["Parameter"] = 149] = "Parameter"; + SyntaxKind[SyntaxKind["Decorator"] = 150] = "Decorator"; + SyntaxKind[SyntaxKind["PropertySignature"] = 151] = "PropertySignature"; + SyntaxKind[SyntaxKind["PropertyDeclaration"] = 152] = "PropertyDeclaration"; + SyntaxKind[SyntaxKind["MethodSignature"] = 153] = "MethodSignature"; + SyntaxKind[SyntaxKind["MethodDeclaration"] = 154] = "MethodDeclaration"; + SyntaxKind[SyntaxKind["Constructor"] = 155] = "Constructor"; + SyntaxKind[SyntaxKind["GetAccessor"] = 156] = "GetAccessor"; + SyntaxKind[SyntaxKind["SetAccessor"] = 157] = "SetAccessor"; + SyntaxKind[SyntaxKind["CallSignature"] = 158] = "CallSignature"; + SyntaxKind[SyntaxKind["ConstructSignature"] = 159] = "ConstructSignature"; + SyntaxKind[SyntaxKind["IndexSignature"] = 160] = "IndexSignature"; + SyntaxKind[SyntaxKind["TypePredicate"] = 161] = "TypePredicate"; + SyntaxKind[SyntaxKind["TypeReference"] = 162] = "TypeReference"; + SyntaxKind[SyntaxKind["FunctionType"] = 163] = "FunctionType"; + SyntaxKind[SyntaxKind["ConstructorType"] = 164] = "ConstructorType"; + SyntaxKind[SyntaxKind["TypeQuery"] = 165] = "TypeQuery"; + SyntaxKind[SyntaxKind["TypeLiteral"] = 166] = "TypeLiteral"; + SyntaxKind[SyntaxKind["ArrayType"] = 167] = "ArrayType"; + SyntaxKind[SyntaxKind["TupleType"] = 168] = "TupleType"; + SyntaxKind[SyntaxKind["UnionType"] = 169] = "UnionType"; + SyntaxKind[SyntaxKind["IntersectionType"] = 170] = "IntersectionType"; + SyntaxKind[SyntaxKind["ConditionalType"] = 171] = "ConditionalType"; + SyntaxKind[SyntaxKind["InferType"] = 172] = "InferType"; + SyntaxKind[SyntaxKind["ParenthesizedType"] = 173] = "ParenthesizedType"; + SyntaxKind[SyntaxKind["ThisType"] = 174] = "ThisType"; + SyntaxKind[SyntaxKind["TypeOperator"] = 175] = "TypeOperator"; + SyntaxKind[SyntaxKind["IndexedAccessType"] = 176] = "IndexedAccessType"; + SyntaxKind[SyntaxKind["MappedType"] = 177] = "MappedType"; + SyntaxKind[SyntaxKind["LiteralType"] = 178] = "LiteralType"; + SyntaxKind[SyntaxKind["ImportType"] = 179] = "ImportType"; + SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 180] = "ObjectBindingPattern"; + SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 181] = "ArrayBindingPattern"; + SyntaxKind[SyntaxKind["BindingElement"] = 182] = "BindingElement"; + SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 183] = "ArrayLiteralExpression"; + SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 184] = "ObjectLiteralExpression"; + SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 185] = "PropertyAccessExpression"; + SyntaxKind[SyntaxKind["ElementAccessExpression"] = 186] = "ElementAccessExpression"; + SyntaxKind[SyntaxKind["CallExpression"] = 187] = "CallExpression"; + SyntaxKind[SyntaxKind["NewExpression"] = 188] = "NewExpression"; + SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 189] = "TaggedTemplateExpression"; + SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 190] = "TypeAssertionExpression"; + SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 191] = "ParenthesizedExpression"; + SyntaxKind[SyntaxKind["FunctionExpression"] = 192] = "FunctionExpression"; + SyntaxKind[SyntaxKind["ArrowFunction"] = 193] = "ArrowFunction"; + SyntaxKind[SyntaxKind["DeleteExpression"] = 194] = "DeleteExpression"; + SyntaxKind[SyntaxKind["TypeOfExpression"] = 195] = "TypeOfExpression"; + SyntaxKind[SyntaxKind["VoidExpression"] = 196] = "VoidExpression"; + SyntaxKind[SyntaxKind["AwaitExpression"] = 197] = "AwaitExpression"; + SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 198] = "PrefixUnaryExpression"; + SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 199] = "PostfixUnaryExpression"; + SyntaxKind[SyntaxKind["BinaryExpression"] = 200] = "BinaryExpression"; + SyntaxKind[SyntaxKind["ConditionalExpression"] = 201] = "ConditionalExpression"; + SyntaxKind[SyntaxKind["TemplateExpression"] = 202] = "TemplateExpression"; + SyntaxKind[SyntaxKind["YieldExpression"] = 203] = "YieldExpression"; + SyntaxKind[SyntaxKind["SpreadElement"] = 204] = "SpreadElement"; + SyntaxKind[SyntaxKind["ClassExpression"] = 205] = "ClassExpression"; + SyntaxKind[SyntaxKind["OmittedExpression"] = 206] = "OmittedExpression"; + SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 207] = "ExpressionWithTypeArguments"; + SyntaxKind[SyntaxKind["AsExpression"] = 208] = "AsExpression"; + SyntaxKind[SyntaxKind["NonNullExpression"] = 209] = "NonNullExpression"; + SyntaxKind[SyntaxKind["MetaProperty"] = 210] = "MetaProperty"; + SyntaxKind[SyntaxKind["TemplateSpan"] = 211] = "TemplateSpan"; + SyntaxKind[SyntaxKind["SemicolonClassElement"] = 212] = "SemicolonClassElement"; + SyntaxKind[SyntaxKind["Block"] = 213] = "Block"; + SyntaxKind[SyntaxKind["VariableStatement"] = 214] = "VariableStatement"; + SyntaxKind[SyntaxKind["EmptyStatement"] = 215] = "EmptyStatement"; + SyntaxKind[SyntaxKind["ExpressionStatement"] = 216] = "ExpressionStatement"; + SyntaxKind[SyntaxKind["IfStatement"] = 217] = "IfStatement"; + SyntaxKind[SyntaxKind["DoStatement"] = 218] = "DoStatement"; + SyntaxKind[SyntaxKind["WhileStatement"] = 219] = "WhileStatement"; + SyntaxKind[SyntaxKind["ForStatement"] = 220] = "ForStatement"; + SyntaxKind[SyntaxKind["ForInStatement"] = 221] = "ForInStatement"; + SyntaxKind[SyntaxKind["ForOfStatement"] = 222] = "ForOfStatement"; + SyntaxKind[SyntaxKind["ContinueStatement"] = 223] = "ContinueStatement"; + SyntaxKind[SyntaxKind["BreakStatement"] = 224] = "BreakStatement"; + SyntaxKind[SyntaxKind["ReturnStatement"] = 225] = "ReturnStatement"; + SyntaxKind[SyntaxKind["WithStatement"] = 226] = "WithStatement"; + SyntaxKind[SyntaxKind["SwitchStatement"] = 227] = "SwitchStatement"; + SyntaxKind[SyntaxKind["LabeledStatement"] = 228] = "LabeledStatement"; + SyntaxKind[SyntaxKind["ThrowStatement"] = 229] = "ThrowStatement"; + SyntaxKind[SyntaxKind["TryStatement"] = 230] = "TryStatement"; + SyntaxKind[SyntaxKind["DebuggerStatement"] = 231] = "DebuggerStatement"; + SyntaxKind[SyntaxKind["VariableDeclaration"] = 232] = "VariableDeclaration"; + SyntaxKind[SyntaxKind["VariableDeclarationList"] = 233] = "VariableDeclarationList"; + SyntaxKind[SyntaxKind["FunctionDeclaration"] = 234] = "FunctionDeclaration"; + SyntaxKind[SyntaxKind["ClassDeclaration"] = 235] = "ClassDeclaration"; + SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 236] = "InterfaceDeclaration"; + SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 237] = "TypeAliasDeclaration"; + SyntaxKind[SyntaxKind["EnumDeclaration"] = 238] = "EnumDeclaration"; + SyntaxKind[SyntaxKind["ModuleDeclaration"] = 239] = "ModuleDeclaration"; + SyntaxKind[SyntaxKind["ModuleBlock"] = 240] = "ModuleBlock"; + SyntaxKind[SyntaxKind["CaseBlock"] = 241] = "CaseBlock"; + SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 242] = "NamespaceExportDeclaration"; + SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 243] = "ImportEqualsDeclaration"; + SyntaxKind[SyntaxKind["ImportDeclaration"] = 244] = "ImportDeclaration"; + SyntaxKind[SyntaxKind["ImportClause"] = 245] = "ImportClause"; + SyntaxKind[SyntaxKind["NamespaceImport"] = 246] = "NamespaceImport"; + SyntaxKind[SyntaxKind["NamedImports"] = 247] = "NamedImports"; + SyntaxKind[SyntaxKind["ImportSpecifier"] = 248] = "ImportSpecifier"; + SyntaxKind[SyntaxKind["ExportAssignment"] = 249] = "ExportAssignment"; + SyntaxKind[SyntaxKind["ExportDeclaration"] = 250] = "ExportDeclaration"; + SyntaxKind[SyntaxKind["NamedExports"] = 251] = "NamedExports"; + SyntaxKind[SyntaxKind["ExportSpecifier"] = 252] = "ExportSpecifier"; + SyntaxKind[SyntaxKind["MissingDeclaration"] = 253] = "MissingDeclaration"; + SyntaxKind[SyntaxKind["ExternalModuleReference"] = 254] = "ExternalModuleReference"; + SyntaxKind[SyntaxKind["JsxElement"] = 255] = "JsxElement"; + SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 256] = "JsxSelfClosingElement"; + SyntaxKind[SyntaxKind["JsxOpeningElement"] = 257] = "JsxOpeningElement"; + SyntaxKind[SyntaxKind["JsxClosingElement"] = 258] = "JsxClosingElement"; + SyntaxKind[SyntaxKind["JsxFragment"] = 259] = "JsxFragment"; + SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 260] = "JsxOpeningFragment"; + SyntaxKind[SyntaxKind["JsxClosingFragment"] = 261] = "JsxClosingFragment"; + SyntaxKind[SyntaxKind["JsxAttribute"] = 262] = "JsxAttribute"; + SyntaxKind[SyntaxKind["JsxAttributes"] = 263] = "JsxAttributes"; + SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 264] = "JsxSpreadAttribute"; + SyntaxKind[SyntaxKind["JsxExpression"] = 265] = "JsxExpression"; + SyntaxKind[SyntaxKind["CaseClause"] = 266] = "CaseClause"; + SyntaxKind[SyntaxKind["DefaultClause"] = 267] = "DefaultClause"; + SyntaxKind[SyntaxKind["HeritageClause"] = 268] = "HeritageClause"; + SyntaxKind[SyntaxKind["CatchClause"] = 269] = "CatchClause"; + SyntaxKind[SyntaxKind["PropertyAssignment"] = 270] = "PropertyAssignment"; + SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 271] = "ShorthandPropertyAssignment"; + SyntaxKind[SyntaxKind["SpreadAssignment"] = 272] = "SpreadAssignment"; + SyntaxKind[SyntaxKind["EnumMember"] = 273] = "EnumMember"; + SyntaxKind[SyntaxKind["SourceFile"] = 274] = "SourceFile"; + SyntaxKind[SyntaxKind["Bundle"] = 275] = "Bundle"; + SyntaxKind[SyntaxKind["UnparsedSource"] = 276] = "UnparsedSource"; + SyntaxKind[SyntaxKind["InputFiles"] = 277] = "InputFiles"; + SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 278] = "JSDocTypeExpression"; + SyntaxKind[SyntaxKind["JSDocAllType"] = 279] = "JSDocAllType"; + SyntaxKind[SyntaxKind["JSDocUnknownType"] = 280] = "JSDocUnknownType"; + SyntaxKind[SyntaxKind["JSDocNullableType"] = 281] = "JSDocNullableType"; + SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 282] = "JSDocNonNullableType"; + SyntaxKind[SyntaxKind["JSDocOptionalType"] = 283] = "JSDocOptionalType"; + SyntaxKind[SyntaxKind["JSDocFunctionType"] = 284] = "JSDocFunctionType"; + SyntaxKind[SyntaxKind["JSDocVariadicType"] = 285] = "JSDocVariadicType"; + SyntaxKind[SyntaxKind["JSDocComment"] = 286] = "JSDocComment"; + SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 287] = "JSDocTypeLiteral"; + SyntaxKind[SyntaxKind["JSDocSignature"] = 288] = "JSDocSignature"; + SyntaxKind[SyntaxKind["JSDocTag"] = 289] = "JSDocTag"; + SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 290] = "JSDocAugmentsTag"; + SyntaxKind[SyntaxKind["JSDocClassTag"] = 291] = "JSDocClassTag"; + SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 292] = "JSDocCallbackTag"; + SyntaxKind[SyntaxKind["JSDocParameterTag"] = 293] = "JSDocParameterTag"; + SyntaxKind[SyntaxKind["JSDocReturnTag"] = 294] = "JSDocReturnTag"; + SyntaxKind[SyntaxKind["JSDocTypeTag"] = 295] = "JSDocTypeTag"; + SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 296] = "JSDocTemplateTag"; + SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 297] = "JSDocTypedefTag"; + SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 298] = "JSDocPropertyTag"; + SyntaxKind[SyntaxKind["SyntaxList"] = 299] = "SyntaxList"; + SyntaxKind[SyntaxKind["NotEmittedStatement"] = 300] = "NotEmittedStatement"; + SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 301] = "PartiallyEmittedExpression"; + SyntaxKind[SyntaxKind["CommaListExpression"] = 302] = "CommaListExpression"; + SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 303] = "MergeDeclarationMarker"; + SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 304] = "EndOfDeclarationMarker"; + SyntaxKind[SyntaxKind["Count"] = 305] = "Count"; SyntaxKind[SyntaxKind["FirstAssignment"] = 58] = "FirstAssignment"; SyntaxKind[SyntaxKind["LastAssignment"] = 70] = "LastAssignment"; SyntaxKind[SyntaxKind["FirstCompoundAssignment"] = 59] = "FirstCompoundAssignment"; @@ -358,15 +359,15 @@ var ts; SyntaxKind[SyntaxKind["FirstReservedWord"] = 72] = "FirstReservedWord"; SyntaxKind[SyntaxKind["LastReservedWord"] = 107] = "LastReservedWord"; SyntaxKind[SyntaxKind["FirstKeyword"] = 72] = "FirstKeyword"; - SyntaxKind[SyntaxKind["LastKeyword"] = 144] = "LastKeyword"; + SyntaxKind[SyntaxKind["LastKeyword"] = 145] = "LastKeyword"; SyntaxKind[SyntaxKind["FirstFutureReservedWord"] = 108] = "FirstFutureReservedWord"; SyntaxKind[SyntaxKind["LastFutureReservedWord"] = 116] = "LastFutureReservedWord"; - SyntaxKind[SyntaxKind["FirstTypeNode"] = 160] = "FirstTypeNode"; - SyntaxKind[SyntaxKind["LastTypeNode"] = 178] = "LastTypeNode"; + SyntaxKind[SyntaxKind["FirstTypeNode"] = 161] = "FirstTypeNode"; + SyntaxKind[SyntaxKind["LastTypeNode"] = 179] = "LastTypeNode"; SyntaxKind[SyntaxKind["FirstPunctuation"] = 17] = "FirstPunctuation"; SyntaxKind[SyntaxKind["LastPunctuation"] = 70] = "LastPunctuation"; SyntaxKind[SyntaxKind["FirstToken"] = 0] = "FirstToken"; - SyntaxKind[SyntaxKind["LastToken"] = 144] = "LastToken"; + SyntaxKind[SyntaxKind["LastToken"] = 145] = "LastToken"; SyntaxKind[SyntaxKind["FirstTriviaToken"] = 2] = "FirstTriviaToken"; SyntaxKind[SyntaxKind["LastTriviaToken"] = 7] = "LastTriviaToken"; SyntaxKind[SyntaxKind["FirstLiteralToken"] = 8] = "FirstLiteralToken"; @@ -375,13 +376,13 @@ var ts; SyntaxKind[SyntaxKind["LastTemplateToken"] = 16] = "LastTemplateToken"; SyntaxKind[SyntaxKind["FirstBinaryOperator"] = 27] = "FirstBinaryOperator"; SyntaxKind[SyntaxKind["LastBinaryOperator"] = 70] = "LastBinaryOperator"; - SyntaxKind[SyntaxKind["FirstNode"] = 145] = "FirstNode"; - SyntaxKind[SyntaxKind["FirstJSDocNode"] = 277] = "FirstJSDocNode"; - SyntaxKind[SyntaxKind["LastJSDocNode"] = 297] = "LastJSDocNode"; - SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 288] = "FirstJSDocTagNode"; - SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 297] = "LastJSDocTagNode"; + SyntaxKind[SyntaxKind["FirstNode"] = 146] = "FirstNode"; + SyntaxKind[SyntaxKind["FirstJSDocNode"] = 278] = "FirstJSDocNode"; + SyntaxKind[SyntaxKind["LastJSDocNode"] = 298] = "LastJSDocNode"; + SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 289] = "FirstJSDocTagNode"; + SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 298] = "LastJSDocTagNode"; SyntaxKind[SyntaxKind["FirstContextualKeyword"] = 117] = "FirstContextualKeyword"; - SyntaxKind[SyntaxKind["LastContextualKeyword"] = 144] = "LastContextualKeyword"; + SyntaxKind[SyntaxKind["LastContextualKeyword"] = 145] = "LastContextualKeyword"; })(SyntaxKind = ts.SyntaxKind || (ts.SyntaxKind = {})); var NodeFlags; (function (NodeFlags) { @@ -749,67 +750,69 @@ var ts; var TypeFlags; (function (TypeFlags) { TypeFlags[TypeFlags["Any"] = 1] = "Any"; - TypeFlags[TypeFlags["String"] = 2] = "String"; - TypeFlags[TypeFlags["Number"] = 4] = "Number"; - TypeFlags[TypeFlags["Boolean"] = 8] = "Boolean"; - TypeFlags[TypeFlags["Enum"] = 16] = "Enum"; - TypeFlags[TypeFlags["StringLiteral"] = 32] = "StringLiteral"; - TypeFlags[TypeFlags["NumberLiteral"] = 64] = "NumberLiteral"; - TypeFlags[TypeFlags["BooleanLiteral"] = 128] = "BooleanLiteral"; - TypeFlags[TypeFlags["EnumLiteral"] = 256] = "EnumLiteral"; - TypeFlags[TypeFlags["ESSymbol"] = 512] = "ESSymbol"; - TypeFlags[TypeFlags["UniqueESSymbol"] = 1024] = "UniqueESSymbol"; - TypeFlags[TypeFlags["Void"] = 2048] = "Void"; - TypeFlags[TypeFlags["Undefined"] = 4096] = "Undefined"; - TypeFlags[TypeFlags["Null"] = 8192] = "Null"; - TypeFlags[TypeFlags["Never"] = 16384] = "Never"; - TypeFlags[TypeFlags["TypeParameter"] = 32768] = "TypeParameter"; - TypeFlags[TypeFlags["Object"] = 65536] = "Object"; - TypeFlags[TypeFlags["Union"] = 131072] = "Union"; - TypeFlags[TypeFlags["Intersection"] = 262144] = "Intersection"; - TypeFlags[TypeFlags["Index"] = 524288] = "Index"; - TypeFlags[TypeFlags["IndexedAccess"] = 1048576] = "IndexedAccess"; - TypeFlags[TypeFlags["Conditional"] = 2097152] = "Conditional"; - TypeFlags[TypeFlags["Substitution"] = 4194304] = "Substitution"; - TypeFlags[TypeFlags["FreshLiteral"] = 8388608] = "FreshLiteral"; - TypeFlags[TypeFlags["ContainsWideningType"] = 16777216] = "ContainsWideningType"; - TypeFlags[TypeFlags["ContainsObjectLiteral"] = 33554432] = "ContainsObjectLiteral"; - TypeFlags[TypeFlags["ContainsAnyFunctionType"] = 67108864] = "ContainsAnyFunctionType"; - TypeFlags[TypeFlags["NonPrimitive"] = 134217728] = "NonPrimitive"; - TypeFlags[TypeFlags["UnionOfUnitTypes"] = 268435456] = "UnionOfUnitTypes"; - TypeFlags[TypeFlags["GenericMappedType"] = 536870912] = "GenericMappedType"; - TypeFlags[TypeFlags["Nullable"] = 12288] = "Nullable"; - TypeFlags[TypeFlags["Literal"] = 224] = "Literal"; - TypeFlags[TypeFlags["Unit"] = 13536] = "Unit"; - TypeFlags[TypeFlags["StringOrNumberLiteral"] = 96] = "StringOrNumberLiteral"; - TypeFlags[TypeFlags["StringOrNumberLiteralOrUnique"] = 1120] = "StringOrNumberLiteralOrUnique"; - TypeFlags[TypeFlags["DefinitelyFalsy"] = 14560] = "DefinitelyFalsy"; - TypeFlags[TypeFlags["PossiblyFalsy"] = 14574] = "PossiblyFalsy"; - TypeFlags[TypeFlags["Intrinsic"] = 134249103] = "Intrinsic"; - TypeFlags[TypeFlags["Primitive"] = 16382] = "Primitive"; - TypeFlags[TypeFlags["StringLike"] = 34] = "StringLike"; - TypeFlags[TypeFlags["NumberLike"] = 84] = "NumberLike"; - TypeFlags[TypeFlags["BooleanLike"] = 136] = "BooleanLike"; - TypeFlags[TypeFlags["EnumLike"] = 272] = "EnumLike"; - TypeFlags[TypeFlags["ESSymbolLike"] = 1536] = "ESSymbolLike"; - TypeFlags[TypeFlags["VoidLike"] = 6144] = "VoidLike"; - TypeFlags[TypeFlags["DisjointDomains"] = 134233854] = "DisjointDomains"; - TypeFlags[TypeFlags["UnionOrIntersection"] = 393216] = "UnionOrIntersection"; - TypeFlags[TypeFlags["StructuredType"] = 458752] = "StructuredType"; - TypeFlags[TypeFlags["TypeVariable"] = 1081344] = "TypeVariable"; - TypeFlags[TypeFlags["InstantiableNonPrimitive"] = 7372800] = "InstantiableNonPrimitive"; - TypeFlags[TypeFlags["InstantiablePrimitive"] = 524288] = "InstantiablePrimitive"; - TypeFlags[TypeFlags["Instantiable"] = 7897088] = "Instantiable"; - TypeFlags[TypeFlags["StructuredOrInstantiable"] = 8355840] = "StructuredOrInstantiable"; - TypeFlags[TypeFlags["Narrowable"] = 142575359] = "Narrowable"; - TypeFlags[TypeFlags["NotUnionOrUnit"] = 134283777] = "NotUnionOrUnit"; - TypeFlags[TypeFlags["NotUnit"] = 8374815] = "NotUnit"; - TypeFlags[TypeFlags["RequiresWidening"] = 50331648] = "RequiresWidening"; - TypeFlags[TypeFlags["PropagatingFlags"] = 117440512] = "PropagatingFlags"; - TypeFlags[TypeFlags["NonWideningType"] = 16777216] = "NonWideningType"; - TypeFlags[TypeFlags["Wildcard"] = 33554432] = "Wildcard"; - TypeFlags[TypeFlags["EmptyObject"] = 67108864] = "EmptyObject"; - TypeFlags[TypeFlags["ConstructionFlags"] = 117440512] = "ConstructionFlags"; + TypeFlags[TypeFlags["Unknown"] = 2] = "Unknown"; + TypeFlags[TypeFlags["String"] = 4] = "String"; + TypeFlags[TypeFlags["Number"] = 8] = "Number"; + TypeFlags[TypeFlags["Boolean"] = 16] = "Boolean"; + TypeFlags[TypeFlags["Enum"] = 32] = "Enum"; + TypeFlags[TypeFlags["StringLiteral"] = 64] = "StringLiteral"; + TypeFlags[TypeFlags["NumberLiteral"] = 128] = "NumberLiteral"; + TypeFlags[TypeFlags["BooleanLiteral"] = 256] = "BooleanLiteral"; + TypeFlags[TypeFlags["EnumLiteral"] = 512] = "EnumLiteral"; + TypeFlags[TypeFlags["ESSymbol"] = 1024] = "ESSymbol"; + TypeFlags[TypeFlags["UniqueESSymbol"] = 2048] = "UniqueESSymbol"; + TypeFlags[TypeFlags["Void"] = 4096] = "Void"; + TypeFlags[TypeFlags["Undefined"] = 8192] = "Undefined"; + TypeFlags[TypeFlags["Null"] = 16384] = "Null"; + TypeFlags[TypeFlags["Never"] = 32768] = "Never"; + TypeFlags[TypeFlags["TypeParameter"] = 65536] = "TypeParameter"; + TypeFlags[TypeFlags["Object"] = 131072] = "Object"; + TypeFlags[TypeFlags["Union"] = 262144] = "Union"; + TypeFlags[TypeFlags["Intersection"] = 524288] = "Intersection"; + TypeFlags[TypeFlags["Index"] = 1048576] = "Index"; + TypeFlags[TypeFlags["IndexedAccess"] = 2097152] = "IndexedAccess"; + TypeFlags[TypeFlags["Conditional"] = 4194304] = "Conditional"; + TypeFlags[TypeFlags["Substitution"] = 8388608] = "Substitution"; + TypeFlags[TypeFlags["NonPrimitive"] = 16777216] = "NonPrimitive"; + TypeFlags[TypeFlags["FreshLiteral"] = 33554432] = "FreshLiteral"; + TypeFlags[TypeFlags["UnionOfUnitTypes"] = 67108864] = "UnionOfUnitTypes"; + TypeFlags[TypeFlags["ContainsWideningType"] = 134217728] = "ContainsWideningType"; + TypeFlags[TypeFlags["ContainsObjectLiteral"] = 268435456] = "ContainsObjectLiteral"; + TypeFlags[TypeFlags["ContainsAnyFunctionType"] = 536870912] = "ContainsAnyFunctionType"; + TypeFlags[TypeFlags["AnyOrUnknown"] = 3] = "AnyOrUnknown"; + TypeFlags[TypeFlags["Nullable"] = 24576] = "Nullable"; + TypeFlags[TypeFlags["Literal"] = 448] = "Literal"; + TypeFlags[TypeFlags["Unit"] = 27072] = "Unit"; + TypeFlags[TypeFlags["StringOrNumberLiteral"] = 192] = "StringOrNumberLiteral"; + TypeFlags[TypeFlags["StringOrNumberLiteralOrUnique"] = 2240] = "StringOrNumberLiteralOrUnique"; + TypeFlags[TypeFlags["DefinitelyFalsy"] = 29120] = "DefinitelyFalsy"; + TypeFlags[TypeFlags["PossiblyFalsy"] = 29148] = "PossiblyFalsy"; + TypeFlags[TypeFlags["Intrinsic"] = 16839967] = "Intrinsic"; + TypeFlags[TypeFlags["Primitive"] = 32764] = "Primitive"; + TypeFlags[TypeFlags["StringLike"] = 68] = "StringLike"; + TypeFlags[TypeFlags["NumberLike"] = 168] = "NumberLike"; + TypeFlags[TypeFlags["BooleanLike"] = 272] = "BooleanLike"; + TypeFlags[TypeFlags["EnumLike"] = 544] = "EnumLike"; + TypeFlags[TypeFlags["ESSymbolLike"] = 3072] = "ESSymbolLike"; + TypeFlags[TypeFlags["VoidLike"] = 12288] = "VoidLike"; + TypeFlags[TypeFlags["DisjointDomains"] = 16809468] = "DisjointDomains"; + TypeFlags[TypeFlags["UnionOrIntersection"] = 786432] = "UnionOrIntersection"; + TypeFlags[TypeFlags["StructuredType"] = 917504] = "StructuredType"; + TypeFlags[TypeFlags["TypeVariable"] = 2162688] = "TypeVariable"; + TypeFlags[TypeFlags["InstantiableNonPrimitive"] = 14745600] = "InstantiableNonPrimitive"; + TypeFlags[TypeFlags["InstantiablePrimitive"] = 1048576] = "InstantiablePrimitive"; + TypeFlags[TypeFlags["Instantiable"] = 15794176] = "Instantiable"; + TypeFlags[TypeFlags["StructuredOrInstantiable"] = 16711680] = "StructuredOrInstantiable"; + TypeFlags[TypeFlags["Narrowable"] = 33492479] = "Narrowable"; + TypeFlags[TypeFlags["NotUnionOrUnit"] = 16909315] = "NotUnionOrUnit"; + TypeFlags[TypeFlags["NotUnit"] = 16749629] = "NotUnit"; + TypeFlags[TypeFlags["RequiresWidening"] = 402653184] = "RequiresWidening"; + TypeFlags[TypeFlags["PropagatingFlags"] = 939524096] = "PropagatingFlags"; + TypeFlags[TypeFlags["NonWideningType"] = 134217728] = "NonWideningType"; + TypeFlags[TypeFlags["Wildcard"] = 268435456] = "Wildcard"; + TypeFlags[TypeFlags["EmptyObject"] = 536870912] = "EmptyObject"; + TypeFlags[TypeFlags["ConstructionFlags"] = 939524096] = "ConstructionFlags"; + TypeFlags[TypeFlags["GenericMappedType"] = 134217728] = "GenericMappedType"; })(TypeFlags = ts.TypeFlags || (ts.TypeFlags = {})); var ObjectFlags; (function (ObjectFlags) { @@ -1154,6 +1157,7 @@ var ts; })(TransformFlags = ts.TransformFlags || (ts.TransformFlags = {})); var EmitFlags; (function (EmitFlags) { + EmitFlags[EmitFlags["None"] = 0] = "None"; EmitFlags[EmitFlags["SingleLine"] = 1] = "SingleLine"; EmitFlags[EmitFlags["AdviseOnEmitNode"] = 2] = "AdviseOnEmitNode"; EmitFlags[EmitFlags["NoSubstitution"] = 4] = "NoSubstitution"; @@ -1386,7 +1390,7 @@ var ts; })(ts || (ts = {})); var ts; (function (ts) { - ts.versionMajorMinor = "2.9"; + ts.versionMajorMinor = "3.0"; ts.version = ts.versionMajorMinor + ".0-dev"; })(ts || (ts = {})); (function (ts) { @@ -1517,6 +1521,10 @@ var ts; return array ? array.length : 0; } ts.length = length; + function hasEntries(map) { + return !!map && !!map.size; + } + ts.hasEntries = hasEntries; function forEach(array, callback) { if (array) { for (var i = 0; i < array.length; i++) { @@ -1657,7 +1665,7 @@ var ts; return result; } } - Debug.fail(); + return Debug.fail(); } ts.findMap = findMap; function contains(array, value, equalityComparer) { @@ -2187,15 +2195,6 @@ var ts; return to; } ts.addRange = addRange; - function prependRange(to, from) { - if (from === undefined || from.length === 0) - return to; - if (to === undefined) - return from.slice(); - to.unshift.apply(to, from); - return to; - } - ts.prependRange = prependRange; function pushIfUnique(array, toAdd, equalityComparer) { if (contains(array, toAdd, equalityComparer)) { return false; @@ -2588,10 +2587,10 @@ var ts; if (value !== undefined && test(value)) return value; if (value && typeof value.kind === "number") { - Debug.fail("Invalid cast. The supplied " + Debug.showSyntaxKind(value) + " did not pass the test '" + Debug.getFunctionName(test) + "'."); + return Debug.fail("Invalid cast. The supplied " + Debug.showSyntaxKind(value) + " did not pass the test '" + Debug.getFunctionName(test) + "'."); } else { - Debug.fail("Invalid cast. The supplied value did not pass the test '" + Debug.getFunctionName(test) + "'."); + return Debug.fail("Invalid cast. The supplied value did not pass the test '" + Debug.getFunctionName(test) + "'."); } } ts.cast = cast; @@ -2671,7 +2670,7 @@ var ts; } ts.compose = compose; function formatStringFromArgs(text, args, baseIndex) { - baseIndex = baseIndex || 0; + if (baseIndex === void 0) { baseIndex = 0; } return text.replace(/{(\d+)}/g, function (_match, index) { return Debug.assertDefined(args[+index + baseIndex]); }); } ts.formatStringFromArgs = formatStringFromArgs; @@ -2908,7 +2907,9 @@ var ts; return compareValues(a ? 1 : 0, b ? 1 : 0); } ts.compareBooleans = compareBooleans; - function compareMessageText(text1, text2) { + function compareMessageText(t1, t2) { + var text1 = t1; + var text2 = t2; while (text1 && text2) { var string1 = isString(text1) ? text1 : text1.messageText; var string2 = isString(text2) ? text2 : text2.messageText; @@ -2942,6 +2943,14 @@ var ts; return moduleResolution; } ts.getEmitModuleResolutionKind = getEmitModuleResolutionKind; + function unreachableCodeIsError(options) { + return options.allowUnreachableCode === false; + } + ts.unreachableCodeIsError = unreachableCodeIsError; + function unusedLabelIsError(options) { + return options.allowUnusedLabels === false; + } + ts.unusedLabelIsError = unusedLabelIsError; function getAreDeclarationMapsEnabled(options) { return !!(options.declaration && options.declarationMap); } @@ -2960,7 +2969,7 @@ var ts; } ts.getEmitDeclarations = getEmitDeclarations; function getStrictOptionValue(compilerOptions, flag) { - return compilerOptions[flag] === undefined ? compilerOptions.strict : compilerOptions[flag]; + return compilerOptions[flag] === undefined ? !!compilerOptions.strict : !!compilerOptions[flag]; } ts.getStrictOptionValue = getStrictOptionValue; function hasZeroOrOneAsteriskCharacter(str) { @@ -3338,6 +3347,23 @@ var ts; return startsWith(str, prefix) ? str.substr(prefix.length) : str; } ts.removePrefix = removePrefix; + function tryRemovePrefix(str, prefix) { + return startsWith(str, prefix) ? str.substring(prefix.length) : undefined; + } + ts.tryRemovePrefix = tryRemovePrefix; + function tryRemoveDirectoryPrefix(path, dirPath) { + var a = tryRemovePrefix(path, dirPath); + if (a === undefined) + return undefined; + switch (a.charCodeAt(0)) { + case 47: + case 92: + return a.slice(1); + default: + return undefined; + } + } + ts.tryRemoveDirectoryPrefix = tryRemoveDirectoryPrefix; function endsWith(str, suffix) { var expectedPos = str.length - suffix.length; return expectedPos >= 0 && str.indexOf(suffix, expectedPos) === expectedPos; @@ -3347,6 +3373,10 @@ var ts; return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : str; } ts.removeSuffix = removeSuffix; + function tryRemoveSuffix(str, suffix) { + return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : undefined; + } + ts.tryRemoveSuffix = tryRemoveSuffix; function stringContains(str, substring) { return str.indexOf(substring) !== -1; } @@ -3420,7 +3450,7 @@ var ts; var subpattern = ""; var hasWrittenComponent = false; var components = getNormalizedPathComponents(spec, basePath); - var lastComponent = lastOrUndefined(components); + var lastComponent = last(components); if (usage !== "exclude" && lastComponent === "**") { return undefined; } @@ -3486,14 +3516,17 @@ var ts; }; } ts.getFileMatcherPatterns = getFileMatcherPatterns; + function getRegexFromPattern(pattern, useCaseSensitiveFileNames) { + return new RegExp(pattern, useCaseSensitiveFileNames ? "" : "i"); + } + ts.getRegexFromPattern = getRegexFromPattern; function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries) { path = normalizePath(path); currentDirectory = normalizePath(currentDirectory); var patterns = getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory); - var regexFlag = useCaseSensitiveFileNames ? "" : "i"; - var includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(function (pattern) { return new RegExp(pattern, regexFlag); }); - var includeDirectoryRegex = patterns.includeDirectoryPattern && new RegExp(patterns.includeDirectoryPattern, regexFlag); - var excludeRegex = patterns.excludePattern && new RegExp(patterns.excludePattern, regexFlag); + var includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(function (pattern) { return getRegexFromPattern(pattern, useCaseSensitiveFileNames); }); + var includeDirectoryRegex = patterns.includeDirectoryPattern && getRegexFromPattern(patterns.includeDirectoryPattern, useCaseSensitiveFileNames); + var excludeRegex = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, useCaseSensitiveFileNames); var results = includeFileRegexes ? includeFileRegexes.map(function () { return []; }) : [[]]; for (var _i = 0, _a = patterns.basePaths; _i < _a.length; _i++) { var basePath = _a[_i]; @@ -3611,11 +3644,11 @@ var ts; return scriptKind === 1 || scriptKind === 2; } function hasJavaScriptFileExtension(fileName) { - return forEach(ts.supportedJavascriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); + return some(ts.supportedJavascriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); } ts.hasJavaScriptFileExtension = hasJavaScriptFileExtension; function hasTypeScriptFileExtension(fileName) { - return forEach(ts.supportedTypeScriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); + return some(ts.supportedTypeScriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); } ts.hasTypeScriptFileExtension = hasTypeScriptFileExtension; function isSupportedSourceFileName(fileName, compilerOptions, extraFileExtensions) { @@ -3803,7 +3836,8 @@ var ts; } Debug.fail = fail; function assertDefined(value, message) { - assert(value !== undefined && value !== null, message); + if (value === undefined || value === null) + return fail(message); return value; } Debug.assertDefined = assertDefined; @@ -3961,10 +3995,7 @@ var ts; ts.resolutionExtensionIsTypeScriptOrJson = resolutionExtensionIsTypeScriptOrJson; function extensionFromPath(path) { var ext = tryGetExtensionFromPath(path); - if (ext !== undefined) { - return ext; - } - Debug.fail("File " + path + " has unknown extension."); + return ext !== undefined ? ext : Debug.fail("File " + path + " has unknown extension."); } ts.extensionFromPath = extensionFromPath; function isAnySupportedFileExtension(path) { @@ -4518,6 +4549,7 @@ var ts; return watchDirectoryRecursively(directoryName, callback); } watchDirectory(directoryName, callback); + return undefined; }; } function createNonPollingWatchFile() { @@ -4748,6 +4780,7 @@ var ts; switch (entryKind) { case 0: return stat.isFile(); case 1: return stat.isDirectory(); + default: return false; } } catch (e) { @@ -4926,6 +4959,7 @@ var ts; The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type: diag(1064, ts.DiagnosticCategory.Error, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1064", "The return type of an async function or method must be the global Promise type."), In_ambient_enum_declarations_member_initializer_must_be_constant_expression: diag(1066, ts.DiagnosticCategory.Error, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."), Unexpected_token_A_constructor_method_accessor_or_property_was_expected: diag(1068, ts.DiagnosticCategory.Error, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."), + Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: diag(1069, ts.DiagnosticCategory.Error, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."), _0_modifier_cannot_appear_on_a_type_member: diag(1070, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_a_type_member_1070", "'{0}' modifier cannot appear on a type member."), _0_modifier_cannot_appear_on_an_index_signature: diag(1071, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_an_index_signature_1071", "'{0}' modifier cannot appear on an index signature."), A_0_modifier_cannot_be_used_with_an_import_declaration: diag(1079, ts.DiagnosticCategory.Error, "A_0_modifier_cannot_be_used_with_an_import_declaration_1079", "A '{0}' modifier cannot be used with an import declaration."), @@ -5377,6 +5411,7 @@ var ts; Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators: diag(2568, ts.DiagnosticCategory.Error, "Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators_2568", "Type '{0}' is not an array type. Use compiler option '--downlevelIteration' to allow iterating of iterators."), Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators: diag(2569, ts.DiagnosticCategory.Error, "Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569", "Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators."), Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await: diag(2570, ts.DiagnosticCategory.Error, "Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await_2570", "Property '{0}' does not exist on type '{1}'. Did you forget to use 'await'?"), + Object_is_of_type_unknown: diag(2571, ts.DiagnosticCategory.Error, "Object_is_of_type_unknown_2571", "Object is of type 'unknown'."), JSX_element_attributes_type_0_may_not_be_a_union_type: diag(2600, ts.DiagnosticCategory.Error, "JSX_element_attributes_type_0_may_not_be_a_union_type_2600", "JSX element attributes type '{0}' may not be a union type."), The_return_type_of_a_JSX_element_constructor_must_return_an_object_type: diag(2601, ts.DiagnosticCategory.Error, "The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601", "The return type of a JSX element constructor must return an object type."), JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist: diag(2602, ts.DiagnosticCategory.Error, "JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602", "JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."), @@ -5430,7 +5465,7 @@ var ts; _0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible: diag(2692, ts.DiagnosticCategory.Error, "_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692", "'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."), _0_only_refers_to_a_type_but_is_being_used_as_a_value_here: diag(2693, ts.DiagnosticCategory.Error, "_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693", "'{0}' only refers to a type, but is being used as a value here."), Namespace_0_has_no_exported_member_1: diag(2694, ts.DiagnosticCategory.Error, "Namespace_0_has_no_exported_member_1_2694", "Namespace '{0}' has no exported member '{1}'."), - Left_side_of_comma_operator_is_unused_and_has_no_side_effects: diag(2695, ts.DiagnosticCategory.Error, "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695", "Left side of comma operator is unused and has no side effects."), + Left_side_of_comma_operator_is_unused_and_has_no_side_effects: diag(2695, ts.DiagnosticCategory.Error, "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695", "Left side of comma operator is unused and has no side effects.", true), The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead: diag(2696, ts.DiagnosticCategory.Error, "The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696", "The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"), An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option: diag(2697, ts.DiagnosticCategory.Error, "An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697", "An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."), Spread_types_may_only_be_created_from_object_types: diag(2698, ts.DiagnosticCategory.Error, "Spread_types_may_only_be_created_from_object_types_2698", "Spread types may only be created from object types."), @@ -5460,6 +5495,7 @@ var ts; Cannot_invoke_an_object_which_is_possibly_undefined: diag(2722, ts.DiagnosticCategory.Error, "Cannot_invoke_an_object_which_is_possibly_undefined_2722", "Cannot invoke an object which is possibly 'undefined'."), Cannot_invoke_an_object_which_is_possibly_null_or_undefined: diag(2723, ts.DiagnosticCategory.Error, "Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723", "Cannot invoke an object which is possibly 'null' or 'undefined'."), Module_0_has_no_exported_member_1_Did_you_mean_2: diag(2724, ts.DiagnosticCategory.Error, "Module_0_has_no_exported_member_1_Did_you_mean_2_2724", "Module '{0}' has no exported member '{1}'. Did you mean '{2}'?"), + Class_name_cannot_be_Object_when_targeting_ES5_with_module_0: diag(2725, ts.DiagnosticCategory.Error, "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725", "Class name cannot be 'Object' when targeting ES5 with module {0}."), Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."), Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."), Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."), @@ -5758,6 +5794,7 @@ var ts; _0_is_declared_but_never_used: diag(6196, ts.DiagnosticCategory.Error, "_0_is_declared_but_never_used_6196", "'{0}' is declared but never used.", true), Include_modules_imported_with_json_extension: diag(6197, ts.DiagnosticCategory.Message, "Include_modules_imported_with_json_extension_6197", "Include modules imported with '.json' extension"), All_destructured_elements_are_unused: diag(6198, ts.DiagnosticCategory.Error, "All_destructured_elements_are_unused_6198", "All destructured elements are unused.", true), + All_variables_are_unused: diag(6199, ts.DiagnosticCategory.Error, "All_variables_are_unused_6199", "All variables are unused.", true), Projects_to_reference: diag(6300, ts.DiagnosticCategory.Message, "Projects_to_reference_6300", "Projects to reference"), Enable_project_compilation: diag(6302, ts.DiagnosticCategory.Message, "Enable_project_compilation_6302", "Enable project compilation"), Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0: diag(6202, ts.DiagnosticCategory.Error, "Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202", "Project references may not form a circular graph. Cycle detected: {0}"), @@ -5785,7 +5822,7 @@ var ts; Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: diag(7024, ts.DiagnosticCategory.Error, "Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024", "Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."), Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type: diag(7025, ts.DiagnosticCategory.Error, "Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025", "Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."), JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists: diag(7026, ts.DiagnosticCategory.Error, "JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026", "JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."), - Unreachable_code_detected: diag(7027, ts.DiagnosticCategory.Error, "Unreachable_code_detected_7027", "Unreachable code detected."), + Unreachable_code_detected: diag(7027, ts.DiagnosticCategory.Error, "Unreachable_code_detected_7027", "Unreachable code detected.", true), Unused_label: diag(7028, ts.DiagnosticCategory.Error, "Unused_label_7028", "Unused label.", true), Fallthrough_case_in_switch: diag(7029, ts.DiagnosticCategory.Error, "Fallthrough_case_in_switch_7029", "Fallthrough case in switch."), Not_all_code_paths_return_a_value: diag(7030, ts.DiagnosticCategory.Error, "Not_all_code_paths_return_a_value_7030", "Not all code paths return a value."), @@ -5866,6 +5903,7 @@ var ts; Implement_inherited_abstract_class: diag(90007, ts.DiagnosticCategory.Message, "Implement_inherited_abstract_class_90007", "Implement inherited abstract class"), Add_0_to_unresolved_variable: diag(90008, ts.DiagnosticCategory.Message, "Add_0_to_unresolved_variable_90008", "Add '{0}.' to unresolved variable"), Remove_destructuring: diag(90009, ts.DiagnosticCategory.Message, "Remove_destructuring_90009", "Remove destructuring"), + Remove_variable_statement: diag(90010, ts.DiagnosticCategory.Message, "Remove_variable_statement_90010", "Remove variable statement"), Import_0_from_module_1: diag(90013, ts.DiagnosticCategory.Message, "Import_0_from_module_1_90013", "Import '{0}' from module \"{1}\""), Change_0_to_1: diag(90014, ts.DiagnosticCategory.Message, "Change_0_to_1_90014", "Change '{0}' to '{1}'"), Add_0_to_existing_import_declaration_from_1: diag(90015, ts.DiagnosticCategory.Message, "Add_0_to_existing_import_declaration_from_1_90015", "Add '{0}' to existing import declaration from \"{1}\""), @@ -5935,6 +5973,9 @@ var ts; Add_missing_typeof: diag(95052, ts.DiagnosticCategory.Message, "Add_missing_typeof_95052", "Add missing 'typeof'"), Remove_unused_label: diag(95053, ts.DiagnosticCategory.Message, "Remove_unused_label_95053", "Remove unused label"), Remove_all_unused_labels: diag(95054, ts.DiagnosticCategory.Message, "Remove_all_unused_labels_95054", "Remove all unused labels"), + Convert_0_to_mapped_object_type: diag(95055, ts.DiagnosticCategory.Message, "Convert_0_to_mapped_object_type_95055", "Convert '{0}' to mapped object type"), + Convert_namespace_import_to_named_imports: diag(95056, ts.DiagnosticCategory.Message, "Convert_namespace_import_to_named_imports_95056", "Convert namespace import to named imports"), + Convert_named_imports_to_namespace_import: diag(95057, ts.DiagnosticCategory.Message, "Convert_named_imports_to_namespace_import_95057", "Convert named imports to namespace import"), }; })(ts || (ts = {})); var ts; @@ -5971,7 +6012,7 @@ var ts; "false": 86, "finally": 87, "for": 88, - "from": 142, + "from": 143, "function": 89, "get": 125, "if": 90, @@ -5997,7 +6038,7 @@ var ts; "public": 114, "readonly": 132, "require": 133, - "global": 143, + "global": 144, "return": 96, "set": 136, "static": 115, @@ -6013,6 +6054,7 @@ var ts; "typeof": 103, "undefined": 140, "unique": 141, + "unknown": 142, "var": 104, "void": 105, "while": 106, @@ -6020,7 +6062,7 @@ var ts; "yield": 116, "async": 120, "await": 121, - "of": 144, + "of": 145, "{": 17, "}": 18, "(": 19, @@ -6526,8 +6568,9 @@ var ts; return true; } ts.isIdentifierText = isIdentifierText; - function createScanner(languageVersion, skipTrivia, languageVariant, text, onError, start, length) { + function createScanner(languageVersion, skipTrivia, languageVariant, textInitial, onError, start, length) { if (languageVariant === void 0) { languageVariant = 0; } + var text = textInitial; var pos; var end; var startPos; @@ -7725,7 +7768,7 @@ var ts; } ts.moduleResolutionIsEqualTo = moduleResolutionIsEqualTo; function packageIdIsEqual(a, b) { - return a === b || a && b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version; + return a === b || !!a && !!b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version; } function packageIdToString(_a) { var name = _a.name, subModuleName = _a.subModuleName, version = _a.version; @@ -7768,7 +7811,7 @@ var ts; } } function getSourceFileOfNode(node) { - while (node && node.kind !== 273) { + while (node && node.kind !== 274) { node = node.parent; } return node; @@ -7776,11 +7819,11 @@ var ts; ts.getSourceFileOfNode = getSourceFileOfNode; function isStatementWithLocals(node) { switch (node.kind) { - case 212: - case 240: - case 219: + case 213: + case 241: case 220: case 221: + case 222: return true; } return false; @@ -7816,9 +7859,8 @@ var ts; } } ts.getEndLinePosition = getEndLinePosition; - function isFileLevelUniqueName(currentSourceFile, name, hasGlobalName) { - return !(hasGlobalName && hasGlobalName(name)) - && !currentSourceFile.identifiers.has(name); + function isFileLevelUniqueName(sourceFile, name, hasGlobalName) { + return !(hasGlobalName && hasGlobalName(name)) && !sourceFile.identifiers.has(name); } ts.isFileLevelUniqueName = isFileLevelUniqueName; function nodeIsMissing(node) { @@ -7832,6 +7874,19 @@ var ts; return !nodeIsMissing(node); } ts.nodeIsPresent = nodeIsPresent; + function prependStatements(to, from) { + if (from === undefined || from.length === 0) + return to; + if (to === undefined) + return from.slice(); + var prologue = to.length && isPrologueDirective(to[0]) && to.shift(); + to.unshift.apply(to, from); + if (prologue) { + to.unshift(prologue); + } + return to; + } + ts.prependStatements = prependStatements; function isRecognizedTripleSlashComment(text, commentPos, commentEnd) { if (text.charCodeAt(commentPos + 1) === 47 && commentPos + 2 < commentEnd && @@ -7861,7 +7916,7 @@ var ts; if (includeJsDoc && ts.hasJSDocNodes(node)) { return getTokenPosOfNode(node.jsDoc[0]); } - if (node.kind === 298 && node._children.length > 0) { + if (node.kind === 299 && node._children.length > 0) { return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc); } return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.pos); @@ -7901,7 +7956,7 @@ var ts; ts.indexOfNode = indexOfNode; function getEmitFlags(node) { var emitNode = node.emitNode; - return emitNode && emitNode.flags; + return emitNode && emitNode.flags || 0; } ts.getEmitFlags = getEmitFlags; function getLiteralText(node, sourceFile) { @@ -7929,7 +7984,7 @@ var ts; case 12: return node.text; } - ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); + return ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); } ts.getLiteralText = getLiteralText; function getTextOfConstantValue(value) { @@ -7955,7 +8010,7 @@ var ts; ts.isBlockOrCatchScoped = isBlockOrCatchScoped; function isCatchClauseVariableDeclarationOrBindingElement(declaration) { var node = getRootDeclaration(declaration); - return node.kind === 231 && node.parent.kind === 268; + return node.kind === 232 && node.parent.kind === 269; } ts.isCatchClauseVariableDeclarationOrBindingElement = isCatchClauseVariableDeclarationOrBindingElement; function isAmbientModule(node) { @@ -7975,11 +8030,11 @@ var ts; } ts.isShorthandAmbientModuleSymbol = isShorthandAmbientModuleSymbol; function isShorthandAmbientModule(node) { - return node && node.kind === 238 && (!node.body); + return node && node.kind === 239 && (!node.body); } function isBlockScopedContainerTopLevel(node) { - return node.kind === 273 || - node.kind === 238 || + return node.kind === 274 || + node.kind === 239 || ts.isFunctionLike(node); } ts.isBlockScopedContainerTopLevel = isBlockScopedContainerTopLevel; @@ -7993,9 +8048,9 @@ var ts; ts.isExternalModuleAugmentation = isExternalModuleAugmentation; function isModuleAugmentationExternal(node) { switch (node.parent.kind) { - case 273: + case 274: return ts.isExternalModule(node.parent); - case 239: + case 240: return isAmbientModule(node.parent.parent) && ts.isSourceFile(node.parent.parent.parent) && !ts.isExternalModule(node.parent.parent.parent); } return false; @@ -8007,51 +8062,51 @@ var ts; ts.isEffectiveExternalModule = isEffectiveExternalModule; function isBlockScope(node, parentNode) { switch (node.kind) { - case 273: - case 240: - case 268: - case 238: - case 219: + case 274: + case 241: + case 269: + case 239: case 220: case 221: - case 154: - case 153: + case 222: case 155: + case 154: case 156: - case 233: - case 191: + case 157: + case 234: case 192: + case 193: return true; - case 212: - return parentNode && !ts.isFunctionLike(parentNode); + case 213: + return !ts.isFunctionLike(parentNode); } return false; } ts.isBlockScope = isBlockScope; function isDeclarationWithTypeParameters(node) { switch (node.kind) { - case 157: case 158: - case 152: case 159: - case 162: - case 163: - case 283: - case 234: - case 204: - case 235: - case 236: - case 295: - case 233: case 153: + case 160: + case 163: + case 164: + case 284: + case 235: + case 205: + case 236: + case 237: + case 296: + case 234: case 154: case 155: case 156: - case 191: + case 157: case 192: - case 291: - case 296: - case 287: + case 193: + case 292: + case 297: + case 288: return true; default: ts.assertTypeIsNever(node); @@ -8061,8 +8116,8 @@ var ts; ts.isDeclarationWithTypeParameters = isDeclarationWithTypeParameters; function isAnyImportSyntax(node) { switch (node.kind) { + case 244: case 243: - case 242: return true; default: return false; @@ -8071,15 +8126,15 @@ var ts; ts.isAnyImportSyntax = isAnyImportSyntax; function isLateVisibilityPaintedStatement(node) { switch (node.kind) { + case 244: case 243: - case 242: - case 213: - case 234: - case 233: - case 238: - case 236: + case 214: case 235: + case 234: + case 239: case 237: + case 236: + case 238: return true; default: return false; @@ -8109,7 +8164,7 @@ var ts; case 9: case 8: return escapeLeadingUnderscores(name.text); - case 146: + case 147: return isStringOrNumericLiteral(name.expression) ? escapeLeadingUnderscores(name.expression.text) : undefined; default: ts.Debug.assertNever(name); @@ -8120,10 +8175,12 @@ var ts; switch (name.kind) { case 71: return getFullWidth(name) === 0 ? ts.idText(name) : getTextOfNode(name); - case 145: + case 146: return entityNameToString(name.left) + "." + entityNameToString(name.right); - case 184: + case 185: return entityNameToString(name.expression) + "." + entityNameToString(name.name); + default: + throw ts.Debug.assertNever(name); } } ts.entityNameToString = entityNameToString; @@ -8142,11 +8199,6 @@ var ts; return ts.createFileDiagnostic(sourceFile, span.start, span.length, message, arg0, arg1, arg2, arg3); } ts.createDiagnosticForNodeInSourceFile = createDiagnosticForNodeInSourceFile; - function createDiagnosticForNodeSpan(sourceFile, startNode, endNode, message, arg0, arg1, arg2, arg3) { - var start = ts.skipTrivia(sourceFile.text, startNode.pos); - return ts.createFileDiagnostic(sourceFile, start, endNode.end - start, message, arg0, arg1, arg2, arg3); - } - ts.createDiagnosticForNodeSpan = createDiagnosticForNodeSpan; function createDiagnosticForNodeFromMessageChain(node, messageChain) { var sourceFile = getSourceFileOfNode(node); var span = getErrorSpanForNode(sourceFile, node); @@ -8169,7 +8221,7 @@ var ts; ts.getSpanOfTokenAtPosition = getSpanOfTokenAtPosition; function getErrorSpanForArrowFunction(sourceFile, node) { var pos = ts.skipTrivia(sourceFile.text, node.pos); - if (node.body && node.body.kind === 212) { + if (node.body && node.body.kind === 213) { var startLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.pos).line; var endLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.end).line; if (startLine < endLine) { @@ -8181,31 +8233,31 @@ var ts; function getErrorSpanForNode(sourceFile, node) { var errorNode = node; switch (node.kind) { - case 273: + case 274: var pos_1 = ts.skipTrivia(sourceFile.text, 0, false); if (pos_1 === sourceFile.text.length) { return ts.createTextSpan(0, 0); } return getSpanOfTokenAtPosition(sourceFile, pos_1); - case 231: - case 181: - case 234: - case 204: + case 232: + case 182: case 235: - case 238: - case 237: - case 272: - case 233: - case 191: - case 153: - case 155: - case 156: + case 205: case 236: + case 239: + case 238: + case 273: + case 234: + case 192: + case 154: + case 156: + case 157: + case 237: + case 152: case 151: - case 150: errorNode = node.name; break; - case 192: + case 193: return getErrorSpanForArrowFunction(sourceFile, node); } if (errorNode === undefined) { @@ -8235,7 +8287,7 @@ var ts; } ts.isJsonSourceFile = isJsonSourceFile; function isConstEnumDeclaration(node) { - return node.kind === 237 && isConst(node); + return node.kind === 238 && isConst(node); } ts.isConstEnumDeclaration = isConstEnumDeclaration; function isConst(node) { @@ -8248,21 +8300,21 @@ var ts; } ts.isLet = isLet; function isSuperCall(n) { - return n.kind === 186 && n.expression.kind === 97; + return n.kind === 187 && n.expression.kind === 97; } ts.isSuperCall = isSuperCall; function isImportCall(n) { - return n.kind === 186 && n.expression.kind === 91; + return n.kind === 187 && n.expression.kind === 91; } ts.isImportCall = isImportCall; function isLiteralImportTypeNode(n) { - return n.kind === 178 && - n.argument.kind === 177 && + return n.kind === 179 && + n.argument.kind === 178 && ts.isStringLiteral(n.argument.literal); } ts.isLiteralImportTypeNode = isLiteralImportTypeNode; function isPrologueDirective(node) { - return node.kind === 215 + return node.kind === 216 && node.expression.kind === 9; } ts.isPrologueDirective = isPrologueDirective; @@ -8271,11 +8323,11 @@ var ts; } ts.getLeadingCommentRangesOfNode = getLeadingCommentRangesOfNode; function getJSDocCommentRanges(node, text) { - var commentRanges = (node.kind === 148 || - node.kind === 147 || - node.kind === 191 || + var commentRanges = (node.kind === 149 || + node.kind === 148 || node.kind === 192 || - node.kind === 190) ? + node.kind === 193 || + node.kind === 191) ? ts.concatenate(ts.getTrailingCommentRanges(text, node.pos), ts.getLeadingCommentRanges(text, node.pos)) : ts.getLeadingCommentRanges(text, node.pos); return ts.filter(commentRanges, function (comment) { @@ -8290,11 +8342,12 @@ var ts; ts.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*/; var defaultLibReferenceRegEx = /^(\/\/\/\s*/; function isPartOfTypeNode(node) { - if (160 <= node.kind && node.kind <= 178) { + if (161 <= node.kind && node.kind <= 179) { return true; } switch (node.kind) { case 119: + case 142: case 134: case 137: case 122: @@ -8303,63 +8356,64 @@ var ts; case 131: return true; case 105: - return node.parent.kind !== 195; - case 206: + return node.parent.kind !== 196; + case 207: return !isExpressionWithTypeArgumentsInClassExtendsClause(node); - case 147: - return node.parent.kind === 176 || node.parent.kind === 171; + case 148: + return node.parent.kind === 177 || node.parent.kind === 172; case 71: - if (node.parent.kind === 145 && node.parent.right === node) { + if (node.parent.kind === 146 && node.parent.right === node) { node = node.parent; } - else if (node.parent.kind === 184 && node.parent.name === node) { + else if (node.parent.kind === 185 && node.parent.name === node) { node = node.parent; } - ts.Debug.assert(node.kind === 71 || node.kind === 145 || node.kind === 184, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); - case 145: - case 184: - case 99: + ts.Debug.assert(node.kind === 71 || node.kind === 146 || node.kind === 185, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); + case 146: + case 185: + case 99: { var parent = node.parent; - if (parent.kind === 164) { + if (parent.kind === 165) { return false; } - if (parent.kind === 178) { + if (parent.kind === 179) { return !parent.isTypeOf; } - if (160 <= parent.kind && parent.kind <= 178) { + if (161 <= parent.kind && parent.kind <= 179) { return true; } switch (parent.kind) { - case 206: + case 207: return !isExpressionWithTypeArgumentsInClassExtendsClause(parent); - case 147: - return node === parent.constraint; - case 151: - case 150: case 148: - case 231: + return node === parent.constraint; + case 152: + case 151: + case 149: + case 232: return node === parent.type; - case 233: - case 191: + case 234: case 192: + case 193: + case 155: case 154: case 153: - case 152: - case 155: case 156: - return node === parent.type; case 157: + return node === parent.type; case 158: case 159: + case 160: return node === parent.type; - case 189: + case 190: return node === parent.type; - case 186: case 187: - return ts.contains(parent.typeArguments, node); case 188: + return ts.contains(parent.typeArguments, node); + case 189: return false; } + } } return false; } @@ -8378,23 +8432,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 224: + case 225: return visitor(node); - case 240: - case 212: - case 216: + case 241: + case 213: case 217: case 218: case 219: case 220: case 221: - case 225: + case 222: case 226: - case 265: - case 266: case 227: - case 229: - case 268: + case 266: + case 267: + case 228: + case 230: + case 269: return ts.forEachChild(node, traverse); } } @@ -8404,23 +8458,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 202: + case 203: visitor(node); var operand = node.expression; if (operand) { traverse(operand); } return; - case 237: - case 235: case 238: case 236: - case 234: - case 204: + case 239: + case 237: + case 235: + case 205: return; default: if (ts.isFunctionLike(node)) { - if (node.name && node.name.kind === 146) { + if (node.name && node.name.kind === 147) { traverse(node.name.expression); return; } @@ -8433,10 +8487,10 @@ var ts; } ts.forEachYieldExpression = forEachYieldExpression; function getRestParameterElementType(node) { - if (node && node.kind === 166) { + if (node && node.kind === 167) { return node.elementType; } - else if (node && node.kind === 161) { + else if (node && node.kind === 162) { return ts.singleOrUndefined(node.typeArguments); } else { @@ -8446,12 +8500,12 @@ var ts; ts.getRestParameterElementType = getRestParameterElementType; function getMembersOfDeclaration(node) { switch (node.kind) { + case 236: case 235: - case 234: - case 204: - case 165: + case 205: + case 166: return node.members; - case 183: + case 184: return node.properties; } } @@ -8459,14 +8513,14 @@ var ts; function isVariableLike(node) { if (node) { switch (node.kind) { - case 181: - case 272: - case 148: - case 269: - case 151: - case 150: + case 182: + case 273: + case 149: case 270: - case 231: + case 152: + case 151: + case 271: + case 232: return true; } } @@ -8478,8 +8532,8 @@ var ts; } ts.isVariableLikeOrAccessor = isVariableLikeOrAccessor; function isVariableDeclarationInVariableStatement(node) { - return node.parent.kind === 232 - && node.parent.parent.kind === 213; + return node.parent.kind === 233 + && node.parent.parent.kind === 214; } ts.isVariableDeclarationInVariableStatement = isVariableDeclarationInVariableStatement; function isValidESSymbolDeclaration(node) { @@ -8490,13 +8544,13 @@ var ts; ts.isValidESSymbolDeclaration = isValidESSymbolDeclaration; function introducesArgumentsExoticObject(node) { switch (node.kind) { - case 153: - case 152: case 154: + case 153: case 155: case 156: - case 233: - case 191: + case 157: + case 234: + case 192: return true; } return false; @@ -8507,7 +8561,7 @@ var ts; if (beforeUnwrapLabelCallback) { beforeUnwrapLabelCallback(node); } - if (node.statement.kind !== 227) { + if (node.statement.kind !== 228) { return node.statement; } node = node.statement; @@ -8515,17 +8569,17 @@ var ts; } ts.unwrapInnermostStatementOfLabel = unwrapInnermostStatementOfLabel; function isFunctionBlock(node) { - return node && node.kind === 212 && ts.isFunctionLike(node.parent); + return node && node.kind === 213 && ts.isFunctionLike(node.parent); } ts.isFunctionBlock = isFunctionBlock; function isObjectLiteralMethod(node) { - return node && node.kind === 153 && node.parent.kind === 183; + return node && node.kind === 154 && node.parent.kind === 184; } ts.isObjectLiteralMethod = isObjectLiteralMethod; function isObjectLiteralOrClassExpressionMethod(node) { - return node.kind === 153 && - (node.parent.kind === 183 || - node.parent.kind === 204); + return node.kind === 154 && + (node.parent.kind === 184 || + node.parent.kind === 205); } ts.isObjectLiteralOrClassExpressionMethod = isObjectLiteralOrClassExpressionMethod; function isIdentifierTypePredicate(predicate) { @@ -8537,31 +8591,35 @@ var ts; } ts.isThisTypePredicate = isThisTypePredicate; function getPropertyAssignment(objectLiteral, key, key2) { - return ts.filter(objectLiteral.properties, function (property) { - if (property.kind === 269) { + return objectLiteral.properties.filter(function (property) { + if (property.kind === 270) { var propName = getTextOfPropertyName(property.name); - return key === propName || (key2 && key2 === propName); + return key === propName || (!!key2 && key2 === propName); } + return false; }); } ts.getPropertyAssignment = getPropertyAssignment; function getTsConfigObjectLiteralExpression(tsConfigSourceFile) { if (tsConfigSourceFile && tsConfigSourceFile.statements.length) { var expression = tsConfigSourceFile.statements[0].expression; - return ts.isObjectLiteralExpression(expression) && expression; + return ts.tryCast(expression, ts.isObjectLiteralExpression); } } ts.getTsConfigObjectLiteralExpression = getTsConfigObjectLiteralExpression; function getTsConfigPropArrayElementValue(tsConfigSourceFile, propKey, elementValue) { - var jsonObjectLiteral = getTsConfigObjectLiteralExpression(tsConfigSourceFile); - return jsonObjectLiteral && - ts.firstDefined(getPropertyAssignment(jsonObjectLiteral, propKey), function (property) { - return ts.isArrayLiteralExpression(property.initializer) ? - ts.find(property.initializer.elements, function (element) { return ts.isStringLiteral(element) && element.text === elementValue; }) : - undefined; - }); + return ts.firstDefined(getTsConfigPropArray(tsConfigSourceFile, propKey), function (property) { + return ts.isArrayLiteralExpression(property.initializer) ? + ts.find(property.initializer.elements, function (element) { return ts.isStringLiteral(element) && element.text === elementValue; }) : + undefined; + }); } ts.getTsConfigPropArrayElementValue = getTsConfigPropArrayElementValue; + function getTsConfigPropArray(tsConfigSourceFile, propKey) { + var jsonObjectLiteral = getTsConfigObjectLiteralExpression(tsConfigSourceFile); + return jsonObjectLiteral ? getPropertyAssignment(jsonObjectLiteral, propKey) : ts.emptyArray; + } + ts.getTsConfigPropArray = getTsConfigPropArray; function getContainingFunction(node) { return ts.findAncestor(node.parent, ts.isFunctionLike); } @@ -8571,45 +8629,46 @@ var ts; } ts.getContainingClass = getContainingClass; function getThisContainer(node, includeArrowFunctions) { + ts.Debug.assert(node.kind !== 274); while (true) { node = node.parent; if (!node) { - return undefined; + return ts.Debug.fail(); } switch (node.kind) { - case 146: + case 147: if (ts.isClassLike(node.parent.parent)) { return node; } node = node.parent; break; - case 149: - if (node.parent.kind === 148 && ts.isClassElement(node.parent.parent)) { + case 150: + if (node.parent.kind === 149 && ts.isClassElement(node.parent.parent)) { node = node.parent.parent; } else if (ts.isClassElement(node.parent)) { node = node.parent; } break; - case 192: + case 193: if (!includeArrowFunctions) { continue; } - case 233: - case 191: - case 238: - case 151: - case 150: - case 153: + case 234: + case 192: + case 239: case 152: + case 151: case 154: + case 153: case 155: case 156: case 157: case 158: case 159: - case 237: - case 273: + case 160: + case 238: + case 274: return node; } } @@ -8619,9 +8678,9 @@ var ts; var container = getThisContainer(node, false); if (container) { switch (container.kind) { - case 154: - case 233: - case 191: + case 155: + case 234: + case 192: return container; } } @@ -8635,25 +8694,25 @@ var ts; return node; } switch (node.kind) { - case 146: + case 147: node = node.parent; break; - case 233: - case 191: + case 234: case 192: + case 193: if (!stopOnFunctions) { continue; } - case 151: - case 150: - case 153: case 152: + case 151: case 154: + case 153: case 155: case 156: + case 157: return node; - case 149: - if (node.parent.kind === 148 && ts.isClassElement(node.parent.parent)) { + case 150: + if (node.parent.kind === 149 && ts.isClassElement(node.parent.parent)) { node = node.parent.parent; } else if (ts.isClassElement(node.parent)) { @@ -8665,14 +8724,14 @@ var ts; } ts.getSuperContainer = getSuperContainer; function getImmediatelyInvokedFunctionExpression(func) { - if (func.kind === 191 || func.kind === 192) { + if (func.kind === 192 || func.kind === 193) { var prev = func; var parent = func.parent; - while (parent.kind === 190) { + while (parent.kind === 191) { prev = parent; parent = parent.parent; } - if (parent.kind === 186 && parent.expression === prev) { + if (parent.kind === 187 && parent.expression === prev) { return parent; } } @@ -8680,26 +8739,26 @@ var ts; ts.getImmediatelyInvokedFunctionExpression = getImmediatelyInvokedFunctionExpression; function isSuperProperty(node) { var kind = node.kind; - return (kind === 184 || kind === 185) + return (kind === 185 || kind === 186) && node.expression.kind === 97; } ts.isSuperProperty = isSuperProperty; function isThisProperty(node) { var kind = node.kind; - return (kind === 184 || kind === 185) + return (kind === 185 || kind === 186) && node.expression.kind === 99; } ts.isThisProperty = isThisProperty; function getEntityNameFromTypeNode(node) { switch (node.kind) { - case 161: + case 162: return node.typeName; - case 206: + case 207: return isEntityNameExpression(node.expression) ? node.expression : undefined; case 71: - case 145: + case 146: return node; } return undefined; @@ -8707,10 +8766,10 @@ var ts; ts.getEntityNameFromTypeNode = getEntityNameFromTypeNode; function getInvokedExpression(node) { switch (node.kind) { - case 188: + case 189: return node.tag; + case 257: case 256: - case 255: return node.tagName; default: return node.expression; @@ -8719,21 +8778,21 @@ var ts; ts.getInvokedExpression = getInvokedExpression; function nodeCanBeDecorated(node, parent, grandparent) { switch (node.kind) { - case 234: + case 235: return true; - case 151: - return parent.kind === 234; - case 155: + case 152: + return parent.kind === 235; case 156: - case 153: + case 157: + case 154: return node.body !== undefined - && parent.kind === 234; - case 148: + && parent.kind === 235; + case 149: return parent.body !== undefined - && (parent.kind === 154 - || parent.kind === 153 - || parent.kind === 156) - && grandparent.kind === 234; + && (parent.kind === 155 + || parent.kind === 154 + || parent.kind === 157) + && grandparent.kind === 235; } return false; } @@ -8749,19 +8808,21 @@ var ts; ts.nodeOrChildIsDecorated = nodeOrChildIsDecorated; function childIsDecorated(node, parent) { switch (node.kind) { - case 234: - return ts.forEach(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); - case 153: - case 156: - return ts.forEach(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); + case 235: + return ts.some(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); + case 154: + case 157: + return ts.some(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); + default: + return false; } } ts.childIsDecorated = childIsDecorated; function isJSXTagName(node) { var parent = node.parent; - if (parent.kind === 256 || - parent.kind === 255 || - parent.kind === 257) { + if (parent.kind === 257 || + parent.kind === 256 || + parent.kind === 258) { return parent.tagName === node; } return false; @@ -8774,45 +8835,45 @@ var ts; case 101: case 86: case 12: - case 182: case 183: case 184: case 185: case 186: case 187: case 188: - case 207: case 189: case 208: case 190: + case 209: case 191: - case 204: case 192: - case 195: + case 205: case 193: + case 196: case 194: - case 197: + case 195: case 198: case 199: case 200: - case 203: case 201: - case 13: - case 205: - case 254: - case 255: - case 258: + case 204: case 202: - case 196: - case 209: + case 13: + case 206: + case 255: + case 256: + case 259: + case 203: + case 197: + case 210: return true; - case 145: - while (node.parent.kind === 145) { + case 146: + while (node.parent.kind === 146) { node = node.parent; } - return node.parent.kind === 164 || isJSXTagName(node); + return node.parent.kind === 165 || isJSXTagName(node); case 71: - if (node.parent.kind === 164 || isJSXTagName(node)) { + if (node.parent.kind === 165 || isJSXTagName(node)) { return true; } case 8: @@ -8827,47 +8888,47 @@ var ts; function isInExpressionContext(node) { var parent = node.parent; switch (parent.kind) { - case 231: - case 148: + case 232: + case 149: + case 152: case 151: - case 150: - case 272: - case 269: - case 181: + case 273: + case 270: + case 182: return parent.initializer === node; - case 215: case 216: case 217: case 218: - case 224: + case 219: case 225: case 226: - case 265: - case 228: + case 227: + case 266: + case 229: return parent.expression === node; - case 219: + case 220: var forStatement = parent; - return (forStatement.initializer === node && forStatement.initializer.kind !== 232) || + return (forStatement.initializer === node && forStatement.initializer.kind !== 233) || forStatement.condition === node || forStatement.incrementor === node; - case 220: case 221: + case 222: var forInStatement = parent; - return (forInStatement.initializer === node && forInStatement.initializer.kind !== 232) || + return (forInStatement.initializer === node && forInStatement.initializer.kind !== 233) || forInStatement.expression === node; - case 189: - case 207: + case 190: + case 208: return node === parent.expression; - case 210: + case 211: return node === parent.expression; - case 146: + case 147: return node === parent.expression; - case 149: + case 150: + case 265: case 264: - case 263: - case 271: + case 272: return true; - case 206: + case 207: return parent.expression === node && isExpressionWithTypeArgumentsInClassExtendsClause(parent); default: return isExpressionNode(parent); @@ -8875,7 +8936,7 @@ var ts; } ts.isInExpressionContext = isInExpressionContext; function isExternalModuleImportEqualsDeclaration(node) { - return node.kind === 242 && node.moduleReference.kind === 253; + return node.kind === 243 && node.moduleReference.kind === 254; } ts.isExternalModuleImportEqualsDeclaration = isExternalModuleImportEqualsDeclaration; function getExternalModuleImportEqualsDeclarationExpression(node) { @@ -8884,7 +8945,7 @@ var ts; } ts.getExternalModuleImportEqualsDeclarationExpression = getExternalModuleImportEqualsDeclarationExpression; function isInternalModuleImportEqualsDeclaration(node) { - return node.kind === 242 && node.moduleReference.kind !== 253; + return node.kind === 243 && node.moduleReference.kind !== 254; } ts.isInternalModuleImportEqualsDeclaration = isInternalModuleImportEqualsDeclaration; function isSourceFileJavaScript(file) { @@ -8896,15 +8957,15 @@ var ts; } ts.isSourceFileNotJavaScript = isSourceFileNotJavaScript; function isInJavaScriptFile(node) { - return node && !!(node.flags & 65536); + return !!node && !!(node.flags & 65536); } ts.isInJavaScriptFile = isInJavaScriptFile; function isInJsonFile(node) { - return node && !!(node.flags & 16777216); + return !!node && !!(node.flags & 16777216); } ts.isInJsonFile = isInJsonFile; function isInJSDoc(node) { - return node && !!(node.flags & 2097152); + return !!node && !!(node.flags & 2097152); } ts.isInJSDoc = isInJSDoc; function isJSDocIndexSignature(node) { @@ -8916,7 +8977,7 @@ var ts; } ts.isJSDocIndexSignature = isJSDocIndexSignature; function isRequireCall(callExpression, checkArgumentIsStringLiteralLike) { - if (callExpression.kind !== 186) { + if (callExpression.kind !== 187) { return false; } var _a = callExpression, expression = _a.expression, args = _a.arguments; @@ -8938,22 +8999,48 @@ var ts; return getSourceTextOfNodeFromSourceFile(sourceFile, str).charCodeAt(0) === 34; } ts.isStringDoubleQuoted = isStringDoubleQuoted; - function getJSInitializerSymbol(symbol) { - if (!symbol || !symbol.valueDeclaration) { - return symbol; + function getDeclarationOfJSInitializer(node) { + if (!isInJavaScriptFile(node) || !node.parent) { + return undefined; } - var declaration = symbol.valueDeclaration; - var e = getDeclaredJavascriptInitializer(declaration) || getAssignedJavascriptInitializer(declaration); - return e && e.symbol ? e.symbol : symbol; - } - ts.getJSInitializerSymbol = getJSInitializerSymbol; - function getDeclaredJavascriptInitializer(node) { - if (node && ts.isVariableDeclaration(node) && node.initializer) { - return getJavascriptInitializer(node.initializer, false) || - ts.isIdentifier(node.name) && getDefaultedJavascriptInitializer(node.name, node.initializer, false); + var name; + var decl; + if (ts.isVariableDeclaration(node.parent) && node.parent.initializer === node) { + name = node.parent.name; + decl = node.parent; } + else if (ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58 && node.parent.right === node) { + name = node.parent.left; + decl = name; + } + else if (ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 54) { + if (ts.isVariableDeclaration(node.parent.parent) && node.parent.parent.initializer === node.parent) { + name = node.parent.parent.name; + decl = node.parent.parent; + } + else if (ts.isBinaryExpression(node.parent.parent) && node.parent.parent.operatorToken.kind === 58 && node.parent.parent.right === node.parent) { + name = node.parent.parent.left; + decl = name; + } + if (!name || !isEntityNameExpression(name) || !isSameEntityName(name, node.parent.left)) { + return undefined; + } + } + if (!name || !getJavascriptInitializer(node, isPrototypeAccess(name))) { + return undefined; + } + return decl; } - ts.getDeclaredJavascriptInitializer = getDeclaredJavascriptInitializer; + ts.getDeclarationOfJSInitializer = getDeclarationOfJSInitializer; + function getEffectiveInitializer(node) { + if (isInJavaScriptFile(node) && node.initializer && + ts.isBinaryExpression(node.initializer) && node.initializer.operatorToken.kind === 54 && + node.name && isEntityNameExpression(node.name) && isSameEntityName(node.name, node.initializer.left)) { + return node.initializer.right; + } + return node.initializer; + } + ts.getEffectiveInitializer = getEffectiveInitializer; function getAssignedJavascriptInitializer(node) { if (node && node.parent && ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58) { var isPrototypeAssignment = isPrototypeAccess(node.parent.left); @@ -8965,11 +9052,11 @@ var ts; function getJavascriptInitializer(initializer, isPrototypeAssignment) { if (ts.isCallExpression(initializer)) { var e = skipParentheses(initializer.expression); - return e.kind === 191 || e.kind === 192 ? initializer : undefined; + return e.kind === 192 || e.kind === 193 ? initializer : undefined; } - if (initializer.kind === 191 || - initializer.kind === 204 || - initializer.kind === 192) { + if (initializer.kind === 192 || + initializer.kind === 205 || + initializer.kind === 193) { return initializer; } if (ts.isObjectLiteralExpression(initializer) && (initializer.properties.length === 0 || isPrototypeAssignment)) { @@ -8983,6 +9070,13 @@ var ts; return e; } } + function isDefaultedJavascriptInitializer(node) { + var name = ts.isVariableDeclaration(node.parent) ? node.parent.name : + ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58 ? node.parent.left : + undefined; + return name && getJavascriptInitializer(node.right, isPrototypeAccess(name)) && isEntityNameExpression(name) && isSameEntityName(name, node.left); + } + ts.isDefaultedJavascriptInitializer = isDefaultedJavascriptInitializer; function getOuterNameOfJsInitializer(node) { if (ts.isBinaryExpression(node.parent)) { var parent = (node.parent.operatorToken.kind === 54 && ts.isBinaryExpression(node.parent.parent)) ? node.parent.parent : node.parent; @@ -9075,7 +9169,7 @@ var ts; ts.isPrototypePropertyAssignment = isPrototypePropertyAssignment; function isSpecialPropertyDeclaration(expr) { return isInJavaScriptFile(expr) && - expr.parent && expr.parent.kind === 215 && + expr.parent && expr.parent.kind === 216 && !!ts.getJSDocTypeTag(expr.parent); } ts.isSpecialPropertyDeclaration = isSpecialPropertyDeclaration; @@ -9085,14 +9179,14 @@ var ts; ts.importFromModuleSpecifier = importFromModuleSpecifier; function tryGetImportFromModuleSpecifier(node) { switch (node.parent.kind) { - case 243: - case 249: + case 244: + case 250: return node.parent; - case 253: + case 254: return node.parent.parent; - case 186: + case 187: return node.parent; - case 177: + case 178: ts.Debug.assert(ts.isStringLiteral(node)); return ts.tryCast(node.parent.parent, ts.isImportTypeNode); default: @@ -9102,12 +9196,12 @@ var ts; ts.tryGetImportFromModuleSpecifier = tryGetImportFromModuleSpecifier; function getExternalModuleName(node) { switch (node.kind) { - case 243: - case 249: + case 244: + case 250: return node.moduleSpecifier; - case 242: - return node.moduleReference.kind === 253 ? node.moduleReference.expression : undefined; - case 178: + case 243: + return node.moduleReference.kind === 254 ? node.moduleReference.expression : undefined; + case 179: return isLiteralImportTypeNode(node) ? node.argument.literal : undefined; default: return ts.Debug.assertNever(node); @@ -9116,11 +9210,11 @@ var ts; ts.getExternalModuleName = getExternalModuleName; function getNamespaceDeclarationNode(node) { switch (node.kind) { - case 243: + case 244: return node.importClause && ts.tryCast(node.importClause.namedBindings, ts.isNamespaceImport); - case 242: + case 243: return node; - case 249: + case 250: return undefined; default: return ts.Debug.assertNever(node); @@ -9128,19 +9222,19 @@ var ts; } ts.getNamespaceDeclarationNode = getNamespaceDeclarationNode; function isDefaultImport(node) { - return node.kind === 243 && node.importClause && !!node.importClause.name; + return node.kind === 244 && !!node.importClause && !!node.importClause.name; } ts.isDefaultImport = isDefaultImport; function hasQuestionToken(node) { if (node) { switch (node.kind) { - case 148: + case 149: + case 154: case 153: - case 152: + case 271: case 270: - case 269: + case 152: case 151: - case 150: return node.questionToken !== undefined; } } @@ -9148,14 +9242,14 @@ var ts; } ts.hasQuestionToken = hasQuestionToken; function isJSDocConstructSignature(node) { - return node.kind === 283 && + return node.kind === 284 && node.parameters.length > 0 && node.parameters[0].name && node.parameters[0].name.escapedText === "new"; } ts.isJSDocConstructSignature = isJSDocConstructSignature; function isJSDocTypeAlias(node) { - return node.kind === 296 || node.kind === 291; + return node.kind === 297 || node.kind === 292; } ts.isJSDocTypeAlias = isJSDocTypeAlias; function isTypeAlias(node) { @@ -9165,38 +9259,39 @@ var ts; function getSourceOfAssignment(node) { return ts.isExpressionStatement(node) && node.expression && ts.isBinaryExpression(node.expression) && - node.expression.operatorToken.kind === 58 && - node.expression.right; + node.expression.operatorToken.kind === 58 + ? node.expression.right + : undefined; } function getSourceOfDefaultedAssignment(node) { return ts.isExpressionStatement(node) && ts.isBinaryExpression(node.expression) && getSpecialPropertyAssignmentKind(node.expression) !== 0 && ts.isBinaryExpression(node.expression.right) && - node.expression.right.operatorToken.kind === 54 && - node.expression.right.right; + node.expression.right.operatorToken.kind === 54 + ? node.expression.right.right + : undefined; } function getSingleInitializerOfVariableStatementOrPropertyDeclaration(node) { switch (node.kind) { - case 213: + case 214: var v = getSingleVariableOfVariableStatement(node); return v && v.initializer; - case 151: + case 152: return node.initializer; - case 269: + case 270: return node.initializer; } } function getSingleVariableOfVariableStatement(node) { - return ts.isVariableStatement(node) && - node.declarationList.declarations.length > 0 && - node.declarationList.declarations[0]; + return ts.isVariableStatement(node) ? ts.firstOrUndefined(node.declarationList.declarations) : undefined; } function getNestedModuleDeclaration(node) { - return node.kind === 238 && + return ts.isModuleDeclaration(node) && node.body && - node.body.kind === 238 && - node.body; + node.body.kind === 239 + ? node.body + : undefined; } function getJSDocCommentsAndTags(hostNode) { var result; @@ -9206,7 +9301,7 @@ var ts; var parent = node.parent; if (!parent) return; - if (parent.kind === 269 || parent.kind === 151 || getNestedModuleDeclaration(parent)) { + if (parent.kind === 270 || parent.kind === 152 || getNestedModuleDeclaration(parent)) { getJSDocCommentsAndTagsWorker(parent); } if (parent.parent && (getSingleVariableOfVariableStatement(parent.parent) === node)) { @@ -9220,10 +9315,10 @@ var ts; } if (ts.isBinaryExpression(node) && node.operatorToken.kind === 58 || ts.isBinaryExpression(parent) && parent.operatorToken.kind === 58 || - node.kind === 184 && node.parent && node.parent.kind === 215) { + node.kind === 185 && node.parent && node.parent.kind === 216) { getJSDocCommentsAndTagsWorker(parent); } - if (node.kind === 148) { + if (node.kind === 149) { result = ts.addRange(result, ts.getJSDocParameterTags(node)); } if (isVariableLike(node) && ts.hasInitializer(node) && node.initializer !== hostNode && ts.hasJSDocNodes(node.initializer)) { @@ -9277,12 +9372,12 @@ var ts; ts.getTypeParameterFromJsDoc = getTypeParameterFromJsDoc; function hasRestParameter(s) { var last = ts.lastOrUndefined(s.parameters); - return last && isRestParameter(last); + return !!last && isRestParameter(last); } ts.hasRestParameter = hasRestParameter; function isRestParameter(node) { var type = ts.isJSDocParameterTag(node) ? (node.typeExpression && node.typeExpression.type) : node.type; - return node.dotDotDotToken !== undefined || type && type.kind === 284; + return node.dotDotDotToken !== undefined || !!type && type.kind === 285; } ts.isRestParameter = isRestParameter; var AssignmentKind; @@ -9295,31 +9390,31 @@ var ts; var parent = node.parent; while (true) { switch (parent.kind) { - case 199: + case 200: var binaryOperator = parent.operatorToken.kind; return isAssignmentOperator(binaryOperator) && parent.left === node ? binaryOperator === 58 ? 1 : 2 : 0; - case 197: case 198: + case 199: var unaryOperator = parent.operator; return unaryOperator === 43 || unaryOperator === 44 ? 2 : 0; - case 220: case 221: + case 222: return parent.initializer === node ? 1 : 0; - case 190: - case 182: - case 203: - case 208: + case 191: + case 183: + case 204: + case 209: node = parent; break; - case 270: + case 271: if (parent.name !== node) { return 0; } node = parent.parent; break; - case 269: + case 270: if (parent.name === node) { return 0; } @@ -9338,22 +9433,22 @@ var ts; ts.isAssignmentTarget = isAssignmentTarget; function isNodeWithPossibleHoistedDeclaration(node) { switch (node.kind) { - case 212: case 213: - case 225: - case 216: + case 214: case 226: - case 240: - case 265: - case 266: + case 217: case 227: - case 219: + case 241: + case 266: + case 267: + case 228: case 220: case 221: - case 217: + case 222: case 218: - case 229: - case 268: + case 219: + case 230: + case 269: return true; } return false; @@ -9370,26 +9465,26 @@ var ts; return node; } function walkUpParenthesizedTypes(node) { - return walkUp(node, 172); + return walkUp(node, 173); } ts.walkUpParenthesizedTypes = walkUpParenthesizedTypes; function walkUpParenthesizedExpressions(node) { - return walkUp(node, 190); + return walkUp(node, 191); } ts.walkUpParenthesizedExpressions = walkUpParenthesizedExpressions; function skipParentheses(node) { - while (node.kind === 190) { + while (node.kind === 191) { node = node.expression; } return node; } ts.skipParentheses = skipParentheses; function isDeleteTarget(node) { - if (node.kind !== 184 && node.kind !== 185) { + if (node.kind !== 185 && node.kind !== 186) { return false; } node = walkUpParenthesizedExpressions(node.parent); - return node && node.kind === 193; + return node && node.kind === 194; } ts.isDeleteTarget = isDeleteTarget; function isNodeDescendantOf(node, ancestor) { @@ -9409,9 +9504,10 @@ var ts; switch (name.kind) { case 71: case 9: - case 8: - if (ts.isDeclaration(name.parent)) { - return name.parent.name === name; + case 8: { + var parent = name.parent; + if (ts.isDeclaration(parent)) { + return parent.name === name; } else if (ts.isQualifiedName(name.parent)) { var tag = name.parent.parent; @@ -9421,6 +9517,7 @@ var ts; var binExp = name.parent.parent; return ts.isBinaryExpression(binExp) && getSpecialPropertyAssignmentKind(binExp) !== 0 && ts.getNameOfDeclaration(binExp) === name; } + } default: return false; } @@ -9428,49 +9525,49 @@ var ts; ts.isAnyDeclarationName = isAnyDeclarationName; function isLiteralComputedPropertyDeclarationName(node) { return (node.kind === 9 || node.kind === 8) && - node.parent.kind === 146 && + node.parent.kind === 147 && ts.isDeclaration(node.parent.parent); } ts.isLiteralComputedPropertyDeclarationName = isLiteralComputedPropertyDeclarationName; function isIdentifierName(node) { var parent = node.parent; switch (parent.kind) { - case 151: - case 150: - case 153: case 152: - case 155: + case 151: + case 154: + case 153: case 156: - case 272: - case 269: - case 184: + case 157: + case 273: + case 270: + case 185: return parent.name === node; - case 145: + case 146: if (parent.right === node) { - while (parent.kind === 145) { + while (parent.kind === 146) { parent = parent.parent; } - return parent.kind === 164 || parent.kind === 161; + return parent.kind === 165 || parent.kind === 162; } return false; - case 181: - case 247: + case 182: + case 248: return parent.propertyName === node; - case 251: - case 261: + case 252: + case 262: return true; } return false; } ts.isIdentifierName = isIdentifierName; function isAliasSymbolDeclaration(node) { - return node.kind === 242 || - node.kind === 241 || - node.kind === 244 && !!node.name || - node.kind === 245 || - node.kind === 247 || - node.kind === 251 || - node.kind === 248 && exportAssignmentIsAlias(node) || + return node.kind === 243 || + node.kind === 242 || + node.kind === 245 && !!node.name || + node.kind === 246 || + node.kind === 248 || + node.kind === 252 || + node.kind === 249 && exportAssignmentIsAlias(node) || ts.isBinaryExpression(node) && getSpecialPropertyAssignmentKind(node) === 2; } ts.isAliasSymbolDeclaration = isAliasSymbolDeclaration; @@ -9530,11 +9627,11 @@ var ts; } ts.getAncestor = getAncestor; function isKeyword(token) { - return 72 <= token && token <= 144; + return 72 <= token && token <= 145; } ts.isKeyword = isKeyword; function isContextualKeyword(token) { - return 117 <= token && token <= 144; + return 117 <= token && token <= 145; } ts.isContextualKeyword = isContextualKeyword; function isNonContextualKeyword(token) { @@ -9564,13 +9661,13 @@ var ts; } var flags = 0; switch (node.kind) { - case 233: - case 191: - case 153: + case 234: + case 192: + case 154: if (node.asteriskToken) { flags |= 1; } - case 192: + case 193: if (hasModifier(node, 256)) { flags |= 2; } @@ -9584,10 +9681,10 @@ var ts; ts.getFunctionFlags = getFunctionFlags; function isAsyncFunction(node) { switch (node.kind) { - case 233: - case 191: + case 234: case 192: - case 153: + case 193: + case 154: return node.body !== undefined && node.asteriskToken === undefined && hasModifier(node, 256); @@ -9603,11 +9700,11 @@ var ts; ts.isStringOrNumericLiteral = isStringOrNumericLiteral; function hasDynamicName(declaration) { var name = ts.getNameOfDeclaration(declaration); - return name && isDynamicName(name); + return !!name && isDynamicName(name); } ts.hasDynamicName = hasDynamicName; function isDynamicName(name) { - return name.kind === 146 && + return name.kind === 147 && !isStringOrNumericLiteral(name.expression) && !isWellKnownSymbolSyntactically(name.expression); } @@ -9623,7 +9720,7 @@ var ts; if (name.kind === 9 || name.kind === 8) { return escapeLeadingUnderscores(name.text); } - if (name.kind === 146) { + if (name.kind === 147) { var nameExpression = name.expression; if (isWellKnownSymbolSyntactically(nameExpression)) { return getPropertyNameForKnownSymbolName(ts.idText(nameExpression.name)); @@ -9673,11 +9770,11 @@ var ts; ts.isPushOrUnshiftIdentifier = isPushOrUnshiftIdentifier; function isParameterDeclaration(node) { var root = getRootDeclaration(node); - return root.kind === 148; + return root.kind === 149; } ts.isParameterDeclaration = isParameterDeclaration; function getRootDeclaration(node) { - while (node.kind === 181) { + while (node.kind === 182) { node = node.parent.parent; } return node; @@ -9685,15 +9782,15 @@ var ts; ts.getRootDeclaration = getRootDeclaration; function nodeStartsNewLexicalEnvironment(node) { var kind = node.kind; - return kind === 154 - || kind === 191 - || kind === 233 + return kind === 155 || kind === 192 - || kind === 153 - || kind === 155 + || kind === 234 + || kind === 193 + || kind === 154 || kind === 156 - || kind === 238 - || kind === 273; + || kind === 157 + || kind === 239 + || kind === 274; } ts.nodeStartsNewLexicalEnvironment = nodeStartsNewLexicalEnvironment; function nodeIsSynthesized(range) { @@ -9712,23 +9809,23 @@ var ts; })(Associativity = ts.Associativity || (ts.Associativity = {})); function getExpressionAssociativity(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 187 && expression.arguments !== undefined; + var hasArguments = expression.kind === 188 && expression.arguments !== undefined; return getOperatorAssociativity(expression.kind, operator, hasArguments); } ts.getExpressionAssociativity = getExpressionAssociativity; function getOperatorAssociativity(kind, operator, hasArguments) { switch (kind) { - case 187: + case 188: return hasArguments ? 0 : 1; - case 197: - case 194: + case 198: case 195: - case 193: case 196: - case 200: - case 202: + case 194: + case 197: + case 201: + case 203: return 1; - case 199: + case 200: switch (operator) { case 40: case 58: @@ -9752,15 +9849,15 @@ var ts; ts.getOperatorAssociativity = getOperatorAssociativity; function getExpressionPrecedence(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 187 && expression.arguments !== undefined; + var hasArguments = expression.kind === 188 && expression.arguments !== undefined; return getOperatorPrecedence(expression.kind, operator, hasArguments); } ts.getExpressionPrecedence = getExpressionPrecedence; function getOperator(expression) { - if (expression.kind === 199) { + if (expression.kind === 200) { return expression.operatorToken.kind; } - else if (expression.kind === 197 || expression.kind === 198) { + else if (expression.kind === 198 || expression.kind === 199) { return expression.operator; } else { @@ -9770,15 +9867,15 @@ var ts; ts.getOperator = getOperator; function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) { switch (nodeKind) { - case 301: + case 302: return 0; - case 203: + case 204: return 1; - case 202: + case 203: return 2; - case 200: + case 201: return 4; - case 199: + case 200: switch (operatorKind) { case 26: return 0; @@ -9799,21 +9896,21 @@ var ts; default: return getBinaryOperatorPrecedence(operatorKind); } - case 197: - case 194: - case 195: - case 193: - case 196: - return 16; case 198: + case 195: + case 196: + case 194: + case 197: + return 16; + case 199: return 17; - case 186: - return 18; case 187: - return hasArguments ? 19 : 18; + return 18; case 188: - case 184: + return hasArguments ? 19 : 18; + case 189: case 185: + case 186: return 19; case 99: case 97: @@ -9823,19 +9920,19 @@ var ts; case 86: case 8: case 9: - case 182: case 183: - case 191: + case 184: case 192: - case 204: - case 254: + case 193: + case 205: case 255: - case 258: + case 256: + case 259: case 12: case 13: - case 201: - case 190: - case 205: + case 202: + case 191: + case 206: return 20; default: return -1; @@ -10035,7 +10132,7 @@ var ts; var lineStartsOfS = ts.computeLineStarts(s); if (lineStartsOfS.length > 1) { lineCount = lineCount + lineStartsOfS.length - 1; - linePos = output.length - s.length + ts.lastOrUndefined(lineStartsOfS); + linePos = output.length - s.length + ts.last(lineStartsOfS); } } } @@ -10194,7 +10291,7 @@ var ts; } ts.parameterIsThisKeyword = parameterIsThisKeyword; function isThisIdentifier(node) { - return node && node.kind === 71 && identifierIsThisKeyword(node); + return !!node && node.kind === 71 && identifierIsThisKeyword(node); } ts.isThisIdentifier = isThisIdentifier; function identifierIsThisKeyword(id) { @@ -10208,10 +10305,10 @@ var ts; var setAccessor; if (hasDynamicName(accessor)) { firstAccessor = accessor; - if (accessor.kind === 155) { + if (accessor.kind === 156) { getAccessor = accessor; } - else if (accessor.kind === 156) { + else if (accessor.kind === 157) { setAccessor = accessor; } else { @@ -10220,7 +10317,7 @@ var ts; } else { ts.forEach(declarations, function (member) { - if ((member.kind === 155 || member.kind === 156) + if ((member.kind === 156 || member.kind === 157) && hasModifier(member, 32) === hasModifier(accessor, 32)) { var memberName = getPropertyNameForPropertyNameNode(member.name); var accessorName = getPropertyNameForPropertyNameNode(accessor.name); @@ -10231,10 +10328,10 @@ var ts; else if (!secondAccessor) { secondAccessor = member; } - if (member.kind === 155 && !getAccessor) { + if (member.kind === 156 && !getAccessor) { getAccessor = member; } - if (member.kind === 156 && !setAccessor) { + if (member.kind === 157 && !setAccessor) { setAccessor = member; } } @@ -10269,24 +10366,19 @@ var ts; return ts.emptyArray; } if (isJSDocTypeAlias(node)) { - ts.Debug.assert(node.parent.kind === 285); - var templateTags = ts.flatMap(ts.filter(node.parent.tags, ts.isJSDocTemplateTag), function (tag) { return tag.typeParameters; }); - var templateTagNodes = templateTags; - templateTagNodes.pos = templateTagNodes.length > 0 ? ts.first(templateTagNodes).pos : node.pos; - templateTagNodes.end = templateTagNodes.length > 0 ? ts.last(templateTagNodes).end : node.end; - templateTagNodes.hasTrailingComma = false; - return templateTagNodes; + ts.Debug.assert(node.parent.kind === 286); + return ts.flatMap(node.parent.tags, function (tag) { return ts.isJSDocTemplateTag(tag) ? tag.typeParameters : undefined; }); } return node.typeParameters || (isInJavaScriptFile(node) ? getJSDocTypeParameterDeclarations(node) : ts.emptyArray); } ts.getEffectiveTypeParameterDeclarations = getEffectiveTypeParameterDeclarations; function getJSDocTypeParameterDeclarations(node) { - var tag = ts.find(ts.getJSDocTags(node), function (tag) { - return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 285 && tag.parent.tags.some(isJSDocTypeAlias)); - }); - return (tag && tag.typeParameters) || ts.emptyArray; + return ts.flatMap(ts.getJSDocTags(node), function (tag) { return isNonTypeAliasTemplate(tag) ? tag.typeParameters : undefined; }); } ts.getJSDocTypeParameterDeclarations = getJSDocTypeParameterDeclarations; + function isNonTypeAliasTemplate(tag) { + return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 286 && tag.parent.tags.some(isJSDocTypeAlias)); + } function getEffectiveSetAccessorTypeAnnotationNode(node) { var parameter = getSetAccessorValueParameter(node); return parameter && getEffectiveTypeAnnotationNode(parameter); @@ -10363,12 +10455,12 @@ var ts; lastComment = comment; } if (detachedComments.length) { - var lastCommentLine = getLineOfLocalPositionFromLineMap(lineMap, ts.lastOrUndefined(detachedComments).end); + var lastCommentLine = getLineOfLocalPositionFromLineMap(lineMap, ts.last(detachedComments).end); var nodeLine = getLineOfLocalPositionFromLineMap(lineMap, ts.skipTrivia(text, node.pos)); if (nodeLine >= lastCommentLine + 2) { emitNewLineBeforeLeadingComments(lineMap, writer, node, leadingComments); emitComments(text, lineMap, writer, detachedComments, false, true, newLine, writeComment); - currentDetachedCommentInfo = { nodePos: node.pos, detachedCommentEndPos: ts.lastOrUndefined(detachedComments).end }; + currentDetachedCommentInfo = { nodePos: node.pos, detachedCommentEndPos: ts.last(detachedComments).end }; } } } @@ -10511,7 +10603,7 @@ var ts; } ts.isAssignmentOperator = isAssignmentOperator; function tryGetClassExtendingExpressionWithTypeArguments(node) { - if (node.kind === 206 && + if (ts.isExpressionWithTypeArguments(node) && node.parent.token === 85 && ts.isClassLike(node.parent.parent)) { return node.parent.parent; @@ -10529,8 +10621,8 @@ var ts; function isDestructuringAssignment(node) { if (isAssignmentExpression(node, true)) { var kind = node.left.kind; - return kind === 183 - || kind === 182; + return kind === 184 + || kind === 183; } return false; } @@ -10540,7 +10632,7 @@ var ts; } ts.isExpressionWithTypeArgumentsInClassExtendsClause = isExpressionWithTypeArgumentsInClassExtendsClause; function isExpressionWithTypeArgumentsInClassImplementsClause(node) { - return node.kind === 206 + return node.kind === 207 && isEntityNameExpression(node.expression) && node.parent && node.parent.token === 108 @@ -10561,17 +10653,17 @@ var ts; } ts.isPrototypeAccess = isPrototypeAccess; function isRightSideOfQualifiedNameOrPropertyAccess(node) { - return (node.parent.kind === 145 && node.parent.right === node) || - (node.parent.kind === 184 && node.parent.name === node); + return (node.parent.kind === 146 && node.parent.right === node) || + (node.parent.kind === 185 && node.parent.name === node); } ts.isRightSideOfQualifiedNameOrPropertyAccess = isRightSideOfQualifiedNameOrPropertyAccess; function isEmptyObjectLiteral(expression) { - return expression.kind === 183 && + return expression.kind === 184 && expression.properties.length === 0; } ts.isEmptyObjectLiteral = isEmptyObjectLiteral; function isEmptyArrayLiteral(expression) { - return expression.kind === 182 && + return expression.kind === 183 && expression.elements.length === 0; } ts.isEmptyArrayLiteral = isEmptyArrayLiteral; @@ -10668,14 +10760,14 @@ var ts; return output; } function base64encode(host, input) { - if (host.base64encode) { + if (host && host.base64encode) { return host.base64encode(input); } return convertToBase64(input); } ts.base64encode = base64encode; function base64decode(host, input) { - if (host.base64decode) { + if (host && host.base64decode) { return host.base64decode(input); } var length = input.length; @@ -10851,8 +10943,8 @@ var ts; var parseNode = ts.getParseTreeNode(node); if (parseNode) { switch (parseNode.parent.kind) { - case 237: case 238: + case 239: return parseNode === parseNode.parent.name; } } @@ -10920,20 +11012,20 @@ var ts; if (!parent) return 0; switch (parent.kind) { + case 199: case 198: - case 197: var operator = parent.operator; return operator === 43 || operator === 44 ? writeOrReadWrite() : 0; - case 199: + case 200: var _a = parent, left = _a.left, operatorToken = _a.operatorToken; return left === node && isAssignmentOperator(operatorToken.kind) ? writeOrReadWrite() : 0; - case 184: + case 185: return parent.name !== node ? 0 : accessKind(parent); default: return 0; } function writeOrReadWrite() { - return parent.parent && parent.parent.kind === 215 ? 1 : 2; + return parent.parent && parent.parent.kind === 216 ? 1 : 2; } } function compareDataObjects(dst, src) { @@ -11010,7 +11102,7 @@ var ts; } ts.getClassLikeDeclarationOfSymbol = getClassLikeDeclarationOfSymbol; function getObjectFlags(type) { - return type.flags & 65536 ? type.objectFlags : 0; + return type.flags & 131072 ? type.objectFlags : 0; } ts.getObjectFlags = getObjectFlags; function typeHasCallOrConstructSignatures(type, checker) { @@ -11189,9 +11281,9 @@ var ts; } ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions; function getTypeParameterOwner(d) { - if (d && d.kind === 147) { + if (d && d.kind === 148) { for (var current = d; current; current = current.parent) { - if (ts.isFunctionLike(current) || ts.isClassLike(current) || current.kind === 235) { + if (ts.isFunctionLike(current) || ts.isClassLike(current) || current.kind === 236) { return current; } } @@ -11199,7 +11291,7 @@ var ts; } ts.getTypeParameterOwner = getTypeParameterOwner; function isParameterPropertyDeclaration(node) { - return ts.hasModifier(node, 92) && node.parent.kind === 154; + return ts.hasModifier(node, 92) && node.parent.kind === 155; } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; function isEmptyBindingPattern(node) { @@ -11217,7 +11309,7 @@ var ts; } ts.isEmptyBindingElement = isEmptyBindingElement; function walkUpBindingElementsAndPatterns(node) { - while (node && (node.kind === 181 || ts.isBindingPattern(node))) { + while (node && (node.kind === 182 || ts.isBindingPattern(node))) { node = node.parent; } return node; @@ -11225,14 +11317,14 @@ var ts; function getCombinedModifierFlags(node) { node = walkUpBindingElementsAndPatterns(node); var flags = ts.getModifierFlags(node); - if (node.kind === 231) { + if (node.kind === 232) { node = node.parent; } - if (node && node.kind === 232) { + if (node && node.kind === 233) { flags |= ts.getModifierFlags(node); node = node.parent; } - if (node && node.kind === 213) { + if (node && node.kind === 214) { flags |= ts.getModifierFlags(node); } return flags; @@ -11241,14 +11333,14 @@ var ts; function getCombinedNodeFlags(node) { node = walkUpBindingElementsAndPatterns(node); var flags = node.flags; - if (node.kind === 231) { + if (node.kind === 232) { node = node.parent; } - if (node && node.kind === 232) { + if (node && node.kind === 233) { flags |= node.flags; node = node.parent; } - if (node && node.kind === 213) { + if (node && node.kind === 214) { flags |= node.flags; } return flags; @@ -11292,7 +11384,7 @@ var ts; try { ts.localizedDiagnosticMessages = JSON.parse(fileContents); } - catch (e) { + catch (_a) { if (errors) { errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Corrupted_locale_file_0, filePath)); } @@ -11352,17 +11444,17 @@ var ts; return getDeclarationIdentifier(hostNode); } switch (hostNode.kind) { - case 213: + case 214: if (hostNode.declarationList && hostNode.declarationList.declarations[0]) { return getDeclarationIdentifier(hostNode.declarationList.declarations[0]); } return undefined; - case 215: + case 216: var expr = hostNode.expression; switch (expr.kind) { - case 184: - return expr.name; case 185: + return expr.name; + case 186: var arg = expr.argumentExpression; if (ts.isIdentifier(arg)) { return arg; @@ -11371,10 +11463,10 @@ var ts; return undefined; case 1: return undefined; - case 190: { + case 191: { return getDeclarationIdentifier(hostNode.expression); } - case 227: { + case 228: { if (ts.isDeclaration(hostNode.statement) || ts.isExpression(hostNode.statement)) { return getDeclarationIdentifier(hostNode.statement); } @@ -11401,23 +11493,23 @@ var ts; return undefined; } switch (declaration.kind) { - case 204: - case 191: + case 205: + case 192: if (!declaration.name) { return getAssignedName(declaration); } break; case 71: return declaration; - case 297: - case 292: { + case 298: + case 293: { var name = declaration.name; - if (name.kind === 145) { + if (name.kind === 146) { return name.right; } break; } - case 199: { + case 200: { var expr = declaration; switch (ts.getSpecialPropertyAssignmentKind(expr)) { case 1: @@ -11429,11 +11521,11 @@ var ts; return undefined; } } - case 291: + case 292: return declaration.name; - case 296: + case 297: return getNameOfJSDocTypedef(declaration); - case 248: { + case 249: { var expression = declaration.expression; return ts.isIdentifier(expression) ? expression : undefined; } @@ -11572,628 +11664,628 @@ var ts; } ts.isIdentifier = isIdentifier; function isQualifiedName(node) { - return node.kind === 145; + return node.kind === 146; } ts.isQualifiedName = isQualifiedName; function isComputedPropertyName(node) { - return node.kind === 146; + return node.kind === 147; } ts.isComputedPropertyName = isComputedPropertyName; function isTypeParameterDeclaration(node) { - return node.kind === 147; + return node.kind === 148; } ts.isTypeParameterDeclaration = isTypeParameterDeclaration; function isParameter(node) { - return node.kind === 148; + return node.kind === 149; } ts.isParameter = isParameter; function isDecorator(node) { - return node.kind === 149; + return node.kind === 150; } ts.isDecorator = isDecorator; function isPropertySignature(node) { - return node.kind === 150; + return node.kind === 151; } ts.isPropertySignature = isPropertySignature; function isPropertyDeclaration(node) { - return node.kind === 151; + return node.kind === 152; } ts.isPropertyDeclaration = isPropertyDeclaration; function isMethodSignature(node) { - return node.kind === 152; + return node.kind === 153; } ts.isMethodSignature = isMethodSignature; function isMethodDeclaration(node) { - return node.kind === 153; + return node.kind === 154; } ts.isMethodDeclaration = isMethodDeclaration; function isConstructorDeclaration(node) { - return node.kind === 154; + return node.kind === 155; } ts.isConstructorDeclaration = isConstructorDeclaration; function isGetAccessorDeclaration(node) { - return node.kind === 155; + return node.kind === 156; } ts.isGetAccessorDeclaration = isGetAccessorDeclaration; function isSetAccessorDeclaration(node) { - return node.kind === 156; + return node.kind === 157; } ts.isSetAccessorDeclaration = isSetAccessorDeclaration; function isCallSignatureDeclaration(node) { - return node.kind === 157; + return node.kind === 158; } ts.isCallSignatureDeclaration = isCallSignatureDeclaration; function isConstructSignatureDeclaration(node) { - return node.kind === 158; + return node.kind === 159; } ts.isConstructSignatureDeclaration = isConstructSignatureDeclaration; function isIndexSignatureDeclaration(node) { - return node.kind === 159; + return node.kind === 160; } ts.isIndexSignatureDeclaration = isIndexSignatureDeclaration; function isGetOrSetAccessorDeclaration(node) { - return node.kind === 156 || node.kind === 155; + return node.kind === 157 || node.kind === 156; } ts.isGetOrSetAccessorDeclaration = isGetOrSetAccessorDeclaration; function isTypePredicateNode(node) { - return node.kind === 160; + return node.kind === 161; } ts.isTypePredicateNode = isTypePredicateNode; function isTypeReferenceNode(node) { - return node.kind === 161; + return node.kind === 162; } ts.isTypeReferenceNode = isTypeReferenceNode; function isFunctionTypeNode(node) { - return node.kind === 162; + return node.kind === 163; } ts.isFunctionTypeNode = isFunctionTypeNode; function isConstructorTypeNode(node) { - return node.kind === 163; + return node.kind === 164; } ts.isConstructorTypeNode = isConstructorTypeNode; function isTypeQueryNode(node) { - return node.kind === 164; + return node.kind === 165; } ts.isTypeQueryNode = isTypeQueryNode; function isTypeLiteralNode(node) { - return node.kind === 165; + return node.kind === 166; } ts.isTypeLiteralNode = isTypeLiteralNode; function isArrayTypeNode(node) { - return node.kind === 166; + return node.kind === 167; } ts.isArrayTypeNode = isArrayTypeNode; function isTupleTypeNode(node) { - return node.kind === 167; + return node.kind === 168; } ts.isTupleTypeNode = isTupleTypeNode; function isUnionTypeNode(node) { - return node.kind === 168; + return node.kind === 169; } ts.isUnionTypeNode = isUnionTypeNode; function isIntersectionTypeNode(node) { - return node.kind === 169; + return node.kind === 170; } ts.isIntersectionTypeNode = isIntersectionTypeNode; function isConditionalTypeNode(node) { - return node.kind === 170; + return node.kind === 171; } ts.isConditionalTypeNode = isConditionalTypeNode; function isInferTypeNode(node) { - return node.kind === 171; + return node.kind === 172; } ts.isInferTypeNode = isInferTypeNode; function isParenthesizedTypeNode(node) { - return node.kind === 172; + return node.kind === 173; } ts.isParenthesizedTypeNode = isParenthesizedTypeNode; function isThisTypeNode(node) { - return node.kind === 173; + return node.kind === 174; } ts.isThisTypeNode = isThisTypeNode; function isTypeOperatorNode(node) { - return node.kind === 174; + return node.kind === 175; } ts.isTypeOperatorNode = isTypeOperatorNode; function isIndexedAccessTypeNode(node) { - return node.kind === 175; + return node.kind === 176; } ts.isIndexedAccessTypeNode = isIndexedAccessTypeNode; function isMappedTypeNode(node) { - return node.kind === 176; + return node.kind === 177; } ts.isMappedTypeNode = isMappedTypeNode; function isLiteralTypeNode(node) { - return node.kind === 177; + return node.kind === 178; } ts.isLiteralTypeNode = isLiteralTypeNode; function isImportTypeNode(node) { - return node.kind === 178; + return node.kind === 179; } ts.isImportTypeNode = isImportTypeNode; function isObjectBindingPattern(node) { - return node.kind === 179; + return node.kind === 180; } ts.isObjectBindingPattern = isObjectBindingPattern; function isArrayBindingPattern(node) { - return node.kind === 180; + return node.kind === 181; } ts.isArrayBindingPattern = isArrayBindingPattern; function isBindingElement(node) { - return node.kind === 181; + return node.kind === 182; } ts.isBindingElement = isBindingElement; function isArrayLiteralExpression(node) { - return node.kind === 182; + return node.kind === 183; } ts.isArrayLiteralExpression = isArrayLiteralExpression; function isObjectLiteralExpression(node) { - return node.kind === 183; + return node.kind === 184; } ts.isObjectLiteralExpression = isObjectLiteralExpression; function isPropertyAccessExpression(node) { - return node.kind === 184; + return node.kind === 185; } ts.isPropertyAccessExpression = isPropertyAccessExpression; function isElementAccessExpression(node) { - return node.kind === 185; + return node.kind === 186; } ts.isElementAccessExpression = isElementAccessExpression; function isCallExpression(node) { - return node.kind === 186; + return node.kind === 187; } ts.isCallExpression = isCallExpression; function isNewExpression(node) { - return node.kind === 187; + return node.kind === 188; } ts.isNewExpression = isNewExpression; function isTaggedTemplateExpression(node) { - return node.kind === 188; + return node.kind === 189; } ts.isTaggedTemplateExpression = isTaggedTemplateExpression; function isTypeAssertion(node) { - return node.kind === 189; + return node.kind === 190; } ts.isTypeAssertion = isTypeAssertion; function isParenthesizedExpression(node) { - return node.kind === 190; + return node.kind === 191; } ts.isParenthesizedExpression = isParenthesizedExpression; function skipPartiallyEmittedExpressions(node) { - while (node.kind === 300) { + while (node.kind === 301) { node = node.expression; } return node; } ts.skipPartiallyEmittedExpressions = skipPartiallyEmittedExpressions; function isFunctionExpression(node) { - return node.kind === 191; + return node.kind === 192; } ts.isFunctionExpression = isFunctionExpression; function isArrowFunction(node) { - return node.kind === 192; + return node.kind === 193; } ts.isArrowFunction = isArrowFunction; function isDeleteExpression(node) { - return node.kind === 193; + return node.kind === 194; } ts.isDeleteExpression = isDeleteExpression; function isTypeOfExpression(node) { - return node.kind === 194; + return node.kind === 195; } ts.isTypeOfExpression = isTypeOfExpression; function isVoidExpression(node) { - return node.kind === 195; + return node.kind === 196; } ts.isVoidExpression = isVoidExpression; function isAwaitExpression(node) { - return node.kind === 196; + return node.kind === 197; } ts.isAwaitExpression = isAwaitExpression; function isPrefixUnaryExpression(node) { - return node.kind === 197; + return node.kind === 198; } ts.isPrefixUnaryExpression = isPrefixUnaryExpression; function isPostfixUnaryExpression(node) { - return node.kind === 198; + return node.kind === 199; } ts.isPostfixUnaryExpression = isPostfixUnaryExpression; function isBinaryExpression(node) { - return node.kind === 199; + return node.kind === 200; } ts.isBinaryExpression = isBinaryExpression; function isConditionalExpression(node) { - return node.kind === 200; + return node.kind === 201; } ts.isConditionalExpression = isConditionalExpression; function isTemplateExpression(node) { - return node.kind === 201; + return node.kind === 202; } ts.isTemplateExpression = isTemplateExpression; function isYieldExpression(node) { - return node.kind === 202; + return node.kind === 203; } ts.isYieldExpression = isYieldExpression; function isSpreadElement(node) { - return node.kind === 203; + return node.kind === 204; } ts.isSpreadElement = isSpreadElement; function isClassExpression(node) { - return node.kind === 204; + return node.kind === 205; } ts.isClassExpression = isClassExpression; function isOmittedExpression(node) { - return node.kind === 205; + return node.kind === 206; } ts.isOmittedExpression = isOmittedExpression; function isExpressionWithTypeArguments(node) { - return node.kind === 206; + return node.kind === 207; } ts.isExpressionWithTypeArguments = isExpressionWithTypeArguments; function isAsExpression(node) { - return node.kind === 207; + return node.kind === 208; } ts.isAsExpression = isAsExpression; function isNonNullExpression(node) { - return node.kind === 208; + return node.kind === 209; } ts.isNonNullExpression = isNonNullExpression; function isMetaProperty(node) { - return node.kind === 209; + return node.kind === 210; } ts.isMetaProperty = isMetaProperty; function isTemplateSpan(node) { - return node.kind === 210; + return node.kind === 211; } ts.isTemplateSpan = isTemplateSpan; function isSemicolonClassElement(node) { - return node.kind === 211; + return node.kind === 212; } ts.isSemicolonClassElement = isSemicolonClassElement; function isBlock(node) { - return node.kind === 212; + return node.kind === 213; } ts.isBlock = isBlock; function isVariableStatement(node) { - return node.kind === 213; + return node.kind === 214; } ts.isVariableStatement = isVariableStatement; function isEmptyStatement(node) { - return node.kind === 214; + return node.kind === 215; } ts.isEmptyStatement = isEmptyStatement; function isExpressionStatement(node) { - return node.kind === 215; + return node.kind === 216; } ts.isExpressionStatement = isExpressionStatement; function isIfStatement(node) { - return node.kind === 216; + return node.kind === 217; } ts.isIfStatement = isIfStatement; function isDoStatement(node) { - return node.kind === 217; + return node.kind === 218; } ts.isDoStatement = isDoStatement; function isWhileStatement(node) { - return node.kind === 218; + return node.kind === 219; } ts.isWhileStatement = isWhileStatement; function isForStatement(node) { - return node.kind === 219; + return node.kind === 220; } ts.isForStatement = isForStatement; function isForInStatement(node) { - return node.kind === 220; + return node.kind === 221; } ts.isForInStatement = isForInStatement; function isForOfStatement(node) { - return node.kind === 221; + return node.kind === 222; } ts.isForOfStatement = isForOfStatement; function isContinueStatement(node) { - return node.kind === 222; + return node.kind === 223; } ts.isContinueStatement = isContinueStatement; function isBreakStatement(node) { - return node.kind === 223; + return node.kind === 224; } ts.isBreakStatement = isBreakStatement; function isBreakOrContinueStatement(node) { - return node.kind === 223 || node.kind === 222; + return node.kind === 224 || node.kind === 223; } ts.isBreakOrContinueStatement = isBreakOrContinueStatement; function isReturnStatement(node) { - return node.kind === 224; + return node.kind === 225; } ts.isReturnStatement = isReturnStatement; function isWithStatement(node) { - return node.kind === 225; + return node.kind === 226; } ts.isWithStatement = isWithStatement; function isSwitchStatement(node) { - return node.kind === 226; + return node.kind === 227; } ts.isSwitchStatement = isSwitchStatement; function isLabeledStatement(node) { - return node.kind === 227; + return node.kind === 228; } ts.isLabeledStatement = isLabeledStatement; function isThrowStatement(node) { - return node.kind === 228; + return node.kind === 229; } ts.isThrowStatement = isThrowStatement; function isTryStatement(node) { - return node.kind === 229; + return node.kind === 230; } ts.isTryStatement = isTryStatement; function isDebuggerStatement(node) { - return node.kind === 230; + return node.kind === 231; } ts.isDebuggerStatement = isDebuggerStatement; function isVariableDeclaration(node) { - return node.kind === 231; + return node.kind === 232; } ts.isVariableDeclaration = isVariableDeclaration; function isVariableDeclarationList(node) { - return node.kind === 232; + return node.kind === 233; } ts.isVariableDeclarationList = isVariableDeclarationList; function isFunctionDeclaration(node) { - return node.kind === 233; + return node.kind === 234; } ts.isFunctionDeclaration = isFunctionDeclaration; function isClassDeclaration(node) { - return node.kind === 234; + return node.kind === 235; } ts.isClassDeclaration = isClassDeclaration; function isInterfaceDeclaration(node) { - return node.kind === 235; + return node.kind === 236; } ts.isInterfaceDeclaration = isInterfaceDeclaration; function isTypeAliasDeclaration(node) { - return node.kind === 236; + return node.kind === 237; } ts.isTypeAliasDeclaration = isTypeAliasDeclaration; function isEnumDeclaration(node) { - return node.kind === 237; + return node.kind === 238; } ts.isEnumDeclaration = isEnumDeclaration; function isModuleDeclaration(node) { - return node.kind === 238; + return node.kind === 239; } ts.isModuleDeclaration = isModuleDeclaration; function isModuleBlock(node) { - return node.kind === 239; + return node.kind === 240; } ts.isModuleBlock = isModuleBlock; function isCaseBlock(node) { - return node.kind === 240; + return node.kind === 241; } ts.isCaseBlock = isCaseBlock; function isNamespaceExportDeclaration(node) { - return node.kind === 241; + return node.kind === 242; } ts.isNamespaceExportDeclaration = isNamespaceExportDeclaration; function isImportEqualsDeclaration(node) { - return node.kind === 242; + return node.kind === 243; } ts.isImportEqualsDeclaration = isImportEqualsDeclaration; function isImportDeclaration(node) { - return node.kind === 243; + return node.kind === 244; } ts.isImportDeclaration = isImportDeclaration; function isImportClause(node) { - return node.kind === 244; + return node.kind === 245; } ts.isImportClause = isImportClause; function isNamespaceImport(node) { - return node.kind === 245; + return node.kind === 246; } ts.isNamespaceImport = isNamespaceImport; function isNamedImports(node) { - return node.kind === 246; + return node.kind === 247; } ts.isNamedImports = isNamedImports; function isImportSpecifier(node) { - return node.kind === 247; + return node.kind === 248; } ts.isImportSpecifier = isImportSpecifier; function isExportAssignment(node) { - return node.kind === 248; + return node.kind === 249; } ts.isExportAssignment = isExportAssignment; function isExportDeclaration(node) { - return node.kind === 249; + return node.kind === 250; } ts.isExportDeclaration = isExportDeclaration; function isNamedExports(node) { - return node.kind === 250; + return node.kind === 251; } ts.isNamedExports = isNamedExports; function isExportSpecifier(node) { - return node.kind === 251; + return node.kind === 252; } ts.isExportSpecifier = isExportSpecifier; function isMissingDeclaration(node) { - return node.kind === 252; + return node.kind === 253; } ts.isMissingDeclaration = isMissingDeclaration; function isExternalModuleReference(node) { - return node.kind === 253; + return node.kind === 254; } ts.isExternalModuleReference = isExternalModuleReference; function isJsxElement(node) { - return node.kind === 254; + return node.kind === 255; } ts.isJsxElement = isJsxElement; function isJsxSelfClosingElement(node) { - return node.kind === 255; + return node.kind === 256; } ts.isJsxSelfClosingElement = isJsxSelfClosingElement; function isJsxOpeningElement(node) { - return node.kind === 256; + return node.kind === 257; } ts.isJsxOpeningElement = isJsxOpeningElement; function isJsxClosingElement(node) { - return node.kind === 257; + return node.kind === 258; } ts.isJsxClosingElement = isJsxClosingElement; function isJsxFragment(node) { - return node.kind === 258; + return node.kind === 259; } ts.isJsxFragment = isJsxFragment; function isJsxOpeningFragment(node) { - return node.kind === 259; + return node.kind === 260; } ts.isJsxOpeningFragment = isJsxOpeningFragment; function isJsxClosingFragment(node) { - return node.kind === 260; + return node.kind === 261; } ts.isJsxClosingFragment = isJsxClosingFragment; function isJsxAttribute(node) { - return node.kind === 261; + return node.kind === 262; } ts.isJsxAttribute = isJsxAttribute; function isJsxAttributes(node) { - return node.kind === 262; + return node.kind === 263; } ts.isJsxAttributes = isJsxAttributes; function isJsxSpreadAttribute(node) { - return node.kind === 263; + return node.kind === 264; } ts.isJsxSpreadAttribute = isJsxSpreadAttribute; function isJsxExpression(node) { - return node.kind === 264; + return node.kind === 265; } ts.isJsxExpression = isJsxExpression; function isCaseClause(node) { - return node.kind === 265; + return node.kind === 266; } ts.isCaseClause = isCaseClause; function isDefaultClause(node) { - return node.kind === 266; + return node.kind === 267; } ts.isDefaultClause = isDefaultClause; function isHeritageClause(node) { - return node.kind === 267; + return node.kind === 268; } ts.isHeritageClause = isHeritageClause; function isCatchClause(node) { - return node.kind === 268; + return node.kind === 269; } ts.isCatchClause = isCatchClause; function isPropertyAssignment(node) { - return node.kind === 269; + return node.kind === 270; } ts.isPropertyAssignment = isPropertyAssignment; function isShorthandPropertyAssignment(node) { - return node.kind === 270; + return node.kind === 271; } ts.isShorthandPropertyAssignment = isShorthandPropertyAssignment; function isSpreadAssignment(node) { - return node.kind === 271; + return node.kind === 272; } ts.isSpreadAssignment = isSpreadAssignment; function isEnumMember(node) { - return node.kind === 272; + return node.kind === 273; } ts.isEnumMember = isEnumMember; function isSourceFile(node) { - return node.kind === 273; + return node.kind === 274; } ts.isSourceFile = isSourceFile; function isBundle(node) { - return node.kind === 274; + return node.kind === 275; } ts.isBundle = isBundle; function isJSDocTypeExpression(node) { - return node.kind === 277; + return node.kind === 278; } ts.isJSDocTypeExpression = isJSDocTypeExpression; function isJSDocAllType(node) { - return node.kind === 278; + return node.kind === 279; } ts.isJSDocAllType = isJSDocAllType; function isJSDocUnknownType(node) { - return node.kind === 279; + return node.kind === 280; } ts.isJSDocUnknownType = isJSDocUnknownType; function isJSDocNullableType(node) { - return node.kind === 280; + return node.kind === 281; } ts.isJSDocNullableType = isJSDocNullableType; function isJSDocNonNullableType(node) { - return node.kind === 281; + return node.kind === 282; } ts.isJSDocNonNullableType = isJSDocNonNullableType; function isJSDocOptionalType(node) { - return node.kind === 282; + return node.kind === 283; } ts.isJSDocOptionalType = isJSDocOptionalType; function isJSDocFunctionType(node) { - return node.kind === 283; + return node.kind === 284; } ts.isJSDocFunctionType = isJSDocFunctionType; function isJSDocVariadicType(node) { - return node.kind === 284; + return node.kind === 285; } ts.isJSDocVariadicType = isJSDocVariadicType; function isJSDoc(node) { - return node.kind === 285; + return node.kind === 286; } ts.isJSDoc = isJSDoc; function isJSDocAugmentsTag(node) { - return node.kind === 289; + return node.kind === 290; } ts.isJSDocAugmentsTag = isJSDocAugmentsTag; function isJSDocClassTag(node) { - return node.kind === 290; + return node.kind === 291; } ts.isJSDocClassTag = isJSDocClassTag; function isJSDocParameterTag(node) { - return node.kind === 292; + return node.kind === 293; } ts.isJSDocParameterTag = isJSDocParameterTag; function isJSDocReturnTag(node) { - return node.kind === 293; + return node.kind === 294; } ts.isJSDocReturnTag = isJSDocReturnTag; function isJSDocTypeTag(node) { - return node.kind === 294; + return node.kind === 295; } ts.isJSDocTypeTag = isJSDocTypeTag; function isJSDocTemplateTag(node) { - return node.kind === 295; + return node.kind === 296; } ts.isJSDocTemplateTag = isJSDocTemplateTag; function isJSDocTypedefTag(node) { - return node.kind === 296; + return node.kind === 297; } ts.isJSDocTypedefTag = isJSDocTypedefTag; function isJSDocPropertyTag(node) { - return node.kind === 297; + return node.kind === 298; } ts.isJSDocPropertyTag = isJSDocPropertyTag; function isJSDocPropertyLikeTag(node) { - return node.kind === 297 || node.kind === 292; + return node.kind === 298 || node.kind === 293; } ts.isJSDocPropertyLikeTag = isJSDocPropertyLikeTag; function isJSDocTypeLiteral(node) { - return node.kind === 286; + return node.kind === 287; } ts.isJSDocTypeLiteral = isJSDocTypeLiteral; function isJSDocCallbackTag(node) { - return node.kind === 291; + return node.kind === 292; } ts.isJSDocCallbackTag = isJSDocCallbackTag; function isJSDocSignature(node) { - return node.kind === 287; + return node.kind === 288; } ts.isJSDocSignature = isJSDocSignature; })(ts || (ts = {})); (function (ts) { function isSyntaxList(n) { - return n.kind === 298; + return n.kind === 299; } ts.isSyntaxList = isSyntaxList; function isNode(node) { @@ -12201,11 +12293,11 @@ var ts; } ts.isNode = isNode; function isNodeKind(kind) { - return kind >= 145; + return kind >= 146; } ts.isNodeKind = isNodeKind; function isToken(n) { - return n.kind >= 0 && n.kind <= 144; + return n.kind >= 0 && n.kind <= 145; } ts.isToken = isToken; function isNodeArray(array) { @@ -12224,6 +12316,10 @@ var ts; return 13 <= kind && kind <= 16; } ts.isTemplateLiteralKind = isTemplateLiteralKind; + function isTemplateLiteralToken(node) { + return isTemplateLiteralKind(node.kind); + } + ts.isTemplateLiteralToken = isTemplateLiteralToken; function isTemplateMiddleOrTemplateTail(node) { var kind = node.kind; return kind === 15 @@ -12270,7 +12366,7 @@ var ts; ts.isModifier = isModifier; function isEntityName(node) { var kind = node.kind; - return kind === 145 + return kind === 146 || kind === 71; } ts.isEntityName = isEntityName; @@ -12279,14 +12375,14 @@ var ts; return kind === 71 || kind === 9 || kind === 8 - || kind === 146; + || kind === 147; } ts.isPropertyName = isPropertyName; function isBindingName(node) { var kind = node.kind; return kind === 71 - || kind === 179 - || kind === 180; + || kind === 180 + || kind === 181; } ts.isBindingName = isBindingName; function isFunctionLike(node) { @@ -12299,13 +12395,13 @@ var ts; ts.isFunctionLikeDeclaration = isFunctionLikeDeclaration; function isFunctionLikeDeclarationKind(kind) { switch (kind) { - case 233: - case 153: + case 234: case 154: case 155: case 156: - case 191: + case 157: case 192: + case 193: return true; default: return false; @@ -12313,14 +12409,14 @@ var ts; } function isFunctionLikeKind(kind) { switch (kind) { - case 152: - case 157: - case 287: + case 153: case 158: + case 288: case 159: - case 162: - case 283: + case 160: case 163: + case 284: + case 164: return true; default: return isFunctionLikeDeclarationKind(kind); @@ -12333,28 +12429,28 @@ var ts; ts.isFunctionOrModuleBlock = isFunctionOrModuleBlock; function isClassElement(node) { var kind = node.kind; - return kind === 154 - || kind === 151 - || kind === 153 - || kind === 155 + return kind === 155 + || kind === 152 + || kind === 154 || kind === 156 - || kind === 159 - || kind === 211; + || kind === 157 + || kind === 160 + || kind === 212; } ts.isClassElement = isClassElement; function isClassLike(node) { - return node && (node.kind === 234 || node.kind === 204); + return node && (node.kind === 235 || node.kind === 205); } ts.isClassLike = isClassLike; function isAccessor(node) { - return node && (node.kind === 155 || node.kind === 156); + return node && (node.kind === 156 || node.kind === 157); } ts.isAccessor = isAccessor; function isMethodOrAccessor(node) { switch (node.kind) { - case 153: - case 155: + case 154: case 156: + case 157: return true; default: return false; @@ -12363,11 +12459,11 @@ var ts; ts.isMethodOrAccessor = isMethodOrAccessor; function isTypeElement(node) { var kind = node.kind; - return kind === 158 - || kind === 157 - || kind === 150 - || kind === 152 - || kind === 159; + return kind === 159 + || kind === 158 + || kind === 151 + || kind === 153 + || kind === 160; } ts.isTypeElement = isTypeElement; function isClassOrTypeElement(node) { @@ -12376,17 +12472,18 @@ var ts; ts.isClassOrTypeElement = isClassOrTypeElement; function isObjectLiteralElementLike(node) { var kind = node.kind; - return kind === 269 - || kind === 270 + return kind === 270 || kind === 271 - || kind === 153 - || kind === 155 - || kind === 156; + || kind === 272 + || kind === 154 + || kind === 156 + || kind === 157; } ts.isObjectLiteralElementLike = isObjectLiteralElementLike; function isTypeNodeKind(kind) { - return (kind >= 160 && kind <= 178) + return (kind >= 161 && kind <= 179) || kind === 119 + || kind === 142 || kind === 134 || kind === 135 || kind === 122 @@ -12397,14 +12494,14 @@ var ts; || kind === 140 || kind === 95 || kind === 131 - || kind === 206 - || kind === 278 + || kind === 207 || kind === 279 || kind === 280 || kind === 281 || kind === 282 || kind === 283 - || kind === 284; + || kind === 284 + || kind === 285; } function isTypeNode(node) { return isTypeNodeKind(node.kind); @@ -12412,8 +12509,8 @@ var ts; ts.isTypeNode = isTypeNode; function isFunctionOrConstructorTypeNode(node) { switch (node.kind) { - case 162: case 163: + case 164: return true; } return false; @@ -12422,29 +12519,29 @@ var ts; function isBindingPattern(node) { if (node) { var kind = node.kind; - return kind === 180 - || kind === 179; + return kind === 181 + || kind === 180; } return false; } ts.isBindingPattern = isBindingPattern; function isAssignmentPattern(node) { var kind = node.kind; - return kind === 182 - || kind === 183; + return kind === 183 + || kind === 184; } ts.isAssignmentPattern = isAssignmentPattern; function isArrayBindingElement(node) { var kind = node.kind; - return kind === 181 - || kind === 205; + return kind === 182 + || kind === 206; } ts.isArrayBindingElement = isArrayBindingElement; function isDeclarationBindingElement(bindingElement) { switch (bindingElement.kind) { - case 231: - case 148: - case 181: + case 232: + case 149: + case 182: return true; } return false; @@ -12457,8 +12554,8 @@ var ts; ts.isBindingOrAssignmentPattern = isBindingOrAssignmentPattern; function isObjectBindingOrAssignmentPattern(node) { switch (node.kind) { - case 179: - case 183: + case 180: + case 184: return true; } return false; @@ -12466,8 +12563,8 @@ var ts; ts.isObjectBindingOrAssignmentPattern = isObjectBindingOrAssignmentPattern; function isArrayBindingOrAssignmentPattern(node) { switch (node.kind) { - case 180: - case 182: + case 181: + case 183: return true; } return false; @@ -12475,25 +12572,25 @@ var ts; ts.isArrayBindingOrAssignmentPattern = isArrayBindingOrAssignmentPattern; function isPropertyAccessOrQualifiedNameOrImportTypeNode(node) { var kind = node.kind; - return kind === 184 - || kind === 145 - || kind === 178; + return kind === 185 + || kind === 146 + || kind === 179; } ts.isPropertyAccessOrQualifiedNameOrImportTypeNode = isPropertyAccessOrQualifiedNameOrImportTypeNode; function isPropertyAccessOrQualifiedName(node) { var kind = node.kind; - return kind === 184 - || kind === 145; + return kind === 185 + || kind === 146; } ts.isPropertyAccessOrQualifiedName = isPropertyAccessOrQualifiedName; function isCallLikeExpression(node) { switch (node.kind) { + case 257: case 256: - case 255: - case 186: case 187: case 188: - case 149: + case 189: + case 150: return true; default: return false; @@ -12501,12 +12598,12 @@ var ts; } ts.isCallLikeExpression = isCallLikeExpression; function isCallOrNewExpression(node) { - return node.kind === 186 || node.kind === 187; + return node.kind === 187 || node.kind === 188; } ts.isCallOrNewExpression = isCallOrNewExpression; function isTemplateLiteral(node) { var kind = node.kind; - return kind === 201 + return kind === 202 || kind === 13; } ts.isTemplateLiteral = isTemplateLiteral; @@ -12516,32 +12613,32 @@ var ts; ts.isLeftHandSideExpression = isLeftHandSideExpression; function isLeftHandSideExpressionKind(kind) { switch (kind) { - case 184: case 185: - case 187: case 186: - case 254: - case 255: - case 258: case 188: - case 182: - case 190: + case 187: + case 255: + case 256: + case 259: + case 189: case 183: - case 204: case 191: + case 184: + case 205: + case 192: case 71: case 12: case 8: case 9: case 13: - case 201: + case 202: case 86: case 95: case 99: case 101: case 97: - case 208: case 209: + case 210: case 91: return true; default: @@ -12554,13 +12651,13 @@ var ts; ts.isUnaryExpression = isUnaryExpression; function isUnaryExpressionKind(kind) { switch (kind) { - case 197: case 198: - case 193: + case 199: case 194: case 195: case 196: - case 189: + case 197: + case 190: return true; default: return isLeftHandSideExpressionKind(kind); @@ -12568,9 +12665,9 @@ var ts; } function isUnaryExpressionWithWrite(expr) { switch (expr.kind) { - case 198: + case 199: return true; - case 197: + case 198: return expr.operator === 43 || expr.operator === 44; default: @@ -12584,15 +12681,15 @@ var ts; ts.isExpression = isExpression; function isExpressionKind(kind) { switch (kind) { - case 200: - case 202: - case 192: - case 199: + case 201: case 203: - case 207: - case 205: + case 193: + case 200: + case 204: + case 208: + case 206: + case 302: case 301: - case 300: return true; default: return isUnaryExpressionKind(kind); @@ -12600,16 +12697,16 @@ var ts; } function isAssertionExpression(node) { var kind = node.kind; - return kind === 189 - || kind === 207; + return kind === 190 + || kind === 208; } ts.isAssertionExpression = isAssertionExpression; function isPartiallyEmittedExpression(node) { - return node.kind === 300; + return node.kind === 301; } ts.isPartiallyEmittedExpression = isPartiallyEmittedExpression; function isNotEmittedStatement(node) { - return node.kind === 299; + return node.kind === 300; } ts.isNotEmittedStatement = isNotEmittedStatement; function isNotEmittedOrPartiallyEmittedNode(node) { @@ -12619,20 +12716,20 @@ var ts; ts.isNotEmittedOrPartiallyEmittedNode = isNotEmittedOrPartiallyEmittedNode; function isIterationStatement(node, lookInLabeledStatements) { switch (node.kind) { - case 219: case 220: case 221: - case 217: + case 222: case 218: + case 219: return true; - case 227: + case 228: return lookInLabeledStatements && isIterationStatement(node.statement, lookInLabeledStatements); } return false; } ts.isIterationStatement = isIterationStatement; function isForInOrOfStatement(node) { - return node.kind === 220 || node.kind === 221; + return node.kind === 221 || node.kind === 222; } ts.isForInOrOfStatement = isForInOrOfStatement; function isConciseBody(node) { @@ -12651,108 +12748,108 @@ var ts; ts.isForInitializer = isForInitializer; function isModuleBody(node) { var kind = node.kind; - return kind === 239 - || kind === 238 + return kind === 240 + || kind === 239 || kind === 71; } ts.isModuleBody = isModuleBody; function isNamespaceBody(node) { var kind = node.kind; - return kind === 239 - || kind === 238; + return kind === 240 + || kind === 239; } ts.isNamespaceBody = isNamespaceBody; function isJSDocNamespaceBody(node) { var kind = node.kind; return kind === 71 - || kind === 238; + || kind === 239; } ts.isJSDocNamespaceBody = isJSDocNamespaceBody; function isNamedImportBindings(node) { var kind = node.kind; - return kind === 246 - || kind === 245; + return kind === 247 + || kind === 246; } ts.isNamedImportBindings = isNamedImportBindings; function isModuleOrEnumDeclaration(node) { - return node.kind === 238 || node.kind === 237; + return node.kind === 239 || node.kind === 238; } ts.isModuleOrEnumDeclaration = isModuleOrEnumDeclaration; function isDeclarationKind(kind) { - return kind === 192 - || kind === 181 - || kind === 234 - || kind === 204 - || kind === 154 - || kind === 237 - || kind === 272 - || kind === 251 - || kind === 233 - || kind === 191 - || kind === 155 - || kind === 244 - || kind === 242 - || kind === 247 + return kind === 193 + || kind === 182 || kind === 235 - || kind === 261 - || kind === 153 - || kind === 152 + || kind === 205 + || kind === 155 || kind === 238 - || kind === 241 - || kind === 245 - || kind === 148 - || kind === 269 - || kind === 151 - || kind === 150 - || kind === 156 - || kind === 270 - || kind === 236 - || kind === 147 - || kind === 231 - || kind === 296 - || kind === 291 - || kind === 297; - } - function isDeclarationStatementKind(kind) { - return kind === 233 + || kind === 273 || kind === 252 || kind === 234 + || kind === 192 + || kind === 156 + || kind === 245 + || kind === 243 + || kind === 248 + || kind === 236 + || kind === 262 + || kind === 154 + || kind === 153 + || kind === 239 + || kind === 242 + || kind === 246 + || kind === 149 + || kind === 270 + || kind === 152 + || kind === 151 + || kind === 157 + || kind === 271 + || kind === 237 + || kind === 148 + || kind === 232 + || kind === 297 + || kind === 292 + || kind === 298; + } + function isDeclarationStatementKind(kind) { + return kind === 234 + || kind === 253 || kind === 235 || kind === 236 || kind === 237 || kind === 238 + || kind === 239 + || kind === 244 || kind === 243 - || kind === 242 + || kind === 250 || kind === 249 - || kind === 248 - || kind === 241; + || kind === 242; } function isStatementKindButNotDeclarationKind(kind) { - return kind === 223 - || kind === 222 - || kind === 230 - || kind === 217 - || kind === 215 - || kind === 214 - || kind === 220 - || kind === 221 - || kind === 219 - || kind === 216 - || kind === 227 - || kind === 224 - || kind === 226 - || kind === 228 - || kind === 229 - || kind === 213 + return kind === 224 + || kind === 223 + || kind === 231 || kind === 218 + || kind === 216 + || kind === 215 + || kind === 221 + || kind === 222 + || kind === 220 + || kind === 217 + || kind === 228 || kind === 225 - || kind === 299 - || kind === 303 - || kind === 302; + || kind === 227 + || kind === 229 + || kind === 230 + || kind === 214 + || kind === 219 + || kind === 226 + || kind === 300 + || kind === 304 + || kind === 303; } function isDeclaration(node) { - if (node.kind === 147) { - return node.parent.kind !== 295 || ts.isInJavaScriptFile(node); + if (node.kind === 148) { + return node.parent.kind !== 296 || ts.isInJavaScriptFile(node); } return isDeclarationKind(node.kind); } @@ -12773,10 +12870,10 @@ var ts; } ts.isStatement = isStatement; function isBlockStatement(node) { - if (node.kind !== 212) + if (node.kind !== 213) return false; if (node.parent !== undefined) { - if (node.parent.kind === 229 || node.parent.kind === 268) { + if (node.parent.kind === 230 || node.parent.kind === 269) { return false; } } @@ -12784,8 +12881,8 @@ var ts; } function isModuleReference(node) { var kind = node.kind; - return kind === 253 - || kind === 145 + return kind === 254 + || kind === 146 || kind === 71; } ts.isModuleReference = isModuleReference; @@ -12793,64 +12890,65 @@ var ts; var kind = node.kind; return kind === 99 || kind === 71 - || kind === 184; + || kind === 185; } ts.isJsxTagNameExpression = isJsxTagNameExpression; function isJsxChild(node) { var kind = node.kind; - return kind === 254 - || kind === 264 - || kind === 255 + return kind === 255 + || kind === 265 + || kind === 256 || kind === 10 - || kind === 258; + || kind === 259; } ts.isJsxChild = isJsxChild; function isJsxAttributeLike(node) { var kind = node.kind; - return kind === 261 - || kind === 263; + return kind === 262 + || kind === 264; } ts.isJsxAttributeLike = isJsxAttributeLike; function isStringLiteralOrJsxExpression(node) { var kind = node.kind; return kind === 9 - || kind === 264; + || kind === 265; } ts.isStringLiteralOrJsxExpression = isStringLiteralOrJsxExpression; function isJsxOpeningLikeElement(node) { var kind = node.kind; - return kind === 256 - || kind === 255; + return kind === 257 + || kind === 256; } ts.isJsxOpeningLikeElement = isJsxOpeningLikeElement; function isCaseOrDefaultClause(node) { var kind = node.kind; - return kind === 265 - || kind === 266; + return kind === 266 + || kind === 267; } ts.isCaseOrDefaultClause = isCaseOrDefaultClause; function isJSDocNode(node) { - return node.kind >= 277 && node.kind <= 297; + return node.kind >= 278 && node.kind <= 298; } ts.isJSDocNode = isJSDocNode; function isJSDocCommentContainingNode(node) { - return node.kind === 285 || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) || ts.isJSDocSignature(node); + return node.kind === 286 || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) || ts.isJSDocSignature(node); } ts.isJSDocCommentContainingNode = isJSDocCommentContainingNode; function isJSDocTag(node) { - return node.kind >= 288 && node.kind <= 297; + return node.kind >= 289 && node.kind <= 298; } ts.isJSDocTag = isJSDocTag; function isSetAccessor(node) { - return node.kind === 156; + return node.kind === 157; } ts.isSetAccessor = isSetAccessor; function isGetAccessor(node) { - return node.kind === 155; + return node.kind === 156; } ts.isGetAccessor = isGetAccessor; function hasJSDocNodes(node) { - return !!node.jsDoc && node.jsDoc.length > 0; + var jsDoc = node.jsDoc; + return !!jsDoc && jsDoc.length > 0; } ts.hasJSDocNodes = hasJSDocNodes; function hasType(node) { @@ -12859,8 +12957,7 @@ var ts; ts.hasType = hasType; function couldHaveType(node) { switch (node.kind) { - case 148: - case 150: + case 149: case 151: case 152: case 153: @@ -12871,24 +12968,25 @@ var ts; case 158: case 159: case 160: - case 162: + case 161: case 163: - case 172: - case 174: - case 176: - case 189: - case 191: + case 164: + case 173: + case 175: + case 177: + case 190: case 192: - case 207: - case 231: - case 233: - case 236: - case 277: - case 280: + case 193: + case 208: + case 232: + case 234: + case 237: + case 278: case 281: case 282: case 283: case 284: + case 285: return true; } return false; @@ -12904,13 +13002,13 @@ var ts; ts.hasOnlyExpressionInitializer = hasOnlyExpressionInitializer; function isObjectLiteralElement(node) { switch (node.kind) { - case 261: - case 263: - case 269: + case 262: + case 264: case 270: - case 153: - case 155: + case 271: + case 154: case 156: + case 157: return true; default: return false; @@ -12918,7 +13016,7 @@ var ts; } ts.isObjectLiteralElement = isObjectLiteralElement; function isTypeReferenceType(node) { - return node.kind === 161 || node.kind === 206; + return node.kind === 162 || node.kind === 207; } ts.isTypeReferenceType = isTypeReferenceType; var MAX_SMI_X86 = 1073741823; @@ -12950,7 +13048,7 @@ var ts; } ts.isStringLiteralLike = isStringLiteralLike; function isNamedImportsOrExports(node) { - return node.kind === 246 || node.kind === 250; + return node.kind === 247 || node.kind === 251; } ts.isNamedImportsOrExports = isNamedImportsOrExports; })(ts || (ts = {})); @@ -12971,7 +13069,7 @@ var ts; var IdentifierConstructor; var SourceFileConstructor; function createNode(kind, pos, end) { - if (kind === 273) { + if (kind === 274) { return new (SourceFileConstructor || (SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor()))(kind, pos, end); } else if (kind === 71) { @@ -13009,28 +13107,28 @@ var ts; } ts.isJSDocLikeText = isJSDocLikeText; function forEachChild(node, cbNode, cbNodes) { - if (!node || node.kind <= 144) { + if (!node || node.kind <= 145) { return; } switch (node.kind) { - case 145: + case 146: return visitNode(cbNode, node.left) || visitNode(cbNode, node.right); - case 147: + case 148: return visitNode(cbNode, node.name) || visitNode(cbNode, node.constraint) || visitNode(cbNode, node.default) || visitNode(cbNode, node.expression); - case 270: + case 271: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.equalsToken) || visitNode(cbNode, node.objectAssignmentInitializer); - case 271: + case 272: return visitNode(cbNode, node.expression); - case 148: + case 149: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || @@ -13038,59 +13136,59 @@ var ts; visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); + case 152: + return visitNodes(cbNode, cbNodes, node.decorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.exclamationToken) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.initializer); case 151: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 150: - return visitNodes(cbNode, cbNodes, node.decorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.initializer); - case 269: + case 270: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.initializer); - case 231: + case 232: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 181: + case 182: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 162: case 163: - case 157: + case 164: case 158: case 159: + case 160: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 153: - case 152: case 154: + case 153: case 155: case 156: - case 191: - case 233: + case 157: case 192: + case 234: + case 193: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.asteriskToken) || @@ -13101,187 +13199,180 @@ var ts; visitNode(cbNode, node.type) || visitNode(cbNode, node.equalsGreaterThanToken) || visitNode(cbNode, node.body); - case 161: + case 162: return visitNode(cbNode, node.typeName) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 160: + case 161: return visitNode(cbNode, node.parameterName) || visitNode(cbNode, node.type); - case 164: - return visitNode(cbNode, node.exprName); case 165: - return visitNodes(cbNode, cbNodes, node.members); + return visitNode(cbNode, node.exprName); case 166: - return visitNode(cbNode, node.elementType); + return visitNodes(cbNode, cbNodes, node.members); case 167: - return visitNodes(cbNode, cbNodes, node.elementTypes); + return visitNode(cbNode, node.elementType); case 168: + return visitNodes(cbNode, cbNodes, node.elementTypes); case 169: - return visitNodes(cbNode, cbNodes, node.types); case 170: + return visitNodes(cbNode, cbNodes, node.types); + case 171: return visitNode(cbNode, node.checkType) || visitNode(cbNode, node.extendsType) || visitNode(cbNode, node.trueType) || visitNode(cbNode, node.falseType); - case 171: + case 172: return visitNode(cbNode, node.typeParameter); - case 178: + case 179: return visitNode(cbNode, node.argument) || visitNode(cbNode, node.qualifier) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 172: - case 174: - return visitNode(cbNode, node.type); + case 173: case 175: + return visitNode(cbNode, node.type); + case 176: return visitNode(cbNode, node.objectType) || visitNode(cbNode, node.indexType); - case 176: + case 177: return visitNode(cbNode, node.readonlyToken) || visitNode(cbNode, node.typeParameter) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type); - case 177: + case 178: return visitNode(cbNode, node.literal); - case 179: case 180: - return visitNodes(cbNode, cbNodes, node.elements); - case 182: + case 181: return visitNodes(cbNode, cbNodes, node.elements); case 183: - return visitNodes(cbNode, cbNodes, node.properties); + return visitNodes(cbNode, cbNodes, node.elements); case 184: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.name); + return visitNodes(cbNode, cbNodes, node.properties); case 185: return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.argumentExpression); + visitNode(cbNode, node.name); case 186: + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.argumentExpression); case 187: + case 188: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNodes(cbNode, cbNodes, node.arguments); - case 188: + case 189: return visitNode(cbNode, node.tag) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.template); - case 189: + case 190: return visitNode(cbNode, node.type) || visitNode(cbNode, node.expression); - case 190: - return visitNode(cbNode, node.expression); - case 193: + case 191: return visitNode(cbNode, node.expression); case 194: return visitNode(cbNode, node.expression); case 195: return visitNode(cbNode, node.expression); - case 197: - return visitNode(cbNode, node.operand); - case 202: - return visitNode(cbNode, node.asteriskToken) || - visitNode(cbNode, node.expression); case 196: return visitNode(cbNode, node.expression); case 198: return visitNode(cbNode, node.operand); + case 203: + return visitNode(cbNode, node.asteriskToken) || + visitNode(cbNode, node.expression); + case 197: + return visitNode(cbNode, node.expression); case 199: + return visitNode(cbNode, node.operand); + case 200: return visitNode(cbNode, node.left) || visitNode(cbNode, node.operatorToken) || visitNode(cbNode, node.right); - case 207: + case 208: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.type); - case 208: - return visitNode(cbNode, node.expression); case 209: + return visitNode(cbNode, node.expression); + case 210: return visitNode(cbNode, node.name); - case 200: + case 201: return visitNode(cbNode, node.condition) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.whenTrue) || visitNode(cbNode, node.colonToken) || visitNode(cbNode, node.whenFalse); - case 203: + case 204: return visitNode(cbNode, node.expression); - case 212: - case 239: + case 213: + case 240: return visitNodes(cbNode, cbNodes, node.statements); - case 273: + case 274: return visitNodes(cbNode, cbNodes, node.statements) || visitNode(cbNode, node.endOfFileToken); - case 213: + case 214: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.declarationList); - case 232: + case 233: return visitNodes(cbNode, cbNodes, node.declarations); - case 215: - return visitNode(cbNode, node.expression); case 216: + return visitNode(cbNode, node.expression); + case 217: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.thenStatement) || visitNode(cbNode, node.elseStatement); - case 217: + case 218: return visitNode(cbNode, node.statement) || visitNode(cbNode, node.expression); - case 218: + case 219: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 219: + case 220: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.condition) || visitNode(cbNode, node.incrementor) || visitNode(cbNode, node.statement); - case 220: + case 221: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 221: + case 222: return visitNode(cbNode, node.awaitModifier) || visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 222: case 223: - return visitNode(cbNode, node.label); case 224: - return visitNode(cbNode, node.expression); + return visitNode(cbNode, node.label); case 225: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.statement); + return visitNode(cbNode, node.expression); case 226: + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.statement); + case 227: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.caseBlock); - case 240: + case 241: return visitNodes(cbNode, cbNodes, node.clauses); - case 265: + case 266: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.statements); - case 266: + case 267: return visitNodes(cbNode, cbNodes, node.statements); - case 227: + case 228: return visitNode(cbNode, node.label) || visitNode(cbNode, node.statement); - case 228: - return visitNode(cbNode, node.expression); case 229: + return visitNode(cbNode, node.expression); + case 230: return visitNode(cbNode, node.tryBlock) || visitNode(cbNode, node.catchClause) || visitNode(cbNode, node.finallyBlock); - case 268: + case 269: return visitNode(cbNode, node.variableDeclaration) || visitNode(cbNode, node.block); - case 149: + case 150: return visitNode(cbNode, node.expression); - case 234: - case 204: - return visitNodes(cbNode, cbNodes, node.decorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.heritageClauses) || - visitNodes(cbNode, cbNodes, node.members); case 235: + case 205: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || @@ -13293,112 +13384,119 @@ var ts; visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNode(cbNode, node.type); + visitNodes(cbNode, cbNodes, node.heritageClauses) || + visitNodes(cbNode, cbNodes, node.members); case 237: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.members); - case 272: - return visitNode(cbNode, node.name) || - visitNode(cbNode, node.initializer); + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNode(cbNode, node.type); case 238: + return visitNodes(cbNode, cbNodes, node.decorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.members); + case 273: + return visitNode(cbNode, node.name) || + visitNode(cbNode, node.initializer); + case 239: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.body); - case 242: + case 243: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.moduleReference); - case 243: + case 244: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.importClause) || visitNode(cbNode, node.moduleSpecifier); - case 244: + case 245: return visitNode(cbNode, node.name) || visitNode(cbNode, node.namedBindings); - case 241: - return visitNode(cbNode, node.name); - case 245: + case 242: return visitNode(cbNode, node.name); case 246: - case 250: + return visitNode(cbNode, node.name); + case 247: + case 251: return visitNodes(cbNode, cbNodes, node.elements); - case 249: + case 250: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.exportClause) || visitNode(cbNode, node.moduleSpecifier); - case 247: - case 251: + case 248: + case 252: return visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name); - case 248: + case 249: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.expression); - case 201: + case 202: return visitNode(cbNode, node.head) || visitNodes(cbNode, cbNodes, node.templateSpans); - case 210: + case 211: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.literal); - case 146: + case 147: return visitNode(cbNode, node.expression); - case 267: + case 268: return visitNodes(cbNode, cbNodes, node.types); - case 206: + case 207: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 253: - return visitNode(cbNode, node.expression); - case 252: - return visitNodes(cbNode, cbNodes, node.decorators); - case 301: - return visitNodes(cbNode, cbNodes, node.elements); case 254: + return visitNode(cbNode, node.expression); + case 253: + return visitNodes(cbNode, cbNodes, node.decorators); + case 302: + return visitNodes(cbNode, cbNodes, node.elements); + case 255: return visitNode(cbNode, node.openingElement) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingElement); - case 258: + case 259: return visitNode(cbNode, node.openingFragment) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingFragment); - case 255: case 256: + case 257: return visitNode(cbNode, node.tagName) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.attributes); - case 262: + case 263: return visitNodes(cbNode, cbNodes, node.properties); - case 261: + case 262: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 263: - return visitNode(cbNode, node.expression); case 264: + return visitNode(cbNode, node.expression); + case 265: return visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.expression); - case 257: + case 258: return visitNode(cbNode, node.tagName); - case 277: - return visitNode(cbNode, node.type); - case 281: - return visitNode(cbNode, node.type); - case 280: + case 278: return visitNode(cbNode, node.type); case 282: return visitNode(cbNode, node.type); + case 281: + return visitNode(cbNode, node.type); case 283: + return visitNode(cbNode, node.type); + case 284: return visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 284: - return visitNode(cbNode, node.type); case 285: + return visitNode(cbNode, node.type); + case 286: return visitNodes(cbNode, cbNodes, node.tags); - case 292: - case 297: + case 293: + case 298: if (node.isNameFirst) { return visitNode(cbNode, node.name) || visitNode(cbNode, node.typeExpression); @@ -13407,17 +13505,17 @@ var ts; return visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.name); } - case 293: - return visitNode(cbNode, node.typeExpression); case 294: return visitNode(cbNode, node.typeExpression); - case 289: - return visitNode(cbNode, node.class); case 295: - return visitNodes(cbNode, cbNodes, node.typeParameters); + return visitNode(cbNode, node.typeExpression); + case 290: + return visitNode(cbNode, node.class); case 296: + return visitNodes(cbNode, cbNodes, node.typeParameters); + case 297: if (node.typeExpression && - node.typeExpression.kind === 277) { + node.typeExpression.kind === 278) { return visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.fullName); } @@ -13425,16 +13523,16 @@ var ts; return visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression); } - case 291: + case 292: return visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression); - case 287: + case 288: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 286: + case 287: if (node.jsDocPropertyTags) { for (var _i = 0, _a = node.jsDocPropertyTags; _i < _a.length; _i++) { var tag = _a[_i]; @@ -13442,7 +13540,7 @@ var ts; } } return; - case 300: + case 301: return visitNode(cbNode, node.expression); } } @@ -13475,6 +13573,7 @@ var ts; } ts.isExternalModule = isExternalModule; function updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks) { + if (aggressiveChecks === void 0) { aggressiveChecks = false; } var newSourceFile = IncrementalParser.updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks); newSourceFile.flags |= (sourceFile.flags & 1572864); return newSourceFile; @@ -13512,6 +13611,7 @@ var ts; var contextFlags; var parseErrorBeforeNextFinishedNode = false; function parseSourceFile(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes, scriptKind) { + if (setParentNodes === void 0) { setParentNodes = false; } scriptKind = ts.ensureScriptKind(fileName, scriptKind); if (scriptKind === 6) { var result_1 = parseJsonText(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes); @@ -13539,6 +13639,7 @@ var ts; if (languageVersion === void 0) { languageVersion = 2; } initializeState(sourceText, languageVersion, syntaxCursor, 6); sourceFile = createSourceFile(fileName, 2, 6, false); + sourceFile.flags = contextFlags; nextToken(); var pos = getNodePos(); if (token() === 1) { @@ -13546,7 +13647,7 @@ var ts; sourceFile.endOfFileToken = parseTokenNode(); } else { - var statement = createNode(215); + var statement = createNode(216); switch (token()) { case 21: statement.expression = parseArrayLiteralExpression(); @@ -13689,10 +13790,11 @@ var ts; } Parser.fixupParentReferences = fixupParentReferences; function createSourceFile(fileName, languageVersion, scriptKind, isDeclarationFile) { - var sourceFile = new SourceFileConstructor(273, 0, sourceText.length); + var sourceFile = new SourceFileConstructor(274, 0, sourceText.length); nodeCount++; sourceFile.text = sourceText; sourceFile.bindDiagnostics = []; + sourceFile.bindSuggestionDiagnostics = undefined; sourceFile.languageVersion = languageVersion; sourceFile.fileName = ts.normalizePath(fileName); sourceFile.languageVariant = getLanguageVariant(scriptKind); @@ -14006,7 +14108,7 @@ var ts; return parsePropertyNameWorker(true); } function parseComputedPropertyName() { - var node = createNode(146); + var node = createNode(147); parseExpected(21); node.expression = allowInAnd(parseExpression); parseExpected(22); @@ -14120,7 +14222,7 @@ var ts; case 14: return true; } - ts.Debug.fail("Non-exhaustive case in 'isListElement'."); + return ts.Debug.fail("Non-exhaustive case in 'isListElement'."); } function isValidHeritageClauseObjectLiteral() { ts.Debug.assert(token() === 17); @@ -14196,6 +14298,8 @@ var ts; return token() === 29 || token() === 41; case 14: return token() === 27 && lookAhead(nextTokenIsSlash); + default: + return false; } } function isVariableDeclaratorListTerminator() { @@ -14314,14 +14418,14 @@ var ts; function isReusableClassMember(node) { if (node) { switch (node.kind) { - case 154: - case 159: case 155: + case 160: case 156: - case 151: - case 211: + case 157: + case 152: + case 212: return true; - case 153: + case 154: var methodDeclaration = node; var nameIsConstructor = methodDeclaration.name.kind === 71 && methodDeclaration.name.originalKeywordKind === 123; @@ -14333,8 +14437,8 @@ var ts; function isReusableSwitchClause(node) { if (node) { switch (node.kind) { - case 265: case 266: + case 267: return true; } } @@ -14343,65 +14447,65 @@ var ts; function isReusableStatement(node) { if (node) { switch (node.kind) { - case 233: + case 234: + case 214: case 213: - case 212: + case 217: case 216: - case 215: - case 228: + case 229: + case 225: + case 227: case 224: - case 226: case 223: + case 221: case 222: case 220: - case 221: case 219: - case 218: - case 225: - case 214: - case 229: - case 227: - case 217: + case 226: + case 215: case 230: + case 228: + case 218: + case 231: + case 244: case 243: - case 242: + case 250: case 249: - case 248: - case 238: - case 234: + case 239: case 235: - case 237: case 236: + case 238: + case 237: return true; } } return false; } function isReusableEnumMember(node) { - return node.kind === 272; + return node.kind === 273; } function isReusableTypeMember(node) { if (node) { switch (node.kind) { - case 158: - case 152: case 159: - case 150: - case 157: + case 153: + case 160: + case 151: + case 158: return true; } } return false; } function isReusableVariableDeclaration(node) { - if (node.kind !== 231) { + if (node.kind !== 232) { return false; } var variableDeclarator = node; return variableDeclarator.initializer === undefined; } function isReusableParameter(node) { - if (node.kind !== 148) { + if (node.kind !== 149) { return false; } var parameter = node; @@ -14440,6 +14544,7 @@ var ts; case 22: return ts.Diagnostics.Identifier_expected; case 13: return ts.Diagnostics.Identifier_expected; case 14: return ts.Diagnostics.Identifier_expected; + default: return undefined; } } function parseDelimitedList(kind, parseElement, considerSemicolonAsDelimiter) { @@ -14508,7 +14613,7 @@ var ts; return entity; } function createQualifiedName(entity, name) { - var node = createNode(145, entity.pos); + var node = createNode(146, entity.pos); node.left = entity; node.right = name; return finishNode(node); @@ -14523,19 +14628,19 @@ var ts; return allowIdentifierNames ? parseIdentifierName() : parseIdentifier(); } function parseTemplateExpression() { - var template = createNode(201); + var template = createNode(202); template.head = parseTemplateHead(); ts.Debug.assert(template.head.kind === 14, "Template head has wrong token kind"); var list = []; var listPos = getNodePos(); do { list.push(parseTemplateSpan()); - } while (ts.lastOrUndefined(list).literal.kind === 15); + } while (ts.last(list).literal.kind === 15); template.templateSpans = createNodeArray(list, listPos); return finishNode(template); } function parseTemplateSpan() { - var span = createNode(210); + var span = createNode(211); span.expression = allowInAnd(parseExpression); var literal; if (token() === 18) { @@ -14579,7 +14684,7 @@ var ts; return node; } function parseTypeReference() { - var node = createNode(161); + var node = createNode(162); node.typeName = parseEntityName(true, ts.Diagnostics.Type_expected); if (!scanner.hasPrecedingLineBreak() && token() === 27) { node.typeArguments = parseBracketedList(19, parseType, 27, 29); @@ -14588,20 +14693,20 @@ var ts; } function parseThisTypePredicate(lhs) { nextToken(); - var node = createNode(160, lhs.pos); + var node = createNode(161, lhs.pos); node.parameterName = lhs; node.type = parseType(); return finishNode(node); } function parseThisTypeNode() { - var node = createNode(173); + var node = createNode(174); nextToken(); return finishNode(node); } function parseJSDocAllType(postFixEquals) { - var result = createNode(278); + var result = createNode(279); if (postFixEquals) { - return createJSDocPostfixType(282, result); + return createJSDocPostfixType(283, result); } else { nextToken(); @@ -14609,7 +14714,7 @@ var ts; return finishNode(result); } function parseJSDocNonNullableType() { - var result = createNode(281); + var result = createNode(282); nextToken(); result.type = parseNonArrayType(); return finishNode(result); @@ -14623,28 +14728,28 @@ var ts; token() === 29 || token() === 58 || token() === 49) { - var result = createNode(279, pos); + var result = createNode(280, pos); return finishNode(result); } else { - var result = createNode(280, pos); + var result = createNode(281, pos); result.type = parseType(); return finishNode(result); } } function parseJSDocFunctionType() { if (lookAhead(nextTokenIsOpenParen)) { - var result = createNodeWithJSDoc(283); + var result = createNodeWithJSDoc(284); nextToken(); fillSignature(56, 4 | 32, result); return finishNode(result); } - var node = createNode(161); + var node = createNode(162); node.typeName = parseIdentifierName(); return finishNode(node); } function parseJSDocParameter() { - var parameter = createNode(148); + var parameter = createNode(149); if (token() === 99 || token() === 94) { parameter.name = parseIdentifierName(); parseExpected(56); @@ -14656,23 +14761,23 @@ var ts; var dotdotdot = parseOptionalToken(24); var type = parseType(); if (dotdotdot) { - var variadic = createNode(284, dotdotdot.pos); + var variadic = createNode(285, dotdotdot.pos); variadic.type = type; type = finishNode(variadic); } if (token() === 58) { - return createJSDocPostfixType(282, type); + return createJSDocPostfixType(283, type); } return type; } function parseTypeQuery() { - var node = createNode(164); + var node = createNode(165); parseExpected(103); node.exprName = parseEntityName(true); return finishNode(node); } function parseTypeParameter() { - var node = createNode(147); + var node = createNode(148); node.name = parseIdentifier(); if (parseOptional(85)) { if (isStartOfType() || !isStartOfExpression()) { @@ -14706,7 +14811,7 @@ var ts; isStartOfType(true); } function parseParameter() { - var node = createNodeWithJSDoc(148); + var node = createNodeWithJSDoc(149); if (token() === 99) { node.name = createIdentifier(true); node.type = parseParameterType(); @@ -14774,7 +14879,7 @@ var ts; } function parseSignatureMember(kind) { var node = createNodeWithJSDoc(kind); - if (kind === 158) { + if (kind === 159) { parseExpected(94); } fillSignature(56, 4, node); @@ -14811,7 +14916,7 @@ var ts; return token() === 56 || token() === 26 || token() === 22; } function parseIndexSignatureDeclaration(node) { - node.kind = 159; + node.kind = 160; node.parameters = parseBracketedList(16, parseParameter, 21, 22); node.type = parseTypeAnnotation(); parseTypeMemberSemicolon(); @@ -14821,11 +14926,11 @@ var ts; node.name = parsePropertyName(); node.questionToken = parseOptionalToken(55); if (token() === 19 || token() === 27) { - node.kind = 152; + node.kind = 153; fillSignature(56, 4, node); } else { - node.kind = 150; + node.kind = 151; node.type = parseTypeAnnotation(); if (token() === 58) { node.initializer = parseInitializer(); @@ -14838,7 +14943,7 @@ var ts; if (token() === 19 || token() === 27) { return true; } - var idToken; + var idToken = false; while (ts.isModifierKind(token())) { idToken = true; nextToken(); @@ -14862,10 +14967,10 @@ var ts; } function parseTypeMember() { if (token() === 19 || token() === 27) { - return parseSignatureMember(157); + return parseSignatureMember(158); } if (token() === 94 && lookAhead(nextTokenIsOpenParenOrLessThan)) { - return parseSignatureMember(158); + return parseSignatureMember(159); } var node = createNodeWithJSDoc(0); node.modifiers = parseModifiers(); @@ -14891,7 +14996,7 @@ var ts; return false; } function parseTypeLiteral() { - var node = createNode(165); + var node = createNode(166); node.members = parseObjectTypeMembers(); return finishNode(node); } @@ -14917,14 +15022,14 @@ var ts; return token() === 21 && nextTokenIsIdentifier() && nextToken() === 92; } function parseMappedTypeParameter() { - var node = createNode(147); + var node = createNode(148); node.name = parseIdentifier(); parseExpected(92); node.constraint = parseType(); return finishNode(node); } function parseMappedType() { - var node = createNode(176); + var node = createNode(177); parseExpected(17); if (token() === 132 || token() === 37 || token() === 38) { node.readonlyToken = parseTokenNode(); @@ -14947,12 +15052,12 @@ var ts; return finishNode(node); } function parseTupleType() { - var node = createNode(167); + var node = createNode(168); node.elementTypes = parseBracketedList(20, parseType, 21, 22); return finishNode(node); } function parseParenthesizedType() { - var node = createNode(172); + var node = createNode(173); parseExpected(19); node.type = parseType(); if (!node.type) { @@ -14963,7 +15068,7 @@ var ts; } function parseFunctionOrConstructorType(kind) { var node = createNodeWithJSDoc(kind); - if (kind === 163) { + if (kind === 164) { parseExpected(94); } if (!fillSignature(36, 4 | (sourceFile.languageVariant === 1 ? 8 : 0), node)) { @@ -14979,10 +15084,10 @@ var ts; return token() === 23 ? undefined : node; } function parseLiteralTypeNode(negative) { - var node = createNode(177); + var node = createNode(178); var unaryMinusExpression; if (negative) { - unaryMinusExpression = createNode(197); + unaryMinusExpression = createNode(198); unaryMinusExpression.operator = 38; nextToken(); } @@ -15003,7 +15108,7 @@ var ts; } function parseImportType() { sourceFile.flags |= 524288; - var node = createNode(178); + var node = createNode(179); if (parseOptional(103)) { node.isTypeOf = true; } @@ -15023,6 +15128,7 @@ var ts; function parseNonArrayType() { switch (token()) { case 119: + case 142: case 137: case 134: case 138: @@ -15078,6 +15184,7 @@ var ts; function isStartOfType(inStartOfParameter) { switch (token()) { case 119: + case 142: case 137: case 134: case 122: @@ -15124,25 +15231,25 @@ var ts; while (!scanner.hasPrecedingLineBreak()) { switch (token()) { case 51: - type = createJSDocPostfixType(281, type); + type = createJSDocPostfixType(282, type); break; case 55: if (!(contextFlags & 2097152) && lookAhead(nextTokenIsStartOfType)) { return type; } - type = createJSDocPostfixType(280, type); + type = createJSDocPostfixType(281, type); break; case 21: parseExpected(21); if (isStartOfType()) { - var node = createNode(175, type.pos); + var node = createNode(176, type.pos); node.objectType = type; node.indexType = parseType(); parseExpected(22); type = finishNode(node); } else { - var node = createNode(166, type.pos); + var node = createNode(167, type.pos); node.elementType = type; parseExpected(22); type = finishNode(node); @@ -15161,16 +15268,16 @@ var ts; return finishNode(postfix); } function parseTypeOperator(operator) { - var node = createNode(174); + var node = createNode(175); parseExpected(operator); node.operator = operator; node.type = parseTypeOperatorOrHigher(); return finishNode(node); } function parseInferType() { - var node = createNode(171); + var node = createNode(172); parseExpected(126); - var typeParameter = createNode(147); + var typeParameter = createNode(148); typeParameter.name = parseIdentifier(); node.typeParameter = finishNode(typeParameter); return finishNode(node); @@ -15201,10 +15308,10 @@ var ts; return type; } function parseIntersectionTypeOrHigher() { - return parseUnionOrIntersectionType(169, parseTypeOperatorOrHigher, 48); + return parseUnionOrIntersectionType(170, parseTypeOperatorOrHigher, 48); } function parseUnionTypeOrHigher() { - return parseUnionOrIntersectionType(168, parseIntersectionTypeOrHigher, 49); + return parseUnionOrIntersectionType(169, parseIntersectionTypeOrHigher, 49); } function isStartOfFunctionType() { if (token() === 27) { @@ -15250,7 +15357,7 @@ var ts; var typePredicateVariable = isIdentifier() && tryParse(parseTypePredicatePrefix); var type = parseType(); if (typePredicateVariable) { - var node = createNode(160, typePredicateVariable.pos); + var node = createNode(161, typePredicateVariable.pos); node.parameterName = typePredicateVariable; node.type = type; return finishNode(node); @@ -15271,14 +15378,14 @@ var ts; } function parseTypeWorker(noConditionalTypes) { if (isStartOfFunctionType()) { - return parseFunctionOrConstructorType(162); + return parseFunctionOrConstructorType(163); } if (token() === 94) { - return parseFunctionOrConstructorType(163); + return parseFunctionOrConstructorType(164); } var type = parseUnionTypeOrHigher(); if (!noConditionalTypes && !scanner.hasPrecedingLineBreak() && parseOptional(85)) { - var node = createNode(170, type.pos); + var node = createNode(171, type.pos); node.checkType = type; node.extendsType = parseTypeWorker(true); parseExpected(55); @@ -15400,7 +15507,7 @@ var ts; return !scanner.hasPrecedingLineBreak() && isIdentifier(); } function parseYieldExpression() { - var node = createNode(202); + var node = createNode(203); nextToken(); if (!scanner.hasPrecedingLineBreak() && (token() === 39 || isStartOfExpression())) { @@ -15416,13 +15523,13 @@ var ts; ts.Debug.assert(token() === 36, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); var node; if (asyncModifier) { - node = createNode(192, asyncModifier.pos); + node = createNode(193, asyncModifier.pos); node.modifiers = asyncModifier; } else { - node = createNode(192, identifier.pos); + node = createNode(193, identifier.pos); } - var parameter = createNode(148, identifier.pos); + var parameter = createNode(149, identifier.pos); parameter.name = identifier; finishNode(parameter); node.parameters = createNodeArray([parameter], parameter.pos, parameter.end); @@ -15568,7 +15675,7 @@ var ts; return 0; } function parseParenthesizedArrowFunctionExpressionHead(allowAmbiguity) { - var node = createNodeWithJSDoc(192); + var node = createNodeWithJSDoc(193); node.modifiers = parseModifiersForArrowFunction(); var isAsync = ts.hasModifier(node, 256) ? 2 : 0; if (!fillSignature(56, isAsync | (allowAmbiguity ? 0 : 8), node)) { @@ -15602,7 +15709,7 @@ var ts; if (!questionToken) { return leftOperand; } - var node = createNode(200, leftOperand.pos); + var node = createNode(201, leftOperand.pos); node.condition = leftOperand; node.questionToken = questionToken; node.whenTrue = doOutsideOfContext(disallowInAndDecoratorContext, parseAssignmentExpressionOrHigher); @@ -15617,7 +15724,7 @@ var ts; return parseBinaryExpressionRest(precedence, leftOperand); } function isInOrOfKeyword(t) { - return t === 92 || t === 144; + return t === 92 || t === 145; } function parseBinaryExpressionRest(precedence, leftOperand) { while (true) { @@ -15654,43 +15761,43 @@ var ts; return ts.getBinaryOperatorPrecedence(token()) > 0; } function makeBinaryExpression(left, operatorToken, right) { - var node = createNode(199, left.pos); + var node = createNode(200, left.pos); node.left = left; node.operatorToken = operatorToken; node.right = right; return finishNode(node); } function makeAsExpression(left, right) { - var node = createNode(207, left.pos); + var node = createNode(208, left.pos); node.expression = left; node.type = right; return finishNode(node); } function parsePrefixUnaryExpression() { - var node = createNode(197); + var node = createNode(198); node.operator = token(); nextToken(); node.operand = parseSimpleUnaryExpression(); return finishNode(node); } function parseDeleteExpression() { - var node = createNode(193); - nextToken(); - node.expression = parseSimpleUnaryExpression(); - return finishNode(node); - } - function parseTypeOfExpression() { var node = createNode(194); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); } - function parseVoidExpression() { + function parseTypeOfExpression() { var node = createNode(195); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); } + function parseVoidExpression() { + var node = createNode(196); + nextToken(); + node.expression = parseSimpleUnaryExpression(); + return finishNode(node); + } function isAwaitExpression() { if (token() === 121) { if (inAwaitContext()) { @@ -15701,7 +15808,7 @@ var ts; return false; } function parseAwaitExpression() { - var node = createNode(196); + var node = createNode(197); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); @@ -15718,7 +15825,7 @@ var ts; if (token() === 40) { var pos = ts.skipTrivia(sourceText, simpleUnaryExpression.pos); var end = simpleUnaryExpression.end; - if (simpleUnaryExpression.kind === 189) { + if (simpleUnaryExpression.kind === 190) { parseErrorAt(pos, end, ts.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses); } else { @@ -15771,7 +15878,7 @@ var ts; } function parseUpdateExpression() { if (token() === 43 || token() === 44) { - var node = createNode(197); + var node = createNode(198); node.operator = token(); nextToken(); node.operand = parseLeftHandSideExpressionOrHigher(); @@ -15783,7 +15890,7 @@ var ts; var expression = parseLeftHandSideExpressionOrHigher(); ts.Debug.assert(ts.isLeftHandSideExpression(expression)); if ((token() === 43 || token() === 44) && !scanner.hasPrecedingLineBreak()) { - var node = createNode(198, expression.pos); + var node = createNode(199, expression.pos); node.operand = expression; node.operator = token(); nextToken(); @@ -15802,7 +15909,7 @@ var ts; var fullStart = scanner.getStartPos(); nextToken(); nextToken(); - var node = createNode(209, fullStart); + var node = createNode(210, fullStart); node.keywordToken = 91; node.name = parseIdentifierName(); expression = finishNode(node); @@ -15826,30 +15933,17 @@ var ts; if (token() === 19 || token() === 23 || token() === 21) { return expression; } - var node = createNode(184, expression.pos); + var node = createNode(185, expression.pos); node.expression = expression; parseExpectedToken(23, ts.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access); node.name = parseRightSideOfDot(true); return finishNode(node); } - function tagNamesAreEquivalent(lhs, rhs) { - if (lhs.kind !== rhs.kind) { - return false; - } - if (lhs.kind === 71) { - return lhs.escapedText === rhs.escapedText; - } - if (lhs.kind === 99) { - return true; - } - return lhs.name.escapedText === rhs.name.escapedText && - tagNamesAreEquivalent(lhs.expression, rhs.expression); - } function parseJsxElementOrSelfClosingElementOrFragment(inExpressionContext) { var opening = parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext); var result; - if (opening.kind === 256) { - var node = createNode(254, opening.pos); + if (opening.kind === 257) { + var node = createNode(255, opening.pos); node.openingElement = opening; node.children = parseJsxChildren(node.openingElement); node.closingElement = parseJsxClosingElement(inExpressionContext); @@ -15858,22 +15952,22 @@ var ts; } result = finishNode(node); } - else if (opening.kind === 259) { - var node = createNode(258, opening.pos); + else if (opening.kind === 260) { + var node = createNode(259, opening.pos); node.openingFragment = opening; node.children = parseJsxChildren(node.openingFragment); node.closingFragment = parseJsxClosingFragment(inExpressionContext); result = finishNode(node); } else { - ts.Debug.assert(opening.kind === 255); + ts.Debug.assert(opening.kind === 256); result = opening; } if (inExpressionContext && token() === 27) { var invalidElement = tryParse(function () { return parseJsxElementOrSelfClosingElementOrFragment(true); }); if (invalidElement) { parseErrorAtCurrentToken(ts.Diagnostics.JSX_expressions_must_have_one_parent_element); - var badNode = createNode(199, result.pos); + var badNode = createNode(200, result.pos); badNode.end = invalidElement.end; badNode.left = result; badNode.right = invalidElement; @@ -15929,7 +16023,7 @@ var ts; return createNodeArray(list, listPos); } function parseJsxAttributes() { - var jsxAttributes = createNode(262); + var jsxAttributes = createNode(263); jsxAttributes.properties = parseList(13, parseJsxAttribute); return finishNode(jsxAttributes); } @@ -15937,7 +16031,7 @@ var ts; var fullStart = scanner.getStartPos(); parseExpected(27); if (token() === 29) { - var node_1 = createNode(259, fullStart); + var node_1 = createNode(260, fullStart); scanJsxText(); return finishNode(node_1); } @@ -15946,7 +16040,7 @@ var ts; var attributes = parseJsxAttributes(); var node; if (token() === 29) { - node = createNode(256, fullStart); + node = createNode(257, fullStart); scanJsxText(); } else { @@ -15958,7 +16052,7 @@ var ts; parseExpected(29, undefined, false); scanJsxText(); } - node = createNode(255, fullStart); + node = createNode(256, fullStart); } node.tagName = tagName; node.typeArguments = typeArguments; @@ -15970,7 +16064,7 @@ var ts; var expression = token() === 99 ? parseTokenNode() : parseIdentifierName(); while (parseOptional(23)) { - var propertyAccess = createNode(184, expression.pos); + var propertyAccess = createNode(185, expression.pos); propertyAccess.expression = expression; propertyAccess.name = parseRightSideOfDot(true); expression = finishNode(propertyAccess); @@ -15978,7 +16072,7 @@ var ts; return expression; } function parseJsxExpression(inExpressionContext) { - var node = createNode(264); + var node = createNode(265); if (!parseExpected(17)) { return undefined; } @@ -16000,7 +16094,7 @@ var ts; return parseJsxSpreadAttribute(); } scanJsxIdentifier(); - var node = createNode(261); + var node = createNode(262); node.name = parseIdentifierName(); if (token() === 58) { switch (scanJsxAttributeValue()) { @@ -16015,7 +16109,7 @@ var ts; return finishNode(node); } function parseJsxSpreadAttribute() { - var node = createNode(263); + var node = createNode(264); parseExpected(17); parseExpected(24); node.expression = parseExpression(); @@ -16023,7 +16117,7 @@ var ts; return finishNode(node); } function parseJsxClosingElement(inExpressionContext) { - var node = createNode(257); + var node = createNode(258); parseExpected(28); node.tagName = parseJsxElementName(); if (inExpressionContext) { @@ -16036,7 +16130,7 @@ var ts; return finishNode(node); } function parseJsxClosingFragment(inExpressionContext) { - var node = createNode(260); + var node = createNode(261); parseExpected(28); if (ts.tokenIsIdentifierOrKeyword(token())) { parseErrorAtRange(parseJsxElementName(), ts.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment); @@ -16051,7 +16145,7 @@ var ts; return finishNode(node); } function parseTypeAssertion() { - var node = createNode(189); + var node = createNode(190); parseExpected(27); node.type = parseType(); parseExpected(29); @@ -16062,7 +16156,7 @@ var ts; while (true) { var dotToken = parseOptionalToken(23); if (dotToken) { - var propertyAccess = createNode(184, expression.pos); + var propertyAccess = createNode(185, expression.pos); propertyAccess.expression = expression; propertyAccess.name = parseRightSideOfDot(true); expression = finishNode(propertyAccess); @@ -16070,13 +16164,13 @@ var ts; } if (token() === 51 && !scanner.hasPrecedingLineBreak()) { nextToken(); - var nonNullExpression = createNode(208, expression.pos); + var nonNullExpression = createNode(209, expression.pos); nonNullExpression.expression = expression; expression = finishNode(nonNullExpression); continue; } if (!inDecoratorContext() && parseOptional(21)) { - var indexedAccess = createNode(185, expression.pos); + var indexedAccess = createNode(186, expression.pos); indexedAccess.expression = expression; if (token() === 22) { indexedAccess.argumentExpression = createMissingNode(71, true, ts.Diagnostics.An_element_access_expression_should_take_an_argument); @@ -16103,7 +16197,7 @@ var ts; return token() === 13 || token() === 14; } function parseTaggedTemplateRest(tag, typeArguments) { - var tagExpression = createNode(188, tag.pos); + var tagExpression = createNode(189, tag.pos); tagExpression.tag = tag; tagExpression.typeArguments = typeArguments; tagExpression.template = token() === 13 @@ -16123,7 +16217,7 @@ var ts; expression = parseTaggedTemplateRest(expression, typeArguments); continue; } - var callExpr = createNode(186, expression.pos); + var callExpr = createNode(187, expression.pos); callExpr.expression = expression; callExpr.typeArguments = typeArguments; callExpr.arguments = parseArgumentList(); @@ -16131,7 +16225,7 @@ var ts; continue; } else if (token() === 19) { - var callExpr = createNode(186, expression.pos); + var callExpr = createNode(187, expression.pos); callExpr.expression = expression; callExpr.arguments = parseArgumentList(); expression = finishNode(callExpr); @@ -16228,28 +16322,28 @@ var ts; return parseIdentifier(ts.Diagnostics.Expression_expected); } function parseParenthesizedExpression() { - var node = createNodeWithJSDoc(190); + var node = createNodeWithJSDoc(191); parseExpected(19); node.expression = allowInAnd(parseExpression); parseExpected(20); return finishNode(node); } function parseSpreadElement() { - var node = createNode(203); + var node = createNode(204); parseExpected(24); node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } function parseArgumentOrArrayLiteralElement() { return token() === 24 ? parseSpreadElement() : - token() === 26 ? createNode(205) : + token() === 26 ? createNode(206) : parseAssignmentExpressionOrHigher(); } function parseArgumentExpression() { return doOutsideOfContext(disallowInAndDecoratorContext, parseArgumentOrArrayLiteralElement); } function parseArrayLiteralExpression() { - var node = createNode(182); + var node = createNode(183); parseExpected(21); if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -16261,17 +16355,17 @@ var ts; function parseObjectLiteralElement() { var node = createNodeWithJSDoc(0); if (parseOptionalToken(24)) { - node.kind = 271; + node.kind = 272; node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } node.decorators = parseDecorators(); node.modifiers = parseModifiers(); if (parseContextualModifier(125)) { - return parseAccessorDeclaration(node, 155); + return parseAccessorDeclaration(node, 156); } if (parseContextualModifier(136)) { - return parseAccessorDeclaration(node, 156); + return parseAccessorDeclaration(node, 157); } var asteriskToken = parseOptionalToken(39); var tokenIsIdentifier = isIdentifier(); @@ -16282,7 +16376,7 @@ var ts; } var isShorthandPropertyAssignment = tokenIsIdentifier && (token() === 26 || token() === 18 || token() === 58); if (isShorthandPropertyAssignment) { - node.kind = 270; + node.kind = 271; var equalsToken = parseOptionalToken(58); if (equalsToken) { node.equalsToken = equalsToken; @@ -16290,14 +16384,14 @@ var ts; } } else { - node.kind = 269; + node.kind = 270; parseExpected(56); node.initializer = allowInAnd(parseAssignmentExpressionOrHigher); } return finishNode(node); } function parseObjectLiteralExpression() { - var node = createNode(183); + var node = createNode(184); parseExpected(17); if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -16311,7 +16405,7 @@ var ts; if (saveDecoratorContext) { setDecoratorContext(false); } - var node = createNodeWithJSDoc(191); + var node = createNodeWithJSDoc(192); node.modifiers = parseModifiers(); parseExpected(89); node.asteriskToken = parseOptionalToken(39); @@ -16336,7 +16430,7 @@ var ts; var fullStart = scanner.getStartPos(); parseExpected(94); if (parseOptional(23)) { - var node_2 = createNode(209, fullStart); + var node_2 = createNode(210, fullStart); node_2.keywordToken = 94; node_2.name = parseIdentifierName(); return finishNode(node_2); @@ -16353,7 +16447,7 @@ var ts; } break; } - var node = createNode(187, fullStart); + var node = createNode(188, fullStart); node.expression = expression; node.typeArguments = typeArguments; if (node.typeArguments || token() === 19) { @@ -16362,7 +16456,7 @@ var ts; return finishNode(node); } function parseBlock(ignoreMissingOpenBrace, diagnosticMessage) { - var node = createNode(212); + var node = createNode(213); if (parseExpected(17, diagnosticMessage) || ignoreMissingOpenBrace) { if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -16393,12 +16487,12 @@ var ts; return block; } function parseEmptyStatement() { - var node = createNode(214); + var node = createNode(215); parseExpected(25); return finishNode(node); } function parseIfStatement() { - var node = createNode(216); + var node = createNode(217); parseExpected(90); parseExpected(19); node.expression = allowInAnd(parseExpression); @@ -16408,7 +16502,7 @@ var ts; return finishNode(node); } function parseDoStatement() { - var node = createNode(217); + var node = createNode(218); parseExpected(81); node.statement = parseStatement(); parseExpected(106); @@ -16419,7 +16513,7 @@ var ts; return finishNode(node); } function parseWhileStatement() { - var node = createNode(218); + var node = createNode(219); parseExpected(106); parseExpected(19); node.expression = allowInAnd(parseExpression); @@ -16442,8 +16536,8 @@ var ts; } } var forOrForInOrForOfStatement; - if (awaitToken ? parseExpected(144) : parseOptional(144)) { - var forOfStatement = createNode(221, pos); + if (awaitToken ? parseExpected(145) : parseOptional(145)) { + var forOfStatement = createNode(222, pos); forOfStatement.awaitModifier = awaitToken; forOfStatement.initializer = initializer; forOfStatement.expression = allowInAnd(parseAssignmentExpressionOrHigher); @@ -16451,14 +16545,14 @@ var ts; forOrForInOrForOfStatement = forOfStatement; } else if (parseOptional(92)) { - var forInStatement = createNode(220, pos); + var forInStatement = createNode(221, pos); forInStatement.initializer = initializer; forInStatement.expression = allowInAnd(parseExpression); parseExpected(20); forOrForInOrForOfStatement = forInStatement; } else { - var forStatement = createNode(219, pos); + var forStatement = createNode(220, pos); forStatement.initializer = initializer; parseExpected(25); if (token() !== 25 && token() !== 20) { @@ -16476,7 +16570,7 @@ var ts; } function parseBreakOrContinueStatement(kind) { var node = createNode(kind); - parseExpected(kind === 223 ? 72 : 77); + parseExpected(kind === 224 ? 72 : 77); if (!canParseSemicolon()) { node.label = parseIdentifier(); } @@ -16484,7 +16578,7 @@ var ts; return finishNode(node); } function parseReturnStatement() { - var node = createNode(224); + var node = createNode(225); parseExpected(96); if (!canParseSemicolon()) { node.expression = allowInAnd(parseExpression); @@ -16493,7 +16587,7 @@ var ts; return finishNode(node); } function parseWithStatement() { - var node = createNode(225); + var node = createNode(226); parseExpected(107); parseExpected(19); node.expression = allowInAnd(parseExpression); @@ -16502,7 +16596,7 @@ var ts; return finishNode(node); } function parseCaseClause() { - var node = createNode(265); + var node = createNode(266); parseExpected(73); node.expression = allowInAnd(parseExpression); parseExpected(56); @@ -16510,7 +16604,7 @@ var ts; return finishNode(node); } function parseDefaultClause() { - var node = createNode(266); + var node = createNode(267); parseExpected(79); parseExpected(56); node.statements = parseList(3, parseStatement); @@ -16520,12 +16614,12 @@ var ts; return token() === 73 ? parseCaseClause() : parseDefaultClause(); } function parseSwitchStatement() { - var node = createNode(226); + var node = createNode(227); parseExpected(98); parseExpected(19); node.expression = allowInAnd(parseExpression); parseExpected(20); - var caseBlock = createNode(240); + var caseBlock = createNode(241); parseExpected(17); caseBlock.clauses = parseList(2, parseCaseOrDefaultClause); parseExpected(18); @@ -16533,14 +16627,14 @@ var ts; return finishNode(node); } function parseThrowStatement() { - var node = createNode(228); + var node = createNode(229); parseExpected(100); node.expression = scanner.hasPrecedingLineBreak() ? undefined : allowInAnd(parseExpression); parseSemicolon(); return finishNode(node); } function parseTryStatement() { - var node = createNode(229); + var node = createNode(230); parseExpected(102); node.tryBlock = parseBlock(false); node.catchClause = token() === 74 ? parseCatchClause() : undefined; @@ -16551,7 +16645,7 @@ var ts; return finishNode(node); } function parseCatchClause() { - var result = createNode(268); + var result = createNode(269); parseExpected(74); if (parseOptional(19)) { result.variableDeclaration = parseVariableDeclaration(); @@ -16564,7 +16658,7 @@ var ts; return finishNode(result); } function parseDebuggerStatement() { - var node = createNode(230); + var node = createNode(231); parseExpected(78); parseSemicolon(); return finishNode(node); @@ -16573,12 +16667,12 @@ var ts; var node = createNodeWithJSDoc(0); var expression = allowInAnd(parseExpression); if (expression.kind === 71 && parseOptional(56)) { - node.kind = 227; + node.kind = 228; node.label = expression; node.statement = parseStatement(); } else { - node.kind = 215; + node.kind = 216; node.expression = expression; parseSemicolon(); } @@ -16628,7 +16722,7 @@ var ts; return false; } continue; - case 143: + case 144: nextToken(); return token() === 17 || token() === 71 || token() === 84; case 91: @@ -16690,7 +16784,7 @@ var ts; case 129: case 130: case 139: - case 143: + case 144: return true; case 114: case 112: @@ -16716,16 +16810,16 @@ var ts; case 17: return parseBlock(false); case 104: - return parseVariableStatement(createNodeWithJSDoc(231)); + return parseVariableStatement(createNodeWithJSDoc(232)); case 110: if (isLetDeclaration()) { - return parseVariableStatement(createNodeWithJSDoc(231)); + return parseVariableStatement(createNodeWithJSDoc(232)); } break; case 89: - return parseFunctionDeclaration(createNodeWithJSDoc(233)); + return parseFunctionDeclaration(createNodeWithJSDoc(234)); case 75: - return parseClassDeclaration(createNodeWithJSDoc(234)); + return parseClassDeclaration(createNodeWithJSDoc(235)); case 90: return parseIfStatement(); case 81: @@ -16735,9 +16829,9 @@ var ts; case 88: return parseForOrForInOrForOfStatement(); case 77: - return parseBreakOrContinueStatement(222); - case 72: return parseBreakOrContinueStatement(223); + case 72: + return parseBreakOrContinueStatement(224); case 96: return parseReturnStatement(); case 107: @@ -16770,7 +16864,7 @@ var ts; case 117: case 115: case 132: - case 143: + case 144: if (isStartOfDeclaration()) { return parseDeclaration(); } @@ -16812,7 +16906,7 @@ var ts; return parseTypeAliasDeclaration(node); case 83: return parseEnumDeclaration(node); - case 143: + case 144: case 129: case 130: return parseModuleDeclaration(node); @@ -16831,12 +16925,13 @@ var ts; } default: if (node.decorators || node.modifiers) { - var missing = createMissingNode(252, true, ts.Diagnostics.Declaration_expected); + var missing = createMissingNode(253, true, ts.Diagnostics.Declaration_expected); missing.pos = node.pos; missing.decorators = node.decorators; missing.modifiers = node.modifiers; return finishNode(missing); } + return undefined; } } function nextTokenIsIdentifierOrStringLiteralOnSameLine() { @@ -16852,16 +16947,16 @@ var ts; } function parseArrayBindingElement() { if (token() === 26) { - return createNode(205); + return createNode(206); } - var node = createNode(181); + var node = createNode(182); node.dotDotDotToken = parseOptionalToken(24); node.name = parseIdentifierOrPattern(); node.initializer = parseInitializer(); return finishNode(node); } function parseObjectBindingElement() { - var node = createNode(181); + var node = createNode(182); node.dotDotDotToken = parseOptionalToken(24); var tokenIsIdentifier = isIdentifier(); var propertyName = parsePropertyName(); @@ -16877,14 +16972,14 @@ var ts; return finishNode(node); } function parseObjectBindingPattern() { - var node = createNode(179); + var node = createNode(180); parseExpected(17); node.elements = parseDelimitedList(9, parseObjectBindingElement); parseExpected(18); return finishNode(node); } function parseArrayBindingPattern() { - var node = createNode(180); + var node = createNode(181); parseExpected(21); node.elements = parseDelimitedList(10, parseArrayBindingElement); parseExpected(22); @@ -16906,7 +17001,7 @@ var ts; return parseVariableDeclaration(true); } function parseVariableDeclaration(allowExclamation) { - var node = createNode(231); + var node = createNode(232); node.name = parseIdentifierOrPattern(); if (allowExclamation && node.name.kind === 71 && token() === 51 && !scanner.hasPrecedingLineBreak()) { @@ -16919,7 +17014,7 @@ var ts; return finishNode(node); } function parseVariableDeclarationList(inForStatementInitializer) { - var node = createNode(232); + var node = createNode(233); switch (token()) { case 104: break; @@ -16933,7 +17028,7 @@ var ts; ts.Debug.fail(); } nextToken(); - if (token() === 144 && lookAhead(canFollowContextualOfKeyword)) { + if (token() === 145 && lookAhead(canFollowContextualOfKeyword)) { node.declarations = createMissingList(); } else { @@ -16948,13 +17043,13 @@ var ts; return nextTokenIsIdentifier() && nextToken() === 20; } function parseVariableStatement(node) { - node.kind = 213; + node.kind = 214; node.declarationList = parseVariableDeclarationList(false); parseSemicolon(); return finishNode(node); } function parseFunctionDeclaration(node) { - node.kind = 233; + node.kind = 234; parseExpected(89); node.asteriskToken = parseOptionalToken(39); node.name = ts.hasModifier(node, 512) ? parseOptionalIdentifier() : parseIdentifier(); @@ -16965,14 +17060,14 @@ var ts; return finishNode(node); } function parseConstructorDeclaration(node) { - node.kind = 154; + node.kind = 155; parseExpected(123); fillSignature(56, 0, node); node.body = parseFunctionBlockOrSemicolon(0, ts.Diagnostics.or_expected); return finishNode(node); } function parseMethodDeclaration(node, asteriskToken, diagnosticMessage) { - node.kind = 153; + node.kind = 154; node.asteriskToken = asteriskToken; var isGenerator = asteriskToken ? 1 : 0; var isAsync = ts.hasModifier(node, 256) ? 2 : 0; @@ -16981,7 +17076,7 @@ var ts; return finishNode(node); } function parsePropertyDeclaration(node) { - node.kind = 151; + node.kind = 152; if (!node.questionToken && token() === 51 && !scanner.hasPrecedingLineBreak()) { node.exclamationToken = parseTokenNode(); } @@ -17056,7 +17151,7 @@ var ts; if (!parseOptional(57)) { break; } - var decorator = createNode(149, decoratorStart); + var decorator = createNode(150, decoratorStart); decorator.expression = doInDecoratorContext(parseLeftHandSideExpressionOrHigher); finishNode(decorator); (list || (list = [])).push(decorator); @@ -17097,7 +17192,7 @@ var ts; } function parseClassElement() { if (token() === 25) { - var result = createNode(211); + var result = createNode(212); nextToken(); return finishNode(result); } @@ -17105,10 +17200,10 @@ var ts; node.decorators = parseDecorators(); node.modifiers = parseModifiers(true); if (parseContextualModifier(125)) { - return parseAccessorDeclaration(node, 155); + return parseAccessorDeclaration(node, 156); } if (parseContextualModifier(136)) { - return parseAccessorDeclaration(node, 156); + return parseAccessorDeclaration(node, 157); } if (token() === 123) { return parseConstructorDeclaration(node); @@ -17127,13 +17222,13 @@ var ts; node.name = createMissingNode(71, true, ts.Diagnostics.Declaration_expected); return parsePropertyDeclaration(node); } - ts.Debug.fail("Should not have attempted to parse class member declaration."); + return ts.Debug.fail("Should not have attempted to parse class member declaration."); } function parseClassExpression() { - return parseClassDeclarationOrExpression(createNodeWithJSDoc(0), 204); + return parseClassDeclarationOrExpression(createNodeWithJSDoc(0), 205); } function parseClassDeclaration(node) { - return parseClassDeclarationOrExpression(node, 234); + return parseClassDeclarationOrExpression(node, 235); } function parseClassDeclarationOrExpression(node, kind) { node.kind = kind; @@ -17166,17 +17261,15 @@ var ts; } function parseHeritageClause() { var tok = token(); - if (tok === 85 || tok === 108) { - var node = createNode(267); - node.token = tok; - nextToken(); - node.types = parseDelimitedList(7, parseExpressionWithTypeArguments); - return finishNode(node); - } - return undefined; + ts.Debug.assert(tok === 85 || tok === 108); + var node = createNode(268); + node.token = tok; + nextToken(); + node.types = parseDelimitedList(7, parseExpressionWithTypeArguments); + return finishNode(node); } function parseExpressionWithTypeArguments() { - var node = createNode(206); + var node = createNode(207); node.expression = parseLeftHandSideExpressionOrHigher(); node.typeArguments = tryParseTypeArguments(); return finishNode(node); @@ -17193,7 +17286,7 @@ var ts; return parseList(5, parseClassElement); } function parseInterfaceDeclaration(node) { - node.kind = 235; + node.kind = 236; parseExpected(109); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); @@ -17202,7 +17295,7 @@ var ts; return finishNode(node); } function parseTypeAliasDeclaration(node) { - node.kind = 236; + node.kind = 237; parseExpected(139); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); @@ -17212,13 +17305,13 @@ var ts; return finishNode(node); } function parseEnumMember() { - var node = createNodeWithJSDoc(272); + var node = createNodeWithJSDoc(273); node.name = parsePropertyName(); node.initializer = allowInAnd(parseInitializer); return finishNode(node); } function parseEnumDeclaration(node) { - node.kind = 237; + node.kind = 238; parseExpected(83); node.name = parseIdentifier(); if (parseExpected(17)) { @@ -17231,7 +17324,7 @@ var ts; return finishNode(node); } function parseModuleBlock() { - var node = createNode(239); + var node = createNode(240); if (parseExpected(17)) { node.statements = parseList(1, parseStatement); parseExpected(18); @@ -17242,7 +17335,7 @@ var ts; return finishNode(node); } function parseModuleOrNamespaceDeclaration(node, flags) { - node.kind = 238; + node.kind = 239; var namespaceFlag = flags & 16; node.flags |= flags; node.name = parseIdentifier(); @@ -17252,8 +17345,8 @@ var ts; return finishNode(node); } function parseAmbientExternalModuleDeclaration(node) { - node.kind = 238; - if (token() === 143) { + node.kind = 239; + if (token() === 144) { node.name = parseIdentifier(); node.flags |= 512; } @@ -17271,7 +17364,7 @@ var ts; } function parseModuleDeclaration(node) { var flags = 0; - if (token() === 143) { + if (token() === 144) { return parseAmbientExternalModuleDeclaration(node); } else if (parseOptional(130)) { @@ -17296,7 +17389,7 @@ var ts; return nextToken() === 41; } function parseNamespaceExportDeclaration(node) { - node.kind = 241; + node.kind = 242; parseExpected(118); parseExpected(130); node.name = parseIdentifier(); @@ -17309,23 +17402,23 @@ var ts; var identifier; if (isIdentifier()) { identifier = parseIdentifier(); - if (token() !== 26 && token() !== 142) { + if (token() !== 26 && token() !== 143) { return parseImportEqualsDeclaration(node, identifier); } } - node.kind = 243; + node.kind = 244; if (identifier || token() === 39 || token() === 17) { node.importClause = parseImportClause(identifier, afterImportPos); - parseExpected(142); + parseExpected(143); } node.moduleSpecifier = parseModuleSpecifier(); parseSemicolon(); return finishNode(node); } function parseImportEqualsDeclaration(node, identifier) { - node.kind = 242; + node.kind = 243; node.name = identifier; parseExpected(58); node.moduleReference = parseModuleReference(); @@ -17333,13 +17426,13 @@ var ts; return finishNode(node); } function parseImportClause(identifier, fullStart) { - var importClause = createNode(244, fullStart); + var importClause = createNode(245, fullStart); if (identifier) { importClause.name = identifier; } if (!importClause.name || parseOptional(26)) { - importClause.namedBindings = token() === 39 ? parseNamespaceImport() : parseNamedImportsOrExports(246); + importClause.namedBindings = token() === 39 ? parseNamespaceImport() : parseNamedImportsOrExports(247); } return finishNode(importClause); } @@ -17349,7 +17442,7 @@ var ts; : parseEntityName(false); } function parseExternalModuleReference() { - var node = createNode(253); + var node = createNode(254); parseExpected(133); parseExpected(19); node.expression = parseModuleSpecifier(); @@ -17367,7 +17460,7 @@ var ts; } } function parseNamespaceImport() { - var namespaceImport = createNode(245); + var namespaceImport = createNode(246); parseExpected(39); parseExpected(118); namespaceImport.name = parseIdentifier(); @@ -17375,14 +17468,14 @@ var ts; } function parseNamedImportsOrExports(kind) { var node = createNode(kind); - node.elements = parseBracketedList(22, kind === 246 ? parseImportSpecifier : parseExportSpecifier, 17, 18); + node.elements = parseBracketedList(22, kind === 247 ? parseImportSpecifier : parseExportSpecifier, 17, 18); return finishNode(node); } function parseExportSpecifier() { - return parseImportOrExportSpecifier(251); + return parseImportOrExportSpecifier(252); } function parseImportSpecifier() { - return parseImportOrExportSpecifier(247); + return parseImportOrExportSpecifier(248); } function parseImportOrExportSpecifier(kind) { var node = createNode(kind); @@ -17401,21 +17494,21 @@ var ts; else { node.name = identifierName; } - if (kind === 247 && checkIdentifierIsKeyword) { + if (kind === 248 && checkIdentifierIsKeyword) { parseErrorAt(checkIdentifierStart, checkIdentifierEnd, ts.Diagnostics.Identifier_expected); } return finishNode(node); } function parseExportDeclaration(node) { - node.kind = 249; + node.kind = 250; if (parseOptional(39)) { - parseExpected(142); + parseExpected(143); node.moduleSpecifier = parseModuleSpecifier(); } else { - node.exportClause = parseNamedImportsOrExports(250); - if (token() === 142 || (token() === 9 && !scanner.hasPrecedingLineBreak())) { - parseExpected(142); + node.exportClause = parseNamedImportsOrExports(251); + if (token() === 143 || (token() === 9 && !scanner.hasPrecedingLineBreak())) { + parseExpected(143); node.moduleSpecifier = parseModuleSpecifier(); } } @@ -17423,7 +17516,7 @@ var ts; return finishNode(node); } function parseExportAssignment(node) { - node.kind = 248; + node.kind = 249; if (parseOptional(58)) { node.isExportEquals = true; } @@ -17441,10 +17534,10 @@ var ts; } function isAnExternalModuleIndicatorNode(node) { return ts.hasModifier(node, 1) - || node.kind === 242 && node.moduleReference.kind === 253 - || node.kind === 243 - || node.kind === 248 + || node.kind === 243 && node.moduleReference.kind === 254 + || node.kind === 244 || node.kind === 249 + || node.kind === 250 ? node : undefined; } @@ -17506,7 +17599,7 @@ var ts; } JSDocParser.parseJSDocTypeExpressionForTests = parseJSDocTypeExpressionForTests; function parseJSDocTypeExpression(mayOmitBraces) { - var result = createNode(277, scanner.getTokenPos()); + var result = createNode(278, scanner.getTokenPos()); var hasBrace = (mayOmitBraces ? parseOptional : parseExpected)(17); result.type = doInsideOfContext(2097152, parseJSDocType); if (!mayOmitBraces || hasBrace) { @@ -17559,8 +17652,8 @@ var ts; PropertyLikeParse[PropertyLikeParse["CallbackParameter"] = 4] = "CallbackParameter"; })(PropertyLikeParse || (PropertyLikeParse = {})); function parseJSDocCommentWorker(start, length) { + if (start === void 0) { start = 0; } var content = sourceText; - start = start || 0; var end = length === undefined ? content.length : start + length; length = end - start; ts.Debug.assert(start >= 0); @@ -17585,17 +17678,15 @@ var ts; comments.push(text); indent += text.length; } - var t = nextJSDocToken(); - while (t === 5) { - t = nextJSDocToken(); - } - if (t === 4) { + nextJSDocToken(); + while (parseOptionalJsdoc(5)) + ; + if (parseOptionalJsdoc(4)) { state = 0; indent = 0; - t = nextJSDocToken(); } loop: while (true) { - switch (t) { + switch (token()) { case 57: if (state === 0 || state === 1) { removeTrailingNewlines(comments); @@ -17645,7 +17736,7 @@ var ts; pushComment(scanner.getTokenText()); break; } - t = nextJSDocToken(); + nextJSDocToken(); } removeLeadingNewlines(comments); removeTrailingNewlines(comments); @@ -17663,7 +17754,7 @@ var ts; } } function createJSDocComment() { - var result = createNode(285, start); + var result = createNode(286, start); result.tags = tags && createNodeArray(tags, tagsPos, tagsEnd); result.comment = comments.length ? comments.join("") : undefined; return finishNode(result, end); @@ -17801,7 +17892,7 @@ var ts; return comments.length === 0 ? undefined : comments.join(""); } function parseUnknownTag(atToken, tagName) { - var result = createNode(288, atToken.pos); + var result = createNode(289, atToken.pos); result.atToken = atToken; result.tagName = tagName; return finishNode(result); @@ -17842,7 +17933,7 @@ var ts; switch (node.kind) { case 135: return true; - case 166: + case 167: return isObjectOrObjectArrayTypeReference(node.elementType); default: return ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && node.typeName.escapedText === "Object"; @@ -17858,12 +17949,12 @@ var ts; typeExpression = tryParseTypeExpression(); } var result = target === 1 ? - createNode(297, atToken.pos) : - createNode(292, atToken.pos); + createNode(298, atToken.pos) : + createNode(293, atToken.pos); var comment; if (indent !== undefined) comment = parseTagComments(indent + scanner.getStartPos() - atToken.pos); - var nestedTypeLiteral = parseNestedTypeLiteral(typeExpression, name, target); + var nestedTypeLiteral = target !== 4 && parseNestedTypeLiteral(typeExpression, name, target); if (nestedTypeLiteral) { typeExpression = nestedTypeLiteral; isNameFirst = true; @@ -17879,20 +17970,20 @@ var ts; } function parseNestedTypeLiteral(typeExpression, name, target) { if (typeExpression && isObjectOrObjectArrayTypeReference(typeExpression.type)) { - var typeLiteralExpression = createNode(277, scanner.getTokenPos()); + var typeLiteralExpression = createNode(278, scanner.getTokenPos()); var child = void 0; var jsdocTypeLiteral = void 0; var start_2 = scanner.getStartPos(); var children = void 0; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(target, name); })) { - if (child.kind === 292 || child.kind === 297) { + if (child.kind === 293 || child.kind === 298) { children = ts.append(children, child); } } if (children) { - jsdocTypeLiteral = createNode(286, start_2); + jsdocTypeLiteral = createNode(287, start_2); jsdocTypeLiteral.jsDocPropertyTags = children; - if (typeExpression.type.kind === 166) { + if (typeExpression.type.kind === 167) { jsdocTypeLiteral.isArrayType = true; } typeLiteralExpression.type = finishNode(jsdocTypeLiteral); @@ -17901,27 +17992,27 @@ var ts; } } function parseReturnTag(atToken, tagName) { - if (ts.forEach(tags, function (t) { return t.kind === 293; })) { - parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); - } - var result = createNode(293, atToken.pos); - result.atToken = atToken; - result.tagName = tagName; - result.typeExpression = tryParseTypeExpression(); - return finishNode(result); - } - function parseTypeTag(atToken, tagName) { if (ts.forEach(tags, function (t) { return t.kind === 294; })) { parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); } var result = createNode(294, atToken.pos); result.atToken = atToken; result.tagName = tagName; + result.typeExpression = tryParseTypeExpression(); + return finishNode(result); + } + function parseTypeTag(atToken, tagName) { + if (ts.forEach(tags, function (t) { return t.kind === 295; })) { + parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); + } + var result = createNode(295, atToken.pos); + result.atToken = atToken; + result.tagName = tagName; result.typeExpression = parseJSDocTypeExpression(true); return finishNode(result); } function parseAugmentsTag(atToken, tagName) { - var result = createNode(289, atToken.pos); + var result = createNode(290, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.class = parseExpressionWithTypeArgumentsForAugments(); @@ -17929,7 +18020,7 @@ var ts; } function parseExpressionWithTypeArgumentsForAugments() { var usedBrace = parseOptional(17); - var node = createNode(206); + var node = createNode(207); node.expression = parsePropertyAccessEntityNameExpression(); node.typeArguments = tryParseTypeArguments(); var res = finishNode(node); @@ -17941,7 +18032,7 @@ var ts; function parsePropertyAccessEntityNameExpression() { var node = parseJSDocIdentifierName(true); while (parseOptional(23)) { - var prop = createNode(184, node.pos); + var prop = createNode(185, node.pos); prop.expression = node; prop.name = parseJSDocIdentifierName(); node = finishNode(prop); @@ -17949,7 +18040,7 @@ var ts; return node; } function parseClassTag(atToken, tagName) { - var tag = createNode(290, atToken.pos); + var tag = createNode(291, atToken.pos); tag.atToken = atToken; tag.tagName = tagName; return finishNode(tag); @@ -17957,7 +18048,7 @@ var ts; function parseTypedefTag(atToken, tagName, indent) { var typeExpression = tryParseTypeExpression(); skipWhitespace(); - var typedefTag = createNode(296, atToken.pos); + var typedefTag = createNode(297, atToken.pos); typedefTag.atToken = atToken; typedefTag.tagName = tagName; typedefTag.fullName = parseJSDocTypeNameWithNamespace(); @@ -17973,9 +18064,9 @@ var ts; var start_3 = scanner.getStartPos(); while (child = tryParse(function () { return parseChildPropertyTag(); })) { if (!jsdocTypeLiteral) { - jsdocTypeLiteral = createNode(286, start_3); + jsdocTypeLiteral = createNode(287, start_3); } - if (child.kind === 294) { + if (child.kind === 295) { if (childTypeTag) { break; } @@ -17988,7 +18079,7 @@ var ts; } } if (jsdocTypeLiteral) { - if (typeExpression && typeExpression.type.kind === 166) { + if (typeExpression && typeExpression.type.kind === 167) { jsdocTypeLiteral.isArrayType = true; } typedefTag.typeExpression = childTypeTag && childTypeTag.typeExpression && !isObjectOrObjectArrayTypeReference(childTypeTag.typeExpression.type) ? @@ -18003,7 +18094,7 @@ var ts; var pos = scanner.getTokenPos(); var typeNameOrNamespaceName = parseJSDocIdentifierName(); if (typeNameOrNamespaceName && parseOptional(23)) { - var jsDocNamespaceNode = createNode(238, pos); + var jsDocNamespaceNode = createNode(239, pos); if (nested) { jsDocNamespaceNode.flags |= 4; } @@ -18017,7 +18108,7 @@ var ts; return typeNameOrNamespaceName; } function parseCallbackTag(atToken, tagName, indent) { - var callbackTag = createNode(291, atToken.pos); + var callbackTag = createNode(292, atToken.pos); callbackTag.atToken = atToken; callbackTag.tagName = tagName; callbackTag.fullName = parseJSDocTypeNameWithNamespace(); @@ -18026,16 +18117,15 @@ var ts; callbackTag.comment = parseTagComments(indent); var child; var start = scanner.getStartPos(); - var jsdocSignature = createNode(287, start); + var jsdocSignature = createNode(288, start); jsdocSignature.parameters = []; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(4); })) { jsdocSignature.parameters = ts.append(jsdocSignature.parameters, child); } var returnTag = tryParse(function () { - if (token() === 57) { - nextJSDocToken(); + if (parseOptionalJsdoc(57)) { var tag = parseTag(indent); - if (tag && tag.kind === 293) { + if (tag && tag.kind === 294) { return tag; } } @@ -18080,7 +18170,7 @@ var ts; case 57: if (canParseTag) { var child = tryParseChildTag(target); - if (child && child.kind === 292 && + if (child && child.kind === 293 && target !== 4 && (ts.isIdentifier(child.name) || !escapedTextsEqual(name, child.name.left))) { return false; @@ -18141,48 +18231,44 @@ var ts; return tag; } function parseTemplateTag(atToken, tagName) { - if (ts.some(tags, ts.isJSDocTemplateTag)) { - parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); + var constraint; + if (token() === 17) { + constraint = parseJSDocTypeExpression(); } var typeParameters = []; var typeParametersPos = getNodePos(); - while (true) { - var typeParameter = createNode(147); - var name = parseJSDocIdentifierNameWithOptionalBraces(); + do { skipWhitespace(); - if (!name) { - parseErrorAtPosition(scanner.getStartPos(), 0, ts.Diagnostics.Identifier_expected); + var typeParameter = createNode(148); + if (!ts.tokenIsIdentifierOrKeyword(token())) { + parseErrorAtCurrentToken(ts.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces); return undefined; } - typeParameter.name = name; + typeParameter.name = parseJSDocIdentifierName(); + skipWhitespace(); finishNode(typeParameter); typeParameters.push(typeParameter); - if (token() === 26) { - nextJSDocToken(); - skipWhitespace(); - } - else { - break; - } + } while (parseOptionalJsdoc(26)); + if (constraint) { + ts.first(typeParameters).constraint = constraint.type; } - var result = createNode(295, atToken.pos); + var result = createNode(296, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeParameters = createNodeArray(typeParameters, typeParametersPos); finishNode(result); return result; } - function parseJSDocIdentifierNameWithOptionalBraces() { - var parsedBrace = parseOptional(17); - var res = parseJSDocIdentifierName(); - if (parsedBrace) { - parseExpected(18); - } - return res; - } function nextJSDocToken() { return currentToken = scanner.scanJSDocToken(); } + function parseOptionalJsdoc(t) { + if (token() === t) { + nextJSDocToken(); + return true; + } + return false; + } function parseJSDocEntityName() { var entity = parseJSDocIdentifierName(true); if (parseOptional(21)) { @@ -18576,10 +18662,7 @@ var ts; break; } case "amd-dependency": { - context.amdDependencies = ts.map(ts.toArray(entryOrList), function (_a) { - var _b = _a.arguments, name = _b.name, path = _b.path; - return ({ name: name, path: path }); - }); + context.amdDependencies = ts.map(ts.toArray(entryOrList), function (x) { return ({ name: x.arguments.name, path: x.arguments.path }); }); break; } case "amd-module": { @@ -18711,6 +18794,20 @@ var ts; } return argMap; } + function tagNamesAreEquivalent(lhs, rhs) { + if (lhs.kind !== rhs.kind) { + return false; + } + if (lhs.kind === 71) { + return lhs.escapedText === rhs.escapedText; + } + if (lhs.kind === 99) { + return true; + } + return lhs.name.escapedText === rhs.name.escapedText && + tagNamesAreEquivalent(lhs.expression, rhs.expression); + } + ts.tagNamesAreEquivalent = tagNamesAreEquivalent; })(ts || (ts = {})); var ts; (function (ts) { @@ -18726,21 +18823,21 @@ var ts; ts.getModuleInstanceState = getModuleInstanceState; function getModuleInstanceStateWorker(node) { switch (node.kind) { - case 235: case 236: - return 0; case 237: + return 0; + case 238: if (ts.isConst(node)) { return 2; } break; + case 244: case 243: - case 242: if (!(ts.hasModifier(node, 1))) { return 0; } break; - case 239: { + case 240: { var state_1 = 0; ts.forEachChild(node, function (n) { var childState = getModuleInstanceStateWorker(n); @@ -18759,7 +18856,7 @@ var ts; }); return state_1; } - case 238: + case 239: return getModuleInstanceState(node); case 71: if (node.isInJSDocNamespace) { @@ -18882,13 +18979,13 @@ var ts; if (symbolFlags & 67216319) { var valueDeclaration = symbol.valueDeclaration; if (!valueDeclaration || - (valueDeclaration.kind !== node.kind && valueDeclaration.kind === 238)) { + (valueDeclaration.kind !== node.kind && valueDeclaration.kind === 239)) { symbol.valueDeclaration = node; } } } function getDeclarationName(node) { - if (node.kind === 248) { + if (node.kind === 249) { return node.isExportEquals ? "export=" : "default"; } var name = ts.getNameOfDeclaration(node); @@ -18897,7 +18994,7 @@ var ts; var moduleName = ts.getTextOfIdentifierOrLiteral(name); return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"" + moduleName + "\""); } - if (name.kind === 146) { + if (name.kind === 147) { var nameExpression = name.expression; if (ts.isStringOrNumericLiteral(nameExpression)) { return ts.escapeLeadingUnderscores(nameExpression.text); @@ -18908,31 +19005,31 @@ var ts; return ts.isPropertyNameLiteral(name) ? ts.getEscapedTextOfIdentifierOrLiteral(name) : undefined; } switch (node.kind) { - case 154: + case 155: return "__constructor"; - case 162: - case 157: - case 287: - return "__call"; case 163: case 158: - return "__new"; + case 288: + return "__call"; + case 164: case 159: + return "__new"; + case 160: return "__index"; - case 249: + case 250: return "__export"; - case 273: + case 274: return "export="; - case 199: + case 200: if (ts.getSpecialPropertyAssignmentKind(node) === 2) { return "export="; } ts.Debug.fail("Unknown binary declaration kind"); break; - case 283: + case 284: return (ts.isJSDocConstructSignature(node) ? "__new" : "__call"); - case 148: - ts.Debug.assert(node.parent.kind === 283, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; }); + case 149: + ts.Debug.assert(node.parent.kind === 284, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; }); var functionType = node.parent; var index = functionType.parameters.indexOf(node); return "arg" + index; @@ -18982,7 +19079,7 @@ var ts; } else { if (symbol.declarations && symbol.declarations.length && - (node.kind === 248 && !node.isExportEquals)) { + (node.kind === 249 && !node.isExportEquals)) { message_1 = ts.Diagnostics.A_module_cannot_have_multiple_default_exports; } } @@ -19007,7 +19104,7 @@ var ts; function declareModuleMember(node, symbolFlags, symbolExcludes) { var hasExportModifier = ts.getCombinedModifierFlags(node) & 1; if (symbolFlags & 2097152) { - if (node.kind === 251 || (node.kind === 242 && hasExportModifier)) { + if (node.kind === 252 || (node.kind === 243 && hasExportModifier)) { return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); } else { @@ -19037,7 +19134,7 @@ var ts; var saveThisParentContainer = thisParentContainer; var savedBlockScopeContainer = blockScopeContainer; if (containerFlags & 1) { - if (node.kind !== 192) { + if (node.kind !== 193) { thisParentContainer = container; } container = blockScopeContainer = node; @@ -19065,7 +19162,7 @@ var ts; currentFlow.container = node; } } - currentReturnTarget = isIIFE || node.kind === 154 ? createBranchLabel() : undefined; + currentReturnTarget = isIIFE || node.kind === 155 ? createBranchLabel() : undefined; currentBreakTarget = undefined; currentContinueTarget = undefined; activeLabels = undefined; @@ -19077,13 +19174,13 @@ var ts; if (hasExplicitReturn) node.flags |= 256; } - if (node.kind === 273) { + if (node.kind === 274) { node.flags |= emitFlags; } if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); currentFlow = finishFlowLabel(currentReturnTarget); - if (node.kind === 154) { + if (node.kind === 155) { node.returnFlowNode = currentFlow; } } @@ -19126,8 +19223,8 @@ var ts; } } function bindEachFunctionsFirst(nodes) { - bindEach(nodes, function (n) { return n.kind === 233 ? bind(n) : undefined; }); - bindEach(nodes, function (n) { return n.kind !== 233 ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind === 234 ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind !== 234 ? bind(n) : undefined; }); } function bindEach(nodes, bindFunction) { if (bindFunction === void 0) { bindFunction = bind; } @@ -19159,76 +19256,76 @@ var ts; return; } switch (node.kind) { - case 218: + case 219: bindWhileStatement(node); break; - case 217: + case 218: bindDoStatement(node); break; - case 219: + case 220: bindForStatement(node); break; - case 220: case 221: + case 222: bindForInOrForOfStatement(node); break; - case 216: + case 217: bindIfStatement(node); break; - case 224: - case 228: + case 225: + case 229: bindReturnOrThrow(node); break; + case 224: case 223: - case 222: bindBreakOrContinueStatement(node); break; - case 229: + case 230: bindTryStatement(node); break; - case 226: + case 227: bindSwitchStatement(node); break; - case 240: + case 241: bindCaseBlock(node); break; - case 265: + case 266: bindCaseClause(node); break; - case 227: + case 228: bindLabeledStatement(node); break; - case 197: + case 198: bindPrefixUnaryExpressionFlow(node); break; - case 198: + case 199: bindPostfixUnaryExpressionFlow(node); break; - case 199: + case 200: bindBinaryExpressionFlow(node); break; - case 193: + case 194: bindDeleteExpressionFlow(node); break; - case 200: + case 201: bindConditionalExpressionFlow(node); break; - case 231: + case 232: bindVariableDeclarationFlow(node); break; - case 186: + case 187: bindCallExpressionFlow(node); break; - case 296: - case 291: + case 297: + case 292: bindJSDocTypeAlias(node); break; - case 273: + case 274: bindEachFunctionsFirst(node.statements); bind(node.endOfFileToken); break; - case 212: - case 239: + case 213: + case 240: bindEachFunctionsFirst(node.statements); break; default: @@ -19241,15 +19338,15 @@ var ts; switch (expr.kind) { case 71: case 99: - case 184: + case 185: return isNarrowableReference(expr); - case 186: + case 187: return hasNarrowableArgument(expr); - case 190: + case 191: return isNarrowingExpression(expr.expression); - case 199: + case 200: return isNarrowingBinaryExpression(expr); - case 197: + case 198: return expr.operator === 51 && isNarrowingExpression(expr.operand); } return false; @@ -19258,7 +19355,7 @@ var ts; return expr.kind === 71 || expr.kind === 99 || expr.kind === 97 || - expr.kind === 184 && isNarrowableReference(expr.expression); + expr.kind === 185 && isNarrowableReference(expr.expression); } function hasNarrowableArgument(expr) { if (expr.arguments) { @@ -19269,7 +19366,7 @@ var ts; } } } - if (expr.expression.kind === 184 && + if (expr.expression.kind === 185 && isNarrowableReference(expr.expression.expression)) { return true; } @@ -19302,9 +19399,9 @@ var ts; } function isNarrowableOperand(expr) { switch (expr.kind) { - case 190: + case 191: return isNarrowableOperand(expr.expression); - case 199: + case 200: switch (expr.operatorToken.kind) { case 58: return isNarrowableOperand(expr.left); @@ -19381,33 +19478,33 @@ var ts; function isStatementCondition(node) { var parent = node.parent; switch (parent.kind) { - case 216: - case 218: case 217: - return parent.expression === node; case 219: - case 200: + case 218: + return parent.expression === node; + case 220: + case 201: return parent.condition === node; } return false; } function isLogicalExpression(node) { while (true) { - if (node.kind === 190) { + if (node.kind === 191) { node = node.expression; } - else if (node.kind === 197 && node.operator === 51) { + else if (node.kind === 198 && node.operator === 51) { node = node.operand; } else { - return node.kind === 199 && (node.operatorToken.kind === 53 || + return node.kind === 200 && (node.operatorToken.kind === 53 || node.operatorToken.kind === 54); } } } function isTopLevelLogicalExpression(node) { - while (node.parent.kind === 190 || - node.parent.kind === 197 && + while (node.parent.kind === 191 || + node.parent.kind === 198 && node.parent.operator === 51) { node = node.parent; } @@ -19449,7 +19546,7 @@ var ts; } function bindDoStatement(node) { var preDoLabel = createLoopLabel(); - var enclosingLabeledStatement = node.parent.kind === 227 + var enclosingLabeledStatement = node.parent.kind === 228 ? ts.lastOrUndefined(activeLabels) : undefined; var preConditionLabel = enclosingLabeledStatement ? enclosingLabeledStatement.continueTarget : createBranchLabel(); @@ -19481,13 +19578,13 @@ var ts; var postLoopLabel = createBranchLabel(); addAntecedent(preLoopLabel, currentFlow); currentFlow = preLoopLabel; - if (node.kind === 221) { + if (node.kind === 222) { bind(node.awaitModifier); } bind(node.expression); addAntecedent(postLoopLabel, currentFlow); bind(node.initializer); - if (node.initializer.kind !== 232) { + if (node.initializer.kind !== 233) { bindAssignmentTargetFlow(node.initializer); } bindIterativeStatement(node.statement, postLoopLabel, preLoopLabel); @@ -19509,7 +19606,7 @@ var ts; } function bindReturnOrThrow(node) { bind(node.expression); - if (node.kind === 224) { + if (node.kind === 225) { hasExplicitReturn = true; if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); @@ -19529,7 +19626,7 @@ var ts; return undefined; } function bindBreakOrContinueFlow(node, breakTarget, continueTarget) { - var flowLabel = node.kind === 223 ? breakTarget : continueTarget; + var flowLabel = node.kind === 224 ? breakTarget : continueTarget; if (flowLabel) { addAntecedent(flowLabel, currentFlow); currentFlow = unreachableFlow; @@ -19592,7 +19689,7 @@ var ts; preSwitchCaseFlow = currentFlow; bind(node.caseBlock); addAntecedent(postSwitchLabel, currentFlow); - var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 266; }); + var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 267; }); node.possiblyExhaustive = !hasDefault && !postSwitchLabel.antecedents; if (!hasDefault) { addAntecedent(postSwitchLabel, createFlowSwitchClause(preSwitchCaseFlow, node, 0, 0)); @@ -19614,6 +19711,7 @@ var ts; } var preCaseLabel = createBranchLabel(); addAntecedent(preCaseLabel, createFlowSwitchClause(preSwitchCaseFlow, node.parent, clauseStart, i + 1)); + addAntecedent(preCaseLabel, createFlowSwitchClause(preSwitchCaseFlow, node.parent, clauseStart, i + 1)); addAntecedent(preCaseLabel, fallthroughFlow); currentFlow = finishFlowLabel(preCaseLabel); var clause = clauses[i]; @@ -19655,15 +19753,15 @@ var ts; bind(node.statement); popActiveLabel(); if (!activeLabel.referenced && !options.allowUnusedLabels) { - file.bindDiagnostics.push(createDiagnosticForNode(node.label, ts.Diagnostics.Unused_label)); + errorOrSuggestionOnFirstToken(ts.unusedLabelIsError(options), node, ts.Diagnostics.Unused_label); } - if (!node.statement || node.statement.kind !== 217) { + if (!node.statement || node.statement.kind !== 218) { addAntecedent(postStatementLabel, currentFlow); currentFlow = finishFlowLabel(postStatementLabel); } } function bindDestructuringTargetFlow(node) { - if (node.kind === 199 && node.operatorToken.kind === 58) { + if (node.kind === 200 && node.operatorToken.kind === 58) { bindAssignmentTargetFlow(node.left); } else { @@ -19674,10 +19772,10 @@ var ts; if (isNarrowableReference(node)) { currentFlow = createFlowAssignment(currentFlow, node); } - else if (node.kind === 182) { + else if (node.kind === 183) { for (var _i = 0, _a = node.elements; _i < _a.length; _i++) { var e = _a[_i]; - if (e.kind === 203) { + if (e.kind === 204) { bindAssignmentTargetFlow(e.expression); } else { @@ -19685,16 +19783,16 @@ var ts; } } } - else if (node.kind === 183) { + else if (node.kind === 184) { for (var _b = 0, _c = node.properties; _b < _c.length; _b++) { var p = _c[_b]; - if (p.kind === 269) { + if (p.kind === 270) { bindDestructuringTargetFlow(p.initializer); } - else if (p.kind === 270) { + else if (p.kind === 271) { bindAssignmentTargetFlow(p.name); } - else if (p.kind === 271) { + else if (p.kind === 272) { bindAssignmentTargetFlow(p.expression); } } @@ -19750,7 +19848,7 @@ var ts; bindEachChild(node); if (ts.isAssignmentOperator(operator) && !ts.isAssignmentTarget(node)) { bindAssignmentTargetFlow(node.left); - if (operator === 58 && node.left.kind === 185) { + if (operator === 58 && node.left.kind === 186) { var elementAccess = node.left; if (isNarrowableOperand(elementAccess.expression)) { currentFlow = createFlowArrayMutation(currentFlow, node); @@ -19761,7 +19859,7 @@ var ts; } function bindDeleteExpressionFlow(node) { bindEachChild(node); - if (node.expression.kind === 184) { + if (node.expression.kind === 185) { bindAssignmentTargetFlow(node.expression); } } @@ -19805,10 +19903,10 @@ var ts; } function bindCallExpressionFlow(node) { var expr = node.expression; - while (expr.kind === 190) { + while (expr.kind === 191) { expr = expr.expression; } - if (expr.kind === 191 || expr.kind === 192) { + if (expr.kind === 192 || expr.kind === 193) { bindEach(node.typeArguments); bindEach(node.arguments); bind(node.expression); @@ -19816,7 +19914,7 @@ var ts; else { bindEachChild(node); } - if (node.expression.kind === 184) { + if (node.expression.kind === 185) { var propertyAccess = node.expression; if (isNarrowableOperand(propertyAccess.expression) && ts.isPushOrUnshiftIdentifier(propertyAccess.name)) { currentFlow = createFlowArrayMutation(currentFlow, node); @@ -19825,53 +19923,53 @@ var ts; } function getContainerFlags(node) { switch (node.kind) { - case 204: - case 234: - case 237: - case 183: - case 165: - case 286: - case 262: - return 1; + case 205: case 235: - return 1 | 64; case 238: + case 184: + case 166: + case 287: + case 263: + return 1; case 236: - case 176: + return 1 | 64; + case 239: + case 237: + case 177: return 1 | 32; - case 273: + case 274: return 1 | 4 | 32; - case 153: + case 154: if (ts.isObjectLiteralOrClassExpressionMethod(node)) { return 1 | 4 | 32 | 8 | 128; } - case 154: - case 233: - case 152: case 155: + case 234: + case 153: case 156: case 157: - case 287: - case 283: - case 162: case 158: - case 159: + case 288: + case 284: case 163: + case 159: + case 160: + case 164: return 1 | 4 | 32 | 8; - case 191: case 192: + case 193: return 1 | 4 | 32 | 8 | 16; - case 239: + case 240: return 4; - case 151: + case 152: return node.initializer ? 4 : 0; - case 268: - case 219: + case 269: case 220: case 221: - case 240: + case 222: + case 241: return 2; - case 212: + case 213: return ts.isFunctionLike(node.parent) ? 0 : 2; } return 0; @@ -19884,40 +19982,40 @@ var ts; } function declareSymbolAndAddToSymbolTable(node, symbolFlags, symbolExcludes) { switch (container.kind) { - case 238: + case 239: return declareModuleMember(node, symbolFlags, symbolExcludes); - case 273: + case 274: return declareSourceFileMember(node, symbolFlags, symbolExcludes); - case 204: - case 234: - return declareClassMember(node, symbolFlags, symbolExcludes); - case 237: - return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); - case 165: - case 286: - case 183: + case 205: case 235: - case 262: - return declareSymbol(container.symbol.members, container.symbol, node, symbolFlags, symbolExcludes); - case 162: - case 163: - case 157: - case 158: + return declareClassMember(node, symbolFlags, symbolExcludes); + case 238: + return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); + case 166: case 287: + case 184: + case 236: + case 263: + return declareSymbol(container.symbol.members, container.symbol, node, symbolFlags, symbolExcludes); + case 163: + case 164: + case 158: case 159: - case 153: - case 152: + case 288: + case 160: case 154: + case 153: case 155: case 156: - case 233: - case 191: + case 157: + case 234: case 192: - case 283: - case 296: - case 291: - case 236: - case 176: + case 193: + case 284: + case 297: + case 292: + case 237: + case 177: return declareSymbol(container.locals, undefined, node, symbolFlags, symbolExcludes); } } @@ -19932,11 +20030,11 @@ var ts; : declareSymbol(file.locals, undefined, node, symbolFlags, symbolExcludes); } function hasExportDeclarations(node) { - var body = node.kind === 273 ? node : node.body; - if (body && (body.kind === 273 || body.kind === 239)) { + var body = node.kind === 274 ? node : node.body; + if (body && (body.kind === 274 || body.kind === 240)) { for (var _i = 0, _a = body.statements; _i < _a.length; _i++) { var stat = _a[_i]; - if (stat.kind === 249 || stat.kind === 248) { + if (stat.kind === 250 || stat.kind === 249) { return true; } } @@ -20009,11 +20107,11 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 271 || prop.name.kind !== 71) { + if (prop.kind === 272 || prop.name.kind !== 71) { continue; } var identifier = prop.name; - var currentKind = prop.kind === 269 || prop.kind === 270 || prop.kind === 153 + var currentKind = prop.kind === 270 || prop.kind === 271 || prop.kind === 154 ? 1 : 2; var existingKind = seen.get(identifier.escapedText); @@ -20041,13 +20139,14 @@ var ts; symbol.parent = container.symbol; } addDeclarationToSymbol(symbol, node, symbolFlags); + return symbol; } function bindBlockScopedDeclaration(node, symbolFlags, symbolExcludes) { switch (blockScopeContainer.kind) { - case 238: + case 239: declareModuleMember(node, symbolFlags, symbolExcludes); break; - case 273: + case 274: if (ts.isExternalOrCommonJsModule(container)) { declareModuleMember(node, symbolFlags, symbolExcludes); break; @@ -20167,8 +20266,8 @@ var ts; } function checkStrictModeFunctionDeclaration(node) { if (languageVersion < 2) { - if (blockScopeContainer.kind !== 273 && - blockScopeContainer.kind !== 238 && + if (blockScopeContainer.kind !== 274 && + blockScopeContainer.kind !== 239 && !ts.isFunctionLike(blockScopeContainer)) { var errorSpan = ts.getErrorSpanForNode(file, node); file.bindDiagnostics.push(ts.createFileDiagnostic(file, errorSpan.start, errorSpan.length, getStrictModeBlockScopeFunctionDeclarationMessage(node))); @@ -20201,6 +20300,16 @@ var ts; var span = ts.getSpanOfTokenAtPosition(file, node.pos); file.bindDiagnostics.push(ts.createFileDiagnostic(file, span.start, span.length, message, arg0, arg1, arg2)); } + function errorOrSuggestionOnFirstToken(isError, node, message, arg0, arg1, arg2) { + var span = ts.getSpanOfTokenAtPosition(file, node.pos); + var diag = ts.createFileDiagnostic(file, span.start, span.length, message, arg0, arg1, arg2); + if (isError) { + file.bindDiagnostics.push(diag); + } + else { + file.bindSuggestionDiagnostics = ts.append(file.bindSuggestionDiagnostics, __assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); + } + } function bind(node) { if (!node) { return; @@ -20208,7 +20317,7 @@ var ts; node.parent = parent; var saveInStrictMode = inStrictMode; bindWorker(node); - if (node.kind > 144) { + if (node.kind > 145) { var saveParent = parent; parent = node; var containerFlags = getContainerFlags(node); @@ -20272,11 +20381,11 @@ var ts; break; } case 99: - if (currentFlow && (ts.isExpression(node) || parent.kind === 270)) { + if (currentFlow && (ts.isExpression(node) || parent.kind === 271)) { node.flowNode = currentFlow; } return checkStrictModeIdentifier(node); - case 184: + case 185: if (currentFlow && isNarrowableReference(node)) { node.flowNode = currentFlow; } @@ -20284,7 +20393,7 @@ var ts; bindSpecialPropertyDeclaration(node); } break; - case 199: + case 200: var specialKind = ts.getSpecialPropertyAssignmentKind(node); switch (specialKind) { case 1: @@ -20311,127 +20420,127 @@ var ts; ts.Debug.fail("Unknown special property assignment kind"); } return checkStrictModeBinaryExpression(node); - case 268: + case 269: return checkStrictModeCatchClause(node); - case 193: + case 194: return checkStrictModeDeleteExpression(node); case 8: return checkStrictModeNumericLiteral(node); - case 198: + case 199: return checkStrictModePostfixUnaryExpression(node); - case 197: + case 198: return checkStrictModePrefixUnaryExpression(node); - case 225: + case 226: return checkStrictModeWithStatement(node); - case 173: + case 174: seenThisKeyword = true; return; - case 160: + case 161: break; - case 147: - return bindTypeParameter(node); case 148: + return bindTypeParameter(node); + case 149: return bindParameter(node); - case 231: + case 232: return bindVariableDeclarationOrBindingElement(node); - case 181: + case 182: node.flowNode = currentFlow; return bindVariableDeclarationOrBindingElement(node); + case 152: case 151: - case 150: return bindPropertyWorker(node); - case 269: case 270: + case 271: return bindPropertyOrMethodOrAccessor(node, 4, 0); - case 272: + case 273: return bindPropertyOrMethodOrAccessor(node, 8, 68008959); - case 157: case 158: case 159: + case 160: return declareSymbolAndAddToSymbolTable(node, 131072, 0); - case 153: - case 152: - return bindPropertyOrMethodOrAccessor(node, 8192 | (node.questionToken ? 16777216 : 0), ts.isObjectLiteralMethod(node) ? 0 : 67208127); - case 233: - return bindFunctionDeclaration(node); case 154: - return declareSymbolAndAddToSymbolTable(node, 16384, 0); + case 153: + return bindPropertyOrMethodOrAccessor(node, 8192 | (node.questionToken ? 16777216 : 0), ts.isObjectLiteralMethod(node) ? 0 : 67208127); + case 234: + return bindFunctionDeclaration(node); case 155: - return bindPropertyOrMethodOrAccessor(node, 32768, 67150783); + return declareSymbolAndAddToSymbolTable(node, 16384, 0); case 156: + return bindPropertyOrMethodOrAccessor(node, 32768, 67150783); + case 157: return bindPropertyOrMethodOrAccessor(node, 65536, 67183551); - case 162: - case 283: - case 287: case 163: + case 284: + case 288: + case 164: return bindFunctionOrConstructorType(node); - case 165: - case 286: - case 176: + case 166: + case 287: + case 177: return bindAnonymousTypeWorker(node); - case 183: + case 184: return bindObjectLiteralExpression(node); - case 191: case 192: + case 193: return bindFunctionExpression(node); - case 186: + case 187: if (ts.isInJavaScriptFile(node)) { bindCallExpression(node); } break; - case 204: - case 234: + case 205: + case 235: inStrictMode = true; return bindClassLikeDeclaration(node); - case 235: - return bindBlockScopedDeclaration(node, 64, 67901832); case 236: - return bindBlockScopedDeclaration(node, 524288, 67901928); + return bindBlockScopedDeclaration(node, 64, 67901832); case 237: - return bindEnumDeclaration(node); + return bindBlockScopedDeclaration(node, 524288, 67901928); case 238: + return bindEnumDeclaration(node); + case 239: return bindModuleDeclaration(node); - case 262: + case 263: return bindJsxAttributes(node); - case 261: + case 262: return bindJsxAttribute(node, 4, 0); - case 242: - case 245: - case 247: - case 251: - return declareSymbolAndAddToSymbolTable(node, 2097152, 2097152); - case 241: - return bindNamespaceExportDeclaration(node); - case 244: - return bindImportClause(node); - case 249: - return bindExportDeclaration(node); + case 243: + case 246: case 248: + case 252: + return declareSymbolAndAddToSymbolTable(node, 2097152, 2097152); + case 242: + return bindNamespaceExportDeclaration(node); + case 245: + return bindImportClause(node); + case 250: + return bindExportDeclaration(node); + case 249: return bindExportAssignment(node); - case 273: + case 274: updateStrictModeStatementList(node.statements); return bindSourceFileIfExternalModule(); - case 212: + case 213: if (!ts.isFunctionLike(node.parent)) { return; } - case 239: + case 240: return updateStrictModeStatementList(node.statements); - case 292: - if (node.parent.kind === 287) { + case 293: + if (node.parent.kind === 288) { return bindParameter(node); } - if (node.parent.kind !== 286) { + if (node.parent.kind !== 287) { break; } - case 297: + case 298: var propTag = node; - var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 282 ? + var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 283 ? 4 | 16777216 : 4; return declareSymbolAndAddToSymbolTable(propTag, flags, 0); - case 296: - case 291: + case 297: + case 292: return (delayedTypeAliases || (delayedTypeAliases = [])).push(node); } } @@ -20461,7 +20570,7 @@ var ts; bindAnonymousDeclaration(node, 2097152, getDeclarationName(node)); } else { - var flags = node.kind === 248 && ts.exportAssignmentIsAlias(node) + var flags = node.kind === 249 && ts.exportAssignmentIsAlias(node) ? 2097152 : 4; declareSymbol(container.symbol.exports, container.symbol, node, flags, 67108863); @@ -20471,7 +20580,7 @@ var ts; if (node.modifiers && node.modifiers.length) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Modifiers_cannot_appear_here)); } - if (node.parent.kind !== 273) { + if (node.parent.kind !== 274) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Global_module_exports_may_only_appear_at_top_level)); return; } @@ -20513,13 +20622,11 @@ var ts; function bindExportsPropertyAssignment(node) { setCommonJsModuleIndicator(node); var lhs = node.left; - var symbol = forEachIdentifierInEntityName(lhs.expression, function (id, original) { - if (!original) { - return undefined; + var symbol = forEachIdentifierInEntityName(lhs.expression, undefined, function (id, symbol) { + if (symbol) { + addDeclarationToSymbol(symbol, id, 1536 | 67108864); } - var s = ts.getJSInitializerSymbol(original); - addDeclarationToSymbol(s, id, 1536 | 67108864); - return s; + return symbol; }); if (symbol) { var flags = ts.isClassExpression(node.right) ? @@ -20544,13 +20651,13 @@ var ts; ts.Debug.assert(ts.isInJavaScriptFile(node)); var thisContainer = ts.getThisContainer(node, false); switch (thisContainer.kind) { - case 233: - case 191: + case 234: + case 192: var constructorSymbol = thisContainer.symbol; if (ts.isBinaryExpression(thisContainer.parent) && thisContainer.parent.operatorToken.kind === 58) { var l = thisContainer.parent.left; if (ts.isPropertyAccessEntityNameExpression(l) && ts.isPrototypeAccess(l.expression)) { - constructorSymbol = getJSInitializerSymbolFromName(l.expression.expression, thisParentContainer); + constructorSymbol = lookupSymbolForPropertyAccess(l.expression.expression, thisParentContainer); } } if (constructorSymbol) { @@ -20558,16 +20665,16 @@ var ts; declareSymbol(constructorSymbol.members, constructorSymbol, node, 4, 0 & ~4); } break; - case 154: - case 151: - case 153: case 155: + case 152: + case 154: case 156: + case 157: var containingClass = thisContainer.parent; var symbolTable = ts.hasModifier(thisContainer, 32) ? containingClass.symbol.exports : containingClass.symbol.members; declareSymbol(symbolTable, containingClass.symbol, node, 4, 0, true); break; - case 273: + case 274: break; default: ts.Debug.fail(ts.Debug.showSyntaxKind(thisContainer)); @@ -20577,7 +20684,7 @@ var ts; if (node.expression.kind === 99) { bindThisPropertyAssignment(node); } - else if (ts.isPropertyAccessEntityNameExpression(node) && node.parent.parent.kind === 273) { + else if (ts.isPropertyAccessEntityNameExpression(node) && node.parent.parent.kind === 274) { if (ts.isPrototypeAccess(node.expression)) { bindPrototypePropertyAssignment(node, node.parent); } @@ -20615,39 +20722,52 @@ var ts; node.expression.parent = node; bindPropertyAssignment(node.expression, node, false); } - function getJSInitializerSymbolFromName(name, lookupContainer) { - return ts.getJSInitializerSymbol(lookupSymbolForPropertyAccess(name, lookupContainer)); - } function bindPropertyAssignment(name, propertyAccess, isPrototypeProperty) { - var symbol = getJSInitializerSymbolFromName(name); + var namespaceSymbol = lookupSymbolForPropertyAccess(name); var isToplevelNamespaceableInitializer = ts.isBinaryExpression(propertyAccess.parent) - ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 273 && + ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 274 && !!ts.getJavascriptInitializer(ts.getInitializerOfBinaryExpression(propertyAccess.parent), ts.isPrototypeAccess(propertyAccess.parent.left)) - : propertyAccess.parent.parent.kind === 273; - if (!isPrototypeProperty && (!symbol || !(symbol.flags & 1920)) && isToplevelNamespaceableInitializer) { + : propertyAccess.parent.parent.kind === 274; + if (!isPrototypeProperty && (!namespaceSymbol || !(namespaceSymbol.flags & 1920)) && isToplevelNamespaceableInitializer) { var flags_1 = 1536 | 67108864; var excludeFlags_1 = 67215503 & ~67108864; - forEachIdentifierInEntityName(propertyAccess.expression, function (id, original) { - if (original) { - addDeclarationToSymbol(original, id, flags_1); - return original; + namespaceSymbol = forEachIdentifierInEntityName(propertyAccess.expression, namespaceSymbol, function (id, symbol, parent) { + if (symbol) { + addDeclarationToSymbol(symbol, id, flags_1); + return symbol; } else { - return symbol = declareSymbol(symbol ? symbol.exports : container.locals, symbol, id, flags_1, excludeFlags_1); + return declareSymbol(parent ? parent.exports : container.locals, parent, id, flags_1, excludeFlags_1); } }); } - if (!symbol || !(symbol.flags & (16 | 32 | 1024 | 4096))) { + if (!namespaceSymbol || !isJavascriptContainer(namespaceSymbol)) { return; } var symbolTable = isPrototypeProperty ? - (symbol.members || (symbol.members = ts.createSymbolTable())) : - (symbol.exports || (symbol.exports = ts.createSymbolTable())); + (namespaceSymbol.members || (namespaceSymbol.members = ts.createSymbolTable())) : + (namespaceSymbol.exports || (namespaceSymbol.exports = ts.createSymbolTable())); var jsContainerFlag = isToplevelNamespaceableInitializer ? 67108864 : 0; var isMethod = ts.isFunctionLikeDeclaration(ts.getAssignedJavascriptInitializer(propertyAccess)); var symbolFlags = (isMethod ? 8192 : 4) | jsContainerFlag; var symbolExcludes = (isMethod ? 67208127 : 0) & ~jsContainerFlag; - declareSymbol(symbolTable, symbol, propertyAccess, symbolFlags, symbolExcludes); + declareSymbol(symbolTable, namespaceSymbol, propertyAccess, symbolFlags, symbolExcludes); + } + function isJavascriptContainer(symbol) { + if (symbol.flags & (16 | 32 | 1024)) { + return true; + } + var node = symbol.valueDeclaration; + var init = !node ? undefined : + ts.isVariableDeclaration(node) ? node.initializer : + ts.isBinaryExpression(node) ? node.right : + ts.isPropertyAccessExpression(node) && ts.isBinaryExpression(node.parent) ? node.parent.right : + undefined; + if (init) { + var isPrototypeAssignment = ts.isPrototypeAccess(ts.isVariableDeclaration(node) ? node.name : ts.isBinaryExpression(node) ? node.left : node); + return !!ts.getJavascriptInitializer(ts.isBinaryExpression(init) && init.operatorToken.kind === 54 ? init.right : init, isPrototypeAssignment); + } + return false; } function getParentOfBinaryExpression(expr) { while (ts.isBinaryExpression(expr.parent)) { @@ -20661,21 +20781,22 @@ var ts; return lookupSymbolForNameWorker(lookupContainer, node.escapedText); } else { - var symbol = ts.getJSInitializerSymbol(lookupSymbolForPropertyAccess(node.expression)); + var symbol = lookupSymbolForPropertyAccess(node.expression); return symbol && symbol.exports && symbol.exports.get(node.name.escapedText); } } - function forEachIdentifierInEntityName(e, action) { + function forEachIdentifierInEntityName(e, parent, action) { if (isExportsOrModuleExportsOrAlias(file, e)) { return file.symbol; } else if (ts.isIdentifier(e)) { - return action(e, lookupSymbolForPropertyAccess(e)); + return action(e, lookupSymbolForPropertyAccess(e), parent); } else { - var s = ts.getJSInitializerSymbol(forEachIdentifierInEntityName(e.expression, action)); - ts.Debug.assert(!!s && !!s.exports); - return action(e.name, s.exports.get(e.name.escapedText)); + var s = forEachIdentifierInEntityName(e.expression, parent, action); + if (!s || !s.exports) + return ts.Debug.fail(); + return action(e.name, s.exports.get(e.name.escapedText), s); } } function bindCallExpression(node) { @@ -20684,7 +20805,7 @@ var ts; } } function bindClassLikeDeclaration(node) { - if (node.kind === 234) { + if (node.kind === 235) { bindBlockScopedDeclaration(node, 32, 68008383); } else { @@ -20728,7 +20849,7 @@ var ts; } } function bindParameter(node) { - if (node.kind === 292 && container.kind !== 287) { + if (node.kind === 293 && container.kind !== 288) { return; } if (inStrictMode && !(node.flags & 4194304)) { @@ -20801,7 +20922,7 @@ var ts; declareSymbolAndAddToSymbolTable(node, 262144, 67639784); } } - else if (node.parent.kind === 171) { + else if (node.parent.kind === 172) { var container_2 = getInferTypeContainer(node.parent); if (container_2) { if (!container_2.locals) { @@ -20819,26 +20940,26 @@ var ts; } function shouldReportErrorOnModuleDeclaration(node) { var instanceState = getModuleInstanceState(node); - return instanceState === 1 || (instanceState === 2 && options.preserveConstEnums); + return instanceState === 1 || (instanceState === 2 && !!options.preserveConstEnums); } function checkUnreachable(node) { if (!(currentFlow.flags & 1)) { return false; } if (currentFlow === unreachableFlow) { - var reportError = (ts.isStatementButNotDeclaration(node) && node.kind !== 214) || - node.kind === 234 || - (node.kind === 238 && shouldReportErrorOnModuleDeclaration(node)) || - (node.kind === 237 && (!ts.isConstEnumDeclaration(node) || options.preserveConstEnums)); + var reportError = (ts.isStatementButNotDeclaration(node) && node.kind !== 215) || + node.kind === 235 || + (node.kind === 239 && shouldReportErrorOnModuleDeclaration(node)) || + (node.kind === 238 && (!ts.isConstEnumDeclaration(node) || options.preserveConstEnums)); if (reportError) { currentFlow = reportedUnreachableFlow; - var reportUnreachableCode = !options.allowUnreachableCode && - !(node.flags & 4194304) && - (node.kind !== 213 || - ts.getCombinedNodeFlags(node.declarationList) & 3 || - ts.forEach(node.declarationList.declarations, function (d) { return d.initializer; })); - if (reportUnreachableCode) { - errorOnFirstToken(node, ts.Diagnostics.Unreachable_code_detected); + if (!options.allowUnreachableCode) { + var isError = ts.unreachableCodeIsError(options) && + !(node.flags & 4194304) && + (!ts.isVariableStatement(node) || + !!(ts.getCombinedNodeFlags(node.declarationList) & 3) || + node.declarationList.declarations.some(function (d) { return !!d.initializer; })); + errorOrSuggestionOnFirstToken(isError, node, ts.Diagnostics.Unreachable_code_detected); } } } @@ -20853,8 +20974,8 @@ var ts; ts.isExportsOrModuleExportsOrAlias = isExportsOrModuleExportsOrAlias; function isNameOfExportsOrModuleExportsAliasDeclaration(sourceFile, node) { var symbol = lookupSymbolForNameWorker(sourceFile, node.escapedText); - return symbol && symbol.valueDeclaration && ts.isVariableDeclaration(symbol.valueDeclaration) && - symbol.valueDeclaration.initializer && isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, symbol.valueDeclaration.initializer); + return !!symbol && !!symbol.valueDeclaration && ts.isVariableDeclaration(symbol.valueDeclaration) && + !!symbol.valueDeclaration.initializer && isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, symbol.valueDeclaration.initializer); } function isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, node) { return isExportsOrModuleExportsOrAlias(sourceFile, node) || @@ -20870,58 +20991,58 @@ var ts; function computeTransformFlagsForNode(node, subtreeFlags) { var kind = node.kind; switch (kind) { - case 186: - return computeCallExpression(node, subtreeFlags); case 187: + return computeCallExpression(node, subtreeFlags); + case 188: return computeNewExpression(node, subtreeFlags); - case 238: + case 239: return computeModuleDeclaration(node, subtreeFlags); - case 190: - return computeParenthesizedExpression(node, subtreeFlags); - case 199: - return computeBinaryExpression(node, subtreeFlags); - case 215: - return computeExpressionStatement(node, subtreeFlags); - case 148: - return computeParameter(node, subtreeFlags); - case 192: - return computeArrowFunction(node, subtreeFlags); case 191: + return computeParenthesizedExpression(node, subtreeFlags); + case 200: + return computeBinaryExpression(node, subtreeFlags); + case 216: + return computeExpressionStatement(node, subtreeFlags); + case 149: + return computeParameter(node, subtreeFlags); + case 193: + return computeArrowFunction(node, subtreeFlags); + case 192: return computeFunctionExpression(node, subtreeFlags); - case 233: - return computeFunctionDeclaration(node, subtreeFlags); - case 231: - return computeVariableDeclaration(node, subtreeFlags); - case 232: - return computeVariableDeclarationList(node, subtreeFlags); - case 213: - return computeVariableStatement(node, subtreeFlags); - case 227: - return computeLabeledStatement(node, subtreeFlags); case 234: + return computeFunctionDeclaration(node, subtreeFlags); + case 232: + return computeVariableDeclaration(node, subtreeFlags); + case 233: + return computeVariableDeclarationList(node, subtreeFlags); + case 214: + return computeVariableStatement(node, subtreeFlags); + case 228: + return computeLabeledStatement(node, subtreeFlags); + case 235: return computeClassDeclaration(node, subtreeFlags); - case 204: + case 205: return computeClassExpression(node, subtreeFlags); - case 267: - return computeHeritageClause(node, subtreeFlags); case 268: + return computeHeritageClause(node, subtreeFlags); + case 269: return computeCatchClause(node, subtreeFlags); - case 206: + case 207: return computeExpressionWithTypeArguments(node, subtreeFlags); - case 154: - return computeConstructor(node, subtreeFlags); - case 151: - return computePropertyDeclaration(node, subtreeFlags); - case 153: - return computeMethod(node, subtreeFlags); case 155: + return computeConstructor(node, subtreeFlags); + case 152: + return computePropertyDeclaration(node, subtreeFlags); + case 154: + return computeMethod(node, subtreeFlags); case 156: + case 157: return computeAccessor(node, subtreeFlags); - case 242: + case 243: return computeImportEquals(node, subtreeFlags); - case 184: - return computePropertyAccess(node, subtreeFlags); case 185: + return computePropertyAccess(node, subtreeFlags); + case 186: return computeElementAccess(node, subtreeFlags); default: return computeOther(node, kind, subtreeFlags); @@ -20965,10 +21086,10 @@ var ts; var transformFlags = subtreeFlags; var operatorTokenKind = node.operatorToken.kind; var leftKind = node.left.kind; - if (operatorTokenKind === 58 && leftKind === 183) { + if (operatorTokenKind === 58 && leftKind === 184) { transformFlags |= 8 | 192 | 3072; } - else if (operatorTokenKind === 58 && leftKind === 182) { + else if (operatorTokenKind === 58 && leftKind === 183) { transformFlags |= 192 | 3072; } else if (operatorTokenKind === 40 @@ -21006,8 +21127,8 @@ var ts; var expression = node.expression; var expressionKind = expression.kind; var expressionTransformFlags = expression.transformFlags; - if (expressionKind === 207 - || expressionKind === 189) { + if (expressionKind === 208 + || expressionKind === 190) { transformFlags |= 3; } if (expressionTransformFlags & 1024) { @@ -21306,12 +21427,12 @@ var ts; var excludeFlags = 939525441; switch (kind) { case 120: - case 196: + case 197: transformFlags |= 8 | 16; break; - case 189: - case 207: - case 300: + case 190: + case 208: + case 301: transformFlags |= 3; excludeFlags = 536872257; break; @@ -21321,17 +21442,16 @@ var ts; case 117: case 124: case 76: - case 237: - case 272: - case 208: + case 238: + case 273: + case 209: case 132: transformFlags |= 3; break; - case 254: case 255: case 256: - case 10: case 257: + case 10: case 258: case 259: case 260: @@ -21339,17 +21459,18 @@ var ts; case 262: case 263: case 264: + case 265: transformFlags |= 4; break; case 13: case 14: case 15: case 16: - case 201: - case 188: - case 270: + case 202: + case 189: + case 271: case 115: - case 209: + case 210: transformFlags |= 192; break; case 9: @@ -21362,13 +21483,13 @@ var ts; transformFlags |= 192; } break; - case 221: + case 222: if (node.awaitModifier) { transformFlags |= 8; } transformFlags |= 192; break; - case 202: + case 203: transformFlags |= 8 | 192 | 16777216; break; case 119: @@ -21379,10 +21500,9 @@ var ts; case 122: case 138: case 105: - case 147: - case 150: - case 152: - case 157: + case 148: + case 151: + case 153: case 158: case 159: case 160: @@ -21398,27 +21518,28 @@ var ts; case 170: case 171: case 172: - case 235: - case 236: case 173: + case 236: + case 237: case 174: case 175: case 176: case 177: - case 241: + case 178: + case 242: transformFlags = 3; excludeFlags = -3; break; - case 146: + case 147: transformFlags |= 2097152; if (subtreeFlags & 16384) { transformFlags |= 65536; } break; - case 203: + case 204: transformFlags |= 192 | 524288; break; - case 271: + case 272: transformFlags |= 8 | 1048576; break; case 97: @@ -21428,27 +21549,27 @@ var ts; case 99: transformFlags |= 16384; break; - case 179: + case 180: transformFlags |= 192 | 8388608; if (subtreeFlags & 524288) { transformFlags |= 8 | 1048576; } excludeFlags = 940049729; break; - case 180: + case 181: transformFlags |= 192 | 8388608; excludeFlags = 940049729; break; - case 181: + case 182: transformFlags |= 192; if (node.dotDotDotToken) { transformFlags |= 524288; } break; - case 149: + case 150: transformFlags |= 3 | 4096; break; - case 183: + case 184: excludeFlags = 942740801; if (subtreeFlags & 2097152) { transformFlags |= 192; @@ -21460,29 +21581,31 @@ var ts; transformFlags |= 8; } break; - case 182: - case 187: + case 183: + case 188: excludeFlags = 940049729; if (subtreeFlags & 524288) { transformFlags |= 192; } break; - case 217: case 218: case 219: case 220: + case 221: if (subtreeFlags & 4194304) { transformFlags |= 192; } break; - case 273: + case 274: if (subtreeFlags & 32768) { transformFlags |= 192; } break; - case 224: - case 222: + case 225: + transformFlags |= 33554432 | 8; + break; case 223: + case 224: transformFlags |= 33554432; break; } @@ -21490,33 +21613,33 @@ var ts; return transformFlags & ~excludeFlags; } function getTransformFlagsSubtreeExclusions(kind) { - if (kind >= 160 && kind <= 178) { + if (kind >= 161 && kind <= 179) { return -3; } switch (kind) { - case 186: case 187: - case 182: + case 188: + case 183: return 940049729; - case 238: + case 239: return 977327425; - case 148: + case 149: return 939525441; - case 192: + case 193: return 1003902273; - case 191: - case 233: - return 1003935041; - case 232: - return 948962625; + case 192: case 234: - case 204: + return 1003935041; + case 233: + return 948962625; + case 235: + case 205: return 942011713; - case 154: - return 1003668801; - case 153: case 155: + return 1003668801; + case 154: case 156: + case 157: return 1003668801; case 119: case 134: @@ -21526,30 +21649,30 @@ var ts; case 122: case 138: case 105: - case 147: - case 150: - case 152: - case 157: + case 148: + case 151: + case 153: case 158: case 159: - case 235: + case 160: case 236: + case 237: return -3; - case 183: + case 184: return 942740801; - case 268: + case 269: return 940574017; - case 179: case 180: + case 181: return 940049729; - case 189: - case 207: - case 300: case 190: + case 208: + case 301: + case 191: case 97: return 536872257; - case 184: case 185: + case 186: return 671089985; default: return 939525441; @@ -21602,7 +21725,7 @@ var ts; var shouldBail = visitSymbol(type.symbol); if (shouldBail) return; - if (type.flags & 65536) { + if (type.flags & 131072) { var objectType = type; var objectFlags = objectType.objectFlags; if (objectFlags & 4) { @@ -21618,16 +21741,16 @@ var ts; visitObjectType(objectType); } } - if (type.flags & 32768) { + if (type.flags & 65536) { visitTypeParameter(type); } - if (type.flags & 393216) { + if (type.flags & 786432) { visitUnionOrIntersectionType(type); } - if (type.flags & 524288) { + if (type.flags & 1048576) { visitIndexType(type); } - if (type.flags & 1048576) { + if (type.flags & 2097152) { visitIndexedAccessType(type); } } @@ -21695,11 +21818,11 @@ var ts; } function visitSymbol(symbol) { if (!symbol) { - return; + return false; } var symbolId = ts.getSymbolId(symbol); if (visitedSymbols[symbolId]) { - return; + return false; } visitedSymbols[symbolId] = symbol; if (!accept(symbol)) { @@ -21711,12 +21834,13 @@ var ts; symbol.exports.forEach(visitSymbol); } ts.forEach(symbol.declarations, function (d) { - if (d.type && d.type.kind === 164) { + if (d.type && d.type.kind === 165) { var query = d.type; var entity = getResolvedSymbol(getFirstIdentifier(query.exprName)); visitSymbol(entity); } }); + return false; } } } @@ -21729,7 +21853,7 @@ var ts; } ts.trace = trace; function isTraceEnabled(compilerOptions, host) { - return compilerOptions.traceResolution && host.trace !== undefined; + return !!compilerOptions.traceResolution && host.trace !== undefined; } ts.isTraceEnabled = isTraceEnabled; function withPackageId(packageId, r) { @@ -21890,14 +22014,13 @@ var ts; } } function secondaryLookup() { - var resolvedFile; var initialLocationForSecondaryLookup = containingFile && ts.getDirectoryPath(containingFile); if (initialLocationForSecondaryLookup !== undefined) { if (traceEnabled) { trace(host, ts.Diagnostics.Looking_up_in_node_modules_folder_initial_location_0, initialLocationForSecondaryLookup); } var result = loadModuleFromNodeModules(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, failedLookupLocations, moduleResolutionState, undefined); - resolvedFile = resolvedTypeScriptOnly(result && result.value); + var resolvedFile = resolvedTypeScriptOnly(result && result.value); if (!resolvedFile && traceEnabled) { trace(host, ts.Diagnostics.Type_reference_directive_0_was_not_resolved, typeReferenceDirectiveName); } @@ -22049,7 +22172,7 @@ var ts; result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache); break; default: - ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); + return ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); } if (perFolderCache) { perFolderCache.set(moduleName, result); @@ -22227,7 +22350,7 @@ var ts; var originalPath = void 0; if (!compilerOptions.preserveSymlinks && resolvedValue) { originalPath = resolvedValue.path; - var path = realPath(resolved_1.value.path, host, traceEnabled); + var path = realPath(resolvedValue.path, host, traceEnabled); if (path === originalPath) { originalPath = undefined; } @@ -22327,7 +22450,7 @@ var ts; function loadModuleFromFile(extensions, candidate, failedLookupLocations, onlyRecordFailures, state) { if (extensions === Extensions.Json) { var extensionLess = ts.tryRemoveExtension(candidate, ".json"); - return extensionLess && tryAddingExtensions(extensionLess, extensions, failedLookupLocations, onlyRecordFailures, state); + return extensionLess === undefined ? undefined : tryAddingExtensions(extensionLess, extensions, failedLookupLocations, onlyRecordFailures, state); } var resolvedByAddingExtension = tryAddingExtensions(candidate, extensions, failedLookupLocations, onlyRecordFailures, state); if (resolvedByAddingExtension) { @@ -22361,7 +22484,7 @@ var ts; } function tryExtension(ext) { var path = tryFile(candidate + ext, failedLookupLocations, onlyRecordFailures, state); - return path && { path: path, ext: ext }; + return path === undefined ? undefined : { path: path, ext: ext }; } } function tryFile(fileName, failedLookupLocations, onlyRecordFailures, state) { @@ -22732,11 +22855,12 @@ var ts; getGlobalDiagnostics: getGlobalDiagnostics, getTypeOfSymbolAtLocation: function (symbol, location) { location = ts.getParseTreeNode(location); - return location ? getTypeOfSymbolAtLocation(symbol, location) : unknownType; + return location ? getTypeOfSymbolAtLocation(symbol, location) : errorType; }, - getSymbolsOfParameterPropertyDeclaration: function (parameter, parameterName) { - parameter = ts.getParseTreeNode(parameter, ts.isParameter); - ts.Debug.assert(parameter !== undefined, "Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."); + getSymbolsOfParameterPropertyDeclaration: function (parameterIn, parameterName) { + var parameter = ts.getParseTreeNode(parameterIn, ts.isParameter); + if (parameter === undefined) + return ts.Debug.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."); return getSymbolsOfParameterPropertyDeclaration(parameter, ts.escapeLeadingUnderscores(parameterName)); }, getDeclaredTypeOfSymbol: getDeclaredTypeOfSymbol, @@ -22748,9 +22872,9 @@ var ts; getBaseTypes: getBaseTypes, getBaseTypeOfLiteralType: getBaseTypeOfLiteralType, getWidenedType: getWidenedType, - getTypeFromTypeNode: function (node) { - node = ts.getParseTreeNode(node, ts.isTypeNode); - return node ? getTypeFromTypeNode(node) : unknownType; + getTypeFromTypeNode: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isTypeNode); + return node ? getTypeFromTypeNode(node) : errorType; }, getParameterType: getTypeAtPosition, getReturnTypeOfSignature: getReturnTypeOfSignature, @@ -22776,8 +22900,8 @@ var ts; node = ts.getParseTreeNode(node); return node ? getShorthandAssignmentValueSymbol(node) : undefined; }, - getExportSpecifierLocalTargetSymbol: function (node) { - node = ts.getParseTreeNode(node, ts.isExportSpecifier); + getExportSpecifierLocalTargetSymbol: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isExportSpecifier); return node ? getExportSpecifierLocalTargetSymbol(node) : undefined; }, getExportSymbolOfSymbol: function (symbol) { @@ -22785,10 +22909,10 @@ var ts; }, getTypeAtLocation: function (node) { node = ts.getParseTreeNode(node); - return node ? getTypeOfNode(node) : unknownType; + return node ? getTypeOfNode(node) : errorType; }, - getPropertySymbolOfDestructuringAssignment: function (location) { - location = ts.getParseTreeNode(location, ts.isIdentifier); + getPropertySymbolOfDestructuringAssignment: function (locationIn) { + var location = ts.getParseTreeNode(locationIn, ts.isIdentifier); return location ? getPropertySymbolOfDestructuringAssignment(location) : undefined; }, signatureToString: function (signature, enclosingDeclaration, flags, kind) { @@ -22818,41 +22942,41 @@ var ts; getSymbolDisplayBuilder: getSymbolDisplayBuilder, getAugmentedPropertiesOfType: getAugmentedPropertiesOfType, getRootSymbols: getRootSymbols, - getContextualType: function (node) { - node = ts.getParseTreeNode(node, ts.isExpression); + getContextualType: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isExpression); return node ? getContextualType(node) : undefined; }, - getContextualTypeForArgumentAtIndex: function (node, argIndex) { - node = ts.getParseTreeNode(node, ts.isCallLikeExpression); + getContextualTypeForArgumentAtIndex: function (nodeIn, argIndex) { + var node = ts.getParseTreeNode(nodeIn, ts.isCallLikeExpression); return node && getContextualTypeForArgumentAtIndex(node, argIndex); }, - getContextualTypeForJsxAttribute: function (node) { - node = ts.getParseTreeNode(node, ts.isJsxAttributeLike); + getContextualTypeForJsxAttribute: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isJsxAttributeLike); return node && getContextualTypeForJsxAttribute(node); }, isContextSensitive: isContextSensitive, getFullyQualifiedName: getFullyQualifiedName, - getResolvedSignature: function (node, candidatesOutArray, theArgumentCount) { - node = ts.getParseTreeNode(node, ts.isCallLikeExpression); + getResolvedSignature: function (nodeIn, candidatesOutArray, theArgumentCount) { + var node = ts.getParseTreeNode(nodeIn, ts.isCallLikeExpression); apparentArgumentCount = theArgumentCount; var res = node ? getResolvedSignature(node, candidatesOutArray) : undefined; apparentArgumentCount = undefined; return res; }, - getConstantValue: function (node) { - node = ts.getParseTreeNode(node, canHaveConstantValue); + getConstantValue: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue(node) : undefined; }, - isValidPropertyAccess: function (node, propertyName) { - node = ts.getParseTreeNode(node, ts.isPropertyAccessOrQualifiedNameOrImportTypeNode); + isValidPropertyAccess: function (nodeIn, propertyName) { + var node = ts.getParseTreeNode(nodeIn, ts.isPropertyAccessOrQualifiedNameOrImportTypeNode); return !!node && isValidPropertyAccess(node, ts.escapeLeadingUnderscores(propertyName)); }, - isValidPropertyAccessForCompletions: function (node, type, property) { - node = ts.getParseTreeNode(node, ts.isPropertyAccessExpression); + isValidPropertyAccessForCompletions: function (nodeIn, type, property) { + var node = ts.getParseTreeNode(nodeIn, ts.isPropertyAccessExpression); return !!node && isValidPropertyAccessForCompletions(node, type, property); }, - getSignatureFromDeclaration: function (declaration) { - declaration = ts.getParseTreeNode(declaration, ts.isFunctionLike); + getSignatureFromDeclaration: function (declarationIn) { + var declaration = ts.getParseTreeNode(declarationIn, ts.isFunctionLike); return declaration ? getSignatureFromDeclaration(declaration) : undefined; }, isImplementationOfOverload: function (node) { @@ -22864,7 +22988,8 @@ var ts; var links = getSymbolLinks(symbol); if (!links.immediateTarget) { var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); + if (!node) + return ts.Debug.fail(); links.immediateTarget = getTargetOfAliasDeclaration(node, true); } return links.immediateTarget; @@ -22875,13 +23000,13 @@ var ts; getExportsAndPropertiesOfModule: getExportsAndPropertiesOfModule, getSymbolWalker: ts.createGetSymbolWalker(getRestTypeOfSignature, getTypePredicateOfSignature, getReturnTypeOfSignature, getBaseTypes, resolveStructuredTypeMembers, getTypeOfSymbol, getResolvedSymbol, getIndexTypeOfStructuredType, getConstraintFromTypeParameter, getFirstIdentifier), getAmbientModules: getAmbientModules, - getAllAttributesTypeFromJsxOpeningLikeElement: function (node) { - node = ts.getParseTreeNode(node, ts.isJsxOpeningLikeElement); + getAllAttributesTypeFromJsxOpeningLikeElement: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isJsxOpeningLikeElement); return node ? getAllAttributesTypeFromJsxOpeningLikeElement(node) : undefined; }, getJsxIntrinsicTagNamesAt: getJsxIntrinsicTagNamesAt, - isOptionalParameter: function (node) { - node = ts.getParseTreeNode(node, ts.isParameter); + isOptionalParameter: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isParameter); return node ? isOptionalParameter(node) : false; }, tryGetMemberInModuleExports: function (name, symbol) { return tryGetMemberInModuleExports(ts.escapeLeadingUnderscores(name), symbol); }, @@ -22913,7 +23038,7 @@ var ts; getSuggestionForNonexistentSymbol: function (location, name, meaning) { return getSuggestionForNonexistentSymbol(location, ts.escapeLeadingUnderscores(name), meaning); }, getSuggestionForNonexistentModule: function (node, target) { return getSuggestionForNonexistentModule(node, target); }, getBaseConstraintOfType: getBaseConstraintOfType, - getDefaultFromTypeParameter: function (type) { return type && type.flags & 32768 ? getDefaultFromTypeParameter(type) : undefined; }, + getDefaultFromTypeParameter: function (type) { return type && type.flags & 65536 ? getDefaultFromTypeParameter(type) : undefined; }, resolveName: function (name, location, meaning, excludeGlobals) { return resolveName(location, ts.escapeLeadingUnderscores(name), meaning, undefined, undefined, false, excludeGlobals); }, @@ -22925,24 +23050,31 @@ var ts; node = ts.getParseTreeNode(node); return node && tryGetThisTypeAt(node); }, - getTypeArgumentConstraint: function (node) { - node = ts.getParseTreeNode(node, ts.isTypeNode); + getTypeArgumentConstraint: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isTypeNode); return node && getTypeArgumentConstraint(node); }, - getSuggestionDiagnostics: function (file) { - return (suggestionDiagnostics.get(file.fileName) || ts.emptyArray).concat(getUnusedDiagnostics()); - function getUnusedDiagnostics() { - if (file.isDeclarationFile) - return ts.emptyArray; + getSuggestionDiagnostics: function (file, ct) { + var diagnostics; + try { + cancellationToken = ct; checkSourceFile(file); - var diagnostics = []; ts.Debug.assert(!!(getNodeLinks(file).flags & 1)); + diagnostics = ts.addRange(diagnostics, suggestionDiagnostics.get(file.fileName)); + if (!file.isDeclarationFile && (!unusedIsError(0) || !unusedIsError(1))) { + addUnusedDiagnostics(); + } + return diagnostics || ts.emptyArray; + } + finally { + cancellationToken = undefined; + } + function addUnusedDiagnostics() { checkUnusedIdentifiers(getPotentiallyUnusedIdentifiers(file), function (kind, diag) { if (!unusedIsError(kind)) { - diagnostics.push(__assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); + (diagnostics || (diagnostics = [])).push(__assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); } }); - return diagnostics; } }, runWithCancellationToken: function (token, callback) { @@ -22967,22 +23099,23 @@ var ts; var anyType = createIntrinsicType(1, "any"); var autoType = createIntrinsicType(1, "any"); var wildcardType = createIntrinsicType(1, "any"); - var unknownType = createIntrinsicType(1, "unknown"); - var undefinedType = createIntrinsicType(4096, "undefined"); - var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(4096 | 16777216, "undefined"); - var nullType = createIntrinsicType(8192, "null"); - var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(8192 | 16777216, "null"); - var stringType = createIntrinsicType(2, "string"); - var numberType = createIntrinsicType(4, "number"); - var trueType = createIntrinsicType(128, "true"); - var falseType = createIntrinsicType(128, "false"); + var errorType = createIntrinsicType(1, "error"); + var unknownType = createIntrinsicType(2, "unknown"); + var undefinedType = createIntrinsicType(8192, "undefined"); + var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(8192 | 134217728, "undefined"); + var nullType = createIntrinsicType(16384, "null"); + var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(16384 | 134217728, "null"); + var stringType = createIntrinsicType(4, "string"); + var numberType = createIntrinsicType(8, "number"); + var trueType = createIntrinsicType(256, "true"); + var falseType = createIntrinsicType(256, "false"); var booleanType = createBooleanType([trueType, falseType]); - var esSymbolType = createIntrinsicType(512, "symbol"); - var voidType = createIntrinsicType(2048, "void"); - var neverType = createIntrinsicType(16384, "never"); - var silentNeverType = createIntrinsicType(16384, "never"); - var implicitNeverType = createIntrinsicType(16384, "never"); - var nonPrimitiveType = createIntrinsicType(134217728, "object"); + var esSymbolType = createIntrinsicType(1024, "symbol"); + var voidType = createIntrinsicType(4096, "void"); + var neverType = createIntrinsicType(32768, "never"); + var silentNeverType = createIntrinsicType(32768, "never"); + var implicitNeverType = createIntrinsicType(32768, "never"); + var nonPrimitiveType = createIntrinsicType(16777216, "object"); var stringNumberSymbolType = getUnionType([stringType, numberType, esSymbolType]); var keyofConstraintType = keyofStringsOnly ? stringType : stringNumberSymbolType; var emptyObjectType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); @@ -22992,17 +23125,17 @@ var ts; var emptyGenericType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); emptyGenericType.instantiations = ts.createMap(); var anyFunctionType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); - anyFunctionType.flags |= 67108864; + anyFunctionType.flags |= 536870912; var noConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); var circularConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); var resolvingDefaultType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); - var markerSuperType = createType(32768); - var markerSubType = createType(32768); + var markerSuperType = createType(65536); + var markerSubType = createType(65536); markerSubType.constraint = markerSuperType; - var markerOtherType = createType(32768); + var markerOtherType = createType(65536); var noTypePredicate = createIdentifierTypePredicate("<>", 0, anyType); var anySignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, undefined, 0, false, false); - var unknownSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, unknownType, undefined, 0, false, false); + var unknownSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, errorType, undefined, 0, false, false); var resolvingSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, undefined, 0, false, false); var silentNeverSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, silentNeverType, undefined, 0, false, false); var resolvingSignaturesArray = [resolvingSignature]; @@ -23216,6 +23349,7 @@ var ts; typeToString(type, enclosingDeclaration, flags, emitTextWriterWrapper(writer)); }, buildSymbolDisplay: function (symbol, writer, enclosingDeclaration, meaning, flags) { + if (flags === void 0) { flags = 0; } symbolToString(symbol, enclosingDeclaration, meaning, flags | 4, emitTextWriterWrapper(writer)); }, buildSignatureDisplay: function (signature, writer, enclosing, flags, kind) { @@ -23465,15 +23599,17 @@ var ts; function mergeSymbol(target, source) { if (!(target.flags & getExcludedSymbolFlags(source.flags)) || (source.flags | target.flags) & 67108864) { - var targetValueDeclaration = target.valueDeclaration; - ts.Debug.assert(!!(target.flags & 33554432)); + ts.Debug.assert(source !== target); + if (!(target.flags & 33554432)) { + target = cloneSymbol(target); + } if (source.flags & 512 && target.flags & 512 && target.constEnumOnlyModule && !source.constEnumOnlyModule) { target.constEnumOnlyModule = false; } target.flags |= source.flags; if (source.valueDeclaration && (!target.valueDeclaration || - (target.valueDeclaration.kind === 238 && source.valueDeclaration.kind !== 238))) { + (target.valueDeclaration.kind === 239 && source.valueDeclaration.kind !== 239))) { target.valueDeclaration = source.valueDeclaration; } ts.addRange(target.declarations, source.declarations); @@ -23487,18 +23623,6 @@ var ts; target.exports = ts.createSymbolTable(); mergeSymbolTable(target.exports, source.exports); } - if ((source.flags | target.flags) & 67108864) { - var sourceInitializer = ts.getJSInitializerSymbol(source); - var init = ts.getDeclaredJavascriptInitializer(targetValueDeclaration) || ts.getAssignedJavascriptInitializer(targetValueDeclaration); - var targetInitializer = init && init.symbol ? init.symbol : target; - if (!(targetInitializer.flags & 33554432)) { - var mergedInitializer = getMergedSymbol(targetInitializer); - targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; - } - if (sourceInitializer !== source || targetInitializer !== target) { - mergeSymbol(targetInitializer, sourceInitializer); - } - } recordMergedSymbol(target, source); } else if (target.flags & 1024) { @@ -23519,11 +23643,12 @@ var ts; error(errorNode, message_2, symbolToString(source)); }); } + return target; } function combineSymbolTables(first, second) { - if (!first || first.size === 0) + if (!ts.hasEntries(first)) return second; - if (!second || second.size === 0) + if (!ts.hasEntries(second)) return first; var combined = ts.createSymbolTable(); mergeSymbolTable(combined, first); @@ -23532,17 +23657,7 @@ var ts; } function mergeSymbolTable(target, source) { source.forEach(function (sourceSymbol, id) { - var targetSymbol = target.get(id); - if (!targetSymbol) { - target.set(id, sourceSymbol); - } - else { - if (!(targetSymbol.flags & 33554432)) { - targetSymbol = cloneSymbol(targetSymbol); - target.set(id, targetSymbol); - } - mergeSymbol(targetSymbol, sourceSymbol); - } + target.set(id, target.has(id) ? mergeSymbol(target.get(id), sourceSymbol) : sourceSymbol); }); } function mergeModuleAugmentation(moduleName) { @@ -23564,8 +23679,7 @@ var ts; } mainModule = resolveExternalModuleSymbol(mainModule); if (mainModule.flags & 1920) { - mainModule = mainModule.flags & 33554432 ? mainModule : cloneSymbol(mainModule); - mergeSymbol(mainModule, moduleAugmentation.symbol); + mainModule = mergeSymbol(mainModule, moduleAugmentation.symbol); } else { error(moduleName, ts.Diagnostics.Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity, moduleName.text); @@ -23597,7 +23711,7 @@ var ts; return nodeLinks[nodeId] || (nodeLinks[nodeId] = { flags: 0 }); } function isGlobalSourceFile(node) { - return node.kind === 273 && !ts.isExternalOrCommonJsModule(node); + return node.kind === 274 && !ts.isExternalOrCommonJsModule(node); } function getSymbol(symbols, name, meaning) { if (meaning) { @@ -23624,7 +23738,7 @@ var ts; if (parameterSymbol && propertySymbol) { return [parameterSymbol, propertySymbol]; } - ts.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration"); + return ts.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration"); } function isBlockScopedNameDeclaredBeforeUse(declaration, usage) { var declarationFile = ts.getSourceFileOfNode(declaration); @@ -23643,15 +23757,15 @@ var ts; return sourceFiles.indexOf(declarationFile) <= sourceFiles.indexOf(useFile); } if (declaration.pos <= usage.pos) { - if (declaration.kind === 181) { - var errorBindingElement = ts.getAncestor(usage, 181); + if (declaration.kind === 182) { + var errorBindingElement = ts.getAncestor(usage, 182); if (errorBindingElement) { return ts.findAncestor(errorBindingElement, ts.isBindingElement) !== ts.findAncestor(declaration, ts.isBindingElement) || declaration.pos < errorBindingElement.pos; } - return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 231), usage); + return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 232), usage); } - else if (declaration.kind === 231) { + else if (declaration.kind === 232) { return !isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage); } else if (ts.isClassDeclaration(declaration)) { @@ -23659,10 +23773,10 @@ var ts; } return true; } - if (usage.parent.kind === 251 || (usage.parent.kind === 248 && usage.parent.isExportEquals)) { + if (usage.parent.kind === 252 || (usage.parent.kind === 249 && usage.parent.isExportEquals)) { return true; } - if (usage.kind === 248 && usage.isExportEquals) { + if (usage.kind === 249 && usage.isExportEquals) { return true; } var container = ts.getEnclosingBlockScopeContainer(declaration); @@ -23670,15 +23784,16 @@ var ts; function isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage) { var container = ts.getEnclosingBlockScopeContainer(declaration); switch (declaration.parent.parent.kind) { - case 213: - case 219: - case 221: + case 214: + case 220: + case 222: if (isSameScopeDescendentOf(usage, declaration, container)) { return true; } break; } - return ts.isForInOrOfStatement(declaration.parent.parent) && isSameScopeDescendentOf(usage, declaration.parent.parent.expression, container); + var grandparent = declaration.parent.parent; + return ts.isForInOrOfStatement(grandparent) && isSameScopeDescendentOf(usage, grandparent.expression, container); } function isUsedInFunctionOrInstanceProperty(usage, declaration, container) { return !!ts.findAncestor(usage, function (current) { @@ -23689,21 +23804,22 @@ var ts; return true; } var initializerOfProperty = current.parent && - current.parent.kind === 151 && + current.parent.kind === 152 && current.parent.initializer === current; if (initializerOfProperty) { if (ts.hasModifier(current.parent, 32)) { - if (declaration.kind === 153) { + if (declaration.kind === 154) { return true; } } else { - var isDeclarationInstanceProperty = declaration.kind === 151 && !ts.hasModifier(declaration, 32); + var isDeclarationInstanceProperty = declaration.kind === 152 && !ts.hasModifier(declaration, 32); if (!isDeclarationInstanceProperty || ts.getContainingClass(usage) !== ts.getContainingClass(declaration)) { return true; } } } + return false; }); } } @@ -23725,21 +23841,21 @@ var ts; if (result = lookup(location.locals, name, meaning)) { var useResult = true; if (ts.isFunctionLike(location) && lastLocation && lastLocation !== location.body) { - if (meaning & result.flags & 67901928 && lastLocation.kind !== 285) { + if (meaning & result.flags & 67901928 && lastLocation.kind !== 286) { useResult = result.flags & 262144 ? lastLocation === location.type || - lastLocation.kind === 148 || - lastLocation.kind === 147 + lastLocation.kind === 149 || + lastLocation.kind === 148 : false; } if (meaning & 67216319 && result.flags & 1) { useResult = - lastLocation.kind === 148 || + lastLocation.kind === 149 || (lastLocation === location.type && !!ts.findAncestor(result.valueDeclaration, ts.isParameter)); } } - else if (location.kind === 170) { + else if (location.kind === 171) { useResult = lastLocation === location.trueType; } if (useResult) { @@ -23751,13 +23867,13 @@ var ts; } } switch (location.kind) { - case 273: + case 274: if (!ts.isExternalOrCommonJsModule(location)) break; isInExternalModule = true; - case 238: + case 239: var moduleExports = getSymbolOfNode(location).exports; - if (location.kind === 273 || ts.isAmbientModule(location)) { + if (location.kind === 274 || ts.isAmbientModule(location)) { if (result = moduleExports.get("default")) { var localSymbol = ts.getLocalSymbolForExportDefault(result); if (localSymbol && (result.flags & meaning) && localSymbol.escapedName === name) { @@ -23768,21 +23884,26 @@ var ts; var moduleExport = moduleExports.get(name); if (moduleExport && moduleExport.flags === 2097152 && - ts.getDeclarationOfKind(moduleExport, 251)) { + ts.getDeclarationOfKind(moduleExport, 252)) { break; } } if (name !== "default" && (result = lookup(moduleExports, name, meaning & 2623475))) { - break loop; + if (ts.isSourceFile(location) && location.commonJsModuleIndicator && !result.declarations.some(ts.isJSDocTypeAlias)) { + result = undefined; + } + else { + break loop; + } } break; - case 237: + case 238: if (result = lookup(getSymbolOfNode(location).exports, name, meaning & 8)) { break loop; } break; + case 152: case 151: - case 150: if (ts.isClassLike(location.parent) && !ts.hasModifier(location, 32)) { var ctor = findConstructorDeclaration(location.parent); if (ctor && ctor.locals) { @@ -23792,9 +23913,9 @@ var ts; } } break; - case 234: - case 204: case 235: + case 205: + case 236: if (result = lookup(getMembersOfSymbol(getSymbolOfNode(location)), name, meaning & 67901928)) { if (!isTypeParameterSymbolDeclaredInContainer(result, location)) { result = undefined; @@ -23806,7 +23927,7 @@ var ts; } break loop; } - if (location.kind === 204 && meaning & 32) { + if (location.kind === 205 && meaning & 32) { var className = location.name; if (className && name === className.escapedText) { result = location.symbol; @@ -23814,7 +23935,7 @@ var ts; } } break; - case 206: + case 207: if (lastLocation === location.expression && location.parent.token === 85) { var container = location.parent.parent; if (ts.isClassLike(container) && (result = lookup(getSymbolOfNode(container).members, name, meaning & 67901928))) { @@ -23825,28 +23946,28 @@ var ts; } } break; - case 146: + case 147: grandparent = location.parent.parent; - if (ts.isClassLike(grandparent) || grandparent.kind === 235) { + if (ts.isClassLike(grandparent) || grandparent.kind === 236) { if (result = lookup(getSymbolOfNode(grandparent).members, name, meaning & 67901928)) { error(errorLocation, ts.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type); return undefined; } } break; - case 153: - case 152: case 154: + case 153: case 155: case 156: - case 233: - case 192: + case 157: + case 234: + case 193: if (meaning & 3 && name === "arguments") { result = argumentsSymbol; break loop; } break; - case 191: + case 192: if (meaning & 3 && name === "arguments") { result = argumentsSymbol; break loop; @@ -23859,19 +23980,18 @@ var ts; } } break; - case 149: - if (location.parent && location.parent.kind === 148) { + case 150: + if (location.parent && location.parent.kind === 149) { location = location.parent; } if (location.parent && ts.isClassElement(location.parent)) { location = location.parent; } break; - case 296: - case 291: - lastLocation = location; - location = ts.getJSDocHost(location).parent; - continue; + case 297: + case 292: + location = ts.getJSDocHost(location); + break; } if (isSelfReferenceLocation(location)) { lastSelfReferenceLocation = location; @@ -23884,7 +24004,7 @@ var ts; } if (!result) { if (lastLocation) { - ts.Debug.assert(lastLocation.kind === 273); + ts.Debug.assert(lastLocation.kind === 274); if (lastLocation.commonJsModuleIndicator && name === "exports") { return lastLocation.symbol; } @@ -23943,7 +24063,7 @@ var ts; } if (result && isInExternalModule && (meaning & 67216319) === 67216319 && !(originalLocation.flags & 2097152)) { var decls = result.declarations; - if (decls && decls.length === 1 && decls[0].kind === 241) { + if (decls && decls.length === 1 && decls[0].kind === 242) { error(errorLocation, ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, ts.unescapeLeadingUnderscores(name)); } } @@ -23952,12 +24072,12 @@ var ts; } function isSelfReferenceLocation(node) { switch (node.kind) { - case 233: case 234: case 235: - case 237: case 236: case 238: + case 237: + case 239: return true; default: return false; @@ -23969,7 +24089,7 @@ var ts; function isTypeParameterSymbolDeclaredInContainer(symbol, container) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - if (decl.kind === 147) { + if (decl.kind === 148) { var parent = ts.isJSDocTemplateTag(decl.parent) ? ts.getJSDocHost(decl.parent) : decl.parent; if (parent === container) { return !(ts.isJSDocTemplateTag(decl.parent) && ts.find(decl.parent.parent.tags, ts.isJSDocTypeAlias)); @@ -24009,18 +24129,18 @@ var ts; } function checkAndReportErrorForExtendingInterface(errorLocation) { var expression = getEntityNameForExtendingInterface(errorLocation); - var isError = !!(expression && resolveEntityName(expression, 64, true)); - if (isError) { + if (expression && resolveEntityName(expression, 64, true)) { error(errorLocation, ts.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements, ts.getTextOfNode(expression)); + return true; } - return isError; + return false; } function getEntityNameForExtendingInterface(node) { switch (node.kind) { case 71: - case 184: + case 185: return node.parent ? getEntityNameForExtendingInterface(node.parent) : undefined; - case 206: + case 207: if (ts.isEntityNameExpression(node.expression)) { return node.expression; } @@ -24082,8 +24202,9 @@ var ts; } function checkResolvedBlockScopedVariable(result, errorLocation) { ts.Debug.assert(!!(result.flags & 2 || result.flags & 32 || result.flags & 384)); - var declaration = ts.forEach(result.declarations, function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 237) ? d : undefined; }); - ts.Debug.assert(declaration !== undefined, "Declaration to checkResolvedBlockScopedVariable is undefined"); + var declaration = ts.forEach(result.declarations, function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 238) ? d : undefined; }); + if (declaration === undefined) + return ts.Debug.fail("Declaration to checkResolvedBlockScopedVariable is undefined"); if (!(declaration.flags & 4194304) && !isBlockScopedNameDeclaredBeforeUse(declaration, errorLocation)) { if (result.flags & 2) { error(errorLocation, ts.Diagnostics.Block_scoped_variable_0_used_before_its_declaration, ts.declarationNameToString(ts.getNameOfDeclaration(declaration))); @@ -24097,17 +24218,17 @@ var ts; } } function isSameScopeDescendentOf(initial, parent, stopAt) { - return parent && !!ts.findAncestor(initial, function (n) { return n === stopAt || ts.isFunctionLike(n) ? "quit" : n === parent; }); + return !!parent && !!ts.findAncestor(initial, function (n) { return n === stopAt || ts.isFunctionLike(n) ? "quit" : n === parent; }); } function getAnyImportSyntax(node) { switch (node.kind) { - case 242: + case 243: return node; - case 244: - return node.parent; case 245: + return node.parent; + case 246: return node.parent.parent; - case 247: + case 248: return node.parent.parent.parent; default: return undefined; @@ -24117,7 +24238,7 @@ var ts; return ts.find(symbol.declarations, ts.isAliasSymbolDeclaration); } function getTargetOfImportEqualsDeclaration(node, dontResolveAlias) { - if (node.moduleReference.kind === 253) { + if (node.moduleReference.kind === 254) { return resolveExternalModuleSymbol(resolveExternalModuleName(node, ts.getExternalModuleImportEqualsDeclarationExpression(node))); } return getSymbolOfPartOfRightHandSideOfImportEquals(node.moduleReference, dontResolveAlias); @@ -24129,7 +24250,7 @@ var ts; : resolveSymbol(moduleSymbol.exports.get(name), dontResolveAlias); } function isSyntacticDefault(node) { - return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasModifier(node, 512)); + return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasModifier(node, 512) || ts.isExportSpecifier(node)); } function canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias) { if (!allowSyntheticDefaultImports) { @@ -24207,6 +24328,7 @@ var ts; } } function getExternalModuleMember(node, specifier, dontResolveAlias) { + if (dontResolveAlias === void 0) { dontResolveAlias = false; } var moduleSymbol = resolveExternalModuleName(node, node.moduleSpecifier); var targetSymbol = resolveESModuleSymbol(moduleSymbol, node.moduleSpecifier, dontResolveAlias); if (targetSymbol) { @@ -24269,33 +24391,35 @@ var ts; return getNodeLinks(expression).resolvedSymbol; } function getTargetOfAliasDeclaration(node, dontRecursivelyResolve) { + if (dontRecursivelyResolve === void 0) { dontRecursivelyResolve = false; } switch (node.kind) { - case 242: + case 243: return getTargetOfImportEqualsDeclaration(node, dontRecursivelyResolve); - case 244: - return getTargetOfImportClause(node, dontRecursivelyResolve); case 245: + return getTargetOfImportClause(node, dontRecursivelyResolve); + case 246: return getTargetOfNamespaceImport(node, dontRecursivelyResolve); - case 247: - return getTargetOfImportSpecifier(node, dontRecursivelyResolve); - case 251: - return getTargetOfExportSpecifier(node, 67216319 | 67901928 | 1920, dontRecursivelyResolve); case 248: - case 199: + return getTargetOfImportSpecifier(node, dontRecursivelyResolve); + case 252: + return getTargetOfExportSpecifier(node, 67216319 | 67901928 | 1920, dontRecursivelyResolve); + case 249: + case 200: return getTargetOfExportAssignment(node, dontRecursivelyResolve); - case 241: + case 242: return getTargetOfNamespaceExportDeclaration(node, dontRecursivelyResolve); + default: + return ts.Debug.fail(); } } function isNonLocalAlias(symbol, excludes) { if (excludes === void 0) { excludes = 67216319 | 67901928 | 1920; } if (!symbol) return false; - return (symbol.flags & (2097152 | excludes)) === 2097152 || (symbol.flags & 2097152 && symbol.flags & 67108864); + return (symbol.flags & (2097152 | excludes)) === 2097152 || !!(symbol.flags & 2097152 && symbol.flags & 67108864); } function resolveSymbol(symbol, dontResolveAlias) { - var shouldResolve = !dontResolveAlias && isNonLocalAlias(symbol); - return shouldResolve ? resolveAlias(symbol) : symbol; + return !dontResolveAlias && isNonLocalAlias(symbol) ? resolveAlias(symbol) : symbol; } function resolveAlias(symbol) { ts.Debug.assert((symbol.flags & 2097152) !== 0, "Should only get Alias here."); @@ -24303,7 +24427,8 @@ var ts; if (!links.target) { links.target = resolvingSymbol; var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); + if (!node) + return ts.Debug.fail(); var target = getTargetOfAliasDeclaration(node); if (links.target === resolvingSymbol) { links.target = target || unknownSymbol; @@ -24333,11 +24458,12 @@ var ts; if (!links.referenced) { links.referenced = true; var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); - if (node.kind === 248) { + if (!node) + return ts.Debug.fail(); + if (node.kind === 249) { checkExpressionCached(node.expression); } - else if (node.kind === 251) { + else if (node.kind === 252) { checkExpressionCached(node.propertyName || node.name); } else if (ts.isInternalModuleImportEqualsDeclaration(node)) { @@ -24349,11 +24475,11 @@ var ts; if (entityName.kind === 71 && ts.isRightSideOfQualifiedNameOrPropertyAccess(entityName)) { entityName = entityName.parent; } - if (entityName.kind === 71 || entityName.parent.kind === 145) { + if (entityName.kind === 71 || entityName.parent.kind === 146) { return resolveEntityName(entityName, 1920, false, dontResolveAlias); } else { - ts.Debug.assert(entityName.parent.kind === 242); + ts.Debug.assert(entityName.parent.kind === 243); return resolveEntityName(entityName, 67216319 | 67901928 | 1920, false, dontResolveAlias); } } @@ -24374,9 +24500,9 @@ var ts; return symbolFromJSPrototype; } } - else if (name.kind === 145 || name.kind === 184) { - var left = name.kind === 145 ? name.left : name.expression; - var right = name.kind === 145 ? name.right : name.name; + else if (name.kind === 146 || name.kind === 185) { + var left = name.kind === 146 ? name.left : name.expression; + var right = name.kind === 146 ? name.right : name.name; var namespace = resolveEntityName(left, namespaceMeaning, ignoreErrors, false, location); if (!namespace || ts.nodeIsMissing(right)) { return undefined; @@ -24385,13 +24511,6 @@ var ts; return namespace; } if (ts.isInJavaScriptFile(name)) { - var initializer = ts.getDeclaredJavascriptInitializer(namespace.valueDeclaration) || ts.getAssignedJavascriptInitializer(namespace.valueDeclaration); - if (initializer) { - namespace = getSymbolOfNode(initializer); - } - if (!namespace) { - return undefined; - } if (namespace.valueDeclaration && ts.isVariableDeclaration(namespace.valueDeclaration) && namespace.valueDeclaration.initializer && @@ -24415,7 +24534,7 @@ var ts; } } else { - ts.Debug.assertNever(name, "Unknown entity name kind."); + throw ts.Debug.assertNever(name, "Unknown entity name kind."); } ts.Debug.assert((ts.getCheckFlags(symbol) & 1) === 0, "Should never get an instantiated symbol here."); return (symbol.flags & meaning) || dontResolveAlias ? symbol : resolveAlias(symbol); @@ -24553,14 +24672,7 @@ var ts; moduleSymbol.exports.forEach(function (s, name) { if (name === "export=") return; - if (!merged.exports.has(name)) { - merged.exports.set(name, s); - } - else { - var ms = cloneSymbol(merged.exports.get(name)); - mergeSymbol(ms, s); - merged.exports.set(name, ms); - } + merged.exports.set(name, merged.exports.has(name) ? mergeSymbol(merged.exports.get(name), s) : s); }); return merged; } @@ -24634,7 +24746,7 @@ var ts; return undefined; } var type = getTypeOfSymbol(exportEquals); - return type.flags & 16382 ? undefined : getPropertyOfType(type, memberName); + return type.flags & 32764 ? undefined : getPropertyOfType(type, memberName); } function getExportsOfSymbol(symbol) { return symbol.flags & 32 ? getResolvedMembersOrExportsOfSymbol(symbol, "resolvedExports") : @@ -24715,6 +24827,38 @@ var ts; function getParentOfSymbol(symbol) { return getMergedSymbol(symbol.parent && getLateBoundSymbol(symbol.parent)); } + function getContainerOfSymbol(symbol) { + var container = getParentOfSymbol(symbol); + if (container) { + return container; + } + var candidate = ts.forEach(symbol.declarations, function (d) { return !ts.isAmbientModule(d) && d.parent && hasNonGlobalAugmentationExternalModuleSymbol(d.parent) ? getSymbolOfNode(d.parent) : undefined; }); + if (!candidate) { + return undefined; + } + var alias = getAliasForSymbolInContainer(candidate, symbol); + return alias ? candidate : undefined; + } + function getAliasForSymbolInContainer(container, symbol) { + if (container === getParentOfSymbol(symbol)) { + return symbol; + } + var exports = getExportsOfSymbol(container); + var quick = exports.get(symbol.escapedName); + if (quick && symbolRefersToTarget(quick)) { + return quick; + } + return ts.forEachEntry(exports, function (exported) { + if (symbolRefersToTarget(exported)) { + return exported; + } + }); + function symbolRefersToTarget(s) { + if (s === symbol || resolveSymbol(s) === symbol || resolveSymbol(s) === resolveSymbol(symbol)) { + return s; + } + } + } function getExportSymbolOfValueSymbolIfExported(symbol) { return symbol && (symbol.flags & 1048576) !== 0 ? getMergedSymbol(symbol.exportSymbol) @@ -24727,7 +24871,7 @@ var ts; var members = node.members; for (var _i = 0, members_2 = members; _i < members_2.length; _i++) { var member = members_2[_i]; - if (member.kind === 154 && ts.nodeIsPresent(member.body)) { + if (member.kind === 155 && ts.nodeIsPresent(member.body)) { return member; } } @@ -24745,12 +24889,12 @@ var ts; } function createBooleanType(trueFalseTypes) { var type = getUnionType(trueFalseTypes); - type.flags |= 8; + type.flags |= 16; type.intrinsicName = "boolean"; return type; } function createObjectType(objectFlags, symbol) { - var type = createType(65536); + var type = createType(131072); type.objectFlags = objectFlags; type.symbol = symbol; return type; @@ -24800,11 +24944,11 @@ var ts; } } switch (location.kind) { - case 273: + case 274: if (!ts.isExternalOrCommonJsModule(location)) { break; } - case 238: + case 239: if (result = callback(getSymbolOfNode(location).exports)) { return result; } @@ -24841,7 +24985,7 @@ var ts; } function isAccessible(symbolFromSymbolTable, resolvedAliasSymbol, ignoreQualification) { return symbol === (resolvedAliasSymbol || symbolFromSymbolTable) && - !ts.some(symbolFromSymbolTable.declarations, hasExternalModuleSymbol) && + !ts.some(symbolFromSymbolTable.declarations, hasNonGlobalAugmentationExternalModuleSymbol) && (ignoreQualification || canQualifySymbol(symbolFromSymbolTable, meaning)); } function trySymbolTable(symbols, ignoreQualification) { @@ -24864,20 +25008,25 @@ var ts; return [symbolFromSymbolTable].concat(accessibleSymbolsFromExports); } } + if (symbolFromSymbolTable.escapedName === symbol.escapedName && symbolFromSymbolTable.exportSymbol) { + if (isAccessible(getMergedSymbol(symbolFromSymbolTable.exportSymbol), undefined, ignoreQualification)) { + return [symbol]; + } + } }); } } function needsQualification(symbol, enclosingDeclaration, meaning) { var qualify = false; forEachSymbolTableInScope(enclosingDeclaration, function (symbolTable) { - var symbolFromSymbolTable = symbolTable.get(symbol.escapedName); + var symbolFromSymbolTable = getMergedSymbol(symbolTable.get(symbol.escapedName)); if (!symbolFromSymbolTable) { return false; } if (symbolFromSymbolTable === symbol) { return true; } - symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 && !ts.getDeclarationOfKind(symbolFromSymbolTable, 251)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; + symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 && !ts.getDeclarationOfKind(symbolFromSymbolTable, 252)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; if (symbolFromSymbolTable.flags & meaning) { qualify = true; return true; @@ -24891,10 +25040,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; switch (declaration.kind) { - case 151: - case 153: - case 155: + case 152: + case 154: case 156: + case 157: continue; default: return false; @@ -24930,14 +25079,14 @@ var ts; return hasAccessibleDeclarations; } else { - if (ts.some(symbol.declarations, hasExternalModuleSymbol)) { + if (ts.some(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol)) { return { accessibility: 0 }; } } meaningToLook = getQualifiedLeftMeaning(meaning); - symbol = getParentOfSymbol(symbol); + symbol = getContainerOfSymbol(symbol); } var symbolExternalModule = ts.forEach(initialSymbol.declarations, getExternalModuleContainer); if (symbolExternalModule) { @@ -24962,7 +25111,10 @@ var ts; } } function hasExternalModuleSymbol(declaration) { - return ts.isAmbientModule(declaration) || (declaration.kind === 273 && ts.isExternalOrCommonJsModule(declaration)); + return ts.isAmbientModule(declaration) || (declaration.kind === 274 && ts.isExternalOrCommonJsModule(declaration)); + } + function hasNonGlobalAugmentationExternalModuleSymbol(declaration) { + return ts.isModuleWithStringLiteralName(declaration) || (declaration.kind === 274 && ts.isExternalOrCommonJsModule(declaration)); } function hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible) { var aliasesToMakeVisible; @@ -25002,13 +25154,13 @@ var ts; } function isEntityNameVisible(entityName, enclosingDeclaration) { var meaning; - if (entityName.parent.kind === 164 || + if (entityName.parent.kind === 165 || ts.isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent) || - entityName.parent.kind === 146) { + entityName.parent.kind === 147) { meaning = 67216319 | 1048576; } - else if (entityName.kind === 145 || entityName.kind === 184 || - entityName.parent.kind === 242) { + else if (entityName.kind === 146 || entityName.kind === 185 || + entityName.parent.kind === 243) { meaning = 1920; } else { @@ -25045,14 +25197,15 @@ var ts; } } function signatureToString(signature, enclosingDeclaration, flags, kind, writer) { + if (flags === void 0) { flags = 0; } return writer ? signatureToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(signatureToStringWorker); function signatureToStringWorker(writer) { var sigOutput; if (flags & 262144) { - sigOutput = kind === 1 ? 163 : 162; + sigOutput = kind === 1 ? 164 : 163; } else { - sigOutput = kind === 1 ? 158 : 157; + sigOutput = kind === 1 ? 159 : 158; } var sig = nodeBuilder.signatureToSignatureDeclaration(signature, sigOutput, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960 | 512); var printer = ts.createPrinter({ removeComments: true, omitTrailingSemicolon: true }); @@ -25062,10 +25215,11 @@ var ts; } } function typeToString(type, enclosingDeclaration, flags, writer) { - if (flags === void 0) { flags = 1048576; } + if (flags === void 0) { flags = 1048576 | 16384; } if (writer === void 0) { writer = ts.createTextWriter(""); } var typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960, writer); - ts.Debug.assert(typeNode !== undefined, "should always get typenode"); + if (typeNode === undefined) + return ts.Debug.fail("should always get typenode"); var options = { removeComments: true }; var printer = ts.createPrinter(options); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); @@ -25078,6 +25232,7 @@ var ts; return result; } function toNodeBuilderFlags(flags) { + if (flags === void 0) { flags = 0; } return flags & 9469291; } function createNodeBuilder() { @@ -25142,7 +25297,7 @@ var ts; function createNodeBuilderContext(enclosingDeclaration, flags, tracker) { return { enclosingDeclaration: enclosingDeclaration, - flags: flags, + flags: flags || 0, tracker: tracker && tracker.trackSymbol ? tracker : { trackSymbol: ts.noop }, encounteredError: false, visitedSymbols: undefined, @@ -25163,34 +25318,37 @@ var ts; return ts.createKeywordTypeNode(119); } if (type.flags & 2) { - return ts.createKeywordTypeNode(137); + return ts.createKeywordTypeNode(142); } if (type.flags & 4) { - return ts.createKeywordTypeNode(134); + return ts.createKeywordTypeNode(137); } if (type.flags & 8) { + return ts.createKeywordTypeNode(134); + } + if (type.flags & 16) { return ts.createKeywordTypeNode(122); } - if (type.flags & 256 && !(type.flags & 131072)) { + if (type.flags & 512 && !(type.flags & 262144)) { var parentSymbol = getParentOfSymbol(type.symbol); var parentName = symbolToName(parentSymbol, context, 67901928, false); var enumLiteralName = getDeclaredTypeOfSymbol(parentSymbol) === type ? parentName : ts.createQualifiedName(parentName, ts.symbolName(type.symbol)); return ts.createTypeReferenceNode(enumLiteralName, undefined); } - if (type.flags & 272) { + if (type.flags & 544) { var name = symbolToName(type.symbol, context, 67901928, false); return ts.createTypeReferenceNode(name, undefined); } - if (type.flags & (32)) { + if (type.flags & (64)) { return ts.createLiteralTypeNode(ts.setEmitFlags(ts.createLiteral(type.value), 16777216)); } - if (type.flags & (64)) { + if (type.flags & (128)) { return ts.createLiteralTypeNode((ts.createLiteral(type.value))); } - if (type.flags & 128) { + if (type.flags & 256) { return type.intrinsicName === "true" ? ts.createTrue() : ts.createFalse(); } - if (type.flags & 1024) { + if (type.flags & 2048) { if (!(context.flags & 1048576)) { if (isValueSymbolAccessible(type.symbol, context.enclosingDeclaration)) { return symbolToTypeNode(type.symbol, context, 67216319); @@ -25201,25 +25359,25 @@ var ts; } return ts.createTypeOperatorNode(141, ts.createKeywordTypeNode(138)); } - if (type.flags & 2048) { + if (type.flags & 4096) { return ts.createKeywordTypeNode(105); } - if (type.flags & 4096) { + if (type.flags & 8192) { return ts.createKeywordTypeNode(140); } - if (type.flags & 8192) { + if (type.flags & 16384) { return ts.createKeywordTypeNode(95); } - if (type.flags & 16384) { + if (type.flags & 32768) { return ts.createKeywordTypeNode(131); } - if (type.flags & 512) { + if (type.flags & 1024) { return ts.createKeywordTypeNode(138); } - if (type.flags & 134217728) { + if (type.flags & 16777216) { return ts.createKeywordTypeNode(135); } - if (type.flags & 32768 && type.isThisType) { + if (type.flags & 65536 && type.isThisType) { if (context.flags & 4194304) { if (!context.encounteredError && !(context.flags & 32768)) { context.encounteredError = true; @@ -25232,23 +25390,24 @@ var ts; } var objectFlags = ts.getObjectFlags(type); if (objectFlags & 4) { - ts.Debug.assert(!!(type.flags & 65536)); + ts.Debug.assert(!!(type.flags & 131072)); return typeReferenceToTypeNode(type); } - if (type.flags & 32768 || objectFlags & 3) { - if (type.flags & 32768 && ts.contains(context.inferTypeParameters, type)) { + if (type.flags & 65536 || objectFlags & 3) { + if (type.flags & 65536 && ts.contains(context.inferTypeParameters, type)) { return ts.createInferTypeNode(typeParameterToDeclarationWithConstraint(type, context, undefined)); } if (context.flags & 4 && - type.flags & 32768 && + type.flags & 65536 && ts.length(type.symbol.declarations) && ts.isTypeParameterDeclaration(type.symbol.declarations[0]) && typeParameterShadowsNameInScope(type, context) && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration)) { return ts.createTypeReferenceNode(ts.getGeneratedNameForNode(type.symbol.declarations[0].name, 16 | 8), undefined); } - var name = type.symbol ? symbolToName(type.symbol, context, 67901928, false) : ts.createIdentifier("?"); - return ts.createTypeReferenceNode(name, undefined); + return type.symbol + ? symbolToTypeNode(type.symbol, context, 67901928) + : ts.createTypeReferenceNode(ts.createIdentifier("?"), undefined); } if (!inTypeAlias && type.aliasSymbol && (context.flags & 16384 || isTypeSymbolAccessible(type.aliasSymbol, context.enclosingDeclaration))) { var typeArgumentNodes = mapToTypeNodes(type.aliasTypeArguments, context); @@ -25256,11 +25415,11 @@ var ts; return ts.createTypeReferenceNode(ts.createIdentifier(""), typeArgumentNodes); return symbolToTypeNode(type.aliasSymbol, context, 67901928, typeArgumentNodes); } - if (type.flags & (131072 | 262144)) { - var types = type.flags & 131072 ? formatUnionTypes(type.types) : type.types; + if (type.flags & (262144 | 524288)) { + var types = type.flags & 262144 ? formatUnionTypes(type.types) : type.types; var typeNodes = mapToTypeNodes(types, context); if (typeNodes && typeNodes.length > 0) { - var unionOrIntersectionTypeNode = ts.createUnionOrIntersectionTypeNode(type.flags & 131072 ? 168 : 169, typeNodes); + var unionOrIntersectionTypeNode = ts.createUnionOrIntersectionTypeNode(type.flags & 262144 ? 169 : 170, typeNodes); return unionOrIntersectionTypeNode; } else { @@ -25271,20 +25430,20 @@ var ts; } } if (objectFlags & (16 | 32)) { - ts.Debug.assert(!!(type.flags & 65536)); + ts.Debug.assert(!!(type.flags & 131072)); return createAnonymousTypeNode(type); } - if (type.flags & 524288) { + if (type.flags & 1048576) { var indexedType = type.type; var indexTypeNode = typeToTypeNodeHelper(indexedType, context); return ts.createTypeOperatorNode(indexTypeNode); } - if (type.flags & 1048576) { + if (type.flags & 2097152) { var objectTypeNode = typeToTypeNodeHelper(type.objectType, context); var indexTypeNode = typeToTypeNodeHelper(type.indexType, context); return ts.createIndexedAccessTypeNode(objectTypeNode, indexTypeNode); } - if (type.flags & 2097152) { + if (type.flags & 4194304) { var checkTypeNode = typeToTypeNodeHelper(type.checkType, context); var saveInferTypeParameters = context.inferTypeParameters; context.inferTypeParameters = type.root.inferTypeParameters; @@ -25294,12 +25453,12 @@ var ts; var falseTypeNode = typeToTypeNodeHelper(getFalseTypeFromConditionalType(type), context); return ts.createConditionalTypeNode(checkTypeNode, extendsTypeNode, trueTypeNode, falseTypeNode); } - if (type.flags & 4194304) { + if (type.flags & 8388608) { return typeToTypeNodeHelper(type.typeVariable, context); } - ts.Debug.fail("Should be unreachable."); + return ts.Debug.fail("Should be unreachable."); function createMappedTypeNodeFromType(type) { - ts.Debug.assert(!!(type.flags & 65536)); + ts.Debug.assert(!!(type.flags & 131072)); var readonlyToken = type.declaration.readonlyToken ? ts.createToken(type.declaration.readonlyToken.kind) : undefined; var questionToken = type.declaration.questionToken ? ts.createToken(type.declaration.questionToken.kind) : undefined; var appropriateConstraintTypeNode; @@ -25324,7 +25483,7 @@ var ts; var isInstanceType = type === getInferredClassType(symbol) ? 67901928 : 67216319; return symbolToTypeNode(symbol, context, isInstanceType); } - else if (symbol.flags & 32 && !getBaseTypeVariableOfClass(symbol) && !(symbol.valueDeclaration.kind === 204 && context.flags & 2048) || + else if (symbol.flags & 32 && !getBaseTypeVariableOfClass(symbol) && !(symbol.valueDeclaration.kind === 205 && context.flags & 2048) || symbol.flags & (384 | 512) || shouldWriteTypeOfFunctionSymbol()) { return symbolToTypeNode(symbol, context, 67216319); @@ -25357,7 +25516,7 @@ var ts; var isNonLocalFunctionSymbol = !!(symbol.flags & 16) && (symbol.parent || ts.forEach(symbol.declarations, function (declaration) { - return declaration.parent.kind === 273 || declaration.parent.kind === 239; + return declaration.parent.kind === 274 || declaration.parent.kind === 240; })); if (isStaticMethodSymbol || isNonLocalFunctionSymbol) { return (!!(context.flags & 4096) || (context.visitedSymbols && context.visitedSymbols.has(id))) && @@ -25376,12 +25535,12 @@ var ts; } if (resolved.callSignatures.length === 1 && !resolved.constructSignatures.length) { var signature = resolved.callSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 162, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 163, context); return signatureNode; } if (resolved.constructSignatures.length === 1 && !resolved.callSignatures.length) { var signature = resolved.constructSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 163, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 164, context); return signatureNode; } } @@ -25495,11 +25654,11 @@ var ts; var typeElements = []; for (var _i = 0, _a = resolvedType.callSignatures; _i < _a.length; _i++) { var signature = _a[_i]; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 157, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 158, context)); } for (var _b = 0, _c = resolvedType.constructSignatures; _b < _c.length; _b++) { var signature = _c[_b]; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 158, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 159, context)); } if (resolvedType.stringIndexInfo) { var indexInfo = resolvedType.objectFlags & 2048 ? @@ -25529,7 +25688,7 @@ var ts; var saveEnclosingDeclaration = context.enclosingDeclaration; context.enclosingDeclaration = undefined; if (ts.getCheckFlags(propertySymbol) & 1024) { - var decl = ts.firstOrUndefined(propertySymbol.declarations); + var decl = ts.first(propertySymbol.declarations); var name = hasLateBindableName(decl) && resolveEntityName(decl.name.expression, 67216319); if (name && context.tracker.trackSymbol) { context.tracker.trackSymbol(name, saveEnclosingDeclaration, 67216319); @@ -25542,7 +25701,7 @@ var ts; var signatures = getSignaturesOfType(propertyType, 0); for (var _e = 0, signatures_1 = signatures; _e < signatures_1.length; _e++) { var signature = signatures_1[_e]; - var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 152, context); + var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 153, context); methodDeclaration.name = propertyName; methodDeclaration.questionToken = optionalToken; if (propertySymbol.valueDeclaration) { @@ -25584,7 +25743,7 @@ var ts; var name = ts.getNameFromIndexInfo(indexInfo) || "x"; var indexerTypeNode = ts.createKeywordTypeNode(kind === 0 ? 137 : 134); var indexingParameter = ts.createParameter(undefined, undefined, undefined, name, undefined, indexerTypeNode, undefined); - var typeNode = indexInfo.type ? typeToTypeNodeHelper(indexInfo.type, context) : typeToTypeNodeHelper(anyType, context); + var typeNode = typeToTypeNodeHelper(indexInfo.type || anyType, context); if (!indexInfo.type && !(context.flags & 2097152)) { context.encounteredError = true; } @@ -25599,7 +25758,7 @@ var ts; else { typeParameters = signature.typeParameters && signature.typeParameters.map(function (parameter) { return typeParameterToDeclaration(parameter, context); }); } - var parameters = signature.parameters.map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 154); }); + var parameters = signature.parameters.map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 155); }); if (signature.thisParameter) { var thisParameter = symbolToParameterDeclaration(signature.thisParameter, context); parameters.unshift(thisParameter); @@ -25651,22 +25810,22 @@ var ts; return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags) { - var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 148); + var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 149); if (!parameterDeclaration && !isTransientSymbol(parameterSymbol)) { - parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 292); + parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 293); } var parameterType = getTypeOfSymbol(parameterSymbol); if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { parameterType = getOptionalType(parameterType); } var parameterTypeNode = typeToTypeNodeHelper(parameterType, context); - var modifiers = !(context.flags & 8192) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers && parameterDeclaration.modifiers.map(ts.getSynthesizedClone); + var modifiers = !(context.flags & 8192) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers ? parameterDeclaration.modifiers.map(ts.getSynthesizedClone) : undefined; var isRest = parameterDeclaration ? ts.isRestParameter(parameterDeclaration) : parameterSymbol.isRestParameter; var dotDotDotToken = isRest ? ts.createToken(24) : undefined; var name = parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 71 ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name), 16777216) : - parameterDeclaration.name.kind === 145 ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name.right), 16777216) : + parameterDeclaration.name.kind === 146 ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name.right), 16777216) : cloneBindingName(parameterDeclaration.name) : ts.symbolName(parameterSymbol) : ts.symbolName(parameterSymbol); @@ -25678,7 +25837,7 @@ var ts; function elideInitializerAndSetEmitFlags(node) { var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, undefined, elideInitializerAndSetEmitFlags); var clone = ts.nodeIsSynthesized(visited) ? visited : ts.getSynthesizedClone(visited); - if (clone.kind === 181) { + if (clone.kind === 182) { clone.initializer = undefined; } return ts.setEmitFlags(clone, 1 | 16777216); @@ -25690,7 +25849,7 @@ var ts; var chain; var isTypeParameter = symbol.flags & 262144; if (!isTypeParameter && (context.enclosingDeclaration || context.flags & 64)) { - chain = getSymbolChain(symbol, meaning, true); + chain = ts.Debug.assertDefined(getSymbolChain(symbol, meaning, true)); ts.Debug.assert(chain && chain.length > 0); } else { @@ -25702,12 +25861,12 @@ var ts; var parentSymbol; if (!accessibleSymbolChain || needsQualification(accessibleSymbolChain[0], context.enclosingDeclaration, accessibleSymbolChain.length === 1 ? meaning : getQualifiedLeftMeaning(meaning))) { - var parent = getParentOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); + var parent = getContainerOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); if (parent) { var parentChain = getSymbolChain(parent, getQualifiedLeftMeaning(meaning), false); if (parentChain) { parentSymbol = parent; - accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [symbol]); + accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [getAliasForSymbolInContainer(parent, symbol) || symbol]); } } } @@ -25715,7 +25874,7 @@ var ts; return accessibleSymbolChain; } if (endOfChain || - (yieldModuleSymbol || !(!parentSymbol && ts.forEach(symbol.declarations, hasExternalModuleSymbol))) && + (yieldModuleSymbol || !(!parentSymbol && ts.forEach(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol))) && !(symbol.flags & (2048 | 4096))) { return [symbol]; } @@ -25886,6 +26045,7 @@ var ts; } } function typePredicateToString(typePredicate, enclosingDeclaration, flags, writer) { + if (flags === void 0) { flags = 16384; } return writer ? typePredicateToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(typePredicateToStringWorker); function typePredicateToStringWorker(writer) { var predicate = ts.createTypePredicateNode(typePredicate.kind === 1 ? ts.createIdentifier(typePredicate.parameterName) : ts.createThisTypeNode(), nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960 | 512)); @@ -25901,10 +26061,10 @@ var ts; for (var i = 0; i < types.length; i++) { var t = types[i]; flags |= t.flags; - if (!(t.flags & 12288)) { - if (t.flags & (128 | 256)) { - var baseType = t.flags & 128 ? booleanType : getBaseTypeOfEnumLiteralType(t); - if (baseType.flags & 131072) { + if (!(t.flags & 24576)) { + if (t.flags & (256 | 512)) { + var baseType = t.flags & 256 ? booleanType : getBaseTypeOfEnumLiteralType(t); + if (baseType.flags & 262144) { var count = baseType.types.length; if (i + count <= types.length && types[i + count - 1] === baseType.types[count - 1]) { result.push(baseType); @@ -25916,9 +26076,9 @@ var ts; result.push(t); } } - if (flags & 8192) + if (flags & 16384) result.push(nullType); - if (flags & 4096) + if (flags & 8192) result.push(undefinedType); return result || types; } @@ -25933,8 +26093,8 @@ var ts; } function getTypeAliasForTypeLiteral(type) { if (type.symbol && type.symbol.flags & 2048) { - var node = ts.findAncestor(type.symbol.declarations[0].parent, function (n) { return n.kind !== 172; }); - if (node.kind === 236) { + var node = ts.findAncestor(type.symbol.declarations[0].parent, function (n) { return n.kind !== 173; }); + if (node.kind === 237) { return getSymbolOfNode(node); } } @@ -25942,11 +26102,11 @@ var ts; } function isTopLevelInExternalModuleAugmentation(node) { return node && node.parent && - node.parent.kind === 239 && + node.parent.kind === 240 && ts.isExternalModuleAugmentation(node.parent.parent); } function isDefaultBindingContext(location) { - return location.kind === 273 || ts.isAmbientModule(location); + return location.kind === 274 || ts.isAmbientModule(location); } function getNameOfSymbolAsWritten(symbol, context) { if (context && symbol.escapedName === "default" && !(context.flags & 16384) && @@ -25957,7 +26117,7 @@ var ts; } if (symbol.declarations && symbol.declarations.length) { if (ts.some(symbol.declarations, hasExternalModuleSymbol) && context.enclosingDeclaration) { - var file = ts.getDeclarationOfKind(symbol, 273); + var file = ts.getDeclarationOfKind(symbol, 274); if (!file || !context.tracker.moduleResolverHost) { if (context.tracker.trackReferencedAmbientModule) { var ambientDecls = ts.filter(symbol.declarations, ts.isAmbientModule); @@ -25978,26 +26138,26 @@ var ts; if (name) { return ts.declarationNameToString(name); } - if (declaration.parent && declaration.parent.kind === 231) { + if (declaration.parent && declaration.parent.kind === 232) { return ts.declarationNameToString(declaration.parent.name); } if (context && !context.encounteredError && !(context.flags & 131072)) { context.encounteredError = true; } switch (declaration.kind) { - case 204: + case 205: return "(Anonymous class)"; - case 191: case 192: + case 193: return "(Anonymous function)"; } } var nameType = symbol.nameType; if (nameType) { - if (nameType.flags & 32 && !ts.isIdentifierText(nameType.value, compilerOptions.target)) { + if (nameType.flags & 64 && !ts.isIdentifierText(nameType.value, compilerOptions.target)) { return "\"" + ts.escapeString(nameType.value, 34) + "\""; } - if (nameType && nameType.flags & 1024) { + if (nameType && nameType.flags & 2048) { return "[" + getNameOfSymbolAsWritten(nameType.symbol, context) + "]"; } } @@ -26014,67 +26174,67 @@ var ts; return false; function determineIfDeclarationIsVisible() { switch (node.kind) { - case 291: - case 296: + case 292: + case 297: return !!(node.parent && node.parent.parent && node.parent.parent.parent && ts.isSourceFile(node.parent.parent.parent)); - case 181: + case 182: return isDeclarationVisible(node.parent.parent); - case 231: + case 232: if (ts.isBindingPattern(node.name) && !node.name.elements.length) { return false; } - case 238: - case 234: + case 239: case 235: case 236: - case 233: case 237: - case 242: + case 234: + case 238: + case 243: if (ts.isExternalModuleAugmentation(node)) { return true; } var parent = getDeclarationContainer(node); if (!(ts.getCombinedModifierFlags(node) & 1) && - !(node.kind !== 242 && parent.kind !== 273 && parent.flags & 4194304)) { + !(node.kind !== 243 && parent.kind !== 274 && parent.flags & 4194304)) { return isGlobalSourceFile(parent); } return isDeclarationVisible(parent); - case 151: - case 150: - case 155: - case 156: - case 153: case 152: + case 151: + case 156: + case 157: + case 154: + case 153: if (ts.hasModifier(node, 8 | 16)) { return false; } - case 154: - case 158: - case 157: + case 155: case 159: - case 148: - case 239: - case 162: + case 158: + case 160: + case 149: + case 240: case 163: - case 165: - case 161: + case 164: case 166: + case 162: case 167: case 168: case 169: - case 172: + case 170: + case 173: return isDeclarationVisible(node.parent); - case 244: case 245: - case 247: - return false; - case 147: - case 273: - case 241: - return true; + case 246: case 248: return false; + case 148: + case 274: + case 242: + return true; + case 249: + return false; default: return false; } @@ -26082,10 +26242,10 @@ var ts; } function collectLinkedAliases(node, setVisibility) { var exportSymbol; - if (node.parent && node.parent.kind === 248) { + if (node.parent && node.parent.kind === 249) { exportSymbol = resolveName(node, node.escapedText, 67216319 | 67901928 | 1920 | 2097152, undefined, node, false); } - else if (node.parent.kind === 251) { + else if (node.parent.kind === 252) { exportSymbol = getTargetOfExportSpecifier(node.parent, 67216319 | 67901928 | 1920 | 2097152); } var result; @@ -26141,22 +26301,22 @@ var ts; } function hasType(target, propertyName) { if (propertyName === 0) { - return getSymbolLinks(target).type; + return !!getSymbolLinks(target).type; } if (propertyName === 2) { - return getSymbolLinks(target).declaredType; + return !!getSymbolLinks(target).declaredType; } if (propertyName === 1) { - return target.resolvedBaseConstructorType; + return !!target.resolvedBaseConstructorType; } if (propertyName === 3) { - return target.resolvedReturnType; + return !!target.resolvedReturnType; } if (propertyName === 4) { var bc = target.resolvedBaseConstraint; - return bc && bc !== circularConstraintType; + return !!bc && bc !== circularConstraintType; } - ts.Debug.fail("Unhandled TypeSystemPropertyName " + propertyName); + return ts.Debug.fail("Unhandled TypeSystemPropertyName " + propertyName); } function popTypeResolution() { resolutionTargets.pop(); @@ -26164,20 +26324,19 @@ var ts; return resolutionResults.pop(); } function getDeclarationContainer(node) { - node = ts.findAncestor(ts.getRootDeclaration(node), function (node) { + return ts.findAncestor(ts.getRootDeclaration(node), function (node) { switch (node.kind) { - case 231: case 232: + case 233: + case 248: case 247: case 246: case 245: - case 244: return false; default: return true; } - }); - return node && node.parent; + }).parent; } function getTypeOfPrototypeProperty(prototype) { var classType = getDeclaredTypeOfSymbol(getParentOfSymbol(prototype)); @@ -26195,14 +26354,14 @@ var ts; return symbol && getSymbolLinks(symbol).type || getTypeForVariableLikeDeclaration(node, false); } function isComputedNonLiteralName(name) { - return name.kind === 146 && !ts.isStringOrNumericLiteral(name.expression); + return name.kind === 147 && !ts.isStringOrNumericLiteral(name.expression); } function getRestType(source, properties, symbol) { - source = filterType(source, function (t) { return !(t.flags & 12288); }); - if (source.flags & 16384) { + source = filterType(source, function (t) { return !(t.flags & 24576); }); + if (source.flags & 32768) { return emptyObjectType; } - if (source.flags & 131072) { + if (source.flags & 262144) { return mapType(source, function (t) { return getRestType(t, properties, symbol); }); } var members = ts.createSymbolTable(); @@ -26227,8 +26386,8 @@ var ts; function getTypeForBindingElement(declaration) { var pattern = declaration.parent; var parentType = getTypeForBindingElementParent(pattern.parent); - if (parentType === unknownType) { - return unknownType; + if (parentType === errorType) { + return errorType; } if (!parentType) { return declaration.initializer ? checkDeclarationInitializer(declaration) : parentType; @@ -26237,11 +26396,11 @@ var ts; return parentType; } var type; - if (pattern.kind === 179) { + if (pattern.kind === 180) { if (declaration.dotDotDotToken) { - if (!isValidSpreadType(parentType)) { + if (parentType.flags & 2 || !isValidSpreadType(parentType)) { error(declaration, ts.Diagnostics.Rest_types_may_only_be_created_from_object_types); - return unknownType; + return errorType; } var literalMembers = []; for (var _i = 0, _a = pattern.elements; _i < _a.length; _i++) { @@ -26258,13 +26417,13 @@ var ts; var isWellKnown = ts.isComputedPropertyName(name) && ts.isWellKnownSymbolSyntactically(name.expression); if (!isLate && !isWellKnown && isComputedNonLiteralName(name)) { var exprType = checkExpression(name.expression); - if (isTypeAssignableToKind(exprType, 1536)) { + if (isTypeAssignableToKind(exprType, 3072)) { if (noImplicitAny) { error(declaration, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(exprType), typeToString(parentType)); } return anyType; } - var indexerType = isTypeAssignableToKind(exprType, 84) && getIndexTypeOfType(parentType, 1) || getIndexTypeOfType(parentType, 0); + var indexerType = isTypeAssignableToKind(exprType, 168) && getIndexTypeOfType(parentType, 1) || getIndexTypeOfType(parentType, 0); if (!indexerType && noImplicitAny && !compilerOptions.suppressImplicitAnyIndexErrors) { if (getIndexTypeOfType(parentType, 1)) { error(declaration, ts.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number); @@ -26275,14 +26434,14 @@ var ts; } return indexerType || anyType; } - var nameType = isLate && checkComputedPropertyName(name); + var nameType = isLate ? checkComputedPropertyName(name) : undefined; var text = isLate ? getLateBoundNameFromType(nameType) : isWellKnown ? ts.getPropertyNameForKnownSymbolName(ts.idText(name.expression.name)) : ts.getTextOfPropertyName(name); if (strictNullChecks && declaration.flags & 4194304 && ts.isParameterDeclaration(declaration)) { parentType = getNonNullableType(parentType); } - if (isLate && nameType && !getPropertyOfType(parentType, text) && isTypeAssignableToKind(nameType, 1536)) { + if (isLate && nameType && !getPropertyOfType(parentType, text) && isTypeAssignableToKind(nameType, 3072)) { if (noImplicitAny) { error(declaration, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(nameType), typeToString(parentType)); } @@ -26294,7 +26453,7 @@ var ts; getIndexTypeOfType(parentType, 0); if (!type) { error(name, ts.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature, typeToString(parentType), ts.declarationNameToString(name)); - return unknownType; + return errorType; } } } @@ -26315,11 +26474,11 @@ var ts; else { error(declaration, ts.Diagnostics.Type_0_has_no_property_1, typeToString(parentType), propName); } - return unknownType; + return errorType; } } } - if (strictNullChecks && declaration.initializer && !(getFalsyFlags(checkExpressionCached(declaration.initializer)) & 4096)) { + if (strictNullChecks && declaration.initializer && !(getFalsyFlags(checkExpressionCached(declaration.initializer)) & 8192)) { type = getTypeWithFacts(type, 131072); } return declaration.initializer ? @@ -26339,18 +26498,18 @@ var ts; } function isEmptyArrayLiteral(node) { var expr = ts.skipParentheses(node); - return expr.kind === 182 && expr.elements.length === 0; + return expr.kind === 183 && expr.elements.length === 0; } function addOptionality(type, optional) { if (optional === void 0) { optional = true; } return strictNullChecks && optional ? getOptionalType(type) : type; } function getTypeForVariableLikeDeclaration(declaration, includeOptionality) { - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 220) { - var indexType = getIndexType(checkNonNullExpression(declaration.parent.parent.expression)); - return indexType.flags & (32768 | 524288) ? getExtractStringType(indexType) : stringType; - } if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 221) { + var indexType = getIndexType(checkNonNullExpression(declaration.parent.parent.expression)); + return indexType.flags & (65536 | 1048576) ? getExtractStringType(indexType) : stringType; + } + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 222) { var forOfStatement = declaration.parent.parent; return checkRightHandSideOfForOf(forOfStatement.expression, forOfStatement.awaitModifier) || anyType; } @@ -26364,7 +26523,7 @@ var ts; return addOptionality(declaredType, isOptional); } if ((noImplicitAny || ts.isInJavaScriptFile(declaration)) && - declaration.kind === 231 && !ts.isBindingPattern(declaration.name) && + declaration.kind === 232 && !ts.isBindingPattern(declaration.name) && !(ts.getCombinedModifierFlags(declaration) & 1) && !(declaration.flags & 4194304)) { if (!(ts.getCombinedNodeFlags(declaration) & 2) && (!declaration.initializer || isNullOrUndefined(declaration.initializer))) { return autoType; @@ -26373,10 +26532,10 @@ var ts; return autoArrayType; } } - if (declaration.kind === 148) { + if (declaration.kind === 149) { var func = declaration.parent; - if (func.kind === 156 && !hasNonBindableDynamicName(func)) { - var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 155); + if (func.kind === 157 && !hasNonBindableDynamicName(func)) { + var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 156); if (getter) { var getterSignature = getSignatureFromDeclaration(getter); var thisParameter = getAccessorThisParameter(func); @@ -26422,18 +26581,18 @@ var ts; var jsDocType; var _loop_3 = function (declaration) { var declarationInConstructor = false; - var expression = declaration.kind === 199 ? declaration : - declaration.kind === 184 ? ts.cast(declaration.parent, ts.isBinaryExpression) : + var expression = declaration.kind === 200 ? declaration : + declaration.kind === 185 ? ts.cast(declaration.parent, ts.isBinaryExpression) : undefined; if (!expression) { - return { value: unknownType }; + return { value: errorType }; } var special = ts.getSpecialPropertyAssignmentKind(expression); if (special === 4) { var thisContainer = ts.getThisContainer(expression, false); - declarationInConstructor = thisContainer.kind === 154 || - thisContainer.kind === 233 || - (thisContainer.kind === 191 && !ts.isPrototypePropertyAssignment(thisContainer.parent)); + declarationInConstructor = thisContainer.kind === 155 || + thisContainer.kind === 234 || + (thisContainer.kind === 192 && !ts.isPrototypePropertyAssignment(thisContainer.parent)); if (declarationInConstructor) { definedInConstructor = true; } @@ -26447,7 +26606,7 @@ var ts; if (!jsDocType) { jsDocType = declarationType; } - else if (jsDocType !== unknownType && declarationType !== unknownType && + else if (jsDocType !== errorType && declarationType !== errorType && !isTypeIdenticalTo(jsDocType, declarationType) && !(symbol.flags & 67108864)) { errorNextVariableOrPropertyDeclarationMustHaveSameType(jsDocType, declaration, declarationType); @@ -26502,11 +26661,11 @@ var ts; definedInConstructor = true; } } - var sourceTypes = ts.some(constructorTypes, function (t) { return !!(t.flags & ~(12288 | 16777216)); }) ? constructorTypes : types; + var sourceTypes = ts.some(constructorTypes, function (t) { return !!(t.flags & ~(24576 | 134217728)); }) ? constructorTypes : types; type = getUnionType(sourceTypes, 2); } var widened = getWidenedType(addOptionality(type, definedInMethod && !definedInConstructor)); - if (filterType(widened, function (t) { return !!(t.flags & ~12288); }) === neverType) { + if (filterType(widened, function (t) { return !!(t.flags & ~24576); }) === neverType) { if (noImplicitAny) { reportImplicitAnyError(symbol.valueDeclaration, anyType); } @@ -26561,7 +26720,7 @@ var ts; members.set(symbol.escapedName, symbol); }); var result = createAnonymousType(undefined, members, ts.emptyArray, ts.emptyArray, stringIndexInfo, undefined); - result.flags |= 33554432; + result.flags |= 268435456; result.objectFlags |= objectFlags; if (includePatternInType) { result.pattern = pattern; @@ -26571,7 +26730,7 @@ var ts; function getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors) { var elements = pattern.elements; var lastElement = ts.lastOrUndefined(elements); - if (elements.length === 0 || (!ts.isOmittedExpression(lastElement) && lastElement.dotDotDotToken)) { + if (!lastElement || (!ts.isOmittedExpression(lastElement) && lastElement.dotDotDotToken)) { return languageVersion >= 2 ? createIterableType(anyType) : anyArrayType; } var elementTypes = ts.map(elements, function (e) { return ts.isOmittedExpression(e) ? anyType : getTypeFromBindingElement(e, includePatternInType, reportErrors); }); @@ -26583,7 +26742,9 @@ var ts; return result; } function getTypeFromBindingPattern(pattern, includePatternInType, reportErrors) { - return pattern.kind === 179 + if (includePatternInType === void 0) { includePatternInType = false; } + if (reportErrors === void 0) { reportErrors = false; } + return pattern.kind === 180 ? getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) : getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors); } @@ -26593,7 +26754,7 @@ var ts; if (reportErrors) { reportErrorsFromWidening(declaration, type); } - if (type.flags & 1024 && (ts.isBindingElement(declaration) || !declaration.type) && type.symbol !== getSymbolOfNode(declaration)) { + if (type.flags & 2048 && (ts.isBindingElement(declaration) || !declaration.type) && type.symbol !== getSymbolOfNode(declaration)) { type = esSymbolType; } return getWidenedType(type); @@ -26608,7 +26769,7 @@ var ts; } function declarationBelongsToPrivateAmbientMember(declaration) { var root = ts.getRootDeclaration(declaration); - var memberDeclaration = root.kind === 148 ? root.parent : root; + var memberDeclaration = root.kind === 149 ? root.parent : root; return isPrivateWithinAmbient(memberDeclaration); } function tryGetTypeFromEffectiveTypeNode(declaration) { @@ -26634,23 +26795,25 @@ var ts; var jsonSourceFile = ts.cast(declaration, ts.isJsonSourceFile); return links.type = jsonSourceFile.statements.length ? checkExpression(jsonSourceFile.statements[0].expression) : emptyObjectType; } - if (declaration.kind === 248) { + if (declaration.kind === 249) { return links.type = checkExpression(declaration.expression); } if (ts.isInJavaScriptFile(declaration) && ts.isJSDocPropertyLikeTag(declaration) && declaration.typeExpression) { return links.type = getTypeFromTypeNode(declaration.typeExpression.type); } if (!pushTypeResolution(symbol, 0)) { - return unknownType; + return errorType; } var type = void 0; - if (declaration.kind === 199 || - declaration.kind === 184 && declaration.parent.kind === 199) { + if (declaration.kind === 200 || + declaration.kind === 185 && declaration.parent.kind === 200) { type = getWidenedTypeFromJSSpecialPropertyDeclarations(symbol); } else if (ts.isJSDocPropertyLikeTag(declaration) || ts.isPropertyAccessExpression(declaration) || ts.isIdentifier(declaration) + || ts.isClassDeclaration(declaration) + || ts.isFunctionDeclaration(declaration) || (ts.isMethodDeclaration(declaration) && !ts.isObjectLiteralMethod(declaration)) || ts.isMethodSignature(declaration)) { if (symbol.flags & (16 | 8192 | 32 | 384 | 512)) { @@ -26678,7 +26841,7 @@ var ts; type = getWidenedTypeForVariableLikeDeclaration(declaration, true); } else { - ts.Debug.fail("Unhandled declaration kind! " + ts.Debug.showSyntaxKind(declaration)); + return ts.Debug.fail("Unhandled declaration kind! " + ts.Debug.showSyntaxKind(declaration) + " for " + ts.Debug.showSymbol(symbol)); } if (!popTypeResolution()) { type = reportCircularityError(symbol); @@ -26689,7 +26852,7 @@ var ts; } function getAnnotatedAccessorType(accessor) { if (accessor) { - if (accessor.kind === 155) { + if (accessor.kind === 156) { var getterTypeAnnotation = ts.getEffectiveReturnTypeNode(accessor); return getterTypeAnnotation && getTypeFromTypeNode(getterTypeAnnotation); } @@ -26710,8 +26873,8 @@ var ts; function getTypeOfAccessors(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { - var getter = ts.getDeclarationOfKind(symbol, 155); - var setter = ts.getDeclarationOfKind(symbol, 156); + var getter = ts.getDeclarationOfKind(symbol, 156); + var setter = ts.getDeclarationOfKind(symbol, 157); if (getter && ts.isInJavaScriptFile(getter)) { var jsDocType = getTypeForDeclarationFromJSDocComment(getter); if (jsDocType) { @@ -26719,7 +26882,7 @@ var ts; } } if (!pushTypeResolution(symbol, 0)) { - return unknownType; + return errorType; } var type = void 0; var getterReturnType = getAnnotatedAccessorType(getter); @@ -26752,7 +26915,7 @@ var ts; if (!popTypeResolution()) { type = anyType; if (noImplicitAny) { - var getter_1 = ts.getDeclarationOfKind(symbol, 155); + var getter_1 = ts.getDeclarationOfKind(symbol, 156); error(getter_1, ts.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, symbolToString(symbol)); } } @@ -26762,16 +26925,32 @@ var ts; } function getBaseTypeVariableOfClass(symbol) { var baseConstructorType = getBaseConstructorTypeOfClass(getDeclaredTypeOfClassOrInterface(symbol)); - return baseConstructorType.flags & 1081344 ? baseConstructorType : undefined; + return baseConstructorType.flags & 2162688 ? baseConstructorType : undefined; } function getTypeOfFuncClassEnumModule(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { + var jsDeclaration = ts.getDeclarationOfJSInitializer(symbol.valueDeclaration); + if (jsDeclaration) { + var jsSymbol = getSymbolOfNode(jsDeclaration); + if (jsSymbol && (ts.hasEntries(jsSymbol.exports) || ts.hasEntries(jsSymbol.members))) { + symbol = cloneSymbol(symbol); + links = symbol; + if (ts.hasEntries(jsSymbol.exports)) { + symbol.exports = symbol.exports || ts.createSymbolTable(); + mergeSymbolTable(symbol.exports, jsSymbol.exports); + } + if (ts.hasEntries(jsSymbol.members)) { + symbol.members = symbol.members || ts.createSymbolTable(); + mergeSymbolTable(symbol.members, jsSymbol.members); + } + } + } if (symbol.flags & 1536 && ts.isShorthandAmbientModuleSymbol(symbol)) { links.type = anyType; } - else if (symbol.valueDeclaration.kind === 199 || - symbol.valueDeclaration.kind === 184 && symbol.valueDeclaration.parent.kind === 199) { + else if (symbol.valueDeclaration.kind === 200 || + symbol.valueDeclaration.kind === 185 && symbol.valueDeclaration.parent.kind === 200) { links.type = getWidenedTypeFromJSSpecialPropertyDeclarations(symbol); } else { @@ -26800,7 +26979,7 @@ var ts; var targetSymbol = resolveAlias(symbol); links.type = targetSymbol.flags & 67216319 ? getTypeOfSymbol(targetSymbol) - : unknownType; + : errorType; } return links.type; } @@ -26809,11 +26988,11 @@ var ts; if (!links.type) { if (symbolInstantiationDepth === 100) { error(symbol.valueDeclaration, ts.Diagnostics.Generic_type_instantiation_is_excessively_deep_and_possibly_infinite); - links.type = unknownType; + links.type = errorType; } else { if (!pushTypeResolution(symbol, 0)) { - return unknownType; + return errorType; } symbolInstantiationDepth++; var type = instantiateType(getTypeOfSymbol(links.target), links.mapper); @@ -26829,7 +27008,7 @@ var ts; function reportCircularityError(symbol) { if (ts.getEffectiveTypeAnnotationNode(symbol.valueDeclaration)) { error(symbol.valueDeclaration, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, symbolToString(symbol)); - return unknownType; + return errorType; } if (noImplicitAny) { error(symbol.valueDeclaration, ts.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer, symbolToString(symbol)); @@ -26858,7 +27037,7 @@ var ts; if (symbol.flags & 2097152) { return getTypeOfAlias(symbol); } - return unknownType; + return errorType; } function isReferenceToType(type, target) { return type !== undefined @@ -26874,11 +27053,12 @@ var ts; function check(type) { if (ts.getObjectFlags(type) & (3 | 4)) { var target = getTargetType(type); - return target === checkBase || ts.forEach(getBaseTypes(target), check); + return target === checkBase || ts.some(getBaseTypes(target), check); } - else if (type.flags & 262144) { - return ts.forEach(type.types, check); + else if (type.flags & 524288) { + return ts.some(type.types, check); } + return false; } } function appendTypeParameters(typeParameters, declarations) { @@ -26895,51 +27075,51 @@ var ts; return undefined; } switch (node.kind) { - case 234: - case 204: case 235: - case 157: - case 158: - case 152: - case 162: - case 163: - case 283: - case 233: - case 153: - case 191: - case 192: + case 205: case 236: - case 295: + case 158: + case 159: + case 153: + case 163: + case 164: + case 284: + case 234: + case 154: + case 192: + case 193: + case 237: case 296: - case 291: - case 176: - case 170: + case 297: + case 292: + case 177: + case 171: var outerTypeParameters = getOuterTypeParameters(node, includeThisTypes); - if (node.kind === 176) { + if (node.kind === 177) { return ts.append(outerTypeParameters, getDeclaredTypeOfTypeParameter(getSymbolOfNode(node.typeParameter))); } - else if (node.kind === 170) { + else if (node.kind === 171) { return ts.concatenate(outerTypeParameters, getInferTypeParameters(node)); } var outerAndOwnTypeParameters = appendTypeParameters(outerTypeParameters, ts.getEffectiveTypeParameterDeclarations(node)); var thisType = includeThisTypes && - (node.kind === 234 || node.kind === 204 || node.kind === 235) && + (node.kind === 235 || node.kind === 205 || node.kind === 236) && getDeclaredTypeOfClassOrInterface(getSymbolOfNode(node)).thisType; return thisType ? ts.append(outerAndOwnTypeParameters, thisType) : outerAndOwnTypeParameters; } } } function getOuterTypeParametersOfClassOrInterface(symbol) { - var declaration = symbol.flags & 32 ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 235); + var declaration = symbol.flags & 32 ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 236); return getOuterTypeParameters(declaration); } function getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol) { var result; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var node = _a[_i]; - if (node.kind === 235 || - node.kind === 234 || - node.kind === 204 || + if (node.kind === 236 || + node.kind === 235 || + node.kind === 205 || ts.isTypeAlias(node)) { var declaration = node; result = appendTypeParameters(result, ts.getEffectiveTypeParameterDeclarations(declaration)); @@ -26962,9 +27142,9 @@ var ts; if (isValidBaseType(type) && getSignaturesOfType(type, 1).length > 0) { return true; } - if (type.flags & 1081344) { + if (type.flags & 2162688) { var constraint = getBaseConstraintOfType(type); - return constraint && isValidBaseType(constraint) && isMixinConstructorType(constraint); + return !!constraint && isValidBaseType(constraint) && isMixinConstructorType(constraint); } return false; } @@ -26997,23 +27177,23 @@ var ts; return type.resolvedBaseConstructorType = undefinedType; } if (!pushTypeResolution(type, 1)) { - return unknownType; + return errorType; } var baseConstructorType = checkExpression(baseTypeNode.expression); if (extended && baseTypeNode !== extended) { ts.Debug.assert(!extended.typeArguments); checkExpression(extended.expression); } - if (baseConstructorType.flags & (65536 | 262144)) { + if (baseConstructorType.flags & (131072 | 524288)) { resolveStructuredTypeMembers(baseConstructorType); } if (!popTypeResolution()) { error(type.symbol.valueDeclaration, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression, symbolToString(type.symbol)); - return type.resolvedBaseConstructorType = unknownType; + return type.resolvedBaseConstructorType = errorType; } if (!(baseConstructorType.flags & 1) && baseConstructorType !== nullWideningType && !isConstructorType(baseConstructorType)) { error(baseTypeNode.expression, ts.Diagnostics.Type_0_is_not_a_constructor_function_type, typeToString(baseConstructorType)); - return type.resolvedBaseConstructorType = unknownType; + return type.resolvedBaseConstructorType = errorType; } type.resolvedBaseConstructorType = baseConstructorType; } @@ -27041,7 +27221,7 @@ var ts; function resolveBaseTypesOfClass(type) { type.resolvedBaseTypes = ts.resolvingEmptyArray; var baseConstructorType = getApparentType(getBaseConstructorTypeOfClass(type)); - if (!(baseConstructorType.flags & (65536 | 262144 | 1))) { + if (!(baseConstructorType.flags & (131072 | 524288 | 1))) { return type.resolvedBaseTypes = ts.emptyArray; } var baseTypeNode = getBaseTypeNodeOfClass(type); @@ -27063,7 +27243,7 @@ var ts; } baseType = getReturnTypeOfSignature(constructors[0]); } - if (baseType === unknownType) { + if (baseType === errorType) { return type.resolvedBaseTypes = ts.emptyArray; } if (!isValidBaseType(baseType)) { @@ -27089,18 +27269,18 @@ var ts; return true; } function isValidBaseType(type) { - return type.flags & (65536 | 134217728 | 1) && !isGenericMappedType(type) || - type.flags & 262144 && !ts.forEach(type.types, function (t) { return !isValidBaseType(t); }); + return !!(type.flags & (131072 | 16777216 | 1)) && !isGenericMappedType(type) || + !!(type.flags & 524288) && !ts.some(type.types, function (t) { return !isValidBaseType(t); }); } function resolveBaseTypesOfInterface(type) { type.resolvedBaseTypes = type.resolvedBaseTypes || ts.emptyArray; for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 235 && ts.getInterfaceBaseTypeNodes(declaration)) { + if (declaration.kind === 236 && ts.getInterfaceBaseTypeNodes(declaration)) { for (var _b = 0, _c = ts.getInterfaceBaseTypeNodes(declaration); _b < _c.length; _b++) { var node = _c[_b]; var baseType = getTypeFromTypeNode(node); - if (baseType !== unknownType) { + if (baseType !== errorType) { if (isValidBaseType(baseType)) { if (type !== baseType && !hasBaseType(baseType, type)) { if (type.resolvedBaseTypes === ts.emptyArray) { @@ -27125,7 +27305,7 @@ var ts; function isThislessInterface(symbol) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 235) { + if (declaration.kind === 236) { if (declaration.flags & 64) { return false; } @@ -27161,7 +27341,7 @@ var ts; type.instantiations.set(getTypeListId(type.typeParameters), type); type.target = type; type.typeArguments = type.typeParameters; - type.thisType = createType(32768); + type.thisType = createType(65536); type.thisType.isThisType = true; type.thisType.symbol = symbol; type.thisType.constraint = type; @@ -27173,13 +27353,13 @@ var ts; var links = getSymbolLinks(symbol); if (!links.declaredType) { if (!pushTypeResolution(symbol, 2)) { - return unknownType; + return errorType; } var declaration = ts.find(symbol.declarations, function (d) { - return ts.isJSDocTypeAlias(d) || d.kind === 236; + return ts.isJSDocTypeAlias(d) || d.kind === 237; }); var typeNode = ts.isJSDocTypeAlias(declaration) ? declaration.typeExpression : declaration.type; - var type = typeNode ? getTypeFromTypeNode(typeNode) : unknownType; + var type = typeNode ? getTypeFromTypeNode(typeNode) : errorType; if (popTypeResolution()) { var typeParameters = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol); if (typeParameters) { @@ -27189,7 +27369,7 @@ var ts; } } else { - type = unknownType; + type = errorType; error(declaration.name, ts.Diagnostics.Type_alias_0_circularly_references_itself, symbolToString(symbol)); } links.declaredType = type; @@ -27200,7 +27380,7 @@ var ts; if (expr.kind === 9) { return true; } - else if (expr.kind === 199) { + else if (expr.kind === 200) { return isStringConcatExpression(expr.left) && isStringConcatExpression(expr.right); } return false; @@ -27214,12 +27394,12 @@ var ts; case 9: case 8: return true; - case 197: + case 198: return expr.operator === 38 && expr.operand.kind === 8; case 71: return ts.nodeIsMissing(expr) || !!getSymbolOfNode(member.parent).exports.get(expr.escapedText); - case 199: + case 200: return isStringConcatExpression(expr); default: return false; @@ -27233,7 +27413,7 @@ var ts; var hasNonLiteralMember = false; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 237) { + if (declaration.kind === 238) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; if (member.initializer && member.initializer.kind === 9) { @@ -27248,7 +27428,7 @@ var ts; return links.enumKind = hasNonLiteralMember ? 0 : 1; } function getBaseTypeOfEnumLiteralType(type) { - return type.flags & 256 && !(type.flags & 131072) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; + return type.flags & 512 && !(type.flags & 262144) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; } function getDeclaredTypeOfEnum(symbol) { var links = getSymbolLinks(symbol); @@ -27260,7 +27440,7 @@ var ts; var memberTypeList = []; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 237) { + if (declaration.kind === 238) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; var memberType = getLiteralType(getEnumMemberValue(member), enumCount, getSymbolOfNode(member)); @@ -27271,14 +27451,14 @@ var ts; } if (memberTypeList.length) { var enumType_1 = getUnionType(memberTypeList, 1, symbol, undefined); - if (enumType_1.flags & 131072) { - enumType_1.flags |= 256; + if (enumType_1.flags & 262144) { + enumType_1.flags |= 512; enumType_1.symbol = symbol; } return links.declaredType = enumType_1; } } - var enumType = createType(16); + var enumType = createType(32); enumType.symbol = symbol; return links.declaredType = enumType; } @@ -27295,7 +27475,7 @@ var ts; function getDeclaredTypeOfTypeParameter(symbol) { var links = getSymbolLinks(symbol); if (!links.declaredType) { - var type = createType(32768); + var type = createType(65536); type.symbol = symbol; links.declaredType = type; } @@ -27309,7 +27489,7 @@ var ts; return links.declaredType; } function getDeclaredTypeOfSymbol(symbol) { - return tryGetDeclaredTypeOfSymbol(symbol) || unknownType; + return tryGetDeclaredTypeOfSymbol(symbol) || errorType; } function tryGetDeclaredTypeOfSymbol(symbol) { if (symbol.flags & (32 | 64)) { @@ -27335,6 +27515,7 @@ var ts; function isThislessType(node) { switch (node.kind) { case 119: + case 142: case 137: case 134: case 122: @@ -27344,11 +27525,11 @@ var ts; case 140: case 95: case 131: - case 177: + case 178: return true; - case 166: + case 167: return isThislessType(node.elementType); - case 161: + case 162: return !node.typeArguments || node.typeArguments.every(isThislessType); } return false; @@ -27363,7 +27544,7 @@ var ts; function isThislessFunctionLikeDeclaration(node) { var returnType = ts.getEffectiveReturnTypeNode(node); var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); - return (node.kind === 154 || (returnType && isThislessType(returnType))) && + return (node.kind === 155 || (!!returnType && isThislessType(returnType))) && node.parameters.every(isThislessVariableLikeDeclaration) && typeParameters.every(isThislessTypeParameter); } @@ -27372,12 +27553,12 @@ var ts; var declaration = symbol.declarations[0]; if (declaration) { switch (declaration.kind) { - case 151: - case 150: - return isThislessVariableLikeDeclaration(declaration); - case 153: case 152: + case 151: + return isThislessVariableLikeDeclaration(declaration); case 154: + case 153: + case 155: return isThislessFunctionLikeDeclaration(declaration); } } @@ -27415,7 +27596,7 @@ var ts; return type; } function isTypeUsableAsLateBoundName(type) { - return !!(type.flags & 1120); + return !!(type.flags & 2240); } function isLateBindableName(node) { return ts.isComputedPropertyName(node) @@ -27424,7 +27605,7 @@ var ts; } function hasLateBindableName(node) { var name = ts.getNameOfDeclaration(node); - return name && isLateBindableName(name); + return !!name && isLateBindableName(name); } function hasNonBindableDynamicName(node) { return ts.hasDynamicName(node) && !hasLateBindableName(node); @@ -27433,12 +27614,13 @@ var ts; return ts.isDynamicName(node) && !isLateBindableName(node); } function getLateBoundNameFromType(type) { - if (type.flags & 1024) { + if (type.flags & 2048) { return "__@" + type.symbol.escapedName + "@" + getSymbolId(type.symbol); } - if (type.flags & 96) { + if (type.flags & 192) { return ts.escapeLeadingUnderscores("" + type.value); } + return ts.Debug.fail(); } function addDeclarationToLateBoundSymbol(symbol, member, symbolFlags) { ts.Debug.assert(!!(ts.getCheckFlags(symbol) & 1024), "Expected a late-bound symbol."); @@ -27451,8 +27633,7 @@ var ts; symbol.declarations.push(member); } if (symbolFlags & 67216319) { - var valueDeclaration = symbol.valueDeclaration; - if (!valueDeclaration || valueDeclaration.kind !== member.kind) { + if (!symbol.valueDeclaration || symbol.valueDeclaration.kind !== member.kind) { symbol.valueDeclaration = member; } } @@ -27544,7 +27725,7 @@ var ts; return needApparentType ? getApparentType(ref) : ref; } } - else if (type.flags & 262144) { + else if (type.flags & 524288) { return getIntersectionType(ts.map(type.types, function (t) { return getTypeWithThisArgument(t, thisArgument, needApparentType); })); } return needApparentType ? getApparentType(type) : type; @@ -27803,7 +27984,7 @@ var ts; if (symbol.flags & 32) { var classType = getDeclaredTypeOfClassOrInterface(symbol); var baseConstructorType = getBaseConstructorTypeOfClass(classType); - if (baseConstructorType.flags & (65536 | 262144 | 1081344)) { + if (baseConstructorType.flags & (131072 | 524288 | 2162688)) { members = ts.createSymbolTable(getNamedMembers(members)); addInheritedMembers(members, getPropertiesOfType(baseConstructorType)); } @@ -27855,7 +28036,7 @@ var ts; var templateType = getTemplateTypeFromMappedType(type.target || type); var modifiersType = getApparentType(getModifiersTypeFromMappedType(type)); var templateModifiers = getMappedTypeModifiers(type); - var include = keyofStringsOnly ? 32 : 1120; + var include = keyofStringsOnly ? 64 : 2240; if (isMappedTypeWithKeyofConstraintDeclaration(type)) { for (var _i = 0, _a = getPropertiesOfType(modifiersType); _i < _a.length; _i++) { var prop = _a[_i]; @@ -27869,15 +28050,15 @@ var ts; } } else { - var keyType = constraintType.flags & 7372800 ? getApparentType(constraintType) : constraintType; - var iterationType = keyType.flags & 524288 ? getIndexType(getApparentType(keyType.type)) : keyType; + var keyType = constraintType.flags & 14745600 ? getApparentType(constraintType) : constraintType; + var iterationType = keyType.flags & 1048576 ? getIndexType(getApparentType(keyType.type)) : keyType; forEachType(iterationType, addMemberForKeyType); } setStructuredTypeMembers(type, members, ts.emptyArray, ts.emptyArray, stringIndexInfo, numberIndexInfo); function addMemberForKeyType(t, _index, origin) { var templateMapper = combineTypeMappers(type.mapper, createTypeMapper([typeParameter], [t])); var propType = instantiateType(templateType, templateMapper); - if (t.flags & 1120) { + if (t.flags & 2240) { var propName = getLateBoundNameFromType(t); var modifiersProp = getPropertyOfType(modifiersType, propName); var isOptional = !!(templateModifiers & 4 || @@ -27895,10 +28076,10 @@ var ts; prop.nameType = t; members.set(propName, prop); } - else if (t.flags & (1 | 2)) { + else if (t.flags & (1 | 4)) { stringIndexInfo = createIndexInfo(propType, !!(templateModifiers & 1)); } - else if (t.flags & 4) { + else if (t.flags & 8) { numberIndexInfo = createIndexInfo(propType, !!(templateModifiers & 1)); } } @@ -27909,20 +28090,20 @@ var ts; } function getConstraintTypeFromMappedType(type) { return type.constraintType || - (type.constraintType = instantiateType(getConstraintOfTypeParameter(getTypeParameterFromMappedType(type)), type.mapper || identityMapper) || unknownType); + (type.constraintType = instantiateType(getConstraintOfTypeParameter(getTypeParameterFromMappedType(type)), type.mapper || identityMapper) || errorType); } function getTemplateTypeFromMappedType(type) { return type.templateType || (type.templateType = type.declaration.type ? instantiateType(addOptionality(getTypeFromTypeNode(type.declaration.type), !!(getMappedTypeModifiers(type) & 4)), type.mapper || identityMapper) : - unknownType); + errorType); } function getConstraintDeclarationForMappedType(type) { return type.declaration.typeParameter.constraint; } function isMappedTypeWithKeyofConstraintDeclaration(type) { var constraintDeclaration = getConstraintDeclarationForMappedType(type); - return constraintDeclaration.kind === 174 && + return constraintDeclaration.kind === 175 && constraintDeclaration.operator === 128; } function getModifiersTypeFromMappedType(type) { @@ -27933,8 +28114,8 @@ var ts; else { var declaredType = getTypeFromMappedTypeNode(type.declaration); var constraint = getConstraintTypeFromMappedType(declaredType); - var extendedConstraint = constraint && constraint.flags & 32768 ? getConstraintOfTypeParameter(constraint) : constraint; - type.modifiersType = extendedConstraint && extendedConstraint.flags & 524288 ? instantiateType(extendedConstraint.type, type.mapper || identityMapper) : emptyObjectType; + var extendedConstraint = constraint && constraint.flags & 65536 ? getConstraintOfTypeParameter(constraint) : constraint; + type.modifiersType = extendedConstraint && extendedConstraint.flags & 1048576 ? instantiateType(extendedConstraint.type, type.mapper || identityMapper) : emptyObjectType; } } return type.modifiersType; @@ -27957,11 +28138,11 @@ var ts; return !!(ts.getObjectFlags(type) & 32 && getMappedTypeModifiers(type) & 4); } function isGenericMappedType(type) { - return ts.getObjectFlags(type) & 32 && isGenericIndexType(getConstraintTypeFromMappedType(type)); + return !!(ts.getObjectFlags(type) & 32) && isGenericIndexType(getConstraintTypeFromMappedType(type)); } function resolveStructuredTypeMembers(type) { if (!type.members) { - if (type.flags & 65536) { + if (type.flags & 131072) { if (type.objectFlags & 4) { resolveTypeReferenceMembers(type); } @@ -27978,23 +28159,23 @@ var ts; resolveMappedTypeMembers(type); } } - else if (type.flags & 131072) { + else if (type.flags & 262144) { resolveUnionTypeMembers(type); } - else if (type.flags & 262144) { + else if (type.flags & 524288) { resolveIntersectionTypeMembers(type); } } return type; } function getPropertiesOfObjectType(type) { - if (type.flags & 65536) { + if (type.flags & 131072) { return resolveStructuredTypeMembers(type).properties; } return ts.emptyArray; } function getPropertyOfObjectType(type, name) { - if (type.flags & 65536) { + if (type.flags & 131072) { var resolved = resolveStructuredTypeMembers(type); var symbol = resolved.members.get(name); if (symbol && symbolIsValue(symbol)) { @@ -28016,7 +28197,7 @@ var ts; } } } - if (type.flags & 131072) { + if (type.flags & 262144) { break; } } @@ -28026,13 +28207,13 @@ var ts; } function getPropertiesOfType(type) { type = getApparentType(type); - return type.flags & 393216 ? + return type.flags & 786432 ? getPropertiesOfUnionOrIntersectionType(type) : getPropertiesOfObjectType(type); } function getAllPossiblePropertiesOfTypes(types) { var unionType = getUnionType(types); - if (!(unionType.flags & 131072)) { + if (!(unionType.flags & 262144)) { return getAugmentedPropertiesOfType(unionType); } var props = ts.createSymbolTable(); @@ -28050,9 +28231,9 @@ var ts; return ts.arrayFrom(props.values()); } function getConstraintOfType(type) { - return type.flags & 32768 ? getConstraintOfTypeParameter(type) : - type.flags & 1048576 ? getConstraintOfIndexedAccess(type) : - type.flags & 2097152 ? getConstraintOfConditionalType(type) : + return type.flags & 65536 ? getConstraintOfTypeParameter(type) : + type.flags & 2097152 ? getConstraintOfIndexedAccess(type) : + type.flags & 4194304 ? getConstraintOfConditionalType(type) : getBaseConstraintOfType(type); } function getConstraintOfTypeParameter(typeParameter) { @@ -28062,12 +28243,12 @@ var ts; var objectType = getBaseConstraintOfType(type.objectType) || type.objectType; var indexType = getBaseConstraintOfType(type.indexType) || type.indexType; var constraint = !isGenericObjectType(objectType) && !isGenericIndexType(indexType) ? getIndexedAccessType(objectType, indexType) : undefined; - return constraint && constraint !== unknownType ? constraint : undefined; + return constraint && constraint !== errorType ? constraint : undefined; } function getDefaultConstraintOfConditionalType(type) { if (!type.resolvedDefaultConstraint) { var rootTrueType = type.root.trueType; - var rootTrueConstraint = rootTrueType.flags & 4194304 ? rootTrueType.substitute : rootTrueType; + var rootTrueConstraint = rootTrueType.flags & 8388608 ? rootTrueType.substitute : rootTrueType; type.resolvedDefaultConstraint = getUnionType([instantiateType(rootTrueConstraint, type.combinedMapper || type.mapper), getFalseTypeFromConditionalType(type)]); } return type.resolvedDefaultConstraint; @@ -28078,7 +28259,7 @@ var ts; if (constraint) { var mapper = makeUnaryTypeMapper(type.root.checkType, constraint); var instantiated = getConditionalTypeInstantiation(type, combineTypeMappers(mapper, type.mapper)); - if (!(instantiated.flags & 16384)) { + if (!(instantiated.flags & 32768)) { return instantiated; } } @@ -28093,19 +28274,19 @@ var ts; var hasDisjointDomainType = false; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 7897088) { + if (t.flags & 15794176) { var constraint = getConstraintOfType(t); - while (constraint && constraint.flags & (32768 | 524288 | 2097152)) { + while (constraint && constraint.flags & (65536 | 1048576 | 4194304)) { constraint = getConstraintOfType(constraint); } if (constraint) { - if (!(constraint.flags & 131072)) { + if (!(constraint.flags & 262144)) { return undefined; } constraints = ts.append(constraints, constraint); } } - else if (t.flags & 134233854) { + else if (t.flags & 16809468) { hasDisjointDomainType = true; } } @@ -28113,7 +28294,7 @@ var ts; if (hasDisjointDomainType) { for (var _b = 0, _c = type.types; _b < _c.length; _b++) { var t = _c[_b]; - if (t.flags & 134233854) { + if (t.flags & 16809468) { constraints = ts.append(constraints, t); } } @@ -28123,7 +28304,7 @@ var ts; return undefined; } function getBaseConstraintOfInstantiableNonPrimitiveUnionOrIntersection(type) { - if (type.flags & (7372800 | 393216)) { + if (type.flags & (14745600 | 786432)) { var constraint = getResolvedBaseConstraint(type); if (constraint !== noConstraintType && constraint !== circularConstraintType) { return constraint; @@ -28132,7 +28313,7 @@ var ts; } function getBaseConstraintOfType(type) { var constraint = getBaseConstraintOfInstantiableNonPrimitiveUnionOrIntersection(type); - if (!constraint && type.flags & 524288) { + if (!constraint && type.flags & 1048576) { return keyofConstraintType; } return constraint; @@ -28163,13 +28344,13 @@ var ts; return result; } function computeBaseConstraint(t) { - if (t.flags & 32768) { + if (t.flags & 65536) { var constraint = getConstraintFromTypeParameter(t); return t.isThisType || !constraint ? constraint : getBaseConstraint(constraint); } - if (t.flags & 393216) { + if (t.flags & 786432) { var types = t.types; var baseTypes = []; for (var _i = 0, types_4 = types; _i < types_4.length; _i++) { @@ -28179,24 +28360,24 @@ var ts; baseTypes.push(baseType); } } - return t.flags & 131072 && baseTypes.length === types.length ? getUnionType(baseTypes) : - t.flags & 262144 && baseTypes.length ? getIntersectionType(baseTypes) : + return t.flags & 262144 && baseTypes.length === types.length ? getUnionType(baseTypes) : + t.flags & 524288 && baseTypes.length ? getIntersectionType(baseTypes) : undefined; } - if (t.flags & 524288) { + if (t.flags & 1048576) { return keyofConstraintType; } - if (t.flags & 1048576) { + if (t.flags & 2097152) { var baseObjectType = getBaseConstraint(t.objectType); var baseIndexType = getBaseConstraint(t.indexType); var baseIndexedAccess = baseObjectType && baseIndexType ? getIndexedAccessType(baseObjectType, baseIndexType) : undefined; - return baseIndexedAccess && baseIndexedAccess !== unknownType ? getBaseConstraint(baseIndexedAccess) : undefined; + return baseIndexedAccess && baseIndexedAccess !== errorType ? getBaseConstraint(baseIndexedAccess) : undefined; } - if (t.flags & 2097152) { + if (t.flags & 4194304) { var constraint = getConstraintOfConditionalType(t); return constraint && getBaseConstraint(constraint); } - if (t.flags & 4194304) { + if (t.flags & 8388608) { return getBaseConstraint(t.substitute); } if (isGenericMappedType(t)) { @@ -28239,19 +28420,19 @@ var ts; return !!(typeParameter.symbol && ts.forEach(typeParameter.symbol.declarations, function (decl) { return ts.isTypeParameterDeclaration(decl) && decl.default; })); } function getApparentType(type) { - var t = type.flags & 7897088 ? getBaseConstraintOfType(type) || emptyObjectType : type; - return t.flags & 262144 ? getApparentTypeOfIntersectionType(t) : - t.flags & 34 ? globalStringType : - t.flags & 84 ? globalNumberType : - t.flags & 136 ? globalBooleanType : - t.flags & 1536 ? getGlobalESSymbolType(languageVersion >= 2) : - t.flags & 134217728 ? emptyObjectType : - t.flags & 524288 ? keyofConstraintType : + var t = type.flags & 15794176 ? getBaseConstraintOfType(type) || emptyObjectType : type; + return t.flags & 524288 ? getApparentTypeOfIntersectionType(t) : + t.flags & 68 ? globalStringType : + t.flags & 168 ? globalNumberType : + t.flags & 272 ? globalBooleanType : + t.flags & 3072 ? getGlobalESSymbolType(languageVersion >= 2) : + t.flags & 16777216 ? emptyObjectType : + t.flags & 1048576 ? keyofConstraintType : t; } function createUnionOrIntersectionProperty(containingType, name) { var props; - var isUnion = containingType.flags & 131072; + var isUnion = containingType.flags & 262144; var excludeModifiers = isUnion ? 24 : 0; var commonFlags = isUnion ? 0 : 16777216; var syntheticFlag = 4; @@ -28259,7 +28440,7 @@ var ts; for (var _i = 0, _a = containingType.types; _i < _a.length; _i++) { var current = _a[_i]; var type = getApparentType(current); - if (type !== unknownType) { + if (type !== errorType) { var prop = getPropertyOfType(type, name); var modifiers = prop ? ts.getDeclarationModifierFlagsFromSymbol(prop) : 0; if (prop && !(modifiers & excludeModifiers)) { @@ -28341,7 +28522,7 @@ var ts; } function getPropertyOfType(type, name) { type = getApparentType(type); - if (type.flags & 65536) { + if (type.flags & 131072) { var resolved = resolveStructuredTypeMembers(type); var symbol = resolved.members.get(name); if (symbol && symbolIsValue(symbol)) { @@ -28355,13 +28536,13 @@ var ts; } return getPropertyOfObjectType(globalObjectType, name); } - if (type.flags & 393216) { + if (type.flags & 786432) { return getPropertyOfUnionOrIntersectionType(type, name); } return undefined; } function getSignaturesOfStructuredType(type, kind) { - if (type.flags & 458752) { + if (type.flags & 917504) { var resolved = resolveStructuredTypeMembers(type); return kind === 0 ? resolved.callSignatures : resolved.constructSignatures; } @@ -28371,7 +28552,7 @@ var ts; return getSignaturesOfStructuredType(getApparentType(type), kind); } function getIndexInfoOfStructuredType(type, kind) { - if (type.flags & 458752) { + if (type.flags & 917504) { var resolved = resolveStructuredTypeMembers(type); return kind === 0 ? resolved.stringIndexInfo : resolved.numberIndexInfo; } @@ -28419,10 +28600,10 @@ var ts; return result; } function isJSDocOptionalParameter(node) { - return ts.isInJavaScriptFile(node) && (node.type && node.type.kind === 282 + return ts.isInJavaScriptFile(node) && (node.type && node.type.kind === 283 || ts.getJSDocParameterTags(node).some(function (_a) { var isBracketed = _a.isBracketed, typeExpression = _a.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 282; + return isBracketed || !!typeExpression && typeExpression.type.kind === 283; })); } function tryFindAmbientModule(moduleName, withAugmentations) { @@ -28455,7 +28636,7 @@ var ts; return false; } var isBracketed = node.isBracketed, typeExpression = node.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 282; + return isBracketed || !!typeExpression && typeExpression.type.kind === 283; } function createTypePredicateFromTypePredicateNode(node) { var parameterName = node.parameterName; @@ -28515,7 +28696,7 @@ var ts; var hasLiteralTypes = false; var minArgumentCount = 0; var thisParameter = void 0; - var hasThisParameter = void 0; + var hasThisParameter = false; var iife = ts.getImmediatelyInvokedFunctionExpression(declaration); var isJSConstructSignature = ts.isJSDocConstructSignature(declaration); var isUntypedSignatureInJSFile = !iife && @@ -28538,7 +28719,7 @@ var ts; else { parameters.push(paramSymbol); } - if (type && type.kind === 177) { + if (type && type.kind === 178) { hasLiteralTypes = true; } var isOptionalParameter_1 = isOptionalJSDocParameterTag(param) || @@ -28550,16 +28731,16 @@ var ts; minArgumentCount = parameters.length; } } - if ((declaration.kind === 155 || declaration.kind === 156) && + if ((declaration.kind === 156 || declaration.kind === 157) && !hasNonBindableDynamicName(declaration) && (!hasThisParameter || !thisParameter)) { - var otherKind = declaration.kind === 155 ? 156 : 155; + var otherKind = declaration.kind === 156 ? 157 : 156; var other = ts.getDeclarationOfKind(getSymbolOfNode(declaration), otherKind); if (other) { thisParameter = getAnnotatedAccessorThisParameter(other); } } - var classType = declaration.kind === 154 ? + var classType = declaration.kind === 155 ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(declaration.parent.symbol)) : undefined; var typeParameters = classType ? classType.localTypeParameters : getTypeParametersFromDeclaration(declaration); @@ -28598,8 +28779,8 @@ var ts; if (typeNode) { return getTypeFromTypeNode(typeNode); } - if (declaration.kind === 155 && !hasNonBindableDynamicName(declaration)) { - var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 156); + if (declaration.kind === 156 && !hasNonBindableDynamicName(declaration)) { + var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 157); return getAnnotatedAccessorType(setter); } if (ts.nodeIsMissing(declaration.body)) { @@ -28623,14 +28804,14 @@ var ts; switch (node.kind) { case 71: return node.escapedText === "arguments" && ts.isExpressionNode(node); - case 151: - case 153: - case 155: + case 152: + case 154: case 156: - return node.name.kind === 146 + case 157: + return node.name.kind === 147 && traverse(node.name); default: - return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && ts.forEachChild(node, traverse); + return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && !!ts.forEachChild(node, traverse); } } } @@ -28640,16 +28821,15 @@ var ts; var result = []; for (var i = 0; i < symbol.declarations.length; i++) { var decl = symbol.declarations[i]; - var node = ts.isPropertyAccessExpression(decl) ? ts.getAssignedJavascriptInitializer(decl) : decl; - if (!ts.isFunctionLike(node)) + if (!ts.isFunctionLike(decl)) continue; - if (i > 0 && node.body) { + if (i > 0 && decl.body) { var previous = symbol.declarations[i - 1]; - if (node.parent === previous.parent && node.kind === previous.kind && node.pos === previous.end) { + if (decl.parent === previous.parent && decl.kind === previous.kind && decl.pos === previous.end) { continue; } } - result.push(getSignatureFromDeclaration(node)); + result.push(getSignatureFromDeclaration(decl)); } return result; } @@ -28682,7 +28862,7 @@ var ts; } else { var declaration = signature.declaration; - signature.resolvedTypePredicate = declaration && declaration.type && declaration.type.kind === 160 ? + signature.resolvedTypePredicate = declaration && declaration.type && declaration.type.kind === 161 ? createTypePredicateFromTypePredicateNode(declaration.type) : noTypePredicate; } @@ -28693,7 +28873,7 @@ var ts; function getReturnTypeOfSignature(signature) { if (!signature.resolvedReturnType) { if (!pushTypeResolution(signature, 3)) { - return unknownType; + return errorType; } var type = void 0; if (signature.target) { @@ -28727,7 +28907,7 @@ var ts; } function getRestTypeOfSignature(signature) { if (signature.hasRestParameter) { - var type = getTypeOfSymbol(ts.lastOrUndefined(signature.parameters)); + var type = getTypeOfSymbol(ts.last(signature.parameters)); if (ts.getObjectFlags(type) & 4 && type.target === globalArrayType) { return type.typeArguments[0]; } @@ -28777,7 +28957,7 @@ var ts; } function getOrCreateTypeFromSignature(signature) { if (!signature.isolatedSignatureType) { - var isConstructor = signature.declaration.kind === 154 || signature.declaration.kind === 158; + var isConstructor = signature.declaration.kind === 155 || signature.declaration.kind === 159; var type = createObjectType(16); type.members = emptySymbols; type.properties = ts.emptyArray; @@ -28818,7 +28998,7 @@ var ts; return undefined; } function getConstraintDeclaration(type) { - var decl = type.symbol && ts.getDeclarationOfKind(type.symbol, 147); + var decl = type.symbol && ts.getDeclarationOfKind(type.symbol, 148); return decl && decl.constraint; } function getInferredTypeParameterConstraint(typeParameter) { @@ -28826,7 +29006,7 @@ var ts; if (typeParameter.symbol) { for (var _i = 0, _a = typeParameter.symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.parent.kind === 171 && declaration.parent.parent.kind === 161) { + if (declaration.parent.kind === 172 && declaration.parent.parent.kind === 162) { var typeReference = declaration.parent.parent; var typeParameters = getTypeParametersForTypeReference(typeReference); if (typeParameters) { @@ -28862,7 +29042,7 @@ var ts; return typeParameter.constraint === noConstraintType ? undefined : typeParameter.constraint; } function getParentSymbolOfTypeParameter(typeParameter) { - return getSymbolOfNode(ts.getDeclarationOfKind(typeParameter.symbol, 147).parent); + return getSymbolOfNode(ts.getDeclarationOfKind(typeParameter.symbol, 148).parent); } function getTypeListId(types) { var result = ""; @@ -28895,7 +29075,7 @@ var ts; result |= type.flags; } } - return result & 117440512; + return result & 939524096; } function createTypeReference(target, typeArguments) { var id = getTypeListId(typeArguments); @@ -28929,7 +29109,7 @@ var ts; var isJs = ts.isInJavaScriptFile(node); var isJsImplicitAny = !noImplicitAny && isJs; if (!isJsImplicitAny && (numTypeArguments < minTypeArgumentCount || numTypeArguments > typeParameters.length)) { - var missingAugmentsTag = isJs && node.parent.kind !== 289; + var missingAugmentsTag = isJs && node.parent.kind !== 290; var diag = minTypeArgumentCount === typeParameters.length ? missingAugmentsTag ? ts.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag @@ -28940,13 +29120,13 @@ var ts; var typeStr = typeToString(type, undefined, 2); error(node, diag, typeStr, minTypeArgumentCount, typeParameters.length); if (!isJs) { - return unknownType; + return errorType; } } var typeArguments = ts.concatenate(type.outerTypeParameters, fillMissingTypeArguments(typeArgs, typeParameters, minTypeArgumentCount, isJs)); return createTypeReference(type, typeArguments); } - return checkNoTypeArguments(node, symbol) ? type : unknownType; + return checkNoTypeArguments(node, symbol) ? type : errorType; } function getTypeAliasInstantiation(symbol, typeArguments) { var type = getDeclaredTypeOfSymbol(symbol); @@ -28969,17 +29149,17 @@ var ts; error(node, minTypeArgumentCount === typeParameters.length ? ts.Diagnostics.Generic_type_0_requires_1_type_argument_s : ts.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments, symbolToString(symbol), minTypeArgumentCount, typeParameters.length); - return unknownType; + return errorType; } return getTypeAliasInstantiation(symbol, typeArguments); } - return checkNoTypeArguments(node, symbol) ? type : unknownType; + return checkNoTypeArguments(node, symbol) ? type : errorType; } function getTypeReferenceName(node) { switch (node.kind) { - case 161: + case 162: return node.typeName; - case 206: + case 207: var expr = node.expression; if (ts.isEntityNameExpression(expr)) { return expr; @@ -28996,7 +29176,7 @@ var ts; function getTypeReferenceType(node, symbol) { var typeArguments = typeArgumentsFromTypeReferenceNode(node); if (symbol === unknownSymbol) { - return unknownType; + return errorType; } var type = getTypeReferenceTypeWorker(node, symbol, typeArguments); if (type) { @@ -29005,11 +29185,11 @@ var ts; var res = tryGetDeclaredTypeOfSymbol(symbol); if (res) { return checkNoTypeArguments(node, symbol) ? - res.flags & 32768 ? getConstrainedTypeVariable(res, node) : res : - unknownType; + res.flags & 65536 ? getConstrainedTypeVariable(res, node) : res : + errorType; } if (!(symbol.flags & 67216319 && isJSDocTypeReference(node))) { - return unknownType; + return errorType; } var jsdocType = getJSDocTypeReference(node, symbol, typeArguments); if (jsdocType) { @@ -29023,7 +29203,7 @@ var ts; var valueType = getTypeOfSymbol(symbol); var referenceType = valueType.symbol && valueType.symbol !== symbol && !isInferredClassType(valueType) && getTypeReferenceTypeWorker(node, valueType.symbol, typeArguments); if (referenceType || assignedType) { - return referenceType && assignedType ? getIntersectionType([assignedType, referenceType]) : referenceType || assignedType; + return (referenceType && assignedType ? getIntersectionType([assignedType, referenceType]) : referenceType || assignedType); } } function getTypeReferenceTypeWorker(node, symbol, typeArguments) { @@ -29046,13 +29226,13 @@ var ts; } } function getSubstitutionType(typeVariable, substitute) { - var result = createType(4194304); + var result = createType(8388608); result.typeVariable = typeVariable; result.substitute = substitute; return result; } function isUnaryTupleTypeNode(node) { - return node.kind === 167 && node.elementTypes.length === 1; + return node.kind === 168 && node.elementTypes.length === 1; } function getImpliedConstraint(typeVariable, checkNode, extendsNode) { return isUnaryTupleTypeNode(checkNode) && isUnaryTupleTypeNode(extendsNode) ? getImpliedConstraint(typeVariable, checkNode.elementTypes[0], extendsNode.elementTypes[0]) : @@ -29061,9 +29241,9 @@ var ts; } function getConstrainedTypeVariable(typeVariable, node) { var constraints; - while (node && !ts.isStatement(node) && node.kind !== 285) { + while (node && !ts.isStatement(node) && node.kind !== 286) { var parent = node.parent; - if (parent.kind === 170 && node === parent.trueType) { + if (parent.kind === 171 && node === parent.trueType) { var constraint = getImpliedConstraint(typeVariable, parent.checkType, parent.extendsType); if (constraint) { constraints = ts.append(constraints, constraint); @@ -29074,7 +29254,7 @@ var ts; return constraints ? getSubstitutionType(typeVariable, getIntersectionType(ts.append(constraints, typeVariable))) : typeVariable; } function isJSDocTypeReference(node) { - return node.flags & 2097152 && node.kind === 161; + return !!(node.flags & 2097152) && node.kind === 162; } function checkNoTypeArguments(node, symbol) { if (node.typeArguments) { @@ -29121,7 +29301,7 @@ var ts; var indexed = getTypeFromTypeNode(typeArgs[0]); var target = getTypeFromTypeNode(typeArgs[1]); var index = createIndexInfo(target, false); - return createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, indexed === stringType && index, indexed === numberType && index); + return createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, indexed === stringType ? index : undefined, indexed === numberType ? index : undefined); } return anyType; } @@ -29132,7 +29312,7 @@ var ts; } function getTypeFromJSDocNullableTypeNode(node) { var type = getTypeFromTypeNode(node.type); - return strictNullChecks ? getNullableType(type, 8192) : type; + return strictNullChecks ? getNullableType(type, 16384) : type; } function getTypeFromTypeReference(node) { var links = getNodeLinks(node); @@ -29169,9 +29349,9 @@ var ts; for (var _i = 0, declarations_3 = declarations; _i < declarations_3.length; _i++) { var declaration = declarations_3[_i]; switch (declaration.kind) { - case 234: case 235: - case 237: + case 236: + case 238: return declaration; } } @@ -29180,7 +29360,7 @@ var ts; return arity ? emptyGenericType : emptyObjectType; } var type = getDeclaredTypeOfSymbol(symbol); - if (!(type.flags & 65536)) { + if (!(type.flags & 131072)) { error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, ts.symbolName(symbol)); return arity ? emptyGenericType : emptyObjectType; } @@ -29285,7 +29465,7 @@ var ts; var typeParameters = []; var properties = []; for (var i = 0; i < arity; i++) { - var typeParameter = createType(32768); + var typeParameter = createType(65536); typeParameters.push(typeParameter); var property = createSymbol(4, "" + i); property.type = typeParameter; @@ -29302,7 +29482,7 @@ var ts; type.instantiations.set(getTypeListId(type.typeParameters), type); type.target = type; type.typeArguments = type.typeParameters; - type.thisType = createType(32768); + type.thisType = createType(65536); type.thisType.isThisType = true; type.thisType.constraint = type; type.declaredProperties = properties; @@ -29335,16 +29515,16 @@ var ts; var combined = 0; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 13536 && combined & 13536) { + if (t.flags & 27072 && combined & 27072) { return true; } combined |= t.flags; - if (combined & 12288 && combined & (65536 | 134217728) || - combined & 134217728 && combined & (134233854 & ~134217728) || - combined & 34 && combined & (134233854 & ~34) || - combined & 84 && combined & (134233854 & ~84) || - combined & 1536 && combined & (134233854 & ~1536) || - combined & 6144 && combined & (134233854 & ~6144)) { + if (combined & 24576 && combined & (131072 | 16777216) || + combined & 16777216 && combined & (16809468 & ~16777216) || + combined & 68 && combined & (16809468 & ~68) || + combined & 168 && combined & (16809468 & ~168) || + combined & 3072 && combined & (16809468 & ~3072) || + combined & 12288 && combined & (16809468 & ~12288)) { return true; } } @@ -29352,24 +29532,24 @@ var ts; } function addTypeToUnion(typeSet, includes, type) { var flags = type.flags; - if (flags & 131072) { + if (flags & 262144) { return addTypesToUnion(typeSet, includes, type.types); } - if (!(flags & 16384 || flags & 262144 && isEmptyIntersectionType(type))) { - includes |= flags & ~117440512; - if (flags & 1) { + if (!(flags & 32768 || flags & 524288 && isEmptyIntersectionType(type))) { + includes |= flags & ~939524096; + if (flags & 3) { if (type === wildcardType) - includes |= 33554432; + includes |= 268435456; } - else if (!strictNullChecks && flags & 12288) { - if (!(flags & 16777216)) - includes |= 16777216; + else if (!strictNullChecks && flags & 24576) { + if (!(flags & 134217728)) + includes |= 134217728; } else { var len = typeSet.length; var index = len && type.id > typeSet[len - 1].id ? ~len : ts.binarySearch(typeSet, type, getTypeId, ts.compareValues); if (index < 0) { - if (!(flags & 65536 && type.objectFlags & 16 && + if (!(flags & 131072 && type.objectFlags & 16 && type.symbol && type.symbol.flags & (16 | 8192) && containsIdenticalType(typeSet, type))) { typeSet.splice(~index, 0, type); } @@ -29407,11 +29587,11 @@ var ts; } function isSetOfLiteralsFromSameEnum(types) { var first = types[0]; - if (first.flags & 256) { + if (first.flags & 512) { var firstEnum = getParentOfSymbol(first.symbol); for (var i = 1; i < types.length; i++) { var other = types[i]; - if (!(other.flags & 256) || (firstEnum !== getParentOfSymbol(other.symbol))) { + if (!(other.flags & 512) || (firstEnum !== getParentOfSymbol(other.symbol))) { return false; } } @@ -29436,10 +29616,10 @@ var ts; while (i > 0) { i--; var t = types[i]; - var remove = t.flags & 32 && includes & 2 || - t.flags & 64 && includes & 4 || - t.flags & 1024 && includes & 512 || - t.flags & 96 && t.flags & 8388608 && containsType(types, t.regularType); + var remove = t.flags & 64 && includes & 4 || + t.flags & 128 && includes & 8 || + t.flags & 2048 && includes & 1024 || + t.flags & 192 && t.flags & 33554432 && containsType(types, t.regularType); if (remove) { ts.orderedRemoveItemAt(types, i); } @@ -29455,12 +29635,12 @@ var ts; } var typeSet = []; var includes = addTypesToUnion(typeSet, 0, types); - if (includes & 1) { - return includes & 33554432 ? wildcardType : anyType; + if (includes & 3) { + return includes & 1 ? includes & 268435456 ? wildcardType : anyType : unknownType; } switch (unionReduction) { case 1: - if (includes & 1120) { + if (includes & 2240) { removeRedundantLiteralTypes(typeSet, includes); } break; @@ -29469,11 +29649,11 @@ var ts; break; } if (typeSet.length === 0) { - return includes & 8192 ? includes & 16777216 ? nullType : nullWideningType : - includes & 4096 ? includes & 16777216 ? undefinedType : undefinedWideningType : + return includes & 16384 ? includes & 134217728 ? nullType : nullWideningType : + includes & 8192 ? includes & 134217728 ? undefinedType : undefinedWideningType : neverType; } - return getUnionTypeFromSortedList(typeSet, includes & 8374815 ? 0 : 268435456, aliasSymbol, aliasTypeArguments); + return getUnionTypeFromSortedList(typeSet, includes & 16749629 ? 0 : 67108864, aliasSymbol, aliasTypeArguments); } function getUnionTypePredicate(signatures) { var first; @@ -29517,8 +29697,8 @@ var ts; var id = getTypeListId(types); var type = unionTypes.get(id); if (!type) { - var propagatedFlags = getPropagatingFlagsOfTypes(types, 12288); - type = createType(131072 | propagatedFlags | unionOfUnitTypes); + var propagatedFlags = getPropagatingFlagsOfTypes(types, 24576); + type = createType(262144 | propagatedFlags | unionOfUnitTypes); unionTypes.set(id, type); type.types = types; type.aliasSymbol = aliasSymbol; @@ -29536,20 +29716,20 @@ var ts; } function addTypeToIntersection(typeSet, includes, type) { var flags = type.flags; - if (flags & 262144) { + if (flags & 524288) { return addTypesToIntersection(typeSet, includes, type.types); } if (ts.getObjectFlags(type) & 16 && isEmptyObjectType(type)) { - includes |= 67108864; + includes |= 536870912; } else { - includes |= flags & ~117440512; - if (flags & 1) { + includes |= flags & ~939524096; + if (flags & 3) { if (type === wildcardType) - includes |= 33554432; + includes |= 268435456; } - else if ((strictNullChecks || !(flags & 12288)) && !ts.contains(typeSet, type) && - !(flags & 65536 && type.objectFlags & 16 && + else if ((strictNullChecks || !(flags & 24576)) && !ts.contains(typeSet, type) && + !(flags & 131072 && type.objectFlags & 16 && type.symbol && type.symbol.flags & (16 | 8192) && containsIdenticalType(typeSet, type))) { typeSet.push(type); @@ -29569,22 +29749,22 @@ var ts; while (i > 0) { i--; var t = types[i]; - var remove = t.flags & 2 && includes & 32 || - t.flags & 4 && includes & 64 || - t.flags & 512 && includes & 1024; + var remove = t.flags & 4 && includes & 64 || + t.flags & 8 && includes & 128 || + t.flags & 1024 && includes & 2048; if (remove) { ts.orderedRemoveItemAt(types, i); } } } function intersectUnionsOfUnitTypes(types) { - var unionIndex = ts.findIndex(types, function (t) { return (t.flags & 268435456) !== 0; }); + var unionIndex = ts.findIndex(types, function (t) { return (t.flags & 67108864) !== 0; }); var unionType = types[unionIndex]; var intersection = unionType.types; var i = types.length - 1; var _loop_5 = function () { var t = types[i]; - if (t.flags & 268435456) { + if (t.flags & 67108864) { intersection = ts.filter(intersection, function (u) { return containsType(t.types, u); }); ts.orderedRemoveItemAt(types, i); } @@ -29596,45 +29776,48 @@ var ts; if (intersection === unionType.types) { return false; } - types[unionIndex] = getUnionTypeFromSortedList(intersection, unionType.flags & 268435456); + types[unionIndex] = getUnionTypeFromSortedList(intersection, unionType.flags & 67108864); return true; } function getIntersectionType(types, aliasSymbol, aliasTypeArguments) { - if (types.length === 0) { - return emptyObjectType; - } var typeSet = []; var includes = addTypesToIntersection(typeSet, 0, types); - if (includes & 16384) { + if (includes & 32768) { return neverType; } if (includes & 1) { - return includes & 33554432 ? wildcardType : anyType; + return includes & 268435456 ? wildcardType : anyType; } - if (includes & 2 && includes & 32 || - includes & 4 && includes & 64 || - includes & 512 && includes & 1024) { + if (!strictNullChecks && includes & 24576) { + return includes & 8192 ? undefinedType : nullType; + } + if (includes & 4 && includes & 64 || + includes & 8 && includes & 128 || + includes & 1024 && includes & 2048) { removeRedundantPrimitiveTypes(typeSet, includes); } - if (includes & 67108864 && !(includes & 65536)) { + if (includes & 536870912 && !(includes & 131072)) { typeSet.push(emptyObjectType); } + if (typeSet.length === 0) { + return unknownType; + } if (typeSet.length === 1) { return typeSet[0]; } - if (includes & 131072) { - if (includes & 268435456 && intersectUnionsOfUnitTypes(typeSet)) { + if (includes & 262144) { + if (includes & 67108864 && intersectUnionsOfUnitTypes(typeSet)) { return getIntersectionType(typeSet, aliasSymbol, aliasTypeArguments); } - var unionIndex_1 = ts.findIndex(typeSet, function (t) { return (t.flags & 131072) !== 0; }); + var unionIndex_1 = ts.findIndex(typeSet, function (t) { return (t.flags & 262144) !== 0; }); var unionType = typeSet[unionIndex_1]; return getUnionType(ts.map(unionType.types, function (t) { return getIntersectionType(ts.replaceElement(typeSet, unionIndex_1, t)); }), 1, aliasSymbol, aliasTypeArguments); } var id = getTypeListId(typeSet); var type = intersectionTypes.get(id); if (!type) { - var propagatedFlags = getPropagatingFlagsOfTypes(typeSet, 12288); - type = createType(262144 | propagatedFlags); + var propagatedFlags = getPropagatingFlagsOfTypes(typeSet, 24576); + type = createType(524288 | propagatedFlags); intersectionTypes.set(id, type); type.types = typeSet; type.aliasSymbol = aliasSymbol; @@ -29651,7 +29834,7 @@ var ts; return links.resolvedType; } function createIndexType(type, stringsOnly) { - var result = createType(524288); + var result = createType(1048576); result.type = type; result.stringsOnly = stringsOnly; return result; @@ -29667,7 +29850,7 @@ var ts; if (!type && !ts.isKnownSymbol(prop)) { var name = ts.getNameOfDeclaration(prop.valueDeclaration); type = name && ts.isNumericLiteral(name) ? getLiteralType(+name.text) : - name && name.kind === 146 && ts.isNumericLiteral(name.expression) ? getLiteralType(+name.expression.text) : + name && name.kind === 147 && ts.isNumericLiteral(name.expression) ? getLiteralType(+name.expression.text) : getLiteralType(ts.symbolName(prop)); } if (type && type.flags & include) { @@ -29685,16 +29868,16 @@ var ts; } function getIndexType(type, stringsOnly) { if (stringsOnly === void 0) { stringsOnly = keyofStringsOnly; } - return type.flags & 131072 ? getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : - type.flags & 262144 ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : - maybeTypeOfKind(type, 7372800) ? getIndexTypeForGenericType(type, stringsOnly) : + return type.flags & 262144 ? getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : + type.flags & 524288 ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : + maybeTypeOfKind(type, 14745600) ? getIndexTypeForGenericType(type, stringsOnly) : ts.getObjectFlags(type) & 32 ? getConstraintTypeFromMappedType(type) : type === wildcardType ? wildcardType : type.flags & 1 ? keyofConstraintType : - stringsOnly ? getIndexInfoOfType(type, 0) ? stringType : getLiteralTypeFromPropertyNames(type, 32) : - getIndexInfoOfType(type, 0) ? getUnionType([stringType, numberType, getLiteralTypeFromPropertyNames(type, 1024)]) : - getNonEnumNumberIndexInfo(type) ? getUnionType([numberType, getLiteralTypeFromPropertyNames(type, 32 | 1024)]) : - getLiteralTypeFromPropertyNames(type, 1120); + stringsOnly ? getIndexInfoOfType(type, 0) ? stringType : getLiteralTypeFromPropertyNames(type, 64) : + getIndexInfoOfType(type, 0) ? getUnionType([stringType, numberType, getLiteralTypeFromPropertyNames(type, 2048)]) : + getNonEnumNumberIndexInfo(type) ? getUnionType([numberType, getLiteralTypeFromPropertyNames(type, 64 | 2048)]) : + getLiteralTypeFromPropertyNames(type, 2240); } function getExtractStringType(type) { if (keyofStringsOnly) { @@ -29705,7 +29888,7 @@ var ts; } function getIndexTypeOrString(type) { var indexType = getExtractStringType(getIndexType(type)); - return indexType.flags & 16384 ? stringType : indexType; + return indexType.flags & 32768 ? stringType : indexType; } function getTypeFromTypeOperatorNode(node) { var links = getNodeLinks(node); @@ -29717,20 +29900,20 @@ var ts; case 141: links.resolvedType = node.type.kind === 138 ? getESSymbolLikeTypeForNode(ts.walkUpParenthesizedTypes(node.parent)) - : unknownType; + : errorType; break; } } return links.resolvedType; } function createIndexedAccessType(objectType, indexType) { - var type = createType(1048576); + var type = createType(2097152); type.objectType = objectType; type.indexType = indexType; return type; } function getPropertyTypeForIndexType(objectType, indexType, accessNode, cacheSymbol) { - var accessExpression = accessNode && accessNode.kind === 185 ? accessNode : undefined; + var accessExpression = accessNode && accessNode.kind === 186 ? accessNode : undefined; var propName = isTypeUsableAsLateBoundName(indexType) ? getLateBoundNameFromType(indexType) : accessExpression && checkThatExpressionIsProperSymbolReference(accessExpression.argumentExpression, indexType, false) ? ts.getPropertyNameForKnownSymbolName(ts.idText(accessExpression.argumentExpression.name)) : @@ -29742,7 +29925,7 @@ var ts; markPropertyAsReferenced(prop, accessExpression, accessExpression.expression.kind === 99); if (ts.isAssignmentTarget(accessExpression) && (isReferenceToReadonlyEntity(accessExpression, prop) || isReferenceThroughNamespaceImport(accessExpression))) { error(accessExpression.argumentExpression, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, symbolToString(prop)); - return unknownType; + return errorType; } if (cacheSymbol) { getNodeLinks(accessNode).resolvedSymbol = prop; @@ -29751,16 +29934,16 @@ var ts; return getTypeOfSymbol(prop); } } - if (!(indexType.flags & 12288) && isTypeAssignableToKind(indexType, 34 | 84 | 1536)) { + if (!(indexType.flags & 24576) && isTypeAssignableToKind(indexType, 68 | 168 | 3072)) { if (isTypeAny(objectType)) { return objectType; } - var indexInfo = isTypeAssignableToKind(indexType, 84) && getIndexInfoOfType(objectType, 1) || + var indexInfo = isTypeAssignableToKind(indexType, 168) && getIndexInfoOfType(objectType, 1) || getIndexInfoOfType(objectType, 0) || undefined; if (indexInfo) { - if (accessNode && !isTypeAssignableToKind(indexType, 2 | 4)) { - var indexNode = accessNode.kind === 185 ? accessNode.argumentExpression : accessNode.indexType; + if (accessNode && !isTypeAssignableToKind(indexType, 4 | 8)) { + var indexNode = accessNode.kind === 186 ? accessNode.argumentExpression : accessNode.indexType; error(indexNode, ts.Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeToString(indexType)); } else if (accessExpression && indexInfo.isReadonly && (ts.isAssignmentTarget(accessExpression) || ts.isDeleteTarget(accessExpression))) { @@ -29768,7 +29951,7 @@ var ts; } return indexInfo.type; } - if (indexType.flags & 16384) { + if (indexType.flags & 32768) { return neverType; } if (accessExpression && !isConstEnumObjectType(objectType)) { @@ -29784,47 +29967,47 @@ var ts; } } if (accessNode) { - var indexNode = accessNode.kind === 185 ? accessNode.argumentExpression : accessNode.indexType; - if (indexType.flags & (32 | 64)) { + var indexNode = accessNode.kind === 186 ? accessNode.argumentExpression : accessNode.indexType; + if (indexType.flags & (64 | 128)) { error(indexNode, ts.Diagnostics.Property_0_does_not_exist_on_type_1, "" + indexType.value, typeToString(objectType)); } - else if (indexType.flags & (2 | 4)) { + else if (indexType.flags & (4 | 8)) { error(indexNode, ts.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1, typeToString(objectType), typeToString(indexType)); } else { error(indexNode, ts.Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeToString(indexType)); } } - return unknownType; + return errorType; } function isGenericObjectType(type) { - return maybeTypeOfKind(type, 7372800 | 536870912); + return maybeTypeOfKind(type, 14745600 | 134217728); } function isGenericIndexType(type) { - return maybeTypeOfKind(type, 7372800 | 524288); + return maybeTypeOfKind(type, 14745600 | 1048576); } function isStringIndexOnlyType(type) { - if (type.flags & 65536 && !isGenericMappedType(type)) { + if (type.flags & 131072 && !isGenericMappedType(type)) { var t = resolveStructuredTypeMembers(type); return t.properties.length === 0 && t.callSignatures.length === 0 && t.constructSignatures.length === 0 && - t.stringIndexInfo && !t.numberIndexInfo; + !!t.stringIndexInfo && !t.numberIndexInfo; } return false; } function isMappedTypeToNever(type) { - return ts.getObjectFlags(type) & 32 && getTemplateTypeFromMappedType(type) === neverType; + return !!(ts.getObjectFlags(type) & 32) && getTemplateTypeFromMappedType(type) === neverType; } function getSimplifiedType(type) { - return type.flags & 1048576 ? getSimplifiedIndexedAccessType(type) : type; + return type.flags & 2097152 ? getSimplifiedIndexedAccessType(type) : type; } function getSimplifiedIndexedAccessType(type) { if (type.simplified) { return type.simplified === circularConstraintType ? type : type.simplified; } type.simplified = circularConstraintType; - var objectType = type.objectType; - if (objectType.flags & 262144 && isGenericObjectType(objectType)) { + var objectType = getSimplifiedType(type.objectType); + if (objectType.flags & 524288 && isGenericObjectType(objectType)) { if (ts.some(objectType.types, isStringIndexOnlyType)) { var regularTypes = []; var stringIndexTypes = []; @@ -29850,7 +30033,7 @@ var ts; if (isGenericMappedType(objectType)) { return type.simplified = substituteIndexedMappedType(objectType, type); } - if (objectType.flags & 32768) { + if (objectType.flags & 65536) { var constraint = getConstraintFromTypeParameter(objectType); if (constraint && isGenericMappedType(constraint)) { return type.simplified = substituteIndexedMappedType(constraint, type); @@ -29867,8 +30050,8 @@ var ts; if (objectType === wildcardType || indexType === wildcardType) { return wildcardType; } - if (isGenericIndexType(indexType) || !(accessNode && accessNode.kind === 185) && isGenericObjectType(objectType)) { - if (objectType.flags & 1) { + if (isGenericIndexType(indexType) || !(accessNode && accessNode.kind === 186) && isGenericObjectType(objectType)) { + if (objectType.flags & 3) { return objectType; } var id = objectType.id + "," + indexType.id; @@ -29879,13 +30062,13 @@ var ts; return type; } var apparentObjectType = getApparentType(objectType); - if (indexType.flags & 131072 && !(indexType.flags & 8)) { + if (indexType.flags & 262144 && !(indexType.flags & 16)) { var propTypes = []; for (var _i = 0, _a = indexType.types; _i < _a.length; _i++) { var t = _a[_i]; var propType = getPropertyTypeForIndexType(apparentObjectType, t, accessNode, false); - if (propType === unknownType) { - return unknownType; + if (propType === errorType) { + return errorType; } propTypes.push(propType); } @@ -29899,7 +30082,7 @@ var ts; var objectType = getTypeFromTypeNode(node.objectType); var indexType = getTypeFromTypeNode(node.indexType); var resolved = getIndexedAccessType(objectType, indexType, node); - links.resolvedType = resolved.flags & 1048576 && + links.resolvedType = resolved.flags & 2097152 && resolved.objectType === objectType && resolved.indexType === indexType ? getConstrainedTypeVariable(resolved, node) : resolved; @@ -29919,7 +30102,7 @@ var ts; return links.resolvedType; } function getActualTypeVariable(type) { - return type.flags & 4194304 ? type.typeVariable : type; + return type.flags & 8388608 ? type.typeVariable : type; } function getConditionalType(root, mapper) { var checkType = instantiateType(root.checkType, mapper); @@ -29927,7 +30110,7 @@ var ts; if (checkType === wildcardType || extendsType === wildcardType) { return wildcardType; } - var isDeferred = root.isDistributive && maybeTypeOfKind(checkType, 7897088); + var isDeferred = root.isDistributive && maybeTypeOfKind(checkType, 15794176); var combinedMapper; if (root.inferTypeParameters) { var context = createInferenceContext(root.inferTypeParameters, undefined, 0); @@ -29937,6 +30120,9 @@ var ts; combinedMapper = combineTypeMappers(mapper, context); } if (!isDeferred) { + if (extendsType.flags & 3) { + return instantiateType(root.trueType, mapper); + } if (checkType.flags & 1) { return getUnionType([instantiateType(root.trueType, combinedMapper || mapper), instantiateType(root.falseType, mapper)]); } @@ -29949,7 +30135,7 @@ var ts; } } var erasedCheckType = getActualTypeVariable(checkType); - var result = createType(2097152); + var result = createType(4194304); result.root = root; result.checkType = erasedCheckType; result.extendsType = extendsType; @@ -29981,7 +30167,7 @@ var ts; return true; } while (node) { - if (node.kind === 170) { + if (node.kind === 171) { if (isTypeParameterPossiblyReferenced(tp, node.extendsType)) { return true; } @@ -30004,7 +30190,7 @@ var ts; extendsType: getTypeFromTypeNode(node.extendsType), trueType: getTypeFromTypeNode(node.trueType), falseType: getTypeFromTypeNode(node.falseType), - isDistributive: !!(checkType.flags & 32768), + isDistributive: !!(checkType.flags & 65536), inferTypeParameters: getInferTypeParameters(node), outerTypeParameters: outerTypeParameters, instantiations: undefined, @@ -30040,12 +30226,12 @@ var ts; if (node.isTypeOf && node.typeArguments) { error(node, ts.Diagnostics.Type_arguments_cannot_be_used_here); links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } if (!ts.isLiteralImportTypeNode(node)) { error(node.argument, ts.Diagnostics.String_literal_expected); links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } var argumentType = getTypeFromTypeNode(node.argument); var targetMeaning = node.isTypeOf ? 67216319 : 67901928; @@ -30053,7 +30239,7 @@ var ts; var innerModuleSymbol = resolveExternalModule(node, moduleName, ts.Diagnostics.Cannot_find_module_0, node, false); if (!innerModuleSymbol) { links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } var moduleSymbol_1 = resolveExternalModuleSymbol(innerModuleSymbol, false); if (!ts.nodeIsMissing(node.qualifier)) { @@ -30065,7 +30251,7 @@ var ts; var next = getSymbol(getExportsOfSymbol(getMergedSymbol(resolveSymbol(currentNamespace))), current.escapedText, meaning); if (!next) { error(current, ts.Diagnostics.Namespace_0_has_no_exported_member_1, getFullyQualifiedName(currentNamespace), ts.declarationNameToString(current)); - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } getNodeLinks(current).resolvedSymbol = next; getNodeLinks(current.parent).resolvedSymbol = next; @@ -30080,7 +30266,7 @@ var ts; else { error(node, targetMeaning === 67216319 ? ts.Diagnostics.Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here : ts.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here, moduleName); links.resolvedSymbol = unknownSymbol; - links.resolvedType = unknownType; + links.resolvedType = errorType; } } } @@ -30124,19 +30310,22 @@ var ts; if (left.flags & 1 || right.flags & 1) { return anyType; } - if (left.flags & 16384) { + if (left.flags & 2 || right.flags & 2) { + return unknownType; + } + if (left.flags & 32768) { return right; } - if (right.flags & 16384) { + if (right.flags & 32768) { return left; } - if (left.flags & 131072) { + if (left.flags & 262144) { return mapType(left, function (t) { return getSpreadType(t, right, symbol, typeFlags, objectFlags); }); } - if (right.flags & 131072) { + if (right.flags & 262144) { return mapType(right, function (t) { return getSpreadType(left, t, symbol, typeFlags, objectFlags); }); } - if (right.flags & (136 | 84 | 34 | 272 | 134217728 | 524288)) { + if (right.flags & (272 | 168 | 68 | 544 | 16777216 | 1048576)) { return left; } var members = ts.createSymbolTable(); @@ -30188,7 +30377,7 @@ var ts; } } var spread = createAnonymousType(symbol, members, ts.emptyArray, ts.emptyArray, getNonReadonlyIndexSignature(stringIndexInfo), getNonReadonlyIndexSignature(numberIndexInfo)); - spread.flags |= typeFlags | 33554432; + spread.flags |= typeFlags | 268435456; spread.objectFlags |= objectFlags | (128 | 1024); return spread; } @@ -30220,9 +30409,9 @@ var ts; return type; } function getFreshTypeOfLiteralType(type) { - if (type.flags & 96 && !(type.flags & 8388608)) { + if (type.flags & 192 && !(type.flags & 33554432)) { if (!type.freshType) { - var freshType = createLiteralType(type.flags | 8388608, type.value, type.symbol); + var freshType = createLiteralType(type.flags | 33554432, type.value, type.symbol); freshType.regularType = type; type.freshType = freshType; } @@ -30231,14 +30420,16 @@ var ts; return type; } function getRegularTypeOfLiteralType(type) { - return type.flags & 96 && type.flags & 8388608 ? type.regularType : type; + return type.flags & 192 && type.flags & 33554432 ? type.regularType : + type.flags & 262144 ? getUnionType(ts.sameMap(type.types, getRegularTypeOfLiteralType)) : + type; } function getLiteralType(value, enumId, symbol) { var qualifier = typeof value === "number" ? "#" : "@"; var key = enumId ? enumId + qualifier + value : qualifier + value; var type = literalTypes.get(key); if (!type) { - var flags = (typeof value === "number" ? 64 : 32) | (enumId ? 256 : 0); + var flags = (typeof value === "number" ? 128 : 64) | (enumId ? 512 : 0); literalTypes.set(key, type = createLiteralType(flags, value, symbol)); } return type; @@ -30251,7 +30442,7 @@ var ts; return links.resolvedType; } function createUniqueESSymbolType(symbol) { - var type = createType(1024); + var type = createType(2048); type.symbol = symbol; return type; } @@ -30266,14 +30457,14 @@ var ts; function getThisType(node) { var container = ts.getThisContainer(node, false); var parent = container && container.parent; - if (parent && (ts.isClassLike(parent) || parent.kind === 235)) { + if (parent && (ts.isClassLike(parent) || parent.kind === 236)) { if (!ts.hasModifier(container, 32) && - (container.kind !== 154 || ts.isNodeDescendantOf(node, container.body))) { + (container.kind !== 155 || ts.isNodeDescendantOf(node, container.body))) { return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(parent)).thisType; } } error(node, ts.Diagnostics.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface); - return unknownType; + return errorType; } function getTypeFromThisTypeNode(node) { var links = getNodeLinks(node); @@ -30285,9 +30476,11 @@ var ts; function getTypeFromTypeNode(node) { switch (node.kind) { case 119: - case 278: case 279: + case 280: return anyType; + case 142: + return unknownType; case 137: return stringType; case 134: @@ -30306,62 +30499,62 @@ var ts; return neverType; case 135: return node.flags & 65536 ? anyType : nonPrimitiveType; - case 173: + case 174: case 99: return getTypeFromThisTypeNode(node); - case 177: - return getTypeFromLiteralTypeNode(node); - case 161: - return getTypeFromTypeReference(node); - case 160: - return booleanType; - case 206: - return getTypeFromTypeReference(node); - case 164: - return getTypeFromTypeQueryNode(node); - case 166: - return getTypeFromArrayTypeNode(node); - case 167: - return getTypeFromTupleTypeNode(node); - case 168: - return getTypeFromUnionTypeNode(node); - case 169: - return getTypeFromIntersectionTypeNode(node); - case 280: - return getTypeFromJSDocNullableTypeNode(node); - case 282: - return addOptionality(getTypeFromTypeNode(node.type)); - case 172: - case 281: - case 277: - return getTypeFromTypeNode(node.type); - case 284: - return getTypeFromJSDocVariadicType(node); - case 162: - case 163: - case 165: - case 286: - case 283: - case 287: - return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node); - case 174: - return getTypeFromTypeOperatorNode(node); - case 175: - return getTypeFromIndexedAccessTypeNode(node); - case 176: - return getTypeFromMappedTypeNode(node); - case 170: - return getTypeFromConditionalTypeNode(node); - case 171: - return getTypeFromInferTypeNode(node); case 178: + return getTypeFromLiteralTypeNode(node); + case 162: + return getTypeFromTypeReference(node); + case 161: + return booleanType; + case 207: + return getTypeFromTypeReference(node); + case 165: + return getTypeFromTypeQueryNode(node); + case 167: + return getTypeFromArrayTypeNode(node); + case 168: + return getTypeFromTupleTypeNode(node); + case 169: + return getTypeFromUnionTypeNode(node); + case 170: + return getTypeFromIntersectionTypeNode(node); + case 281: + return getTypeFromJSDocNullableTypeNode(node); + case 283: + return addOptionality(getTypeFromTypeNode(node.type)); + case 173: + case 282: + case 278: + return getTypeFromTypeNode(node.type); + case 285: + return getTypeFromJSDocVariadicType(node); + case 163: + case 164: + case 166: + case 287: + case 284: + case 288: + return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node); + case 175: + return getTypeFromTypeOperatorNode(node); + case 176: + return getTypeFromIndexedAccessTypeNode(node); + case 177: + return getTypeFromMappedTypeNode(node); + case 171: + return getTypeFromConditionalTypeNode(node); + case 172: + return getTypeFromInferTypeNode(node); + case 179: return getTypeFromImportTypeNode(node); case 71: - case 145: + case 146: var symbol = getSymbolAtLocation(node); - return symbol && getDeclaredTypeOfSymbol(symbol); + return (symbol && getDeclaredTypeOfSymbol(symbol)); default: - return unknownType; + return errorType; } } function instantiateList(items, mapper, instantiator) { @@ -30434,10 +30627,10 @@ var ts; return function (t) { return t === source ? target : baseMapper(t); }; } function wildcardMapper(type) { - return type.flags & 32768 ? wildcardType : type; + return type.flags & 65536 ? wildcardType : type; } function cloneTypeParameter(typeParameter) { - var result = createType(32768); + var result = createType(65536); result.symbol = typeParameter.symbol; result.target = typeParameter; return result; @@ -30475,7 +30668,7 @@ var ts; } function instantiateSymbol(symbol, mapper) { var links = getSymbolLinks(symbol); - if (links.type && !maybeTypeOfKind(links.type, 65536 | 7897088)) { + if (links.type && !maybeTypeOfKind(links.type, 131072 | 15794176)) { return symbol; } if (ts.getCheckFlags(symbol) & 1) { @@ -30546,35 +30739,35 @@ var ts; return type; } function maybeTypeParameterReference(node) { - return !(node.kind === 145 || - node.parent.kind === 161 && node.parent.typeArguments && node === node.parent.typeName); + return !(node.kind === 146 || + node.parent.kind === 162 && node.parent.typeArguments && node === node.parent.typeName); } function isTypeParameterPossiblyReferenced(tp, node) { if (tp.symbol && tp.symbol.declarations && tp.symbol.declarations.length === 1) { var container_3 = tp.symbol.declarations[0].parent; - if (ts.findAncestor(node, function (n) { return n.kind === 212 ? "quit" : n === container_3; })) { - return ts.forEachChild(node, containsReference); + if (ts.findAncestor(node, function (n) { return n.kind === 213 ? "quit" : n === container_3; })) { + return !!ts.forEachChild(node, containsReference); } } return true; function containsReference(node) { switch (node.kind) { - case 173: - return tp.isThisType; + case 174: + return !!tp.isThisType; case 71: return !tp.isThisType && ts.isPartOfTypeNode(node) && maybeTypeParameterReference(node) && getTypeFromTypeNode(node) === tp; - case 164: + case 165: return true; } - return ts.forEachChild(node, containsReference); + return !!ts.forEachChild(node, containsReference); } } function instantiateMappedType(type, mapper) { var constraintType = getConstraintTypeFromMappedType(type); - if (constraintType.flags & 524288) { + if (constraintType.flags & 1048576) { var typeVariable_1 = constraintType.type; - if (typeVariable_1.flags & 32768) { + if (typeVariable_1.flags & 65536) { var mappedTypeVariable = instantiateType(typeVariable_1, mapper); if (typeVariable_1 !== mappedTypeVariable) { return mapType(mappedTypeVariable, function (t) { @@ -30589,7 +30782,7 @@ var ts; return instantiateAnonymousType(type, mapper); } function isMappableType(type) { - return type.flags & (1 | 7372800 | 65536 | 262144); + return type.flags & (3 | 14745600 | 131072 | 524288); } function instantiateAnonymousType(type, mapper) { var result = createObjectType(type.objectFlags | 64, type.symbol); @@ -30621,7 +30814,7 @@ var ts; if (root.isDistributive) { var checkType_1 = root.checkType; var instantiatedType = mapper(checkType_1); - if (checkType_1 !== instantiatedType && instantiatedType.flags & (131072 | 16384)) { + if (checkType_1 !== instantiatedType && instantiatedType.flags & (262144 | 32768)) { return mapType(instantiatedType, function (t) { return getConditionalType(root, createReplacementMapper(checkType_1, t, mapper)); }); } } @@ -30629,10 +30822,10 @@ var ts; } function instantiateType(type, mapper) { if (type && mapper && mapper !== identityMapper) { - if (type.flags & 32768) { + if (type.flags & 65536) { return mapper(type); } - if (type.flags & 65536) { + if (type.flags & 131072) { if (type.objectFlags & 16) { return type.symbol && type.symbol.flags & (16 | 8192 | 32 | 2048 | 4096) && type.symbol.declarations ? getAnonymousTypeInstantiation(type, mapper) : type; @@ -30646,65 +30839,69 @@ var ts; return newTypeArguments !== typeArguments ? createTypeReference(type.target, newTypeArguments) : type; } } - if (type.flags & 131072 && !(type.flags & 16382)) { + if (type.flags & 262144 && !(type.flags & 32764)) { var types = type.types; var newTypes = instantiateTypes(types, mapper); return newTypes !== types ? getUnionType(newTypes, 1, type.aliasSymbol, instantiateTypes(type.aliasTypeArguments, mapper)) : type; } - if (type.flags & 262144) { + if (type.flags & 524288) { var types = type.types; var newTypes = instantiateTypes(types, mapper); return newTypes !== types ? getIntersectionType(newTypes, type.aliasSymbol, instantiateTypes(type.aliasTypeArguments, mapper)) : type; } - if (type.flags & 524288) { + if (type.flags & 1048576) { return getIndexType(instantiateType(type.type, mapper)); } - if (type.flags & 1048576) { + if (type.flags & 2097152) { return getIndexedAccessType(instantiateType(type.objectType, mapper), instantiateType(type.indexType, mapper)); } - if (type.flags & 2097152) { + if (type.flags & 4194304) { return getConditionalTypeInstantiation(type, combineTypeMappers(type.mapper, mapper)); } - if (type.flags & 4194304) { + if (type.flags & 8388608) { return instantiateType(type.typeVariable, mapper); } } return type; } function getWildcardInstantiation(type) { - return type.flags & (16382 | 1 | 16384) ? type : + return type.flags & (32764 | 3 | 32768) ? type : type.wildcardInstantiation || (type.wildcardInstantiation = instantiateType(type, wildcardMapper)); } function instantiateIndexInfo(info, mapper) { return info && createIndexInfo(instantiateType(info.type, mapper), info.isReadonly, info.declaration); } function isContextSensitive(node) { - ts.Debug.assert(node.kind !== 153 || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 || ts.isObjectLiteralMethod(node)); switch (node.kind) { - case 191: case 192: - case 153: + case 193: + case 154: return isContextSensitiveFunctionLikeDeclaration(node); + case 184: + return ts.some(node.properties, isContextSensitive); case 183: - return ts.forEach(node.properties, isContextSensitive); - case 182: - return ts.forEach(node.elements, isContextSensitive); - case 200: + return ts.some(node.elements, isContextSensitive); + case 201: return isContextSensitive(node.whenTrue) || isContextSensitive(node.whenFalse); - case 199: + case 200: return node.operatorToken.kind === 54 && (isContextSensitive(node.left) || isContextSensitive(node.right)); - case 269: + case 270: return isContextSensitive(node.initializer); - case 190: + case 191: return isContextSensitive(node.expression); - case 262: - return ts.forEach(node.properties, isContextSensitive); - case 261: - return node.initializer && isContextSensitive(node.initializer); - case 264: - return node.expression && isContextSensitive(node.expression); + case 263: + return ts.some(node.properties, isContextSensitive); + case 262: { + var initializer = node.initializer; + return !!initializer && isContextSensitive(initializer); + } + case 265: { + var expression = node.expression; + return !!expression && isContextSensitive(expression); + } } return false; } @@ -30712,23 +30909,24 @@ var ts; if (node.typeParameters) { return false; } - if (ts.forEach(node.parameters, function (p) { return !ts.getEffectiveTypeAnnotationNode(p); })) { + if (ts.some(node.parameters, function (p) { return !ts.getEffectiveTypeAnnotationNode(p); })) { return true; } - if (node.kind !== 192) { + if (node.kind !== 193) { var parameter = ts.firstOrUndefined(node.parameters); if (!(parameter && ts.parameterIsThisKeyword(parameter))) { return true; } } - return node.body.kind === 212 ? false : isContextSensitive(node.body); + var body = node.body; + return body.kind === 213 ? false : isContextSensitive(body); } function isContextSensitiveFunctionOrObjectLiteralMethod(func) { return (ts.isInJavaScriptFile(func) && ts.isFunctionDeclaration(func) || isFunctionExpressionOrArrowFunction(func) || ts.isObjectLiteralMethod(func)) && isContextSensitiveFunctionLikeDeclaration(func); } function getTypeWithoutSignatures(type) { - if (type.flags & 65536) { + if (type.flags & 131072) { var resolved = resolveStructuredTypeMembers(type); if (resolved.constructSignatures.length) { var result = createObjectType(16, type.symbol); @@ -30739,7 +30937,7 @@ var ts; return result; } } - else if (type.flags & 262144) { + else if (type.flags & 524288) { return getIntersectionType(ts.map(type.types, getTypeWithoutSignatures)); } return type; @@ -30760,9 +30958,9 @@ var ts; return isTypeRelatedTo(source, target, assignableRelation); } function isTypeDerivedFrom(source, target) { - return source.flags & 131072 ? ts.every(source.types, function (t) { return isTypeDerivedFrom(t, target); }) : - target.flags & 131072 ? ts.some(target.types, function (t) { return isTypeDerivedFrom(source, t); }) : - source.flags & 7372800 ? isTypeDerivedFrom(getBaseConstraintOfType(source) || emptyObjectType, target) : + return source.flags & 262144 ? ts.every(source.types, function (t) { return isTypeDerivedFrom(t, target); }) : + target.flags & 262144 ? ts.some(target.types, function (t) { return isTypeDerivedFrom(source, t); }) : + source.flags & 14745600 ? isTypeDerivedFrom(getBaseConstraintOfType(source) || emptyObjectType, target) : target === globalObjectType || target === globalFunctionType ? isTypeSubtypeOf(source, target) : hasBaseType(source, getTargetType(target)); } @@ -30793,8 +30991,8 @@ var ts; source = instantiateSignatureInContextOf(source, target, undefined, compareTypes); } var kind = target.declaration ? target.declaration.kind : 0; - var strictVariance = !callbackCheck && strictFunctionTypes && kind !== 153 && - kind !== 152 && kind !== 154; + var strictVariance = !callbackCheck && strictFunctionTypes && kind !== 154 && + kind !== 153 && kind !== 155; var result = -1; var sourceThisType = getThisTypeOfSignature(source); if (sourceThisType && sourceThisType !== voidType) { @@ -30822,7 +31020,7 @@ var ts; var sourceSig = callbackCheck ? undefined : getSingleCallSignature(getNonNullableType(sourceType)); var targetSig = callbackCheck ? undefined : getSingleCallSignature(getNonNullableType(targetType)); var callbacks = sourceSig && targetSig && !signatureHasTypePredicate(sourceSig) && !signatureHasTypePredicate(targetSig) && - (getFalsyFlags(sourceType) & 12288) === (getFalsyFlags(targetType) & 12288); + (getFalsyFlags(sourceType) & 24576) === (getFalsyFlags(targetType) & 24576); var related = callbacks ? compareSignaturesRelated(targetSig, sourceSig, strictVariance ? 2 : 1, false, reportErrors, errorReporter, compareTypes) : !callbackCheck && !strictVariance && compareTypes(sourceType, targetType, false) || compareTypes(targetType, sourceType, reportErrors); @@ -30927,10 +31125,10 @@ var ts; !t.numberIndexInfo; } function isEmptyObjectType(type) { - return type.flags & 65536 ? isEmptyResolvedType(resolveStructuredTypeMembers(type)) : - type.flags & 134217728 ? true : - type.flags & 131072 ? ts.forEach(type.types, isEmptyObjectType) : - type.flags & 262144 ? !ts.forEach(type.types, function (t) { return !isEmptyObjectType(t); }) : + return type.flags & 131072 ? isEmptyResolvedType(resolveStructuredTypeMembers(type)) : + type.flags & 16777216 ? true : + type.flags & 262144 ? ts.some(type.types, isEmptyObjectType) : + type.flags & 524288 ? !ts.some(type.types, function (t) { return !isEmptyObjectType(t); }) : false; } function isEnumTypeRelatedTo(sourceSymbol, targetSymbol, errorReporter) { @@ -30966,71 +31164,71 @@ var ts; function isSimpleTypeRelatedTo(source, target, relation, errorReporter) { var s = source.flags; var t = target.flags; - if (t & 1 || s & 16384 || source === wildcardType) + if (t & 3 || s & 32768 || source === wildcardType) return true; - if (t & 16384) + if (t & 32768) return false; - if (s & 34 && t & 2) + if (s & 68 && t & 4) return true; - if (s & 32 && s & 256 && - t & 32 && !(t & 256) && + if (s & 64 && s & 512 && + t & 64 && !(t & 512) && source.value === target.value) return true; - if (s & 84 && t & 4) + if (s & 168 && t & 8) return true; - if (s & 64 && s & 256 && - t & 64 && !(t & 256) && + if (s & 128 && s & 512 && + t & 128 && !(t & 512) && source.value === target.value) return true; - if (s & 136 && t & 8) + if (s & 272 && t & 16) return true; - if (s & 1536 && t & 512) + if (s & 3072 && t & 1024) return true; - if (s & 16 && t & 16 && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 32 && t & 32 && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; - if (s & 256 && t & 256) { - if (s & 131072 && t & 131072 && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 512 && t & 512) { + if (s & 262144 && t & 262144 && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; - if (s & 224 && t & 224 && + if (s & 448 && t & 448 && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) return true; } - if (s & 4096 && (!strictNullChecks || t & (4096 | 2048))) + if (s & 8192 && (!strictNullChecks || t & (8192 | 4096))) return true; - if (s & 8192 && (!strictNullChecks || t & 8192)) + if (s & 16384 && (!strictNullChecks || t & 16384)) return true; - if (s & 65536 && t & 134217728) + if (s & 131072 && t & 16777216) return true; - if (s & 1024 || t & 1024) + if (s & 2048 || t & 2048) return false; if (relation === assignableRelation || relation === definitelyAssignableRelation || relation === comparableRelation) { if (s & 1) return true; - if (s & (4 | 64) && !(s & 256) && (t & 16 || t & 64 && t & 256)) + if (s & (8 | 128) && !(s & 512) && (t & 32 || t & 128 && t & 512)) return true; } return false; } function isTypeRelatedTo(source, target, relation) { - if (source.flags & 96 && source.flags & 8388608) { + if (source.flags & 192 && source.flags & 33554432) { source = source.regularType; } - if (target.flags & 96 && target.flags & 8388608) { + if (target.flags & 192 && target.flags & 33554432) { target = target.regularType; } if (source === target || - relation === comparableRelation && !(target.flags & 16384) && isSimpleTypeRelatedTo(target, source, relation) || + relation === comparableRelation && !(target.flags & 32768) && isSimpleTypeRelatedTo(target, source, relation) || relation !== identityRelation && isSimpleTypeRelatedTo(source, target, relation)) { return true; } - if (source.flags & 65536 && target.flags & 65536) { + if (source.flags & 131072 && target.flags & 131072) { var related = relation.get(getRelationKey(source, target, relation)); if (related !== undefined) { return related === 1; } } - if (source.flags & 8355840 || target.flags & 8355840) { + if (source.flags & 16711680 || target.flags & 16711680) { return checkTypeRelatedTo(source, target, relation, undefined); } return false; @@ -31107,13 +31305,13 @@ var ts; } } function isUnionOrIntersectionTypeWithoutNullableConstituents(type) { - if (!(type.flags & 393216)) { + if (!(type.flags & 786432)) { return false; } var seenNonNullable = false; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 12288) { + if (t.flags & 24576) { continue; } if (seenNonNullable) { @@ -31124,22 +31322,23 @@ var ts; return false; } function isRelatedTo(source, target, reportErrors, headMessage) { - if (source.flags & 96 && source.flags & 8388608) { + if (reportErrors === void 0) { reportErrors = false; } + if (source.flags & 192 && source.flags & 33554432) { source = source.regularType; } - if (target.flags & 96 && target.flags & 8388608) { + if (target.flags & 192 && target.flags & 33554432) { target = target.regularType; } - if (source.flags & 4194304) { + if (source.flags & 8388608) { source = relation === definitelyAssignableRelation ? source.typeVariable : source.substitute; } - if (target.flags & 4194304) { + if (target.flags & 8388608) { target = target.typeVariable; } - if (source.flags & 1048576) { + if (source.flags & 2097152) { source = getSimplifiedType(source); } - if (target.flags & 1048576) { + if (target.flags & 2097152) { target = getSimplifiedType(target); } if (source === target) @@ -31147,11 +31346,11 @@ var ts; if (relation === identityRelation) { return isIdenticalTo(source, target); } - if (relation === comparableRelation && !(target.flags & 16384) && isSimpleTypeRelatedTo(target, source, relation) || + if (relation === comparableRelation && !(target.flags & 32768) && isSimpleTypeRelatedTo(target, source, relation) || isSimpleTypeRelatedTo(source, target, relation, reportErrors ? reportError : undefined)) return -1; - if (isObjectLiteralType(source) && source.flags & 8388608) { - var discriminantType = target.flags & 131072 ? findMatchingDiscriminantType(source, target) : undefined; + if (isObjectLiteralType(source) && source.flags & 33554432) { + var discriminantType = target.flags & 262144 ? findMatchingDiscriminantType(source, target) : undefined; if (hasExcessProperties(source, target, discriminantType, reportErrors)) { if (reportErrors) { reportRelationError(headMessage, source, target); @@ -31163,8 +31362,8 @@ var ts; } } if (relation !== comparableRelation && - !(source.flags & 393216) && - !(target.flags & 131072) && + !(source.flags & 786432) && + !(target.flags & 262144) && !isIntersectionConstituent && source !== globalObjectType && (getPropertiesOfType(source).length > 0 || typeHasCallOrConstructSignatures(source)) && @@ -31187,30 +31386,30 @@ var ts; var saveErrorInfo = errorInfo; var saveIsIntersectionConstituent = isIntersectionConstituent; isIntersectionConstituent = false; - if (source.flags & 131072) { + if (source.flags & 262144) { result = relation === comparableRelation ? - someTypeRelatedToType(source, target, reportErrors && !(source.flags & 16382)) : - eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 16382)); + someTypeRelatedToType(source, target, reportErrors && !(source.flags & 32764)) : + eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 32764)); } else { - if (target.flags & 131072) { - result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & 16382) && !(target.flags & 16382)); + if (target.flags & 262144) { + result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & 32764) && !(target.flags & 32764)); } - else if (target.flags & 262144) { + else if (target.flags & 524288) { isIntersectionConstituent = true; result = typeRelatedToEachType(source, target, reportErrors); } - else if (source.flags & 262144) { + else if (source.flags & 524288) { result = someTypeRelatedToType(source, target, false); } - if (!result && (source.flags & 8355840 || target.flags & 8355840)) { + if (!result && (source.flags & 16711680 || target.flags & 16711680)) { if (result = recursiveTypeRelatedTo(source, target, reportErrors)) { errorInfo = saveErrorInfo; } } } - if (!result && source.flags & 262144) { - var constraint = getUnionConstraintOfIntersection(source, !!(target.flags & 131072)); + if (!result && source.flags & 524288) { + var constraint = getUnionConstraintOfIntersection(source, !!(target.flags & 262144)); if (constraint) { if (result = isRelatedTo(constraint, target, reportErrors)) { errorInfo = saveErrorInfo; @@ -31219,12 +31418,21 @@ var ts; } isIntersectionConstituent = saveIsIntersectionConstituent; if (!result && reportErrors) { - if (source.flags & 65536 && target.flags & 16382) { + if (source.flags & 131072 && target.flags & 32764) { tryElaborateErrorsForPrimitivesAndObjects(source, target); } - else if (source.symbol && source.flags & 65536 && globalObjectType === source) { + else if (source.symbol && source.flags & 131072 && globalObjectType === source) { reportError(ts.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead); } + else if (ts.getObjectFlags(source) & 4096 && target.flags & 524288) { + var targetTypes = target.types; + var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, errorNode); + var intrinsicClassAttributes = getJsxType(JsxNames.IntrinsicClassAttributes, errorNode); + if (intrinsicAttributes !== errorType && intrinsicClassAttributes !== errorType && + (ts.contains(targetTypes, intrinsicAttributes) || ts.contains(targetTypes, intrinsicClassAttributes))) { + return result; + } + } reportRelationError(headMessage, source, target); } return result; @@ -31232,27 +31440,27 @@ var ts; function isIdenticalTo(source, target) { var result; var flags = source.flags & target.flags; - if (flags & 65536) { + if (flags & 131072) { return recursiveTypeRelatedTo(source, target, false); } - if (flags & (131072 | 262144)) { + if (flags & (262144 | 524288)) { if (result = eachTypeRelatedToSomeType(source, target)) { if (result &= eachTypeRelatedToSomeType(target, source)) { return result; } } } - if (flags & 524288) { + if (flags & 1048576) { return isRelatedTo(source.type, target.type, false); } - if (flags & 1048576) { + if (flags & 2097152) { if (result = isRelatedTo(source.objectType, target.objectType, false)) { if (result &= isRelatedTo(source.indexType, target.indexType, false)) { return result; } } } - if (flags & 2097152) { + if (flags & 4194304) { if (source.root.isDistributive === target.root.isDistributive) { if (result = isRelatedTo(source.checkType, target.checkType, false)) { if (result &= isRelatedTo(source.extendsType, target.extendsType, false)) { @@ -31265,13 +31473,13 @@ var ts; } } } - if (flags & 4194304) { + if (flags & 8388608) { return isRelatedTo(source.substitute, target.substitute, false); } return 0; } function hasExcessProperties(source, target, discriminant, reportErrors) { - if (maybeTypeOfKind(target, 65536) && !(ts.getObjectFlags(target) & 512)) { + if (maybeTypeOfKind(target, 131072) && !(ts.getObjectFlags(target) & 512)) { var isComparingJsxAttributes = !!(ts.getObjectFlags(source) & 4096); if ((relation === assignableRelation || relation === definitelyAssignableRelation || relation === comparableRelation) && (isTypeSubsetOf(globalObjectType, target) || (!isComparingJsxAttributes && isEmptyObjectType(target)))) { @@ -31283,7 +31491,8 @@ var ts; var _loop_6 = function (prop) { if (!isKnownProperty(target, prop.escapedName, isComparingJsxAttributes)) { if (reportErrors) { - ts.Debug.assert(!!errorNode); + if (!errorNode) + return { value: ts.Debug.fail() }; if (ts.isJsxAttributes(errorNode) || ts.isJsxOpeningLikeElement(errorNode)) { reportError(ts.Diagnostics.Property_0_does_not_exist_on_type_1, symbolToString(prop), typeToString(target)); } @@ -31294,8 +31503,9 @@ var ts; var propDeclaration = prop.valueDeclaration; ts.Debug.assertNode(propDeclaration, ts.isObjectLiteralElementLike); errorNode = propDeclaration; - if (ts.isIdentifier(propDeclaration.name)) { - suggestion = getSuggestionForNonexistentProperty(propDeclaration.name, target); + var name = propDeclaration.name; + if (ts.isIdentifier(name)) { + suggestion = getSuggestionForNonexistentProperty(name, target); } } if (suggestion !== undefined) { @@ -31333,7 +31543,7 @@ var ts; } function typeRelatedToSomeType(source, target, reportErrors) { var targetTypes = target.types; - if (target.flags & 131072 && containsType(targetTypes, source)) { + if (target.flags & 262144 && containsType(targetTypes, source)) { return -1; } for (var _i = 0, targetTypes_1 = targetTypes; _i < targetTypes_1.length; _i++) { @@ -31390,7 +31600,7 @@ var ts; } function someTypeRelatedToType(source, target, reportErrors) { var sourceTypes = source.types; - if (source.flags & 131072 && containsType(sourceTypes, target)) { + if (source.flags & 262144 && containsType(sourceTypes, target)) { return -1; } var len = sourceTypes.length; @@ -31520,7 +31730,7 @@ var ts; var result; var originalErrorInfo; var saveErrorInfo = errorInfo; - if (target.flags & 32768) { + if (target.flags & 65536) { if (ts.getObjectFlags(source) & 32 && getConstraintTypeFromMappedType(source) === getIndexType(target)) { if (!(getMappedTypeModifiers(source) & 4)) { var templateType = getTemplateTypeFromMappedType(source); @@ -31531,8 +31741,8 @@ var ts; } } } - else if (target.flags & 524288) { - if (source.flags & 524288) { + else if (target.flags & 1048576) { + if (source.flags & 1048576) { if (result = isRelatedTo(target.type, source.type, false)) { return result; } @@ -31547,7 +31757,7 @@ var ts; } } } - else if (target.flags & 1048576) { + else if (target.flags & 2097152) { var constraint = getConstraintForRelation(target); if (constraint) { if (result = isRelatedTo(source, constraint, reportErrors)) { @@ -31560,7 +31770,7 @@ var ts; var template = getTemplateTypeFromMappedType(target); var modifiers = getMappedTypeModifiers(target); if (!(modifiers & 8)) { - if (template.flags & 1048576 && template.objectType === source && + if (template.flags & 2097152 && template.objectType === source && template.indexType === getTypeParameterFromMappedType(target)) { return -1; } @@ -31574,8 +31784,8 @@ var ts; } } } - if (source.flags & 1081344) { - if (source.flags & 1048576 && target.flags & 1048576) { + if (source.flags & 2162688) { + if (source.flags & 2097152 && target.flags & 2097152) { if (result = isRelatedTo(source.objectType, target.objectType, reportErrors)) { result &= isRelatedTo(source.indexType, target.indexType, reportErrors); } @@ -31585,8 +31795,8 @@ var ts; } } var constraint = getConstraintForRelation(source); - if (!constraint || (source.flags & 32768 && constraint.flags & 1)) { - if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~134217728))) { + if (!constraint || (source.flags & 65536 && constraint.flags & 3)) { + if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~16777216))) { errorInfo = saveErrorInfo; return result; } @@ -31599,14 +31809,14 @@ var ts; } } } - else if (source.flags & 524288) { + else if (source.flags & 1048576) { if (result = isRelatedTo(keyofConstraintType, target, reportErrors)) { errorInfo = saveErrorInfo; return result; } } - else if (source.flags & 2097152) { - if (target.flags & 2097152) { + else if (source.flags & 4194304) { + if (target.flags & 4194304) { if (isTypeIdenticalTo(source.extendsType, target.extendsType) && (isRelatedTo(source.checkType, target.checkType) || isRelatedTo(target.checkType, source.checkType))) { if (result = isRelatedTo(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target), reportErrors)) { @@ -31650,11 +31860,11 @@ var ts; errorInfo = saveErrorInfo; } } - var sourceIsPrimitive = !!(source.flags & 16382); + var sourceIsPrimitive = !!(source.flags & 32764); if (relation !== identityRelation) { source = getApparentType(source); } - if (source.flags & (65536 | 262144) && target.flags & 65536) { + if (source.flags & (131072 | 524288) && target.flags & 131072) { var reportStructuralErrors = reportErrors && errorInfo === saveErrorInfo && !sourceIsPrimitive; if (isPartialMappedType(target) && !isGenericMappedType(source) && isEmptyObjectType(source)) { result = -1; @@ -31792,14 +32002,14 @@ var ts; return result; } function isWeakType(type) { - if (type.flags & 65536) { + if (type.flags & 131072) { var resolved = resolveStructuredTypeMembers(type); return resolved.callSignatures.length === 0 && resolved.constructSignatures.length === 0 && !resolved.stringIndexInfo && !resolved.numberIndexInfo && resolved.properties.length > 0 && ts.every(resolved.properties, function (p) { return !!(p.flags & 16777216); }); } - if (type.flags & 262144) { + if (type.flags & 524288) { return ts.every(type.types, isWeakType); } return false; @@ -31815,7 +32025,7 @@ var ts; return false; } function propertiesIdenticalTo(source, target) { - if (!(source.flags & 65536 && target.flags & 65536)) { + if (!(source.flags & 131072 && target.flags & 131072)) { return 0; } var sourceProperties = getPropertiesOfObjectType(source); @@ -31870,7 +32080,7 @@ var ts; } } else if (sourceSignatures.length === 1 && targetSignatures.length === 1) { - var eraseGenerics = relation === comparableRelation || compilerOptions.noStrictGenericChecks; + var eraseGenerics = relation === comparableRelation || !!compilerOptions.noStrictGenericChecks; result = signatureRelatedTo(sourceSignatures[0], targetSignatures[0], eraseGenerics, reportErrors); } else { @@ -31921,7 +32131,7 @@ var ts; if (isIgnoredJsxProperty(source, prop, undefined)) { continue; } - if (prop.nameType && prop.nameType.flags & 1024) { + if (prop.nameType && prop.nameType.flags & 2048) { continue; } if (kind === 0 || isNumericLiteralName(prop.escapedName)) { @@ -31949,7 +32159,7 @@ var ts; return indexTypesIdenticalTo(source, target, kind); } var targetInfo = getIndexInfoOfType(target, kind); - if (!targetInfo || targetInfo.type.flags & 1 && !sourceIsPrimitive) { + if (!targetInfo || targetInfo.type.flags & 3 && !sourceIsPrimitive) { return -1; } var sourceInfo = getIndexInfoOfType(source, kind) || @@ -31958,7 +32168,7 @@ var ts; return indexInfoRelatedTo(sourceInfo, targetInfo, reportErrors); } if (isGenericMappedType(source)) { - return kind === 0 && isRelatedTo(getTemplateTypeFromMappedType(source), targetInfo.type, reportErrors); + return (kind === 0 && isRelatedTo(getTemplateTypeFromMappedType(source), targetInfo.type, reportErrors)); } if (isObjectTypeWithInferableIndex(source)) { var related = -1; @@ -32046,17 +32256,17 @@ var ts; } function hasCovariantVoidArgument(type, variances) { for (var i = 0; i < variances.length; i++) { - if (variances[i] === 1 && type.typeArguments[i].flags & 2048) { + if (variances[i] === 1 && type.typeArguments[i].flags & 4096) { return true; } } return false; } function isUnconstrainedTypeParameter(type) { - return type.flags & 32768 && !getConstraintFromTypeParameter(type); + return type.flags & 65536 && !getConstraintFromTypeParameter(type); } function isTypeReferenceWithGenericArguments(type) { - return ts.getObjectFlags(type) & 4 && ts.some(type.typeArguments, function (t) { return isUnconstrainedTypeParameter(t) || isTypeReferenceWithGenericArguments(t); }); + return !!(ts.getObjectFlags(type) & 4) && ts.some(type.typeArguments, function (t) { return isUnconstrainedTypeParameter(t) || isTypeReferenceWithGenericArguments(t); }); } function getTypeReferenceId(type, typeParameters, depth) { if (depth === void 0) { depth = 0; } @@ -32124,13 +32334,13 @@ var ts; !hasBaseType(checkClass, getDeclaringClass(p)) : false; }) ? undefined : checkClass; } function isDeeplyNestedType(type, stack, depth) { - if (depth >= 5 && type.flags & 65536) { + if (depth >= 5 && type.flags & 131072) { var symbol = type.symbol; if (symbol) { var count = 0; for (var i = 0; i < depth; i++) { var t = stack[i]; - if (t.flags & 65536 && t.symbol === symbol) { + if (t.flags & 131072 && t.symbol === symbol) { count++; if (count >= 5) return true; @@ -32255,20 +32465,20 @@ var ts; if (!strictNullChecks) { return getSupertypeOrUnion(types); } - var primaryTypes = ts.filter(types, function (t) { return !(t.flags & 12288); }); + var primaryTypes = ts.filter(types, function (t) { return !(t.flags & 24576); }); return primaryTypes.length ? - getNullableType(getSupertypeOrUnion(primaryTypes), getFalsyFlagsOfTypes(types) & 12288) : + getNullableType(getSupertypeOrUnion(primaryTypes), getFalsyFlagsOfTypes(types) & 24576) : getUnionType(types, 2); } function getCommonSubtype(types) { return ts.reduceLeft(types, function (s, t) { return isTypeSubtypeOf(t, s) ? t : s; }); } function isArrayType(type) { - return ts.getObjectFlags(type) & 4 && type.target === globalArrayType; + return !!(ts.getObjectFlags(type) & 4) && type.target === globalArrayType; } function isArrayLikeType(type) { return ts.getObjectFlags(type) & 4 && (type.target === globalArrayType || type.target === globalReadonlyArrayType) || - !(type.flags & 12288) && isTypeAssignableTo(type, anyReadonlyArrayType); + !(type.flags & 24576) && isTypeAssignableTo(type, anyReadonlyArrayType); } function isEmptyArrayLiteralType(type) { var elementType = isArrayType(type) ? type.typeArguments[0] : undefined; @@ -32278,35 +32488,35 @@ var ts; return !!getPropertyOfType(type, "0"); } function isNeitherUnitTypeNorNever(type) { - return !(type.flags & (13536 | 16384)); + return !(type.flags & (27072 | 32768)); } function isUnitType(type) { - return !!(type.flags & 13536); + return !!(type.flags & 27072); } function isLiteralType(type) { - return type.flags & 8 ? true : - type.flags & 131072 ? type.flags & 256 ? true : !ts.forEach(type.types, function (t) { return !isUnitType(t); }) : + return type.flags & 16 ? true : + type.flags & 262144 ? type.flags & 512 ? true : !ts.forEach(type.types, function (t) { return !isUnitType(t); }) : isUnitType(type); } function getBaseTypeOfLiteralType(type) { - return type.flags & 256 ? getBaseTypeOfEnumLiteralType(type) : - type.flags & 32 ? stringType : - type.flags & 64 ? numberType : - type.flags & 128 ? booleanType : - type.flags & 131072 ? getUnionType(ts.sameMap(type.types, getBaseTypeOfLiteralType)) : + return type.flags & 512 ? getBaseTypeOfEnumLiteralType(type) : + type.flags & 64 ? stringType : + type.flags & 128 ? numberType : + type.flags & 256 ? booleanType : + type.flags & 262144 ? getUnionType(ts.sameMap(type.types, getBaseTypeOfLiteralType)) : type; } function getWidenedLiteralType(type) { - return type.flags & 256 ? getBaseTypeOfEnumLiteralType(type) : - type.flags & 32 && type.flags & 8388608 ? stringType : - type.flags & 64 && type.flags & 8388608 ? numberType : - type.flags & 128 ? booleanType : - type.flags & 131072 ? getUnionType(ts.sameMap(type.types, getWidenedLiteralType)) : + return type.flags & 512 ? getBaseTypeOfEnumLiteralType(type) : + type.flags & 64 && type.flags & 33554432 ? stringType : + type.flags & 128 && type.flags & 33554432 ? numberType : + type.flags & 256 ? booleanType : + type.flags & 262144 ? getUnionType(ts.sameMap(type.types, getWidenedLiteralType)) : type; } function getWidenedUniqueESSymbolType(type) { - return type.flags & 1024 ? esSymbolType : - type.flags & 131072 ? getUnionType(ts.sameMap(type.types, getWidenedUniqueESSymbolType)) : + return type.flags & 2048 ? esSymbolType : + type.flags & 262144 ? getUnionType(ts.sameMap(type.types, getWidenedUniqueESSymbolType)) : type; } function getWidenedLiteralLikeTypeForContextualType(type, contextualType) { @@ -32327,39 +32537,39 @@ var ts; return result; } function getFalsyFlags(type) { - return type.flags & 131072 ? getFalsyFlagsOfTypes(type.types) : - type.flags & 32 ? type.value === "" ? 32 : 0 : - type.flags & 64 ? type.value === 0 ? 64 : 0 : - type.flags & 128 ? type === falseType ? 128 : 0 : - type.flags & 14574; + return type.flags & 262144 ? getFalsyFlagsOfTypes(type.types) : + type.flags & 64 ? type.value === "" ? 64 : 0 : + type.flags & 128 ? type.value === 0 ? 128 : 0 : + type.flags & 256 ? type === falseType ? 256 : 0 : + type.flags & 29148; } function removeDefinitelyFalsyTypes(type) { - return getFalsyFlags(type) & 14560 ? - filterType(type, function (t) { return !(getFalsyFlags(t) & 14560); }) : + return getFalsyFlags(type) & 29120 ? + filterType(type, function (t) { return !(getFalsyFlags(t) & 29120); }) : type; } function extractDefinitelyFalsyTypes(type) { return mapType(type, getDefinitelyFalsyPartOfType); } function getDefinitelyFalsyPartOfType(type) { - return type.flags & 2 ? emptyStringType : - type.flags & 4 ? zeroType : - type.flags & 8 || type === falseType ? falseType : - type.flags & (2048 | 4096 | 8192) || - type.flags & 32 && type.value === "" || - type.flags & 64 && type.value === 0 ? type : + return type.flags & 4 ? emptyStringType : + type.flags & 8 ? zeroType : + type.flags & 16 || type === falseType ? falseType : + type.flags & (4096 | 8192 | 16384) || + type.flags & 64 && type.value === "" || + type.flags & 128 && type.value === 0 ? type : neverType; } function getNullableType(type, flags) { - var missing = (flags & ~type.flags) & (4096 | 8192); + var missing = (flags & ~type.flags) & (8192 | 16384); return missing === 0 ? type : - missing === 4096 ? getUnionType([type, undefinedType]) : - missing === 8192 ? getUnionType([type, nullType]) : + missing === 8192 ? getUnionType([type, undefinedType]) : + missing === 16384 ? getUnionType([type, nullType]) : getUnionType([type, undefinedType, nullType]); } function getOptionalType(type) { ts.Debug.assert(strictNullChecks); - return type.flags & 4096 ? type : getUnionType([type, undefinedType]); + return type.flags & 8192 ? type : getUnionType([type, undefinedType]); } function getGlobalNonNullableTypeInstantiation(type) { if (!deferredGlobalNonNullableTypeAlias) { @@ -32402,7 +32612,7 @@ var ts; return members; } function getRegularTypeOfObjectLiteral(type) { - if (!(isObjectLiteralType(type) && type.flags & 8388608)) { + if (!(isObjectLiteralType(type) && type.flags & 33554432)) { return type; } var regularType = type.regularType; @@ -32412,7 +32622,7 @@ var ts; var resolved = type; var members = transformTypeOfMembers(type, getRegularTypeOfObjectLiteral); var regularNew = createAnonymousType(resolved.symbol, members, resolved.callSignatures, resolved.constructSignatures, resolved.stringIndexInfo, resolved.numberIndexInfo); - regularNew.flags = resolved.flags & ~8388608; + regularNew.flags = resolved.flags & ~33554432; regularNew.objectFlags |= 128; type.regularType = regularNew; return regularNew; @@ -32492,16 +32702,16 @@ var ts; return getWidenedTypeWithContext(type, undefined); } function getWidenedTypeWithContext(type, context) { - if (type.flags & 50331648) { - if (type.flags & 12288) { + if (type.flags & 402653184) { + if (type.flags & 24576) { return anyType; } if (isObjectLiteralType(type)) { return getWidenedTypeOfObjectLiteral(type, context); } - if (type.flags & 131072) { + if (type.flags & 262144) { var unionContext_1 = context || createWideningContext(undefined, undefined, type.types); - var widenedTypes = ts.sameMap(type.types, function (t) { return t.flags & 12288 ? t : getWidenedTypeWithContext(t, unionContext_1); }); + var widenedTypes = ts.sameMap(type.types, function (t) { return t.flags & 24576 ? t : getWidenedTypeWithContext(t, unionContext_1); }); return getUnionType(widenedTypes, ts.some(widenedTypes, isEmptyObjectType) ? 2 : 1); } if (isArrayType(type) || isTupleType(type)) { @@ -32512,8 +32722,8 @@ var ts; } function reportWideningErrorsInType(type) { var errorReported = false; - if (type.flags & 16777216) { - if (type.flags & 131072) { + if (type.flags & 134217728) { + if (type.flags & 262144) { if (ts.some(type.types, isEmptyObjectType)) { errorReported = true; } @@ -32538,7 +32748,7 @@ var ts; for (var _d = 0, _e = getPropertiesOfObjectType(type); _d < _e.length; _d++) { var p = _e[_d]; var t = getTypeOfSymbol(p); - if (t.flags & 16777216) { + if (t.flags & 134217728) { if (!reportWideningErrorsInType(t)) { error(p.valueDeclaration, ts.Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type, symbolToString(p), typeToString(getWidenedType(t))); } @@ -32553,33 +32763,33 @@ var ts; var typeAsString = typeToString(getWidenedType(type)); var diagnostic; switch (declaration.kind) { - case 199: + case 200: + case 152: case 151: - case 150: diagnostic = ts.Diagnostics.Member_0_implicitly_has_an_1_type; break; - case 148: + case 149: diagnostic = declaration.dotDotDotToken ? ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type : ts.Diagnostics.Parameter_0_implicitly_has_an_1_type; break; - case 181: + case 182: diagnostic = ts.Diagnostics.Binding_element_0_implicitly_has_an_1_type; break; - case 233: + case 234: + case 154: case 153: - case 152: - case 155: case 156: - case 191: + case 157: case 192: + case 193: if (!declaration.name) { error(declaration, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeAsString); return; } diagnostic = ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type; break; - case 176: + case 177: error(declaration, ts.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type); return; default: @@ -32588,7 +32798,7 @@ var ts; error(declaration, diagnostic, ts.declarationNameToString(ts.getNameOfDeclaration(declaration)), typeAsString); } function reportErrorsFromWidening(declaration, type) { - if (produceDiagnostics && noImplicitAny && type.flags & 16777216) { + if (produceDiagnostics && noImplicitAny && type.flags & 134217728) { if (!reportWideningErrorsInType(type)) { reportImplicitAnyError(declaration, type); } @@ -32657,25 +32867,25 @@ var ts; } function couldContainTypeVariables(type) { var objectFlags = ts.getObjectFlags(type); - return !!(type.flags & 7897088 || + return !!(type.flags & 15794176 || objectFlags & 4 && ts.forEach(type.typeArguments, couldContainTypeVariables) || objectFlags & 16 && type.symbol && type.symbol.flags & (16 | 8192 | 2048 | 32) || objectFlags & 32 || - type.flags & 393216 && couldUnionOrIntersectionContainTypeVariables(type)); + type.flags & 786432 && couldUnionOrIntersectionContainTypeVariables(type)); } function couldUnionOrIntersectionContainTypeVariables(type) { if (type.couldContainTypeVariables === undefined) { - type.couldContainTypeVariables = ts.forEach(type.types, couldContainTypeVariables); + type.couldContainTypeVariables = ts.some(type.types, couldContainTypeVariables); } return type.couldContainTypeVariables; } function isTypeParameterAtTopLevel(type, typeParameter) { - return type === typeParameter || type.flags & 393216 && ts.forEach(type.types, function (t) { return isTypeParameterAtTopLevel(t, typeParameter); }); + return type === typeParameter || !!(type.flags & 786432) && ts.some(type.types, function (t) { return isTypeParameterAtTopLevel(t, typeParameter); }); } function createEmptyObjectTypeFromStringLiteral(type) { var members = ts.createSymbolTable(); forEachType(type, function (t) { - if (!(t.flags & 32)) { + if (!(t.flags & 64)) { return; } var name = ts.escapeLeadingUnderscores(t.value); @@ -32687,7 +32897,7 @@ var ts; } members.set(name, literalProp); }); - var indexInfo = type.flags & 2 ? createIndexInfo(emptyObjectType, false) : undefined; + var indexInfo = type.flags & 4 ? createIndexInfo(emptyObjectType, false) : undefined; return createAnonymousType(undefined, members, ts.emptyArray, ts.emptyArray, indexInfo, undefined); } function inferTypeForHomomorphicMappedType(source, target) { @@ -32707,7 +32917,7 @@ var ts; } for (var _i = 0, properties_4 = properties; _i < properties_4.length; _i++) { var prop = properties_4[_i]; - if (getTypeOfSymbol(prop).flags & 67108864) { + if (getTypeOfSymbol(prop).flags & 536870912) { return undefined; } } @@ -32727,7 +32937,7 @@ var ts; return getTypeFromInference(inference); } function getUnmatchedProperty(source, target, requireOptionalProperties) { - var properties = target.flags & 262144 ? getPropertiesOfUnionOrIntersectionType(target) : getPropertiesOfObjectType(target); + var properties = target.flags & 524288 ? getPropertiesOfUnionOrIntersectionType(target) : getPropertiesOfObjectType(target); for (var _i = 0, properties_5 = properties; _i < properties_5.length; _i++) { var targetProp = properties_5[_i]; if (requireOptionalProperties || !(targetProp.flags & 16777216)) { @@ -32774,8 +32984,8 @@ var ts; } return; } - if (source.flags & 131072 && target.flags & 131072 && !(source.flags & 256 && target.flags & 256) || - source.flags & 262144 && target.flags & 262144) { + if (source.flags & 262144 && target.flags & 262144 && !(source.flags & 512 && target.flags & 512) || + source.flags & 524288 && target.flags & 524288) { if (source === target) { for (var _i = 0, _a = source.types; _i < _a.length; _i++) { var t = _a[_i]; @@ -32790,7 +33000,7 @@ var ts; (matchingTypes || (matchingTypes = [])).push(t); inferFromTypes(t, t); } - else if (t.flags & (64 | 32)) { + else if (t.flags & (128 | 64)) { var b = getBaseTypeOfLiteralType(t); if (typeIdenticalToSomeType(b, target.types)) { (matchingTypes || (matchingTypes = [])).push(t, b); @@ -32802,8 +33012,8 @@ var ts; target = removeTypesFromUnionOrIntersection(target, matchingTypes); } } - if (target.flags & 1081344) { - if (source.flags & 67108864 || source === silentNeverType) { + if (target.flags & 2162688) { + if (source.flags & 536870912 || source === silentNeverType) { return; } var inference = getInferenceInfoForType(target); @@ -32823,7 +33033,7 @@ var ts; inference.candidates = ts.append(inference.candidates, candidate); } } - if (!(priority & 8) && target.flags & 32768 && !isTypeParameterAtTopLevel(originalTarget, target)) { + if (!(priority & 8) && target.flags & 65536 && !isTypeParameterAtTopLevel(originalTarget, target)) { inference.topLevel = false; } } @@ -32844,12 +33054,12 @@ var ts; } } } - else if (source.flags & 524288 && target.flags & 524288) { + else if (source.flags & 1048576 && target.flags & 1048576) { contravariant = !contravariant; inferFromTypes(source.type, target.type); contravariant = !contravariant; } - else if ((isLiteralType(source) || source.flags & 2) && target.flags & 524288) { + else if ((isLiteralType(source) || source.flags & 4) && target.flags & 1048576) { var empty = createEmptyObjectTypeFromStringLiteral(source); contravariant = !contravariant; var savePriority = priority; @@ -32858,17 +33068,17 @@ var ts; priority = savePriority; contravariant = !contravariant; } - else if (source.flags & 1048576 && target.flags & 1048576) { + else if (source.flags & 2097152 && target.flags & 2097152) { inferFromTypes(source.objectType, target.objectType); inferFromTypes(source.indexType, target.indexType); } - else if (source.flags & 2097152 && target.flags & 2097152) { + else if (source.flags & 4194304 && target.flags & 4194304) { inferFromTypes(source.checkType, target.checkType); inferFromTypes(source.extendsType, target.extendsType); inferFromTypes(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target)); inferFromTypes(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target)); } - else if (target.flags & 393216) { + else if (target.flags & 786432) { var targetTypes = target.types; var typeVariableCount = 0; var typeVariable = void 0; @@ -32889,7 +33099,7 @@ var ts; priority = savePriority; } } - else if (source.flags & 131072) { + else if (source.flags & 262144) { var sourceTypes = source.types; for (var _e = 0, sourceTypes_3 = sourceTypes; _e < sourceTypes_3.length; _e++) { var sourceType = sourceTypes_3[_e]; @@ -32897,16 +33107,16 @@ var ts; } } else { - if (!(priority & 32 && source.flags & (262144 | 7897088))) { + if (!(priority & 32 && source.flags & (524288 | 15794176))) { source = getApparentType(source); } - if (source.flags & (65536 | 262144)) { + if (source.flags & (131072 | 524288)) { var key = source.id + "," + target.id; if (visited && visited.get(key)) { return; } (visited || (visited = ts.createMap())).set(key, true); - var isNonConstructorObject = target.flags & 65536 && + var isNonConstructorObject = target.flags & 131072 && !(ts.getObjectFlags(target) & 16 && target.symbol && target.symbol.flags & 32); var symbol = isNonConstructorObject ? target.symbol : undefined; if (symbol) { @@ -32934,7 +33144,7 @@ var ts; } } function getInferenceInfoForType(type) { - if (type.flags & 1081344) { + if (type.flags & 2162688) { for (var _i = 0, inferences_1 = inferences; _i < inferences_1.length; _i++) { var inference = inferences_1[_i]; if (type === inference.typeParameter) { @@ -32951,7 +33161,7 @@ var ts; } if (ts.getObjectFlags(target) & 32) { var constraintType = getConstraintTypeFromMappedType(target); - if (constraintType.flags & 524288) { + if (constraintType.flags & 1048576) { var inference = getInferenceInfoForType(constraintType.type); if (inference && !inference.isFixed) { var inferredType = inferTypeForHomomorphicMappedType(source, target); @@ -32964,7 +33174,7 @@ var ts; } return; } - if (constraintType.flags & 32768) { + if (constraintType.flags & 65536) { var savePriority = priority; priority |= 4; inferFromTypes(getIndexType(source), constraintType); @@ -33048,11 +33258,11 @@ var ts; reducedTypes.push(t); } } - return type.flags & 131072 ? getUnionType(reducedTypes) : getIntersectionType(reducedTypes); + return type.flags & 262144 ? getUnionType(reducedTypes) : getIntersectionType(reducedTypes); } function hasPrimitiveConstraint(type) { var constraint = getConstraintOfTypeParameter(type); - return constraint && maybeTypeOfKind(constraint, 16382 | 524288); + return !!constraint && maybeTypeOfKind(constraint, 32764 | 1048576); } function isObjectLiteralType(type) { return !!(ts.getObjectFlags(type) & 128); @@ -33072,10 +33282,12 @@ var ts; } function getCovariantInference(inference, context, signature) { var candidates = widenObjectLiteralCandidates(inference.candidates); - var widenLiteralTypes = inference.topLevel && - !hasPrimitiveConstraint(inference.typeParameter) && + var primitiveConstraint = hasPrimitiveConstraint(inference.typeParameter); + var widenLiteralTypes = !primitiveConstraint && inference.topLevel && (inference.isFixed || !isTypeParameterAtTopLevel(getReturnTypeOfSignature(signature), inference.typeParameter)); - var baseCandidates = widenLiteralTypes ? ts.sameMap(candidates, getWidenedLiteralType) : candidates; + var baseCandidates = primitiveConstraint ? ts.sameMap(candidates, getRegularTypeOfLiteralType) : + widenLiteralTypes ? ts.sameMap(candidates, getWidenedLiteralType) : + candidates; var unwidenedType = context.flags & 1 || inference.priority & 28 ? getUnionType(baseCandidates, 2) : getCommonSupertype(baseCandidates); @@ -33089,7 +33301,7 @@ var ts; if (signature) { if (inference.candidates) { inferredType = getCovariantInference(inference, context, signature); - if (inferredType.flags & 16384 && inference.contraCandidates) { + if (inferredType.flags & 32768 && inference.contraCandidates) { inferredType = getContravariantInference(inference); } } @@ -33142,7 +33354,7 @@ var ts; return links.resolvedSymbol; } function isInTypeQuery(node) { - return !!ts.findAncestor(node, function (n) { return n.kind === 164 ? true : n.kind === 71 || n.kind === 145 ? false : "quit"; }); + return !!ts.findAncestor(node, function (n) { return n.kind === 165 ? true : n.kind === 71 || n.kind === 146 ? false : "quit"; }); } function getFlowCacheKey(node) { if (node.kind === 71) { @@ -33152,13 +33364,13 @@ var ts; if (node.kind === 99) { return "0"; } - if (node.kind === 184) { + if (node.kind === 185) { var key = getFlowCacheKey(node.expression); return key && key + "." + ts.idText(node.name); } - if (node.kind === 181) { + if (node.kind === 182) { var container = node.parent.parent; - var key = container.kind === 181 ? getFlowCacheKey(container) : (container.initializer && getFlowCacheKey(container.initializer)); + var key = container.kind === 182 ? getFlowCacheKey(container) : (container.initializer && getFlowCacheKey(container.initializer)); var text = getBindingElementNameText(node); var result = key && text && (key + "." + text); return result; @@ -33166,12 +33378,13 @@ var ts; return undefined; } function getBindingElementNameText(element) { - if (element.parent.kind === 179) { + var parent = element.parent; + if (parent.kind === 180) { var name = element.propertyName || element.name; switch (name.kind) { case 71: return ts.idText(name); - case 146: + case 147: return ts.isStringOrNumericLiteral(name.expression) ? name.expression.text : undefined; case 9: case 8: @@ -33181,41 +33394,41 @@ var ts; } } else { - return "" + element.parent.elements.indexOf(element); + return "" + parent.elements.indexOf(element); } } function isMatchingReference(source, target) { switch (source.kind) { case 71: return target.kind === 71 && getResolvedSymbol(source) === getResolvedSymbol(target) || - (target.kind === 231 || target.kind === 181) && + (target.kind === 232 || target.kind === 182) && getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(source)) === getSymbolOfNode(target); case 99: return target.kind === 99; case 97: return target.kind === 97; - case 184: - return target.kind === 184 && + case 185: + return target.kind === 185 && source.name.escapedText === target.name.escapedText && isMatchingReference(source.expression, target.expression); - case 181: - if (target.kind !== 184) + case 182: + if (target.kind !== 185) return false; var t = target; if (t.name.escapedText !== getBindingElementNameText(source)) return false; - if (source.parent.parent.kind === 181 && isMatchingReference(source.parent.parent, t.expression)) { + if (source.parent.parent.kind === 182 && isMatchingReference(source.parent.parent, t.expression)) { return true; } - if (source.parent.parent.kind === 231) { + if (source.parent.parent.kind === 232) { var maybeId = source.parent.parent.initializer; - return maybeId && isMatchingReference(maybeId, t.expression); + return !!maybeId && isMatchingReference(maybeId, t.expression); } } return false; } function containsMatchingReference(source, target) { - while (source.kind === 184) { + while (source.kind === 185) { source = source.expression; if (isMatchingReference(source, target)) { return true; @@ -33224,7 +33437,7 @@ var ts; return false; } function containsMatchingReferenceDiscriminant(source, target) { - return target.kind === 184 && + return target.kind === 185 && containsMatchingReference(source, target.expression) && isDiscriminantProperty(getDeclaredTypeOfReference(target.expression), target.name.escapedText); } @@ -33232,18 +33445,18 @@ var ts; if (expr.kind === 71) { return getTypeOfSymbol(getResolvedSymbol(expr)); } - if (expr.kind === 184) { + if (expr.kind === 185) { var type = getDeclaredTypeOfReference(expr.expression); return type && getTypeOfPropertyOfType(type, expr.name.escapedText); } return undefined; } function isDiscriminantProperty(type, name) { - if (type && type.flags & 131072) { + if (type && type.flags & 262144) { var prop = getUnionOrIntersectionProperty(type, name); if (prop && ts.getCheckFlags(prop) & 2) { if (prop.isDiscriminantProperty === undefined) { - prop.isDiscriminantProperty = prop.checkFlags & 32 && isLiteralType(getTypeOfSymbol(prop)); + prop.isDiscriminantProperty = !!(prop.checkFlags & 32) && isLiteralType(getTypeOfSymbol(prop)); } return prop.isDiscriminantProperty; } @@ -33276,7 +33489,7 @@ var ts; } } } - if (callExpression.expression.kind === 184 && + if (callExpression.expression.kind === 185 && isOrContainsMatchingReference(reference, callExpression.expression.expression)) { return true; } @@ -33290,7 +33503,7 @@ var ts; return flow.id; } function typeMaybeAssignableTo(source, target) { - if (!(source.flags & 131072)) { + if (!(source.flags & 262144)) { return isTypeAssignableTo(source, target); } for (var _i = 0, _a = source.types; _i < _a.length; _i++) { @@ -33303,11 +33516,11 @@ var ts; } function getAssignmentReducedType(declaredType, assignedType) { if (declaredType !== assignedType) { - if (assignedType.flags & 16384) { + if (assignedType.flags & 32768) { return assignedType; } var reducedType = filterType(declaredType, function (t) { return typeMaybeAssignableTo(assignedType, t); }); - if (!(reducedType.flags & 16384)) { + if (!(reducedType.flags & 32768)) { return reducedType; } } @@ -33328,53 +33541,53 @@ var ts; } function getTypeFacts(type) { var flags = type.flags; - if (flags & 2) { + if (flags & 4) { return strictNullChecks ? 4079361 : 4194049; } - if (flags & 32) { + if (flags & 64) { var isEmpty = type.value === ""; return strictNullChecks ? isEmpty ? 3030785 : 1982209 : isEmpty ? 3145473 : 4194049; } - if (flags & (4 | 16)) { + if (flags & (8 | 32)) { return strictNullChecks ? 4079234 : 4193922; } - if (flags & 64) { + if (flags & 128) { var isZero = type.value === 0; return strictNullChecks ? isZero ? 3030658 : 1982082 : isZero ? 3145346 : 4193922; } - if (flags & 8) { + if (flags & 16) { return strictNullChecks ? 4078980 : 4193668; } - if (flags & 136) { + if (flags & 272) { return strictNullChecks ? type === falseType ? 3030404 : 1981828 : type === falseType ? 3145092 : 4193668; } - if (flags & 65536) { + if (flags & 131072) { return isFunctionObjectType(type) ? strictNullChecks ? 1970144 : 4181984 : strictNullChecks ? 1972176 : 4184016; } - if (flags & (2048 | 4096)) { + if (flags & (4096 | 8192)) { return 2457472; } - if (flags & 8192) { + if (flags & 16384) { return 2340752; } - if (flags & 1536) { + if (flags & 3072) { return strictNullChecks ? 1981320 : 4193160; } - if (flags & 134217728) { + if (flags & 16777216) { return strictNullChecks ? 1972176 : 4184016; } - if (flags & 7897088) { + if (flags & 15794176) { return getTypeFacts(getBaseConstraintOfType(type) || emptyObjectType); } - if (flags & 393216) { + if (flags & 786432) { return getTypeFactsOfTypes(type.types); } return 4194303; @@ -33394,26 +33607,26 @@ var ts; return getConstraintForLocation(getTypeOfPropertyOfType(type, text), name) || isNumericLiteralName(text) && getIndexTypeOfType(type, 1) || getIndexTypeOfType(type, 0) || - unknownType; + errorType; } function getTypeOfDestructuredArrayElement(type, index) { return isTupleLikeType(type) && getTypeOfPropertyOfType(type, "" + index) || checkIteratedTypeOrElementType(type, undefined, false, false) || - unknownType; + errorType; } function getTypeOfDestructuredSpreadExpression(type) { - return createArrayType(checkIteratedTypeOrElementType(type, undefined, false, false) || unknownType); + return createArrayType(checkIteratedTypeOrElementType(type, undefined, false, false) || errorType); } function getAssignedTypeOfBinaryExpression(node) { - var isDestructuringDefaultAssignment = node.parent.kind === 182 && isDestructuringAssignmentTarget(node.parent) || - node.parent.kind === 269 && isDestructuringAssignmentTarget(node.parent.parent); + var isDestructuringDefaultAssignment = node.parent.kind === 183 && isDestructuringAssignmentTarget(node.parent) || + node.parent.kind === 270 && isDestructuringAssignmentTarget(node.parent.parent); return isDestructuringDefaultAssignment ? getTypeWithDefault(getAssignedType(node), node.right) : getTypeOfExpression(node.right); } function isDestructuringAssignmentTarget(parent) { - return parent.parent.kind === 199 && parent.parent.left === parent || - parent.parent.kind === 221 && parent.parent.initializer === parent; + return parent.parent.kind === 200 && parent.parent.left === parent || + parent.parent.kind === 222 && parent.parent.initializer === parent; } function getAssignedTypeOfArrayLiteralElement(node, element) { return getTypeOfDestructuredArrayElement(getAssignedType(node), node.elements.indexOf(element)); @@ -33430,29 +33643,29 @@ var ts; function getAssignedType(node) { var parent = node.parent; switch (parent.kind) { - case 220: - return stringType; case 221: - return checkRightHandSideOfForOf(parent.expression, parent.awaitModifier) || unknownType; - case 199: + return stringType; + case 222: + return checkRightHandSideOfForOf(parent.expression, parent.awaitModifier) || errorType; + case 200: return getAssignedTypeOfBinaryExpression(parent); - case 193: + case 194: return undefinedType; - case 182: + case 183: return getAssignedTypeOfArrayLiteralElement(parent, node); - case 203: + case 204: return getAssignedTypeOfSpreadExpression(parent); - case 269: - return getAssignedTypeOfPropertyAssignment(parent); case 270: + return getAssignedTypeOfPropertyAssignment(parent); + case 271: return getAssignedTypeOfShorthandPropertyAssignment(parent); } - return unknownType; + return errorType; } function getInitialTypeOfBindingElement(node) { var pattern = node.parent; var parentType = getInitialType(pattern.parent); - var type = pattern.kind === 179 ? + var type = pattern.kind === 180 ? getTypeOfDestructuredProperty(parentType, node.propertyName || node.name) : !node.dotDotDotToken ? getTypeOfDestructuredArrayElement(parentType, pattern.elements.indexOf(node)) : @@ -33467,35 +33680,35 @@ var ts; if (node.initializer) { return getTypeOfInitializer(node.initializer); } - if (node.parent.parent.kind === 220) { + if (node.parent.parent.kind === 221) { return stringType; } - if (node.parent.parent.kind === 221) { - return checkRightHandSideOfForOf(node.parent.parent.expression, node.parent.parent.awaitModifier) || unknownType; + if (node.parent.parent.kind === 222) { + return checkRightHandSideOfForOf(node.parent.parent.expression, node.parent.parent.awaitModifier) || errorType; } - return unknownType; + return errorType; } function getInitialType(node) { - return node.kind === 231 ? + return node.kind === 232 ? getInitialTypeOfVariableDeclaration(node) : getInitialTypeOfBindingElement(node); } function getInitialOrAssignedType(node) { - return node.kind === 231 || node.kind === 181 ? + return node.kind === 232 || node.kind === 182 ? getInitialType(node) : getAssignedType(node); } function isEmptyArrayAssignment(node) { - return node.kind === 231 && node.initializer && + return node.kind === 232 && node.initializer && isEmptyArrayLiteral(node.initializer) || - node.kind !== 181 && node.parent.kind === 199 && + node.kind !== 182 && node.parent.kind === 200 && isEmptyArrayLiteral(node.parent.right); } function getReferenceCandidate(node) { switch (node.kind) { - case 190: + case 191: return getReferenceCandidate(node.expression); - case 199: + case 200: switch (node.operatorToken.kind) { case 58: return getReferenceCandidate(node.left); @@ -33507,13 +33720,13 @@ var ts; } function getReferenceRoot(node) { var parent = node.parent; - return parent.kind === 190 || - parent.kind === 199 && parent.operatorToken.kind === 58 && parent.left === node || - parent.kind === 199 && parent.operatorToken.kind === 26 && parent.right === node ? + return parent.kind === 191 || + parent.kind === 200 && parent.operatorToken.kind === 58 && parent.left === node || + parent.kind === 200 && parent.operatorToken.kind === 26 && parent.right === node ? getReferenceRoot(parent) : node; } function getTypeOfSwitchClause(clause) { - if (clause.kind === 265) { + if (clause.kind === 266) { return getRegularTypeOfLiteralType(getTypeOfExpression(clause.expression)); } return neverType; @@ -33530,13 +33743,13 @@ var ts; return links.switchTypes; } function eachTypeContainedIn(source, types) { - return source.flags & 131072 ? !ts.forEach(source.types, function (t) { return !ts.contains(types, t); }) : ts.contains(types, source); + return source.flags & 262144 ? !ts.forEach(source.types, function (t) { return !ts.contains(types, t); }) : ts.contains(types, source); } function isTypeSubsetOf(source, target) { - return source === target || target.flags & 131072 && isTypeSubsetOfUnion(source, target); + return source === target || target.flags & 262144 && isTypeSubsetOfUnion(source, target); } function isTypeSubsetOfUnion(source, target) { - if (source.flags & 131072) { + if (source.flags & 262144) { for (var _i = 0, _a = source.types; _i < _a.length; _i++) { var t = _a[_i]; if (!containsType(target.types, t)) { @@ -33545,27 +33758,27 @@ var ts; } return true; } - if (source.flags & 256 && getBaseTypeOfEnumLiteralType(source) === target) { + if (source.flags & 512 && getBaseTypeOfEnumLiteralType(source) === target) { return true; } return containsType(target.types, source); } function forEachType(type, f) { - return type.flags & 131072 ? ts.forEach(type.types, f) : f(type); + return type.flags & 262144 ? ts.forEach(type.types, f) : f(type); } function filterType(type, f) { - if (type.flags & 131072) { + if (type.flags & 262144) { var types = type.types; var filtered = ts.filter(types, f); - return filtered === types ? type : getUnionTypeFromSortedList(filtered, type.flags & 268435456); + return filtered === types ? type : getUnionTypeFromSortedList(filtered, type.flags & 67108864); } return f(type) ? type : neverType; } function mapType(type, mapper, noReductions) { - if (type.flags & 16384) { + if (type.flags & 32768) { return type; } - if (!(type.flags & 131072)) { + if (!(type.flags & 262144)) { return mapper(type); } var types = type.types; @@ -33592,11 +33805,11 @@ var ts; return filterType(type, function (t) { return (t.flags & kind) !== 0; }); } function replacePrimitivesWithLiterals(typeWithPrimitives, typeWithLiterals) { - if (isTypeSubsetOf(stringType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 32) || - isTypeSubsetOf(numberType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 64)) { + if (isTypeSubsetOf(stringType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 64) || + isTypeSubsetOf(numberType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 128)) { return mapType(typeWithPrimitives, function (t) { - return t.flags & 2 ? extractTypesOfKind(typeWithLiterals, 2 | 32) : - t.flags & 4 ? extractTypesOfKind(typeWithLiterals, 4 | 64) : + return t.flags & 4 ? extractTypesOfKind(typeWithLiterals, 4 | 64) : + t.flags & 8 ? extractTypesOfKind(typeWithLiterals, 8 | 128) : t; }); } @@ -33624,9 +33837,9 @@ var ts; return isTypeSubsetOf(elementType, evolvingArrayType.elementType) ? evolvingArrayType : getEvolvingArrayType(getUnionType([evolvingArrayType.elementType, elementType])); } function createFinalArrayType(elementType) { - return elementType.flags & 16384 ? + return elementType.flags & 32768 ? autoArrayType : - createArrayType(elementType.flags & 131072 ? + createArrayType(elementType.flags & 262144 ? getUnionType(elementType.types, 2) : elementType); } @@ -33643,7 +33856,7 @@ var ts; var hasEvolvingArrayType = false; for (var _i = 0, types_14 = types; _i < types_14.length; _i++) { var t = types_14[_i]; - if (!(t.flags & 16384)) { + if (!(t.flags & 32768)) { if (!(ts.getObjectFlags(t) & 256)) { return false; } @@ -33660,15 +33873,15 @@ var ts; function isEvolvingArrayOperationTarget(node) { var root = getReferenceRoot(node); var parent = root.parent; - var isLengthPushOrUnshift = parent.kind === 184 && (parent.name.escapedText === "length" || - parent.parent.kind === 186 && ts.isPushOrUnshiftIdentifier(parent.name)); - var isElementAssignment = parent.kind === 185 && + var isLengthPushOrUnshift = parent.kind === 185 && (parent.name.escapedText === "length" || + parent.parent.kind === 187 && ts.isPushOrUnshiftIdentifier(parent.name)); + var isElementAssignment = parent.kind === 186 && parent.expression === root && - parent.parent.kind === 199 && + parent.parent.kind === 200 && parent.parent.operatorToken.kind === 58 && parent.parent.left === parent && !ts.isAssignmentTarget(parent.parent) && - isTypeAssignableToKind(getTypeOfExpression(parent.argumentExpression), 84); + isTypeAssignableToKind(getTypeOfExpression(parent.argumentExpression), 168); return isLengthPushOrUnshift || isElementAssignment; } function maybeTypePredicateCall(node) { @@ -33683,7 +33896,7 @@ var ts; var funcType = checkNonNullExpression(node.expression); if (funcType !== silentNeverType) { var apparentType = getApparentType(funcType); - return apparentType !== unknownType && ts.some(getSignaturesOfType(apparentType, 0), signatureHasTypePredicate); + return apparentType !== errorType && ts.some(getSignaturesOfType(apparentType, 0), signatureHasTypePredicate); } } return false; @@ -33699,16 +33912,16 @@ var ts; var key; var flowDepth = 0; if (flowAnalysisDisabled) { - return unknownType; + return errorType; } - if (!reference.flowNode || !couldBeUninitialized && !(declaredType.flags & 142575359)) { + if (!reference.flowNode || !couldBeUninitialized && !(declaredType.flags & 33492479)) { return declaredType; } var sharedFlowStart = sharedFlowCount; var evolvedType = getTypeFromFlowType(getTypeAtFlowNode(reference.flowNode)); sharedFlowCount = sharedFlowStart; var resultType = ts.getObjectFlags(evolvedType) & 256 && isEvolvingArrayOperationTarget(reference) ? anyArrayType : finalizeEvolvingArrayType(evolvedType); - if (reference.parent && reference.parent.kind === 208 && getTypeWithFacts(resultType, 524288).flags & 16384) { + if (reference.parent && reference.parent.kind === 209 && getTypeWithFacts(resultType, 524288).flags & 32768) { return declaredType; } return resultType; @@ -33716,7 +33929,7 @@ var ts; if (flowDepth === 2500) { flowAnalysisDisabled = true; reportFlowControlError(reference); - return unknownType; + return errorType; } flowDepth++; while (true) { @@ -33770,7 +33983,7 @@ var ts; } else if (flags & 2) { var container = flow.container; - if (container && container !== flowContainer && reference.kind !== 184 && reference.kind !== 99) { + if (container && container !== flowContainer && reference.kind !== 185 && reference.kind !== 99) { flow = container.flowNode; continue; } @@ -33802,7 +34015,7 @@ var ts; var assignedType = getBaseTypeOfLiteralType(getInitialOrAssignedType(node)); return isTypeAssignableTo(assignedType, declaredType) ? assignedType : anyArrayType; } - if (declaredType.flags & 131072) { + if (declaredType.flags & 262144) { return getAssignmentReducedType(declaredType, getInitialOrAssignedType(node)); } return declaredType; @@ -33815,7 +34028,7 @@ var ts; function getTypeAtFlowArrayMutation(flow) { if (declaredType === autoType || declaredType === autoArrayType) { var node = flow.node; - var expr = node.kind === 186 ? + var expr = node.kind === 187 ? node.expression.expression : node.left.expression; if (isMatchingReference(reference, getReferenceCandidate(expr))) { @@ -33823,7 +34036,7 @@ var ts; var type = getTypeFromFlowType(flowType); if (ts.getObjectFlags(type) & 256) { var evolvedType_1 = type; - if (node.kind === 186) { + if (node.kind === 187) { for (var _i = 0, _a = node.arguments; _i < _a.length; _i++) { var arg = _a[_i]; evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, arg); @@ -33831,7 +34044,7 @@ var ts; } else { var indexType = getTypeOfExpression(node.left.argumentExpression); - if (isTypeAssignableToKind(indexType, 84)) { + if (isTypeAssignableToKind(indexType, 168)) { evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, node.right); } } @@ -33845,7 +34058,7 @@ var ts; function getTypeAtFlowCondition(flow) { var flowType = getTypeAtFlowNode(flow.antecedent); var type = getTypeFromFlowType(flowType); - if (type.flags & 16384) { + if (type.flags & 32768) { return flowType; } var assumeTrue = (flow.flags & 32) !== 0; @@ -33855,7 +34068,7 @@ var ts; return flowType; } var incomplete = isIncomplete(flowType); - var resultType = incomplete && narrowedType.flags & 16384 ? silentNeverType : narrowedType; + var resultType = incomplete && narrowedType.flags & 32768 ? silentNeverType : narrowedType; return createFlowType(resultType, incomplete); } function getTypeAtSwitchClause(flow) { @@ -33947,8 +34160,8 @@ var ts; return result; } function isMatchingReferenceDiscriminant(expr, computedType) { - return expr.kind === 184 && - computedType.flags & 131072 && + return expr.kind === 185 && + computedType.flags & 262144 && isMatchingReference(reference, expr.expression) && isDiscriminantProperty(computedType, expr.name.escapedText); } @@ -33981,7 +34194,7 @@ var ts; return !assumeTrue; } function narrowByInKeyword(type, literal, assumeTrue) { - if ((type.flags & (131072 | 65536)) || (type.flags & 32768 && type.isThisType)) { + if ((type.flags & (262144 | 131072)) || (type.flags & 65536 && type.isThisType)) { var propName_1 = ts.escapeLeadingUnderscores(literal.text); return filterType(type, function (t) { return isTypePresencePossible(t, propName_1, assumeTrue); }); } @@ -33998,10 +34211,10 @@ var ts; var operator_1 = expr.operatorToken.kind; var left_1 = getReferenceCandidate(expr.left); var right_1 = getReferenceCandidate(expr.right); - if (left_1.kind === 194 && ts.isStringLiteralLike(right_1)) { + if (left_1.kind === 195 && ts.isStringLiteralLike(right_1)) { return narrowTypeByTypeof(type, left_1, operator_1, right_1, assumeTrue); } - if (right_1.kind === 194 && ts.isStringLiteralLike(left_1)) { + if (right_1.kind === 195 && ts.isStringLiteralLike(left_1)) { return narrowTypeByTypeof(type, right_1, operator_1, left_1, assumeTrue); } if (isMatchingReference(reference, left_1)) { @@ -34041,24 +34254,24 @@ var ts; assumeTrue = !assumeTrue; } var valueType = getTypeOfExpression(value); - if (valueType.flags & 12288) { + if (valueType.flags & 24576) { if (!strictNullChecks) { return type; } var doubleEquals = operator === 32 || operator === 33; var facts = doubleEquals ? assumeTrue ? 65536 : 524288 : - valueType.flags & 8192 ? + valueType.flags & 16384 ? assumeTrue ? 32768 : 262144 : assumeTrue ? 16384 : 131072; return getTypeWithFacts(type, facts); } - if (type.flags & 134283777) { + if (type.flags & 16909315) { return type; } if (assumeTrue) { var narrowedType = filterType(type, function (t) { return areTypesComparable(t, valueType); }); - return narrowedType.flags & 16384 ? type : replacePrimitivesWithLiterals(narrowedType, valueType); + return narrowedType.flags & 32768 ? type : replacePrimitivesWithLiterals(narrowedType, valueType); } if (isUnitType(valueType)) { var regularType_1 = getRegularTypeOfLiteralType(valueType); @@ -34077,13 +34290,16 @@ var ts; if (operator === 33 || operator === 35) { assumeTrue = !assumeTrue; } - if (assumeTrue && !(type.flags & 131072)) { - var targetType = typeofTypesByName.get(literal.text); + if (type.flags & 1 && literal.text === "function") { + return type; + } + if (assumeTrue && !(type.flags & 262144)) { + var targetType = literal.text === "function" ? globalFunctionType : typeofTypesByName.get(literal.text); if (targetType) { if (isTypeSubtypeOf(targetType, type)) { return targetType; } - if (type.flags & 7897088) { + if (type.flags & 15794176) { var constraint = getBaseConstraintOfType(type) || anyType; if (isTypeSubtypeOf(targetType, constraint)) { return getIntersectionType([type, targetType]); @@ -34104,13 +34320,13 @@ var ts; var clauseTypes = switchTypes.slice(clauseStart, clauseEnd); var hasDefaultClause = clauseStart === clauseEnd || ts.contains(clauseTypes, neverType); var discriminantType = getUnionType(clauseTypes); - var caseType = discriminantType.flags & 16384 ? neverType : + var caseType = discriminantType.flags & 32768 ? neverType : replacePrimitivesWithLiterals(filterType(type, function (t) { return areTypesComparable(discriminantType, t); }), discriminantType); if (!hasDefaultClause) { return caseType; } var defaultType = filterType(type, function (t) { return !(isUnitType(t) && ts.contains(switchTypes, getRegularTypeOfLiteralType(t))); }); - return caseType.flags & 16384 ? defaultType : getUnionType([caseType, defaultType]); + return caseType.flags & 32768 ? defaultType : getUnionType([caseType, defaultType]); } function narrowTypeByInstanceof(type, expr, assumeTrue) { var left = getReferenceCandidate(expr.left); @@ -34156,9 +34372,9 @@ var ts; if (!assumeTrue) { return filterType(type, function (t) { return !isRelated(t, candidate); }); } - if (type.flags & 131072) { + if (type.flags & 262144) { var assignableType = filterType(type, function (t) { return isRelated(t, candidate); }); - if (!(assignableType.flags & 16384)) { + if (!(assignableType.flags & 32768)) { return assignableType; } } @@ -34192,7 +34408,7 @@ var ts; } else { var invokedExpression = ts.skipParentheses(callExpression.expression); - if (invokedExpression.kind === 185 || invokedExpression.kind === 184) { + if (invokedExpression.kind === 186 || invokedExpression.kind === 185) { var accessExpression = invokedExpression; var possibleReference = ts.skipParentheses(accessExpression.expression); if (isMatchingReference(reference, possibleReference)) { @@ -34210,15 +34426,15 @@ var ts; case 71: case 99: case 97: - case 184: + case 185: return narrowTypeByTruthiness(type, expr, assumeTrue); - case 186: + case 187: return narrowTypeByTypePredicate(type, expr, assumeTrue); - case 190: + case 191: return narrowType(type, expr.expression, assumeTrue); - case 199: + case 200: return narrowTypeByBinaryExpression(type, expr, assumeTrue); - case 197: + case 198: if (expr.operator === 51) { return narrowType(type, expr.operand, !assumeTrue); } @@ -34245,9 +34461,9 @@ var ts; function getControlFlowContainer(node) { return ts.findAncestor(node.parent, function (node) { return ts.isFunctionLike(node) && !ts.getImmediatelyInvokedFunctionExpression(node) || - node.kind === 239 || - node.kind === 273 || - node.kind === 151; + node.kind === 240 || + node.kind === 274 || + node.kind === 152; }); } function isParameterAssigned(symbol) { @@ -34268,7 +34484,7 @@ var ts; if (node.kind === 71) { if (ts.isAssignmentTarget(node)) { var symbol = getResolvedSymbol(node); - if (symbol.valueDeclaration && ts.getRootDeclaration(symbol.valueDeclaration).kind === 148) { + if (symbol.valueDeclaration && ts.getRootDeclaration(symbol.valueDeclaration).kind === 149) { symbol.isAssigned = true; } } @@ -34282,21 +34498,21 @@ var ts; } function removeOptionalityFromDeclaredType(declaredType, declaration) { var annotationIncludesUndefined = strictNullChecks && - declaration.kind === 148 && + declaration.kind === 149 && declaration.initializer && - getFalsyFlags(declaredType) & 4096 && - !(getFalsyFlags(checkExpression(declaration.initializer)) & 4096); + getFalsyFlags(declaredType) & 8192 && + !(getFalsyFlags(checkExpression(declaration.initializer)) & 8192); return annotationIncludesUndefined ? getTypeWithFacts(declaredType, 131072) : declaredType; } function isConstraintPosition(node) { var parent = node.parent; - return parent.kind === 184 || + return parent.kind === 185 || + parent.kind === 187 && parent.expression === node || parent.kind === 186 && parent.expression === node || - parent.kind === 185 && parent.expression === node || - parent.kind === 181 && parent.name === node && !!parent.initializer; + parent.kind === 182 && parent.name === node && !!parent.initializer; } function typeHasNullableConstraint(type) { - return type.flags & 7372800 && maybeTypeOfKind(getBaseConstraintOfType(type) || emptyObjectType, 12288); + return type.flags & 14745600 && maybeTypeOfKind(getBaseConstraintOfType(type) || emptyObjectType, 24576); } function getConstraintForLocation(type, node) { if (type && isConstraintPosition(node) && forEachType(type, typeHasNullableConstraint)) { @@ -34312,12 +34528,12 @@ var ts; function checkIdentifier(node) { var symbol = getResolvedSymbol(node); if (symbol === unknownSymbol) { - return unknownType; + return errorType; } if (symbol === argumentsSymbol) { var container = ts.getContainingFunction(node); if (languageVersion < 2) { - if (container.kind === 192) { + if (container.kind === 193) { error(node, ts.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression); } else if (ts.hasModifier(container, 256)) { @@ -34333,7 +34549,7 @@ var ts; var localOrExportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); var declaration = localOrExportSymbol.valueDeclaration; if (localOrExportSymbol.flags & 32) { - if (declaration.kind === 234 + if (declaration.kind === 235 && ts.nodeIsDecorated(declaration)) { var container = ts.getContainingClass(node); while (container !== undefined) { @@ -34345,11 +34561,11 @@ var ts; container = ts.getContainingClass(container); } } - else if (declaration.kind === 204) { + else if (declaration.kind === 205) { var container = ts.getThisContainer(node, false); - while (container !== undefined) { + while (container.kind !== 274) { if (container.parent === declaration) { - if (container.kind === 151 && ts.hasModifier(container, 32)) { + if (container.kind === 152 && ts.hasModifier(container, 32)) { getNodeLinks(declaration).flags |= 8388608; getNodeLinks(node).flags |= 16777216; } @@ -34366,11 +34582,11 @@ var ts; if (!(localOrExportSymbol.flags & 3) && !(ts.isInJavaScriptFile(node) && localOrExportSymbol.flags & 512)) { error(node, ts.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable, symbolToString(symbol)); - return unknownType; + return errorType; } if (isReadonlySymbol(localOrExportSymbol)) { error(node, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, symbolToString(symbol)); - return unknownType; + return errorType; } } var isAlias = localOrExportSymbol.flags & 2097152; @@ -34388,21 +34604,21 @@ var ts; if (!declaration) { return type; } - var isParameter = ts.getRootDeclaration(declaration).kind === 148; + var isParameter = ts.getRootDeclaration(declaration).kind === 149; var declarationContainer = getControlFlowContainer(declaration); var flowContainer = getControlFlowContainer(node); var isOuterVariable = flowContainer !== declarationContainer; var isSpreadDestructuringAsignmentTarget = node.parent && node.parent.parent && ts.isSpreadAssignment(node.parent) && isDestructuringAssignmentTarget(node.parent.parent); - while (flowContainer !== declarationContainer && (flowContainer.kind === 191 || - flowContainer.kind === 192 || ts.isObjectLiteralOrClassExpressionMethod(flowContainer)) && + while (flowContainer !== declarationContainer && (flowContainer.kind === 192 || + flowContainer.kind === 193 || ts.isObjectLiteralOrClassExpressionMethod(flowContainer)) && (isConstVariable(localOrExportSymbol) || isParameter && !isParameterAssigned(localOrExportSymbol))) { flowContainer = getControlFlowContainer(flowContainer); } var assumeInitialized = isParameter || isAlias || isOuterVariable || isSpreadDestructuringAsignmentTarget || - type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & 1) !== 0 || - isInTypeQuery(node) || node.parent.kind === 251) || - node.parent.kind === 208 || - declaration.kind === 231 && declaration.exclamationToken || + type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & 3) !== 0 || + isInTypeQuery(node) || node.parent.kind === 252) || + node.parent.kind === 209 || + declaration.kind === 232 && declaration.exclamationToken || declaration.flags & 4194304; var initialType = assumeInitialized ? (isParameter ? removeOptionalityFromDeclaredType(type, declaration) : type) : type === autoType || type === autoArrayType ? undefinedType : @@ -34417,7 +34633,7 @@ var ts; return convertAutoToAny(flowType); } } - else if (!assumeInitialized && !(getFalsyFlags(type) & 4096) && getFalsyFlags(flowType) & 4096) { + else if (!assumeInitialized && !(getFalsyFlags(type) & 8192) && getFalsyFlags(flowType) & 8192) { error(node, ts.Diagnostics.Variable_0_is_used_before_being_assigned, symbolToString(symbol)); return type; } @@ -34429,7 +34645,7 @@ var ts; function checkNestedBlockScopedBinding(node, symbol) { if (languageVersion >= 2 || (symbol.flags & (2 | 32)) === 0 || - symbol.valueDeclaration.parent.kind === 268) { + symbol.valueDeclaration.parent.kind === 269) { return; } var container = ts.getEnclosingBlockScopeContainer(symbol.valueDeclaration); @@ -34447,8 +34663,8 @@ var ts; if (usedInFunction) { getNodeLinks(current).flags |= 65536; } - if (container.kind === 219 && - ts.getAncestor(symbol.valueDeclaration, 232).parent === container && + if (container.kind === 220 && + ts.getAncestor(symbol.valueDeclaration, 233).parent === container && isAssignedInBodyOfForStatement(node, container)) { getNodeLinks(symbol.valueDeclaration).flags |= 2097152; } @@ -34460,14 +34676,14 @@ var ts; } function isAssignedInBodyOfForStatement(node, container) { var current = node; - while (current.parent.kind === 190) { + while (current.parent.kind === 191) { current = current.parent; } var isAssigned = false; if (ts.isAssignmentTarget(current)) { isAssigned = true; } - else if ((current.parent.kind === 197 || current.parent.kind === 198)) { + else if ((current.parent.kind === 198 || current.parent.kind === 199)) { var expr = current.parent; isAssigned = expr.operator === 43 || expr.operator === 44; } @@ -34478,7 +34694,7 @@ var ts; } function captureLexicalThis(node, container) { getNodeLinks(node).flags |= 2; - if (container.kind === 151 || container.kind === 154) { + if (container.kind === 152 || container.kind === 155) { var classNode = container.parent; getNodeLinks(classNode).flags |= 4; } @@ -34522,32 +34738,32 @@ var ts; function checkThisExpression(node) { var container = ts.getThisContainer(node, true); var needToCaptureLexicalThis = false; - if (container.kind === 154) { + if (container.kind === 155) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class); } - if (container.kind === 192) { + if (container.kind === 193) { container = ts.getThisContainer(container, false); needToCaptureLexicalThis = (languageVersion < 2); } switch (container.kind) { - case 238: + case 239: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body); break; - case 237: + case 238: error(node, ts.Diagnostics.this_cannot_be_referenced_in_current_location); break; - case 154: + case 155: if (isInConstructorArgumentInitializer(node, container)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_constructor_arguments); } break; + case 152: case 151: - case 150: if (ts.hasModifier(container, 32)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer); } break; - case 146: + case 147: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name); break; } @@ -34564,8 +34780,8 @@ var ts; if (container === void 0) { container = ts.getThisContainer(node, false); } if (ts.isFunctionLike(container) && (!isInParameterInitializerBeforeContainingFunction(node) || ts.getThisParameter(container))) { - if (container.kind === 191 && - container.parent.kind === 199 && + if (container.kind === 192 && + container.parent.kind === 200 && ts.getSpecialPropertyAssignmentKind(container.parent) === 3) { var className = container.parent .left @@ -34588,14 +34804,14 @@ var ts; } if (ts.isInJavaScriptFile(node)) { var type = getTypeForThisExpressionFromJSDoc(container); - if (type && type !== unknownType) { + if (type && type !== errorType) { return getFlowTypeOfReference(node, type); } } } function getTypeForThisExpressionFromJSDoc(node) { var jsdocType = ts.getJSDocType(node); - if (jsdocType && jsdocType.kind === 283) { + if (jsdocType && jsdocType.kind === 284) { var jsDocFunctionType = jsdocType; if (jsDocFunctionType.parameters.length > 0 && jsDocFunctionType.parameters[0].name && @@ -34605,14 +34821,14 @@ var ts; } } function isInConstructorArgumentInitializer(node, constructorDecl) { - return !!ts.findAncestor(node, function (n) { return n === constructorDecl ? "quit" : n.kind === 148; }); + return !!ts.findAncestor(node, function (n) { return n === constructorDecl ? "quit" : n.kind === 149; }); } function checkSuperExpression(node) { - var isCallExpression = node.parent.kind === 186 && node.parent.expression === node; + var isCallExpression = node.parent.kind === 187 && node.parent.expression === node; var container = ts.getSuperContainer(node, true); var needToCaptureLexicalThis = false; if (!isCallExpression) { - while (container && container.kind === 192) { + while (container && container.kind === 193) { container = ts.getSuperContainer(container, true); needToCaptureLexicalThis = languageVersion < 2; } @@ -34620,22 +34836,22 @@ var ts; var canUseSuperExpression = isLegalUsageOfSuperExpression(container); var nodeCheckFlag = 0; if (!canUseSuperExpression) { - var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 146; }); - if (current && current.kind === 146) { + var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 147; }); + if (current && current.kind === 147) { error(node, ts.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name); } else if (isCallExpression) { error(node, ts.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors); } - else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 183)) { + else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 184)) { error(node, ts.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions); } else { error(node, ts.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class); } - return unknownType; + return errorType; } - if (!isCallExpression && container.kind === 154) { + if (!isCallExpression && container.kind === 155) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class); } if (ts.hasModifier(container, 32) || isCallExpression) { @@ -34645,7 +34861,7 @@ var ts; nodeCheckFlag = 256; } getNodeLinks(node).flags |= nodeCheckFlag; - if (container.kind === 153 && ts.hasModifier(container, 256)) { + if (container.kind === 154 && ts.hasModifier(container, 256)) { if (ts.isSuperProperty(node.parent) && ts.isAssignmentTarget(node.parent)) { getNodeLinks(container).flags |= 4096; } @@ -34656,10 +34872,10 @@ var ts; if (needToCaptureLexicalThis) { captureLexicalThis(node.parent, container); } - if (container.parent.kind === 183) { + if (container.parent.kind === 184) { if (languageVersion < 2) { error(node, ts.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher); - return unknownType; + return errorType; } else { return anyType; @@ -34668,16 +34884,16 @@ var ts; var classLikeDeclaration = container.parent; if (!ts.getClassExtendsHeritageClauseElement(classLikeDeclaration)) { error(node, ts.Diagnostics.super_can_only_be_referenced_in_a_derived_class); - return unknownType; + return errorType; } var classType = getDeclaredTypeOfSymbol(getSymbolOfNode(classLikeDeclaration)); var baseClassType = classType && getBaseTypes(classType)[0]; if (!baseClassType) { - return unknownType; + return errorType; } - if (container.kind === 154 && isInConstructorArgumentInitializer(node, container)) { + if (container.kind === 155 && isInConstructorArgumentInitializer(node, container)) { error(node, ts.Diagnostics.super_cannot_be_referenced_in_constructor_arguments); - return unknownType; + return errorType; } return nodeCheckFlag === 512 ? getBaseConstructorTypeOfClass(classType) @@ -34687,24 +34903,24 @@ var ts; return false; } if (isCallExpression) { - return container.kind === 154; + return container.kind === 155; } else { - if (ts.isClassLike(container.parent) || container.parent.kind === 183) { + if (ts.isClassLike(container.parent) || container.parent.kind === 184) { if (ts.hasModifier(container, 32)) { - return container.kind === 153 || - container.kind === 152 || - container.kind === 155 || - container.kind === 156; + return container.kind === 154 || + container.kind === 153 || + container.kind === 156 || + container.kind === 157; } else { - return container.kind === 153 || - container.kind === 152 || - container.kind === 155 || + return container.kind === 154 || + container.kind === 153 || container.kind === 156 || + container.kind === 157 || + container.kind === 152 || container.kind === 151 || - container.kind === 150 || - container.kind === 154; + container.kind === 155; } } } @@ -34712,10 +34928,10 @@ var ts; } } function getContainingObjectLiteral(func) { - return (func.kind === 153 || - func.kind === 155 || - func.kind === 156) && func.parent.kind === 183 ? func.parent : - func.kind === 191 && func.parent.kind === 269 ? func.parent.parent : + return (func.kind === 154 || + func.kind === 156 || + func.kind === 157) && func.parent.kind === 184 ? func.parent : + func.kind === 192 && func.parent.kind === 270 ? func.parent.parent : undefined; } function getThisTypeArgument(type) { @@ -34723,11 +34939,11 @@ var ts; } function getThisTypeFromContextualType(type) { return mapType(type, function (t) { - return t.flags & 262144 ? ts.forEach(t.types, getThisTypeArgument) : getThisTypeArgument(t); + return t.flags & 524288 ? ts.forEach(t.types, getThisTypeArgument) : getThisTypeArgument(t); }); } function getContextualThisParameterType(func) { - if (func.kind === 192) { + if (func.kind === 193) { return undefined; } if (isContextSensitiveFunctionOrObjectLiteralMethod(func)) { @@ -34751,7 +34967,7 @@ var ts; if (thisType) { return instantiateType(thisType, getContextualMapper(containingLiteral)); } - if (literal.parent.kind !== 269) { + if (literal.parent.kind !== 270) { break; } literal = literal.parent.parent; @@ -34760,9 +34976,9 @@ var ts; return contextualType ? getNonNullableType(contextualType) : checkExpressionCached(containingLiteral); } var parent = func.parent; - if (parent.kind === 199 && parent.operatorToken.kind === 58) { + if (parent.kind === 200 && parent.operatorToken.kind === 58) { var target = parent.left; - if (target.kind === 184 || target.kind === 185) { + if (target.kind === 185 || target.kind === 186) { var expression = target.expression; if (inJs && ts.isIdentifier(expression)) { var sourceFile = ts.getSourceFileOfNode(parent); @@ -34815,7 +35031,7 @@ var ts; if (funcHasRestParameters && indexOfParameter === (func.parameters.length - 1) && isRestParameterIndex(contextualSignature, func.parameters.length - 1)) { - return getTypeOfSymbol(ts.lastOrUndefined(contextualSignature.parameters)); + return getTypeOfSymbol(ts.last(contextualSignature.parameters)); } } } @@ -34826,7 +35042,7 @@ var ts; if (typeNode) { return getTypeFromTypeNode(typeNode); } - if (declaration.kind === 148) { + if (declaration.kind === 149) { var type = getContextuallyTypedParameterType(declaration); if (type) { return type; @@ -34838,7 +35054,7 @@ var ts; if (ts.isBindingPattern(declaration.parent)) { var parentDeclaration = declaration.parent.parent; var name = declaration.propertyName || declaration.name; - if (parentDeclaration.kind !== 181) { + if (parentDeclaration.kind !== 182) { var parentTypeNode = ts.getEffectiveTypeAnnotationNode(parentDeclaration); if (parentTypeNode && !ts.isBindingPattern(name)) { var text = ts.getTextOfPropertyName(name); @@ -34892,7 +35108,7 @@ var ts; return false; } function getContextualReturnType(functionDecl) { - if (functionDecl.kind === 154 || + if (functionDecl.kind === 155 || ts.getEffectiveReturnTypeNode(functionDecl) || isGetAccessorWithAnnotatedSetAccessor(functionDecl)) { return getReturnTypeOfSignature(getSignatureFromDeclaration(functionDecl)); @@ -34913,7 +35129,7 @@ var ts; return getTypeAtPosition(signature, argIndex); } function getContextualTypeForSubstitutionExpression(template, substitutionExpression) { - if (template.parent.kind === 188) { + if (template.parent.kind === 189) { return getContextualTypeForArgument(template.parent, substitutionExpression); } return undefined; @@ -34926,7 +35142,7 @@ var ts; return node === right && isContextSensitiveAssignment(binaryExpression) ? getTypeOfExpression(left) : undefined; case 54: var type = getContextualType(binaryExpression); - return !type && node === right && !ts.getDeclaredJavascriptInitializer(binaryExpression.parent) && !ts.getAssignedJavascriptInitializer(binaryExpression) ? + return !type && node === right && !ts.isDefaultedJavascriptInitializer(binaryExpression) ? getTypeOfExpression(left) : type; case 53: case 26: @@ -34949,12 +35165,12 @@ var ts; case 6: return false; default: - ts.Debug.assertNever(kind); + return ts.Debug.assertNever(kind); } } function getTypeOfPropertyOfContextualType(type, name) { return mapType(type, function (t) { - var prop = t.flags & 458752 ? getPropertyOfType(t, name) : undefined; + var prop = t.flags & 917504 ? getPropertyOfType(t, name) : undefined; return prop ? getTypeOfSymbol(prop) : undefined; }, true); } @@ -34962,7 +35178,7 @@ var ts; return mapType(type, function (t) { return getIndexTypeOfStructuredType(t, kind); }, true); } function contextualTypeIsTupleLikeType(type) { - return !!(type.flags & 131072 ? ts.forEach(type.types, isTupleLikeType) : isTupleLikeType(type)); + return !!(type.flags & 262144 ? ts.forEach(type.types, isTupleLikeType) : isTupleLikeType(type)); } function getContextualTypeForObjectLiteralMethod(node) { ts.Debug.assert(ts.isObjectLiteralMethod(node)); @@ -35021,10 +35237,26 @@ var ts; return getContextualType(attribute.parent); } } + function isPossiblyDiscriminantValue(node) { + switch (node.kind) { + case 9: + case 8: + case 13: + case 101: + case 86: + case 95: + case 71: + return true; + case 185: + case 191: + return isPossiblyDiscriminantValue(node.expression); + } + return false; + } function getApparentTypeOfContextualType(node) { var contextualType = getContextualType(node); contextualType = contextualType && mapType(contextualType, getApparentType); - if (!(contextualType && contextualType.flags & 131072 && ts.isObjectLiteralExpression(node))) { + if (!(contextualType && contextualType.flags & 262144 && ts.isObjectLiteralExpression(node))) { return contextualType; } var match; @@ -35032,10 +35264,10 @@ var ts; var prop = _a[_i]; if (!prop.symbol) continue; - if (prop.kind !== 269) + if (prop.kind !== 270) continue; - if (isDiscriminantProperty(contextualType, prop.symbol.escapedName)) { - var discriminatingType = getTypeOfNode(prop.initializer); + if (isPossiblyDiscriminantValue(prop.initializer) && isDiscriminantProperty(contextualType, prop.symbol.escapedName)) { + var discriminatingType = checkExpression(prop.initializer); for (var _b = 0, _c = contextualType.types; _b < _c.length; _b++) { var type = _c[_b]; var targetType = getTypeOfPropertyOfType(type, prop.symbol.escapedName); @@ -35062,58 +35294,58 @@ var ts; } var parent = node.parent; switch (parent.kind) { - case 231: - case 148: + case 232: + case 149: + case 152: case 151: - case 150: - case 181: + case 182: return getContextualTypeForInitializerExpression(node); - case 192: - case 224: + case 193: + case 225: return getContextualTypeForReturnExpression(node); - case 202: + case 203: return getContextualTypeForYieldOperand(parent); - case 186: case 187: + case 188: return getContextualTypeForArgument(parent, node); - case 189: - case 207: + case 190: + case 208: return getTypeFromTypeNode(parent.type); - case 199: + case 200: return getContextualTypeForBinaryOperand(node); - case 269: case 270: - return getContextualTypeForObjectLiteralElement(parent); case 271: + return getContextualTypeForObjectLiteralElement(parent); + case 272: return getApparentTypeOfContextualType(parent.parent); - case 182: { + case 183: { var arrayLiteral = parent; var type = getApparentTypeOfContextualType(arrayLiteral); return getContextualTypeForElementExpression(type, ts.indexOfNode(arrayLiteral.elements, node)); } - case 200: + case 201: return getContextualTypeForConditionalOperand(node); - case 210: - ts.Debug.assert(parent.parent.kind === 201); + case 211: + ts.Debug.assert(parent.parent.kind === 202); return getContextualTypeForSubstitutionExpression(parent.parent, node); - case 190: { + case 191: { var tag = ts.isInJavaScriptFile(parent) ? ts.getJSDocTypeTag(parent) : undefined; return tag ? getTypeFromTypeNode(tag.typeExpression.type) : getContextualType(parent); } - case 264: + case 265: return getContextualTypeForJsxExpression(parent); - case 261: - case 263: + case 262: + case 264: return getContextualTypeForJsxAttribute(parent); + case 257: case 256: - case 255: return getContextualJsxElementAttributesType(parent); } return undefined; } function getContextualMapper(node) { - node = ts.findAncestor(node, function (n) { return !!n.contextualMapper; }); - return node ? node.contextualMapper : identityMapper; + var ancestor = ts.findAncestor(node, function (n) { return !!n.contextualMapper; }); + return ancestor ? ancestor.contextualMapper : identityMapper; } function getContextualJsxElementAttributesType(node) { if (isJsxIntrinsicIdentifier(node.tagName)) { @@ -35127,12 +35359,12 @@ var ts; return mapType(valueType, function (t) { return getJsxSignaturesParameterTypes(t, isJs, node); }); } function getJsxSignaturesParameterTypes(valueType, isJs, context) { - if (valueType.flags & 2) { + if (valueType.flags & 4) { return anyType; } - else if (valueType.flags & 32) { + else if (valueType.flags & 64) { var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, context); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { var stringLiteralTypeName = valueType.value; var intrinsicProp = getPropertyOfType(intrinsicElementsType, ts.escapeLeadingUnderscores(stringLiteralTypeName)); if (intrinsicProp) { @@ -35151,7 +35383,7 @@ var ts; signatures = getSignaturesOfType(valueType, 0); ctor = false; if (signatures.length === 0) { - return unknownType; + return errorType; } } var links = getNodeLinks(context); @@ -35172,7 +35404,7 @@ var ts; function getJsxPropsTypeFromCallSignature(sig, context) { var propsType = getTypeOfFirstParameterOfSignatureWithFallback(sig, emptyObjectType); var intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context); - if (intrinsicAttribs !== unknownType) { + if (intrinsicAttribs !== errorType) { propsType = intersectTypes(intrinsicAttribs, propsType); } return propsType; @@ -35200,7 +35432,7 @@ var ts; else { var apparentAttributesType = attributesType; var intrinsicClassAttribs = getJsxType(JsxNames.IntrinsicClassAttributes, context); - if (intrinsicClassAttribs !== unknownType) { + if (intrinsicClassAttribs !== errorType) { var typeParams = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(intrinsicClassAttribs.symbol); var hostClassType = getReturnTypeOfSignature(sig); apparentAttributesType = intersectTypes(typeParams @@ -35208,7 +35440,7 @@ var ts; : intrinsicClassAttribs, apparentAttributesType); } var intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context); - if (intrinsicAttribs !== unknownType) { + if (intrinsicAttribs !== errorType) { apparentAttributesType = intersectTypes(intrinsicAttribs, apparentAttributesType); } return apparentAttributesType; @@ -35238,7 +35470,7 @@ var ts; return sourceLength < targetParameterCount; } function isFunctionExpressionOrArrowFunction(node) { - return node.kind === 191 || node.kind === 192; + return node.kind === 192 || node.kind === 193; } function getContextualSignatureForFunctionLikeDeclaration(node) { return isFunctionExpressionOrArrowFunction(node) || ts.isObjectLiteralMethod(node) @@ -35251,7 +35483,7 @@ var ts; getApparentTypeOfContextualType(node); } function getContextualSignature(node) { - ts.Debug.assert(node.kind !== 153 || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 || ts.isObjectLiteralMethod(node)); var type; if (ts.isInJavaScriptFile(node)) { var jsdoc = ts.getJSDocType(node); @@ -35265,7 +35497,7 @@ var ts; if (!type) { return undefined; } - if (!(type.flags & 131072)) { + if (!(type.flags & 262144)) { return getContextualCallSignature(type, node); } var signatureList; @@ -35300,8 +35532,8 @@ var ts; return checkIteratedTypeOrElementType(arrayOrIterableType, node.expression, false, false); } function hasDefaultValue(node) { - return (node.kind === 181 && !!node.initializer) || - (node.kind === 199 && node.operatorToken.kind === 58); + return (node.kind === 182 && !!node.initializer) || + (node.kind === 200 && node.operatorToken.kind === 58); } function checkArrayLiteral(node, checkMode) { var elements = node.elements; @@ -35311,7 +35543,7 @@ var ts; var contextualType = getApparentTypeOfContextualType(node); for (var index = 0; index < elements.length; index++) { var e = elements[index]; - if (inDestructuringPattern && e.kind === 203) { + if (inDestructuringPattern && e.kind === 204) { var restArrayType = checkExpression(e.expression, checkMode); var restElementType = getIndexTypeOfType(restArrayType, 1) || getIteratedTypeOrElementType(restArrayType, undefined, false, false, false); @@ -35324,7 +35556,7 @@ var ts; var type = checkExpressionForMutableLocation(e, checkMode, elementContextualType); elementTypes.push(type); } - hasSpreadElement = hasSpreadElement || e.kind === 203; + hasSpreadElement = hasSpreadElement || e.kind === 204; } if (!hasSpreadElement) { if (inDestructuringPattern && elementTypes.length) { @@ -35334,7 +35566,7 @@ var ts; } if (contextualType && contextualTypeIsTupleLikeType(contextualType)) { var pattern = contextualType.pattern; - if (pattern && (pattern.kind === 180 || pattern.kind === 182)) { + if (pattern && (pattern.kind === 181 || pattern.kind === 183)) { var patternElements = pattern.elements; for (var i = elementTypes.length; i < patternElements.length; i++) { var patternElement = patternElements[i]; @@ -35342,7 +35574,7 @@ var ts; elementTypes.push(contextualType.typeArguments[i]); } else { - if (patternElement.kind !== 205) { + if (patternElement.kind !== 206) { error(patternElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value); } elementTypes.push(strictNullChecks ? implicitNeverType : undefinedWideningType); @@ -35360,7 +35592,7 @@ var ts; } function isNumericName(name) { switch (name.kind) { - case 146: + case 147: return isNumericComputedName(name); case 71: return isNumericLiteralName(name.escapedText); @@ -35372,7 +35604,7 @@ var ts; } } function isNumericComputedName(name) { - return isTypeAssignableToKind(checkComputedPropertyName(name), 84); + return isTypeAssignableToKind(checkComputedPropertyName(name), 168); } function isInfinityOrNaNString(name) { return name === "Infinity" || name === "-Infinity" || name === "NaN"; @@ -35384,8 +35616,8 @@ var ts; var links = getNodeLinks(node.expression); if (!links.resolvedType) { links.resolvedType = checkExpression(node.expression); - if (links.resolvedType.flags & 12288 || - !isTypeAssignableToKind(links.resolvedType, 34 | 84 | 1536) && + if (links.resolvedType.flags & 24576 || + !isTypeAssignableToKind(links.resolvedType, 68 | 168 | 3072) && !isTypeAssignableTo(links.resolvedType, stringNumberSymbolType)) { error(node, ts.Diagnostics.A_computed_property_name_must_be_of_type_string_number_symbol_or_any); } @@ -35411,22 +35643,25 @@ var ts; var propertiesTable; var propertiesArray = []; var spread = emptyObjectType; - var propagatedFlags = 8388608; + var propagatedFlags = 33554432; var contextualType = getApparentTypeOfContextualType(node); var contextualTypeHasPattern = contextualType && contextualType.pattern && - (contextualType.pattern.kind === 179 || contextualType.pattern.kind === 183); + (contextualType.pattern.kind === 180 || contextualType.pattern.kind === 184); var isInJSFile = ts.isInJavaScriptFile(node) && !ts.isInJsonFile(node); var isJSObjectLiteral = !contextualType && isInJSFile; var typeFlags = 0; var patternWithComputedProperties = false; var hasComputedStringProperty = false; var hasComputedNumberProperty = false; - if (isInJSFile && node.properties.length === 0) { - var symbol = getSymbolOfNode(node); - if (symbol.exports) { - propertiesTable = symbol.exports; - symbol.exports.forEach(function (symbol) { return propertiesArray.push(getMergedSymbol(symbol)); }); - return createObjectLiteralType(); + if (isInJSFile) { + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + var symbol = getMergedSymbol(decl.symbol); + if (symbol && ts.hasEntries(symbol.exports)) { + propertiesTable = symbol.exports; + symbol.exports.forEach(function (symbol) { return propertiesArray.push(getMergedSymbol(symbol)); }); + return createObjectLiteralType(); + } } } propertiesTable = ts.createSymbolTable(); @@ -35434,13 +35669,13 @@ var ts; for (var i = 0; i < node.properties.length; i++) { var memberDecl = node.properties[i]; var member = getSymbolOfNode(memberDecl); - var computedNameType = memberDecl.name && memberDecl.name.kind === 146 && !ts.isWellKnownSymbolSyntactically(memberDecl.name.expression) ? + var computedNameType = memberDecl.name && memberDecl.name.kind === 147 && !ts.isWellKnownSymbolSyntactically(memberDecl.name.expression) ? checkComputedPropertyName(memberDecl.name) : undefined; - if (memberDecl.kind === 269 || - memberDecl.kind === 270 || + if (memberDecl.kind === 270 || + memberDecl.kind === 271 || ts.isObjectLiteralMethod(memberDecl)) { - var type = memberDecl.kind === 269 ? checkPropertyAssignment(memberDecl, checkMode) : - memberDecl.kind === 270 ? checkExpressionForMutableLocation(memberDecl.name, checkMode) : + var type = memberDecl.kind === 270 ? checkPropertyAssignment(memberDecl, checkMode) : + memberDecl.kind === 271 ? checkExpressionForMutableLocation(memberDecl.name, checkMode) : checkObjectLiteralMethod(memberDecl, checkMode); if (isInJSFile) { var jsDocType = getTypeForDeclarationFromJSDocComment(memberDecl); @@ -35450,7 +35685,7 @@ var ts; } } typeFlags |= type.flags; - var nameType = computedNameType && computedNameType.flags & 1120 ? + var nameType = computedNameType && computedNameType.flags & 2240 ? computedNameType : undefined; var prop = nameType ? createSymbol(4 | member.flags, getLateBoundNameFromType(nameType), 1024) : @@ -35459,8 +35694,8 @@ var ts; prop.nameType = nameType; } if (inDestructuringPattern) { - var isOptional = (memberDecl.kind === 269 && hasDefaultValue(memberDecl.initializer)) || - (memberDecl.kind === 270 && memberDecl.objectAssignmentInitializer); + var isOptional = (memberDecl.kind === 270 && hasDefaultValue(memberDecl.initializer)) || + (memberDecl.kind === 271 && memberDecl.objectAssignmentInitializer); if (isOptional) { prop.flags |= 16777216; } @@ -35483,7 +35718,7 @@ var ts; prop.target = member; member = prop; } - else if (memberDecl.kind === 271) { + else if (memberDecl.kind === 272) { if (languageVersion < 2) { checkExternalEmitHelpers(memberDecl, 2); } @@ -35498,17 +35733,17 @@ var ts; var type = checkExpression(memberDecl.expression); if (!isValidSpreadType(type)) { error(memberDecl, ts.Diagnostics.Spread_types_may_only_be_created_from_object_types); - return unknownType; + return errorType; } spread = getSpreadType(spread, type, node.symbol, propagatedFlags, 0); offset = i + 1; continue; } else { - ts.Debug.assert(memberDecl.kind === 155 || memberDecl.kind === 156); + ts.Debug.assert(memberDecl.kind === 156 || memberDecl.kind === 157); checkNodeDeferred(memberDecl); } - if (computedNameType && !(computedNameType.flags & 1120)) { + if (computedNameType && !(computedNameType.flags & 2240)) { if (isTypeAssignableTo(computedNameType, stringNumberSymbolType)) { if (isTypeAssignableTo(computedNameType, numberType)) { hasComputedNumberProperty = true; @@ -35549,8 +35784,8 @@ var ts; var stringIndexInfo = isJSObjectLiteral ? jsObjectLiteralIndexInfo : hasComputedStringProperty ? getObjectLiteralIndexInfo(node.properties, offset, propertiesArray, 0) : undefined; var numberIndexInfo = hasComputedNumberProperty && !isJSObjectLiteral ? getObjectLiteralIndexInfo(node.properties, offset, propertiesArray, 1) : undefined; var result = createAnonymousType(node.symbol, propertiesTable, ts.emptyArray, ts.emptyArray, stringIndexInfo, numberIndexInfo); - var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 8388608; - result.flags |= 33554432 | freshObjectLiteralFlag | (typeFlags & 117440512); + var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 33554432; + result.flags |= 268435456 | freshObjectLiteralFlag | (typeFlags & 939524096); result.objectFlags |= 128; if (patternWithComputedProperties) { result.objectFlags |= 512; @@ -35558,17 +35793,17 @@ var ts; if (inDestructuringPattern) { result.pattern = node; } - if (!(result.flags & 12288)) { - propagatedFlags |= (result.flags & 117440512); + if (!(result.flags & 24576)) { + propagatedFlags |= (result.flags & 939524096); } return result; } } function isValidSpreadType(type) { - return !!(type.flags & (1 | 134217728) || - getFalsyFlags(type) & 14560 && isValidSpreadType(removeDefinitelyFalsyTypes(type)) || - type.flags & 65536 && !isGenericMappedType(type) || - type.flags & 393216 && !ts.forEach(type.types, function (t) { return !isValidSpreadType(t); })); + return !!(type.flags & (3 | 16777216) || + getFalsyFlags(type) & 29120 && isValidSpreadType(removeDefinitelyFalsyTypes(type)) || + type.flags & 131072 && !isGenericMappedType(type) || + type.flags & 786432 && !ts.forEach(type.types, function (t) { return !isValidSpreadType(t); })); } function checkJsxSelfClosingElement(node, checkMode) { checkJsxOpeningLikeElementOrOpeningFragment(node, checkMode); @@ -35598,13 +35833,13 @@ var ts; } function isJsxIntrinsicIdentifier(tagName) { switch (tagName.kind) { - case 184: + case 185: case 99: return false; case 71: return ts.isIntrinsicJsxName(tagName.escapedText); default: - ts.Debug.fail(); + return ts.Debug.fail(); } } function checkJsxAttribute(node, checkMode) { @@ -35639,7 +35874,7 @@ var ts; } } else { - ts.Debug.assert(attributeDecl.kind === 263); + ts.Debug.assert(attributeDecl.kind === 264); if (attributesTable.size > 0) { spread = getSpreadType(spread, createJsxAttributesType(), attributes.symbol, 0, 4096); attributesTable = ts.createSymbolTable(); @@ -35661,7 +35896,7 @@ var ts; spread = getSpreadType(spread, createJsxAttributesType(), attributes.symbol, 0, 4096); } } - var parent = openingLikeElement.parent.kind === 254 ? openingLikeElement.parent : undefined; + var parent = openingLikeElement.parent.kind === 255 ? openingLikeElement.parent : undefined; if (parent && parent.openingElement === openingLikeElement && parent.children.length > 0) { var childrenTypes = checkJsxChildren(parent, checkMode); if (!hasSpreadAnyType && jsxChildrenPropertyName && jsxChildrenPropertyName !== "") { @@ -35686,7 +35921,7 @@ var ts; return typeToIntersect || (spread === emptyObjectType ? createJsxAttributesType() : spread); function createJsxAttributesType() { var result = createAnonymousType(attributes.symbol, attributesTable, ts.emptyArray, ts.emptyArray, undefined, undefined); - result.flags |= 33554432; + result.flags |= 268435456; result.objectFlags |= 128 | 4096; return result; } @@ -35713,13 +35948,13 @@ var ts; var namespace = getJsxNamespaceAt(location); var exports = namespace && getExportsOfSymbol(namespace); var typeSymbol = exports && getSymbol(exports, name, 67901928); - return typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : unknownType; + return typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : errorType; } function getIntrinsicTagSymbol(node) { var links = getNodeLinks(node); if (!links.resolvedSymbol) { var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, node); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { if (!ts.isIdentifier(node.tagName)) return ts.Debug.fail(); var intrinsicProp = getPropertyOfType(intrinsicElementsType, node.tagName.escapedText); @@ -35781,6 +36016,7 @@ var ts; return instantiatedSignatures; } function getJsxSignatureTypeArgumentInstantiation(signature, node, isJavascript, reportErrors) { + if (reportErrors === void 0) { reportErrors = false; } if (!node.typeArguments) { return; } @@ -35831,7 +36067,7 @@ var ts; if (!propsType) { return undefined; } - if (propsType.flags & 262144) { + if (propsType.flags & 524288) { var propsApparentType = []; for (var _i = 0, _a = propsType.types; _i < _a.length; _i++) { var t = _a[_i]; @@ -35842,7 +36078,7 @@ var ts; return getApparentType(propsType); } function defaultTryGetJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType) { - ts.Debug.assert(!(elementType.flags & 131072)); + ts.Debug.assert(!(elementType.flags & 262144)); if (!elementClassType || !isTypeAssignableTo(elemInstanceType, elementClassType)) { var jsxStatelessElementType = getJsxStatelessElementTypeAt(openingLikeElement); if (jsxStatelessElementType) { @@ -35853,7 +36089,7 @@ var ts; paramType = getApparentTypeOfJsxPropsType(paramType); if (callReturnType && isTypeAssignableTo(callReturnType, jsxStatelessElementType)) { var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, openingLikeElement); - if (intrinsicAttributes !== unknownType) { + if (intrinsicAttributes !== errorType) { paramType = intersectTypes(intrinsicAttributes, paramType); } return paramType; @@ -35864,7 +36100,7 @@ var ts; return undefined; } function tryGetAllJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType) { - ts.Debug.assert(!(elementType.flags & 131072)); + ts.Debug.assert(!(elementType.flags & 262144)); if (!elementClassType || !isTypeAssignableTo(elemInstanceType, elementClassType)) { var jsxStatelessElementType = getJsxStatelessElementTypeAt(openingLikeElement); if (jsxStatelessElementType) { @@ -35898,7 +36134,7 @@ var ts; result = allMatchingAttributesType; } var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, openingLikeElement); - if (intrinsicAttributes !== unknownType) { + if (intrinsicAttributes !== errorType) { result = intersectTypes(intrinsicAttributes, result); } return result; @@ -35934,7 +36170,7 @@ var ts; return results; } function resolveCustomJsxElementAttributesType(openingLikeElement, shouldIncludeAllStatelessAttributesType, elementType, elementClassType) { - if (elementType.flags & 131072) { + if (elementType.flags & 262144) { var types = elementType.types; return getUnionType(types.map(function (type) { return resolveCustomJsxElementAttributesType(openingLikeElement, shouldIncludeAllStatelessAttributesType, type, elementClassType); @@ -35943,12 +36179,12 @@ var ts; if (isTypeAny(elementType)) { return elementType; } - else if (elementType.flags & 2) { + else if (elementType.flags & 4) { return anyType; } - else if (elementType.flags & 32) { + else if (elementType.flags & 64) { var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, openingLikeElement); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { var stringLiteralTypeName = elementType.value; var intrinsicProp = getPropertyOfType(intrinsicElementsType, ts.escapeLeadingUnderscores(stringLiteralTypeName)); if (intrinsicProp) { @@ -35964,9 +36200,9 @@ var ts; } var instantiatedSignatures = getInstantiatedJsxSignatures(openingLikeElement, elementType, true); if (!ts.length(instantiatedSignatures)) { - return unknownType; + return errorType; } - var elemInstanceType = getUnionType(ts.map(instantiatedSignatures, getReturnTypeOfSignature), 2); + var elemInstanceType = getUnionType(instantiatedSignatures.map(getReturnTypeOfSignature), 2); var statelessAttributesType = shouldIncludeAllStatelessAttributesType ? tryGetAllJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType) : defaultTryGetJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType); @@ -35977,7 +36213,7 @@ var ts; checkTypeRelatedTo(elemInstanceType, elementClassType, assignableRelation, openingLikeElement, ts.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements); } var isJs = ts.isInJavaScriptFile(openingLikeElement); - return getUnionType(ts.map(instantiatedSignatures, function (sig) { return getJsxPropsTypeFromClassType(sig, isJs, openingLikeElement, true); })); + return getUnionType(instantiatedSignatures.map(function (sig) { return getJsxPropsTypeFromClassType(sig, isJs, openingLikeElement, true); })); } function getIntrinsicAttributesTypeFromJsxOpeningLikeElement(node) { ts.Debug.assert(isJsxIntrinsicIdentifier(node.tagName)); @@ -35991,7 +36227,7 @@ var ts; return links.resolvedJsxElementAttributesType = getIndexInfoOfSymbol(symbol, 0).type; } else { - return links.resolvedJsxElementAttributesType = unknownType; + return links.resolvedJsxElementAttributesType = errorType; } } return links.resolvedJsxElementAttributesType; @@ -36022,7 +36258,7 @@ var ts; } function getJsxElementClassTypeAt(location) { var type = getJsxType(JsxNames.ElementClass, location); - if (type === unknownType) + if (type === errorType) return undefined; return type; } @@ -36073,7 +36309,7 @@ var ts; } } function isKnownProperty(targetType, name, isComparingJsxAttributes) { - if (targetType.flags & 65536) { + if (targetType.flags & 131072) { var resolved = resolveStructuredTypeMembers(targetType); if (resolved.stringIndexInfo || resolved.numberIndexInfo && isNumericLiteralName(name) || @@ -36082,7 +36318,7 @@ var ts; return true; } } - else if (targetType.flags & 393216) { + else if (targetType.flags & 786432) { for (var _i = 0, _a = targetType.types; _i < _a.length; _i++) { var t = _a[_i]; if (isKnownProperty(t, name, isComparingJsxAttributes)) { @@ -36146,11 +36382,11 @@ var ts; return type; } else { - return unknownType; + return errorType; } } function getDeclarationKindFromSymbol(s) { - return s.valueDeclaration ? s.valueDeclaration.kind : 151; + return s.valueDeclaration ? s.valueDeclaration.kind : 152; } function getDeclarationNodeFlagsFromSymbol(s) { return s.valueDeclaration ? ts.getCombinedNodeFlags(s.valueDeclaration) : 0; @@ -36167,9 +36403,9 @@ var ts; } function checkPropertyAccessibility(node, left, type, prop) { var flags = ts.getDeclarationModifierFlagsFromSymbol(prop); - var errorNode = node.kind === 184 || node.kind === 231 ? + var errorNode = node.kind === 185 || node.kind === 232 ? node.name : - node.kind === 178 ? + node.kind === 179 ? node : node.right; if (ts.getCheckFlags(prop) & 256) { @@ -36220,7 +36456,7 @@ var ts; if (flags & 32) { return true; } - if (type.flags & 32768) { + if (type.flags & 65536) { type = type.isThisType ? getConstraintOfTypeParameter(type) : getBaseConstraintOfType(type); } if (!type || !hasBaseType(type, enclosingClass)) { @@ -36232,21 +36468,25 @@ var ts; function symbolHasNonMethodDeclaration(symbol) { return forEachProperty(symbol, function (prop) { var propKind = getDeclarationKindFromSymbol(prop); - return propKind !== 153 && propKind !== 152; + return propKind !== 154 && propKind !== 153; }); } function checkNonNullExpression(node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic) { return checkNonNullType(checkExpression(node), node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic); } function checkNonNullType(type, node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic) { - var kind = (strictNullChecks ? getFalsyFlags(type) : type.flags) & 12288; + if (type.flags & 2) { + error(node, ts.Diagnostics.Object_is_of_type_unknown); + return errorType; + } + var kind = (strictNullChecks ? getFalsyFlags(type) : type.flags) & 24576; if (kind) { - error(node, kind & 4096 ? kind & 8192 ? + error(node, kind & 8192 ? kind & 16384 ? (nullOrUndefinedDiagnostic || ts.Diagnostics.Object_is_possibly_null_or_undefined) : (undefinedDiagnostic || ts.Diagnostics.Object_is_possibly_undefined) : (nullDiagnostic || ts.Diagnostics.Object_is_possibly_null)); var t = getNonNullableType(type); - return t.flags & (12288 | 16384) ? unknownType : t; + return t.flags & (24576 | 32768) ? errorType : t; } return type; } @@ -36276,9 +36516,9 @@ var ts; var indexInfo = getIndexInfoOfType(apparentType, 0); if (!(indexInfo && indexInfo.type)) { if (right.escapedText && !checkAndReportErrorForExtendingInterface(node)) { - reportNonexistentProperty(right, leftType.flags & 32768 && leftType.isThisType ? apparentType : leftType); + reportNonexistentProperty(right, leftType.flags & 65536 && leftType.isThisType ? apparentType : leftType); } - return unknownType; + return errorType; } if (indexInfo.isReadonly && (ts.isAssignmentTarget(node) || ts.isDeleteTarget(node))) { error(node, ts.Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(apparentType)); @@ -36293,14 +36533,14 @@ var ts; if (assignmentKind) { if (isReferenceToReadonlyEntity(node, prop) || isReferenceThroughNamespaceImport(node)) { error(right, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, ts.idText(right)); - return unknownType; + return errorType; } } propType = getConstraintForLocation(getTypeOfSymbol(prop), node); } - if (node.kind !== 184 || + if (node.kind !== 185 || assignmentKind === 1 || - prop && !(prop.flags & (3 | 4 | 98304)) && !(prop.flags & 8192 && propType.flags & 131072)) { + prop && !(prop.flags & (3 | 4 | 98304)) && !(prop.flags & 8192 && propType.flags & 262144)) { return propType; } var assumeUninitialized = false; @@ -36308,13 +36548,13 @@ var ts; var declaration = prop && prop.valueDeclaration; if (declaration && isInstancePropertyWithoutInitializer(declaration)) { var flowContainer = getControlFlowContainer(node); - if (flowContainer.kind === 154 && flowContainer.parent === declaration.parent) { + if (flowContainer.kind === 155 && flowContainer.parent === declaration.parent) { assumeUninitialized = true; } } } var flowType = getFlowTypeOfReference(node, propType, assumeUninitialized ? getOptionalType(propType) : propType); - if (assumeUninitialized && !(getFalsyFlags(propType) & 4096) && getFalsyFlags(flowType) & 4096) { + if (assumeUninitialized && !(getFalsyFlags(propType) & 8192) && getFalsyFlags(flowType) & 8192) { error(right, ts.Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(prop)); return propType; } @@ -36330,8 +36570,8 @@ var ts; && !isPropertyDeclaredInAncestorClass(prop)) { error(right, ts.Diagnostics.Block_scoped_variable_0_used_before_its_declaration, ts.idText(right)); } - else if (valueDeclaration.kind === 234 && - node.parent.kind !== 161 && + else if (valueDeclaration.kind === 235 && + node.parent.kind !== 162 && !(valueDeclaration.flags & 4194304) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right)) { error(right, ts.Diagnostics.Class_0_used_before_its_declaration, ts.idText(right)); @@ -36340,9 +36580,9 @@ var ts; function isInPropertyInitializer(node) { return !!ts.findAncestor(node, function (node) { switch (node.kind) { - case 151: + case 152: return true; - case 269: + case 270: return false; default: return ts.isExpressionNode(node) ? false : "quit"; @@ -36374,7 +36614,7 @@ var ts; } function reportNonexistentProperty(propNode, containingType) { var errorInfo; - if (containingType.flags & 131072 && !(containingType.flags & 16382)) { + if (containingType.flags & 262144 && !(containingType.flags & 32764)) { for (var _i = 0, _a = containingType.types; _i < _a.length; _i++) { var subtype = _a[_i]; if (!getPropertyOfType(subtype, propNode.escapedText)) { @@ -36507,20 +36747,20 @@ var ts; } function isValidPropertyAccess(node, propertyName) { switch (node.kind) { - case 184: + case 185: return isValidPropertyAccessWithType(node, node.expression, propertyName, getWidenedType(checkExpression(node.expression))); - case 145: + case 146: return isValidPropertyAccessWithType(node, node.left, propertyName, getWidenedType(checkExpression(node.left))); - case 178: + case 179: return isValidPropertyAccessWithType(node, node, propertyName, getTypeFromTypeNode(node)); } } function isValidPropertyAccessForCompletions(node, type, property) { - return isValidPropertyAccessWithType(node, node.kind === 178 ? node : node.expression, property.escapedName, type) + return isValidPropertyAccessWithType(node, node.kind === 179 ? node : node.expression, property.escapedName, type) && (!(property.flags & 8192) || isValidMethodAccess(property, type)); } function isValidMethodAccess(method, actualThisType) { - var propType = getTypeOfFuncClassEnumModule(method); + var propType = getTypeOfPropertyOfType(actualThisType, method.escapedName); var signatures = getSignaturesOfType(getNonNullableType(propType), 0); ts.Debug.assert(signatures.length !== 0); return signatures.some(function (sig) { @@ -36537,16 +36777,16 @@ var ts; return instantiateType(signatureThisType, createSignatureTypeMapper(sig, getInferredTypes(context))); } function isValidPropertyAccessWithType(node, left, propertyName, type) { - if (type === unknownType || isTypeAny(type)) { + if (type === errorType || isTypeAny(type)) { return true; } var prop = getPropertyOfType(type, propertyName); return prop ? checkPropertyAccessibility(node, left, type, prop) - : ts.isInJavaScriptFile(node) && (type.flags & 131072) && type.types.some(function (elementType) { return isValidPropertyAccessWithType(node, left, propertyName, elementType); }); + : ts.isInJavaScriptFile(node) && (type.flags & 262144) !== 0 && type.types.some(function (elementType) { return isValidPropertyAccessWithType(node, left, propertyName, elementType); }); } function getForInVariableSymbol(node) { var initializer = node.initializer; - if (initializer.kind === 232) { + if (initializer.kind === 233) { var variable = initializer.declarations[0]; if (variable && !ts.isBindingPattern(variable.name)) { return getSymbolOfNode(variable); @@ -36568,7 +36808,7 @@ var ts; var child = expr; var node = expr.parent; while (node) { - if (node.kind === 220 && + if (node.kind === 221 && child === node.statement && getForInVariableSymbol(node) === symbol && hasNumericPropertyNames(getTypeOfExpression(node.expression))) { @@ -36586,7 +36826,7 @@ var ts; var indexExpression = node.argumentExpression; if (!indexExpression) { var sourceFile = ts.getSourceFileOfNode(node); - if (node.parent.kind === 187 && node.parent.expression === node) { + if (node.parent.kind === 188 && node.parent.expression === node) { var start = ts.skipTrivia(sourceFile.text, node.expression.end); var end = node.end; grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead); @@ -36596,26 +36836,26 @@ var ts; var end = node.end; grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.Expression_expected); } - return unknownType; + return errorType; } var indexType = isForInVariableForNumericPropertyNames(indexExpression) ? numberType : checkExpression(indexExpression); - if (objectType === unknownType || objectType === silentNeverType) { + if (objectType === errorType || objectType === silentNeverType) { return objectType; } if (isConstEnumObjectType(objectType) && indexExpression.kind !== 9) { error(indexExpression, ts.Diagnostics.A_const_enum_member_can_only_be_accessed_using_a_string_literal); - return unknownType; + return errorType; } return checkIndexedAccessIndexType(getIndexedAccessType(objectType, indexType, node), node); } function checkThatExpressionIsProperSymbolReference(expression, expressionType, reportError) { - if (expressionType === unknownType) { + if (expressionType === errorType) { return false; } if (!ts.isWellKnownSymbolSyntactically(expression)) { return false; } - if ((expressionType.flags & 1536) === 0) { + if ((expressionType.flags & 3072) === 0) { if (reportError) { error(expression, ts.Diagnostics.A_computed_property_name_of_the_form_0_must_be_of_type_symbol, ts.getTextOfNode(expression)); } @@ -36645,10 +36885,10 @@ var ts; if (callLikeExpressionMayHaveTypeArguments(node)) { ts.forEach(node.typeArguments, checkSourceElement); } - if (node.kind === 188) { + if (node.kind === 189) { checkExpression(node.template); } - else if (node.kind !== 149) { + else if (node.kind !== 150) { ts.forEach(node.arguments, function (argument) { checkExpression(argument); }); @@ -36673,7 +36913,7 @@ var ts; var parent = signature.declaration && signature.declaration.parent; if (!lastSymbol || symbol === lastSymbol) { if (lastParent && parent === lastParent) { - index++; + index = index + 1; } else { lastParent = parent; @@ -36699,7 +36939,7 @@ var ts; function getSpreadArgumentIndex(args) { for (var i = 0; i < args.length; i++) { var arg = args[i]; - if (arg && arg.kind === 203) { + if (arg && arg.kind === 204) { return i; } } @@ -36709,17 +36949,16 @@ var ts; if (signatureHelpTrailingComma === void 0) { signatureHelpTrailingComma = false; } var argCount; var typeArguments; - var callIsIncomplete; + var callIsIncomplete = false; var spreadArgIndex = -1; if (ts.isJsxOpeningLikeElement(node)) { return true; } - if (node.kind === 188) { + if (node.kind === 189) { argCount = args.length; - typeArguments = undefined; - if (node.template.kind === 201) { - var lastSpan = ts.lastOrUndefined(node.template.templateSpans); - ts.Debug.assert(lastSpan !== undefined); + typeArguments = node.typeArguments; + if (node.template.kind === 202) { + var lastSpan = ts.last(node.template.templateSpans); callIsIncomplete = ts.nodeIsMissing(lastSpan.literal) || !!lastSpan.literal.isUnterminated; } else { @@ -36728,13 +36967,13 @@ var ts; callIsIncomplete = !!templateLiteral.isUnterminated; } } - else if (node.kind === 149) { + else if (node.kind === 150) { typeArguments = undefined; argCount = getEffectiveArgumentCount(node, undefined, signature); } else { if (!node.arguments) { - ts.Debug.assert(node.kind === 187); + ts.Debug.assert(node.kind === 188); return signature.minArgumentCount === 0; } argCount = signatureHelpTrailingComma ? args.length + 1 : args.length; @@ -36762,7 +37001,7 @@ var ts; (typeArguments.length >= minTypeArgumentCount && typeArguments.length <= numTypeParameters); } function getSingleCallSignature(type) { - if (type.flags & 65536) { + if (type.flags & 131072) { var resolved = resolveStructuredTypeMembers(type); if (resolved.callSignatures.length === 1 && resolved.constructSignatures.length === 0 && resolved.properties.length === 0 && !resolved.stringIndexInfo && !resolved.numberIndexInfo) { @@ -36797,7 +37036,7 @@ var ts; inference.inferredType = undefined; } } - if (node.kind !== 149) { + if (node.kind !== 150) { var contextualType = getContextualType(node); if (contextualType) { var instantiatedType = instantiateType(contextualType, cloneTypeMapper(getContextualMapper(node))); @@ -36818,7 +37057,7 @@ var ts; var argCount = getEffectiveArgumentCount(node, args, signature); for (var i = 0; i < argCount; i++) { var arg = getEffectiveArgument(node, args, i); - if (arg === undefined || arg.kind !== 205) { + if (arg === undefined || arg.kind !== 206) { var paramType = getTypeAtPosition(signature, i); var argType = getEffectiveArgumentType(node, i); if (argType === undefined) { @@ -36849,7 +37088,7 @@ var ts; var constraint = getConstraintOfTypeParameter(typeParameters[i]); if (!constraint) continue; - var errorInfo = reportErrors && headMessage && (function () { return ts.chainDiagnosticMessages(undefined, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); }); + var errorInfo = reportErrors && headMessage ? (function () { return ts.chainDiagnosticMessages(undefined, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); }) : undefined; var typeArgumentHeadMessage = headMessage || ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1; if (!mapper) { mapper = createTypeMapper(typeParameters, typeArgumentTypes); @@ -36883,12 +37122,12 @@ var ts; return checkApplicableSignatureForJsxOpeningLikeElement(node, signature, relation); } var thisType = getThisTypeOfSignature(signature); - if (thisType && thisType !== voidType && node.kind !== 187) { + if (thisType && thisType !== voidType && node.kind !== 188) { var thisArgumentNode = getThisArgumentOfCall(node); var thisArgumentType = thisArgumentNode ? checkExpression(thisArgumentNode) : voidType; var errorNode = reportErrors ? (thisArgumentNode || node) : undefined; var headMessage_1 = ts.Diagnostics.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1; - if (!checkTypeRelatedTo(thisArgumentType, getThisTypeOfSignature(signature), relation, errorNode, headMessage_1)) { + if (!checkTypeRelatedTo(thisArgumentType, thisType, relation, errorNode, headMessage_1)) { return false; } } @@ -36896,7 +37135,7 @@ var ts; var argCount = getEffectiveArgumentCount(node, args, signature); for (var i = 0; i < argCount; i++) { var arg = getEffectiveArgument(node, args, i); - if (arg === undefined || arg.kind !== 205) { + if (arg === undefined || arg.kind !== 206) { var paramType = getTypeAtPosition(signature, i); var argType = getEffectiveArgumentType(node, i) || checkExpressionWithContextualType(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); @@ -36910,25 +37149,25 @@ var ts; return true; } function getThisArgumentOfCall(node) { - if (node.kind === 186) { + if (node.kind === 187) { var callee = ts.skipOuterExpressions(node.expression); - if (callee.kind === 184 || callee.kind === 185) { + if (callee.kind === 185 || callee.kind === 186) { return callee.expression; } } } function getEffectiveCallArguments(node) { - if (node.kind === 188) { + if (node.kind === 189) { var template = node.template; var args_4 = [undefined]; - if (template.kind === 201) { + if (template.kind === 202) { ts.forEach(template.templateSpans, function (span) { args_4.push(span.expression); }); } return args_4; } - else if (node.kind === 149) { + else if (node.kind === 150) { return undefined; } else if (ts.isJsxOpeningLikeElement(node)) { @@ -36939,22 +37178,24 @@ var ts; } } function getEffectiveArgumentCount(node, args, signature) { - if (node.kind === 149) { + if (node.kind === 150) { switch (node.parent.kind) { - case 234: - case 204: + case 235: + case 205: return 1; - case 151: + case 152: return 2; - case 153: - case 155: + case 154: case 156: + case 157: if (languageVersion === 0) { return 2; } return signature.parameters.length >= 3 ? 3 : 2; - case 148: + case 149: return 3; + default: + return ts.Debug.fail(); } } else { @@ -36962,51 +37203,52 @@ var ts; } } function getEffectiveDecoratorFirstArgumentType(node) { - if (node.kind === 234) { + if (node.kind === 235) { var classSymbol = getSymbolOfNode(node); return getTypeOfSymbol(classSymbol); } - if (node.kind === 148) { + if (node.kind === 149) { node = node.parent; - if (node.kind === 154) { + if (node.kind === 155) { var classSymbol = getSymbolOfNode(node); return getTypeOfSymbol(classSymbol); } } - if (node.kind === 151 || - node.kind === 153 || - node.kind === 155 || - node.kind === 156) { + if (node.kind === 152 || + node.kind === 154 || + node.kind === 156 || + node.kind === 157) { return getParentTypeOfClassElement(node); } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } function getEffectiveDecoratorSecondArgumentType(node) { - if (node.kind === 234) { + if (node.kind === 235) { ts.Debug.fail("Class decorators should not have a second synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 148) { + if (node.kind === 149) { node = node.parent; - if (node.kind === 154) { + if (node.kind === 155) { return anyType; } } - if (node.kind === 151 || - node.kind === 153 || - node.kind === 155 || - node.kind === 156) { + if (node.kind === 152 || + node.kind === 154 || + node.kind === 156 || + node.kind === 157) { var element = node; - switch (element.name.kind) { + var name = element.name; + switch (name.kind) { case 71: - return getLiteralType(ts.idText(element.name)); + return getLiteralType(ts.idText(name)); case 8: case 9: - return getLiteralType(element.name.text); - case 146: - var nameType = checkComputedPropertyName(element.name); - if (isTypeAssignableToKind(nameType, 1536)) { + return getLiteralType(name.text); + case 147: + var nameType = checkComputedPropertyName(name); + if (isTypeAssignableToKind(nameType, 3072)) { return nameType; } else { @@ -37014,32 +37256,32 @@ var ts; } default: ts.Debug.fail("Unsupported property name."); - return unknownType; + return errorType; } } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } function getEffectiveDecoratorThirdArgumentType(node) { - if (node.kind === 234) { + if (node.kind === 235) { ts.Debug.fail("Class decorators should not have a third synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 148) { + if (node.kind === 149) { return numberType; } - if (node.kind === 151) { + if (node.kind === 152) { ts.Debug.fail("Property decorators should not have a third synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 153 || - node.kind === 155 || - node.kind === 156) { + if (node.kind === 154 || + node.kind === 156 || + node.kind === 157) { var propertyType = getTypeOfNode(node); return createTypedPropertyDescriptorType(propertyType); } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } function getEffectiveDecoratorArgumentType(node, argIndex) { if (argIndex === 0) { @@ -37052,29 +37294,29 @@ var ts; return getEffectiveDecoratorThirdArgumentType(node.parent); } ts.Debug.fail("Decorators should not have a fourth synthetic argument."); - return unknownType; + return errorType; } function getEffectiveArgumentType(node, argIndex) { - if (node.kind === 149) { + if (node.kind === 150) { return getEffectiveDecoratorArgumentType(node, argIndex); } - else if (argIndex === 0 && node.kind === 188) { + else if (argIndex === 0 && node.kind === 189) { return getGlobalTemplateStringsArrayType(); } return undefined; } function getEffectiveArgument(node, args, argIndex) { - if (node.kind === 149 || - (argIndex === 0 && node.kind === 188)) { + if (node.kind === 150 || + (argIndex === 0 && node.kind === 189)) { return undefined; } return args[argIndex]; } function getEffectiveArgumentErrorNode(node, argIndex, arg) { - if (node.kind === 149) { + if (node.kind === 150) { return node.expression; } - else if (argIndex === 0 && node.kind === 188) { + else if (argIndex === 0 && node.kind === 189) { return node.template; } else { @@ -37093,8 +37335,8 @@ var ts; return ts.createDiagnosticForNodeArray(ts.getSourceFileOfNode(node), typeArguments, ts.Diagnostics.Expected_0_type_arguments_but_got_1, paramCount, typeArguments.length); } function resolveCall(node, signatures, candidatesOutArray, fallbackError) { - var isTaggedTemplate = node.kind === 188; - var isDecorator = node.kind === 149; + var isTaggedTemplate = node.kind === 189; + var isDecorator = node.kind === 150; var isJsxOpeningOrSelfClosingElement = ts.isJsxOpeningLikeElement(node); var typeArguments; if (!isDecorator) { @@ -37127,7 +37369,7 @@ var ts; var candidateForArgumentError; var candidateForTypeArgumentError; var result; - var signatureHelpTrailingComma = candidatesOutArray && node.kind === 186 && node.arguments.hasTrailingComma; + var signatureHelpTrailingComma = candidatesOutArray && node.kind === 187 && node.arguments.hasTrailingComma; if (candidates.length > 1) { result = chooseOverload(candidates, subtypeRelation, signatureHelpTrailingComma); } @@ -37278,9 +37520,10 @@ var ts; if (node.expression.kind === 97) { var superType = checkSuperExpression(node.expression); if (isTypeAny(superType)) { + ts.forEach(node.arguments, checkExpression); return anySignature; } - if (superType !== unknownType) { + if (superType !== errorType) { var baseTypeNode = ts.getClassExtendsHeritageClauseElement(ts.getContainingClass(node)); if (baseTypeNode) { var baseConstructors = getInstantiatedConstructorsForTypeArguments(superType, baseTypeNode.typeArguments, baseTypeNode); @@ -37294,13 +37537,13 @@ var ts; return silentNeverSignature; } var apparentType = getApparentType(funcType); - if (apparentType === unknownType) { + if (apparentType === errorType) { return resolveErrorCall(node); } var callSignatures = getSignaturesOfType(apparentType, 0); var constructSignatures = getSignaturesOfType(apparentType, 1); if (isUntypedFunctionCall(funcType, apparentType, callSignatures.length, constructSignatures.length)) { - if (funcType !== unknownType && node.typeArguments) { + if (funcType !== errorType && node.typeArguments) { error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); } return resolveUntypedCall(node); @@ -37317,8 +37560,8 @@ var ts; return resolveCall(node, callSignatures, candidatesOutArray); } function isUntypedFunctionCall(funcType, apparentFuncType, numCallSignatures, numConstructSignatures) { - return isTypeAny(funcType) || isTypeAny(apparentFuncType) && funcType.flags & 32768 || - !numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & (131072 | 16384)) && isTypeAssignableTo(funcType, globalFunctionType); + return isTypeAny(funcType) || isTypeAny(apparentFuncType) && funcType.flags & 65536 || + !numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & (262144 | 32768)) && isTypeAssignableTo(funcType, globalFunctionType); } function resolveNewExpression(node, candidatesOutArray) { if (node.arguments && languageVersion < 1) { @@ -37332,7 +37575,7 @@ var ts; return silentNeverSignature; } expressionType = getApparentType(expressionType); - if (expressionType === unknownType) { + if (expressionType === errorType) { return resolveErrorCall(node); } if (isTypeAny(expressionType)) { @@ -37423,7 +37666,7 @@ var ts; function resolveTaggedTemplateExpression(node, candidatesOutArray) { var tagType = checkExpression(node.tag); var apparentType = getApparentType(tagType); - if (apparentType === unknownType) { + if (apparentType === errorType) { return resolveErrorCall(node); } var callSignatures = getSignaturesOfType(apparentType, 0); @@ -37439,23 +37682,25 @@ var ts; } function getDiagnosticHeadMessageForDecoratorResolution(node) { switch (node.parent.kind) { - case 234: - case 204: + case 235: + case 205: return ts.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression; - case 148: + case 149: return ts.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression; - case 151: + case 152: return ts.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression; - case 153: - case 155: + case 154: case 156: + case 157: return ts.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression; + default: + return ts.Debug.fail(); } } function resolveDecorator(node, candidatesOutArray) { var funcType = checkExpression(node.expression); var apparentType = getApparentType(funcType); - if (apparentType === unknownType) { + if (apparentType === errorType) { return resolveErrorCall(node); } var callSignatures = getSignaturesOfType(apparentType, 0); @@ -37470,8 +37715,7 @@ var ts; } var headMessage = getDiagnosticHeadMessageForDecoratorResolution(node); if (!callSignatures.length) { - var errorInfo = void 0; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures, typeToString(apparentType)); + var errorInfo = ts.chainDiagnosticMessages(undefined, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures, typeToString(apparentType)); errorInfo = ts.chainDiagnosticMessages(errorInfo, headMessage); diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(node, errorInfo)); invocationErrorRecovery(apparentType, 0); @@ -37487,7 +37731,7 @@ var ts; }); } function getResolvedJsxStatelessFunctionSignature(openingLikeElement, elementType, candidatesOutArray) { - ts.Debug.assert(!(elementType.flags & 131072)); + ts.Debug.assert(!(elementType.flags & 262144)); var callSignatures = elementType && getSignaturesOfType(elementType, 0); if (callSignatures && callSignatures.length > 0) { return resolveCall(openingLikeElement, callSignatures, candidatesOutArray); @@ -37496,16 +37740,16 @@ var ts; } function resolveSignature(node, candidatesOutArray) { switch (node.kind) { - case 186: - return resolveCallExpression(node, candidatesOutArray); case 187: - return resolveNewExpression(node, candidatesOutArray); + return resolveCallExpression(node, candidatesOutArray); case 188: + return resolveNewExpression(node, candidatesOutArray); + case 189: return resolveTaggedTemplateExpression(node, candidatesOutArray); - case 149: + case 150: return resolveDecorator(node, candidatesOutArray); + case 257: case 256: - case 255: var exprTypes = checkExpression(node.tagName); return forEachType(exprTypes, function (exprType) { var sfcResult = getResolvedJsxStatelessFunctionSignature(node, exprType, candidatesOutArray); @@ -37519,7 +37763,7 @@ var ts; return ts.length(sigs) ? sigs[0] : unknownSignature; }) || unknownSignature; } - ts.Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); + throw ts.Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); } function getResolvedSignature(node, candidatesOutArray) { var links = getNodeLinks(node); @@ -37539,15 +37783,11 @@ var ts; var symbol = ts.isFunctionDeclaration(node) || ts.isFunctionExpression(node) ? getSymbolOfNode(node) : ts.isVariableDeclaration(node) && node.initializer && ts.isFunctionExpression(node.initializer) ? getSymbolOfNode(node.initializer) : undefined; - return symbol && symbol.members !== undefined; + return !!symbol && symbol.members !== undefined; } return false; } function getJavaScriptClassType(symbol) { - var initializer = ts.getDeclaredJavascriptInitializer(symbol.valueDeclaration); - if (initializer) { - symbol = getSymbolOfNode(initializer); - } var inferred; if (isJavaScriptConstructor(symbol.valueDeclaration)) { inferred = getInferredClassType(symbol); @@ -37578,7 +37818,7 @@ var ts; return false; } var parent = node.parent; - while (parent && parent.kind === 184) { + while (parent && parent.kind === 185) { parent = parent.parent; } if (parent && ts.isBinaryExpression(parent) && ts.isPrototypeAccess(parent.left) && parent.operatorToken.kind === 58) { @@ -37605,12 +37845,12 @@ var ts; if (node.expression.kind === 97) { return voidType; } - if (node.kind === 187) { + if (node.kind === 188) { var declaration = signature.declaration; if (declaration && - declaration.kind !== 154 && - declaration.kind !== 158 && - declaration.kind !== 163 && + declaration.kind !== 155 && + declaration.kind !== 159 && + declaration.kind !== 164 && !ts.isJSDocConstructSignature(declaration)) { var funcSymbol = checkExpression(node.expression).symbol; if (!funcSymbol && node.expression.kind === 71) { @@ -37630,10 +37870,20 @@ var ts; return resolveExternalModuleTypeByLiteral(node.arguments[0]); } var returnType = getReturnTypeOfSignature(signature); - if (returnType.flags & 1536 && isSymbolOrSymbolForCall(node)) { + if (returnType.flags & 3072 && isSymbolOrSymbolForCall(node)) { return getESSymbolLikeTypeForNode(ts.walkUpParenthesizedExpressions(node.parent)); } - return returnType; + var jsAssignmentType; + if (ts.isInJavaScriptFile(node)) { + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + var jsSymbol = getSymbolOfNode(decl); + if (jsSymbol && ts.hasEntries(jsSymbol.exports)) { + jsAssignmentType = createAnonymousType(jsSymbol, jsSymbol.exports, ts.emptyArray, ts.emptyArray, jsObjectLiteralIndexInfo, undefined); + } + } + } + return jsAssignmentType ? getIntersectionType([returnType, jsAssignmentType]) : returnType; } function isSymbolOrSymbolForCall(node) { if (!ts.isCallExpression(node)) @@ -37662,7 +37912,7 @@ var ts; for (var i = 1; i < node.arguments.length; ++i) { checkExpressionCached(node.arguments[i]); } - if (specifierType.flags & 4096 || specifierType.flags & 8192 || !isTypeAssignableTo(specifierType, stringType)) { + if (specifierType.flags & 8192 || specifierType.flags & 16384 || !isTypeAssignableTo(specifierType, stringType)) { error(specifier, ts.Diagnostics.Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0, typeToString(specifierType)); } var moduleSymbol = resolveExternalModuleName(node, specifier); @@ -37675,7 +37925,7 @@ var ts; return createPromiseReturnType(node, anyType); } function getTypeWithSyntheticDefaultImportType(type, symbol, originalSymbol) { - if (allowSyntheticDefaultImports && type && type !== unknownType) { + if (allowSyntheticDefaultImports && type && type !== errorType) { var synthType = type; if (!synthType.syntheticType) { var file = ts.find(originalSymbol.declarations, ts.isSourceFile); @@ -37712,9 +37962,9 @@ var ts; return false; } var targetDeclarationKind = resolvedRequire.flags & 16 - ? 233 + ? 234 : resolvedRequire.flags & 3 - ? 231 + ? 232 : 0; if (targetDeclarationKind !== 0) { var decl = ts.getDeclarationOfKind(resolvedRequire, targetDeclarationKind); @@ -37736,7 +37986,7 @@ var ts; var exprType = getRegularTypeOfObjectLiteral(getBaseTypeOfLiteralType(checkExpression(expression, checkMode))); checkSourceElement(type); var targetType = getTypeFromTypeNode(type); - if (produceDiagnostics && targetType !== unknownType) { + if (produceDiagnostics && targetType !== errorType) { var widenedType = getWidenedType(exprType); if (!isTypeComparableTo(targetType, widenedType)) { checkTypeComparableTo(exprType, targetType, errNode, ts.Diagnostics.Type_0_cannot_be_converted_to_type_1); @@ -37755,14 +38005,15 @@ var ts; if (node.keywordToken === 91) { return checkImportMetaProperty(node); } + return ts.Debug.assertNever(node.keywordToken); } function checkNewTargetMetaProperty(node) { var container = ts.getNewTargetContainer(node); if (!container) { error(node, ts.Diagnostics.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor, "new.target"); - return unknownType; + return errorType; } - else if (container.kind === 154) { + else if (container.kind === 155) { var symbol = getSymbolOfNode(container.parent); return getTypeOfSymbol(symbol); } @@ -37778,7 +38029,7 @@ var ts; var file = ts.getSourceFileOfNode(node); ts.Debug.assert(!!(file.flags & 1048576), "Containing file is missing import meta node flag."); ts.Debug.assert(!!file.externalModuleIndicator, "Containing file should be a module."); - return node.name.escapedText === "meta" ? getGlobalImportMetaType() : unknownType; + return node.name.escapedText === "meta" ? getGlobalImportMetaType() : errorType; } function getTypeOfParameter(symbol) { var type = getTypeOfSymbol(symbol); @@ -37833,9 +38084,9 @@ var ts; } } if (signature.hasRestParameter && isRestParameterIndex(context, signature.parameters.length - 1)) { - var parameter = ts.lastOrUndefined(signature.parameters); + var parameter = ts.last(signature.parameters); if (isTransientSymbol(parameter) || !ts.getEffectiveTypeAnnotationNode(parameter.valueDeclaration)) { - var contextualParameterType = getTypeOfSymbol(ts.lastOrUndefined(context.parameters)); + var contextualParameterType = getTypeOfSymbol(ts.last(context.parameters)); assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType); } } @@ -37880,7 +38131,7 @@ var ts; error(func, ts.isImportCall(func) ? ts.Diagnostics.A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option : ts.Diagnostics.An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option); - return unknownType; + return errorType; } else if (!getGlobalPromiseConstructorSymbol(true)) { error(func, ts.isImportCall(func) ? @@ -37891,11 +38142,11 @@ var ts; } function getReturnTypeFromBody(func, checkMode) { if (!func.body) { - return unknownType; + return errorType; } var functionFlags = ts.getFunctionFlags(func); var type; - if (func.body.kind !== 212) { + if (func.body.kind !== 213) { type = checkExpressionCached(func.body, checkMode); if (functionFlags & 2) { type = checkAwaitedType(type, func, ts.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); @@ -37998,7 +38249,7 @@ var ts; if (!(func.flags & 128)) { return false; } - if (ts.some(func.body.statements, function (statement) { return statement.kind === 226 && isExhaustiveSwitchStatement(statement); })) { + if (ts.some(func.body.statements, function (statement) { return statement.kind === 227 && isExhaustiveSwitchStatement(statement); })) { return false; } return true; @@ -38015,7 +38266,7 @@ var ts; if (functionFlags & 2) { type = checkAwaitedType(type, func, ts.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); } - if (type.flags & 16384) { + if (type.flags & 32768) { hasReturnOfTypeNever = true; } ts.pushIfUnique(aggregatedTypes, type); @@ -38035,11 +38286,11 @@ var ts; } function mayReturnNever(func) { switch (func.kind) { - case 191: case 192: + case 193: return true; - case 153: - return func.parent.kind === 183; + case 154: + return func.parent.kind === 184; default: return false; } @@ -38048,14 +38299,14 @@ var ts; if (!produceDiagnostics) { return; } - if (returnType && maybeTypeOfKind(returnType, 1 | 2048)) { + if (returnType && maybeTypeOfKind(returnType, 3 | 4096)) { return; } - if (func.kind === 152 || ts.nodeIsMissing(func.body) || func.body.kind !== 212 || !functionHasImplicitReturn(func)) { + if (func.kind === 153 || ts.nodeIsMissing(func.body) || func.body.kind !== 213 || !functionHasImplicitReturn(func)) { return; } var hasExplicitReturn = func.flags & 256; - if (returnType && returnType.flags & 16384) { + if (returnType && returnType.flags & 32768) { error(ts.getEffectiveReturnTypeNode(func), ts.Diagnostics.A_function_returning_never_cannot_have_a_reachable_end_point); } else if (returnType && !hasExplicitReturn) { @@ -38078,12 +38329,12 @@ var ts; } } function checkFunctionExpressionOrObjectLiteralMethod(node, checkMode) { - ts.Debug.assert(node.kind !== 153 || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 || ts.isObjectLiteralMethod(node)); if (checkMode === 1 && isContextSensitive(node)) { return anyFunctionType; } var hasGrammarError = checkGrammarFunctionLikeDeclaration(node); - if (!hasGrammarError && node.kind === 191) { + if (!hasGrammarError && node.kind === 192) { checkGrammarForGenerator(node); } var links = getNodeLinks(node); @@ -38120,7 +38371,7 @@ var ts; return type; } function checkFunctionExpressionOrObjectLiteralMethodDeferred(node) { - ts.Debug.assert(node.kind !== 153 || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 || ts.isObjectLiteralMethod(node)); var functionFlags = ts.getFunctionFlags(node); var returnTypeNode = ts.getEffectiveReturnTypeNode(node); var returnOrPromisedType = returnTypeNode && @@ -38134,7 +38385,7 @@ var ts; if (!returnTypeNode) { getReturnTypeOfSignature(getSignatureFromDeclaration(node)); } - if (node.body.kind === 212) { + if (node.body.kind === 213) { checkSourceElement(node.body); } else { @@ -38152,7 +38403,7 @@ var ts; } } function checkArithmeticOperandType(operand, type, diagnostic) { - if (!isTypeAssignableToKind(type, 84)) { + if (!isTypeAssignableToKind(type, 168)) { error(operand, diagnostic); return false; } @@ -38168,10 +38419,10 @@ var ts; function isReferenceToReadonlyEntity(expr, symbol) { if (isReadonlySymbol(symbol)) { if (symbol.flags & 4 && - (expr.kind === 184 || expr.kind === 185) && + (expr.kind === 185 || expr.kind === 186) && expr.expression.kind === 99) { var func = ts.getContainingFunction(expr); - if (!(func && func.kind === 154)) { + if (!(func && func.kind === 155)) { return true; } return !(func.parent === symbol.valueDeclaration.parent || func === symbol.valueDeclaration.parent); @@ -38181,13 +38432,13 @@ var ts; return false; } function isReferenceThroughNamespaceImport(expr) { - if (expr.kind === 184 || expr.kind === 185) { + if (expr.kind === 185 || expr.kind === 186) { var node = ts.skipParentheses(expr.expression); if (node.kind === 71) { var symbol = getNodeLinks(node).resolvedSymbol; if (symbol.flags & 2097152) { var declaration = getDeclarationOfAliasSymbol(symbol); - return declaration && declaration.kind === 245; + return !!declaration && declaration.kind === 246; } } } @@ -38195,7 +38446,7 @@ var ts; } function checkReferenceExpression(expr, invalidReferenceMessage) { var node = ts.skipOuterExpressions(expr, 2 | 1); - if (node.kind !== 71 && node.kind !== 184 && node.kind !== 185) { + if (node.kind !== 71 && node.kind !== 185 && node.kind !== 186) { error(expr, invalidReferenceMessage); return false; } @@ -38204,7 +38455,7 @@ var ts; function checkDeleteExpression(node) { checkExpression(node.expression); var expr = ts.skipParentheses(node.expression); - if (expr.kind !== 184 && expr.kind !== 185) { + if (expr.kind !== 185 && expr.kind !== 186) { error(expr, ts.Diagnostics.The_operand_of_a_delete_operator_must_be_a_property_reference); return booleanType; } @@ -38253,7 +38504,7 @@ var ts; case 38: case 52: checkNonNullType(operandType, node.operand); - if (maybeTypeOfKind(operandType, 1536)) { + if (maybeTypeOfKind(operandType, 3072)) { error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator)); } return numberType; @@ -38270,7 +38521,7 @@ var ts; } return numberType; } - return unknownType; + return errorType; } function checkPostfixUnaryExpression(node) { var operandType = checkExpression(node.operand); @@ -38284,10 +38535,10 @@ var ts; return numberType; } function maybeTypeOfKind(type, kind) { - if (type.flags & kind || kind & 536870912 && isGenericMappedType(type)) { + if (type.flags & kind & ~134217728 || kind & 134217728 && isGenericMappedType(type)) { return true; } - if (type.flags & 393216) { + if (type.flags & 786432) { var types = type.types; for (var _i = 0, types_16 = types; _i < types_16.length; _i++) { var t = types_16[_i]; @@ -38302,26 +38553,26 @@ var ts; if (source.flags & kind) { return true; } - if (strict && source.flags & (1 | 2048 | 4096 | 8192)) { + if (strict && source.flags & (3 | 4096 | 8192 | 16384)) { return false; } - return (kind & 84 && isTypeAssignableTo(source, numberType)) || - (kind & 34 && isTypeAssignableTo(source, stringType)) || - (kind & 136 && isTypeAssignableTo(source, booleanType)) || - (kind & 2048 && isTypeAssignableTo(source, voidType)) || - (kind & 16384 && isTypeAssignableTo(source, neverType)) || - (kind & 8192 && isTypeAssignableTo(source, nullType)) || - (kind & 4096 && isTypeAssignableTo(source, undefinedType)) || - (kind & 512 && isTypeAssignableTo(source, esSymbolType)) || - (kind & 134217728 && isTypeAssignableTo(source, nonPrimitiveType)); + return !!(kind & 168) && isTypeAssignableTo(source, numberType) || + !!(kind & 68) && isTypeAssignableTo(source, stringType) || + !!(kind & 272) && isTypeAssignableTo(source, booleanType) || + !!(kind & 4096) && isTypeAssignableTo(source, voidType) || + !!(kind & 32768) && isTypeAssignableTo(source, neverType) || + !!(kind & 16384) && isTypeAssignableTo(source, nullType) || + !!(kind & 8192) && isTypeAssignableTo(source, undefinedType) || + !!(kind & 1024) && isTypeAssignableTo(source, esSymbolType) || + !!(kind & 16777216) && isTypeAssignableTo(source, nonPrimitiveType); } function allTypesAssignableToKind(source, kind, strict) { - return source.flags & 131072 ? + return source.flags & 262144 ? ts.every(source.types, function (subType) { return allTypesAssignableToKind(subType, kind, strict); }) : isTypeAssignableToKind(source, kind, strict); } function isConstEnumObjectType(type) { - return ts.getObjectFlags(type) & 16 && type.symbol && isConstEnumSymbol(type.symbol); + return !!(ts.getObjectFlags(type) & 16) && !!type.symbol && isConstEnumSymbol(type.symbol); } function isConstEnumSymbol(symbol) { return (symbol.flags & 128) !== 0; @@ -38331,7 +38582,7 @@ var ts; return silentNeverType; } if (!isTypeAny(leftType) && - allTypesAssignableToKind(leftType, 16382)) { + allTypesAssignableToKind(leftType, 32764)) { error(left, ts.Diagnostics.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } if (!(isTypeAny(rightType) || typeHasCallOrConstructSignatures(rightType) || isTypeSubtypeOf(rightType, globalFunctionType))) { @@ -38345,10 +38596,10 @@ var ts; } leftType = checkNonNullType(leftType, left); rightType = checkNonNullType(rightType, right); - if (!(isTypeComparableTo(leftType, stringType) || isTypeAssignableToKind(leftType, 84 | 1536))) { + if (!(isTypeComparableTo(leftType, stringType) || isTypeAssignableToKind(leftType, 168 | 3072))) { error(left, ts.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol); } - if (!isTypeAssignableToKind(rightType, 134217728 | 7372800)) { + if (!isTypeAssignableToKind(rightType, 16777216 | 14745600)) { error(right, ts.Diagnostics.The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } return booleanType; @@ -38366,9 +38617,9 @@ var ts; return sourceType; } function checkObjectLiteralDestructuringPropertyAssignment(objectLiteralType, property, allProperties) { - if (property.kind === 269 || property.kind === 270) { + if (property.kind === 270 || property.kind === 271) { var name = property.name; - if (name.kind === 146) { + if (name.kind === 147) { checkComputedPropertyName(name); } if (isComputedNonLiteralName(name)) { @@ -38381,7 +38632,7 @@ var ts; isNumericLiteralName(text) && getIndexTypeOfType(objectLiteralType, 1) || getIndexTypeOfType(objectLiteralType, 0); if (type) { - if (property.kind === 270) { + if (property.kind === 271) { return checkDestructuringAssignment(property, type); } else { @@ -38392,7 +38643,7 @@ var ts; error(name, ts.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature, typeToString(objectLiteralType), ts.declarationNameToString(name)); } } - else if (property.kind === 271) { + else if (property.kind === 272) { if (languageVersion < 6) { checkExternalEmitHelpers(property, 4); } @@ -38415,7 +38666,7 @@ var ts; if (languageVersion < 2 && compilerOptions.downlevelIteration) { checkExternalEmitHelpers(node, 512); } - var elementType = checkIteratedTypeOrElementType(sourceType, node, false, false) || unknownType; + var elementType = checkIteratedTypeOrElementType(sourceType, node, false, false) || errorType; for (var i = 0; i < elements.length; i++) { checkArrayLiteralDestructuringElementAssignment(node, sourceType, i, elementType, checkMode); } @@ -38424,8 +38675,8 @@ var ts; function checkArrayLiteralDestructuringElementAssignment(node, sourceType, elementIndex, elementType, checkMode) { var elements = node.elements; var element = elements[elementIndex]; - if (element.kind !== 205) { - if (element.kind !== 203) { + if (element.kind !== 206) { + if (element.kind !== 204) { var propName = "" + elementIndex; var type = isTypeAny(sourceType) ? sourceType @@ -38451,7 +38702,7 @@ var ts; } else { var restExpression = element.expression; - if (restExpression.kind === 199 && restExpression.operatorToken.kind === 58) { + if (restExpression.kind === 200 && restExpression.operatorToken.kind === 58) { error(restExpression.operatorToken, ts.Diagnostics.A_rest_element_cannot_have_an_initializer); } else { @@ -38464,11 +38715,11 @@ var ts; } function checkDestructuringAssignment(exprOrAssignment, sourceType, checkMode) { var target; - if (exprOrAssignment.kind === 270) { + if (exprOrAssignment.kind === 271) { var prop = exprOrAssignment; if (prop.objectAssignmentInitializer) { if (strictNullChecks && - !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 4096)) { + !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 8192)) { sourceType = getTypeWithFacts(sourceType, 131072); } checkBinaryLikeExpression(prop.name, prop.equalsToken, prop.objectAssignmentInitializer, checkMode); @@ -38478,21 +38729,21 @@ var ts; else { target = exprOrAssignment; } - if (target.kind === 199 && target.operatorToken.kind === 58) { + if (target.kind === 200 && target.operatorToken.kind === 58) { checkBinaryExpression(target, checkMode); target = target.left; } - if (target.kind === 183) { + if (target.kind === 184) { return checkObjectLiteralAssignment(target, sourceType); } - if (target.kind === 182) { + if (target.kind === 183) { return checkArrayLiteralAssignment(target, sourceType, checkMode); } return checkReferenceAssignment(target, sourceType, checkMode); } function checkReferenceAssignment(target, sourceType, checkMode) { var targetType = checkExpression(target, checkMode); - var error = target.parent.kind === 271 ? + var error = target.parent.kind === 272 ? ts.Diagnostics.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access : ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access; if (checkReferenceExpression(target, error)) { @@ -38506,35 +38757,35 @@ var ts; case 71: case 9: case 12: - case 188: - case 201: + case 189: + case 202: case 13: case 8: case 101: case 86: case 95: case 140: - case 191: - case 204: case 192: - case 182: + case 205: + case 193: case 183: - case 194: - case 208: + case 184: + case 195: + case 209: + case 256: case 255: - case 254: return true; - case 200: + case 201: return isSideEffectFree(node.whenTrue) && isSideEffectFree(node.whenFalse); - case 199: + case 200: if (ts.isAssignmentOperator(node.operatorToken.kind)) { return false; } return isSideEffectFree(node.left) && isSideEffectFree(node.right); - case 197: case 198: + case 199: switch (node.operator) { case 51: case 37: @@ -38543,15 +38794,15 @@ var ts; return true; } return false; - case 195: - case 189: - case 207: + case 196: + case 190: + case 208: default: return false; } } function isTypeEqualityComparableTo(source, target) { - return (target.flags & 12288) !== 0 || isTypeComparableTo(source, target); + return (target.flags & 24576) !== 0 || isTypeComparableTo(source, target); } function checkBinaryExpression(node, checkMode) { if (ts.isInJavaScriptFile(node) && ts.getAssignedJavascriptInitializer(node)) { @@ -38561,7 +38812,7 @@ var ts; } function checkBinaryLikeExpression(left, operatorToken, right, checkMode, errorNode) { var operator = operatorToken.kind; - if (operator === 58 && (left.kind === 183 || left.kind === 182)) { + if (operator === 58 && (left.kind === 184 || left.kind === 183)) { return checkDestructuringAssignment(left, checkExpression(right, checkMode), checkMode); } var leftType = checkExpression(left, checkMode); @@ -38595,8 +38846,8 @@ var ts; leftType = checkNonNullType(leftType, left); rightType = checkNonNullType(rightType, right); var suggestedOperator = void 0; - if ((leftType.flags & 136) && - (rightType.flags & 136) && + if ((leftType.flags & 272) && + (rightType.flags & 272) && (suggestedOperator = getSuggestedBooleanOperator(operatorToken.kind)) !== undefined) { error(errorNode || operatorToken, ts.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead, ts.tokenToString(operatorToken.kind), ts.tokenToString(suggestedOperator)); } @@ -38613,19 +38864,19 @@ var ts; if (leftType === silentNeverType || rightType === silentNeverType) { return silentNeverType; } - if (!isTypeAssignableToKind(leftType, 34) && !isTypeAssignableToKind(rightType, 34)) { + if (!isTypeAssignableToKind(leftType, 68) && !isTypeAssignableToKind(rightType, 68)) { leftType = checkNonNullType(leftType, left); rightType = checkNonNullType(rightType, right); } var resultType = void 0; - if (isTypeAssignableToKind(leftType, 84, true) && isTypeAssignableToKind(rightType, 84, true)) { + if (isTypeAssignableToKind(leftType, 168, true) && isTypeAssignableToKind(rightType, 168, true)) { resultType = numberType; } - else if (isTypeAssignableToKind(leftType, 34, true) || isTypeAssignableToKind(rightType, 34, true)) { + else if (isTypeAssignableToKind(leftType, 68, true) || isTypeAssignableToKind(rightType, 68, true)) { resultType = stringType; } else if (isTypeAny(leftType) || isTypeAny(rightType)) { - resultType = leftType === unknownType || rightType === unknownType ? unknownType : anyType; + resultType = leftType === errorType || rightType === errorType ? errorType : anyType; } if (resultType && !checkForDisallowedESSymbolOperand(operator)) { return resultType; @@ -38685,6 +38936,8 @@ var ts; error(left, ts.Diagnostics.Left_side_of_comma_operator_is_unused_and_has_no_side_effects); } return rightType; + default: + return ts.Debug.fail(); } function checkSpecialAssignment(left, right) { var special = ts.getSpecialPropertyAssignmentKind(left.parent); @@ -38696,7 +38949,7 @@ var ts; if (propType.symbol && propType.symbol.flags & 32) { var name = prop.escapedName; var symbol = resolveName(prop.valueDeclaration, name, 67901928, undefined, name, false); - if (symbol) { + if (symbol && symbol.declarations.some(function (d) { return d.kind === 297; })) { grammarErrorOnNode(symbol.declarations[0], ts.Diagnostics.Duplicate_identifier_0, ts.unescapeLeadingUnderscores(name)); return grammarErrorOnNode(prop.valueDeclaration, ts.Diagnostics.Duplicate_identifier_0, ts.unescapeLeadingUnderscores(name)); } @@ -38708,8 +38961,8 @@ var ts; return node.kind === 71 && node.escapedText === "eval"; } function checkForDisallowedESSymbolOperand(operator) { - var offendingSymbolOperand = maybeTypeOfKind(leftType, 1536) ? left : - maybeTypeOfKind(rightType, 1536) ? right : + var offendingSymbolOperand = maybeTypeOfKind(leftType, 3072) ? left : + maybeTypeOfKind(rightType, 3072) ? right : undefined; if (offendingSymbolOperand) { error(offendingSymbolOperand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(operator)); @@ -38769,7 +39022,9 @@ var ts; } } var func = ts.getContainingFunction(node); - var functionFlags = func ? ts.getFunctionFlags(func) : 0; + if (!func) + return anyType; + var functionFlags = ts.getFunctionFlags(func); if (!(functionFlags & 1)) { return anyType; } @@ -38800,14 +39055,14 @@ var ts; } function checkTemplateExpression(node) { ts.forEach(node.templateSpans, function (templateSpan) { - if (maybeTypeOfKind(checkExpression(templateSpan.expression), 1536)) { + if (maybeTypeOfKind(checkExpression(templateSpan.expression), 3072)) { error(templateSpan.expression, ts.Diagnostics.Type_0_cannot_be_converted_to_type_1, typeToString(esSymbolType), typeToString(stringType)); } }); return stringType; } function getContextNode(node) { - if (node.kind === 262) { + if (node.kind === 263) { return node.parent.parent; } return node; @@ -38840,17 +39095,16 @@ var ts; } function isTypeAssertion(node) { node = ts.skipParentheses(node); - return node.kind === 189 || node.kind === 207; + return node.kind === 190 || node.kind === 208; } function checkDeclarationInitializer(declaration) { - var inJs = ts.isInJavaScriptFile(declaration); - var initializer = inJs && ts.getDeclaredJavascriptInitializer(declaration) || declaration.initializer; + var initializer = ts.getEffectiveInitializer(declaration); var type = getTypeOfExpression(initializer, true); var widened = ts.getCombinedNodeFlags(declaration) & 2 || (ts.getCombinedModifierFlags(declaration) & 64 && !ts.isParameterPropertyDeclaration(declaration)) || isTypeAssertion(initializer) ? type : getWidenedLiteralType(type); - if (inJs) { - if (widened.flags & 12288) { + if (ts.isInJavaScriptFile(declaration)) { + if (widened.flags & 24576) { if (noImplicitAny) { reportImplicitAnyError(declaration, anyType); } @@ -38865,33 +39119,23 @@ var ts; } return widened; } - function isTypeParameterWithKeyofConstraint(type) { - if (type.flags & 32768) { - var constraintDeclaration = getConstraintDeclaration(type); - return constraintDeclaration && constraintDeclaration.kind === 174 && - constraintDeclaration.operator === 128; - } - return false; - } function isLiteralOfContextualType(candidateType, contextualType) { if (contextualType) { - if (contextualType.flags & 393216) { + if (contextualType.flags & 786432) { var types = contextualType.types; return ts.some(types, function (t) { return isLiteralOfContextualType(candidateType, t); }); } - if (contextualType.flags & 7372800) { + if (contextualType.flags & 14745600) { var constraint = getBaseConstraintOfType(contextualType) || emptyObjectType; - return isTypeParameterWithKeyofConstraint(contextualType) && maybeTypeOfKind(candidateType, 32 | 64 | 1024) || - constraint.flags & 2 && maybeTypeOfKind(candidateType, 32) || - constraint.flags & 4 && maybeTypeOfKind(candidateType, 64) || - constraint.flags & 8 && maybeTypeOfKind(candidateType, 128) || - constraint.flags & 512 && maybeTypeOfKind(candidateType, 1024) || + return maybeTypeOfKind(constraint, 4) && maybeTypeOfKind(candidateType, 64) || + maybeTypeOfKind(constraint, 8) && maybeTypeOfKind(candidateType, 128) || + maybeTypeOfKind(constraint, 1024) && maybeTypeOfKind(candidateType, 2048) || isLiteralOfContextualType(candidateType, constraint); } - return contextualType.flags & (32 | 524288) && maybeTypeOfKind(candidateType, 32) || - contextualType.flags & 64 && maybeTypeOfKind(candidateType, 64) || + return !!(contextualType.flags & (64 | 1048576) && maybeTypeOfKind(candidateType, 64) || contextualType.flags & 128 && maybeTypeOfKind(candidateType, 128) || - contextualType.flags & 1024 && maybeTypeOfKind(candidateType, 1024); + contextualType.flags & 256 && maybeTypeOfKind(candidateType, 256) || + contextualType.flags & 2048 && maybeTypeOfKind(candidateType, 2048)); } return false; } @@ -38904,14 +39148,14 @@ var ts; getWidenedLiteralLikeTypeForContextualType(type, contextualType); } function checkPropertyAssignment(node, checkMode) { - if (node.name.kind === 146) { + if (node.name.kind === 147) { checkComputedPropertyName(node.name); } return checkExpressionForMutableLocation(node.initializer, checkMode); } function checkObjectLiteralMethod(node, checkMode) { checkGrammarMethod(node); - if (node.name.kind === 146) { + if (node.name.kind === 147) { checkComputedPropertyName(node.name); } var uninstantiatedType = checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); @@ -38933,7 +39177,7 @@ var ts; return type; } function getTypeOfExpression(node, cache) { - if (node.kind === 186 && node.expression.kind !== 97 && !ts.isRequireCall(node, true) && !isSymbolOrSymbolForCall(node)) { + if (node.kind === 187 && node.expression.kind !== 97 && !ts.isRequireCall(node, true) && !isSymbolOrSymbolForCall(node)) { var funcType = checkNonNullExpression(node.expression); var signature = getSingleCallSignature(funcType); if (signature && !signature.typeParameters) { @@ -38951,7 +39195,7 @@ var ts; } function checkExpression(node, checkMode) { var type; - if (node.kind === 145) { + if (node.kind === 146) { type = checkQualifiedName(node); } else { @@ -38959,10 +39203,10 @@ var ts; type = instantiateTypeWithSingleGenericCallSignature(node, uninstantiatedType, checkMode); } if (isConstEnumObjectType(type)) { - var ok = (node.parent.kind === 184 && node.parent.expression === node) || - (node.parent.kind === 185 && node.parent.expression === node) || - ((node.kind === 71 || node.kind === 145) && isInRightSideOfImportOrExportAssignment(node) || - (node.parent.kind === 164 && node.parent.exprName === node)); + var ok = (node.parent.kind === 185 && node.parent.expression === node) || + (node.parent.kind === 186 && node.parent.expression === node) || + ((node.kind === 71 || node.kind === 146) && isInRightSideOfImportOrExportAssignment(node) || + (node.parent.kind === 165 && node.parent.exprName === node)); if (!ok) { error(node, ts.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query); } @@ -38996,76 +39240,76 @@ var ts; return trueType; case 86: return falseType; - case 201: + case 202: return checkTemplateExpression(node); case 12: return globalRegExpType; - case 182: - return checkArrayLiteral(node, checkMode); case 183: - return checkObjectLiteral(node, checkMode); + return checkArrayLiteral(node, checkMode); case 184: - return checkPropertyAccessExpression(node); + return checkObjectLiteral(node, checkMode); case 185: - return checkIndexedAccess(node); + return checkPropertyAccessExpression(node); case 186: + return checkIndexedAccess(node); + case 187: if (node.expression.kind === 91) { return checkImportCallExpression(node); } - case 187: - return checkCallExpression(node); case 188: - return checkTaggedTemplateExpression(node); - case 190: - return checkParenthesizedExpression(node, checkMode); - case 204: - return checkClassExpression(node); - case 191: - case 192: - return checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); - case 194: - return checkTypeOfExpression(node); + return checkCallExpression(node); case 189: - case 207: - return checkAssertion(node); - case 208: - return checkNonNullAssertion(node); - case 209: - return checkMetaProperty(node); - case 193: - return checkDeleteExpression(node); - case 195: - return checkVoidExpression(node); - case 196: - return checkAwaitExpression(node); - case 197: - return checkPrefixUnaryExpression(node); - case 198: - return checkPostfixUnaryExpression(node); - case 199: - return checkBinaryExpression(node, checkMode); - case 200: - return checkConditionalExpression(node, checkMode); - case 203: - return checkSpreadExpression(node, checkMode); + return checkTaggedTemplateExpression(node); + case 191: + return checkParenthesizedExpression(node, checkMode); case 205: + return checkClassExpression(node); + case 192: + case 193: + return checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); + case 195: + return checkTypeOfExpression(node); + case 190: + case 208: + return checkAssertion(node); + case 209: + return checkNonNullAssertion(node); + case 210: + return checkMetaProperty(node); + case 194: + return checkDeleteExpression(node); + case 196: + return checkVoidExpression(node); + case 197: + return checkAwaitExpression(node); + case 198: + return checkPrefixUnaryExpression(node); + case 199: + return checkPostfixUnaryExpression(node); + case 200: + return checkBinaryExpression(node, checkMode); + case 201: + return checkConditionalExpression(node, checkMode); + case 204: + return checkSpreadExpression(node, checkMode); + case 206: return undefinedWideningType; - case 202: + case 203: return checkYieldExpression(node); - case 264: + case 265: return checkJsxExpression(node, checkMode); - case 254: - return checkJsxElement(node, checkMode); case 255: - return checkJsxSelfClosingElement(node, checkMode); - case 258: - return checkJsxFragment(node, checkMode); - case 262: - return checkJsxAttributes(node, checkMode); + return checkJsxElement(node, checkMode); case 256: + return checkJsxSelfClosingElement(node, checkMode); + case 259: + return checkJsxFragment(node, checkMode); + case 263: + return checkJsxAttributes(node, checkMode); + case 257: ts.Debug.fail("Shouldn't ever directly check a JsxOpeningElement"); } - return unknownType; + return errorType; } function checkTypeParameter(node) { if (node.expression) { @@ -39094,7 +39338,7 @@ var ts; checkVariableLikeDeclaration(node); var func = ts.getContainingFunction(node); if (ts.hasModifier(node, 92)) { - if (!(func.kind === 154 && ts.nodeIsPresent(func.body))) { + if (!(func.kind === 155 && ts.nodeIsPresent(func.body))) { error(node, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); } } @@ -39105,7 +39349,7 @@ var ts; if (func.parameters.indexOf(node) !== 0) { error(node, ts.Diagnostics.A_0_parameter_must_be_the_first_parameter, node.name.escapedText); } - if (func.kind === 154 || func.kind === 158 || func.kind === 163) { + if (func.kind === 155 || func.kind === 159 || func.kind === 164) { error(node, ts.Diagnostics.A_constructor_cannot_have_a_this_parameter); } } @@ -39167,13 +39411,13 @@ var ts; } function getTypePredicateParent(node) { switch (node.parent.kind) { + case 193: + case 158: + case 234: case 192: - case 157: - case 233: - case 191: - case 162: + case 163: + case 154: case 153: - case 152: var parent = node.parent; if (node === parent.type) { return parent; @@ -39191,7 +39435,7 @@ var ts; error(predicateVariableNode, ts.Diagnostics.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern, predicateVariableName); return true; } - else if (name.kind === 180 || name.kind === 179) { + else if (name.kind === 181 || name.kind === 180) { if (checkIfTypePredicateVariableIsDeclaredInBindingPattern(name, predicateVariableNode, predicateVariableName)) { return true; } @@ -39199,12 +39443,12 @@ var ts; } } function checkSignatureDeclaration(node) { - if (node.kind === 159) { + if (node.kind === 160) { checkGrammarIndexSignature(node); } - else if (node.kind === 162 || node.kind === 233 || node.kind === 163 || - node.kind === 157 || node.kind === 154 || - node.kind === 158) { + else if (node.kind === 163 || node.kind === 234 || node.kind === 164 || + node.kind === 158 || node.kind === 155 || + node.kind === 159) { checkGrammarFunctionLikeDeclaration(node); } var functionFlags = ts.getFunctionFlags(node); @@ -39229,10 +39473,10 @@ var ts; var returnTypeNode = ts.getEffectiveReturnTypeNode(node); if (noImplicitAny && !returnTypeNode) { switch (node.kind) { - case 158: + case 159: error(node, ts.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; - case 157: + case 158: error(node, ts.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; } @@ -39256,7 +39500,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (node.kind !== 159 && node.kind !== 283) { + if (node.kind !== 160 && node.kind !== 284) { registerForUnusedIdentifiersCheck(node); } } @@ -39273,7 +39517,7 @@ var ts; var staticNames = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 154) { + if (member.kind === 155) { for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var param = _c[_b]; if (ts.isParameterPropertyDeclaration(param) && !ts.isBindingPattern(param.name)) { @@ -39284,20 +39528,21 @@ var ts; else { var isStatic = ts.hasModifier(member, 32); var names = isStatic ? staticNames : instanceNames; - var memberName = member.name && ts.getPropertyNameForPropertyNameNode(member.name); - if (memberName) { + var name = member.name; + var memberName = name && ts.getPropertyNameForPropertyNameNode(name); + if (name && memberName) { switch (member.kind) { - case 155: - addName(names, member.name, memberName, 1); - break; case 156: - addName(names, member.name, memberName, 2); + addName(names, name, memberName, 1); break; - case 151: - addName(names, member.name, memberName, 3); + case 157: + addName(names, name, memberName, 2); break; - case 153: - addName(names, member.name, memberName, 4); + case 152: + addName(names, name, memberName, 3); + break; + case 154: + addName(names, name, memberName, 4); break; } } @@ -39348,15 +39593,16 @@ var ts; var names = ts.createMap(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 150) { + if (member.kind === 151) { var memberName = void 0; - switch (member.name.kind) { + var name = member.name; + switch (name.kind) { case 9: case 8: - memberName = member.name.text; + memberName = name.text; break; case 71: - memberName = ts.idText(member.name); + memberName = ts.idText(name); break; default: continue; @@ -39372,7 +39618,7 @@ var ts; } } function checkTypeForDuplicateIndexSignatures(node) { - if (node.kind === 235) { + if (node.kind === 236) { var nodeSymbol = getSymbolOfNode(node); if (nodeSymbol.declarations.length > 0 && nodeSymbol.declarations[0] !== node) { return; @@ -39417,7 +39663,7 @@ var ts; if (!checkGrammarMethod(node)) checkGrammarComputedPropertyName(node.name); checkFunctionOrMethodDeclaration(node); - if (ts.hasModifier(node, 128) && node.kind === 153 && node.body) { + if (ts.hasModifier(node, 128) && node.kind === 154 && node.body) { error(node, ts.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract, ts.declarationNameToString(node.name)); } } @@ -39438,7 +39684,7 @@ var ts; return; } function isInstancePropertyWithInitializer(n) { - return n.kind === 151 && + return n.kind === 152 && !ts.hasModifier(n, 32) && !!n.initializer; } @@ -39458,7 +39704,7 @@ var ts; var superCallStatement = void 0; for (var _i = 0, statements_2 = statements; _i < statements_2.length; _i++) { var statement = statements_2[_i]; - if (statement.kind === 215 && ts.isSuperCall(statement.expression)) { + if (statement.kind === 216 && ts.isSuperCall(statement.expression)) { superCallStatement = statement; break; } @@ -39482,18 +39728,18 @@ var ts; checkGrammarComputedPropertyName(node.name); checkDecorators(node); checkSignatureDeclaration(node); - if (node.kind === 155) { + if (node.kind === 156) { if (!(node.flags & 4194304) && ts.nodeIsPresent(node.body) && (node.flags & 128)) { if (!(node.flags & 256)) { error(node.name, ts.Diagnostics.A_get_accessor_must_return_a_value); } } } - if (node.name.kind === 146) { + if (node.name.kind === 147) { checkComputedPropertyName(node.name); } if (!hasNonBindableDynamicName(node)) { - var otherKind = node.kind === 155 ? 156 : 155; + var otherKind = node.kind === 156 ? 157 : 156; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(node), otherKind); if (otherAccessor) { var nodeFlags = ts.getModifierFlags(node); @@ -39509,7 +39755,7 @@ var ts; } } var returnType = getTypeOfAccessors(getSymbolOfNode(node)); - if (node.kind === 155) { + if (node.kind === 156) { checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnType); } } @@ -39546,7 +39792,7 @@ var ts; } function getTypeParametersForTypeReference(node) { var type = getTypeFromTypeReference(node); - if (type !== unknownType) { + if (type !== errorType) { var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { return symbol.flags & 524288 && getSymbolLinks(symbol).typeParameters || @@ -39557,11 +39803,11 @@ var ts; } function checkTypeReferenceNode(node) { checkGrammarTypeArguments(node, node.typeArguments); - if (node.kind === 161 && node.typeName.jsdocDotPos !== undefined && !ts.isInJavaScriptFile(node) && !ts.isInJSDoc(node)) { + if (node.kind === 162 && node.typeName.jsdocDotPos !== undefined && !ts.isInJavaScriptFile(node) && !ts.isInJSDoc(node)) { grammarErrorAtPos(node, node.typeName.jsdocDotPos, 1, ts.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments); } var type = getTypeFromTypeReference(node); - if (type !== unknownType) { + if (type !== errorType) { if (node.typeArguments) { ts.forEach(node.typeArguments, checkSourceElement); if (produceDiagnostics) { @@ -39571,7 +39817,7 @@ var ts; } } } - if (type.flags & 16 && getNodeLinks(node).resolvedSymbol.flags & 8) { + if (type.flags & 32 && getNodeLinks(node).resolvedSymbol.flags & 8) { error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type)); } } @@ -39610,19 +39856,19 @@ var ts; ts.forEach(node.types, checkSourceElement); } function checkIndexedAccessIndexType(type, accessNode) { - if (!(type.flags & 1048576)) { + if (!(type.flags & 2097152)) { return type; } var objectType = type.objectType; var indexType = type.indexType; if (isTypeAssignableTo(indexType, getIndexType(objectType, false))) { - if (accessNode.kind === 185 && ts.isAssignmentTarget(accessNode) && + if (accessNode.kind === 186 && ts.isAssignmentTarget(accessNode) && ts.getObjectFlags(objectType) & 32 && getMappedTypeModifiers(objectType) & 1) { error(accessNode, ts.Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(objectType)); } return type; } - if (getIndexInfoOfType(getApparentType(objectType), 1) && isTypeAssignableToKind(indexType, 84)) { + if (getIndexInfoOfType(getApparentType(objectType), 1) && isTypeAssignableToKind(indexType, 168)) { return type; } error(accessNode, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(indexType), typeToString(objectType)); @@ -39651,7 +39897,7 @@ var ts; ts.forEachChild(node, checkSourceElement); } function checkInferType(node) { - if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 170 && n.parent.extendsType === n; })) { + if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 171 && n.parent.extendsType === n; })) { grammarErrorOnNode(node, ts.Diagnostics.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type); } checkSourceElement(node.typeParameter); @@ -39665,9 +39911,9 @@ var ts; } function getEffectiveDeclarationFlags(n, flagsToCheck) { var flags = ts.getCombinedModifierFlags(n); - if (n.parent.kind !== 235 && - n.parent.kind !== 234 && - n.parent.kind !== 204 && + if (n.parent.kind !== 236 && + n.parent.kind !== 235 && + n.parent.kind !== 205 && n.flags & 4194304) { if (!(flags & 2) && !(ts.isModuleBlock(n.parent) && ts.isModuleDeclaration(n.parent.parent) && ts.isGlobalScopeAugmentation(n.parent.parent))) { flags |= 1; @@ -39747,7 +39993,7 @@ var ts; if (node.name && subsequentName && (ts.isComputedPropertyName(node.name) && ts.isComputedPropertyName(subsequentName) || !ts.isComputedPropertyName(node.name) && !ts.isComputedPropertyName(subsequentName) && ts.getEscapedTextOfIdentifierOrLiteral(node.name) === ts.getEscapedTextOfIdentifierOrLiteral(subsequentName))) { - var reportError = (node.kind === 153 || node.kind === 152) && + var reportError = (node.kind === 154 || node.kind === 153) && ts.hasModifier(node, 32) !== ts.hasModifier(subsequentNode, 32); if (reportError) { var diagnostic = ts.hasModifier(node, 32) ? ts.Diagnostics.Function_overload_must_be_static : ts.Diagnostics.Function_overload_must_not_be_static; @@ -39780,11 +40026,11 @@ var ts; var current = declarations_4[_i]; var node = current; var inAmbientContext = node.flags & 4194304; - var inAmbientContextOrInterface = node.parent.kind === 235 || node.parent.kind === 165 || inAmbientContext; + var inAmbientContextOrInterface = node.parent.kind === 236 || node.parent.kind === 166 || inAmbientContext; if (inAmbientContextOrInterface) { previousDeclaration = undefined; } - if (node.kind === 233 || node.kind === 153 || node.kind === 152 || node.kind === 154) { + if (node.kind === 234 || node.kind === 154 || node.kind === 153 || node.kind === 155) { var currentNodeFlags = getEffectiveDeclarationFlags(node, flagsToCheck); someNodeFlags |= currentNodeFlags; allNodeFlags &= currentNodeFlags; @@ -39904,39 +40150,39 @@ var ts; function getDeclarationSpaces(decl) { var d = decl; switch (d.kind) { - case 235: case 236: - case 296: - case 291: + case 237: + case 297: + case 292: return 2; - case 238: + case 239: return ts.isAmbientModule(d) || ts.getModuleInstanceState(d) !== 0 ? 4 | 1 : 4; - case 234: - case 237: + case 235: + case 238: return 2 | 1; - case 273: + case 274: return 2 | 1 | 4; - case 248: + case 249: if (!ts.isEntityNameExpression(d.expression)) { return 1; } d = d.expression; - case 242: + case 243: + case 246: case 245: - case 244: var result_3 = 0; var target = resolveAlias(getSymbolOfNode(d)); ts.forEach(target.declarations, function (d) { result_3 |= getDeclarationSpaces(d); }); return result_3; - case 231: - case 181: - case 233: - case 247: + case 232: + case 182: + case 234: + case 248: return 1; default: - ts.Debug.fail(ts.Debug.showSyntaxKind(d)); + return ts.Debug.fail(ts.Debug.showSyntaxKind(d)); } } } @@ -39980,7 +40226,7 @@ var ts; return typeAsPromise.promisedTypeOfPromise = getUnionType(ts.map(onfulfilledParameterSignatures, getTypeOfFirstParameterOfSignature), 2); } function checkAwaitedType(type, errorNode, diagnosticMessage) { - return getAwaitedType(type, errorNode, diagnosticMessage) || unknownType; + return getAwaitedType(type, errorNode, diagnosticMessage) || errorType; } function getAwaitedType(type, errorNode, diagnosticMessage) { var typeAsAwaitable = type; @@ -39990,7 +40236,7 @@ var ts; if (isTypeAny(type)) { return typeAsAwaitable.awaitedTypeOfType = type; } - if (type.flags & 131072) { + if (type.flags & 262144) { var types = void 0; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var constituentType = _a[_i]; @@ -40020,7 +40266,8 @@ var ts; var thenFunction = getTypeOfPropertyOfType(type, "then"); if (thenFunction && getSignaturesOfType(thenFunction, 0).length > 0) { if (errorNode) { - ts.Debug.assert(!!diagnosticMessage); + if (!diagnosticMessage) + return ts.Debug.fail(); error(errorNode, diagnosticMessage); } return undefined; @@ -40031,49 +40278,49 @@ var ts; var returnTypeNode = ts.getEffectiveReturnTypeNode(node); var returnType = getTypeFromTypeNode(returnTypeNode); if (languageVersion >= 2) { - if (returnType === unknownType) { - return unknownType; + if (returnType === errorType) { + return errorType; } var globalPromiseType = getGlobalPromiseType(true); if (globalPromiseType !== emptyGenericType && !isReferenceToType(returnType, globalPromiseType)) { error(returnTypeNode, ts.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type); - return unknownType; + return errorType; } } else { markTypeNodeAsReferenced(returnTypeNode); - if (returnType === unknownType) { - return unknownType; + if (returnType === errorType) { + return errorType; } var promiseConstructorName = ts.getEntityNameFromTypeNode(returnTypeNode); if (promiseConstructorName === undefined) { error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, typeToString(returnType)); - return unknownType; + return errorType; } var promiseConstructorSymbol = resolveEntityName(promiseConstructorName, 67216319, true); - var promiseConstructorType = promiseConstructorSymbol ? getTypeOfSymbol(promiseConstructorSymbol) : unknownType; - if (promiseConstructorType === unknownType) { + var promiseConstructorType = promiseConstructorSymbol ? getTypeOfSymbol(promiseConstructorSymbol) : errorType; + if (promiseConstructorType === errorType) { if (promiseConstructorName.kind === 71 && promiseConstructorName.escapedText === "Promise" && getTargetType(returnType) === getGlobalPromiseType(false)) { error(returnTypeNode, ts.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option); } else { error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, ts.entityNameToString(promiseConstructorName)); } - return unknownType; + return errorType; } var globalPromiseConstructorLikeType = getGlobalPromiseConstructorLikeType(true); if (globalPromiseConstructorLikeType === emptyObjectType) { error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, ts.entityNameToString(promiseConstructorName)); - return unknownType; + return errorType; } if (!checkTypeAssignableTo(promiseConstructorType, globalPromiseConstructorLikeType, returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value)) { - return unknownType; + return errorType; } var rootName = promiseConstructorName && getFirstIdentifier(promiseConstructorName); var collidingSymbol = getSymbol(node.locals, rootName.escapedText, 67216319); if (collidingSymbol) { error(collidingSymbol.valueDeclaration, ts.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions, ts.idText(rootName), ts.entityNameToString(promiseConstructorName)); - return unknownType; + return errorType; } } return checkAwaitedType(returnType, node, ts.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); @@ -40088,26 +40335,28 @@ var ts; var headMessage = getDiagnosticHeadMessageForDecoratorResolution(node); var errorInfo; switch (node.parent.kind) { - case 234: + case 235: var classSymbol = getSymbolOfNode(node.parent); var classConstructorType = getTypeOfSymbol(classSymbol); expectedReturnType = getUnionType([classConstructorType, voidType]); break; - case 148: + case 149: expectedReturnType = voidType; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any); + errorInfo = ts.chainDiagnosticMessages(undefined, ts.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any); break; - case 151: + case 152: expectedReturnType = voidType; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any); + errorInfo = ts.chainDiagnosticMessages(undefined, ts.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any); break; - case 153: - case 155: + case 154: case 156: + case 157: var methodType = getTypeOfNode(node.parent); var descriptorType = createTypedPropertyDescriptorType(methodType); expectedReturnType = getUnionType([descriptorType, voidType]); break; + default: + return ts.Debug.fail(); } checkTypeAssignableTo(returnType, expectedReturnType, node, headMessage, function () { return errorInfo; }); } @@ -40136,12 +40385,12 @@ var ts; function getEntityNameForDecoratorMetadata(node) { if (node) { switch (node.kind) { + case 170: case 169: - case 168: var commonEntityName = void 0; for (var _i = 0, _a = node.types; _i < _a.length; _i++) { var typeNode = _a[_i]; - while (typeNode.kind === 172) { + while (typeNode.kind === 173) { typeNode = typeNode.type; } if (typeNode.kind === 131) { @@ -40166,9 +40415,9 @@ var ts; } } return commonEntityName; - case 172: + case 173: return getEntityNameForDecoratorMetadata(node.type); - case 161: + case 162: return node.typeName; } } @@ -40189,13 +40438,13 @@ var ts; } var firstDecorator = node.decorators[0]; checkExternalEmitHelpers(firstDecorator, 8); - if (node.kind === 148) { + if (node.kind === 149) { checkExternalEmitHelpers(firstDecorator, 32); } if (compilerOptions.emitDecoratorMetadata) { checkExternalEmitHelpers(firstDecorator, 16); switch (node.kind) { - case 234: + case 235: var constructor = ts.getFirstConstructorWithBody(node); if (constructor) { for (var _i = 0, _a = constructor.parameters; _i < _a.length; _i++) { @@ -40204,19 +40453,19 @@ var ts; } } break; - case 153: - case 155: + case 154: case 156: + case 157: for (var _b = 0, _c = node.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); } markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveReturnTypeNode(node)); break; - case 151: + case 152: markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveTypeAnnotationNode(node)); break; - case 148: + case 149: markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(node)); var containingSignature = node.parent; for (var _d = 0, _e = containingSignature.parameters; _d < _e.length; _d++) { @@ -40255,12 +40504,12 @@ var ts; return; } if (!containsArgumentsReference(decl)) { - error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(node.name.kind === 145 ? node.name.right : node.name)); + error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(node.name.kind === 146 ? node.name.right : node.name)); } else if (ts.findLast(ts.getJSDocTags(decl), ts.isJSDocParameterTag) === node && node.typeExpression && node.typeExpression.type && !isArrayType(getTypeFromTypeNode(node.typeExpression.type))) { - error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, ts.idText(node.name.kind === 145 ? node.name.right : node.name)); + error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, ts.idText(node.name.kind === 146 ? node.name.right : node.name)); } } } @@ -40289,7 +40538,7 @@ var ts; switch (node.kind) { case 71: return node; - case 184: + case 185: return node.name; default: return undefined; @@ -40299,7 +40548,7 @@ var ts; checkDecorators(node); checkSignatureDeclaration(node); var functionFlags = ts.getFunctionFlags(node); - if (node.name && node.name.kind === 146) { + if (node.name && node.name.kind === 147) { checkComputedPropertyName(node.name); } if (!hasNonBindableDynamicName(node)) { @@ -40315,7 +40564,7 @@ var ts; } } } - var body = node.kind === 152 ? undefined : node.body; + var body = node.kind === 153 ? undefined : node.body; checkSourceElement(body); var returnTypeNode = ts.getEffectiveReturnTypeNode(node); if ((functionFlags & 1) === 0) { @@ -40348,41 +40597,41 @@ var ts; for (var _i = 0, potentiallyUnusedIdentifiers_1 = potentiallyUnusedIdentifiers; _i < potentiallyUnusedIdentifiers_1.length; _i++) { var node = potentiallyUnusedIdentifiers_1[_i]; switch (node.kind) { - case 234: - case 204: + case 235: + case 205: checkUnusedClassMembers(node, addDiagnostic); checkUnusedTypeParameters(node, addDiagnostic); break; - case 235: + case 236: checkUnusedTypeParameters(node, addDiagnostic); break; - case 273: - case 238: - case 212: - case 240: - case 219: + case 274: + case 239: + case 213: + case 241: case 220: case 221: + case 222: checkUnusedLocalsAndParameters(node, addDiagnostic); break; - case 154: - case 191: - case 233: - case 192: - case 153: case 155: + case 192: + case 234: + case 193: + case 154: case 156: + case 157: if (node.body) { checkUnusedLocalsAndParameters(node, addDiagnostic); } checkUnusedTypeParameters(node, addDiagnostic); break; - case 152: - case 157: + case 153: case 158: - case 162: + case 159: case 163: - case 236: + case 164: + case 237: checkUnusedTypeParameters(node, addDiagnostic); break; default: @@ -40392,15 +40641,8 @@ var ts; } function errorUnusedLocal(declaration, name, addDiagnostic) { var node = ts.getNameOfDeclaration(declaration) || declaration; - if (isIdentifierThatStartsWithUnderScore(node)) { - var declaration_2 = ts.getRootDeclaration(node.parent); - if ((declaration_2.kind === 231 && ts.isForInOrOfStatement(declaration_2.parent.parent)) || - declaration_2.kind === 147) { - return; - } - } var message = isTypeDeclaration(declaration) ? ts.Diagnostics._0_is_declared_but_never_used : ts.Diagnostics._0_is_declared_but_its_value_is_never_read; - addDiagnostic(0, ts.createDiagnosticForNodeSpan(ts.getSourceFileOfNode(declaration), declaration, node, message, name)); + addDiagnostic(0, ts.createDiagnosticForNode(node, message, name)); } function parameterNameStartsWithUnderscore(parameterName) { return parameterName && isIdentifierThatStartsWithUnderScore(parameterName); @@ -40413,11 +40655,11 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 153: - case 151: - case 155: + case 154: + case 152: case 156: - if (member.kind === 156 && member.symbol.flags & 32768) { + case 157: + if (member.kind === 157 && member.symbol.flags & 32768) { break; } var symbol = getSymbolOfNode(member); @@ -40425,7 +40667,7 @@ var ts; addDiagnostic(0, ts.createDiagnosticForNode(member.name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, symbolToString(symbol))); } break; - case 154: + case 155: for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; if (!parameter.symbol.isReferenced && ts.hasModifier(parameter, 8)) { @@ -40433,8 +40675,8 @@ var ts; } } break; - case 159: - case 211: + case 160: + case 212: break; default: ts.Debug.fail(); @@ -40471,6 +40713,7 @@ var ts; return; var unusedImports = ts.createMap(); var unusedDestructures = ts.createMap(); + var unusedVariables = ts.createMap(); nodeWithLocals.locals.forEach(function (local) { if (local.flags & 262144 ? !(local.flags & 3 && !(local.isReferenced & 3)) : local.isReferenced || local.exportSymbol) { return; @@ -40488,6 +40731,11 @@ var ts; addToGroup(unusedDestructures, declaration.parent, declaration, getNodeId); } } + else if (ts.isVariableDeclaration(declaration)) { + if (!isIdentifierThatStartsWithUnderScore(declaration.name) || !ts.isForInOrOfStatement(declaration.parent.parent)) { + addToGroup(unusedVariables, declaration.parent, declaration, getNodeId); + } + } else { var parameter = local.valueDeclaration && tryGetRootParameterDeclaration(local.valueDeclaration); if (parameter) { @@ -40505,49 +40753,76 @@ var ts; unusedImports.forEach(function (_a) { var importClause = _a[0], unuseds = _a[1]; var importDecl = importClause.parent; - if (forEachImportedDeclaration(importClause, function (d) { return !ts.contains(unuseds, d); })) { + var nDeclarations = (importClause.name ? 1 : 0) + + (importClause.namedBindings ? + (importClause.namedBindings.kind === 246 ? 1 : importClause.namedBindings.elements.length) + : 0); + if (nDeclarations === unuseds.length) { + addDiagnostic(0, unuseds.length === 1 + ? ts.createDiagnosticForNode(importDecl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.first(unuseds).name)) + : ts.createDiagnosticForNode(importDecl, ts.Diagnostics.All_imports_in_import_declaration_are_unused)); + } + else { for (var _i = 0, unuseds_1 = unuseds; _i < unuseds_1.length; _i++) { var unused = unuseds_1[_i]; errorUnusedLocal(unused, ts.idText(unused.name), addDiagnostic); } } - else if (unuseds.length === 1) { - addDiagnostic(0, ts.createDiagnosticForNode(importDecl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.first(unuseds).name))); - } - else { - addDiagnostic(0, ts.createDiagnosticForNode(importDecl, ts.Diagnostics.All_imports_in_import_declaration_are_unused)); - } }); unusedDestructures.forEach(function (_a) { var bindingPattern = _a[0], bindingElements = _a[1]; var kind = tryGetRootParameterDeclaration(bindingPattern.parent) ? 1 : 0; - if (!bindingPattern.elements.every(function (e) { return ts.contains(bindingElements, e); })) { + if (bindingPattern.elements.length === bindingElements.length) { + if (bindingElements.length === 1 && bindingPattern.parent.kind === 232 && bindingPattern.parent.parent.kind === 233) { + addToGroup(unusedVariables, bindingPattern.parent.parent, bindingPattern.parent, getNodeId); + } + else { + addDiagnostic(kind, bindingElements.length === 1 + ? ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(ts.first(bindingElements).name, ts.isIdentifier))) + : ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics.All_destructured_elements_are_unused)); + } + } + else { for (var _i = 0, bindingElements_1 = bindingElements; _i < bindingElements_1.length; _i++) { var e = bindingElements_1[_i]; addDiagnostic(kind, ts.createDiagnosticForNode(e, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(e.name, ts.isIdentifier)))); } } - else if (bindingElements.length === 1) { - addDiagnostic(kind, ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(ts.first(bindingElements).name, ts.isIdentifier)))); + }); + unusedVariables.forEach(function (_a) { + var declarationList = _a[0], declarations = _a[1]; + if (declarationList.declarations.length === declarations.length) { + addDiagnostic(0, declarations.length === 1 + ? ts.createDiagnosticForNode(ts.first(declarations).name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, bindingNameText(ts.first(declarations).name)) + : ts.createDiagnosticForNode(declarationList.parent.kind === 214 ? declarationList.parent : declarationList, ts.Diagnostics.All_variables_are_unused)); } else { - addDiagnostic(kind, ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics.All_destructured_elements_are_unused)); + for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { + var decl = declarations_5[_i]; + addDiagnostic(0, ts.createDiagnosticForNode(decl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(decl.name, ts.isIdentifier)))); + } } }); } + function bindingNameText(name) { + switch (name.kind) { + case 71: + return ts.idText(name); + case 181: + case 180: + return bindingNameText(ts.cast(ts.first(name.elements), ts.isBindingElement).name); + default: + return ts.Debug.assertNever(name); + } + } function isImportedDeclaration(node) { - return node.kind === 244 || node.kind === 247 || node.kind === 245; + return node.kind === 245 || node.kind === 248 || node.kind === 246; } function importClauseFromImported(decl) { - return decl.kind === 244 ? decl : decl.kind === 245 ? decl.parent : decl.parent.parent; - } - function forEachImportedDeclaration(importClause, cb) { - var defaultName = importClause.name, namedBindings = importClause.namedBindings; - return (defaultName && cb(importClause)) || - namedBindings && (namedBindings.kind === 245 ? cb(namedBindings) : ts.forEach(namedBindings.elements, cb)); + return decl.kind === 245 ? decl : decl.kind === 246 ? decl.parent : decl.parent.parent; } function checkBlock(node) { - if (node.kind === 212) { + if (node.kind === 213) { checkGrammarStatementInAmbientContext(node); } if (ts.isFunctionOrModuleBlock(node)) { @@ -40576,19 +40851,19 @@ var ts; if (!(identifier && identifier.escapedText === name)) { return false; } - if (node.kind === 151 || - node.kind === 150 || + if (node.kind === 152 || + node.kind === 151 || + node.kind === 154 || node.kind === 153 || - node.kind === 152 || - node.kind === 155 || - node.kind === 156) { + node.kind === 156 || + node.kind === 157) { return false; } if (node.flags & 4194304) { return false; } var root = ts.getRootDeclaration(node); - if (root.kind === 148 && ts.nodeIsMissing(root.parent.body)) { + if (root.kind === 149 && ts.nodeIsMissing(root.parent.body)) { return false; } return true; @@ -40605,6 +40880,7 @@ var ts; } return true; } + return false; }); } function checkIfNewTargetIsCapturedInEnclosingScope(node) { @@ -40619,6 +40895,7 @@ var ts; } return true; } + return false; }); } function checkCollisionWithRequireExportsInGeneratedCode(node, name) { @@ -40632,7 +40909,7 @@ var ts; return; } var parent = getDeclarationContainer(node); - if (parent.kind === 273 && ts.isExternalOrCommonJsModule(parent)) { + if (parent.kind === 274 && ts.isExternalOrCommonJsModule(parent)) { error(name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module, ts.declarationNameToString(name), ts.declarationNameToString(name)); } } @@ -40644,7 +40921,7 @@ var ts; return; } var parent = getDeclarationContainer(node); - if (parent.kind === 273 && ts.isExternalOrCommonJsModule(parent) && parent.flags & 1024) { + if (parent.kind === 274 && ts.isExternalOrCommonJsModule(parent) && parent.flags & 1024) { error(name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions, ts.declarationNameToString(name), ts.declarationNameToString(name)); } } @@ -40652,7 +40929,7 @@ var ts; if ((ts.getCombinedNodeFlags(node) & 3) !== 0 || ts.isParameterDeclaration(node)) { return; } - if (node.kind === 231 && !node.initializer) { + if (node.kind === 232 && !node.initializer) { return; } var symbol = getSymbolOfNode(node); @@ -40664,15 +40941,15 @@ var ts; localDeclarationSymbol !== symbol && localDeclarationSymbol.flags & 2) { if (getDeclarationNodeFlagsFromSymbol(localDeclarationSymbol) & 3) { - var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 232); - var container = varDeclList.parent.kind === 213 && varDeclList.parent.parent + var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 233); + var container = varDeclList.parent.kind === 214 && varDeclList.parent.parent ? varDeclList.parent.parent : undefined; var namesShareScope = container && - (container.kind === 212 && ts.isFunctionLike(container.parent) || + (container.kind === 213 && ts.isFunctionLike(container.parent) || + container.kind === 240 || container.kind === 239 || - container.kind === 238 || - container.kind === 273); + container.kind === 274); if (!namesShareScope) { var name = symbolToString(localDeclarationSymbol); error(node, ts.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1, name, name); @@ -40682,7 +40959,7 @@ var ts; } } function checkParameterInitializer(node) { - if (ts.getRootDeclaration(node).kind !== 148) { + if (ts.getRootDeclaration(node).kind !== 149) { return; } var func = ts.getContainingFunction(node); @@ -40691,7 +40968,7 @@ var ts; if (ts.isTypeNode(n) || ts.isDeclarationName(n)) { return; } - if (n.kind === 184) { + if (n.kind === 185) { return visit(n.expression); } else if (n.kind === 71) { @@ -40705,8 +40982,8 @@ var ts; } var enclosingContainer = ts.getEnclosingBlockScopeContainer(symbol.valueDeclaration); if (enclosingContainer === func) { - if (symbol.valueDeclaration.kind === 148 || - symbol.valueDeclaration.kind === 181) { + if (symbol.valueDeclaration.kind === 149 || + symbol.valueDeclaration.kind === 182) { if (symbol.valueDeclaration.pos < node.pos) { return; } @@ -40715,7 +40992,7 @@ var ts; return "quit"; } return ts.isFunctionLike(current.parent) || - (current.parent.kind === 151 && + (current.parent.kind === 152 && !(ts.hasModifier(current.parent, 32)) && ts.isClassLike(current.parent.parent)); })) { @@ -40741,17 +41018,17 @@ var ts; if (!node.name) { return; } - if (node.name.kind === 146) { + if (node.name.kind === 147) { checkComputedPropertyName(node.name); if (node.initializer) { checkExpressionCached(node.initializer); } } - if (node.kind === 181) { - if (node.parent.kind === 179 && languageVersion < 6) { + if (node.kind === 182) { + if (node.parent.kind === 180 && languageVersion < 6) { checkExternalEmitHelpers(node, 4); } - if (node.propertyName && node.propertyName.kind === 146) { + if (node.propertyName && node.propertyName.kind === 147) { checkComputedPropertyName(node.propertyName); } var parent = node.parent.parent; @@ -40766,17 +41043,17 @@ var ts; } } if (ts.isBindingPattern(node.name)) { - if (node.name.kind === 180 && languageVersion < 2 && compilerOptions.downlevelIteration) { + if (node.name.kind === 181 && languageVersion < 2 && compilerOptions.downlevelIteration) { checkExternalEmitHelpers(node, 512); } ts.forEach(node.name.elements, checkSourceElement); } - if (node.initializer && ts.getRootDeclaration(node).kind === 148 && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { + if (node.initializer && ts.getRootDeclaration(node).kind === 149 && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { error(node, ts.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation); return; } if (ts.isBindingPattern(node.name)) { - if (node.initializer && node.parent.parent.kind !== 220) { + if (node.initializer && node.parent.parent.kind !== 221) { var initializerType = checkExpressionCached(node.initializer); if (strictNullChecks && node.name.elements.length === 0) { checkNonNullType(initializerType, node); @@ -40791,15 +41068,15 @@ var ts; var symbol = getSymbolOfNode(node); var type = convertAutoToAny(getTypeOfSymbol(symbol)); if (node === symbol.valueDeclaration) { - if (node.initializer && node.parent.parent.kind !== 220) { - var initializer = ts.isInJavaScriptFile(node) && ts.getDeclaredJavascriptInitializer(node) || node.initializer; + var initializer = ts.getEffectiveInitializer(node); + if (initializer && node.parent.parent.kind !== 221) { checkTypeAssignableTo(checkExpressionCached(initializer), type, node, undefined); checkParameterInitializer(node); } } else { var declarationType = convertAutoToAny(getWidenedTypeForVariableLikeDeclaration(node)); - if (type !== unknownType && declarationType !== unknownType && + if (type !== errorType && declarationType !== errorType && !isTypeIdenticalTo(type, declarationType) && !(symbol.flags & 67108864)) { errorNextVariableOrPropertyDeclarationMustHaveSameType(type, node, declarationType); @@ -40812,9 +41089,9 @@ var ts; error(node.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_modifiers, ts.declarationNameToString(node.name)); } } - if (node.kind !== 151 && node.kind !== 150) { + if (node.kind !== 152 && node.kind !== 151) { checkExportsOnMergedDeclarations(node); - if (node.kind === 231 || node.kind === 181) { + if (node.kind === 232 || node.kind === 182) { checkVarDeclaredNamesNotShadowed(node); } checkCollisionWithRequireExportsInGeneratedCode(node, node.name); @@ -40823,14 +41100,14 @@ var ts; } function errorNextVariableOrPropertyDeclarationMustHaveSameType(firstType, nextDeclaration, nextType) { var nextDeclarationName = ts.getNameOfDeclaration(nextDeclaration); - var message = nextDeclaration.kind === 151 || nextDeclaration.kind === 150 + var message = nextDeclaration.kind === 152 || nextDeclaration.kind === 151 ? ts.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2 : ts.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2; error(nextDeclarationName, message, ts.declarationNameToString(nextDeclarationName), typeToString(firstType), typeToString(nextType)); } function areDeclarationFlagsIdentical(left, right) { - if ((left.kind === 148 && right.kind === 231) || - (left.kind === 231 && right.kind === 148)) { + if ((left.kind === 149 && right.kind === 232) || + (left.kind === 232 && right.kind === 149)) { return true; } if (ts.hasQuestionToken(left) !== ts.hasQuestionToken(right)) { @@ -40865,7 +41142,7 @@ var ts; checkGrammarStatementInAmbientContext(node); checkExpression(node.expression); checkSourceElement(node.thenStatement); - if (node.thenStatement.kind === 214) { + if (node.thenStatement.kind === 215) { error(node.thenStatement, ts.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement); } checkSourceElement(node.elseStatement); @@ -40882,12 +41159,12 @@ var ts; } function checkForStatement(node) { if (!checkGrammarStatementInAmbientContext(node)) { - if (node.initializer && node.initializer.kind === 232) { + if (node.initializer && node.initializer.kind === 233) { checkGrammarVariableDeclarationList(node.initializer); } } if (node.initializer) { - if (node.initializer.kind === 232) { + if (node.initializer.kind === 233) { ts.forEach(node.initializer.declarations, checkVariableDeclaration); } else { @@ -40914,14 +41191,14 @@ var ts; else if (compilerOptions.downlevelIteration && languageVersion < 2) { checkExternalEmitHelpers(node, 256); } - if (node.initializer.kind === 232) { + if (node.initializer.kind === 233) { checkForInOrForOfVariableDeclaration(node); } else { var varExpr = node.initializer; var iteratedType = checkRightHandSideOfForOf(node.expression, node.awaitModifier); - if (varExpr.kind === 182 || varExpr.kind === 183) { - checkDestructuringAssignment(varExpr, iteratedType || unknownType); + if (varExpr.kind === 183 || varExpr.kind === 184) { + checkDestructuringAssignment(varExpr, iteratedType || errorType); } else { var leftType = checkExpression(varExpr); @@ -40939,7 +41216,7 @@ var ts; function checkForInStatement(node) { checkGrammarForInOrForOfStatement(node); var rightType = checkNonNullExpression(node.expression); - if (node.initializer.kind === 232) { + if (node.initializer.kind === 233) { var variable = node.initializer.declarations[0]; if (variable && ts.isBindingPattern(variable.name)) { error(variable.name, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); @@ -40949,7 +41226,7 @@ var ts; else { var varExpr = node.initializer; var leftType = checkExpression(varExpr); - if (varExpr.kind === 182 || varExpr.kind === 183) { + if (varExpr.kind === 183 || varExpr.kind === 184) { error(varExpr, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); } else if (!isTypeAssignableTo(getIndexTypeOrString(rightType), leftType)) { @@ -40959,7 +41236,7 @@ var ts; checkReferenceExpression(varExpr, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access); } } - if (rightType === neverType || !isTypeAssignableToKind(rightType, 134217728 | 7372800)) { + if (rightType === neverType || !isTypeAssignableToKind(rightType, 16777216 | 14745600)) { error(node.expression, ts.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0, typeToString(rightType)); } checkSourceElement(node.statement); @@ -41001,14 +41278,14 @@ var ts; var reportedError = false; var hasStringConstituent = false; if (allowStringInput) { - if (arrayType.flags & 131072) { + if (arrayType.flags & 262144) { var arrayTypes = inputType.types; - var filteredTypes = ts.filter(arrayTypes, function (t) { return !(t.flags & 34); }); + var filteredTypes = ts.filter(arrayTypes, function (t) { return !(t.flags & 68); }); if (filteredTypes !== arrayTypes) { arrayType = getUnionType(filteredTypes, 2); } } - else if (arrayType.flags & 34) { + else if (arrayType.flags & 68) { arrayType = neverType; } hasStringConstituent = arrayType !== inputType; @@ -41019,7 +41296,7 @@ var ts; reportedError = true; } } - if (arrayType.flags & 16384) { + if (arrayType.flags & 32768) { return stringType; } } @@ -41044,7 +41321,7 @@ var ts; } var arrayElementType = getIndexTypeOfType(arrayType, 1); if (hasStringConstituent && arrayElementType) { - if (arrayElementType.flags & 34) { + if (arrayElementType.flags & 68) { return stringType; } return getUnionType([arrayElementType, stringType], 2); @@ -41077,11 +41354,11 @@ var ts; } } var asyncMethodType = allowAsyncIterables && getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("asyncIterator")); - var methodType = asyncMethodType || (allowSyncIterables && getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("iterator"))); + var methodType = asyncMethodType || (allowSyncIterables ? getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("iterator")) : undefined); if (isTypeAny(methodType)) { return undefined; } - var signatures = methodType && getSignaturesOfType(methodType, 0); + var signatures = methodType ? getSignaturesOfType(methodType, 0) : undefined; if (!ts.some(signatures)) { if (errorNode) { reportTypeNotIterableError(errorNode, type, allowAsyncIterables); @@ -41168,14 +41445,14 @@ var ts; checkGrammarBreakOrContinueStatement(node); } function isGetAccessorWithAnnotatedSetAccessor(node) { - return node.kind === 155 - && ts.getEffectiveSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(node.symbol, 156)) !== undefined; + return node.kind === 156 + && ts.getEffectiveSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(node.symbol, 157)) !== undefined; } function isUnwrappedReturnTypeVoidOrAny(func, returnType) { var unwrappedReturnType = (ts.getFunctionFlags(func) & 3) === 2 ? getPromisedTypeOfPromise(returnType) : returnType; - return unwrappedReturnType && maybeTypeOfKind(unwrappedReturnType, 2048 | 1); + return !!unwrappedReturnType && maybeTypeOfKind(unwrappedReturnType, 4096 | 3); } function checkReturnStatement(node) { if (checkGrammarStatementInAmbientContext(node)) { @@ -41190,17 +41467,17 @@ var ts; var returnType = getReturnTypeOfSignature(signature); var functionFlags = ts.getFunctionFlags(func); var isGenerator = functionFlags & 1; - if (strictNullChecks || node.expression || returnType.flags & 16384) { + if (strictNullChecks || node.expression || returnType.flags & 32768) { var exprType = node.expression ? checkExpressionCached(node.expression) : undefinedType; if (isGenerator) { return; } - else if (func.kind === 156) { + else if (func.kind === 157) { if (node.expression) { error(node, ts.Diagnostics.Setters_cannot_return_a_value); } } - else if (func.kind === 154) { + else if (func.kind === 155) { if (node.expression && !checkTypeAssignableTo(exprType, returnType, node)) { error(node, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); } @@ -41218,7 +41495,7 @@ var ts; } } } - else if (func.kind !== 154 && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(func, returnType) && !isGenerator) { + else if (func.kind !== 155 && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(func, returnType) && !isGenerator) { error(node, ts.Diagnostics.Not_all_code_paths_return_a_value); } } @@ -41243,7 +41520,7 @@ var ts; var expressionType = checkExpression(node.expression); var expressionIsLiteral = isLiteralType(expressionType); ts.forEach(node.caseBlock.clauses, function (clause) { - if (clause.kind === 266 && !hasDuplicateDefaultClause) { + if (clause.kind === 267 && !hasDuplicateDefaultClause) { if (firstDefaultClause === undefined) { firstDefaultClause = clause; } @@ -41255,7 +41532,7 @@ var ts; hasDuplicateDefaultClause = true; } } - if (produceDiagnostics && clause.kind === 265) { + if (produceDiagnostics && clause.kind === 266) { var caseType = checkExpression(clause.expression); var caseIsLiteral = isLiteralType(caseType); var comparedExpressionType = expressionType; @@ -41279,10 +41556,11 @@ var ts; if (ts.isFunctionLike(current)) { return "quit"; } - if (current.kind === 227 && current.label.escapedText === node.label.escapedText) { + if (current.kind === 228 && current.label.escapedText === node.label.escapedText) { grammarErrorOnNode(node.label, ts.Diagnostics.Duplicate_label_0, ts.getTextOfNode(node.label)); return true; } + return false; }); } checkSourceElement(node.statement); @@ -41338,8 +41616,8 @@ var ts; checkIndexConstraintForProperty(prop, propType, type, declaredStringIndexer, stringIndexType, 0); checkIndexConstraintForProperty(prop, propType, type, declaredNumberIndexer, numberIndexType, 1); }); - if (ts.getObjectFlags(type) & 1 && ts.isClassLike(type.symbol.valueDeclaration)) { - var classDeclaration = type.symbol.valueDeclaration; + var classDeclaration = type.symbol.valueDeclaration; + if (ts.getObjectFlags(type) & 1 && ts.isClassLike(classDeclaration)) { for (var _i = 0, _a = classDeclaration.members; _i < _a.length; _i++) { var member = _a[_i]; if (!ts.hasModifier(member, 32) && hasNonBindableDynamicName(member)) { @@ -41372,8 +41650,8 @@ var ts; } var errorNode; if (propDeclaration && - (propDeclaration.kind === 199 || - ts.getNameOfDeclaration(propDeclaration).kind === 146 || + (propDeclaration.kind === 200 || + ts.getNameOfDeclaration(propDeclaration).kind === 147 || prop.parent === containingType.symbol)) { errorNode = propDeclaration; } @@ -41395,6 +41673,7 @@ var ts; function checkTypeNameIsReserved(name, message) { switch (name.escapedText) { case "any": + case "unknown": case "number": case "boolean": case "string": @@ -41404,6 +41683,12 @@ var ts; error(name, message, name.escapedText); } } + function checkClassNameCollisionWithObject(name) { + if (languageVersion === 1 && name.escapedText === "Object" + && moduleKind !== ts.ModuleKind.ES2015 && moduleKind !== ts.ModuleKind.ESNext) { + error(name, ts.Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, ts.ModuleKind[moduleKind]); + } + } function checkTypeParameters(typeParameterDeclarations) { if (typeParameterDeclarations) { var seenDefault = false; @@ -41440,8 +41725,8 @@ var ts; var type = getDeclaredTypeOfSymbol(symbol); if (!areTypeParametersIdentical(declarations, type.localTypeParameters)) { var name = symbolToString(symbol); - for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { - var declaration = declarations_5[_i]; + for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { + var declaration = declarations_6[_i]; error(declaration.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_type_parameters, name); } } @@ -41450,8 +41735,8 @@ var ts; function areTypeParametersIdentical(declarations, targetParameters) { var maxTypeArgumentCount = ts.length(targetParameters); var minTypeArgumentCount = getMinTypeArgumentCount(targetParameters); - for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { - var declaration = declarations_6[_i]; + for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { + var declaration = declarations_7[_i]; var sourceParameters = ts.getEffectiveTypeParameterDeclarations(declaration); var numTypeParameters = sourceParameters.length; if (numTypeParameters < minTypeArgumentCount || numTypeParameters > maxTypeArgumentCount) { @@ -41503,6 +41788,9 @@ var ts; checkTypeNameIsReserved(node.name, ts.Diagnostics.Class_name_cannot_be_0); checkCollisionWithRequireExportsInGeneratedCode(node, node.name); checkCollisionWithGlobalPromiseInGeneratedCode(node, node.name); + if (!(node.flags & 4194304)) { + checkClassNameCollisionWithObject(node.name); + } } checkTypeParameters(ts.getEffectiveTypeParameterDeclarations(node)); checkExportsOnMergedDeclarations(node); @@ -41541,10 +41829,10 @@ var ts; issueMemberSpecificError(node, typeWithThis, baseWithThis, ts.Diagnostics.Class_0_incorrectly_extends_base_class_1); } checkTypeAssignableTo(staticType, getTypeWithoutSignatures(staticBaseType), node.name || node, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); - if (baseConstructorType.flags & 1081344 && !isMixinConstructorType(staticType)) { + if (baseConstructorType.flags & 2162688 && !isMixinConstructorType(staticType)) { error(node.name || node, ts.Diagnostics.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any); } - if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32) && !(baseConstructorType.flags & 1081344)) { + if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32) && !(baseConstructorType.flags & 2162688)) { var constructors = getInstantiatedConstructorsForTypeArguments(staticBaseType, baseTypeNode.typeArguments, baseTypeNode); if (ts.forEach(constructors, function (sig) { return getReturnTypeOfSignature(sig) !== baseType_1; })) { error(baseTypeNode.expression, ts.Diagnostics.Base_constructors_must_all_have_the_same_return_type); @@ -41563,7 +41851,7 @@ var ts; checkTypeReferenceNode(typeRefNode); if (produceDiagnostics) { var t = getTypeFromTypeNode(typeRefNode); - if (t !== unknownType) { + if (t !== errorType) { if (isValidBaseType(t)) { var genericDiag = t.symbol && t.symbol.flags & 32 ? ts.Diagnostics.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass : @@ -41629,7 +41917,7 @@ var ts; } function getClassOrInterfaceDeclarationsOfSymbol(symbol) { return ts.filter(symbol.declarations, function (d) { - return d.kind === 234 || d.kind === 235; + return d.kind === 235 || d.kind === 236; }); } function checkKindsOfPropertyMemberOverrides(type, baseType) { @@ -41647,7 +41935,7 @@ var ts; if (derived === base) { var derivedClassDecl = ts.getClassLikeDeclarationOfSymbol(type.symbol); if (baseDeclarationFlags & 128 && (!derivedClassDecl || !ts.hasModifier(derivedClassDecl, 128))) { - if (derivedClassDecl.kind === 204) { + if (derivedClassDecl.kind === 205) { error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, symbolToString(baseProperty), typeToString(baseType)); } else { @@ -41660,7 +41948,7 @@ var ts; if (baseDeclarationFlags & 8 || derivedDeclarationFlags & 8) { continue; } - if (isPrototypeProperty(base) && isPrototypeProperty(derived) || base.flags & 98308 && derived.flags & 98308) { + if (isPrototypeProperty(base) || base.flags & 98308 && derived.flags & 98308) { continue; } var errorMessage = void 0; @@ -41726,7 +42014,7 @@ var ts; var propName = member.name; if (ts.isIdentifier(propName)) { var type = getTypeOfSymbol(getSymbolOfNode(member)); - if (!(type.flags & 1 || getFalsyFlags(type) & 4096)) { + if (!(type.flags & 3 || getFalsyFlags(type) & 8192)) { if (!constructor || !isPropertyInitializedInConstructor(propName, type, constructor)) { error(member.name, ts.Diagnostics.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor, ts.declarationNameToString(propName)); } @@ -41736,7 +42024,7 @@ var ts; } } function isInstancePropertyWithoutInitializer(node) { - return node.kind === 151 && + return node.kind === 152 && !ts.hasModifier(node, 32 | 128) && !node.exclamationToken && !node.initializer; @@ -41745,7 +42033,7 @@ var ts; var reference = ts.createPropertyAccess(ts.createThis(), propName); reference.flowNode = constructor.returnFlowNode; var flowType = getFlowTypeOfReference(reference, propType, getOptionalType(propType)); - return !(getFalsyFlags(flowType) & 4096); + return !(getFalsyFlags(flowType) & 8192); } function checkInterfaceDeclaration(node) { if (!checkGrammarDecoratorsAndModifiers(node)) @@ -41756,7 +42044,7 @@ var ts; checkExportsOnMergedDeclarations(node); var symbol = getSymbolOfNode(node); checkTypeParameterListsIdentical(symbol); - var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 235); + var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 236); if (node === firstInterfaceDecl) { var type = getDeclaredTypeOfSymbol(symbol); var typeWithThis = getTypeWithThisArgument(type); @@ -41852,7 +42140,7 @@ var ts; return value; function evaluate(expr) { switch (expr.kind) { - case 197: + case 198: var value_2 = evaluate(expr.operand); if (typeof value_2 === "number") { switch (expr.operator) { @@ -41862,7 +42150,7 @@ var ts; } } break; - case 199: + case 200: var left = evaluate(expr.left); var right = evaluate(expr.right); if (typeof left === "number" && typeof right === "number") { @@ -41890,18 +42178,22 @@ var ts; case 8: checkGrammarNumericLiteral(expr); return +expr.text; - case 190: + case 191: return evaluate(expr.expression); case 71: - return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), expr.escapedText); + var identifier = expr; + if (isInfinityOrNaNString(identifier.escapedText)) { + return +(identifier.escapedText); + } + return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); + case 186: case 185: - case 184: var ex = expr; if (isConstantMemberAccess(ex)) { var type = getTypeOfExpression(ex.expression); if (type.symbol && type.symbol.flags & 384) { var name = void 0; - if (ex.kind === 184) { + if (ex.kind === 185) { name = ex.name.escapedText; } else { @@ -41933,8 +42225,8 @@ var ts; } function isConstantMemberAccess(node) { return node.kind === 71 || - node.kind === 184 && isConstantMemberAccess(node.expression) || - node.kind === 185 && isConstantMemberAccess(node.expression) && + node.kind === 185 && isConstantMemberAccess(node.expression) || + node.kind === 186 && isConstantMemberAccess(node.expression) && node.argumentExpression.kind === 9; } function checkEnumDeclaration(node) { @@ -41963,7 +42255,7 @@ var ts; } var seenEnumMissingInitialInitializer_1 = false; ts.forEach(enumSymbol.declarations, function (declaration) { - if (declaration.kind !== 237) { + if (declaration.kind !== 238) { return false; } var enumDeclaration = declaration; @@ -41984,10 +42276,10 @@ var ts; } function getFirstNonAmbientClassOrFunctionDeclaration(symbol) { var declarations = symbol.declarations; - for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { - var declaration = declarations_7[_i]; - if ((declaration.kind === 234 || - (declaration.kind === 233 && ts.nodeIsPresent(declaration.body))) && + for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { + var declaration = declarations_8[_i]; + if ((declaration.kind === 235 || + (declaration.kind === 234 && ts.nodeIsPresent(declaration.body))) && !(declaration.flags & 4194304)) { return declaration; } @@ -42035,7 +42327,7 @@ var ts; if (symbol.flags & 512 && symbol.declarations.length > 1 && !inAmbientContext - && isInstantiatedModule(node, compilerOptions.preserveConstEnums || compilerOptions.isolatedModules)) { + && isInstantiatedModule(node, !!compilerOptions.preserveConstEnums || !!compilerOptions.isolatedModules)) { var firstNonAmbientClassOrFunc = getFirstNonAmbientClassOrFunctionDeclaration(symbol); if (firstNonAmbientClassOrFunc) { if (ts.getSourceFileOfNode(node) !== ts.getSourceFileOfNode(firstNonAmbientClassOrFunc)) { @@ -42045,7 +42337,7 @@ var ts; error(node.name, ts.Diagnostics.A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged); } } - var mergedClass = ts.getDeclarationOfKind(symbol, 234); + var mergedClass = ts.getDeclarationOfKind(symbol, 235); if (mergedClass && inSameLexicalScope(node, mergedClass)) { getNodeLinks(node).flags |= 32768; @@ -42088,22 +42380,22 @@ var ts; } function checkModuleAugmentationElement(node, isGlobalAugmentation) { switch (node.kind) { - case 213: + case 214: for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) { var decl = _a[_i]; checkModuleAugmentationElement(decl, isGlobalAugmentation); } break; - case 248: case 249: + case 250: grammarErrorOnFirstToken(node, ts.Diagnostics.Exports_and_export_assignments_are_not_permitted_in_module_augmentations); break; - case 242: case 243: + case 244: grammarErrorOnFirstToken(node, ts.Diagnostics.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module); break; - case 181: - case 231: + case 182: + case 232: var name = node.name; if (ts.isBindingPattern(name)) { for (var _b = 0, _c = name.elements; _b < _c.length; _b++) { @@ -42112,12 +42404,12 @@ var ts; } break; } - case 234: - case 237: - case 233: case 235: case 238: + case 234: case 236: + case 239: + case 237: if (isGlobalAugmentation) { return; } @@ -42135,12 +42427,12 @@ var ts; switch (node.kind) { case 71: return node; - case 145: + case 146: do { node = node.left; } while (node.kind !== 71); return node; - case 184: + case 185: do { node = node.expression; } while (node.kind !== 71); @@ -42149,16 +42441,16 @@ var ts; } function checkExternalImportOrExportDeclaration(node) { var moduleName = ts.getExternalModuleName(node); - if (ts.nodeIsMissing(moduleName)) { + if (!moduleName || ts.nodeIsMissing(moduleName)) { return false; } if (!ts.isStringLiteral(moduleName)) { error(moduleName, ts.Diagnostics.String_literal_expected); return false; } - var inAmbientExternalModule = node.parent.kind === 239 && ts.isAmbientModule(node.parent.parent); - if (node.parent.kind !== 273 && !inAmbientExternalModule) { - error(moduleName, node.kind === 249 ? + var inAmbientExternalModule = node.parent.kind === 240 && ts.isAmbientModule(node.parent.parent); + if (node.parent.kind !== 274 && !inAmbientExternalModule) { + error(moduleName, node.kind === 250 ? ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace : ts.Diagnostics.Import_declarations_in_a_namespace_cannot_reference_a_module); return false; @@ -42179,13 +42471,13 @@ var ts; (symbol.flags & 67901928 ? 67901928 : 0) | (symbol.flags & 1920 ? 1920 : 0); if (target.flags & excludedMeanings) { - var message = node.kind === 251 ? + var message = node.kind === 252 ? ts.Diagnostics.Export_declaration_conflicts_with_exported_declaration_of_0 : ts.Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0; error(node, message, symbolToString(symbol)); } if (compilerOptions.isolatedModules - && node.kind === 251 + && node.kind === 252 && !(target.flags & 67216319) && !(node.flags & 4194304)) { error(node, ts.Diagnostics.Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided); @@ -42211,7 +42503,7 @@ var ts; checkImportBinding(importClause); } if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 245) { + if (importClause.namedBindings.kind === 246) { checkImportBinding(importClause.namedBindings); } else { @@ -42234,7 +42526,7 @@ var ts; if (ts.hasModifier(node, 1)) { markExportAsReferenced(node); } - if (node.moduleReference.kind !== 253) { + if (node.moduleReference.kind !== 254) { var target = resolveAlias(getSymbolOfNode(node)); if (target !== unknownSymbol) { if (target.flags & 67216319) { @@ -42265,10 +42557,10 @@ var ts; if (!node.moduleSpecifier || checkExternalImportOrExportDeclaration(node)) { if (node.exportClause) { ts.forEach(node.exportClause.elements, checkExportSpecifier); - var inAmbientExternalModule = node.parent.kind === 239 && ts.isAmbientModule(node.parent.parent); - var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 239 && + var inAmbientExternalModule = node.parent.kind === 240 && ts.isAmbientModule(node.parent.parent); + var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 240 && !node.moduleSpecifier && node.flags & 4194304; - if (node.parent.kind !== 273 && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { + if (node.parent.kind !== 274 && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { error(node, ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace); } } @@ -42284,7 +42576,7 @@ var ts; } } function checkGrammarModuleElementContext(node, errorMessage) { - var isInAppropriateContext = node.parent.kind === 273 || node.parent.kind === 239 || node.parent.kind === 238; + var isInAppropriateContext = node.parent.kind === 274 || node.parent.kind === 240 || node.parent.kind === 239; if (!isInAppropriateContext) { grammarErrorOnFirstToken(node, errorMessage); } @@ -42310,8 +42602,8 @@ var ts; if (checkGrammarModuleElementContext(node, ts.Diagnostics.An_export_assignment_can_only_be_used_in_a_module)) { return; } - var container = node.parent.kind === 273 ? node.parent : node.parent.parent; - if (container.kind === 238 && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 274 ? node.parent : node.parent.parent; + if (container.kind === 239 && !ts.isAmbientModule(container)) { if (node.isExportEquals) { error(node, ts.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace); } @@ -42374,8 +42666,8 @@ var ts; return; } if (exportedDeclarationsCount > 1) { - for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { - var declaration = declarations_8[_i]; + for (var _i = 0, declarations_9 = declarations; _i < declarations_9.length; _i++) { + var declaration = declarations_9[_i]; if (isNotOverload(declaration)) { diagnostics.add(ts.createDiagnosticForNode(declaration, ts.Diagnostics.Cannot_redeclare_exported_variable_0, ts.unescapeLeadingUnderscores(id))); } @@ -42390,165 +42682,165 @@ var ts; return !ts.isAccessor(declaration); } function isNotOverload(declaration) { - return (declaration.kind !== 233 && declaration.kind !== 153) || + return (declaration.kind !== 234 && declaration.kind !== 154) || !!declaration.body; } function checkSourceElement(node) { if (!node) { return; } - if (ts.isInJavaScriptFile(node) && node.jsDoc) { - for (var _i = 0, _a = node.jsDoc; _i < _a.length; _i++) { - var tags = _a[_i].tags; - ts.forEach(tags, checkSourceElement); - } + if (ts.isInJavaScriptFile(node)) { + ts.forEach(node.jsDoc, function (_a) { + var tags = _a.tags; + return ts.forEach(tags, checkSourceElement); + }); } var kind = node.kind; if (cancellationToken) { switch (kind) { - case 238: - case 234: + case 239: case 235: - case 233: + case 236: + case 234: cancellationToken.throwIfCancellationRequested(); } } switch (kind) { - case 147: - return checkTypeParameter(node); case 148: + return checkTypeParameter(node); + case 149: return checkParameter(node); + case 152: case 151: - case 150: return checkPropertyDeclaration(node); - case 162: case 163: - case 157: + case 164: case 158: case 159: - return checkSignatureDeclaration(node); - case 153: - case 152: - return checkMethodDeclaration(node); - case 154: - return checkConstructorDeclaration(node); - case 155: - case 156: - return checkAccessorDeclaration(node); - case 161: - return checkTypeReferenceNode(node); case 160: + return checkSignatureDeclaration(node); + case 154: + case 153: + return checkMethodDeclaration(node); + case 155: + return checkConstructorDeclaration(node); + case 156: + case 157: + return checkAccessorDeclaration(node); + case 162: + return checkTypeReferenceNode(node); + case 161: return checkTypePredicate(node); - case 164: - return checkTypeQuery(node); case 165: - return checkTypeLiteral(node); + return checkTypeQuery(node); case 166: - return checkArrayType(node); + return checkTypeLiteral(node); case 167: - return checkTupleType(node); + return checkArrayType(node); case 168: + return checkTupleType(node); case 169: - return checkUnionOrIntersectionType(node); - case 172: - return checkSourceElement(node.type); - case 174: - return checkTypeOperator(node); case 170: - return checkConditionalType(node); + return checkUnionOrIntersectionType(node); + case 173: + return checkSourceElement(node.type); + case 175: + return checkTypeOperator(node); case 171: + return checkConditionalType(node); + case 172: return checkInferType(node); - case 178: + case 179: return checkImportType(node); - case 289: + case 290: return checkJSDocAugmentsTag(node); - case 296: - case 291: - return checkJSDocTypeAliasTag(node); + case 297: case 292: + return checkJSDocTypeAliasTag(node); + case 293: return checkJSDocParameterTag(node); - case 283: + case 284: checkSignatureDeclaration(node); + case 282: case 281: - case 280: - case 278: case 279: - case 286: + case 280: + case 287: checkJSDocTypeIsInJsFile(node); ts.forEachChild(node, checkSourceElement); return; - case 284: + case 285: checkJSDocVariadicType(node); return; - case 277: + case 278: return checkSourceElement(node.type); - case 175: - return checkIndexedAccessType(node); case 176: + return checkIndexedAccessType(node); + case 177: return checkMappedType(node); - case 233: - return checkFunctionDeclaration(node); - case 212: - case 239: - return checkBlock(node); - case 213: - return checkVariableStatement(node); - case 215: - return checkExpressionStatement(node); - case 216: - return checkIfStatement(node); - case 217: - return checkDoStatement(node); - case 218: - return checkWhileStatement(node); - case 219: - return checkForStatement(node); - case 220: - return checkForInStatement(node); - case 221: - return checkForOfStatement(node); - case 222: - case 223: - return checkBreakOrContinueStatement(node); - case 224: - return checkReturnStatement(node); - case 225: - return checkWithStatement(node); - case 226: - return checkSwitchStatement(node); - case 227: - return checkLabeledStatement(node); - case 228: - return checkThrowStatement(node); - case 229: - return checkTryStatement(node); - case 231: - return checkVariableDeclaration(node); - case 181: - return checkBindingElement(node); case 234: - return checkClassDeclaration(node); - case 235: - return checkInterfaceDeclaration(node); - case 236: - return checkTypeAliasDeclaration(node); - case 237: - return checkEnumDeclaration(node); - case 238: - return checkModuleDeclaration(node); - case 243: - return checkImportDeclaration(node); - case 242: - return checkImportEqualsDeclaration(node); - case 249: - return checkExportDeclaration(node); - case 248: - return checkExportAssignment(node); + return checkFunctionDeclaration(node); + case 213: + case 240: + return checkBlock(node); case 214: + return checkVariableStatement(node); + case 216: + return checkExpressionStatement(node); + case 217: + return checkIfStatement(node); + case 218: + return checkDoStatement(node); + case 219: + return checkWhileStatement(node); + case 220: + return checkForStatement(node); + case 221: + return checkForInStatement(node); + case 222: + return checkForOfStatement(node); + case 223: + case 224: + return checkBreakOrContinueStatement(node); + case 225: + return checkReturnStatement(node); + case 226: + return checkWithStatement(node); + case 227: + return checkSwitchStatement(node); + case 228: + return checkLabeledStatement(node); + case 229: + return checkThrowStatement(node); case 230: + return checkTryStatement(node); + case 232: + return checkVariableDeclaration(node); + case 182: + return checkBindingElement(node); + case 235: + return checkClassDeclaration(node); + case 236: + return checkInterfaceDeclaration(node); + case 237: + return checkTypeAliasDeclaration(node); + case 238: + return checkEnumDeclaration(node); + case 239: + return checkModuleDeclaration(node); + case 244: + return checkImportDeclaration(node); + case 243: + return checkImportEqualsDeclaration(node); + case 250: + return checkExportDeclaration(node); + case 249: + return checkExportAssignment(node); + case 215: + case 231: checkGrammarStatementInAmbientContext(node); return; - case 252: + case 253: return checkMissingDeclaration(node); } } @@ -42570,7 +42862,7 @@ var ts; if (!ts.isJSDocTypeExpression(parent)) { error(node, ts.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature); } - var paramTag = parent.parent; + var paramTag = node.parent.parent; if (!ts.isJSDocParameterTag(paramTag)) { error(node, ts.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature); return; @@ -42587,8 +42879,8 @@ var ts; function getTypeFromJSDocVariadicType(node) { var type = getTypeFromTypeNode(node.type); var parent = node.parent; - var paramTag = parent.parent; - if (ts.isJSDocTypeExpression(parent) && ts.isJSDocParameterTag(paramTag)) { + var paramTag = node.parent.parent; + if (ts.isJSDocTypeExpression(node.parent) && ts.isJSDocParameterTag(paramTag)) { var host_1 = ts.getHostSignatureFromJSDoc(paramTag); if (host_1) { var lastParamDeclaration = ts.lastOrUndefined(host_1.parameters); @@ -42610,20 +42902,20 @@ var ts; } } function checkDeferredNodes() { - for (var _i = 0, deferredNodes_1 = deferredNodes; _i < deferredNodes_1.length; _i++) { - var node = deferredNodes_1[_i]; + for (var _i = 0, _a = deferredNodes; _i < _a.length; _i++) { + var node = _a[_i]; switch (node.kind) { - case 191: case 192: + case 193: + case 154: case 153: - case 152: checkFunctionExpressionOrObjectLiteralMethodDeferred(node); break; - case 155: case 156: + case 157: checkAccessorDeclaration(node); break; - case 204: + case 205: checkClassExpressionDeferred(node); break; } @@ -42638,9 +42930,9 @@ var ts; function unusedIsError(kind) { switch (kind) { case 0: - return compilerOptions.noUnusedLocals; + return !!compilerOptions.noUnusedLocals; case 1: - return compilerOptions.noUnusedParameters; + return !!compilerOptions.noUnusedParameters; default: return ts.Debug.assertNever(kind); } @@ -42737,24 +43029,24 @@ var ts; copySymbols(location.locals, meaning); } switch (location.kind) { - case 238: + case 239: copySymbols(getSymbolOfNode(location).exports, meaning & 2623475); break; - case 237: + case 238: copySymbols(getSymbolOfNode(location).exports, meaning & 8); break; - case 204: + case 205: var className = location.name; if (className) { copySymbol(location.symbol, meaning); } - case 234: case 235: + case 236: if (!isStatic) { copySymbols(getMembersOfSymbol(getSymbolOfNode(location)), meaning & 67901928); } break; - case 191: + case 192: var funcName = location.name; if (funcName) { copySymbol(location.symbol, meaning); @@ -42792,27 +43084,27 @@ var ts; } function isTypeDeclaration(node) { switch (node.kind) { - case 147: - case 234: + case 148: case 235: case 236: case 237: + case 238: return true; + default: + return false; } } - function isTypeReferenceIdentifier(entityName) { - var node = entityName; - while (node.parent && node.parent.kind === 145) { + function isTypeReferenceIdentifier(node) { + while (node.parent.kind === 146) { node = node.parent; } - return node.parent && node.parent.kind === 161; + return node.parent.kind === 162; } - function isHeritageClauseElementIdentifier(entityName) { - var node = entityName; - while (node.parent && node.parent.kind === 184) { + function isHeritageClauseElementIdentifier(node) { + while (node.parent.kind === 185) { node = node.parent; } - return node.parent && node.parent.kind === 206; + return node.parent.kind === 207; } function forEachEnclosingClass(node, callback) { var result; @@ -42840,14 +43132,14 @@ var ts; return !!forEachEnclosingClass(node, function (n) { return n === classDeclaration; }); } function getLeftSideOfImportEqualsOrExportAssignment(nodeOnRightSide) { - while (nodeOnRightSide.parent.kind === 145) { + while (nodeOnRightSide.parent.kind === 146) { nodeOnRightSide = nodeOnRightSide.parent; } - if (nodeOnRightSide.parent.kind === 242) { - return nodeOnRightSide.parent.moduleReference === nodeOnRightSide && nodeOnRightSide.parent; + if (nodeOnRightSide.parent.kind === 243) { + return nodeOnRightSide.parent.moduleReference === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } - if (nodeOnRightSide.parent.kind === 248) { - return nodeOnRightSide.parent.expression === nodeOnRightSide && nodeOnRightSide.parent; + if (nodeOnRightSide.parent.kind === 249) { + return nodeOnRightSide.parent.expression === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } return undefined; } @@ -42872,7 +43164,7 @@ var ts; node = parent; parent = parent.parent; } - if (parent && parent.kind === 178 && parent.qualifier === node) { + if (parent && parent.kind === 179 && parent.qualifier === node) { return parent; } return undefined; @@ -42882,21 +43174,21 @@ var ts; return getSymbolOfNode(entityName.parent); } if (ts.isInJavaScriptFile(entityName) && - entityName.parent.kind === 184 && + entityName.parent.kind === 185 && entityName.parent === entityName.parent.parent.left) { var specialPropertyAssignmentSymbol = getSpecialPropertyAssignmentSymbolFromEntityName(entityName); if (specialPropertyAssignmentSymbol) { return specialPropertyAssignmentSymbol; } } - if (entityName.parent.kind === 248 && ts.isEntityNameExpression(entityName)) { + if (entityName.parent.kind === 249 && ts.isEntityNameExpression(entityName)) { var success = resolveEntityName(entityName, 67216319 | 67901928 | 1920 | 2097152, true); if (success && success !== unknownSymbol) { return success; } } else if (!ts.isPropertyAccessExpression(entityName) && isInRightSideOfImportOrExportAssignment(entityName)) { - var importEqualsDeclaration = ts.getAncestor(entityName, 242); + var importEqualsDeclaration = ts.getAncestor(entityName, 243); ts.Debug.assert(importEqualsDeclaration !== undefined); return getSymbolOfPartOfRightHandSideOfImportEquals(entityName, true); } @@ -42913,7 +43205,7 @@ var ts; } if (isHeritageClauseElementIdentifier(entityName)) { var meaning = 0; - if (entityName.parent.kind === 206) { + if (entityName.parent.kind === 207) { meaning = 67901928; if (ts.isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent)) { meaning |= 67216319; @@ -42928,10 +43220,10 @@ var ts; return entityNameSymbol; } } - if (entityName.parent.kind === 292) { + if (entityName.parent.kind === 293) { return ts.getParameterSymbolFromJSDoc(entityName.parent); } - if (entityName.parent.kind === 147 && entityName.parent.parent.kind === 295) { + if (entityName.parent.kind === 148 && entityName.parent.parent.kind === 296) { ts.Debug.assert(!ts.isInJavaScriptFile(entityName)); var typeParameter = ts.getTypeParameterFromJsDoc(entityName.parent); return typeParameter && typeParameter.symbol; @@ -42947,12 +43239,12 @@ var ts; } return resolveEntityName(entityName, 67216319, false, true); } - else if (entityName.kind === 184 || entityName.kind === 145) { + else if (entityName.kind === 185 || entityName.kind === 146) { var links = getNodeLinks(entityName); if (links.resolvedSymbol) { return links.resolvedSymbol; } - if (entityName.kind === 184) { + if (entityName.kind === 185) { checkPropertyAccessExpression(entityName); } else { @@ -42962,38 +43254,40 @@ var ts; } } else if (isTypeReferenceIdentifier(entityName)) { - var meaning = entityName.parent.kind === 161 ? 67901928 : 1920; + var meaning = entityName.parent.kind === 162 ? 67901928 : 1920; return resolveEntityName(entityName, meaning, false, true); } - else if (entityName.parent.kind === 261) { + else if (entityName.parent.kind === 262) { return getJsxAttributePropertySymbol(entityName.parent); } - if (entityName.parent.kind === 160) { + if (entityName.parent.kind === 161) { return resolveEntityName(entityName, 1); } return undefined; } function getSymbolAtLocation(node) { - if (node.kind === 273) { + if (node.kind === 274) { return ts.isExternalModule(node) ? getMergedSymbol(node.symbol) : undefined; } + var parent = node.parent; + var grandParent = parent.parent; if (node.flags & 8388608) { return undefined; } if (isDeclarationNameOrImportPropertyName(node)) { - return getSymbolOfNode(node.parent); + return getSymbolOfNode(parent); } else if (ts.isLiteralComputedPropertyDeclarationName(node)) { - return getSymbolOfNode(node.parent.parent); + return getSymbolOfNode(parent.parent); } if (node.kind === 71) { if (isInRightSideOfImportOrExportAssignment(node)) { return getSymbolOfEntityNameOrPropertyAccessExpression(node); } - else if (node.parent.kind === 181 && - node.parent.parent.kind === 179 && - node === node.parent.propertyName) { - var typeOfPattern = getTypeOfNode(node.parent.parent); + else if (parent.kind === 182 && + grandParent.kind === 180 && + node === parent.propertyName) { + var typeOfPattern = getTypeOfNode(grandParent); var propertyDeclaration = typeOfPattern && getPropertyOfType(typeOfPattern, node.escapedText); if (propertyDeclaration) { return propertyDeclaration; @@ -43002,8 +43296,8 @@ var ts; } switch (node.kind) { case 71: - case 184: - case 145: + case 185: + case 146: return getSymbolOfEntityNameOrPropertyAccessExpression(node); case 99: var container = ts.getThisContainer(node, false); @@ -43016,43 +43310,43 @@ var ts; if (ts.isInExpressionContext(node)) { return checkExpression(node).symbol; } - case 173: + case 174: return getTypeFromThisTypeNode(node).symbol; case 97: return checkExpression(node).symbol; case 123: var constructorDeclaration = node.parent; - if (constructorDeclaration && constructorDeclaration.kind === 154) { + if (constructorDeclaration && constructorDeclaration.kind === 155) { return constructorDeclaration.parent.symbol; } return undefined; case 9: case 13: if ((ts.isExternalModuleImportEqualsDeclaration(node.parent.parent) && ts.getExternalModuleImportEqualsDeclarationExpression(node.parent.parent) === node) || - ((node.parent.kind === 243 || node.parent.kind === 249) && node.parent.moduleSpecifier === node) || + ((node.parent.kind === 244 || node.parent.kind === 250) && node.parent.moduleSpecifier === node) || ((ts.isInJavaScriptFile(node) && ts.isRequireCall(node.parent, false)) || ts.isImportCall(node.parent)) || (ts.isLiteralTypeNode(node.parent) && ts.isLiteralImportTypeNode(node.parent.parent) && node.parent.parent.argument === node.parent)) { return resolveExternalModuleName(node, node); } case 8: - var objectType = ts.isElementAccessExpression(node.parent) - ? node.parent.argumentExpression === node ? getTypeOfExpression(node.parent.expression) : undefined - : ts.isLiteralTypeNode(node.parent) && ts.isIndexedAccessTypeNode(node.parent.parent) - ? getTypeFromTypeNode(node.parent.parent.objectType) + var objectType = ts.isElementAccessExpression(parent) + ? parent.argumentExpression === node ? getTypeOfExpression(parent.expression) : undefined + : ts.isLiteralTypeNode(parent) && ts.isIndexedAccessTypeNode(grandParent) + ? getTypeFromTypeNode(grandParent.objectType) : undefined; return objectType && getPropertyOfType(objectType, ts.escapeLeadingUnderscores(node.text)); case 79: case 89: case 36: return getSymbolOfNode(node.parent); - case 178: + case 179: return ts.isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal) : undefined; default: return undefined; } } function getShorthandAssignmentValueSymbol(location) { - if (location && location.kind === 270) { + if (location && location.kind === 271) { return resolveEntityName(location.name, 67216319 | 2097152); } return undefined; @@ -43064,7 +43358,7 @@ var ts; } function getTypeOfNode(node) { if (node.flags & 8388608) { - return unknownType; + return errorType; } if (ts.isPartOfTypeNode(node)) { var typeFromTypeNode = getTypeFromTypeNode(node); @@ -43107,29 +43401,29 @@ var ts; var symbol = getSymbolAtLocation(node); if (symbol) { var declaredType = getDeclaredTypeOfSymbol(symbol); - return declaredType !== unknownType ? declaredType : getTypeOfSymbol(symbol); + return declaredType !== errorType ? declaredType : getTypeOfSymbol(symbol); } } - return unknownType; + return errorType; } function getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr) { - ts.Debug.assert(expr.kind === 183 || expr.kind === 182); - if (expr.parent.kind === 221) { + ts.Debug.assert(expr.kind === 184 || expr.kind === 183); + if (expr.parent.kind === 222) { var iteratedType = checkRightHandSideOfForOf(expr.parent.expression, expr.parent.awaitModifier); - return checkDestructuringAssignment(expr, iteratedType || unknownType); + return checkDestructuringAssignment(expr, iteratedType || errorType); } - if (expr.parent.kind === 199) { + if (expr.parent.kind === 200) { var iteratedType = getTypeOfExpression(expr.parent.right); - return checkDestructuringAssignment(expr, iteratedType || unknownType); + return checkDestructuringAssignment(expr, iteratedType || errorType); } - if (expr.parent.kind === 269) { + if (expr.parent.kind === 270) { var typeOfParentObjectLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr.parent.parent); - return checkObjectLiteralDestructuringPropertyAssignment(typeOfParentObjectLiteral || unknownType, expr.parent); + return checkObjectLiteralDestructuringPropertyAssignment(typeOfParentObjectLiteral || errorType, expr.parent); } - ts.Debug.assert(expr.parent.kind === 182); + ts.Debug.assert(expr.parent.kind === 183); var typeOfArrayLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr.parent); - var elementType = checkIteratedTypeOrElementType(typeOfArrayLiteral || unknownType, expr.parent, false, false) || unknownType; - return checkArrayLiteralDestructuringElementAssignment(expr.parent, typeOfArrayLiteral, expr.parent.elements.indexOf(expr), elementType || unknownType); + var elementType = checkIteratedTypeOrElementType(typeOfArrayLiteral || errorType, expr.parent, false, false) || errorType; + return checkArrayLiteralDestructuringElementAssignment(expr.parent, typeOfArrayLiteral, expr.parent.elements.indexOf(expr), elementType || errorType); } function getPropertySymbolOfDestructuringAssignment(location) { var typeOfObjectLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(location.parent.parent); @@ -43186,11 +43480,11 @@ var ts; } return target; } - function isArgumentsLocalBinding(node) { - if (!ts.isGeneratedIdentifier(node)) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function isArgumentsLocalBinding(nodeIn) { + if (!ts.isGeneratedIdentifier(nodeIn)) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { - var isPropertyName_1 = node.parent.kind === 184 && node.parent.name === node; + var isPropertyName_1 = node.parent.kind === 185 && node.parent.name === node; return !isPropertyName_1 && getReferencedValueSymbol(node) === argumentsSymbol; } } @@ -43216,11 +43510,10 @@ var ts; } } function isNameOfModuleOrEnumDeclaration(node) { - var parent = node.parent; - return parent && ts.isModuleOrEnumDeclaration(parent) && node === parent.name; + return ts.isModuleOrEnumDeclaration(node.parent) && node === node.parent.name; } - function getReferencedExportContainer(node, prefixLocals) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedExportContainer(nodeIn, prefixLocals) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { var symbol = getReferencedValueSymbol(node, isNameOfModuleOrEnumDeclaration(node)); if (symbol) { @@ -43233,7 +43526,7 @@ var ts; } var parentSymbol_1 = getParentOfSymbol(symbol); if (parentSymbol_1) { - if (parentSymbol_1.flags & 512 && parentSymbol_1.valueDeclaration.kind === 273) { + if (parentSymbol_1.flags & 512 && parentSymbol_1.valueDeclaration.kind === 274) { var symbolFile = parentSymbol_1.valueDeclaration; var referenceFile = ts.getSourceFileOfNode(node); var symbolIsUmdExport = symbolFile !== referenceFile; @@ -43244,8 +43537,8 @@ var ts; } } } - function getReferencedImportDeclaration(node) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedImportDeclaration(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { var symbol = getReferencedValueSymbol(node); if (isNonLocalAlias(symbol, 67216319)) { @@ -43267,7 +43560,7 @@ var ts; else if (nodeLinks_1.flags & 131072) { var isDeclaredInLoop = nodeLinks_1.flags & 262144; var inLoopInitializer = ts.isIterationStatement(container, false); - var inLoopBodyBlock = container.kind === 212 && ts.isIterationStatement(container.parent, false); + var inLoopBodyBlock = container.kind === 213 && ts.isIterationStatement(container.parent, false); links.isDeclarationWithCollidingName = !ts.isBlockScopedContainerTopLevel(container) && (!isDeclaredInLoop || (!inLoopInitializer && !inLoopBodyBlock)); } else { @@ -43279,9 +43572,9 @@ var ts; } return false; } - function getReferencedDeclarationWithCollidingName(node) { - if (!ts.isGeneratedIdentifier(node)) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedDeclarationWithCollidingName(nodeIn) { + if (!ts.isGeneratedIdentifier(nodeIn)) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { var symbol = getReferencedValueSymbol(node); if (symbol && isSymbolOfDeclarationWithCollidingName(symbol)) { @@ -43291,8 +43584,8 @@ var ts; } return undefined; } - function isDeclarationWithCollidingName(node) { - node = ts.getParseTreeNode(node, ts.isDeclaration); + function isDeclarationWithCollidingName(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isDeclaration); if (node) { var symbol = getSymbolOfNode(node); if (symbol) { @@ -43303,16 +43596,16 @@ var ts; } function isValueAliasDeclaration(node) { switch (node.kind) { - case 242: - case 244: + case 243: case 245: - case 247: - case 251: - return isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol); - case 249: - var exportClause = node.exportClause; - return exportClause && ts.forEach(exportClause.elements, isValueAliasDeclaration); + case 246: case 248: + case 252: + return isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol); + case 250: + var exportClause = node.exportClause; + return !!exportClause && ts.some(exportClause.elements, isValueAliasDeclaration); + case 249: return node.expression && node.expression.kind === 71 ? isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol) @@ -43320,9 +43613,9 @@ var ts; } return false; } - function isTopLevelValueImportEqualsWithEntityName(node) { - node = ts.getParseTreeNode(node, ts.isImportEqualsDeclaration); - if (node === undefined || node.parent.kind !== 273 || !ts.isInternalModuleImportEqualsDeclaration(node)) { + function isTopLevelValueImportEqualsWithEntityName(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isImportEqualsDeclaration); + if (node === undefined || node.parent.kind !== 274 || !ts.isInternalModuleImportEqualsDeclaration(node)) { return false; } var isValue = isAliasResolvedToValue(getSymbolOfNode(node)); @@ -43333,11 +43626,11 @@ var ts; if (target === unknownSymbol) { return true; } - return target.flags & 67216319 && + return !!(target.flags & 67216319) && (compilerOptions.preserveConstEnums || !isConstEnumOrConstEnumOnlyModule(target)); } function isConstEnumOrConstEnumOnlyModule(s) { - return isConstEnumSymbol(s) || s.constEnumOnlyModule; + return isConstEnumSymbol(s) || !!s.constEnumOnlyModule; } function isReferencedAliasDeclaration(node, checkChildren) { if (ts.isAliasSymbolDeclaration(node)) { @@ -43351,7 +43644,7 @@ var ts; } } if (checkChildren) { - return ts.forEachChild(node, function (node) { return isReferencedAliasDeclaration(node, checkChildren); }); + return !!ts.forEachChild(node, function (node) { return isReferencedAliasDeclaration(node, checkChildren); }); } return false; } @@ -43367,10 +43660,10 @@ var ts; return false; } function isRequiredInitializedParameter(parameter) { - return strictNullChecks && + return !!strictNullChecks && !isOptionalParameter(parameter) && !ts.isJSDocParameterTag(parameter) && - parameter.initializer && + !!parameter.initializer && !ts.hasModifier(parameter, 92); } function isOptionalUninitializedParameterProperty(parameter) { @@ -43380,7 +43673,7 @@ var ts; ts.hasModifier(parameter, 92); } function getNodeCheckFlags(node) { - return getNodeLinks(node).flags; + return getNodeLinks(node).flags || 0; } function getEnumMemberValue(node) { computeEnumMemberValues(node.parent); @@ -43388,15 +43681,15 @@ var ts; } function canHaveConstantValue(node) { switch (node.kind) { - case 272: - case 184: + case 273: case 185: + case 186: return true; } return false; } function getConstantValue(node) { - if (node.kind === 272) { + if (node.kind === 273) { return getEnumMemberValue(node); } var symbol = getNodeLinks(node).resolvedSymbol; @@ -43408,10 +43701,10 @@ var ts; return undefined; } function isFunctionType(type) { - return type.flags & 65536 && getSignaturesOfType(type, 0).length > 0; + return !!(type.flags & 131072) && getSignaturesOfType(type, 0).length > 0; } - function getTypeReferenceSerializationKind(typeName, location) { - typeName = ts.getParseTreeNode(typeName, ts.isEntityName); + function getTypeReferenceSerializationKind(typeNameIn, location) { + var typeName = ts.getParseTreeNode(typeNameIn, ts.isEntityName); if (!typeName) return ts.TypeReferenceSerializationKind.Unknown; if (location) { @@ -43432,31 +43725,31 @@ var ts; } } if (!typeSymbol) { - return ts.TypeReferenceSerializationKind.ObjectType; - } - var type = getDeclaredTypeOfSymbol(typeSymbol); - if (type === unknownType) { return ts.TypeReferenceSerializationKind.Unknown; } - else if (type.flags & 1) { + var type = getDeclaredTypeOfSymbol(typeSymbol); + if (type === errorType) { + return ts.TypeReferenceSerializationKind.Unknown; + } + else if (type.flags & 3) { return ts.TypeReferenceSerializationKind.ObjectType; } - else if (isTypeAssignableToKind(type, 2048 | 12288 | 16384)) { + else if (isTypeAssignableToKind(type, 4096 | 24576 | 32768)) { return ts.TypeReferenceSerializationKind.VoidNullableOrNeverType; } - else if (isTypeAssignableToKind(type, 136)) { + else if (isTypeAssignableToKind(type, 272)) { return ts.TypeReferenceSerializationKind.BooleanType; } - else if (isTypeAssignableToKind(type, 84)) { + else if (isTypeAssignableToKind(type, 168)) { return ts.TypeReferenceSerializationKind.NumberLikeType; } - else if (isTypeAssignableToKind(type, 34)) { + else if (isTypeAssignableToKind(type, 68)) { return ts.TypeReferenceSerializationKind.StringLikeType; } else if (isTupleType(type)) { return ts.TypeReferenceSerializationKind.ArrayLikeType; } - else if (isTypeAssignableToKind(type, 1536)) { + else if (isTypeAssignableToKind(type, 3072)) { return ts.TypeReferenceSerializationKind.ESSymbolType; } else if (isFunctionType(type)) { @@ -43469,16 +43762,16 @@ var ts; return ts.TypeReferenceSerializationKind.ObjectType; } } - function createTypeOfDeclaration(declaration, enclosingDeclaration, flags, tracker, addUndefined) { - declaration = ts.getParseTreeNode(declaration, ts.isVariableLikeOrAccessor); + function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker, addUndefined) { + var declaration = ts.getParseTreeNode(declarationIn, ts.isVariableLikeOrAccessor); if (!declaration) { return ts.createToken(119); } var symbol = getSymbolOfNode(declaration); var type = symbol && !(symbol.flags & (2048 | 131072)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) - : unknownType; - if (type.flags & 1024 && + : errorType; + if (type.flags & 2048 && type.symbol === symbol) { flags |= 1048576; } @@ -43487,16 +43780,16 @@ var ts; } return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024, tracker); } - function createReturnTypeOfSignatureDeclaration(signatureDeclaration, enclosingDeclaration, flags, tracker) { - signatureDeclaration = ts.getParseTreeNode(signatureDeclaration, ts.isFunctionLike); + function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { + var signatureDeclaration = ts.getParseTreeNode(signatureDeclarationIn, ts.isFunctionLike); if (!signatureDeclaration) { return ts.createToken(119); } var signature = getSignatureFromDeclaration(signatureDeclaration); return nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosingDeclaration, flags | 1024, tracker); } - function createTypeOfExpression(expr, enclosingDeclaration, flags, tracker) { - expr = ts.getParseTreeNode(expr, ts.isExpression); + function createTypeOfExpression(exprIn, enclosingDeclaration, flags, tracker) { + var expr = ts.getParseTreeNode(exprIn, ts.isExpression); if (!expr) { return ts.createToken(119); } @@ -43520,9 +43813,9 @@ var ts; } return resolveName(location, reference.escapedText, 67216319 | 1048576 | 2097152, undefined, undefined, true); } - function getReferencedValueDeclaration(reference) { - if (!ts.isGeneratedIdentifier(reference)) { - reference = ts.getParseTreeNode(reference, ts.isIdentifier); + function getReferencedValueDeclaration(referenceIn) { + if (!ts.isGeneratedIdentifier(referenceIn)) { + var reference = ts.getParseTreeNode(referenceIn, ts.isIdentifier); if (reference) { var symbol = getReferencedValueSymbol(reference); if (symbol) { @@ -43535,7 +43828,7 @@ var ts; function isLiteralConstDeclaration(node) { if (ts.isConst(node)) { var type = getTypeOfSymbol(getSymbolOfNode(node)); - return !!(type.flags & 96 && type.flags & 8388608); + return !!(type.flags & 192 && type.flags & 33554432); } return false; } @@ -43575,7 +43868,7 @@ var ts; }, getNodeCheckFlags: function (node) { node = ts.getParseTreeNode(node); - return node ? getNodeCheckFlags(node) : undefined; + return node ? getNodeCheckFlags(node) : 0; }, isTopLevelValueImportEqualsWithEntityName: isTopLevelValueImportEqualsWithEntityName, isDeclarationVisible: isDeclarationVisible, @@ -43588,8 +43881,8 @@ var ts; createLiteralConstValue: createLiteralConstValue, isSymbolAccessible: isSymbolAccessible, isEntityNameVisible: isEntityNameVisible, - getConstantValue: function (node) { - node = ts.getParseTreeNode(node, canHaveConstantValue); + getConstantValue: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue(node) : undefined; }, collectLinkedAliases: collectLinkedAliases, @@ -43602,20 +43895,20 @@ var ts; getTypeReferenceDirectivesForEntityName: getTypeReferenceDirectivesForEntityName, getTypeReferenceDirectivesForSymbol: getTypeReferenceDirectivesForSymbol, isLiteralConstDeclaration: isLiteralConstDeclaration, - isLateBound: function (node) { - node = ts.getParseTreeNode(node, ts.isDeclaration); + isLateBound: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isDeclaration); var symbol = node && getSymbolOfNode(node); return !!(symbol && ts.getCheckFlags(symbol) & 1024); }, getJsxFactoryEntity: function (location) { return location ? (getJsxNamespace(location), (ts.getSourceFileOfNode(location).localJsxFactory || _jsxFactoryEntity)) : _jsxFactoryEntity; }, getAllAccessorDeclarations: function (accessor) { accessor = ts.getParseTreeNode(accessor, ts.isGetOrSetAccessorDeclaration); - var otherKind = accessor.kind === 156 ? 155 : 156; + var otherKind = accessor.kind === 157 ? 156 : 157; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(accessor), otherKind); var firstAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? otherAccessor : accessor; var secondAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? accessor : otherAccessor; - var setAccessor = accessor.kind === 156 ? accessor : otherAccessor; - var getAccessor = accessor.kind === 155 ? accessor : otherAccessor; + var setAccessor = accessor.kind === 157 ? accessor : otherAccessor; + var getAccessor = accessor.kind === 156 ? accessor : otherAccessor; return { firstAccessor: firstAccessor, secondAccessor: secondAccessor, @@ -43625,14 +43918,14 @@ var ts; } }; function isInHeritageClause(node) { - return node.parent && node.parent.kind === 206 && node.parent.parent && node.parent.parent.kind === 267; + return node.parent && node.parent.kind === 207 && node.parent.parent && node.parent.parent.kind === 268; } function getTypeReferenceDirectivesForEntityName(node) { if (!fileToDirective) { return undefined; } var meaning = 67901928 | 1920; - if ((node.kind === 71 && isInTypeQuery(node)) || (node.kind === 184 && !isInHeritageClause(node))) { + if ((node.kind === 71 && isInTypeQuery(node)) || (node.kind === 185 && !isInHeritageClause(node))) { meaning = 67216319 | 1048576; } var symbol = resolveEntityName(node, meaning, true); @@ -43675,7 +43968,7 @@ var ts; break; } } - if (current.valueDeclaration && current.valueDeclaration.kind === 273 && current.flags & 512) { + if (current.valueDeclaration && current.valueDeclaration.kind === 274 && current.flags & 512) { return false; } for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { @@ -43689,12 +43982,12 @@ var ts; } } function getExternalModuleFileFromDeclaration(declaration) { - var specifier = declaration.kind === 238 ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); + var specifier = declaration.kind === 239 ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); var moduleSymbol = resolveExternalModuleNameWorker(specifier, specifier, undefined); if (!moduleSymbol) { return undefined; } - return ts.getDeclarationOfKind(moduleSymbol, 273); + return ts.getDeclarationOfKind(moduleSymbol, 274); } function initializeTypeChecker() { for (var _i = 0, _a = host.getSourceFiles(); _i < _a.length; _i++) { @@ -43736,7 +44029,7 @@ var ts; addToSymbolTable(globals, builtinGlobals, ts.Diagnostics.Declaration_name_conflicts_with_built_in_global_identifier_0); getSymbolLinks(undefinedSymbol).type = undefinedWideningType; getSymbolLinks(argumentsSymbol).type = getGlobalType("IArguments", 0, true); - getSymbolLinks(unknownSymbol).type = unknownType; + getSymbolLinks(unknownSymbol).type = errorType; globalArrayType = getGlobalType("Array", 1, true); globalObjectType = getGlobalType("Object", 0, true); globalFunctionType = getGlobalType("Function", 0, true); @@ -43804,7 +44097,7 @@ var ts; case 16384: return "__asyncValues"; case 32768: return "__exportStar"; case 65536: return "__makeTemplateObject"; - default: ts.Debug.fail("Unrecognized helper"); + default: return ts.Debug.fail("Unrecognized helper"); } } function resolveHelpersModule(node, errorNode) { @@ -43821,14 +44114,14 @@ var ts; return false; } if (!ts.nodeCanBeDecorated(node, node.parent, node.parent.parent)) { - if (node.kind === 153 && !ts.nodeIsPresent(node.body)) { + if (node.kind === 154 && !ts.nodeIsPresent(node.body)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload); } else { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here); } } - else if (node.kind === 155 || node.kind === 156) { + else if (node.kind === 156 || node.kind === 157) { var accessors = ts.getAllAccessorDeclarations(node.parent.members, node); if (accessors.firstAccessor.decorators && node === accessors.secondAccessor) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name); @@ -43846,16 +44139,16 @@ var ts; for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; if (modifier.kind !== 132) { - if (node.kind === 150 || node.kind === 152) { + if (node.kind === 151 || node.kind === 153) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_type_member, ts.tokenToString(modifier.kind)); } - if (node.kind === 159) { + if (node.kind === 160) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_an_index_signature, ts.tokenToString(modifier.kind)); } } switch (modifier.kind) { case 76: - if (node.kind !== 237 && node.parent.kind === 234) { + if (node.kind !== 238 && node.parent.kind === 235) { return grammarErrorOnNode(node, ts.Diagnostics.A_class_member_cannot_have_the_0_keyword, ts.tokenToString(76)); } break; @@ -43875,7 +44168,7 @@ var ts; else if (flags & 256) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "async"); } - else if (node.parent.kind === 239 || node.parent.kind === 273) { + else if (node.parent.kind === 240 || node.parent.kind === 274) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, text); } else if (flags & 128) { @@ -43898,10 +44191,10 @@ var ts; else if (flags & 256) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "static", "async"); } - else if (node.parent.kind === 239 || node.parent.kind === 273) { + else if (node.parent.kind === 240 || node.parent.kind === 274) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, "static"); } - else if (node.kind === 148) { + else if (node.kind === 149) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "static"); } else if (flags & 128) { @@ -43914,7 +44207,7 @@ var ts; if (flags & 64) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "readonly"); } - else if (node.kind !== 151 && node.kind !== 150 && node.kind !== 159 && node.kind !== 148) { + else if (node.kind !== 152 && node.kind !== 151 && node.kind !== 160 && node.kind !== 149) { return grammarErrorOnNode(modifier, ts.Diagnostics.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature); } flags |= 64; @@ -43933,17 +44226,17 @@ var ts; else if (flags & 256) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "async"); } - else if (node.parent.kind === 234) { + else if (node.parent.kind === 235) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "export"); } - else if (node.kind === 148) { + else if (node.kind === 149) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "export"); } flags |= 1; break; case 79: - var container = node.parent.kind === 273 ? node.parent : node.parent.parent; - if (container.kind === 238 && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 274 ? node.parent : node.parent.parent; + if (container.kind === 239 && !ts.isAmbientModule(container)) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module); } flags |= 512; @@ -43955,13 +44248,13 @@ var ts; else if (flags & 256) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (node.parent.kind === 234) { + else if (node.parent.kind === 235) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "declare"); } - else if (node.kind === 148) { + else if (node.kind === 149) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "declare"); } - else if ((node.parent.flags & 4194304) && node.parent.kind === 239) { + else if ((node.parent.flags & 4194304) && node.parent.kind === 240) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); } flags |= 2; @@ -43971,14 +44264,14 @@ var ts; if (flags & 128) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "abstract"); } - if (node.kind !== 234) { - if (node.kind !== 153 && - node.kind !== 151 && - node.kind !== 155 && - node.kind !== 156) { + if (node.kind !== 235) { + if (node.kind !== 154 && + node.kind !== 152 && + node.kind !== 156 && + node.kind !== 157) { return grammarErrorOnNode(modifier, ts.Diagnostics.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration); } - if (!(node.parent.kind === 234 && ts.hasModifier(node.parent, 128))) { + if (!(node.parent.kind === 235 && ts.hasModifier(node.parent, 128))) { return grammarErrorOnNode(modifier, ts.Diagnostics.Abstract_methods_can_only_appear_within_an_abstract_class); } if (flags & 32) { @@ -43997,7 +44290,7 @@ var ts; else if (flags & 2 || node.parent.flags & 4194304) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (node.kind === 148) { + else if (node.kind === 149) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "async"); } flags |= 256; @@ -44005,7 +44298,7 @@ var ts; break; } } - if (node.kind === 154) { + if (node.kind === 155) { if (flags & 32) { return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); } @@ -44018,20 +44311,21 @@ var ts; else if (flags & 64) { return grammarErrorOnNode(lastReadonly, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "readonly"); } - return; + return false; } - else if ((node.kind === 243 || node.kind === 242) && flags & 2) { + else if ((node.kind === 244 || node.kind === 243) && flags & 2) { return grammarErrorOnNode(lastDeclare, ts.Diagnostics.A_0_modifier_cannot_be_used_with_an_import_declaration, "declare"); } - else if (node.kind === 148 && (flags & 92) && ts.isBindingPattern(node.name)) { + else if (node.kind === 149 && (flags & 92) && ts.isBindingPattern(node.name)) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_may_not_be_declared_using_a_binding_pattern); } - else if (node.kind === 148 && (flags & 92) && node.dotDotDotToken) { + else if (node.kind === 149 && (flags & 92) && node.dotDotDotToken) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_cannot_be_declared_using_a_rest_parameter); } if (flags & 256) { return checkGrammarAsyncModifier(node, lastAsync); } + return false; } function reportObviousModifierErrors(node) { return !node.modifiers @@ -44042,37 +44336,37 @@ var ts; } function shouldReportBadModifier(node) { switch (node.kind) { - case 155: case 156: - case 154: - case 151: - case 150: - case 153: + case 157: + case 155: case 152: - case 159: - case 238: + case 151: + case 154: + case 153: + case 160: + case 239: + case 244: case 243: - case 242: + case 250: case 249: - case 248: - case 191: case 192: - case 148: + case 193: + case 149: return false; default: - if (node.parent.kind === 239 || node.parent.kind === 273) { + if (node.parent.kind === 240 || node.parent.kind === 274) { return false; } switch (node.kind) { - case 233: - return nodeHasAnyModifiersExcept(node, 120); case 234: - return nodeHasAnyModifiersExcept(node, 117); + return nodeHasAnyModifiersExcept(node, 120); case 235: - case 213: + return nodeHasAnyModifiersExcept(node, 117); case 236: - return true; + case 214: case 237: + return true; + case 238: return nodeHasAnyModifiersExcept(node, 76); default: ts.Debug.fail(); @@ -44085,10 +44379,10 @@ var ts; } function checkGrammarAsyncModifier(node, asyncModifier) { switch (node.kind) { - case 153: - case 233: - case 191: + case 154: + case 234: case 192: + case 193: return false; } return grammarErrorOnNode(asyncModifier, ts.Diagnostics._0_modifier_cannot_be_used_here, "async"); @@ -44098,6 +44392,7 @@ var ts; if (list && list.hasTrailingComma) { return grammarErrorAtPos(list[0], list.end - ",".length, ",".length, diag); } + return false; } function checkGrammarTypeParameterList(typeParameters, file) { if (typeParameters && typeParameters.length === 0) { @@ -44105,6 +44400,7 @@ var ts; var end = ts.skipTrivia(file.text, typeParameters.end) + ">".length; return grammarErrorAtPos(file, start, end - start, ts.Diagnostics.Type_parameter_list_cannot_be_empty); } + return false; } function checkGrammarParameterList(parameters) { var seenOptionalParameter = false; @@ -44184,10 +44480,10 @@ var ts; } if (parameter.type.kind !== 137 && parameter.type.kind !== 134) { var type = getTypeFromTypeNode(parameter.type); - if (type.flags & 2 || type.flags & 4) { + if (type.flags & 4 || type.flags & 8) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead, ts.getTextOfNode(parameter.name), typeToString(type), typeToString(getTypeFromTypeNode(node.type))); } - if (type.flags & 131072 && allTypesAssignableToKind(type, 32, true)) { + if (type.flags & 262144 && allTypesAssignableToKind(type, 64, true)) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead); } return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_must_be_string_or_number); @@ -44195,6 +44491,7 @@ var ts; if (!node.type) { return grammarErrorOnNode(node, ts.Diagnostics.An_index_signature_must_have_a_type_annotation); } + return false; } function checkGrammarIndexSignature(node) { return checkGrammarDecoratorsAndModifiers(node) || checkGrammarIndexSignatureParameters(node); @@ -44206,6 +44503,7 @@ var ts; var end = ts.skipTrivia(sourceFile.text, typeArguments.end) + ">".length; return grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.Type_argument_list_cannot_be_empty); } + return false; } function checkGrammarTypeArguments(node, typeArguments) { return checkGrammarForDisallowedTrailingComma(typeArguments) || @@ -44215,11 +44513,12 @@ var ts; if (args) { for (var _i = 0, args_5 = args; _i < args_5.length; _i++) { var arg = args_5[_i]; - if (arg.kind === 205) { + if (arg.kind === 206) { return grammarErrorAtPos(arg, arg.pos, 0, ts.Diagnostics.Argument_expression_expected); } } } + return false; } function checkGrammarArguments(args) { return checkGrammarForOmittedArgument(args); @@ -44233,7 +44532,7 @@ var ts; var listType = ts.tokenToString(node.token); return grammarErrorAtPos(node, types.pos, 0, ts.Diagnostics._0_list_cannot_be_empty, listType); } - return ts.forEach(types, checkGrammarExpressionWithTypeArguments); + return ts.some(types, checkGrammarExpressionWithTypeArguments); } function checkGrammarExpressionWithTypeArguments(node) { return checkGrammarTypeArguments(node, node.typeArguments); @@ -44288,19 +44587,20 @@ var ts; return false; } function checkGrammarComputedPropertyName(node) { - if (node.kind !== 146) { + if (node.kind !== 147) { return false; } var computedPropertyName = node; - if (computedPropertyName.expression.kind === 199 && computedPropertyName.expression.operatorToken.kind === 26) { + if (computedPropertyName.expression.kind === 200 && computedPropertyName.expression.operatorToken.kind === 26) { return grammarErrorOnNode(computedPropertyName.expression, ts.Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name); } + return false; } function checkGrammarForGenerator(node) { if (node.asteriskToken) { - ts.Debug.assert(node.kind === 233 || - node.kind === 191 || - node.kind === 153); + ts.Debug.assert(node.kind === 234 || + node.kind === 192 || + node.kind === 154); if (node.flags & 4194304) { return grammarErrorOnNode(node.asteriskToken, ts.Diagnostics.Generators_are_not_allowed_in_an_ambient_context); } @@ -44310,9 +44610,7 @@ var ts; } } function checkGrammarForInvalidQuestionMark(questionToken, message) { - if (questionToken) { - return grammarErrorOnNode(questionToken, message); - } + return !!questionToken && grammarErrorOnNode(questionToken, message); } function checkGrammarObjectLiteralExpression(node, inDestructuring) { var Flags; @@ -44325,43 +44623,43 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 271) { + if (prop.kind === 272) { continue; } var name = prop.name; - if (name.kind === 146) { + if (name.kind === 147) { checkGrammarComputedPropertyName(name); } - if (prop.kind === 270 && !inDestructuring && prop.objectAssignmentInitializer) { + if (prop.kind === 271 && !inDestructuring && prop.objectAssignmentInitializer) { return grammarErrorOnNode(prop.equalsToken, ts.Diagnostics.can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment); } if (prop.modifiers) { for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { var mod = _c[_b]; - if (mod.kind !== 120 || prop.kind !== 153) { + if (mod.kind !== 120 || prop.kind !== 154) { grammarErrorOnNode(mod, ts.Diagnostics._0_modifier_cannot_be_used_here, ts.getTextOfNode(mod)); } } } var currentKind = void 0; switch (prop.kind) { - case 269: case 270: + case 271: checkGrammarForInvalidQuestionMark(prop.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional); if (name.kind === 8) { checkGrammarNumericLiteral(name); } - case 153: + case 154: currentKind = 1; break; - case 155: + case 156: currentKind = 2; break; - case 156: + case 157: currentKind = 4; break; default: - ts.Debug.assertNever(prop, "Unexpected syntax kind:" + prop.kind); + throw ts.Debug.assertNever(prop, "Unexpected syntax kind:" + prop.kind); } var effectiveName = ts.getPropertyNameForPropertyNameNode(name); if (effectiveName === undefined) { @@ -44394,7 +44692,7 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.attributes.properties; _i < _a.length; _i++) { var attr = _a[_i]; - if (attr.kind === 263) { + if (attr.kind === 264) { continue; } var name = attr.name, initializer = attr.initializer; @@ -44404,7 +44702,7 @@ var ts; else { return grammarErrorOnNode(name, ts.Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name); } - if (initializer && initializer.kind === 264 && !initializer.expression) { + if (initializer && initializer.kind === 265 && !initializer.expression) { return grammarErrorOnNode(initializer, ts.Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression); } } @@ -44413,12 +44711,12 @@ var ts; if (checkGrammarStatementInAmbientContext(forInOrOfStatement)) { return true; } - if (forInOrOfStatement.kind === 221 && forInOrOfStatement.awaitModifier) { + if (forInOrOfStatement.kind === 222 && forInOrOfStatement.awaitModifier) { if ((forInOrOfStatement.flags & 16384) === 0) { return grammarErrorOnNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator); } } - if (forInOrOfStatement.initializer.kind === 232) { + if (forInOrOfStatement.initializer.kind === 233) { var variableList = forInOrOfStatement.initializer; if (!checkGrammarVariableDeclarationList(variableList)) { var declarations = variableList.declarations; @@ -44426,20 +44724,20 @@ var ts; return false; } if (declarations.length > 1) { - var diagnostic = forInOrOfStatement.kind === 220 + var diagnostic = forInOrOfStatement.kind === 221 ? ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement : ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement; return grammarErrorOnFirstToken(variableList.declarations[1], diagnostic); } var firstDeclaration = declarations[0]; if (firstDeclaration.initializer) { - var diagnostic = forInOrOfStatement.kind === 220 + var diagnostic = forInOrOfStatement.kind === 221 ? ts.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer : ts.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer; return grammarErrorOnNode(firstDeclaration.name, diagnostic); } if (firstDeclaration.type) { - var diagnostic = forInOrOfStatement.kind === 220 + var diagnostic = forInOrOfStatement.kind === 221 ? ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation : ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation; return grammarErrorOnNode(firstDeclaration, diagnostic); @@ -44466,11 +44764,11 @@ var ts; return grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_have_type_parameters); } else if (!doesAccessorHaveCorrectParameterCount(accessor)) { - return grammarErrorOnNode(accessor.name, kind === 155 ? + return grammarErrorOnNode(accessor.name, kind === 156 ? ts.Diagnostics.A_get_accessor_cannot_have_parameters : ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter); } - else if (kind === 156) { + else if (kind === 157) { if (accessor.type) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation); } @@ -44487,12 +44785,13 @@ var ts; } } } + return false; } function doesAccessorHaveCorrectParameterCount(accessor) { - return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 155 ? 0 : 1); + return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 156 ? 0 : 1); } function getAccessorThisParameter(accessor) { - if (accessor.parameters.length === (accessor.kind === 155 ? 1 : 2)) { + if (accessor.parameters.length === (accessor.kind === 156 ? 1 : 2)) { return ts.getThisParameter(accessor); } } @@ -44503,7 +44802,7 @@ var ts; } var parent = ts.walkUpParenthesizedTypes(node.parent); switch (parent.kind) { - case 231: + case 232: var decl = parent; if (decl.name.kind !== 71) { return grammarErrorOnNode(node, ts.Diagnostics.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name); @@ -44515,13 +44814,13 @@ var ts; return grammarErrorOnNode(parent.name, ts.Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const); } break; - case 151: + case 152: if (!ts.hasModifier(parent, 32) || !ts.hasModifier(parent, 64)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly); } break; - case 150: + case 151: if (!ts.hasModifier(parent, 64)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly); } @@ -44540,8 +44839,8 @@ var ts; if (checkGrammarFunctionLikeDeclaration(node)) { return true; } - if (node.kind === 153) { - if (node.parent.kind === 183) { + if (node.kind === 154) { + if (node.parent.kind === 184) { if (node.modifiers && !(node.modifiers.length === 1 && ts.first(node.modifiers).kind === 120)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Modifiers_cannot_appear_here); } @@ -44560,14 +44859,14 @@ var ts; if (node.flags & 4194304) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.kind === 153 && !node.body) { + else if (node.kind === 154 && !node.body) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } - else if (node.parent.kind === 235) { + else if (node.parent.kind === 236) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.parent.kind === 165) { + else if (node.parent.kind === 166) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } @@ -44578,9 +44877,9 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.Jump_target_cannot_cross_function_boundary); } switch (current.kind) { - case 227: + case 228: if (node.label && current.label.escapedText === node.label.escapedText) { - var isMisplacedContinueLabel = node.kind === 222 + var isMisplacedContinueLabel = node.kind === 223 && !ts.isIterationStatement(current.statement, true); if (isMisplacedContinueLabel) { return grammarErrorOnNode(node, ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement); @@ -44588,8 +44887,8 @@ var ts; return false; } break; - case 226: - if (node.kind === 223 && !node.label) { + case 227: + if (node.kind === 224 && !node.label) { return false; } break; @@ -44602,13 +44901,13 @@ var ts; current = current.parent; } if (node.label) { - var message = node.kind === 223 + var message = node.kind === 224 ? ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); } else { - var message = node.kind === 223 + var message = node.kind === 224 ? ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); @@ -44621,7 +44920,7 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern); } checkGrammarForDisallowedTrailingComma(elements, ts.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma); - if (node.name.kind === 180 || node.name.kind === 179) { + if (node.name.kind === 181 || node.name.kind === 180) { return grammarErrorOnNode(node.name, ts.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern); } if (node.propertyName) { @@ -44634,11 +44933,11 @@ var ts; } function isStringOrNumberLiteralExpression(expr) { return expr.kind === 9 || expr.kind === 8 || - expr.kind === 197 && expr.operator === 38 && + expr.kind === 198 && expr.operator === 38 && expr.operand.kind === 8; } function checkGrammarVariableDeclaration(node) { - if (node.parent.parent.kind !== 220 && node.parent.parent.kind !== 221) { + if (node.parent.parent.kind !== 221 && node.parent.parent.kind !== 222) { if (node.flags & 4194304) { if (node.initializer) { if (ts.isConst(node) && !node.type) { @@ -44665,7 +44964,7 @@ var ts; } } } - if (node.exclamationToken && (node.parent.parent.kind !== 213 || !node.type || node.initializer || node.flags & 4194304)) { + if (node.exclamationToken && (node.parent.parent.kind !== 214 || !node.type || node.initializer || node.flags & 4194304)) { return grammarErrorOnNode(node.exclamationToken, ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context); } if (compilerOptions.module !== ts.ModuleKind.ES2015 && compilerOptions.module !== ts.ModuleKind.ESNext && compilerOptions.module !== ts.ModuleKind.System && !compilerOptions.noEmit && @@ -44690,6 +44989,7 @@ var ts; } } } + return false; } function checkGrammarNameInLetOrConstDeclarations(name) { if (name.kind === 71) { @@ -44706,6 +45006,7 @@ var ts; } } } + return false; } function checkGrammarVariableDeclarationList(declarationList) { var declarations = declarationList.declarations; @@ -44715,18 +45016,19 @@ var ts; if (!declarationList.declarations.length) { return grammarErrorAtPos(declarationList, declarations.pos, declarations.end - declarations.pos, ts.Diagnostics.Variable_declaration_list_cannot_be_empty); } + return false; } function allowLetAndConstDeclarations(parent) { switch (parent.kind) { - case 216: case 217: case 218: - case 225: case 219: + case 226: case 220: case 221: + case 222: return false; - case 227: + case 228: return allowLetAndConstDeclarations(parent.parent); } return true; @@ -44766,6 +45068,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, span.start, span.length, message, arg0, arg1, arg2)); return true; } + return false; } function grammarErrorAtPos(nodeForSourceFile, start, length, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(nodeForSourceFile); @@ -44773,6 +45076,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, start, length, message, arg0, arg1, arg2)); return true; } + return false; } function grammarErrorOnNode(node, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(node); @@ -44780,11 +45084,12 @@ var ts; diagnostics.add(ts.createDiagnosticForNode(node, message, arg0, arg1, arg2)); return true; } + return false; } function checkGrammarConstructorTypeParameters(node) { - var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); - if (ts.isNodeArray(typeParameters)) { - var pos = typeParameters.pos, end = typeParameters.end; + var jsdocTypeParameters = ts.isInJavaScriptFile(node) && ts.getJSDocTypeParameterDeclarations(node); + if (node.typeParameters || jsdocTypeParameters && jsdocTypeParameters.length) { + var _a = node.typeParameters || jsdocTypeParameters && jsdocTypeParameters[0] || node, pos = _a.pos, end = _a.end; return grammarErrorAtPos(node, pos, end - pos, ts.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration); } } @@ -44800,7 +45105,7 @@ var ts; return true; } } - else if (node.parent.kind === 235) { + else if (node.parent.kind === 236) { if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } @@ -44808,7 +45113,7 @@ var ts; return grammarErrorOnNode(node.initializer, ts.Diagnostics.An_interface_property_cannot_have_an_initializer); } } - else if (node.parent.kind === 165) { + else if (node.parent.kind === 166) { if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } @@ -44825,13 +45130,13 @@ var ts; } } function checkGrammarTopLevelElementForRequiredDeclareModifier(node) { - if (node.kind === 235 || - node.kind === 236 || + if (node.kind === 236 || + node.kind === 237 || + node.kind === 244 || node.kind === 243 || - node.kind === 242 || + node.kind === 250 || node.kind === 249 || - node.kind === 248 || - node.kind === 241 || + node.kind === 242 || ts.hasModifier(node, 2 | 1 | 512)) { return false; } @@ -44840,12 +45145,13 @@ var ts; function checkGrammarTopLevelElementsForRequiredDeclareModifier(file) { for (var _i = 0, _a = file.statements; _i < _a.length; _i++) { var decl = _a[_i]; - if (ts.isDeclaration(decl) || decl.kind === 213) { + if (ts.isDeclaration(decl) || decl.kind === 214) { if (checkGrammarTopLevelElementForRequiredDeclareModifier(decl)) { return true; } } } + return false; } function checkGrammarSourceFile(node) { return !!(node.flags & 4194304) && checkGrammarTopLevelElementsForRequiredDeclareModifier(node); @@ -44859,7 +45165,7 @@ var ts; if (!links.hasReportedStatementInAmbientContext && ts.isFunctionLike(node.parent)) { return getNodeLinks(node).hasReportedStatementInAmbientContext = grammarErrorOnFirstToken(node, ts.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts); } - if (node.parent.kind === 212 || node.parent.kind === 239 || node.parent.kind === 273) { + if (node.parent.kind === 213 || node.parent.kind === 240 || node.parent.kind === 274) { var links_1 = getNodeLinks(node.parent); if (!links_1.hasReportedStatementInAmbientContext) { return links_1.hasReportedStatementInAmbientContext = grammarErrorOnFirstToken(node, ts.Diagnostics.Statements_are_not_allowed_in_ambient_contexts); @@ -44868,6 +45174,7 @@ var ts; else { } } + return false; } function checkGrammarNumericLiteral(node) { if (node.numericLiteralFlags & 32) { @@ -44875,10 +45182,10 @@ var ts; if (languageVersion >= 1) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 177)) { + else if (ts.isChildOfNodeWithKind(node, 178)) { diagnosticMessage = ts.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 272)) { + else if (ts.isChildOfNodeWithKind(node, 273)) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0; } if (diagnosticMessage) { @@ -44887,6 +45194,7 @@ var ts; return grammarErrorOnNode(withMinus ? node.parent : node, diagnosticMessage, literal); } } + return false; } function grammarErrorAfterFirstToken(node, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(node); @@ -44895,6 +45203,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, ts.textSpanEnd(span), 0, message, arg0, arg1, arg2)); return true; } + return false; } function getAmbientModules() { if (!ambientModulesCache) { @@ -44921,13 +45230,14 @@ var ts; if (ts.isSpreadElement(nodeArguments[0])) { return grammarErrorOnNode(nodeArguments[0], ts.Diagnostics.Specifier_of_dynamic_import_cannot_be_spread_element); } + return false; } } ts.createTypeChecker = createTypeChecker; function isDeclarationNameOrImportPropertyName(name) { switch (name.parent.kind) { - case 247: - case 251: + case 248: + case 252: return ts.isIdentifier(name); default: return ts.isDeclarationName(name); @@ -44935,13 +45245,13 @@ var ts; } function isSomeImportDeclaration(decl) { switch (decl.kind) { - case 244: - case 242: case 245: - case 247: + case 243: + case 246: + case 248: return true; case 71: - return decl.parent.kind === 247; + return decl.parent.kind === 248; default: return false; } @@ -44990,7 +45300,7 @@ var ts; ts.createNodeArray = createNodeArray; function getSynthesizedClone(node) { if (node === undefined) { - return undefined; + return node; } var clone = createSynthesizedNode(node.kind); clone.flags |= node.flags; @@ -45183,7 +45493,7 @@ var ts; } ts.createModifiersFromModifierFlags = createModifiersFromModifierFlags; function createQualifiedName(left, right) { - var node = createSynthesizedNode(145); + var node = createSynthesizedNode(146); node.left = left; node.right = asName(right); return node; @@ -45198,12 +45508,12 @@ var ts; ts.updateQualifiedName = updateQualifiedName; function parenthesizeForComputedName(expression) { return (ts.isBinaryExpression(expression) && expression.operatorToken.kind === 26) || - expression.kind === 301 ? + expression.kind === 302 ? createParen(expression) : expression; } function createComputedPropertyName(expression) { - var node = createSynthesizedNode(146); + var node = createSynthesizedNode(147); node.expression = parenthesizeForComputedName(expression); return node; } @@ -45215,7 +45525,7 @@ var ts; } ts.updateComputedPropertyName = updateComputedPropertyName; function createTypeParameterDeclaration(name, constraint, defaultType) { - var node = createSynthesizedNode(147); + var node = createSynthesizedNode(148); node.name = asName(name); node.constraint = constraint; node.default = defaultType; @@ -45231,7 +45541,7 @@ var ts; } ts.updateTypeParameterDeclaration = updateTypeParameterDeclaration; function createParameter(decorators, modifiers, dotDotDotToken, name, questionToken, type, initializer) { - var node = createSynthesizedNode(148); + var node = createSynthesizedNode(149); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.dotDotDotToken = dotDotDotToken; @@ -45255,7 +45565,7 @@ var ts; } ts.updateParameter = updateParameter; function createDecorator(expression) { - var node = createSynthesizedNode(149); + var node = createSynthesizedNode(150); node.expression = ts.parenthesizeForAccess(expression); return node; } @@ -45267,7 +45577,7 @@ var ts; } ts.updateDecorator = updateDecorator; function createPropertySignature(modifiers, name, questionToken, type, initializer) { - var node = createSynthesizedNode(150); + var node = createSynthesizedNode(151); node.modifiers = asNodeArray(modifiers); node.name = asName(name); node.questionToken = questionToken; @@ -45287,7 +45597,7 @@ var ts; } ts.updatePropertySignature = updatePropertySignature; function createProperty(decorators, modifiers, name, questionOrExclamationToken, type, initializer) { - var node = createSynthesizedNode(151); + var node = createSynthesizedNode(152); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -45311,7 +45621,7 @@ var ts; } ts.updateProperty = updateProperty; function createMethodSignature(typeParameters, parameters, type, name, questionToken) { - var node = createSignatureDeclaration(152, typeParameters, parameters, type); + var node = createSignatureDeclaration(153, typeParameters, parameters, type); node.name = asName(name); node.questionToken = questionToken; return node; @@ -45328,7 +45638,7 @@ var ts; } ts.updateMethodSignature = updateMethodSignature; function createMethod(decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(153); + var node = createSynthesizedNode(154); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; @@ -45356,7 +45666,7 @@ var ts; } ts.updateMethod = updateMethod; function createConstructor(decorators, modifiers, parameters, body) { - var node = createSynthesizedNode(154); + var node = createSynthesizedNode(155); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.typeParameters = undefined; @@ -45376,7 +45686,7 @@ var ts; } ts.updateConstructor = updateConstructor; function createGetAccessor(decorators, modifiers, name, parameters, type, body) { - var node = createSynthesizedNode(155); + var node = createSynthesizedNode(156); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -45399,7 +45709,7 @@ var ts; } ts.updateGetAccessor = updateGetAccessor; function createSetAccessor(decorators, modifiers, name, parameters, body) { - var node = createSynthesizedNode(156); + var node = createSynthesizedNode(157); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -45420,7 +45730,7 @@ var ts; } ts.updateSetAccessor = updateSetAccessor; function createCallSignature(typeParameters, parameters, type) { - return createSignatureDeclaration(157, typeParameters, parameters, type); + return createSignatureDeclaration(158, typeParameters, parameters, type); } ts.createCallSignature = createCallSignature; function updateCallSignature(node, typeParameters, parameters, type) { @@ -45428,7 +45738,7 @@ var ts; } ts.updateCallSignature = updateCallSignature; function createConstructSignature(typeParameters, parameters, type) { - return createSignatureDeclaration(158, typeParameters, parameters, type); + return createSignatureDeclaration(159, typeParameters, parameters, type); } ts.createConstructSignature = createConstructSignature; function updateConstructSignature(node, typeParameters, parameters, type) { @@ -45436,7 +45746,7 @@ var ts; } ts.updateConstructSignature = updateConstructSignature; function createIndexSignature(decorators, modifiers, parameters, type) { - var node = createSynthesizedNode(159); + var node = createSynthesizedNode(160); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.parameters = createNodeArray(parameters); @@ -45474,7 +45784,7 @@ var ts; } ts.createKeywordTypeNode = createKeywordTypeNode; function createTypePredicateNode(parameterName, type) { - var node = createSynthesizedNode(160); + var node = createSynthesizedNode(161); node.parameterName = asName(parameterName); node.type = type; return node; @@ -45488,7 +45798,7 @@ var ts; } ts.updateTypePredicateNode = updateTypePredicateNode; function createTypeReferenceNode(typeName, typeArguments) { - var node = createSynthesizedNode(161); + var node = createSynthesizedNode(162); node.typeName = asName(typeName); node.typeArguments = typeArguments && ts.parenthesizeTypeParameters(typeArguments); return node; @@ -45502,7 +45812,7 @@ var ts; } ts.updateTypeReferenceNode = updateTypeReferenceNode; function createFunctionTypeNode(typeParameters, parameters, type) { - return createSignatureDeclaration(162, typeParameters, parameters, type); + return createSignatureDeclaration(163, typeParameters, parameters, type); } ts.createFunctionTypeNode = createFunctionTypeNode; function updateFunctionTypeNode(node, typeParameters, parameters, type) { @@ -45510,7 +45820,7 @@ var ts; } ts.updateFunctionTypeNode = updateFunctionTypeNode; function createConstructorTypeNode(typeParameters, parameters, type) { - return createSignatureDeclaration(163, typeParameters, parameters, type); + return createSignatureDeclaration(164, typeParameters, parameters, type); } ts.createConstructorTypeNode = createConstructorTypeNode; function updateConstructorTypeNode(node, typeParameters, parameters, type) { @@ -45518,7 +45828,7 @@ var ts; } ts.updateConstructorTypeNode = updateConstructorTypeNode; function createTypeQueryNode(exprName) { - var node = createSynthesizedNode(164); + var node = createSynthesizedNode(165); node.exprName = exprName; return node; } @@ -45530,7 +45840,7 @@ var ts; } ts.updateTypeQueryNode = updateTypeQueryNode; function createTypeLiteralNode(members) { - var node = createSynthesizedNode(165); + var node = createSynthesizedNode(166); node.members = createNodeArray(members); return node; } @@ -45542,7 +45852,7 @@ var ts; } ts.updateTypeLiteralNode = updateTypeLiteralNode; function createArrayTypeNode(elementType) { - var node = createSynthesizedNode(166); + var node = createSynthesizedNode(167); node.elementType = ts.parenthesizeArrayTypeMember(elementType); return node; } @@ -45554,7 +45864,7 @@ var ts; } ts.updateArrayTypeNode = updateArrayTypeNode; function createTupleTypeNode(elementTypes) { - var node = createSynthesizedNode(167); + var node = createSynthesizedNode(168); node.elementTypes = createNodeArray(elementTypes); return node; } @@ -45566,7 +45876,7 @@ var ts; } ts.updateTypleTypeNode = updateTypleTypeNode; function createUnionTypeNode(types) { - return createUnionOrIntersectionTypeNode(168, types); + return createUnionOrIntersectionTypeNode(169, types); } ts.createUnionTypeNode = createUnionTypeNode; function updateUnionTypeNode(node, types) { @@ -45574,7 +45884,7 @@ var ts; } ts.updateUnionTypeNode = updateUnionTypeNode; function createIntersectionTypeNode(types) { - return createUnionOrIntersectionTypeNode(169, types); + return createUnionOrIntersectionTypeNode(170, types); } ts.createIntersectionTypeNode = createIntersectionTypeNode; function updateIntersectionTypeNode(node, types) { @@ -45593,7 +45903,7 @@ var ts; : node; } function createConditionalTypeNode(checkType, extendsType, trueType, falseType) { - var node = createSynthesizedNode(170); + var node = createSynthesizedNode(171); node.checkType = ts.parenthesizeConditionalTypeMember(checkType); node.extendsType = ts.parenthesizeConditionalTypeMember(extendsType); node.trueType = trueType; @@ -45611,7 +45921,7 @@ var ts; } ts.updateConditionalTypeNode = updateConditionalTypeNode; function createInferTypeNode(typeParameter) { - var node = createSynthesizedNode(171); + var node = createSynthesizedNode(172); node.typeParameter = typeParameter; return node; } @@ -45623,7 +45933,7 @@ var ts; } ts.updateInferTypeNode = updateInferTypeNode; function createImportTypeNode(argument, qualifier, typeArguments, isTypeOf) { - var node = createSynthesizedNode(178); + var node = createSynthesizedNode(179); node.argument = argument; node.qualifier = qualifier; node.typeArguments = asNodeArray(typeArguments); @@ -45641,7 +45951,7 @@ var ts; } ts.updateImportTypeNode = updateImportTypeNode; function createParenthesizedType(type) { - var node = createSynthesizedNode(172); + var node = createSynthesizedNode(173); node.type = type; return node; } @@ -45653,11 +45963,11 @@ var ts; } ts.updateParenthesizedType = updateParenthesizedType; function createThisTypeNode() { - return createSynthesizedNode(173); + return createSynthesizedNode(174); } ts.createThisTypeNode = createThisTypeNode; function createTypeOperatorNode(operatorOrType, type) { - var node = createSynthesizedNode(174); + var node = createSynthesizedNode(175); node.operator = typeof operatorOrType === "number" ? operatorOrType : 128; node.type = ts.parenthesizeElementTypeMember(typeof operatorOrType === "number" ? type : operatorOrType); return node; @@ -45668,7 +45978,7 @@ var ts; } ts.updateTypeOperatorNode = updateTypeOperatorNode; function createIndexedAccessTypeNode(objectType, indexType) { - var node = createSynthesizedNode(175); + var node = createSynthesizedNode(176); node.objectType = ts.parenthesizeElementTypeMember(objectType); node.indexType = indexType; return node; @@ -45682,7 +45992,7 @@ var ts; } ts.updateIndexedAccessTypeNode = updateIndexedAccessTypeNode; function createMappedTypeNode(readonlyToken, typeParameter, questionToken, type) { - var node = createSynthesizedNode(176); + var node = createSynthesizedNode(177); node.readonlyToken = readonlyToken; node.typeParameter = typeParameter; node.questionToken = questionToken; @@ -45700,7 +46010,7 @@ var ts; } ts.updateMappedTypeNode = updateMappedTypeNode; function createLiteralTypeNode(literal) { - var node = createSynthesizedNode(177); + var node = createSynthesizedNode(178); node.literal = literal; return node; } @@ -45712,7 +46022,7 @@ var ts; } ts.updateLiteralTypeNode = updateLiteralTypeNode; function createObjectBindingPattern(elements) { - var node = createSynthesizedNode(179); + var node = createSynthesizedNode(180); node.elements = createNodeArray(elements); return node; } @@ -45724,7 +46034,7 @@ var ts; } ts.updateObjectBindingPattern = updateObjectBindingPattern; function createArrayBindingPattern(elements) { - var node = createSynthesizedNode(180); + var node = createSynthesizedNode(181); node.elements = createNodeArray(elements); return node; } @@ -45736,7 +46046,7 @@ var ts; } ts.updateArrayBindingPattern = updateArrayBindingPattern; function createBindingElement(dotDotDotToken, propertyName, name, initializer) { - var node = createSynthesizedNode(181); + var node = createSynthesizedNode(182); node.dotDotDotToken = dotDotDotToken; node.propertyName = asName(propertyName); node.name = asName(name); @@ -45754,7 +46064,7 @@ var ts; } ts.updateBindingElement = updateBindingElement; function createArrayLiteral(elements, multiLine) { - var node = createSynthesizedNode(182); + var node = createSynthesizedNode(183); node.elements = ts.parenthesizeListElements(createNodeArray(elements)); if (multiLine) node.multiLine = true; @@ -45768,7 +46078,7 @@ var ts; } ts.updateArrayLiteral = updateArrayLiteral; function createObjectLiteral(properties, multiLine) { - var node = createSynthesizedNode(183); + var node = createSynthesizedNode(184); node.properties = createNodeArray(properties); if (multiLine) node.multiLine = true; @@ -45782,7 +46092,7 @@ var ts; } ts.updateObjectLiteral = updateObjectLiteral; function createPropertyAccess(expression, name) { - var node = createSynthesizedNode(184); + var node = createSynthesizedNode(185); node.expression = ts.parenthesizeForAccess(expression); node.name = asName(name); setEmitFlags(node, 131072); @@ -45797,7 +46107,7 @@ var ts; } ts.updatePropertyAccess = updatePropertyAccess; function createElementAccess(expression, index) { - var node = createSynthesizedNode(185); + var node = createSynthesizedNode(186); node.expression = ts.parenthesizeForAccess(expression); node.argumentExpression = asExpression(index); return node; @@ -45811,7 +46121,7 @@ var ts; } ts.updateElementAccess = updateElementAccess; function createCall(expression, typeArguments, argumentsArray) { - var node = createSynthesizedNode(186); + var node = createSynthesizedNode(187); node.expression = ts.parenthesizeForAccess(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = ts.parenthesizeListElements(createNodeArray(argumentsArray)); @@ -45827,7 +46137,7 @@ var ts; } ts.updateCall = updateCall; function createNew(expression, typeArguments, argumentsArray) { - var node = createSynthesizedNode(187); + var node = createSynthesizedNode(188); node.expression = ts.parenthesizeForNew(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = argumentsArray ? ts.parenthesizeListElements(createNodeArray(argumentsArray)) : undefined; @@ -45843,7 +46153,7 @@ var ts; } ts.updateNew = updateNew; function createTaggedTemplate(tag, typeArgumentsOrTemplate, template) { - var node = createSynthesizedNode(188); + var node = createSynthesizedNode(189); node.tag = ts.parenthesizeForAccess(tag); if (template) { node.typeArguments = asNodeArray(typeArgumentsOrTemplate); @@ -45866,7 +46176,7 @@ var ts; } ts.updateTaggedTemplate = updateTaggedTemplate; function createTypeAssertion(type, expression) { - var node = createSynthesizedNode(189); + var node = createSynthesizedNode(190); node.type = type; node.expression = ts.parenthesizePrefixOperand(expression); return node; @@ -45880,7 +46190,7 @@ var ts; } ts.updateTypeAssertion = updateTypeAssertion; function createParen(expression) { - var node = createSynthesizedNode(190); + var node = createSynthesizedNode(191); node.expression = expression; return node; } @@ -45892,7 +46202,7 @@ var ts; } ts.updateParen = updateParen; function createFunctionExpression(modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(191); + var node = createSynthesizedNode(192); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; node.name = asName(name); @@ -45916,7 +46226,7 @@ var ts; } ts.updateFunctionExpression = updateFunctionExpression; function createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body) { - var node = createSynthesizedNode(192); + var node = createSynthesizedNode(193); node.modifiers = asNodeArray(modifiers); node.typeParameters = asNodeArray(typeParameters); node.parameters = createNodeArray(parameters); @@ -45950,7 +46260,7 @@ var ts; } ts.updateArrowFunction = updateArrowFunction; function createDelete(expression) { - var node = createSynthesizedNode(193); + var node = createSynthesizedNode(194); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -45962,7 +46272,7 @@ var ts; } ts.updateDelete = updateDelete; function createTypeOf(expression) { - var node = createSynthesizedNode(194); + var node = createSynthesizedNode(195); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -45974,7 +46284,7 @@ var ts; } ts.updateTypeOf = updateTypeOf; function createVoid(expression) { - var node = createSynthesizedNode(195); + var node = createSynthesizedNode(196); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -45986,7 +46296,7 @@ var ts; } ts.updateVoid = updateVoid; function createAwait(expression) { - var node = createSynthesizedNode(196); + var node = createSynthesizedNode(197); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -45998,7 +46308,7 @@ var ts; } ts.updateAwait = updateAwait; function createPrefix(operator, operand) { - var node = createSynthesizedNode(197); + var node = createSynthesizedNode(198); node.operator = operator; node.operand = ts.parenthesizePrefixOperand(operand); return node; @@ -46011,7 +46321,7 @@ var ts; } ts.updatePrefix = updatePrefix; function createPostfix(operand, operator) { - var node = createSynthesizedNode(198); + var node = createSynthesizedNode(199); node.operand = ts.parenthesizePostfixOperand(operand); node.operator = operator; return node; @@ -46024,7 +46334,7 @@ var ts; } ts.updatePostfix = updatePostfix; function createBinary(left, operator, right) { - var node = createSynthesizedNode(199); + var node = createSynthesizedNode(200); var operatorToken = asToken(operator); var operatorKind = operatorToken.kind; node.left = ts.parenthesizeBinaryOperand(operatorKind, left, true, undefined); @@ -46041,7 +46351,7 @@ var ts; } ts.updateBinary = updateBinary; function createConditional(condition, questionTokenOrWhenTrue, whenTrueOrWhenFalse, colonToken, whenFalse) { - var node = createSynthesizedNode(200); + var node = createSynthesizedNode(201); node.condition = ts.parenthesizeForConditionalHead(condition); node.questionToken = whenFalse ? questionTokenOrWhenTrue : createToken(55); node.whenTrue = ts.parenthesizeSubexpressionOfConditionalExpression(whenFalse ? whenTrueOrWhenFalse : questionTokenOrWhenTrue); @@ -46071,7 +46381,7 @@ var ts; } ts.updateConditional = updateConditional; function createTemplateExpression(head, templateSpans) { - var node = createSynthesizedNode(201); + var node = createSynthesizedNode(202); node.head = head; node.templateSpans = createNodeArray(templateSpans); return node; @@ -46109,7 +46419,7 @@ var ts; } ts.createNoSubstitutionTemplateLiteral = createNoSubstitutionTemplateLiteral; function createYield(asteriskTokenOrExpression, expression) { - var node = createSynthesizedNode(202); + var node = createSynthesizedNode(203); node.asteriskToken = asteriskTokenOrExpression && asteriskTokenOrExpression.kind === 39 ? asteriskTokenOrExpression : undefined; node.expression = asteriskTokenOrExpression && asteriskTokenOrExpression.kind !== 39 ? asteriskTokenOrExpression : expression; return node; @@ -46123,7 +46433,7 @@ var ts; } ts.updateYield = updateYield; function createSpread(expression) { - var node = createSynthesizedNode(203); + var node = createSynthesizedNode(204); node.expression = ts.parenthesizeExpressionForList(expression); return node; } @@ -46135,7 +46445,7 @@ var ts; } ts.updateSpread = updateSpread; function createClassExpression(modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(204); + var node = createSynthesizedNode(205); node.decorators = undefined; node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -46156,11 +46466,11 @@ var ts; } ts.updateClassExpression = updateClassExpression; function createOmittedExpression() { - return createSynthesizedNode(205); + return createSynthesizedNode(206); } ts.createOmittedExpression = createOmittedExpression; function createExpressionWithTypeArguments(typeArguments, expression) { - var node = createSynthesizedNode(206); + var node = createSynthesizedNode(207); node.expression = ts.parenthesizeForAccess(expression); node.typeArguments = asNodeArray(typeArguments); return node; @@ -46174,7 +46484,7 @@ var ts; } ts.updateExpressionWithTypeArguments = updateExpressionWithTypeArguments; function createAsExpression(expression, type) { - var node = createSynthesizedNode(207); + var node = createSynthesizedNode(208); node.expression = expression; node.type = type; return node; @@ -46188,7 +46498,7 @@ var ts; } ts.updateAsExpression = updateAsExpression; function createNonNullExpression(expression) { - var node = createSynthesizedNode(208); + var node = createSynthesizedNode(209); node.expression = ts.parenthesizeForAccess(expression); return node; } @@ -46200,7 +46510,7 @@ var ts; } ts.updateNonNullExpression = updateNonNullExpression; function createMetaProperty(keywordToken, name) { - var node = createSynthesizedNode(209); + var node = createSynthesizedNode(210); node.keywordToken = keywordToken; node.name = name; return node; @@ -46213,7 +46523,7 @@ var ts; } ts.updateMetaProperty = updateMetaProperty; function createTemplateSpan(expression, literal) { - var node = createSynthesizedNode(210); + var node = createSynthesizedNode(211); node.expression = expression; node.literal = literal; return node; @@ -46227,11 +46537,11 @@ var ts; } ts.updateTemplateSpan = updateTemplateSpan; function createSemicolonClassElement() { - return createSynthesizedNode(211); + return createSynthesizedNode(212); } ts.createSemicolonClassElement = createSemicolonClassElement; function createBlock(statements, multiLine) { - var block = createSynthesizedNode(212); + var block = createSynthesizedNode(213); block.statements = createNodeArray(statements); if (multiLine) block.multiLine = multiLine; @@ -46239,7 +46549,7 @@ var ts; } ts.createBlock = createBlock; function createExpressionStatement(expression) { - var node = createSynthesizedNode(215); + var node = createSynthesizedNode(216); node.expression = expression; return node; } @@ -46251,7 +46561,7 @@ var ts; } ts.updateBlock = updateBlock; function createVariableStatement(modifiers, declarationList) { - var node = createSynthesizedNode(213); + var node = createSynthesizedNode(214); node.decorators = undefined; node.modifiers = asNodeArray(modifiers); node.declarationList = ts.isArray(declarationList) ? createVariableDeclarationList(declarationList) : declarationList; @@ -46266,7 +46576,7 @@ var ts; } ts.updateVariableStatement = updateVariableStatement; function createEmptyStatement() { - return createSynthesizedNode(214); + return createSynthesizedNode(215); } ts.createEmptyStatement = createEmptyStatement; function createStatement(expression) { @@ -46280,7 +46590,7 @@ var ts; } ts.updateStatement = updateStatement; function createIf(expression, thenStatement, elseStatement) { - var node = createSynthesizedNode(216); + var node = createSynthesizedNode(217); node.expression = expression; node.thenStatement = thenStatement; node.elseStatement = elseStatement; @@ -46296,7 +46606,7 @@ var ts; } ts.updateIf = updateIf; function createDo(statement, expression) { - var node = createSynthesizedNode(217); + var node = createSynthesizedNode(218); node.statement = statement; node.expression = expression; return node; @@ -46310,7 +46620,7 @@ var ts; } ts.updateDo = updateDo; function createWhile(expression, statement) { - var node = createSynthesizedNode(218); + var node = createSynthesizedNode(219); node.expression = expression; node.statement = statement; return node; @@ -46324,7 +46634,7 @@ var ts; } ts.updateWhile = updateWhile; function createFor(initializer, condition, incrementor, statement) { - var node = createSynthesizedNode(219); + var node = createSynthesizedNode(220); node.initializer = initializer; node.condition = condition; node.incrementor = incrementor; @@ -46342,7 +46652,7 @@ var ts; } ts.updateFor = updateFor; function createForIn(initializer, expression, statement) { - var node = createSynthesizedNode(220); + var node = createSynthesizedNode(221); node.initializer = initializer; node.expression = expression; node.statement = statement; @@ -46358,7 +46668,7 @@ var ts; } ts.updateForIn = updateForIn; function createForOf(awaitModifier, initializer, expression, statement) { - var node = createSynthesizedNode(221); + var node = createSynthesizedNode(222); node.awaitModifier = awaitModifier; node.initializer = initializer; node.expression = expression; @@ -46376,7 +46686,7 @@ var ts; } ts.updateForOf = updateForOf; function createContinue(label) { - var node = createSynthesizedNode(222); + var node = createSynthesizedNode(223); node.label = asName(label); return node; } @@ -46388,7 +46698,7 @@ var ts; } ts.updateContinue = updateContinue; function createBreak(label) { - var node = createSynthesizedNode(223); + var node = createSynthesizedNode(224); node.label = asName(label); return node; } @@ -46400,7 +46710,7 @@ var ts; } ts.updateBreak = updateBreak; function createReturn(expression) { - var node = createSynthesizedNode(224); + var node = createSynthesizedNode(225); node.expression = expression; return node; } @@ -46412,7 +46722,7 @@ var ts; } ts.updateReturn = updateReturn; function createWith(expression, statement) { - var node = createSynthesizedNode(225); + var node = createSynthesizedNode(226); node.expression = expression; node.statement = statement; return node; @@ -46426,7 +46736,7 @@ var ts; } ts.updateWith = updateWith; function createSwitch(expression, caseBlock) { - var node = createSynthesizedNode(226); + var node = createSynthesizedNode(227); node.expression = ts.parenthesizeExpressionForList(expression); node.caseBlock = caseBlock; return node; @@ -46440,7 +46750,7 @@ var ts; } ts.updateSwitch = updateSwitch; function createLabel(label, statement) { - var node = createSynthesizedNode(227); + var node = createSynthesizedNode(228); node.label = asName(label); node.statement = statement; return node; @@ -46454,7 +46764,7 @@ var ts; } ts.updateLabel = updateLabel; function createThrow(expression) { - var node = createSynthesizedNode(228); + var node = createSynthesizedNode(229); node.expression = expression; return node; } @@ -46466,7 +46776,7 @@ var ts; } ts.updateThrow = updateThrow; function createTry(tryBlock, catchClause, finallyBlock) { - var node = createSynthesizedNode(229); + var node = createSynthesizedNode(230); node.tryBlock = tryBlock; node.catchClause = catchClause; node.finallyBlock = finallyBlock; @@ -46482,11 +46792,11 @@ var ts; } ts.updateTry = updateTry; function createDebuggerStatement() { - return createSynthesizedNode(230); + return createSynthesizedNode(231); } ts.createDebuggerStatement = createDebuggerStatement; function createVariableDeclaration(name, type, initializer) { - var node = createSynthesizedNode(231); + var node = createSynthesizedNode(232); node.name = asName(name); node.type = type; node.initializer = initializer !== undefined ? ts.parenthesizeExpressionForList(initializer) : undefined; @@ -46502,7 +46812,8 @@ var ts; } ts.updateVariableDeclaration = updateVariableDeclaration; function createVariableDeclarationList(declarations, flags) { - var node = createSynthesizedNode(232); + if (flags === void 0) { flags = 0; } + var node = createSynthesizedNode(233); node.flags |= flags & 3; node.declarations = createNodeArray(declarations); return node; @@ -46515,7 +46826,7 @@ var ts; } ts.updateVariableDeclarationList = updateVariableDeclarationList; function createFunctionDeclaration(decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(233); + var node = createSynthesizedNode(234); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; @@ -46541,7 +46852,7 @@ var ts; } ts.updateFunctionDeclaration = updateFunctionDeclaration; function createClassDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(234); + var node = createSynthesizedNode(235); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -46563,7 +46874,7 @@ var ts; } ts.updateClassDeclaration = updateClassDeclaration; function createInterfaceDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(235); + var node = createSynthesizedNode(236); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -46585,7 +46896,7 @@ var ts; } ts.updateInterfaceDeclaration = updateInterfaceDeclaration; function createTypeAliasDeclaration(decorators, modifiers, name, typeParameters, type) { - var node = createSynthesizedNode(236); + var node = createSynthesizedNode(237); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -46605,7 +46916,7 @@ var ts; } ts.updateTypeAliasDeclaration = updateTypeAliasDeclaration; function createEnumDeclaration(decorators, modifiers, name, members) { - var node = createSynthesizedNode(237); + var node = createSynthesizedNode(238); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -46623,7 +46934,8 @@ var ts; } ts.updateEnumDeclaration = updateEnumDeclaration; function createModuleDeclaration(decorators, modifiers, name, body, flags) { - var node = createSynthesizedNode(238); + if (flags === void 0) { flags = 0; } + var node = createSynthesizedNode(239); node.flags |= flags & (16 | 4 | 512); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); @@ -46642,7 +46954,7 @@ var ts; } ts.updateModuleDeclaration = updateModuleDeclaration; function createModuleBlock(statements) { - var node = createSynthesizedNode(239); + var node = createSynthesizedNode(240); node.statements = createNodeArray(statements); return node; } @@ -46654,7 +46966,7 @@ var ts; } ts.updateModuleBlock = updateModuleBlock; function createCaseBlock(clauses) { - var node = createSynthesizedNode(240); + var node = createSynthesizedNode(241); node.clauses = createNodeArray(clauses); return node; } @@ -46666,7 +46978,7 @@ var ts; } ts.updateCaseBlock = updateCaseBlock; function createNamespaceExportDeclaration(name) { - var node = createSynthesizedNode(241); + var node = createSynthesizedNode(242); node.name = asName(name); return node; } @@ -46678,7 +46990,7 @@ var ts; } ts.updateNamespaceExportDeclaration = updateNamespaceExportDeclaration; function createImportEqualsDeclaration(decorators, modifiers, name, moduleReference) { - var node = createSynthesizedNode(242); + var node = createSynthesizedNode(243); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -46696,7 +47008,7 @@ var ts; } ts.updateImportEqualsDeclaration = updateImportEqualsDeclaration; function createImportDeclaration(decorators, modifiers, importClause, moduleSpecifier) { - var node = createSynthesizedNode(243); + var node = createSynthesizedNode(244); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.importClause = importClause; @@ -46714,7 +47026,7 @@ var ts; } ts.updateImportDeclaration = updateImportDeclaration; function createImportClause(name, namedBindings) { - var node = createSynthesizedNode(244); + var node = createSynthesizedNode(245); node.name = name; node.namedBindings = namedBindings; return node; @@ -46728,7 +47040,7 @@ var ts; } ts.updateImportClause = updateImportClause; function createNamespaceImport(name) { - var node = createSynthesizedNode(245); + var node = createSynthesizedNode(246); node.name = name; return node; } @@ -46740,7 +47052,7 @@ var ts; } ts.updateNamespaceImport = updateNamespaceImport; function createNamedImports(elements) { - var node = createSynthesizedNode(246); + var node = createSynthesizedNode(247); node.elements = createNodeArray(elements); return node; } @@ -46752,7 +47064,7 @@ var ts; } ts.updateNamedImports = updateNamedImports; function createImportSpecifier(propertyName, name) { - var node = createSynthesizedNode(247); + var node = createSynthesizedNode(248); node.propertyName = propertyName; node.name = name; return node; @@ -46766,7 +47078,7 @@ var ts; } ts.updateImportSpecifier = updateImportSpecifier; function createExportAssignment(decorators, modifiers, isExportEquals, expression) { - var node = createSynthesizedNode(248); + var node = createSynthesizedNode(249); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.isExportEquals = isExportEquals; @@ -46783,7 +47095,7 @@ var ts; } ts.updateExportAssignment = updateExportAssignment; function createExportDeclaration(decorators, modifiers, exportClause, moduleSpecifier) { - var node = createSynthesizedNode(249); + var node = createSynthesizedNode(250); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.exportClause = exportClause; @@ -46801,7 +47113,7 @@ var ts; } ts.updateExportDeclaration = updateExportDeclaration; function createNamedExports(elements) { - var node = createSynthesizedNode(250); + var node = createSynthesizedNode(251); node.elements = createNodeArray(elements); return node; } @@ -46813,7 +47125,7 @@ var ts; } ts.updateNamedExports = updateNamedExports; function createExportSpecifier(propertyName, name) { - var node = createSynthesizedNode(251); + var node = createSynthesizedNode(252); node.propertyName = asName(propertyName); node.name = asName(name); return node; @@ -46827,7 +47139,7 @@ var ts; } ts.updateExportSpecifier = updateExportSpecifier; function createExternalModuleReference(expression) { - var node = createSynthesizedNode(253); + var node = createSynthesizedNode(254); node.expression = expression; return node; } @@ -46839,7 +47151,7 @@ var ts; } ts.updateExternalModuleReference = updateExternalModuleReference; function createJsxElement(openingElement, children, closingElement) { - var node = createSynthesizedNode(254); + var node = createSynthesizedNode(255); node.openingElement = openingElement; node.children = createNodeArray(children); node.closingElement = closingElement; @@ -46855,7 +47167,7 @@ var ts; } ts.updateJsxElement = updateJsxElement; function createJsxSelfClosingElement(tagName, typeArguments, attributes) { - var node = createSynthesizedNode(255); + var node = createSynthesizedNode(256); node.tagName = tagName; node.typeArguments = typeArguments && createNodeArray(typeArguments); node.attributes = attributes; @@ -46871,7 +47183,7 @@ var ts; } ts.updateJsxSelfClosingElement = updateJsxSelfClosingElement; function createJsxOpeningElement(tagName, typeArguments, attributes) { - var node = createSynthesizedNode(256); + var node = createSynthesizedNode(257); node.tagName = tagName; node.typeArguments = typeArguments && createNodeArray(typeArguments); node.attributes = attributes; @@ -46887,7 +47199,7 @@ var ts; } ts.updateJsxOpeningElement = updateJsxOpeningElement; function createJsxClosingElement(tagName) { - var node = createSynthesizedNode(257); + var node = createSynthesizedNode(258); node.tagName = tagName; return node; } @@ -46899,7 +47211,7 @@ var ts; } ts.updateJsxClosingElement = updateJsxClosingElement; function createJsxFragment(openingFragment, children, closingFragment) { - var node = createSynthesizedNode(258); + var node = createSynthesizedNode(259); node.openingFragment = openingFragment; node.children = createNodeArray(children); node.closingFragment = closingFragment; @@ -46915,7 +47227,7 @@ var ts; } ts.updateJsxFragment = updateJsxFragment; function createJsxAttribute(name, initializer) { - var node = createSynthesizedNode(261); + var node = createSynthesizedNode(262); node.name = name; node.initializer = initializer; return node; @@ -46929,7 +47241,7 @@ var ts; } ts.updateJsxAttribute = updateJsxAttribute; function createJsxAttributes(properties) { - var node = createSynthesizedNode(262); + var node = createSynthesizedNode(263); node.properties = createNodeArray(properties); return node; } @@ -46941,7 +47253,7 @@ var ts; } ts.updateJsxAttributes = updateJsxAttributes; function createJsxSpreadAttribute(expression) { - var node = createSynthesizedNode(263); + var node = createSynthesizedNode(264); node.expression = expression; return node; } @@ -46953,7 +47265,7 @@ var ts; } ts.updateJsxSpreadAttribute = updateJsxSpreadAttribute; function createJsxExpression(dotDotDotToken, expression) { - var node = createSynthesizedNode(264); + var node = createSynthesizedNode(265); node.dotDotDotToken = dotDotDotToken; node.expression = expression; return node; @@ -46966,7 +47278,7 @@ var ts; } ts.updateJsxExpression = updateJsxExpression; function createCaseClause(expression, statements) { - var node = createSynthesizedNode(265); + var node = createSynthesizedNode(266); node.expression = ts.parenthesizeExpressionForList(expression); node.statements = createNodeArray(statements); return node; @@ -46980,7 +47292,7 @@ var ts; } ts.updateCaseClause = updateCaseClause; function createDefaultClause(statements) { - var node = createSynthesizedNode(266); + var node = createSynthesizedNode(267); node.statements = createNodeArray(statements); return node; } @@ -46992,7 +47304,7 @@ var ts; } ts.updateDefaultClause = updateDefaultClause; function createHeritageClause(token, types) { - var node = createSynthesizedNode(267); + var node = createSynthesizedNode(268); node.token = token; node.types = createNodeArray(types); return node; @@ -47005,7 +47317,7 @@ var ts; } ts.updateHeritageClause = updateHeritageClause; function createCatchClause(variableDeclaration, block) { - var node = createSynthesizedNode(268); + var node = createSynthesizedNode(269); node.variableDeclaration = ts.isString(variableDeclaration) ? createVariableDeclaration(variableDeclaration) : variableDeclaration; node.block = block; return node; @@ -47019,7 +47331,7 @@ var ts; } ts.updateCatchClause = updateCatchClause; function createPropertyAssignment(name, initializer) { - var node = createSynthesizedNode(269); + var node = createSynthesizedNode(270); node.name = asName(name); node.questionToken = undefined; node.initializer = ts.parenthesizeExpressionForList(initializer); @@ -47034,7 +47346,7 @@ var ts; } ts.updatePropertyAssignment = updatePropertyAssignment; function createShorthandPropertyAssignment(name, objectAssignmentInitializer) { - var node = createSynthesizedNode(270); + var node = createSynthesizedNode(271); node.name = asName(name); node.objectAssignmentInitializer = objectAssignmentInitializer !== undefined ? ts.parenthesizeExpressionForList(objectAssignmentInitializer) : undefined; return node; @@ -47048,7 +47360,7 @@ var ts; } ts.updateShorthandPropertyAssignment = updateShorthandPropertyAssignment; function createSpreadAssignment(expression) { - var node = createSynthesizedNode(271); + var node = createSynthesizedNode(272); node.expression = expression !== undefined ? ts.parenthesizeExpressionForList(expression) : undefined; return node; } @@ -47060,7 +47372,7 @@ var ts; } ts.updateSpreadAssignment = updateSpreadAssignment; function createEnumMember(name, initializer) { - var node = createSynthesizedNode(272); + var node = createSynthesizedNode(273); node.name = asName(name); node.initializer = initializer && ts.parenthesizeExpressionForList(initializer); return node; @@ -47079,7 +47391,7 @@ var ts; (referencedFiles !== undefined && node.referencedFiles !== referencedFiles) || (typeReferences !== undefined && node.typeReferenceDirectives !== typeReferences) || (hasNoDefaultLib !== undefined && node.hasNoDefaultLib !== hasNoDefaultLib)) { - var updated = createSynthesizedNode(273); + var updated = createSynthesizedNode(274); updated.flags |= node.flags; updated.statements = createNodeArray(statements); updated.endOfFileToken = node.endOfFileToken; @@ -47118,6 +47430,8 @@ var ts; updated.parseDiagnostics = node.parseDiagnostics; if (node.bindDiagnostics !== undefined) updated.bindDiagnostics = node.bindDiagnostics; + if (node.bindSuggestionDiagnostics !== undefined) + updated.bindSuggestionDiagnostics = node.bindSuggestionDiagnostics; if (node.lineMap !== undefined) updated.lineMap = node.lineMap; if (node.classifiableNames !== undefined) @@ -47150,28 +47464,28 @@ var ts; } ts.getMutableClone = getMutableClone; function createNotEmittedStatement(original) { - var node = createSynthesizedNode(299); + var node = createSynthesizedNode(300); node.original = original; setTextRange(node, original); return node; } ts.createNotEmittedStatement = createNotEmittedStatement; function createEndOfDeclarationMarker(original) { - var node = createSynthesizedNode(303); + var node = createSynthesizedNode(304); node.emitNode = {}; node.original = original; return node; } ts.createEndOfDeclarationMarker = createEndOfDeclarationMarker; function createMergeDeclarationMarker(original) { - var node = createSynthesizedNode(302); + var node = createSynthesizedNode(303); node.emitNode = {}; node.original = original; return node; } ts.createMergeDeclarationMarker = createMergeDeclarationMarker; function createPartiallyEmittedExpression(expression, original) { - var node = createSynthesizedNode(300); + var node = createSynthesizedNode(301); node.expression = expression; node.original = original; setTextRange(node, original); @@ -47187,7 +47501,7 @@ var ts; ts.updatePartiallyEmittedExpression = updatePartiallyEmittedExpression; function flattenCommaElements(node) { if (ts.nodeIsSynthesized(node) && !ts.isParseTreeNode(node) && !node.original && !node.emitNode && !node.id) { - if (node.kind === 301) { + if (node.kind === 302) { return node.elements; } if (ts.isBinaryExpression(node) && node.operatorToken.kind === 26) { @@ -47197,7 +47511,7 @@ var ts; return node; } function createCommaList(elements) { - var node = createSynthesizedNode(301); + var node = createSynthesizedNode(302); node.elements = createNodeArray(ts.sameFlatMap(elements, flattenCommaElements)); return node; } @@ -47210,20 +47524,20 @@ var ts; ts.updateCommaList = updateCommaList; function createBundle(sourceFiles, prepends) { if (prepends === void 0) { prepends = ts.emptyArray; } - var node = ts.createNode(274); + var node = ts.createNode(275); node.prepends = prepends; node.sourceFiles = sourceFiles; return node; } ts.createBundle = createBundle; function createUnparsedSourceFile(text) { - var node = ts.createNode(275); + var node = ts.createNode(276); node.text = text; return node; } ts.createUnparsedSourceFile = createUnparsedSourceFile; function createInputFiles(javascript, declaration) { - var node = ts.createNode(276); + var node = ts.createNode(277); node.javascriptText = javascript; node.declarationText = declaration; return node; @@ -47328,7 +47642,7 @@ var ts; function getOrCreateEmitNode(node) { if (!node.emitNode) { if (ts.isParseTreeNode(node)) { - if (node.kind === 273) { + if (node.kind === 274) { return node.emitNode = { annotatedNodes: [node] }; } var sourceFile = ts.getSourceFileOfNode(node); @@ -47736,7 +48050,7 @@ var ts; ts.createSpreadHelper = createSpreadHelper; function createForOfBindingStatement(node, boundValue) { if (ts.isVariableDeclarationList(node)) { - var firstDeclaration = ts.firstOrUndefined(node.declarations); + var firstDeclaration = ts.first(node.declarations); var updatedDeclaration = ts.updateVariableDeclaration(firstDeclaration, firstDeclaration.name, undefined, boundValue); return ts.setTextRange(ts.createVariableStatement(undefined, ts.updateVariableDeclarationList(node, [updatedDeclaration])), node); } @@ -47759,7 +48073,7 @@ var ts; if (!outermostLabeledStatement) { return node; } - var updated = ts.updateLabel(outermostLabeledStatement, outermostLabeledStatement.label, outermostLabeledStatement.statement.kind === 227 + var updated = ts.updateLabel(outermostLabeledStatement, outermostLabeledStatement.label, outermostLabeledStatement.statement.kind === 228 ? restoreEnclosingLabel(node, outermostLabeledStatement.statement) : node); if (afterRestoreLabelCallback) { @@ -47777,19 +48091,20 @@ var ts; case 8: case 9: return false; - case 182: + case 183: var elements = target.elements; if (elements.length === 0) { return false; } return true; - case 183: + case 184: return target.properties.length > 0; default: return true; } } function createCallBinding(expression, recordTempVariable, languageVersion, cacheIdentifiers) { + if (cacheIdentifiers === void 0) { cacheIdentifiers = false; } var callee = skipOuterExpressions(expression, 7); var thisArg; var target; @@ -47809,7 +48124,7 @@ var ts; } else { switch (callee.kind) { - case 184: { + case 185: { if (shouldBeCapturedInTempVariable(callee.expression, cacheIdentifiers)) { thisArg = ts.createTempVariable(recordTempVariable); target = ts.createPropertyAccess(ts.setTextRange(ts.createAssignment(thisArg, callee.expression), callee.expression), callee.name); @@ -47821,7 +48136,7 @@ var ts; } break; } - case 185: { + case 186: { if (shouldBeCapturedInTempVariable(callee.expression, cacheIdentifiers)) { thisArg = ts.createTempVariable(recordTempVariable); target = ts.createElementAccess(ts.setTextRange(ts.createAssignment(thisArg, callee.expression), callee.expression), callee.argumentExpression); @@ -47874,14 +48189,14 @@ var ts; ts.createExpressionForPropertyName = createExpressionForPropertyName; function createExpressionForObjectLiteralElementLike(node, property, receiver) { switch (property.kind) { - case 155: case 156: - return createExpressionForAccessorDeclaration(node.properties, property, receiver, node.multiLine); - case 269: - return createExpressionForPropertyAssignment(property, receiver); + case 157: + return createExpressionForAccessorDeclaration(node.properties, property, receiver, !!node.multiLine); case 270: + return createExpressionForPropertyAssignment(property, receiver); + case 271: return createExpressionForShorthandPropertyAssignment(property, receiver); - case 153: + case 154: return createExpressionForMethodDeclaration(property, receiver); } } @@ -47953,6 +48268,7 @@ var ts; } ts.getDeclarationName = getDeclarationName; function getName(node, allowComments, allowSourceMaps, emitFlags) { + if (emitFlags === void 0) { emitFlags = 0; } var nodeName = ts.getNameOfDeclaration(node); if (nodeName && ts.isIdentifier(nodeName) && !ts.isGeneratedIdentifier(nodeName)) { var name = ts.getMutableClone(nodeName); @@ -47977,7 +48293,7 @@ var ts; function getNamespaceMemberName(ns, name, allowComments, allowSourceMaps) { var qualifiedName = ts.createPropertyAccess(ns, ts.nodeIsSynthesized(name) ? name : ts.getSynthesizedClone(name)); ts.setTextRange(qualifiedName, name); - var emitFlags; + var emitFlags = 0; if (!allowSourceMaps) emitFlags |= 48; if (!allowComments) @@ -47992,7 +48308,8 @@ var ts; } ts.convertToFunctionBody = convertToFunctionBody; function convertFunctionDeclarationToExpression(node) { - ts.Debug.assert(!!node.body); + if (!node.body) + return ts.Debug.fail(); var updated = ts.createFunctionExpression(node.modifiers, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, node.body); ts.setOriginalNode(updated, node); ts.setTextRange(updated, node); @@ -48037,7 +48354,7 @@ var ts; ts.addStandardPrologue = addStandardPrologue; function addCustomPrologue(target, source, statementOffset, visitor) { var numStatements = source.length; - while (statementOffset < numStatements) { + while (statementOffset !== undefined && statementOffset < numStatements) { var statement = source[statementOffset]; if (ts.getEmitFlags(statement) & 1048576) { ts.append(target, visitor ? ts.visitNode(statement, visitor, ts.isStatement) : statement); @@ -48081,7 +48398,7 @@ var ts; ts.ensureUseStrict = ensureUseStrict; function parenthesizeBinaryOperand(binaryOperator, operand, isLeftSideOfBinary, leftOperand) { var skipped = ts.skipPartiallyEmittedExpressions(operand); - if (skipped.kind === 190) { + if (skipped.kind === 191) { return operand; } return binaryOperandNeedsParentheses(binaryOperator, operand, isLeftSideOfBinary, leftOperand) @@ -48090,15 +48407,15 @@ var ts; } ts.parenthesizeBinaryOperand = parenthesizeBinaryOperand; function binaryOperandNeedsParentheses(binaryOperator, operand, isLeftSideOfBinary, leftOperand) { - var binaryOperatorPrecedence = ts.getOperatorPrecedence(199, binaryOperator); - var binaryOperatorAssociativity = ts.getOperatorAssociativity(199, binaryOperator); + var binaryOperatorPrecedence = ts.getOperatorPrecedence(200, binaryOperator); + var binaryOperatorAssociativity = ts.getOperatorAssociativity(200, binaryOperator); var emittedOperand = ts.skipPartiallyEmittedExpressions(operand); var operandPrecedence = ts.getExpressionPrecedence(emittedOperand); switch (ts.compareValues(operandPrecedence, binaryOperatorPrecedence)) { case -1: if (!isLeftSideOfBinary && binaryOperatorAssociativity === 1 - && operand.kind === 202) { + && operand.kind === 203) { return false; } return true; @@ -48137,7 +48454,7 @@ var ts; if (ts.isLiteralKind(node.kind)) { return node.kind; } - if (node.kind === 199 && node.operatorToken.kind === 37) { + if (node.kind === 200 && node.operatorToken.kind === 37) { if (node.cachedLiteralKind !== undefined) { return node.cachedLiteralKind; } @@ -48152,7 +48469,7 @@ var ts; return 0; } function parenthesizeForConditionalHead(condition) { - var conditionalPrecedence = ts.getOperatorPrecedence(200, 55); + var conditionalPrecedence = ts.getOperatorPrecedence(201, 55); var emittedCondition = ts.skipPartiallyEmittedExpressions(condition); var conditionPrecedence = ts.getExpressionPrecedence(emittedCondition); if (ts.compareValues(conditionPrecedence, conditionalPrecedence) === -1) { @@ -48163,17 +48480,17 @@ var ts; ts.parenthesizeForConditionalHead = parenthesizeForConditionalHead; function parenthesizeSubexpressionOfConditionalExpression(e) { var emittedExpression = ts.skipPartiallyEmittedExpressions(e); - return emittedExpression.kind === 199 && emittedExpression.operatorToken.kind === 26 || - emittedExpression.kind === 301 + return emittedExpression.kind === 200 && emittedExpression.operatorToken.kind === 26 || + emittedExpression.kind === 302 ? ts.createParen(e) : e; } ts.parenthesizeSubexpressionOfConditionalExpression = parenthesizeSubexpressionOfConditionalExpression; function parenthesizeDefaultExpression(e) { var check = ts.skipPartiallyEmittedExpressions(e); - return (check.kind === 204 || - check.kind === 191 || - check.kind === 301 || + return (check.kind === 205 || + check.kind === 192 || + check.kind === 302 || ts.isBinaryExpression(check) && check.operatorToken.kind === 26) ? ts.createParen(e) : e; @@ -48182,9 +48499,9 @@ var ts; function parenthesizeForNew(expression) { var leftmostExpr = getLeftmostExpression(expression, true); switch (leftmostExpr.kind) { - case 186: - return ts.createParen(expression); case 187: + return ts.createParen(expression); + case 188: return !leftmostExpr.arguments ? ts.createParen(expression) : expression; @@ -48195,7 +48512,7 @@ var ts; function parenthesizeForAccess(expression) { var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); if (ts.isLeftHandSideExpression(emittedExpression) - && (emittedExpression.kind !== 187 || emittedExpression.arguments)) { + && (emittedExpression.kind !== 188 || emittedExpression.arguments)) { return expression; } return ts.setTextRange(ts.createParen(expression), expression); @@ -48233,7 +48550,7 @@ var ts; function parenthesizeExpressionForList(expression) { var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); var expressionPrecedence = ts.getExpressionPrecedence(emittedExpression); - var commaPrecedence = ts.getOperatorPrecedence(199, 26); + var commaPrecedence = ts.getOperatorPrecedence(200, 26); return expressionPrecedence > commaPrecedence ? expression : ts.setTextRange(ts.createParen(expression), expression); @@ -48244,29 +48561,29 @@ var ts; if (ts.isCallExpression(emittedExpression)) { var callee = emittedExpression.expression; var kind = ts.skipPartiallyEmittedExpressions(callee).kind; - if (kind === 191 || kind === 192) { + if (kind === 192 || kind === 193) { var mutableCall = ts.getMutableClone(emittedExpression); mutableCall.expression = ts.setTextRange(ts.createParen(callee), callee); return recreateOuterExpressions(expression, mutableCall, 4); } } var leftmostExpressionKind = getLeftmostExpression(emittedExpression, false).kind; - if (leftmostExpressionKind === 183 || leftmostExpressionKind === 191) { + if (leftmostExpressionKind === 184 || leftmostExpressionKind === 192) { return ts.setTextRange(ts.createParen(expression), expression); } return expression; } ts.parenthesizeExpressionForExpressionStatement = parenthesizeExpressionForExpressionStatement; function parenthesizeConditionalTypeMember(member) { - return member.kind === 170 ? ts.createParenthesizedType(member) : member; + return member.kind === 171 ? ts.createParenthesizedType(member) : member; } ts.parenthesizeConditionalTypeMember = parenthesizeConditionalTypeMember; function parenthesizeElementTypeMember(member) { switch (member.kind) { - case 168: case 169: - case 162: + case 170: case 163: + case 164: return ts.createParenthesizedType(member); } return parenthesizeConditionalTypeMember(member); @@ -48274,9 +48591,9 @@ var ts; ts.parenthesizeElementTypeMember = parenthesizeElementTypeMember; function parenthesizeArrayTypeMember(member) { switch (member.kind) { - case 164: - case 174: - case 171: + case 165: + case 175: + case 172: return ts.createParenthesizedType(member); } return parenthesizeElementTypeMember(member); @@ -48302,24 +48619,24 @@ var ts; function getLeftmostExpression(node, stopAtCallExpressions) { while (true) { switch (node.kind) { - case 198: + case 199: node = node.operand; continue; - case 199: + case 200: node = node.left; continue; - case 200: + case 201: node = node.condition; continue; - case 186: + case 187: if (stopAtCallExpressions) { return node; } + case 186: case 185: - case 184: node = node.expression; continue; - case 300: + case 301: node = node.expression; continue; } @@ -48327,7 +48644,7 @@ var ts; } } function parenthesizeConciseBody(body) { - if (!ts.isBlock(body) && getLeftmostExpression(body, false).kind === 183) { + if (!ts.isBlock(body) && getLeftmostExpression(body, false).kind === 184) { return ts.setTextRange(ts.createParen(body), body); } return body; @@ -48343,13 +48660,13 @@ var ts; function isOuterExpression(node, kinds) { if (kinds === void 0) { kinds = 7; } switch (node.kind) { - case 190: + case 191: return (kinds & 1) !== 0; - case 189: - case 207: + case 190: case 208: + case 209: return (kinds & 2) !== 0; - case 300: + case 301: return (kinds & 4) !== 0; } return false; @@ -48374,7 +48691,7 @@ var ts; } ts.skipOuterExpressions = skipOuterExpressions; function skipAssertions(node) { - while (ts.isAssertionExpression(node) || node.kind === 208) { + while (ts.isAssertionExpression(node) || node.kind === 209) { node = node.expression; } return node; @@ -48382,15 +48699,15 @@ var ts; ts.skipAssertions = skipAssertions; function updateOuterExpression(outerExpression, expression) { switch (outerExpression.kind) { - case 190: return ts.updateParen(outerExpression, expression); - case 189: return ts.updateTypeAssertion(outerExpression, outerExpression.type, expression); - case 207: return ts.updateAsExpression(outerExpression, expression, outerExpression.type); - case 208: return ts.updateNonNullExpression(outerExpression, expression); - case 300: return ts.updatePartiallyEmittedExpression(outerExpression, expression); + case 191: return ts.updateParen(outerExpression, expression); + case 190: return ts.updateTypeAssertion(outerExpression, outerExpression.type, expression); + case 208: return ts.updateAsExpression(outerExpression, expression, outerExpression.type); + case 209: return ts.updateNonNullExpression(outerExpression, expression); + case 301: return ts.updatePartiallyEmittedExpression(outerExpression, expression); } } function isIgnorableParen(node) { - return node.kind === 190 + return node.kind === 191 && ts.nodeIsSynthesized(node) && ts.nodeIsSynthesized(ts.getSourceMapRange(node)) && ts.nodeIsSynthesized(ts.getCommentRange(node)) @@ -48452,10 +48769,10 @@ var ts; var name = namespaceDeclaration.name; return ts.isGeneratedIdentifier(name) ? name : ts.createIdentifier(ts.getSourceTextOfNodeFromSourceFile(sourceFile, name) || ts.idText(name)); } - if (node.kind === 243 && node.importClause) { + if (node.kind === 244 && node.importClause) { return ts.getGeneratedNameForNode(node); } - if (node.kind === 249 && node.moduleSpecifier) { + if (node.kind === 250 && node.moduleSpecifier) { return ts.getGeneratedNameForNode(node); } return undefined; @@ -48496,8 +48813,9 @@ var ts; return bindingElement.initializer; } if (ts.isPropertyAssignment(bindingElement)) { - return ts.isAssignmentExpression(bindingElement.initializer, true) - ? bindingElement.initializer.right + var initializer = bindingElement.initializer; + return ts.isAssignmentExpression(initializer, true) + ? initializer.right : undefined; } if (ts.isShorthandPropertyAssignment(bindingElement)) { @@ -48517,11 +48835,11 @@ var ts; } if (ts.isObjectLiteralElementLike(bindingElement)) { switch (bindingElement.kind) { - case 269: - return getTargetOfBindingOrAssignmentElement(bindingElement.initializer); case 270: - return bindingElement.name; + return getTargetOfBindingOrAssignmentElement(bindingElement.initializer); case 271: + return bindingElement.name; + case 272: return getTargetOfBindingOrAssignmentElement(bindingElement.expression); } return undefined; @@ -48537,11 +48855,11 @@ var ts; ts.getTargetOfBindingOrAssignmentElement = getTargetOfBindingOrAssignmentElement; function getRestIndicatorOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 148: - case 181: + case 149: + case 182: return bindingElement.dotDotDotToken; - case 203: - case 271: + case 204: + case 272: return bindingElement; } return undefined; @@ -48549,7 +48867,7 @@ var ts; ts.getRestIndicatorOfBindingOrAssignmentElement = getRestIndicatorOfBindingOrAssignmentElement; function getPropertyNameOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 181: + case 182: if (bindingElement.propertyName) { var propertyName = bindingElement.propertyName; return ts.isComputedPropertyName(propertyName) && ts.isStringOrNumericLiteral(propertyName.expression) @@ -48557,7 +48875,7 @@ var ts; : propertyName; } break; - case 269: + case 270: if (bindingElement.name) { var propertyName = bindingElement.name; return ts.isComputedPropertyName(propertyName) && ts.isStringOrNumericLiteral(propertyName.expression) @@ -48565,7 +48883,7 @@ var ts; : propertyName; } break; - case 271: + case 272: return bindingElement.name; } var target = getTargetOfBindingOrAssignmentElement(bindingElement); @@ -48579,11 +48897,11 @@ var ts; ts.getPropertyNameOfBindingOrAssignmentElement = getPropertyNameOfBindingOrAssignmentElement; function getElementsOfBindingOrAssignmentPattern(name) { switch (name.kind) { - case 179: case 180: - case 182: - return name.elements; + case 181: case 183: + return name.elements; + case 184: return name.properties; } } @@ -48622,11 +48940,11 @@ var ts; ts.convertToObjectAssignmentElement = convertToObjectAssignmentElement; function convertToAssignmentPattern(node) { switch (node.kind) { - case 180: - case 182: - return convertToArrayAssignmentPattern(node); - case 179: + case 181: case 183: + return convertToArrayAssignmentPattern(node); + case 180: + case 184: return convertToObjectAssignmentPattern(node); } } @@ -48763,257 +49081,257 @@ var ts; return undefined; } var kind = node.kind; - if ((kind > 0 && kind <= 144) || kind === 173) { + if ((kind > 0 && kind <= 145) || kind === 174) { return node; } switch (kind) { case 71: return ts.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, isTypeNodeOrTypeParameterDeclaration)); - case 145: - return ts.updateQualifiedName(node, visitNode(node.left, visitor, ts.isEntityName), visitNode(node.right, visitor, ts.isIdentifier)); case 146: - return ts.updateComputedPropertyName(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateQualifiedName(node, visitNode(node.left, visitor, ts.isEntityName), visitNode(node.right, visitor, ts.isIdentifier)); case 147: - return ts.updateTypeParameterDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.constraint, visitor, ts.isTypeNode), visitNode(node.default, visitor, ts.isTypeNode)); + return ts.updateComputedPropertyName(node, visitNode(node.expression, visitor, ts.isExpression)); case 148: - return ts.updateParameter(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); + return ts.updateTypeParameterDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.constraint, visitor, ts.isTypeNode), visitNode(node.default, visitor, ts.isTypeNode)); case 149: - return ts.updateDecorator(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateParameter(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); case 150: - return ts.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); + return ts.updateDecorator(node, visitNode(node.expression, visitor, ts.isExpression)); case 151: - return ts.updateProperty(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); + return ts.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); case 152: - return ts.updateMethodSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken)); + return ts.updateProperty(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); case 153: - return ts.updateMethod(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); + return ts.updateMethodSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken)); case 154: - return ts.updateConstructor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); + return ts.updateMethod(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); case 155: - return ts.updateGetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); + return ts.updateConstructor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); case 156: - return ts.updateSetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); + return ts.updateGetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); case 157: - return ts.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateSetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); case 158: - return ts.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); case 159: - return ts.updateIndexSignature(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); case 160: - return ts.updateTypePredicateNode(node, visitNode(node.parameterName, visitor), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateIndexSignature(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); case 161: - return ts.updateTypeReferenceNode(node, visitNode(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); + return ts.updateTypePredicateNode(node, visitNode(node.parameterName, visitor), visitNode(node.type, visitor, ts.isTypeNode)); case 162: - return ts.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateTypeReferenceNode(node, visitNode(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); case 163: - return ts.updateConstructorTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); case 164: - return ts.updateTypeQueryNode(node, visitNode(node.exprName, visitor, ts.isEntityName)); + return ts.updateConstructorTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); case 165: - return ts.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement)); + return ts.updateTypeQueryNode(node, visitNode(node.exprName, visitor, ts.isEntityName)); case 166: - return ts.updateArrayTypeNode(node, visitNode(node.elementType, visitor, ts.isTypeNode)); + return ts.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement)); case 167: - return ts.updateTypleTypeNode(node, nodesVisitor(node.elementTypes, visitor, ts.isTypeNode)); + return ts.updateArrayTypeNode(node, visitNode(node.elementType, visitor, ts.isTypeNode)); case 168: - return ts.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); + return ts.updateTypleTypeNode(node, nodesVisitor(node.elementTypes, visitor, ts.isTypeNode)); case 169: - return ts.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); + return ts.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); case 170: - return ts.updateConditionalTypeNode(node, visitNode(node.checkType, visitor, ts.isTypeNode), visitNode(node.extendsType, visitor, ts.isTypeNode), visitNode(node.trueType, visitor, ts.isTypeNode), visitNode(node.falseType, visitor, ts.isTypeNode)); + return ts.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); case 171: - return ts.updateInferTypeNode(node, visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration)); - case 178: - return ts.updateImportTypeNode(node, visitNode(node.argument, visitor, ts.isTypeNode), visitNode(node.qualifier, visitor, ts.isEntityName), visitNodes(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); + return ts.updateConditionalTypeNode(node, visitNode(node.checkType, visitor, ts.isTypeNode), visitNode(node.extendsType, visitor, ts.isTypeNode), visitNode(node.trueType, visitor, ts.isTypeNode), visitNode(node.falseType, visitor, ts.isTypeNode)); case 172: - return ts.updateParenthesizedType(node, visitNode(node.type, visitor, ts.isTypeNode)); - case 174: - return ts.updateTypeOperatorNode(node, visitNode(node.type, visitor, ts.isTypeNode)); - case 175: - return ts.updateIndexedAccessTypeNode(node, visitNode(node.objectType, visitor, ts.isTypeNode), visitNode(node.indexType, visitor, ts.isTypeNode)); - case 176: - return ts.updateMappedTypeNode(node, visitNode(node.readonlyToken, tokenVisitor, ts.isToken), visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode)); - case 177: - return ts.updateLiteralTypeNode(node, visitNode(node.literal, visitor, ts.isExpression)); + return ts.updateInferTypeNode(node, visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration)); case 179: - return ts.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement)); + return ts.updateImportTypeNode(node, visitNode(node.argument, visitor, ts.isTypeNode), visitNode(node.qualifier, visitor, ts.isEntityName), visitNodes(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); + case 173: + return ts.updateParenthesizedType(node, visitNode(node.type, visitor, ts.isTypeNode)); + case 175: + return ts.updateTypeOperatorNode(node, visitNode(node.type, visitor, ts.isTypeNode)); + case 176: + return ts.updateIndexedAccessTypeNode(node, visitNode(node.objectType, visitor, ts.isTypeNode), visitNode(node.indexType, visitor, ts.isTypeNode)); + case 177: + return ts.updateMappedTypeNode(node, visitNode(node.readonlyToken, tokenVisitor, ts.isToken), visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode)); + case 178: + return ts.updateLiteralTypeNode(node, visitNode(node.literal, visitor, ts.isExpression)); case 180: - return ts.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement)); + return ts.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement)); case 181: - return ts.updateBindingElement(node, visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.propertyName, visitor, ts.isPropertyName), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.initializer, visitor, ts.isExpression)); + return ts.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement)); case 182: - return ts.updateArrayLiteral(node, nodesVisitor(node.elements, visitor, ts.isExpression)); + return ts.updateBindingElement(node, visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.propertyName, visitor, ts.isPropertyName), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.initializer, visitor, ts.isExpression)); case 183: - return ts.updateObjectLiteral(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike)); + return ts.updateArrayLiteral(node, nodesVisitor(node.elements, visitor, ts.isExpression)); case 184: - return ts.updatePropertyAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.name, visitor, ts.isIdentifier)); + return ts.updateObjectLiteral(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike)); case 185: - return ts.updateElementAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.argumentExpression, visitor, ts.isExpression)); + return ts.updatePropertyAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.name, visitor, ts.isIdentifier)); case 186: - return ts.updateCall(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); + return ts.updateElementAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.argumentExpression, visitor, ts.isExpression)); case 187: - return ts.updateNew(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); + return ts.updateCall(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); case 188: - return ts.updateTaggedTemplate(node, visitNode(node.tag, visitor, ts.isExpression), visitNodes(node.typeArguments, visitor, ts.isExpression), visitNode(node.template, visitor, ts.isTemplateLiteral)); + return ts.updateNew(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); case 189: - return ts.updateTypeAssertion(node, visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateTaggedTemplate(node, visitNode(node.tag, visitor, ts.isExpression), visitNodes(node.typeArguments, visitor, ts.isExpression), visitNode(node.template, visitor, ts.isTemplateLiteral)); case 190: - return ts.updateParen(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateTypeAssertion(node, visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); case 191: - return ts.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); + return ts.updateParen(node, visitNode(node.expression, visitor, ts.isExpression)); case 192: - return ts.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.equalsGreaterThanToken, visitor, ts.isToken), visitFunctionBody(node.body, visitor, context)); + return ts.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); case 193: - return ts.updateDelete(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.equalsGreaterThanToken, visitor, ts.isToken), visitFunctionBody(node.body, visitor, context)); case 194: - return ts.updateTypeOf(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateDelete(node, visitNode(node.expression, visitor, ts.isExpression)); case 195: - return ts.updateVoid(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateTypeOf(node, visitNode(node.expression, visitor, ts.isExpression)); case 196: - return ts.updateAwait(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateVoid(node, visitNode(node.expression, visitor, ts.isExpression)); case 197: - return ts.updatePrefix(node, visitNode(node.operand, visitor, ts.isExpression)); + return ts.updateAwait(node, visitNode(node.expression, visitor, ts.isExpression)); case 198: - return ts.updatePostfix(node, visitNode(node.operand, visitor, ts.isExpression)); + return ts.updatePrefix(node, visitNode(node.operand, visitor, ts.isExpression)); case 199: - return ts.updateBinary(node, visitNode(node.left, visitor, ts.isExpression), visitNode(node.right, visitor, ts.isExpression), visitNode(node.operatorToken, visitor, ts.isToken)); + return ts.updatePostfix(node, visitNode(node.operand, visitor, ts.isExpression)); case 200: - return ts.updateConditional(node, visitNode(node.condition, visitor, ts.isExpression), visitNode(node.questionToken, visitor, ts.isToken), visitNode(node.whenTrue, visitor, ts.isExpression), visitNode(node.colonToken, visitor, ts.isToken), visitNode(node.whenFalse, visitor, ts.isExpression)); + return ts.updateBinary(node, visitNode(node.left, visitor, ts.isExpression), visitNode(node.right, visitor, ts.isExpression), visitNode(node.operatorToken, visitor, ts.isToken)); case 201: - return ts.updateTemplateExpression(node, visitNode(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan)); + return ts.updateConditional(node, visitNode(node.condition, visitor, ts.isExpression), visitNode(node.questionToken, visitor, ts.isToken), visitNode(node.whenTrue, visitor, ts.isExpression), visitNode(node.colonToken, visitor, ts.isToken), visitNode(node.whenFalse, visitor, ts.isExpression)); case 202: - return ts.updateYield(node, visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateTemplateExpression(node, visitNode(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan)); case 203: - return ts.updateSpread(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateYield(node, visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.expression, visitor, ts.isExpression)); case 204: + return ts.updateSpread(node, visitNode(node.expression, visitor, ts.isExpression)); + case 205: return ts.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 206: - return ts.updateExpressionWithTypeArguments(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); case 207: - return ts.updateAsExpression(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateExpressionWithTypeArguments(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); case 208: - return ts.updateNonNullExpression(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateAsExpression(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.type, visitor, ts.isTypeNode)); case 209: - return ts.updateMetaProperty(node, visitNode(node.name, visitor, ts.isIdentifier)); + return ts.updateNonNullExpression(node, visitNode(node.expression, visitor, ts.isExpression)); case 210: + return ts.updateMetaProperty(node, visitNode(node.name, visitor, ts.isIdentifier)); + case 211: return ts.updateTemplateSpan(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail)); - case 212: - return ts.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); case 213: + return ts.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); + case 214: return ts.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.declarationList, visitor, ts.isVariableDeclarationList)); - case 215: - return ts.updateStatement(node, visitNode(node.expression, visitor, ts.isExpression)); case 216: - return ts.updateIf(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.thenStatement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.elseStatement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateStatement(node, visitNode(node.expression, visitor, ts.isExpression)); case 217: - return ts.updateDo(node, visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateIf(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.thenStatement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.elseStatement, visitor, ts.isStatement, ts.liftToBlock)); case 218: - return ts.updateWhile(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateDo(node, visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.expression, visitor, ts.isExpression)); case 219: - return ts.updateFor(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.condition, visitor, ts.isExpression), visitNode(node.incrementor, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateWhile(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); case 220: - return ts.updateForIn(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateFor(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.condition, visitor, ts.isExpression), visitNode(node.incrementor, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); case 221: - return ts.updateForOf(node, visitNode(node.awaitModifier, visitor, ts.isToken), visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateForIn(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); case 222: - return ts.updateContinue(node, visitNode(node.label, visitor, ts.isIdentifier)); + return ts.updateForOf(node, visitNode(node.awaitModifier, visitor, ts.isToken), visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); case 223: - return ts.updateBreak(node, visitNode(node.label, visitor, ts.isIdentifier)); + return ts.updateContinue(node, visitNode(node.label, visitor, ts.isIdentifier)); case 224: - return ts.updateReturn(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateBreak(node, visitNode(node.label, visitor, ts.isIdentifier)); case 225: - return ts.updateWith(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateReturn(node, visitNode(node.expression, visitor, ts.isExpression)); case 226: - return ts.updateSwitch(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.caseBlock, visitor, ts.isCaseBlock)); + return ts.updateWith(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); case 227: - return ts.updateLabel(node, visitNode(node.label, visitor, ts.isIdentifier), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); + return ts.updateSwitch(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.caseBlock, visitor, ts.isCaseBlock)); case 228: - return ts.updateThrow(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateLabel(node, visitNode(node.label, visitor, ts.isIdentifier), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); case 229: + return ts.updateThrow(node, visitNode(node.expression, visitor, ts.isExpression)); + case 230: return ts.updateTry(node, visitNode(node.tryBlock, visitor, ts.isBlock), visitNode(node.catchClause, visitor, ts.isCatchClause), visitNode(node.finallyBlock, visitor, ts.isBlock)); - case 231: - return ts.updateVariableDeclaration(node, visitNode(node.name, visitor, ts.isBindingName), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); case 232: - return ts.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration)); + return ts.updateVariableDeclaration(node, visitNode(node.name, visitor, ts.isBindingName), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); case 233: - return ts.updateFunctionDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); + return ts.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration)); case 234: - return ts.updateClassDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); + return ts.updateFunctionDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); case 235: - return ts.updateInterfaceDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement)); + return ts.updateClassDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); case 236: - return ts.updateTypeAliasDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); + return ts.updateInterfaceDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement)); case 237: - return ts.updateEnumDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember)); + return ts.updateTypeAliasDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); case 238: - return ts.updateModuleDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.body, visitor, ts.isModuleBody)); + return ts.updateEnumDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember)); case 239: - return ts.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); + return ts.updateModuleDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.body, visitor, ts.isModuleBody)); case 240: - return ts.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause)); + return ts.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); case 241: - return ts.updateNamespaceExportDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier)); + return ts.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause)); case 242: - return ts.updateImportEqualsDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.moduleReference, visitor, ts.isModuleReference)); + return ts.updateNamespaceExportDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier)); case 243: - return ts.updateImportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.importClause, visitor, ts.isImportClause), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); + return ts.updateImportEqualsDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.moduleReference, visitor, ts.isModuleReference)); case 244: - return ts.updateImportClause(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.namedBindings, visitor, ts.isNamedImportBindings)); + return ts.updateImportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.importClause, visitor, ts.isImportClause), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); case 245: - return ts.updateNamespaceImport(node, visitNode(node.name, visitor, ts.isIdentifier)); + return ts.updateImportClause(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.namedBindings, visitor, ts.isNamedImportBindings)); case 246: - return ts.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier)); + return ts.updateNamespaceImport(node, visitNode(node.name, visitor, ts.isIdentifier)); case 247: - return ts.updateImportSpecifier(node, visitNode(node.propertyName, visitor, ts.isIdentifier), visitNode(node.name, visitor, ts.isIdentifier)); + return ts.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier)); case 248: - return ts.updateExportAssignment(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateImportSpecifier(node, visitNode(node.propertyName, visitor, ts.isIdentifier), visitNode(node.name, visitor, ts.isIdentifier)); case 249: - return ts.updateExportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.exportClause, visitor, ts.isNamedExports), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); + return ts.updateExportAssignment(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.expression, visitor, ts.isExpression)); case 250: - return ts.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier)); + return ts.updateExportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.exportClause, visitor, ts.isNamedExports), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); case 251: + return ts.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier)); + case 252: return ts.updateExportSpecifier(node, visitNode(node.propertyName, visitor, ts.isIdentifier), visitNode(node.name, visitor, ts.isIdentifier)); - case 253: - return ts.updateExternalModuleReference(node, visitNode(node.expression, visitor, ts.isExpression)); case 254: - return ts.updateJsxElement(node, visitNode(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), visitNode(node.closingElement, visitor, ts.isJsxClosingElement)); + return ts.updateExternalModuleReference(node, visitNode(node.expression, visitor, ts.isExpression)); case 255: - return ts.updateJsxSelfClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); + return ts.updateJsxElement(node, visitNode(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), visitNode(node.closingElement, visitor, ts.isJsxClosingElement)); case 256: - return ts.updateJsxOpeningElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); + return ts.updateJsxSelfClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); case 257: - return ts.updateJsxClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression)); + return ts.updateJsxOpeningElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); case 258: + return ts.updateJsxClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression)); + case 259: return ts.updateJsxFragment(node, visitNode(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), visitNode(node.closingFragment, visitor, ts.isJsxClosingFragment)); - case 261: - return ts.updateJsxAttribute(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.initializer, visitor, ts.isStringLiteralOrJsxExpression)); case 262: - return ts.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike)); + return ts.updateJsxAttribute(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.initializer, visitor, ts.isStringLiteralOrJsxExpression)); case 263: - return ts.updateJsxSpreadAttribute(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike)); case 264: - return ts.updateJsxExpression(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateJsxSpreadAttribute(node, visitNode(node.expression, visitor, ts.isExpression)); case 265: - return ts.updateCaseClause(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement)); + return ts.updateJsxExpression(node, visitNode(node.expression, visitor, ts.isExpression)); case 266: - return ts.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement)); + return ts.updateCaseClause(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement)); case 267: - return ts.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments)); + return ts.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement)); case 268: - return ts.updateCatchClause(node, visitNode(node.variableDeclaration, visitor, ts.isVariableDeclaration), visitNode(node.block, visitor, ts.isBlock)); + return ts.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments)); case 269: - return ts.updatePropertyAssignment(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); + return ts.updateCatchClause(node, visitNode(node.variableDeclaration, visitor, ts.isVariableDeclaration), visitNode(node.block, visitor, ts.isBlock)); case 270: - return ts.updateShorthandPropertyAssignment(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.objectAssignmentInitializer, visitor, ts.isExpression)); + return ts.updatePropertyAssignment(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); case 271: - return ts.updateSpreadAssignment(node, visitNode(node.expression, visitor, ts.isExpression)); + return ts.updateShorthandPropertyAssignment(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.objectAssignmentInitializer, visitor, ts.isExpression)); case 272: - return ts.updateEnumMember(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); + return ts.updateSpreadAssignment(node, visitNode(node.expression, visitor, ts.isExpression)); case 273: + return ts.updateEnumMember(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); + case 274: return ts.updateSourceFileNode(node, visitLexicalEnvironment(node.statements, visitor, context)); - case 300: - return ts.updatePartiallyEmittedExpression(node, visitNode(node.expression, visitor, ts.isExpression)); case 301: + return ts.updatePartiallyEmittedExpression(node, visitNode(node.expression, visitor, ts.isExpression)); + case 302: return ts.updateCommaList(node, nodesVisitor(node.elements, visitor, ts.isExpression)); default: return node; @@ -49039,52 +49357,52 @@ var ts; var reduceNodes = cbNodeArray ? reduceNodeArray : ts.reduceLeft; var cbNodes = cbNodeArray || cbNode; var kind = node.kind; - if ((kind > 0 && kind <= 144)) { + if ((kind > 0 && kind <= 145)) { return initial; } - if ((kind >= 160 && kind <= 177)) { + if ((kind >= 161 && kind <= 178)) { return initial; } var result = initial; switch (node.kind) { - case 211: - case 214: - case 205: - case 230: - case 299: + case 212: + case 215: + case 206: + case 231: + case 300: break; - case 145: + case 146: result = reduceNode(node.left, cbNode, result); result = reduceNode(node.right, cbNode, result); break; - case 146: + case 147: result = reduceNode(node.expression, cbNode, result); break; - case 148: + case 149: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 149: + case 150: result = reduceNode(node.expression, cbNode, result); break; - case 150: + case 151: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.questionToken, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 151: + case 152: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 153: + case 154: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -49093,53 +49411,48 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 154: - result = reduceNodes(node.modifiers, cbNodes, result); - result = reduceNodes(node.parameters, cbNodes, result); - result = reduceNode(node.body, cbNode, result); - break; case 155: - result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); - result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.parameters, cbNodes, result); - result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; case 156: + result = reduceNodes(node.decorators, cbNodes, result); + result = reduceNodes(node.modifiers, cbNodes, result); + result = reduceNode(node.name, cbNode, result); + result = reduceNodes(node.parameters, cbNodes, result); + result = reduceNode(node.type, cbNode, result); + result = reduceNode(node.body, cbNode, result); + break; + case 157: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.parameters, cbNodes, result); result = reduceNode(node.body, cbNode, result); break; - case 179: case 180: + case 181: result = reduceNodes(node.elements, cbNodes, result); break; - case 181: + case 182: result = reduceNode(node.propertyName, cbNode, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 182: + case 183: result = reduceNodes(node.elements, cbNodes, result); break; - case 183: - result = reduceNodes(node.properties, cbNodes, result); - break; case 184: - result = reduceNode(node.expression, cbNode, result); - result = reduceNode(node.name, cbNode, result); + result = reduceNodes(node.properties, cbNodes, result); break; case 185: result = reduceNode(node.expression, cbNode, result); - result = reduceNode(node.argumentExpression, cbNode, result); + result = reduceNode(node.name, cbNode, result); break; case 186: result = reduceNode(node.expression, cbNode, result); - result = reduceNodes(node.typeArguments, cbNodes, result); - result = reduceNodes(node.arguments, cbNodes, result); + result = reduceNode(node.argumentExpression, cbNode, result); break; case 187: result = reduceNode(node.expression, cbNode, result); @@ -49147,14 +49460,19 @@ var ts; result = reduceNodes(node.arguments, cbNodes, result); break; case 188: + result = reduceNode(node.expression, cbNode, result); + result = reduceNodes(node.typeArguments, cbNodes, result); + result = reduceNodes(node.arguments, cbNodes, result); + break; + case 189: result = reduceNode(node.tag, cbNode, result); result = reduceNode(node.template, cbNode, result); break; - case 189: + case 190: result = reduceNode(node.type, cbNode, result); result = reduceNode(node.expression, cbNode, result); break; - case 191: + case 192: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.typeParameters, cbNodes, result); @@ -49162,262 +49480,262 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 192: + case 193: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNodes(node.typeParameters, cbNodes, result); result = reduceNodes(node.parameters, cbNodes, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 190: - case 193: + case 191: case 194: case 195: case 196: - case 202: + case 197: case 203: - case 208: + case 204: + case 209: result = reduceNode(node.expression, cbNode, result); break; - case 197: case 198: + case 199: result = reduceNode(node.operand, cbNode, result); break; - case 199: + case 200: result = reduceNode(node.left, cbNode, result); result = reduceNode(node.right, cbNode, result); break; - case 200: + case 201: result = reduceNode(node.condition, cbNode, result); result = reduceNode(node.whenTrue, cbNode, result); result = reduceNode(node.whenFalse, cbNode, result); break; - case 201: + case 202: result = reduceNode(node.head, cbNode, result); result = reduceNodes(node.templateSpans, cbNodes, result); break; - case 204: + case 205: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.typeParameters, cbNodes, result); result = reduceNodes(node.heritageClauses, cbNodes, result); result = reduceNodes(node.members, cbNodes, result); break; - case 206: + case 207: result = reduceNode(node.expression, cbNode, result); result = reduceNodes(node.typeArguments, cbNodes, result); break; - case 207: + case 208: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.type, cbNode, result); break; - case 210: + case 211: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.literal, cbNode, result); break; - case 212: + case 213: result = reduceNodes(node.statements, cbNodes, result); break; - case 213: + case 214: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.declarationList, cbNode, result); break; - case 215: + case 216: result = reduceNode(node.expression, cbNode, result); break; - case 216: + case 217: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.thenStatement, cbNode, result); result = reduceNode(node.elseStatement, cbNode, result); break; - case 217: - result = reduceNode(node.statement, cbNode, result); - result = reduceNode(node.expression, cbNode, result); - break; case 218: - case 225: - result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.statement, cbNode, result); + result = reduceNode(node.expression, cbNode, result); break; case 219: + case 226: + result = reduceNode(node.expression, cbNode, result); + result = reduceNode(node.statement, cbNode, result); + break; + case 220: result = reduceNode(node.initializer, cbNode, result); result = reduceNode(node.condition, cbNode, result); result = reduceNode(node.incrementor, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 220: case 221: + case 222: result = reduceNode(node.initializer, cbNode, result); result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 224: - case 228: + case 225: + case 229: result = reduceNode(node.expression, cbNode, result); break; - case 226: + case 227: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.caseBlock, cbNode, result); break; - case 227: + case 228: result = reduceNode(node.label, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 229: + case 230: result = reduceNode(node.tryBlock, cbNode, result); result = reduceNode(node.catchClause, cbNode, result); result = reduceNode(node.finallyBlock, cbNode, result); break; - case 231: + case 232: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 232: - result = reduceNodes(node.declarations, cbNodes, result); - break; case 233: - result = reduceNodes(node.decorators, cbNodes, result); - result = reduceNodes(node.modifiers, cbNodes, result); - result = reduceNode(node.name, cbNode, result); - result = reduceNodes(node.typeParameters, cbNodes, result); - result = reduceNodes(node.parameters, cbNodes, result); - result = reduceNode(node.type, cbNode, result); - result = reduceNode(node.body, cbNode, result); + result = reduceNodes(node.declarations, cbNodes, result); break; case 234: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.typeParameters, cbNodes, result); - result = reduceNodes(node.heritageClauses, cbNodes, result); - result = reduceNodes(node.members, cbNodes, result); + result = reduceNodes(node.parameters, cbNodes, result); + result = reduceNode(node.type, cbNode, result); + result = reduceNode(node.body, cbNode, result); break; - case 237: + case 235: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); + result = reduceNodes(node.typeParameters, cbNodes, result); + result = reduceNodes(node.heritageClauses, cbNodes, result); result = reduceNodes(node.members, cbNodes, result); break; case 238: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); - result = reduceNode(node.body, cbNode, result); + result = reduceNodes(node.members, cbNodes, result); break; case 239: - result = reduceNodes(node.statements, cbNodes, result); + result = reduceNodes(node.decorators, cbNodes, result); + result = reduceNodes(node.modifiers, cbNodes, result); + result = reduceNode(node.name, cbNode, result); + result = reduceNode(node.body, cbNode, result); break; case 240: + result = reduceNodes(node.statements, cbNodes, result); + break; + case 241: result = reduceNodes(node.clauses, cbNodes, result); break; - case 242: + case 243: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.moduleReference, cbNode, result); break; - case 243: + case 244: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.importClause, cbNode, result); result = reduceNode(node.moduleSpecifier, cbNode, result); break; - case 244: + case 245: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.namedBindings, cbNode, result); break; - case 245: - result = reduceNode(node.name, cbNode, result); - break; case 246: - case 250: - result = reduceNodes(node.elements, cbNodes, result); + result = reduceNode(node.name, cbNode, result); break; case 247: case 251: + result = reduceNodes(node.elements, cbNodes, result); + break; + case 248: + case 252: result = reduceNode(node.propertyName, cbNode, result); result = reduceNode(node.name, cbNode, result); break; - case 248: + case 249: result = ts.reduceLeft(node.decorators, cbNode, result); result = ts.reduceLeft(node.modifiers, cbNode, result); result = reduceNode(node.expression, cbNode, result); break; - case 249: + case 250: result = ts.reduceLeft(node.decorators, cbNode, result); result = ts.reduceLeft(node.modifiers, cbNode, result); result = reduceNode(node.exportClause, cbNode, result); result = reduceNode(node.moduleSpecifier, cbNode, result); break; - case 253: + case 254: result = reduceNode(node.expression, cbNode, result); break; - case 254: + case 255: result = reduceNode(node.openingElement, cbNode, result); result = ts.reduceLeft(node.children, cbNode, result); result = reduceNode(node.closingElement, cbNode, result); break; - case 258: + case 259: result = reduceNode(node.openingFragment, cbNode, result); result = ts.reduceLeft(node.children, cbNode, result); result = reduceNode(node.closingFragment, cbNode, result); break; - case 255: case 256: + case 257: result = reduceNode(node.tagName, cbNode, result); result = reduceNode(node.attributes, cbNode, result); break; - case 262: + case 263: result = reduceNodes(node.properties, cbNodes, result); break; - case 257: + case 258: result = reduceNode(node.tagName, cbNode, result); break; - case 261: + case 262: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 263: - result = reduceNode(node.expression, cbNode, result); - break; case 264: result = reduceNode(node.expression, cbNode, result); break; case 265: result = reduceNode(node.expression, cbNode, result); + break; case 266: + result = reduceNode(node.expression, cbNode, result); + case 267: result = reduceNodes(node.statements, cbNodes, result); break; - case 267: + case 268: result = reduceNodes(node.types, cbNodes, result); break; - case 268: + case 269: result = reduceNode(node.variableDeclaration, cbNode, result); result = reduceNode(node.block, cbNode, result); break; - case 269: + case 270: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 270: + case 271: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.objectAssignmentInitializer, cbNode, result); break; - case 271: + case 272: result = reduceNode(node.expression, cbNode, result); break; - case 272: + case 273: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 273: + case 274: result = reduceNodes(node.statements, cbNodes, result); break; - case 300: + case 301: result = reduceNode(node.expression, cbNode, result); break; - case 301: + case 302: result = reduceNodes(node.elements, cbNodes, result); break; default: @@ -49431,8 +49749,8 @@ var ts; return statements; } return ts.isNodeArray(statements) - ? ts.setTextRange(ts.createNodeArray(ts.concatenate(declarations, statements)), statements) - : ts.prependRange(statements, declarations); + ? ts.setTextRange(ts.createNodeArray(ts.prependStatements(statements.slice(), declarations)), statements) + : ts.prependStatements(statements, declarations); } ts.mergeLexicalEnvironment = mergeLexicalEnvironment; function liftToBlock(nodes) { @@ -49470,7 +49788,7 @@ var ts; return subtreeFlags; } function aggregateTransformFlagsForSubtree(node) { - if (ts.hasModifier(node, 2) || (ts.isTypeNode(node) && node.kind !== 206)) { + if (ts.hasModifier(node, 2) || (ts.isTypeNode(node) && node.kind !== 207)) { return 0; } return reduceEachChild(node, 0, aggregateTransformFlagsForChildNode, aggregateTransformFlagsForChildNodes); @@ -49511,7 +49829,7 @@ var ts; }); Object.defineProperties(ts.objectAllocator.getTypeConstructor().prototype, { __debugFlags: { get: function () { return ts.formatTypeFlags(this.flags); } }, - __debugObjectFlags: { get: function () { return this.flags & 65536 ? ts.formatObjectFlags(this.objectFlags) : ""; } }, + __debugObjectFlags: { get: function () { return this.flags & 131072 ? ts.formatObjectFlags(this.objectFlags) : ""; } }, __debugTypeToString: { value: function () { return this.checker.typeToString(this); } }, }); var nodeConstructors = [ @@ -49560,12 +49878,12 @@ var ts; return ts.some(node.elements, isNamedDefaultReference); } function isNamedDefaultReference(e) { - return e.propertyName && e.propertyName.escapedText === "default"; + return e.propertyName !== undefined && e.propertyName.escapedText === "default"; } function chainBundle(transformSourceFile) { return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - return node.kind === 273 ? transformSourceFile(node) : transformBundle(node); + return node.kind === 274 ? transformSourceFile(node) : transformBundle(node); } function transformBundle(node) { return ts.createBundle(ts.map(node.sourceFiles, transformSourceFile), node.prepends); @@ -49593,7 +49911,7 @@ var ts; } ts.getImportNeedsImportStarHelper = getImportNeedsImportStarHelper; function getImportNeedsImportDefaultHelper(node) { - return !getImportNeedsImportStarHelper(node) && (ts.isDefaultImport(node) || (node.importClause && ts.isNamedImports(node.importClause.namedBindings) && containsDefaultReference(node.importClause.namedBindings))); + return !getImportNeedsImportStarHelper(node) && (ts.isDefaultImport(node) || (!!node.importClause && ts.isNamedImports(node.importClause.namedBindings) && containsDefaultReference(node.importClause.namedBindings))); } ts.getImportNeedsImportDefaultHelper = getImportNeedsImportDefaultHelper; function collectExternalModuleInfo(sourceFile, resolver, compilerOptions) { @@ -49609,16 +49927,16 @@ var ts; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var node = _a[_i]; switch (node.kind) { - case 243: + case 244: externalImports.push(node); hasImportStarOrImportDefault = hasImportStarOrImportDefault || getImportNeedsImportStarHelper(node) || getImportNeedsImportDefaultHelper(node); break; - case 242: - if (node.moduleReference.kind === 253) { + case 243: + if (node.moduleReference.kind === 254) { externalImports.push(node); } break; - case 249: + case 250: if (node.moduleSpecifier) { if (!node.exportClause) { externalImports.push(node); @@ -49645,12 +49963,12 @@ var ts; } } break; - case 248: + case 249: if (node.isExportEquals && !exportEquals) { exportEquals = node; } break; - case 213: + case 214: if (ts.hasModifier(node, 1)) { for (var _d = 0, _e = node.declarationList.declarations; _d < _e.length; _d++) { var decl = _e[_d]; @@ -49658,7 +49976,7 @@ var ts; } } break; - case 233: + case 234: if (ts.hasModifier(node, 1)) { if (ts.hasModifier(node, 512)) { if (!hasExportDefault) { @@ -49676,7 +49994,7 @@ var ts; } } break; - case 234: + case 235: if (ts.hasModifier(node, 1)) { if (ts.hasModifier(node, 512)) { if (!hasExportDefault) { @@ -49783,7 +50101,7 @@ var ts; var flattenContext = { context: context, level: level, - downlevelIteration: context.getCompilerOptions().downlevelIteration, + downlevelIteration: !!context.getCompilerOptions().downlevelIteration, hoistTempVariables: true, emitExpression: emitExpression, emitBindingOrAssignment: emitBindingOrAssignment, @@ -49848,13 +50166,14 @@ var ts; return false; } function flattenDestructuringBinding(node, visitor, context, level, rval, hoistTempVariables, skipInitializer) { + if (hoistTempVariables === void 0) { hoistTempVariables = false; } var pendingExpressions; var pendingDeclarations = []; var declarations = []; var flattenContext = { context: context, level: level, - downlevelIteration: context.getCompilerOptions().downlevelIteration, + downlevelIteration: !!context.getCompilerOptions().downlevelIteration, hoistTempVariables: hoistTempVariables, emitExpression: emitExpression, emitBindingOrAssignment: emitBindingOrAssignment, @@ -49880,7 +50199,7 @@ var ts; } else { context.hoistVariableDeclaration(temp); - var pendingDeclaration = ts.lastOrUndefined(pendingDeclarations); + var pendingDeclaration = ts.last(pendingDeclarations); pendingDeclaration.pendingExpressions = ts.append(pendingDeclaration.pendingExpressions, ts.createAssignment(temp, pendingDeclaration.value)); ts.addRange(pendingDeclaration.pendingExpressions, pendingExpressions); pendingDeclaration.value = temp; @@ -50147,8 +50466,8 @@ var ts; var previousOnSubstituteNode = context.onSubstituteNode; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; - context.enableSubstitution(184); context.enableSubstitution(185); + context.enableSubstitution(186); var currentSourceFile; var currentNamespace; var currentNamespaceContainerName; @@ -50160,14 +50479,14 @@ var ts; var pendingExpressions; return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - if (node.kind === 274) { + if (node.kind === 275) { return transformBundle(node); } return transformSourceFile(node); } function transformBundle(node) { return ts.createBundle(node.sourceFiles.map(transformSourceFile), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 276) { + if (prepend.kind === 277) { return ts.createUnparsedSourceFile(prepend.javascriptText); } return prepend; @@ -50196,15 +50515,15 @@ var ts; } function onBeforeVisitNode(node) { switch (node.kind) { - case 273: + case 274: + case 241: case 240: - case 239: - case 212: + case 213: currentScope = node; currentScopeFirstDeclarationsOfName = undefined; break; + case 235: case 234: - case 233: if (ts.hasModifier(node, 2)) { break; } @@ -50212,7 +50531,7 @@ var ts; recordEmittedDeclarationInScope(node); } else { - ts.Debug.assert(node.kind === 234 || ts.hasModifier(node, 512)); + ts.Debug.assert(node.kind === 235 || ts.hasModifier(node, 512)); } break; } @@ -50234,10 +50553,10 @@ var ts; } function sourceElementVisitorWorker(node) { switch (node.kind) { + case 244: case 243: - case 242: - case 248: case 249: + case 250: return visitEllidableStatement(node); default: return visitorWorker(node); @@ -50252,13 +50571,13 @@ var ts; return node; } switch (node.kind) { - case 243: + case 244: return visitImportDeclaration(node); - case 242: + case 243: return visitImportEqualsDeclaration(node); - case 248: - return visitExportAssignment(node); case 249: + return visitExportAssignment(node); + case 250: return visitExportDeclaration(node); default: ts.Debug.fail("Unhandled ellided statement"); @@ -50268,11 +50587,11 @@ var ts; return saveStateAndInvoke(node, namespaceElementVisitorWorker); } function namespaceElementVisitorWorker(node) { - if (node.kind === 249 || - node.kind === 243 || + if (node.kind === 250 || node.kind === 244 || - (node.kind === 242 && - node.moduleReference.kind === 253)) { + node.kind === 245 || + (node.kind === 243 && + node.moduleReference.kind === 254)) { return undefined; } else if (node.transformFlags & 1 || ts.hasModifier(node, 1)) { @@ -50288,15 +50607,15 @@ var ts; } function classElementVisitorWorker(node) { switch (node.kind) { - case 154: - return undefined; - case 151: - case 159: case 155: + return undefined; + case 152: + case 160: case 156: - case 153: + case 157: + case 154: return visitorWorker(node); - case 211: + case 212: return node; default: return ts.Debug.failBadSyntaxKind(node); @@ -50326,87 +50645,88 @@ var ts; case 76: case 124: case 132: - case 166: case 167: - case 165: - case 160: - case 147: + case 168: + case 166: + case 161: + case 148: case 119: + case 142: case 122: case 137: case 134: case 131: case 105: case 138: - case 163: - case 162: case 164: - case 161: - case 168: + case 163: + case 165: + case 162: case 169: case 170: - case 172: + case 171: case 173: case 174: case 175: case 176: case 177: - case 159: - case 149: - case 236: - return undefined; - case 151: - return visitPropertyDeclaration(node); - case 241: - return undefined; - case 154: - return visitConstructor(node); - case 235: - return ts.createNotEmittedStatement(node); - case 234: - return visitClassDeclaration(node); - case 204: - return visitClassExpression(node); - case 267: - return visitHeritageClause(node); - case 206: - return visitExpressionWithTypeArguments(node); - case 153: - return visitMethodDeclaration(node); - case 155: - return visitGetAccessor(node); - case 156: - return visitSetAccessor(node); - case 233: - return visitFunctionDeclaration(node); - case 191: - return visitFunctionExpression(node); - case 192: - return visitArrowFunction(node); - case 148: - return visitParameter(node); - case 190: - return visitParenthesizedExpression(node); - case 189: - case 207: - return visitAssertionExpression(node); - case 186: - return visitCallExpression(node); - case 187: - return visitNewExpression(node); - case 188: - return visitTaggedTemplateExpression(node); - case 208: - return visitNonNullExpression(node); + case 178: + case 160: + case 150: case 237: - return visitEnumDeclaration(node); - case 213: - return visitVariableStatement(node); - case 231: - return visitVariableDeclaration(node); - case 238: - return visitModuleDeclaration(node); + return undefined; + case 152: + return visitPropertyDeclaration(node); case 242: + return undefined; + case 155: + return visitConstructor(node); + case 236: + return ts.createNotEmittedStatement(node); + case 235: + return visitClassDeclaration(node); + case 205: + return visitClassExpression(node); + case 268: + return visitHeritageClause(node); + case 207: + return visitExpressionWithTypeArguments(node); + case 154: + return visitMethodDeclaration(node); + case 156: + return visitGetAccessor(node); + case 157: + return visitSetAccessor(node); + case 234: + return visitFunctionDeclaration(node); + case 192: + return visitFunctionExpression(node); + case 193: + return visitArrowFunction(node); + case 149: + return visitParameter(node); + case 191: + return visitParenthesizedExpression(node); + case 190: + case 208: + return visitAssertionExpression(node); + case 187: + return visitCallExpression(node); + case 188: + return visitNewExpression(node); + case 189: + return visitTaggedTemplateExpression(node); + case 209: + return visitNonNullExpression(node); + case 238: + return visitEnumDeclaration(node); + case 214: + return visitVariableStatement(node); + case 232: + return visitVariableDeclaration(node); + case 239: + return visitModuleDeclaration(node); + case 243: return visitImportEqualsDeclaration(node); default: return ts.Debug.failBadSyntaxKind(node); @@ -50414,7 +50734,8 @@ var ts; } function visitSourceFile(node) { var alwaysStrict = ts.getStrictOptionValue(compilerOptions, "alwaysStrict") && - !(ts.isExternalModule(node) && moduleKind >= ts.ModuleKind.ES2015); + !(ts.isExternalModule(node) && moduleKind >= ts.ModuleKind.ES2015) && + !ts.isJsonSourceFile(node); return ts.updateSourceFileNode(node, ts.visitLexicalEnvironment(node.statements, sourceElementVisitor, context, 0, alwaysStrict)); } function shouldEmitDecorateCallForClass(node) { @@ -50484,7 +50805,7 @@ var ts; statement.pos = closingBraceLocation.pos; ts.setEmitFlags(statement, 1536 | 384); statements.push(statement); - ts.prependRange(statements, context.endLexicalEnvironment()); + ts.prependStatements(statements, context.endLexicalEnvironment()); var iife = ts.createImmediatelyInvokedArrowFunction(statements); ts.setEmitFlags(iife, 33554432); var varStatement = ts.createVariableStatement(undefined, ts.createVariableDeclarationList([ @@ -50626,7 +50947,7 @@ var ts; return index; } var statement = statements[index]; - if (statement.kind === 215 && ts.isSuperCall(statement.expression)) { + if (statement.kind === 216 && ts.isSuperCall(statement.expression)) { result.push(ts.visitNode(statement, visitor, ts.isStatement)); return index + 1; } @@ -50660,7 +50981,7 @@ var ts; return isInitializedProperty(member, false); } function isInitializedProperty(member, isStatic) { - return member.kind === 151 + return member.kind === 152 && isStatic === ts.hasModifier(member, 32) && member.initializer !== undefined; } @@ -50735,12 +51056,12 @@ var ts; } function getAllDecoratorsOfClassElement(node, member) { switch (member.kind) { - case 155: case 156: + case 157: return getAllDecoratorsOfAccessors(node, member); - case 153: + case 154: return getAllDecoratorsOfMethod(member); - case 151: + case 152: return getAllDecoratorsOfProperty(member); default: return undefined; @@ -50819,7 +51140,7 @@ var ts; var prefix = getClassMemberPrefix(node, member); var memberName = getExpressionForPropertyName(member, true); var descriptor = languageVersion > 0 - ? member.kind === 151 + ? member.kind === 152 ? ts.createVoidZero() : ts.createNull() : undefined; @@ -50903,37 +51224,37 @@ var ts; } function shouldAddTypeMetadata(node) { var kind = node.kind; - return kind === 153 - || kind === 155 + return kind === 154 || kind === 156 - || kind === 151; + || kind === 157 + || kind === 152; } function shouldAddReturnTypeMetadata(node) { - return node.kind === 153; + return node.kind === 154; } function shouldAddParamTypesMetadata(node) { switch (node.kind) { - case 234: - case 204: + case 235: + case 205: return ts.getFirstConstructorWithBody(node) !== undefined; - case 153: - case 155: + case 154: case 156: + case 157: return true; } return false; } function serializeTypeOfNode(node) { switch (node.kind) { - case 151: - case 148: - case 155: - return serializeTypeNode(node.type); + case 152: + case 149: case 156: + return serializeTypeNode(node.type); + case 157: return serializeTypeNode(ts.getSetAccessorTypeAnnotationNode(node)); - case 234: - case 204: - case 153: + case 235: + case 205: + case 154: return ts.createIdentifier("Function"); default: return ts.createVoidZero(); @@ -50965,7 +51286,7 @@ var ts; return ts.createArrayLiteral(expressions); } function getParametersOfDecoratedDeclaration(node, container) { - if (container && node.kind === 155) { + if (container && node.kind === 156) { var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor; if (setAccessor) { return setAccessor.parameters; @@ -50992,22 +51313,22 @@ var ts; case 95: case 131: return ts.createVoidZero(); - case 172: + case 173: return serializeTypeNode(node.type); - case 162: case 163: + case 164: return ts.createIdentifier("Function"); - case 166: case 167: + case 168: return ts.createIdentifier("Array"); - case 160: + case 161: case 122: return ts.createIdentifier("Boolean"); case 137: return ts.createIdentifier("String"); case 135: return ts.createIdentifier("Object"); - case 177: + case 178: switch (node.literal.kind) { case 9: return ts.createIdentifier("String"); @@ -51025,18 +51346,19 @@ var ts; return languageVersion < 2 ? getGlobalSymbolNameWithFallback() : ts.createIdentifier("Symbol"); - case 161: + case 162: return serializeTypeReferenceNode(node); + case 170: case 169: - case 168: return serializeUnionOrIntersectionType(node); - case 164: - case 174: + case 165: case 175: case 176: - case 165: + case 177: + case 166: case 119: - case 173: + case 142: + case 174: break; default: return ts.Debug.failBadSyntaxKind(node); @@ -51047,7 +51369,7 @@ var ts; var serializedUnion; for (var _i = 0, _a = node.types; _i < _a.length; _i++) { var typeNode = _a[_i]; - while (typeNode.kind === 172) { + while (typeNode.kind === 173) { typeNode = typeNode.type; } if (typeNode.kind === 131) { @@ -51074,7 +51396,8 @@ var ts; return serializedUnion || ts.createVoidZero(); } function serializeTypeReferenceNode(node) { - switch (resolver.getTypeReferenceSerializationKind(node.typeName, currentScope)) { + var kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentScope); + switch (kind) { case ts.TypeReferenceSerializationKind.Unknown: var serialized = serializeEntityNameAsExpression(node.typeName, true); var temp = ts.createTempVariable(hoistVariableDeclaration); @@ -51100,8 +51423,9 @@ var ts; case ts.TypeReferenceSerializationKind.Promise: return ts.createIdentifier("Promise"); case ts.TypeReferenceSerializationKind.ObjectType: - default: return ts.createIdentifier("Object"); + default: + return ts.Debug.assertNever(kind); } } function serializeEntityNameAsExpression(node, useFallback) { @@ -51115,7 +51439,7 @@ var ts; return ts.createLogicalAnd(ts.createStrictInequality(ts.createTypeOf(name), ts.createLiteral("undefined")), name); } return name; - case 145: + case 146: return serializeQualifiedNameAsExpression(node, useFallback); } } @@ -51370,7 +51694,7 @@ var ts; var statements = []; startLexicalEnvironment(); var members = ts.map(node.members, transformEnumMember); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); ts.addRange(statements, members); currentNamespaceContainerName = savedCurrentNamespaceLocalName; return ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), node.members), true); @@ -51400,7 +51724,7 @@ var ts; } } function shouldEmitModuleDeclaration(node) { - return ts.isInstantiatedModule(node, compilerOptions.preserveConstEnums || compilerOptions.isolatedModules); + return ts.isInstantiatedModule(node, !!compilerOptions.preserveConstEnums || !!compilerOptions.isolatedModules); } function hasNamespaceQualifiedExportName(node) { return isExportOfNamespace(node) @@ -51432,11 +51756,11 @@ var ts; function addVarForEnumOrModuleDeclaration(statements, node) { var statement = ts.createVariableStatement(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.createVariableDeclarationList([ ts.createVariableDeclaration(ts.getLocalName(node, false, true)) - ], currentScope.kind === 273 ? 0 : 1)); + ], currentScope.kind === 274 ? 0 : 1)); ts.setOriginalNode(statement, node); recordEmittedDeclarationInScope(node); if (isFirstEmittedDeclarationInScope(node)) { - if (node.kind === 237) { + if (node.kind === 238) { ts.setSourceMapRange(statement.declarationList, node); } else { @@ -51497,7 +51821,7 @@ var ts; var statementsLocation; var blockLocation; var body = node.body; - if (body.kind === 239) { + if (body.kind === 240) { saveStateAndInvoke(body, function (body) { return ts.addRange(statements, ts.visitNodes(body.statements, namespaceElementVisitor, ts.isStatement)); }); statementsLocation = body.statements; blockLocation = body; @@ -51515,19 +51839,19 @@ var ts; var moduleBlock = getInnerMostModuleDeclarationFromDottedModule(node).body; statementsLocation = ts.moveRangePos(moduleBlock.statements, -1); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); currentNamespaceContainerName = savedCurrentNamespaceContainerName; currentNamespace = savedCurrentNamespace; currentScopeFirstDeclarationsOfName = savedCurrentScopeFirstDeclarationsOfName; var block = ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), statementsLocation), true); ts.setTextRange(block, blockLocation); - if (body.kind !== 239) { + if (body.kind !== 240) { ts.setEmitFlags(block, ts.getEmitFlags(block) | 1536); } return block; } function getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration) { - if (moduleDeclaration.body.kind === 238) { + if (moduleDeclaration.body.kind === 239) { var recursiveInnerModule = getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration.body); return recursiveInnerModule || moduleDeclaration.body; } @@ -51547,7 +51871,7 @@ var ts; return (name || namedBindings) ? ts.updateImportClause(node, name, namedBindings) : undefined; } function visitNamedImportBindings(node) { - if (node.kind === 245) { + if (node.kind === 246) { return resolver.isReferencedAliasDeclaration(node) ? node : undefined; } else { @@ -51682,15 +52006,15 @@ var ts; if ((enabledSubstitutions & 2) === 0) { enabledSubstitutions |= 2; context.enableSubstitution(71); - context.enableSubstitution(270); - context.enableEmitNotification(238); + context.enableSubstitution(271); + context.enableEmitNotification(239); } } function isTransformedModuleDeclaration(node) { - return ts.getOriginalNode(node).kind === 238; + return ts.getOriginalNode(node).kind === 239; } function isTransformedEnumDeclaration(node) { - return ts.getOriginalNode(node).kind === 237; + return ts.getOriginalNode(node).kind === 238; } function onEmitNode(hint, node, emitCallback) { var savedApplicableSubstitutions = applicableSubstitutions; @@ -51736,9 +52060,9 @@ var ts; switch (node.kind) { case 71: return substituteExpressionIdentifier(node); - case 184: - return substitutePropertyAccessExpression(node); case 185: + return substitutePropertyAccessExpression(node); + case 186: return substituteElementAccessExpression(node); } return node; @@ -51768,9 +52092,9 @@ var ts; function trySubstituteNamespaceExportedName(node) { if (enabledSubstitutions & applicableSubstitutions && !ts.isGeneratedIdentifier(node) && !ts.isLocalName(node)) { var container = resolver.getReferencedExportContainer(node, false); - if (container && container.kind !== 273) { - var substitute = (applicableSubstitutions & 2 && container.kind === 238) || - (applicableSubstitutions & 8 && container.kind === 237); + if (container && container.kind !== 274) { + var substitute = (applicableSubstitutions & 2 && container.kind === 239) || + (applicableSubstitutions & 8 && container.kind === 238); if (substitute) { return ts.setTextRange(ts.createPropertyAccess(ts.getGeneratedNameForNode(container), node), node); } @@ -51887,15 +52211,15 @@ var ts; switch (node.kind) { case 120: return undefined; - case 196: + case 197: return visitAwaitExpression(node); - case 153: + case 154: return visitMethodDeclaration(node); - case 233: + case 234: return visitFunctionDeclaration(node); - case 191: - return visitFunctionExpression(node); case 192: + return visitFunctionExpression(node); + case 193: return visitArrowFunction(node); default: return ts.visitEachChild(node, visitor, context); @@ -51904,27 +52228,27 @@ var ts; function asyncBodyVisitor(node) { if (ts.isNodeWithPossibleHoistedDeclaration(node)) { switch (node.kind) { - case 213: + case 214: return visitVariableStatementInAsyncBody(node); - case 219: - return visitForStatementInAsyncBody(node); case 220: - return visitForInStatementInAsyncBody(node); + return visitForStatementInAsyncBody(node); case 221: + return visitForInStatementInAsyncBody(node); + case 222: return visitForOfStatementInAsyncBody(node); - case 268: + case 269: return visitCatchClauseInAsyncBody(node); - case 212: - case 226: - case 240: - case 265: - case 266: - case 229: - case 217: - case 218: - case 216: - case 225: + case 213: case 227: + case 241: + case 266: + case 267: + case 230: + case 218: + case 219: + case 217: + case 226: + case 228: return ts.visitEachChild(node, asyncBodyVisitor, context); default: return ts.Debug.assertNever(node, "Unhandled node."); @@ -51973,8 +52297,9 @@ var ts; : ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.expression, visitor, ts.isExpression), ts.visitNode(node.statement, asyncBodyVisitor, ts.isStatement, ts.liftToBlock)); } function visitForStatementInAsyncBody(node) { - return ts.updateFor(node, isVariableDeclarationListWithCollidingName(node.initializer) - ? visitVariableDeclarationListWithCollidingNames(node.initializer, false) + var initializer = node.initializer; + return ts.updateFor(node, isVariableDeclarationListWithCollidingName(initializer) + ? visitVariableDeclarationListWithCollidingNames(initializer, false) : ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.condition, visitor, ts.isExpression), ts.visitNode(node.incrementor, visitor, ts.isExpression), ts.visitNode(node.statement, asyncBodyVisitor, ts.isStatement, ts.liftToBlock)); } function visitAwaitExpression(node) { @@ -52015,10 +52340,10 @@ var ts; } } function isVariableDeclarationListWithCollidingName(node) { - return node + return !!node && ts.isVariableDeclarationList(node) && !(node.flags & 3) - && ts.forEach(node.declarations, collidesWithParameterName); + && node.declarations.some(collidesWithParameterName); } function visitVariableDeclarationListWithCollidingNames(node, hasReceiver) { hoistVariableDeclarationList(node); @@ -52072,7 +52397,7 @@ var ts; var original = ts.getOriginalNode(node, ts.isFunctionLike); var nodeType = original.type; var promiseConstructor = languageVersion < 2 ? getPromiseConstructor(nodeType) : undefined; - var isArrowFunction = node.kind === 192; + var isArrowFunction = node.kind === 193; var hasLexicalArguments = (resolver.getNodeCheckFlags(node) & 8192) !== 0; var savedEnclosingFunctionParameterNames = enclosingFunctionParameterNames; enclosingFunctionParameterNames = ts.createUnderscoreEscapedMap(); @@ -52085,7 +52410,7 @@ var ts; var statements = []; var statementOffset = ts.addPrologue(statements, node.body.statements, false, visitor); statements.push(ts.createReturn(createAwaiterHelper(context, hasLexicalArguments, promiseConstructor, transformAsyncFunctionBodyWorker(node.body, statementOffset)))); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.createBlock(statements, true); ts.setTextRange(block, node.body); if (languageVersion >= 2) { @@ -52136,14 +52461,14 @@ var ts; function enableSubstitutionForAsyncMethodsWithSuper() { if ((enabledSubstitutions & 1) === 0) { enabledSubstitutions |= 1; - context.enableSubstitution(186); - context.enableSubstitution(184); + context.enableSubstitution(187); context.enableSubstitution(185); - context.enableEmitNotification(234); - context.enableEmitNotification(153); - context.enableEmitNotification(155); - context.enableEmitNotification(156); + context.enableSubstitution(186); + context.enableEmitNotification(235); context.enableEmitNotification(154); + context.enableEmitNotification(156); + context.enableEmitNotification(157); + context.enableEmitNotification(155); } } function onEmitNode(hint, node, emitCallback) { @@ -52168,11 +52493,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 184: - return substitutePropertyAccessExpression(node); case 185: - return substituteElementAccessExpression(node); + return substitutePropertyAccessExpression(node); case 186: + return substituteElementAccessExpression(node); + case 187: return substituteCallExpression(node); } return node; @@ -52203,11 +52528,11 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 234 - || kind === 154 - || kind === 153 + return kind === 235 || kind === 155 - || kind === 156; + || kind === 154 + || kind === 156 + || kind === 157; } function createSuperAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096) { @@ -52291,45 +52616,47 @@ var ts; return node; } switch (node.kind) { - case 196: + case 197: return visitAwaitExpression(node); - case 202: + case 203: return visitYieldExpression(node); - case 227: + case 225: + return visitReturnStatement(node); + case 228: return visitLabeledStatement(node); - case 183: + case 184: return visitObjectLiteralExpression(node); - case 199: + case 200: return visitBinaryExpression(node, noDestructuringValue); - case 231: + case 232: return visitVariableDeclaration(node); - case 221: + case 222: return visitForOfStatement(node, undefined); - case 219: + case 220: return visitForStatement(node); - case 195: + case 196: return visitVoidExpression(node); - case 154: - return visitConstructorDeclaration(node); - case 153: - return visitMethodDeclaration(node); case 155: - return visitGetAccessorDeclaration(node); + return visitConstructorDeclaration(node); + case 154: + return visitMethodDeclaration(node); case 156: + return visitGetAccessorDeclaration(node); + case 157: return visitSetAccessorDeclaration(node); - case 233: + case 234: return visitFunctionDeclaration(node); - case 191: - return visitFunctionExpression(node); case 192: + return visitFunctionExpression(node); + case 193: return visitArrowFunction(node); - case 148: + case 149: return visitParameter(node); - case 215: + case 216: return visitExpressionStatement(node); - case 190: + case 191: return visitParenthesizedExpression(node, noDestructuringValue); - case 268: + case 269: return visitCatchClause(node); default: return ts.visitEachChild(node, visitor, context); @@ -52353,10 +52680,16 @@ var ts; } return ts.visitEachChild(node, visitor, context); } + function visitReturnStatement(node) { + if (enclosingFunctionFlags & 2 && enclosingFunctionFlags & 1) { + return ts.updateReturn(node, createDownlevelAwait(node.expression ? ts.visitNode(node.expression, visitor, ts.isExpression) : ts.createVoidZero())); + } + return ts.visitEachChild(node, visitor, context); + } function visitLabeledStatement(node) { if (enclosingFunctionFlags & 2) { var statement = ts.unwrapInnermostStatementOfLabel(node); - if (statement.kind === 221 && statement.awaitModifier) { + if (statement.kind === 222 && statement.awaitModifier) { return visitForOfStatement(statement, node); } return ts.restoreEnclosingLabel(ts.visitEachChild(statement, visitor, context), node); @@ -52368,7 +52701,7 @@ var ts; var objects = []; for (var _i = 0, elements_4 = elements; _i < elements_4.length; _i++) { var e = elements_4[_i]; - if (e.kind === 271) { + if (e.kind === 272) { if (chunkObject) { objects.push(ts.createObjectLiteral(chunkObject)); chunkObject = undefined; @@ -52377,7 +52710,7 @@ var ts; objects.push(ts.visitNode(target, visitor, ts.isExpression)); } else { - chunkObject = ts.append(chunkObject, e.kind === 269 + chunkObject = ts.append(chunkObject, e.kind === 270 ? ts.createPropertyAssignment(e.name, ts.visitNode(e.initializer, visitor, ts.isExpression)) : ts.visitNode(e, visitor, ts.isObjectLiteralElementLike)); } @@ -52390,7 +52723,7 @@ var ts; function visitObjectLiteralExpression(node) { if (node.transformFlags & 1048576) { var objects = chunkObjectLiteralElements(node.properties); - if (objects.length && objects[0].kind !== 183) { + if (objects.length && objects[0].kind !== 184) { objects.unshift(ts.createObjectLiteral()); } return createAssignHelper(context, objects); @@ -52502,7 +52835,7 @@ var ts; var forStatement = ts.setEmitFlags(ts.setTextRange(ts.createFor(ts.setEmitFlags(ts.setTextRange(ts.createVariableDeclarationList([ ts.setTextRange(ts.createVariableDeclaration(iterator, undefined, callValues), node.expression), ts.createVariableDeclaration(result) - ]), node.expression), 2097152), ts.createComma(ts.createAssignment(result, createDownlevelAwait(callNext)), ts.createLogicalNot(getDone)), undefined, convertForOfStatementHead(node, createDownlevelAwait(getValue))), node), 256); + ]), node.expression), 2097152), ts.createComma(ts.createAssignment(result, createDownlevelAwait(callNext)), ts.createLogicalNot(getDone)), undefined, convertForOfStatementHead(node, getValue)), node), 256); return ts.createTry(ts.createBlock([ ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement) ]), ts.createCatchClause(ts.createVariableDeclaration(catchVariable), ts.setEmitFlags(ts.createBlock([ @@ -52596,7 +52929,7 @@ var ts; var statementOffset = ts.addPrologue(statements, node.body.statements, false, visitor); appendObjectRestAssignmentsIfNeeded(statements, node); statements.push(ts.createReturn(createAsyncGeneratorHelper(context, ts.createFunctionExpression(undefined, ts.createToken(39), node.name && ts.getGeneratedNameForNode(node.name), undefined, [], undefined, ts.updateBlock(node.body, ts.visitLexicalEnvironment(node.body.statements, visitor, context, statementOffset)))))); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.updateBlock(node.body, statements); if (languageVersion >= 2) { if (resolver.getNodeCheckFlags(node) & 4096) { @@ -52622,7 +52955,7 @@ var ts; var leadingStatements = endLexicalEnvironment(); if (statementOffset > 0 || ts.some(statements) || ts.some(leadingStatements)) { var block = ts.convertToFunctionBody(body, true); - ts.prependRange(statements, leadingStatements); + ts.prependStatements(statements, leadingStatements); ts.addRange(statements, block.statements.slice(statementOffset)); return ts.updateBlock(block, ts.setTextRange(ts.createNodeArray(statements), block.statements)); } @@ -52646,14 +52979,14 @@ var ts; function enableSubstitutionForAsyncMethodsWithSuper() { if ((enabledSubstitutions & 1) === 0) { enabledSubstitutions |= 1; - context.enableSubstitution(186); - context.enableSubstitution(184); + context.enableSubstitution(187); context.enableSubstitution(185); - context.enableEmitNotification(234); - context.enableEmitNotification(153); - context.enableEmitNotification(155); - context.enableEmitNotification(156); + context.enableSubstitution(186); + context.enableEmitNotification(235); context.enableEmitNotification(154); + context.enableEmitNotification(156); + context.enableEmitNotification(157); + context.enableEmitNotification(155); } } function onEmitNode(hint, node, emitCallback) { @@ -52678,11 +53011,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 184: - return substitutePropertyAccessExpression(node); case 185: - return substituteElementAccessExpression(node); + return substitutePropertyAccessExpression(node); case 186: + return substituteElementAccessExpression(node); + case 187: return substituteCallExpression(node); } return node; @@ -52713,11 +53046,11 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 234 - || kind === 154 - || kind === 153 + return kind === 235 || kind === 155 - || kind === 156; + || kind === 154 + || kind === 156 + || kind === 157; } function createSuperAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096) { @@ -52812,13 +53145,13 @@ var ts; } function visitorWorker(node) { switch (node.kind) { - case 254: - return visitJsxElement(node, false); case 255: + return visitJsxElement(node, false); + case 256: return visitJsxSelfClosingElement(node, false); - case 258: + case 259: return visitJsxFragment(node, false); - case 264: + case 265: return visitJsxExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -52828,13 +53161,13 @@ var ts; switch (node.kind) { case 10: return visitJsxText(node); - case 264: + case 265: return visitJsxExpression(node); - case 254: - return visitJsxElement(node, true); case 255: + return visitJsxElement(node, true); + case 256: return visitJsxSelfClosingElement(node, true); - case 258: + case 259: return visitJsxFragment(node, true); default: return ts.Debug.failBadSyntaxKind(node); @@ -52898,7 +53231,7 @@ var ts; literal.singleQuote = node.singleQuote !== undefined ? node.singleQuote : !ts.isStringDoubleQuoted(node, currentSourceFile); return ts.setTextRange(literal, node); } - else if (node.kind === 264) { + else if (node.kind === 265) { if (node.expression === undefined) { return ts.createTrue(); } @@ -52958,7 +53291,7 @@ var ts; return decoded === text ? undefined : decoded; } function getTagName(node) { - if (node.kind === 254) { + if (node.kind === 255) { return getTagName(node.openingElement); } else { @@ -53258,7 +53591,7 @@ var ts; return node; } switch (node.kind) { - case 199: + case 200: return visitBinaryExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -53416,14 +53749,14 @@ var ts; hierarchyFacts = (hierarchyFacts & ~excludeFacts | includeFacts) & -16384 | ancestorFacts; } function isReturnVoidStatementInConstructorWithCapturedSuper(node) { - return hierarchyFacts & 4096 - && node.kind === 224 + return (hierarchyFacts & 4096) !== 0 + && node.kind === 225 && !node.expression; } function shouldVisitNode(node) { return (node.transformFlags & 128) !== 0 || convertedLoopState !== undefined - || (hierarchyFacts & 4096 && (ts.isStatement(node) || (node.kind === 212))) + || (hierarchyFacts & 4096 && (ts.isStatement(node) || (node.kind === 213))) || (ts.isIterationStatement(node, false) && shouldConvertIterationStatementBody(node)) || (ts.getEmitFlags(node) & 33554432) !== 0; } @@ -53451,63 +53784,63 @@ var ts; switch (node.kind) { case 115: return undefined; - case 234: + case 235: return visitClassDeclaration(node); - case 204: + case 205: return visitClassExpression(node); - case 148: + case 149: return visitParameter(node); - case 233: + case 234: return visitFunctionDeclaration(node); - case 192: + case 193: return visitArrowFunction(node); - case 191: + case 192: return visitFunctionExpression(node); - case 231: + case 232: return visitVariableDeclaration(node); case 71: return visitIdentifier(node); - case 232: + case 233: return visitVariableDeclarationList(node); - case 226: - return visitSwitchStatement(node); - case 240: - return visitCaseBlock(node); - case 212: - return visitBlock(node, false); - case 223: - case 222: - return visitBreakOrContinueStatement(node); case 227: + return visitSwitchStatement(node); + case 241: + return visitCaseBlock(node); + case 213: + return visitBlock(node, false); + case 224: + case 223: + return visitBreakOrContinueStatement(node); + case 228: return visitLabeledStatement(node); - case 217: case 218: - return visitDoOrWhileStatement(node, undefined); case 219: - return visitForStatement(node, undefined); + return visitDoOrWhileStatement(node, undefined); case 220: - return visitForInStatement(node, undefined); + return visitForStatement(node, undefined); case 221: + return visitForInStatement(node, undefined); + case 222: return visitForOfStatement(node, undefined); - case 215: + case 216: return visitExpressionStatement(node); - case 183: + case 184: return visitObjectLiteralExpression(node); - case 268: + case 269: return visitCatchClause(node); - case 270: + case 271: return visitShorthandPropertyAssignment(node); - case 146: + case 147: return visitComputedPropertyName(node); - case 182: + case 183: return visitArrayLiteralExpression(node); - case 186: - return visitCallExpression(node); case 187: + return visitCallExpression(node); + case 188: return visitNewExpression(node); - case 190: + case 191: return visitParenthesizedExpression(node, true); - case 199: + case 200: return visitBinaryExpression(node, true); case 13: case 14: @@ -53518,28 +53851,28 @@ var ts; return visitStringLiteral(node); case 8: return visitNumericLiteral(node); - case 188: + case 189: return visitTaggedTemplateExpression(node); - case 201: - return visitTemplateExpression(node); case 202: - return visitYieldExpression(node); + return visitTemplateExpression(node); case 203: + return visitYieldExpression(node); + case 204: return visitSpreadElement(node); case 97: return visitSuperKeyword(false); case 99: return visitThisKeyword(node); - case 209: + case 210: return visitMetaProperty(node); - case 153: + case 154: return visitMethodDeclaration(node); - case 155: case 156: + case 157: return visitAccessorDeclaration(node); - case 213: + case 214: return visitVariableStatement(node); - case 224: + case 225: return visitReturnStatement(node); default: return ts.visitEachChild(node, visitor, context); @@ -53556,7 +53889,7 @@ var ts; if (taggedTemplateStringDeclarations) { statements.push(ts.createVariableStatement(undefined, ts.createVariableDeclarationList(taggedTemplateStringDeclarations))); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); exitSubtree(ancestorFacts, 0, 0); return ts.updateSourceFileNode(node, ts.setTextRange(ts.createNodeArray(statements), node.statements)); } @@ -53620,13 +53953,14 @@ var ts; } function visitBreakOrContinueStatement(node) { if (convertedLoopState) { - var jump = node.kind === 223 ? 2 : 4; + var jump = node.kind === 224 ? 2 : 4; var canUseBreakOrContinue = (node.label && convertedLoopState.labels && convertedLoopState.labels.get(ts.idText(node.label))) || (!node.label && (convertedLoopState.allowedNonLabeledJumps & jump)); if (!canUseBreakOrContinue) { var labelMarker = void 0; - if (!node.label) { - if (node.kind === 223) { + var label = node.label; + if (!label) { + if (node.kind === 224) { convertedLoopState.nonLocalJumps |= 2; labelMarker = "break"; } @@ -53636,13 +53970,13 @@ var ts; } } else { - if (node.kind === 223) { - labelMarker = "break-" + node.label.escapedText; - setLabeledJump(convertedLoopState, true, ts.idText(node.label), labelMarker); + if (node.kind === 224) { + labelMarker = "break-" + label.escapedText; + setLabeledJump(convertedLoopState, true, ts.idText(label), labelMarker); } else { - labelMarker = "continue-" + node.label.escapedText; - setLabeledJump(convertedLoopState, false, ts.idText(node.label), labelMarker); + labelMarker = "continue-" + label.escapedText; + setLabeledJump(convertedLoopState, false, ts.idText(label), labelMarker); } } var returnExpression = ts.createLiteral(labelMarker); @@ -53725,7 +54059,7 @@ var ts; statement.pos = closingBraceLocation.pos; ts.setEmitFlags(statement, 1536 | 384); statements.push(statement); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), node.members), true); ts.setEmitFlags(block, 1536); return block; @@ -53751,7 +54085,7 @@ var ts; convertedLoopState = savedConvertedLoopState; } function transformConstructorParameters(constructor, hasSynthesizedSuper) { - return ts.visitParameterList(constructor && !hasSynthesizedSuper && constructor.parameters, visitor, context) + return ts.visitParameterList(constructor && !hasSynthesizedSuper ? constructor.parameters : undefined, visitor, context) || []; } function transformConstructorBody(constructor, node, extendsClauseElement, hasSynthesizedSuper) { @@ -53772,7 +54106,7 @@ var ts; } ts.Debug.assert(statementOffset >= 0, "statementOffset not initialized correctly!"); } - var isDerivedClass = extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 95; + var isDerivedClass = !!extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 95; var superCaptureStatus = declareOrCaptureOrReturnThisForConstructorIfNeeded(statements, constructor, isDerivedClass, hasSynthesizedSuper, statementOffset); if (superCaptureStatus === 1 || superCaptureStatus === 2) { statementOffset++; @@ -53788,7 +54122,7 @@ var ts; && !(constructor && isSufficientlyCoveredByReturnStatements(constructor.body))) { statements.push(ts.createReturn(ts.createFileLevelUniqueName("_this"))); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); if (constructor) { prependCaptureNewTargetIfNeeded(statements, constructor, false); } @@ -53800,17 +54134,17 @@ var ts; return block; } function isSufficientlyCoveredByReturnStatements(statement) { - if (statement.kind === 224) { + if (statement.kind === 225) { return true; } - else if (statement.kind === 216) { + else if (statement.kind === 217) { var ifStatement = statement; if (ifStatement.elseStatement) { return isSufficientlyCoveredByReturnStatements(ifStatement.thenStatement) && isSufficientlyCoveredByReturnStatements(ifStatement.elseStatement); } } - else if (statement.kind === 212) { + else if (statement.kind === 213) { var lastStatement = ts.lastOrUndefined(statement.statements); if (lastStatement && isSufficientlyCoveredByReturnStatements(lastStatement)) { return true; @@ -53839,7 +54173,7 @@ var ts; var ctorStatements = ctor.body.statements; if (statementOffset < ctorStatements.length) { firstStatement = ctorStatements[statementOffset]; - if (firstStatement.kind === 215 && ts.isSuperCall(firstStatement.expression)) { + if (firstStatement.kind === 216 && ts.isSuperCall(firstStatement.expression)) { superCallExpression = visitImmediateSuperCallInBody(firstStatement.expression); } } @@ -53847,8 +54181,8 @@ var ts; && statementOffset === ctorStatements.length - 1 && !(ctor.transformFlags & (16384 | 32768))) { var returnStatement = ts.createReturn(superCallExpression); - if (superCallExpression.kind !== 199 - || superCallExpression.left.kind !== 186) { + if (superCallExpression.kind !== 200 + || superCallExpression.left.kind !== 187) { ts.Debug.fail("Assumed generated super call would have form 'super.call(...) || this'."); } ts.setCommentRange(returnStatement, ts.getCommentRange(ts.setEmitFlags(superCallExpression.left, 1536))); @@ -53949,7 +54283,7 @@ var ts; statements.push(forStatement); } function addCaptureThisForNodeIfNeeded(statements, node) { - if (node.transformFlags & 32768 && node.kind !== 192) { + if (node.transformFlags & 32768 && node.kind !== 193) { captureThisForNode(statements, node, ts.createThis()); } } @@ -53967,18 +54301,18 @@ var ts; if (hierarchyFacts & 16384) { var newTarget = void 0; switch (node.kind) { - case 192: + case 193: return statements; - case 153: - case 155: + case 154: case 156: + case 157: newTarget = ts.createVoidZero(); break; - case 154: + case 155: newTarget = ts.createPropertyAccess(ts.setEmitFlags(ts.createThis(), 4), "constructor"); break; - case 233: - case 191: + case 234: + case 192: newTarget = ts.createConditional(ts.createLogicalAnd(ts.setEmitFlags(ts.createThis(), 4), ts.createBinary(ts.setEmitFlags(ts.createThis(), 4), 93, ts.getLocalName(node))), ts.createPropertyAccess(ts.setEmitFlags(ts.createThis(), 4), "constructor"), ts.createVoidZero()); break; default: @@ -53998,20 +54332,20 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 211: + case 212: statements.push(transformSemicolonClassElementToStatement(member)); break; - case 153: + case 154: statements.push(transformClassMethodDeclarationToStatement(getClassMemberPrefix(node, member), member, node)); break; - case 155: case 156: + case 157: var accessors = ts.getAllAccessorDeclarations(node.members, member); if (member === accessors.firstAccessor) { statements.push(transformAccessorsToStatement(getClassMemberPrefix(node, member), accessors, node)); } break; - case 154: + case 155: break; default: ts.Debug.failBadSyntaxKind(node); @@ -54136,7 +54470,7 @@ var ts; : enterSubtree(16286, 65); var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); - if (hierarchyFacts & 16384 && !name && (node.kind === 233 || node.kind === 191)) { + if (hierarchyFacts & 16384 && !name && (node.kind === 234 || node.kind === 192)) { name = ts.getGeneratedNameForNode(node); } exitSubtree(ancestorFacts, 49152, 0); @@ -54170,7 +54504,7 @@ var ts; } } else { - ts.Debug.assert(node.kind === 192); + ts.Debug.assert(node.kind === 193); statementsLocation = ts.moveRangeEnd(body, -1); var equalsGreaterThanToken = node.equalsGreaterThanToken; if (!ts.nodeIsSynthesized(equalsGreaterThanToken) && !ts.nodeIsSynthesized(body)) { @@ -54190,7 +54524,7 @@ var ts; closeBraceLocation = body; } var lexicalEnvironment = context.endLexicalEnvironment(); - ts.prependRange(statements, lexicalEnvironment); + ts.prependStatements(statements, lexicalEnvironment); prependCaptureNewTargetIfNeeded(statements, node, false); if (!multiLine && lexicalEnvironment && lexicalEnvironment.length) { multiLine = true; @@ -54223,9 +54557,9 @@ var ts; } function visitExpressionStatement(node) { switch (node.expression.kind) { - case 190: + case 191: return ts.updateStatement(node, visitParenthesizedExpression(node.expression, false)); - case 199: + case 200: return ts.updateStatement(node, visitBinaryExpression(node.expression, false)); } return ts.visitEachChild(node, visitor, context); @@ -54233,9 +54567,9 @@ var ts; function visitParenthesizedExpression(node, needsDestructuringValue) { if (!needsDestructuringValue) { switch (node.expression.kind) { - case 190: + case 191: return ts.updateParen(node, visitParenthesizedExpression(node.expression, false)); - case 199: + case 200: return ts.updateParen(node, visitBinaryExpression(node.expression, false)); } } @@ -54293,11 +54627,10 @@ var ts; ts.setTextRange(declarationList, node); ts.setCommentRange(declarationList, node); if (node.transformFlags & 8388608 - && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.lastOrUndefined(node.declarations).name))) { + && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.last(node.declarations).name))) { var firstDeclaration = ts.firstOrUndefined(declarations); if (firstDeclaration) { - var lastDeclaration = ts.lastOrUndefined(declarations); - ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, lastDeclaration.end)); + ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, ts.last(declarations).end)); } } return declarationList; @@ -54361,14 +54694,14 @@ var ts; } function visitIterationStatement(node, outermostLabeledStatement) { switch (node.kind) { - case 217: case 218: - return visitDoOrWhileStatement(node, outermostLabeledStatement); case 219: - return visitForStatement(node, outermostLabeledStatement); + return visitDoOrWhileStatement(node, outermostLabeledStatement); case 220: - return visitForInStatement(node, outermostLabeledStatement); + return visitForStatement(node, outermostLabeledStatement); case 221: + return visitForInStatement(node, outermostLabeledStatement); + case 222: return visitForOfStatement(node, outermostLabeledStatement); } } @@ -54392,35 +54725,34 @@ var ts; } function convertForOfStatementHead(node, boundValue, convertedLoopBodyStatements) { var statements = []; - if (ts.isVariableDeclarationList(node.initializer)) { + var initializer = node.initializer; + if (ts.isVariableDeclarationList(initializer)) { if (node.initializer.flags & 3) { enableSubstitutionsForBlockScopedBindings(); } - var firstOriginalDeclaration = ts.firstOrUndefined(node.initializer.declarations); + var firstOriginalDeclaration = ts.firstOrUndefined(initializer.declarations); if (firstOriginalDeclaration && ts.isBindingPattern(firstOriginalDeclaration.name)) { var declarations = ts.flattenDestructuringBinding(firstOriginalDeclaration, visitor, context, 0, boundValue); var declarationList = ts.setTextRange(ts.createVariableDeclarationList(declarations), node.initializer); ts.setOriginalNode(declarationList, node.initializer); - var firstDeclaration = declarations[0]; - var lastDeclaration = ts.lastOrUndefined(declarations); - ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, lastDeclaration.end)); + ts.setSourceMapRange(declarationList, ts.createRange(declarations[0].pos, ts.last(declarations).end)); statements.push(ts.createVariableStatement(undefined, declarationList)); } else { statements.push(ts.setTextRange(ts.createVariableStatement(undefined, ts.setOriginalNode(ts.setTextRange(ts.createVariableDeclarationList([ ts.createVariableDeclaration(firstOriginalDeclaration ? firstOriginalDeclaration.name : ts.createTempVariable(undefined), undefined, boundValue) - ]), ts.moveRangePos(node.initializer, -1)), node.initializer)), ts.moveRangeEnd(node.initializer, -1))); + ]), ts.moveRangePos(initializer, -1)), initializer)), ts.moveRangeEnd(initializer, -1))); } } else { - var assignment = ts.createAssignment(node.initializer, boundValue); + var assignment = ts.createAssignment(initializer, boundValue); if (ts.isDestructuringAssignment(assignment)) { ts.aggregateTransformFlags(assignment); statements.push(ts.createStatement(visitBinaryExpression(assignment, false))); } else { - assignment.end = node.initializer.end; - statements.push(ts.setTextRange(ts.createStatement(ts.visitNode(assignment, visitor, ts.isExpression)), ts.moveRangeEnd(node.initializer, -1))); + assignment.end = initializer.end; + statements.push(ts.setTextRange(ts.createStatement(ts.visitNode(assignment, visitor, ts.isExpression)), ts.moveRangeEnd(initializer, -1))); } } if (convertedLoopBodyStatements) { @@ -54493,7 +54825,7 @@ var ts; && i < numInitialPropertiesWithoutYield) { numInitialPropertiesWithoutYield = i; } - if (property.name.kind === 146) { + if (property.name.kind === 147) { numInitialProperties = i; break; } @@ -54555,11 +54887,11 @@ var ts; var functionName = ts.createUniqueName("_loop"); var loopInitializer; switch (node.kind) { - case 219: case 220: case 221: + case 222: var initializer = node.initializer; - if (initializer && initializer.kind === 232) { + if (initializer && initializer.kind === 233) { loopInitializer = initializer; } break; @@ -54595,7 +54927,7 @@ var ts; if (loopOutParameters.length) { copyOutParameters(loopOutParameters, 1, statements_4); } - ts.prependRange(statements_4, lexicalEnvironment); + ts.prependStatements(statements_4, lexicalEnvironment); loopBody = ts.createBlock(statements_4, true); } if (ts.isBlock(loopBody)) { @@ -54785,20 +55117,20 @@ var ts; for (var i = start; i < numProperties; i++) { var property = properties[i]; switch (property.kind) { - case 155: case 156: + case 157: var accessors = ts.getAllAccessorDeclarations(node.properties, property); if (property === accessors.firstAccessor) { - expressions.push(transformAccessorsToExpression(receiver, accessors, node, node.multiLine)); + expressions.push(transformAccessorsToExpression(receiver, accessors, node, !!node.multiLine)); } break; - case 153: + case 154: expressions.push(transformObjectLiteralMethodDeclarationToExpression(property, receiver, node, node.multiLine)); break; - case 269: + case 270: expressions.push(transformPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; - case 270: + case 271: expressions.push(transformShorthandPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; default: @@ -54873,7 +55205,7 @@ var ts; var body = node.transformFlags & (32768 | 128) ? transformFunctionBody(node) : visitFunctionBodyDownLevel(node); - if (node.kind === 155) { + if (node.kind === 156) { updated = ts.updateGetAccessor(node, node.decorators, node.modifiers, node.name, parameters, node.type, body); } else { @@ -54897,7 +55229,7 @@ var ts; } function visitArrayLiteralExpression(node) { if (node.transformFlags & 64) { - return transformAndSpreadElements(node.elements, true, node.multiLine, node.elements.hasTrailingComma); + return transformAndSpreadElements(node.elements, true, !!node.multiLine, !!node.elements.hasTrailingComma); } return ts.visitEachChild(node, visitor, context); } @@ -54912,11 +55244,11 @@ var ts; } function visitTypeScriptClassWrapper(node) { var body = ts.cast(ts.cast(ts.skipOuterExpressions(node.expression), ts.isArrowFunction).body, ts.isBlock); - var isVariableStatementWithInitializer = function (stmt) { return ts.isVariableStatement(stmt) && !!ts.firstOrUndefined(stmt.declarationList.declarations).initializer; }; + var isVariableStatementWithInitializer = function (stmt) { return ts.isVariableStatement(stmt) && !!ts.first(stmt.declarationList.declarations).initializer; }; var bodyStatements = ts.visitNodes(body.statements, visitor, ts.isStatement); var classStatements = ts.filter(bodyStatements, isVariableStatementWithInitializer); var remainingStatements = ts.filter(bodyStatements, function (stmt) { return !isVariableStatementWithInitializer(stmt); }); - var varStatement = ts.cast(ts.firstOrUndefined(classStatements), ts.isVariableStatement); + var varStatement = ts.cast(ts.first(classStatements), ts.isVariableStatement); var variable = varStatement.declarationList.declarations[0]; var initializer = ts.skipOuterExpressions(variable.initializer); var aliasAssignment = ts.tryCast(initializer, ts.isAssignmentExpression); @@ -55004,7 +55336,7 @@ var ts; else { if (segments.length === 1) { var firstElement = elements[0]; - return needsUniqueCopy && ts.isSpreadElement(firstElement) && firstElement.expression.kind !== 182 + return needsUniqueCopy && ts.isSpreadElement(firstElement) && firstElement.expression.kind !== 183 ? ts.createArraySlice(segments[0]) : segments[0]; } @@ -55150,13 +55482,13 @@ var ts; if ((enabledSubstitutions & 1) === 0) { enabledSubstitutions |= 1; context.enableSubstitution(99); - context.enableEmitNotification(154); - context.enableEmitNotification(153); context.enableEmitNotification(155); + context.enableEmitNotification(154); context.enableEmitNotification(156); + context.enableEmitNotification(157); + context.enableEmitNotification(193); context.enableEmitNotification(192); - context.enableEmitNotification(191); - context.enableEmitNotification(233); + context.enableEmitNotification(234); } } function onSubstituteNode(hint, node) { @@ -55179,14 +55511,13 @@ var ts; return node; } function isNameOfDeclarationWithCollidingName(node) { - var parent = node.parent; - switch (parent.kind) { - case 181: - case 234: - case 237: - case 231: - return parent.name === node - && resolver.isDeclarationWithCollidingName(parent); + switch (node.parent.kind) { + case 182: + case 235: + case 238: + case 232: + return node.parent.name === node + && resolver.isDeclarationWithCollidingName(node.parent); } return false; } @@ -55245,11 +55576,11 @@ var ts; return false; } var statement = ts.firstOrUndefined(constructor.body.statements); - if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 215) { + if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 216) { return false; } var statementExpression = statement.expression; - if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 186) { + if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 187) { return false; } var callTarget = statementExpression.expression; @@ -55257,7 +55588,7 @@ var ts; return false; } var callArgument = ts.singleOrUndefined(statementExpression.arguments); - if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 203) { + if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 204) { return false; } var expression = callArgument.expression; @@ -55301,24 +55632,24 @@ var ts; if (compilerOptions.jsx === 1 || compilerOptions.jsx === 3) { previousOnEmitNode = context.onEmitNode; context.onEmitNode = onEmitNode; - context.enableEmitNotification(256); context.enableEmitNotification(257); - context.enableEmitNotification(255); + context.enableEmitNotification(258); + context.enableEmitNotification(256); noSubstitution = []; } var previousOnSubstituteNode = context.onSubstituteNode; context.onSubstituteNode = onSubstituteNode; - context.enableSubstitution(184); - context.enableSubstitution(269); + context.enableSubstitution(185); + context.enableSubstitution(270); return ts.chainBundle(transformSourceFile); function transformSourceFile(node) { return node; } function onEmitNode(hint, node, emitCallback) { switch (node.kind) { - case 256: case 257: - case 255: + case 258: + case 256: var tagName = node.tagName; noSubstitution[ts.getOriginalNodeId(tagName)] = true; break; @@ -55354,7 +55685,7 @@ var ts; } function trySubstituteReservedName(name) { var token = name.originalKeywordKind || (ts.nodeIsSynthesized(name) ? ts.stringToToken(ts.idText(name)) : undefined); - if (token >= 72 && token <= 107) { + if (token !== undefined && token >= 72 && token <= 107) { return ts.setTextRange(ts.createLiteral(name), name); } return undefined; @@ -55416,6 +55747,7 @@ var ts; case 4: return "yield"; case 5: return "yield*"; case 7: return "endfinally"; + default: return undefined; } } function transformGenerators(context) { @@ -55479,13 +55811,13 @@ var ts; } function visitJavaScriptInStatementContainingYield(node) { switch (node.kind) { - case 217: - return visitDoStatement(node); case 218: + return visitDoStatement(node); + case 219: return visitWhileStatement(node); - case 226: - return visitSwitchStatement(node); case 227: + return visitSwitchStatement(node); + case 228: return visitLabeledStatement(node); default: return visitJavaScriptInGeneratorFunctionBody(node); @@ -55493,24 +55825,24 @@ var ts; } function visitJavaScriptInGeneratorFunctionBody(node) { switch (node.kind) { - case 233: + case 234: return visitFunctionDeclaration(node); - case 191: + case 192: return visitFunctionExpression(node); - case 155: case 156: + case 157: return visitAccessorDeclaration(node); - case 213: + case 214: return visitVariableStatement(node); - case 219: - return visitForStatement(node); case 220: + return visitForStatement(node); + case 221: return visitForInStatement(node); - case 223: - return visitBreakStatement(node); - case 222: - return visitContinueStatement(node); case 224: + return visitBreakStatement(node); + case 223: + return visitContinueStatement(node); + case 225: return visitReturnStatement(node); default: if (node.transformFlags & 16777216) { @@ -55526,21 +55858,21 @@ var ts; } function visitJavaScriptContainingYield(node) { switch (node.kind) { - case 199: - return visitBinaryExpression(node); case 200: + return visitBinaryExpression(node); + case 201: return visitConditionalExpression(node); - case 202: + case 203: return visitYieldExpression(node); - case 182: - return visitArrayLiteralExpression(node); case 183: + return visitArrayLiteralExpression(node); + case 184: return visitObjectLiteralExpression(node); - case 185: - return visitElementAccessExpression(node); case 186: - return visitCallExpression(node); + return visitElementAccessExpression(node); case 187: + return visitCallExpression(node); + case 188: return visitNewExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -55548,9 +55880,9 @@ var ts; } function visitGenerator(node) { switch (node.kind) { - case 233: + case 234: return visitFunctionDeclaration(node); - case 191: + case 192: return visitFunctionExpression(node); default: return ts.Debug.failBadSyntaxKind(node); @@ -55634,7 +55966,7 @@ var ts; var statementOffset = ts.addPrologue(statements, body.statements, false, visitor); transformAndEmitStatements(body.statements, statementOffset); var buildResult = build(); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); statements.push(ts.createReturn(buildResult)); inGeneratorFunctionBody = savedInGeneratorFunctionBody; inStatementContainingYield = savedInStatementContainingYield; @@ -55672,13 +56004,14 @@ var ts; } } function visitBinaryExpression(node) { - switch (ts.getExpressionAssociativity(node)) { + var assoc = ts.getExpressionAssociativity(node); + switch (assoc) { case 0: return visitLeftAssociativeBinaryExpression(node); case 1: return visitRightAssociativeBinaryExpression(node); default: - ts.Debug.fail("Unknown associativity."); + return ts.Debug.assertNever(assoc); } } function isCompoundAssignment(kind) { @@ -55706,10 +56039,10 @@ var ts; if (containsYield(right)) { var target = void 0; switch (left.kind) { - case 184: + case 185: target = ts.updatePropertyAccess(left, cacheExpression(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression)), left.name); break; - case 185: + case 186: target = ts.updateElementAccess(left, cacheExpression(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression)), cacheExpression(ts.visitNode(left.argumentExpression, visitor, ts.isExpression))); break; default: @@ -55910,35 +56243,35 @@ var ts; } function transformAndEmitStatementWorker(node) { switch (node.kind) { - case 212: + case 213: return transformAndEmitBlock(node); - case 215: - return transformAndEmitExpressionStatement(node); case 216: - return transformAndEmitIfStatement(node); + return transformAndEmitExpressionStatement(node); case 217: - return transformAndEmitDoStatement(node); + return transformAndEmitIfStatement(node); case 218: - return transformAndEmitWhileStatement(node); + return transformAndEmitDoStatement(node); case 219: - return transformAndEmitForStatement(node); + return transformAndEmitWhileStatement(node); case 220: + return transformAndEmitForStatement(node); + case 221: return transformAndEmitForInStatement(node); - case 222: - return transformAndEmitContinueStatement(node); case 223: - return transformAndEmitBreakStatement(node); + return transformAndEmitContinueStatement(node); case 224: - return transformAndEmitReturnStatement(node); + return transformAndEmitBreakStatement(node); case 225: - return transformAndEmitWithStatement(node); + return transformAndEmitReturnStatement(node); case 226: - return transformAndEmitSwitchStatement(node); + return transformAndEmitWithStatement(node); case 227: - return transformAndEmitLabeledStatement(node); + return transformAndEmitSwitchStatement(node); case 228: - return transformAndEmitThrowStatement(node); + return transformAndEmitLabeledStatement(node); case 229: + return transformAndEmitThrowStatement(node); + case 230: return transformAndEmitTryStatement(node); default: return emitStatement(ts.visitNode(node, visitor, ts.isStatement)); @@ -56232,7 +56565,7 @@ var ts; for (var i = 0; i < numClauses; i++) { var clause = caseBlock.clauses[i]; clauseLabels.push(defineLabel()); - if (clause.kind === 266 && defaultClauseIndex === -1) { + if (clause.kind === 267 && defaultClauseIndex === -1) { defaultClauseIndex = i; } } @@ -56242,7 +56575,7 @@ var ts; var defaultClausesSkipped = 0; for (var i = clausesWritten; i < numClauses; i++) { var clause = caseBlock.clauses[i]; - if (clause.kind === 265) { + if (clause.kind === 266) { if (containsYield(clause.expression) && pendingClauses.length > 0) { break; } @@ -56332,7 +56665,7 @@ var ts; } } function containsYield(node) { - return node && (node.transformFlags & 16777216) !== 0; + return !!node && (node.transformFlags & 16777216) !== 0; } function countInitialNodesWithoutYield(nodes) { var numNodes = nodes.length; @@ -56419,7 +56752,8 @@ var ts; } function endBlock() { var block = peekBlock(); - ts.Debug.assert(block !== undefined, "beginBlock was never called."); + if (block === undefined) + return ts.Debug.fail("beginBlock was never called."); var index = blockActions.length; blockActions[index] = 1; blockOffsets[index] = operations ? operations.length : 0; @@ -56662,7 +56996,7 @@ var ts; return 0; } function createLabel(label) { - if (label > 0) { + if (label !== undefined && label > 0) { if (labelExpressions === undefined) { labelExpressions = []; } @@ -57033,7 +57367,7 @@ var ts; name: "typescript:generator", scoped: false, priority: 6, - text: "\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [0, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };" + text: "\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };" }; })(ts || (ts = {})); var ts; @@ -57057,11 +57391,11 @@ var ts; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; context.enableSubstitution(71); - context.enableSubstitution(199); - context.enableSubstitution(197); + context.enableSubstitution(200); context.enableSubstitution(198); - context.enableSubstitution(270); - context.enableEmitNotification(273); + context.enableSubstitution(199); + context.enableSubstitution(271); + context.enableEmitNotification(274); var moduleInfoMap = []; var deferredExports = []; var currentSourceFile; @@ -57100,7 +57434,7 @@ var ts; ts.append(statements, ts.visitNode(currentModuleInfo.externalHelpersImportDeclaration, sourceElementVisitor, ts.isStatement)); ts.addRange(statements, ts.visitNodes(node.statements, sourceElementVisitor, ts.isStatement, statementOffset)); addExportEqualsIfNeeded(statements, false); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var updated = ts.updateSourceFileNode(node, ts.setTextRange(ts.createNodeArray(statements), node.statements)); if (currentModuleInfo.hasExportStarsToExportValues && !compilerOptions.importHelpers) { ts.addEmitHelper(updated, exportStarHelper); @@ -57215,7 +57549,7 @@ var ts; } ts.addRange(statements, ts.visitNodes(node.statements, sourceElementVisitor, ts.isStatement, statementOffset)); addExportEqualsIfNeeded(statements, true); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var body = ts.createBlock(statements, true); if (currentModuleInfo.hasExportStarsToExportValues && !compilerOptions.importHelpers) { ts.addEmitHelper(body, exportStarHelper); @@ -57246,23 +57580,23 @@ var ts; } function sourceElementVisitor(node) { switch (node.kind) { - case 243: + case 244: return visitImportDeclaration(node); - case 242: + case 243: return visitImportEqualsDeclaration(node); - case 249: + case 250: return visitExportDeclaration(node); - case 248: + case 249: return visitExportAssignment(node); - case 213: + case 214: return visitVariableStatement(node); - case 233: - return visitFunctionDeclaration(node); case 234: + return visitFunctionDeclaration(node); + case 235: return visitClassDeclaration(node); - case 302: - return visitMergeDeclarationMarker(node); case 303: + return visitMergeDeclarationMarker(node); + case 304: return visitEndOfDeclarationMarker(node); default: return ts.visitEachChild(node, moduleExpressionElementVisitor, context); @@ -57287,24 +57621,24 @@ var ts; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var elem = _a[_i]; switch (elem.kind) { - case 269: + case 270: if (destructuringNeedsFlattening(elem.initializer)) { return true; } break; - case 270: + case 271: if (destructuringNeedsFlattening(elem.name)) { return true; } break; - case 271: + case 272: if (destructuringNeedsFlattening(elem.expression)) { return true; } break; - case 153: - case 155: + case 154: case 156: + case 157: return false; default: ts.Debug.assertNever(elem, "Unhandled object member kind"); } @@ -57619,7 +57953,7 @@ var ts; } } function visitMergeDeclarationMarker(node) { - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 213) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 214) { var id = ts.getOriginalNodeId(node); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original); } @@ -57651,10 +57985,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 245: + case 246: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 246: + case 247: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding); @@ -57762,7 +58096,7 @@ var ts; return node; } function onEmitNode(hint, node, emitCallback) { - if (node.kind === 273) { + if (node.kind === 274) { currentSourceFile = node; currentModuleInfo = moduleInfoMap[ts.getOriginalNodeId(currentSourceFile)]; noSubstitution = []; @@ -57804,10 +58138,10 @@ var ts; switch (node.kind) { case 71: return substituteExpressionIdentifier(node); - case 199: + case 200: return substituteBinaryExpression(node); + case 199: case 198: - case 197: return substituteUnaryExpression(node); } return node; @@ -57822,7 +58156,7 @@ var ts; } if (!ts.isGeneratedIdentifier(node) && !ts.isLocalName(node)) { var exportContainer = resolver.getReferencedExportContainer(node, ts.isExportName(node)); - if (exportContainer && exportContainer.kind === 273) { + if (exportContainer && exportContainer.kind === 274) { return ts.setTextRange(ts.createPropertyAccess(ts.createIdentifier("exports"), ts.getSynthesizedClone(node)), node); } var importDeclaration = resolver.getReferencedImportDeclaration(node); @@ -57865,7 +58199,7 @@ var ts; && !ts.isDeclarationNameOfEnumOrNamespace(node.operand)) { var exportedNames = getExports(node.operand); if (exportedNames) { - var expression = node.kind === 198 + var expression = node.kind === 199 ? ts.setTextRange(ts.createBinary(node.operand, ts.createToken(node.operator === 43 ? 59 : 60), ts.createLiteral(1)), node) : node; for (var _i = 0, exportedNames_3 = exportedNames; _i < exportedNames_3.length; _i++) { @@ -57929,11 +58263,11 @@ var ts; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; context.enableSubstitution(71); - context.enableSubstitution(270); - context.enableSubstitution(199); - context.enableSubstitution(197); + context.enableSubstitution(271); + context.enableSubstitution(200); context.enableSubstitution(198); - context.enableEmitNotification(273); + context.enableSubstitution(199); + context.enableEmitNotification(274); var moduleInfoMap = []; var deferredExports = []; var exportFunctionsMap = []; @@ -58019,7 +58353,7 @@ var ts; ts.visitNode(moduleInfo.externalHelpersImportDeclaration, sourceElementVisitor, ts.isStatement); var executeStatements = ts.visitNodes(node.statements, sourceElementVisitor, ts.isStatement, statementOffset); ts.addRange(statements, hoistedStatements); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var exportStarFunction = addExportStarIfNeeded(statements); var moduleObject = ts.createObjectLiteral([ ts.createPropertyAssignment("setters", createSettersArray(exportStarFunction, dependencyGroups)), @@ -58037,7 +58371,7 @@ var ts; var hasExportDeclarationWithExportClause = false; for (var _i = 0, _a = moduleInfo.externalImports; _i < _a.length; _i++) { var externalImport = _a[_i]; - if (externalImport.kind === 249 && externalImport.exportClause) { + if (externalImport.kind === 250 && externalImport.exportClause) { hasExportDeclarationWithExportClause = true; break; } @@ -58060,7 +58394,7 @@ var ts; } for (var _d = 0, _e = moduleInfo.externalImports; _d < _e.length; _d++) { var externalImport = _e[_d]; - if (externalImport.kind !== 249) { + if (externalImport.kind !== 250) { continue; } if (!externalImport.exportClause) { @@ -58111,15 +58445,15 @@ var ts; var entry = _b[_a]; var importVariableName = ts.getLocalNameForExternalImport(entry, currentSourceFile); switch (entry.kind) { - case 243: + case 244: if (!entry.importClause) { break; } - case 242: + case 243: ts.Debug.assert(importVariableName !== undefined); statements.push(ts.createStatement(ts.createAssignment(importVariableName, parameterName))); break; - case 249: + case 250: ts.Debug.assert(importVariableName !== undefined); if (entry.exportClause) { var properties = []; @@ -58141,13 +58475,13 @@ var ts; } function sourceElementVisitor(node) { switch (node.kind) { - case 243: + case 244: return visitImportDeclaration(node); - case 242: + case 243: return visitImportEqualsDeclaration(node); - case 249: + case 250: return undefined; - case 248: + case 249: return visitExportAssignment(node); default: return nestedElementVisitor(node); @@ -58268,7 +58602,7 @@ var ts; } function shouldHoistVariableDeclarationList(node) { return (ts.getEmitFlags(node) & 2097152) === 0 - && (enclosingBlockScopedContainer.kind === 273 + && (enclosingBlockScopedContainer.kind === 274 || (ts.getOriginalNode(node).flags & 3) === 0); } function transformInitializedVariable(node, isExportedDeclaration) { @@ -58290,7 +58624,7 @@ var ts; : preventSubstitution(ts.setTextRange(ts.createAssignment(name, value), location)); } function visitMergeDeclarationMarker(node) { - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 213) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 214) { var id = ts.getOriginalNodeId(node); var isExportedDeclaration = ts.hasModifier(node.original, 1); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original, isExportedDeclaration); @@ -58329,10 +58663,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 245: + case 246: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 246: + case 247: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding); @@ -58432,43 +58766,43 @@ var ts; } function nestedElementVisitor(node) { switch (node.kind) { - case 213: + case 214: return visitVariableStatement(node); - case 233: - return visitFunctionDeclaration(node); case 234: + return visitFunctionDeclaration(node); + case 235: return visitClassDeclaration(node); - case 219: - return visitForStatement(node); case 220: - return visitForInStatement(node); + return visitForStatement(node); case 221: + return visitForInStatement(node); + case 222: return visitForOfStatement(node); - case 217: - return visitDoStatement(node); case 218: + return visitDoStatement(node); + case 219: return visitWhileStatement(node); - case 227: + case 228: return visitLabeledStatement(node); - case 225: - return visitWithStatement(node); case 226: + return visitWithStatement(node); + case 227: return visitSwitchStatement(node); - case 240: + case 241: return visitCaseBlock(node); - case 265: - return visitCaseClause(node); case 266: + return visitCaseClause(node); + case 267: return visitDefaultClause(node); - case 229: + case 230: return visitTryStatement(node); - case 268: + case 269: return visitCatchClause(node); - case 212: + case 213: return visitBlock(node); - case 302: - return visitMergeDeclarationMarker(node); case 303: + return visitMergeDeclarationMarker(node); + case 304: return visitEndOfDeclarationMarker(node); default: return destructuringAndImportCallVisitor(node); @@ -58477,7 +58811,7 @@ var ts; function visitForStatement(node) { var savedEnclosingBlockScopedContainer = enclosingBlockScopedContainer; enclosingBlockScopedContainer = node; - node = ts.updateFor(node, visitForInitializer(node.initializer), ts.visitNode(node.condition, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.incrementor, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.statement, nestedElementVisitor, ts.isStatement)); + node = ts.updateFor(node, node.initializer && visitForInitializer(node.initializer), ts.visitNode(node.condition, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.incrementor, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.statement, nestedElementVisitor, ts.isStatement)); enclosingBlockScopedContainer = savedEnclosingBlockScopedContainer; return node; } @@ -58500,9 +58834,6 @@ var ts; && shouldHoistVariableDeclarationList(node); } function visitForInitializer(node) { - if (!node) { - return node; - } if (shouldHoistForInitializer(node)) { var expressions = void 0; for (var _i = 0, _a = node.declarations; _i < _a.length; _i++) { @@ -58565,7 +58896,7 @@ var ts; } function destructuringAndImportCallVisitor(node) { if (node.transformFlags & 1024 - && node.kind === 199) { + && node.kind === 200) { return visitDestructuringAssignment(node); } else if (ts.isImportCall(node)) { @@ -58608,7 +58939,7 @@ var ts; } else if (ts.isIdentifier(node)) { var container = resolver.getReferencedExportContainer(node); - return container !== undefined && container.kind === 273; + return container !== undefined && container.kind === 274; } else { return false; @@ -58623,7 +58954,7 @@ var ts; return node; } function onEmitNode(hint, node, emitCallback) { - if (node.kind === 273) { + if (node.kind === 274) { var id = ts.getOriginalNodeId(node); currentSourceFile = node; moduleInfo = moduleInfoMap[id]; @@ -58657,7 +58988,7 @@ var ts; } function substituteUnspecified(node) { switch (node.kind) { - case 270: + case 271: return substituteShorthandPropertyAssignment(node); } return node; @@ -58681,10 +59012,10 @@ var ts; switch (node.kind) { case 71: return substituteExpressionIdentifier(node); - case 199: + case 200: return substituteBinaryExpression(node); - case 197: case 198: + case 199: return substituteUnaryExpression(node); } return node; @@ -58736,14 +59067,14 @@ var ts; && !ts.isDeclarationNameOfEnumOrNamespace(node.operand)) { var exportedNames = getExports(node.operand); if (exportedNames) { - var expression = node.kind === 198 + var expression = node.kind === 199 ? ts.setTextRange(ts.createPrefix(node.operator, node.operand), node) : node; for (var _i = 0, exportedNames_5 = exportedNames; _i < exportedNames_5.length; _i++) { var exportName = exportedNames_5[_i]; expression = createExportExpression(exportName, preventSubstitution(expression)); } - if (node.kind === 198) { + if (node.kind === 199) { expression = node.operator === 43 ? ts.createSubtract(preventSubstitution(expression), ts.createLiteral(1)) : ts.createAdd(preventSubstitution(expression), ts.createLiteral(1)); @@ -58760,7 +59091,7 @@ var ts; || resolver.getReferencedValueDeclaration(name); if (valueDeclaration) { var exportContainer = resolver.getReferencedExportContainer(name, false); - if (exportContainer && exportContainer.kind === 273) { + if (exportContainer && exportContainer.kind === 274) { exportedNames = ts.append(exportedNames, ts.getDeclarationName(valueDeclaration)); } exportedNames = ts.addRange(exportedNames, moduleInfo && moduleInfo.exportedBindings[ts.getOriginalNodeId(valueDeclaration)]); @@ -58788,7 +59119,7 @@ var ts; var previousOnSubstituteNode = context.onSubstituteNode; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; - context.enableEmitNotification(273); + context.enableEmitNotification(274); context.enableSubstitution(71); var currentSourceFile; return ts.chainBundle(transformSourceFile); @@ -58815,9 +59146,9 @@ var ts; } function visitor(node) { switch (node.kind) { - case 242: + case 243: return undefined; - case 248: + case 249: return visitExportAssignment(node); } return node; @@ -58903,7 +59234,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234) { + else if (node.parent.kind === 235) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -58932,7 +59263,7 @@ var ts; ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234) { + else if (node.parent.kind === 235) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -58976,18 +59307,18 @@ var ts; return getTypeAliasDeclarationVisibilityError; } else { - ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]); + return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]); } function getVariableDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { - if (node.kind === 231 || node.kind === 181) { + if (node.kind === 232 || node.kind === 182) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1; } - else if (node.kind === 151 || node.kind === 150 || - (node.kind === 148 && ts.hasModifier(node.parent, 8))) { + else if (node.kind === 152 || node.kind === 151 || + (node.kind === 149 && ts.hasModifier(node.parent, 8))) { if (ts.hasModifier(node, 32)) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? @@ -58995,7 +59326,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234 || node.kind === 148) { + else if (node.parent.kind === 235 || node.kind === 149) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -59019,7 +59350,7 @@ var ts; } function getAccessorDeclarationTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; - if (node.kind === 156) { + if (node.kind === 157) { if (ts.hasModifier(node, 32)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2 : @@ -59056,23 +59387,23 @@ var ts; function getReturnTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; switch (node.kind) { - case 158: + case 159: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 157: + case 158: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 159: + case 160: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0; break; + case 154: case 153: - case 152: if (ts.hasModifier(node, 32)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? @@ -59080,7 +59411,7 @@ var ts; ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0; } - else if (node.parent.kind === 234) { + else if (node.parent.kind === 235) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -59093,7 +59424,7 @@ var ts; ts.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0; } break; - case 233: + case 234: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -59101,7 +59432,7 @@ var ts; ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0; break; default: - ts.Debug.fail("This is unknown kind for signature: " + node.kind); + return ts.Debug.fail("This is unknown kind for signature: " + node.kind); } return { diagnosticMessage: diagnosticMessage, @@ -59118,27 +59449,27 @@ var ts; } function getParameterDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { switch (node.parent.kind) { - case 154: + case 155: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1; - case 158: - case 163: + case 159: + case 164: return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; - case 157: + case 158: return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; - case 159: + case 160: return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1; + case 154: case 153: - case 152: if (ts.hasModifier(node.parent, 32)) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? @@ -59146,7 +59477,7 @@ var ts; ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 234) { + else if (node.parent.parent.kind === 235) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -59158,52 +59489,52 @@ var ts; ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } - case 233: - case 162: + case 234: + case 163: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 ? ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1; default: - ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]); + return ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]); } } function getTypeParameterConstraintVisibilityError() { var diagnosticMessage; switch (node.parent.kind) { - case 234: + case 235: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1; break; - case 235: + case 236: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1; break; - case 158: + case 159: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 157: + case 158: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; break; + case 154: case 153: - case 152: if (ts.hasModifier(node.parent, 32)) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 234) { + else if (node.parent.parent.kind === 235) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; } else { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } break; - case 233: + case 234: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1; break; - case 236: + case 237: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1; break; default: - ts.Debug.fail("This is unknown parent for type parameter: " + node.parent.kind); + return ts.Debug.fail("This is unknown parent for type parameter: " + node.parent.kind); } return { diagnosticMessage: diagnosticMessage, @@ -59213,7 +59544,7 @@ var ts; } function getHeritageClauseVisibilityError() { var diagnosticMessage; - if (node.parent.parent.kind === 234) { + if (node.parent.parent.kind === 235) { diagnosticMessage = node.parent.token === 108 ? ts.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1; @@ -59353,16 +59684,16 @@ var ts; } } function transformRoot(node) { - if (node.kind === 273 && (node.isDeclarationFile || ts.isSourceFileJavaScript(node))) { + if (node.kind === 274 && (node.isDeclarationFile || ts.isSourceFileJavaScript(node))) { return node; } - if (node.kind === 274) { + if (node.kind === 275) { isBundledEmit = true; var refs_1 = ts.createMap(); var hasNoDefaultLib_1 = false; var bundle = ts.createBundle(ts.map(node.sourceFiles, function (sourceFile) { if (sourceFile.isDeclarationFile || ts.isSourceFileJavaScript(sourceFile)) - return; + return undefined; hasNoDefaultLib_1 = hasNoDefaultLib_1 || sourceFile.hasNoDefaultLib; currentSourceFile = sourceFile; enclosingDeclaration = sourceFile; @@ -59384,7 +59715,7 @@ var ts; var updated = ts.visitNodes(sourceFile.statements, visitDeclarationStatements); return ts.updateSourceFileNode(sourceFile, transformAndReplaceLatePaintedStatements(updated), true, [], [], false); }), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 276) { + if (prepend.kind === 277) { return ts.createUnparsedSourceFile(prepend.declarationText); } })); @@ -59479,7 +59810,7 @@ var ts; return name; } else { - if (name.kind === 180) { + if (name.kind === 181) { return ts.updateArrayBindingPattern(name, ts.visitNodes(name.elements, visitBindingElement)); } else { @@ -59487,7 +59818,7 @@ var ts; } } function visitBindingElement(elem) { - if (elem.kind === 205) { + if (elem.kind === 206) { return elem; } return ts.updateBindingElement(elem, elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializers(elem.name), shouldPrintWithInitializer(elem) ? elem.initializer : undefined); @@ -59521,7 +59852,7 @@ var ts; if (shouldPrintWithInitializer(node)) { return; } - var shouldUseResolverType = node.kind === 148 && + var shouldUseResolverType = node.kind === 149 && (resolver.isRequiredInitializedParameter(node) || resolver.isOptionalUninitializedParameterProperty(node)); if (type && !shouldUseResolverType) { @@ -59530,7 +59861,7 @@ var ts; if (!ts.getParseTreeNode(node)) { return type ? ts.visitNode(type, visitDeclarationSubtree) : ts.createKeywordTypeNode(119); } - if (node.kind === 156) { + if (node.kind === 157) { return ts.createKeywordTypeNode(119); } errorNameNode = node.name; @@ -59539,12 +59870,12 @@ var ts; oldDiag = getSymbolAccessibilityDiagnostic; getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(node); } - if (node.kind === 231 || node.kind === 181) { + if (node.kind === 232 || node.kind === 182) { return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } - if (node.kind === 148 - || node.kind === 151 - || node.kind === 150) { + if (node.kind === 149 + || node.kind === 152 + || node.kind === 151) { if (!node.initializer) return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); @@ -59561,19 +59892,19 @@ var ts; function isDeclarationAndNotVisible(node) { node = ts.getParseTreeNode(node); switch (node.kind) { - case 233: - case 238: - case 235: case 234: + case 239: case 236: + case 235: case 237: + case 238: return !resolver.isDeclarationVisible(node); - case 231: + case 232: return !getBindingNameVisible(node); - case 242: case 243: + case 244: + case 250: case 249: - case 248: return false; } return false; @@ -59583,7 +59914,7 @@ var ts; return false; } if (ts.isBindingPattern(elem.name)) { - return ts.forEach(elem.name.elements, getBindingNameVisible); + return ts.some(elem.name.elements, getBindingNameVisible); } else { return resolver.isDeclarationVisible(elem); @@ -59625,8 +59956,8 @@ var ts; } function rewriteModuleSpecifier(parent, input) { if (!input) - return; - resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 238 && parent.kind !== 178); + return undefined; + resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 239 && parent.kind !== 179); if (input.kind === 9 && isBundledEmit) { var newName = ts.getExternalModuleNameFromDeclaration(context.getEmitHost(), resolver, parent); if (newName) { @@ -59638,7 +59969,7 @@ var ts; function transformImportEqualsDeclaration(decl) { if (!resolver.isDeclarationVisible(decl)) return; - if (decl.moduleReference.kind === 253) { + if (decl.moduleReference.kind === 254) { var specifier = ts.getExternalModuleImportEqualsDeclarationExpression(decl); return ts.updateImportEqualsDeclaration(decl, undefined, decl.modifiers, decl.name, ts.updateExternalModuleReference(decl.moduleReference, rewriteModuleSpecifier(decl, specifier))); } @@ -59658,7 +59989,7 @@ var ts; if (!decl.importClause.namedBindings) { return visibleDefaultBinding && ts.updateImportDeclaration(decl, undefined, decl.modifiers, ts.updateImportClause(decl.importClause, visibleDefaultBinding, undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier)); } - if (decl.importClause.namedBindings.kind === 245) { + if (decl.importClause.namedBindings.kind === 246) { var namedBindings = resolver.isDeclarationVisible(decl.importClause.namedBindings) ? decl.importClause.namedBindings : undefined; return visibleDefaultBinding || namedBindings ? ts.updateImportDeclaration(decl, undefined, decl.modifiers, ts.updateImportClause(decl.importClause, visibleDefaultBinding, namedBindings), rewriteModuleSpecifier(decl, decl.moduleSpecifier)) : undefined; } @@ -59738,61 +60069,61 @@ var ts; checkEntityNameVisibility(input.exprName, enclosingDeclaration); } var oldWithinObjectLiteralType = suppressNewDiagnosticContexts; - var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 165 || input.kind === 176) && input.parent.kind !== 236); + var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 166 || input.kind === 177) && input.parent.kind !== 237); if (shouldEnterSuppressNewDiagnosticsContextContext) { suppressNewDiagnosticContexts = true; } if (isProcessedComponent(input)) { switch (input.kind) { - case 206: { + case 207: { if ((ts.isEntityName(input.expression) || ts.isEntityNameExpression(input.expression))) { checkEntityNameVisibility(input.expression, enclosingDeclaration); } var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(ts.updateExpressionWithTypeArguments(node, ts.parenthesizeTypeParameters(node.typeArguments), node.expression)); } - case 161: { + case 162: { checkEntityNameVisibility(input.typeName, enclosingDeclaration); var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(ts.updateTypeReferenceNode(node, node.typeName, ts.parenthesizeTypeParameters(node.typeArguments))); } - case 158: + case 159: return cleanup(ts.updateConstructSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); - case 154: { + case 155: { var isPrivate = ts.hasModifier(input, 8); - var ctor = ts.createSignatureDeclaration(154, isPrivate ? undefined : ensureTypeParams(input, input.typeParameters), isPrivate ? undefined : updateParamsList(input, input.parameters, 0), undefined); + var ctor = ts.createSignatureDeclaration(155, isPrivate ? undefined : ensureTypeParams(input, input.typeParameters), isPrivate ? undefined : updateParamsList(input, input.parameters, 0), undefined); ctor.modifiers = ts.createNodeArray(ensureModifiers(input)); return cleanup(ctor); } - case 153: { - var sig = ts.createSignatureDeclaration(152, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type)); + case 154: { + var sig = ts.createSignatureDeclaration(153, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type)); sig.name = input.name; sig.modifiers = ts.createNodeArray(ensureModifiers(input)); sig.questionToken = input.questionToken; return cleanup(sig); } - case 155: { - var newNode = ensureAccessor(input); - return cleanup(newNode); - } case 156: { var newNode = ensureAccessor(input); return cleanup(newNode); } - case 151: + case 157: { + var newNode = ensureAccessor(input); + return cleanup(newNode); + } + case 152: return cleanup(ts.updateProperty(input, undefined, ensureModifiers(input), input.name, input.questionToken, !ts.hasModifier(input, 8) ? ensureType(input, input.type) : undefined, ensureNoInitializer(input))); - case 150: + case 151: return cleanup(ts.updatePropertySignature(input, ensureModifiers(input), input.name, input.questionToken, !ts.hasModifier(input, 8) ? ensureType(input, input.type) : undefined, ensureNoInitializer(input))); - case 152: { + case 153: { return cleanup(ts.updateMethodSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), input.name, input.questionToken)); } - case 157: { + case 158: { return cleanup(ts.updateCallSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); } - case 159: { + case 160: { return cleanup(ts.updateIndexSignature(input, undefined, ensureModifiers(input), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree) || ts.createKeywordTypeNode(119))); } - case 231: { + case 232: { if (ts.isBindingPattern(input.name)) { return recreateBindingPattern(input.name); } @@ -59800,13 +60131,13 @@ var ts; suppressNewDiagnosticContexts = true; return cleanup(ts.updateVariableDeclaration(input, input.name, ensureType(input, input.type), ensureNoInitializer(input))); } - case 147: { + case 148: { if (isPrivateMethodTypeParameter(input) && (input.default || input.constraint)) { return cleanup(ts.updateTypeParameterDeclaration(input, input.name, undefined, undefined)); } return cleanup(ts.visitEachChild(input, visitDeclarationSubtree, context)); } - case 170: { + case 171: { var checkType = ts.visitNode(input.checkType, visitDeclarationSubtree); var extendsType = ts.visitNode(input.extendsType, visitDeclarationSubtree); var oldEnclosingDecl = enclosingDeclaration; @@ -59816,13 +60147,13 @@ var ts; var falseType = ts.visitNode(input.falseType, visitDeclarationSubtree); return cleanup(ts.updateConditionalTypeNode(input, checkType, extendsType, trueType, falseType)); } - case 162: { + case 163: { return cleanup(ts.updateFunctionTypeNode(input, ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 163: { + case 164: { return cleanup(ts.updateConstructorTypeNode(input, ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 178: { + case 179: { if (!ts.isLiteralImportTypeNode(input)) return cleanup(input); return cleanup(ts.updateImportTypeNode(input, ts.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)), input.qualifier, ts.visitNodes(input.typeArguments, visitDeclarationSubtree, ts.isTypeNode), input.isTypeOf)); @@ -59851,7 +60182,7 @@ var ts; } } function isPrivateMethodTypeParameter(node) { - return node.parent.kind === 153 && ts.hasModifier(node.parent, 8); + return node.parent.kind === 154 && ts.hasModifier(node.parent, 8); } function visitDeclarationStatements(input) { if (!isPreservedDeclarationStatement(input)) { @@ -59860,14 +60191,14 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 249: { + case 250: { if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; resultHasScopeMarker = true; } return ts.updateExportDeclaration(input, undefined, input.modifiers, input.exportClause, rewriteModuleSpecifier(input, input.moduleSpecifier)); } - case 248: { + case 249: { if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; resultHasScopeMarker = true; @@ -59895,10 +60226,10 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 242: { + case 243: { return transformImportEqualsDeclaration(input); } - case 243: { + case 244: { return transformImportDeclaration(input); } } @@ -59918,18 +60249,18 @@ var ts; } var previousNeedsDeclare = needsDeclare; switch (input.kind) { - case 236: + case 237: return cleanup(ts.updateTypeAliasDeclaration(input, undefined, ensureModifiers(input, isPrivate), input.name, ts.visitNodes(input.typeParameters, visitDeclarationSubtree, ts.isTypeParameterDeclaration), ts.visitNode(input.type, visitDeclarationSubtree, ts.isTypeNode))); - case 235: { + case 236: { return cleanup(ts.updateInterfaceDeclaration(input, undefined, ensureModifiers(input, isPrivate), input.name, ensureTypeParams(input, input.typeParameters), transformHeritageClauses(input.heritageClauses), ts.visitNodes(input.members, visitDeclarationSubtree))); } - case 233: { + case 234: { return cleanup(ts.updateFunctionDeclaration(input, undefined, ensureModifiers(input, isPrivate), undefined, input.name, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), undefined)); } - case 238: { + case 239: { needsDeclare = false; var inner = input.body; - if (inner && inner.kind === 239) { + if (inner && inner.kind === 240) { var statements = ts.visitNodes(inner.statements, visitDeclarationStatements); var body = ts.updateModuleBlock(inner, transformAndReplaceLatePaintedStatements(statements)); needsDeclare = previousNeedsDeclare; @@ -59947,7 +60278,7 @@ var ts; return cleanup(ts.updateModuleDeclaration(input, undefined, mods, input.name, body)); } } - case 234: { + case 235: { var modifiers = ts.createNodeArray(ensureModifiers(input, isPrivate)); var typeParameters = ensureTypeParams(input, input.typeParameters); var ctor = ts.getFirstConstructorWithBody(input); @@ -60009,10 +60340,10 @@ var ts; return cleanup(ts.updateClassDeclaration(input, undefined, modifiers, input.name, typeParameters, heritageClauses, members)); } } - case 213: { + case 214: { return cleanup(transformVariableStatement(input, isPrivate)); } - case 237: { + case 238: { return cleanup(ts.updateEnumDeclaration(input, undefined, ts.createNodeArray(ensureModifiers(input, isPrivate)), input.name, ts.createNodeArray(ts.mapDefined(input.members, function (m) { if (shouldStripInternal(m)) return; @@ -60029,7 +60360,7 @@ var ts; if (canProdiceDiagnostic) { getSymbolAccessibilityDiagnostic = oldDiag; } - if (input.kind === 238) { + if (input.kind === 239) { needsDeclare = previousNeedsDeclare; } if (node === input) { @@ -60050,7 +60381,7 @@ var ts; return ts.flatten(ts.mapDefined(d.elements, function (e) { return recreateBindingElement(e); })); } function recreateBindingElement(e) { - if (e.kind === 205) { + if (e.kind === 206) { return; } if (e.name) { @@ -60104,7 +60435,7 @@ var ts; function ensureModifierFlags(node, privateDeclaration) { var mask = 3071 ^ (4 | 256); var additions = (needsDeclare && !isAlwaysType(node)) ? 2 : 0; - var parentIsFile = node.parent.kind === 273; + var parentIsFile = node.parent.kind === 274; if (!parentIsFile || (isBundledEmit && parentIsFile && ts.isExternalModule(node.parent))) { mask ^= ((privateDeclaration || (isBundledEmit && parentIsFile) ? 0 : 1) | 512 | 2); additions = 0; @@ -60151,7 +60482,7 @@ var ts; } ts.transformDeclarations = transformDeclarations; function isAlwaysType(node) { - if (node.kind === 235) { + if (node.kind === 236) { return true; } return false; @@ -60170,7 +60501,7 @@ var ts; } function getTypeAnnotationFromAccessor(accessor) { if (accessor) { - return accessor.kind === 155 + return accessor.kind === 156 ? accessor.type : accessor.parameters.length > 0 ? accessor.parameters[0].type @@ -60179,51 +60510,51 @@ var ts; } function canHaveLiteralInitializer(node) { switch (node.kind) { - case 231: + case 232: + case 152: case 151: - case 150: - case 148: + case 149: return true; } return false; } function isPreservedDeclarationStatement(node) { switch (node.kind) { - case 233: - case 238: - case 242: - case 235: case 234: - case 236: - case 237: - case 213: + case 239: case 243: + case 236: + case 235: + case 237: + case 238: + case 214: + case 244: + case 250: case 249: - case 248: return true; } return false; } function isProcessedComponent(node) { switch (node.kind) { - case 158: - case 154: - case 153: - case 155: - case 156: - case 151: - case 150: - case 152: - case 157: case 159: - case 231: - case 147: - case 206: - case 161: - case 170: + case 155: + case 154: + case 156: + case 157: + case 152: + case 151: + case 153: + case 158: + case 160: + case 232: + case 148: + case 207: case 162: + case 171: case 163: - case 178: + case 164: + case 179: return true; } return false; @@ -60286,7 +60617,7 @@ var ts; } ts.getTransformers = getTransformers; function transformNodes(resolver, host, options, nodes, transformers, allowDtsFiles) { - var enabledSyntaxKindFeatures = new Array(304); + var enabledSyntaxKindFeatures = new Array(305); var lexicalEnvironmentVariableDeclarations; var lexicalEnvironmentFunctionDeclarations; var lexicalEnvironmentVariableDeclarationsStack = []; @@ -60521,7 +60852,7 @@ var ts; return currentSource.skipTrivia ? currentSource.skipTrivia(pos) : ts.skipTrivia(currentSourceText, pos); } function initialize(filePath, sourceMapFilePath, sourceFileOrBundle, outputSourceMapDataList) { - if (disabled) { + if (disabled || ts.fileExtensionIs(filePath, ".json")) { return; } if (sourceMapData) { @@ -60552,7 +60883,7 @@ var ts; } if (compilerOptions.mapRoot) { sourceMapDir = ts.normalizeSlashes(compilerOptions.mapRoot); - if (sourceFileOrBundle.kind === 273) { + if (sourceFileOrBundle.kind === 274) { sourceMapDir = ts.getDirectoryPath(ts.getSourceFilePathInNewDir(sourceFileOrBundle, host, sourceMapDir)); } if (!ts.isRootedDiskPath(sourceMapDir) && !ts.isUrl(sourceMapDir)) { @@ -60612,7 +60943,7 @@ var ts; sourceMapData.sourceMapDecodedMappings.push(lastEncodedSourceMapSpan); } function emitPos(pos) { - if (disabled || ts.positionIsSynthesized(pos)) { + if (disabled || ts.positionIsSynthesized(pos) || isJsonSourceMapSource(currentSource)) { return; } if (extendedDiagnostics) { @@ -60649,12 +60980,12 @@ var ts; } } function emitNodeWithSourceMap(hint, node, emitCallback) { - if (disabled) { + if (disabled || ts.isInJsonFile(node)) { return emitCallback(hint, node); } if (node) { var emitNode = node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0; var range = emitNode && emitNode.sourceMapRange; var _a = range || node, pos = _a.pos, end = _a.end; var source = range && range.source; @@ -60663,7 +60994,7 @@ var ts; source = undefined; if (source) setSourceFile(source); - if (node.kind !== 299 + if (node.kind !== 300 && (emitFlags & 16) === 0 && pos >= 0) { emitPos(skipSourceTrivia(pos)); @@ -60680,7 +61011,7 @@ var ts; } if (source) setSourceFile(source); - if (node.kind !== 299 + if (node.kind !== 300 && (emitFlags & 32) === 0 && end >= 0) { emitPos(end); @@ -60690,11 +61021,11 @@ var ts; } } function emitTokenWithSourceMap(node, token, writer, tokenPos, emitCallback) { - if (disabled) { + if (disabled || ts.isInJsonFile(node)) { return emitCallback(token, writer, tokenPos); } var emitNode = node && node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0; var range = emitNode && emitNode.tokenSourceMapRanges && emitNode.tokenSourceMapRanges[token]; tokenPos = skipSourceTrivia(range ? range.pos : tokenPos); if ((emitFlags & 128) === 0 && tokenPos >= 0) { @@ -60708,12 +61039,18 @@ var ts; } return tokenPos; } + function isJsonSourceMapSource(sourceFile) { + return ts.fileExtensionIs(sourceFile.fileName, ".json"); + } function setSourceFile(sourceFile) { if (disabled) { return; } currentSource = sourceFile; currentSourceText = currentSource.text; + if (isJsonSourceMapSource(sourceFile)) { + return; + } var sourcesDirectoryPath = compilerOptions.sourceRoot ? host.getCommonSourceDirectory() : sourceMapDir; var source = ts.getRelativePathToDirectoryOrUrl(sourcesDirectoryPath, currentSource.fileName, host.getCurrentDirectory(), host.getCanonicalFileName, true); sourceMapSourceIndex = sourceMapData.sourceMapSources.indexOf(source); @@ -60727,8 +61064,8 @@ var ts; } } function getText() { - if (disabled) { - return; + if (disabled || isJsonSourceMapSource(currentSource)) { + return undefined; } encodeLastRecordedSourceMapSpan(); return JSON.stringify({ @@ -60742,8 +61079,8 @@ var ts; }); } function getSourceMappingURL() { - if (disabled) { - return; + if (disabled || isJsonSourceMapSource(currentSource)) { + return undefined; } if (compilerOptions.inlineSourceMap) { var base64SourceMapText = ts.base64encode(ts.sys, getText()); @@ -60795,7 +61132,7 @@ var ts; var currentLineMap; var detachedCommentsInfo; var hasWrittenComment = false; - var disabled = printerOptions.removeComments; + var disabled = !!printerOptions.removeComments; return { reset: reset, setWriter: setWriter, @@ -60813,7 +61150,7 @@ var ts; if (node) { hasWrittenComment = false; var emitNode = node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0; var _a = emitNode && emitNode.commentRange || node, pos = _a.pos, end = _a.end; if ((pos < 0 && end < 0) || (pos === end)) { emitNodeWithSynthesizedComments(hint, node, emitNode, emitFlags, emitCallback); @@ -60822,7 +61159,7 @@ var ts; if (extendedDiagnostics) { ts.performance.mark("preEmitNodeWithComment"); } - var isEmittedNode = node.kind !== 299; + var isEmittedNode = node.kind !== 300; var skipLeadingComments = pos < 0 || (emitFlags & 512) !== 0 || node.kind === 10; var skipTrailingComments = end < 0 || (emitFlags & 1024) !== 0 || node.kind === 10; if (!skipLeadingComments) { @@ -60836,7 +61173,7 @@ var ts; } if (!skipTrailingComments) { containerEnd = end; - if (node.kind === 232) { + if (node.kind === 233) { declarationListContainerEnd = end; } } @@ -61077,10 +61414,10 @@ var ts; detachedCommentsInfo = undefined; } function hasDetachedComments(pos) { - return detachedCommentsInfo !== undefined && ts.lastOrUndefined(detachedCommentsInfo).nodePos === pos; + return detachedCommentsInfo !== undefined && ts.last(detachedCommentsInfo).nodePos === pos; } function forEachLeadingCommentWithoutDetachedComments(cb) { - var pos = ts.lastOrUndefined(detachedCommentsInfo).detachedCommentEndPos; + var pos = ts.last(detachedCommentsInfo).detachedCommentEndPos; if (detachedCommentsInfo.length - 1) { detachedCommentsInfo.pop(); } @@ -61120,6 +61457,7 @@ var ts; var infoExtension = ".tsbundleinfo"; var brackets = createBracketsMap(); function forEachEmittedFile(host, action, sourceFilesOrTargetSourceFile, emitOnlyDtsFiles) { + if (emitOnlyDtsFiles === void 0) { emitOnlyDtsFiles = false; } var sourceFiles = ts.isArray(sourceFilesOrTargetSourceFile) ? sourceFilesOrTargetSourceFile : ts.getSourceFilesToEmit(host, sourceFilesOrTargetSourceFile); var options = host.getCompilerOptions(); if (options.outFile || options.out) { @@ -61144,17 +61482,17 @@ var ts; ts.forEachEmittedFile = forEachEmittedFile; function getOutputPathsFor(sourceFile, host, forceDtsPaths) { var options = host.getCompilerOptions(); - if (sourceFile.kind === 274) { + if (sourceFile.kind === 275) { var jsFilePath = options.outFile || options.out; var sourceMapFilePath = getSourceMapFilePath(jsFilePath, options); var declarationFilePath = (forceDtsPaths || options.declaration) ? ts.removeFileExtension(jsFilePath) + ".d.ts" : undefined; var declarationMapPath = ts.getAreDeclarationMapsEnabled(options) ? declarationFilePath + ".map" : undefined; - var bundleInfoPath = options.references && jsFilePath && (ts.removeFileExtension(jsFilePath) + infoExtension); + var bundleInfoPath = options.references && jsFilePath ? (ts.removeFileExtension(jsFilePath) + infoExtension) : undefined; return { jsFilePath: jsFilePath, sourceMapFilePath: sourceMapFilePath, declarationFilePath: declarationFilePath, declarationMapPath: declarationMapPath, bundleInfoPath: bundleInfoPath }; } else { var jsFilePath = ts.getOwnEmitOutputFilePath(sourceFile, host, getOutputExtension(sourceFile, options)); - var sourceMapFilePath = getSourceMapFilePath(jsFilePath, options); + var sourceMapFilePath = ts.isJsonSourceFile(sourceFile) ? undefined : getSourceMapFilePath(jsFilePath, options); var isJs = ts.isSourceFileJavaScript(sourceFile); var declarationFilePath = ((forceDtsPaths || options.declaration) && !isJs) ? ts.getDeclarationEmitOutputFilePath(sourceFile, host) : undefined; var declarationMapPath = ts.getAreDeclarationMapsEnabled(options) ? declarationFilePath + ".map" : undefined; @@ -61211,7 +61549,7 @@ var ts; emitSkipped: emitSkipped, diagnostics: emitterDiagnostics.getDiagnostics(), emittedFiles: emittedFilesList, - sourceMaps: sourceMapDataList + sourceMaps: sourceMapDataList, }; function emitSourceFileOrBundle(_a, sourceFileOrBundle) { var jsFilePath = _a.jsFilePath, sourceMapFilePath = _a.sourceMapFilePath, declarationFilePath = _a.declarationFilePath, declarationMapPath = _a.declarationMapPath, bundleInfoPath = _a.bundleInfoPath; @@ -61286,8 +61624,8 @@ var ts; declarationTransform.dispose(); } function printSourceFileOrBundle(jsFilePath, sourceMapFilePath, sourceFileOrBundle, bundleInfoPath, printer, mapRecorder) { - var bundle = sourceFileOrBundle.kind === 274 ? sourceFileOrBundle : undefined; - var sourceFile = sourceFileOrBundle.kind === 273 ? sourceFileOrBundle : undefined; + var bundle = sourceFileOrBundle.kind === 275 ? sourceFileOrBundle : undefined; + var sourceFile = sourceFileOrBundle.kind === 274 ? sourceFileOrBundle : undefined; var sourceFiles = bundle ? bundle.sourceFiles : [sourceFile]; mapRecorder.initialize(jsFilePath, sourceMapFilePath || "", sourceFileOrBundle, sourceMapDataList); if (bundle) { @@ -61304,7 +61642,7 @@ var ts; if (sourceMapFilePath) { ts.writeFile(host, emitterDiagnostics, sourceMapFilePath, mapRecorder.getText(), false, sourceFiles); } - ts.writeFile(host, emitterDiagnostics, jsFilePath, writer.getText(), compilerOptions.emitBOM, sourceFiles); + ts.writeFile(host, emitterDiagnostics, jsFilePath, writer.getText(), !!compilerOptions.emitBOM, sourceFiles); if (bundleInfoPath) { bundleInfo.totalLength = writer.getTextPos(); ts.writeFile(host, emitterDiagnostics, bundleInfoPath, JSON.stringify(bundleInfo, undefined, 2), false); @@ -61381,9 +61719,9 @@ var ts; break; } switch (node.kind) { - case 273: return printFile(node); - case 274: return printBundle(node); - case 275: return printUnparsedSource(node); + case 274: return printFile(node); + case 275: return printBundle(node); + case 276: return printUnparsedSource(node); } writeNode(hint, node, sourceFile, beginPrint()); return endPrint(); @@ -61540,8 +61878,7 @@ var ts; return getPipelinePhase(currentPhase + 1, hint); } function pipelineEmitWithNotification(hint, node) { - ts.Debug.assertDefined(onEmitNode); - onEmitNode(hint, node, getNextPipelinePhase(0, hint)); + ts.Debug.assertDefined(onEmitNode)(hint, node, getNextPipelinePhase(0, hint)); } function pipelineEmitWithComments(hint, node) { ts.Debug.assertDefined(emitNodeWithComments); @@ -61553,9 +61890,8 @@ var ts; pipelinePhase(hint, trySubstituteNode(hint, node)); } function pipelineEmitWithSourceMap(hint, node) { - ts.Debug.assertDefined(onEmitSourceMapOfNode); ts.Debug.assert(hint !== 0 && hint !== 2); - onEmitSourceMapOfNode(hint, node, pipelineEmitWithHint); + ts.Debug.assertDefined(onEmitSourceMapOfNode)(hint, node, pipelineEmitWithHint); } function pipelineEmitWithHint(hint, node) { if (hint === 0) @@ -61572,220 +61908,220 @@ var ts; case 15: case 16: return emitLiteral(node); - case 275: + case 276: return emitUnparsedSource(node); case 71: return emitIdentifier(node); - case 145: - return emitQualifiedName(node); case 146: - return emitComputedPropertyName(node); + return emitQualifiedName(node); case 147: - return emitTypeParameter(node); + return emitComputedPropertyName(node); case 148: - return emitParameter(node); + return emitTypeParameter(node); case 149: - return emitDecorator(node); + return emitParameter(node); case 150: - return emitPropertySignature(node); + return emitDecorator(node); case 151: - return emitPropertyDeclaration(node); + return emitPropertySignature(node); case 152: - return emitMethodSignature(node); + return emitPropertyDeclaration(node); case 153: - return emitMethodDeclaration(node); + return emitMethodSignature(node); case 154: - return emitConstructor(node); + return emitMethodDeclaration(node); case 155: + return emitConstructor(node); case 156: - return emitAccessorDeclaration(node); case 157: - return emitCallSignature(node); + return emitAccessorDeclaration(node); case 158: - return emitConstructSignature(node); + return emitCallSignature(node); case 159: - return emitIndexSignature(node); + return emitConstructSignature(node); case 160: - return emitTypePredicate(node); + return emitIndexSignature(node); case 161: - return emitTypeReference(node); + return emitTypePredicate(node); case 162: - return emitFunctionType(node); - case 283: - return emitJSDocFunctionType(node); + return emitTypeReference(node); case 163: - return emitConstructorType(node); + return emitFunctionType(node); + case 284: + return emitJSDocFunctionType(node); case 164: - return emitTypeQuery(node); + return emitConstructorType(node); case 165: - return emitTypeLiteral(node); + return emitTypeQuery(node); case 166: - return emitArrayType(node); + return emitTypeLiteral(node); case 167: - return emitTupleType(node); + return emitArrayType(node); case 168: - return emitUnionType(node); + return emitTupleType(node); case 169: - return emitIntersectionType(node); + return emitUnionType(node); case 170: - return emitConditionalType(node); + return emitIntersectionType(node); case 171: - return emitInferType(node); + return emitConditionalType(node); case 172: - return emitParenthesizedType(node); - case 206: - return emitExpressionWithTypeArguments(node); + return emitInferType(node); case 173: - return emitThisType(); + return emitParenthesizedType(node); + case 207: + return emitExpressionWithTypeArguments(node); case 174: - return emitTypeOperator(node); + return emitThisType(); case 175: - return emitIndexedAccessType(node); + return emitTypeOperator(node); case 176: - return emitMappedType(node); + return emitIndexedAccessType(node); case 177: - return emitLiteralType(node); + return emitMappedType(node); case 178: + return emitLiteralType(node); + case 179: return emitImportTypeNode(node); - case 278: + case 279: write("*"); return; - case 279: + case 280: write("?"); return; - case 280: - return emitJSDocNullableType(node); case 281: - return emitJSDocNonNullableType(node); + return emitJSDocNullableType(node); case 282: + return emitJSDocNonNullableType(node); + case 283: return emitJSDocOptionalType(node); - case 284: + case 285: return emitJSDocVariadicType(node); - case 179: - return emitObjectBindingPattern(node); case 180: - return emitArrayBindingPattern(node); + return emitObjectBindingPattern(node); case 181: + return emitArrayBindingPattern(node); + case 182: return emitBindingElement(node); - case 210: - return emitTemplateSpan(node); case 211: - return emitSemicolonClassElement(); + return emitTemplateSpan(node); case 212: - return emitBlock(node); + return emitSemicolonClassElement(); case 213: - return emitVariableStatement(node); + return emitBlock(node); case 214: - return emitEmptyStatement(); + return emitVariableStatement(node); case 215: - return emitExpressionStatement(node); + return emitEmptyStatement(); case 216: - return emitIfStatement(node); + return emitExpressionStatement(node); case 217: - return emitDoStatement(node); + return emitIfStatement(node); case 218: - return emitWhileStatement(node); + return emitDoStatement(node); case 219: - return emitForStatement(node); + return emitWhileStatement(node); case 220: - return emitForInStatement(node); + return emitForStatement(node); case 221: - return emitForOfStatement(node); + return emitForInStatement(node); case 222: - return emitContinueStatement(node); + return emitForOfStatement(node); case 223: - return emitBreakStatement(node); + return emitContinueStatement(node); case 224: - return emitReturnStatement(node); + return emitBreakStatement(node); case 225: - return emitWithStatement(node); + return emitReturnStatement(node); case 226: - return emitSwitchStatement(node); + return emitWithStatement(node); case 227: - return emitLabeledStatement(node); + return emitSwitchStatement(node); case 228: - return emitThrowStatement(node); + return emitLabeledStatement(node); case 229: - return emitTryStatement(node); + return emitThrowStatement(node); case 230: - return emitDebuggerStatement(node); + return emitTryStatement(node); case 231: - return emitVariableDeclaration(node); + return emitDebuggerStatement(node); case 232: - return emitVariableDeclarationList(node); + return emitVariableDeclaration(node); case 233: - return emitFunctionDeclaration(node); + return emitVariableDeclarationList(node); case 234: - return emitClassDeclaration(node); + return emitFunctionDeclaration(node); case 235: - return emitInterfaceDeclaration(node); + return emitClassDeclaration(node); case 236: - return emitTypeAliasDeclaration(node); + return emitInterfaceDeclaration(node); case 237: - return emitEnumDeclaration(node); + return emitTypeAliasDeclaration(node); case 238: - return emitModuleDeclaration(node); + return emitEnumDeclaration(node); case 239: - return emitModuleBlock(node); + return emitModuleDeclaration(node); case 240: - return emitCaseBlock(node); + return emitModuleBlock(node); case 241: - return emitNamespaceExportDeclaration(node); + return emitCaseBlock(node); case 242: - return emitImportEqualsDeclaration(node); + return emitNamespaceExportDeclaration(node); case 243: - return emitImportDeclaration(node); + return emitImportEqualsDeclaration(node); case 244: - return emitImportClause(node); + return emitImportDeclaration(node); case 245: - return emitNamespaceImport(node); + return emitImportClause(node); case 246: - return emitNamedImports(node); + return emitNamespaceImport(node); case 247: - return emitImportSpecifier(node); + return emitNamedImports(node); case 248: - return emitExportAssignment(node); + return emitImportSpecifier(node); case 249: - return emitExportDeclaration(node); + return emitExportAssignment(node); case 250: - return emitNamedExports(node); + return emitExportDeclaration(node); case 251: - return emitExportSpecifier(node); + return emitNamedExports(node); case 252: - return; + return emitExportSpecifier(node); case 253: + return; + case 254: return emitExternalModuleReference(node); case 10: return emitJsxText(node); - case 256: - case 259: - return emitJsxOpeningElementOrFragment(node); case 257: case 260: - return emitJsxClosingElementOrFragment(node); + return emitJsxOpeningElementOrFragment(node); + case 258: case 261: - return emitJsxAttribute(node); + return emitJsxClosingElementOrFragment(node); case 262: - return emitJsxAttributes(node); + return emitJsxAttribute(node); case 263: - return emitJsxSpreadAttribute(node); + return emitJsxAttributes(node); case 264: - return emitJsxExpression(node); + return emitJsxSpreadAttribute(node); case 265: - return emitCaseClause(node); + return emitJsxExpression(node); case 266: - return emitDefaultClause(node); + return emitCaseClause(node); case 267: - return emitHeritageClause(node); + return emitDefaultClause(node); case 268: - return emitCatchClause(node); + return emitHeritageClause(node); case 269: - return emitPropertyAssignment(node); + return emitCatchClause(node); case 270: - return emitShorthandPropertyAssignment(node); + return emitPropertyAssignment(node); case 271: - return emitSpreadAssignment(node); + return emitShorthandPropertyAssignment(node); case 272: + return emitSpreadAssignment(node); + case 273: return emitEnumMember(node); } if (ts.isExpression(node)) { @@ -61814,69 +62150,69 @@ var ts; case 91: writeTokenNode(node, writeKeyword); return; - case 182: - return emitArrayLiteralExpression(node); case 183: - return emitObjectLiteralExpression(node); + return emitArrayLiteralExpression(node); case 184: - return emitPropertyAccessExpression(node); + return emitObjectLiteralExpression(node); case 185: - return emitElementAccessExpression(node); + return emitPropertyAccessExpression(node); case 186: - return emitCallExpression(node); + return emitElementAccessExpression(node); case 187: - return emitNewExpression(node); + return emitCallExpression(node); case 188: - return emitTaggedTemplateExpression(node); + return emitNewExpression(node); case 189: - return emitTypeAssertionExpression(node); + return emitTaggedTemplateExpression(node); case 190: - return emitParenthesizedExpression(node); + return emitTypeAssertionExpression(node); case 191: - return emitFunctionExpression(node); + return emitParenthesizedExpression(node); case 192: - return emitArrowFunction(node); + return emitFunctionExpression(node); case 193: - return emitDeleteExpression(node); + return emitArrowFunction(node); case 194: - return emitTypeOfExpression(node); + return emitDeleteExpression(node); case 195: - return emitVoidExpression(node); + return emitTypeOfExpression(node); case 196: - return emitAwaitExpression(node); + return emitVoidExpression(node); case 197: - return emitPrefixUnaryExpression(node); + return emitAwaitExpression(node); case 198: - return emitPostfixUnaryExpression(node); + return emitPrefixUnaryExpression(node); case 199: - return emitBinaryExpression(node); + return emitPostfixUnaryExpression(node); case 200: - return emitConditionalExpression(node); + return emitBinaryExpression(node); case 201: - return emitTemplateExpression(node); + return emitConditionalExpression(node); case 202: - return emitYieldExpression(node); + return emitTemplateExpression(node); case 203: - return emitSpreadExpression(node); + return emitYieldExpression(node); case 204: - return emitClassExpression(node); + return emitSpreadExpression(node); case 205: + return emitClassExpression(node); + case 206: return; - case 207: - return emitAsExpression(node); case 208: - return emitNonNullExpression(node); + return emitAsExpression(node); case 209: + return emitNonNullExpression(node); + case 210: return emitMetaProperty(node); - case 254: - return emitJsxElement(node); case 255: + return emitJsxElement(node); + case 256: return emitJsxSelfClosingElement(node); - case 258: + case 259: return emitJsxFragment(node); - case 300: - return emitPartiallyEmittedExpression(node); case 301: + return emitPartiallyEmittedExpression(node); + case 302: return emitCommaList(node); } } @@ -61893,7 +62229,7 @@ var ts; } function emitHelpers(node) { var helpersEmitted = false; - var bundle = node.kind === 274 ? node : undefined; + var bundle = node.kind === 275 ? node : undefined; if (bundle && moduleKind === ts.ModuleKind.None) { return; } @@ -61992,7 +62328,7 @@ var ts; emit(node.dotDotDotToken); emitNodeWithWriter(node.name, writeParameter); emit(node.questionToken); - if (node.parent && node.parent.kind === 283 && !node.name) { + if (node.parent && node.parent.kind === 284 && !node.name) { emit(node.type); } else { @@ -62050,7 +62386,7 @@ var ts; function emitAccessorDeclaration(node) { emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); - writeKeyword(node.kind === 155 ? "get" : "set"); + writeKeyword(node.kind === 156 ? "get" : "set"); writeSpace(); emit(node.name); emitSignatureAndBody(node, emitSignatureHead); @@ -62298,7 +62634,7 @@ var ts; increaseIndent(); } var preferNewLine = node.multiLine ? 32768 : 0; - var allowTrailingComma = currentSourceFile.languageVersion >= 1 ? 32 : 0; + var allowTrailingComma = currentSourceFile.languageVersion >= 1 && !ts.isJsonSourceFile(currentSourceFile) ? 32 : 0; emitList(node, node.properties, 263122 | allowTrailingComma | preferNewLine); if (indentedFlag) { decreaseIndent(); @@ -62421,7 +62757,7 @@ var ts; } function shouldEmitWhitespaceBeforeOperand(node) { var operand = node.operand; - return operand.kind === 197 + return operand.kind === 198 && ((node.operator === 37 && (operand.operator === 37 || operand.operator === 43)) || (node.operator === 38 && (operand.operator === 38 || operand.operator === 44))); } @@ -62535,7 +62871,7 @@ var ts; if (node.elseStatement) { writeLineOrSpace(node); emitTokenWithComment(82, node.thenStatement.end, writeKeyword, node); - if (node.elseStatement.kind === 216) { + if (node.elseStatement.kind === 217) { writeSpace(); emit(node.elseStatement); } @@ -62598,7 +62934,7 @@ var ts; emitTokenWithComment(19, openParenPos, writePunctuation, node); emitForBinding(node.initializer); writeSpace(); - emitTokenWithComment(144, node.initializer.end, writeKeyword, node); + emitTokenWithComment(145, node.initializer.end, writeKeyword, node); writeSpace(); emitExpression(node.expression); emitTokenWithComment(20, node.expression.end, writePunctuation, node); @@ -62606,7 +62942,7 @@ var ts; } function emitForBinding(node) { if (node !== undefined) { - if (node.kind === 232) { + if (node.kind === 233) { emit(node); } else { @@ -62891,7 +63227,7 @@ var ts; var body = node.body; if (!body) return writeSemicolon(); - while (body.kind === 238) { + while (body.kind === 239) { writePunctuation("."); emit(body.name); body = body.body; @@ -62936,7 +63272,7 @@ var ts; if (node.importClause) { emit(node.importClause); writeSpace(); - emitTokenWithComment(142, node.importClause.end, writeKeyword, node); + emitTokenWithComment(143, node.importClause.end, writeKeyword, node); writeSpace(); } emitExpression(node.moduleSpecifier); @@ -62988,7 +63324,7 @@ var ts; if (node.moduleSpecifier) { writeSpace(); var fromPos = node.exportClause ? node.exportClause.end : nextPos; - emitTokenWithComment(142, fromPos, writeKeyword, node); + emitTokenWithComment(143, fromPos, writeKeyword, node); writeSpace(); emitExpression(node.moduleSpecifier); } @@ -63185,7 +63521,7 @@ var ts; emitSourceFileWorker(node); } function emitSyntheticTripleSlashReferencesIfNeeded(node) { - emitTripleSlashDirectives(node.hasNoDefaultLib, node.syntheticFileReferences || [], node.syntheticTypeReferences || []); + emitTripleSlashDirectives(!!node.hasNoDefaultLib, node.syntheticFileReferences || [], node.syntheticTypeReferences || []); } function emitTripleSlashDirectivesIfNeeded(node) { if (node.isDeclarationFile) @@ -63429,7 +63765,7 @@ var ts; if (isUndefined && format & 8192) { return; } - var isEmpty = isUndefined || start >= children.length || count === 0; + var isEmpty = children === undefined || start >= children.length || count === 0; if (isEmpty && format & 16384) { if (onBeforeEmitNodeArray) { onBeforeEmitNodeArray(children); @@ -63470,7 +63806,7 @@ var ts; increaseIndent(); } var previousSibling = void 0; - var shouldDecreaseIndentAfterEmit = void 0; + var shouldDecreaseIndentAfterEmit = false; for (var i = 0; i < count; i++) { var child = children[start + i]; if (previousSibling) { @@ -63746,7 +64082,7 @@ var ts; && ts.rangeEndIsOnSameLineAsRangeStart(block, block, currentSourceFile); } function skipSynthesizedParentheses(node) { - while (node.kind === 190 && ts.nodeIsSynthesized(node)) { + while (node.kind === 191 && ts.nodeIsSynthesized(node)) { node = node.expression; } return node; @@ -63805,81 +64141,81 @@ var ts; if (!node) return; switch (node.kind) { - case 212: + case 213: ts.forEach(node.statements, generateNames); break; - case 227: - case 225: - case 217: + case 228: + case 226: case 218: + case 219: generateNames(node.statement); break; - case 216: + case 217: generateNames(node.thenStatement); generateNames(node.elseStatement); break; - case 219: - case 221: case 220: + case 222: + case 221: generateNames(node.initializer); generateNames(node.statement); break; - case 226: + case 227: generateNames(node.caseBlock); break; - case 240: + case 241: ts.forEach(node.clauses, generateNames); break; - case 265: case 266: + case 267: ts.forEach(node.statements, generateNames); break; - case 229: + case 230: generateNames(node.tryBlock); generateNames(node.catchClause); generateNames(node.finallyBlock); break; - case 268: + case 269: generateNames(node.variableDeclaration); generateNames(node.block); break; - case 213: + case 214: generateNames(node.declarationList); break; - case 232: + case 233: ts.forEach(node.declarations, generateNames); break; - case 231: - case 148: - case 181: - case 234: + case 232: + case 149: + case 182: + case 235: generateNameIfNeeded(node.name); break; - case 233: + case 234: generateNameIfNeeded(node.name); if (ts.getEmitFlags(node) & 524288) { ts.forEach(node.parameters, generateNames); generateNames(node.body); } break; - case 179: case 180: + case 181: ts.forEach(node.elements, generateNames); break; - case 243: - generateNames(node.importClause); - break; case 244: - generateNameIfNeeded(node.name); - generateNames(node.namedBindings); + generateNames(node.importClause); break; case 245: generateNameIfNeeded(node.name); + generateNames(node.namedBindings); break; case 246: - ts.forEach(node.elements, generateNames); + generateNameIfNeeded(node.name); break; case 247: + ts.forEach(node.elements, generateNames); + break; + case 248: generateNameIfNeeded(node.propertyName || node.name); break; } @@ -63888,12 +64224,12 @@ var ts; if (!node) return; switch (node.kind) { - case 269: case 270: - case 151: - case 153: - case 155: + case 271: + case 152: + case 154: case 156: + case 157: generateNameIfNeeded(node.name); break; } @@ -64027,21 +64363,21 @@ var ts; switch (node.kind) { case 71: return makeUniqueName(getTextOfNode(node), isUniqueName, !!(flags & 16), !!(flags & 8)); + case 239: case 238: - case 237: return generateNameForModuleOrEnum(node); - case 243: - case 249: + case 244: + case 250: return generateNameForImportOrExportDeclaration(node); - case 233: case 234: - case 248: + case 235: + case 249: return generateNameForExportDefault(); - case 204: + case 205: return generateNameForClassExpression(); - case 153: - case 155: + case 154: case 156: + case 157: return generateNameForMethodOrAccessor(node); default: return makeTempVariableName(0); @@ -64056,7 +64392,7 @@ var ts; case 3: return makeUniqueName(ts.idText(name), (name.autoGenerateFlags & 32) ? isFileLevelUniqueName : isUniqueName, !!(name.autoGenerateFlags & 16), !!(name.autoGenerateFlags & 8)); } - ts.Debug.fail("Unsupported GeneratedIdentifierKind."); + return ts.Debug.fail("Unsupported GeneratedIdentifierKind."); } function getNodeForGeneratedName(name) { var autoGenerateId = name.autoGenerateId; @@ -64723,8 +65059,7 @@ var ts; } ts.isProgramUptoDate = isProgramUptoDate; function getConfigFileParsingDiagnostics(configFileParseResult) { - return configFileParseResult.options.configFile ? - configFileParseResult.options.configFile.parseDiagnostics.concat(configFileParseResult.errors) : + return configFileParseResult.options.configFile ? configFileParseResult.options.configFile.parseDiagnostics.concat(configFileParseResult.errors) : configFileParseResult.errors; } ts.getConfigFileParsingDiagnostics = getConfigFileParsingDiagnostics; @@ -64752,7 +65087,7 @@ var ts; function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) { var createProgramOptions = ts.isArray(rootNamesOrOptions) ? createCreateProgramOptions(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) : rootNamesOrOptions; var rootNames = createProgramOptions.rootNames, options = createProgramOptions.options, configFileParsingDiagnostics = createProgramOptions.configFileParsingDiagnostics, projectReferences = createProgramOptions.projectReferences; - var host = createProgramOptions.host, oldProgram = createProgramOptions.oldProgram; + var oldProgram = createProgramOptions.oldProgram; var program; var files = []; var commonSourceDirectory; @@ -64769,7 +65104,7 @@ var ts; var modulesWithElidedImports = ts.createMap(); var sourceFilesFoundSearchingNodeModules = ts.createMap(); ts.performance.mark("beforeProgram"); - host = host || createCompilerHost(options); + var host = createProgramOptions.host || createCompilerHost(options); var configParsingHost = parseConfigHostFromCompilerHost(host); var skipDefaultLib = options.noLib; var getDefaultLibraryFileName = ts.memoize(function () { return host.getDefaultLibFileName(options); }); @@ -64876,6 +65211,7 @@ var ts; getOptionsDiagnostics: getOptionsDiagnostics, getGlobalDiagnostics: getGlobalDiagnostics, getSemanticDiagnostics: getSemanticDiagnostics, + getSuggestionDiagnostics: getSuggestionDiagnostics, getDeclarationDiagnostics: getDeclarationDiagnostics, getTypeChecker: getTypeChecker, getClassifiableNames: getClassifiableNames, @@ -65251,7 +65587,7 @@ var ts; return nodes; } function isSourceFileFromExternalLibrary(file) { - return sourceFilesFoundSearchingNodeModules.get(file.path); + return !!sourceFilesFoundSearchingNodeModules.get(file.path); } function isSourceFileDefaultLibrary(file) { if (file.hasNoDefaultLib) { @@ -65265,7 +65601,7 @@ var ts; return equalityComparer(file.fileName, getDefaultLibraryFileName()); } else { - return ts.forEach(options.lib, function (libFileName) { return equalityComparer(file.fileName, ts.combinePaths(defaultLibraryPath, libFileName)); }); + return ts.some(options.lib, function (libFileName) { return equalityComparer(file.fileName, ts.combinePaths(defaultLibraryPath, libFileName)); }); } } function getDiagnosticsProducingTypeChecker() { @@ -65382,11 +65718,24 @@ var ts; var checkDiagnostics = includeBindAndCheckDiagnostics ? typeChecker.getDiagnostics(sourceFile, cancellationToken) : ts.emptyArray; var fileProcessingDiagnosticsInFile = fileProcessingDiagnostics.getDiagnostics(sourceFile.fileName); var programDiagnosticsInFile = programDiagnostics.getDiagnostics(sourceFile.fileName); - var diagnostics = bindDiagnostics.concat(checkDiagnostics, fileProcessingDiagnosticsInFile, programDiagnosticsInFile); - if (isCheckJs) { - diagnostics = ts.concatenate(diagnostics, sourceFile.jsDocDiagnostics); + var diagnostics; + for (var _i = 0, _a = [bindDiagnostics, checkDiagnostics, fileProcessingDiagnosticsInFile, programDiagnosticsInFile, isCheckJs ? sourceFile.jsDocDiagnostics : undefined]; _i < _a.length; _i++) { + var diags = _a[_i]; + if (diags) { + for (var _b = 0, diags_1 = diags; _b < diags_1.length; _b++) { + var diag = diags_1[_b]; + if (shouldReportDiagnostic(diag)) { + diagnostics = ts.append(diagnostics, diag); + } + } + } } - return ts.filter(diagnostics, shouldReportDiagnostic); + return diagnostics; + }); + } + function getSuggestionDiagnostics(sourceFile, cancellationToken) { + return runWithCancellationToken(function () { + return getDiagnosticsProducingTypeChecker().getSuggestionDiagnostics(sourceFile, cancellationToken); }); } function shouldReportDiagnostic(diagnostic) { @@ -65416,62 +65765,62 @@ var ts; return diagnostics; function walk(node) { switch (parent.kind) { - case 148: - case 151: + case 149: + case 152: if (parent.questionToken === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_can_only_be_used_in_a_ts_file, "?")); return; } - case 153: - case 152: case 154: + case 153: case 155: case 156: - case 191: - case 233: + case 157: case 192: - case 231: + case 234: + case 193: + case 232: if (parent.type === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.types_can_only_be_used_in_a_ts_file)); return; } } switch (node.kind) { - case 242: + case 243: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.import_can_only_be_used_in_a_ts_file)); return; - case 248: + case 249: if (node.isExportEquals) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.export_can_only_be_used_in_a_ts_file)); return; } break; - case 267: + case 268: var heritageClause = node; if (heritageClause.token === 108) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.implements_clauses_can_only_be_used_in_a_ts_file)); return; } break; - case 235: + case 236: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.interface_declarations_can_only_be_used_in_a_ts_file)); return; - case 238: + case 239: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.module_declarations_can_only_be_used_in_a_ts_file)); return; - case 236: + case 237: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.type_aliases_can_only_be_used_in_a_ts_file)); return; - case 237: + case 238: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.enum_declarations_can_only_be_used_in_a_ts_file)); return; - case 208: + case 209: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.non_null_assertions_can_only_be_used_in_a_ts_file)); return; - case 207: + case 208: diagnostics.push(createDiagnosticForNode(node.type, ts.Diagnostics.type_assertion_expressions_can_only_be_used_in_a_ts_file)); return; - case 189: + case 190: ts.Debug.fail(); } var prevParent = parent; @@ -65484,25 +65833,25 @@ var ts; diagnostics.push(createDiagnosticForNode(parent, ts.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning)); } switch (parent.kind) { - case 234: - case 153: - case 152: + case 235: case 154: + case 153: case 155: case 156: - case 191: - case 233: + case 157: case 192: + case 234: + case 193: if (nodes === parent.typeParameters) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.type_parameter_declarations_can_only_be_used_in_a_ts_file)); return; } - case 213: + case 214: if (nodes === parent.modifiers) { - return checkModifiers(nodes, parent.kind === 213); + return checkModifiers(nodes, parent.kind === 214); } break; - case 151: + case 152: if (nodes === parent.modifiers) { for (var _i = 0, _a = nodes; _i < _a.length; _i++) { var modifier = _a[_i]; @@ -65513,17 +65862,17 @@ var ts; return; } break; - case 148: + case 149: if (nodes === parent.modifiers) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.parameter_modifiers_can_only_be_used_in_a_ts_file)); return; } break; - case 186: case 187: - case 206: - case 255: + case 188: + case 207: case 256: + case 257: if (nodes === parent.typeArguments) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.type_arguments_can_only_be_used_in_a_ts_file)); return; @@ -66274,9 +66623,9 @@ var ts; if (ts.isObjectLiteralExpression(pathProp.initializer)) { for (var _a = 0, _b = ts.getPropertyAssignment(pathProp.initializer, key); _a < _b.length; _a++) { var keyProps = _b[_a]; - if (ts.isArrayLiteralExpression(keyProps.initializer) && - keyProps.initializer.elements.length > valueIndex) { - programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, keyProps.initializer.elements[valueIndex], message, arg0, arg1, arg2)); + var initializer = keyProps.initializer; + if (ts.isArrayLiteralExpression(initializer) && initializer.elements.length > valueIndex) { + programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, initializer.elements[valueIndex], message, arg0, arg1, arg2)); needCompilerDiagnostic = false; } } @@ -66378,6 +66727,7 @@ var ts; return false; } programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, arrayLiteral.elements[index], message, arg0, arg1, arg2)); + return false; } function blockEmittingOfFile(emitFileName, diag) { hasEmitBlockingDiagnostics.set(toPath(emitFileName), true); @@ -66395,13 +66745,16 @@ var ts; if (out) { return isSameFile(filePath, out) || isSameFile(filePath, ts.removeFileExtension(out) + ".d.ts"); } + if (options.declarationDir && ts.containsPath(options.declarationDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames())) { + return true; + } if (options.outDir) { return ts.containsPath(options.outDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames()); } if (ts.fileExtensionIsOneOf(filePath, ts.supportedJavascriptExtensions) || ts.fileExtensionIs(filePath, ".d.ts")) { var filePathWithoutExtension = ts.removeFileExtension(filePath); - return !!getSourceFileByPath(ts.combinePaths(filePathWithoutExtension, ".ts")) || - !!getSourceFileByPath(ts.combinePaths(filePathWithoutExtension, ".tsx")); + return !!getSourceFileByPath((filePathWithoutExtension + ".ts")) || + !!getSourceFileByPath((filePathWithoutExtension + ".tsx")); } return false; } @@ -66529,7 +66882,7 @@ var ts; for (var _i = 0, _a = newProgram.getSourceFiles(); _i < _a.length; _i++) { var sourceFile = _a[_i]; var version_1 = sourceFile.version; - var oldInfo = useOldState && oldState.fileInfos.get(sourceFile.path); + var oldInfo = useOldState ? oldState.fileInfos.get(sourceFile.path) : undefined; if (referencedMap) { var newReferences = getReferencedFiles(newProgram, sourceFile, getCanonicalFileName); if (newReferences) { @@ -66576,7 +66929,8 @@ var ts; return false; } var info = state.fileInfos.get(sourceFile.path); - ts.Debug.assert(!!info); + if (!info) + return ts.Debug.fail(); var prevSignature = info.signature; var latestSignature; if (sourceFile.isDeclarationFile) { @@ -66701,7 +67055,7 @@ var ts; var ts; (function (ts) { function hasSameKeys(map1, map2) { - return map1 === map2 || map1 && map2 && map1.size === map2.size && !ts.forEachKey(map1, function (key) { return !map2.has(key); }); + return map1 === map2 || map1 !== undefined && map2 !== undefined && map1.size === map2.size && !ts.forEachKey(map1, function (key) { return !map2.has(key); }); } function createBuilderProgramState(newProgram, getCanonicalFileName, oldState) { var state = ts.BuilderState.create(newProgram, getCanonicalFileName, oldState); @@ -66723,7 +67077,7 @@ var ts; ts.copyEntries(oldState.changedFilesSet, state.changedFilesSet); } var referencedMap = state.referencedMap; - var oldReferencedMap = useOldState && oldState.referencedMap; + var oldReferencedMap = useOldState ? oldState.referencedMap : undefined; state.fileInfos.forEach(function (info, sourceFilePath) { var oldInfo; var newReferences; @@ -66889,7 +67243,7 @@ var ts; assertSourceFileOkWithoutNextAffectedCall(state, targetSourceFile); if (!targetSourceFile) { var sourceMaps = []; - var emitSkipped = void 0; + var emitSkipped = false; var diagnostics = void 0; var emittedFiles = []; var affectedEmitResult = void 0; @@ -67000,7 +67354,7 @@ var ts; var customFailedLookupPaths = ts.createMap(); var directoryWatchesOfFailedLookups = ts.createMap(); var rootDir = rootDirForResolution && ts.removeTrailingDirectorySeparator(ts.getNormalizedAbsolutePath(rootDirForResolution, getCurrentDirectory())); - var rootPath = rootDir && resolutionHost.toPath(rootDir); + var rootPath = (rootDir && resolutionHost.toPath(rootDir)); var typeRootsWatches = ts.createMap(); return { startRecordingFilesWithChangedResolutions: startRecordingFilesWithChangedResolutions, @@ -67052,7 +67406,7 @@ var ts; return false; } var value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path); - return value && !!value.length; + return !!value && !!value.length; } function createHasInvalidatedResolution(forceAllFilesAsInvalidated) { if (allFilesHaveInvalidatedResolution || forceAllFilesAsInvalidated) { @@ -67061,7 +67415,7 @@ var ts; } var collected = filesWithInvalidatedResolutions; filesWithInvalidatedResolutions = undefined; - return function (path) { return (collected && collected.has(path)) || + return function (path) { return (!!collected && collected.has(path)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path); }; } function clearPerDirectoryResolutions() { @@ -67209,19 +67563,20 @@ var ts; if (isNodeModulesDirectory(dirPath)) { return filterFSRootDirectoriesToWatch({ dir: dir, dirPath: dirPath }, ts.getDirectoryPath(dirPath)); } - var subDirectory; + var subDirectoryPath, subDirectory; if (rootPath !== undefined) { while (!isInDirectoryPath(dirPath, rootPath)) { var parentPath = ts.getDirectoryPath(dirPath); if (parentPath === dirPath) { break; } - subDirectory = dirPath.slice(parentPath.length + ts.directorySeparator.length); + subDirectoryPath = dirPath; + subDirectory = dir; dirPath = parentPath; dir = ts.getDirectoryPath(dir); } } - return filterFSRootDirectoriesToWatch({ dir: dir, dirPath: dirPath, subDirectory: subDirectory }, dirPath); + return filterFSRootDirectoriesToWatch({ dir: subDirectory || dir, dirPath: subDirectoryPath || dirPath }, dirPath); } function isPathWithDefaultFailedLookupExtension(path) { return ts.fileExtensionIsOneOf(path, failedLookupDefaultExtensions); @@ -67240,7 +67595,7 @@ var ts; for (var _i = 0, failedLookupLocations_1 = failedLookupLocations; _i < failedLookupLocations_1.length; _i++) { var failedLookupLocation = failedLookupLocations_1[_i]; var failedLookupLocationPath = resolutionHost.toPath(failedLookupLocation); - var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dir = _a.dir, dirPath = _a.dirPath, ignore = _a.ignore, subDirectory = _a.subDirectory; + var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dir = _a.dir, dirPath = _a.dirPath, ignore = _a.ignore; if (!ignore) { if (!isPathWithDefaultFailedLookupExtension(failedLookupLocationPath)) { var refCount = customFailedLookupPaths.get(failedLookupLocationPath) || 0; @@ -67250,7 +67605,7 @@ var ts; setAtRoot = true; } else { - setDirectoryWatcher(dir, dirPath, subDirectory); + setDirectoryWatcher(dir, dirPath); } } } @@ -67258,19 +67613,13 @@ var ts; setDirectoryWatcher(rootDir, rootPath); } } - function setDirectoryWatcher(dir, dirPath, subDirectory) { + function setDirectoryWatcher(dir, dirPath) { var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); if (dirWatcher) { dirWatcher.refCount++; } else { - dirWatcher = { watcher: createDirectoryWatcher(dir, dirPath), refCount: 1 }; - directoryWatchesOfFailedLookups.set(dirPath, dirWatcher); - } - if (subDirectory) { - var subDirectoryMap = dirWatcher.subDirectoryMap || (dirWatcher.subDirectoryMap = ts.createMap()); - var existing = subDirectoryMap.get(subDirectory) || 0; - subDirectoryMap.set(subDirectory, existing + 1); + directoryWatchesOfFailedLookups.set(dirPath, { watcher: createDirectoryWatcher(dir, dirPath), refCount: 1 }); } } function stopWatchFailedLookupLocationOfResolution(resolution) { @@ -67286,7 +67635,7 @@ var ts; for (var _i = 0, failedLookupLocations_2 = failedLookupLocations; _i < failedLookupLocations_2.length; _i++) { var failedLookupLocation = failedLookupLocations_2[_i]; var failedLookupLocationPath = resolutionHost.toPath(failedLookupLocation); - var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dirPath = _a.dirPath, ignore = _a.ignore, subDirectory = _a.subDirectory; + var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dirPath = _a.dirPath, ignore = _a.ignore; if (!ignore) { var refCount = customFailedLookupPaths.get(failedLookupLocationPath); if (refCount) { @@ -67302,7 +67651,7 @@ var ts; removeAtRoot = true; } else { - removeDirectoryWatcher(dirPath, subDirectory); + removeDirectoryWatcher(dirPath); } } } @@ -67310,39 +67659,18 @@ var ts; removeDirectoryWatcher(rootPath); } } - function removeDirectoryWatcher(dirPath, subDirectory) { + function removeDirectoryWatcher(dirPath) { var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); - if (subDirectory) { - var existing = dirWatcher.subDirectoryMap.get(subDirectory); - if (existing === 1) { - dirWatcher.subDirectoryMap.delete(subDirectory); - } - else { - dirWatcher.subDirectoryMap.set(subDirectory, existing - 1); - } - } dirWatcher.refCount--; } - function inWatchedSubdirectory(dirPath, fileOrDirectoryPath) { - var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); - if (!dirWatcher || !dirWatcher.subDirectoryMap) - return false; - return ts.forEachKey(dirWatcher.subDirectoryMap, function (subDirectory) { - var fullSubDirectory = dirPath + "/" + subDirectory; - return fullSubDirectory === fileOrDirectoryPath || isInDirectoryPath(fullSubDirectory, fileOrDirectoryPath); - }); - } function createDirectoryWatcher(directory, dirPath) { return resolutionHost.watchDirectoryOfFailedLookupLocation(directory, function (fileOrDirectory) { var fileOrDirectoryPath = resolutionHost.toPath(fileOrDirectory); if (cachedDirectoryStructureHost) { cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(fileOrDirectory, fileOrDirectoryPath); } - if (!allFilesHaveInvalidatedResolution && - (dirPath === rootPath || isNodeModulesDirectory(dirPath) || ts.getDirectoryPath(fileOrDirectoryPath) === dirPath || inWatchedSubdirectory(dirPath, fileOrDirectoryPath))) { - if (invalidateResolutionOfFailedLookupLocation(fileOrDirectoryPath, dirPath === fileOrDirectoryPath)) { - resolutionHost.onInvalidatedResolution(); - } + if (!allFilesHaveInvalidatedResolution && invalidateResolutionOfFailedLookupLocation(fileOrDirectoryPath, dirPath === fileOrDirectoryPath)) { + resolutionHost.onInvalidatedResolution(); } }, 1); } @@ -67394,7 +67722,7 @@ var ts; removeResolutionsOfFile(filePath); invalidateResolutions(function (resolution, getResolutionWithResolvedFileName) { var result = getResolutionWithResolvedFileName(resolution); - return result && resolutionHost.toPath(result.resolvedFileName) === filePath; + return !!result && resolutionHost.toPath(result.resolvedFileName) === filePath; }); } function setFilesWithInvalidatedNonRelativeUnresolvedImports(filesMap) { @@ -67441,7 +67769,7 @@ var ts; return rootPath; } var _a = getDirectoryToWatchFromFailedLookupLocationDirectory(typeRoot, typeRootPath), dirPath = _a.dirPath, ignore = _a.ignore; - return !ignore && directoryWatchesOfFailedLookups.has(dirPath) && dirPath; + return !ignore && directoryWatchesOfFailedLookups.has(dirPath) ? dirPath : undefined; } function createTypeRootsWatch(typeRootPath, typeRoot) { return resolutionHost.watchTypeRootsDirectory(typeRoot, function (fileOrDirectory) { @@ -67663,9 +67991,9 @@ var ts; system.exit(ts.ExitStatus.DiagnosticsPresent_OutputsSkipped); } function createWatchCompilerHostOfConfigFile(configFileName, optionsToExtend, system, createProgram, reportDiagnostic, reportWatchStatus) { - reportDiagnostic = reportDiagnostic || createDiagnosticReporter(system); - var host = createWatchCompilerHost(system, createProgram, reportDiagnostic, reportWatchStatus); - host.onUnRecoverableConfigFileDiagnostic = function (diagnostic) { return reportUnrecoverableDiagnostic(system, reportDiagnostic, diagnostic); }; + var diagnosticReporter = reportDiagnostic || createDiagnosticReporter(system); + var host = createWatchCompilerHost(system, createProgram, diagnosticReporter, reportWatchStatus); + host.onUnRecoverableConfigFileDiagnostic = function (diagnostic) { return reportUnrecoverableDiagnostic(system, diagnosticReporter, diagnostic); }; host.configFileName = configFileName; host.optionsToExtend = optionsToExtend; return host; @@ -67709,7 +68037,7 @@ var ts; var configFileSpecs; var configFileParsingDiagnostics; var hasChangedConfigFileParsingErrors = false; - var cachedDirectoryStructureHost = configFileName && ts.createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensitiveFileNames); + var cachedDirectoryStructureHost = configFileName === undefined ? undefined : ts.createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensitiveFileNames); if (cachedDirectoryStructureHost && host.onCachedDirectoryStructureHostCreate) { host.onCachedDirectoryStructureHostCreate(cachedDirectoryStructureHost); } @@ -67759,7 +68087,7 @@ var ts; readFile: readFile, trace: trace, directoryExists: directoryStructureHost.directoryExists && (function (path) { return directoryStructureHost.directoryExists(path); }), - getDirectories: directoryStructureHost.getDirectories && (function (path) { return directoryStructureHost.getDirectories(path); }), + getDirectories: (directoryStructureHost.getDirectories && (function (path) { return directoryStructureHost.getDirectories(path); })), realpath: host.realpath && (function (s) { return host.realpath(s); }), getEnvironmentVariable: host.getEnvironmentVariable ? (function (name) { return host.getEnvironmentVariable(name); }) : (function () { return ""; }), onReleaseOldSourceFile: onReleaseOldSourceFile, @@ -68246,6 +68574,7 @@ var 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", }), }, @@ -68869,7 +69198,7 @@ var ts; case "string": return ts.map(values, function (v) { return v || ""; }); default: - return ts.filter(ts.map(values, function (v) { return parseCustomTypeOption(opt.element, v, errors); }), function (v) { return !!v; }); + return ts.mapDefined(values, function (v) { return parseCustomTypeOption(opt.element, v, errors); }); } } ts.parseListTypeOption = parseListTypeOption; @@ -68990,6 +69319,7 @@ var ts; } return optionNameMap.get(optionName); } + ts.getOptionFromName = getOptionFromName; function getParsedCommandLineOfConfigFile(configFileName, optionsToExtend, host) { var configFileText; try { @@ -69124,7 +69454,7 @@ var ts; var result = returnValue ? {} : undefined; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var element = _a[_i]; - if (element.kind !== 269) { + if (element.kind !== 270) { errors.push(ts.createDiagnosticForNodeInSourceFile(sourceFile, element, ts.Diagnostics.Property_assignment_expected)); continue; } @@ -69195,13 +69525,13 @@ var ts; case 8: reportInvalidOptionValue(option && option.type !== "number"); return Number(valueExpression.text); - case 197: + case 198: if (valueExpression.operator !== 38 || valueExpression.operand.kind !== 8) { break; } reportInvalidOptionValue(option && option.type !== "number"); return -Number(valueExpression.operand.text); - case 183: + case 184: reportInvalidOptionValue(option && option.type !== "object"); var objectLiteralExpression = valueExpression; if (option) { @@ -69211,7 +69541,7 @@ var ts; else { return convertObjectLiteralExpressionToJson(objectLiteralExpression, undefined, undefined, undefined); } - case 182: + case 183: reportInvalidOptionValue(option && option.type !== "list"); return convertArrayLiteralExpressionToJson(valueExpression.elements, option && option.element); } @@ -69248,6 +69578,7 @@ var ts; var expectedType = ts.isString(option.type) ? option.type : "string"; return typeof value === expectedType; } + return false; } function generateTSConfig(options, fileNames, newLine) { var compilerOptions = ts.extend(options, ts.defaultInitCompilerOptions); @@ -69669,13 +70000,10 @@ var ts; } function convertCompileOnSaveOptionFromJson(jsonOption, basePath, errors) { if (!ts.hasProperty(jsonOption, ts.compileOnSaveCommandLineOption.name)) { - return undefined; + return false; } var result = convertJsonOption(ts.compileOnSaveCommandLineOption, jsonOption.compileOnSave, basePath, errors); - if (typeof result === "boolean" && result) { - return result; - } - return false; + return typeof result === "boolean" && result; } function convertCompilerOptionsFromJson(jsonOptions, basePath, configFileName) { var errors = []; @@ -69704,7 +70032,7 @@ var ts; return options; } function getDefaultTypeAcquisition(configFileName) { - return { enable: configFileName && ts.getBaseFileName(configFileName) === "jsconfig.json", include: [], exclude: [] }; + return { enable: !!configFileName && ts.getBaseFileName(configFileName) === "jsconfig.json", include: [], exclude: [] }; } function convertTypeAcquisitionFromJsonWorker(jsonOptions, basePath, errors, configFileName) { var options = getDefaultTypeAcquisition(configFileName); @@ -70193,35 +70521,35 @@ var ts; })(SemanticMeaning = ts.SemanticMeaning || (ts.SemanticMeaning = {})); function getMeaningFromDeclaration(node) { switch (node.kind) { - case 148: - case 231: - case 181: - case 151: - case 150: - case 269: - case 270: - case 153: + case 149: + case 232: + case 182: case 152: + case 151: + case 270: + case 271: case 154: + case 153: case 155: case 156: - case 233: - case 191: - case 192: - case 268: - case 261: - return 1; - case 147: - case 235: - case 236: - case 165: - return 2; - case 296: - return node.name === undefined ? 1 | 2 : 2; - case 272: + case 157: case 234: + case 192: + case 193: + case 269: + case 262: + return 1; + case 148: + case 236: + case 237: + case 166: + return 2; + case 297: + return node.name === undefined ? 1 | 2 : 2; + case 273: + case 235: return 1 | 2; - case 238: + case 239: if (ts.isAmbientModule(node)) { return 4 | 1; } @@ -70231,25 +70559,25 @@ var ts; else { return 4; } - case 237: - case 246: + case 238: case 247: - case 242: - case 243: case 248: + case 243: + case 244: case 249: + case 250: return 7; - case 273: + case 274: return 4 | 1; } return 7; } ts.getMeaningFromDeclaration = getMeaningFromDeclaration; function getMeaningFromLocation(node) { - if (node.kind === 273) { + if (node.kind === 274) { return 1; } - else if (node.parent.kind === 248) { + else if (node.parent.kind === 249) { return 7; } else if (isInRightSideOfInternalImportEqualsDeclaration(node)) { @@ -70277,11 +70605,11 @@ var ts; } ts.getMeaningFromLocation = getMeaningFromLocation; function getMeaningFromRightHandSideOfImportEquals(node) { - var name = node.kind === 145 ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; - return name && name.parent.kind === 242 ? 7 : 4; + var name = node.kind === 146 ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; + return name && name.parent.kind === 243 ? 7 : 4; } function isInRightSideOfInternalImportEqualsDeclaration(node) { - while (node.parent.kind === 145) { + while (node.parent.kind === 146) { node = node.parent; } return ts.isInternalModuleImportEqualsDeclaration(node.parent) && node.parent.moduleReference === node; @@ -70293,27 +70621,27 @@ var ts; function isQualifiedNameNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 145) { - while (root.parent && root.parent.kind === 145) { + if (root.parent.kind === 146) { + while (root.parent && root.parent.kind === 146) { root = root.parent; } isLastClause = root.right === node; } - return root.parent.kind === 161 && !isLastClause; + return root.parent.kind === 162 && !isLastClause; } function isPropertyAccessNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 184) { - while (root.parent && root.parent.kind === 184) { + if (root.parent.kind === 185) { + while (root.parent && root.parent.kind === 185) { root = root.parent; } isLastClause = root.name === node; } - if (!isLastClause && root.parent.kind === 206 && root.parent.parent.kind === 267) { + if (!isLastClause && root.parent.kind === 207 && root.parent.parent.kind === 268) { var decl = root.parent.parent.parent; - return (decl.kind === 234 && root.parent.parent.token === 108) || - (decl.kind === 235 && root.parent.parent.token === 85); + return (decl.kind === 235 && root.parent.parent.token === 108) || + (decl.kind === 236 && root.parent.parent.token === 85); } return false; } @@ -70324,30 +70652,30 @@ var ts; switch (node.kind) { case 99: return !ts.isExpressionNode(node); - case 173: + case 174: return true; } switch (node.parent.kind) { - case 161: + case 162: return true; - case 178: + case 179: return !node.parent.isTypeOf; - case 206: + case 207: return !ts.isExpressionWithTypeArgumentsInClassExtendsClause(node.parent); } return false; } function isCallExpressionTarget(node) { - return isCallOrNewExpressionTarget(node, 186); + return isCallOrNewExpressionTarget(node, 187); } ts.isCallExpressionTarget = isCallExpressionTarget; function isNewExpressionTarget(node) { - return isCallOrNewExpressionTarget(node, 187); + return isCallOrNewExpressionTarget(node, 188); } ts.isNewExpressionTarget = isNewExpressionTarget; function isCallOrNewExpressionTarget(node, kind) { var target = climbPastPropertyAccess(node); - return target && target.parent && target.parent.kind === kind && target.parent.expression === target; + return !!target && !!target.parent && target.parent.kind === kind && target.parent.expression === target; } function climbPastPropertyAccess(node) { return isRightSideOfPropertyAccess(node) ? node.parent : node; @@ -70355,7 +70683,7 @@ var ts; ts.climbPastPropertyAccess = climbPastPropertyAccess; function getTargetLabel(referenceNode, labelName) { while (referenceNode) { - if (referenceNode.kind === 227 && referenceNode.label.escapedText === labelName) { + if (referenceNode.kind === 228 && referenceNode.label.escapedText === labelName) { return referenceNode.label; } referenceNode = referenceNode.parent; @@ -70376,15 +70704,15 @@ var ts; } ts.isLabelName = isLabelName; function isRightSideOfQualifiedName(node) { - return node.parent.kind === 145 && node.parent.right === node; + return node.parent.kind === 146 && node.parent.right === node; } ts.isRightSideOfQualifiedName = isRightSideOfQualifiedName; function isRightSideOfPropertyAccess(node) { - return node && node.parent && node.parent.kind === 184 && node.parent.name === node; + return node && node.parent && node.parent.kind === 185 && node.parent.name === node; } ts.isRightSideOfPropertyAccess = isRightSideOfPropertyAccess; function isNameOfModuleDeclaration(node) { - return node.parent.kind === 238 && node.parent.name === node; + return node.parent.kind === 239 && node.parent.name === node; } ts.isNameOfModuleDeclaration = isNameOfModuleDeclaration; function isNameOfFunctionDeclaration(node) { @@ -70394,22 +70722,24 @@ var ts; ts.isNameOfFunctionDeclaration = isNameOfFunctionDeclaration; function isLiteralNameOfPropertyDeclarationOrIndexAccess(node) { switch (node.parent.kind) { - case 151: - case 150: - case 269: - case 272: - case 153: case 152: - case 155: + case 151: + case 270: + case 273: + case 154: + case 153: case 156: - case 238: + case 157: + case 239: return ts.getNameOfDeclaration(node.parent) === node; - case 185: + case 186: return node.parent.argumentExpression === node; - case 146: + case 147: return true; - case 177: - return node.parent.parent.kind === 175; + case 178: + return node.parent.parent.kind === 176; + default: + return false; } } ts.isLiteralNameOfPropertyDeclarationOrIndexAccess = isLiteralNameOfPropertyDeclarationOrIndexAccess; @@ -70428,17 +70758,17 @@ var ts; return undefined; } switch (node.kind) { - case 273: + case 274: + case 154: case 153: - case 152: - case 233: - case 191: - case 155: - case 156: case 234: + case 192: + case 156: + case 157: case 235: - case 237: + case 236: case 238: + case 239: return node; } } @@ -70446,49 +70776,49 @@ var ts; ts.getContainerNode = getContainerNode; function getNodeKind(node) { switch (node.kind) { - case 273: + case 274: return ts.isExternalModule(node) ? "module" : "script"; - case 238: + case 239: return "module"; - case 234: - case 204: + case 235: + case 205: return "class"; - case 235: return "interface"; - case 236: - case 291: - case 296: + case 236: return "interface"; + case 237: + case 292: + case 297: return "type"; - case 237: return "enum"; - case 231: + case 238: return "enum"; + case 232: return getKindOfVariableDeclaration(node); - case 181: + case 182: return getKindOfVariableDeclaration(ts.getRootDeclaration(node)); + case 193: + case 234: case 192: - case 233: - case 191: return "function"; - case 155: return "getter"; - case 156: return "setter"; + case 156: return "getter"; + case 157: return "setter"; + case 154: case 153: - case 152: return "method"; + case 152: case 151: - case 150: return "property"; - case 159: return "index"; - case 158: return "construct"; - case 157: return "call"; - case 154: return "constructor"; - case 147: return "type parameter"; - case 272: return "enum member"; - case 148: return ts.hasModifier(node, 92) ? "property" : "parameter"; - case 242: - case 247: - case 244: - case 251: + case 160: return "index"; + case 159: return "construct"; + case 158: return "call"; + case 155: return "constructor"; + case 148: return "type parameter"; + case 273: return "enum member"; + case 149: return ts.hasModifier(node, 92) ? "property" : "parameter"; + case 243: + case 248: case 245: + case 252: + case 246: return "alias"; - case 199: + case 200: var kind = ts.getSpecialPropertyAssignmentKind(node); var right = node.right; switch (kind) { @@ -70528,7 +70858,7 @@ var ts; case 99: return true; case 71: - return ts.identifierIsThisKeyword(node) && node.parent.kind === 148; + return ts.identifierIsThisKeyword(node) && node.parent.kind === 149; default: return false; } @@ -70549,6 +70879,10 @@ var ts; return r.pos <= pos && pos <= r.end; } ts.rangeContainsPosition = rangeContainsPosition; + function rangeContainsPositionExclusive(r, pos) { + return r.pos < pos && pos < r.end; + } + ts.rangeContainsPositionExclusive = rangeContainsPositionExclusive; function startEndContainsRange(start, end, range) { return start <= range.pos && end >= range.end; } @@ -70573,45 +70907,45 @@ var ts; } ts.positionBelongsToNode = positionBelongsToNode; function isCompletedNode(n, sourceFile) { - if (ts.nodeIsMissing(n)) { + if (n === undefined || ts.nodeIsMissing(n)) { return false; } switch (n.kind) { - case 234: case 235: - case 237: - case 183: - case 179: - case 165: - case 212: - case 239: + case 236: + case 238: + case 184: + case 180: + case 166: + case 213: case 240: - case 246: - case 250: + case 241: + case 247: + case 251: return nodeEndsWith(n, 18, sourceFile); - case 268: + case 269: return isCompletedNode(n.block, sourceFile); - case 187: + case 188: if (!n.arguments) { return true; } - case 186: - case 190: - case 172: + case 187: + case 191: + case 173: return nodeEndsWith(n, 20, sourceFile); - case 162: case 163: + case 164: return isCompletedNode(n.type, sourceFile); - case 154: case 155: case 156: - case 233: - case 191: - case 153: - case 152: - case 158: case 157: + case 234: case 192: + case 154: + case 153: + case 159: + case 158: + case 193: if (n.body) { return isCompletedNode(n.body, sourceFile); } @@ -70619,63 +70953,63 @@ var ts; return isCompletedNode(n.type, sourceFile); } return hasChildOfKind(n, 20, sourceFile); - case 238: - return n.body && isCompletedNode(n.body, sourceFile); - case 216: + case 239: + return !!n.body && isCompletedNode(n.body, sourceFile); + case 217: if (n.elseStatement) { return isCompletedNode(n.elseStatement, sourceFile); } return isCompletedNode(n.thenStatement, sourceFile); - case 215: + case 216: return isCompletedNode(n.expression, sourceFile) || hasChildOfKind(n, 25, sourceFile); - case 182: - case 180: - case 185: - case 146: - case 167: + case 183: + case 181: + case 186: + case 147: + case 168: return nodeEndsWith(n, 22, sourceFile); - case 159: + case 160: if (n.type) { return isCompletedNode(n.type, sourceFile); } return hasChildOfKind(n, 22, sourceFile); - case 265: case 266: + case 267: return false; - case 219: case 220: case 221: - case 218: + case 222: + case 219: return isCompletedNode(n.statement, sourceFile); - case 217: + case 218: return hasChildOfKind(n, 106, sourceFile) ? nodeEndsWith(n, 20, sourceFile) : isCompletedNode(n.statement, sourceFile); - case 164: + case 165: return isCompletedNode(n.exprName, sourceFile); - case 194: - case 193: case 195: - case 202: + case 194: + case 196: case 203: + case 204: var unaryWordExpression = n; return isCompletedNode(unaryWordExpression.expression, sourceFile); - case 188: + case 189: return isCompletedNode(n.template, sourceFile); - case 201: + case 202: var lastSpan = ts.lastOrUndefined(n.templateSpans); return isCompletedNode(lastSpan, sourceFile); - case 210: + case 211: return ts.nodeIsPresent(n.literal); - case 249: - case 243: + case 250: + case 244: return ts.nodeIsPresent(n.moduleSpecifier); - case 197: + case 198: return isCompletedNode(n.operand, sourceFile); - case 199: - return isCompletedNode(n.right, sourceFile); case 200: + return isCompletedNode(n.right, sourceFile); + case 201: return isCompletedNode(n.whenFalse, sourceFile); default: return true; @@ -70684,11 +71018,11 @@ var ts; function nodeEndsWith(n, expectedLastToken, sourceFile) { var children = n.getChildren(sourceFile); if (children.length) { - var last_2 = ts.lastOrUndefined(children); - if (last_2.kind === expectedLastToken) { + var lastChild = ts.last(children); + if (lastChild.kind === expectedLastToken) { return true; } - else if (last_2.kind === 25 && children.length !== 1) { + else if (lastChild.kind === 25 && children.length !== 1) { return children[children.length - 2].kind === expectedLastToken; } } @@ -70730,6 +71064,7 @@ var ts; } ts.getTouchingToken = getTouchingToken; function getTokenAtPosition(sourceFile, position, includeJsDocComment, includeEndPosition) { + if (includeEndPosition === void 0) { includeEndPosition = false; } return getTokenAtPositionWorker(sourceFile, position, true, undefined, includeEndPosition, includeJsDocComment); } ts.getTokenAtPosition = getTokenAtPosition; @@ -70815,7 +71150,7 @@ var ts; } } } - ts.Debug.assert(startNode !== undefined || n.kind === 273 || ts.isJSDocCommentContainingNode(n)); + ts.Debug.assert(startNode !== undefined || n.kind === 274 || ts.isJSDocCommentContainingNode(n)); if (children.length) { var candidate = findRightmostChildNodeWithTokens(children, children.length, sourceFile); return candidate && findRightmostToken(candidate, sourceFile); @@ -70848,7 +71183,7 @@ var ts; function isInString(sourceFile, position, previousToken) { if (previousToken === void 0) { previousToken = findPrecedingToken(position, sourceFile); } if (previousToken && ts.isStringTextContainingNode(previousToken)) { - var start = previousToken.getStart(); + var start = previousToken.getStart(sourceFile); var end = previousToken.getEnd(); if (start < position && position < end) { return true; @@ -70871,13 +71206,13 @@ var ts; if (token.kind === 27 && token.parent.kind === 10) { return true; } - if (token.kind === 27 && token.parent.kind === 264) { + if (token.kind === 27 && token.parent.kind === 265) { return true; } - if (token && token.kind === 18 && token.parent.kind === 264) { + if (token && token.kind === 18 && token.parent.kind === 265) { return true; } - if (token.kind === 27 && token.parent.kind === 257) { + if (token.kind === 27 && token.parent.kind === 258) { return true; } return false; @@ -70895,10 +71230,11 @@ var ts; var tokenKind = token.kind; var remainingMatchingTokens = 0; while (true) { - token = findPrecedingToken(token.getFullStart(), sourceFile); - if (!token) { + var preceding = findPrecedingToken(token.getFullStart(), sourceFile); + if (!preceding) { return undefined; } + token = preceding; if (token.kind === matchingTokenKind) { if (remainingMatchingTokens === 0) { return token; @@ -70911,15 +71247,18 @@ var ts; } } ts.findPrecedingMatchingToken = findPrecedingMatchingToken; - function isPossiblyTypeArgumentPosition(token, sourceFile) { + function isPossiblyTypeArgumentPosition(tokenIn, sourceFile) { + var token = tokenIn; var remainingLessThanTokens = 0; + var nTypeArguments = 0; while (token) { switch (token.kind) { case 27: token = findPrecedingToken(token.getFullStart(), sourceFile); - var tokenIsIdentifier = token && ts.isIdentifier(token); - if (!remainingLessThanTokens || !tokenIsIdentifier) { - return tokenIsIdentifier; + if (!token || !ts.isIdentifier(token)) + return undefined; + if (!remainingLessThanTokens) { + return { called: token, nTypeArguments: nTypeArguments }; } remainingLessThanTokens--; break; @@ -70935,19 +71274,21 @@ var ts; case 18: token = findPrecedingMatchingToken(token, 17, sourceFile); if (!token) - return false; + return undefined; break; case 20: token = findPrecedingMatchingToken(token, 19, sourceFile); if (!token) - return false; + return undefined; break; case 22: token = findPrecedingMatchingToken(token, 21, sourceFile); if (!token) - return false; + return undefined; break; case 26: + nTypeArguments++; + break; case 36: case 71: case 9: @@ -70966,11 +71307,11 @@ var ts; if (ts.isTypeNode(token)) { break; } - return false; + return undefined; } token = findPrecedingToken(token.getFullStart(), sourceFile); } - return false; + return undefined; } ts.isPossiblyTypeArgumentPosition = isPossiblyTypeArgumentPosition; function isInComment(sourceFile, position, tokenAtPosition, predicate) { @@ -71011,10 +71352,10 @@ var ts; } ts.getNodeModifiers = getNodeModifiers; function getTypeArgumentOrTypeParameterList(node) { - if (node.kind === 161 || node.kind === 186) { + if (node.kind === 162 || node.kind === 187) { return node.typeArguments; } - if (ts.isFunctionLike(node) || node.kind === 234 || node.kind === 235) { + if (ts.isFunctionLike(node) || node.kind === 235 || node.kind === 236) { return node.typeParameters; } return undefined; @@ -71037,9 +71378,9 @@ var ts; return 17 <= kind && kind <= 70; } ts.isPunctuation = isPunctuation; - function isInsideTemplateLiteral(node, position) { + function isInsideTemplateLiteral(node, position, sourceFile) { return ts.isTemplateLiteralKind(node.kind) - && (node.getStart() < position && position < node.getEnd()) || (!!node.isUnterminated && position === node.getEnd()); + && (node.getStart(sourceFile) < position && position < node.end) || (!!node.isUnterminated && position === node.end); } ts.isInsideTemplateLiteral = isInsideTemplateLiteral; function isAccessibilityModifier(kind) { @@ -71059,18 +71400,18 @@ var ts; } ts.cloneCompilerOptions = cloneCompilerOptions; function isArrayLiteralOrObjectLiteralDestructuringPattern(node) { - if (node.kind === 182 || - node.kind === 183) { - if (node.parent.kind === 199 && + if (node.kind === 183 || + node.kind === 184) { + if (node.parent.kind === 200 && node.parent.left === node && node.parent.operatorToken.kind === 58) { return true; } - if (node.parent.kind === 221 && + if (node.parent.kind === 222 && node.parent.initializer === node) { return true; } - if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 269 ? node.parent.parent : node.parent)) { + if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 270 ? node.parent.parent : node.parent)) { return true; } } @@ -71124,6 +71465,7 @@ var ts; 105, 140, 141, + 142, ]; function isTypeKeyword(kind) { return ts.contains(ts.typeKeywords, kind); @@ -71159,7 +71501,7 @@ var ts; } ts.skipConstraint = skipConstraint; function getNameFromPropertyName(name) { - return name.kind === 146 + return name.kind === 147 ? ts.isStringOrNumericLiteral(name.expression) ? name.expression.text : undefined : ts.getTextOfIdentifierOrLiteral(name); } @@ -71180,14 +71522,14 @@ var ts; return ts.createGetCanonicalFileName(hostUsesCaseSensitiveFileNames(host)); } ts.hostGetCanonicalFileName = hostGetCanonicalFileName; - function makeImportIfNecessary(defaultImport, namedImports, moduleSpecifier) { - return defaultImport || namedImports && namedImports.length ? makeImport(defaultImport, namedImports, moduleSpecifier) : undefined; + function makeImportIfNecessary(defaultImport, namedImports, moduleSpecifier, preferences) { + return defaultImport || namedImports && namedImports.length ? makeImport(defaultImport, namedImports, moduleSpecifier, preferences) : undefined; } ts.makeImportIfNecessary = makeImportIfNecessary; - function makeImport(defaultImport, namedImports, moduleSpecifier) { + function makeImport(defaultImport, namedImports, moduleSpecifier, preferences) { return ts.createImportDeclaration(undefined, undefined, defaultImport || namedImports ? ts.createImportClause(defaultImport, namedImports && namedImports.length ? ts.createNamedImports(namedImports) : undefined) - : undefined, typeof moduleSpecifier === "string" ? ts.createLiteral(moduleSpecifier) : moduleSpecifier); + : undefined, typeof moduleSpecifier === "string" ? ts.createLiteral(moduleSpecifier, preferences.quotePreference === "single") : moduleSpecifier); } ts.makeImport = makeImport; function symbolNameNoDefault(symbol) { @@ -71215,6 +71557,24 @@ var ts; return propSymbol; } ts.getPropertySymbolFromBindingElement = getPropertySymbolFromBindingElement; + function getPropertySymbolsFromBaseTypes(symbol, propertyName, checker, cb) { + var seen = ts.createMap(); + return recur(symbol); + function recur(symbol) { + if (!(symbol.flags & (32 | 64)) || !ts.addToSeen(seen, ts.getSymbolId(symbol))) + return; + return ts.firstDefined(symbol.declarations, function (declaration) { return ts.firstDefined(ts.getAllSuperTypeNodes(declaration), function (typeReference) { + var type = checker.getTypeAtLocation(typeReference); + var propertySymbol = type && type.symbol && checker.getPropertyOfType(type, propertyName); + return type && propertySymbol && (ts.firstDefined(checker.getRootSymbols(propertySymbol), cb) || recur(type.symbol)); + }); }); + } + } + ts.getPropertySymbolsFromBaseTypes = getPropertySymbolsFromBaseTypes; + function isMemberSymbolInBaseType(memberSymbol, checker) { + return getPropertySymbolsFromBaseTypes(memberSymbol.parent, memberSymbol.name, checker, function (_) { return true; }) || false; + } + ts.isMemberSymbolInBaseType = isMemberSymbolInBaseType; var NodeSet = (function () { function NodeSet() { this.map = ts.createMap(); @@ -71234,10 +71594,25 @@ var ts; return NodeSet; }()); ts.NodeSet = NodeSet; + function getParentNodeInSpan(node, file, span) { + if (!node) + return undefined; + while (node.parent) { + if (ts.isSourceFile(node.parent) || !spanContainsNode(span, node.parent, file)) { + return node; + } + node = node.parent; + } + } + ts.getParentNodeInSpan = getParentNodeInSpan; + function spanContainsNode(span, node, file) { + return ts.textSpanContainsPosition(span, node.getStart(file)) && + node.getEnd() <= ts.textSpanEnd(span); + } })(ts || (ts = {})); (function (ts) { function isFirstDeclarationOfSymbolParameter(symbol) { - return symbol.declarations && symbol.declarations.length > 0 && symbol.declarations[0].kind === 148; + return symbol.declarations && symbol.declarations.length > 0 && symbol.declarations[0].kind === 149; } ts.isFirstDeclarationOfSymbolParameter = isFirstDeclarationOfSymbolParameter; var displayPartWriter = getDisplayPartWriter(); @@ -71406,18 +71781,21 @@ var ts; } ts.mapToDisplayParts = mapToDisplayParts; function typeToDisplayParts(typechecker, type, enclosingDeclaration, flags) { + if (flags === void 0) { flags = 0; } return mapToDisplayParts(function (writer) { - typechecker.writeType(type, enclosingDeclaration, flags | 1024, writer); + typechecker.writeType(type, enclosingDeclaration, flags | 1024 | 16384, writer); }); } ts.typeToDisplayParts = typeToDisplayParts; function symbolToDisplayParts(typeChecker, symbol, enclosingDeclaration, meaning, flags) { + if (flags === void 0) { flags = 0; } return mapToDisplayParts(function (writer) { typeChecker.writeSymbol(symbol, enclosingDeclaration, meaning, flags | 8, writer); }); } ts.symbolToDisplayParts = symbolToDisplayParts; function signatureToDisplayParts(typechecker, signature, enclosingDeclaration, flags) { + if (flags === void 0) { flags = 0; } flags |= 16384 | 1024 | 32 | 8192; return mapToDisplayParts(function (writer) { typechecker.writeSignature(signature, enclosingDeclaration, flags, undefined, writer); @@ -71425,8 +71803,8 @@ var ts; } ts.signatureToDisplayParts = signatureToDisplayParts; function isImportOrExportSpecifierName(location) { - return location.parent && - (location.parent.kind === 247 || location.parent.kind === 251) && + return !!location.parent && + (location.parent.kind === 248 || location.parent.kind === 252) && location.parent.propertyName === location; } ts.isImportOrExportSpecifierName = isImportOrExportSpecifierName; @@ -71448,7 +71826,7 @@ var ts; scriptKinds[_i - 2] = arguments[_i]; } var scriptKind = getScriptKind(fileName, host); - return ts.forEach(scriptKinds, function (k) { return k === scriptKind; }); + return ts.some(scriptKinds, function (k) { return k === scriptKind; }); } ts.scriptKindIs = scriptKindIs; function getScriptKind(fileName, host) { @@ -71516,9 +71894,9 @@ var ts; function getFirstChild(node) { return node.forEachChild(function (child) { return child; }); } - function getUniqueName(baseName, fileText) { + function getUniqueName(baseName, sourceFile) { var nameText = baseName; - for (var i = 1; ts.stringContains(fileText, nameText); i++) { + for (var i = 1; !ts.isFileLevelUniqueName(sourceFile, nameText); i++) { nameText = baseName + "_" + i; } return nameText; @@ -71533,7 +71911,7 @@ var ts; for (var _b = 0, textChanges_1 = textChanges_2; _b < textChanges_1.length; _b++) { var change = textChanges_1[_b]; var span = change.span, newText = change.newText; - var index = newText.indexOf(name); + var index = indexInTextChange(newText, name); if (index !== -1) { lastPos = span.start + delta + index; if (!preferLastLocation) { @@ -71548,6 +71926,16 @@ var ts; return lastPos; } ts.getRenameLocation = getRenameLocation; + function indexInTextChange(change, name) { + if (ts.startsWith(change, name)) + return 0; + var idx = change.indexOf(" " + name); + if (idx === -1) + idx = change.indexOf("." + name); + if (idx === -1) + idx = change.indexOf('"' + name); + return idx === -1 ? -1 : idx + 1; + } })(ts || (ts = {})); var ts; (function (ts) { @@ -71757,6 +72145,8 @@ var ts; case 9: case 17: return ts.TokenClass.Identifier; + default: + return undefined; } } function canFollow(keyword1, keyword2) { @@ -71888,10 +72278,10 @@ var ts; ts.getSemanticClassifications = getSemanticClassifications; function checkForClassificationCancellation(cancellationToken, kind) { switch (kind) { - case 238: - case 234: + case 239: case 235: - case 233: + case 236: + case 234: cancellationToken.throwIfCancellationRequested(); } } @@ -71976,6 +72366,7 @@ var ts; case 22: return "jsx attribute"; case 23: return "jsx text"; case 24: return "jsx attribute string literal value"; + default: return undefined; } } function convertClassificationsToSpans(classifications) { @@ -72072,18 +72463,18 @@ var ts; pushClassification(tag.tagName.pos, tag.tagName.end - tag.tagName.pos, 18); pos = tag.tagName.end; switch (tag.kind) { - case 292: + case 293: processJSDocParameterTag(tag); break; - case 295: + case 296: processJSDocTemplateTag(tag); pos = tag.end; break; - case 294: + case 295: processElement(tag.typeExpression); pos = tag.end; break; - case 293: + case 294: processElement(tag.typeExpression); pos = tag.end; break; @@ -72164,22 +72555,22 @@ var ts; } function tryClassifyJsxElementName(token) { switch (token.parent && token.parent.kind) { - case 256: + case 257: if (token.parent.tagName === token) { return 19; } break; - case 257: + case 258: if (token.parent.tagName === token) { return 20; } break; - case 255: + case 256: if (token.parent.tagName === token) { return 21; } break; - case 261: + case 262: if (token.parent.name === token) { return 22; } @@ -72198,18 +72589,19 @@ var ts; } if (ts.isPunctuation(tokenKind)) { if (token) { + var parent = token.parent; if (tokenKind === 58) { - if (token.parent.kind === 231 || - token.parent.kind === 151 || - token.parent.kind === 148 || - token.parent.kind === 261) { + if (parent.kind === 232 || + parent.kind === 152 || + parent.kind === 149 || + parent.kind === 262) { return 5; } } - if (token.parent.kind === 199 || - token.parent.kind === 197 || - token.parent.kind === 198 || - token.parent.kind === 200) { + if (parent.kind === 200 || + parent.kind === 198 || + parent.kind === 199 || + parent.kind === 201) { return 5; } } @@ -72219,7 +72611,7 @@ var ts; return 4; } else if (tokenKind === 9) { - return token.parent.kind === 261 ? 24 : 6; + return token.parent.kind === 262 ? 24 : 6; } else if (tokenKind === 12) { return 6; @@ -72233,32 +72625,32 @@ var ts; else if (tokenKind === 71) { if (token) { switch (token.parent.kind) { - case 234: + case 235: if (token.parent.name === token) { return 11; } return; - case 147: + case 148: if (token.parent.name === token) { return 15; } return; - case 235: + case 236: if (token.parent.name === token) { return 13; } return; - case 237: + case 238: if (token.parent.name === token) { return 12; } return; - case 238: + case 239: if (token.parent.name === token) { return 14; } return; - case 148: + case 149: if (token.parent.name === token) { return ts.isThisIdentifier(token) ? 3 : 17; } @@ -72496,8 +72888,8 @@ var ts; var ambientModules = checker.getAmbientModules().map(function (sym) { return ts.stripQuotes(sym.name); }); var nonRelativeModuleNames = ambientModules.filter(function (moduleName) { return ts.startsWith(moduleName, fragment); }); if (fragmentDirectory !== undefined) { - var moduleNameWithSeperator_1 = ts.ensureTrailingDirectorySeparator(fragmentDirectory); - return nonRelativeModuleNames.map(function (nonRelativeModuleName) { return ts.removePrefix(nonRelativeModuleName, moduleNameWithSeperator_1); }); + var moduleNameWithSeparator_1 = ts.ensureTrailingDirectorySeparator(fragmentDirectory); + return nonRelativeModuleNames.map(function (nonRelativeModuleName) { return ts.removePrefix(nonRelativeModuleName, moduleNameWithSeparator_1); }); } return nonRelativeModuleNames; } @@ -72634,7 +73026,7 @@ var ts; return ts.directoryProbablyExists(path, host); } catch (_a) { } - return undefined; + return false; } function tryIOAndConsumeErrors(host, toApply) { var args = []; @@ -72691,7 +73083,7 @@ var ts; && (contextToken.kind === 72 || contextToken.kind === 77 || contextToken.kind === 71)) { return getLabelCompletionAtPosition(contextToken.parent); } - var completionData = getCompletionData(program, log, sourceFile, position, preferences, undefined); + var completionData = getCompletionData(program, log, sourceFile, isUncheckedFile(sourceFile, compilerOptions), position, preferences, undefined); if (!completionData) { return undefined; } @@ -72754,7 +73146,7 @@ var ts; }] }; } var entries = []; - if (ts.isSourceFileJavaScript(sourceFile)) { + if (isUncheckedFile(sourceFile, compilerOptions)) { var uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, location, sourceFile, typeChecker, compilerOptions.target, log, completionKind, preferences, propertyAccessToConvert, isJsxInitializer, recommendedCompletion, symbolToOriginInfoMap); getJavaScriptCompletionEntries(sourceFile, location.pos, uniqueNames, compilerOptions.target, entries); } @@ -72770,6 +73162,9 @@ var ts; } return { isGlobalCompletion: isInSnippetScope, isMemberCompletion: isMemberCompletion, isNewIdentifierLocation: isNewIdentifierLocation, entries: entries }; } + function isUncheckedFile(sourceFile, compilerOptions) { + return ts.isSourceFileJavaScript(sourceFile) && !ts.isCheckJsEnabledForFile(sourceFile, compilerOptions); + } function isMemberCompletionKind(kind) { switch (kind) { case 0: @@ -72918,38 +73313,38 @@ var ts; })(StringLiteralCompletionKind || (StringLiteralCompletionKind = {})); function getStringLiteralCompletionEntries(sourceFile, node, position, typeChecker, compilerOptions, host) { switch (node.parent.kind) { - case 177: + case 178: switch (node.parent.parent.kind) { - case 161: + case 162: return { kind: 2, types: getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(node.parent), typeChecker), isNewIdentifier: false }; - case 175: + case 176: return stringLiteralCompletionsFromProperties(typeChecker.getTypeFromTypeNode(node.parent.parent.objectType)); - case 178: + case 179: return { kind: 0, paths: Completions.PathCompletions.getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker) }; default: return undefined; } - case 269: + case 270: if (ts.isObjectLiteralExpression(node.parent.parent) && node.parent.name === node) { return stringLiteralCompletionsFromProperties(typeChecker.getContextualType(node.parent.parent)); } return fromContextualType(); - case 185: { + case 186: { var _a = node.parent, expression = _a.expression, argumentExpression = _a.argumentExpression; if (node === argumentExpression) { return stringLiteralCompletionsFromProperties(typeChecker.getTypeAtLocation(expression)); } return undefined; } - case 186: case 187: + case 188: if (!ts.isRequireCall(node.parent, false) && !ts.isImportCall(node.parent)) { - var argumentInfo = ts.SignatureHelp.getImmediatelyContainingArgumentInfo(node, position, sourceFile); + var argumentInfo = ts.SignatureHelp.getArgumentInfoForCompletions(node, position, sourceFile); return argumentInfo ? getStringLiteralCompletionsFromSignature(argumentInfo, typeChecker) : fromContextualType(); } - case 243: - case 249: - case 253: + case 244: + case 250: + case 254: return { kind: 0, paths: Completions.PathCompletions.getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker) }; default: return fromContextualType(); @@ -72967,7 +73362,7 @@ var ts; if (!candidate.hasRestParameter && argumentInfo.argumentCount > candidate.parameters.length) return; var type = checker.getParameterType(candidate, argumentInfo.argumentIndex); - isNewIdentifier = isNewIdentifier || !!(type.flags & 2); + isNewIdentifier = isNewIdentifier || !!(type.flags & 4); return getStringLiteralTypes(type, checker, uniques); }); return { kind: 2, types: types, isNewIdentifier: isNewIdentifier }; @@ -72982,12 +73377,13 @@ var ts; type = ts.skipConstraint(type); return type.isUnion() ? ts.flatMap(type.types, function (t) { return getStringLiteralTypes(t, typeChecker, uniques); }) - : type.isStringLiteral() && !(type.flags & 256) && ts.addToSeen(uniques, type.value) + : type.isStringLiteral() && !(type.flags & 512) && ts.addToSeen(uniques, type.value) ? [type] : ts.emptyArray; } function getSymbolCompletionFromEntryId(program, log, sourceFile, position, entryId) { - var completionData = getCompletionData(program, log, sourceFile, position, { includeCompletionsForModuleExports: true, includeCompletionsWithInsertText: true }, entryId); + var compilerOptions = program.getCompilerOptions(); + var completionData = getCompletionData(program, log, sourceFile, isUncheckedFile(sourceFile, compilerOptions), position, { includeCompletionsForModuleExports: true, includeCompletionsWithInsertText: true }, entryId); if (!completionData) { return { type: "none" }; } @@ -72997,7 +73393,7 @@ var ts; var symbols = completionData.symbols, location = completionData.location, completionKind = completionData.completionKind, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap, previousToken = completionData.previousToken, isJsxInitializer = completionData.isJsxInitializer; return ts.firstDefined(symbols, function (symbol) { var origin = symbolToOriginInfoMap[ts.getSymbolId(symbol)]; - var info = getCompletionEntryDisplayNameForSymbol(symbol, program.getCompilerOptions().target, origin, completionKind); + var info = getCompletionEntryDisplayNameForSymbol(symbol, compilerOptions.target, origin, completionKind); return info && info.name === entryId.name && getSourceFromOrigin(origin) === entryId.source ? { type: "symbol", symbol: symbol, location: location, symbolToOriginInfoMap: symbolToOriginInfoMap, previousToken: previousToken, isJsxInitializer: isJsxInitializer } : undefined; @@ -73076,7 +73472,7 @@ var ts; return { codeActions: undefined, sourceDisplay: undefined }; } var moduleSymbol = symbolOriginInfo.moduleSymbol; - var exportedSymbol = ts.skipAlias(symbol.exportSymbol || symbol, checker); + var exportedSymbol = checker.getMergedSymbol(ts.skipAlias(symbol.exportSymbol || symbol, checker)); var _a = ts.codefix.getImportCompletionAction(exportedSymbol, moduleSymbol, sourceFile, getSymbolName(symbol, symbolOriginInfo, compilerOptions.target), host, program, checker, compilerOptions, allSourceFiles, formatContext, getCanonicalFileName, previousToken, preferences), moduleSpecifier = _a.moduleSpecifier, codeAction = _a.codeAction; return { sourceDisplay: [ts.textPart(moduleSpecifier)], codeActions: [codeAction] }; } @@ -73102,11 +73498,13 @@ var ts; CompletionKind[CompletionKind["None"] = 5] = "None"; })(CompletionKind || (CompletionKind = {})); function getRecommendedCompletion(currentToken, position, sourceFile, checker) { - var ty = getContextualType(currentToken, position, sourceFile, checker); - var symbol = ty && ty.symbol; - return symbol && (symbol.flags & 384 || symbol.flags & 32 && !ts.isAbstractConstructorSymbol(symbol)) - ? getFirstSymbolInChain(symbol, currentToken, checker) - : undefined; + var contextualType = getContextualType(currentToken, position, sourceFile, checker); + return ts.firstDefined(contextualType && (contextualType.isUnion() ? contextualType.types : [contextualType]), function (type) { + var symbol = type && type.symbol; + return symbol && (symbol.flags & (8 | 384 | 32) && !ts.isAbstractConstructorSymbol(symbol)) + ? getFirstSymbolInChain(symbol, currentToken, checker) + : undefined; + }); } function getContextualType(currentToken, position, sourceFile, checker) { var parent = currentToken.parent; @@ -73115,11 +73513,11 @@ var ts; return getContextualTypeFromParent(currentToken, checker); case 58: switch (parent.kind) { - case 231: + case 232: return checker.getContextualType(parent.initializer); - case 199: + case 200: return checker.getTypeAtLocation(parent.left); - case 261: + case 262: return checker.getContextualTypeForJsxAttribute(parent); default: return undefined; @@ -73129,9 +73527,9 @@ var ts; case 73: return getSwitchedType(ts.cast(parent, ts.isCaseClause), checker); case 17: - return ts.isJsxExpression(parent) && parent.parent.kind !== 254 ? checker.getContextualTypeForJsxAttribute(parent.parent) : undefined; + return ts.isJsxExpression(parent) && parent.parent.kind !== 255 ? checker.getContextualTypeForJsxAttribute(parent.parent) : undefined; default: - var argInfo = ts.SignatureHelp.getImmediatelyContainingArgumentInfo(currentToken, position, sourceFile); + var argInfo = ts.SignatureHelp.getArgumentInfoForCompletions(currentToken, position, sourceFile); return argInfo ? checker.getContextualTypeForArgumentAtIndex(argInfo.invocation, argInfo.argumentIndex + (currentToken.kind === 26 ? 1 : 0)) : isEqualityOperatorKind(currentToken.kind) && ts.isBinaryExpression(parent) && isEqualityOperatorKind(parent.operatorToken.kind) @@ -73142,15 +73540,15 @@ var ts; function getContextualTypeFromParent(node, checker) { var parent = node.parent; switch (parent.kind) { - case 187: + case 188: return checker.getContextualType(parent); - case 199: { + case 200: { var _a = parent, left = _a.left, operatorToken = _a.operatorToken, right = _a.right; return isEqualityOperatorKind(operatorToken.kind) ? checker.getTypeAtLocation(node === right ? left : right) : checker.getContextualType(node); } - case 265: + case 266: return parent.expression === node ? getSwitchedType(parent, checker) : undefined; default: return checker.getContextualType(node); @@ -73166,9 +73564,9 @@ var ts; return symbol.parent && (isModuleSymbol(symbol.parent) ? symbol : getFirstSymbolInChain(symbol.parent, enclosingDeclaration, checker)); } function isModuleSymbol(symbol) { - return symbol.declarations.some(function (d) { return d.kind === 273; }); + return symbol.declarations.some(function (d) { return d.kind === 274; }); } - function getCompletionData(program, log, sourceFile, position, preferences, detailsEntryId) { + function getCompletionData(program, log, sourceFile, isUncheckedFile, position, preferences, detailsEntryId) { var typeChecker = program.getTypeChecker(); var start = ts.timestamp(); var currentToken = ts.getTokenAtPosition(sourceFile, position, false); @@ -73195,11 +73593,11 @@ var ts; if (tag.tagName.pos <= position && position <= tag.tagName.end) { return { kind: 1 }; } - if (isTagWithTypeExpression(tag) && tag.typeExpression && tag.typeExpression.kind === 277) { + if (isTagWithTypeExpression(tag) && tag.typeExpression && tag.typeExpression.kind === 278) { currentToken = ts.getTokenAtPosition(sourceFile, position, true); if (!currentToken || (!ts.isDeclarationName(currentToken) && - (currentToken.parent.kind !== 297 || + (currentToken.parent.kind !== 298 || currentToken.parent.name !== currentToken))) { insideJsDocTagTypeExpression = isCurrentlyEditingNode(tag.typeExpression); } @@ -73238,14 +73636,15 @@ var ts; if (contextToken.kind === 23) { isRightOfDot = true; switch (parent.kind) { - case 184: + case 185: propertyAccessToConvert = parent; node = propertyAccessToConvert.expression; break; - case 145: + case 146: node = parent.left; break; - case 178: + case 179: + case 210: node = parent; break; default: @@ -73253,44 +73652,44 @@ var ts; } } else if (sourceFile.languageVariant === 1) { - if (parent && parent.kind === 184) { + if (parent && parent.kind === 185) { contextToken = parent; parent = parent.parent; } if (currentToken.parent === location) { switch (currentToken.kind) { case 29: - if (currentToken.parent.kind === 254 || currentToken.parent.kind === 256) { + if (currentToken.parent.kind === 255 || currentToken.parent.kind === 257) { location = currentToken; } break; case 41: - if (currentToken.parent.kind === 255) { + if (currentToken.parent.kind === 256) { location = currentToken; } break; } } switch (parent.kind) { - case 257: + case 258: if (contextToken.kind === 41) { isStartingCloseTag = true; location = contextToken; } break; - case 199: + case 200: if (!(parent.left.flags & 32768)) { break; } - case 255: - case 254: case 256: + case 255: + case 257: if (contextToken.kind === 27) { isRightOfOpenTag = true; location = contextToken; } break; - case 261: + case 262: switch (previousToken.kind) { case 58: isJsxInitializer = true; @@ -73337,12 +73736,14 @@ var ts; return { kind: 0, symbols: symbols, completionKind: completionKind, isInSnippetScope: isInSnippetScope, propertyAccessToConvert: propertyAccessToConvert, isNewIdentifierLocation: isNewIdentifierLocation, location: location, keywordFilters: keywordFilters, symbolToOriginInfoMap: symbolToOriginInfoMap, recommendedCompletion: recommendedCompletion, previousToken: previousToken, isJsxInitializer: isJsxInitializer }; function isTagWithTypeExpression(tag) { switch (tag.kind) { - case 292: - case 297: case 293: + case 298: case 294: - case 296: + case 295: + case 297: return true; + default: + return false; } } function getTypeScriptMemberSymbols() { @@ -73368,26 +73769,31 @@ var ts; symbols.push(symbol_2); } } - if (!isTypeLocation && symbol.declarations.some(function (d) { return d.kind !== 273 && d.kind !== 238 && d.kind !== 237; })) { + if (!isTypeLocation && symbol.declarations.some(function (d) { return d.kind !== 274 && d.kind !== 239 && d.kind !== 238; })) { addTypeProperties(typeChecker.getTypeOfSymbolAtLocation(symbol, node)); } return; } } } + if (ts.isMetaProperty(node) && (node.keywordToken === 94 || node.keywordToken === 91)) { + var completion = (node.keywordToken === 94) ? "target" : "meta"; + symbols.push(typeChecker.createSymbol(4, ts.escapeLeadingUnderscores(completion))); + return; + } if (!isTypeLocation) { addTypeProperties(typeChecker.getTypeAtLocation(node)); } } function addTypeProperties(type) { isNewIdentifierLocation = hasIndexSignature(type); - if (ts.isSourceFileJavaScript(sourceFile)) { + if (isUncheckedFile) { symbols.push.apply(symbols, getPropertiesForCompletion(type, typeChecker, true)); } else { for (var _i = 0, _a = type.getApparentProperties(); _i < _a.length; _i++) { var symbol = _a[_i]; - if (typeChecker.isValidPropertyAccessForCompletions(node.kind === 178 ? node : node.parent, type, symbol)) { + if (typeChecker.isValidPropertyAccessForCompletions(node.kind === 179 ? node : node.parent, type, symbol)) { addPropertySymbol(symbol); } } @@ -73396,7 +73802,7 @@ var ts; function addPropertySymbol(symbol) { var symbolSymbol = ts.firstDefined(symbol.declarations, function (decl) { var name = ts.getNameOfDeclaration(decl); - var leftName = name.kind === 146 ? getLeftMostName(name.expression) : undefined; + var leftName = name.kind === 147 ? getLeftMostName(name.expression) : undefined; return leftName && typeChecker.getSymbolAtLocation(leftName); }); if (symbolSymbol) { @@ -73453,7 +73859,7 @@ var ts; isInSnippetScope = isSnippetScope(scopeNode); var symbolMeanings = 67901928 | 67216319 | 1920 | 2097152; symbols = ts.Debug.assertEachDefined(typeChecker.getSymbolsInScope(scopeNode, symbolMeanings), "getSymbolsInScope() should all be defined"); - if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 273) { + if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 274) { var thisType = typeChecker.tryGetThisTypeAt(scopeNode); if (thisType) { for (var _i = 0, _a = getPropertiesForCompletion(thisType, typeChecker, true); _i < _a.length; _i++) { @@ -73477,16 +73883,16 @@ var ts; return false; if (ts.programContainsEs6Modules(program)) return true; - if (ts.isSourceFileJavaScript(sourceFile)) + if (isUncheckedFile) return false; return ts.compilerOptionsIndicateEs6Modules(program.getCompilerOptions()); } function isSnippetScope(scopeNode) { switch (scopeNode.kind) { - case 273: - case 201: - case 264: - case 212: + case 274: + case 202: + case 265: + case 213: return true; default: return ts.isStatement(scopeNode); @@ -73519,22 +73925,22 @@ var ts; function isContextTokenValueLocation(contextToken) { return contextToken && contextToken.kind === 103 && - (contextToken.parent.kind === 164 || ts.isTypeOfExpression(contextToken.parent)); + (contextToken.parent.kind === 165 || ts.isTypeOfExpression(contextToken.parent)); } function isContextTokenTypeLocation(contextToken) { if (contextToken) { var parentKind = contextToken.parent.kind; switch (contextToken.kind) { case 56: - return parentKind === 151 || - parentKind === 150 || - parentKind === 148 || - parentKind === 231 || + return parentKind === 152 || + parentKind === 151 || + parentKind === 149 || + parentKind === 232 || ts.isFunctionLikeKind(parentKind); case 58: - return parentKind === 236; + return parentKind === 237; case 118: - return parentKind === 207; + return parentKind === 208; } } return false; @@ -73549,16 +73955,22 @@ var ts; var exportedSymbols = typeChecker.getExportsOfModule(symbol); return exportedSymbols.some(symbolCanBeReferencedAtTypeLocation); } + return false; } function getSymbolsFromOtherSourceFileExports(symbols, tokenText, target) { var tokenTextLowerCase = tokenText.toLowerCase(); + var seenResolvedModules = ts.createMap(); ts.codefix.forEachExternalModuleToImportFrom(typeChecker, sourceFile, program.getSourceFiles(), function (moduleSymbol) { if (detailsEntryId && detailsEntryId.source && ts.stripQuotes(moduleSymbol.name) !== detailsEntryId.source) { return; } + var resolvedModuleSymbol = typeChecker.resolveExternalModuleSymbol(moduleSymbol); + if (!ts.addToSeen(seenResolvedModules, ts.getSymbolId(resolvedModuleSymbol))) { + return; + } for (var _i = 0, _a = typeChecker.getExportsOfModule(moduleSymbol); _i < _a.length; _i++) { var symbol = _a[_i]; - if (typeChecker.getMergedSymbol(symbol.parent) !== typeChecker.resolveExternalModuleSymbol(moduleSymbol) + if (typeChecker.getMergedSymbol(symbol.parent) !== resolvedModuleSymbol || ts.some(symbol.declarations, function (d) { return ts.isExportSpecifier(d) && !!d.parent.parent.moduleSpecifier; })) { continue; } @@ -73610,11 +74022,11 @@ var ts; return true; } if (contextToken.kind === 29 && contextToken.parent) { - if (contextToken.parent.kind === 256) { + if (contextToken.parent.kind === 257) { return true; } - if (contextToken.parent.kind === 257 || contextToken.parent.kind === 255) { - return contextToken.parent.parent && contextToken.parent.parent.kind === 254; + if (contextToken.parent.kind === 258 || contextToken.parent.kind === 256) { + return !!contextToken.parent.parent && contextToken.parent.parent.kind === 255; } } return false; @@ -73624,40 +74036,40 @@ var ts; var containingNodeKind = previousToken.parent.kind; switch (previousToken.kind) { case 26: - return containingNodeKind === 186 - || containingNodeKind === 154 - || containingNodeKind === 187 - || containingNodeKind === 182 - || containingNodeKind === 199 - || containingNodeKind === 162; + return containingNodeKind === 187 + || containingNodeKind === 155 + || containingNodeKind === 188 + || containingNodeKind === 183 + || containingNodeKind === 200 + || containingNodeKind === 163; case 19: - return containingNodeKind === 186 - || containingNodeKind === 154 - || containingNodeKind === 187 - || containingNodeKind === 190 - || containingNodeKind === 172; + return containingNodeKind === 187 + || containingNodeKind === 155 + || containingNodeKind === 188 + || containingNodeKind === 191 + || containingNodeKind === 173; case 21: - return containingNodeKind === 182 - || containingNodeKind === 159 - || containingNodeKind === 146; + return containingNodeKind === 183 + || containingNodeKind === 160 + || containingNodeKind === 147; case 129: case 130: return true; case 23: - return containingNodeKind === 238; + return containingNodeKind === 239; case 17: - return containingNodeKind === 234; + return containingNodeKind === 235; case 58: - return containingNodeKind === 231 - || containingNodeKind === 199; + return containingNodeKind === 232 + || containingNodeKind === 200; case 14: - return containingNodeKind === 201; + return containingNodeKind === 202; case 15: - return containingNodeKind === 210; + return containingNodeKind === 211; case 114: case 112: case 113: - return containingNodeKind === 151; + return containingNodeKind === 152; } switch (keywordForNode(previousToken)) { case 114: @@ -73669,20 +74081,8 @@ var ts; return false; } function isInStringOrRegularExpressionOrTemplateLiteral(contextToken) { - if (contextToken.kind === 9 - || contextToken.kind === 12 - || ts.isTemplateLiteralKind(contextToken.kind)) { - var start_5 = contextToken.getStart(); - var end = contextToken.getEnd(); - if (start_5 < position && position < end) { - return true; - } - if (position === end) { - return !!contextToken.isUnterminated - || contextToken.kind === 12; - } - } - return false; + return (ts.isRegularExpressionLiteral(contextToken) || ts.isStringTextContainingNode(contextToken)) && (ts.rangeContainsPositionExclusive(ts.createTextRangeFromSpan(ts.createTextSpanFromNode(contextToken)), position) || + position === contextToken.end && (!!contextToken.isUnterminated || ts.isRegularExpressionLiteral(contextToken))); } function tryGetObjectLikeCompletionSymbols() { var objectLikeContainer = tryGetObjectLikeCompletionContainer(contextToken); @@ -73691,7 +74091,7 @@ var ts; completionKind = 0; var typeMembers; var existingMembers; - if (objectLikeContainer.kind === 183) { + if (objectLikeContainer.kind === 184) { var typeForObject = typeChecker.getContextualType(objectLikeContainer); if (!typeForObject) return 2; @@ -73700,17 +74100,17 @@ var ts; existingMembers = objectLikeContainer.properties; } else { - ts.Debug.assert(objectLikeContainer.kind === 179); + ts.Debug.assert(objectLikeContainer.kind === 180); isNewIdentifierLocation = false; var rootDeclaration = ts.getRootDeclaration(objectLikeContainer.parent); if (!ts.isVariableLike(rootDeclaration)) return ts.Debug.fail("Root declaration is not variable-like."); - var canGetType = ts.hasInitializer(rootDeclaration) || ts.hasType(rootDeclaration) || rootDeclaration.parent.parent.kind === 221; - if (!canGetType && rootDeclaration.kind === 148) { + var canGetType = ts.hasInitializer(rootDeclaration) || ts.hasType(rootDeclaration) || rootDeclaration.parent.parent.kind === 222; + if (!canGetType && rootDeclaration.kind === 149) { if (ts.isExpression(rootDeclaration.parent)) { canGetType = !!typeChecker.getContextualType(rootDeclaration.parent); } - else if (rootDeclaration.parent.kind === 153 || rootDeclaration.parent.kind === 156) { + else if (rootDeclaration.parent.kind === 154 || rootDeclaration.parent.kind === 157) { canGetType = ts.isExpression(rootDeclaration.parent.parent) && !!typeChecker.getContextualType(rootDeclaration.parent.parent); } } @@ -73732,7 +74132,7 @@ var ts; ? ts.tryCast(contextToken.parent, ts.isNamedImportsOrExports) : undefined; if (!namedImportsOrExports) return 0; - var moduleSpecifier = (namedImportsOrExports.kind === 246 ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; + var moduleSpecifier = (namedImportsOrExports.kind === 247 ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; var moduleSpecifierSymbol = typeChecker.getSymbolAtLocation(moduleSpecifier); if (!moduleSpecifierSymbol) return 2; @@ -73753,7 +74153,7 @@ var ts; if (!ts.isClassLike(decl)) return 1; var classElement = contextToken.parent; - var classElementModifierFlags = ts.isClassElement(classElement) && ts.getModifierFlags(classElement); + var classElementModifierFlags = ts.isClassElement(classElement) ? ts.getModifierFlags(classElement) : 0; if (contextToken.kind === 71 && !isCurrentlyEditingNode(contextToken)) { switch (contextToken.getText()) { case "private": @@ -73793,13 +74193,14 @@ var ts; } function tryGetConstructorLikeCompletionContainer(contextToken) { if (contextToken) { + var parent = contextToken.parent; switch (contextToken.kind) { case 19: case 26: - return ts.isConstructorDeclaration(contextToken.parent) && contextToken.parent; + return ts.isConstructorDeclaration(contextToken.parent) ? contextToken.parent : undefined; default: if (isConstructorParameterCompletion(contextToken)) { - return contextToken.parent.parent; + return parent.parent; } } } @@ -73816,6 +74217,7 @@ var ts; return true; } prev_1 = node; + return false; }); return container && container; } @@ -73827,29 +74229,29 @@ var ts; case 28: case 41: case 71: - case 184: - case 262: - case 261: + case 185: case 263: - if (parent && (parent.kind === 255 || parent.kind === 256)) { + case 262: + case 264: + if (parent && (parent.kind === 256 || parent.kind === 257)) { return parent; } - else if (parent.kind === 261) { + else if (parent.kind === 262) { return parent.parent.parent; } break; case 9: - if (parent && ((parent.kind === 261) || (parent.kind === 263))) { + if (parent && ((parent.kind === 262) || (parent.kind === 264))) { return parent.parent.parent; } break; case 18: if (parent && - parent.kind === 264 && - parent.parent && parent.parent.kind === 261) { + parent.kind === 265 && + parent.parent && parent.parent.kind === 262) { return parent.parent.parent.parent; } - if (parent && parent.kind === 263) { + if (parent && parent.kind === 264) { return parent.parent.parent; } break; @@ -73858,51 +74260,51 @@ var ts; return undefined; } function isSolelyIdentifierDefinitionLocation(contextToken) { - var containingNodeKind = contextToken.parent.kind; + var parent = contextToken.parent; + var containingNodeKind = parent.kind; switch (contextToken.kind) { case 26: - return containingNodeKind === 231 || - containingNodeKind === 232 || - containingNodeKind === 213 || - containingNodeKind === 237 || + return containingNodeKind === 232 || + containingNodeKind === 233 || + containingNodeKind === 214 || + containingNodeKind === 238 || isFunctionLikeButNotConstructor(containingNodeKind) || - containingNodeKind === 235 || - containingNodeKind === 180 || containingNodeKind === 236 || - (ts.isClassLike(contextToken.parent) && - contextToken.parent.typeParameters && - contextToken.parent.typeParameters.end >= contextToken.pos); + containingNodeKind === 181 || + containingNodeKind === 237 || + (ts.isClassLike(parent) && + !!parent.typeParameters && + parent.typeParameters.end >= contextToken.pos); case 23: - return containingNodeKind === 180; - case 56: return containingNodeKind === 181; + case 56: + return containingNodeKind === 182; case 21: - return containingNodeKind === 180; + return containingNodeKind === 181; case 19: - return containingNodeKind === 268 || + return containingNodeKind === 269 || isFunctionLikeButNotConstructor(containingNodeKind); case 17: - return containingNodeKind === 237; + return containingNodeKind === 238; case 27: - return containingNodeKind === 234 || - containingNodeKind === 204 || - containingNodeKind === 235 || + return containingNodeKind === 235 || + containingNodeKind === 205 || containingNodeKind === 236 || + containingNodeKind === 237 || ts.isFunctionLikeKind(containingNodeKind); case 115: - return containingNodeKind === 151 && !ts.isClassLike(contextToken.parent.parent); + return containingNodeKind === 152 && !ts.isClassLike(parent.parent); case 24: - return containingNodeKind === 148 || - (contextToken.parent && contextToken.parent.parent && - contextToken.parent.parent.kind === 180); + return containingNodeKind === 149 || + (!!parent.parent && parent.parent.kind === 181); case 114: case 112: case 113: - return containingNodeKind === 148 && !ts.isConstructorDeclaration(contextToken.parent.parent); + return containingNodeKind === 149 && !ts.isConstructorDeclaration(parent.parent); case 118: - return containingNodeKind === 247 || - containingNodeKind === 251 || - containingNodeKind === 245; + return containingNodeKind === 248 || + containingNodeKind === 252 || + containingNodeKind === 246; case 125: case 136: if (isFromObjectTypeDeclaration(contextToken)) { @@ -73953,7 +74355,7 @@ var ts; && !(ts.isClassLike(contextToken.parent) && (contextToken !== previousToken || position > previousToken.end)); } function isFunctionLikeButNotConstructor(kind) { - return ts.isFunctionLikeKind(kind) && kind !== 154; + return ts.isFunctionLikeKind(kind) && kind !== 155; } function isDotOfNumericLiteral(contextToken) { if (contextToken.kind === 8) { @@ -73969,19 +74371,19 @@ var ts; var existingMemberNames = ts.createUnderscoreEscapedMap(); for (var _i = 0, existingMembers_1 = existingMembers; _i < existingMembers_1.length; _i++) { var m = existingMembers_1[_i]; - if (m.kind !== 269 && - m.kind !== 270 && - m.kind !== 181 && - m.kind !== 153 && - m.kind !== 155 && - m.kind !== 156) { + if (m.kind !== 270 && + m.kind !== 271 && + m.kind !== 182 && + m.kind !== 154 && + m.kind !== 156 && + m.kind !== 157) { continue; } if (isCurrentlyEditingNode(m)) { continue; } var existingName = void 0; - if (m.kind === 181 && m.propertyName) { + if (ts.isBindingElement(m) && m.propertyName) { if (m.propertyName.kind === 71) { existingName = m.propertyName.escapedText; } @@ -73998,10 +74400,10 @@ var ts; var existingMemberNames = ts.createUnderscoreEscapedMap(); for (var _i = 0, existingMembers_2 = existingMembers; _i < existingMembers_2.length; _i++) { var m = existingMembers_2[_i]; - if (m.kind !== 151 && - m.kind !== 153 && - m.kind !== 155 && - m.kind !== 156) { + if (m.kind !== 152 && + m.kind !== 154 && + m.kind !== 156 && + m.kind !== 157) { continue; } if (isCurrentlyEditingNode(m)) { @@ -74031,7 +74433,7 @@ var ts; if (isCurrentlyEditingNode(attr)) { continue; } - if (attr.kind === 261) { + if (attr.kind === 262) { seenNames.set(attr.name.escapedText, true); } } @@ -74069,7 +74471,7 @@ var ts; var _keywordCompletions = []; var allKeywordsCompletions = ts.memoize(function () { var res = []; - for (var i = 72; i <= 144; i++) { + for (var i = 72; i <= 145; i++) { res.push({ name: ts.tokenToString(i), kind: "keyword", @@ -74162,13 +74564,13 @@ var ts; return ts.Debug.assertEachDefined(type.getApparentProperties(), "getApparentProperties() should all be defined"); } var filteredTypes = isForAccess ? type.types : type.types.filter(function (memberType) { - return !(memberType.flags & 16382 || checker.isArrayLikeType(memberType) || ts.typeHasCallOrConstructSignatures(memberType, checker)); + return !(memberType.flags & 32764 || checker.isArrayLikeType(memberType) || ts.typeHasCallOrConstructSignatures(memberType, checker)); }); return ts.Debug.assertEachDefined(checker.getAllPossiblePropertiesOfTypes(filteredTypes), "getAllPossiblePropertiesOfTypes() should all be defined"); } function tryGetObjectTypeDeclarationCompletionContainer(sourceFile, contextToken, location) { switch (location.kind) { - case 298: + case 299: return ts.tryCast(location.parent, ts.isObjectTypeDeclaration); case 1: var cls = ts.tryCast(ts.lastOrUndefined(ts.cast(location.parent, ts.isSourceFile).statements), ts.isObjectTypeDeclaration); @@ -74211,7 +74613,7 @@ var ts; case "`": return isStringLiteralOrTemplate(contextToken) && position === contextToken.getStart(sourceFile) + 1; case "<": - return contextToken.kind === 27 && contextToken.parent.kind !== 199; + return contextToken.kind === 27 && contextToken.parent.kind !== 200; case "/": return ts.isStringLiteralLike(contextToken) ? !!ts.tryGetImportFromModuleSpecifier(contextToken) @@ -74224,8 +74626,8 @@ var ts; switch (node.kind) { case 9: case 13: - case 201: - case 188: + case 202: + case 189: return true; default: return false; @@ -74268,7 +74670,7 @@ var ts; if (!sourceFilesSet.has(fileName)) { ts.Debug.assert(program.redirectTargetsSet.has(fileName)); var redirectTarget_1 = program.getSourceFile(fileName); - var redirect = ts.find(sourceFilesToSearch, function (f) { return f.redirectInfo && f.redirectInfo.redirectTarget === redirectTarget_1; }); + var redirect = ts.find(sourceFilesToSearch, function (f) { return !!f.redirectInfo && f.redirectInfo.redirectTarget === redirectTarget_1; }); fileName = redirect.fileName; ts.Debug.assert(sourceFilesSet.has(fileName)); } @@ -74314,6 +74716,8 @@ var ts; return useParent(node.parent, ts.isAwaitExpression, getAsyncAndAwaitOccurrences); case 120: return highlightSpans(getAsyncAndAwaitOccurrences(node)); + case 116: + return highlightSpans(getYieldOccurrences(node)); default: return ts.isModifierKind(node.kind) && (ts.isDeclaration(node.parent) || ts.isVariableStatement(node.parent)) ? highlightSpans(getModifierOccurrences(node.kind, node.parent)) @@ -74336,7 +74740,7 @@ var ts; return [node]; } else if (ts.isTryStatement(node)) { - return ts.concatenate(node.catchClause ? aggregateOwnedThrowStatements(node.catchClause) : node.tryBlock && aggregateOwnedThrowStatements(node.tryBlock), aggregateOwnedThrowStatements(node.finallyBlock)); + return ts.concatenate(node.catchClause ? aggregateOwnedThrowStatements(node.catchClause) : node.tryBlock && aggregateOwnedThrowStatements(node.tryBlock), node.finallyBlock && aggregateOwnedThrowStatements(node.finallyBlock)); } return ts.isFunctionLike(node) ? undefined : flatMapChildren(node, aggregateOwnedThrowStatements); } @@ -74344,7 +74748,7 @@ var ts; var child = throwStatement; while (child.parent) { var parent = child.parent; - if (ts.isFunctionBlock(parent) || parent.kind === 273) { + if (ts.isFunctionBlock(parent) || parent.kind === 274) { return parent; } if (ts.isTryStatement(parent) && parent.tryBlock === child && parent.catchClause) { @@ -74369,23 +74773,23 @@ var ts; } function ownsBreakOrContinueStatement(owner, statement) { var actualOwner = getBreakOrContinueOwner(statement); - return actualOwner && actualOwner === owner; + return !!actualOwner && actualOwner === owner; } function getBreakOrContinueOwner(statement) { return ts.findAncestor(statement, function (node) { switch (node.kind) { - case 226: - if (statement.kind === 222) { + case 227: + if (statement.kind === 223) { return false; } - case 219: case 220: case 221: + case 222: + case 219: case 218: - case 217: return !statement.label || isLabeledBy(node, statement.label.escapedText); default: - return (ts.isFunctionLike(node) && "quit"); + return ts.isFunctionLike(node) && "quit"; } }); } @@ -74402,24 +74806,23 @@ var ts; function getNodesToSearchForModifier(declaration, modifierFlag) { var container = declaration.parent; switch (container.kind) { - case 239: - case 273: - case 212: - case 265: + case 240: + case 274: + case 213: case 266: + case 267: if (modifierFlag & 128 && ts.isClassDeclaration(declaration)) { return declaration.members.concat([declaration]); } else { return container.statements; } + case 155: case 154: - case 153: - case 233: { - return container.parameters.concat((ts.isClassLike(container.parent) ? container.parent.members : [])); - } case 234: - case 204: + return container.parameters.concat((ts.isClassLike(container.parent) ? container.parent.members : [])); + case 235: + case 205: var nodes = container.members; if (modifierFlag & 28) { var constructor = ts.find(container.members, ts.isConstructorDeclaration); @@ -74449,7 +74852,7 @@ var ts; function getLoopBreakContinueOccurrences(loopNode) { var keywords = []; if (pushKeywordIf(keywords, loopNode.getFirstToken(), 88, 106, 81)) { - if (loopNode.kind === 217) { + if (loopNode.kind === 218) { var loopTokens = loopNode.getChildren(); for (var i = loopTokens.length - 1; i >= 0; i--) { if (pushKeywordIf(keywords, loopTokens[i], 106)) { @@ -74469,13 +74872,13 @@ var ts; var owner = getBreakOrContinueOwner(breakOrContinueStatement); if (owner) { switch (owner.kind) { - case 219: case 220: case 221: - case 217: + case 222: case 218: + case 219: return getLoopBreakContinueOccurrences(owner); - case 226: + case 227: return getSwitchCaseDefaultOccurrences(owner); } } @@ -74547,15 +74950,34 @@ var ts; pushKeywordIf(keywords, modifier, 120); }); } - ts.forEachChild(func, aggregate); + ts.forEachChild(func, function (child) { + traverseWithoutCrossingFunction(child, function (node) { + if (ts.isAwaitExpression(node)) { + pushKeywordIf(keywords, node.getFirstToken(), 121); + } + }); + }); return keywords; - function aggregate(node) { - if (ts.isAwaitExpression(node)) { - pushKeywordIf(keywords, node.getFirstToken(), 121); - } - if (!ts.isFunctionLike(node) && !ts.isClassLike(node) && !ts.isInterfaceDeclaration(node) && !ts.isModuleDeclaration(node) && !ts.isTypeAliasDeclaration(node) && !ts.isTypeNode(node)) { - ts.forEachChild(node, aggregate); - } + } + function getYieldOccurrences(node) { + var func = ts.getContainingFunction(node); + if (!func) { + return undefined; + } + var keywords = []; + ts.forEachChild(func, function (child) { + traverseWithoutCrossingFunction(child, function (node) { + if (ts.isYieldExpression(node)) { + pushKeywordIf(keywords, node.getFirstToken(), 116); + } + }); + }); + return keywords; + } + function traverseWithoutCrossingFunction(node, cb) { + cb(node); + if (!ts.isFunctionLike(node) && !ts.isClassLike(node) && !ts.isInterfaceDeclaration(node) && !ts.isModuleDeclaration(node) && !ts.isTypeAliasDeclaration(node) && !ts.isTypeNode(node)) { + ts.forEachChild(node, function (child) { return traverseWithoutCrossingFunction(child, cb); }); } } function getIfElseOccurrences(ifStatement, sourceFile) { @@ -74614,6 +75036,10 @@ var ts; var ts; (function (ts) { function createDocumentRegistry(useCaseSensitiveFileNames, currentDirectory) { + return createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirectory); + } + ts.createDocumentRegistry = createDocumentRegistry; + function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirectory, externalCache) { if (currentDirectory === void 0) { currentDirectory = ""; } var buckets = ts.createMap(); var getCanonicalFileName = ts.createGetCanonicalFileName(!!useCaseSensitiveFileNames); @@ -74634,8 +75060,7 @@ var ts; entries.forEach(function (entry, name) { sourceFiles.push({ name: name, - refCount: entry.languageServiceRefCount, - references: entry.owners.slice(0) + refCount: entry.languageServiceRefCount }); }); sourceFiles.sort(function (x, y) { return y.refCount - x.refCount; }); @@ -74666,23 +75091,40 @@ var ts; var bucket = getBucketForCompilationSettings(key, true); var entry = bucket.get(path); var scriptTarget = scriptKind === 6 ? 100 : compilationSettings.target; + if (!entry && externalCache) { + var sourceFile = externalCache.getDocument(key, path); + if (sourceFile) { + ts.Debug.assert(acquiring); + entry = { + sourceFile: sourceFile, + languageServiceRefCount: 0 + }; + bucket.set(path, entry); + } + } if (!entry) { var sourceFile = ts.createLanguageServiceSourceFile(fileName, scriptSnapshot, scriptTarget, version, false, scriptKind); + if (externalCache) { + externalCache.setDocument(key, path, sourceFile); + } entry = { sourceFile: sourceFile, languageServiceRefCount: 1, - owners: [] }; bucket.set(path, entry); } else { if (entry.sourceFile.version !== version) { entry.sourceFile = ts.updateLanguageServiceSourceFile(entry.sourceFile, scriptSnapshot, version, scriptSnapshot.getChangeRange(entry.sourceFile.scriptSnapshot)); + if (externalCache) { + externalCache.setDocument(key, path, entry.sourceFile); + } } if (acquiring) { entry.languageServiceRefCount++; } } + ts.Debug.assert(entry.languageServiceRefCount !== 0); return entry.sourceFile; } function releaseDocument(fileName, compilationSettings) { @@ -74700,6 +75142,13 @@ var ts; bucket.delete(path); } } + function getLanguageServiceRefCounts(path) { + return ts.arrayFrom(buckets.entries(), function (_a) { + var key = _a[0], bucket = _a[1]; + var entry = bucket.get(path); + return [key, entry && entry.languageServiceRefCount]; + }); + } return { acquireDocument: acquireDocument, acquireDocumentWithKey: acquireDocumentWithKey, @@ -74707,11 +75156,12 @@ var ts; updateDocumentWithKey: updateDocumentWithKey, releaseDocument: releaseDocument, releaseDocumentWithKey: releaseDocumentWithKey, + getLanguageServiceRefCounts: getLanguageServiceRefCounts, reportStats: reportStats, getKeyForCompilationSettings: getKeyForCompilationSettings }; } - ts.createDocumentRegistry = createDocumentRegistry; + ts.createDocumentRegistryInternal = createDocumentRegistryInternal; })(ts || (ts = {})); var ts; (function (ts) { @@ -74767,10 +75217,10 @@ var ts; } cancellationToken.throwIfCancellationRequested(); switch (direct.kind) { - case 186: + case 187: if (!isAvailableThroughGlobal) { var parent = direct.parent; - if (exportKind === 2 && parent.kind === 231) { + if (exportKind === 2 && parent.kind === 232) { var name = parent.name; if (name.kind === 71) { directImports.push(name); @@ -74782,12 +75232,12 @@ var ts; break; case 71: break; - case 242: + case 243: handleNamespaceImport(direct, direct.name, ts.hasModifier(direct, 1)); break; - case 243: + case 244: var namedBindings = direct.importClause && direct.importClause.namedBindings; - if (namedBindings && namedBindings.kind === 245) { + if (namedBindings && namedBindings.kind === 246) { handleNamespaceImport(direct, namedBindings.name); } else if (ts.isDefaultImport(direct)) { @@ -74801,7 +75251,7 @@ var ts; directImports.push(direct); } break; - case 249: + case 250: if (!direct.exportClause) { handleDirectImports(getContainingModuleSymbol(direct, checker)); } @@ -74809,7 +75259,7 @@ var ts; directImports.push(direct); } break; - case 178: + case 179: directImports.push(direct); break; default: @@ -74824,7 +75274,7 @@ var ts; } else if (!isAvailableThroughGlobal) { var sourceFileLike = getSourceFileLikeForImportDeclaration(importDeclaration); - ts.Debug.assert(sourceFileLike.kind === 273 || sourceFileLike.kind === 238); + ts.Debug.assert(sourceFileLike.kind === 274 || sourceFileLike.kind === 239); if (isReExport || findNamespaceReExports(sourceFileLike, name, checker)) { addIndirectUsers(sourceFileLike); } @@ -74873,7 +75323,7 @@ var ts; } return { importSearches: importSearches, singleReferences: singleReferences }; function handleImport(decl) { - if (decl.kind === 242) { + if (decl.kind === 243) { if (isExternalModuleImportEquals(decl)) { handleNamespaceImportLike(decl.name); } @@ -74883,7 +75333,7 @@ var ts; handleNamespaceImportLike(decl); return; } - if (decl.kind === 178) { + if (decl.kind === 179) { if (decl.qualifier) { if (ts.isIdentifier(decl.qualifier) && decl.qualifier.escapedText === ts.symbolName(exportSymbol)) { singleReferences.push(decl.qualifier); @@ -74897,7 +75347,7 @@ var ts; if (decl.moduleSpecifier.kind !== 9) { return; } - if (decl.kind === 249) { + if (decl.kind === 250) { searchForNamedImport(decl.exportClause); return; } @@ -74906,7 +75356,7 @@ var ts; return; } var namedBindings = importClause.namedBindings; - if (namedBindings && namedBindings.kind === 245) { + if (namedBindings && namedBindings.kind === 246) { handleNamespaceImportLike(namedBindings.name); return; } @@ -74946,7 +75396,7 @@ var ts; } } else { - var localSymbol = element.kind === 251 && element.propertyName + var localSymbol = element.kind === 252 && element.propertyName ? checker.getExportSpecifierLocalTargetSymbol(element) : checker.getSymbolAtLocation(name); addSearch(name, localSymbol); @@ -74959,7 +75409,7 @@ var ts; } function findNamespaceReExports(sourceFileLike, name, checker) { var namespaceImportSymbol = checker.getSymbolAtLocation(name); - return forEachPossibleImportOrExportStatement(sourceFileLike, function (statement) { + return !!forEachPossibleImportOrExportStatement(sourceFileLike, function (statement) { if (!ts.isExportDeclaration(statement)) return; var exportClause = statement.exportClause, moduleSpecifier = statement.moduleSpecifier; @@ -74973,7 +75423,7 @@ var ts; for (var _i = 0, sourceFiles_5 = sourceFiles; _i < sourceFiles_5.length; _i++) { var referencingFile = sourceFiles_5[_i]; var searchSourceFile = searchModuleSymbol.valueDeclaration; - if (searchSourceFile.kind === 273) { + if (searchSourceFile.kind === 274) { for (var _a = 0, _b = referencingFile.referencedFiles; _a < _b.length; _a++) { var ref = _b[_a]; if (program.getSourceFileFromReference(referencingFile, ref) === searchSourceFile) { @@ -75018,7 +75468,7 @@ var ts; return map; } function forEachPossibleImportOrExportStatement(sourceFileLike, action) { - return ts.forEach(sourceFileLike.kind === 273 ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { + return ts.forEach(sourceFileLike.kind === 274 ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { return action(statement) || (isAmbientModuleDeclaration(statement) && ts.forEach(statement.body && statement.body.statements, action)); }); } @@ -75032,15 +75482,15 @@ var ts; else { forEachPossibleImportOrExportStatement(sourceFile, function (statement) { switch (statement.kind) { - case 249: - case 243: { + case 250: + case 244: { var decl = statement; if (decl.moduleSpecifier && ts.isStringLiteral(decl.moduleSpecifier)) { action(decl, decl.moduleSpecifier); } break; } - case 242: { + case 243: { var decl = statement; if (isExternalModuleImportEquals(decl)) { action(decl, decl.moduleReference.expression); @@ -75055,10 +75505,11 @@ var ts; return comingFromExport ? getExport() : getExport() || getImport(); function getExport() { var parent = node.parent; + var grandParent = parent.parent; if (symbol.exportSymbol) { - if (parent.kind === 184) { - return symbol.declarations.some(function (d) { return d === parent; }) && ts.isBinaryExpression(parent.parent) - ? getSpecialPropertyExport(parent.parent, false) + if (parent.kind === 185) { + return symbol.declarations.some(function (d) { return d === parent; }) && ts.isBinaryExpression(grandParent) + ? getSpecialPropertyExport(grandParent, false) : undefined; } else { @@ -75082,14 +75533,14 @@ var ts; else if (ts.isExportAssignment(parent)) { return getExportAssignmentExport(parent); } - else if (ts.isExportAssignment(parent.parent)) { - return getExportAssignmentExport(parent.parent); + else if (ts.isExportAssignment(grandParent)) { + return getExportAssignmentExport(grandParent); } else if (ts.isBinaryExpression(parent)) { return getSpecialPropertyExport(parent, true); } - else if (ts.isBinaryExpression(parent.parent)) { - return getSpecialPropertyExport(parent.parent, true); + else if (ts.isBinaryExpression(grandParent)) { + return getSpecialPropertyExport(grandParent, true); } else if (ts.isJSDocTypedefTag(parent)) { return exportInfo(symbol, 0); @@ -75155,13 +75606,16 @@ var ts; else if (ts.isBinaryExpression(decl)) { return ts.Debug.assertDefined(decl.right.symbol); } + else if (ts.isSourceFile(decl)) { + return ts.Debug.assertDefined(decl.symbol); + } return ts.Debug.fail(); } function getExportNode(parent, node) { - if (parent.kind === 231) { + if (parent.kind === 232) { var p = parent; return p.name !== node ? undefined : - p.parent.kind === 268 ? undefined : p.parent.parent.kind === 213 ? p.parent.parent : undefined; + p.parent.kind === 269 ? undefined : p.parent.parent.kind === 214 ? p.parent.parent : undefined; } else { return parent; @@ -75170,14 +75624,14 @@ var ts; function isNodeImport(node) { var parent = node.parent; switch (parent.kind) { - case 242: + case 243: return parent.name === node && isExternalModuleImportEquals(parent) ? { isNamedImport: false } : undefined; - case 247: + case 248: return parent.propertyName ? undefined : { isNamedImport: true }; - case 244: case 245: + case 246: ts.Debug.assert(parent.name === node); return { isNamedImport: false }; default: @@ -75207,21 +75661,21 @@ var ts; return checker.getMergedSymbol(getSourceFileLikeForImportDeclaration(importer).symbol); } function getSourceFileLikeForImportDeclaration(node) { - if (node.kind === 186) { + if (node.kind === 187) { return node.getSourceFile(); } var parent = node.parent; - if (parent.kind === 273) { + if (parent.kind === 274) { return parent; } - ts.Debug.assert(parent.kind === 239); + ts.Debug.assert(parent.kind === 240); return ts.cast(parent.parent, isAmbientModuleDeclaration); } function isAmbientModuleDeclaration(node) { - return node.kind === 238 && node.name.kind === 9; + return node.kind === 239 && node.name.kind === 9; } function isExternalModuleImportEquals(eq) { - return eq.moduleReference.kind === 253 && eq.moduleReference.expression.kind === 9; + return eq.moduleReference.kind === 254 && eq.moduleReference.expression.kind === 9; } })(FindAllReferences = ts.FindAllReferences || (ts.FindAllReferences = {})); })(ts || (ts = {})); @@ -75230,7 +75684,7 @@ var ts; var FindAllReferences; (function (FindAllReferences) { function nodeEntry(node, isInString) { - return { type: "node", node: node, isInString: isInString }; + return { type: "node", node: node.name || node, isInString: isInString }; } FindAllReferences.nodeEntry = nodeEntry; function findReferencedSymbols(program, cancellationToken, sourceFiles, sourceFile, position) { @@ -75254,11 +75708,11 @@ var ts; } FindAllReferences.getImplementationsAtPosition = getImplementationsAtPosition; function getImplementationReferenceEntries(program, cancellationToken, sourceFiles, node, position) { - if (node.kind === 273) { + if (node.kind === 274) { return undefined; } var checker = program.getTypeChecker(); - if (node.parent.kind === 270) { + if (node.parent.kind === 271) { var result_5 = []; FindAllReferences.Core.getReferenceEntriesForShorthandPropertyAssignment(node, checker, function (node) { return result_5.push(nodeEntry(node)); }); return result_5; @@ -75359,13 +75813,13 @@ var ts; if (symbol) { return getDefinitionKindAndDisplayParts(symbol, checker, node); } - else if (node.kind === 183) { + else if (node.kind === 184) { return { kind: "interface", displayParts: [ts.punctuationPart(19), ts.textPart("object literal"), ts.punctuationPart(20)] }; } - else if (node.kind === 204) { + else if (node.kind === 205) { return { kind: "local class", displayParts: [ts.punctuationPart(19), ts.textPart("anonymous local class"), ts.punctuationPart(20)] @@ -75430,19 +75884,20 @@ var ts; } var moduleReferences = ts.emptyArray; var moduleSourceFile = isModuleSymbol(symbol); + var referencedNode = node; if (moduleSourceFile) { var exportEquals = symbol.exports.get("export="); moduleReferences = getReferencedSymbolsForModule(program, symbol, !!exportEquals, sourceFiles, sourceFilesSet); if (!exportEquals || !sourceFilesSet.has(moduleSourceFile.fileName)) return moduleReferences; symbol = ts.skipAlias(exportEquals, checker); - node = undefined; + referencedNode = undefined; } - return ts.concatenate(moduleReferences, getReferencedSymbolsForSymbol(symbol, node, sourceFiles, sourceFilesSet, checker, cancellationToken, options)); + return ts.concatenate(moduleReferences, getReferencedSymbolsForSymbol(symbol, referencedNode, sourceFiles, sourceFilesSet, checker, cancellationToken, options)); } Core.getReferencedSymbolsForNode = getReferencedSymbolsForNode; function isModuleSymbol(symbol) { - return symbol.flags & 1536 && ts.find(symbol.declarations, ts.isSourceFile); + return symbol.flags & 1536 ? ts.find(symbol.declarations, ts.isSourceFile) : undefined; } function getReferencedSymbolsForModule(program, symbol, excludeImportTypeOfExportEquals, sourceFiles, sourceFilesSet) { ts.Debug.assert(!!symbol.valueDeclaration); @@ -75468,9 +75923,9 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; switch (decl.kind) { - case 273: + case 274: break; - case 238: + case 239: if (sourceFilesSet.has(decl.getSourceFile().fileName)) { references.push({ type: "node", node: decl.name }); } @@ -75510,7 +75965,7 @@ var ts; searchForImportsOfExport(node, symbol, { exportingModuleSymbol: ts.Debug.assertDefined(symbol.parent, "Expected export symbol to have a parent"), exportKind: 1 }, state); } else { - var search = state.createSearch(node, symbol, undefined, { allSearchSymbols: node ? populateSearchSymbolSet(symbol, node, checker, options.implementations) : [symbol] }); + var search = state.createSearch(node, symbol, undefined, { allSearchSymbols: node ? populateSearchSymbolSet(symbol, node, checker, !!options.implementations) : [symbol] }); var scope = getSymbolScope(symbol); if (scope) { getReferencesInContainer(scope, scope.getSourceFile(), search, state, !(ts.isSourceFile(scope) && !ts.contains(sourceFiles, scope))); @@ -75583,13 +76038,13 @@ var ts; State.prototype.getImportSearches = function (exportSymbol, exportInfo) { if (!this.importTracker) this.importTracker = FindAllReferences.createImportTracker(this.sourceFiles, this.sourceFilesSet, this.checker, this.cancellationToken); - return this.importTracker(exportSymbol, exportInfo, this.options.isForRename); + return this.importTracker(exportSymbol, exportInfo, !!this.options.isForRename); }; State.prototype.createSearch = function (location, symbol, comingFrom, searchOptions) { if (searchOptions === void 0) { searchOptions = {}; } var _a = searchOptions.text, text = _a === void 0 ? ts.stripQuotes(ts.unescapeLeadingUnderscores((ts.getLocalSymbolForExportDefault(symbol) || symbol).escapedName)) : _a, _b = searchOptions.allSearchSymbols, allSearchSymbols = _b === void 0 ? [symbol] : _b; var escapedText = ts.escapeLeadingUnderscores(text); - var parents = this.options.implementations && location && getParentSymbolsOfPropertyAccess(location, symbol, this.checker); + var parents = this.options.implementations && location ? getParentSymbolsOfPropertyAccess(location, symbol, this.checker) : undefined; return { symbol: symbol, comingFrom: comingFrom, text: text, escapedText: escapedText, parents: parents, allSearchSymbols: allSearchSymbols, includes: function (sym) { return ts.contains(allSearchSymbols, sym); } }; }; State.prototype.referenceAdder = function (searchSymbol) { @@ -75675,13 +76130,14 @@ var ts; } } function getPropertySymbolOfDestructuringAssignment(location, checker) { - return ts.isArrayLiteralOrObjectLiteralDestructuringPattern(location.parent.parent) && - checker.getPropertySymbolOfDestructuringAssignment(location); + return ts.isArrayLiteralOrObjectLiteralDestructuringPattern(location.parent.parent) + ? checker.getPropertySymbolOfDestructuringAssignment(location) + : undefined; } function getObjectBindingElementWithoutPropertyName(symbol) { - var bindingElement = ts.getDeclarationOfKind(symbol, 181); + var bindingElement = ts.getDeclarationOfKind(symbol, 182); if (bindingElement && - bindingElement.parent.kind === 179 && + bindingElement.parent.kind === 180 && ts.isIdentifier(bindingElement.name) && !bindingElement.propertyName) { return bindingElement; @@ -75693,7 +76149,7 @@ var ts; } function getSymbolScope(symbol) { var declarations = symbol.declarations, flags = symbol.flags, parent = symbol.parent, valueDeclaration = symbol.valueDeclaration; - if (valueDeclaration && (valueDeclaration.kind === 191 || valueDeclaration.kind === 204)) { + if (valueDeclaration && (valueDeclaration.kind === 192 || valueDeclaration.kind === 205)) { return valueDeclaration; } if (!declarations) { @@ -75702,7 +76158,7 @@ var ts; if (flags & (4 | 8192)) { var privateDeclaration = ts.find(declarations, function (d) { return ts.hasModifier(d, 8); }); if (privateDeclaration) { - return ts.getAncestor(privateDeclaration, 234); + return ts.getAncestor(privateDeclaration, 235); } return undefined; } @@ -75714,13 +76170,13 @@ var ts; return undefined; } var scope; - for (var _i = 0, declarations_9 = declarations; _i < declarations_9.length; _i++) { - var declaration = declarations_9[_i]; + for (var _i = 0, declarations_10 = declarations; _i < declarations_10.length; _i++) { + var declaration = declarations_10[_i]; var container = ts.getContainerNode(declaration); if (scope && scope !== container) { return undefined; } - if (!container || container.kind === 273 && !ts.isExternalOrCommonJsModule(container)) { + if (!container || container.kind === 274 && !ts.isExternalOrCommonJsModule(container)) { return undefined; } scope = container; @@ -75728,19 +76184,28 @@ var ts; return exposedByParent ? scope.getSourceFile() : scope; } function isSymbolReferencedInFile(definition, checker, sourceFile) { - var symbol = checker.getSymbolAtLocation(definition); - if (!symbol) - return true; - return getPossibleSymbolReferenceNodes(sourceFile, symbol.name).some(function (token) { - if (!ts.isIdentifier(token) || token === definition || token.escapedText !== definition.escapedText) - return false; - var referenceSymbol = checker.getSymbolAtLocation(token); - return referenceSymbol === symbol - || checker.getShorthandAssignmentValueSymbol(token.parent) === symbol - || ts.isExportSpecifier(token.parent) && getLocalSymbolForExportSpecifier(token, referenceSymbol, token.parent, checker) === symbol; - }); + return eachSymbolReferenceInFile(definition, checker, sourceFile, function () { return true; }) || false; } Core.isSymbolReferencedInFile = isSymbolReferencedInFile; + function eachSymbolReferenceInFile(definition, checker, sourceFile, cb) { + var symbol = checker.getSymbolAtLocation(definition); + if (!symbol) + return undefined; + for (var _i = 0, _a = getPossibleSymbolReferenceNodes(sourceFile, symbol.name); _i < _a.length; _i++) { + var token = _a[_i]; + if (!ts.isIdentifier(token) || token === definition || token.escapedText !== definition.escapedText) + continue; + var referenceSymbol = checker.getSymbolAtLocation(token); + if (referenceSymbol === symbol + || checker.getShorthandAssignmentValueSymbol(token.parent) === symbol + || ts.isExportSpecifier(token.parent) && getLocalSymbolForExportSpecifier(token, referenceSymbol, token.parent, checker) === symbol) { + var res = cb(token); + if (res) + return res; + } + } + } + Core.eachSymbolReferenceInFile = eachSymbolReferenceInFile; function getPossibleSymbolReferenceNodes(sourceFile, symbolName, container) { if (container === void 0) { container = sourceFile; } return getPossibleSymbolReferencePositions(sourceFile, symbolName, container).map(function (pos) { return ts.getTouchingPropertyName(sourceFile, pos, true); }); @@ -75890,7 +76355,8 @@ var ts; if (!(referenceLocation === propertyName && state.options.isForRename)) { var exportKind = referenceLocation.originalKeywordKind === 79 ? 1 : 0; var exportInfo = FindAllReferences.getExportInfo(referenceSymbol, exportKind, state.checker); - ts.Debug.assert(!!exportInfo); + if (!exportInfo) + return ts.Debug.fail(); searchForImportsOfExport(referenceLocation, referenceSymbol, exportInfo, state); } if (search.comingFrom !== 1 && exportDeclaration.moduleSpecifier && !propertyName) { @@ -75988,12 +76454,12 @@ var ts; for (var _i = 0, _a = classSymbol.members.get("__constructor").declarations; _i < _a.length; _i++) { var decl = _a[_i]; var ctrKeyword = ts.findChildOfKind(decl, 123, sourceFile); - ts.Debug.assert(decl.kind === 154 && !!ctrKeyword); + ts.Debug.assert(decl.kind === 155 && !!ctrKeyword); addNode(ctrKeyword); } classSymbol.exports.forEach(function (member) { var decl = member.valueDeclaration; - if (decl && decl.kind === 153) { + if (decl && decl.kind === 154) { var body = decl.body; if (body) { forEachDescendantOfKind(body, 99, function (thisKeyword) { @@ -76006,14 +76472,13 @@ var ts; }); } function findSuperConstructorAccesses(cls, addNode) { - var symbol = cls.symbol; - var ctr = symbol.members.get("__constructor"); + var ctr = cls.symbol.members.get("__constructor"); if (!ctr) { return; } for (var _i = 0, _a = ctr.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - ts.Debug.assert(decl.kind === 154); + ts.Debug.assert(decl.kind === 155); var body = decl.body; if (body) { forEachDescendantOfKind(body, 97, function (node) { @@ -76026,13 +76491,13 @@ var ts; } function addImplementationReferences(refNode, addReference, state) { if (ts.isDeclarationName(refNode) && isImplementation(refNode.parent)) { - addReference(refNode.parent); + addReference(refNode); return; } if (refNode.kind !== 71) { return; } - if (refNode.parent.kind === 270) { + if (refNode.parent.kind === 271) { getReferenceEntriesForShorthandPropertyAssignment(refNode, state.checker, addReference); } var containingClass = getContainingClassIfInHeritageClause(refNode); @@ -76048,7 +76513,7 @@ var ts; } else if (ts.isFunctionLike(typeHavingNode) && typeHavingNode.body) { var body = typeHavingNode.body; - if (body.kind === 212) { + if (body.kind === 213) { ts.forEachReturnStatement(body, function (returnStatement) { if (returnStatement.expression) addIfImplementation(returnStatement.expression); @@ -76073,13 +76538,13 @@ var ts; } function isImplementationExpression(node) { switch (node.kind) { - case 190: - return isImplementationExpression(node.expression); - case 192: case 191: + return isImplementationExpression(node.expression); + case 193: + case 192: + case 184: + case 205: case 183: - case 204: - case 182: return true; default: return false; @@ -76111,13 +76576,13 @@ var ts; } var staticFlag = 32; switch (searchSpaceNode.kind) { - case 151: - case 150: - case 153: case 152: + case 151: case 154: + case 153: case 155: case 156: + case 157: staticFlag &= ts.getModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; break; @@ -76138,30 +76603,30 @@ var ts; var searchSpaceNode = ts.getThisContainer(thisOrSuperKeyword, false); var staticFlag = 32; switch (searchSpaceNode.kind) { + case 154: case 153: - case 152: if (ts.isObjectLiteralMethod(searchSpaceNode)) { break; } + case 152: case 151: - case 150: - case 154: case 155: case 156: + case 157: staticFlag &= ts.getModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; break; - case 273: + case 274: if (ts.isExternalModule(searchSpaceNode)) { return undefined; } - case 233: - case 191: + case 234: + case 192: break; default: return undefined; } - var references = ts.flatMap(searchSpaceNode.kind === 273 ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { + var references = ts.flatMap(searchSpaceNode.kind === 274 ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { cancellationToken.throwIfCancellationRequested(); return getPossibleSymbolReferenceNodes(sourceFile, "this", ts.isSourceFile(searchSpaceNode) ? sourceFile : searchSpaceNode).filter(function (node) { if (!ts.isThis(node)) { @@ -76169,17 +76634,17 @@ var ts; } var container = ts.getThisContainer(node, false); switch (searchSpaceNode.kind) { - case 191: - case 233: - return searchSpaceNode.symbol === container.symbol; - case 153: - case 152: - return ts.isObjectLiteralMethod(searchSpaceNode) && searchSpaceNode.symbol === container.symbol; - case 204: + case 192: case 234: + return searchSpaceNode.symbol === container.symbol; + case 154: + case 153: + return ts.isObjectLiteralMethod(searchSpaceNode) && searchSpaceNode.symbol === container.symbol; + case 205: + case 235: return container.parent && searchSpaceNode.symbol === container.parent.symbol && (ts.getModifierFlags(container) & 32) === staticFlag; - case 273: - return container.kind === 273 && !ts.isExternalModule(container); + case 274: + return container.kind === 274 && !ts.isExternalModule(container); } }); }).map(function (n) { return FindAllReferences.nodeEntry(n); }); @@ -76234,24 +76699,11 @@ var ts; return ts.firstDefined(checker.getRootSymbols(sym), function (rootSymbol) { return cbSymbol(sym, rootSymbol) || (rootSymbol.parent && rootSymbol.parent.flags & (32 | 64) && allowBaseTypes(rootSymbol) - ? getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.name, checker, function (base) { return cbSymbol(sym, rootSymbol, base); }) + ? ts.getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.name, checker, function (base) { return cbSymbol(sym, rootSymbol, base); }) : undefined); }); } } - function getPropertySymbolsFromBaseTypes(symbol, propertyName, checker, cb) { - var seen = ts.createMap(); - return recur(symbol); - function recur(symbol) { - if (!(symbol.flags & (32 | 64)) || !ts.addToSeen(seen, ts.getSymbolId(symbol))) - return; - return ts.firstDefined(symbol.declarations, function (declaration) { return ts.firstDefined(ts.getAllSuperTypeNodes(declaration), function (typeReference) { - var type = checker.getTypeAtLocation(typeReference); - var propertySymbol = type && type.symbol && checker.getPropertyOfType(type, propertyName); - return propertySymbol && (ts.firstDefined(checker.getRootSymbols(propertySymbol), cb) || recur(type.symbol)); - }); }); - } - } function getRelatedSymbol(search, referenceSymbol, referenceLocation, state) { var checker = state.checker; return forEachRelatedSymbol(referenceSymbol, referenceLocation, checker, function (sym, rootSymbol, baseSymbol) { return search.includes(baseSymbol || rootSymbol || sym) @@ -76274,8 +76726,8 @@ var ts; var lastIterationMeaning = void 0; do { lastIterationMeaning = meaning; - for (var _i = 0, declarations_10 = declarations; _i < declarations_10.length; _i++) { - var declaration = declarations_10[_i]; + for (var _i = 0, declarations_11 = declarations; _i < declarations_11.length; _i++) { + var declaration = declarations_11[_i]; var declarationMeaning = ts.getMeaningFromDeclaration(declaration); if (declarationMeaning & meaning) { meaning |= declarationMeaning; @@ -76328,6 +76780,179 @@ var ts; })(FindAllReferences = ts.FindAllReferences || (ts.FindAllReferences = {})); })(ts || (ts = {})); var ts; +(function (ts) { + function getEditsForFileRename(program, oldFileOrDirPath, newFileOrDirPath, host, formatContext, preferences) { + var useCaseSensitiveFileNames = ts.hostUsesCaseSensitiveFileNames(host); + var getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames); + var oldToNew = getPathUpdater(oldFileOrDirPath, newFileOrDirPath, getCanonicalFileName); + var newToOld = getPathUpdater(newFileOrDirPath, oldFileOrDirPath, getCanonicalFileName); + return ts.textChanges.ChangeTracker.with({ host: host, formatContext: formatContext }, function (changeTracker) { + updateTsconfigFiles(program, changeTracker, oldToNew, newFileOrDirPath, host.getCurrentDirectory(), useCaseSensitiveFileNames); + updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName, preferences); + }); + } + ts.getEditsForFileRename = getEditsForFileRename; + function getPathUpdater(oldFileOrDirPath, newFileOrDirPath, getCanonicalFileName) { + var canonicalOldPath = getCanonicalFileName(oldFileOrDirPath); + return function (path) { + var canonicalPath = getCanonicalFileName(path); + if (canonicalPath === canonicalOldPath) + return newFileOrDirPath; + var suffix = ts.tryRemoveDirectoryPrefix(canonicalPath, canonicalOldPath); + return suffix === undefined ? undefined : newFileOrDirPath + "/" + suffix; + }; + } + function updateTsconfigFiles(program, changeTracker, oldToNew, newFileOrDirPath, currentDirectory, useCaseSensitiveFileNames) { + var configFile = program.getCompilerOptions().configFile; + if (!configFile) + return; + var configDir = ts.getDirectoryPath(configFile.fileName); + var jsonObjectLiteral = ts.getTsConfigObjectLiteralExpression(configFile); + if (!jsonObjectLiteral) + return; + forEachProperty(jsonObjectLiteral, function (property, propertyName) { + switch (propertyName) { + case "files": + case "include": + case "exclude": { + var foundExactMatch = updatePaths(property); + if (!foundExactMatch && propertyName === "include" && ts.isArrayLiteralExpression(property.initializer)) { + var includes = ts.mapDefined(property.initializer.elements, function (e) { return ts.isStringLiteral(e) ? e.text : undefined; }); + var matchers = ts.getFileMatcherPatterns(configDir, [], includes, useCaseSensitiveFileNames, currentDirectory); + if (!ts.getRegexFromPattern(ts.Debug.assertDefined(matchers.includeFilePattern), useCaseSensitiveFileNames).test(newFileOrDirPath)) { + changeTracker.insertNodeAfter(configFile, ts.last(property.initializer.elements), ts.createStringLiteral(relativePath(newFileOrDirPath))); + } + } + break; + } + case "compilerOptions": + forEachProperty(property.initializer, function (property, propertyName) { + var option = ts.getOptionFromName(propertyName); + if (option && (option.isFilePath || option.type === "list" && option.element.isFilePath)) { + updatePaths(property); + } + else if (propertyName === "paths") { + forEachProperty(property.initializer, function (pathsProperty) { + if (!ts.isArrayLiteralExpression(pathsProperty.initializer)) + return; + for (var _i = 0, _a = pathsProperty.initializer.elements; _i < _a.length; _i++) { + var e = _a[_i]; + tryUpdateString(e); + } + }); + } + }); + break; + } + }); + function updatePaths(property) { + var elements = ts.isArrayLiteralExpression(property.initializer) ? property.initializer.elements : [property.initializer]; + var foundExactMatch = false; + for (var _i = 0, elements_5 = elements; _i < elements_5.length; _i++) { + var element = elements_5[_i]; + foundExactMatch = tryUpdateString(element) || foundExactMatch; + } + return foundExactMatch; + } + function tryUpdateString(element) { + if (!ts.isStringLiteral(element)) + return false; + var elementFileName = combinePathsSafe(configDir, element.text); + var updated = oldToNew(elementFileName); + if (updated !== undefined) { + changeTracker.replaceRangeWithText(configFile, createStringRange(element, configFile), relativePath(updated)); + return true; + } + return false; + } + function relativePath(path) { + return ts.getRelativePathFromDirectory(configDir, path, !useCaseSensitiveFileNames); + } + } + function updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName, preferences) { + var _loop_14 = function (sourceFile) { + var newImportFromPath = oldToNew(sourceFile.fileName) || sourceFile.fileName; + var newImportFromDirectory = ts.getDirectoryPath(newImportFromPath); + var oldFromNew = newToOld(sourceFile.fileName); + var oldImportFromPath = oldFromNew || sourceFile.fileName; + var oldImportFromDirectory = ts.getDirectoryPath(oldImportFromPath); + updateImportsWorker(sourceFile, changeTracker, function (referenceText) { + if (!ts.pathIsRelative(referenceText)) + return undefined; + var oldAbsolute = combinePathsSafe(oldImportFromDirectory, referenceText); + var newAbsolute = oldToNew(oldAbsolute); + return newAbsolute === undefined ? undefined : ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(newImportFromDirectory, newAbsolute, getCanonicalFileName)); + }, function (importLiteral) { + var toImport = oldFromNew !== undefined + ? getSourceFileToImportFromResolved(ts.resolveModuleName(importLiteral.text, oldImportFromPath, program.getCompilerOptions(), host), oldToNew, program) + : getSourceFileToImport(importLiteral, sourceFile, program, host, oldToNew); + return toImport === undefined ? undefined : ts.moduleSpecifiers.getModuleSpecifier(program, sourceFile, newImportFromPath, toImport, host, preferences); + }); + }; + for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { + var sourceFile = _a[_i]; + _loop_14(sourceFile); + } + } + function combineNormal(pathA, pathB) { + return ts.normalizePath(ts.combinePaths(pathA, pathB)); + } + function combinePathsSafe(pathA, pathB) { + return ts.ensurePathIsNonModuleName(combineNormal(pathA, pathB)); + } + function getSourceFileToImport(importLiteral, importingSourceFile, program, host, oldToNew) { + var symbol = program.getTypeChecker().getSymbolAtLocation(importLiteral); + if (symbol) { + if (symbol.declarations.some(function (d) { return ts.isAmbientModule(d); })) + return undefined; + var oldFileName = ts.find(symbol.declarations, ts.isSourceFile).fileName; + return oldToNew(oldFileName) || oldFileName; + } + else { + var resolved = host.resolveModuleNames + ? host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName) + : program.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName); + return getSourceFileToImportFromResolved(resolved, oldToNew, program); + } + } + function getSourceFileToImportFromResolved(resolved, oldToNew, program) { + return resolved && ((resolved.resolvedModule && getIfInProgram(resolved.resolvedModule.resolvedFileName)) || ts.firstDefined(resolved.failedLookupLocations, getIfInProgram)); + function getIfInProgram(oldLocation) { + var newLocation = oldToNew(oldLocation); + return program.getSourceFile(oldLocation) || newLocation !== undefined && program.getSourceFile(newLocation) + ? newLocation || oldLocation + : undefined; + } + } + function updateImportsWorker(sourceFile, changeTracker, updateRef, updateImport) { + for (var _i = 0, _a = sourceFile.referencedFiles; _i < _a.length; _i++) { + var ref = _a[_i]; + var updated = updateRef(ref.fileName); + if (updated !== undefined && updated !== sourceFile.text.slice(ref.pos, ref.end)) + changeTracker.replaceRangeWithText(sourceFile, ref, updated); + } + for (var _b = 0, _c = sourceFile.imports; _b < _c.length; _b++) { + var importStringLiteral = _c[_b]; + var updated = updateImport(importStringLiteral); + if (updated !== undefined && updated !== importStringLiteral.text) + changeTracker.replaceRangeWithText(sourceFile, createStringRange(importStringLiteral, sourceFile), updated); + } + } + function createStringRange(node, sourceFile) { + return ts.createTextRange(node.getStart(sourceFile) + 1, node.end - 1); + } + function forEachProperty(objectLiteral, cb) { + if (!ts.isObjectLiteralExpression(objectLiteral)) + return; + for (var _i = 0, _a = objectLiteral.properties; _i < _a.length; _i++) { + var property = _a[_i]; + if (ts.isPropertyAssignment(property) && ts.isStringLiteral(property.name)) { + cb(property, property.name.text); + } + } + } +})(ts || (ts = {})); +var ts; (function (ts) { var GoToDefinition; (function (GoToDefinition) { @@ -76340,6 +76965,7 @@ var ts; if (node === sourceFile) { return undefined; } + var parent = node.parent; if (ts.isJumpStatementTarget(node)) { var label = ts.getTargetLabel(node.parent, node.text); return label ? [createDefinitionInfoFromName(label, "label", node.text, undefined)] : undefined; @@ -76353,17 +76979,17 @@ var ts; if (calledDeclaration) { var sigInfo = createDefinitionFromSignatureDeclaration(typeChecker, calledDeclaration); return typeChecker.getRootSymbols(symbol).some(function (s) { return calledDeclaration.symbol === s || calledDeclaration.symbol.parent === s; }) || - symbol.declarations.some(function (d) { return ts.isVariableDeclaration(d) && d.initializer && ts.isRequireCall(d.initializer, false); }) + symbol.declarations.some(function (d) { return ts.isVariableDeclaration(d) && !!d.initializer && ts.isRequireCall(d.initializer, false); }) ? [sigInfo] : [sigInfo].concat(getDefinitionFromSymbol(typeChecker, symbol, node)); } - if (node.parent.kind === 270) { + if (node.parent.kind === 271) { var shorthandSymbol_1 = typeChecker.getShorthandAssignmentValueSymbol(symbol.valueDeclaration); return shorthandSymbol_1 ? shorthandSymbol_1.declarations.map(function (decl) { return createDefinitionInfo(decl, typeChecker, shorthandSymbol_1, node); }) : []; } - if (ts.isPropertyName(node) && ts.isBindingElement(node.parent) && ts.isObjectBindingPattern(node.parent.parent) && - (node === (node.parent.propertyName || node.parent.name))) { - var type = typeChecker.getTypeAtLocation(node.parent.parent); + if (ts.isPropertyName(node) && ts.isBindingElement(parent) && ts.isObjectBindingPattern(parent.parent) && + (node === (parent.propertyName || parent.name))) { + var type = typeChecker.getTypeAtLocation(parent.parent); if (type) { var propSymbols = ts.getPropertySymbolsFromType(type, node); if (propSymbols) { @@ -76405,7 +77031,7 @@ var ts; if (!type) { return undefined; } - if (type.isUnion() && !(type.flags & 16)) { + if (type.isUnion() && !(type.flags & 32)) { return ts.flatMap(type.types, function (t) { return t.symbol && getDefinitionFromSymbol(typeChecker, t.symbol, node); }); } return type.symbol && getDefinitionFromSymbol(typeChecker, type.symbol, node); @@ -76452,11 +77078,11 @@ var ts; return true; } switch (declaration.kind) { - case 244: - case 242: + case 245: + case 243: return true; - case 247: - return declaration.parent.kind === 246; + case 248: + return declaration.parent.kind === 247; default: return false; } @@ -76516,13 +77142,13 @@ var ts; kind: "script", name: name, containerName: undefined, - containerKind: undefined + containerKind: undefined, }; } function getAncestorCallLikeExpression(node) { var target = climbPastManyPropertyAccesses(node); var callLike = target.parent; - return callLike && ts.isCallLikeExpression(callLike) && ts.getInvokedExpression(callLike) === target && callLike; + return callLike && ts.isCallLikeExpression(callLike) && ts.getInvokedExpression(callLike) === target ? callLike : undefined; } function climbPastManyPropertyAccesses(node) { return ts.isRightSideOfPropertyAccess(node) ? climbPastManyPropertyAccesses(node.parent) : node; @@ -76602,11 +77228,11 @@ var ts; JsDoc.getJsDocCommentsFromDeclarations = getJsDocCommentsFromDeclarations; function getCommentHavingNodes(declaration) { switch (declaration.kind) { + case 293: + case 298: + return [declaration]; case 292: case 297: - return [declaration]; - case 291: - case 296: return [declaration, declaration.parent]; default: return ts.getJSDocCommentsAndTags(declaration); @@ -76626,16 +77252,16 @@ var ts; function getCommentText(tag) { var comment = tag.comment; switch (tag.kind) { - case 289: + case 290: return withNode(tag.class); - case 295: - return withList(tag.typeParameters); - case 294: - return withNode(tag.typeExpression); case 296: - case 291: + return withList(tag.typeParameters); + case 295: + return withNode(tag.typeExpression); case 297: case 292: + case 298: + case 293: var name = tag.name; return name ? withNode(name) : comment; default: @@ -76737,7 +77363,7 @@ var ts; return undefined; } var tokenAtPos = ts.getTokenAtPosition(sourceFile, position, false); - var tokenStart = tokenAtPos.getStart(); + var tokenStart = tokenAtPos.getStart(sourceFile); if (!tokenAtPos || tokenStart < position) { return undefined; } @@ -76746,7 +77372,7 @@ var ts; return undefined; } var commentOwner = commentOwnerInfo.commentOwner, parameters = commentOwnerInfo.parameters; - if (commentOwner.getStart() < position) { + if (commentOwner.getStart(sourceFile) < position) { return undefined; } if (!parameters || parameters.length === 0) { @@ -76756,44 +77382,40 @@ var ts; var posLineAndChar = sourceFile.getLineAndCharacterOfPosition(position); var lineStart = sourceFile.getLineStarts()[posLineAndChar.line]; var indentationStr = sourceFile.text.substr(lineStart, posLineAndChar.character).replace(/\S/i, function () { return " "; }); - var isJavaScriptFile = ts.hasJavaScriptFileExtension(sourceFile.fileName); - var docParams = ""; - for (var i = 0; i < parameters.length; i++) { - var currentName = parameters[i].name; - var paramName = currentName.kind === 71 ? currentName.escapedText : "param" + i; - if (isJavaScriptFile) { - docParams += indentationStr + " * @param {any} " + paramName + newLine; - } - else { - docParams += indentationStr + " * @param " + paramName + newLine; - } - } var preamble = "/**" + newLine + indentationStr + " * "; var result = preamble + newLine + - docParams + + parameterDocComments(parameters, ts.hasJavaScriptFileExtension(sourceFile.fileName), indentationStr, newLine) + indentationStr + " */" + (tokenStart === position ? newLine + indentationStr : ""); return { newText: result, caretOffset: preamble.length }; } JsDoc.getDocCommentTemplateAtPosition = getDocCommentTemplateAtPosition; + function parameterDocComments(parameters, isJavaScriptFile, indentationStr, newLine) { + return parameters.map(function (_a, i) { + var name = _a.name, dotDotDotToken = _a.dotDotDotToken; + var paramName = name.kind === 71 ? name.text : "param" + i; + var type = isJavaScriptFile ? (dotDotDotToken ? "{...any} " : "{any} ") : ""; + return indentationStr + " * @param " + type + paramName + newLine; + }).join(""); + } function getCommentOwnerInfo(tokenAtPos) { for (var commentOwner = tokenAtPos; commentOwner; commentOwner = commentOwner.parent) { switch (commentOwner.kind) { - case 233: - case 153: + case 234: case 154: - case 152: + case 155: + case 153: var parameters = commentOwner.parameters; return { commentOwner: commentOwner, parameters: parameters }; - case 234: case 235: - case 150: - case 237: - case 272: case 236: + case 151: + case 238: + case 273: + case 237: return { commentOwner: commentOwner }; - case 213: { + case 214: { var varStatement = commentOwner; var varDeclarations = varStatement.declarationList.declarations; var parameters_1 = varDeclarations.length === 1 && varDeclarations[0].initializer @@ -76801,11 +77423,11 @@ var ts; : undefined; return { commentOwner: commentOwner, parameters: parameters_1 }; } - case 273: + case 274: return undefined; - case 238: - return commentOwner.parent.kind === 238 ? undefined : { commentOwner: commentOwner }; - case 199: { + case 239: + return commentOwner.parent.kind === 239 ? undefined : { commentOwner: commentOwner }; + case 200: { var be = commentOwner; if (ts.getSpecialPropertyAssignmentKind(be) === 0) { return undefined; @@ -76817,16 +77439,16 @@ var ts; } } function getParametersFromRightHandSideOfAssignment(rightHandSide) { - while (rightHandSide.kind === 190) { + while (rightHandSide.kind === 191) { rightHandSide = rightHandSide.expression; } switch (rightHandSide.kind) { - case 191: case 192: + case 193: return rightHandSide.parameters; - case 204: { + case 205: { var ctr = ts.find(rightHandSide.members, ts.isConstructorDeclaration); - return ctr && ctr.parameters; + return ctr ? ctr.parameters : ts.emptyArray; } } return ts.emptyArray; @@ -76983,7 +77605,8 @@ var ts; addInferredTypings(module_1, "Inferred typings from unresolved imports"); } packageNameToTypingLocation.forEach(function (typing, name) { - if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && isTypingUpToDate(typing, typesRegistry.get(name))) { + var registryEntry = typesRegistry.get(name); + if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && registryEntry !== undefined && isTypingUpToDate(typing, registryEntry)) { inferredTypings.set(name, typing.typingLocation); } }); @@ -77134,7 +77757,7 @@ var ts; case 0: return ts.Debug.fail(); default: - ts.Debug.assertNever(result); + throw ts.Debug.assertNever(result); } } JsTyping.renderPackageNameValidationFailure = renderPackageNameValidationFailure; @@ -77149,7 +77772,7 @@ var ts; if (!patternMatcher) return ts.emptyArray; var rawItems = []; - var _loop_14 = function (sourceFile) { + var _loop_15 = function (sourceFile) { cancellationToken.throwIfCancellationRequested(); if (excludeDtsFiles && ts.fileExtensionIs(sourceFile.fileName, ".d.ts")) { return "continue"; @@ -77160,7 +77783,7 @@ var ts; }; for (var _i = 0, sourceFiles_7 = sourceFiles; _i < sourceFiles_7.length; _i++) { var sourceFile = sourceFiles_7[_i]; - _loop_14(sourceFile); + _loop_15(sourceFile); } rawItems.sort(compareNavigateToItems); if (maxResultCount !== undefined) { @@ -77174,8 +77797,8 @@ var ts; if (!match) { return; } - for (var _i = 0, declarations_11 = declarations; _i < declarations_11.length; _i++) { - var declaration = declarations_11[_i]; + for (var _i = 0, declarations_12 = declarations; _i < declarations_12.length; _i++) { + var declaration = declarations_12[_i]; if (!shouldKeepItem(declaration, checker)) continue; if (patternMatcher.patternContainsDots) { @@ -77191,9 +77814,9 @@ var ts; } function shouldKeepItem(declaration, checker) { switch (declaration.kind) { - case 244: - case 247: - case 242: + case 245: + case 248: + case 243: var importer = checker.getSymbolAtLocation(declaration.name); var imported = checker.getAliasedSymbol(importer); return importer.escapedName !== imported.escapedName; @@ -77207,7 +77830,7 @@ var ts; containers.unshift(ts.getTextOfIdentifierOrLiteral(name)); return true; } - else if (name && name.kind === 146) { + else if (name && name.kind === 147) { return tryAddComputedPropertyName(name.expression, containers, true); } else { @@ -77233,15 +77856,15 @@ var ts; function getContainers(declaration) { var containers = []; var name = ts.getNameOfDeclaration(declaration); - if (name.kind === 146 && !tryAddComputedPropertyName(name.expression, containers, false)) { + if (name.kind === 147 && !tryAddComputedPropertyName(name.expression, containers, false)) { return undefined; } - declaration = ts.getContainerNode(declaration); - while (declaration) { - if (!tryAddSingleDeclarationName(declaration, containers)) { + var container = ts.getContainerNode(declaration); + while (container) { + if (!tryAddSingleDeclarationName(container, containers)) { return undefined; } - declaration = ts.getContainerNode(declaration); + container = ts.getContainerNode(container); } return containers; } @@ -77368,7 +77991,7 @@ var ts; return; } switch (node.kind) { - case 154: + case 155: var ctr = node; addNodeWithRecursiveChild(ctr, ctr.body); for (var _i = 0, _a = ctr.parameters; _i < _a.length; _i++) { @@ -77378,28 +78001,28 @@ var ts; } } break; - case 153: - case 155: + case 154: case 156: - case 152: + case 157: + case 153: if (!ts.hasDynamicName(node)) { addNodeWithRecursiveChild(node, node.body); } break; + case 152: case 151: - case 150: if (!ts.hasDynamicName(node)) { addLeafNode(node); } break; - case 244: + case 245: var importClause = node; if (importClause.name) { addLeafNode(importClause); } var namedBindings = importClause.namedBindings; if (namedBindings) { - if (namedBindings.kind === 245) { + if (namedBindings.kind === 246) { addLeafNode(namedBindings); } else { @@ -77410,8 +78033,8 @@ var ts; } } break; - case 181: - case 231: + case 182: + case 232: var _d = node, name = _d.name, initializer = _d.initializer; if (ts.isBindingPattern(name)) { addChildrenRecursively(name); @@ -77430,12 +78053,12 @@ var ts; addNodeWithRecursiveChild(node, initializer); } break; + case 193: + case 234: case 192: - case 233: - case 191: addNodeWithRecursiveChild(node, node.body); break; - case 237: + case 238: startNode(node); for (var _e = 0, _f = node.members; _e < _f.length; _e++) { var member = _f[_e]; @@ -77445,9 +78068,9 @@ var ts; } endNode(); break; - case 234: - case 204: case 235: + case 205: + case 236: startNode(node); for (var _g = 0, _h = node.members; _g < _h.length; _g++) { var member = _h[_g]; @@ -77455,18 +78078,18 @@ var ts; } endNode(); break; - case 238: + case 239: addNodeWithRecursiveChild(node, getInteriorModule(node).body); break; - case 251: - case 242: - case 159: - case 157: + case 252: + case 243: + case 160: case 158: - case 236: + case 159: + case 237: addLeafNode(node); break; - case 199: { + case 200: { var special = ts.getSpecialPropertyAssignmentKind(node); switch (special) { case 1: @@ -77541,19 +78164,19 @@ var ts; return false; } switch (a.kind) { - case 151: - case 153: - case 155: + case 152: + case 154: case 156: + case 157: return ts.hasModifier(a, 32) === ts.hasModifier(b, 32); - case 238: + case 239: return areSameModule(a, b); default: return true; } } function areSameModule(a, b) { - return a.body.kind === b.body.kind && (a.body.kind !== 238 || areSameModule(a.body, b.body)); + return a.body.kind === b.body.kind && (a.body.kind !== 239 || areSameModule(a.body, b.body)); } function merge(target, source) { var _a; @@ -77576,7 +78199,7 @@ var ts; || ts.compareValues(navigationBarNodeKind(child1), navigationBarNodeKind(child2)); } function tryGetName(node) { - if (node.kind === 238) { + if (node.kind === 239) { return getModuleName(node); } var declName = ts.getNameOfDeclaration(node); @@ -77584,16 +78207,16 @@ var ts; return ts.unescapeLeadingUnderscores(ts.getPropertyNameForPropertyNameNode(declName)); } switch (node.kind) { - case 191: case 192: - case 204: + case 193: + case 205: return getFunctionOrClassName(node); default: return undefined; } } function getItemName(node) { - if (node.kind === 238) { + if (node.kind === 239) { return getModuleName(node); } var name = ts.getNameOfDeclaration(node); @@ -77604,27 +78227,27 @@ var ts; } } switch (node.kind) { - case 273: + case 274: var sourceFile = node; return ts.isExternalModule(sourceFile) ? "\"" + ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(sourceFile.fileName)))) + "\"" : ""; - case 192: - case 233: - case 191: + case 193: case 234: - case 204: + case 192: + case 235: + case 205: if (ts.getModifierFlags(node) & 512) { return "default"; } return getFunctionOrClassName(node); - case 154: + case 155: return "constructor"; - case 158: - return "new()"; - case 157: - return "()"; case 159: + return "new()"; + case 158: + return "()"; + case 160: return "[]"; default: return ""; @@ -77647,25 +78270,25 @@ var ts; return topLevel; function isTopLevel(item) { switch (navigationBarNodeKind(item)) { - case 234: - case 204: - case 237: case 235: + case 205: case 238: - case 273: case 236: - case 296: - case 291: + case 239: + case 274: + case 237: + case 297: + case 292: return true; - case 154: - case 153: case 155: + case 154: case 156: - case 231: + case 157: + case 232: return hasSomeImportantChild(item); + case 193: + case 234: case 192: - case 233: - case 191: return isTopLevelFunctionDeclaration(item); default: return false; @@ -77675,19 +78298,19 @@ var ts; return false; } switch (navigationBarNodeKind(item.parent)) { - case 239: - case 273: - case 153: + case 240: + case 274: case 154: + case 155: return true; default: return hasSomeImportantChild(item); } } function hasSomeImportantChild(item) { - return ts.forEach(item.children, function (child) { + return ts.some(item.children, function (child) { var childKind = navigationBarNodeKind(child); - return childKind !== 231 && childKind !== 181; + return childKind !== 232 && childKind !== 182; }); } } @@ -77741,23 +78364,23 @@ var ts; } var result = []; result.push(ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)); - while (moduleDeclaration.body && moduleDeclaration.body.kind === 238) { + while (moduleDeclaration.body && moduleDeclaration.body.kind === 239) { moduleDeclaration = moduleDeclaration.body; result.push(ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)); } return result.join("."); } function getInteriorModule(decl) { - return decl.body.kind === 238 ? getInteriorModule(decl.body) : decl; + return decl.body.kind === 239 ? getInteriorModule(decl.body) : decl; } function isComputedProperty(member) { - return !member.name || member.name.kind === 146; + return !member.name || member.name.kind === 147; } function getNodeSpan(node) { - return node.kind === 273 ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); + return node.kind === 274 ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); } function getModifiers(node) { - if (node.parent && node.parent.kind === 231) { + if (node.parent && node.parent.kind === 232) { node = node.parent; } return ts.getNodeModifiers(node); @@ -77766,14 +78389,14 @@ var ts; if (node.name && ts.getFullWidth(node.name) > 0) { return ts.declarationNameToString(node.name); } - else if (node.parent.kind === 231) { + else if (node.parent.kind === 232) { return ts.declarationNameToString(node.parent.name); } - else if (node.parent.kind === 199 && + else if (node.parent.kind === 200 && node.parent.operatorToken.kind === 58) { return nodeText(node.parent.left).replace(whiteSpaceRegex, ""); } - else if (node.parent.kind === 269 && node.parent.name) { + else if (node.parent.kind === 270 && node.parent.name) { return nodeText(node.parent.name); } else if (ts.getModifierFlags(node) & 512) { @@ -77785,9 +78408,9 @@ var ts; } function isFunctionOrClassExpression(node) { switch (node.kind) { + case 193: case 192: - case 191: - case 204: + case 205: return true; default: return false; @@ -77848,12 +78471,12 @@ var ts; OrganizeImports.organizeImports = organizeImports; function getModuleBlock(moduleDecl) { var body = moduleDecl.body; - return body && !ts.isIdentifier(body) && (ts.isModuleBlock(body) ? body : getModuleBlock(body)); + return body && !ts.isIdentifier(body) ? (ts.isModuleBlock(body) ? body : getModuleBlock(body)) : undefined; } function removeUnusedImports(oldImports, sourceFile, program) { var typeChecker = program.getTypeChecker(); var jsxNamespace = typeChecker.getJsxNamespace(); - var jsxContext = sourceFile.languageVariant === 1 && program.getCompilerOptions().jsx; + var jsxElementsPresent = !!(sourceFile.transformFlags & 4); var usedImports = []; for (var _i = 0, oldImports_1 = oldImports; _i < oldImports_1.length; _i++) { var importDecl = oldImports_1[_i]; @@ -77887,7 +78510,7 @@ var ts; } return usedImports; function isDeclarationUsed(identifier) { - return jsxContext && (identifier.text === jsxNamespace) || ts.FindAllReferences.Core.isSymbolReferencedInFile(identifier, typeChecker, sourceFile); + return jsxElementsPresent && (identifier.text === jsxNamespace) || ts.FindAllReferences.Core.isSymbolReferencedInFile(identifier, typeChecker, sourceFile); } } function getExternalModuleName(specifier) { @@ -78037,70 +78660,6 @@ var ts; })(OrganizeImports = ts.OrganizeImports || (ts.OrganizeImports = {})); })(ts || (ts = {})); var ts; -(function (ts) { - function getEditsForFileRename(program, oldFilePath, newFilePath, host, formatContext) { - var pathUpdater = getPathUpdater(oldFilePath, newFilePath, host); - return ts.textChanges.ChangeTracker.with({ host: host, formatContext: formatContext }, function (changeTracker) { - updateTsconfigFiles(program, changeTracker, oldFilePath, newFilePath); - for (var _i = 0, _a = getImportsToUpdate(program, oldFilePath, host); _i < _a.length; _i++) { - var _b = _a[_i], sourceFile = _b.sourceFile, toUpdate = _b.toUpdate; - var newPath = pathUpdater(isRef(toUpdate) ? toUpdate.fileName : toUpdate.text); - if (newPath !== undefined) { - var range = isRef(toUpdate) ? toUpdate : createStringRange(toUpdate, sourceFile); - changeTracker.replaceRangeWithText(sourceFile, range, isRef(toUpdate) ? newPath : ts.removeFileExtension(newPath)); - } - } - }); - } - ts.getEditsForFileRename = getEditsForFileRename; - function updateTsconfigFiles(program, changeTracker, oldFilePath, newFilePath) { - var configFile = program.getCompilerOptions().configFile; - var oldFile = ts.getTsConfigPropArrayElementValue(configFile, "files", oldFilePath); - if (oldFile) { - changeTracker.replaceRangeWithText(configFile, createStringRange(oldFile, configFile), newFilePath); - } - } - function isRef(toUpdate) { - return "fileName" in toUpdate; - } - function getImportsToUpdate(program, oldFilePath, host) { - var checker = program.getTypeChecker(); - var result = []; - for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { - var sourceFile = _a[_i]; - for (var _b = 0, _c = sourceFile.referencedFiles; _b < _c.length; _b++) { - var ref = _c[_b]; - if (!program.getSourceFileFromReference(sourceFile, ref) && ts.resolveTripleslashReference(ref.fileName, sourceFile.fileName) === oldFilePath) { - result.push({ sourceFile: sourceFile, toUpdate: ref }); - } - } - for (var _d = 0, _e = sourceFile.imports; _d < _e.length; _d++) { - var importStringLiteral = _e[_d]; - if (checker.getSymbolAtLocation(importStringLiteral)) - continue; - var resolved = host.resolveModuleNames - ? host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importStringLiteral.text, sourceFile.fileName) - : program.getResolvedModuleWithFailedLookupLocationsFromCache(importStringLiteral.text, sourceFile.fileName); - if (resolved && ts.contains(resolved.failedLookupLocations, oldFilePath)) { - result.push({ sourceFile: sourceFile, toUpdate: importStringLiteral }); - } - } - } - return result; - } - function getPathUpdater(oldFilePath, newFilePath, host) { - var rel = ts.getRelativePathFromFile(oldFilePath, newFilePath, ts.createGetCanonicalFileName(ts.hostUsesCaseSensitiveFileNames(host))); - return function (oldPath) { - if (!ts.pathIsRelative(oldPath)) - return; - return ts.ensurePathIsNonModuleName(ts.normalizePath(ts.combinePaths(ts.getDirectoryPath(oldPath), rel))); - }; - } - function createStringRange(node, sourceFile) { - return ts.createTextRange(node.getStart(sourceFile) + 1, node.end - 1); - } -})(ts || (ts = {})); -var ts; (function (ts) { var OutliningElementsCollector; (function (OutliningElementsCollector) { @@ -78221,21 +78780,21 @@ var ts; } function getOutliningSpanForNode(n, sourceFile) { switch (n.kind) { - case 212: + case 213: if (ts.isFunctionBlock(n)) { - return spanForNode(n.parent, n.parent.kind !== 192); + return spanForNode(n.parent, n.parent.kind !== 193); } switch (n.parent.kind) { - case 217: - case 220: - case 221: - case 219: - case 216: case 218: - case 225: - case 268: + case 221: + case 222: + case 220: + case 217: + case 219: + case 226: + case 269: return spanForNode(n.parent); - case 229: + case 230: var tryStatement = n.parent; if (tryStatement.tryBlock === n) { return spanForNode(n.parent); @@ -78246,16 +78805,16 @@ var ts; default: return createOutliningSpan(ts.createTextSpanFromNode(n, sourceFile), "code"); } - case 239: - return spanForNode(n.parent); - case 234: - case 235: - case 237: case 240: + return spanForNode(n.parent); + case 235: + case 236: + case 238: + case 241: return spanForNode(n); - case 183: + case 184: return spanForObjectOrArrayLiteral(n); - case 182: + case 183: return spanForObjectOrArrayLiteral(n, 21); } function spanForObjectOrArrayLiteral(node, open) { @@ -78312,7 +78871,7 @@ var ts; } ts.createPatternMatcher = createPatternMatcher; function getFullMatch(candidateContainers, candidate, dotSeparatedSegments, stringToWordSpans) { - var candidateMatch = matchSegment(candidate, ts.lastOrUndefined(dotSeparatedSegments), stringToWordSpans); + var candidateMatch = matchSegment(candidate, ts.last(dotSeparatedSegments), stringToWordSpans); if (!candidateMatch) { return undefined; } @@ -78460,13 +79019,13 @@ var ts; } function indexOfIgnoringCase(str, value) { var n = str.length - value.length; - var _loop_15 = function (start) { + var _loop_16 = function (start) { if (every(value, function (valueChar, i) { return toLowerCase(str.charCodeAt(i + start)) === valueChar; })) { return { value: start }; } }; for (var start = 0; start <= n; start++) { - var state_4 = _loop_15(start); + var state_4 = _loop_16(start); if (typeof state_4 === "object") return state_4.value; } @@ -78697,7 +79256,7 @@ var ts; else { if (token === 71 || ts.isKeyword(token)) { token = nextToken(); - if (token === 142) { + if (token === 143) { token = nextToken(); if (token === 9) { recordModuleName(); @@ -78723,7 +79282,7 @@ var ts; } if (token === 18) { token = nextToken(); - if (token === 142) { + if (token === 143) { token = nextToken(); if (token === 9) { recordModuleName(); @@ -78737,7 +79296,7 @@ var ts; token = nextToken(); if (token === 71 || ts.isKeyword(token)) { token = nextToken(); - if (token === 142) { + if (token === 143) { token = nextToken(); if (token === 9) { recordModuleName(); @@ -78763,7 +79322,7 @@ var ts; } if (token === 18) { token = nextToken(); - if (token === 142) { + if (token === 143) { token = nextToken(); if (token === 9) { recordModuleName(); @@ -78773,7 +79332,7 @@ var ts; } else if (token === 39) { token = nextToken(); - if (token === 142) { + if (token === 143) { token = nextToken(); if (token === 9) { recordModuleName(); @@ -78871,7 +79430,7 @@ var ts; importedFiles.push(decl.ref); } } - return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: pragmaContext.hasNoDefaultLib, ambientExternalModules: undefined }; + return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: !!pragmaContext.hasNoDefaultLib, ambientExternalModules: undefined }; } else { var ambientModuleNames = void 0; @@ -78889,7 +79448,7 @@ var ts; } } } - return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: pragmaContext.hasNoDefaultLib, ambientExternalModules: ambientModuleNames }; + return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: !!pragmaContext.hasNoDefaultLib, ambientExternalModules: ambientModuleNames }; } } ts.preProcessFile = preProcessFile; @@ -78917,32 +79476,26 @@ var ts; Rename.getRenameInfo = getRenameInfo; function getRenameInfoForNode(node, typeChecker, sourceFile, isDefinedInLibraryFile) { var symbol = typeChecker.getSymbolAtLocation(node); - if (symbol) { - var declarations = symbol.declarations; - if (declarations && declarations.length > 0) { - if (declarations.some(isDefinedInLibraryFile)) { - return getRenameInfoError(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); - } - if (ts.isIdentifier(node) && node.originalKeywordKind === 79 && symbol.parent.flags & 1536) { - return undefined; - } - if (ts.isStringLiteralLike(node) && ts.tryGetImportFromModuleSpecifier(node)) - return undefined; - var kind = ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, node); - var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteral(node) && node.parent.kind === 146) - ? ts.stripQuotes(ts.getTextOfIdentifierOrLiteral(node)) - : undefined; - var displayName = specifierName || typeChecker.symbolToString(symbol); - var fullDisplayName = specifierName || typeChecker.getFullyQualifiedName(symbol); - return getRenameInfoSuccess(displayName, fullDisplayName, kind, ts.SymbolDisplay.getSymbolModifiers(symbol), node, sourceFile); - } + if (!symbol) + return; + var declarations = symbol.declarations; + if (!declarations || declarations.length === 0) + return; + if (declarations.some(isDefinedInLibraryFile)) { + return getRenameInfoError(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); } - else if (ts.isStringLiteral(node)) { - if (isDefinedInLibraryFile(node)) { - return getRenameInfoError(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); - } - return getRenameInfoSuccess(node.text, node.text, "var", "", node, sourceFile); + if (ts.isIdentifier(node) && node.originalKeywordKind === 79 && symbol.parent.flags & 1536) { + return undefined; } + if (ts.isStringLiteralLike(node) && ts.tryGetImportFromModuleSpecifier(node)) + return undefined; + var kind = ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, node); + var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteral(node) && node.parent.kind === 147) + ? ts.stripQuotes(ts.getTextOfIdentifierOrLiteral(node)) + : undefined; + var displayName = specifierName || typeChecker.symbolToString(symbol); + var fullDisplayName = specifierName || typeChecker.getFullyQualifiedName(symbol); + return getRenameInfoSuccess(displayName, fullDisplayName, kind, ts.SymbolDisplay.getSymbolModifiers(symbol), node, sourceFile); } function getRenameInfoSuccess(displayName, fullDisplayName, kind, kindModifiers, node, sourceFile) { return { @@ -78999,7 +79552,12 @@ var ts; ArgumentListKind[ArgumentListKind["CallArguments"] = 1] = "CallArguments"; ArgumentListKind[ArgumentListKind["TaggedTemplateArguments"] = 2] = "TaggedTemplateArguments"; ArgumentListKind[ArgumentListKind["JSXAttributesArguments"] = 3] = "JSXAttributesArguments"; - })(ArgumentListKind = SignatureHelp.ArgumentListKind || (SignatureHelp.ArgumentListKind = {})); + })(ArgumentListKind || (ArgumentListKind = {})); + var InvocationKind; + (function (InvocationKind) { + InvocationKind[InvocationKind["Call"] = 0] = "Call"; + InvocationKind[InvocationKind["TypeArgs"] = 1] = "TypeArgs"; + })(InvocationKind || (InvocationKind = {})); function getSignatureHelpItems(program, sourceFile, position, cancellationToken) { var typeChecker = program.getTypeChecker(); var startingToken = ts.findTokenOnLeftOfPosition(sourceFile, position); @@ -79010,63 +79568,83 @@ var ts; if (!argumentInfo) return undefined; cancellationToken.throwIfCancellationRequested(); - var call = argumentInfo.invocation; - var candidates = []; - var resolvedSignature = typeChecker.getResolvedSignature(call, candidates, argumentInfo.argumentCount); + var candidateInfo = getCandidateInfo(argumentInfo, typeChecker); cancellationToken.throwIfCancellationRequested(); - if (!candidates.length) { + if (!candidateInfo) { if (ts.isSourceFileJavaScript(sourceFile)) { return createJavaScriptSignatureHelpItems(argumentInfo, program, cancellationToken); } return undefined; } - return typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(candidates, resolvedSignature, argumentInfo, typeChecker); }); + return typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(candidateInfo.candidates, candidateInfo.resolvedSignature, argumentInfo, sourceFile, typeChecker); }); } SignatureHelp.getSignatureHelpItems = getSignatureHelpItems; - function createJavaScriptSignatureHelpItems(argumentInfo, program, cancellationToken) { - if (argumentInfo.invocation.kind !== 186) { - return undefined; + function getCandidateInfo(argumentInfo, checker) { + var invocation = argumentInfo.invocation; + if (invocation.kind === 0) { + var candidates = []; + var resolvedSignature = checker.getResolvedSignature(invocation.node, candidates, argumentInfo.argumentCount); + return candidates.length === 0 ? undefined : { candidates: candidates, resolvedSignature: resolvedSignature }; } - var callExpression = argumentInfo.invocation; - var expression = callExpression.expression; + else { + var type = checker.getTypeAtLocation(invocation.called); + var signatures = ts.isNewExpression(invocation.called.parent) ? type.getConstructSignatures() : type.getCallSignatures(); + var candidates = signatures.filter(function (candidate) { return !!candidate.typeParameters && candidate.typeParameters.length >= argumentInfo.argumentCount; }); + return candidates.length === 0 ? undefined : { candidates: candidates, resolvedSignature: ts.first(candidates) }; + } + } + function createJavaScriptSignatureHelpItems(argumentInfo, program, cancellationToken) { + var expression = getExpressionFromInvocation(argumentInfo.invocation); var name = ts.isIdentifier(expression) ? expression : ts.isPropertyAccessExpression(expression) ? expression.name : undefined; if (!name || !name.escapedText) { return undefined; } var typeChecker = program.getTypeChecker(); - for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { - var sourceFile = _a[_i]; + var _loop_17 = function (sourceFile) { var nameToDeclarations = sourceFile.getNamedDeclarations(); var declarations = nameToDeclarations.get(name.text); if (declarations) { - var _loop_16 = function (declaration) { + var _loop_18 = function (declaration) { var symbol = declaration.symbol; if (symbol) { var type = typeChecker.getTypeOfSymbolAtLocation(symbol, declaration); if (type) { var callSignatures_1 = type.getCallSignatures(); if (callSignatures_1 && callSignatures_1.length) { - return { value: typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(callSignatures_1, callSignatures_1[0], argumentInfo, typeChecker); }) }; + return { value: typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(callSignatures_1, callSignatures_1[0], argumentInfo, sourceFile, typeChecker); }) }; } } } }; - for (var _b = 0, declarations_12 = declarations; _b < declarations_12.length; _b++) { - var declaration = declarations_12[_b]; - var state_5 = _loop_16(declaration); - if (typeof state_5 === "object") - return state_5.value; + for (var _i = 0, declarations_13 = declarations; _i < declarations_13.length; _i++) { + var declaration = declarations_13[_i]; + var state_6 = _loop_18(declaration); + if (typeof state_6 === "object") + return state_6; } } + }; + for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { + var sourceFile = _a[_i]; + var state_5 = _loop_17(sourceFile); + if (typeof state_5 === "object") + return state_5.value; } } + function getArgumentInfoForCompletions(node, position, sourceFile) { + var info = getImmediatelyContainingArgumentInfo(node, position, sourceFile); + return !info || info.kind === 0 || info.invocation.kind === 1 ? undefined + : { invocation: info.invocation.node, argumentCount: info.argumentCount, argumentIndex: info.argumentIndex }; + } + SignatureHelp.getArgumentInfoForCompletions = getArgumentInfoForCompletions; function getImmediatelyContainingArgumentInfo(node, position, sourceFile) { - if (ts.isCallOrNewExpression(node.parent)) { - var invocation = node.parent; + var parent = node.parent; + if (ts.isCallOrNewExpression(parent)) { + var invocation = parent; var list = void 0; var argumentIndex = void 0; if (node.kind === 27 || node.kind === 19) { - list = getChildListThatStartsWithOpenerToken(invocation, node, sourceFile); + list = getChildListThatStartsWithOpenerToken(parent, node, sourceFile); ts.Debug.assert(list !== undefined); argumentIndex = 0; } @@ -79076,52 +79654,58 @@ var ts; return undefined; argumentIndex = getArgumentIndex(list, node); } - var kind = invocation.typeArguments && invocation.typeArguments.pos === list.pos ? 0 : 1; + var kind = parent.typeArguments && parent.typeArguments.pos === list.pos ? 0 : 1; var argumentCount = getArgumentCount(list); if (argumentIndex !== 0) { ts.Debug.assertLessThan(argumentIndex, argumentCount); } var argumentsSpan = getApplicableSpanForArguments(list, sourceFile); - return { kind: kind, invocation: invocation, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount }; + return { kind: kind, invocation: { kind: 0, node: invocation }, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount }; } - else if (node.kind === 13 && node.parent.kind === 188) { - if (ts.isInsideTemplateLiteral(node, position)) { - return getArgumentListInfoForTemplate(node.parent, 0, sourceFile); + else if (ts.isNoSubstitutionTemplateLiteral(node) && ts.isTaggedTemplateExpression(parent)) { + if (ts.isInsideTemplateLiteral(node, position, sourceFile)) { + return getArgumentListInfoForTemplate(parent, 0, sourceFile); } } - else if (node.kind === 14 && node.parent.parent.kind === 188) { - var templateExpression = node.parent; + else if (ts.isTemplateHead(node) && parent.parent.kind === 189) { + var templateExpression = parent; var tagExpression = templateExpression.parent; - ts.Debug.assert(templateExpression.kind === 201); - var argumentIndex = ts.isInsideTemplateLiteral(node, position) ? 0 : 1; + ts.Debug.assert(templateExpression.kind === 202); + var argumentIndex = ts.isInsideTemplateLiteral(node, position, sourceFile) ? 0 : 1; return getArgumentListInfoForTemplate(tagExpression, argumentIndex, sourceFile); } - else if (node.parent.kind === 210 && node.parent.parent.parent.kind === 188) { - var templateSpan = node.parent; - var templateExpression = templateSpan.parent; - var tagExpression = templateExpression.parent; - ts.Debug.assert(templateExpression.kind === 201); - if (node.kind === 16 && !ts.isInsideTemplateLiteral(node, position)) { + else if (ts.isTemplateSpan(parent) && ts.isTaggedTemplateExpression(parent.parent.parent)) { + var templateSpan = parent; + var tagExpression = parent.parent.parent; + if (ts.isTemplateTail(node) && !ts.isInsideTemplateLiteral(node, position, sourceFile)) { return undefined; } - var spanIndex = templateExpression.templateSpans.indexOf(templateSpan); - var argumentIndex = getArgumentIndexForTemplatePiece(spanIndex, node, position); + var spanIndex = templateSpan.parent.templateSpans.indexOf(templateSpan); + var argumentIndex = getArgumentIndexForTemplatePiece(spanIndex, node, position, sourceFile); return getArgumentListInfoForTemplate(tagExpression, argumentIndex, sourceFile); } - else if (node.parent && ts.isJsxOpeningLikeElement(node.parent)) { - var attributeSpanStart = node.parent.attributes.getFullStart(); - var attributeSpanEnd = ts.skipTrivia(sourceFile.text, node.parent.attributes.getEnd(), false); + else if (ts.isJsxOpeningLikeElement(parent)) { + var attributeSpanStart = parent.attributes.pos; + var attributeSpanEnd = ts.skipTrivia(sourceFile.text, parent.attributes.end, false); return { kind: 3, - invocation: node.parent, + invocation: { kind: 0, node: parent }, argumentsSpan: ts.createTextSpan(attributeSpanStart, attributeSpanEnd - attributeSpanStart), argumentIndex: 0, argumentCount: 1 }; } + else { + var typeArgInfo = ts.isPossiblyTypeArgumentPosition(node, sourceFile); + if (typeArgInfo) { + var called = typeArgInfo.called, nTypeArguments = typeArgInfo.nTypeArguments; + var invocation = { kind: 1, called: called }; + var argumentsSpan = ts.createTextSpanFromBounds(called.getStart(sourceFile), node.end); + return { kind: 0, invocation: invocation, argumentsSpan: argumentsSpan, argumentIndex: nTypeArguments, argumentCount: nTypeArguments + 1 }; + } + } return undefined; } - SignatureHelp.getImmediatelyContainingArgumentInfo = getImmediatelyContainingArgumentInfo; function getArgumentIndex(argumentsList, node) { var argumentIndex = 0; for (var _i = 0, _a = argumentsList.getChildren(); _i < _a.length; _i++) { @@ -79138,15 +79722,15 @@ var ts; function getArgumentCount(argumentsList) { var listChildren = argumentsList.getChildren(); var argumentCount = ts.countWhere(listChildren, function (arg) { return arg.kind !== 26; }); - if (listChildren.length > 0 && ts.lastOrUndefined(listChildren).kind === 26) { + if (listChildren.length > 0 && ts.last(listChildren).kind === 26) { argumentCount++; } return argumentCount; } - function getArgumentIndexForTemplatePiece(spanIndex, node, position) { + function getArgumentIndexForTemplatePiece(spanIndex, node, position, sourceFile) { ts.Debug.assert(position >= node.getStart(), "Assumed 'position' could not occur before node."); - if (ts.isTemplateLiteralKind(node.kind)) { - if (ts.isInsideTemplateLiteral(node, position)) { + if (ts.isTemplateLiteralToken(node)) { + if (ts.isInsideTemplateLiteral(node, position, sourceFile)) { return 0; } return spanIndex + 2; @@ -79160,7 +79744,7 @@ var ts; } return { kind: 2, - invocation: tagExpression, + invocation: { kind: 0, node: tagExpression }, argumentsSpan: getApplicableSpanForTaggedTemplate(tagExpression, sourceFile), argumentIndex: argumentIndex, argumentCount: argumentCount @@ -79175,8 +79759,8 @@ var ts; var template = taggedTemplate.template; var applicableSpanStart = template.getStart(); var applicableSpanEnd = template.getEnd(); - if (template.kind === 201) { - var lastSpan = ts.lastOrUndefined(template.templateSpans); + if (template.kind === 202) { + var lastSpan = ts.last(template.templateSpans); if (lastSpan.literal.getFullWidth() === 0) { applicableSpanEnd = ts.skipTrivia(sourceFile.text, applicableSpanEnd, false); } @@ -79184,36 +79768,38 @@ var ts; return ts.createTextSpan(applicableSpanStart, applicableSpanEnd - applicableSpanStart); } function getContainingArgumentInfo(node, position, sourceFile) { - for (var n = node; n.kind !== 273; n = n.parent) { - if (ts.isFunctionBlock(n)) { - return undefined; - } - if (n.pos < n.parent.pos || n.end > n.parent.end) { - ts.Debug.fail("Node of kind " + n.kind + " is not a subspan of its parent of kind " + n.parent.kind); - } + var _loop_19 = function (n) { + ts.Debug.assert(ts.rangeContainsRange(n.parent, n), "Not a subspan", function () { return "Child: " + ts.Debug.showSyntaxKind(n) + ", parent: " + ts.Debug.showSyntaxKind(n.parent); }); var argumentInfo = getImmediatelyContainingArgumentInfo(n, position, sourceFile); if (argumentInfo) { - return argumentInfo; + return { value: argumentInfo }; } + }; + for (var n = node; !ts.isBlock(n) && !ts.isSourceFile(n); n = n.parent) { + var state_7 = _loop_19(n); + if (typeof state_7 === "object") + return state_7.value; } return undefined; } - SignatureHelp.getContainingArgumentInfo = getContainingArgumentInfo; function getChildListThatStartsWithOpenerToken(parent, openerToken, sourceFile) { var children = parent.getChildren(sourceFile); var indexOfOpenerToken = children.indexOf(openerToken); ts.Debug.assert(indexOfOpenerToken >= 0 && children.length > indexOfOpenerToken + 1); return children[indexOfOpenerToken + 1]; } + function getExpressionFromInvocation(invocation) { + return invocation.kind === 0 ? ts.getInvokedExpression(invocation.node) : invocation.called; + } var signatureHelpNodeBuilderFlags = 8192 | 3112960; - function createSignatureHelpItems(candidates, resolvedSignature, argumentListInfo, typeChecker) { + function createSignatureHelpItems(candidates, resolvedSignature, argumentListInfo, sourceFile, typeChecker) { var argumentCount = argumentListInfo.argumentCount, applicableSpan = argumentListInfo.argumentsSpan, invocation = argumentListInfo.invocation, argumentIndex = argumentListInfo.argumentIndex; var isTypeParameterList = argumentListInfo.kind === 0; - var callTarget = ts.getInvokedExpression(invocation); - var callTargetSymbol = typeChecker.getSymbolAtLocation(callTarget); + var enclosingDeclaration = invocation.kind === 0 ? invocation.node : invocation.called; + var callTargetSymbol = typeChecker.getSymbolAtLocation(getExpressionFromInvocation(invocation)); var callTargetDisplayParts = callTargetSymbol && ts.symbolToDisplayParts(typeChecker, callTargetSymbol, undefined, undefined); var printer = ts.createPrinter({ removeComments: true }); - var items = ts.map(candidates, function (candidateSignature) { + var items = candidates.map(function (candidateSignature) { var signatureHelpParameters; var prefixDisplayParts = []; var suffixDisplayParts = []; @@ -79228,9 +79814,9 @@ var ts; signatureHelpParameters = typeParameters && typeParameters.length > 0 ? ts.map(typeParameters, createSignatureHelpParameterForTypeParameter) : ts.emptyArray; suffixDisplayParts.push(ts.punctuationPart(29)); var parameterParts = ts.mapToDisplayParts(function (writer) { - var thisParameter = candidateSignature.thisParameter ? [typeChecker.symbolToParameterDeclaration(candidateSignature.thisParameter, invocation, signatureHelpNodeBuilderFlags)] : []; - var params = ts.createNodeArray(thisParameter.concat(ts.map(candidateSignature.parameters, function (param) { return typeChecker.symbolToParameterDeclaration(param, invocation, signatureHelpNodeBuilderFlags); }))); - printer.writeList(1296, params, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var thisParameter = candidateSignature.thisParameter ? [typeChecker.symbolToParameterDeclaration(candidateSignature.thisParameter, enclosingDeclaration, signatureHelpNodeBuilderFlags)] : []; + var params = ts.createNodeArray(thisParameter.concat(candidateSignature.parameters.map(function (param) { return typeChecker.symbolToParameterDeclaration(param, enclosingDeclaration, signatureHelpNodeBuilderFlags); }))); + printer.writeList(1296, params, sourceFile, writer); }); ts.addRange(suffixDisplayParts, parameterParts); } @@ -79238,8 +79824,8 @@ var ts; isVariadic = candidateSignature.hasRestParameter; var typeParameterParts = ts.mapToDisplayParts(function (writer) { if (candidateSignature.typeParameters && candidateSignature.typeParameters.length) { - var args = ts.createNodeArray(ts.map(candidateSignature.typeParameters, function (p) { return typeChecker.typeParameterToDeclaration(p, invocation); })); - printer.writeList(26896, args, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var args = ts.createNodeArray(candidateSignature.typeParameters.map(function (p) { return typeChecker.typeParameterToDeclaration(p, enclosingDeclaration); })); + printer.writeList(26896, args, sourceFile, writer); } }); ts.addRange(prefixDisplayParts, typeParameterParts); @@ -79252,10 +79838,10 @@ var ts; writer.writeSpace(" "); var predicate = typeChecker.getTypePredicateOfSignature(candidateSignature); if (predicate) { - typeChecker.writeTypePredicate(predicate, invocation, undefined, writer); + typeChecker.writeTypePredicate(predicate, enclosingDeclaration, undefined, writer); } else { - typeChecker.writeType(typeChecker.getReturnTypeOfSignature(candidateSignature), invocation, undefined, writer); + typeChecker.writeType(typeChecker.getReturnTypeOfSignature(candidateSignature), enclosingDeclaration, undefined, writer); } }); ts.addRange(suffixDisplayParts, returnTypeParts); @@ -79277,8 +79863,8 @@ var ts; return { items: items, applicableSpan: applicableSpan, selectedItemIndex: selectedItemIndex, argumentIndex: argumentIndex, argumentCount: argumentCount }; function createSignatureHelpParameterForParameter(parameter) { var displayParts = ts.mapToDisplayParts(function (writer) { - var param = typeChecker.symbolToParameterDeclaration(parameter, invocation, signatureHelpNodeBuilderFlags); - printer.writeNode(4, param, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var param = typeChecker.symbolToParameterDeclaration(parameter, enclosingDeclaration, signatureHelpNodeBuilderFlags); + printer.writeNode(4, param, sourceFile, writer); }); return { name: parameter.name, @@ -79289,8 +79875,8 @@ var ts; } function createSignatureHelpParameterForTypeParameter(typeParameter) { var displayParts = ts.mapToDisplayParts(function (writer) { - var param = typeChecker.typeParameterToDeclaration(typeParameter, invocation); - printer.writeNode(4, param, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var param = typeChecker.typeParameterToDeclaration(typeParameter, enclosingDeclaration); + printer.writeNode(4, param, sourceFile, writer); }); return { name: typeParameter.symbol.name, @@ -79304,9 +79890,8 @@ var ts; })(ts || (ts = {})); var ts; (function (ts) { - function computeSuggestionDiagnostics(sourceFile, program) { - program.getSemanticDiagnostics(sourceFile); - var checker = program.getDiagnosticsProducingTypeChecker(); + function computeSuggestionDiagnostics(sourceFile, program, cancellationToken) { + program.getSemanticDiagnostics(sourceFile, cancellationToken); var diags = []; if (sourceFile.commonJsModuleIndicator && (ts.programContainsEs6Modules(program) || ts.compilerOptionsIndicateEs6Modules(program.getCompilerOptions())) && @@ -79314,40 +79899,10 @@ var ts; diags.push(ts.createDiagnosticForNode(getErrorNodeFromCommonJsIndicator(sourceFile.commonJsModuleIndicator), ts.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module)); } var isJsFile = ts.isSourceFileJavaScript(sourceFile); - function check(node) { - switch (node.kind) { - case 233: - case 191: - if (isJsFile) { - var symbol = node.symbol; - if (symbol.members && (symbol.members.size > 0)) { - diags.push(ts.createDiagnosticForNode(ts.isVariableDeclaration(node.parent) ? node.parent.name : node, ts.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); - } - } - break; - } - if (!isJsFile && ts.codefix.parameterShouldGetTypeFromJSDoc(node)) { - diags.push(ts.createDiagnosticForNode(node.name || node, ts.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types)); - } - node.forEachChild(check); - } check(sourceFile); - if (!isJsFile) { - for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { - var statement = _a[_i]; - if (ts.isVariableStatement(statement) && - statement.declarationList.flags & 2 && - statement.declarationList.declarations.length === 1) { - var init = statement.declarationList.declarations[0].initializer; - if (init && ts.isRequireCall(init, true)) { - diags.push(ts.createDiagnosticForNode(init, ts.Diagnostics.require_call_may_be_converted_to_an_import)); - } - } - } - } if (ts.getAllowSyntheticDefaultImports(program.getCompilerOptions())) { - for (var _b = 0, _c = sourceFile.imports; _b < _c.length; _b++) { - var moduleSpecifier = _c[_b]; + for (var _i = 0, _a = sourceFile.imports; _i < _a.length; _i++) { + var moduleSpecifier = _a[_i]; var importNode = ts.importFromModuleSpecifier(moduleSpecifier); var name = importNameForConvertToDefaultImport(importNode); if (!name) @@ -79359,17 +79914,55 @@ var ts; } } } - return diags.concat(checker.getSuggestionDiagnostics(sourceFile)).sort(function (d1, d2) { return d1.start - d2.start; }); + ts.addRange(diags, sourceFile.bindSuggestionDiagnostics); + ts.addRange(diags, program.getSuggestionDiagnostics(sourceFile, cancellationToken)); + return diags.sort(function (d1, d2) { return d1.start - d2.start; }); + function check(node) { + if (isJsFile) { + switch (node.kind) { + case 192: + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + var symbol_3 = decl.symbol; + if (symbol_3 && (symbol_3.exports && symbol_3.exports.size || symbol_3.members && symbol_3.members.size)) { + diags.push(ts.createDiagnosticForNode(ts.isVariableDeclaration(node.parent) ? node.parent.name : node, ts.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); + break; + } + } + case 234: + var symbol = node.symbol; + if (symbol.members && (symbol.members.size > 0)) { + diags.push(ts.createDiagnosticForNode(ts.isVariableDeclaration(node.parent) ? node.parent.name : node, ts.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); + } + break; + } + } + else { + if (ts.isVariableStatement(node) && + node.parent === sourceFile && + node.declarationList.flags & 2 && + node.declarationList.declarations.length === 1) { + var init = node.declarationList.declarations[0].initializer; + if (init && ts.isRequireCall(init, true)) { + diags.push(ts.createDiagnosticForNode(init, ts.Diagnostics.require_call_may_be_converted_to_an_import)); + } + } + if (ts.codefix.parameterShouldGetTypeFromJSDoc(node)) { + diags.push(ts.createDiagnosticForNode(node.name || node, ts.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types)); + } + } + node.forEachChild(check); + } } ts.computeSuggestionDiagnostics = computeSuggestionDiagnostics; function containsTopLevelCommonjs(sourceFile) { return sourceFile.statements.some(function (statement) { switch (statement.kind) { - case 213: + case 214: return statement.declarationList.declarations.some(function (decl) { return ts.isRequireCall(propertyAccessLeftHandSide(decl.initializer), true); }); - case 215: { + case 216: { var expression = statement.expression; if (!ts.isBinaryExpression(expression)) return ts.isRequireCall(expression, true); @@ -79386,12 +79979,12 @@ var ts; } function importNameForConvertToDefaultImport(node) { switch (node.kind) { - case 243: + case 244: var importClause = node.importClause, moduleSpecifier = node.moduleSpecifier; - return importClause && !importClause.name && importClause.namedBindings.kind === 245 && ts.isStringLiteral(moduleSpecifier) + return importClause && !importClause.name && importClause.namedBindings && importClause.namedBindings.kind === 246 && ts.isStringLiteral(moduleSpecifier) ? importClause.namedBindings.name : undefined; - case 242: + case 243: return node.name; default: return undefined; @@ -79412,7 +80005,7 @@ var ts; } var flags = ts.getCombinedLocalAndExportSymbolFlags(symbol); if (flags & 32) { - return ts.getDeclarationOfKind(symbol, 204) ? + return ts.getDeclarationOfKind(symbol, 205) ? "local class" : "class"; } if (flags & 384) @@ -79492,11 +80085,11 @@ var ts; return unionPropertyKind; } switch (location.parent && location.parent.kind) { - case 256: - case 254: + case 257: case 255: + case 256: return location.kind === 71 ? "property" : "JSX attribute"; - case 261: + case 262: return "JSX attribute"; default: return "property"; @@ -79521,7 +80114,7 @@ var ts; var tags; var symbolFlags = ts.getCombinedLocalAndExportSymbolFlags(symbol); var symbolKind = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location); - var hasAddedSymbolInfo; + var hasAddedSymbolInfo = false; var isThisExpression = location.kind === 99 && ts.isExpression(location); var type; var printer; @@ -79533,7 +80126,7 @@ var ts; } var signature = void 0; type = isThisExpression ? typeChecker.getTypeAtLocation(location) : typeChecker.getTypeOfSymbolAtLocation(symbol.exportSymbol || symbol, location); - if (location.parent && location.parent.kind === 184) { + if (location.parent && location.parent.kind === 185) { var right = location.parent.name; if (right === location || (right && right.getFullWidth() === 0)) { location = location.parent; @@ -79552,7 +80145,7 @@ var ts; if (callExpressionLike) { var candidateSignatures = []; signature = typeChecker.getResolvedSignature(callExpressionLike, candidateSignatures); - var useConstructSignatures = callExpressionLike.kind === 187 || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 97); + var useConstructSignatures = callExpressionLike.kind === 188 || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 97); var allSignatures = useConstructSignatures ? type.getConstructSignatures() : type.getCallSignatures(); if (!ts.contains(allSignatures, signature.target) && !ts.contains(allSignatures, signature)) { signature = allSignatures.length ? allSignatures[0] : undefined; @@ -79602,25 +80195,25 @@ var ts; } } else if ((ts.isNameOfFunctionDeclaration(location) && !(symbolFlags & 98304)) || - (location.kind === 123 && location.parent.kind === 154)) { + (location.kind === 123 && location.parent.kind === 155)) { var functionDeclaration_1 = location.parent; var locationIsSymbolDeclaration = ts.find(symbol.declarations, function (declaration) { return declaration === (location.kind === 123 ? functionDeclaration_1.parent : functionDeclaration_1); }); if (locationIsSymbolDeclaration) { - var allSignatures = functionDeclaration_1.kind === 154 ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); + var allSignatures = functionDeclaration_1.kind === 155 ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); if (!typeChecker.isImplementationOfOverload(functionDeclaration_1)) { signature = typeChecker.getSignatureFromDeclaration(functionDeclaration_1); } else { signature = allSignatures[0]; } - if (functionDeclaration_1.kind === 154) { + if (functionDeclaration_1.kind === 155) { symbolKind = "constructor"; addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); } else { - addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 157 && + addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 158 && !(type.symbol.flags & 2048 || type.symbol.flags & 4096) ? type.symbol : symbol, symbolKind); } addSignatureDisplayParts(signature, allSignatures); @@ -79630,7 +80223,7 @@ var ts; } if (symbolFlags & 32 && !hasAddedSymbolInfo && !isThisExpression) { addAliasPrefixIfNecessary(); - if (ts.getDeclarationOfKind(symbol, 204)) { + if (ts.getDeclarationOfKind(symbol, 205)) { pushSymbolKind("local class"); } else { @@ -79670,7 +80263,7 @@ var ts; } if (symbolFlags & 1536) { prefixNextMeaning(); - var declaration = ts.getDeclarationOfKind(symbol, 238); + var declaration = ts.getDeclarationOfKind(symbol, 239); var isNamespace = declaration && declaration.name && declaration.name.kind === 71; displayParts.push(ts.keywordPart(isNamespace ? 130 : 129)); displayParts.push(ts.spacePart()); @@ -79689,23 +80282,24 @@ var ts; writeTypeParametersOfSymbol(symbol.parent, enclosingDeclaration); } else { - var decl = ts.getDeclarationOfKind(symbol, 147); - ts.Debug.assert(decl !== undefined); + var decl = ts.getDeclarationOfKind(symbol, 148); + if (decl === undefined) + return ts.Debug.fail(); var declaration = decl.parent; if (declaration) { if (ts.isFunctionLikeKind(declaration.kind)) { addInPrefix(); var signature = typeChecker.getSignatureFromDeclaration(declaration); - if (declaration.kind === 158) { + if (declaration.kind === 159) { displayParts.push(ts.keywordPart(94)); displayParts.push(ts.spacePart()); } - else if (declaration.kind !== 157 && declaration.name) { + else if (declaration.kind !== 158 && declaration.name) { addFullSymbolName(declaration.symbol); } ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, sourceFile, 32)); } - else if (declaration.kind === 236) { + else if (declaration.kind === 237) { addInPrefix(); displayParts.push(ts.keywordPart(139)); displayParts.push(ts.spacePart()); @@ -79719,7 +80313,7 @@ var ts; symbolKind = "enum member"; addPrefixForAnyFunctionOrVar(symbol, "enum member"); var declaration = symbol.declarations[0]; - if (declaration.kind === 272) { + if (declaration.kind === 273) { var constantValue = typeChecker.getConstantValue(declaration); if (constantValue !== undefined) { displayParts.push(ts.spacePart()); @@ -79749,17 +80343,17 @@ var ts; } } switch (symbol.declarations[0].kind) { - case 241: + case 242: displayParts.push(ts.keywordPart(84)); displayParts.push(ts.spacePart()); displayParts.push(ts.keywordPart(130)); break; - case 248: + case 249: displayParts.push(ts.keywordPart(84)); displayParts.push(ts.spacePart()); displayParts.push(ts.keywordPart(symbol.declarations[0].isExportEquals ? 58 : 79)); break; - case 251: + case 252: displayParts.push(ts.keywordPart(84)); break; default: @@ -79768,7 +80362,7 @@ var ts; displayParts.push(ts.spacePart()); addFullSymbolName(symbol); ts.forEach(symbol.declarations, function (declaration) { - if (declaration.kind === 242) { + if (declaration.kind === 243) { var importEqualsDeclaration = declaration; if (ts.isExternalModuleImportEqualsDeclaration(importEqualsDeclaration)) { displayParts.push(ts.spacePart()); @@ -79841,10 +80435,10 @@ var ts; documentation = symbol.getDocumentationComment(typeChecker); tags = symbol.getJsDocTags(); if (documentation.length === 0 && symbolFlags & 4) { - if (symbol.parent && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 273; })) { + if (symbol.parent && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 274; })) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (!declaration.parent || declaration.parent.kind !== 199) { + if (!declaration.parent || declaration.parent.kind !== 200) { continue; } var rhsSymbol = typeChecker.getSymbolAtLocation(declaration.parent.right); @@ -79927,6 +80521,7 @@ var ts; } } function addSignatureDisplayParts(signature, allSignatures, flags) { + if (flags === void 0) { flags = 0; } ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, enclosingDeclaration, flags | 32)); if (allSignatures.length > 1) { displayParts.push(ts.spacePart()); @@ -79954,14 +80549,14 @@ var ts; return false; } return ts.forEach(symbol.declarations, function (declaration) { - if (declaration.kind === 191) { + if (declaration.kind === 192) { return true; } - if (declaration.kind !== 231 && declaration.kind !== 233) { + if (declaration.kind !== 232 && declaration.kind !== 234) { return false; } for (var parent = declaration.parent; !ts.isFunctionBlock(parent); parent = parent.parent) { - if (parent.kind === 273 || parent.kind === 239) { + if (parent.kind === 274 || parent.kind === 240) { return false; } } @@ -80029,7 +80624,8 @@ var ts; ts.addRange(diagnostics, program.getOptionsDiagnostics()); } program.emit(undefined, undefined, undefined, undefined, transpileOptions.transformers); - ts.Debug.assert(outputText !== undefined, "Output generation failed"); + if (outputText === undefined) + return ts.Debug.fail("Output generation failed"); return { outputText: outputText, diagnostics: diagnostics, sourceMapText: sourceMapText }; } ts.transpileModule = transpileModule; @@ -80045,7 +80641,7 @@ var ts; return typeof o.type === "object" && !ts.forEachEntry(o.type, function (v) { return typeof v !== "number"; }); }); options = ts.cloneCompilerOptions(options); - var _loop_17 = function (opt) { + var _loop_20 = function (opt) { if (!ts.hasProperty(options, opt.name)) { return "continue"; } @@ -80061,7 +80657,7 @@ var ts; }; for (var _i = 0, commandLineOptionsStringToEnum_1 = commandLineOptionsStringToEnum; _i < commandLineOptionsStringToEnum_1.length; _i++) { var opt = commandLineOptionsStringToEnum_1[_i]; - _loop_17(opt); + _loop_20(opt); } return options; } @@ -80195,7 +80791,7 @@ var ts; lastTokenInfo = undefined; var isStarted = scanner.getStartPos() !== startPos; if (isStarted) { - wasNewLine = trailingTrivia && ts.lastOrUndefined(trailingTrivia).kind === 4; + wasNewLine = !!trailingTrivia && ts.last(trailingTrivia).kind === 4; } else { scanner.scan(); @@ -80233,10 +80829,10 @@ var ts; function shouldRescanJsxIdentifier(node) { if (node.parent) { switch (node.parent.kind) { - case 261: - case 256: + case 262: case 257: - case 255: + case 258: + case 256: return ts.isKeyword(node.kind) || node.kind === 71; } } @@ -80395,7 +80991,7 @@ var ts; (function (formatting) { function getAllRules() { var allTokens = []; - for (var token = 0; token <= 144; token++) { + for (var token = 0; token <= 145; token++) { allTokens.push(token); } function anyTokenExcept() { @@ -80407,9 +81003,9 @@ var ts; } var anyToken = { tokens: allTokens, isSpecific: false }; var anyTokenIncludingMultilineComments = tokenRangeFrom(allTokens.concat([3])); - var keywords = tokenRangeFromRange(72, 144); + var keywords = tokenRangeFromRange(72, 145); var binaryOperators = tokenRangeFromRange(27, 70); - var binaryKeywordOperators = [92, 93, 144, 118, 127]; + var binaryKeywordOperators = [92, 93, 145, 118, 127]; var unaryPrefixOperators = [43, 44, 52, 51]; var unaryPrefixExpressions = [ 8, 71, 19, 21, @@ -80497,11 +81093,11 @@ var ts; 136, 115, 139, - 142, + 143, 128, 126, ], anyToken, [isNonJsxSameLineTokenContext], 2), - rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [85, 108, 142], [isNonJsxSameLineTokenContext], 2), + rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [85, 108, 143], [isNonJsxSameLineTokenContext], 2), rule("SpaceAfterModuleName", 9, 17, [isModuleDeclContext], 2), rule("SpaceBeforeArrow", anyToken, 36, [isNonJsxSameLineTokenContext], 2), rule("SpaceAfterArrow", 36, anyToken, [isNonJsxSameLineTokenContext], 2), @@ -80634,37 +81230,37 @@ var ts; return function (context) { return !context.options || !context.options.hasOwnProperty(optionName) || !!context.options[optionName]; }; } function isForContext(context) { - return context.contextNode.kind === 219; + return context.contextNode.kind === 220; } function isNotForContext(context) { return !isForContext(context); } function isBinaryOpContext(context) { switch (context.contextNode.kind) { - case 199: case 200: - case 170: - case 207: - case 251: - case 247: - case 160: - case 168: + case 201: + case 171: + case 208: + case 252: + case 248: + case 161: case 169: + case 170: return true; - case 181: - case 236: - case 242: - case 231: - case 148: - case 272: + case 182: + case 237: + case 243: + case 232: + case 149: + case 273: + case 152: case 151: - case 150: return context.currentTokenSpan.kind === 58 || context.nextTokenSpan.kind === 58; - case 220: - case 147: - return context.currentTokenSpan.kind === 92 || context.nextTokenSpan.kind === 92; case 221: - return context.currentTokenSpan.kind === 144 || context.nextTokenSpan.kind === 144; + case 148: + return context.currentTokenSpan.kind === 92 || context.nextTokenSpan.kind === 92; + case 222: + return context.currentTokenSpan.kind === 145 || context.nextTokenSpan.kind === 145; } return false; } @@ -80676,22 +81272,22 @@ var ts; } function isTypeAnnotationContext(context) { var contextKind = context.contextNode.kind; - return contextKind === 151 || - contextKind === 150 || - contextKind === 148 || - contextKind === 231 || + return contextKind === 152 || + contextKind === 151 || + contextKind === 149 || + contextKind === 232 || ts.isFunctionLikeKind(contextKind); } function isConditionalOperatorContext(context) { - return context.contextNode.kind === 200 || - context.contextNode.kind === 170; + return context.contextNode.kind === 201 || + context.contextNode.kind === 171; } function isSameLineTokenOrBeforeBlockContext(context) { return context.TokensAreOnSameLine() || isBeforeBlockContext(context); } function isBraceWrappedContext(context) { - return context.contextNode.kind === 179 || - context.contextNode.kind === 176 || + return context.contextNode.kind === 180 || + context.contextNode.kind === 177 || isSingleLineBlockContext(context); } function isBeforeMultilineBlockContext(context) { @@ -80714,26 +81310,26 @@ var ts; return true; } switch (node.kind) { - case 212: + case 213: + case 241: + case 184: case 240: - case 183: - case 239: return true; } return false; } function isFunctionDeclContext(context) { switch (context.contextNode.kind) { - case 233: + case 234: + case 154: case 153: - case 152: - case 155: case 156: case 157: - case 191: - case 154: + case 158: case 192: - case 235: + case 155: + case 193: + case 236: return true; } return false; @@ -80742,39 +81338,39 @@ var ts; return !isFunctionDeclContext(context); } function isFunctionDeclarationOrFunctionExpressionContext(context) { - return context.contextNode.kind === 233 || context.contextNode.kind === 191; + return context.contextNode.kind === 234 || context.contextNode.kind === 192; } function isTypeScriptDeclWithBlockContext(context) { return nodeIsTypeScriptDeclWithBlockContext(context.contextNode); } function nodeIsTypeScriptDeclWithBlockContext(node) { switch (node.kind) { - case 234: - case 204: case 235: - case 237: - case 165: + case 205: + case 236: case 238: - case 249: + case 166: + case 239: case 250: - case 243: - case 246: + case 251: + case 244: + case 247: return true; } return false; } function isAfterCodeBlockContext(context) { switch (context.currentTokenParent.kind) { - case 234: - case 238: - case 237: - case 268: + case 235: case 239: - case 226: + case 238: + case 269: + case 240: + case 227: return true; - case 212: { + case 213: { var blockParent = context.currentTokenParent.parent; - if (!blockParent || blockParent.kind !== 192 && blockParent.kind !== 191) { + if (!blockParent || blockParent.kind !== 193 && blockParent.kind !== 192) { return true; } } @@ -80783,29 +81379,29 @@ var ts; } function isControlDeclContext(context) { switch (context.contextNode.kind) { - case 216: - case 226: - case 219: + case 217: + case 227: case 220: case 221: + case 222: + case 219: + case 230: case 218: - case 229: - case 217: - case 225: - case 268: + case 226: + case 269: return true; default: return false; } } function isObjectContext(context) { - return context.contextNode.kind === 183; + return context.contextNode.kind === 184; } function isFunctionCallContext(context) { - return context.contextNode.kind === 186; + return context.contextNode.kind === 187; } function isNewContext(context) { - return context.contextNode.kind === 187; + return context.contextNode.kind === 188; } function isFunctionCallOrNewContext(context) { return isFunctionCallContext(context) || isNewContext(context); @@ -80817,35 +81413,35 @@ var ts; return context.nextTokenSpan.kind !== 22; } function isArrowFunctionContext(context) { - return context.contextNode.kind === 192; + return context.contextNode.kind === 193; } function isImportTypeContext(context) { - return context.contextNode.kind === 178; + return context.contextNode.kind === 179; } function isNonJsxSameLineTokenContext(context) { return context.TokensAreOnSameLine() && context.contextNode.kind !== 10; } function isNonJsxElementOrFragmentContext(context) { - return context.contextNode.kind !== 254 && context.contextNode.kind !== 258; + return context.contextNode.kind !== 255 && context.contextNode.kind !== 259; } function isJsxExpressionContext(context) { - return context.contextNode.kind === 264 || context.contextNode.kind === 263; + return context.contextNode.kind === 265 || context.contextNode.kind === 264; } function isNextTokenParentJsxAttribute(context) { - return context.nextTokenParent.kind === 261; + return context.nextTokenParent.kind === 262; } function isJsxAttributeContext(context) { - return context.contextNode.kind === 261; + return context.contextNode.kind === 262; } function isJsxSelfClosingElementContext(context) { - return context.contextNode.kind === 255; + return context.contextNode.kind === 256; } function isNotBeforeBlockInFunctionDeclarationContext(context) { return !isFunctionDeclContext(context) && !isBeforeBlockContext(context); } function isEndOfDecoratorContextOnSameLine(context) { return context.TokensAreOnSameLine() && - context.contextNode.decorators && + !!context.contextNode.decorators && nodeIsInDecoratorContext(context.currentTokenParent) && !nodeIsInDecoratorContext(context.nextTokenParent); } @@ -80853,45 +81449,45 @@ var ts; while (ts.isExpressionNode(node)) { node = node.parent; } - return node.kind === 149; + return node.kind === 150; } function isStartOfVariableDeclarationList(context) { - return context.currentTokenParent.kind === 232 && + return context.currentTokenParent.kind === 233 && context.currentTokenParent.getStart(context.sourceFile) === context.currentTokenSpan.pos; } function isNotFormatOnEnter(context) { return context.formattingRequestKind !== 2; } function isModuleDeclContext(context) { - return context.contextNode.kind === 238; + return context.contextNode.kind === 239; } function isObjectTypeContext(context) { - return context.contextNode.kind === 165; + return context.contextNode.kind === 166; } function isConstructorSignatureContext(context) { - return context.contextNode.kind === 158; + return context.contextNode.kind === 159; } function isTypeArgumentOrParameterOrAssertion(token, parent) { if (token.kind !== 27 && token.kind !== 29) { return false; } switch (parent.kind) { - case 161: - case 189: + case 162: + case 190: + case 237: + case 235: + case 205: case 236: case 234: - case 204: - case 235: - case 233: - case 191: case 192: + case 193: + case 154: case 153: - case 152: - case 157: case 158: - case 186: + case 159: case 187: - case 206: + case 188: + case 207: return true; default: return false; @@ -80902,16 +81498,16 @@ var ts; isTypeArgumentOrParameterOrAssertion(context.nextTokenSpan, context.nextTokenParent); } function isTypeAssertionContext(context) { - return context.contextNode.kind === 189; + return context.contextNode.kind === 190; } function isVoidOpContext(context) { - return context.currentTokenSpan.kind === 105 && context.currentTokenParent.kind === 195; + return context.currentTokenSpan.kind === 105 && context.currentTokenParent.kind === 196; } function isYieldOrYieldStarWithOperand(context) { - return context.contextNode.kind === 202 && context.contextNode.expression !== undefined; + return context.contextNode.kind === 203 && context.contextNode.expression !== undefined; } function isNonNullAssertionContext(context) { - return context.contextNode.kind === 208; + return context.contextNode.kind === 209; } })(formatting = ts.formatting || (ts.formatting = {})); })(ts || (ts = {})); @@ -80959,12 +81555,12 @@ var ts; return map; } function getRuleBucketIndex(row, column) { - ts.Debug.assert(row <= 144 && column <= 144, "Must compute formatting context from tokens"); + ts.Debug.assert(row <= 145 && column <= 145, "Must compute formatting context from tokens"); return (row * mapRowLength) + column; } var maskBitSize = 5; var mask = 31; - var mapRowLength = 144 + 1; + var mapRowLength = 145 + 1; var RulesPosition; (function (RulesPosition) { RulesPosition[RulesPosition["IgnoreRulesSpecific"] = 0] = "IgnoreRulesSpecific"; @@ -81084,17 +81680,17 @@ var ts; } function isListElement(parent, node) { switch (parent.kind) { - case 234: case 235: + case 236: return ts.rangeContainsRange(parent.members, node); - case 238: - var body = parent.body; - return body && body.kind === 239 && ts.rangeContainsRange(body.statements, node); - case 273: - case 212: case 239: + var body = parent.body; + return !!body && body.kind === 240 && ts.rangeContainsRange(body.statements, node); + case 274: + case 213: + case 240: return ts.rangeContainsRange(parent.statements, node); - case 268: + case 269: return ts.rangeContainsRange(parent.block.statements, node); } return false; @@ -81264,18 +81860,18 @@ var ts; return node.modifiers[0].kind; } switch (node.kind) { - case 234: return 75; - case 235: return 109; - case 233: return 89; - case 237: return 237; - case 155: return 125; - case 156: return 136; - case 153: + case 235: return 75; + case 236: return 109; + case 234: return 89; + case 238: return 238; + case 156: return 125; + case 157: return 136; + case 154: if (node.asteriskToken) { return 39; } - case 151: - case 148: + case 152: + case 149: return ts.getNameOfDeclaration(node).kind; } } @@ -81315,15 +81911,15 @@ var ts; case 41: case 29: switch (container.kind) { - case 256: case 257: - case 255: + case 258: + case 256: return false; } break; case 21: case 22: - if (container.kind !== 176) { + if (container.kind !== 177) { return false; } break; @@ -81392,7 +81988,7 @@ var ts; consumeTokenAndAdvanceScanner(tokenInfo, node, parentDynamicIndentation, child); return inheritedIndentation; } - var effectiveParentStartLine = child.kind === 149 ? childStartLine : undecoratedParentStartLine; + var effectiveParentStartLine = child.kind === 150 ? childStartLine : undecoratedParentStartLine; var childIndentation = computeIndentation(child, childStartLine, childIndentationAmount, node, parentDynamicIndentation, effectiveParentStartLine); processNode(child, childContextNode, childStartLine, undecoratedChildStartLine, childIndentation.indentation, childIndentation.delta); if (child.kind === 10) { @@ -81400,7 +81996,7 @@ var ts; indentMultilineCommentOrJsxText(range, childIndentation.indentation, true, false); } childContextNode = node; - if (isFirstListItem && parent.kind === 182 && inheritedIndentation === -1) { + if (isFirstListItem && parent.kind === 183 && inheritedIndentation === -1) { inheritedIndentation = childIndentation.indentation; } return inheritedIndentation; @@ -81751,12 +82347,12 @@ var ts; formatting.getRangeOfEnclosingComment = getRangeOfEnclosingComment; function getOpenTokenForList(node, list) { switch (node.kind) { - case 154: - case 233: - case 191: - case 153: - case 152: + case 155: + case 234: case 192: + case 154: + case 153: + case 193: if (node.typeParameters === list) { return 27; } @@ -81764,8 +82360,8 @@ var ts; return 19; } break; - case 186: case 187: + case 188: if (node.typeArguments === list) { return 27; } @@ -81773,7 +82369,7 @@ var ts; return 19; } break; - case 161: + case 162: if (node.typeArguments === list) { return 27; } @@ -81867,7 +82463,7 @@ var ts; if (options.indentStyle === ts.IndentStyle.Block) { return getBlockIndent(sourceFile, position, options); } - if (precedingToken.kind === 26 && precedingToken.parent.kind !== 199) { + if (precedingToken.kind === 26 && precedingToken.parent.kind !== 200) { var actualIndentation = getActualIndentationForListItemBeforeComma(precedingToken, sourceFile, options); if (actualIndentation !== -1) { return actualIndentation; @@ -81990,7 +82586,7 @@ var ts; } function getActualIndentationForNode(current, parent, currentLineAndChar, parentAndChildShareLine, sourceFile, options) { var useActualIndentation = (ts.isDeclaration(current) || ts.isStatementButNotDeclaration(current)) && - (parent.kind === 273 || !parentAndChildShareLine); + (parent.kind === 274 || !parentAndChildShareLine); if (!useActualIndentation) { return -1; } @@ -82029,7 +82625,7 @@ var ts; } SmartIndenter.isArgumentAndStartLineOverlapsExpressionBeingCalled = isArgumentAndStartLineOverlapsExpressionBeingCalled; function childStartsOnTheSameLineWithElseInIfStatement(parent, child, childStartLine, sourceFile) { - if (parent.kind === 216 && parent.elseStatement === child) { + if (parent.kind === 217 && parent.elseStatement === child) { var elseKeyword = ts.findChildOfKind(parent, 82, sourceFile); ts.Debug.assert(elseKeyword !== undefined); var elseKeywordStartLine = getStartLineAndCharacterForNode(elseKeyword, sourceFile).line; @@ -82045,40 +82641,40 @@ var ts; if (node.parent) { var end = node.end; switch (node.parent.kind) { - case 161: + case 162: return getListIfStartEndIsInListRange(node.parent.typeArguments, node.getStart(sourceFile), end); - case 183: + case 184: return node.parent.properties; - case 182: + case 183: return node.parent.elements; - case 233: - case 191: + case 234: case 192: - case 153: - case 152: - case 157: + case 193: case 154: - case 163: - case 158: { + case 153: + case 158: + case 155: + case 164: + case 159: { var start = node.getStart(sourceFile); return getListIfStartEndIsInListRange(node.parent.typeParameters, start, end) || getListIfStartEndIsInListRange(node.parent.parameters, start, end); } - case 234: + case 235: return getListIfStartEndIsInListRange(node.parent.typeParameters, node.getStart(sourceFile), end); - case 187: - case 186: { + case 188: + case 187: { var start = node.getStart(sourceFile); return getListIfStartEndIsInListRange(node.parent.typeArguments, start, end) || getListIfStartEndIsInListRange(node.parent.arguments, start, end); } - case 232: + case 233: return getListIfStartEndIsInListRange(node.parent.declarations, node.getStart(sourceFile), end); - case 246: - case 250: + case 247: + case 251: return getListIfStartEndIsInListRange(node.parent.elements, node.getStart(sourceFile), end); - case 179: case 180: + case 181: return getListIfStartEndIsInListRange(node.parent.elements, node.getStart(sourceFile), end); } } @@ -82116,10 +82712,10 @@ var ts; function getStartingExpression(node) { while (true) { switch (node.kind) { - case 186: case 187: - case 184: + case 188: case 185: + case 186: node = node.expression; break; default: @@ -82171,107 +82767,104 @@ var ts; return findFirstNonWhitespaceCharacterAndColumn(startPos, endPos, sourceFile, options).column; } SmartIndenter.findFirstNonWhitespaceColumn = findFirstNonWhitespaceColumn; - function nodeContentIsAlwaysIndented(kind) { - switch (kind) { - case 215: - case 234: - case 204: - case 235: - case 237: - case 236: - case 182: - case 212: - case 239: - case 183: - case 165: - case 176: - case 167: - case 240: - case 266: - case 265: - case 190: - case 184: - case 186: - case 187: - case 213: - case 231: - case 248: - case 224: - case 200: - case 180: - case 179: - case 256: - case 259: - case 255: - case 264: - case 152: - case 157: - case 158: - case 148: - case 162: - case 163: - case 172: - case 188: - case 196: - case 250: - case 246: - case 251: - case 247: - case 269: - case 151: - return true; - } - return false; - } function nodeWillIndentChild(settings, parent, child, sourceFile, indentByDefault) { var childKind = child ? child.kind : 0; switch (parent.kind) { - case 231: - case 269: + case 216: + case 235: + case 205: + case 236: + case 238: + case 237: case 183: - if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 183) { + case 213: + case 240: + case 184: + case 166: + case 177: + case 168: + case 241: + case 267: + case 266: + case 191: + case 185: + case 187: + case 188: + case 214: + case 249: + case 225: + case 201: + case 181: + case 180: + case 257: + case 260: + case 256: + case 265: + case 153: + case 158: + case 159: + case 149: + case 163: + case 164: + case 173: + case 189: + case 197: + case 251: + case 247: + case 252: + case 248: + case 152: + return true; + case 232: + case 270: + if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 184) { return rangeIsOnOneLine(sourceFile, child); } - break; - case 217: + return true; case 218: - case 220: - case 221: case 219: - case 216: - case 233: - case 191: - case 153: + case 221: + case 222: + case 220: + case 217: + case 234: case 192: case 154: + case 193: case 155: case 156: - return childKind !== 212; - case 249: - return childKind !== 250; - case 243: - return childKind !== 244 || - (!!child.namedBindings && child.namedBindings.kind !== 246); - case 254: - return childKind !== 257; - case 258: - return childKind !== 260; + case 157: + return childKind !== 213; + case 250: + return childKind !== 251; + case 244: + return childKind !== 245 || + (!!child.namedBindings && child.namedBindings.kind !== 247); + case 255: + return childKind !== 258; + case 259: + return childKind !== 261; + case 170: + case 169: + if (childKind === 166) { + return false; + } } return indentByDefault; } SmartIndenter.nodeWillIndentChild = nodeWillIndentChild; function isControlFlowEndingStatement(kind, parent) { switch (kind) { - case 224: - case 228: { - if (parent.kind !== 212) { + case 225: + case 229: { + if (parent.kind !== 213) { return true; } var grandParent = parent.parent; - return !(grandParent && grandParent.kind === 191 || grandParent.kind === 233); + return !(grandParent && grandParent.kind === 192 || grandParent.kind === 234); } - case 222: case 223: + case 224: return true; default: return false; @@ -82279,7 +82872,7 @@ var ts; } function shouldIndentChildNode(settings, parent, child, sourceFile, isNextChild) { if (isNextChild === void 0) { isNextChild = false; } - return (nodeContentIsAlwaysIndented(parent.kind) || nodeWillIndentChild(settings, parent, child, sourceFile, false)) + return nodeWillIndentChild(settings, parent, child, sourceFile, false) && !(isNextChild && child && isControlFlowEndingStatement(child.kind, parent)); } SmartIndenter.shouldIndentChildNode = shouldIndentChildNode; @@ -82378,7 +82971,7 @@ var ts; : end; } function isSeparator(node, candidate) { - return candidate && node.parent && (candidate.kind === 26 || (candidate.kind === 25 && node.parent.kind === 183)); + return !!candidate && !!node.parent && (candidate.kind === 26 || (candidate.kind === 25 && node.parent.kind === 184)); } function spaces(count) { var s = ""; @@ -82422,6 +83015,12 @@ var ts; this.deleteRange(sourceFile, { pos: startPosition, end: endPosition }); return this; }; + ChangeTracker.prototype.deleteNodeRangeExcludingEnd = function (sourceFile, startNode, afterEndNode, options) { + if (options === void 0) { options = {}; } + var startPosition = getAdjustedStartPosition(sourceFile, startNode, options, Position.FullStart); + var endPosition = afterEndNode === undefined ? sourceFile.text.length : getAdjustedStartPosition(sourceFile, afterEndNode, options, Position.FullStart); + this.deleteRange(sourceFile, { pos: startPosition, end: endPosition }); + }; ChangeTracker.prototype.deleteNodeInList = function (sourceFile, node) { var containingList = ts.formatting.SmartIndenter.getContainingList(node, sourceFile); if (!containingList) { @@ -82527,7 +83126,7 @@ var ts; } } else { - endNode = node.kind !== 231 && node.questionToken ? node.questionToken : node.name; + endNode = node.kind !== 232 && node.questionToken ? node.questionToken : node.name; } this.insertNodeAt(sourceFile, endNode.end, type, { prefix: ": " }); }; @@ -82627,7 +83226,7 @@ var ts; else if (ts.isStatement(node) || ts.isClassOrTypeElement(node)) { return { suffix: this.newLineCharacter }; } - else if (ts.isVariableDeclaration(node)) { + else if (ts.isVariableDeclaration(node) || ts.isStringLiteral(node)) { return { prefix: ", " }; } else if (ts.isPropertyAssignment(node)) { @@ -82640,7 +83239,7 @@ var ts; }; ChangeTracker.prototype.insertName = function (sourceFile, node, name) { ts.Debug.assert(!node.name); - if (node.kind === 192) { + if (node.kind === 193) { var arrow = ts.findChildOfKind(node, 36, sourceFile); var lparen = ts.findChildOfKind(node, 19, sourceFile); if (lparen) { @@ -82651,13 +83250,13 @@ var ts; this.insertText(sourceFile, ts.first(node.parameters).getStart(sourceFile), "function " + name + "("); this.replaceRange(sourceFile, arrow, ts.createToken(20)); } - if (node.body.kind !== 212) { + if (node.body.kind !== 213) { this.insertNodesAt(sourceFile, node.body.getStart(sourceFile), [ts.createToken(17), ts.createToken(96)], { joiner: " ", suffix: " " }); this.insertNodesAt(sourceFile, node.body.end, [ts.createToken(25), ts.createToken(18)], { joiner: " " }); } } else { - var pos = ts.findChildOfKind(node, node.kind === 191 ? 89 : 75, sourceFile).end; + var pos = ts.findChildOfKind(node, node.kind === 192 ? 89 : 75, sourceFile).end; this.insertNodeAt(sourceFile, pos, ts.createIdentifier(name), { prefix: " " }); } }; @@ -82754,7 +83353,7 @@ var ts; var changes = changesToText.getTextChangesFromChanges(this.changes, this.newLineCharacter, this.formatContext, validate); for (var _i = 0, _a = this.newFiles; _i < _a.length; _i++) { var _b = _a[_i], oldFile = _b.oldFile, fileName = _b.fileName, statements = _b.statements; - changes.push(changesToText.newFileChanges(oldFile, fileName, statements, this.newLineCharacter)); + changes.push(changesToText.newFileChanges(oldFile, fileName, statements, this.newLineCharacter, this.formatContext)); } return changes; }; @@ -82776,13 +83375,13 @@ var ts; return ts.group(changes, function (c) { return c.sourceFile.path; }).map(function (changesInFile) { var sourceFile = changesInFile[0].sourceFile; var normalized = ts.stableSort(changesInFile, function (a, b) { return (a.range.pos - b.range.pos) || (a.range.end - b.range.end); }); - var _loop_18 = function (i) { + var _loop_21 = function (i) { ts.Debug.assert(normalized[i].range.end <= normalized[i + 1].range.pos, "Changes overlap", function () { return JSON.stringify(normalized[i].range) + " and " + JSON.stringify(normalized[i + 1].range); }); }; for (var i = 0; i < normalized.length - 1; i++) { - _loop_18(i); + _loop_21(i); } var textChanges = normalized.map(function (c) { return ts.createTextChange(ts.createTextSpanFromRange(c.range), computeNewText(c, sourceFile, newLineCharacter, formatContext, validate)); @@ -82791,8 +83390,11 @@ var ts; }); } changesToText.getTextChangesFromChanges = getTextChangesFromChanges; - function newFileChanges(oldFile, fileName, statements, newLineCharacter) { - var text = statements.map(function (s) { return getNonformattedText(s, oldFile, newLineCharacter).text; }).join(newLineCharacter); + function newFileChanges(oldFile, fileName, statements, newLineCharacter, formatContext) { + var nonFormattedText = statements.map(function (s) { return getNonformattedText(s, oldFile, newLineCharacter).text; }).join(newLineCharacter); + var sourceFile = ts.createSourceFile(fileName, nonFormattedText, 6); + var changes = ts.formatting.formatDocument(sourceFile, formatContext); + var text = applyChanges(nonFormattedText, changes); return { fileName: fileName, textChanges: [ts.createTextChange(ts.createTextSpan(0, 0), text)], isNewFile: true }; } changesToText.newFileChanges = newFileChanges; @@ -83030,7 +83632,7 @@ var ts; } textChanges_3.isValidLocationToAddComment = isValidLocationToAddComment; function needSemicolonBetween(a, b) { - return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 146 + return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 147 || ts.isStatementButNotDeclaration(a) && ts.isStatementButNotDeclaration(b); } })(textChanges = ts.textChanges || (ts.textChanges = {})); @@ -83099,8 +83701,8 @@ var ts; } codefix.codeFixAll = codeFixAll; function eachDiagnostic(_a, errorCodes, cb) { - var program = _a.program, sourceFile = _a.sourceFile; - for (var _i = 0, _b = program.getSemanticDiagnostics(sourceFile).concat(ts.computeSuggestionDiagnostics(sourceFile, program)); _i < _b.length; _i++) { + var program = _a.program, sourceFile = _a.sourceFile, cancellationToken = _a.cancellationToken; + for (var _i = 0, _b = program.getSemanticDiagnostics(sourceFile, cancellationToken).concat(ts.computeSuggestionDiagnostics(sourceFile, program, cancellationToken)); _i < _b.length; _i++) { var diag = _b[_i]; if (ts.contains(errorCodes, diag.code)) { cb(diag); @@ -83229,26 +83831,26 @@ var ts; } function isDeclarationWithType(node) { return ts.isFunctionLikeDeclaration(node) || - node.kind === 231 || - node.kind === 150 || - node.kind === 151; + node.kind === 232 || + node.kind === 151 || + node.kind === 152; } function transformJSDocType(node) { switch (node.kind) { - case 278: case 279: - return ts.createTypeReferenceNode("any", ts.emptyArray); - case 282: - return transformJSDocOptionalType(node); - case 281: - return transformJSDocType(node.type); case 280: - return transformJSDocNullableType(node); - case 284: - return transformJSDocVariadicType(node); + return ts.createTypeReferenceNode("any", ts.emptyArray); case 283: + return transformJSDocOptionalType(node); + case 282: + return transformJSDocType(node.type); + case 281: + return transformJSDocNullableType(node); + case 285: + return transformJSDocVariadicType(node); + case 284: return transformJSDocFunctionType(node); - case 161: + case 162: return transformJSDocTypeReference(node); default: var visited = ts.visitEachChild(node, transformJSDocType, undefined); @@ -83270,7 +83872,7 @@ var ts; } function transformJSDocParameter(node) { var index = node.parent.parameters.indexOf(node); - var isRest = node.type.kind === 284 && index === node.parent.parameters.length - 1; + var isRest = node.type.kind === 285 && index === node.parent.parameters.length - 1; var name = node.name || (isRest ? "rest" : "arg" + index); var dotdotdot = isRest ? ts.createToken(24) : node.dotDotDotToken; return ts.createParameter(node.decorators, node.modifiers, dotdotdot, name, node.questionToken, ts.visitNode(node.type, transformJSDocType), node.initializer); @@ -83339,12 +83941,12 @@ var ts; var precedingNode; var newClassDeclaration; switch (ctorDeclaration.kind) { - case 233: + case 234: precedingNode = ctorDeclaration; deleteNode(ctorDeclaration); newClassDeclaration = createClassFromFunctionDeclaration(ctorDeclaration); break; - case 231: + case 232: precedingNode = ctorDeclaration.parent.parent; newClassDeclaration = createClassFromVariableDeclaration(ctorDeclaration); if (ctorDeclaration.parent.declarations.length === 1) { @@ -83407,25 +84009,25 @@ var ts; if (!shouldConvertDeclaration(memberDeclaration, assignmentBinaryExpression.right)) { return; } - var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 215 + var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 216 ? assignmentBinaryExpression.parent : assignmentBinaryExpression; deleteNode(nodeToDelete); if (!assignmentBinaryExpression.right) { return ts.createProperty([], modifiers, symbol.name, undefined, undefined, undefined); } switch (assignmentBinaryExpression.right.kind) { - case 191: { + case 192: { var functionExpression = assignmentBinaryExpression.right; var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(functionExpression, 120)); var method = ts.createMethod(undefined, fullModifiers, undefined, memberDeclaration.name, undefined, undefined, functionExpression.parameters, undefined, functionExpression.body); copyComments(assignmentBinaryExpression, method, sourceFile); return method; } - case 192: { + case 193: { var arrowFunction = assignmentBinaryExpression.right; var arrowFunctionBody = arrowFunction.body; var bodyBlock = void 0; - if (arrowFunctionBody.kind === 212) { + if (arrowFunctionBody.kind === 213) { bodyBlock = arrowFunctionBody; } else { @@ -83449,13 +84051,13 @@ var ts; } function createClassFromVariableDeclaration(node) { var initializer = node.initializer; - if (!initializer || initializer.kind !== 191) { + if (!initializer || initializer.kind !== 192) { return undefined; } if (node.name.kind !== 71) { return undefined; } - var memberElements = createClassElementsFromSymbol(initializer.symbol); + var memberElements = createClassElementsFromSymbol(node.symbol); if (initializer.body) { memberElements.unshift(ts.createConstructor(undefined, undefined, initializer.parameters, initializer.body)); } @@ -83497,20 +84099,20 @@ var ts; codefix.registerCodeFix({ errorCodes: [ts.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module.code], getCodeActions: function (context) { - var sourceFile = context.sourceFile, program = context.program; + var sourceFile = context.sourceFile, program = context.program, preferences = context.preferences; var changes = ts.textChanges.ChangeTracker.with(context, function (changes) { - var moduleExportsChangedToDefault = convertFileToEs6Module(sourceFile, program.getTypeChecker(), changes, program.getCompilerOptions().target); + var moduleExportsChangedToDefault = convertFileToEs6Module(sourceFile, program.getTypeChecker(), changes, program.getCompilerOptions().target, preferences); if (moduleExportsChangedToDefault) { for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { var importingFile = _a[_i]; - fixImportOfModuleExports(importingFile, sourceFile, changes); + fixImportOfModuleExports(importingFile, sourceFile, changes, preferences); } } }); return [codefix.createCodeFixActionNoFixId("convertToEs6Module", changes, ts.Diagnostics.Convert_to_ES6_module)]; }, }); - function fixImportOfModuleExports(importingFile, exportingFile, changes) { + function fixImportOfModuleExports(importingFile, exportingFile, changes, preferences) { for (var _i = 0, _a = importingFile.imports; _i < _a.length; _i++) { var moduleSpecifier = _a[_i]; var imported = ts.getResolvedModule(importingFile, moduleSpecifier.text); @@ -83519,10 +84121,10 @@ var ts; } var importNode = ts.importFromModuleSpecifier(moduleSpecifier); switch (importNode.kind) { - case 242: - changes.replaceNode(importingFile, importNode, ts.makeImport(importNode.name, undefined, moduleSpecifier)); + case 243: + changes.replaceNode(importingFile, importNode, ts.makeImport(importNode.name, undefined, moduleSpecifier, preferences)); break; - case 186: + case 187: if (ts.isRequireCall(importNode, false)) { changes.replaceNode(importingFile, importNode, ts.createPropertyAccess(ts.getSynthesizedDeepClone(importNode), "default")); } @@ -83530,14 +84132,14 @@ var ts; } } } - function convertFileToEs6Module(sourceFile, checker, changes, target) { + function convertFileToEs6Module(sourceFile, checker, changes, target, preferences) { var identifiers = { original: collectFreeIdentifiers(sourceFile), additional: ts.createMap() }; var exports = collectExportRenames(sourceFile, checker, identifiers); convertExportsAccesses(sourceFile, exports, changes); var moduleExportsChangedToDefault = false; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var statement = _a[_i]; - var moduleExportsChanged = convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports); + var moduleExportsChanged = convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports, preferences); moduleExportsChangedToDefault = moduleExportsChangedToDefault || moduleExportsChanged; } return moduleExportsChangedToDefault; @@ -83571,21 +84173,21 @@ var ts; node.forEachChild(recur); }); } - function convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports) { + function convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports, preferences) { switch (statement.kind) { - case 213: - convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target); + case 214: + convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target, preferences); return false; - case 215: { + case 216: { var expression = statement.expression; switch (expression.kind) { - case 186: { + case 187: { if (ts.isRequireCall(expression, true)) { - changes.replaceNode(sourceFile, statement, ts.makeImport(undefined, undefined, expression.arguments[0])); + changes.replaceNode(sourceFile, statement, ts.makeImport(undefined, undefined, expression.arguments[0], preferences)); } return false; } - case 199: { + case 200: { var operatorToken = expression.operatorToken; return operatorToken.kind === 58 && convertAssignment(sourceFile, checker, expression, changes, exports); } @@ -83595,7 +84197,7 @@ var ts; return false; } } - function convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target) { + function convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target, preferences) { var declarationList = statement.declarationList; var foundImport = false; var newNodes = ts.flatMap(declarationList.declarations, function (decl) { @@ -83607,11 +84209,11 @@ var ts; } else if (ts.isRequireCall(initializer, true)) { foundImport = true; - return convertSingleImport(sourceFile, name, initializer.arguments[0], changes, checker, identifiers, target); + return convertSingleImport(sourceFile, name, initializer.arguments[0], changes, checker, identifiers, target, preferences); } else if (ts.isPropertyAccessExpression(initializer) && ts.isRequireCall(initializer.expression, true)) { foundImport = true; - return convertPropertyAccessImport(name, initializer.name.text, initializer.expression.arguments[0], identifiers); + return convertPropertyAccessImport(name, initializer.name.text, initializer.expression.arguments[0], identifiers, preferences); } } return ts.createVariableStatement(undefined, ts.createVariableDeclarationList([decl], declarationList.flags)); @@ -83620,20 +84222,20 @@ var ts; changes.replaceNodeWithNodes(sourceFile, statement, newNodes); } } - function convertPropertyAccessImport(name, propertyName, moduleSpecifier, identifiers) { + function convertPropertyAccessImport(name, propertyName, moduleSpecifier, identifiers, preferences) { switch (name.kind) { - case 179: - case 180: { + case 180: + case 181: { var tmp = makeUniqueName(propertyName, identifiers); return [ - makeSingleImport(tmp, propertyName, moduleSpecifier), + makeSingleImport(tmp, propertyName, moduleSpecifier, preferences), makeConst(undefined, name, ts.createIdentifier(tmp)), ]; } case 71: - return [makeSingleImport(name.text, propertyName, moduleSpecifier)]; + return [makeSingleImport(name.text, propertyName, moduleSpecifier, preferences)]; default: - ts.Debug.assertNever(name); + return ts.Debug.assertNever(name); } } function convertAssignment(sourceFile, checker, assignment, changes, exports) { @@ -83667,14 +84269,14 @@ var ts; function tryChangeModuleExportsObject(object) { var statements = ts.mapAllOrFail(object.properties, function (prop) { switch (prop.kind) { - case 155: case 156: - case 270: + case 157: case 271: + case 272: return undefined; - case 269: + case 270: return !ts.isIdentifier(prop.name) ? undefined : convertExportsDotXEquals_replaceNode(prop.name.text, prop.initializer); - case 153: + case 154: return !ts.isIdentifier(prop.name) ? undefined : functionExpressionToDeclaration(prop.name.text, [ts.createToken(84)], prop); default: ts.Debug.assertNever(prop); @@ -83730,15 +84332,15 @@ var ts; function convertExportsDotXEquals_replaceNode(name, exported) { var modifiers = [ts.createToken(84)]; switch (exported.kind) { - case 191: { + case 192: { var expressionName = exported.name; if (expressionName && expressionName.text !== name) { return exportConst(); } } - case 192: + case 193: return functionExpressionToDeclaration(name, modifiers, exported); - case 204: + case 205: return classExpressionToDeclaration(name, modifiers, exported); default: return exportConst(); @@ -83747,32 +84349,32 @@ var ts; return makeConst(modifiers, ts.createIdentifier(name), exported); } } - function convertSingleImport(file, name, moduleSpecifier, changes, checker, identifiers, target) { + function convertSingleImport(file, name, moduleSpecifier, changes, checker, identifiers, target, preferences) { switch (name.kind) { - case 179: { + case 180: { var importSpecifiers = ts.mapAllOrFail(name.elements, function (e) { return e.dotDotDotToken || e.initializer || e.propertyName && !ts.isIdentifier(e.propertyName) || !ts.isIdentifier(e.name) ? undefined : makeImportSpecifier(e.propertyName && e.propertyName.text, e.name.text); }); if (importSpecifiers) { - return [ts.makeImport(undefined, importSpecifiers, moduleSpecifier)]; + return [ts.makeImport(undefined, importSpecifiers, moduleSpecifier, preferences)]; } } - case 180: { + case 181: { var tmp = makeUniqueName(codefix.moduleSpecifierToValidIdentifier(moduleSpecifier.text, target), identifiers); return [ - ts.makeImport(ts.createIdentifier(tmp), undefined, moduleSpecifier), + ts.makeImport(ts.createIdentifier(tmp), undefined, moduleSpecifier, preferences), makeConst(undefined, ts.getSynthesizedDeepClone(name), ts.createIdentifier(tmp)), ]; } case 71: - return convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers); + return convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers, preferences); default: - ts.Debug.assertNever(name); + return ts.Debug.assertNever(name); } } - function convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers) { + function convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers, preferences) { var nameSymbol = checker.getSymbolAtLocation(name); var namedBindingsNames = ts.createMap(); var needDefaultImport = false; @@ -83803,7 +84405,7 @@ var ts; if (!namedBindings) { needDefaultImport = true; } - return [ts.makeImport(needDefaultImport ? ts.getSynthesizedDeepClone(name) : undefined, namedBindings, moduleSpecifier)]; + return [ts.makeImport(needDefaultImport ? ts.getSynthesizedDeepClone(name) : undefined, namedBindings, moduleSpecifier, preferences)]; } function makeUniqueName(name, identifiers) { while (identifiers.original.has(name) || identifiers.additional.has(name)) { @@ -83814,20 +84416,22 @@ var ts; } function collectFreeIdentifiers(file) { var map = ts.createMultiMap(); - file.forEachChild(function recur(node) { - if (ts.isIdentifier(node) && isFreeIdentifier(node)) { - map.add(node.text, node); - } - node.forEachChild(recur); - }); + forEachFreeIdentifier(file, function (id) { return map.add(id.text, id); }); return map; } + function forEachFreeIdentifier(node, cb) { + if (ts.isIdentifier(node) && isFreeIdentifier(node)) + cb(node); + node.forEachChild(function (child) { return forEachFreeIdentifier(child, cb); }); + } function isFreeIdentifier(node) { var parent = node.parent; switch (parent.kind) { - case 184: + case 185: return parent.name !== node; - case 181: + case 182: + return parent.propertyName !== node; + case 248: return parent.propertyName !== node; default: return true; @@ -83839,10 +84443,10 @@ var ts; function classExpressionToDeclaration(name, additionalModifiers, cls) { return ts.createClassDeclaration(ts.getSynthesizedDeepClones(cls.decorators), ts.concatenate(additionalModifiers, ts.getSynthesizedDeepClones(cls.modifiers)), name, ts.getSynthesizedDeepClones(cls.typeParameters), ts.getSynthesizedDeepClones(cls.heritageClauses), ts.getSynthesizedDeepClones(cls.members)); } - function makeSingleImport(localName, propertyName, moduleSpecifier) { + function makeSingleImport(localName, propertyName, moduleSpecifier, preferences) { return propertyName === "default" - ? ts.makeImport(ts.createIdentifier(localName), undefined, moduleSpecifier) - : ts.makeImport(undefined, [makeImportSpecifier(propertyName, localName)], moduleSpecifier); + ? ts.makeImport(ts.createIdentifier(localName), undefined, moduleSpecifier, preferences) + : ts.makeImport(undefined, [makeImportSpecifier(propertyName, localName)], moduleSpecifier, preferences); } function makeImportSpecifier(propertyName, name) { return ts.createImportSpecifier(propertyName !== undefined && propertyName !== name ? ts.createIdentifier(propertyName) : undefined, ts.createIdentifier(name)); @@ -83926,10 +84530,14 @@ var ts; function getClass(sourceFile, pos) { return ts.Debug.assertDefined(ts.getContainingClass(ts.getTokenAtPosition(sourceFile, pos, false))); } + function symbolPointsToNonPrivateMember(symbol) { + return !(ts.getModifierFlags(symbol.valueDeclaration) & 8); + } function addMissingDeclarations(checker, implementedTypeNode, sourceFile, classDeclaration, changeTracker, preferences) { + var maybeHeritageClauseSymbol = getHeritageClauseSymbolTable(classDeclaration, checker); var implementedType = checker.getTypeAtLocation(implementedTypeNode); var implementedTypeSymbols = checker.getPropertiesOfType(implementedType); - var nonPrivateMembers = implementedTypeSymbols.filter(function (symbol) { return !(ts.getModifierFlags(symbol.valueDeclaration) & 8); }); + var nonPrivateAndNotExistedInHeritageClauseMembers = implementedTypeSymbols.filter(ts.and(symbolPointsToNonPrivateMember, function (symbol) { return !maybeHeritageClauseSymbol.has(symbol.escapedName); })); var classType = checker.getTypeAtLocation(classDeclaration); if (!classType.getNumberIndexType()) { createMissingIndexSignatureDeclaration(implementedType, 1); @@ -83937,7 +84545,7 @@ var ts; if (!classType.getStringIndexType()) { createMissingIndexSignatureDeclaration(implementedType, 0); } - codefix.createMissingMemberNodes(classDeclaration, nonPrivateMembers, checker, preferences, function (member) { return changeTracker.insertNodeAtClassStart(sourceFile, classDeclaration, member); }); + codefix.createMissingMemberNodes(classDeclaration, nonPrivateAndNotExistedInHeritageClauseMembers, checker, preferences, function (member) { return changeTracker.insertNodeAtClassStart(sourceFile, classDeclaration, member); }); function createMissingIndexSignatureDeclaration(type, kind) { var indexInfoOfKind = checker.getIndexInfoOfType(type, kind); if (indexInfoOfKind) { @@ -83945,6 +84553,14 @@ var ts; } } } + function getHeritageClauseSymbolTable(classDeclaration, checker) { + var heritageClauseNode = ts.getClassExtendsHeritageClauseElement(classDeclaration); + if (!heritageClauseNode) + return ts.createSymbolTable(); + var heritageClauseType = checker.getTypeAtLocation(heritageClauseNode); + var heritageClauseTypeSymbols = checker.getPropertiesOfType(heritageClauseType); + return ts.createSymbolTable(heritageClauseTypeSymbols.filter(symbolPointsToNonPrivateMember)); + } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); var ts; @@ -83960,7 +84576,9 @@ var ts; ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code, ts.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here.code, ], - getCodeActions: getImportCodeActions, + getCodeActions: function (context) { return context.errorCode === ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code + ? getActionsForUMDImport(context) + : getActionsForNonUMDImport(context); }, fixIds: [], getAllCodeActions: ts.notImplemented, }); @@ -83977,7 +84595,6 @@ var ts; program: program, checker: checker, compilerOptions: program.getCompilerOptions(), - cachedImportDeclarations: [], getCanonicalFileName: ts.createGetCanonicalFileName(ts.hostUsesCaseSensitiveFileNames(context.host)), symbolName: symbolName, symbolToken: symbolToken, @@ -84021,46 +84638,57 @@ var ts; return result; } function getCodeActionsForImport_separateExistingAndNew(exportInfos, context, useExisting, addNew) { - var existingImports = ts.flatMap(exportInfos, function (info) { - return getImportDeclarations(info, context.checker, context.sourceFile, context.cachedImportDeclarations); - }); - if (context.symbolToken && ts.isIdentifier(context.symbolToken)) { - for (var _i = 0, existingImports_1 = existingImports; _i < existingImports_1.length; _i++) { - var declaration = existingImports_1[_i].declaration; - var namespace = getNamespaceImportName(declaration); - if (namespace) { - var moduleSymbol = context.checker.getAliasedSymbol(context.checker.getSymbolAtLocation(namespace)); - if (moduleSymbol && moduleSymbol.exports.has(ts.escapeLeadingUnderscores(context.symbolName))) { - useExisting.push(getCodeActionForUseExistingNamespaceImport(namespace.text, context, context.symbolToken)); - } + var existingImports = ts.flatMap(exportInfos, function (info) { return getExistingImportDeclarations(info, context.checker, context.sourceFile); }); + ts.append(useExisting, tryUseExistingNamespaceImport(existingImports, context, context.symbolToken, context.checker)); + var addToExisting = tryAddToExistingImport(existingImports, context); + if (addToExisting) { + useExisting.push(addToExisting); + } + else { + getCodeActionsForAddImport(exportInfos, context, existingImports, addNew); + } + } + function tryUseExistingNamespaceImport(existingImports, context, symbolToken, checker) { + return !symbolToken || !ts.isIdentifier(symbolToken) ? undefined : ts.firstDefined(existingImports, function (_a) { + var declaration = _a.declaration; + var namespace = getNamespaceImportName(declaration); + if (namespace) { + var moduleSymbol = namespace && checker.getAliasedSymbol(checker.getSymbolAtLocation(namespace)); + if (moduleSymbol && moduleSymbol.exports.has(ts.escapeLeadingUnderscores(context.symbolName))) { + return getCodeActionForUseExistingNamespaceImport(namespace.text, context, symbolToken); } } - } - getCodeActionsForAddImport(exportInfos, context, existingImports, useExisting, addNew); + }); + } + function tryAddToExistingImport(existingImports, context) { + return ts.firstDefined(existingImports, function (_a) { + var declaration = _a.declaration, importKind = _a.importKind; + if (declaration.kind === 244 && declaration.importClause) { + var changes = tryUpdateExistingImport(context, declaration.importClause, importKind); + if (changes) { + var moduleSpecifierWithoutQuotes = ts.stripQuotes(declaration.moduleSpecifier.getText()); + return createCodeAction(ts.Diagnostics.Add_0_to_existing_import_declaration_from_1, [context.symbolName, moduleSpecifierWithoutQuotes], changes); + } + } + }); } function getNamespaceImportName(declaration) { - if (declaration.kind === 243) { + if (declaration.kind === 244) { var namedBindings = declaration.importClause && ts.isImportClause(declaration.importClause) && declaration.importClause.namedBindings; - return namedBindings && namedBindings.kind === 245 ? namedBindings.name : undefined; + return namedBindings && namedBindings.kind === 246 ? namedBindings.name : undefined; } else { return declaration.name; } } - function getImportDeclarations(_a, checker, _b, cachedImportDeclarations) { + function getExistingImportDeclarations(_a, checker, _b) { var moduleSymbol = _a.moduleSymbol, importKind = _a.importKind; var imports = _b.imports; - if (cachedImportDeclarations === void 0) { cachedImportDeclarations = []; } - var moduleSymbolId = ts.getUniqueSymbolId(moduleSymbol, checker); - var cached = cachedImportDeclarations[moduleSymbolId]; - if (!cached) { - cached = cachedImportDeclarations[moduleSymbolId] = ts.mapDefined(imports, function (moduleSpecifier) { - var i = ts.importFromModuleSpecifier(moduleSpecifier); - return (i.kind === 243 || i.kind === 242) - && checker.getSymbolAtLocation(moduleSpecifier) === moduleSymbol ? { declaration: i, importKind: importKind } : undefined; - }); - } - return cached; + return ts.mapDefined(imports, function (moduleSpecifier) { + var i = ts.importFromModuleSpecifier(moduleSpecifier); + return (i.kind === 244 || i.kind === 243) + && checker.getSymbolAtLocation(moduleSpecifier) === moduleSymbol ? { declaration: i, importKind: importKind } : undefined; + }); } function getCodeActionForNewImport(context, _a) { var moduleSpecifier = _a.moduleSpecifier, importKind = _a.importKind; @@ -84111,21 +84739,7 @@ var ts; }); return ts.flatten(choicesForEachExportingModule.sort(function (a, b) { return ts.first(a).moduleSpecifier.length - ts.first(b).moduleSpecifier.length; })); } - function getCodeActionsForAddImport(exportInfos, ctx, existingImports, useExisting, addNew) { - var fromExistingImport = ts.firstDefined(existingImports, function (_a) { - var declaration = _a.declaration, importKind = _a.importKind; - if (declaration.kind === 243 && declaration.importClause) { - var changes = tryUpdateExistingImport(ctx, ts.isImportClause(declaration.importClause) && declaration.importClause || undefined, importKind); - if (changes) { - var moduleSpecifierWithoutQuotes = ts.stripQuotes(declaration.moduleSpecifier.getText()); - return createCodeAction(ts.Diagnostics.Add_0_to_existing_import_declaration_from_1, [ctx.symbolName, moduleSpecifierWithoutQuotes], changes); - } - } - }); - if (fromExistingImport) { - useExisting.push(fromExistingImport); - return; - } + function getCodeActionsForAddImport(exportInfos, ctx, existingImports, addNew) { var existingDeclaration = ts.firstDefined(existingImports, newImportInfoFromExistingSpecifier); var newImportInfos = existingDeclaration ? [existingDeclaration] @@ -84137,9 +84751,9 @@ var ts; } function newImportInfoFromExistingSpecifier(_a) { var declaration = _a.declaration, importKind = _a.importKind; - var expression = declaration.kind === 243 + var expression = declaration.kind === 244 ? declaration.moduleSpecifier - : declaration.moduleReference.kind === 253 + : declaration.moduleReference.kind === 254 ? declaration.moduleReference.expression : undefined; return expression && ts.isStringLiteral(expression) ? { moduleSpecifier: expression.text, importKind: importKind } : undefined; @@ -84147,7 +84761,7 @@ var ts; function tryUpdateExistingImport(context, importClause, importKind) { var symbolName = context.symbolName, sourceFile = context.sourceFile; var name = importClause.name; - var namedBindings = (importClause.kind !== 242 && importClause).namedBindings; + var namedBindings = (importClause.kind !== 243 && importClause).namedBindings; switch (importKind) { case 1: return name ? undefined : ChangeTracker.with(context, function (t) { @@ -84155,10 +84769,10 @@ var ts; }); case 0: { var newImportSpecifier_1 = ts.createImportSpecifier(undefined, ts.createIdentifier(symbolName)); - if (namedBindings && namedBindings.kind === 246 && namedBindings.elements.length !== 0) { + if (namedBindings && namedBindings.kind === 247 && namedBindings.elements.length !== 0) { return ChangeTracker.with(context, function (t) { return t.insertNodeInListAfter(sourceFile, namedBindings.elements[namedBindings.elements.length - 1], newImportSpecifier_1); }); } - if (!namedBindings || namedBindings.kind === 246 && namedBindings.elements.length === 0) { + if (!namedBindings || namedBindings.kind === 247 && namedBindings.elements.length === 0) { return ChangeTracker.with(context, function (t) { return t.replaceNode(sourceFile, importClause, ts.createImportClause(name, ts.createNamedImports([newImportSpecifier_1]))); }); @@ -84182,11 +84796,6 @@ var ts; }); return createCodeAction(ts.Diagnostics.Change_0_to_1, [symbolName, namespacePrefix + "." + symbolName], changes); } - function getImportCodeActions(context) { - return context.errorCode === ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code - ? getActionsForUMDImport(context) - : getActionsForNonUMDImport(context); - } function getActionsForUMDImport(context) { var token = ts.getTokenAtPosition(context.sourceFile, context.span.start, false); var checker = context.program.getTypeChecker(); @@ -84197,7 +84806,7 @@ var ts; if (!ts.isUMDExportSymbol(umdSymbol)) { var parent = token.parent; var isNodeOpeningLikeElement = ts.isJsxOpeningLikeElement(parent); - if ((ts.isJsxOpeningLikeElement && parent.tagName === token) || parent.kind === 259) { + if ((ts.isJsxOpeningLikeElement && parent.tagName === token) || parent.kind === 260) { umdSymbol = checker.resolveName(checker.getJsxNamespace(parent), isNodeOpeningLikeElement ? parent.tagName : parent, 67216319, false); } } @@ -84240,7 +84849,14 @@ var ts; if (!symbolName) return undefined; ts.Debug.assert(symbolName !== "default"); - var currentTokenMeaning = ts.getMeaningFromLocation(symbolToken); + var addToExistingDeclaration = []; + var addNewDeclaration = []; + getExportInfos(symbolName, ts.getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, checker, program).forEach(function (exportInfos) { + getCodeActionsForImport_separateExistingAndNew(exportInfos, convertToImportCodeFixContext(context, symbolToken, symbolName), addToExistingDeclaration, addNewDeclaration); + }); + return addToExistingDeclaration.concat(addNewDeclaration); + } + function getExportInfos(symbolName, currentTokenMeaning, cancellationToken, sourceFile, checker, program) { var originalSymbolToExportInfos = ts.createMultiMap(); function addSymbol(moduleSymbol, exportedSymbol, importKind) { originalSymbolToExportInfos.add(ts.getUniqueSymbolId(exportedSymbol, checker).toString(), { moduleSymbol: moduleSymbol, importKind: importKind }); @@ -84261,7 +84877,7 @@ var ts; addSymbol(moduleSymbol, exportSymbolWithIdenticalName, 0); } function getEscapedNameForExportDefault(symbol) { - return ts.firstDefined(symbol.declarations, function (declaration) { + return symbol.declarations && ts.firstDefined(symbol.declarations, function (declaration) { if (ts.isExportAssignment(declaration)) { if (ts.isIdentifier(declaration.expression)) { return declaration.expression.escapedText; @@ -84269,19 +84885,12 @@ var ts; } else if (ts.isExportSpecifier(declaration)) { ts.Debug.assert(declaration.name.escapedText === "default"); - if (declaration.propertyName) { - return declaration.propertyName.escapedText; - } + return declaration.propertyName && declaration.propertyName.escapedText; } }); } }); - var addToExistingDeclaration = []; - var addNewDeclaration = []; - originalSymbolToExportInfos.forEach(function (exportInfos) { - getCodeActionsForImport_separateExistingAndNew(exportInfos, convertToImportCodeFixContext(context, symbolToken, symbolName), addToExistingDeclaration, addNewDeclaration); - }); - return addToExistingDeclaration.concat(addNewDeclaration); + return originalSymbolToExportInfos; } function checkSymbolHasMeaning(_a, meaning) { var declarations = _a.declarations; @@ -84303,7 +84912,7 @@ var ts; for (var _b = 0, allSourceFiles_1 = allSourceFiles; _b < allSourceFiles_1.length; _b++) { var sourceFile = allSourceFiles_1[_b]; if (ts.isExternalOrCommonJsModule(sourceFile)) { - cb(sourceFile.symbol, sourceFile); + cb(checker.getMergedSymbol(sourceFile.symbol), sourceFile); } } } @@ -84505,7 +85114,7 @@ var ts; } function addMissingMemberInJs(changeTracker, classDeclarationSourceFile, classDeclaration, tokenName, makeStatic) { if (makeStatic) { - if (classDeclaration.kind === 204) { + if (classDeclaration.kind === 205) { return; } var className = classDeclaration.name.getText(); @@ -84531,7 +85140,7 @@ var ts; } function getTypeNode(checker, classDeclaration, token) { var typeNode; - if (token.parent.parent.kind === 199) { + if (token.parent.parent.kind === 200) { var binaryExpression = token.parent.parent; var otherExpression = token.parent === binaryExpression.left ? binaryExpression.right : binaryExpression.left; var widenedType = checker.getWidenedType(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(otherExpression))); @@ -84576,7 +85185,13 @@ var ts; } function addMethodDeclaration(changeTracker, classDeclarationSourceFile, classDeclaration, token, callExpression, makeStatic, inJs, preferences) { var methodDeclaration = codefix.createMethodFromCallExpression(callExpression, token.text, inJs, makeStatic, preferences); - changeTracker.insertNodeAtClassStart(classDeclarationSourceFile, classDeclaration, methodDeclaration); + var containingMethodDeclaration = ts.getAncestor(callExpression, 154); + if (containingMethodDeclaration && containingMethodDeclaration.parent === classDeclaration) { + changeTracker.insertNodeAfter(classDeclarationSourceFile, containingMethodDeclaration, methodDeclaration); + } + else { + changeTracker.insertNodeAtClassStart(classDeclarationSourceFile, classDeclaration, methodDeclaration); + } } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -84817,7 +85432,9 @@ var ts; }, fixIds: [fixId], getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { - doChange(changes, context.sourceFile, getInfo(diag.file, diag.start, diag.code)); + var info = getInfo(diag.file, diag.start, diag.code); + if (info) + doChange(changes, context.sourceFile, info); }); }, }); function getInfo(sourceFile, pos, diagCode) { @@ -84846,23 +85463,30 @@ var ts; ts.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code, ts.Diagnostics.All_imports_in_import_declaration_are_unused.code, ts.Diagnostics.All_destructured_elements_are_unused.code, + ts.Diagnostics.All_variables_are_unused.code, ]; codefix.registerCodeFix({ errorCodes: errorCodes, getCodeActions: function (context) { - var errorCode = context.errorCode, sourceFile = context.sourceFile; - var importDecl = tryGetFullImport(sourceFile, context.span.start); + var errorCode = context.errorCode, sourceFile = context.sourceFile, program = context.program; + var checker = program.getTypeChecker(); + var startToken = ts.getTokenAtPosition(sourceFile, context.span.start, false); + var importDecl = tryGetFullImport(startToken); if (importDecl) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return t.deleteNode(sourceFile, importDecl); }); return [codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Remove_import_from_0, ts.showModuleSpecifier(importDecl)], fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)]; } - var delDestructure = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteFullDestructure(t, sourceFile, context.span.start, undefined); }); + var delDestructure = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteFullDestructure(t, sourceFile, startToken, undefined, checker, false); }); if (delDestructure.length) { return [codefix.createCodeFixAction(fixName, delDestructure, ts.Diagnostics.Remove_destructuring, fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)]; } + var delVar = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteFullVariableStatement(t, sourceFile, startToken, undefined); }); + if (delVar.length) { + return [codefix.createCodeFixAction(fixName, delVar, ts.Diagnostics.Remove_variable_statement, fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)]; + } var token = getToken(sourceFile, ts.textSpanEnd(context.span)); var result = []; - var deletion = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteDeclaration(t, sourceFile, token, undefined); }); + var deletion = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteDeclaration(t, sourceFile, token, undefined, checker, false); }); if (deletion.length) { result.push(codefix.createCodeFixAction(fixName, deletion, [ts.Diagnostics.Remove_declaration_for_Colon_0, token.getText(sourceFile)], fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)); } @@ -84874,9 +85498,11 @@ var ts; }, fixIds: [fixIdPrefix, fixIdDelete], getAllCodeActions: function (context) { - var deleted = new NodeSet(); + var deleted = new ts.NodeSet(); + var sourceFile = context.sourceFile, program = context.program; + var checker = program.getTypeChecker(); return codefix.codeFixAll(context, errorCodes, function (changes, diag) { - var sourceFile = context.sourceFile; + var startToken = ts.getTokenAtPosition(sourceFile, diag.start, false); var token = ts.findPrecedingToken(ts.textSpanEnd(diag), diag.file); switch (context.fixId) { case fixIdPrefix: @@ -84887,14 +85513,13 @@ var ts; case fixIdDelete: if (deleted.some(function (d) { return ts.rangeContainsPosition(d, diag.start); })) break; - var importDecl = tryGetFullImport(diag.file, diag.start); + var importDecl = tryGetFullImport(startToken); if (importDecl) { changes.deleteNode(sourceFile, importDecl); } - else { - if (!tryDeleteFullDestructure(changes, sourceFile, diag.start, deleted)) { - tryDeleteDeclaration(changes, sourceFile, token, deleted); - } + else if (!tryDeleteFullDestructure(changes, sourceFile, startToken, deleted, checker, true) && + !tryDeleteFullVariableStatement(changes, sourceFile, startToken, deleted)) { + tryDeleteDeclaration(changes, sourceFile, token, deleted, checker, true); } break; default: @@ -84903,25 +85528,25 @@ var ts; }); }, }); - function tryGetFullImport(sourceFile, pos) { - var startToken = ts.getTokenAtPosition(sourceFile, pos, false); + function tryGetFullImport(startToken) { return startToken.kind === 91 ? ts.tryCast(startToken.parent, ts.isImportDeclaration) : undefined; } - function tryDeleteFullDestructure(changes, sourceFile, pos, deletedAncestors) { - var startToken = ts.getTokenAtPosition(sourceFile, pos, false); + function tryDeleteFullDestructure(changes, sourceFile, startToken, deletedAncestors, checker, isFixAll) { if (startToken.kind !== 17 || !ts.isObjectBindingPattern(startToken.parent)) return false; - var decl = startToken.parent.parent; + var decl = ts.cast(startToken.parent, ts.isObjectBindingPattern).parent; switch (decl.kind) { - case 231: + case 232: tryDeleteVariableDeclaration(changes, sourceFile, decl, deletedAncestors); break; - case 148: + case 149: + if (!mayDeleteParameter(decl, checker, isFixAll)) + break; if (deletedAncestors) deletedAncestors.add(decl); changes.deleteNodeInList(sourceFile, decl); break; - case 181: + case 182: if (deletedAncestors) deletedAncestors.add(decl); changes.deleteNode(sourceFile, decl); @@ -84931,6 +85556,16 @@ var ts; } return true; } + function tryDeleteFullVariableStatement(changes, sourceFile, startToken, deletedAncestors) { + var declarationList = ts.tryCast(startToken.parent, ts.isVariableDeclarationList); + if (declarationList && declarationList.getChildren(sourceFile)[0] === startToken) { + if (deletedAncestors) + deletedAncestors.add(declarationList); + changes.deleteNode(sourceFile, declarationList.parent.kind === 214 ? declarationList.parent : declarationList); + return true; + } + return false; + } function getToken(sourceFile, pos) { var token = ts.findPrecedingToken(pos, sourceFile, undefined, true); return token.kind === 22 ? ts.findPrecedingToken(pos - 1, sourceFile) : token; @@ -84942,26 +85577,26 @@ var ts; } function canPrefix(token) { switch (token.parent.kind) { - case 148: + case 149: return true; - case 231: { + case 232: { var varDecl = token.parent; switch (varDecl.parent.parent.kind) { + case 222: case 221: - case 220: return true; } } } return false; } - function tryDeleteDeclaration(changes, sourceFile, token, deletedAncestors) { + function tryDeleteDeclaration(changes, sourceFile, token, deletedAncestors, checker, isFixAll) { switch (token.kind) { case 71: - tryDeleteIdentifier(changes, sourceFile, token, deletedAncestors); + tryDeleteIdentifier(changes, sourceFile, token, deletedAncestors, checker, isFixAll); break; - case 151: - case 245: + case 152: + case 246: if (deletedAncestors) deletedAncestors.add(token.parent); changes.deleteNode(sourceFile, token.parent); @@ -84982,13 +85617,13 @@ var ts; changes.deleteNode(sourceFile, token.parent.parent); } } - function tryDeleteIdentifier(changes, sourceFile, identifier, deletedAncestors) { + function tryDeleteIdentifier(changes, sourceFile, identifier, deletedAncestors, checker, isFixAll) { var parent = identifier.parent; switch (parent.kind) { - case 231: + case 232: tryDeleteVariableDeclaration(changes, sourceFile, parent, deletedAncestors); break; - case 147: + case 148: var typeParameters = ts.getEffectiveTypeParameterDeclarations(parent.parent); if (typeParameters.length === 1) { var _a = ts.cast(typeParameters, ts.isNodeArray), pos = _a.pos, end = _a.end; @@ -85002,11 +85637,10 @@ var ts; changes.deleteNodeInList(sourceFile, parent); } break; - case 148: - var oldFunction = parent.parent; - if (ts.isSetAccessor(oldFunction)) { + case 149: + if (!mayDeleteParameter(parent, checker, isFixAll)) break; - } + var oldFunction = parent.parent; if (ts.isArrowFunction(oldFunction) && oldFunction.parameters.length === 1) { var newFunction = ts.updateArrowFunction(oldFunction, oldFunction.modifiers, oldFunction.typeParameters, undefined, oldFunction.type, oldFunction.equalsGreaterThanToken, oldFunction.body); ts.suppressLeadingAndTrailingTrivia(newFunction); @@ -85016,13 +85650,13 @@ var ts; changes.deleteNodeInList(sourceFile, parent); } break; - case 181: { + case 182: { var pattern = parent.parent; switch (pattern.kind) { - case 180: + case 181: changes.deleteNode(sourceFile, parent); break; - case 179: + case 180: changes.deleteNodeInList(sourceFile, parent); break; default: @@ -85030,11 +85664,11 @@ var ts; } break; } - case 242: - var importEquals = ts.getAncestor(identifier, 242); + case 243: + var importEquals = ts.getAncestor(identifier, 243); changes.deleteNode(sourceFile, importEquals); break; - case 247: + case 248: var namedImports = parent.parent; if (namedImports.elements.length === 1) { tryDeleteNamedImportBinding(changes, sourceFile, namedImports); @@ -85043,10 +85677,10 @@ var ts; changes.deleteNodeInList(sourceFile, parent); } break; - case 244: + case 245: var importClause = parent; if (!importClause.namedBindings) { - changes.deleteNode(sourceFile, ts.getAncestor(importClause, 243)); + changes.deleteNode(sourceFile, ts.getAncestor(importClause, 244)); } else { var start = importClause.name.getStart(sourceFile); @@ -85060,7 +85694,7 @@ var ts; } } break; - case 245: + case 246: tryDeleteNamedImportBinding(changes, sourceFile, parent); break; default: @@ -85076,13 +85710,13 @@ var ts; } } else { - var importDecl = ts.getAncestor(namedBindings, 243); + var importDecl = ts.getAncestor(namedBindings, 244); changes.deleteNode(sourceFile, importDecl); } } function tryDeleteVariableDeclaration(changes, sourceFile, varDecl, deletedAncestors) { switch (varDecl.parent.parent.kind) { - case 219: { + case 220: { var forStatement = varDecl.parent.parent; var forInitializer = forStatement.initializer; if (forInitializer.declarations.length === 1) { @@ -85097,16 +85731,16 @@ var ts; } break; } - case 221: + case 222: var forOfStatement = varDecl.parent.parent; - ts.Debug.assert(forOfStatement.initializer.kind === 232); + ts.Debug.assert(forOfStatement.initializer.kind === 233); var forOfInitializer = forOfStatement.initializer; if (deletedAncestors) deletedAncestors.add(forOfInitializer.declarations[0]); changes.replaceNode(sourceFile, forOfInitializer.declarations[0], ts.createObjectLiteral()); break; - case 220: - case 229: + case 221: + case 230: break; default: var variableStatement = varDecl.parent.parent; @@ -85122,18 +85756,30 @@ var ts; } } } - var NodeSet = (function () { - function NodeSet() { - this.map = ts.createMap(); + function mayDeleteParameter(p, checker, isFixAll) { + var parent = p.parent; + switch (parent.kind) { + case 154: + var symbol = checker.getSymbolAtLocation(parent.name); + if (ts.isMemberSymbolInBaseType(symbol, checker)) + return false; + case 155: + case 234: + case 192: + case 193: { + var parameters = parent.parameters; + var index = parameters.indexOf(p); + ts.Debug.assert(index !== -1); + return isFixAll + ? parameters.slice(index + 1).every(function (p) { return p.name.kind === 71 && !p.symbol.isReferenced; }) + : index === parameters.length - 1; + } + case 157: + return false; + default: + return ts.Debug.failBadSyntaxKind(parent); } - NodeSet.prototype.add = function (node) { - this.map.set(String(ts.getNodeId(node)), node); - }; - NodeSet.prototype.some = function (pred) { - return ts.forEachEntry(this.map, pred) || false; - }; - return NodeSet; - }()); + } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); var ts; @@ -85157,7 +85803,7 @@ var ts; ts.Debug.assert(statement.getStart(sourceFile) === token.getStart(sourceFile)); var container = (ts.isBlock(statement.parent) ? statement.parent : statement).parent; switch (container.kind) { - case 216: + case 217: if (container.elseStatement) { if (ts.isBlock(statement.parent)) { changes.deleteNodeRange(sourceFile, ts.first(statement.parent.statements), ts.last(statement.parent.statements)); @@ -85167,8 +85813,8 @@ var ts; } break; } - case 218: case 219: + case 220: changes.deleteNode(sourceFile, container); break; default: @@ -85186,13 +85832,15 @@ var ts; } function isPurelyTypeDeclaration(s) { switch (s.kind) { - case 235: case 236: - return true; - case 238: - return ts.getModuleInstanceState(s) !== 1; case 237: + return true; + case 239: + return ts.getModuleInstanceState(s) !== 1; + case 238: return ts.hasModifier(s, 2048); + default: + return false; } } function sliceAfter(arr, value) { @@ -85249,8 +85897,8 @@ var ts; var typeNode = info.typeNode, type = info.type; var original = typeNode.getText(sourceFile); var actions = [fix(type, fixIdPlain, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript)]; - if (typeNode.kind === 280) { - actions.push(fix(checker.getNullableType(type, 4096), fixIdNullable, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)); + if (typeNode.kind === 281) { + actions.push(fix(checker.getNullableType(type, 8192), fixIdNullable, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)); } return actions; function fix(type, fixId, fixAllDescription) { @@ -85267,7 +85915,7 @@ var ts; if (!info) return; var typeNode = info.typeNode, type = info.type; - var fixedType = typeNode.kind === 280 && fixId === fixIdNullable ? checker.getNullableType(type, 4096) : type; + var fixedType = typeNode.kind === 281 && fixId === fixIdNullable ? checker.getNullableType(type, 8192) : type; doChange(changes, sourceFile, typeNode, fixedType, checker); }); } @@ -85282,22 +85930,22 @@ var ts; } function isTypeContainer(node) { switch (node.kind) { - case 207: - case 157: + case 208: case 158: - case 233: - case 155: case 159: - case 176: - case 153: - case 152: - case 148: - case 151: - case 150: + case 234: case 156: - case 236: - case 189: - case 231: + case 160: + case 177: + case 154: + case 153: + case 149: + case 152: + case 151: + case 157: + case 237: + case 190: + case 232: return true; default: return false; @@ -85350,20 +85998,20 @@ var ts; } var insertBefore; switch (containingFunction.kind) { - case 153: + case 154: insertBefore = containingFunction.name; break; - case 233: - case 191: + case 234: + case 192: insertBefore = ts.findChildOfKind(containingFunction, 89, sourceFile); break; - case 192: + case 193: insertBefore = ts.findChildOfKind(containingFunction, 19, sourceFile) || ts.first(containingFunction.parameters); break; default: return; } - return { + return insertBefore && { insertBefore: insertBefore, returnType: getReturnType(containingFunction) }; @@ -85453,15 +86101,15 @@ var ts; var type = checker.getWidenedType(checker.getTypeOfSymbolAtLocation(symbol, enclosingDeclaration)); var optional = !!(symbol.flags & 16777216); switch (declaration.kind) { - case 155: case 156: - case 150: + case 157: case 151: + case 152: var typeNode = checker.typeToTypeNode(type, enclosingDeclaration); out(ts.createProperty(undefined, modifiers, name, optional ? ts.createToken(55) : undefined, typeNode, undefined)); break; - case 152: case 153: + case 154: var signatures = checker.getSignaturesOfType(type, 0); if (!ts.some(signatures)) { break; @@ -85493,7 +86141,7 @@ var ts; } } function signatureToMethodDeclaration(checker, signature, enclosingDeclaration, modifiers, name, optional, body) { - var signatureDeclaration = checker.signatureToSignatureDeclaration(signature, 153, enclosingDeclaration, 256); + var signatureDeclaration = checker.signatureToSignatureDeclaration(signature, 154, enclosingDeclaration, 256); if (!signatureDeclaration) { return undefined; } @@ -85670,11 +86318,11 @@ var ts; } function isApplicableFunctionForInference(declaration) { switch (declaration.kind) { - case 233: - case 153: + case 234: case 154: + case 155: return true; - case 191: + case 192: return !!declaration.name; } return false; @@ -85730,11 +86378,11 @@ var ts; } function inferTypeForParametersFromUsage(containingFunction, sourceFile, program, cancellationToken) { switch (containingFunction.kind) { + case 155: + case 192: + case 234: case 154: - case 191: - case 233: - case 153: - var isConstructor = containingFunction.kind === 154; + var isConstructor = containingFunction.kind === 155; var searchToken = isConstructor ? ts.findChildOfKind(containingFunction, 123, sourceFile) : containingFunction.name; @@ -85768,7 +86416,7 @@ var ts; cancellationToken.throwIfCancellationRequested(); inferTypeFromContext(reference, checker, usageContext); } - var isConstructor = declaration.kind === 154; + var isConstructor = declaration.kind === 155; var callContexts = isConstructor ? usageContext.constructContexts : usageContext.callContexts; return callContexts && declaration.parameters.map(function (parameter, parameterIndex) { var types = []; @@ -85800,21 +86448,21 @@ var ts; node = node.parent; } switch (node.parent.kind) { - case 198: + case 199: usageContext.isNumber = true; break; - case 197: + case 198: inferTypeFromPrefixUnaryExpressionContext(node.parent, usageContext); break; - case 199: + case 200: inferTypeFromBinaryExpressionContext(node, node.parent, checker, usageContext); break; - case 265: case 266: + case 267: inferTypeFromSwitchStatementLabelContext(node.parent, checker, usageContext); break; - case 186: case 187: + case 188: if (node.parent.expression === node) { inferTypeFromCallExpressionContext(node.parent, checker, usageContext); } @@ -85822,13 +86470,13 @@ var ts; inferTypeFromContextualType(node, checker, usageContext); } break; - case 184: + case 185: inferTypeFromPropertyAccessExpressionContext(node.parent, checker, usageContext); break; - case 185: + case 186: inferTypeFromPropertyElementExpressionContext(node.parent, node, checker, usageContext); break; - case 231: { + case 232: { var _a = node.parent, name = _a.name, initializer = _a.initializer; if (node === name) { if (initializer) { @@ -85888,7 +86536,7 @@ var ts; case 29: case 31: var operandType = checker.getTypeAtLocation(parent.left === node ? parent.right : parent.left); - if (operandType.flags & 272) { + if (operandType.flags & 544) { addCandidateType(usageContext, operandType); } else { @@ -85898,13 +86546,13 @@ var ts; case 59: case 37: var otherOperandType = checker.getTypeAtLocation(parent.left === node ? parent.right : parent.left); - if (otherOperandType.flags & 272) { + if (otherOperandType.flags & 544) { addCandidateType(usageContext, otherOperandType); } - else if (otherOperandType.flags & 84) { + else if (otherOperandType.flags & 168) { usageContext.isNumber = true; } - else if (otherOperandType.flags & 34) { + else if (otherOperandType.flags & 68) { usageContext.isString = true; } else { @@ -85925,7 +86573,7 @@ var ts; break; case 54: if (node === parent.left && - (node.parent.parent.kind === 231 || ts.isAssignmentExpression(node.parent.parent, true))) { + (node.parent.parent.kind === 232 || ts.isAssignmentExpression(node.parent.parent, true))) { addCandidateType(usageContext, checker.getTypeAtLocation(parent.right)); } break; @@ -85950,7 +86598,7 @@ var ts; } } inferTypeFromContext(parent, checker, callContext.returnType); - if (parent.kind === 186) { + if (parent.kind === 187) { (usageContext.callContexts || (usageContext.callContexts = [])).push(callContext); } else { @@ -85975,7 +86623,7 @@ var ts; var indexType = checker.getTypeAtLocation(parent); var indexUsageContext = {}; inferTypeFromContext(parent, checker, indexUsageContext); - if (indexType.flags & 84) { + if (indexType.flags & 168) { usageContext.numberIndexContext = indexUsageContext; } else { @@ -86073,12 +86721,12 @@ var ts; return checker.createSignature(undefined, undefined, undefined, parameters, returnType, undefined, callContext.argumentTypes.length, false, false); } function addCandidateType(context, type) { - if (type && !(type.flags & 1) && !(type.flags & 16384)) { + if (type && !(type.flags & 1) && !(type.flags & 32768)) { (context.candidateTypes || (context.candidateTypes = [])).push(type); } } function hasCallContext(usageContext) { - return usageContext && usageContext.callContexts; + return !!usageContext && !!usageContext.callContexts; } })(InferFromReference || (InferFromReference = {})); })(codefix = ts.codefix || (ts.codefix = {})); @@ -86105,7 +86753,7 @@ var ts; var namespace = ts.getNamespaceDeclarationNode(node); var opts = context.program.getCompilerOptions(); var variations = []; - variations.push(createAction(context, sourceFile, node, ts.makeImport(namespace.name, undefined, node.moduleSpecifier))); + variations.push(createAction(context, sourceFile, node, ts.makeImport(namespace.name, undefined, node.moduleSpecifier, context.preferences))); if (ts.getEmitModuleKind(opts) === ts.ModuleKind.CommonJS) { variations.push(createAction(context, sourceFile, node, ts.createImportEqualsDeclaration(undefined, undefined, namespace.name, ts.createExternalModuleReference(node.moduleSpecifier)))); } @@ -86124,7 +86772,7 @@ var ts; }); function getActionsForUsageOfInvalidImport(context) { var sourceFile = context.sourceFile; - var targetKind = ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures.code === context.errorCode ? 186 : 187; + var targetKind = ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures.code === context.errorCode ? 187 : 188; var node = ts.findAncestor(ts.getTokenAtPosition(sourceFile, context.span.start, false), function (a) { return a.kind === targetKind && a.getStart() === context.span.start && a.getEnd() === (context.span.start + context.span.length); }); if (!node) { return []; @@ -86211,8 +86859,9 @@ var ts; } function addUndefinedType(changeTracker, propertyDeclarationSourceFile, propertyDeclaration) { var undefinedTypeNode = ts.createKeywordTypeNode(140); - var types = ts.isUnionTypeNode(propertyDeclaration.type) ? propertyDeclaration.type.types.concat(undefinedTypeNode) : [propertyDeclaration.type, undefinedTypeNode]; - changeTracker.replaceNode(propertyDeclarationSourceFile, propertyDeclaration.type, ts.createUnionTypeNode(types)); + var type = propertyDeclaration.type; + var types = ts.isUnionTypeNode(type) ? type.types.concat(undefinedTypeNode) : [type, undefinedTypeNode]; + changeTracker.replaceNode(propertyDeclarationSourceFile, type, ts.createUnionTypeNode(types)); } function getActionForAddMissingInitializer(context, propertyDeclaration) { var checker = context.program.getTypeChecker(); @@ -86230,13 +86879,13 @@ var ts; return getDefaultValueFromType(checker, checker.getTypeFromTypeNode(propertyDeclaration.type)); } function getDefaultValueFromType(checker, type) { - if (type.flags & 2) { + if (type.flags & 4) { return ts.createLiteral(""); } - else if (type.flags & 4) { + else if (type.flags & 8) { return ts.createNumericLiteral("0"); } - else if (type.flags & 8) { + else if (type.flags & 16) { return ts.createFalse(); } else if (type.isLiteral()) { @@ -86262,50 +86911,69 @@ var ts; (function (ts) { var moduleSpecifiers; (function (moduleSpecifiers) { - function getModuleSpecifiers(moduleSymbol, program, importingSourceFile, host, preferences) { + function getModuleSpecifier(program, fromSourceFile, fromSourceFileName, toFileName, host, preferences) { + var info = getInfo(program.getCompilerOptions(), fromSourceFile, fromSourceFileName, host); var compilerOptions = program.getCompilerOptions(); - var baseUrl = compilerOptions.baseUrl, paths = compilerOptions.paths, rootDirs = compilerOptions.rootDirs; - var moduleResolutionKind = ts.getEmitModuleResolutionKind(compilerOptions); - var addJsExtension = usesJsExtensionOnImports(importingSourceFile); - var getCanonicalFileName = ts.hostGetCanonicalFileName(host); - var sourceDirectory = ts.getDirectoryPath(importingSourceFile.fileName); - return getAllModulePaths(program, moduleSymbol.valueDeclaration.getSourceFile()).map(function (moduleFileName) { - var global = tryGetModuleNameFromAmbientModule(moduleSymbol) - || tryGetModuleNameFromTypeRoots(compilerOptions, host, getCanonicalFileName, moduleFileName, addJsExtension) - || tryGetModuleNameAsNodeModule(compilerOptions, moduleFileName, host, getCanonicalFileName, sourceDirectory) - || rootDirs && tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName); - if (global) { - return [global]; - } - var relativePath = removeExtensionAndIndexPostFix(ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, moduleFileName, getCanonicalFileName)), moduleResolutionKind, addJsExtension); - if (!baseUrl || preferences.importModuleSpecifierPreference === "relative") { - return [relativePath]; - } - var relativeToBaseUrl = getRelativePathIfInDirectory(moduleFileName, baseUrl, getCanonicalFileName); - if (!relativeToBaseUrl) { - return [relativePath]; - } - var importRelativeToBaseUrl = removeExtensionAndIndexPostFix(relativeToBaseUrl, moduleResolutionKind, addJsExtension); - if (paths) { - var fromPaths = tryGetModuleNameFromPaths(ts.removeFileExtension(relativeToBaseUrl), importRelativeToBaseUrl, paths); - if (fromPaths) { - return [fromPaths]; - } - } - if (preferences.importModuleSpecifierPreference === "non-relative") { - return [importRelativeToBaseUrl]; - } - if (preferences.importModuleSpecifierPreference !== undefined) - ts.Debug.assertNever(preferences.importModuleSpecifierPreference); - if (isPathRelativeToParent(relativeToBaseUrl)) { - return [relativePath]; - } - var pathFromSourceToBaseUrl = ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, baseUrl, getCanonicalFileName)); - var relativeFirst = getRelativePathNParents(relativePath) < getRelativePathNParents(pathFromSourceToBaseUrl); - return relativeFirst ? [relativePath, importRelativeToBaseUrl] : [importRelativeToBaseUrl, relativePath]; + return getGlobalModuleSpecifier(toFileName, info, host, compilerOptions) || + ts.first(getLocalModuleSpecifiers(toFileName, info, compilerOptions, preferences)); + } + moduleSpecifiers.getModuleSpecifier = getModuleSpecifier; + function getModuleSpecifiers(moduleSymbol, program, importingSourceFile, host, preferences) { + var ambient = tryGetModuleNameFromAmbientModule(moduleSymbol); + if (ambient) + return [[ambient]]; + var compilerOptions = program.getCompilerOptions(); + var info = getInfo(compilerOptions, importingSourceFile, importingSourceFile.fileName, host); + var modulePaths = getAllModulePaths(program, moduleSymbol.valueDeclaration.getSourceFile()); + var global = ts.mapDefined(modulePaths, function (moduleFileName) { return getGlobalModuleSpecifier(moduleFileName, info, host, compilerOptions); }); + return global.length ? global.map(function (g) { return [g]; }) : modulePaths.map(function (moduleFileName) { + return getLocalModuleSpecifiers(moduleFileName, info, compilerOptions, preferences); }); } moduleSpecifiers.getModuleSpecifiers = getModuleSpecifiers; + function getInfo(compilerOptions, importingSourceFile, importingSourceFileName, host) { + var moduleResolutionKind = ts.getEmitModuleResolutionKind(compilerOptions); + var addJsExtension = usesJsExtensionOnImports(importingSourceFile); + var getCanonicalFileName = ts.hostGetCanonicalFileName(host); + var sourceDirectory = ts.getDirectoryPath(importingSourceFileName); + return { moduleResolutionKind: moduleResolutionKind, addJsExtension: addJsExtension, getCanonicalFileName: getCanonicalFileName, sourceDirectory: sourceDirectory }; + } + function getGlobalModuleSpecifier(moduleFileName, _a, host, compilerOptions) { + var addJsExtension = _a.addJsExtension, getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory; + return tryGetModuleNameFromTypeRoots(compilerOptions, host, getCanonicalFileName, moduleFileName, addJsExtension) + || tryGetModuleNameAsNodeModule(compilerOptions, moduleFileName, host, getCanonicalFileName, sourceDirectory) + || compilerOptions.rootDirs && tryGetModuleNameFromRootDirs(compilerOptions.rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName); + } + function getLocalModuleSpecifiers(moduleFileName, _a, compilerOptions, preferences) { + var moduleResolutionKind = _a.moduleResolutionKind, addJsExtension = _a.addJsExtension, getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory; + var baseUrl = compilerOptions.baseUrl, paths = compilerOptions.paths; + var relativePath = removeExtensionAndIndexPostFix(ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, moduleFileName, getCanonicalFileName)), moduleResolutionKind, addJsExtension); + if (!baseUrl || preferences.importModuleSpecifierPreference === "relative") { + return [relativePath]; + } + var relativeToBaseUrl = getRelativePathIfInDirectory(moduleFileName, baseUrl, getCanonicalFileName); + if (!relativeToBaseUrl) { + return [relativePath]; + } + var importRelativeToBaseUrl = removeExtensionAndIndexPostFix(relativeToBaseUrl, moduleResolutionKind, addJsExtension); + if (paths) { + var fromPaths = tryGetModuleNameFromPaths(ts.removeFileExtension(relativeToBaseUrl), importRelativeToBaseUrl, paths); + if (fromPaths) { + return [fromPaths]; + } + } + if (preferences.importModuleSpecifierPreference === "non-relative") { + return [importRelativeToBaseUrl]; + } + if (preferences.importModuleSpecifierPreference !== undefined) + ts.Debug.assertNever(preferences.importModuleSpecifierPreference); + if (isPathRelativeToParent(relativeToBaseUrl)) { + return [relativePath]; + } + var pathFromSourceToBaseUrl = ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, baseUrl, getCanonicalFileName)); + var relativeFirst = getRelativePathNParents(relativePath) < getRelativePathNParents(pathFromSourceToBaseUrl); + return relativeFirst ? [relativePath, importRelativeToBaseUrl] : [importRelativeToBaseUrl, relativePath]; + } function usesJsExtensionOnImports(_a) { var imports = _a.imports; return ts.firstDefined(imports, function (_a) { @@ -86390,8 +87058,9 @@ var ts; return undefined; } var moduleSpecifier = getDirectoryOrExtensionlessFileName(moduleFileName); - moduleSpecifier = getNodeResolvablePath(moduleSpecifier); - return ts.getPackageNameFromAtTypesDirectory(moduleSpecifier); + if (!ts.startsWith(sourceDirectory, moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex))) + return undefined; + return ts.getPackageNameFromAtTypesDirectory(moduleSpecifier.substring(parts.topLevelPackageNameIndex + 1)); function getDirectoryOrExtensionlessFileName(path) { var packageRootPath = path.substring(0, parts.packageRootIndex); var packageJsonPath = ts.combinePaths(packageRootPath, "package.json"); @@ -86413,15 +87082,6 @@ var ts; } return fullModulePathWithoutExtension; } - function getNodeResolvablePath(path) { - var basePath = path.substring(0, parts.topLevelNodeModulesIndex); - if (sourceDirectory.indexOf(basePath) === 0) { - return path.substring(parts.topLevelPackageNameIndex + 1); - } - else { - return ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, path, getCanonicalFileName)); - } - } } function getNodeModulePathParts(fullPath) { var topLevelNodeModulesIndex = 0; @@ -86538,14 +87198,14 @@ var ts; var info = getInfo(sourceFile, start); if (!info) return undefined; - var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, info); }); + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, info, context.preferences); }); return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Convert_to_default_import, fixId, ts.Diagnostics.Convert_all_to_default_imports)]; }, fixIds: [fixId], getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { var info = getInfo(diag.file, diag.start); if (info) - doChange(changes, diag.file, info); + doChange(changes, diag.file, info, context.preferences); }); }, }); function getInfo(sourceFile, pos) { @@ -86561,8 +87221,8 @@ var ts; return { importNode: importNode, name: name, moduleSpecifier: importNode.moduleSpecifier }; } } - function doChange(changes, sourceFile, info) { - changes.replaceNode(sourceFile, info.importNode, ts.makeImport(info.name, undefined, info.moduleSpecifier)); + function doChange(changes, sourceFile, info, preferences) { + changes.replaceNode(sourceFile, info.importNode, ts.makeImport(info.name, undefined, info.moduleSpecifier, preferences)); } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -86589,7 +87249,7 @@ var ts; function getImportTypeNode(sourceFile, pos) { var token = ts.getTokenAtPosition(sourceFile, pos, false); ts.Debug.assert(token.kind === 91); - ts.Debug.assert(token.parent.kind === 178); + ts.Debug.assert(token.parent.kind === 179); return token.parent; } function doChange(changes, sourceFile, importType) { @@ -86599,6 +87259,182 @@ var ts; })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); var ts; +(function (ts) { + var codefix; + (function (codefix) { + var fixIdAddMissingTypeof = "fixConvertToMappedObjectType"; + var fixId = fixIdAddMissingTypeof; + var errorCodes = [ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead.code]; + codefix.registerCodeFix({ + errorCodes: errorCodes, + getCodeActions: function (context) { + var sourceFile = context.sourceFile, span = context.span; + var info = getInfo(sourceFile, span.start); + if (!info) + return undefined; + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, info); }); + var name = ts.idText(info.container.name); + return [codefix.createCodeFixAction(fixId, changes, [ts.Diagnostics.Convert_0_to_mapped_object_type, name], fixId, [ts.Diagnostics.Convert_0_to_mapped_object_type, name])]; + }, + fixIds: [fixId], + getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { + var info = getInfo(diag.file, diag.start); + if (info) + doChange(changes, diag.file, info); + }); } + }); + function getInfo(sourceFile, pos) { + var token = ts.getTokenAtPosition(sourceFile, pos, false); + var indexSignature = ts.cast(token.parent.parent, ts.isIndexSignatureDeclaration); + if (ts.isClassDeclaration(indexSignature.parent)) + return undefined; + var container = ts.isInterfaceDeclaration(indexSignature.parent) ? indexSignature.parent : ts.cast(indexSignature.parent.parent, ts.isTypeAliasDeclaration); + return { indexSignature: indexSignature, container: container }; + } + function createTypeAliasFromInterface(declaration, type) { + return ts.createTypeAliasDeclaration(declaration.decorators, declaration.modifiers, declaration.name, declaration.typeParameters, type); + } + function doChange(changes, sourceFile, _a) { + var indexSignature = _a.indexSignature, container = _a.container; + var members = ts.isInterfaceDeclaration(container) ? container.members : container.type.members; + var otherMembers = members.filter(function (member) { return !ts.isIndexSignatureDeclaration(member); }); + var parameter = ts.first(indexSignature.parameters); + var mappedTypeParameter = ts.createTypeParameterDeclaration(ts.cast(parameter.name, ts.isIdentifier), parameter.type); + var mappedIntersectionType = ts.createMappedTypeNode(ts.hasReadonlyModifier(indexSignature) ? ts.createModifier(132) : undefined, mappedTypeParameter, indexSignature.questionToken, indexSignature.type); + var intersectionType = ts.createIntersectionTypeNode(ts.getAllSuperTypeNodes(container).concat([ + mappedIntersectionType + ], (otherMembers.length ? [ts.createTypeLiteralNode(otherMembers)] : ts.emptyArray))); + changes.replaceNode(sourceFile, container, createTypeAliasFromInterface(container, intersectionType)); + } + })(codefix = ts.codefix || (ts.codefix = {})); +})(ts || (ts = {})); +var ts; +(function (ts) { + var refactor; + (function (refactor) { + var generateGetAccessorAndSetAccessor; + (function (generateGetAccessorAndSetAccessor) { + var refactorName = "Convert import"; + var actionNameNamespaceToNamed = "Convert namespace import to named imports"; + var actionNameNamedToNamespace = "Convert named imports to namespace import"; + refactor.registerRefactor(refactorName, { + getAvailableActions: function (context) { + var i = getImportToConvert(context); + if (!i) + return undefined; + var description = i.kind === 246 ? ts.Diagnostics.Convert_namespace_import_to_named_imports.message : ts.Diagnostics.Convert_named_imports_to_namespace_import.message; + var actionName = i.kind === 246 ? actionNameNamespaceToNamed : actionNameNamedToNamespace; + return [{ name: refactorName, description: description, actions: [{ name: actionName, description: description }] }]; + }, + getEditsForAction: function (context, actionName) { + ts.Debug.assert(actionName === actionNameNamespaceToNamed || actionName === actionNameNamedToNamespace); + var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, t, ts.Debug.assertDefined(getImportToConvert(context))); }); + return { edits: edits, renameFilename: undefined, renameLocation: undefined }; + } + }); + function getImportToConvert(context) { + var file = context.file; + var span = ts.getRefactorContextSpan(context); + var token = ts.getTokenAtPosition(file, span.start, false); + var importDecl = ts.getParentNodeInSpan(token, file, span); + if (!importDecl || !ts.isImportDeclaration(importDecl)) + return undefined; + var importClause = importDecl.importClause; + return importClause && importClause.namedBindings; + } + function doChange(sourceFile, program, changes, toConvert) { + var checker = program.getTypeChecker(); + if (toConvert.kind === 246) { + doChangeNamespaceToNamed(sourceFile, checker, changes, toConvert, ts.getAllowSyntheticDefaultImports(program.getCompilerOptions())); + } + else { + doChangeNamedToNamespace(sourceFile, checker, changes, toConvert); + } + } + function doChangeNamespaceToNamed(sourceFile, checker, changes, toConvert, allowSyntheticDefaultImports) { + var usedAsNamespaceOrDefault = false; + var nodesToReplace = []; + var conflictingNames = ts.createMap(); + ts.FindAllReferences.Core.eachSymbolReferenceInFile(toConvert.name, checker, sourceFile, function (id) { + if (!ts.isPropertyAccessExpression(id.parent)) { + usedAsNamespaceOrDefault = true; + } + else { + var parent = ts.cast(id.parent, ts.isPropertyAccessExpression); + var exportName = parent.name.text; + if (checker.resolveName(exportName, id, 67108863, true)) { + conflictingNames.set(exportName, true); + } + ts.Debug.assert(parent.expression === id); + nodesToReplace.push(parent); + } + }); + var exportNameToImportName = ts.createMap(); + for (var _i = 0, nodesToReplace_1 = nodesToReplace; _i < nodesToReplace_1.length; _i++) { + var propertyAccess = nodesToReplace_1[_i]; + var exportName = propertyAccess.name.text; + var importName = exportNameToImportName.get(exportName); + if (importName === undefined) { + exportNameToImportName.set(exportName, importName = conflictingNames.has(exportName) ? ts.getUniqueName(exportName, sourceFile) : exportName); + } + changes.replaceNode(sourceFile, propertyAccess, ts.createIdentifier(importName)); + } + var importSpecifiers = []; + exportNameToImportName.forEach(function (name, propertyName) { + importSpecifiers.push(ts.createImportSpecifier(name === propertyName ? undefined : ts.createIdentifier(propertyName), ts.createIdentifier(name))); + }); + var importDecl = toConvert.parent.parent; + if (usedAsNamespaceOrDefault && !allowSyntheticDefaultImports) { + changes.insertNodeAfter(sourceFile, importDecl, updateImport(importDecl, undefined, importSpecifiers)); + } + else { + changes.replaceNode(sourceFile, importDecl, updateImport(importDecl, usedAsNamespaceOrDefault ? ts.createIdentifier(toConvert.name.text) : undefined, importSpecifiers)); + } + } + function doChangeNamedToNamespace(sourceFile, checker, changes, toConvert) { + var importDecl = toConvert.parent.parent; + var moduleSpecifier = importDecl.moduleSpecifier; + var preferredName = moduleSpecifier && ts.isStringLiteral(moduleSpecifier) ? ts.codefix.moduleSpecifierToValidIdentifier(moduleSpecifier.text, 6) : "module"; + var namespaceNameConflicts = toConvert.elements.some(function (element) { + return ts.FindAllReferences.Core.eachSymbolReferenceInFile(element.name, checker, sourceFile, function (id) { + return !!checker.resolveName(preferredName, id, 67108863, true); + }) || false; + }); + var namespaceImportName = namespaceNameConflicts ? ts.getUniqueName(preferredName, sourceFile) : preferredName; + var neededNamedImports = []; + var _loop_22 = function (element) { + var propertyName = (element.propertyName || element.name).text; + ts.FindAllReferences.Core.eachSymbolReferenceInFile(element.name, checker, sourceFile, function (id) { + var access = ts.createPropertyAccess(ts.createIdentifier(namespaceImportName), propertyName); + if (ts.isShorthandPropertyAssignment(id.parent)) { + changes.replaceNode(sourceFile, id.parent, ts.createPropertyAssignment(id.text, access)); + } + else if (ts.isExportSpecifier(id.parent) && !id.parent.propertyName) { + if (!neededNamedImports.some(function (n) { return n.name === element.name; })) { + neededNamedImports.push(ts.createImportSpecifier(element.propertyName && ts.createIdentifier(element.propertyName.text), ts.createIdentifier(element.name.text))); + } + } + else { + changes.replaceNode(sourceFile, id, access); + } + }); + }; + for (var _i = 0, _a = toConvert.elements; _i < _a.length; _i++) { + var element = _a[_i]; + _loop_22(element); + } + changes.replaceNode(sourceFile, toConvert, ts.createNamespaceImport(ts.createIdentifier(namespaceImportName))); + if (neededNamedImports.length) { + changes.insertNodeAfter(sourceFile, toConvert.parent.parent, updateImport(importDecl, undefined, neededNamedImports)); + } + } + function updateImport(old, defaultImportName, elements) { + return ts.createImportDeclaration(undefined, undefined, ts.createImportClause(defaultImportName, elements && elements.length ? ts.createNamedImports(elements) : undefined), old.moduleSpecifier); + } + })(generateGetAccessorAndSetAccessor = refactor.generateGetAccessorAndSetAccessor || (refactor.generateGetAccessorAndSetAccessor = {})); + })(refactor = ts.refactor || (ts.refactor = {})); +})(ts || (ts = {})); +var ts; (function (ts) { var refactor; (function (refactor) { @@ -86723,8 +87559,8 @@ var ts; if (length === 0) { return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractEmpty)] }; } - var start = getParentNodeInSpan(ts.getTokenAtPosition(sourceFile, span.start, false), sourceFile, span); - var end = getParentNodeInSpan(ts.findTokenOnLeftOfPosition(sourceFile, ts.textSpanEnd(span)), sourceFile, span); + var start = ts.getParentNodeInSpan(ts.getTokenAtPosition(sourceFile, span.start, false), sourceFile, span); + var end = ts.getParentNodeInSpan(ts.findTokenOnLeftOfPosition(sourceFile, ts.textSpanEnd(span)), sourceFile, span); var declarations = []; var rangeFacts = RangeFacts.None; if (!start || !end) { @@ -86738,7 +87574,8 @@ var ts; return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractRange)] }; } var statements = []; - for (var _i = 0, _a = start.parent.statements; _i < _a.length; _i++) { + var start2 = start; + for (var _i = 0, _a = start2.parent.statements; _i < _a.length; _i++) { var statement = _a[_i]; if (statement === start || statements.length) { var errors_1 = checkNode(statement); @@ -86801,20 +87638,20 @@ var ts; function checkForStaticContext(nodeToCheck, containingClass) { var current = nodeToCheck; while (current !== containingClass) { - if (current.kind === 151) { + if (current.kind === 152) { if (ts.hasModifier(current, 32)) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 148) { + else if (current.kind === 149) { var ctorOrMethod = ts.getContainingFunction(current); - if (ctorOrMethod.kind === 154) { + if (ctorOrMethod.kind === 155) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 153) { + else if (current.kind === 154) { if (ts.hasModifier(current, 32)) { rangeFacts |= RangeFacts.InStaticRegion; } @@ -86852,7 +87689,7 @@ var ts; return true; } if (ts.isDeclaration(node)) { - var declaringNode = (node.kind === 231) ? node.parent.parent : node; + var declaringNode = (node.kind === 232) ? node.parent.parent : node; if (ts.hasModifier(declaringNode, 1)) { (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractExportedEntity)); return true; @@ -86860,11 +87697,11 @@ var ts; declarations.push(node.symbol); } switch (node.kind) { - case 243: + case 244: (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractImport)); return true; case 97: - if (node.parent.kind === 186) { + if (node.parent.kind === 187) { var containingClass_1 = ts.getContainingClass(node); if (containingClass_1.pos < span.start || containingClass_1.end >= (span.start + span.length)) { (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractSuper)); @@ -86876,10 +87713,10 @@ var ts; } break; } - if (!node || ts.isFunctionLikeDeclaration(node) || ts.isClassLike(node)) { + if (ts.isFunctionLikeDeclaration(node) || ts.isClassLike(node)) { switch (node.kind) { - case 233: case 234: + case 235: if (ts.isSourceFile(node.parent) && node.parent.externalModuleIndicator === undefined) { (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.functionWillNotBeVisibleInTheNewScope)); } @@ -86889,18 +87726,18 @@ var ts; } var savedPermittedJumps = permittedJumps; switch (node.kind) { - case 216: + case 217: permittedJumps = 0; break; - case 229: + case 230: permittedJumps = 0; break; - case 212: - if (node.parent && node.parent.kind === 229 && node.parent.finallyBlock === node) { + case 213: + if (node.parent && node.parent.kind === 230 && node.parent.finallyBlock === node) { permittedJumps = 4; } break; - case 265: + case 266: permittedJumps |= 1; break; default: @@ -86910,11 +87747,11 @@ var ts; break; } switch (node.kind) { - case 173: + case 174: case 99: rangeFacts |= RangeFacts.UsesThis; break; - case 227: + case 228: { var label = node.label; (seenLabels || (seenLabels = [])).push(label.escapedText); @@ -86922,8 +87759,8 @@ var ts; seenLabels.pop(); break; } + case 224: case 223: - case 222: { var label = node.label; if (label) { @@ -86932,19 +87769,19 @@ var ts; } } else { - if (!(permittedJumps & (node.kind === 223 ? 1 : 2))) { + if (!(permittedJumps & (node.kind === 224 ? 1 : 2))) { (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractRangeContainingConditionalBreakOrContinueStatements)); } } break; } - case 196: + case 197: rangeFacts |= RangeFacts.IsAsyncFunction; break; - case 202: + case 203: rangeFacts |= RangeFacts.IsGenerator; break; - case 224: + case 225: if (permittedJumps & 4) { rangeFacts |= RangeFacts.HasReturn; } @@ -86987,12 +87824,12 @@ var ts; var scopes = []; while (true) { current = current.parent; - if (current.kind === 148) { + if (current.kind === 149) { current = ts.findAncestor(current, function (parent) { return ts.isFunctionLikeDeclaration(parent); }).parent; } if (isScope(current)) { scopes.push(current); - if (current.kind === 273) { + if (current.kind === 274) { return scopes; } } @@ -87075,32 +87912,32 @@ var ts; } function getDescriptionForFunctionLikeDeclaration(scope) { switch (scope.kind) { - case 154: + case 155: return "constructor"; - case 191: - case 233: + case 192: + case 234: return scope.name ? "function '" + scope.name.text + "'" : "anonymous function"; - case 192: + case 193: return "arrow function"; - case 153: + case 154: return "method '" + scope.name.getText(); - case 155: - return "'get " + scope.name.getText() + "'"; case 156: + return "'get " + scope.name.getText() + "'"; + case 157: return "'set " + scope.name.getText() + "'"; default: - ts.Debug.assertNever(scope); + throw ts.Debug.assertNever(scope); } } function getDescriptionForClassLikeDeclaration(scope) { - return scope.kind === 234 + return scope.kind === 235 ? scope.name ? "class '" + scope.name.text + "'" : "anonymous class declaration" : scope.name ? "class expression '" + scope.name.text + "'" : "anonymous class expression"; } function getDescriptionForModuleLikeDeclaration(scope) { - return scope.kind === 239 + return scope.kind === 240 ? "namespace '" + scope.parent.name.getText() + "'" : scope.externalModuleIndicator ? 0 : 1; } @@ -87113,7 +87950,7 @@ var ts; var usagesInScope = _a.usages, typeParameterUsages = _a.typeParameterUsages, substitutions = _a.substitutions; var checker = context.program.getTypeChecker(); var file = scope.getSourceFile(); - var functionNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newMethod" : "newFunction", file.text); + var functionNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newMethod" : "newFunction", file); var isJS = ts.isInJavaScriptFile(scope); var functionName = ts.createIdentifier(functionNameText); var returnType; @@ -87279,7 +88116,7 @@ var ts; var substitutions = _a.substitutions; var checker = context.program.getTypeChecker(); var file = scope.getSourceFile(); - var localNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newProperty" : "newLocal", file.text); + var localNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newProperty" : "newLocal", file); var isJS = ts.isInJavaScriptFile(scope); var variableType = isJS || !checker.isContextSensitive(node) ? undefined @@ -87312,7 +88149,7 @@ var ts; var localReference = ts.createIdentifier(localNameText); changeTracker.replaceNode(context.file, node, localReference); } - else if (node.parent.kind === 215 && scope === ts.findAncestor(node, isScope)) { + else if (node.parent.kind === 216 && scope === ts.findAncestor(node, isScope)) { var newVariableStatement = ts.createVariableStatement(undefined, ts.createVariableDeclarationList([newVariableDeclaration], 2)); changeTracker.replaceNode(context.file, node.parent, newVariableStatement); } @@ -87325,7 +88162,7 @@ var ts; else { changeTracker.insertNodeBefore(context.file, nodeToInsertBefore, newVariableStatement, false); } - if (node.parent.kind === 215) { + if (node.parent.kind === 216) { changeTracker.deleteNode(context.file, node.parent, ts.textChanges.useNonAdjustedPositions); } else { @@ -87407,7 +88244,7 @@ var ts; return { body: ts.createBlock(statements, true), returnValueProperty: undefined }; } function visitor(node) { - if (!ignoreReturns && node.kind === 224 && hasWritesOrVariableDeclarations) { + if (!ignoreReturns && node.kind === 225 && hasWritesOrVariableDeclarations) { var assignments = getPropertyAssignmentsForWritesAndVariableDeclarations(exposedVariableDeclarations, writes); if (node.expression) { if (!returnValueProperty) { @@ -87482,7 +88319,8 @@ var ts; } prevMember = member; } - ts.Debug.assert(prevMember !== undefined); + if (prevMember === undefined) + return ts.Debug.fail(); return prevMember; } function getNodeToInsertConstantBefore(node, scope) { @@ -87507,13 +88345,9 @@ var ts; ts.Debug.assert(ts.isSwitchStatement(curr.parent.parent)); return curr.parent.parent; } - ts.Debug.assert(prevStatement !== undefined); - return prevStatement; - } - if (curr === scope) { - ts.Debug.fail("Didn't encounter a block-like before encountering scope"); - break; + return ts.Debug.assertDefined(prevStatement); } + ts.Debug.assert(curr !== scope, "Didn't encounter a block-like before encountering scope"); } } function getPropertyAssignmentsForWritesAndVariableDeclarations(exposedVariableDeclarations, writes) { @@ -87560,14 +88394,14 @@ var ts; var end = ts.last(statements).end; expressionDiagnostic = ts.createFileDiagnostic(sourceFile, start, end - start, Messages.expressionExpected); } - else if (checker.getTypeAtLocation(expression).flags & (2048 | 16384)) { + else if (checker.getTypeAtLocation(expression).flags & (4096 | 32768)) { expressionDiagnostic = ts.createDiagnosticForNode(expression, Messages.uselessConstantType); } for (var _i = 0, scopes_1 = scopes; _i < scopes_1.length; _i++) { var scope = scopes_1[_i]; usagesPerScope.push({ usages: ts.createMap(), typeParameterUsages: ts.createMap(), substitutions: ts.createMap() }); substitutionsPerScope.push(ts.createMap()); - functionErrorsPerScope.push(ts.isFunctionLikeDeclaration(scope) && scope.kind !== 233 + functionErrorsPerScope.push(ts.isFunctionLikeDeclaration(scope) && scope.kind !== 234 ? [ts.createDiagnosticForNode(scope, Messages.cannotExtractToOtherFunctionLike)] : []); var constantErrors = []; @@ -87619,7 +88453,7 @@ var ts; : ts.getEnclosingBlockScopeContainer(scopes[0]); ts.forEachChild(containingLexicalScopeOfExtraction, checkForUsedDeclarations); } - var _loop_19 = function (i) { + var _loop_23 = function (i) { var scopeUsages = usagesPerScope[i]; if (i > 0 && (scopeUsages.usages.size > 0 || scopeUsages.typeParameterUsages.size > 0)) { var errorNode = isReadonlyArray(targetRange.range) ? targetRange.range[0] : targetRange.range; @@ -87655,7 +88489,7 @@ var ts; } }; for (var i = 0; i < scopes.length; i++) { - _loop_19(i); + _loop_23(i); } return { target: target, usagesPerScope: usagesPerScope, functionErrorsPerScope: functionErrorsPerScope, constantErrorsPerScope: constantErrorsPerScope, exposedVariableDeclarations: exposedVariableDeclarations }; function isInGenericContext(node) { @@ -87828,46 +88662,33 @@ var ts; : ts.createPropertyAccess(prefix, symbol.name); } } - function getParentNodeInSpan(node, file, span) { - if (!node) - return undefined; - while (node.parent) { - if (ts.isSourceFile(node.parent) || !spanContainsNode(span, node.parent, file)) { - return node; - } - node = node.parent; - } - } - function spanContainsNode(span, node, file) { - return ts.textSpanContainsPosition(span, node.getStart(file)) && - node.getEnd() <= ts.textSpanEnd(span); - } function isExtractableExpression(node) { - switch (node.parent.kind) { - case 272: + var parent = node.parent; + switch (parent.kind) { + case 273: return false; } switch (node.kind) { case 9: - return node.parent.kind !== 243 && - node.parent.kind !== 247; - case 203: - case 179: - case 181: + return parent.kind !== 244 && + parent.kind !== 248; + case 204: + case 180: + case 182: return false; case 71: - return node.parent.kind !== 181 && - node.parent.kind !== 247 && - node.parent.kind !== 251; + return parent.kind !== 182 && + parent.kind !== 248 && + parent.kind !== 252; } return true; } function isBlockLike(node) { switch (node.kind) { - case 212: - case 273: - case 239: - case 265: + case 213: + case 274: + case 240: + case 266: return true; default: return false; @@ -87941,7 +88762,7 @@ var ts; var renameLocation = renameLocationOffset + ts.getRenameLocation(edits, renameFilename, nameNeedRename.text, ts.isParameter(declaration)); return { renameFilename: renameFilename, renameLocation: renameLocation, edits: edits }; } - function isConvertableName(name) { + function isConvertibleName(name) { return ts.isIdentifier(name) || ts.isStringLiteral(name); } function isAcceptedDeclaration(node) { @@ -87967,17 +88788,17 @@ var ts; var declaration = ts.findAncestor(node.parent, isAcceptedDeclaration); var meaning = 28 | 32 | 64; if (!declaration || !ts.rangeOverlapsWithStartEnd(declaration.name, startPosition, endPosition) - || !isConvertableName(declaration.name) || (ts.getModifierFlags(declaration) | meaning) !== meaning) + || !isConvertibleName(declaration.name) || (ts.getModifierFlags(declaration) | meaning) !== meaning) return undefined; var name = declaration.name.text; var startWithUnderscore = startsWithUnderscore(name); - var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_" + name, file.text), declaration.name); - var accessorName = createPropertyName(startWithUnderscore ? ts.getUniqueName(name.substring(1), file.text) : name, declaration.name); + var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_" + name, file), declaration.name); + var accessorName = createPropertyName(startWithUnderscore ? ts.getUniqueName(name.substring(1), file) : name, declaration.name); return { isStatic: ts.hasStaticModifier(declaration), isReadonly: ts.hasReadonlyModifier(declaration), type: ts.getTypeAnnotationNode(declaration), - container: declaration.kind === 148 ? declaration.parent.parent : declaration.parent, + container: declaration.kind === 149 ? declaration.parent.parent : declaration.parent, originalName: declaration.name, declaration: declaration, fieldName: fieldName, @@ -88025,7 +88846,9 @@ var ts; if (!constructor.body) return; var file = context.file, program = context.program, cancellationToken = context.cancellationToken; - var referenceEntries = ts.mapDefined(ts.FindAllReferences.getReferenceEntriesForNode(originalName.parent.pos, originalName, program, [file], cancellationToken), function (entry) { return ((entry.type === "node" && ts.rangeContainsRange(constructor, entry.node) && ts.isIdentifier(entry.node) && ts.isWriteAccess(entry.node)) ? entry.node : undefined); }); + var referenceEntries = ts.mapDefined(ts.FindAllReferences.getReferenceEntriesForNode(originalName.parent.pos, originalName, program, [file], cancellationToken), function (entry) { + return (entry.type === "node" && ts.rangeContainsRange(constructor, entry.node) && ts.isIdentifier(entry.node) && ts.isWriteAccess(entry.node)) ? entry.node : undefined; + }); ts.forEach(referenceEntries, function (entry) { var parent = entry.parent; var accessorName = ts.createIdentifier(fieldName.text); @@ -88047,7 +88870,7 @@ var ts; var refactorName = "Move to a new file"; refactor.registerRefactor(refactorName, { getAvailableActions: function (context) { - if (!context.preferences.allowTextChangesInNewFiles || getFirstAndLastStatementToMove(context) === undefined) + if (!context.preferences.allowTextChangesInNewFiles || getStatementsToMove(context) === undefined) return undefined; var description = ts.getLocaleSpecificMessage(ts.Diagnostics.Move_to_a_new_file); return [{ name: refactorName, description: description, actions: [{ name: refactorName, description: description }] }]; @@ -88055,55 +88878,63 @@ var ts; getEditsForAction: function (context, actionName) { ts.Debug.assert(actionName === refactorName); var statements = ts.Debug.assertDefined(getStatementsToMove(context)); - var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, statements, t, context.host); }); + var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, statements, t, context.host, context.preferences); }); return { edits: edits, renameFilename: undefined, renameLocation: undefined }; } }); - function getFirstAndLastStatementToMove(context) { + function getRangeToMove(context) { var file = context.file; var range = ts.createTextRangeFromSpan(ts.getRefactorContextSpan(context)); var statements = file.statements; var startNodeIndex = ts.findIndex(statements, function (s) { return s.end > range.pos; }); if (startNodeIndex === -1) return undefined; - if (range.pos > statements[startNodeIndex].getStart(file)) + var startStatement = statements[startNodeIndex]; + if (ts.isNamedDeclaration(startStatement) && startStatement.name && ts.rangeContainsRange(startStatement.name, range)) { + return { toMove: [statements[startNodeIndex]], afterLast: statements[startNodeIndex + 1] }; + } + if (range.pos > startStatement.getStart(file)) return undefined; var afterEndNodeIndex = ts.findIndex(statements, function (s) { return s.end > range.end; }, startNodeIndex); if (afterEndNodeIndex !== -1 && (afterEndNodeIndex === 0 || statements[afterEndNodeIndex].getStart(file) < range.end)) return undefined; - return { first: startNodeIndex, afterLast: afterEndNodeIndex === -1 ? statements.length : afterEndNodeIndex }; + return { + toMove: statements.slice(startNodeIndex, afterEndNodeIndex === -1 ? statements.length : afterEndNodeIndex), + afterLast: afterEndNodeIndex === -1 ? undefined : statements[afterEndNodeIndex], + }; } - function doChange(oldFile, program, toMove, changes, host) { + function doChange(oldFile, program, toMove, changes, host, preferences) { var checker = program.getTypeChecker(); var usage = getUsageInfo(oldFile, toMove.all, checker); var currentDirectory = ts.getDirectoryPath(oldFile.fileName); var extension = ts.extensionFromPath(oldFile.fileName); var newModuleName = makeUniqueModuleName(getNewModuleName(usage.movedSymbols), extension, currentDirectory, host); var newFileNameWithExtension = newModuleName + extension; - changes.createNewFile(oldFile, ts.combinePaths(currentDirectory, newFileNameWithExtension), getNewStatements(oldFile, usage, changes, toMove, program, newModuleName)); + changes.createNewFile(oldFile, ts.combinePaths(currentDirectory, newFileNameWithExtension), getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, newModuleName, preferences)); addNewFileToTsconfig(program, changes, oldFile.fileName, newFileNameWithExtension, ts.hostGetCanonicalFileName(host)); } function getStatementsToMove(context) { - var statements = context.file.statements; - var _a = getFirstAndLastStatementToMove(context), first = _a.first, afterLast = _a.afterLast; + var rangeToMove = getRangeToMove(context); + if (rangeToMove === undefined) + return undefined; var all = []; var ranges = []; - var rangeToMove = statements.slice(first, afterLast); - ts.getRangesWhere(rangeToMove, function (s) { return !isPureImport(s); }, function (start, afterEnd) { - for (var i = start; i < afterEnd; i++) - all.push(rangeToMove[i]); - ranges.push({ first: rangeToMove[start], last: rangeToMove[afterEnd - 1] }); + var toMove = rangeToMove.toMove, afterLast = rangeToMove.afterLast; + ts.getRangesWhere(toMove, function (s) { return !isPureImport(s); }, function (start, afterEndIndex) { + for (var i = start; i < afterEndIndex; i++) + all.push(toMove[i]); + ranges.push({ first: toMove[start], afterLast: afterLast }); }); - return { all: all, ranges: ranges }; + return all.length === 0 ? undefined : { all: all, ranges: ranges }; } function isPureImport(node) { switch (node.kind) { - case 243: + case 244: return true; - case 242: + case 243: return !ts.hasModifier(node, 1); - case 213: - return node.declarationList.declarations.every(function (d) { return d.initializer && ts.isRequireCall(d.initializer, true); }); + case 214: + return node.declarationList.declarations.every(function (d) { return !!d.initializer && ts.isRequireCall(d.initializer, true); }); default: return false; } @@ -88122,26 +88953,26 @@ var ts; changes.insertNodeInListAfter(cfg, ts.last(filesProp.initializer.elements), ts.createLiteral(newFilePath), filesProp.initializer.elements); } } - function getNewStatements(oldFile, usage, changes, toMove, program, newModuleName) { + function getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, newModuleName, preferences) { var checker = program.getTypeChecker(); if (!oldFile.externalModuleIndicator && !oldFile.commonJsModuleIndicator) { deleteMovedStatements(oldFile, toMove.ranges, changes); return toMove.all; } var useEs6ModuleSyntax = !!oldFile.externalModuleIndicator; - var importsFromNewFile = createOldFileImportsFromNewFile(usage.oldFileImportsFromNewFile, newModuleName, useEs6ModuleSyntax); + var importsFromNewFile = createOldFileImportsFromNewFile(usage.oldFileImportsFromNewFile, newModuleName, useEs6ModuleSyntax, preferences); if (importsFromNewFile) { changes.insertNodeBefore(oldFile, oldFile.statements[0], importsFromNewFile, true); } deleteUnusedOldImports(oldFile, toMove.all, changes, usage.unusedImportsFromOldFile, checker); deleteMovedStatements(oldFile, toMove.ranges, changes); updateImportsInOtherFiles(changes, program, oldFile, usage.movedSymbols, newModuleName); - return getNewFileImportsAndAddExportInOldFile(oldFile, usage.oldImportsNeededByNewFile, usage.newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax).concat(addExports(oldFile, toMove.all, usage.oldFileImportsFromNewFile, useEs6ModuleSyntax)); + return getNewFileImportsAndAddExportInOldFile(oldFile, usage.oldImportsNeededByNewFile, usage.newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax, preferences).concat(addExports(oldFile, toMove.all, usage.oldFileImportsFromNewFile, useEs6ModuleSyntax)); } function deleteMovedStatements(sourceFile, moved, changes) { for (var _i = 0, moved_1 = moved; _i < moved_1.length; _i++) { - var _a = moved_1[_i], first_1 = _a.first, last_3 = _a.last; - changes.deleteNodeRange(sourceFile, first_1, last_3); + var _a = moved_1[_i], first_1 = _a.first, afterLast = _a.afterLast; + changes.deleteNodeRangeExcludingEnd(sourceFile, first_1, afterLast); } } function deleteUnusedOldImports(oldFile, toMove, changes, toDelete, checker) { @@ -88154,11 +88985,13 @@ var ts; } function updateImportsInOtherFiles(changes, program, oldFile, movedSymbols, newModuleName) { var checker = program.getTypeChecker(); - var _loop_20 = function (sourceFile) { + var _loop_24 = function (sourceFile) { if (sourceFile === oldFile) return "continue"; - var _loop_21 = function (statement) { + var _loop_25 = function (statement) { forEachImportInStatement(statement, function (importNode) { + if (checker.getSymbolAtLocation(moduleSpecifierFromImport(importNode)) !== oldFile.symbol) + return; var shouldMove = function (name) { var symbol = ts.isBindingElement(name.parent) ? ts.getPropertySymbolFromBindingElement(checker, name.parent) @@ -88170,21 +89003,72 @@ var ts; var newImportDeclaration = filterImport(importNode, ts.createLiteral(newModuleSpecifier), shouldMove); if (newImportDeclaration) changes.insertNodeAfter(sourceFile, statement, newImportDeclaration); + var ns = getNamespaceLikeImport(importNode); + if (ns) + updateNamespaceLikeImport(changes, sourceFile, checker, movedSymbols, newModuleName, newModuleSpecifier, ns, importNode); }); }; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var statement = _a[_i]; - _loop_21(statement); + _loop_25(statement); } }; for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { var sourceFile = _a[_i]; - _loop_20(sourceFile); + _loop_24(sourceFile); + } + } + function getNamespaceLikeImport(node) { + switch (node.kind) { + case 244: + return node.importClause && node.importClause.namedBindings && node.importClause.namedBindings.kind === 246 ? + node.importClause.namedBindings.name : undefined; + case 243: + return node.name; + case 232: + return ts.tryCast(node.name, ts.isIdentifier); + default: + return ts.Debug.assertNever(node); + } + } + function updateNamespaceLikeImport(changes, sourceFile, checker, movedSymbols, newModuleName, newModuleSpecifier, oldImportId, oldImportNode) { + var preferredNewNamespaceName = ts.codefix.moduleSpecifierToValidIdentifier(newModuleName, 6); + var needUniqueName = false; + var toChange = []; + ts.FindAllReferences.Core.eachSymbolReferenceInFile(oldImportId, checker, sourceFile, function (ref) { + if (!ts.isPropertyAccessExpression(ref.parent)) + return; + needUniqueName = needUniqueName || !!checker.resolveName(preferredNewNamespaceName, ref, 67108863, true); + if (movedSymbols.has(checker.getSymbolAtLocation(ref.parent.name))) { + toChange.push(ref); + } + }); + if (toChange.length) { + var newNamespaceName = needUniqueName ? ts.getUniqueName(preferredNewNamespaceName, sourceFile) : preferredNewNamespaceName; + for (var _i = 0, toChange_1 = toChange; _i < toChange_1.length; _i++) { + var ref = toChange_1[_i]; + changes.replaceNode(sourceFile, ref, ts.createIdentifier(newNamespaceName)); + } + changes.insertNodeAfter(sourceFile, oldImportNode, updateNamespaceLikeImportNode(oldImportNode, newModuleName, newModuleSpecifier)); + } + } + function updateNamespaceLikeImportNode(node, newNamespaceName, newModuleSpecifier) { + var newNamespaceId = ts.createIdentifier(newNamespaceName); + var newModuleString = ts.createLiteral(newModuleSpecifier); + switch (node.kind) { + case 244: + return ts.createImportDeclaration(undefined, undefined, ts.createImportClause(undefined, ts.createNamespaceImport(newNamespaceId)), newModuleString); + case 243: + return ts.createImportEqualsDeclaration(undefined, undefined, newNamespaceId, ts.createExternalModuleReference(newModuleString)); + case 232: + return ts.createVariableDeclaration(newNamespaceId, undefined, createRequireCall(newModuleString)); + default: + return ts.Debug.assertNever(node); } } function moduleSpecifierFromImport(i) { - return (i.kind === 243 ? i.moduleSpecifier - : i.kind === 242 ? i.moduleReference.expression + return (i.kind === 244 ? i.moduleSpecifier + : i.kind === 243 ? i.moduleReference.expression : i.initializer.arguments[0]); } function forEachImportInStatement(statement, cb) { @@ -88206,7 +89090,7 @@ var ts; } } } - function createOldFileImportsFromNewFile(newFileNeedExport, newFileNameWithExtension, useEs6Imports) { + function createOldFileImportsFromNewFile(newFileNeedExport, newFileNameWithExtension, useEs6Imports, preferences) { var defaultImport; var imports = []; newFileNeedExport.forEach(function (symbol) { @@ -88217,13 +89101,13 @@ var ts; imports.push(symbol.name); } }); - return makeImportOrRequire(defaultImport, imports, newFileNameWithExtension, useEs6Imports); + return makeImportOrRequire(defaultImport, imports, newFileNameWithExtension, useEs6Imports, preferences); } - function makeImportOrRequire(defaultImport, imports, path, useEs6Imports) { + function makeImportOrRequire(defaultImport, imports, path, useEs6Imports, preferences) { path = ts.ensurePathIsNonModuleName(path); if (useEs6Imports) { var specifiers = imports.map(function (i) { return ts.createImportSpecifier(undefined, ts.createIdentifier(i)); }); - return ts.makeImportIfNecessary(defaultImport, specifiers, path); + return ts.makeImportIfNecessary(defaultImport, specifiers, path, preferences); } else { ts.Debug.assert(!defaultImport); @@ -88254,15 +89138,15 @@ var ts; } function deleteUnusedImports(sourceFile, importDecl, changes, isUnused) { switch (importDecl.kind) { - case 243: + case 244: deleteUnusedImportsInDeclaration(sourceFile, importDecl, changes, isUnused); break; - case 242: + case 243: if (isUnused(importDecl.name)) { changes.deleteNode(sourceFile, importDecl); } break; - case 231: + case 232: deleteUnusedImportsInVariableDeclaration(sourceFile, importDecl, changes, isUnused); break; default: @@ -88275,7 +89159,7 @@ var ts; var _a = importDecl.importClause, name = _a.name, namedBindings = _a.namedBindings; var defaultUnused = !name || isUnused(name); var namedBindingsUnused = !namedBindings || - (namedBindings.kind === 245 ? isUnused(namedBindings.name) : namedBindings.elements.every(function (e) { return isUnused(e.name); })); + (namedBindings.kind === 246 ? isUnused(namedBindings.name) : namedBindings.elements.every(function (e) { return isUnused(e.name); })); if (defaultUnused && namedBindingsUnused) { changes.deleteNode(sourceFile, importDecl); } @@ -88287,7 +89171,7 @@ var ts; if (namedBindingsUnused) { changes.deleteNode(sourceFile, namedBindings); } - else if (namedBindings.kind === 246) { + else if (namedBindings.kind === 247) { for (var _i = 0, _b = namedBindings.elements; _i < _b.length; _i++) { var element = _b[_i]; if (isUnused(element.name)) @@ -88305,9 +89189,9 @@ var ts; changes.deleteNode(sourceFile, name); } break; - case 180: + case 181: break; - case 179: + case 180: if (name.elements.every(function (e) { return ts.isIdentifier(e.name) && isUnused(e.name); })) { changes.deleteNode(sourceFile, ts.isVariableDeclarationList(varDecl.parent) && varDecl.parent.declarations.length === 1 ? varDecl.parent.parent : varDecl); } @@ -88322,7 +89206,7 @@ var ts; break; } } - function getNewFileImportsAndAddExportInOldFile(oldFile, importsToCopy, newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax) { + function getNewFileImportsAndAddExportInOldFile(oldFile, importsToCopy, newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax, preferences) { var copiedOldImports = []; for (var _i = 0, _a = oldFile.statements; _i < _a.length; _i++) { var oldStatement = _a[_i]; @@ -88353,7 +89237,7 @@ var ts; } } }); - ts.append(copiedOldImports, makeImportOrRequire(oldFileDefault, oldFileNamedImports, ts.removeFileExtension(ts.getBaseFileName(oldFile.fileName)), useEs6ModuleSyntax)); + ts.append(copiedOldImports, makeImportOrRequire(oldFileDefault, oldFileNamedImports, ts.removeFileExtension(ts.getBaseFileName(oldFile.fileName)), useEs6ModuleSyntax, preferences)); return copiedOldImports; } function makeUniqueModuleName(moduleName, extension, inDirectory, host) { @@ -88388,7 +89272,7 @@ var ts; if (isInImport(decl)) { oldImportsNeededByNewFile.add(symbol); } - else if (isTopLevelDeclaration(decl) && !movedSymbols.has(symbol)) { + else if (isTopLevelDeclaration(decl) && sourceFileOfTopLevelDeclaration(decl) === oldFile && !movedSymbols.has(symbol)) { newFileImportsFromOldFile.add(symbol); } } @@ -88410,13 +89294,13 @@ var ts; } function isInImport(decl) { switch (decl.kind) { - case 242: - case 247: - case 244: + case 243: + case 248: + case 245: return true; - case 231: + case 232: return isVariableDeclarationInImport(decl); - case 181: + case 182: return ts.isVariableDeclaration(decl.parent.parent) && isVariableDeclarationInImport(decl.parent.parent); default: return false; @@ -88428,7 +89312,7 @@ var ts; } function filterImport(i, moduleSpecifier, keep) { switch (i.kind) { - case 243: { + case 244: { var clause = i.importClause; if (!clause) return undefined; @@ -88438,9 +89322,9 @@ var ts; ? ts.createImportDeclaration(undefined, undefined, ts.createImportClause(defaultImport, namedBindings), moduleSpecifier) : undefined; } - case 242: + case 243: return keep(i.name) ? i : undefined; - case 231: { + case 232: { var name = filterBindingName(i.name, keep); return name ? makeVariableStatement(name, i.type, createRequireCall(moduleSpecifier), i.parent.flags) : undefined; } @@ -88449,7 +89333,7 @@ var ts; } } function filterNamedBindings(namedBindings, keep) { - if (namedBindings.kind === 245) { + if (namedBindings.kind === 246) { return keep(namedBindings.name) ? namedBindings : undefined; } else { @@ -88461,9 +89345,9 @@ var ts; switch (name.kind) { case 71: return keep(name) ? name : undefined; - case 180: + case 181: return name; - case 179: { + case 180: { var newElements = name.elements.filter(function (prop) { return prop.propertyName || !ts.isIdentifier(prop.name) || keep(prop.name); }); return newElements.length ? ts.createObjectBindingPattern(newElements) : undefined; } @@ -88508,7 +89392,10 @@ var ts; return SymbolSet; }()); function isTopLevelDeclaration(node) { - return isNonVariableTopLevelDeclaration(node) || ts.isVariableDeclaration(node) && ts.isSourceFile(node.parent.parent.parent); + return isNonVariableTopLevelDeclaration(node) && ts.isSourceFile(node.parent) || ts.isVariableDeclaration(node) && ts.isSourceFile(node.parent.parent.parent); + } + function sourceFileOfTopLevelDeclaration(node) { + return ts.isVariableDeclaration(node) ? node.parent.parent.parent : node.parent; } function isTopLevelDeclarationStatement(node) { ts.Debug.assert(ts.isSourceFile(node.parent)); @@ -88516,13 +89403,13 @@ var ts; } function isNonVariableTopLevelDeclaration(node) { switch (node.kind) { - case 233: case 234: + case 235: + case 239: case 238: case 237: case 236: - case 235: - case 242: + case 243: return true; default: return false; @@ -88530,17 +89417,17 @@ var ts; } function forEachTopLevelDeclaration(statement, cb) { switch (statement.kind) { - case 233: case 234: + case 235: + case 239: case 238: case 237: case 236: - case 235: - case 242: + case 243: return cb(statement); - case 213: + case 214: return ts.forEach(statement.declarationList.declarations, cb); - case 215: { + case 216: { var expression = statement.expression; return ts.isBinaryExpression(expression) && ts.getSpecialPropertyAssignmentKind(expression) === 1 ? cb(statement) @@ -88549,7 +89436,7 @@ var ts; } } function nameOfTopLevelDeclaration(d) { - return d.kind === 215 ? d.expression.left.name : ts.tryCast(d.name, ts.isIdentifier); + return d.kind === 216 ? d.expression.left.name : ts.tryCast(d.name, ts.isIdentifier); } function getTopLevelDeclarationStatement(d) { return ts.isVariableDeclaration(d) ? d.parent.parent : d; @@ -88581,23 +89468,23 @@ var ts; function addEs6Export(d) { var modifiers = ts.concatenate([ts.createModifier(84)], d.modifiers); switch (d.kind) { - case 233: - return ts.updateFunctionDeclaration(d, d.decorators, modifiers, d.asteriskToken, d.name, d.typeParameters, d.parameters, d.type, d.body); case 234: - return ts.updateClassDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); - case 213: - return ts.updateVariableStatement(d, modifiers, d.declarationList); - case 238: - return ts.updateModuleDeclaration(d, d.decorators, modifiers, d.name, d.body); - case 237: - return ts.updateEnumDeclaration(d, d.decorators, modifiers, d.name, d.members); - case 236: - return ts.updateTypeAliasDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.type); + return ts.updateFunctionDeclaration(d, d.decorators, modifiers, d.asteriskToken, d.name, d.typeParameters, d.parameters, d.type, d.body); case 235: + return ts.updateClassDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); + case 214: + return ts.updateVariableStatement(d, modifiers, d.declarationList); + case 239: + return ts.updateModuleDeclaration(d, d.decorators, modifiers, d.name, d.body); + case 238: + return ts.updateEnumDeclaration(d, d.decorators, modifiers, d.name, d.members); + case 237: + return ts.updateTypeAliasDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.type); + case 236: return ts.updateInterfaceDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); - case 242: + case 243: return ts.updateImportEqualsDeclaration(d, d.decorators, modifiers, d.name, d.moduleReference); - case 215: + case 216: return ts.Debug.fail(); default: return ts.Debug.assertNever(d); @@ -88608,21 +89495,21 @@ var ts; } function getNamesToExportInCommonJS(decl) { switch (decl.kind) { - case 233: case 234: + case 235: return [decl.name.text]; - case 213: + case 214: return ts.mapDefined(decl.declarationList.declarations, function (d) { return ts.isIdentifier(d.name) ? d.name.text : undefined; }); + case 239: case 238: case 237: case 236: - case 235: - case 242: - return undefined; - case 215: + case 243: + return ts.emptyArray; + case 216: return ts.Debug.fail(); default: - ts.Debug.assertNever(decl); + return ts.Debug.assertNever(decl); } } function createExportAssignment(name) { @@ -88813,7 +89700,7 @@ var ts; var value = 0; for (; moreDigits; state.decodingIndex++) { if (createErrorIfCondition(state.decodingIndex >= state.encodedText.length, "Error in decoding base64VLQFormatDecode, past the mapping string")) { - return; + return undefined; } var currentByte = base64FormatDecode(state.encodedText.charAt(state.decodingIndex)); moreDigits = (currentByte & 32) !== 0; @@ -88917,8 +89804,8 @@ var ts; if (!children.length) { return undefined; } - var child = ts.find(children, function (kid) { return kid.kind < 277 || kid.kind > 297; }); - return child.kind < 145 ? + var child = ts.find(children, function (kid) { return kid.kind < 278 || kid.kind > 298; }); + return child.kind < 146 ? child : child.getFirstToken(sourceFile); }; @@ -88929,7 +89816,7 @@ var ts; if (!child) { return undefined; } - return child.kind < 145 ? child : child.getLastToken(sourceFile); + return child.kind < 146 ? child : child.getLastToken(sourceFile); }; NodeObject.prototype.forEachChild = function (cbNode, cbNodeArray) { return ts.forEachChild(this, cbNode, cbNodeArray); @@ -88982,7 +89869,7 @@ var ts; } } function createSyntaxList(nodes, parent) { - var list = createNode(298, nodes.pos, nodes.end, parent); + var list = createNode(299, nodes.pos, nodes.end, parent); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_7 = nodes; _i < nodes_7.length; _i++) { @@ -89159,25 +90046,25 @@ var ts; return this.checker.getDefaultFromTypeParameter(this); }; TypeObject.prototype.isUnion = function () { - return !!(this.flags & 131072); - }; - TypeObject.prototype.isIntersection = function () { return !!(this.flags & 262144); }; + TypeObject.prototype.isIntersection = function () { + return !!(this.flags & 524288); + }; TypeObject.prototype.isUnionOrIntersection = function () { - return !!(this.flags & 393216); + return !!(this.flags & 786432); }; TypeObject.prototype.isLiteral = function () { - return !!(this.flags & 224); + return !!(this.flags & 448); }; TypeObject.prototype.isStringLiteral = function () { - return !!(this.flags & 32); - }; - TypeObject.prototype.isNumberLiteral = function () { return !!(this.flags & 64); }; + TypeObject.prototype.isNumberLiteral = function () { + return !!(this.flags & 128); + }; TypeObject.prototype.isTypeParameter = function () { - return !!(this.flags & 32768); + return !!(this.flags & 65536); }; TypeObject.prototype.isClassOrInterface = function () { return !!(ts.getObjectFlags(this) & 3); @@ -89222,8 +90109,8 @@ var ts; return ts.emptyArray; var doc = ts.JsDoc.getJsDocCommentsFromDeclarations(declarations); if (doc.length === 0 || declarations.some(hasJSDocInheritDocTag)) { - for (var _i = 0, declarations_13 = declarations; _i < declarations_13.length; _i++) { - var declaration = declarations_13[_i]; + for (var _i = 0, declarations_14 = declarations; _i < declarations_14.length; _i++) { + var declaration = declarations_14[_i]; var inheritedDocs = findInheritedJSDocComments(declaration, declaration.symbol.name, checker); if (inheritedDocs) doc = doc.length === 0 ? inheritedDocs.slice() : inheritedDocs.concat(ts.lineBreakPart(), doc); @@ -89299,10 +90186,10 @@ var ts; } function visit(node) { switch (node.kind) { - case 233: - case 191: + case 234: + case 192: + case 154: case 153: - case 152: var functionDeclaration = node; var declarationName = getDeclarationName(functionDeclaration); if (declarationName) { @@ -89319,29 +90206,29 @@ var ts; } ts.forEachChild(node, visit); break; - case 234: - case 204: case 235: + case 205: case 236: case 237: case 238: - case 242: - case 251: - case 247: - case 244: + case 239: + case 243: + case 252: + case 248: case 245: - case 155: + case 246: case 156: - case 165: + case 157: + case 166: addDeclaration(node); ts.forEachChild(node, visit); break; - case 148: + case 149: if (!ts.hasModifier(node, 92)) { break; } - case 231: - case 181: { + case 232: + case 182: { var decl = node; if (ts.isBindingPattern(decl.name)) { ts.forEachChild(decl.name, visit); @@ -89351,24 +90238,24 @@ var ts; visit(decl.initializer); } } - case 272: + case 273: + case 152: case 151: - case 150: addDeclaration(node); break; - case 249: + case 250: if (node.exportClause) { ts.forEach(node.exportClause.elements, visit); } break; - case 243: + case 244: var importClause = node.importClause; if (importClause) { if (importClause.name) { addDeclaration(importClause); } if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 245) { + if (importClause.namedBindings.kind === 246) { addDeclaration(importClause.namedBindings); } else { @@ -89377,7 +90264,7 @@ var ts; } } break; - case 199: + case 200: if (ts.getSpecialPropertyAssignmentKind(node) !== 0) { addDeclaration(node); } @@ -89515,11 +90402,11 @@ var ts; }; HostCache.prototype.getVersion = function (path) { var file = this.getHostFileInformation(path); - return file && file.version; + return (file && file.version); }; HostCache.prototype.getScriptSnapshot = function (path) { var file = this.getHostFileInformation(path); - return file && file.scriptSnapshot; + return (file && file.scriptSnapshot); }; return HostCache; }()); @@ -89606,7 +90493,7 @@ var ts; this.cancellationToken = cancellationToken; } CancellationTokenObject.prototype.isCancellationRequested = function () { - return this.cancellationToken && this.cancellationToken.isCancellationRequested(); + return !!this.cancellationToken && this.cancellationToken.isCancellationRequested(); }; CancellationTokenObject.prototype.throwIfCancellationRequested = function () { if (this.isCancellationRequested()) { @@ -89710,7 +90597,7 @@ var ts; var hostCache = new HostCache(host, getCanonicalFileName); var rootFileNames = hostCache.getRootFileNames(); var hasInvalidatedResolution = host.hasInvalidatedResolution || ts.returnFalse; - if (ts.isProgramUptoDate(program, rootFileNames, hostCache.compilationSettings(), function (path) { return hostCache.getVersion(path); }, fileExists, hasInvalidatedResolution, host.hasChangedAutomaticTypeDirectiveNames)) { + if (ts.isProgramUptoDate(program, rootFileNames, hostCache.compilationSettings(), function (path) { return hostCache.getVersion(path); }, fileExists, hasInvalidatedResolution, !!host.hasChangedAutomaticTypeDirectiveNames)) { return; } var newSettings = hostCache.compilationSettings(); @@ -89773,7 +90660,7 @@ var ts; var entry = hostCache.getEntryByPath(path); return entry ? !ts.isString(entry) : - (host.fileExists && host.fileExists(fileName)); + (!!host.fileExists && host.fileExists(fileName)); } function onReleaseOldSourceFile(oldSourceFile, oldOptions) { var oldSettingsKey = documentRegistry.getKeyForCompilationSettings(oldOptions); @@ -89834,7 +90721,7 @@ var ts; } function getSuggestionDiagnostics(fileName) { synchronizeHostData(); - return ts.computeSuggestionDiagnostics(getValidSourceFile(fileName), program); + return ts.computeSuggestionDiagnostics(getValidSourceFile(fileName), program, cancellationToken); } function getCompilerOptionsDiagnostics() { synchronizeHostData(); @@ -89849,7 +90736,7 @@ var ts; function getCompletionEntryDetails(fileName, position, name, formattingOptions, source, preferences) { if (preferences === void 0) { preferences = ts.defaultPreferences; } synchronizeHostData(); - return ts.Completions.getCompletionEntryDetails(program, log, getValidSourceFile(fileName), position, { name: name, source: source }, host, formattingOptions && ts.formatting.getFormatContext(formattingOptions), getCanonicalFileName, preferences, cancellationToken); + return ts.Completions.getCompletionEntryDetails(program, log, getValidSourceFile(fileName), position, { name: name, source: source }, host, (formattingOptions && ts.formatting.getFormatContext(formattingOptions)), getCanonicalFileName, preferences, cancellationToken); } function getCompletionEntrySymbol(fileName, position, name, source) { synchronizeHostData(); @@ -89870,10 +90757,10 @@ var ts; if (ts.isLabelName(node)) { return undefined; } - case 184: - case 145: + case 185: + case 146: case 99: - case 173: + case 174: case 97: var type_4 = typeChecker.getTypeAtLocation(node); return type_4 && { @@ -90084,18 +90971,9 @@ var ts; } function getReferences(fileName, position, options) { synchronizeHostData(); - var sourceFiles = []; - if (options && options.isForRename) { - for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { - var sourceFile = _a[_i]; - if (!program.isSourceFileDefaultLibrary(sourceFile)) { - sourceFiles.push(sourceFile); - } - } - } - else { - sourceFiles = program.getSourceFiles().slice(); - } + var sourceFiles = options && options.isForRename + ? program.getSourceFiles().filter(function (sourceFile) { return !program.isSourceFileDefaultLibrary(sourceFile); }) + : program.getSourceFiles(); return ts.FindAllReferences.findReferencedEntries(program, cancellationToken, sourceFiles, getValidSourceFile(fileName), position, options); } function findReferences(fileName, position) { @@ -90103,11 +90981,13 @@ var ts; return ts.FindAllReferences.findReferencedSymbols(program, cancellationToken, program.getSourceFiles(), getValidSourceFile(fileName), position); } function getNavigateToItems(searchValue, maxResultCount, fileName, excludeDtsFiles) { + if (excludeDtsFiles === void 0) { excludeDtsFiles = false; } synchronizeHostData(); var sourceFiles = fileName ? [getValidSourceFile(fileName)] : program.getSourceFiles(); return ts.NavigateTo.getNavigateToItems(sourceFiles, program.getTypeChecker(), cancellationToken, searchValue, maxResultCount, excludeDtsFiles); } function getEmitOutput(fileName, emitOnlyDtsFiles) { + if (emitOnlyDtsFiles === void 0) { emitOnlyDtsFiles = false; } synchronizeHostData(); var sourceFile = getValidSourceFile(fileName); var customTransformers = host.getCustomTransformers && host.getCustomTransformers(); @@ -90121,29 +91001,26 @@ var ts; function getNonBoundSourceFile(fileName) { return syntaxTreeCache.getCurrentSourceFile(fileName); } - function getSourceFile(fileName) { - return getNonBoundSourceFile(fileName); - } function getNameOrDottedNameSpan(fileName, startPos, _endPos) { var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); var node = ts.getTouchingPropertyName(sourceFile, startPos, false); if (node === sourceFile) { - return; + return undefined; } switch (node.kind) { - case 184: - case 145: + case 185: + case 146: case 9: case 86: case 101: case 95: case 97: case 99: - case 173: + case 174: case 71: break; default: - return; + return undefined; } var nodeForStartPos = node; while (true) { @@ -90151,7 +91028,7 @@ var ts; nodeForStartPos = nodeForStartPos.parent; } else if (ts.isNameOfModuleDeclaration(nodeForStartPos)) { - if (nodeForStartPos.parent.parent.kind === 238 && + if (nodeForStartPos.parent.parent.kind === 239 && nodeForStartPos.parent.parent.body === nodeForStartPos.parent) { nodeForStartPos = nodeForStartPos.parent.parent.name; } @@ -90278,8 +91155,9 @@ var ts; var formatContext = ts.formatting.getFormatContext(formatOptions); return ts.OrganizeImports.organizeImports(sourceFile, formatContext, host, program, preferences); } - function getEditsForFileRename(oldFilePath, newFilePath, formatOptions) { - return ts.getEditsForFileRename(getProgram(), oldFilePath, newFilePath, host, ts.formatting.getFormatContext(formatOptions)); + function getEditsForFileRename(oldFilePath, newFilePath, formatOptions, preferences) { + if (preferences === void 0) { preferences = ts.defaultPreferences; } + return ts.getEditsForFileRename(getProgram(), oldFilePath, newFilePath, host, ts.formatting.getFormatContext(formatOptions), preferences); } function applyCodeActionCommand(fileName, actionOrUndefined) { var action = typeof fileName === "string" ? actionOrUndefined : fileName; @@ -90292,7 +91170,7 @@ var ts; ? host.installPackage({ fileName: ts.toPath(action.file, currentDirectory, getCanonicalFileName), packageName: action.packageName }) : Promise.reject("Host does not implement `installPackage`"); default: - ts.Debug.fail(); + return ts.Debug.fail(); } } function getDocCommentTemplateAtPosition(fileName, position) { @@ -90320,6 +91198,17 @@ var ts; } return true; } + function getJsxClosingTagAtPosition(fileName, position) { + var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); + var token = ts.findPrecedingToken(position, sourceFile); + if (!token) + return undefined; + var element = token.kind === 29 && ts.isJsxOpeningElement(token.parent) ? token.parent.parent + : ts.isJsxText(token) ? token.parent : undefined; + if (element && !ts.tagNamesAreEquivalent(element.openingElement.tagName, element.closingElement.tagName)) { + return { newText: "" }; + } + } function getSpanOfEnclosingComment(fileName, position, onlyMultiLine) { var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); var range = ts.formatting.getRangeOfEnclosingComment(sourceFile, position, onlyMultiLine); @@ -90349,7 +91238,8 @@ var ts; descriptor = descriptors[i]; } } - ts.Debug.assert(descriptor !== undefined); + if (descriptor === undefined) + return ts.Debug.fail(); if (isLetterOrDigit(fileContents.charCodeAt(matchPosition + descriptor.text.length))) { continue; } @@ -90452,6 +91342,7 @@ var ts; getFormattingEditsAfterKeystroke: getFormattingEditsAfterKeystroke, getDocCommentTemplateAtPosition: getDocCommentTemplateAtPosition, isValidBraceCompletionAtPosition: isValidBraceCompletionAtPosition, + getJsxClosingTagAtPosition: getJsxClosingTagAtPosition, getSpanOfEnclosingComment: getSpanOfEnclosingComment, getCodeFixesAtPosition: getCodeFixesAtPosition, getCombinedCodeFix: getCombinedCodeFix, @@ -90460,7 +91351,6 @@ var ts; getEditsForFileRename: getEditsForFileRename, getEmitOutput: getEmitOutput, getNonBoundSourceFile: getNonBoundSourceFile, - getSourceFile: getSourceFile, getProgram: getProgram, getApplicableRefactors: getApplicableRefactors, getEditsForRefactor: getEditsForRefactor, @@ -90493,7 +91383,7 @@ var ts; } function literalIsName(node) { return ts.isDeclarationName(node) || - node.parent.kind === 253 || + node.parent.kind === 254 || isArgumentOfElementAccessExpression(node) || ts.isLiteralComputedPropertyDeclarationName(node); } @@ -90501,12 +91391,12 @@ var ts; switch (node.kind) { case 9: case 8: - if (node.parent.kind === 146) { + if (node.parent.kind === 147) { return ts.isObjectLiteralElement(node.parent.parent) ? node.parent.parent : undefined; } case 71: return ts.isObjectLiteralElement(node.parent) && - (node.parent.parent.kind === 183 || node.parent.parent.kind === 262) && + (node.parent.parent.kind === 184 || node.parent.parent.kind === 263) && node.parent.name === node ? node.parent : undefined; } return undefined; @@ -90523,7 +91413,7 @@ var ts; if (name && type) { var result_7 = []; var symbol = type.getProperty(name); - if (type.flags & 131072) { + if (type.flags & 262144) { ts.forEach(type.types, function (t) { var symbol = t.getProperty(name); if (symbol) { @@ -90543,7 +91433,7 @@ var ts; function isArgumentOfElementAccessExpression(node) { return node && node.parent && - node.parent.kind === 185 && + node.parent.kind === 186 && node.parent.argumentExpression === node; } function getDefaultLibFilePath(options) { @@ -90566,10 +91456,11 @@ var ts; var tokenAtLocation = ts.getTokenAtPosition(sourceFile, position, false); var lineOfPosition = sourceFile.getLineAndCharacterOfPosition(position).line; if (sourceFile.getLineAndCharacterOfPosition(tokenAtLocation.getStart(sourceFile)).line > lineOfPosition) { - tokenAtLocation = ts.findPrecedingToken(tokenAtLocation.pos, sourceFile); - if (!tokenAtLocation || sourceFile.getLineAndCharacterOfPosition(tokenAtLocation.getEnd()).line !== lineOfPosition) { + var preceding = ts.findPrecedingToken(tokenAtLocation.pos, sourceFile); + if (!preceding || sourceFile.getLineAndCharacterOfPosition(preceding.getEnd()).line !== lineOfPosition) { return undefined; } + tokenAtLocation = preceding; } if (tokenAtLocation.flags & 4194304) { return undefined; @@ -90601,90 +91492,91 @@ var ts; } function spanInNode(node) { if (node) { + var parent = node.parent; switch (node.kind) { - case 213: + case 214: return spanInVariableDeclaration(node.declarationList.declarations[0]); - case 231: - case 151: - case 150: - return spanInVariableDeclaration(node); - case 148: - return spanInParameterDeclaration(node); - case 233: - case 153: + case 232: case 152: - case 155: - case 156: + case 151: + return spanInVariableDeclaration(node); + case 149: + return spanInParameterDeclaration(node); + case 234: case 154: - case 191: + case 153: + case 156: + case 157: + case 155: case 192: + case 193: return spanInFunctionDeclaration(node); - case 212: + case 213: if (ts.isFunctionBlock(node)) { return spanInFunctionBlock(node); } - case 239: + case 240: return spanInBlock(node); - case 268: + case 269: return spanInBlock(node.block); - case 215: - return textSpan(node.expression); - case 224: - return textSpan(node.getChildAt(0), node.expression); - case 218: - return textSpanEndingAtNextToken(node, node.expression); - case 217: - return spanInNode(node.statement); - case 230: - return textSpan(node.getChildAt(0)); case 216: - return textSpanEndingAtNextToken(node, node.expression); - case 227: - return spanInNode(node.statement); - case 223: - case 222: - return textSpan(node.getChildAt(0), node.label); + return textSpan(node.expression); + case 225: + return textSpan(node.getChildAt(0), node.expression); case 219: - return spanInForStatement(node); - case 220: return textSpanEndingAtNextToken(node, node.expression); - case 221: - return spanInInitializerOfForLike(node); - case 226: + case 218: + return spanInNode(node.statement); + case 231: + return textSpan(node.getChildAt(0)); + case 217: return textSpanEndingAtNextToken(node, node.expression); - case 265: - case 266: - return spanInNode(node.statements[0]); - case 229: - return spanInBlock(node.tryBlock); case 228: + return spanInNode(node.statement); + case 224: + case 223: + return textSpan(node.getChildAt(0), node.label); + case 220: + return spanInForStatement(node); + case 221: + return textSpanEndingAtNextToken(node, node.expression); + case 222: + return spanInInitializerOfForLike(node); + case 227: + return textSpanEndingAtNextToken(node, node.expression); + case 266: + case 267: + return spanInNode(node.statements[0]); + case 230: + return spanInBlock(node.tryBlock); + case 229: return textSpan(node, node.expression); - case 248: - return textSpan(node, node.expression); - case 242: - return textSpan(node, node.moduleReference); - case 243: - return textSpan(node, node.moduleSpecifier); case 249: + return textSpan(node, node.expression); + case 243: + return textSpan(node, node.moduleReference); + case 244: return textSpan(node, node.moduleSpecifier); - case 238: + case 250: + return textSpan(node, node.moduleSpecifier); + case 239: if (ts.getModuleInstanceState(node) !== 1) { return undefined; } - case 234: - case 237: - case 272: - case 181: - return textSpan(node); - case 225: - return spanInNode(node.statement); - case 149: - return spanInNodeArray(node.parent.decorators); - case 179: - case 180: - return spanInBindingPattern(node); case 235: + case 238: + case 273: + case 182: + return textSpan(node); + case 226: + return spanInNode(node.statement); + case 150: + return spanInNodeArray(parent.decorators); + case 180: + case 181: + return spanInBindingPattern(node); case 236: + case 237: return undefined; case 25: case 1: @@ -90712,20 +91604,20 @@ var ts; case 74: case 87: return spanInNextNode(node); - case 144: + case 145: return spanInOfKeyword(node); default: if (ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node)) { return spanInArrayLiteralOrObjectLiteralDestructuringPattern(node); } if ((node.kind === 71 || - node.kind === 203 || - node.kind === 269 || - node.kind === 270) && - ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent)) { + node.kind === 204 || + node.kind === 270 || + node.kind === 271) && + ts.isArrayLiteralOrObjectLiteralDestructuringPattern(parent)) { return textSpan(node); } - if (node.kind === 199) { + if (node.kind === 200) { var _a = node, left = _a.left, operatorToken = _a.operatorToken; if (ts.isArrayLiteralOrObjectLiteralDestructuringPattern(left)) { return spanInArrayLiteralOrObjectLiteralDestructuringPattern(left); @@ -90738,20 +91630,20 @@ var ts; } } if (ts.isExpressionNode(node)) { - switch (node.parent.kind) { - case 217: + switch (parent.kind) { + case 218: return spanInPreviousNode(node); - case 149: + case 150: return spanInNode(node.parent); - case 219: - case 221: + case 220: + case 222: return textSpan(node); - case 199: + case 200: if (node.parent.operatorToken.kind === 26) { return textSpan(node); } break; - case 192: + case 193: if (node.parent.body === node) { return textSpan(node); } @@ -90759,26 +91651,26 @@ var ts; } } switch (node.parent.kind) { - case 269: + case 270: if (node.parent.name === node && !ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.parent)) { return spanInNode(node.parent.initializer); } break; - case 189: + case 190: if (node.parent.type === node) { return spanInNextNode(node.parent.type); } break; - case 231: - case 148: { + case 232: + case 149: { var _b = node.parent, initializer = _b.initializer, type = _b.type; if (initializer === node || type === node || ts.isAssignmentOperator(node.kind)) { return spanInPreviousNode(node); } break; } - case 199: { + case 200: { var left = node.parent.left; if (ts.isArrayLiteralOrObjectLiteralDestructuringPattern(left) && node !== left) { return spanInPreviousNode(node); @@ -90802,15 +91694,16 @@ var ts; } } function spanInVariableDeclaration(variableDeclaration) { - if (variableDeclaration.parent.parent.kind === 220) { + if (variableDeclaration.parent.parent.kind === 221) { return spanInNode(variableDeclaration.parent.parent); } + var parent = variableDeclaration.parent; if (ts.isBindingPattern(variableDeclaration.name)) { return spanInBindingPattern(variableDeclaration.name); } if (variableDeclaration.initializer || ts.hasModifier(variableDeclaration, 1) || - variableDeclaration.parent.parent.kind === 221) { + parent.parent.kind === 222) { return textSpanFromVariableDeclaration(variableDeclaration); } if (ts.isVariableDeclarationList(variableDeclaration.parent) && @@ -90843,7 +91736,7 @@ var ts; } function canFunctionHaveSpanInWholeDeclaration(functionDeclaration) { return ts.hasModifier(functionDeclaration, 1) || - (functionDeclaration.parent.kind === 234 && functionDeclaration.kind !== 154); + (functionDeclaration.parent.kind === 235 && functionDeclaration.kind !== 155); } function spanInFunctionDeclaration(functionDeclaration) { if (!functionDeclaration.body) { @@ -90863,22 +91756,22 @@ var ts; } function spanInBlock(block) { switch (block.parent.kind) { - case 238: + case 239: if (ts.getModuleInstanceState(block.parent) !== 1) { return undefined; } - case 218: - case 216: - case 220: - return spanInNodeIfStartsOnSameLine(block.parent, block.statements[0]); case 219: + case 217: case 221: + return spanInNodeIfStartsOnSameLine(block.parent, block.statements[0]); + case 220: + case 222: return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(block.pos, sourceFile, block.parent), block.statements[0]); } return spanInNode(block.statements[0]); } function spanInInitializerOfForLike(forLikeStatement) { - if (forLikeStatement.initializer.kind === 232) { + if (forLikeStatement.initializer.kind === 233) { var variableDeclarationList = forLikeStatement.initializer; if (variableDeclarationList.declarations.length > 0) { return spanInNode(variableDeclarationList.declarations[0]); @@ -90900,60 +91793,60 @@ var ts; } } function spanInBindingPattern(bindingPattern) { - var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 205 ? element : undefined; }); + var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 206 ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } - if (bindingPattern.parent.kind === 181) { + if (bindingPattern.parent.kind === 182) { return textSpan(bindingPattern.parent); } return textSpanFromVariableDeclaration(bindingPattern.parent); } function spanInArrayLiteralOrObjectLiteralDestructuringPattern(node) { - ts.Debug.assert(node.kind !== 180 && node.kind !== 179); - var elements = node.kind === 182 ? node.elements : node.properties; - var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 205 ? element : undefined; }); + ts.Debug.assert(node.kind !== 181 && node.kind !== 180); + var elements = node.kind === 183 ? node.elements : node.properties; + var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 206 ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } - return textSpan(node.parent.kind === 199 ? node.parent : node); + return textSpan(node.parent.kind === 200 ? node.parent : node); } function spanInOpenBraceToken(node) { switch (node.parent.kind) { - case 237: + case 238: var enumDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), enumDeclaration.members.length ? enumDeclaration.members[0] : enumDeclaration.getLastToken(sourceFile)); - case 234: + case 235: var classDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), classDeclaration.members.length ? classDeclaration.members[0] : classDeclaration.getLastToken(sourceFile)); - case 240: + case 241: return spanInNodeIfStartsOnSameLine(node.parent.parent, node.parent.clauses[0]); } return spanInNode(node.parent); } function spanInCloseBraceToken(node) { switch (node.parent.kind) { - case 239: + case 240: if (ts.getModuleInstanceState(node.parent.parent) !== 1) { return undefined; } - case 237: - case 234: + case 238: + case 235: return textSpan(node); - case 212: + case 213: if (ts.isFunctionBlock(node.parent)) { return textSpan(node); } - case 268: + case 269: return spanInNode(ts.lastOrUndefined(node.parent.statements)); - case 240: + case 241: var caseBlock = node.parent; var lastClause = ts.lastOrUndefined(caseBlock.clauses); if (lastClause) { return spanInNode(ts.lastOrUndefined(lastClause.statements)); } return undefined; - case 179: + case 180: var bindingPattern = node.parent; return spanInNode(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); default: @@ -90966,7 +91859,7 @@ var ts; } function spanInCloseBracketToken(node) { switch (node.parent.kind) { - case 180: + case 181: var bindingPattern = node.parent; return textSpan(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); default: @@ -90978,33 +91871,33 @@ var ts; } } function spanInOpenParenToken(node) { - if (node.parent.kind === 217 || - node.parent.kind === 186 || - node.parent.kind === 187) { + if (node.parent.kind === 218 || + node.parent.kind === 187 || + node.parent.kind === 188) { return spanInPreviousNode(node); } - if (node.parent.kind === 190) { + if (node.parent.kind === 191) { return spanInNextNode(node); } return spanInNode(node.parent); } function spanInCloseParenToken(node) { switch (node.parent.kind) { - case 191: - case 233: case 192: - case 153: - case 152: - case 155: - case 156: + case 234: + case 193: case 154: - case 218: - case 217: + case 153: + case 156: + case 157: + case 155: case 219: - case 221: - case 186: + case 218: + case 220: + case 222: case 187: - case 190: + case 188: + case 191: return spanInPreviousNode(node); default: return spanInNode(node.parent); @@ -91012,26 +91905,26 @@ var ts; } function spanInColonToken(node) { if (ts.isFunctionLike(node.parent) || - node.parent.kind === 269 || - node.parent.kind === 148) { + node.parent.kind === 270 || + node.parent.kind === 149) { return spanInPreviousNode(node); } return spanInNode(node.parent); } function spanInGreaterThanOrLessThanToken(node) { - if (node.parent.kind === 189) { + if (node.parent.kind === 190) { return spanInNextNode(node); } return spanInNode(node.parent); } function spanInWhileKeyword(node) { - if (node.parent.kind === 217) { + if (node.parent.kind === 218) { return textSpanEndingAtNextToken(node, node.parent.expression); } return spanInNode(node.parent); } function spanInOfKeyword(node) { - if (node.parent.kind === 221) { + if (node.parent.kind === 222) { return spanInNextNode(node); } return spanInNode(node.parent); @@ -91292,7 +92185,8 @@ var ts; start: diagnostic.start, length: diagnostic.length, category: ts.diagnosticCategoryName(diagnostic), - code: diagnostic.code + code: diagnostic.code, + reportsUnnecessary: diagnostic.reportsUnnecessary, }; } var LanguageServiceShimObject = (function (_super) { @@ -91533,9 +92427,11 @@ var ts; } ClassifierShimObject.prototype.getEncodedLexicalClassifications = function (text, lexState, syntacticClassifierAbsent) { var _this = this; + if (syntacticClassifierAbsent === void 0) { syntacticClassifierAbsent = false; } return forwardJSONCall(this.logger, "getEncodedLexicalClassifications", function () { return convertClassifications(_this.classifier.getEncodedLexicalClassifications(text, lexState, syntacticClassifierAbsent)); }, this.logPerformance); }; ClassifierShimObject.prototype.getClassificationsForLine = function (text, lexState, classifyKeywordsInGenerics) { + if (classifyKeywordsInGenerics === void 0) { classifyKeywordsInGenerics = false; } var classification = this.classifier.getClassificationsForLine(text, lexState, classifyKeywordsInGenerics); var result = ""; for (var _i = 0, _a = classification.entries; _i < _a.length; _i++) { @@ -91884,7 +92780,7 @@ var ts; function ThrottledOperations(host, logger) { this.host = host; this.pendingTimeouts = ts.createMap(); - this.logger = logger.hasLevel(server.LogLevel.verbose) && logger; + this.logger = logger.hasLevel(server.LogLevel.verbose) ? logger : undefined; } ThrottledOperations.prototype.schedule = function (operationId, delay, cb) { var pendingTimeout = this.pendingTimeouts.get(operationId); @@ -91982,6 +92878,7 @@ var ts; (function (protocol) { var CommandTypes; (function (CommandTypes) { + CommandTypes["JsxClosingTag"] = "jsxClosingTag"; CommandTypes["Brace"] = "brace"; CommandTypes["BraceFull"] = "brace-full"; CommandTypes["BraceCompletion"] = "braceCompletion"; @@ -92485,15 +93382,15 @@ var ts; } var set = ts.createMap(); var unique = 0; - for (var _i = 0, arr1_1 = arr1; _i < arr1_1.length; _i++) { - var v = arr1_1[_i]; + for (var _i = 0, _a = arr1; _i < _a.length; _i++) { + var v = _a[_i]; if (set.get(v) !== true) { set.set(v, true); unique++; } } - for (var _a = 0, arr2_1 = arr2; _a < arr2_1.length; _a++) { - var v = arr2_1[_a]; + for (var _b = 0, _c = arr2; _b < _c.length; _b++) { + var v = _c[_b]; var isSet = set.get(v); if (isSet === undefined) { return false; @@ -92756,11 +93653,11 @@ var ts; }; Project.prototype.getScriptKind = function (fileName) { var info = this.getOrCreateScriptInfoAndAttachToProject(fileName); - return info && info.scriptKind; + return (info && info.scriptKind); }; Project.prototype.getScriptVersion = function (filename) { var info = this.getOrCreateScriptInfoAndAttachToProject(filename); - return info && info.getLatestVersion(); + return (info && info.getLatestVersion()); }; Project.prototype.getScriptSnapshot = function (filename) { var scriptInfo = this.getOrCreateScriptInfoAndAttachToProject(filename); @@ -92993,9 +93890,7 @@ var ts; } return ts.map(this.program.getSourceFiles(), function (sourceFile) { var scriptInfo = _this.projectService.getScriptInfoForPath(sourceFile.path); - if (!scriptInfo) { - ts.Debug.fail("scriptInfo for a file '" + sourceFile.fileName + "' Path: '" + sourceFile.path + "' is missing."); - } + ts.Debug.assert(!!scriptInfo, "getScriptInfo", function () { return "scriptInfo for a file '" + sourceFile.fileName + "' Path: '" + sourceFile.path + "' is missing."; }); return scriptInfo; }); }; @@ -93065,6 +93960,7 @@ var ts; if (info && (info.isScriptOpen() || !requireOpen)) { return this.containsScriptInfo(info); } + return false; }; Project.prototype.isRoot = function (info) { return this.rootFilesMap && this.rootFilesMap.get(info.path) === info; @@ -93342,7 +94238,7 @@ var ts; } var searchPaths = [ts.combinePaths(this.projectService.getExecutingFilePath(), "../../..")].concat(this.projectService.pluginProbeLocations); if (this.projectService.globalPlugins) { - var _loop_22 = function (globalPluginName) { + var _loop_26 = function (globalPluginName) { if (!globalPluginName) return "continue"; if (options.plugins && options.plugins.some(function (p) { return p.name === globalPluginName; })) @@ -93353,7 +94249,7 @@ var ts; var this_1 = this; for (var _i = 0, _a = this.projectService.globalPlugins; _i < _a.length; _i++) { var globalPluginName = _a[_i]; - _loop_22(globalPluginName); + _loop_26(globalPluginName); } } }; @@ -93756,7 +94652,7 @@ var ts; var externalFilePropertyReader = { getFileName: function (x) { return x.fileName; }, getScriptKind: function (x) { return tryConvertScriptKindName(x.scriptKind); }, - hasMixedContent: function (x) { return x.hasMixedContent; }, + hasMixedContent: function (x) { return !!x.hasMixedContent; }, }; function findProjectByName(projectName, projects) { for (var _i = 0, projects_1 = projects; _i < projects_1.length; _i++) { @@ -93828,10 +94724,11 @@ var ts; if (this.host.realpath) { this.realpathToScriptInfos = ts.createMultiMap(); } - this.currentDirectory = this.host.getCurrentDirectory(); + this.currentDirectory = server.toNormalizedPath(this.host.getCurrentDirectory()); this.toCanonicalFileName = ts.createGetCanonicalFileName(this.host.useCaseSensitiveFileNames); - this.globalCacheLocationDirectoryPath = this.typingsInstaller.globalTypingsCacheLocation && - ts.ensureTrailingDirectorySeparator(this.toPath(this.typingsInstaller.globalTypingsCacheLocation)); + this.globalCacheLocationDirectoryPath = this.typingsInstaller.globalTypingsCacheLocation + ? ts.ensureTrailingDirectorySeparator(this.toPath(this.typingsInstaller.globalTypingsCacheLocation)) + : undefined; this.throttledOperations = new server.ThrottledOperations(this.host, this.logger); if (this.typesMapLocation) { this.loadTypesMap(); @@ -93847,7 +94744,7 @@ var ts; hostInfo: "Unknown host", extraFileExtensions: [] }; - this.documentRegistry = ts.createDocumentRegistry(this.host.useCaseSensitiveFileNames, this.currentDirectory); + this.documentRegistry = ts.createDocumentRegistryInternal(this.host.useCaseSensitiveFileNames, this.currentDirectory, this); var watchLogLevel = this.logger.hasLevel(server.LogLevel.verbose) ? ts.WatchLogLevel.Verbose : this.logger.loggingEnabled() ? ts.WatchLogLevel.TriggerOnly : ts.WatchLogLevel.None; var log = watchLogLevel !== ts.WatchLogLevel.None ? (function (s) { return _this.logger.info(s); }) : ts.noop; @@ -93862,6 +94759,14 @@ var ts; ProjectService.prototype.getNormalizedAbsolutePath = function (fileName) { return ts.getNormalizedAbsolutePath(fileName, this.host.getCurrentDirectory()); }; + ProjectService.prototype.setDocument = function (key, path, sourceFile) { + var info = ts.Debug.assertDefined(this.getScriptInfoForPath(path)); + info.cacheSourceFile = { key: key, sourceFile: sourceFile }; + }; + ProjectService.prototype.getDocument = function (key, path) { + var info = this.getScriptInfoForPath(path); + return info && info.cacheSourceFile && info.cacheSourceFile.key === key ? info.cacheSourceFile.sourceFile : undefined; + }; ProjectService.prototype.ensureInferredProjectsUpToDate_TestOnly = function () { this.ensureProjectStructuresUptoDate(); }; @@ -94016,7 +94921,7 @@ var ts; } return scriptInfo.getDefaultProject(); } - return scriptInfo && !scriptInfo.isOrphan() && scriptInfo.getDefaultProject(); + return scriptInfo && !scriptInfo.isOrphan() ? scriptInfo.getDefaultProject() : undefined; }; ProjectService.prototype.getScriptInfoEnsuringProjectsUptoDate = function (uncheckedFileName) { this.ensureProjectStructuresUptoDate(); @@ -94140,7 +95045,7 @@ var ts; } project.updateGraph(); if (!this.useSingleInferredProject && !project.projectRootPath) { - var _loop_23 = function (inferredProject) { + var _loop_27 = function (inferredProject) { if (inferredProject === project || inferredProject.isOrphan()) { return "continue"; } @@ -94152,7 +95057,7 @@ var ts; }; for (var _i = 0, _a = this.inferredProjects; _i < _a.length; _i++) { var inferredProject = _a[_i]; - _loop_23(inferredProject); + _loop_27(inferredProject); } } return project; @@ -94528,7 +95433,7 @@ var ts; if (!(project instanceof server.ConfiguredProject)) { return "other"; } - var configFilePath = project instanceof server.ConfiguredProject && project.getConfigFilePath(); + var configFilePath = project instanceof server.ConfiguredProject ? project.getConfigFilePath() : undefined; return server.getBaseConfigFileName(configFilePath) || "other"; } function convertTypeAcquisition(_a) { @@ -94735,7 +95640,7 @@ var ts; return projects; function combineProjects(toAddInfo) { if (toAddInfo !== info) { - var _loop_24 = function (project) { + var _loop_28 = function (project) { if (project.languageServiceEnabled && !project.isOrphan() && !project.getCompilerOptions().preserveSymlinks && @@ -94751,7 +95656,7 @@ var ts; }; for (var _i = 0, _a = toAddInfo.containingProjects; _i < _a.length; _i++) { var project = _a[_i]; - _loop_24(project); + _loop_28(project); } } } @@ -94794,7 +95699,7 @@ var ts; if (!openedByClient && !isDynamic && !(hostToQueryFileExistsOn || this.host).fileExists(fileName)) { return; } - info = new server.ScriptInfo(this.host, fileName, scriptKind, hasMixedContent, path); + info = new server.ScriptInfo(this.host, fileName, scriptKind, !!hasMixedContent, path); this.filenameToScriptInfo.set(info.path, info); if (!openedByClient) { this.watchClosedScriptInfo(info); @@ -94996,13 +95901,13 @@ var ts; this.printProjects(); }; ProjectService.prototype.collectChanges = function (lastKnownProjectVersions, currentProjects, result) { - var _loop_25 = function (proj) { - var knownProject = ts.forEach(lastKnownProjectVersions, function (p) { return p.projectName === proj.getProjectName() && p; }); + var _loop_29 = function (proj) { + var knownProject = ts.find(lastKnownProjectVersions, function (p) { return p.projectName === proj.getProjectName(); }); result.push(proj.getChangesSinceVersion(knownProject && knownProject.version)); }; for (var _i = 0, currentProjects_1 = currentProjects; _i < currentProjects_1.length; _i++) { var proj = currentProjects_1[_i]; - _loop_25(proj); + _loop_29(proj); } }; ProjectService.prototype.synchronizeProjectList = function (knownProjects) { @@ -95093,7 +95998,8 @@ var ts; }; ProjectService.prototype.applySafeList = function (proj) { var _this = this; - var rootFiles = proj.rootFiles, typeAcquisition = proj.typeAcquisition; + var rootFiles = proj.rootFiles; + var typeAcquisition = proj.typeAcquisition; ts.Debug.assert(!!typeAcquisition, "proj.typeAcquisition should be set by now"); if (typeAcquisition.enable === false) { return []; @@ -95102,7 +96008,7 @@ var ts; var excludeRules = []; var normalizedNames = rootFiles.map(function (f) { return ts.normalizeSlashes(f.fileName); }); var excludedFiles = []; - var _loop_26 = function (name) { + var _loop_30 = function (name) { var rule = this_2.safelist[name]; for (var _i = 0, normalizedNames_1 = normalizedNames; _i < normalizedNames_1.length; _i++) { var root = normalizedNames_1[_i]; @@ -95117,7 +96023,7 @@ var ts; } } if (rule.exclude) { - var _loop_28 = function (exclude) { + var _loop_32 = function (exclude) { var processedRule = root.replace(rule.match, function () { var groups = []; for (var _i = 0; _i < arguments.length; _i++) { @@ -95140,7 +96046,7 @@ var ts; }; for (var _c = 0, _d = rule.exclude; _c < _d.length; _c++) { var exclude = _d[_c]; - _loop_28(exclude); + _loop_32(exclude); } } else { @@ -95155,11 +96061,11 @@ var ts; var this_2 = this; for (var _i = 0, _a = Object.keys(this.safelist); _i < _a.length; _i++) { var name = _a[_i]; - _loop_26(name); + _loop_30(name); } var excludeRegexes = excludeRules.map(function (e) { return new RegExp(e, "i"); }); var filesToKeep = []; - var _loop_27 = function (i) { + var _loop_31 = function (i) { if (excludeRegexes.some(function (re) { return re.test(normalizedNames[i]); })) { excludedFiles.push(normalizedNames[i]); } @@ -95193,7 +96099,7 @@ var ts; }; var this_3 = this; for (var i = 0; i < proj.rootFiles.length; i++) { - _loop_27(i); + _loop_31(i); } proj.rootFiles = filesToKeep; return excludedFiles; @@ -95364,8 +96270,8 @@ var ts; return { line: lineAndCharacter.line + 1, offset: lineAndCharacter.character + 1 }; } function formatConfigFileDiag(diag, includeFileName) { - var start = diag.file && convertToLocation(ts.getLineAndCharacterOfPosition(diag.file, diag.start)); - var end = diag.file && convertToLocation(ts.getLineAndCharacterOfPosition(diag.file, diag.start + diag.length)); + var start = (diag.file && convertToLocation(ts.getLineAndCharacterOfPosition(diag.file, diag.start))); + var end = (diag.file && convertToLocation(ts.getLineAndCharacterOfPosition(diag.file, diag.start + diag.length))); var text = ts.flattenDiagnosticMessageText(diag.messageText, "\n"); var code = diag.code, source = diag.source; var category = ts.diagnosticCategoryName(diag); @@ -95743,6 +96649,9 @@ var ts; _this.projectService.reloadProjects(); return _this.notRequired(); }, + _a[server.CommandNames.JsxClosingTag] = function (request) { + return _this.requiredResponse(_this.getJsxClosingTag(request.arguments)); + }, _a[server.CommandNames.GetCodeFixes] = function (request) { return _this.requiredResponse(_this.getCodeFixes(request.arguments, true)); }, @@ -95791,6 +96700,7 @@ var ts; this.logger = opts.logger; this.canUseEvents = opts.canUseEvents; this.suppressDiagnosticEvents = opts.suppressDiagnosticEvents; + this.noGetErrOnBackgroundUpdate = opts.noGetErrOnBackgroundUpdate; var throttleWaitMilliseconds = opts.throttleWaitMilliseconds; this.eventHandler = this.canUseEvents ? opts.eventHandler || (function (event) { return _this.defaultEventHandler(event); }) @@ -95862,7 +96772,7 @@ var ts; var _this = this; this.projectService.logger.info("got projects updated in background, updating diagnostics for " + openFiles); if (openFiles.length) { - if (!this.suppressDiagnosticEvents) { + if (!this.suppressDiagnosticEvents && !this.noGetErrOnBackgroundUpdate) { var checkList_1 = this.createCheckList(openFiles); this.errorCheck.startNew(function (next) { return _this.updateErrorCheck(next, checkList_1, 100, true); }); } @@ -96004,20 +96914,20 @@ var ts; return project.getLanguageService().getEncodedSemanticClassifications(file, args); }; Session.prototype.getProject = function (projectFileName) { - return projectFileName && this.projectService.findProject(projectFileName); + return projectFileName === undefined ? undefined : this.projectService.findProject(projectFileName); }; Session.prototype.getConfigFileAndProject = function (args) { var project = this.getProject(args.projectFileName); var file = server.toNormalizedPath(args.file); return { - configFile: project && project.hasConfigFile(file) && file, + configFile: project && project.hasConfigFile(file) ? file : undefined, project: project }; }; Session.prototype.getConfigFileDiagnostics = function (configFile, project, includeLinePosition) { var projectErrors = project.getAllProjectErrors(); var optionsErrors = project.getLanguageService().getCompilerOptionsDiagnostics(); - var diagnosticsForConfigFile = ts.filter(ts.concatenate(projectErrors, optionsErrors), function (diagnostic) { return diagnostic.file && diagnostic.file.fileName === configFile; }); + var diagnosticsForConfigFile = ts.filter(ts.concatenate(projectErrors, optionsErrors), function (diagnostic) { return !!diagnostic.file && diagnostic.file.fileName === configFile; }); return includeLinePosition ? this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(diagnosticsForConfigFile) : ts.map(diagnosticsForConfigFile, function (diagnostic) { return formatConfigFileDiag(diagnostic, false); }); @@ -96030,8 +96940,8 @@ var ts; length: d.length, category: ts.diagnosticCategoryName(d), code: d.code, - startLocation: d.file && convertToLocation(ts.getLineAndCharacterOfPosition(d.file, d.start)), - endLocation: d.file && convertToLocation(ts.getLineAndCharacterOfPosition(d.file, d.start + d.length)) + startLocation: (d.file && convertToLocation(ts.getLineAndCharacterOfPosition(d.file, d.start))), + endLocation: (d.file && convertToLocation(ts.getLineAndCharacterOfPosition(d.file, d.start + d.length))) }); }); }; Session.prototype.getCompilerOptionsDiagnostics = function (args) { @@ -96167,21 +97077,27 @@ var ts; if (configFile) { return server.emptyArray; } - return this.getDiagnosticsWorker(args, false, function (project, file) { return project.getLanguageService().getSyntacticDiagnostics(file); }, args.includeLinePosition); + return this.getDiagnosticsWorker(args, false, function (project, file) { return project.getLanguageService().getSyntacticDiagnostics(file); }, !!args.includeLinePosition); }; Session.prototype.getSemanticDiagnosticsSync = function (args) { var _a = this.getConfigFileAndProject(args), configFile = _a.configFile, project = _a.project; if (configFile) { - return this.getConfigFileDiagnostics(configFile, project, args.includeLinePosition); + return this.getConfigFileDiagnostics(configFile, project, !!args.includeLinePosition); } - return this.getDiagnosticsWorker(args, true, function (project, file) { return project.getLanguageService().getSemanticDiagnostics(file); }, args.includeLinePosition); + return this.getDiagnosticsWorker(args, true, function (project, file) { return project.getLanguageService().getSemanticDiagnostics(file); }, !!args.includeLinePosition); }; Session.prototype.getSuggestionDiagnosticsSync = function (args) { var configFile = this.getConfigFileAndProject(args).configFile; if (configFile) { return server.emptyArray; } - return this.getDiagnosticsWorker(args, true, function (project, file) { return project.getLanguageService().getSuggestionDiagnostics(file); }, args.includeLinePosition); + return this.getDiagnosticsWorker(args, true, function (project, file) { return project.getLanguageService().getSuggestionDiagnostics(file); }, !!args.includeLinePosition); + }; + Session.prototype.getJsxClosingTag = function (args) { + var _a = this.getFileAndProject(args), file = _a.file, project = _a.project; + var position = this.getPositionInFile(args, file); + var tag = project.getLanguageService().getJsxClosingTagAtPosition(file, position); + return tag === undefined ? undefined : { newText: tag.newText, caretOffset: 0 }; }; Session.prototype.getDocumentHighlights = function (args, simplifiedResult) { var _a = this.getFileAndProject(args), file = _a.file, project = _a.project; @@ -96354,13 +97270,10 @@ var ts; var position = this.getPosition(args, scriptInfo); if (simplifiedResult) { var nameInfo = defaultProject.getLanguageService().getQuickInfoAtPosition(file, position); - if (!nameInfo) { - return undefined; - } - var displayString = ts.displayPartsToString(nameInfo.displayParts); - var nameSpan = nameInfo.textSpan; - var nameColStart = scriptInfo.positionToLineOffset(nameSpan.start).offset; - var nameText = scriptInfo.getSnapshot().getText(nameSpan.start, ts.textSpanEnd(nameSpan)); + var displayString = nameInfo ? ts.displayPartsToString(nameInfo.displayParts) : ""; + var nameSpan = nameInfo && nameInfo.textSpan; + var nameColStart = nameSpan ? scriptInfo.positionToLineOffset(nameSpan.start).offset : 0; + var nameText = nameSpan ? scriptInfo.getSnapshot().getText(nameSpan.start, ts.textSpanEnd(nameSpan)) : ""; var refs = combineProjectOutput(file, function (path) { return _this.projectService.getScriptInfoForPath(path).fileName; }, projects, function (project, file) { var references = project.getLanguageService().getReferencesAtPosition(file, position); if (!references) { @@ -96701,7 +97614,7 @@ var ts; }; Session.prototype.reload = function (args, reqSeq) { var file = server.toNormalizedPath(args.file); - var tempFileName = args.tmpfile && server.toNormalizedPath(args.tmpfile); + var tempFileName = args.tmpfile === undefined ? undefined : server.toNormalizedPath(args.tmpfile); var info = this.projectService.getScriptInfoForNormalizedPath(file); if (info) { this.changeSeq++; @@ -96904,7 +97817,7 @@ var ts; }; Session.prototype.getEditsForFileRename = function (args, simplifiedResult) { var _a = this.getFileAndProject(args), file = _a.file, project = _a.project; - var changes = project.getLanguageService().getEditsForFileRename(args.oldFilePath, args.newFilePath, this.getFormatOptions(file)); + var changes = project.getLanguageService().getEditsForFileRename(args.oldFilePath, args.newFilePath, this.getFormatOptions(file), this.getPreferences(file)); return simplifiedResult ? this.mapTextChangesToCodeEdits(project, changes) : changes; }; Session.prototype.getCodeFixes = function (args, simplifiedResult) { @@ -97573,6 +98486,7 @@ var ts; this.load(LineIndex.linesFromText(newText).lines); return this; } + return undefined; } else { var checkText = void 0; @@ -97912,8 +98826,7 @@ var ts; return ts.combinePaths(ts.combinePaths(cacheLocation, "typescript"), ts.versionMajorMinor); } default: - ts.Debug.fail("unsupported platform '" + process.platform + "'"); - return; + return ts.Debug.fail("unsupported platform '" + process.platform + "'"); } } function getNonWindowsCacheLocation(platformIsDarwin) { @@ -98262,6 +99175,7 @@ var ts; canUseEvents: true, suppressDiagnosticEvents: suppressDiagnosticEvents, syntaxOnly: syntaxOnly, + noGetErrOnBackgroundUpdate: noGetErrOnBackgroundUpdate, globalPlugins: globalPlugins, pluginProbeLocations: pluginProbeLocations, allowLocalPluginLoads: allowLocalPluginLoads, @@ -98283,7 +99197,7 @@ var ts; return _this; } IOSession.prototype.event = function (body, eventName) { - ts.Debug.assert(this.constructed, "Should only call `IOSession.prototype.event` on an initialized IOSession"); + ts.Debug.assert(!!this.constructed, "Should only call `IOSession.prototype.event` on an initialized IOSession"); if (this.canUseEvents && this.eventPort) { if (!this.eventSocket) { if (this.logger.hasLevel(server.LogLevel.verbose)) { @@ -98590,8 +99504,8 @@ var ts; var eventPort; { var str = server.findArgument("--eventPort"); - var v = str && parseInt(str); - if (!isNaN(v)) { + var v = str === undefined ? undefined : parseInt(str); + if (v !== undefined && !isNaN(v)) { eventPort = v; } } @@ -98619,6 +99533,7 @@ var ts; var suppressDiagnosticEvents = server.hasArgument("--suppressDiagnosticEvents"); var syntaxOnly = server.hasArgument("--syntaxOnly"); var telemetryEnabled = server.hasArgument(server.Arguments.EnableTelemetry); + var noGetErrOnBackgroundUpdate = server.hasArgument("--noGetErrOnBackgroundUpdate"); logger.info("Starting TS Server"); logger.info("Version: " + ts.version); logger.info("Arguments: " + process.argv.join(" ")); diff --git a/lib/tsserverlibrary.d.ts b/lib/tsserverlibrary.d.ts index cbf39a2a48f..76a5d890fa7 100644 --- a/lib/tsserverlibrary.d.ts +++ b/lib/tsserverlibrary.d.ts @@ -204,169 +204,170 @@ declare namespace ts { TypeKeyword = 139, UndefinedKeyword = 140, UniqueKeyword = 141, - FromKeyword = 142, - GlobalKeyword = 143, - OfKeyword = 144, - QualifiedName = 145, - ComputedPropertyName = 146, - TypeParameter = 147, - Parameter = 148, - Decorator = 149, - PropertySignature = 150, - PropertyDeclaration = 151, - MethodSignature = 152, - MethodDeclaration = 153, - Constructor = 154, - GetAccessor = 155, - SetAccessor = 156, - CallSignature = 157, - ConstructSignature = 158, - IndexSignature = 159, - TypePredicate = 160, - TypeReference = 161, - FunctionType = 162, - ConstructorType = 163, - TypeQuery = 164, - TypeLiteral = 165, - ArrayType = 166, - TupleType = 167, - UnionType = 168, - IntersectionType = 169, - ConditionalType = 170, - InferType = 171, - ParenthesizedType = 172, - ThisType = 173, - TypeOperator = 174, - IndexedAccessType = 175, - MappedType = 176, - LiteralType = 177, - ImportType = 178, - ObjectBindingPattern = 179, - ArrayBindingPattern = 180, - BindingElement = 181, - ArrayLiteralExpression = 182, - ObjectLiteralExpression = 183, - PropertyAccessExpression = 184, - ElementAccessExpression = 185, - CallExpression = 186, - NewExpression = 187, - TaggedTemplateExpression = 188, - TypeAssertionExpression = 189, - ParenthesizedExpression = 190, - FunctionExpression = 191, - ArrowFunction = 192, - DeleteExpression = 193, - TypeOfExpression = 194, - VoidExpression = 195, - AwaitExpression = 196, - PrefixUnaryExpression = 197, - PostfixUnaryExpression = 198, - BinaryExpression = 199, - ConditionalExpression = 200, - TemplateExpression = 201, - YieldExpression = 202, - SpreadElement = 203, - ClassExpression = 204, - OmittedExpression = 205, - ExpressionWithTypeArguments = 206, - AsExpression = 207, - NonNullExpression = 208, - MetaProperty = 209, - TemplateSpan = 210, - SemicolonClassElement = 211, - Block = 212, - VariableStatement = 213, - EmptyStatement = 214, - ExpressionStatement = 215, - IfStatement = 216, - DoStatement = 217, - WhileStatement = 218, - ForStatement = 219, - ForInStatement = 220, - ForOfStatement = 221, - ContinueStatement = 222, - BreakStatement = 223, - ReturnStatement = 224, - WithStatement = 225, - SwitchStatement = 226, - LabeledStatement = 227, - ThrowStatement = 228, - TryStatement = 229, - DebuggerStatement = 230, - VariableDeclaration = 231, - VariableDeclarationList = 232, - FunctionDeclaration = 233, - ClassDeclaration = 234, - InterfaceDeclaration = 235, - TypeAliasDeclaration = 236, - EnumDeclaration = 237, - ModuleDeclaration = 238, - ModuleBlock = 239, - CaseBlock = 240, - NamespaceExportDeclaration = 241, - ImportEqualsDeclaration = 242, - ImportDeclaration = 243, - ImportClause = 244, - NamespaceImport = 245, - NamedImports = 246, - ImportSpecifier = 247, - ExportAssignment = 248, - ExportDeclaration = 249, - NamedExports = 250, - ExportSpecifier = 251, - MissingDeclaration = 252, - ExternalModuleReference = 253, - JsxElement = 254, - JsxSelfClosingElement = 255, - JsxOpeningElement = 256, - JsxClosingElement = 257, - JsxFragment = 258, - JsxOpeningFragment = 259, - JsxClosingFragment = 260, - JsxAttribute = 261, - JsxAttributes = 262, - JsxSpreadAttribute = 263, - JsxExpression = 264, - CaseClause = 265, - DefaultClause = 266, - HeritageClause = 267, - CatchClause = 268, - PropertyAssignment = 269, - ShorthandPropertyAssignment = 270, - SpreadAssignment = 271, - EnumMember = 272, - SourceFile = 273, - Bundle = 274, - UnparsedSource = 275, - InputFiles = 276, - JSDocTypeExpression = 277, - JSDocAllType = 278, - JSDocUnknownType = 279, - JSDocNullableType = 280, - JSDocNonNullableType = 281, - JSDocOptionalType = 282, - JSDocFunctionType = 283, - JSDocVariadicType = 284, - JSDocComment = 285, - JSDocTypeLiteral = 286, - JSDocSignature = 287, - JSDocTag = 288, - JSDocAugmentsTag = 289, - JSDocClassTag = 290, - JSDocCallbackTag = 291, - JSDocParameterTag = 292, - JSDocReturnTag = 293, - JSDocTypeTag = 294, - JSDocTemplateTag = 295, - JSDocTypedefTag = 296, - JSDocPropertyTag = 297, - SyntaxList = 298, - NotEmittedStatement = 299, - PartiallyEmittedExpression = 300, - CommaListExpression = 301, - MergeDeclarationMarker = 302, - EndOfDeclarationMarker = 303, - Count = 304, + UnknownKeyword = 142, + FromKeyword = 143, + GlobalKeyword = 144, + OfKeyword = 145, + QualifiedName = 146, + ComputedPropertyName = 147, + TypeParameter = 148, + Parameter = 149, + Decorator = 150, + PropertySignature = 151, + PropertyDeclaration = 152, + MethodSignature = 153, + MethodDeclaration = 154, + Constructor = 155, + GetAccessor = 156, + SetAccessor = 157, + CallSignature = 158, + ConstructSignature = 159, + IndexSignature = 160, + TypePredicate = 161, + TypeReference = 162, + FunctionType = 163, + ConstructorType = 164, + TypeQuery = 165, + TypeLiteral = 166, + ArrayType = 167, + TupleType = 168, + UnionType = 169, + IntersectionType = 170, + ConditionalType = 171, + InferType = 172, + ParenthesizedType = 173, + ThisType = 174, + TypeOperator = 175, + IndexedAccessType = 176, + MappedType = 177, + LiteralType = 178, + ImportType = 179, + ObjectBindingPattern = 180, + ArrayBindingPattern = 181, + BindingElement = 182, + ArrayLiteralExpression = 183, + ObjectLiteralExpression = 184, + PropertyAccessExpression = 185, + ElementAccessExpression = 186, + CallExpression = 187, + NewExpression = 188, + TaggedTemplateExpression = 189, + TypeAssertionExpression = 190, + ParenthesizedExpression = 191, + FunctionExpression = 192, + ArrowFunction = 193, + DeleteExpression = 194, + TypeOfExpression = 195, + VoidExpression = 196, + AwaitExpression = 197, + PrefixUnaryExpression = 198, + PostfixUnaryExpression = 199, + BinaryExpression = 200, + ConditionalExpression = 201, + TemplateExpression = 202, + YieldExpression = 203, + SpreadElement = 204, + ClassExpression = 205, + OmittedExpression = 206, + ExpressionWithTypeArguments = 207, + AsExpression = 208, + NonNullExpression = 209, + MetaProperty = 210, + TemplateSpan = 211, + SemicolonClassElement = 212, + Block = 213, + VariableStatement = 214, + EmptyStatement = 215, + ExpressionStatement = 216, + IfStatement = 217, + DoStatement = 218, + WhileStatement = 219, + ForStatement = 220, + ForInStatement = 221, + ForOfStatement = 222, + ContinueStatement = 223, + BreakStatement = 224, + ReturnStatement = 225, + WithStatement = 226, + SwitchStatement = 227, + LabeledStatement = 228, + ThrowStatement = 229, + TryStatement = 230, + DebuggerStatement = 231, + VariableDeclaration = 232, + VariableDeclarationList = 233, + FunctionDeclaration = 234, + ClassDeclaration = 235, + InterfaceDeclaration = 236, + TypeAliasDeclaration = 237, + EnumDeclaration = 238, + ModuleDeclaration = 239, + ModuleBlock = 240, + CaseBlock = 241, + NamespaceExportDeclaration = 242, + ImportEqualsDeclaration = 243, + ImportDeclaration = 244, + ImportClause = 245, + NamespaceImport = 246, + NamedImports = 247, + ImportSpecifier = 248, + ExportAssignment = 249, + ExportDeclaration = 250, + NamedExports = 251, + ExportSpecifier = 252, + MissingDeclaration = 253, + ExternalModuleReference = 254, + JsxElement = 255, + JsxSelfClosingElement = 256, + JsxOpeningElement = 257, + JsxClosingElement = 258, + JsxFragment = 259, + JsxOpeningFragment = 260, + JsxClosingFragment = 261, + JsxAttribute = 262, + JsxAttributes = 263, + JsxSpreadAttribute = 264, + JsxExpression = 265, + CaseClause = 266, + DefaultClause = 267, + HeritageClause = 268, + CatchClause = 269, + PropertyAssignment = 270, + ShorthandPropertyAssignment = 271, + SpreadAssignment = 272, + EnumMember = 273, + SourceFile = 274, + Bundle = 275, + UnparsedSource = 276, + InputFiles = 277, + JSDocTypeExpression = 278, + JSDocAllType = 279, + JSDocUnknownType = 280, + JSDocNullableType = 281, + JSDocNonNullableType = 282, + JSDocOptionalType = 283, + JSDocFunctionType = 284, + JSDocVariadicType = 285, + JSDocComment = 286, + JSDocTypeLiteral = 287, + JSDocSignature = 288, + JSDocTag = 289, + JSDocAugmentsTag = 290, + JSDocClassTag = 291, + JSDocCallbackTag = 292, + JSDocParameterTag = 293, + JSDocReturnTag = 294, + JSDocTypeTag = 295, + JSDocTemplateTag = 296, + JSDocTypedefTag = 297, + JSDocPropertyTag = 298, + SyntaxList = 299, + NotEmittedStatement = 300, + PartiallyEmittedExpression = 301, + CommaListExpression = 302, + MergeDeclarationMarker = 303, + EndOfDeclarationMarker = 304, + Count = 305, FirstAssignment = 58, LastAssignment = 70, FirstCompoundAssignment = 59, @@ -374,15 +375,15 @@ declare namespace ts { FirstReservedWord = 72, LastReservedWord = 107, FirstKeyword = 72, - LastKeyword = 144, + LastKeyword = 145, FirstFutureReservedWord = 108, LastFutureReservedWord = 116, - FirstTypeNode = 160, - LastTypeNode = 178, + FirstTypeNode = 161, + LastTypeNode = 179, FirstPunctuation = 17, LastPunctuation = 70, FirstToken = 0, - LastToken = 144, + LastToken = 145, FirstTriviaToken = 2, LastTriviaToken = 7, FirstLiteralToken = 8, @@ -391,11 +392,11 @@ declare namespace ts { LastTemplateToken = 16, FirstBinaryOperator = 27, LastBinaryOperator = 70, - FirstNode = 145, - FirstJSDocNode = 277, - LastJSDocNode = 297, - FirstJSDocTagNode = 288, - LastJSDocTagNode = 297 + FirstNode = 146, + FirstJSDocNode = 278, + LastJSDocNode = 298, + FirstJSDocTagNode = 289, + LastJSDocTagNode = 298 } enum NodeFlags { None = 0, @@ -460,7 +461,7 @@ declare namespace ts { flags: NodeFlags; decorators?: NodeArray; modifiers?: ModifiersArray; - parent?: Node; + parent: Node; } interface JSDocContainer { } @@ -525,12 +526,12 @@ declare namespace ts { } interface Decorator extends Node { kind: SyntaxKind.Decorator; - parent?: NamedDeclaration; + parent: NamedDeclaration; expression: LeftHandSideExpression; } interface TypeParameterDeclaration extends NamedDeclaration { kind: SyntaxKind.TypeParameter; - parent?: DeclarationWithTypeParameters | InferTypeNode; + parent: DeclarationWithTypeParameters | InferTypeNode; name: Identifier; constraint?: TypeNode; default?: TypeNode; @@ -541,7 +542,7 @@ declare namespace ts { name?: PropertyName; typeParameters?: NodeArray; parameters: NodeArray; - type: TypeNode | undefined; + type?: TypeNode; } type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction; interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement { @@ -553,7 +554,7 @@ declare namespace ts { type BindingName = Identifier | BindingPattern; interface VariableDeclaration extends NamedDeclaration { kind: SyntaxKind.VariableDeclaration; - parent?: VariableDeclarationList | CatchClause; + parent: VariableDeclarationList | CatchClause; name: BindingName; exclamationToken?: ExclamationToken; type?: TypeNode; @@ -561,12 +562,12 @@ declare namespace ts { } interface VariableDeclarationList extends Node { kind: SyntaxKind.VariableDeclarationList; - parent?: VariableStatement | ForStatement | ForOfStatement | ForInStatement; + parent: VariableStatement | ForStatement | ForOfStatement | ForInStatement; declarations: NodeArray; } interface ParameterDeclaration extends NamedDeclaration, JSDocContainer { kind: SyntaxKind.Parameter; - parent?: SignatureDeclaration; + parent: SignatureDeclaration; dotDotDotToken?: DotDotDotToken; name: BindingName; questionToken?: QuestionToken; @@ -575,7 +576,7 @@ declare namespace ts { } interface BindingElement extends NamedDeclaration { kind: SyntaxKind.BindingElement; - parent?: BindingPattern; + parent: BindingPattern; propertyName?: PropertyName; dotDotDotToken?: DotDotDotToken; name: BindingName; @@ -628,12 +629,12 @@ declare namespace ts { } interface ObjectBindingPattern extends Node { kind: SyntaxKind.ObjectBindingPattern; - parent?: VariableDeclaration | ParameterDeclaration | BindingElement; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; elements: NodeArray; } interface ArrayBindingPattern extends Node { kind: SyntaxKind.ArrayBindingPattern; - parent?: VariableDeclaration | ParameterDeclaration | BindingElement; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; elements: NodeArray; } type BindingPattern = ObjectBindingPattern | ArrayBindingPattern; @@ -662,47 +663,47 @@ declare namespace ts { } interface MethodSignature extends SignatureDeclarationBase, TypeElement { kind: SyntaxKind.MethodSignature; - parent?: ObjectTypeDeclaration; + parent: ObjectTypeDeclaration; name: PropertyName; } interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { kind: SyntaxKind.MethodDeclaration; - parent?: ClassLikeDeclaration | ObjectLiteralExpression; + parent: ClassLikeDeclaration | ObjectLiteralExpression; name: PropertyName; body?: FunctionBody; } interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer { kind: SyntaxKind.Constructor; - parent?: ClassLikeDeclaration; + parent: ClassLikeDeclaration; body?: FunctionBody; } /** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ interface SemicolonClassElement extends ClassElement { kind: SyntaxKind.SemicolonClassElement; - parent?: ClassLikeDeclaration; + parent: ClassLikeDeclaration; } interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { kind: SyntaxKind.GetAccessor; - parent?: ClassLikeDeclaration | ObjectLiteralExpression; + parent: ClassLikeDeclaration | ObjectLiteralExpression; name: PropertyName; body?: FunctionBody; } interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { kind: SyntaxKind.SetAccessor; - parent?: ClassLikeDeclaration | ObjectLiteralExpression; + parent: ClassLikeDeclaration | ObjectLiteralExpression; name: PropertyName; body?: FunctionBody; } type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration; interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement { kind: SyntaxKind.IndexSignature; - parent?: ObjectTypeDeclaration; + parent: ObjectTypeDeclaration; } interface TypeNode extends Node { _typeNodeBrand: any; } interface KeywordTypeNode extends TypeNode { - kind: SyntaxKind.AnyKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.VoidKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.NullKeyword | SyntaxKind.NeverKeyword; + kind: SyntaxKind.AnyKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.VoidKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.NullKeyword | SyntaxKind.NeverKeyword; } interface ImportTypeNode extends NodeWithTypeArguments { kind: SyntaxKind.ImportType; @@ -730,7 +731,7 @@ declare namespace ts { } interface TypePredicateNode extends TypeNode { kind: SyntaxKind.TypePredicate; - parent?: SignatureDeclaration; + parent: SignatureDeclaration; parameterName: Identifier | ThisTypeNode; type: TypeNode; } @@ -959,15 +960,15 @@ declare namespace ts { } interface TemplateHead extends LiteralLikeNode { kind: SyntaxKind.TemplateHead; - parent?: TemplateExpression; + parent: TemplateExpression; } interface TemplateMiddle extends LiteralLikeNode { kind: SyntaxKind.TemplateMiddle; - parent?: TemplateSpan; + parent: TemplateSpan; } interface TemplateTail extends LiteralLikeNode { kind: SyntaxKind.TemplateTail; - parent?: TemplateSpan; + parent: TemplateSpan; } type TemplateLiteral = TemplateExpression | NoSubstitutionTemplateLiteral; interface TemplateExpression extends PrimaryExpression { @@ -977,7 +978,7 @@ declare namespace ts { } interface TemplateSpan extends Node { kind: SyntaxKind.TemplateSpan; - parent?: TemplateExpression; + parent: TemplateExpression; expression: Expression; literal: TemplateMiddle | TemplateTail; } @@ -991,7 +992,7 @@ declare namespace ts { } interface SpreadElement extends Expression { kind: SyntaxKind.SpreadElement; - parent?: ArrayLiteralExpression | CallExpression | NewExpression; + parent: ArrayLiteralExpression | CallExpression | NewExpression; expression: Expression; } /** @@ -1044,7 +1045,7 @@ declare namespace ts { } interface ExpressionWithTypeArguments extends NodeWithTypeArguments { kind: SyntaxKind.ExpressionWithTypeArguments; - parent?: HeritageClause; + parent: HeritageClause; expression: LeftHandSideExpression; } interface NewExpression extends PrimaryExpression, Declaration { @@ -1090,11 +1091,11 @@ declare namespace ts { type JsxAttributeLike = JsxAttribute | JsxSpreadAttribute; type JsxTagNameExpression = PrimaryExpression | PropertyAccessExpression; interface JsxAttributes extends ObjectLiteralExpressionBase { - parent?: JsxOpeningLikeElement; + parent: JsxOpeningLikeElement; } interface JsxOpeningElement extends Expression { kind: SyntaxKind.JsxOpeningElement; - parent?: JsxElement; + parent: JsxElement; tagName: JsxTagNameExpression; typeArguments?: NodeArray; attributes: JsxAttributes; @@ -1113,38 +1114,38 @@ declare namespace ts { } interface JsxOpeningFragment extends Expression { kind: SyntaxKind.JsxOpeningFragment; - parent?: JsxFragment; + parent: JsxFragment; } interface JsxClosingFragment extends Expression { kind: SyntaxKind.JsxClosingFragment; - parent?: JsxFragment; + parent: JsxFragment; } interface JsxAttribute extends ObjectLiteralElement { kind: SyntaxKind.JsxAttribute; - parent?: JsxAttributes; + parent: JsxAttributes; name: Identifier; initializer?: StringLiteral | JsxExpression; } interface JsxSpreadAttribute extends ObjectLiteralElement { kind: SyntaxKind.JsxSpreadAttribute; - parent?: JsxAttributes; + parent: JsxAttributes; expression: Expression; } interface JsxClosingElement extends Node { kind: SyntaxKind.JsxClosingElement; - parent?: JsxElement; + parent: JsxElement; tagName: JsxTagNameExpression; } interface JsxExpression extends Expression { kind: SyntaxKind.JsxExpression; - parent?: JsxElement | JsxAttributeLike; + parent: JsxElement | JsxAttributeLike; dotDotDotToken?: Token; expression?: Expression; } interface JsxText extends Node { kind: SyntaxKind.JsxText; containsOnlyWhiteSpaces: boolean; - parent?: JsxElement; + parent: JsxElement; } type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment; interface Statement extends Node { @@ -1245,18 +1246,18 @@ declare namespace ts { } interface CaseBlock extends Node { kind: SyntaxKind.CaseBlock; - parent?: SwitchStatement; + parent: SwitchStatement; clauses: NodeArray; } interface CaseClause extends Node { kind: SyntaxKind.CaseClause; - parent?: CaseBlock; + parent: CaseBlock; expression: Expression; statements: NodeArray; } interface DefaultClause extends Node { kind: SyntaxKind.DefaultClause; - parent?: CaseBlock; + parent: CaseBlock; statements: NodeArray; } type CaseOrDefaultClause = CaseClause | DefaultClause; @@ -1267,7 +1268,7 @@ declare namespace ts { } interface ThrowStatement extends Statement { kind: SyntaxKind.ThrowStatement; - expression: Expression; + expression?: Expression; } interface TryStatement extends Statement { kind: SyntaxKind.TryStatement; @@ -1277,7 +1278,7 @@ declare namespace ts { } interface CatchClause extends Node { kind: SyntaxKind.CatchClause; - parent?: TryStatement; + parent: TryStatement; variableDeclaration?: VariableDeclaration; block: Block; } @@ -1317,7 +1318,7 @@ declare namespace ts { } interface HeritageClause extends Node { kind: SyntaxKind.HeritageClause; - parent?: InterfaceDeclaration | ClassLikeDeclaration; + parent: InterfaceDeclaration | ClassLikeDeclaration; token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword; types: NodeArray; } @@ -1329,7 +1330,7 @@ declare namespace ts { } interface EnumMember extends NamedDeclaration, JSDocContainer { kind: SyntaxKind.EnumMember; - parent?: EnumDeclaration; + parent: EnumDeclaration; name: PropertyName; initializer?: Expression; } @@ -1342,7 +1343,7 @@ declare namespace ts { type ModuleBody = NamespaceBody | JSDocNamespaceBody; interface ModuleDeclaration extends DeclarationStatement, JSDocContainer { kind: SyntaxKind.ModuleDeclaration; - parent?: ModuleBody | SourceFile; + parent: ModuleBody | SourceFile; name: ModuleName; body?: ModuleBody | JSDocNamespaceDeclaration; } @@ -1354,11 +1355,11 @@ declare namespace ts { type JSDocNamespaceBody = Identifier | JSDocNamespaceDeclaration; interface JSDocNamespaceDeclaration extends ModuleDeclaration { name: Identifier; - body: JSDocNamespaceBody; + body?: JSDocNamespaceBody; } interface ModuleBlock extends Node, Statement { kind: SyntaxKind.ModuleBlock; - parent?: ModuleDeclaration; + parent: ModuleDeclaration; statements: NodeArray; } type ModuleReference = EntityName | ExternalModuleReference; @@ -1369,18 +1370,18 @@ declare namespace ts { */ interface ImportEqualsDeclaration extends DeclarationStatement, JSDocContainer { kind: SyntaxKind.ImportEqualsDeclaration; - parent?: SourceFile | ModuleBlock; + parent: SourceFile | ModuleBlock; name: Identifier; moduleReference: ModuleReference; } interface ExternalModuleReference extends Node { kind: SyntaxKind.ExternalModuleReference; - parent?: ImportEqualsDeclaration; - expression?: Expression; + parent: ImportEqualsDeclaration; + expression: Expression; } interface ImportDeclaration extends Statement { kind: SyntaxKind.ImportDeclaration; - parent?: SourceFile | ModuleBlock; + parent: SourceFile | ModuleBlock; importClause?: ImportClause; /** If this is not a StringLiteral it will be a grammar error. */ moduleSpecifier: Expression; @@ -1388,13 +1389,13 @@ declare namespace ts { type NamedImportBindings = NamespaceImport | NamedImports; interface ImportClause extends NamedDeclaration { kind: SyntaxKind.ImportClause; - parent?: ImportDeclaration; + parent: ImportDeclaration; name?: Identifier; namedBindings?: NamedImportBindings; } interface NamespaceImport extends NamedDeclaration { kind: SyntaxKind.NamespaceImport; - parent?: ImportClause; + parent: ImportClause; name: Identifier; } interface NamespaceExportDeclaration extends DeclarationStatement { @@ -1403,7 +1404,7 @@ declare namespace ts { } interface ExportDeclaration extends DeclarationStatement { kind: SyntaxKind.ExportDeclaration; - parent?: SourceFile | ModuleBlock; + parent: SourceFile | ModuleBlock; /** Will not be assigned in the case of `export * from "foo";` */ exportClause?: NamedExports; /** If this is not a StringLiteral it will be a grammar error. */ @@ -1411,24 +1412,24 @@ declare namespace ts { } interface NamedImports extends Node { kind: SyntaxKind.NamedImports; - parent?: ImportClause; + parent: ImportClause; elements: NodeArray; } interface NamedExports extends Node { kind: SyntaxKind.NamedExports; - parent?: ExportDeclaration; + parent: ExportDeclaration; elements: NodeArray; } type NamedImportsOrExports = NamedImports | NamedExports; interface ImportSpecifier extends NamedDeclaration { kind: SyntaxKind.ImportSpecifier; - parent?: NamedImports; + parent: NamedImports; propertyName?: Identifier; name: Identifier; } interface ExportSpecifier extends NamedDeclaration { kind: SyntaxKind.ExportSpecifier; - parent?: NamedExports; + parent: NamedExports; propertyName?: Identifier; name: Identifier; } @@ -1439,7 +1440,7 @@ declare namespace ts { */ interface ExportAssignment extends DeclarationStatement { kind: SyntaxKind.ExportAssignment; - parent?: SourceFile; + parent: SourceFile; isExportEquals?: boolean; expression: Expression; } @@ -1494,15 +1495,15 @@ declare namespace ts { type JSDocTypeReferencingNode = JSDocVariadicType | JSDocOptionalType | JSDocNullableType | JSDocNonNullableType; interface JSDoc extends Node { kind: SyntaxKind.JSDocComment; - parent?: HasJSDoc; - tags: NodeArray | undefined; - comment: string | undefined; + parent: HasJSDoc; + tags?: NodeArray; + comment?: string; } interface JSDocTag extends Node { parent: JSDoc | JSDocTypeLiteral; atToken: AtToken; tagName: Identifier; - comment: string | undefined; + comment?: string; } interface JSDocUnknownTag extends JSDocTag { kind: SyntaxKind.JSDocTag; @@ -1526,11 +1527,11 @@ declare namespace ts { } interface JSDocReturnTag extends JSDocTag { kind: SyntaxKind.JSDocReturnTag; - typeExpression: JSDocTypeExpression; + typeExpression?: JSDocTypeExpression; } interface JSDocTypeTag extends JSDocTag { kind: SyntaxKind.JSDocTypeTag; - typeExpression: JSDocTypeExpression; + typeExpression?: JSDocTypeExpression; } interface JSDocTypedefTag extends JSDocTag, NamedDeclaration { parent: JSDoc; @@ -1608,7 +1609,7 @@ declare namespace ts { container?: FunctionExpression | ArrowFunction | MethodDeclaration; } interface FlowLabel extends FlowNodeBase { - antecedents: FlowNode[]; + antecedents: FlowNode[] | undefined; } interface FlowAssignment extends FlowNodeBase { node: Expression | VariableDeclaration | BindingElement; @@ -1635,7 +1636,7 @@ declare namespace ts { } interface AmdDependency { path: string; - name: string; + name?: string; } interface SourceFile extends Declaration { kind: SyntaxKind.SourceFile; @@ -1644,7 +1645,7 @@ declare namespace ts { fileName: string; text: string; amdDependencies: ReadonlyArray; - moduleName: string; + moduleName?: string; referencedFiles: ReadonlyArray; typeReferenceDirectives: ReadonlyArray; languageVariant: LanguageVariant; @@ -1704,7 +1705,7 @@ declare namespace ts { fileExists(path: string): boolean; readFile(path: string): string | undefined; } - type WriteFileCallback = (fileName: string, data: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles: ReadonlyArray) => void; + type WriteFileCallback = (fileName: string, data: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles?: ReadonlyArray) => void; class OperationCanceledException { } interface CancellationToken { @@ -1734,9 +1735,10 @@ declare namespace ts { emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; - getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** The first time this is called, it will return global diagnostics (no location). */ getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; - getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; getConfigFileParsingDiagnostics(): ReadonlyArray; /** * Gets a type checker that can be used to semantically analyze source files in the program. @@ -1793,7 +1795,7 @@ declare namespace ts { emitSkipped: boolean; /** Contains declaration emit diagnostics */ diagnostics: ReadonlyArray; - emittedFiles: string[]; + emittedFiles?: string[]; } interface TypeChecker { getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type; @@ -1810,7 +1812,7 @@ declare namespace ts { getNullableType(type: Type, flags: TypeFlags): Type; getNonNullableType(type: Type): Type; /** Note that the resulting nodes cannot be checked. */ - typeToTypeNode(type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeNode; + typeToTypeNode(type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeNode | undefined; /** Note that the resulting nodes cannot be checked. */ signatureToSignatureDeclaration(signature: Signature, kind: SyntaxKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): (SignatureDeclaration & { typeArguments?: NodeArray; @@ -1846,7 +1848,7 @@ declare namespace ts { */ getExportSymbolOfSymbol(symbol: Symbol): Symbol; getPropertySymbolOfDestructuringAssignment(location: Identifier): Symbol | undefined; - getTypeAtLocation(node: Node): Type; + getTypeAtLocation(node: Node): Type | undefined; getTypeFromTypeNode(node: TypeNode): Type; signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): string; typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; @@ -1863,9 +1865,10 @@ declare namespace ts { getContextualType(node: Expression): Type | undefined; /** * returns unknownSignature in the case of an error. + * returns undefined if the node is not valid. * @param argumentCount Apparent number of arguments, passed in case of a possibly incomplete call. This should come from an ArgumentListInfo. See `signatureHelp.ts`. */ - getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature; + getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined; getSignatureFromDeclaration(declaration: SignatureDeclaration): Signature | undefined; isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined; isUndefinedSymbol(symbol: Symbol): boolean; @@ -2069,8 +2072,8 @@ declare namespace ts { interface Symbol { flags: SymbolFlags; escapedName: __String; - declarations?: Declaration[]; - valueDeclaration?: Declaration; + declarations: Declaration[]; + valueDeclaration: Declaration; members?: SymbolTable; exports?: SymbolTable; globalExports?: SymbolTable; @@ -2126,61 +2129,62 @@ declare namespace ts { type SymbolTable = UnderscoreEscapedMap; enum TypeFlags { Any = 1, - String = 2, - Number = 4, - Boolean = 8, - Enum = 16, - StringLiteral = 32, - NumberLiteral = 64, - BooleanLiteral = 128, - EnumLiteral = 256, - ESSymbol = 512, - UniqueESSymbol = 1024, - Void = 2048, - Undefined = 4096, - Null = 8192, - Never = 16384, - TypeParameter = 32768, - Object = 65536, - Union = 131072, - Intersection = 262144, - Index = 524288, - IndexedAccess = 1048576, - Conditional = 2097152, - Substitution = 4194304, - NonPrimitive = 134217728, - Literal = 224, - Unit = 13536, - StringOrNumberLiteral = 96, - PossiblyFalsy = 14574, - StringLike = 34, - NumberLike = 84, - BooleanLike = 136, - EnumLike = 272, - ESSymbolLike = 1536, - VoidLike = 6144, - UnionOrIntersection = 393216, - StructuredType = 458752, - TypeVariable = 1081344, - InstantiableNonPrimitive = 7372800, - InstantiablePrimitive = 524288, - Instantiable = 7897088, - StructuredOrInstantiable = 8355840, - Narrowable = 142575359, - NotUnionOrUnit = 134283777 + Unknown = 2, + String = 4, + Number = 8, + Boolean = 16, + Enum = 32, + StringLiteral = 64, + NumberLiteral = 128, + BooleanLiteral = 256, + EnumLiteral = 512, + ESSymbol = 1024, + UniqueESSymbol = 2048, + Void = 4096, + Undefined = 8192, + Null = 16384, + Never = 32768, + TypeParameter = 65536, + Object = 131072, + Union = 262144, + Intersection = 524288, + Index = 1048576, + IndexedAccess = 2097152, + Conditional = 4194304, + Substitution = 8388608, + NonPrimitive = 16777216, + Literal = 448, + Unit = 27072, + StringOrNumberLiteral = 192, + PossiblyFalsy = 29148, + StringLike = 68, + NumberLike = 168, + BooleanLike = 272, + EnumLike = 544, + ESSymbolLike = 3072, + VoidLike = 12288, + UnionOrIntersection = 786432, + StructuredType = 917504, + TypeVariable = 2162688, + InstantiableNonPrimitive = 14745600, + InstantiablePrimitive = 1048576, + Instantiable = 15794176, + StructuredOrInstantiable = 16711680, + Narrowable = 33492479, + NotUnionOrUnit = 16909315 } type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression; interface Type { flags: TypeFlags; - symbol?: Symbol; + symbol: Symbol; pattern?: DestructuringPattern; aliasSymbol?: Symbol; aliasTypeArguments?: Type[]; } interface LiteralType extends Type { value: string | number; - freshType?: LiteralType; - regularType?: LiteralType; + freshType: LiteralType; + regularType: LiteralType; } interface UniqueESSymbolType extends Type { symbol: Symbol; @@ -2215,18 +2219,18 @@ declare namespace ts { } /** Class and interface types (ObjectFlags.Class and ObjectFlags.Interface). */ interface InterfaceType extends ObjectType { - typeParameters: TypeParameter[]; - outerTypeParameters: TypeParameter[]; - localTypeParameters: TypeParameter[]; - thisType: TypeParameter; + typeParameters: TypeParameter[] | undefined; + outerTypeParameters: TypeParameter[] | undefined; + localTypeParameters: TypeParameter[] | undefined; + thisType: TypeParameter | undefined; } type BaseType = ObjectType | IntersectionType; interface InterfaceTypeWithDeclaredMembers extends InterfaceType { declaredProperties: Symbol[]; declaredCallSignatures: Signature[]; declaredConstructSignatures: Signature[]; - declaredStringIndexInfo: IndexInfo; - declaredNumberIndexInfo: IndexInfo; + declaredStringIndexInfo?: IndexInfo; + declaredNumberIndexInfo?: IndexInfo; } /** * Type references (ObjectFlags.Reference). When a class or interface has type parameters or @@ -2277,11 +2281,11 @@ declare namespace ts { trueType: Type; falseType: Type; isDistributive: boolean; - inferTypeParameters: TypeParameter[]; + inferTypeParameters?: TypeParameter[]; outerTypeParameters?: TypeParameter[]; instantiations?: Map; - aliasSymbol: Symbol; - aliasTypeArguments: Type[]; + aliasSymbol?: Symbol; + aliasTypeArguments?: Type[]; } interface ConditionalType extends InstantiableType { root: ConditionalRoot; @@ -2359,6 +2363,11 @@ declare namespace ts { code: number; source?: string; } + interface DiagnosticWithLocation extends Diagnostic { + file: SourceFile; + start: number; + length: number; + } enum DiagnosticCategory { Warning = 0, Error = 1, @@ -2624,7 +2633,7 @@ declare namespace ts { packageId?: PackageId; } interface ResolvedTypeReferenceDirectiveWithFailedLookupLocations { - readonly resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective; + readonly resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective | undefined; readonly failedLookupLocations: ReadonlyArray; } interface CompilerHost extends ModuleResolutionHost { @@ -2644,8 +2653,8 @@ declare namespace ts { /** * This method is a companion for 'resolveModuleNames' and is used to resolve 'types' references to actual type declaration files */ - resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string): (ResolvedTypeReferenceDirective | undefined)[]; - getEnvironmentVariable?(name: string): string; + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string): ResolvedTypeReferenceDirective[]; + getEnvironmentVariable?(name: string): string | undefined; createHash?(data: string): string; } interface SourceMapRange extends TextRange { @@ -2657,6 +2666,7 @@ declare namespace ts { skipTrivia?: (pos: number) => number; } enum EmitFlags { + None = 0, SingleLine = 1, AdviseOnEmitNode = 2, NoSubstitution = 4, @@ -2710,7 +2720,7 @@ declare namespace ts { /** Resumes a suspended lexical environment, usually before visiting a function body. */ resumeLexicalEnvironment(): void; /** Ends a lexical environment, returning any declarations. */ - endLexicalEnvironment(): Statement[]; + endLexicalEnvironment(): Statement[] | undefined; /** Hoists a function declaration to the containing scope. */ hoistFunctionDeclaration(node: FunctionDeclaration): void; /** Hoists a variable declaration to the containing scope. */ @@ -2754,7 +2764,7 @@ declare namespace ts { /** Gets the transformed source files. */ transformed: T[]; /** Gets diagnostics for the transformation. */ - diagnostics?: Diagnostic[]; + diagnostics?: DiagnosticWithLocation[]; /** * Gets a substitute for a node, if one is available; otherwise, returns the original node. * @@ -2841,7 +2851,7 @@ declare namespace ts { * }); * ``` */ - onEmitNode?(hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void): void; + onEmitNode?(hint: EmitHint, node: Node | undefined, emitCallback: (hint: EmitHint, node: Node | undefined) => void): void; /** * A hook used by the Printer to perform just-in-time substitution of a node. This is * primarily used by node transformations that need to substitute one node for another, @@ -2954,13 +2964,13 @@ declare namespace ts { } } declare namespace ts { - const versionMajorMinor = "2.9"; + const versionMajorMinor = "3.0"; /** The version of the TypeScript compiler release */ const version: string; } declare namespace ts { function isExternalModuleNameRelative(moduleName: string): boolean; - function sortAndDeduplicateDiagnostics(diagnostics: ReadonlyArray): Diagnostic[]; + function sortAndDeduplicateDiagnostics(diagnostics: ReadonlyArray): T[]; } declare function setTimeout(handler: (...args: any[]) => void, timeout: number): any; declare function clearTimeout(handle: any): void; @@ -3014,7 +3024,7 @@ declare namespace ts { interface FileWatcher { close(): void; } - function getNodeMajorVersion(): number; + function getNodeMajorVersion(): number | undefined; let sys: System; } declare namespace ts { @@ -3041,8 +3051,8 @@ declare namespace ts { scanJSDocToken(): JsDocSyntaxKind; scan(): SyntaxKind; getText(): string; - setText(text: string, start?: number, length?: number): void; - setOnError(onError: ErrorCallback): void; + setText(text: string | undefined, start?: number, length?: number): void; + setOnError(onError: ErrorCallback | undefined): void; setScriptTarget(scriptTarget: ScriptTarget): void; setLanguageVariant(variant: LanguageVariant): void; setTextPos(textPos: number): void; @@ -3062,15 +3072,15 @@ declare namespace ts { function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; - function reduceEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U; - function reduceEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U; + function reduceEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function reduceEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; function getLeadingCommentRanges(text: string, pos: number): CommentRange[] | undefined; function getTrailingCommentRanges(text: string, pos: number): CommentRange[] | undefined; /** Optionally, get the shebang */ function getShebang(text: string): string | undefined; - function isIdentifierStart(ch: number, languageVersion: ScriptTarget): boolean; - function isIdentifierPart(ch: number, languageVersion: ScriptTarget): boolean; - function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, text?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; + function isIdentifierStart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function isIdentifierPart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, textInitial?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; } declare namespace ts { function getDefaultLibFileName(options: CompilerOptions): string; @@ -3079,12 +3089,12 @@ declare namespace ts { function textSpanContainsPosition(span: TextSpan, position: number): boolean; function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean; function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean; - function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan; + function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan | undefined; function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean; function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean; function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number): boolean; function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean; - function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan; + function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan | undefined; function createTextSpan(start: number, length: number): TextSpan; function createTextSpanFromBounds(start: number, end: number): TextSpan; function textChangeRangeNewSpan(range: TextChangeRange): TextSpan; @@ -3100,7 +3110,7 @@ declare namespace ts { * Vn. */ function collapseTextChangeRangesAcrossMultipleVersions(changes: ReadonlyArray): TextChangeRange; - function getTypeParameterOwner(d: Declaration): Declaration; + function getTypeParameterOwner(d: Declaration): Declaration | undefined; type ParameterPropertyDeclaration = ParameterDeclaration & { parent: ConstructorDeclaration; name: Identifier; @@ -3122,6 +3132,8 @@ declare namespace ts { }, errors?: Push): void; function getOriginalNode(node: Node): Node; function getOriginalNode(node: Node, nodeTest: (node: Node) => node is T): T; + function getOriginalNode(node: Node | undefined): Node | undefined; + function getOriginalNode(node: Node | undefined, nodeTest: (node: Node | undefined) => node is T): T | undefined; /** * Gets a value indicating whether a node originated in the parse tree. * @@ -3142,7 +3154,7 @@ declare namespace ts { * @param nodeTest A callback used to ensure the correct type of parse tree node is returned. * @returns The original parse tree node if found; otherwise, undefined. */ - function getParseTreeNode(node: Node, nodeTest?: (node: Node) => node is T): T; + function getParseTreeNode(node: Node | undefined, nodeTest?: (node: Node) => node is T): T | undefined; /** * Remove extra underscore from escaped identifier text content. * @@ -3160,7 +3172,7 @@ declare namespace ts { */ function unescapeIdentifier(id: string): string; function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | undefined; - function getNameOfDeclaration(declaration: Declaration | Expression): DeclarationName | undefined; + function getNameOfDeclaration(declaration: Declaration | Expression): DeclarationName; /** * Gets the JSDoc parameter tags for the node if present. * @@ -3389,8 +3401,10 @@ declare namespace ts { */ function isToken(n: Node): boolean; function isLiteralExpression(node: Node): node is LiteralExpression; + type TemplateLiteralToken = NoSubstitutionTemplateLiteral | TemplateHead | TemplateMiddle | TemplateTail; + function isTemplateLiteralToken(node: Node): node is TemplateLiteralToken; function isTemplateMiddleOrTemplateTail(node: Node): node is TemplateMiddle | TemplateTail; - function isStringTextContainingNode(node: Node): boolean; + function isStringTextContainingNode(node: Node): node is StringLiteral | TemplateLiteralToken; function isModifier(node: Node): node is Modifier; function isEntityName(node: Node): node is EntityName; function isPropertyName(node: Node): node is PropertyName; @@ -3442,7 +3456,7 @@ declare namespace ts { */ function forEachChild(node: Node, cbNode: (node: Node) => T | undefined, cbNodes?: (nodes: NodeArray) => T | undefined): T | undefined; function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean, scriptKind?: ScriptKind): SourceFile; - function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName; + function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName | undefined; /** * Parse json text into SyntaxTree and return node and parse errors if any * @param fileName @@ -3488,7 +3502,7 @@ declare namespace ts { getOrCreateCacheForModuleName(nonRelativeModuleName: string): PerModuleNameCache; } interface PerModuleNameCache { - get(directory: string): ResolvedModuleWithFailedLookupLocations; + get(directory: string): ResolvedModuleWithFailedLookupLocations | undefined; set(directory: string, result: ResolvedModuleWithFailedLookupLocations): void; } function createModuleResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string): ModuleResolutionCache; @@ -3570,7 +3584,7 @@ declare namespace ts { function updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructorTypeNode; function createTypeQueryNode(exprName: EntityName): TypeQueryNode; function updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName): TypeQueryNode; - function createTypeLiteralNode(members: ReadonlyArray): TypeLiteralNode; + function createTypeLiteralNode(members: ReadonlyArray | undefined): TypeLiteralNode; function updateTypeLiteralNode(node: TypeLiteralNode, members: NodeArray): TypeLiteralNode; function createArrayTypeNode(elementType: TypeNode): ArrayTypeNode; function updateArrayTypeNode(node: ArrayTypeNode, elementType: TypeNode): ArrayTypeNode; @@ -3609,23 +3623,23 @@ declare namespace ts { function updateArrayLiteral(node: ArrayLiteralExpression, elements: ReadonlyArray): ArrayLiteralExpression; function createObjectLiteral(properties?: ReadonlyArray, multiLine?: boolean): ObjectLiteralExpression; function updateObjectLiteral(node: ObjectLiteralExpression, properties: ReadonlyArray): ObjectLiteralExpression; - function createPropertyAccess(expression: Expression, name: string | Identifier): PropertyAccessExpression; + function createPropertyAccess(expression: Expression, name: string | Identifier | undefined): PropertyAccessExpression; function updatePropertyAccess(node: PropertyAccessExpression, expression: Expression, name: Identifier): PropertyAccessExpression; function createElementAccess(expression: Expression, index: number | Expression): ElementAccessExpression; function updateElementAccess(node: ElementAccessExpression, expression: Expression, argumentExpression: Expression): ElementAccessExpression; - function createCall(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray): CallExpression; + function createCall(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): CallExpression; function updateCall(node: CallExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray): CallExpression; function createNew(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; function updateNew(node: NewExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; function createTaggedTemplate(tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; - function createTaggedTemplate(tag: Expression, typeArguments: ReadonlyArray, template: TemplateLiteral): TaggedTemplateExpression; + function createTaggedTemplate(tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; - function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: ReadonlyArray, template: TemplateLiteral): TaggedTemplateExpression; + function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; function createTypeAssertion(type: TypeNode, expression: Expression): TypeAssertion; function updateTypeAssertion(node: TypeAssertion, type: TypeNode, expression: Expression): TypeAssertion; function createParen(expression: Expression): ParenthesizedExpression; function updateParen(node: ParenthesizedExpression, expression: Expression): ParenthesizedExpression; - function createFunctionExpression(modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block): FunctionExpression; + function createFunctionExpression(modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray | undefined, type: TypeNode | undefined, body: Block): FunctionExpression; function updateFunctionExpression(node: FunctionExpression, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block): FunctionExpression; function createArrowFunction(modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: EqualsGreaterThanToken | undefined, body: ConciseBody): ArrowFunction; function updateArrowFunction(node: ArrowFunction, modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: ConciseBody): ArrowFunction; @@ -3655,15 +3669,15 @@ declare namespace ts { function createTemplateTail(text: string): TemplateTail; function createNoSubstitutionTemplateLiteral(text: string): NoSubstitutionTemplateLiteral; function createYield(expression?: Expression): YieldExpression; - function createYield(asteriskToken: AsteriskToken, expression: Expression): YieldExpression; + function createYield(asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; function updateYield(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; function createSpread(expression: Expression): SpreadElement; function updateSpread(node: SpreadElement, expression: Expression): SpreadElement; - function createClassExpression(modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray, members: ReadonlyArray): ClassExpression; - function updateClassExpression(node: ClassExpression, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray, members: ReadonlyArray): ClassExpression; + function createClassExpression(modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function updateClassExpression(node: ClassExpression, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; function createOmittedExpression(): OmittedExpression; - function createExpressionWithTypeArguments(typeArguments: ReadonlyArray, expression: Expression): ExpressionWithTypeArguments; - function updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, typeArguments: ReadonlyArray, expression: Expression): ExpressionWithTypeArguments; + function createExpressionWithTypeArguments(typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; function createAsExpression(expression: Expression, type: TypeNode): AsExpression; function updateAsExpression(node: AsExpression, expression: Expression, type: TypeNode): AsExpression; function createNonNullExpression(expression: Expression): NonNullExpression; @@ -3690,8 +3704,8 @@ declare namespace ts { function updateFor(node: ForStatement, initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; function createForIn(initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; function updateForIn(node: ForInStatement, initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; - function createForOf(awaitModifier: AwaitKeywordToken, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; - function updateForOf(node: ForOfStatement, awaitModifier: AwaitKeywordToken, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function createForOf(awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function updateForOf(node: ForOfStatement, awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; function createContinue(label?: string | Identifier): ContinueStatement; function updateContinue(node: ContinueStatement, label: Identifier | undefined): ContinueStatement; function createBreak(label?: string | Identifier): BreakStatement; @@ -3715,8 +3729,8 @@ declare namespace ts { function updateVariableDeclarationList(node: VariableDeclarationList, declarations: ReadonlyArray): VariableDeclarationList; function createFunctionDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; function updateFunctionDeclaration(node: FunctionDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; - function createClassDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray, members: ReadonlyArray): ClassDeclaration; - function updateClassDeclaration(node: ClassDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray, members: ReadonlyArray): ClassDeclaration; + function createClassDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function updateClassDeclaration(node: ClassDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; function createInterfaceDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; function updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; function createTypeAliasDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; @@ -3734,7 +3748,7 @@ declare namespace ts { function createImportEqualsDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; function updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; function createImportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; - function updateImportDeclaration(node: ImportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression | undefined): ImportDeclaration; + function updateImportDeclaration(node: ImportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; function createImportClause(name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; function updateImportClause(node: ImportClause, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; function createNamespaceImport(name: Identifier): NamespaceImport; @@ -3743,7 +3757,7 @@ declare namespace ts { function updateNamedImports(node: NamedImports, elements: ReadonlyArray): NamedImports; function createImportSpecifier(propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; function updateImportSpecifier(node: ImportSpecifier, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; - function createExportAssignment(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, isExportEquals: boolean, expression: Expression): ExportAssignment; + function createExportAssignment(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; function updateExportAssignment(node: ExportAssignment, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, expression: Expression): ExportAssignment; function createExportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier?: Expression): ExportDeclaration; function updateExportDeclaration(node: ExportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier: Expression | undefined): ExportDeclaration; @@ -3873,16 +3887,16 @@ declare namespace ts { */ function setCommentRange(node: T, range: TextRange): T; function getSyntheticLeadingComments(node: Node): SynthesizedComment[] | undefined; - function setSyntheticLeadingComments(node: T, comments: SynthesizedComment[]): T; + function setSyntheticLeadingComments(node: T, comments: SynthesizedComment[] | undefined): T; function addSyntheticLeadingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; function getSyntheticTrailingComments(node: Node): SynthesizedComment[] | undefined; - function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[]): T; + function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[] | undefined): T; function addSyntheticTrailingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; function moveSyntheticComments(node: T, original: Node): T; /** * Gets the constant value to emit for an expression. */ - function getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): string | number; + function getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): string | number | undefined; /** * Sets the constant value to emit for an expression. */ @@ -3918,7 +3932,7 @@ declare namespace ts { * @param test A callback to execute to verify the Node is valid. * @param lift An optional callback to execute to lift a NodeArray into a valid Node. */ - function visitNode(node: T, visitor: Visitor, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T; + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T; /** * Visits a Node using the supplied visitor, possibly returning a new Node in its place. * @@ -3927,7 +3941,7 @@ declare namespace ts { * @param test A callback to execute to verify the Node is valid. * @param lift An optional callback to execute to lift a NodeArray into a valid Node. */ - function visitNode(node: T | undefined, visitor: Visitor, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T | undefined; + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T | undefined; /** * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. * @@ -3937,7 +3951,7 @@ declare namespace ts { * @param start An optional value indicating the starting offset at which to start visiting. * @param count An optional value indicating the maximum number of nodes to visit. */ - function visitNodes(nodes: NodeArray, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; /** * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. * @@ -3957,7 +3971,7 @@ declare namespace ts { * Starts a new lexical environment and visits a parameter list, suspending the lexical * environment upon completion. */ - function visitParameterList(nodes: NodeArray, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes): NodeArray; + function visitParameterList(nodes: NodeArray | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes): NodeArray; /** * Resumes a suspended lexical environment and visits a function body, ending the lexical * environment and merging hoisted declarations upon completion. @@ -4006,8 +4020,19 @@ declare namespace ts { function formatDiagnostics(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; function formatDiagnostic(diagnostic: Diagnostic, host: FormatDiagnosticsHost): string; function formatDiagnosticsWithColorAndContext(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; - function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; + function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain | undefined, newLine: string): string; function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): ReadonlyArray; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param createProgramOptions - The options for creating a program. + * @returns A 'Program' object. + */ + function createProgram(createProgramOptions: CreateProgramOptions): Program; /** * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' * that represent a compilation unit. @@ -4022,7 +4047,6 @@ declare namespace ts { * @param configFileParsingDiagnostics - error during config file parsing * @returns A 'Program' object. */ - function createProgram(createProgramOptions: CreateProgramOptions): Program; function createProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: ReadonlyArray): Program; } declare namespace ts { @@ -4148,18 +4172,18 @@ declare namespace ts { * Create the builder to manage semantic diagnostics and cache them */ function createSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; - function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; /** * Create the builder that can handle the changes in program and iterate through changed files * to emit the those files and manage semantic diagnostics cache as well */ function createEmitAndSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; - function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; /** * Creates a builder thats just abstraction over program and can be used with watch */ function createAbstractBuilder(newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; - function createAbstractBuilder(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; + function createAbstractBuilder(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; } declare namespace ts { type WatchStatusReporter = (diagnostic: Diagnostic, newLine: string, options: CompilerOptions) => void; @@ -4201,11 +4225,11 @@ declare namespace ts { /** If provided would be used to write log about compilation */ trace?(s: string): void; /** If provided is used to get the environment variable */ - getEnvironmentVariable?(name: string): string; + getEnvironmentVariable?(name: string): string | undefined; /** If provided, used to resolve the module names, otherwise typescript's default module resolution */ resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[]): ResolvedModule[]; /** If provided, used to resolve type reference directives, otherwise typescript's default resolution */ - resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string): (ResolvedTypeReferenceDirective | undefined)[]; + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string): ResolvedTypeReferenceDirective[]; /** Used to watch changes in source files, missing files needed to update the program or config file */ watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */ @@ -4355,8 +4379,8 @@ declare namespace ts { getLeadingTriviaWidth(sourceFile?: SourceFile): number; getFullText(sourceFile?: SourceFile): string; getText(sourceFile?: SourceFile): string; - getFirstToken(sourceFile?: SourceFile): Node; - getLastToken(sourceFile?: SourceFile): Node; + getFirstToken(sourceFile?: SourceFile): Node | undefined; + getLastToken(sourceFile?: SourceFile): Node | undefined; forEachChild(cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined): T | undefined; } interface Identifier { @@ -4444,7 +4468,7 @@ declare namespace ts { referencedFiles: FileReference[]; typeReferenceDirectives: FileReference[]; importedFiles: FileReference[]; - ambientExternalModules: string[]; + ambientExternalModules?: string[]; isLibFile: boolean; } interface HostCancellationToken { @@ -4477,7 +4501,7 @@ declare namespace ts { fileExists?(path: string): boolean; getTypeRootsVersion?(): number; resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[]): ResolvedModule[]; - getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string): ResolvedModuleWithFailedLookupLocations; + getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string): ResolvedModuleWithFailedLookupLocations | undefined; resolveTypeReferenceDirectives?(typeDirectiveNames: string[], containingFile: string): ResolvedTypeReferenceDirective[]; getDirectories?(directoryName: string): string[]; /** @@ -4497,9 +4521,10 @@ declare namespace ts { } interface LanguageService { cleanupSemanticCache(): void; - getSyntacticDiagnostics(fileName: string): Diagnostic[]; + getSyntacticDiagnostics(fileName: string): DiagnosticWithLocation[]; + /** The first time this is called, it will return global diagnostics (no location). */ getSemanticDiagnostics(fileName: string): Diagnostic[]; - getSuggestionDiagnostics(fileName: string): Diagnostic[]; + getSuggestionDiagnostics(fileName: string): DiagnosticWithLocation[]; getCompilerOptionsDiagnostics(): Diagnostic[]; /** * @deprecated Use getEncodedSyntacticClassifications instead. @@ -4511,24 +4536,24 @@ declare namespace ts { getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications; getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications; - getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): CompletionInfo; - getCompletionEntryDetails(fileName: string, position: number, name: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined): CompletionEntryDetails; - getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol; - getQuickInfoAtPosition(fileName: string, position: number): QuickInfo; - getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan; - getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan; - getSignatureHelpItems(fileName: string, position: number): SignatureHelpItems; + getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): CompletionInfo | undefined; + getCompletionEntryDetails(fileName: string, position: number, name: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined): CompletionEntryDetails | undefined; + getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol | undefined; + getQuickInfoAtPosition(fileName: string, position: number): QuickInfo | undefined; + getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan | undefined; + getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan | undefined; + getSignatureHelpItems(fileName: string, position: number): SignatureHelpItems | undefined; getRenameInfo(fileName: string, position: number): RenameInfo; - findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): RenameLocation[]; - getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; - getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan; - getTypeDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; - getImplementationAtPosition(fileName: string, position: number): ImplementationLocation[]; - getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[]; - findReferences(fileName: string, position: number): ReferencedSymbol[]; - getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[]; + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): RenameLocation[] | undefined; + getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[] | undefined; + getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan | undefined; + getTypeDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[] | undefined; + getImplementationAtPosition(fileName: string, position: number): ImplementationLocation[] | undefined; + getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[] | undefined; + findReferences(fileName: string, position: number): ReferencedSymbol[] | undefined; + getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[] | undefined; /** @deprecated */ - getOccurrencesAtPosition(fileName: string, position: number): ReferenceEntry[]; + getOccurrencesAtPosition(fileName: string, position: number): ReferenceEntry[] | undefined; getNavigateToItems(searchValue: string, maxResultCount?: number, fileName?: string, excludeDtsFiles?: boolean): NavigateToItem[]; getNavigationBarItems(fileName: string): NavigationBarItem[]; getNavigationTree(fileName: string): NavigationTree; @@ -4539,9 +4564,14 @@ declare namespace ts { getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; - getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion; + getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion | undefined; isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; - getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan; + /** + * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag. + * Editors should call this after `>` is typed. + */ + getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined; + getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined; toLineColumnOffset?(fileName: string, position: number): LineAndCharacter; getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: ReadonlyArray, formatOptions: FormatCodeSettings, preferences: UserPreferences): ReadonlyArray; getCombinedCodeFix(scope: CombinedCodeFixScope, fixId: {}, formatOptions: FormatCodeSettings, preferences: UserPreferences): CombinedCodeActions; @@ -4557,11 +4587,14 @@ declare namespace ts { getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined): ApplicableRefactorInfo[]; getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined): RefactorEditInfo | undefined; organizeImports(scope: OrganizeImportsScope, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; - getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings): ReadonlyArray; + getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean): EmitOutput; - getProgram(): Program; + getProgram(): Program | undefined; dispose(): void; } + interface JsxClosingTagInfo { + readonly newText: string; + } interface CombinedCodeFixScope { type: "file"; fileName: string; @@ -4662,7 +4695,7 @@ declare namespace ts { } interface CombinedCodeActions { changes: ReadonlyArray; - commands: ReadonlyArray | undefined; + commands?: ReadonlyArray; } type CodeActionCommand = InstallPackageAction; interface InstallPackageAction { @@ -4712,8 +4745,8 @@ declare namespace ts { */ interface RefactorEditInfo { edits: FileTextChanges[]; - renameFilename: string | undefined; - renameLocation: number | undefined; + renameFilename?: string; + renameLocation?: number; commands?: CodeActionCommand[]; } interface TextInsertion { @@ -4834,7 +4867,7 @@ declare namespace ts { containerName: string; } interface DefinitionInfoAndBoundSpan { - definitions: ReadonlyArray; + definitions?: ReadonlyArray; textSpan: TextSpan; } interface ReferencedSymbolDefinitionInfo extends DefinitionInfo { @@ -4880,13 +4913,13 @@ declare namespace ts { kind: ScriptElementKind; kindModifiers: string; textSpan: TextSpan; - displayParts: SymbolDisplayPart[]; - documentation: SymbolDisplayPart[]; - tags: JSDocTagInfo[]; + displayParts?: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; } interface RenameInfo { canRename: boolean; - localizedErrorMessage: string; + localizedErrorMessage?: string; displayName: string; fullDisplayName: string; kind: ScriptElementKind; @@ -4938,7 +4971,7 @@ declare namespace ts { interface CompletionEntry { name: string; kind: ScriptElementKind; - kindModifiers: string; + kindModifiers?: string; sortText: string; insertText?: string; /** @@ -4956,8 +4989,8 @@ declare namespace ts { kind: ScriptElementKind; kindModifiers: string; displayParts: SymbolDisplayPart[]; - documentation: SymbolDisplayPart[]; - tags: JSDocTagInfo[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; codeActions?: CodeAction[]; source?: SymbolDisplayPart[]; } @@ -5270,12 +5303,12 @@ declare namespace ts { /** The version of the language service API */ const servicesVersion = "0.8"; function toEditorSettings(options: EditorOptions | EditorSettings): EditorSettings; - function displayPartsToString(displayParts: SymbolDisplayPart[]): string; + function displayPartsToString(displayParts: SymbolDisplayPart[] | undefined): string; function getDefaultCompilerOptions(): CompilerOptions; function getSupportedCodeFixes(): string[]; function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile; let disableIncrementalParsing: boolean; - function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange | undefined, aggressiveChecks?: boolean): SourceFile; function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry, syntaxOnly?: boolean): LanguageService; /** * Get the path of the default library files (lib.d.ts) as distributed with the typescript @@ -5433,7 +5466,7 @@ declare namespace ts.server { startGroup(): void; endGroup(): void; msg(s: string, type?: Msg): void; - getLogFileName(): string; + getLogFileName(): string | undefined; } enum Msg { Err = "Err", @@ -5458,7 +5491,7 @@ declare namespace ts.server { function normalizedPathToPath(normalizedPath: NormalizedPath, currentDirectory: string, getCanonicalFileName: (f: string) => string): Path; function asNormalizedPath(fileName: string): NormalizedPath; interface NormalizedPathMap { - get(path: NormalizedPath): T; + get(path: NormalizedPath): T | undefined; set(path: NormalizedPath, value: T): void; contains(path: NormalizedPath): boolean; remove(path: NormalizedPath): void; @@ -5491,6 +5524,7 @@ declare namespace ts.server { */ declare namespace ts.server.protocol { enum CommandTypes { + JsxClosingTag = "jsxClosingTag", Brace = "brace", BraceCompletion = "braceCompletion", GetSpanOfEnclosingComment = "getSpanOfEnclosingComment", @@ -6160,6 +6194,15 @@ declare namespace ts.server.protocol { */ openingBrace: string; } + interface JsxClosingTagRequest extends FileLocationRequest { + readonly command: CommandTypes.JsxClosingTag; + readonly arguments: JsxClosingTagRequestArgs; + } + interface JsxClosingTagRequestArgs extends FileLocationRequestArgs { + } + interface JsxClosingTagResponse extends Response { + readonly body: TextInsertion; + } /** * @deprecated * Get occurrences request; value of command field is @@ -6851,7 +6894,7 @@ declare namespace ts.server.protocol { } interface CompletionEntryIdentifier { name: string; - source: string; + source?: string; } /** * Completion entry details request; value of command field is @@ -6891,7 +6934,7 @@ declare namespace ts.server.protocol { /** * Optional modifiers for the kind (such as 'public'). */ - kindModifiers: string; + kindModifiers?: string; /** * A string that is used for comparing completion items so that they can be ordered. This * is often the same as the name but may be different in certain circumstances. @@ -6948,11 +6991,11 @@ declare namespace ts.server.protocol { /** * Documentation strings for the symbol. */ - documentation: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; /** * JSDoc tags for the symbol. */ - tags: JSDocTagInfo[]; + tags?: JSDocTagInfo[]; /** * The associated code actions for this entry */ @@ -7727,15 +7770,15 @@ declare namespace ts.server { close(fileExists?: boolean): void; getSnapshot(): IScriptSnapshot; private ensureRealPath; - getFormatCodeSettings(): FormatCodeSettings; - getPreferences(): UserPreferences; + getFormatCodeSettings(): FormatCodeSettings | undefined; + getPreferences(): UserPreferences | undefined; attachToProject(project: Project): boolean; isAttached(project: Project): boolean; detachFromProject(project: Project): void; detachAllProjects(): void; getDefaultProject(): Project; registerFileUpdate(): void; - setOptions(formatSettings: FormatCodeSettings, preferences: UserPreferences): void; + setOptions(formatSettings: FormatCodeSettings, preferences: UserPreferences | undefined): void; getLatestVersion(): string; saveTo(fileName: string): void; reloadFromFile(tempFileName?: NormalizedPath): void; @@ -7763,7 +7806,7 @@ declare namespace ts.server { interface ITypingsInstaller { isKnownTypesPackageName(name: string): boolean; installPackage(options: InstallPackageOptionsWithProject): Promise; - enqueueInstallTypingsRequest(p: Project, typeAcquisition: TypeAcquisition, unresolvedImports: SortedReadonlyArray): void; + enqueueInstallTypingsRequest(p: Project, typeAcquisition: TypeAcquisition, unresolvedImports: SortedReadonlyArray | undefined): void; attach(projectService: ProjectService): void; onProjectClosed(p: Project): void; readonly globalTypingsCacheLocation: string | undefined; @@ -7856,7 +7899,7 @@ declare namespace ts.server { private getOrCreateScriptInfoAndAttachToProject; getScriptKind(fileName: string): ScriptKind; getScriptVersion(filename: string): string; - getScriptSnapshot(filename: string): IScriptSnapshot; + getScriptSnapshot(filename: string): IScriptSnapshot | undefined; getCancellationToken(): HostCancellationToken; getCurrentDirectory(): string; getDefaultLibFileName(): string; @@ -7865,7 +7908,7 @@ declare namespace ts.server { readFile(fileName: string): string | undefined; fileExists(file: string): boolean; resolveModuleNames(moduleNames: string[], containingFile: string, reusedNames?: string[]): ResolvedModuleFull[]; - getResolvedModuleWithFailedLookupLocationsFromCache(moduleName: string, containingFile: string): ResolvedModuleWithFailedLookupLocations; + getResolvedModuleWithFailedLookupLocationsFromCache(moduleName: string, containingFile: string): ResolvedModuleWithFailedLookupLocations | undefined; resolveTypeReferenceDirectives(typeDirectiveNames: string[], containingFile: string): ResolvedTypeReferenceDirective[]; directoryExists(path: string): boolean; getDirectories(path: string): string[]; @@ -7890,7 +7933,7 @@ declare namespace ts.server { abstract getTypeAcquisition(): TypeAcquisition; protected removeLocalTypingsFromTypeAcquisition(newTypeAcquisition: TypeAcquisition): TypeAcquisition; getExternalFiles(): SortedReadonlyArray; - getSourceFile(path: Path): SourceFile; + getSourceFile(path: Path): SourceFile | undefined; close(): void; private detachScriptInfoIfNotRoot; isClosed(): boolean; @@ -7920,7 +7963,7 @@ declare namespace ts.server { private addMissingFileWatcher; private isWatchedMissingFile; getScriptInfoForNormalizedPath(fileName: NormalizedPath): ScriptInfo | undefined; - getScriptInfo(uncheckedFileName: string): ScriptInfo; + getScriptInfo(uncheckedFileName: string): ScriptInfo | undefined; filesToString(writeProjectFileNames: boolean): string; setCompilerOptions(compilerOptions: CompilerOptions): void; protected removeRoot(info: ScriptInfo): void; @@ -8066,7 +8109,7 @@ declare namespace ts.server { readonly info: OpenFileInfo; } interface ProjectInfoTypeAcquisitionData { - readonly enable: boolean; + readonly enable: boolean | undefined; readonly include: boolean; readonly exclude: boolean; } @@ -8127,7 +8170,6 @@ declare namespace ts.server { syntaxOnly?: boolean; } class ProjectService { - private readonly documentRegistry; /** * Container of all known scripts */ @@ -8152,7 +8194,7 @@ declare namespace ts.server { /** * Open files: with value being project root path, and key being Path of the file that is open */ - readonly openFiles: Map; + readonly openFiles: Map; /** * Map of open files that are opened without complete path but have projectRoot as current directory */ @@ -8176,7 +8218,7 @@ declare namespace ts.server { private safelist; private legacySafelist; private pendingProjectUpdates; - readonly currentDirectory: string; + readonly currentDirectory: NormalizedPath; readonly toCanonicalFileName: (f: string) => string; readonly host: ServerHost; readonly logger: Logger; @@ -8204,8 +8246,8 @@ declare namespace ts.server { private delayUpdateProjectGraphs; setCompilerOptionsForInferredProjects(projectCompilerOptions: protocol.ExternalProjectCompilerOptions, projectRootPath?: string): void; findProject(projectName: string): Project | undefined; - getDefaultProjectForFile(fileName: NormalizedPath, ensureProject: boolean): Project; - getScriptInfoEnsuringProjectsUptoDate(uncheckedFileName: string): ScriptInfo; + getDefaultProjectForFile(fileName: NormalizedPath, ensureProject: boolean): Project | undefined; + getScriptInfoEnsuringProjectsUptoDate(uncheckedFileName: string): ScriptInfo | undefined; /** * Ensures the project structures are upto date * This means, @@ -8289,18 +8331,18 @@ declare namespace ts.server { private getOrCreateSingleInferredProjectIfEnabled; private getOrCreateSingleInferredWithoutProjectRoot; private createInferredProject; - getScriptInfo(uncheckedFileName: string): ScriptInfo; + getScriptInfo(uncheckedFileName: string): ScriptInfo | undefined; private watchClosedScriptInfo; private stopWatchingScriptInfo; getOrCreateScriptInfoForNormalizedPath(fileName: NormalizedPath, openedByClient: boolean, fileContent?: string, scriptKind?: ScriptKind, hasMixedContent?: boolean, hostToQueryFileExistsOn?: { fileExists(path: string): boolean; - }): ScriptInfo; + }): ScriptInfo | undefined; private getOrCreateScriptInfoWorker; /** * This gets the script info for the normalized path. If the path is not rooted disk path then the open script info with project root context is preferred */ - getScriptInfoForNormalizedPath(fileName: NormalizedPath): ScriptInfo; - getScriptInfoForPath(fileName: Path): ScriptInfo; + getScriptInfoForNormalizedPath(fileName: NormalizedPath): ScriptInfo | undefined; + getScriptInfoForPath(fileName: Path): ScriptInfo | undefined; setHostConfiguration(args: protocol.ConfigureRequestArguments): void; closeLog(): void; /** @@ -8391,6 +8433,7 @@ declare namespace ts.server { suppressDiagnosticEvents?: boolean; syntaxOnly?: boolean; throttleWaitMilliseconds?: number; + noGetErrOnBackgroundUpdate?: boolean; globalPlugins?: ReadonlyArray; pluginProbeLocations?: ReadonlyArray; allowLocalPluginLoads?: boolean; @@ -8410,6 +8453,7 @@ declare namespace ts.server { protected canUseEvents: boolean; private suppressDiagnosticEvents?; private eventHandler; + private readonly noGetErrOnBackgroundUpdate?; constructor(opts: SessionOptions); private sendRequestCompletedEvent; private defaultEventHandler; @@ -8447,6 +8491,7 @@ declare namespace ts.server { private getSyntacticDiagnosticsSync; private getSemanticDiagnosticsSync; private getSuggestionDiagnosticsSync; + private getJsxClosingTag; private getDocumentHighlights; private setCompilerOptionsForInferredProjects; private getProjectInfo; diff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js index ae049cd4143..d03353a3474 100644 --- a/lib/tsserverlibrary.js +++ b/lib/tsserverlibrary.js @@ -202,190 +202,191 @@ var ts; SyntaxKind[SyntaxKind["TypeKeyword"] = 139] = "TypeKeyword"; SyntaxKind[SyntaxKind["UndefinedKeyword"] = 140] = "UndefinedKeyword"; SyntaxKind[SyntaxKind["UniqueKeyword"] = 141] = "UniqueKeyword"; - SyntaxKind[SyntaxKind["FromKeyword"] = 142] = "FromKeyword"; - SyntaxKind[SyntaxKind["GlobalKeyword"] = 143] = "GlobalKeyword"; - SyntaxKind[SyntaxKind["OfKeyword"] = 144] = "OfKeyword"; + SyntaxKind[SyntaxKind["UnknownKeyword"] = 142] = "UnknownKeyword"; + SyntaxKind[SyntaxKind["FromKeyword"] = 143] = "FromKeyword"; + SyntaxKind[SyntaxKind["GlobalKeyword"] = 144] = "GlobalKeyword"; + SyntaxKind[SyntaxKind["OfKeyword"] = 145] = "OfKeyword"; // Parse tree nodes // Names - SyntaxKind[SyntaxKind["QualifiedName"] = 145] = "QualifiedName"; - SyntaxKind[SyntaxKind["ComputedPropertyName"] = 146] = "ComputedPropertyName"; + SyntaxKind[SyntaxKind["QualifiedName"] = 146] = "QualifiedName"; + SyntaxKind[SyntaxKind["ComputedPropertyName"] = 147] = "ComputedPropertyName"; // Signature elements - SyntaxKind[SyntaxKind["TypeParameter"] = 147] = "TypeParameter"; - SyntaxKind[SyntaxKind["Parameter"] = 148] = "Parameter"; - SyntaxKind[SyntaxKind["Decorator"] = 149] = "Decorator"; + SyntaxKind[SyntaxKind["TypeParameter"] = 148] = "TypeParameter"; + SyntaxKind[SyntaxKind["Parameter"] = 149] = "Parameter"; + SyntaxKind[SyntaxKind["Decorator"] = 150] = "Decorator"; // TypeMember - SyntaxKind[SyntaxKind["PropertySignature"] = 150] = "PropertySignature"; - SyntaxKind[SyntaxKind["PropertyDeclaration"] = 151] = "PropertyDeclaration"; - SyntaxKind[SyntaxKind["MethodSignature"] = 152] = "MethodSignature"; - SyntaxKind[SyntaxKind["MethodDeclaration"] = 153] = "MethodDeclaration"; - SyntaxKind[SyntaxKind["Constructor"] = 154] = "Constructor"; - SyntaxKind[SyntaxKind["GetAccessor"] = 155] = "GetAccessor"; - SyntaxKind[SyntaxKind["SetAccessor"] = 156] = "SetAccessor"; - SyntaxKind[SyntaxKind["CallSignature"] = 157] = "CallSignature"; - SyntaxKind[SyntaxKind["ConstructSignature"] = 158] = "ConstructSignature"; - SyntaxKind[SyntaxKind["IndexSignature"] = 159] = "IndexSignature"; + SyntaxKind[SyntaxKind["PropertySignature"] = 151] = "PropertySignature"; + SyntaxKind[SyntaxKind["PropertyDeclaration"] = 152] = "PropertyDeclaration"; + SyntaxKind[SyntaxKind["MethodSignature"] = 153] = "MethodSignature"; + SyntaxKind[SyntaxKind["MethodDeclaration"] = 154] = "MethodDeclaration"; + SyntaxKind[SyntaxKind["Constructor"] = 155] = "Constructor"; + SyntaxKind[SyntaxKind["GetAccessor"] = 156] = "GetAccessor"; + SyntaxKind[SyntaxKind["SetAccessor"] = 157] = "SetAccessor"; + SyntaxKind[SyntaxKind["CallSignature"] = 158] = "CallSignature"; + SyntaxKind[SyntaxKind["ConstructSignature"] = 159] = "ConstructSignature"; + SyntaxKind[SyntaxKind["IndexSignature"] = 160] = "IndexSignature"; // Type - SyntaxKind[SyntaxKind["TypePredicate"] = 160] = "TypePredicate"; - SyntaxKind[SyntaxKind["TypeReference"] = 161] = "TypeReference"; - SyntaxKind[SyntaxKind["FunctionType"] = 162] = "FunctionType"; - SyntaxKind[SyntaxKind["ConstructorType"] = 163] = "ConstructorType"; - SyntaxKind[SyntaxKind["TypeQuery"] = 164] = "TypeQuery"; - SyntaxKind[SyntaxKind["TypeLiteral"] = 165] = "TypeLiteral"; - SyntaxKind[SyntaxKind["ArrayType"] = 166] = "ArrayType"; - SyntaxKind[SyntaxKind["TupleType"] = 167] = "TupleType"; - SyntaxKind[SyntaxKind["UnionType"] = 168] = "UnionType"; - SyntaxKind[SyntaxKind["IntersectionType"] = 169] = "IntersectionType"; - SyntaxKind[SyntaxKind["ConditionalType"] = 170] = "ConditionalType"; - SyntaxKind[SyntaxKind["InferType"] = 171] = "InferType"; - SyntaxKind[SyntaxKind["ParenthesizedType"] = 172] = "ParenthesizedType"; - SyntaxKind[SyntaxKind["ThisType"] = 173] = "ThisType"; - SyntaxKind[SyntaxKind["TypeOperator"] = 174] = "TypeOperator"; - SyntaxKind[SyntaxKind["IndexedAccessType"] = 175] = "IndexedAccessType"; - SyntaxKind[SyntaxKind["MappedType"] = 176] = "MappedType"; - SyntaxKind[SyntaxKind["LiteralType"] = 177] = "LiteralType"; - SyntaxKind[SyntaxKind["ImportType"] = 178] = "ImportType"; + SyntaxKind[SyntaxKind["TypePredicate"] = 161] = "TypePredicate"; + SyntaxKind[SyntaxKind["TypeReference"] = 162] = "TypeReference"; + SyntaxKind[SyntaxKind["FunctionType"] = 163] = "FunctionType"; + SyntaxKind[SyntaxKind["ConstructorType"] = 164] = "ConstructorType"; + SyntaxKind[SyntaxKind["TypeQuery"] = 165] = "TypeQuery"; + SyntaxKind[SyntaxKind["TypeLiteral"] = 166] = "TypeLiteral"; + SyntaxKind[SyntaxKind["ArrayType"] = 167] = "ArrayType"; + SyntaxKind[SyntaxKind["TupleType"] = 168] = "TupleType"; + SyntaxKind[SyntaxKind["UnionType"] = 169] = "UnionType"; + SyntaxKind[SyntaxKind["IntersectionType"] = 170] = "IntersectionType"; + SyntaxKind[SyntaxKind["ConditionalType"] = 171] = "ConditionalType"; + SyntaxKind[SyntaxKind["InferType"] = 172] = "InferType"; + SyntaxKind[SyntaxKind["ParenthesizedType"] = 173] = "ParenthesizedType"; + SyntaxKind[SyntaxKind["ThisType"] = 174] = "ThisType"; + SyntaxKind[SyntaxKind["TypeOperator"] = 175] = "TypeOperator"; + SyntaxKind[SyntaxKind["IndexedAccessType"] = 176] = "IndexedAccessType"; + SyntaxKind[SyntaxKind["MappedType"] = 177] = "MappedType"; + SyntaxKind[SyntaxKind["LiteralType"] = 178] = "LiteralType"; + SyntaxKind[SyntaxKind["ImportType"] = 179] = "ImportType"; // Binding patterns - SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 179] = "ObjectBindingPattern"; - SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 180] = "ArrayBindingPattern"; - SyntaxKind[SyntaxKind["BindingElement"] = 181] = "BindingElement"; + SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 180] = "ObjectBindingPattern"; + SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 181] = "ArrayBindingPattern"; + SyntaxKind[SyntaxKind["BindingElement"] = 182] = "BindingElement"; // Expression - SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 182] = "ArrayLiteralExpression"; - SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 183] = "ObjectLiteralExpression"; - SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 184] = "PropertyAccessExpression"; - SyntaxKind[SyntaxKind["ElementAccessExpression"] = 185] = "ElementAccessExpression"; - SyntaxKind[SyntaxKind["CallExpression"] = 186] = "CallExpression"; - SyntaxKind[SyntaxKind["NewExpression"] = 187] = "NewExpression"; - SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 188] = "TaggedTemplateExpression"; - SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 189] = "TypeAssertionExpression"; - SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 190] = "ParenthesizedExpression"; - SyntaxKind[SyntaxKind["FunctionExpression"] = 191] = "FunctionExpression"; - SyntaxKind[SyntaxKind["ArrowFunction"] = 192] = "ArrowFunction"; - SyntaxKind[SyntaxKind["DeleteExpression"] = 193] = "DeleteExpression"; - SyntaxKind[SyntaxKind["TypeOfExpression"] = 194] = "TypeOfExpression"; - SyntaxKind[SyntaxKind["VoidExpression"] = 195] = "VoidExpression"; - SyntaxKind[SyntaxKind["AwaitExpression"] = 196] = "AwaitExpression"; - SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 197] = "PrefixUnaryExpression"; - SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 198] = "PostfixUnaryExpression"; - SyntaxKind[SyntaxKind["BinaryExpression"] = 199] = "BinaryExpression"; - SyntaxKind[SyntaxKind["ConditionalExpression"] = 200] = "ConditionalExpression"; - SyntaxKind[SyntaxKind["TemplateExpression"] = 201] = "TemplateExpression"; - SyntaxKind[SyntaxKind["YieldExpression"] = 202] = "YieldExpression"; - SyntaxKind[SyntaxKind["SpreadElement"] = 203] = "SpreadElement"; - SyntaxKind[SyntaxKind["ClassExpression"] = 204] = "ClassExpression"; - SyntaxKind[SyntaxKind["OmittedExpression"] = 205] = "OmittedExpression"; - SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 206] = "ExpressionWithTypeArguments"; - SyntaxKind[SyntaxKind["AsExpression"] = 207] = "AsExpression"; - SyntaxKind[SyntaxKind["NonNullExpression"] = 208] = "NonNullExpression"; - SyntaxKind[SyntaxKind["MetaProperty"] = 209] = "MetaProperty"; + SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 183] = "ArrayLiteralExpression"; + SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 184] = "ObjectLiteralExpression"; + SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 185] = "PropertyAccessExpression"; + SyntaxKind[SyntaxKind["ElementAccessExpression"] = 186] = "ElementAccessExpression"; + SyntaxKind[SyntaxKind["CallExpression"] = 187] = "CallExpression"; + SyntaxKind[SyntaxKind["NewExpression"] = 188] = "NewExpression"; + SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 189] = "TaggedTemplateExpression"; + SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 190] = "TypeAssertionExpression"; + SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 191] = "ParenthesizedExpression"; + SyntaxKind[SyntaxKind["FunctionExpression"] = 192] = "FunctionExpression"; + SyntaxKind[SyntaxKind["ArrowFunction"] = 193] = "ArrowFunction"; + SyntaxKind[SyntaxKind["DeleteExpression"] = 194] = "DeleteExpression"; + SyntaxKind[SyntaxKind["TypeOfExpression"] = 195] = "TypeOfExpression"; + SyntaxKind[SyntaxKind["VoidExpression"] = 196] = "VoidExpression"; + SyntaxKind[SyntaxKind["AwaitExpression"] = 197] = "AwaitExpression"; + SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 198] = "PrefixUnaryExpression"; + SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 199] = "PostfixUnaryExpression"; + SyntaxKind[SyntaxKind["BinaryExpression"] = 200] = "BinaryExpression"; + SyntaxKind[SyntaxKind["ConditionalExpression"] = 201] = "ConditionalExpression"; + SyntaxKind[SyntaxKind["TemplateExpression"] = 202] = "TemplateExpression"; + SyntaxKind[SyntaxKind["YieldExpression"] = 203] = "YieldExpression"; + SyntaxKind[SyntaxKind["SpreadElement"] = 204] = "SpreadElement"; + SyntaxKind[SyntaxKind["ClassExpression"] = 205] = "ClassExpression"; + SyntaxKind[SyntaxKind["OmittedExpression"] = 206] = "OmittedExpression"; + SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 207] = "ExpressionWithTypeArguments"; + SyntaxKind[SyntaxKind["AsExpression"] = 208] = "AsExpression"; + SyntaxKind[SyntaxKind["NonNullExpression"] = 209] = "NonNullExpression"; + SyntaxKind[SyntaxKind["MetaProperty"] = 210] = "MetaProperty"; // Misc - SyntaxKind[SyntaxKind["TemplateSpan"] = 210] = "TemplateSpan"; - SyntaxKind[SyntaxKind["SemicolonClassElement"] = 211] = "SemicolonClassElement"; + SyntaxKind[SyntaxKind["TemplateSpan"] = 211] = "TemplateSpan"; + SyntaxKind[SyntaxKind["SemicolonClassElement"] = 212] = "SemicolonClassElement"; // Element - SyntaxKind[SyntaxKind["Block"] = 212] = "Block"; - SyntaxKind[SyntaxKind["VariableStatement"] = 213] = "VariableStatement"; - SyntaxKind[SyntaxKind["EmptyStatement"] = 214] = "EmptyStatement"; - SyntaxKind[SyntaxKind["ExpressionStatement"] = 215] = "ExpressionStatement"; - SyntaxKind[SyntaxKind["IfStatement"] = 216] = "IfStatement"; - SyntaxKind[SyntaxKind["DoStatement"] = 217] = "DoStatement"; - SyntaxKind[SyntaxKind["WhileStatement"] = 218] = "WhileStatement"; - SyntaxKind[SyntaxKind["ForStatement"] = 219] = "ForStatement"; - SyntaxKind[SyntaxKind["ForInStatement"] = 220] = "ForInStatement"; - SyntaxKind[SyntaxKind["ForOfStatement"] = 221] = "ForOfStatement"; - SyntaxKind[SyntaxKind["ContinueStatement"] = 222] = "ContinueStatement"; - SyntaxKind[SyntaxKind["BreakStatement"] = 223] = "BreakStatement"; - SyntaxKind[SyntaxKind["ReturnStatement"] = 224] = "ReturnStatement"; - SyntaxKind[SyntaxKind["WithStatement"] = 225] = "WithStatement"; - SyntaxKind[SyntaxKind["SwitchStatement"] = 226] = "SwitchStatement"; - SyntaxKind[SyntaxKind["LabeledStatement"] = 227] = "LabeledStatement"; - SyntaxKind[SyntaxKind["ThrowStatement"] = 228] = "ThrowStatement"; - SyntaxKind[SyntaxKind["TryStatement"] = 229] = "TryStatement"; - SyntaxKind[SyntaxKind["DebuggerStatement"] = 230] = "DebuggerStatement"; - SyntaxKind[SyntaxKind["VariableDeclaration"] = 231] = "VariableDeclaration"; - SyntaxKind[SyntaxKind["VariableDeclarationList"] = 232] = "VariableDeclarationList"; - SyntaxKind[SyntaxKind["FunctionDeclaration"] = 233] = "FunctionDeclaration"; - SyntaxKind[SyntaxKind["ClassDeclaration"] = 234] = "ClassDeclaration"; - SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 235] = "InterfaceDeclaration"; - SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 236] = "TypeAliasDeclaration"; - SyntaxKind[SyntaxKind["EnumDeclaration"] = 237] = "EnumDeclaration"; - SyntaxKind[SyntaxKind["ModuleDeclaration"] = 238] = "ModuleDeclaration"; - SyntaxKind[SyntaxKind["ModuleBlock"] = 239] = "ModuleBlock"; - SyntaxKind[SyntaxKind["CaseBlock"] = 240] = "CaseBlock"; - SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 241] = "NamespaceExportDeclaration"; - SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 242] = "ImportEqualsDeclaration"; - SyntaxKind[SyntaxKind["ImportDeclaration"] = 243] = "ImportDeclaration"; - SyntaxKind[SyntaxKind["ImportClause"] = 244] = "ImportClause"; - SyntaxKind[SyntaxKind["NamespaceImport"] = 245] = "NamespaceImport"; - SyntaxKind[SyntaxKind["NamedImports"] = 246] = "NamedImports"; - SyntaxKind[SyntaxKind["ImportSpecifier"] = 247] = "ImportSpecifier"; - SyntaxKind[SyntaxKind["ExportAssignment"] = 248] = "ExportAssignment"; - SyntaxKind[SyntaxKind["ExportDeclaration"] = 249] = "ExportDeclaration"; - SyntaxKind[SyntaxKind["NamedExports"] = 250] = "NamedExports"; - SyntaxKind[SyntaxKind["ExportSpecifier"] = 251] = "ExportSpecifier"; - SyntaxKind[SyntaxKind["MissingDeclaration"] = 252] = "MissingDeclaration"; + SyntaxKind[SyntaxKind["Block"] = 213] = "Block"; + SyntaxKind[SyntaxKind["VariableStatement"] = 214] = "VariableStatement"; + SyntaxKind[SyntaxKind["EmptyStatement"] = 215] = "EmptyStatement"; + SyntaxKind[SyntaxKind["ExpressionStatement"] = 216] = "ExpressionStatement"; + SyntaxKind[SyntaxKind["IfStatement"] = 217] = "IfStatement"; + SyntaxKind[SyntaxKind["DoStatement"] = 218] = "DoStatement"; + SyntaxKind[SyntaxKind["WhileStatement"] = 219] = "WhileStatement"; + SyntaxKind[SyntaxKind["ForStatement"] = 220] = "ForStatement"; + SyntaxKind[SyntaxKind["ForInStatement"] = 221] = "ForInStatement"; + SyntaxKind[SyntaxKind["ForOfStatement"] = 222] = "ForOfStatement"; + SyntaxKind[SyntaxKind["ContinueStatement"] = 223] = "ContinueStatement"; + SyntaxKind[SyntaxKind["BreakStatement"] = 224] = "BreakStatement"; + SyntaxKind[SyntaxKind["ReturnStatement"] = 225] = "ReturnStatement"; + SyntaxKind[SyntaxKind["WithStatement"] = 226] = "WithStatement"; + SyntaxKind[SyntaxKind["SwitchStatement"] = 227] = "SwitchStatement"; + SyntaxKind[SyntaxKind["LabeledStatement"] = 228] = "LabeledStatement"; + SyntaxKind[SyntaxKind["ThrowStatement"] = 229] = "ThrowStatement"; + SyntaxKind[SyntaxKind["TryStatement"] = 230] = "TryStatement"; + SyntaxKind[SyntaxKind["DebuggerStatement"] = 231] = "DebuggerStatement"; + SyntaxKind[SyntaxKind["VariableDeclaration"] = 232] = "VariableDeclaration"; + SyntaxKind[SyntaxKind["VariableDeclarationList"] = 233] = "VariableDeclarationList"; + SyntaxKind[SyntaxKind["FunctionDeclaration"] = 234] = "FunctionDeclaration"; + SyntaxKind[SyntaxKind["ClassDeclaration"] = 235] = "ClassDeclaration"; + SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 236] = "InterfaceDeclaration"; + SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 237] = "TypeAliasDeclaration"; + SyntaxKind[SyntaxKind["EnumDeclaration"] = 238] = "EnumDeclaration"; + SyntaxKind[SyntaxKind["ModuleDeclaration"] = 239] = "ModuleDeclaration"; + SyntaxKind[SyntaxKind["ModuleBlock"] = 240] = "ModuleBlock"; + SyntaxKind[SyntaxKind["CaseBlock"] = 241] = "CaseBlock"; + SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 242] = "NamespaceExportDeclaration"; + SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 243] = "ImportEqualsDeclaration"; + SyntaxKind[SyntaxKind["ImportDeclaration"] = 244] = "ImportDeclaration"; + SyntaxKind[SyntaxKind["ImportClause"] = 245] = "ImportClause"; + SyntaxKind[SyntaxKind["NamespaceImport"] = 246] = "NamespaceImport"; + SyntaxKind[SyntaxKind["NamedImports"] = 247] = "NamedImports"; + SyntaxKind[SyntaxKind["ImportSpecifier"] = 248] = "ImportSpecifier"; + SyntaxKind[SyntaxKind["ExportAssignment"] = 249] = "ExportAssignment"; + SyntaxKind[SyntaxKind["ExportDeclaration"] = 250] = "ExportDeclaration"; + SyntaxKind[SyntaxKind["NamedExports"] = 251] = "NamedExports"; + SyntaxKind[SyntaxKind["ExportSpecifier"] = 252] = "ExportSpecifier"; + SyntaxKind[SyntaxKind["MissingDeclaration"] = 253] = "MissingDeclaration"; // Module references - SyntaxKind[SyntaxKind["ExternalModuleReference"] = 253] = "ExternalModuleReference"; + SyntaxKind[SyntaxKind["ExternalModuleReference"] = 254] = "ExternalModuleReference"; // JSX - SyntaxKind[SyntaxKind["JsxElement"] = 254] = "JsxElement"; - SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 255] = "JsxSelfClosingElement"; - SyntaxKind[SyntaxKind["JsxOpeningElement"] = 256] = "JsxOpeningElement"; - SyntaxKind[SyntaxKind["JsxClosingElement"] = 257] = "JsxClosingElement"; - SyntaxKind[SyntaxKind["JsxFragment"] = 258] = "JsxFragment"; - SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 259] = "JsxOpeningFragment"; - SyntaxKind[SyntaxKind["JsxClosingFragment"] = 260] = "JsxClosingFragment"; - SyntaxKind[SyntaxKind["JsxAttribute"] = 261] = "JsxAttribute"; - SyntaxKind[SyntaxKind["JsxAttributes"] = 262] = "JsxAttributes"; - SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 263] = "JsxSpreadAttribute"; - SyntaxKind[SyntaxKind["JsxExpression"] = 264] = "JsxExpression"; + SyntaxKind[SyntaxKind["JsxElement"] = 255] = "JsxElement"; + SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 256] = "JsxSelfClosingElement"; + SyntaxKind[SyntaxKind["JsxOpeningElement"] = 257] = "JsxOpeningElement"; + SyntaxKind[SyntaxKind["JsxClosingElement"] = 258] = "JsxClosingElement"; + SyntaxKind[SyntaxKind["JsxFragment"] = 259] = "JsxFragment"; + SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 260] = "JsxOpeningFragment"; + SyntaxKind[SyntaxKind["JsxClosingFragment"] = 261] = "JsxClosingFragment"; + SyntaxKind[SyntaxKind["JsxAttribute"] = 262] = "JsxAttribute"; + SyntaxKind[SyntaxKind["JsxAttributes"] = 263] = "JsxAttributes"; + SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 264] = "JsxSpreadAttribute"; + SyntaxKind[SyntaxKind["JsxExpression"] = 265] = "JsxExpression"; // Clauses - SyntaxKind[SyntaxKind["CaseClause"] = 265] = "CaseClause"; - SyntaxKind[SyntaxKind["DefaultClause"] = 266] = "DefaultClause"; - SyntaxKind[SyntaxKind["HeritageClause"] = 267] = "HeritageClause"; - SyntaxKind[SyntaxKind["CatchClause"] = 268] = "CatchClause"; + SyntaxKind[SyntaxKind["CaseClause"] = 266] = "CaseClause"; + SyntaxKind[SyntaxKind["DefaultClause"] = 267] = "DefaultClause"; + SyntaxKind[SyntaxKind["HeritageClause"] = 268] = "HeritageClause"; + SyntaxKind[SyntaxKind["CatchClause"] = 269] = "CatchClause"; // Property assignments - SyntaxKind[SyntaxKind["PropertyAssignment"] = 269] = "PropertyAssignment"; - SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 270] = "ShorthandPropertyAssignment"; - SyntaxKind[SyntaxKind["SpreadAssignment"] = 271] = "SpreadAssignment"; + SyntaxKind[SyntaxKind["PropertyAssignment"] = 270] = "PropertyAssignment"; + SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 271] = "ShorthandPropertyAssignment"; + SyntaxKind[SyntaxKind["SpreadAssignment"] = 272] = "SpreadAssignment"; // Enum - SyntaxKind[SyntaxKind["EnumMember"] = 272] = "EnumMember"; + SyntaxKind[SyntaxKind["EnumMember"] = 273] = "EnumMember"; // Top-level nodes - SyntaxKind[SyntaxKind["SourceFile"] = 273] = "SourceFile"; - SyntaxKind[SyntaxKind["Bundle"] = 274] = "Bundle"; - SyntaxKind[SyntaxKind["UnparsedSource"] = 275] = "UnparsedSource"; - SyntaxKind[SyntaxKind["InputFiles"] = 276] = "InputFiles"; + SyntaxKind[SyntaxKind["SourceFile"] = 274] = "SourceFile"; + SyntaxKind[SyntaxKind["Bundle"] = 275] = "Bundle"; + SyntaxKind[SyntaxKind["UnparsedSource"] = 276] = "UnparsedSource"; + SyntaxKind[SyntaxKind["InputFiles"] = 277] = "InputFiles"; // JSDoc nodes - SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 277] = "JSDocTypeExpression"; + SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 278] = "JSDocTypeExpression"; // The * type - SyntaxKind[SyntaxKind["JSDocAllType"] = 278] = "JSDocAllType"; + SyntaxKind[SyntaxKind["JSDocAllType"] = 279] = "JSDocAllType"; // The ? type - SyntaxKind[SyntaxKind["JSDocUnknownType"] = 279] = "JSDocUnknownType"; - SyntaxKind[SyntaxKind["JSDocNullableType"] = 280] = "JSDocNullableType"; - SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 281] = "JSDocNonNullableType"; - SyntaxKind[SyntaxKind["JSDocOptionalType"] = 282] = "JSDocOptionalType"; - SyntaxKind[SyntaxKind["JSDocFunctionType"] = 283] = "JSDocFunctionType"; - SyntaxKind[SyntaxKind["JSDocVariadicType"] = 284] = "JSDocVariadicType"; - SyntaxKind[SyntaxKind["JSDocComment"] = 285] = "JSDocComment"; - SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 286] = "JSDocTypeLiteral"; - SyntaxKind[SyntaxKind["JSDocSignature"] = 287] = "JSDocSignature"; - SyntaxKind[SyntaxKind["JSDocTag"] = 288] = "JSDocTag"; - SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 289] = "JSDocAugmentsTag"; - SyntaxKind[SyntaxKind["JSDocClassTag"] = 290] = "JSDocClassTag"; - SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 291] = "JSDocCallbackTag"; - SyntaxKind[SyntaxKind["JSDocParameterTag"] = 292] = "JSDocParameterTag"; - SyntaxKind[SyntaxKind["JSDocReturnTag"] = 293] = "JSDocReturnTag"; - SyntaxKind[SyntaxKind["JSDocTypeTag"] = 294] = "JSDocTypeTag"; - SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 295] = "JSDocTemplateTag"; - SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 296] = "JSDocTypedefTag"; - SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 297] = "JSDocPropertyTag"; + SyntaxKind[SyntaxKind["JSDocUnknownType"] = 280] = "JSDocUnknownType"; + SyntaxKind[SyntaxKind["JSDocNullableType"] = 281] = "JSDocNullableType"; + SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 282] = "JSDocNonNullableType"; + SyntaxKind[SyntaxKind["JSDocOptionalType"] = 283] = "JSDocOptionalType"; + SyntaxKind[SyntaxKind["JSDocFunctionType"] = 284] = "JSDocFunctionType"; + SyntaxKind[SyntaxKind["JSDocVariadicType"] = 285] = "JSDocVariadicType"; + SyntaxKind[SyntaxKind["JSDocComment"] = 286] = "JSDocComment"; + SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 287] = "JSDocTypeLiteral"; + SyntaxKind[SyntaxKind["JSDocSignature"] = 288] = "JSDocSignature"; + SyntaxKind[SyntaxKind["JSDocTag"] = 289] = "JSDocTag"; + SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 290] = "JSDocAugmentsTag"; + SyntaxKind[SyntaxKind["JSDocClassTag"] = 291] = "JSDocClassTag"; + SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 292] = "JSDocCallbackTag"; + SyntaxKind[SyntaxKind["JSDocParameterTag"] = 293] = "JSDocParameterTag"; + SyntaxKind[SyntaxKind["JSDocReturnTag"] = 294] = "JSDocReturnTag"; + SyntaxKind[SyntaxKind["JSDocTypeTag"] = 295] = "JSDocTypeTag"; + SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 296] = "JSDocTemplateTag"; + SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 297] = "JSDocTypedefTag"; + SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 298] = "JSDocPropertyTag"; // Synthesized list - SyntaxKind[SyntaxKind["SyntaxList"] = 298] = "SyntaxList"; + SyntaxKind[SyntaxKind["SyntaxList"] = 299] = "SyntaxList"; // Transformation nodes - SyntaxKind[SyntaxKind["NotEmittedStatement"] = 299] = "NotEmittedStatement"; - SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 300] = "PartiallyEmittedExpression"; - SyntaxKind[SyntaxKind["CommaListExpression"] = 301] = "CommaListExpression"; - SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 302] = "MergeDeclarationMarker"; - SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 303] = "EndOfDeclarationMarker"; + SyntaxKind[SyntaxKind["NotEmittedStatement"] = 300] = "NotEmittedStatement"; + SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 301] = "PartiallyEmittedExpression"; + SyntaxKind[SyntaxKind["CommaListExpression"] = 302] = "CommaListExpression"; + SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 303] = "MergeDeclarationMarker"; + SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 304] = "EndOfDeclarationMarker"; // Enum value count - SyntaxKind[SyntaxKind["Count"] = 304] = "Count"; + SyntaxKind[SyntaxKind["Count"] = 305] = "Count"; // Markers SyntaxKind[SyntaxKind["FirstAssignment"] = 58] = "FirstAssignment"; SyntaxKind[SyntaxKind["LastAssignment"] = 70] = "LastAssignment"; @@ -394,15 +395,15 @@ var ts; SyntaxKind[SyntaxKind["FirstReservedWord"] = 72] = "FirstReservedWord"; SyntaxKind[SyntaxKind["LastReservedWord"] = 107] = "LastReservedWord"; SyntaxKind[SyntaxKind["FirstKeyword"] = 72] = "FirstKeyword"; - SyntaxKind[SyntaxKind["LastKeyword"] = 144] = "LastKeyword"; + SyntaxKind[SyntaxKind["LastKeyword"] = 145] = "LastKeyword"; SyntaxKind[SyntaxKind["FirstFutureReservedWord"] = 108] = "FirstFutureReservedWord"; SyntaxKind[SyntaxKind["LastFutureReservedWord"] = 116] = "LastFutureReservedWord"; - SyntaxKind[SyntaxKind["FirstTypeNode"] = 160] = "FirstTypeNode"; - SyntaxKind[SyntaxKind["LastTypeNode"] = 178] = "LastTypeNode"; + SyntaxKind[SyntaxKind["FirstTypeNode"] = 161] = "FirstTypeNode"; + SyntaxKind[SyntaxKind["LastTypeNode"] = 179] = "LastTypeNode"; SyntaxKind[SyntaxKind["FirstPunctuation"] = 17] = "FirstPunctuation"; SyntaxKind[SyntaxKind["LastPunctuation"] = 70] = "LastPunctuation"; SyntaxKind[SyntaxKind["FirstToken"] = 0] = "FirstToken"; - SyntaxKind[SyntaxKind["LastToken"] = 144] = "LastToken"; + SyntaxKind[SyntaxKind["LastToken"] = 145] = "LastToken"; SyntaxKind[SyntaxKind["FirstTriviaToken"] = 2] = "FirstTriviaToken"; SyntaxKind[SyntaxKind["LastTriviaToken"] = 7] = "LastTriviaToken"; SyntaxKind[SyntaxKind["FirstLiteralToken"] = 8] = "FirstLiteralToken"; @@ -411,13 +412,13 @@ var ts; SyntaxKind[SyntaxKind["LastTemplateToken"] = 16] = "LastTemplateToken"; SyntaxKind[SyntaxKind["FirstBinaryOperator"] = 27] = "FirstBinaryOperator"; SyntaxKind[SyntaxKind["LastBinaryOperator"] = 70] = "LastBinaryOperator"; - SyntaxKind[SyntaxKind["FirstNode"] = 145] = "FirstNode"; - SyntaxKind[SyntaxKind["FirstJSDocNode"] = 277] = "FirstJSDocNode"; - SyntaxKind[SyntaxKind["LastJSDocNode"] = 297] = "LastJSDocNode"; - SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 288] = "FirstJSDocTagNode"; - SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 297] = "LastJSDocTagNode"; + SyntaxKind[SyntaxKind["FirstNode"] = 146] = "FirstNode"; + SyntaxKind[SyntaxKind["FirstJSDocNode"] = 278] = "FirstJSDocNode"; + SyntaxKind[SyntaxKind["LastJSDocNode"] = 298] = "LastJSDocNode"; + SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 289] = "FirstJSDocTagNode"; + SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 298] = "LastJSDocTagNode"; /* @internal */ SyntaxKind[SyntaxKind["FirstContextualKeyword"] = 117] = "FirstContextualKeyword"; - /* @internal */ SyntaxKind[SyntaxKind["LastContextualKeyword"] = 144] = "LastContextualKeyword"; + /* @internal */ SyntaxKind[SyntaxKind["LastContextualKeyword"] = 145] = "LastContextualKeyword"; })(SyntaxKind = ts.SyntaxKind || (ts.SyntaxKind = {})); var NodeFlags; (function (NodeFlags) { @@ -857,89 +858,93 @@ var ts; var TypeFlags; (function (TypeFlags) { TypeFlags[TypeFlags["Any"] = 1] = "Any"; - TypeFlags[TypeFlags["String"] = 2] = "String"; - TypeFlags[TypeFlags["Number"] = 4] = "Number"; - TypeFlags[TypeFlags["Boolean"] = 8] = "Boolean"; - TypeFlags[TypeFlags["Enum"] = 16] = "Enum"; - TypeFlags[TypeFlags["StringLiteral"] = 32] = "StringLiteral"; - TypeFlags[TypeFlags["NumberLiteral"] = 64] = "NumberLiteral"; - TypeFlags[TypeFlags["BooleanLiteral"] = 128] = "BooleanLiteral"; - TypeFlags[TypeFlags["EnumLiteral"] = 256] = "EnumLiteral"; - TypeFlags[TypeFlags["ESSymbol"] = 512] = "ESSymbol"; - TypeFlags[TypeFlags["UniqueESSymbol"] = 1024] = "UniqueESSymbol"; - TypeFlags[TypeFlags["Void"] = 2048] = "Void"; - TypeFlags[TypeFlags["Undefined"] = 4096] = "Undefined"; - TypeFlags[TypeFlags["Null"] = 8192] = "Null"; - TypeFlags[TypeFlags["Never"] = 16384] = "Never"; - TypeFlags[TypeFlags["TypeParameter"] = 32768] = "TypeParameter"; - TypeFlags[TypeFlags["Object"] = 65536] = "Object"; - TypeFlags[TypeFlags["Union"] = 131072] = "Union"; - TypeFlags[TypeFlags["Intersection"] = 262144] = "Intersection"; - TypeFlags[TypeFlags["Index"] = 524288] = "Index"; - TypeFlags[TypeFlags["IndexedAccess"] = 1048576] = "IndexedAccess"; - TypeFlags[TypeFlags["Conditional"] = 2097152] = "Conditional"; - TypeFlags[TypeFlags["Substitution"] = 4194304] = "Substitution"; + TypeFlags[TypeFlags["Unknown"] = 2] = "Unknown"; + TypeFlags[TypeFlags["String"] = 4] = "String"; + TypeFlags[TypeFlags["Number"] = 8] = "Number"; + TypeFlags[TypeFlags["Boolean"] = 16] = "Boolean"; + TypeFlags[TypeFlags["Enum"] = 32] = "Enum"; + TypeFlags[TypeFlags["StringLiteral"] = 64] = "StringLiteral"; + TypeFlags[TypeFlags["NumberLiteral"] = 128] = "NumberLiteral"; + TypeFlags[TypeFlags["BooleanLiteral"] = 256] = "BooleanLiteral"; + TypeFlags[TypeFlags["EnumLiteral"] = 512] = "EnumLiteral"; + TypeFlags[TypeFlags["ESSymbol"] = 1024] = "ESSymbol"; + TypeFlags[TypeFlags["UniqueESSymbol"] = 2048] = "UniqueESSymbol"; + TypeFlags[TypeFlags["Void"] = 4096] = "Void"; + TypeFlags[TypeFlags["Undefined"] = 8192] = "Undefined"; + TypeFlags[TypeFlags["Null"] = 16384] = "Null"; + TypeFlags[TypeFlags["Never"] = 32768] = "Never"; + TypeFlags[TypeFlags["TypeParameter"] = 65536] = "TypeParameter"; + TypeFlags[TypeFlags["Object"] = 131072] = "Object"; + TypeFlags[TypeFlags["Union"] = 262144] = "Union"; + TypeFlags[TypeFlags["Intersection"] = 524288] = "Intersection"; + TypeFlags[TypeFlags["Index"] = 1048576] = "Index"; + TypeFlags[TypeFlags["IndexedAccess"] = 2097152] = "IndexedAccess"; + TypeFlags[TypeFlags["Conditional"] = 4194304] = "Conditional"; + TypeFlags[TypeFlags["Substitution"] = 8388608] = "Substitution"; + TypeFlags[TypeFlags["NonPrimitive"] = 16777216] = "NonPrimitive"; /* @internal */ - TypeFlags[TypeFlags["FreshLiteral"] = 8388608] = "FreshLiteral"; + TypeFlags[TypeFlags["FreshLiteral"] = 33554432] = "FreshLiteral"; /* @internal */ - TypeFlags[TypeFlags["ContainsWideningType"] = 16777216] = "ContainsWideningType"; + TypeFlags[TypeFlags["UnionOfUnitTypes"] = 67108864] = "UnionOfUnitTypes"; /* @internal */ - TypeFlags[TypeFlags["ContainsObjectLiteral"] = 33554432] = "ContainsObjectLiteral"; + TypeFlags[TypeFlags["ContainsWideningType"] = 134217728] = "ContainsWideningType"; /* @internal */ - TypeFlags[TypeFlags["ContainsAnyFunctionType"] = 67108864] = "ContainsAnyFunctionType"; - TypeFlags[TypeFlags["NonPrimitive"] = 134217728] = "NonPrimitive"; + TypeFlags[TypeFlags["ContainsObjectLiteral"] = 268435456] = "ContainsObjectLiteral"; /* @internal */ - TypeFlags[TypeFlags["UnionOfUnitTypes"] = 268435456] = "UnionOfUnitTypes"; + TypeFlags[TypeFlags["ContainsAnyFunctionType"] = 536870912] = "ContainsAnyFunctionType"; /* @internal */ - TypeFlags[TypeFlags["GenericMappedType"] = 536870912] = "GenericMappedType"; + TypeFlags[TypeFlags["AnyOrUnknown"] = 3] = "AnyOrUnknown"; /* @internal */ - TypeFlags[TypeFlags["Nullable"] = 12288] = "Nullable"; - TypeFlags[TypeFlags["Literal"] = 224] = "Literal"; - TypeFlags[TypeFlags["Unit"] = 13536] = "Unit"; - TypeFlags[TypeFlags["StringOrNumberLiteral"] = 96] = "StringOrNumberLiteral"; + TypeFlags[TypeFlags["Nullable"] = 24576] = "Nullable"; + TypeFlags[TypeFlags["Literal"] = 448] = "Literal"; + TypeFlags[TypeFlags["Unit"] = 27072] = "Unit"; + TypeFlags[TypeFlags["StringOrNumberLiteral"] = 192] = "StringOrNumberLiteral"; /* @internal */ - TypeFlags[TypeFlags["StringOrNumberLiteralOrUnique"] = 1120] = "StringOrNumberLiteralOrUnique"; + TypeFlags[TypeFlags["StringOrNumberLiteralOrUnique"] = 2240] = "StringOrNumberLiteralOrUnique"; /* @internal */ - TypeFlags[TypeFlags["DefinitelyFalsy"] = 14560] = "DefinitelyFalsy"; - TypeFlags[TypeFlags["PossiblyFalsy"] = 14574] = "PossiblyFalsy"; + TypeFlags[TypeFlags["DefinitelyFalsy"] = 29120] = "DefinitelyFalsy"; + TypeFlags[TypeFlags["PossiblyFalsy"] = 29148] = "PossiblyFalsy"; /* @internal */ - TypeFlags[TypeFlags["Intrinsic"] = 134249103] = "Intrinsic"; + TypeFlags[TypeFlags["Intrinsic"] = 16839967] = "Intrinsic"; /* @internal */ - TypeFlags[TypeFlags["Primitive"] = 16382] = "Primitive"; - TypeFlags[TypeFlags["StringLike"] = 34] = "StringLike"; - TypeFlags[TypeFlags["NumberLike"] = 84] = "NumberLike"; - TypeFlags[TypeFlags["BooleanLike"] = 136] = "BooleanLike"; - TypeFlags[TypeFlags["EnumLike"] = 272] = "EnumLike"; - TypeFlags[TypeFlags["ESSymbolLike"] = 1536] = "ESSymbolLike"; - TypeFlags[TypeFlags["VoidLike"] = 6144] = "VoidLike"; + TypeFlags[TypeFlags["Primitive"] = 32764] = "Primitive"; + TypeFlags[TypeFlags["StringLike"] = 68] = "StringLike"; + TypeFlags[TypeFlags["NumberLike"] = 168] = "NumberLike"; + TypeFlags[TypeFlags["BooleanLike"] = 272] = "BooleanLike"; + TypeFlags[TypeFlags["EnumLike"] = 544] = "EnumLike"; + TypeFlags[TypeFlags["ESSymbolLike"] = 3072] = "ESSymbolLike"; + TypeFlags[TypeFlags["VoidLike"] = 12288] = "VoidLike"; /* @internal */ - TypeFlags[TypeFlags["DisjointDomains"] = 134233854] = "DisjointDomains"; - TypeFlags[TypeFlags["UnionOrIntersection"] = 393216] = "UnionOrIntersection"; - TypeFlags[TypeFlags["StructuredType"] = 458752] = "StructuredType"; - TypeFlags[TypeFlags["TypeVariable"] = 1081344] = "TypeVariable"; - TypeFlags[TypeFlags["InstantiableNonPrimitive"] = 7372800] = "InstantiableNonPrimitive"; - TypeFlags[TypeFlags["InstantiablePrimitive"] = 524288] = "InstantiablePrimitive"; - TypeFlags[TypeFlags["Instantiable"] = 7897088] = "Instantiable"; - TypeFlags[TypeFlags["StructuredOrInstantiable"] = 8355840] = "StructuredOrInstantiable"; + TypeFlags[TypeFlags["DisjointDomains"] = 16809468] = "DisjointDomains"; + TypeFlags[TypeFlags["UnionOrIntersection"] = 786432] = "UnionOrIntersection"; + TypeFlags[TypeFlags["StructuredType"] = 917504] = "StructuredType"; + TypeFlags[TypeFlags["TypeVariable"] = 2162688] = "TypeVariable"; + TypeFlags[TypeFlags["InstantiableNonPrimitive"] = 14745600] = "InstantiableNonPrimitive"; + TypeFlags[TypeFlags["InstantiablePrimitive"] = 1048576] = "InstantiablePrimitive"; + TypeFlags[TypeFlags["Instantiable"] = 15794176] = "Instantiable"; + TypeFlags[TypeFlags["StructuredOrInstantiable"] = 16711680] = "StructuredOrInstantiable"; // 'Narrowable' types are types where narrowing actually narrows. // This *should* be every type other than null, undefined, void, and never - TypeFlags[TypeFlags["Narrowable"] = 142575359] = "Narrowable"; - TypeFlags[TypeFlags["NotUnionOrUnit"] = 134283777] = "NotUnionOrUnit"; + TypeFlags[TypeFlags["Narrowable"] = 33492479] = "Narrowable"; + TypeFlags[TypeFlags["NotUnionOrUnit"] = 16909315] = "NotUnionOrUnit"; /* @internal */ - TypeFlags[TypeFlags["NotUnit"] = 8374815] = "NotUnit"; + TypeFlags[TypeFlags["NotUnit"] = 16749629] = "NotUnit"; /* @internal */ - TypeFlags[TypeFlags["RequiresWidening"] = 50331648] = "RequiresWidening"; + TypeFlags[TypeFlags["RequiresWidening"] = 402653184] = "RequiresWidening"; /* @internal */ - TypeFlags[TypeFlags["PropagatingFlags"] = 117440512] = "PropagatingFlags"; + TypeFlags[TypeFlags["PropagatingFlags"] = 939524096] = "PropagatingFlags"; // The following flags are used for different purposes during union and intersection type construction /* @internal */ - TypeFlags[TypeFlags["NonWideningType"] = 16777216] = "NonWideningType"; + TypeFlags[TypeFlags["NonWideningType"] = 134217728] = "NonWideningType"; /* @internal */ - TypeFlags[TypeFlags["Wildcard"] = 33554432] = "Wildcard"; + TypeFlags[TypeFlags["Wildcard"] = 268435456] = "Wildcard"; /* @internal */ - TypeFlags[TypeFlags["EmptyObject"] = 67108864] = "EmptyObject"; + TypeFlags[TypeFlags["EmptyObject"] = 536870912] = "EmptyObject"; /* @internal */ - TypeFlags[TypeFlags["ConstructionFlags"] = 117440512] = "ConstructionFlags"; + TypeFlags[TypeFlags["ConstructionFlags"] = 939524096] = "ConstructionFlags"; + // The following flag is used for different purposes by maybeTypeOfKind + /* @internal */ + TypeFlags[TypeFlags["GenericMappedType"] = 134217728] = "GenericMappedType"; })(TypeFlags = ts.TypeFlags || (ts.TypeFlags = {})); var ObjectFlags; (function (ObjectFlags) { @@ -1325,6 +1330,7 @@ var ts; })(TransformFlags = ts.TransformFlags || (ts.TransformFlags = {})); var EmitFlags; (function (EmitFlags) { + EmitFlags[EmitFlags["None"] = 0] = "None"; EmitFlags[EmitFlags["SingleLine"] = 1] = "SingleLine"; EmitFlags[EmitFlags["AdviseOnEmitNode"] = 2] = "AdviseOnEmitNode"; EmitFlags[EmitFlags["NoSubstitution"] = 4] = "NoSubstitution"; @@ -1633,7 +1639,7 @@ var ts; (function (ts) { // WARNING: The script `configureNightly.ts` uses a regexp to parse out these values. // If changing the text in this section, be sure to test `configureNightly` too. - ts.versionMajorMinor = "2.9"; + ts.versionMajorMinor = "3.0"; /** The version of the TypeScript compiler release */ ts.version = ts.versionMajorMinor + ".0-dev"; })(ts || (ts = {})); @@ -1781,6 +1787,10 @@ var ts; return array ? array.length : 0; } ts.length = length; + function hasEntries(map) { + return !!map && !!map.size; + } + ts.hasEntries = hasEntries; /** * Iterates through 'array' by index and performs the callback on each element of array until the callback * returns a truthy value, then returns that value. @@ -1937,7 +1947,7 @@ var ts; return result; } } - Debug.fail(); + return Debug.fail(); } ts.findMap = findMap; function contains(array, value, equalityComparer) { @@ -2055,11 +2065,6 @@ var ts; return array; } ts.sameMap = sameMap; - /** - * Flattens an array containing a mix of array or non-array elements. - * - * @param array The array to flatten. - */ function flatten(array) { var result; if (array) { @@ -2079,12 +2084,6 @@ var ts; return result; } ts.flatten = flatten; - /** - * Maps an array. If the mapped value is an array, it is spread into the result. - * - * @param array The array to map. - * @param mapfn The callback used to map the result into one or more values. - */ function flatMap(array, mapfn) { var result; if (array) { @@ -2207,13 +2206,6 @@ var ts; }; } ts.singleIterator = singleIterator; - /** - * Maps contiguous spans of values with the same key. - * - * @param array The array to map. - * @param keyfn A callback used to select the key for an element. - * @param mapfn A callback used to map a contiguous chunk of values to a single value. - */ function spanMap(array, keyfn, mapfn) { var result; if (array) { @@ -2331,12 +2323,6 @@ var ts; } return result; } - /** - * Deduplicates an unsorted array. - * @param equalityComparer An optional `EqualityComparer` used to determine if two values are duplicates. - * @param comparer An optional `Comparer` used to sort entries before comparison, though the - * result will remain in the original order in `array`. - */ function deduplicate(array, equalityComparer, comparer) { return !array ? undefined : array.length === 0 ? [] : @@ -2345,9 +2331,6 @@ var ts; deduplicateEquality(array, equalityComparer); } ts.deduplicate = deduplicate; - /** - * Deduplicates an array that has already been sorted. - */ function deduplicateSorted(array, comparer) { if (!array) return undefined; @@ -2490,14 +2473,6 @@ var ts; return result; } ts.sum = sum; - /** - * Appends a value to an array, returning the array. - * - * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array - * is created if `value` was appended. - * @param value The value to append to the array. If `value` is `undefined`, nothing is - * appended. - */ function append(to, value) { if (value === undefined) return to; @@ -2514,16 +2489,6 @@ var ts; function toOffset(array, offset) { return offset < 0 ? array.length + offset : offset; } - /** - * Appends a range of value to an array, returning the array. - * - * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array - * is created if `value` was appended. - * @param from The values to append to the array. If `from` is `undefined`, nothing is - * appended. If an element of `from` is `undefined`, that element is not appended. - * @param start The offset in `from` at which to start copying values. - * @param end The offset in `from` at which to stop copying values (non-inclusive). - */ function addRange(to, from, start, end) { if (from === undefined || from.length === 0) return to; @@ -2539,23 +2504,6 @@ var ts; return to; } ts.addRange = addRange; - /** - * Appends a range of value to begin of an array, returning the array. - * - * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array - * is created if `value` was appended. - * @param from The values to append to the array. If `from` is `undefined`, nothing is - * appended. If an element of `from` is `undefined`, that element is not appended. - */ - function prependRange(to, from) { - if (from === undefined || from.length === 0) - return to; - if (to === undefined) - return from.slice(); - to.unshift.apply(to, from); - return to; - } - ts.prependRange = prependRange; /** * @return Whether the value was added. */ @@ -2853,7 +2801,7 @@ var ts; var arg = args_1[_a]; for (var p in arg) { if (hasProperty(arg, p)) { - t[p] = arg[p]; + t[p] = arg[p]; // TODO: GH#23368 } } } @@ -3012,10 +2960,10 @@ var ts; if (value !== undefined && test(value)) return value; if (value && typeof value.kind === "number") { - Debug.fail("Invalid cast. The supplied " + Debug.showSyntaxKind(value) + " did not pass the test '" + Debug.getFunctionName(test) + "'."); + return Debug.fail("Invalid cast. The supplied " + Debug.showSyntaxKind(value) + " did not pass the test '" + Debug.getFunctionName(test) + "'."); } else { - Debug.fail("Invalid cast. The supplied value did not pass the test '" + Debug.getFunctionName(test) + "'."); + return Debug.fail("Invalid cast. The supplied value did not pass the test '" + Debug.getFunctionName(test) + "'."); } } ts.cast = cast; @@ -3101,7 +3049,7 @@ var ts; } ts.compose = compose; function formatStringFromArgs(text, args, baseIndex) { - baseIndex = baseIndex || 0; + if (baseIndex === void 0) { baseIndex = 0; } return text.replace(/{(\d+)}/g, function (_match, index) { return Debug.assertDefined(args[+index + baseIndex]); }); } ts.formatStringFromArgs = formatStringFromArgs; @@ -3409,7 +3357,9 @@ var ts; return compareValues(a ? 1 : 0, b ? 1 : 0); } ts.compareBooleans = compareBooleans; - function compareMessageText(text1, text2) { + function compareMessageText(t1, t2) { + var text1 = t1; + var text2 = t2; while (text1 && text2) { // We still have both chains. var string1 = isString(text1) ? text1 : text1.messageText; @@ -3446,6 +3396,14 @@ var ts; return moduleResolution; } ts.getEmitModuleResolutionKind = getEmitModuleResolutionKind; + function unreachableCodeIsError(options) { + return options.allowUnreachableCode === false; + } + ts.unreachableCodeIsError = unreachableCodeIsError; + function unusedLabelIsError(options) { + return options.allowUnusedLabels === false; + } + ts.unusedLabelIsError = unusedLabelIsError; function getAreDeclarationMapsEnabled(options) { return !!(options.declaration && options.declarationMap); } @@ -3464,7 +3422,7 @@ var ts; } ts.getEmitDeclarations = getEmitDeclarations; function getStrictOptionValue(compilerOptions, flag) { - return compilerOptions[flag] === undefined ? compilerOptions.strict : compilerOptions[flag]; + return compilerOptions[flag] === undefined ? !!compilerOptions.strict : !!compilerOptions[flag]; } ts.getStrictOptionValue = getStrictOptionValue; function hasZeroOrOneAsteriskCharacter(str) { @@ -3947,6 +3905,23 @@ var ts; return startsWith(str, prefix) ? str.substr(prefix.length) : str; } ts.removePrefix = removePrefix; + function tryRemovePrefix(str, prefix) { + return startsWith(str, prefix) ? str.substring(prefix.length) : undefined; + } + ts.tryRemovePrefix = tryRemovePrefix; + function tryRemoveDirectoryPrefix(path, dirPath) { + var a = tryRemovePrefix(path, dirPath); + if (a === undefined) + return undefined; + switch (a.charCodeAt(0)) { + case 47 /* slash */: + case 92 /* backslash */: + return a.slice(1); + default: + return undefined; + } + } + ts.tryRemoveDirectoryPrefix = tryRemoveDirectoryPrefix; function endsWith(str, suffix) { var expectedPos = str.length - suffix.length; return expectedPos >= 0 && str.indexOf(suffix, expectedPos) === expectedPos; @@ -3956,6 +3931,10 @@ var ts; return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : str; } ts.removeSuffix = removeSuffix; + function tryRemoveSuffix(str, suffix) { + return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : undefined; + } + ts.tryRemoveSuffix = tryRemoveSuffix; function stringContains(str, substring) { return str.indexOf(substring) !== -1; } @@ -3989,7 +3968,7 @@ var ts; /** * Matches any single directory segment unless it is the last segment and a .min.js file * Breakdown: - * [^./] # matches everything up to the first . character (excluding directory seperators) + * [^./] # matches everything up to the first . character (excluding directory separators) * (\\.(?!min\\.js$))? # matches . characters but not if they are part of the .min.js file extension */ singleAsteriskRegexFragment: "([^./]|(\\.(?!min\\.js$))?)*", @@ -4051,7 +4030,7 @@ var ts; var subpattern = ""; var hasWrittenComponent = false; var components = getNormalizedPathComponents(spec, basePath); - var lastComponent = lastOrUndefined(components); + var lastComponent = last(components); if (usage !== "exclude" && lastComponent === "**") { return undefined; } @@ -4115,6 +4094,7 @@ var ts; function replaceWildcardCharacter(match, singleAsteriskRegexFragment) { return match === "*" ? singleAsteriskRegexFragment : match === "?" ? "[^/]" : "\\" + match; } + /** @param path directory of the tsconfig.json */ function getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { path = normalizePath(path); currentDirectory = normalizePath(currentDirectory); @@ -4128,14 +4108,18 @@ var ts; }; } ts.getFileMatcherPatterns = getFileMatcherPatterns; + function getRegexFromPattern(pattern, useCaseSensitiveFileNames) { + return new RegExp(pattern, useCaseSensitiveFileNames ? "" : "i"); + } + ts.getRegexFromPattern = getRegexFromPattern; + /** @param path directory of the tsconfig.json */ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries) { path = normalizePath(path); currentDirectory = normalizePath(currentDirectory); var patterns = getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory); - var regexFlag = useCaseSensitiveFileNames ? "" : "i"; - var includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(function (pattern) { return new RegExp(pattern, regexFlag); }); - var includeDirectoryRegex = patterns.includeDirectoryPattern && new RegExp(patterns.includeDirectoryPattern, regexFlag); - var excludeRegex = patterns.excludePattern && new RegExp(patterns.excludePattern, regexFlag); + var includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(function (pattern) { return getRegexFromPattern(pattern, useCaseSensitiveFileNames); }); + var includeDirectoryRegex = patterns.includeDirectoryPattern && getRegexFromPattern(patterns.includeDirectoryPattern, useCaseSensitiveFileNames); + var excludeRegex = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, useCaseSensitiveFileNames); // Associate an array of results with each include regex. This keeps results in order of the "include" order. // If there are no "includes", then just put everything in results[0]. var results = includeFileRegexes ? includeFileRegexes.map(function () { return []; }) : [[]]; @@ -4277,11 +4261,11 @@ var ts; return scriptKind === 1 /* JS */ || scriptKind === 2 /* JSX */; } function hasJavaScriptFileExtension(fileName) { - return forEach(ts.supportedJavascriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); + return some(ts.supportedJavascriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); } ts.hasJavaScriptFileExtension = hasJavaScriptFileExtension; function hasTypeScriptFileExtension(fileName) { - return forEach(ts.supportedTypeScriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); + return some(ts.supportedTypeScriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); } ts.hasTypeScriptFileExtension = hasTypeScriptFileExtension; function isSupportedSourceFileName(fileName, compilerOptions, extraFileExtensions) { @@ -4487,7 +4471,8 @@ var ts; } Debug.fail = fail; function assertDefined(value, message) { - assert(value !== undefined && value !== null, message); + if (value === undefined || value === null) + return fail(message); return value; } Debug.assertDefined = assertDefined; @@ -4671,10 +4656,7 @@ var ts; */ function extensionFromPath(path) { var ext = tryGetExtensionFromPath(path); - if (ext !== undefined) { - return ext; - } - Debug.fail("File " + path + " has unknown extension."); + return ext !== undefined ? ext : Debug.fail("File " + path + " has unknown extension."); } ts.extensionFromPath = extensionFromPath; function isAnySupportedFileExtension(path) { @@ -5118,6 +5100,7 @@ var ts; return parseInt(version.substring(1, dot)); } ts.getNodeMajorVersion = getNodeMajorVersion; + // TODO: this is used as if it's certainly defined in many places. ts.sys = (function () { // NodeJS detects "\uFEFF" at the start of the string and *replaces* it with the actual // byte order mark from the specified encoding. Using any other byte order mark does @@ -5299,6 +5282,7 @@ var ts; return watchDirectoryRecursively(directoryName, callback); } watchDirectory(directoryName, callback); + return undefined; // TODO: GH#18217 }; } function createNonPollingWatchFile() { @@ -5330,7 +5314,7 @@ var ts; var watcher = fsWatchDirectory(dirName, function (_eventName, relativeFileName) { // When files are deleted from disk, the triggered "rename" event would have a relativefileName of "undefined" var fileName = !ts.isString(relativeFileName) - ? undefined + ? undefined // TODO: GH#18217 : ts.getNormalizedAbsolutePath(relativeFileName, dirName); // Some applications save a working file via rename operations var callbacks = fileWatcherCallbacks.get(toCanonicalName(fileName)); @@ -5579,6 +5563,7 @@ var ts; switch (entryKind) { case 0 /* File */: return stat.isFile(); case 1 /* Directory */: return stat.isDirectory(); + default: return false; } } catch (e) { @@ -5770,6 +5755,7 @@ var ts; The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type: diag(1064, ts.DiagnosticCategory.Error, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1064", "The return type of an async function or method must be the global Promise type."), In_ambient_enum_declarations_member_initializer_must_be_constant_expression: diag(1066, ts.DiagnosticCategory.Error, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."), Unexpected_token_A_constructor_method_accessor_or_property_was_expected: diag(1068, ts.DiagnosticCategory.Error, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."), + Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: diag(1069, ts.DiagnosticCategory.Error, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."), _0_modifier_cannot_appear_on_a_type_member: diag(1070, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_a_type_member_1070", "'{0}' modifier cannot appear on a type member."), _0_modifier_cannot_appear_on_an_index_signature: diag(1071, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_an_index_signature_1071", "'{0}' modifier cannot appear on an index signature."), A_0_modifier_cannot_be_used_with_an_import_declaration: diag(1079, ts.DiagnosticCategory.Error, "A_0_modifier_cannot_be_used_with_an_import_declaration_1079", "A '{0}' modifier cannot be used with an import declaration."), @@ -6221,6 +6207,7 @@ var ts; Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators: diag(2568, ts.DiagnosticCategory.Error, "Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators_2568", "Type '{0}' is not an array type. Use compiler option '--downlevelIteration' to allow iterating of iterators."), Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators: diag(2569, ts.DiagnosticCategory.Error, "Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569", "Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators."), Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await: diag(2570, ts.DiagnosticCategory.Error, "Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await_2570", "Property '{0}' does not exist on type '{1}'. Did you forget to use 'await'?"), + Object_is_of_type_unknown: diag(2571, ts.DiagnosticCategory.Error, "Object_is_of_type_unknown_2571", "Object is of type 'unknown'."), JSX_element_attributes_type_0_may_not_be_a_union_type: diag(2600, ts.DiagnosticCategory.Error, "JSX_element_attributes_type_0_may_not_be_a_union_type_2600", "JSX element attributes type '{0}' may not be a union type."), The_return_type_of_a_JSX_element_constructor_must_return_an_object_type: diag(2601, ts.DiagnosticCategory.Error, "The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601", "The return type of a JSX element constructor must return an object type."), JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist: diag(2602, ts.DiagnosticCategory.Error, "JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602", "JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."), @@ -6274,7 +6261,7 @@ var ts; _0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible: diag(2692, ts.DiagnosticCategory.Error, "_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692", "'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."), _0_only_refers_to_a_type_but_is_being_used_as_a_value_here: diag(2693, ts.DiagnosticCategory.Error, "_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693", "'{0}' only refers to a type, but is being used as a value here."), Namespace_0_has_no_exported_member_1: diag(2694, ts.DiagnosticCategory.Error, "Namespace_0_has_no_exported_member_1_2694", "Namespace '{0}' has no exported member '{1}'."), - Left_side_of_comma_operator_is_unused_and_has_no_side_effects: diag(2695, ts.DiagnosticCategory.Error, "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695", "Left side of comma operator is unused and has no side effects."), + Left_side_of_comma_operator_is_unused_and_has_no_side_effects: diag(2695, ts.DiagnosticCategory.Error, "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695", "Left side of comma operator is unused and has no side effects.", /*reportsUnnecessary*/ true), The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead: diag(2696, ts.DiagnosticCategory.Error, "The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696", "The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"), An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option: diag(2697, ts.DiagnosticCategory.Error, "An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697", "An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."), Spread_types_may_only_be_created_from_object_types: diag(2698, ts.DiagnosticCategory.Error, "Spread_types_may_only_be_created_from_object_types_2698", "Spread types may only be created from object types."), @@ -6304,6 +6291,7 @@ var ts; Cannot_invoke_an_object_which_is_possibly_undefined: diag(2722, ts.DiagnosticCategory.Error, "Cannot_invoke_an_object_which_is_possibly_undefined_2722", "Cannot invoke an object which is possibly 'undefined'."), Cannot_invoke_an_object_which_is_possibly_null_or_undefined: diag(2723, ts.DiagnosticCategory.Error, "Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723", "Cannot invoke an object which is possibly 'null' or 'undefined'."), Module_0_has_no_exported_member_1_Did_you_mean_2: diag(2724, ts.DiagnosticCategory.Error, "Module_0_has_no_exported_member_1_Did_you_mean_2_2724", "Module '{0}' has no exported member '{1}'. Did you mean '{2}'?"), + Class_name_cannot_be_Object_when_targeting_ES5_with_module_0: diag(2725, ts.DiagnosticCategory.Error, "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725", "Class name cannot be 'Object' when targeting ES5 with module {0}."), Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."), Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."), Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."), @@ -6602,6 +6590,7 @@ var ts; _0_is_declared_but_never_used: diag(6196, ts.DiagnosticCategory.Error, "_0_is_declared_but_never_used_6196", "'{0}' is declared but never used.", /*reportsUnnecessary*/ true), Include_modules_imported_with_json_extension: diag(6197, ts.DiagnosticCategory.Message, "Include_modules_imported_with_json_extension_6197", "Include modules imported with '.json' extension"), All_destructured_elements_are_unused: diag(6198, ts.DiagnosticCategory.Error, "All_destructured_elements_are_unused_6198", "All destructured elements are unused.", /*reportsUnnecessary*/ true), + All_variables_are_unused: diag(6199, ts.DiagnosticCategory.Error, "All_variables_are_unused_6199", "All variables are unused.", /*reportsUnnecessary*/ true), Projects_to_reference: diag(6300, ts.DiagnosticCategory.Message, "Projects_to_reference_6300", "Projects to reference"), Enable_project_compilation: diag(6302, ts.DiagnosticCategory.Message, "Enable_project_compilation_6302", "Enable project compilation"), Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0: diag(6202, ts.DiagnosticCategory.Error, "Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202", "Project references may not form a circular graph. Cycle detected: {0}"), @@ -6629,7 +6618,7 @@ var ts; Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: diag(7024, ts.DiagnosticCategory.Error, "Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024", "Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."), Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type: diag(7025, ts.DiagnosticCategory.Error, "Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025", "Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."), JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists: diag(7026, ts.DiagnosticCategory.Error, "JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026", "JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."), - Unreachable_code_detected: diag(7027, ts.DiagnosticCategory.Error, "Unreachable_code_detected_7027", "Unreachable code detected."), + Unreachable_code_detected: diag(7027, ts.DiagnosticCategory.Error, "Unreachable_code_detected_7027", "Unreachable code detected.", /*reportsUnnecessary*/ true), Unused_label: diag(7028, ts.DiagnosticCategory.Error, "Unused_label_7028", "Unused label.", /*reportsUnnecessary*/ true), Fallthrough_case_in_switch: diag(7029, ts.DiagnosticCategory.Error, "Fallthrough_case_in_switch_7029", "Fallthrough case in switch."), Not_all_code_paths_return_a_value: diag(7030, ts.DiagnosticCategory.Error, "Not_all_code_paths_return_a_value_7030", "Not all code paths return a value."), @@ -6710,6 +6699,7 @@ var ts; Implement_inherited_abstract_class: diag(90007, ts.DiagnosticCategory.Message, "Implement_inherited_abstract_class_90007", "Implement inherited abstract class"), Add_0_to_unresolved_variable: diag(90008, ts.DiagnosticCategory.Message, "Add_0_to_unresolved_variable_90008", "Add '{0}.' to unresolved variable"), Remove_destructuring: diag(90009, ts.DiagnosticCategory.Message, "Remove_destructuring_90009", "Remove destructuring"), + Remove_variable_statement: diag(90010, ts.DiagnosticCategory.Message, "Remove_variable_statement_90010", "Remove variable statement"), Import_0_from_module_1: diag(90013, ts.DiagnosticCategory.Message, "Import_0_from_module_1_90013", "Import '{0}' from module \"{1}\""), Change_0_to_1: diag(90014, ts.DiagnosticCategory.Message, "Change_0_to_1_90014", "Change '{0}' to '{1}'"), Add_0_to_existing_import_declaration_from_1: diag(90015, ts.DiagnosticCategory.Message, "Add_0_to_existing_import_declaration_from_1_90015", "Add '{0}' to existing import declaration from \"{1}\""), @@ -6779,6 +6769,9 @@ var ts; Add_missing_typeof: diag(95052, ts.DiagnosticCategory.Message, "Add_missing_typeof_95052", "Add missing 'typeof'"), Remove_unused_label: diag(95053, ts.DiagnosticCategory.Message, "Remove_unused_label_95053", "Remove unused label"), Remove_all_unused_labels: diag(95054, ts.DiagnosticCategory.Message, "Remove_all_unused_labels_95054", "Remove all unused labels"), + Convert_0_to_mapped_object_type: diag(95055, ts.DiagnosticCategory.Message, "Convert_0_to_mapped_object_type_95055", "Convert '{0}' to mapped object type"), + Convert_namespace_import_to_named_imports: diag(95056, ts.DiagnosticCategory.Message, "Convert_namespace_import_to_named_imports_95056", "Convert namespace import to named imports"), + Convert_named_imports_to_namespace_import: diag(95057, ts.DiagnosticCategory.Message, "Convert_named_imports_to_namespace_import_95057", "Convert named imports to namespace import"), }; })(ts || (ts = {})); var ts; @@ -6817,7 +6810,7 @@ var ts; "false": 86 /* FalseKeyword */, "finally": 87 /* FinallyKeyword */, "for": 88 /* ForKeyword */, - "from": 142 /* FromKeyword */, + "from": 143 /* FromKeyword */, "function": 89 /* FunctionKeyword */, "get": 125 /* GetKeyword */, "if": 90 /* IfKeyword */, @@ -6843,7 +6836,7 @@ var ts; "public": 114 /* PublicKeyword */, "readonly": 132 /* ReadonlyKeyword */, "require": 133 /* RequireKeyword */, - "global": 143 /* GlobalKeyword */, + "global": 144 /* GlobalKeyword */, "return": 96 /* ReturnKeyword */, "set": 136 /* SetKeyword */, "static": 115 /* StaticKeyword */, @@ -6859,6 +6852,7 @@ var ts; "typeof": 103 /* TypeOfKeyword */, "undefined": 140 /* UndefinedKeyword */, "unique": 141 /* UniqueKeyword */, + "unknown": 142 /* UnknownKeyword */, "var": 104 /* VarKeyword */, "void": 105 /* VoidKeyword */, "while": 106 /* WhileKeyword */, @@ -6866,7 +6860,7 @@ var ts; "yield": 116 /* YieldKeyword */, "async": 120 /* AsyncKeyword */, "await": 121 /* AwaitKeyword */, - "of": 144 /* OfKeyword */, + "of": 145 /* OfKeyword */, "{": 17 /* OpenBraceToken */, "}": 18 /* CloseBraceToken */, "(": 19 /* OpenParenToken */, @@ -7485,8 +7479,9 @@ var ts; } ts.isIdentifierText = isIdentifierText; // Creates a scanner over a (possibly unspecified) range of a piece of text. - function createScanner(languageVersion, skipTrivia, languageVariant, text, onError, start, length) { + function createScanner(languageVersion, skipTrivia, languageVariant, textInitial, onError, start, length) { if (languageVariant === void 0) { languageVariant = 0 /* Standard */; } + var text = textInitial; // Current position (end position of text of current token) var pos; // end of text @@ -7942,7 +7937,7 @@ var ts; var isPreviousTokenSeparator = false; while (true) { var ch = text.charCodeAt(pos); - // Numeric seperators are allowed anywhere within a numeric literal, except not at the beginning, or following another separator + // Numeric separators are allowed anywhere within a numeric literal, except not at the beginning, or following another separator if (ch === 95 /* _ */) { tokenFlags |= 512 /* ContainsSeparator */; if (separatorAllowed) { @@ -8758,7 +8753,7 @@ var ts; } ts.moduleResolutionIsEqualTo = moduleResolutionIsEqualTo; function packageIdIsEqual(a, b) { - return a === b || a && b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version; + return a === b || !!a && !!b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version; } function packageIdToString(_a) { var name = _a.name, subModuleName = _a.subModuleName, version = _a.version; @@ -8809,7 +8804,7 @@ var ts; } } function getSourceFileOfNode(node) { - while (node && node.kind !== 273 /* SourceFile */) { + while (node && node.kind !== 274 /* SourceFile */) { node = node.parent; } return node; @@ -8817,11 +8812,11 @@ var ts; ts.getSourceFileOfNode = getSourceFileOfNode; function isStatementWithLocals(node) { switch (node.kind) { - case 212 /* Block */: - case 240 /* CaseBlock */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 213 /* Block */: + case 241 /* CaseBlock */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: return true; } return false; @@ -8866,11 +8861,11 @@ var ts; } ts.getEndLinePosition = getEndLinePosition; /** - * Returns a value indicating whether a name is unique globally or within the current file + * Returns a value indicating whether a name is unique globally or within the current file. + * Note: This does not consider whether a name appears as a free identifier or not, so at the expression `x.y` this includes both `x` and `y`. */ - function isFileLevelUniqueName(currentSourceFile, name, hasGlobalName) { - return !(hasGlobalName && hasGlobalName(name)) - && !currentSourceFile.identifiers.has(name); + function isFileLevelUniqueName(sourceFile, name, hasGlobalName) { + return !(hasGlobalName && hasGlobalName(name)) && !sourceFile.identifiers.has(name); } ts.isFileLevelUniqueName = isFileLevelUniqueName; // Returns true if this node is missing from the actual source code. A 'missing' node is different @@ -8896,6 +8891,27 @@ var ts; return !nodeIsMissing(node); } ts.nodeIsPresent = nodeIsPresent; + /** + * Appends a range of value to begin of an array, returning the array. + * + * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array + * is created if `value` was appended. + * @param from The values to append to the array. If `from` is `undefined`, nothing is + * appended. If an element of `from` is `undefined`, that element is not appended. + */ + function prependStatements(to, from) { + if (from === undefined || from.length === 0) + return to; + if (to === undefined) + return from.slice(); + var prologue = to.length && isPrologueDirective(to[0]) && to.shift(); + to.unshift.apply(to, from); + if (prologue) { + to.unshift(prologue); + } + return to; + } + ts.prependStatements = prependStatements; /** * Determine if the given comment is a triple-slash * @@ -8938,7 +8954,7 @@ var ts; // the syntax list itself considers them as normal trivia. Therefore if we simply skip // trivia for the list, we may have skipped the JSDocComment as well. So we should process its // first child to determine the actual position of its first token. - if (node.kind === 298 /* SyntaxList */ && node._children.length > 0) { + if (node.kind === 299 /* SyntaxList */ && node._children.length > 0) { return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc); } return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.pos); @@ -8985,7 +9001,7 @@ var ts; */ function getEmitFlags(node) { var emitNode = node.emitNode; - return emitNode && emitNode.flags; + return emitNode && emitNode.flags || 0; } ts.getEmitFlags = getEmitFlags; function getLiteralText(node, sourceFile) { @@ -9019,7 +9035,7 @@ var ts; case 12 /* RegularExpressionLiteral */: return node.text; } - ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); + return ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); } ts.getLiteralText = getLiteralText; function getTextOfConstantValue(value) { @@ -9052,7 +9068,7 @@ var ts; ts.isBlockOrCatchScoped = isBlockOrCatchScoped; function isCatchClauseVariableDeclarationOrBindingElement(declaration) { var node = getRootDeclaration(declaration); - return node.kind === 231 /* VariableDeclaration */ && node.parent.kind === 268 /* CatchClause */; + return node.kind === 232 /* VariableDeclaration */ && node.parent.kind === 269 /* CatchClause */; } ts.isCatchClauseVariableDeclarationOrBindingElement = isCatchClauseVariableDeclarationOrBindingElement; function isAmbientModule(node) { @@ -9074,11 +9090,11 @@ var ts; ts.isShorthandAmbientModuleSymbol = isShorthandAmbientModuleSymbol; function isShorthandAmbientModule(node) { // The only kind of module that can be missing a body is a shorthand ambient module. - return node && node.kind === 238 /* ModuleDeclaration */ && (!node.body); + return node && node.kind === 239 /* ModuleDeclaration */ && (!node.body); } function isBlockScopedContainerTopLevel(node) { - return node.kind === 273 /* SourceFile */ || - node.kind === 238 /* ModuleDeclaration */ || + return node.kind === 274 /* SourceFile */ || + node.kind === 239 /* ModuleDeclaration */ || ts.isFunctionLike(node); } ts.isBlockScopedContainerTopLevel = isBlockScopedContainerTopLevel; @@ -9095,9 +9111,9 @@ var ts; // - defined in the top level scope and source file is an external module // - defined inside ambient module declaration located in the top level scope and source file not an external module switch (node.parent.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: return ts.isExternalModule(node.parent); - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return isAmbientModule(node.parent.parent) && ts.isSourceFile(node.parent.parent.parent) && !ts.isExternalModule(node.parent.parent.parent); } return false; @@ -9109,53 +9125,53 @@ var ts; ts.isEffectiveExternalModule = isEffectiveExternalModule; function isBlockScope(node, parentNode) { switch (node.kind) { - case 273 /* SourceFile */: - case 240 /* CaseBlock */: - case 268 /* CatchClause */: - case 238 /* ModuleDeclaration */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 274 /* SourceFile */: + case 241 /* CaseBlock */: + case 269 /* CatchClause */: + case 239 /* ModuleDeclaration */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return true; - case 212 /* Block */: + case 213 /* Block */: // function block is not considered block-scope container // see comment in binder.ts: bind(...), case for SyntaxKind.Block - return parentNode && !ts.isFunctionLike(parentNode); + return !ts.isFunctionLike(parentNode); } return false; } ts.isBlockScope = isBlockScope; function isDeclarationWithTypeParameters(node) { switch (node.kind) { - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 152 /* MethodSignature */: - case 159 /* IndexSignature */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 283 /* JSDocFunctionType */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 295 /* JSDocTemplateTag */: - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 291 /* JSDocCallbackTag */: - case 296 /* JSDocTypedefTag */: - case 287 /* JSDocSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 153 /* MethodSignature */: + case 160 /* IndexSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 284 /* JSDocFunctionType */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 296 /* JSDocTemplateTag */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 292 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 288 /* JSDocSignature */: return true; default: ts.assertTypeIsNever(node); @@ -9165,8 +9181,8 @@ var ts; ts.isDeclarationWithTypeParameters = isDeclarationWithTypeParameters; function isAnyImportSyntax(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: return true; default: return false; @@ -9175,15 +9191,15 @@ var ts; ts.isAnyImportSyntax = isAnyImportSyntax; function isLateVisibilityPaintedStatement(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 213 /* VariableStatement */: - case 234 /* ClassDeclaration */: - case 233 /* FunctionDeclaration */: - case 238 /* ModuleDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 214 /* VariableStatement */: + case 235 /* ClassDeclaration */: + case 234 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: return true; default: return false; @@ -9218,8 +9234,8 @@ var ts; case 9 /* StringLiteral */: case 8 /* NumericLiteral */: return escapeLeadingUnderscores(name.text); - case 146 /* ComputedPropertyName */: - return isStringOrNumericLiteral(name.expression) ? escapeLeadingUnderscores(name.expression.text) : undefined; + case 147 /* ComputedPropertyName */: + return isStringOrNumericLiteral(name.expression) ? escapeLeadingUnderscores(name.expression.text) : undefined; // TODO: GH#18217 Almost all uses of this assume the result to be defined! default: ts.Debug.assertNever(name); } @@ -9229,10 +9245,12 @@ var ts; switch (name.kind) { case 71 /* Identifier */: return getFullWidth(name) === 0 ? ts.idText(name) : getTextOfNode(name); - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return entityNameToString(name.left) + "." + entityNameToString(name.right); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return entityNameToString(name.expression) + "." + entityNameToString(name.name); + default: + throw ts.Debug.assertNever(name); } } ts.entityNameToString = entityNameToString; @@ -9251,11 +9269,6 @@ var ts; return ts.createFileDiagnostic(sourceFile, span.start, span.length, message, arg0, arg1, arg2, arg3); } ts.createDiagnosticForNodeInSourceFile = createDiagnosticForNodeInSourceFile; - function createDiagnosticForNodeSpan(sourceFile, startNode, endNode, message, arg0, arg1, arg2, arg3) { - var start = ts.skipTrivia(sourceFile.text, startNode.pos); - return ts.createFileDiagnostic(sourceFile, start, endNode.end - start, message, arg0, arg1, arg2, arg3); - } - ts.createDiagnosticForNodeSpan = createDiagnosticForNodeSpan; function createDiagnosticForNodeFromMessageChain(node, messageChain) { var sourceFile = getSourceFileOfNode(node); var span = getErrorSpanForNode(sourceFile, node); @@ -9278,7 +9291,7 @@ var ts; ts.getSpanOfTokenAtPosition = getSpanOfTokenAtPosition; function getErrorSpanForArrowFunction(sourceFile, node) { var pos = ts.skipTrivia(sourceFile.text, node.pos); - if (node.body && node.body.kind === 212 /* Block */) { + if (node.body && node.body.kind === 213 /* Block */) { var startLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.pos).line; var endLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.end).line; if (startLine < endLine) { @@ -9292,7 +9305,7 @@ var ts; function getErrorSpanForNode(sourceFile, node) { var errorNode = node; switch (node.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: var pos_1 = ts.skipTrivia(sourceFile.text, 0, /*stopAfterLineBreak*/ false); if (pos_1 === sourceFile.text.length) { // file is empty - return span for the beginning of the file @@ -9301,25 +9314,25 @@ var ts; return getSpanOfTokenAtPosition(sourceFile, pos_1); // This list is a work in progress. Add missing node kinds to improve their error // spans. - case 231 /* VariableDeclaration */: - case 181 /* BindingElement */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 272 /* EnumMember */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 236 /* TypeAliasDeclaration */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 232 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 273 /* EnumMember */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 237 /* TypeAliasDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: errorNode = node.name; break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return getErrorSpanForArrowFunction(sourceFile, node); } if (errorNode === undefined) { @@ -9352,7 +9365,7 @@ var ts; } ts.isJsonSourceFile = isJsonSourceFile; function isConstEnumDeclaration(node) { - return node.kind === 237 /* EnumDeclaration */ && isConst(node); + return node.kind === 238 /* EnumDeclaration */ && isConst(node); } ts.isConstEnumDeclaration = isConstEnumDeclaration; function isConst(node) { @@ -9365,21 +9378,21 @@ var ts; } ts.isLet = isLet; function isSuperCall(n) { - return n.kind === 186 /* CallExpression */ && n.expression.kind === 97 /* SuperKeyword */; + return n.kind === 187 /* CallExpression */ && n.expression.kind === 97 /* SuperKeyword */; } ts.isSuperCall = isSuperCall; function isImportCall(n) { - return n.kind === 186 /* CallExpression */ && n.expression.kind === 91 /* ImportKeyword */; + return n.kind === 187 /* CallExpression */ && n.expression.kind === 91 /* ImportKeyword */; } ts.isImportCall = isImportCall; function isLiteralImportTypeNode(n) { - return n.kind === 178 /* ImportType */ && - n.argument.kind === 177 /* LiteralType */ && + return n.kind === 179 /* ImportType */ && + n.argument.kind === 178 /* LiteralType */ && ts.isStringLiteral(n.argument.literal); } ts.isLiteralImportTypeNode = isLiteralImportTypeNode; function isPrologueDirective(node) { - return node.kind === 215 /* ExpressionStatement */ + return node.kind === 216 /* ExpressionStatement */ && node.expression.kind === 9 /* StringLiteral */; } ts.isPrologueDirective = isPrologueDirective; @@ -9388,11 +9401,11 @@ var ts; } ts.getLeadingCommentRangesOfNode = getLeadingCommentRangesOfNode; function getJSDocCommentRanges(node, text) { - var commentRanges = (node.kind === 148 /* Parameter */ || - node.kind === 147 /* TypeParameter */ || - node.kind === 191 /* FunctionExpression */ || - node.kind === 192 /* ArrowFunction */ || - node.kind === 190 /* ParenthesizedExpression */) ? + var commentRanges = (node.kind === 149 /* Parameter */ || + node.kind === 148 /* TypeParameter */ || + node.kind === 192 /* FunctionExpression */ || + node.kind === 193 /* ArrowFunction */ || + node.kind === 191 /* ParenthesizedExpression */) ? ts.concatenate(ts.getTrailingCommentRanges(text, node.pos), ts.getLeadingCommentRanges(text, node.pos)) : ts.getLeadingCommentRanges(text, node.pos); // True if the comment starts with '/**' but not if it is '/**/' @@ -9408,11 +9421,12 @@ var ts; ts.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*/; var defaultLibReferenceRegEx = /^(\/\/\/\s*/; function isPartOfTypeNode(node) { - if (160 /* FirstTypeNode */ <= node.kind && node.kind <= 178 /* LastTypeNode */) { + if (161 /* FirstTypeNode */ <= node.kind && node.kind <= 179 /* LastTypeNode */) { return true; } switch (node.kind) { case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 134 /* NumberKeyword */: case 137 /* StringKeyword */: case 122 /* BooleanKeyword */: @@ -9421,32 +9435,32 @@ var ts; case 131 /* NeverKeyword */: return true; case 105 /* VoidKeyword */: - return node.parent.kind !== 195 /* VoidExpression */; - case 206 /* ExpressionWithTypeArguments */: + return node.parent.kind !== 196 /* VoidExpression */; + case 207 /* ExpressionWithTypeArguments */: return !isExpressionWithTypeArgumentsInClassExtendsClause(node); - case 147 /* TypeParameter */: - return node.parent.kind === 176 /* MappedType */ || node.parent.kind === 171 /* InferType */; + case 148 /* TypeParameter */: + return node.parent.kind === 177 /* MappedType */ || node.parent.kind === 172 /* InferType */; // Identifiers and qualified names may be type nodes, depending on their context. Climb // above them to find the lowest container case 71 /* Identifier */: // If the identifier is the RHS of a qualified name, then it's a type iff its parent is. - if (node.parent.kind === 145 /* QualifiedName */ && node.parent.right === node) { + if (node.parent.kind === 146 /* QualifiedName */ && node.parent.right === node) { node = node.parent; } - else if (node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.name === node) { + else if (node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.name === node) { node = node.parent; } // At this point, node is either a qualified name or an identifier - ts.Debug.assert(node.kind === 71 /* Identifier */ || node.kind === 145 /* QualifiedName */ || node.kind === 184 /* PropertyAccessExpression */, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); + ts.Debug.assert(node.kind === 71 /* Identifier */ || node.kind === 146 /* QualifiedName */ || node.kind === 185 /* PropertyAccessExpression */, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); // falls through - case 145 /* QualifiedName */: - case 184 /* PropertyAccessExpression */: - case 99 /* ThisKeyword */: + case 146 /* QualifiedName */: + case 185 /* PropertyAccessExpression */: + case 99 /* ThisKeyword */: { var parent = node.parent; - if (parent.kind === 164 /* TypeQuery */) { + if (parent.kind === 165 /* TypeQuery */) { return false; } - if (parent.kind === 178 /* ImportType */) { + if (parent.kind === 179 /* ImportType */) { return !parent.isTypeOf; } // Do not recursively call isPartOfTypeNode on the parent. In the example: @@ -9455,41 +9469,42 @@ var ts; // // Calling isPartOfTypeNode would consider the qualified name A.B a type node. // Only C and A.B.C are type nodes. - if (160 /* FirstTypeNode */ <= parent.kind && parent.kind <= 178 /* LastTypeNode */) { + if (161 /* FirstTypeNode */ <= parent.kind && parent.kind <= 179 /* LastTypeNode */) { return true; } switch (parent.kind) { - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return !isExpressionWithTypeArgumentsInClassExtendsClause(parent); - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return node === parent.constraint; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 148 /* Parameter */: - case 231 /* VariableDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 149 /* Parameter */: + case 232 /* VariableDeclaration */: return node === parent.type; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return node === parent.type; - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: return node === parent.type; - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: return node === parent.type; - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: return ts.contains(parent.typeArguments, node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: // TODO (drosen): TaggedTemplateExpressions may eventually support type arguments. return false; } + } } return false; } @@ -9510,23 +9525,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return visitor(node); - case 240 /* CaseBlock */: - case 212 /* Block */: - case 216 /* IfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 225 /* WithStatement */: - case 226 /* SwitchStatement */: - case 265 /* CaseClause */: - case 266 /* DefaultClause */: - case 227 /* LabeledStatement */: - case 229 /* TryStatement */: - case 268 /* CatchClause */: + case 241 /* CaseBlock */: + case 213 /* Block */: + case 217 /* IfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 226 /* WithStatement */: + case 227 /* SwitchStatement */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: + case 228 /* LabeledStatement */: + case 230 /* TryStatement */: + case 269 /* CatchClause */: return ts.forEachChild(node, traverse); } } @@ -9536,26 +9551,26 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: visitor(node); var operand = node.expression; if (operand) { traverse(operand); } return; - case 237 /* EnumDeclaration */: - case 235 /* InterfaceDeclaration */: - case 238 /* ModuleDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 238 /* EnumDeclaration */: + case 236 /* InterfaceDeclaration */: + case 239 /* ModuleDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: // These are not allowed inside a generator now, but eventually they may be allowed // as local types. Regardless, any yield statements contained within them should be // skipped in this traversal. return; default: if (ts.isFunctionLike(node)) { - if (node.name && node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name && node.name.kind === 147 /* ComputedPropertyName */) { // Note that we will not include methods/accessors of a class because they would require // first descending into the class. This is by design. traverse(node.name.expression); @@ -9578,10 +9593,10 @@ var ts; * @param node The type node. */ function getRestParameterElementType(node) { - if (node && node.kind === 166 /* ArrayType */) { + if (node && node.kind === 167 /* ArrayType */) { return node.elementType; } - else if (node && node.kind === 161 /* TypeReference */) { + else if (node && node.kind === 162 /* TypeReference */) { return ts.singleOrUndefined(node.typeArguments); } else { @@ -9591,12 +9606,12 @@ var ts; ts.getRestParameterElementType = getRestParameterElementType; function getMembersOfDeclaration(node) { switch (node.kind) { - case 235 /* InterfaceDeclaration */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 165 /* TypeLiteral */: + case 236 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 166 /* TypeLiteral */: return node.members; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return node.properties; } } @@ -9604,14 +9619,14 @@ var ts; function isVariableLike(node) { if (node) { switch (node.kind) { - case 181 /* BindingElement */: - case 272 /* EnumMember */: - case 148 /* Parameter */: - case 269 /* PropertyAssignment */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 270 /* ShorthandPropertyAssignment */: - case 231 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 273 /* EnumMember */: + case 149 /* Parameter */: + case 270 /* PropertyAssignment */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 271 /* ShorthandPropertyAssignment */: + case 232 /* VariableDeclaration */: return true; } } @@ -9623,8 +9638,8 @@ var ts; } ts.isVariableLikeOrAccessor = isVariableLikeOrAccessor; function isVariableDeclarationInVariableStatement(node) { - return node.parent.kind === 232 /* VariableDeclarationList */ - && node.parent.parent.kind === 213 /* VariableStatement */; + return node.parent.kind === 233 /* VariableDeclarationList */ + && node.parent.parent.kind === 214 /* VariableStatement */; } ts.isVariableDeclarationInVariableStatement = isVariableDeclarationInVariableStatement; function isValidESSymbolDeclaration(node) { @@ -9635,13 +9650,13 @@ var ts; ts.isValidESSymbolDeclaration = isValidESSymbolDeclaration; function introducesArgumentsExoticObject(node) { switch (node.kind) { - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: return true; } return false; @@ -9652,7 +9667,7 @@ var ts; if (beforeUnwrapLabelCallback) { beforeUnwrapLabelCallback(node); } - if (node.statement.kind !== 227 /* LabeledStatement */) { + if (node.statement.kind !== 228 /* LabeledStatement */) { return node.statement; } node = node.statement; @@ -9660,17 +9675,17 @@ var ts; } ts.unwrapInnermostStatementOfLabel = unwrapInnermostStatementOfLabel; function isFunctionBlock(node) { - return node && node.kind === 212 /* Block */ && ts.isFunctionLike(node.parent); + return node && node.kind === 213 /* Block */ && ts.isFunctionLike(node.parent); } ts.isFunctionBlock = isFunctionBlock; function isObjectLiteralMethod(node) { - return node && node.kind === 153 /* MethodDeclaration */ && node.parent.kind === 183 /* ObjectLiteralExpression */; + return node && node.kind === 154 /* MethodDeclaration */ && node.parent.kind === 184 /* ObjectLiteralExpression */; } ts.isObjectLiteralMethod = isObjectLiteralMethod; function isObjectLiteralOrClassExpressionMethod(node) { - return node.kind === 153 /* MethodDeclaration */ && - (node.parent.kind === 183 /* ObjectLiteralExpression */ || - node.parent.kind === 204 /* ClassExpression */); + return node.kind === 154 /* MethodDeclaration */ && + (node.parent.kind === 184 /* ObjectLiteralExpression */ || + node.parent.kind === 205 /* ClassExpression */); } ts.isObjectLiteralOrClassExpressionMethod = isObjectLiteralOrClassExpressionMethod; function isIdentifierTypePredicate(predicate) { @@ -9682,31 +9697,35 @@ var ts; } ts.isThisTypePredicate = isThisTypePredicate; function getPropertyAssignment(objectLiteral, key, key2) { - return ts.filter(objectLiteral.properties, function (property) { - if (property.kind === 269 /* PropertyAssignment */) { + return objectLiteral.properties.filter(function (property) { + if (property.kind === 270 /* PropertyAssignment */) { var propName = getTextOfPropertyName(property.name); - return key === propName || (key2 && key2 === propName); + return key === propName || (!!key2 && key2 === propName); } + return false; }); } ts.getPropertyAssignment = getPropertyAssignment; function getTsConfigObjectLiteralExpression(tsConfigSourceFile) { if (tsConfigSourceFile && tsConfigSourceFile.statements.length) { var expression = tsConfigSourceFile.statements[0].expression; - return ts.isObjectLiteralExpression(expression) && expression; + return ts.tryCast(expression, ts.isObjectLiteralExpression); } } ts.getTsConfigObjectLiteralExpression = getTsConfigObjectLiteralExpression; function getTsConfigPropArrayElementValue(tsConfigSourceFile, propKey, elementValue) { - var jsonObjectLiteral = getTsConfigObjectLiteralExpression(tsConfigSourceFile); - return jsonObjectLiteral && - ts.firstDefined(getPropertyAssignment(jsonObjectLiteral, propKey), function (property) { - return ts.isArrayLiteralExpression(property.initializer) ? - ts.find(property.initializer.elements, function (element) { return ts.isStringLiteral(element) && element.text === elementValue; }) : - undefined; - }); + return ts.firstDefined(getTsConfigPropArray(tsConfigSourceFile, propKey), function (property) { + return ts.isArrayLiteralExpression(property.initializer) ? + ts.find(property.initializer.elements, function (element) { return ts.isStringLiteral(element) && element.text === elementValue; }) : + undefined; + }); } ts.getTsConfigPropArrayElementValue = getTsConfigPropArrayElementValue; + function getTsConfigPropArray(tsConfigSourceFile, propKey) { + var jsonObjectLiteral = getTsConfigObjectLiteralExpression(tsConfigSourceFile); + return jsonObjectLiteral ? getPropertyAssignment(jsonObjectLiteral, propKey) : ts.emptyArray; + } + ts.getTsConfigPropArray = getTsConfigPropArray; function getContainingFunction(node) { return ts.findAncestor(node.parent, ts.isFunctionLike); } @@ -9716,13 +9735,14 @@ var ts; } ts.getContainingClass = getContainingClass; function getThisContainer(node, includeArrowFunctions) { + ts.Debug.assert(node.kind !== 274 /* SourceFile */); while (true) { node = node.parent; if (!node) { - return undefined; + return ts.Debug.fail(); // If we never pass in a SourceFile, this should be unreachable, since we'll stop when we reach that. } switch (node.kind) { - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: // If the grandparent node is an object literal (as opposed to a class), // then the computed property is not a 'this' container. // A computed property name in a class needs to be a this container @@ -9737,9 +9757,9 @@ var ts; // the *body* of the container. node = node.parent; break; - case 149 /* Decorator */: + case 150 /* Decorator */: // Decorators are always applied outside of the body of a class or method. - if (node.parent.kind === 148 /* Parameter */ && ts.isClassElement(node.parent.parent)) { + if (node.parent.kind === 149 /* Parameter */ && ts.isClassElement(node.parent.parent)) { // If the decorator's parent is a Parameter, we resolve the this container from // the grandparent class declaration. node = node.parent.parent; @@ -9750,26 +9770,26 @@ var ts; node = node.parent; } break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: if (!includeArrowFunctions) { continue; } // falls through - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 238 /* ModuleDeclaration */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 237 /* EnumDeclaration */: - case 273 /* SourceFile */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 239 /* ModuleDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 238 /* EnumDeclaration */: + case 274 /* SourceFile */: return node; } } @@ -9779,9 +9799,9 @@ var ts; var container = getThisContainer(node, /*includeArrowFunctions*/ false); if (container) { switch (container.kind) { - case 154 /* Constructor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 155 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: return container; } } @@ -9803,27 +9823,27 @@ var ts; return node; } switch (node.kind) { - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: node = node.parent; break; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: if (!stopOnFunctions) { continue; } // falls through - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return node; - case 149 /* Decorator */: + case 150 /* Decorator */: // Decorators are always applied outside of the body of a class or method. - if (node.parent.kind === 148 /* Parameter */ && ts.isClassElement(node.parent.parent)) { + if (node.parent.kind === 149 /* Parameter */ && ts.isClassElement(node.parent.parent)) { // If the decorator's parent is a Parameter, we resolve the this container from // the grandparent class declaration. node = node.parent.parent; @@ -9839,14 +9859,14 @@ var ts; } ts.getSuperContainer = getSuperContainer; function getImmediatelyInvokedFunctionExpression(func) { - if (func.kind === 191 /* FunctionExpression */ || func.kind === 192 /* ArrowFunction */) { + if (func.kind === 192 /* FunctionExpression */ || func.kind === 193 /* ArrowFunction */) { var prev = func; var parent = func.parent; - while (parent.kind === 190 /* ParenthesizedExpression */) { + while (parent.kind === 191 /* ParenthesizedExpression */) { prev = parent; parent = parent.parent; } - if (parent.kind === 186 /* CallExpression */ && parent.expression === prev) { + if (parent.kind === 187 /* CallExpression */ && parent.expression === prev) { return parent; } } @@ -9857,7 +9877,7 @@ var ts; */ function isSuperProperty(node) { var kind = node.kind; - return (kind === 184 /* PropertyAccessExpression */ || kind === 185 /* ElementAccessExpression */) + return (kind === 185 /* PropertyAccessExpression */ || kind === 186 /* ElementAccessExpression */) && node.expression.kind === 97 /* SuperKeyword */; } ts.isSuperProperty = isSuperProperty; @@ -9866,20 +9886,20 @@ var ts; */ function isThisProperty(node) { var kind = node.kind; - return (kind === 184 /* PropertyAccessExpression */ || kind === 185 /* ElementAccessExpression */) + return (kind === 185 /* PropertyAccessExpression */ || kind === 186 /* ElementAccessExpression */) && node.expression.kind === 99 /* ThisKeyword */; } ts.isThisProperty = isThisProperty; function getEntityNameFromTypeNode(node) { switch (node.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return node.typeName; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return isEntityNameExpression(node.expression) ? node.expression : undefined; case 71 /* Identifier */: - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return node; } return undefined; @@ -9887,10 +9907,10 @@ var ts; ts.getEntityNameFromTypeNode = getEntityNameFromTypeNode; function getInvokedExpression(node) { switch (node.kind) { - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return node.tag; - case 256 /* JsxOpeningElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: return node.tagName; default: return node.expression; @@ -9899,53 +9919,55 @@ var ts; ts.getInvokedExpression = getInvokedExpression; function nodeCanBeDecorated(node, parent, grandparent) { switch (node.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: // classes are valid targets return true; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: // property declarations are valid if their parent is a class declaration. - return parent.kind === 234 /* ClassDeclaration */; - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 153 /* MethodDeclaration */: + return parent.kind === 235 /* ClassDeclaration */; + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 154 /* MethodDeclaration */: // if this method has a body and its parent is a class declaration, this is a valid target. return node.body !== undefined - && parent.kind === 234 /* ClassDeclaration */; - case 148 /* Parameter */: + && parent.kind === 235 /* ClassDeclaration */; + case 149 /* Parameter */: // if the parameter's parent has a body and its grandparent is a class declaration, this is a valid target; return parent.body !== undefined - && (parent.kind === 154 /* Constructor */ - || parent.kind === 153 /* MethodDeclaration */ - || parent.kind === 156 /* SetAccessor */) - && grandparent.kind === 234 /* ClassDeclaration */; + && (parent.kind === 155 /* Constructor */ + || parent.kind === 154 /* MethodDeclaration */ + || parent.kind === 157 /* SetAccessor */) + && grandparent.kind === 235 /* ClassDeclaration */; } return false; } ts.nodeCanBeDecorated = nodeCanBeDecorated; function nodeIsDecorated(node, parent, grandparent) { return node.decorators !== undefined - && nodeCanBeDecorated(node, parent, grandparent); + && nodeCanBeDecorated(node, parent, grandparent); // TODO: GH#18217 } ts.nodeIsDecorated = nodeIsDecorated; function nodeOrChildIsDecorated(node, parent, grandparent) { - return nodeIsDecorated(node, parent, grandparent) || childIsDecorated(node, parent); + return nodeIsDecorated(node, parent, grandparent) || childIsDecorated(node, parent); // TODO: GH#18217 } ts.nodeOrChildIsDecorated = nodeOrChildIsDecorated; function childIsDecorated(node, parent) { switch (node.kind) { - case 234 /* ClassDeclaration */: - return ts.forEach(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); - case 153 /* MethodDeclaration */: - case 156 /* SetAccessor */: - return ts.forEach(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); + case 235 /* ClassDeclaration */: + return ts.some(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); // TODO: GH#18217 + case 154 /* MethodDeclaration */: + case 157 /* SetAccessor */: + return ts.some(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); // TODO: GH#18217 + default: + return false; } } ts.childIsDecorated = childIsDecorated; function isJSXTagName(node) { var parent = node.parent; - if (parent.kind === 256 /* JsxOpeningElement */ || - parent.kind === 255 /* JsxSelfClosingElement */ || - parent.kind === 257 /* JsxClosingElement */) { + if (parent.kind === 257 /* JsxOpeningElement */ || + parent.kind === 256 /* JsxSelfClosingElement */ || + parent.kind === 258 /* JsxClosingElement */) { return parent.tagName === node; } return false; @@ -9958,45 +9980,45 @@ var ts; case 101 /* TrueKeyword */: case 86 /* FalseKeyword */: case 12 /* RegularExpressionLiteral */: - case 182 /* ArrayLiteralExpression */: - case 183 /* ObjectLiteralExpression */: - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 188 /* TaggedTemplateExpression */: - case 207 /* AsExpression */: - case 189 /* TypeAssertionExpression */: - case 208 /* NonNullExpression */: - case 190 /* ParenthesizedExpression */: - case 191 /* FunctionExpression */: - case 204 /* ClassExpression */: - case 192 /* ArrowFunction */: - case 195 /* VoidExpression */: - case 193 /* DeleteExpression */: - case 194 /* TypeOfExpression */: - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: - case 199 /* BinaryExpression */: - case 200 /* ConditionalExpression */: - case 203 /* SpreadElement */: - case 201 /* TemplateExpression */: + case 183 /* ArrayLiteralExpression */: + case 184 /* ObjectLiteralExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 189 /* TaggedTemplateExpression */: + case 208 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 209 /* NonNullExpression */: + case 191 /* ParenthesizedExpression */: + case 192 /* FunctionExpression */: + case 205 /* ClassExpression */: + case 193 /* ArrowFunction */: + case 196 /* VoidExpression */: + case 194 /* DeleteExpression */: + case 195 /* TypeOfExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: + case 200 /* BinaryExpression */: + case 201 /* ConditionalExpression */: + case 204 /* SpreadElement */: + case 202 /* TemplateExpression */: case 13 /* NoSubstitutionTemplateLiteral */: - case 205 /* OmittedExpression */: - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: - case 258 /* JsxFragment */: - case 202 /* YieldExpression */: - case 196 /* AwaitExpression */: - case 209 /* MetaProperty */: + case 206 /* OmittedExpression */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: + case 259 /* JsxFragment */: + case 203 /* YieldExpression */: + case 197 /* AwaitExpression */: + case 210 /* MetaProperty */: return true; - case 145 /* QualifiedName */: - while (node.parent.kind === 145 /* QualifiedName */) { + case 146 /* QualifiedName */: + while (node.parent.kind === 146 /* QualifiedName */) { node = node.parent; } - return node.parent.kind === 164 /* TypeQuery */ || isJSXTagName(node); + return node.parent.kind === 165 /* TypeQuery */ || isJSXTagName(node); case 71 /* Identifier */: - if (node.parent.kind === 164 /* TypeQuery */ || isJSXTagName(node)) { + if (node.parent.kind === 165 /* TypeQuery */ || isJSXTagName(node)) { return true; } // falls through @@ -10012,47 +10034,47 @@ var ts; function isInExpressionContext(node) { var parent = node.parent; switch (parent.kind) { - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 272 /* EnumMember */: - case 269 /* PropertyAssignment */: - case 181 /* BindingElement */: + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 273 /* EnumMember */: + case 270 /* PropertyAssignment */: + case 182 /* BindingElement */: return parent.initializer === node; - case 215 /* ExpressionStatement */: - case 216 /* IfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 224 /* ReturnStatement */: - case 225 /* WithStatement */: - case 226 /* SwitchStatement */: - case 265 /* CaseClause */: - case 228 /* ThrowStatement */: + case 216 /* ExpressionStatement */: + case 217 /* IfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 225 /* ReturnStatement */: + case 226 /* WithStatement */: + case 227 /* SwitchStatement */: + case 266 /* CaseClause */: + case 229 /* ThrowStatement */: return parent.expression === node; - case 219 /* ForStatement */: + case 220 /* ForStatement */: var forStatement = parent; - return (forStatement.initializer === node && forStatement.initializer.kind !== 232 /* VariableDeclarationList */) || + return (forStatement.initializer === node && forStatement.initializer.kind !== 233 /* VariableDeclarationList */) || forStatement.condition === node || forStatement.incrementor === node; - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: var forInStatement = parent; - return (forInStatement.initializer === node && forInStatement.initializer.kind !== 232 /* VariableDeclarationList */) || + return (forInStatement.initializer === node && forInStatement.initializer.kind !== 233 /* VariableDeclarationList */) || forInStatement.expression === node; - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: return node === parent.expression; - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return node === parent.expression; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return node === parent.expression; - case 149 /* Decorator */: - case 264 /* JsxExpression */: - case 263 /* JsxSpreadAttribute */: - case 271 /* SpreadAssignment */: + case 150 /* Decorator */: + case 265 /* JsxExpression */: + case 264 /* JsxSpreadAttribute */: + case 272 /* SpreadAssignment */: return true; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return parent.expression === node && isExpressionWithTypeArgumentsInClassExtendsClause(parent); default: return isExpressionNode(parent); @@ -10060,7 +10082,7 @@ var ts; } ts.isInExpressionContext = isInExpressionContext; function isExternalModuleImportEqualsDeclaration(node) { - return node.kind === 242 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 253 /* ExternalModuleReference */; + return node.kind === 243 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 254 /* ExternalModuleReference */; } ts.isExternalModuleImportEqualsDeclaration = isExternalModuleImportEqualsDeclaration; function getExternalModuleImportEqualsDeclarationExpression(node) { @@ -10069,7 +10091,7 @@ var ts; } ts.getExternalModuleImportEqualsDeclarationExpression = getExternalModuleImportEqualsDeclarationExpression; function isInternalModuleImportEqualsDeclaration(node) { - return node.kind === 242 /* ImportEqualsDeclaration */ && node.moduleReference.kind !== 253 /* ExternalModuleReference */; + return node.kind === 243 /* ImportEqualsDeclaration */ && node.moduleReference.kind !== 254 /* ExternalModuleReference */; } ts.isInternalModuleImportEqualsDeclaration = isInternalModuleImportEqualsDeclaration; function isSourceFileJavaScript(file) { @@ -10081,15 +10103,15 @@ var ts; } ts.isSourceFileNotJavaScript = isSourceFileNotJavaScript; function isInJavaScriptFile(node) { - return node && !!(node.flags & 65536 /* JavaScriptFile */); + return !!node && !!(node.flags & 65536 /* JavaScriptFile */); } ts.isInJavaScriptFile = isInJavaScriptFile; function isInJsonFile(node) { - return node && !!(node.flags & 16777216 /* JsonFile */); + return !!node && !!(node.flags & 16777216 /* JsonFile */); } ts.isInJsonFile = isInJsonFile; function isInJSDoc(node) { - return node && !!(node.flags & 2097152 /* JSDoc */); + return !!node && !!(node.flags & 2097152 /* JSDoc */); } ts.isInJSDoc = isInJSDoc; function isJSDocIndexSignature(node) { @@ -10101,7 +10123,7 @@ var ts; } ts.isJSDocIndexSignature = isJSDocIndexSignature; function isRequireCall(callExpression, checkArgumentIsStringLiteralLike) { - if (callExpression.kind !== 186 /* CallExpression */) { + if (callExpression.kind !== 187 /* CallExpression */) { return false; } var _a = callExpression, expression = _a.expression, args = _a.arguments; @@ -10123,30 +10145,49 @@ var ts; return getSourceTextOfNodeFromSourceFile(sourceFile, str).charCodeAt(0) === 34 /* doubleQuote */; } ts.isStringDoubleQuoted = isStringDoubleQuoted; - /** - * Given the symbol of a declaration, find the symbol of its Javascript container-like initializer, - * if it has one. Otherwise just return the original symbol. - * - * Container-like initializer behave like namespaces, so the binder needs to add contained symbols - * to their exports. An example is a function with assignments to `this` inside. - */ - function getJSInitializerSymbol(symbol) { - if (!symbol || !symbol.valueDeclaration) { - return symbol; + function getDeclarationOfJSInitializer(node) { + if (!isInJavaScriptFile(node) || !node.parent) { + return undefined; } - var declaration = symbol.valueDeclaration; - var e = getDeclaredJavascriptInitializer(declaration) || getAssignedJavascriptInitializer(declaration); - return e && e.symbol ? e.symbol : symbol; - } - ts.getJSInitializerSymbol = getJSInitializerSymbol; - /** Get the declaration initializer, when the initializer is container-like (See getJavascriptInitializer) */ - function getDeclaredJavascriptInitializer(node) { - if (node && ts.isVariableDeclaration(node) && node.initializer) { - return getJavascriptInitializer(node.initializer, /*isPrototypeAssignment*/ false) || - ts.isIdentifier(node.name) && getDefaultedJavascriptInitializer(node.name, node.initializer, /*isPrototypeAssignment*/ false); + var name; + var decl; + if (ts.isVariableDeclaration(node.parent) && node.parent.initializer === node) { + name = node.parent.name; + decl = node.parent; } + else if (ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58 /* EqualsToken */ && node.parent.right === node) { + name = node.parent.left; + decl = name; + } + else if (ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 54 /* BarBarToken */) { + if (ts.isVariableDeclaration(node.parent.parent) && node.parent.parent.initializer === node.parent) { + name = node.parent.parent.name; + decl = node.parent.parent; + } + else if (ts.isBinaryExpression(node.parent.parent) && node.parent.parent.operatorToken.kind === 58 /* EqualsToken */ && node.parent.parent.right === node.parent) { + name = node.parent.parent.left; + decl = name; + } + if (!name || !isEntityNameExpression(name) || !isSameEntityName(name, node.parent.left)) { + return undefined; + } + } + if (!name || !getJavascriptInitializer(node, isPrototypeAccess(name))) { + return undefined; + } + return decl; } - ts.getDeclaredJavascriptInitializer = getDeclaredJavascriptInitializer; + ts.getDeclarationOfJSInitializer = getDeclarationOfJSInitializer; + /** Get the initializer, taking into account defaulted Javascript initializers */ + function getEffectiveInitializer(node) { + if (isInJavaScriptFile(node) && node.initializer && + ts.isBinaryExpression(node.initializer) && node.initializer.operatorToken.kind === 54 /* BarBarToken */ && + node.name && isEntityNameExpression(node.name) && isSameEntityName(node.name, node.initializer.left)) { + return node.initializer.right; + } + return node.initializer; + } + ts.getEffectiveInitializer = getEffectiveInitializer; /** * Get the assignment 'initializer' -- the righthand side-- when the initializer is container-like (See getJavascriptInitializer). * We treat the right hand side of assignments with container-like initalizers as declarations. @@ -10172,11 +10213,11 @@ var ts; function getJavascriptInitializer(initializer, isPrototypeAssignment) { if (ts.isCallExpression(initializer)) { var e = skipParentheses(initializer.expression); - return e.kind === 191 /* FunctionExpression */ || e.kind === 192 /* ArrowFunction */ ? initializer : undefined; + return e.kind === 192 /* FunctionExpression */ || e.kind === 193 /* ArrowFunction */ ? initializer : undefined; } - if (initializer.kind === 191 /* FunctionExpression */ || - initializer.kind === 204 /* ClassExpression */ || - initializer.kind === 192 /* ArrowFunction */) { + if (initializer.kind === 192 /* FunctionExpression */ || + initializer.kind === 205 /* ClassExpression */ || + initializer.kind === 193 /* ArrowFunction */) { return initializer; } if (ts.isObjectLiteralExpression(initializer) && (initializer.properties.length === 0 || isPrototypeAssignment)) { @@ -10198,6 +10239,13 @@ var ts; return e; } } + function isDefaultedJavascriptInitializer(node) { + var name = ts.isVariableDeclaration(node.parent) ? node.parent.name : + ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58 /* EqualsToken */ ? node.parent.left : + undefined; + return name && getJavascriptInitializer(node.right, isPrototypeAccess(name)) && isEntityNameExpression(name) && isSameEntityName(name, node.left); + } + ts.isDefaultedJavascriptInitializer = isDefaultedJavascriptInitializer; /** Given a Javascript initializer, return the outer name. That is, the lhs of the assignment or the declaration name. */ function getOuterNameOfJsInitializer(node) { if (ts.isBinaryExpression(node.parent)) { @@ -10307,7 +10355,7 @@ var ts; ts.isPrototypePropertyAssignment = isPrototypePropertyAssignment; function isSpecialPropertyDeclaration(expr) { return isInJavaScriptFile(expr) && - expr.parent && expr.parent.kind === 215 /* ExpressionStatement */ && + expr.parent && expr.parent.kind === 216 /* ExpressionStatement */ && !!ts.getJSDocTypeTag(expr.parent); } ts.isSpecialPropertyDeclaration = isSpecialPropertyDeclaration; @@ -10317,14 +10365,14 @@ var ts; ts.importFromModuleSpecifier = importFromModuleSpecifier; function tryGetImportFromModuleSpecifier(node) { switch (node.parent.kind) { - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: return node.parent; - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: return node.parent.parent; - case 186 /* CallExpression */: + case 187 /* CallExpression */: return node.parent; - case 177 /* LiteralType */: + case 178 /* LiteralType */: ts.Debug.assert(ts.isStringLiteral(node)); return ts.tryCast(node.parent.parent, ts.isImportTypeNode); default: @@ -10334,12 +10382,12 @@ var ts; ts.tryGetImportFromModuleSpecifier = tryGetImportFromModuleSpecifier; function getExternalModuleName(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: return node.moduleSpecifier; - case 242 /* ImportEqualsDeclaration */: - return node.moduleReference.kind === 253 /* ExternalModuleReference */ ? node.moduleReference.expression : undefined; - case 178 /* ImportType */: + case 243 /* ImportEqualsDeclaration */: + return node.moduleReference.kind === 254 /* ExternalModuleReference */ ? node.moduleReference.expression : undefined; + case 179 /* ImportType */: return isLiteralImportTypeNode(node) ? node.argument.literal : undefined; default: return ts.Debug.assertNever(node); @@ -10348,11 +10396,11 @@ var ts; ts.getExternalModuleName = getExternalModuleName; function getNamespaceDeclarationNode(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return node.importClause && ts.tryCast(node.importClause.namedBindings, ts.isNamespaceImport); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return node; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return undefined; default: return ts.Debug.assertNever(node); @@ -10360,19 +10408,19 @@ var ts; } ts.getNamespaceDeclarationNode = getNamespaceDeclarationNode; function isDefaultImport(node) { - return node.kind === 243 /* ImportDeclaration */ && node.importClause && !!node.importClause.name; + return node.kind === 244 /* ImportDeclaration */ && !!node.importClause && !!node.importClause.name; } ts.isDefaultImport = isDefaultImport; function hasQuestionToken(node) { if (node) { switch (node.kind) { - case 148 /* Parameter */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 270 /* ShorthandPropertyAssignment */: - case 269 /* PropertyAssignment */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 149 /* Parameter */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 271 /* ShorthandPropertyAssignment */: + case 270 /* PropertyAssignment */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return node.questionToken !== undefined; } } @@ -10380,14 +10428,14 @@ var ts; } ts.hasQuestionToken = hasQuestionToken; function isJSDocConstructSignature(node) { - return node.kind === 283 /* JSDocFunctionType */ && + return node.kind === 284 /* JSDocFunctionType */ && node.parameters.length > 0 && node.parameters[0].name && node.parameters[0].name.escapedText === "new"; } ts.isJSDocConstructSignature = isJSDocConstructSignature; function isJSDocTypeAlias(node) { - return node.kind === 296 /* JSDocTypedefTag */ || node.kind === 291 /* JSDocCallbackTag */; + return node.kind === 297 /* JSDocTypedefTag */ || node.kind === 292 /* JSDocCallbackTag */; } ts.isJSDocTypeAlias = isJSDocTypeAlias; function isTypeAlias(node) { @@ -10397,38 +10445,39 @@ var ts; function getSourceOfAssignment(node) { return ts.isExpressionStatement(node) && node.expression && ts.isBinaryExpression(node.expression) && - node.expression.operatorToken.kind === 58 /* EqualsToken */ && - node.expression.right; + node.expression.operatorToken.kind === 58 /* EqualsToken */ + ? node.expression.right + : undefined; } function getSourceOfDefaultedAssignment(node) { return ts.isExpressionStatement(node) && ts.isBinaryExpression(node.expression) && getSpecialPropertyAssignmentKind(node.expression) !== 0 /* None */ && ts.isBinaryExpression(node.expression.right) && - node.expression.right.operatorToken.kind === 54 /* BarBarToken */ && - node.expression.right.right; + node.expression.right.operatorToken.kind === 54 /* BarBarToken */ + ? node.expression.right.right + : undefined; } function getSingleInitializerOfVariableStatementOrPropertyDeclaration(node) { switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: var v = getSingleVariableOfVariableStatement(node); return v && v.initializer; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return node.initializer; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return node.initializer; } } function getSingleVariableOfVariableStatement(node) { - return ts.isVariableStatement(node) && - node.declarationList.declarations.length > 0 && - node.declarationList.declarations[0]; + return ts.isVariableStatement(node) ? ts.firstOrUndefined(node.declarationList.declarations) : undefined; } function getNestedModuleDeclaration(node) { - return node.kind === 238 /* ModuleDeclaration */ && + return ts.isModuleDeclaration(node) && node.body && - node.body.kind === 238 /* ModuleDeclaration */ && - node.body; + node.body.kind === 239 /* ModuleDeclaration */ + ? node.body + : undefined; } function getJSDocCommentsAndTags(hostNode) { var result; @@ -10438,7 +10487,7 @@ var ts; var parent = node.parent; if (!parent) return; - if (parent.kind === 269 /* PropertyAssignment */ || parent.kind === 151 /* PropertyDeclaration */ || getNestedModuleDeclaration(parent)) { + if (parent.kind === 270 /* PropertyAssignment */ || parent.kind === 152 /* PropertyDeclaration */ || getNestedModuleDeclaration(parent)) { getJSDocCommentsAndTagsWorker(parent); } // Try to recognize this pattern when node is initializer of variable declaration and JSDoc comments are on containing variable statement. @@ -10458,11 +10507,11 @@ var ts; } if (ts.isBinaryExpression(node) && node.operatorToken.kind === 58 /* EqualsToken */ || ts.isBinaryExpression(parent) && parent.operatorToken.kind === 58 /* EqualsToken */ || - node.kind === 184 /* PropertyAccessExpression */ && node.parent && node.parent.kind === 215 /* ExpressionStatement */) { + node.kind === 185 /* PropertyAccessExpression */ && node.parent && node.parent.kind === 216 /* ExpressionStatement */) { getJSDocCommentsAndTagsWorker(parent); } // Pull parameter comments from declaring function as well - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { result = ts.addRange(result, ts.getJSDocParameterTags(node)); } if (isVariableLike(node) && ts.hasInitializer(node) && node.initializer !== hostNode && ts.hasJSDocNodes(node.initializer)) { @@ -10517,12 +10566,12 @@ var ts; ts.getTypeParameterFromJsDoc = getTypeParameterFromJsDoc; function hasRestParameter(s) { var last = ts.lastOrUndefined(s.parameters); - return last && isRestParameter(last); + return !!last && isRestParameter(last); } ts.hasRestParameter = hasRestParameter; function isRestParameter(node) { var type = ts.isJSDocParameterTag(node) ? (node.typeExpression && node.typeExpression.type) : node.type; - return node.dotDotDotToken !== undefined || type && type.kind === 284 /* JSDocVariadicType */; + return node.dotDotDotToken !== undefined || !!type && type.kind === 285 /* JSDocVariadicType */; } ts.isRestParameter = isRestParameter; var AssignmentKind; @@ -10535,31 +10584,31 @@ var ts; var parent = node.parent; while (true) { switch (parent.kind) { - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var binaryOperator = parent.operatorToken.kind; return isAssignmentOperator(binaryOperator) && parent.left === node ? binaryOperator === 58 /* EqualsToken */ ? 1 /* Definite */ : 2 /* Compound */ : 0 /* None */; - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: var unaryOperator = parent.operator; return unaryOperator === 43 /* PlusPlusToken */ || unaryOperator === 44 /* MinusMinusToken */ ? 2 /* Compound */ : 0 /* None */; - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: return parent.initializer === node ? 1 /* Definite */ : 0 /* None */; - case 190 /* ParenthesizedExpression */: - case 182 /* ArrayLiteralExpression */: - case 203 /* SpreadElement */: - case 208 /* NonNullExpression */: + case 191 /* ParenthesizedExpression */: + case 183 /* ArrayLiteralExpression */: + case 204 /* SpreadElement */: + case 209 /* NonNullExpression */: node = parent; break; - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: if (parent.name !== node) { return 0 /* None */; } node = parent.parent; break; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: if (parent.name === node) { return 0 /* None */; } @@ -10586,22 +10635,22 @@ var ts; */ function isNodeWithPossibleHoistedDeclaration(node) { switch (node.kind) { - case 212 /* Block */: - case 213 /* VariableStatement */: - case 225 /* WithStatement */: - case 216 /* IfStatement */: - case 226 /* SwitchStatement */: - case 240 /* CaseBlock */: - case 265 /* CaseClause */: - case 266 /* DefaultClause */: - case 227 /* LabeledStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 229 /* TryStatement */: - case 268 /* CatchClause */: + case 213 /* Block */: + case 214 /* VariableStatement */: + case 226 /* WithStatement */: + case 217 /* IfStatement */: + case 227 /* SwitchStatement */: + case 241 /* CaseBlock */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: + case 228 /* LabeledStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 230 /* TryStatement */: + case 269 /* CatchClause */: return true; } return false; @@ -10618,15 +10667,15 @@ var ts; return node; } function walkUpParenthesizedTypes(node) { - return walkUp(node, 172 /* ParenthesizedType */); + return walkUp(node, 173 /* ParenthesizedType */); } ts.walkUpParenthesizedTypes = walkUpParenthesizedTypes; function walkUpParenthesizedExpressions(node) { - return walkUp(node, 190 /* ParenthesizedExpression */); + return walkUp(node, 191 /* ParenthesizedExpression */); } ts.walkUpParenthesizedExpressions = walkUpParenthesizedExpressions; function skipParentheses(node) { - while (node.kind === 190 /* ParenthesizedExpression */) { + while (node.kind === 191 /* ParenthesizedExpression */) { node = node.expression; } return node; @@ -10634,11 +10683,11 @@ var ts; ts.skipParentheses = skipParentheses; // a node is delete target iff. it is PropertyAccessExpression/ElementAccessExpression with parentheses skipped function isDeleteTarget(node) { - if (node.kind !== 184 /* PropertyAccessExpression */ && node.kind !== 185 /* ElementAccessExpression */) { + if (node.kind !== 185 /* PropertyAccessExpression */ && node.kind !== 186 /* ElementAccessExpression */) { return false; } node = walkUpParenthesizedExpressions(node.parent); - return node && node.kind === 193 /* DeleteExpression */; + return node && node.kind === 194 /* DeleteExpression */; } ts.isDeleteTarget = isDeleteTarget; function isNodeDescendantOf(node, ancestor) { @@ -10660,9 +10709,10 @@ var ts; switch (name.kind) { case 71 /* Identifier */: case 9 /* StringLiteral */: - case 8 /* NumericLiteral */: - if (ts.isDeclaration(name.parent)) { - return name.parent.name === name; + case 8 /* NumericLiteral */: { + var parent = name.parent; + if (ts.isDeclaration(parent)) { + return parent.name === name; } else if (ts.isQualifiedName(name.parent)) { var tag = name.parent.parent; @@ -10672,6 +10722,7 @@ var ts; var binExp = name.parent.parent; return ts.isBinaryExpression(binExp) && getSpecialPropertyAssignmentKind(binExp) !== 0 /* None */ && ts.getNameOfDeclaration(binExp) === name; } + } default: return false; } @@ -10679,7 +10730,7 @@ var ts; ts.isAnyDeclarationName = isAnyDeclarationName; function isLiteralComputedPropertyDeclarationName(node) { return (node.kind === 9 /* StringLiteral */ || node.kind === 8 /* NumericLiteral */) && - node.parent.kind === 146 /* ComputedPropertyName */ && + node.parent.kind === 147 /* ComputedPropertyName */ && ts.isDeclaration(node.parent.parent); } ts.isLiteralComputedPropertyDeclarationName = isLiteralComputedPropertyDeclarationName; @@ -10687,32 +10738,32 @@ var ts; function isIdentifierName(node) { var parent = node.parent; switch (parent.kind) { - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 272 /* EnumMember */: - case 269 /* PropertyAssignment */: - case 184 /* PropertyAccessExpression */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 273 /* EnumMember */: + case 270 /* PropertyAssignment */: + case 185 /* PropertyAccessExpression */: // Name in member declaration or property name in property access return parent.name === node; - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: // Name on right hand side of dot in a type query or type reference if (parent.right === node) { - while (parent.kind === 145 /* QualifiedName */) { + while (parent.kind === 146 /* QualifiedName */) { parent = parent.parent; } - return parent.kind === 164 /* TypeQuery */ || parent.kind === 161 /* TypeReference */; + return parent.kind === 165 /* TypeQuery */ || parent.kind === 162 /* TypeReference */; } return false; - case 181 /* BindingElement */: - case 247 /* ImportSpecifier */: + case 182 /* BindingElement */: + case 248 /* ImportSpecifier */: // Property name in binding element or import specifier return parent.propertyName === node; - case 251 /* ExportSpecifier */: - case 261 /* JsxAttribute */: + case 252 /* ExportSpecifier */: + case 262 /* JsxAttribute */: // Any name in an export specifier or JSX Attribute return true; } @@ -10728,13 +10779,13 @@ var ts; // export = // export default function isAliasSymbolDeclaration(node) { - return node.kind === 242 /* ImportEqualsDeclaration */ || - node.kind === 241 /* NamespaceExportDeclaration */ || - node.kind === 244 /* ImportClause */ && !!node.name || - node.kind === 245 /* NamespaceImport */ || - node.kind === 247 /* ImportSpecifier */ || - node.kind === 251 /* ExportSpecifier */ || - node.kind === 248 /* ExportAssignment */ && exportAssignmentIsAlias(node) || + return node.kind === 243 /* ImportEqualsDeclaration */ || + node.kind === 242 /* NamespaceExportDeclaration */ || + node.kind === 245 /* ImportClause */ && !!node.name || + node.kind === 246 /* NamespaceImport */ || + node.kind === 248 /* ImportSpecifier */ || + node.kind === 252 /* ExportSpecifier */ || + node.kind === 249 /* ExportAssignment */ && exportAssignmentIsAlias(node) || ts.isBinaryExpression(node) && getSpecialPropertyAssignmentKind(node) === 2 /* ModuleExports */; } ts.isAliasSymbolDeclaration = isAliasSymbolDeclaration; @@ -10795,11 +10846,11 @@ var ts; } ts.getAncestor = getAncestor; function isKeyword(token) { - return 72 /* FirstKeyword */ <= token && token <= 144 /* LastKeyword */; + return 72 /* FirstKeyword */ <= token && token <= 145 /* LastKeyword */; } ts.isKeyword = isKeyword; function isContextualKeyword(token) { - return 117 /* FirstContextualKeyword */ <= token && token <= 144 /* LastContextualKeyword */; + return 117 /* FirstContextualKeyword */ <= token && token <= 145 /* LastContextualKeyword */; } ts.isContextualKeyword = isContextualKeyword; function isNonContextualKeyword(token) { @@ -10829,14 +10880,14 @@ var ts; } var flags = 0 /* Normal */; switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: if (node.asteriskToken) { flags |= 1 /* Generator */; } // falls through - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: if (hasModifier(node, 256 /* Async */)) { flags |= 2 /* Async */; } @@ -10850,10 +10901,10 @@ var ts; ts.getFunctionFlags = getFunctionFlags; function isAsyncFunction(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: return node.body !== undefined && node.asteriskToken === undefined && hasModifier(node, 256 /* Async */); @@ -10876,11 +10927,11 @@ var ts; */ function hasDynamicName(declaration) { var name = ts.getNameOfDeclaration(declaration); - return name && isDynamicName(name); + return !!name && isDynamicName(name); } ts.hasDynamicName = hasDynamicName; function isDynamicName(name) { - return name.kind === 146 /* ComputedPropertyName */ && + return name.kind === 147 /* ComputedPropertyName */ && !isStringOrNumericLiteral(name.expression) && !isWellKnownSymbolSyntactically(name.expression); } @@ -10901,7 +10952,7 @@ var ts; if (name.kind === 9 /* StringLiteral */ || name.kind === 8 /* NumericLiteral */) { return escapeLeadingUnderscores(name.text); } - if (name.kind === 146 /* ComputedPropertyName */) { + if (name.kind === 147 /* ComputedPropertyName */) { var nameExpression = name.expression; if (isWellKnownSymbolSyntactically(nameExpression)) { return getPropertyNameForKnownSymbolName(ts.idText(nameExpression.name)); @@ -10954,11 +11005,11 @@ var ts; ts.isPushOrUnshiftIdentifier = isPushOrUnshiftIdentifier; function isParameterDeclaration(node) { var root = getRootDeclaration(node); - return root.kind === 148 /* Parameter */; + return root.kind === 149 /* Parameter */; } ts.isParameterDeclaration = isParameterDeclaration; function getRootDeclaration(node) { - while (node.kind === 181 /* BindingElement */) { + while (node.kind === 182 /* BindingElement */) { node = node.parent.parent; } return node; @@ -10966,15 +11017,15 @@ var ts; ts.getRootDeclaration = getRootDeclaration; function nodeStartsNewLexicalEnvironment(node) { var kind = node.kind; - return kind === 154 /* Constructor */ - || kind === 191 /* FunctionExpression */ - || kind === 233 /* FunctionDeclaration */ - || kind === 192 /* ArrowFunction */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */ - || kind === 238 /* ModuleDeclaration */ - || kind === 273 /* SourceFile */; + return kind === 155 /* Constructor */ + || kind === 192 /* FunctionExpression */ + || kind === 234 /* FunctionDeclaration */ + || kind === 193 /* ArrowFunction */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */ + || kind === 239 /* ModuleDeclaration */ + || kind === 274 /* SourceFile */; } ts.nodeStartsNewLexicalEnvironment = nodeStartsNewLexicalEnvironment; function nodeIsSynthesized(range) { @@ -10993,23 +11044,23 @@ var ts; })(Associativity = ts.Associativity || (ts.Associativity = {})); function getExpressionAssociativity(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 187 /* NewExpression */ && expression.arguments !== undefined; + var hasArguments = expression.kind === 188 /* NewExpression */ && expression.arguments !== undefined; return getOperatorAssociativity(expression.kind, operator, hasArguments); } ts.getExpressionAssociativity = getExpressionAssociativity; function getOperatorAssociativity(kind, operator, hasArguments) { switch (kind) { - case 187 /* NewExpression */: + case 188 /* NewExpression */: return hasArguments ? 0 /* Left */ : 1 /* Right */; - case 197 /* PrefixUnaryExpression */: - case 194 /* TypeOfExpression */: - case 195 /* VoidExpression */: - case 193 /* DeleteExpression */: - case 196 /* AwaitExpression */: - case 200 /* ConditionalExpression */: - case 202 /* YieldExpression */: + case 198 /* PrefixUnaryExpression */: + case 195 /* TypeOfExpression */: + case 196 /* VoidExpression */: + case 194 /* DeleteExpression */: + case 197 /* AwaitExpression */: + case 201 /* ConditionalExpression */: + case 203 /* YieldExpression */: return 1 /* Right */; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: switch (operator) { case 40 /* AsteriskAsteriskToken */: case 58 /* EqualsToken */: @@ -11033,15 +11084,15 @@ var ts; ts.getOperatorAssociativity = getOperatorAssociativity; function getExpressionPrecedence(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 187 /* NewExpression */ && expression.arguments !== undefined; + var hasArguments = expression.kind === 188 /* NewExpression */ && expression.arguments !== undefined; return getOperatorPrecedence(expression.kind, operator, hasArguments); } ts.getExpressionPrecedence = getExpressionPrecedence; function getOperator(expression) { - if (expression.kind === 199 /* BinaryExpression */) { + if (expression.kind === 200 /* BinaryExpression */) { return expression.operatorToken.kind; } - else if (expression.kind === 197 /* PrefixUnaryExpression */ || expression.kind === 198 /* PostfixUnaryExpression */) { + else if (expression.kind === 198 /* PrefixUnaryExpression */ || expression.kind === 199 /* PostfixUnaryExpression */) { return expression.operator; } else { @@ -11051,15 +11102,15 @@ var ts; ts.getOperator = getOperator; function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) { switch (nodeKind) { - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: return 0; - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return 1; - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return 2; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return 4; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: switch (operatorKind) { case 26 /* CommaToken */: return 0; @@ -11080,21 +11131,21 @@ var ts; default: return getBinaryOperatorPrecedence(operatorKind); } - case 197 /* PrefixUnaryExpression */: - case 194 /* TypeOfExpression */: - case 195 /* VoidExpression */: - case 193 /* DeleteExpression */: - case 196 /* AwaitExpression */: + case 198 /* PrefixUnaryExpression */: + case 195 /* TypeOfExpression */: + case 196 /* VoidExpression */: + case 194 /* DeleteExpression */: + case 197 /* AwaitExpression */: return 16; - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return 17; - case 186 /* CallExpression */: + case 187 /* CallExpression */: return 18; - case 187 /* NewExpression */: + case 188 /* NewExpression */: return hasArguments ? 19 : 18; - case 188 /* TaggedTemplateExpression */: - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: + case 189 /* TaggedTemplateExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: return 19; case 99 /* ThisKeyword */: case 97 /* SuperKeyword */: @@ -11104,19 +11155,19 @@ var ts; case 86 /* FalseKeyword */: case 8 /* NumericLiteral */: case 9 /* StringLiteral */: - case 182 /* ArrayLiteralExpression */: - case 183 /* ObjectLiteralExpression */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 204 /* ClassExpression */: - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: - case 258 /* JsxFragment */: + case 183 /* ArrayLiteralExpression */: + case 184 /* ObjectLiteralExpression */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 205 /* ClassExpression */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: + case 259 /* JsxFragment */: case 12 /* RegularExpressionLiteral */: case 13 /* NoSubstitutionTemplateLiteral */: - case 201 /* TemplateExpression */: - case 190 /* ParenthesizedExpression */: - case 205 /* OmittedExpression */: + case 202 /* TemplateExpression */: + case 191 /* ParenthesizedExpression */: + case 206 /* OmittedExpression */: return 20; default: return -1; @@ -11169,7 +11220,7 @@ var ts; } ts.getBinaryOperatorPrecedence = getBinaryOperatorPrecedence; function createDiagnosticCollection() { - var nonFileDiagnostics = []; + var nonFileDiagnostics = []; // See GH#19873 var filesWithDiagnostics = []; var fileDiagnostics = ts.createMap(); var hasReadNonFileDiagnostics = false; @@ -11187,7 +11238,7 @@ var ts; if (diagnostic.file) { diagnostics = fileDiagnostics.get(diagnostic.file.fileName); if (!diagnostics) { - diagnostics = []; + diagnostics = []; // See GH#19873 fileDiagnostics.set(diagnostic.file.fileName, diagnostics); ts.insertSorted(filesWithDiagnostics, diagnostic.file.fileName, ts.compareStringsCaseSensitive); } @@ -11334,7 +11385,7 @@ var ts; var lineStartsOfS = ts.computeLineStarts(s); if (lineStartsOfS.length > 1) { lineCount = lineCount + lineStartsOfS.length - 1; - linePos = output.length - s.length + ts.lastOrUndefined(lineStartsOfS); + linePos = output.length - s.length + ts.last(lineStartsOfS); } } } @@ -11509,7 +11560,7 @@ var ts; } ts.parameterIsThisKeyword = parameterIsThisKeyword; function isThisIdentifier(node) { - return node && node.kind === 71 /* Identifier */ && identifierIsThisKeyword(node); + return !!node && node.kind === 71 /* Identifier */ && identifierIsThisKeyword(node); } ts.isThisIdentifier = isThisIdentifier; function identifierIsThisKeyword(id) { @@ -11517,16 +11568,17 @@ var ts; } ts.identifierIsThisKeyword = identifierIsThisKeyword; function getAllAccessorDeclarations(declarations, accessor) { + // TODO: GH#18217 var firstAccessor; var secondAccessor; var getAccessor; var setAccessor; if (hasDynamicName(accessor)) { firstAccessor = accessor; - if (accessor.kind === 155 /* GetAccessor */) { + if (accessor.kind === 156 /* GetAccessor */) { getAccessor = accessor; } - else if (accessor.kind === 156 /* SetAccessor */) { + else if (accessor.kind === 157 /* SetAccessor */) { setAccessor = accessor; } else { @@ -11535,7 +11587,7 @@ var ts; } else { ts.forEach(declarations, function (member) { - if ((member.kind === 155 /* GetAccessor */ || member.kind === 156 /* SetAccessor */) + if ((member.kind === 156 /* GetAccessor */ || member.kind === 157 /* SetAccessor */) && hasModifier(member, 32 /* Static */) === hasModifier(accessor, 32 /* Static */)) { var memberName = getPropertyNameForPropertyNameNode(member.name); var accessorName = getPropertyNameForPropertyNameNode(accessor.name); @@ -11546,10 +11598,10 @@ var ts; else if (!secondAccessor) { secondAccessor = member; } - if (member.kind === 155 /* GetAccessor */ && !getAccessor) { + if (member.kind === 156 /* GetAccessor */ && !getAccessor) { getAccessor = member; } - if (member.kind === 156 /* SetAccessor */ && !setAccessor) { + if (member.kind === 157 /* SetAccessor */ && !setAccessor) { setAccessor = member; } } @@ -11596,25 +11648,20 @@ var ts; return ts.emptyArray; } if (isJSDocTypeAlias(node)) { - ts.Debug.assert(node.parent.kind === 285 /* JSDocComment */); - var templateTags = ts.flatMap(ts.filter(node.parent.tags, ts.isJSDocTemplateTag), function (tag) { return tag.typeParameters; }); - var templateTagNodes = templateTags; - templateTagNodes.pos = templateTagNodes.length > 0 ? ts.first(templateTagNodes).pos : node.pos; - templateTagNodes.end = templateTagNodes.length > 0 ? ts.last(templateTagNodes).end : node.end; - templateTagNodes.hasTrailingComma = false; - return templateTagNodes; + ts.Debug.assert(node.parent.kind === 286 /* JSDocComment */); + return ts.flatMap(node.parent.tags, function (tag) { return ts.isJSDocTemplateTag(tag) ? tag.typeParameters : undefined; }); } return node.typeParameters || (isInJavaScriptFile(node) ? getJSDocTypeParameterDeclarations(node) : ts.emptyArray); } ts.getEffectiveTypeParameterDeclarations = getEffectiveTypeParameterDeclarations; function getJSDocTypeParameterDeclarations(node) { - // template tags are only available when a typedef isn't already using them - var tag = ts.find(ts.getJSDocTags(node), function (tag) { - return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 285 /* JSDocComment */ && tag.parent.tags.some(isJSDocTypeAlias)); - }); - return (tag && tag.typeParameters) || ts.emptyArray; + return ts.flatMap(ts.getJSDocTags(node), function (tag) { return isNonTypeAliasTemplate(tag) ? tag.typeParameters : undefined; }); } ts.getJSDocTypeParameterDeclarations = getJSDocTypeParameterDeclarations; + /** template tags are only available when a typedef isn't already using them */ + function isNonTypeAliasTemplate(tag) { + return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 286 /* JSDocComment */ && tag.parent.tags.some(isJSDocTypeAlias)); + } /** * Gets the effective type annotation of the value parameter of a set accessor. If the node * was parsed in a JavaScript file, gets the type annotation from JSDoc. @@ -11713,13 +11760,13 @@ var ts; // All comments look like they could have been part of the copyright header. Make // sure there is at least one blank line between it and the node. If not, it's not // a copyright header. - var lastCommentLine = getLineOfLocalPositionFromLineMap(lineMap, ts.lastOrUndefined(detachedComments).end); + var lastCommentLine = getLineOfLocalPositionFromLineMap(lineMap, ts.last(detachedComments).end); var nodeLine = getLineOfLocalPositionFromLineMap(lineMap, ts.skipTrivia(text, node.pos)); if (nodeLine >= lastCommentLine + 2) { // Valid detachedComments emitNewLineBeforeLeadingComments(lineMap, writer, node, leadingComments); emitComments(text, lineMap, writer, detachedComments, /*leadingSeparator*/ false, /*trailingSeparator*/ true, newLine, writeComment); - currentDetachedCommentInfo = { nodePos: node.pos, detachedCommentEndPos: ts.lastOrUndefined(detachedComments).end }; + currentDetachedCommentInfo = { nodePos: node.pos, detachedCommentEndPos: ts.last(detachedComments).end }; } } } @@ -11888,7 +11935,7 @@ var ts; ts.isAssignmentOperator = isAssignmentOperator; /** Get `C` given `N` if `N` is in the position `class C extends N` where `N` is an ExpressionWithTypeArguments. */ function tryGetClassExtendingExpressionWithTypeArguments(node) { - if (node.kind === 206 /* ExpressionWithTypeArguments */ && + if (ts.isExpressionWithTypeArguments(node) && node.parent.token === 85 /* ExtendsKeyword */ && ts.isClassLike(node.parent.parent)) { return node.parent.parent; @@ -11906,8 +11953,8 @@ var ts; function isDestructuringAssignment(node) { if (isAssignmentExpression(node, /*excludeCompoundAssignment*/ true)) { var kind = node.left.kind; - return kind === 183 /* ObjectLiteralExpression */ - || kind === 182 /* ArrayLiteralExpression */; + return kind === 184 /* ObjectLiteralExpression */ + || kind === 183 /* ArrayLiteralExpression */; } return false; } @@ -11917,7 +11964,7 @@ var ts; } ts.isExpressionWithTypeArgumentsInClassExtendsClause = isExpressionWithTypeArgumentsInClassExtendsClause; function isExpressionWithTypeArgumentsInClassImplementsClause(node) { - return node.kind === 206 /* ExpressionWithTypeArguments */ + return node.kind === 207 /* ExpressionWithTypeArguments */ && isEntityNameExpression(node.expression) && node.parent && node.parent.token === 108 /* ImplementsKeyword */ @@ -11938,17 +11985,17 @@ var ts; } ts.isPrototypeAccess = isPrototypeAccess; function isRightSideOfQualifiedNameOrPropertyAccess(node) { - return (node.parent.kind === 145 /* QualifiedName */ && node.parent.right === node) || - (node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.name === node); + return (node.parent.kind === 146 /* QualifiedName */ && node.parent.right === node) || + (node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.name === node); } ts.isRightSideOfQualifiedNameOrPropertyAccess = isRightSideOfQualifiedNameOrPropertyAccess; function isEmptyObjectLiteral(expression) { - return expression.kind === 183 /* ObjectLiteralExpression */ && + return expression.kind === 184 /* ObjectLiteralExpression */ && expression.properties.length === 0; } ts.isEmptyObjectLiteral = isEmptyObjectLiteral; function isEmptyArrayLiteral(expression) { - return expression.kind === 182 /* ArrayLiteralExpression */ && + return expression.kind === 183 /* ArrayLiteralExpression */ && expression.elements.length === 0; } ts.isEmptyArrayLiteral = isEmptyArrayLiteral; @@ -12062,14 +12109,14 @@ var ts; return output; } function base64encode(host, input) { - if (host.base64encode) { + if (host && host.base64encode) { return host.base64encode(input); } return convertToBase64(input); } ts.base64encode = base64encode; function base64decode(host, input) { - if (host.base64decode) { + if (host && host.base64decode) { return host.base64decode(input); } var length = input.length; @@ -12289,8 +12336,8 @@ var ts; var parseNode = ts.getParseTreeNode(node); if (parseNode) { switch (parseNode.parent.kind) { - case 237 /* EnumDeclaration */: - case 238 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 239 /* ModuleDeclaration */: return parseNode === parseNode.parent.name; } } @@ -12363,21 +12410,21 @@ var ts; if (!parent) return 0 /* Read */; switch (parent.kind) { - case 198 /* PostfixUnaryExpression */: - case 197 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: var operator = parent.operator; return operator === 43 /* PlusPlusToken */ || operator === 44 /* MinusMinusToken */ ? writeOrReadWrite() : 0 /* Read */; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var _a = parent, left = _a.left, operatorToken = _a.operatorToken; return left === node && isAssignmentOperator(operatorToken.kind) ? writeOrReadWrite() : 0 /* Read */; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return parent.name !== node ? 0 /* Read */ : accessKind(parent); default: return 0 /* Read */; } function writeOrReadWrite() { // If grandparent is not an ExpressionStatement, this is used as an expression in addition to having a side effect. - return parent.parent && parent.parent.kind === 215 /* ExpressionStatement */ ? 1 /* Write */ : 2 /* ReadWrite */; + return parent.parent && parent.parent.kind === 216 /* ExpressionStatement */ ? 1 /* Write */ : 2 /* ReadWrite */; } } function compareDataObjects(dst, src) { @@ -12468,7 +12515,7 @@ var ts; } ts.getClassLikeDeclarationOfSymbol = getClassLikeDeclarationOfSymbol; function getObjectFlags(type) { - return type.flags & 65536 /* Object */ ? type.objectFlags : 0; + return type.flags & 131072 /* Object */ ? type.objectFlags : 0; } ts.getObjectFlags = getObjectFlags; function typeHasCallOrConstructSignatures(type, checker) { @@ -12739,9 +12786,9 @@ var ts; } ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions; function getTypeParameterOwner(d) { - if (d && d.kind === 147 /* TypeParameter */) { + if (d && d.kind === 148 /* TypeParameter */) { for (var current = d; current; current = current.parent) { - if (ts.isFunctionLike(current) || ts.isClassLike(current) || current.kind === 235 /* InterfaceDeclaration */) { + if (ts.isFunctionLike(current) || ts.isClassLike(current) || current.kind === 236 /* InterfaceDeclaration */) { return current; } } @@ -12749,7 +12796,7 @@ var ts; } ts.getTypeParameterOwner = getTypeParameterOwner; function isParameterPropertyDeclaration(node) { - return ts.hasModifier(node, 92 /* ParameterPropertyModifier */) && node.parent.kind === 154 /* Constructor */; + return ts.hasModifier(node, 92 /* ParameterPropertyModifier */) && node.parent.kind === 155 /* Constructor */; } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; function isEmptyBindingPattern(node) { @@ -12767,7 +12814,7 @@ var ts; } ts.isEmptyBindingElement = isEmptyBindingElement; function walkUpBindingElementsAndPatterns(node) { - while (node && (node.kind === 181 /* BindingElement */ || ts.isBindingPattern(node))) { + while (node && (node.kind === 182 /* BindingElement */ || ts.isBindingPattern(node))) { node = node.parent; } return node; @@ -12775,14 +12822,14 @@ var ts; function getCombinedModifierFlags(node) { node = walkUpBindingElementsAndPatterns(node); var flags = ts.getModifierFlags(node); - if (node.kind === 231 /* VariableDeclaration */) { + if (node.kind === 232 /* VariableDeclaration */) { node = node.parent; } - if (node && node.kind === 232 /* VariableDeclarationList */) { + if (node && node.kind === 233 /* VariableDeclarationList */) { flags |= ts.getModifierFlags(node); node = node.parent; } - if (node && node.kind === 213 /* VariableStatement */) { + if (node && node.kind === 214 /* VariableStatement */) { flags |= ts.getModifierFlags(node); } return flags; @@ -12798,14 +12845,14 @@ var ts; function getCombinedNodeFlags(node) { node = walkUpBindingElementsAndPatterns(node); var flags = node.flags; - if (node.kind === 231 /* VariableDeclaration */) { + if (node.kind === 232 /* VariableDeclaration */) { node = node.parent; } - if (node && node.kind === 232 /* VariableDeclarationList */) { + if (node && node.kind === 233 /* VariableDeclarationList */) { flags |= node.flags; node = node.parent; } - if (node && node.kind === 213 /* VariableStatement */) { + if (node && node.kind === 214 /* VariableStatement */) { flags |= node.flags; } return flags; @@ -12858,7 +12905,7 @@ var ts; // tslint:disable-next-line no-unnecessary-qualifier (making clear this is a global mutation!) ts.localizedDiagnosticMessages = JSON.parse(fileContents); } - catch (e) { + catch (_a) { if (errors) { errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Corrupted_locale_file_0, filePath)); } @@ -12942,17 +12989,17 @@ var ts; } // Covers remaining cases switch (hostNode.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: if (hostNode.declarationList && hostNode.declarationList.declarations[0]) { return getDeclarationIdentifier(hostNode.declarationList.declarations[0]); } return undefined; - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: var expr = hostNode.expression; switch (expr.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return expr.name; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: var arg = expr.argumentExpression; if (ts.isIdentifier(arg)) { return arg; @@ -12961,10 +13008,10 @@ var ts; return undefined; case 1 /* EndOfFileToken */: return undefined; - case 190 /* ParenthesizedExpression */: { + case 191 /* ParenthesizedExpression */: { return getDeclarationIdentifier(hostNode.expression); } - case 227 /* LabeledStatement */: { + case 228 /* LabeledStatement */: { if (ts.isDeclaration(hostNode.statement) || ts.isExpression(hostNode.statement)) { return getDeclarationIdentifier(hostNode.statement); } @@ -12987,28 +13034,29 @@ var ts; return !!node.name; // A 'name' property should always be a DeclarationName. } ts.isNamedDeclaration = isNamedDeclaration; + // TODO: GH#18217 This is often used as if it returns a defined result function getNameOfDeclaration(declaration) { if (!declaration) { return undefined; } switch (declaration.kind) { - case 204 /* ClassExpression */: - case 191 /* FunctionExpression */: + case 205 /* ClassExpression */: + case 192 /* FunctionExpression */: if (!declaration.name) { return getAssignedName(declaration); } break; case 71 /* Identifier */: return declaration; - case 297 /* JSDocPropertyTag */: - case 292 /* JSDocParameterTag */: { + case 298 /* JSDocPropertyTag */: + case 293 /* JSDocParameterTag */: { var name = declaration.name; - if (name.kind === 145 /* QualifiedName */) { + if (name.kind === 146 /* QualifiedName */) { return name.right; } break; } - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var expr = declaration; switch (ts.getSpecialPropertyAssignmentKind(expr)) { case 1 /* ExportsProperty */: @@ -13020,11 +13068,11 @@ var ts; return undefined; } } - case 291 /* JSDocCallbackTag */: + case 292 /* JSDocCallbackTag */: return declaration.name; - case 296 /* JSDocTypedefTag */: + case 297 /* JSDocTypedefTag */: return getNameOfJSDocTypedef(declaration); - case 248 /* ExportAssignment */: { + case 249 /* ExportAssignment */: { var expression = declaration.expression; return ts.isIdentifier(expression) ? expression : undefined; } @@ -13214,637 +13262,637 @@ var ts; ts.isIdentifier = isIdentifier; // Names function isQualifiedName(node) { - return node.kind === 145 /* QualifiedName */; + return node.kind === 146 /* QualifiedName */; } ts.isQualifiedName = isQualifiedName; function isComputedPropertyName(node) { - return node.kind === 146 /* ComputedPropertyName */; + return node.kind === 147 /* ComputedPropertyName */; } ts.isComputedPropertyName = isComputedPropertyName; // Signature elements function isTypeParameterDeclaration(node) { - return node.kind === 147 /* TypeParameter */; + return node.kind === 148 /* TypeParameter */; } ts.isTypeParameterDeclaration = isTypeParameterDeclaration; function isParameter(node) { - return node.kind === 148 /* Parameter */; + return node.kind === 149 /* Parameter */; } ts.isParameter = isParameter; function isDecorator(node) { - return node.kind === 149 /* Decorator */; + return node.kind === 150 /* Decorator */; } ts.isDecorator = isDecorator; // TypeMember function isPropertySignature(node) { - return node.kind === 150 /* PropertySignature */; + return node.kind === 151 /* PropertySignature */; } ts.isPropertySignature = isPropertySignature; function isPropertyDeclaration(node) { - return node.kind === 151 /* PropertyDeclaration */; + return node.kind === 152 /* PropertyDeclaration */; } ts.isPropertyDeclaration = isPropertyDeclaration; function isMethodSignature(node) { - return node.kind === 152 /* MethodSignature */; + return node.kind === 153 /* MethodSignature */; } ts.isMethodSignature = isMethodSignature; function isMethodDeclaration(node) { - return node.kind === 153 /* MethodDeclaration */; + return node.kind === 154 /* MethodDeclaration */; } ts.isMethodDeclaration = isMethodDeclaration; function isConstructorDeclaration(node) { - return node.kind === 154 /* Constructor */; + return node.kind === 155 /* Constructor */; } ts.isConstructorDeclaration = isConstructorDeclaration; function isGetAccessorDeclaration(node) { - return node.kind === 155 /* GetAccessor */; + return node.kind === 156 /* GetAccessor */; } ts.isGetAccessorDeclaration = isGetAccessorDeclaration; function isSetAccessorDeclaration(node) { - return node.kind === 156 /* SetAccessor */; + return node.kind === 157 /* SetAccessor */; } ts.isSetAccessorDeclaration = isSetAccessorDeclaration; function isCallSignatureDeclaration(node) { - return node.kind === 157 /* CallSignature */; + return node.kind === 158 /* CallSignature */; } ts.isCallSignatureDeclaration = isCallSignatureDeclaration; function isConstructSignatureDeclaration(node) { - return node.kind === 158 /* ConstructSignature */; + return node.kind === 159 /* ConstructSignature */; } ts.isConstructSignatureDeclaration = isConstructSignatureDeclaration; function isIndexSignatureDeclaration(node) { - return node.kind === 159 /* IndexSignature */; + return node.kind === 160 /* IndexSignature */; } ts.isIndexSignatureDeclaration = isIndexSignatureDeclaration; /* @internal */ function isGetOrSetAccessorDeclaration(node) { - return node.kind === 156 /* SetAccessor */ || node.kind === 155 /* GetAccessor */; + return node.kind === 157 /* SetAccessor */ || node.kind === 156 /* GetAccessor */; } ts.isGetOrSetAccessorDeclaration = isGetOrSetAccessorDeclaration; // Type function isTypePredicateNode(node) { - return node.kind === 160 /* TypePredicate */; + return node.kind === 161 /* TypePredicate */; } ts.isTypePredicateNode = isTypePredicateNode; function isTypeReferenceNode(node) { - return node.kind === 161 /* TypeReference */; + return node.kind === 162 /* TypeReference */; } ts.isTypeReferenceNode = isTypeReferenceNode; function isFunctionTypeNode(node) { - return node.kind === 162 /* FunctionType */; + return node.kind === 163 /* FunctionType */; } ts.isFunctionTypeNode = isFunctionTypeNode; function isConstructorTypeNode(node) { - return node.kind === 163 /* ConstructorType */; + return node.kind === 164 /* ConstructorType */; } ts.isConstructorTypeNode = isConstructorTypeNode; function isTypeQueryNode(node) { - return node.kind === 164 /* TypeQuery */; + return node.kind === 165 /* TypeQuery */; } ts.isTypeQueryNode = isTypeQueryNode; function isTypeLiteralNode(node) { - return node.kind === 165 /* TypeLiteral */; + return node.kind === 166 /* TypeLiteral */; } ts.isTypeLiteralNode = isTypeLiteralNode; function isArrayTypeNode(node) { - return node.kind === 166 /* ArrayType */; + return node.kind === 167 /* ArrayType */; } ts.isArrayTypeNode = isArrayTypeNode; function isTupleTypeNode(node) { - return node.kind === 167 /* TupleType */; + return node.kind === 168 /* TupleType */; } ts.isTupleTypeNode = isTupleTypeNode; function isUnionTypeNode(node) { - return node.kind === 168 /* UnionType */; + return node.kind === 169 /* UnionType */; } ts.isUnionTypeNode = isUnionTypeNode; function isIntersectionTypeNode(node) { - return node.kind === 169 /* IntersectionType */; + return node.kind === 170 /* IntersectionType */; } ts.isIntersectionTypeNode = isIntersectionTypeNode; function isConditionalTypeNode(node) { - return node.kind === 170 /* ConditionalType */; + return node.kind === 171 /* ConditionalType */; } ts.isConditionalTypeNode = isConditionalTypeNode; function isInferTypeNode(node) { - return node.kind === 171 /* InferType */; + return node.kind === 172 /* InferType */; } ts.isInferTypeNode = isInferTypeNode; function isParenthesizedTypeNode(node) { - return node.kind === 172 /* ParenthesizedType */; + return node.kind === 173 /* ParenthesizedType */; } ts.isParenthesizedTypeNode = isParenthesizedTypeNode; function isThisTypeNode(node) { - return node.kind === 173 /* ThisType */; + return node.kind === 174 /* ThisType */; } ts.isThisTypeNode = isThisTypeNode; function isTypeOperatorNode(node) { - return node.kind === 174 /* TypeOperator */; + return node.kind === 175 /* TypeOperator */; } ts.isTypeOperatorNode = isTypeOperatorNode; function isIndexedAccessTypeNode(node) { - return node.kind === 175 /* IndexedAccessType */; + return node.kind === 176 /* IndexedAccessType */; } ts.isIndexedAccessTypeNode = isIndexedAccessTypeNode; function isMappedTypeNode(node) { - return node.kind === 176 /* MappedType */; + return node.kind === 177 /* MappedType */; } ts.isMappedTypeNode = isMappedTypeNode; function isLiteralTypeNode(node) { - return node.kind === 177 /* LiteralType */; + return node.kind === 178 /* LiteralType */; } ts.isLiteralTypeNode = isLiteralTypeNode; function isImportTypeNode(node) { - return node.kind === 178 /* ImportType */; + return node.kind === 179 /* ImportType */; } ts.isImportTypeNode = isImportTypeNode; // Binding patterns function isObjectBindingPattern(node) { - return node.kind === 179 /* ObjectBindingPattern */; + return node.kind === 180 /* ObjectBindingPattern */; } ts.isObjectBindingPattern = isObjectBindingPattern; function isArrayBindingPattern(node) { - return node.kind === 180 /* ArrayBindingPattern */; + return node.kind === 181 /* ArrayBindingPattern */; } ts.isArrayBindingPattern = isArrayBindingPattern; function isBindingElement(node) { - return node.kind === 181 /* BindingElement */; + return node.kind === 182 /* BindingElement */; } ts.isBindingElement = isBindingElement; // Expression function isArrayLiteralExpression(node) { - return node.kind === 182 /* ArrayLiteralExpression */; + return node.kind === 183 /* ArrayLiteralExpression */; } ts.isArrayLiteralExpression = isArrayLiteralExpression; function isObjectLiteralExpression(node) { - return node.kind === 183 /* ObjectLiteralExpression */; + return node.kind === 184 /* ObjectLiteralExpression */; } ts.isObjectLiteralExpression = isObjectLiteralExpression; function isPropertyAccessExpression(node) { - return node.kind === 184 /* PropertyAccessExpression */; + return node.kind === 185 /* PropertyAccessExpression */; } ts.isPropertyAccessExpression = isPropertyAccessExpression; function isElementAccessExpression(node) { - return node.kind === 185 /* ElementAccessExpression */; + return node.kind === 186 /* ElementAccessExpression */; } ts.isElementAccessExpression = isElementAccessExpression; function isCallExpression(node) { - return node.kind === 186 /* CallExpression */; + return node.kind === 187 /* CallExpression */; } ts.isCallExpression = isCallExpression; function isNewExpression(node) { - return node.kind === 187 /* NewExpression */; + return node.kind === 188 /* NewExpression */; } ts.isNewExpression = isNewExpression; function isTaggedTemplateExpression(node) { - return node.kind === 188 /* TaggedTemplateExpression */; + return node.kind === 189 /* TaggedTemplateExpression */; } ts.isTaggedTemplateExpression = isTaggedTemplateExpression; function isTypeAssertion(node) { - return node.kind === 189 /* TypeAssertionExpression */; + return node.kind === 190 /* TypeAssertionExpression */; } ts.isTypeAssertion = isTypeAssertion; function isParenthesizedExpression(node) { - return node.kind === 190 /* ParenthesizedExpression */; + return node.kind === 191 /* ParenthesizedExpression */; } ts.isParenthesizedExpression = isParenthesizedExpression; function skipPartiallyEmittedExpressions(node) { - while (node.kind === 300 /* PartiallyEmittedExpression */) { + while (node.kind === 301 /* PartiallyEmittedExpression */) { node = node.expression; } return node; } ts.skipPartiallyEmittedExpressions = skipPartiallyEmittedExpressions; function isFunctionExpression(node) { - return node.kind === 191 /* FunctionExpression */; + return node.kind === 192 /* FunctionExpression */; } ts.isFunctionExpression = isFunctionExpression; function isArrowFunction(node) { - return node.kind === 192 /* ArrowFunction */; + return node.kind === 193 /* ArrowFunction */; } ts.isArrowFunction = isArrowFunction; function isDeleteExpression(node) { - return node.kind === 193 /* DeleteExpression */; + return node.kind === 194 /* DeleteExpression */; } ts.isDeleteExpression = isDeleteExpression; function isTypeOfExpression(node) { - return node.kind === 194 /* TypeOfExpression */; + return node.kind === 195 /* TypeOfExpression */; } ts.isTypeOfExpression = isTypeOfExpression; function isVoidExpression(node) { - return node.kind === 195 /* VoidExpression */; + return node.kind === 196 /* VoidExpression */; } ts.isVoidExpression = isVoidExpression; function isAwaitExpression(node) { - return node.kind === 196 /* AwaitExpression */; + return node.kind === 197 /* AwaitExpression */; } ts.isAwaitExpression = isAwaitExpression; function isPrefixUnaryExpression(node) { - return node.kind === 197 /* PrefixUnaryExpression */; + return node.kind === 198 /* PrefixUnaryExpression */; } ts.isPrefixUnaryExpression = isPrefixUnaryExpression; function isPostfixUnaryExpression(node) { - return node.kind === 198 /* PostfixUnaryExpression */; + return node.kind === 199 /* PostfixUnaryExpression */; } ts.isPostfixUnaryExpression = isPostfixUnaryExpression; function isBinaryExpression(node) { - return node.kind === 199 /* BinaryExpression */; + return node.kind === 200 /* BinaryExpression */; } ts.isBinaryExpression = isBinaryExpression; function isConditionalExpression(node) { - return node.kind === 200 /* ConditionalExpression */; + return node.kind === 201 /* ConditionalExpression */; } ts.isConditionalExpression = isConditionalExpression; function isTemplateExpression(node) { - return node.kind === 201 /* TemplateExpression */; + return node.kind === 202 /* TemplateExpression */; } ts.isTemplateExpression = isTemplateExpression; function isYieldExpression(node) { - return node.kind === 202 /* YieldExpression */; + return node.kind === 203 /* YieldExpression */; } ts.isYieldExpression = isYieldExpression; function isSpreadElement(node) { - return node.kind === 203 /* SpreadElement */; + return node.kind === 204 /* SpreadElement */; } ts.isSpreadElement = isSpreadElement; function isClassExpression(node) { - return node.kind === 204 /* ClassExpression */; + return node.kind === 205 /* ClassExpression */; } ts.isClassExpression = isClassExpression; function isOmittedExpression(node) { - return node.kind === 205 /* OmittedExpression */; + return node.kind === 206 /* OmittedExpression */; } ts.isOmittedExpression = isOmittedExpression; function isExpressionWithTypeArguments(node) { - return node.kind === 206 /* ExpressionWithTypeArguments */; + return node.kind === 207 /* ExpressionWithTypeArguments */; } ts.isExpressionWithTypeArguments = isExpressionWithTypeArguments; function isAsExpression(node) { - return node.kind === 207 /* AsExpression */; + return node.kind === 208 /* AsExpression */; } ts.isAsExpression = isAsExpression; function isNonNullExpression(node) { - return node.kind === 208 /* NonNullExpression */; + return node.kind === 209 /* NonNullExpression */; } ts.isNonNullExpression = isNonNullExpression; function isMetaProperty(node) { - return node.kind === 209 /* MetaProperty */; + return node.kind === 210 /* MetaProperty */; } ts.isMetaProperty = isMetaProperty; // Misc function isTemplateSpan(node) { - return node.kind === 210 /* TemplateSpan */; + return node.kind === 211 /* TemplateSpan */; } ts.isTemplateSpan = isTemplateSpan; function isSemicolonClassElement(node) { - return node.kind === 211 /* SemicolonClassElement */; + return node.kind === 212 /* SemicolonClassElement */; } ts.isSemicolonClassElement = isSemicolonClassElement; // Block function isBlock(node) { - return node.kind === 212 /* Block */; + return node.kind === 213 /* Block */; } ts.isBlock = isBlock; function isVariableStatement(node) { - return node.kind === 213 /* VariableStatement */; + return node.kind === 214 /* VariableStatement */; } ts.isVariableStatement = isVariableStatement; function isEmptyStatement(node) { - return node.kind === 214 /* EmptyStatement */; + return node.kind === 215 /* EmptyStatement */; } ts.isEmptyStatement = isEmptyStatement; function isExpressionStatement(node) { - return node.kind === 215 /* ExpressionStatement */; + return node.kind === 216 /* ExpressionStatement */; } ts.isExpressionStatement = isExpressionStatement; function isIfStatement(node) { - return node.kind === 216 /* IfStatement */; + return node.kind === 217 /* IfStatement */; } ts.isIfStatement = isIfStatement; function isDoStatement(node) { - return node.kind === 217 /* DoStatement */; + return node.kind === 218 /* DoStatement */; } ts.isDoStatement = isDoStatement; function isWhileStatement(node) { - return node.kind === 218 /* WhileStatement */; + return node.kind === 219 /* WhileStatement */; } ts.isWhileStatement = isWhileStatement; function isForStatement(node) { - return node.kind === 219 /* ForStatement */; + return node.kind === 220 /* ForStatement */; } ts.isForStatement = isForStatement; function isForInStatement(node) { - return node.kind === 220 /* ForInStatement */; + return node.kind === 221 /* ForInStatement */; } ts.isForInStatement = isForInStatement; function isForOfStatement(node) { - return node.kind === 221 /* ForOfStatement */; + return node.kind === 222 /* ForOfStatement */; } ts.isForOfStatement = isForOfStatement; function isContinueStatement(node) { - return node.kind === 222 /* ContinueStatement */; + return node.kind === 223 /* ContinueStatement */; } ts.isContinueStatement = isContinueStatement; function isBreakStatement(node) { - return node.kind === 223 /* BreakStatement */; + return node.kind === 224 /* BreakStatement */; } ts.isBreakStatement = isBreakStatement; function isBreakOrContinueStatement(node) { - return node.kind === 223 /* BreakStatement */ || node.kind === 222 /* ContinueStatement */; + return node.kind === 224 /* BreakStatement */ || node.kind === 223 /* ContinueStatement */; } ts.isBreakOrContinueStatement = isBreakOrContinueStatement; function isReturnStatement(node) { - return node.kind === 224 /* ReturnStatement */; + return node.kind === 225 /* ReturnStatement */; } ts.isReturnStatement = isReturnStatement; function isWithStatement(node) { - return node.kind === 225 /* WithStatement */; + return node.kind === 226 /* WithStatement */; } ts.isWithStatement = isWithStatement; function isSwitchStatement(node) { - return node.kind === 226 /* SwitchStatement */; + return node.kind === 227 /* SwitchStatement */; } ts.isSwitchStatement = isSwitchStatement; function isLabeledStatement(node) { - return node.kind === 227 /* LabeledStatement */; + return node.kind === 228 /* LabeledStatement */; } ts.isLabeledStatement = isLabeledStatement; function isThrowStatement(node) { - return node.kind === 228 /* ThrowStatement */; + return node.kind === 229 /* ThrowStatement */; } ts.isThrowStatement = isThrowStatement; function isTryStatement(node) { - return node.kind === 229 /* TryStatement */; + return node.kind === 230 /* TryStatement */; } ts.isTryStatement = isTryStatement; function isDebuggerStatement(node) { - return node.kind === 230 /* DebuggerStatement */; + return node.kind === 231 /* DebuggerStatement */; } ts.isDebuggerStatement = isDebuggerStatement; function isVariableDeclaration(node) { - return node.kind === 231 /* VariableDeclaration */; + return node.kind === 232 /* VariableDeclaration */; } ts.isVariableDeclaration = isVariableDeclaration; function isVariableDeclarationList(node) { - return node.kind === 232 /* VariableDeclarationList */; + return node.kind === 233 /* VariableDeclarationList */; } ts.isVariableDeclarationList = isVariableDeclarationList; function isFunctionDeclaration(node) { - return node.kind === 233 /* FunctionDeclaration */; + return node.kind === 234 /* FunctionDeclaration */; } ts.isFunctionDeclaration = isFunctionDeclaration; function isClassDeclaration(node) { - return node.kind === 234 /* ClassDeclaration */; + return node.kind === 235 /* ClassDeclaration */; } ts.isClassDeclaration = isClassDeclaration; function isInterfaceDeclaration(node) { - return node.kind === 235 /* InterfaceDeclaration */; + return node.kind === 236 /* InterfaceDeclaration */; } ts.isInterfaceDeclaration = isInterfaceDeclaration; function isTypeAliasDeclaration(node) { - return node.kind === 236 /* TypeAliasDeclaration */; + return node.kind === 237 /* TypeAliasDeclaration */; } ts.isTypeAliasDeclaration = isTypeAliasDeclaration; function isEnumDeclaration(node) { - return node.kind === 237 /* EnumDeclaration */; + return node.kind === 238 /* EnumDeclaration */; } ts.isEnumDeclaration = isEnumDeclaration; function isModuleDeclaration(node) { - return node.kind === 238 /* ModuleDeclaration */; + return node.kind === 239 /* ModuleDeclaration */; } ts.isModuleDeclaration = isModuleDeclaration; function isModuleBlock(node) { - return node.kind === 239 /* ModuleBlock */; + return node.kind === 240 /* ModuleBlock */; } ts.isModuleBlock = isModuleBlock; function isCaseBlock(node) { - return node.kind === 240 /* CaseBlock */; + return node.kind === 241 /* CaseBlock */; } ts.isCaseBlock = isCaseBlock; function isNamespaceExportDeclaration(node) { - return node.kind === 241 /* NamespaceExportDeclaration */; + return node.kind === 242 /* NamespaceExportDeclaration */; } ts.isNamespaceExportDeclaration = isNamespaceExportDeclaration; function isImportEqualsDeclaration(node) { - return node.kind === 242 /* ImportEqualsDeclaration */; + return node.kind === 243 /* ImportEqualsDeclaration */; } ts.isImportEqualsDeclaration = isImportEqualsDeclaration; function isImportDeclaration(node) { - return node.kind === 243 /* ImportDeclaration */; + return node.kind === 244 /* ImportDeclaration */; } ts.isImportDeclaration = isImportDeclaration; function isImportClause(node) { - return node.kind === 244 /* ImportClause */; + return node.kind === 245 /* ImportClause */; } ts.isImportClause = isImportClause; function isNamespaceImport(node) { - return node.kind === 245 /* NamespaceImport */; + return node.kind === 246 /* NamespaceImport */; } ts.isNamespaceImport = isNamespaceImport; function isNamedImports(node) { - return node.kind === 246 /* NamedImports */; + return node.kind === 247 /* NamedImports */; } ts.isNamedImports = isNamedImports; function isImportSpecifier(node) { - return node.kind === 247 /* ImportSpecifier */; + return node.kind === 248 /* ImportSpecifier */; } ts.isImportSpecifier = isImportSpecifier; function isExportAssignment(node) { - return node.kind === 248 /* ExportAssignment */; + return node.kind === 249 /* ExportAssignment */; } ts.isExportAssignment = isExportAssignment; function isExportDeclaration(node) { - return node.kind === 249 /* ExportDeclaration */; + return node.kind === 250 /* ExportDeclaration */; } ts.isExportDeclaration = isExportDeclaration; function isNamedExports(node) { - return node.kind === 250 /* NamedExports */; + return node.kind === 251 /* NamedExports */; } ts.isNamedExports = isNamedExports; function isExportSpecifier(node) { - return node.kind === 251 /* ExportSpecifier */; + return node.kind === 252 /* ExportSpecifier */; } ts.isExportSpecifier = isExportSpecifier; function isMissingDeclaration(node) { - return node.kind === 252 /* MissingDeclaration */; + return node.kind === 253 /* MissingDeclaration */; } ts.isMissingDeclaration = isMissingDeclaration; // Module References function isExternalModuleReference(node) { - return node.kind === 253 /* ExternalModuleReference */; + return node.kind === 254 /* ExternalModuleReference */; } ts.isExternalModuleReference = isExternalModuleReference; // JSX function isJsxElement(node) { - return node.kind === 254 /* JsxElement */; + return node.kind === 255 /* JsxElement */; } ts.isJsxElement = isJsxElement; function isJsxSelfClosingElement(node) { - return node.kind === 255 /* JsxSelfClosingElement */; + return node.kind === 256 /* JsxSelfClosingElement */; } ts.isJsxSelfClosingElement = isJsxSelfClosingElement; function isJsxOpeningElement(node) { - return node.kind === 256 /* JsxOpeningElement */; + return node.kind === 257 /* JsxOpeningElement */; } ts.isJsxOpeningElement = isJsxOpeningElement; function isJsxClosingElement(node) { - return node.kind === 257 /* JsxClosingElement */; + return node.kind === 258 /* JsxClosingElement */; } ts.isJsxClosingElement = isJsxClosingElement; function isJsxFragment(node) { - return node.kind === 258 /* JsxFragment */; + return node.kind === 259 /* JsxFragment */; } ts.isJsxFragment = isJsxFragment; function isJsxOpeningFragment(node) { - return node.kind === 259 /* JsxOpeningFragment */; + return node.kind === 260 /* JsxOpeningFragment */; } ts.isJsxOpeningFragment = isJsxOpeningFragment; function isJsxClosingFragment(node) { - return node.kind === 260 /* JsxClosingFragment */; + return node.kind === 261 /* JsxClosingFragment */; } ts.isJsxClosingFragment = isJsxClosingFragment; function isJsxAttribute(node) { - return node.kind === 261 /* JsxAttribute */; + return node.kind === 262 /* JsxAttribute */; } ts.isJsxAttribute = isJsxAttribute; function isJsxAttributes(node) { - return node.kind === 262 /* JsxAttributes */; + return node.kind === 263 /* JsxAttributes */; } ts.isJsxAttributes = isJsxAttributes; function isJsxSpreadAttribute(node) { - return node.kind === 263 /* JsxSpreadAttribute */; + return node.kind === 264 /* JsxSpreadAttribute */; } ts.isJsxSpreadAttribute = isJsxSpreadAttribute; function isJsxExpression(node) { - return node.kind === 264 /* JsxExpression */; + return node.kind === 265 /* JsxExpression */; } ts.isJsxExpression = isJsxExpression; // Clauses function isCaseClause(node) { - return node.kind === 265 /* CaseClause */; + return node.kind === 266 /* CaseClause */; } ts.isCaseClause = isCaseClause; function isDefaultClause(node) { - return node.kind === 266 /* DefaultClause */; + return node.kind === 267 /* DefaultClause */; } ts.isDefaultClause = isDefaultClause; function isHeritageClause(node) { - return node.kind === 267 /* HeritageClause */; + return node.kind === 268 /* HeritageClause */; } ts.isHeritageClause = isHeritageClause; function isCatchClause(node) { - return node.kind === 268 /* CatchClause */; + return node.kind === 269 /* CatchClause */; } ts.isCatchClause = isCatchClause; // Property assignments function isPropertyAssignment(node) { - return node.kind === 269 /* PropertyAssignment */; + return node.kind === 270 /* PropertyAssignment */; } ts.isPropertyAssignment = isPropertyAssignment; function isShorthandPropertyAssignment(node) { - return node.kind === 270 /* ShorthandPropertyAssignment */; + return node.kind === 271 /* ShorthandPropertyAssignment */; } ts.isShorthandPropertyAssignment = isShorthandPropertyAssignment; function isSpreadAssignment(node) { - return node.kind === 271 /* SpreadAssignment */; + return node.kind === 272 /* SpreadAssignment */; } ts.isSpreadAssignment = isSpreadAssignment; // Enum function isEnumMember(node) { - return node.kind === 272 /* EnumMember */; + return node.kind === 273 /* EnumMember */; } ts.isEnumMember = isEnumMember; // Top-level nodes function isSourceFile(node) { - return node.kind === 273 /* SourceFile */; + return node.kind === 274 /* SourceFile */; } ts.isSourceFile = isSourceFile; function isBundle(node) { - return node.kind === 274 /* Bundle */; + return node.kind === 275 /* Bundle */; } ts.isBundle = isBundle; // JSDoc function isJSDocTypeExpression(node) { - return node.kind === 277 /* JSDocTypeExpression */; + return node.kind === 278 /* JSDocTypeExpression */; } ts.isJSDocTypeExpression = isJSDocTypeExpression; function isJSDocAllType(node) { - return node.kind === 278 /* JSDocAllType */; + return node.kind === 279 /* JSDocAllType */; } ts.isJSDocAllType = isJSDocAllType; function isJSDocUnknownType(node) { - return node.kind === 279 /* JSDocUnknownType */; + return node.kind === 280 /* JSDocUnknownType */; } ts.isJSDocUnknownType = isJSDocUnknownType; function isJSDocNullableType(node) { - return node.kind === 280 /* JSDocNullableType */; + return node.kind === 281 /* JSDocNullableType */; } ts.isJSDocNullableType = isJSDocNullableType; function isJSDocNonNullableType(node) { - return node.kind === 281 /* JSDocNonNullableType */; + return node.kind === 282 /* JSDocNonNullableType */; } ts.isJSDocNonNullableType = isJSDocNonNullableType; function isJSDocOptionalType(node) { - return node.kind === 282 /* JSDocOptionalType */; + return node.kind === 283 /* JSDocOptionalType */; } ts.isJSDocOptionalType = isJSDocOptionalType; function isJSDocFunctionType(node) { - return node.kind === 283 /* JSDocFunctionType */; + return node.kind === 284 /* JSDocFunctionType */; } ts.isJSDocFunctionType = isJSDocFunctionType; function isJSDocVariadicType(node) { - return node.kind === 284 /* JSDocVariadicType */; + return node.kind === 285 /* JSDocVariadicType */; } ts.isJSDocVariadicType = isJSDocVariadicType; function isJSDoc(node) { - return node.kind === 285 /* JSDocComment */; + return node.kind === 286 /* JSDocComment */; } ts.isJSDoc = isJSDoc; function isJSDocAugmentsTag(node) { - return node.kind === 289 /* JSDocAugmentsTag */; + return node.kind === 290 /* JSDocAugmentsTag */; } ts.isJSDocAugmentsTag = isJSDocAugmentsTag; function isJSDocClassTag(node) { - return node.kind === 290 /* JSDocClassTag */; + return node.kind === 291 /* JSDocClassTag */; } ts.isJSDocClassTag = isJSDocClassTag; function isJSDocParameterTag(node) { - return node.kind === 292 /* JSDocParameterTag */; + return node.kind === 293 /* JSDocParameterTag */; } ts.isJSDocParameterTag = isJSDocParameterTag; function isJSDocReturnTag(node) { - return node.kind === 293 /* JSDocReturnTag */; + return node.kind === 294 /* JSDocReturnTag */; } ts.isJSDocReturnTag = isJSDocReturnTag; function isJSDocTypeTag(node) { - return node.kind === 294 /* JSDocTypeTag */; + return node.kind === 295 /* JSDocTypeTag */; } ts.isJSDocTypeTag = isJSDocTypeTag; function isJSDocTemplateTag(node) { - return node.kind === 295 /* JSDocTemplateTag */; + return node.kind === 296 /* JSDocTemplateTag */; } ts.isJSDocTemplateTag = isJSDocTemplateTag; function isJSDocTypedefTag(node) { - return node.kind === 296 /* JSDocTypedefTag */; + return node.kind === 297 /* JSDocTypedefTag */; } ts.isJSDocTypedefTag = isJSDocTypedefTag; function isJSDocPropertyTag(node) { - return node.kind === 297 /* JSDocPropertyTag */; + return node.kind === 298 /* JSDocPropertyTag */; } ts.isJSDocPropertyTag = isJSDocPropertyTag; function isJSDocPropertyLikeTag(node) { - return node.kind === 297 /* JSDocPropertyTag */ || node.kind === 292 /* JSDocParameterTag */; + return node.kind === 298 /* JSDocPropertyTag */ || node.kind === 293 /* JSDocParameterTag */; } ts.isJSDocPropertyLikeTag = isJSDocPropertyLikeTag; function isJSDocTypeLiteral(node) { - return node.kind === 286 /* JSDocTypeLiteral */; + return node.kind === 287 /* JSDocTypeLiteral */; } ts.isJSDocTypeLiteral = isJSDocTypeLiteral; function isJSDocCallbackTag(node) { - return node.kind === 291 /* JSDocCallbackTag */; + return node.kind === 292 /* JSDocCallbackTag */; } ts.isJSDocCallbackTag = isJSDocCallbackTag; function isJSDocSignature(node) { - return node.kind === 287 /* JSDocSignature */; + return node.kind === 288 /* JSDocSignature */; } ts.isJSDocSignature = isJSDocSignature; })(ts || (ts = {})); @@ -13855,7 +13903,7 @@ var ts; (function (ts) { /* @internal */ function isSyntaxList(n) { - return n.kind === 298 /* SyntaxList */; + return n.kind === 299 /* SyntaxList */; } ts.isSyntaxList = isSyntaxList; /* @internal */ @@ -13865,7 +13913,7 @@ var ts; ts.isNode = isNode; /* @internal */ function isNodeKind(kind) { - return kind >= 145 /* FirstNode */; + return kind >= 146 /* FirstNode */; } ts.isNodeKind = isNodeKind; /** @@ -13874,7 +13922,7 @@ var ts; * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail. */ function isToken(n) { - return n.kind >= 0 /* FirstToken */ && n.kind <= 144 /* LastToken */; + return n.kind >= 0 /* FirstToken */ && n.kind <= 145 /* LastToken */; } ts.isToken = isToken; // Node Arrays @@ -13899,6 +13947,10 @@ var ts; return 13 /* FirstTemplateToken */ <= kind && kind <= 16 /* LastTemplateToken */; } ts.isTemplateLiteralKind = isTemplateLiteralKind; + function isTemplateLiteralToken(node) { + return isTemplateLiteralKind(node.kind); + } + ts.isTemplateLiteralToken = isTemplateLiteralToken; function isTemplateMiddleOrTemplateTail(node) { var kind = node.kind; return kind === 15 /* TemplateMiddle */ @@ -13912,7 +13964,6 @@ var ts; // Identifiers /* @internal */ function isGeneratedIdentifier(node) { - // Using `>` here catches both `GeneratedIdentifierKind.None` and `undefined`. return ts.isIdentifier(node) && (node.autoGenerateFlags & 7 /* KindMask */) > 0 /* None */; } ts.isGeneratedIdentifier = isGeneratedIdentifier; @@ -13952,7 +14003,7 @@ var ts; ts.isModifier = isModifier; function isEntityName(node) { var kind = node.kind; - return kind === 145 /* QualifiedName */ + return kind === 146 /* QualifiedName */ || kind === 71 /* Identifier */; } ts.isEntityName = isEntityName; @@ -13961,14 +14012,14 @@ var ts; return kind === 71 /* Identifier */ || kind === 9 /* StringLiteral */ || kind === 8 /* NumericLiteral */ - || kind === 146 /* ComputedPropertyName */; + || kind === 147 /* ComputedPropertyName */; } ts.isPropertyName = isPropertyName; function isBindingName(node) { var kind = node.kind; return kind === 71 /* Identifier */ - || kind === 179 /* ObjectBindingPattern */ - || kind === 180 /* ArrayBindingPattern */; + || kind === 180 /* ObjectBindingPattern */ + || kind === 181 /* ArrayBindingPattern */; } ts.isBindingName = isBindingName; // Functions @@ -13983,13 +14034,13 @@ var ts; ts.isFunctionLikeDeclaration = isFunctionLikeDeclaration; function isFunctionLikeDeclarationKind(kind) { switch (kind) { - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return true; default: return false; @@ -13998,14 +14049,14 @@ var ts; /* @internal */ function isFunctionLikeKind(kind) { switch (kind) { - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 287 /* JSDocSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 162 /* FunctionType */: - case 283 /* JSDocFunctionType */: - case 163 /* ConstructorType */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 288 /* JSDocSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 163 /* FunctionType */: + case 284 /* JSDocFunctionType */: + case 164 /* ConstructorType */: return true; default: return isFunctionLikeDeclarationKind(kind); @@ -14020,29 +14071,29 @@ var ts; // Classes function isClassElement(node) { var kind = node.kind; - return kind === 154 /* Constructor */ - || kind === 151 /* PropertyDeclaration */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */ - || kind === 159 /* IndexSignature */ - || kind === 211 /* SemicolonClassElement */; + return kind === 155 /* Constructor */ + || kind === 152 /* PropertyDeclaration */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */ + || kind === 160 /* IndexSignature */ + || kind === 212 /* SemicolonClassElement */; } ts.isClassElement = isClassElement; function isClassLike(node) { - return node && (node.kind === 234 /* ClassDeclaration */ || node.kind === 204 /* ClassExpression */); + return node && (node.kind === 235 /* ClassDeclaration */ || node.kind === 205 /* ClassExpression */); } ts.isClassLike = isClassLike; function isAccessor(node) { - return node && (node.kind === 155 /* GetAccessor */ || node.kind === 156 /* SetAccessor */); + return node && (node.kind === 156 /* GetAccessor */ || node.kind === 157 /* SetAccessor */); } ts.isAccessor = isAccessor; /* @internal */ function isMethodOrAccessor(node) { switch (node.kind) { - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return true; default: return false; @@ -14052,11 +14103,11 @@ var ts; // Type members function isTypeElement(node) { var kind = node.kind; - return kind === 158 /* ConstructSignature */ - || kind === 157 /* CallSignature */ - || kind === 150 /* PropertySignature */ - || kind === 152 /* MethodSignature */ - || kind === 159 /* IndexSignature */; + return kind === 159 /* ConstructSignature */ + || kind === 158 /* CallSignature */ + || kind === 151 /* PropertySignature */ + || kind === 153 /* MethodSignature */ + || kind === 160 /* IndexSignature */; } ts.isTypeElement = isTypeElement; function isClassOrTypeElement(node) { @@ -14065,18 +14116,19 @@ var ts; ts.isClassOrTypeElement = isClassOrTypeElement; function isObjectLiteralElementLike(node) { var kind = node.kind; - return kind === 269 /* PropertyAssignment */ - || kind === 270 /* ShorthandPropertyAssignment */ - || kind === 271 /* SpreadAssignment */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */; + return kind === 270 /* PropertyAssignment */ + || kind === 271 /* ShorthandPropertyAssignment */ + || kind === 272 /* SpreadAssignment */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */; } ts.isObjectLiteralElementLike = isObjectLiteralElementLike; // Type function isTypeNodeKind(kind) { - return (kind >= 160 /* FirstTypeNode */ && kind <= 178 /* LastTypeNode */) + return (kind >= 161 /* FirstTypeNode */ && kind <= 179 /* LastTypeNode */) || kind === 119 /* AnyKeyword */ + || kind === 142 /* UnknownKeyword */ || kind === 134 /* NumberKeyword */ || kind === 135 /* ObjectKeyword */ || kind === 122 /* BooleanKeyword */ @@ -14087,14 +14139,14 @@ var ts; || kind === 140 /* UndefinedKeyword */ || kind === 95 /* NullKeyword */ || kind === 131 /* NeverKeyword */ - || kind === 206 /* ExpressionWithTypeArguments */ - || kind === 278 /* JSDocAllType */ - || kind === 279 /* JSDocUnknownType */ - || kind === 280 /* JSDocNullableType */ - || kind === 281 /* JSDocNonNullableType */ - || kind === 282 /* JSDocOptionalType */ - || kind === 283 /* JSDocFunctionType */ - || kind === 284 /* JSDocVariadicType */; + || kind === 207 /* ExpressionWithTypeArguments */ + || kind === 279 /* JSDocAllType */ + || kind === 280 /* JSDocUnknownType */ + || kind === 281 /* JSDocNullableType */ + || kind === 282 /* JSDocNonNullableType */ + || kind === 283 /* JSDocOptionalType */ + || kind === 284 /* JSDocFunctionType */ + || kind === 285 /* JSDocVariadicType */; } /** * Node test that determines whether a node is a valid type node. @@ -14107,8 +14159,8 @@ var ts; ts.isTypeNode = isTypeNode; function isFunctionOrConstructorTypeNode(node) { switch (node.kind) { - case 162 /* FunctionType */: - case 163 /* ConstructorType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: return true; } return false; @@ -14119,8 +14171,8 @@ var ts; function isBindingPattern(node) { if (node) { var kind = node.kind; - return kind === 180 /* ArrayBindingPattern */ - || kind === 179 /* ObjectBindingPattern */; + return kind === 181 /* ArrayBindingPattern */ + || kind === 180 /* ObjectBindingPattern */; } return false; } @@ -14128,15 +14180,15 @@ var ts; /* @internal */ function isAssignmentPattern(node) { var kind = node.kind; - return kind === 182 /* ArrayLiteralExpression */ - || kind === 183 /* ObjectLiteralExpression */; + return kind === 183 /* ArrayLiteralExpression */ + || kind === 184 /* ObjectLiteralExpression */; } ts.isAssignmentPattern = isAssignmentPattern; /* @internal */ function isArrayBindingElement(node) { var kind = node.kind; - return kind === 181 /* BindingElement */ - || kind === 205 /* OmittedExpression */; + return kind === 182 /* BindingElement */ + || kind === 206 /* OmittedExpression */; } ts.isArrayBindingElement = isArrayBindingElement; /** @@ -14145,9 +14197,9 @@ var ts; /* @internal */ function isDeclarationBindingElement(bindingElement) { switch (bindingElement.kind) { - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: - case 181 /* BindingElement */: + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: + case 182 /* BindingElement */: return true; } return false; @@ -14168,8 +14220,8 @@ var ts; /* @internal */ function isObjectBindingOrAssignmentPattern(node) { switch (node.kind) { - case 179 /* ObjectBindingPattern */: - case 183 /* ObjectLiteralExpression */: + case 180 /* ObjectBindingPattern */: + case 184 /* ObjectLiteralExpression */: return true; } return false; @@ -14181,8 +14233,8 @@ var ts; /* @internal */ function isArrayBindingOrAssignmentPattern(node) { switch (node.kind) { - case 180 /* ArrayBindingPattern */: - case 182 /* ArrayLiteralExpression */: + case 181 /* ArrayBindingPattern */: + case 183 /* ArrayLiteralExpression */: return true; } return false; @@ -14191,26 +14243,26 @@ var ts; /* @internal */ function isPropertyAccessOrQualifiedNameOrImportTypeNode(node) { var kind = node.kind; - return kind === 184 /* PropertyAccessExpression */ - || kind === 145 /* QualifiedName */ - || kind === 178 /* ImportType */; + return kind === 185 /* PropertyAccessExpression */ + || kind === 146 /* QualifiedName */ + || kind === 179 /* ImportType */; } ts.isPropertyAccessOrQualifiedNameOrImportTypeNode = isPropertyAccessOrQualifiedNameOrImportTypeNode; // Expression function isPropertyAccessOrQualifiedName(node) { var kind = node.kind; - return kind === 184 /* PropertyAccessExpression */ - || kind === 145 /* QualifiedName */; + return kind === 185 /* PropertyAccessExpression */ + || kind === 146 /* QualifiedName */; } ts.isPropertyAccessOrQualifiedName = isPropertyAccessOrQualifiedName; function isCallLikeExpression(node) { switch (node.kind) { - case 256 /* JsxOpeningElement */: - case 255 /* JsxSelfClosingElement */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 188 /* TaggedTemplateExpression */: - case 149 /* Decorator */: + case 257 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 189 /* TaggedTemplateExpression */: + case 150 /* Decorator */: return true; default: return false; @@ -14218,12 +14270,12 @@ var ts; } ts.isCallLikeExpression = isCallLikeExpression; function isCallOrNewExpression(node) { - return node.kind === 186 /* CallExpression */ || node.kind === 187 /* NewExpression */; + return node.kind === 187 /* CallExpression */ || node.kind === 188 /* NewExpression */; } ts.isCallOrNewExpression = isCallOrNewExpression; function isTemplateLiteral(node) { var kind = node.kind; - return kind === 201 /* TemplateExpression */ + return kind === 202 /* TemplateExpression */ || kind === 13 /* NoSubstitutionTemplateLiteral */; } ts.isTemplateLiteral = isTemplateLiteral; @@ -14234,32 +14286,32 @@ var ts; ts.isLeftHandSideExpression = isLeftHandSideExpression; function isLeftHandSideExpressionKind(kind) { switch (kind) { - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: - case 187 /* NewExpression */: - case 186 /* CallExpression */: - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: - case 258 /* JsxFragment */: - case 188 /* TaggedTemplateExpression */: - case 182 /* ArrayLiteralExpression */: - case 190 /* ParenthesizedExpression */: - case 183 /* ObjectLiteralExpression */: - case 204 /* ClassExpression */: - case 191 /* FunctionExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: + case 188 /* NewExpression */: + case 187 /* CallExpression */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: + case 259 /* JsxFragment */: + case 189 /* TaggedTemplateExpression */: + case 183 /* ArrayLiteralExpression */: + case 191 /* ParenthesizedExpression */: + case 184 /* ObjectLiteralExpression */: + case 205 /* ClassExpression */: + case 192 /* FunctionExpression */: case 71 /* Identifier */: case 12 /* RegularExpressionLiteral */: case 8 /* NumericLiteral */: case 9 /* StringLiteral */: case 13 /* NoSubstitutionTemplateLiteral */: - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: case 86 /* FalseKeyword */: case 95 /* NullKeyword */: case 99 /* ThisKeyword */: case 101 /* TrueKeyword */: case 97 /* SuperKeyword */: - case 208 /* NonNullExpression */: - case 209 /* MetaProperty */: + case 209 /* NonNullExpression */: + case 210 /* MetaProperty */: case 91 /* ImportKeyword */: // technically this is only an Expression if it's in a CallExpression return true; default: @@ -14273,13 +14325,13 @@ var ts; ts.isUnaryExpression = isUnaryExpression; function isUnaryExpressionKind(kind) { switch (kind) { - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: - case 193 /* DeleteExpression */: - case 194 /* TypeOfExpression */: - case 195 /* VoidExpression */: - case 196 /* AwaitExpression */: - case 189 /* TypeAssertionExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: + case 194 /* DeleteExpression */: + case 195 /* TypeOfExpression */: + case 196 /* VoidExpression */: + case 197 /* AwaitExpression */: + case 190 /* TypeAssertionExpression */: return true; default: return isLeftHandSideExpressionKind(kind); @@ -14288,9 +14340,9 @@ var ts; /* @internal */ function isUnaryExpressionWithWrite(expr) { switch (expr.kind) { - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return true; - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return expr.operator === 43 /* PlusPlusToken */ || expr.operator === 44 /* MinusMinusToken */; default: @@ -14309,15 +14361,15 @@ var ts; ts.isExpression = isExpression; function isExpressionKind(kind) { switch (kind) { - case 200 /* ConditionalExpression */: - case 202 /* YieldExpression */: - case 192 /* ArrowFunction */: - case 199 /* BinaryExpression */: - case 203 /* SpreadElement */: - case 207 /* AsExpression */: - case 205 /* OmittedExpression */: - case 301 /* CommaListExpression */: - case 300 /* PartiallyEmittedExpression */: + case 201 /* ConditionalExpression */: + case 203 /* YieldExpression */: + case 193 /* ArrowFunction */: + case 200 /* BinaryExpression */: + case 204 /* SpreadElement */: + case 208 /* AsExpression */: + case 206 /* OmittedExpression */: + case 302 /* CommaListExpression */: + case 301 /* PartiallyEmittedExpression */: return true; default: return isUnaryExpressionKind(kind); @@ -14325,18 +14377,18 @@ var ts; } function isAssertionExpression(node) { var kind = node.kind; - return kind === 189 /* TypeAssertionExpression */ - || kind === 207 /* AsExpression */; + return kind === 190 /* TypeAssertionExpression */ + || kind === 208 /* AsExpression */; } ts.isAssertionExpression = isAssertionExpression; /* @internal */ function isPartiallyEmittedExpression(node) { - return node.kind === 300 /* PartiallyEmittedExpression */; + return node.kind === 301 /* PartiallyEmittedExpression */; } ts.isPartiallyEmittedExpression = isPartiallyEmittedExpression; /* @internal */ function isNotEmittedStatement(node) { - return node.kind === 299 /* NotEmittedStatement */; + return node.kind === 300 /* NotEmittedStatement */; } ts.isNotEmittedStatement = isNotEmittedStatement; /* @internal */ @@ -14347,13 +14399,13 @@ var ts; ts.isNotEmittedOrPartiallyEmittedNode = isNotEmittedOrPartiallyEmittedNode; function isIterationStatement(node, lookInLabeledStatements) { switch (node.kind) { - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: return true; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return lookInLabeledStatements && isIterationStatement(node.statement, lookInLabeledStatements); } return false; @@ -14361,7 +14413,7 @@ var ts; ts.isIterationStatement = isIterationStatement; /* @internal */ function isForInOrOfStatement(node) { - return node.kind === 220 /* ForInStatement */ || node.kind === 221 /* ForOfStatement */; + return node.kind === 221 /* ForInStatement */ || node.kind === 222 /* ForOfStatement */; } ts.isForInOrOfStatement = isForInOrOfStatement; // Element @@ -14385,113 +14437,113 @@ var ts; /* @internal */ function isModuleBody(node) { var kind = node.kind; - return kind === 239 /* ModuleBlock */ - || kind === 238 /* ModuleDeclaration */ + return kind === 240 /* ModuleBlock */ + || kind === 239 /* ModuleDeclaration */ || kind === 71 /* Identifier */; } ts.isModuleBody = isModuleBody; /* @internal */ function isNamespaceBody(node) { var kind = node.kind; - return kind === 239 /* ModuleBlock */ - || kind === 238 /* ModuleDeclaration */; + return kind === 240 /* ModuleBlock */ + || kind === 239 /* ModuleDeclaration */; } ts.isNamespaceBody = isNamespaceBody; /* @internal */ function isJSDocNamespaceBody(node) { var kind = node.kind; return kind === 71 /* Identifier */ - || kind === 238 /* ModuleDeclaration */; + || kind === 239 /* ModuleDeclaration */; } ts.isJSDocNamespaceBody = isJSDocNamespaceBody; /* @internal */ function isNamedImportBindings(node) { var kind = node.kind; - return kind === 246 /* NamedImports */ - || kind === 245 /* NamespaceImport */; + return kind === 247 /* NamedImports */ + || kind === 246 /* NamespaceImport */; } ts.isNamedImportBindings = isNamedImportBindings; /* @internal */ function isModuleOrEnumDeclaration(node) { - return node.kind === 238 /* ModuleDeclaration */ || node.kind === 237 /* EnumDeclaration */; + return node.kind === 239 /* ModuleDeclaration */ || node.kind === 238 /* EnumDeclaration */; } ts.isModuleOrEnumDeclaration = isModuleOrEnumDeclaration; function isDeclarationKind(kind) { - return kind === 192 /* ArrowFunction */ - || kind === 181 /* BindingElement */ - || kind === 234 /* ClassDeclaration */ - || kind === 204 /* ClassExpression */ - || kind === 154 /* Constructor */ - || kind === 237 /* EnumDeclaration */ - || kind === 272 /* EnumMember */ - || kind === 251 /* ExportSpecifier */ - || kind === 233 /* FunctionDeclaration */ - || kind === 191 /* FunctionExpression */ - || kind === 155 /* GetAccessor */ - || kind === 244 /* ImportClause */ - || kind === 242 /* ImportEqualsDeclaration */ - || kind === 247 /* ImportSpecifier */ - || kind === 235 /* InterfaceDeclaration */ - || kind === 261 /* JsxAttribute */ - || kind === 153 /* MethodDeclaration */ - || kind === 152 /* MethodSignature */ - || kind === 238 /* ModuleDeclaration */ - || kind === 241 /* NamespaceExportDeclaration */ - || kind === 245 /* NamespaceImport */ - || kind === 148 /* Parameter */ - || kind === 269 /* PropertyAssignment */ - || kind === 151 /* PropertyDeclaration */ - || kind === 150 /* PropertySignature */ - || kind === 156 /* SetAccessor */ - || kind === 270 /* ShorthandPropertyAssignment */ - || kind === 236 /* TypeAliasDeclaration */ - || kind === 147 /* TypeParameter */ - || kind === 231 /* VariableDeclaration */ - || kind === 296 /* JSDocTypedefTag */ - || kind === 291 /* JSDocCallbackTag */ - || kind === 297 /* JSDocPropertyTag */; + return kind === 193 /* ArrowFunction */ + || kind === 182 /* BindingElement */ + || kind === 235 /* ClassDeclaration */ + || kind === 205 /* ClassExpression */ + || kind === 155 /* Constructor */ + || kind === 238 /* EnumDeclaration */ + || kind === 273 /* EnumMember */ + || kind === 252 /* ExportSpecifier */ + || kind === 234 /* FunctionDeclaration */ + || kind === 192 /* FunctionExpression */ + || kind === 156 /* GetAccessor */ + || kind === 245 /* ImportClause */ + || kind === 243 /* ImportEqualsDeclaration */ + || kind === 248 /* ImportSpecifier */ + || kind === 236 /* InterfaceDeclaration */ + || kind === 262 /* JsxAttribute */ + || kind === 154 /* MethodDeclaration */ + || kind === 153 /* MethodSignature */ + || kind === 239 /* ModuleDeclaration */ + || kind === 242 /* NamespaceExportDeclaration */ + || kind === 246 /* NamespaceImport */ + || kind === 149 /* Parameter */ + || kind === 270 /* PropertyAssignment */ + || kind === 152 /* PropertyDeclaration */ + || kind === 151 /* PropertySignature */ + || kind === 157 /* SetAccessor */ + || kind === 271 /* ShorthandPropertyAssignment */ + || kind === 237 /* TypeAliasDeclaration */ + || kind === 148 /* TypeParameter */ + || kind === 232 /* VariableDeclaration */ + || kind === 297 /* JSDocTypedefTag */ + || kind === 292 /* JSDocCallbackTag */ + || kind === 298 /* JSDocPropertyTag */; } function isDeclarationStatementKind(kind) { - return kind === 233 /* FunctionDeclaration */ - || kind === 252 /* MissingDeclaration */ - || kind === 234 /* ClassDeclaration */ - || kind === 235 /* InterfaceDeclaration */ - || kind === 236 /* TypeAliasDeclaration */ - || kind === 237 /* EnumDeclaration */ - || kind === 238 /* ModuleDeclaration */ - || kind === 243 /* ImportDeclaration */ - || kind === 242 /* ImportEqualsDeclaration */ - || kind === 249 /* ExportDeclaration */ - || kind === 248 /* ExportAssignment */ - || kind === 241 /* NamespaceExportDeclaration */; + return kind === 234 /* FunctionDeclaration */ + || kind === 253 /* MissingDeclaration */ + || kind === 235 /* ClassDeclaration */ + || kind === 236 /* InterfaceDeclaration */ + || kind === 237 /* TypeAliasDeclaration */ + || kind === 238 /* EnumDeclaration */ + || kind === 239 /* ModuleDeclaration */ + || kind === 244 /* ImportDeclaration */ + || kind === 243 /* ImportEqualsDeclaration */ + || kind === 250 /* ExportDeclaration */ + || kind === 249 /* ExportAssignment */ + || kind === 242 /* NamespaceExportDeclaration */; } function isStatementKindButNotDeclarationKind(kind) { - return kind === 223 /* BreakStatement */ - || kind === 222 /* ContinueStatement */ - || kind === 230 /* DebuggerStatement */ - || kind === 217 /* DoStatement */ - || kind === 215 /* ExpressionStatement */ - || kind === 214 /* EmptyStatement */ - || kind === 220 /* ForInStatement */ - || kind === 221 /* ForOfStatement */ - || kind === 219 /* ForStatement */ - || kind === 216 /* IfStatement */ - || kind === 227 /* LabeledStatement */ - || kind === 224 /* ReturnStatement */ - || kind === 226 /* SwitchStatement */ - || kind === 228 /* ThrowStatement */ - || kind === 229 /* TryStatement */ - || kind === 213 /* VariableStatement */ - || kind === 218 /* WhileStatement */ - || kind === 225 /* WithStatement */ - || kind === 299 /* NotEmittedStatement */ - || kind === 303 /* EndOfDeclarationMarker */ - || kind === 302 /* MergeDeclarationMarker */; + return kind === 224 /* BreakStatement */ + || kind === 223 /* ContinueStatement */ + || kind === 231 /* DebuggerStatement */ + || kind === 218 /* DoStatement */ + || kind === 216 /* ExpressionStatement */ + || kind === 215 /* EmptyStatement */ + || kind === 221 /* ForInStatement */ + || kind === 222 /* ForOfStatement */ + || kind === 220 /* ForStatement */ + || kind === 217 /* IfStatement */ + || kind === 228 /* LabeledStatement */ + || kind === 225 /* ReturnStatement */ + || kind === 227 /* SwitchStatement */ + || kind === 229 /* ThrowStatement */ + || kind === 230 /* TryStatement */ + || kind === 214 /* VariableStatement */ + || kind === 219 /* WhileStatement */ + || kind === 226 /* WithStatement */ + || kind === 300 /* NotEmittedStatement */ + || kind === 304 /* EndOfDeclarationMarker */ + || kind === 303 /* MergeDeclarationMarker */; } /* @internal */ function isDeclaration(node) { - if (node.kind === 147 /* TypeParameter */) { - return node.parent.kind !== 295 /* JSDocTemplateTag */ || ts.isInJavaScriptFile(node); + if (node.kind === 148 /* TypeParameter */) { + return node.parent.kind !== 296 /* JSDocTemplateTag */ || ts.isInJavaScriptFile(node); } return isDeclarationKind(node.kind); } @@ -14518,10 +14570,10 @@ var ts; } ts.isStatement = isStatement; function isBlockStatement(node) { - if (node.kind !== 212 /* Block */) + if (node.kind !== 213 /* Block */) return false; if (node.parent !== undefined) { - if (node.parent.kind === 229 /* TryStatement */ || node.parent.kind === 268 /* CatchClause */) { + if (node.parent.kind === 230 /* TryStatement */ || node.parent.kind === 269 /* CatchClause */) { return false; } } @@ -14531,8 +14583,8 @@ var ts; /* @internal */ function isModuleReference(node) { var kind = node.kind; - return kind === 253 /* ExternalModuleReference */ - || kind === 145 /* QualifiedName */ + return kind === 254 /* ExternalModuleReference */ + || kind === 146 /* QualifiedName */ || kind === 71 /* Identifier */; } ts.isModuleReference = isModuleReference; @@ -14542,76 +14594,78 @@ var ts; var kind = node.kind; return kind === 99 /* ThisKeyword */ || kind === 71 /* Identifier */ - || kind === 184 /* PropertyAccessExpression */; + || kind === 185 /* PropertyAccessExpression */; } ts.isJsxTagNameExpression = isJsxTagNameExpression; /* @internal */ function isJsxChild(node) { var kind = node.kind; - return kind === 254 /* JsxElement */ - || kind === 264 /* JsxExpression */ - || kind === 255 /* JsxSelfClosingElement */ + return kind === 255 /* JsxElement */ + || kind === 265 /* JsxExpression */ + || kind === 256 /* JsxSelfClosingElement */ || kind === 10 /* JsxText */ - || kind === 258 /* JsxFragment */; + || kind === 259 /* JsxFragment */; } ts.isJsxChild = isJsxChild; /* @internal */ function isJsxAttributeLike(node) { var kind = node.kind; - return kind === 261 /* JsxAttribute */ - || kind === 263 /* JsxSpreadAttribute */; + return kind === 262 /* JsxAttribute */ + || kind === 264 /* JsxSpreadAttribute */; } ts.isJsxAttributeLike = isJsxAttributeLike; /* @internal */ function isStringLiteralOrJsxExpression(node) { var kind = node.kind; return kind === 9 /* StringLiteral */ - || kind === 264 /* JsxExpression */; + || kind === 265 /* JsxExpression */; } ts.isStringLiteralOrJsxExpression = isStringLiteralOrJsxExpression; function isJsxOpeningLikeElement(node) { var kind = node.kind; - return kind === 256 /* JsxOpeningElement */ - || kind === 255 /* JsxSelfClosingElement */; + return kind === 257 /* JsxOpeningElement */ + || kind === 256 /* JsxSelfClosingElement */; } ts.isJsxOpeningLikeElement = isJsxOpeningLikeElement; // Clauses function isCaseOrDefaultClause(node) { var kind = node.kind; - return kind === 265 /* CaseClause */ - || kind === 266 /* DefaultClause */; + return kind === 266 /* CaseClause */ + || kind === 267 /* DefaultClause */; } ts.isCaseOrDefaultClause = isCaseOrDefaultClause; // JSDoc /** True if node is of some JSDoc syntax kind. */ /* @internal */ function isJSDocNode(node) { - return node.kind >= 277 /* FirstJSDocNode */ && node.kind <= 297 /* LastJSDocNode */; + return node.kind >= 278 /* FirstJSDocNode */ && node.kind <= 298 /* LastJSDocNode */; } ts.isJSDocNode = isJSDocNode; /** True if node is of a kind that may contain comment text. */ function isJSDocCommentContainingNode(node) { - return node.kind === 285 /* JSDocComment */ || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) || ts.isJSDocSignature(node); + return node.kind === 286 /* JSDocComment */ || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) || ts.isJSDocSignature(node); } ts.isJSDocCommentContainingNode = isJSDocCommentContainingNode; // TODO: determine what this does before making it public. /* @internal */ function isJSDocTag(node) { - return node.kind >= 288 /* FirstJSDocTagNode */ && node.kind <= 297 /* LastJSDocTagNode */; + return node.kind >= 289 /* FirstJSDocTagNode */ && node.kind <= 298 /* LastJSDocTagNode */; } ts.isJSDocTag = isJSDocTag; function isSetAccessor(node) { - return node.kind === 156 /* SetAccessor */; + return node.kind === 157 /* SetAccessor */; } ts.isSetAccessor = isSetAccessor; function isGetAccessor(node) { - return node.kind === 155 /* GetAccessor */; + return node.kind === 156 /* GetAccessor */; } ts.isGetAccessor = isGetAccessor; /** True if has jsdoc nodes attached to it. */ /* @internal */ + // TODO: GH#19856 Would like to return `node is Node & { jsDoc: JSDoc[] }` but it causes long compile times function hasJSDocNodes(node) { - return !!node.jsDoc && node.jsDoc.length > 0; + var jsDoc = node.jsDoc; + return !!jsDoc && jsDoc.length > 0; } ts.hasJSDocNodes = hasJSDocNodes; /** True if has type node attached to it. */ @@ -14624,36 +14678,36 @@ var ts; /* @internal */ function couldHaveType(node) { switch (node.kind) { - case 148 /* Parameter */: - case 150 /* PropertySignature */: - case 151 /* PropertyDeclaration */: - case 152 /* MethodSignature */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 160 /* TypePredicate */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 172 /* ParenthesizedType */: - case 174 /* TypeOperator */: - case 176 /* MappedType */: - case 189 /* TypeAssertionExpression */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 207 /* AsExpression */: - case 231 /* VariableDeclaration */: - case 233 /* FunctionDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 277 /* JSDocTypeExpression */: - case 280 /* JSDocNullableType */: - case 281 /* JSDocNonNullableType */: - case 282 /* JSDocOptionalType */: - case 283 /* JSDocFunctionType */: - case 284 /* JSDocVariadicType */: + case 149 /* Parameter */: + case 151 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 153 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 161 /* TypePredicate */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 173 /* ParenthesizedType */: + case 175 /* TypeOperator */: + case 177 /* MappedType */: + case 190 /* TypeAssertionExpression */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 208 /* AsExpression */: + case 232 /* VariableDeclaration */: + case 234 /* FunctionDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 278 /* JSDocTypeExpression */: + case 281 /* JSDocNullableType */: + case 282 /* JSDocNonNullableType */: + case 283 /* JSDocOptionalType */: + case 284 /* JSDocFunctionType */: + case 285 /* JSDocVariadicType */: return true; } return false; @@ -14673,13 +14727,13 @@ var ts; ts.hasOnlyExpressionInitializer = hasOnlyExpressionInitializer; function isObjectLiteralElement(node) { switch (node.kind) { - case 261 /* JsxAttribute */: - case 263 /* JsxSpreadAttribute */: - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 262 /* JsxAttribute */: + case 264 /* JsxSpreadAttribute */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return true; default: return false; @@ -14688,7 +14742,7 @@ var ts; ts.isObjectLiteralElement = isObjectLiteralElement; /* @internal */ function isTypeReferenceType(node) { - return node.kind === 161 /* TypeReference */ || node.kind === 206 /* ExpressionWithTypeArguments */; + return node.kind === 162 /* TypeReference */ || node.kind === 207 /* ExpressionWithTypeArguments */; } ts.isTypeReferenceType = isTypeReferenceType; var MAX_SMI_X86 = 1073741823; @@ -14722,7 +14776,7 @@ var ts; ts.isStringLiteralLike = isStringLiteralLike; /** @internal */ function isNamedImportsOrExports(node) { - return node.kind === 246 /* NamedImports */ || node.kind === 250 /* NamedExports */; + return node.kind === 247 /* NamedImports */ || node.kind === 251 /* NamedExports */; } ts.isNamedImportsOrExports = isNamedImportsOrExports; })(ts || (ts = {})); @@ -14745,7 +14799,7 @@ var ts; var SourceFileConstructor; // tslint:enable variable-name function createNode(kind, pos, end) { - if (kind === 273 /* SourceFile */) { + if (kind === 274 /* SourceFile */) { return new (SourceFileConstructor || (SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor()))(kind, pos, end); } else if (kind === 71 /* Identifier */) { @@ -14797,28 +14851,28 @@ var ts; * that they appear in the source code. The language service depends on this property to locate nodes by position. */ function forEachChild(node, cbNode, cbNodes) { - if (!node || node.kind <= 144 /* LastToken */) { + if (!node || node.kind <= 145 /* LastToken */) { return; } switch (node.kind) { - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return visitNode(cbNode, node.left) || visitNode(cbNode, node.right); - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.constraint) || visitNode(cbNode, node.default) || visitNode(cbNode, node.expression); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.equalsToken) || visitNode(cbNode, node.objectAssignmentInitializer); - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: return visitNode(cbNode, node.expression); - case 148 /* Parameter */: + case 149 /* Parameter */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || @@ -14826,7 +14880,7 @@ var ts; visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || @@ -14834,51 +14888,51 @@ var ts; visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.initializer); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.asteriskToken) || @@ -14889,304 +14943,304 @@ var ts; visitNode(cbNode, node.type) || visitNode(cbNode, node.equalsGreaterThanToken) || visitNode(cbNode, node.body); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return visitNode(cbNode, node.typeName) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return visitNode(cbNode, node.parameterName) || visitNode(cbNode, node.type); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return visitNode(cbNode, node.exprName); - case 165 /* TypeLiteral */: + case 166 /* TypeLiteral */: return visitNodes(cbNode, cbNodes, node.members); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return visitNode(cbNode, node.elementType); - case 167 /* TupleType */: + case 168 /* TupleType */: return visitNodes(cbNode, cbNodes, node.elementTypes); - case 168 /* UnionType */: - case 169 /* IntersectionType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: return visitNodes(cbNode, cbNodes, node.types); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return visitNode(cbNode, node.checkType) || visitNode(cbNode, node.extendsType) || visitNode(cbNode, node.trueType) || visitNode(cbNode, node.falseType); - case 171 /* InferType */: + case 172 /* InferType */: return visitNode(cbNode, node.typeParameter); - case 178 /* ImportType */: + case 179 /* ImportType */: return visitNode(cbNode, node.argument) || visitNode(cbNode, node.qualifier) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 172 /* ParenthesizedType */: - case 174 /* TypeOperator */: + case 173 /* ParenthesizedType */: + case 175 /* TypeOperator */: return visitNode(cbNode, node.type); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return visitNode(cbNode, node.objectType) || visitNode(cbNode, node.indexType); - case 176 /* MappedType */: + case 177 /* MappedType */: return visitNode(cbNode, node.readonlyToken) || visitNode(cbNode, node.typeParameter) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type); - case 177 /* LiteralType */: + case 178 /* LiteralType */: return visitNode(cbNode, node.literal); - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: return visitNodes(cbNode, cbNodes, node.elements); - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return visitNodes(cbNode, cbNodes, node.elements); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return visitNodes(cbNode, cbNodes, node.properties); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.name); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.argumentExpression); - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNodes(cbNode, cbNodes, node.arguments); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return visitNode(cbNode, node.tag) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.template); - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: return visitNode(cbNode, node.type) || visitNode(cbNode, node.expression); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return visitNode(cbNode, node.expression); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return visitNode(cbNode, node.expression); - case 194 /* TypeOfExpression */: + case 195 /* TypeOfExpression */: return visitNode(cbNode, node.expression); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return visitNode(cbNode, node.expression); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return visitNode(cbNode, node.operand); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return visitNode(cbNode, node.asteriskToken) || visitNode(cbNode, node.expression); - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return visitNode(cbNode, node.expression); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return visitNode(cbNode, node.operand); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitNode(cbNode, node.left) || visitNode(cbNode, node.operatorToken) || visitNode(cbNode, node.right); - case 207 /* AsExpression */: + case 208 /* AsExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.type); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: return visitNode(cbNode, node.expression); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return visitNode(cbNode, node.name); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return visitNode(cbNode, node.condition) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.whenTrue) || visitNode(cbNode, node.colonToken) || visitNode(cbNode, node.whenFalse); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return visitNode(cbNode, node.expression); - case 212 /* Block */: - case 239 /* ModuleBlock */: + case 213 /* Block */: + case 240 /* ModuleBlock */: return visitNodes(cbNode, cbNodes, node.statements); - case 273 /* SourceFile */: + case 274 /* SourceFile */: return visitNodes(cbNode, cbNodes, node.statements) || visitNode(cbNode, node.endOfFileToken); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.declarationList); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return visitNodes(cbNode, cbNodes, node.declarations); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return visitNode(cbNode, node.expression); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.thenStatement) || visitNode(cbNode, node.elseStatement); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return visitNode(cbNode, node.statement) || visitNode(cbNode, node.expression); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.condition) || visitNode(cbNode, node.incrementor) || visitNode(cbNode, node.statement); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitNode(cbNode, node.awaitModifier) || visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 222 /* ContinueStatement */: - case 223 /* BreakStatement */: + case 223 /* ContinueStatement */: + case 224 /* BreakStatement */: return visitNode(cbNode, node.label); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return visitNode(cbNode, node.expression); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.caseBlock); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return visitNodes(cbNode, cbNodes, node.clauses); - case 265 /* CaseClause */: + case 266 /* CaseClause */: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.statements); - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: return visitNodes(cbNode, cbNodes, node.statements); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return visitNode(cbNode, node.label) || visitNode(cbNode, node.statement); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return visitNode(cbNode, node.expression); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return visitNode(cbNode, node.tryBlock) || visitNode(cbNode, node.catchClause) || visitNode(cbNode, node.finallyBlock); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitNode(cbNode, node.variableDeclaration) || visitNode(cbNode, node.block); - case 149 /* Decorator */: + case 150 /* Decorator */: return visitNode(cbNode, node.expression); - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.heritageClauses) || visitNodes(cbNode, cbNodes, node.members); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.heritageClauses) || visitNodes(cbNode, cbNodes, node.members); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNode(cbNode, node.type); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.members); - case 272 /* EnumMember */: + case 273 /* EnumMember */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.body); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.moduleReference); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.importClause) || visitNode(cbNode, node.moduleSpecifier); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.namedBindings); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return visitNode(cbNode, node.name); - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return visitNode(cbNode, node.name); - case 246 /* NamedImports */: - case 250 /* NamedExports */: + case 247 /* NamedImports */: + case 251 /* NamedExports */: return visitNodes(cbNode, cbNodes, node.elements); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.exportClause) || visitNode(cbNode, node.moduleSpecifier); - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: return visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.expression); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return visitNode(cbNode, node.head) || visitNodes(cbNode, cbNodes, node.templateSpans); - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.literal); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return visitNode(cbNode, node.expression); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: return visitNodes(cbNode, cbNodes, node.types); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: return visitNode(cbNode, node.expression); - case 252 /* MissingDeclaration */: + case 253 /* MissingDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators); - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: return visitNodes(cbNode, cbNodes, node.elements); - case 254 /* JsxElement */: + case 255 /* JsxElement */: return visitNode(cbNode, node.openingElement) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingElement); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return visitNode(cbNode, node.openingFragment) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingFragment); - case 255 /* JsxSelfClosingElement */: - case 256 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: return visitNode(cbNode, node.tagName) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.attributes); - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return visitNodes(cbNode, cbNodes, node.properties); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 263 /* JsxSpreadAttribute */: + case 264 /* JsxSpreadAttribute */: return visitNode(cbNode, node.expression); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.expression); - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: return visitNode(cbNode, node.tagName); - case 277 /* JSDocTypeExpression */: + case 278 /* JSDocTypeExpression */: return visitNode(cbNode, node.type); - case 281 /* JSDocNonNullableType */: + case 282 /* JSDocNonNullableType */: return visitNode(cbNode, node.type); - case 280 /* JSDocNullableType */: + case 281 /* JSDocNullableType */: return visitNode(cbNode, node.type); - case 282 /* JSDocOptionalType */: + case 283 /* JSDocOptionalType */: return visitNode(cbNode, node.type); - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: return visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: return visitNode(cbNode, node.type); - case 285 /* JSDocComment */: + case 286 /* JSDocComment */: return visitNodes(cbNode, cbNodes, node.tags); - case 292 /* JSDocParameterTag */: - case 297 /* JSDocPropertyTag */: + case 293 /* JSDocParameterTag */: + case 298 /* JSDocPropertyTag */: if (node.isNameFirst) { return visitNode(cbNode, node.name) || visitNode(cbNode, node.typeExpression); @@ -15195,17 +15249,17 @@ var ts; return visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.name); } - case 293 /* JSDocReturnTag */: + case 294 /* JSDocReturnTag */: return visitNode(cbNode, node.typeExpression); - case 294 /* JSDocTypeTag */: + case 295 /* JSDocTypeTag */: return visitNode(cbNode, node.typeExpression); - case 289 /* JSDocAugmentsTag */: + case 290 /* JSDocAugmentsTag */: return visitNode(cbNode, node.class); - case 295 /* JSDocTemplateTag */: + case 296 /* JSDocTemplateTag */: return visitNodes(cbNode, cbNodes, node.typeParameters); - case 296 /* JSDocTypedefTag */: + case 297 /* JSDocTypedefTag */: if (node.typeExpression && - node.typeExpression.kind === 277 /* JSDocTypeExpression */) { + node.typeExpression.kind === 278 /* JSDocTypeExpression */) { return visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.fullName); } @@ -15213,16 +15267,16 @@ var ts; return visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression); } - case 291 /* JSDocCallbackTag */: + case 292 /* JSDocCallbackTag */: return visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression); - case 287 /* JSDocSignature */: + case 288 /* JSDocSignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 286 /* JSDocTypeLiteral */: + case 287 /* JSDocTypeLiteral */: if (node.jsDocPropertyTags) { for (var _i = 0, _a = node.jsDocPropertyTags; _i < _a.length; _i++) { var tag = _a[_i]; @@ -15230,7 +15284,7 @@ var ts; } } return; - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: return visitNode(cbNode, node.expression); } } @@ -15278,6 +15332,7 @@ var ts; // becoming detached from any SourceFile). It is recommended that this SourceFile not // be used once 'update' is called on it. function updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks) { + if (aggressiveChecks === void 0) { aggressiveChecks = false; } var newSourceFile = IncrementalParser.updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks); // Because new source file node is created, it may not have the flag PossiblyContainDynamicImport. This is the case if there is no new edit to add dynamic import. // We will manually port the flag to the new source file. @@ -15403,6 +15458,7 @@ var ts; // attached to the EOF token. var parseErrorBeforeNextFinishedNode = false; function parseSourceFile(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes, scriptKind) { + if (setParentNodes === void 0) { setParentNodes = false; } scriptKind = ts.ensureScriptKind(fileName, scriptKind); if (scriptKind === 6 /* JSON */) { var result_1 = parseJsonText(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes); @@ -15433,6 +15489,7 @@ var ts; initializeState(sourceText, languageVersion, syntaxCursor, 6 /* JSON */); // Set source file so that errors will be reported with this file name sourceFile = createSourceFile(fileName, 2 /* ES2015 */, 6 /* JSON */, /*isDeclaration*/ false); + sourceFile.flags = contextFlags; // Prime the scanner. nextToken(); var pos = getNodePos(); @@ -15441,7 +15498,7 @@ var ts; sourceFile.endOfFileToken = parseTokenNode(); } else { - var statement = createNode(215 /* ExpressionStatement */); + var statement = createNode(216 /* ExpressionStatement */); switch (token()) { case 21 /* OpenBracketToken */: statement.expression = parseArrayLiteralExpression(); @@ -15600,10 +15657,11 @@ var ts; function createSourceFile(fileName, languageVersion, scriptKind, isDeclarationFile) { // code from createNode is inlined here so createNode won't have to deal with special case of creating source files // this is quite rare comparing to other nodes and createNode should be as fast as possible - var sourceFile = new SourceFileConstructor(273 /* SourceFile */, /*pos*/ 0, /* end */ sourceText.length); + var sourceFile = new SourceFileConstructor(274 /* SourceFile */, /*pos*/ 0, /* end */ sourceText.length); nodeCount++; sourceFile.text = sourceText; sourceFile.bindDiagnostics = []; + sourceFile.bindSuggestionDiagnostics = undefined; sourceFile.languageVersion = languageVersion; sourceFile.fileName = ts.normalizePath(fileName); sourceFile.languageVariant = getLanguageVariant(scriptKind); @@ -15987,7 +16045,7 @@ var ts; // PropertyName [Yield]: // LiteralPropertyName // ComputedPropertyName[?Yield] - var node = createNode(146 /* ComputedPropertyName */); + var node = createNode(147 /* ComputedPropertyName */); parseExpected(21 /* OpenBracketToken */); // We parse any expression (including a comma expression). But the grammar // says that only an assignment expression is allowed, so the grammar checker @@ -16124,7 +16182,7 @@ var ts; case 14 /* JsxChildren */: return true; } - ts.Debug.fail("Non-exhaustive case in 'isListElement'."); + return ts.Debug.fail("Non-exhaustive case in 'isListElement'."); } function isValidHeritageClauseObjectLiteral() { ts.Debug.assert(token() === 17 /* OpenBraceToken */); @@ -16213,6 +16271,8 @@ var ts; return token() === 29 /* GreaterThanToken */ || token() === 41 /* SlashToken */; case 14 /* JsxChildren */: return token() === 27 /* LessThanToken */ && lookAhead(nextTokenIsSlash); + default: + return false; } } function isVariableDeclaratorListTerminator() { @@ -16399,14 +16459,14 @@ var ts; function isReusableClassMember(node) { if (node) { switch (node.kind) { - case 154 /* Constructor */: - case 159 /* IndexSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 151 /* PropertyDeclaration */: - case 211 /* SemicolonClassElement */: + case 155 /* Constructor */: + case 160 /* IndexSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 212 /* SemicolonClassElement */: return true; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: // Method declarations are not necessarily reusable. An object-literal // may have a method calls "constructor(...)" and we must reparse that // into an actual .ConstructorDeclaration. @@ -16421,8 +16481,8 @@ var ts; function isReusableSwitchClause(node) { if (node) { switch (node.kind) { - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: return true; } } @@ -16431,58 +16491,58 @@ var ts; function isReusableStatement(node) { if (node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 213 /* VariableStatement */: - case 212 /* Block */: - case 216 /* IfStatement */: - case 215 /* ExpressionStatement */: - case 228 /* ThrowStatement */: - case 224 /* ReturnStatement */: - case 226 /* SwitchStatement */: - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 219 /* ForStatement */: - case 218 /* WhileStatement */: - case 225 /* WithStatement */: - case 214 /* EmptyStatement */: - case 229 /* TryStatement */: - case 227 /* LabeledStatement */: - case 217 /* DoStatement */: - case 230 /* DebuggerStatement */: - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 249 /* ExportDeclaration */: - case 248 /* ExportAssignment */: - case 238 /* ModuleDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 234 /* FunctionDeclaration */: + case 214 /* VariableStatement */: + case 213 /* Block */: + case 217 /* IfStatement */: + case 216 /* ExpressionStatement */: + case 229 /* ThrowStatement */: + case 225 /* ReturnStatement */: + case 227 /* SwitchStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 220 /* ForStatement */: + case 219 /* WhileStatement */: + case 226 /* WithStatement */: + case 215 /* EmptyStatement */: + case 230 /* TryStatement */: + case 228 /* LabeledStatement */: + case 218 /* DoStatement */: + case 231 /* DebuggerStatement */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 250 /* ExportDeclaration */: + case 249 /* ExportAssignment */: + case 239 /* ModuleDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: return true; } } return false; } function isReusableEnumMember(node) { - return node.kind === 272 /* EnumMember */; + return node.kind === 273 /* EnumMember */; } function isReusableTypeMember(node) { if (node) { switch (node.kind) { - case 158 /* ConstructSignature */: - case 152 /* MethodSignature */: - case 159 /* IndexSignature */: - case 150 /* PropertySignature */: - case 157 /* CallSignature */: + case 159 /* ConstructSignature */: + case 153 /* MethodSignature */: + case 160 /* IndexSignature */: + case 151 /* PropertySignature */: + case 158 /* CallSignature */: return true; } } return false; } function isReusableVariableDeclaration(node) { - if (node.kind !== 231 /* VariableDeclaration */) { + if (node.kind !== 232 /* VariableDeclaration */) { return false; } // Very subtle incremental parsing bug. Consider the following code: @@ -16503,7 +16563,7 @@ var ts; return variableDeclarator.initializer === undefined; } function isReusableParameter(node) { - if (node.kind !== 148 /* Parameter */) { + if (node.kind !== 149 /* Parameter */) { return false; } // See the comment in isReusableVariableDeclaration for why we do this. @@ -16544,6 +16604,7 @@ var ts; case 22 /* ImportOrExportSpecifiers */: return ts.Diagnostics.Identifier_expected; case 13 /* JsxAttributes */: return ts.Diagnostics.Identifier_expected; case 14 /* JsxChildren */: return ts.Diagnostics.Identifier_expected; + default: return undefined; // TODO: GH#18217 `default: Debug.assertNever(context);` } } // Parses a comma-delimited list of elements @@ -16632,7 +16693,7 @@ var ts; return entity; } function createQualifiedName(entity, name) { - var node = createNode(145 /* QualifiedName */, entity.pos); + var node = createNode(146 /* QualifiedName */, entity.pos); node.left = entity; node.right = name; return finishNode(node); @@ -16669,19 +16730,19 @@ var ts; return allowIdentifierNames ? parseIdentifierName() : parseIdentifier(); } function parseTemplateExpression() { - var template = createNode(201 /* TemplateExpression */); + var template = createNode(202 /* TemplateExpression */); template.head = parseTemplateHead(); ts.Debug.assert(template.head.kind === 14 /* TemplateHead */, "Template head has wrong token kind"); var list = []; var listPos = getNodePos(); do { list.push(parseTemplateSpan()); - } while (ts.lastOrUndefined(list).literal.kind === 15 /* TemplateMiddle */); + } while (ts.last(list).literal.kind === 15 /* TemplateMiddle */); template.templateSpans = createNodeArray(list, listPos); return finishNode(template); } function parseTemplateSpan() { - var span = createNode(210 /* TemplateSpan */); + var span = createNode(211 /* TemplateSpan */); span.expression = allowInAnd(parseExpression); var literal; if (token() === 18 /* CloseBraceToken */) { @@ -16732,7 +16793,7 @@ var ts; } // TYPES function parseTypeReference() { - var node = createNode(161 /* TypeReference */); + var node = createNode(162 /* TypeReference */); node.typeName = parseEntityName(/*allowReservedWords*/ true, ts.Diagnostics.Type_expected); if (!scanner.hasPrecedingLineBreak() && token() === 27 /* LessThanToken */) { node.typeArguments = parseBracketedList(19 /* TypeArguments */, parseType, 27 /* LessThanToken */, 29 /* GreaterThanToken */); @@ -16741,20 +16802,20 @@ var ts; } function parseThisTypePredicate(lhs) { nextToken(); - var node = createNode(160 /* TypePredicate */, lhs.pos); + var node = createNode(161 /* TypePredicate */, lhs.pos); node.parameterName = lhs; node.type = parseType(); return finishNode(node); } function parseThisTypeNode() { - var node = createNode(173 /* ThisType */); + var node = createNode(174 /* ThisType */); nextToken(); return finishNode(node); } function parseJSDocAllType(postFixEquals) { - var result = createNode(278 /* JSDocAllType */); + var result = createNode(279 /* JSDocAllType */); if (postFixEquals) { - return createJSDocPostfixType(282 /* JSDocOptionalType */, result); + return createJSDocPostfixType(283 /* JSDocOptionalType */, result); } else { nextToken(); @@ -16762,7 +16823,7 @@ var ts; return finishNode(result); } function parseJSDocNonNullableType() { - var result = createNode(281 /* JSDocNonNullableType */); + var result = createNode(282 /* JSDocNonNullableType */); nextToken(); result.type = parseNonArrayType(); return finishNode(result); @@ -16786,28 +16847,28 @@ var ts; token() === 29 /* GreaterThanToken */ || token() === 58 /* EqualsToken */ || token() === 49 /* BarToken */) { - var result = createNode(279 /* JSDocUnknownType */, pos); + var result = createNode(280 /* JSDocUnknownType */, pos); return finishNode(result); } else { - var result = createNode(280 /* JSDocNullableType */, pos); + var result = createNode(281 /* JSDocNullableType */, pos); result.type = parseType(); return finishNode(result); } } function parseJSDocFunctionType() { if (lookAhead(nextTokenIsOpenParen)) { - var result = createNodeWithJSDoc(283 /* JSDocFunctionType */); + var result = createNodeWithJSDoc(284 /* JSDocFunctionType */); nextToken(); fillSignature(56 /* ColonToken */, 4 /* Type */ | 32 /* JSDoc */, result); return finishNode(result); } - var node = createNode(161 /* TypeReference */); + var node = createNode(162 /* TypeReference */); node.typeName = parseIdentifierName(); return finishNode(node); } function parseJSDocParameter() { - var parameter = createNode(148 /* Parameter */); + var parameter = createNode(149 /* Parameter */); if (token() === 99 /* ThisKeyword */ || token() === 94 /* NewKeyword */) { parameter.name = parseIdentifierName(); parseExpected(56 /* ColonToken */); @@ -16819,23 +16880,23 @@ var ts; var dotdotdot = parseOptionalToken(24 /* DotDotDotToken */); var type = parseType(); if (dotdotdot) { - var variadic = createNode(284 /* JSDocVariadicType */, dotdotdot.pos); + var variadic = createNode(285 /* JSDocVariadicType */, dotdotdot.pos); variadic.type = type; type = finishNode(variadic); } if (token() === 58 /* EqualsToken */) { - return createJSDocPostfixType(282 /* JSDocOptionalType */, type); + return createJSDocPostfixType(283 /* JSDocOptionalType */, type); } return type; } function parseTypeQuery() { - var node = createNode(164 /* TypeQuery */); + var node = createNode(165 /* TypeQuery */); parseExpected(103 /* TypeOfKeyword */); node.exprName = parseEntityName(/*allowReservedWords*/ true); return finishNode(node); } function parseTypeParameter() { - var node = createNode(147 /* TypeParameter */); + var node = createNode(148 /* TypeParameter */); node.name = parseIdentifier(); if (parseOptional(85 /* ExtendsKeyword */)) { // It's not uncommon for people to write improper constraints to a generic. If the @@ -16880,7 +16941,7 @@ var ts; isStartOfType(/*inStartOfParameter*/ true); } function parseParameter() { - var node = createNodeWithJSDoc(148 /* Parameter */); + var node = createNodeWithJSDoc(149 /* Parameter */); if (token() === 99 /* ThisKeyword */) { node.name = createIdentifier(/*isIdentifier*/ true); node.type = parseParameterType(); @@ -16915,7 +16976,7 @@ var ts; if (!(flags & 32 /* JSDoc */)) { signature.typeParameters = parseTypeParameters(); } - signature.parameters = parseParameterList(flags); + signature.parameters = parseParameterList(flags); // TODO: GH#18217 if (shouldParseReturnType(returnToken, !!(flags & 4 /* Type */))) { signature.type = parseTypeOrTypePredicate(); return signature.type !== undefined; @@ -16983,7 +17044,7 @@ var ts; } function parseSignatureMember(kind) { var node = createNodeWithJSDoc(kind); - if (kind === 158 /* ConstructSignature */) { + if (kind === 159 /* ConstructSignature */) { parseExpected(94 /* NewKeyword */); } fillSignature(56 /* ColonToken */, 4 /* Type */, node); @@ -17044,7 +17105,7 @@ var ts; return token() === 56 /* ColonToken */ || token() === 26 /* CommaToken */ || token() === 22 /* CloseBracketToken */; } function parseIndexSignatureDeclaration(node) { - node.kind = 159 /* IndexSignature */; + node.kind = 160 /* IndexSignature */; node.parameters = parseBracketedList(16 /* Parameters */, parseParameter, 21 /* OpenBracketToken */, 22 /* CloseBracketToken */); node.type = parseTypeAnnotation(); parseTypeMemberSemicolon(); @@ -17054,13 +17115,13 @@ var ts; node.name = parsePropertyName(); node.questionToken = parseOptionalToken(55 /* QuestionToken */); if (token() === 19 /* OpenParenToken */ || token() === 27 /* LessThanToken */) { - node.kind = 152 /* MethodSignature */; + node.kind = 153 /* MethodSignature */; // Method signatures don't exist in expression contexts. So they have neither // [Yield] nor [Await] fillSignature(56 /* ColonToken */, 4 /* Type */, node); } else { - node.kind = 150 /* PropertySignature */; + node.kind = 151 /* PropertySignature */; node.type = parseTypeAnnotation(); if (token() === 58 /* EqualsToken */) { // Although type literal properties cannot not have initializers, we attempt @@ -17077,7 +17138,7 @@ var ts; if (token() === 19 /* OpenParenToken */ || token() === 27 /* LessThanToken */) { return true; } - var idToken; + var idToken = false; // Eat up all modifiers, but hold on to the last one in case it is actually an identifier while (ts.isModifierKind(token())) { idToken = true; @@ -17106,10 +17167,10 @@ var ts; } function parseTypeMember() { if (token() === 19 /* OpenParenToken */ || token() === 27 /* LessThanToken */) { - return parseSignatureMember(157 /* CallSignature */); + return parseSignatureMember(158 /* CallSignature */); } if (token() === 94 /* NewKeyword */ && lookAhead(nextTokenIsOpenParenOrLessThan)) { - return parseSignatureMember(158 /* ConstructSignature */); + return parseSignatureMember(159 /* ConstructSignature */); } var node = createNodeWithJSDoc(0 /* Unknown */); node.modifiers = parseModifiers(); @@ -17135,7 +17196,7 @@ var ts; return false; } function parseTypeLiteral() { - var node = createNode(165 /* TypeLiteral */); + var node = createNode(166 /* TypeLiteral */); node.members = parseObjectTypeMembers(); return finishNode(node); } @@ -17161,14 +17222,14 @@ var ts; return token() === 21 /* OpenBracketToken */ && nextTokenIsIdentifier() && nextToken() === 92 /* InKeyword */; } function parseMappedTypeParameter() { - var node = createNode(147 /* TypeParameter */); + var node = createNode(148 /* TypeParameter */); node.name = parseIdentifier(); parseExpected(92 /* InKeyword */); node.constraint = parseType(); return finishNode(node); } function parseMappedType() { - var node = createNode(176 /* MappedType */); + var node = createNode(177 /* MappedType */); parseExpected(17 /* OpenBraceToken */); if (token() === 132 /* ReadonlyKeyword */ || token() === 37 /* PlusToken */ || token() === 38 /* MinusToken */) { node.readonlyToken = parseTokenNode(); @@ -17191,23 +17252,23 @@ var ts; return finishNode(node); } function parseTupleType() { - var node = createNode(167 /* TupleType */); + var node = createNode(168 /* TupleType */); node.elementTypes = parseBracketedList(20 /* TupleElementTypes */, parseType, 21 /* OpenBracketToken */, 22 /* CloseBracketToken */); return finishNode(node); } function parseParenthesizedType() { - var node = createNode(172 /* ParenthesizedType */); + var node = createNode(173 /* ParenthesizedType */); parseExpected(19 /* OpenParenToken */); node.type = parseType(); if (!node.type) { - return undefined; + return undefined; // TODO: GH#18217 } parseExpected(20 /* CloseParenToken */); return finishNode(node); } function parseFunctionOrConstructorType(kind) { var node = createNodeWithJSDoc(kind); - if (kind === 163 /* ConstructorType */) { + if (kind === 164 /* ConstructorType */) { parseExpected(94 /* NewKeyword */); } if (!fillSignature(36 /* EqualsGreaterThanToken */, 4 /* Type */ | (sourceFile.languageVariant === 1 /* JSX */ ? 8 /* RequireCompleteParameterList */ : 0), node)) { @@ -17223,10 +17284,10 @@ var ts; return token() === 23 /* DotToken */ ? undefined : node; } function parseLiteralTypeNode(negative) { - var node = createNode(177 /* LiteralType */); + var node = createNode(178 /* LiteralType */); var unaryMinusExpression; if (negative) { - unaryMinusExpression = createNode(197 /* PrefixUnaryExpression */); + unaryMinusExpression = createNode(198 /* PrefixUnaryExpression */); unaryMinusExpression.operator = 38 /* MinusToken */; nextToken(); } @@ -17247,7 +17308,7 @@ var ts; } function parseImportType() { sourceFile.flags |= 524288 /* PossiblyContainsDynamicImport */; - var node = createNode(178 /* ImportType */); + var node = createNode(179 /* ImportType */); if (parseOptional(103 /* TypeOfKeyword */)) { node.isTypeOf = true; } @@ -17267,6 +17328,7 @@ var ts; function parseNonArrayType() { switch (token()) { case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 137 /* StringKeyword */: case 134 /* NumberKeyword */: case 138 /* SymbolKeyword */: @@ -17323,6 +17385,7 @@ var ts; function isStartOfType(inStartOfParameter) { switch (token()) { case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 137 /* StringKeyword */: case 134 /* NumberKeyword */: case 122 /* BooleanKeyword */: @@ -17371,26 +17434,26 @@ var ts; while (!scanner.hasPrecedingLineBreak()) { switch (token()) { case 51 /* ExclamationToken */: - type = createJSDocPostfixType(281 /* JSDocNonNullableType */, type); + type = createJSDocPostfixType(282 /* JSDocNonNullableType */, type); break; case 55 /* QuestionToken */: // If not in JSDoc and next token is start of a type we have a conditional type if (!(contextFlags & 2097152 /* JSDoc */) && lookAhead(nextTokenIsStartOfType)) { return type; } - type = createJSDocPostfixType(280 /* JSDocNullableType */, type); + type = createJSDocPostfixType(281 /* JSDocNullableType */, type); break; case 21 /* OpenBracketToken */: parseExpected(21 /* OpenBracketToken */); if (isStartOfType()) { - var node = createNode(175 /* IndexedAccessType */, type.pos); + var node = createNode(176 /* IndexedAccessType */, type.pos); node.objectType = type; node.indexType = parseType(); parseExpected(22 /* CloseBracketToken */); type = finishNode(node); } else { - var node = createNode(166 /* ArrayType */, type.pos); + var node = createNode(167 /* ArrayType */, type.pos); node.elementType = type; parseExpected(22 /* CloseBracketToken */); type = finishNode(node); @@ -17409,16 +17472,16 @@ var ts; return finishNode(postfix); } function parseTypeOperator(operator) { - var node = createNode(174 /* TypeOperator */); + var node = createNode(175 /* TypeOperator */); parseExpected(operator); node.operator = operator; node.type = parseTypeOperatorOrHigher(); return finishNode(node); } function parseInferType() { - var node = createNode(171 /* InferType */); + var node = createNode(172 /* InferType */); parseExpected(126 /* InferKeyword */); - var typeParameter = createNode(147 /* TypeParameter */); + var typeParameter = createNode(148 /* TypeParameter */); typeParameter.name = parseIdentifier(); node.typeParameter = finishNode(typeParameter); return finishNode(node); @@ -17449,10 +17512,10 @@ var ts; return type; } function parseIntersectionTypeOrHigher() { - return parseUnionOrIntersectionType(169 /* IntersectionType */, parseTypeOperatorOrHigher, 48 /* AmpersandToken */); + return parseUnionOrIntersectionType(170 /* IntersectionType */, parseTypeOperatorOrHigher, 48 /* AmpersandToken */); } function parseUnionTypeOrHigher() { - return parseUnionOrIntersectionType(168 /* UnionType */, parseIntersectionTypeOrHigher, 49 /* BarToken */); + return parseUnionOrIntersectionType(169 /* UnionType */, parseIntersectionTypeOrHigher, 49 /* BarToken */); } function isStartOfFunctionType() { if (token() === 27 /* LessThanToken */) { @@ -17509,7 +17572,7 @@ var ts; var typePredicateVariable = isIdentifier() && tryParse(parseTypePredicatePrefix); var type = parseType(); if (typePredicateVariable) { - var node = createNode(160 /* TypePredicate */, typePredicateVariable.pos); + var node = createNode(161 /* TypePredicate */, typePredicateVariable.pos); node.parameterName = typePredicateVariable; node.type = type; return finishNode(node); @@ -17532,14 +17595,14 @@ var ts; } function parseTypeWorker(noConditionalTypes) { if (isStartOfFunctionType()) { - return parseFunctionOrConstructorType(162 /* FunctionType */); + return parseFunctionOrConstructorType(163 /* FunctionType */); // TODO: GH#18217 } if (token() === 94 /* NewKeyword */) { - return parseFunctionOrConstructorType(163 /* ConstructorType */); + return parseFunctionOrConstructorType(164 /* ConstructorType */); } var type = parseUnionTypeOrHigher(); if (!noConditionalTypes && !scanner.hasPrecedingLineBreak() && parseOptional(85 /* ExtendsKeyword */)) { - var node = createNode(170 /* ConditionalType */, type.pos); + var node = createNode(171 /* ConditionalType */, type.pos); node.checkType = type; // The type following 'extends' is not permitted to be another conditional type node.extendsType = parseTypeWorker(/*noConditionalTypes*/ true); @@ -17732,7 +17795,7 @@ var ts; return !scanner.hasPrecedingLineBreak() && isIdentifier(); } function parseYieldExpression() { - var node = createNode(202 /* YieldExpression */); + var node = createNode(203 /* YieldExpression */); // YieldExpression[In] : // yield // yield [no LineTerminator here] [Lexical goal InputElementRegExp]AssignmentExpression[?In, Yield] @@ -17754,13 +17817,13 @@ var ts; ts.Debug.assert(token() === 36 /* EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); var node; if (asyncModifier) { - node = createNode(192 /* ArrowFunction */, asyncModifier.pos); + node = createNode(193 /* ArrowFunction */, asyncModifier.pos); node.modifiers = asyncModifier; } else { - node = createNode(192 /* ArrowFunction */, identifier.pos); + node = createNode(193 /* ArrowFunction */, identifier.pos); } - var parameter = createNode(148 /* Parameter */, identifier.pos); + var parameter = createNode(149 /* Parameter */, identifier.pos); parameter.name = identifier; finishNode(parameter); node.parameters = createNodeArray([parameter], parameter.pos, parameter.end); @@ -17956,7 +18019,7 @@ var ts; return 0 /* False */; } function parseParenthesizedArrowFunctionExpressionHead(allowAmbiguity) { - var node = createNodeWithJSDoc(192 /* ArrowFunction */); + var node = createNodeWithJSDoc(193 /* ArrowFunction */); node.modifiers = parseModifiersForArrowFunction(); var isAsync = ts.hasModifier(node, 256 /* Async */) ? 2 /* Await */ : 0 /* None */; // Arrow functions are never generators. @@ -18024,7 +18087,7 @@ var ts; } // Note: we explicitly 'allowIn' in the whenTrue part of the condition expression, and // we do not that for the 'whenFalse' part. - var node = createNode(200 /* ConditionalExpression */, leftOperand.pos); + var node = createNode(201 /* ConditionalExpression */, leftOperand.pos); node.condition = leftOperand; node.questionToken = questionToken; node.whenTrue = doOutsideOfContext(disallowInAndDecoratorContext, parseAssignmentExpressionOrHigher); @@ -18039,7 +18102,7 @@ var ts; return parseBinaryExpressionRest(precedence, leftOperand); } function isInOrOfKeyword(t) { - return t === 92 /* InKeyword */ || t === 144 /* OfKeyword */; + return t === 92 /* InKeyword */ || t === 145 /* OfKeyword */; } function parseBinaryExpressionRest(precedence, leftOperand) { while (true) { @@ -18104,39 +18167,39 @@ var ts; return ts.getBinaryOperatorPrecedence(token()) > 0; } function makeBinaryExpression(left, operatorToken, right) { - var node = createNode(199 /* BinaryExpression */, left.pos); + var node = createNode(200 /* BinaryExpression */, left.pos); node.left = left; node.operatorToken = operatorToken; node.right = right; return finishNode(node); } function makeAsExpression(left, right) { - var node = createNode(207 /* AsExpression */, left.pos); + var node = createNode(208 /* AsExpression */, left.pos); node.expression = left; node.type = right; return finishNode(node); } function parsePrefixUnaryExpression() { - var node = createNode(197 /* PrefixUnaryExpression */); + var node = createNode(198 /* PrefixUnaryExpression */); node.operator = token(); nextToken(); node.operand = parseSimpleUnaryExpression(); return finishNode(node); } function parseDeleteExpression() { - var node = createNode(193 /* DeleteExpression */); + var node = createNode(194 /* DeleteExpression */); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); } function parseTypeOfExpression() { - var node = createNode(194 /* TypeOfExpression */); + var node = createNode(195 /* TypeOfExpression */); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); } function parseVoidExpression() { - var node = createNode(195 /* VoidExpression */); + var node = createNode(196 /* VoidExpression */); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); @@ -18152,7 +18215,7 @@ var ts; return false; } function parseAwaitExpression() { - var node = createNode(196 /* AwaitExpression */); + var node = createNode(197 /* AwaitExpression */); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); @@ -18196,7 +18259,7 @@ var ts; if (token() === 40 /* AsteriskAsteriskToken */) { var pos = ts.skipTrivia(sourceText, simpleUnaryExpression.pos); var end = simpleUnaryExpression.end; - if (simpleUnaryExpression.kind === 189 /* TypeAssertionExpression */) { + if (simpleUnaryExpression.kind === 190 /* TypeAssertionExpression */) { parseErrorAt(pos, end, ts.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses); } else { @@ -18293,7 +18356,7 @@ var ts; */ function parseUpdateExpression() { if (token() === 43 /* PlusPlusToken */ || token() === 44 /* MinusMinusToken */) { - var node = createNode(197 /* PrefixUnaryExpression */); + var node = createNode(198 /* PrefixUnaryExpression */); node.operator = token(); nextToken(); node.operand = parseLeftHandSideExpressionOrHigher(); @@ -18306,7 +18369,7 @@ var ts; var expression = parseLeftHandSideExpressionOrHigher(); ts.Debug.assert(ts.isLeftHandSideExpression(expression)); if ((token() === 43 /* PlusPlusToken */ || token() === 44 /* MinusMinusToken */) && !scanner.hasPrecedingLineBreak()) { - var node = createNode(198 /* PostfixUnaryExpression */, expression.pos); + var node = createNode(199 /* PostfixUnaryExpression */, expression.pos); node.operand = expression; node.operator = token(); nextToken(); @@ -18362,7 +18425,7 @@ var ts; var fullStart = scanner.getStartPos(); nextToken(); // advance past the 'import' nextToken(); // advance past the dot - var node = createNode(209 /* MetaProperty */, fullStart); + var node = createNode(210 /* MetaProperty */, fullStart); node.keywordToken = 91 /* ImportKeyword */; node.name = parseIdentifierName(); expression = finishNode(node); @@ -18437,33 +18500,17 @@ var ts; } // If we have seen "super" it must be followed by '(' or '.'. // If it wasn't then just try to parse out a '.' and report an error. - var node = createNode(184 /* PropertyAccessExpression */, expression.pos); + var node = createNode(185 /* PropertyAccessExpression */, expression.pos); node.expression = expression; parseExpectedToken(23 /* DotToken */, ts.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access); node.name = parseRightSideOfDot(/*allowIdentifierNames*/ true); return finishNode(node); } - function tagNamesAreEquivalent(lhs, rhs) { - if (lhs.kind !== rhs.kind) { - return false; - } - if (lhs.kind === 71 /* Identifier */) { - return lhs.escapedText === rhs.escapedText; - } - if (lhs.kind === 99 /* ThisKeyword */) { - return true; - } - // If we are at this statement then we must have PropertyAccessExpression and because tag name in Jsx element can only - // take forms of JsxTagNameExpression which includes an identifier, "this" expression, or another propertyAccessExpression - // it is safe to case the expression property as such. See parseJsxElementName for how we parse tag name in Jsx element - return lhs.name.escapedText === rhs.name.escapedText && - tagNamesAreEquivalent(lhs.expression, rhs.expression); - } function parseJsxElementOrSelfClosingElementOrFragment(inExpressionContext) { var opening = parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext); var result; - if (opening.kind === 256 /* JsxOpeningElement */) { - var node = createNode(254 /* JsxElement */, opening.pos); + if (opening.kind === 257 /* JsxOpeningElement */) { + var node = createNode(255 /* JsxElement */, opening.pos); node.openingElement = opening; node.children = parseJsxChildren(node.openingElement); node.closingElement = parseJsxClosingElement(inExpressionContext); @@ -18472,15 +18519,15 @@ var ts; } result = finishNode(node); } - else if (opening.kind === 259 /* JsxOpeningFragment */) { - var node = createNode(258 /* JsxFragment */, opening.pos); + else if (opening.kind === 260 /* JsxOpeningFragment */) { + var node = createNode(259 /* JsxFragment */, opening.pos); node.openingFragment = opening; node.children = parseJsxChildren(node.openingFragment); node.closingFragment = parseJsxClosingFragment(inExpressionContext); result = finishNode(node); } else { - ts.Debug.assert(opening.kind === 255 /* JsxSelfClosingElement */); + ts.Debug.assert(opening.kind === 256 /* JsxSelfClosingElement */); // Nothing else to do for self-closing elements result = opening; } @@ -18495,11 +18542,11 @@ var ts; var invalidElement = tryParse(function () { return parseJsxElementOrSelfClosingElementOrFragment(/*inExpressionContext*/ true); }); if (invalidElement) { parseErrorAtCurrentToken(ts.Diagnostics.JSX_expressions_must_have_one_parent_element); - var badNode = createNode(199 /* BinaryExpression */, result.pos); + var badNode = createNode(200 /* BinaryExpression */, result.pos); badNode.end = invalidElement.end; badNode.left = result; badNode.right = invalidElement; - badNode.operatorToken = createMissingNode(26 /* CommaToken */, /*reportAtCurrentPosition*/ false, /*diagnosticMessage*/ undefined); + badNode.operatorToken = createMissingNode(26 /* CommaToken */, /*reportAtCurrentPosition*/ false, /*diagnosticMessage*/ undefined); // TODO: GH#18217 badNode.operatorToken.pos = badNode.operatorToken.end = badNode.right.pos; return badNode; } @@ -18553,7 +18600,7 @@ var ts; return createNodeArray(list, listPos); } function parseJsxAttributes() { - var jsxAttributes = createNode(262 /* JsxAttributes */); + var jsxAttributes = createNode(263 /* JsxAttributes */); jsxAttributes.properties = parseList(13 /* JsxAttributes */, parseJsxAttribute); return finishNode(jsxAttributes); } @@ -18562,7 +18609,7 @@ var ts; parseExpected(27 /* LessThanToken */); if (token() === 29 /* GreaterThanToken */) { // See below for explanation of scanJsxText - var node_1 = createNode(259 /* JsxOpeningFragment */, fullStart); + var node_1 = createNode(260 /* JsxOpeningFragment */, fullStart); scanJsxText(); return finishNode(node_1); } @@ -18574,7 +18621,7 @@ var ts; // Closing tag, so scan the immediately-following text with the JSX scanning instead // of regular scanning to avoid treating illegal characters (e.g. '#') as immediate // scanning errors - node = createNode(256 /* JsxOpeningElement */, fullStart); + node = createNode(257 /* JsxOpeningElement */, fullStart); scanJsxText(); } else { @@ -18586,7 +18633,7 @@ var ts; parseExpected(29 /* GreaterThanToken */, /*diagnostic*/ undefined, /*shouldAdvance*/ false); scanJsxText(); } - node = createNode(255 /* JsxSelfClosingElement */, fullStart); + node = createNode(256 /* JsxSelfClosingElement */, fullStart); } node.tagName = tagName; node.typeArguments = typeArguments; @@ -18603,7 +18650,7 @@ var ts; var expression = token() === 99 /* ThisKeyword */ ? parseTokenNode() : parseIdentifierName(); while (parseOptional(23 /* DotToken */)) { - var propertyAccess = createNode(184 /* PropertyAccessExpression */, expression.pos); + var propertyAccess = createNode(185 /* PropertyAccessExpression */, expression.pos); propertyAccess.expression = expression; propertyAccess.name = parseRightSideOfDot(/*allowIdentifierNames*/ true); expression = finishNode(propertyAccess); @@ -18611,7 +18658,7 @@ var ts; return expression; } function parseJsxExpression(inExpressionContext) { - var node = createNode(264 /* JsxExpression */); + var node = createNode(265 /* JsxExpression */); if (!parseExpected(17 /* OpenBraceToken */)) { return undefined; } @@ -18633,7 +18680,7 @@ var ts; return parseJsxSpreadAttribute(); } scanJsxIdentifier(); - var node = createNode(261 /* JsxAttribute */); + var node = createNode(262 /* JsxAttribute */); node.name = parseIdentifierName(); if (token() === 58 /* EqualsToken */) { switch (scanJsxAttributeValue()) { @@ -18648,7 +18695,7 @@ var ts; return finishNode(node); } function parseJsxSpreadAttribute() { - var node = createNode(263 /* JsxSpreadAttribute */); + var node = createNode(264 /* JsxSpreadAttribute */); parseExpected(17 /* OpenBraceToken */); parseExpected(24 /* DotDotDotToken */); node.expression = parseExpression(); @@ -18656,7 +18703,7 @@ var ts; return finishNode(node); } function parseJsxClosingElement(inExpressionContext) { - var node = createNode(257 /* JsxClosingElement */); + var node = createNode(258 /* JsxClosingElement */); parseExpected(28 /* LessThanSlashToken */); node.tagName = parseJsxElementName(); if (inExpressionContext) { @@ -18669,7 +18716,7 @@ var ts; return finishNode(node); } function parseJsxClosingFragment(inExpressionContext) { - var node = createNode(260 /* JsxClosingFragment */); + var node = createNode(261 /* JsxClosingFragment */); parseExpected(28 /* LessThanSlashToken */); if (ts.tokenIsIdentifierOrKeyword(token())) { parseErrorAtRange(parseJsxElementName(), ts.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment); @@ -18684,7 +18731,7 @@ var ts; return finishNode(node); } function parseTypeAssertion() { - var node = createNode(189 /* TypeAssertionExpression */); + var node = createNode(190 /* TypeAssertionExpression */); parseExpected(27 /* LessThanToken */); node.type = parseType(); parseExpected(29 /* GreaterThanToken */); @@ -18695,7 +18742,7 @@ var ts; while (true) { var dotToken = parseOptionalToken(23 /* DotToken */); if (dotToken) { - var propertyAccess = createNode(184 /* PropertyAccessExpression */, expression.pos); + var propertyAccess = createNode(185 /* PropertyAccessExpression */, expression.pos); propertyAccess.expression = expression; propertyAccess.name = parseRightSideOfDot(/*allowIdentifierNames*/ true); expression = finishNode(propertyAccess); @@ -18703,14 +18750,14 @@ var ts; } if (token() === 51 /* ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { nextToken(); - var nonNullExpression = createNode(208 /* NonNullExpression */, expression.pos); + var nonNullExpression = createNode(209 /* NonNullExpression */, expression.pos); nonNullExpression.expression = expression; expression = finishNode(nonNullExpression); continue; } // when in the [Decorator] context, we do not parse ElementAccess as it could be part of a ComputedPropertyName if (!inDecoratorContext() && parseOptional(21 /* OpenBracketToken */)) { - var indexedAccess = createNode(185 /* ElementAccessExpression */, expression.pos); + var indexedAccess = createNode(186 /* ElementAccessExpression */, expression.pos); indexedAccess.expression = expression; if (token() === 22 /* CloseBracketToken */) { indexedAccess.argumentExpression = createMissingNode(71 /* Identifier */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.An_element_access_expression_should_take_an_argument); @@ -18737,7 +18784,7 @@ var ts; return token() === 13 /* NoSubstitutionTemplateLiteral */ || token() === 14 /* TemplateHead */; } function parseTaggedTemplateRest(tag, typeArguments) { - var tagExpression = createNode(188 /* TaggedTemplateExpression */, tag.pos); + var tagExpression = createNode(189 /* TaggedTemplateExpression */, tag.pos); tagExpression.tag = tag; tagExpression.typeArguments = typeArguments; tagExpression.template = token() === 13 /* NoSubstitutionTemplateLiteral */ @@ -18761,7 +18808,7 @@ var ts; expression = parseTaggedTemplateRest(expression, typeArguments); continue; } - var callExpr = createNode(186 /* CallExpression */, expression.pos); + var callExpr = createNode(187 /* CallExpression */, expression.pos); callExpr.expression = expression; callExpr.typeArguments = typeArguments; callExpr.arguments = parseArgumentList(); @@ -18769,7 +18816,7 @@ var ts; continue; } else if (token() === 19 /* OpenParenToken */) { - var callExpr = createNode(186 /* CallExpression */, expression.pos); + var callExpr = createNode(187 /* CallExpression */, expression.pos); callExpr.expression = expression; callExpr.arguments = parseArgumentList(); expression = finishNode(callExpr); @@ -18881,28 +18928,28 @@ var ts; return parseIdentifier(ts.Diagnostics.Expression_expected); } function parseParenthesizedExpression() { - var node = createNodeWithJSDoc(190 /* ParenthesizedExpression */); + var node = createNodeWithJSDoc(191 /* ParenthesizedExpression */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); parseExpected(20 /* CloseParenToken */); return finishNode(node); } function parseSpreadElement() { - var node = createNode(203 /* SpreadElement */); + var node = createNode(204 /* SpreadElement */); parseExpected(24 /* DotDotDotToken */); node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } function parseArgumentOrArrayLiteralElement() { return token() === 24 /* DotDotDotToken */ ? parseSpreadElement() : - token() === 26 /* CommaToken */ ? createNode(205 /* OmittedExpression */) : + token() === 26 /* CommaToken */ ? createNode(206 /* OmittedExpression */) : parseAssignmentExpressionOrHigher(); } function parseArgumentExpression() { return doOutsideOfContext(disallowInAndDecoratorContext, parseArgumentOrArrayLiteralElement); } function parseArrayLiteralExpression() { - var node = createNode(182 /* ArrayLiteralExpression */); + var node = createNode(183 /* ArrayLiteralExpression */); parseExpected(21 /* OpenBracketToken */); if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -18914,17 +18961,17 @@ var ts; function parseObjectLiteralElement() { var node = createNodeWithJSDoc(0 /* Unknown */); if (parseOptionalToken(24 /* DotDotDotToken */)) { - node.kind = 271 /* SpreadAssignment */; + node.kind = 272 /* SpreadAssignment */; node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } node.decorators = parseDecorators(); node.modifiers = parseModifiers(); if (parseContextualModifier(125 /* GetKeyword */)) { - return parseAccessorDeclaration(node, 155 /* GetAccessor */); + return parseAccessorDeclaration(node, 156 /* GetAccessor */); } if (parseContextualModifier(136 /* SetKeyword */)) { - return parseAccessorDeclaration(node, 156 /* SetAccessor */); + return parseAccessorDeclaration(node, 157 /* SetAccessor */); } var asteriskToken = parseOptionalToken(39 /* AsteriskToken */); var tokenIsIdentifier = isIdentifier(); @@ -18941,7 +18988,7 @@ var ts; // this is necessary because ObjectLiteral productions are also used to cover grammar for ObjectAssignmentPattern var isShorthandPropertyAssignment = tokenIsIdentifier && (token() === 26 /* CommaToken */ || token() === 18 /* CloseBraceToken */ || token() === 58 /* EqualsToken */); if (isShorthandPropertyAssignment) { - node.kind = 270 /* ShorthandPropertyAssignment */; + node.kind = 271 /* ShorthandPropertyAssignment */; var equalsToken = parseOptionalToken(58 /* EqualsToken */); if (equalsToken) { node.equalsToken = equalsToken; @@ -18949,14 +18996,14 @@ var ts; } } else { - node.kind = 269 /* PropertyAssignment */; + node.kind = 270 /* PropertyAssignment */; parseExpected(56 /* ColonToken */); node.initializer = allowInAnd(parseAssignmentExpressionOrHigher); } return finishNode(node); } function parseObjectLiteralExpression() { - var node = createNode(183 /* ObjectLiteralExpression */); + var node = createNode(184 /* ObjectLiteralExpression */); parseExpected(17 /* OpenBraceToken */); if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -18975,7 +19022,7 @@ var ts; if (saveDecoratorContext) { setDecoratorContext(/*val*/ false); } - var node = createNodeWithJSDoc(191 /* FunctionExpression */); + var node = createNodeWithJSDoc(192 /* FunctionExpression */); node.modifiers = parseModifiers(); parseExpected(89 /* FunctionKeyword */); node.asteriskToken = parseOptionalToken(39 /* AsteriskToken */); @@ -19000,7 +19047,7 @@ var ts; var fullStart = scanner.getStartPos(); parseExpected(94 /* NewKeyword */); if (parseOptional(23 /* DotToken */)) { - var node_2 = createNode(209 /* MetaProperty */, fullStart); + var node_2 = createNode(210 /* MetaProperty */, fullStart); node_2.keywordToken = 94 /* NewKeyword */; node_2.name = parseIdentifierName(); return finishNode(node_2); @@ -19017,7 +19064,7 @@ var ts; } break; } - var node = createNode(187 /* NewExpression */, fullStart); + var node = createNode(188 /* NewExpression */, fullStart); node.expression = expression; node.typeArguments = typeArguments; if (node.typeArguments || token() === 19 /* OpenParenToken */) { @@ -19027,7 +19074,7 @@ var ts; } // STATEMENTS function parseBlock(ignoreMissingOpenBrace, diagnosticMessage) { - var node = createNode(212 /* Block */); + var node = createNode(213 /* Block */); if (parseExpected(17 /* OpenBraceToken */, diagnosticMessage) || ignoreMissingOpenBrace) { if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -19060,12 +19107,12 @@ var ts; return block; } function parseEmptyStatement() { - var node = createNode(214 /* EmptyStatement */); + var node = createNode(215 /* EmptyStatement */); parseExpected(25 /* SemicolonToken */); return finishNode(node); } function parseIfStatement() { - var node = createNode(216 /* IfStatement */); + var node = createNode(217 /* IfStatement */); parseExpected(90 /* IfKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); @@ -19075,7 +19122,7 @@ var ts; return finishNode(node); } function parseDoStatement() { - var node = createNode(217 /* DoStatement */); + var node = createNode(218 /* DoStatement */); parseExpected(81 /* DoKeyword */); node.statement = parseStatement(); parseExpected(106 /* WhileKeyword */); @@ -19090,7 +19137,7 @@ var ts; return finishNode(node); } function parseWhileStatement() { - var node = createNode(218 /* WhileStatement */); + var node = createNode(219 /* WhileStatement */); parseExpected(106 /* WhileKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); @@ -19113,8 +19160,8 @@ var ts; } } var forOrForInOrForOfStatement; - if (awaitToken ? parseExpected(144 /* OfKeyword */) : parseOptional(144 /* OfKeyword */)) { - var forOfStatement = createNode(221 /* ForOfStatement */, pos); + if (awaitToken ? parseExpected(145 /* OfKeyword */) : parseOptional(145 /* OfKeyword */)) { + var forOfStatement = createNode(222 /* ForOfStatement */, pos); forOfStatement.awaitModifier = awaitToken; forOfStatement.initializer = initializer; forOfStatement.expression = allowInAnd(parseAssignmentExpressionOrHigher); @@ -19122,14 +19169,14 @@ var ts; forOrForInOrForOfStatement = forOfStatement; } else if (parseOptional(92 /* InKeyword */)) { - var forInStatement = createNode(220 /* ForInStatement */, pos); + var forInStatement = createNode(221 /* ForInStatement */, pos); forInStatement.initializer = initializer; forInStatement.expression = allowInAnd(parseExpression); parseExpected(20 /* CloseParenToken */); forOrForInOrForOfStatement = forInStatement; } else { - var forStatement = createNode(219 /* ForStatement */, pos); + var forStatement = createNode(220 /* ForStatement */, pos); forStatement.initializer = initializer; parseExpected(25 /* SemicolonToken */); if (token() !== 25 /* SemicolonToken */ && token() !== 20 /* CloseParenToken */) { @@ -19147,7 +19194,7 @@ var ts; } function parseBreakOrContinueStatement(kind) { var node = createNode(kind); - parseExpected(kind === 223 /* BreakStatement */ ? 72 /* BreakKeyword */ : 77 /* ContinueKeyword */); + parseExpected(kind === 224 /* BreakStatement */ ? 72 /* BreakKeyword */ : 77 /* ContinueKeyword */); if (!canParseSemicolon()) { node.label = parseIdentifier(); } @@ -19155,7 +19202,7 @@ var ts; return finishNode(node); } function parseReturnStatement() { - var node = createNode(224 /* ReturnStatement */); + var node = createNode(225 /* ReturnStatement */); parseExpected(96 /* ReturnKeyword */); if (!canParseSemicolon()) { node.expression = allowInAnd(parseExpression); @@ -19164,7 +19211,7 @@ var ts; return finishNode(node); } function parseWithStatement() { - var node = createNode(225 /* WithStatement */); + var node = createNode(226 /* WithStatement */); parseExpected(107 /* WithKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); @@ -19173,7 +19220,7 @@ var ts; return finishNode(node); } function parseCaseClause() { - var node = createNode(265 /* CaseClause */); + var node = createNode(266 /* CaseClause */); parseExpected(73 /* CaseKeyword */); node.expression = allowInAnd(parseExpression); parseExpected(56 /* ColonToken */); @@ -19181,7 +19228,7 @@ var ts; return finishNode(node); } function parseDefaultClause() { - var node = createNode(266 /* DefaultClause */); + var node = createNode(267 /* DefaultClause */); parseExpected(79 /* DefaultKeyword */); parseExpected(56 /* ColonToken */); node.statements = parseList(3 /* SwitchClauseStatements */, parseStatement); @@ -19191,12 +19238,12 @@ var ts; return token() === 73 /* CaseKeyword */ ? parseCaseClause() : parseDefaultClause(); } function parseSwitchStatement() { - var node = createNode(226 /* SwitchStatement */); + var node = createNode(227 /* SwitchStatement */); parseExpected(98 /* SwitchKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); parseExpected(20 /* CloseParenToken */); - var caseBlock = createNode(240 /* CaseBlock */); + var caseBlock = createNode(241 /* CaseBlock */); parseExpected(17 /* OpenBraceToken */); caseBlock.clauses = parseList(2 /* SwitchClauses */, parseCaseOrDefaultClause); parseExpected(18 /* CloseBraceToken */); @@ -19211,7 +19258,7 @@ var ts; // directly as that might consume an expression on the following line. // We just return 'undefined' in that case. The actual error will be reported in the // grammar walker. - var node = createNode(228 /* ThrowStatement */); + var node = createNode(229 /* ThrowStatement */); parseExpected(100 /* ThrowKeyword */); node.expression = scanner.hasPrecedingLineBreak() ? undefined : allowInAnd(parseExpression); parseSemicolon(); @@ -19219,7 +19266,7 @@ var ts; } // TODO: Review for error recovery function parseTryStatement() { - var node = createNode(229 /* TryStatement */); + var node = createNode(230 /* TryStatement */); parseExpected(102 /* TryKeyword */); node.tryBlock = parseBlock(/*ignoreMissingOpenBrace*/ false); node.catchClause = token() === 74 /* CatchKeyword */ ? parseCatchClause() : undefined; @@ -19232,7 +19279,7 @@ var ts; return finishNode(node); } function parseCatchClause() { - var result = createNode(268 /* CatchClause */); + var result = createNode(269 /* CatchClause */); parseExpected(74 /* CatchKeyword */); if (parseOptional(19 /* OpenParenToken */)) { result.variableDeclaration = parseVariableDeclaration(); @@ -19246,7 +19293,7 @@ var ts; return finishNode(result); } function parseDebuggerStatement() { - var node = createNode(230 /* DebuggerStatement */); + var node = createNode(231 /* DebuggerStatement */); parseExpected(78 /* DebuggerKeyword */); parseSemicolon(); return finishNode(node); @@ -19258,12 +19305,12 @@ var ts; var node = createNodeWithJSDoc(0 /* Unknown */); var expression = allowInAnd(parseExpression); if (expression.kind === 71 /* Identifier */ && parseOptional(56 /* ColonToken */)) { - node.kind = 227 /* LabeledStatement */; + node.kind = 228 /* LabeledStatement */; node.label = expression; node.statement = parseStatement(); } else { - node.kind = 215 /* ExpressionStatement */; + node.kind = 216 /* ExpressionStatement */; node.expression = expression; parseSemicolon(); } @@ -19335,7 +19382,7 @@ var ts; return false; } continue; - case 143 /* GlobalKeyword */: + case 144 /* GlobalKeyword */: nextToken(); return token() === 17 /* OpenBraceToken */ || token() === 71 /* Identifier */ || token() === 84 /* ExportKeyword */; case 91 /* ImportKeyword */: @@ -19399,7 +19446,7 @@ var ts; case 129 /* ModuleKeyword */: case 130 /* NamespaceKeyword */: case 139 /* TypeKeyword */: - case 143 /* GlobalKeyword */: + case 144 /* GlobalKeyword */: // When these don't start a declaration, they're an identifier in an expression statement return true; case 114 /* PublicKeyword */: @@ -19430,16 +19477,16 @@ var ts; case 17 /* OpenBraceToken */: return parseBlock(/*ignoreMissingOpenBrace*/ false); case 104 /* VarKeyword */: - return parseVariableStatement(createNodeWithJSDoc(231 /* VariableDeclaration */)); + return parseVariableStatement(createNodeWithJSDoc(232 /* VariableDeclaration */)); case 110 /* LetKeyword */: if (isLetDeclaration()) { - return parseVariableStatement(createNodeWithJSDoc(231 /* VariableDeclaration */)); + return parseVariableStatement(createNodeWithJSDoc(232 /* VariableDeclaration */)); } break; case 89 /* FunctionKeyword */: - return parseFunctionDeclaration(createNodeWithJSDoc(233 /* FunctionDeclaration */)); + return parseFunctionDeclaration(createNodeWithJSDoc(234 /* FunctionDeclaration */)); case 75 /* ClassKeyword */: - return parseClassDeclaration(createNodeWithJSDoc(234 /* ClassDeclaration */)); + return parseClassDeclaration(createNodeWithJSDoc(235 /* ClassDeclaration */)); case 90 /* IfKeyword */: return parseIfStatement(); case 81 /* DoKeyword */: @@ -19449,9 +19496,9 @@ var ts; case 88 /* ForKeyword */: return parseForOrForInOrForOfStatement(); case 77 /* ContinueKeyword */: - return parseBreakOrContinueStatement(222 /* ContinueStatement */); + return parseBreakOrContinueStatement(223 /* ContinueStatement */); case 72 /* BreakKeyword */: - return parseBreakOrContinueStatement(223 /* BreakStatement */); + return parseBreakOrContinueStatement(224 /* BreakStatement */); case 96 /* ReturnKeyword */: return parseReturnStatement(); case 107 /* WithKeyword */: @@ -19485,7 +19532,7 @@ var ts; case 117 /* AbstractKeyword */: case 115 /* StaticKeyword */: case 132 /* ReadonlyKeyword */: - case 143 /* GlobalKeyword */: + case 144 /* GlobalKeyword */: if (isStartOfDeclaration()) { return parseDeclaration(); } @@ -19527,7 +19574,7 @@ var ts; return parseTypeAliasDeclaration(node); case 83 /* EnumKeyword */: return parseEnumDeclaration(node); - case 143 /* GlobalKeyword */: + case 144 /* GlobalKeyword */: case 129 /* ModuleKeyword */: case 130 /* NamespaceKeyword */: return parseModuleDeclaration(node); @@ -19548,12 +19595,13 @@ var ts; if (node.decorators || node.modifiers) { // We reached this point because we encountered decorators and/or modifiers and assumed a declaration // would follow. For recovery and error reporting purposes, return an incomplete declaration. - var missing = createMissingNode(252 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); + var missing = createMissingNode(253 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); missing.pos = node.pos; missing.decorators = node.decorators; missing.modifiers = node.modifiers; return finishNode(missing); } + return undefined; // TODO: GH#18217 } } function nextTokenIsIdentifierOrStringLiteralOnSameLine() { @@ -19570,16 +19618,16 @@ var ts; // DECLARATIONS function parseArrayBindingElement() { if (token() === 26 /* CommaToken */) { - return createNode(205 /* OmittedExpression */); + return createNode(206 /* OmittedExpression */); } - var node = createNode(181 /* BindingElement */); + var node = createNode(182 /* BindingElement */); node.dotDotDotToken = parseOptionalToken(24 /* DotDotDotToken */); node.name = parseIdentifierOrPattern(); node.initializer = parseInitializer(); return finishNode(node); } function parseObjectBindingElement() { - var node = createNode(181 /* BindingElement */); + var node = createNode(182 /* BindingElement */); node.dotDotDotToken = parseOptionalToken(24 /* DotDotDotToken */); var tokenIsIdentifier = isIdentifier(); var propertyName = parsePropertyName(); @@ -19595,14 +19643,14 @@ var ts; return finishNode(node); } function parseObjectBindingPattern() { - var node = createNode(179 /* ObjectBindingPattern */); + var node = createNode(180 /* ObjectBindingPattern */); parseExpected(17 /* OpenBraceToken */); node.elements = parseDelimitedList(9 /* ObjectBindingElements */, parseObjectBindingElement); parseExpected(18 /* CloseBraceToken */); return finishNode(node); } function parseArrayBindingPattern() { - var node = createNode(180 /* ArrayBindingPattern */); + var node = createNode(181 /* ArrayBindingPattern */); parseExpected(21 /* OpenBracketToken */); node.elements = parseDelimitedList(10 /* ArrayBindingElements */, parseArrayBindingElement); parseExpected(22 /* CloseBracketToken */); @@ -19624,7 +19672,7 @@ var ts; return parseVariableDeclaration(/*allowExclamation*/ true); } function parseVariableDeclaration(allowExclamation) { - var node = createNode(231 /* VariableDeclaration */); + var node = createNode(232 /* VariableDeclaration */); node.name = parseIdentifierOrPattern(); if (allowExclamation && node.name.kind === 71 /* Identifier */ && token() === 51 /* ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { @@ -19637,7 +19685,7 @@ var ts; return finishNode(node); } function parseVariableDeclarationList(inForStatementInitializer) { - var node = createNode(232 /* VariableDeclarationList */); + var node = createNode(233 /* VariableDeclarationList */); switch (token()) { case 104 /* VarKeyword */: break; @@ -19660,7 +19708,7 @@ var ts; // So we need to look ahead to determine if 'of' should be treated as a keyword in // this context. // The checker will then give an error that there is an empty declaration list. - if (token() === 144 /* OfKeyword */ && lookAhead(canFollowContextualOfKeyword)) { + if (token() === 145 /* OfKeyword */ && lookAhead(canFollowContextualOfKeyword)) { node.declarations = createMissingList(); } else { @@ -19675,13 +19723,13 @@ var ts; return nextTokenIsIdentifier() && nextToken() === 20 /* CloseParenToken */; } function parseVariableStatement(node) { - node.kind = 213 /* VariableStatement */; + node.kind = 214 /* VariableStatement */; node.declarationList = parseVariableDeclarationList(/*inForStatementInitializer*/ false); parseSemicolon(); return finishNode(node); } function parseFunctionDeclaration(node) { - node.kind = 233 /* FunctionDeclaration */; + node.kind = 234 /* FunctionDeclaration */; parseExpected(89 /* FunctionKeyword */); node.asteriskToken = parseOptionalToken(39 /* AsteriskToken */); node.name = ts.hasModifier(node, 512 /* Default */) ? parseOptionalIdentifier() : parseIdentifier(); @@ -19692,14 +19740,14 @@ var ts; return finishNode(node); } function parseConstructorDeclaration(node) { - node.kind = 154 /* Constructor */; + node.kind = 155 /* Constructor */; parseExpected(123 /* ConstructorKeyword */); fillSignature(56 /* ColonToken */, 0 /* None */, node); node.body = parseFunctionBlockOrSemicolon(0 /* None */, ts.Diagnostics.or_expected); return finishNode(node); } function parseMethodDeclaration(node, asteriskToken, diagnosticMessage) { - node.kind = 153 /* MethodDeclaration */; + node.kind = 154 /* MethodDeclaration */; node.asteriskToken = asteriskToken; var isGenerator = asteriskToken ? 1 /* Yield */ : 0 /* None */; var isAsync = ts.hasModifier(node, 256 /* Async */) ? 2 /* Await */ : 0 /* None */; @@ -19708,7 +19756,7 @@ var ts; return finishNode(node); } function parsePropertyDeclaration(node) { - node.kind = 151 /* PropertyDeclaration */; + node.kind = 152 /* PropertyDeclaration */; if (!node.questionToken && token() === 51 /* ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { node.exclamationToken = parseTokenNode(); } @@ -19813,7 +19861,7 @@ var ts; if (!parseOptional(57 /* AtToken */)) { break; } - var decorator = createNode(149 /* Decorator */, decoratorStart); + var decorator = createNode(150 /* Decorator */, decoratorStart); decorator.expression = doInDecoratorContext(parseLeftHandSideExpressionOrHigher); finishNode(decorator); (list || (list = [])).push(decorator); @@ -19863,7 +19911,7 @@ var ts; } function parseClassElement() { if (token() === 25 /* SemicolonToken */) { - var result = createNode(211 /* SemicolonClassElement */); + var result = createNode(212 /* SemicolonClassElement */); nextToken(); return finishNode(result); } @@ -19871,10 +19919,10 @@ var ts; node.decorators = parseDecorators(); node.modifiers = parseModifiers(/*permitInvalidConstAsModifier*/ true); if (parseContextualModifier(125 /* GetKeyword */)) { - return parseAccessorDeclaration(node, 155 /* GetAccessor */); + return parseAccessorDeclaration(node, 156 /* GetAccessor */); } if (parseContextualModifier(136 /* SetKeyword */)) { - return parseAccessorDeclaration(node, 156 /* SetAccessor */); + return parseAccessorDeclaration(node, 157 /* SetAccessor */); } if (token() === 123 /* ConstructorKeyword */) { return parseConstructorDeclaration(node); @@ -19897,13 +19945,13 @@ var ts; return parsePropertyDeclaration(node); } // 'isClassMemberStart' should have hinted not to attempt parsing. - ts.Debug.fail("Should not have attempted to parse class member declaration."); + return ts.Debug.fail("Should not have attempted to parse class member declaration."); } function parseClassExpression() { - return parseClassDeclarationOrExpression(createNodeWithJSDoc(0 /* Unknown */), 204 /* ClassExpression */); + return parseClassDeclarationOrExpression(createNodeWithJSDoc(0 /* Unknown */), 205 /* ClassExpression */); } function parseClassDeclaration(node) { - return parseClassDeclarationOrExpression(node, 234 /* ClassDeclaration */); + return parseClassDeclarationOrExpression(node, 235 /* ClassDeclaration */); } function parseClassDeclarationOrExpression(node, kind) { node.kind = kind; @@ -19945,17 +19993,15 @@ var ts; } function parseHeritageClause() { var tok = token(); - if (tok === 85 /* ExtendsKeyword */ || tok === 108 /* ImplementsKeyword */) { - var node = createNode(267 /* HeritageClause */); - node.token = tok; - nextToken(); - node.types = parseDelimitedList(7 /* HeritageClauseElement */, parseExpressionWithTypeArguments); - return finishNode(node); - } - return undefined; + ts.Debug.assert(tok === 85 /* ExtendsKeyword */ || tok === 108 /* ImplementsKeyword */); // isListElement() should ensure this. + var node = createNode(268 /* HeritageClause */); + node.token = tok; + nextToken(); + node.types = parseDelimitedList(7 /* HeritageClauseElement */, parseExpressionWithTypeArguments); + return finishNode(node); } function parseExpressionWithTypeArguments() { - var node = createNode(206 /* ExpressionWithTypeArguments */); + var node = createNode(207 /* ExpressionWithTypeArguments */); node.expression = parseLeftHandSideExpressionOrHigher(); node.typeArguments = tryParseTypeArguments(); return finishNode(node); @@ -19972,7 +20018,7 @@ var ts; return parseList(5 /* ClassMembers */, parseClassElement); } function parseInterfaceDeclaration(node) { - node.kind = 235 /* InterfaceDeclaration */; + node.kind = 236 /* InterfaceDeclaration */; parseExpected(109 /* InterfaceKeyword */); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); @@ -19981,7 +20027,7 @@ var ts; return finishNode(node); } function parseTypeAliasDeclaration(node) { - node.kind = 236 /* TypeAliasDeclaration */; + node.kind = 237 /* TypeAliasDeclaration */; parseExpected(139 /* TypeKeyword */); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); @@ -19995,13 +20041,13 @@ var ts; // ConstantEnumMemberSection, which starts at the beginning of an enum declaration // or any time an integer literal initializer is encountered. function parseEnumMember() { - var node = createNodeWithJSDoc(272 /* EnumMember */); + var node = createNodeWithJSDoc(273 /* EnumMember */); node.name = parsePropertyName(); node.initializer = allowInAnd(parseInitializer); return finishNode(node); } function parseEnumDeclaration(node) { - node.kind = 237 /* EnumDeclaration */; + node.kind = 238 /* EnumDeclaration */; parseExpected(83 /* EnumKeyword */); node.name = parseIdentifier(); if (parseExpected(17 /* OpenBraceToken */)) { @@ -20014,7 +20060,7 @@ var ts; return finishNode(node); } function parseModuleBlock() { - var node = createNode(239 /* ModuleBlock */); + var node = createNode(240 /* ModuleBlock */); if (parseExpected(17 /* OpenBraceToken */)) { node.statements = parseList(1 /* BlockStatements */, parseStatement); parseExpected(18 /* CloseBraceToken */); @@ -20025,7 +20071,7 @@ var ts; return finishNode(node); } function parseModuleOrNamespaceDeclaration(node, flags) { - node.kind = 238 /* ModuleDeclaration */; + node.kind = 239 /* ModuleDeclaration */; // If we are parsing a dotted namespace name, we want to // propagate the 'Namespace' flag across the names if set. var namespaceFlag = flags & 16 /* Namespace */; @@ -20037,8 +20083,8 @@ var ts; return finishNode(node); } function parseAmbientExternalModuleDeclaration(node) { - node.kind = 238 /* ModuleDeclaration */; - if (token() === 143 /* GlobalKeyword */) { + node.kind = 239 /* ModuleDeclaration */; + if (token() === 144 /* GlobalKeyword */) { // parse 'global' as name of global scope augmentation node.name = parseIdentifier(); node.flags |= 512 /* GlobalAugmentation */; @@ -20057,7 +20103,7 @@ var ts; } function parseModuleDeclaration(node) { var flags = 0; - if (token() === 143 /* GlobalKeyword */) { + if (token() === 144 /* GlobalKeyword */) { // global augmentation return parseAmbientExternalModuleDeclaration(node); } @@ -20083,7 +20129,7 @@ var ts; return nextToken() === 41 /* SlashToken */; } function parseNamespaceExportDeclaration(node) { - node.kind = 241 /* NamespaceExportDeclaration */; + node.kind = 242 /* NamespaceExportDeclaration */; parseExpected(118 /* AsKeyword */); parseExpected(130 /* NamespaceKeyword */); node.name = parseIdentifier(); @@ -20096,12 +20142,12 @@ var ts; var identifier; if (isIdentifier()) { identifier = parseIdentifier(); - if (token() !== 26 /* CommaToken */ && token() !== 142 /* FromKeyword */) { + if (token() !== 26 /* CommaToken */ && token() !== 143 /* FromKeyword */) { return parseImportEqualsDeclaration(node, identifier); } } // Import statement - node.kind = 243 /* ImportDeclaration */; + node.kind = 244 /* ImportDeclaration */; // ImportDeclaration: // import ImportClause from ModuleSpecifier ; // import ModuleSpecifier; @@ -20109,14 +20155,14 @@ var ts; token() === 39 /* AsteriskToken */ || // import * token() === 17 /* OpenBraceToken */) { // import { node.importClause = parseImportClause(identifier, afterImportPos); - parseExpected(142 /* FromKeyword */); + parseExpected(143 /* FromKeyword */); } node.moduleSpecifier = parseModuleSpecifier(); parseSemicolon(); return finishNode(node); } function parseImportEqualsDeclaration(node, identifier) { - node.kind = 242 /* ImportEqualsDeclaration */; + node.kind = 243 /* ImportEqualsDeclaration */; node.name = identifier; parseExpected(58 /* EqualsToken */); node.moduleReference = parseModuleReference(); @@ -20130,7 +20176,7 @@ var ts; // NamedImports // ImportedDefaultBinding, NameSpaceImport // ImportedDefaultBinding, NamedImports - var importClause = createNode(244 /* ImportClause */, fullStart); + var importClause = createNode(245 /* ImportClause */, fullStart); if (identifier) { // ImportedDefaultBinding: // ImportedBinding @@ -20140,7 +20186,7 @@ var ts; // parse namespace or named imports if (!importClause.name || parseOptional(26 /* CommaToken */)) { - importClause.namedBindings = token() === 39 /* AsteriskToken */ ? parseNamespaceImport() : parseNamedImportsOrExports(246 /* NamedImports */); + importClause.namedBindings = token() === 39 /* AsteriskToken */ ? parseNamespaceImport() : parseNamedImportsOrExports(247 /* NamedImports */); } return finishNode(importClause); } @@ -20150,7 +20196,7 @@ var ts; : parseEntityName(/*allowReservedWords*/ false); } function parseExternalModuleReference() { - var node = createNode(253 /* ExternalModuleReference */); + var node = createNode(254 /* ExternalModuleReference */); parseExpected(133 /* RequireKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = parseModuleSpecifier(); @@ -20173,7 +20219,7 @@ var ts; function parseNamespaceImport() { // NameSpaceImport: // * as ImportedBinding - var namespaceImport = createNode(245 /* NamespaceImport */); + var namespaceImport = createNode(246 /* NamespaceImport */); parseExpected(39 /* AsteriskToken */); parseExpected(118 /* AsKeyword */); namespaceImport.name = parseIdentifier(); @@ -20188,14 +20234,14 @@ var ts; // ImportsList: // ImportSpecifier // ImportsList, ImportSpecifier - node.elements = parseBracketedList(22 /* ImportOrExportSpecifiers */, kind === 246 /* NamedImports */ ? parseImportSpecifier : parseExportSpecifier, 17 /* OpenBraceToken */, 18 /* CloseBraceToken */); + node.elements = parseBracketedList(22 /* ImportOrExportSpecifiers */, kind === 247 /* NamedImports */ ? parseImportSpecifier : parseExportSpecifier, 17 /* OpenBraceToken */, 18 /* CloseBraceToken */); return finishNode(node); } function parseExportSpecifier() { - return parseImportOrExportSpecifier(251 /* ExportSpecifier */); + return parseImportOrExportSpecifier(252 /* ExportSpecifier */); } function parseImportSpecifier() { - return parseImportOrExportSpecifier(247 /* ImportSpecifier */); + return parseImportOrExportSpecifier(248 /* ImportSpecifier */); } function parseImportOrExportSpecifier(kind) { var node = createNode(kind); @@ -20220,24 +20266,24 @@ var ts; else { node.name = identifierName; } - if (kind === 247 /* ImportSpecifier */ && checkIdentifierIsKeyword) { + if (kind === 248 /* ImportSpecifier */ && checkIdentifierIsKeyword) { parseErrorAt(checkIdentifierStart, checkIdentifierEnd, ts.Diagnostics.Identifier_expected); } return finishNode(node); } function parseExportDeclaration(node) { - node.kind = 249 /* ExportDeclaration */; + node.kind = 250 /* ExportDeclaration */; if (parseOptional(39 /* AsteriskToken */)) { - parseExpected(142 /* FromKeyword */); + parseExpected(143 /* FromKeyword */); node.moduleSpecifier = parseModuleSpecifier(); } else { - node.exportClause = parseNamedImportsOrExports(250 /* NamedExports */); + node.exportClause = parseNamedImportsOrExports(251 /* NamedExports */); // It is not uncommon to accidentally omit the 'from' keyword. Additionally, in editing scenarios, // the 'from' keyword can be parsed as a named export when the export clause is unterminated (i.e. `export { from "moduleName";`) // If we don't have a 'from' keyword, see if we have a string literal such that ASI won't take effect. - if (token() === 142 /* FromKeyword */ || (token() === 9 /* StringLiteral */ && !scanner.hasPrecedingLineBreak())) { - parseExpected(142 /* FromKeyword */); + if (token() === 143 /* FromKeyword */ || (token() === 9 /* StringLiteral */ && !scanner.hasPrecedingLineBreak())) { + parseExpected(143 /* FromKeyword */); node.moduleSpecifier = parseModuleSpecifier(); } } @@ -20245,7 +20291,7 @@ var ts; return finishNode(node); } function parseExportAssignment(node) { - node.kind = 248 /* ExportAssignment */; + node.kind = 249 /* ExportAssignment */; if (parseOptional(58 /* EqualsToken */)) { node.isExportEquals = true; } @@ -20265,10 +20311,10 @@ var ts; } function isAnExternalModuleIndicatorNode(node) { return ts.hasModifier(node, 1 /* Export */) - || node.kind === 242 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 253 /* ExternalModuleReference */ - || node.kind === 243 /* ImportDeclaration */ - || node.kind === 248 /* ExportAssignment */ - || node.kind === 249 /* ExportDeclaration */ + || node.kind === 243 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 254 /* ExternalModuleReference */ + || node.kind === 244 /* ImportDeclaration */ + || node.kind === 249 /* ExportAssignment */ + || node.kind === 250 /* ExportDeclaration */ ? node : undefined; } @@ -20331,7 +20377,7 @@ var ts; JSDocParser.parseJSDocTypeExpressionForTests = parseJSDocTypeExpressionForTests; // Parses out a JSDoc type expression. function parseJSDocTypeExpression(mayOmitBraces) { - var result = createNode(277 /* JSDocTypeExpression */, scanner.getTokenPos()); + var result = createNode(278 /* JSDocTypeExpression */, scanner.getTokenPos()); var hasBrace = (mayOmitBraces ? parseOptional : parseExpected)(17 /* OpenBraceToken */); result.type = doInsideOfContext(2097152 /* JSDoc */, parseJSDocType); if (!mayOmitBraces || hasBrace) { @@ -20384,8 +20430,8 @@ var ts; PropertyLikeParse[PropertyLikeParse["CallbackParameter"] = 4] = "CallbackParameter"; })(PropertyLikeParse || (PropertyLikeParse = {})); function parseJSDocCommentWorker(start, length) { + if (start === void 0) { start = 0; } var content = sourceText; - start = start || 0; var end = length === undefined ? content.length : start + length; length = end - start; ts.Debug.assert(start >= 0); @@ -20415,17 +20461,15 @@ var ts; comments.push(text); indent += text.length; } - var t = nextJSDocToken(); - while (t === 5 /* WhitespaceTrivia */) { - t = nextJSDocToken(); - } - if (t === 4 /* NewLineTrivia */) { + nextJSDocToken(); + while (parseOptionalJsdoc(5 /* WhitespaceTrivia */)) + ; + if (parseOptionalJsdoc(4 /* NewLineTrivia */)) { state = 0 /* BeginningOfLine */; indent = 0; - t = nextJSDocToken(); } loop: while (true) { - switch (t) { + switch (token()) { case 57 /* AtToken */: if (state === 0 /* BeginningOfLine */ || state === 1 /* SawAsterisk */) { removeTrailingNewlines(comments); @@ -20485,7 +20529,7 @@ var ts; pushComment(scanner.getTokenText()); break; } - t = nextJSDocToken(); + nextJSDocToken(); } removeLeadingNewlines(comments); removeTrailingNewlines(comments); @@ -20503,7 +20547,7 @@ var ts; } } function createJSDocComment() { - var result = createNode(285 /* JSDocComment */, start); + var result = createNode(286 /* JSDocComment */, start); result.tags = tags && createNodeArray(tags, tagsPos, tagsEnd); result.comment = comments.length ? comments.join("") : undefined; return finishNode(result, end); @@ -20650,7 +20694,7 @@ var ts; return comments.length === 0 ? undefined : comments.join(""); } function parseUnknownTag(atToken, tagName) { - var result = createNode(288 /* JSDocTag */, atToken.pos); + var result = createNode(289 /* JSDocTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; return finishNode(result); @@ -20694,7 +20738,7 @@ var ts; switch (node.kind) { case 135 /* ObjectKeyword */: return true; - case 166 /* ArrayType */: + case 167 /* ArrayType */: return isObjectOrObjectArrayTypeReference(node.elementType); default: return ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && node.typeName.escapedText === "Object"; @@ -20710,12 +20754,12 @@ var ts; typeExpression = tryParseTypeExpression(); } var result = target === 1 /* Property */ ? - createNode(297 /* JSDocPropertyTag */, atToken.pos) : - createNode(292 /* JSDocParameterTag */, atToken.pos); + createNode(298 /* JSDocPropertyTag */, atToken.pos) : + createNode(293 /* JSDocParameterTag */, atToken.pos); var comment; if (indent !== undefined) comment = parseTagComments(indent + scanner.getStartPos() - atToken.pos); - var nestedTypeLiteral = parseNestedTypeLiteral(typeExpression, name, target); + var nestedTypeLiteral = target !== 4 /* CallbackParameter */ && parseNestedTypeLiteral(typeExpression, name, target); if (nestedTypeLiteral) { typeExpression = nestedTypeLiteral; isNameFirst = true; @@ -20731,20 +20775,20 @@ var ts; } function parseNestedTypeLiteral(typeExpression, name, target) { if (typeExpression && isObjectOrObjectArrayTypeReference(typeExpression.type)) { - var typeLiteralExpression = createNode(277 /* JSDocTypeExpression */, scanner.getTokenPos()); + var typeLiteralExpression = createNode(278 /* JSDocTypeExpression */, scanner.getTokenPos()); var child = void 0; var jsdocTypeLiteral = void 0; var start_2 = scanner.getStartPos(); var children = void 0; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(target, name); })) { - if (child.kind === 292 /* JSDocParameterTag */ || child.kind === 297 /* JSDocPropertyTag */) { + if (child.kind === 293 /* JSDocParameterTag */ || child.kind === 298 /* JSDocPropertyTag */) { children = ts.append(children, child); } } if (children) { - jsdocTypeLiteral = createNode(286 /* JSDocTypeLiteral */, start_2); + jsdocTypeLiteral = createNode(287 /* JSDocTypeLiteral */, start_2); jsdocTypeLiteral.jsDocPropertyTags = children; - if (typeExpression.type.kind === 166 /* ArrayType */) { + if (typeExpression.type.kind === 167 /* ArrayType */) { jsdocTypeLiteral.isArrayType = true; } typeLiteralExpression.type = finishNode(jsdocTypeLiteral); @@ -20753,27 +20797,27 @@ var ts; } } function parseReturnTag(atToken, tagName) { - if (ts.forEach(tags, function (t) { return t.kind === 293 /* JSDocReturnTag */; })) { + if (ts.forEach(tags, function (t) { return t.kind === 294 /* JSDocReturnTag */; })) { parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); } - var result = createNode(293 /* JSDocReturnTag */, atToken.pos); + var result = createNode(294 /* JSDocReturnTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeExpression = tryParseTypeExpression(); return finishNode(result); } function parseTypeTag(atToken, tagName) { - if (ts.forEach(tags, function (t) { return t.kind === 294 /* JSDocTypeTag */; })) { + if (ts.forEach(tags, function (t) { return t.kind === 295 /* JSDocTypeTag */; })) { parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); } - var result = createNode(294 /* JSDocTypeTag */, atToken.pos); + var result = createNode(295 /* JSDocTypeTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeExpression = parseJSDocTypeExpression(/*mayOmitBraces*/ true); return finishNode(result); } function parseAugmentsTag(atToken, tagName) { - var result = createNode(289 /* JSDocAugmentsTag */, atToken.pos); + var result = createNode(290 /* JSDocAugmentsTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.class = parseExpressionWithTypeArgumentsForAugments(); @@ -20781,7 +20825,7 @@ var ts; } function parseExpressionWithTypeArgumentsForAugments() { var usedBrace = parseOptional(17 /* OpenBraceToken */); - var node = createNode(206 /* ExpressionWithTypeArguments */); + var node = createNode(207 /* ExpressionWithTypeArguments */); node.expression = parsePropertyAccessEntityNameExpression(); node.typeArguments = tryParseTypeArguments(); var res = finishNode(node); @@ -20793,15 +20837,15 @@ var ts; function parsePropertyAccessEntityNameExpression() { var node = parseJSDocIdentifierName(/*createIfMissing*/ true); while (parseOptional(23 /* DotToken */)) { - var prop = createNode(184 /* PropertyAccessExpression */, node.pos); + var prop = createNode(185 /* PropertyAccessExpression */, node.pos); prop.expression = node; - prop.name = parseJSDocIdentifierName(); + prop.name = parseJSDocIdentifierName(); // TODO: GH#18217 node = finishNode(prop); } return node; } function parseClassTag(atToken, tagName) { - var tag = createNode(290 /* JSDocClassTag */, atToken.pos); + var tag = createNode(291 /* JSDocClassTag */, atToken.pos); tag.atToken = atToken; tag.tagName = tagName; return finishNode(tag); @@ -20809,7 +20853,7 @@ var ts; function parseTypedefTag(atToken, tagName, indent) { var typeExpression = tryParseTypeExpression(); skipWhitespace(); - var typedefTag = createNode(296 /* JSDocTypedefTag */, atToken.pos); + var typedefTag = createNode(297 /* JSDocTypedefTag */, atToken.pos); typedefTag.atToken = atToken; typedefTag.tagName = tagName; typedefTag.fullName = parseJSDocTypeNameWithNamespace(); @@ -20825,9 +20869,9 @@ var ts; var start_3 = scanner.getStartPos(); while (child = tryParse(function () { return parseChildPropertyTag(); })) { if (!jsdocTypeLiteral) { - jsdocTypeLiteral = createNode(286 /* JSDocTypeLiteral */, start_3); + jsdocTypeLiteral = createNode(287 /* JSDocTypeLiteral */, start_3); } - if (child.kind === 294 /* JSDocTypeTag */) { + if (child.kind === 295 /* JSDocTypeTag */) { if (childTypeTag) { break; } @@ -20840,7 +20884,7 @@ var ts; } } if (jsdocTypeLiteral) { - if (typeExpression && typeExpression.type.kind === 166 /* ArrayType */) { + if (typeExpression && typeExpression.type.kind === 167 /* ArrayType */) { jsdocTypeLiteral.isArrayType = true; } typedefTag.typeExpression = childTypeTag && childTypeTag.typeExpression && !isObjectOrObjectArrayTypeReference(childTypeTag.typeExpression.type) ? @@ -20856,7 +20900,7 @@ var ts; var pos = scanner.getTokenPos(); var typeNameOrNamespaceName = parseJSDocIdentifierName(); if (typeNameOrNamespaceName && parseOptional(23 /* DotToken */)) { - var jsDocNamespaceNode = createNode(238 /* ModuleDeclaration */, pos); + var jsDocNamespaceNode = createNode(239 /* ModuleDeclaration */, pos); if (nested) { jsDocNamespaceNode.flags |= 4 /* NestedNamespace */; } @@ -20870,7 +20914,7 @@ var ts; return typeNameOrNamespaceName; } function parseCallbackTag(atToken, tagName, indent) { - var callbackTag = createNode(291 /* JSDocCallbackTag */, atToken.pos); + var callbackTag = createNode(292 /* JSDocCallbackTag */, atToken.pos); callbackTag.atToken = atToken; callbackTag.tagName = tagName; callbackTag.fullName = parseJSDocTypeNameWithNamespace(); @@ -20879,16 +20923,15 @@ var ts; callbackTag.comment = parseTagComments(indent); var child; var start = scanner.getStartPos(); - var jsdocSignature = createNode(287 /* JSDocSignature */, start); + var jsdocSignature = createNode(288 /* JSDocSignature */, start); jsdocSignature.parameters = []; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(4 /* CallbackParameter */); })) { jsdocSignature.parameters = ts.append(jsdocSignature.parameters, child); } var returnTag = tryParse(function () { - if (token() === 57 /* AtToken */) { - nextJSDocToken(); + if (parseOptionalJsdoc(57 /* AtToken */)) { var tag = parseTag(indent); - if (tag && tag.kind === 293 /* JSDocReturnTag */) { + if (tag && tag.kind === 294 /* JSDocReturnTag */) { return tag; } } @@ -20933,9 +20976,9 @@ var ts; case 57 /* AtToken */: if (canParseTag) { var child = tryParseChildTag(target); - if (child && child.kind === 292 /* JSDocParameterTag */ && + if (child && child.kind === 293 /* JSDocParameterTag */ && target !== 4 /* CallbackParameter */ && - (ts.isIdentifier(child.name) || !escapedTextsEqual(name, child.name.left))) { + (ts.isIdentifier(child.name) || !escapedTextsEqual(name, child.name.left))) { // TODO: GH#18217 return false; } return child; @@ -20994,49 +21037,45 @@ var ts; return tag; } function parseTemplateTag(atToken, tagName) { - if (ts.some(tags, ts.isJSDocTemplateTag)) { - parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); + // the template tag looks like '@template {Constraint} T,U,V' + var constraint; + if (token() === 17 /* OpenBraceToken */) { + constraint = parseJSDocTypeExpression(); } - // Type parameter list looks like '@template T,U,V' var typeParameters = []; var typeParametersPos = getNodePos(); - while (true) { - var typeParameter = createNode(147 /* TypeParameter */); - var name = parseJSDocIdentifierNameWithOptionalBraces(); + do { skipWhitespace(); - if (!name) { - parseErrorAtPosition(scanner.getStartPos(), 0, ts.Diagnostics.Identifier_expected); + var typeParameter = createNode(148 /* TypeParameter */); + if (!ts.tokenIsIdentifierOrKeyword(token())) { + parseErrorAtCurrentToken(ts.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces); return undefined; } - typeParameter.name = name; + typeParameter.name = parseJSDocIdentifierName(); + skipWhitespace(); finishNode(typeParameter); typeParameters.push(typeParameter); - if (token() === 26 /* CommaToken */) { - nextJSDocToken(); - skipWhitespace(); - } - else { - break; - } + } while (parseOptionalJsdoc(26 /* CommaToken */)); + if (constraint) { + ts.first(typeParameters).constraint = constraint.type; } - var result = createNode(295 /* JSDocTemplateTag */, atToken.pos); + var result = createNode(296 /* JSDocTemplateTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeParameters = createNodeArray(typeParameters, typeParametersPos); finishNode(result); return result; } - function parseJSDocIdentifierNameWithOptionalBraces() { - var parsedBrace = parseOptional(17 /* OpenBraceToken */); - var res = parseJSDocIdentifierName(); - if (parsedBrace) { - parseExpected(18 /* CloseBraceToken */); - } - return res; - } function nextJSDocToken() { return currentToken = scanner.scanJSDocToken(); } + function parseOptionalJsdoc(t) { + if (token() === t) { + nextJSDocToken(); + return true; + } + return false; + } function parseJSDocEntityName() { var entity = parseJSDocIdentifierName(/*createIfMissing*/ true); if (parseOptional(21 /* OpenBracketToken */)) { @@ -21581,7 +21620,7 @@ var ts; context.pragmas = ts.createMap(); for (var _i = 0, pragmas_1 = pragmas; _i < pragmas_1.length; _i++) { var pragma = pragmas_1[_i]; - if (context.pragmas.has(pragma.name)) { + if (context.pragmas.has(pragma.name)) { // TODO: GH#18217 var currentValue = context.pragmas.get(pragma.name); if (currentValue instanceof Array) { currentValue.push(pragma.args); @@ -21610,6 +21649,7 @@ var ts; var referencedFiles_1 = context.referencedFiles; var typeReferenceDirectives_1 = context.typeReferenceDirectives; ts.forEach(ts.toArray(entryOrList), function (arg) { + // TODO: GH#18217 if (arg.arguments["no-default-lib"]) { context.hasNoDefaultLib = true; } @@ -21626,10 +21666,7 @@ var ts; break; } case "amd-dependency": { - context.amdDependencies = ts.map(ts.toArray(entryOrList), function (_a) { - var _b = _a.arguments, name = _b.name, path = _b.path; - return ({ name: name, path: path }); - }); + context.amdDependencies = ts.map(ts.toArray(entryOrList), function (x) { return ({ name: x.arguments.name, path: x.arguments.path }); }); // TODO: GH#18217 break; } case "amd-module": { @@ -21652,7 +21689,7 @@ var ts; case "ts-check": { // _last_ of either nocheck or check in a file is the "winner" ts.forEach(ts.toArray(entryOrList), function (entry) { - if (!context.checkJsDirective || entry.range.pos > context.checkJsDirective.pos) { + if (!context.checkJsDirective || entry.range.pos > context.checkJsDirective.pos) { // TODO: GH#18217 context.checkJsDirective = { enabled: key === "ts-check", end: entry.range.end, @@ -21763,6 +21800,24 @@ var ts; } return argMap; } + /** @internal */ + function tagNamesAreEquivalent(lhs, rhs) { + if (lhs.kind !== rhs.kind) { + return false; + } + if (lhs.kind === 71 /* Identifier */) { + return lhs.escapedText === rhs.escapedText; + } + if (lhs.kind === 99 /* ThisKeyword */) { + return true; + } + // If we are at this statement then we must have PropertyAccessExpression and because tag name in Jsx element can only + // take forms of JsxTagNameExpression which includes an identifier, "this" expression, or another propertyAccessExpression + // it is safe to case the expression property as such. See parseJsxElementName for how we parse tag name in Jsx element + return lhs.name.escapedText === rhs.name.escapedText && + tagNamesAreEquivalent(lhs.expression, rhs.expression); + } + ts.tagNamesAreEquivalent = tagNamesAreEquivalent; })(ts || (ts = {})); /* @internal */ var ts; @@ -21781,24 +21836,24 @@ var ts; // A module is uninstantiated if it contains only switch (node.kind) { // 1. interface declarations, type alias declarations - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: return 0 /* NonInstantiated */; // 2. const enum declarations - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: if (ts.isConst(node)) { return 2 /* ConstEnumOnly */; } break; // 3. non-exported import declarations - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: if (!(ts.hasModifier(node, 1 /* Export */))) { return 0 /* NonInstantiated */; } break; // 4. other uninstantiated module declarations. - case 239 /* ModuleBlock */: { + case 240 /* ModuleBlock */: { var state_1 = 0 /* NonInstantiated */; ts.forEachChild(node, function (n) { var childState = getModuleInstanceStateWorker(n); @@ -21820,7 +21875,7 @@ var ts; }); return state_1; } - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return getModuleInstanceState(node); case 71 /* Identifier */: // Only jsdoc typedef definition can exist in jsdoc namespace, and it should @@ -21970,7 +22025,7 @@ var ts; if (symbolFlags & 67216319 /* Value */) { var valueDeclaration = symbol.valueDeclaration; if (!valueDeclaration || - (valueDeclaration.kind !== node.kind && valueDeclaration.kind === 238 /* ModuleDeclaration */)) { + (valueDeclaration.kind !== node.kind && valueDeclaration.kind === 239 /* ModuleDeclaration */)) { // other kinds of value declarations take precedence over modules symbol.valueDeclaration = node; } @@ -21979,7 +22034,7 @@ var ts; // Should not be called on a declaration with a computed property name, // unless it is a well known Symbol. function getDeclarationName(node) { - if (node.kind === 248 /* ExportAssignment */) { + if (node.kind === 249 /* ExportAssignment */) { return node.isExportEquals ? "export=" /* ExportEquals */ : "default" /* Default */; } var name = ts.getNameOfDeclaration(node); @@ -21988,7 +22043,7 @@ var ts; var moduleName = ts.getTextOfIdentifierOrLiteral(name); return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"" + moduleName + "\""); } - if (name.kind === 146 /* ComputedPropertyName */) { + if (name.kind === 147 /* ComputedPropertyName */) { var nameExpression = name.expression; // treat computed property names where expression is string/numeric literal as just string/numeric literal if (ts.isStringOrNumericLiteral(nameExpression)) { @@ -22000,43 +22055,43 @@ var ts; return ts.isPropertyNameLiteral(name) ? ts.getEscapedTextOfIdentifierOrLiteral(name) : undefined; } switch (node.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: return "__constructor" /* Constructor */; - case 162 /* FunctionType */: - case 157 /* CallSignature */: - case 287 /* JSDocSignature */: + case 163 /* FunctionType */: + case 158 /* CallSignature */: + case 288 /* JSDocSignature */: return "__call" /* Call */; - case 163 /* ConstructorType */: - case 158 /* ConstructSignature */: + case 164 /* ConstructorType */: + case 159 /* ConstructSignature */: return "__new" /* New */; - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: return "__index" /* Index */; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return "__export" /* ExportStar */; - case 273 /* SourceFile */: + case 274 /* SourceFile */: // json file should behave as // module.exports = ... return "export=" /* ExportEquals */; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (ts.getSpecialPropertyAssignmentKind(node) === 2 /* ModuleExports */) { // module.exports = ... return "export=" /* ExportEquals */; } ts.Debug.fail("Unknown binary declaration kind"); break; - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: return (ts.isJSDocConstructSignature(node) ? "__new" /* New */ : "__call" /* Call */); - case 148 /* Parameter */: + case 149 /* Parameter */: // Parameters with names are handled at the top of this function. Parameters // without names can only come from JSDocFunctionTypes. - ts.Debug.assert(node.parent.kind === 283 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; }); + ts.Debug.assert(node.parent.kind === 284 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; }); var functionType = node.parent; var index = functionType.parameters.indexOf(node); return "arg" + index; } } function getDisplayName(node) { - return ts.isNamedDeclaration(node) ? ts.declarationNameToString(node.name) : ts.unescapeLeadingUnderscores(getDeclarationName(node)); + return ts.isNamedDeclaration(node) ? ts.declarationNameToString(node.name) : ts.unescapeLeadingUnderscores(getDeclarationName(node)); // TODO: GH#18217 } /** * Declares a Symbol for the node and adds it to symbols. Reports errors for conflicting identifier names. @@ -22123,7 +22178,7 @@ var ts; // 1. multiple export default of class declaration or function declaration by checking NodeFlags.Default // 2. multiple export default of export assignment. This one doesn't have NodeFlags.Default on (as export default doesn't considered as modifiers) if (symbol.declarations && symbol.declarations.length && - (node.kind === 248 /* ExportAssignment */ && !node.isExportEquals)) { + (node.kind === 249 /* ExportAssignment */ && !node.isExportEquals)) { message_1 = ts.Diagnostics.A_module_cannot_have_multiple_default_exports; } } @@ -22148,7 +22203,7 @@ var ts; function declareModuleMember(node, symbolFlags, symbolExcludes) { var hasExportModifier = ts.getCombinedModifierFlags(node) & 1 /* Export */; if (symbolFlags & 2097152 /* Alias */) { - if (node.kind === 251 /* ExportSpecifier */ || (node.kind === 242 /* ImportEqualsDeclaration */ && hasExportModifier)) { + if (node.kind === 252 /* ExportSpecifier */ || (node.kind === 243 /* ImportEqualsDeclaration */ && hasExportModifier)) { return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); } else { @@ -22215,7 +22270,7 @@ var ts; // for it. We must clear this so we don't accidentally move any stale data forward from // a previous compilation. if (containerFlags & 1 /* IsContainer */) { - if (node.kind !== 192 /* ArrowFunction */) { + if (node.kind !== 193 /* ArrowFunction */) { thisParentContainer = container; } container = blockScopeContainer = node; @@ -22247,7 +22302,7 @@ var ts; } // We create a return control flow graph for IIFEs and constructors. For constructors // we use the return control flow graph in strict property intialization checks. - currentReturnTarget = isIIFE || node.kind === 154 /* Constructor */ ? createBranchLabel() : undefined; + currentReturnTarget = isIIFE || node.kind === 155 /* Constructor */ ? createBranchLabel() : undefined; currentBreakTarget = undefined; currentContinueTarget = undefined; activeLabels = undefined; @@ -22260,13 +22315,13 @@ var ts; if (hasExplicitReturn) node.flags |= 256 /* HasExplicitReturn */; } - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { node.flags |= emitFlags; } if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); currentFlow = finishFlowLabel(currentReturnTarget); - if (node.kind === 154 /* Constructor */) { + if (node.kind === 155 /* Constructor */) { node.returnFlowNode = currentFlow; } } @@ -22309,8 +22364,8 @@ var ts; } } function bindEachFunctionsFirst(nodes) { - bindEach(nodes, function (n) { return n.kind === 233 /* FunctionDeclaration */ ? bind(n) : undefined; }); - bindEach(nodes, function (n) { return n.kind !== 233 /* FunctionDeclaration */ ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind === 234 /* FunctionDeclaration */ ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind !== 234 /* FunctionDeclaration */ ? bind(n) : undefined; }); } function bindEach(nodes, bindFunction) { if (bindFunction === void 0) { bindFunction = bind; } @@ -22342,77 +22397,77 @@ var ts; return; } switch (node.kind) { - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: bindWhileStatement(node); break; - case 217 /* DoStatement */: + case 218 /* DoStatement */: bindDoStatement(node); break; - case 219 /* ForStatement */: + case 220 /* ForStatement */: bindForStatement(node); break; - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: bindForInOrForOfStatement(node); break; - case 216 /* IfStatement */: + case 217 /* IfStatement */: bindIfStatement(node); break; - case 224 /* ReturnStatement */: - case 228 /* ThrowStatement */: + case 225 /* ReturnStatement */: + case 229 /* ThrowStatement */: bindReturnOrThrow(node); break; - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: bindBreakOrContinueStatement(node); break; - case 229 /* TryStatement */: + case 230 /* TryStatement */: bindTryStatement(node); break; - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: bindSwitchStatement(node); break; - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: bindCaseBlock(node); break; - case 265 /* CaseClause */: + case 266 /* CaseClause */: bindCaseClause(node); break; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: bindLabeledStatement(node); break; - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: bindPrefixUnaryExpressionFlow(node); break; - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: bindPostfixUnaryExpressionFlow(node); break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: bindBinaryExpressionFlow(node); break; - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: bindDeleteExpressionFlow(node); break; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: bindConditionalExpressionFlow(node); break; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: bindVariableDeclarationFlow(node); break; - case 186 /* CallExpression */: + case 187 /* CallExpression */: bindCallExpressionFlow(node); break; - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: bindJSDocTypeAlias(node); break; // In source files and blocks, bind functions first to match hoisting that occurs at runtime - case 273 /* SourceFile */: + case 274 /* SourceFile */: bindEachFunctionsFirst(node.statements); bind(node.endOfFileToken); break; - case 212 /* Block */: - case 239 /* ModuleBlock */: + case 213 /* Block */: + case 240 /* ModuleBlock */: bindEachFunctionsFirst(node.statements); break; default: @@ -22425,15 +22480,15 @@ var ts; switch (expr.kind) { case 71 /* Identifier */: case 99 /* ThisKeyword */: - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return isNarrowableReference(expr); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return hasNarrowableArgument(expr); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return isNarrowingExpression(expr.expression); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return isNarrowingBinaryExpression(expr); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return expr.operator === 51 /* ExclamationToken */ && isNarrowingExpression(expr.operand); } return false; @@ -22442,7 +22497,7 @@ var ts; return expr.kind === 71 /* Identifier */ || expr.kind === 99 /* ThisKeyword */ || expr.kind === 97 /* SuperKeyword */ || - expr.kind === 184 /* PropertyAccessExpression */ && isNarrowableReference(expr.expression); + expr.kind === 185 /* PropertyAccessExpression */ && isNarrowableReference(expr.expression); } function hasNarrowableArgument(expr) { if (expr.arguments) { @@ -22453,7 +22508,7 @@ var ts; } } } - if (expr.expression.kind === 184 /* PropertyAccessExpression */ && + if (expr.expression.kind === 185 /* PropertyAccessExpression */ && isNarrowableReference(expr.expression.expression)) { return true; } @@ -22486,9 +22541,9 @@ var ts; } function isNarrowableOperand(expr) { switch (expr.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return isNarrowableOperand(expr.expression); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: switch (expr.operatorToken.kind) { case 58 /* EqualsToken */: return isNarrowableOperand(expr.left); @@ -22566,33 +22621,33 @@ var ts; function isStatementCondition(node) { var parent = node.parent; switch (parent.kind) { - case 216 /* IfStatement */: - case 218 /* WhileStatement */: - case 217 /* DoStatement */: + case 217 /* IfStatement */: + case 219 /* WhileStatement */: + case 218 /* DoStatement */: return parent.expression === node; - case 219 /* ForStatement */: - case 200 /* ConditionalExpression */: + case 220 /* ForStatement */: + case 201 /* ConditionalExpression */: return parent.condition === node; } return false; } function isLogicalExpression(node) { while (true) { - if (node.kind === 190 /* ParenthesizedExpression */) { + if (node.kind === 191 /* ParenthesizedExpression */) { node = node.expression; } - else if (node.kind === 197 /* PrefixUnaryExpression */ && node.operator === 51 /* ExclamationToken */) { + else if (node.kind === 198 /* PrefixUnaryExpression */ && node.operator === 51 /* ExclamationToken */) { node = node.operand; } else { - return node.kind === 199 /* BinaryExpression */ && (node.operatorToken.kind === 53 /* AmpersandAmpersandToken */ || + return node.kind === 200 /* BinaryExpression */ && (node.operatorToken.kind === 53 /* AmpersandAmpersandToken */ || node.operatorToken.kind === 54 /* BarBarToken */); } } } function isTopLevelLogicalExpression(node) { - while (node.parent.kind === 190 /* ParenthesizedExpression */ || - node.parent.kind === 197 /* PrefixUnaryExpression */ && + while (node.parent.kind === 191 /* ParenthesizedExpression */ || + node.parent.kind === 198 /* PrefixUnaryExpression */ && node.parent.operator === 51 /* ExclamationToken */) { node = node.parent; } @@ -22634,7 +22689,7 @@ var ts; } function bindDoStatement(node) { var preDoLabel = createLoopLabel(); - var enclosingLabeledStatement = node.parent.kind === 227 /* LabeledStatement */ + var enclosingLabeledStatement = node.parent.kind === 228 /* LabeledStatement */ ? ts.lastOrUndefined(activeLabels) : undefined; // if do statement is wrapped in labeled statement then target labels for break/continue with or without @@ -22668,13 +22723,13 @@ var ts; var postLoopLabel = createBranchLabel(); addAntecedent(preLoopLabel, currentFlow); currentFlow = preLoopLabel; - if (node.kind === 221 /* ForOfStatement */) { + if (node.kind === 222 /* ForOfStatement */) { bind(node.awaitModifier); } bind(node.expression); addAntecedent(postLoopLabel, currentFlow); bind(node.initializer); - if (node.initializer.kind !== 232 /* VariableDeclarationList */) { + if (node.initializer.kind !== 233 /* VariableDeclarationList */) { bindAssignmentTargetFlow(node.initializer); } bindIterativeStatement(node.statement, postLoopLabel, preLoopLabel); @@ -22696,7 +22751,7 @@ var ts; } function bindReturnOrThrow(node) { bind(node.expression); - if (node.kind === 224 /* ReturnStatement */) { + if (node.kind === 225 /* ReturnStatement */) { hasExplicitReturn = true; if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); @@ -22716,7 +22771,7 @@ var ts; return undefined; } function bindBreakOrContinueFlow(node, breakTarget, continueTarget) { - var flowLabel = node.kind === 223 /* BreakStatement */ ? breakTarget : continueTarget; + var flowLabel = node.kind === 224 /* BreakStatement */ ? breakTarget : continueTarget; if (flowLabel) { addAntecedent(flowLabel, currentFlow); currentFlow = unreachableFlow; @@ -22812,7 +22867,7 @@ var ts; preSwitchCaseFlow = currentFlow; bind(node.caseBlock); addAntecedent(postSwitchLabel, currentFlow); - var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 266 /* DefaultClause */; }); + var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 267 /* DefaultClause */; }); // We mark a switch statement as possibly exhaustive if it has no default clause and if all // case clauses have unreachable end points (e.g. they all return). node.possiblyExhaustive = !hasDefault && !postSwitchLabel.antecedents; @@ -22836,6 +22891,7 @@ var ts; } var preCaseLabel = createBranchLabel(); addAntecedent(preCaseLabel, createFlowSwitchClause(preSwitchCaseFlow, node.parent, clauseStart, i + 1)); + addAntecedent(preCaseLabel, createFlowSwitchClause(preSwitchCaseFlow, node.parent, clauseStart, i + 1)); addAntecedent(preCaseLabel, fallthroughFlow); currentFlow = finishFlowLabel(preCaseLabel); var clause = clauses[i]; @@ -22877,16 +22933,16 @@ var ts; bind(node.statement); popActiveLabel(); if (!activeLabel.referenced && !options.allowUnusedLabels) { - file.bindDiagnostics.push(createDiagnosticForNode(node.label, ts.Diagnostics.Unused_label)); + errorOrSuggestionOnFirstToken(ts.unusedLabelIsError(options), node, ts.Diagnostics.Unused_label); } - if (!node.statement || node.statement.kind !== 217 /* DoStatement */) { + if (!node.statement || node.statement.kind !== 218 /* DoStatement */) { // do statement sets current flow inside bindDoStatement addAntecedent(postStatementLabel, currentFlow); currentFlow = finishFlowLabel(postStatementLabel); } } function bindDestructuringTargetFlow(node) { - if (node.kind === 199 /* BinaryExpression */ && node.operatorToken.kind === 58 /* EqualsToken */) { + if (node.kind === 200 /* BinaryExpression */ && node.operatorToken.kind === 58 /* EqualsToken */) { bindAssignmentTargetFlow(node.left); } else { @@ -22897,10 +22953,10 @@ var ts; if (isNarrowableReference(node)) { currentFlow = createFlowAssignment(currentFlow, node); } - else if (node.kind === 182 /* ArrayLiteralExpression */) { + else if (node.kind === 183 /* ArrayLiteralExpression */) { for (var _i = 0, _a = node.elements; _i < _a.length; _i++) { var e = _a[_i]; - if (e.kind === 203 /* SpreadElement */) { + if (e.kind === 204 /* SpreadElement */) { bindAssignmentTargetFlow(e.expression); } else { @@ -22908,16 +22964,16 @@ var ts; } } } - else if (node.kind === 183 /* ObjectLiteralExpression */) { + else if (node.kind === 184 /* ObjectLiteralExpression */) { for (var _b = 0, _c = node.properties; _b < _c.length; _b++) { var p = _c[_b]; - if (p.kind === 269 /* PropertyAssignment */) { + if (p.kind === 270 /* PropertyAssignment */) { bindDestructuringTargetFlow(p.initializer); } - else if (p.kind === 270 /* ShorthandPropertyAssignment */) { + else if (p.kind === 271 /* ShorthandPropertyAssignment */) { bindAssignmentTargetFlow(p.name); } - else if (p.kind === 271 /* SpreadAssignment */) { + else if (p.kind === 272 /* SpreadAssignment */) { bindAssignmentTargetFlow(p.expression); } } @@ -22973,7 +23029,7 @@ var ts; bindEachChild(node); if (ts.isAssignmentOperator(operator) && !ts.isAssignmentTarget(node)) { bindAssignmentTargetFlow(node.left); - if (operator === 58 /* EqualsToken */ && node.left.kind === 185 /* ElementAccessExpression */) { + if (operator === 58 /* EqualsToken */ && node.left.kind === 186 /* ElementAccessExpression */) { var elementAccess = node.left; if (isNarrowableOperand(elementAccess.expression)) { currentFlow = createFlowArrayMutation(currentFlow, node); @@ -22984,7 +23040,7 @@ var ts; } function bindDeleteExpressionFlow(node) { bindEachChild(node); - if (node.expression.kind === 184 /* PropertyAccessExpression */) { + if (node.expression.kind === 185 /* PropertyAccessExpression */) { bindAssignmentTargetFlow(node.expression); } } @@ -23031,10 +23087,10 @@ var ts; // an immediately invoked function expression (IIFE). Initialize the flowNode property to // the current control flow (which includes evaluation of the IIFE arguments). var expr = node.expression; - while (expr.kind === 190 /* ParenthesizedExpression */) { + while (expr.kind === 191 /* ParenthesizedExpression */) { expr = expr.expression; } - if (expr.kind === 191 /* FunctionExpression */ || expr.kind === 192 /* ArrowFunction */) { + if (expr.kind === 192 /* FunctionExpression */ || expr.kind === 193 /* ArrowFunction */) { bindEach(node.typeArguments); bindEach(node.arguments); bind(node.expression); @@ -23042,7 +23098,7 @@ var ts; else { bindEachChild(node); } - if (node.expression.kind === 184 /* PropertyAccessExpression */) { + if (node.expression.kind === 185 /* PropertyAccessExpression */) { var propertyAccess = node.expression; if (isNarrowableOperand(propertyAccess.expression) && ts.isPushOrUnshiftIdentifier(propertyAccess.name)) { currentFlow = createFlowArrayMutation(currentFlow, node); @@ -23051,54 +23107,54 @@ var ts; } function getContainerFlags(node) { switch (node.kind) { - case 204 /* ClassExpression */: - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: - case 183 /* ObjectLiteralExpression */: - case 165 /* TypeLiteral */: - case 286 /* JSDocTypeLiteral */: - case 262 /* JsxAttributes */: + case 205 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 184 /* ObjectLiteralExpression */: + case 166 /* TypeLiteral */: + case 287 /* JSDocTypeLiteral */: + case 263 /* JsxAttributes */: return 1 /* IsContainer */; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return 1 /* IsContainer */ | 64 /* IsInterface */; - case 238 /* ModuleDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 176 /* MappedType */: + case 239 /* ModuleDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 177 /* MappedType */: return 1 /* IsContainer */ | 32 /* HasLocals */; - case 273 /* SourceFile */: + case 274 /* SourceFile */: return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: if (ts.isObjectLiteralOrClassExpressionMethod(node)) { return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */ | 128 /* IsObjectLiteralOrClassExpressionMethod */; } // falls through - case 154 /* Constructor */: - case 233 /* FunctionDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 157 /* CallSignature */: - case 287 /* JSDocSignature */: - case 283 /* JSDocFunctionType */: - case 162 /* FunctionType */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 163 /* ConstructorType */: + case 155 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 158 /* CallSignature */: + case 288 /* JSDocSignature */: + case 284 /* JSDocFunctionType */: + case 163 /* FunctionType */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 164 /* ConstructorType */: return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */; - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */ | 16 /* IsFunctionExpression */; - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return 4 /* IsControlFlowContainer */; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return node.initializer ? 4 /* IsControlFlowContainer */ : 0; - case 268 /* CatchClause */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 240 /* CaseBlock */: + case 269 /* CatchClause */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 241 /* CaseBlock */: return 2 /* IsBlockScopedContainer */; - case 212 /* Block */: + case 213 /* Block */: // do not treat blocks directly inside a function as a block-scoped-container. // Locals that reside in this block should go to the function locals. Otherwise 'x' // would not appear to be a redeclaration of a block scoped local in the following @@ -23131,45 +23187,45 @@ var ts; // members are declared (for example, a member of a class will go into a specific // symbol table depending on if it is static or not). We defer to specialized // handlers to take care of declaring these child members. - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return declareModuleMember(node, symbolFlags, symbolExcludes); - case 273 /* SourceFile */: + case 274 /* SourceFile */: return declareSourceFileMember(node, symbolFlags, symbolExcludes); - case 204 /* ClassExpression */: - case 234 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 235 /* ClassDeclaration */: return declareClassMember(node, symbolFlags, symbolExcludes); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); - case 165 /* TypeLiteral */: - case 286 /* JSDocTypeLiteral */: - case 183 /* ObjectLiteralExpression */: - case 235 /* InterfaceDeclaration */: - case 262 /* JsxAttributes */: + case 166 /* TypeLiteral */: + case 287 /* JSDocTypeLiteral */: + case 184 /* ObjectLiteralExpression */: + case 236 /* InterfaceDeclaration */: + case 263 /* JsxAttributes */: // Interface/Object-types always have their children added to the 'members' of // their container. They are only accessible through an instance of their // container, and are never in scope otherwise (even inside the body of the // object / type / interface declaring them). An exception is type parameters, // which are in scope without qualification (similar to 'locals'). return declareSymbol(container.symbol.members, container.symbol, node, symbolFlags, symbolExcludes); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 287 /* JSDocSignature */: - case 159 /* IndexSignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 283 /* JSDocFunctionType */: - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: - case 236 /* TypeAliasDeclaration */: - case 176 /* MappedType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 288 /* JSDocSignature */: + case 160 /* IndexSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 284 /* JSDocFunctionType */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 237 /* TypeAliasDeclaration */: + case 177 /* MappedType */: // All the children of these container types are never visible through another // symbol (i.e. through another symbol's 'exports' or 'members'). Instead, // they're only accessed 'lexically' (i.e. from code that exists underneath @@ -23190,11 +23246,11 @@ var ts; : declareSymbol(file.locals, /*parent*/ undefined, node, symbolFlags, symbolExcludes); } function hasExportDeclarations(node) { - var body = node.kind === 273 /* SourceFile */ ? node : node.body; - if (body && (body.kind === 273 /* SourceFile */ || body.kind === 239 /* ModuleBlock */)) { + var body = node.kind === 274 /* SourceFile */ ? node : node.body; + if (body && (body.kind === 274 /* SourceFile */ || body.kind === 240 /* ModuleBlock */)) { for (var _i = 0, _a = body.statements; _i < _a.length; _i++) { var stat = _a[_i]; - if (stat.kind === 249 /* ExportDeclaration */ || stat.kind === 248 /* ExportAssignment */) { + if (stat.kind === 250 /* ExportDeclaration */ || stat.kind === 249 /* ExportAssignment */) { return true; } } @@ -23261,7 +23317,7 @@ var ts; // We do that by making an anonymous type literal symbol, and then setting the function // symbol as its sole member. To the rest of the system, this symbol will be indistinguishable // from an actual type literal symbol you would have gotten had you used the long form. - var symbol = createSymbol(131072 /* Signature */, getDeclarationName(node)); + var symbol = createSymbol(131072 /* Signature */, getDeclarationName(node)); // TODO: GH#18217 addDeclarationToSymbol(symbol, node, 131072 /* Signature */); var typeLiteralSymbol = createSymbol(2048 /* TypeLiteral */, "__type" /* Type */); addDeclarationToSymbol(typeLiteralSymbol, node, 2048 /* TypeLiteral */); @@ -23278,7 +23334,7 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 271 /* SpreadAssignment */ || prop.name.kind !== 71 /* Identifier */) { + if (prop.kind === 272 /* SpreadAssignment */ || prop.name.kind !== 71 /* Identifier */) { continue; } var identifier = prop.name; @@ -23290,7 +23346,7 @@ var ts; // c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true. // d.IsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true // and either both previous and propId.descriptor have[[Get]] fields or both previous and propId.descriptor have[[Set]] fields - var currentKind = prop.kind === 269 /* PropertyAssignment */ || prop.kind === 270 /* ShorthandPropertyAssignment */ || prop.kind === 153 /* MethodDeclaration */ + var currentKind = prop.kind === 270 /* PropertyAssignment */ || prop.kind === 271 /* ShorthandPropertyAssignment */ || prop.kind === 154 /* MethodDeclaration */ ? 1 /* Property */ : 2 /* Accessor */; var existingKind = seen.get(identifier.escapedText); @@ -23318,13 +23374,14 @@ var ts; symbol.parent = container.symbol; } addDeclarationToSymbol(symbol, node, symbolFlags); + return symbol; } function bindBlockScopedDeclaration(node, symbolFlags, symbolExcludes) { switch (blockScopeContainer.kind) { - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: declareModuleMember(node, symbolFlags, symbolExcludes); break; - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (ts.isExternalOrCommonJsModule(container)) { declareModuleMember(node, symbolFlags, symbolExcludes); break; @@ -23465,8 +23522,8 @@ var ts; function checkStrictModeFunctionDeclaration(node) { if (languageVersion < 2 /* ES2015 */) { // Report error if function is not top level function declaration - if (blockScopeContainer.kind !== 273 /* SourceFile */ && - blockScopeContainer.kind !== 238 /* ModuleDeclaration */ && + if (blockScopeContainer.kind !== 274 /* SourceFile */ && + blockScopeContainer.kind !== 239 /* ModuleDeclaration */ && !ts.isFunctionLike(blockScopeContainer)) { // We check first if the name is inside class declaration or class expression; if so give explicit message // otherwise report generic error message. @@ -23507,6 +23564,16 @@ var ts; var span = ts.getSpanOfTokenAtPosition(file, node.pos); file.bindDiagnostics.push(ts.createFileDiagnostic(file, span.start, span.length, message, arg0, arg1, arg2)); } + function errorOrSuggestionOnFirstToken(isError, node, message, arg0, arg1, arg2) { + var span = ts.getSpanOfTokenAtPosition(file, node.pos); + var diag = ts.createFileDiagnostic(file, span.start, span.length, message, arg0, arg1, arg2); + if (isError) { + file.bindDiagnostics.push(diag); + } + else { + file.bindSuggestionDiagnostics = ts.append(file.bindSuggestionDiagnostics, __assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); + } + } function bind(node) { if (!node) { return; @@ -23538,7 +23605,7 @@ var ts; // the current 'container' node when it changes. This helps us know which symbol table // a local should go into for example. Since terminal nodes are known not to have // children, as an optimization we don't process those. - if (node.kind > 144 /* LastToken */) { + if (node.kind > 145 /* LastToken */) { var saveParent = parent; parent = node; var containerFlags = getContainerFlags(node); @@ -23610,11 +23677,11 @@ var ts; } // falls through case 99 /* ThisKeyword */: - if (currentFlow && (ts.isExpression(node) || parent.kind === 270 /* ShorthandPropertyAssignment */)) { + if (currentFlow && (ts.isExpression(node) || parent.kind === 271 /* ShorthandPropertyAssignment */)) { node.flowNode = currentFlow; } return checkStrictModeIdentifier(node); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: if (currentFlow && isNarrowableReference(node)) { node.flowNode = currentFlow; } @@ -23622,7 +23689,7 @@ var ts; bindSpecialPropertyDeclaration(node); } break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var specialKind = ts.getSpecialPropertyAssignmentKind(node); switch (specialKind) { case 1 /* ExportsProperty */: @@ -23650,137 +23717,137 @@ var ts; ts.Debug.fail("Unknown special property assignment kind"); } return checkStrictModeBinaryExpression(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return checkStrictModeCatchClause(node); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return checkStrictModeDeleteExpression(node); case 8 /* NumericLiteral */: return checkStrictModeNumericLiteral(node); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return checkStrictModePostfixUnaryExpression(node); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return checkStrictModePrefixUnaryExpression(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return checkStrictModeWithStatement(node); - case 173 /* ThisType */: + case 174 /* ThisType */: seenThisKeyword = true; return; - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: break; // Binding the children will handle everything - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return bindTypeParameter(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return bindParameter(node); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return bindVariableDeclarationOrBindingElement(node); - case 181 /* BindingElement */: + case 182 /* BindingElement */: node.flowNode = currentFlow; return bindVariableDeclarationOrBindingElement(node); - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return bindPropertyWorker(node); - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return bindPropertyOrMethodOrAccessor(node, 4 /* Property */, 0 /* PropertyExcludes */); - case 272 /* EnumMember */: + case 273 /* EnumMember */: return bindPropertyOrMethodOrAccessor(node, 8 /* EnumMember */, 68008959 /* EnumMemberExcludes */); - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: return declareSymbolAndAddToSymbolTable(node, 131072 /* Signature */, 0 /* None */); - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: // If this is an ObjectLiteralExpression method, then it sits in the same space // as other properties in the object literal. So we use SymbolFlags.PropertyExcludes // so that it will conflict with any other object literal members with the same // name. return bindPropertyOrMethodOrAccessor(node, 8192 /* Method */ | (node.questionToken ? 16777216 /* Optional */ : 0 /* None */), ts.isObjectLiteralMethod(node) ? 0 /* PropertyExcludes */ : 67208127 /* MethodExcludes */); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return bindFunctionDeclaration(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return declareSymbolAndAddToSymbolTable(node, 16384 /* Constructor */, /*symbolExcludes:*/ 0 /* None */); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: return bindPropertyOrMethodOrAccessor(node, 32768 /* GetAccessor */, 67150783 /* GetAccessorExcludes */); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return bindPropertyOrMethodOrAccessor(node, 65536 /* SetAccessor */, 67183551 /* SetAccessorExcludes */); - case 162 /* FunctionType */: - case 283 /* JSDocFunctionType */: - case 287 /* JSDocSignature */: - case 163 /* ConstructorType */: + case 163 /* FunctionType */: + case 284 /* JSDocFunctionType */: + case 288 /* JSDocSignature */: + case 164 /* ConstructorType */: return bindFunctionOrConstructorType(node); - case 165 /* TypeLiteral */: - case 286 /* JSDocTypeLiteral */: - case 176 /* MappedType */: + case 166 /* TypeLiteral */: + case 287 /* JSDocTypeLiteral */: + case 177 /* MappedType */: return bindAnonymousTypeWorker(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return bindObjectLiteralExpression(node); - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return bindFunctionExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (ts.isInJavaScriptFile(node)) { bindCallExpression(node); } break; // Members of classes, interfaces, and modules - case 204 /* ClassExpression */: - case 234 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 235 /* ClassDeclaration */: // All classes are automatically in strict mode in ES6. inStrictMode = true; return bindClassLikeDeclaration(node); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return bindBlockScopedDeclaration(node, 64 /* Interface */, 67901832 /* InterfaceExcludes */); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return bindBlockScopedDeclaration(node, 524288 /* TypeAlias */, 67901928 /* TypeAliasExcludes */); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return bindEnumDeclaration(node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return bindModuleDeclaration(node); // Jsx-attributes - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return bindJsxAttributes(node); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return bindJsxAttribute(node, 4 /* Property */, 0 /* PropertyExcludes */); // Imports and exports - case 242 /* ImportEqualsDeclaration */: - case 245 /* NamespaceImport */: - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 243 /* ImportEqualsDeclaration */: + case 246 /* NamespaceImport */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: return declareSymbolAndAddToSymbolTable(node, 2097152 /* Alias */, 2097152 /* AliasExcludes */); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return bindNamespaceExportDeclaration(node); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return bindImportClause(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return bindExportDeclaration(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return bindExportAssignment(node); - case 273 /* SourceFile */: + case 274 /* SourceFile */: updateStrictModeStatementList(node.statements); return bindSourceFileIfExternalModule(); - case 212 /* Block */: + case 213 /* Block */: if (!ts.isFunctionLike(node.parent)) { return; } // falls through - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return updateStrictModeStatementList(node.statements); - case 292 /* JSDocParameterTag */: - if (node.parent.kind === 287 /* JSDocSignature */) { + case 293 /* JSDocParameterTag */: + if (node.parent.kind === 288 /* JSDocSignature */) { return bindParameter(node); } - if (node.parent.kind !== 286 /* JSDocTypeLiteral */) { + if (node.parent.kind !== 287 /* JSDocTypeLiteral */) { break; } // falls through - case 297 /* JSDocPropertyTag */: + case 298 /* JSDocPropertyTag */: var propTag = node; - var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 282 /* JSDocOptionalType */ ? + var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 283 /* JSDocOptionalType */ ? 4 /* Property */ | 16777216 /* Optional */ : 4 /* Property */; return declareSymbolAndAddToSymbolTable(propTag, flags, 0 /* PropertyExcludes */); - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: return (delayedTypeAliases || (delayedTypeAliases = [])).push(node); } } @@ -23812,7 +23879,7 @@ var ts; bindAnonymousDeclaration(node, 2097152 /* Alias */, getDeclarationName(node)); } else { - var flags = node.kind === 248 /* ExportAssignment */ && ts.exportAssignmentIsAlias(node) + var flags = node.kind === 249 /* ExportAssignment */ && ts.exportAssignmentIsAlias(node) // An export default clause with an EntityNameExpression or a class expression exports all meanings of that identifier or expression; ? 2097152 /* Alias */ // An export default clause with any other expression exports a value @@ -23826,7 +23893,7 @@ var ts; if (node.modifiers && node.modifiers.length) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Modifiers_cannot_appear_here)); } - if (node.parent.kind !== 273 /* SourceFile */) { + if (node.parent.kind !== 274 /* SourceFile */) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Global_module_exports_may_only_appear_at_top_level)); return; } @@ -23872,13 +23939,11 @@ var ts; // expression is the declaration setCommonJsModuleIndicator(node); var lhs = node.left; - var symbol = forEachIdentifierInEntityName(lhs.expression, function (id, original) { - if (!original) { - return undefined; + var symbol = forEachIdentifierInEntityName(lhs.expression, /*parent*/ undefined, function (id, symbol) { + if (symbol) { + addDeclarationToSymbol(symbol, id, 1536 /* Module */ | 67108864 /* JSContainer */); } - var s = ts.getJSInitializerSymbol(original); - addDeclarationToSymbol(s, id, 1536 /* Module */ | 67108864 /* JSContainer */); - return s; + return symbol; }); if (symbol) { var flags = ts.isClassExpression(node.right) ? @@ -23909,14 +23974,14 @@ var ts; ts.Debug.assert(ts.isInJavaScriptFile(node)); var thisContainer = ts.getThisContainer(node, /*includeArrowFunctions*/ false); switch (thisContainer.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: var constructorSymbol = thisContainer.symbol; // For `f.prototype.m = function() { this.x = 0; }`, `this.x = 0` should modify `f`'s members, not the function expression. if (ts.isBinaryExpression(thisContainer.parent) && thisContainer.parent.operatorToken.kind === 58 /* EqualsToken */) { var l = thisContainer.parent.left; if (ts.isPropertyAccessEntityNameExpression(l) && ts.isPrototypeAccess(l.expression)) { - constructorSymbol = getJSInitializerSymbolFromName(l.expression.expression, thisParentContainer); + constructorSymbol = lookupSymbolForPropertyAccess(l.expression.expression, thisParentContainer); } } if (constructorSymbol) { @@ -23926,18 +23991,18 @@ var ts; declareSymbol(constructorSymbol.members, constructorSymbol, node, 4 /* Property */, 0 /* PropertyExcludes */ & ~4 /* Property */); } break; - case 154 /* Constructor */: - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 155 /* Constructor */: + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // this.foo assignment in a JavaScript class // Bind this property to the containing class var containingClass = thisContainer.parent; var symbolTable = ts.hasModifier(thisContainer, 32 /* Static */) ? containingClass.symbol.exports : containingClass.symbol.members; declareSymbol(symbolTable, containingClass.symbol, node, 4 /* Property */, 0 /* None */, /*isReplaceableByMethod*/ true); break; - case 273 /* SourceFile */: + case 274 /* SourceFile */: // this.foo assignment in a source file // Do not bind. It would be nice to support this someday though. break; @@ -23949,7 +24014,7 @@ var ts; if (node.expression.kind === 99 /* ThisKeyword */) { bindThisPropertyAssignment(node); } - else if (ts.isPropertyAccessEntityNameExpression(node) && node.parent.parent.kind === 273 /* SourceFile */) { + else if (ts.isPropertyAccessEntityNameExpression(node) && node.parent.parent.kind === 274 /* SourceFile */) { if (ts.isPrototypeAccess(node.expression)) { bindPrototypePropertyAssignment(node, node.parent); } @@ -24003,43 +24068,65 @@ var ts; node.expression.parent = node; bindPropertyAssignment(node.expression, node, /*isPrototypeProperty*/ false); } - function getJSInitializerSymbolFromName(name, lookupContainer) { - return ts.getJSInitializerSymbol(lookupSymbolForPropertyAccess(name, lookupContainer)); - } function bindPropertyAssignment(name, propertyAccess, isPrototypeProperty) { - var symbol = getJSInitializerSymbolFromName(name); + var namespaceSymbol = lookupSymbolForPropertyAccess(name); var isToplevelNamespaceableInitializer = ts.isBinaryExpression(propertyAccess.parent) - ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 273 /* SourceFile */ && + ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 274 /* SourceFile */ && !!ts.getJavascriptInitializer(ts.getInitializerOfBinaryExpression(propertyAccess.parent), ts.isPrototypeAccess(propertyAccess.parent.left)) - : propertyAccess.parent.parent.kind === 273 /* SourceFile */; - if (!isPrototypeProperty && (!symbol || !(symbol.flags & 1920 /* Namespace */)) && isToplevelNamespaceableInitializer) { + : propertyAccess.parent.parent.kind === 274 /* SourceFile */; + if (!isPrototypeProperty && (!namespaceSymbol || !(namespaceSymbol.flags & 1920 /* Namespace */)) && isToplevelNamespaceableInitializer) { // make symbols or add declarations for intermediate containers var flags_1 = 1536 /* Module */ | 67108864 /* JSContainer */; var excludeFlags_1 = 67215503 /* ValueModuleExcludes */ & ~67108864 /* JSContainer */; - forEachIdentifierInEntityName(propertyAccess.expression, function (id, original) { - if (original) { - // Note: add declaration to original symbol, not the special-syntax's symbol, so that namespaces work for type lookup - addDeclarationToSymbol(original, id, flags_1); - return original; + namespaceSymbol = forEachIdentifierInEntityName(propertyAccess.expression, namespaceSymbol, function (id, symbol, parent) { + if (symbol) { + addDeclarationToSymbol(symbol, id, flags_1); + return symbol; } else { - return symbol = declareSymbol(symbol ? symbol.exports : container.locals, symbol, id, flags_1, excludeFlags_1); + return declareSymbol(parent ? parent.exports : container.locals, parent, id, flags_1, excludeFlags_1); } }); } - if (!symbol || !(symbol.flags & (16 /* Function */ | 32 /* Class */ | 1024 /* NamespaceModule */ | 4096 /* ObjectLiteral */))) { + if (!namespaceSymbol || !isJavascriptContainer(namespaceSymbol)) { return; } // Set up the members collection if it doesn't exist already var symbolTable = isPrototypeProperty ? - (symbol.members || (symbol.members = ts.createSymbolTable())) : - (symbol.exports || (symbol.exports = ts.createSymbolTable())); + (namespaceSymbol.members || (namespaceSymbol.members = ts.createSymbolTable())) : + (namespaceSymbol.exports || (namespaceSymbol.exports = ts.createSymbolTable())); // Declare the method/property var jsContainerFlag = isToplevelNamespaceableInitializer ? 67108864 /* JSContainer */ : 0; var isMethod = ts.isFunctionLikeDeclaration(ts.getAssignedJavascriptInitializer(propertyAccess)); var symbolFlags = (isMethod ? 8192 /* Method */ : 4 /* Property */) | jsContainerFlag; var symbolExcludes = (isMethod ? 67208127 /* MethodExcludes */ : 0 /* PropertyExcludes */) & ~jsContainerFlag; - declareSymbol(symbolTable, symbol, propertyAccess, symbolFlags, symbolExcludes); + declareSymbol(symbolTable, namespaceSymbol, propertyAccess, symbolFlags, symbolExcludes); + } + /** + * Javascript containers are: + * - Functions + * - classes + * - namespaces + * - variables initialized with function expressions + * - with class expressions + * - with empty object literals + * - with non-empty object literals if assigned to the prototype property + */ + function isJavascriptContainer(symbol) { + if (symbol.flags & (16 /* Function */ | 32 /* Class */ | 1024 /* NamespaceModule */)) { + return true; + } + var node = symbol.valueDeclaration; + var init = !node ? undefined : + ts.isVariableDeclaration(node) ? node.initializer : + ts.isBinaryExpression(node) ? node.right : + ts.isPropertyAccessExpression(node) && ts.isBinaryExpression(node.parent) ? node.parent.right : + undefined; + if (init) { + var isPrototypeAssignment = ts.isPrototypeAccess(ts.isVariableDeclaration(node) ? node.name : ts.isBinaryExpression(node) ? node.left : node); + return !!ts.getJavascriptInitializer(ts.isBinaryExpression(init) && init.operatorToken.kind === 54 /* BarBarToken */ ? init.right : init, isPrototypeAssignment); + } + return false; } function getParentOfBinaryExpression(expr) { while (ts.isBinaryExpression(expr.parent)) { @@ -24053,21 +24140,22 @@ var ts; return lookupSymbolForNameWorker(lookupContainer, node.escapedText); } else { - var symbol = ts.getJSInitializerSymbol(lookupSymbolForPropertyAccess(node.expression)); + var symbol = lookupSymbolForPropertyAccess(node.expression); return symbol && symbol.exports && symbol.exports.get(node.name.escapedText); } } - function forEachIdentifierInEntityName(e, action) { + function forEachIdentifierInEntityName(e, parent, action) { if (isExportsOrModuleExportsOrAlias(file, e)) { return file.symbol; } else if (ts.isIdentifier(e)) { - return action(e, lookupSymbolForPropertyAccess(e)); + return action(e, lookupSymbolForPropertyAccess(e), parent); } else { - var s = ts.getJSInitializerSymbol(forEachIdentifierInEntityName(e.expression, action)); - ts.Debug.assert(!!s && !!s.exports); - return action(e.name, s.exports.get(e.name.escapedText)); + var s = forEachIdentifierInEntityName(e.expression, parent, action); + if (!s || !s.exports) + return ts.Debug.fail(); + return action(e.name, s.exports.get(e.name.escapedText), s); } } function bindCallExpression(node) { @@ -24078,7 +24166,7 @@ var ts; } } function bindClassLikeDeclaration(node) { - if (node.kind === 234 /* ClassDeclaration */) { + if (node.kind === 235 /* ClassDeclaration */) { bindBlockScopedDeclaration(node, 32 /* Class */, 68008383 /* ClassExcludes */); } else { @@ -24124,7 +24212,7 @@ var ts; bindBlockScopedVariableDeclaration(node); } else if (ts.isParameterDeclaration(node)) { - // It is safe to walk up parent chain to find whether the node is a destructing parameter declaration + // It is safe to walk up parent chain to find whether the node is a destructuring parameter declaration // because its parent chain has already been set up, since parents are set before descending into children. // // If node is a binding element in parameter declaration, we need to use ParameterExcludes. @@ -24141,7 +24229,7 @@ var ts; } } function bindParameter(node) { - if (node.kind === 292 /* JSDocParameterTag */ && container.kind !== 287 /* JSDocSignature */) { + if (node.kind === 293 /* JSDocParameterTag */ && container.kind !== 288 /* JSDocSignature */) { return; } if (inStrictMode && !(node.flags & 4194304 /* Ambient */)) { @@ -24207,7 +24295,7 @@ var ts; } function bindTypeParameter(node) { if (ts.isJSDocTemplateTag(node.parent)) { - var container_1 = ts.find(node.parent.parent.tags, ts.isJSDocTypeAlias) || ts.getHostSignatureFromJSDoc(node.parent); + var container_1 = ts.find(node.parent.parent.tags, ts.isJSDocTypeAlias) || ts.getHostSignatureFromJSDoc(node.parent); // TODO: GH#18217 if (container_1) { if (!container_1.locals) { container_1.locals = ts.createSymbolTable(); @@ -24218,7 +24306,7 @@ var ts; declareSymbolAndAddToSymbolTable(node, 262144 /* TypeParameter */, 67639784 /* TypeParameterExcludes */); } } - else if (node.parent.kind === 171 /* InferType */) { + else if (node.parent.kind === 172 /* InferType */) { var container_2 = getInferTypeContainer(node.parent); if (container_2) { if (!container_2.locals) { @@ -24227,7 +24315,7 @@ var ts; declareSymbol(container_2.locals, /*parent*/ undefined, node, 262144 /* TypeParameter */, 67639784 /* TypeParameterExcludes */); } else { - bindAnonymousDeclaration(node, 262144 /* TypeParameter */, getDeclarationName(node)); + bindAnonymousDeclaration(node, 262144 /* TypeParameter */, getDeclarationName(node)); // TODO: GH#18217 } } else { @@ -24237,7 +24325,7 @@ var ts; // reachability checks function shouldReportErrorOnModuleDeclaration(node) { var instanceState = getModuleInstanceState(node); - return instanceState === 1 /* Instantiated */ || (instanceState === 2 /* ConstEnumOnly */ && options.preserveConstEnums); + return instanceState === 1 /* Instantiated */ || (instanceState === 2 /* ConstEnumOnly */ && !!options.preserveConstEnums); } function checkUnreachable(node) { if (!(currentFlow.flags & 1 /* Unreachable */)) { @@ -24246,31 +24334,31 @@ var ts; if (currentFlow === unreachableFlow) { var reportError = // report error on all statements except empty ones - (ts.isStatementButNotDeclaration(node) && node.kind !== 214 /* EmptyStatement */) || + (ts.isStatementButNotDeclaration(node) && node.kind !== 215 /* EmptyStatement */) || // report error on class declarations - node.kind === 234 /* ClassDeclaration */ || + node.kind === 235 /* ClassDeclaration */ || // report error on instantiated modules or const-enums only modules if preserveConstEnums is set - (node.kind === 238 /* ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)) || + (node.kind === 239 /* ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)) || // report error on regular enums and const enums if preserveConstEnums is set - (node.kind === 237 /* EnumDeclaration */ && (!ts.isConstEnumDeclaration(node) || options.preserveConstEnums)); + (node.kind === 238 /* EnumDeclaration */ && (!ts.isConstEnumDeclaration(node) || options.preserveConstEnums)); if (reportError) { currentFlow = reportedUnreachableFlow; - // unreachable code is reported if - // - user has explicitly asked about it AND - // - statement is in not ambient context (statements in ambient context is already an error - // so we should not report extras) AND - // - node is not variable statement OR - // - node is block scoped variable statement OR - // - node is not block scoped variable statement and at least one variable declaration has initializer - // Rationale: we don't want to report errors on non-initialized var's since they are hoisted - // On the other side we do want to report errors on non-initialized 'lets' because of TDZ - var reportUnreachableCode = !options.allowUnreachableCode && - !(node.flags & 4194304 /* Ambient */) && - (node.kind !== 213 /* VariableStatement */ || - ts.getCombinedNodeFlags(node.declarationList) & 3 /* BlockScoped */ || - ts.forEach(node.declarationList.declarations, function (d) { return d.initializer; })); - if (reportUnreachableCode) { - errorOnFirstToken(node, ts.Diagnostics.Unreachable_code_detected); + if (!options.allowUnreachableCode) { + // unreachable code is reported if + // - user has explicitly asked about it AND + // - statement is in not ambient context (statements in ambient context is already an error + // so we should not report extras) AND + // - node is not variable statement OR + // - node is block scoped variable statement OR + // - node is not block scoped variable statement and at least one variable declaration has initializer + // Rationale: we don't want to report errors on non-initialized var's since they are hoisted + // On the other side we do want to report errors on non-initialized 'lets' because of TDZ + var isError = ts.unreachableCodeIsError(options) && + !(node.flags & 4194304 /* Ambient */) && + (!ts.isVariableStatement(node) || + !!(ts.getCombinedNodeFlags(node.declarationList) & 3 /* BlockScoped */) || + node.declarationList.declarations.some(function (d) { return !!d.initializer; })); + errorOrSuggestionOnFirstToken(isError, node, ts.Diagnostics.Unreachable_code_detected); } } } @@ -24286,8 +24374,8 @@ var ts; ts.isExportsOrModuleExportsOrAlias = isExportsOrModuleExportsOrAlias; function isNameOfExportsOrModuleExportsAliasDeclaration(sourceFile, node) { var symbol = lookupSymbolForNameWorker(sourceFile, node.escapedText); - return symbol && symbol.valueDeclaration && ts.isVariableDeclaration(symbol.valueDeclaration) && - symbol.valueDeclaration.initializer && isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, symbol.valueDeclaration.initializer); + return !!symbol && !!symbol.valueDeclaration && ts.isVariableDeclaration(symbol.valueDeclaration) && + !!symbol.valueDeclaration.initializer && isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, symbol.valueDeclaration.initializer); } function isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, node) { return isExportsOrModuleExportsOrAlias(sourceFile, node) || @@ -24309,58 +24397,58 @@ var ts; function computeTransformFlagsForNode(node, subtreeFlags) { var kind = node.kind; switch (kind) { - case 186 /* CallExpression */: + case 187 /* CallExpression */: return computeCallExpression(node, subtreeFlags); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return computeNewExpression(node, subtreeFlags); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return computeModuleDeclaration(node, subtreeFlags); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return computeParenthesizedExpression(node, subtreeFlags); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return computeBinaryExpression(node, subtreeFlags); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return computeExpressionStatement(node, subtreeFlags); - case 148 /* Parameter */: + case 149 /* Parameter */: return computeParameter(node, subtreeFlags); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return computeArrowFunction(node, subtreeFlags); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return computeFunctionExpression(node, subtreeFlags); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return computeFunctionDeclaration(node, subtreeFlags); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return computeVariableDeclaration(node, subtreeFlags); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return computeVariableDeclarationList(node, subtreeFlags); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return computeVariableStatement(node, subtreeFlags); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return computeLabeledStatement(node, subtreeFlags); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return computeClassDeclaration(node, subtreeFlags); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return computeClassExpression(node, subtreeFlags); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: return computeHeritageClause(node, subtreeFlags); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return computeCatchClause(node, subtreeFlags); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return computeExpressionWithTypeArguments(node, subtreeFlags); - case 154 /* Constructor */: + case 155 /* Constructor */: return computeConstructor(node, subtreeFlags); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return computePropertyDeclaration(node, subtreeFlags); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return computeMethod(node, subtreeFlags); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return computeAccessor(node, subtreeFlags); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return computeImportEquals(node, subtreeFlags); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return computePropertyAccess(node, subtreeFlags); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return computeElementAccess(node, subtreeFlags); default: return computeOther(node, kind, subtreeFlags); @@ -24412,12 +24500,12 @@ var ts; var transformFlags = subtreeFlags; var operatorTokenKind = node.operatorToken.kind; var leftKind = node.left.kind; - if (operatorTokenKind === 58 /* EqualsToken */ && leftKind === 183 /* ObjectLiteralExpression */) { + if (operatorTokenKind === 58 /* EqualsToken */ && leftKind === 184 /* ObjectLiteralExpression */) { // Destructuring object assignments with are ES2015 syntax // and possibly ESNext if they contain rest transformFlags |= 8 /* AssertESNext */ | 192 /* AssertES2015 */ | 3072 /* AssertDestructuringAssignment */; } - else if (operatorTokenKind === 58 /* EqualsToken */ && leftKind === 182 /* ArrayLiteralExpression */) { + else if (operatorTokenKind === 58 /* EqualsToken */ && leftKind === 183 /* ArrayLiteralExpression */) { // Destructuring assignments are ES2015 syntax. transformFlags |= 192 /* AssertES2015 */ | 3072 /* AssertDestructuringAssignment */; } @@ -24466,8 +24554,8 @@ var ts; // If the node is synthesized, it means the emitter put the parentheses there, // not the user. If we didn't want them, the emitter would not have put them // there. - if (expressionKind === 207 /* AsExpression */ - || expressionKind === 189 /* TypeAssertionExpression */) { + if (expressionKind === 208 /* AsExpression */ + || expressionKind === 190 /* TypeAssertionExpression */) { transformFlags |= 3 /* AssertTypeScript */; } // If the expression of a ParenthesizedExpression is a destructuring assignment, @@ -24844,13 +24932,13 @@ var ts; var excludeFlags = 939525441 /* NodeExcludes */; switch (kind) { case 120 /* AsyncKeyword */: - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: // async/await is ES2017 syntax, but may be ESNext syntax (for async generators) transformFlags |= 8 /* AssertESNext */ | 16 /* AssertES2017 */; break; - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: - case 300 /* PartiallyEmittedExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: + case 301 /* PartiallyEmittedExpression */: // These nodes are TypeScript syntax. transformFlags |= 3 /* AssertTypeScript */; excludeFlags = 536872257 /* OuterExpressionExcludes */; @@ -24861,25 +24949,25 @@ var ts; case 117 /* AbstractKeyword */: case 124 /* DeclareKeyword */: case 76 /* ConstKeyword */: - case 237 /* EnumDeclaration */: - case 272 /* EnumMember */: - case 208 /* NonNullExpression */: + case 238 /* EnumDeclaration */: + case 273 /* EnumMember */: + case 209 /* NonNullExpression */: case 132 /* ReadonlyKeyword */: // These nodes are TypeScript syntax. transformFlags |= 3 /* AssertTypeScript */; break; - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: - case 256 /* JsxOpeningElement */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: case 10 /* JsxText */: - case 257 /* JsxClosingElement */: - case 258 /* JsxFragment */: - case 259 /* JsxOpeningFragment */: - case 260 /* JsxClosingFragment */: - case 261 /* JsxAttribute */: - case 262 /* JsxAttributes */: - case 263 /* JsxSpreadAttribute */: - case 264 /* JsxExpression */: + case 258 /* JsxClosingElement */: + case 259 /* JsxFragment */: + case 260 /* JsxOpeningFragment */: + case 261 /* JsxClosingFragment */: + case 262 /* JsxAttribute */: + case 263 /* JsxAttributes */: + case 264 /* JsxSpreadAttribute */: + case 265 /* JsxExpression */: // These nodes are Jsx syntax. transformFlags |= 4 /* AssertJsx */; break; @@ -24887,11 +24975,11 @@ var ts; case 14 /* TemplateHead */: case 15 /* TemplateMiddle */: case 16 /* TemplateTail */: - case 201 /* TemplateExpression */: - case 188 /* TaggedTemplateExpression */: - case 270 /* ShorthandPropertyAssignment */: + case 202 /* TemplateExpression */: + case 189 /* TaggedTemplateExpression */: + case 271 /* ShorthandPropertyAssignment */: case 115 /* StaticKeyword */: - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: // These nodes are ES6 syntax. transformFlags |= 192 /* AssertES2015 */; break; @@ -24905,14 +24993,14 @@ var ts; transformFlags |= 192 /* AssertES2015 */; } break; - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: // This node is either ES2015 syntax or ES2017 syntax (if it is a for-await-of). if (node.awaitModifier) { transformFlags |= 8 /* AssertESNext */; } transformFlags |= 192 /* AssertES2015 */; break; - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: // This node is either ES2015 syntax (in a generator) or ES2017 syntax (in an async // generator). transformFlags |= 8 /* AssertESNext */ | 192 /* AssertES2015 */ | 16777216 /* ContainsYield */; @@ -24925,38 +25013,38 @@ var ts; case 122 /* BooleanKeyword */: case 138 /* SymbolKeyword */: case 105 /* VoidKeyword */: - case 147 /* TypeParameter */: - case 150 /* PropertySignature */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 160 /* TypePredicate */: - case 161 /* TypeReference */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 164 /* TypeQuery */: - case 165 /* TypeLiteral */: - case 166 /* ArrayType */: - case 167 /* TupleType */: - case 168 /* UnionType */: - case 169 /* IntersectionType */: - case 170 /* ConditionalType */: - case 171 /* InferType */: - case 172 /* ParenthesizedType */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 173 /* ThisType */: - case 174 /* TypeOperator */: - case 175 /* IndexedAccessType */: - case 176 /* MappedType */: - case 177 /* LiteralType */: - case 241 /* NamespaceExportDeclaration */: + case 148 /* TypeParameter */: + case 151 /* PropertySignature */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 161 /* TypePredicate */: + case 162 /* TypeReference */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 165 /* TypeQuery */: + case 166 /* TypeLiteral */: + case 167 /* ArrayType */: + case 168 /* TupleType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: + case 171 /* ConditionalType */: + case 172 /* InferType */: + case 173 /* ParenthesizedType */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 174 /* ThisType */: + case 175 /* TypeOperator */: + case 176 /* IndexedAccessType */: + case 177 /* MappedType */: + case 178 /* LiteralType */: + case 242 /* NamespaceExportDeclaration */: // Types and signatures are TypeScript syntax, and exclude all other facts. transformFlags = 3 /* AssertTypeScript */; excludeFlags = -3 /* TypeExcludes */; break; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: // Even though computed property names are ES6, we don't treat them as such. // This is so that they can flow through PropertyName transforms unaffected. // Instead, we mark the container as ES6, so that it can properly handle the transform. @@ -24973,10 +25061,10 @@ var ts; transformFlags |= 65536 /* ContainsLexicalThisInComputedPropertyName */; } break; - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: transformFlags |= 192 /* AssertES2015 */ | 524288 /* ContainsSpread */; break; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: transformFlags |= 8 /* AssertESNext */ | 1048576 /* ContainsObjectSpread */; break; case 97 /* SuperKeyword */: @@ -24988,28 +25076,28 @@ var ts; // Mark this node and its ancestors as containing a lexical `this` keyword. transformFlags |= 16384 /* ContainsLexicalThis */; break; - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: transformFlags |= 192 /* AssertES2015 */ | 8388608 /* ContainsBindingPattern */; if (subtreeFlags & 524288 /* ContainsRest */) { transformFlags |= 8 /* AssertESNext */ | 1048576 /* ContainsObjectRest */; } excludeFlags = 940049729 /* BindingPatternExcludes */; break; - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: transformFlags |= 192 /* AssertES2015 */ | 8388608 /* ContainsBindingPattern */; excludeFlags = 940049729 /* BindingPatternExcludes */; break; - case 181 /* BindingElement */: + case 182 /* BindingElement */: transformFlags |= 192 /* AssertES2015 */; if (node.dotDotDotToken) { transformFlags |= 524288 /* ContainsRest */; } break; - case 149 /* Decorator */: + case 150 /* Decorator */: // This node is TypeScript syntax, and marks its container as also being TypeScript syntax. transformFlags |= 3 /* AssertTypeScript */ | 4096 /* ContainsDecorators */; break; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: excludeFlags = 942740801 /* ObjectLiteralExcludes */; if (subtreeFlags & 2097152 /* ContainsComputedPropertyName */) { // If an ObjectLiteralExpression contains a ComputedPropertyName, then it @@ -25027,8 +25115,8 @@ var ts; transformFlags |= 8 /* AssertESNext */; } break; - case 182 /* ArrayLiteralExpression */: - case 187 /* NewExpression */: + case 183 /* ArrayLiteralExpression */: + case 188 /* NewExpression */: excludeFlags = 940049729 /* ArrayLiteralOrCallOrNewExcludes */; if (subtreeFlags & 524288 /* ContainsSpread */) { // If the this node contains a SpreadExpression, then it is an ES6 @@ -25036,23 +25124,26 @@ var ts; transformFlags |= 192 /* AssertES2015 */; } break; - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: // A loop containing a block scoped binding *may* need to be transformed from ES6. if (subtreeFlags & 4194304 /* ContainsBlockScopedBinding */) { transformFlags |= 192 /* AssertES2015 */; } break; - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (subtreeFlags & 32768 /* ContainsCapturedLexicalThis */) { transformFlags |= 192 /* AssertES2015 */; } break; - case 224 /* ReturnStatement */: - case 222 /* ContinueStatement */: - case 223 /* BreakStatement */: + case 225 /* ReturnStatement */: + // Return statements may require an `await` in ESNext. + transformFlags |= 33554432 /* ContainsHoistedDeclarationOrCompletion */ | 8 /* AssertESNext */; + break; + case 223 /* ContinueStatement */: + case 224 /* BreakStatement */: transformFlags |= 33554432 /* ContainsHoistedDeclarationOrCompletion */; break; } @@ -25068,33 +25159,33 @@ var ts; */ /* @internal */ function getTransformFlagsSubtreeExclusions(kind) { - if (kind >= 160 /* FirstTypeNode */ && kind <= 178 /* LastTypeNode */) { + if (kind >= 161 /* FirstTypeNode */ && kind <= 179 /* LastTypeNode */) { return -3 /* TypeExcludes */; } switch (kind) { - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 182 /* ArrayLiteralExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 183 /* ArrayLiteralExpression */: return 940049729 /* ArrayLiteralOrCallOrNewExcludes */; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return 977327425 /* ModuleExcludes */; - case 148 /* Parameter */: + case 149 /* Parameter */: return 939525441 /* ParameterExcludes */; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return 1003902273 /* ArrowFunctionExcludes */; - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: return 1003935041 /* FunctionExcludes */; - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return 948962625 /* VariableDeclarationListExcludes */; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return 942011713 /* ClassExcludes */; - case 154 /* Constructor */: + case 155 /* Constructor */: return 1003668801 /* ConstructorExcludes */; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return 1003668801 /* MethodOrAccessorExcludes */; case 119 /* AnyKeyword */: case 134 /* NumberKeyword */: @@ -25104,30 +25195,30 @@ var ts; case 122 /* BooleanKeyword */: case 138 /* SymbolKeyword */: case 105 /* VoidKeyword */: - case 147 /* TypeParameter */: - case 150 /* PropertySignature */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 148 /* TypeParameter */: + case 151 /* PropertySignature */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: return -3 /* TypeExcludes */; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return 942740801 /* ObjectLiteralExcludes */; - case 268 /* CatchClause */: + case 269 /* CatchClause */: return 940574017 /* CatchClauseExcludes */; - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: return 940049729 /* BindingPatternExcludes */; - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: - case 300 /* PartiallyEmittedExpression */: - case 190 /* ParenthesizedExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: + case 301 /* PartiallyEmittedExpression */: + case 191 /* ParenthesizedExpression */: case 97 /* SuperKeyword */: return 536872257 /* OuterExpressionExcludes */; - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: return 671089985 /* PropertyAccessExcludes */; default: return 939525441 /* NodeExcludes */; @@ -25188,7 +25279,7 @@ var ts; if (shouldBail) return; // Visit the type's related types, if any - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var objectType = type; var objectFlags = objectType.objectFlags; if (objectFlags & 4 /* Reference */) { @@ -25204,16 +25295,16 @@ var ts; visitObjectType(objectType); } } - if (type.flags & 32768 /* TypeParameter */) { + if (type.flags & 65536 /* TypeParameter */) { visitTypeParameter(type); } - if (type.flags & 393216 /* UnionOrIntersection */) { + if (type.flags & 786432 /* UnionOrIntersection */) { visitUnionOrIntersectionType(type); } - if (type.flags & 524288 /* Index */) { + if (type.flags & 1048576 /* Index */) { visitIndexType(type); } - if (type.flags & 1048576 /* IndexedAccess */) { + if (type.flags & 2097152 /* IndexedAccess */) { visitIndexedAccessType(type); } } @@ -25282,11 +25373,11 @@ var ts; } function visitSymbol(symbol) { if (!symbol) { - return; + return false; } var symbolId = ts.getSymbolId(symbol); if (visitedSymbols[symbolId]) { - return; + return false; } visitedSymbols[symbolId] = symbol; if (!accept(symbol)) { @@ -25302,12 +25393,13 @@ var ts; // (their type resolved directly to the member deeply referenced) // So to get the intervening symbols, we need to check if there's a type // query node on any of the symbol's declarations and get symbols there - if (d.type && d.type.kind === 164 /* TypeQuery */) { + if (d.type && d.type.kind === 165 /* TypeQuery */) { var query = d.type; var entity = getResolvedSymbol(getFirstIdentifier(query.exprName)); visitSymbol(entity); } }); + return false; } } } @@ -25321,7 +25413,7 @@ var ts; ts.trace = trace; /* @internal */ function isTraceEnabled(compilerOptions, host) { - return compilerOptions.traceResolution && host.trace !== undefined; + return !!compilerOptions.traceResolution && host.trace !== undefined; } ts.isTraceEnabled = isTraceEnabled; function withPackageId(packageId, r) { @@ -25501,7 +25593,6 @@ var ts; } } function secondaryLookup() { - var resolvedFile; var initialLocationForSecondaryLookup = containingFile && ts.getDirectoryPath(containingFile); if (initialLocationForSecondaryLookup !== undefined) { // check secondary locations @@ -25509,7 +25600,7 @@ var ts; trace(host, ts.Diagnostics.Looking_up_in_node_modules_folder_initial_location_0, initialLocationForSecondaryLookup); } var result = loadModuleFromNodeModules(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, failedLookupLocations, moduleResolutionState, /*cache*/ undefined); - resolvedFile = resolvedTypeScriptOnly(result && result.value); + var resolvedFile = resolvedTypeScriptOnly(result && result.value); if (!resolvedFile && traceEnabled) { trace(host, ts.Diagnostics.Type_reference_directive_0_was_not_resolved, typeReferenceDirectiveName); } @@ -25582,7 +25673,7 @@ var ts; } function getOrCreateCacheForModuleName(nonRelativeModuleName) { if (ts.isExternalModuleNameRelative(nonRelativeModuleName)) { - return undefined; + return undefined; // TODO: GH#18217 } var perModuleNameCache = moduleNameToDirectoryMap.get(nonRelativeModuleName); if (!perModuleNameCache) { @@ -25694,7 +25785,7 @@ var ts; result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache); break; default: - ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); + return ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); } if (perFolderCache) { perFolderCache.set(moduleName, result); @@ -25947,7 +26038,7 @@ var ts; var originalPath = void 0; if (!compilerOptions.preserveSymlinks && resolvedValue) { originalPath = resolvedValue.path; - var path = realPath(resolved_1.value.path, host, traceEnabled); + var path = realPath(resolvedValue.path, host, traceEnabled); if (path === originalPath) { originalPath = undefined; } @@ -26066,7 +26157,7 @@ var ts; function loadModuleFromFile(extensions, candidate, failedLookupLocations, onlyRecordFailures, state) { if (extensions === Extensions.Json) { var extensionLess = ts.tryRemoveExtension(candidate, ".json" /* Json */); - return extensionLess && tryAddingExtensions(extensionLess, extensions, failedLookupLocations, onlyRecordFailures, state); + return extensionLess === undefined ? undefined : tryAddingExtensions(extensionLess, extensions, failedLookupLocations, onlyRecordFailures, state); } // First, try adding an extension. An import of "foo" could be matched by a file "foo.ts", or "foo.js" by "foo.js.ts" var resolvedByAddingExtension = tryAddingExtensions(candidate, extensions, failedLookupLocations, onlyRecordFailures, state); @@ -26105,7 +26196,7 @@ var ts; } function tryExtension(ext) { var path = tryFile(candidate + ext, failedLookupLocations, onlyRecordFailures, state); - return path && { path: path, ext: ext }; + return path === undefined ? undefined : { path: path, ext: ext }; } } /** Return the file if it exists. */ @@ -26525,11 +26616,12 @@ var ts; getGlobalDiagnostics: getGlobalDiagnostics, getTypeOfSymbolAtLocation: function (symbol, location) { location = ts.getParseTreeNode(location); - return location ? getTypeOfSymbolAtLocation(symbol, location) : unknownType; + return location ? getTypeOfSymbolAtLocation(symbol, location) : errorType; }, - getSymbolsOfParameterPropertyDeclaration: function (parameter, parameterName) { - parameter = ts.getParseTreeNode(parameter, ts.isParameter); - ts.Debug.assert(parameter !== undefined, "Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."); + getSymbolsOfParameterPropertyDeclaration: function (parameterIn, parameterName) { + var parameter = ts.getParseTreeNode(parameterIn, ts.isParameter); + if (parameter === undefined) + return ts.Debug.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."); return getSymbolsOfParameterPropertyDeclaration(parameter, ts.escapeLeadingUnderscores(parameterName)); }, getDeclaredTypeOfSymbol: getDeclaredTypeOfSymbol, @@ -26541,9 +26633,9 @@ var ts; getBaseTypes: getBaseTypes, getBaseTypeOfLiteralType: getBaseTypeOfLiteralType, getWidenedType: getWidenedType, - getTypeFromTypeNode: function (node) { - node = ts.getParseTreeNode(node, ts.isTypeNode); - return node ? getTypeFromTypeNode(node) : unknownType; + getTypeFromTypeNode: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isTypeNode); + return node ? getTypeFromTypeNode(node) : errorType; }, getParameterType: getTypeAtPosition, getReturnTypeOfSignature: getReturnTypeOfSignature, @@ -26569,8 +26661,8 @@ var ts; node = ts.getParseTreeNode(node); return node ? getShorthandAssignmentValueSymbol(node) : undefined; }, - getExportSpecifierLocalTargetSymbol: function (node) { - node = ts.getParseTreeNode(node, ts.isExportSpecifier); + getExportSpecifierLocalTargetSymbol: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isExportSpecifier); return node ? getExportSpecifierLocalTargetSymbol(node) : undefined; }, getExportSymbolOfSymbol: function (symbol) { @@ -26578,10 +26670,10 @@ var ts; }, getTypeAtLocation: function (node) { node = ts.getParseTreeNode(node); - return node ? getTypeOfNode(node) : unknownType; + return node ? getTypeOfNode(node) : errorType; }, - getPropertySymbolOfDestructuringAssignment: function (location) { - location = ts.getParseTreeNode(location, ts.isIdentifier); + getPropertySymbolOfDestructuringAssignment: function (locationIn) { + var location = ts.getParseTreeNode(locationIn, ts.isIdentifier); return location ? getPropertySymbolOfDestructuringAssignment(location) : undefined; }, signatureToString: function (signature, enclosingDeclaration, flags, kind) { @@ -26611,41 +26703,41 @@ var ts; getSymbolDisplayBuilder: getSymbolDisplayBuilder, getAugmentedPropertiesOfType: getAugmentedPropertiesOfType, getRootSymbols: getRootSymbols, - getContextualType: function (node) { - node = ts.getParseTreeNode(node, ts.isExpression); + getContextualType: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isExpression); return node ? getContextualType(node) : undefined; }, - getContextualTypeForArgumentAtIndex: function (node, argIndex) { - node = ts.getParseTreeNode(node, ts.isCallLikeExpression); + getContextualTypeForArgumentAtIndex: function (nodeIn, argIndex) { + var node = ts.getParseTreeNode(nodeIn, ts.isCallLikeExpression); return node && getContextualTypeForArgumentAtIndex(node, argIndex); }, - getContextualTypeForJsxAttribute: function (node) { - node = ts.getParseTreeNode(node, ts.isJsxAttributeLike); + getContextualTypeForJsxAttribute: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isJsxAttributeLike); return node && getContextualTypeForJsxAttribute(node); }, isContextSensitive: isContextSensitive, getFullyQualifiedName: getFullyQualifiedName, - getResolvedSignature: function (node, candidatesOutArray, theArgumentCount) { - node = ts.getParseTreeNode(node, ts.isCallLikeExpression); + getResolvedSignature: function (nodeIn, candidatesOutArray, theArgumentCount) { + var node = ts.getParseTreeNode(nodeIn, ts.isCallLikeExpression); apparentArgumentCount = theArgumentCount; var res = node ? getResolvedSignature(node, candidatesOutArray) : undefined; apparentArgumentCount = undefined; return res; }, - getConstantValue: function (node) { - node = ts.getParseTreeNode(node, canHaveConstantValue); + getConstantValue: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue(node) : undefined; }, - isValidPropertyAccess: function (node, propertyName) { - node = ts.getParseTreeNode(node, ts.isPropertyAccessOrQualifiedNameOrImportTypeNode); + isValidPropertyAccess: function (nodeIn, propertyName) { + var node = ts.getParseTreeNode(nodeIn, ts.isPropertyAccessOrQualifiedNameOrImportTypeNode); return !!node && isValidPropertyAccess(node, ts.escapeLeadingUnderscores(propertyName)); }, - isValidPropertyAccessForCompletions: function (node, type, property) { - node = ts.getParseTreeNode(node, ts.isPropertyAccessExpression); + isValidPropertyAccessForCompletions: function (nodeIn, type, property) { + var node = ts.getParseTreeNode(nodeIn, ts.isPropertyAccessExpression); return !!node && isValidPropertyAccessForCompletions(node, type, property); }, - getSignatureFromDeclaration: function (declaration) { - declaration = ts.getParseTreeNode(declaration, ts.isFunctionLike); + getSignatureFromDeclaration: function (declarationIn) { + var declaration = ts.getParseTreeNode(declarationIn, ts.isFunctionLike); return declaration ? getSignatureFromDeclaration(declaration) : undefined; }, isImplementationOfOverload: function (node) { @@ -26657,7 +26749,8 @@ var ts; var links = getSymbolLinks(symbol); if (!links.immediateTarget) { var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); + if (!node) + return ts.Debug.fail(); links.immediateTarget = getTargetOfAliasDeclaration(node, /*dontRecursivelyResolve*/ true); } return links.immediateTarget; @@ -26668,13 +26761,13 @@ var ts; getExportsAndPropertiesOfModule: getExportsAndPropertiesOfModule, getSymbolWalker: ts.createGetSymbolWalker(getRestTypeOfSignature, getTypePredicateOfSignature, getReturnTypeOfSignature, getBaseTypes, resolveStructuredTypeMembers, getTypeOfSymbol, getResolvedSymbol, getIndexTypeOfStructuredType, getConstraintFromTypeParameter, getFirstIdentifier), getAmbientModules: getAmbientModules, - getAllAttributesTypeFromJsxOpeningLikeElement: function (node) { - node = ts.getParseTreeNode(node, ts.isJsxOpeningLikeElement); + getAllAttributesTypeFromJsxOpeningLikeElement: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isJsxOpeningLikeElement); return node ? getAllAttributesTypeFromJsxOpeningLikeElement(node) : undefined; }, getJsxIntrinsicTagNamesAt: getJsxIntrinsicTagNamesAt, - isOptionalParameter: function (node) { - node = ts.getParseTreeNode(node, ts.isParameter); + isOptionalParameter: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isParameter); return node ? isOptionalParameter(node) : false; }, tryGetMemberInModuleExports: function (name, symbol) { return tryGetMemberInModuleExports(ts.escapeLeadingUnderscores(name), symbol); }, @@ -26708,7 +26801,7 @@ var ts; getSuggestionForNonexistentSymbol: function (location, name, meaning) { return getSuggestionForNonexistentSymbol(location, ts.escapeLeadingUnderscores(name), meaning); }, getSuggestionForNonexistentModule: function (node, target) { return getSuggestionForNonexistentModule(node, target); }, getBaseConstraintOfType: getBaseConstraintOfType, - getDefaultFromTypeParameter: function (type) { return type && type.flags & 32768 /* TypeParameter */ ? getDefaultFromTypeParameter(type) : undefined; }, + getDefaultFromTypeParameter: function (type) { return type && type.flags & 65536 /* TypeParameter */ ? getDefaultFromTypeParameter(type) : undefined; }, resolveName: function (name, location, meaning, excludeGlobals) { return resolveName(location, ts.escapeLeadingUnderscores(name), meaning, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false, excludeGlobals); }, @@ -26720,24 +26813,35 @@ var ts; node = ts.getParseTreeNode(node); return node && tryGetThisTypeAt(node); }, - getTypeArgumentConstraint: function (node) { - node = ts.getParseTreeNode(node, ts.isTypeNode); + getTypeArgumentConstraint: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isTypeNode); return node && getTypeArgumentConstraint(node); }, - getSuggestionDiagnostics: function (file) { - return (suggestionDiagnostics.get(file.fileName) || ts.emptyArray).concat(getUnusedDiagnostics()); - function getUnusedDiagnostics() { - if (file.isDeclarationFile) - return ts.emptyArray; + getSuggestionDiagnostics: function (file, ct) { + var diagnostics; + try { + // Record the cancellation token so it can be checked later on during checkSourceElement. + // Do this in a finally block so we can ensure that it gets reset back to nothing after + // this call is done. + cancellationToken = ct; + // Ensure file is type checked checkSourceFile(file); - var diagnostics = []; ts.Debug.assert(!!(getNodeLinks(file).flags & 1 /* TypeChecked */)); + diagnostics = ts.addRange(diagnostics, suggestionDiagnostics.get(file.fileName)); + if (!file.isDeclarationFile && (!unusedIsError(0 /* Local */) || !unusedIsError(1 /* Parameter */))) { + addUnusedDiagnostics(); + } + return diagnostics || ts.emptyArray; + } + finally { + cancellationToken = undefined; + } + function addUnusedDiagnostics() { checkUnusedIdentifiers(getPotentiallyUnusedIdentifiers(file), function (kind, diag) { if (!unusedIsError(kind)) { - diagnostics.push(__assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); + (diagnostics || (diagnostics = [])).push(__assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); } }); - return diagnostics; } }, runWithCancellationToken: function (token, callback) { @@ -26762,22 +26866,23 @@ var ts; var anyType = createIntrinsicType(1 /* Any */, "any"); var autoType = createIntrinsicType(1 /* Any */, "any"); var wildcardType = createIntrinsicType(1 /* Any */, "any"); - var unknownType = createIntrinsicType(1 /* Any */, "unknown"); - var undefinedType = createIntrinsicType(4096 /* Undefined */, "undefined"); - var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(4096 /* Undefined */ | 16777216 /* ContainsWideningType */, "undefined"); - var nullType = createIntrinsicType(8192 /* Null */, "null"); - var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(8192 /* Null */ | 16777216 /* ContainsWideningType */, "null"); - var stringType = createIntrinsicType(2 /* String */, "string"); - var numberType = createIntrinsicType(4 /* Number */, "number"); - var trueType = createIntrinsicType(128 /* BooleanLiteral */, "true"); - var falseType = createIntrinsicType(128 /* BooleanLiteral */, "false"); + var errorType = createIntrinsicType(1 /* Any */, "error"); + var unknownType = createIntrinsicType(2 /* Unknown */, "unknown"); + var undefinedType = createIntrinsicType(8192 /* Undefined */, "undefined"); + var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(8192 /* Undefined */ | 134217728 /* ContainsWideningType */, "undefined"); + var nullType = createIntrinsicType(16384 /* Null */, "null"); + var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(16384 /* Null */ | 134217728 /* ContainsWideningType */, "null"); + var stringType = createIntrinsicType(4 /* String */, "string"); + var numberType = createIntrinsicType(8 /* Number */, "number"); + var trueType = createIntrinsicType(256 /* BooleanLiteral */, "true"); + var falseType = createIntrinsicType(256 /* BooleanLiteral */, "false"); var booleanType = createBooleanType([trueType, falseType]); - var esSymbolType = createIntrinsicType(512 /* ESSymbol */, "symbol"); - var voidType = createIntrinsicType(2048 /* Void */, "void"); - var neverType = createIntrinsicType(16384 /* Never */, "never"); - var silentNeverType = createIntrinsicType(16384 /* Never */, "never"); - var implicitNeverType = createIntrinsicType(16384 /* Never */, "never"); - var nonPrimitiveType = createIntrinsicType(134217728 /* NonPrimitive */, "object"); + var esSymbolType = createIntrinsicType(1024 /* ESSymbol */, "symbol"); + var voidType = createIntrinsicType(4096 /* Void */, "void"); + var neverType = createIntrinsicType(32768 /* Never */, "never"); + var silentNeverType = createIntrinsicType(32768 /* Never */, "never"); + var implicitNeverType = createIntrinsicType(32768 /* Never */, "never"); + var nonPrimitiveType = createIntrinsicType(16777216 /* NonPrimitive */, "object"); var stringNumberSymbolType = getUnionType([stringType, numberType, esSymbolType]); var keyofConstraintType = keyofStringsOnly ? stringType : stringNumberSymbolType; var emptyObjectType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); @@ -26789,17 +26894,17 @@ var ts; var anyFunctionType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); // The anyFunctionType contains the anyFunctionType by definition. The flag is further propagated // in getPropagatingFlagsOfTypes, and it is checked in inferFromTypes. - anyFunctionType.flags |= 67108864 /* ContainsAnyFunctionType */; + anyFunctionType.flags |= 536870912 /* ContainsAnyFunctionType */; var noConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); var circularConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); var resolvingDefaultType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); - var markerSuperType = createType(32768 /* TypeParameter */); - var markerSubType = createType(32768 /* TypeParameter */); + var markerSuperType = createType(65536 /* TypeParameter */); + var markerSubType = createType(65536 /* TypeParameter */); markerSubType.constraint = markerSuperType; - var markerOtherType = createType(32768 /* TypeParameter */); + var markerOtherType = createType(65536 /* TypeParameter */); var noTypePredicate = createIdentifierTypePredicate("<>", 0, anyType); var anySignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); - var unknownSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, unknownType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); + var unknownSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, errorType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); var resolvingSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); var silentNeverSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, silentNeverType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); var resolvingSignaturesArray = [resolvingSignature]; @@ -27028,6 +27133,7 @@ var ts; typeToString(type, enclosingDeclaration, flags, emitTextWriterWrapper(writer)); }, buildSymbolDisplay: function (symbol, writer, enclosingDeclaration, meaning, flags) { + if (flags === void 0) { flags = 0 /* None */; } symbolToString(symbol, enclosingDeclaration, meaning, flags | 4 /* AllowAnyNodeKind */, emitTextWriterWrapper(writer)); }, buildSignatureDisplay: function (signature, writer, enclosing, flags, kind) { @@ -27041,12 +27147,12 @@ var ts; buildParameterDisplay: function (symbol, writer, enclosing, flags) { var node = nodeBuilder.symbolToParameterDeclaration(symbol, enclosing, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */, writer); var printer = ts.createPrinter({ removeComments: true }); - printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); + printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217 }, buildTypeParameterDisplay: function (tp, writer, enclosing, flags) { var node = nodeBuilder.typeParameterToDeclaration(tp, enclosing, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */ | 8192 /* OmitParameterModifiers */, writer); var printer = ts.createPrinter({ removeComments: true }); - printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); + printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217 }, buildTypePredicateDisplay: function (predicate, writer, enclosing, flags) { typePredicateToString(predicate, enclosing, flags, emitTextWriterWrapper(writer)); @@ -27059,13 +27165,13 @@ var ts; buildDisplayForParametersAndDelimiters: function (thisParameter, parameters, writer, enclosing, originalFlags) { var printer = ts.createPrinter({ removeComments: true }); var flags = 8192 /* OmitParameterModifiers */ | 3112960 /* IgnoreErrors */ | toNodeBuilderFlags(originalFlags); - var thisParameterArray = thisParameter ? [nodeBuilder.symbolToParameterDeclaration(thisParameter, enclosing, flags)] : []; - var params = ts.createNodeArray(thisParameterArray.concat(ts.map(parameters, function (param) { return nodeBuilder.symbolToParameterDeclaration(param, enclosing, flags); }))); + var thisParameterArray = thisParameter ? [nodeBuilder.symbolToParameterDeclaration(thisParameter, enclosing, flags)] : []; // TODO: GH#18217 + var params = ts.createNodeArray(thisParameterArray.concat(ts.map(parameters, function (param) { return nodeBuilder.symbolToParameterDeclaration(param, enclosing, flags); }))); // TODO: GH#18217 printer.writeList(1296 /* CallExpressionArguments */, params, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); }, buildDisplayForTypeParametersAndDelimiters: function (typeParameters, writer, enclosing, flags) { var printer = ts.createPrinter({ removeComments: true }); - var args = ts.createNodeArray(ts.map(typeParameters, function (p) { return nodeBuilder.typeParameterToDeclaration(p, enclosing, toNodeBuilderFlags(flags)); })); + var args = ts.createNodeArray(ts.map(typeParameters, function (p) { return nodeBuilder.typeParameterToDeclaration(p, enclosing, toNodeBuilderFlags(flags)); })); // TODO: GH#18217 printer.writeList(26896 /* TypeParameters */, args, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); }, buildReturnTypeDisplay: function (signature, writer, enclosing, flags) { @@ -27077,7 +27183,7 @@ var ts; } var node = nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosing, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */, writer); var printer = ts.createPrinter({ removeComments: true }); - printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); + printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217 } }; function emitTextWriterWrapper(underlying) { @@ -27164,7 +27270,7 @@ var ts; } var jsxPragma = file_1.pragmas.get("jsx"); if (jsxPragma) { - var chosenpragma = ts.isArray(jsxPragma) ? jsxPragma[0] : jsxPragma; + var chosenpragma = ts.isArray(jsxPragma) ? jsxPragma[0] : jsxPragma; // TODO: GH#18217 file_1.localJsxFactory = ts.parseIsolatedEntityName(chosenpragma.arguments.factory, languageVersion); if (file_1.localJsxFactory) { return file_1.localJsxNamespace = getFirstIdentifier(file_1.localJsxFactory).escapedText; @@ -27276,11 +27382,17 @@ var ts; recordMergedSymbol(result, symbol); return result; } + /** + * Note: if target is transient, then it is mutable, and mergeSymbol with both mutate and return it. + * If target is not transient, mergeSymbol will produce a transient clone, mutate that and return it. + */ function mergeSymbol(target, source) { if (!(target.flags & getExcludedSymbolFlags(source.flags)) || (source.flags | target.flags) & 67108864 /* JSContainer */) { - var targetValueDeclaration = target.valueDeclaration; - ts.Debug.assert(!!(target.flags & 33554432 /* Transient */)); + ts.Debug.assert(source !== target); + if (!(target.flags & 33554432 /* Transient */)) { + target = cloneSymbol(target); + } // Javascript static-property-assignment declarations always merge, even though they are also values if (source.flags & 512 /* ValueModule */ && target.flags & 512 /* ValueModule */ && target.constEnumOnlyModule && !source.constEnumOnlyModule) { // reset flag when merging instantiated module into value module that has only const enums @@ -27289,7 +27401,7 @@ var ts; target.flags |= source.flags; if (source.valueDeclaration && (!target.valueDeclaration || - (target.valueDeclaration.kind === 238 /* ModuleDeclaration */ && source.valueDeclaration.kind !== 238 /* ModuleDeclaration */))) { + (target.valueDeclaration.kind === 239 /* ModuleDeclaration */ && source.valueDeclaration.kind !== 239 /* ModuleDeclaration */))) { // other kinds of value declarations take precedence over modules target.valueDeclaration = source.valueDeclaration; } @@ -27304,18 +27416,6 @@ var ts; target.exports = ts.createSymbolTable(); mergeSymbolTable(target.exports, source.exports); } - if ((source.flags | target.flags) & 67108864 /* JSContainer */) { - var sourceInitializer = ts.getJSInitializerSymbol(source); - var init = ts.getDeclaredJavascriptInitializer(targetValueDeclaration) || ts.getAssignedJavascriptInitializer(targetValueDeclaration); - var targetInitializer = init && init.symbol ? init.symbol : target; - if (!(targetInitializer.flags & 33554432 /* Transient */)) { - var mergedInitializer = getMergedSymbol(targetInitializer); - targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; - } - if (sourceInitializer !== source || targetInitializer !== target) { - mergeSymbol(targetInitializer, sourceInitializer); - } - } recordMergedSymbol(target, source); } else if (target.flags & 1024 /* NamespaceModule */) { @@ -27336,11 +27436,12 @@ var ts; error(errorNode, message_2, symbolToString(source)); }); } + return target; } function combineSymbolTables(first, second) { - if (!first || first.size === 0) + if (!ts.hasEntries(first)) return second; - if (!second || second.size === 0) + if (!ts.hasEntries(second)) return first; var combined = ts.createSymbolTable(); mergeSymbolTable(combined, first); @@ -27349,17 +27450,7 @@ var ts; } function mergeSymbolTable(target, source) { source.forEach(function (sourceSymbol, id) { - var targetSymbol = target.get(id); - if (!targetSymbol) { - target.set(id, sourceSymbol); - } - else { - if (!(targetSymbol.flags & 33554432 /* Transient */)) { - targetSymbol = cloneSymbol(targetSymbol); - target.set(id, targetSymbol); - } - mergeSymbol(targetSymbol, sourceSymbol); - } + target.set(id, target.has(id) ? mergeSymbol(target.get(id), sourceSymbol) : sourceSymbol); }); } function mergeModuleAugmentation(moduleName) { @@ -27387,10 +27478,7 @@ var ts; // obtain item referenced by 'export=' mainModule = resolveExternalModuleSymbol(mainModule); if (mainModule.flags & 1920 /* Namespace */) { - // if module symbol has already been merged - it is safe to use it. - // otherwise clone it - mainModule = mainModule.flags & 33554432 /* Transient */ ? mainModule : cloneSymbol(mainModule); - mergeSymbol(mainModule, moduleAugmentation.symbol); + mainModule = mergeSymbol(mainModule, moduleAugmentation.symbol); } else { // moduleName will be a StringLiteral since this is not `declare global`. @@ -27424,7 +27512,7 @@ var ts; return nodeLinks[nodeId] || (nodeLinks[nodeId] = { flags: 0 }); } function isGlobalSourceFile(node) { - return node.kind === 273 /* SourceFile */ && !ts.isExternalOrCommonJsModule(node); + return node.kind === 274 /* SourceFile */ && !ts.isExternalOrCommonJsModule(node); } function getSymbol(symbols, name, meaning) { if (meaning) { @@ -27459,7 +27547,7 @@ var ts; if (parameterSymbol && propertySymbol) { return [parameterSymbol, propertySymbol]; } - ts.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration"); + return ts.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration"); } function isBlockScopedNameDeclaredBeforeUse(declaration, usage) { var declarationFile = ts.getSourceFileOfNode(declaration); @@ -27482,17 +27570,17 @@ var ts; } if (declaration.pos <= usage.pos) { // declaration is before usage - if (declaration.kind === 181 /* BindingElement */) { + if (declaration.kind === 182 /* BindingElement */) { // still might be illegal if declaration and usage are both binding elements (eg var [a = b, b = b] = [1, 2]) - var errorBindingElement = ts.getAncestor(usage, 181 /* BindingElement */); + var errorBindingElement = ts.getAncestor(usage, 182 /* BindingElement */); if (errorBindingElement) { return ts.findAncestor(errorBindingElement, ts.isBindingElement) !== ts.findAncestor(declaration, ts.isBindingElement) || declaration.pos < errorBindingElement.pos; } // or it might be illegal if usage happens before parent variable is declared (eg var [a] = a) - return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 231 /* VariableDeclaration */), usage); + return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 232 /* VariableDeclaration */), usage); } - else if (declaration.kind === 231 /* VariableDeclaration */) { + else if (declaration.kind === 232 /* VariableDeclaration */) { // still might be illegal if usage is in the initializer of the variable declaration (eg var a = a) return !isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage); } @@ -27510,12 +27598,12 @@ var ts; // 5. inside a TS export= declaration (since we will move the export statement during emit to avoid TDZ) // or if usage is in a type context: // 1. inside a type query (typeof in type position) - if (usage.parent.kind === 251 /* ExportSpecifier */ || (usage.parent.kind === 248 /* ExportAssignment */ && usage.parent.isExportEquals)) { + if (usage.parent.kind === 252 /* ExportSpecifier */ || (usage.parent.kind === 249 /* ExportAssignment */ && usage.parent.isExportEquals)) { // export specifiers do not use the variable, they only make it available for use return true; } // When resolving symbols for exports, the `usage` location passed in can be the export site directly - if (usage.kind === 248 /* ExportAssignment */ && usage.isExportEquals) { + if (usage.kind === 249 /* ExportAssignment */ && usage.isExportEquals) { return true; } var container = ts.getEnclosingBlockScopeContainer(declaration); @@ -27523,9 +27611,9 @@ var ts; function isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage) { var container = ts.getEnclosingBlockScopeContainer(declaration); switch (declaration.parent.parent.kind) { - case 213 /* VariableStatement */: - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: + case 214 /* VariableStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: // variable statement/for/for-of statement case, // use site should not be inside variable declaration (initializer of declaration or binding element) if (isSameScopeDescendentOf(usage, declaration, container)) { @@ -27534,7 +27622,8 @@ var ts; break; } // ForIn/ForOf case - use site should not be used in expression part - return ts.isForInOrOfStatement(declaration.parent.parent) && isSameScopeDescendentOf(usage, declaration.parent.parent.expression, container); + var grandparent = declaration.parent.parent; + return ts.isForInOrOfStatement(grandparent) && isSameScopeDescendentOf(usage, grandparent.expression, container); } function isUsedInFunctionOrInstanceProperty(usage, declaration, container) { return !!ts.findAncestor(usage, function (current) { @@ -27545,21 +27634,22 @@ var ts; return true; } var initializerOfProperty = current.parent && - current.parent.kind === 151 /* PropertyDeclaration */ && + current.parent.kind === 152 /* PropertyDeclaration */ && current.parent.initializer === current; if (initializerOfProperty) { if (ts.hasModifier(current.parent, 32 /* Static */)) { - if (declaration.kind === 153 /* MethodDeclaration */) { + if (declaration.kind === 154 /* MethodDeclaration */) { return true; } } else { - var isDeclarationInstanceProperty = declaration.kind === 151 /* PropertyDeclaration */ && !ts.hasModifier(declaration, 32 /* Static */); + var isDeclarationInstanceProperty = declaration.kind === 152 /* PropertyDeclaration */ && !ts.hasModifier(declaration, 32 /* Static */); if (!isDeclarationInstanceProperty || ts.getContainingClass(usage) !== ts.getContainingClass(declaration)) { return true; } } } + return false; }); } } @@ -27595,12 +27685,12 @@ var ts; // - parameters are only in the scope of function body // This restriction does not apply to JSDoc comment types because they are parented // at a higher level than type parameters would normally be - if (meaning & result.flags & 67901928 /* Type */ && lastLocation.kind !== 285 /* JSDocComment */) { + if (meaning & result.flags & 67901928 /* Type */ && lastLocation.kind !== 286 /* JSDocComment */) { useResult = result.flags & 262144 /* TypeParameter */ // type parameters are visible in parameter list, return type and type parameter list ? lastLocation === location.type || - lastLocation.kind === 148 /* Parameter */ || - lastLocation.kind === 147 /* TypeParameter */ + lastLocation.kind === 149 /* Parameter */ || + lastLocation.kind === 148 /* TypeParameter */ // local types not visible outside the function body : false; } @@ -27610,12 +27700,12 @@ var ts; // however it is detected separately when checking initializers of parameters // to make sure that they reference no variables declared after them. useResult = - lastLocation.kind === 148 /* Parameter */ || + lastLocation.kind === 149 /* Parameter */ || (lastLocation === location.type && !!ts.findAncestor(result.valueDeclaration, ts.isParameter)); } } - else if (location.kind === 170 /* ConditionalType */) { + else if (location.kind === 171 /* ConditionalType */) { // A type parameter declared using 'infer T' in a conditional type is visible only in // the true branch of the conditional type. useResult = lastLocation === location.trueType; @@ -27629,14 +27719,14 @@ var ts; } } switch (location.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (!ts.isExternalOrCommonJsModule(location)) break; isInExternalModule = true; // falls through - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: var moduleExports = getSymbolOfNode(location).exports; - if (location.kind === 273 /* SourceFile */ || ts.isAmbientModule(location)) { + if (location.kind === 274 /* SourceFile */ || ts.isAmbientModule(location)) { // It's an external module. First see if the module has an export default and if the local // name of that export default matches. if (result = moduleExports.get("default" /* Default */)) { @@ -27660,21 +27750,27 @@ var ts; var moduleExport = moduleExports.get(name); if (moduleExport && moduleExport.flags === 2097152 /* Alias */ && - ts.getDeclarationOfKind(moduleExport, 251 /* ExportSpecifier */)) { + ts.getDeclarationOfKind(moduleExport, 252 /* ExportSpecifier */)) { break; } } + // ES6 exports are also visible locally (except for 'default'), but commonjs exports are not (except typedefs) if (name !== "default" /* Default */ && (result = lookup(moduleExports, name, meaning & 2623475 /* ModuleMember */))) { - break loop; + if (ts.isSourceFile(location) && location.commonJsModuleIndicator && !result.declarations.some(ts.isJSDocTypeAlias)) { + result = undefined; + } + else { + break loop; + } } break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: if (result = lookup(getSymbolOfNode(location).exports, name, meaning & 8 /* EnumMember */)) { break loop; } break; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: // TypeScript 1.0 spec (April 2014): 8.4.1 // Initializer expressions for instance member variables are evaluated in the scope // of the class constructor body but are not permitted to reference parameters or @@ -27691,9 +27787,9 @@ var ts; } } break; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: if (result = lookup(getMembersOfSymbol(getSymbolOfNode(location)), name, meaning & 67901928 /* Type */)) { if (!isTypeParameterSymbolDeclaredInContainer(result, location)) { // ignore type parameters not declared in this container @@ -27709,7 +27805,7 @@ var ts; } break loop; } - if (location.kind === 204 /* ClassExpression */ && meaning & 32 /* Class */) { + if (location.kind === 205 /* ClassExpression */ && meaning & 32 /* Class */) { var className = location.name; if (className && name === className.escapedText) { result = location.symbol; @@ -27717,7 +27813,7 @@ var ts; } } break; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: // The type parameters of a class are not in scope in the base class expression. if (lastLocation === location.expression && location.parent.token === 85 /* ExtendsKeyword */) { var container = location.parent.parent; @@ -27737,9 +27833,9 @@ var ts; // [foo()]() { } // <-- Reference to T from class's own computed property // } // - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: grandparent = location.parent.parent; - if (ts.isClassLike(grandparent) || grandparent.kind === 235 /* InterfaceDeclaration */) { + if (ts.isClassLike(grandparent) || grandparent.kind === 236 /* InterfaceDeclaration */) { // A reference to this grandparent's type parameters would be an error if (result = lookup(getSymbolOfNode(grandparent).members, name, meaning & 67901928 /* Type */)) { error(errorLocation, ts.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type); @@ -27747,19 +27843,19 @@ var ts; } } break; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: if (meaning & 3 /* Variable */ && name === "arguments") { result = argumentsSymbol; break loop; } break; - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: if (meaning & 3 /* Variable */ && name === "arguments") { result = argumentsSymbol; break loop; @@ -27772,7 +27868,7 @@ var ts; } } break; - case 149 /* Decorator */: + case 150 /* Decorator */: // Decorators are resolved at the class declaration. Resolving at the parameter // or member would result in looking up locals in the method. // @@ -27781,7 +27877,7 @@ var ts; // method(@y x, y) {} // <-- decorator y should be resolved at the class declaration, not the parameter. // } // - if (location.parent && location.parent.kind === 148 /* Parameter */) { + if (location.parent && location.parent.kind === 149 /* Parameter */) { location = location.parent; } // @@ -27794,12 +27890,11 @@ var ts; location = location.parent; } break; - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: // js type aliases do not resolve names from their host, so skip past it - lastLocation = location; - location = ts.getJSDocHost(location).parent; - continue; + location = ts.getJSDocHost(location); + break; } if (isSelfReferenceLocation(location)) { lastSelfReferenceLocation = location; @@ -27815,7 +27910,7 @@ var ts; } if (!result) { if (lastLocation) { - ts.Debug.assert(lastLocation.kind === 273 /* SourceFile */); + ts.Debug.assert(lastLocation.kind === 274 /* SourceFile */); if (lastLocation.commonJsModuleIndicator && name === "exports") { return lastLocation.symbol; } @@ -27838,7 +27933,7 @@ var ts; if (!result) { if (nameNotFoundMessage) { if (!errorLocation || - !checkAndReportErrorForMissingPrefix(errorLocation, name, nameArg) && + !checkAndReportErrorForMissingPrefix(errorLocation, name, nameArg) && // TODO: GH#18217 !checkAndReportErrorForExtendingInterface(errorLocation) && !checkAndReportErrorForUsingTypeAsNamespace(errorLocation, name, meaning) && !checkAndReportErrorForUsingTypeAsValue(errorLocation, name, meaning) && @@ -27889,8 +27984,8 @@ var ts; // If we're in an external module, we can't reference value symbols created from UMD export declarations if (result && isInExternalModule && (meaning & 67216319 /* Value */) === 67216319 /* Value */ && !(originalLocation.flags & 2097152 /* JSDoc */)) { var decls = result.declarations; - if (decls && decls.length === 1 && decls[0].kind === 241 /* NamespaceExportDeclaration */) { - error(errorLocation, ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, ts.unescapeLeadingUnderscores(name)); + if (decls && decls.length === 1 && decls[0].kind === 242 /* NamespaceExportDeclaration */) { + error(errorLocation, ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, ts.unescapeLeadingUnderscores(name)); // TODO: GH#18217 } } } @@ -27898,12 +27993,12 @@ var ts; } function isSelfReferenceLocation(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 238 /* ModuleDeclaration */: // For `namespace N { N; }` + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 239 /* ModuleDeclaration */: // For `namespace N { N; }` return true; default: return false; @@ -27915,10 +28010,10 @@ var ts; function isTypeParameterSymbolDeclaredInContainer(symbol, container) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - if (decl.kind === 147 /* TypeParameter */) { + if (decl.kind === 148 /* TypeParameter */) { var parent = ts.isJSDocTemplateTag(decl.parent) ? ts.getJSDocHost(decl.parent) : decl.parent; if (parent === container) { - return !(ts.isJSDocTemplateTag(decl.parent) && ts.find(decl.parent.parent.tags, ts.isJSDocTypeAlias)); + return !(ts.isJSDocTemplateTag(decl.parent) && ts.find(decl.parent.parent.tags, ts.isJSDocTypeAlias)); // TODO: GH#18217 } } } @@ -27945,7 +28040,7 @@ var ts; // No static member is present. // Check if we're in an instance method and look for a relevant instance member. if (location === container && !ts.hasModifier(location, 32 /* Static */)) { - var instanceType = getDeclaredTypeOfSymbol(classSymbol).thisType; + var instanceType = getDeclaredTypeOfSymbol(classSymbol).thisType; // TODO: GH#18217 if (getPropertyOfType(instanceType, name)) { error(errorLocation, ts.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0, diagnosticName(nameArg)); return true; @@ -27958,11 +28053,11 @@ var ts; } function checkAndReportErrorForExtendingInterface(errorLocation) { var expression = getEntityNameForExtendingInterface(errorLocation); - var isError = !!(expression && resolveEntityName(expression, 64 /* Interface */, /*ignoreErrors*/ true)); - if (isError) { + if (expression && resolveEntityName(expression, 64 /* Interface */, /*ignoreErrors*/ true)) { error(errorLocation, ts.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements, ts.getTextOfNode(expression)); + return true; } - return isError; + return false; } /** * Climbs up parents to an ExpressionWithTypeArguments, and returns its expression, @@ -27971,9 +28066,9 @@ var ts; function getEntityNameForExtendingInterface(node) { switch (node.kind) { case 71 /* Identifier */: - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return node.parent ? getEntityNameForExtendingInterface(node.parent) : undefined; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: if (ts.isEntityNameExpression(node.expression)) { return node.expression; } @@ -28037,8 +28132,9 @@ var ts; function checkResolvedBlockScopedVariable(result, errorLocation) { ts.Debug.assert(!!(result.flags & 2 /* BlockScopedVariable */ || result.flags & 32 /* Class */ || result.flags & 384 /* Enum */)); // Block-scoped variables cannot be used before their definition - var declaration = ts.forEach(result.declarations, function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 237 /* EnumDeclaration */) ? d : undefined; }); - ts.Debug.assert(declaration !== undefined, "Declaration to checkResolvedBlockScopedVariable is undefined"); + var declaration = ts.forEach(result.declarations, function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 238 /* EnumDeclaration */) ? d : undefined; }); + if (declaration === undefined) + return ts.Debug.fail("Declaration to checkResolvedBlockScopedVariable is undefined"); if (!(declaration.flags & 4194304 /* Ambient */) && !isBlockScopedNameDeclaredBeforeUse(declaration, errorLocation)) { if (result.flags & 2 /* BlockScopedVariable */) { error(errorLocation, ts.Diagnostics.Block_scoped_variable_0_used_before_its_declaration, ts.declarationNameToString(ts.getNameOfDeclaration(declaration))); @@ -28056,17 +28152,17 @@ var ts; * Return false if 'stopAt' node is reached or isFunctionLike(current) === true. */ function isSameScopeDescendentOf(initial, parent, stopAt) { - return parent && !!ts.findAncestor(initial, function (n) { return n === stopAt || ts.isFunctionLike(n) ? "quit" : n === parent; }); + return !!parent && !!ts.findAncestor(initial, function (n) { return n === stopAt || ts.isFunctionLike(n) ? "quit" : n === parent; }); } function getAnyImportSyntax(node) { switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return node; - case 244 /* ImportClause */: + case 245 /* ImportClause */: return node.parent; - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return node.parent.parent; - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: return node.parent.parent.parent; default: return undefined; @@ -28076,7 +28172,7 @@ var ts; return ts.find(symbol.declarations, ts.isAliasSymbolDeclaration); } function getTargetOfImportEqualsDeclaration(node, dontResolveAlias) { - if (node.moduleReference.kind === 253 /* ExternalModuleReference */) { + if (node.moduleReference.kind === 254 /* ExternalModuleReference */) { return resolveExternalModuleSymbol(resolveExternalModuleName(node, ts.getExternalModuleImportEqualsDeclarationExpression(node))); } return getSymbolOfPartOfRightHandSideOfImportEquals(node.moduleReference, dontResolveAlias); @@ -28088,7 +28184,7 @@ var ts; : resolveSymbol(moduleSymbol.exports.get(name), dontResolveAlias); } function isSyntacticDefault(node) { - return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasModifier(node, 512 /* Default */)); + return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasModifier(node, 512 /* Default */) || ts.isExportSpecifier(node)); } function canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias) { if (!allowSyntheticDefaultImports) { @@ -28191,12 +28287,13 @@ var ts; if (symbol.flags & 3 /* Variable */) { var typeAnnotation = symbol.valueDeclaration.type; if (typeAnnotation) { - return resolveSymbol(getPropertyOfType(getTypeFromTypeNode(typeAnnotation), name)); + return resolveSymbol(getPropertyOfType(getTypeFromTypeNode(typeAnnotation), name)); // TODO: GH#18217 } } } function getExternalModuleMember(node, specifier, dontResolveAlias) { - var moduleSymbol = resolveExternalModuleName(node, node.moduleSpecifier); + if (dontResolveAlias === void 0) { dontResolveAlias = false; } + var moduleSymbol = resolveExternalModuleName(node, node.moduleSpecifier); // TODO: GH#18217 var targetSymbol = resolveESModuleSymbol(moduleSymbol, node.moduleSpecifier, dontResolveAlias); if (targetSymbol) { var name = specifier.propertyName || specifier.name; @@ -28261,22 +28358,25 @@ var ts; return getNodeLinks(expression).resolvedSymbol; } function getTargetOfAliasDeclaration(node, dontRecursivelyResolve) { + if (dontRecursivelyResolve === void 0) { dontRecursivelyResolve = false; } switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return getTargetOfImportEqualsDeclaration(node, dontRecursivelyResolve); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return getTargetOfImportClause(node, dontRecursivelyResolve); - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return getTargetOfNamespaceImport(node, dontRecursivelyResolve); - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: return getTargetOfImportSpecifier(node, dontRecursivelyResolve); - case 251 /* ExportSpecifier */: + case 252 /* ExportSpecifier */: return getTargetOfExportSpecifier(node, 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */, dontRecursivelyResolve); - case 248 /* ExportAssignment */: - case 199 /* BinaryExpression */: + case 249 /* ExportAssignment */: + case 200 /* BinaryExpression */: return getTargetOfExportAssignment(node, dontRecursivelyResolve); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return getTargetOfNamespaceExportDeclaration(node, dontRecursivelyResolve); + default: + return ts.Debug.fail(); } } /** @@ -28287,11 +28387,10 @@ var ts; if (excludes === void 0) { excludes = 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */; } if (!symbol) return false; - return (symbol.flags & (2097152 /* Alias */ | excludes)) === 2097152 /* Alias */ || (symbol.flags & 2097152 /* Alias */ && symbol.flags & 67108864 /* JSContainer */); + return (symbol.flags & (2097152 /* Alias */ | excludes)) === 2097152 /* Alias */ || !!(symbol.flags & 2097152 /* Alias */ && symbol.flags & 67108864 /* JSContainer */); } function resolveSymbol(symbol, dontResolveAlias) { - var shouldResolve = !dontResolveAlias && isNonLocalAlias(symbol); - return shouldResolve ? resolveAlias(symbol) : symbol; + return !dontResolveAlias && isNonLocalAlias(symbol) ? resolveAlias(symbol) : symbol; } function resolveAlias(symbol) { ts.Debug.assert((symbol.flags & 2097152 /* Alias */) !== 0, "Should only get Alias here."); @@ -28299,7 +28398,8 @@ var ts; if (!links.target) { links.target = resolvingSymbol; var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); + if (!node) + return ts.Debug.fail(); var target = getTargetOfAliasDeclaration(node); if (links.target === resolvingSymbol) { links.target = target || unknownSymbol; @@ -28332,12 +28432,13 @@ var ts; if (!links.referenced) { links.referenced = true; var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); - if (node.kind === 248 /* ExportAssignment */) { + if (!node) + return ts.Debug.fail(); + if (node.kind === 249 /* ExportAssignment */) { // export default checkExpressionCached(node.expression); } - else if (node.kind === 251 /* ExportSpecifier */) { + else if (node.kind === 252 /* ExportSpecifier */) { // export { } or export { as foo } checkExpressionCached(node.propertyName || node.name); } @@ -28359,13 +28460,13 @@ var ts; entityName = entityName.parent; } // Check for case 1 and 3 in the above example - if (entityName.kind === 71 /* Identifier */ || entityName.parent.kind === 145 /* QualifiedName */) { + if (entityName.kind === 71 /* Identifier */ || entityName.parent.kind === 146 /* QualifiedName */) { return resolveEntityName(entityName, 1920 /* Namespace */, /*ignoreErrors*/ false, dontResolveAlias); } else { // Case 2 in above example // entityName.kind could be a QualifiedName or a Missing identifier - ts.Debug.assert(entityName.parent.kind === 242 /* ImportEqualsDeclaration */); + ts.Debug.assert(entityName.parent.kind === 243 /* ImportEqualsDeclaration */); return resolveEntityName(entityName, 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */, /*ignoreErrors*/ false, dontResolveAlias); } } @@ -28389,9 +28490,9 @@ var ts; return symbolFromJSPrototype; } } - else if (name.kind === 145 /* QualifiedName */ || name.kind === 184 /* PropertyAccessExpression */) { - var left = name.kind === 145 /* QualifiedName */ ? name.left : name.expression; - var right = name.kind === 145 /* QualifiedName */ ? name.right : name.name; + else if (name.kind === 146 /* QualifiedName */ || name.kind === 185 /* PropertyAccessExpression */) { + var left = name.kind === 146 /* QualifiedName */ ? name.left : name.expression; + var right = name.kind === 146 /* QualifiedName */ ? name.right : name.name; var namespace_1 = resolveEntityName(left, namespaceMeaning, ignoreErrors, /*dontResolveAlias*/ false, location); if (!namespace_1 || ts.nodeIsMissing(right)) { return undefined; @@ -28400,14 +28501,6 @@ var ts; return namespace_1; } if (ts.isInJavaScriptFile(name)) { - var initializer = ts.getDeclaredJavascriptInitializer(namespace_1.valueDeclaration) || ts.getAssignedJavascriptInitializer(namespace_1.valueDeclaration); - if (initializer) { - namespace_1 = getSymbolOfNode(initializer); - } - // Currently, IIFEs may not have a symbol and we don't know about their contents. Give up in this case. - if (!namespace_1) { - return undefined; - } if (namespace_1.valueDeclaration && ts.isVariableDeclaration(namespace_1.valueDeclaration) && namespace_1.valueDeclaration.initializer && @@ -28431,7 +28524,7 @@ var ts; } } else { - ts.Debug.assertNever(name, "Unknown entity name kind."); + throw ts.Debug.assertNever(name, "Unknown entity name kind."); } ts.Debug.assert((ts.getCheckFlags(symbol) & 1 /* Instantiated */) === 0, "Should never get an instantiated symbol here."); return (symbol.flags & meaning) || dontResolveAlias ? symbol : resolveAlias(symbol); @@ -28492,7 +28585,7 @@ var ts; return ambientModule; } var currentSourceFile = ts.getSourceFileOfNode(location); - var resolvedModule = ts.getResolvedModule(currentSourceFile, moduleReference); + var resolvedModule = ts.getResolvedModule(currentSourceFile, moduleReference); // TODO: GH#18217 var resolutionDiagnostic = resolvedModule && ts.getResolutionDiagnostic(compilerOptions, resolvedModule); var sourceFile = resolvedModule && !resolutionDiagnostic && host.getSourceFile(resolvedModule.resolvedFileName); if (sourceFile) { @@ -28566,8 +28659,6 @@ var ts; /*details*/ undefined, ts.Diagnostics.Try_npm_install_types_Slash_0_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0, ts.getMangledNameForScopedPackage(packageId.name)); errorOrSuggestion(isError, errorNode, ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type, moduleReference, resolvedFileName)); } - // An external module with an 'export =' declaration resolves to the target of the 'export =' declaration, - // and an external module with no 'export =' declaration resolves to the module itself. function resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) { return moduleSymbol && getMergedSymbol(getCommonJsExportEquals(resolveSymbol(moduleSymbol.exports.get("export=" /* ExportEquals */), dontResolveAlias), moduleSymbol)) || moduleSymbol; } @@ -28583,14 +28674,7 @@ var ts; moduleSymbol.exports.forEach(function (s, name) { if (name === "export=" /* ExportEquals */) return; - if (!merged.exports.has(name)) { - merged.exports.set(name, s); - } - else { - var ms = cloneSymbol(merged.exports.get(name)); - mergeSymbol(ms, s); - merged.exports.set(name, ms); - } + merged.exports.set(name, merged.exports.has(name) ? mergeSymbol(merged.exports.get(name), s) : s); }); return merged; } @@ -28668,7 +28752,7 @@ var ts; return undefined; } var type = getTypeOfSymbol(exportEquals); - return type.flags & 16382 /* Primitive */ ? undefined : getPropertyOfType(type, memberName); + return type.flags & 32764 /* Primitive */ ? undefined : getPropertyOfType(type, memberName); } function getExportsOfSymbol(symbol) { return symbol.flags & 32 /* Class */ ? getResolvedMembersOrExportsOfSymbol(symbol, "resolvedExports" /* resolvedExports */) : @@ -28758,6 +28842,43 @@ var ts; function getParentOfSymbol(symbol) { return getMergedSymbol(symbol.parent && getLateBoundSymbol(symbol.parent)); } + /** + * Attempts to find the symbol corresponding to the container a symbol is in - usually this + * is just its' `.parent`, but for locals, this value is `undefined` + */ + function getContainerOfSymbol(symbol) { + var container = getParentOfSymbol(symbol); + if (container) { + return container; + } + var candidate = ts.forEach(symbol.declarations, function (d) { return !ts.isAmbientModule(d) && d.parent && hasNonGlobalAugmentationExternalModuleSymbol(d.parent) ? getSymbolOfNode(d.parent) : undefined; }); + if (!candidate) { + return undefined; + } + var alias = getAliasForSymbolInContainer(candidate, symbol); + return alias ? candidate : undefined; + } + function getAliasForSymbolInContainer(container, symbol) { + if (container === getParentOfSymbol(symbol)) { + // fast path, `symbol` is either already the alias or isn't aliased + return symbol; + } + var exports = getExportsOfSymbol(container); + var quick = exports.get(symbol.escapedName); + if (quick && symbolRefersToTarget(quick)) { + return quick; + } + return ts.forEachEntry(exports, function (exported) { + if (symbolRefersToTarget(exported)) { + return exported; + } + }); + function symbolRefersToTarget(s) { + if (s === symbol || resolveSymbol(s) === symbol || resolveSymbol(s) === resolveSymbol(symbol)) { + return s; + } + } + } function getExportSymbolOfValueSymbolIfExported(symbol) { return symbol && (symbol.flags & 1048576 /* ExportValue */) !== 0 ? getMergedSymbol(symbol.exportSymbol) @@ -28770,7 +28891,7 @@ var ts; var members = node.members; for (var _i = 0, members_2 = members; _i < members_2.length; _i++) { var member = members_2[_i]; - if (member.kind === 154 /* Constructor */ && ts.nodeIsPresent(member.body)) { + if (member.kind === 155 /* Constructor */ && ts.nodeIsPresent(member.body)) { return member; } } @@ -28788,12 +28909,12 @@ var ts; } function createBooleanType(trueFalseTypes) { var type = getUnionType(trueFalseTypes); - type.flags |= 8 /* Boolean */; + type.flags |= 16 /* Boolean */; type.intrinsicName = "boolean"; return type; } function createObjectType(objectFlags, symbol) { - var type = createType(65536 /* Object */); + var type = createType(131072 /* Object */); type.objectFlags = objectFlags; type.symbol = symbol; return type; @@ -28848,12 +28969,12 @@ var ts; } } switch (location.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (!ts.isExternalOrCommonJsModule(location)) { break; } // falls through - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (result = callback(getSymbolOfNode(location).exports)) { return result; } @@ -28899,7 +29020,7 @@ var ts; // if the symbolFromSymbolTable is not external module (it could be if it was determined as ambient external module and would be in globals table) // and if symbolFromSymbolTable or alias resolution matches the symbol, // check the symbol can be qualified, it is only then this symbol is accessible - !ts.some(symbolFromSymbolTable.declarations, hasExternalModuleSymbol) && + !ts.some(symbolFromSymbolTable.declarations, hasNonGlobalAugmentationExternalModuleSymbol) && (ignoreQualification || canQualifySymbol(symbolFromSymbolTable, meaning)); } function trySymbolTable(symbols, ignoreQualification) { @@ -28927,6 +29048,11 @@ var ts; return [symbolFromSymbolTable].concat(accessibleSymbolsFromExports); } } + if (symbolFromSymbolTable.escapedName === symbol.escapedName && symbolFromSymbolTable.exportSymbol) { + if (isAccessible(getMergedSymbol(symbolFromSymbolTable.exportSymbol), /*aliasSymbol*/ undefined, ignoreQualification)) { + return [symbol]; + } + } }); } } @@ -28934,7 +29060,7 @@ var ts; var qualify = false; forEachSymbolTableInScope(enclosingDeclaration, function (symbolTable) { // If symbol of this name is not available in the symbol table we are ok - var symbolFromSymbolTable = symbolTable.get(symbol.escapedName); + var symbolFromSymbolTable = getMergedSymbol(symbolTable.get(symbol.escapedName)); if (!symbolFromSymbolTable) { // Continue to the next symbol table return false; @@ -28945,7 +29071,7 @@ var ts; return true; } // Qualify if the symbol from symbol table has same meaning as expected - symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 /* Alias */ && !ts.getDeclarationOfKind(symbolFromSymbolTable, 251 /* ExportSpecifier */)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; + symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 /* Alias */ && !ts.getDeclarationOfKind(symbolFromSymbolTable, 252 /* ExportSpecifier */)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; if (symbolFromSymbolTable.flags & meaning) { qualify = true; return true; @@ -28960,10 +29086,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; switch (declaration.kind) { - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: continue; default: return false; @@ -29008,7 +29134,7 @@ var ts; return hasAccessibleDeclarations; } else { - if (ts.some(symbol.declarations, hasExternalModuleSymbol)) { + if (ts.some(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol)) { // Any meaning of a module symbol is always accessible via an `import` type return { accessibility: 0 /* Accessible */ @@ -29028,7 +29154,7 @@ var ts; // But it can't, hence the accessible is going to be undefined, but that doesn't mean m.c is inaccessible // It is accessible if the parent m is accessible because then m.c can be accessed through qualification meaningToLook = getQualifiedLeftMeaning(meaning); - symbol = getParentOfSymbol(symbol); + symbol = getContainerOfSymbol(symbol); } // This could be a symbol that is not exported in the external module // or it could be a symbol from different external module that is not aliased and hence cannot be named @@ -29057,7 +29183,10 @@ var ts; } } function hasExternalModuleSymbol(declaration) { - return ts.isAmbientModule(declaration) || (declaration.kind === 273 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); + return ts.isAmbientModule(declaration) || (declaration.kind === 274 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); + } + function hasNonGlobalAugmentationExternalModuleSymbol(declaration) { + return ts.isModuleWithStringLiteralName(declaration) || (declaration.kind === 274 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); } function hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible) { var aliasesToMakeVisible; @@ -29104,14 +29233,14 @@ var ts; function isEntityNameVisible(entityName, enclosingDeclaration) { // get symbol of the first identifier of the entityName var meaning; - if (entityName.parent.kind === 164 /* TypeQuery */ || + if (entityName.parent.kind === 165 /* TypeQuery */ || ts.isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent) || - entityName.parent.kind === 146 /* ComputedPropertyName */) { + entityName.parent.kind === 147 /* ComputedPropertyName */) { // Typeof value meaning = 67216319 /* Value */ | 1048576 /* ExportValue */; } - else if (entityName.kind === 145 /* QualifiedName */ || entityName.kind === 184 /* PropertyAccessExpression */ || - entityName.parent.kind === 242 /* ImportEqualsDeclaration */) { + else if (entityName.kind === 146 /* QualifiedName */ || entityName.kind === 185 /* PropertyAccessExpression */ || + entityName.parent.kind === 243 /* ImportEqualsDeclaration */) { // Left identifier from type reference or TypeAlias // Entity name of the import declaration meaning = 1920 /* Namespace */; @@ -29144,7 +29273,7 @@ var ts; var builder = flags & 4 /* AllowAnyNodeKind */ ? nodeBuilder.symbolToExpression : nodeBuilder.symbolToEntityName; return writer ? symbolToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(symbolToStringWorker); function symbolToStringWorker(writer) { - var entity = builder(symbol, meaning, enclosingDeclaration, nodeFlags); + var entity = builder(symbol, meaning, enclosingDeclaration, nodeFlags); // TODO: GH#18217 var printer = ts.createPrinter({ removeComments: true }); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); printer.writeNode(4 /* Unspecified */, entity, /*sourceFile*/ sourceFile, writer); @@ -29152,27 +29281,29 @@ var ts; } } function signatureToString(signature, enclosingDeclaration, flags, kind, writer) { + if (flags === void 0) { flags = 0 /* None */; } return writer ? signatureToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(signatureToStringWorker); function signatureToStringWorker(writer) { var sigOutput; if (flags & 262144 /* WriteArrowStyleSignature */) { - sigOutput = kind === 1 /* Construct */ ? 163 /* ConstructorType */ : 162 /* FunctionType */; + sigOutput = kind === 1 /* Construct */ ? 164 /* ConstructorType */ : 163 /* FunctionType */; } else { - sigOutput = kind === 1 /* Construct */ ? 158 /* ConstructSignature */ : 157 /* CallSignature */; + sigOutput = kind === 1 /* Construct */ ? 159 /* ConstructSignature */ : 158 /* CallSignature */; } var sig = nodeBuilder.signatureToSignatureDeclaration(signature, sigOutput, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */); var printer = ts.createPrinter({ removeComments: true, omitTrailingSemicolon: true }); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); - printer.writeNode(4 /* Unspecified */, sig, /*sourceFile*/ sourceFile, writer); + printer.writeNode(4 /* Unspecified */, sig, /*sourceFile*/ sourceFile, writer); // TODO: GH#18217 return writer; } } function typeToString(type, enclosingDeclaration, flags, writer) { - if (flags === void 0) { flags = 1048576 /* AllowUniqueESSymbolType */; } + if (flags === void 0) { flags = 1048576 /* AllowUniqueESSymbolType */ | 16384 /* UseAliasDefinedOutsideCurrentScope */; } if (writer === void 0) { writer = ts.createTextWriter(""); } var typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */, writer); - ts.Debug.assert(typeNode !== undefined, "should always get typenode"); + if (typeNode === undefined) + return ts.Debug.fail("should always get typenode"); var options = { removeComments: true }; var printer = ts.createPrinter(options); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); @@ -29185,6 +29316,7 @@ var ts; return result; } function toNodeBuilderFlags(flags) { + if (flags === void 0) { flags = 0 /* None */; } return flags & 9469291 /* NodeBuilderFlagsMask */; } function createNodeBuilder() { @@ -29201,7 +29333,7 @@ var ts; var context = createNodeBuilderContext(enclosingDeclaration, flags, tracker); var resultingNode = indexInfoToIndexSignatureDeclarationHelper(indexInfo, kind, context); var result = context.encounteredError ? undefined : resultingNode; - return result; + return result; // TODO: GH#18217 }, signatureToSignatureDeclaration: function (signature, kind, enclosingDeclaration, flags, tracker) { ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0); @@ -29249,7 +29381,7 @@ var ts; function createNodeBuilderContext(enclosingDeclaration, flags, tracker) { return { enclosingDeclaration: enclosingDeclaration, - flags: flags, + flags: flags || 0 /* None */, tracker: tracker && tracker.trackSymbol ? tracker : { trackSymbol: ts.noop }, encounteredError: false, visitedSymbols: undefined, @@ -29264,40 +29396,43 @@ var ts; context.flags &= ~8388608 /* InTypeAlias */; if (!type) { context.encounteredError = true; - return undefined; + return undefined; // TODO: GH#18217 } if (type.flags & 1 /* Any */) { return ts.createKeywordTypeNode(119 /* AnyKeyword */); } - if (type.flags & 2 /* String */) { + if (type.flags & 2 /* Unknown */) { + return ts.createKeywordTypeNode(142 /* UnknownKeyword */); + } + if (type.flags & 4 /* String */) { return ts.createKeywordTypeNode(137 /* StringKeyword */); } - if (type.flags & 4 /* Number */) { + if (type.flags & 8 /* Number */) { return ts.createKeywordTypeNode(134 /* NumberKeyword */); } - if (type.flags & 8 /* Boolean */) { + if (type.flags & 16 /* Boolean */) { return ts.createKeywordTypeNode(122 /* BooleanKeyword */); } - if (type.flags & 256 /* EnumLiteral */ && !(type.flags & 131072 /* Union */)) { + if (type.flags & 512 /* EnumLiteral */ && !(type.flags & 262144 /* Union */)) { var parentSymbol = getParentOfSymbol(type.symbol); var parentName = symbolToName(parentSymbol, context, 67901928 /* Type */, /*expectsIdentifier*/ false); var enumLiteralName = getDeclaredTypeOfSymbol(parentSymbol) === type ? parentName : ts.createQualifiedName(parentName, ts.symbolName(type.symbol)); return ts.createTypeReferenceNode(enumLiteralName, /*typeArguments*/ undefined); } - if (type.flags & 272 /* EnumLike */) { + if (type.flags & 544 /* EnumLike */) { var name = symbolToName(type.symbol, context, 67901928 /* Type */, /*expectsIdentifier*/ false); return ts.createTypeReferenceNode(name, /*typeArguments*/ undefined); } - if (type.flags & (32 /* StringLiteral */)) { + if (type.flags & (64 /* StringLiteral */)) { return ts.createLiteralTypeNode(ts.setEmitFlags(ts.createLiteral(type.value), 16777216 /* NoAsciiEscaping */)); } - if (type.flags & (64 /* NumberLiteral */)) { + if (type.flags & (128 /* NumberLiteral */)) { return ts.createLiteralTypeNode((ts.createLiteral(type.value))); } - if (type.flags & 128 /* BooleanLiteral */) { + if (type.flags & 256 /* BooleanLiteral */) { return type.intrinsicName === "true" ? ts.createTrue() : ts.createFalse(); } - if (type.flags & 1024 /* UniqueESSymbol */) { + if (type.flags & 2048 /* UniqueESSymbol */) { if (!(context.flags & 1048576 /* AllowUniqueESSymbolType */)) { if (isValueSymbolAccessible(type.symbol, context.enclosingDeclaration)) { return symbolToTypeNode(type.symbol, context, 67216319 /* Value */); @@ -29308,25 +29443,25 @@ var ts; } return ts.createTypeOperatorNode(141 /* UniqueKeyword */, ts.createKeywordTypeNode(138 /* SymbolKeyword */)); } - if (type.flags & 2048 /* Void */) { + if (type.flags & 4096 /* Void */) { return ts.createKeywordTypeNode(105 /* VoidKeyword */); } - if (type.flags & 4096 /* Undefined */) { + if (type.flags & 8192 /* Undefined */) { return ts.createKeywordTypeNode(140 /* UndefinedKeyword */); } - if (type.flags & 8192 /* Null */) { + if (type.flags & 16384 /* Null */) { return ts.createKeywordTypeNode(95 /* NullKeyword */); } - if (type.flags & 16384 /* Never */) { + if (type.flags & 32768 /* Never */) { return ts.createKeywordTypeNode(131 /* NeverKeyword */); } - if (type.flags & 512 /* ESSymbol */) { + if (type.flags & 1024 /* ESSymbol */) { return ts.createKeywordTypeNode(138 /* SymbolKeyword */); } - if (type.flags & 134217728 /* NonPrimitive */) { + if (type.flags & 16777216 /* NonPrimitive */) { return ts.createKeywordTypeNode(135 /* ObjectKeyword */); } - if (type.flags & 32768 /* TypeParameter */ && type.isThisType) { + if (type.flags & 65536 /* TypeParameter */ && type.isThisType) { if (context.flags & 4194304 /* InObjectTypeLiteral */) { if (!context.encounteredError && !(context.flags & 32768 /* AllowThisInObjectLiteral */)) { context.encounteredError = true; @@ -29339,24 +29474,25 @@ var ts; } var objectFlags = ts.getObjectFlags(type); if (objectFlags & 4 /* Reference */) { - ts.Debug.assert(!!(type.flags & 65536 /* Object */)); + ts.Debug.assert(!!(type.flags & 131072 /* Object */)); return typeReferenceToTypeNode(type); } - if (type.flags & 32768 /* TypeParameter */ || objectFlags & 3 /* ClassOrInterface */) { - if (type.flags & 32768 /* TypeParameter */ && ts.contains(context.inferTypeParameters, type)) { + if (type.flags & 65536 /* TypeParameter */ || objectFlags & 3 /* ClassOrInterface */) { + if (type.flags & 65536 /* TypeParameter */ && ts.contains(context.inferTypeParameters, type)) { return ts.createInferTypeNode(typeParameterToDeclarationWithConstraint(type, context, /*constraintNode*/ undefined)); } if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && - type.flags & 32768 /* TypeParameter */ && + type.flags & 65536 /* TypeParameter */ && ts.length(type.symbol.declarations) && ts.isTypeParameterDeclaration(type.symbol.declarations[0]) && typeParameterShadowsNameInScope(type, context) && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration)) { return ts.createTypeReferenceNode(ts.getGeneratedNameForNode(type.symbol.declarations[0].name, 16 /* Optimistic */ | 8 /* ReservedInNestedScopes */), /*typeArguments*/ undefined); } - var name = type.symbol ? symbolToName(type.symbol, context, 67901928 /* Type */, /*expectsIdentifier*/ false) : ts.createIdentifier("?"); // Ignore constraint/default when creating a usage (as opposed to declaration) of a type parameter. - return ts.createTypeReferenceNode(name, /*typeArguments*/ undefined); + return type.symbol + ? symbolToTypeNode(type.symbol, context, 67901928 /* Type */) + : ts.createTypeReferenceNode(ts.createIdentifier("?"), /*typeArguments*/ undefined); } if (!inTypeAlias && type.aliasSymbol && (context.flags & 16384 /* UseAliasDefinedOutsideCurrentScope */ || isTypeSymbolAccessible(type.aliasSymbol, context.enclosingDeclaration))) { var typeArgumentNodes = mapToTypeNodes(type.aliasTypeArguments, context); @@ -29364,36 +29500,36 @@ var ts; return ts.createTypeReferenceNode(ts.createIdentifier(""), typeArgumentNodes); return symbolToTypeNode(type.aliasSymbol, context, 67901928 /* Type */, typeArgumentNodes); } - if (type.flags & (131072 /* Union */ | 262144 /* Intersection */)) { - var types = type.flags & 131072 /* Union */ ? formatUnionTypes(type.types) : type.types; + if (type.flags & (262144 /* Union */ | 524288 /* Intersection */)) { + var types = type.flags & 262144 /* Union */ ? formatUnionTypes(type.types) : type.types; var typeNodes = mapToTypeNodes(types, context); if (typeNodes && typeNodes.length > 0) { - var unionOrIntersectionTypeNode = ts.createUnionOrIntersectionTypeNode(type.flags & 131072 /* Union */ ? 168 /* UnionType */ : 169 /* IntersectionType */, typeNodes); + var unionOrIntersectionTypeNode = ts.createUnionOrIntersectionTypeNode(type.flags & 262144 /* Union */ ? 169 /* UnionType */ : 170 /* IntersectionType */, typeNodes); return unionOrIntersectionTypeNode; } else { if (!context.encounteredError && !(context.flags & 262144 /* AllowEmptyUnionOrIntersection */)) { context.encounteredError = true; } - return undefined; + return undefined; // TODO: GH#18217 } } if (objectFlags & (16 /* Anonymous */ | 32 /* Mapped */)) { - ts.Debug.assert(!!(type.flags & 65536 /* Object */)); + ts.Debug.assert(!!(type.flags & 131072 /* Object */)); // The type is an object literal type. return createAnonymousTypeNode(type); } - if (type.flags & 524288 /* Index */) { + if (type.flags & 1048576 /* Index */) { var indexedType = type.type; var indexTypeNode = typeToTypeNodeHelper(indexedType, context); return ts.createTypeOperatorNode(indexTypeNode); } - if (type.flags & 1048576 /* IndexedAccess */) { + if (type.flags & 2097152 /* IndexedAccess */) { var objectTypeNode = typeToTypeNodeHelper(type.objectType, context); var indexTypeNode = typeToTypeNodeHelper(type.indexType, context); return ts.createIndexedAccessTypeNode(objectTypeNode, indexTypeNode); } - if (type.flags & 2097152 /* Conditional */) { + if (type.flags & 4194304 /* Conditional */) { var checkTypeNode = typeToTypeNodeHelper(type.checkType, context); var saveInferTypeParameters = context.inferTypeParameters; context.inferTypeParameters = type.root.inferTypeParameters; @@ -29403,12 +29539,12 @@ var ts; var falseTypeNode = typeToTypeNodeHelper(getFalseTypeFromConditionalType(type), context); return ts.createConditionalTypeNode(checkTypeNode, extendsTypeNode, trueTypeNode, falseTypeNode); } - if (type.flags & 4194304 /* Substitution */) { + if (type.flags & 8388608 /* Substitution */) { return typeToTypeNodeHelper(type.typeVariable, context); } - ts.Debug.fail("Should be unreachable."); + return ts.Debug.fail("Should be unreachable."); function createMappedTypeNodeFromType(type) { - ts.Debug.assert(!!(type.flags & 65536 /* Object */)); + ts.Debug.assert(!!(type.flags & 131072 /* Object */)); var readonlyToken = type.declaration.readonlyToken ? ts.createToken(type.declaration.readonlyToken.kind) : undefined; var questionToken = type.declaration.questionToken ? ts.createToken(type.declaration.questionToken.kind) : undefined; var appropriateConstraintTypeNode; @@ -29437,7 +29573,7 @@ var ts; return symbolToTypeNode(symbol, context, isInstanceType); } // Always use 'typeof T' for type of class, enum, and module objects - else if (symbol.flags & 32 /* Class */ && !getBaseTypeVariableOfClass(symbol) && !(symbol.valueDeclaration.kind === 204 /* ClassExpression */ && context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */) || + else if (symbol.flags & 32 /* Class */ && !getBaseTypeVariableOfClass(symbol) && !(symbol.valueDeclaration.kind === 205 /* ClassExpression */ && context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */) || symbol.flags & (384 /* Enum */ | 512 /* ValueModule */) || shouldWriteTypeOfFunctionSymbol()) { return symbolToTypeNode(symbol, context, 67216319 /* Value */); @@ -29475,12 +29611,12 @@ var ts; var isNonLocalFunctionSymbol = !!(symbol.flags & 16 /* Function */) && (symbol.parent || // is exported function symbol ts.forEach(symbol.declarations, function (declaration) { - return declaration.parent.kind === 273 /* SourceFile */ || declaration.parent.kind === 239 /* ModuleBlock */; + return declaration.parent.kind === 274 /* SourceFile */ || declaration.parent.kind === 240 /* ModuleBlock */; })); if (isStaticMethodSymbol || isNonLocalFunctionSymbol) { // typeof is allowed only for static/non local functions return (!!(context.flags & 4096 /* UseTypeOfFunction */) || (context.visitedSymbols && context.visitedSymbols.has(id))) && // it is type of the symbol uses itself recursively - (!(context.flags & 8 /* UseStructuralFallback */) || isValueSymbolAccessible(symbol, context.enclosingDeclaration)); // And the build is going to succeed without visibility error or there is no structural fallback allowed + (!(context.flags & 8 /* UseStructuralFallback */) || isValueSymbolAccessible(symbol, context.enclosingDeclaration)); // TODO: GH#18217 // And the build is going to succeed without visibility error or there is no structural fallback allowed } } } @@ -29495,12 +29631,12 @@ var ts; } if (resolved.callSignatures.length === 1 && !resolved.constructSignatures.length) { var signature = resolved.callSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 162 /* FunctionType */, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 163 /* FunctionType */, context); return signatureNode; } if (resolved.constructSignatures.length === 1 && !resolved.callSignatures.length) { var signature = resolved.constructSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 163 /* ConstructorType */, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 164 /* ConstructorType */, context); return signatureNode; } } @@ -29532,7 +29668,7 @@ var ts; return ts.createTupleTypeNode([]); } context.encounteredError = true; - return undefined; + return undefined; // TODO: GH#18217 } else if (context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */ && type.symbol.valueDeclaration && @@ -29621,11 +29757,11 @@ var ts; var typeElements = []; for (var _i = 0, _a = resolvedType.callSignatures; _i < _a.length; _i++) { var signature = _a[_i]; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 157 /* CallSignature */, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 158 /* CallSignature */, context)); } for (var _b = 0, _c = resolvedType.constructSignatures; _b < _c.length; _b++) { var signature = _c[_b]; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 158 /* ConstructSignature */, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 159 /* ConstructSignature */, context)); } if (resolvedType.stringIndexInfo) { var indexInfo = resolvedType.objectFlags & 2048 /* ReverseMapped */ ? @@ -29655,7 +29791,7 @@ var ts; var saveEnclosingDeclaration = context.enclosingDeclaration; context.enclosingDeclaration = undefined; if (ts.getCheckFlags(propertySymbol) & 1024 /* Late */) { - var decl = ts.firstOrUndefined(propertySymbol.declarations); + var decl = ts.first(propertySymbol.declarations); var name = hasLateBindableName(decl) && resolveEntityName(decl.name.expression, 67216319 /* Value */); if (name && context.tracker.trackSymbol) { context.tracker.trackSymbol(name, saveEnclosingDeclaration, 67216319 /* Value */); @@ -29668,7 +29804,7 @@ var ts; var signatures = getSignaturesOfType(propertyType, 0 /* Call */); for (var _e = 0, signatures_1 = signatures; _e < signatures_1.length; _e++) { var signature = signatures_1[_e]; - var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 152 /* MethodSignature */, context); + var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 153 /* MethodSignature */, context); methodDeclaration.name = propertyName; methodDeclaration.questionToken = optionalToken; if (propertySymbol.valueDeclaration) { @@ -29718,7 +29854,7 @@ var ts; /*dotDotDotToken*/ undefined, name, /*questionToken*/ undefined, indexerTypeNode, /*initializer*/ undefined); - var typeNode = indexInfo.type ? typeToTypeNodeHelper(indexInfo.type, context) : typeToTypeNodeHelper(anyType, context); + var typeNode = typeToTypeNodeHelper(indexInfo.type || anyType, context); if (!indexInfo.type && !(context.flags & 2097152 /* AllowEmptyIndexInfoType */)) { context.encounteredError = true; } @@ -29734,7 +29870,7 @@ var ts; else { typeParameters = signature.typeParameters && signature.typeParameters.map(function (parameter) { return typeParameterToDeclaration(parameter, context); }); } - var parameters = signature.parameters.map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 154 /* Constructor */); }); + var parameters = signature.parameters.map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 155 /* Constructor */); }); if (signature.thisParameter) { var thisParameter = symbolToParameterDeclaration(signature.thisParameter, context); parameters.unshift(thisParameter); @@ -29786,22 +29922,22 @@ var ts; return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags) { - var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 148 /* Parameter */); + var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 149 /* Parameter */); if (!parameterDeclaration && !isTransientSymbol(parameterSymbol)) { - parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 292 /* JSDocParameterTag */); + parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 293 /* JSDocParameterTag */); } var parameterType = getTypeOfSymbol(parameterSymbol); if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { parameterType = getOptionalType(parameterType); } var parameterTypeNode = typeToTypeNodeHelper(parameterType, context); - var modifiers = !(context.flags & 8192 /* OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers && parameterDeclaration.modifiers.map(ts.getSynthesizedClone); + var modifiers = !(context.flags & 8192 /* OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers ? parameterDeclaration.modifiers.map(ts.getSynthesizedClone) : undefined; var isRest = parameterDeclaration ? ts.isRestParameter(parameterDeclaration) : parameterSymbol.isRestParameter; var dotDotDotToken = isRest ? ts.createToken(24 /* DotDotDotToken */) : undefined; var name = parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 71 /* Identifier */ ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : - parameterDeclaration.name.kind === 145 /* QualifiedName */ ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : + parameterDeclaration.name.kind === 146 /* QualifiedName */ ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : ts.symbolName(parameterSymbol) : ts.symbolName(parameterSymbol); @@ -29815,7 +29951,7 @@ var ts; function elideInitializerAndSetEmitFlags(node) { var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags); var clone = ts.nodeIsSynthesized(visited) ? visited : ts.getSynthesizedClone(visited); - if (clone.kind === 181 /* BindingElement */) { + if (clone.kind === 182 /* BindingElement */) { clone.initializer = undefined; } return ts.setEmitFlags(clone, 1 /* SingleLine */ | 16777216 /* NoAsciiEscaping */); @@ -29823,12 +29959,12 @@ var ts; } } function lookupSymbolChain(symbol, context, meaning, yieldModuleSymbol) { - context.tracker.trackSymbol(symbol, context.enclosingDeclaration, meaning); + context.tracker.trackSymbol(symbol, context.enclosingDeclaration, meaning); // TODO: GH#18217 // Try to get qualified name if the symbol is not a type parameter and there is an enclosing declaration. var chain; var isTypeParameter = symbol.flags & 262144 /* TypeParameter */; if (!isTypeParameter && (context.enclosingDeclaration || context.flags & 64 /* UseFullyQualifiedType */)) { - chain = getSymbolChain(symbol, meaning, /*endOfChain*/ true); + chain = ts.Debug.assertDefined(getSymbolChain(symbol, meaning, /*endOfChain*/ true)); ts.Debug.assert(chain && chain.length > 0); } else { @@ -29842,12 +29978,12 @@ var ts; if (!accessibleSymbolChain || needsQualification(accessibleSymbolChain[0], context.enclosingDeclaration, accessibleSymbolChain.length === 1 ? meaning : getQualifiedLeftMeaning(meaning))) { // Go up and add our parent. - var parent = getParentOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); + var parent = getContainerOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); if (parent) { var parentChain = getSymbolChain(parent, getQualifiedLeftMeaning(meaning), /*endOfChain*/ false); if (parentChain) { parentSymbol = parent; - accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [symbol]); + accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [getAliasForSymbolInContainer(parent, symbol) || symbol]); } } } @@ -29858,7 +29994,7 @@ var ts; // If this is the last part of outputting the symbol, always output. The cases apply only to parent symbols. endOfChain || // If a parent symbol is an external module, don't write it. (We prefer just `x` vs `"foo/bar".x`.) - (yieldModuleSymbol || !(!parentSymbol && ts.forEach(symbol.declarations, hasExternalModuleSymbol))) && + (yieldModuleSymbol || !(!parentSymbol && ts.forEach(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol))) && // If a parent symbol is an anonymous type, don't write it. !(symbol.flags & (2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */))) { return [symbol]; @@ -30035,6 +30171,7 @@ var ts; } } function typePredicateToString(typePredicate, enclosingDeclaration, flags, writer) { + if (flags === void 0) { flags = 16384 /* UseAliasDefinedOutsideCurrentScope */; } return writer ? typePredicateToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(typePredicateToStringWorker); function typePredicateToStringWorker(writer) { var predicate = ts.createTypePredicateNode(typePredicate.kind === 1 /* Identifier */ ? ts.createIdentifier(typePredicate.parameterName) : ts.createThisTypeNode(), nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */)); @@ -30050,10 +30187,10 @@ var ts; for (var i = 0; i < types.length; i++) { var t = types[i]; flags |= t.flags; - if (!(t.flags & 12288 /* Nullable */)) { - if (t.flags & (128 /* BooleanLiteral */ | 256 /* EnumLiteral */)) { - var baseType = t.flags & 128 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLiteralType(t); - if (baseType.flags & 131072 /* Union */) { + if (!(t.flags & 24576 /* Nullable */)) { + if (t.flags & (256 /* BooleanLiteral */ | 512 /* EnumLiteral */)) { + var baseType = t.flags & 256 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLiteralType(t); + if (baseType.flags & 262144 /* Union */) { var count = baseType.types.length; if (i + count <= types.length && types[i + count - 1] === baseType.types[count - 1]) { result.push(baseType); @@ -30065,9 +30202,9 @@ var ts; result.push(t); } } - if (flags & 8192 /* Null */) + if (flags & 16384 /* Null */) result.push(nullType); - if (flags & 4096 /* Undefined */) + if (flags & 8192 /* Undefined */) result.push(undefinedType); return result || types; } @@ -30082,8 +30219,8 @@ var ts; } function getTypeAliasForTypeLiteral(type) { if (type.symbol && type.symbol.flags & 2048 /* TypeLiteral */) { - var node = ts.findAncestor(type.symbol.declarations[0].parent, function (n) { return n.kind !== 172 /* ParenthesizedType */; }); - if (node.kind === 236 /* TypeAliasDeclaration */) { + var node = ts.findAncestor(type.symbol.declarations[0].parent, function (n) { return n.kind !== 173 /* ParenthesizedType */; }); + if (node.kind === 237 /* TypeAliasDeclaration */) { return getSymbolOfNode(node); } } @@ -30091,11 +30228,11 @@ var ts; } function isTopLevelInExternalModuleAugmentation(node) { return node && node.parent && - node.parent.kind === 239 /* ModuleBlock */ && + node.parent.kind === 240 /* ModuleBlock */ && ts.isExternalModuleAugmentation(node.parent.parent); } function isDefaultBindingContext(location) { - return location.kind === 273 /* SourceFile */ || ts.isAmbientModule(location); + return location.kind === 274 /* SourceFile */ || ts.isAmbientModule(location); } /** * Gets a human-readable name for a symbol. @@ -30115,15 +30252,15 @@ var ts; return "default"; } if (symbol.declarations && symbol.declarations.length) { - if (ts.some(symbol.declarations, hasExternalModuleSymbol) && context.enclosingDeclaration) { - var file_3 = ts.getDeclarationOfKind(symbol, 273 /* SourceFile */); + if (ts.some(symbol.declarations, hasExternalModuleSymbol) && context.enclosingDeclaration) { // TODO: GH#18217 + var file_3 = ts.getDeclarationOfKind(symbol, 274 /* SourceFile */); if (!file_3 || !context.tracker.moduleResolverHost) { if (context.tracker.trackReferencedAmbientModule) { var ambientDecls = ts.filter(symbol.declarations, ts.isAmbientModule); if (ts.length(ambientDecls)) { for (var _i = 0, ambientDecls_1 = ambientDecls; _i < ambientDecls_1.length; _i++) { var decl = ambientDecls_1[_i]; - context.tracker.trackReferencedAmbientModule(decl); + context.tracker.trackReferencedAmbientModule(decl); // TODO: GH#18217 } } } @@ -30138,26 +30275,26 @@ var ts; if (name) { return ts.declarationNameToString(name); } - if (declaration.parent && declaration.parent.kind === 231 /* VariableDeclaration */) { + if (declaration.parent && declaration.parent.kind === 232 /* VariableDeclaration */) { return ts.declarationNameToString(declaration.parent.name); } if (context && !context.encounteredError && !(context.flags & 131072 /* AllowAnonymousIdentifier */)) { context.encounteredError = true; } switch (declaration.kind) { - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return "(Anonymous class)"; - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return "(Anonymous function)"; } } var nameType = symbol.nameType; if (nameType) { - if (nameType.flags & 32 /* StringLiteral */ && !ts.isIdentifierText(nameType.value, compilerOptions.target)) { + if (nameType.flags & 64 /* StringLiteral */ && !ts.isIdentifierText(nameType.value, compilerOptions.target)) { return "\"" + ts.escapeString(nameType.value, 34 /* doubleQuote */) + "\""; } - if (nameType && nameType.flags & 1024 /* UniqueESSymbol */) { + if (nameType && nameType.flags & 2048 /* UniqueESSymbol */) { return "[" + getNameOfSymbolAsWritten(nameType.symbol, context) + "]"; } } @@ -30174,27 +30311,27 @@ var ts; return false; function determineIfDeclarationIsVisible() { switch (node.kind) { - case 291 /* JSDocCallbackTag */: - case 296 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: // Top-level jsdoc type aliases are considered exported // First parent is comment node, second is hosting declaration or token; we only care about those tokens or declarations whose parent is a source file return !!(node.parent && node.parent.parent && node.parent.parent.parent && ts.isSourceFile(node.parent.parent.parent)); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return isDeclarationVisible(node.parent.parent); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: if (ts.isBindingPattern(node.name) && !node.name.elements.length) { // If the binding pattern is empty, this variable declaration is not visible return false; } // falls through - case 238 /* ModuleDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 233 /* FunctionDeclaration */: - case 237 /* EnumDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 239 /* ModuleDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 234 /* FunctionDeclaration */: + case 238 /* EnumDeclaration */: + case 243 /* ImportEqualsDeclaration */: // external module augmentation is always visible if (ts.isExternalModuleAugmentation(node)) { return true; @@ -30202,53 +30339,53 @@ var ts; var parent = getDeclarationContainer(node); // If the node is not exported or it is not ambient module element (except import declaration) if (!(ts.getCombinedModifierFlags(node) & 1 /* Export */) && - !(node.kind !== 242 /* ImportEqualsDeclaration */ && parent.kind !== 273 /* SourceFile */ && parent.flags & 4194304 /* Ambient */)) { + !(node.kind !== 243 /* ImportEqualsDeclaration */ && parent.kind !== 274 /* SourceFile */ && parent.flags & 4194304 /* Ambient */)) { return isGlobalSourceFile(parent); } // Exported members/ambient module elements (exception import declaration) are visible if parent is visible return isDeclarationVisible(parent); - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.hasModifier(node, 8 /* Private */ | 16 /* Protected */)) { // Private/protected properties/methods are not visible return false; } // Public properties/methods are visible if its parents are visible, so: // falls through - case 154 /* Constructor */: - case 158 /* ConstructSignature */: - case 157 /* CallSignature */: - case 159 /* IndexSignature */: - case 148 /* Parameter */: - case 239 /* ModuleBlock */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 165 /* TypeLiteral */: - case 161 /* TypeReference */: - case 166 /* ArrayType */: - case 167 /* TupleType */: - case 168 /* UnionType */: - case 169 /* IntersectionType */: - case 172 /* ParenthesizedType */: + case 155 /* Constructor */: + case 159 /* ConstructSignature */: + case 158 /* CallSignature */: + case 160 /* IndexSignature */: + case 149 /* Parameter */: + case 240 /* ModuleBlock */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 166 /* TypeLiteral */: + case 162 /* TypeReference */: + case 167 /* ArrayType */: + case 168 /* TupleType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: + case 173 /* ParenthesizedType */: return isDeclarationVisible(node.parent); // Default binding, import specifier and namespace import is visible // only on demand so by default it is not visible - case 244 /* ImportClause */: - case 245 /* NamespaceImport */: - case 247 /* ImportSpecifier */: + case 245 /* ImportClause */: + case 246 /* NamespaceImport */: + case 248 /* ImportSpecifier */: return false; // Type parameters are always visible - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: // Source file and namespace export are always visible - case 273 /* SourceFile */: - case 241 /* NamespaceExportDeclaration */: + case 274 /* SourceFile */: + case 242 /* NamespaceExportDeclaration */: return true; // Export assignments do not create name bindings outside the module - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return false; default: return false; @@ -30257,10 +30394,10 @@ var ts; } function collectLinkedAliases(node, setVisibility) { var exportSymbol; - if (node.parent && node.parent.kind === 248 /* ExportAssignment */) { + if (node.parent && node.parent.kind === 249 /* ExportAssignment */) { exportSymbol = resolveName(node, node.escapedText, 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */, /*nameNotFoundMessage*/ undefined, node, /*isUse*/ false); } - else if (node.parent.kind === 251 /* ExportSpecifier */) { + else if (node.parent.kind === 252 /* ExportSpecifier */) { exportSymbol = getTargetOfExportSpecifier(node.parent, 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */); } var result; @@ -30329,22 +30466,22 @@ var ts; } function hasType(target, propertyName) { if (propertyName === 0 /* Type */) { - return getSymbolLinks(target).type; + return !!getSymbolLinks(target).type; } if (propertyName === 2 /* DeclaredType */) { - return getSymbolLinks(target).declaredType; + return !!getSymbolLinks(target).declaredType; } if (propertyName === 1 /* ResolvedBaseConstructorType */) { - return target.resolvedBaseConstructorType; + return !!target.resolvedBaseConstructorType; } if (propertyName === 3 /* ResolvedReturnType */) { - return target.resolvedReturnType; + return !!target.resolvedReturnType; } if (propertyName === 4 /* ResolvedBaseConstraint */) { var bc = target.resolvedBaseConstraint; - return bc && bc !== circularConstraintType; + return !!bc && bc !== circularConstraintType; } - ts.Debug.fail("Unhandled TypeSystemPropertyName " + propertyName); + return ts.Debug.fail("Unhandled TypeSystemPropertyName " + propertyName); } // Pop an entry from the type resolution stack and return its associated result value. The result value will // be true if no circularities were detected, or false if a circularity was found. @@ -30354,20 +30491,19 @@ var ts; return resolutionResults.pop(); } function getDeclarationContainer(node) { - node = ts.findAncestor(ts.getRootDeclaration(node), function (node) { + return ts.findAncestor(ts.getRootDeclaration(node), function (node) { switch (node.kind) { - case 231 /* VariableDeclaration */: - case 232 /* VariableDeclarationList */: - case 247 /* ImportSpecifier */: - case 246 /* NamedImports */: - case 245 /* NamespaceImport */: - case 244 /* ImportClause */: + case 232 /* VariableDeclaration */: + case 233 /* VariableDeclarationList */: + case 248 /* ImportSpecifier */: + case 247 /* NamedImports */: + case 246 /* NamespaceImport */: + case 245 /* ImportClause */: return false; default: return true; } - }); - return node && node.parent; + }).parent; } function getTypeOfPrototypeProperty(prototype) { // TypeScript 1.0 spec (April 2014): 8.4 @@ -30392,14 +30528,14 @@ var ts; return symbol && getSymbolLinks(symbol).type || getTypeForVariableLikeDeclaration(node, /*includeOptionality*/ false); } function isComputedNonLiteralName(name) { - return name.kind === 146 /* ComputedPropertyName */ && !ts.isStringOrNumericLiteral(name.expression); + return name.kind === 147 /* ComputedPropertyName */ && !ts.isStringOrNumericLiteral(name.expression); } function getRestType(source, properties, symbol) { - source = filterType(source, function (t) { return !(t.flags & 12288 /* Nullable */); }); - if (source.flags & 16384 /* Never */) { + source = filterType(source, function (t) { return !(t.flags & 24576 /* Nullable */); }); + if (source.flags & 32768 /* Never */) { return emptyObjectType; } - if (source.flags & 131072 /* Union */) { + if (source.flags & 262144 /* Union */) { return mapType(source, function (t) { return getRestType(t, properties, symbol); }); } var members = ts.createSymbolTable(); @@ -30426,8 +30562,8 @@ var ts; var pattern = declaration.parent; var parentType = getTypeForBindingElementParent(pattern.parent); // If parent has the unknown (error) type, then so does this binding element - if (parentType === unknownType) { - return unknownType; + if (parentType === errorType) { + return errorType; } // If no type was specified or inferred for parent, // infer from the initializer of the binding element if one is present. @@ -30439,11 +30575,11 @@ var ts; return parentType; } var type; - if (pattern.kind === 179 /* ObjectBindingPattern */) { + if (pattern.kind === 180 /* ObjectBindingPattern */) { if (declaration.dotDotDotToken) { - if (!isValidSpreadType(parentType)) { + if (parentType.flags & 2 /* Unknown */ || !isValidSpreadType(parentType)) { error(declaration, ts.Diagnostics.Rest_types_may_only_be_created_from_object_types); - return unknownType; + return errorType; } var literalMembers = []; for (var _i = 0, _a = pattern.elements; _i < _a.length; _i++) { @@ -30461,13 +30597,13 @@ var ts; var isWellKnown = ts.isComputedPropertyName(name) && ts.isWellKnownSymbolSyntactically(name.expression); if (!isLate && !isWellKnown && isComputedNonLiteralName(name)) { var exprType = checkExpression(name.expression); - if (isTypeAssignableToKind(exprType, 1536 /* ESSymbolLike */)) { + if (isTypeAssignableToKind(exprType, 3072 /* ESSymbolLike */)) { if (noImplicitAny) { error(declaration, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(exprType), typeToString(parentType)); } return anyType; } - var indexerType = isTypeAssignableToKind(exprType, 84 /* NumberLike */) && getIndexTypeOfType(parentType, 1 /* Number */) || getIndexTypeOfType(parentType, 0 /* String */); + var indexerType = isTypeAssignableToKind(exprType, 168 /* NumberLike */) && getIndexTypeOfType(parentType, 1 /* Number */) || getIndexTypeOfType(parentType, 0 /* String */); if (!indexerType && noImplicitAny && !compilerOptions.suppressImplicitAnyIndexErrors) { if (getIndexTypeOfType(parentType, 1 /* Number */)) { error(declaration, ts.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number); @@ -30480,7 +30616,7 @@ var ts; } // Use type of the specified property, or otherwise, for a numeric name, the type of the numeric index signature, // or otherwise the type of the string index signature. - var nameType = isLate && checkComputedPropertyName(name); + var nameType = isLate ? checkComputedPropertyName(name) : undefined; var text = isLate ? getLateBoundNameFromType(nameType) : isWellKnown ? ts.getPropertyNameForKnownSymbolName(ts.idText(name.expression.name)) : ts.getTextOfPropertyName(name); @@ -30488,7 +30624,7 @@ var ts; if (strictNullChecks && declaration.flags & 4194304 /* Ambient */ && ts.isParameterDeclaration(declaration)) { parentType = getNonNullableType(parentType); } - if (isLate && nameType && !getPropertyOfType(parentType, text) && isTypeAssignableToKind(nameType, 1536 /* ESSymbolLike */)) { + if (isLate && nameType && !getPropertyOfType(parentType, text) && isTypeAssignableToKind(nameType, 3072 /* ESSymbolLike */)) { if (noImplicitAny) { error(declaration, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(nameType), typeToString(parentType)); } @@ -30500,7 +30636,7 @@ var ts; getIndexTypeOfType(parentType, 0 /* String */); if (!type) { error(name, ts.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature, typeToString(parentType), ts.declarationNameToString(name)); - return unknownType; + return errorType; } } } @@ -30526,13 +30662,13 @@ var ts; else { error(declaration, ts.Diagnostics.Type_0_has_no_property_1, typeToString(parentType), propName); } - return unknownType; + return errorType; } } } // In strict null checking mode, if a default value of a non-undefined type is specified, remove // undefined from the final type. - if (strictNullChecks && declaration.initializer && !(getFalsyFlags(checkExpressionCached(declaration.initializer)) & 4096 /* Undefined */)) { + if (strictNullChecks && declaration.initializer && !(getFalsyFlags(checkExpressionCached(declaration.initializer)) & 8192 /* Undefined */)) { type = getTypeWithFacts(type, 131072 /* NEUndefined */); } return declaration.initializer ? @@ -30552,7 +30688,7 @@ var ts; } function isEmptyArrayLiteral(node) { var expr = ts.skipParentheses(node); - return expr.kind === 182 /* ArrayLiteralExpression */ && expr.elements.length === 0; + return expr.kind === 183 /* ArrayLiteralExpression */ && expr.elements.length === 0; } function addOptionality(type, optional) { if (optional === void 0) { optional = true; } @@ -30562,11 +30698,11 @@ var ts; function getTypeForVariableLikeDeclaration(declaration, includeOptionality) { // A variable declared in a for..in statement is of type string, or of type keyof T when the // right hand expression is of a type parameter type. - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 220 /* ForInStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 221 /* ForInStatement */) { var indexType = getIndexType(checkNonNullExpression(declaration.parent.parent.expression)); - return indexType.flags & (32768 /* TypeParameter */ | 524288 /* Index */) ? getExtractStringType(indexType) : stringType; + return indexType.flags & (65536 /* TypeParameter */ | 1048576 /* Index */) ? getExtractStringType(indexType) : stringType; } - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 221 /* ForOfStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 222 /* ForOfStatement */) { // checkRightHandSideOfForOf will return undefined if the for-of expression type was // missing properties/signatures required to get its iteratedType (like // [Symbol.iterator] or next). This may be because we accessed properties from anyType, @@ -30585,7 +30721,7 @@ var ts; return addOptionality(declaredType, isOptional); } if ((noImplicitAny || ts.isInJavaScriptFile(declaration)) && - declaration.kind === 231 /* VariableDeclaration */ && !ts.isBindingPattern(declaration.name) && + declaration.kind === 232 /* VariableDeclaration */ && !ts.isBindingPattern(declaration.name) && !(ts.getCombinedModifierFlags(declaration) & 1 /* Export */) && !(declaration.flags & 4194304 /* Ambient */)) { // If --noImplicitAny is on or the declaration is in a Javascript file, // use control flow tracked 'any' type for non-ambient, non-exported var or let variables with no @@ -30599,11 +30735,11 @@ var ts; return autoArrayType; } } - if (declaration.kind === 148 /* Parameter */) { + if (declaration.kind === 149 /* Parameter */) { var func = declaration.parent; // For a parameter of a set accessor, use the type of the get accessor if one is present - if (func.kind === 156 /* SetAccessor */ && !hasNonBindableDynamicName(func)) { - var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 155 /* GetAccessor */); + if (func.kind === 157 /* SetAccessor */ && !hasNonBindableDynamicName(func)) { + var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 156 /* GetAccessor */); if (getter) { var getterSignature = getSignatureFromDeclaration(getter); var thisParameter = getAccessorThisParameter(func); @@ -30657,20 +30793,20 @@ var ts; var jsDocType; var _loop_3 = function (declaration) { var declarationInConstructor = false; - var expression = declaration.kind === 199 /* BinaryExpression */ ? declaration : - declaration.kind === 184 /* PropertyAccessExpression */ ? ts.cast(declaration.parent, ts.isBinaryExpression) : + var expression = declaration.kind === 200 /* BinaryExpression */ ? declaration : + declaration.kind === 185 /* PropertyAccessExpression */ ? ts.cast(declaration.parent, ts.isBinaryExpression) : undefined; if (!expression) { - return { value: unknownType }; + return { value: errorType }; } var special = ts.getSpecialPropertyAssignmentKind(expression); if (special === 4 /* ThisProperty */) { var thisContainer = ts.getThisContainer(expression, /*includeArrowFunctions*/ false); // Properties defined in a constructor (or base constructor, or javascript constructor function) don't get undefined added. // Function expressions that are assigned to the prototype count as methods. - declarationInConstructor = thisContainer.kind === 154 /* Constructor */ || - thisContainer.kind === 233 /* FunctionDeclaration */ || - (thisContainer.kind === 191 /* FunctionExpression */ && !ts.isPrototypePropertyAssignment(thisContainer.parent)); + declarationInConstructor = thisContainer.kind === 155 /* Constructor */ || + thisContainer.kind === 234 /* FunctionDeclaration */ || + (thisContainer.kind === 192 /* FunctionExpression */ && !ts.isPrototypePropertyAssignment(thisContainer.parent)); if (declarationInConstructor) { definedInConstructor = true; } @@ -30685,7 +30821,7 @@ var ts; if (!jsDocType) { jsDocType = declarationType; } - else if (jsDocType !== unknownType && declarationType !== unknownType && + else if (jsDocType !== errorType && declarationType !== errorType && !isTypeIdenticalTo(jsDocType, declarationType) && !(symbol.flags & 67108864 /* JSContainer */)) { errorNextVariableOrPropertyDeclarationMustHaveSameType(jsDocType, declaration, declarationType); @@ -30742,11 +30878,11 @@ var ts; definedInConstructor = true; } } - var sourceTypes = ts.some(constructorTypes, function (t) { return !!(t.flags & ~(12288 /* Nullable */ | 16777216 /* ContainsWideningType */)); }) ? constructorTypes : types; + var sourceTypes = ts.some(constructorTypes, function (t) { return !!(t.flags & ~(24576 /* Nullable */ | 134217728 /* ContainsWideningType */)); }) ? constructorTypes : types; // TODO: GH#18217 type = getUnionType(sourceTypes, 2 /* Subtype */); } var widened = getWidenedType(addOptionality(type, definedInMethod && !definedInConstructor)); - if (filterType(widened, function (t) { return !!(t.flags & ~12288 /* Nullable */); }) === neverType) { + if (filterType(widened, function (t) { return !!(t.flags & ~24576 /* Nullable */); }) === neverType) { if (noImplicitAny) { reportImplicitAnyError(symbol.valueDeclaration, anyType); } @@ -30807,7 +30943,7 @@ var ts; members.set(symbol.escapedName, symbol); }); var result = createAnonymousType(undefined, members, ts.emptyArray, ts.emptyArray, stringIndexInfo, undefined); - result.flags |= 33554432 /* ContainsObjectLiteral */; + result.flags |= 268435456 /* ContainsObjectLiteral */; result.objectFlags |= objectFlags; if (includePatternInType) { result.pattern = pattern; @@ -30818,7 +30954,7 @@ var ts; function getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors) { var elements = pattern.elements; var lastElement = ts.lastOrUndefined(elements); - if (elements.length === 0 || (!ts.isOmittedExpression(lastElement) && lastElement.dotDotDotToken)) { + if (!lastElement || (!ts.isOmittedExpression(lastElement) && lastElement.dotDotDotToken)) { return languageVersion >= 2 /* ES2015 */ ? createIterableType(anyType) : anyArrayType; } // If the pattern has at least one element, and no rest element, then it should imply a tuple type. @@ -30838,7 +30974,9 @@ var ts; // parameter with no type annotation or initializer, the type implied by the binding pattern becomes the type of // the parameter. function getTypeFromBindingPattern(pattern, includePatternInType, reportErrors) { - return pattern.kind === 179 /* ObjectBindingPattern */ + if (includePatternInType === void 0) { includePatternInType = false; } + if (reportErrors === void 0) { reportErrors = false; } + return pattern.kind === 180 /* ObjectBindingPattern */ ? getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) : getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors); } @@ -30858,7 +30996,7 @@ var ts; reportErrorsFromWidening(declaration, type); } // always widen a 'unique symbol' type if the type was created for a different declaration. - if (type.flags & 1024 /* UniqueESSymbol */ && (ts.isBindingElement(declaration) || !declaration.type) && type.symbol !== getSymbolOfNode(declaration)) { + if (type.flags & 2048 /* UniqueESSymbol */ && (ts.isBindingElement(declaration) || !declaration.type) && type.symbol !== getSymbolOfNode(declaration)) { type = esSymbolType; } return getWidenedType(type); @@ -30875,7 +31013,7 @@ var ts; } function declarationBelongsToPrivateAmbientMember(declaration) { var root = ts.getRootDeclaration(declaration); - var memberDeclaration = root.kind === 148 /* Parameter */ ? root.parent : root; + var memberDeclaration = root.kind === 149 /* Parameter */ ? root.parent : root; return isPrivateWithinAmbient(memberDeclaration); } function tryGetTypeFromEffectiveTypeNode(declaration) { @@ -30905,7 +31043,7 @@ var ts; var jsonSourceFile = ts.cast(declaration, ts.isJsonSourceFile); return links.type = jsonSourceFile.statements.length ? checkExpression(jsonSourceFile.statements[0].expression) : emptyObjectType; } - if (declaration.kind === 248 /* ExportAssignment */) { + if (declaration.kind === 249 /* ExportAssignment */) { return links.type = checkExpression(declaration.expression); } if (ts.isInJavaScriptFile(declaration) && ts.isJSDocPropertyLikeTag(declaration) && declaration.typeExpression) { @@ -30913,7 +31051,7 @@ var ts; } // Handle variable, parameter or property if (!pushTypeResolution(symbol, 0 /* Type */)) { - return unknownType; + return errorType; } var type = void 0; // Handle certain special assignment kinds, which happen to union across multiple declarations: @@ -30921,13 +31059,15 @@ var ts; // * exports.p = expr // * this.p = expr // * className.prototype.method = expr - if (declaration.kind === 199 /* BinaryExpression */ || - declaration.kind === 184 /* PropertyAccessExpression */ && declaration.parent.kind === 199 /* BinaryExpression */) { + if (declaration.kind === 200 /* BinaryExpression */ || + declaration.kind === 185 /* PropertyAccessExpression */ && declaration.parent.kind === 200 /* BinaryExpression */) { type = getWidenedTypeFromJSSpecialPropertyDeclarations(symbol); } else if (ts.isJSDocPropertyLikeTag(declaration) || ts.isPropertyAccessExpression(declaration) || ts.isIdentifier(declaration) + || ts.isClassDeclaration(declaration) + || ts.isFunctionDeclaration(declaration) || (ts.isMethodDeclaration(declaration) && !ts.isObjectLiteralMethod(declaration)) || ts.isMethodSignature(declaration)) { // Symbol is property of some kind that is merged with something - should use `getTypeOfFuncClassEnumModule` and not `getTypeOfVariableOrParameterOrProperty` @@ -30956,7 +31096,7 @@ var ts; type = getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true); } else { - ts.Debug.fail("Unhandled declaration kind! " + ts.Debug.showSyntaxKind(declaration)); + return ts.Debug.fail("Unhandled declaration kind! " + ts.Debug.showSyntaxKind(declaration) + " for " + ts.Debug.showSymbol(symbol)); } if (!popTypeResolution()) { type = reportCircularityError(symbol); @@ -30967,7 +31107,7 @@ var ts; } function getAnnotatedAccessorType(accessor) { if (accessor) { - if (accessor.kind === 155 /* GetAccessor */) { + if (accessor.kind === 156 /* GetAccessor */) { var getterTypeAnnotation = ts.getEffectiveReturnTypeNode(accessor); return getterTypeAnnotation && getTypeFromTypeNode(getterTypeAnnotation); } @@ -30988,8 +31128,8 @@ var ts; function getTypeOfAccessors(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { - var getter = ts.getDeclarationOfKind(symbol, 155 /* GetAccessor */); - var setter = ts.getDeclarationOfKind(symbol, 156 /* SetAccessor */); + var getter = ts.getDeclarationOfKind(symbol, 156 /* GetAccessor */); + var setter = ts.getDeclarationOfKind(symbol, 157 /* SetAccessor */); if (getter && ts.isInJavaScriptFile(getter)) { var jsDocType = getTypeForDeclarationFromJSDocComment(getter); if (jsDocType) { @@ -30997,7 +31137,7 @@ var ts; } } if (!pushTypeResolution(symbol, 0 /* Type */)) { - return unknownType; + return errorType; } var type = void 0; // First try to see if the user specified a return type on the get-accessor. @@ -31034,7 +31174,7 @@ var ts; if (!popTypeResolution()) { type = anyType; if (noImplicitAny) { - var getter_1 = ts.getDeclarationOfKind(symbol, 155 /* GetAccessor */); + var getter_1 = ts.getDeclarationOfKind(symbol, 156 /* GetAccessor */); error(getter_1, ts.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, symbolToString(symbol)); } } @@ -31044,16 +31184,33 @@ var ts; } function getBaseTypeVariableOfClass(symbol) { var baseConstructorType = getBaseConstructorTypeOfClass(getDeclaredTypeOfClassOrInterface(symbol)); - return baseConstructorType.flags & 1081344 /* TypeVariable */ ? baseConstructorType : undefined; + return baseConstructorType.flags & 2162688 /* TypeVariable */ ? baseConstructorType : undefined; } function getTypeOfFuncClassEnumModule(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { + var jsDeclaration = ts.getDeclarationOfJSInitializer(symbol.valueDeclaration); + if (jsDeclaration) { + var jsSymbol = getSymbolOfNode(jsDeclaration); + if (jsSymbol && (ts.hasEntries(jsSymbol.exports) || ts.hasEntries(jsSymbol.members))) { + symbol = cloneSymbol(symbol); + // note:we overwrite links because we just cloned the symbol + links = symbol; + if (ts.hasEntries(jsSymbol.exports)) { + symbol.exports = symbol.exports || ts.createSymbolTable(); + mergeSymbolTable(symbol.exports, jsSymbol.exports); + } + if (ts.hasEntries(jsSymbol.members)) { + symbol.members = symbol.members || ts.createSymbolTable(); + mergeSymbolTable(symbol.members, jsSymbol.members); + } + } + } if (symbol.flags & 1536 /* Module */ && ts.isShorthandAmbientModuleSymbol(symbol)) { links.type = anyType; } - else if (symbol.valueDeclaration.kind === 199 /* BinaryExpression */ || - symbol.valueDeclaration.kind === 184 /* PropertyAccessExpression */ && symbol.valueDeclaration.parent.kind === 199 /* BinaryExpression */) { + else if (symbol.valueDeclaration.kind === 200 /* BinaryExpression */ || + symbol.valueDeclaration.kind === 185 /* PropertyAccessExpression */ && symbol.valueDeclaration.parent.kind === 200 /* BinaryExpression */) { links.type = getWidenedTypeFromJSSpecialPropertyDeclarations(symbol); } else { @@ -31087,7 +31244,7 @@ var ts; // up recursively calling getTypeOfAlias, causing a stack overflow. links.type = targetSymbol.flags & 67216319 /* Value */ ? getTypeOfSymbol(targetSymbol) - : unknownType; + : errorType; } return links.type; } @@ -31096,11 +31253,11 @@ var ts; if (!links.type) { if (symbolInstantiationDepth === 100) { error(symbol.valueDeclaration, ts.Diagnostics.Generic_type_instantiation_is_excessively_deep_and_possibly_infinite); - links.type = unknownType; + links.type = errorType; } else { if (!pushTypeResolution(symbol, 0 /* Type */)) { - return unknownType; + return errorType; } symbolInstantiationDepth++; var type = instantiateType(getTypeOfSymbol(links.target), links.mapper); @@ -31117,7 +31274,7 @@ var ts; // Check if variable has type annotation that circularly references the variable itself if (ts.getEffectiveTypeAnnotationNode(symbol.valueDeclaration)) { error(symbol.valueDeclaration, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, symbolToString(symbol)); - return unknownType; + return errorType; } // Otherwise variable has initializer that circularly references the variable itself if (noImplicitAny) { @@ -31147,7 +31304,7 @@ var ts; if (symbol.flags & 2097152 /* Alias */) { return getTypeOfAlias(symbol); } - return unknownType; + return errorType; } function isReferenceToType(type, target) { return type !== undefined @@ -31158,16 +31315,18 @@ var ts; function getTargetType(type) { return ts.getObjectFlags(type) & 4 /* Reference */ ? type.target : type; } + // TODO: GH#18217 If `checkBase` is undefined, we should not call this because this will always return false. function hasBaseType(type, checkBase) { return check(type); function check(type) { if (ts.getObjectFlags(type) & (3 /* ClassOrInterface */ | 4 /* Reference */)) { var target = getTargetType(type); - return target === checkBase || ts.forEach(getBaseTypes(target), check); + return target === checkBase || ts.some(getBaseTypes(target), check); } - else if (type.flags & 262144 /* Intersection */) { - return ts.forEach(type.types, check); + else if (type.flags & 524288 /* Intersection */) { + return ts.some(type.types, check); } + return false; } } // Appends the type parameters given by a list of declarations to a set of type parameters and returns the resulting set. @@ -31183,40 +31342,40 @@ var ts; // Return the outer type parameters of a node or undefined if the node has no outer type parameters. function getOuterTypeParameters(node, includeThisTypes) { while (true) { - node = node.parent; + node = node.parent; // TODO: GH#18217 Use SourceFile kind check instead if (!node) { return undefined; } switch (node.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 152 /* MethodSignature */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 283 /* JSDocFunctionType */: - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 236 /* TypeAliasDeclaration */: - case 295 /* JSDocTemplateTag */: - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: - case 176 /* MappedType */: - case 170 /* ConditionalType */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 153 /* MethodSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 284 /* JSDocFunctionType */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 237 /* TypeAliasDeclaration */: + case 296 /* JSDocTemplateTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 177 /* MappedType */: + case 171 /* ConditionalType */: var outerTypeParameters = getOuterTypeParameters(node, includeThisTypes); - if (node.kind === 176 /* MappedType */) { + if (node.kind === 177 /* MappedType */) { return ts.append(outerTypeParameters, getDeclaredTypeOfTypeParameter(getSymbolOfNode(node.typeParameter))); } - else if (node.kind === 170 /* ConditionalType */) { + else if (node.kind === 171 /* ConditionalType */) { return ts.concatenate(outerTypeParameters, getInferTypeParameters(node)); } var outerAndOwnTypeParameters = appendTypeParameters(outerTypeParameters, ts.getEffectiveTypeParameterDeclarations(node)); var thisType = includeThisTypes && - (node.kind === 234 /* ClassDeclaration */ || node.kind === 204 /* ClassExpression */ || node.kind === 235 /* InterfaceDeclaration */) && + (node.kind === 235 /* ClassDeclaration */ || node.kind === 205 /* ClassExpression */ || node.kind === 236 /* InterfaceDeclaration */) && getDeclaredTypeOfClassOrInterface(getSymbolOfNode(node)).thisType; return thisType ? ts.append(outerAndOwnTypeParameters, thisType) : outerAndOwnTypeParameters; } @@ -31224,7 +31383,7 @@ var ts; } // The outer type parameters are those defined by enclosing generic classes, methods, or functions. function getOuterTypeParametersOfClassOrInterface(symbol) { - var declaration = symbol.flags & 32 /* Class */ ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 235 /* InterfaceDeclaration */); + var declaration = symbol.flags & 32 /* Class */ ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 236 /* InterfaceDeclaration */); return getOuterTypeParameters(declaration); } // The local type parameters are the combined set of type parameters from all declarations of the class, @@ -31233,9 +31392,9 @@ var ts; var result; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var node = _a[_i]; - if (node.kind === 235 /* InterfaceDeclaration */ || - node.kind === 234 /* ClassDeclaration */ || - node.kind === 204 /* ClassExpression */ || + if (node.kind === 236 /* InterfaceDeclaration */ || + node.kind === 235 /* ClassDeclaration */ || + node.kind === 205 /* ClassExpression */ || ts.isTypeAlias(node)) { var declaration = node; result = appendTypeParameters(result, ts.getEffectiveTypeParameterDeclarations(declaration)); @@ -31262,9 +31421,9 @@ var ts; if (isValidBaseType(type) && getSignaturesOfType(type, 1 /* Construct */).length > 0) { return true; } - if (type.flags & 1081344 /* TypeVariable */) { + if (type.flags & 2162688 /* TypeVariable */) { var constraint = getBaseConstraintOfType(type); - return constraint && isValidBaseType(constraint) && isMixinConstructorType(constraint); + return !!constraint && isValidBaseType(constraint) && isMixinConstructorType(constraint); } return false; } @@ -31306,25 +31465,25 @@ var ts; return type.resolvedBaseConstructorType = undefinedType; } if (!pushTypeResolution(type, 1 /* ResolvedBaseConstructorType */)) { - return unknownType; + return errorType; } var baseConstructorType = checkExpression(baseTypeNode.expression); if (extended && baseTypeNode !== extended) { ts.Debug.assert(!extended.typeArguments); // Because this is in a JS file, and baseTypeNode is in an @extends tag checkExpression(extended.expression); } - if (baseConstructorType.flags & (65536 /* Object */ | 262144 /* Intersection */)) { + if (baseConstructorType.flags & (131072 /* Object */ | 524288 /* Intersection */)) { // Resolving the members of a class requires us to resolve the base class of that class. // We force resolution here such that we catch circularities now. resolveStructuredTypeMembers(baseConstructorType); } if (!popTypeResolution()) { error(type.symbol.valueDeclaration, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression, symbolToString(type.symbol)); - return type.resolvedBaseConstructorType = unknownType; + return type.resolvedBaseConstructorType = errorType; } if (!(baseConstructorType.flags & 1 /* Any */) && baseConstructorType !== nullWideningType && !isConstructorType(baseConstructorType)) { error(baseTypeNode.expression, ts.Diagnostics.Type_0_is_not_a_constructor_function_type, typeToString(baseConstructorType)); - return type.resolvedBaseConstructorType = unknownType; + return type.resolvedBaseConstructorType = errorType; } type.resolvedBaseConstructorType = baseConstructorType; } @@ -31352,7 +31511,7 @@ var ts; function resolveBaseTypesOfClass(type) { type.resolvedBaseTypes = ts.resolvingEmptyArray; var baseConstructorType = getApparentType(getBaseConstructorTypeOfClass(type)); - if (!(baseConstructorType.flags & (65536 /* Object */ | 262144 /* Intersection */ | 1 /* Any */))) { + if (!(baseConstructorType.flags & (131072 /* Object */ | 524288 /* Intersection */ | 1 /* Any */))) { return type.resolvedBaseTypes = ts.emptyArray; } var baseTypeNode = getBaseTypeNodeOfClass(type); @@ -31380,7 +31539,7 @@ var ts; } baseType = getReturnTypeOfSignature(constructors[0]); } - if (baseType === unknownType) { + if (baseType === errorType) { return type.resolvedBaseTypes = ts.emptyArray; } if (!isValidBaseType(baseType)) { @@ -31396,7 +31555,7 @@ var ts; // (otherwise there'd be an error from hasBaseType) - this is fine, but `.members` should be reset // as `getIndexedAccessType` via `instantiateType` via `getTypeFromClassOrInterfaceReference` forces a // partial instantiation of the members without the base types fully resolved - type.members = undefined; + type.members = undefined; // TODO: GH#18217 } return type.resolvedBaseTypes = [baseType]; } @@ -31414,18 +31573,18 @@ var ts; // A valid base type is `any`, any non-generic object type or intersection of non-generic // object types. function isValidBaseType(type) { - return type.flags & (65536 /* Object */ | 134217728 /* NonPrimitive */ | 1 /* Any */) && !isGenericMappedType(type) || - type.flags & 262144 /* Intersection */ && !ts.forEach(type.types, function (t) { return !isValidBaseType(t); }); + return !!(type.flags & (131072 /* Object */ | 16777216 /* NonPrimitive */ | 1 /* Any */)) && !isGenericMappedType(type) || + !!(type.flags & 524288 /* Intersection */) && !ts.some(type.types, function (t) { return !isValidBaseType(t); }); } function resolveBaseTypesOfInterface(type) { type.resolvedBaseTypes = type.resolvedBaseTypes || ts.emptyArray; for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 235 /* InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) { + if (declaration.kind === 236 /* InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) { for (var _b = 0, _c = ts.getInterfaceBaseTypeNodes(declaration); _b < _c.length; _b++) { var node = _c[_b]; var baseType = getTypeFromTypeNode(node); - if (baseType !== unknownType) { + if (baseType !== errorType) { if (isValidBaseType(baseType)) { if (type !== baseType && !hasBaseType(baseType, type)) { if (type.resolvedBaseTypes === ts.emptyArray) { @@ -31457,7 +31616,7 @@ var ts; function isThislessInterface(symbol) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 235 /* InterfaceDeclaration */) { + if (declaration.kind === 236 /* InterfaceDeclaration */) { if (declaration.flags & 64 /* ContainsThis */) { return false; } @@ -31498,7 +31657,7 @@ var ts; type.instantiations.set(getTypeListId(type.typeParameters), type); type.target = type; type.typeArguments = type.typeParameters; - type.thisType = createType(32768 /* TypeParameter */); + type.thisType = createType(65536 /* TypeParameter */); type.thisType.isThisType = true; type.thisType.symbol = symbol; type.thisType.constraint = type; @@ -31512,14 +31671,14 @@ var ts; // Note that we use the links object as the target here because the symbol object is used as the unique // identity for resolution of the 'type' property in SymbolLinks. if (!pushTypeResolution(symbol, 2 /* DeclaredType */)) { - return unknownType; + return errorType; } var declaration = ts.find(symbol.declarations, function (d) { - return ts.isJSDocTypeAlias(d) || d.kind === 236 /* TypeAliasDeclaration */; + return ts.isJSDocTypeAlias(d) || d.kind === 237 /* TypeAliasDeclaration */; }); var typeNode = ts.isJSDocTypeAlias(declaration) ? declaration.typeExpression : declaration.type; // If typeNode is missing, we will error in checkJSDocTypedefTag. - var type = typeNode ? getTypeFromTypeNode(typeNode) : unknownType; + var type = typeNode ? getTypeFromTypeNode(typeNode) : errorType; if (popTypeResolution()) { var typeParameters = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol); if (typeParameters) { @@ -31531,7 +31690,7 @@ var ts; } } else { - type = unknownType; + type = errorType; error(declaration.name, ts.Diagnostics.Type_alias_0_circularly_references_itself, symbolToString(symbol)); } links.declaredType = type; @@ -31542,7 +31701,7 @@ var ts; if (expr.kind === 9 /* StringLiteral */) { return true; } - else if (expr.kind === 199 /* BinaryExpression */) { + else if (expr.kind === 200 /* BinaryExpression */) { return isStringConcatExpression(expr.left) && isStringConcatExpression(expr.right); } return false; @@ -31556,12 +31715,12 @@ var ts; case 9 /* StringLiteral */: case 8 /* NumericLiteral */: return true; - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return expr.operator === 38 /* MinusToken */ && expr.operand.kind === 8 /* NumericLiteral */; case 71 /* Identifier */: return ts.nodeIsMissing(expr) || !!getSymbolOfNode(member.parent).exports.get(expr.escapedText); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return isStringConcatExpression(expr); default: return false; @@ -31575,7 +31734,7 @@ var ts; var hasNonLiteralMember = false; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 237 /* EnumDeclaration */) { + if (declaration.kind === 238 /* EnumDeclaration */) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; if (member.initializer && member.initializer.kind === 9 /* StringLiteral */) { @@ -31590,7 +31749,7 @@ var ts; return links.enumKind = hasNonLiteralMember ? 0 /* Numeric */ : 1 /* Literal */; } function getBaseTypeOfEnumLiteralType(type) { - return type.flags & 256 /* EnumLiteral */ && !(type.flags & 131072 /* Union */) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; + return type.flags & 512 /* EnumLiteral */ && !(type.flags & 262144 /* Union */) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; } function getDeclaredTypeOfEnum(symbol) { var links = getSymbolLinks(symbol); @@ -31602,10 +31761,10 @@ var ts; var memberTypeList = []; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 237 /* EnumDeclaration */) { + if (declaration.kind === 238 /* EnumDeclaration */) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; - var memberType = getLiteralType(getEnumMemberValue(member), enumCount, getSymbolOfNode(member)); + var memberType = getLiteralType(getEnumMemberValue(member), enumCount, getSymbolOfNode(member)); // TODO: GH#18217 getSymbolLinks(getSymbolOfNode(member)).declaredType = memberType; memberTypeList.push(memberType); } @@ -31613,14 +31772,14 @@ var ts; } if (memberTypeList.length) { var enumType_1 = getUnionType(memberTypeList, 1 /* Literal */, symbol, /*aliasTypeArguments*/ undefined); - if (enumType_1.flags & 131072 /* Union */) { - enumType_1.flags |= 256 /* EnumLiteral */; + if (enumType_1.flags & 262144 /* Union */) { + enumType_1.flags |= 512 /* EnumLiteral */; enumType_1.symbol = symbol; } return links.declaredType = enumType_1; } } - var enumType = createType(16 /* Enum */); + var enumType = createType(32 /* Enum */); enumType.symbol = symbol; return links.declaredType = enumType; } @@ -31637,7 +31796,7 @@ var ts; function getDeclaredTypeOfTypeParameter(symbol) { var links = getSymbolLinks(symbol); if (!links.declaredType) { - var type = createType(32768 /* TypeParameter */); + var type = createType(65536 /* TypeParameter */); type.symbol = symbol; links.declaredType = type; } @@ -31651,7 +31810,7 @@ var ts; return links.declaredType; } function getDeclaredTypeOfSymbol(symbol) { - return tryGetDeclaredTypeOfSymbol(symbol) || unknownType; + return tryGetDeclaredTypeOfSymbol(symbol) || errorType; } function tryGetDeclaredTypeOfSymbol(symbol) { if (symbol.flags & (32 /* Class */ | 64 /* Interface */)) { @@ -31682,6 +31841,7 @@ var ts; function isThislessType(node) { switch (node.kind) { case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 137 /* StringKeyword */: case 134 /* NumberKeyword */: case 122 /* BooleanKeyword */: @@ -31691,11 +31851,11 @@ var ts; case 140 /* UndefinedKeyword */: case 95 /* NullKeyword */: case 131 /* NeverKeyword */: - case 177 /* LiteralType */: + case 178 /* LiteralType */: return true; - case 166 /* ArrayType */: + case 167 /* ArrayType */: return isThislessType(node.elementType); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return !node.typeArguments || node.typeArguments.every(isThislessType); } return false; @@ -31720,7 +31880,7 @@ var ts; function isThislessFunctionLikeDeclaration(node) { var returnType = ts.getEffectiveReturnTypeNode(node); var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); - return (node.kind === 154 /* Constructor */ || (returnType && isThislessType(returnType))) && + return (node.kind === 155 /* Constructor */ || (!!returnType && isThislessType(returnType))) && node.parameters.every(isThislessVariableLikeDeclaration) && typeParameters.every(isThislessTypeParameter); } @@ -31736,12 +31896,12 @@ var ts; var declaration = symbol.declarations[0]; if (declaration) { switch (declaration.kind) { - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return isThislessVariableLikeDeclaration(declaration); - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: return isThislessFunctionLikeDeclaration(declaration); } } @@ -31785,7 +31945,7 @@ var ts; * Indicates whether a type can be used as a late-bound name. */ function isTypeUsableAsLateBoundName(type) { - return !!(type.flags & 1120 /* StringOrNumberLiteralOrUnique */); + return !!(type.flags & 2240 /* StringOrNumberLiteralOrUnique */); } /** * Indicates whether a declaration name is definitely late-bindable. @@ -31805,7 +31965,7 @@ var ts; */ function hasLateBindableName(node) { var name = ts.getNameOfDeclaration(node); - return name && isLateBindableName(name); + return !!name && isLateBindableName(name); } /** * Indicates whether a declaration has a dynamic name that cannot be late-bound. @@ -31823,12 +31983,13 @@ var ts; * Gets the symbolic name for a late-bound member from its type. */ function getLateBoundNameFromType(type) { - if (type.flags & 1024 /* UniqueESSymbol */) { + if (type.flags & 2048 /* UniqueESSymbol */) { return "__@" + type.symbol.escapedName + "@" + getSymbolId(type.symbol); } - if (type.flags & 96 /* StringOrNumberLiteral */) { + if (type.flags & 192 /* StringOrNumberLiteral */) { return ts.escapeLeadingUnderscores("" + type.value); } + return ts.Debug.fail(); } /** * Adds a declaration to a late-bound dynamic member. This performs the same function for @@ -31846,8 +32007,7 @@ var ts; symbol.declarations.push(member); } if (symbolFlags & 67216319 /* Value */) { - var valueDeclaration = symbol.valueDeclaration; - if (!valueDeclaration || valueDeclaration.kind !== member.kind) { + if (!symbol.valueDeclaration || symbol.valueDeclaration.kind !== member.kind) { symbol.valueDeclaration = member; } } @@ -31991,7 +32151,7 @@ var ts; return needApparentType ? getApparentType(ref) : ref; } } - else if (type.flags & 262144 /* Intersection */) { + else if (type.flags & 524288 /* Intersection */) { return getIntersectionType(ts.map(type.types, function (t) { return getTypeWithThisArgument(t, thisArgument, needApparentType); })); } return needApparentType ? getApparentType(type) : type; @@ -32075,7 +32235,7 @@ var ts; var baseConstructorType = getBaseConstructorTypeOfClass(classType); var baseSignatures = getSignaturesOfType(baseConstructorType, 1 /* Construct */); if (baseSignatures.length === 0) { - return [createSignature(undefined, classType.localTypeParameters, undefined, ts.emptyArray, classType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false)]; + return [createSignature(undefined, classType.localTypeParameters, undefined, ts.emptyArray, classType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false)]; // TODO: GH#18217 } var baseTypeNode = getBaseTypeNodeOfClass(classType); var isJavaScript = ts.isInJavaScriptFile(baseTypeNode); @@ -32147,6 +32307,7 @@ var ts; if (unionSignatures.length > 1) { var thisParameter = signature.thisParameter; if (ts.forEach(unionSignatures, function (sig) { return sig.thisParameter; })) { + // TODO: GH#18217 We tested that *some* has thisParameter and now act as if *all* do var thisType = getUnionType(ts.map(unionSignatures, function (sig) { return sig.thisParameter ? getTypeOfSymbol(sig.thisParameter) : anyType; }), 2 /* Subtype */); thisParameter = createSymbolWithType(signature.thisParameter, thisType); } @@ -32273,7 +32434,7 @@ var ts; if (symbol.flags & 32 /* Class */) { var classType = getDeclaredTypeOfClassOrInterface(symbol); var baseConstructorType = getBaseConstructorTypeOfClass(classType); - if (baseConstructorType.flags & (65536 /* Object */ | 262144 /* Intersection */ | 1081344 /* TypeVariable */)) { + if (baseConstructorType.flags & (131072 /* Object */ | 524288 /* Intersection */ | 2162688 /* TypeVariable */)) { members = ts.createSymbolTable(getNamedMembers(members)); addInheritedMembers(members, getPropertiesOfType(baseConstructorType)); } @@ -32334,7 +32495,7 @@ var ts; var templateType = getTemplateTypeFromMappedType(type.target || type); var modifiersType = getApparentType(getModifiersTypeFromMappedType(type)); // The 'T' in 'keyof T' var templateModifiers = getMappedTypeModifiers(type); - var include = keyofStringsOnly ? 32 /* StringLiteral */ : 1120 /* StringOrNumberLiteralOrUnique */; + var include = keyofStringsOnly ? 64 /* StringLiteral */ : 2240 /* StringOrNumberLiteralOrUnique */; if (isMappedTypeWithKeyofConstraintDeclaration(type)) { // We have a { [P in keyof T]: X } for (var _i = 0, _a = getPropertiesOfType(modifiersType); _i < _a.length; _i++) { @@ -32352,8 +32513,8 @@ var ts; // First, if the constraint type is a type parameter, obtain the base constraint. Then, // if the key type is a 'keyof X', obtain 'keyof C' where C is the base constraint of X. // Finally, iterate over the constituents of the resulting iteration type. - var keyType = constraintType.flags & 7372800 /* InstantiableNonPrimitive */ ? getApparentType(constraintType) : constraintType; - var iterationType = keyType.flags & 524288 /* Index */ ? getIndexType(getApparentType(keyType.type)) : keyType; + var keyType = constraintType.flags & 14745600 /* InstantiableNonPrimitive */ ? getApparentType(constraintType) : constraintType; + var iterationType = keyType.flags & 1048576 /* Index */ ? getIndexType(getApparentType(keyType.type)) : keyType; forEachType(iterationType, addMemberForKeyType); } setStructuredTypeMembers(type, members, ts.emptyArray, ts.emptyArray, stringIndexInfo, numberIndexInfo); @@ -32365,7 +32526,7 @@ var ts; var propType = instantiateType(templateType, templateMapper); // If the current iteration type constituent is a string literal type, create a property. // Otherwise, for type string create a string index signature. - if (t.flags & 1120 /* StringOrNumberLiteralOrUnique */) { + if (t.flags & 2240 /* StringOrNumberLiteralOrUnique */) { var propName = getLateBoundNameFromType(t); var modifiersProp = getPropertyOfType(modifiersType, propName); var isOptional = !!(templateModifiers & 4 /* IncludeOptional */ || @@ -32386,10 +32547,10 @@ var ts; prop.nameType = t; members.set(propName, prop); } - else if (t.flags & (1 /* Any */ | 2 /* String */)) { + else if (t.flags & (1 /* Any */ | 4 /* String */)) { stringIndexInfo = createIndexInfo(propType, !!(templateModifiers & 1 /* IncludeReadonly */)); } - else if (t.flags & 4 /* Number */) { + else if (t.flags & 8 /* Number */) { numberIndexInfo = createIndexInfo(propType, !!(templateModifiers & 1 /* IncludeReadonly */)); } } @@ -32400,20 +32561,20 @@ var ts; } function getConstraintTypeFromMappedType(type) { return type.constraintType || - (type.constraintType = instantiateType(getConstraintOfTypeParameter(getTypeParameterFromMappedType(type)), type.mapper || identityMapper) || unknownType); + (type.constraintType = instantiateType(getConstraintOfTypeParameter(getTypeParameterFromMappedType(type)), type.mapper || identityMapper) || errorType); } function getTemplateTypeFromMappedType(type) { return type.templateType || (type.templateType = type.declaration.type ? instantiateType(addOptionality(getTypeFromTypeNode(type.declaration.type), !!(getMappedTypeModifiers(type) & 4 /* IncludeOptional */)), type.mapper || identityMapper) : - unknownType); + errorType); } function getConstraintDeclarationForMappedType(type) { return type.declaration.typeParameter.constraint; } function isMappedTypeWithKeyofConstraintDeclaration(type) { - var constraintDeclaration = getConstraintDeclarationForMappedType(type); - return constraintDeclaration.kind === 174 /* TypeOperator */ && + var constraintDeclaration = getConstraintDeclarationForMappedType(type); // TODO: GH#18217 + return constraintDeclaration.kind === 175 /* TypeOperator */ && constraintDeclaration.operator === 128 /* KeyOfKeyword */; } function getModifiersTypeFromMappedType(type) { @@ -32430,8 +32591,8 @@ var ts; // the modifiers type is T. Otherwise, the modifiers type is {}. var declaredType = getTypeFromMappedTypeNode(type.declaration); var constraint = getConstraintTypeFromMappedType(declaredType); - var extendedConstraint = constraint && constraint.flags & 32768 /* TypeParameter */ ? getConstraintOfTypeParameter(constraint) : constraint; - type.modifiersType = extendedConstraint && extendedConstraint.flags & 524288 /* Index */ ? instantiateType(extendedConstraint.type, type.mapper || identityMapper) : emptyObjectType; + var extendedConstraint = constraint && constraint.flags & 65536 /* TypeParameter */ ? getConstraintOfTypeParameter(constraint) : constraint; + type.modifiersType = extendedConstraint && extendedConstraint.flags & 1048576 /* Index */ ? instantiateType(extendedConstraint.type, type.mapper || identityMapper) : emptyObjectType; } } return type.modifiersType; @@ -32454,11 +32615,11 @@ var ts; return !!(ts.getObjectFlags(type) & 32 /* Mapped */ && getMappedTypeModifiers(type) & 4 /* IncludeOptional */); } function isGenericMappedType(type) { - return ts.getObjectFlags(type) & 32 /* Mapped */ && isGenericIndexType(getConstraintTypeFromMappedType(type)); + return !!(ts.getObjectFlags(type) & 32 /* Mapped */) && isGenericIndexType(getConstraintTypeFromMappedType(type)); } function resolveStructuredTypeMembers(type) { if (!type.members) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { if (type.objectFlags & 4 /* Reference */) { resolveTypeReferenceMembers(type); } @@ -32475,10 +32636,10 @@ var ts; resolveMappedTypeMembers(type); } } - else if (type.flags & 131072 /* Union */) { + else if (type.flags & 262144 /* Union */) { resolveUnionTypeMembers(type); } - else if (type.flags & 262144 /* Intersection */) { + else if (type.flags & 524288 /* Intersection */) { resolveIntersectionTypeMembers(type); } } @@ -32486,7 +32647,7 @@ var ts; } /** Return properties of an object type or an empty array for other types */ function getPropertiesOfObjectType(type) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { return resolveStructuredTypeMembers(type).properties; } return ts.emptyArray; @@ -32495,7 +32656,7 @@ var ts; * return the symbol for that property. Otherwise return undefined. */ function getPropertyOfObjectType(type, name) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); var symbol = resolved.members.get(name); if (symbol && symbolIsValue(symbol)) { @@ -32519,7 +32680,7 @@ var ts; } // The properties of a union type are those that are present in all constituent types, so // we only need to check the properties of the first type - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { break; } } @@ -32529,13 +32690,13 @@ var ts; } function getPropertiesOfType(type) { type = getApparentType(type); - return type.flags & 393216 /* UnionOrIntersection */ ? + return type.flags & 786432 /* UnionOrIntersection */ ? getPropertiesOfUnionOrIntersectionType(type) : getPropertiesOfObjectType(type); } function getAllPossiblePropertiesOfTypes(types) { var unionType = getUnionType(types); - if (!(unionType.flags & 131072 /* Union */)) { + if (!(unionType.flags & 262144 /* Union */)) { return getAugmentedPropertiesOfType(unionType); } var props = ts.createSymbolTable(); @@ -32554,9 +32715,9 @@ var ts; return ts.arrayFrom(props.values()); } function getConstraintOfType(type) { - return type.flags & 32768 /* TypeParameter */ ? getConstraintOfTypeParameter(type) : - type.flags & 1048576 /* IndexedAccess */ ? getConstraintOfIndexedAccess(type) : - type.flags & 2097152 /* Conditional */ ? getConstraintOfConditionalType(type) : + return type.flags & 65536 /* TypeParameter */ ? getConstraintOfTypeParameter(type) : + type.flags & 2097152 /* IndexedAccess */ ? getConstraintOfIndexedAccess(type) : + type.flags & 4194304 /* Conditional */ ? getConstraintOfConditionalType(type) : getBaseConstraintOfType(type); } function getConstraintOfTypeParameter(typeParameter) { @@ -32566,12 +32727,12 @@ var ts; var objectType = getBaseConstraintOfType(type.objectType) || type.objectType; var indexType = getBaseConstraintOfType(type.indexType) || type.indexType; var constraint = !isGenericObjectType(objectType) && !isGenericIndexType(indexType) ? getIndexedAccessType(objectType, indexType) : undefined; - return constraint && constraint !== unknownType ? constraint : undefined; + return constraint && constraint !== errorType ? constraint : undefined; } function getDefaultConstraintOfConditionalType(type) { if (!type.resolvedDefaultConstraint) { var rootTrueType = type.root.trueType; - var rootTrueConstraint = rootTrueType.flags & 4194304 /* Substitution */ ? rootTrueType.substitute : rootTrueType; + var rootTrueConstraint = rootTrueType.flags & 8388608 /* Substitution */ ? rootTrueType.substitute : rootTrueType; type.resolvedDefaultConstraint = getUnionType([instantiateType(rootTrueConstraint, type.combinedMapper || type.mapper), getFalseTypeFromConditionalType(type)]); } return type.resolvedDefaultConstraint; @@ -32587,7 +32748,7 @@ var ts; if (constraint) { var mapper = makeUnaryTypeMapper(type.root.checkType, constraint); var instantiated = getConditionalTypeInstantiation(type, combineTypeMappers(mapper, type.mapper)); - if (!(instantiated.flags & 16384 /* Never */)) { + if (!(instantiated.flags & 32768 /* Never */)) { return instantiated; } } @@ -32602,23 +32763,23 @@ var ts; var hasDisjointDomainType = false; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 7897088 /* Instantiable */) { + if (t.flags & 15794176 /* Instantiable */) { // We keep following constraints as long as we have an instantiable type that is known // not to be circular or infinite (hence we stop on index access types). var constraint = getConstraintOfType(t); - while (constraint && constraint.flags & (32768 /* TypeParameter */ | 524288 /* Index */ | 2097152 /* Conditional */)) { + while (constraint && constraint.flags & (65536 /* TypeParameter */ | 1048576 /* Index */ | 4194304 /* Conditional */)) { constraint = getConstraintOfType(constraint); } if (constraint) { // A constraint that isn't a union type implies that the final type would be a non-union // type as well. Since non-union constraints are of no interest, we can exit here. - if (!(constraint.flags & 131072 /* Union */)) { + if (!(constraint.flags & 262144 /* Union */)) { return undefined; } constraints = ts.append(constraints, constraint); } } - else if (t.flags & 134233854 /* DisjointDomains */) { + else if (t.flags & 16809468 /* DisjointDomains */) { hasDisjointDomainType = true; } } @@ -32630,7 +32791,7 @@ var ts; // intersection operation to reduce the union constraints. for (var _b = 0, _c = type.types; _b < _c.length; _b++) { var t = _c[_b]; - if (t.flags & 134233854 /* DisjointDomains */) { + if (t.flags & 16809468 /* DisjointDomains */) { constraints = ts.append(constraints, t); } } @@ -32640,7 +32801,7 @@ var ts; return undefined; } function getBaseConstraintOfInstantiableNonPrimitiveUnionOrIntersection(type) { - if (type.flags & (7372800 /* InstantiableNonPrimitive */ | 393216 /* UnionOrIntersection */)) { + if (type.flags & (14745600 /* InstantiableNonPrimitive */ | 786432 /* UnionOrIntersection */)) { var constraint = getResolvedBaseConstraint(type); if (constraint !== noConstraintType && constraint !== circularConstraintType) { return constraint; @@ -32649,7 +32810,7 @@ var ts; } function getBaseConstraintOfType(type) { var constraint = getBaseConstraintOfInstantiableNonPrimitiveUnionOrIntersection(type); - if (!constraint && type.flags & 524288 /* Index */) { + if (!constraint && type.flags & 1048576 /* Index */) { return keyofConstraintType; } return constraint; @@ -32689,13 +32850,13 @@ var ts; return result; } function computeBaseConstraint(t) { - if (t.flags & 32768 /* TypeParameter */) { + if (t.flags & 65536 /* TypeParameter */) { var constraint = getConstraintFromTypeParameter(t); return t.isThisType || !constraint ? constraint : getBaseConstraint(constraint); } - if (t.flags & 393216 /* UnionOrIntersection */) { + if (t.flags & 786432 /* UnionOrIntersection */) { var types = t.types; var baseTypes = []; for (var _i = 0, types_4 = types; _i < types_4.length; _i++) { @@ -32705,24 +32866,24 @@ var ts; baseTypes.push(baseType); } } - return t.flags & 131072 /* Union */ && baseTypes.length === types.length ? getUnionType(baseTypes) : - t.flags & 262144 /* Intersection */ && baseTypes.length ? getIntersectionType(baseTypes) : + return t.flags & 262144 /* Union */ && baseTypes.length === types.length ? getUnionType(baseTypes) : + t.flags & 524288 /* Intersection */ && baseTypes.length ? getIntersectionType(baseTypes) : undefined; } - if (t.flags & 524288 /* Index */) { + if (t.flags & 1048576 /* Index */) { return keyofConstraintType; } - if (t.flags & 1048576 /* IndexedAccess */) { + if (t.flags & 2097152 /* IndexedAccess */) { var baseObjectType = getBaseConstraint(t.objectType); var baseIndexType = getBaseConstraint(t.indexType); var baseIndexedAccess = baseObjectType && baseIndexType ? getIndexedAccessType(baseObjectType, baseIndexType) : undefined; - return baseIndexedAccess && baseIndexedAccess !== unknownType ? getBaseConstraint(baseIndexedAccess) : undefined; + return baseIndexedAccess && baseIndexedAccess !== errorType ? getBaseConstraint(baseIndexedAccess) : undefined; } - if (t.flags & 2097152 /* Conditional */) { + if (t.flags & 4194304 /* Conditional */) { var constraint = getConstraintOfConditionalType(t); return constraint && getBaseConstraint(constraint); } - if (t.flags & 4194304 /* Substitution */) { + if (t.flags & 8388608 /* Substitution */) { return getBaseConstraint(t.substitute); } if (isGenericMappedType(t)) { @@ -32783,19 +32944,19 @@ var ts; * type itself. Note that the apparent type of a union type is the union type itself. */ function getApparentType(type) { - var t = type.flags & 7897088 /* Instantiable */ ? getBaseConstraintOfType(type) || emptyObjectType : type; - return t.flags & 262144 /* Intersection */ ? getApparentTypeOfIntersectionType(t) : - t.flags & 34 /* StringLike */ ? globalStringType : - t.flags & 84 /* NumberLike */ ? globalNumberType : - t.flags & 136 /* BooleanLike */ ? globalBooleanType : - t.flags & 1536 /* ESSymbolLike */ ? getGlobalESSymbolType(/*reportErrors*/ languageVersion >= 2 /* ES2015 */) : - t.flags & 134217728 /* NonPrimitive */ ? emptyObjectType : - t.flags & 524288 /* Index */ ? keyofConstraintType : + var t = type.flags & 15794176 /* Instantiable */ ? getBaseConstraintOfType(type) || emptyObjectType : type; + return t.flags & 524288 /* Intersection */ ? getApparentTypeOfIntersectionType(t) : + t.flags & 68 /* StringLike */ ? globalStringType : + t.flags & 168 /* NumberLike */ ? globalNumberType : + t.flags & 272 /* BooleanLike */ ? globalBooleanType : + t.flags & 3072 /* ESSymbolLike */ ? getGlobalESSymbolType(/*reportErrors*/ languageVersion >= 2 /* ES2015 */) : + t.flags & 16777216 /* NonPrimitive */ ? emptyObjectType : + t.flags & 1048576 /* Index */ ? keyofConstraintType : t; } function createUnionOrIntersectionProperty(containingType, name) { var props; - var isUnion = containingType.flags & 131072 /* Union */; + var isUnion = containingType.flags & 262144 /* Union */; var excludeModifiers = isUnion ? 24 /* NonPublicAccessibilityModifier */ : 0; // Flags we want to propagate to the result if they exist in all source symbols var commonFlags = isUnion ? 0 /* None */ : 16777216 /* Optional */; @@ -32804,7 +32965,7 @@ var ts; for (var _i = 0, _a = containingType.types; _i < _a.length; _i++) { var current = _a[_i]; var type = getApparentType(current); - if (type !== unknownType) { + if (type !== errorType) { var prop = getPropertyOfType(type, name); var modifiers = prop ? ts.getDeclarationModifierFlagsFromSymbol(prop) : 0; if (prop && !(modifiers & excludeModifiers)) { @@ -32900,7 +33061,7 @@ var ts; */ function getPropertyOfType(type, name) { type = getApparentType(type); - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); var symbol = resolved.members.get(name); if (symbol && symbolIsValue(symbol)) { @@ -32914,13 +33075,13 @@ var ts; } return getPropertyOfObjectType(globalObjectType, name); } - if (type.flags & 393216 /* UnionOrIntersection */) { + if (type.flags & 786432 /* UnionOrIntersection */) { return getPropertyOfUnionOrIntersectionType(type, name); } return undefined; } function getSignaturesOfStructuredType(type, kind) { - if (type.flags & 458752 /* StructuredType */) { + if (type.flags & 917504 /* StructuredType */) { var resolved = resolveStructuredTypeMembers(type); return kind === 0 /* Call */ ? resolved.callSignatures : resolved.constructSignatures; } @@ -32934,7 +33095,7 @@ var ts; return getSignaturesOfStructuredType(getApparentType(type), kind); } function getIndexInfoOfStructuredType(type, kind) { - if (type.flags & 458752 /* StructuredType */) { + if (type.flags & 917504 /* StructuredType */) { var resolved = resolveStructuredTypeMembers(type); return kind === 0 /* String */ ? resolved.stringIndexInfo : resolved.numberIndexInfo; } @@ -32990,10 +33151,10 @@ var ts; function isJSDocOptionalParameter(node) { return ts.isInJavaScriptFile(node) && ( // node.type should only be a JSDocOptionalType when node is a parameter of a JSDocFunctionType - node.type && node.type.kind === 282 /* JSDocOptionalType */ + node.type && node.type.kind === 283 /* JSDocOptionalType */ || ts.getJSDocParameterTags(node).some(function (_a) { var isBracketed = _a.isBracketed, typeExpression = _a.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 282 /* JSDocOptionalType */; + return isBracketed || !!typeExpression && typeExpression.type.kind === 283 /* JSDocOptionalType */; })); } function tryFindAmbientModule(moduleName, withAugmentations) { @@ -33027,7 +33188,7 @@ var ts; return false; } var isBracketed = node.isBracketed, typeExpression = node.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 282 /* JSDocOptionalType */; + return isBracketed || !!typeExpression && typeExpression.type.kind === 283 /* JSDocOptionalType */; } function createTypePredicateFromTypePredicateNode(node) { var parameterName = node.parameterName; @@ -33061,14 +33222,6 @@ var ts; } return minTypeArgumentCount; } - /** - * Fill in default types for unsupplied type arguments. If `typeArguments` is undefined - * when a default type is supplied, a new array will be created and returned. - * - * @param typeArguments The supplied type arguments. - * @param typeParameters The requested type parameters. - * @param minTypeArgumentCount The minimum number of required type arguments. - */ function fillMissingTypeArguments(typeArguments, typeParameters, minTypeArgumentCount, isJavaScriptImplicitAny) { var numTypeParameters = ts.length(typeParameters); if (numTypeParameters) { @@ -33103,7 +33256,7 @@ var ts; var hasLiteralTypes = false; var minArgumentCount = 0; var thisParameter = void 0; - var hasThisParameter = void 0; + var hasThisParameter = false; var iife = ts.getImmediatelyInvokedFunctionExpression(declaration); var isJSConstructSignature = ts.isJSDocConstructSignature(declaration); var isUntypedSignatureInJSFile = !iife && @@ -33130,7 +33283,7 @@ var ts; else { parameters.push(paramSymbol); } - if (type && type.kind === 177 /* LiteralType */) { + if (type && type.kind === 178 /* LiteralType */) { hasLiteralTypes = true; } // Record a new minimum argument count if this is not an optional parameter @@ -33144,16 +33297,16 @@ var ts; } } // If only one accessor includes a this-type annotation, the other behaves as if it had the same type annotation - if ((declaration.kind === 155 /* GetAccessor */ || declaration.kind === 156 /* SetAccessor */) && + if ((declaration.kind === 156 /* GetAccessor */ || declaration.kind === 157 /* SetAccessor */) && !hasNonBindableDynamicName(declaration) && (!hasThisParameter || !thisParameter)) { - var otherKind = declaration.kind === 155 /* GetAccessor */ ? 156 /* SetAccessor */ : 155 /* GetAccessor */; + var otherKind = declaration.kind === 156 /* GetAccessor */ ? 157 /* SetAccessor */ : 156 /* GetAccessor */; var other = ts.getDeclarationOfKind(getSymbolOfNode(declaration), otherKind); if (other) { thisParameter = getAnnotatedAccessorThisParameter(other); } } - var classType = declaration.kind === 154 /* Constructor */ ? + var classType = declaration.kind === 155 /* Constructor */ ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(declaration.parent.symbol)) : undefined; var typeParameters = classType ? classType.localTypeParameters : getTypeParametersFromDeclaration(declaration); @@ -33190,7 +33343,7 @@ var ts; } function getSignatureReturnTypeFromDeclaration(declaration, isJSConstructSignature, classType) { if (isJSConstructSignature) { - return getTypeFromTypeNode(declaration.parameters[0].type); + return getTypeFromTypeNode(declaration.parameters[0].type); // TODO: GH#18217 } else if (classType) { return classType; @@ -33201,8 +33354,8 @@ var ts; } // TypeScript 1.0 spec (April 2014): // If only one accessor includes a type annotation, the other behaves as if it had the same type annotation. - if (declaration.kind === 155 /* GetAccessor */ && !hasNonBindableDynamicName(declaration)) { - var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 156 /* SetAccessor */); + if (declaration.kind === 156 /* GetAccessor */ && !hasNonBindableDynamicName(declaration)) { + var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 157 /* SetAccessor */); return getAnnotatedAccessorType(setter); } if (ts.nodeIsMissing(declaration.body)) { @@ -33226,14 +33379,14 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return node.escapedText === "arguments" && ts.isExpressionNode(node); - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - return node.name.kind === 146 /* ComputedPropertyName */ + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + return node.name.kind === 147 /* ComputedPropertyName */ && traverse(node.name); default: - return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && ts.forEachChild(node, traverse); + return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && !!ts.forEachChild(node, traverse); } } } @@ -33243,19 +33396,18 @@ var ts; var result = []; for (var i = 0; i < symbol.declarations.length; i++) { var decl = symbol.declarations[i]; - var node = ts.isPropertyAccessExpression(decl) ? ts.getAssignedJavascriptInitializer(decl) : decl; - if (!ts.isFunctionLike(node)) + if (!ts.isFunctionLike(decl)) continue; // Don't include signature if node is the implementation of an overloaded function. A node is considered // an implementation node if it has a body and the previous node is of the same kind and immediately // precedes the implementation node (i.e. has the same parent and ends where the implementation starts). - if (i > 0 && node.body) { + if (i > 0 && decl.body) { var previous = symbol.declarations[i - 1]; - if (node.parent === previous.parent && node.kind === previous.kind && node.pos === previous.end) { + if (decl.parent === previous.parent && decl.kind === previous.kind && decl.pos === previous.end) { continue; } } - result.push(getSignatureFromDeclaration(node)); + result.push(getSignatureFromDeclaration(decl)); } return result; } @@ -33288,7 +33440,7 @@ var ts; } else { var declaration = signature.declaration; - signature.resolvedTypePredicate = declaration && declaration.type && declaration.type.kind === 160 /* TypePredicate */ ? + signature.resolvedTypePredicate = declaration && declaration.type && declaration.type.kind === 161 /* TypePredicate */ ? createTypePredicateFromTypePredicateNode(declaration.type) : noTypePredicate; } @@ -33299,7 +33451,7 @@ var ts; function getReturnTypeOfSignature(signature) { if (!signature.resolvedReturnType) { if (!pushTypeResolution(signature, 3 /* ResolvedReturnType */)) { - return unknownType; + return errorType; } var type = void 0; if (signature.target) { @@ -33333,7 +33485,7 @@ var ts; } function getRestTypeOfSignature(signature) { if (signature.hasRestParameter) { - var type = getTypeOfSymbol(ts.lastOrUndefined(signature.parameters)); + var type = getTypeOfSymbol(ts.last(signature.parameters)); if (ts.getObjectFlags(type) & 4 /* Reference */ && type.target === globalArrayType) { return type.typeArguments[0]; } @@ -33394,7 +33546,7 @@ var ts; // object type literal or interface (using the new keyword). Each way of declaring a constructor // will result in a different declaration kind. if (!signature.isolatedSignatureType) { - var isConstructor = signature.declaration.kind === 154 /* Constructor */ || signature.declaration.kind === 158 /* ConstructSignature */; + var isConstructor = signature.declaration.kind === 155 /* Constructor */ || signature.declaration.kind === 159 /* ConstructSignature */; // TODO: GH#18217 var type = createObjectType(16 /* Anonymous */); type.members = emptySymbols; type.properties = ts.emptyArray; @@ -33435,7 +33587,7 @@ var ts; return undefined; } function getConstraintDeclaration(type) { - var decl = type.symbol && ts.getDeclarationOfKind(type.symbol, 147 /* TypeParameter */); + var decl = type.symbol && ts.getDeclarationOfKind(type.symbol, 148 /* TypeParameter */); return decl && decl.constraint; } function getInferredTypeParameterConstraint(typeParameter) { @@ -33447,7 +33599,7 @@ var ts; // (such as 'Foo'), T's constraint is inferred from the constraint of the // corresponding type parameter in 'Foo'. When multiple 'infer T' declarations are // present, we form an intersection of the inferred constraint types. - if (declaration.parent.kind === 171 /* InferType */ && declaration.parent.parent.kind === 161 /* TypeReference */) { + if (declaration.parent.kind === 172 /* InferType */ && declaration.parent.parent.kind === 162 /* TypeReference */) { var typeReference = declaration.parent.parent; var typeParameters = getTypeParametersForTypeReference(typeReference); if (typeParameters) { @@ -33489,7 +33641,7 @@ var ts; return typeParameter.constraint === noConstraintType ? undefined : typeParameter.constraint; } function getParentSymbolOfTypeParameter(typeParameter) { - return getSymbolOfNode(ts.getDeclarationOfKind(typeParameter.symbol, 147 /* TypeParameter */).parent); + return getSymbolOfNode(ts.getDeclarationOfKind(typeParameter.symbol, 148 /* TypeParameter */).parent); } function getTypeListId(types) { var result = ""; @@ -33526,7 +33678,7 @@ var ts; result |= type.flags; } } - return result & 117440512 /* PropagatingFlags */; + return result & 939524096 /* PropagatingFlags */; } function createTypeReference(target, typeArguments) { var id = getTypeListId(typeArguments); @@ -33563,7 +33715,7 @@ var ts; var isJs = ts.isInJavaScriptFile(node); var isJsImplicitAny = !noImplicitAny && isJs; if (!isJsImplicitAny && (numTypeArguments < minTypeArgumentCount || numTypeArguments > typeParameters.length)) { - var missingAugmentsTag = isJs && node.parent.kind !== 289 /* JSDocAugmentsTag */; + var missingAugmentsTag = isJs && node.parent.kind !== 290 /* JSDocAugmentsTag */; var diag = minTypeArgumentCount === typeParameters.length ? missingAugmentsTag ? ts.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag @@ -33575,7 +33727,7 @@ var ts; error(node, diag, typeStr, minTypeArgumentCount, typeParameters.length); if (!isJs) { // TODO: Adopt same permissive behavior in TS as in JS to reduce follow-on editing experience failures (requires editing fillMissingTypeArguments) - return unknownType; + return errorType; } } // In a type reference, the outer type parameters of the referenced class or interface are automatically @@ -33584,7 +33736,7 @@ var ts; var typeArguments = ts.concatenate(type.outerTypeParameters, fillMissingTypeArguments(typeArgs, typeParameters, minTypeArgumentCount, isJs)); return createTypeReference(type, typeArguments); } - return checkNoTypeArguments(node, symbol) ? type : unknownType; + return checkNoTypeArguments(node, symbol) ? type : errorType; } function getTypeAliasInstantiation(symbol, typeArguments) { var type = getDeclaredTypeOfSymbol(symbol); @@ -33612,17 +33764,17 @@ var ts; error(node, minTypeArgumentCount === typeParameters.length ? ts.Diagnostics.Generic_type_0_requires_1_type_argument_s : ts.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments, symbolToString(symbol), minTypeArgumentCount, typeParameters.length); - return unknownType; + return errorType; } return getTypeAliasInstantiation(symbol, typeArguments); } - return checkNoTypeArguments(node, symbol) ? type : unknownType; + return checkNoTypeArguments(node, symbol) ? type : errorType; } function getTypeReferenceName(node) { switch (node.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return node.typeName; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: // We only support expressions that are simple qualified names. For other // expressions this produces undefined. var expr = node.expression; @@ -33642,7 +33794,7 @@ var ts; function getTypeReferenceType(node, symbol) { var typeArguments = typeArgumentsFromTypeReferenceNode(node); // Do unconditionally so we mark type arguments as referenced. if (symbol === unknownSymbol) { - return unknownType; + return errorType; } var type = getTypeReferenceTypeWorker(node, symbol, typeArguments); if (type) { @@ -33652,11 +33804,11 @@ var ts; var res = tryGetDeclaredTypeOfSymbol(symbol); if (res) { return checkNoTypeArguments(node, symbol) ? - res.flags & 32768 /* TypeParameter */ ? getConstrainedTypeVariable(res, node) : res : - unknownType; + res.flags & 65536 /* TypeParameter */ ? getConstrainedTypeVariable(res, node) : res : + errorType; } if (!(symbol.flags & 67216319 /* Value */ && isJSDocTypeReference(node))) { - return unknownType; + return errorType; } var jsdocType = getJSDocTypeReference(node, symbol, typeArguments); if (jsdocType) { @@ -33676,7 +33828,8 @@ var ts; var valueType = getTypeOfSymbol(symbol); var referenceType = valueType.symbol && valueType.symbol !== symbol && !isInferredClassType(valueType) && getTypeReferenceTypeWorker(node, valueType.symbol, typeArguments); if (referenceType || assignedType) { - return referenceType && assignedType ? getIntersectionType([assignedType, referenceType]) : referenceType || assignedType; + // TODO: GH#18217 (should the `|| assignedType` be at a lower precedence?) + return (referenceType && assignedType ? getIntersectionType([assignedType, referenceType]) : referenceType || assignedType); } } function getTypeReferenceTypeWorker(node, symbol, typeArguments) { @@ -33699,13 +33852,13 @@ var ts; } } function getSubstitutionType(typeVariable, substitute) { - var result = createType(4194304 /* Substitution */); + var result = createType(8388608 /* Substitution */); result.typeVariable = typeVariable; result.substitute = substitute; return result; } function isUnaryTupleTypeNode(node) { - return node.kind === 167 /* TupleType */ && node.elementTypes.length === 1; + return node.kind === 168 /* TupleType */ && node.elementTypes.length === 1; } function getImpliedConstraint(typeVariable, checkNode, extendsNode) { return isUnaryTupleTypeNode(checkNode) && isUnaryTupleTypeNode(extendsNode) ? getImpliedConstraint(typeVariable, checkNode.elementTypes[0], extendsNode.elementTypes[0]) : @@ -33714,9 +33867,9 @@ var ts; } function getConstrainedTypeVariable(typeVariable, node) { var constraints; - while (node && !ts.isStatement(node) && node.kind !== 285 /* JSDocComment */) { + while (node && !ts.isStatement(node) && node.kind !== 286 /* JSDocComment */) { var parent = node.parent; - if (parent.kind === 170 /* ConditionalType */ && node === parent.trueType) { + if (parent.kind === 171 /* ConditionalType */ && node === parent.trueType) { var constraint = getImpliedConstraint(typeVariable, parent.checkType, parent.extendsType); if (constraint) { constraints = ts.append(constraints, constraint); @@ -33727,7 +33880,7 @@ var ts; return constraints ? getSubstitutionType(typeVariable, getIntersectionType(ts.append(constraints, typeVariable))) : typeVariable; } function isJSDocTypeReference(node) { - return node.flags & 2097152 /* JSDoc */ && node.kind === 161 /* TypeReference */; + return !!(node.flags & 2097152 /* JSDoc */) && node.kind === 162 /* TypeReference */; } function checkNoTypeArguments(node, symbol) { if (node.typeArguments) { @@ -33774,7 +33927,7 @@ var ts; var indexed = getTypeFromTypeNode(typeArgs[0]); var target = getTypeFromTypeNode(typeArgs[1]); var index = createIndexInfo(target, /*isReadonly*/ false); - return createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, indexed === stringType && index, indexed === numberType && index); + return createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, indexed === stringType ? index : undefined, indexed === numberType ? index : undefined); } return anyType; } @@ -33785,7 +33938,7 @@ var ts; } function getTypeFromJSDocNullableTypeNode(node) { var type = getTypeFromTypeNode(node.type); - return strictNullChecks ? getNullableType(type, 8192 /* Null */) : type; + return strictNullChecks ? getNullableType(type, 16384 /* Null */) : type; } function getTypeFromTypeReference(node) { var links = getNodeLinks(node); @@ -33828,9 +33981,9 @@ var ts; for (var _i = 0, declarations_3 = declarations; _i < declarations_3.length; _i++) { var declaration = declarations_3[_i]; switch (declaration.kind) { - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: return declaration; } } @@ -33839,7 +33992,7 @@ var ts; return arity ? emptyGenericType : emptyObjectType; } var type = getDeclaredTypeOfSymbol(symbol); - if (!(type.flags & 65536 /* Object */)) { + if (!(type.flags & 131072 /* Object */)) { error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, ts.symbolName(symbol)); return arity ? emptyGenericType : emptyObjectType; } @@ -33911,7 +34064,7 @@ var ts; return symbol && getTypeOfGlobalSymbol(symbol, arity); } function getGlobalExtractSymbol() { - return deferredGlobalExtractSymbol || (deferredGlobalExtractSymbol = getGlobalSymbol("Extract", 524288 /* TypeAlias */, ts.Diagnostics.Cannot_find_global_type_0)); + return deferredGlobalExtractSymbol || (deferredGlobalExtractSymbol = getGlobalSymbol("Extract", 524288 /* TypeAlias */, ts.Diagnostics.Cannot_find_global_type_0)); // TODO: GH#18217 } /** * Instantiates a global type that is generic with some element type, and returns that instantiation. @@ -33955,7 +34108,7 @@ var ts; var typeParameters = []; var properties = []; for (var i = 0; i < arity; i++) { - var typeParameter = createType(32768 /* TypeParameter */); + var typeParameter = createType(65536 /* TypeParameter */); typeParameters.push(typeParameter); var property = createSymbol(4 /* Property */, "" + i); property.type = typeParameter; @@ -33972,7 +34125,7 @@ var ts; type.instantiations.set(getTypeListId(type.typeParameters), type); type.target = type; type.typeArguments = type.typeParameters; - type.thisType = createType(32768 /* TypeParameter */); + type.thisType = createType(65536 /* TypeParameter */); type.thisType.isThisType = true; type.thisType.constraint = type; type.declaredProperties = properties; @@ -34013,16 +34166,16 @@ var ts; var combined = 0; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 13536 /* Unit */ && combined & 13536 /* Unit */) { + if (t.flags & 27072 /* Unit */ && combined & 27072 /* Unit */) { return true; } combined |= t.flags; - if (combined & 12288 /* Nullable */ && combined & (65536 /* Object */ | 134217728 /* NonPrimitive */) || - combined & 134217728 /* NonPrimitive */ && combined & (134233854 /* DisjointDomains */ & ~134217728 /* NonPrimitive */) || - combined & 34 /* StringLike */ && combined & (134233854 /* DisjointDomains */ & ~34 /* StringLike */) || - combined & 84 /* NumberLike */ && combined & (134233854 /* DisjointDomains */ & ~84 /* NumberLike */) || - combined & 1536 /* ESSymbolLike */ && combined & (134233854 /* DisjointDomains */ & ~1536 /* ESSymbolLike */) || - combined & 6144 /* VoidLike */ && combined & (134233854 /* DisjointDomains */ & ~6144 /* VoidLike */)) { + if (combined & 24576 /* Nullable */ && combined & (131072 /* Object */ | 16777216 /* NonPrimitive */) || + combined & 16777216 /* NonPrimitive */ && combined & (16809468 /* DisjointDomains */ & ~16777216 /* NonPrimitive */) || + combined & 68 /* StringLike */ && combined & (16809468 /* DisjointDomains */ & ~68 /* StringLike */) || + combined & 168 /* NumberLike */ && combined & (16809468 /* DisjointDomains */ & ~168 /* NumberLike */) || + combined & 3072 /* ESSymbolLike */ && combined & (16809468 /* DisjointDomains */ & ~3072 /* ESSymbolLike */) || + combined & 12288 /* VoidLike */ && combined & (16809468 /* DisjointDomains */ & ~12288 /* VoidLike */)) { return true; } } @@ -34030,28 +34183,28 @@ var ts; } function addTypeToUnion(typeSet, includes, type) { var flags = type.flags; - if (flags & 131072 /* Union */) { + if (flags & 262144 /* Union */) { return addTypesToUnion(typeSet, includes, type.types); } // We ignore 'never' types in unions. Likewise, we ignore intersections of unit types as they are // another form of 'never' (in that they have an empty value domain). We could in theory turn // intersections of unit types into 'never' upon construction, but deferring the reduction makes it // easier to reason about their origin. - if (!(flags & 16384 /* Never */ || flags & 262144 /* Intersection */ && isEmptyIntersectionType(type))) { - includes |= flags & ~117440512 /* ConstructionFlags */; - if (flags & 1 /* Any */) { + if (!(flags & 32768 /* Never */ || flags & 524288 /* Intersection */ && isEmptyIntersectionType(type))) { + includes |= flags & ~939524096 /* ConstructionFlags */; + if (flags & 3 /* AnyOrUnknown */) { if (type === wildcardType) - includes |= 33554432 /* Wildcard */; + includes |= 268435456 /* Wildcard */; } - else if (!strictNullChecks && flags & 12288 /* Nullable */) { - if (!(flags & 16777216 /* ContainsWideningType */)) - includes |= 16777216 /* NonWideningType */; + else if (!strictNullChecks && flags & 24576 /* Nullable */) { + if (!(flags & 134217728 /* ContainsWideningType */)) + includes |= 134217728 /* NonWideningType */; } else { var len = typeSet.length; var index = len && type.id > typeSet[len - 1].id ? ~len : ts.binarySearch(typeSet, type, getTypeId, ts.compareValues); if (index < 0) { - if (!(flags & 65536 /* Object */ && type.objectFlags & 16 /* Anonymous */ && + if (!(flags & 131072 /* Object */ && type.objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */) && containsIdenticalType(typeSet, type))) { typeSet.splice(~index, 0, type); } @@ -34091,11 +34244,11 @@ var ts; } function isSetOfLiteralsFromSameEnum(types) { var first = types[0]; - if (first.flags & 256 /* EnumLiteral */) { + if (first.flags & 512 /* EnumLiteral */) { var firstEnum = getParentOfSymbol(first.symbol); for (var i = 1; i < types.length; i++) { var other = types[i]; - if (!(other.flags & 256 /* EnumLiteral */) || (firstEnum !== getParentOfSymbol(other.symbol))) { + if (!(other.flags & 512 /* EnumLiteral */) || (firstEnum !== getParentOfSymbol(other.symbol))) { return false; } } @@ -34120,10 +34273,10 @@ var ts; while (i > 0) { i--; var t = types[i]; - var remove = t.flags & 32 /* StringLiteral */ && includes & 2 /* String */ || - t.flags & 64 /* NumberLiteral */ && includes & 4 /* Number */ || - t.flags & 1024 /* UniqueESSymbol */ && includes & 512 /* ESSymbol */ || - t.flags & 96 /* StringOrNumberLiteral */ && t.flags & 8388608 /* FreshLiteral */ && containsType(types, t.regularType); + var remove = t.flags & 64 /* StringLiteral */ && includes & 4 /* String */ || + t.flags & 128 /* NumberLiteral */ && includes & 8 /* Number */ || + t.flags & 2048 /* UniqueESSymbol */ && includes & 1024 /* ESSymbol */ || + t.flags & 192 /* StringOrNumberLiteral */ && t.flags & 33554432 /* FreshLiteral */ && containsType(types, t.regularType); if (remove) { ts.orderedRemoveItemAt(types, i); } @@ -34146,12 +34299,12 @@ var ts; } var typeSet = []; var includes = addTypesToUnion(typeSet, 0, types); - if (includes & 1 /* Any */) { - return includes & 33554432 /* Wildcard */ ? wildcardType : anyType; + if (includes & 3 /* AnyOrUnknown */) { + return includes & 1 /* Any */ ? includes & 268435456 /* Wildcard */ ? wildcardType : anyType : unknownType; } switch (unionReduction) { case 1 /* Literal */: - if (includes & 1120 /* StringOrNumberLiteralOrUnique */) { + if (includes & 2240 /* StringOrNumberLiteralOrUnique */) { removeRedundantLiteralTypes(typeSet, includes); } break; @@ -34160,11 +34313,11 @@ var ts; break; } if (typeSet.length === 0) { - return includes & 8192 /* Null */ ? includes & 16777216 /* NonWideningType */ ? nullType : nullWideningType : - includes & 4096 /* Undefined */ ? includes & 16777216 /* NonWideningType */ ? undefinedType : undefinedWideningType : + return includes & 16384 /* Null */ ? includes & 134217728 /* NonWideningType */ ? nullType : nullWideningType : + includes & 8192 /* Undefined */ ? includes & 134217728 /* NonWideningType */ ? undefinedType : undefinedWideningType : neverType; } - return getUnionTypeFromSortedList(typeSet, includes & 8374815 /* NotUnit */ ? 0 : 268435456 /* UnionOfUnitTypes */, aliasSymbol, aliasTypeArguments); + return getUnionTypeFromSortedList(typeSet, includes & 16749629 /* NotUnit */ ? 0 : 67108864 /* UnionOfUnitTypes */, aliasSymbol, aliasTypeArguments); } function getUnionTypePredicate(signatures) { var first; @@ -34211,8 +34364,8 @@ var ts; var id = getTypeListId(types); var type = unionTypes.get(id); if (!type) { - var propagatedFlags = getPropagatingFlagsOfTypes(types, /*excludeKinds*/ 12288 /* Nullable */); - type = createType(131072 /* Union */ | propagatedFlags | unionOfUnitTypes); + var propagatedFlags = getPropagatingFlagsOfTypes(types, /*excludeKinds*/ 24576 /* Nullable */); + type = createType(262144 /* Union */ | propagatedFlags | unionOfUnitTypes); unionTypes.set(id, type); type.types = types; /* @@ -34236,20 +34389,20 @@ var ts; } function addTypeToIntersection(typeSet, includes, type) { var flags = type.flags; - if (flags & 262144 /* Intersection */) { + if (flags & 524288 /* Intersection */) { return addTypesToIntersection(typeSet, includes, type.types); } if (ts.getObjectFlags(type) & 16 /* Anonymous */ && isEmptyObjectType(type)) { - includes |= 67108864 /* EmptyObject */; + includes |= 536870912 /* EmptyObject */; } else { - includes |= flags & ~117440512 /* ConstructionFlags */; - if (flags & 1 /* Any */) { + includes |= flags & ~939524096 /* ConstructionFlags */; + if (flags & 3 /* AnyOrUnknown */) { if (type === wildcardType) - includes |= 33554432 /* Wildcard */; + includes |= 268435456 /* Wildcard */; } - else if ((strictNullChecks || !(flags & 12288 /* Nullable */)) && !ts.contains(typeSet, type) && - !(flags & 65536 /* Object */ && type.objectFlags & 16 /* Anonymous */ && + else if ((strictNullChecks || !(flags & 24576 /* Nullable */)) && !ts.contains(typeSet, type) && + !(flags & 131072 /* Object */ && type.objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */) && containsIdenticalType(typeSet, type))) { typeSet.push(type); @@ -34271,9 +34424,9 @@ var ts; while (i > 0) { i--; var t = types[i]; - var remove = t.flags & 2 /* String */ && includes & 32 /* StringLiteral */ || - t.flags & 4 /* Number */ && includes & 64 /* NumberLiteral */ || - t.flags & 512 /* ESSymbol */ && includes & 1024 /* UniqueESSymbol */; + var remove = t.flags & 4 /* String */ && includes & 64 /* StringLiteral */ || + t.flags & 8 /* Number */ && includes & 128 /* NumberLiteral */ || + t.flags & 1024 /* ESSymbol */ && includes & 2048 /* UniqueESSymbol */; if (remove) { ts.orderedRemoveItemAt(types, i); } @@ -34283,13 +34436,13 @@ var ts; // Here we remove all unions of unit types from the given list and replace them with a // a single union containing an intersection of the unit types. function intersectUnionsOfUnitTypes(types) { - var unionIndex = ts.findIndex(types, function (t) { return (t.flags & 268435456 /* UnionOfUnitTypes */) !== 0; }); + var unionIndex = ts.findIndex(types, function (t) { return (t.flags & 67108864 /* UnionOfUnitTypes */) !== 0; }); var unionType = types[unionIndex]; var intersection = unionType.types; var i = types.length - 1; var _loop_5 = function () { var t = types[i]; - if (t.flags & 268435456 /* UnionOfUnitTypes */) { + if (t.flags & 67108864 /* UnionOfUnitTypes */) { intersection = ts.filter(intersection, function (u) { return containsType(t.types, u); }); ts.orderedRemoveItemAt(types, i); } @@ -34301,7 +34454,7 @@ var ts; if (intersection === unionType.types) { return false; } - types[unionIndex] = getUnionTypeFromSortedList(intersection, unionType.flags & 268435456 /* UnionOfUnitTypes */); + types[unionIndex] = getUnionTypeFromSortedList(intersection, unionType.flags & 67108864 /* UnionOfUnitTypes */); return true; } // We normalize combinations of intersection and union types based on the distributive property of the '&' @@ -34315,30 +34468,33 @@ var ts; // Also, unlike union types, the order of the constituent types is preserved in order that overload resolution // for intersections of types with signatures can be deterministic. function getIntersectionType(types, aliasSymbol, aliasTypeArguments) { - if (types.length === 0) { - return emptyObjectType; - } var typeSet = []; var includes = addTypesToIntersection(typeSet, 0, types); - if (includes & 16384 /* Never */) { + if (includes & 32768 /* Never */) { return neverType; } if (includes & 1 /* Any */) { - return includes & 33554432 /* Wildcard */ ? wildcardType : anyType; + return includes & 268435456 /* Wildcard */ ? wildcardType : anyType; } - if (includes & 2 /* String */ && includes & 32 /* StringLiteral */ || - includes & 4 /* Number */ && includes & 64 /* NumberLiteral */ || - includes & 512 /* ESSymbol */ && includes & 1024 /* UniqueESSymbol */) { + if (!strictNullChecks && includes & 24576 /* Nullable */) { + return includes & 8192 /* Undefined */ ? undefinedType : nullType; + } + if (includes & 4 /* String */ && includes & 64 /* StringLiteral */ || + includes & 8 /* Number */ && includes & 128 /* NumberLiteral */ || + includes & 1024 /* ESSymbol */ && includes & 2048 /* UniqueESSymbol */) { removeRedundantPrimitiveTypes(typeSet, includes); } - if (includes & 67108864 /* EmptyObject */ && !(includes & 65536 /* Object */)) { + if (includes & 536870912 /* EmptyObject */ && !(includes & 131072 /* Object */)) { typeSet.push(emptyObjectType); } + if (typeSet.length === 0) { + return unknownType; + } if (typeSet.length === 1) { return typeSet[0]; } - if (includes & 131072 /* Union */) { - if (includes & 268435456 /* UnionOfUnitTypes */ && intersectUnionsOfUnitTypes(typeSet)) { + if (includes & 262144 /* Union */) { + if (includes & 67108864 /* UnionOfUnitTypes */ && intersectUnionsOfUnitTypes(typeSet)) { // When the intersection creates a reduced set (which might mean that *all* union types have // disappeared), we restart the operation to get a new set of combined flags. Once we have // reduced we'll never reduce again, so this occurs at most once. @@ -34346,15 +34502,15 @@ var ts; } // We are attempting to construct a type of the form X & (A | B) & Y. Transform this into a type of // the form X & A & Y | X & B & Y and recursively reduce until no union type constituents remain. - var unionIndex_1 = ts.findIndex(typeSet, function (t) { return (t.flags & 131072 /* Union */) !== 0; }); + var unionIndex_1 = ts.findIndex(typeSet, function (t) { return (t.flags & 262144 /* Union */) !== 0; }); var unionType = typeSet[unionIndex_1]; return getUnionType(ts.map(unionType.types, function (t) { return getIntersectionType(ts.replaceElement(typeSet, unionIndex_1, t)); }), 1 /* Literal */, aliasSymbol, aliasTypeArguments); } var id = getTypeListId(typeSet); var type = intersectionTypes.get(id); if (!type) { - var propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ 12288 /* Nullable */); - type = createType(262144 /* Intersection */ | propagatedFlags); + var propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ 24576 /* Nullable */); + type = createType(524288 /* Intersection */ | propagatedFlags); intersectionTypes.set(id, type); type.types = typeSet; type.aliasSymbol = aliasSymbol; // See comment in `getUnionTypeFromSortedList`. @@ -34371,7 +34527,7 @@ var ts; return links.resolvedType; } function createIndexType(type, stringsOnly) { - var result = createType(524288 /* Index */); + var result = createType(1048576 /* Index */); result.type = type; result.stringsOnly = stringsOnly; return result; @@ -34387,7 +34543,7 @@ var ts; if (!type && !ts.isKnownSymbol(prop)) { var name = ts.getNameOfDeclaration(prop.valueDeclaration); type = name && ts.isNumericLiteral(name) ? getLiteralType(+name.text) : - name && name.kind === 146 /* ComputedPropertyName */ && ts.isNumericLiteral(name.expression) ? getLiteralType(+name.expression.text) : + name && name.kind === 147 /* ComputedPropertyName */ && ts.isNumericLiteral(name.expression) ? getLiteralType(+name.expression.text) : getLiteralType(ts.symbolName(prop)); } if (type && type.flags & include) { @@ -34405,16 +34561,16 @@ var ts; } function getIndexType(type, stringsOnly) { if (stringsOnly === void 0) { stringsOnly = keyofStringsOnly; } - return type.flags & 131072 /* Union */ ? getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : - type.flags & 262144 /* Intersection */ ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : - maybeTypeOfKind(type, 7372800 /* InstantiableNonPrimitive */) ? getIndexTypeForGenericType(type, stringsOnly) : + return type.flags & 262144 /* Union */ ? getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : + type.flags & 524288 /* Intersection */ ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : + maybeTypeOfKind(type, 14745600 /* InstantiableNonPrimitive */) ? getIndexTypeForGenericType(type, stringsOnly) : ts.getObjectFlags(type) & 32 /* Mapped */ ? getConstraintTypeFromMappedType(type) : type === wildcardType ? wildcardType : type.flags & 1 /* Any */ ? keyofConstraintType : - stringsOnly ? getIndexInfoOfType(type, 0 /* String */) ? stringType : getLiteralTypeFromPropertyNames(type, 32 /* StringLiteral */) : - getIndexInfoOfType(type, 0 /* String */) ? getUnionType([stringType, numberType, getLiteralTypeFromPropertyNames(type, 1024 /* UniqueESSymbol */)]) : - getNonEnumNumberIndexInfo(type) ? getUnionType([numberType, getLiteralTypeFromPropertyNames(type, 32 /* StringLiteral */ | 1024 /* UniqueESSymbol */)]) : - getLiteralTypeFromPropertyNames(type, 1120 /* StringOrNumberLiteralOrUnique */); + stringsOnly ? getIndexInfoOfType(type, 0 /* String */) ? stringType : getLiteralTypeFromPropertyNames(type, 64 /* StringLiteral */) : + getIndexInfoOfType(type, 0 /* String */) ? getUnionType([stringType, numberType, getLiteralTypeFromPropertyNames(type, 2048 /* UniqueESSymbol */)]) : + getNonEnumNumberIndexInfo(type) ? getUnionType([numberType, getLiteralTypeFromPropertyNames(type, 64 /* StringLiteral */ | 2048 /* UniqueESSymbol */)]) : + getLiteralTypeFromPropertyNames(type, 2240 /* StringOrNumberLiteralOrUnique */); } function getExtractStringType(type) { if (keyofStringsOnly) { @@ -34425,7 +34581,7 @@ var ts; } function getIndexTypeOrString(type) { var indexType = getExtractStringType(getIndexType(type)); - return indexType.flags & 16384 /* Never */ ? stringType : indexType; + return indexType.flags & 32768 /* Never */ ? stringType : indexType; } function getTypeFromTypeOperatorNode(node) { var links = getNodeLinks(node); @@ -34437,20 +34593,20 @@ var ts; case 141 /* UniqueKeyword */: links.resolvedType = node.type.kind === 138 /* SymbolKeyword */ ? getESSymbolLikeTypeForNode(ts.walkUpParenthesizedTypes(node.parent)) - : unknownType; + : errorType; break; } } - return links.resolvedType; + return links.resolvedType; // TODO: GH#18217 } function createIndexedAccessType(objectType, indexType) { - var type = createType(1048576 /* IndexedAccess */); + var type = createType(2097152 /* IndexedAccess */); type.objectType = objectType; type.indexType = indexType; return type; } function getPropertyTypeForIndexType(objectType, indexType, accessNode, cacheSymbol) { - var accessExpression = accessNode && accessNode.kind === 185 /* ElementAccessExpression */ ? accessNode : undefined; + var accessExpression = accessNode && accessNode.kind === 186 /* ElementAccessExpression */ ? accessNode : undefined; var propName = isTypeUsableAsLateBoundName(indexType) ? getLateBoundNameFromType(indexType) : accessExpression && checkThatExpressionIsProperSymbolReference(accessExpression.argumentExpression, indexType, /*reportError*/ false) ? ts.getPropertyNameForKnownSymbolName(ts.idText(accessExpression.argumentExpression.name)) : @@ -34462,7 +34618,7 @@ var ts; markPropertyAsReferenced(prop, accessExpression, /*isThisAccess*/ accessExpression.expression.kind === 99 /* ThisKeyword */); if (ts.isAssignmentTarget(accessExpression) && (isReferenceToReadonlyEntity(accessExpression, prop) || isReferenceThroughNamespaceImport(accessExpression))) { error(accessExpression.argumentExpression, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, symbolToString(prop)); - return unknownType; + return errorType; } if (cacheSymbol) { getNodeLinks(accessNode).resolvedSymbol = prop; @@ -34471,16 +34627,16 @@ var ts; return getTypeOfSymbol(prop); } } - if (!(indexType.flags & 12288 /* Nullable */) && isTypeAssignableToKind(indexType, 34 /* StringLike */ | 84 /* NumberLike */ | 1536 /* ESSymbolLike */)) { + if (!(indexType.flags & 24576 /* Nullable */) && isTypeAssignableToKind(indexType, 68 /* StringLike */ | 168 /* NumberLike */ | 3072 /* ESSymbolLike */)) { if (isTypeAny(objectType)) { return objectType; } - var indexInfo = isTypeAssignableToKind(indexType, 84 /* NumberLike */) && getIndexInfoOfType(objectType, 1 /* Number */) || + var indexInfo = isTypeAssignableToKind(indexType, 168 /* NumberLike */) && getIndexInfoOfType(objectType, 1 /* Number */) || getIndexInfoOfType(objectType, 0 /* String */) || undefined; if (indexInfo) { - if (accessNode && !isTypeAssignableToKind(indexType, 2 /* String */ | 4 /* Number */)) { - var indexNode = accessNode.kind === 185 /* ElementAccessExpression */ ? accessNode.argumentExpression : accessNode.indexType; + if (accessNode && !isTypeAssignableToKind(indexType, 4 /* String */ | 8 /* Number */)) { + var indexNode = accessNode.kind === 186 /* ElementAccessExpression */ ? accessNode.argumentExpression : accessNode.indexType; error(indexNode, ts.Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeToString(indexType)); } else if (accessExpression && indexInfo.isReadonly && (ts.isAssignmentTarget(accessExpression) || ts.isDeleteTarget(accessExpression))) { @@ -34488,7 +34644,7 @@ var ts; } return indexInfo.type; } - if (indexType.flags & 16384 /* Never */) { + if (indexType.flags & 32768 /* Never */) { return neverType; } if (accessExpression && !isConstEnumObjectType(objectType)) { @@ -34504,41 +34660,41 @@ var ts; } } if (accessNode) { - var indexNode = accessNode.kind === 185 /* ElementAccessExpression */ ? accessNode.argumentExpression : accessNode.indexType; - if (indexType.flags & (32 /* StringLiteral */ | 64 /* NumberLiteral */)) { + var indexNode = accessNode.kind === 186 /* ElementAccessExpression */ ? accessNode.argumentExpression : accessNode.indexType; + if (indexType.flags & (64 /* StringLiteral */ | 128 /* NumberLiteral */)) { error(indexNode, ts.Diagnostics.Property_0_does_not_exist_on_type_1, "" + indexType.value, typeToString(objectType)); } - else if (indexType.flags & (2 /* String */ | 4 /* Number */)) { + else if (indexType.flags & (4 /* String */ | 8 /* Number */)) { error(indexNode, ts.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1, typeToString(objectType), typeToString(indexType)); } else { error(indexNode, ts.Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeToString(indexType)); } } - return unknownType; + return errorType; } function isGenericObjectType(type) { - return maybeTypeOfKind(type, 7372800 /* InstantiableNonPrimitive */ | 536870912 /* GenericMappedType */); + return maybeTypeOfKind(type, 14745600 /* InstantiableNonPrimitive */ | 134217728 /* GenericMappedType */); } function isGenericIndexType(type) { - return maybeTypeOfKind(type, 7372800 /* InstantiableNonPrimitive */ | 524288 /* Index */); + return maybeTypeOfKind(type, 14745600 /* InstantiableNonPrimitive */ | 1048576 /* Index */); } // Return true if the given type is a non-generic object type with a string index signature and no // other members. function isStringIndexOnlyType(type) { - if (type.flags & 65536 /* Object */ && !isGenericMappedType(type)) { + if (type.flags & 131072 /* Object */ && !isGenericMappedType(type)) { var t = resolveStructuredTypeMembers(type); return t.properties.length === 0 && t.callSignatures.length === 0 && t.constructSignatures.length === 0 && - t.stringIndexInfo && !t.numberIndexInfo; + !!t.stringIndexInfo && !t.numberIndexInfo; } return false; } function isMappedTypeToNever(type) { - return ts.getObjectFlags(type) & 32 /* Mapped */ && getTemplateTypeFromMappedType(type) === neverType; + return !!(ts.getObjectFlags(type) & 32 /* Mapped */) && getTemplateTypeFromMappedType(type) === neverType; } function getSimplifiedType(type) { - return type.flags & 1048576 /* IndexedAccess */ ? getSimplifiedIndexedAccessType(type) : type; + return type.flags & 2097152 /* IndexedAccess */ ? getSimplifiedIndexedAccessType(type) : type; } // Transform an indexed access to a simpler form, if possible. Return the simpler form, or return // the type itself if no transformation is possible. @@ -34547,8 +34703,10 @@ var ts; return type.simplified === circularConstraintType ? type : type.simplified; } type.simplified = circularConstraintType; - var objectType = type.objectType; - if (objectType.flags & 262144 /* Intersection */ && isGenericObjectType(objectType)) { + // We recursively simplify the object type as it may in turn be an indexed access type. For example, with + // '{ [P in T]: { [Q in U]: number } }[T][U]' we want to first simplify the inner indexed access type. + var objectType = getSimplifiedType(type.objectType); + if (objectType.flags & 524288 /* Intersection */ && isGenericObjectType(objectType)) { // Given an indexed access type T[K], if T is an intersection containing one or more generic types and one or // more object types with only a string index signature, e.g. '(U & V & { [x: string]: D })[K]', return a // transformed type of the form '(U & V)[K] | D'. This allows us to properly reason about higher order indexed @@ -34586,7 +34744,7 @@ var ts; if (isGenericMappedType(objectType)) { return type.simplified = substituteIndexedMappedType(objectType, type); } - if (objectType.flags & 32768 /* TypeParameter */) { + if (objectType.flags & 65536 /* TypeParameter */) { var constraint = getConstraintFromTypeParameter(objectType); if (constraint && isGenericMappedType(constraint)) { return type.simplified = substituteIndexedMappedType(constraint, type); @@ -34608,8 +34766,8 @@ var ts; // object type. Note that for a generic T and a non-generic K, we eagerly resolve T[K] if it originates in // an expression. This is to preserve backwards compatibility. For example, an element access 'this["foo"]' // has always been resolved eagerly using the constraint type of 'this' at the given location. - if (isGenericIndexType(indexType) || !(accessNode && accessNode.kind === 185 /* ElementAccessExpression */) && isGenericObjectType(objectType)) { - if (objectType.flags & 1 /* Any */) { + if (isGenericIndexType(indexType) || !(accessNode && accessNode.kind === 186 /* ElementAccessExpression */) && isGenericObjectType(objectType)) { + if (objectType.flags & 3 /* AnyOrUnknown */) { return objectType; } // Defer the operation by creating an indexed access type. @@ -34624,13 +34782,13 @@ var ts; // We treat boolean as different from other unions to improve errors; // skipping straight to getPropertyTypeForIndexType gives errors with 'boolean' instead of 'true'. var apparentObjectType = getApparentType(objectType); - if (indexType.flags & 131072 /* Union */ && !(indexType.flags & 8 /* Boolean */)) { + if (indexType.flags & 262144 /* Union */ && !(indexType.flags & 16 /* Boolean */)) { var propTypes = []; for (var _i = 0, _a = indexType.types; _i < _a.length; _i++) { var t = _a[_i]; var propType = getPropertyTypeForIndexType(apparentObjectType, t, accessNode, /*cacheSymbol*/ false); - if (propType === unknownType) { - return unknownType; + if (propType === errorType) { + return errorType; } propTypes.push(propType); } @@ -34644,7 +34802,7 @@ var ts; var objectType = getTypeFromTypeNode(node.objectType); var indexType = getTypeFromTypeNode(node.indexType); var resolved = getIndexedAccessType(objectType, indexType, node); - links.resolvedType = resolved.flags & 1048576 /* IndexedAccess */ && + links.resolvedType = resolved.flags & 2097152 /* IndexedAccess */ && resolved.objectType === objectType && resolved.indexType === indexType ? getConstrainedTypeVariable(resolved, node) : resolved; @@ -34666,7 +34824,7 @@ var ts; return links.resolvedType; } function getActualTypeVariable(type) { - return type.flags & 4194304 /* Substitution */ ? type.typeVariable : type; + return type.flags & 8388608 /* Substitution */ ? type.typeVariable : type; } function getConditionalType(root, mapper) { var checkType = instantiateType(root.checkType, mapper); @@ -34677,7 +34835,7 @@ var ts; // If this is a distributive conditional type and the check type is generic we need to defer // resolution of the conditional type such that a later instantiation will properly distribute // over union types. - var isDeferred = root.isDistributive && maybeTypeOfKind(checkType, 7897088 /* Instantiable */); + var isDeferred = root.isDistributive && maybeTypeOfKind(checkType, 15794176 /* Instantiable */); var combinedMapper; if (root.inferTypeParameters) { var context_1 = createInferenceContext(root.inferTypeParameters, /*signature*/ undefined, 0 /* None */); @@ -34690,6 +34848,9 @@ var ts; combinedMapper = combineTypeMappers(mapper, context_1); } if (!isDeferred) { + if (extendsType.flags & 3 /* AnyOrUnknown */) { + return instantiateType(root.trueType, mapper); + } // Return union of trueType and falseType for 'any' since it matches anything if (checkType.flags & 1 /* Any */) { return getUnionType([instantiateType(root.trueType, combinedMapper || mapper), instantiateType(root.falseType, mapper)]); @@ -34713,14 +34874,14 @@ var ts; } // Return a deferred type for a check that is neither definitely true nor definitely false var erasedCheckType = getActualTypeVariable(checkType); - var result = createType(2097152 /* Conditional */); + var result = createType(4194304 /* Conditional */); result.root = root; result.checkType = erasedCheckType; result.extendsType = extendsType; result.mapper = mapper; result.combinedMapper = combinedMapper; result.aliasSymbol = root.aliasSymbol; - result.aliasTypeArguments = instantiateTypes(root.aliasTypeArguments, mapper); + result.aliasTypeArguments = instantiateTypes(root.aliasTypeArguments, mapper); // TODO: GH#18217 return result; } function getTrueTypeFromConditionalType(type) { @@ -34745,7 +34906,7 @@ var ts; return true; } while (node) { - if (node.kind === 170 /* ConditionalType */) { + if (node.kind === 171 /* ConditionalType */) { if (isTypeParameterPossiblyReferenced(tp, node.extendsType)) { return true; } @@ -34768,7 +34929,7 @@ var ts; extendsType: getTypeFromTypeNode(node.extendsType), trueType: getTypeFromTypeNode(node.trueType), falseType: getTypeFromTypeNode(node.falseType), - isDistributive: !!(checkType.flags & 32768 /* TypeParameter */), + isDistributive: !!(checkType.flags & 65536 /* TypeParameter */), inferTypeParameters: getInferTypeParameters(node), outerTypeParameters: outerTypeParameters, instantiations: undefined, @@ -34804,12 +34965,12 @@ var ts; if (node.isTypeOf && node.typeArguments) { // Only the non-typeof form can make use of type arguments error(node, ts.Diagnostics.Type_arguments_cannot_be_used_here); links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } if (!ts.isLiteralImportTypeNode(node)) { error(node.argument, ts.Diagnostics.String_literal_expected); links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } var argumentType = getTypeFromTypeNode(node.argument); var targetMeaning = node.isTypeOf ? 67216319 /* Value */ : 67901928 /* Type */; @@ -34818,7 +34979,7 @@ var ts; var innerModuleSymbol = resolveExternalModule(node, moduleName, ts.Diagnostics.Cannot_find_module_0, node, /*isForAugmentation*/ false); if (!innerModuleSymbol) { links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } var moduleSymbol_1 = resolveExternalModuleSymbol(innerModuleSymbol, /*dontResolveAlias*/ false); if (!ts.nodeIsMissing(node.qualifier)) { @@ -34830,7 +34991,7 @@ var ts; var next = getSymbol(getExportsOfSymbol(getMergedSymbol(resolveSymbol(currentNamespace))), current.escapedText, meaning); if (!next) { error(current, ts.Diagnostics.Namespace_0_has_no_exported_member_1, getFullyQualifiedName(currentNamespace), ts.declarationNameToString(current)); - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } getNodeLinks(current).resolvedSymbol = next; getNodeLinks(current.parent).resolvedSymbol = next; @@ -34845,11 +35006,11 @@ var ts; else { error(node, targetMeaning === 67216319 /* Value */ ? ts.Diagnostics.Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here : ts.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here, moduleName); links.resolvedSymbol = unknownSymbol; - links.resolvedType = unknownType; + links.resolvedType = errorType; } } } - return links.resolvedType; + return links.resolvedType; // TODO: GH#18217 } function resolveImportSymbolType(node, links, symbol, meaning) { links.resolvedSymbol = symbol; @@ -34895,19 +35056,22 @@ var ts; if (left.flags & 1 /* Any */ || right.flags & 1 /* Any */) { return anyType; } - if (left.flags & 16384 /* Never */) { + if (left.flags & 2 /* Unknown */ || right.flags & 2 /* Unknown */) { + return unknownType; + } + if (left.flags & 32768 /* Never */) { return right; } - if (right.flags & 16384 /* Never */) { + if (right.flags & 32768 /* Never */) { return left; } - if (left.flags & 131072 /* Union */) { + if (left.flags & 262144 /* Union */) { return mapType(left, function (t) { return getSpreadType(t, right, symbol, typeFlags, objectFlags); }); } - if (right.flags & 131072 /* Union */) { + if (right.flags & 262144 /* Union */) { return mapType(right, function (t) { return getSpreadType(left, t, symbol, typeFlags, objectFlags); }); } - if (right.flags & (136 /* BooleanLike */ | 84 /* NumberLike */ | 34 /* StringLike */ | 272 /* EnumLike */ | 134217728 /* NonPrimitive */ | 524288 /* Index */)) { + if (right.flags & (272 /* BooleanLike */ | 168 /* NumberLike */ | 68 /* StringLike */ | 544 /* EnumLike */ | 16777216 /* NonPrimitive */ | 1048576 /* Index */)) { return left; } var members = ts.createSymbolTable(); @@ -34961,7 +35125,7 @@ var ts; } } var spread = createAnonymousType(symbol, members, ts.emptyArray, ts.emptyArray, getNonReadonlyIndexSignature(stringIndexInfo), getNonReadonlyIndexSignature(numberIndexInfo)); - spread.flags |= typeFlags | 33554432 /* ContainsObjectLiteral */; + spread.flags |= typeFlags | 268435456 /* ContainsObjectLiteral */; spread.objectFlags |= objectFlags | (128 /* ObjectLiteral */ | 1024 /* ContainsSpread */); return spread; } @@ -34993,9 +35157,9 @@ var ts; return type; } function getFreshTypeOfLiteralType(type) { - if (type.flags & 96 /* StringOrNumberLiteral */ && !(type.flags & 8388608 /* FreshLiteral */)) { + if (type.flags & 192 /* StringOrNumberLiteral */ && !(type.flags & 33554432 /* FreshLiteral */)) { if (!type.freshType) { - var freshType = createLiteralType(type.flags | 8388608 /* FreshLiteral */, type.value, type.symbol); + var freshType = createLiteralType(type.flags | 33554432 /* FreshLiteral */, type.value, type.symbol); freshType.regularType = type; type.freshType = freshType; } @@ -35004,7 +35168,9 @@ var ts; return type; } function getRegularTypeOfLiteralType(type) { - return type.flags & 96 /* StringOrNumberLiteral */ && type.flags & 8388608 /* FreshLiteral */ ? type.regularType : type; + return type.flags & 192 /* StringOrNumberLiteral */ && type.flags & 33554432 /* FreshLiteral */ ? type.regularType : + type.flags & 262144 /* Union */ ? getUnionType(ts.sameMap(type.types, getRegularTypeOfLiteralType)) : + type; } function getLiteralType(value, enumId, symbol) { // We store all literal types in a single map with keys of the form '#NNN' and '@SSS', @@ -35015,7 +35181,7 @@ var ts; var key = enumId ? enumId + qualifier + value : qualifier + value; var type = literalTypes.get(key); if (!type) { - var flags = (typeof value === "number" ? 64 /* NumberLiteral */ : 32 /* StringLiteral */) | (enumId ? 256 /* EnumLiteral */ : 0); + var flags = (typeof value === "number" ? 128 /* NumberLiteral */ : 64 /* StringLiteral */) | (enumId ? 512 /* EnumLiteral */ : 0); literalTypes.set(key, type = createLiteralType(flags, value, symbol)); } return type; @@ -35028,7 +35194,7 @@ var ts; return links.resolvedType; } function createUniqueESSymbolType(symbol) { - var type = createType(1024 /* UniqueESSymbol */); + var type = createType(2048 /* UniqueESSymbol */); type.symbol = symbol; return type; } @@ -35043,14 +35209,14 @@ var ts; function getThisType(node) { var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); var parent = container && container.parent; - if (parent && (ts.isClassLike(parent) || parent.kind === 235 /* InterfaceDeclaration */)) { + if (parent && (ts.isClassLike(parent) || parent.kind === 236 /* InterfaceDeclaration */)) { if (!ts.hasModifier(container, 32 /* Static */) && - (container.kind !== 154 /* Constructor */ || ts.isNodeDescendantOf(node, container.body))) { + (container.kind !== 155 /* Constructor */ || ts.isNodeDescendantOf(node, container.body))) { return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(parent)).thisType; } } error(node, ts.Diagnostics.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface); - return unknownType; + return errorType; } function getTypeFromThisTypeNode(node) { var links = getNodeLinks(node); @@ -35062,9 +35228,11 @@ var ts; function getTypeFromTypeNode(node) { switch (node.kind) { case 119 /* AnyKeyword */: - case 278 /* JSDocAllType */: - case 279 /* JSDocUnknownType */: + case 279 /* JSDocAllType */: + case 280 /* JSDocUnknownType */: return anyType; + case 142 /* UnknownKeyword */: + return unknownType; case 137 /* StringKeyword */: return stringType; case 134 /* NumberKeyword */: @@ -35083,64 +35251,64 @@ var ts; return neverType; case 135 /* ObjectKeyword */: return node.flags & 65536 /* JavaScriptFile */ ? anyType : nonPrimitiveType; - case 173 /* ThisType */: + case 174 /* ThisType */: case 99 /* ThisKeyword */: return getTypeFromThisTypeNode(node); - case 177 /* LiteralType */: + case 178 /* LiteralType */: return getTypeFromLiteralTypeNode(node); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return getTypeFromTypeReference(node); - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return booleanType; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return getTypeFromTypeReference(node); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return getTypeFromTypeQueryNode(node); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return getTypeFromArrayTypeNode(node); - case 167 /* TupleType */: + case 168 /* TupleType */: return getTypeFromTupleTypeNode(node); - case 168 /* UnionType */: + case 169 /* UnionType */: return getTypeFromUnionTypeNode(node); - case 169 /* IntersectionType */: + case 170 /* IntersectionType */: return getTypeFromIntersectionTypeNode(node); - case 280 /* JSDocNullableType */: + case 281 /* JSDocNullableType */: return getTypeFromJSDocNullableTypeNode(node); - case 282 /* JSDocOptionalType */: + case 283 /* JSDocOptionalType */: return addOptionality(getTypeFromTypeNode(node.type)); - case 172 /* ParenthesizedType */: - case 281 /* JSDocNonNullableType */: - case 277 /* JSDocTypeExpression */: + case 173 /* ParenthesizedType */: + case 282 /* JSDocNonNullableType */: + case 278 /* JSDocTypeExpression */: return getTypeFromTypeNode(node.type); - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: return getTypeFromJSDocVariadicType(node); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 165 /* TypeLiteral */: - case 286 /* JSDocTypeLiteral */: - case 283 /* JSDocFunctionType */: - case 287 /* JSDocSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 166 /* TypeLiteral */: + case 287 /* JSDocTypeLiteral */: + case 284 /* JSDocFunctionType */: + case 288 /* JSDocSignature */: return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node); - case 174 /* TypeOperator */: + case 175 /* TypeOperator */: return getTypeFromTypeOperatorNode(node); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return getTypeFromIndexedAccessTypeNode(node); - case 176 /* MappedType */: + case 177 /* MappedType */: return getTypeFromMappedTypeNode(node); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return getTypeFromConditionalTypeNode(node); - case 171 /* InferType */: + case 172 /* InferType */: return getTypeFromInferTypeNode(node); - case 178 /* ImportType */: + case 179 /* ImportType */: return getTypeFromImportTypeNode(node); // This function assumes that an identifier or qualified name is a type expression // Callers should first ensure this by calling isTypeNode case 71 /* Identifier */: - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: var symbol = getSymbolAtLocation(node); - return symbol && getDeclaredTypeOfSymbol(symbol); + return (symbol && getDeclaredTypeOfSymbol(symbol)); // TODO: GH#18217 default: - return unknownType; + return errorType; } } function instantiateList(items, mapper, instantiator) { @@ -35217,10 +35385,10 @@ var ts; return function (t) { return t === source ? target : baseMapper(t); }; } function wildcardMapper(type) { - return type.flags & 32768 /* TypeParameter */ ? wildcardType : type; + return type.flags & 65536 /* TypeParameter */ ? wildcardType : type; } function cloneTypeParameter(typeParameter) { - var result = createType(32768 /* TypeParameter */); + var result = createType(65536 /* TypeParameter */); result.symbol = typeParameter.symbol; result.target = typeParameter; return result; @@ -35266,7 +35434,7 @@ var ts; } function instantiateSymbol(symbol, mapper) { var links = getSymbolLinks(symbol); - if (links.type && !maybeTypeOfKind(links.type, 65536 /* Object */ | 7897088 /* Instantiable */)) { + if (links.type && !maybeTypeOfKind(links.type, 131072 /* Object */ | 15794176 /* Instantiable */)) { // If the type of the symbol is already resolved, and if that type could not possibly // be affected by instantiation, simply return the symbol itself. return symbol; @@ -35351,8 +35519,8 @@ var ts; return type; } function maybeTypeParameterReference(node) { - return !(node.kind === 145 /* QualifiedName */ || - node.parent.kind === 161 /* TypeReference */ && node.parent.typeArguments && node === node.parent.typeName); + return !(node.kind === 146 /* QualifiedName */ || + node.parent.kind === 162 /* TypeReference */ && node.parent.typeArguments && node === node.parent.typeName); } function isTypeParameterPossiblyReferenced(tp, node) { // If the type parameter doesn't have exactly one declaration, if there are invening statement blocks @@ -35360,22 +35528,22 @@ var ts; // type parameter, or if the node contains type queries, we consider the type parameter possibly referenced. if (tp.symbol && tp.symbol.declarations && tp.symbol.declarations.length === 1) { var container_3 = tp.symbol.declarations[0].parent; - if (ts.findAncestor(node, function (n) { return n.kind === 212 /* Block */ ? "quit" : n === container_3; })) { - return ts.forEachChild(node, containsReference); + if (ts.findAncestor(node, function (n) { return n.kind === 213 /* Block */ ? "quit" : n === container_3; })) { + return !!ts.forEachChild(node, containsReference); } } return true; function containsReference(node) { switch (node.kind) { - case 173 /* ThisType */: - return tp.isThisType; + case 174 /* ThisType */: + return !!tp.isThisType; case 71 /* Identifier */: return !tp.isThisType && ts.isPartOfTypeNode(node) && maybeTypeParameterReference(node) && getTypeFromTypeNode(node) === tp; - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return true; } - return ts.forEachChild(node, containsReference); + return !!ts.forEachChild(node, containsReference); } } function instantiateMappedType(type, mapper) { @@ -35385,9 +35553,9 @@ var ts; // homomorphic mapped types we leave primitive types alone. For example, when T is instantiated to a // union type A | undefined, we produce { [P in keyof A]: X } | undefined. var constraintType = getConstraintTypeFromMappedType(type); - if (constraintType.flags & 524288 /* Index */) { + if (constraintType.flags & 1048576 /* Index */) { var typeVariable_1 = constraintType.type; - if (typeVariable_1.flags & 32768 /* TypeParameter */) { + if (typeVariable_1.flags & 65536 /* TypeParameter */) { var mappedTypeVariable = instantiateType(typeVariable_1, mapper); if (typeVariable_1 !== mappedTypeVariable) { return mapType(mappedTypeVariable, function (t) { @@ -35402,7 +35570,7 @@ var ts; return instantiateAnonymousType(type, mapper); } function isMappableType(type) { - return type.flags & (1 /* Any */ | 7372800 /* InstantiableNonPrimitive */ | 65536 /* Object */ | 262144 /* Intersection */); + return type.flags & (3 /* AnyOrUnknown */ | 14745600 /* InstantiableNonPrimitive */ | 131072 /* Object */ | 524288 /* Intersection */); } function instantiateAnonymousType(type, mapper) { var result = createObjectType(type.objectFlags | 64 /* Instantiated */, type.symbol); @@ -35440,7 +35608,7 @@ var ts; if (root.isDistributive) { var checkType_1 = root.checkType; var instantiatedType = mapper(checkType_1); - if (checkType_1 !== instantiatedType && instantiatedType.flags & (131072 /* Union */ | 16384 /* Never */)) { + if (checkType_1 !== instantiatedType && instantiatedType.flags & (262144 /* Union */ | 32768 /* Never */)) { return mapType(instantiatedType, function (t) { return getConditionalType(root, createReplacementMapper(checkType_1, t, mapper)); }); } } @@ -35448,10 +35616,10 @@ var ts; } function instantiateType(type, mapper) { if (type && mapper && mapper !== identityMapper) { - if (type.flags & 32768 /* TypeParameter */) { + if (type.flags & 65536 /* TypeParameter */) { return mapper(type); } - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { if (type.objectFlags & 16 /* Anonymous */) { // If the anonymous type originates in a declaration of a function, method, class, or // interface, in an object type literal, or in an object literal expression, we may need @@ -35468,33 +35636,33 @@ var ts; return newTypeArguments !== typeArguments ? createTypeReference(type.target, newTypeArguments) : type; } } - if (type.flags & 131072 /* Union */ && !(type.flags & 16382 /* Primitive */)) { + if (type.flags & 262144 /* Union */ && !(type.flags & 32764 /* Primitive */)) { var types = type.types; var newTypes = instantiateTypes(types, mapper); return newTypes !== types ? getUnionType(newTypes, 1 /* Literal */, type.aliasSymbol, instantiateTypes(type.aliasTypeArguments, mapper)) : type; } - if (type.flags & 262144 /* Intersection */) { + if (type.flags & 524288 /* Intersection */) { var types = type.types; var newTypes = instantiateTypes(types, mapper); return newTypes !== types ? getIntersectionType(newTypes, type.aliasSymbol, instantiateTypes(type.aliasTypeArguments, mapper)) : type; } - if (type.flags & 524288 /* Index */) { + if (type.flags & 1048576 /* Index */) { return getIndexType(instantiateType(type.type, mapper)); } - if (type.flags & 1048576 /* IndexedAccess */) { + if (type.flags & 2097152 /* IndexedAccess */) { return getIndexedAccessType(instantiateType(type.objectType, mapper), instantiateType(type.indexType, mapper)); } - if (type.flags & 2097152 /* Conditional */) { + if (type.flags & 4194304 /* Conditional */) { return getConditionalTypeInstantiation(type, combineTypeMappers(type.mapper, mapper)); } - if (type.flags & 4194304 /* Substitution */) { + if (type.flags & 8388608 /* Substitution */) { return instantiateType(type.typeVariable, mapper); } } return type; } function getWildcardInstantiation(type) { - return type.flags & (16382 /* Primitive */ | 1 /* Any */ | 16384 /* Never */) ? type : + return type.flags & (32764 /* Primitive */ | 3 /* AnyOrUnknown */ | 32768 /* Never */) ? type : type.wildcardInstantiation || (type.wildcardInstantiation = instantiateType(type, wildcardMapper)); } function instantiateIndexInfo(info, mapper) { @@ -35503,34 +35671,38 @@ var ts; // Returns true if the given expression contains (at any level of nesting) a function or arrow expression // that is subject to contextual typing. function isContextSensitive(node) { - ts.Debug.assert(node.kind !== 153 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); switch (node.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: return isContextSensitiveFunctionLikeDeclaration(node); - case 183 /* ObjectLiteralExpression */: - return ts.forEach(node.properties, isContextSensitive); - case 182 /* ArrayLiteralExpression */: - return ts.forEach(node.elements, isContextSensitive); - case 200 /* ConditionalExpression */: + case 184 /* ObjectLiteralExpression */: + return ts.some(node.properties, isContextSensitive); + case 183 /* ArrayLiteralExpression */: + return ts.some(node.elements, isContextSensitive); + case 201 /* ConditionalExpression */: return isContextSensitive(node.whenTrue) || isContextSensitive(node.whenFalse); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return node.operatorToken.kind === 54 /* BarBarToken */ && (isContextSensitive(node.left) || isContextSensitive(node.right)); - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return isContextSensitive(node.initializer); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return isContextSensitive(node.expression); - case 262 /* JsxAttributes */: - return ts.forEach(node.properties, isContextSensitive); - case 261 /* JsxAttribute */: + case 263 /* JsxAttributes */: + return ts.some(node.properties, isContextSensitive); + case 262 /* JsxAttribute */: { // If there is no initializer, JSX attribute has a boolean value of true which is not context sensitive. - return node.initializer && isContextSensitive(node.initializer); - case 264 /* JsxExpression */: + var initializer = node.initializer; + return !!initializer && isContextSensitive(initializer); + } + case 265 /* JsxExpression */: { // It is possible to that node.expression is undefined (e.g
) - return node.expression && isContextSensitive(node.expression); + var expression = node.expression; + return !!expression && isContextSensitive(expression); + } } return false; } @@ -35540,10 +35712,10 @@ var ts; return false; } // Functions with any parameters that lack type annotations are context sensitive. - if (ts.forEach(node.parameters, function (p) { return !ts.getEffectiveTypeAnnotationNode(p); })) { + if (ts.some(node.parameters, function (p) { return !ts.getEffectiveTypeAnnotationNode(p); })) { return true; } - if (node.kind !== 192 /* ArrowFunction */) { + if (node.kind !== 193 /* ArrowFunction */) { // If the first parameter is not an explicit 'this' parameter, then the function has // an implicit 'this' parameter which is subject to contextual typing. var parameter = ts.firstOrUndefined(node.parameters); @@ -35552,14 +35724,15 @@ var ts; } } // TODO(anhans): A block should be context-sensitive if it has a context-sensitive return value. - return node.body.kind === 212 /* Block */ ? false : isContextSensitive(node.body); + var body = node.body; + return body.kind === 213 /* Block */ ? false : isContextSensitive(body); } function isContextSensitiveFunctionOrObjectLiteralMethod(func) { return (ts.isInJavaScriptFile(func) && ts.isFunctionDeclaration(func) || isFunctionExpressionOrArrowFunction(func) || ts.isObjectLiteralMethod(func)) && isContextSensitiveFunctionLikeDeclaration(func); } function getTypeWithoutSignatures(type) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); if (resolved.constructSignatures.length) { var result = createObjectType(16 /* Anonymous */, type.symbol); @@ -35570,7 +35743,7 @@ var ts; return result; } } - else if (type.flags & 262144 /* Intersection */) { + else if (type.flags & 524288 /* Intersection */) { return getIntersectionType(ts.map(type.types, getTypeWithoutSignatures)); } return type; @@ -35600,9 +35773,9 @@ var ts; // Note that this check ignores type parameters and only considers the // inheritance hierarchy. function isTypeDerivedFrom(source, target) { - return source.flags & 131072 /* Union */ ? ts.every(source.types, function (t) { return isTypeDerivedFrom(t, target); }) : - target.flags & 131072 /* Union */ ? ts.some(target.types, function (t) { return isTypeDerivedFrom(source, t); }) : - source.flags & 7372800 /* InstantiableNonPrimitive */ ? isTypeDerivedFrom(getBaseConstraintOfType(source) || emptyObjectType, target) : + return source.flags & 262144 /* Union */ ? ts.every(source.types, function (t) { return isTypeDerivedFrom(t, target); }) : + target.flags & 262144 /* Union */ ? ts.some(target.types, function (t) { return isTypeDerivedFrom(source, t); }) : + source.flags & 14745600 /* InstantiableNonPrimitive */ ? isTypeDerivedFrom(getBaseConstraintOfType(source) || emptyObjectType, target) : target === globalObjectType || target === globalFunctionType ? isTypeSubtypeOf(source, target) : hasBaseType(source, getTargetType(target)); } @@ -35652,8 +35825,8 @@ var ts; source = instantiateSignatureInContextOf(source, target, /*contextualMapper*/ undefined, compareTypes); } var kind = target.declaration ? target.declaration.kind : 0 /* Unknown */; - var strictVariance = !callbackCheck && strictFunctionTypes && kind !== 153 /* MethodDeclaration */ && - kind !== 152 /* MethodSignature */ && kind !== 154 /* Constructor */; + var strictVariance = !callbackCheck && strictFunctionTypes && kind !== 154 /* MethodDeclaration */ && + kind !== 153 /* MethodSignature */ && kind !== 155 /* Constructor */; var result = -1 /* True */; var sourceThisType = getThisTypeOfSignature(source); if (sourceThisType && sourceThisType !== voidType) { @@ -35690,8 +35863,9 @@ var ts; var sourceSig = callbackCheck ? undefined : getSingleCallSignature(getNonNullableType(sourceType)); var targetSig = callbackCheck ? undefined : getSingleCallSignature(getNonNullableType(targetType)); var callbacks = sourceSig && targetSig && !signatureHasTypePredicate(sourceSig) && !signatureHasTypePredicate(targetSig) && - (getFalsyFlags(sourceType) & 12288 /* Nullable */) === (getFalsyFlags(targetType) & 12288 /* Nullable */); + (getFalsyFlags(sourceType) & 24576 /* Nullable */) === (getFalsyFlags(targetType) & 24576 /* Nullable */); var related = callbacks ? + // TODO: GH#18217 It will work if they're both `undefined`, but not if only one is compareSignaturesRelated(targetSig, sourceSig, strictVariance ? 2 /* Strict */ : 1 /* Bivariant */, /*ignoreReturnTypes*/ false, reportErrors, errorReporter, compareTypes) : !callbackCheck && !strictVariance && compareTypes(sourceType, targetType, /*reportErrors*/ false) || compareTypes(targetType, sourceType, reportErrors); if (!related) { @@ -35713,7 +35887,7 @@ var ts; if (targetTypePredicate) { var sourceTypePredicate = getTypePredicateOfSignature(source); if (sourceTypePredicate) { - result &= compareTypePredicateRelatedTo(sourceTypePredicate, targetTypePredicate, source.declaration, target.declaration, reportErrors, errorReporter, compareTypes); + result &= compareTypePredicateRelatedTo(sourceTypePredicate, targetTypePredicate, source.declaration, target.declaration, reportErrors, errorReporter, compareTypes); // TODO: GH#18217 } else if (ts.isIdentifierTypePredicate(targetTypePredicate)) { if (reportErrors) { @@ -35803,10 +35977,10 @@ var ts; !t.numberIndexInfo; } function isEmptyObjectType(type) { - return type.flags & 65536 /* Object */ ? isEmptyResolvedType(resolveStructuredTypeMembers(type)) : - type.flags & 134217728 /* NonPrimitive */ ? true : - type.flags & 131072 /* Union */ ? ts.forEach(type.types, isEmptyObjectType) : - type.flags & 262144 /* Intersection */ ? !ts.forEach(type.types, function (t) { return !isEmptyObjectType(t); }) : + return type.flags & 131072 /* Object */ ? isEmptyResolvedType(resolveStructuredTypeMembers(type)) : + type.flags & 16777216 /* NonPrimitive */ ? true : + type.flags & 262144 /* Union */ ? ts.some(type.types, isEmptyObjectType) : + type.flags & 524288 /* Intersection */ ? !ts.some(type.types, function (t) { return !isEmptyObjectType(t); }) : false; } function isEnumTypeRelatedTo(sourceSymbol, targetSymbol, errorReporter) { @@ -35842,43 +36016,43 @@ var ts; function isSimpleTypeRelatedTo(source, target, relation, errorReporter) { var s = source.flags; var t = target.flags; - if (t & 1 /* Any */ || s & 16384 /* Never */ || source === wildcardType) + if (t & 3 /* AnyOrUnknown */ || s & 32768 /* Never */ || source === wildcardType) return true; - if (t & 16384 /* Never */) + if (t & 32768 /* Never */) return false; - if (s & 34 /* StringLike */ && t & 2 /* String */) + if (s & 68 /* StringLike */ && t & 4 /* String */) return true; - if (s & 32 /* StringLiteral */ && s & 256 /* EnumLiteral */ && - t & 32 /* StringLiteral */ && !(t & 256 /* EnumLiteral */) && + if (s & 64 /* StringLiteral */ && s & 512 /* EnumLiteral */ && + t & 64 /* StringLiteral */ && !(t & 512 /* EnumLiteral */) && source.value === target.value) return true; - if (s & 84 /* NumberLike */ && t & 4 /* Number */) + if (s & 168 /* NumberLike */ && t & 8 /* Number */) return true; - if (s & 64 /* NumberLiteral */ && s & 256 /* EnumLiteral */ && - t & 64 /* NumberLiteral */ && !(t & 256 /* EnumLiteral */) && + if (s & 128 /* NumberLiteral */ && s & 512 /* EnumLiteral */ && + t & 128 /* NumberLiteral */ && !(t & 512 /* EnumLiteral */) && source.value === target.value) return true; - if (s & 136 /* BooleanLike */ && t & 8 /* Boolean */) + if (s & 272 /* BooleanLike */ && t & 16 /* Boolean */) return true; - if (s & 1536 /* ESSymbolLike */ && t & 512 /* ESSymbol */) + if (s & 3072 /* ESSymbolLike */ && t & 1024 /* ESSymbol */) return true; - if (s & 16 /* Enum */ && t & 16 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 32 /* Enum */ && t & 32 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; - if (s & 256 /* EnumLiteral */ && t & 256 /* EnumLiteral */) { - if (s & 131072 /* Union */ && t & 131072 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 512 /* EnumLiteral */ && t & 512 /* EnumLiteral */) { + if (s & 262144 /* Union */ && t & 262144 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; - if (s & 224 /* Literal */ && t & 224 /* Literal */ && + if (s & 448 /* Literal */ && t & 448 /* Literal */ && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) return true; } - if (s & 4096 /* Undefined */ && (!strictNullChecks || t & (4096 /* Undefined */ | 2048 /* Void */))) + if (s & 8192 /* Undefined */ && (!strictNullChecks || t & (8192 /* Undefined */ | 4096 /* Void */))) return true; - if (s & 8192 /* Null */ && (!strictNullChecks || t & 8192 /* Null */)) + if (s & 16384 /* Null */ && (!strictNullChecks || t & 16384 /* Null */)) return true; - if (s & 65536 /* Object */ && t & 134217728 /* NonPrimitive */) + if (s & 131072 /* Object */ && t & 16777216 /* NonPrimitive */) return true; - if (s & 1024 /* UniqueESSymbol */ || t & 1024 /* UniqueESSymbol */) + if (s & 2048 /* UniqueESSymbol */ || t & 2048 /* UniqueESSymbol */) return false; if (relation === assignableRelation || relation === definitelyAssignableRelation || relation === comparableRelation) { if (s & 1 /* Any */) @@ -35886,30 +36060,30 @@ var ts; // Type number or any numeric literal type is assignable to any numeric enum type or any // numeric enum literal type. This rule exists for backwards compatibility reasons because // bit-flag enum types sometimes look like literal enum types with numeric literal values. - if (s & (4 /* Number */ | 64 /* NumberLiteral */) && !(s & 256 /* EnumLiteral */) && (t & 16 /* Enum */ || t & 64 /* NumberLiteral */ && t & 256 /* EnumLiteral */)) + if (s & (8 /* Number */ | 128 /* NumberLiteral */) && !(s & 512 /* EnumLiteral */) && (t & 32 /* Enum */ || t & 128 /* NumberLiteral */ && t & 512 /* EnumLiteral */)) return true; } return false; } function isTypeRelatedTo(source, target, relation) { - if (source.flags & 96 /* StringOrNumberLiteral */ && source.flags & 8388608 /* FreshLiteral */) { + if (source.flags & 192 /* StringOrNumberLiteral */ && source.flags & 33554432 /* FreshLiteral */) { source = source.regularType; } - if (target.flags & 96 /* StringOrNumberLiteral */ && target.flags & 8388608 /* FreshLiteral */) { + if (target.flags & 192 /* StringOrNumberLiteral */ && target.flags & 33554432 /* FreshLiteral */) { target = target.regularType; } if (source === target || - relation === comparableRelation && !(target.flags & 16384 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || + relation === comparableRelation && !(target.flags & 32768 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || relation !== identityRelation && isSimpleTypeRelatedTo(source, target, relation)) { return true; } - if (source.flags & 65536 /* Object */ && target.flags & 65536 /* Object */) { + if (source.flags & 131072 /* Object */ && target.flags & 131072 /* Object */) { var related = relation.get(getRelationKey(source, target, relation)); if (related !== undefined) { return related === 1 /* Succeeded */; } } - if (source.flags & 8355840 /* StructuredOrInstantiable */ || target.flags & 8355840 /* StructuredOrInstantiable */) { + if (source.flags & 16711680 /* StructuredOrInstantiable */ || target.flags & 16711680 /* StructuredOrInstantiable */) { return checkTypeRelatedTo(source, target, relation, /*errorNode*/ undefined); } return false; @@ -35949,7 +36123,7 @@ var ts; errorInfo = ts.concatenateDiagnosticMessageChains(chain_1, errorInfo); } } - diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(errorNode, errorInfo)); + diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(errorNode, errorInfo)); // TODO: GH#18217 } // Check if we should issue an extra diagnostic to produce a quickfix for a slightly incorrect import statement if (headMessage && errorNode && !result && source.symbol) { @@ -35998,7 +36172,7 @@ var ts; } } function isUnionOrIntersectionTypeWithoutNullableConstituents(type) { - if (!(type.flags & 393216 /* UnionOrIntersection */)) { + if (!(type.flags & 786432 /* UnionOrIntersection */)) { return false; } // at this point we know that this is union or intersection type possibly with nullable constituents. @@ -36006,7 +36180,7 @@ var ts; var seenNonNullable = false; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 12288 /* Nullable */) { + if (t.flags & 24576 /* Nullable */) { continue; } if (seenNonNullable) { @@ -36023,22 +36197,23 @@ var ts; * * Ternary.False if they are not related. */ function isRelatedTo(source, target, reportErrors, headMessage) { - if (source.flags & 96 /* StringOrNumberLiteral */ && source.flags & 8388608 /* FreshLiteral */) { + if (reportErrors === void 0) { reportErrors = false; } + if (source.flags & 192 /* StringOrNumberLiteral */ && source.flags & 33554432 /* FreshLiteral */) { source = source.regularType; } - if (target.flags & 96 /* StringOrNumberLiteral */ && target.flags & 8388608 /* FreshLiteral */) { + if (target.flags & 192 /* StringOrNumberLiteral */ && target.flags & 33554432 /* FreshLiteral */) { target = target.regularType; } - if (source.flags & 4194304 /* Substitution */) { + if (source.flags & 8388608 /* Substitution */) { source = relation === definitelyAssignableRelation ? source.typeVariable : source.substitute; } - if (target.flags & 4194304 /* Substitution */) { + if (target.flags & 8388608 /* Substitution */) { target = target.typeVariable; } - if (source.flags & 1048576 /* IndexedAccess */) { + if (source.flags & 2097152 /* IndexedAccess */) { source = getSimplifiedType(source); } - if (target.flags & 1048576 /* IndexedAccess */) { + if (target.flags & 2097152 /* IndexedAccess */) { target = getSimplifiedType(target); } // both types are the same - covers 'they are the same primitive type or both are Any' or the same type parameter cases @@ -36047,11 +36222,11 @@ var ts; if (relation === identityRelation) { return isIdenticalTo(source, target); } - if (relation === comparableRelation && !(target.flags & 16384 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || + if (relation === comparableRelation && !(target.flags & 32768 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || isSimpleTypeRelatedTo(source, target, relation, reportErrors ? reportError : undefined)) return -1 /* True */; - if (isObjectLiteralType(source) && source.flags & 8388608 /* FreshLiteral */) { - var discriminantType = target.flags & 131072 /* Union */ ? findMatchingDiscriminantType(source, target) : undefined; + if (isObjectLiteralType(source) && source.flags & 33554432 /* FreshLiteral */) { + var discriminantType = target.flags & 262144 /* Union */ ? findMatchingDiscriminantType(source, target) : undefined; if (hasExcessProperties(source, target, discriminantType, reportErrors)) { if (reportErrors) { reportRelationError(headMessage, source, target); @@ -36067,8 +36242,8 @@ var ts; } } if (relation !== comparableRelation && - !(source.flags & 393216 /* UnionOrIntersection */) && - !(target.flags & 131072 /* Union */) && + !(source.flags & 786432 /* UnionOrIntersection */) && + !(target.flags & 262144 /* Union */) && !isIntersectionConstituent && source !== globalObjectType && (getPropertiesOfType(source).length > 0 || typeHasCallOrConstructSignatures(source)) && @@ -36094,20 +36269,20 @@ var ts; // Note that these checks are specifically ordered to produce correct results. In particular, // we need to deconstruct unions before intersections (because unions are always at the top), // and we need to handle "each" relations before "some" relations for the same kind of type. - if (source.flags & 131072 /* Union */) { + if (source.flags & 262144 /* Union */) { result = relation === comparableRelation ? - someTypeRelatedToType(source, target, reportErrors && !(source.flags & 16382 /* Primitive */)) : - eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 16382 /* Primitive */)); + someTypeRelatedToType(source, target, reportErrors && !(source.flags & 32764 /* Primitive */)) : + eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 32764 /* Primitive */)); } else { - if (target.flags & 131072 /* Union */) { - result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & 16382 /* Primitive */) && !(target.flags & 16382 /* Primitive */)); + if (target.flags & 262144 /* Union */) { + result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & 32764 /* Primitive */) && !(target.flags & 32764 /* Primitive */)); } - else if (target.flags & 262144 /* Intersection */) { + else if (target.flags & 524288 /* Intersection */) { isIntersectionConstituent = true; result = typeRelatedToEachType(source, target, reportErrors); } - else if (source.flags & 262144 /* Intersection */) { + else if (source.flags & 524288 /* Intersection */) { // Check to see if any constituents of the intersection are immediately related to the target. // // Don't report errors though. Checking whether a constituent is related to the source is not actually @@ -36123,13 +36298,13 @@ var ts; // breaking the intersection apart. result = someTypeRelatedToType(source, target, /*reportErrors*/ false); } - if (!result && (source.flags & 8355840 /* StructuredOrInstantiable */ || target.flags & 8355840 /* StructuredOrInstantiable */)) { + if (!result && (source.flags & 16711680 /* StructuredOrInstantiable */ || target.flags & 16711680 /* StructuredOrInstantiable */)) { if (result = recursiveTypeRelatedTo(source, target, reportErrors)) { errorInfo = saveErrorInfo; } } } - if (!result && source.flags & 262144 /* Intersection */) { + if (!result && source.flags & 524288 /* Intersection */) { // The combined constraint of an intersection type is the intersection of the constraints of // the constituents. When an intersection type contains instantiable types with union type // constraints, there are situations where we need to examine the combined constraint. One is @@ -36139,7 +36314,7 @@ var ts; // we need to check this constraint against a union on the target side. Also, given a type // variable V constrained to 'string | number', 'V & number' has a combined constraint of // 'string & number | number & number' which reduces to just 'number'. - var constraint = getUnionConstraintOfIntersection(source, !!(target.flags & 131072 /* Union */)); + var constraint = getUnionConstraintOfIntersection(source, !!(target.flags & 262144 /* Union */)); if (constraint) { if (result = isRelatedTo(constraint, target, reportErrors)) { errorInfo = saveErrorInfo; @@ -36148,12 +36323,22 @@ var ts; } isIntersectionConstituent = saveIsIntersectionConstituent; if (!result && reportErrors) { - if (source.flags & 65536 /* Object */ && target.flags & 16382 /* Primitive */) { + if (source.flags & 131072 /* Object */ && target.flags & 32764 /* Primitive */) { tryElaborateErrorsForPrimitivesAndObjects(source, target); } - else if (source.symbol && source.flags & 65536 /* Object */ && globalObjectType === source) { + else if (source.symbol && source.flags & 131072 /* Object */ && globalObjectType === source) { reportError(ts.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead); } + else if (ts.getObjectFlags(source) & 4096 /* JsxAttributes */ && target.flags & 524288 /* Intersection */) { + var targetTypes = target.types; + var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, errorNode); + var intrinsicClassAttributes = getJsxType(JsxNames.IntrinsicClassAttributes, errorNode); + if (intrinsicAttributes !== errorType && intrinsicClassAttributes !== errorType && + (ts.contains(targetTypes, intrinsicAttributes) || ts.contains(targetTypes, intrinsicClassAttributes))) { + // do not report top error + return result; + } + } reportRelationError(headMessage, source, target); } return result; @@ -36161,27 +36346,27 @@ var ts; function isIdenticalTo(source, target) { var result; var flags = source.flags & target.flags; - if (flags & 65536 /* Object */) { + if (flags & 131072 /* Object */) { return recursiveTypeRelatedTo(source, target, /*reportErrors*/ false); } - if (flags & (131072 /* Union */ | 262144 /* Intersection */)) { + if (flags & (262144 /* Union */ | 524288 /* Intersection */)) { if (result = eachTypeRelatedToSomeType(source, target)) { if (result &= eachTypeRelatedToSomeType(target, source)) { return result; } } } - if (flags & 524288 /* Index */) { + if (flags & 1048576 /* Index */) { return isRelatedTo(source.type, target.type, /*reportErrors*/ false); } - if (flags & 1048576 /* IndexedAccess */) { + if (flags & 2097152 /* IndexedAccess */) { if (result = isRelatedTo(source.objectType, target.objectType, /*reportErrors*/ false)) { if (result &= isRelatedTo(source.indexType, target.indexType, /*reportErrors*/ false)) { return result; } } } - if (flags & 2097152 /* Conditional */) { + if (flags & 4194304 /* Conditional */) { if (source.root.isDistributive === target.root.isDistributive) { if (result = isRelatedTo(source.checkType, target.checkType, /*reportErrors*/ false)) { if (result &= isRelatedTo(source.extendsType, target.extendsType, /*reportErrors*/ false)) { @@ -36194,13 +36379,13 @@ var ts; } } } - if (flags & 4194304 /* Substitution */) { + if (flags & 8388608 /* Substitution */) { return isRelatedTo(source.substitute, target.substitute, /*reportErrors*/ false); } return 0 /* False */; } function hasExcessProperties(source, target, discriminant, reportErrors) { - if (maybeTypeOfKind(target, 65536 /* Object */) && !(ts.getObjectFlags(target) & 512 /* ObjectLiteralPatternWithComputedProperties */)) { + if (maybeTypeOfKind(target, 131072 /* Object */) && !(ts.getObjectFlags(target) & 512 /* ObjectLiteralPatternWithComputedProperties */)) { var isComparingJsxAttributes = !!(ts.getObjectFlags(source) & 4096 /* JsxAttributes */); if ((relation === assignableRelation || relation === definitelyAssignableRelation || relation === comparableRelation) && (isTypeSubsetOf(globalObjectType, target) || (!isComparingJsxAttributes && isEmptyObjectType(target)))) { @@ -36216,7 +36401,8 @@ var ts; // We know *exactly* where things went wrong when comparing the types. // Use this property as the error node as this will be more helpful in // reasoning about what went wrong. - ts.Debug.assert(!!errorNode); + if (!errorNode) + return { value: ts.Debug.fail() }; if (ts.isJsxAttributes(errorNode) || ts.isJsxOpeningLikeElement(errorNode)) { // JsxAttributes has an object-literal flag and undergo same type-assignablity check as normal object-literal. // However, using an object-literal error message will be very confusing to the users so we give different a message. @@ -36230,8 +36416,9 @@ var ts; var propDeclaration = prop.valueDeclaration; ts.Debug.assertNode(propDeclaration, ts.isObjectLiteralElementLike); errorNode = propDeclaration; - if (ts.isIdentifier(propDeclaration.name)) { - suggestion = getSuggestionForNonexistentProperty(propDeclaration.name, target); + var name = propDeclaration.name; + if (ts.isIdentifier(name)) { + suggestion = getSuggestionForNonexistentProperty(name, target); } } if (suggestion !== undefined) { @@ -36269,7 +36456,7 @@ var ts; } function typeRelatedToSomeType(source, target, reportErrors) { var targetTypes = target.types; - if (target.flags & 131072 /* Union */ && containsType(targetTypes, source)) { + if (target.flags & 262144 /* Union */ && containsType(targetTypes, source)) { return -1 /* True */; } for (var _i = 0, targetTypes_1 = targetTypes; _i < targetTypes_1.length; _i++) { @@ -36327,7 +36514,7 @@ var ts; } function someTypeRelatedToType(source, target, reportErrors) { var sourceTypes = source.types; - if (source.flags & 131072 /* Union */ && containsType(sourceTypes, target)) { + if (source.flags & 262144 /* Union */ && containsType(sourceTypes, target)) { return -1 /* True */; } var len = sourceTypes.length; @@ -36479,7 +36666,7 @@ var ts; var result; var originalErrorInfo; var saveErrorInfo = errorInfo; - if (target.flags & 32768 /* TypeParameter */) { + if (target.flags & 65536 /* TypeParameter */) { // A source type { [P in keyof T]: X } is related to a target type T if X is related to T[P]. if (ts.getObjectFlags(source) & 32 /* Mapped */ && getConstraintTypeFromMappedType(source) === getIndexType(target)) { if (!(getMappedTypeModifiers(source) & 4 /* IncludeOptional */)) { @@ -36491,9 +36678,9 @@ var ts; } } } - else if (target.flags & 524288 /* Index */) { + else if (target.flags & 1048576 /* Index */) { // A keyof S is related to a keyof T if T is related to S. - if (source.flags & 524288 /* Index */) { + if (source.flags & 1048576 /* Index */) { if (result = isRelatedTo(target.type, source.type, /*reportErrors*/ false)) { return result; } @@ -36510,7 +36697,7 @@ var ts; } } } - else if (target.flags & 1048576 /* IndexedAccess */) { + else if (target.flags & 2097152 /* IndexedAccess */) { // A type S is related to a type T[K] if S is related to C, where C is the // constraint of T[K] var constraint = getConstraintForRelation(target); @@ -36526,7 +36713,7 @@ var ts; var template = getTemplateTypeFromMappedType(target); var modifiers = getMappedTypeModifiers(target); if (!(modifiers & 8 /* ExcludeOptional */)) { - if (template.flags & 1048576 /* IndexedAccess */ && template.objectType === source && + if (template.flags & 2097152 /* IndexedAccess */ && template.objectType === source && template.indexType === getTypeParameterFromMappedType(target)) { return -1 /* True */; } @@ -36541,8 +36728,8 @@ var ts; } } } - if (source.flags & 1081344 /* TypeVariable */) { - if (source.flags & 1048576 /* IndexedAccess */ && target.flags & 1048576 /* IndexedAccess */) { + if (source.flags & 2162688 /* TypeVariable */) { + if (source.flags & 2097152 /* IndexedAccess */ && target.flags & 2097152 /* IndexedAccess */) { // A type S[K] is related to a type T[J] if S is related to T and K is related to J. if (result = isRelatedTo(source.objectType, target.objectType, reportErrors)) { result &= isRelatedTo(source.indexType, target.indexType, reportErrors); @@ -36553,9 +36740,9 @@ var ts; } } var constraint = getConstraintForRelation(source); - if (!constraint || (source.flags & 32768 /* TypeParameter */ && constraint.flags & 1 /* Any */)) { + if (!constraint || (source.flags & 65536 /* TypeParameter */ && constraint.flags & 3 /* AnyOrUnknown */)) { // A type variable with no constraint is not related to the non-primitive object type. - if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~134217728 /* NonPrimitive */))) { + if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~16777216 /* NonPrimitive */))) { errorInfo = saveErrorInfo; return result; } @@ -36568,14 +36755,14 @@ var ts; } } } - else if (source.flags & 524288 /* Index */) { + else if (source.flags & 1048576 /* Index */) { if (result = isRelatedTo(keyofConstraintType, target, reportErrors)) { errorInfo = saveErrorInfo; return result; } } - else if (source.flags & 2097152 /* Conditional */) { - if (target.flags & 2097152 /* Conditional */) { + else if (source.flags & 4194304 /* Conditional */) { + if (target.flags & 4194304 /* Conditional */) { // Two conditional types 'T1 extends U1 ? X1 : Y1' and 'T2 extends U2 ? X2 : Y2' are related if // one of T1 and T2 is related to the other, U1 and U2 are identical types, X1 is related to X2, // and Y1 is related to Y2. @@ -36643,14 +36830,14 @@ var ts; } // Even if relationship doesn't hold for unions, intersections, or generic type references, // it may hold in a structural comparison. - var sourceIsPrimitive = !!(source.flags & 16382 /* Primitive */); + var sourceIsPrimitive = !!(source.flags & 32764 /* Primitive */); if (relation !== identityRelation) { source = getApparentType(source); } // In a check of the form X = A & B, we will have previously checked if A relates to X or B relates // to X. Failing both of those we want to check if the aggregation of A and B's members structurally // relates to X. Thus, we include intersection types on the source side here. - if (source.flags & (65536 /* Object */ | 262144 /* Intersection */) && target.flags & 65536 /* Object */) { + if (source.flags & (131072 /* Object */ | 524288 /* Intersection */) && target.flags & 131072 /* Object */) { // Report structural errors only if we haven't reported any errors yet var reportStructuralErrors = reportErrors && errorInfo === saveErrorInfo && !sourceIsPrimitive; // An empty object type is related to any mapped type that includes a '?' modifier. @@ -36805,14 +36992,14 @@ var ts; * and no required properties, call/construct signatures or index signatures */ function isWeakType(type) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); return resolved.callSignatures.length === 0 && resolved.constructSignatures.length === 0 && !resolved.stringIndexInfo && !resolved.numberIndexInfo && resolved.properties.length > 0 && ts.every(resolved.properties, function (p) { return !!(p.flags & 16777216 /* Optional */); }); } - if (type.flags & 262144 /* Intersection */) { + if (type.flags & 524288 /* Intersection */) { return ts.every(type.types, isWeakType); } return false; @@ -36828,7 +37015,7 @@ var ts; return false; } function propertiesIdenticalTo(source, target) { - if (!(source.flags & 65536 /* Object */ && target.flags & 65536 /* Object */)) { + if (!(source.flags & 131072 /* Object */ && target.flags & 131072 /* Object */)) { return 0 /* False */; } var sourceProperties = getPropertiesOfObjectType(source); @@ -36896,7 +37083,7 @@ var ts; // in the context of the target signature before checking the relationship. Ideally we'd do // this regardless of the number of signatures, but the potential costs are prohibitive due // to the quadratic nature of the logic below. - var eraseGenerics = relation === comparableRelation || compilerOptions.noStrictGenericChecks; + var eraseGenerics = relation === comparableRelation || !!compilerOptions.noStrictGenericChecks; result = signatureRelatedTo(sourceSignatures[0], targetSignatures[0], eraseGenerics, reportErrors); } else { @@ -36952,7 +37139,7 @@ var ts; continue; } // Skip over symbol-named members - if (prop.nameType && prop.nameType.flags & 1024 /* UniqueESSymbol */) { + if (prop.nameType && prop.nameType.flags & 2048 /* UniqueESSymbol */) { continue; } if (kind === 0 /* String */ || isNumericLiteralName(prop.escapedName)) { @@ -36980,7 +37167,7 @@ var ts; return indexTypesIdenticalTo(source, target, kind); } var targetInfo = getIndexInfoOfType(target, kind); - if (!targetInfo || targetInfo.type.flags & 1 /* Any */ && !sourceIsPrimitive) { + if (!targetInfo || targetInfo.type.flags & 3 /* AnyOrUnknown */ && !sourceIsPrimitive) { // Index signature of type any permits assignment from everything but primitives return -1 /* True */; } @@ -36992,7 +37179,7 @@ var ts; if (isGenericMappedType(source)) { // A generic mapped type { [P in K]: T } is related to an index signature { [x: string]: U } // if T is related to U. - return kind === 0 /* String */ && isRelatedTo(getTemplateTypeFromMappedType(source), targetInfo.type, reportErrors); + return (kind === 0 /* String */ && isRelatedTo(getTemplateTypeFromMappedType(source), targetInfo.type, reportErrors)); // TODO: GH#18217 } if (isObjectTypeWithInferableIndex(source)) { var related = -1 /* True */; @@ -37102,17 +37289,17 @@ var ts; // See comment at call in recursiveTypeRelatedTo for when this case matters. function hasCovariantVoidArgument(type, variances) { for (var i = 0; i < variances.length; i++) { - if (variances[i] === 1 /* Covariant */ && type.typeArguments[i].flags & 2048 /* Void */) { + if (variances[i] === 1 /* Covariant */ && type.typeArguments[i].flags & 4096 /* Void */) { return true; } } return false; } function isUnconstrainedTypeParameter(type) { - return type.flags & 32768 /* TypeParameter */ && !getConstraintFromTypeParameter(type); + return type.flags & 65536 /* TypeParameter */ && !getConstraintFromTypeParameter(type); } function isTypeReferenceWithGenericArguments(type) { - return ts.getObjectFlags(type) & 4 /* Reference */ && ts.some(type.typeArguments, function (t) { return isUnconstrainedTypeParameter(t) || isTypeReferenceWithGenericArguments(t); }); + return !!(ts.getObjectFlags(type) & 4 /* Reference */) && ts.some(type.typeArguments, function (t) { return isUnconstrainedTypeParameter(t) || isTypeReferenceWithGenericArguments(t); }); } /** * getTypeReferenceId(A) returns "111=0-12=1" @@ -37202,13 +37389,13 @@ var ts; // levels, but unequal at some level beyond that. function isDeeplyNestedType(type, stack, depth) { // We track all object types that have an associated symbol (representing the origin of the type) - if (depth >= 5 && type.flags & 65536 /* Object */) { + if (depth >= 5 && type.flags & 131072 /* Object */) { var symbol = type.symbol; if (symbol) { var count = 0; for (var i = 0; i < depth; i++) { var t = stack[i]; - if (t.flags & 65536 /* Object */ && t.symbol === symbol) { + if (t.flags & 131072 /* Object */ && t.symbol === symbol) { count++; if (count >= 5) return true; @@ -37356,9 +37543,9 @@ var ts; if (!strictNullChecks) { return getSupertypeOrUnion(types); } - var primaryTypes = ts.filter(types, function (t) { return !(t.flags & 12288 /* Nullable */); }); + var primaryTypes = ts.filter(types, function (t) { return !(t.flags & 24576 /* Nullable */); }); return primaryTypes.length ? - getNullableType(getSupertypeOrUnion(primaryTypes), getFalsyFlagsOfTypes(types) & 12288 /* Nullable */) : + getNullableType(getSupertypeOrUnion(primaryTypes), getFalsyFlagsOfTypes(types) & 24576 /* Nullable */) : getUnionType(types, 2 /* Subtype */); } // Return the leftmost type for which no type to the right is a subtype. @@ -37366,13 +37553,13 @@ var ts; return ts.reduceLeft(types, function (s, t) { return isTypeSubtypeOf(t, s) ? t : s; }); } function isArrayType(type) { - return ts.getObjectFlags(type) & 4 /* Reference */ && type.target === globalArrayType; + return !!(ts.getObjectFlags(type) & 4 /* Reference */) && type.target === globalArrayType; } function isArrayLikeType(type) { // A type is array-like if it is a reference to the global Array or global ReadonlyArray type, // or if it is not the undefined or null type and if it is assignable to ReadonlyArray return ts.getObjectFlags(type) & 4 /* Reference */ && (type.target === globalArrayType || type.target === globalReadonlyArrayType) || - !(type.flags & 12288 /* Nullable */) && isTypeAssignableTo(type, anyReadonlyArrayType); + !(type.flags & 24576 /* Nullable */) && isTypeAssignableTo(type, anyReadonlyArrayType); } function isEmptyArrayLiteralType(type) { var elementType = isArrayType(type) ? type.typeArguments[0] : undefined; @@ -37382,35 +37569,35 @@ var ts; return !!getPropertyOfType(type, "0"); } function isNeitherUnitTypeNorNever(type) { - return !(type.flags & (13536 /* Unit */ | 16384 /* Never */)); + return !(type.flags & (27072 /* Unit */ | 32768 /* Never */)); } function isUnitType(type) { - return !!(type.flags & 13536 /* Unit */); + return !!(type.flags & 27072 /* Unit */); } function isLiteralType(type) { - return type.flags & 8 /* Boolean */ ? true : - type.flags & 131072 /* Union */ ? type.flags & 256 /* EnumLiteral */ ? true : !ts.forEach(type.types, function (t) { return !isUnitType(t); }) : + return type.flags & 16 /* Boolean */ ? true : + type.flags & 262144 /* Union */ ? type.flags & 512 /* EnumLiteral */ ? true : !ts.forEach(type.types, function (t) { return !isUnitType(t); }) : isUnitType(type); } function getBaseTypeOfLiteralType(type) { - return type.flags & 256 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : - type.flags & 32 /* StringLiteral */ ? stringType : - type.flags & 64 /* NumberLiteral */ ? numberType : - type.flags & 128 /* BooleanLiteral */ ? booleanType : - type.flags & 131072 /* Union */ ? getUnionType(ts.sameMap(type.types, getBaseTypeOfLiteralType)) : + return type.flags & 512 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : + type.flags & 64 /* StringLiteral */ ? stringType : + type.flags & 128 /* NumberLiteral */ ? numberType : + type.flags & 256 /* BooleanLiteral */ ? booleanType : + type.flags & 262144 /* Union */ ? getUnionType(ts.sameMap(type.types, getBaseTypeOfLiteralType)) : type; } function getWidenedLiteralType(type) { - return type.flags & 256 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : - type.flags & 32 /* StringLiteral */ && type.flags & 8388608 /* FreshLiteral */ ? stringType : - type.flags & 64 /* NumberLiteral */ && type.flags & 8388608 /* FreshLiteral */ ? numberType : - type.flags & 128 /* BooleanLiteral */ ? booleanType : - type.flags & 131072 /* Union */ ? getUnionType(ts.sameMap(type.types, getWidenedLiteralType)) : + return type.flags & 512 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : + type.flags & 64 /* StringLiteral */ && type.flags & 33554432 /* FreshLiteral */ ? stringType : + type.flags & 128 /* NumberLiteral */ && type.flags & 33554432 /* FreshLiteral */ ? numberType : + type.flags & 256 /* BooleanLiteral */ ? booleanType : + type.flags & 262144 /* Union */ ? getUnionType(ts.sameMap(type.types, getWidenedLiteralType)) : type; } function getWidenedUniqueESSymbolType(type) { - return type.flags & 1024 /* UniqueESSymbol */ ? esSymbolType : - type.flags & 131072 /* Union */ ? getUnionType(ts.sameMap(type.types, getWidenedUniqueESSymbolType)) : + return type.flags & 2048 /* UniqueESSymbol */ ? esSymbolType : + type.flags & 262144 /* Union */ ? getUnionType(ts.sameMap(type.types, getWidenedUniqueESSymbolType)) : type; } function getWidenedLiteralLikeTypeForContextualType(type, contextualType) { @@ -37438,27 +37625,27 @@ var ts; // flags for the string, number, boolean, "", 0, false, void, undefined, or null types respectively. Returns // no flags for all other types (including non-falsy literal types). function getFalsyFlags(type) { - return type.flags & 131072 /* Union */ ? getFalsyFlagsOfTypes(type.types) : - type.flags & 32 /* StringLiteral */ ? type.value === "" ? 32 /* StringLiteral */ : 0 : - type.flags & 64 /* NumberLiteral */ ? type.value === 0 ? 64 /* NumberLiteral */ : 0 : - type.flags & 128 /* BooleanLiteral */ ? type === falseType ? 128 /* BooleanLiteral */ : 0 : - type.flags & 14574 /* PossiblyFalsy */; + return type.flags & 262144 /* Union */ ? getFalsyFlagsOfTypes(type.types) : + type.flags & 64 /* StringLiteral */ ? type.value === "" ? 64 /* StringLiteral */ : 0 : + type.flags & 128 /* NumberLiteral */ ? type.value === 0 ? 128 /* NumberLiteral */ : 0 : + type.flags & 256 /* BooleanLiteral */ ? type === falseType ? 256 /* BooleanLiteral */ : 0 : + type.flags & 29148 /* PossiblyFalsy */; } function removeDefinitelyFalsyTypes(type) { - return getFalsyFlags(type) & 14560 /* DefinitelyFalsy */ ? - filterType(type, function (t) { return !(getFalsyFlags(t) & 14560 /* DefinitelyFalsy */); }) : + return getFalsyFlags(type) & 29120 /* DefinitelyFalsy */ ? + filterType(type, function (t) { return !(getFalsyFlags(t) & 29120 /* DefinitelyFalsy */); }) : type; } function extractDefinitelyFalsyTypes(type) { return mapType(type, getDefinitelyFalsyPartOfType); } function getDefinitelyFalsyPartOfType(type) { - return type.flags & 2 /* String */ ? emptyStringType : - type.flags & 4 /* Number */ ? zeroType : - type.flags & 8 /* Boolean */ || type === falseType ? falseType : - type.flags & (2048 /* Void */ | 4096 /* Undefined */ | 8192 /* Null */) || - type.flags & 32 /* StringLiteral */ && type.value === "" || - type.flags & 64 /* NumberLiteral */ && type.value === 0 ? type : + return type.flags & 4 /* String */ ? emptyStringType : + type.flags & 8 /* Number */ ? zeroType : + type.flags & 16 /* Boolean */ || type === falseType ? falseType : + type.flags & (4096 /* Void */ | 8192 /* Undefined */ | 16384 /* Null */) || + type.flags & 64 /* StringLiteral */ && type.value === "" || + type.flags & 128 /* NumberLiteral */ && type.value === 0 ? type : neverType; } /** @@ -37467,15 +37654,15 @@ var ts; * @param flags - Either TypeFlags.Undefined or TypeFlags.Null, or both */ function getNullableType(type, flags) { - var missing = (flags & ~type.flags) & (4096 /* Undefined */ | 8192 /* Null */); + var missing = (flags & ~type.flags) & (8192 /* Undefined */ | 16384 /* Null */); return missing === 0 ? type : - missing === 4096 /* Undefined */ ? getUnionType([type, undefinedType]) : - missing === 8192 /* Null */ ? getUnionType([type, nullType]) : + missing === 8192 /* Undefined */ ? getUnionType([type, undefinedType]) : + missing === 16384 /* Null */ ? getUnionType([type, nullType]) : getUnionType([type, undefinedType, nullType]); } function getOptionalType(type) { ts.Debug.assert(strictNullChecks); - return type.flags & 4096 /* Undefined */ ? type : getUnionType([type, undefinedType]); + return type.flags & 8192 /* Undefined */ ? type : getUnionType([type, undefinedType]); } function getGlobalNonNullableTypeInstantiation(type) { if (!deferredGlobalNonNullableTypeAlias) { @@ -37528,7 +37715,7 @@ var ts; * Leave signatures alone since they are not subject to the check. */ function getRegularTypeOfObjectLiteral(type) { - if (!(isObjectLiteralType(type) && type.flags & 8388608 /* FreshLiteral */)) { + if (!(isObjectLiteralType(type) && type.flags & 33554432 /* FreshLiteral */)) { return type; } var regularType = type.regularType; @@ -37538,7 +37725,7 @@ var ts; var resolved = type; var members = transformTypeOfMembers(type, getRegularTypeOfObjectLiteral); var regularNew = createAnonymousType(resolved.symbol, members, resolved.callSignatures, resolved.constructSignatures, resolved.stringIndexInfo, resolved.numberIndexInfo); - regularNew.flags = resolved.flags & ~8388608 /* FreshLiteral */; + regularNew.flags = resolved.flags & ~33554432 /* FreshLiteral */; regularNew.objectFlags |= 128 /* ObjectLiteral */; type.regularType = regularNew; return regularNew; @@ -37620,16 +37807,16 @@ var ts; return getWidenedTypeWithContext(type, /*context*/ undefined); } function getWidenedTypeWithContext(type, context) { - if (type.flags & 50331648 /* RequiresWidening */) { - if (type.flags & 12288 /* Nullable */) { + if (type.flags & 402653184 /* RequiresWidening */) { + if (type.flags & 24576 /* Nullable */) { return anyType; } if (isObjectLiteralType(type)) { return getWidenedTypeOfObjectLiteral(type, context); } - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { var unionContext_1 = context || createWideningContext(/*parent*/ undefined, /*propertyName*/ undefined, type.types); - var widenedTypes = ts.sameMap(type.types, function (t) { return t.flags & 12288 /* Nullable */ ? t : getWidenedTypeWithContext(t, unionContext_1); }); + var widenedTypes = ts.sameMap(type.types, function (t) { return t.flags & 24576 /* Nullable */ ? t : getWidenedTypeWithContext(t, unionContext_1); }); // Widening an empty object literal transitions from a highly restrictive type to // a highly inclusive one. For that reason we perform subtype reduction here if the // union includes empty object types (e.g. reducing {} | string to just {}). @@ -37654,8 +37841,8 @@ var ts; */ function reportWideningErrorsInType(type) { var errorReported = false; - if (type.flags & 16777216 /* ContainsWideningType */) { - if (type.flags & 131072 /* Union */) { + if (type.flags & 134217728 /* ContainsWideningType */) { + if (type.flags & 262144 /* Union */) { if (ts.some(type.types, isEmptyObjectType)) { errorReported = true; } @@ -37680,7 +37867,7 @@ var ts; for (var _d = 0, _e = getPropertiesOfObjectType(type); _d < _e.length; _d++) { var p = _e[_d]; var t = getTypeOfSymbol(p); - if (t.flags & 16777216 /* ContainsWideningType */) { + if (t.flags & 134217728 /* ContainsWideningType */) { if (!reportWideningErrorsInType(t)) { error(p.valueDeclaration, ts.Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type, symbolToString(p), typeToString(getWidenedType(t))); } @@ -37695,33 +37882,33 @@ var ts; var typeAsString = typeToString(getWidenedType(type)); var diagnostic; switch (declaration.kind) { - case 199 /* BinaryExpression */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 200 /* BinaryExpression */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: diagnostic = ts.Diagnostics.Member_0_implicitly_has_an_1_type; break; - case 148 /* Parameter */: + case 149 /* Parameter */: diagnostic = declaration.dotDotDotToken ? ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type : ts.Diagnostics.Parameter_0_implicitly_has_an_1_type; break; - case 181 /* BindingElement */: + case 182 /* BindingElement */: diagnostic = ts.Diagnostics.Binding_element_0_implicitly_has_an_1_type; break; - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: if (!declaration.name) { error(declaration, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeAsString); return; } diagnostic = ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type; break; - case 176 /* MappedType */: + case 177 /* MappedType */: error(declaration, ts.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type); return; default: @@ -37730,7 +37917,7 @@ var ts; error(declaration, diagnostic, ts.declarationNameToString(ts.getNameOfDeclaration(declaration)), typeAsString); } function reportErrorsFromWidening(declaration, type) { - if (produceDiagnostics && noImplicitAny && type.flags & 16777216 /* ContainsWideningType */) { + if (produceDiagnostics && noImplicitAny && type.flags & 134217728 /* ContainsWideningType */) { // Report implicit any error within type if possible, otherwise report error on declaration if (!reportWideningErrorsInType(type)) { reportImplicitAnyError(declaration, type); @@ -37803,26 +37990,26 @@ var ts; // results for union and intersection types for performance reasons. function couldContainTypeVariables(type) { var objectFlags = ts.getObjectFlags(type); - return !!(type.flags & 7897088 /* Instantiable */ || + return !!(type.flags & 15794176 /* Instantiable */ || objectFlags & 4 /* Reference */ && ts.forEach(type.typeArguments, couldContainTypeVariables) || objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */ | 2048 /* TypeLiteral */ | 32 /* Class */) || objectFlags & 32 /* Mapped */ || - type.flags & 393216 /* UnionOrIntersection */ && couldUnionOrIntersectionContainTypeVariables(type)); + type.flags & 786432 /* UnionOrIntersection */ && couldUnionOrIntersectionContainTypeVariables(type)); } function couldUnionOrIntersectionContainTypeVariables(type) { if (type.couldContainTypeVariables === undefined) { - type.couldContainTypeVariables = ts.forEach(type.types, couldContainTypeVariables); + type.couldContainTypeVariables = ts.some(type.types, couldContainTypeVariables); } return type.couldContainTypeVariables; } function isTypeParameterAtTopLevel(type, typeParameter) { - return type === typeParameter || type.flags & 393216 /* UnionOrIntersection */ && ts.forEach(type.types, function (t) { return isTypeParameterAtTopLevel(t, typeParameter); }); + return type === typeParameter || !!(type.flags & 786432 /* UnionOrIntersection */) && ts.some(type.types, function (t) { return isTypeParameterAtTopLevel(t, typeParameter); }); } /** Create an object with properties named in the string literal type. Every property has type `any` */ function createEmptyObjectTypeFromStringLiteral(type) { var members = ts.createSymbolTable(); forEachType(type, function (t) { - if (!(t.flags & 32 /* StringLiteral */)) { + if (!(t.flags & 64 /* StringLiteral */)) { return; } var name = ts.escapeLeadingUnderscores(t.value); @@ -37834,7 +38021,7 @@ var ts; } members.set(name, literalProp); }); - var indexInfo = type.flags & 2 /* String */ ? createIndexInfo(emptyObjectType, /*isReadonly*/ false) : undefined; + var indexInfo = type.flags & 4 /* String */ ? createIndexInfo(emptyObjectType, /*isReadonly*/ false) : undefined; return createAnonymousType(undefined, members, ts.emptyArray, ts.emptyArray, indexInfo, undefined); } /** @@ -37862,7 +38049,7 @@ var ts; // is incomplete and we can't infer a meaningful input type. for (var _i = 0, properties_4 = properties; _i < properties_4.length; _i++) { var prop = properties_4[_i]; - if (getTypeOfSymbol(prop).flags & 67108864 /* ContainsAnyFunctionType */) { + if (getTypeOfSymbol(prop).flags & 536870912 /* ContainsAnyFunctionType */) { return undefined; } } @@ -37882,7 +38069,7 @@ var ts; return getTypeFromInference(inference); } function getUnmatchedProperty(source, target, requireOptionalProperties) { - var properties = target.flags & 262144 /* Intersection */ ? getPropertiesOfUnionOrIntersectionType(target) : getPropertiesOfObjectType(target); + var properties = target.flags & 524288 /* Intersection */ ? getPropertiesOfUnionOrIntersectionType(target) : getPropertiesOfObjectType(target); for (var _i = 0, properties_5 = properties; _i < properties_5.length; _i++) { var targetProp = properties_5[_i]; if (requireOptionalProperties || !(targetProp.flags & 16777216 /* Optional */)) { @@ -37936,8 +38123,8 @@ var ts; } return; } - if (source.flags & 131072 /* Union */ && target.flags & 131072 /* Union */ && !(source.flags & 256 /* EnumLiteral */ && target.flags & 256 /* EnumLiteral */) || - source.flags & 262144 /* Intersection */ && target.flags & 262144 /* Intersection */) { + if (source.flags & 262144 /* Union */ && target.flags & 262144 /* Union */ && !(source.flags & 512 /* EnumLiteral */ && target.flags & 512 /* EnumLiteral */) || + source.flags & 524288 /* Intersection */ && target.flags & 524288 /* Intersection */) { // Source and target are both unions or both intersections. If source and target // are the same type, just relate each constituent type to itself. if (source === target) { @@ -37960,7 +38147,7 @@ var ts; (matchingTypes || (matchingTypes = [])).push(t); inferFromTypes(t, t); } - else if (t.flags & (64 /* NumberLiteral */ | 32 /* StringLiteral */)) { + else if (t.flags & (128 /* NumberLiteral */ | 64 /* StringLiteral */)) { var b = getBaseTypeOfLiteralType(t); if (typeIdenticalToSomeType(b, target.types)) { (matchingTypes || (matchingTypes = [])).push(t, b); @@ -37975,7 +38162,7 @@ var ts; target = removeTypesFromUnionOrIntersection(target, matchingTypes); } } - if (target.flags & 1081344 /* TypeVariable */) { + if (target.flags & 2162688 /* TypeVariable */) { // If target is a type parameter, make an inference, unless the source type contains // the anyFunctionType (the wildcard type that's used to avoid contextually typing functions). // Because the anyFunctionType is internal, it should not be exposed to the user by adding @@ -37983,7 +38170,7 @@ var ts; // not contain anyFunctionType when we come back to this argument for its second round // of inference. Also, we exclude inferences for silentNeverType (which is used as a wildcard // when constructing types from type parameters that had no inference candidates). - if (source.flags & 67108864 /* ContainsAnyFunctionType */ || source === silentNeverType) { + if (source.flags & 536870912 /* ContainsAnyFunctionType */ || source === silentNeverType) { return; } var inference = getInferenceInfoForType(target); @@ -38003,7 +38190,7 @@ var ts; inference.candidates = ts.append(inference.candidates, candidate); } } - if (!(priority & 8 /* ReturnType */) && target.flags & 32768 /* TypeParameter */ && !isTypeParameterAtTopLevel(originalTarget, target)) { + if (!(priority & 8 /* ReturnType */) && target.flags & 65536 /* TypeParameter */ && !isTypeParameterAtTopLevel(originalTarget, target)) { inference.topLevel = false; } } @@ -38025,12 +38212,12 @@ var ts; } } } - else if (source.flags & 524288 /* Index */ && target.flags & 524288 /* Index */) { + else if (source.flags & 1048576 /* Index */ && target.flags & 1048576 /* Index */) { contravariant = !contravariant; inferFromTypes(source.type, target.type); contravariant = !contravariant; } - else if ((isLiteralType(source) || source.flags & 2 /* String */) && target.flags & 524288 /* Index */) { + else if ((isLiteralType(source) || source.flags & 4 /* String */) && target.flags & 1048576 /* Index */) { var empty = createEmptyObjectTypeFromStringLiteral(source); contravariant = !contravariant; var savePriority = priority; @@ -38039,17 +38226,17 @@ var ts; priority = savePriority; contravariant = !contravariant; } - else if (source.flags & 1048576 /* IndexedAccess */ && target.flags & 1048576 /* IndexedAccess */) { + else if (source.flags & 2097152 /* IndexedAccess */ && target.flags & 2097152 /* IndexedAccess */) { inferFromTypes(source.objectType, target.objectType); inferFromTypes(source.indexType, target.indexType); } - else if (source.flags & 2097152 /* Conditional */ && target.flags & 2097152 /* Conditional */) { + else if (source.flags & 4194304 /* Conditional */ && target.flags & 4194304 /* Conditional */) { inferFromTypes(source.checkType, target.checkType); inferFromTypes(source.extendsType, target.extendsType); inferFromTypes(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target)); inferFromTypes(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target)); } - else if (target.flags & 393216 /* UnionOrIntersection */) { + else if (target.flags & 786432 /* UnionOrIntersection */) { var targetTypes = target.types; var typeVariableCount = 0; var typeVariable = void 0; @@ -38074,7 +38261,7 @@ var ts; priority = savePriority; } } - else if (source.flags & 131072 /* Union */) { + else if (source.flags & 262144 /* Union */) { // Source is a union or intersection type, infer from each constituent type var sourceTypes = source.types; for (var _e = 0, sourceTypes_3 = sourceTypes; _e < sourceTypes_3.length; _e++) { @@ -38083,10 +38270,10 @@ var ts; } } else { - if (!(priority & 32 /* NoConstraints */ && source.flags & (262144 /* Intersection */ | 7897088 /* Instantiable */))) { + if (!(priority & 32 /* NoConstraints */ && source.flags & (524288 /* Intersection */ | 15794176 /* Instantiable */))) { source = getApparentType(source); } - if (source.flags & (65536 /* Object */ | 262144 /* Intersection */)) { + if (source.flags & (131072 /* Object */ | 524288 /* Intersection */)) { var key = source.id + "," + target.id; if (visited && visited.get(key)) { return; @@ -38096,7 +38283,7 @@ var ts; // an instantiation of the same generic type), we do not explore this target as it would yield // no further inferences. We exclude the static side of classes from this check since it shares // its symbol with the instance side which would lead to false positives. - var isNonConstructorObject = target.flags & 65536 /* Object */ && + var isNonConstructorObject = target.flags & 131072 /* Object */ && !(ts.getObjectFlags(target) & 16 /* Anonymous */ && target.symbol && target.symbol.flags & 32 /* Class */); var symbol = isNonConstructorObject ? target.symbol : undefined; if (symbol) { @@ -38124,7 +38311,7 @@ var ts; } } function getInferenceInfoForType(type) { - if (type.flags & 1081344 /* TypeVariable */) { + if (type.flags & 2162688 /* TypeVariable */) { for (var _i = 0, inferences_1 = inferences; _i < inferences_1.length; _i++) { var inference = inferences_1[_i]; if (type === inference.typeParameter) { @@ -38143,7 +38330,7 @@ var ts; } if (ts.getObjectFlags(target) & 32 /* Mapped */) { var constraintType = getConstraintTypeFromMappedType(target); - if (constraintType.flags & 524288 /* Index */) { + if (constraintType.flags & 1048576 /* Index */) { // We're inferring from some source type S to a homomorphic mapped type { [P in keyof T]: X }, // where T is a type variable. Use inferTypeForHomomorphicMappedType to infer a suitable source // type and then make a secondary inference from that type to T. We make a secondary inference @@ -38160,7 +38347,7 @@ var ts; } return; } - if (constraintType.flags & 32768 /* TypeParameter */) { + if (constraintType.flags & 65536 /* TypeParameter */) { // We're inferring from some source type S to a mapped type { [P in T]: X }, where T is a type // parameter. Infer from 'keyof S' to T and infer from a union of each property type in S to X. var savePriority = priority; @@ -38251,11 +38438,11 @@ var ts; reducedTypes.push(t); } } - return type.flags & 131072 /* Union */ ? getUnionType(reducedTypes) : getIntersectionType(reducedTypes); + return type.flags & 262144 /* Union */ ? getUnionType(reducedTypes) : getIntersectionType(reducedTypes); } function hasPrimitiveConstraint(type) { var constraint = getConstraintOfTypeParameter(type); - return constraint && maybeTypeOfKind(constraint, 16382 /* Primitive */ | 524288 /* Index */); + return !!constraint && maybeTypeOfKind(constraint, 32764 /* Primitive */ | 1048576 /* Index */); } function isObjectLiteralType(type) { return !!(ts.getObjectFlags(type) & 128 /* ObjectLiteral */); @@ -38280,10 +38467,12 @@ var ts; // all inferences were made to top-level occurrences of the type parameter, and // the type parameter has no constraint or its constraint includes no primitive or literal types, and // the type parameter was fixed during inference or does not occur at top-level in the return type. - var widenLiteralTypes = inference.topLevel && - !hasPrimitiveConstraint(inference.typeParameter) && + var primitiveConstraint = hasPrimitiveConstraint(inference.typeParameter); + var widenLiteralTypes = !primitiveConstraint && inference.topLevel && (inference.isFixed || !isTypeParameterAtTopLevel(getReturnTypeOfSignature(signature), inference.typeParameter)); - var baseCandidates = widenLiteralTypes ? ts.sameMap(candidates, getWidenedLiteralType) : candidates; + var baseCandidates = primitiveConstraint ? ts.sameMap(candidates, getRegularTypeOfLiteralType) : + widenLiteralTypes ? ts.sameMap(candidates, getWidenedLiteralType) : + candidates; // If all inferences were made from contravariant positions, infer a common subtype. Otherwise, if // union types were requested or if all inferences were made from the return type position, infer a // union type. Otherwise, infer a common supertype. @@ -38302,7 +38491,7 @@ var ts; inferredType = getCovariantInference(inference, context, signature); // If we have inferred 'never' but have contravariant candidates. To get a more specific type we // infer from the contravariant candidates instead. - if (inferredType.flags & 16384 /* Never */ && inference.contraCandidates) { + if (inferredType.flags & 32768 /* Never */ && inference.contraCandidates) { inferredType = getContravariantInference(inference); } } @@ -38369,7 +38558,7 @@ var ts; // TypeScript 1.0 spec (April 2014): 3.6.3 // A type query consists of the keyword typeof followed by an expression. // The expression is restricted to a single identifier or a sequence of identifiers separated by periods - return !!ts.findAncestor(node, function (n) { return n.kind === 164 /* TypeQuery */ ? true : n.kind === 71 /* Identifier */ || n.kind === 145 /* QualifiedName */ ? false : "quit"; }); + return !!ts.findAncestor(node, function (n) { return n.kind === 165 /* TypeQuery */ ? true : n.kind === 71 /* Identifier */ || n.kind === 146 /* QualifiedName */ ? false : "quit"; }); } // Return the flow cache key for a "dotted name" (i.e. a sequence of identifiers // separated by dots). The key consists of the id of the symbol referenced by the @@ -38385,13 +38574,13 @@ var ts; if (node.kind === 99 /* ThisKeyword */) { return "0"; } - if (node.kind === 184 /* PropertyAccessExpression */) { + if (node.kind === 185 /* PropertyAccessExpression */) { var key = getFlowCacheKey(node.expression); return key && key + "." + ts.idText(node.name); } - if (node.kind === 181 /* BindingElement */) { + if (node.kind === 182 /* BindingElement */) { var container = node.parent.parent; - var key = container.kind === 181 /* BindingElement */ ? getFlowCacheKey(container) : (container.initializer && getFlowCacheKey(container.initializer)); + var key = container.kind === 182 /* BindingElement */ ? getFlowCacheKey(container) : (container.initializer && getFlowCacheKey(container.initializer)); var text = getBindingElementNameText(node); var result = key && text && (key + "." + text); return result; @@ -38399,12 +38588,13 @@ var ts; return undefined; } function getBindingElementNameText(element) { - if (element.parent.kind === 179 /* ObjectBindingPattern */) { + var parent = element.parent; + if (parent.kind === 180 /* ObjectBindingPattern */) { var name = element.propertyName || element.name; switch (name.kind) { case 71 /* Identifier */: return ts.idText(name); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return ts.isStringOrNumericLiteral(name.expression) ? name.expression.text : undefined; case 9 /* StringLiteral */: case 8 /* NumericLiteral */: @@ -38415,41 +38605,41 @@ var ts; } } else { - return "" + element.parent.elements.indexOf(element); + return "" + parent.elements.indexOf(element); } } function isMatchingReference(source, target) { switch (source.kind) { case 71 /* Identifier */: return target.kind === 71 /* Identifier */ && getResolvedSymbol(source) === getResolvedSymbol(target) || - (target.kind === 231 /* VariableDeclaration */ || target.kind === 181 /* BindingElement */) && + (target.kind === 232 /* VariableDeclaration */ || target.kind === 182 /* BindingElement */) && getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(source)) === getSymbolOfNode(target); case 99 /* ThisKeyword */: return target.kind === 99 /* ThisKeyword */; case 97 /* SuperKeyword */: return target.kind === 97 /* SuperKeyword */; - case 184 /* PropertyAccessExpression */: - return target.kind === 184 /* PropertyAccessExpression */ && + case 185 /* PropertyAccessExpression */: + return target.kind === 185 /* PropertyAccessExpression */ && source.name.escapedText === target.name.escapedText && isMatchingReference(source.expression, target.expression); - case 181 /* BindingElement */: - if (target.kind !== 184 /* PropertyAccessExpression */) + case 182 /* BindingElement */: + if (target.kind !== 185 /* PropertyAccessExpression */) return false; var t = target; if (t.name.escapedText !== getBindingElementNameText(source)) return false; - if (source.parent.parent.kind === 181 /* BindingElement */ && isMatchingReference(source.parent.parent, t.expression)) { + if (source.parent.parent.kind === 182 /* BindingElement */ && isMatchingReference(source.parent.parent, t.expression)) { return true; } - if (source.parent.parent.kind === 231 /* VariableDeclaration */) { + if (source.parent.parent.kind === 232 /* VariableDeclaration */) { var maybeId = source.parent.parent.initializer; - return maybeId && isMatchingReference(maybeId, t.expression); + return !!maybeId && isMatchingReference(maybeId, t.expression); } } return false; } function containsMatchingReference(source, target) { - while (source.kind === 184 /* PropertyAccessExpression */) { + while (source.kind === 185 /* PropertyAccessExpression */) { source = source.expression; if (isMatchingReference(source, target)) { return true; @@ -38462,7 +38652,7 @@ var ts; // a possible discriminant if its type differs in the constituents of containing union type, and if every // choice is a unit type or a union of unit types. function containsMatchingReferenceDiscriminant(source, target) { - return target.kind === 184 /* PropertyAccessExpression */ && + return target.kind === 185 /* PropertyAccessExpression */ && containsMatchingReference(source, target.expression) && isDiscriminantProperty(getDeclaredTypeOfReference(target.expression), target.name.escapedText); } @@ -38470,18 +38660,18 @@ var ts; if (expr.kind === 71 /* Identifier */) { return getTypeOfSymbol(getResolvedSymbol(expr)); } - if (expr.kind === 184 /* PropertyAccessExpression */) { + if (expr.kind === 185 /* PropertyAccessExpression */) { var type = getDeclaredTypeOfReference(expr.expression); return type && getTypeOfPropertyOfType(type, expr.name.escapedText); } return undefined; } function isDiscriminantProperty(type, name) { - if (type && type.flags & 131072 /* Union */) { + if (type && type.flags & 262144 /* Union */) { var prop = getUnionOrIntersectionProperty(type, name); if (prop && ts.getCheckFlags(prop) & 2 /* SyntheticProperty */) { if (prop.isDiscriminantProperty === undefined) { - prop.isDiscriminantProperty = prop.checkFlags & 32 /* HasNonUniformType */ && isLiteralType(getTypeOfSymbol(prop)); + prop.isDiscriminantProperty = !!(prop.checkFlags & 32 /* HasNonUniformType */) && isLiteralType(getTypeOfSymbol(prop)); } return prop.isDiscriminantProperty; } @@ -38514,7 +38704,7 @@ var ts; } } } - if (callExpression.expression.kind === 184 /* PropertyAccessExpression */ && + if (callExpression.expression.kind === 185 /* PropertyAccessExpression */ && isOrContainsMatchingReference(reference, callExpression.expression.expression)) { return true; } @@ -38528,7 +38718,7 @@ var ts; return flow.id; } function typeMaybeAssignableTo(source, target) { - if (!(source.flags & 131072 /* Union */)) { + if (!(source.flags & 262144 /* Union */)) { return isTypeAssignableTo(source, target); } for (var _i = 0, _a = source.types; _i < _a.length; _i++) { @@ -38544,11 +38734,11 @@ var ts; // we remove type string. function getAssignmentReducedType(declaredType, assignedType) { if (declaredType !== assignedType) { - if (assignedType.flags & 16384 /* Never */) { + if (assignedType.flags & 32768 /* Never */) { return assignedType; } var reducedType = filterType(declaredType, function (t) { return typeMaybeAssignableTo(assignedType, t); }); - if (!(reducedType.flags & 16384 /* Never */)) { + if (!(reducedType.flags & 32768 /* Never */)) { return reducedType; } } @@ -38571,53 +38761,53 @@ var ts; } function getTypeFacts(type) { var flags = type.flags; - if (flags & 2 /* String */) { + if (flags & 4 /* String */) { return strictNullChecks ? 4079361 /* StringStrictFacts */ : 4194049 /* StringFacts */; } - if (flags & 32 /* StringLiteral */) { + if (flags & 64 /* StringLiteral */) { var isEmpty = type.value === ""; return strictNullChecks ? isEmpty ? 3030785 /* EmptyStringStrictFacts */ : 1982209 /* NonEmptyStringStrictFacts */ : isEmpty ? 3145473 /* EmptyStringFacts */ : 4194049 /* NonEmptyStringFacts */; } - if (flags & (4 /* Number */ | 16 /* Enum */)) { + if (flags & (8 /* Number */ | 32 /* Enum */)) { return strictNullChecks ? 4079234 /* NumberStrictFacts */ : 4193922 /* NumberFacts */; } - if (flags & 64 /* NumberLiteral */) { + if (flags & 128 /* NumberLiteral */) { var isZero = type.value === 0; return strictNullChecks ? isZero ? 3030658 /* ZeroStrictFacts */ : 1982082 /* NonZeroStrictFacts */ : isZero ? 3145346 /* ZeroFacts */ : 4193922 /* NonZeroFacts */; } - if (flags & 8 /* Boolean */) { + if (flags & 16 /* Boolean */) { return strictNullChecks ? 4078980 /* BooleanStrictFacts */ : 4193668 /* BooleanFacts */; } - if (flags & 136 /* BooleanLike */) { + if (flags & 272 /* BooleanLike */) { return strictNullChecks ? type === falseType ? 3030404 /* FalseStrictFacts */ : 1981828 /* TrueStrictFacts */ : type === falseType ? 3145092 /* FalseFacts */ : 4193668 /* TrueFacts */; } - if (flags & 65536 /* Object */) { + if (flags & 131072 /* Object */) { return isFunctionObjectType(type) ? strictNullChecks ? 1970144 /* FunctionStrictFacts */ : 4181984 /* FunctionFacts */ : strictNullChecks ? 1972176 /* ObjectStrictFacts */ : 4184016 /* ObjectFacts */; } - if (flags & (2048 /* Void */ | 4096 /* Undefined */)) { + if (flags & (4096 /* Void */ | 8192 /* Undefined */)) { return 2457472 /* UndefinedFacts */; } - if (flags & 8192 /* Null */) { + if (flags & 16384 /* Null */) { return 2340752 /* NullFacts */; } - if (flags & 1536 /* ESSymbolLike */) { + if (flags & 3072 /* ESSymbolLike */) { return strictNullChecks ? 1981320 /* SymbolStrictFacts */ : 4193160 /* SymbolFacts */; } - if (flags & 134217728 /* NonPrimitive */) { + if (flags & 16777216 /* NonPrimitive */) { return strictNullChecks ? 1972176 /* ObjectStrictFacts */ : 4184016 /* ObjectFacts */; } - if (flags & 7897088 /* Instantiable */) { + if (flags & 15794176 /* Instantiable */) { return getTypeFacts(getBaseConstraintOfType(type) || emptyObjectType); } - if (flags & 393216 /* UnionOrIntersection */) { + if (flags & 786432 /* UnionOrIntersection */) { return getTypeFactsOfTypes(type.types); } return 4194303 /* All */; @@ -38637,26 +38827,26 @@ var ts; return getConstraintForLocation(getTypeOfPropertyOfType(type, text), name) || isNumericLiteralName(text) && getIndexTypeOfType(type, 1 /* Number */) || getIndexTypeOfType(type, 0 /* String */) || - unknownType; + errorType; } function getTypeOfDestructuredArrayElement(type, index) { return isTupleLikeType(type) && getTypeOfPropertyOfType(type, "" + index) || checkIteratedTypeOrElementType(type, /*errorNode*/ undefined, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || - unknownType; + errorType; } function getTypeOfDestructuredSpreadExpression(type) { - return createArrayType(checkIteratedTypeOrElementType(type, /*errorNode*/ undefined, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || unknownType); + return createArrayType(checkIteratedTypeOrElementType(type, /*errorNode*/ undefined, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || errorType); } function getAssignedTypeOfBinaryExpression(node) { - var isDestructuringDefaultAssignment = node.parent.kind === 182 /* ArrayLiteralExpression */ && isDestructuringAssignmentTarget(node.parent) || - node.parent.kind === 269 /* PropertyAssignment */ && isDestructuringAssignmentTarget(node.parent.parent); + var isDestructuringDefaultAssignment = node.parent.kind === 183 /* ArrayLiteralExpression */ && isDestructuringAssignmentTarget(node.parent) || + node.parent.kind === 270 /* PropertyAssignment */ && isDestructuringAssignmentTarget(node.parent.parent); return isDestructuringDefaultAssignment ? getTypeWithDefault(getAssignedType(node), node.right) : getTypeOfExpression(node.right); } function isDestructuringAssignmentTarget(parent) { - return parent.parent.kind === 199 /* BinaryExpression */ && parent.parent.left === parent || - parent.parent.kind === 221 /* ForOfStatement */ && parent.parent.initializer === parent; + return parent.parent.kind === 200 /* BinaryExpression */ && parent.parent.left === parent || + parent.parent.kind === 222 /* ForOfStatement */ && parent.parent.initializer === parent; } function getAssignedTypeOfArrayLiteralElement(node, element) { return getTypeOfDestructuredArrayElement(getAssignedType(node), node.elements.indexOf(element)); @@ -38673,29 +38863,29 @@ var ts; function getAssignedType(node) { var parent = node.parent; switch (parent.kind) { - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return stringType; - case 221 /* ForOfStatement */: - return checkRightHandSideOfForOf(parent.expression, parent.awaitModifier) || unknownType; - case 199 /* BinaryExpression */: + case 222 /* ForOfStatement */: + return checkRightHandSideOfForOf(parent.expression, parent.awaitModifier) || errorType; + case 200 /* BinaryExpression */: return getAssignedTypeOfBinaryExpression(parent); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return undefinedType; - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return getAssignedTypeOfArrayLiteralElement(parent, node); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return getAssignedTypeOfSpreadExpression(parent); - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return getAssignedTypeOfPropertyAssignment(parent); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return getAssignedTypeOfShorthandPropertyAssignment(parent); } - return unknownType; + return errorType; } function getInitialTypeOfBindingElement(node) { var pattern = node.parent; var parentType = getInitialType(pattern.parent); - var type = pattern.kind === 179 /* ObjectBindingPattern */ ? + var type = pattern.kind === 180 /* ObjectBindingPattern */ ? getTypeOfDestructuredProperty(parentType, node.propertyName || node.name) : !node.dotDotDotToken ? getTypeOfDestructuredArrayElement(parentType, pattern.elements.indexOf(node)) : @@ -38713,35 +38903,35 @@ var ts; if (node.initializer) { return getTypeOfInitializer(node.initializer); } - if (node.parent.parent.kind === 220 /* ForInStatement */) { + if (node.parent.parent.kind === 221 /* ForInStatement */) { return stringType; } - if (node.parent.parent.kind === 221 /* ForOfStatement */) { - return checkRightHandSideOfForOf(node.parent.parent.expression, node.parent.parent.awaitModifier) || unknownType; + if (node.parent.parent.kind === 222 /* ForOfStatement */) { + return checkRightHandSideOfForOf(node.parent.parent.expression, node.parent.parent.awaitModifier) || errorType; } - return unknownType; + return errorType; } function getInitialType(node) { - return node.kind === 231 /* VariableDeclaration */ ? + return node.kind === 232 /* VariableDeclaration */ ? getInitialTypeOfVariableDeclaration(node) : getInitialTypeOfBindingElement(node); } function getInitialOrAssignedType(node) { - return node.kind === 231 /* VariableDeclaration */ || node.kind === 181 /* BindingElement */ ? + return node.kind === 232 /* VariableDeclaration */ || node.kind === 182 /* BindingElement */ ? getInitialType(node) : getAssignedType(node); } function isEmptyArrayAssignment(node) { - return node.kind === 231 /* VariableDeclaration */ && node.initializer && + return node.kind === 232 /* VariableDeclaration */ && node.initializer && isEmptyArrayLiteral(node.initializer) || - node.kind !== 181 /* BindingElement */ && node.parent.kind === 199 /* BinaryExpression */ && + node.kind !== 182 /* BindingElement */ && node.parent.kind === 200 /* BinaryExpression */ && isEmptyArrayLiteral(node.parent.right); } function getReferenceCandidate(node) { switch (node.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return getReferenceCandidate(node.expression); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: switch (node.operatorToken.kind) { case 58 /* EqualsToken */: return getReferenceCandidate(node.left); @@ -38753,13 +38943,13 @@ var ts; } function getReferenceRoot(node) { var parent = node.parent; - return parent.kind === 190 /* ParenthesizedExpression */ || - parent.kind === 199 /* BinaryExpression */ && parent.operatorToken.kind === 58 /* EqualsToken */ && parent.left === node || - parent.kind === 199 /* BinaryExpression */ && parent.operatorToken.kind === 26 /* CommaToken */ && parent.right === node ? + return parent.kind === 191 /* ParenthesizedExpression */ || + parent.kind === 200 /* BinaryExpression */ && parent.operatorToken.kind === 58 /* EqualsToken */ && parent.left === node || + parent.kind === 200 /* BinaryExpression */ && parent.operatorToken.kind === 26 /* CommaToken */ && parent.right === node ? getReferenceRoot(parent) : node; } function getTypeOfSwitchClause(clause) { - if (clause.kind === 265 /* CaseClause */) { + if (clause.kind === 266 /* CaseClause */) { return getRegularTypeOfLiteralType(getTypeOfExpression(clause.expression)); } return neverType; @@ -38776,13 +38966,13 @@ var ts; return links.switchTypes; } function eachTypeContainedIn(source, types) { - return source.flags & 131072 /* Union */ ? !ts.forEach(source.types, function (t) { return !ts.contains(types, t); }) : ts.contains(types, source); + return source.flags & 262144 /* Union */ ? !ts.forEach(source.types, function (t) { return !ts.contains(types, t); }) : ts.contains(types, source); } function isTypeSubsetOf(source, target) { - return source === target || target.flags & 131072 /* Union */ && isTypeSubsetOfUnion(source, target); + return source === target || target.flags & 262144 /* Union */ && isTypeSubsetOfUnion(source, target); } function isTypeSubsetOfUnion(source, target) { - if (source.flags & 131072 /* Union */) { + if (source.flags & 262144 /* Union */) { for (var _i = 0, _a = source.types; _i < _a.length; _i++) { var t = _a[_i]; if (!containsType(target.types, t)) { @@ -38791,30 +38981,27 @@ var ts; } return true; } - if (source.flags & 256 /* EnumLiteral */ && getBaseTypeOfEnumLiteralType(source) === target) { + if (source.flags & 512 /* EnumLiteral */ && getBaseTypeOfEnumLiteralType(source) === target) { return true; } return containsType(target.types, source); } function forEachType(type, f) { - return type.flags & 131072 /* Union */ ? ts.forEach(type.types, f) : f(type); + return type.flags & 262144 /* Union */ ? ts.forEach(type.types, f) : f(type); } function filterType(type, f) { - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { var types = type.types; var filtered = ts.filter(types, f); - return filtered === types ? type : getUnionTypeFromSortedList(filtered, type.flags & 268435456 /* UnionOfUnitTypes */); + return filtered === types ? type : getUnionTypeFromSortedList(filtered, type.flags & 67108864 /* UnionOfUnitTypes */); } return f(type) ? type : neverType; } - // Apply a mapping function to a type and return the resulting type. If the source type - // is a union type, the mapping function is applied to each constituent type and a union - // of the resulting types is returned. function mapType(type, mapper, noReductions) { - if (type.flags & 16384 /* Never */) { + if (type.flags & 32768 /* Never */) { return type; } - if (!(type.flags & 131072 /* Union */)) { + if (!(type.flags & 262144 /* Union */)) { return mapper(type); } var types = type.types; @@ -38844,11 +39031,11 @@ var ts; // typeWithPrimitives have been replaced with occurrences of string literals and numeric // literals in typeWithLiterals, respectively. function replacePrimitivesWithLiterals(typeWithPrimitives, typeWithLiterals) { - if (isTypeSubsetOf(stringType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 32 /* StringLiteral */) || - isTypeSubsetOf(numberType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 64 /* NumberLiteral */)) { + if (isTypeSubsetOf(stringType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 64 /* StringLiteral */) || + isTypeSubsetOf(numberType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 128 /* NumberLiteral */)) { return mapType(typeWithPrimitives, function (t) { - return t.flags & 2 /* String */ ? extractTypesOfKind(typeWithLiterals, 2 /* String */ | 32 /* StringLiteral */) : - t.flags & 4 /* Number */ ? extractTypesOfKind(typeWithLiterals, 4 /* Number */ | 64 /* NumberLiteral */) : + return t.flags & 4 /* String */ ? extractTypesOfKind(typeWithLiterals, 4 /* String */ | 64 /* StringLiteral */) : + t.flags & 8 /* Number */ ? extractTypesOfKind(typeWithLiterals, 8 /* Number */ | 128 /* NumberLiteral */) : t; }); } @@ -38883,9 +39070,9 @@ var ts; return isTypeSubsetOf(elementType, evolvingArrayType.elementType) ? evolvingArrayType : getEvolvingArrayType(getUnionType([evolvingArrayType.elementType, elementType])); } function createFinalArrayType(elementType) { - return elementType.flags & 16384 /* Never */ ? + return elementType.flags & 32768 /* Never */ ? autoArrayType : - createArrayType(elementType.flags & 131072 /* Union */ ? + createArrayType(elementType.flags & 262144 /* Union */ ? getUnionType(elementType.types, 2 /* Subtype */) : elementType); } @@ -38903,7 +39090,7 @@ var ts; var hasEvolvingArrayType = false; for (var _i = 0, types_14 = types; _i < types_14.length; _i++) { var t = types_14[_i]; - if (!(t.flags & 16384 /* Never */)) { + if (!(t.flags & 32768 /* Never */)) { if (!(ts.getObjectFlags(t) & 256 /* EvolvingArray */)) { return false; } @@ -38925,15 +39112,15 @@ var ts; function isEvolvingArrayOperationTarget(node) { var root = getReferenceRoot(node); var parent = root.parent; - var isLengthPushOrUnshift = parent.kind === 184 /* PropertyAccessExpression */ && (parent.name.escapedText === "length" || - parent.parent.kind === 186 /* CallExpression */ && ts.isPushOrUnshiftIdentifier(parent.name)); - var isElementAssignment = parent.kind === 185 /* ElementAccessExpression */ && + var isLengthPushOrUnshift = parent.kind === 185 /* PropertyAccessExpression */ && (parent.name.escapedText === "length" || + parent.parent.kind === 187 /* CallExpression */ && ts.isPushOrUnshiftIdentifier(parent.name)); + var isElementAssignment = parent.kind === 186 /* ElementAccessExpression */ && parent.expression === root && - parent.parent.kind === 199 /* BinaryExpression */ && + parent.parent.kind === 200 /* BinaryExpression */ && parent.parent.operatorToken.kind === 58 /* EqualsToken */ && parent.parent.left === parent && !ts.isAssignmentTarget(parent.parent) && - isTypeAssignableToKind(getTypeOfExpression(parent.argumentExpression), 84 /* NumberLike */); + isTypeAssignableToKind(getTypeOfExpression(parent.argumentExpression), 168 /* NumberLike */); return isLengthPushOrUnshift || isElementAssignment; } function maybeTypePredicateCall(node) { @@ -38948,7 +39135,7 @@ var ts; var funcType = checkNonNullExpression(node.expression); if (funcType !== silentNeverType) { var apparentType = getApparentType(funcType); - return apparentType !== unknownType && ts.some(getSignaturesOfType(apparentType, 0 /* Call */), signatureHasTypePredicate); + return apparentType !== errorType && ts.some(getSignaturesOfType(apparentType, 0 /* Call */), signatureHasTypePredicate); } } return false; @@ -38964,9 +39151,9 @@ var ts; var key; var flowDepth = 0; if (flowAnalysisDisabled) { - return unknownType; + return errorType; } - if (!reference.flowNode || !couldBeUninitialized && !(declaredType.flags & 142575359 /* Narrowable */)) { + if (!reference.flowNode || !couldBeUninitialized && !(declaredType.flags & 33492479 /* Narrowable */)) { return declaredType; } var sharedFlowStart = sharedFlowCount; @@ -38977,7 +39164,7 @@ var ts; // on empty arrays are possible without implicit any errors and new element types can be inferred without // type mismatch errors. var resultType = ts.getObjectFlags(evolvedType) & 256 /* EvolvingArray */ && isEvolvingArrayOperationTarget(reference) ? anyArrayType : finalizeEvolvingArrayType(evolvedType); - if (reference.parent && reference.parent.kind === 208 /* NonNullExpression */ && getTypeWithFacts(resultType, 524288 /* NEUndefinedOrNull */).flags & 16384 /* Never */) { + if (reference.parent && reference.parent.kind === 209 /* NonNullExpression */ && getTypeWithFacts(resultType, 524288 /* NEUndefinedOrNull */).flags & 32768 /* Never */) { return declaredType; } return resultType; @@ -38987,7 +39174,7 @@ var ts; // and disable further control flow analysis in the containing function or module body. flowAnalysisDisabled = true; reportFlowControlError(reference); - return unknownType; + return errorType; } flowDepth++; while (true) { @@ -39048,7 +39235,7 @@ var ts; else if (flags & 2 /* Start */) { // Check if we should continue with the control flow of the containing function. var container = flow.container; - if (container && container !== flowContainer && reference.kind !== 184 /* PropertyAccessExpression */ && reference.kind !== 99 /* ThisKeyword */) { + if (container && container !== flowContainer && reference.kind !== 185 /* PropertyAccessExpression */ && reference.kind !== 99 /* ThisKeyword */) { flow = container.flowNode; continue; } @@ -39086,7 +39273,7 @@ var ts; var assignedType = getBaseTypeOfLiteralType(getInitialOrAssignedType(node)); return isTypeAssignableTo(assignedType, declaredType) ? assignedType : anyArrayType; } - if (declaredType.flags & 131072 /* Union */) { + if (declaredType.flags & 262144 /* Union */) { return getAssignmentReducedType(declaredType, getInitialOrAssignedType(node)); } return declaredType; @@ -39104,7 +39291,7 @@ var ts; function getTypeAtFlowArrayMutation(flow) { if (declaredType === autoType || declaredType === autoArrayType) { var node = flow.node; - var expr = node.kind === 186 /* CallExpression */ ? + var expr = node.kind === 187 /* CallExpression */ ? node.expression.expression : node.left.expression; if (isMatchingReference(reference, getReferenceCandidate(expr))) { @@ -39112,7 +39299,7 @@ var ts; var type = getTypeFromFlowType(flowType); if (ts.getObjectFlags(type) & 256 /* EvolvingArray */) { var evolvedType_1 = type; - if (node.kind === 186 /* CallExpression */) { + if (node.kind === 187 /* CallExpression */) { for (var _i = 0, _a = node.arguments; _i < _a.length; _i++) { var arg = _a[_i]; evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, arg); @@ -39120,7 +39307,7 @@ var ts; } else { var indexType = getTypeOfExpression(node.left.argumentExpression); - if (isTypeAssignableToKind(indexType, 84 /* NumberLike */)) { + if (isTypeAssignableToKind(indexType, 168 /* NumberLike */)) { evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, node.right); } } @@ -39134,7 +39321,7 @@ var ts; function getTypeAtFlowCondition(flow) { var flowType = getTypeAtFlowNode(flow.antecedent); var type = getTypeFromFlowType(flowType); - if (type.flags & 16384 /* Never */) { + if (type.flags & 32768 /* Never */) { return flowType; } // If we have an antecedent type (meaning we're reachable in some way), we first @@ -39151,7 +39338,7 @@ var ts; return flowType; } var incomplete = isIncomplete(flowType); - var resultType = incomplete && narrowedType.flags & 16384 /* Never */ ? silentNeverType : narrowedType; + var resultType = incomplete && narrowedType.flags & 32768 /* Never */ ? silentNeverType : narrowedType; return createFlowType(resultType, incomplete); } function getTypeAtSwitchClause(flow) { @@ -39277,8 +39464,8 @@ var ts; return result; } function isMatchingReferenceDiscriminant(expr, computedType) { - return expr.kind === 184 /* PropertyAccessExpression */ && - computedType.flags & 131072 /* Union */ && + return expr.kind === 185 /* PropertyAccessExpression */ && + computedType.flags & 262144 /* Union */ && isMatchingReference(reference, expr.expression) && isDiscriminantProperty(computedType, expr.name.escapedText); } @@ -39311,7 +39498,7 @@ var ts; return !assumeTrue; } function narrowByInKeyword(type, literal, assumeTrue) { - if ((type.flags & (131072 /* Union */ | 65536 /* Object */)) || (type.flags & 32768 /* TypeParameter */ && type.isThisType)) { + if ((type.flags & (262144 /* Union */ | 131072 /* Object */)) || (type.flags & 65536 /* TypeParameter */ && type.isThisType)) { var propName_1 = ts.escapeLeadingUnderscores(literal.text); return filterType(type, function (t) { return isTypePresencePossible(t, propName_1, assumeTrue); }); } @@ -39328,10 +39515,10 @@ var ts; var operator_1 = expr.operatorToken.kind; var left_1 = getReferenceCandidate(expr.left); var right_1 = getReferenceCandidate(expr.right); - if (left_1.kind === 194 /* TypeOfExpression */ && ts.isStringLiteralLike(right_1)) { + if (left_1.kind === 195 /* TypeOfExpression */ && ts.isStringLiteralLike(right_1)) { return narrowTypeByTypeof(type, left_1, operator_1, right_1, assumeTrue); } - if (right_1.kind === 194 /* TypeOfExpression */ && ts.isStringLiteralLike(left_1)) { + if (right_1.kind === 195 /* TypeOfExpression */ && ts.isStringLiteralLike(left_1)) { return narrowTypeByTypeof(type, right_1, operator_1, left_1, assumeTrue); } if (isMatchingReference(reference, left_1)) { @@ -39371,24 +39558,24 @@ var ts; assumeTrue = !assumeTrue; } var valueType = getTypeOfExpression(value); - if (valueType.flags & 12288 /* Nullable */) { + if (valueType.flags & 24576 /* Nullable */) { if (!strictNullChecks) { return type; } var doubleEquals = operator === 32 /* EqualsEqualsToken */ || operator === 33 /* ExclamationEqualsToken */; var facts = doubleEquals ? assumeTrue ? 65536 /* EQUndefinedOrNull */ : 524288 /* NEUndefinedOrNull */ : - valueType.flags & 8192 /* Null */ ? + valueType.flags & 16384 /* Null */ ? assumeTrue ? 32768 /* EQNull */ : 262144 /* NENull */ : assumeTrue ? 16384 /* EQUndefined */ : 131072 /* NEUndefined */; return getTypeWithFacts(type, facts); } - if (type.flags & 134283777 /* NotUnionOrUnit */) { + if (type.flags & 16909315 /* NotUnionOrUnit */) { return type; } if (assumeTrue) { var narrowedType = filterType(type, function (t) { return areTypesComparable(t, valueType); }); - return narrowedType.flags & 16384 /* Never */ ? type : replacePrimitivesWithLiterals(narrowedType, valueType); + return narrowedType.flags & 32768 /* Never */ ? type : replacePrimitivesWithLiterals(narrowedType, valueType); } if (isUnitType(valueType)) { var regularType_1 = getRegularTypeOfLiteralType(valueType); @@ -39410,16 +39597,19 @@ var ts; if (operator === 33 /* ExclamationEqualsToken */ || operator === 35 /* ExclamationEqualsEqualsToken */) { assumeTrue = !assumeTrue; } - if (assumeTrue && !(type.flags & 131072 /* Union */)) { + if (type.flags & 1 /* Any */ && literal.text === "function") { + return type; + } + if (assumeTrue && !(type.flags & 262144 /* Union */)) { // We narrow a non-union type to an exact primitive type if the non-union type // is a supertype of that primitive type. For example, type 'any' can be narrowed // to one of the primitive types. - var targetType = typeofTypesByName.get(literal.text); + var targetType = literal.text === "function" ? globalFunctionType : typeofTypesByName.get(literal.text); if (targetType) { if (isTypeSubtypeOf(targetType, type)) { return targetType; } - if (type.flags & 7897088 /* Instantiable */) { + if (type.flags & 15794176 /* Instantiable */) { var constraint = getBaseConstraintOfType(type) || anyType; if (isTypeSubtypeOf(targetType, constraint)) { return getIntersectionType([type, targetType]); @@ -39441,13 +39631,13 @@ var ts; var clauseTypes = switchTypes.slice(clauseStart, clauseEnd); var hasDefaultClause = clauseStart === clauseEnd || ts.contains(clauseTypes, neverType); var discriminantType = getUnionType(clauseTypes); - var caseType = discriminantType.flags & 16384 /* Never */ ? neverType : + var caseType = discriminantType.flags & 32768 /* Never */ ? neverType : replacePrimitivesWithLiterals(filterType(type, function (t) { return areTypesComparable(discriminantType, t); }), discriminantType); if (!hasDefaultClause) { return caseType; } var defaultType = filterType(type, function (t) { return !(isUnitType(t) && ts.contains(switchTypes, getRegularTypeOfLiteralType(t))); }); - return caseType.flags & 16384 /* Never */ ? defaultType : getUnionType([caseType, defaultType]); + return caseType.flags & 32768 /* Never */ ? defaultType : getUnionType([caseType, defaultType]); } function narrowTypeByInstanceof(type, expr, assumeTrue) { var left = getReferenceCandidate(expr.left); @@ -39501,9 +39691,9 @@ var ts; } // If the current type is a union type, remove all constituents that couldn't be instances of // the candidate type. If one or more constituents remain, return a union of those. - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { var assignableType = filterType(type, function (t) { return isRelated(t, candidate); }); - if (!(assignableType.flags & 16384 /* Never */)) { + if (!(assignableType.flags & 32768 /* Never */)) { return assignableType; } } @@ -39543,7 +39733,7 @@ var ts; } else { var invokedExpression = ts.skipParentheses(callExpression.expression); - if (invokedExpression.kind === 185 /* ElementAccessExpression */ || invokedExpression.kind === 184 /* PropertyAccessExpression */) { + if (invokedExpression.kind === 186 /* ElementAccessExpression */ || invokedExpression.kind === 185 /* PropertyAccessExpression */) { var accessExpression = invokedExpression; var possibleReference = ts.skipParentheses(accessExpression.expression); if (isMatchingReference(reference, possibleReference)) { @@ -39563,15 +39753,15 @@ var ts; case 71 /* Identifier */: case 99 /* ThisKeyword */: case 97 /* SuperKeyword */: - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return narrowTypeByTruthiness(type, expr, assumeTrue); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return narrowTypeByTypePredicate(type, expr, assumeTrue); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return narrowType(type, expr.expression, assumeTrue); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return narrowTypeByBinaryExpression(type, expr, assumeTrue); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: if (expr.operator === 51 /* ExclamationToken */) { return narrowType(type, expr.operand, !assumeTrue); } @@ -39607,9 +39797,9 @@ var ts; function getControlFlowContainer(node) { return ts.findAncestor(node.parent, function (node) { return ts.isFunctionLike(node) && !ts.getImmediatelyInvokedFunctionExpression(node) || - node.kind === 239 /* ModuleBlock */ || - node.kind === 273 /* SourceFile */ || - node.kind === 151 /* PropertyDeclaration */; + node.kind === 240 /* ModuleBlock */ || + node.kind === 274 /* SourceFile */ || + node.kind === 152 /* PropertyDeclaration */; }); } // Check if a parameter is assigned anywhere within its declaring function. @@ -39631,7 +39821,7 @@ var ts; if (node.kind === 71 /* Identifier */) { if (ts.isAssignmentTarget(node)) { var symbol = getResolvedSymbol(node); - if (symbol.valueDeclaration && ts.getRootDeclaration(symbol.valueDeclaration).kind === 148 /* Parameter */) { + if (symbol.valueDeclaration && ts.getRootDeclaration(symbol.valueDeclaration).kind === 149 /* Parameter */) { symbol.isAssigned = true; } } @@ -39646,21 +39836,21 @@ var ts; /** remove undefined from the annotated type of a parameter when there is an initializer (that doesn't include undefined) */ function removeOptionalityFromDeclaredType(declaredType, declaration) { var annotationIncludesUndefined = strictNullChecks && - declaration.kind === 148 /* Parameter */ && + declaration.kind === 149 /* Parameter */ && declaration.initializer && - getFalsyFlags(declaredType) & 4096 /* Undefined */ && - !(getFalsyFlags(checkExpression(declaration.initializer)) & 4096 /* Undefined */); + getFalsyFlags(declaredType) & 8192 /* Undefined */ && + !(getFalsyFlags(checkExpression(declaration.initializer)) & 8192 /* Undefined */); return annotationIncludesUndefined ? getTypeWithFacts(declaredType, 131072 /* NEUndefined */) : declaredType; } function isConstraintPosition(node) { var parent = node.parent; - return parent.kind === 184 /* PropertyAccessExpression */ || - parent.kind === 186 /* CallExpression */ && parent.expression === node || - parent.kind === 185 /* ElementAccessExpression */ && parent.expression === node || - parent.kind === 181 /* BindingElement */ && parent.name === node && !!parent.initializer; + return parent.kind === 185 /* PropertyAccessExpression */ || + parent.kind === 187 /* CallExpression */ && parent.expression === node || + parent.kind === 186 /* ElementAccessExpression */ && parent.expression === node || + parent.kind === 182 /* BindingElement */ && parent.name === node && !!parent.initializer; } function typeHasNullableConstraint(type) { - return type.flags & 7372800 /* InstantiableNonPrimitive */ && maybeTypeOfKind(getBaseConstraintOfType(type) || emptyObjectType, 12288 /* Nullable */); + return type.flags & 14745600 /* InstantiableNonPrimitive */ && maybeTypeOfKind(getBaseConstraintOfType(type) || emptyObjectType, 24576 /* Nullable */); } function getConstraintForLocation(type, node) { // When a node is the left hand expression of a property access, element access, or call expression, @@ -39680,7 +39870,7 @@ var ts; function checkIdentifier(node) { var symbol = getResolvedSymbol(node); if (symbol === unknownSymbol) { - return unknownType; + return errorType; } // As noted in ECMAScript 6 language spec, arrow functions never have an arguments objects. // Although in down-level emit of arrow function, we emit it using function expression which means that @@ -39691,7 +39881,7 @@ var ts; if (symbol === argumentsSymbol) { var container = ts.getContainingFunction(node); if (languageVersion < 2 /* ES2015 */) { - if (container.kind === 192 /* ArrowFunction */) { + if (container.kind === 193 /* ArrowFunction */) { error(node, ts.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression); } else if (ts.hasModifier(container, 256 /* Async */)) { @@ -39712,7 +39902,7 @@ var ts; // Due to the emit for class decorators, any reference to the class from inside of the class body // must instead be rewritten to point to a temporary variable to avoid issues with the double-bind // behavior of class names in ES6. - if (declaration.kind === 234 /* ClassDeclaration */ + if (declaration.kind === 235 /* ClassDeclaration */ && ts.nodeIsDecorated(declaration)) { var container = ts.getContainingClass(node); while (container !== undefined) { @@ -39724,14 +39914,14 @@ var ts; container = ts.getContainingClass(container); } } - else if (declaration.kind === 204 /* ClassExpression */) { + else if (declaration.kind === 205 /* ClassExpression */) { // When we emit a class expression with static members that contain a reference // to the constructor in the initializer, we will need to substitute that // binding with an alias as the class name is not in scope. var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); - while (container !== undefined) { + while (container.kind !== 274 /* SourceFile */) { if (container.parent === declaration) { - if (container.kind === 151 /* PropertyDeclaration */ && ts.hasModifier(container, 32 /* Static */)) { + if (container.kind === 152 /* PropertyDeclaration */ && ts.hasModifier(container, 32 /* Static */)) { getNodeLinks(declaration).flags |= 8388608 /* ClassWithConstructorReference */; getNodeLinks(node).flags |= 16777216 /* ConstructorReferenceInClass */; } @@ -39748,11 +39938,11 @@ var ts; if (!(localOrExportSymbol.flags & 3 /* Variable */) && !(ts.isInJavaScriptFile(node) && localOrExportSymbol.flags & 512 /* ValueModule */)) { error(node, ts.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable, symbolToString(symbol)); - return unknownType; + return errorType; } if (isReadonlySymbol(localOrExportSymbol)) { error(node, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, symbolToString(symbol)); - return unknownType; + return errorType; } } var isAlias = localOrExportSymbol.flags & 2097152 /* Alias */; @@ -39775,7 +39965,7 @@ var ts; // The declaration container is the innermost function that encloses the declaration of the variable // or parameter. The flow container is the innermost function starting with which we analyze the control // flow graph to determine the control flow based type. - var isParameter = ts.getRootDeclaration(declaration).kind === 148 /* Parameter */; + var isParameter = ts.getRootDeclaration(declaration).kind === 149 /* Parameter */; var declarationContainer = getControlFlowContainer(declaration); var flowContainer = getControlFlowContainer(node); var isOuterVariable = flowContainer !== declarationContainer; @@ -39783,8 +39973,8 @@ var ts; // When the control flow originates in a function expression or arrow function and we are referencing // a const variable or parameter from an outer function, we extend the origin of the control flow // analysis to include the immediately enclosing function. - while (flowContainer !== declarationContainer && (flowContainer.kind === 191 /* FunctionExpression */ || - flowContainer.kind === 192 /* ArrowFunction */ || ts.isObjectLiteralOrClassExpressionMethod(flowContainer)) && + while (flowContainer !== declarationContainer && (flowContainer.kind === 192 /* FunctionExpression */ || + flowContainer.kind === 193 /* ArrowFunction */ || ts.isObjectLiteralOrClassExpressionMethod(flowContainer)) && (isConstVariable(localOrExportSymbol) || isParameter && !isParameterAssigned(localOrExportSymbol))) { flowContainer = getControlFlowContainer(flowContainer); } @@ -39792,10 +39982,10 @@ var ts; // the entire control flow graph from the variable's declaration (i.e. when the flow container and // declaration container are the same). var assumeInitialized = isParameter || isAlias || isOuterVariable || isSpreadDestructuringAsignmentTarget || - type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & 1 /* Any */) !== 0 || - isInTypeQuery(node) || node.parent.kind === 251 /* ExportSpecifier */) || - node.parent.kind === 208 /* NonNullExpression */ || - declaration.kind === 231 /* VariableDeclaration */ && declaration.exclamationToken || + type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & 3 /* AnyOrUnknown */) !== 0 || + isInTypeQuery(node) || node.parent.kind === 252 /* ExportSpecifier */) || + node.parent.kind === 209 /* NonNullExpression */ || + declaration.kind === 232 /* VariableDeclaration */ && declaration.exclamationToken || declaration.flags & 4194304 /* Ambient */; var initialType = assumeInitialized ? (isParameter ? removeOptionalityFromDeclaredType(type, declaration) : type) : type === autoType || type === autoArrayType ? undefinedType : @@ -39813,7 +40003,7 @@ var ts; return convertAutoToAny(flowType); } } - else if (!assumeInitialized && !(getFalsyFlags(type) & 4096 /* Undefined */) && getFalsyFlags(flowType) & 4096 /* Undefined */) { + else if (!assumeInitialized && !(getFalsyFlags(type) & 8192 /* Undefined */) && getFalsyFlags(flowType) & 8192 /* Undefined */) { error(node, ts.Diagnostics.Variable_0_is_used_before_being_assigned, symbolToString(symbol)); // Return the declared type to reduce follow-on errors return type; @@ -39826,7 +40016,7 @@ var ts; function checkNestedBlockScopedBinding(node, symbol) { if (languageVersion >= 2 /* ES2015 */ || (symbol.flags & (2 /* BlockScopedVariable */ | 32 /* Class */)) === 0 || - symbol.valueDeclaration.parent.kind === 268 /* CatchClause */) { + symbol.valueDeclaration.parent.kind === 269 /* CatchClause */) { return; } // 1. walk from the use site up to the declaration and check @@ -39851,8 +40041,8 @@ var ts; } // mark variables that are declared in loop initializer and reassigned inside the body of ForStatement. // if body of ForStatement will be converted to function then we'll need a extra machinery to propagate reassigned values back. - if (container.kind === 219 /* ForStatement */ && - ts.getAncestor(symbol.valueDeclaration, 232 /* VariableDeclarationList */).parent === container && + if (container.kind === 220 /* ForStatement */ && + ts.getAncestor(symbol.valueDeclaration, 233 /* VariableDeclarationList */).parent === container && isAssignedInBodyOfForStatement(node, container)) { getNodeLinks(symbol.valueDeclaration).flags |= 2097152 /* NeedsLoopOutParameter */; } @@ -39866,7 +40056,7 @@ var ts; function isAssignedInBodyOfForStatement(node, container) { // skip parenthesized nodes var current = node; - while (current.parent.kind === 190 /* ParenthesizedExpression */) { + while (current.parent.kind === 191 /* ParenthesizedExpression */) { current = current.parent; } // check if node is used as LHS in some assignment expression @@ -39874,7 +40064,7 @@ var ts; if (ts.isAssignmentTarget(current)) { isAssigned = true; } - else if ((current.parent.kind === 197 /* PrefixUnaryExpression */ || current.parent.kind === 198 /* PostfixUnaryExpression */)) { + else if ((current.parent.kind === 198 /* PrefixUnaryExpression */ || current.parent.kind === 199 /* PostfixUnaryExpression */)) { var expr = current.parent; isAssigned = expr.operator === 43 /* PlusPlusToken */ || expr.operator === 44 /* MinusMinusToken */; } @@ -39887,7 +40077,7 @@ var ts; } function captureLexicalThis(node, container) { getNodeLinks(node).flags |= 2 /* LexicalThis */; - if (container.kind === 151 /* PropertyDeclaration */ || container.kind === 154 /* Constructor */) { + if (container.kind === 152 /* PropertyDeclaration */ || container.kind === 155 /* Constructor */) { var classNode = container.parent; getNodeLinks(classNode).flags |= 4 /* CaptureThis */; } @@ -39955,38 +40145,38 @@ var ts; // tell whether 'this' needs to be captured. var container = ts.getThisContainer(node, /* includeArrowFunctions */ true); var needToCaptureLexicalThis = false; - if (container.kind === 154 /* Constructor */) { + if (container.kind === 155 /* Constructor */) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class); } // Now skip arrow functions to get the "real" owner of 'this'. - if (container.kind === 192 /* ArrowFunction */) { + if (container.kind === 193 /* ArrowFunction */) { container = ts.getThisContainer(container, /* includeArrowFunctions */ false); // When targeting es6, arrow function lexically bind "this" so we do not need to do the work of binding "this" in emitted code needToCaptureLexicalThis = (languageVersion < 2 /* ES2015 */); } switch (container.kind) { - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_current_location); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks break; - case 154 /* Constructor */: + case 155 /* Constructor */: if (isInConstructorArgumentInitializer(node, container)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_constructor_arguments); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks } break; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: if (ts.hasModifier(container, 32 /* Static */)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks } break; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name); break; } @@ -40007,8 +40197,8 @@ var ts; // Note: a parameter initializer should refer to class-this unless function-this is explicitly annotated. // If this is a function in a JS file, it might be a class method. Check if it's the RHS // of a x.prototype.y = function [name]() { .... } - if (container.kind === 191 /* FunctionExpression */ && - container.parent.kind === 199 /* BinaryExpression */ && + if (container.kind === 192 /* FunctionExpression */ && + container.parent.kind === 200 /* BinaryExpression */ && ts.getSpecialPropertyAssignmentKind(container.parent) === 3 /* PrototypeProperty */) { // Get the 'x' of 'x.prototype.y = f' (here, 'f' is 'container') var className = container.parent // x.prototype.y = f @@ -40032,14 +40222,14 @@ var ts; } if (ts.isInJavaScriptFile(node)) { var type = getTypeForThisExpressionFromJSDoc(container); - if (type && type !== unknownType) { + if (type && type !== errorType) { return getFlowTypeOfReference(node, type); } } } function getTypeForThisExpressionFromJSDoc(node) { var jsdocType = ts.getJSDocType(node); - if (jsdocType && jsdocType.kind === 283 /* JSDocFunctionType */) { + if (jsdocType && jsdocType.kind === 284 /* JSDocFunctionType */) { var jsDocFunctionType = jsdocType; if (jsDocFunctionType.parameters.length > 0 && jsDocFunctionType.parameters[0].name && @@ -40049,15 +40239,15 @@ var ts; } } function isInConstructorArgumentInitializer(node, constructorDecl) { - return !!ts.findAncestor(node, function (n) { return n === constructorDecl ? "quit" : n.kind === 148 /* Parameter */; }); + return !!ts.findAncestor(node, function (n) { return n === constructorDecl ? "quit" : n.kind === 149 /* Parameter */; }); } function checkSuperExpression(node) { - var isCallExpression = node.parent.kind === 186 /* CallExpression */ && node.parent.expression === node; + var isCallExpression = node.parent.kind === 187 /* CallExpression */ && node.parent.expression === node; var container = ts.getSuperContainer(node, /*stopOnFunctions*/ true); var needToCaptureLexicalThis = false; // adjust the container reference in case if super is used inside arrow functions with arbitrarily deep nesting if (!isCallExpression) { - while (container && container.kind === 192 /* ArrowFunction */) { + while (container && container.kind === 193 /* ArrowFunction */) { container = ts.getSuperContainer(container, /*stopOnFunctions*/ true); needToCaptureLexicalThis = languageVersion < 2 /* ES2015 */; } @@ -40070,22 +40260,22 @@ var ts; // class B { // [super.foo()]() {} // } - var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 146 /* ComputedPropertyName */; }); - if (current && current.kind === 146 /* ComputedPropertyName */) { + var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 147 /* ComputedPropertyName */; }); + if (current && current.kind === 147 /* ComputedPropertyName */) { error(node, ts.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name); } else if (isCallExpression) { error(node, ts.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors); } - else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 183 /* ObjectLiteralExpression */)) { + else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 184 /* ObjectLiteralExpression */)) { error(node, ts.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions); } else { error(node, ts.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class); } - return unknownType; + return errorType; } - if (!isCallExpression && container.kind === 154 /* Constructor */) { + if (!isCallExpression && container.kind === 155 /* Constructor */) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class); } if (ts.hasModifier(container, 32 /* Static */) || isCallExpression) { @@ -40151,7 +40341,7 @@ var ts; // This helper creates an object with a "value" property that wraps the `super` property or indexed access for both get and set. // This is required for destructuring assignments, as a call expression cannot be used as the target of a destructuring assignment // while a property access can. - if (container.kind === 153 /* MethodDeclaration */ && ts.hasModifier(container, 256 /* Async */)) { + if (container.kind === 154 /* MethodDeclaration */ && ts.hasModifier(container, 256 /* Async */)) { if (ts.isSuperProperty(node.parent) && ts.isAssignmentTarget(node.parent)) { getNodeLinks(container).flags |= 4096 /* AsyncMethodWithSuperBinding */; } @@ -40165,10 +40355,10 @@ var ts; // in this case they should also use correct lexical this captureLexicalThis(node.parent, container); } - if (container.parent.kind === 183 /* ObjectLiteralExpression */) { + if (container.parent.kind === 184 /* ObjectLiteralExpression */) { if (languageVersion < 2 /* ES2015 */) { error(node, ts.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher); - return unknownType; + return errorType; } else { // for object literal assume that type of 'super' is 'any' @@ -40179,17 +40369,17 @@ var ts; var classLikeDeclaration = container.parent; if (!ts.getClassExtendsHeritageClauseElement(classLikeDeclaration)) { error(node, ts.Diagnostics.super_can_only_be_referenced_in_a_derived_class); - return unknownType; + return errorType; } var classType = getDeclaredTypeOfSymbol(getSymbolOfNode(classLikeDeclaration)); var baseClassType = classType && getBaseTypes(classType)[0]; if (!baseClassType) { - return unknownType; + return errorType; } - if (container.kind === 154 /* Constructor */ && isInConstructorArgumentInitializer(node, container)) { + if (container.kind === 155 /* Constructor */ && isInConstructorArgumentInitializer(node, container)) { // issue custom error message for super property access in constructor arguments (to be aligned with old compiler) error(node, ts.Diagnostics.super_cannot_be_referenced_in_constructor_arguments); - return unknownType; + return errorType; } return nodeCheckFlag === 512 /* SuperStatic */ ? getBaseConstructorTypeOfClass(classType) @@ -40201,7 +40391,7 @@ var ts; if (isCallExpression) { // TS 1.0 SPEC (April 2014): 4.8.1 // Super calls are only permitted in constructors of derived classes - return container.kind === 154 /* Constructor */; + return container.kind === 155 /* Constructor */; } else { // TS 1.0 SPEC (April 2014) @@ -40209,21 +40399,21 @@ var ts; // - In a constructor, instance member function, instance member accessor, or instance member variable initializer where this references a derived class instance // - In a static member function or static member accessor // topmost container must be something that is directly nested in the class declaration\object literal expression - if (ts.isClassLike(container.parent) || container.parent.kind === 183 /* ObjectLiteralExpression */) { + if (ts.isClassLike(container.parent) || container.parent.kind === 184 /* ObjectLiteralExpression */) { if (ts.hasModifier(container, 32 /* Static */)) { - return container.kind === 153 /* MethodDeclaration */ || - container.kind === 152 /* MethodSignature */ || - container.kind === 155 /* GetAccessor */ || - container.kind === 156 /* SetAccessor */; + return container.kind === 154 /* MethodDeclaration */ || + container.kind === 153 /* MethodSignature */ || + container.kind === 156 /* GetAccessor */ || + container.kind === 157 /* SetAccessor */; } else { - return container.kind === 153 /* MethodDeclaration */ || - container.kind === 152 /* MethodSignature */ || - container.kind === 155 /* GetAccessor */ || - container.kind === 156 /* SetAccessor */ || - container.kind === 151 /* PropertyDeclaration */ || - container.kind === 150 /* PropertySignature */ || - container.kind === 154 /* Constructor */; + return container.kind === 154 /* MethodDeclaration */ || + container.kind === 153 /* MethodSignature */ || + container.kind === 156 /* GetAccessor */ || + container.kind === 157 /* SetAccessor */ || + container.kind === 152 /* PropertyDeclaration */ || + container.kind === 151 /* PropertySignature */ || + container.kind === 155 /* Constructor */; } } } @@ -40231,10 +40421,10 @@ var ts; } } function getContainingObjectLiteral(func) { - return (func.kind === 153 /* MethodDeclaration */ || - func.kind === 155 /* GetAccessor */ || - func.kind === 156 /* SetAccessor */) && func.parent.kind === 183 /* ObjectLiteralExpression */ ? func.parent : - func.kind === 191 /* FunctionExpression */ && func.parent.kind === 269 /* PropertyAssignment */ ? func.parent.parent : + return (func.kind === 154 /* MethodDeclaration */ || + func.kind === 156 /* GetAccessor */ || + func.kind === 157 /* SetAccessor */) && func.parent.kind === 184 /* ObjectLiteralExpression */ ? func.parent : + func.kind === 192 /* FunctionExpression */ && func.parent.kind === 270 /* PropertyAssignment */ ? func.parent.parent : undefined; } function getThisTypeArgument(type) { @@ -40242,11 +40432,11 @@ var ts; } function getThisTypeFromContextualType(type) { return mapType(type, function (t) { - return t.flags & 262144 /* Intersection */ ? ts.forEach(t.types, getThisTypeArgument) : getThisTypeArgument(t); + return t.flags & 524288 /* Intersection */ ? ts.forEach(t.types, getThisTypeArgument) : getThisTypeArgument(t); }); } function getContextualThisParameterType(func) { - if (func.kind === 192 /* ArrowFunction */) { + if (func.kind === 193 /* ArrowFunction */) { return undefined; } if (isContextSensitiveFunctionOrObjectLiteralMethod(func)) { @@ -40273,7 +40463,7 @@ var ts; if (thisType) { return instantiateType(thisType, getContextualMapper(containingLiteral)); } - if (literal.parent.kind !== 269 /* PropertyAssignment */) { + if (literal.parent.kind !== 270 /* PropertyAssignment */) { break; } literal = literal.parent.parent; @@ -40287,9 +40477,9 @@ var ts; // In an assignment of the form 'obj.xxx = function(...)' or 'obj[xxx] = function(...)', the // contextual type for 'this' is 'obj'. var parent = func.parent; - if (parent.kind === 199 /* BinaryExpression */ && parent.operatorToken.kind === 58 /* EqualsToken */) { + if (parent.kind === 200 /* BinaryExpression */ && parent.operatorToken.kind === 58 /* EqualsToken */) { var target = parent.left; - if (target.kind === 184 /* PropertyAccessExpression */ || target.kind === 185 /* ElementAccessExpression */) { + if (target.kind === 185 /* PropertyAccessExpression */ || target.kind === 186 /* ElementAccessExpression */) { var expression = target.expression; // Don't contextually type `this` as `exports` in `exports.Point = function(x, y) { this.x = x; this.y = y; }` if (inJs && ts.isIdentifier(expression)) { @@ -40345,7 +40535,7 @@ var ts; if (funcHasRestParameters && indexOfParameter === (func.parameters.length - 1) && isRestParameterIndex(contextualSignature, func.parameters.length - 1)) { - return getTypeOfSymbol(ts.lastOrUndefined(contextualSignature.parameters)); + return getTypeOfSymbol(ts.last(contextualSignature.parameters)); } } } @@ -40364,7 +40554,7 @@ var ts; if (typeNode) { return getTypeFromTypeNode(typeNode); } - if (declaration.kind === 148 /* Parameter */) { + if (declaration.kind === 149 /* Parameter */) { var type = getContextuallyTypedParameterType(declaration); if (type) { return type; @@ -40376,7 +40566,7 @@ var ts; if (ts.isBindingPattern(declaration.parent)) { var parentDeclaration = declaration.parent.parent; var name = declaration.propertyName || declaration.name; - if (parentDeclaration.kind !== 181 /* BindingElement */) { + if (parentDeclaration.kind !== 182 /* BindingElement */) { var parentTypeNode = ts.getEffectiveTypeAnnotationNode(parentDeclaration); if (parentTypeNode && !ts.isBindingPattern(name)) { var text = ts.getTextOfPropertyName(name); @@ -40432,7 +40622,7 @@ var ts; function getContextualReturnType(functionDecl) { // If the containing function has a return type annotation, is a constructor, or is a get accessor whose // corresponding set accessor has a type annotation, return statements in the function are contextually typed - if (functionDecl.kind === 154 /* Constructor */ || + if (functionDecl.kind === 155 /* Constructor */ || ts.getEffectiveReturnTypeNode(functionDecl) || isGetAccessorWithAnnotatedSetAccessor(functionDecl)) { return getReturnTypeOfSignature(getSignatureFromDeclaration(functionDecl)); @@ -40447,7 +40637,7 @@ var ts; } // In a typed function call, an argument or substitution expression is contextually typed by the type of the corresponding parameter. function getContextualTypeForArgument(callTarget, arg) { - var args = getEffectiveCallArguments(callTarget); + var args = getEffectiveCallArguments(callTarget); // TODO: GH#18217 var argIndex = args.indexOf(arg); // -1 for e.g. the expression of a CallExpression, or the tag of a TaggedTemplateExpression return argIndex === -1 ? undefined : getContextualTypeForArgumentAtIndex(callTarget, argIndex); } @@ -40458,7 +40648,7 @@ var ts; return getTypeAtPosition(signature, argIndex); } function getContextualTypeForSubstitutionExpression(template, substitutionExpression) { - if (template.parent.kind === 188 /* TaggedTemplateExpression */) { + if (template.parent.kind === 189 /* TaggedTemplateExpression */) { return getContextualTypeForArgument(template.parent, substitutionExpression); } return undefined; @@ -40474,7 +40664,7 @@ var ts; // expression has no contextual type, the right operand is contextually typed by the type of the left operand, // except for the special case of Javascript declarations of the form `namespace.prop = namespace.prop || {}` var type = getContextualType(binaryExpression); - return !type && node === right && !ts.getDeclaredJavascriptInitializer(binaryExpression.parent) && !ts.getAssignedJavascriptInitializer(binaryExpression) ? + return !type && node === right && !ts.isDefaultedJavascriptInitializer(binaryExpression) ? getTypeOfExpression(left) : type; case 53 /* AmpersandAmpersandToken */: case 26 /* CommaToken */: @@ -40501,12 +40691,12 @@ var ts; case 6 /* Prototype */: return false; default: - ts.Debug.assertNever(kind); + return ts.Debug.assertNever(kind); } } function getTypeOfPropertyOfContextualType(type, name) { return mapType(type, function (t) { - var prop = t.flags & 458752 /* StructuredType */ ? getPropertyOfType(t, name) : undefined; + var prop = t.flags & 917504 /* StructuredType */ ? getPropertyOfType(t, name) : undefined; return prop ? getTypeOfSymbol(prop) : undefined; }, /*noReductions*/ true); } @@ -40515,7 +40705,7 @@ var ts; } // Return true if the given contextual type is a tuple-like type function contextualTypeIsTupleLikeType(type) { - return !!(type.flags & 131072 /* Union */ ? ts.forEach(type.types, isTupleLikeType) : isTupleLikeType(type)); + return !!(type.flags & 262144 /* Union */ ? ts.forEach(type.types, isTupleLikeType) : isTupleLikeType(type)); } // In an object literal contextually typed by a type T, the contextual type of a property assignment is the type of // the matching property in T, if one exists. Otherwise, it is the type of the numeric index signature in T, if one @@ -40590,12 +40780,31 @@ var ts; return getContextualType(attribute.parent); } } + // Return true if the given expression is possibly a discriminant value. We limit the kinds of + // expressions we check to those that don't depend on their contextual type in order not to cause + // recursive (and possibly infinite) invocations of getContextualType. + function isPossiblyDiscriminantValue(node) { + switch (node.kind) { + case 9 /* StringLiteral */: + case 8 /* NumericLiteral */: + case 13 /* NoSubstitutionTemplateLiteral */: + case 101 /* TrueKeyword */: + case 86 /* FalseKeyword */: + case 95 /* NullKeyword */: + case 71 /* Identifier */: + return true; + case 185 /* PropertyAccessExpression */: + case 191 /* ParenthesizedExpression */: + return isPossiblyDiscriminantValue(node.expression); + } + return false; + } // Return the contextual type for a given expression node. During overload resolution, a contextual type may temporarily // be "pushed" onto a node using the contextualType property. function getApparentTypeOfContextualType(node) { var contextualType = getContextualType(node); contextualType = contextualType && mapType(contextualType, getApparentType); - if (!(contextualType && contextualType.flags & 131072 /* Union */ && ts.isObjectLiteralExpression(node))) { + if (!(contextualType && contextualType.flags & 262144 /* Union */ && ts.isObjectLiteralExpression(node))) { return contextualType; } // Keep the below up-to-date with the work done within `isRelatedTo` by `findMatchingDiscriminantType` @@ -40604,10 +40813,10 @@ var ts; var prop = _a[_i]; if (!prop.symbol) continue; - if (prop.kind !== 269 /* PropertyAssignment */) + if (prop.kind !== 270 /* PropertyAssignment */) continue; - if (isDiscriminantProperty(contextualType, prop.symbol.escapedName)) { - var discriminatingType = getTypeOfNode(prop.initializer); + if (isPossiblyDiscriminantValue(prop.initializer) && isDiscriminantProperty(contextualType, prop.symbol.escapedName)) { + var discriminatingType = checkExpression(prop.initializer); for (var _b = 0, _c = contextualType.types; _b < _c.length; _b++) { var type = _c[_b]; var targetType = getTypeOfPropertyOfType(type, prop.symbol.escapedName); @@ -40652,59 +40861,59 @@ var ts; } var parent = node.parent; switch (parent.kind) { - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 181 /* BindingElement */: + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 182 /* BindingElement */: return getContextualTypeForInitializerExpression(node); - case 192 /* ArrowFunction */: - case 224 /* ReturnStatement */: + case 193 /* ArrowFunction */: + case 225 /* ReturnStatement */: return getContextualTypeForReturnExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return getContextualTypeForYieldOperand(parent); - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: return getContextualTypeForArgument(parent, node); - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: return getTypeFromTypeNode(parent.type); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return getContextualTypeForBinaryOperand(node); - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return getContextualTypeForObjectLiteralElement(parent); - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: return getApparentTypeOfContextualType(parent.parent); - case 182 /* ArrayLiteralExpression */: { + case 183 /* ArrayLiteralExpression */: { var arrayLiteral = parent; var type = getApparentTypeOfContextualType(arrayLiteral); return getContextualTypeForElementExpression(type, ts.indexOfNode(arrayLiteral.elements, node)); } - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return getContextualTypeForConditionalOperand(node); - case 210 /* TemplateSpan */: - ts.Debug.assert(parent.parent.kind === 201 /* TemplateExpression */); + case 211 /* TemplateSpan */: + ts.Debug.assert(parent.parent.kind === 202 /* TemplateExpression */); return getContextualTypeForSubstitutionExpression(parent.parent, node); - case 190 /* ParenthesizedExpression */: { + case 191 /* ParenthesizedExpression */: { // Like in `checkParenthesizedExpression`, an `/** @type {xyz} */` comment before a parenthesized expression acts as a type cast. var tag = ts.isInJavaScriptFile(parent) ? ts.getJSDocTypeTag(parent) : undefined; return tag ? getTypeFromTypeNode(tag.typeExpression.type) : getContextualType(parent); } - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return getContextualTypeForJsxExpression(parent); - case 261 /* JsxAttribute */: - case 263 /* JsxSpreadAttribute */: + case 262 /* JsxAttribute */: + case 264 /* JsxSpreadAttribute */: return getContextualTypeForJsxAttribute(parent); - case 256 /* JsxOpeningElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: return getContextualJsxElementAttributesType(parent); } return undefined; } function getContextualMapper(node) { - node = ts.findAncestor(node, function (n) { return !!n.contextualMapper; }); - return node ? node.contextualMapper : identityMapper; + var ancestor = ts.findAncestor(node, function (n) { return !!n.contextualMapper; }); + return ancestor ? ancestor.contextualMapper : identityMapper; } function getContextualJsxElementAttributesType(node) { if (isJsxIntrinsicIdentifier(node.tagName)) { @@ -40720,16 +40929,16 @@ var ts; } function getJsxSignaturesParameterTypes(valueType, isJs, context) { // If the elemType is a string type, we have to return anyType to prevent an error downstream as we will try to find construct or call signature of the type - if (valueType.flags & 2 /* String */) { + if (valueType.flags & 4 /* String */) { return anyType; } - else if (valueType.flags & 32 /* StringLiteral */) { + else if (valueType.flags & 64 /* StringLiteral */) { // If the elemType is a stringLiteral type, we can then provide a check to make sure that the string literal type is one of the Jsx intrinsic element type // For example: // var CustomTag: "h1" = "h1"; // Hello World var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, context); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { var stringLiteralTypeName = valueType.value; var intrinsicProp = getPropertyOfType(intrinsicElementsType, ts.escapeLeadingUnderscores(stringLiteralTypeName)); if (intrinsicProp) { @@ -40751,7 +40960,7 @@ var ts; ctor = false; if (signatures.length === 0) { // We found no signatures at all, which is an error - return unknownType; + return errorType; } } var links = getNodeLinks(context); @@ -40772,7 +40981,7 @@ var ts; function getJsxPropsTypeFromCallSignature(sig, context) { var propsType = getTypeOfFirstParameterOfSignatureWithFallback(sig, emptyObjectType); var intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context); - if (intrinsicAttribs !== unknownType) { + if (intrinsicAttribs !== errorType) { propsType = intersectTypes(intrinsicAttribs, propsType); } return propsType; @@ -40806,7 +41015,7 @@ var ts; // Normal case -- add in IntrinsicClassElements and IntrinsicElements var apparentAttributesType = attributesType; var intrinsicClassAttribs = getJsxType(JsxNames.IntrinsicClassAttributes, context); - if (intrinsicClassAttribs !== unknownType) { + if (intrinsicClassAttribs !== errorType) { var typeParams = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(intrinsicClassAttribs.symbol); var hostClassType = getReturnTypeOfSignature(sig); apparentAttributesType = intersectTypes(typeParams @@ -40814,7 +41023,7 @@ var ts; : intrinsicClassAttribs, apparentAttributesType); } var intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context); - if (intrinsicAttribs !== unknownType) { + if (intrinsicAttribs !== errorType) { apparentAttributesType = intersectTypes(intrinsicAttribs, apparentAttributesType); } return apparentAttributesType; @@ -40847,7 +41056,7 @@ var ts; return sourceLength < targetParameterCount; } function isFunctionExpressionOrArrowFunction(node) { - return node.kind === 191 /* FunctionExpression */ || node.kind === 192 /* ArrowFunction */; + return node.kind === 192 /* FunctionExpression */ || node.kind === 193 /* ArrowFunction */; } function getContextualSignatureForFunctionLikeDeclaration(node) { // Only function expressions, arrow functions, and object literal methods are contextually typed. @@ -40866,7 +41075,7 @@ var ts; // all identical ignoring their return type, the result is same signature but with return type as // union type of return types from these signatures function getContextualSignature(node) { - ts.Debug.assert(node.kind !== 153 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); var type; if (ts.isInJavaScriptFile(node)) { var jsdoc = ts.getJSDocType(node); @@ -40880,7 +41089,7 @@ var ts; if (!type) { return undefined; } - if (!(type.flags & 131072 /* Union */)) { + if (!(type.flags & 262144 /* Union */)) { return getContextualCallSignature(type, node); } var signatureList; @@ -40919,8 +41128,8 @@ var ts; return checkIteratedTypeOrElementType(arrayOrIterableType, node.expression, /*allowStringInput*/ false, /*allowAsyncIterables*/ false); } function hasDefaultValue(node) { - return (node.kind === 181 /* BindingElement */ && !!node.initializer) || - (node.kind === 199 /* BinaryExpression */ && node.operatorToken.kind === 58 /* EqualsToken */); + return (node.kind === 182 /* BindingElement */ && !!node.initializer) || + (node.kind === 200 /* BinaryExpression */ && node.operatorToken.kind === 58 /* EqualsToken */); } function checkArrayLiteral(node, checkMode) { var elements = node.elements; @@ -40930,7 +41139,7 @@ var ts; var contextualType = getApparentTypeOfContextualType(node); for (var index = 0; index < elements.length; index++) { var e = elements[index]; - if (inDestructuringPattern && e.kind === 203 /* SpreadElement */) { + if (inDestructuringPattern && e.kind === 204 /* SpreadElement */) { // Given the following situation: // var c: {}; // [...c] = ["", 0]; @@ -40955,7 +41164,7 @@ var ts; var type = checkExpressionForMutableLocation(e, checkMode, elementContextualType); elementTypes.push(type); } - hasSpreadElement = hasSpreadElement || e.kind === 203 /* SpreadElement */; + hasSpreadElement = hasSpreadElement || e.kind === 204 /* SpreadElement */; } if (!hasSpreadElement) { // If array literal is actually a destructuring pattern, mark it as an implied type. We do this such @@ -40969,7 +41178,7 @@ var ts; var pattern = contextualType.pattern; // If array literal is contextually typed by a binding pattern or an assignment pattern, pad the resulting // tuple type with the corresponding binding or assignment element types to make the lengths equal. - if (pattern && (pattern.kind === 180 /* ArrayBindingPattern */ || pattern.kind === 182 /* ArrayLiteralExpression */)) { + if (pattern && (pattern.kind === 181 /* ArrayBindingPattern */ || pattern.kind === 183 /* ArrayLiteralExpression */)) { var patternElements = pattern.elements; for (var i = elementTypes.length; i < patternElements.length; i++) { var patternElement = patternElements[i]; @@ -40977,7 +41186,7 @@ var ts; elementTypes.push(contextualType.typeArguments[i]); } else { - if (patternElement.kind !== 205 /* OmittedExpression */) { + if (patternElement.kind !== 206 /* OmittedExpression */) { error(patternElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value); } elementTypes.push(strictNullChecks ? implicitNeverType : undefinedWideningType); @@ -40995,7 +41204,7 @@ var ts; } function isNumericName(name) { switch (name.kind) { - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return isNumericComputedName(name); case 71 /* Identifier */: return isNumericLiteralName(name.escapedText); @@ -41009,7 +41218,7 @@ var ts; function isNumericComputedName(name) { // It seems odd to consider an expression of type Any to result in a numeric name, // but this behavior is consistent with checkIndexedAccess - return isTypeAssignableToKind(checkComputedPropertyName(name), 84 /* NumberLike */); + return isTypeAssignableToKind(checkComputedPropertyName(name), 168 /* NumberLike */); } function isInfinityOrNaNString(name) { return name === "Infinity" || name === "-Infinity" || name === "NaN"; @@ -41044,8 +41253,8 @@ var ts; links.resolvedType = checkExpression(node.expression); // This will allow types number, string, symbol or any. It will also allow enums, the unknown // type, and any union of these types (like string | number). - if (links.resolvedType.flags & 12288 /* Nullable */ || - !isTypeAssignableToKind(links.resolvedType, 34 /* StringLike */ | 84 /* NumberLike */ | 1536 /* ESSymbolLike */) && + if (links.resolvedType.flags & 24576 /* Nullable */ || + !isTypeAssignableToKind(links.resolvedType, 68 /* StringLike */ | 168 /* NumberLike */ | 3072 /* ESSymbolLike */) && !isTypeAssignableTo(links.resolvedType, stringNumberSymbolType)) { error(node, ts.Diagnostics.A_computed_property_name_must_be_of_type_string_number_symbol_or_any); } @@ -41072,23 +41281,26 @@ var ts; var propertiesTable; var propertiesArray = []; var spread = emptyObjectType; - var propagatedFlags = 8388608 /* FreshLiteral */; + var propagatedFlags = 33554432 /* FreshLiteral */; var contextualType = getApparentTypeOfContextualType(node); var contextualTypeHasPattern = contextualType && contextualType.pattern && - (contextualType.pattern.kind === 179 /* ObjectBindingPattern */ || contextualType.pattern.kind === 183 /* ObjectLiteralExpression */); + (contextualType.pattern.kind === 180 /* ObjectBindingPattern */ || contextualType.pattern.kind === 184 /* ObjectLiteralExpression */); var isInJSFile = ts.isInJavaScriptFile(node) && !ts.isInJsonFile(node); var isJSObjectLiteral = !contextualType && isInJSFile; var typeFlags = 0; var patternWithComputedProperties = false; var hasComputedStringProperty = false; var hasComputedNumberProperty = false; - if (isInJSFile && node.properties.length === 0) { - // an empty JS object literal that nonetheless has members is a JS namespace - var symbol = getSymbolOfNode(node); - if (symbol.exports) { - propertiesTable = symbol.exports; - symbol.exports.forEach(function (symbol) { return propertiesArray.push(getMergedSymbol(symbol)); }); - return createObjectLiteralType(); + if (isInJSFile) { + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + // a JS object literal whose declaration's symbol has exports is a JS namespace + var symbol = getMergedSymbol(decl.symbol); + if (symbol && ts.hasEntries(symbol.exports)) { + propertiesTable = symbol.exports; + symbol.exports.forEach(function (symbol) { return propertiesArray.push(getMergedSymbol(symbol)); }); + return createObjectLiteralType(); + } } } propertiesTable = ts.createSymbolTable(); @@ -41096,13 +41308,13 @@ var ts; for (var i = 0; i < node.properties.length; i++) { var memberDecl = node.properties[i]; var member = getSymbolOfNode(memberDecl); - var computedNameType = memberDecl.name && memberDecl.name.kind === 146 /* ComputedPropertyName */ && !ts.isWellKnownSymbolSyntactically(memberDecl.name.expression) ? + var computedNameType = memberDecl.name && memberDecl.name.kind === 147 /* ComputedPropertyName */ && !ts.isWellKnownSymbolSyntactically(memberDecl.name.expression) ? checkComputedPropertyName(memberDecl.name) : undefined; - if (memberDecl.kind === 269 /* PropertyAssignment */ || - memberDecl.kind === 270 /* ShorthandPropertyAssignment */ || + if (memberDecl.kind === 270 /* PropertyAssignment */ || + memberDecl.kind === 271 /* ShorthandPropertyAssignment */ || ts.isObjectLiteralMethod(memberDecl)) { - var type = memberDecl.kind === 269 /* PropertyAssignment */ ? checkPropertyAssignment(memberDecl, checkMode) : - memberDecl.kind === 270 /* ShorthandPropertyAssignment */ ? checkExpressionForMutableLocation(memberDecl.name, checkMode) : + var type = memberDecl.kind === 270 /* PropertyAssignment */ ? checkPropertyAssignment(memberDecl, checkMode) : + memberDecl.kind === 271 /* ShorthandPropertyAssignment */ ? checkExpressionForMutableLocation(memberDecl.name, checkMode) : checkObjectLiteralMethod(memberDecl, checkMode); if (isInJSFile) { var jsDocType = getTypeForDeclarationFromJSDocComment(memberDecl); @@ -41112,7 +41324,7 @@ var ts; } } typeFlags |= type.flags; - var nameType = computedNameType && computedNameType.flags & 1120 /* StringOrNumberLiteralOrUnique */ ? + var nameType = computedNameType && computedNameType.flags & 2240 /* StringOrNumberLiteralOrUnique */ ? computedNameType : undefined; var prop = nameType ? createSymbol(4 /* Property */ | member.flags, getLateBoundNameFromType(nameType), 1024 /* Late */) : @@ -41123,8 +41335,8 @@ var ts; if (inDestructuringPattern) { // If object literal is an assignment pattern and if the assignment pattern specifies a default value // for the property, make the property optional. - var isOptional = (memberDecl.kind === 269 /* PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) || - (memberDecl.kind === 270 /* ShorthandPropertyAssignment */ && memberDecl.objectAssignmentInitializer); + var isOptional = (memberDecl.kind === 270 /* PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) || + (memberDecl.kind === 271 /* ShorthandPropertyAssignment */ && memberDecl.objectAssignmentInitializer); if (isOptional) { prop.flags |= 16777216 /* Optional */; } @@ -41149,7 +41361,7 @@ var ts; prop.target = member; member = prop; } - else if (memberDecl.kind === 271 /* SpreadAssignment */) { + else if (memberDecl.kind === 272 /* SpreadAssignment */) { if (languageVersion < 2 /* ES2015 */) { checkExternalEmitHelpers(memberDecl, 2 /* Assign */); } @@ -41164,7 +41376,7 @@ var ts; var type = checkExpression(memberDecl.expression); if (!isValidSpreadType(type)) { error(memberDecl, ts.Diagnostics.Spread_types_may_only_be_created_from_object_types); - return unknownType; + return errorType; } spread = getSpreadType(spread, type, node.symbol, propagatedFlags, /*objectFlags*/ 0); offset = i + 1; @@ -41176,10 +41388,10 @@ var ts; // an ordinary function declaration(section 6.1) with no parameters. // A set accessor declaration is processed in the same manner // as an ordinary function declaration with a single parameter and a Void return type. - ts.Debug.assert(memberDecl.kind === 155 /* GetAccessor */ || memberDecl.kind === 156 /* SetAccessor */); + ts.Debug.assert(memberDecl.kind === 156 /* GetAccessor */ || memberDecl.kind === 157 /* SetAccessor */); checkNodeDeferred(memberDecl); } - if (computedNameType && !(computedNameType.flags & 1120 /* StringOrNumberLiteralOrUnique */)) { + if (computedNameType && !(computedNameType.flags & 2240 /* StringOrNumberLiteralOrUnique */)) { if (isTypeAssignableTo(computedNameType, stringNumberSymbolType)) { if (isTypeAssignableTo(computedNameType, numberType)) { hasComputedNumberProperty = true; @@ -41222,8 +41434,8 @@ var ts; var stringIndexInfo = isJSObjectLiteral ? jsObjectLiteralIndexInfo : hasComputedStringProperty ? getObjectLiteralIndexInfo(node.properties, offset, propertiesArray, 0 /* String */) : undefined; var numberIndexInfo = hasComputedNumberProperty && !isJSObjectLiteral ? getObjectLiteralIndexInfo(node.properties, offset, propertiesArray, 1 /* Number */) : undefined; var result = createAnonymousType(node.symbol, propertiesTable, ts.emptyArray, ts.emptyArray, stringIndexInfo, numberIndexInfo); - var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 8388608 /* FreshLiteral */; - result.flags |= 33554432 /* ContainsObjectLiteral */ | freshObjectLiteralFlag | (typeFlags & 117440512 /* PropagatingFlags */); + var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 33554432 /* FreshLiteral */; + result.flags |= 268435456 /* ContainsObjectLiteral */ | freshObjectLiteralFlag | (typeFlags & 939524096 /* PropagatingFlags */); result.objectFlags |= 128 /* ObjectLiteral */; if (patternWithComputedProperties) { result.objectFlags |= 512 /* ObjectLiteralPatternWithComputedProperties */; @@ -41231,17 +41443,17 @@ var ts; if (inDestructuringPattern) { result.pattern = node; } - if (!(result.flags & 12288 /* Nullable */)) { - propagatedFlags |= (result.flags & 117440512 /* PropagatingFlags */); + if (!(result.flags & 24576 /* Nullable */)) { + propagatedFlags |= (result.flags & 939524096 /* PropagatingFlags */); } return result; } } function isValidSpreadType(type) { - return !!(type.flags & (1 /* Any */ | 134217728 /* NonPrimitive */) || - getFalsyFlags(type) & 14560 /* DefinitelyFalsy */ && isValidSpreadType(removeDefinitelyFalsyTypes(type)) || - type.flags & 65536 /* Object */ && !isGenericMappedType(type) || - type.flags & 393216 /* UnionOrIntersection */ && !ts.forEach(type.types, function (t) { return !isValidSpreadType(t); })); + return !!(type.flags & (3 /* AnyOrUnknown */ | 16777216 /* NonPrimitive */) || + getFalsyFlags(type) & 29120 /* DefinitelyFalsy */ && isValidSpreadType(removeDefinitelyFalsyTypes(type)) || + type.flags & 131072 /* Object */ && !isGenericMappedType(type) || + type.flags & 786432 /* UnionOrIntersection */ && !ts.forEach(type.types, function (t) { return !isValidSpreadType(t); })); } function checkJsxSelfClosingElement(node, checkMode) { checkJsxOpeningLikeElementOrOpeningFragment(node, checkMode); @@ -41281,13 +41493,13 @@ var ts; function isJsxIntrinsicIdentifier(tagName) { // TODO (yuisu): comment switch (tagName.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: case 99 /* ThisKeyword */: return false; case 71 /* Identifier */: return ts.isIntrinsicJsxName(tagName.escapedText); default: - ts.Debug.fail(); + return ts.Debug.fail(); } } function checkJsxAttribute(node, checkMode) { @@ -41331,7 +41543,7 @@ var ts; } } else { - ts.Debug.assert(attributeDecl.kind === 263 /* JsxSpreadAttribute */); + ts.Debug.assert(attributeDecl.kind === 264 /* JsxSpreadAttribute */); if (attributesTable.size > 0) { spread = getSpreadType(spread, createJsxAttributesType(), attributes.symbol, /*typeFlags*/ 0, 4096 /* JsxAttributes */); attributesTable = ts.createSymbolTable(); @@ -41354,7 +41566,7 @@ var ts; } } // Handle children attribute - var parent = openingLikeElement.parent.kind === 254 /* JsxElement */ ? openingLikeElement.parent : undefined; + var parent = openingLikeElement.parent.kind === 255 /* JsxElement */ ? openingLikeElement.parent : undefined; // We have to check that openingElement of the parent is the one we are visiting as this may not be true for selfClosingElement if (parent && parent.openingElement === openingLikeElement && parent.children.length > 0) { var childrenTypes = checkJsxChildren(parent, checkMode); @@ -41389,7 +41601,7 @@ var ts; */ function createJsxAttributesType() { var result = createAnonymousType(attributes.symbol, attributesTable, ts.emptyArray, ts.emptyArray, /*stringIndexInfo*/ undefined, /*numberIndexInfo*/ undefined); - result.flags |= 33554432 /* ContainsObjectLiteral */; + result.flags |= 268435456 /* ContainsObjectLiteral */; result.objectFlags |= 128 /* ObjectLiteral */ | 4096 /* JsxAttributes */; return result; } @@ -41423,7 +41635,7 @@ var ts; var namespace = getJsxNamespaceAt(location); var exports = namespace && getExportsOfSymbol(namespace); var typeSymbol = exports && getSymbol(exports, name, 67901928 /* Type */); - return typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : unknownType; + return typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : errorType; } /** * Looks up an intrinsic tag name and returns a symbol that either points to an intrinsic @@ -41435,7 +41647,7 @@ var ts; var links = getNodeLinks(node); if (!links.resolvedSymbol) { var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, node); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { // Property case if (!ts.isIdentifier(node.tagName)) return ts.Debug.fail(); @@ -41501,6 +41713,7 @@ var ts; return instantiatedSignatures; } function getJsxSignatureTypeArgumentInstantiation(signature, node, isJavascript, reportErrors) { + if (reportErrors === void 0) { reportErrors = false; } if (!node.typeArguments) { return; } @@ -41523,7 +41736,7 @@ var ts; } } // JSX global fallback - return getGlobalSymbol(JsxNames.JSX, 1920 /* Namespace */, /*diagnosticMessage*/ undefined); + return getGlobalSymbol(JsxNames.JSX, 1920 /* Namespace */, /*diagnosticMessage*/ undefined); // TODO: GH#18217 } /** * Look into JSX namespace and then look for container with matching name as nameOfAttribPropContainer. @@ -41571,7 +41784,7 @@ var ts; if (!propsType) { return undefined; } - if (propsType.flags & 262144 /* Intersection */) { + if (propsType.flags & 524288 /* Intersection */) { var propsApparentType = []; for (var _i = 0, _a = propsType.types; _i < _a.length; _i++) { var t = _a[_i]; @@ -41592,7 +41805,7 @@ var ts; * @param elementClassType a JSX-ElementClass type. This is a result of looking up ElementClass interface in the JSX global */ function defaultTryGetJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType) { - ts.Debug.assert(!(elementType.flags & 131072 /* Union */)); + ts.Debug.assert(!(elementType.flags & 262144 /* Union */)); if (!elementClassType || !isTypeAssignableTo(elemInstanceType, elementClassType)) { var jsxStatelessElementType = getJsxStatelessElementTypeAt(openingLikeElement); if (jsxStatelessElementType) { @@ -41605,7 +41818,7 @@ var ts; if (callReturnType && isTypeAssignableTo(callReturnType, jsxStatelessElementType)) { // Intersect in JSX.IntrinsicAttributes if it exists var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, openingLikeElement); - if (intrinsicAttributes !== unknownType) { + if (intrinsicAttributes !== errorType) { paramType = intersectTypes(intrinsicAttributes, paramType); } return paramType; @@ -41626,7 +41839,7 @@ var ts; * @param elementClassType a JSX-ElementClass type. This is a result of looking up ElementClass interface in the JSX global */ function tryGetAllJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType) { - ts.Debug.assert(!(elementType.flags & 131072 /* Union */)); + ts.Debug.assert(!(elementType.flags & 262144 /* Union */)); if (!elementClassType || !isTypeAssignableTo(elemInstanceType, elementClassType)) { // Is this is a stateless function component? See if its single signature's return type is assignable to the JSX Element Type var jsxStatelessElementType = getJsxStatelessElementTypeAt(openingLikeElement); @@ -41639,6 +41852,7 @@ var ts; for (var _i = 0, candidatesOutArray_1 = candidatesOutArray; _i < candidatesOutArray_1.length; _i++) { var candidate = candidatesOutArray_1[_i]; var callReturnType = getReturnTypeOfSignature(candidate); + // TODO: GH#18217: callReturnType should always be defined... var paramType = callReturnType && (candidate.parameters.length === 0 ? emptyObjectType : getTypeOfSymbol(candidate.parameters[0])); paramType = getApparentTypeOfJsxPropsType(paramType); if (callReturnType && isTypeAssignableTo(callReturnType, jsxStatelessElementType)) { @@ -41647,7 +41861,7 @@ var ts; var attribute = _b[_a]; if (ts.isJsxAttribute(attribute) && isUnhyphenatedJsxName(attribute.name.escapedText) && - !getPropertyOfType(paramType, attribute.name.escapedText)) { + !getPropertyOfType(paramType, attribute.name.escapedText)) { // TODO: GH#18217 shouldBeCandidate = false; break; } @@ -41664,7 +41878,7 @@ var ts; } // Intersect in JSX.IntrinsicAttributes if it exists var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, openingLikeElement); - if (intrinsicAttributes !== unknownType) { + if (intrinsicAttributes !== errorType) { result = intersectTypes(intrinsicAttributes, result); } return result; @@ -41722,7 +41936,7 @@ var ts; * emptyObjectType if there is no "prop" in the element instance type */ function resolveCustomJsxElementAttributesType(openingLikeElement, shouldIncludeAllStatelessAttributesType, elementType, elementClassType) { - if (elementType.flags & 131072 /* Union */) { + if (elementType.flags & 262144 /* Union */) { var types = elementType.types; return getUnionType(types.map(function (type) { return resolveCustomJsxElementAttributesType(openingLikeElement, shouldIncludeAllStatelessAttributesType, type, elementClassType); @@ -41733,16 +41947,16 @@ var ts; return elementType; } // If the elemType is a string type, we have to return anyType to prevent an error downstream as we will try to find construct or call signature of the type - else if (elementType.flags & 2 /* String */) { + else if (elementType.flags & 4 /* String */) { return anyType; } - else if (elementType.flags & 32 /* StringLiteral */) { + else if (elementType.flags & 64 /* StringLiteral */) { // If the elemType is a stringLiteral type, we can then provide a check to make sure that the string literal type is one of the Jsx intrinsic element type // For example: // var CustomTag: "h1" = "h1"; // Hello World var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, openingLikeElement); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { var stringLiteralTypeName = elementType.value; var intrinsicProp = getPropertyOfType(intrinsicElementsType, ts.escapeLeadingUnderscores(stringLiteralTypeName)); if (intrinsicProp) { @@ -41760,9 +41974,9 @@ var ts; // Get the element instance type (the result of newing or invoking this tag) var instantiatedSignatures = getInstantiatedJsxSignatures(openingLikeElement, elementType, /*reportErrors*/ true); if (!ts.length(instantiatedSignatures)) { - return unknownType; + return errorType; } - var elemInstanceType = getUnionType(ts.map(instantiatedSignatures, getReturnTypeOfSignature), 2 /* Subtype */); + var elemInstanceType = getUnionType(instantiatedSignatures.map(getReturnTypeOfSignature), 2 /* Subtype */); // If we should include all stateless attributes type, then get all attributes type from all stateless function signature. // Otherwise get only attributes type from the signature picked by choose-overload logic. var statelessAttributesType = shouldIncludeAllStatelessAttributesType ? @@ -41776,7 +41990,7 @@ var ts; checkTypeRelatedTo(elemInstanceType, elementClassType, assignableRelation, openingLikeElement, ts.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements); } var isJs = ts.isInJavaScriptFile(openingLikeElement); - return getUnionType(ts.map(instantiatedSignatures, function (sig) { return getJsxPropsTypeFromClassType(sig, isJs, openingLikeElement, /*reportErrors*/ true); })); + return getUnionType(instantiatedSignatures.map(function (sig) { return getJsxPropsTypeFromClassType(sig, isJs, openingLikeElement, /*reportErrors*/ true); })); } /** * Get attributes type of the given intrinsic opening-like Jsx element by resolving the tag name. @@ -41795,7 +42009,7 @@ var ts; return links.resolvedJsxElementAttributesType = getIndexInfoOfSymbol(symbol, 0 /* String */).type; } else { - return links.resolvedJsxElementAttributesType = unknownType; + return links.resolvedJsxElementAttributesType = errorType; } } return links.resolvedJsxElementAttributesType; @@ -41849,7 +42063,7 @@ var ts; } function getJsxElementClassTypeAt(location) { var type = getJsxType(JsxNames.ElementClass, location); - if (type === unknownType) + if (type === errorType) return undefined; return type; } @@ -41922,7 +42136,7 @@ var ts; * @param isComparingJsxAttributes a boolean flag indicating whether we are searching in JsxAttributesType */ function isKnownProperty(targetType, name, isComparingJsxAttributes) { - if (targetType.flags & 65536 /* Object */) { + if (targetType.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(targetType); if (resolved.stringIndexInfo || resolved.numberIndexInfo && isNumericLiteralName(name) || @@ -41932,7 +42146,7 @@ var ts; return true; } } - else if (targetType.flags & 393216 /* UnionOrIntersection */) { + else if (targetType.flags & 786432 /* UnionOrIntersection */) { for (var _i = 0, _a = targetType.types; _i < _a.length; _i++) { var t = _a[_i]; if (isKnownProperty(t, name, isComparingJsxAttributes)) { @@ -42018,13 +42232,13 @@ var ts; return type; } else { - return unknownType; + return errorType; } } // If a symbol is a synthesized symbol with no value declaration, we assume it is a property. Example of this are the synthesized // '.prototype' property as well as synthesized tuple index properties. function getDeclarationKindFromSymbol(s) { - return s.valueDeclaration ? s.valueDeclaration.kind : 151 /* PropertyDeclaration */; + return s.valueDeclaration ? s.valueDeclaration.kind : 152 /* PropertyDeclaration */; } function getDeclarationNodeFlagsFromSymbol(s) { return s.valueDeclaration ? ts.getCombinedNodeFlags(s.valueDeclaration) : 0; @@ -42053,9 +42267,9 @@ var ts; */ function checkPropertyAccessibility(node, left, type, prop) { var flags = ts.getDeclarationModifierFlagsFromSymbol(prop); - var errorNode = node.kind === 184 /* PropertyAccessExpression */ || node.kind === 231 /* VariableDeclaration */ ? + var errorNode = node.kind === 185 /* PropertyAccessExpression */ || node.kind === 232 /* VariableDeclaration */ ? node.name : - node.kind === 178 /* ImportType */ ? + node.kind === 179 /* ImportType */ ? node : node.right; if (ts.getCheckFlags(prop) & 256 /* ContainsPrivate */) { @@ -42090,7 +42304,7 @@ var ts; if ((flags & 128 /* Abstract */) && ts.isThisProperty(node) && symbolHasNonMethodDeclaration(prop)) { var declaringClassDeclaration = ts.getClassLikeDeclarationOfSymbol(getParentOfSymbol(prop)); if (declaringClassDeclaration && isNodeWithinConstructorOfClass(node, declaringClassDeclaration)) { - error(errorNode, ts.Diagnostics.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor, symbolToString(prop), ts.getTextOfIdentifierOrLiteral(declaringClassDeclaration.name)); + error(errorNode, ts.Diagnostics.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor, symbolToString(prop), ts.getTextOfIdentifierOrLiteral(declaringClassDeclaration.name)); // TODO: GH#18217 return false; } } @@ -42128,9 +42342,9 @@ var ts; if (flags & 32 /* Static */) { return true; } - if (type.flags & 32768 /* TypeParameter */) { + if (type.flags & 65536 /* TypeParameter */) { // get the original type -- represented as the type constraint of the 'this' type - type = type.isThisType ? getConstraintOfTypeParameter(type) : getBaseConstraintOfType(type); + type = type.isThisType ? getConstraintOfTypeParameter(type) : getBaseConstraintOfType(type); // TODO: GH#18217 Use a different variable that's allowed to be undefined } if (!type || !hasBaseType(type, enclosingClass)) { error(errorNode, ts.Diagnostics.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1, symbolToString(prop), typeToString(enclosingClass)); @@ -42141,21 +42355,25 @@ var ts; function symbolHasNonMethodDeclaration(symbol) { return forEachProperty(symbol, function (prop) { var propKind = getDeclarationKindFromSymbol(prop); - return propKind !== 153 /* MethodDeclaration */ && propKind !== 152 /* MethodSignature */; + return propKind !== 154 /* MethodDeclaration */ && propKind !== 153 /* MethodSignature */; }); } function checkNonNullExpression(node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic) { return checkNonNullType(checkExpression(node), node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic); } function checkNonNullType(type, node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic) { - var kind = (strictNullChecks ? getFalsyFlags(type) : type.flags) & 12288 /* Nullable */; + if (type.flags & 2 /* Unknown */) { + error(node, ts.Diagnostics.Object_is_of_type_unknown); + return errorType; + } + var kind = (strictNullChecks ? getFalsyFlags(type) : type.flags) & 24576 /* Nullable */; if (kind) { - error(node, kind & 4096 /* Undefined */ ? kind & 8192 /* Null */ ? + error(node, kind & 8192 /* Undefined */ ? kind & 16384 /* Null */ ? (nullOrUndefinedDiagnostic || ts.Diagnostics.Object_is_possibly_null_or_undefined) : (undefinedDiagnostic || ts.Diagnostics.Object_is_possibly_undefined) : (nullDiagnostic || ts.Diagnostics.Object_is_possibly_null)); var t = getNonNullableType(type); - return t.flags & (12288 /* Nullable */ | 16384 /* Never */) ? unknownType : t; + return t.flags & (24576 /* Nullable */ | 32768 /* Never */) ? errorType : t; } return type; } @@ -42185,9 +42403,9 @@ var ts; var indexInfo = getIndexInfoOfType(apparentType, 0 /* String */); if (!(indexInfo && indexInfo.type)) { if (right.escapedText && !checkAndReportErrorForExtendingInterface(node)) { - reportNonexistentProperty(right, leftType.flags & 32768 /* TypeParameter */ && leftType.isThisType ? apparentType : leftType); + reportNonexistentProperty(right, leftType.flags & 65536 /* TypeParameter */ && leftType.isThisType ? apparentType : leftType); } - return unknownType; + return errorType; } if (indexInfo.isReadonly && (ts.isAssignmentTarget(node) || ts.isDeleteTarget(node))) { error(node, ts.Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(apparentType)); @@ -42202,7 +42420,7 @@ var ts; if (assignmentKind) { if (isReferenceToReadonlyEntity(node, prop) || isReferenceThroughNamespaceImport(node)) { error(right, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, ts.idText(right)); - return unknownType; + return errorType; } } propType = getConstraintForLocation(getTypeOfSymbol(prop), node); @@ -42210,9 +42428,9 @@ var ts; // Only compute control flow type if this is a property access expression that isn't an // assignment target, and the referenced property was declared as a variable, property, // accessor, or optional method. - if (node.kind !== 184 /* PropertyAccessExpression */ || + if (node.kind !== 185 /* PropertyAccessExpression */ || assignmentKind === 1 /* Definite */ || - prop && !(prop.flags & (3 /* Variable */ | 4 /* Property */ | 98304 /* Accessor */)) && !(prop.flags & 8192 /* Method */ && propType.flags & 131072 /* Union */)) { + prop && !(prop.flags & (3 /* Variable */ | 4 /* Property */ | 98304 /* Accessor */)) && !(prop.flags & 8192 /* Method */ && propType.flags & 262144 /* Union */)) { return propType; } // If strict null checks and strict property initialization checks are enabled, if we have @@ -42224,14 +42442,14 @@ var ts; var declaration = prop && prop.valueDeclaration; if (declaration && isInstancePropertyWithoutInitializer(declaration)) { var flowContainer = getControlFlowContainer(node); - if (flowContainer.kind === 154 /* Constructor */ && flowContainer.parent === declaration.parent) { + if (flowContainer.kind === 155 /* Constructor */ && flowContainer.parent === declaration.parent) { assumeUninitialized = true; } } } var flowType = getFlowTypeOfReference(node, propType, assumeUninitialized ? getOptionalType(propType) : propType); - if (assumeUninitialized && !(getFalsyFlags(propType) & 4096 /* Undefined */) && getFalsyFlags(flowType) & 4096 /* Undefined */) { - error(right, ts.Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(prop)); + if (assumeUninitialized && !(getFalsyFlags(propType) & 8192 /* Undefined */) && getFalsyFlags(flowType) & 8192 /* Undefined */) { + error(right, ts.Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(prop)); // TODO: GH#18217 // Return the declared type to reduce follow-on errors return propType; } @@ -42247,8 +42465,8 @@ var ts; && !isPropertyDeclaredInAncestorClass(prop)) { error(right, ts.Diagnostics.Block_scoped_variable_0_used_before_its_declaration, ts.idText(right)); } - else if (valueDeclaration.kind === 234 /* ClassDeclaration */ && - node.parent.kind !== 161 /* TypeReference */ && + else if (valueDeclaration.kind === 235 /* ClassDeclaration */ && + node.parent.kind !== 162 /* TypeReference */ && !(valueDeclaration.flags & 4194304 /* Ambient */) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right)) { error(right, ts.Diagnostics.Class_0_used_before_its_declaration, ts.idText(right)); @@ -42257,9 +42475,9 @@ var ts; function isInPropertyInitializer(node) { return !!ts.findAncestor(node, function (node) { switch (node.kind) { - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return true; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: // We might be in `a = { b: this.b }`, so keep looking. See `tests/cases/compiler/useBeforeDeclaration_propertyAssignment.ts`. return false; default: @@ -42296,7 +42514,7 @@ var ts; } function reportNonexistentProperty(propNode, containingType) { var errorInfo; - if (containingType.flags & 131072 /* Union */ && !(containingType.flags & 16382 /* Primitive */)) { + if (containingType.flags & 262144 /* Union */ && !(containingType.flags & 32764 /* Primitive */)) { for (var _i = 0, _a = containingType.types; _i < _a.length; _i++) { var subtype = _a[_i]; if (!getPropertyOfType(subtype, propNode.escapedText)) { @@ -42453,20 +42671,20 @@ var ts; } function isValidPropertyAccess(node, propertyName) { switch (node.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return isValidPropertyAccessWithType(node, node.expression, propertyName, getWidenedType(checkExpression(node.expression))); - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return isValidPropertyAccessWithType(node, node.left, propertyName, getWidenedType(checkExpression(node.left))); - case 178 /* ImportType */: + case 179 /* ImportType */: return isValidPropertyAccessWithType(node, node, propertyName, getTypeFromTypeNode(node)); } } function isValidPropertyAccessForCompletions(node, type, property) { - return isValidPropertyAccessWithType(node, node.kind === 178 /* ImportType */ ? node : node.expression, property.escapedName, type) + return isValidPropertyAccessWithType(node, node.kind === 179 /* ImportType */ ? node : node.expression, property.escapedName, type) && (!(property.flags & 8192 /* Method */) || isValidMethodAccess(property, type)); } function isValidMethodAccess(method, actualThisType) { - var propType = getTypeOfFuncClassEnumModule(method); + var propType = getTypeOfPropertyOfType(actualThisType, method.escapedName); var signatures = getSignaturesOfType(getNonNullableType(propType), 0 /* Call */); ts.Debug.assert(signatures.length !== 0); return signatures.some(function (sig) { @@ -42483,20 +42701,20 @@ var ts; return instantiateType(signatureThisType, createSignatureTypeMapper(sig, getInferredTypes(context))); } function isValidPropertyAccessWithType(node, left, propertyName, type) { - if (type === unknownType || isTypeAny(type)) { + if (type === errorType || isTypeAny(type)) { return true; } var prop = getPropertyOfType(type, propertyName); return prop ? checkPropertyAccessibility(node, left, type, prop) // In js files properties of unions are allowed in completion - : ts.isInJavaScriptFile(node) && (type.flags & 131072 /* Union */) && type.types.some(function (elementType) { return isValidPropertyAccessWithType(node, left, propertyName, elementType); }); + : ts.isInJavaScriptFile(node) && (type.flags & 262144 /* Union */) !== 0 && type.types.some(function (elementType) { return isValidPropertyAccessWithType(node, left, propertyName, elementType); }); } /** * Return the symbol of the for-in variable declared or referenced by the given for-in statement. */ function getForInVariableSymbol(node) { var initializer = node.initializer; - if (initializer.kind === 232 /* VariableDeclarationList */) { + if (initializer.kind === 233 /* VariableDeclarationList */) { var variable = initializer.declarations[0]; if (variable && !ts.isBindingPattern(variable.name)) { return getSymbolOfNode(variable); @@ -42525,7 +42743,7 @@ var ts; var child = expr; var node = expr.parent; while (node) { - if (node.kind === 220 /* ForInStatement */ && + if (node.kind === 221 /* ForInStatement */ && child === node.statement && getForInVariableSymbol(node) === symbol && hasNumericPropertyNames(getTypeOfExpression(node.expression))) { @@ -42543,7 +42761,7 @@ var ts; var indexExpression = node.argumentExpression; if (!indexExpression) { var sourceFile = ts.getSourceFileOfNode(node); - if (node.parent.kind === 187 /* NewExpression */ && node.parent.expression === node) { + if (node.parent.kind === 188 /* NewExpression */ && node.parent.expression === node) { var start = ts.skipTrivia(sourceFile.text, node.expression.end); var end = node.end; grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead); @@ -42553,20 +42771,20 @@ var ts; var end = node.end; grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.Expression_expected); } - return unknownType; + return errorType; } var indexType = isForInVariableForNumericPropertyNames(indexExpression) ? numberType : checkExpression(indexExpression); - if (objectType === unknownType || objectType === silentNeverType) { + if (objectType === errorType || objectType === silentNeverType) { return objectType; } if (isConstEnumObjectType(objectType) && indexExpression.kind !== 9 /* StringLiteral */) { error(indexExpression, ts.Diagnostics.A_const_enum_member_can_only_be_accessed_using_a_string_literal); - return unknownType; + return errorType; } return checkIndexedAccessIndexType(getIndexedAccessType(objectType, indexType, node), node); } function checkThatExpressionIsProperSymbolReference(expression, expressionType, reportError) { - if (expressionType === unknownType) { + if (expressionType === errorType) { // There is already an error, so no need to report one. return false; } @@ -42574,7 +42792,7 @@ var ts; return false; } // Make sure the property type is the primitive symbol type - if ((expressionType.flags & 1536 /* ESSymbolLike */) === 0) { + if ((expressionType.flags & 3072 /* ESSymbolLike */) === 0) { if (reportError) { error(expression, ts.Diagnostics.A_computed_property_name_of_the_form_0_must_be_of_type_symbol, ts.getTextOfNode(expression)); } @@ -42610,10 +42828,10 @@ var ts; // This gets us diagnostics for the type arguments and marks them as referenced. ts.forEach(node.typeArguments, checkSourceElement); } - if (node.kind === 188 /* TaggedTemplateExpression */) { + if (node.kind === 189 /* TaggedTemplateExpression */) { checkExpression(node.template); } - else if (node.kind !== 149 /* Decorator */) { + else if (node.kind !== 150 /* Decorator */) { ts.forEach(node.arguments, function (argument) { checkExpression(argument); }); @@ -42646,7 +42864,7 @@ var ts; var parent = signature.declaration && signature.declaration.parent; if (!lastSymbol || symbol === lastSymbol) { if (lastParent && parent === lastParent) { - index++; + index = index + 1; } else { lastParent = parent; @@ -42679,7 +42897,7 @@ var ts; function getSpreadArgumentIndex(args) { for (var i = 0; i < args.length; i++) { var arg = args[i]; - if (arg && arg.kind === 203 /* SpreadElement */) { + if (arg && arg.kind === 204 /* SpreadElement */) { return i; } } @@ -42689,22 +42907,21 @@ var ts; if (signatureHelpTrailingComma === void 0) { signatureHelpTrailingComma = false; } var argCount; // Apparent number of arguments we will have in this call var typeArguments; // Type arguments (undefined if none) - var callIsIncomplete; // In incomplete call we want to be lenient when we have too few arguments + var callIsIncomplete = false; // In incomplete call we want to be lenient when we have too few arguments var spreadArgIndex = -1; if (ts.isJsxOpeningLikeElement(node)) { // The arity check will be done in "checkApplicableSignatureForJsxOpeningLikeElement". return true; } - if (node.kind === 188 /* TaggedTemplateExpression */) { + if (node.kind === 189 /* TaggedTemplateExpression */) { // Even if the call is incomplete, we'll have a missing expression as our last argument, // so we can say the count is just the arg list length argCount = args.length; - typeArguments = undefined; - if (node.template.kind === 201 /* TemplateExpression */) { + typeArguments = node.typeArguments; + if (node.template.kind === 202 /* TemplateExpression */) { // If a tagged template expression lacks a tail literal, the call is incomplete. // Specifically, a template only can end in a TemplateTail or a Missing literal. - var lastSpan = ts.lastOrUndefined(node.template.templateSpans); - ts.Debug.assert(lastSpan !== undefined); // we should always have at least one span. + var lastSpan = ts.last(node.template.templateSpans); // we should always have at least one span. callIsIncomplete = ts.nodeIsMissing(lastSpan.literal) || !!lastSpan.literal.isUnterminated; } else { @@ -42716,14 +42933,14 @@ var ts; callIsIncomplete = !!templateLiteral.isUnterminated; } } - else if (node.kind === 149 /* Decorator */) { + else if (node.kind === 150 /* Decorator */) { typeArguments = undefined; argCount = getEffectiveArgumentCount(node, /*args*/ undefined, signature); } else { if (!node.arguments) { // This only happens when we have something of the form: 'new C' - ts.Debug.assert(node.kind === 187 /* NewExpression */); + ts.Debug.assert(node.kind === 188 /* NewExpression */); return signature.minArgumentCount === 0; } argCount = signatureHelpTrailingComma ? args.length + 1 : args.length; @@ -42758,7 +42975,7 @@ var ts; } // If type has a single call signature and no other members, return that signature. Otherwise, return undefined. function getSingleCallSignature(type) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); if (resolved.callSignatures.length === 1 && resolved.constructSignatures.length === 0 && resolved.properties.length === 0 && !resolved.stringIndexInfo && !resolved.numberIndexInfo) { @@ -42806,7 +43023,7 @@ var ts; // example, given a 'function wrap(cb: (x: T) => U): (x: T) => U' and a call expression // 'let f: (x: string) => number = wrap(s => s.length)', we infer from the declared type of 'f' to the // return type of 'wrap'. - if (node.kind !== 149 /* Decorator */) { + if (node.kind !== 150 /* Decorator */) { var contextualType = getContextualType(node); if (contextualType) { // We clone the contextual mapper to avoid disturbing a resolution in progress for an @@ -42841,7 +43058,7 @@ var ts; for (var i = 0; i < argCount; i++) { var arg = getEffectiveArgument(node, args, i); // If the effective argument is 'undefined', then it is an argument that is present but is synthetic. - if (arg === undefined || arg.kind !== 205 /* OmittedExpression */) { + if (arg === undefined || arg.kind !== 206 /* OmittedExpression */) { var paramType = getTypeAtPosition(signature, i); var argType = getEffectiveArgumentType(node, i); // If the effective argument type is 'undefined', there is no synthetic type @@ -42882,7 +43099,7 @@ var ts; var constraint = getConstraintOfTypeParameter(typeParameters[i]); if (!constraint) continue; - var errorInfo = reportErrors && headMessage && (function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); }); + var errorInfo = reportErrors && headMessage ? (function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); }) : undefined; var typeArgumentHeadMessage = headMessage || ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1; if (!mapper) { mapper = createTypeMapper(typeParameters, typeArgumentTypes); @@ -42931,7 +43148,7 @@ var ts; return checkApplicableSignatureForJsxOpeningLikeElement(node, signature, relation); } var thisType = getThisTypeOfSignature(signature); - if (thisType && thisType !== voidType && node.kind !== 187 /* NewExpression */) { + if (thisType && thisType !== voidType && node.kind !== 188 /* NewExpression */) { // If the called expression is not of the form `x.f` or `x["f"]`, then sourceType = voidType // If the signature's 'this' type is voidType, then the check is skipped -- anything is compatible. // If the expression is a new expression, then the check is skipped. @@ -42939,7 +43156,7 @@ var ts; var thisArgumentType = thisArgumentNode ? checkExpression(thisArgumentNode) : voidType; var errorNode = reportErrors ? (thisArgumentNode || node) : undefined; var headMessage_1 = ts.Diagnostics.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1; - if (!checkTypeRelatedTo(thisArgumentType, getThisTypeOfSignature(signature), relation, errorNode, headMessage_1)) { + if (!checkTypeRelatedTo(thisArgumentType, thisType, relation, errorNode, headMessage_1)) { return false; } } @@ -42948,7 +43165,7 @@ var ts; for (var i = 0; i < argCount; i++) { var arg = getEffectiveArgument(node, args, i); // If the effective argument is 'undefined', then it is an argument that is present but is synthetic. - if (arg === undefined || arg.kind !== 205 /* OmittedExpression */) { + if (arg === undefined || arg.kind !== 206 /* OmittedExpression */) { // Check spread elements against rest type (from arity check we know spread argument corresponds to a rest parameter) var paramType = getTypeAtPosition(signature, i); // If the effective argument type is undefined, there is no synthetic type for the argument. @@ -42972,9 +43189,9 @@ var ts; * Returns the this argument in calls like x.f(...) and x[f](...). Undefined otherwise. */ function getThisArgumentOfCall(node) { - if (node.kind === 186 /* CallExpression */) { + if (node.kind === 187 /* CallExpression */) { var callee = ts.skipOuterExpressions(node.expression); - if (callee.kind === 184 /* PropertyAccessExpression */ || callee.kind === 185 /* ElementAccessExpression */) { + if (callee.kind === 185 /* PropertyAccessExpression */ || callee.kind === 186 /* ElementAccessExpression */) { return callee.expression; } } @@ -42989,17 +43206,17 @@ var ts; * will be supplied from calls to `getEffectiveArgumentCount` and `getEffectiveArgumentType`. */ function getEffectiveCallArguments(node) { - if (node.kind === 188 /* TaggedTemplateExpression */) { + if (node.kind === 189 /* TaggedTemplateExpression */) { var template = node.template; - var args_4 = [undefined]; - if (template.kind === 201 /* TemplateExpression */) { + var args_4 = [undefined]; // TODO: GH#18217 + if (template.kind === 202 /* TemplateExpression */) { ts.forEach(template.templateSpans, function (span) { args_4.push(span.expression); }); } return args_4; } - else if (node.kind === 149 /* Decorator */) { + else if (node.kind === 150 /* Decorator */) { // For a decorator, we return undefined as we will determine // the number and types of arguments for a decorator using // `getEffectiveArgumentCount` and `getEffectiveArgumentType` below. @@ -43026,19 +43243,19 @@ var ts; * Otherwise, the argument count is the length of the 'args' array. */ function getEffectiveArgumentCount(node, args, signature) { - if (node.kind === 149 /* Decorator */) { + if (node.kind === 150 /* Decorator */) { switch (node.parent.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: // A class decorator will have one argument (see `ClassDecorator` in core.d.ts) return 1; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: // A property declaration decorator will have two arguments (see // `PropertyDecorator` in core.d.ts) return 2; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // A method or accessor declaration decorator will have two or three arguments (see // `PropertyDecorator` and `MethodDecorator` in core.d.ts) // If we are emitting decorators for ES3, we will only pass two arguments. @@ -43048,10 +43265,12 @@ var ts; // If the method decorator signature only accepts a target and a key, we will only // type check those arguments. return signature.parameters.length >= 3 ? 3 : 2; - case 148 /* Parameter */: + case 149 /* Parameter */: // A parameter declaration decorator will have three arguments (see // `ParameterDecorator` in core.d.ts) return 3; + default: + return ts.Debug.fail(); } } else { @@ -43072,25 +43291,25 @@ var ts; */ function getEffectiveDecoratorFirstArgumentType(node) { // The first argument to a decorator is its `target`. - if (node.kind === 234 /* ClassDeclaration */) { + if (node.kind === 235 /* ClassDeclaration */) { // For a class decorator, the `target` is the type of the class (e.g. the // "static" or "constructor" side of the class) var classSymbol = getSymbolOfNode(node); return getTypeOfSymbol(classSymbol); } - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { // For a parameter decorator, the `target` is the parent type of the // parameter's containing method. node = node.parent; - if (node.kind === 154 /* Constructor */) { + if (node.kind === 155 /* Constructor */) { var classSymbol = getSymbolOfNode(node); return getTypeOfSymbol(classSymbol); } } - if (node.kind === 151 /* PropertyDeclaration */ || - node.kind === 153 /* MethodDeclaration */ || - node.kind === 155 /* GetAccessor */ || - node.kind === 156 /* SetAccessor */) { + if (node.kind === 152 /* PropertyDeclaration */ || + node.kind === 154 /* MethodDeclaration */ || + node.kind === 156 /* GetAccessor */ || + node.kind === 157 /* SetAccessor */) { // For a property or method decorator, the `target` is the // "static"-side type of the parent of the member if the member is // declared "static"; otherwise, it is the "instance"-side type of the @@ -43098,7 +43317,7 @@ var ts; return getParentTypeOfClassElement(node); } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } /** * Returns the effective type for the second argument to a decorator. @@ -43117,37 +43336,38 @@ var ts; */ function getEffectiveDecoratorSecondArgumentType(node) { // The second argument to a decorator is its `propertyKey` - if (node.kind === 234 /* ClassDeclaration */) { + if (node.kind === 235 /* ClassDeclaration */) { ts.Debug.fail("Class decorators should not have a second synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { node = node.parent; - if (node.kind === 154 /* Constructor */) { + if (node.kind === 155 /* Constructor */) { // For a constructor parameter decorator, the `propertyKey` will be `undefined`. return anyType; } // For a non-constructor parameter decorator, the `propertyKey` will be either // a string or a symbol, based on the name of the parameter's containing method. } - if (node.kind === 151 /* PropertyDeclaration */ || - node.kind === 153 /* MethodDeclaration */ || - node.kind === 155 /* GetAccessor */ || - node.kind === 156 /* SetAccessor */) { + if (node.kind === 152 /* PropertyDeclaration */ || + node.kind === 154 /* MethodDeclaration */ || + node.kind === 156 /* GetAccessor */ || + node.kind === 157 /* SetAccessor */) { // The `propertyKey` for a property or method decorator will be a // string literal type if the member name is an identifier, number, or string; // otherwise, if the member name is a computed property name it will // be either string or symbol. var element = node; - switch (element.name.kind) { + var name = element.name; + switch (name.kind) { case 71 /* Identifier */: - return getLiteralType(ts.idText(element.name)); + return getLiteralType(ts.idText(name)); case 8 /* NumericLiteral */: case 9 /* StringLiteral */: - return getLiteralType(element.name.text); - case 146 /* ComputedPropertyName */: - var nameType = checkComputedPropertyName(element.name); - if (isTypeAssignableToKind(nameType, 1536 /* ESSymbolLike */)) { + return getLiteralType(name.text); + case 147 /* ComputedPropertyName */: + var nameType = checkComputedPropertyName(name); + if (isTypeAssignableToKind(nameType, 3072 /* ESSymbolLike */)) { return nameType; } else { @@ -43155,11 +43375,11 @@ var ts; } default: ts.Debug.fail("Unsupported property name."); - return unknownType; + return errorType; } } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } /** * Returns the effective argument type for the third argument to a decorator. @@ -43171,28 +43391,28 @@ var ts; function getEffectiveDecoratorThirdArgumentType(node) { // The third argument to a decorator is either its `descriptor` for a method decorator // or its `parameterIndex` for a parameter decorator - if (node.kind === 234 /* ClassDeclaration */) { + if (node.kind === 235 /* ClassDeclaration */) { ts.Debug.fail("Class decorators should not have a third synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { // The `parameterIndex` for a parameter decorator is always a number return numberType; } - if (node.kind === 151 /* PropertyDeclaration */) { + if (node.kind === 152 /* PropertyDeclaration */) { ts.Debug.fail("Property decorators should not have a third synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 153 /* MethodDeclaration */ || - node.kind === 155 /* GetAccessor */ || - node.kind === 156 /* SetAccessor */) { + if (node.kind === 154 /* MethodDeclaration */ || + node.kind === 156 /* GetAccessor */ || + node.kind === 157 /* SetAccessor */) { // The `descriptor` for a method decorator will be a `TypedPropertyDescriptor` // for the type of the member. - var propertyType = getTypeOfNode(node); + var propertyType = getTypeOfNode(node); // TODO: GH#18217 return createTypedPropertyDescriptorType(propertyType); } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } /** * Returns the effective argument type for the provided argument to a decorator. @@ -43208,7 +43428,7 @@ var ts; return getEffectiveDecoratorThirdArgumentType(node.parent); } ts.Debug.fail("Decorators should not have a fourth synthetic argument."); - return unknownType; + return errorType; } /** * Gets the effective argument type for an argument in a call expression. @@ -43217,10 +43437,10 @@ var ts; // Decorators provide special arguments, a tagged template expression provides // a special first argument, and string literals get string literal types // unless we're reporting errors - if (node.kind === 149 /* Decorator */) { + if (node.kind === 150 /* Decorator */) { return getEffectiveDecoratorArgumentType(node, argIndex); } - else if (argIndex === 0 && node.kind === 188 /* TaggedTemplateExpression */) { + else if (argIndex === 0 && node.kind === 189 /* TaggedTemplateExpression */) { return getGlobalTemplateStringsArrayType(); } // This is not a synthetic argument, so we return 'undefined' @@ -43232,8 +43452,8 @@ var ts; */ function getEffectiveArgument(node, args, argIndex) { // For a decorator or the first argument of a tagged template expression we return undefined. - if (node.kind === 149 /* Decorator */ || - (argIndex === 0 && node.kind === 188 /* TaggedTemplateExpression */)) { + if (node.kind === 150 /* Decorator */ || + (argIndex === 0 && node.kind === 189 /* TaggedTemplateExpression */)) { return undefined; } return args[argIndex]; @@ -43242,11 +43462,11 @@ var ts; * Gets the error node to use when reporting errors for an effective argument. */ function getEffectiveArgumentErrorNode(node, argIndex, arg) { - if (node.kind === 149 /* Decorator */) { + if (node.kind === 150 /* Decorator */) { // For a decorator, we use the expression of the decorator for error reporting. return node.expression; } - else if (argIndex === 0 && node.kind === 188 /* TaggedTemplateExpression */) { + else if (argIndex === 0 && node.kind === 189 /* TaggedTemplateExpression */) { // For a the first argument of a tagged template expression, we use the template of the tag for error reporting. return node.template; } @@ -43266,8 +43486,8 @@ var ts; return ts.createDiagnosticForNodeArray(ts.getSourceFileOfNode(node), typeArguments, ts.Diagnostics.Expected_0_type_arguments_but_got_1, paramCount, typeArguments.length); } function resolveCall(node, signatures, candidatesOutArray, fallbackError) { - var isTaggedTemplate = node.kind === 188 /* TaggedTemplateExpression */; - var isDecorator = node.kind === 149 /* Decorator */; + var isTaggedTemplate = node.kind === 189 /* TaggedTemplateExpression */; + var isDecorator = node.kind === 150 /* Decorator */; var isJsxOpeningOrSelfClosingElement = ts.isJsxOpeningLikeElement(node); var typeArguments; if (!isDecorator) { @@ -43341,7 +43561,7 @@ var ts; var result; // If we are in signature help, a trailing comma indicates that we intend to provide another argument, // so we will only accept overloads with arity at least 1 higher than the current number of provided arguments. - var signatureHelpTrailingComma = candidatesOutArray && node.kind === 186 /* CallExpression */ && node.arguments.hasTrailingComma; + var signatureHelpTrailingComma = candidatesOutArray && node.kind === 187 /* CallExpression */ && node.arguments.hasTrailingComma; // Section 4.12.1: // if the candidate list contains one or more signatures for which the type of each argument // expression is a subtype of each corresponding parameter type, the return type of the first @@ -43423,7 +43643,7 @@ var ts; var candidate = candidates[bestIndex]; var typeParameters = candidate.typeParameters; if (typeParameters && callLikeExpressionMayHaveTypeArguments(node) && node.typeArguments) { - var typeArguments_1 = node.typeArguments.map(getTypeOfNode); + var typeArguments_1 = node.typeArguments.map(getTypeOfNode); // TODO: GH#18217 while (typeArguments_1.length > typeParameters.length) { typeArguments_1.pop(); } @@ -43520,9 +43740,10 @@ var ts; if (node.expression.kind === 97 /* SuperKeyword */) { var superType = checkSuperExpression(node.expression); if (isTypeAny(superType)) { + ts.forEach(node.arguments, checkExpression); // Still visit arguments so they get marked for visibility, etc return anySignature; } - if (superType !== unknownType) { + if (superType !== errorType) { // In super call, the candidate signatures are the matching arity signatures of the base constructor function instantiated // with the type arguments specified in the extends clause. var baseTypeNode = ts.getClassExtendsHeritageClauseElement(ts.getContainingClass(node)); @@ -43538,7 +43759,7 @@ var ts; return silentNeverSignature; } var apparentType = getApparentType(funcType); - if (apparentType === unknownType) { + if (apparentType === errorType) { // Another error has already been reported return resolveErrorCall(node); } @@ -43554,7 +43775,7 @@ var ts; if (isUntypedFunctionCall(funcType, apparentType, callSignatures.length, constructSignatures.length)) { // The unknownType indicates that an error already occurred (and was reported). No // need to report another error in this case. - if (funcType !== unknownType && node.typeArguments) { + if (funcType !== errorType && node.typeArguments) { error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); } return resolveUntypedCall(node); @@ -43580,8 +43801,8 @@ var ts; */ function isUntypedFunctionCall(funcType, apparentFuncType, numCallSignatures, numConstructSignatures) { // We exclude union types because we may have a union of function types that happen to have no common signatures. - return isTypeAny(funcType) || isTypeAny(apparentFuncType) && funcType.flags & 32768 /* TypeParameter */ || - !numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & (131072 /* Union */ | 16384 /* Never */)) && isTypeAssignableTo(funcType, globalFunctionType); + return isTypeAny(funcType) || isTypeAny(apparentFuncType) && funcType.flags & 65536 /* TypeParameter */ || + !numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & (262144 /* Union */ | 32768 /* Never */)) && isTypeAssignableTo(funcType, globalFunctionType); } function resolveNewExpression(node, candidatesOutArray) { if (node.arguments && languageVersion < 1 /* ES5 */) { @@ -43600,7 +43821,7 @@ var ts; // signatures for overload resolution. The result type of the function call becomes // the result type of the operation. expressionType = getApparentType(expressionType); - if (expressionType === unknownType) { + if (expressionType === errorType) { // Another error has already been reported return resolveErrorCall(node); } @@ -43711,7 +43932,7 @@ var ts; function resolveTaggedTemplateExpression(node, candidatesOutArray) { var tagType = checkExpression(node.tag); var apparentType = getApparentType(tagType); - if (apparentType === unknownType) { + if (apparentType === errorType) { // Another error has already been reported return resolveErrorCall(node); } @@ -43731,17 +43952,19 @@ var ts; */ function getDiagnosticHeadMessageForDecoratorResolution(node) { switch (node.parent.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return ts.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression; - case 148 /* Parameter */: + case 149 /* Parameter */: return ts.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return ts.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return ts.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression; + default: + return ts.Debug.fail(); } } /** @@ -43750,7 +43973,7 @@ var ts; function resolveDecorator(node, candidatesOutArray) { var funcType = checkExpression(node.expression); var apparentType = getApparentType(funcType); - if (apparentType === unknownType) { + if (apparentType === errorType) { return resolveErrorCall(node); } var callSignatures = getSignaturesOfType(apparentType, 0 /* Call */); @@ -43765,8 +43988,7 @@ var ts; } var headMessage = getDiagnosticHeadMessageForDecoratorResolution(node); if (!callSignatures.length) { - var errorInfo = void 0; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures, typeToString(apparentType)); + var errorInfo = ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures, typeToString(apparentType)); errorInfo = ts.chainDiagnosticMessages(errorInfo, headMessage); diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(node, errorInfo)); invocationErrorRecovery(apparentType, 0 /* Call */); @@ -43797,7 +44019,7 @@ var ts; * the function will fill it up with appropriate candidate signatures */ function getResolvedJsxStatelessFunctionSignature(openingLikeElement, elementType, candidatesOutArray) { - ts.Debug.assert(!(elementType.flags & 131072 /* Union */)); + ts.Debug.assert(!(elementType.flags & 262144 /* Union */)); var callSignatures = elementType && getSignaturesOfType(elementType, 0 /* Call */); if (callSignatures && callSignatures.length > 0) { return resolveCall(openingLikeElement, callSignatures, candidatesOutArray); @@ -43806,16 +44028,16 @@ var ts; } function resolveSignature(node, candidatesOutArray) { switch (node.kind) { - case 186 /* CallExpression */: + case 187 /* CallExpression */: return resolveCallExpression(node, candidatesOutArray); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return resolveNewExpression(node, candidatesOutArray); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return resolveTaggedTemplateExpression(node, candidatesOutArray); - case 149 /* Decorator */: + case 150 /* Decorator */: return resolveDecorator(node, candidatesOutArray); - case 256 /* JsxOpeningElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: // This code-path is called by language service var exprTypes = checkExpression(node.tagName); return forEachType(exprTypes, function (exprType) { @@ -43830,7 +44052,7 @@ var ts; return ts.length(sigs) ? sigs[0] : unknownSignature; }) || unknownSignature; } - ts.Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); + throw ts.Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); } /** * Resolve a signature of a given call-like expression. @@ -43870,15 +44092,11 @@ var ts; var symbol = ts.isFunctionDeclaration(node) || ts.isFunctionExpression(node) ? getSymbolOfNode(node) : ts.isVariableDeclaration(node) && node.initializer && ts.isFunctionExpression(node.initializer) ? getSymbolOfNode(node.initializer) : undefined; - return symbol && symbol.members !== undefined; + return !!symbol && symbol.members !== undefined; } return false; } function getJavaScriptClassType(symbol) { - var initializer = ts.getDeclaredJavascriptInitializer(symbol.valueDeclaration); - if (initializer) { - symbol = getSymbolOfNode(initializer); - } var inferred; if (isJavaScriptConstructor(symbol.valueDeclaration)) { inferred = getInferredClassType(symbol); @@ -43909,7 +44127,7 @@ var ts; return false; } var parent = node.parent; - while (parent && parent.kind === 184 /* PropertyAccessExpression */) { + while (parent && parent.kind === 185 /* PropertyAccessExpression */) { parent = parent.parent; } if (parent && ts.isBinaryExpression(parent) && ts.isPrototypeAccess(parent.left) && parent.operatorToken.kind === 58 /* EqualsToken */) { @@ -43941,12 +44159,12 @@ var ts; if (node.expression.kind === 97 /* SuperKeyword */) { return voidType; } - if (node.kind === 187 /* NewExpression */) { + if (node.kind === 188 /* NewExpression */) { var declaration = signature.declaration; if (declaration && - declaration.kind !== 154 /* Constructor */ && - declaration.kind !== 158 /* ConstructSignature */ && - declaration.kind !== 163 /* ConstructorType */ && + declaration.kind !== 155 /* Constructor */ && + declaration.kind !== 159 /* ConstructSignature */ && + declaration.kind !== 164 /* ConstructorType */ && !ts.isJSDocConstructSignature(declaration)) { // When resolved signature is a call signature (and not a construct signature) the result type is any, unless // the declaring function had members created through 'x.prototype.y = expr' or 'this.y = expr' psuedodeclarations @@ -43974,10 +44192,20 @@ var ts; var returnType = getReturnTypeOfSignature(signature); // Treat any call to the global 'Symbol' function that is part of a const variable or readonly property // as a fresh unique symbol literal type. - if (returnType.flags & 1536 /* ESSymbolLike */ && isSymbolOrSymbolForCall(node)) { + if (returnType.flags & 3072 /* ESSymbolLike */ && isSymbolOrSymbolForCall(node)) { return getESSymbolLikeTypeForNode(ts.walkUpParenthesizedExpressions(node.parent)); } - return returnType; + var jsAssignmentType; + if (ts.isInJavaScriptFile(node)) { + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + var jsSymbol = getSymbolOfNode(decl); + if (jsSymbol && ts.hasEntries(jsSymbol.exports)) { + jsAssignmentType = createAnonymousType(jsSymbol, jsSymbol.exports, ts.emptyArray, ts.emptyArray, jsObjectLiteralIndexInfo, undefined); + } + } + } + return jsAssignmentType ? getIntersectionType([returnType, jsAssignmentType]) : returnType; } function isSymbolOrSymbolForCall(node) { if (!ts.isCallExpression(node)) @@ -44009,7 +44237,7 @@ var ts; for (var i = 1; i < node.arguments.length; ++i) { checkExpressionCached(node.arguments[i]); } - if (specifierType.flags & 4096 /* Undefined */ || specifierType.flags & 8192 /* Null */ || !isTypeAssignableTo(specifierType, stringType)) { + if (specifierType.flags & 8192 /* Undefined */ || specifierType.flags & 16384 /* Null */ || !isTypeAssignableTo(specifierType, stringType)) { error(specifier, ts.Diagnostics.Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0, typeToString(specifierType)); } // resolveExternalModuleName will return undefined if the moduleReferenceExpression is not a string literal @@ -44023,7 +44251,7 @@ var ts; return createPromiseReturnType(node, anyType); } function getTypeWithSyntheticDefaultImportType(type, symbol, originalSymbol) { - if (allowSyntheticDefaultImports && type && type !== unknownType) { + if (allowSyntheticDefaultImports && type && type !== errorType) { var synthType = type; if (!synthType.syntheticType) { var file_4 = ts.find(originalSymbol.declarations, ts.isSourceFile); @@ -44053,7 +44281,7 @@ var ts; // Make sure require is not a local function if (!ts.isIdentifier(node.expression)) return ts.Debug.fail(); - var resolvedRequire = resolveName(node.expression, node.expression.escapedText, 67216319 /* Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); + var resolvedRequire = resolveName(node.expression, node.expression.escapedText, 67216319 /* Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); // TODO: GH#18217 if (resolvedRequire === requireSymbol) { return true; } @@ -44062,9 +44290,9 @@ var ts; return false; } var targetDeclarationKind = resolvedRequire.flags & 16 /* Function */ - ? 233 /* FunctionDeclaration */ + ? 234 /* FunctionDeclaration */ : resolvedRequire.flags & 3 /* Variable */ - ? 231 /* VariableDeclaration */ + ? 232 /* VariableDeclaration */ : 0 /* Unknown */; if (targetDeclarationKind !== 0 /* Unknown */) { var decl = ts.getDeclarationOfKind(resolvedRequire, targetDeclarationKind); @@ -44087,7 +44315,7 @@ var ts; var exprType = getRegularTypeOfObjectLiteral(getBaseTypeOfLiteralType(checkExpression(expression, checkMode))); checkSourceElement(type); var targetType = getTypeFromTypeNode(type); - if (produceDiagnostics && targetType !== unknownType) { + if (produceDiagnostics && targetType !== errorType) { var widenedType = getWidenedType(exprType); if (!isTypeComparableTo(targetType, widenedType)) { checkTypeComparableTo(exprType, targetType, errNode, ts.Diagnostics.Type_0_cannot_be_converted_to_type_1); @@ -44106,14 +44334,15 @@ var ts; if (node.keywordToken === 91 /* ImportKeyword */) { return checkImportMetaProperty(node); } + return ts.Debug.assertNever(node.keywordToken); } function checkNewTargetMetaProperty(node) { var container = ts.getNewTargetContainer(node); if (!container) { error(node, ts.Diagnostics.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor, "new.target"); - return unknownType; + return errorType; } - else if (container.kind === 154 /* Constructor */) { + else if (container.kind === 155 /* Constructor */) { var symbol = getSymbolOfNode(container.parent); return getTypeOfSymbol(symbol); } @@ -44129,7 +44358,7 @@ var ts; var file = ts.getSourceFileOfNode(node); ts.Debug.assert(!!(file.flags & 1048576 /* PossiblyContainsImportMeta */), "Containing file is missing import meta node flag."); ts.Debug.assert(!!file.externalModuleIndicator, "Containing file should be a module."); - return node.name.escapedText === "meta" ? getGlobalImportMetaType() : unknownType; + return node.name.escapedText === "meta" ? getGlobalImportMetaType() : errorType; } function getTypeOfParameter(symbol) { var type = getTypeOfSymbol(symbol); @@ -44185,9 +44414,9 @@ var ts; } if (signature.hasRestParameter && isRestParameterIndex(context, signature.parameters.length - 1)) { // parameter might be a transient symbol generated by use of `arguments` in the function body. - var parameter = ts.lastOrUndefined(signature.parameters); + var parameter = ts.last(signature.parameters); if (isTransientSymbol(parameter) || !ts.getEffectiveTypeAnnotationNode(parameter.valueDeclaration)) { - var contextualParameterType = getTypeOfSymbol(ts.lastOrUndefined(context.parameters)); + var contextualParameterType = getTypeOfSymbol(ts.last(context.parameters)); assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType); } } @@ -44237,7 +44466,7 @@ var ts; error(func, ts.isImportCall(func) ? ts.Diagnostics.A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option : ts.Diagnostics.An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option); - return unknownType; + return errorType; } else if (!getGlobalPromiseConstructorSymbol(/*reportErrors*/ true)) { error(func, ts.isImportCall(func) ? @@ -44248,11 +44477,11 @@ var ts; } function getReturnTypeFromBody(func, checkMode) { if (!func.body) { - return unknownType; + return errorType; } var functionFlags = ts.getFunctionFlags(func); var type; - if (func.body.kind !== 212 /* Block */) { + if (func.body.kind !== 213 /* Block */) { type = checkExpressionCached(func.body, checkMode); if (functionFlags & 2 /* Async */) { // From within an async function you can return either a non-promise value or a promise. Any @@ -44366,7 +44595,7 @@ var ts; if (!(func.flags & 128 /* HasImplicitReturn */)) { return false; } - if (ts.some(func.body.statements, function (statement) { return statement.kind === 226 /* SwitchStatement */ && isExhaustiveSwitchStatement(statement); })) { + if (ts.some(func.body.statements, function (statement) { return statement.kind === 227 /* SwitchStatement */ && isExhaustiveSwitchStatement(statement); })) { return false; } return true; @@ -44388,7 +44617,7 @@ var ts; // the native Promise type by the caller. type = checkAwaitedType(type, func, ts.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); } - if (type.flags & 16384 /* Never */) { + if (type.flags & 32768 /* Never */) { hasReturnOfTypeNever = true; } ts.pushIfUnique(aggregatedTypes, type); @@ -44409,11 +44638,11 @@ var ts; } function mayReturnNever(func) { switch (func.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return true; - case 153 /* MethodDeclaration */: - return func.parent.kind === 183 /* ObjectLiteralExpression */; + case 154 /* MethodDeclaration */: + return func.parent.kind === 184 /* ObjectLiteralExpression */; default: return false; } @@ -44432,16 +44661,16 @@ var ts; return; } // Functions with with an explicitly specified 'void' or 'any' return type don't need any return expressions. - if (returnType && maybeTypeOfKind(returnType, 1 /* Any */ | 2048 /* Void */)) { + if (returnType && maybeTypeOfKind(returnType, 3 /* AnyOrUnknown */ | 4096 /* Void */)) { return; } // If all we have is a function signature, or an arrow function with an expression body, then there is nothing to check. // also if HasImplicitReturn flag is not set this means that all codepaths in function body end with return or throw - if (func.kind === 152 /* MethodSignature */ || ts.nodeIsMissing(func.body) || func.body.kind !== 212 /* Block */ || !functionHasImplicitReturn(func)) { + if (func.kind === 153 /* MethodSignature */ || ts.nodeIsMissing(func.body) || func.body.kind !== 213 /* Block */ || !functionHasImplicitReturn(func)) { return; } var hasExplicitReturn = func.flags & 256 /* HasExplicitReturn */; - if (returnType && returnType.flags & 16384 /* Never */) { + if (returnType && returnType.flags & 32768 /* Never */) { error(ts.getEffectiveReturnTypeNode(func), ts.Diagnostics.A_function_returning_never_cannot_have_a_reachable_end_point); } else if (returnType && !hasExplicitReturn) { @@ -44470,14 +44699,14 @@ var ts; } } function checkFunctionExpressionOrObjectLiteralMethod(node, checkMode) { - ts.Debug.assert(node.kind !== 153 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); // The identityMapper object is used to indicate that function expressions are wildcards if (checkMode === 1 /* SkipContextSensitive */ && isContextSensitive(node)) { return anyFunctionType; } // Grammar checking var hasGrammarError = checkGrammarFunctionLikeDeclaration(node); - if (!hasGrammarError && node.kind === 191 /* FunctionExpression */) { + if (!hasGrammarError && node.kind === 192 /* FunctionExpression */) { checkGrammarForGenerator(node); } var links = getNodeLinks(node); @@ -44518,7 +44747,7 @@ var ts; return type; } function checkFunctionExpressionOrObjectLiteralMethodDeferred(node) { - ts.Debug.assert(node.kind !== 153 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); var functionFlags = ts.getFunctionFlags(node); var returnTypeNode = ts.getEffectiveReturnTypeNode(node); var returnOrPromisedType = returnTypeNode && @@ -44538,7 +44767,7 @@ var ts; // checkFunctionExpressionBodies). So it must be done now. getReturnTypeOfSignature(getSignatureFromDeclaration(node)); } - if (node.body.kind === 212 /* Block */) { + if (node.body.kind === 213 /* Block */) { checkSourceElement(node.body); } else { @@ -44561,7 +44790,7 @@ var ts; } } function checkArithmeticOperandType(operand, type, diagnostic) { - if (!isTypeAssignableToKind(type, 84 /* NumberLike */)) { + if (!isTypeAssignableToKind(type, 168 /* NumberLike */)) { error(operand, diagnostic); return false; } @@ -44584,11 +44813,11 @@ var ts; if (isReadonlySymbol(symbol)) { // Allow assignments to readonly properties within constructors of the same class declaration. if (symbol.flags & 4 /* Property */ && - (expr.kind === 184 /* PropertyAccessExpression */ || expr.kind === 185 /* ElementAccessExpression */) && + (expr.kind === 185 /* PropertyAccessExpression */ || expr.kind === 186 /* ElementAccessExpression */) && expr.expression.kind === 99 /* ThisKeyword */) { // Look for if this is the constructor for the class that `symbol` is a property of. var func = ts.getContainingFunction(expr); - if (!(func && func.kind === 154 /* Constructor */)) { + if (!(func && func.kind === 155 /* Constructor */)) { return true; } // If func.parent is a class and symbol is a (readonly) property of that class, or @@ -44601,13 +44830,13 @@ var ts; return false; } function isReferenceThroughNamespaceImport(expr) { - if (expr.kind === 184 /* PropertyAccessExpression */ || expr.kind === 185 /* ElementAccessExpression */) { + if (expr.kind === 185 /* PropertyAccessExpression */ || expr.kind === 186 /* ElementAccessExpression */) { var node = ts.skipParentheses(expr.expression); if (node.kind === 71 /* Identifier */) { var symbol = getNodeLinks(node).resolvedSymbol; if (symbol.flags & 2097152 /* Alias */) { var declaration = getDeclarationOfAliasSymbol(symbol); - return declaration && declaration.kind === 245 /* NamespaceImport */; + return !!declaration && declaration.kind === 246 /* NamespaceImport */; } } } @@ -44616,7 +44845,7 @@ var ts; function checkReferenceExpression(expr, invalidReferenceMessage) { // References are combinations of identifiers, parentheses, and property accesses. var node = ts.skipOuterExpressions(expr, 2 /* Assertions */ | 1 /* Parentheses */); - if (node.kind !== 71 /* Identifier */ && node.kind !== 184 /* PropertyAccessExpression */ && node.kind !== 185 /* ElementAccessExpression */) { + if (node.kind !== 71 /* Identifier */ && node.kind !== 185 /* PropertyAccessExpression */ && node.kind !== 186 /* ElementAccessExpression */) { error(expr, invalidReferenceMessage); return false; } @@ -44625,7 +44854,7 @@ var ts; function checkDeleteExpression(node) { checkExpression(node.expression); var expr = ts.skipParentheses(node.expression); - if (expr.kind !== 184 /* PropertyAccessExpression */ && expr.kind !== 185 /* ElementAccessExpression */) { + if (expr.kind !== 185 /* PropertyAccessExpression */ && expr.kind !== 186 /* ElementAccessExpression */) { error(expr, ts.Diagnostics.The_operand_of_a_delete_operator_must_be_a_property_reference); return booleanType; } @@ -44675,7 +44904,7 @@ var ts; case 38 /* MinusToken */: case 52 /* TildeToken */: checkNonNullType(operandType, node.operand); - if (maybeTypeOfKind(operandType, 1536 /* ESSymbolLike */)) { + if (maybeTypeOfKind(operandType, 3072 /* ESSymbolLike */)) { error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator)); } return numberType; @@ -44693,7 +44922,7 @@ var ts; } return numberType; } - return unknownType; + return errorType; } function checkPostfixUnaryExpression(node) { var operandType = checkExpression(node.operand); @@ -44710,10 +44939,10 @@ var ts; // Return true if type might be of the given kind. A union or intersection type might be of a given // kind if at least one constituent type is of the given kind. function maybeTypeOfKind(type, kind) { - if (type.flags & kind || kind & 536870912 /* GenericMappedType */ && isGenericMappedType(type)) { + if (type.flags & kind & ~134217728 /* GenericMappedType */ || kind & 134217728 /* GenericMappedType */ && isGenericMappedType(type)) { return true; } - if (type.flags & 393216 /* UnionOrIntersection */) { + if (type.flags & 786432 /* UnionOrIntersection */) { var types = type.types; for (var _i = 0, types_16 = types; _i < types_16.length; _i++) { var t = types_16[_i]; @@ -44728,26 +44957,26 @@ var ts; if (source.flags & kind) { return true; } - if (strict && source.flags & (1 /* Any */ | 2048 /* Void */ | 4096 /* Undefined */ | 8192 /* Null */)) { + if (strict && source.flags & (3 /* AnyOrUnknown */ | 4096 /* Void */ | 8192 /* Undefined */ | 16384 /* Null */)) { return false; } - return (kind & 84 /* NumberLike */ && isTypeAssignableTo(source, numberType)) || - (kind & 34 /* StringLike */ && isTypeAssignableTo(source, stringType)) || - (kind & 136 /* BooleanLike */ && isTypeAssignableTo(source, booleanType)) || - (kind & 2048 /* Void */ && isTypeAssignableTo(source, voidType)) || - (kind & 16384 /* Never */ && isTypeAssignableTo(source, neverType)) || - (kind & 8192 /* Null */ && isTypeAssignableTo(source, nullType)) || - (kind & 4096 /* Undefined */ && isTypeAssignableTo(source, undefinedType)) || - (kind & 512 /* ESSymbol */ && isTypeAssignableTo(source, esSymbolType)) || - (kind & 134217728 /* NonPrimitive */ && isTypeAssignableTo(source, nonPrimitiveType)); + return !!(kind & 168 /* NumberLike */) && isTypeAssignableTo(source, numberType) || + !!(kind & 68 /* StringLike */) && isTypeAssignableTo(source, stringType) || + !!(kind & 272 /* BooleanLike */) && isTypeAssignableTo(source, booleanType) || + !!(kind & 4096 /* Void */) && isTypeAssignableTo(source, voidType) || + !!(kind & 32768 /* Never */) && isTypeAssignableTo(source, neverType) || + !!(kind & 16384 /* Null */) && isTypeAssignableTo(source, nullType) || + !!(kind & 8192 /* Undefined */) && isTypeAssignableTo(source, undefinedType) || + !!(kind & 1024 /* ESSymbol */) && isTypeAssignableTo(source, esSymbolType) || + !!(kind & 16777216 /* NonPrimitive */) && isTypeAssignableTo(source, nonPrimitiveType); } function allTypesAssignableToKind(source, kind, strict) { - return source.flags & 131072 /* Union */ ? + return source.flags & 262144 /* Union */ ? ts.every(source.types, function (subType) { return allTypesAssignableToKind(subType, kind, strict); }) : isTypeAssignableToKind(source, kind, strict); } function isConstEnumObjectType(type) { - return ts.getObjectFlags(type) & 16 /* Anonymous */ && type.symbol && isConstEnumSymbol(type.symbol); + return !!(ts.getObjectFlags(type) & 16 /* Anonymous */) && !!type.symbol && isConstEnumSymbol(type.symbol); } function isConstEnumSymbol(symbol) { return (symbol.flags & 128 /* ConstEnum */) !== 0; @@ -44762,7 +44991,7 @@ var ts; // The result is always of the Boolean primitive type. // NOTE: do not raise error if leftType is unknown as related error was already reported if (!isTypeAny(leftType) && - allTypesAssignableToKind(leftType, 16382 /* Primitive */)) { + allTypesAssignableToKind(leftType, 32764 /* Primitive */)) { error(left, ts.Diagnostics.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } // NOTE: do not raise error if right is unknown as related error was already reported @@ -44781,10 +45010,10 @@ var ts; // The in operator requires the left operand to be of type Any, the String primitive type, or the Number primitive type, // and the right operand to be of type Any, an object type, or a type parameter type. // The result is always of the Boolean primitive type. - if (!(isTypeComparableTo(leftType, stringType) || isTypeAssignableToKind(leftType, 84 /* NumberLike */ | 1536 /* ESSymbolLike */))) { + if (!(isTypeComparableTo(leftType, stringType) || isTypeAssignableToKind(leftType, 168 /* NumberLike */ | 3072 /* ESSymbolLike */))) { error(left, ts.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol); } - if (!isTypeAssignableToKind(rightType, 134217728 /* NonPrimitive */ | 7372800 /* InstantiableNonPrimitive */)) { + if (!isTypeAssignableToKind(rightType, 16777216 /* NonPrimitive */ | 14745600 /* InstantiableNonPrimitive */)) { error(right, ts.Diagnostics.The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } return booleanType; @@ -44803,9 +45032,9 @@ var ts; } /** Note: If property cannot be a SpreadAssignment, then allProperties does not need to be provided */ function checkObjectLiteralDestructuringPropertyAssignment(objectLiteralType, property, allProperties) { - if (property.kind === 269 /* PropertyAssignment */ || property.kind === 270 /* ShorthandPropertyAssignment */) { + if (property.kind === 270 /* PropertyAssignment */ || property.kind === 271 /* ShorthandPropertyAssignment */) { var name = property.name; - if (name.kind === 146 /* ComputedPropertyName */) { + if (name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(name); } if (isComputedNonLiteralName(name)) { @@ -44818,7 +45047,7 @@ var ts; isNumericLiteralName(text) && getIndexTypeOfType(objectLiteralType, 1 /* Number */) || getIndexTypeOfType(objectLiteralType, 0 /* String */); if (type) { - if (property.kind === 270 /* ShorthandPropertyAssignment */) { + if (property.kind === 271 /* ShorthandPropertyAssignment */) { return checkDestructuringAssignment(property, type); } else { @@ -44830,7 +45059,7 @@ var ts; error(name, ts.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature, typeToString(objectLiteralType), ts.declarationNameToString(name)); } } - else if (property.kind === 271 /* SpreadAssignment */) { + else if (property.kind === 272 /* SpreadAssignment */) { if (languageVersion < 6 /* ESNext */) { checkExternalEmitHelpers(property, 4 /* Rest */); } @@ -44856,7 +45085,7 @@ var ts; // This elementType will be used if the specific property corresponding to this index is not // present (aka the tuple element property). This call also checks that the parentType is in // fact an iterable or array (depending on target language). - var elementType = checkIteratedTypeOrElementType(sourceType, node, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || unknownType; + var elementType = checkIteratedTypeOrElementType(sourceType, node, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || errorType; for (var i = 0; i < elements.length; i++) { checkArrayLiteralDestructuringElementAssignment(node, sourceType, i, elementType, checkMode); } @@ -44865,8 +45094,8 @@ var ts; function checkArrayLiteralDestructuringElementAssignment(node, sourceType, elementIndex, elementType, checkMode) { var elements = node.elements; var element = elements[elementIndex]; - if (element.kind !== 205 /* OmittedExpression */) { - if (element.kind !== 203 /* SpreadElement */) { + if (element.kind !== 206 /* OmittedExpression */) { + if (element.kind !== 204 /* SpreadElement */) { var propName = "" + elementIndex; var type = isTypeAny(sourceType) ? sourceType @@ -44894,7 +45123,7 @@ var ts; } else { var restExpression = element.expression; - if (restExpression.kind === 199 /* BinaryExpression */ && restExpression.operatorToken.kind === 58 /* EqualsToken */) { + if (restExpression.kind === 200 /* BinaryExpression */ && restExpression.operatorToken.kind === 58 /* EqualsToken */) { error(restExpression.operatorToken, ts.Diagnostics.A_rest_element_cannot_have_an_initializer); } else { @@ -44907,13 +45136,13 @@ var ts; } function checkDestructuringAssignment(exprOrAssignment, sourceType, checkMode) { var target; - if (exprOrAssignment.kind === 270 /* ShorthandPropertyAssignment */) { + if (exprOrAssignment.kind === 271 /* ShorthandPropertyAssignment */) { var prop = exprOrAssignment; if (prop.objectAssignmentInitializer) { // In strict null checking mode, if a default value of a non-undefined type is specified, remove // undefined from the final type. if (strictNullChecks && - !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 4096 /* Undefined */)) { + !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 8192 /* Undefined */)) { sourceType = getTypeWithFacts(sourceType, 131072 /* NEUndefined */); } checkBinaryLikeExpression(prop.name, prop.equalsToken, prop.objectAssignmentInitializer, checkMode); @@ -44923,21 +45152,21 @@ var ts; else { target = exprOrAssignment; } - if (target.kind === 199 /* BinaryExpression */ && target.operatorToken.kind === 58 /* EqualsToken */) { + if (target.kind === 200 /* BinaryExpression */ && target.operatorToken.kind === 58 /* EqualsToken */) { checkBinaryExpression(target, checkMode); target = target.left; } - if (target.kind === 183 /* ObjectLiteralExpression */) { + if (target.kind === 184 /* ObjectLiteralExpression */) { return checkObjectLiteralAssignment(target, sourceType); } - if (target.kind === 182 /* ArrayLiteralExpression */) { + if (target.kind === 183 /* ArrayLiteralExpression */) { return checkArrayLiteralAssignment(target, sourceType, checkMode); } return checkReferenceAssignment(target, sourceType, checkMode); } function checkReferenceAssignment(target, sourceType, checkMode) { var targetType = checkExpression(target, checkMode); - var error = target.parent.kind === 271 /* SpreadAssignment */ ? + var error = target.parent.kind === 272 /* SpreadAssignment */ ? ts.Diagnostics.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access : ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access; if (checkReferenceExpression(target, error)) { @@ -44959,35 +45188,35 @@ var ts; case 71 /* Identifier */: case 9 /* StringLiteral */: case 12 /* RegularExpressionLiteral */: - case 188 /* TaggedTemplateExpression */: - case 201 /* TemplateExpression */: + case 189 /* TaggedTemplateExpression */: + case 202 /* TemplateExpression */: case 13 /* NoSubstitutionTemplateLiteral */: case 8 /* NumericLiteral */: case 101 /* TrueKeyword */: case 86 /* FalseKeyword */: case 95 /* NullKeyword */: case 140 /* UndefinedKeyword */: - case 191 /* FunctionExpression */: - case 204 /* ClassExpression */: - case 192 /* ArrowFunction */: - case 182 /* ArrayLiteralExpression */: - case 183 /* ObjectLiteralExpression */: - case 194 /* TypeOfExpression */: - case 208 /* NonNullExpression */: - case 255 /* JsxSelfClosingElement */: - case 254 /* JsxElement */: + case 192 /* FunctionExpression */: + case 205 /* ClassExpression */: + case 193 /* ArrowFunction */: + case 183 /* ArrayLiteralExpression */: + case 184 /* ObjectLiteralExpression */: + case 195 /* TypeOfExpression */: + case 209 /* NonNullExpression */: + case 256 /* JsxSelfClosingElement */: + case 255 /* JsxElement */: return true; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return isSideEffectFree(node.whenTrue) && isSideEffectFree(node.whenFalse); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (ts.isAssignmentOperator(node.operatorToken.kind)) { return false; } return isSideEffectFree(node.left) && isSideEffectFree(node.right); - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: // Unary operators ~, !, +, and - have no side effects. // The rest do. switch (node.operator) { @@ -44999,15 +45228,15 @@ var ts; } return false; // Some forms listed here for clarity - case 195 /* VoidExpression */: // Explicit opt-out - case 189 /* TypeAssertionExpression */: // Not SEF, but can produce useful type warnings - case 207 /* AsExpression */: // Not SEF, but can produce useful type warnings + case 196 /* VoidExpression */: // Explicit opt-out + case 190 /* TypeAssertionExpression */: // Not SEF, but can produce useful type warnings + case 208 /* AsExpression */: // Not SEF, but can produce useful type warnings default: return false; } } function isTypeEqualityComparableTo(source, target) { - return (target.flags & 12288 /* Nullable */) !== 0 || isTypeComparableTo(source, target); + return (target.flags & 24576 /* Nullable */) !== 0 || isTypeComparableTo(source, target); } function checkBinaryExpression(node, checkMode) { if (ts.isInJavaScriptFile(node) && ts.getAssignedJavascriptInitializer(node)) { @@ -45017,7 +45246,7 @@ var ts; } function checkBinaryLikeExpression(left, operatorToken, right, checkMode, errorNode) { var operator = operatorToken.kind; - if (operator === 58 /* EqualsToken */ && (left.kind === 183 /* ObjectLiteralExpression */ || left.kind === 182 /* ArrayLiteralExpression */)) { + if (operator === 58 /* EqualsToken */ && (left.kind === 184 /* ObjectLiteralExpression */ || left.kind === 183 /* ArrayLiteralExpression */)) { return checkDestructuringAssignment(left, checkExpression(right, checkMode), checkMode); } var leftType = checkExpression(left, checkMode); @@ -45053,8 +45282,8 @@ var ts; var suggestedOperator = void 0; // if a user tries to apply a bitwise operator to 2 boolean operands // try and return them a helpful suggestion - if ((leftType.flags & 136 /* BooleanLike */) && - (rightType.flags & 136 /* BooleanLike */) && + if ((leftType.flags & 272 /* BooleanLike */) && + (rightType.flags & 272 /* BooleanLike */) && (suggestedOperator = getSuggestedBooleanOperator(operatorToken.kind)) !== undefined) { error(errorNode || operatorToken, ts.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead, ts.tokenToString(operatorToken.kind), ts.tokenToString(suggestedOperator)); } @@ -45072,24 +45301,24 @@ var ts; if (leftType === silentNeverType || rightType === silentNeverType) { return silentNeverType; } - if (!isTypeAssignableToKind(leftType, 34 /* StringLike */) && !isTypeAssignableToKind(rightType, 34 /* StringLike */)) { + if (!isTypeAssignableToKind(leftType, 68 /* StringLike */) && !isTypeAssignableToKind(rightType, 68 /* StringLike */)) { leftType = checkNonNullType(leftType, left); rightType = checkNonNullType(rightType, right); } var resultType = void 0; - if (isTypeAssignableToKind(leftType, 84 /* NumberLike */, /*strict*/ true) && isTypeAssignableToKind(rightType, 84 /* NumberLike */, /*strict*/ true)) { + if (isTypeAssignableToKind(leftType, 168 /* NumberLike */, /*strict*/ true) && isTypeAssignableToKind(rightType, 168 /* NumberLike */, /*strict*/ true)) { // Operands of an enum type are treated as having the primitive type Number. // If both operands are of the Number primitive type, the result is of the Number primitive type. resultType = numberType; } - else if (isTypeAssignableToKind(leftType, 34 /* StringLike */, /*strict*/ true) || isTypeAssignableToKind(rightType, 34 /* StringLike */, /*strict*/ true)) { + else if (isTypeAssignableToKind(leftType, 68 /* StringLike */, /*strict*/ true) || isTypeAssignableToKind(rightType, 68 /* StringLike */, /*strict*/ true)) { // If one or both operands are of the String primitive type, the result is of the String primitive type. resultType = stringType; } else if (isTypeAny(leftType) || isTypeAny(rightType)) { // Otherwise, the result is of type Any. // NOTE: unknown type here denotes error type. Old compiler treated this case as any type so do we. - resultType = leftType === unknownType || rightType === unknownType ? unknownType : anyType; + resultType = leftType === errorType || rightType === errorType ? errorType : anyType; } // Symbols are not allowed at all in arithmetic expressions if (resultType && !checkForDisallowedESSymbolOperand(operator)) { @@ -45150,6 +45379,8 @@ var ts; error(left, ts.Diagnostics.Left_side_of_comma_operator_is_unused_and_has_no_side_effects); } return rightType; + default: + return ts.Debug.fail(); } function checkSpecialAssignment(left, right) { var special = ts.getSpecialPropertyAssignmentKind(left.parent); @@ -45161,7 +45392,7 @@ var ts; if (propType.symbol && propType.symbol.flags & 32 /* Class */) { var name = prop.escapedName; var symbol = resolveName(prop.valueDeclaration, name, 67901928 /* Type */, undefined, name, /*isUse*/ false); - if (symbol) { + if (symbol && symbol.declarations.some(function (d) { return d.kind === 297 /* JSDocTypedefTag */; })) { grammarErrorOnNode(symbol.declarations[0], ts.Diagnostics.Duplicate_identifier_0, ts.unescapeLeadingUnderscores(name)); return grammarErrorOnNode(prop.valueDeclaration, ts.Diagnostics.Duplicate_identifier_0, ts.unescapeLeadingUnderscores(name)); } @@ -45174,8 +45405,8 @@ var ts; } // Return true if there was no error, false if there was an error. function checkForDisallowedESSymbolOperand(operator) { - var offendingSymbolOperand = maybeTypeOfKind(leftType, 1536 /* ESSymbolLike */) ? left : - maybeTypeOfKind(rightType, 1536 /* ESSymbolLike */) ? right : + var offendingSymbolOperand = maybeTypeOfKind(leftType, 3072 /* ESSymbolLike */) ? left : + maybeTypeOfKind(rightType, 3072 /* ESSymbolLike */) ? right : undefined; if (offendingSymbolOperand) { error(offendingSymbolOperand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(operator)); @@ -45243,7 +45474,9 @@ var ts; } } var func = ts.getContainingFunction(node); - var functionFlags = func ? ts.getFunctionFlags(func) : 0 /* Normal */; + if (!func) + return anyType; + var functionFlags = ts.getFunctionFlags(func); if (!(functionFlags & 1 /* Generator */)) { // If the user's code is syntactically correct, the func should always have a star. After all, we are in a yield context. return anyType; @@ -45262,7 +45495,7 @@ var ts; } } var isAsync = (functionFlags & 2 /* Async */) !== 0; - var yieldedType = getYieldedTypeOfYieldExpression(node, isAsync); + var yieldedType = getYieldedTypeOfYieldExpression(node, isAsync); // TODO: GH#18217 // There is no point in doing an assignability check if the function // has no explicit return type because the return type is directly computed // from the yield expressions. @@ -45287,14 +45520,14 @@ var ts; // A place where we actually *are* concerned with the expressions' types are // in tagged templates. ts.forEach(node.templateSpans, function (templateSpan) { - if (maybeTypeOfKind(checkExpression(templateSpan.expression), 1536 /* ESSymbolLike */)) { + if (maybeTypeOfKind(checkExpression(templateSpan.expression), 3072 /* ESSymbolLike */)) { error(templateSpan.expression, ts.Diagnostics.Type_0_cannot_be_converted_to_type_1, typeToString(esSymbolType), typeToString(stringType)); } }); return stringType; } function getContextNode(node) { - if (node.kind === 262 /* JsxAttributes */) { + if (node.kind === 263 /* JsxAttributes */) { return node.parent.parent; // Needs to be the root JsxElement, so it encompasses the attributes _and_ the children (which are essentially part of the attributes) } return node; @@ -45330,17 +45563,16 @@ var ts; } function isTypeAssertion(node) { node = ts.skipParentheses(node); - return node.kind === 189 /* TypeAssertionExpression */ || node.kind === 207 /* AsExpression */; + return node.kind === 190 /* TypeAssertionExpression */ || node.kind === 208 /* AsExpression */; } function checkDeclarationInitializer(declaration) { - var inJs = ts.isInJavaScriptFile(declaration); - var initializer = inJs && ts.getDeclaredJavascriptInitializer(declaration) || declaration.initializer; + var initializer = ts.getEffectiveInitializer(declaration); var type = getTypeOfExpression(initializer, /*cache*/ true); var widened = ts.getCombinedNodeFlags(declaration) & 2 /* Const */ || (ts.getCombinedModifierFlags(declaration) & 64 /* Readonly */ && !ts.isParameterPropertyDeclaration(declaration)) || isTypeAssertion(initializer) ? type : getWidenedLiteralType(type); - if (inJs) { - if (widened.flags & 12288 /* Nullable */) { + if (ts.isInJavaScriptFile(declaration)) { + if (widened.flags & 24576 /* Nullable */) { if (noImplicitAny) { reportImplicitAnyError(declaration, anyType); } @@ -45355,38 +45587,28 @@ var ts; } return widened; } - function isTypeParameterWithKeyofConstraint(type) { - if (type.flags & 32768 /* TypeParameter */) { - var constraintDeclaration = getConstraintDeclaration(type); - return constraintDeclaration && constraintDeclaration.kind === 174 /* TypeOperator */ && - constraintDeclaration.operator === 128 /* KeyOfKeyword */; - } - return false; - } function isLiteralOfContextualType(candidateType, contextualType) { if (contextualType) { - if (contextualType.flags & 393216 /* UnionOrIntersection */) { + if (contextualType.flags & 786432 /* UnionOrIntersection */) { var types = contextualType.types; return ts.some(types, function (t) { return isLiteralOfContextualType(candidateType, t); }); } - if (contextualType.flags & 7372800 /* InstantiableNonPrimitive */) { + if (contextualType.flags & 14745600 /* InstantiableNonPrimitive */) { // If the contextual type is a type variable constrained to a primitive type, consider // this a literal context for literals of that primitive type. For example, given a // type parameter 'T extends string', infer string literal types for T. var constraint = getBaseConstraintOfType(contextualType) || emptyObjectType; - return isTypeParameterWithKeyofConstraint(contextualType) && maybeTypeOfKind(candidateType, 32 /* StringLiteral */ | 64 /* NumberLiteral */ | 1024 /* UniqueESSymbol */) || - constraint.flags & 2 /* String */ && maybeTypeOfKind(candidateType, 32 /* StringLiteral */) || - constraint.flags & 4 /* Number */ && maybeTypeOfKind(candidateType, 64 /* NumberLiteral */) || - constraint.flags & 8 /* Boolean */ && maybeTypeOfKind(candidateType, 128 /* BooleanLiteral */) || - constraint.flags & 512 /* ESSymbol */ && maybeTypeOfKind(candidateType, 1024 /* UniqueESSymbol */) || + return maybeTypeOfKind(constraint, 4 /* String */) && maybeTypeOfKind(candidateType, 64 /* StringLiteral */) || + maybeTypeOfKind(constraint, 8 /* Number */) && maybeTypeOfKind(candidateType, 128 /* NumberLiteral */) || + maybeTypeOfKind(constraint, 1024 /* ESSymbol */) && maybeTypeOfKind(candidateType, 2048 /* UniqueESSymbol */) || isLiteralOfContextualType(candidateType, constraint); } // If the contextual type is a literal of a particular primitive type, we consider this a // literal context for all literals of that primitive type. - return contextualType.flags & (32 /* StringLiteral */ | 524288 /* Index */) && maybeTypeOfKind(candidateType, 32 /* StringLiteral */) || - contextualType.flags & 64 /* NumberLiteral */ && maybeTypeOfKind(candidateType, 64 /* NumberLiteral */) || - contextualType.flags & 128 /* BooleanLiteral */ && maybeTypeOfKind(candidateType, 128 /* BooleanLiteral */) || - contextualType.flags & 1024 /* UniqueESSymbol */ && maybeTypeOfKind(candidateType, 1024 /* UniqueESSymbol */); + return !!(contextualType.flags & (64 /* StringLiteral */ | 1048576 /* Index */) && maybeTypeOfKind(candidateType, 64 /* StringLiteral */) || + contextualType.flags & 128 /* NumberLiteral */ && maybeTypeOfKind(candidateType, 128 /* NumberLiteral */) || + contextualType.flags & 256 /* BooleanLiteral */ && maybeTypeOfKind(candidateType, 256 /* BooleanLiteral */) || + contextualType.flags & 2048 /* UniqueESSymbol */ && maybeTypeOfKind(candidateType, 2048 /* UniqueESSymbol */)); } return false; } @@ -45402,7 +45624,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); } return checkExpressionForMutableLocation(node.initializer, checkMode); @@ -45413,7 +45635,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); } var uninstantiatedType = checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); @@ -45443,7 +45665,7 @@ var ts; function getTypeOfExpression(node, cache) { // Optimize for the common case of a call to a function with a single non-generic call // signature where we can just fetch the return type without checking the arguments. - if (node.kind === 186 /* CallExpression */ && node.expression.kind !== 97 /* SuperKeyword */ && !ts.isRequireCall(node, /*checkArgumentIsStringLiteralLike*/ true) && !isSymbolOrSymbolForCall(node)) { + if (node.kind === 187 /* CallExpression */ && node.expression.kind !== 97 /* SuperKeyword */ && !ts.isRequireCall(node, /*checkArgumentIsStringLiteralLike*/ true) && !isSymbolOrSymbolForCall(node)) { var funcType = checkNonNullExpression(node.expression); var signature = getSingleCallSignature(funcType); if (signature && !signature.typeParameters) { @@ -45478,7 +45700,7 @@ var ts; // contextually typed function and arrow expressions in the initial phase. function checkExpression(node, checkMode) { var type; - if (node.kind === 145 /* QualifiedName */) { + if (node.kind === 146 /* QualifiedName */) { type = checkQualifiedName(node); } else { @@ -45490,10 +45712,10 @@ var ts; // - 'left' in property access // - 'object' in indexed access // - target in rhs of import statement - var ok = (node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.expression === node) || - (node.parent.kind === 185 /* ElementAccessExpression */ && node.parent.expression === node) || - ((node.kind === 71 /* Identifier */ || node.kind === 145 /* QualifiedName */) && isInRightSideOfImportOrExportAssignment(node) || - (node.parent.kind === 164 /* TypeQuery */ && node.parent.exprName === node)); + var ok = (node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.expression === node) || + (node.parent.kind === 186 /* ElementAccessExpression */ && node.parent.expression === node) || + ((node.kind === 71 /* Identifier */ || node.kind === 146 /* QualifiedName */) && isInRightSideOfImportOrExportAssignment(node) || + (node.parent.kind === 165 /* TypeQuery */ && node.parent.exprName === node)); if (!ok) { error(node, ts.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query); } @@ -45527,77 +45749,77 @@ var ts; return trueType; case 86 /* FalseKeyword */: return falseType; - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return checkTemplateExpression(node); case 12 /* RegularExpressionLiteral */: return globalRegExpType; - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return checkArrayLiteral(node, checkMode); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return checkObjectLiteral(node, checkMode); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return checkPropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return checkIndexedAccess(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (node.expression.kind === 91 /* ImportKeyword */) { return checkImportCallExpression(node); } /* falls through */ - case 187 /* NewExpression */: + case 188 /* NewExpression */: return checkCallExpression(node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return checkTaggedTemplateExpression(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return checkParenthesizedExpression(node, checkMode); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return checkClassExpression(node); - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); - case 194 /* TypeOfExpression */: + case 195 /* TypeOfExpression */: return checkTypeOfExpression(node); - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: return checkAssertion(node); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: return checkNonNullAssertion(node); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return checkMetaProperty(node); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return checkDeleteExpression(node); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return checkVoidExpression(node); - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return checkAwaitExpression(node); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return checkPrefixUnaryExpression(node); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return checkPostfixUnaryExpression(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return checkBinaryExpression(node, checkMode); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return checkConditionalExpression(node, checkMode); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return checkSpreadExpression(node, checkMode); - case 205 /* OmittedExpression */: + case 206 /* OmittedExpression */: return undefinedWideningType; - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return checkYieldExpression(node); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return checkJsxExpression(node, checkMode); - case 254 /* JsxElement */: + case 255 /* JsxElement */: return checkJsxElement(node, checkMode); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return checkJsxSelfClosingElement(node, checkMode); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return checkJsxFragment(node, checkMode); - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return checkJsxAttributes(node, checkMode); - case 256 /* JsxOpeningElement */: + case 257 /* JsxOpeningElement */: ts.Debug.fail("Shouldn't ever directly check a JsxOpeningElement"); } - return unknownType; + return errorType; } // DECLARATION AND STATEMENT TYPE CHECKING function checkTypeParameter(node) { @@ -45632,7 +45854,7 @@ var ts; checkVariableLikeDeclaration(node); var func = ts.getContainingFunction(node); if (ts.hasModifier(node, 92 /* ParameterPropertyModifier */)) { - if (!(func.kind === 154 /* Constructor */ && ts.nodeIsPresent(func.body))) { + if (!(func.kind === 155 /* Constructor */ && ts.nodeIsPresent(func.body))) { error(node, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); } } @@ -45643,7 +45865,7 @@ var ts; if (func.parameters.indexOf(node) !== 0) { error(node, ts.Diagnostics.A_0_parameter_must_be_the_first_parameter, node.name.escapedText); } - if (func.kind === 154 /* Constructor */ || func.kind === 158 /* ConstructSignature */ || func.kind === 163 /* ConstructorType */) { + if (func.kind === 155 /* Constructor */ || func.kind === 159 /* ConstructSignature */ || func.kind === 164 /* ConstructorType */) { error(node, ts.Diagnostics.A_constructor_cannot_have_a_this_parameter); } } @@ -45687,7 +45909,8 @@ var ts; } else { var leadingError = function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type); }; - checkTypeAssignableTo(typePredicate.type, getTypeOfNode(parent.parameters[typePredicate.parameterIndex]), node.type, + checkTypeAssignableTo(typePredicate.type, getTypeOfNode(parent.parameters[typePredicate.parameterIndex]), // TODO: GH#18217 + node.type, /*headMessage*/ undefined, leadingError); } } @@ -45709,13 +45932,13 @@ var ts; } function getTypePredicateParent(node) { switch (node.parent.kind) { - case 192 /* ArrowFunction */: - case 157 /* CallSignature */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 162 /* FunctionType */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 193 /* ArrowFunction */: + case 158 /* CallSignature */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 163 /* FunctionType */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: var parent = node.parent; if (node === parent.type) { return parent; @@ -45733,7 +45956,7 @@ var ts; error(predicateVariableNode, ts.Diagnostics.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern, predicateVariableName); return true; } - else if (name.kind === 180 /* ArrayBindingPattern */ || name.kind === 179 /* ObjectBindingPattern */) { + else if (name.kind === 181 /* ArrayBindingPattern */ || name.kind === 180 /* ObjectBindingPattern */) { if (checkIfTypePredicateVariableIsDeclaredInBindingPattern(name, predicateVariableNode, predicateVariableName)) { return true; } @@ -45742,13 +45965,13 @@ var ts; } function checkSignatureDeclaration(node) { // Grammar checking - if (node.kind === 159 /* IndexSignature */) { + if (node.kind === 160 /* IndexSignature */) { checkGrammarIndexSignature(node); } // TODO (yuisu): Remove this check in else-if when SyntaxKind.Construct is moved and ambient context is handled - else if (node.kind === 162 /* FunctionType */ || node.kind === 233 /* FunctionDeclaration */ || node.kind === 163 /* ConstructorType */ || - node.kind === 157 /* CallSignature */ || node.kind === 154 /* Constructor */ || - node.kind === 158 /* ConstructSignature */) { + else if (node.kind === 163 /* FunctionType */ || node.kind === 234 /* FunctionDeclaration */ || node.kind === 164 /* ConstructorType */ || + node.kind === 158 /* CallSignature */ || node.kind === 155 /* Constructor */ || + node.kind === 159 /* ConstructSignature */) { checkGrammarFunctionLikeDeclaration(node); } var functionFlags = ts.getFunctionFlags(node); @@ -45778,10 +46001,10 @@ var ts; var returnTypeNode = ts.getEffectiveReturnTypeNode(node); if (noImplicitAny && !returnTypeNode) { switch (node.kind) { - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: error(node, ts.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; - case 157 /* CallSignature */: + case 158 /* CallSignature */: error(node, ts.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; } @@ -45811,7 +46034,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (node.kind !== 159 /* IndexSignature */ && node.kind !== 283 /* JSDocFunctionType */) { + if (node.kind !== 160 /* IndexSignature */ && node.kind !== 284 /* JSDocFunctionType */) { registerForUnusedIdentifiersCheck(node); } } @@ -45828,7 +46051,7 @@ var ts; var staticNames = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 154 /* Constructor */) { + if (member.kind === 155 /* Constructor */) { for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var param = _c[_b]; if (ts.isParameterPropertyDeclaration(param) && !ts.isBindingPattern(param.name)) { @@ -45839,20 +46062,21 @@ var ts; else { var isStatic = ts.hasModifier(member, 32 /* Static */); var names = isStatic ? staticNames : instanceNames; - var memberName = member.name && ts.getPropertyNameForPropertyNameNode(member.name); - if (memberName) { + var name = member.name; + var memberName = name && ts.getPropertyNameForPropertyNameNode(name); + if (name && memberName) { switch (member.kind) { - case 155 /* GetAccessor */: - addName(names, member.name, memberName, 1 /* Getter */); + case 156 /* GetAccessor */: + addName(names, name, memberName, 1 /* Getter */); break; - case 156 /* SetAccessor */: - addName(names, member.name, memberName, 2 /* Setter */); + case 157 /* SetAccessor */: + addName(names, name, memberName, 2 /* Setter */); break; - case 151 /* PropertyDeclaration */: - addName(names, member.name, memberName, 3 /* Property */); + case 152 /* PropertyDeclaration */: + addName(names, name, memberName, 3 /* Property */); break; - case 153 /* MethodDeclaration */: - addName(names, member.name, memberName, 4 /* Method */); + case 154 /* MethodDeclaration */: + addName(names, name, memberName, 4 /* Method */); break; } } @@ -45914,15 +46138,16 @@ var ts; var names = ts.createMap(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 150 /* PropertySignature */) { + if (member.kind === 151 /* PropertySignature */) { var memberName = void 0; - switch (member.name.kind) { + var name = member.name; + switch (name.kind) { case 9 /* StringLiteral */: case 8 /* NumericLiteral */: - memberName = member.name.text; + memberName = name.text; break; case 71 /* Identifier */: - memberName = ts.idText(member.name); + memberName = ts.idText(name); break; default: continue; @@ -45938,7 +46163,7 @@ var ts; } } function checkTypeForDuplicateIndexSignatures(node) { - if (node.kind === 235 /* InterfaceDeclaration */) { + if (node.kind === 236 /* InterfaceDeclaration */) { var nodeSymbol = getSymbolOfNode(node); // in case of merging interface declaration it is possible that we'll enter this check procedure several times for every declaration // to prevent this run check only for the first declaration of a given kind @@ -45993,7 +46218,7 @@ var ts; checkFunctionOrMethodDeclaration(node); // Abstract methods cannot have an implementation. // Extra checks are to avoid reporting multiple errors relating to the "abstractness" of the node. - if (ts.hasModifier(node, 128 /* Abstract */) && node.kind === 153 /* MethodDeclaration */ && node.body) { + if (ts.hasModifier(node, 128 /* Abstract */) && node.kind === 154 /* MethodDeclaration */ && node.body) { error(node, ts.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract, ts.declarationNameToString(node.name)); } } @@ -46018,7 +46243,7 @@ var ts; return; } function isInstancePropertyWithInitializer(n) { - return n.kind === 151 /* PropertyDeclaration */ && + return n.kind === 152 /* PropertyDeclaration */ && !ts.hasModifier(n, 32 /* Static */) && !!n.initializer; } @@ -46048,7 +46273,7 @@ var ts; var superCallStatement = void 0; for (var _i = 0, statements_2 = statements; _i < statements_2.length; _i++) { var statement = statements_2[_i]; - if (statement.kind === 215 /* ExpressionStatement */ && ts.isSuperCall(statement.expression)) { + if (statement.kind === 216 /* ExpressionStatement */ && ts.isSuperCall(statement.expression)) { superCallStatement = statement; break; } @@ -46073,7 +46298,7 @@ var ts; checkGrammarComputedPropertyName(node.name); checkDecorators(node); checkSignatureDeclaration(node); - if (node.kind === 155 /* GetAccessor */) { + if (node.kind === 156 /* GetAccessor */) { if (!(node.flags & 4194304 /* Ambient */) && ts.nodeIsPresent(node.body) && (node.flags & 128 /* HasImplicitReturn */)) { if (!(node.flags & 256 /* HasExplicitReturn */)) { error(node.name, ts.Diagnostics.A_get_accessor_must_return_a_value); @@ -46083,13 +46308,13 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); } if (!hasNonBindableDynamicName(node)) { // TypeScript 1.0 spec (April 2014): 8.4.3 // Accessors for the same member name must specify the same accessibility. - var otherKind = node.kind === 155 /* GetAccessor */ ? 156 /* SetAccessor */ : 155 /* GetAccessor */; + var otherKind = node.kind === 156 /* GetAccessor */ ? 157 /* SetAccessor */ : 156 /* GetAccessor */; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(node), otherKind); if (otherAccessor) { var nodeFlags = ts.getModifierFlags(node); @@ -46107,7 +46332,7 @@ var ts; } } var returnType = getTypeOfAccessors(getSymbolOfNode(node)); - if (node.kind === 155 /* GetAccessor */) { + if (node.kind === 156 /* GetAccessor */) { checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnType); } } @@ -46144,7 +46369,7 @@ var ts; } function getTypeParametersForTypeReference(node) { var type = getTypeFromTypeReference(node); - if (type !== unknownType) { + if (type !== errorType) { var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { return symbol.flags & 524288 /* TypeAlias */ && getSymbolLinks(symbol).typeParameters || @@ -46155,11 +46380,11 @@ var ts; } function checkTypeReferenceNode(node) { checkGrammarTypeArguments(node, node.typeArguments); - if (node.kind === 161 /* TypeReference */ && node.typeName.jsdocDotPos !== undefined && !ts.isInJavaScriptFile(node) && !ts.isInJSDoc(node)) { + if (node.kind === 162 /* TypeReference */ && node.typeName.jsdocDotPos !== undefined && !ts.isInJavaScriptFile(node) && !ts.isInJSDoc(node)) { grammarErrorAtPos(node, node.typeName.jsdocDotPos, 1, ts.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments); } var type = getTypeFromTypeReference(node); - if (type !== unknownType) { + if (type !== errorType) { if (node.typeArguments) { // Do type argument local checks only if referenced type is successfully resolved ts.forEach(node.typeArguments, checkSourceElement); @@ -46170,7 +46395,7 @@ var ts; } } } - if (type.flags & 16 /* Enum */ && getNodeLinks(node).resolvedSymbol.flags & 8 /* EnumMember */) { + if (type.flags & 32 /* Enum */ && getNodeLinks(node).resolvedSymbol.flags & 8 /* EnumMember */) { error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type)); } } @@ -46179,7 +46404,7 @@ var ts; var typeReferenceNode = ts.tryCast(node.parent, ts.isTypeReferenceType); if (!typeReferenceNode) return undefined; - var typeParameters = getTypeParametersForTypeReference(typeReferenceNode); + var typeParameters = getTypeParametersForTypeReference(typeReferenceNode); // TODO: GH#18217 var constraint = getConstraintOfTypeParameter(typeParameters[typeReferenceNode.typeArguments.indexOf(node)]); return constraint && instantiateType(constraint, createTypeMapper(typeParameters, getEffectiveTypeArguments(typeReferenceNode, typeParameters))); } @@ -46210,14 +46435,14 @@ var ts; ts.forEach(node.types, checkSourceElement); } function checkIndexedAccessIndexType(type, accessNode) { - if (!(type.flags & 1048576 /* IndexedAccess */)) { + if (!(type.flags & 2097152 /* IndexedAccess */)) { return type; } // Check if the index type is assignable to 'keyof T' for the object type. var objectType = type.objectType; var indexType = type.indexType; if (isTypeAssignableTo(indexType, getIndexType(objectType, /*stringsOnly*/ false))) { - if (accessNode.kind === 185 /* ElementAccessExpression */ && ts.isAssignmentTarget(accessNode) && + if (accessNode.kind === 186 /* ElementAccessExpression */ && ts.isAssignmentTarget(accessNode) && ts.getObjectFlags(objectType) & 32 /* Mapped */ && getMappedTypeModifiers(objectType) & 1 /* IncludeReadonly */) { error(accessNode, ts.Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(objectType)); } @@ -46225,7 +46450,7 @@ var ts; } // Check if we're indexing with a numeric type and if either object or index types // is a generic type with a constraint that has a numeric index signature. - if (getIndexInfoOfType(getApparentType(objectType), 1 /* Number */) && isTypeAssignableToKind(indexType, 84 /* NumberLike */)) { + if (getIndexInfoOfType(getApparentType(objectType), 1 /* Number */) && isTypeAssignableToKind(indexType, 168 /* NumberLike */)) { return type; } error(accessNode, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(indexType), typeToString(objectType)); @@ -46254,7 +46479,7 @@ var ts; ts.forEachChild(node, checkSourceElement); } function checkInferType(node) { - if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 170 /* ConditionalType */ && n.parent.extendsType === n; })) { + if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 171 /* ConditionalType */ && n.parent.extendsType === n; })) { grammarErrorOnNode(node, ts.Diagnostics.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type); } checkSourceElement(node.typeParameter); @@ -46270,9 +46495,9 @@ var ts; var flags = ts.getCombinedModifierFlags(n); // children of classes (even ambient classes) should not be marked as ambient or export // because those flags have no useful semantics there. - if (n.parent.kind !== 235 /* InterfaceDeclaration */ && - n.parent.kind !== 234 /* ClassDeclaration */ && - n.parent.kind !== 204 /* ClassExpression */ && + if (n.parent.kind !== 236 /* InterfaceDeclaration */ && + n.parent.kind !== 235 /* ClassDeclaration */ && + n.parent.kind !== 205 /* ClassExpression */ && n.flags & 4194304 /* Ambient */) { if (!(flags & 2 /* Ambient */) && !(ts.isModuleBlock(n.parent) && ts.isModuleDeclaration(n.parent.parent) && ts.isGlobalScopeAugmentation(n.parent.parent))) { // It is nested in an ambient context, which means it is automatically exported @@ -46363,7 +46588,7 @@ var ts; if (node.name && subsequentName && (ts.isComputedPropertyName(node.name) && ts.isComputedPropertyName(subsequentName) || !ts.isComputedPropertyName(node.name) && !ts.isComputedPropertyName(subsequentName) && ts.getEscapedTextOfIdentifierOrLiteral(node.name) === ts.getEscapedTextOfIdentifierOrLiteral(subsequentName))) { - var reportError = (node.kind === 153 /* MethodDeclaration */ || node.kind === 152 /* MethodSignature */) && + var reportError = (node.kind === 154 /* MethodDeclaration */ || node.kind === 153 /* MethodSignature */) && ts.hasModifier(node, 32 /* Static */) !== ts.hasModifier(subsequentNode, 32 /* Static */); // we can get here in two cases // 1. mixed static and instance class members @@ -46402,7 +46627,7 @@ var ts; var current = declarations_4[_i]; var node = current; var inAmbientContext = node.flags & 4194304 /* Ambient */; - var inAmbientContextOrInterface = node.parent.kind === 235 /* InterfaceDeclaration */ || node.parent.kind === 165 /* TypeLiteral */ || inAmbientContext; + var inAmbientContextOrInterface = node.parent.kind === 236 /* InterfaceDeclaration */ || node.parent.kind === 166 /* TypeLiteral */ || inAmbientContext; if (inAmbientContextOrInterface) { // check if declarations are consecutive only if they are non-ambient // 1. ambient declarations can be interleaved @@ -46413,7 +46638,7 @@ var ts; // 2. mixing ambient and non-ambient declarations is a separate error that will be reported - do not want to report an extra one previousDeclaration = undefined; } - if (node.kind === 233 /* FunctionDeclaration */ || node.kind === 153 /* MethodDeclaration */ || node.kind === 152 /* MethodSignature */ || node.kind === 154 /* Constructor */) { + if (node.kind === 234 /* FunctionDeclaration */ || node.kind === 154 /* MethodDeclaration */ || node.kind === 153 /* MethodSignature */ || node.kind === 155 /* Constructor */) { var currentNodeFlags = getEffectiveDeclarationFlags(node, flagsToCheck); someNodeFlags |= currentNodeFlags; allNodeFlags &= currentNodeFlags; @@ -46542,22 +46767,22 @@ var ts; function getDeclarationSpaces(decl) { var d = decl; switch (d.kind) { - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: // A jsdoc typedef and callback are, by definition, type aliases - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: return 2 /* ExportType */; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return ts.isAmbientModule(d) || ts.getModuleInstanceState(d) !== 0 /* NonInstantiated */ ? 4 /* ExportNamespace */ | 1 /* ExportValue */ : 4 /* ExportNamespace */; - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: return 2 /* ExportType */ | 1 /* ExportValue */; - case 273 /* SourceFile */: + case 274 /* SourceFile */: return 2 /* ExportType */ | 1 /* ExportValue */ | 4 /* ExportNamespace */; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: // Export assigned entity name expressions act as aliases and should fall through, otherwise they export values if (!ts.isEntityNameExpression(d.expression)) { return 1 /* ExportValue */; @@ -46565,20 +46790,20 @@ var ts; d = d.expression; /* falls through */ // The below options all declare an Alias, which is allowed to merge with other values within the importing module - case 242 /* ImportEqualsDeclaration */: - case 245 /* NamespaceImport */: - case 244 /* ImportClause */: + case 243 /* ImportEqualsDeclaration */: + case 246 /* NamespaceImport */: + case 245 /* ImportClause */: var result_3 = 0 /* None */; var target = resolveAlias(getSymbolOfNode(d)); ts.forEach(target.declarations, function (d) { result_3 |= getDeclarationSpaces(d); }); return result_3; - case 231 /* VariableDeclaration */: - case 181 /* BindingElement */: - case 233 /* FunctionDeclaration */: - case 247 /* ImportSpecifier */: // https://github.com/Microsoft/TypeScript/pull/7591 + case 232 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 234 /* FunctionDeclaration */: + case 248 /* ImportSpecifier */: // https://github.com/Microsoft/TypeScript/pull/7591 return 1 /* ExportValue */; default: - ts.Debug.fail(ts.Debug.showSyntaxKind(d)); + return ts.Debug.fail(ts.Debug.showSyntaxKind(d)); } } } @@ -46611,7 +46836,7 @@ var ts; if (isReferenceToType(promise, getGlobalPromiseType(/*reportErrors*/ false))) { return typeAsPromise.promisedTypeOfPromise = promise.typeArguments[0]; } - var thenFunction = getTypeOfPropertyOfType(promise, "then"); + var thenFunction = getTypeOfPropertyOfType(promise, "then"); // TODO: GH#18217 if (isTypeAny(thenFunction)) { return undefined; } @@ -46643,7 +46868,7 @@ var ts; * The runtime behavior of the `await` keyword. */ function checkAwaitedType(type, errorNode, diagnosticMessage) { - return getAwaitedType(type, errorNode, diagnosticMessage) || unknownType; + return getAwaitedType(type, errorNode, diagnosticMessage) || errorType; } function getAwaitedType(type, errorNode, diagnosticMessage) { var typeAsAwaitable = type; @@ -46653,7 +46878,7 @@ var ts; if (isTypeAny(type)) { return typeAsAwaitable.awaitedTypeOfType = type; } - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { var types = void 0; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var constituentType = _a[_i]; @@ -46732,7 +46957,8 @@ var ts; var thenFunction = getTypeOfPropertyOfType(type, "then"); if (thenFunction && getSignaturesOfType(thenFunction, 0 /* Call */).length > 0) { if (errorNode) { - ts.Debug.assert(!!diagnosticMessage); + if (!diagnosticMessage) + return ts.Debug.fail(); error(errorNode, diagnosticMessage); } return undefined; @@ -46777,58 +47003,58 @@ var ts; // then(...): Promise; // } // - var returnTypeNode = ts.getEffectiveReturnTypeNode(node); + var returnTypeNode = ts.getEffectiveReturnTypeNode(node); // TODO: GH#18217 var returnType = getTypeFromTypeNode(returnTypeNode); if (languageVersion >= 2 /* ES2015 */) { - if (returnType === unknownType) { - return unknownType; + if (returnType === errorType) { + return errorType; } var globalPromiseType = getGlobalPromiseType(/*reportErrors*/ true); if (globalPromiseType !== emptyGenericType && !isReferenceToType(returnType, globalPromiseType)) { // The promise type was not a valid type reference to the global promise type, so we // report an error and return the unknown type. error(returnTypeNode, ts.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type); - return unknownType; + return errorType; } } else { // Always mark the type node as referenced if it points to a value markTypeNodeAsReferenced(returnTypeNode); - if (returnType === unknownType) { - return unknownType; + if (returnType === errorType) { + return errorType; } var promiseConstructorName = ts.getEntityNameFromTypeNode(returnTypeNode); if (promiseConstructorName === undefined) { error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, typeToString(returnType)); - return unknownType; + return errorType; } var promiseConstructorSymbol = resolveEntityName(promiseConstructorName, 67216319 /* Value */, /*ignoreErrors*/ true); - var promiseConstructorType = promiseConstructorSymbol ? getTypeOfSymbol(promiseConstructorSymbol) : unknownType; - if (promiseConstructorType === unknownType) { + var promiseConstructorType = promiseConstructorSymbol ? getTypeOfSymbol(promiseConstructorSymbol) : errorType; + if (promiseConstructorType === errorType) { if (promiseConstructorName.kind === 71 /* Identifier */ && promiseConstructorName.escapedText === "Promise" && getTargetType(returnType) === getGlobalPromiseType(/*reportErrors*/ false)) { error(returnTypeNode, ts.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option); } else { error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, ts.entityNameToString(promiseConstructorName)); } - return unknownType; + return errorType; } var globalPromiseConstructorLikeType = getGlobalPromiseConstructorLikeType(/*reportErrors*/ true); if (globalPromiseConstructorLikeType === emptyObjectType) { // If we couldn't resolve the global PromiseConstructorLike type we cannot verify // compatibility with __awaiter. error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, ts.entityNameToString(promiseConstructorName)); - return unknownType; + return errorType; } if (!checkTypeAssignableTo(promiseConstructorType, globalPromiseConstructorLikeType, returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value)) { - return unknownType; + return errorType; } // Verify there is no local declaration that could collide with the promise constructor. var rootName = promiseConstructorName && getFirstIdentifier(promiseConstructorName); var collidingSymbol = getSymbol(node.locals, rootName.escapedText, 67216319 /* Value */); if (collidingSymbol) { error(collidingSymbol.valueDeclaration, ts.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions, ts.idText(rootName), ts.entityNameToString(promiseConstructorName)); - return unknownType; + return errorType; } } // Get and return the awaited type of the return type. @@ -46845,26 +47071,30 @@ var ts; var headMessage = getDiagnosticHeadMessageForDecoratorResolution(node); var errorInfo; switch (node.parent.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: var classSymbol = getSymbolOfNode(node.parent); var classConstructorType = getTypeOfSymbol(classSymbol); expectedReturnType = getUnionType([classConstructorType, voidType]); break; - case 148 /* Parameter */: + case 149 /* Parameter */: expectedReturnType = voidType; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any); + errorInfo = ts.chainDiagnosticMessages( + /*details*/ undefined, ts.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any); break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: expectedReturnType = voidType; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any); + errorInfo = ts.chainDiagnosticMessages( + /*details*/ undefined, ts.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any); break; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - var methodType = getTypeOfNode(node.parent); + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + var methodType = getTypeOfNode(node.parent); // TODO: GH#18217 var descriptorType = createTypedPropertyDescriptorType(methodType); expectedReturnType = getUnionType([descriptorType, voidType]); break; + default: + return ts.Debug.fail(); } checkTypeAssignableTo(returnType, expectedReturnType, node, headMessage, function () { return errorInfo; }); } @@ -46904,12 +47134,12 @@ var ts; function getEntityNameForDecoratorMetadata(node) { if (node) { switch (node.kind) { - case 169 /* IntersectionType */: - case 168 /* UnionType */: + case 170 /* IntersectionType */: + case 169 /* UnionType */: var commonEntityName = void 0; for (var _i = 0, _a = node.types; _i < _a.length; _i++) { var typeNode = _a[_i]; - while (typeNode.kind === 172 /* ParenthesizedType */) { + while (typeNode.kind === 173 /* ParenthesizedType */) { typeNode = typeNode.type; // Skip parens if need be } if (typeNode.kind === 131 /* NeverKeyword */) { @@ -46941,9 +47171,9 @@ var ts; } } return commonEntityName; - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return getEntityNameForDecoratorMetadata(node.type); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return node.typeName; } } @@ -46967,14 +47197,14 @@ var ts; } var firstDecorator = node.decorators[0]; checkExternalEmitHelpers(firstDecorator, 8 /* Decorate */); - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { checkExternalEmitHelpers(firstDecorator, 32 /* Param */); } if (compilerOptions.emitDecoratorMetadata) { checkExternalEmitHelpers(firstDecorator, 16 /* Metadata */); // we only need to perform these checks if we are emitting serialized type metadata for the target of a decorator. switch (node.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: var constructor = ts.getFirstConstructorWithBody(node); if (constructor) { for (var _i = 0, _a = constructor.parameters; _i < _a.length; _i++) { @@ -46983,19 +47213,19 @@ var ts; } } break; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: for (var _b = 0, _c = node.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); } markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveReturnTypeNode(node)); break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveTypeAnnotationNode(node)); break; - case 148 /* Parameter */: + case 149 /* Parameter */: markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(node)); var containingSignature = node.parent; for (var _d = 0, _e = containingSignature.parameters; _d < _e.length; _d++) { @@ -47038,12 +47268,12 @@ var ts; return; } if (!containsArgumentsReference(decl)) { - error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(node.name.kind === 145 /* QualifiedName */ ? node.name.right : node.name)); + error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(node.name.kind === 146 /* QualifiedName */ ? node.name.right : node.name)); } else if (ts.findLast(ts.getJSDocTags(decl), ts.isJSDocParameterTag) === node && node.typeExpression && node.typeExpression.type && !isArrayType(getTypeFromTypeNode(node.typeExpression.type))) { - error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, ts.idText(node.name.kind === 145 /* QualifiedName */ ? node.name.right : node.name)); + error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, ts.idText(node.name.kind === 146 /* QualifiedName */ ? node.name.right : node.name)); } } } @@ -47072,7 +47302,7 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return node; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return node.name; default: return undefined; @@ -47085,7 +47315,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name && node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name && node.name.kind === 147 /* ComputedPropertyName */) { // This check will account for methods in class/interface declarations, // as well as accessors in classes/object literals checkComputedPropertyName(node.name); @@ -47114,7 +47344,7 @@ var ts; } } } - var body = node.kind === 152 /* MethodSignature */ ? undefined : node.body; + var body = node.kind === 153 /* MethodSignature */ ? undefined : node.body; checkSourceElement(body); var returnTypeNode = ts.getEffectiveReturnTypeNode(node); if ((functionFlags & 1 /* Generator */) === 0) { // Async function or normal function @@ -47155,41 +47385,41 @@ var ts; for (var _i = 0, potentiallyUnusedIdentifiers_1 = potentiallyUnusedIdentifiers; _i < potentiallyUnusedIdentifiers_1.length; _i++) { var node = potentiallyUnusedIdentifiers_1[_i]; switch (node.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: checkUnusedClassMembers(node, addDiagnostic); checkUnusedTypeParameters(node, addDiagnostic); break; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: checkUnusedTypeParameters(node, addDiagnostic); break; - case 273 /* SourceFile */: - case 238 /* ModuleDeclaration */: - case 212 /* Block */: - case 240 /* CaseBlock */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 274 /* SourceFile */: + case 239 /* ModuleDeclaration */: + case 213 /* Block */: + case 241 /* CaseBlock */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: checkUnusedLocalsAndParameters(node, addDiagnostic); break; - case 154 /* Constructor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 155 /* Constructor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: if (node.body) { checkUnusedLocalsAndParameters(node, addDiagnostic); } checkUnusedTypeParameters(node, addDiagnostic); break; - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 236 /* TypeAliasDeclaration */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 237 /* TypeAliasDeclaration */: checkUnusedTypeParameters(node, addDiagnostic); break; default: @@ -47199,15 +47429,8 @@ var ts; } function errorUnusedLocal(declaration, name, addDiagnostic) { var node = ts.getNameOfDeclaration(declaration) || declaration; - if (isIdentifierThatStartsWithUnderScore(node)) { - var declaration_2 = ts.getRootDeclaration(node.parent); - if ((declaration_2.kind === 231 /* VariableDeclaration */ && ts.isForInOrOfStatement(declaration_2.parent.parent)) || - declaration_2.kind === 147 /* TypeParameter */) { - return; - } - } var message = isTypeDeclaration(declaration) ? ts.Diagnostics._0_is_declared_but_never_used : ts.Diagnostics._0_is_declared_but_its_value_is_never_read; - addDiagnostic(0 /* Local */, ts.createDiagnosticForNodeSpan(ts.getSourceFileOfNode(declaration), declaration, node, message, name)); + addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(node, message, name)); } function parameterNameStartsWithUnderscore(parameterName) { return parameterName && isIdentifierThatStartsWithUnderScore(parameterName); @@ -47220,11 +47443,11 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 153 /* MethodDeclaration */: - case 151 /* PropertyDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - if (member.kind === 156 /* SetAccessor */ && member.symbol.flags & 32768 /* GetAccessor */) { + case 154 /* MethodDeclaration */: + case 152 /* PropertyDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + if (member.kind === 157 /* SetAccessor */ && member.symbol.flags & 32768 /* GetAccessor */) { // Already would have reported an error on the getter. break; } @@ -47233,7 +47456,7 @@ var ts; addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(member.name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, symbolToString(symbol))); } break; - case 154 /* Constructor */: + case 155 /* Constructor */: for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; if (!parameter.symbol.isReferenced && ts.hasModifier(parameter, 8 /* Private */)) { @@ -47241,8 +47464,8 @@ var ts; } } break; - case 159 /* IndexSignature */: - case 211 /* SemicolonClassElement */: + case 160 /* IndexSignature */: + case 212 /* SemicolonClassElement */: // Can't be private break; default: @@ -47283,6 +47506,7 @@ var ts; // Ideally we could use the ImportClause directly as a key, but must wait until we have full ES6 maps. So must store key along with value. var unusedImports = ts.createMap(); var unusedDestructures = ts.createMap(); + var unusedVariables = ts.createMap(); nodeWithLocals.locals.forEach(function (local) { // If it's purely a type parameter, ignore, will be checked in `checkUnusedTypeParameters`. // If it's a type parameter merged with a parameter, check if the parameter-side is used. @@ -47303,6 +47527,11 @@ var ts; addToGroup(unusedDestructures, declaration.parent, declaration, getNodeId); } } + else if (ts.isVariableDeclaration(declaration)) { + if (!isIdentifierThatStartsWithUnderScore(declaration.name) || !ts.isForInOrOfStatement(declaration.parent.parent)) { + addToGroup(unusedVariables, declaration.parent, declaration, getNodeId); + } + } else { var parameter = local.valueDeclaration && tryGetRootParameterDeclaration(local.valueDeclaration); if (parameter) { @@ -47320,50 +47549,77 @@ var ts; unusedImports.forEach(function (_a) { var importClause = _a[0], unuseds = _a[1]; var importDecl = importClause.parent; - if (forEachImportedDeclaration(importClause, function (d) { return !ts.contains(unuseds, d); })) { + var nDeclarations = (importClause.name ? 1 : 0) + + (importClause.namedBindings ? + (importClause.namedBindings.kind === 246 /* NamespaceImport */ ? 1 : importClause.namedBindings.elements.length) + : 0); + if (nDeclarations === unuseds.length) { + addDiagnostic(0 /* Local */, unuseds.length === 1 + ? ts.createDiagnosticForNode(importDecl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.first(unuseds).name)) + : ts.createDiagnosticForNode(importDecl, ts.Diagnostics.All_imports_in_import_declaration_are_unused)); + } + else { for (var _i = 0, unuseds_1 = unuseds; _i < unuseds_1.length; _i++) { var unused = unuseds_1[_i]; errorUnusedLocal(unused, ts.idText(unused.name), addDiagnostic); } } - else if (unuseds.length === 1) { - addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(importDecl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.first(unuseds).name))); - } - else { - addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(importDecl, ts.Diagnostics.All_imports_in_import_declaration_are_unused)); - } }); unusedDestructures.forEach(function (_a) { var bindingPattern = _a[0], bindingElements = _a[1]; var kind = tryGetRootParameterDeclaration(bindingPattern.parent) ? 1 /* Parameter */ : 0 /* Local */; - if (!bindingPattern.elements.every(function (e) { return ts.contains(bindingElements, e); })) { + if (bindingPattern.elements.length === bindingElements.length) { + if (bindingElements.length === 1 && bindingPattern.parent.kind === 232 /* VariableDeclaration */ && bindingPattern.parent.parent.kind === 233 /* VariableDeclarationList */) { + addToGroup(unusedVariables, bindingPattern.parent.parent, bindingPattern.parent, getNodeId); + } + else { + addDiagnostic(kind, bindingElements.length === 1 + ? ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(ts.first(bindingElements).name, ts.isIdentifier))) + : ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics.All_destructured_elements_are_unused)); + } + } + else { for (var _i = 0, bindingElements_1 = bindingElements; _i < bindingElements_1.length; _i++) { var e = bindingElements_1[_i]; addDiagnostic(kind, ts.createDiagnosticForNode(e, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(e.name, ts.isIdentifier)))); } } - else if (bindingElements.length === 1) { - addDiagnostic(kind, ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(ts.first(bindingElements).name, ts.isIdentifier)))); + }); + unusedVariables.forEach(function (_a) { + var declarationList = _a[0], declarations = _a[1]; + if (declarationList.declarations.length === declarations.length) { + addDiagnostic(0 /* Local */, declarations.length === 1 + ? ts.createDiagnosticForNode(ts.first(declarations).name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, bindingNameText(ts.first(declarations).name)) + : ts.createDiagnosticForNode(declarationList.parent.kind === 214 /* VariableStatement */ ? declarationList.parent : declarationList, ts.Diagnostics.All_variables_are_unused)); } else { - addDiagnostic(kind, ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics.All_destructured_elements_are_unused)); + for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { + var decl = declarations_5[_i]; + addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(decl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(decl.name, ts.isIdentifier)))); + } } }); } + function bindingNameText(name) { + switch (name.kind) { + case 71 /* Identifier */: + return ts.idText(name); + case 181 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + return bindingNameText(ts.cast(ts.first(name.elements), ts.isBindingElement).name); + default: + return ts.Debug.assertNever(name); + } + } function isImportedDeclaration(node) { - return node.kind === 244 /* ImportClause */ || node.kind === 247 /* ImportSpecifier */ || node.kind === 245 /* NamespaceImport */; + return node.kind === 245 /* ImportClause */ || node.kind === 248 /* ImportSpecifier */ || node.kind === 246 /* NamespaceImport */; } function importClauseFromImported(decl) { - return decl.kind === 244 /* ImportClause */ ? decl : decl.kind === 245 /* NamespaceImport */ ? decl.parent : decl.parent.parent; - } - function forEachImportedDeclaration(importClause, cb) { - var defaultName = importClause.name, namedBindings = importClause.namedBindings; - return (defaultName && cb(importClause)) || - namedBindings && (namedBindings.kind === 245 /* NamespaceImport */ ? cb(namedBindings) : ts.forEach(namedBindings.elements, cb)); + return decl.kind === 245 /* ImportClause */ ? decl : decl.kind === 246 /* NamespaceImport */ ? decl.parent : decl.parent.parent; } function checkBlock(node) { // Grammar checking for SyntaxKind.Block - if (node.kind === 212 /* Block */) { + if (node.kind === 213 /* Block */) { checkGrammarStatementInAmbientContext(node); } if (ts.isFunctionOrModuleBlock(node)) { @@ -47393,12 +47649,12 @@ var ts; if (!(identifier && identifier.escapedText === name)) { return false; } - if (node.kind === 151 /* PropertyDeclaration */ || - node.kind === 150 /* PropertySignature */ || - node.kind === 153 /* MethodDeclaration */ || - node.kind === 152 /* MethodSignature */ || - node.kind === 155 /* GetAccessor */ || - node.kind === 156 /* SetAccessor */) { + if (node.kind === 152 /* PropertyDeclaration */ || + node.kind === 151 /* PropertySignature */ || + node.kind === 154 /* MethodDeclaration */ || + node.kind === 153 /* MethodSignature */ || + node.kind === 156 /* GetAccessor */ || + node.kind === 157 /* SetAccessor */) { // it is ok to have member named '_super' or '_this' - member access is always qualified return false; } @@ -47407,7 +47663,7 @@ var ts; return false; } var root = ts.getRootDeclaration(node); - if (root.kind === 148 /* Parameter */ && ts.nodeIsMissing(root.parent.body)) { + if (root.kind === 149 /* Parameter */ && ts.nodeIsMissing(root.parent.body)) { // just an overload - no codegen impact return false; } @@ -47426,6 +47682,7 @@ var ts; } return true; } + return false; }); } function checkIfNewTargetIsCapturedInEnclosingScope(node) { @@ -47440,6 +47697,7 @@ var ts; } return true; } + return false; }); } function checkCollisionWithRequireExportsInGeneratedCode(node, name) { @@ -47456,7 +47714,7 @@ var ts; } // In case of variable declaration, node.parent is variable statement so look at the variable statement's parent var parent = getDeclarationContainer(node); - if (parent.kind === 273 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent)) { + if (parent.kind === 274 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent)) { // If the declaration happens to be in external module, report error that require and exports are reserved keywords error(name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module, ts.declarationNameToString(name), ts.declarationNameToString(name)); } @@ -47471,7 +47729,7 @@ var ts; } // In case of variable declaration, node.parent is variable statement so look at the variable statement's parent var parent = getDeclarationContainer(node); - if (parent.kind === 273 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent) && parent.flags & 1024 /* HasAsyncFunctions */) { + if (parent.kind === 274 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent) && parent.flags & 1024 /* HasAsyncFunctions */) { // If the declaration happens to be in external module, report error that Promise is a reserved identifier. error(name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions, ts.declarationNameToString(name), ts.declarationNameToString(name)); } @@ -47506,7 +47764,7 @@ var ts; // skip variable declarations that don't have initializers // NOTE: in ES6 spec initializer is required in variable declarations where name is binding pattern // so we'll always treat binding elements as initialized - if (node.kind === 231 /* VariableDeclaration */ && !node.initializer) { + if (node.kind === 232 /* VariableDeclaration */ && !node.initializer) { return; } var symbol = getSymbolOfNode(node); @@ -47518,17 +47776,17 @@ var ts; localDeclarationSymbol !== symbol && localDeclarationSymbol.flags & 2 /* BlockScopedVariable */) { if (getDeclarationNodeFlagsFromSymbol(localDeclarationSymbol) & 3 /* BlockScoped */) { - var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 232 /* VariableDeclarationList */); - var container = varDeclList.parent.kind === 213 /* VariableStatement */ && varDeclList.parent.parent + var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 233 /* VariableDeclarationList */); + var container = varDeclList.parent.kind === 214 /* VariableStatement */ && varDeclList.parent.parent ? varDeclList.parent.parent : undefined; // names of block-scoped and function scoped variables can collide only // if block scoped variable is defined in the function\module\source file scope (because of variable hoisting) var namesShareScope = container && - (container.kind === 212 /* Block */ && ts.isFunctionLike(container.parent) || - container.kind === 239 /* ModuleBlock */ || - container.kind === 238 /* ModuleDeclaration */ || - container.kind === 273 /* SourceFile */); + (container.kind === 213 /* Block */ && ts.isFunctionLike(container.parent) || + container.kind === 240 /* ModuleBlock */ || + container.kind === 239 /* ModuleDeclaration */ || + container.kind === 274 /* SourceFile */); // here we know that function scoped variable is shadowed by block scoped one // if they are defined in the same scope - binder has already reported redeclaration error // otherwise if variable has an initializer - show error that initialization will fail @@ -47543,7 +47801,7 @@ var ts; } // Check that a parameter initializer contains no references to parameters declared to the right of itself function checkParameterInitializer(node) { - if (ts.getRootDeclaration(node).kind !== 148 /* Parameter */) { + if (ts.getRootDeclaration(node).kind !== 149 /* Parameter */) { return; } var func = ts.getContainingFunction(node); @@ -47554,7 +47812,7 @@ var ts; // skip declaration names (i.e. in object literal expressions) return; } - if (n.kind === 184 /* PropertyAccessExpression */) { + if (n.kind === 185 /* PropertyAccessExpression */) { // skip property names in property access expression return visit(n.expression); } @@ -47573,8 +47831,8 @@ var ts; // so we need to do a bit of extra work to check if reference is legal var enclosingContainer = ts.getEnclosingBlockScopeContainer(symbol.valueDeclaration); if (enclosingContainer === func) { - if (symbol.valueDeclaration.kind === 148 /* Parameter */ || - symbol.valueDeclaration.kind === 181 /* BindingElement */) { + if (symbol.valueDeclaration.kind === 149 /* Parameter */ || + symbol.valueDeclaration.kind === 182 /* BindingElement */) { // it is ok to reference parameter in initializer if either // - parameter is located strictly on the left of current parameter declaration if (symbol.valueDeclaration.pos < node.pos) { @@ -47588,7 +47846,7 @@ var ts; return ts.isFunctionLike(current.parent) || // computed property names/initializers in instance property declaration of class like entities // are executed in constructor and thus deferred - (current.parent.kind === 151 /* PropertyDeclaration */ && + (current.parent.kind === 152 /* PropertyDeclaration */ && !(ts.hasModifier(current.parent, 32 /* Static */)) && ts.isClassLike(current.parent.parent)); })) { @@ -47621,18 +47879,18 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); if (node.initializer) { checkExpressionCached(node.initializer); } } - if (node.kind === 181 /* BindingElement */) { - if (node.parent.kind === 179 /* ObjectBindingPattern */ && languageVersion < 6 /* ESNext */) { + if (node.kind === 182 /* BindingElement */) { + if (node.parent.kind === 180 /* ObjectBindingPattern */ && languageVersion < 6 /* ESNext */) { checkExternalEmitHelpers(node, 4 /* Rest */); } // check computed properties inside property names of binding elements - if (node.propertyName && node.propertyName.kind === 146 /* ComputedPropertyName */) { + if (node.propertyName && node.propertyName.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.propertyName); } // check private/protected variable access @@ -47640,7 +47898,7 @@ var ts; var parentType = getTypeForBindingElementParent(parent); var name = node.propertyName || node.name; if (!ts.isBindingPattern(name)) { - var property = getPropertyOfType(parentType, ts.getTextOfPropertyName(name)); + var property = getPropertyOfType(parentType, ts.getTextOfPropertyName(name)); // TODO: GH#18217 markPropertyAsReferenced(property, /*nodeForCheckWriteOnly*/ undefined, /*isThisAccess*/ false); // A destructuring is never a write-only reference. if (parent.initializer && property) { checkPropertyAccessibility(parent, parent.initializer, parentType, property); @@ -47649,20 +47907,20 @@ var ts; } // For a binding pattern, check contained binding elements if (ts.isBindingPattern(node.name)) { - if (node.name.kind === 180 /* ArrayBindingPattern */ && languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) { + if (node.name.kind === 181 /* ArrayBindingPattern */ && languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) { checkExternalEmitHelpers(node, 512 /* Read */); } ts.forEach(node.name.elements, checkSourceElement); } // For a parameter declaration with an initializer, error and exit if the containing function doesn't have a body - if (node.initializer && ts.getRootDeclaration(node).kind === 148 /* Parameter */ && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { + if (node.initializer && ts.getRootDeclaration(node).kind === 149 /* Parameter */ && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { error(node, ts.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation); return; } // For a binding pattern, validate the initializer and exit if (ts.isBindingPattern(node.name)) { // Don't validate for-in initializer as it is already an error - if (node.initializer && node.parent.parent.kind !== 220 /* ForInStatement */) { + if (node.initializer && node.parent.parent.kind !== 221 /* ForInStatement */) { var initializerType = checkExpressionCached(node.initializer); if (strictNullChecks && node.name.elements.length === 0) { checkNonNullType(initializerType, node); @@ -47679,8 +47937,8 @@ var ts; if (node === symbol.valueDeclaration) { // Node is the primary declaration of the symbol, just validate the initializer // Don't validate for-in initializer as it is already an error - if (node.initializer && node.parent.parent.kind !== 220 /* ForInStatement */) { - var initializer = ts.isInJavaScriptFile(node) && ts.getDeclaredJavascriptInitializer(node) || node.initializer; + var initializer = ts.getEffectiveInitializer(node); + if (initializer && node.parent.parent.kind !== 221 /* ForInStatement */) { checkTypeAssignableTo(checkExpressionCached(initializer), type, node, /*headMessage*/ undefined); checkParameterInitializer(node); } @@ -47689,7 +47947,7 @@ var ts; // Node is a secondary declaration, check that type is identical to primary declaration and check that // initializer is consistent with type associated with the node var declarationType = convertAutoToAny(getWidenedTypeForVariableLikeDeclaration(node)); - if (type !== unknownType && declarationType !== unknownType && + if (type !== errorType && declarationType !== errorType && !isTypeIdenticalTo(type, declarationType) && !(symbol.flags & 67108864 /* JSContainer */)) { errorNextVariableOrPropertyDeclarationMustHaveSameType(type, node, declarationType); @@ -47702,10 +47960,10 @@ var ts; error(node.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_modifiers, ts.declarationNameToString(node.name)); } } - if (node.kind !== 151 /* PropertyDeclaration */ && node.kind !== 150 /* PropertySignature */) { + if (node.kind !== 152 /* PropertyDeclaration */ && node.kind !== 151 /* PropertySignature */) { // We know we don't have a binding pattern or computed name here checkExportsOnMergedDeclarations(node); - if (node.kind === 231 /* VariableDeclaration */ || node.kind === 181 /* BindingElement */) { + if (node.kind === 232 /* VariableDeclaration */ || node.kind === 182 /* BindingElement */) { checkVarDeclaredNamesNotShadowed(node); } checkCollisionWithRequireExportsInGeneratedCode(node, node.name); @@ -47714,14 +47972,14 @@ var ts; } function errorNextVariableOrPropertyDeclarationMustHaveSameType(firstType, nextDeclaration, nextType) { var nextDeclarationName = ts.getNameOfDeclaration(nextDeclaration); - var message = nextDeclaration.kind === 151 /* PropertyDeclaration */ || nextDeclaration.kind === 150 /* PropertySignature */ + var message = nextDeclaration.kind === 152 /* PropertyDeclaration */ || nextDeclaration.kind === 151 /* PropertySignature */ ? ts.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2 : ts.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2; error(nextDeclarationName, message, ts.declarationNameToString(nextDeclarationName), typeToString(firstType), typeToString(nextType)); } function areDeclarationFlagsIdentical(left, right) { - if ((left.kind === 148 /* Parameter */ && right.kind === 231 /* VariableDeclaration */) || - (left.kind === 231 /* VariableDeclaration */ && right.kind === 148 /* Parameter */)) { + if ((left.kind === 149 /* Parameter */ && right.kind === 232 /* VariableDeclaration */) || + (left.kind === 232 /* VariableDeclaration */ && right.kind === 149 /* Parameter */)) { // Differences in optionality between parameters and variables are allowed. return true; } @@ -47760,7 +48018,7 @@ var ts; checkGrammarStatementInAmbientContext(node); checkExpression(node.expression); checkSourceElement(node.thenStatement); - if (node.thenStatement.kind === 214 /* EmptyStatement */) { + if (node.thenStatement.kind === 215 /* EmptyStatement */) { error(node.thenStatement, ts.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement); } checkSourceElement(node.elseStatement); @@ -47780,12 +48038,12 @@ var ts; function checkForStatement(node) { // Grammar checking if (!checkGrammarStatementInAmbientContext(node)) { - if (node.initializer && node.initializer.kind === 232 /* VariableDeclarationList */) { + if (node.initializer && node.initializer.kind === 233 /* VariableDeclarationList */) { checkGrammarVariableDeclarationList(node.initializer); } } if (node.initializer) { - if (node.initializer.kind === 232 /* VariableDeclarationList */) { + if (node.initializer.kind === 233 /* VariableDeclarationList */) { ts.forEach(node.initializer.declarations, checkVariableDeclaration); } else { @@ -47819,18 +48077,18 @@ var ts; // via checkRightHandSideOfForOf. // If the LHS is an expression, check the LHS, as a destructuring assignment or as a reference. // Then check that the RHS is assignable to it. - if (node.initializer.kind === 232 /* VariableDeclarationList */) { + if (node.initializer.kind === 233 /* VariableDeclarationList */) { checkForInOrForOfVariableDeclaration(node); } else { var varExpr = node.initializer; var iteratedType = checkRightHandSideOfForOf(node.expression, node.awaitModifier); // There may be a destructuring assignment on the left side - if (varExpr.kind === 182 /* ArrayLiteralExpression */ || varExpr.kind === 183 /* ObjectLiteralExpression */) { + if (varExpr.kind === 183 /* ArrayLiteralExpression */ || varExpr.kind === 184 /* ObjectLiteralExpression */) { // iteratedType may be undefined. In this case, we still want to check the structure of // varExpr, in particular making sure it's a valid LeftHandSideExpression. But we'd like // to short circuit the type relation checking as much as possible, so we pass the unknownType. - checkDestructuringAssignment(varExpr, iteratedType || unknownType); + checkDestructuringAssignment(varExpr, iteratedType || errorType); } else { var leftType = checkExpression(varExpr); @@ -47858,7 +48116,7 @@ var ts; // for (let VarDecl in Expr) Statement // VarDecl must be a variable declaration without a type annotation that declares a variable of type Any, // and Expr must be an expression of type Any, an object type, or a type parameter type. - if (node.initializer.kind === 232 /* VariableDeclarationList */) { + if (node.initializer.kind === 233 /* VariableDeclarationList */) { var variable = node.initializer.declarations[0]; if (variable && ts.isBindingPattern(variable.name)) { error(variable.name, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); @@ -47872,7 +48130,7 @@ var ts; // and Expr must be an expression of type Any, an object type, or a type parameter type. var varExpr = node.initializer; var leftType = checkExpression(varExpr); - if (varExpr.kind === 182 /* ArrayLiteralExpression */ || varExpr.kind === 183 /* ObjectLiteralExpression */) { + if (varExpr.kind === 183 /* ArrayLiteralExpression */ || varExpr.kind === 184 /* ObjectLiteralExpression */) { error(varExpr, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); } else if (!isTypeAssignableTo(getIndexTypeOrString(rightType), leftType)) { @@ -47885,7 +48143,7 @@ var ts; } // unknownType is returned i.e. if node.expression is identifier whose name cannot be resolved // in this case error about missing name is already reported - do not report extra one - if (rightType === neverType || !isTypeAssignableToKind(rightType, 134217728 /* NonPrimitive */ | 7372800 /* InstantiableNonPrimitive */)) { + if (rightType === neverType || !isTypeAssignableToKind(rightType, 16777216 /* NonPrimitive */ | 14745600 /* InstantiableNonPrimitive */)) { error(node.expression, ts.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0, typeToString(rightType)); } checkSourceElement(node.statement); @@ -47918,7 +48176,7 @@ var ts; */ function getIteratedTypeOrElementType(inputType, errorNode, allowStringInput, allowAsyncIterables, checkAssignability) { if (inputType === neverType) { - reportTypeNotIterableError(errorNode, inputType, allowAsyncIterables); + reportTypeNotIterableError(errorNode, inputType, allowAsyncIterables); // TODO: GH#18217 return undefined; } var uplevelIteration = languageVersion >= 2 /* ES2015 */; @@ -47940,16 +48198,16 @@ var ts; // This allows us to find other non-string element types from an array unioned with // a string. if (allowStringInput) { - if (arrayType.flags & 131072 /* Union */) { + if (arrayType.flags & 262144 /* Union */) { // After we remove all types that are StringLike, we will know if there was a string constituent // based on whether the result of filter is a new array. var arrayTypes = inputType.types; - var filteredTypes = ts.filter(arrayTypes, function (t) { return !(t.flags & 34 /* StringLike */); }); + var filteredTypes = ts.filter(arrayTypes, function (t) { return !(t.flags & 68 /* StringLike */); }); if (filteredTypes !== arrayTypes) { arrayType = getUnionType(filteredTypes, 2 /* Subtype */); } } - else if (arrayType.flags & 34 /* StringLike */) { + else if (arrayType.flags & 68 /* StringLike */) { arrayType = neverType; } hasStringConstituent = arrayType !== inputType; @@ -47962,7 +48220,7 @@ var ts; } // Now that we've removed all the StringLike types, if no constituents remain, then the entire // arrayOrStringType was a string. - if (arrayType.flags & 16384 /* Never */) { + if (arrayType.flags & 32768 /* Never */) { return stringType; } } @@ -47993,7 +48251,7 @@ var ts; var arrayElementType = getIndexTypeOfType(arrayType, 1 /* Number */); if (hasStringConstituent && arrayElementType) { // This is just an optimization for the case where arrayOrStringType is string | string[] - if (arrayElementType.flags & 34 /* StringLike */) { + if (arrayElementType.flags & 68 /* StringLike */) { return stringType; } return getUnionType([arrayElementType, stringType], 2 /* Subtype */); @@ -48068,11 +48326,11 @@ var ts; } } var asyncMethodType = allowAsyncIterables && getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("asyncIterator")); - var methodType = asyncMethodType || (allowSyncIterables && getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("iterator"))); + var methodType = asyncMethodType || (allowSyncIterables ? getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("iterator")) : undefined); if (isTypeAny(methodType)) { return undefined; } - var signatures = methodType && getSignaturesOfType(methodType, 0 /* Call */); + var signatures = methodType ? getSignaturesOfType(methodType, 0 /* Call */) : undefined; if (!ts.some(signatures)) { if (errorNode) { // only report on the first error @@ -48198,14 +48456,14 @@ var ts; // TODO: Check that target label is valid } function isGetAccessorWithAnnotatedSetAccessor(node) { - return node.kind === 155 /* GetAccessor */ - && ts.getEffectiveSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(node.symbol, 156 /* SetAccessor */)) !== undefined; + return node.kind === 156 /* GetAccessor */ + && ts.getEffectiveSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(node.symbol, 157 /* SetAccessor */)) !== undefined; } function isUnwrappedReturnTypeVoidOrAny(func, returnType) { var unwrappedReturnType = (ts.getFunctionFlags(func) & 3 /* AsyncGenerator */) === 2 /* Async */ ? getPromisedTypeOfPromise(returnType) // Async function : returnType; // AsyncGenerator function, Generator function, or normal function - return unwrappedReturnType && maybeTypeOfKind(unwrappedReturnType, 2048 /* Void */ | 1 /* Any */); + return !!unwrappedReturnType && maybeTypeOfKind(unwrappedReturnType, 4096 /* Void */ | 3 /* AnyOrUnknown */); } function checkReturnStatement(node) { // Grammar checking @@ -48221,7 +48479,7 @@ var ts; var returnType = getReturnTypeOfSignature(signature); var functionFlags = ts.getFunctionFlags(func); var isGenerator = functionFlags & 1 /* Generator */; - if (strictNullChecks || node.expression || returnType.flags & 16384 /* Never */) { + if (strictNullChecks || node.expression || returnType.flags & 32768 /* Never */) { var exprType = node.expression ? checkExpressionCached(node.expression) : undefinedType; if (isGenerator) { // AsyncGenerator function or Generator function // A generator does not need its return expressions checked against its return type. @@ -48230,12 +48488,12 @@ var ts; // for generators. return; } - else if (func.kind === 156 /* SetAccessor */) { + else if (func.kind === 157 /* SetAccessor */) { if (node.expression) { error(node, ts.Diagnostics.Setters_cannot_return_a_value); } } - else if (func.kind === 154 /* Constructor */) { + else if (func.kind === 155 /* Constructor */) { if (node.expression && !checkTypeAssignableTo(exprType, returnType, node)) { error(node, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); } @@ -48256,7 +48514,7 @@ var ts; } } } - else if (func.kind !== 154 /* Constructor */ && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(func, returnType) && !isGenerator) { + else if (func.kind !== 155 /* Constructor */ && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(func, returnType) && !isGenerator) { // The function has a return type, but the return statement doesn't have an expression. error(node, ts.Diagnostics.Not_all_code_paths_return_a_value); } @@ -48285,7 +48543,7 @@ var ts; var expressionIsLiteral = isLiteralType(expressionType); ts.forEach(node.caseBlock.clauses, function (clause) { // Grammar check for duplicate default clauses, skip if we already report duplicate default clause - if (clause.kind === 266 /* DefaultClause */ && !hasDuplicateDefaultClause) { + if (clause.kind === 267 /* DefaultClause */ && !hasDuplicateDefaultClause) { if (firstDefaultClause === undefined) { firstDefaultClause = clause; } @@ -48297,7 +48555,7 @@ var ts; hasDuplicateDefaultClause = true; } } - if (produceDiagnostics && clause.kind === 265 /* CaseClause */) { + if (produceDiagnostics && clause.kind === 266 /* CaseClause */) { // TypeScript 1.0 spec (April 2014): 5.9 // In a 'switch' statement, each 'case' expression must be of a type that is comparable // to or from the type of the 'switch' expression. @@ -48326,10 +48584,11 @@ var ts; if (ts.isFunctionLike(current)) { return "quit"; } - if (current.kind === 227 /* LabeledStatement */ && current.label.escapedText === node.label.escapedText) { + if (current.kind === 228 /* LabeledStatement */ && current.label.escapedText === node.label.escapedText) { grammarErrorOnNode(node.label, ts.Diagnostics.Duplicate_label_0, ts.getTextOfNode(node.label)); return true; } + return false; }); } // ensure that label is unique @@ -48389,8 +48648,8 @@ var ts; checkIndexConstraintForProperty(prop, propType, type, declaredStringIndexer, stringIndexType, 0 /* String */); checkIndexConstraintForProperty(prop, propType, type, declaredNumberIndexer, numberIndexType, 1 /* Number */); }); - if (ts.getObjectFlags(type) & 1 /* Class */ && ts.isClassLike(type.symbol.valueDeclaration)) { - var classDeclaration = type.symbol.valueDeclaration; + var classDeclaration = type.symbol.valueDeclaration; + if (ts.getObjectFlags(type) & 1 /* Class */ && ts.isClassLike(classDeclaration)) { for (var _i = 0, _a = classDeclaration.members; _i < _a.length; _i++) { var member = _a[_i]; // Only process instance properties with computed names here. @@ -48414,7 +48673,7 @@ var ts; errorNode = someBaseTypeHasBothIndexers ? undefined : type.symbol.declarations[0]; } } - if (errorNode && !isTypeAssignableTo(numberIndexType, stringIndexType)) { + if (errorNode && !isTypeAssignableTo(numberIndexType, stringIndexType)) { // TODO: GH#18217 error(errorNode, ts.Diagnostics.Numeric_index_type_0_is_not_assignable_to_string_index_type_1, typeToString(numberIndexType), typeToString(stringIndexType)); } function checkIndexConstraintForProperty(prop, propertyType, containingType, indexDeclaration, indexType, indexKind) { @@ -48431,8 +48690,8 @@ var ts; // this allows us to rule out cases when both property and indexer are inherited from the base class var errorNode; if (propDeclaration && - (propDeclaration.kind === 199 /* BinaryExpression */ || - ts.getNameOfDeclaration(propDeclaration).kind === 146 /* ComputedPropertyName */ || + (propDeclaration.kind === 200 /* BinaryExpression */ || + ts.getNameOfDeclaration(propDeclaration).kind === 147 /* ComputedPropertyName */ || prop.parent === containingType.symbol)) { errorNode = propDeclaration; } @@ -48459,6 +48718,7 @@ var ts; // The predefined type keywords are reserved and cannot be used as names of user defined types. switch (name.escapedText) { case "any": + case "unknown": case "number": case "boolean": case "string": @@ -48468,6 +48728,15 @@ var ts; error(name, message, name.escapedText); } } + /** + * The name cannot be used as 'Object' of user defined types with special target. + */ + function checkClassNameCollisionWithObject(name) { + if (languageVersion === 1 /* ES5 */ && name.escapedText === "Object" + && moduleKind !== ts.ModuleKind.ES2015 && moduleKind !== ts.ModuleKind.ESNext) { + error(name, ts.Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, ts.ModuleKind[moduleKind]); // https://github.com/Microsoft/TypeScript/issues/17494 + } + } /** * Check each type parameter and check that type parameters have no duplicate type parameter declarations */ @@ -48509,8 +48778,8 @@ var ts; if (!areTypeParametersIdentical(declarations, type.localTypeParameters)) { // Report an error on every conflicting declaration. var name = symbolToString(symbol); - for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { - var declaration = declarations_5[_i]; + for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { + var declaration = declarations_6[_i]; error(declaration.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_type_parameters, name); } } @@ -48519,8 +48788,8 @@ var ts; function areTypeParametersIdentical(declarations, targetParameters) { var maxTypeArgumentCount = ts.length(targetParameters); var minTypeArgumentCount = getMinTypeArgumentCount(targetParameters); - for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { - var declaration = declarations_6[_i]; + for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { + var declaration = declarations_7[_i]; // If this declaration has too few or too many type parameters, we report an error var sourceParameters = ts.getEffectiveTypeParameterDeclarations(declaration); var numTypeParameters = sourceParameters.length; @@ -48580,6 +48849,9 @@ var ts; checkTypeNameIsReserved(node.name, ts.Diagnostics.Class_name_cannot_be_0); checkCollisionWithRequireExportsInGeneratedCode(node, node.name); checkCollisionWithGlobalPromiseInGeneratedCode(node, node.name); + if (!(node.flags & 4194304 /* Ambient */)) { + checkClassNameCollisionWithObject(node.name); + } } checkTypeParameters(ts.getEffectiveTypeParameterDeclarations(node)); checkExportsOnMergedDeclarations(node); @@ -48619,10 +48891,10 @@ var ts; issueMemberSpecificError(node, typeWithThis, baseWithThis, ts.Diagnostics.Class_0_incorrectly_extends_base_class_1); } checkTypeAssignableTo(staticType, getTypeWithoutSignatures(staticBaseType), node.name || node, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); - if (baseConstructorType.flags & 1081344 /* TypeVariable */ && !isMixinConstructorType(staticType)) { + if (baseConstructorType.flags & 2162688 /* TypeVariable */ && !isMixinConstructorType(staticType)) { error(node.name || node, ts.Diagnostics.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any); } - if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32 /* Class */) && !(baseConstructorType.flags & 1081344 /* TypeVariable */)) { + if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32 /* Class */) && !(baseConstructorType.flags & 2162688 /* TypeVariable */)) { // When the static base type is a "class-like" constructor function (but not actually a class), we verify // that all instantiated base constructor signatures return the same type. We can simply compare the type // references (as opposed to checking the structure of the types) because elsewhere we have already checked @@ -48645,7 +48917,7 @@ var ts; checkTypeReferenceNode(typeRefNode); if (produceDiagnostics) { var t = getTypeFromTypeNode(typeRefNode); - if (t !== unknownType) { + if (t !== errorType) { if (isValidBaseType(t)) { var genericDiag = t.symbol && t.symbol.flags & 32 /* Class */ ? ts.Diagnostics.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass : @@ -48716,7 +48988,7 @@ var ts; } function getClassOrInterfaceDeclarationsOfSymbol(symbol) { return ts.filter(symbol.declarations, function (d) { - return d.kind === 234 /* ClassDeclaration */ || d.kind === 235 /* InterfaceDeclaration */; + return d.kind === 235 /* ClassDeclaration */ || d.kind === 236 /* InterfaceDeclaration */; }); } function checkKindsOfPropertyMemberOverrides(type, baseType) { @@ -48741,7 +49013,7 @@ var ts; if (base.flags & 4194304 /* Prototype */) { continue; } - var derived = getTargetSymbol(getPropertyOfObjectType(type, base.escapedName)); + var derived = getTargetSymbol(getPropertyOfObjectType(type, base.escapedName)); // TODO: GH#18217 var baseDeclarationFlags = ts.getDeclarationModifierFlagsFromSymbol(base); ts.Debug.assert(!!derived, "derived should point to something, even if it is the base class' declaration."); if (derived) { @@ -48755,7 +49027,7 @@ var ts; // If there is no declaration for the derived class (as in the case of class expressions), // then the class cannot be declared abstract. if (baseDeclarationFlags & 128 /* Abstract */ && (!derivedClassDecl || !ts.hasModifier(derivedClassDecl, 128 /* Abstract */))) { - if (derivedClassDecl.kind === 204 /* ClassExpression */) { + if (derivedClassDecl.kind === 205 /* ClassExpression */) { error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, symbolToString(baseProperty), typeToString(baseType)); } else { @@ -48770,7 +49042,7 @@ var ts; // either base or derived property is private - not override, skip it continue; } - if (isPrototypeProperty(base) && isPrototypeProperty(derived) || base.flags & 98308 /* PropertyOrAccessor */ && derived.flags & 98308 /* PropertyOrAccessor */) { + if (isPrototypeProperty(base) || base.flags & 98308 /* PropertyOrAccessor */ && derived.flags & 98308 /* PropertyOrAccessor */) { // method is overridden with method or property/accessor is overridden with property/accessor - correct case continue; } @@ -48837,7 +49109,7 @@ var ts; var propName = member.name; if (ts.isIdentifier(propName)) { var type = getTypeOfSymbol(getSymbolOfNode(member)); - if (!(type.flags & 1 /* Any */ || getFalsyFlags(type) & 4096 /* Undefined */)) { + if (!(type.flags & 3 /* AnyOrUnknown */ || getFalsyFlags(type) & 8192 /* Undefined */)) { if (!constructor || !isPropertyInitializedInConstructor(propName, type, constructor)) { error(member.name, ts.Diagnostics.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor, ts.declarationNameToString(propName)); } @@ -48847,7 +49119,7 @@ var ts; } } function isInstancePropertyWithoutInitializer(node) { - return node.kind === 151 /* PropertyDeclaration */ && + return node.kind === 152 /* PropertyDeclaration */ && !ts.hasModifier(node, 32 /* Static */ | 128 /* Abstract */) && !node.exclamationToken && !node.initializer; @@ -48856,7 +49128,7 @@ var ts; var reference = ts.createPropertyAccess(ts.createThis(), propName); reference.flowNode = constructor.returnFlowNode; var flowType = getFlowTypeOfReference(reference, propType, getOptionalType(propType)); - return !(getFalsyFlags(flowType) & 4096 /* Undefined */); + return !(getFalsyFlags(flowType) & 8192 /* Undefined */); } function checkInterfaceDeclaration(node) { // Grammar checking @@ -48869,7 +49141,7 @@ var ts; var symbol = getSymbolOfNode(node); checkTypeParameterListsIdentical(symbol); // Only check this symbol once - var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 235 /* InterfaceDeclaration */); + var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 236 /* InterfaceDeclaration */); if (node === firstInterfaceDecl) { var type = getDeclaredTypeOfSymbol(symbol); var typeWithThis = getTypeWithThisArgument(type); @@ -48974,7 +49246,7 @@ var ts; return value; function evaluate(expr) { switch (expr.kind) { - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: var value_2 = evaluate(expr.operand); if (typeof value_2 === "number") { switch (expr.operator) { @@ -48984,7 +49256,7 @@ var ts; } } break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var left = evaluate(expr.left); var right = evaluate(expr.right); if (typeof left === "number" && typeof right === "number") { @@ -49012,18 +49284,22 @@ var ts; case 8 /* NumericLiteral */: checkGrammarNumericLiteral(expr); return +expr.text; - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return evaluate(expr.expression); case 71 /* Identifier */: - return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), expr.escapedText); - case 185 /* ElementAccessExpression */: - case 184 /* PropertyAccessExpression */: + var identifier = expr; + if (isInfinityOrNaNString(identifier.escapedText)) { + return +(identifier.escapedText); + } + return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); + case 186 /* ElementAccessExpression */: + case 185 /* PropertyAccessExpression */: var ex = expr; if (isConstantMemberAccess(ex)) { var type = getTypeOfExpression(ex.expression); if (type.symbol && type.symbol.flags & 384 /* Enum */) { var name = void 0; - if (ex.kind === 184 /* PropertyAccessExpression */) { + if (ex.kind === 185 /* PropertyAccessExpression */) { name = ex.name.escapedText; } else { @@ -49055,8 +49331,8 @@ var ts; } function isConstantMemberAccess(node) { return node.kind === 71 /* Identifier */ || - node.kind === 184 /* PropertyAccessExpression */ && isConstantMemberAccess(node.expression) || - node.kind === 185 /* ElementAccessExpression */ && isConstantMemberAccess(node.expression) && + node.kind === 185 /* PropertyAccessExpression */ && isConstantMemberAccess(node.expression) || + node.kind === 186 /* ElementAccessExpression */ && isConstantMemberAccess(node.expression) && node.argumentExpression.kind === 9 /* StringLiteral */; } function checkEnumDeclaration(node) { @@ -49094,7 +49370,7 @@ var ts; var seenEnumMissingInitialInitializer_1 = false; ts.forEach(enumSymbol.declarations, function (declaration) { // return true if we hit a violation of the rule, false otherwise - if (declaration.kind !== 237 /* EnumDeclaration */) { + if (declaration.kind !== 238 /* EnumDeclaration */) { return false; } var enumDeclaration = declaration; @@ -49115,10 +49391,10 @@ var ts; } function getFirstNonAmbientClassOrFunctionDeclaration(symbol) { var declarations = symbol.declarations; - for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { - var declaration = declarations_7[_i]; - if ((declaration.kind === 234 /* ClassDeclaration */ || - (declaration.kind === 233 /* FunctionDeclaration */ && ts.nodeIsPresent(declaration.body))) && + for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { + var declaration = declarations_8[_i]; + if ((declaration.kind === 235 /* ClassDeclaration */ || + (declaration.kind === 234 /* FunctionDeclaration */ && ts.nodeIsPresent(declaration.body))) && !(declaration.flags & 4194304 /* Ambient */)) { return declaration; } @@ -49169,7 +49445,7 @@ var ts; if (symbol.flags & 512 /* ValueModule */ && symbol.declarations.length > 1 && !inAmbientContext - && isInstantiatedModule(node, compilerOptions.preserveConstEnums || compilerOptions.isolatedModules)) { + && isInstantiatedModule(node, !!compilerOptions.preserveConstEnums || !!compilerOptions.isolatedModules)) { var firstNonAmbientClassOrFunc = getFirstNonAmbientClassOrFunctionDeclaration(symbol); if (firstNonAmbientClassOrFunc) { if (ts.getSourceFileOfNode(node) !== ts.getSourceFileOfNode(firstNonAmbientClassOrFunc)) { @@ -49181,7 +49457,7 @@ var ts; } // if the module merges with a class declaration in the same lexical scope, // we need to track this to ensure the correct emit. - var mergedClass = ts.getDeclarationOfKind(symbol, 234 /* ClassDeclaration */); + var mergedClass = ts.getDeclarationOfKind(symbol, 235 /* ClassDeclaration */); if (mergedClass && inSameLexicalScope(node, mergedClass)) { getNodeLinks(node).flags |= 32768 /* LexicalModuleMergesWithClass */; @@ -49231,23 +49507,23 @@ var ts; } function checkModuleAugmentationElement(node, isGlobalAugmentation) { switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: // error each individual name in variable statement instead of marking the entire variable statement for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) { var decl = _a[_i]; checkModuleAugmentationElement(decl, isGlobalAugmentation); } break; - case 248 /* ExportAssignment */: - case 249 /* ExportDeclaration */: + case 249 /* ExportAssignment */: + case 250 /* ExportDeclaration */: grammarErrorOnFirstToken(node, ts.Diagnostics.Exports_and_export_assignments_are_not_permitted_in_module_augmentations); break; - case 242 /* ImportEqualsDeclaration */: - case 243 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: grammarErrorOnFirstToken(node, ts.Diagnostics.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module); break; - case 181 /* BindingElement */: - case 231 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 232 /* VariableDeclaration */: var name = node.name; if (ts.isBindingPattern(name)) { for (var _b = 0, _c = name.elements; _b < _c.length; _b++) { @@ -49258,12 +49534,12 @@ var ts; break; } // falls through - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: - case 233 /* FunctionDeclaration */: - case 235 /* InterfaceDeclaration */: - case 238 /* ModuleDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 234 /* FunctionDeclaration */: + case 236 /* InterfaceDeclaration */: + case 239 /* ModuleDeclaration */: + case 237 /* TypeAliasDeclaration */: if (isGlobalAugmentation) { return; } @@ -49286,12 +49562,12 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return node; - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: do { node = node.left; } while (node.kind !== 71 /* Identifier */); return node; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: do { node = node.expression; } while (node.kind !== 71 /* Identifier */); @@ -49300,7 +49576,7 @@ var ts; } function checkExternalImportOrExportDeclaration(node) { var moduleName = ts.getExternalModuleName(node); - if (ts.nodeIsMissing(moduleName)) { + if (!moduleName || ts.nodeIsMissing(moduleName)) { // Should be a parse error. return false; } @@ -49308,9 +49584,9 @@ var ts; error(moduleName, ts.Diagnostics.String_literal_expected); return false; } - var inAmbientExternalModule = node.parent.kind === 239 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); - if (node.parent.kind !== 273 /* SourceFile */ && !inAmbientExternalModule) { - error(moduleName, node.kind === 249 /* ExportDeclaration */ ? + var inAmbientExternalModule = node.parent.kind === 240 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); + if (node.parent.kind !== 274 /* SourceFile */ && !inAmbientExternalModule) { + error(moduleName, node.kind === 250 /* ExportDeclaration */ ? ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace : ts.Diagnostics.Import_declarations_in_a_namespace_cannot_reference_a_module); return false; @@ -49343,14 +49619,14 @@ var ts; (symbol.flags & 67901928 /* Type */ ? 67901928 /* Type */ : 0) | (symbol.flags & 1920 /* Namespace */ ? 1920 /* Namespace */ : 0); if (target.flags & excludedMeanings) { - var message = node.kind === 251 /* ExportSpecifier */ ? + var message = node.kind === 252 /* ExportSpecifier */ ? ts.Diagnostics.Export_declaration_conflicts_with_exported_declaration_of_0 : ts.Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0; error(node, message, symbolToString(symbol)); } // Don't allow to re-export something with no value side when `--isolatedModules` is set. if (compilerOptions.isolatedModules - && node.kind === 251 /* ExportSpecifier */ + && node.kind === 252 /* ExportSpecifier */ && !(target.flags & 67216319 /* Value */) && !(node.flags & 4194304 /* Ambient */)) { error(node, ts.Diagnostics.Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided); @@ -49377,7 +49653,7 @@ var ts; checkImportBinding(importClause); } if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 245 /* NamespaceImport */) { + if (importClause.namedBindings.kind === 246 /* NamespaceImport */) { checkImportBinding(importClause.namedBindings); } else { @@ -49401,7 +49677,7 @@ var ts; if (ts.hasModifier(node, 1 /* Export */)) { markExportAsReferenced(node); } - if (node.moduleReference.kind !== 253 /* ExternalModuleReference */) { + if (node.moduleReference.kind !== 254 /* ExternalModuleReference */) { var target = resolveAlias(getSymbolOfNode(node)); if (target !== unknownSymbol) { if (target.flags & 67216319 /* Value */) { @@ -49437,10 +49713,10 @@ var ts; // export { x, y } // export { x, y } from "foo" ts.forEach(node.exportClause.elements, checkExportSpecifier); - var inAmbientExternalModule = node.parent.kind === 239 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); - var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 239 /* ModuleBlock */ && + var inAmbientExternalModule = node.parent.kind === 240 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); + var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 240 /* ModuleBlock */ && !node.moduleSpecifier && node.flags & 4194304 /* Ambient */; - if (node.parent.kind !== 273 /* SourceFile */ && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { + if (node.parent.kind !== 274 /* SourceFile */ && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { error(node, ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace); } } @@ -49457,7 +49733,7 @@ var ts; } } function checkGrammarModuleElementContext(node, errorMessage) { - var isInAppropriateContext = node.parent.kind === 273 /* SourceFile */ || node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 238 /* ModuleDeclaration */; + var isInAppropriateContext = node.parent.kind === 274 /* SourceFile */ || node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 239 /* ModuleDeclaration */; if (!isInAppropriateContext) { grammarErrorOnFirstToken(node, errorMessage); } @@ -49486,8 +49762,8 @@ var ts; // If we hit an export assignment in an illegal context, just bail out to avoid cascading errors. return; } - var container = node.parent.kind === 273 /* SourceFile */ ? node.parent : node.parent.parent; - if (container.kind === 238 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 274 /* SourceFile */ ? node.parent : node.parent.parent; + if (container.kind === 239 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { if (node.isExportEquals) { error(node, ts.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace); } @@ -49558,8 +49834,8 @@ var ts; return; } if (exportedDeclarationsCount > 1) { - for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { - var declaration = declarations_8[_i]; + for (var _i = 0, declarations_9 = declarations; _i < declarations_9.length; _i++) { + var declaration = declarations_9[_i]; if (isNotOverload(declaration)) { diagnostics.add(ts.createDiagnosticForNode(declaration, ts.Diagnostics.Cannot_redeclare_exported_variable_0, ts.unescapeLeadingUnderscores(id))); } @@ -49575,168 +49851,168 @@ var ts; return !ts.isAccessor(declaration); } function isNotOverload(declaration) { - return (declaration.kind !== 233 /* FunctionDeclaration */ && declaration.kind !== 153 /* MethodDeclaration */) || + return (declaration.kind !== 234 /* FunctionDeclaration */ && declaration.kind !== 154 /* MethodDeclaration */) || !!declaration.body; } function checkSourceElement(node) { if (!node) { return; } - if (ts.isInJavaScriptFile(node) && node.jsDoc) { - for (var _i = 0, _a = node.jsDoc; _i < _a.length; _i++) { - var tags = _a[_i].tags; - ts.forEach(tags, checkSourceElement); - } + if (ts.isInJavaScriptFile(node)) { + ts.forEach(node.jsDoc, function (_a) { + var tags = _a.tags; + return ts.forEach(tags, checkSourceElement); + }); } var kind = node.kind; if (cancellationToken) { // Only bother checking on a few construct kinds. We don't want to be excessively // hitting the cancellation token on every node we check. switch (kind) { - case 238 /* ModuleDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 233 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 234 /* FunctionDeclaration */: cancellationToken.throwIfCancellationRequested(); } } switch (kind) { - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return checkTypeParameter(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return checkParameter(node); - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return checkPropertyDeclaration(node); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: return checkSignatureDeclaration(node); - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: return checkMethodDeclaration(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return checkConstructorDeclaration(node); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return checkAccessorDeclaration(node); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return checkTypeReferenceNode(node); - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return checkTypePredicate(node); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return checkTypeQuery(node); - case 165 /* TypeLiteral */: + case 166 /* TypeLiteral */: return checkTypeLiteral(node); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return checkArrayType(node); - case 167 /* TupleType */: + case 168 /* TupleType */: return checkTupleType(node); - case 168 /* UnionType */: - case 169 /* IntersectionType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: return checkUnionOrIntersectionType(node); - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return checkSourceElement(node.type); - case 174 /* TypeOperator */: + case 175 /* TypeOperator */: return checkTypeOperator(node); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return checkConditionalType(node); - case 171 /* InferType */: + case 172 /* InferType */: return checkInferType(node); - case 178 /* ImportType */: + case 179 /* ImportType */: return checkImportType(node); - case 289 /* JSDocAugmentsTag */: + case 290 /* JSDocAugmentsTag */: return checkJSDocAugmentsTag(node); - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: return checkJSDocTypeAliasTag(node); - case 292 /* JSDocParameterTag */: + case 293 /* JSDocParameterTag */: return checkJSDocParameterTag(node); - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: checkSignatureDeclaration(node); // falls through - case 281 /* JSDocNonNullableType */: - case 280 /* JSDocNullableType */: - case 278 /* JSDocAllType */: - case 279 /* JSDocUnknownType */: - case 286 /* JSDocTypeLiteral */: + case 282 /* JSDocNonNullableType */: + case 281 /* JSDocNullableType */: + case 279 /* JSDocAllType */: + case 280 /* JSDocUnknownType */: + case 287 /* JSDocTypeLiteral */: checkJSDocTypeIsInJsFile(node); ts.forEachChild(node, checkSourceElement); return; - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: checkJSDocVariadicType(node); return; - case 277 /* JSDocTypeExpression */: + case 278 /* JSDocTypeExpression */: return checkSourceElement(node.type); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return checkIndexedAccessType(node); - case 176 /* MappedType */: + case 177 /* MappedType */: return checkMappedType(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return checkFunctionDeclaration(node); - case 212 /* Block */: - case 239 /* ModuleBlock */: + case 213 /* Block */: + case 240 /* ModuleBlock */: return checkBlock(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return checkVariableStatement(node); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return checkExpressionStatement(node); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return checkIfStatement(node); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return checkDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return checkWhileStatement(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return checkForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return checkForInStatement(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return checkForOfStatement(node); - case 222 /* ContinueStatement */: - case 223 /* BreakStatement */: + case 223 /* ContinueStatement */: + case 224 /* BreakStatement */: return checkBreakOrContinueStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return checkReturnStatement(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return checkWithStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return checkSwitchStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return checkLabeledStatement(node); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return checkThrowStatement(node); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return checkTryStatement(node); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return checkVariableDeclaration(node); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return checkBindingElement(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return checkClassDeclaration(node); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return checkInterfaceDeclaration(node); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return checkTypeAliasDeclaration(node); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return checkEnumDeclaration(node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return checkModuleDeclaration(node); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return checkImportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return checkImportEqualsDeclaration(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return checkExportDeclaration(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return checkExportAssignment(node); - case 214 /* EmptyStatement */: - case 230 /* DebuggerStatement */: + case 215 /* EmptyStatement */: + case 231 /* DebuggerStatement */: checkGrammarStatementInAmbientContext(node); return; - case 252 /* MissingDeclaration */: + case 253 /* MissingDeclaration */: return checkMissingDeclaration(node); } } @@ -49759,7 +50035,7 @@ var ts; if (!ts.isJSDocTypeExpression(parent)) { error(node, ts.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature); } - var paramTag = parent.parent; + var paramTag = node.parent.parent; if (!ts.isJSDocParameterTag(paramTag)) { error(node, ts.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature); return; @@ -49777,8 +50053,8 @@ var ts; function getTypeFromJSDocVariadicType(node) { var type = getTypeFromTypeNode(node.type); var parent = node.parent; - var paramTag = parent.parent; - if (ts.isJSDocTypeExpression(parent) && ts.isJSDocParameterTag(paramTag)) { + var paramTag = node.parent.parent; + if (ts.isJSDocTypeExpression(node.parent) && ts.isJSDocParameterTag(paramTag)) { // Else we will add a diagnostic, see `checkJSDocVariadicType`. var host_1 = ts.getHostSignatureFromJSDoc(paramTag); if (host_1) { @@ -49817,20 +50093,20 @@ var ts; } } function checkDeferredNodes() { - for (var _i = 0, deferredNodes_1 = deferredNodes; _i < deferredNodes_1.length; _i++) { - var node = deferredNodes_1[_i]; + for (var _i = 0, _a = deferredNodes; _i < _a.length; _i++) { + var node = _a[_i]; switch (node.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: checkFunctionExpressionOrObjectLiteralMethodDeferred(node); break; - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: checkAccessorDeclaration(node); break; - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: checkClassExpressionDeferred(node); break; } @@ -49845,9 +50121,9 @@ var ts; function unusedIsError(kind) { switch (kind) { case 0 /* Local */: - return compilerOptions.noUnusedLocals; + return !!compilerOptions.noUnusedLocals; case 1 /* Parameter */: - return compilerOptions.noUnusedParameters; + return !!compilerOptions.noUnusedParameters; default: return ts.Debug.assertNever(kind); } @@ -49963,13 +50239,13 @@ var ts; copySymbols(location.locals, meaning); } switch (location.kind) { - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: copySymbols(getSymbolOfNode(location).exports, meaning & 2623475 /* ModuleMember */); break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: copySymbols(getSymbolOfNode(location).exports, meaning & 8 /* EnumMember */); break; - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: var className = location.name; if (className) { copySymbol(location.symbol, meaning); @@ -49977,8 +50253,8 @@ var ts; // falls through // this fall-through is necessary because we would like to handle // type parameter inside class expression similar to how we handle it in classDeclaration and interface Declaration - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: // If we didn't come from static member of class or interface, // add the type parameters into the symbol table // (type parameters of classDeclaration/classExpression and interface are in member property of the symbol. @@ -49987,7 +50263,7 @@ var ts; copySymbols(getMembersOfSymbol(getSymbolOfNode(location)), meaning & 67901928 /* Type */); } break; - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: var funcName = location.name; if (funcName) { copySymbol(location.symbol, meaning); @@ -50035,28 +50311,28 @@ var ts; } function isTypeDeclaration(node) { switch (node.kind) { - case 147 /* TypeParameter */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 237 /* EnumDeclaration */: + case 148 /* TypeParameter */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 238 /* EnumDeclaration */: return true; + default: + return false; } } // True if the given identifier is part of a type reference - function isTypeReferenceIdentifier(entityName) { - var node = entityName; - while (node.parent && node.parent.kind === 145 /* QualifiedName */) { + function isTypeReferenceIdentifier(node) { + while (node.parent.kind === 146 /* QualifiedName */) { node = node.parent; } - return node.parent && node.parent.kind === 161 /* TypeReference */; + return node.parent.kind === 162 /* TypeReference */; } - function isHeritageClauseElementIdentifier(entityName) { - var node = entityName; - while (node.parent && node.parent.kind === 184 /* PropertyAccessExpression */) { + function isHeritageClauseElementIdentifier(node) { + while (node.parent.kind === 185 /* PropertyAccessExpression */) { node = node.parent; } - return node.parent && node.parent.kind === 206 /* ExpressionWithTypeArguments */; + return node.parent.kind === 207 /* ExpressionWithTypeArguments */; } function forEachEnclosingClass(node, callback) { var result; @@ -50084,14 +50360,14 @@ var ts; return !!forEachEnclosingClass(node, function (n) { return n === classDeclaration; }); } function getLeftSideOfImportEqualsOrExportAssignment(nodeOnRightSide) { - while (nodeOnRightSide.parent.kind === 145 /* QualifiedName */) { + while (nodeOnRightSide.parent.kind === 146 /* QualifiedName */) { nodeOnRightSide = nodeOnRightSide.parent; } - if (nodeOnRightSide.parent.kind === 242 /* ImportEqualsDeclaration */) { - return nodeOnRightSide.parent.moduleReference === nodeOnRightSide && nodeOnRightSide.parent; + if (nodeOnRightSide.parent.kind === 243 /* ImportEqualsDeclaration */) { + return nodeOnRightSide.parent.moduleReference === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } - if (nodeOnRightSide.parent.kind === 248 /* ExportAssignment */) { - return nodeOnRightSide.parent.expression === nodeOnRightSide && nodeOnRightSide.parent; + if (nodeOnRightSide.parent.kind === 249 /* ExportAssignment */) { + return nodeOnRightSide.parent.expression === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } return undefined; } @@ -50116,7 +50392,7 @@ var ts; node = parent; parent = parent.parent; } - if (parent && parent.kind === 178 /* ImportType */ && parent.qualifier === node) { + if (parent && parent.kind === 179 /* ImportType */ && parent.qualifier === node) { return parent; } return undefined; @@ -50126,7 +50402,7 @@ var ts; return getSymbolOfNode(entityName.parent); } if (ts.isInJavaScriptFile(entityName) && - entityName.parent.kind === 184 /* PropertyAccessExpression */ && + entityName.parent.kind === 185 /* PropertyAccessExpression */ && entityName.parent === entityName.parent.parent.left) { // Check if this is a special property assignment var specialPropertyAssignmentSymbol = getSpecialPropertyAssignmentSymbolFromEntityName(entityName); @@ -50134,7 +50410,7 @@ var ts; return specialPropertyAssignmentSymbol; } } - if (entityName.parent.kind === 248 /* ExportAssignment */ && ts.isEntityNameExpression(entityName)) { + if (entityName.parent.kind === 249 /* ExportAssignment */ && ts.isEntityNameExpression(entityName)) { // Even an entity name expression that doesn't resolve as an entityname may still typecheck as a property access expression var success = resolveEntityName(entityName, /*all meanings*/ 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */, /*ignoreErrors*/ true); @@ -50144,7 +50420,7 @@ var ts; } else if (!ts.isPropertyAccessExpression(entityName) && isInRightSideOfImportOrExportAssignment(entityName)) { // Since we already checked for ExportAssignment, this really could only be an Import - var importEqualsDeclaration = ts.getAncestor(entityName, 242 /* ImportEqualsDeclaration */); + var importEqualsDeclaration = ts.getAncestor(entityName, 243 /* ImportEqualsDeclaration */); ts.Debug.assert(importEqualsDeclaration !== undefined); return getSymbolOfPartOfRightHandSideOfImportEquals(entityName, /*dontResolveAlias*/ true); } @@ -50162,7 +50438,7 @@ var ts; if (isHeritageClauseElementIdentifier(entityName)) { var meaning = 0 /* None */; // In an interface or class, we're definitely interested in a type. - if (entityName.parent.kind === 206 /* ExpressionWithTypeArguments */) { + if (entityName.parent.kind === 207 /* ExpressionWithTypeArguments */) { meaning = 67901928 /* Type */; // In a class 'extends' clause we are also looking for a value. if (ts.isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent)) { @@ -50178,10 +50454,10 @@ var ts; return entityNameSymbol; } } - if (entityName.parent.kind === 292 /* JSDocParameterTag */) { + if (entityName.parent.kind === 293 /* JSDocParameterTag */) { return ts.getParameterSymbolFromJSDoc(entityName.parent); } - if (entityName.parent.kind === 147 /* TypeParameter */ && entityName.parent.parent.kind === 295 /* JSDocTemplateTag */) { + if (entityName.parent.kind === 148 /* TypeParameter */ && entityName.parent.parent.kind === 296 /* JSDocTemplateTag */) { ts.Debug.assert(!ts.isInJavaScriptFile(entityName)); // Otherwise `isDeclarationName` would have been true. var typeParameter = ts.getTypeParameterFromJsDoc(entityName.parent); return typeParameter && typeParameter.symbol; @@ -50198,12 +50474,12 @@ var ts; } return resolveEntityName(entityName, 67216319 /* Value */, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); } - else if (entityName.kind === 184 /* PropertyAccessExpression */ || entityName.kind === 145 /* QualifiedName */) { + else if (entityName.kind === 185 /* PropertyAccessExpression */ || entityName.kind === 146 /* QualifiedName */) { var links = getNodeLinks(entityName); if (links.resolvedSymbol) { return links.resolvedSymbol; } - if (entityName.kind === 184 /* PropertyAccessExpression */) { + if (entityName.kind === 185 /* PropertyAccessExpression */) { checkPropertyAccessExpression(entityName); } else { @@ -50213,41 +50489,43 @@ var ts; } } else if (isTypeReferenceIdentifier(entityName)) { - var meaning = entityName.parent.kind === 161 /* TypeReference */ ? 67901928 /* Type */ : 1920 /* Namespace */; + var meaning = entityName.parent.kind === 162 /* TypeReference */ ? 67901928 /* Type */ : 1920 /* Namespace */; return resolveEntityName(entityName, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); } - else if (entityName.parent.kind === 261 /* JsxAttribute */) { + else if (entityName.parent.kind === 262 /* JsxAttribute */) { return getJsxAttributePropertySymbol(entityName.parent); } - if (entityName.parent.kind === 160 /* TypePredicate */) { + if (entityName.parent.kind === 161 /* TypePredicate */) { return resolveEntityName(entityName, /*meaning*/ 1 /* FunctionScopedVariable */); } // Do we want to return undefined here? return undefined; } function getSymbolAtLocation(node) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { return ts.isExternalModule(node) ? getMergedSymbol(node.symbol) : undefined; } + var parent = node.parent; + var grandParent = parent.parent; if (node.flags & 8388608 /* InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further return undefined; } if (isDeclarationNameOrImportPropertyName(node)) { // This is a declaration, call getSymbolOfNode - return getSymbolOfNode(node.parent); + return getSymbolOfNode(parent); } else if (ts.isLiteralComputedPropertyDeclarationName(node)) { - return getSymbolOfNode(node.parent.parent); + return getSymbolOfNode(parent.parent); } if (node.kind === 71 /* Identifier */) { if (isInRightSideOfImportOrExportAssignment(node)) { return getSymbolOfEntityNameOrPropertyAccessExpression(node); } - else if (node.parent.kind === 181 /* BindingElement */ && - node.parent.parent.kind === 179 /* ObjectBindingPattern */ && - node === node.parent.propertyName) { - var typeOfPattern = getTypeOfNode(node.parent.parent); + else if (parent.kind === 182 /* BindingElement */ && + grandParent.kind === 180 /* ObjectBindingPattern */ && + node === parent.propertyName) { + var typeOfPattern = getTypeOfNode(grandParent); var propertyDeclaration = typeOfPattern && getPropertyOfType(typeOfPattern, node.escapedText); if (propertyDeclaration) { return propertyDeclaration; @@ -50256,8 +50534,8 @@ var ts; } switch (node.kind) { case 71 /* Identifier */: - case 184 /* PropertyAccessExpression */: - case 145 /* QualifiedName */: + case 185 /* PropertyAccessExpression */: + case 146 /* QualifiedName */: return getSymbolOfEntityNameOrPropertyAccessExpression(node); case 99 /* ThisKeyword */: var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); @@ -50271,14 +50549,14 @@ var ts; return checkExpression(node).symbol; } // falls through - case 173 /* ThisType */: + case 174 /* ThisType */: return getTypeFromThisTypeNode(node).symbol; case 97 /* SuperKeyword */: return checkExpression(node).symbol; case 123 /* ConstructorKeyword */: // constructor keyword for an overload, should take us to the definition if it exist var constructorDeclaration = node.parent; - if (constructorDeclaration && constructorDeclaration.kind === 154 /* Constructor */) { + if (constructorDeclaration && constructorDeclaration.kind === 155 /* Constructor */) { return constructorDeclaration.parent.symbol; } return undefined; @@ -50289,7 +50567,7 @@ var ts; // 3). Dynamic import call or require in javascript // 4). type A = import("./f/*gotToDefinitionHere*/oo") if ((ts.isExternalModuleImportEqualsDeclaration(node.parent.parent) && ts.getExternalModuleImportEqualsDeclarationExpression(node.parent.parent) === node) || - ((node.parent.kind === 243 /* ImportDeclaration */ || node.parent.kind === 249 /* ExportDeclaration */) && node.parent.moduleSpecifier === node) || + ((node.parent.kind === 244 /* ImportDeclaration */ || node.parent.kind === 250 /* ExportDeclaration */) && node.parent.moduleSpecifier === node) || ((ts.isInJavaScriptFile(node) && ts.isRequireCall(node.parent, /*checkArgumentIsStringLiteralLike*/ false)) || ts.isImportCall(node.parent)) || (ts.isLiteralTypeNode(node.parent) && ts.isLiteralImportTypeNode(node.parent.parent) && node.parent.parent.argument === node.parent)) { return resolveExternalModuleName(node, node); @@ -50297,24 +50575,24 @@ var ts; // falls through case 8 /* NumericLiteral */: // index access - var objectType = ts.isElementAccessExpression(node.parent) - ? node.parent.argumentExpression === node ? getTypeOfExpression(node.parent.expression) : undefined - : ts.isLiteralTypeNode(node.parent) && ts.isIndexedAccessTypeNode(node.parent.parent) - ? getTypeFromTypeNode(node.parent.parent.objectType) + var objectType = ts.isElementAccessExpression(parent) + ? parent.argumentExpression === node ? getTypeOfExpression(parent.expression) : undefined + : ts.isLiteralTypeNode(parent) && ts.isIndexedAccessTypeNode(grandParent) + ? getTypeFromTypeNode(grandParent.objectType) : undefined; return objectType && getPropertyOfType(objectType, ts.escapeLeadingUnderscores(node.text)); case 79 /* DefaultKeyword */: case 89 /* FunctionKeyword */: case 36 /* EqualsGreaterThanToken */: return getSymbolOfNode(node.parent); - case 178 /* ImportType */: + case 179 /* ImportType */: return ts.isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal) : undefined; default: return undefined; } } function getShorthandAssignmentValueSymbol(location) { - if (location && location.kind === 270 /* ShorthandPropertyAssignment */) { + if (location && location.kind === 271 /* ShorthandPropertyAssignment */) { return resolveEntityName(location.name, 67216319 /* Value */ | 2097152 /* Alias */); } return undefined; @@ -50328,7 +50606,7 @@ var ts; function getTypeOfNode(node) { if (node.flags & 8388608 /* InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further - return unknownType; + return errorType; } if (ts.isPartOfTypeNode(node)) { var typeFromTypeNode = getTypeFromTypeNode(node); @@ -50375,10 +50653,10 @@ var ts; var symbol = getSymbolAtLocation(node); if (symbol) { var declaredType = getDeclaredTypeOfSymbol(symbol); - return declaredType !== unknownType ? declaredType : getTypeOfSymbol(symbol); + return declaredType !== errorType ? declaredType : getTypeOfSymbol(symbol); } } - return unknownType; + return errorType; } // Gets the type of object literal or array literal of destructuring assignment. // { a } from @@ -50387,32 +50665,32 @@ var ts; // [ a ] from // [a] = [ some array ...] function getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr) { - ts.Debug.assert(expr.kind === 183 /* ObjectLiteralExpression */ || expr.kind === 182 /* ArrayLiteralExpression */); + ts.Debug.assert(expr.kind === 184 /* ObjectLiteralExpression */ || expr.kind === 183 /* ArrayLiteralExpression */); // If this is from "for of" // for ( { a } of elems) { // } - if (expr.parent.kind === 221 /* ForOfStatement */) { + if (expr.parent.kind === 222 /* ForOfStatement */) { var iteratedType = checkRightHandSideOfForOf(expr.parent.expression, expr.parent.awaitModifier); - return checkDestructuringAssignment(expr, iteratedType || unknownType); + return checkDestructuringAssignment(expr, iteratedType || errorType); } // If this is from "for" initializer // for ({a } = elems[0];.....) { } - if (expr.parent.kind === 199 /* BinaryExpression */) { + if (expr.parent.kind === 200 /* BinaryExpression */) { var iteratedType = getTypeOfExpression(expr.parent.right); - return checkDestructuringAssignment(expr, iteratedType || unknownType); + return checkDestructuringAssignment(expr, iteratedType || errorType); } // If this is from nested object binding pattern // for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { - if (expr.parent.kind === 269 /* PropertyAssignment */) { + if (expr.parent.kind === 270 /* PropertyAssignment */) { var typeOfParentObjectLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr.parent.parent); - return checkObjectLiteralDestructuringPropertyAssignment(typeOfParentObjectLiteral || unknownType, expr.parent); + return checkObjectLiteralDestructuringPropertyAssignment(typeOfParentObjectLiteral || errorType, expr.parent); // TODO: GH#18217 } // Array literal assignment - array destructuring pattern - ts.Debug.assert(expr.parent.kind === 182 /* ArrayLiteralExpression */); + ts.Debug.assert(expr.parent.kind === 183 /* ArrayLiteralExpression */); // [{ property1: p1, property2 }] = elems; var typeOfArrayLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr.parent); - var elementType = checkIteratedTypeOrElementType(typeOfArrayLiteral || unknownType, expr.parent, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || unknownType; - return checkArrayLiteralDestructuringElementAssignment(expr.parent, typeOfArrayLiteral, expr.parent.elements.indexOf(expr), elementType || unknownType); + var elementType = checkIteratedTypeOrElementType(typeOfArrayLiteral || errorType, expr.parent, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || errorType; + return checkArrayLiteralDestructuringElementAssignment(expr.parent, typeOfArrayLiteral, expr.parent.elements.indexOf(expr), elementType || errorType); // TODO: GH#18217 } // Gets the property symbol corresponding to the property in destructuring assignment // 'property1' from @@ -50483,11 +50761,11 @@ var ts; return target; } // Emitter support - function isArgumentsLocalBinding(node) { - if (!ts.isGeneratedIdentifier(node)) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function isArgumentsLocalBinding(nodeIn) { + if (!ts.isGeneratedIdentifier(nodeIn)) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { - var isPropertyName_1 = node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.name === node; + var isPropertyName_1 = node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.name === node; return !isPropertyName_1 && getReferencedValueSymbol(node) === argumentsSymbol; } } @@ -50518,13 +50796,12 @@ var ts; } } function isNameOfModuleOrEnumDeclaration(node) { - var parent = node.parent; - return parent && ts.isModuleOrEnumDeclaration(parent) && node === parent.name; + return ts.isModuleOrEnumDeclaration(node.parent) && node === node.parent.name; } // When resolved as an expression identifier, if the given node references an exported entity, return the declaration // node of the exported entity's container. Otherwise, return undefined. - function getReferencedExportContainer(node, prefixLocals) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedExportContainer(nodeIn, prefixLocals) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { // When resolving the export container for the name of a module or enum // declaration, we need to start resolution at the declaration's container. @@ -50544,7 +50821,7 @@ var ts; } var parentSymbol_1 = getParentOfSymbol(symbol); if (parentSymbol_1) { - if (parentSymbol_1.flags & 512 /* ValueModule */ && parentSymbol_1.valueDeclaration.kind === 273 /* SourceFile */) { + if (parentSymbol_1.flags & 512 /* ValueModule */ && parentSymbol_1.valueDeclaration.kind === 274 /* SourceFile */) { var symbolFile = parentSymbol_1.valueDeclaration; var referenceFile = ts.getSourceFileOfNode(node); // If `node` accesses an export and that export isn't in the same file, then symbol is a namespace export, so return undefined. @@ -50558,8 +50835,8 @@ var ts; } // When resolved as an expression identifier, if the given node references an import, return the declaration of // that import. Otherwise, return undefined. - function getReferencedImportDeclaration(node) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedImportDeclaration(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { var symbol = getReferencedValueSymbol(node); // We should only get the declaration of an alias if there isn't a local value @@ -50599,7 +50876,7 @@ var ts; // they will not collide with anything var isDeclaredInLoop = nodeLinks_1.flags & 262144 /* BlockScopedBindingInLoop */; var inLoopInitializer = ts.isIterationStatement(container, /*lookInLabeledStatements*/ false); - var inLoopBodyBlock = container.kind === 212 /* Block */ && ts.isIterationStatement(container.parent, /*lookInLabeledStatements*/ false); + var inLoopBodyBlock = container.kind === 213 /* Block */ && ts.isIterationStatement(container.parent, /*lookInLabeledStatements*/ false); links.isDeclarationWithCollidingName = !ts.isBlockScopedContainerTopLevel(container) && (!isDeclaredInLoop || (!inLoopInitializer && !inLoopBodyBlock)); } else { @@ -50614,9 +50891,9 @@ var ts; // When resolved as an expression identifier, if the given node references a nested block scoped entity with // a name that either hides an existing name or might hide it when compiled downlevel, // return the declaration of that entity. Otherwise, return undefined. - function getReferencedDeclarationWithCollidingName(node) { - if (!ts.isGeneratedIdentifier(node)) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedDeclarationWithCollidingName(nodeIn) { + if (!ts.isGeneratedIdentifier(nodeIn)) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { var symbol = getReferencedValueSymbol(node); if (symbol && isSymbolOfDeclarationWithCollidingName(symbol)) { @@ -50628,8 +50905,8 @@ var ts; } // Return true if the given node is a declaration of a nested block scoped entity with a name that either hides an // existing name or might hide a name when compiled downlevel - function isDeclarationWithCollidingName(node) { - node = ts.getParseTreeNode(node, ts.isDeclaration); + function isDeclarationWithCollidingName(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isDeclaration); if (node) { var symbol = getSymbolOfNode(node); if (symbol) { @@ -50640,16 +50917,16 @@ var ts; } function isValueAliasDeclaration(node) { switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: - case 244 /* ImportClause */: - case 245 /* NamespaceImport */: - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 243 /* ImportEqualsDeclaration */: + case 245 /* ImportClause */: + case 246 /* NamespaceImport */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: return isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: var exportClause = node.exportClause; - return exportClause && ts.forEach(exportClause.elements, isValueAliasDeclaration); - case 248 /* ExportAssignment */: + return !!exportClause && ts.some(exportClause.elements, isValueAliasDeclaration); + case 249 /* ExportAssignment */: return node.expression && node.expression.kind === 71 /* Identifier */ ? isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol) @@ -50657,9 +50934,9 @@ var ts; } return false; } - function isTopLevelValueImportEqualsWithEntityName(node) { - node = ts.getParseTreeNode(node, ts.isImportEqualsDeclaration); - if (node === undefined || node.parent.kind !== 273 /* SourceFile */ || !ts.isInternalModuleImportEqualsDeclaration(node)) { + function isTopLevelValueImportEqualsWithEntityName(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isImportEqualsDeclaration); + if (node === undefined || node.parent.kind !== 274 /* SourceFile */ || !ts.isInternalModuleImportEqualsDeclaration(node)) { // parent is not source file or it is not reference to internal module return false; } @@ -50673,11 +50950,11 @@ var ts; } // const enums and modules that contain only const enums are not considered values from the emit perspective // unless 'preserveConstEnums' option is set to true - return target.flags & 67216319 /* Value */ && + return !!(target.flags & 67216319 /* Value */) && (compilerOptions.preserveConstEnums || !isConstEnumOrConstEnumOnlyModule(target)); } function isConstEnumOrConstEnumOnlyModule(s) { - return isConstEnumSymbol(s) || s.constEnumOnlyModule; + return isConstEnumSymbol(s) || !!s.constEnumOnlyModule; } function isReferencedAliasDeclaration(node, checkChildren) { if (ts.isAliasSymbolDeclaration(node)) { @@ -50685,14 +50962,14 @@ var ts; if (symbol && getSymbolLinks(symbol).referenced) { return true; } - var target = getSymbolLinks(symbol).target; + var target = getSymbolLinks(symbol).target; // TODO: GH#18217 if (target && ts.getModifierFlags(node) & 1 /* Export */ && target.flags & 67216319 /* Value */) { // An `export import ... =` of a value symbol is always considered referenced return true; } } if (checkChildren) { - return ts.forEachChild(node, function (node) { return isReferencedAliasDeclaration(node, checkChildren); }); + return !!ts.forEachChild(node, function (node) { return isReferencedAliasDeclaration(node, checkChildren); }); } return false; } @@ -50719,10 +50996,10 @@ var ts; return false; } function isRequiredInitializedParameter(parameter) { - return strictNullChecks && + return !!strictNullChecks && !isOptionalParameter(parameter) && !ts.isJSDocParameterTag(parameter) && - parameter.initializer && + !!parameter.initializer && !ts.hasModifier(parameter, 92 /* ParameterPropertyModifier */); } function isOptionalUninitializedParameterProperty(parameter) { @@ -50732,7 +51009,7 @@ var ts; ts.hasModifier(parameter, 92 /* ParameterPropertyModifier */); } function getNodeCheckFlags(node) { - return getNodeLinks(node).flags; + return getNodeLinks(node).flags || 0; } function getEnumMemberValue(node) { computeEnumMemberValues(node.parent); @@ -50740,15 +51017,15 @@ var ts; } function canHaveConstantValue(node) { switch (node.kind) { - case 272 /* EnumMember */: - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: + case 273 /* EnumMember */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: return true; } return false; } function getConstantValue(node) { - if (node.kind === 272 /* EnumMember */) { + if (node.kind === 273 /* EnumMember */) { return getEnumMemberValue(node); } var symbol = getNodeLinks(node).resolvedSymbol; @@ -50761,11 +51038,11 @@ var ts; return undefined; } function isFunctionType(type) { - return type.flags & 65536 /* Object */ && getSignaturesOfType(type, 0 /* Call */).length > 0; + return !!(type.flags & 131072 /* Object */) && getSignaturesOfType(type, 0 /* Call */).length > 0; } - function getTypeReferenceSerializationKind(typeName, location) { + function getTypeReferenceSerializationKind(typeNameIn, location) { // ensure both `typeName` and `location` are parse tree nodes. - typeName = ts.getParseTreeNode(typeName, ts.isEntityName); + var typeName = ts.getParseTreeNode(typeNameIn, ts.isEntityName); if (!typeName) return ts.TypeReferenceSerializationKind.Unknown; if (location) { @@ -50789,31 +51066,31 @@ var ts; } // We might not be able to resolve type symbol so use unknown type in that case (eg error case) if (!typeSymbol) { - return ts.TypeReferenceSerializationKind.ObjectType; - } - var type = getDeclaredTypeOfSymbol(typeSymbol); - if (type === unknownType) { return ts.TypeReferenceSerializationKind.Unknown; } - else if (type.flags & 1 /* Any */) { + var type = getDeclaredTypeOfSymbol(typeSymbol); + if (type === errorType) { + return ts.TypeReferenceSerializationKind.Unknown; + } + else if (type.flags & 3 /* AnyOrUnknown */) { return ts.TypeReferenceSerializationKind.ObjectType; } - else if (isTypeAssignableToKind(type, 2048 /* Void */ | 12288 /* Nullable */ | 16384 /* Never */)) { + else if (isTypeAssignableToKind(type, 4096 /* Void */ | 24576 /* Nullable */ | 32768 /* Never */)) { return ts.TypeReferenceSerializationKind.VoidNullableOrNeverType; } - else if (isTypeAssignableToKind(type, 136 /* BooleanLike */)) { + else if (isTypeAssignableToKind(type, 272 /* BooleanLike */)) { return ts.TypeReferenceSerializationKind.BooleanType; } - else if (isTypeAssignableToKind(type, 84 /* NumberLike */)) { + else if (isTypeAssignableToKind(type, 168 /* NumberLike */)) { return ts.TypeReferenceSerializationKind.NumberLikeType; } - else if (isTypeAssignableToKind(type, 34 /* StringLike */)) { + else if (isTypeAssignableToKind(type, 68 /* StringLike */)) { return ts.TypeReferenceSerializationKind.StringLikeType; } else if (isTupleType(type)) { return ts.TypeReferenceSerializationKind.ArrayLikeType; } - else if (isTypeAssignableToKind(type, 1536 /* ESSymbolLike */)) { + else if (isTypeAssignableToKind(type, 3072 /* ESSymbolLike */)) { return ts.TypeReferenceSerializationKind.ESSymbolType; } else if (isFunctionType(type)) { @@ -50826,8 +51103,8 @@ var ts; return ts.TypeReferenceSerializationKind.ObjectType; } } - function createTypeOfDeclaration(declaration, enclosingDeclaration, flags, tracker, addUndefined) { - declaration = ts.getParseTreeNode(declaration, ts.isVariableLikeOrAccessor); + function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker, addUndefined) { + var declaration = ts.getParseTreeNode(declarationIn, ts.isVariableLikeOrAccessor); if (!declaration) { return ts.createToken(119 /* AnyKeyword */); } @@ -50835,8 +51112,8 @@ var ts; var symbol = getSymbolOfNode(declaration); var type = symbol && !(symbol.flags & (2048 /* TypeLiteral */ | 131072 /* Signature */)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) - : unknownType; - if (type.flags & 1024 /* UniqueESSymbol */ && + : errorType; + if (type.flags & 2048 /* UniqueESSymbol */ && type.symbol === symbol) { flags |= 1048576 /* AllowUniqueESSymbolType */; } @@ -50845,16 +51122,16 @@ var ts; } return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); } - function createReturnTypeOfSignatureDeclaration(signatureDeclaration, enclosingDeclaration, flags, tracker) { - signatureDeclaration = ts.getParseTreeNode(signatureDeclaration, ts.isFunctionLike); + function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { + var signatureDeclaration = ts.getParseTreeNode(signatureDeclarationIn, ts.isFunctionLike); if (!signatureDeclaration) { return ts.createToken(119 /* AnyKeyword */); } var signature = getSignatureFromDeclaration(signatureDeclaration); return nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); } - function createTypeOfExpression(expr, enclosingDeclaration, flags, tracker) { - expr = ts.getParseTreeNode(expr, ts.isExpression); + function createTypeOfExpression(exprIn, enclosingDeclaration, flags, tracker) { + var expr = ts.getParseTreeNode(exprIn, ts.isExpression); if (!expr) { return ts.createToken(119 /* AnyKeyword */); } @@ -50880,9 +51157,9 @@ var ts; } return resolveName(location, reference.escapedText, 67216319 /* Value */ | 1048576 /* ExportValue */ | 2097152 /* Alias */, /*nodeNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); } - function getReferencedValueDeclaration(reference) { - if (!ts.isGeneratedIdentifier(reference)) { - reference = ts.getParseTreeNode(reference, ts.isIdentifier); + function getReferencedValueDeclaration(referenceIn) { + if (!ts.isGeneratedIdentifier(referenceIn)) { + var reference = ts.getParseTreeNode(referenceIn, ts.isIdentifier); if (reference) { var symbol = getReferencedValueSymbol(reference); if (symbol) { @@ -50895,7 +51172,7 @@ var ts; function isLiteralConstDeclaration(node) { if (ts.isConst(node)) { var type = getTypeOfSymbol(getSymbolOfNode(node)); - return !!(type.flags & 96 /* StringOrNumberLiteral */ && type.flags & 8388608 /* FreshLiteral */); + return !!(type.flags & 192 /* StringOrNumberLiteral */ && type.flags & 33554432 /* FreshLiteral */); } return false; } @@ -50940,7 +51217,7 @@ var ts; }, getNodeCheckFlags: function (node) { node = ts.getParseTreeNode(node); - return node ? getNodeCheckFlags(node) : undefined; + return node ? getNodeCheckFlags(node) : 0; }, isTopLevelValueImportEqualsWithEntityName: isTopLevelValueImportEqualsWithEntityName, isDeclarationVisible: isDeclarationVisible, @@ -50953,8 +51230,8 @@ var ts; createLiteralConstValue: createLiteralConstValue, isSymbolAccessible: isSymbolAccessible, isEntityNameVisible: isEntityNameVisible, - getConstantValue: function (node) { - node = ts.getParseTreeNode(node, canHaveConstantValue); + getConstantValue: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue(node) : undefined; }, collectLinkedAliases: collectLinkedAliases, @@ -50967,20 +51244,20 @@ var ts; getTypeReferenceDirectivesForEntityName: getTypeReferenceDirectivesForEntityName, getTypeReferenceDirectivesForSymbol: getTypeReferenceDirectivesForSymbol, isLiteralConstDeclaration: isLiteralConstDeclaration, - isLateBound: function (node) { - node = ts.getParseTreeNode(node, ts.isDeclaration); + isLateBound: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isDeclaration); var symbol = node && getSymbolOfNode(node); return !!(symbol && ts.getCheckFlags(symbol) & 1024 /* Late */); }, getJsxFactoryEntity: function (location) { return location ? (getJsxNamespace(location), (ts.getSourceFileOfNode(location).localJsxFactory || _jsxFactoryEntity)) : _jsxFactoryEntity; }, getAllAccessorDeclarations: function (accessor) { - accessor = ts.getParseTreeNode(accessor, ts.isGetOrSetAccessorDeclaration); - var otherKind = accessor.kind === 156 /* SetAccessor */ ? 155 /* GetAccessor */ : 156 /* SetAccessor */; + accessor = ts.getParseTreeNode(accessor, ts.isGetOrSetAccessorDeclaration); // TODO: GH#18217 + var otherKind = accessor.kind === 157 /* SetAccessor */ ? 156 /* GetAccessor */ : 157 /* SetAccessor */; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(accessor), otherKind); var firstAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? otherAccessor : accessor; var secondAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? accessor : otherAccessor; - var setAccessor = accessor.kind === 156 /* SetAccessor */ ? accessor : otherAccessor; - var getAccessor = accessor.kind === 155 /* GetAccessor */ ? accessor : otherAccessor; + var setAccessor = accessor.kind === 157 /* SetAccessor */ ? accessor : otherAccessor; + var getAccessor = accessor.kind === 156 /* GetAccessor */ ? accessor : otherAccessor; return { firstAccessor: firstAccessor, secondAccessor: secondAccessor, @@ -50990,7 +51267,7 @@ var ts; } }; function isInHeritageClause(node) { - return node.parent && node.parent.kind === 206 /* ExpressionWithTypeArguments */ && node.parent.parent && node.parent.parent.kind === 267 /* HeritageClause */; + return node.parent && node.parent.kind === 207 /* ExpressionWithTypeArguments */ && node.parent.parent && node.parent.parent.kind === 268 /* HeritageClause */; } // defined here to avoid outer scope pollution function getTypeReferenceDirectivesForEntityName(node) { @@ -51002,7 +51279,7 @@ var ts; // qualified names can only be used as types\namespaces // identifiers are treated as values only if they appear in type queries var meaning = 67901928 /* Type */ | 1920 /* Namespace */; - if ((node.kind === 71 /* Identifier */ && isInTypeQuery(node)) || (node.kind === 184 /* PropertyAccessExpression */ && !isInHeritageClause(node))) { + if ((node.kind === 71 /* Identifier */ && isInTypeQuery(node)) || (node.kind === 185 /* PropertyAccessExpression */ && !isInHeritageClause(node))) { meaning = 67216319 /* Value */ | 1048576 /* ExportValue */; } var symbol = resolveEntityName(node, meaning, /*ignoreErrors*/ true); @@ -51053,7 +51330,7 @@ var ts; break; } } - if (current.valueDeclaration && current.valueDeclaration.kind === 273 /* SourceFile */ && current.flags & 512 /* ValueModule */) { + if (current.valueDeclaration && current.valueDeclaration.kind === 274 /* SourceFile */ && current.flags & 512 /* ValueModule */) { return false; } // check that at least one declaration of top level symbol originates from type declaration file @@ -51068,12 +51345,12 @@ var ts; } } function getExternalModuleFileFromDeclaration(declaration) { - var specifier = declaration.kind === 238 /* ModuleDeclaration */ ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); - var moduleSymbol = resolveExternalModuleNameWorker(specifier, specifier, /*moduleNotFoundError*/ undefined); + var specifier = declaration.kind === 239 /* ModuleDeclaration */ ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); + var moduleSymbol = resolveExternalModuleNameWorker(specifier, specifier, /*moduleNotFoundError*/ undefined); // TODO: GH#18217 if (!moduleSymbol) { return undefined; } - return ts.getDeclarationOfKind(moduleSymbol, 273 /* SourceFile */); + return ts.getDeclarationOfKind(moduleSymbol, 274 /* SourceFile */); } function initializeTypeChecker() { // Bind all source files and propagate errors @@ -51104,7 +51381,7 @@ var ts; }); } } - // We do global augmentations seperately from module augmentations (and before creating global types) because they + // We do global augmentations separately from module augmentations (and before creating global types) because they // 1. Affect global types. We won't have the correct global types until global augmentations are merged. Also, // 2. Module augmentation instantiation requires creating the type of a module, which, in turn, can require // checking for an export or property on the module (if export=) which, in turn, can fall back to the @@ -51127,7 +51404,7 @@ var ts; addToSymbolTable(globals, builtinGlobals, ts.Diagnostics.Declaration_name_conflicts_with_built_in_global_identifier_0); getSymbolLinks(undefinedSymbol).type = undefinedWideningType; getSymbolLinks(argumentsSymbol).type = getGlobalType("IArguments", /*arity*/ 0, /*reportErrors*/ true); - getSymbolLinks(unknownSymbol).type = unknownType; + getSymbolLinks(unknownSymbol).type = errorType; // Initialize special types globalArrayType = getGlobalType("Array", /*arity*/ 1, /*reportErrors*/ true); globalObjectType = getGlobalType("Object", /*arity*/ 0, /*reportErrors*/ true); @@ -51199,7 +51476,7 @@ var ts; case 16384 /* AsyncValues */: return "__asyncValues"; case 32768 /* ExportStar */: return "__exportStar"; case 65536 /* MakeTemplateObject */: return "__makeTemplateObject"; - default: ts.Debug.fail("Unrecognized helper"); + default: return ts.Debug.fail("Unrecognized helper"); } } function resolveHelpersModule(node, errorNode) { @@ -51217,14 +51494,14 @@ var ts; return false; } if (!ts.nodeCanBeDecorated(node, node.parent, node.parent.parent)) { - if (node.kind === 153 /* MethodDeclaration */ && !ts.nodeIsPresent(node.body)) { + if (node.kind === 154 /* MethodDeclaration */ && !ts.nodeIsPresent(node.body)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload); } else { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here); } } - else if (node.kind === 155 /* GetAccessor */ || node.kind === 156 /* SetAccessor */) { + else if (node.kind === 156 /* GetAccessor */ || node.kind === 157 /* SetAccessor */) { var accessors = ts.getAllAccessorDeclarations(node.parent.members, node); if (accessors.firstAccessor.decorators && node === accessors.secondAccessor) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name); @@ -51242,16 +51519,16 @@ var ts; for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; if (modifier.kind !== 132 /* ReadonlyKeyword */) { - if (node.kind === 150 /* PropertySignature */ || node.kind === 152 /* MethodSignature */) { + if (node.kind === 151 /* PropertySignature */ || node.kind === 153 /* MethodSignature */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_type_member, ts.tokenToString(modifier.kind)); } - if (node.kind === 159 /* IndexSignature */) { + if (node.kind === 160 /* IndexSignature */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_an_index_signature, ts.tokenToString(modifier.kind)); } } switch (modifier.kind) { case 76 /* ConstKeyword */: - if (node.kind !== 237 /* EnumDeclaration */ && node.parent.kind === 234 /* ClassDeclaration */) { + if (node.kind !== 238 /* EnumDeclaration */ && node.parent.kind === 235 /* ClassDeclaration */) { return grammarErrorOnNode(node, ts.Diagnostics.A_class_member_cannot_have_the_0_keyword, ts.tokenToString(76 /* ConstKeyword */)); } break; @@ -51271,7 +51548,7 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "async"); } - else if (node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 273 /* SourceFile */) { + else if (node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 274 /* SourceFile */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, text); } else if (flags & 128 /* Abstract */) { @@ -51294,10 +51571,10 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "static", "async"); } - else if (node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 273 /* SourceFile */) { + else if (node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 274 /* SourceFile */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, "static"); } - else if (node.kind === 148 /* Parameter */) { + else if (node.kind === 149 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "static"); } else if (flags & 128 /* Abstract */) { @@ -51310,7 +51587,7 @@ var ts; if (flags & 64 /* Readonly */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "readonly"); } - else if (node.kind !== 151 /* PropertyDeclaration */ && node.kind !== 150 /* PropertySignature */ && node.kind !== 159 /* IndexSignature */ && node.kind !== 148 /* Parameter */) { + else if (node.kind !== 152 /* PropertyDeclaration */ && node.kind !== 151 /* PropertySignature */ && node.kind !== 160 /* IndexSignature */ && node.kind !== 149 /* Parameter */) { // If node.kind === SyntaxKind.Parameter, checkParameter report an error if it's not a parameter property. return grammarErrorOnNode(modifier, ts.Diagnostics.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature); } @@ -51330,17 +51607,17 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "async"); } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "export"); } - else if (node.kind === 148 /* Parameter */) { + else if (node.kind === 149 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "export"); } flags |= 1 /* Export */; break; case 79 /* DefaultKeyword */: - var container = node.parent.kind === 273 /* SourceFile */ ? node.parent : node.parent.parent; - if (container.kind === 238 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 274 /* SourceFile */ ? node.parent : node.parent.parent; + if (container.kind === 239 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module); } flags |= 512 /* Default */; @@ -51352,13 +51629,13 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "declare"); } - else if (node.kind === 148 /* Parameter */) { + else if (node.kind === 149 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "declare"); } - else if ((node.parent.flags & 4194304 /* Ambient */) && node.parent.kind === 239 /* ModuleBlock */) { + else if ((node.parent.flags & 4194304 /* Ambient */) && node.parent.kind === 240 /* ModuleBlock */) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); } flags |= 2 /* Ambient */; @@ -51368,14 +51645,14 @@ var ts; if (flags & 128 /* Abstract */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "abstract"); } - if (node.kind !== 234 /* ClassDeclaration */) { - if (node.kind !== 153 /* MethodDeclaration */ && - node.kind !== 151 /* PropertyDeclaration */ && - node.kind !== 155 /* GetAccessor */ && - node.kind !== 156 /* SetAccessor */) { + if (node.kind !== 235 /* ClassDeclaration */) { + if (node.kind !== 154 /* MethodDeclaration */ && + node.kind !== 152 /* PropertyDeclaration */ && + node.kind !== 156 /* GetAccessor */ && + node.kind !== 157 /* SetAccessor */) { return grammarErrorOnNode(modifier, ts.Diagnostics.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration); } - if (!(node.parent.kind === 234 /* ClassDeclaration */ && ts.hasModifier(node.parent, 128 /* Abstract */))) { + if (!(node.parent.kind === 235 /* ClassDeclaration */ && ts.hasModifier(node.parent, 128 /* Abstract */))) { return grammarErrorOnNode(modifier, ts.Diagnostics.Abstract_methods_can_only_appear_within_an_abstract_class); } if (flags & 32 /* Static */) { @@ -51394,7 +51671,7 @@ var ts; else if (flags & 2 /* Ambient */ || node.parent.flags & 4194304 /* Ambient */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (node.kind === 148 /* Parameter */) { + else if (node.kind === 149 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "async"); } flags |= 256 /* Async */; @@ -51402,12 +51679,12 @@ var ts; break; } } - if (node.kind === 154 /* Constructor */) { + if (node.kind === 155 /* Constructor */) { if (flags & 32 /* Static */) { return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); } if (flags & 128 /* Abstract */) { - return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "abstract"); + return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "abstract"); // TODO: GH#18217 } else if (flags & 256 /* Async */) { return grammarErrorOnNode(lastAsync, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "async"); @@ -51415,20 +51692,21 @@ var ts; else if (flags & 64 /* Readonly */) { return grammarErrorOnNode(lastReadonly, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "readonly"); } - return; + return false; } - else if ((node.kind === 243 /* ImportDeclaration */ || node.kind === 242 /* ImportEqualsDeclaration */) && flags & 2 /* Ambient */) { + else if ((node.kind === 244 /* ImportDeclaration */ || node.kind === 243 /* ImportEqualsDeclaration */) && flags & 2 /* Ambient */) { return grammarErrorOnNode(lastDeclare, ts.Diagnostics.A_0_modifier_cannot_be_used_with_an_import_declaration, "declare"); } - else if (node.kind === 148 /* Parameter */ && (flags & 92 /* ParameterPropertyModifier */) && ts.isBindingPattern(node.name)) { + else if (node.kind === 149 /* Parameter */ && (flags & 92 /* ParameterPropertyModifier */) && ts.isBindingPattern(node.name)) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_may_not_be_declared_using_a_binding_pattern); } - else if (node.kind === 148 /* Parameter */ && (flags & 92 /* ParameterPropertyModifier */) && node.dotDotDotToken) { + else if (node.kind === 149 /* Parameter */ && (flags & 92 /* ParameterPropertyModifier */) && node.dotDotDotToken) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_cannot_be_declared_using_a_rest_parameter); } if (flags & 256 /* Async */) { return checkGrammarAsyncModifier(node, lastAsync); } + return false; } /** * true | false: Early return this value from checkGrammarModifiers. @@ -51443,37 +51721,37 @@ var ts; } function shouldReportBadModifier(node) { switch (node.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 154 /* Constructor */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 159 /* IndexSignature */: - case 238 /* ModuleDeclaration */: - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 249 /* ExportDeclaration */: - case 248 /* ExportAssignment */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 148 /* Parameter */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 155 /* Constructor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 160 /* IndexSignature */: + case 239 /* ModuleDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 250 /* ExportDeclaration */: + case 249 /* ExportAssignment */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 149 /* Parameter */: return false; default: - if (node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 273 /* SourceFile */) { + if (node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 274 /* SourceFile */) { return false; } switch (node.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return nodeHasAnyModifiersExcept(node, 120 /* AsyncKeyword */); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return nodeHasAnyModifiersExcept(node, 117 /* AbstractKeyword */); - case 235 /* InterfaceDeclaration */: - case 213 /* VariableStatement */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 214 /* VariableStatement */: + case 237 /* TypeAliasDeclaration */: return true; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return nodeHasAnyModifiersExcept(node, 76 /* ConstKeyword */); default: ts.Debug.fail(); @@ -51486,10 +51764,10 @@ var ts; } function checkGrammarAsyncModifier(node, asyncModifier) { switch (node.kind) { - case 153 /* MethodDeclaration */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return false; } return grammarErrorOnNode(asyncModifier, ts.Diagnostics._0_modifier_cannot_be_used_here, "async"); @@ -51499,6 +51777,7 @@ var ts; if (list && list.hasTrailingComma) { return grammarErrorAtPos(list[0], list.end - ",".length, ",".length, diag); } + return false; } function checkGrammarTypeParameterList(typeParameters, file) { if (typeParameters && typeParameters.length === 0) { @@ -51506,6 +51785,7 @@ var ts; var end = ts.skipTrivia(file.text, typeParameters.end) + ">".length; return grammarErrorAtPos(file, start, end - start, ts.Diagnostics.Type_parameter_list_cannot_be_empty); } + return false; } function checkGrammarParameterList(parameters) { var seenOptionalParameter = false; @@ -51586,10 +51866,10 @@ var ts; } if (parameter.type.kind !== 137 /* StringKeyword */ && parameter.type.kind !== 134 /* NumberKeyword */) { var type = getTypeFromTypeNode(parameter.type); - if (type.flags & 2 /* String */ || type.flags & 4 /* Number */) { + if (type.flags & 4 /* String */ || type.flags & 8 /* Number */) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead, ts.getTextOfNode(parameter.name), typeToString(type), typeToString(getTypeFromTypeNode(node.type))); } - if (type.flags & 131072 /* Union */ && allTypesAssignableToKind(type, 32 /* StringLiteral */, /*strict*/ true)) { + if (type.flags & 262144 /* Union */ && allTypesAssignableToKind(type, 64 /* StringLiteral */, /*strict*/ true)) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead); } return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_must_be_string_or_number); @@ -51597,6 +51877,7 @@ var ts; if (!node.type) { return grammarErrorOnNode(node, ts.Diagnostics.An_index_signature_must_have_a_type_annotation); } + return false; } function checkGrammarIndexSignature(node) { // Prevent cascading error by short-circuit @@ -51609,6 +51890,7 @@ var ts; var end = ts.skipTrivia(sourceFile.text, typeArguments.end) + ">".length; return grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.Type_argument_list_cannot_be_empty); } + return false; } function checkGrammarTypeArguments(node, typeArguments) { return checkGrammarForDisallowedTrailingComma(typeArguments) || @@ -51618,11 +51900,12 @@ var ts; if (args) { for (var _i = 0, args_5 = args; _i < args_5.length; _i++) { var arg = args_5[_i]; - if (arg.kind === 205 /* OmittedExpression */) { + if (arg.kind === 206 /* OmittedExpression */) { return grammarErrorAtPos(arg, arg.pos, 0, ts.Diagnostics.Argument_expression_expected); } } } + return false; } function checkGrammarArguments(args) { return checkGrammarForOmittedArgument(args); @@ -51636,7 +51919,7 @@ var ts; var listType = ts.tokenToString(node.token); return grammarErrorAtPos(node, types.pos, 0, ts.Diagnostics._0_list_cannot_be_empty, listType); } - return ts.forEach(types, checkGrammarExpressionWithTypeArguments); + return ts.some(types, checkGrammarExpressionWithTypeArguments); } function checkGrammarExpressionWithTypeArguments(node) { return checkGrammarTypeArguments(node, node.typeArguments); @@ -51694,19 +51977,20 @@ var ts; } function checkGrammarComputedPropertyName(node) { // If node is not a computedPropertyName, just skip the grammar checking - if (node.kind !== 146 /* ComputedPropertyName */) { + if (node.kind !== 147 /* ComputedPropertyName */) { return false; } var computedPropertyName = node; - if (computedPropertyName.expression.kind === 199 /* BinaryExpression */ && computedPropertyName.expression.operatorToken.kind === 26 /* CommaToken */) { + if (computedPropertyName.expression.kind === 200 /* BinaryExpression */ && computedPropertyName.expression.operatorToken.kind === 26 /* CommaToken */) { return grammarErrorOnNode(computedPropertyName.expression, ts.Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name); } + return false; } function checkGrammarForGenerator(node) { if (node.asteriskToken) { - ts.Debug.assert(node.kind === 233 /* FunctionDeclaration */ || - node.kind === 191 /* FunctionExpression */ || - node.kind === 153 /* MethodDeclaration */); + ts.Debug.assert(node.kind === 234 /* FunctionDeclaration */ || + node.kind === 192 /* FunctionExpression */ || + node.kind === 154 /* MethodDeclaration */); if (node.flags & 4194304 /* Ambient */) { return grammarErrorOnNode(node.asteriskToken, ts.Diagnostics.Generators_are_not_allowed_in_an_ambient_context); } @@ -51716,9 +52000,7 @@ var ts; } } function checkGrammarForInvalidQuestionMark(questionToken, message) { - if (questionToken) { - return grammarErrorOnNode(questionToken, message); - } + return !!questionToken && grammarErrorOnNode(questionToken, message); } function checkGrammarObjectLiteralExpression(node, inDestructuring) { var Flags; @@ -51731,24 +52013,24 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 271 /* SpreadAssignment */) { + if (prop.kind === 272 /* SpreadAssignment */) { continue; } var name = prop.name; - if (name.kind === 146 /* ComputedPropertyName */) { + if (name.kind === 147 /* ComputedPropertyName */) { // If the name is not a ComputedPropertyName, the grammar checking will skip it checkGrammarComputedPropertyName(name); } - if (prop.kind === 270 /* ShorthandPropertyAssignment */ && !inDestructuring && prop.objectAssignmentInitializer) { + if (prop.kind === 271 /* ShorthandPropertyAssignment */ && !inDestructuring && prop.objectAssignmentInitializer) { // having objectAssignmentInitializer is only valid in ObjectAssignmentPattern // outside of destructuring it is a syntax error return grammarErrorOnNode(prop.equalsToken, ts.Diagnostics.can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment); } // Modifiers are never allowed on properties except for 'async' on a method declaration if (prop.modifiers) { - for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { + for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { // TODO: GH#19955 var mod = _c[_b]; - if (mod.kind !== 120 /* AsyncKeyword */ || prop.kind !== 153 /* MethodDeclaration */) { + if (mod.kind !== 120 /* AsyncKeyword */ || prop.kind !== 154 /* MethodDeclaration */) { grammarErrorOnNode(mod, ts.Diagnostics._0_modifier_cannot_be_used_here, ts.getTextOfNode(mod)); } } @@ -51763,25 +52045,25 @@ var ts; // and either both previous and propId.descriptor have[[Get]] fields or both previous and propId.descriptor have[[Set]] fields var currentKind = void 0; switch (prop.kind) { - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: // Grammar checking for computedPropertyName and shorthandPropertyAssignment checkGrammarForInvalidQuestionMark(prop.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional); if (name.kind === 8 /* NumericLiteral */) { checkGrammarNumericLiteral(name); } // falls through - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: currentKind = 1 /* Property */; break; - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: currentKind = 2 /* GetAccessor */; break; - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: currentKind = 4 /* SetAccessor */; break; default: - ts.Debug.assertNever(prop, "Unexpected syntax kind:" + prop.kind); + throw ts.Debug.assertNever(prop, "Unexpected syntax kind:" + prop.kind); } var effectiveName = ts.getPropertyNameForPropertyNameNode(name); if (effectiveName === undefined) { @@ -51814,7 +52096,7 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.attributes.properties; _i < _a.length; _i++) { var attr = _a[_i]; - if (attr.kind === 263 /* JsxSpreadAttribute */) { + if (attr.kind === 264 /* JsxSpreadAttribute */) { continue; } var name = attr.name, initializer = attr.initializer; @@ -51824,7 +52106,7 @@ var ts; else { return grammarErrorOnNode(name, ts.Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name); } - if (initializer && initializer.kind === 264 /* JsxExpression */ && !initializer.expression) { + if (initializer && initializer.kind === 265 /* JsxExpression */ && !initializer.expression) { return grammarErrorOnNode(initializer, ts.Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression); } } @@ -51833,12 +52115,12 @@ var ts; if (checkGrammarStatementInAmbientContext(forInOrOfStatement)) { return true; } - if (forInOrOfStatement.kind === 221 /* ForOfStatement */ && forInOrOfStatement.awaitModifier) { + if (forInOrOfStatement.kind === 222 /* ForOfStatement */ && forInOrOfStatement.awaitModifier) { if ((forInOrOfStatement.flags & 16384 /* AwaitContext */) === 0 /* None */) { return grammarErrorOnNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator); } } - if (forInOrOfStatement.initializer.kind === 232 /* VariableDeclarationList */) { + if (forInOrOfStatement.initializer.kind === 233 /* VariableDeclarationList */) { var variableList = forInOrOfStatement.initializer; if (!checkGrammarVariableDeclarationList(variableList)) { var declarations = variableList.declarations; @@ -51853,20 +52135,20 @@ var ts; return false; } if (declarations.length > 1) { - var diagnostic = forInOrOfStatement.kind === 220 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 221 /* ForInStatement */ ? ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement : ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement; return grammarErrorOnFirstToken(variableList.declarations[1], diagnostic); } var firstDeclaration = declarations[0]; if (firstDeclaration.initializer) { - var diagnostic = forInOrOfStatement.kind === 220 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 221 /* ForInStatement */ ? ts.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer : ts.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer; return grammarErrorOnNode(firstDeclaration.name, diagnostic); } if (firstDeclaration.type) { - var diagnostic = forInOrOfStatement.kind === 220 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 221 /* ForInStatement */ ? ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation : ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation; return grammarErrorOnNode(firstDeclaration, diagnostic); @@ -51893,11 +52175,11 @@ var ts; return grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_have_type_parameters); } else if (!doesAccessorHaveCorrectParameterCount(accessor)) { - return grammarErrorOnNode(accessor.name, kind === 155 /* GetAccessor */ ? + return grammarErrorOnNode(accessor.name, kind === 156 /* GetAccessor */ ? ts.Diagnostics.A_get_accessor_cannot_have_parameters : ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter); } - else if (kind === 156 /* SetAccessor */) { + else if (kind === 157 /* SetAccessor */) { if (accessor.type) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation); } @@ -51914,16 +52196,17 @@ var ts; } } } + return false; } /** Does the accessor have the right number of parameters? * A get accessor has no parameters or a single `this` parameter. * A set accessor has one parameter or a `this` parameter and one more parameter. */ function doesAccessorHaveCorrectParameterCount(accessor) { - return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 155 /* GetAccessor */ ? 0 : 1); + return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 156 /* GetAccessor */ ? 0 : 1); } function getAccessorThisParameter(accessor) { - if (accessor.parameters.length === (accessor.kind === 155 /* GetAccessor */ ? 1 : 2)) { + if (accessor.parameters.length === (accessor.kind === 156 /* GetAccessor */ ? 1 : 2)) { return ts.getThisParameter(accessor); } } @@ -51934,7 +52217,7 @@ var ts; } var parent = ts.walkUpParenthesizedTypes(node.parent); switch (parent.kind) { - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: var decl = parent; if (decl.name.kind !== 71 /* Identifier */) { return grammarErrorOnNode(node, ts.Diagnostics.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name); @@ -51946,13 +52229,13 @@ var ts; return grammarErrorOnNode(parent.name, ts.Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const); } break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: if (!ts.hasModifier(parent, 32 /* Static */) || !ts.hasModifier(parent, 64 /* Readonly */)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly); } break; - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: if (!ts.hasModifier(parent, 64 /* Readonly */)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly); } @@ -51971,8 +52254,8 @@ var ts; if (checkGrammarFunctionLikeDeclaration(node)) { return true; } - if (node.kind === 153 /* MethodDeclaration */) { - if (node.parent.kind === 183 /* ObjectLiteralExpression */) { + if (node.kind === 154 /* MethodDeclaration */) { + if (node.parent.kind === 184 /* ObjectLiteralExpression */) { // We only disallow modifier on a method declaration if it is a property of object-literal-expression if (node.modifiers && !(node.modifiers.length === 1 && ts.first(node.modifiers).kind === 120 /* AsyncKeyword */)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Modifiers_cannot_appear_here); @@ -51997,14 +52280,14 @@ var ts; if (node.flags & 4194304 /* Ambient */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.kind === 153 /* MethodDeclaration */ && !node.body) { + else if (node.kind === 154 /* MethodDeclaration */ && !node.body) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } - else if (node.parent.kind === 235 /* InterfaceDeclaration */) { + else if (node.parent.kind === 236 /* InterfaceDeclaration */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.parent.kind === 165 /* TypeLiteral */) { + else if (node.parent.kind === 166 /* TypeLiteral */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } @@ -52015,11 +52298,11 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.Jump_target_cannot_cross_function_boundary); } switch (current.kind) { - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: if (node.label && current.label.escapedText === node.label.escapedText) { // found matching label - verify that label usage is correct // continue can only target labels that are on iteration statements - var isMisplacedContinueLabel = node.kind === 222 /* ContinueStatement */ + var isMisplacedContinueLabel = node.kind === 223 /* ContinueStatement */ && !ts.isIterationStatement(current.statement, /*lookInLabeledStatement*/ true); if (isMisplacedContinueLabel) { return grammarErrorOnNode(node, ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement); @@ -52027,8 +52310,8 @@ var ts; return false; } break; - case 226 /* SwitchStatement */: - if (node.kind === 223 /* BreakStatement */ && !node.label) { + case 227 /* SwitchStatement */: + if (node.kind === 224 /* BreakStatement */ && !node.label) { // unlabeled break within switch statement - ok return false; } @@ -52043,13 +52326,13 @@ var ts; current = current.parent; } if (node.label) { - var message = node.kind === 223 /* BreakStatement */ + var message = node.kind === 224 /* BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); } else { - var message = node.kind === 223 /* BreakStatement */ + var message = node.kind === 224 /* BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); @@ -52062,7 +52345,7 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern); } checkGrammarForDisallowedTrailingComma(elements, ts.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma); - if (node.name.kind === 180 /* ArrayBindingPattern */ || node.name.kind === 179 /* ObjectBindingPattern */) { + if (node.name.kind === 181 /* ArrayBindingPattern */ || node.name.kind === 180 /* ObjectBindingPattern */) { return grammarErrorOnNode(node.name, ts.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern); } if (node.propertyName) { @@ -52076,11 +52359,11 @@ var ts; } function isStringOrNumberLiteralExpression(expr) { return expr.kind === 9 /* StringLiteral */ || expr.kind === 8 /* NumericLiteral */ || - expr.kind === 197 /* PrefixUnaryExpression */ && expr.operator === 38 /* MinusToken */ && + expr.kind === 198 /* PrefixUnaryExpression */ && expr.operator === 38 /* MinusToken */ && expr.operand.kind === 8 /* NumericLiteral */; } function checkGrammarVariableDeclaration(node) { - if (node.parent.parent.kind !== 220 /* ForInStatement */ && node.parent.parent.kind !== 221 /* ForOfStatement */) { + if (node.parent.parent.kind !== 221 /* ForInStatement */ && node.parent.parent.kind !== 222 /* ForOfStatement */) { if (node.flags & 4194304 /* Ambient */) { if (node.initializer) { if (ts.isConst(node) && !node.type) { @@ -52109,7 +52392,7 @@ var ts; } } } - if (node.exclamationToken && (node.parent.parent.kind !== 213 /* VariableStatement */ || !node.type || node.initializer || node.flags & 4194304 /* Ambient */)) { + if (node.exclamationToken && (node.parent.parent.kind !== 214 /* VariableStatement */ || !node.type || node.initializer || node.flags & 4194304 /* Ambient */)) { return grammarErrorOnNode(node.exclamationToken, ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context); } if (compilerOptions.module !== ts.ModuleKind.ES2015 && compilerOptions.module !== ts.ModuleKind.ESNext && compilerOptions.module !== ts.ModuleKind.System && !compilerOptions.noEmit && @@ -52140,6 +52423,7 @@ var ts; } } } + return false; } function checkGrammarNameInLetOrConstDeclarations(name) { if (name.kind === 71 /* Identifier */) { @@ -52156,6 +52440,7 @@ var ts; } } } + return false; } function checkGrammarVariableDeclarationList(declarationList) { var declarations = declarationList.declarations; @@ -52165,18 +52450,19 @@ var ts; if (!declarationList.declarations.length) { return grammarErrorAtPos(declarationList, declarations.pos, declarations.end - declarations.pos, ts.Diagnostics.Variable_declaration_list_cannot_be_empty); } + return false; } function allowLetAndConstDeclarations(parent) { switch (parent.kind) { - case 216 /* IfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 225 /* WithStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 217 /* IfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 226 /* WithStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: return false; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return allowLetAndConstDeclarations(parent.parent); } return true; @@ -52216,6 +52502,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, span.start, span.length, message, arg0, arg1, arg2)); return true; } + return false; } function grammarErrorAtPos(nodeForSourceFile, start, length, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(nodeForSourceFile); @@ -52223,6 +52510,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, start, length, message, arg0, arg1, arg2)); return true; } + return false; } function grammarErrorOnNode(node, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(node); @@ -52230,11 +52518,12 @@ var ts; diagnostics.add(ts.createDiagnosticForNode(node, message, arg0, arg1, arg2)); return true; } + return false; } function checkGrammarConstructorTypeParameters(node) { - var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); - if (ts.isNodeArray(typeParameters)) { - var pos = typeParameters.pos, end = typeParameters.end; + var jsdocTypeParameters = ts.isInJavaScriptFile(node) && ts.getJSDocTypeParameterDeclarations(node); + if (node.typeParameters || jsdocTypeParameters && jsdocTypeParameters.length) { + var _a = node.typeParameters || jsdocTypeParameters && jsdocTypeParameters[0] || node, pos = _a.pos, end = _a.end; return grammarErrorAtPos(node, pos, end - pos, ts.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration); } } @@ -52250,7 +52539,7 @@ var ts; return true; } } - else if (node.parent.kind === 235 /* InterfaceDeclaration */) { + else if (node.parent.kind === 236 /* InterfaceDeclaration */) { if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } @@ -52258,7 +52547,7 @@ var ts; return grammarErrorOnNode(node.initializer, ts.Diagnostics.An_interface_property_cannot_have_an_initializer); } } - else if (node.parent.kind === 165 /* TypeLiteral */) { + else if (node.parent.kind === 166 /* TypeLiteral */) { if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } @@ -52287,13 +52576,13 @@ var ts; // export_opt AmbientDeclaration // // TODO: The spec needs to be amended to reflect this grammar. - if (node.kind === 235 /* InterfaceDeclaration */ || - node.kind === 236 /* TypeAliasDeclaration */ || - node.kind === 243 /* ImportDeclaration */ || - node.kind === 242 /* ImportEqualsDeclaration */ || - node.kind === 249 /* ExportDeclaration */ || - node.kind === 248 /* ExportAssignment */ || - node.kind === 241 /* NamespaceExportDeclaration */ || + if (node.kind === 236 /* InterfaceDeclaration */ || + node.kind === 237 /* TypeAliasDeclaration */ || + node.kind === 244 /* ImportDeclaration */ || + node.kind === 243 /* ImportEqualsDeclaration */ || + node.kind === 250 /* ExportDeclaration */ || + node.kind === 249 /* ExportAssignment */ || + node.kind === 242 /* NamespaceExportDeclaration */ || ts.hasModifier(node, 2 /* Ambient */ | 1 /* Export */ | 512 /* Default */)) { return false; } @@ -52302,12 +52591,13 @@ var ts; function checkGrammarTopLevelElementsForRequiredDeclareModifier(file) { for (var _i = 0, _a = file.statements; _i < _a.length; _i++) { var decl = _a[_i]; - if (ts.isDeclaration(decl) || decl.kind === 213 /* VariableStatement */) { + if (ts.isDeclaration(decl) || decl.kind === 214 /* VariableStatement */) { if (checkGrammarTopLevelElementForRequiredDeclareModifier(decl)) { return true; } } } + return false; } function checkGrammarSourceFile(node) { return !!(node.flags & 4194304 /* Ambient */) && checkGrammarTopLevelElementsForRequiredDeclareModifier(node); @@ -52328,7 +52618,7 @@ var ts; // to prevent noisiness. So use a bit on the block to indicate if // this has already been reported, and don't report if it has. // - if (node.parent.kind === 212 /* Block */ || node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 273 /* SourceFile */) { + if (node.parent.kind === 213 /* Block */ || node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 274 /* SourceFile */) { var links_1 = getNodeLinks(node.parent); // Check if the containing block ever report this error if (!links_1.hasReportedStatementInAmbientContext) { @@ -52341,6 +52631,7 @@ var ts; // Debug.assert(isStatement(node.parent)); } } + return false; } function checkGrammarNumericLiteral(node) { // Grammar checking @@ -52349,10 +52640,10 @@ var ts; if (languageVersion >= 1 /* ES5 */) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 177 /* LiteralType */)) { + else if (ts.isChildOfNodeWithKind(node, 178 /* LiteralType */)) { diagnosticMessage = ts.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 272 /* EnumMember */)) { + else if (ts.isChildOfNodeWithKind(node, 273 /* EnumMember */)) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0; } if (diagnosticMessage) { @@ -52361,6 +52652,7 @@ var ts; return grammarErrorOnNode(withMinus ? node.parent : node, diagnosticMessage, literal); } } + return false; } function grammarErrorAfterFirstToken(node, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(node); @@ -52369,6 +52661,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, ts.textSpanEnd(span), /*length*/ 0, message, arg0, arg1, arg2)); return true; } + return false; } function getAmbientModules() { if (!ambientModulesCache) { @@ -52398,14 +52691,15 @@ var ts; if (ts.isSpreadElement(nodeArguments[0])) { return grammarErrorOnNode(nodeArguments[0], ts.Diagnostics.Specifier_of_dynamic_import_cannot_be_spread_element); } + return false; } } ts.createTypeChecker = createTypeChecker; /** Like 'isDeclarationName', but returns true for LHS of `import { x as y }` or `export { x as y }`. */ function isDeclarationNameOrImportPropertyName(name) { switch (name.parent.kind) { - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: return ts.isIdentifier(name); default: return ts.isDeclarationName(name); @@ -52413,14 +52707,14 @@ var ts; } function isSomeImportDeclaration(decl) { switch (decl.kind) { - case 244 /* ImportClause */: // For default import - case 242 /* ImportEqualsDeclaration */: - case 245 /* NamespaceImport */: - case 247 /* ImportSpecifier */: // For rename import `x as y` + case 245 /* ImportClause */: // For default import + case 243 /* ImportEqualsDeclaration */: + case 246 /* NamespaceImport */: + case 248 /* ImportSpecifier */: // For rename import `x as y` return true; case 71 /* Identifier */: // For regular import, `decl` is an Identifier under the ImportSpecifier. - return decl.parent.kind === 247 /* ImportSpecifier */; + return decl.parent.kind === 248 /* ImportSpecifier */; default: return false; } @@ -52482,7 +52776,7 @@ var ts; // the original node. We also need to exclude specific properties and only include own- // properties (to skip members already defined on the shared prototype). if (node === undefined) { - return undefined; + return node; } var clone = createSynthesizedNode(node.kind); clone.flags |= node.flags; @@ -52587,7 +52881,6 @@ var ts; return name; } ts.createUniqueName = createUniqueName; - /** Create a unique name based on the supplied text. */ function createOptimisticUniqueName(text) { var name = createIdentifier(text); name.autoGenerateFlags = 3 /* Unique */ | 16 /* Optimistic */; @@ -52683,7 +52976,7 @@ var ts; ts.createModifiersFromModifierFlags = createModifiersFromModifierFlags; // Names function createQualifiedName(left, right) { - var node = createSynthesizedNode(145 /* QualifiedName */); + var node = createSynthesizedNode(146 /* QualifiedName */); node.left = left; node.right = asName(right); return node; @@ -52698,12 +52991,12 @@ var ts; ts.updateQualifiedName = updateQualifiedName; function parenthesizeForComputedName(expression) { return (ts.isBinaryExpression(expression) && expression.operatorToken.kind === 26 /* CommaToken */) || - expression.kind === 301 /* CommaListExpression */ ? + expression.kind === 302 /* CommaListExpression */ ? createParen(expression) : expression; } function createComputedPropertyName(expression) { - var node = createSynthesizedNode(146 /* ComputedPropertyName */); + var node = createSynthesizedNode(147 /* ComputedPropertyName */); node.expression = parenthesizeForComputedName(expression); return node; } @@ -52716,7 +53009,7 @@ var ts; ts.updateComputedPropertyName = updateComputedPropertyName; // Signature elements function createTypeParameterDeclaration(name, constraint, defaultType) { - var node = createSynthesizedNode(147 /* TypeParameter */); + var node = createSynthesizedNode(148 /* TypeParameter */); node.name = asName(name); node.constraint = constraint; node.default = defaultType; @@ -52732,7 +53025,7 @@ var ts; } ts.updateTypeParameterDeclaration = updateTypeParameterDeclaration; function createParameter(decorators, modifiers, dotDotDotToken, name, questionToken, type, initializer) { - var node = createSynthesizedNode(148 /* Parameter */); + var node = createSynthesizedNode(149 /* Parameter */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.dotDotDotToken = dotDotDotToken; @@ -52756,7 +53049,7 @@ var ts; } ts.updateParameter = updateParameter; function createDecorator(expression) { - var node = createSynthesizedNode(149 /* Decorator */); + var node = createSynthesizedNode(150 /* Decorator */); node.expression = ts.parenthesizeForAccess(expression); return node; } @@ -52769,7 +53062,7 @@ var ts; ts.updateDecorator = updateDecorator; // Type Elements function createPropertySignature(modifiers, name, questionToken, type, initializer) { - var node = createSynthesizedNode(150 /* PropertySignature */); + var node = createSynthesizedNode(151 /* PropertySignature */); node.modifiers = asNodeArray(modifiers); node.name = asName(name); node.questionToken = questionToken; @@ -52789,7 +53082,7 @@ var ts; } ts.updatePropertySignature = updatePropertySignature; function createProperty(decorators, modifiers, name, questionOrExclamationToken, type, initializer) { - var node = createSynthesizedNode(151 /* PropertyDeclaration */); + var node = createSynthesizedNode(152 /* PropertyDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -52813,7 +53106,7 @@ var ts; } ts.updateProperty = updateProperty; function createMethodSignature(typeParameters, parameters, type, name, questionToken) { - var node = createSignatureDeclaration(152 /* MethodSignature */, typeParameters, parameters, type); + var node = createSignatureDeclaration(153 /* MethodSignature */, typeParameters, parameters, type); node.name = asName(name); node.questionToken = questionToken; return node; @@ -52830,7 +53123,7 @@ var ts; } ts.updateMethodSignature = updateMethodSignature; function createMethod(decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(153 /* MethodDeclaration */); + var node = createSynthesizedNode(154 /* MethodDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; @@ -52858,7 +53151,7 @@ var ts; } ts.updateMethod = updateMethod; function createConstructor(decorators, modifiers, parameters, body) { - var node = createSynthesizedNode(154 /* Constructor */); + var node = createSynthesizedNode(155 /* Constructor */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.typeParameters = undefined; @@ -52878,7 +53171,7 @@ var ts; } ts.updateConstructor = updateConstructor; function createGetAccessor(decorators, modifiers, name, parameters, type, body) { - var node = createSynthesizedNode(155 /* GetAccessor */); + var node = createSynthesizedNode(156 /* GetAccessor */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -52901,7 +53194,7 @@ var ts; } ts.updateGetAccessor = updateGetAccessor; function createSetAccessor(decorators, modifiers, name, parameters, body) { - var node = createSynthesizedNode(156 /* SetAccessor */); + var node = createSynthesizedNode(157 /* SetAccessor */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -52922,7 +53215,7 @@ var ts; } ts.updateSetAccessor = updateSetAccessor; function createCallSignature(typeParameters, parameters, type) { - return createSignatureDeclaration(157 /* CallSignature */, typeParameters, parameters, type); + return createSignatureDeclaration(158 /* CallSignature */, typeParameters, parameters, type); } ts.createCallSignature = createCallSignature; function updateCallSignature(node, typeParameters, parameters, type) { @@ -52930,7 +53223,7 @@ var ts; } ts.updateCallSignature = updateCallSignature; function createConstructSignature(typeParameters, parameters, type) { - return createSignatureDeclaration(158 /* ConstructSignature */, typeParameters, parameters, type); + return createSignatureDeclaration(159 /* ConstructSignature */, typeParameters, parameters, type); } ts.createConstructSignature = createConstructSignature; function updateConstructSignature(node, typeParameters, parameters, type) { @@ -52938,7 +53231,7 @@ var ts; } ts.updateConstructSignature = updateConstructSignature; function createIndexSignature(decorators, modifiers, parameters, type) { - var node = createSynthesizedNode(159 /* IndexSignature */); + var node = createSynthesizedNode(160 /* IndexSignature */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.parameters = createNodeArray(parameters); @@ -52978,7 +53271,7 @@ var ts; } ts.createKeywordTypeNode = createKeywordTypeNode; function createTypePredicateNode(parameterName, type) { - var node = createSynthesizedNode(160 /* TypePredicate */); + var node = createSynthesizedNode(161 /* TypePredicate */); node.parameterName = asName(parameterName); node.type = type; return node; @@ -52992,7 +53285,7 @@ var ts; } ts.updateTypePredicateNode = updateTypePredicateNode; function createTypeReferenceNode(typeName, typeArguments) { - var node = createSynthesizedNode(161 /* TypeReference */); + var node = createSynthesizedNode(162 /* TypeReference */); node.typeName = asName(typeName); node.typeArguments = typeArguments && ts.parenthesizeTypeParameters(typeArguments); return node; @@ -53006,7 +53299,7 @@ var ts; } ts.updateTypeReferenceNode = updateTypeReferenceNode; function createFunctionTypeNode(typeParameters, parameters, type) { - return createSignatureDeclaration(162 /* FunctionType */, typeParameters, parameters, type); + return createSignatureDeclaration(163 /* FunctionType */, typeParameters, parameters, type); } ts.createFunctionTypeNode = createFunctionTypeNode; function updateFunctionTypeNode(node, typeParameters, parameters, type) { @@ -53014,7 +53307,7 @@ var ts; } ts.updateFunctionTypeNode = updateFunctionTypeNode; function createConstructorTypeNode(typeParameters, parameters, type) { - return createSignatureDeclaration(163 /* ConstructorType */, typeParameters, parameters, type); + return createSignatureDeclaration(164 /* ConstructorType */, typeParameters, parameters, type); } ts.createConstructorTypeNode = createConstructorTypeNode; function updateConstructorTypeNode(node, typeParameters, parameters, type) { @@ -53022,7 +53315,7 @@ var ts; } ts.updateConstructorTypeNode = updateConstructorTypeNode; function createTypeQueryNode(exprName) { - var node = createSynthesizedNode(164 /* TypeQuery */); + var node = createSynthesizedNode(165 /* TypeQuery */); node.exprName = exprName; return node; } @@ -53034,7 +53327,7 @@ var ts; } ts.updateTypeQueryNode = updateTypeQueryNode; function createTypeLiteralNode(members) { - var node = createSynthesizedNode(165 /* TypeLiteral */); + var node = createSynthesizedNode(166 /* TypeLiteral */); node.members = createNodeArray(members); return node; } @@ -53046,7 +53339,7 @@ var ts; } ts.updateTypeLiteralNode = updateTypeLiteralNode; function createArrayTypeNode(elementType) { - var node = createSynthesizedNode(166 /* ArrayType */); + var node = createSynthesizedNode(167 /* ArrayType */); node.elementType = ts.parenthesizeArrayTypeMember(elementType); return node; } @@ -53058,7 +53351,7 @@ var ts; } ts.updateArrayTypeNode = updateArrayTypeNode; function createTupleTypeNode(elementTypes) { - var node = createSynthesizedNode(167 /* TupleType */); + var node = createSynthesizedNode(168 /* TupleType */); node.elementTypes = createNodeArray(elementTypes); return node; } @@ -53070,7 +53363,7 @@ var ts; } ts.updateTypleTypeNode = updateTypleTypeNode; function createUnionTypeNode(types) { - return createUnionOrIntersectionTypeNode(168 /* UnionType */, types); + return createUnionOrIntersectionTypeNode(169 /* UnionType */, types); } ts.createUnionTypeNode = createUnionTypeNode; function updateUnionTypeNode(node, types) { @@ -53078,7 +53371,7 @@ var ts; } ts.updateUnionTypeNode = updateUnionTypeNode; function createIntersectionTypeNode(types) { - return createUnionOrIntersectionTypeNode(169 /* IntersectionType */, types); + return createUnionOrIntersectionTypeNode(170 /* IntersectionType */, types); } ts.createIntersectionTypeNode = createIntersectionTypeNode; function updateIntersectionTypeNode(node, types) { @@ -53097,7 +53390,7 @@ var ts; : node; } function createConditionalTypeNode(checkType, extendsType, trueType, falseType) { - var node = createSynthesizedNode(170 /* ConditionalType */); + var node = createSynthesizedNode(171 /* ConditionalType */); node.checkType = ts.parenthesizeConditionalTypeMember(checkType); node.extendsType = ts.parenthesizeConditionalTypeMember(extendsType); node.trueType = trueType; @@ -53115,7 +53408,7 @@ var ts; } ts.updateConditionalTypeNode = updateConditionalTypeNode; function createInferTypeNode(typeParameter) { - var node = createSynthesizedNode(171 /* InferType */); + var node = createSynthesizedNode(172 /* InferType */); node.typeParameter = typeParameter; return node; } @@ -53127,7 +53420,7 @@ var ts; } ts.updateInferTypeNode = updateInferTypeNode; function createImportTypeNode(argument, qualifier, typeArguments, isTypeOf) { - var node = createSynthesizedNode(178 /* ImportType */); + var node = createSynthesizedNode(179 /* ImportType */); node.argument = argument; node.qualifier = qualifier; node.typeArguments = asNodeArray(typeArguments); @@ -53145,7 +53438,7 @@ var ts; } ts.updateImportTypeNode = updateImportTypeNode; function createParenthesizedType(type) { - var node = createSynthesizedNode(172 /* ParenthesizedType */); + var node = createSynthesizedNode(173 /* ParenthesizedType */); node.type = type; return node; } @@ -53157,11 +53450,11 @@ var ts; } ts.updateParenthesizedType = updateParenthesizedType; function createThisTypeNode() { - return createSynthesizedNode(173 /* ThisType */); + return createSynthesizedNode(174 /* ThisType */); } ts.createThisTypeNode = createThisTypeNode; function createTypeOperatorNode(operatorOrType, type) { - var node = createSynthesizedNode(174 /* TypeOperator */); + var node = createSynthesizedNode(175 /* TypeOperator */); node.operator = typeof operatorOrType === "number" ? operatorOrType : 128 /* KeyOfKeyword */; node.type = ts.parenthesizeElementTypeMember(typeof operatorOrType === "number" ? type : operatorOrType); return node; @@ -53172,7 +53465,7 @@ var ts; } ts.updateTypeOperatorNode = updateTypeOperatorNode; function createIndexedAccessTypeNode(objectType, indexType) { - var node = createSynthesizedNode(175 /* IndexedAccessType */); + var node = createSynthesizedNode(176 /* IndexedAccessType */); node.objectType = ts.parenthesizeElementTypeMember(objectType); node.indexType = indexType; return node; @@ -53186,7 +53479,7 @@ var ts; } ts.updateIndexedAccessTypeNode = updateIndexedAccessTypeNode; function createMappedTypeNode(readonlyToken, typeParameter, questionToken, type) { - var node = createSynthesizedNode(176 /* MappedType */); + var node = createSynthesizedNode(177 /* MappedType */); node.readonlyToken = readonlyToken; node.typeParameter = typeParameter; node.questionToken = questionToken; @@ -53204,7 +53497,7 @@ var ts; } ts.updateMappedTypeNode = updateMappedTypeNode; function createLiteralTypeNode(literal) { - var node = createSynthesizedNode(177 /* LiteralType */); + var node = createSynthesizedNode(178 /* LiteralType */); node.literal = literal; return node; } @@ -53217,7 +53510,7 @@ var ts; ts.updateLiteralTypeNode = updateLiteralTypeNode; // Binding Patterns function createObjectBindingPattern(elements) { - var node = createSynthesizedNode(179 /* ObjectBindingPattern */); + var node = createSynthesizedNode(180 /* ObjectBindingPattern */); node.elements = createNodeArray(elements); return node; } @@ -53229,7 +53522,7 @@ var ts; } ts.updateObjectBindingPattern = updateObjectBindingPattern; function createArrayBindingPattern(elements) { - var node = createSynthesizedNode(180 /* ArrayBindingPattern */); + var node = createSynthesizedNode(181 /* ArrayBindingPattern */); node.elements = createNodeArray(elements); return node; } @@ -53241,7 +53534,7 @@ var ts; } ts.updateArrayBindingPattern = updateArrayBindingPattern; function createBindingElement(dotDotDotToken, propertyName, name, initializer) { - var node = createSynthesizedNode(181 /* BindingElement */); + var node = createSynthesizedNode(182 /* BindingElement */); node.dotDotDotToken = dotDotDotToken; node.propertyName = asName(propertyName); node.name = asName(name); @@ -53260,7 +53553,7 @@ var ts; ts.updateBindingElement = updateBindingElement; // Expression function createArrayLiteral(elements, multiLine) { - var node = createSynthesizedNode(182 /* ArrayLiteralExpression */); + var node = createSynthesizedNode(183 /* ArrayLiteralExpression */); node.elements = ts.parenthesizeListElements(createNodeArray(elements)); if (multiLine) node.multiLine = true; @@ -53274,7 +53567,7 @@ var ts; } ts.updateArrayLiteral = updateArrayLiteral; function createObjectLiteral(properties, multiLine) { - var node = createSynthesizedNode(183 /* ObjectLiteralExpression */); + var node = createSynthesizedNode(184 /* ObjectLiteralExpression */); node.properties = createNodeArray(properties); if (multiLine) node.multiLine = true; @@ -53288,9 +53581,9 @@ var ts; } ts.updateObjectLiteral = updateObjectLiteral; function createPropertyAccess(expression, name) { - var node = createSynthesizedNode(184 /* PropertyAccessExpression */); + var node = createSynthesizedNode(185 /* PropertyAccessExpression */); node.expression = ts.parenthesizeForAccess(expression); - node.name = asName(name); + node.name = asName(name); // TODO: GH#18217 setEmitFlags(node, 131072 /* NoIndentation */); return node; } @@ -53305,7 +53598,7 @@ var ts; } ts.updatePropertyAccess = updatePropertyAccess; function createElementAccess(expression, index) { - var node = createSynthesizedNode(185 /* ElementAccessExpression */); + var node = createSynthesizedNode(186 /* ElementAccessExpression */); node.expression = ts.parenthesizeForAccess(expression); node.argumentExpression = asExpression(index); return node; @@ -53319,7 +53612,7 @@ var ts; } ts.updateElementAccess = updateElementAccess; function createCall(expression, typeArguments, argumentsArray) { - var node = createSynthesizedNode(186 /* CallExpression */); + var node = createSynthesizedNode(187 /* CallExpression */); node.expression = ts.parenthesizeForAccess(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = ts.parenthesizeListElements(createNodeArray(argumentsArray)); @@ -53335,7 +53628,7 @@ var ts; } ts.updateCall = updateCall; function createNew(expression, typeArguments, argumentsArray) { - var node = createSynthesizedNode(187 /* NewExpression */); + var node = createSynthesizedNode(188 /* NewExpression */); node.expression = ts.parenthesizeForNew(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = argumentsArray ? ts.parenthesizeListElements(createNodeArray(argumentsArray)) : undefined; @@ -53351,7 +53644,7 @@ var ts; } ts.updateNew = updateNew; function createTaggedTemplate(tag, typeArgumentsOrTemplate, template) { - var node = createSynthesizedNode(188 /* TaggedTemplateExpression */); + var node = createSynthesizedNode(189 /* TaggedTemplateExpression */); node.tag = ts.parenthesizeForAccess(tag); if (template) { node.typeArguments = asNodeArray(typeArgumentsOrTemplate); @@ -53374,7 +53667,7 @@ var ts; } ts.updateTaggedTemplate = updateTaggedTemplate; function createTypeAssertion(type, expression) { - var node = createSynthesizedNode(189 /* TypeAssertionExpression */); + var node = createSynthesizedNode(190 /* TypeAssertionExpression */); node.type = type; node.expression = ts.parenthesizePrefixOperand(expression); return node; @@ -53388,7 +53681,7 @@ var ts; } ts.updateTypeAssertion = updateTypeAssertion; function createParen(expression) { - var node = createSynthesizedNode(190 /* ParenthesizedExpression */); + var node = createSynthesizedNode(191 /* ParenthesizedExpression */); node.expression = expression; return node; } @@ -53400,7 +53693,7 @@ var ts; } ts.updateParen = updateParen; function createFunctionExpression(modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(191 /* FunctionExpression */); + var node = createSynthesizedNode(192 /* FunctionExpression */); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; node.name = asName(name); @@ -53424,7 +53717,7 @@ var ts; } ts.updateFunctionExpression = updateFunctionExpression; function createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body) { - var node = createSynthesizedNode(192 /* ArrowFunction */); + var node = createSynthesizedNode(193 /* ArrowFunction */); node.modifiers = asNodeArray(modifiers); node.typeParameters = asNodeArray(typeParameters); node.parameters = createNodeArray(parameters); @@ -53458,7 +53751,7 @@ var ts; } ts.updateArrowFunction = updateArrowFunction; function createDelete(expression) { - var node = createSynthesizedNode(193 /* DeleteExpression */); + var node = createSynthesizedNode(194 /* DeleteExpression */); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -53470,7 +53763,7 @@ var ts; } ts.updateDelete = updateDelete; function createTypeOf(expression) { - var node = createSynthesizedNode(194 /* TypeOfExpression */); + var node = createSynthesizedNode(195 /* TypeOfExpression */); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -53482,7 +53775,7 @@ var ts; } ts.updateTypeOf = updateTypeOf; function createVoid(expression) { - var node = createSynthesizedNode(195 /* VoidExpression */); + var node = createSynthesizedNode(196 /* VoidExpression */); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -53494,7 +53787,7 @@ var ts; } ts.updateVoid = updateVoid; function createAwait(expression) { - var node = createSynthesizedNode(196 /* AwaitExpression */); + var node = createSynthesizedNode(197 /* AwaitExpression */); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -53506,7 +53799,7 @@ var ts; } ts.updateAwait = updateAwait; function createPrefix(operator, operand) { - var node = createSynthesizedNode(197 /* PrefixUnaryExpression */); + var node = createSynthesizedNode(198 /* PrefixUnaryExpression */); node.operator = operator; node.operand = ts.parenthesizePrefixOperand(operand); return node; @@ -53519,7 +53812,7 @@ var ts; } ts.updatePrefix = updatePrefix; function createPostfix(operand, operator) { - var node = createSynthesizedNode(198 /* PostfixUnaryExpression */); + var node = createSynthesizedNode(199 /* PostfixUnaryExpression */); node.operand = ts.parenthesizePostfixOperand(operand); node.operator = operator; return node; @@ -53532,7 +53825,7 @@ var ts; } ts.updatePostfix = updatePostfix; function createBinary(left, operator, right) { - var node = createSynthesizedNode(199 /* BinaryExpression */); + var node = createSynthesizedNode(200 /* BinaryExpression */); var operatorToken = asToken(operator); var operatorKind = operatorToken.kind; node.left = ts.parenthesizeBinaryOperand(operatorKind, left, /*isLeftSideOfBinary*/ true, /*leftOperand*/ undefined); @@ -53549,7 +53842,7 @@ var ts; } ts.updateBinary = updateBinary; function createConditional(condition, questionTokenOrWhenTrue, whenTrueOrWhenFalse, colonToken, whenFalse) { - var node = createSynthesizedNode(200 /* ConditionalExpression */); + var node = createSynthesizedNode(201 /* ConditionalExpression */); node.condition = ts.parenthesizeForConditionalHead(condition); node.questionToken = whenFalse ? questionTokenOrWhenTrue : createToken(55 /* QuestionToken */); node.whenTrue = ts.parenthesizeSubexpressionOfConditionalExpression(whenFalse ? whenTrueOrWhenFalse : questionTokenOrWhenTrue); @@ -53579,7 +53872,7 @@ var ts; } ts.updateConditional = updateConditional; function createTemplateExpression(head, templateSpans) { - var node = createSynthesizedNode(201 /* TemplateExpression */); + var node = createSynthesizedNode(202 /* TemplateExpression */); node.head = head; node.templateSpans = createNodeArray(templateSpans); return node; @@ -53617,7 +53910,7 @@ var ts; } ts.createNoSubstitutionTemplateLiteral = createNoSubstitutionTemplateLiteral; function createYield(asteriskTokenOrExpression, expression) { - var node = createSynthesizedNode(202 /* YieldExpression */); + var node = createSynthesizedNode(203 /* YieldExpression */); node.asteriskToken = asteriskTokenOrExpression && asteriskTokenOrExpression.kind === 39 /* AsteriskToken */ ? asteriskTokenOrExpression : undefined; node.expression = asteriskTokenOrExpression && asteriskTokenOrExpression.kind !== 39 /* AsteriskToken */ ? asteriskTokenOrExpression : expression; return node; @@ -53631,7 +53924,7 @@ var ts; } ts.updateYield = updateYield; function createSpread(expression) { - var node = createSynthesizedNode(203 /* SpreadElement */); + var node = createSynthesizedNode(204 /* SpreadElement */); node.expression = ts.parenthesizeExpressionForList(expression); return node; } @@ -53643,7 +53936,7 @@ var ts; } ts.updateSpread = updateSpread; function createClassExpression(modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(204 /* ClassExpression */); + var node = createSynthesizedNode(205 /* ClassExpression */); node.decorators = undefined; node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -53664,11 +53957,11 @@ var ts; } ts.updateClassExpression = updateClassExpression; function createOmittedExpression() { - return createSynthesizedNode(205 /* OmittedExpression */); + return createSynthesizedNode(206 /* OmittedExpression */); } ts.createOmittedExpression = createOmittedExpression; function createExpressionWithTypeArguments(typeArguments, expression) { - var node = createSynthesizedNode(206 /* ExpressionWithTypeArguments */); + var node = createSynthesizedNode(207 /* ExpressionWithTypeArguments */); node.expression = ts.parenthesizeForAccess(expression); node.typeArguments = asNodeArray(typeArguments); return node; @@ -53682,7 +53975,7 @@ var ts; } ts.updateExpressionWithTypeArguments = updateExpressionWithTypeArguments; function createAsExpression(expression, type) { - var node = createSynthesizedNode(207 /* AsExpression */); + var node = createSynthesizedNode(208 /* AsExpression */); node.expression = expression; node.type = type; return node; @@ -53696,7 +53989,7 @@ var ts; } ts.updateAsExpression = updateAsExpression; function createNonNullExpression(expression) { - var node = createSynthesizedNode(208 /* NonNullExpression */); + var node = createSynthesizedNode(209 /* NonNullExpression */); node.expression = ts.parenthesizeForAccess(expression); return node; } @@ -53708,7 +54001,7 @@ var ts; } ts.updateNonNullExpression = updateNonNullExpression; function createMetaProperty(keywordToken, name) { - var node = createSynthesizedNode(209 /* MetaProperty */); + var node = createSynthesizedNode(210 /* MetaProperty */); node.keywordToken = keywordToken; node.name = name; return node; @@ -53722,7 +54015,7 @@ var ts; ts.updateMetaProperty = updateMetaProperty; // Misc function createTemplateSpan(expression, literal) { - var node = createSynthesizedNode(210 /* TemplateSpan */); + var node = createSynthesizedNode(211 /* TemplateSpan */); node.expression = expression; node.literal = literal; return node; @@ -53736,12 +54029,12 @@ var ts; } ts.updateTemplateSpan = updateTemplateSpan; function createSemicolonClassElement() { - return createSynthesizedNode(211 /* SemicolonClassElement */); + return createSynthesizedNode(212 /* SemicolonClassElement */); } ts.createSemicolonClassElement = createSemicolonClassElement; // Element function createBlock(statements, multiLine) { - var block = createSynthesizedNode(212 /* Block */); + var block = createSynthesizedNode(213 /* Block */); block.statements = createNodeArray(statements); if (multiLine) block.multiLine = multiLine; @@ -53750,7 +54043,7 @@ var ts; ts.createBlock = createBlock; /* @internal */ function createExpressionStatement(expression) { - var node = createSynthesizedNode(215 /* ExpressionStatement */); + var node = createSynthesizedNode(216 /* ExpressionStatement */); node.expression = expression; return node; } @@ -53762,7 +54055,7 @@ var ts; } ts.updateBlock = updateBlock; function createVariableStatement(modifiers, declarationList) { - var node = createSynthesizedNode(213 /* VariableStatement */); + var node = createSynthesizedNode(214 /* VariableStatement */); node.decorators = undefined; node.modifiers = asNodeArray(modifiers); node.declarationList = ts.isArray(declarationList) ? createVariableDeclarationList(declarationList) : declarationList; @@ -53777,7 +54070,7 @@ var ts; } ts.updateVariableStatement = updateVariableStatement; function createEmptyStatement() { - return createSynthesizedNode(214 /* EmptyStatement */); + return createSynthesizedNode(215 /* EmptyStatement */); } ts.createEmptyStatement = createEmptyStatement; function createStatement(expression) { @@ -53791,7 +54084,7 @@ var ts; } ts.updateStatement = updateStatement; function createIf(expression, thenStatement, elseStatement) { - var node = createSynthesizedNode(216 /* IfStatement */); + var node = createSynthesizedNode(217 /* IfStatement */); node.expression = expression; node.thenStatement = thenStatement; node.elseStatement = elseStatement; @@ -53807,7 +54100,7 @@ var ts; } ts.updateIf = updateIf; function createDo(statement, expression) { - var node = createSynthesizedNode(217 /* DoStatement */); + var node = createSynthesizedNode(218 /* DoStatement */); node.statement = statement; node.expression = expression; return node; @@ -53821,7 +54114,7 @@ var ts; } ts.updateDo = updateDo; function createWhile(expression, statement) { - var node = createSynthesizedNode(218 /* WhileStatement */); + var node = createSynthesizedNode(219 /* WhileStatement */); node.expression = expression; node.statement = statement; return node; @@ -53835,7 +54128,7 @@ var ts; } ts.updateWhile = updateWhile; function createFor(initializer, condition, incrementor, statement) { - var node = createSynthesizedNode(219 /* ForStatement */); + var node = createSynthesizedNode(220 /* ForStatement */); node.initializer = initializer; node.condition = condition; node.incrementor = incrementor; @@ -53853,7 +54146,7 @@ var ts; } ts.updateFor = updateFor; function createForIn(initializer, expression, statement) { - var node = createSynthesizedNode(220 /* ForInStatement */); + var node = createSynthesizedNode(221 /* ForInStatement */); node.initializer = initializer; node.expression = expression; node.statement = statement; @@ -53869,7 +54162,7 @@ var ts; } ts.updateForIn = updateForIn; function createForOf(awaitModifier, initializer, expression, statement) { - var node = createSynthesizedNode(221 /* ForOfStatement */); + var node = createSynthesizedNode(222 /* ForOfStatement */); node.awaitModifier = awaitModifier; node.initializer = initializer; node.expression = expression; @@ -53887,7 +54180,7 @@ var ts; } ts.updateForOf = updateForOf; function createContinue(label) { - var node = createSynthesizedNode(222 /* ContinueStatement */); + var node = createSynthesizedNode(223 /* ContinueStatement */); node.label = asName(label); return node; } @@ -53899,7 +54192,7 @@ var ts; } ts.updateContinue = updateContinue; function createBreak(label) { - var node = createSynthesizedNode(223 /* BreakStatement */); + var node = createSynthesizedNode(224 /* BreakStatement */); node.label = asName(label); return node; } @@ -53911,7 +54204,7 @@ var ts; } ts.updateBreak = updateBreak; function createReturn(expression) { - var node = createSynthesizedNode(224 /* ReturnStatement */); + var node = createSynthesizedNode(225 /* ReturnStatement */); node.expression = expression; return node; } @@ -53923,7 +54216,7 @@ var ts; } ts.updateReturn = updateReturn; function createWith(expression, statement) { - var node = createSynthesizedNode(225 /* WithStatement */); + var node = createSynthesizedNode(226 /* WithStatement */); node.expression = expression; node.statement = statement; return node; @@ -53937,7 +54230,7 @@ var ts; } ts.updateWith = updateWith; function createSwitch(expression, caseBlock) { - var node = createSynthesizedNode(226 /* SwitchStatement */); + var node = createSynthesizedNode(227 /* SwitchStatement */); node.expression = ts.parenthesizeExpressionForList(expression); node.caseBlock = caseBlock; return node; @@ -53951,7 +54244,7 @@ var ts; } ts.updateSwitch = updateSwitch; function createLabel(label, statement) { - var node = createSynthesizedNode(227 /* LabeledStatement */); + var node = createSynthesizedNode(228 /* LabeledStatement */); node.label = asName(label); node.statement = statement; return node; @@ -53965,7 +54258,7 @@ var ts; } ts.updateLabel = updateLabel; function createThrow(expression) { - var node = createSynthesizedNode(228 /* ThrowStatement */); + var node = createSynthesizedNode(229 /* ThrowStatement */); node.expression = expression; return node; } @@ -53977,7 +54270,7 @@ var ts; } ts.updateThrow = updateThrow; function createTry(tryBlock, catchClause, finallyBlock) { - var node = createSynthesizedNode(229 /* TryStatement */); + var node = createSynthesizedNode(230 /* TryStatement */); node.tryBlock = tryBlock; node.catchClause = catchClause; node.finallyBlock = finallyBlock; @@ -53993,11 +54286,11 @@ var ts; } ts.updateTry = updateTry; function createDebuggerStatement() { - return createSynthesizedNode(230 /* DebuggerStatement */); + return createSynthesizedNode(231 /* DebuggerStatement */); } ts.createDebuggerStatement = createDebuggerStatement; function createVariableDeclaration(name, type, initializer) { - var node = createSynthesizedNode(231 /* VariableDeclaration */); + var node = createSynthesizedNode(232 /* VariableDeclaration */); node.name = asName(name); node.type = type; node.initializer = initializer !== undefined ? ts.parenthesizeExpressionForList(initializer) : undefined; @@ -54013,7 +54306,8 @@ var ts; } ts.updateVariableDeclaration = updateVariableDeclaration; function createVariableDeclarationList(declarations, flags) { - var node = createSynthesizedNode(232 /* VariableDeclarationList */); + if (flags === void 0) { flags = 0 /* None */; } + var node = createSynthesizedNode(233 /* VariableDeclarationList */); node.flags |= flags & 3 /* BlockScoped */; node.declarations = createNodeArray(declarations); return node; @@ -54026,7 +54320,7 @@ var ts; } ts.updateVariableDeclarationList = updateVariableDeclarationList; function createFunctionDeclaration(decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(233 /* FunctionDeclaration */); + var node = createSynthesizedNode(234 /* FunctionDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; @@ -54052,7 +54346,7 @@ var ts; } ts.updateFunctionDeclaration = updateFunctionDeclaration; function createClassDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(234 /* ClassDeclaration */); + var node = createSynthesizedNode(235 /* ClassDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54074,7 +54368,7 @@ var ts; } ts.updateClassDeclaration = updateClassDeclaration; function createInterfaceDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(235 /* InterfaceDeclaration */); + var node = createSynthesizedNode(236 /* InterfaceDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54096,7 +54390,7 @@ var ts; } ts.updateInterfaceDeclaration = updateInterfaceDeclaration; function createTypeAliasDeclaration(decorators, modifiers, name, typeParameters, type) { - var node = createSynthesizedNode(236 /* TypeAliasDeclaration */); + var node = createSynthesizedNode(237 /* TypeAliasDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54116,7 +54410,7 @@ var ts; } ts.updateTypeAliasDeclaration = updateTypeAliasDeclaration; function createEnumDeclaration(decorators, modifiers, name, members) { - var node = createSynthesizedNode(237 /* EnumDeclaration */); + var node = createSynthesizedNode(238 /* EnumDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54134,7 +54428,8 @@ var ts; } ts.updateEnumDeclaration = updateEnumDeclaration; function createModuleDeclaration(decorators, modifiers, name, body, flags) { - var node = createSynthesizedNode(238 /* ModuleDeclaration */); + if (flags === void 0) { flags = 0 /* None */; } + var node = createSynthesizedNode(239 /* ModuleDeclaration */); node.flags |= flags & (16 /* Namespace */ | 4 /* NestedNamespace */ | 512 /* GlobalAugmentation */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); @@ -54153,7 +54448,7 @@ var ts; } ts.updateModuleDeclaration = updateModuleDeclaration; function createModuleBlock(statements) { - var node = createSynthesizedNode(239 /* ModuleBlock */); + var node = createSynthesizedNode(240 /* ModuleBlock */); node.statements = createNodeArray(statements); return node; } @@ -54165,7 +54460,7 @@ var ts; } ts.updateModuleBlock = updateModuleBlock; function createCaseBlock(clauses) { - var node = createSynthesizedNode(240 /* CaseBlock */); + var node = createSynthesizedNode(241 /* CaseBlock */); node.clauses = createNodeArray(clauses); return node; } @@ -54177,7 +54472,7 @@ var ts; } ts.updateCaseBlock = updateCaseBlock; function createNamespaceExportDeclaration(name) { - var node = createSynthesizedNode(241 /* NamespaceExportDeclaration */); + var node = createSynthesizedNode(242 /* NamespaceExportDeclaration */); node.name = asName(name); return node; } @@ -54189,7 +54484,7 @@ var ts; } ts.updateNamespaceExportDeclaration = updateNamespaceExportDeclaration; function createImportEqualsDeclaration(decorators, modifiers, name, moduleReference) { - var node = createSynthesizedNode(242 /* ImportEqualsDeclaration */); + var node = createSynthesizedNode(243 /* ImportEqualsDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54207,7 +54502,7 @@ var ts; } ts.updateImportEqualsDeclaration = updateImportEqualsDeclaration; function createImportDeclaration(decorators, modifiers, importClause, moduleSpecifier) { - var node = createSynthesizedNode(243 /* ImportDeclaration */); + var node = createSynthesizedNode(244 /* ImportDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.importClause = importClause; @@ -54225,7 +54520,7 @@ var ts; } ts.updateImportDeclaration = updateImportDeclaration; function createImportClause(name, namedBindings) { - var node = createSynthesizedNode(244 /* ImportClause */); + var node = createSynthesizedNode(245 /* ImportClause */); node.name = name; node.namedBindings = namedBindings; return node; @@ -54239,7 +54534,7 @@ var ts; } ts.updateImportClause = updateImportClause; function createNamespaceImport(name) { - var node = createSynthesizedNode(245 /* NamespaceImport */); + var node = createSynthesizedNode(246 /* NamespaceImport */); node.name = name; return node; } @@ -54251,7 +54546,7 @@ var ts; } ts.updateNamespaceImport = updateNamespaceImport; function createNamedImports(elements) { - var node = createSynthesizedNode(246 /* NamedImports */); + var node = createSynthesizedNode(247 /* NamedImports */); node.elements = createNodeArray(elements); return node; } @@ -54263,7 +54558,7 @@ var ts; } ts.updateNamedImports = updateNamedImports; function createImportSpecifier(propertyName, name) { - var node = createSynthesizedNode(247 /* ImportSpecifier */); + var node = createSynthesizedNode(248 /* ImportSpecifier */); node.propertyName = propertyName; node.name = name; return node; @@ -54277,7 +54572,7 @@ var ts; } ts.updateImportSpecifier = updateImportSpecifier; function createExportAssignment(decorators, modifiers, isExportEquals, expression) { - var node = createSynthesizedNode(248 /* ExportAssignment */); + var node = createSynthesizedNode(249 /* ExportAssignment */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.isExportEquals = isExportEquals; @@ -54294,7 +54589,7 @@ var ts; } ts.updateExportAssignment = updateExportAssignment; function createExportDeclaration(decorators, modifiers, exportClause, moduleSpecifier) { - var node = createSynthesizedNode(249 /* ExportDeclaration */); + var node = createSynthesizedNode(250 /* ExportDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.exportClause = exportClause; @@ -54312,7 +54607,7 @@ var ts; } ts.updateExportDeclaration = updateExportDeclaration; function createNamedExports(elements) { - var node = createSynthesizedNode(250 /* NamedExports */); + var node = createSynthesizedNode(251 /* NamedExports */); node.elements = createNodeArray(elements); return node; } @@ -54324,7 +54619,7 @@ var ts; } ts.updateNamedExports = updateNamedExports; function createExportSpecifier(propertyName, name) { - var node = createSynthesizedNode(251 /* ExportSpecifier */); + var node = createSynthesizedNode(252 /* ExportSpecifier */); node.propertyName = asName(propertyName); node.name = asName(name); return node; @@ -54339,7 +54634,7 @@ var ts; ts.updateExportSpecifier = updateExportSpecifier; // Module references function createExternalModuleReference(expression) { - var node = createSynthesizedNode(253 /* ExternalModuleReference */); + var node = createSynthesizedNode(254 /* ExternalModuleReference */); node.expression = expression; return node; } @@ -54352,7 +54647,7 @@ var ts; ts.updateExternalModuleReference = updateExternalModuleReference; // JSX function createJsxElement(openingElement, children, closingElement) { - var node = createSynthesizedNode(254 /* JsxElement */); + var node = createSynthesizedNode(255 /* JsxElement */); node.openingElement = openingElement; node.children = createNodeArray(children); node.closingElement = closingElement; @@ -54368,7 +54663,7 @@ var ts; } ts.updateJsxElement = updateJsxElement; function createJsxSelfClosingElement(tagName, typeArguments, attributes) { - var node = createSynthesizedNode(255 /* JsxSelfClosingElement */); + var node = createSynthesizedNode(256 /* JsxSelfClosingElement */); node.tagName = tagName; node.typeArguments = typeArguments && createNodeArray(typeArguments); node.attributes = attributes; @@ -54384,7 +54679,7 @@ var ts; } ts.updateJsxSelfClosingElement = updateJsxSelfClosingElement; function createJsxOpeningElement(tagName, typeArguments, attributes) { - var node = createSynthesizedNode(256 /* JsxOpeningElement */); + var node = createSynthesizedNode(257 /* JsxOpeningElement */); node.tagName = tagName; node.typeArguments = typeArguments && createNodeArray(typeArguments); node.attributes = attributes; @@ -54400,7 +54695,7 @@ var ts; } ts.updateJsxOpeningElement = updateJsxOpeningElement; function createJsxClosingElement(tagName) { - var node = createSynthesizedNode(257 /* JsxClosingElement */); + var node = createSynthesizedNode(258 /* JsxClosingElement */); node.tagName = tagName; return node; } @@ -54412,7 +54707,7 @@ var ts; } ts.updateJsxClosingElement = updateJsxClosingElement; function createJsxFragment(openingFragment, children, closingFragment) { - var node = createSynthesizedNode(258 /* JsxFragment */); + var node = createSynthesizedNode(259 /* JsxFragment */); node.openingFragment = openingFragment; node.children = createNodeArray(children); node.closingFragment = closingFragment; @@ -54428,7 +54723,7 @@ var ts; } ts.updateJsxFragment = updateJsxFragment; function createJsxAttribute(name, initializer) { - var node = createSynthesizedNode(261 /* JsxAttribute */); + var node = createSynthesizedNode(262 /* JsxAttribute */); node.name = name; node.initializer = initializer; return node; @@ -54442,7 +54737,7 @@ var ts; } ts.updateJsxAttribute = updateJsxAttribute; function createJsxAttributes(properties) { - var node = createSynthesizedNode(262 /* JsxAttributes */); + var node = createSynthesizedNode(263 /* JsxAttributes */); node.properties = createNodeArray(properties); return node; } @@ -54454,7 +54749,7 @@ var ts; } ts.updateJsxAttributes = updateJsxAttributes; function createJsxSpreadAttribute(expression) { - var node = createSynthesizedNode(263 /* JsxSpreadAttribute */); + var node = createSynthesizedNode(264 /* JsxSpreadAttribute */); node.expression = expression; return node; } @@ -54466,7 +54761,7 @@ var ts; } ts.updateJsxSpreadAttribute = updateJsxSpreadAttribute; function createJsxExpression(dotDotDotToken, expression) { - var node = createSynthesizedNode(264 /* JsxExpression */); + var node = createSynthesizedNode(265 /* JsxExpression */); node.dotDotDotToken = dotDotDotToken; node.expression = expression; return node; @@ -54480,7 +54775,7 @@ var ts; ts.updateJsxExpression = updateJsxExpression; // Clauses function createCaseClause(expression, statements) { - var node = createSynthesizedNode(265 /* CaseClause */); + var node = createSynthesizedNode(266 /* CaseClause */); node.expression = ts.parenthesizeExpressionForList(expression); node.statements = createNodeArray(statements); return node; @@ -54494,7 +54789,7 @@ var ts; } ts.updateCaseClause = updateCaseClause; function createDefaultClause(statements) { - var node = createSynthesizedNode(266 /* DefaultClause */); + var node = createSynthesizedNode(267 /* DefaultClause */); node.statements = createNodeArray(statements); return node; } @@ -54506,7 +54801,7 @@ var ts; } ts.updateDefaultClause = updateDefaultClause; function createHeritageClause(token, types) { - var node = createSynthesizedNode(267 /* HeritageClause */); + var node = createSynthesizedNode(268 /* HeritageClause */); node.token = token; node.types = createNodeArray(types); return node; @@ -54519,7 +54814,7 @@ var ts; } ts.updateHeritageClause = updateHeritageClause; function createCatchClause(variableDeclaration, block) { - var node = createSynthesizedNode(268 /* CatchClause */); + var node = createSynthesizedNode(269 /* CatchClause */); node.variableDeclaration = ts.isString(variableDeclaration) ? createVariableDeclaration(variableDeclaration) : variableDeclaration; node.block = block; return node; @@ -54534,7 +54829,7 @@ var ts; ts.updateCatchClause = updateCatchClause; // Property assignments function createPropertyAssignment(name, initializer) { - var node = createSynthesizedNode(269 /* PropertyAssignment */); + var node = createSynthesizedNode(270 /* PropertyAssignment */); node.name = asName(name); node.questionToken = undefined; node.initializer = ts.parenthesizeExpressionForList(initializer); @@ -54549,7 +54844,7 @@ var ts; } ts.updatePropertyAssignment = updatePropertyAssignment; function createShorthandPropertyAssignment(name, objectAssignmentInitializer) { - var node = createSynthesizedNode(270 /* ShorthandPropertyAssignment */); + var node = createSynthesizedNode(271 /* ShorthandPropertyAssignment */); node.name = asName(name); node.objectAssignmentInitializer = objectAssignmentInitializer !== undefined ? ts.parenthesizeExpressionForList(objectAssignmentInitializer) : undefined; return node; @@ -54563,8 +54858,8 @@ var ts; } ts.updateShorthandPropertyAssignment = updateShorthandPropertyAssignment; function createSpreadAssignment(expression) { - var node = createSynthesizedNode(271 /* SpreadAssignment */); - node.expression = expression !== undefined ? ts.parenthesizeExpressionForList(expression) : undefined; + var node = createSynthesizedNode(272 /* SpreadAssignment */); + node.expression = expression !== undefined ? ts.parenthesizeExpressionForList(expression) : undefined; // TODO: GH#18217 return node; } ts.createSpreadAssignment = createSpreadAssignment; @@ -54576,7 +54871,7 @@ var ts; ts.updateSpreadAssignment = updateSpreadAssignment; // Enum function createEnumMember(name, initializer) { - var node = createSynthesizedNode(272 /* EnumMember */); + var node = createSynthesizedNode(273 /* EnumMember */); node.name = asName(name); node.initializer = initializer && ts.parenthesizeExpressionForList(initializer); return node; @@ -54596,7 +54891,7 @@ var ts; (referencedFiles !== undefined && node.referencedFiles !== referencedFiles) || (typeReferences !== undefined && node.typeReferenceDirectives !== typeReferences) || (hasNoDefaultLib !== undefined && node.hasNoDefaultLib !== hasNoDefaultLib)) { - var updated = createSynthesizedNode(273 /* SourceFile */); + var updated = createSynthesizedNode(274 /* SourceFile */); updated.flags |= node.flags; updated.statements = createNodeArray(statements); updated.endOfFileToken = node.endOfFileToken; @@ -54635,6 +54930,8 @@ var ts; updated.parseDiagnostics = node.parseDiagnostics; if (node.bindDiagnostics !== undefined) updated.bindDiagnostics = node.bindDiagnostics; + if (node.bindSuggestionDiagnostics !== undefined) + updated.bindSuggestionDiagnostics = node.bindSuggestionDiagnostics; if (node.lineMap !== undefined) updated.lineMap = node.lineMap; if (node.classifiableNames !== undefined) @@ -54677,7 +54974,7 @@ var ts; * @param original The original statement. */ function createNotEmittedStatement(original) { - var node = createSynthesizedNode(299 /* NotEmittedStatement */); + var node = createSynthesizedNode(300 /* NotEmittedStatement */); node.original = original; setTextRange(node, original); return node; @@ -54689,7 +54986,7 @@ var ts; */ /* @internal */ function createEndOfDeclarationMarker(original) { - var node = createSynthesizedNode(303 /* EndOfDeclarationMarker */); + var node = createSynthesizedNode(304 /* EndOfDeclarationMarker */); node.emitNode = {}; node.original = original; return node; @@ -54701,7 +54998,7 @@ var ts; */ /* @internal */ function createMergeDeclarationMarker(original) { - var node = createSynthesizedNode(302 /* MergeDeclarationMarker */); + var node = createSynthesizedNode(303 /* MergeDeclarationMarker */); node.emitNode = {}; node.original = original; return node; @@ -54716,7 +55013,7 @@ var ts; * @param location The location for the expression. Defaults to the positions from "original" if provided. */ function createPartiallyEmittedExpression(expression, original) { - var node = createSynthesizedNode(300 /* PartiallyEmittedExpression */); + var node = createSynthesizedNode(301 /* PartiallyEmittedExpression */); node.expression = expression; node.original = original; setTextRange(node, original); @@ -54732,7 +55029,7 @@ var ts; ts.updatePartiallyEmittedExpression = updatePartiallyEmittedExpression; function flattenCommaElements(node) { if (ts.nodeIsSynthesized(node) && !ts.isParseTreeNode(node) && !node.original && !node.emitNode && !node.id) { - if (node.kind === 301 /* CommaListExpression */) { + if (node.kind === 302 /* CommaListExpression */) { return node.elements; } if (ts.isBinaryExpression(node) && node.operatorToken.kind === 26 /* CommaToken */) { @@ -54742,7 +55039,7 @@ var ts; return node; } function createCommaList(elements) { - var node = createSynthesizedNode(301 /* CommaListExpression */); + var node = createSynthesizedNode(302 /* CommaListExpression */); node.elements = createNodeArray(ts.sameFlatMap(elements, flattenCommaElements)); return node; } @@ -54755,20 +55052,20 @@ var ts; ts.updateCommaList = updateCommaList; function createBundle(sourceFiles, prepends) { if (prepends === void 0) { prepends = ts.emptyArray; } - var node = ts.createNode(274 /* Bundle */); + var node = ts.createNode(275 /* Bundle */); node.prepends = prepends; node.sourceFiles = sourceFiles; return node; } ts.createBundle = createBundle; function createUnparsedSourceFile(text) { - var node = ts.createNode(275 /* UnparsedSource */); + var node = ts.createNode(276 /* UnparsedSource */); node.text = text; return node; } ts.createUnparsedSourceFile = createUnparsedSourceFile; function createInputFiles(javascript, declaration) { - var node = ts.createNode(276 /* InputFiles */); + var node = ts.createNode(277 /* InputFiles */); node.javascriptText = javascript; node.declarationText = declaration; return node; @@ -54861,6 +55158,7 @@ var ts; return createExportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, createNamedExports([createExportSpecifier(/*propertyName*/ undefined, exportName)])); } ts.createExternalModuleExport = createExternalModuleExport; + // Utilities function asName(name) { return ts.isString(name) ? createIdentifier(name) : name; } @@ -54906,7 +55204,7 @@ var ts; // To avoid holding onto transformation artifacts, we keep track of any // parse tree node we are annotating. This allows us to clean them up after // all transformations have completed. - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { return node.emitNode = { annotatedNodes: [node] }; } var sourceFile = ts.getSourceFileOfNode(node); @@ -55391,7 +55689,7 @@ var ts; // Utilities function createForOfBindingStatement(node, boundValue) { if (ts.isVariableDeclarationList(node)) { - var firstDeclaration = ts.firstOrUndefined(node.declarations); + var firstDeclaration = ts.first(node.declarations); var updatedDeclaration = ts.updateVariableDeclaration(firstDeclaration, firstDeclaration.name, /*typeNode*/ undefined, boundValue); return ts.setTextRange(ts.createVariableStatement( @@ -55417,7 +55715,7 @@ var ts; if (!outermostLabeledStatement) { return node; } - var updated = ts.updateLabel(outermostLabeledStatement, outermostLabeledStatement.label, outermostLabeledStatement.statement.kind === 227 /* LabeledStatement */ + var updated = ts.updateLabel(outermostLabeledStatement, outermostLabeledStatement.label, outermostLabeledStatement.statement.kind === 228 /* LabeledStatement */ ? restoreEnclosingLabel(node, outermostLabeledStatement.statement) : node); if (afterRestoreLabelCallback) { @@ -55435,19 +55733,20 @@ var ts; case 8 /* NumericLiteral */: case 9 /* StringLiteral */: return false; - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: var elements = target.elements; if (elements.length === 0) { return false; } return true; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return target.properties.length > 0; default: return true; } } function createCallBinding(expression, recordTempVariable, languageVersion, cacheIdentifiers) { + if (cacheIdentifiers === void 0) { cacheIdentifiers = false; } var callee = skipOuterExpressions(expression, 7 /* All */); var thisArg; var target; @@ -55467,7 +55766,7 @@ var ts; } else { switch (callee.kind) { - case 184 /* PropertyAccessExpression */: { + case 185 /* PropertyAccessExpression */: { if (shouldBeCapturedInTempVariable(callee.expression, cacheIdentifiers)) { // for `a.b()` target is `(_a = a).b` and thisArg is `_a` thisArg = ts.createTempVariable(recordTempVariable); @@ -55480,7 +55779,7 @@ var ts; } break; } - case 185 /* ElementAccessExpression */: { + case 186 /* ElementAccessExpression */: { if (shouldBeCapturedInTempVariable(callee.expression, cacheIdentifiers)) { // for `a[b]()` target is `(_a = a)[b]` and thisArg is `_a` thisArg = ts.createTempVariable(recordTempVariable); @@ -55537,14 +55836,14 @@ var ts; ts.createExpressionForPropertyName = createExpressionForPropertyName; function createExpressionForObjectLiteralElementLike(node, property, receiver) { switch (property.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - return createExpressionForAccessorDeclaration(node.properties, property, receiver, node.multiLine); - case 269 /* PropertyAssignment */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + return createExpressionForAccessorDeclaration(node.properties, property, receiver, !!node.multiLine); + case 270 /* PropertyAssignment */: return createExpressionForPropertyAssignment(property, receiver); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return createExpressionForShorthandPropertyAssignment(property, receiver); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return createExpressionForMethodDeclaration(property, receiver); } } @@ -55558,7 +55857,8 @@ var ts; /*asteriskToken*/ undefined, /*name*/ undefined, /*typeParameters*/ undefined, getAccessor.parameters, - /*type*/ undefined, getAccessor.body); + /*type*/ undefined, getAccessor.body // TODO: GH#18217 + ); ts.setTextRange(getterFunction, getAccessor); ts.setOriginalNode(getterFunction, getAccessor); var getter = ts.createPropertyAssignment("get", getterFunction); @@ -55569,7 +55869,8 @@ var ts; /*asteriskToken*/ undefined, /*name*/ undefined, /*typeParameters*/ undefined, setAccessor.parameters, - /*type*/ undefined, setAccessor.body); + /*type*/ undefined, setAccessor.body // TODO: GH#18217 + ); ts.setTextRange(setterFunction, setAccessor); ts.setOriginalNode(setterFunction, setAccessor); var setter = ts.createPropertyAssignment("set", setterFunction); @@ -55600,7 +55901,8 @@ var ts; return ts.aggregateTransformFlags(ts.setOriginalNode(ts.setTextRange(ts.createAssignment(createMemberAccessForPropertyName(receiver, method.name, /*location*/ method.name), ts.setOriginalNode(ts.setTextRange(ts.createFunctionExpression(method.modifiers, method.asteriskToken, /*name*/ undefined, /*typeParameters*/ undefined, method.parameters, - /*type*/ undefined, method.body), + /*type*/ undefined, method.body // TODO: GH#18217 + ), /*location*/ method), /*original*/ method)), /*location*/ method), @@ -55683,6 +55985,7 @@ var ts; } ts.getDeclarationName = getDeclarationName; function getName(node, allowComments, allowSourceMaps, emitFlags) { + if (emitFlags === void 0) { emitFlags = 0; } var nodeName = ts.getNameOfDeclaration(node); if (nodeName && ts.isIdentifier(nodeName) && !ts.isGeneratedIdentifier(nodeName)) { var name = ts.getMutableClone(nodeName); @@ -55726,7 +56029,7 @@ var ts; function getNamespaceMemberName(ns, name, allowComments, allowSourceMaps) { var qualifiedName = ts.createPropertyAccess(ns, ts.nodeIsSynthesized(name) ? name : ts.getSynthesizedClone(name)); ts.setTextRange(qualifiedName, name); - var emitFlags; + var emitFlags = 0; if (!allowSourceMaps) emitFlags |= 48 /* NoSourceMap */; if (!allowComments) @@ -55741,7 +56044,8 @@ var ts; } ts.convertToFunctionBody = convertToFunctionBody; function convertFunctionDeclarationToExpression(node) { - ts.Debug.assert(!!node.body); + if (!node.body) + return ts.Debug.fail(); var updated = ts.createFunctionExpression(node.modifiers, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, node.body); ts.setOriginalNode(updated, node); ts.setTextRange(updated, node); @@ -55801,15 +56105,9 @@ var ts; return statementOffset; } ts.addStandardPrologue = addStandardPrologue; - /** - * Add just the custom prologue-directives into target statement-array. - * The function needs to be called during each transformation step. - * This function needs to be called whenever we transform the statement - * list of a source file, namespace, or function-like body. - */ function addCustomPrologue(target, source, statementOffset, visitor) { var numStatements = source.length; - while (statementOffset < numStatements) { + while (statementOffset !== undefined && statementOffset < numStatements) { var statement = source[statementOffset]; if (ts.getEmitFlags(statement) & 1048576 /* CustomPrologue */) { ts.append(target, visitor ? ts.visitNode(statement, visitor, ts.isStatement) : statement); @@ -55868,7 +56166,7 @@ var ts; function parenthesizeBinaryOperand(binaryOperator, operand, isLeftSideOfBinary, leftOperand) { var skipped = ts.skipPartiallyEmittedExpressions(operand); // If the resulting expression is already parenthesized, we do not need to do any further processing. - if (skipped.kind === 190 /* ParenthesizedExpression */) { + if (skipped.kind === 191 /* ParenthesizedExpression */) { return operand; } return binaryOperandNeedsParentheses(binaryOperator, operand, isLeftSideOfBinary, leftOperand) @@ -55902,8 +56200,8 @@ var ts; // // If `a ** d` is on the left of operator `**`, we need to parenthesize to preserve // the intended order of operations: `(a ** b) ** c` - var binaryOperatorPrecedence = ts.getOperatorPrecedence(199 /* BinaryExpression */, binaryOperator); - var binaryOperatorAssociativity = ts.getOperatorAssociativity(199 /* BinaryExpression */, binaryOperator); + var binaryOperatorPrecedence = ts.getOperatorPrecedence(200 /* BinaryExpression */, binaryOperator); + var binaryOperatorAssociativity = ts.getOperatorAssociativity(200 /* BinaryExpression */, binaryOperator); var emittedOperand = ts.skipPartiallyEmittedExpressions(operand); var operandPrecedence = ts.getExpressionPrecedence(emittedOperand); switch (ts.compareValues(operandPrecedence, binaryOperatorPrecedence)) { @@ -55912,7 +56210,7 @@ var ts; // and is a yield expression, then we do not need parentheses. if (!isLeftSideOfBinary && binaryOperatorAssociativity === 1 /* Right */ - && operand.kind === 202 /* YieldExpression */) { + && operand.kind === 203 /* YieldExpression */) { return false; } return true; @@ -56000,7 +56298,7 @@ var ts; if (ts.isLiteralKind(node.kind)) { return node.kind; } - if (node.kind === 199 /* BinaryExpression */ && node.operatorToken.kind === 37 /* PlusToken */) { + if (node.kind === 200 /* BinaryExpression */ && node.operatorToken.kind === 37 /* PlusToken */) { if (node.cachedLiteralKind !== undefined) { return node.cachedLiteralKind; } @@ -56015,7 +56313,7 @@ var ts; return 0 /* Unknown */; } function parenthesizeForConditionalHead(condition) { - var conditionalPrecedence = ts.getOperatorPrecedence(200 /* ConditionalExpression */, 55 /* QuestionToken */); + var conditionalPrecedence = ts.getOperatorPrecedence(201 /* ConditionalExpression */, 55 /* QuestionToken */); var emittedCondition = ts.skipPartiallyEmittedExpressions(condition); var conditionPrecedence = ts.getExpressionPrecedence(emittedCondition); if (ts.compareValues(conditionPrecedence, conditionalPrecedence) === -1 /* LessThan */) { @@ -56029,8 +56327,8 @@ var ts; // so in case when comma expression is introduced as a part of previous transformations // if should be wrapped in parens since comma operator has the lowest precedence var emittedExpression = ts.skipPartiallyEmittedExpressions(e); - return emittedExpression.kind === 199 /* BinaryExpression */ && emittedExpression.operatorToken.kind === 26 /* CommaToken */ || - emittedExpression.kind === 301 /* CommaListExpression */ + return emittedExpression.kind === 200 /* BinaryExpression */ && emittedExpression.operatorToken.kind === 26 /* CommaToken */ || + emittedExpression.kind === 302 /* CommaListExpression */ ? ts.createParen(e) : e; } @@ -56048,9 +56346,9 @@ var ts; */ function parenthesizeDefaultExpression(e) { var check = ts.skipPartiallyEmittedExpressions(e); - return (check.kind === 204 /* ClassExpression */ || - check.kind === 191 /* FunctionExpression */ || - check.kind === 301 /* CommaListExpression */ || + return (check.kind === 205 /* ClassExpression */ || + check.kind === 192 /* FunctionExpression */ || + check.kind === 302 /* CommaListExpression */ || ts.isBinaryExpression(check) && check.operatorToken.kind === 26 /* CommaToken */) ? ts.createParen(e) : e; @@ -56065,9 +56363,9 @@ var ts; function parenthesizeForNew(expression) { var leftmostExpr = getLeftmostExpression(expression, /*stopAtCallExpressions*/ true); switch (leftmostExpr.kind) { - case 186 /* CallExpression */: + case 187 /* CallExpression */: return ts.createParen(expression); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return !leftmostExpr.arguments ? ts.createParen(expression) : expression; @@ -56090,7 +56388,7 @@ var ts; // var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); if (ts.isLeftHandSideExpression(emittedExpression) - && (emittedExpression.kind !== 187 /* NewExpression */ || emittedExpression.arguments)) { + && (emittedExpression.kind !== 188 /* NewExpression */ || emittedExpression.arguments)) { return expression; } return ts.setTextRange(ts.createParen(expression), expression); @@ -56128,7 +56426,7 @@ var ts; function parenthesizeExpressionForList(expression) { var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); var expressionPrecedence = ts.getExpressionPrecedence(emittedExpression); - var commaPrecedence = ts.getOperatorPrecedence(199 /* BinaryExpression */, 26 /* CommaToken */); + var commaPrecedence = ts.getOperatorPrecedence(200 /* BinaryExpression */, 26 /* CommaToken */); return expressionPrecedence > commaPrecedence ? expression : ts.setTextRange(ts.createParen(expression), expression); @@ -56139,29 +56437,29 @@ var ts; if (ts.isCallExpression(emittedExpression)) { var callee = emittedExpression.expression; var kind = ts.skipPartiallyEmittedExpressions(callee).kind; - if (kind === 191 /* FunctionExpression */ || kind === 192 /* ArrowFunction */) { + if (kind === 192 /* FunctionExpression */ || kind === 193 /* ArrowFunction */) { var mutableCall = ts.getMutableClone(emittedExpression); mutableCall.expression = ts.setTextRange(ts.createParen(callee), callee); return recreateOuterExpressions(expression, mutableCall, 4 /* PartiallyEmittedExpressions */); } } var leftmostExpressionKind = getLeftmostExpression(emittedExpression, /*stopAtCallExpressions*/ false).kind; - if (leftmostExpressionKind === 183 /* ObjectLiteralExpression */ || leftmostExpressionKind === 191 /* FunctionExpression */) { + if (leftmostExpressionKind === 184 /* ObjectLiteralExpression */ || leftmostExpressionKind === 192 /* FunctionExpression */) { return ts.setTextRange(ts.createParen(expression), expression); } return expression; } ts.parenthesizeExpressionForExpressionStatement = parenthesizeExpressionForExpressionStatement; function parenthesizeConditionalTypeMember(member) { - return member.kind === 170 /* ConditionalType */ ? ts.createParenthesizedType(member) : member; + return member.kind === 171 /* ConditionalType */ ? ts.createParenthesizedType(member) : member; } ts.parenthesizeConditionalTypeMember = parenthesizeConditionalTypeMember; function parenthesizeElementTypeMember(member) { switch (member.kind) { - case 168 /* UnionType */: - case 169 /* IntersectionType */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: return ts.createParenthesizedType(member); } return parenthesizeConditionalTypeMember(member); @@ -56169,9 +56467,9 @@ var ts; ts.parenthesizeElementTypeMember = parenthesizeElementTypeMember; function parenthesizeArrayTypeMember(member) { switch (member.kind) { - case 164 /* TypeQuery */: - case 174 /* TypeOperator */: - case 171 /* InferType */: + case 165 /* TypeQuery */: + case 175 /* TypeOperator */: + case 172 /* InferType */: return ts.createParenthesizedType(member); } return parenthesizeElementTypeMember(member); @@ -56197,25 +56495,25 @@ var ts; function getLeftmostExpression(node, stopAtCallExpressions) { while (true) { switch (node.kind) { - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: node = node.operand; continue; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: node = node.left; continue; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: node = node.condition; continue; - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (stopAtCallExpressions) { return node; } // falls through - case 185 /* ElementAccessExpression */: - case 184 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: + case 185 /* PropertyAccessExpression */: node = node.expression; continue; - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: node = node.expression; continue; } @@ -56223,7 +56521,7 @@ var ts; } } function parenthesizeConciseBody(body) { - if (!ts.isBlock(body) && getLeftmostExpression(body, /*stopAtCallExpressions*/ false).kind === 183 /* ObjectLiteralExpression */) { + if (!ts.isBlock(body) && getLeftmostExpression(body, /*stopAtCallExpressions*/ false).kind === 184 /* ObjectLiteralExpression */) { return ts.setTextRange(ts.createParen(body), body); } return body; @@ -56239,13 +56537,13 @@ var ts; function isOuterExpression(node, kinds) { if (kinds === void 0) { kinds = 7 /* All */; } switch (node.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return (kinds & 1 /* Parentheses */) !== 0; - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: - case 208 /* NonNullExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: + case 209 /* NonNullExpression */: return (kinds & 2 /* Assertions */) !== 0; - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: return (kinds & 4 /* PartiallyEmittedExpressions */) !== 0; } return false; @@ -56270,7 +56568,7 @@ var ts; } ts.skipOuterExpressions = skipOuterExpressions; function skipAssertions(node) { - while (ts.isAssertionExpression(node) || node.kind === 208 /* NonNullExpression */) { + while (ts.isAssertionExpression(node) || node.kind === 209 /* NonNullExpression */) { node = node.expression; } return node; @@ -56278,11 +56576,11 @@ var ts; ts.skipAssertions = skipAssertions; function updateOuterExpression(outerExpression, expression) { switch (outerExpression.kind) { - case 190 /* ParenthesizedExpression */: return ts.updateParen(outerExpression, expression); - case 189 /* TypeAssertionExpression */: return ts.updateTypeAssertion(outerExpression, outerExpression.type, expression); - case 207 /* AsExpression */: return ts.updateAsExpression(outerExpression, expression, outerExpression.type); - case 208 /* NonNullExpression */: return ts.updateNonNullExpression(outerExpression, expression); - case 300 /* PartiallyEmittedExpression */: return ts.updatePartiallyEmittedExpression(outerExpression, expression); + case 191 /* ParenthesizedExpression */: return ts.updateParen(outerExpression, expression); + case 190 /* TypeAssertionExpression */: return ts.updateTypeAssertion(outerExpression, outerExpression.type, expression); + case 208 /* AsExpression */: return ts.updateAsExpression(outerExpression, expression, outerExpression.type); + case 209 /* NonNullExpression */: return ts.updateNonNullExpression(outerExpression, expression); + case 301 /* PartiallyEmittedExpression */: return ts.updatePartiallyEmittedExpression(outerExpression, expression); } } /** @@ -56300,7 +56598,7 @@ var ts; * the containing expression is created/updated. */ function isIgnorableParen(node) { - return node.kind === 190 /* ParenthesizedExpression */ + return node.kind === 191 /* ParenthesizedExpression */ && ts.nodeIsSynthesized(node) && ts.nodeIsSynthesized(ts.getSourceMapRange(node)) && ts.nodeIsSynthesized(ts.getCommentRange(node)) @@ -56365,10 +56663,10 @@ var ts; var name = namespaceDeclaration.name; return ts.isGeneratedIdentifier(name) ? name : ts.createIdentifier(ts.getSourceTextOfNodeFromSourceFile(sourceFile, name) || ts.idText(name)); } - if (node.kind === 243 /* ImportDeclaration */ && node.importClause) { + if (node.kind === 244 /* ImportDeclaration */ && node.importClause) { return ts.getGeneratedNameForNode(node); } - if (node.kind === 249 /* ExportDeclaration */ && node.moduleSpecifier) { + if (node.kind === 250 /* ExportDeclaration */ && node.moduleSpecifier) { return ts.getGeneratedNameForNode(node); } return undefined; @@ -56383,7 +56681,7 @@ var ts; * Otherwise, a new StringLiteral node representing the module name will be returned. */ function getExternalModuleNameLiteral(importNode, sourceFile, host, resolver, compilerOptions) { - var moduleName = ts.getExternalModuleName(importNode); + var moduleName = ts.getExternalModuleName(importNode); // TODO: GH#18217 if (moduleName.kind === 9 /* StringLiteral */) { return tryGetModuleNameFromDeclaration(importNode, host, resolver, compilerOptions) || tryRenameExternalModule(moduleName, sourceFile) @@ -56441,8 +56739,9 @@ var ts; // `1` in `({ a: b = 1 } = ...)` // `1` in `({ a: {b} = 1 } = ...)` // `1` in `({ a: [b] = 1 } = ...)` - return ts.isAssignmentExpression(bindingElement.initializer, /*excludeCompoundAssignment*/ true) - ? bindingElement.initializer.right + var initializer = bindingElement.initializer; + return ts.isAssignmentExpression(initializer, /*excludeCompoundAssignment*/ true) + ? initializer.right : undefined; } if (ts.isShorthandPropertyAssignment(bindingElement)) { @@ -56486,7 +56785,7 @@ var ts; } if (ts.isObjectLiteralElementLike(bindingElement)) { switch (bindingElement.kind) { - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: // `b` in `({ a: b } = ...)` // `b` in `({ a: b = 1 } = ...)` // `{b}` in `({ a: {b} } = ...)` @@ -56498,11 +56797,11 @@ var ts; // `b[0]` in `({ a: b[0] } = ...)` // `b[0]` in `({ a: b[0] = 1 } = ...)` return getTargetOfBindingOrAssignmentElement(bindingElement.initializer); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: // `a` in `({ a } = ...)` // `a` in `({ a = 1 } = ...)` return bindingElement.name; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: // `a` in `({ ...a } = ...)` return getTargetOfBindingOrAssignmentElement(bindingElement.expression); } @@ -56534,12 +56833,12 @@ var ts; */ function getRestIndicatorOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 148 /* Parameter */: - case 181 /* BindingElement */: + case 149 /* Parameter */: + case 182 /* BindingElement */: // `...` in `let [...a] = ...` return bindingElement.dotDotDotToken; - case 203 /* SpreadElement */: - case 271 /* SpreadAssignment */: + case 204 /* SpreadElement */: + case 272 /* SpreadAssignment */: // `...` in `[...a] = ...` return bindingElement; } @@ -56551,7 +56850,7 @@ var ts; */ function getPropertyNameOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 181 /* BindingElement */: + case 182 /* BindingElement */: // `a` in `let { a: b } = ...` // `[a]` in `let { [a]: b } = ...` // `"a"` in `let { "a": b } = ...` @@ -56563,7 +56862,7 @@ var ts; : propertyName; } break; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: // `a` in `({ a: b } = ...)` // `[a]` in `({ [a]: b } = ...)` // `"a"` in `({ "a": b } = ...)` @@ -56575,7 +56874,7 @@ var ts; : propertyName; } break; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: // `a` in `({ ...a } = ...)` return bindingElement.name; } @@ -56593,13 +56892,13 @@ var ts; */ function getElementsOfBindingOrAssignmentPattern(name) { switch (name.kind) { - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: - case 182 /* ArrayLiteralExpression */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: + case 183 /* ArrayLiteralExpression */: // `a` in `{a}` // `a` in `[a]` return name.elements; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: // `a` in `{a}` return name.properties; } @@ -56639,11 +56938,11 @@ var ts; ts.convertToObjectAssignmentElement = convertToObjectAssignmentElement; function convertToAssignmentPattern(node) { switch (node.kind) { - case 180 /* ArrayBindingPattern */: - case 182 /* ArrayLiteralExpression */: + case 181 /* ArrayBindingPattern */: + case 183 /* ArrayLiteralExpression */: return convertToArrayAssignmentPattern(node); - case 179 /* ObjectBindingPattern */: - case 183 /* ObjectLiteralExpression */: + case 180 /* ObjectBindingPattern */: + case 184 /* ObjectLiteralExpression */: return convertToObjectAssignmentPattern(node); } } @@ -56804,272 +57103,272 @@ var ts; } var kind = node.kind; // No need to visit nodes with no children. - if ((kind > 0 /* FirstToken */ && kind <= 144 /* LastToken */) || kind === 173 /* ThisType */) { + if ((kind > 0 /* FirstToken */ && kind <= 145 /* LastToken */) || kind === 174 /* ThisType */) { return node; } switch (kind) { // Names case 71 /* Identifier */: return ts.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, isTypeNodeOrTypeParameterDeclaration)); - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return ts.updateQualifiedName(node, visitNode(node.left, visitor, ts.isEntityName), visitNode(node.right, visitor, ts.isIdentifier)); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return ts.updateComputedPropertyName(node, visitNode(node.expression, visitor, ts.isExpression)); // Signature elements - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return ts.updateTypeParameterDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.constraint, visitor, ts.isTypeNode), visitNode(node.default, visitor, ts.isTypeNode)); - case 148 /* Parameter */: + case 149 /* Parameter */: return ts.updateParameter(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); - case 149 /* Decorator */: + case 150 /* Decorator */: return ts.updateDecorator(node, visitNode(node.expression, visitor, ts.isExpression)); // Type elements - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: return ts.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return ts.updateProperty(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); - case 152 /* MethodSignature */: + case 153 /* MethodSignature */: return ts.updateMethodSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken)); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return ts.updateMethod(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); - case 154 /* Constructor */: + case 155 /* Constructor */: return ts.updateConstructor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: return ts.updateGetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return ts.updateSetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); - case 157 /* CallSignature */: + case 158 /* CallSignature */: return ts.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: return ts.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: return ts.updateIndexSignature(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); // Types - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return ts.updateTypePredicateNode(node, visitNode(node.parameterName, visitor), visitNode(node.type, visitor, ts.isTypeNode)); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return ts.updateTypeReferenceNode(node, visitNode(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); - case 162 /* FunctionType */: + case 163 /* FunctionType */: return ts.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 163 /* ConstructorType */: + case 164 /* ConstructorType */: return ts.updateConstructorTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return ts.updateTypeQueryNode(node, visitNode(node.exprName, visitor, ts.isEntityName)); - case 165 /* TypeLiteral */: + case 166 /* TypeLiteral */: return ts.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return ts.updateArrayTypeNode(node, visitNode(node.elementType, visitor, ts.isTypeNode)); - case 167 /* TupleType */: + case 168 /* TupleType */: return ts.updateTypleTypeNode(node, nodesVisitor(node.elementTypes, visitor, ts.isTypeNode)); - case 168 /* UnionType */: + case 169 /* UnionType */: return ts.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); - case 169 /* IntersectionType */: + case 170 /* IntersectionType */: return ts.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return ts.updateConditionalTypeNode(node, visitNode(node.checkType, visitor, ts.isTypeNode), visitNode(node.extendsType, visitor, ts.isTypeNode), visitNode(node.trueType, visitor, ts.isTypeNode), visitNode(node.falseType, visitor, ts.isTypeNode)); - case 171 /* InferType */: + case 172 /* InferType */: return ts.updateInferTypeNode(node, visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration)); - case 178 /* ImportType */: + case 179 /* ImportType */: return ts.updateImportTypeNode(node, visitNode(node.argument, visitor, ts.isTypeNode), visitNode(node.qualifier, visitor, ts.isEntityName), visitNodes(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return ts.updateParenthesizedType(node, visitNode(node.type, visitor, ts.isTypeNode)); - case 174 /* TypeOperator */: + case 175 /* TypeOperator */: return ts.updateTypeOperatorNode(node, visitNode(node.type, visitor, ts.isTypeNode)); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return ts.updateIndexedAccessTypeNode(node, visitNode(node.objectType, visitor, ts.isTypeNode), visitNode(node.indexType, visitor, ts.isTypeNode)); - case 176 /* MappedType */: + case 177 /* MappedType */: return ts.updateMappedTypeNode(node, visitNode(node.readonlyToken, tokenVisitor, ts.isToken), visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode)); - case 177 /* LiteralType */: + case 178 /* LiteralType */: return ts.updateLiteralTypeNode(node, visitNode(node.literal, visitor, ts.isExpression)); // Binding patterns - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: return ts.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement)); - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: return ts.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement)); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return ts.updateBindingElement(node, visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.propertyName, visitor, ts.isPropertyName), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.initializer, visitor, ts.isExpression)); // Expression - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return ts.updateArrayLiteral(node, nodesVisitor(node.elements, visitor, ts.isExpression)); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return ts.updateObjectLiteral(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike)); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return ts.updatePropertyAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.name, visitor, ts.isIdentifier)); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return ts.updateElementAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.argumentExpression, visitor, ts.isExpression)); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return ts.updateCall(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return ts.updateNew(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return ts.updateTaggedTemplate(node, visitNode(node.tag, visitor, ts.isExpression), visitNodes(node.typeArguments, visitor, ts.isExpression), visitNode(node.template, visitor, ts.isTemplateLiteral)); - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: return ts.updateTypeAssertion(node, visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return ts.updateParen(node, visitNode(node.expression, visitor, ts.isExpression)); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return ts.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return ts.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.equalsGreaterThanToken, visitor, ts.isToken), visitFunctionBody(node.body, visitor, context)); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return ts.updateDelete(node, visitNode(node.expression, visitor, ts.isExpression)); - case 194 /* TypeOfExpression */: + case 195 /* TypeOfExpression */: return ts.updateTypeOf(node, visitNode(node.expression, visitor, ts.isExpression)); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return ts.updateVoid(node, visitNode(node.expression, visitor, ts.isExpression)); - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return ts.updateAwait(node, visitNode(node.expression, visitor, ts.isExpression)); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return ts.updatePrefix(node, visitNode(node.operand, visitor, ts.isExpression)); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return ts.updatePostfix(node, visitNode(node.operand, visitor, ts.isExpression)); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return ts.updateBinary(node, visitNode(node.left, visitor, ts.isExpression), visitNode(node.right, visitor, ts.isExpression), visitNode(node.operatorToken, visitor, ts.isToken)); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return ts.updateConditional(node, visitNode(node.condition, visitor, ts.isExpression), visitNode(node.questionToken, visitor, ts.isToken), visitNode(node.whenTrue, visitor, ts.isExpression), visitNode(node.colonToken, visitor, ts.isToken), visitNode(node.whenFalse, visitor, ts.isExpression)); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return ts.updateTemplateExpression(node, visitNode(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan)); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return ts.updateYield(node, visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.expression, visitor, ts.isExpression)); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return ts.updateSpread(node, visitNode(node.expression, visitor, ts.isExpression)); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return ts.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return ts.updateExpressionWithTypeArguments(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); - case 207 /* AsExpression */: + case 208 /* AsExpression */: return ts.updateAsExpression(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.type, visitor, ts.isTypeNode)); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: return ts.updateNonNullExpression(node, visitNode(node.expression, visitor, ts.isExpression)); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return ts.updateMetaProperty(node, visitNode(node.name, visitor, ts.isIdentifier)); // Misc - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return ts.updateTemplateSpan(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail)); // Element - case 212 /* Block */: + case 213 /* Block */: return ts.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return ts.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.declarationList, visitor, ts.isVariableDeclarationList)); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return ts.updateStatement(node, visitNode(node.expression, visitor, ts.isExpression)); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return ts.updateIf(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.thenStatement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.elseStatement, visitor, ts.isStatement, ts.liftToBlock)); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return ts.updateDo(node, visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.expression, visitor, ts.isExpression)); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return ts.updateWhile(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return ts.updateFor(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.condition, visitor, ts.isExpression), visitNode(node.incrementor, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return ts.updateForIn(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return ts.updateForOf(node, visitNode(node.awaitModifier, visitor, ts.isToken), visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 222 /* ContinueStatement */: + case 223 /* ContinueStatement */: return ts.updateContinue(node, visitNode(node.label, visitor, ts.isIdentifier)); - case 223 /* BreakStatement */: + case 224 /* BreakStatement */: return ts.updateBreak(node, visitNode(node.label, visitor, ts.isIdentifier)); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return ts.updateReturn(node, visitNode(node.expression, visitor, ts.isExpression)); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return ts.updateWith(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return ts.updateSwitch(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.caseBlock, visitor, ts.isCaseBlock)); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return ts.updateLabel(node, visitNode(node.label, visitor, ts.isIdentifier), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return ts.updateThrow(node, visitNode(node.expression, visitor, ts.isExpression)); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return ts.updateTry(node, visitNode(node.tryBlock, visitor, ts.isBlock), visitNode(node.catchClause, visitor, ts.isCatchClause), visitNode(node.finallyBlock, visitor, ts.isBlock)); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return ts.updateVariableDeclaration(node, visitNode(node.name, visitor, ts.isBindingName), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return ts.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration)); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return ts.updateFunctionDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return ts.updateClassDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return ts.updateInterfaceDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return ts.updateTypeAliasDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return ts.updateEnumDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember)); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return ts.updateModuleDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.body, visitor, ts.isModuleBody)); - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return ts.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return ts.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause)); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return ts.updateNamespaceExportDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier)); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return ts.updateImportEqualsDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.moduleReference, visitor, ts.isModuleReference)); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return ts.updateImportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.importClause, visitor, ts.isImportClause), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return ts.updateImportClause(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.namedBindings, visitor, ts.isNamedImportBindings)); - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return ts.updateNamespaceImport(node, visitNode(node.name, visitor, ts.isIdentifier)); - case 246 /* NamedImports */: + case 247 /* NamedImports */: return ts.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier)); - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: return ts.updateImportSpecifier(node, visitNode(node.propertyName, visitor, ts.isIdentifier), visitNode(node.name, visitor, ts.isIdentifier)); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return ts.updateExportAssignment(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.expression, visitor, ts.isExpression)); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return ts.updateExportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.exportClause, visitor, ts.isNamedExports), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); - case 250 /* NamedExports */: + case 251 /* NamedExports */: return ts.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier)); - case 251 /* ExportSpecifier */: + case 252 /* ExportSpecifier */: return ts.updateExportSpecifier(node, visitNode(node.propertyName, visitor, ts.isIdentifier), visitNode(node.name, visitor, ts.isIdentifier)); // Module references - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: return ts.updateExternalModuleReference(node, visitNode(node.expression, visitor, ts.isExpression)); // JSX - case 254 /* JsxElement */: + case 255 /* JsxElement */: return ts.updateJsxElement(node, visitNode(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), visitNode(node.closingElement, visitor, ts.isJsxClosingElement)); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return ts.updateJsxSelfClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); - case 256 /* JsxOpeningElement */: + case 257 /* JsxOpeningElement */: return ts.updateJsxOpeningElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: return ts.updateJsxClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression)); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return ts.updateJsxFragment(node, visitNode(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), visitNode(node.closingFragment, visitor, ts.isJsxClosingFragment)); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return ts.updateJsxAttribute(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.initializer, visitor, ts.isStringLiteralOrJsxExpression)); - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return ts.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike)); - case 263 /* JsxSpreadAttribute */: + case 264 /* JsxSpreadAttribute */: return ts.updateJsxSpreadAttribute(node, visitNode(node.expression, visitor, ts.isExpression)); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return ts.updateJsxExpression(node, visitNode(node.expression, visitor, ts.isExpression)); // Clauses - case 265 /* CaseClause */: + case 266 /* CaseClause */: return ts.updateCaseClause(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement)); - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: return ts.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: return ts.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments)); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return ts.updateCatchClause(node, visitNode(node.variableDeclaration, visitor, ts.isVariableDeclaration), visitNode(node.block, visitor, ts.isBlock)); // Property assignments - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return ts.updatePropertyAssignment(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return ts.updateShorthandPropertyAssignment(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.objectAssignmentInitializer, visitor, ts.isExpression)); - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: return ts.updateSpreadAssignment(node, visitNode(node.expression, visitor, ts.isExpression)); // Enum - case 272 /* EnumMember */: + case 273 /* EnumMember */: return ts.updateEnumMember(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); // Top-level nodes - case 273 /* SourceFile */: + case 274 /* SourceFile */: return ts.updateSourceFileNode(node, visitLexicalEnvironment(node.statements, visitor, context)); // Transformation nodes - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: return ts.updatePartiallyEmittedExpression(node, visitNode(node.expression, visitor, ts.isExpression)); - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: return ts.updateCommaList(node, nodesVisitor(node.elements, visitor, ts.isExpression)); default: // No need to visit nodes with no children. @@ -57111,58 +57410,58 @@ var ts; var cbNodes = cbNodeArray || cbNode; var kind = node.kind; // No need to visit nodes with no children. - if ((kind > 0 /* FirstToken */ && kind <= 144 /* LastToken */)) { + if ((kind > 0 /* FirstToken */ && kind <= 145 /* LastToken */)) { return initial; } // We do not yet support types. - if ((kind >= 160 /* TypePredicate */ && kind <= 177 /* LiteralType */)) { + if ((kind >= 161 /* TypePredicate */ && kind <= 178 /* LiteralType */)) { return initial; } var result = initial; switch (node.kind) { // Leaf nodes - case 211 /* SemicolonClassElement */: - case 214 /* EmptyStatement */: - case 205 /* OmittedExpression */: - case 230 /* DebuggerStatement */: - case 299 /* NotEmittedStatement */: + case 212 /* SemicolonClassElement */: + case 215 /* EmptyStatement */: + case 206 /* OmittedExpression */: + case 231 /* DebuggerStatement */: + case 300 /* NotEmittedStatement */: // No need to visit nodes with no children. break; // Names - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: result = reduceNode(node.left, cbNode, result); result = reduceNode(node.right, cbNode, result); break; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: result = reduceNode(node.expression, cbNode, result); break; // Signature elements - case 148 /* Parameter */: + case 149 /* Parameter */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 149 /* Decorator */: + case 150 /* Decorator */: result = reduceNode(node.expression, cbNode, result); break; // Type member - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.questionToken, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57171,12 +57470,12 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 154 /* Constructor */: + case 155 /* Constructor */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNodes(node.parameters, cbNodes, result); result = reduceNode(node.body, cbNode, result); break; - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57184,7 +57483,7 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57192,49 +57491,49 @@ var ts; result = reduceNode(node.body, cbNode, result); break; // Binding patterns - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: result = reduceNodes(node.elements, cbNodes, result); break; - case 181 /* BindingElement */: + case 182 /* BindingElement */: result = reduceNode(node.propertyName, cbNode, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; // Expression - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: result = reduceNodes(node.elements, cbNodes, result); break; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: result = reduceNodes(node.properties, cbNodes, result); break; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.name, cbNode, result); break; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.argumentExpression, cbNode, result); break; - case 186 /* CallExpression */: + case 187 /* CallExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNodes(node.typeArguments, cbNodes, result); result = reduceNodes(node.arguments, cbNodes, result); break; - case 187 /* NewExpression */: + case 188 /* NewExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNodes(node.typeArguments, cbNodes, result); result = reduceNodes(node.arguments, cbNodes, result); break; - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: result = reduceNode(node.tag, cbNode, result); result = reduceNode(node.template, cbNode, result); break; - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: result = reduceNode(node.type, cbNode, result); result = reduceNode(node.expression, cbNode, result); break; - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.typeParameters, cbNodes, result); @@ -57242,123 +57541,123 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNodes(node.typeParameters, cbNodes, result); result = reduceNodes(node.parameters, cbNodes, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 190 /* ParenthesizedExpression */: - case 193 /* DeleteExpression */: - case 194 /* TypeOfExpression */: - case 195 /* VoidExpression */: - case 196 /* AwaitExpression */: - case 202 /* YieldExpression */: - case 203 /* SpreadElement */: - case 208 /* NonNullExpression */: + case 191 /* ParenthesizedExpression */: + case 194 /* DeleteExpression */: + case 195 /* TypeOfExpression */: + case 196 /* VoidExpression */: + case 197 /* AwaitExpression */: + case 203 /* YieldExpression */: + case 204 /* SpreadElement */: + case 209 /* NonNullExpression */: result = reduceNode(node.expression, cbNode, result); break; - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: result = reduceNode(node.operand, cbNode, result); break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: result = reduceNode(node.left, cbNode, result); result = reduceNode(node.right, cbNode, result); break; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: result = reduceNode(node.condition, cbNode, result); result = reduceNode(node.whenTrue, cbNode, result); result = reduceNode(node.whenFalse, cbNode, result); break; - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: result = reduceNode(node.head, cbNode, result); result = reduceNodes(node.templateSpans, cbNodes, result); break; - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.typeParameters, cbNodes, result); result = reduceNodes(node.heritageClauses, cbNodes, result); result = reduceNodes(node.members, cbNodes, result); break; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: result = reduceNode(node.expression, cbNode, result); result = reduceNodes(node.typeArguments, cbNodes, result); break; - case 207 /* AsExpression */: + case 208 /* AsExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.type, cbNode, result); break; // Misc - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.literal, cbNode, result); break; // Element - case 212 /* Block */: + case 213 /* Block */: result = reduceNodes(node.statements, cbNodes, result); break; - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.declarationList, cbNode, result); break; - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: result = reduceNode(node.expression, cbNode, result); break; - case 216 /* IfStatement */: + case 217 /* IfStatement */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.thenStatement, cbNode, result); result = reduceNode(node.elseStatement, cbNode, result); break; - case 217 /* DoStatement */: + case 218 /* DoStatement */: result = reduceNode(node.statement, cbNode, result); result = reduceNode(node.expression, cbNode, result); break; - case 218 /* WhileStatement */: - case 225 /* WithStatement */: + case 219 /* WhileStatement */: + case 226 /* WithStatement */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 219 /* ForStatement */: + case 220 /* ForStatement */: result = reduceNode(node.initializer, cbNode, result); result = reduceNode(node.condition, cbNode, result); result = reduceNode(node.incrementor, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: result = reduceNode(node.initializer, cbNode, result); result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 224 /* ReturnStatement */: - case 228 /* ThrowStatement */: + case 225 /* ReturnStatement */: + case 229 /* ThrowStatement */: result = reduceNode(node.expression, cbNode, result); break; - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.caseBlock, cbNode, result); break; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: result = reduceNode(node.label, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 229 /* TryStatement */: + case 230 /* TryStatement */: result = reduceNode(node.tryBlock, cbNode, result); result = reduceNode(node.catchClause, cbNode, result); result = reduceNode(node.finallyBlock, cbNode, result); break; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: result = reduceNodes(node.declarations, cbNodes, result); break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57367,7 +57666,7 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57375,139 +57674,139 @@ var ts; result = reduceNodes(node.heritageClauses, cbNodes, result); result = reduceNodes(node.members, cbNodes, result); break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.members, cbNodes, result); break; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: result = reduceNodes(node.statements, cbNodes, result); break; - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: result = reduceNodes(node.clauses, cbNodes, result); break; - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.moduleReference, cbNode, result); break; - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.importClause, cbNode, result); result = reduceNode(node.moduleSpecifier, cbNode, result); break; - case 244 /* ImportClause */: + case 245 /* ImportClause */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.namedBindings, cbNode, result); break; - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: result = reduceNode(node.name, cbNode, result); break; - case 246 /* NamedImports */: - case 250 /* NamedExports */: + case 247 /* NamedImports */: + case 251 /* NamedExports */: result = reduceNodes(node.elements, cbNodes, result); break; - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: result = reduceNode(node.propertyName, cbNode, result); result = reduceNode(node.name, cbNode, result); break; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: result = ts.reduceLeft(node.decorators, cbNode, result); result = ts.reduceLeft(node.modifiers, cbNode, result); result = reduceNode(node.expression, cbNode, result); break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: result = ts.reduceLeft(node.decorators, cbNode, result); result = ts.reduceLeft(node.modifiers, cbNode, result); result = reduceNode(node.exportClause, cbNode, result); result = reduceNode(node.moduleSpecifier, cbNode, result); break; // Module references - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: result = reduceNode(node.expression, cbNode, result); break; // JSX - case 254 /* JsxElement */: + case 255 /* JsxElement */: result = reduceNode(node.openingElement, cbNode, result); result = ts.reduceLeft(node.children, cbNode, result); result = reduceNode(node.closingElement, cbNode, result); break; - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: result = reduceNode(node.openingFragment, cbNode, result); result = ts.reduceLeft(node.children, cbNode, result); result = reduceNode(node.closingFragment, cbNode, result); break; - case 255 /* JsxSelfClosingElement */: - case 256 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: result = reduceNode(node.tagName, cbNode, result); result = reduceNode(node.attributes, cbNode, result); break; - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: result = reduceNodes(node.properties, cbNodes, result); break; - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: result = reduceNode(node.tagName, cbNode, result); break; - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 263 /* JsxSpreadAttribute */: + case 264 /* JsxSpreadAttribute */: result = reduceNode(node.expression, cbNode, result); break; - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: result = reduceNode(node.expression, cbNode, result); break; // Clauses - case 265 /* CaseClause */: + case 266 /* CaseClause */: result = reduceNode(node.expression, cbNode, result); // falls through - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: result = reduceNodes(node.statements, cbNodes, result); break; - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: result = reduceNodes(node.types, cbNodes, result); break; - case 268 /* CatchClause */: + case 269 /* CatchClause */: result = reduceNode(node.variableDeclaration, cbNode, result); result = reduceNode(node.block, cbNode, result); break; // Property assignments - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.objectAssignmentInitializer, cbNode, result); break; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: result = reduceNode(node.expression, cbNode, result); break; // Enum - case 272 /* EnumMember */: + case 273 /* EnumMember */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; // Top-level nodes - case 273 /* SourceFile */: + case 274 /* SourceFile */: result = reduceNodes(node.statements, cbNodes, result); break; // Transformation nodes - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: result = reduceNode(node.expression, cbNode, result); break; - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: result = reduceNodes(node.elements, cbNodes, result); break; default: @@ -57521,8 +57820,8 @@ var ts; return statements; } return ts.isNodeArray(statements) - ? ts.setTextRange(ts.createNodeArray(ts.concatenate(declarations, statements)), statements) - : ts.prependRange(statements, declarations); + ? ts.setTextRange(ts.createNodeArray(ts.prependStatements(statements.slice(), declarations)), statements) + : ts.prependStatements(statements, declarations); } ts.mergeLexicalEnvironment = mergeLexicalEnvironment; /** @@ -57580,7 +57879,7 @@ var ts; function aggregateTransformFlagsForSubtree(node) { // We do not transform ambient declarations or types, so there is no need to // recursively aggregate transform flags. - if (ts.hasModifier(node, 2 /* Ambient */) || (ts.isTypeNode(node) && node.kind !== 206 /* ExpressionWithTypeArguments */)) { + if (ts.hasModifier(node, 2 /* Ambient */) || (ts.isTypeNode(node) && node.kind !== 207 /* ExpressionWithTypeArguments */)) { return 0 /* None */; } // Aggregate the transform flags of each child. @@ -57630,7 +57929,7 @@ var ts; }); Object.defineProperties(ts.objectAllocator.getTypeConstructor().prototype, { __debugFlags: { get: function () { return ts.formatTypeFlags(this.flags); } }, - __debugObjectFlags: { get: function () { return this.flags & 65536 /* Object */ ? ts.formatObjectFlags(this.objectFlags) : ""; } }, + __debugObjectFlags: { get: function () { return this.flags & 131072 /* Object */ ? ts.formatObjectFlags(this.objectFlags) : ""; } }, __debugTypeToString: { value: function () { return this.checker.typeToString(this); } }, }); var nodeConstructors = [ @@ -57680,12 +57979,12 @@ var ts; return ts.some(node.elements, isNamedDefaultReference); } function isNamedDefaultReference(e) { - return e.propertyName && e.propertyName.escapedText === "default" /* Default */; + return e.propertyName !== undefined && e.propertyName.escapedText === "default" /* Default */; } function chainBundle(transformSourceFile) { return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - return node.kind === 273 /* SourceFile */ ? transformSourceFile(node) : transformBundle(node); + return node.kind === 274 /* SourceFile */ ? transformSourceFile(node) : transformBundle(node); } function transformBundle(node) { return ts.createBundle(ts.map(node.sourceFiles, transformSourceFile), node.prepends); @@ -57715,7 +58014,7 @@ var ts; ts.getImportNeedsImportStarHelper = getImportNeedsImportStarHelper; function getImportNeedsImportDefaultHelper(node) { // Import default is needed if there's a default import or a default ref and no other refs (meaning an import star helper wasn't requested) - return !getImportNeedsImportStarHelper(node) && (ts.isDefaultImport(node) || (node.importClause && ts.isNamedImports(node.importClause.namedBindings) && containsDefaultReference(node.importClause.namedBindings))); + return !getImportNeedsImportStarHelper(node) && (ts.isDefaultImport(node) || (!!node.importClause && ts.isNamedImports(node.importClause.namedBindings) && containsDefaultReference(node.importClause.namedBindings))); // TODO: GH#18217 } ts.getImportNeedsImportDefaultHelper = getImportNeedsImportDefaultHelper; function collectExternalModuleInfo(sourceFile, resolver, compilerOptions) { @@ -57731,7 +58030,7 @@ var ts; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var node = _a[_i]; switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: // import "mod" // import x from "mod" // import * as x from "mod" @@ -57739,13 +58038,13 @@ var ts; externalImports.push(node); hasImportStarOrImportDefault = hasImportStarOrImportDefault || getImportNeedsImportStarHelper(node) || getImportNeedsImportDefaultHelper(node); break; - case 242 /* ImportEqualsDeclaration */: - if (node.moduleReference.kind === 253 /* ExternalModuleReference */) { + case 243 /* ImportEqualsDeclaration */: + if (node.moduleReference.kind === 254 /* ExternalModuleReference */) { // import x = require("mod") externalImports.push(node); } break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: if (node.moduleSpecifier) { if (!node.exportClause) { // export * from "mod" @@ -57775,13 +58074,13 @@ var ts; } } break; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: if (node.isExportEquals && !exportEquals) { // export = x exportEquals = node; } break; - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: if (ts.hasModifier(node, 1 /* Export */)) { for (var _d = 0, _e = node.declarationList.declarations; _d < _e.length; _d++) { var decl = _e[_d]; @@ -57789,7 +58088,7 @@ var ts; } } break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: if (ts.hasModifier(node, 1 /* Export */)) { if (ts.hasModifier(node, 512 /* Default */)) { // export default function() { } @@ -57809,7 +58108,7 @@ var ts; } } break; - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: if (ts.hasModifier(node, 1 /* Export */)) { if (ts.hasModifier(node, 512 /* Default */)) { // export default class { } @@ -57942,7 +58241,7 @@ var ts; var flattenContext = { context: context, level: level, - downlevelIteration: context.getCompilerOptions().downlevelIteration, + downlevelIteration: !!context.getCompilerOptions().downlevelIteration, hoistTempVariables: true, emitExpression: emitExpression, emitBindingOrAssignment: emitBindingOrAssignment, @@ -58003,7 +58302,7 @@ var ts; } ts.flattenDestructuringAssignment = flattenDestructuringAssignment; function bindingOrAssignmentElementAssignsToName(element, escapedName) { - var target = ts.getTargetOfBindingOrAssignmentElement(element); + var target = ts.getTargetOfBindingOrAssignmentElement(element); // TODO: GH#18217 if (ts.isBindingOrAssignmentPattern(target)) { return bindingOrAssignmentPatternAssignsToName(target, escapedName); } @@ -58034,13 +58333,14 @@ var ts; * @param level Indicates the extent to which flattening should occur. */ function flattenDestructuringBinding(node, visitor, context, level, rval, hoistTempVariables, skipInitializer) { + if (hoistTempVariables === void 0) { hoistTempVariables = false; } var pendingExpressions; var pendingDeclarations = []; var declarations = []; var flattenContext = { context: context, level: level, - downlevelIteration: context.getCompilerOptions().downlevelIteration, + downlevelIteration: !!context.getCompilerOptions().downlevelIteration, hoistTempVariables: hoistTempVariables, emitExpression: emitExpression, emitBindingOrAssignment: emitBindingOrAssignment, @@ -58068,7 +58368,7 @@ var ts; } else { context.hoistVariableDeclaration(temp); - var pendingDeclaration = ts.lastOrUndefined(pendingDeclarations); + var pendingDeclaration = ts.last(pendingDeclarations); pendingDeclaration.pendingExpressions = ts.append(pendingDeclaration.pendingExpressions, ts.createAssignment(temp, pendingDeclaration.value)); ts.addRange(pendingDeclaration.pendingExpressions, pendingExpressions); pendingDeclaration.value = temp; @@ -58122,7 +58422,7 @@ var ts; value = ts.createVoidZero(); } } - var bindingTarget = ts.getTargetOfBindingOrAssignmentElement(element); + var bindingTarget = ts.getTargetOfBindingOrAssignmentElement(element); // TODO: GH#18217 if (ts.isObjectBindingOrAssignmentPattern(bindingTarget)) { flattenObjectBindingOrAssignmentPattern(flattenContext, element, bindingTarget, value, location); } @@ -58130,7 +58430,7 @@ var ts; flattenArrayBindingOrAssignmentPattern(flattenContext, element, bindingTarget, value, location); } else { - flattenContext.emitBindingOrAssignment(bindingTarget, value, location, /*original*/ element); + flattenContext.emitBindingOrAssignment(bindingTarget, value, location, /*original*/ element); // TODO: GH#18217 } } /** @@ -58182,7 +58482,7 @@ var ts; flattenContext.emitBindingOrAssignment(flattenContext.createObjectBindingOrAssignmentPattern(bindingElements), value, location, pattern); bindingElements = undefined; } - var rhsValue = createRestCall(flattenContext.context, value, elements, computedTempVariables, pattern); + var rhsValue = createRestCall(flattenContext.context, value, elements, computedTempVariables, pattern); // TODO: GH#18217 flattenBindingOrAssignmentElement(flattenContext, element, rhsValue, element); } } @@ -58424,8 +58724,8 @@ var ts; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; // Enable substitution for property/element access to emit const enum values. - context.enableSubstitution(184 /* PropertyAccessExpression */); - context.enableSubstitution(185 /* ElementAccessExpression */); + context.enableSubstitution(185 /* PropertyAccessExpression */); + context.enableSubstitution(186 /* ElementAccessExpression */); // These variables contain state that changes as we descend into the tree. var currentSourceFile; var currentNamespace; @@ -58454,14 +58754,14 @@ var ts; var pendingExpressions; return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - if (node.kind === 274 /* Bundle */) { + if (node.kind === 275 /* Bundle */) { return transformBundle(node); } return transformSourceFile(node); } function transformBundle(node) { return ts.createBundle(node.sourceFiles.map(transformSourceFile), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 276 /* InputFiles */) { + if (prepend.kind === 277 /* InputFiles */) { return ts.createUnparsedSourceFile(prepend.javascriptText); } return prepend; @@ -58508,15 +58808,15 @@ var ts; */ function onBeforeVisitNode(node) { switch (node.kind) { - case 273 /* SourceFile */: - case 240 /* CaseBlock */: - case 239 /* ModuleBlock */: - case 212 /* Block */: + case 274 /* SourceFile */: + case 241 /* CaseBlock */: + case 240 /* ModuleBlock */: + case 213 /* Block */: currentScope = node; currentScopeFirstDeclarationsOfName = undefined; break; - case 234 /* ClassDeclaration */: - case 233 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 234 /* FunctionDeclaration */: if (ts.hasModifier(node, 2 /* Ambient */)) { break; } @@ -58528,7 +58828,7 @@ var ts; // These nodes should always have names unless they are default-exports; // however, class declaration parsing allows for undefined names, so syntactically invalid // programs may also have an undefined name. - ts.Debug.assert(node.kind === 234 /* ClassDeclaration */ || ts.hasModifier(node, 512 /* Default */)); + ts.Debug.assert(node.kind === 235 /* ClassDeclaration */ || ts.hasModifier(node, 512 /* Default */)); } break; } @@ -58572,10 +58872,10 @@ var ts; */ function sourceElementVisitorWorker(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 248 /* ExportAssignment */: - case 249 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 249 /* ExportAssignment */: + case 250 /* ExportDeclaration */: return visitEllidableStatement(node); default: return visitorWorker(node); @@ -58596,13 +58896,13 @@ var ts; return node; } switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return visitImportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitExportAssignment(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return visitExportDeclaration(node); default: ts.Debug.fail("Unhandled ellided statement"); @@ -58622,11 +58922,11 @@ var ts; * @param node The node to visit. */ function namespaceElementVisitorWorker(node) { - if (node.kind === 249 /* ExportDeclaration */ || - node.kind === 243 /* ImportDeclaration */ || - node.kind === 244 /* ImportClause */ || - (node.kind === 242 /* ImportEqualsDeclaration */ && - node.moduleReference.kind === 253 /* ExternalModuleReference */)) { + if (node.kind === 250 /* ExportDeclaration */ || + node.kind === 244 /* ImportDeclaration */ || + node.kind === 245 /* ImportClause */ || + (node.kind === 243 /* ImportEqualsDeclaration */ && + node.moduleReference.kind === 254 /* ExternalModuleReference */)) { // do not emit ES6 imports and exports since they are illegal inside a namespace return undefined; } @@ -58656,19 +58956,19 @@ var ts; */ function classElementVisitorWorker(node) { switch (node.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: // TypeScript constructors are transformed in `visitClassDeclaration`. // We elide them here as `visitorWorker` checks transform flags, which could // erronously include an ES6 constructor without TypeScript syntax. return undefined; - case 151 /* PropertyDeclaration */: - case 159 /* IndexSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 153 /* MethodDeclaration */: + case 152 /* PropertyDeclaration */: + case 160 /* IndexSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 154 /* MethodDeclaration */: // Fallback to the default visit behavior. return visitorWorker(node); - case 211 /* SemicolonClassElement */: + case 212 /* SemicolonClassElement */: return node; default: return ts.Debug.failBadSyntaxKind(node); @@ -58707,52 +59007,53 @@ var ts; case 124 /* DeclareKeyword */: case 132 /* ReadonlyKeyword */: // TypeScript accessibility and readonly modifiers are elided. - case 166 /* ArrayType */: - case 167 /* TupleType */: - case 165 /* TypeLiteral */: - case 160 /* TypePredicate */: - case 147 /* TypeParameter */: + case 167 /* ArrayType */: + case 168 /* TupleType */: + case 166 /* TypeLiteral */: + case 161 /* TypePredicate */: + case 148 /* TypeParameter */: case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 122 /* BooleanKeyword */: case 137 /* StringKeyword */: case 134 /* NumberKeyword */: case 131 /* NeverKeyword */: case 105 /* VoidKeyword */: case 138 /* SymbolKeyword */: - case 163 /* ConstructorType */: - case 162 /* FunctionType */: - case 164 /* TypeQuery */: - case 161 /* TypeReference */: - case 168 /* UnionType */: - case 169 /* IntersectionType */: - case 170 /* ConditionalType */: - case 172 /* ParenthesizedType */: - case 173 /* ThisType */: - case 174 /* TypeOperator */: - case 175 /* IndexedAccessType */: - case 176 /* MappedType */: - case 177 /* LiteralType */: + case 164 /* ConstructorType */: + case 163 /* FunctionType */: + case 165 /* TypeQuery */: + case 162 /* TypeReference */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: + case 171 /* ConditionalType */: + case 173 /* ParenthesizedType */: + case 174 /* ThisType */: + case 175 /* TypeOperator */: + case 176 /* IndexedAccessType */: + case 177 /* MappedType */: + case 178 /* LiteralType */: // TypeScript type nodes are elided. - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: // TypeScript index signatures are elided. - case 149 /* Decorator */: + case 150 /* Decorator */: // TypeScript decorators are elided. They will be emitted as part of visitClassDeclaration. - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: // TypeScript type-only declarations are elided. return undefined; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: // TypeScript property declarations are elided. However their names are still visited, and can potentially be retained if they could have sideeffects return visitPropertyDeclaration(node); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: // TypeScript namespace export declarations are elided. return undefined; - case 154 /* Constructor */: + case 155 /* Constructor */: return visitConstructor(node); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: // TypeScript interfaces are elided, but some comments may be preserved. // See the implementation of `getLeadingComments` in comments.ts for more details. return ts.createNotEmittedStatement(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: // This is a class declaration with TypeScript syntax extensions. // // TypeScript class syntax extensions include: @@ -58763,7 +59064,7 @@ var ts; // - index signatures // - method overload signatures return visitClassDeclaration(node); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: // This is a class expression with TypeScript syntax extensions. // // TypeScript class syntax extensions include: @@ -58774,35 +59075,35 @@ var ts; // - index signatures // - method overload signatures return visitClassExpression(node); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: // This is a heritage clause with TypeScript syntax extensions. // // TypeScript heritage clause extensions include: // - `implements` clause return visitHeritageClause(node); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: // TypeScript supports type arguments on an expression in an `extends` heritage clause. return visitExpressionWithTypeArguments(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: // TypeScript method declarations may have decorators, modifiers // or type annotations. return visitMethodDeclaration(node); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: // Get Accessors can have TypeScript modifiers, decorators, and type annotations. return visitGetAccessor(node); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: // Set Accessors can have TypeScript modifiers and type annotations. return visitSetAccessor(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: // Typescript function declarations can have modifiers, decorators, and type annotations. return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: // TypeScript function expressions can have modifiers and type annotations. return visitFunctionExpression(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: // TypeScript arrow functions can have modifiers and type annotations. return visitArrowFunction(node); - case 148 /* Parameter */: + case 149 /* Parameter */: // This is a parameter declaration with TypeScript syntax extensions. // // TypeScript parameter declaration syntax extensions include: @@ -58812,35 +59113,35 @@ var ts; // - type annotations // - this parameters return visitParameter(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: // ParenthesizedExpressions are TypeScript if their expression is a // TypeAssertion or AsExpression return visitParenthesizedExpression(node); - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: // TypeScript type assertions are removed, but their subtrees are preserved. return visitAssertionExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return visitCallExpression(node); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return visitNewExpression(node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: // TypeScript non-null expressions are removed, but their subtrees are preserved. return visitNonNullExpression(node); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: // TypeScript enum declarations do not exist in ES6 and must be rewritten. return visitEnumDeclaration(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: // TypeScript namespace exports for variable statements must be transformed. return visitVariableStatement(node); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return visitVariableDeclaration(node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: // TypeScript namespace declarations must be transformed. return visitModuleDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: // TypeScript namespace or external module import. return visitImportEqualsDeclaration(node); default: @@ -58849,7 +59150,8 @@ var ts; } function visitSourceFile(node) { var alwaysStrict = ts.getStrictOptionValue(compilerOptions, "alwaysStrict") && - !(ts.isExternalModule(node) && moduleKind >= ts.ModuleKind.ES2015); + !(ts.isExternalModule(node) && moduleKind >= ts.ModuleKind.ES2015) && + !ts.isJsonSourceFile(node); return ts.updateSourceFileNode(node, ts.visitLexicalEnvironment(node.statements, sourceElementVisitor, context, /*start*/ 0, alwaysStrict)); } /** @@ -58956,7 +59258,7 @@ var ts; statement.pos = closingBraceLocation.pos; ts.setEmitFlags(statement, 1536 /* NoComments */ | 384 /* NoTokenSourceMaps */); statements.push(statement); - ts.prependRange(statements, context.endLexicalEnvironment()); + ts.prependStatements(statements, context.endLexicalEnvironment()); var iife = ts.createImmediatelyInvokedArrowFunction(statements); ts.setEmitFlags(iife, 33554432 /* TypeScriptClassWrapper */); var varStatement = ts.createVariableStatement( @@ -59321,7 +59623,7 @@ var ts; return index; } var statement = statements[index]; - if (statement.kind === 215 /* ExpressionStatement */ && ts.isSuperCall(statement.expression)) { + if (statement.kind === 216 /* ExpressionStatement */ && ts.isSuperCall(statement.expression)) { result.push(ts.visitNode(statement, visitor, ts.isStatement)); return index + 1; } @@ -59392,7 +59694,7 @@ var ts; * @param isStatic A value indicating whether the member should be a static or instance member. */ function isInitializedProperty(member, isStatic) { - return member.kind === 151 /* PropertyDeclaration */ + return member.kind === 152 /* PropertyDeclaration */ && isStatic === ts.hasModifier(member, 32 /* Static */) && member.initializer !== undefined; } @@ -59530,12 +59832,12 @@ var ts; */ function getAllDecoratorsOfClassElement(node, member) { switch (member.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return getAllDecoratorsOfAccessors(node, member); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return getAllDecoratorsOfMethod(member); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return getAllDecoratorsOfProperty(member); default: return undefined; @@ -59688,7 +59990,7 @@ var ts; var prefix = getClassMemberPrefix(node, member); var memberName = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/ true); var descriptor = languageVersion > 0 /* ES3 */ - ? member.kind === 151 /* PropertyDeclaration */ + ? member.kind === 152 /* PropertyDeclaration */ // We emit `void 0` here to indicate to `__decorate` that it can invoke `Object.defineProperty` directly, but that it // should not invoke `Object.getOwnPropertyDescriptor`. ? ts.createVoidZero() @@ -59811,10 +60113,10 @@ var ts; */ function shouldAddTypeMetadata(node) { var kind = node.kind; - return kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */ - || kind === 151 /* PropertyDeclaration */; + return kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */ + || kind === 152 /* PropertyDeclaration */; } /** * Determines whether to emit the "design:returntype" metadata based on the node's kind. @@ -59824,7 +60126,7 @@ var ts; * @param node The node to test. */ function shouldAddReturnTypeMetadata(node) { - return node.kind === 153 /* MethodDeclaration */; + return node.kind === 154 /* MethodDeclaration */; } /** * Determines whether to emit the "design:paramtypes" metadata based on the node's kind. @@ -59835,12 +60137,12 @@ var ts; */ function shouldAddParamTypesMetadata(node) { switch (node.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return ts.getFirstConstructorWithBody(node) !== undefined; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return true; } return false; @@ -59852,15 +60154,15 @@ var ts; */ function serializeTypeOfNode(node) { switch (node.kind) { - case 151 /* PropertyDeclaration */: - case 148 /* Parameter */: - case 155 /* GetAccessor */: + case 152 /* PropertyDeclaration */: + case 149 /* Parameter */: + case 156 /* GetAccessor */: return serializeTypeNode(node.type); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return serializeTypeNode(ts.getSetAccessorTypeAnnotationNode(node)); - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 153 /* MethodDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 154 /* MethodDeclaration */: return ts.createIdentifier("Function"); default: return ts.createVoidZero(); @@ -59897,7 +60199,7 @@ var ts; return ts.createArrayLiteral(expressions); } function getParametersOfDecoratedDeclaration(node, container) { - if (container && node.kind === 155 /* GetAccessor */) { + if (container && node.kind === 156 /* GetAccessor */) { var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor; if (setAccessor) { return setAccessor.parameters; @@ -59947,22 +60249,22 @@ var ts; case 95 /* NullKeyword */: case 131 /* NeverKeyword */: return ts.createVoidZero(); - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return serializeTypeNode(node.type); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: return ts.createIdentifier("Function"); - case 166 /* ArrayType */: - case 167 /* TupleType */: + case 167 /* ArrayType */: + case 168 /* TupleType */: return ts.createIdentifier("Array"); - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: case 122 /* BooleanKeyword */: return ts.createIdentifier("Boolean"); case 137 /* StringKeyword */: return ts.createIdentifier("String"); case 135 /* ObjectKeyword */: return ts.createIdentifier("Object"); - case 177 /* LiteralType */: + case 178 /* LiteralType */: switch (node.literal.kind) { case 9 /* StringLiteral */: return ts.createIdentifier("String"); @@ -59980,18 +60282,19 @@ var ts; return languageVersion < 2 /* ES2015 */ ? getGlobalSymbolNameWithFallback() : ts.createIdentifier("Symbol"); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return serializeTypeReferenceNode(node); - case 169 /* IntersectionType */: - case 168 /* UnionType */: + case 170 /* IntersectionType */: + case 169 /* UnionType */: return serializeUnionOrIntersectionType(node); - case 164 /* TypeQuery */: - case 174 /* TypeOperator */: - case 175 /* IndexedAccessType */: - case 176 /* MappedType */: - case 165 /* TypeLiteral */: + case 165 /* TypeQuery */: + case 175 /* TypeOperator */: + case 176 /* IndexedAccessType */: + case 177 /* MappedType */: + case 166 /* TypeLiteral */: case 119 /* AnyKeyword */: - case 173 /* ThisType */: + case 142 /* UnknownKeyword */: + case 174 /* ThisType */: break; default: return ts.Debug.failBadSyntaxKind(node); @@ -60004,7 +60307,7 @@ var ts; var serializedUnion; for (var _i = 0, _a = node.types; _i < _a.length; _i++) { var typeNode = _a[_i]; - while (typeNode.kind === 172 /* ParenthesizedType */) { + while (typeNode.kind === 173 /* ParenthesizedType */) { typeNode = typeNode.type; // Skip parens if need be } if (typeNode.kind === 131 /* NeverKeyword */) { @@ -60043,7 +60346,8 @@ var ts; * @param node The type reference node. */ function serializeTypeReferenceNode(node) { - switch (resolver.getTypeReferenceSerializationKind(node.typeName, currentScope)) { + var kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentScope); + switch (kind) { case ts.TypeReferenceSerializationKind.Unknown: var serialized = serializeEntityNameAsExpression(node.typeName, /*useFallback*/ true); var temp = ts.createTempVariable(hoistVariableDeclaration); @@ -60069,8 +60373,9 @@ var ts; case ts.TypeReferenceSerializationKind.Promise: return ts.createIdentifier("Promise"); case ts.TypeReferenceSerializationKind.ObjectType: - default: return ts.createIdentifier("Object"); + default: + return ts.Debug.assertNever(kind); } } /** @@ -60093,7 +60398,7 @@ var ts; return ts.createLogicalAnd(ts.createStrictInequality(ts.createTypeOf(name), ts.createLiteral("undefined")), name); } return name; - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return serializeQualifiedNameAsExpression(node, useFallback); } } @@ -60579,7 +60884,7 @@ var ts; var statements = []; startLexicalEnvironment(); var members = ts.map(node.members, transformEnumMember); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); ts.addRange(statements, members); currentNamespaceContainerName = savedCurrentNamespaceLocalName; return ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), /*location*/ node.members), @@ -60628,7 +60933,7 @@ var ts; * @param node The module declaration node. */ function shouldEmitModuleDeclaration(node) { - return ts.isInstantiatedModule(node, compilerOptions.preserveConstEnums || compilerOptions.isolatedModules); + return ts.isInstantiatedModule(node, !!compilerOptions.preserveConstEnums || !!compilerOptions.isolatedModules); } /** * Determines whether an exported declaration will have a qualified export name (e.g. `f.x` @@ -60678,12 +60983,12 @@ var ts; // enums in any other scope are emitted as a `let` declaration. var statement = ts.createVariableStatement(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.createVariableDeclarationList([ ts.createVariableDeclaration(ts.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true)) - ], currentScope.kind === 273 /* SourceFile */ ? 0 /* None */ : 1 /* Let */)); + ], currentScope.kind === 274 /* SourceFile */ ? 0 /* None */ : 1 /* Let */)); ts.setOriginalNode(statement, node); recordEmittedDeclarationInScope(node); if (isFirstEmittedDeclarationInScope(node)) { // Adjust the source map emit to match the old emitter. - if (node.kind === 237 /* EnumDeclaration */) { + if (node.kind === 238 /* EnumDeclaration */) { ts.setSourceMapRange(statement.declarationList, node); } else { @@ -60802,7 +61107,7 @@ var ts; var statementsLocation; var blockLocation; var body = node.body; - if (body.kind === 239 /* ModuleBlock */) { + if (body.kind === 240 /* ModuleBlock */) { saveStateAndInvoke(body, function (body) { return ts.addRange(statements, ts.visitNodes(body.statements, namespaceElementVisitor, ts.isStatement)); }); statementsLocation = body.statements; blockLocation = body; @@ -60820,7 +61125,7 @@ var ts; var moduleBlock = getInnerMostModuleDeclarationFromDottedModule(node).body; statementsLocation = ts.moveRangePos(moduleBlock.statements, -1); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); currentNamespaceContainerName = savedCurrentNamespaceContainerName; currentNamespace = savedCurrentNamespace; currentScopeFirstDeclarationsOfName = savedCurrentScopeFirstDeclarationsOfName; @@ -60848,13 +61153,13 @@ var ts; // })(hi = hello.hi || (hello.hi = {})); // })(hello || (hello = {})); // We only want to emit comment on the namespace which contains block body itself, not the containing namespaces. - if (body.kind !== 239 /* ModuleBlock */) { + if (body.kind !== 240 /* ModuleBlock */) { ts.setEmitFlags(block, ts.getEmitFlags(block) | 1536 /* NoComments */); } return block; } function getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration) { - if (moduleDeclaration.body.kind === 238 /* ModuleDeclaration */) { + if (moduleDeclaration.body.kind === 239 /* ModuleDeclaration */) { var recursiveInnerModule = getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration.body); return recursiveInnerModule || moduleDeclaration.body; } @@ -60895,7 +61200,7 @@ var ts; * @param node The named import bindings node. */ function visitNamedImportBindings(node) { - if (node.kind === 245 /* NamespaceImport */) { + if (node.kind === 246 /* NamespaceImport */) { // Elide a namespace import if it is not referenced. return resolver.isReferencedAliasDeclaration(node) ? node : undefined; } @@ -61127,16 +61432,16 @@ var ts; // We need to enable substitutions for identifiers and shorthand property assignments. This allows us to // substitute the names of exported members of a namespace. context.enableSubstitution(71 /* Identifier */); - context.enableSubstitution(270 /* ShorthandPropertyAssignment */); + context.enableSubstitution(271 /* ShorthandPropertyAssignment */); // We need to be notified when entering and exiting namespaces. - context.enableEmitNotification(238 /* ModuleDeclaration */); + context.enableEmitNotification(239 /* ModuleDeclaration */); } } function isTransformedModuleDeclaration(node) { - return ts.getOriginalNode(node).kind === 238 /* ModuleDeclaration */; + return ts.getOriginalNode(node).kind === 239 /* ModuleDeclaration */; } function isTransformedEnumDeclaration(node) { - return ts.getOriginalNode(node).kind === 237 /* EnumDeclaration */; + return ts.getOriginalNode(node).kind === 238 /* EnumDeclaration */; } /** * Hook for node emit. @@ -61197,9 +61502,9 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return substituteExpressionIdentifier(node); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return substituteElementAccessExpression(node); } return node; @@ -61219,7 +61524,7 @@ var ts; // constructor references in static property initializers. var declaration = resolver.getReferencedValueDeclaration(node); if (declaration) { - var classAlias = classAliases[declaration.id]; + var classAlias = classAliases[declaration.id]; // TODO: GH#18217 if (classAlias) { var clone_1 = ts.getSynthesizedClone(classAlias); ts.setSourceMapRange(clone_1, node); @@ -61237,9 +61542,9 @@ var ts; // If we are nested within a namespace declaration, we may need to qualifiy // an identifier that is exported from a merged namespace. var container = resolver.getReferencedExportContainer(node, /*prefixLocals*/ false); - if (container && container.kind !== 273 /* SourceFile */) { - var substitute = (applicableSubstitutions & 2 /* NamespaceExports */ && container.kind === 238 /* ModuleDeclaration */) || - (applicableSubstitutions & 8 /* NonQualifiedEnumMembers */ && container.kind === 237 /* EnumDeclaration */); + if (container && container.kind !== 274 /* SourceFile */) { + var substitute = (applicableSubstitutions & 2 /* NamespaceExports */ && container.kind === 239 /* ModuleDeclaration */) || + (applicableSubstitutions & 8 /* NonQualifiedEnumMembers */ && container.kind === 238 /* EnumDeclaration */); if (substitute) { return ts.setTextRange(ts.createPropertyAccess(ts.getGeneratedNameForNode(container), node), /*location*/ node); @@ -61374,15 +61679,15 @@ var ts; case 120 /* AsyncKeyword */: // ES2017 async modifier should be elided for targets < ES2017 return undefined; - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return visitAwaitExpression(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return visitMethodDeclaration(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return visitArrowFunction(node); default: return ts.visitEachChild(node, visitor, context); @@ -61391,27 +61696,27 @@ var ts; function asyncBodyVisitor(node) { if (ts.isNodeWithPossibleHoistedDeclaration(node)) { switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatementInAsyncBody(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatementInAsyncBody(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatementInAsyncBody(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatementInAsyncBody(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitCatchClauseInAsyncBody(node); - case 212 /* Block */: - case 226 /* SwitchStatement */: - case 240 /* CaseBlock */: - case 265 /* CaseClause */: - case 266 /* DefaultClause */: - case 229 /* TryStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 216 /* IfStatement */: - case 225 /* WithStatement */: - case 227 /* LabeledStatement */: + case 213 /* Block */: + case 227 /* SwitchStatement */: + case 241 /* CaseBlock */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: + case 230 /* TryStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 217 /* IfStatement */: + case 226 /* WithStatement */: + case 228 /* LabeledStatement */: return ts.visitEachChild(node, asyncBodyVisitor, context); default: return ts.Debug.assertNever(node, "Unhandled node."); @@ -61421,7 +61726,7 @@ var ts; } function visitCatchClauseInAsyncBody(node) { var catchClauseNames = ts.createUnderscoreEscapedMap(); - recordDeclarationName(node.variableDeclaration, catchClauseNames); + recordDeclarationName(node.variableDeclaration, catchClauseNames); // TODO: GH#18217 // names declared in a catch variable are block scoped var catchClauseUnshadowedNames; catchClauseNames.forEach(function (_, escapedName) { @@ -61461,8 +61766,9 @@ var ts; : ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.expression, visitor, ts.isExpression), ts.visitNode(node.statement, asyncBodyVisitor, ts.isStatement, ts.liftToBlock)); } function visitForStatementInAsyncBody(node) { - return ts.updateFor(node, isVariableDeclarationListWithCollidingName(node.initializer) - ? visitVariableDeclarationListWithCollidingNames(node.initializer, /*hasReceiver*/ false) + var initializer = node.initializer; // TODO: GH#18217 + return ts.updateFor(node, isVariableDeclarationListWithCollidingName(initializer) + ? visitVariableDeclarationListWithCollidingNames(initializer, /*hasReceiver*/ false) : ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.condition, visitor, ts.isExpression), ts.visitNode(node.incrementor, visitor, ts.isExpression), ts.visitNode(node.statement, asyncBodyVisitor, ts.isStatement, ts.liftToBlock)); } /** @@ -61554,10 +61860,10 @@ var ts; } } function isVariableDeclarationListWithCollidingName(node) { - return node + return !!node && ts.isVariableDeclarationList(node) && !(node.flags & 3 /* BlockScoped */) - && ts.forEach(node.declarations, collidesWithParameterName); + && node.declarations.some(collidesWithParameterName); } function visitVariableDeclarationListWithCollidingNames(node, hasReceiver) { hoistVariableDeclarationList(node); @@ -61611,7 +61917,7 @@ var ts; var original = ts.getOriginalNode(node, ts.isFunctionLike); var nodeType = original.type; var promiseConstructor = languageVersion < 2 /* ES2015 */ ? getPromiseConstructor(nodeType) : undefined; - var isArrowFunction = node.kind === 192 /* ArrowFunction */; + var isArrowFunction = node.kind === 193 /* ArrowFunction */; var hasLexicalArguments = (resolver.getNodeCheckFlags(node) & 8192 /* CaptureArguments */) !== 0; // An async function is emit as an outer function that calls an inner // generator function. To preserve lexical bindings, we pass the current @@ -61629,7 +61935,7 @@ var ts; var statements = []; var statementOffset = ts.addPrologue(statements, node.body.statements, /*ensureUseStrict*/ false, visitor); statements.push(ts.createReturn(createAwaiterHelper(context, hasLexicalArguments, promiseConstructor, transformAsyncFunctionBodyWorker(node.body, statementOffset)))); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.createBlock(statements, /*multiLine*/ true); ts.setTextRange(block, node.body); // Minor optimization, emit `_super` helper to capture `super` access in an arrow. @@ -61684,15 +61990,15 @@ var ts; enabledSubstitutions |= 1 /* AsyncMethodsWithSuper */; // We need to enable substitutions for call, property access, and element access // if we need to rewrite super calls. - context.enableSubstitution(186 /* CallExpression */); - context.enableSubstitution(184 /* PropertyAccessExpression */); - context.enableSubstitution(185 /* ElementAccessExpression */); + context.enableSubstitution(187 /* CallExpression */); + context.enableSubstitution(185 /* PropertyAccessExpression */); + context.enableSubstitution(186 /* ElementAccessExpression */); // We need to be notified when entering and exiting declarations that bind super. - context.enableEmitNotification(234 /* ClassDeclaration */); - context.enableEmitNotification(153 /* MethodDeclaration */); - context.enableEmitNotification(155 /* GetAccessor */); - context.enableEmitNotification(156 /* SetAccessor */); - context.enableEmitNotification(154 /* Constructor */); + context.enableEmitNotification(235 /* ClassDeclaration */); + context.enableEmitNotification(154 /* MethodDeclaration */); + context.enableEmitNotification(156 /* GetAccessor */); + context.enableEmitNotification(157 /* SetAccessor */); + context.enableEmitNotification(155 /* Constructor */); } } /** @@ -61732,11 +62038,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return substituteElementAccessExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return substituteCallExpression(node); } return node; @@ -61768,11 +62074,11 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 234 /* ClassDeclaration */ - || kind === 154 /* Constructor */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */; + return kind === 235 /* ClassDeclaration */ + || kind === 155 /* Constructor */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */; } function createSuperAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096 /* AsyncMethodWithSuperBinding */) { @@ -61867,45 +62173,47 @@ var ts; return node; } switch (node.kind) { - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return visitAwaitExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return visitYieldExpression(node); - case 227 /* LabeledStatement */: + case 225 /* ReturnStatement */: + return visitReturnStatement(node); + case 228 /* LabeledStatement */: return visitLabeledStatement(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitBinaryExpression(node, noDestructuringValue); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return visitVariableDeclaration(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatement(node, /*outermostLabeledStatement*/ undefined); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return visitVoidExpression(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return visitConstructorDeclaration(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return visitMethodDeclaration(node); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: return visitGetAccessorDeclaration(node); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return visitSetAccessorDeclaration(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return visitArrowFunction(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return visitParameter(node); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return visitExpressionStatement(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return visitParenthesizedExpression(node, noDestructuringValue); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitCatchClause(node); default: return ts.visitEachChild(node, visitor, context); @@ -61930,10 +62238,16 @@ var ts; } return ts.visitEachChild(node, visitor, context); } + function visitReturnStatement(node) { + if (enclosingFunctionFlags & 2 /* Async */ && enclosingFunctionFlags & 1 /* Generator */) { + return ts.updateReturn(node, createDownlevelAwait(node.expression ? ts.visitNode(node.expression, visitor, ts.isExpression) : ts.createVoidZero())); + } + return ts.visitEachChild(node, visitor, context); + } function visitLabeledStatement(node) { if (enclosingFunctionFlags & 2 /* Async */) { var statement = ts.unwrapInnermostStatementOfLabel(node); - if (statement.kind === 221 /* ForOfStatement */ && statement.awaitModifier) { + if (statement.kind === 222 /* ForOfStatement */ && statement.awaitModifier) { return visitForOfStatement(statement, node); } return ts.restoreEnclosingLabel(ts.visitEachChild(statement, visitor, context), node); @@ -61945,7 +62259,7 @@ var ts; var objects = []; for (var _i = 0, elements_4 = elements; _i < elements_4.length; _i++) { var e = elements_4[_i]; - if (e.kind === 271 /* SpreadAssignment */) { + if (e.kind === 272 /* SpreadAssignment */) { if (chunkObject) { objects.push(ts.createObjectLiteral(chunkObject)); chunkObject = undefined; @@ -61954,7 +62268,7 @@ var ts; objects.push(ts.visitNode(target, visitor, ts.isExpression)); } else { - chunkObject = ts.append(chunkObject, e.kind === 269 /* PropertyAssignment */ + chunkObject = ts.append(chunkObject, e.kind === 270 /* PropertyAssignment */ ? ts.createPropertyAssignment(e.name, ts.visitNode(e.initializer, visitor, ts.isExpression)) : ts.visitNode(e, visitor, ts.isObjectLiteralElementLike)); } @@ -61972,7 +62286,7 @@ var ts; // If the first element is a spread element, then the first argument to __assign is {}: // { ...o, a, b, ...o2 } => __assign({}, o, {a, b}, o2) var objects = chunkObjectLiteralElements(node.properties); - if (objects.length && objects[0].kind !== 183 /* ObjectLiteralExpression */) { + if (objects.length && objects[0].kind !== 184 /* ObjectLiteralExpression */) { objects.unshift(ts.createObjectLiteral()); } return createAssignHelper(context, objects); @@ -62106,7 +62420,7 @@ var ts; ]), node.expression), 2097152 /* NoHoisting */), /*condition*/ ts.createComma(ts.createAssignment(result, createDownlevelAwait(callNext)), ts.createLogicalNot(getDone)), /*incrementor*/ undefined, - /*statement*/ convertForOfStatementHead(node, createDownlevelAwait(getValue))), + /*statement*/ convertForOfStatementHead(node, getValue)), /*location*/ node), 256 /* NoTokenTrailingSourceMaps */); return ts.createTry(ts.createBlock([ ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement) @@ -62228,7 +62542,7 @@ var ts; /*typeParameters*/ undefined, /*parameters*/ [], /*type*/ undefined, ts.updateBlock(node.body, ts.visitLexicalEnvironment(node.body.statements, visitor, context, statementOffset)))))); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.updateBlock(node.body, statements); // Minor optimization, emit `_super` helper to capture `super` access in an arrow. // This step isn't needed if we eventually transform this to ES5. @@ -62256,7 +62570,7 @@ var ts; var leadingStatements = endLexicalEnvironment(); if (statementOffset > 0 || ts.some(statements) || ts.some(leadingStatements)) { var block = ts.convertToFunctionBody(body, /*multiLine*/ true); - ts.prependRange(statements, leadingStatements); + ts.prependStatements(statements, leadingStatements); ts.addRange(statements, block.statements.slice(statementOffset)); return ts.updateBlock(block, ts.setTextRange(ts.createNodeArray(statements), block.statements)); } @@ -62285,15 +62599,15 @@ var ts; enabledSubstitutions |= 1 /* AsyncMethodsWithSuper */; // We need to enable substitutions for call, property access, and element access // if we need to rewrite super calls. - context.enableSubstitution(186 /* CallExpression */); - context.enableSubstitution(184 /* PropertyAccessExpression */); - context.enableSubstitution(185 /* ElementAccessExpression */); + context.enableSubstitution(187 /* CallExpression */); + context.enableSubstitution(185 /* PropertyAccessExpression */); + context.enableSubstitution(186 /* ElementAccessExpression */); // We need to be notified when entering and exiting declarations that bind super. - context.enableEmitNotification(234 /* ClassDeclaration */); - context.enableEmitNotification(153 /* MethodDeclaration */); - context.enableEmitNotification(155 /* GetAccessor */); - context.enableEmitNotification(156 /* SetAccessor */); - context.enableEmitNotification(154 /* Constructor */); + context.enableEmitNotification(235 /* ClassDeclaration */); + context.enableEmitNotification(154 /* MethodDeclaration */); + context.enableEmitNotification(156 /* GetAccessor */); + context.enableEmitNotification(157 /* SetAccessor */); + context.enableEmitNotification(155 /* Constructor */); } } /** @@ -62333,11 +62647,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return substituteElementAccessExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return substituteCallExpression(node); } return node; @@ -62369,11 +62683,11 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 234 /* ClassDeclaration */ - || kind === 154 /* Constructor */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */; + return kind === 235 /* ClassDeclaration */ + || kind === 155 /* Constructor */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */; } function createSuperAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096 /* AsyncMethodWithSuperBinding */) { @@ -62482,13 +62796,13 @@ var ts; } function visitorWorker(node) { switch (node.kind) { - case 254 /* JsxElement */: + case 255 /* JsxElement */: return visitJsxElement(node, /*isChild*/ false); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return visitJsxSelfClosingElement(node, /*isChild*/ false); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return visitJsxFragment(node, /*isChild*/ false); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return visitJsxExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -62498,13 +62812,13 @@ var ts; switch (node.kind) { case 10 /* JsxText */: return visitJsxText(node); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return visitJsxExpression(node); - case 254 /* JsxElement */: + case 255 /* JsxElement */: return visitJsxElement(node, /*isChild*/ true); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return visitJsxSelfClosingElement(node, /*isChild*/ true); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return visitJsxFragment(node, /*isChild*/ true); default: return ts.Debug.failBadSyntaxKind(node); @@ -62545,14 +62859,16 @@ var ts; objectProperties = ts.createAssignHelper(context, segments); } } - var element = ts.createExpressionForJsxElement(context.getEmitResolver().getJsxFactoryEntity(currentSourceFile), compilerOptions.reactNamespace, tagName, objectProperties, ts.mapDefined(children, transformJsxChildToExpression), node, location); + var element = ts.createExpressionForJsxElement(context.getEmitResolver().getJsxFactoryEntity(currentSourceFile), compilerOptions.reactNamespace, // TODO: GH#18217 + tagName, objectProperties, ts.mapDefined(children, transformJsxChildToExpression), node, location); if (isChild) { ts.startOnNewLine(element); } return element; } function visitJsxOpeningFragment(node, children, isChild, location) { - var element = ts.createExpressionForJsxFragment(context.getEmitResolver().getJsxFactoryEntity(currentSourceFile), compilerOptions.reactNamespace, ts.mapDefined(children, transformJsxChildToExpression), node, location); + var element = ts.createExpressionForJsxFragment(context.getEmitResolver().getJsxFactoryEntity(currentSourceFile), compilerOptions.reactNamespace, // TODO: GH#18217 + ts.mapDefined(children, transformJsxChildToExpression), node, location); if (isChild) { ts.startOnNewLine(element); } @@ -62577,7 +62893,7 @@ var ts; literal.singleQuote = node.singleQuote !== undefined ? node.singleQuote : !ts.isStringDoubleQuoted(node, currentSourceFile); return ts.setTextRange(literal, node); } - else if (node.kind === 264 /* JsxExpression */) { + else if (node.kind === 265 /* JsxExpression */) { if (node.expression === undefined) { return ts.createTrue(); } @@ -62671,7 +62987,7 @@ var ts; return decoded === text ? undefined : decoded; } function getTagName(node) { - if (node.kind === 254 /* JsxElement */) { + if (node.kind === 255 /* JsxElement */) { return getTagName(node.openingElement); } else { @@ -62977,7 +63293,7 @@ var ts; return node; } switch (node.kind) { - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitBinaryExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -63209,14 +63525,14 @@ var ts; hierarchyFacts = (hierarchyFacts & ~excludeFacts | includeFacts) & -16384 /* SubtreeFactsMask */ | ancestorFacts; } function isReturnVoidStatementInConstructorWithCapturedSuper(node) { - return hierarchyFacts & 4096 /* ConstructorWithCapturedSuper */ - && node.kind === 224 /* ReturnStatement */ + return (hierarchyFacts & 4096 /* ConstructorWithCapturedSuper */) !== 0 + && node.kind === 225 /* ReturnStatement */ && !node.expression; } function shouldVisitNode(node) { return (node.transformFlags & 128 /* ContainsES2015 */) !== 0 || convertedLoopState !== undefined - || (hierarchyFacts & 4096 /* ConstructorWithCapturedSuper */ && (ts.isStatement(node) || (node.kind === 212 /* Block */))) + || (hierarchyFacts & 4096 /* ConstructorWithCapturedSuper */ && (ts.isStatement(node) || (node.kind === 213 /* Block */))) || (ts.isIterationStatement(node, /*lookInLabeledStatements*/ false) && shouldConvertIterationStatementBody(node)) || (ts.getEmitFlags(node) & 33554432 /* TypeScriptClassWrapper */) !== 0; } @@ -63244,63 +63560,63 @@ var ts; switch (node.kind) { case 115 /* StaticKeyword */: return undefined; // elide static keyword - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return visitClassDeclaration(node); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return visitClassExpression(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return visitParameter(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return visitArrowFunction(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return visitVariableDeclaration(node); case 71 /* Identifier */: return visitIdentifier(node); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return visitVariableDeclarationList(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return visitSwitchStatement(node); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return visitCaseBlock(node); - case 212 /* Block */: + case 213 /* Block */: return visitBlock(node, /*isFunctionBody*/ false); - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: return visitBreakOrContinueStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return visitLabeledStatement(node); - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: return visitDoOrWhileStatement(node, /*outermostLabeledStatement*/ undefined); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node, /*outermostLabeledStatement*/ undefined); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatement(node, /*outermostLabeledStatement*/ undefined); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatement(node, /*outermostLabeledStatement*/ undefined); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return visitExpressionStatement(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitCatchClause(node); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return visitShorthandPropertyAssignment(node); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return visitComputedPropertyName(node); - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return visitArrayLiteralExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return visitCallExpression(node); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return visitNewExpression(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return visitParenthesizedExpression(node, /*needsDestructuringValue*/ true); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitBinaryExpression(node, /*needsDestructuringValue*/ true); case 13 /* NoSubstitutionTemplateLiteral */: case 14 /* TemplateHead */: @@ -63311,28 +63627,28 @@ var ts; return visitStringLiteral(node); case 8 /* NumericLiteral */: return visitNumericLiteral(node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return visitTemplateExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return visitYieldExpression(node); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return visitSpreadElement(node); case 97 /* SuperKeyword */: return visitSuperKeyword(/*isExpressionOfCall*/ false); case 99 /* ThisKeyword */: return visitThisKeyword(node); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return visitMetaProperty(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return visitMethodDeclaration(node); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return visitAccessorDeclaration(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return visitReturnStatement(node); default: return ts.visitEachChild(node, visitor, context); @@ -63349,7 +63665,7 @@ var ts; if (taggedTemplateStringDeclarations) { statements.push(ts.createVariableStatement(/*modifiers*/ undefined, ts.createVariableDeclarationList(taggedTemplateStringDeclarations))); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); exitSubtree(ancestorFacts, 0 /* None */, 0 /* None */); return ts.updateSourceFileNode(node, ts.setTextRange(ts.createNodeArray(statements), node.statements)); } @@ -63419,13 +63735,14 @@ var ts; // it is possible if either // - break/continue is labeled and label is located inside the converted loop // - break/continue is non-labeled and located in non-converted loop/switch statement - var jump = node.kind === 223 /* BreakStatement */ ? 2 /* Break */ : 4 /* Continue */; + var jump = node.kind === 224 /* BreakStatement */ ? 2 /* Break */ : 4 /* Continue */; var canUseBreakOrContinue = (node.label && convertedLoopState.labels && convertedLoopState.labels.get(ts.idText(node.label))) || (!node.label && (convertedLoopState.allowedNonLabeledJumps & jump)); if (!canUseBreakOrContinue) { var labelMarker = void 0; - if (!node.label) { - if (node.kind === 223 /* BreakStatement */) { + var label = node.label; + if (!label) { + if (node.kind === 224 /* BreakStatement */) { convertedLoopState.nonLocalJumps |= 2 /* Break */; labelMarker = "break"; } @@ -63436,13 +63753,13 @@ var ts; } } else { - if (node.kind === 223 /* BreakStatement */) { - labelMarker = "break-" + node.label.escapedText; - setLabeledJump(convertedLoopState, /*isBreak*/ true, ts.idText(node.label), labelMarker); + if (node.kind === 224 /* BreakStatement */) { + labelMarker = "break-" + label.escapedText; + setLabeledJump(convertedLoopState, /*isBreak*/ true, ts.idText(label), labelMarker); } else { - labelMarker = "continue-" + node.label.escapedText; - setLabeledJump(convertedLoopState, /*isBreak*/ false, ts.idText(node.label), labelMarker); + labelMarker = "continue-" + label.escapedText; + setLabeledJump(convertedLoopState, /*isBreak*/ false, ts.idText(label), labelMarker); } } var returnExpression = ts.createLiteral(labelMarker); @@ -63603,7 +63920,7 @@ var ts; statement.pos = closingBraceLocation.pos; ts.setEmitFlags(statement, 1536 /* NoComments */ | 384 /* NoTokenSourceMaps */); statements.push(statement); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), /*location*/ node.members), /*multiLine*/ true); ts.setEmitFlags(block, 1536 /* NoComments */); return block; @@ -63661,7 +63978,7 @@ var ts; // `super` call. // If this is the case, we do not include the synthetic `...args` parameter and // will instead use the `arguments` object in ES5/3. - return ts.visitParameterList(constructor && !hasSynthesizedSuper && constructor.parameters, visitor, context) + return ts.visitParameterList(constructor && !hasSynthesizedSuper ? constructor.parameters : undefined, visitor, context) || []; } /** @@ -63697,7 +64014,7 @@ var ts; } // determine whether the class is known syntactically to be a derived class (e.g. a // class that extends a value that is not syntactically known to be `null`). - var isDerivedClass = extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 95 /* NullKeyword */; + var isDerivedClass = !!extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 95 /* NullKeyword */; var superCaptureStatus = declareOrCaptureOrReturnThisForConstructorIfNeeded(statements, constructor, isDerivedClass, hasSynthesizedSuper, statementOffset); // The last statement expression was replaced. Skip it. if (superCaptureStatus === 1 /* ReplaceSuperCapture */ || superCaptureStatus === 2 /* ReplaceWithReturn */) { @@ -63716,7 +64033,7 @@ var ts; && !(constructor && isSufficientlyCoveredByReturnStatements(constructor.body))) { statements.push(ts.createReturn(ts.createFileLevelUniqueName("_this"))); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); if (constructor) { prependCaptureNewTargetIfNeeded(statements, constructor, /*copyOnWrite*/ false); } @@ -63736,11 +64053,11 @@ var ts; */ function isSufficientlyCoveredByReturnStatements(statement) { // A return statement is considered covered. - if (statement.kind === 224 /* ReturnStatement */) { + if (statement.kind === 225 /* ReturnStatement */) { return true; } // An if-statement with two covered branches is covered. - else if (statement.kind === 216 /* IfStatement */) { + else if (statement.kind === 217 /* IfStatement */) { var ifStatement = statement; if (ifStatement.elseStatement) { return isSufficientlyCoveredByReturnStatements(ifStatement.thenStatement) && @@ -63748,7 +64065,7 @@ var ts; } } // A block is covered if it has a last statement which is covered. - else if (statement.kind === 212 /* Block */) { + else if (statement.kind === 213 /* Block */) { var lastStatement = ts.lastOrUndefined(statement.statements); if (lastStatement && isSufficientlyCoveredByReturnStatements(lastStatement)) { return true; @@ -63806,7 +64123,7 @@ var ts; var ctorStatements = ctor.body.statements; if (statementOffset < ctorStatements.length) { firstStatement = ctorStatements[statementOffset]; - if (firstStatement.kind === 215 /* ExpressionStatement */ && ts.isSuperCall(firstStatement.expression)) { + if (firstStatement.kind === 216 /* ExpressionStatement */ && ts.isSuperCall(firstStatement.expression)) { superCallExpression = visitImmediateSuperCallInBody(firstStatement.expression); } } @@ -63816,8 +64133,8 @@ var ts; && statementOffset === ctorStatements.length - 1 && !(ctor.transformFlags & (16384 /* ContainsLexicalThis */ | 32768 /* ContainsCapturedLexicalThis */))) { var returnStatement = ts.createReturn(superCallExpression); - if (superCallExpression.kind !== 199 /* BinaryExpression */ - || superCallExpression.left.kind !== 186 /* CallExpression */) { + if (superCallExpression.kind !== 200 /* BinaryExpression */ + || superCallExpression.left.kind !== 187 /* CallExpression */) { ts.Debug.fail("Assumed generated super call would have form 'super.call(...) || this'."); } // Shift comments from the original super call to the return statement. @@ -64014,7 +64331,7 @@ var ts; * @param node A node. */ function addCaptureThisForNodeIfNeeded(statements, node) { - if (node.transformFlags & 32768 /* ContainsCapturedLexicalThis */ && node.kind !== 192 /* ArrowFunction */) { + if (node.transformFlags & 32768 /* ContainsCapturedLexicalThis */ && node.kind !== 193 /* ArrowFunction */) { captureThisForNode(statements, node, ts.createThis()); } } @@ -64034,22 +64351,22 @@ var ts; if (hierarchyFacts & 16384 /* NewTarget */) { var newTarget = void 0; switch (node.kind) { - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return statements; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // Methods and accessors cannot be constructors, so 'new.target' will // always return 'undefined'. newTarget = ts.createVoidZero(); break; - case 154 /* Constructor */: + case 155 /* Constructor */: // Class constructors can only be called with `new`, so `this.constructor` // should be relatively safe to use. newTarget = ts.createPropertyAccess(ts.setEmitFlags(ts.createThis(), 4 /* NoSubstitution */), "constructor"); break; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: // Functions can be called or constructed, and may have a `this` due to // being a member or when calling an imported function via `other_1.f()`. newTarget = ts.createConditional(ts.createLogicalAnd(ts.setEmitFlags(ts.createThis(), 4 /* NoSubstitution */), ts.createBinary(ts.setEmitFlags(ts.createThis(), 4 /* NoSubstitution */), 93 /* InstanceOfKeyword */, ts.getLocalName(node))), ts.createPropertyAccess(ts.setEmitFlags(ts.createThis(), 4 /* NoSubstitution */), "constructor"), ts.createVoidZero()); @@ -64080,20 +64397,20 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 211 /* SemicolonClassElement */: + case 212 /* SemicolonClassElement */: statements.push(transformSemicolonClassElementToStatement(member)); break; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: statements.push(transformClassMethodDeclarationToStatement(getClassMemberPrefix(node, member), member, node)); break; - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: var accessors = ts.getAllAccessorDeclarations(node.members, member); if (member === accessors.firstAccessor) { statements.push(transformAccessorsToStatement(getClassMemberPrefix(node, member), accessors, node)); } break; - case 154 /* Constructor */: + case 155 /* Constructor */: // Constructors are handled in visitClassExpression/visitClassDeclaration break; default: @@ -64163,7 +64480,7 @@ var ts; // arguments are both mapped contiguously to the accessor name. var target = ts.getMutableClone(receiver); ts.setEmitFlags(target, 1536 /* NoComments */ | 32 /* NoTrailingSourceMap */); - ts.setSourceMapRange(target, firstAccessor.name); + ts.setSourceMapRange(target, firstAccessor.name); // TODO: GH#18217 var propertyName = ts.createExpressionForPropertyName(ts.visitNode(firstAccessor.name, visitor, ts.isPropertyName)); ts.setEmitFlags(propertyName, 1536 /* NoComments */ | 16 /* NoLeadingSourceMap */); ts.setSourceMapRange(propertyName, firstAccessor.name); @@ -64285,7 +64602,7 @@ var ts; : enterSubtree(16286 /* FunctionExcludes */, 65 /* FunctionIncludes */); var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); - if (hierarchyFacts & 16384 /* NewTarget */ && !name && (node.kind === 233 /* FunctionDeclaration */ || node.kind === 191 /* FunctionExpression */)) { + if (hierarchyFacts & 16384 /* NewTarget */ && !name && (node.kind === 234 /* FunctionDeclaration */ || node.kind === 192 /* FunctionExpression */)) { name = ts.getGeneratedNameForNode(node); } exitSubtree(ancestorFacts, 49152 /* PropagateNewTargetMask */, 0 /* None */); @@ -64333,7 +64650,7 @@ var ts; } } else { - ts.Debug.assert(node.kind === 192 /* ArrowFunction */); + ts.Debug.assert(node.kind === 193 /* ArrowFunction */); // To align with the old emitter, we use a synthetic end position on the location // for the statement list we synthesize when we down-level an arrow function with // an expression function body. This prevents both comments and source maps from @@ -64359,7 +64676,7 @@ var ts; closeBraceLocation = body; } var lexicalEnvironment = context.endLexicalEnvironment(); - ts.prependRange(statements, lexicalEnvironment); + ts.prependStatements(statements, lexicalEnvironment); prependCaptureNewTargetIfNeeded(statements, node, /*copyOnWrite*/ false); // If we added any final generated statements, this must be a multi-line block if (!multiLine && lexicalEnvironment && lexicalEnvironment.length) { @@ -64401,9 +64718,9 @@ var ts; function visitExpressionStatement(node) { // If we are here it is most likely because our expression is a destructuring assignment. switch (node.expression.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return ts.updateStatement(node, visitParenthesizedExpression(node.expression, /*needsDestructuringValue*/ false)); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return ts.updateStatement(node, visitBinaryExpression(node.expression, /*needsDestructuringValue*/ false)); } return ts.visitEachChild(node, visitor, context); @@ -64422,9 +64739,9 @@ var ts; // expression. If we are in a state where we do not need the destructuring value, // we pass that information along to the children that care about it. switch (node.expression.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return ts.updateParen(node, visitParenthesizedExpression(node.expression, /*needsDestructuringValue*/ false)); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return ts.updateParen(node, visitBinaryExpression(node.expression, /*needsDestructuringValue*/ false)); } } @@ -64497,13 +64814,12 @@ var ts; ts.setTextRange(declarationList, node); ts.setCommentRange(declarationList, node); if (node.transformFlags & 8388608 /* ContainsBindingPattern */ - && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.lastOrUndefined(node.declarations).name))) { + && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.last(node.declarations).name))) { // If the first or last declaration is a binding pattern, we need to modify // the source map range for the declaration list. var firstDeclaration = ts.firstOrUndefined(declarations); if (firstDeclaration) { - var lastDeclaration = ts.lastOrUndefined(declarations); - ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, lastDeclaration.end)); + ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, ts.last(declarations).end)); } } return declarationList; @@ -64626,14 +64942,14 @@ var ts; } function visitIterationStatement(node, outermostLabeledStatement) { switch (node.kind) { - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: return visitDoOrWhileStatement(node, outermostLabeledStatement); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node, outermostLabeledStatement); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatement(node, outermostLabeledStatement); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatement(node, outermostLabeledStatement); } } @@ -64657,11 +64973,12 @@ var ts; } function convertForOfStatementHead(node, boundValue, convertedLoopBodyStatements) { var statements = []; - if (ts.isVariableDeclarationList(node.initializer)) { + var initializer = node.initializer; + if (ts.isVariableDeclarationList(initializer)) { if (node.initializer.flags & 3 /* BlockScoped */) { enableSubstitutionsForBlockScopedBindings(); } - var firstOriginalDeclaration = ts.firstOrUndefined(node.initializer.declarations); + var firstOriginalDeclaration = ts.firstOrUndefined(initializer.declarations); if (firstOriginalDeclaration && ts.isBindingPattern(firstOriginalDeclaration.name)) { // This works whether the declaration is a var, let, or const. // It will use rhsIterationValue _a[_i] as the initializer. @@ -64670,9 +64987,7 @@ var ts; ts.setOriginalNode(declarationList, node.initializer); // Adjust the source map range for the first declaration to align with the old // emitter. - var firstDeclaration = declarations[0]; - var lastDeclaration = ts.lastOrUndefined(declarations); - ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, lastDeclaration.end)); + ts.setSourceMapRange(declarationList, ts.createRange(declarations[0].pos, ts.last(declarations).end)); statements.push(ts.createVariableStatement( /*modifiers*/ undefined, declarationList)); } @@ -64683,20 +64998,20 @@ var ts; /*modifiers*/ undefined, ts.setOriginalNode(ts.setTextRange(ts.createVariableDeclarationList([ ts.createVariableDeclaration(firstOriginalDeclaration ? firstOriginalDeclaration.name : ts.createTempVariable(/*recordTempVariable*/ undefined), /*type*/ undefined, boundValue) - ]), ts.moveRangePos(node.initializer, -1)), node.initializer)), ts.moveRangeEnd(node.initializer, -1))); + ]), ts.moveRangePos(initializer, -1)), initializer)), ts.moveRangeEnd(initializer, -1))); } } else { // Initializer is an expression. Emit the expression in the body, so that it's // evaluated on every iteration. - var assignment = ts.createAssignment(node.initializer, boundValue); + var assignment = ts.createAssignment(initializer, boundValue); if (ts.isDestructuringAssignment(assignment)) { ts.aggregateTransformFlags(assignment); statements.push(ts.createStatement(visitBinaryExpression(assignment, /*needsDestructuringValue*/ false))); } else { - assignment.end = node.initializer.end; - statements.push(ts.setTextRange(ts.createStatement(ts.visitNode(assignment, visitor, ts.isExpression)), ts.moveRangeEnd(node.initializer, -1))); + assignment.end = initializer.end; + statements.push(ts.setTextRange(ts.createStatement(ts.visitNode(assignment, visitor, ts.isExpression)), ts.moveRangeEnd(initializer, -1))); } } if (convertedLoopBodyStatements) { @@ -64818,7 +65133,7 @@ var ts; && i < numInitialPropertiesWithoutYield) { numInitialPropertiesWithoutYield = i; } - if (property.name.kind === 146 /* ComputedPropertyName */) { + if (property.name.kind === 147 /* ComputedPropertyName */) { numInitialProperties = i; break; } @@ -64890,11 +65205,11 @@ var ts; var functionName = ts.createUniqueName("_loop"); var loopInitializer; switch (node.kind) { - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: var initializer = node.initializer; - if (initializer && initializer.kind === 232 /* VariableDeclarationList */) { + if (initializer && initializer.kind === 233 /* VariableDeclarationList */) { loopInitializer = initializer; } break; @@ -64940,7 +65255,7 @@ var ts; if (loopOutParameters.length) { copyOutParameters(loopOutParameters, 1 /* ToOutParameter */, statements_4); } - ts.prependRange(statements_4, lexicalEnvironment); + ts.prependStatements(statements_4, lexicalEnvironment); loopBody = ts.createBlock(statements_4, /*multiline*/ true); } if (ts.isBlock(loopBody)) { @@ -65174,20 +65489,20 @@ var ts; for (var i = start; i < numProperties; i++) { var property = properties[i]; switch (property.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: var accessors = ts.getAllAccessorDeclarations(node.properties, property); if (property === accessors.firstAccessor) { - expressions.push(transformAccessorsToExpression(receiver, accessors, node, node.multiLine)); + expressions.push(transformAccessorsToExpression(receiver, accessors, node, !!node.multiLine)); } break; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: expressions.push(transformObjectLiteralMethodDeclarationToExpression(property, receiver, node, node.multiLine)); break; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: expressions.push(transformPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: expressions.push(transformShorthandPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; default: @@ -65298,7 +65613,7 @@ var ts; var body = node.transformFlags & (32768 /* ContainsCapturedLexicalThis */ | 128 /* ContainsES2015 */) ? transformFunctionBody(node) : visitFunctionBodyDownLevel(node); - if (node.kind === 155 /* GetAccessor */) { + if (node.kind === 156 /* GetAccessor */) { updated = ts.updateGetAccessor(node, node.decorators, node.modifiers, node.name, parameters, node.type, body); } else { @@ -65340,7 +65655,7 @@ var ts; function visitArrayLiteralExpression(node) { if (node.transformFlags & 64 /* ES2015 */) { // We are here because we contain a SpreadElementExpression. - return transformAndSpreadElements(node.elements, /*needsUniqueCopy*/ true, node.multiLine, /*hasTrailingComma*/ node.elements.hasTrailingComma); + return transformAndSpreadElements(node.elements, /*needsUniqueCopy*/ true, !!node.multiLine, /*hasTrailingComma*/ !!node.elements.hasTrailingComma); } return ts.visitEachChild(node, visitor, context); } @@ -65395,11 +65710,11 @@ var ts; var body = ts.cast(ts.cast(ts.skipOuterExpressions(node.expression), ts.isArrowFunction).body, ts.isBlock); // The class statements are the statements generated by visiting the first statement with initializer of the // body (1), while all other statements are added to remainingStatements (2) - var isVariableStatementWithInitializer = function (stmt) { return ts.isVariableStatement(stmt) && !!ts.firstOrUndefined(stmt.declarationList.declarations).initializer; }; + var isVariableStatementWithInitializer = function (stmt) { return ts.isVariableStatement(stmt) && !!ts.first(stmt.declarationList.declarations).initializer; }; var bodyStatements = ts.visitNodes(body.statements, visitor, ts.isStatement); var classStatements = ts.filter(bodyStatements, isVariableStatementWithInitializer); var remainingStatements = ts.filter(bodyStatements, function (stmt) { return !isVariableStatementWithInitializer(stmt); }); - var varStatement = ts.cast(ts.firstOrUndefined(classStatements), ts.isVariableStatement); + var varStatement = ts.cast(ts.first(classStatements), ts.isVariableStatement); // We know there is only one variable declaration here as we verified this in an // earlier call to isTypeScriptClassWrapper var variable = varStatement.declarationList.declarations[0]; @@ -65576,7 +65891,7 @@ var ts; else { if (segments.length === 1) { var firstElement = elements[0]; - return needsUniqueCopy && ts.isSpreadElement(firstElement) && firstElement.expression.kind !== 182 /* ArrayLiteralExpression */ + return needsUniqueCopy && ts.isSpreadElement(firstElement) && firstElement.expression.kind !== 183 /* ArrayLiteralExpression */ ? ts.createArraySlice(segments[0]) : segments[0]; } @@ -65839,13 +66154,13 @@ var ts; if ((enabledSubstitutions & 1 /* CapturedThis */) === 0) { enabledSubstitutions |= 1 /* CapturedThis */; context.enableSubstitution(99 /* ThisKeyword */); - context.enableEmitNotification(154 /* Constructor */); - context.enableEmitNotification(153 /* MethodDeclaration */); - context.enableEmitNotification(155 /* GetAccessor */); - context.enableEmitNotification(156 /* SetAccessor */); - context.enableEmitNotification(192 /* ArrowFunction */); - context.enableEmitNotification(191 /* FunctionExpression */); - context.enableEmitNotification(233 /* FunctionDeclaration */); + context.enableEmitNotification(155 /* Constructor */); + context.enableEmitNotification(154 /* MethodDeclaration */); + context.enableEmitNotification(156 /* GetAccessor */); + context.enableEmitNotification(157 /* SetAccessor */); + context.enableEmitNotification(193 /* ArrowFunction */); + context.enableEmitNotification(192 /* FunctionExpression */); + context.enableEmitNotification(234 /* FunctionDeclaration */); } } /** @@ -65885,14 +66200,13 @@ var ts; * @param node An original source tree node. */ function isNameOfDeclarationWithCollidingName(node) { - var parent = node.parent; - switch (parent.kind) { - case 181 /* BindingElement */: - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: - case 231 /* VariableDeclaration */: - return parent.name === node - && resolver.isDeclarationWithCollidingName(parent); + switch (node.parent.kind) { + case 182 /* BindingElement */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 232 /* VariableDeclaration */: + return node.parent.name === node + && resolver.isDeclarationWithCollidingName(node.parent); } return false; } @@ -65972,11 +66286,11 @@ var ts; return false; } var statement = ts.firstOrUndefined(constructor.body.statements); - if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 215 /* ExpressionStatement */) { + if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 216 /* ExpressionStatement */) { return false; } var statementExpression = statement.expression; - if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 186 /* CallExpression */) { + if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 187 /* CallExpression */) { return false; } var callTarget = statementExpression.expression; @@ -65984,7 +66298,7 @@ var ts; return false; } var callArgument = ts.singleOrUndefined(statementExpression.arguments); - if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 203 /* SpreadElement */) { + if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 204 /* SpreadElement */) { return false; } var expression = callArgument.expression; @@ -66037,15 +66351,15 @@ var ts; if (compilerOptions.jsx === 1 /* Preserve */ || compilerOptions.jsx === 3 /* ReactNative */) { previousOnEmitNode = context.onEmitNode; context.onEmitNode = onEmitNode; - context.enableEmitNotification(256 /* JsxOpeningElement */); - context.enableEmitNotification(257 /* JsxClosingElement */); - context.enableEmitNotification(255 /* JsxSelfClosingElement */); + context.enableEmitNotification(257 /* JsxOpeningElement */); + context.enableEmitNotification(258 /* JsxClosingElement */); + context.enableEmitNotification(256 /* JsxSelfClosingElement */); noSubstitution = []; } var previousOnSubstituteNode = context.onSubstituteNode; context.onSubstituteNode = onSubstituteNode; - context.enableSubstitution(184 /* PropertyAccessExpression */); - context.enableSubstitution(269 /* PropertyAssignment */); + context.enableSubstitution(185 /* PropertyAccessExpression */); + context.enableSubstitution(270 /* PropertyAssignment */); return ts.chainBundle(transformSourceFile); /** * Transforms an ES5 source file to ES3. @@ -66064,9 +66378,9 @@ var ts; */ function onEmitNode(hint, node, emitCallback) { switch (node.kind) { - case 256 /* JsxOpeningElement */: - case 257 /* JsxClosingElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 258 /* JsxClosingElement */: + case 256 /* JsxSelfClosingElement */: var tagName = node.tagName; noSubstitution[ts.getOriginalNodeId(tagName)] = true; break; @@ -66123,7 +66437,7 @@ var ts; */ function trySubstituteReservedName(name) { var token = name.originalKeywordKind || (ts.nodeIsSynthesized(name) ? ts.stringToToken(ts.idText(name)) : undefined); - if (token >= 72 /* FirstReservedWord */ && token <= 107 /* LastReservedWord */) { + if (token !== undefined && token >= 72 /* FirstReservedWord */ && token <= 107 /* LastReservedWord */) { return ts.setTextRange(ts.createLiteral(name), name); } return undefined; @@ -66308,6 +66622,7 @@ var ts; case 4 /* Yield */: return "yield"; case 5 /* YieldStar */: return "yield*"; case 7 /* Endfinally */: return "endfinally"; + default: return undefined; // TODO: GH#18217 } } function transformGenerators(context) { @@ -66397,13 +66712,13 @@ var ts; */ function visitJavaScriptInStatementContainingYield(node) { switch (node.kind) { - case 217 /* DoStatement */: + case 218 /* DoStatement */: return visitDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return visitWhileStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return visitSwitchStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return visitLabeledStatement(node); default: return visitJavaScriptInGeneratorFunctionBody(node); @@ -66416,24 +66731,24 @@ var ts; */ function visitJavaScriptInGeneratorFunctionBody(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return visitAccessorDeclaration(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatement(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatement(node); - case 223 /* BreakStatement */: + case 224 /* BreakStatement */: return visitBreakStatement(node); - case 222 /* ContinueStatement */: + case 223 /* ContinueStatement */: return visitContinueStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return visitReturnStatement(node); default: if (node.transformFlags & 16777216 /* ContainsYield */) { @@ -66454,21 +66769,21 @@ var ts; */ function visitJavaScriptContainingYield(node) { switch (node.kind) { - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitBinaryExpression(node); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return visitConditionalExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return visitYieldExpression(node); - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return visitArrayLiteralExpression(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return visitElementAccessExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return visitCallExpression(node); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return visitNewExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -66481,9 +66796,9 @@ var ts; */ function visitGenerator(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); default: return ts.Debug.failBadSyntaxKind(node); @@ -66615,7 +66930,7 @@ var ts; var statementOffset = ts.addPrologue(statements, body.statements, /*ensureUseStrict*/ false, visitor); transformAndEmitStatements(body.statements, statementOffset); var buildResult = build(); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); statements.push(ts.createReturn(buildResult)); // Restore previous generator state inGeneratorFunctionBody = savedInGeneratorFunctionBody; @@ -66671,13 +66986,14 @@ var ts; * @param node The node to visit. */ function visitBinaryExpression(node) { - switch (ts.getExpressionAssociativity(node)) { + var assoc = ts.getExpressionAssociativity(node); + switch (assoc) { case 0 /* Left */: return visitLeftAssociativeBinaryExpression(node); case 1 /* Right */: return visitRightAssociativeBinaryExpression(node); default: - ts.Debug.fail("Unknown associativity."); + return ts.Debug.assertNever(assoc); } } function isCompoundAssignment(kind) { @@ -66710,7 +67026,7 @@ var ts; if (containsYield(right)) { var target = void 0; switch (left.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: // [source] // a.b = yield; // @@ -66722,7 +67038,7 @@ var ts; // _a.b = %sent%; target = ts.updatePropertyAccess(left, cacheExpression(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression)), left.name); break; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: // [source] // a[b] = yield; // @@ -67098,35 +67414,35 @@ var ts; } function transformAndEmitStatementWorker(node) { switch (node.kind) { - case 212 /* Block */: + case 213 /* Block */: return transformAndEmitBlock(node); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return transformAndEmitExpressionStatement(node); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return transformAndEmitIfStatement(node); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return transformAndEmitDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return transformAndEmitWhileStatement(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return transformAndEmitForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return transformAndEmitForInStatement(node); - case 222 /* ContinueStatement */: + case 223 /* ContinueStatement */: return transformAndEmitContinueStatement(node); - case 223 /* BreakStatement */: + case 224 /* BreakStatement */: return transformAndEmitBreakStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return transformAndEmitReturnStatement(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return transformAndEmitWithStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return transformAndEmitSwitchStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return transformAndEmitLabeledStatement(node); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return transformAndEmitThrowStatement(node); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return transformAndEmitTryStatement(node); default: return emitStatement(ts.visitNode(node, visitor, ts.isStatement)); @@ -67556,7 +67872,7 @@ var ts; for (var i = 0; i < numClauses; i++) { var clause = caseBlock.clauses[i]; clauseLabels.push(defineLabel()); - if (clause.kind === 266 /* DefaultClause */ && defaultClauseIndex === -1) { + if (clause.kind === 267 /* DefaultClause */ && defaultClauseIndex === -1) { defaultClauseIndex = i; } } @@ -67569,7 +67885,7 @@ var ts; var defaultClausesSkipped = 0; for (var i = clausesWritten; i < numClauses; i++) { var clause = caseBlock.clauses[i]; - if (clause.kind === 265 /* CaseClause */) { + if (clause.kind === 266 /* CaseClause */) { if (containsYield(clause.expression) && pendingClauses.length > 0) { break; } @@ -67685,7 +68001,7 @@ var ts; beginExceptionBlock(); transformAndEmitEmbeddedStatement(node.tryBlock); if (node.catchClause) { - beginCatchBlock(node.catchClause.variableDeclaration); + beginCatchBlock(node.catchClause.variableDeclaration); // TODO: GH#18217 transformAndEmitEmbeddedStatement(node.catchClause.block); } if (node.finallyBlock) { @@ -67699,7 +68015,7 @@ var ts; } } function containsYield(node) { - return node && (node.transformFlags & 16777216 /* ContainsYield */) !== 0; + return !!node && (node.transformFlags & 16777216 /* ContainsYield */) !== 0; } function countInitialNodesWithoutYield(nodes) { var numNodes = nodes.length; @@ -67800,7 +68116,8 @@ var ts; */ function endBlock() { var block = peekBlock(); - ts.Debug.assert(block !== undefined, "beginBlock was never called."); + if (block === undefined) + return ts.Debug.fail("beginBlock was never called."); var index = blockActions.length; blockActions[index] = 1 /* Close */; blockOffsets[index] = operations ? operations.length : 0; @@ -68133,7 +68450,7 @@ var ts; * @param label A label. */ function createLabel(label) { - if (label > 0) { + if (label !== undefined && label > 0) { if (labelExpressions === undefined) { labelExpressions = []; } @@ -68772,7 +69089,7 @@ var ts; name: "typescript:generator", scoped: false, priority: 6, - text: "\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [0, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };" + text: "\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };" }; })(ts || (ts = {})); /*@internal*/ @@ -68797,11 +69114,11 @@ var ts; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; context.enableSubstitution(71 /* Identifier */); // Substitutes expression identifiers with imported/exported symbols. - context.enableSubstitution(199 /* BinaryExpression */); // Substitutes assignments to exported symbols. - context.enableSubstitution(197 /* PrefixUnaryExpression */); // Substitutes updates to exported symbols. - context.enableSubstitution(198 /* PostfixUnaryExpression */); // Substitutes updates to exported symbols. - context.enableSubstitution(270 /* ShorthandPropertyAssignment */); // Substitutes shorthand property assignments for imported/exported symbols. - context.enableEmitNotification(273 /* SourceFile */); // Restore state when substituting nodes in a file. + context.enableSubstitution(200 /* BinaryExpression */); // Substitutes assignments to exported symbols. + context.enableSubstitution(198 /* PrefixUnaryExpression */); // Substitutes updates to exported symbols. + context.enableSubstitution(199 /* PostfixUnaryExpression */); // Substitutes updates to exported symbols. + context.enableSubstitution(271 /* ShorthandPropertyAssignment */); // Substitutes shorthand property assignments for imported/exported symbols. + context.enableEmitNotification(274 /* SourceFile */); // Restore state when substituting nodes in a file. var moduleInfoMap = []; // The ExternalModuleInfo for each file. var deferredExports = []; // Exports to defer until an EndOfDeclarationMarker is found. var currentSourceFile; // The current file. @@ -68851,7 +69168,7 @@ var ts; ts.append(statements, ts.visitNode(currentModuleInfo.externalHelpersImportDeclaration, sourceElementVisitor, ts.isStatement)); ts.addRange(statements, ts.visitNodes(node.statements, sourceElementVisitor, ts.isStatement, statementOffset)); addExportEqualsIfNeeded(statements, /*emitAsReturn*/ false); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var updated = ts.updateSourceFileNode(node, ts.setTextRange(ts.createNodeArray(statements), node.statements)); if (currentModuleInfo.hasExportStarsToExportValues && !compilerOptions.importHelpers) { // If we have any `export * from ...` declarations @@ -69045,7 +69362,7 @@ var ts; if (ts.isImportEqualsDeclaration(node) || ts.isExportDeclaration(node) || !ts.getExternalModuleNameLiteral(node, currentSourceFile, host, resolver, compilerOptions)) { return undefined; } - var name = ts.getLocalNameForExternalImport(node, currentSourceFile); + var name = ts.getLocalNameForExternalImport(node, currentSourceFile); // TODO: GH#18217 var expr = getHelperExpressionForImport(node, name); if (expr === name) { return undefined; @@ -69074,7 +69391,7 @@ var ts; addExportEqualsIfNeeded(statements, /*emitAsReturn*/ true); // End the lexical environment for the module body // and merge any new lexical declarations. - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var body = ts.createBlock(statements, /*multiLine*/ true); if (currentModuleInfo.hasExportStarsToExportValues && !compilerOptions.importHelpers) { // If we have any `export * from ...` declarations @@ -69123,23 +69440,23 @@ var ts; */ function sourceElementVisitor(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return visitImportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return visitExportDeclaration(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitExportAssignment(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatement(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return visitClassDeclaration(node); - case 302 /* MergeDeclarationMarker */: + case 303 /* MergeDeclarationMarker */: return visitMergeDeclarationMarker(node); - case 303 /* EndOfDeclarationMarker */: + case 304 /* EndOfDeclarationMarker */: return visitEndOfDeclarationMarker(node); default: return ts.visitEachChild(node, moduleExpressionElementVisitor, context); @@ -69166,24 +69483,24 @@ var ts; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var elem = _a[_i]; switch (elem.kind) { - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: if (destructuringNeedsFlattening(elem.initializer)) { return true; } break; - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: if (destructuringNeedsFlattening(elem.name)) { return true; } break; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: if (destructuringNeedsFlattening(elem.expression)) { return true; } break; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return false; default: ts.Debug.assertNever(elem, "Unhandled object member kind"); } @@ -69658,7 +69975,7 @@ var ts; // // To balance the declaration, add the exports of the elided variable // statement. - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 213 /* VariableStatement */) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 214 /* VariableStatement */) { var id = ts.getOriginalNodeId(node); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original); } @@ -69713,10 +70030,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 246 /* NamedImports */: + case 247 /* NamedImports */: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding); @@ -69915,7 +70232,7 @@ var ts; * @param emit A callback used to emit the node in the printer. */ function onEmitNode(hint, node, emitCallback) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { currentSourceFile = node; currentModuleInfo = moduleInfoMap[ts.getOriginalNodeId(currentSourceFile)]; noSubstitution = []; @@ -69979,10 +70296,10 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return substituteExpressionIdentifier(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return substituteBinaryExpression(node); - case 198 /* PostfixUnaryExpression */: - case 197 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return substituteUnaryExpression(node); } return node; @@ -70003,7 +70320,7 @@ var ts; } if (!ts.isGeneratedIdentifier(node) && !ts.isLocalName(node)) { var exportContainer = resolver.getReferencedExportContainer(node, ts.isExportName(node)); - if (exportContainer && exportContainer.kind === 273 /* SourceFile */) { + if (exportContainer && exportContainer.kind === 274 /* SourceFile */) { return ts.setTextRange(ts.createPropertyAccess(ts.createIdentifier("exports"), ts.getSynthesizedClone(node)), /*location*/ node); } @@ -70078,7 +70395,7 @@ var ts; && !ts.isDeclarationNameOfEnumOrNamespace(node.operand)) { var exportedNames = getExports(node.operand); if (exportedNames) { - var expression = node.kind === 198 /* PostfixUnaryExpression */ + var expression = node.kind === 199 /* PostfixUnaryExpression */ ? ts.setTextRange(ts.createBinary(node.operand, ts.createToken(node.operator === 43 /* PlusPlusToken */ ? 59 /* PlusEqualsToken */ : 60 /* MinusEqualsToken */), ts.createLiteral(1)), /*location*/ node) : node; @@ -70154,11 +70471,11 @@ var ts; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; context.enableSubstitution(71 /* Identifier */); // Substitutes expression identifiers for imported symbols. - context.enableSubstitution(270 /* ShorthandPropertyAssignment */); // Substitutes expression identifiers for imported symbols - context.enableSubstitution(199 /* BinaryExpression */); // Substitutes assignments to exported symbols. - context.enableSubstitution(197 /* PrefixUnaryExpression */); // Substitutes updates to exported symbols. - context.enableSubstitution(198 /* PostfixUnaryExpression */); // Substitutes updates to exported symbols. - context.enableEmitNotification(273 /* SourceFile */); // Restore state when substituting nodes in a file. + context.enableSubstitution(271 /* ShorthandPropertyAssignment */); // Substitutes expression identifiers for imported symbols + context.enableSubstitution(200 /* BinaryExpression */); // Substitutes assignments to exported symbols. + context.enableSubstitution(198 /* PrefixUnaryExpression */); // Substitutes updates to exported symbols. + context.enableSubstitution(199 /* PostfixUnaryExpression */); // Substitutes updates to exported symbols. + context.enableEmitNotification(274 /* SourceFile */); // Restore state when substituting nodes in a file. var moduleInfoMap = []; // The ExternalModuleInfo for each file. var deferredExports = []; // Exports to defer until an EndOfDeclarationMarker is found. var exportFunctionsMap = []; // The export function associated with a source file. @@ -70343,8 +70660,8 @@ var ts; // We emit hoisted variables early to align roughly with our previous emit output. // Two key differences in this approach are: // - Temporary variables will appear at the top rather than at the bottom of the file - ts.prependRange(statements, endLexicalEnvironment()); - var exportStarFunction = addExportStarIfNeeded(statements); + ts.prependStatements(statements, endLexicalEnvironment()); + var exportStarFunction = addExportStarIfNeeded(statements); // TODO: GH#18217 var moduleObject = ts.createObjectLiteral([ ts.createPropertyAssignment("setters", createSettersArray(exportStarFunction, dependencyGroups)), ts.createPropertyAssignment("execute", ts.createFunctionExpression( @@ -70379,7 +70696,7 @@ var ts; var hasExportDeclarationWithExportClause = false; for (var _i = 0, _a = moduleInfo.externalImports; _i < _a.length; _i++) { var externalImport = _a[_i]; - if (externalImport.kind === 249 /* ExportDeclaration */ && externalImport.exportClause) { + if (externalImport.kind === 250 /* ExportDeclaration */ && externalImport.exportClause) { hasExportDeclarationWithExportClause = true; break; } @@ -70404,7 +70721,7 @@ var ts; } for (var _d = 0, _e = moduleInfo.externalImports; _d < _e.length; _d++) { var externalImport = _e[_d]; - if (externalImport.kind !== 249 /* ExportDeclaration */) { + if (externalImport.kind !== 250 /* ExportDeclaration */) { continue; } if (!externalImport.exportClause) { @@ -70480,21 +70797,21 @@ var ts; var statements = []; for (var _a = 0, _b = group_1.externalImports; _a < _b.length; _a++) { var entry = _b[_a]; - var importVariableName = ts.getLocalNameForExternalImport(entry, currentSourceFile); + var importVariableName = ts.getLocalNameForExternalImport(entry, currentSourceFile); // TODO: GH#18217 switch (entry.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: if (!entry.importClause) { // 'import "..."' case // module is imported only for side-effects, no emit required break; } // falls through - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: ts.Debug.assert(importVariableName !== undefined); // save import into the local statements.push(ts.createStatement(ts.createAssignment(importVariableName, parameterName))); break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: ts.Debug.assert(importVariableName !== undefined); if (entry.exportClause) { // export {a, b as c} from 'foo' @@ -70544,15 +70861,15 @@ var ts; */ function sourceElementVisitor(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return visitImportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: // ExportDeclarations are elided as they are handled via // `appendExportsOfDeclaration`. return undefined; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitExportAssignment(node); default: return nestedElementVisitor(node); @@ -70566,7 +70883,7 @@ var ts; function visitImportDeclaration(node) { var statements; if (node.importClause) { - hoistVariableDeclaration(ts.getLocalNameForExternalImport(node, currentSourceFile)); + hoistVariableDeclaration(ts.getLocalNameForExternalImport(node, currentSourceFile)); // TODO: GH#18217 } if (hasAssociatedEndOfDeclarationMarker(node)) { // Defer exports until we encounter an EndOfDeclarationMarker node @@ -70586,7 +70903,7 @@ var ts; function visitImportEqualsDeclaration(node) { ts.Debug.assert(ts.isExternalModuleImportEqualsDeclaration(node), "import= for internal module references should be handled in an earlier transformer."); var statements; - hoistVariableDeclaration(ts.getLocalNameForExternalImport(node, currentSourceFile)); + hoistVariableDeclaration(ts.getLocalNameForExternalImport(node, currentSourceFile)); // TODO: GH#18217 if (hasAssociatedEndOfDeclarationMarker(node)) { // Defer exports until we encounter an EndOfDeclarationMarker node var id = ts.getOriginalNodeId(node); @@ -70728,7 +71045,7 @@ var ts; function shouldHoistVariableDeclarationList(node) { // hoist only non-block scoped declarations or block scoped declarations parented by source file return (ts.getEmitFlags(node) & 2097152 /* NoHoisting */) === 0 - && (enclosingBlockScopedContainer.kind === 273 /* SourceFile */ + && (enclosingBlockScopedContainer.kind === 274 /* SourceFile */ || (ts.getOriginalNode(node).flags & 3 /* BlockScoped */) === 0); } /** @@ -70792,7 +71109,7 @@ var ts; // // To balance the declaration, we defer the exports of the elided variable // statement until we visit this declaration's `EndOfDeclarationMarker`. - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 213 /* VariableStatement */) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 214 /* VariableStatement */) { var id = ts.getOriginalNodeId(node); var isExportedDeclaration = ts.hasModifier(node.original, 1 /* Export */); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original, isExportedDeclaration); @@ -70854,10 +71171,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 246 /* NamedImports */: + case 247 /* NamedImports */: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding); @@ -71037,43 +71354,43 @@ var ts; */ function nestedElementVisitor(node) { switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatement(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return visitClassDeclaration(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatement(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatement(node); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return visitDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return visitWhileStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return visitLabeledStatement(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return visitWithStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return visitSwitchStatement(node); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return visitCaseBlock(node); - case 265 /* CaseClause */: + case 266 /* CaseClause */: return visitCaseClause(node); - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: return visitDefaultClause(node); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return visitTryStatement(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitCatchClause(node); - case 212 /* Block */: + case 213 /* Block */: return visitBlock(node); - case 302 /* MergeDeclarationMarker */: + case 303 /* MergeDeclarationMarker */: return visitMergeDeclarationMarker(node); - case 303 /* EndOfDeclarationMarker */: + case 304 /* EndOfDeclarationMarker */: return visitEndOfDeclarationMarker(node); default: return destructuringAndImportCallVisitor(node); @@ -71087,7 +71404,7 @@ var ts; function visitForStatement(node) { var savedEnclosingBlockScopedContainer = enclosingBlockScopedContainer; enclosingBlockScopedContainer = node; - node = ts.updateFor(node, visitForInitializer(node.initializer), ts.visitNode(node.condition, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.incrementor, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.statement, nestedElementVisitor, ts.isStatement)); + node = ts.updateFor(node, node.initializer && visitForInitializer(node.initializer), ts.visitNode(node.condition, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.incrementor, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.statement, nestedElementVisitor, ts.isStatement)); enclosingBlockScopedContainer = savedEnclosingBlockScopedContainer; return node; } @@ -71131,9 +71448,6 @@ var ts; * @param node The node to visit. */ function visitForInitializer(node) { - if (!node) { - return node; - } if (shouldHoistForInitializer(node)) { var expressions = void 0; for (var _i = 0, _a = node.declarations; _i < _a.length; _i++) { @@ -71259,7 +71573,7 @@ var ts; */ function destructuringAndImportCallVisitor(node) { if (node.transformFlags & 1024 /* DestructuringAssignment */ - && node.kind === 199 /* BinaryExpression */) { + && node.kind === 200 /* BinaryExpression */) { return visitDestructuringAssignment(node); } else if (ts.isImportCall(node)) { @@ -71324,7 +71638,7 @@ var ts; } else if (ts.isIdentifier(node)) { var container = resolver.getReferencedExportContainer(node); - return container !== undefined && container.kind === 273 /* SourceFile */; + return container !== undefined && container.kind === 274 /* SourceFile */; } else { return false; @@ -71357,7 +71671,7 @@ var ts; * @param emitCallback A callback used to emit the node in the printer. */ function onEmitNode(hint, node, emitCallback) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { var id = ts.getOriginalNodeId(node); currentSourceFile = node; moduleInfo = moduleInfoMap[id]; @@ -71405,7 +71719,7 @@ var ts; */ function substituteUnspecified(node) { switch (node.kind) { - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return substituteShorthandPropertyAssignment(node); } return node; @@ -71441,10 +71755,10 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return substituteExpressionIdentifier(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return substituteBinaryExpression(node); - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return substituteUnaryExpression(node); } return node; @@ -71537,14 +71851,14 @@ var ts; && !ts.isDeclarationNameOfEnumOrNamespace(node.operand)) { var exportedNames = getExports(node.operand); if (exportedNames) { - var expression = node.kind === 198 /* PostfixUnaryExpression */ + var expression = node.kind === 199 /* PostfixUnaryExpression */ ? ts.setTextRange(ts.createPrefix(node.operator, node.operand), node) : node; for (var _i = 0, exportedNames_5 = exportedNames; _i < exportedNames_5.length; _i++) { var exportName = exportedNames_5[_i]; expression = createExportExpression(exportName, preventSubstitution(expression)); } - if (node.kind === 198 /* PostfixUnaryExpression */) { + if (node.kind === 199 /* PostfixUnaryExpression */) { expression = node.operator === 43 /* PlusPlusToken */ ? ts.createSubtract(preventSubstitution(expression), ts.createLiteral(1)) : ts.createAdd(preventSubstitution(expression), ts.createLiteral(1)); @@ -71566,7 +71880,7 @@ var ts; || resolver.getReferencedValueDeclaration(name); if (valueDeclaration) { var exportContainer = resolver.getReferencedExportContainer(name, /*prefixLocals*/ false); - if (exportContainer && exportContainer.kind === 273 /* SourceFile */) { + if (exportContainer && exportContainer.kind === 274 /* SourceFile */) { exportedNames = ts.append(exportedNames, ts.getDeclarationName(valueDeclaration)); } exportedNames = ts.addRange(exportedNames, moduleInfo && moduleInfo.exportedBindings[ts.getOriginalNodeId(valueDeclaration)]); @@ -71605,7 +71919,7 @@ var ts; var previousOnSubstituteNode = context.onSubstituteNode; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; - context.enableEmitNotification(273 /* SourceFile */); + context.enableEmitNotification(274 /* SourceFile */); context.enableSubstitution(71 /* Identifier */); var currentSourceFile; return ts.chainBundle(transformSourceFile); @@ -71634,10 +71948,10 @@ var ts; } function visitor(node) { switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: // Elide `import=` as it is not legal with --module ES6 return undefined; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitExportAssignment(node); } return node; @@ -71744,7 +72058,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -71773,7 +72087,7 @@ var ts; ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -71817,10 +72131,10 @@ var ts; return getTypeAliasDeclarationVisibilityError; } else { - ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]); + return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]); } function getVariableDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { - if (node.kind === 231 /* VariableDeclaration */ || node.kind === 181 /* BindingElement */) { + if (node.kind === 232 /* VariableDeclaration */ || node.kind === 182 /* BindingElement */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -71829,8 +72143,8 @@ var ts; } // This check is to ensure we don't report error on constructor parameter property as that error would be reported during parameter emit // The only exception here is if the constructor was marked as private. we are not emitting the constructor parameters at all. - else if (node.kind === 151 /* PropertyDeclaration */ || node.kind === 150 /* PropertySignature */ || - (node.kind === 148 /* Parameter */ && ts.hasModifier(node.parent, 8 /* Private */))) { + else if (node.kind === 152 /* PropertyDeclaration */ || node.kind === 151 /* PropertySignature */ || + (node.kind === 149 /* Parameter */ && ts.hasModifier(node.parent, 8 /* Private */))) { // TODO(jfreeman): Deal with computed properties in error reporting. if (ts.hasModifier(node, 32 /* Static */)) { return symbolAccessibilityResult.errorModuleName ? @@ -71839,7 +72153,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234 /* ClassDeclaration */ || node.kind === 148 /* Parameter */) { + else if (node.parent.kind === 235 /* ClassDeclaration */ || node.kind === 149 /* Parameter */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -71864,7 +72178,7 @@ var ts; } function getAccessorDeclarationTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; - if (node.kind === 156 /* SetAccessor */) { + if (node.kind === 157 /* SetAccessor */) { // Getters can infer the return type from the returned expression, but setters cannot, so the // "_from_external_module_1_but_cannot_be_named" case cannot occur. if (ts.hasModifier(node, 32 /* Static */)) { @@ -71903,26 +72217,26 @@ var ts; function getReturnTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; switch (node.kind) { - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 157 /* CallSignature */: + case 158 /* CallSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.hasModifier(node, 32 /* Static */)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? @@ -71930,7 +72244,7 @@ var ts; ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0; } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -71944,7 +72258,7 @@ var ts; ts.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0; } break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -71952,7 +72266,7 @@ var ts; ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0; break; default: - ts.Debug.fail("This is unknown kind for signature: " + node.kind); + return ts.Debug.fail("This is unknown kind for signature: " + node.kind); } return { diagnosticMessage: diagnosticMessage, @@ -71969,30 +72283,30 @@ var ts; } function getParameterDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { switch (node.parent.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1; - case 158 /* ConstructSignature */: - case 163 /* ConstructorType */: + case 159 /* ConstructSignature */: + case 164 /* ConstructorType */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; - case 157 /* CallSignature */: + case 158 /* CallSignature */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.hasModifier(node.parent, 32 /* Static */)) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? @@ -72000,7 +72314,7 @@ var ts; ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.parent.kind === 235 /* ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -72013,53 +72327,53 @@ var ts; ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } - case 233 /* FunctionDeclaration */: - case 162 /* FunctionType */: + case 234 /* FunctionDeclaration */: + case 163 /* FunctionType */: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1; default: - ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]); + return ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]); } } function getTypeParameterConstraintVisibilityError() { // Type parameter constraints are named by user so we should always be able to name it var diagnosticMessage; switch (node.parent.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1; break; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1; break; - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 157 /* CallSignature */: + case 158 /* CallSignature */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.hasModifier(node.parent, 32 /* Static */)) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.parent.kind === 235 /* ClassDeclaration */) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; } else { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1; break; - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1; break; default: - ts.Debug.fail("This is unknown parent for type parameter: " + node.parent.kind); + return ts.Debug.fail("This is unknown parent for type parameter: " + node.parent.kind); } return { diagnosticMessage: diagnosticMessage, @@ -72070,7 +72384,7 @@ var ts; function getHeritageClauseVisibilityError() { var diagnosticMessage; // Heritage clause is written by user so it can always be named - if (node.parent.parent.kind === 234 /* ClassDeclaration */) { + if (node.parent.parent.kind === 235 /* ClassDeclaration */) { // Class or Interface implemented/extended is inaccessible diagnosticMessage = node.parent.token === 108 /* ImplementsKeyword */ ? ts.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : @@ -72222,16 +72536,16 @@ var ts; } } function transformRoot(node) { - if (node.kind === 273 /* SourceFile */ && (node.isDeclarationFile || ts.isSourceFileJavaScript(node))) { + if (node.kind === 274 /* SourceFile */ && (node.isDeclarationFile || ts.isSourceFileJavaScript(node))) { return node; } - if (node.kind === 274 /* Bundle */) { + if (node.kind === 275 /* Bundle */) { isBundledEmit = true; var refs_1 = ts.createMap(); var hasNoDefaultLib_1 = false; var bundle = ts.createBundle(ts.map(node.sourceFiles, function (sourceFile) { if (sourceFile.isDeclarationFile || ts.isSourceFileJavaScript(sourceFile)) - return; // Omit declaration files from bundle results, too + return undefined; // Omit declaration files from bundle results, too // TODO: GH#18217 hasNoDefaultLib_1 = hasNoDefaultLib_1 || sourceFile.hasNoDefaultLib; currentSourceFile = sourceFile; enclosingDeclaration = sourceFile; @@ -72253,7 +72567,7 @@ var ts; var updated = ts.visitNodes(sourceFile.statements, visitDeclarationStatements); return ts.updateSourceFileNode(sourceFile, transformAndReplaceLatePaintedStatements(updated), /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false); }), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 276 /* InputFiles */) { + if (prepend.kind === 277 /* InputFiles */) { return ts.createUnparsedSourceFile(prepend.declarationText); } })); @@ -72351,7 +72665,7 @@ var ts; return name; } else { - if (name.kind === 180 /* ArrayBindingPattern */) { + if (name.kind === 181 /* ArrayBindingPattern */) { return ts.updateArrayBindingPattern(name, ts.visitNodes(name.elements, visitBindingElement)); } else { @@ -72359,7 +72673,7 @@ var ts; } } function visitBindingElement(elem) { - if (elem.kind === 205 /* OmittedExpression */) { + if (elem.kind === 206 /* OmittedExpression */) { return elem; } return ts.updateBindingElement(elem, elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializers(elem.name), shouldPrintWithInitializer(elem) ? elem.initializer : undefined); @@ -72397,7 +72711,7 @@ var ts; // Literal const declarations will have an initializer ensured rather than a type return; } - var shouldUseResolverType = node.kind === 148 /* Parameter */ && + var shouldUseResolverType = node.kind === 149 /* Parameter */ && (resolver.isRequiredInitializedParameter(node) || resolver.isOptionalUninitializedParameterProperty(node)); if (type && !shouldUseResolverType) { @@ -72406,7 +72720,7 @@ var ts; if (!ts.getParseTreeNode(node)) { return type ? ts.visitNode(type, visitDeclarationSubtree) : ts.createKeywordTypeNode(119 /* AnyKeyword */); } - if (node.kind === 156 /* SetAccessor */) { + if (node.kind === 157 /* SetAccessor */) { // Set accessors with no associated type node (from it's param or get accessor return) are `any` since they are never contextually typed right now // (The inferred type here will be void, but the old declaration emitter printed `any`, so this replicates that) return ts.createKeywordTypeNode(119 /* AnyKeyword */); @@ -72417,12 +72731,12 @@ var ts; oldDiag = getSymbolAccessibilityDiagnostic; getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(node); } - if (node.kind === 231 /* VariableDeclaration */ || node.kind === 181 /* BindingElement */) { + if (node.kind === 232 /* VariableDeclaration */ || node.kind === 182 /* BindingElement */) { return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } - if (node.kind === 148 /* Parameter */ - || node.kind === 151 /* PropertyDeclaration */ - || node.kind === 150 /* PropertySignature */) { + if (node.kind === 149 /* Parameter */ + || node.kind === 152 /* PropertyDeclaration */ + || node.kind === 151 /* PropertySignature */) { if (!node.initializer) return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); @@ -72439,20 +72753,20 @@ var ts; function isDeclarationAndNotVisible(node) { node = ts.getParseTreeNode(node); switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 238 /* ModuleDeclaration */: - case 235 /* InterfaceDeclaration */: - case 234 /* ClassDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 237 /* EnumDeclaration */: + case 234 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 236 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 238 /* EnumDeclaration */: return !resolver.isDeclarationVisible(node); // The following should be doing their own visibility checks based on filtering their members - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return !getBindingNameVisible(node); - case 242 /* ImportEqualsDeclaration */: - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: - case 248 /* ExportAssignment */: + case 243 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: + case 249 /* ExportAssignment */: return false; } return false; @@ -72463,7 +72777,7 @@ var ts; } if (ts.isBindingPattern(elem.name)) { // If any child binding pattern element has been marked visible (usually by collect linked aliases), then this is visible - return ts.forEach(elem.name.elements, getBindingNameVisible); + return ts.some(elem.name.elements, getBindingNameVisible); } else { return resolver.isDeclarationVisible(elem); @@ -72471,11 +72785,11 @@ var ts; } function updateParamsList(node, params, modifierMask) { if (ts.hasModifier(node, 8 /* Private */)) { - return undefined; + return undefined; // TODO: GH#18217 } var newParams = ts.map(params, function (p) { return ensureParameter(p, modifierMask); }); if (!newParams) { - return undefined; + return undefined; // TODO: GH#18217 } return ts.createNodeArray(newParams, params.hasTrailingComma); } @@ -72505,8 +72819,8 @@ var ts; } function rewriteModuleSpecifier(parent, input) { if (!input) - return; - resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 238 /* ModuleDeclaration */ && parent.kind !== 178 /* ImportType */); + return undefined; // TODO: GH#18217 + resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 239 /* ModuleDeclaration */ && parent.kind !== 179 /* ImportType */); if (input.kind === 9 /* StringLiteral */ && isBundledEmit) { var newName = ts.getExternalModuleNameFromDeclaration(context.getEmitHost(), resolver, parent); if (newName) { @@ -72518,7 +72832,7 @@ var ts; function transformImportEqualsDeclaration(decl) { if (!resolver.isDeclarationVisible(decl)) return; - if (decl.moduleReference.kind === 253 /* ExternalModuleReference */) { + if (decl.moduleReference.kind === 254 /* ExternalModuleReference */) { // Rewrite external module names if necessary var specifier = ts.getExternalModuleImportEqualsDeclarationExpression(decl); return ts.updateImportEqualsDeclaration(decl, @@ -72545,7 +72859,7 @@ var ts; return visibleDefaultBinding && ts.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, ts.updateImportClause(decl.importClause, visibleDefaultBinding, /*namedBindings*/ undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier)); } - if (decl.importClause.namedBindings.kind === 245 /* NamespaceImport */) { + if (decl.importClause.namedBindings.kind === 246 /* NamespaceImport */) { // Namespace import (optionally with visible default) var namedBindings = resolver.isDeclarationVisible(decl.importClause.namedBindings) ? decl.importClause.namedBindings : /*namedBindings*/ undefined; return visibleDefaultBinding || namedBindings ? ts.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, ts.updateImportClause(decl.importClause, visibleDefaultBinding, namedBindings), rewriteModuleSpecifier(decl, decl.moduleSpecifier)) : undefined; @@ -72650,66 +72964,68 @@ var ts; checkEntityNameVisibility(input.exprName, enclosingDeclaration); } var oldWithinObjectLiteralType = suppressNewDiagnosticContexts; - var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 165 /* TypeLiteral */ || input.kind === 176 /* MappedType */) && input.parent.kind !== 236 /* TypeAliasDeclaration */); + var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 166 /* TypeLiteral */ || input.kind === 177 /* MappedType */) && input.parent.kind !== 237 /* TypeAliasDeclaration */); if (shouldEnterSuppressNewDiagnosticsContextContext) { // We stop making new diagnostic contexts within object literal types. Unless it's an object type on the RHS of a type alias declaration. Then we do. suppressNewDiagnosticContexts = true; } if (isProcessedComponent(input)) { switch (input.kind) { - case 206 /* ExpressionWithTypeArguments */: { + case 207 /* ExpressionWithTypeArguments */: { if ((ts.isEntityName(input.expression) || ts.isEntityNameExpression(input.expression))) { checkEntityNameVisibility(input.expression, enclosingDeclaration); } var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(ts.updateExpressionWithTypeArguments(node, ts.parenthesizeTypeParameters(node.typeArguments), node.expression)); } - case 161 /* TypeReference */: { + case 162 /* TypeReference */: { checkEntityNameVisibility(input.typeName, enclosingDeclaration); var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(ts.updateTypeReferenceNode(node, node.typeName, ts.parenthesizeTypeParameters(node.typeArguments))); } - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: return cleanup(ts.updateConstructSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); - case 154 /* Constructor */: { + case 155 /* Constructor */: { var isPrivate = ts.hasModifier(input, 8 /* Private */); // A constructor declaration may not have a type annotation - var ctor = ts.createSignatureDeclaration(154 /* Constructor */, isPrivate ? undefined : ensureTypeParams(input, input.typeParameters), isPrivate ? undefined : updateParamsList(input, input.parameters, 0 /* None */), + var ctor = ts.createSignatureDeclaration(155 /* Constructor */, isPrivate ? undefined : ensureTypeParams(input, input.typeParameters), + // TODO: GH#18217 + isPrivate ? undefined : updateParamsList(input, input.parameters, 0 /* None */), /*type*/ undefined); ctor.modifiers = ts.createNodeArray(ensureModifiers(input)); return cleanup(ctor); } - case 153 /* MethodDeclaration */: { - var sig = ts.createSignatureDeclaration(152 /* MethodSignature */, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type)); + case 154 /* MethodDeclaration */: { + var sig = ts.createSignatureDeclaration(153 /* MethodSignature */, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type)); sig.name = input.name; sig.modifiers = ts.createNodeArray(ensureModifiers(input)); sig.questionToken = input.questionToken; return cleanup(sig); } - case 155 /* GetAccessor */: { + case 156 /* GetAccessor */: { var newNode = ensureAccessor(input); return cleanup(newNode); } - case 156 /* SetAccessor */: { + case 157 /* SetAccessor */: { var newNode = ensureAccessor(input); return cleanup(newNode); } - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return cleanup(ts.updateProperty(input, /*decorators*/ undefined, ensureModifiers(input), input.name, input.questionToken, !ts.hasModifier(input, 8 /* Private */) ? ensureType(input, input.type) : undefined, ensureNoInitializer(input))); - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: return cleanup(ts.updatePropertySignature(input, ensureModifiers(input), input.name, input.questionToken, !ts.hasModifier(input, 8 /* Private */) ? ensureType(input, input.type) : undefined, ensureNoInitializer(input))); - case 152 /* MethodSignature */: { + case 153 /* MethodSignature */: { return cleanup(ts.updateMethodSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), input.name, input.questionToken)); } - case 157 /* CallSignature */: { + case 158 /* CallSignature */: { return cleanup(ts.updateCallSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); } - case 159 /* IndexSignature */: { + case 160 /* IndexSignature */: { return cleanup(ts.updateIndexSignature(input, /*decorators*/ undefined, ensureModifiers(input), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree) || ts.createKeywordTypeNode(119 /* AnyKeyword */))); } - case 231 /* VariableDeclaration */: { + case 232 /* VariableDeclaration */: { if (ts.isBindingPattern(input.name)) { return recreateBindingPattern(input.name); } @@ -72717,13 +73033,13 @@ var ts; suppressNewDiagnosticContexts = true; // Variable declaration types also suppress new diagnostic contexts, provided the contexts wouldn't be made for binding pattern types return cleanup(ts.updateVariableDeclaration(input, input.name, ensureType(input, input.type), ensureNoInitializer(input))); } - case 147 /* TypeParameter */: { + case 148 /* TypeParameter */: { if (isPrivateMethodTypeParameter(input) && (input.default || input.constraint)) { return cleanup(ts.updateTypeParameterDeclaration(input, input.name, /*constraint*/ undefined, /*defaultType*/ undefined)); } return cleanup(ts.visitEachChild(input, visitDeclarationSubtree, context)); } - case 170 /* ConditionalType */: { + case 171 /* ConditionalType */: { // We have to process conditional types in a special way because for visibility purposes we need to push a new enclosingDeclaration // just for the `infer` types in the true branch. It's an implicit declaration scope that only applies to _part_ of the type. var checkType = ts.visitNode(input.checkType, visitDeclarationSubtree); @@ -72735,13 +73051,13 @@ var ts; var falseType = ts.visitNode(input.falseType, visitDeclarationSubtree); return cleanup(ts.updateConditionalTypeNode(input, checkType, extendsType, trueType, falseType)); } - case 162 /* FunctionType */: { + case 163 /* FunctionType */: { return cleanup(ts.updateFunctionTypeNode(input, ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 163 /* ConstructorType */: { + case 164 /* ConstructorType */: { return cleanup(ts.updateConstructorTypeNode(input, ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 178 /* ImportType */: { + case 179 /* ImportType */: { if (!ts.isLiteralImportTypeNode(input)) return cleanup(input); return cleanup(ts.updateImportTypeNode(input, ts.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)), input.qualifier, ts.visitNodes(input.typeArguments, visitDeclarationSubtree, ts.isTypeNode), input.isTypeOf)); @@ -72770,7 +73086,7 @@ var ts; } } function isPrivateMethodTypeParameter(node) { - return node.parent.kind === 153 /* MethodDeclaration */ && ts.hasModifier(node.parent, 8 /* Private */); + return node.parent.kind === 154 /* MethodDeclaration */ && ts.hasModifier(node.parent, 8 /* Private */); } function visitDeclarationStatements(input) { if (!isPreservedDeclarationStatement(input)) { @@ -72780,7 +73096,7 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 249 /* ExportDeclaration */: { + case 250 /* ExportDeclaration */: { if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; resultHasScopeMarker = true; @@ -72789,7 +73105,7 @@ var ts; // Rewrite external module names if necessary return ts.updateExportDeclaration(input, /*decorators*/ undefined, input.modifiers, input.exportClause, rewriteModuleSpecifier(input, input.moduleSpecifier)); } - case 248 /* ExportAssignment */: { + case 249 /* ExportAssignment */: { // Always visible if the parent node isn't dropped for being not visible if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; @@ -72819,10 +73135,10 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 242 /* ImportEqualsDeclaration */: { + case 243 /* ImportEqualsDeclaration */: { return transformImportEqualsDeclaration(input); } - case 243 /* ImportDeclaration */: { + case 244 /* ImportDeclaration */: { return transformImportDeclaration(input); } } @@ -72843,24 +73159,24 @@ var ts; } var previousNeedsDeclare = needsDeclare; switch (input.kind) { - case 236 /* TypeAliasDeclaration */: // Type aliases get `declare`d if need be (for legacy support), but that's all + case 237 /* TypeAliasDeclaration */: // Type aliases get `declare`d if need be (for legacy support), but that's all return cleanup(ts.updateTypeAliasDeclaration(input, /*decorators*/ undefined, ensureModifiers(input, isPrivate), input.name, ts.visitNodes(input.typeParameters, visitDeclarationSubtree, ts.isTypeParameterDeclaration), ts.visitNode(input.type, visitDeclarationSubtree, ts.isTypeNode))); - case 235 /* InterfaceDeclaration */: { + case 236 /* InterfaceDeclaration */: { return cleanup(ts.updateInterfaceDeclaration(input, /*decorators*/ undefined, ensureModifiers(input, isPrivate), input.name, ensureTypeParams(input, input.typeParameters), transformHeritageClauses(input.heritageClauses), ts.visitNodes(input.members, visitDeclarationSubtree))); } - case 233 /* FunctionDeclaration */: { + case 234 /* FunctionDeclaration */: { // Generators lose their generator-ness, excepting their return type return cleanup(ts.updateFunctionDeclaration(input, /*decorators*/ undefined, ensureModifiers(input, isPrivate), /*asteriskToken*/ undefined, input.name, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), /*body*/ undefined)); } - case 238 /* ModuleDeclaration */: { + case 239 /* ModuleDeclaration */: { needsDeclare = false; var inner = input.body; - if (inner && inner.kind === 239 /* ModuleBlock */) { + if (inner && inner.kind === 240 /* ModuleBlock */) { var statements = ts.visitNodes(inner.statements, visitDeclarationStatements); var body = ts.updateModuleBlock(inner, transformAndReplaceLatePaintedStatements(statements)); needsDeclare = previousNeedsDeclare; @@ -72874,14 +73190,14 @@ var ts; needsDeclare = false; ts.visitNode(inner, visitDeclarationStatements); // eagerly transform nested namespaces (the nesting doesn't need any elision or painting done) - var id = "" + ts.getOriginalNodeId(inner); + var id = "" + ts.getOriginalNodeId(inner); // TODO: GH#18217 var body = lateStatementReplacementMap.get(id); lateStatementReplacementMap.delete(id); return cleanup(ts.updateModuleDeclaration(input, /*decorators*/ undefined, mods, input.name, body)); } } - case 234 /* ClassDeclaration */: { + case 235 /* ClassDeclaration */: { var modifiers = ts.createNodeArray(ensureModifiers(input, isPrivate)); var typeParameters = ensureTypeParams(input, input.typeParameters); var ctor = ts.getFirstConstructorWithBody(input); @@ -72924,7 +73240,7 @@ var ts; var extendsClause_1 = ts.getClassExtendsHeritageClauseElement(input); if (extendsClause_1 && !ts.isEntityNameExpression(extendsClause_1.expression) && extendsClause_1.expression.kind !== 95 /* NullKeyword */) { // We must add a temporary declaration for the extends clause expression - var newId_1 = ts.createOptimisticUniqueName(ts.unescapeLeadingUnderscores(input.name.escapedText) + "_base"); + var newId_1 = ts.createOptimisticUniqueName(ts.unescapeLeadingUnderscores(input.name.escapedText) + "_base"); // TODO: GH#18217 getSymbolAccessibilityDiagnostic = function () { return ({ diagnosticMessage: ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1, errorNode: extendsClause_1, @@ -72943,7 +73259,7 @@ var ts; return ts.updateHeritageClause(clause, ts.visitNodes(ts.createNodeArray(ts.filter(clause.types, function (t) { return ts.isEntityNameExpression(t.expression) || t.expression.kind === 95 /* NullKeyword */; })), visitDeclarationSubtree)); })); return [statement, cleanup(ts.updateClassDeclaration(input, - /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members))]; + /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members))]; // TODO: GH#18217 } else { var heritageClauses = transformHeritageClauses(input.heritageClauses); @@ -72951,10 +73267,10 @@ var ts; /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members)); } } - case 213 /* VariableStatement */: { + case 214 /* VariableStatement */: { return cleanup(transformVariableStatement(input, isPrivate)); } - case 237 /* EnumDeclaration */: { + case 238 /* EnumDeclaration */: { return cleanup(ts.updateEnumDeclaration(input, /*decorators*/ undefined, ts.createNodeArray(ensureModifiers(input, isPrivate)), input.name, ts.createNodeArray(ts.mapDefined(input.members, function (m) { if (shouldStripInternal(m)) return; @@ -72973,7 +73289,7 @@ var ts; if (canProdiceDiagnostic) { getSymbolAccessibilityDiagnostic = oldDiag; } - if (input.kind === 238 /* ModuleDeclaration */) { + if (input.kind === 239 /* ModuleDeclaration */) { needsDeclare = previousNeedsDeclare; } if (node === input) { @@ -72994,7 +73310,7 @@ var ts; return ts.flatten(ts.mapDefined(d.elements, function (e) { return recreateBindingElement(e); })); } function recreateBindingElement(e) { - if (e.kind === 205 /* OmittedExpression */) { + if (e.kind === 206 /* OmittedExpression */) { return; } if (e.name) { @@ -73048,7 +73364,7 @@ var ts; function ensureModifierFlags(node, privateDeclaration) { var mask = 3071 /* All */ ^ (4 /* Public */ | 256 /* Async */); // No async modifiers in declaration files var additions = (needsDeclare && !isAlwaysType(node)) ? 2 /* Ambient */ : 0 /* None */; - var parentIsFile = node.parent.kind === 273 /* SourceFile */; + var parentIsFile = node.parent.kind === 274 /* SourceFile */; if (!parentIsFile || (isBundledEmit && parentIsFile && ts.isExternalModule(node.parent))) { mask ^= ((privateDeclaration || (isBundledEmit && parentIsFile) ? 0 : 1 /* Export */) | 512 /* Default */ | 2 /* Ambient */); additions = 0 /* None */; @@ -73096,7 +73412,7 @@ var ts; } ts.transformDeclarations = transformDeclarations; function isAlwaysType(node) { - if (node.kind === 235 /* InterfaceDeclaration */) { + if (node.kind === 236 /* InterfaceDeclaration */) { return true; } return false; @@ -73116,7 +73432,7 @@ var ts; } function getTypeAnnotationFromAccessor(accessor) { if (accessor) { - return accessor.kind === 155 /* GetAccessor */ + return accessor.kind === 156 /* GetAccessor */ ? accessor.type // Getter - return type : accessor.parameters.length > 0 ? accessor.parameters[0].type // Setter parameter type @@ -73125,51 +73441,51 @@ var ts; } function canHaveLiteralInitializer(node) { switch (node.kind) { - case 231 /* VariableDeclaration */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 148 /* Parameter */: + case 232 /* VariableDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 149 /* Parameter */: return true; } return false; } function isPreservedDeclarationStatement(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 238 /* ModuleDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 235 /* InterfaceDeclaration */: - case 234 /* ClassDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 237 /* EnumDeclaration */: - case 213 /* VariableStatement */: - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: - case 248 /* ExportAssignment */: + case 234 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 236 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 238 /* EnumDeclaration */: + case 214 /* VariableStatement */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: + case 249 /* ExportAssignment */: return true; } return false; } function isProcessedComponent(node) { switch (node.kind) { - case 158 /* ConstructSignature */: - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 159 /* IndexSignature */: - case 231 /* VariableDeclaration */: - case 147 /* TypeParameter */: - case 206 /* ExpressionWithTypeArguments */: - case 161 /* TypeReference */: - case 170 /* ConditionalType */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 178 /* ImportType */: + case 159 /* ConstructSignature */: + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 160 /* IndexSignature */: + case 232 /* VariableDeclaration */: + case 148 /* TypeParameter */: + case 207 /* ExpressionWithTypeArguments */: + case 162 /* TypeReference */: + case 171 /* ConditionalType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 179 /* ImportType */: return true; } return false; @@ -73245,7 +73561,7 @@ var ts; * @param allowDtsFiles A value indicating whether to allow the transformation of .d.ts files. */ function transformNodes(resolver, host, options, nodes, transformers, allowDtsFiles) { - var enabledSyntaxKindFeatures = new Array(304 /* Count */); + var enabledSyntaxKindFeatures = new Array(305 /* Count */); var lexicalEnvironmentVariableDeclarations; var lexicalEnvironmentFunctionDeclarations; var lexicalEnvironmentVariableDeclarationsStack = []; @@ -73554,7 +73870,7 @@ var ts; * @param sourceFileOrBundle The input source file or bundle for the program. */ function initialize(filePath, sourceMapFilePath, sourceFileOrBundle, outputSourceMapDataList) { - if (disabled) { + if (disabled || ts.fileExtensionIs(filePath, ".json" /* Json */)) { return; } if (sourceMapData) { @@ -73590,7 +73906,7 @@ var ts; } if (compilerOptions.mapRoot) { sourceMapDir = ts.normalizeSlashes(compilerOptions.mapRoot); - if (sourceFileOrBundle.kind === 273 /* SourceFile */) { // emitting single module file + if (sourceFileOrBundle.kind === 274 /* SourceFile */) { // emitting single module file // For modules or multiple emit files the mapRoot will have directory structure like the sources // So if src\a.ts and src\lib\b.ts are compiled together user would be moving the maps into mapRoot\a.js.map and mapRoot\lib\b.js.map sourceMapDir = ts.getDirectoryPath(ts.getSourceFilePathInNewDir(sourceFileOrBundle, host, sourceMapDir)); @@ -73677,7 +73993,7 @@ var ts; * @param pos The position. */ function emitPos(pos) { - if (disabled || ts.positionIsSynthesized(pos)) { + if (disabled || ts.positionIsSynthesized(pos) || isJsonSourceMapSource(currentSource)) { return; } if (extendedDiagnostics) { @@ -73726,12 +74042,12 @@ var ts; * @param emitCallback The callback used to emit the node. */ function emitNodeWithSourceMap(hint, node, emitCallback) { - if (disabled) { + if (disabled || ts.isInJsonFile(node)) { return emitCallback(hint, node); } if (node) { var emitNode = node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0 /* None */; var range = emitNode && emitNode.sourceMapRange; var _a = range || node, pos = _a.pos, end = _a.end; var source = range && range.source; @@ -73740,7 +74056,7 @@ var ts; source = undefined; if (source) setSourceFile(source); - if (node.kind !== 299 /* NotEmittedStatement */ + if (node.kind !== 300 /* NotEmittedStatement */ && (emitFlags & 16 /* NoLeadingSourceMap */) === 0 && pos >= 0) { emitPos(skipSourceTrivia(pos)); @@ -73757,7 +74073,7 @@ var ts; } if (source) setSourceFile(source); - if (node.kind !== 299 /* NotEmittedStatement */ + if (node.kind !== 300 /* NotEmittedStatement */ && (emitFlags & 32 /* NoTrailingSourceMap */) === 0 && end >= 0) { emitPos(end); @@ -73775,11 +74091,11 @@ var ts; * @param emitCallback The callback used to emit the token. */ function emitTokenWithSourceMap(node, token, writer, tokenPos, emitCallback) { - if (disabled) { + if (disabled || ts.isInJsonFile(node)) { return emitCallback(token, writer, tokenPos); } var emitNode = node && node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0 /* None */; var range = emitNode && emitNode.tokenSourceMapRanges && emitNode.tokenSourceMapRanges[token]; tokenPos = skipSourceTrivia(range ? range.pos : tokenPos); if ((emitFlags & 128 /* NoTokenLeadingSourceMaps */) === 0 && tokenPos >= 0) { @@ -73793,6 +74109,9 @@ var ts; } return tokenPos; } + function isJsonSourceMapSource(sourceFile) { + return ts.fileExtensionIs(sourceFile.fileName, ".json" /* Json */); + } /** * Set the current source file. * @@ -73804,6 +74123,9 @@ var ts; } currentSource = sourceFile; currentSourceText = currentSource.text; + if (isJsonSourceMapSource(sourceFile)) { + return; + } // Add the file to tsFilePaths // If sourceroot option: Use the relative path corresponding to the common directory path // otherwise source locations relative to map file location @@ -73825,8 +74147,8 @@ var ts; * Gets the text for the source map. */ function getText() { - if (disabled) { - return; + if (disabled || isJsonSourceMapSource(currentSource)) { + return undefined; // TODO: GH#18217 } encodeLastRecordedSourceMapSpan(); return JSON.stringify({ @@ -73843,8 +74165,8 @@ var ts; * Gets the SourceMappingURL for the source map. */ function getSourceMappingURL() { - if (disabled) { - return; + if (disabled || isJsonSourceMapSource(currentSource)) { + return undefined; // TODO: GH#18217 } if (compilerOptions.inlineSourceMap) { // Encode the sourceMap into the sourceMap url @@ -73905,7 +74227,7 @@ var ts; var currentLineMap; var detachedCommentsInfo; var hasWrittenComment = false; - var disabled = printerOptions.removeComments; + var disabled = !!printerOptions.removeComments; return { reset: reset, setWriter: setWriter, @@ -73923,7 +74245,7 @@ var ts; if (node) { hasWrittenComment = false; var emitNode = node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0; var _a = emitNode && emitNode.commentRange || node, pos = _a.pos, end = _a.end; if ((pos < 0 && end < 0) || (pos === end)) { // Both pos and end are synthesized, so just emit the node without comments. @@ -73933,7 +74255,7 @@ var ts; if (extendedDiagnostics) { ts.performance.mark("preEmitNodeWithComment"); } - var isEmittedNode = node.kind !== 299 /* NotEmittedStatement */; + var isEmittedNode = node.kind !== 300 /* NotEmittedStatement */; // We have to explicitly check that the node is JsxText because if the compilerOptions.jsx is "preserve" we will not do any transformation. // It is expensive to walk entire tree just to set one kind of node to have no comments. var skipLeadingComments = pos < 0 || (emitFlags & 512 /* NoLeadingComments */) !== 0 || node.kind === 10 /* JsxText */; @@ -73954,7 +74276,7 @@ var ts; containerEnd = end; // To avoid invalid comment emit in a down-level binding pattern, we // keep track of the last declaration list container's end - if (node.kind === 232 /* VariableDeclarationList */) { + if (node.kind === 233 /* VariableDeclarationList */) { declarationListContainerEnd = end; } } @@ -74211,11 +74533,11 @@ var ts; detachedCommentsInfo = undefined; } function hasDetachedComments(pos) { - return detachedCommentsInfo !== undefined && ts.lastOrUndefined(detachedCommentsInfo).nodePos === pos; + return detachedCommentsInfo !== undefined && ts.last(detachedCommentsInfo).nodePos === pos; } function forEachLeadingCommentWithoutDetachedComments(cb) { // get the leading comments from detachedPos - var pos = ts.lastOrUndefined(detachedCommentsInfo).detachedCommentEndPos; + var pos = ts.last(detachedCommentsInfo).detachedCommentEndPos; if (detachedCommentsInfo.length - 1) { detachedCommentsInfo.pop(); } @@ -74270,6 +74592,7 @@ var ts; * Else, calls `getSourceFilesToEmit` with the (optional) target source file to determine the list of source files to emit. */ function forEachEmittedFile(host, action, sourceFilesOrTargetSourceFile, emitOnlyDtsFiles) { + if (emitOnlyDtsFiles === void 0) { emitOnlyDtsFiles = false; } var sourceFiles = ts.isArray(sourceFilesOrTargetSourceFile) ? sourceFilesOrTargetSourceFile : ts.getSourceFilesToEmit(host, sourceFilesOrTargetSourceFile); var options = host.getCompilerOptions(); if (options.outFile || options.out) { @@ -74295,17 +74618,17 @@ var ts; /*@internal*/ function getOutputPathsFor(sourceFile, host, forceDtsPaths) { var options = host.getCompilerOptions(); - if (sourceFile.kind === 274 /* Bundle */) { + if (sourceFile.kind === 275 /* Bundle */) { var jsFilePath = options.outFile || options.out; var sourceMapFilePath = getSourceMapFilePath(jsFilePath, options); var declarationFilePath = (forceDtsPaths || options.declaration) ? ts.removeFileExtension(jsFilePath) + ".d.ts" /* Dts */ : undefined; var declarationMapPath = ts.getAreDeclarationMapsEnabled(options) ? declarationFilePath + ".map" : undefined; - var bundleInfoPath = options.references && jsFilePath && (ts.removeFileExtension(jsFilePath) + infoExtension); + var bundleInfoPath = options.references && jsFilePath ? (ts.removeFileExtension(jsFilePath) + infoExtension) : undefined; return { jsFilePath: jsFilePath, sourceMapFilePath: sourceMapFilePath, declarationFilePath: declarationFilePath, declarationMapPath: declarationMapPath, bundleInfoPath: bundleInfoPath }; } else { var jsFilePath = ts.getOwnEmitOutputFilePath(sourceFile, host, getOutputExtension(sourceFile, options)); - var sourceMapFilePath = getSourceMapFilePath(jsFilePath, options); + var sourceMapFilePath = ts.isJsonSourceFile(sourceFile) ? undefined : getSourceMapFilePath(jsFilePath, options); // For legacy reasons (ie, we have baselines capturing the behavior), js files don't report a .d.ts output path - this would only matter if `declaration` and `allowJs` were both on, which is currently an error var isJs = ts.isSourceFileJavaScript(sourceFile); var declarationFilePath = ((forceDtsPaths || options.declaration) && !isJs) ? ts.getDeclarationEmitOutputFilePath(sourceFile, host) : undefined; @@ -74371,7 +74694,7 @@ var ts; emitSkipped: emitSkipped, diagnostics: emitterDiagnostics.getDiagnostics(), emittedFiles: emittedFilesList, - sourceMaps: sourceMapDataList + sourceMaps: sourceMapDataList, }; function emitSourceFileOrBundle(_a, sourceFileOrBundle) { var jsFilePath = _a.jsFilePath, sourceMapFilePath = _a.sourceMapFilePath, declarationFilePath = _a.declarationFilePath, declarationMapPath = _a.declarationMapPath, bundleInfoPath = _a.bundleInfoPath; @@ -74458,8 +74781,8 @@ var ts; declarationTransform.dispose(); } function printSourceFileOrBundle(jsFilePath, sourceMapFilePath, sourceFileOrBundle, bundleInfoPath, printer, mapRecorder) { - var bundle = sourceFileOrBundle.kind === 274 /* Bundle */ ? sourceFileOrBundle : undefined; - var sourceFile = sourceFileOrBundle.kind === 273 /* SourceFile */ ? sourceFileOrBundle : undefined; + var bundle = sourceFileOrBundle.kind === 275 /* Bundle */ ? sourceFileOrBundle : undefined; + var sourceFile = sourceFileOrBundle.kind === 274 /* SourceFile */ ? sourceFileOrBundle : undefined; var sourceFiles = bundle ? bundle.sourceFiles : [sourceFile]; mapRecorder.initialize(jsFilePath, sourceMapFilePath || "", sourceFileOrBundle, sourceMapDataList); if (bundle) { @@ -74478,7 +74801,7 @@ var ts; ts.writeFile(host, emitterDiagnostics, sourceMapFilePath, mapRecorder.getText(), /*writeByteOrderMark*/ false, sourceFiles); } // Write the output file - ts.writeFile(host, emitterDiagnostics, jsFilePath, writer.getText(), compilerOptions.emitBOM, sourceFiles); + ts.writeFile(host, emitterDiagnostics, jsFilePath, writer.getText(), !!compilerOptions.emitBOM, sourceFiles); // Write bundled offset information if applicable if (bundleInfoPath) { bundleInfo.totalLength = writer.getTextPos(); @@ -74559,9 +74882,9 @@ var ts; break; } switch (node.kind) { - case 273 /* SourceFile */: return printFile(node); - case 274 /* Bundle */: return printBundle(node); - case 275 /* UnparsedSource */: return printUnparsedSource(node); + case 274 /* SourceFile */: return printFile(node); + case 275 /* Bundle */: return printBundle(node); + case 276 /* UnparsedSource */: return printUnparsedSource(node); } writeNode(hint, node, sourceFile, beginPrint()); return endPrint(); @@ -74662,7 +74985,7 @@ var ts; } } function setWriter(output) { - writer = output; + writer = output; // TODO: GH#18217 comments.setWriter(output); } function reset() { @@ -74720,8 +75043,7 @@ var ts; return getPipelinePhase(currentPhase + 1, hint); } function pipelineEmitWithNotification(hint, node) { - ts.Debug.assertDefined(onEmitNode); - onEmitNode(hint, node, getNextPipelinePhase(0 /* Notification */, hint)); + ts.Debug.assertDefined(onEmitNode)(hint, node, getNextPipelinePhase(0 /* Notification */, hint)); } function pipelineEmitWithComments(hint, node) { ts.Debug.assertDefined(emitNodeWithComments); @@ -74733,9 +75055,8 @@ var ts; pipelinePhase(hint, trySubstituteNode(hint, node)); } function pipelineEmitWithSourceMap(hint, node) { - ts.Debug.assertDefined(onEmitSourceMapOfNode); ts.Debug.assert(hint !== 0 /* SourceFile */ && hint !== 2 /* IdentifierName */); - onEmitSourceMapOfNode(hint, node, pipelineEmitWithHint); + ts.Debug.assertDefined(onEmitSourceMapOfNode)(hint, node, pipelineEmitWithHint); } function pipelineEmitWithHint(hint, node) { if (hint === 0 /* SourceFile */) @@ -74753,235 +75074,235 @@ var ts; case 15 /* TemplateMiddle */: case 16 /* TemplateTail */: return emitLiteral(node); - case 275 /* UnparsedSource */: + case 276 /* UnparsedSource */: return emitUnparsedSource(node); // Identifiers case 71 /* Identifier */: return emitIdentifier(node); // Parse tree nodes // Names - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return emitQualifiedName(node); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return emitComputedPropertyName(node); // Signature elements - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return emitTypeParameter(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return emitParameter(node); - case 149 /* Decorator */: + case 150 /* Decorator */: return emitDecorator(node); // Type members - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: return emitPropertySignature(node); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return emitPropertyDeclaration(node); - case 152 /* MethodSignature */: + case 153 /* MethodSignature */: return emitMethodSignature(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return emitMethodDeclaration(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return emitConstructor(node); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return emitAccessorDeclaration(node); - case 157 /* CallSignature */: + case 158 /* CallSignature */: return emitCallSignature(node); - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: return emitConstructSignature(node); - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: return emitIndexSignature(node); // Types - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return emitTypePredicate(node); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return emitTypeReference(node); - case 162 /* FunctionType */: + case 163 /* FunctionType */: return emitFunctionType(node); - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: return emitJSDocFunctionType(node); - case 163 /* ConstructorType */: + case 164 /* ConstructorType */: return emitConstructorType(node); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return emitTypeQuery(node); - case 165 /* TypeLiteral */: + case 166 /* TypeLiteral */: return emitTypeLiteral(node); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return emitArrayType(node); - case 167 /* TupleType */: + case 168 /* TupleType */: return emitTupleType(node); - case 168 /* UnionType */: + case 169 /* UnionType */: return emitUnionType(node); - case 169 /* IntersectionType */: + case 170 /* IntersectionType */: return emitIntersectionType(node); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return emitConditionalType(node); - case 171 /* InferType */: + case 172 /* InferType */: return emitInferType(node); - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return emitParenthesizedType(node); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return emitExpressionWithTypeArguments(node); - case 173 /* ThisType */: + case 174 /* ThisType */: return emitThisType(); - case 174 /* TypeOperator */: + case 175 /* TypeOperator */: return emitTypeOperator(node); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return emitIndexedAccessType(node); - case 176 /* MappedType */: + case 177 /* MappedType */: return emitMappedType(node); - case 177 /* LiteralType */: + case 178 /* LiteralType */: return emitLiteralType(node); - case 178 /* ImportType */: + case 179 /* ImportType */: return emitImportTypeNode(node); - case 278 /* JSDocAllType */: + case 279 /* JSDocAllType */: write("*"); return; - case 279 /* JSDocUnknownType */: + case 280 /* JSDocUnknownType */: write("?"); return; - case 280 /* JSDocNullableType */: + case 281 /* JSDocNullableType */: return emitJSDocNullableType(node); - case 281 /* JSDocNonNullableType */: + case 282 /* JSDocNonNullableType */: return emitJSDocNonNullableType(node); - case 282 /* JSDocOptionalType */: + case 283 /* JSDocOptionalType */: return emitJSDocOptionalType(node); - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: return emitJSDocVariadicType(node); // Binding patterns - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: return emitObjectBindingPattern(node); - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: return emitArrayBindingPattern(node); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return emitBindingElement(node); // Misc - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return emitTemplateSpan(node); - case 211 /* SemicolonClassElement */: + case 212 /* SemicolonClassElement */: return emitSemicolonClassElement(); // Statements - case 212 /* Block */: + case 213 /* Block */: return emitBlock(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return emitVariableStatement(node); - case 214 /* EmptyStatement */: + case 215 /* EmptyStatement */: return emitEmptyStatement(); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return emitExpressionStatement(node); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return emitIfStatement(node); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return emitDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return emitWhileStatement(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return emitForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return emitForInStatement(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return emitForOfStatement(node); - case 222 /* ContinueStatement */: + case 223 /* ContinueStatement */: return emitContinueStatement(node); - case 223 /* BreakStatement */: + case 224 /* BreakStatement */: return emitBreakStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return emitReturnStatement(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return emitWithStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return emitSwitchStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return emitLabeledStatement(node); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return emitThrowStatement(node); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return emitTryStatement(node); - case 230 /* DebuggerStatement */: + case 231 /* DebuggerStatement */: return emitDebuggerStatement(node); // Declarations - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return emitVariableDeclaration(node); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return emitVariableDeclarationList(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return emitFunctionDeclaration(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return emitClassDeclaration(node); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return emitInterfaceDeclaration(node); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return emitTypeAliasDeclaration(node); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return emitEnumDeclaration(node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return emitModuleDeclaration(node); - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return emitModuleBlock(node); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return emitCaseBlock(node); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return emitNamespaceExportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return emitImportEqualsDeclaration(node); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return emitImportDeclaration(node); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return emitImportClause(node); - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return emitNamespaceImport(node); - case 246 /* NamedImports */: + case 247 /* NamedImports */: return emitNamedImports(node); - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: return emitImportSpecifier(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return emitExportAssignment(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return emitExportDeclaration(node); - case 250 /* NamedExports */: + case 251 /* NamedExports */: return emitNamedExports(node); - case 251 /* ExportSpecifier */: + case 252 /* ExportSpecifier */: return emitExportSpecifier(node); - case 252 /* MissingDeclaration */: + case 253 /* MissingDeclaration */: return; // Module references - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: return emitExternalModuleReference(node); // JSX (non-expression) case 10 /* JsxText */: return emitJsxText(node); - case 256 /* JsxOpeningElement */: - case 259 /* JsxOpeningFragment */: + case 257 /* JsxOpeningElement */: + case 260 /* JsxOpeningFragment */: return emitJsxOpeningElementOrFragment(node); - case 257 /* JsxClosingElement */: - case 260 /* JsxClosingFragment */: + case 258 /* JsxClosingElement */: + case 261 /* JsxClosingFragment */: return emitJsxClosingElementOrFragment(node); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return emitJsxAttribute(node); - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return emitJsxAttributes(node); - case 263 /* JsxSpreadAttribute */: + case 264 /* JsxSpreadAttribute */: return emitJsxSpreadAttribute(node); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return emitJsxExpression(node); // Clauses - case 265 /* CaseClause */: + case 266 /* CaseClause */: return emitCaseClause(node); - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: return emitDefaultClause(node); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: return emitHeritageClause(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return emitCatchClause(node); // Property assignments - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return emitPropertyAssignment(node); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return emitShorthandPropertyAssignment(node); - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: return emitSpreadAssignment(node); // Enum - case 272 /* EnumMember */: + case 273 /* EnumMember */: return emitEnumMember(node); // JSDoc nodes (ignored) // Transformation nodes (ignored) @@ -75016,71 +75337,71 @@ var ts; writeTokenNode(node, writeKeyword); return; // Expressions - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return emitArrayLiteralExpression(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return emitObjectLiteralExpression(node); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return emitPropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return emitElementAccessExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return emitCallExpression(node); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return emitNewExpression(node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return emitTaggedTemplateExpression(node); - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: return emitTypeAssertionExpression(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return emitParenthesizedExpression(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return emitFunctionExpression(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return emitArrowFunction(node); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return emitDeleteExpression(node); - case 194 /* TypeOfExpression */: + case 195 /* TypeOfExpression */: return emitTypeOfExpression(node); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return emitVoidExpression(node); - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return emitAwaitExpression(node); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return emitPrefixUnaryExpression(node); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return emitPostfixUnaryExpression(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return emitBinaryExpression(node); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return emitConditionalExpression(node); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return emitTemplateExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return emitYieldExpression(node); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return emitSpreadExpression(node); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return emitClassExpression(node); - case 205 /* OmittedExpression */: + case 206 /* OmittedExpression */: return; - case 207 /* AsExpression */: + case 208 /* AsExpression */: return emitAsExpression(node); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: return emitNonNullExpression(node); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return emitMetaProperty(node); // JSX - case 254 /* JsxElement */: + case 255 /* JsxElement */: return emitJsxElement(node); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return emitJsxSelfClosingElement(node); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return emitJsxFragment(node); // Transformation nodes - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: return emitPartiallyEmittedExpression(node); - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: return emitCommaList(node); } } @@ -75097,7 +75418,7 @@ var ts; } function emitHelpers(node) { var helpersEmitted = false; - var bundle = node.kind === 274 /* Bundle */ ? node : undefined; + var bundle = node.kind === 275 /* Bundle */ ? node : undefined; if (bundle && moduleKind === ts.ModuleKind.None) { return; } @@ -75223,7 +75544,7 @@ var ts; emit(node.dotDotDotToken); emitNodeWithWriter(node.name, writeParameter); emit(node.questionToken); - if (node.parent && node.parent.kind === 283 /* JSDocFunctionType */ && !node.name) { + if (node.parent && node.parent.kind === 284 /* JSDocFunctionType */ && !node.name) { emit(node.type); } else { @@ -75285,7 +75606,7 @@ var ts; function emitAccessorDeclaration(node) { emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); - writeKeyword(node.kind === 155 /* GetAccessor */ ? "get" : "set"); + writeKeyword(node.kind === 156 /* GetAccessor */ ? "get" : "set"); writeSpace(); emit(node.name); emitSignatureAndBody(node, emitSignatureHead); @@ -75542,7 +75863,7 @@ var ts; increaseIndent(); } var preferNewLine = node.multiLine ? 32768 /* PreferNewLine */ : 0 /* None */; - var allowTrailingComma = currentSourceFile.languageVersion >= 1 /* ES5 */ ? 32 /* AllowTrailingComma */ : 0 /* None */; + var allowTrailingComma = currentSourceFile.languageVersion >= 1 /* ES5 */ && !ts.isJsonSourceFile(currentSourceFile) ? 32 /* AllowTrailingComma */ : 0 /* None */; emitList(node, node.properties, 263122 /* ObjectLiteralExpressionProperties */ | allowTrailingComma | preferNewLine); if (indentedFlag) { decreaseIndent(); @@ -75682,7 +76003,7 @@ var ts; // expression a prefix increment whose operand is a plus expression - (++(+x)) // The same is true of minus of course. var operand = node.operand; - return operand.kind === 197 /* PrefixUnaryExpression */ + return operand.kind === 198 /* PrefixUnaryExpression */ && ((node.operator === 37 /* PlusToken */ && (operand.operator === 37 /* PlusToken */ || operand.operator === 43 /* PlusPlusToken */)) || (node.operator === 38 /* MinusToken */ && (operand.operator === 38 /* MinusToken */ || operand.operator === 44 /* MinusMinusToken */))); } @@ -75802,7 +76123,7 @@ var ts; if (node.elseStatement) { writeLineOrSpace(node); emitTokenWithComment(82 /* ElseKeyword */, node.thenStatement.end, writeKeyword, node); - if (node.elseStatement.kind === 216 /* IfStatement */) { + if (node.elseStatement.kind === 217 /* IfStatement */) { writeSpace(); emit(node.elseStatement); } @@ -75865,7 +76186,7 @@ var ts; emitTokenWithComment(19 /* OpenParenToken */, openParenPos, writePunctuation, node); emitForBinding(node.initializer); writeSpace(); - emitTokenWithComment(144 /* OfKeyword */, node.initializer.end, writeKeyword, node); + emitTokenWithComment(145 /* OfKeyword */, node.initializer.end, writeKeyword, node); writeSpace(); emitExpression(node.expression); emitTokenWithComment(20 /* CloseParenToken */, node.expression.end, writePunctuation, node); @@ -75873,7 +76194,7 @@ var ts; } function emitForBinding(node) { if (node !== undefined) { - if (node.kind === 232 /* VariableDeclarationList */) { + if (node.kind === 233 /* VariableDeclarationList */) { emit(node); } else { @@ -75988,7 +76309,7 @@ var ts; writeKeyword("function"); emit(node.asteriskToken); writeSpace(); - emitIdentifierName(node.name); + emitIdentifierName(node.name); // TODO: GH#18217 emitSignatureAndBody(node, emitSignatureHead); } function emitBlockCallback(_hint, body) { @@ -76168,7 +76489,7 @@ var ts; var body = node.body; if (!body) return writeSemicolon(); - while (body.kind === 238 /* ModuleDeclaration */) { + while (body.kind === 239 /* ModuleDeclaration */) { writePunctuation("."); emit(body.name); body = body.body; @@ -76213,7 +76534,7 @@ var ts; if (node.importClause) { emit(node.importClause); writeSpace(); - emitTokenWithComment(142 /* FromKeyword */, node.importClause.end, writeKeyword, node); + emitTokenWithComment(143 /* FromKeyword */, node.importClause.end, writeKeyword, node); writeSpace(); } emitExpression(node.moduleSpecifier); @@ -76265,7 +76586,7 @@ var ts; if (node.moduleSpecifier) { writeSpace(); var fromPos = node.exportClause ? node.exportClause.end : nextPos; - emitTokenWithComment(142 /* FromKeyword */, fromPos, writeKeyword, node); + emitTokenWithComment(143 /* FromKeyword */, fromPos, writeKeyword, node); writeSpace(); emitExpression(node.moduleSpecifier); } @@ -76357,7 +76678,7 @@ var ts; } function emitJsxAttribute(node) { emit(node.name); - emitNodeWithPrefix("=", writePunctuation, node.initializer, emit); + emitNodeWithPrefix("=", writePunctuation, node.initializer, emit); // TODO: GH#18217 } function emitJsxSpreadAttribute(node) { writePunctuation("{..."); @@ -76491,7 +76812,7 @@ var ts; emitSourceFileWorker(node); } function emitSyntheticTripleSlashReferencesIfNeeded(node) { - emitTripleSlashDirectives(node.hasNoDefaultLib, node.syntheticFileReferences || [], node.syntheticTypeReferences || []); + emitTripleSlashDirectives(!!node.hasNoDefaultLib, node.syntheticFileReferences || [], node.syntheticTypeReferences || []); } function emitTripleSlashDirectivesIfNeeded(node) { if (node.isDeclarationFile) @@ -76719,7 +77040,7 @@ var ts; emitNodeList(emit, parentNode, children, format, start, count); } function emitExpressionList(parentNode, children, format, start, count) { - emitNodeList(emitExpression, parentNode, children, format, start, count); + emitNodeList(emitExpression, parentNode, children, format, start, count); // TODO: GH#18217 } function writeDelimiter(format) { switch (format & 28 /* DelimitersMask */) { @@ -76745,7 +77066,7 @@ var ts; if (isUndefined && format & 8192 /* OptionalIfUndefined */) { return; } - var isEmpty = isUndefined || start >= children.length || count === 0; + var isEmpty = children === undefined || start >= children.length || count === 0; if (isEmpty && format & 16384 /* OptionalIfEmpty */) { if (onBeforeEmitNodeArray) { onBeforeEmitNodeArray(children); @@ -76758,6 +77079,7 @@ var ts; if (format & 7680 /* BracketsMask */) { writePunctuation(getOpeningBracket(format)); if (isEmpty && !isUndefined) { + // TODO: GH#18217 emitTrailingCommentsOfPosition(children.pos, /*prefixSpace*/ true); // Emit comments within empty bracketed lists } } @@ -76777,7 +77099,7 @@ var ts; // Write the opening line terminator or leading whitespace. var mayEmitInterveningComments = (format & 131072 /* NoInterveningComments */) === 0; var shouldEmitInterveningComments = mayEmitInterveningComments; - if (shouldWriteLeadingLineTerminator(parentNode, children, format)) { + if (shouldWriteLeadingLineTerminator(parentNode, children, format)) { // TODO: GH#18217 writeLine(); shouldEmitInterveningComments = false; } @@ -76790,7 +77112,7 @@ var ts; } // Emit each child. var previousSibling = void 0; - var shouldDecreaseIndentAfterEmit = void 0; + var shouldDecreaseIndentAfterEmit = false; for (var i = 0; i < count; i++) { var child = children[start + i]; // Write the delimiter if this is not the first node. @@ -76868,6 +77190,7 @@ var ts; } if (format & 7680 /* BracketsMask */) { if (isEmpty && !isUndefined) { + // TODO: GH#18217 emitLeadingCommentsOfPosition(children.end); // Emit leading comments within empty lists } writePunctuation(getClosingBracket(format)); @@ -77091,7 +77414,7 @@ var ts; && ts.rangeEndIsOnSameLineAsRangeStart(block, block, currentSourceFile); } function skipSynthesizedParentheses(node) { - while (node.kind === 190 /* ParenthesizedExpression */ && ts.nodeIsSynthesized(node)) { + while (node.kind === 191 /* ParenthesizedExpression */ && ts.nodeIsSynthesized(node)) { node = node.expression; } return node; @@ -77156,81 +77479,81 @@ var ts; if (!node) return; switch (node.kind) { - case 212 /* Block */: + case 213 /* Block */: ts.forEach(node.statements, generateNames); break; - case 227 /* LabeledStatement */: - case 225 /* WithStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 228 /* LabeledStatement */: + case 226 /* WithStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: generateNames(node.statement); break; - case 216 /* IfStatement */: + case 217 /* IfStatement */: generateNames(node.thenStatement); generateNames(node.elseStatement); break; - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: - case 220 /* ForInStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: + case 221 /* ForInStatement */: generateNames(node.initializer); generateNames(node.statement); break; - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: generateNames(node.caseBlock); break; - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: ts.forEach(node.clauses, generateNames); break; - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: ts.forEach(node.statements, generateNames); break; - case 229 /* TryStatement */: + case 230 /* TryStatement */: generateNames(node.tryBlock); generateNames(node.catchClause); generateNames(node.finallyBlock); break; - case 268 /* CatchClause */: + case 269 /* CatchClause */: generateNames(node.variableDeclaration); generateNames(node.block); break; - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: generateNames(node.declarationList); break; - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: ts.forEach(node.declarations, generateNames); break; - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: - case 181 /* BindingElement */: - case 234 /* ClassDeclaration */: + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: + case 182 /* BindingElement */: + case 235 /* ClassDeclaration */: generateNameIfNeeded(node.name); break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: generateNameIfNeeded(node.name); if (ts.getEmitFlags(node) & 524288 /* ReuseTempVariableScope */) { ts.forEach(node.parameters, generateNames); generateNames(node.body); } break; - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: ts.forEach(node.elements, generateNames); break; - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: generateNames(node.importClause); break; - case 244 /* ImportClause */: + case 245 /* ImportClause */: generateNameIfNeeded(node.name); generateNames(node.namedBindings); break; - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: generateNameIfNeeded(node.name); break; - case 246 /* NamedImports */: + case 247 /* NamedImports */: ts.forEach(node.elements, generateNames); break; - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: generateNameIfNeeded(node.propertyName || node.name); break; } @@ -77239,12 +77562,12 @@ var ts; if (!node) return; switch (node.kind) { - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: generateNameIfNeeded(node.name); break; } @@ -77396,7 +77719,7 @@ var ts; * Generates a unique name for an ImportDeclaration or ExportDeclaration. */ function generateNameForImportOrExportDeclaration(node) { - var expr = ts.getExternalModuleName(node); + var expr = ts.getExternalModuleName(node); // TODO: GH#18217 var baseName = ts.isStringLiteral(expr) ? ts.makeIdentifierFromModuleName(expr.text) : "module"; return makeUniqueName(baseName); @@ -77426,21 +77749,21 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return makeUniqueName(getTextOfNode(node), isUniqueName, !!(flags & 16 /* Optimistic */), !!(flags & 8 /* ReservedInNestedScopes */)); - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: return generateNameForModuleOrEnum(node); - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: return generateNameForImportOrExportDeclaration(node); - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - case 248 /* ExportAssignment */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 249 /* ExportAssignment */: return generateNameForExportDefault(); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return generateNameForClassExpression(); - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return generateNameForMethodOrAccessor(node); default: return makeTempVariableName(0 /* Auto */); @@ -77458,7 +77781,7 @@ var ts; case 3 /* Unique */: return makeUniqueName(ts.idText(name), (name.autoGenerateFlags & 32 /* FileLevel */) ? isFileLevelUniqueName : isUniqueName, !!(name.autoGenerateFlags & 16 /* Optimistic */), !!(name.autoGenerateFlags & 8 /* ReservedInNestedScopes */)); } - ts.Debug.fail("Unsupported GeneratedIdentifierKind."); + return ts.Debug.fail("Unsupported GeneratedIdentifierKind."); } /** * Gets the node from which a name should be generated. @@ -77921,8 +78244,8 @@ var ts; if (!outputFingerprints) { outputFingerprints = ts.createMap(); } - var hash = ts.sys.createHash(data); - var mtimeBefore = ts.sys.getModifiedTime(fileName); + var hash = ts.sys.createHash(data); // TODO: GH#18217 + var mtimeBefore = ts.sys.getModifiedTime(fileName); // TODO: GH#18217 if (mtimeBefore) { var fingerprint = outputFingerprints.get(fileName); // If output has not been changed, and the file has no external modification @@ -77934,7 +78257,7 @@ var ts; } } ts.sys.writeFile(fileName, data, writeByteOrderMark); - var mtimeAfter = ts.sys.getModifiedTime(fileName); + var mtimeAfter = ts.sys.getModifiedTime(fileName); // TODO: GH#18217 outputFingerprints.set(fileName, { hash: hash, byteOrderMark: writeByteOrderMark, @@ -78005,7 +78328,7 @@ var ts; function formatDiagnostic(diagnostic, host) { var errorMessage = ts.diagnosticCategoryName(diagnostic) + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine(); if (diagnostic.file) { - var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; + var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; // TODO: GH#18217 var fileName = diagnostic.file.fileName; var relativeFileName = ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }); return relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): " + errorMessage; @@ -78052,7 +78375,7 @@ var ts; var context_2 = ""; if (diagnostic.file) { var start = diagnostic.start, length_4 = diagnostic.length, file_9 = diagnostic.file; - var _a = ts.getLineAndCharacterOfPosition(file_9, start), firstLine = _a.line, firstLineChar = _a.character; + var _a = ts.getLineAndCharacterOfPosition(file_9, start), firstLine = _a.line, firstLineChar = _a.character; // TODO: GH#18217 var _b = ts.getLineAndCharacterOfPosition(file_9, start + length_4), lastLine = _b.line, lastLineChar = _b.character; var lastLineInFile = ts.getLineAndCharacterOfPosition(file_9, file_9.text.length).line; var relativeFileName = host ? ts.convertToRelativePath(file_9.fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }) : file_9.fileName; @@ -78196,8 +78519,7 @@ var ts; } ts.isProgramUptoDate = isProgramUptoDate; function getConfigFileParsingDiagnostics(configFileParseResult) { - return configFileParseResult.options.configFile ? - configFileParseResult.options.configFile.parseDiagnostics.concat(configFileParseResult.errors) : + return configFileParseResult.options.configFile ? configFileParseResult.options.configFile.parseDiagnostics.concat(configFileParseResult.errors) : configFileParseResult.errors; } ts.getConfigFileParsingDiagnostics = getConfigFileParsingDiagnostics; @@ -78228,9 +78550,9 @@ var ts; }; } function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) { - var createProgramOptions = ts.isArray(rootNamesOrOptions) ? createCreateProgramOptions(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) : rootNamesOrOptions; + var createProgramOptions = ts.isArray(rootNamesOrOptions) ? createCreateProgramOptions(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) : rootNamesOrOptions; // TODO: GH#18217 var rootNames = createProgramOptions.rootNames, options = createProgramOptions.options, configFileParsingDiagnostics = createProgramOptions.configFileParsingDiagnostics, projectReferences = createProgramOptions.projectReferences; - var host = createProgramOptions.host, oldProgram = createProgramOptions.oldProgram; + var oldProgram = createProgramOptions.oldProgram; var program; var files = []; var commonSourceDirectory; @@ -78257,7 +78579,7 @@ var ts; // Track source files that are source files found by searching under node_modules, as these shouldn't be compiled. var sourceFilesFoundSearchingNodeModules = ts.createMap(); ts.performance.mark("beforeProgram"); - host = host || createCompilerHost(options); + var host = createProgramOptions.host || createCompilerHost(options); var configParsingHost = parseConfigHostFromCompilerHost(host); var skipDefaultLib = options.noLib; var getDefaultLibraryFileName = ts.memoize(function () { return host.getDefaultLibFileName(options); }); @@ -78285,7 +78607,7 @@ var ts; } else { moduleResolutionCache = ts.createModuleResolutionCache(currentDirectory, function (x) { return host.getCanonicalFileName(x); }); - var loader_1 = function (moduleName, containingFile) { return ts.resolveModuleName(moduleName, containingFile, options, host, moduleResolutionCache).resolvedModule; }; + var loader_1 = function (moduleName, containingFile) { return ts.resolveModuleName(moduleName, containingFile, options, host, moduleResolutionCache).resolvedModule; }; // TODO: GH#18217 resolveModuleNamesWorker = function (moduleNames, containingFile) { return loadWithLocalCache(ts.Debug.assertEachDefined(moduleNames), containingFile, loader_1); }; } var resolveTypeReferenceDirectiveNamesWorker; @@ -78293,7 +78615,7 @@ var ts; resolveTypeReferenceDirectiveNamesWorker = function (typeDirectiveNames, containingFile) { return host.resolveTypeReferenceDirectives(ts.Debug.assertEachDefined(typeDirectiveNames), containingFile); }; } else { - var loader_2 = function (typesRef, containingFile) { return ts.resolveTypeReferenceDirective(typesRef, containingFile, options, host).resolvedTypeReferenceDirective; }; + var loader_2 = function (typesRef, containingFile) { return ts.resolveTypeReferenceDirective(typesRef, containingFile, options, host).resolvedTypeReferenceDirective; }; // TODO: GH#18217 resolveTypeReferenceDirectiveNamesWorker = function (typeReferenceDirectiveNames, containingFile) { return loadWithLocalCache(ts.Debug.assertEachDefined(typeReferenceDirectiveNames), containingFile, loader_2); }; } // Map from a stringified PackageId to the source file with that id. @@ -78384,6 +78706,7 @@ var ts; getOptionsDiagnostics: getOptionsDiagnostics, getGlobalDiagnostics: getGlobalDiagnostics, getSemanticDiagnostics: getSemanticDiagnostics, + getSuggestionDiagnostics: getSuggestionDiagnostics, getDeclarationDiagnostics: getDeclarationDiagnostics, getTypeChecker: getTypeChecker, getClassifiableNames: getClassifiableNames, @@ -78427,7 +78750,7 @@ var ts; } else if (options.composite) { // Project compilations never infer their root from the input source paths - commonSourceDirectory = ts.getDirectoryPath(ts.normalizeSlashes(options.configFilePath)); + commonSourceDirectory = ts.getDirectoryPath(ts.normalizeSlashes(options.configFilePath)); // TODO: GH#18217 checkSourceFilesBelongToPath(emittedFiles, commonSourceDirectory); } else { @@ -78548,7 +78871,7 @@ var ts; // `result[i]` is either a `ResolvedModuleFull` or a marker. // If it is the former, we can leave it as is. if (result[i] === predictedToResolveToAmbientModuleMarker) { - result[i] = undefined; + result[i] = undefined; // TODO: GH#18217 } } else { @@ -78561,7 +78884,7 @@ var ts; // If we change our policy of rechecking failed lookups on each program create, // we should adjust the value returned here. function moduleNameResolvesToAmbientModuleInNonModifiedFile(moduleName, oldProgramState) { - var resolutionToFile = ts.getResolvedModule(oldProgramState.oldSourceFile, moduleName); + var resolutionToFile = ts.getResolvedModule(oldProgramState.oldSourceFile, moduleName); // TODO: GH#18217 var resolvedFile = resolutionToFile && oldProgramState.program && oldProgramState.program.getSourceFile(resolutionToFile.resolvedFileName); if (resolutionToFile && resolvedFile && !resolvedFile.externalModuleIndicator) { // In the old program, we resolved to an ambient module that was in the same @@ -78657,7 +78980,7 @@ var ts; var oldSourceFile = oldSourceFiles_2[_i]; var newSourceFile = host.getSourceFileByPath ? host.getSourceFileByPath(oldSourceFile.fileName, oldSourceFile.path, options.target, /*onError*/ undefined, shouldCreateNewSourceFile) - : host.getSourceFile(oldSourceFile.fileName, options.target, /*onError*/ undefined, shouldCreateNewSourceFile); + : host.getSourceFile(oldSourceFile.fileName, options.target, /*onError*/ undefined, shouldCreateNewSourceFile); // TODO: GH#18217 if (!newSourceFile) { return oldProgram.structureIsReused = 0 /* Not */; } @@ -78843,7 +79166,7 @@ var ts; return nodes; } function isSourceFileFromExternalLibrary(file) { - return sourceFilesFoundSearchingNodeModules.get(file.path); + return !!sourceFilesFoundSearchingNodeModules.get(file.path); } function isSourceFileDefaultLibrary(file) { if (file.hasNoDefaultLib) { @@ -78859,7 +79182,7 @@ var ts; return equalityComparer(file.fileName, getDefaultLibraryFileName()); } else { - return ts.forEach(options.lib, function (libFileName) { return equalityComparer(file.fileName, ts.combinePaths(defaultLibraryPath, libFileName)); }); + return ts.some(options.lib, function (libFileName) { return equalityComparer(file.fileName, ts.combinePaths(defaultLibraryPath, libFileName)); }); } } function getDiagnosticsProducingTypeChecker() { @@ -78912,7 +79235,8 @@ var ts; var emitResolver = getDiagnosticsProducingTypeChecker().getEmitResolver((options.outFile || options.out) ? undefined : sourceFile, cancellationToken); ts.performance.mark("beforeEmit"); var transformers = emitOnlyDtsFiles ? [] : ts.getTransformers(options, customTransformers); - var emitResult = ts.emitFiles(emitResolver, getEmitHost(writeFileCallback), sourceFile, emitOnlyDtsFiles, transformers, customTransformers && customTransformers.afterDeclarations); + var emitResult = ts.emitFiles(emitResolver, getEmitHost(writeFileCallback), sourceFile, // TODO: GH#18217 + emitOnlyDtsFiles, transformers, customTransformers && customTransformers.afterDeclarations); ts.performance.mark("afterEmit"); ts.performance.measure("Emit", "beforeEmit", "afterEmit"); return emitResult; @@ -79003,11 +79327,24 @@ var ts; var checkDiagnostics = includeBindAndCheckDiagnostics ? typeChecker.getDiagnostics(sourceFile, cancellationToken) : ts.emptyArray; var fileProcessingDiagnosticsInFile = fileProcessingDiagnostics.getDiagnostics(sourceFile.fileName); var programDiagnosticsInFile = programDiagnostics.getDiagnostics(sourceFile.fileName); - var diagnostics = bindDiagnostics.concat(checkDiagnostics, fileProcessingDiagnosticsInFile, programDiagnosticsInFile); - if (isCheckJs) { - diagnostics = ts.concatenate(diagnostics, sourceFile.jsDocDiagnostics); + var diagnostics; + for (var _i = 0, _a = [bindDiagnostics, checkDiagnostics, fileProcessingDiagnosticsInFile, programDiagnosticsInFile, isCheckJs ? sourceFile.jsDocDiagnostics : undefined]; _i < _a.length; _i++) { + var diags = _a[_i]; + if (diags) { + for (var _b = 0, diags_1 = diags; _b < diags_1.length; _b++) { + var diag = diags_1[_b]; + if (shouldReportDiagnostic(diag)) { + diagnostics = ts.append(diagnostics, diag); + } + } + } } - return ts.filter(diagnostics, shouldReportDiagnostic); + return diagnostics; + }); + } + function getSuggestionDiagnostics(sourceFile, cancellationToken) { + return runWithCancellationToken(function () { + return getDiagnosticsProducingTypeChecker().getSuggestionDiagnostics(sourceFile, cancellationToken); }); } /** @@ -79017,7 +79354,7 @@ var ts; var file = diagnostic.file, start = diagnostic.start; if (file) { var lineStarts = ts.getLineStarts(file); - var line = ts.computeLineAndCharacterOfPosition(lineStarts, start).line; + var line = ts.computeLineAndCharacterOfPosition(lineStarts, start).line; // TODO: GH#18217 while (line > 0) { var previousLineText = file.text.slice(lineStarts[line - 1], lineStarts[line]); var result = ignoreDiagnosticCommentRegEx.exec(previousLineText); @@ -79044,22 +79381,22 @@ var ts; // Return directly from the case if the given node doesnt want to visit each child // Otherwise break to visit each child switch (parent.kind) { - case 148 /* Parameter */: - case 151 /* PropertyDeclaration */: + case 149 /* Parameter */: + case 152 /* PropertyDeclaration */: if (parent.questionToken === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_can_only_be_used_in_a_ts_file, "?")); return; } // falls through - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: - case 231 /* VariableDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: + case 232 /* VariableDeclaration */: // type annotation if (parent.type === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.types_can_only_be_used_in_a_ts_file)); @@ -79067,41 +79404,41 @@ var ts; } } switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.import_can_only_be_used_in_a_ts_file)); return; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: if (node.isExportEquals) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.export_can_only_be_used_in_a_ts_file)); return; } break; - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: var heritageClause = node; if (heritageClause.token === 108 /* ImplementsKeyword */) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.implements_clauses_can_only_be_used_in_a_ts_file)); return; } break; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.interface_declarations_can_only_be_used_in_a_ts_file)); return; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.module_declarations_can_only_be_used_in_a_ts_file)); return; - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.type_aliases_can_only_be_used_in_a_ts_file)); return; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.enum_declarations_can_only_be_used_in_a_ts_file)); return; - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.non_null_assertions_can_only_be_used_in_a_ts_file)); return; - case 207 /* AsExpression */: + case 208 /* AsExpression */: diagnostics.push(createDiagnosticForNode(node.type, ts.Diagnostics.type_assertion_expressions_can_only_be_used_in_a_ts_file)); return; - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: ts.Debug.fail(); // Won't parse these in a JS file anyway, as they are interpreted as JSX. } var prevParent = parent; @@ -79114,28 +79451,28 @@ var ts; diagnostics.push(createDiagnosticForNode(parent, ts.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning)); } switch (parent.kind) { - case 234 /* ClassDeclaration */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: + case 235 /* ClassDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: // Check type parameters if (nodes === parent.typeParameters) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.type_parameter_declarations_can_only_be_used_in_a_ts_file)); return; } // falls through - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: // Check modifiers if (nodes === parent.modifiers) { - return checkModifiers(nodes, parent.kind === 213 /* VariableStatement */); + return checkModifiers(nodes, parent.kind === 214 /* VariableStatement */); } break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: // Check modifiers of property declaration if (nodes === parent.modifiers) { for (var _i = 0, _a = nodes; _i < _a.length; _i++) { @@ -79147,18 +79484,18 @@ var ts; return; } break; - case 148 /* Parameter */: + case 149 /* Parameter */: // Check modifiers of parameter declaration if (nodes === parent.modifiers) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.parameter_modifiers_can_only_be_used_in_a_ts_file)); return; } break; - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 206 /* ExpressionWithTypeArguments */: - case 255 /* JsxSelfClosingElement */: - case 256 /* JsxOpeningElement */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 207 /* ExpressionWithTypeArguments */: + case 256 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: // Check type arguments if (nodes === parent.typeArguments) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.type_arguments_can_only_be_used_in_a_ts_file)); @@ -79224,7 +79561,7 @@ var ts; if (cachedResult) { return cachedResult; } - var result = getDiagnostics(sourceFile, cancellationToken) || ts.emptyArray; + var result = getDiagnostics(sourceFile, cancellationToken) || ts.emptyArray; // TODO: GH#18217 if (sourceFile) { if (!cache.perFile) { cache.perFile = ts.createMap(); @@ -79404,7 +79741,8 @@ var ts; } /** This has side effects through `findSourceFile`. */ function processSourceFile(fileName, isDefaultLib, packageId, refFile, refPos, refEnd) { - getSourceFileFromReferenceWorker(fileName, function (fileName) { return findSourceFile(fileName, toPath(fileName), isDefaultLib, refFile, refPos, refEnd, packageId); }, function (diagnostic) { + getSourceFileFromReferenceWorker(fileName, function (fileName) { return findSourceFile(fileName, toPath(fileName), isDefaultLib, refFile, refPos, refEnd, packageId); }, // TODO: GH#18217 + function (diagnostic) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; @@ -79496,7 +79834,7 @@ var ts; if (fileFromPackageId) { // Some other SourceFile already exists with this package name and version. // Instead of creating a duplicate, just redirect to the existing one. - var dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path); + var dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path); // TODO: GH#18217 redirectTargetsSet.set(fileFromPackageId.path, true); filesByName.set(path, dupFile); sourceFileToPackageName.set(path, packageId.name); @@ -79591,7 +79929,7 @@ var ts; if (resolvedTypeReferenceDirective) { if (resolvedTypeReferenceDirective.primary) { // resolved from the primary path - processSourceFile(resolvedTypeReferenceDirective.resolvedFileName, /*isDefaultLib*/ false, resolvedTypeReferenceDirective.packageId, refFile, refPos, refEnd); + processSourceFile(resolvedTypeReferenceDirective.resolvedFileName, /*isDefaultLib*/ false, resolvedTypeReferenceDirective.packageId, refFile, refPos, refEnd); // TODO: GH#18217 } else { // If we already resolved to this file, it must have been a secondary reference. Check file contents @@ -79601,7 +79939,8 @@ var ts; if (resolvedTypeReferenceDirective.resolvedFileName !== previousResolution.resolvedFileName) { var otherFileText = host.readFile(resolvedTypeReferenceDirective.resolvedFileName); if (otherFileText !== getSourceFile(previousResolution.resolvedFileName).text) { - fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, ts.Diagnostics.Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict, typeReferenceDirective, resolvedTypeReferenceDirective.resolvedFileName, previousResolution.resolvedFileName)); + fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, // TODO: GH#18217 + ts.Diagnostics.Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict, typeReferenceDirective, resolvedTypeReferenceDirective.resolvedFileName, previousResolution.resolvedFileName)); } } // don't overwrite previous resolution result @@ -79614,7 +79953,7 @@ var ts; } } else { - fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, ts.Diagnostics.Cannot_find_type_definition_file_for_0, typeReferenceDirective)); + fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, ts.Diagnostics.Cannot_find_type_definition_file_for_0, typeReferenceDirective)); // TODO: GH#18217 } if (saveResolution) { resolvedTypeReferenceDirectives.set(typeReferenceDirective, resolvedTypeReferenceDirective); @@ -79718,7 +80057,7 @@ var ts; } function parseProjectReferenceConfigFile(ref) { // The actual filename (i.e. add "/tsconfig.json" if necessary) - var refPath = resolveProjectReferencePath(host, ref); + var refPath = resolveProjectReferencePath(host, ref); // TODO: GH#18217 // An absolute path pointing to the containing directory of the config file var basePath = ts.getNormalizedAbsolutePath(ts.getDirectoryPath(refPath), host.getCurrentDirectory()); var sourceFile = host.getSourceFile(refPath, 100 /* JSON */); @@ -79729,13 +80068,13 @@ var ts; return { commandLine: commandLine, sourceFile: sourceFile }; } function addProjectReferenceRedirects(referencedProject, target) { - var rootDir = ts.normalizePath(referencedProject.options.rootDir || ts.getDirectoryPath(referencedProject.options.configFilePath)); + var rootDir = ts.normalizePath(referencedProject.options.rootDir || ts.getDirectoryPath(referencedProject.options.configFilePath)); // TODO: GH#18217 target.set(rootDir, getDeclarationOutputDirectory(referencedProject)); } function getDeclarationOutputDirectory(proj) { return proj.options.declarationDir || proj.options.outDir || - ts.getDirectoryPath(proj.options.configFilePath); + ts.getDirectoryPath(proj.options.configFilePath); // TODO: GH#18217 } function verifyCompilerOptions() { if (options.strictPropertyInitialization && !options.strictNullChecks) { @@ -79990,9 +80329,9 @@ var ts; if (ts.isObjectLiteralExpression(pathProp.initializer)) { for (var _a = 0, _b = ts.getPropertyAssignment(pathProp.initializer, key); _a < _b.length; _a++) { var keyProps = _b[_a]; - if (ts.isArrayLiteralExpression(keyProps.initializer) && - keyProps.initializer.elements.length > valueIndex) { - programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, keyProps.initializer.elements[valueIndex], message, arg0, arg1, arg2)); + var initializer = keyProps.initializer; + if (ts.isArrayLiteralExpression(initializer) && initializer.elements.length > valueIndex) { + programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, initializer.elements[valueIndex], message, arg0, arg1, arg2)); needCompilerDiagnostic = false; } } @@ -80053,7 +80392,7 @@ var ts; if (_referencesArrayLiteralSyntax === undefined) { _referencesArrayLiteralSyntax = null; // tslint:disable-line:no-null-keyword if (options.configFile) { - var jsonObjectLiteral = ts.getTsConfigObjectLiteralExpression(options.configFile); + var jsonObjectLiteral = ts.getTsConfigObjectLiteralExpression(options.configFile); // TODO: GH#18217 for (var _i = 0, _a = ts.getPropertyAssignment(jsonObjectLiteral, "references"); _i < _a.length; _i++) { var prop = _a[_i]; if (ts.isArrayLiteralExpression(prop.initializer)) { @@ -80095,6 +80434,7 @@ var ts; return false; } programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, arrayLiteral.elements[index], message, arg0, arg1, arg2)); + return false; // TODO: GH#18217 This function always returns `false`!` } function blockEmittingOfFile(emitFileName, diag) { hasEmitBlockingDiagnostics.set(toPath(emitFileName), true); @@ -80114,6 +80454,10 @@ var ts; if (out) { return isSameFile(filePath, out) || isSameFile(filePath, ts.removeFileExtension(out) + ".d.ts" /* Dts */); } + // If declarationDir is specified, return if its a file in that directory + if (options.declarationDir && ts.containsPath(options.declarationDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames())) { + return true; + } // If --outDir, check if file is in that directory if (options.outDir) { return ts.containsPath(options.outDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames()); @@ -80121,8 +80465,8 @@ var ts; if (ts.fileExtensionIsOneOf(filePath, ts.supportedJavascriptExtensions) || ts.fileExtensionIs(filePath, ".d.ts" /* Dts */)) { // Otherwise just check if sourceFile with the name exists var filePathWithoutExtension = ts.removeFileExtension(filePath); - return !!getSourceFileByPath(ts.combinePaths(filePathWithoutExtension, ".ts" /* Ts */)) || - !!getSourceFileByPath(ts.combinePaths(filePathWithoutExtension, ".tsx" /* Tsx */)); + return !!getSourceFileByPath((filePathWithoutExtension + ".ts" /* Ts */)) || + !!getSourceFileByPath((filePathWithoutExtension + ".tsx" /* Tsx */)); } return false; } @@ -80247,7 +80591,7 @@ var ts; if (!resolvedTypeReferenceDirective) { return; } - var fileName = resolvedTypeReferenceDirective.resolvedFileName; + var fileName = resolvedTypeReferenceDirective.resolvedFileName; // TODO: GH#18217 var typeFilePath = ts.toPath(fileName, sourceFileDirectory, getCanonicalFileName); addReferencedFile(typeFilePath); }); @@ -80279,7 +80623,7 @@ var ts; for (var _i = 0, _a = newProgram.getSourceFiles(); _i < _a.length; _i++) { var sourceFile = _a[_i]; var version_1 = sourceFile.version; - var oldInfo = useOldState && oldState.fileInfos.get(sourceFile.path); + var oldInfo = useOldState ? oldState.fileInfos.get(sourceFile.path) : undefined; if (referencedMap) { var newReferences = getReferencedFiles(newProgram, sourceFile, getCanonicalFileName); if (newReferences) { @@ -80342,7 +80686,8 @@ var ts; return false; } var info = state.fileInfos.get(sourceFile.path); - ts.Debug.assert(!!info); + if (!info) + return ts.Debug.fail(); var prevSignature = info.signature; var latestSignature; if (sourceFile.isDeclarationFile) { @@ -80354,7 +80699,7 @@ var ts; latestSignature = computeHash(emitOutput.outputFiles[0].text); } else { - latestSignature = prevSignature; + latestSignature = prevSignature; // TODO: GH#18217 } } cacheToUpdateSignature.set(sourceFile.path, latestSignature); @@ -80489,8 +80834,9 @@ var ts; if (!seenFileNamesMap.has(currentPath)) { var currentSourceFile = programOfThisState.getSourceFileByPath(currentPath); seenFileNamesMap.set(currentPath, currentSourceFile); - if (currentSourceFile && updateShapeSignature(state, programOfThisState, currentSourceFile, cacheToUpdateSignature, cancellationToken, computeHash)) { - queue.push.apply(queue, getReferencedByPaths(state, currentPath)); + if (currentSourceFile && updateShapeSignature(state, programOfThisState, currentSourceFile, cacheToUpdateSignature, cancellationToken, computeHash)) { // TODO: GH#18217 + queue.push.apply(// TODO: GH#18217 + queue, getReferencedByPaths(state, currentPath)); } } } @@ -80505,7 +80851,7 @@ var ts; (function (ts) { function hasSameKeys(map1, map2) { // Has same size and every key is present in both maps - return map1 === map2 || map1 && map2 && map1.size === map2.size && !ts.forEachKey(map1, function (key) { return !map2.has(key); }); + return map1 === map2 || map1 !== undefined && map2 !== undefined && map1.size === map2.size && !ts.forEachKey(map1, function (key) { return !map2.has(key); }); } /** * Create the state so that we can iterate on changedFiles/affected files @@ -80533,7 +80879,7 @@ var ts; } // Update changed files and copy semantic diagnostics if we can var referencedMap = state.referencedMap; - var oldReferencedMap = useOldState && oldState.referencedMap; + var oldReferencedMap = useOldState ? oldState.referencedMap : undefined; state.fileInfos.forEach(function (info, sourceFilePath) { var oldInfo; var newReferences; @@ -80577,7 +80923,7 @@ var ts; var affectedFiles = state.affectedFiles; if (affectedFiles) { var seenAffectedFiles = state.seenAffectedFiles, semanticDiagnosticsPerFile = state.semanticDiagnosticsPerFile; - var affectedFilesIndex = state.affectedFilesIndex; + var affectedFilesIndex = state.affectedFilesIndex; // TODO: GH#18217 while (affectedFilesIndex < affectedFiles.length) { var affectedFile = affectedFiles[affectedFilesIndex]; if (!seenAffectedFiles.has(affectedFile.path)) { @@ -80690,7 +81036,7 @@ var ts; // Return same program if underlying program doesnt change var oldState = oldProgram && oldProgram.getState(); if (oldState && newProgram === oldState.program && configFileParsingDiagnostics === newProgram.getConfigFileParsingDiagnostics()) { - newProgram = undefined; + newProgram = undefined; // TODO: GH#18217 oldState = undefined; return oldProgram; } @@ -80704,7 +81050,7 @@ var ts; var computeHash = host.createHash || ts.identity; var state = createBuilderProgramState(newProgram, getCanonicalFileName, oldState); // To ensure that we arent storing any references to old program or new program without state - newProgram = undefined; + newProgram = undefined; // TODO: GH#18217 oldProgram = undefined; oldState = undefined; var result = { @@ -80765,7 +81111,7 @@ var ts; if (!targetSourceFile) { // Emit and report any errors we ran into. var sourceMaps = []; - var emitSkipped = void 0; + var emitSkipped = false; var diagnostics = void 0; var emittedFiles = []; var affectedEmitResult = void 0; @@ -80885,7 +81231,7 @@ var ts; var filesWithInvalidatedResolutions; var filesWithInvalidatedNonRelativeUnresolvedImports; var allFilesHaveInvalidatedResolution = false; - var getCurrentDirectory = ts.memoize(function () { return resolutionHost.getCurrentDirectory(); }); + var getCurrentDirectory = ts.memoize(function () { return resolutionHost.getCurrentDirectory(); }); // TODO: GH#18217 var cachedDirectoryStructureHost = resolutionHost.getCachedDirectoryStructureHost(); // The resolvedModuleNames and resolvedTypeReferenceDirectives are the cache of resolutions per file. // The key in the map is source file's path. @@ -80906,7 +81252,7 @@ var ts; var customFailedLookupPaths = ts.createMap(); var directoryWatchesOfFailedLookups = ts.createMap(); var rootDir = rootDirForResolution && ts.removeTrailingDirectorySeparator(ts.getNormalizedAbsolutePath(rootDirForResolution, getCurrentDirectory())); - var rootPath = rootDir && resolutionHost.toPath(rootDir); + var rootPath = (rootDir && resolutionHost.toPath(rootDir)); // TODO: GH#18217 // TypeRoot watches for the types that get added as part of getAutomaticTypeDirectiveNames var typeRootsWatches = ts.createMap(); return { @@ -80964,7 +81310,7 @@ var ts; } // Invalidated if file has unresolved imports var value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path); - return value && !!value.length; + return !!value && !!value.length; } function createHasInvalidatedResolution(forceAllFilesAsInvalidated) { if (allFilesHaveInvalidatedResolution || forceAllFilesAsInvalidated) { @@ -80974,7 +81320,7 @@ var ts; } var collected = filesWithInvalidatedResolutions; filesWithInvalidatedResolutions = undefined; - return function (path) { return (collected && collected.has(path)) || + return function (path) { return (!!collected && collected.has(path)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path); }; } function clearPerDirectoryResolutions() { @@ -81055,7 +81401,7 @@ var ts; } ts.Debug.assert(resolution !== undefined && !resolution.isInvalidated); seenNamesInFile.set(name, true); - resolvedModules.push(getResolutionWithResolvedFileName(resolution)); + resolvedModules.push(getResolutionWithResolvedFileName(resolution)); // TODO: GH#18217 } // Stop watching and remove the unused name resolutionsInFile.forEach(function (resolution, name) { @@ -81126,7 +81472,7 @@ var ts; } function getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath) { if (isInDirectoryPath(rootPath, failedLookupLocationPath)) { - return { dir: rootDir, dirPath: rootPath }; + return { dir: rootDir, dirPath: rootPath }; // TODO: GH#18217 } return getDirectoryToWatchFromFailedLookupLocationDirectory(ts.getDirectoryPath(ts.getNormalizedAbsolutePath(failedLookupLocation, getCurrentDirectory())), ts.getDirectoryPath(failedLookupLocationPath)); } @@ -81141,19 +81487,20 @@ var ts; return filterFSRootDirectoriesToWatch({ dir: dir, dirPath: dirPath }, ts.getDirectoryPath(dirPath)); } // Use some ancestor of the root directory - var subDirectory; + var subDirectoryPath, subDirectory; if (rootPath !== undefined) { while (!isInDirectoryPath(dirPath, rootPath)) { var parentPath = ts.getDirectoryPath(dirPath); if (parentPath === dirPath) { break; } - subDirectory = dirPath.slice(parentPath.length + ts.directorySeparator.length); + subDirectoryPath = dirPath; + subDirectory = dir; dirPath = parentPath; dir = ts.getDirectoryPath(dir); } } - return filterFSRootDirectoriesToWatch({ dir: dir, dirPath: dirPath, subDirectory: subDirectory }, dirPath); + return filterFSRootDirectoriesToWatch({ dir: subDirectory || dir, dirPath: subDirectoryPath || dirPath }, dirPath); } function isPathWithDefaultFailedLookupExtension(path) { return ts.fileExtensionIsOneOf(path, failedLookupDefaultExtensions); @@ -81173,7 +81520,7 @@ var ts; for (var _i = 0, failedLookupLocations_1 = failedLookupLocations; _i < failedLookupLocations_1.length; _i++) { var failedLookupLocation = failedLookupLocations_1[_i]; var failedLookupLocationPath = resolutionHost.toPath(failedLookupLocation); - var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dir = _a.dir, dirPath = _a.dirPath, ignore = _a.ignore, subDirectory = _a.subDirectory; + var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dir = _a.dir, dirPath = _a.dirPath, ignore = _a.ignore; if (!ignore) { // If the failed lookup location path is not one of the supported extensions, // store it in the custom path @@ -81185,27 +81532,21 @@ var ts; setAtRoot = true; } else { - setDirectoryWatcher(dir, dirPath, subDirectory); + setDirectoryWatcher(dir, dirPath); } } } if (setAtRoot) { - setDirectoryWatcher(rootDir, rootPath); + setDirectoryWatcher(rootDir, rootPath); // TODO: GH#18217 } } - function setDirectoryWatcher(dir, dirPath, subDirectory) { + function setDirectoryWatcher(dir, dirPath) { var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); if (dirWatcher) { dirWatcher.refCount++; } else { - dirWatcher = { watcher: createDirectoryWatcher(dir, dirPath), refCount: 1 }; - directoryWatchesOfFailedLookups.set(dirPath, dirWatcher); - } - if (subDirectory) { - var subDirectoryMap = dirWatcher.subDirectoryMap || (dirWatcher.subDirectoryMap = ts.createMap()); - var existing = subDirectoryMap.get(subDirectory) || 0; - subDirectoryMap.set(subDirectory, existing + 1); + directoryWatchesOfFailedLookups.set(dirPath, { watcher: createDirectoryWatcher(dir, dirPath), refCount: 1 }); } } function stopWatchFailedLookupLocationOfResolution(resolution) { @@ -81221,7 +81562,7 @@ var ts; for (var _i = 0, failedLookupLocations_2 = failedLookupLocations; _i < failedLookupLocations_2.length; _i++) { var failedLookupLocation = failedLookupLocations_2[_i]; var failedLookupLocationPath = resolutionHost.toPath(failedLookupLocation); - var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dirPath = _a.dirPath, ignore = _a.ignore, subDirectory = _a.subDirectory; + var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dirPath = _a.dirPath, ignore = _a.ignore; if (!ignore) { var refCount = customFailedLookupPaths.get(failedLookupLocationPath); if (refCount) { @@ -81237,7 +81578,7 @@ var ts; removeAtRoot = true; } else { - removeDirectoryWatcher(dirPath, subDirectory); + removeDirectoryWatcher(dirPath); } } } @@ -81245,29 +81586,11 @@ var ts; removeDirectoryWatcher(rootPath); } } - function removeDirectoryWatcher(dirPath, subDirectory) { + function removeDirectoryWatcher(dirPath) { var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); - if (subDirectory) { - var existing = dirWatcher.subDirectoryMap.get(subDirectory); - if (existing === 1) { - dirWatcher.subDirectoryMap.delete(subDirectory); - } - else { - dirWatcher.subDirectoryMap.set(subDirectory, existing - 1); - } - } // Do not close the watcher yet since it might be needed by other failed lookup locations. dirWatcher.refCount--; } - function inWatchedSubdirectory(dirPath, fileOrDirectoryPath) { - var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); - if (!dirWatcher || !dirWatcher.subDirectoryMap) - return false; - return ts.forEachKey(dirWatcher.subDirectoryMap, function (subDirectory) { - var fullSubDirectory = dirPath + "/" + subDirectory; - return fullSubDirectory === fileOrDirectoryPath || isInDirectoryPath(fullSubDirectory, fileOrDirectoryPath); - }); - } function createDirectoryWatcher(directory, dirPath) { return resolutionHost.watchDirectoryOfFailedLookupLocation(directory, function (fileOrDirectory) { var fileOrDirectoryPath = resolutionHost.toPath(fileOrDirectory); @@ -81275,13 +81598,8 @@ var ts; // Since the file existence changed, update the sourceFiles cache cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(fileOrDirectory, fileOrDirectoryPath); } - // If the files are added to project root or node_modules directory, always run through the invalidation process - // Otherwise run through invalidation only if adding to the immediate directory - if (!allFilesHaveInvalidatedResolution && - (dirPath === rootPath || isNodeModulesDirectory(dirPath) || ts.getDirectoryPath(fileOrDirectoryPath) === dirPath || inWatchedSubdirectory(dirPath, fileOrDirectoryPath))) { - if (invalidateResolutionOfFailedLookupLocation(fileOrDirectoryPath, dirPath === fileOrDirectoryPath)) { - resolutionHost.onInvalidatedResolution(); - } + if (!allFilesHaveInvalidatedResolution && invalidateResolutionOfFailedLookupLocation(fileOrDirectoryPath, dirPath === fileOrDirectoryPath)) { + resolutionHost.onInvalidatedResolution(); } }, 1 /* Recursive */); } @@ -81339,7 +81657,7 @@ var ts; // Resolution is invalidated if the resulting file name is same as the deleted file path function (resolution, getResolutionWithResolvedFileName) { var result = getResolutionWithResolvedFileName(resolution); - return result && resolutionHost.toPath(result.resolvedFileName) === filePath; + return !!result && resolutionHost.toPath(result.resolvedFileName) === filePath; // TODO: GH#18217 }); } function setFilesWithInvalidatedNonRelativeUnresolvedImports(filesMap) { @@ -81395,7 +81713,7 @@ var ts; return rootPath; } var _a = getDirectoryToWatchFromFailedLookupLocationDirectory(typeRoot, typeRootPath), dirPath = _a.dirPath, ignore = _a.ignore; - return !ignore && directoryWatchesOfFailedLookups.has(dirPath) && dirPath; + return !ignore && directoryWatchesOfFailedLookups.has(dirPath) ? dirPath : undefined; } function createTypeRootsWatch(typeRootPath, typeRoot) { // Create new watch and recursive info @@ -81462,7 +81780,7 @@ var ts; getCurrentDirectory: function () { return ts.sys.getCurrentDirectory(); }, getNewLine: function () { return ts.sys.newLine; }, getCanonicalFileName: ts.createGetCanonicalFileName(ts.sys.useCaseSensitiveFileNames) - } : undefined; + } : undefined; // TODO: GH#18217 /** * Create a function that reports error by writing to the system and handles the formating of the diagnostic */ @@ -81479,7 +81797,7 @@ var ts; return function (diagnostic) { diagnostics[0] = diagnostic; system.write(ts.formatDiagnosticsWithColorAndContext(diagnostics, host) + host.getNewLine()); - diagnostics[0] = undefined; + diagnostics[0] = undefined; // TODO: GH#18217 }; } ts.createDiagnosticReporter = createDiagnosticReporter; @@ -81539,7 +81857,7 @@ var ts; var host = system; host.onUnRecoverableConfigFileDiagnostic = function (diagnostic) { return reportUnrecoverableDiagnostic(ts.sys, reportDiagnostic, diagnostic); }; var result = ts.getParsedCommandLineOfConfigFile(configFileName, optionsToExtend, host); - host.onUnRecoverableConfigFileDiagnostic = undefined; + host.onUnRecoverableConfigFileDiagnostic = undefined; // TODO: GH#18217 return result; } ts.parseConfigFileWithSystem = parseConfigFileWithSystem; @@ -81669,9 +81987,9 @@ var ts; * Creates the watch compiler host from system for config file in watch mode */ function createWatchCompilerHostOfConfigFile(configFileName, optionsToExtend, system, createProgram, reportDiagnostic, reportWatchStatus) { - reportDiagnostic = reportDiagnostic || createDiagnosticReporter(system); - var host = createWatchCompilerHost(system, createProgram, reportDiagnostic, reportWatchStatus); - host.onUnRecoverableConfigFileDiagnostic = function (diagnostic) { return reportUnrecoverableDiagnostic(system, reportDiagnostic, diagnostic); }; + var diagnosticReporter = reportDiagnostic || createDiagnosticReporter(system); + var host = createWatchCompilerHost(system, createProgram, diagnosticReporter, reportWatchStatus); + host.onUnRecoverableConfigFileDiagnostic = function (diagnostic) { return reportUnrecoverableDiagnostic(system, diagnosticReporter, diagnostic); }; host.configFileName = configFileName; host.optionsToExtend = optionsToExtend; return host; @@ -81691,7 +82009,7 @@ var ts; (function (ts) { function createWatchCompilerHost(rootFilesOrConfigFileName, options, system, createProgram, reportDiagnostic, reportWatchStatus) { if (ts.isArray(rootFilesOrConfigFileName)) { - return ts.createWatchCompilerHostOfFilesAndCompilerOptions(rootFilesOrConfigFileName, options, system, createProgram, reportDiagnostic, reportWatchStatus); + return ts.createWatchCompilerHostOfFilesAndCompilerOptions(rootFilesOrConfigFileName, options, system, createProgram, reportDiagnostic, reportWatchStatus); // TODO: GH#18217 } else { return ts.createWatchCompilerHostOfConfigFile(rootFilesOrConfigFileName, options, system, createProgram, reportDiagnostic, reportWatchStatus); @@ -81718,7 +82036,7 @@ var ts; var configFileSpecs; var configFileParsingDiagnostics; var hasChangedConfigFileParsingErrors = false; - var cachedDirectoryStructureHost = configFileName && ts.createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensitiveFileNames); + var cachedDirectoryStructureHost = configFileName === undefined ? undefined : ts.createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensitiveFileNames); if (cachedDirectoryStructureHost && host.onCachedDirectoryStructureHostCreate) { host.onCachedDirectoryStructureHostCreate(cachedDirectoryStructureHost); } @@ -81748,7 +82066,7 @@ var ts; var trace = host.trace && (function (s) { host.trace(s + newLine); }); var watchLogLevel = trace ? compilerOptions.extendedDiagnostics ? ts.WatchLogLevel.Verbose : compilerOptions.diagnostis ? ts.WatchLogLevel.TriggerOnly : ts.WatchLogLevel.None : ts.WatchLogLevel.None; - var writeLog = watchLogLevel !== ts.WatchLogLevel.None ? trace : ts.noop; + var writeLog = watchLogLevel !== ts.WatchLogLevel.None ? trace : ts.noop; // TODO: GH#18217 var _b = ts.getWatchFactory(watchLogLevel, writeLog), watchFile = _b.watchFile, watchFilePath = _b.watchFilePath, watchDirectory = _b.watchDirectory; var getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames); writeLog("Current directory: " + currentDirectory + " CaseSensitiveFileNames: " + useCaseSensitiveFileNames); @@ -81770,7 +82088,7 @@ var ts; readFile: readFile, trace: trace, directoryExists: directoryStructureHost.directoryExists && (function (path) { return directoryStructureHost.directoryExists(path); }), - getDirectories: directoryStructureHost.getDirectories && (function (path) { return directoryStructureHost.getDirectories(path); }), + getDirectories: (directoryStructureHost.getDirectories && (function (path) { return directoryStructureHost.getDirectories(path); })), realpath: host.realpath && (function (s) { return host.realpath(s); }), getEnvironmentVariable: host.getEnvironmentVariable ? (function (name) { return host.getEnvironmentVariable(name); }) : (function () { return ""; }), onReleaseOldSourceFile: onReleaseOldSourceFile, @@ -82059,12 +82377,12 @@ var ts; watchConfigFileWildCardDirectories(); } function parseConfigFile() { - setConfigFileParsingResult(ts.getParsedCommandLineOfConfigFile(configFileName, optionsToExtendForConfigFile, parseConfigFileHost)); + setConfigFileParsingResult(ts.getParsedCommandLineOfConfigFile(configFileName, optionsToExtendForConfigFile, parseConfigFileHost)); // TODO: GH#18217 } function setConfigFileParsingResult(configFileParseResult) { rootFileNames = configFileParseResult.fileNames; compilerOptions = configFileParseResult.options; - configFileSpecs = configFileParseResult.configFileSpecs; + configFileSpecs = configFileParseResult.configFileSpecs; // TODO: GH#18217 configFileParsingDiagnostics = ts.getConfigFileParsingDiagnostics(configFileParseResult); hasChangedConfigFileParsingErrors = true; } @@ -82303,6 +82621,7 @@ var 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", }), }, @@ -82948,7 +83267,7 @@ var ts; case "string": return ts.map(values, function (v) { return v || ""; }); default: - return ts.filter(ts.map(values, function (v) { return parseCustomTypeOption(opt.element, v, errors); }), function (v) { return !!v; }); + return ts.mapDefined(values, function (v) { return parseCustomTypeOption(opt.element, v, errors); }); } } ts.parseListTypeOption = parseListTypeOption; @@ -83061,6 +83380,7 @@ var ts; } } ts.parseCommandLine = parseCommandLine; + /** @internal */ function getOptionFromName(optionName, allowShort) { if (allowShort === void 0) { allowShort = false; } optionName = optionName.toLowerCase(); @@ -83074,6 +83394,7 @@ var ts; } return optionNameMap.get(optionName); } + ts.getOptionFromName = getOptionFromName; /** * Reads the config file, reports errors if any and exits if the config file cannot be found */ @@ -83233,7 +83554,7 @@ var ts; var result = returnValue ? {} : undefined; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var element = _a[_i]; - if (element.kind !== 269 /* PropertyAssignment */) { + if (element.kind !== 270 /* PropertyAssignment */) { errors.push(ts.createDiagnosticForNodeInSourceFile(sourceFile, element, ts.Diagnostics.Property_assignment_expected)); continue; } @@ -83310,13 +83631,13 @@ var ts; case 8 /* NumericLiteral */: reportInvalidOptionValue(option && option.type !== "number"); return Number(valueExpression.text); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: if (valueExpression.operator !== 38 /* MinusToken */ || valueExpression.operand.kind !== 8 /* NumericLiteral */) { break; // not valid JSON syntax } reportInvalidOptionValue(option && option.type !== "number"); return -Number(valueExpression.operand.text); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: reportInvalidOptionValue(option && option.type !== "object"); var objectLiteralExpression = valueExpression; // Currently having element option declaration in the tsconfig with type "object" @@ -83333,7 +83654,7 @@ var ts; return convertObjectLiteralExpressionToJson(objectLiteralExpression, /* knownOptions*/ undefined, /*extraKeyDiagnosticMessage */ undefined, /*parentOption*/ undefined); } - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: reportInvalidOptionValue(option && option.type !== "list"); return convertArrayLiteralExpressionToJson(valueExpression.elements, option && option.element); } @@ -83371,6 +83692,7 @@ var ts; var expectedType = ts.isString(option.type) ? option.type : "string"; return typeof value === expectedType; } + return false; } /** * Generate tsconfig configuration when running command line "--init" @@ -83423,7 +83745,7 @@ var ts; } else { if (optionDefinition.type === "list") { - result.set(name, value.map(function (element) { return getNameOfCompilerOptionValue(element, customTypeMap_1); })); + result.set(name, value.map(function (element) { return getNameOfCompilerOptionValue(element, customTypeMap_1); })); // TODO: GH#18217 } else { // There is a typeMap associated with this command-line option so use it to map value back to its name @@ -83850,13 +84172,10 @@ var ts; } function convertCompileOnSaveOptionFromJson(jsonOption, basePath, errors) { if (!ts.hasProperty(jsonOption, ts.compileOnSaveCommandLineOption.name)) { - return undefined; + return false; } var result = convertJsonOption(ts.compileOnSaveCommandLineOption, jsonOption.compileOnSave, basePath, errors); - if (typeof result === "boolean" && result) { - return result; - } - return false; + return typeof result === "boolean" && result; } function convertCompilerOptionsFromJson(jsonOptions, basePath, configFileName) { var errors = []; @@ -83885,7 +84204,7 @@ var ts; return options; } function getDefaultTypeAcquisition(configFileName) { - return { enable: configFileName && ts.getBaseFileName(configFileName) === "jsconfig.json", include: [], exclude: [] }; + return { enable: !!configFileName && ts.getBaseFileName(configFileName) === "jsconfig.json", include: [], exclude: [] }; } function convertTypeAcquisitionFromJsonWorker(jsonOptions, basePath, errors, configFileName) { var options = getDefaultTypeAcquisition(configFileName); @@ -84282,7 +84601,7 @@ var ts; if (optionEnumValue === value) { return optionStringValue; } - }); + }); // TODO: GH#18217 } } })(ts || (ts = {})); @@ -84550,36 +84869,36 @@ var ts; })(SemanticMeaning = ts.SemanticMeaning || (ts.SemanticMeaning = {})); function getMeaningFromDeclaration(node) { switch (node.kind) { - case 148 /* Parameter */: - case 231 /* VariableDeclaration */: - case 181 /* BindingElement */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 268 /* CatchClause */: - case 261 /* JsxAttribute */: + case 149 /* Parameter */: + case 232 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 269 /* CatchClause */: + case 262 /* JsxAttribute */: return 1 /* Value */; - case 147 /* TypeParameter */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 165 /* TypeLiteral */: + case 148 /* TypeParameter */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 166 /* TypeLiteral */: return 2 /* Type */; - case 296 /* JSDocTypedefTag */: + case 297 /* JSDocTypedefTag */: // If it has no name node, it shares the name with the value declaration below it. return node.name === undefined ? 1 /* Value */ | 2 /* Type */ : 2 /* Type */; - case 272 /* EnumMember */: - case 234 /* ClassDeclaration */: + case 273 /* EnumMember */: + case 235 /* ClassDeclaration */: return 1 /* Value */ | 2 /* Type */; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (ts.isAmbientModule(node)) { return 4 /* Namespace */ | 1 /* Value */; } @@ -84589,26 +84908,26 @@ var ts; else { return 4 /* Namespace */; } - case 237 /* EnumDeclaration */: - case 246 /* NamedImports */: - case 247 /* ImportSpecifier */: - case 242 /* ImportEqualsDeclaration */: - case 243 /* ImportDeclaration */: - case 248 /* ExportAssignment */: - case 249 /* ExportDeclaration */: + case 238 /* EnumDeclaration */: + case 247 /* NamedImports */: + case 248 /* ImportSpecifier */: + case 243 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: + case 249 /* ExportAssignment */: + case 250 /* ExportDeclaration */: return 7 /* All */; // An external module can be a Value - case 273 /* SourceFile */: + case 274 /* SourceFile */: return 4 /* Namespace */ | 1 /* Value */; } return 7 /* All */; } ts.getMeaningFromDeclaration = getMeaningFromDeclaration; function getMeaningFromLocation(node) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { return 1 /* Value */; } - else if (node.parent.kind === 248 /* ExportAssignment */) { + else if (node.parent.kind === 249 /* ExportAssignment */) { return 7 /* All */; } else if (isInRightSideOfInternalImportEqualsDeclaration(node)) { @@ -84640,11 +84959,11 @@ var ts; // import a = |b|; // Namespace // import a = |b.c|; // Value, type, namespace // import a = |b.c|.d; // Namespace - var name = node.kind === 145 /* QualifiedName */ ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; - return name && name.parent.kind === 242 /* ImportEqualsDeclaration */ ? 7 /* All */ : 4 /* Namespace */; + var name = node.kind === 146 /* QualifiedName */ ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; + return name && name.parent.kind === 243 /* ImportEqualsDeclaration */ ? 7 /* All */ : 4 /* Namespace */; } function isInRightSideOfInternalImportEqualsDeclaration(node) { - while (node.parent.kind === 145 /* QualifiedName */) { + while (node.parent.kind === 146 /* QualifiedName */) { node = node.parent; } return ts.isInternalModuleImportEqualsDeclaration(node.parent) && node.parent.moduleReference === node; @@ -84656,27 +84975,27 @@ var ts; function isQualifiedNameNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 145 /* QualifiedName */) { - while (root.parent && root.parent.kind === 145 /* QualifiedName */) { + if (root.parent.kind === 146 /* QualifiedName */) { + while (root.parent && root.parent.kind === 146 /* QualifiedName */) { root = root.parent; } isLastClause = root.right === node; } - return root.parent.kind === 161 /* TypeReference */ && !isLastClause; + return root.parent.kind === 162 /* TypeReference */ && !isLastClause; } function isPropertyAccessNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 184 /* PropertyAccessExpression */) { - while (root.parent && root.parent.kind === 184 /* PropertyAccessExpression */) { + if (root.parent.kind === 185 /* PropertyAccessExpression */) { + while (root.parent && root.parent.kind === 185 /* PropertyAccessExpression */) { root = root.parent; } isLastClause = root.name === node; } - if (!isLastClause && root.parent.kind === 206 /* ExpressionWithTypeArguments */ && root.parent.parent.kind === 267 /* HeritageClause */) { + if (!isLastClause && root.parent.kind === 207 /* ExpressionWithTypeArguments */ && root.parent.parent.kind === 268 /* HeritageClause */) { var decl = root.parent.parent.parent; - return (decl.kind === 234 /* ClassDeclaration */ && root.parent.parent.token === 108 /* ImplementsKeyword */) || - (decl.kind === 235 /* InterfaceDeclaration */ && root.parent.parent.token === 85 /* ExtendsKeyword */); + return (decl.kind === 235 /* ClassDeclaration */ && root.parent.parent.token === 108 /* ImplementsKeyword */) || + (decl.kind === 236 /* InterfaceDeclaration */ && root.parent.parent.token === 85 /* ExtendsKeyword */); } return false; } @@ -84687,30 +85006,30 @@ var ts; switch (node.kind) { case 99 /* ThisKeyword */: return !ts.isExpressionNode(node); - case 173 /* ThisType */: + case 174 /* ThisType */: return true; } switch (node.parent.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return true; - case 178 /* ImportType */: + case 179 /* ImportType */: return !node.parent.isTypeOf; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return !ts.isExpressionWithTypeArgumentsInClassExtendsClause(node.parent); } return false; } function isCallExpressionTarget(node) { - return isCallOrNewExpressionTarget(node, 186 /* CallExpression */); + return isCallOrNewExpressionTarget(node, 187 /* CallExpression */); } ts.isCallExpressionTarget = isCallExpressionTarget; function isNewExpressionTarget(node) { - return isCallOrNewExpressionTarget(node, 187 /* NewExpression */); + return isCallOrNewExpressionTarget(node, 188 /* NewExpression */); } ts.isNewExpressionTarget = isNewExpressionTarget; function isCallOrNewExpressionTarget(node, kind) { var target = climbPastPropertyAccess(node); - return target && target.parent && target.parent.kind === kind && target.parent.expression === target; + return !!target && !!target.parent && target.parent.kind === kind && target.parent.expression === target; } function climbPastPropertyAccess(node) { return isRightSideOfPropertyAccess(node) ? node.parent : node; @@ -84718,7 +85037,7 @@ var ts; ts.climbPastPropertyAccess = climbPastPropertyAccess; function getTargetLabel(referenceNode, labelName) { while (referenceNode) { - if (referenceNode.kind === 227 /* LabeledStatement */ && referenceNode.label.escapedText === labelName) { + if (referenceNode.kind === 228 /* LabeledStatement */ && referenceNode.label.escapedText === labelName) { return referenceNode.label; } referenceNode = referenceNode.parent; @@ -84739,15 +85058,15 @@ var ts; } ts.isLabelName = isLabelName; function isRightSideOfQualifiedName(node) { - return node.parent.kind === 145 /* QualifiedName */ && node.parent.right === node; + return node.parent.kind === 146 /* QualifiedName */ && node.parent.right === node; } ts.isRightSideOfQualifiedName = isRightSideOfQualifiedName; function isRightSideOfPropertyAccess(node) { - return node && node.parent && node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.name === node; + return node && node.parent && node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.name === node; } ts.isRightSideOfPropertyAccess = isRightSideOfPropertyAccess; function isNameOfModuleDeclaration(node) { - return node.parent.kind === 238 /* ModuleDeclaration */ && node.parent.name === node; + return node.parent.kind === 239 /* ModuleDeclaration */ && node.parent.name === node; } ts.isNameOfModuleDeclaration = isNameOfModuleDeclaration; function isNameOfFunctionDeclaration(node) { @@ -84757,22 +85076,24 @@ var ts; ts.isNameOfFunctionDeclaration = isNameOfFunctionDeclaration; function isLiteralNameOfPropertyDeclarationOrIndexAccess(node) { switch (node.parent.kind) { - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 269 /* PropertyAssignment */: - case 272 /* EnumMember */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 238 /* ModuleDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 270 /* PropertyAssignment */: + case 273 /* EnumMember */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 239 /* ModuleDeclaration */: return ts.getNameOfDeclaration(node.parent) === node; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return node.parent.argumentExpression === node; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return true; - case 177 /* LiteralType */: - return node.parent.parent.kind === 175 /* IndexedAccessType */; + case 178 /* LiteralType */: + return node.parent.parent.kind === 176 /* IndexedAccessType */; + default: + return false; } } ts.isLiteralNameOfPropertyDeclarationOrIndexAccess = isLiteralNameOfPropertyDeclarationOrIndexAccess; @@ -84794,17 +85115,17 @@ var ts; return undefined; } switch (node.kind) { - case 273 /* SourceFile */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 238 /* ModuleDeclaration */: + case 274 /* SourceFile */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 239 /* ModuleDeclaration */: return node; } } @@ -84812,49 +85133,49 @@ var ts; ts.getContainerNode = getContainerNode; function getNodeKind(node) { switch (node.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: return ts.isExternalModule(node) ? "module" /* moduleElement */ : "script" /* scriptElement */; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return "module" /* moduleElement */; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return "class" /* classElement */; - case 235 /* InterfaceDeclaration */: return "interface" /* interfaceElement */; - case 236 /* TypeAliasDeclaration */: - case 291 /* JSDocCallbackTag */: - case 296 /* JSDocTypedefTag */: + case 236 /* InterfaceDeclaration */: return "interface" /* interfaceElement */; + case 237 /* TypeAliasDeclaration */: + case 292 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: return "type" /* typeElement */; - case 237 /* EnumDeclaration */: return "enum" /* enumElement */; - case 231 /* VariableDeclaration */: + case 238 /* EnumDeclaration */: return "enum" /* enumElement */; + case 232 /* VariableDeclaration */: return getKindOfVariableDeclaration(node); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return getKindOfVariableDeclaration(ts.getRootDeclaration(node)); - case 192 /* ArrowFunction */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: return "function" /* functionElement */; - case 155 /* GetAccessor */: return "getter" /* memberGetAccessorElement */; - case 156 /* SetAccessor */: return "setter" /* memberSetAccessorElement */; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 156 /* GetAccessor */: return "getter" /* memberGetAccessorElement */; + case 157 /* SetAccessor */: return "setter" /* memberSetAccessorElement */; + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: return "method" /* memberFunctionElement */; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return "property" /* memberVariableElement */; - case 159 /* IndexSignature */: return "index" /* indexSignatureElement */; - case 158 /* ConstructSignature */: return "construct" /* constructSignatureElement */; - case 157 /* CallSignature */: return "call" /* callSignatureElement */; - case 154 /* Constructor */: return "constructor" /* constructorImplementationElement */; - case 147 /* TypeParameter */: return "type parameter" /* typeParameterElement */; - case 272 /* EnumMember */: return "enum member" /* enumMemberElement */; - case 148 /* Parameter */: return ts.hasModifier(node, 92 /* ParameterPropertyModifier */) ? "property" /* memberVariableElement */ : "parameter" /* parameterElement */; - case 242 /* ImportEqualsDeclaration */: - case 247 /* ImportSpecifier */: - case 244 /* ImportClause */: - case 251 /* ExportSpecifier */: - case 245 /* NamespaceImport */: + case 160 /* IndexSignature */: return "index" /* indexSignatureElement */; + case 159 /* ConstructSignature */: return "construct" /* constructSignatureElement */; + case 158 /* CallSignature */: return "call" /* callSignatureElement */; + case 155 /* Constructor */: return "constructor" /* constructorImplementationElement */; + case 148 /* TypeParameter */: return "type parameter" /* typeParameterElement */; + case 273 /* EnumMember */: return "enum member" /* enumMemberElement */; + case 149 /* Parameter */: return ts.hasModifier(node, 92 /* ParameterPropertyModifier */) ? "property" /* memberVariableElement */ : "parameter" /* parameterElement */; + case 243 /* ImportEqualsDeclaration */: + case 248 /* ImportSpecifier */: + case 245 /* ImportClause */: + case 252 /* ExportSpecifier */: + case 246 /* NamespaceImport */: return "alias" /* alias */; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var kind = ts.getSpecialPropertyAssignmentKind(node); var right = node.right; switch (kind) { @@ -84897,7 +85218,7 @@ var ts; return true; case 71 /* Identifier */: // 'this' as a parameter - return ts.identifierIsThisKeyword(node) && node.parent.kind === 148 /* Parameter */; + return ts.identifierIsThisKeyword(node) && node.parent.kind === 149 /* Parameter */; default: return false; } @@ -84919,6 +85240,10 @@ var ts; return r.pos <= pos && pos <= r.end; } ts.rangeContainsPosition = rangeContainsPosition; + function rangeContainsPositionExclusive(r, pos) { + return r.pos < pos && pos < r.end; + } + ts.rangeContainsPositionExclusive = rangeContainsPositionExclusive; function startEndContainsRange(start, end, range) { return start <= range.pos && end >= range.end; } @@ -84946,46 +85271,46 @@ var ts; } ts.positionBelongsToNode = positionBelongsToNode; function isCompletedNode(n, sourceFile) { - if (ts.nodeIsMissing(n)) { + if (n === undefined || ts.nodeIsMissing(n)) { return false; } switch (n.kind) { - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 183 /* ObjectLiteralExpression */: - case 179 /* ObjectBindingPattern */: - case 165 /* TypeLiteral */: - case 212 /* Block */: - case 239 /* ModuleBlock */: - case 240 /* CaseBlock */: - case 246 /* NamedImports */: - case 250 /* NamedExports */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 184 /* ObjectLiteralExpression */: + case 180 /* ObjectBindingPattern */: + case 166 /* TypeLiteral */: + case 213 /* Block */: + case 240 /* ModuleBlock */: + case 241 /* CaseBlock */: + case 247 /* NamedImports */: + case 251 /* NamedExports */: return nodeEndsWith(n, 18 /* CloseBraceToken */, sourceFile); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return isCompletedNode(n.block, sourceFile); - case 187 /* NewExpression */: + case 188 /* NewExpression */: if (!n.arguments) { return true; } // falls through - case 186 /* CallExpression */: - case 190 /* ParenthesizedExpression */: - case 172 /* ParenthesizedType */: + case 187 /* CallExpression */: + case 191 /* ParenthesizedExpression */: + case 173 /* ParenthesizedType */: return nodeEndsWith(n, 20 /* CloseParenToken */, sourceFile); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: return isCompletedNode(n.type, sourceFile); - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 158 /* ConstructSignature */: - case 157 /* CallSignature */: - case 192 /* ArrowFunction */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 159 /* ConstructSignature */: + case 158 /* CallSignature */: + case 193 /* ArrowFunction */: if (n.body) { return isCompletedNode(n.body, sourceFile); } @@ -84995,65 +85320,65 @@ var ts; // Even though type parameters can be unclosed, we can get away with // having at least a closing paren. return hasChildOfKind(n, 20 /* CloseParenToken */, sourceFile); - case 238 /* ModuleDeclaration */: - return n.body && isCompletedNode(n.body, sourceFile); - case 216 /* IfStatement */: + case 239 /* ModuleDeclaration */: + return !!n.body && isCompletedNode(n.body, sourceFile); + case 217 /* IfStatement */: if (n.elseStatement) { return isCompletedNode(n.elseStatement, sourceFile); } return isCompletedNode(n.thenStatement, sourceFile); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return isCompletedNode(n.expression, sourceFile) || hasChildOfKind(n, 25 /* SemicolonToken */, sourceFile); - case 182 /* ArrayLiteralExpression */: - case 180 /* ArrayBindingPattern */: - case 185 /* ElementAccessExpression */: - case 146 /* ComputedPropertyName */: - case 167 /* TupleType */: + case 183 /* ArrayLiteralExpression */: + case 181 /* ArrayBindingPattern */: + case 186 /* ElementAccessExpression */: + case 147 /* ComputedPropertyName */: + case 168 /* TupleType */: return nodeEndsWith(n, 22 /* CloseBracketToken */, sourceFile); - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: if (n.type) { return isCompletedNode(n.type, sourceFile); } return hasChildOfKind(n, 22 /* CloseBracketToken */, sourceFile); - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: // there is no such thing as terminator token for CaseClause/DefaultClause so for simplicity always consider them non-completed return false; - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 218 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 219 /* WhileStatement */: return isCompletedNode(n.statement, sourceFile); - case 217 /* DoStatement */: + case 218 /* DoStatement */: // rough approximation: if DoStatement has While keyword - then if node is completed is checking the presence of ')'; return hasChildOfKind(n, 106 /* WhileKeyword */, sourceFile) ? nodeEndsWith(n, 20 /* CloseParenToken */, sourceFile) : isCompletedNode(n.statement, sourceFile); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return isCompletedNode(n.exprName, sourceFile); - case 194 /* TypeOfExpression */: - case 193 /* DeleteExpression */: - case 195 /* VoidExpression */: - case 202 /* YieldExpression */: - case 203 /* SpreadElement */: + case 195 /* TypeOfExpression */: + case 194 /* DeleteExpression */: + case 196 /* VoidExpression */: + case 203 /* YieldExpression */: + case 204 /* SpreadElement */: var unaryWordExpression = n; return isCompletedNode(unaryWordExpression.expression, sourceFile); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return isCompletedNode(n.template, sourceFile); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: var lastSpan = ts.lastOrUndefined(n.templateSpans); return isCompletedNode(lastSpan, sourceFile); - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return ts.nodeIsPresent(n.literal); - case 249 /* ExportDeclaration */: - case 243 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: return ts.nodeIsPresent(n.moduleSpecifier); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return isCompletedNode(n.operand, sourceFile); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return isCompletedNode(n.right, sourceFile); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return isCompletedNode(n.whenFalse, sourceFile); default: return true; @@ -85066,11 +85391,11 @@ var ts; function nodeEndsWith(n, expectedLastToken, sourceFile) { var children = n.getChildren(sourceFile); if (children.length) { - var last_2 = ts.lastOrUndefined(children); - if (last_2.kind === expectedLastToken) { + var lastChild = ts.last(children); + if (lastChild.kind === expectedLastToken) { return true; } - else if (last_2.kind === 25 /* SemicolonToken */ && children.length !== 1) { + else if (lastChild.kind === 25 /* SemicolonToken */ && children.length !== 1) { return children[children.length - 2].kind === expectedLastToken; } } @@ -85130,6 +85455,7 @@ var ts; ts.getTouchingToken = getTouchingToken; /** Returns a token if position is in [start-of-leading-trivia, end) */ function getTokenAtPosition(sourceFile, position, includeJsDocComment, includeEndPosition) { + if (includeEndPosition === void 0) { includeEndPosition = false; } return getTokenAtPositionWorker(sourceFile, position, /*allowPositionInLeadingTrivia*/ true, /*includePrecedingTokenAtEndPosition*/ undefined, includeEndPosition, includeJsDocComment); } ts.getTokenAtPosition = getTokenAtPosition; @@ -85244,7 +85570,7 @@ var ts; } } } - ts.Debug.assert(startNode !== undefined || n.kind === 273 /* SourceFile */ || ts.isJSDocCommentContainingNode(n)); + ts.Debug.assert(startNode !== undefined || n.kind === 274 /* SourceFile */ || ts.isJSDocCommentContainingNode(n)); // Here we know that none of child token nodes embrace the position, // the only known case is when position is at the end of the file. // Try to find the rightmost token in the file without filtering. @@ -85284,7 +85610,7 @@ var ts; function isInString(sourceFile, position, previousToken) { if (previousToken === void 0) { previousToken = findPrecedingToken(position, sourceFile); } if (previousToken && ts.isStringTextContainingNode(previousToken)) { - var start = previousToken.getStart(); + var start = previousToken.getStart(sourceFile); var end = previousToken.getEnd(); // To be "in" one of these literals, the position has to be: // 1. entirely within the token text. @@ -85316,17 +85642,17 @@ var ts; return true; } //
{ |
or
- if (token.kind === 27 /* LessThanToken */ && token.parent.kind === 264 /* JsxExpression */) { + if (token.kind === 27 /* LessThanToken */ && token.parent.kind === 265 /* JsxExpression */) { return true; } //
{ // | // } < /div> - if (token && token.kind === 18 /* CloseBraceToken */ && token.parent.kind === 264 /* JsxExpression */) { + if (token && token.kind === 18 /* CloseBraceToken */ && token.parent.kind === 265 /* JsxExpression */) { return true; } //
|
- if (token.kind === 27 /* LessThanToken */ && token.parent.kind === 257 /* JsxClosingElement */) { + if (token.kind === 27 /* LessThanToken */ && token.parent.kind === 258 /* JsxClosingElement */) { return true; } return false; @@ -85344,10 +85670,11 @@ var ts; var tokenKind = token.kind; var remainingMatchingTokens = 0; while (true) { - token = findPrecedingToken(token.getFullStart(), sourceFile); - if (!token) { + var preceding = findPrecedingToken(token.getFullStart(), sourceFile); + if (!preceding) { return undefined; } + token = preceding; if (token.kind === matchingTokenKind) { if (remainingMatchingTokens === 0) { return token; @@ -85360,21 +85687,24 @@ var ts; } } ts.findPrecedingMatchingToken = findPrecedingMatchingToken; - function isPossiblyTypeArgumentPosition(token, sourceFile) { + function isPossiblyTypeArgumentPosition(tokenIn, sourceFile) { + var token = tokenIn; // This function determines if the node could be type argument position // Since during editing, when type argument list is not complete, // the tree could be of any shape depending on the tokens parsed before current node, // scanning of the previous identifier followed by "<" before current node would give us better result // Note that we also balance out the already provided type arguments, arrays, object literals while doing so var remainingLessThanTokens = 0; + var nTypeArguments = 0; while (token) { switch (token.kind) { case 27 /* LessThanToken */: // Found the beginning of the generic argument expression token = findPrecedingToken(token.getFullStart(), sourceFile); - var tokenIsIdentifier = token && ts.isIdentifier(token); - if (!remainingLessThanTokens || !tokenIsIdentifier) { - return tokenIsIdentifier; + if (!token || !ts.isIdentifier(token)) + return undefined; + if (!remainingLessThanTokens) { + return { called: token, nTypeArguments: nTypeArguments }; } remainingLessThanTokens--; break; @@ -85392,24 +85722,26 @@ var ts; // Skip until the matching open brace token token = findPrecedingMatchingToken(token, 17 /* OpenBraceToken */, sourceFile); if (!token) - return false; + return undefined; break; case 20 /* CloseParenToken */: // This can be object type, skip until we find the matching open brace token // Skip until the matching open brace token token = findPrecedingMatchingToken(token, 19 /* OpenParenToken */, sourceFile); if (!token) - return false; + return undefined; break; case 22 /* CloseBracketToken */: // This can be object type, skip until we find the matching open brace token // Skip until the matching open brace token token = findPrecedingMatchingToken(token, 21 /* OpenBracketToken */, sourceFile); if (!token) - return false; + return undefined; break; // Valid tokens in a type name. Skip. case 26 /* CommaToken */: + nTypeArguments++; + break; case 36 /* EqualsGreaterThanToken */: case 71 /* Identifier */: case 9 /* StringLiteral */: @@ -85429,11 +85761,11 @@ var ts; break; } // Invalid token in type - return false; + return undefined; } token = findPrecedingToken(token.getFullStart(), sourceFile); } - return false; + return undefined; } ts.isPossiblyTypeArgumentPosition = isPossiblyTypeArgumentPosition; /** @@ -85483,10 +85815,10 @@ var ts; } ts.getNodeModifiers = getNodeModifiers; function getTypeArgumentOrTypeParameterList(node) { - if (node.kind === 161 /* TypeReference */ || node.kind === 186 /* CallExpression */) { + if (node.kind === 162 /* TypeReference */ || node.kind === 187 /* CallExpression */) { return node.typeArguments; } - if (ts.isFunctionLike(node) || node.kind === 234 /* ClassDeclaration */ || node.kind === 235 /* InterfaceDeclaration */) { + if (ts.isFunctionLike(node) || node.kind === 235 /* ClassDeclaration */ || node.kind === 236 /* InterfaceDeclaration */) { return node.typeParameters; } return undefined; @@ -85509,9 +85841,9 @@ var ts; return 17 /* FirstPunctuation */ <= kind && kind <= 70 /* LastPunctuation */; } ts.isPunctuation = isPunctuation; - function isInsideTemplateLiteral(node, position) { + function isInsideTemplateLiteral(node, position, sourceFile) { return ts.isTemplateLiteralKind(node.kind) - && (node.getStart() < position && position < node.getEnd()) || (!!node.isUnterminated && position === node.getEnd()); + && (node.getStart(sourceFile) < position && position < node.end) || (!!node.isUnterminated && position === node.end); } ts.isInsideTemplateLiteral = isInsideTemplateLiteral; function isAccessibilityModifier(kind) { @@ -85531,18 +85863,18 @@ var ts; } ts.cloneCompilerOptions = cloneCompilerOptions; function isArrayLiteralOrObjectLiteralDestructuringPattern(node) { - if (node.kind === 182 /* ArrayLiteralExpression */ || - node.kind === 183 /* ObjectLiteralExpression */) { + if (node.kind === 183 /* ArrayLiteralExpression */ || + node.kind === 184 /* ObjectLiteralExpression */) { // [a,b,c] from: // [a, b, c] = someExpression; - if (node.parent.kind === 199 /* BinaryExpression */ && + if (node.parent.kind === 200 /* BinaryExpression */ && node.parent.left === node && node.parent.operatorToken.kind === 58 /* EqualsToken */) { return true; } // [a, b, c] from: // for([a, b, c] of expression) - if (node.parent.kind === 221 /* ForOfStatement */ && + if (node.parent.kind === 222 /* ForOfStatement */ && node.parent.initializer === node) { return true; } @@ -85550,7 +85882,7 @@ var ts; // [x, [a, b, c] ] = someExpression // or // {x, a: {a, b, c} } = someExpression - if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 269 /* PropertyAssignment */ ? node.parent.parent : node.parent)) { + if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 270 /* PropertyAssignment */ ? node.parent.parent : node.parent)) { return true; } } @@ -85604,6 +85936,7 @@ var ts; 105 /* VoidKeyword */, 140 /* UndefinedKeyword */, 141 /* UniqueKeyword */, + 142 /* UnknownKeyword */, ]; function isTypeKeyword(kind) { return ts.contains(ts.typeKeywords, kind); @@ -85636,11 +85969,11 @@ var ts; } ts.repeatString = repeatString; function skipConstraint(type) { - return type.isTypeParameter() ? type.getConstraint() : type; + return type.isTypeParameter() ? type.getConstraint() : type; // TODO: GH#18217 } ts.skipConstraint = skipConstraint; function getNameFromPropertyName(name) { - return name.kind === 146 /* ComputedPropertyName */ + return name.kind === 147 /* ComputedPropertyName */ // treat computed property names where expression is string/numeric literal as just string/numeric literal ? ts.isStringOrNumericLiteral(name.expression) ? name.expression.text : undefined : ts.getTextOfIdentifierOrLiteral(name); @@ -85662,16 +85995,16 @@ var ts; return ts.createGetCanonicalFileName(hostUsesCaseSensitiveFileNames(host)); } ts.hostGetCanonicalFileName = hostGetCanonicalFileName; - function makeImportIfNecessary(defaultImport, namedImports, moduleSpecifier) { - return defaultImport || namedImports && namedImports.length ? makeImport(defaultImport, namedImports, moduleSpecifier) : undefined; + function makeImportIfNecessary(defaultImport, namedImports, moduleSpecifier, preferences) { + return defaultImport || namedImports && namedImports.length ? makeImport(defaultImport, namedImports, moduleSpecifier, preferences) : undefined; } ts.makeImportIfNecessary = makeImportIfNecessary; - function makeImport(defaultImport, namedImports, moduleSpecifier) { + function makeImport(defaultImport, namedImports, moduleSpecifier, preferences) { return ts.createImportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, defaultImport || namedImports ? ts.createImportClause(defaultImport, namedImports && namedImports.length ? ts.createNamedImports(namedImports) : undefined) - : undefined, typeof moduleSpecifier === "string" ? ts.createLiteral(moduleSpecifier) : moduleSpecifier); + : undefined, typeof moduleSpecifier === "string" ? ts.createLiteral(moduleSpecifier, preferences.quotePreference === "single") : moduleSpecifier); } ts.makeImport = makeImport; function symbolNameNoDefault(symbol) { @@ -85700,6 +86033,37 @@ var ts; return propSymbol; } ts.getPropertySymbolFromBindingElement = getPropertySymbolFromBindingElement; + /** + * Find symbol of the given property-name and add the symbol to the given result array + * @param symbol a symbol to start searching for the given propertyName + * @param propertyName a name of property to search for + * @param result an array of symbol of found property symbols + * @param previousIterationSymbolsCache a cache of symbol from previous iterations of calling this function to prevent infinite revisiting of the same symbol. + * The value of previousIterationSymbol is undefined when the function is first called. + */ + function getPropertySymbolsFromBaseTypes(symbol, propertyName, checker, cb) { + var seen = ts.createMap(); + return recur(symbol); + function recur(symbol) { + // Use `addToSeen` to ensure we don't infinitely recurse in this situation: + // interface C extends C { + // /*findRef*/propName: string; + // } + if (!(symbol.flags & (32 /* Class */ | 64 /* Interface */)) || !ts.addToSeen(seen, ts.getSymbolId(symbol))) + return; + return ts.firstDefined(symbol.declarations, function (declaration) { return ts.firstDefined(ts.getAllSuperTypeNodes(declaration), function (typeReference) { + var type = checker.getTypeAtLocation(typeReference); + var propertySymbol = type && type.symbol && checker.getPropertyOfType(type, propertyName); + // Visit the typeReference as well to see if it directly or indirectly uses that property + return type && propertySymbol && (ts.firstDefined(checker.getRootSymbols(propertySymbol), cb) || recur(type.symbol)); + }); }); + } + } + ts.getPropertySymbolsFromBaseTypes = getPropertySymbolsFromBaseTypes; + function isMemberSymbolInBaseType(memberSymbol, checker) { + return getPropertySymbolsFromBaseTypes(memberSymbol.parent, memberSymbol.name, checker, function (_) { return true; }) || false; + } + ts.isMemberSymbolInBaseType = isMemberSymbolInBaseType; var NodeSet = /** @class */ (function () { function NodeSet() { this.map = ts.createMap(); @@ -85719,12 +86083,27 @@ var ts; return NodeSet; }()); ts.NodeSet = NodeSet; + function getParentNodeInSpan(node, file, span) { + if (!node) + return undefined; + while (node.parent) { + if (ts.isSourceFile(node.parent) || !spanContainsNode(span, node.parent, file)) { + return node; + } + node = node.parent; + } + } + ts.getParentNodeInSpan = getParentNodeInSpan; + function spanContainsNode(span, node, file) { + return ts.textSpanContainsPosition(span, node.getStart(file)) && + node.getEnd() <= ts.textSpanEnd(span); + } })(ts || (ts = {})); // Display-part writer helpers /* @internal */ (function (ts) { function isFirstDeclarationOfSymbolParameter(symbol) { - return symbol.declarations && symbol.declarations.length > 0 && symbol.declarations[0].kind === 148 /* Parameter */; + return symbol.declarations && symbol.declarations.length > 0 && symbol.declarations[0].kind === 149 /* Parameter */; } ts.isFirstDeclarationOfSymbolParameter = isFirstDeclarationOfSymbolParameter; var displayPartWriter = getDisplayPartWriter(); @@ -85897,18 +86276,21 @@ var ts; } ts.mapToDisplayParts = mapToDisplayParts; function typeToDisplayParts(typechecker, type, enclosingDeclaration, flags) { + if (flags === void 0) { flags = 0 /* None */; } return mapToDisplayParts(function (writer) { - typechecker.writeType(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, writer); + typechecker.writeType(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */ | 16384 /* UseAliasDefinedOutsideCurrentScope */, writer); }); } ts.typeToDisplayParts = typeToDisplayParts; function symbolToDisplayParts(typeChecker, symbol, enclosingDeclaration, meaning, flags) { + if (flags === void 0) { flags = 0 /* None */; } return mapToDisplayParts(function (writer) { typeChecker.writeSymbol(symbol, enclosingDeclaration, meaning, flags | 8 /* UseAliasDefinedOutsideCurrentScope */, writer); }); } ts.symbolToDisplayParts = symbolToDisplayParts; function signatureToDisplayParts(typechecker, signature, enclosingDeclaration, flags) { + if (flags === void 0) { flags = 0 /* None */; } flags |= 16384 /* UseAliasDefinedOutsideCurrentScope */ | 1024 /* MultilineObjectLiterals */ | 32 /* WriteTypeArgumentsOfSignature */ | 8192 /* OmitParameterModifiers */; return mapToDisplayParts(function (writer) { typechecker.writeSignature(signature, enclosingDeclaration, flags, /*signatureKind*/ undefined, writer); @@ -85916,8 +86298,8 @@ var ts; } ts.signatureToDisplayParts = signatureToDisplayParts; function isImportOrExportSpecifierName(location) { - return location.parent && - (location.parent.kind === 247 /* ImportSpecifier */ || location.parent.kind === 251 /* ExportSpecifier */) && + return !!location.parent && + (location.parent.kind === 248 /* ImportSpecifier */ || location.parent.kind === 252 /* ExportSpecifier */) && location.parent.propertyName === location; } ts.isImportOrExportSpecifierName = isImportOrExportSpecifierName; @@ -85944,7 +86326,7 @@ var ts; scriptKinds[_i - 2] = arguments[_i]; } var scriptKind = getScriptKind(fileName, host); - return ts.forEach(scriptKinds, function (k) { return k === scriptKind; }); + return ts.some(scriptKinds, function (k) { return k === scriptKind; }); } ts.scriptKindIs = scriptKindIs; function getScriptKind(fileName, host) { @@ -86037,9 +86419,9 @@ var ts; return node.forEachChild(function (child) { return child; }); } /* @internal */ - function getUniqueName(baseName, fileText) { + function getUniqueName(baseName, sourceFile) { var nameText = baseName; - for (var i = 1; ts.stringContains(fileText, nameText); i++) { + for (var i = 1; !ts.isFileLevelUniqueName(sourceFile, nameText); i++) { nameText = baseName + "_" + i; } return nameText; @@ -86060,7 +86442,7 @@ var ts; for (var _b = 0, textChanges_1 = textChanges_2; _b < textChanges_1.length; _b++) { var change = textChanges_1[_b]; var span = change.span, newText = change.newText; - var index = newText.indexOf(name); + var index = indexInTextChange(newText, name); if (index !== -1) { lastPos = span.start + delta + index; // If the reference comes first, return immediately. @@ -86077,6 +86459,17 @@ var ts; return lastPos; } ts.getRenameLocation = getRenameLocation; + function indexInTextChange(change, name) { + if (ts.startsWith(change, name)) + return 0; + // Add a " " to avoid references inside words + var idx = change.indexOf(" " + name); + if (idx === -1) + idx = change.indexOf("." + name); + if (idx === -1) + idx = change.indexOf('"' + name); + return idx === -1 ? -1 : idx + 1; + } })(ts || (ts = {})); var ts; (function (ts) { @@ -86356,6 +86749,8 @@ var ts; case 9 /* text */: case 17 /* parameterName */: return ts.TokenClass.Identifier; + default: + return undefined; // TODO: GH#18217 Debug.assertNever(type); } } /** Returns true if 'keyword2' can legally follow 'keyword1' in any language construct. */ @@ -86506,10 +86901,10 @@ var ts; // That means we're calling back into the host around every 1.2k of the file we process. // Lib.d.ts has similar numbers. switch (kind) { - case 238 /* ModuleDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 233 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 234 /* FunctionDeclaration */: cancellationToken.throwIfCancellationRequested(); } } @@ -86603,6 +86998,7 @@ var ts; case 22 /* jsxAttribute */: return "jsx attribute" /* jsxAttribute */; case 23 /* jsxText */: return "jsx text" /* jsxText */; case 24 /* jsxAttributeStringLiteralValue */: return "jsx attribute string literal value" /* jsxAttributeStringLiteralValue */; + default: return undefined; // TODO: GH#18217 throw Debug.assertNever(type); } } function convertClassificationsToSpans(classifications) { @@ -86720,18 +87116,18 @@ var ts; pushClassification(tag.tagName.pos, tag.tagName.end - tag.tagName.pos, 18 /* docCommentTagName */); // e.g. "param" pos = tag.tagName.end; switch (tag.kind) { - case 292 /* JSDocParameterTag */: + case 293 /* JSDocParameterTag */: processJSDocParameterTag(tag); break; - case 295 /* JSDocTemplateTag */: + case 296 /* JSDocTemplateTag */: processJSDocTemplateTag(tag); pos = tag.end; break; - case 294 /* JSDocTypeTag */: + case 295 /* JSDocTypeTag */: processElement(tag.typeExpression); pos = tag.end; break; - case 293 /* JSDocReturnTag */: + case 294 /* JSDocReturnTag */: processElement(tag.typeExpression); pos = tag.end; break; @@ -86818,22 +87214,22 @@ var ts; } function tryClassifyJsxElementName(token) { switch (token.parent && token.parent.kind) { - case 256 /* JsxOpeningElement */: + case 257 /* JsxOpeningElement */: if (token.parent.tagName === token) { return 19 /* jsxOpenTagName */; } break; - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: if (token.parent.tagName === token) { return 20 /* jsxCloseTagName */; } break; - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: if (token.parent.tagName === token) { return 21 /* jsxSelfClosingTagName */; } break; - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: if (token.parent.name === token) { return 22 /* jsxAttribute */; } @@ -86859,19 +87255,20 @@ var ts; } if (ts.isPunctuation(tokenKind)) { if (token) { + var parent = token.parent; if (tokenKind === 58 /* EqualsToken */) { // the '=' in a variable declaration is special cased here. - if (token.parent.kind === 231 /* VariableDeclaration */ || - token.parent.kind === 151 /* PropertyDeclaration */ || - token.parent.kind === 148 /* Parameter */ || - token.parent.kind === 261 /* JsxAttribute */) { + if (parent.kind === 232 /* VariableDeclaration */ || + parent.kind === 152 /* PropertyDeclaration */ || + parent.kind === 149 /* Parameter */ || + parent.kind === 262 /* JsxAttribute */) { return 5 /* operator */; } } - if (token.parent.kind === 199 /* BinaryExpression */ || - token.parent.kind === 197 /* PrefixUnaryExpression */ || - token.parent.kind === 198 /* PostfixUnaryExpression */ || - token.parent.kind === 200 /* ConditionalExpression */) { + if (parent.kind === 200 /* BinaryExpression */ || + parent.kind === 198 /* PrefixUnaryExpression */ || + parent.kind === 199 /* PostfixUnaryExpression */ || + parent.kind === 201 /* ConditionalExpression */) { return 5 /* operator */; } } @@ -86881,7 +87278,8 @@ var ts; return 4 /* numericLiteral */; } else if (tokenKind === 9 /* StringLiteral */) { - return token.parent.kind === 261 /* JsxAttribute */ ? 24 /* jsxAttributeStringLiteralValue */ : 6 /* stringLiteral */; + // TODO: GH#18217 + return token.parent.kind === 262 /* JsxAttribute */ ? 24 /* jsxAttributeStringLiteralValue */ : 6 /* stringLiteral */; } else if (tokenKind === 12 /* RegularExpressionLiteral */) { // TODO: we should get another classification type for these literals. @@ -86897,32 +87295,32 @@ var ts; else if (tokenKind === 71 /* Identifier */) { if (token) { switch (token.parent.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: if (token.parent.name === token) { return 11 /* className */; } return; - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: if (token.parent.name === token) { return 15 /* typeParameterName */; } return; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: if (token.parent.name === token) { return 13 /* interfaceName */; } return; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: if (token.parent.name === token) { return 12 /* enumName */; } return; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (token.parent.name === token) { return 14 /* moduleName */; } return; - case 148 /* Parameter */: + case 149 /* Parameter */: if (token.parent.name === token) { return ts.isThisIdentifier(token) ? 3 /* keyword */ : 17 /* parameterName */; } @@ -87006,7 +87404,7 @@ var ts; // Determine the path to the directory containing the script relative to the root directory it is contained within var relativeDirectory = ts.firstDefined(rootDirs, function (rootDirectory) { return ts.containsPath(rootDirectory, scriptPath, basePath, ignoreCase) ? scriptPath.substr(rootDirectory.length) : undefined; - }); + }); // TODO: GH#18217 // Now find a path for each potential directory that is to be merged with the one containing the script return ts.deduplicate(rootDirs.map(function (rootDirectory) { return ts.combinePaths(rootDirectory, relativeDirectory); }), ts.equateStringsCaseSensitive, ts.compareStringsCaseSensitive); } @@ -87210,8 +87608,8 @@ var ts; // after the last '/' that appears in the fragment because that's where the replacement span // starts if (fragmentDirectory !== undefined) { - var moduleNameWithSeperator_1 = ts.ensureTrailingDirectorySeparator(fragmentDirectory); - return nonRelativeModuleNames.map(function (nonRelativeModuleName) { return ts.removePrefix(nonRelativeModuleName, moduleNameWithSeperator_1); }); + var moduleNameWithSeparator_1 = ts.ensureTrailingDirectorySeparator(fragmentDirectory); + return nonRelativeModuleNames.map(function (nonRelativeModuleName) { return ts.removePrefix(nonRelativeModuleName, moduleNameWithSeparator_1); }); } return nonRelativeModuleNames; } @@ -87321,7 +87719,7 @@ var ts; } return result; } - // Replace everything after the last directory seperator that appears + // Replace everything after the last directory separator that appears function getDirectoryFragmentTextSpan(text, textStart) { var index = Math.max(text.lastIndexOf(ts.directorySeparator), text.lastIndexOf("\\")); var offset = index !== -1 ? index + 1 : 0; @@ -87366,7 +87764,7 @@ var ts; return ts.directoryProbablyExists(path, host); } catch ( /*ignore*/_a) { /*ignore*/ } - return undefined; + return false; } function tryIOAndConsumeErrors(host, toApply) { var args = []; @@ -87414,7 +87812,7 @@ var ts; } var contextToken = ts.findPrecedingToken(position, sourceFile); if (triggerCharacter && !isValidTrigger(sourceFile, triggerCharacter, contextToken, position)) - return undefined; + return undefined; // TODO: GH#18217 if (ts.isInString(sourceFile, position, contextToken)) { return !contextToken || !ts.isStringLiteralLike(contextToken) ? undefined @@ -87424,7 +87822,7 @@ var ts; && (contextToken.kind === 72 /* BreakKeyword */ || contextToken.kind === 77 /* ContinueKeyword */ || contextToken.kind === 71 /* Identifier */)) { return getLabelCompletionAtPosition(contextToken.parent); } - var completionData = getCompletionData(program, log, sourceFile, position, preferences, /*detailsEntryId*/ undefined); + var completionData = getCompletionData(program, log, sourceFile, isUncheckedFile(sourceFile, compilerOptions), position, preferences, /*detailsEntryId*/ undefined); if (!completionData) { return undefined; } @@ -87494,9 +87892,9 @@ var ts; }] }; } var entries = []; - if (ts.isSourceFileJavaScript(sourceFile)) { + if (isUncheckedFile(sourceFile, compilerOptions)) { var uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, location, sourceFile, typeChecker, compilerOptions.target, log, completionKind, preferences, propertyAccessToConvert, isJsxInitializer, recommendedCompletion, symbolToOriginInfoMap); - getJavaScriptCompletionEntries(sourceFile, location.pos, uniqueNames, compilerOptions.target, entries); + getJavaScriptCompletionEntries(sourceFile, location.pos, uniqueNames, compilerOptions.target, entries); // TODO: GH#18217 } else { if ((!symbols || symbols.length === 0) && keywordFilters === 0 /* None */) { @@ -87514,6 +87912,9 @@ var ts; } return { isGlobalCompletion: isInSnippetScope, isMemberCompletion: isMemberCompletion, isNewIdentifierLocation: isNewIdentifierLocation, entries: entries }; } + function isUncheckedFile(sourceFile, compilerOptions) { + return ts.isSourceFileJavaScript(sourceFile) && !ts.isCheckJsEnabledForFile(sourceFile, compilerOptions); + } function isMemberCompletionKind(kind) { switch (kind) { case 0 /* ObjectPropertyDeclaration */: @@ -87632,7 +88033,7 @@ var ts; continue; } // Latter case tests whether this is a global variable. - if (!origin && !(symbol.parent === undefined && !ts.some(symbol.declarations, function (d) { return d.getSourceFile() === location.getSourceFile(); }))) { + if (!origin && !(symbol.parent === undefined && !ts.some(symbol.declarations, function (d) { return d.getSourceFile() === location.getSourceFile(); }))) { // TODO: GH#18217 uniques.set(name, true); } entries.push(entry); @@ -87678,11 +88079,11 @@ var ts; })(StringLiteralCompletionKind || (StringLiteralCompletionKind = {})); function getStringLiteralCompletionEntries(sourceFile, node, position, typeChecker, compilerOptions, host) { switch (node.parent.kind) { - case 177 /* LiteralType */: + case 178 /* LiteralType */: switch (node.parent.parent.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return { kind: 2 /* Types */, types: getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(node.parent), typeChecker), isNewIdentifier: false }; - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: // Get all apparent property names // i.e. interface Foo { // foo: string; @@ -87690,12 +88091,12 @@ var ts; // } // let x: Foo["/*completion position*/"] return stringLiteralCompletionsFromProperties(typeChecker.getTypeFromTypeNode(node.parent.parent.objectType)); - case 178 /* ImportType */: + case 179 /* ImportType */: return { kind: 0 /* Paths */, paths: Completions.PathCompletions.getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker) }; default: return undefined; } - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: if (ts.isObjectLiteralExpression(node.parent.parent) && node.parent.name === node) { // Get quoted name of properties of the object literal expression // i.e. interface ConfigFiles { @@ -87712,7 +88113,7 @@ var ts; return stringLiteralCompletionsFromProperties(typeChecker.getContextualType(node.parent.parent)); } return fromContextualType(); - case 185 /* ElementAccessExpression */: { + case 186 /* ElementAccessExpression */: { var _a = node.parent, expression = _a.expression, argumentExpression = _a.argumentExpression; if (node === argumentExpression) { // Get all names of properties on the expression @@ -87725,19 +88126,19 @@ var ts; } return undefined; } - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: if (!ts.isRequireCall(node.parent, /*checkArgumentIsStringLiteralLike*/ false) && !ts.isImportCall(node.parent)) { - var argumentInfo = ts.SignatureHelp.getImmediatelyContainingArgumentInfo(node, position, sourceFile); + var argumentInfo = ts.SignatureHelp.getArgumentInfoForCompletions(node, position, sourceFile); // Get string literal completions from specialized signatures of the target // i.e. declare function f(a: 'A'); // f("/*completion position*/") return argumentInfo ? getStringLiteralCompletionsFromSignature(argumentInfo, typeChecker) : fromContextualType(); } // falls through (is `require("")` or `import("")`) - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: - case 253 /* ExternalModuleReference */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: + case 254 /* ExternalModuleReference */: // Get all known external module names or complete a path to a module // i.e. import * as ns from "/*completion position*/"; // var y = import("/*completion position*/"); @@ -87763,7 +88164,7 @@ var ts; if (!candidate.hasRestParameter && argumentInfo.argumentCount > candidate.parameters.length) return; var type = checker.getParameterType(candidate, argumentInfo.argumentIndex); - isNewIdentifier = isNewIdentifier || !!(type.flags & 2 /* String */); + isNewIdentifier = isNewIdentifier || !!(type.flags & 4 /* String */); return getStringLiteralTypes(type, checker, uniques); }); return { kind: 2 /* Types */, types: types, isNewIdentifier: isNewIdentifier }; @@ -87778,12 +88179,13 @@ var ts; type = ts.skipConstraint(type); return type.isUnion() ? ts.flatMap(type.types, function (t) { return getStringLiteralTypes(t, typeChecker, uniques); }) - : type.isStringLiteral() && !(type.flags & 256 /* EnumLiteral */) && ts.addToSeen(uniques, type.value) + : type.isStringLiteral() && !(type.flags & 512 /* EnumLiteral */) && ts.addToSeen(uniques, type.value) ? [type] : ts.emptyArray; } function getSymbolCompletionFromEntryId(program, log, sourceFile, position, entryId) { - var completionData = getCompletionData(program, log, sourceFile, position, { includeCompletionsForModuleExports: true, includeCompletionsWithInsertText: true }, entryId); + var compilerOptions = program.getCompilerOptions(); + var completionData = getCompletionData(program, log, sourceFile, isUncheckedFile(sourceFile, compilerOptions), position, { includeCompletionsForModuleExports: true, includeCompletionsWithInsertText: true }, entryId); if (!completionData) { return { type: "none" }; } @@ -87797,7 +88199,7 @@ var ts; // completion entry. return ts.firstDefined(symbols, function (symbol) { var origin = symbolToOriginInfoMap[ts.getSymbolId(symbol)]; - var info = getCompletionEntryDisplayNameForSymbol(symbol, program.getCompilerOptions().target, origin, completionKind); + var info = getCompletionEntryDisplayNameForSymbol(symbol, compilerOptions.target, origin, completionKind); return info && info.name === entryId.name && getSourceFromOrigin(origin) === entryId.source ? { type: "symbol", symbol: symbol, location: location, symbolToOriginInfoMap: symbolToOriginInfoMap, previousToken: previousToken, isJsxInitializer: isJsxInitializer } : undefined; @@ -87819,7 +88221,7 @@ var ts; var stringLiteralCompletions = !contextToken || !ts.isStringLiteralLike(contextToken) ? undefined : getStringLiteralCompletionEntries(sourceFile, contextToken, position, typeChecker, compilerOptions, host); - return stringLiteralCompletions && stringLiteralCompletionDetails(name, contextToken, stringLiteralCompletions, sourceFile, typeChecker, cancellationToken); + return stringLiteralCompletions && stringLiteralCompletionDetails(name, contextToken, stringLiteralCompletions, sourceFile, typeChecker, cancellationToken); // TODO: GH#18217 } // Compute all the completion symbols again. var symbolCompletion = getSymbolCompletionFromEntryId(program, log, sourceFile, position, entryId); @@ -87840,7 +88242,7 @@ var ts; case "symbol": { var symbol = symbolCompletion.symbol, location = symbolCompletion.location, symbolToOriginInfoMap = symbolCompletion.symbolToOriginInfoMap, previousToken = symbolCompletion.previousToken; var _a = getCompletionEntryCodeActionsAndSourceDisplay(symbolToOriginInfoMap, symbol, program, typeChecker, host, compilerOptions, sourceFile, previousToken, formatContext, getCanonicalFileName, program.getSourceFiles(), preferences), codeActions = _a.codeActions, sourceDisplay = _a.sourceDisplay; - return createCompletionDetailsForSymbol(symbol, typeChecker, sourceFile, location, cancellationToken, codeActions, sourceDisplay); + return createCompletionDetailsForSymbol(symbol, typeChecker, sourceFile, location, cancellationToken, codeActions, sourceDisplay); // TODO: GH#18217 } case "none": // Didn't find a symbol with this name. See if we can find a keyword instead. @@ -87879,7 +88281,7 @@ var ts; return { codeActions: undefined, sourceDisplay: undefined }; } var moduleSymbol = symbolOriginInfo.moduleSymbol; - var exportedSymbol = ts.skipAlias(symbol.exportSymbol || symbol, checker); + var exportedSymbol = checker.getMergedSymbol(ts.skipAlias(symbol.exportSymbol || symbol, checker)); var _a = ts.codefix.getImportCompletionAction(exportedSymbol, moduleSymbol, sourceFile, getSymbolName(symbol, symbolOriginInfo, compilerOptions.target), host, program, checker, compilerOptions, allSourceFiles, formatContext, getCanonicalFileName, previousToken, preferences), moduleSpecifier = _a.moduleSpecifier, codeAction = _a.codeAction; return { sourceDisplay: [ts.textPart(moduleSpecifier)], codeActions: [codeAction] }; } @@ -87905,12 +88307,15 @@ var ts; CompletionKind[CompletionKind["None"] = 5] = "None"; })(CompletionKind || (CompletionKind = {})); function getRecommendedCompletion(currentToken, position, sourceFile, checker) { - var ty = getContextualType(currentToken, position, sourceFile, checker); - var symbol = ty && ty.symbol; - // Don't include make a recommended completion for an abstract class - return symbol && (symbol.flags & 384 /* Enum */ || symbol.flags & 32 /* Class */ && !ts.isAbstractConstructorSymbol(symbol)) - ? getFirstSymbolInChain(symbol, currentToken, checker) - : undefined; + var contextualType = getContextualType(currentToken, position, sourceFile, checker); + // For a union, return the first one with a recommended completion. + return ts.firstDefined(contextualType && (contextualType.isUnion() ? contextualType.types : [contextualType]), function (type) { + var symbol = type && type.symbol; + // Don't include make a recommended completion for an abstract class + return symbol && (symbol.flags & (8 /* EnumMember */ | 384 /* Enum */ | 32 /* Class */) && !ts.isAbstractConstructorSymbol(symbol)) + ? getFirstSymbolInChain(symbol, currentToken, checker) + : undefined; + }); } function getContextualType(currentToken, position, sourceFile, checker) { var parent = currentToken.parent; @@ -87919,11 +88324,11 @@ var ts; return getContextualTypeFromParent(currentToken, checker); case 58 /* EqualsToken */: switch (parent.kind) { - case 231 /* VariableDeclaration */: - return checker.getContextualType(parent.initializer); - case 199 /* BinaryExpression */: + case 232 /* VariableDeclaration */: + return checker.getContextualType(parent.initializer); // TODO: GH#18217 + case 200 /* BinaryExpression */: return checker.getTypeAtLocation(parent.left); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return checker.getContextualTypeForJsxAttribute(parent); default: return undefined; @@ -87933,9 +88338,9 @@ var ts; case 73 /* CaseKeyword */: return getSwitchedType(ts.cast(parent, ts.isCaseClause), checker); case 17 /* OpenBraceToken */: - return ts.isJsxExpression(parent) && parent.parent.kind !== 254 /* JsxElement */ ? checker.getContextualTypeForJsxAttribute(parent.parent) : undefined; + return ts.isJsxExpression(parent) && parent.parent.kind !== 255 /* JsxElement */ ? checker.getContextualTypeForJsxAttribute(parent.parent) : undefined; default: - var argInfo = ts.SignatureHelp.getImmediatelyContainingArgumentInfo(currentToken, position, sourceFile); + var argInfo = ts.SignatureHelp.getArgumentInfoForCompletions(currentToken, position, sourceFile); return argInfo // At `,`, treat this as the next argument after the comma. ? checker.getContextualTypeForArgumentAtIndex(argInfo.invocation, argInfo.argumentIndex + (currentToken.kind === 26 /* CommaToken */ ? 1 : 0)) @@ -87948,15 +88353,15 @@ var ts; function getContextualTypeFromParent(node, checker) { var parent = node.parent; switch (parent.kind) { - case 187 /* NewExpression */: + case 188 /* NewExpression */: return checker.getContextualType(parent); - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var _a = parent, left = _a.left, operatorToken = _a.operatorToken, right = _a.right; return isEqualityOperatorKind(operatorToken.kind) ? checker.getTypeAtLocation(node === right ? left : right) : checker.getContextualType(node); } - case 265 /* CaseClause */: + case 266 /* CaseClause */: return parent.expression === node ? getSwitchedType(parent, checker) : undefined; default: return checker.getContextualType(node); @@ -87972,9 +88377,9 @@ var ts; return symbol.parent && (isModuleSymbol(symbol.parent) ? symbol : getFirstSymbolInChain(symbol.parent, enclosingDeclaration, checker)); } function isModuleSymbol(symbol) { - return symbol.declarations.some(function (d) { return d.kind === 273 /* SourceFile */; }); + return symbol.declarations.some(function (d) { return d.kind === 274 /* SourceFile */; }); } - function getCompletionData(program, log, sourceFile, position, preferences, detailsEntryId) { + function getCompletionData(program, log, sourceFile, isUncheckedFile, position, preferences, detailsEntryId) { var typeChecker = program.getTypeChecker(); var start = ts.timestamp(); var currentToken = ts.getTokenAtPosition(sourceFile, position, /*includeJsDocComment*/ false); // TODO: GH#15853 @@ -88024,11 +88429,11 @@ var ts; if (tag.tagName.pos <= position && position <= tag.tagName.end) { return { kind: 1 /* JsDocTagName */ }; } - if (isTagWithTypeExpression(tag) && tag.typeExpression && tag.typeExpression.kind === 277 /* JSDocTypeExpression */) { + if (isTagWithTypeExpression(tag) && tag.typeExpression && tag.typeExpression.kind === 278 /* JSDocTypeExpression */) { currentToken = ts.getTokenAtPosition(sourceFile, position, /*includeJsDocComment*/ true); if (!currentToken || (!ts.isDeclarationName(currentToken) && - (currentToken.parent.kind !== 297 /* JSDocPropertyTag */ || + (currentToken.parent.kind !== 298 /* JSDocPropertyTag */ || currentToken.parent.name !== currentToken))) { // Use as type location if inside tag's type expression insideJsDocTagTypeExpression = isCurrentlyEditingNode(tag.typeExpression); @@ -88046,7 +88451,7 @@ var ts; } } start = ts.timestamp(); - var previousToken = ts.findPrecedingToken(position, sourceFile, /*startNode*/ undefined, insideJsDocTagTypeExpression); + var previousToken = ts.findPrecedingToken(position, sourceFile, /*startNode*/ undefined, insideJsDocTagTypeExpression); // TODO: GH#18217 log("getCompletionData: Get previous token 1: " + (ts.timestamp() - start)); // The decision to provide completion depends on the contextToken, which is determined through the previousToken. // Note: 'previousToken' (and thus 'contextToken') can be undefined if we are the beginning of the file @@ -88055,7 +88460,7 @@ var ts; // Skip this partial identifier and adjust the contextToken to the token that precedes it. if (contextToken && position <= contextToken.end && (ts.isIdentifier(contextToken) || ts.isKeyword(contextToken.kind))) { var start_4 = ts.timestamp(); - contextToken = ts.findPrecedingToken(contextToken.getFullStart(), sourceFile, /*startNode*/ undefined, insideJsDocTagTypeExpression); + contextToken = ts.findPrecedingToken(contextToken.getFullStart(), sourceFile, /*startNode*/ undefined, insideJsDocTagTypeExpression); // TODO: GH#18217 log("getCompletionData: Get previous token 2: " + (ts.timestamp() - start_4)); } // Find the node where completion is requested on. @@ -88078,14 +88483,15 @@ var ts; if (contextToken.kind === 23 /* DotToken */) { isRightOfDot = true; switch (parent.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: propertyAccessToConvert = parent; node = propertyAccessToConvert.expression; break; - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: node = parent.left; break; - case 178 /* ImportType */: + case 179 /* ImportType */: + case 210 /* MetaProperty */: node = parent; break; default: @@ -88098,7 +88504,7 @@ var ts; // // If the tagname is a property access expression, we will then walk up to the top most of property access expression. // Then, try to get a JSX container and its associated attributes type. - if (parent && parent.kind === 184 /* PropertyAccessExpression */) { + if (parent && parent.kind === 185 /* PropertyAccessExpression */) { contextToken = parent; parent = parent.parent; } @@ -88106,39 +88512,39 @@ var ts; if (currentToken.parent === location) { switch (currentToken.kind) { case 29 /* GreaterThanToken */: - if (currentToken.parent.kind === 254 /* JsxElement */ || currentToken.parent.kind === 256 /* JsxOpeningElement */) { + if (currentToken.parent.kind === 255 /* JsxElement */ || currentToken.parent.kind === 257 /* JsxOpeningElement */) { location = currentToken; } break; case 41 /* SlashToken */: - if (currentToken.parent.kind === 255 /* JsxSelfClosingElement */) { + if (currentToken.parent.kind === 256 /* JsxSelfClosingElement */) { location = currentToken; } break; } } switch (parent.kind) { - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: if (contextToken.kind === 41 /* SlashToken */) { isStartingCloseTag = true; location = contextToken; } break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (!(parent.left.flags & 32768 /* ThisNodeHasError */)) { // It has a left-hand side, so we're not in an opening JSX tag. break; } // falls through - case 255 /* JsxSelfClosingElement */: - case 254 /* JsxElement */: - case 256 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: + case 255 /* JsxElement */: + case 257 /* JsxOpeningElement */: if (contextToken.kind === 27 /* LessThanToken */) { isRightOfOpenTag = true; location = contextToken; } break; - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: switch (previousToken.kind) { case 58 /* EqualsToken */: isJsxInitializer = true; @@ -88189,12 +88595,14 @@ var ts; return { kind: 0 /* Data */, symbols: symbols, completionKind: completionKind, isInSnippetScope: isInSnippetScope, propertyAccessToConvert: propertyAccessToConvert, isNewIdentifierLocation: isNewIdentifierLocation, location: location, keywordFilters: keywordFilters, symbolToOriginInfoMap: symbolToOriginInfoMap, recommendedCompletion: recommendedCompletion, previousToken: previousToken, isJsxInitializer: isJsxInitializer }; function isTagWithTypeExpression(tag) { switch (tag.kind) { - case 292 /* JSDocParameterTag */: - case 297 /* JSDocPropertyTag */: - case 293 /* JSDocReturnTag */: - case 294 /* JSDocTypeTag */: - case 296 /* JSDocTypedefTag */: + case 293 /* JSDocParameterTag */: + case 298 /* JSDocPropertyTag */: + case 294 /* JSDocReturnTag */: + case 295 /* JSDocTypeTag */: + case 297 /* JSDocTypedefTag */: return true; + default: + return false; } } function getTypeScriptMemberSymbols() { @@ -88225,20 +88633,25 @@ var ts; } } // If the module is merged with a value, we must get the type of the class and add its propertes (for inherited static methods). - if (!isTypeLocation && symbol.declarations.some(function (d) { return d.kind !== 273 /* SourceFile */ && d.kind !== 238 /* ModuleDeclaration */ && d.kind !== 237 /* EnumDeclaration */; })) { + if (!isTypeLocation && symbol.declarations.some(function (d) { return d.kind !== 274 /* SourceFile */ && d.kind !== 239 /* ModuleDeclaration */ && d.kind !== 238 /* EnumDeclaration */; })) { addTypeProperties(typeChecker.getTypeOfSymbolAtLocation(symbol, node)); } return; } } } + if (ts.isMetaProperty(node) && (node.keywordToken === 94 /* NewKeyword */ || node.keywordToken === 91 /* ImportKeyword */)) { + var completion = (node.keywordToken === 94 /* NewKeyword */) ? "target" : "meta"; + symbols.push(typeChecker.createSymbol(4 /* Property */, ts.escapeLeadingUnderscores(completion))); + return; + } if (!isTypeLocation) { addTypeProperties(typeChecker.getTypeAtLocation(node)); } } function addTypeProperties(type) { isNewIdentifierLocation = hasIndexSignature(type); - if (ts.isSourceFileJavaScript(sourceFile)) { + if (isUncheckedFile) { // In javascript files, for union types, we don't just get the members that // the individual types have in common, we also include all the members that // each individual type has. This is because we're going to add all identifiers @@ -88249,7 +88662,7 @@ var ts; else { for (var _i = 0, _a = type.getApparentProperties(); _i < _a.length; _i++) { var symbol = _a[_i]; - if (typeChecker.isValidPropertyAccessForCompletions(node.kind === 178 /* ImportType */ ? node : node.parent, type, symbol)) { + if (typeChecker.isValidPropertyAccessForCompletions(node.kind === 179 /* ImportType */ ? node : node.parent, type, symbol)) { addPropertySymbol(symbol); } } @@ -88259,7 +88672,7 @@ var ts; // If this is e.g. [Symbol.iterator], add a completion for `Symbol`. var symbolSymbol = ts.firstDefined(symbol.declarations, function (decl) { var name = ts.getNameOfDeclaration(decl); - var leftName = name.kind === 146 /* ComputedPropertyName */ ? getLeftMostName(name.expression) : undefined; + var leftName = name.kind === 147 /* ComputedPropertyName */ ? getLeftMostName(name.expression) : undefined; return leftName && typeChecker.getSymbolAtLocation(leftName); }); if (symbolSymbol) { @@ -88348,7 +88761,7 @@ var ts; var symbolMeanings = 67901928 /* Type */ | 67216319 /* Value */ | 1920 /* Namespace */ | 2097152 /* Alias */; symbols = ts.Debug.assertEachDefined(typeChecker.getSymbolsInScope(scopeNode, symbolMeanings), "getSymbolsInScope() should all be defined"); // Need to insert 'this.' before properties of `this` type, so only do that if `includeInsertTextCompletions` - if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 273 /* SourceFile */) { + if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 274 /* SourceFile */) { var thisType = typeChecker.tryGetThisTypeAt(scopeNode); if (thisType) { for (var _i = 0, _a = getPropertiesForCompletion(thisType, typeChecker, /*isForAccess*/ true); _i < _a.length; _i++) { @@ -88377,17 +88790,17 @@ var ts; if (ts.programContainsEs6Modules(program)) return true; // For JS, stay on the safe side. - if (ts.isSourceFileJavaScript(sourceFile)) + if (isUncheckedFile) return false; // If module transpilation is enabled or we're targeting es6 or above, or not emitting, OK. return ts.compilerOptionsIndicateEs6Modules(program.getCompilerOptions()); } function isSnippetScope(scopeNode) { switch (scopeNode.kind) { - case 273 /* SourceFile */: - case 201 /* TemplateExpression */: - case 264 /* JsxExpression */: - case 212 /* Block */: + case 274 /* SourceFile */: + case 202 /* TemplateExpression */: + case 265 /* JsxExpression */: + case 213 /* Block */: return true; default: return ts.isStatement(scopeNode); @@ -88424,22 +88837,22 @@ var ts; function isContextTokenValueLocation(contextToken) { return contextToken && contextToken.kind === 103 /* TypeOfKeyword */ && - (contextToken.parent.kind === 164 /* TypeQuery */ || ts.isTypeOfExpression(contextToken.parent)); + (contextToken.parent.kind === 165 /* TypeQuery */ || ts.isTypeOfExpression(contextToken.parent)); } function isContextTokenTypeLocation(contextToken) { if (contextToken) { var parentKind = contextToken.parent.kind; switch (contextToken.kind) { case 56 /* ColonToken */: - return parentKind === 151 /* PropertyDeclaration */ || - parentKind === 150 /* PropertySignature */ || - parentKind === 148 /* Parameter */ || - parentKind === 231 /* VariableDeclaration */ || + return parentKind === 152 /* PropertyDeclaration */ || + parentKind === 151 /* PropertySignature */ || + parentKind === 149 /* Parameter */ || + parentKind === 232 /* VariableDeclaration */ || ts.isFunctionLikeKind(parentKind); case 58 /* EqualsToken */: - return parentKind === 236 /* TypeAliasDeclaration */; + return parentKind === 237 /* TypeAliasDeclaration */; case 118 /* AsKeyword */: - return parentKind === 207 /* AsExpression */; + return parentKind === 208 /* AsExpression */; } } return false; @@ -88457,14 +88870,21 @@ var ts; // symbol can be referenced at locations where type is allowed return exportedSymbols.some(symbolCanBeReferencedAtTypeLocation); } + return false; } function getSymbolsFromOtherSourceFileExports(symbols, tokenText, target) { var tokenTextLowerCase = tokenText.toLowerCase(); + var seenResolvedModules = ts.createMap(); ts.codefix.forEachExternalModuleToImportFrom(typeChecker, sourceFile, program.getSourceFiles(), function (moduleSymbol) { // Perf -- ignore other modules if this is a request for details if (detailsEntryId && detailsEntryId.source && ts.stripQuotes(moduleSymbol.name) !== detailsEntryId.source) { return; } + var resolvedModuleSymbol = typeChecker.resolveExternalModuleSymbol(moduleSymbol); + // resolvedModuleSymbol may be a namespace. A namespace may be `export =` by multiple module declarations, but only keep the first one. + if (!ts.addToSeen(seenResolvedModules, ts.getSymbolId(resolvedModuleSymbol))) { + return; + } for (var _i = 0, _a = typeChecker.getExportsOfModule(moduleSymbol); _i < _a.length; _i++) { var symbol = _a[_i]; // Don't add a completion for a re-export, only for the original. @@ -88473,7 +88893,7 @@ var ts; // // If `symbol.parent !== ...`, this comes from an `export * from "foo"` re-export. Those don't create new symbols. // If `some(...)`, this comes from an `export { foo } from "foo"` re-export, which creates a new symbol (thus isn't caught by the first check). - if (typeChecker.getMergedSymbol(symbol.parent) !== typeChecker.resolveExternalModuleSymbol(moduleSymbol) + if (typeChecker.getMergedSymbol(symbol.parent) !== resolvedModuleSymbol || ts.some(symbol.declarations, function (d) { return ts.isExportSpecifier(d) && !!d.parent.parent.moduleSpecifier; })) { continue; } @@ -88535,11 +88955,11 @@ var ts; return true; } if (contextToken.kind === 29 /* GreaterThanToken */ && contextToken.parent) { - if (contextToken.parent.kind === 256 /* JsxOpeningElement */) { + if (contextToken.parent.kind === 257 /* JsxOpeningElement */) { return true; } - if (contextToken.parent.kind === 257 /* JsxClosingElement */ || contextToken.parent.kind === 255 /* JsxSelfClosingElement */) { - return contextToken.parent.parent && contextToken.parent.parent.kind === 254 /* JsxElement */; + if (contextToken.parent.kind === 258 /* JsxClosingElement */ || contextToken.parent.kind === 256 /* JsxSelfClosingElement */) { + return !!contextToken.parent.parent && contextToken.parent.parent.kind === 255 /* JsxElement */; } } return false; @@ -88549,40 +88969,40 @@ var ts; var containingNodeKind = previousToken.parent.kind; switch (previousToken.kind) { case 26 /* CommaToken */: - return containingNodeKind === 186 /* CallExpression */ // func( a, | - || containingNodeKind === 154 /* Constructor */ // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ - || containingNodeKind === 187 /* NewExpression */ // new C(a, | - || containingNodeKind === 182 /* ArrayLiteralExpression */ // [a, | - || containingNodeKind === 199 /* BinaryExpression */ // const x = (a, | - || containingNodeKind === 162 /* FunctionType */; // var x: (s: string, list| + return containingNodeKind === 187 /* CallExpression */ // func( a, | + || containingNodeKind === 155 /* Constructor */ // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ + || containingNodeKind === 188 /* NewExpression */ // new C(a, | + || containingNodeKind === 183 /* ArrayLiteralExpression */ // [a, | + || containingNodeKind === 200 /* BinaryExpression */ // const x = (a, | + || containingNodeKind === 163 /* FunctionType */; // var x: (s: string, list| case 19 /* OpenParenToken */: - return containingNodeKind === 186 /* CallExpression */ // func( | - || containingNodeKind === 154 /* Constructor */ // constructor( | - || containingNodeKind === 187 /* NewExpression */ // new C(a| - || containingNodeKind === 190 /* ParenthesizedExpression */ // const x = (a| - || containingNodeKind === 172 /* ParenthesizedType */; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ + return containingNodeKind === 187 /* CallExpression */ // func( | + || containingNodeKind === 155 /* Constructor */ // constructor( | + || containingNodeKind === 188 /* NewExpression */ // new C(a| + || containingNodeKind === 191 /* ParenthesizedExpression */ // const x = (a| + || containingNodeKind === 173 /* ParenthesizedType */; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ case 21 /* OpenBracketToken */: - return containingNodeKind === 182 /* ArrayLiteralExpression */ // [ | - || containingNodeKind === 159 /* IndexSignature */ // [ | : string ] - || containingNodeKind === 146 /* ComputedPropertyName */; // [ | /* this can become an index signature */ + return containingNodeKind === 183 /* ArrayLiteralExpression */ // [ | + || containingNodeKind === 160 /* IndexSignature */ // [ | : string ] + || containingNodeKind === 147 /* ComputedPropertyName */; // [ | /* this can become an index signature */ case 129 /* ModuleKeyword */: // module | case 130 /* NamespaceKeyword */: // namespace | return true; case 23 /* DotToken */: - return containingNodeKind === 238 /* ModuleDeclaration */; // module A.| + return containingNodeKind === 239 /* ModuleDeclaration */; // module A.| case 17 /* OpenBraceToken */: - return containingNodeKind === 234 /* ClassDeclaration */; // class A{ | + return containingNodeKind === 235 /* ClassDeclaration */; // class A{ | case 58 /* EqualsToken */: - return containingNodeKind === 231 /* VariableDeclaration */ // const x = a| - || containingNodeKind === 199 /* BinaryExpression */; // x = a| + return containingNodeKind === 232 /* VariableDeclaration */ // const x = a| + || containingNodeKind === 200 /* BinaryExpression */; // x = a| case 14 /* TemplateHead */: - return containingNodeKind === 201 /* TemplateExpression */; // `aa ${| + return containingNodeKind === 202 /* TemplateExpression */; // `aa ${| case 15 /* TemplateMiddle */: - return containingNodeKind === 210 /* TemplateSpan */; // `aa ${10} dd ${| + return containingNodeKind === 211 /* TemplateSpan */; // `aa ${10} dd ${| case 114 /* PublicKeyword */: case 112 /* PrivateKeyword */: case 113 /* ProtectedKeyword */: - return containingNodeKind === 151 /* PropertyDeclaration */; // class A{ public | + return containingNodeKind === 152 /* PropertyDeclaration */; // class A{ public | } // Previous token may have been a keyword that was converted to an identifier. switch (keywordForNode(previousToken)) { @@ -88595,24 +89015,12 @@ var ts; return false; } function isInStringOrRegularExpressionOrTemplateLiteral(contextToken) { - if (contextToken.kind === 9 /* StringLiteral */ - || contextToken.kind === 12 /* RegularExpressionLiteral */ - || ts.isTemplateLiteralKind(contextToken.kind)) { - var start_5 = contextToken.getStart(); - var end = contextToken.getEnd(); - // To be "in" one of these literals, the position has to be: - // 1. entirely within the token text. - // 2. at the end position of an unterminated token. - // 3. at the end of a regular expression (due to trailing flags like '/foo/g'). - if (start_5 < position && position < end) { - return true; - } - if (position === end) { - return !!contextToken.isUnterminated - || contextToken.kind === 12 /* RegularExpressionLiteral */; - } - } - return false; + // To be "in" one of these literals, the position has to be: + // 1. entirely within the token text. + // 2. at the end position of an unterminated token. + // 3. at the end of a regular expression (due to trailing flags like '/foo/g'). + return (ts.isRegularExpressionLiteral(contextToken) || ts.isStringTextContainingNode(contextToken)) && (ts.rangeContainsPositionExclusive(ts.createTextRangeFromSpan(ts.createTextSpanFromNode(contextToken)), position) || + position === contextToken.end && (!!contextToken.isUnterminated || ts.isRegularExpressionLiteral(contextToken))); } /** * Aggregates relevant symbols for completion in object literals and object binding patterns. @@ -88628,7 +89036,7 @@ var ts; completionKind = 0 /* ObjectPropertyDeclaration */; var typeMembers; var existingMembers; - if (objectLikeContainer.kind === 183 /* ObjectLiteralExpression */) { + if (objectLikeContainer.kind === 184 /* ObjectLiteralExpression */) { var typeForObject = typeChecker.getContextualType(objectLikeContainer); if (!typeForObject) return 2 /* Fail */; @@ -88637,7 +89045,7 @@ var ts; existingMembers = objectLikeContainer.properties; } else { - ts.Debug.assert(objectLikeContainer.kind === 179 /* ObjectBindingPattern */); + ts.Debug.assert(objectLikeContainer.kind === 180 /* ObjectBindingPattern */); // We are *only* completing on properties from the type being destructured. isNewIdentifierLocation = false; var rootDeclaration = ts.getRootDeclaration(objectLikeContainer.parent); @@ -88648,12 +89056,12 @@ var ts; // through type declaration or inference. // Also proceed if rootDeclaration is a parameter and if its containing function expression/arrow function is contextually typed - // type of parameter will flow in from the contextual type of the function - var canGetType = ts.hasInitializer(rootDeclaration) || ts.hasType(rootDeclaration) || rootDeclaration.parent.parent.kind === 221 /* ForOfStatement */; - if (!canGetType && rootDeclaration.kind === 148 /* Parameter */) { + var canGetType = ts.hasInitializer(rootDeclaration) || ts.hasType(rootDeclaration) || rootDeclaration.parent.parent.kind === 222 /* ForOfStatement */; + if (!canGetType && rootDeclaration.kind === 149 /* Parameter */) { if (ts.isExpression(rootDeclaration.parent)) { canGetType = !!typeChecker.getContextualType(rootDeclaration.parent); } - else if (rootDeclaration.parent.kind === 153 /* MethodDeclaration */ || rootDeclaration.parent.kind === 156 /* SetAccessor */) { + else if (rootDeclaration.parent.kind === 154 /* MethodDeclaration */ || rootDeclaration.parent.kind === 157 /* SetAccessor */) { canGetType = ts.isExpression(rootDeclaration.parent.parent) && !!typeChecker.getContextualType(rootDeclaration.parent.parent); } } @@ -88695,8 +89103,8 @@ var ts; return 0 /* Continue */; // cursor is in an import clause // try to show exported member for imported module - var moduleSpecifier = (namedImportsOrExports.kind === 246 /* NamedImports */ ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; - var moduleSpecifierSymbol = typeChecker.getSymbolAtLocation(moduleSpecifier); + var moduleSpecifier = (namedImportsOrExports.kind === 247 /* NamedImports */ ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; + var moduleSpecifierSymbol = typeChecker.getSymbolAtLocation(moduleSpecifier); // TODO: GH#18217 if (!moduleSpecifierSymbol) return 2 /* Fail */; completionKind = 3 /* MemberLike */; @@ -88723,7 +89131,7 @@ var ts; if (!ts.isClassLike(decl)) return 1 /* Success */; var classElement = contextToken.parent; - var classElementModifierFlags = ts.isClassElement(classElement) && ts.getModifierFlags(classElement); + var classElementModifierFlags = ts.isClassElement(classElement) ? ts.getModifierFlags(classElement) : 0 /* None */; // If this is context token is not something we are editing now, consider if this would lead to be modifier if (contextToken.kind === 71 /* Identifier */ && !isCurrentlyEditingNode(contextToken)) { switch (contextToken.getText()) { @@ -88739,7 +89147,7 @@ var ts; if (!(classElementModifierFlags & 8 /* Private */)) { // List of property symbols of base type that are not private and already implemented var baseSymbols = ts.flatMap(ts.getAllSuperTypeNodes(decl), function (baseTypeNode) { - var type = typeChecker.getTypeAtLocation(baseTypeNode); + var type = typeChecker.getTypeAtLocation(baseTypeNode); // TODO: GH#18217 return typeChecker.getPropertiesOfType(classElementModifierFlags & 32 /* Static */ ? typeChecker.getTypeOfSymbolAtLocation(type.symbol, decl) : type); }); symbols = filterClassMembersList(baseSymbols, decl.members, classElementModifierFlags); @@ -88774,13 +89182,14 @@ var ts; */ function tryGetConstructorLikeCompletionContainer(contextToken) { if (contextToken) { + var parent = contextToken.parent; switch (contextToken.kind) { case 19 /* OpenParenToken */: case 26 /* CommaToken */: - return ts.isConstructorDeclaration(contextToken.parent) && contextToken.parent; + return ts.isConstructorDeclaration(contextToken.parent) ? contextToken.parent : undefined; default: if (isConstructorParameterCompletion(contextToken)) { - return contextToken.parent.parent; + return parent.parent; } } } @@ -88797,6 +89206,7 @@ var ts; return true; } prev_1 = node; + return false; }); return container && container; } @@ -88808,14 +89218,14 @@ var ts; case 28 /* LessThanSlashToken */: case 41 /* SlashToken */: case 71 /* Identifier */: - case 184 /* PropertyAccessExpression */: - case 262 /* JsxAttributes */: - case 261 /* JsxAttribute */: - case 263 /* JsxSpreadAttribute */: - if (parent && (parent.kind === 255 /* JsxSelfClosingElement */ || parent.kind === 256 /* JsxOpeningElement */)) { + case 185 /* PropertyAccessExpression */: + case 263 /* JsxAttributes */: + case 262 /* JsxAttribute */: + case 264 /* JsxSpreadAttribute */: + if (parent && (parent.kind === 256 /* JsxSelfClosingElement */ || parent.kind === 257 /* JsxOpeningElement */)) { return parent; } - else if (parent.kind === 261 /* JsxAttribute */) { + else if (parent.kind === 262 /* JsxAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -88827,7 +89237,7 @@ var ts; // its parent is a JsxExpression, whose parent is a JsxAttribute, // whose parent is a JsxOpeningLikeElement case 9 /* StringLiteral */: - if (parent && ((parent.kind === 261 /* JsxAttribute */) || (parent.kind === 263 /* JsxSpreadAttribute */))) { + if (parent && ((parent.kind === 262 /* JsxAttribute */) || (parent.kind === 264 /* JsxSpreadAttribute */))) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -88837,8 +89247,8 @@ var ts; break; case 18 /* CloseBraceToken */: if (parent && - parent.kind === 264 /* JsxExpression */ && - parent.parent && parent.parent.kind === 261 /* JsxAttribute */) { + parent.kind === 265 /* JsxExpression */ && + parent.parent && parent.parent.kind === 262 /* JsxAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -88846,7 +89256,7 @@ var ts; // each JsxAttribute can have initializer as JsxExpression return parent.parent.parent.parent; } - if (parent && parent.kind === 263 /* JsxSpreadAttribute */) { + if (parent && parent.kind === 264 /* JsxSpreadAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -88862,53 +89272,53 @@ var ts; * @returns true if we are certain that the currently edited location must define a new location; false otherwise. */ function isSolelyIdentifierDefinitionLocation(contextToken) { - var containingNodeKind = contextToken.parent.kind; + var parent = contextToken.parent; + var containingNodeKind = parent.kind; switch (contextToken.kind) { case 26 /* CommaToken */: - return containingNodeKind === 231 /* VariableDeclaration */ || - containingNodeKind === 232 /* VariableDeclarationList */ || - containingNodeKind === 213 /* VariableStatement */ || - containingNodeKind === 237 /* EnumDeclaration */ || // enum a { foo, | + return containingNodeKind === 232 /* VariableDeclaration */ || + containingNodeKind === 233 /* VariableDeclarationList */ || + containingNodeKind === 214 /* VariableStatement */ || + containingNodeKind === 238 /* EnumDeclaration */ || // enum a { foo, | isFunctionLikeButNotConstructor(containingNodeKind) || - containingNodeKind === 235 /* InterfaceDeclaration */ || // interface A= contextToken.pos); + (ts.isClassLike(parent) && + !!parent.typeParameters && + parent.typeParameters.end >= contextToken.pos); case 23 /* DotToken */: - return containingNodeKind === 180 /* ArrayBindingPattern */; // var [.| + return containingNodeKind === 181 /* ArrayBindingPattern */; // var [.| case 56 /* ColonToken */: - return containingNodeKind === 181 /* BindingElement */; // var {x :html| + return containingNodeKind === 182 /* BindingElement */; // var {x :html| case 21 /* OpenBracketToken */: - return containingNodeKind === 180 /* ArrayBindingPattern */; // var [x| + return containingNodeKind === 181 /* ArrayBindingPattern */; // var [x| case 19 /* OpenParenToken */: - return containingNodeKind === 268 /* CatchClause */ || + return containingNodeKind === 269 /* CatchClause */ || isFunctionLikeButNotConstructor(containingNodeKind); case 17 /* OpenBraceToken */: - return containingNodeKind === 237 /* EnumDeclaration */; // enum a { | + return containingNodeKind === 238 /* EnumDeclaration */; // enum a { | case 27 /* LessThanToken */: - return containingNodeKind === 234 /* ClassDeclaration */ || // class A< | - containingNodeKind === 204 /* ClassExpression */ || // var C = class D< | - containingNodeKind === 235 /* InterfaceDeclaration */ || // interface A< | - containingNodeKind === 236 /* TypeAliasDeclaration */ || // type List< | + return containingNodeKind === 235 /* ClassDeclaration */ || // class A< | + containingNodeKind === 205 /* ClassExpression */ || // var C = class D< | + containingNodeKind === 236 /* InterfaceDeclaration */ || // interface A< | + containingNodeKind === 237 /* TypeAliasDeclaration */ || // type List< | ts.isFunctionLikeKind(containingNodeKind); case 115 /* StaticKeyword */: - return containingNodeKind === 151 /* PropertyDeclaration */ && !ts.isClassLike(contextToken.parent.parent); + return containingNodeKind === 152 /* PropertyDeclaration */ && !ts.isClassLike(parent.parent); case 24 /* DotDotDotToken */: - return containingNodeKind === 148 /* Parameter */ || - (contextToken.parent && contextToken.parent.parent && - contextToken.parent.parent.kind === 180 /* ArrayBindingPattern */); // var [...z| + return containingNodeKind === 149 /* Parameter */ || + (!!parent.parent && parent.parent.kind === 181 /* ArrayBindingPattern */); // var [...z| case 114 /* PublicKeyword */: case 112 /* PrivateKeyword */: case 113 /* ProtectedKeyword */: - return containingNodeKind === 148 /* Parameter */ && !ts.isConstructorDeclaration(contextToken.parent.parent); + return containingNodeKind === 149 /* Parameter */ && !ts.isConstructorDeclaration(parent.parent); case 118 /* AsKeyword */: - return containingNodeKind === 247 /* ImportSpecifier */ || - containingNodeKind === 251 /* ExportSpecifier */ || - containingNodeKind === 245 /* NamespaceImport */; + return containingNodeKind === 248 /* ImportSpecifier */ || + containingNodeKind === 252 /* ExportSpecifier */ || + containingNodeKind === 246 /* NamespaceImport */; case 125 /* GetKeyword */: case 136 /* SetKeyword */: if (isFromObjectTypeDeclaration(contextToken)) { @@ -88969,7 +89379,7 @@ var ts; && !(ts.isClassLike(contextToken.parent) && (contextToken !== previousToken || position > previousToken.end)); } function isFunctionLikeButNotConstructor(kind) { - return ts.isFunctionLikeKind(kind) && kind !== 154 /* Constructor */; + return ts.isFunctionLikeKind(kind) && kind !== 155 /* Constructor */; } function isDotOfNumericLiteral(contextToken) { if (contextToken.kind === 8 /* NumericLiteral */) { @@ -88992,12 +89402,12 @@ var ts; for (var _i = 0, existingMembers_1 = existingMembers; _i < existingMembers_1.length; _i++) { var m = existingMembers_1[_i]; // Ignore omitted expressions for missing members - if (m.kind !== 269 /* PropertyAssignment */ && - m.kind !== 270 /* ShorthandPropertyAssignment */ && - m.kind !== 181 /* BindingElement */ && - m.kind !== 153 /* MethodDeclaration */ && - m.kind !== 155 /* GetAccessor */ && - m.kind !== 156 /* SetAccessor */) { + if (m.kind !== 270 /* PropertyAssignment */ && + m.kind !== 271 /* ShorthandPropertyAssignment */ && + m.kind !== 182 /* BindingElement */ && + m.kind !== 154 /* MethodDeclaration */ && + m.kind !== 156 /* GetAccessor */ && + m.kind !== 157 /* SetAccessor */) { continue; } // If this is the current item we are editing right now, do not filter it out @@ -89005,7 +89415,7 @@ var ts; continue; } var existingName = void 0; - if (m.kind === 181 /* BindingElement */ && m.propertyName) { + if (ts.isBindingElement(m) && m.propertyName) { // include only identifiers in completion list if (m.propertyName.kind === 71 /* Identifier */) { existingName = m.propertyName.escapedText; @@ -89018,7 +89428,7 @@ var ts; var name = ts.getNameOfDeclaration(m); existingName = ts.isPropertyNameLiteral(name) ? ts.getEscapedTextOfIdentifierOrLiteral(name) : undefined; } - existingMemberNames.set(existingName, true); + existingMemberNames.set(existingName, true); // TODO: GH#18217 } return contextualMemberSymbols.filter(function (m) { return !existingMemberNames.get(m.escapedName); }); } @@ -89032,10 +89442,10 @@ var ts; for (var _i = 0, existingMembers_2 = existingMembers; _i < existingMembers_2.length; _i++) { var m = existingMembers_2[_i]; // Ignore omitted expressions for missing members - if (m.kind !== 151 /* PropertyDeclaration */ && - m.kind !== 153 /* MethodDeclaration */ && - m.kind !== 155 /* GetAccessor */ && - m.kind !== 156 /* SetAccessor */) { + if (m.kind !== 152 /* PropertyDeclaration */ && + m.kind !== 154 /* MethodDeclaration */ && + m.kind !== 156 /* GetAccessor */ && + m.kind !== 157 /* SetAccessor */) { continue; } // If this is the current item we are editing right now, do not filter it out @@ -89075,7 +89485,7 @@ var ts; if (isCurrentlyEditingNode(attr)) { continue; } - if (attr.kind === 261 /* JsxAttribute */) { + if (attr.kind === 262 /* JsxAttribute */) { seenNames.set(attr.name.escapedText, true); } } @@ -89119,7 +89529,7 @@ var ts; var _keywordCompletions = []; var allKeywordsCompletions = ts.memoize(function () { var res = []; - for (var i = 72 /* FirstKeyword */; i <= 144 /* LastKeyword */; i++) { + for (var i = 72 /* FirstKeyword */; i <= 145 /* LastKeyword */; i++) { res.push({ name: ts.tokenToString(i), kind: "keyword" /* keyword */, @@ -89220,7 +89630,7 @@ var ts; } // If we're providing completions for an object literal, skip primitive, array-like, or callable types since those shouldn't be implemented by object literals. var filteredTypes = isForAccess ? type.types : type.types.filter(function (memberType) { - return !(memberType.flags & 16382 /* Primitive */ || checker.isArrayLikeType(memberType) || ts.typeHasCallOrConstructSignatures(memberType, checker)); + return !(memberType.flags & 32764 /* Primitive */ || checker.isArrayLikeType(memberType) || ts.typeHasCallOrConstructSignatures(memberType, checker)); }); return ts.Debug.assertEachDefined(checker.getAllPossiblePropertiesOfTypes(filteredTypes), "getAllPossiblePropertiesOfTypes() should all be defined"); } @@ -89231,7 +89641,7 @@ var ts; function tryGetObjectTypeDeclarationCompletionContainer(sourceFile, contextToken, location) { // class c { method() { } | method2() { } } switch (location.kind) { - case 298 /* SyntaxList */: + case 299 /* SyntaxList */: return ts.tryCast(location.parent, ts.isObjectTypeDeclaration); case 1 /* EndOfFileToken */: var cls = ts.tryCast(ts.lastOrUndefined(ts.cast(location.parent, ts.isSourceFile).statements), ts.isObjectTypeDeclaration); @@ -89255,7 +89665,7 @@ var ts; if (!isFromObjectTypeDeclaration(contextToken)) return undefined; var isValidKeyword = ts.isClassLike(contextToken.parent.parent) ? isClassMemberCompletionKeyword : isInterfaceOrTypeLiteralCompletionKeyword; - return (isValidKeyword(contextToken.kind) || ts.isIdentifier(contextToken) && isValidKeyword(ts.stringToToken(contextToken.text))) + return (isValidKeyword(contextToken.kind) || ts.isIdentifier(contextToken) && isValidKeyword(ts.stringToToken(contextToken.text))) // TODO: GH#18217 ? contextToken.parent.parent : undefined; } } @@ -89278,7 +89688,7 @@ var ts; return isStringLiteralOrTemplate(contextToken) && position === contextToken.getStart(sourceFile) + 1; case "<": // Opening JSX tag - return contextToken.kind === 27 /* LessThanToken */ && contextToken.parent.kind !== 199 /* BinaryExpression */; + return contextToken.kind === 27 /* LessThanToken */ && contextToken.parent.kind !== 200 /* BinaryExpression */; case "/": return ts.isStringLiteralLike(contextToken) ? !!ts.tryGetImportFromModuleSpecifier(contextToken) @@ -89291,8 +89701,8 @@ var ts; switch (node.kind) { case 9 /* StringLiteral */: case 13 /* NoSubstitutionTemplateLiteral */: - case 201 /* TemplateExpression */: - case 188 /* TaggedTemplateExpression */: + case 202 /* TemplateExpression */: + case 189 /* TaggedTemplateExpression */: return true; default: return false; @@ -89337,7 +89747,7 @@ var ts; if (!sourceFilesSet.has(fileName)) { ts.Debug.assert(program.redirectTargetsSet.has(fileName)); var redirectTarget_1 = program.getSourceFile(fileName); - var redirect = ts.find(sourceFilesToSearch, function (f) { return f.redirectInfo && f.redirectInfo.redirectTarget === redirectTarget_1; }); + var redirect = ts.find(sourceFilesToSearch, function (f) { return !!f.redirectInfo && f.redirectInfo.redirectTarget === redirectTarget_1; }); fileName = redirect.fileName; ts.Debug.assert(sourceFilesSet.has(fileName)); } @@ -89383,6 +89793,8 @@ var ts; return useParent(node.parent, ts.isAwaitExpression, getAsyncAndAwaitOccurrences); case 120 /* AsyncKeyword */: return highlightSpans(getAsyncAndAwaitOccurrences(node)); + case 116 /* YieldKeyword */: + return highlightSpans(getYieldOccurrences(node)); default: return ts.isModifierKind(node.kind) && (ts.isDeclaration(node.parent) || ts.isVariableStatement(node.parent)) ? highlightSpans(getModifierOccurrences(node.kind, node.parent)) @@ -89410,7 +89822,7 @@ var ts; } else if (ts.isTryStatement(node)) { // Exceptions thrown within a try block lacking a catch clause are "owned" in the current context. - return ts.concatenate(node.catchClause ? aggregateOwnedThrowStatements(node.catchClause) : node.tryBlock && aggregateOwnedThrowStatements(node.tryBlock), aggregateOwnedThrowStatements(node.finallyBlock)); + return ts.concatenate(node.catchClause ? aggregateOwnedThrowStatements(node.catchClause) : node.tryBlock && aggregateOwnedThrowStatements(node.tryBlock), node.finallyBlock && aggregateOwnedThrowStatements(node.finallyBlock)); } // Do not cross function boundaries. return ts.isFunctionLike(node) ? undefined : flatMapChildren(node, aggregateOwnedThrowStatements); @@ -89424,7 +89836,7 @@ var ts; var child = throwStatement; while (child.parent) { var parent = child.parent; - if (ts.isFunctionBlock(parent) || parent.kind === 273 /* SourceFile */) { + if (ts.isFunctionBlock(parent) || parent.kind === 274 /* SourceFile */) { return parent; } // A throw-statement is only owned by a try-statement if the try-statement has @@ -89451,26 +89863,26 @@ var ts; } function ownsBreakOrContinueStatement(owner, statement) { var actualOwner = getBreakOrContinueOwner(statement); - return actualOwner && actualOwner === owner; + return !!actualOwner && actualOwner === owner; } function getBreakOrContinueOwner(statement) { return ts.findAncestor(statement, function (node) { switch (node.kind) { - case 226 /* SwitchStatement */: - if (statement.kind === 222 /* ContinueStatement */) { + case 227 /* SwitchStatement */: + if (statement.kind === 223 /* ContinueStatement */) { return false; } // falls through - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 218 /* WhileStatement */: - case 217 /* DoStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 219 /* WhileStatement */: + case 218 /* DoStatement */: return !statement.label || isLabeledBy(node, statement.label.escapedText); default: // Don't cross function boundaries. // TODO: GH#20090 - return (ts.isFunctionLike(node) && "quit"); + return ts.isFunctionLike(node) && "quit"; } }); } @@ -89488,11 +89900,11 @@ var ts; // Types of node whose children might have modifiers. var container = declaration.parent; switch (container.kind) { - case 239 /* ModuleBlock */: - case 273 /* SourceFile */: - case 212 /* Block */: - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 240 /* ModuleBlock */: + case 274 /* SourceFile */: + case 213 /* Block */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: // Container is either a class declaration or the declaration is a classDeclaration if (modifierFlag & 128 /* Abstract */ && ts.isClassDeclaration(declaration)) { return declaration.members.concat([declaration]); @@ -89500,13 +89912,12 @@ var ts; else { return container.statements; } - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 233 /* FunctionDeclaration */: { + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 234 /* FunctionDeclaration */: return container.parameters.concat((ts.isClassLike(container.parent) ? container.parent.members : [])); - } - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: var nodes = container.members; // If we're an accessibility modifier, we're in an instance member and should search // the constructor's parameter list for instance members as well. @@ -89539,7 +89950,7 @@ var ts; var keywords = []; if (pushKeywordIf(keywords, loopNode.getFirstToken(), 88 /* ForKeyword */, 106 /* WhileKeyword */, 81 /* DoKeyword */)) { // If we succeeded and got a do-while loop, then start looking for a 'while' keyword. - if (loopNode.kind === 217 /* DoStatement */) { + if (loopNode.kind === 218 /* DoStatement */) { var loopTokens = loopNode.getChildren(); for (var i = loopTokens.length - 1; i >= 0; i--) { if (pushKeywordIf(keywords, loopTokens[i], 106 /* WhileKeyword */)) { @@ -89559,13 +89970,13 @@ var ts; var owner = getBreakOrContinueOwner(breakOrContinueStatement); if (owner) { switch (owner.kind) { - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: return getLoopBreakContinueOccurrences(owner); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return getSwitchCaseDefaultOccurrences(owner); } } @@ -89641,16 +90052,35 @@ var ts; pushKeywordIf(keywords, modifier, 120 /* AsyncKeyword */); }); } - ts.forEachChild(func, aggregate); + ts.forEachChild(func, function (child) { + traverseWithoutCrossingFunction(child, function (node) { + if (ts.isAwaitExpression(node)) { + pushKeywordIf(keywords, node.getFirstToken(), 121 /* AwaitKeyword */); + } + }); + }); return keywords; - function aggregate(node) { - if (ts.isAwaitExpression(node)) { - pushKeywordIf(keywords, node.getFirstToken(), 121 /* AwaitKeyword */); - } - // Do not cross function boundaries. - if (!ts.isFunctionLike(node) && !ts.isClassLike(node) && !ts.isInterfaceDeclaration(node) && !ts.isModuleDeclaration(node) && !ts.isTypeAliasDeclaration(node) && !ts.isTypeNode(node)) { - ts.forEachChild(node, aggregate); - } + } + function getYieldOccurrences(node) { + var func = ts.getContainingFunction(node); + if (!func) { + return undefined; + } + var keywords = []; + ts.forEachChild(func, function (child) { + traverseWithoutCrossingFunction(child, function (node) { + if (ts.isYieldExpression(node)) { + pushKeywordIf(keywords, node.getFirstToken(), 116 /* YieldKeyword */); + } + }); + }); + return keywords; + } + // Do not cross function/class/interface/module/type boundaries. + function traverseWithoutCrossingFunction(node, cb) { + cb(node); + if (!ts.isFunctionLike(node) && !ts.isClassLike(node) && !ts.isInterfaceDeclaration(node) && !ts.isModuleDeclaration(node) && !ts.isTypeAliasDeclaration(node) && !ts.isTypeNode(node)) { + ts.forEachChild(node, function (child) { return traverseWithoutCrossingFunction(child, cb); }); } } function getIfElseOccurrences(ifStatement, sourceFile) { @@ -89720,6 +90150,11 @@ var ts; var ts; (function (ts) { function createDocumentRegistry(useCaseSensitiveFileNames, currentDirectory) { + return createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirectory); + } + ts.createDocumentRegistry = createDocumentRegistry; + /*@internal*/ + function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirectory, externalCache) { if (currentDirectory === void 0) { currentDirectory = ""; } // Maps from compiler setting target (ES3, ES5, etc.) to all the cached documents we have // for those settings. @@ -89733,7 +90168,7 @@ var ts; if (!bucket && createIfMissing) { buckets.set(key, bucket = ts.createMap()); } - return bucket; + return bucket; // TODO: GH#18217 } function reportStats() { var bucketInfoArray = ts.arrayFrom(buckets.keys()).filter(function (name) { return name && name.charAt(0) === "_"; }).map(function (name) { @@ -89742,8 +90177,7 @@ var ts; entries.forEach(function (entry, name) { sourceFiles.push({ name: name, - refCount: entry.languageServiceRefCount, - references: entry.owners.slice(0) + refCount: entry.languageServiceRefCount }); }); sourceFiles.sort(function (x, y) { return y.refCount - x.refCount; }); @@ -89774,13 +90208,26 @@ var ts; var bucket = getBucketForCompilationSettings(key, /*createIfMissing*/ true); var entry = bucket.get(path); var scriptTarget = scriptKind === 6 /* JSON */ ? 100 /* JSON */ : compilationSettings.target; + if (!entry && externalCache) { + var sourceFile = externalCache.getDocument(key, path); + if (sourceFile) { + ts.Debug.assert(acquiring); + entry = { + sourceFile: sourceFile, + languageServiceRefCount: 0 + }; + bucket.set(path, entry); + } + } if (!entry) { // Have never seen this file with these settings. Create a new source file for it. - var sourceFile = ts.createLanguageServiceSourceFile(fileName, scriptSnapshot, scriptTarget, version, /*setNodeParents*/ false, scriptKind); + var sourceFile = ts.createLanguageServiceSourceFile(fileName, scriptSnapshot, scriptTarget, version, /*setNodeParents*/ false, scriptKind); // TODO: GH#18217 + if (externalCache) { + externalCache.setDocument(key, path, sourceFile); + } entry = { sourceFile: sourceFile, languageServiceRefCount: 1, - owners: [] }; bucket.set(path, entry); } @@ -89789,7 +90236,10 @@ var ts; // the script snapshot. If so, update it appropriately. Otherwise, we can just // return it as is. if (entry.sourceFile.version !== version) { - entry.sourceFile = ts.updateLanguageServiceSourceFile(entry.sourceFile, scriptSnapshot, version, scriptSnapshot.getChangeRange(entry.sourceFile.scriptSnapshot)); + entry.sourceFile = ts.updateLanguageServiceSourceFile(entry.sourceFile, scriptSnapshot, version, scriptSnapshot.getChangeRange(entry.sourceFile.scriptSnapshot)); // TODO: GH#18217 + if (externalCache) { + externalCache.setDocument(key, path, entry.sourceFile); + } } // If we're acquiring, then this is the first time this LS is asking for this document. // Increase our ref count so we know there's another LS using the document. If we're @@ -89800,6 +90250,7 @@ var ts; entry.languageServiceRefCount++; } } + ts.Debug.assert(entry.languageServiceRefCount !== 0); return entry.sourceFile; } function releaseDocument(fileName, compilationSettings) { @@ -89817,6 +90268,13 @@ var ts; bucket.delete(path); } } + function getLanguageServiceRefCounts(path) { + return ts.arrayFrom(buckets.entries(), function (_a) { + var key = _a[0], bucket = _a[1]; + var entry = bucket.get(path); + return [key, entry && entry.languageServiceRefCount]; + }); + } return { acquireDocument: acquireDocument, acquireDocumentWithKey: acquireDocumentWithKey, @@ -89824,11 +90282,12 @@ var ts; updateDocumentWithKey: updateDocumentWithKey, releaseDocument: releaseDocument, releaseDocumentWithKey: releaseDocumentWithKey, + getLanguageServiceRefCounts: getLanguageServiceRefCounts, reportStats: reportStats, getKeyForCompilationSettings: getKeyForCompilationSettings }; } - ts.createDocumentRegistry = createDocumentRegistry; + ts.createDocumentRegistryInternal = createDocumentRegistryInternal; })(ts || (ts = {})); /* Code for finding imports of an exported symbol. Used only by FindAllReferences. */ /* @internal */ @@ -89891,10 +90350,10 @@ var ts; } cancellationToken.throwIfCancellationRequested(); switch (direct.kind) { - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (!isAvailableThroughGlobal) { var parent = direct.parent; - if (exportKind === 2 /* ExportEquals */ && parent.kind === 231 /* VariableDeclaration */) { + if (exportKind === 2 /* ExportEquals */ && parent.kind === 232 /* VariableDeclaration */) { var name = parent.name; if (name.kind === 71 /* Identifier */) { directImports.push(name); @@ -89907,12 +90366,12 @@ var ts; break; case 71 /* Identifier */: // for 'const x = require("y"); break; // TODO: GH#23879 - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: handleNamespaceImport(direct, direct.name, ts.hasModifier(direct, 1 /* Export */)); break; - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: var namedBindings = direct.importClause && direct.importClause.namedBindings; - if (namedBindings && namedBindings.kind === 245 /* NamespaceImport */) { + if (namedBindings && namedBindings.kind === 246 /* NamespaceImport */) { handleNamespaceImport(direct, namedBindings.name); } else if (ts.isDefaultImport(direct)) { @@ -89926,7 +90385,7 @@ var ts; directImports.push(direct); } break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: if (!direct.exportClause) { // This is `export * from "foo"`, so imports of this module may import the export too. handleDirectImports(getContainingModuleSymbol(direct, checker)); @@ -89936,7 +90395,7 @@ var ts; directImports.push(direct); } break; - case 178 /* ImportType */: + case 179 /* ImportType */: directImports.push(direct); break; default: @@ -89952,7 +90411,7 @@ var ts; } else if (!isAvailableThroughGlobal) { var sourceFileLike = getSourceFileLikeForImportDeclaration(importDeclaration); - ts.Debug.assert(sourceFileLike.kind === 273 /* SourceFile */ || sourceFileLike.kind === 238 /* ModuleDeclaration */); + ts.Debug.assert(sourceFileLike.kind === 274 /* SourceFile */ || sourceFileLike.kind === 239 /* ModuleDeclaration */); if (isReExport || findNamespaceReExports(sourceFileLike, name, checker)) { addIndirectUsers(sourceFileLike); } @@ -89965,7 +90424,7 @@ var ts; ts.Debug.assert(!isAvailableThroughGlobal); var isNew = markSeenIndirectUser(sourceFileLike); if (isNew) { - indirectUserDeclarations.push(sourceFileLike); + indirectUserDeclarations.push(sourceFileLike); // TODO: GH#18217 } return isNew; } @@ -90007,7 +90466,7 @@ var ts; } return { importSearches: importSearches, singleReferences: singleReferences }; function handleImport(decl) { - if (decl.kind === 242 /* ImportEqualsDeclaration */) { + if (decl.kind === 243 /* ImportEqualsDeclaration */) { if (isExternalModuleImportEquals(decl)) { handleNamespaceImportLike(decl.name); } @@ -90017,7 +90476,7 @@ var ts; handleNamespaceImportLike(decl); return; } - if (decl.kind === 178 /* ImportType */) { + if (decl.kind === 179 /* ImportType */) { if (decl.qualifier) { if (ts.isIdentifier(decl.qualifier) && decl.qualifier.escapedText === ts.symbolName(exportSymbol)) { singleReferences.push(decl.qualifier); @@ -90032,7 +90491,7 @@ var ts; if (decl.moduleSpecifier.kind !== 9 /* StringLiteral */) { return; } - if (decl.kind === 249 /* ExportDeclaration */) { + if (decl.kind === 250 /* ExportDeclaration */) { searchForNamedImport(decl.exportClause); return; } @@ -90041,12 +90500,12 @@ var ts; return; } var namedBindings = importClause.namedBindings; - if (namedBindings && namedBindings.kind === 245 /* NamespaceImport */) { + if (namedBindings && namedBindings.kind === 246 /* NamespaceImport */) { handleNamespaceImportLike(namedBindings.name); return; } if (exportKind === 0 /* Named */) { - searchForNamedImport(namedBindings); + searchForNamedImport(namedBindings); // tslint:disable-line no-unnecessary-type-assertion (TODO: GH#18217) } else { // `export =` might be imported by a default import if `--allowSyntheticDefaultImports` is on, so this handles both ExportKind.Default and ExportKind.ExportEquals @@ -90095,7 +90554,7 @@ var ts; } } else { - var localSymbol = element.kind === 251 /* ExportSpecifier */ && element.propertyName + var localSymbol = element.kind === 252 /* ExportSpecifier */ && element.propertyName ? checker.getExportSpecifierLocalTargetSymbol(element) // For re-exporting under a different name, we want to get the re-exported symbol. : checker.getSymbolAtLocation(name); addSearch(name, localSymbol); @@ -90110,7 +90569,7 @@ var ts; /** Returns 'true' is the namespace 'name' is re-exported from this module, and 'false' if it is only used locally. */ function findNamespaceReExports(sourceFileLike, name, checker) { var namespaceImportSymbol = checker.getSymbolAtLocation(name); - return forEachPossibleImportOrExportStatement(sourceFileLike, function (statement) { + return !!forEachPossibleImportOrExportStatement(sourceFileLike, function (statement) { if (!ts.isExportDeclaration(statement)) return; var exportClause = statement.exportClause, moduleSpecifier = statement.moduleSpecifier; @@ -90124,7 +90583,7 @@ var ts; for (var _i = 0, sourceFiles_5 = sourceFiles; _i < sourceFiles_5.length; _i++) { var referencingFile = sourceFiles_5[_i]; var searchSourceFile = searchModuleSymbol.valueDeclaration; - if (searchSourceFile.kind === 273 /* SourceFile */) { + if (searchSourceFile.kind === 274 /* SourceFile */) { for (var _a = 0, _b = referencingFile.referencedFiles; _a < _b.length; _a++) { var ref = _b[_a]; if (program.getSourceFileFromReference(referencingFile, ref) === searchSourceFile) { @@ -90171,7 +90630,7 @@ var ts; } /** Iterates over all statements at the top level or in module declarations. Returns the first truthy result. */ function forEachPossibleImportOrExportStatement(sourceFileLike, action) { - return ts.forEach(sourceFileLike.kind === 273 /* SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { + return ts.forEach(sourceFileLike.kind === 274 /* SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { return action(statement) || (isAmbientModuleDeclaration(statement) && ts.forEach(statement.body && statement.body.statements, action)); }); } @@ -90186,15 +90645,15 @@ var ts; else { forEachPossibleImportOrExportStatement(sourceFile, function (statement) { switch (statement.kind) { - case 249 /* ExportDeclaration */: - case 243 /* ImportDeclaration */: { + case 250 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: { var decl = statement; if (decl.moduleSpecifier && ts.isStringLiteral(decl.moduleSpecifier)) { action(decl, decl.moduleSpecifier); } break; } - case 242 /* ImportEqualsDeclaration */: { + case 243 /* ImportEqualsDeclaration */: { var decl = statement; if (isExternalModuleImportEquals(decl)) { action(decl, decl.moduleReference.expression); @@ -90216,12 +90675,13 @@ var ts; return comingFromExport ? getExport() : getExport() || getImport(); function getExport() { var parent = node.parent; + var grandParent = parent.parent; if (symbol.exportSymbol) { - if (parent.kind === 184 /* PropertyAccessExpression */) { + if (parent.kind === 185 /* PropertyAccessExpression */) { // When accessing an export of a JS module, there's no alias. The symbol will still be flagged as an export even though we're at the use. // So check that we are at the declaration. - return symbol.declarations.some(function (d) { return d === parent; }) && ts.isBinaryExpression(parent.parent) - ? getSpecialPropertyExport(parent.parent, /*useLhsSymbol*/ false) + return symbol.declarations.some(function (d) { return d === parent; }) && ts.isBinaryExpression(grandParent) + ? getSpecialPropertyExport(grandParent, /*useLhsSymbol*/ false) : undefined; } else { @@ -90248,15 +90708,15 @@ var ts; return getExportAssignmentExport(parent); } // If we are in `export = class A {};` (or `export = class A {};`) at `A`, `parent.parent` is the export assignment. - else if (ts.isExportAssignment(parent.parent)) { - return getExportAssignmentExport(parent.parent); + else if (ts.isExportAssignment(grandParent)) { + return getExportAssignmentExport(grandParent); } // Similar for `module.exports =` and `exports.A =`. else if (ts.isBinaryExpression(parent)) { return getSpecialPropertyExport(parent, /*useLhsSymbol*/ true); } - else if (ts.isBinaryExpression(parent.parent)) { - return getSpecialPropertyExport(parent.parent, /*useLhsSymbol*/ true); + else if (ts.isBinaryExpression(grandParent)) { + return getSpecialPropertyExport(grandParent, /*useLhsSymbol*/ true); } else if (ts.isJSDocTypedefTag(parent)) { return exportInfo(symbol, 0 /* Named */); @@ -90331,15 +90791,18 @@ var ts; else if (ts.isBinaryExpression(decl)) { // `module.exports = class {}` return ts.Debug.assertDefined(decl.right.symbol); } + else if (ts.isSourceFile(decl)) { // json module + return ts.Debug.assertDefined(decl.symbol); + } return ts.Debug.fail(); } // If a reference is a class expression, the exported node would be its parent. // If a reference is a variable declaration, the exported node would be the variable statement. function getExportNode(parent, node) { - if (parent.kind === 231 /* VariableDeclaration */) { + if (parent.kind === 232 /* VariableDeclaration */) { var p = parent; return p.name !== node ? undefined : - p.parent.kind === 268 /* CatchClause */ ? undefined : p.parent.parent.kind === 213 /* VariableStatement */ ? p.parent.parent : undefined; + p.parent.kind === 269 /* CatchClause */ ? undefined : p.parent.parent.kind === 214 /* VariableStatement */ ? p.parent.parent : undefined; } else { return parent; @@ -90348,15 +90811,15 @@ var ts; function isNodeImport(node) { var parent = node.parent; switch (parent.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return parent.name === node && isExternalModuleImportEquals(parent) ? { isNamedImport: false } : undefined; - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: // For a rename import `{ foo as bar }`, don't search for the imported symbol. Just find local uses of `bar`. return parent.propertyName ? undefined : { isNamedImport: true }; - case 244 /* ImportClause */: - case 245 /* NamespaceImport */: + case 245 /* ImportClause */: + case 246 /* NamespaceImport */: ts.Debug.assert(parent.name === node); return { isNamedImport: false }; default: @@ -90389,21 +90852,21 @@ var ts; return checker.getMergedSymbol(getSourceFileLikeForImportDeclaration(importer).symbol); } function getSourceFileLikeForImportDeclaration(node) { - if (node.kind === 186 /* CallExpression */) { + if (node.kind === 187 /* CallExpression */) { return node.getSourceFile(); } var parent = node.parent; - if (parent.kind === 273 /* SourceFile */) { + if (parent.kind === 274 /* SourceFile */) { return parent; } - ts.Debug.assert(parent.kind === 239 /* ModuleBlock */); + ts.Debug.assert(parent.kind === 240 /* ModuleBlock */); return ts.cast(parent.parent, isAmbientModuleDeclaration); } function isAmbientModuleDeclaration(node) { - return node.kind === 238 /* ModuleDeclaration */ && node.name.kind === 9 /* StringLiteral */; + return node.kind === 239 /* ModuleDeclaration */ && node.name.kind === 9 /* StringLiteral */; } function isExternalModuleImportEquals(eq) { - return eq.moduleReference.kind === 253 /* ExternalModuleReference */ && eq.moduleReference.expression.kind === 9 /* StringLiteral */; + return eq.moduleReference.kind === 254 /* ExternalModuleReference */ && eq.moduleReference.expression.kind === 9 /* StringLiteral */; } })(FindAllReferences = ts.FindAllReferences || (ts.FindAllReferences = {})); })(ts || (ts = {})); @@ -90413,7 +90876,7 @@ var ts; var FindAllReferences; (function (FindAllReferences) { function nodeEntry(node, isInString) { - return { type: "node", node: node, isInString: isInString }; + return { type: "node", node: node.name || node, isInString: isInString }; } FindAllReferences.nodeEntry = nodeEntry; function findReferencedSymbols(program, cancellationToken, sourceFiles, sourceFile, position) { @@ -90439,13 +90902,13 @@ var ts; } FindAllReferences.getImplementationsAtPosition = getImplementationsAtPosition; function getImplementationReferenceEntries(program, cancellationToken, sourceFiles, node, position) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { return undefined; } var checker = program.getTypeChecker(); // If invoked directly on a shorthand property assignment, then return // the declaration of the symbol being assigned (not the symbol being assigned to). - if (node.parent.kind === 270 /* ShorthandPropertyAssignment */) { + if (node.parent.kind === 271 /* ShorthandPropertyAssignment */) { var result_5 = []; FindAllReferences.Core.getReferenceEntriesForShorthandPropertyAssignment(node, checker, function (node) { return result_5.push(nodeEntry(node)); }); return result_5; @@ -90549,13 +91012,13 @@ var ts; if (symbol) { return getDefinitionKindAndDisplayParts(symbol, checker, node); } - else if (node.kind === 183 /* ObjectLiteralExpression */) { + else if (node.kind === 184 /* ObjectLiteralExpression */) { return { kind: "interface" /* interfaceElement */, displayParts: [ts.punctuationPart(19 /* OpenParenToken */), ts.textPart("object literal"), ts.punctuationPart(20 /* CloseParenToken */)] }; } - else if (node.kind === 204 /* ClassExpression */) { + else if (node.kind === 205 /* ClassExpression */) { return { kind: "local class" /* localClassElement */, displayParts: [ts.punctuationPart(19 /* OpenParenToken */), ts.textPart("anonymous local class"), ts.punctuationPart(20 /* CloseParenToken */)] @@ -90626,6 +91089,7 @@ var ts; } var moduleReferences = ts.emptyArray; var moduleSourceFile = isModuleSymbol(symbol); + var referencedNode = node; if (moduleSourceFile) { var exportEquals = symbol.exports.get("export=" /* ExportEquals */); // If !!exportEquals, we're about to add references to `import("mod")` anyway, so don't double-count them. @@ -90634,13 +91098,13 @@ var ts; return moduleReferences; // Continue to get references to 'export ='. symbol = ts.skipAlias(exportEquals, checker); - node = undefined; + referencedNode = undefined; } - return ts.concatenate(moduleReferences, getReferencedSymbolsForSymbol(symbol, node, sourceFiles, sourceFilesSet, checker, cancellationToken, options)); + return ts.concatenate(moduleReferences, getReferencedSymbolsForSymbol(symbol, referencedNode, sourceFiles, sourceFilesSet, checker, cancellationToken, options)); } Core.getReferencedSymbolsForNode = getReferencedSymbolsForNode; function isModuleSymbol(symbol) { - return symbol.flags & 1536 /* Module */ && ts.find(symbol.declarations, ts.isSourceFile); + return symbol.flags & 1536 /* Module */ ? ts.find(symbol.declarations, ts.isSourceFile) : undefined; } function getReferencedSymbolsForModule(program, symbol, excludeImportTypeOfExportEquals, sourceFiles, sourceFilesSet) { ts.Debug.assert(!!symbol.valueDeclaration); @@ -90667,10 +91131,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; switch (decl.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: // Don't include the source file itself. (This may not be ideal behavior, but awkward to include an entire file as a reference.) break; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (sourceFilesSet.has(decl.getSourceFile().fileName)) { references.push({ type: "node", node: decl.name }); } @@ -90718,7 +91182,7 @@ var ts; searchForImportsOfExport(node, symbol, { exportingModuleSymbol: ts.Debug.assertDefined(symbol.parent, "Expected export symbol to have a parent"), exportKind: 1 /* Default */ }, state); } else { - var search = state.createSearch(node, symbol, /*comingFrom*/ undefined, { allSearchSymbols: node ? populateSearchSymbolSet(symbol, node, checker, options.implementations) : [symbol] }); + var search = state.createSearch(node, symbol, /*comingFrom*/ undefined, { allSearchSymbols: node ? populateSearchSymbolSet(symbol, node, checker, !!options.implementations) : [symbol] }); // Try to get the smallest valid scope that we can limit our search to; // otherwise we'll need to search globally (i.e. include each file). var scope = getSymbolScope(symbol); @@ -90826,7 +91290,7 @@ var ts; State.prototype.getImportSearches = function (exportSymbol, exportInfo) { if (!this.importTracker) this.importTracker = FindAllReferences.createImportTracker(this.sourceFiles, this.sourceFilesSet, this.checker, this.cancellationToken); - return this.importTracker(exportSymbol, exportInfo, this.options.isForRename); + return this.importTracker(exportSymbol, exportInfo, !!this.options.isForRename); }; /** @param allSearchSymbols set of additinal symbols for use by `includes`. */ State.prototype.createSearch = function (location, symbol, comingFrom, searchOptions) { @@ -90837,7 +91301,7 @@ var ts; // here appears to be intentional). var _a = searchOptions.text, text = _a === void 0 ? ts.stripQuotes(ts.unescapeLeadingUnderscores((ts.getLocalSymbolForExportDefault(symbol) || symbol).escapedName)) : _a, _b = searchOptions.allSearchSymbols, allSearchSymbols = _b === void 0 ? [symbol] : _b; var escapedText = ts.escapeLeadingUnderscores(text); - var parents = this.options.implementations && location && getParentSymbolsOfPropertyAccess(location, symbol, this.checker); + var parents = this.options.implementations && location ? getParentSymbolsOfPropertyAccess(location, symbol, this.checker) : undefined; return { symbol: symbol, comingFrom: comingFrom, text: text, escapedText: escapedText, parents: parents, allSearchSymbols: allSearchSymbols, includes: function (sym) { return ts.contains(allSearchSymbols, sym); } }; }; /** @@ -90938,13 +91402,14 @@ var ts; } } function getPropertySymbolOfDestructuringAssignment(location, checker) { - return ts.isArrayLiteralOrObjectLiteralDestructuringPattern(location.parent.parent) && - checker.getPropertySymbolOfDestructuringAssignment(location); + return ts.isArrayLiteralOrObjectLiteralDestructuringPattern(location.parent.parent) + ? checker.getPropertySymbolOfDestructuringAssignment(location) + : undefined; } function getObjectBindingElementWithoutPropertyName(symbol) { - var bindingElement = ts.getDeclarationOfKind(symbol, 181 /* BindingElement */); + var bindingElement = ts.getDeclarationOfKind(symbol, 182 /* BindingElement */); if (bindingElement && - bindingElement.parent.kind === 179 /* ObjectBindingPattern */ && + bindingElement.parent.kind === 180 /* ObjectBindingPattern */ && ts.isIdentifier(bindingElement.name) && !bindingElement.propertyName) { return bindingElement; @@ -90966,7 +91431,7 @@ var ts; // If this is the symbol of a named function expression or named class expression, // then named references are limited to its own scope. var declarations = symbol.declarations, flags = symbol.flags, parent = symbol.parent, valueDeclaration = symbol.valueDeclaration; - if (valueDeclaration && (valueDeclaration.kind === 191 /* FunctionExpression */ || valueDeclaration.kind === 204 /* ClassExpression */)) { + if (valueDeclaration && (valueDeclaration.kind === 192 /* FunctionExpression */ || valueDeclaration.kind === 205 /* ClassExpression */)) { return valueDeclaration; } if (!declarations) { @@ -90976,7 +91441,7 @@ var ts; if (flags & (4 /* Property */ | 8192 /* Method */)) { var privateDeclaration = ts.find(declarations, function (d) { return ts.hasModifier(d, 8 /* Private */); }); if (privateDeclaration) { - return ts.getAncestor(privateDeclaration, 234 /* ClassDeclaration */); + return ts.getAncestor(privateDeclaration, 235 /* ClassDeclaration */); } // Else this is a public property and could be accessed from anywhere. return undefined; @@ -90998,14 +91463,14 @@ var ts; return undefined; } var scope; - for (var _i = 0, declarations_9 = declarations; _i < declarations_9.length; _i++) { - var declaration = declarations_9[_i]; + for (var _i = 0, declarations_10 = declarations; _i < declarations_10.length; _i++) { + var declaration = declarations_10[_i]; var container = ts.getContainerNode(declaration); if (scope && scope !== container) { // Different declarations have different containers, bail out return undefined; } - if (!container || container.kind === 273 /* SourceFile */ && !ts.isExternalOrCommonJsModule(container)) { + if (!container || container.kind === 274 /* SourceFile */ && !ts.isExternalOrCommonJsModule(container)) { // This is a global variable and not an external module, any declaration defined // within this scope is visible outside the file return undefined; @@ -91018,23 +91483,32 @@ var ts; // declare module "a" { export type T = number; } // declare module "b" { import { T } from "a"; export const x: T; } // So we must search the whole source file. (Because we will mark the source file as seen, we we won't return to it when searching for imports.) - return exposedByParent ? scope.getSourceFile() : scope; + return exposedByParent ? scope.getSourceFile() : scope; // TODO: GH#18217 } /** Used as a quick check for whether a symbol is used at all in a file (besides its definition). */ function isSymbolReferencedInFile(definition, checker, sourceFile) { - var symbol = checker.getSymbolAtLocation(definition); - if (!symbol) - return true; // Be lenient with invalid code. - return getPossibleSymbolReferenceNodes(sourceFile, symbol.name).some(function (token) { - if (!ts.isIdentifier(token) || token === definition || token.escapedText !== definition.escapedText) - return false; - var referenceSymbol = checker.getSymbolAtLocation(token); - return referenceSymbol === symbol - || checker.getShorthandAssignmentValueSymbol(token.parent) === symbol - || ts.isExportSpecifier(token.parent) && getLocalSymbolForExportSpecifier(token, referenceSymbol, token.parent, checker) === symbol; - }); + return eachSymbolReferenceInFile(definition, checker, sourceFile, function () { return true; }) || false; } Core.isSymbolReferencedInFile = isSymbolReferencedInFile; + function eachSymbolReferenceInFile(definition, checker, sourceFile, cb) { + var symbol = checker.getSymbolAtLocation(definition); + if (!symbol) + return undefined; + for (var _i = 0, _a = getPossibleSymbolReferenceNodes(sourceFile, symbol.name); _i < _a.length; _i++) { + var token = _a[_i]; + if (!ts.isIdentifier(token) || token === definition || token.escapedText !== definition.escapedText) + continue; + var referenceSymbol = checker.getSymbolAtLocation(token); // See GH#19955 for why the type annotation is necessary + if (referenceSymbol === symbol + || checker.getShorthandAssignmentValueSymbol(token.parent) === symbol + || ts.isExportSpecifier(token.parent) && getLocalSymbolForExportSpecifier(token, referenceSymbol, token.parent, checker) === symbol) { + var res = cb(token); + if (res) + return res; + } + } + } + Core.eachSymbolReferenceInFile = eachSymbolReferenceInFile; function getPossibleSymbolReferenceNodes(sourceFile, symbolName, container) { if (container === void 0) { container = sourceFile; } return getPossibleSymbolReferencePositions(sourceFile, symbolName, container).map(function (pos) { return ts.getTouchingPropertyName(sourceFile, pos, /*includeJsDocComment*/ true); }); @@ -91210,7 +91684,8 @@ var ts; if (!(referenceLocation === propertyName && state.options.isForRename)) { var exportKind = referenceLocation.originalKeywordKind === 79 /* DefaultKeyword */ ? 1 /* Default */ : 0 /* Named */; var exportInfo = FindAllReferences.getExportInfo(referenceSymbol, exportKind, state.checker); - ts.Debug.assert(!!exportInfo); + if (!exportInfo) + return ts.Debug.fail(); searchForImportsOfExport(referenceLocation, referenceSymbol, exportInfo, state); } // At `export { x } from "foo"`, also search for the imported symbol `"foo".x`. @@ -91327,12 +91802,12 @@ var ts; for (var _i = 0, _a = classSymbol.members.get("__constructor" /* Constructor */).declarations; _i < _a.length; _i++) { var decl = _a[_i]; var ctrKeyword = ts.findChildOfKind(decl, 123 /* ConstructorKeyword */, sourceFile); - ts.Debug.assert(decl.kind === 154 /* Constructor */ && !!ctrKeyword); + ts.Debug.assert(decl.kind === 155 /* Constructor */ && !!ctrKeyword); addNode(ctrKeyword); } classSymbol.exports.forEach(function (member) { var decl = member.valueDeclaration; - if (decl && decl.kind === 153 /* MethodDeclaration */) { + if (decl && decl.kind === 154 /* MethodDeclaration */) { var body = decl.body; if (body) { forEachDescendantOfKind(body, 99 /* ThisKeyword */, function (thisKeyword) { @@ -91346,14 +91821,13 @@ var ts; } /** Find references to `super` in the constructor of an extending class. */ function findSuperConstructorAccesses(cls, addNode) { - var symbol = cls.symbol; - var ctr = symbol.members.get("__constructor" /* Constructor */); + var ctr = cls.symbol.members.get("__constructor" /* Constructor */); if (!ctr) { return; } for (var _i = 0, _a = ctr.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - ts.Debug.assert(decl.kind === 154 /* Constructor */); + ts.Debug.assert(decl.kind === 155 /* Constructor */); var body = decl.body; if (body) { forEachDescendantOfKind(body, 97 /* SuperKeyword */, function (node) { @@ -91367,13 +91841,13 @@ var ts; function addImplementationReferences(refNode, addReference, state) { // Check if we found a function/propertyAssignment/method with an implementation or initializer if (ts.isDeclarationName(refNode) && isImplementation(refNode.parent)) { - addReference(refNode.parent); + addReference(refNode); return; } if (refNode.kind !== 71 /* Identifier */) { return; } - if (refNode.parent.kind === 270 /* ShorthandPropertyAssignment */) { + if (refNode.parent.kind === 271 /* ShorthandPropertyAssignment */) { // Go ahead and dereference the shorthand assignment by going to its definition getReferenceEntriesForShorthandPropertyAssignment(refNode, state.checker, addReference); } @@ -91393,7 +91867,7 @@ var ts; } else if (ts.isFunctionLike(typeHavingNode) && typeHavingNode.body) { var body = typeHavingNode.body; - if (body.kind === 212 /* Block */) { + if (body.kind === 213 /* Block */) { ts.forEachReturnStatement(body, function (returnStatement) { if (returnStatement.expression) addIfImplementation(returnStatement.expression); @@ -91421,13 +91895,13 @@ var ts; */ function isImplementationExpression(node) { switch (node.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return isImplementationExpression(node.expression); - case 192 /* ArrowFunction */: - case 191 /* FunctionExpression */: - case 183 /* ObjectLiteralExpression */: - case 204 /* ClassExpression */: - case 182 /* ArrayLiteralExpression */: + case 193 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 184 /* ObjectLiteralExpression */: + case 205 /* ClassExpression */: + case 183 /* ArrayLiteralExpression */: return true; default: return false; @@ -91480,13 +91954,13 @@ var ts; // Whether 'super' occurs in a static context within a class. var staticFlag = 32 /* Static */; switch (searchSpaceNode.kind) { - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: staticFlag &= ts.getModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class break; @@ -91511,34 +91985,34 @@ var ts; // Whether 'this' occurs in a static context within a class. var staticFlag = 32 /* Static */; switch (searchSpaceNode.kind) { - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.isObjectLiteralMethod(searchSpaceNode)) { break; } // falls through - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: staticFlag &= ts.getModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class break; - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (ts.isExternalModule(searchSpaceNode)) { return undefined; } // falls through - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: break; // Computed properties in classes are not handled here because references to this are illegal, // so there is no point finding references to them. default: return undefined; } - var references = ts.flatMap(searchSpaceNode.kind === 273 /* SourceFile */ ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { + var references = ts.flatMap(searchSpaceNode.kind === 274 /* SourceFile */ ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { cancellationToken.throwIfCancellationRequested(); return getPossibleSymbolReferenceNodes(sourceFile, "this", ts.isSourceFile(searchSpaceNode) ? sourceFile : searchSpaceNode).filter(function (node) { if (!ts.isThis(node)) { @@ -91546,19 +92020,19 @@ var ts; } var container = ts.getThisContainer(node, /* includeArrowFunctions */ false); switch (searchSpaceNode.kind) { - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: return searchSpaceNode.symbol === container.symbol; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: return ts.isObjectLiteralMethod(searchSpaceNode) && searchSpaceNode.symbol === container.symbol; - case 204 /* ClassExpression */: - case 234 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 235 /* ClassDeclaration */: // Make sure the container belongs to the same class // and has the appropriate static modifier from the original container. return container.parent && searchSpaceNode.symbol === container.parent.symbol && (ts.getModifierFlags(container) & 32 /* Static */) === staticFlag; - case 273 /* SourceFile */: - return container.kind === 273 /* SourceFile */ && !ts.isExternalModule(container); + case 274 /* SourceFile */: + return container.kind === 274 /* SourceFile */ && !ts.isExternalModule(container); } }); }).map(function (n) { return FindAllReferences.nodeEntry(n); }); @@ -91643,37 +92117,11 @@ var ts; return cbSymbol(sym, rootSymbol) // Add symbol of properties/methods of the same name in base classes and implemented interfaces definitions || (rootSymbol.parent && rootSymbol.parent.flags & (32 /* Class */ | 64 /* Interface */) && allowBaseTypes(rootSymbol) - ? getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.name, checker, function (base) { return cbSymbol(sym, rootSymbol, base); }) + ? ts.getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.name, checker, function (base) { return cbSymbol(sym, rootSymbol, base); }) : undefined); }); } } - /** - * Find symbol of the given property-name and add the symbol to the given result array - * @param symbol a symbol to start searching for the given propertyName - * @param propertyName a name of property to search for - * @param result an array of symbol of found property symbols - * @param previousIterationSymbolsCache a cache of symbol from previous iterations of calling this function to prevent infinite revisiting of the same symbol. - * The value of previousIterationSymbol is undefined when the function is first called. - */ - function getPropertySymbolsFromBaseTypes(symbol, propertyName, checker, cb) { - var seen = ts.createMap(); - return recur(symbol); - function recur(symbol) { - // Use `addToSeen` to ensure we don't infinitely recurse in this situation: - // interface C extends C { - // /*findRef*/propName: string; - // } - if (!(symbol.flags & (32 /* Class */ | 64 /* Interface */)) || !ts.addToSeen(seen, ts.getSymbolId(symbol))) - return; - return ts.firstDefined(symbol.declarations, function (declaration) { return ts.firstDefined(ts.getAllSuperTypeNodes(declaration), function (typeReference) { - var type = checker.getTypeAtLocation(typeReference); - var propertySymbol = type && type.symbol && checker.getPropertyOfType(type, propertyName); - // Visit the typeReference as well to see if it directly or indirectly uses that property - return propertySymbol && (ts.firstDefined(checker.getRootSymbols(propertySymbol), cb) || recur(type.symbol)); - }); }); - } - } function getRelatedSymbol(search, referenceSymbol, referenceLocation, state) { var checker = state.checker; return forEachRelatedSymbol(referenceSymbol, referenceLocation, checker, function (sym, rootSymbol, baseSymbol) { return search.includes(baseSymbol || rootSymbol || sym) @@ -91690,7 +92138,7 @@ var ts; var name = ts.getNameFromPropertyName(node.name); var symbol = contextualType && name && contextualType.getProperty(name); return symbol ? [symbol] : - contextualType && contextualType.isUnion() ? ts.mapDefined(contextualType.types, function (t) { return t.getProperty(name); }) : ts.emptyArray; + contextualType && contextualType.isUnion() ? ts.mapDefined(contextualType.types, function (t) { return t.getProperty(name); }) : ts.emptyArray; // TODO: GH#18217 } /** * Given an initial searchMeaning, extracted from a location, widen the search scope based on the declarations @@ -91712,8 +92160,8 @@ var ts; // To achieve that we will keep iterating until the result stabilizes. // Remember the last meaning lastIterationMeaning = meaning; - for (var _i = 0, declarations_10 = declarations; _i < declarations_10.length; _i++) { - var declaration = declarations_10[_i]; + for (var _i = 0, declarations_11 = declarations; _i < declarations_11.length; _i++) { + var declaration = declarations_11[_i]; var declarationMeaning = ts.getMeaningFromDeclaration(declaration); if (declarationMeaning & meaning) { meaning |= declarationMeaning; @@ -91774,6 +92222,184 @@ var ts; })(ts || (ts = {})); /* @internal */ var ts; +(function (ts) { + function getEditsForFileRename(program, oldFileOrDirPath, newFileOrDirPath, host, formatContext, preferences) { + var useCaseSensitiveFileNames = ts.hostUsesCaseSensitiveFileNames(host); + var getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames); + var oldToNew = getPathUpdater(oldFileOrDirPath, newFileOrDirPath, getCanonicalFileName); + var newToOld = getPathUpdater(newFileOrDirPath, oldFileOrDirPath, getCanonicalFileName); + return ts.textChanges.ChangeTracker.with({ host: host, formatContext: formatContext }, function (changeTracker) { + updateTsconfigFiles(program, changeTracker, oldToNew, newFileOrDirPath, host.getCurrentDirectory(), useCaseSensitiveFileNames); + updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName, preferences); + }); + } + ts.getEditsForFileRename = getEditsForFileRename; + function getPathUpdater(oldFileOrDirPath, newFileOrDirPath, getCanonicalFileName) { + var canonicalOldPath = getCanonicalFileName(oldFileOrDirPath); + return function (path) { + var canonicalPath = getCanonicalFileName(path); + if (canonicalPath === canonicalOldPath) + return newFileOrDirPath; + var suffix = ts.tryRemoveDirectoryPrefix(canonicalPath, canonicalOldPath); + return suffix === undefined ? undefined : newFileOrDirPath + "/" + suffix; + }; + } + function updateTsconfigFiles(program, changeTracker, oldToNew, newFileOrDirPath, currentDirectory, useCaseSensitiveFileNames) { + var configFile = program.getCompilerOptions().configFile; + if (!configFile) + return; + var configDir = ts.getDirectoryPath(configFile.fileName); + var jsonObjectLiteral = ts.getTsConfigObjectLiteralExpression(configFile); + if (!jsonObjectLiteral) + return; + forEachProperty(jsonObjectLiteral, function (property, propertyName) { + switch (propertyName) { + case "files": + case "include": + case "exclude": { + var foundExactMatch = updatePaths(property); + if (!foundExactMatch && propertyName === "include" && ts.isArrayLiteralExpression(property.initializer)) { + var includes = ts.mapDefined(property.initializer.elements, function (e) { return ts.isStringLiteral(e) ? e.text : undefined; }); + var matchers = ts.getFileMatcherPatterns(configDir, /*excludes*/ [], includes, useCaseSensitiveFileNames, currentDirectory); + // If there isn't some include for this, add a new one. + if (!ts.getRegexFromPattern(ts.Debug.assertDefined(matchers.includeFilePattern), useCaseSensitiveFileNames).test(newFileOrDirPath)) { + changeTracker.insertNodeAfter(configFile, ts.last(property.initializer.elements), ts.createStringLiteral(relativePath(newFileOrDirPath))); + } + } + break; + } + case "compilerOptions": + forEachProperty(property.initializer, function (property, propertyName) { + var option = ts.getOptionFromName(propertyName); + if (option && (option.isFilePath || option.type === "list" && option.element.isFilePath)) { + updatePaths(property); + } + else if (propertyName === "paths") { + forEachProperty(property.initializer, function (pathsProperty) { + if (!ts.isArrayLiteralExpression(pathsProperty.initializer)) + return; + for (var _i = 0, _a = pathsProperty.initializer.elements; _i < _a.length; _i++) { + var e = _a[_i]; + tryUpdateString(e); + } + }); + } + }); + break; + } + }); + function updatePaths(property) { + // Type annotation needed due to #7294 + var elements = ts.isArrayLiteralExpression(property.initializer) ? property.initializer.elements : [property.initializer]; + var foundExactMatch = false; + for (var _i = 0, elements_5 = elements; _i < elements_5.length; _i++) { + var element = elements_5[_i]; + foundExactMatch = tryUpdateString(element) || foundExactMatch; + } + return foundExactMatch; + } + function tryUpdateString(element) { + if (!ts.isStringLiteral(element)) + return false; + var elementFileName = combinePathsSafe(configDir, element.text); + var updated = oldToNew(elementFileName); + if (updated !== undefined) { + changeTracker.replaceRangeWithText(configFile, createStringRange(element, configFile), relativePath(updated)); + return true; + } + return false; + } + function relativePath(path) { + return ts.getRelativePathFromDirectory(configDir, path, /*ignoreCase*/ !useCaseSensitiveFileNames); + } + } + function updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName, preferences) { + var _loop_14 = function (sourceFile) { + var newImportFromPath = oldToNew(sourceFile.fileName) || sourceFile.fileName; + var newImportFromDirectory = ts.getDirectoryPath(newImportFromPath); + var oldFromNew = newToOld(sourceFile.fileName); + var oldImportFromPath = oldFromNew || sourceFile.fileName; + var oldImportFromDirectory = ts.getDirectoryPath(oldImportFromPath); + updateImportsWorker(sourceFile, changeTracker, function (referenceText) { + if (!ts.pathIsRelative(referenceText)) + return undefined; + var oldAbsolute = combinePathsSafe(oldImportFromDirectory, referenceText); + var newAbsolute = oldToNew(oldAbsolute); + return newAbsolute === undefined ? undefined : ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(newImportFromDirectory, newAbsolute, getCanonicalFileName)); + }, function (importLiteral) { + var toImport = oldFromNew !== undefined + // If we're at the new location (file was already renamed), need to redo module resolution starting from the old location. + // TODO:GH#18217 + ? getSourceFileToImportFromResolved(ts.resolveModuleName(importLiteral.text, oldImportFromPath, program.getCompilerOptions(), host), oldToNew, program) + : getSourceFileToImport(importLiteral, sourceFile, program, host, oldToNew); + return toImport === undefined ? undefined : ts.moduleSpecifiers.getModuleSpecifier(program, sourceFile, newImportFromPath, toImport, host, preferences); + }); + }; + for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { + var sourceFile = _a[_i]; + _loop_14(sourceFile); + } + } + function combineNormal(pathA, pathB) { + return ts.normalizePath(ts.combinePaths(pathA, pathB)); + } + function combinePathsSafe(pathA, pathB) { + return ts.ensurePathIsNonModuleName(combineNormal(pathA, pathB)); + } + function getSourceFileToImport(importLiteral, importingSourceFile, program, host, oldToNew) { + var symbol = program.getTypeChecker().getSymbolAtLocation(importLiteral); + if (symbol) { + if (symbol.declarations.some(function (d) { return ts.isAmbientModule(d); })) + return undefined; // No need to update if it's an ambient module + var oldFileName = ts.find(symbol.declarations, ts.isSourceFile).fileName; + return oldToNew(oldFileName) || oldFileName; + } + else { + var resolved = host.resolveModuleNames + ? host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName) + : program.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName); + return getSourceFileToImportFromResolved(resolved, oldToNew, program); + } + } + function getSourceFileToImportFromResolved(resolved, oldToNew, program) { + return resolved && ((resolved.resolvedModule && getIfInProgram(resolved.resolvedModule.resolvedFileName)) || ts.firstDefined(resolved.failedLookupLocations, getIfInProgram)); + function getIfInProgram(oldLocation) { + var newLocation = oldToNew(oldLocation); + return program.getSourceFile(oldLocation) || newLocation !== undefined && program.getSourceFile(newLocation) + ? newLocation || oldLocation + : undefined; + } + } + function updateImportsWorker(sourceFile, changeTracker, updateRef, updateImport) { + for (var _i = 0, _a = sourceFile.referencedFiles; _i < _a.length; _i++) { + var ref = _a[_i]; + var updated = updateRef(ref.fileName); + if (updated !== undefined && updated !== sourceFile.text.slice(ref.pos, ref.end)) + changeTracker.replaceRangeWithText(sourceFile, ref, updated); + } + for (var _b = 0, _c = sourceFile.imports; _b < _c.length; _b++) { + var importStringLiteral = _c[_b]; + var updated = updateImport(importStringLiteral); + if (updated !== undefined && updated !== importStringLiteral.text) + changeTracker.replaceRangeWithText(sourceFile, createStringRange(importStringLiteral, sourceFile), updated); + } + } + function createStringRange(node, sourceFile) { + return ts.createTextRange(node.getStart(sourceFile) + 1, node.end - 1); + } + function forEachProperty(objectLiteral, cb) { + if (!ts.isObjectLiteralExpression(objectLiteral)) + return; + for (var _i = 0, _a = objectLiteral.properties; _i < _a.length; _i++) { + var property = _a[_i]; + if (ts.isPropertyAssignment(property) && ts.isStringLiteral(property.name)) { + cb(property, property.name.text); + } + } + } +})(ts || (ts = {})); +/* @internal */ +var ts; (function (ts) { var GoToDefinition; (function (GoToDefinition) { @@ -91786,10 +92412,11 @@ var ts; if (node === sourceFile) { return undefined; } + var parent = node.parent; // Labels if (ts.isJumpStatementTarget(node)) { var label = ts.getTargetLabel(node.parent, node.text); - return label ? [createDefinitionInfoFromName(label, "label" /* label */, node.text, /*containerName*/ undefined)] : undefined; + return label ? [createDefinitionInfoFromName(label, "label" /* label */, node.text, /*containerName*/ undefined)] : undefined; // TODO: GH#18217 } var typeChecker = program.getTypeChecker(); var symbol = getSymbol(node, typeChecker); @@ -91805,7 +92432,7 @@ var ts; // If this is the original constructor definition, parent is the class. return typeChecker.getRootSymbols(symbol).some(function (s) { return calledDeclaration.symbol === s || calledDeclaration.symbol.parent === s; }) || // TODO: GH#23742 Following check shouldn't be necessary if 'require' is an alias - symbol.declarations.some(function (d) { return ts.isVariableDeclaration(d) && d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ false); }) + symbol.declarations.some(function (d) { return ts.isVariableDeclaration(d) && !!d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ false); }) ? [sigInfo] : [sigInfo].concat(getDefinitionFromSymbol(typeChecker, symbol, node)); } @@ -91814,7 +92441,7 @@ var ts; // go to the declaration of the property name (in this case stay at the same position). However, if go-to-definition // is performed at the location of property access, we would like to go to definition of the property in the short-hand // assignment. This case and others are handled by the following code. - if (node.parent.kind === 270 /* ShorthandPropertyAssignment */) { + if (node.parent.kind === 271 /* ShorthandPropertyAssignment */) { var shorthandSymbol_1 = typeChecker.getShorthandAssignmentValueSymbol(symbol.valueDeclaration); return shorthandSymbol_1 ? shorthandSymbol_1.declarations.map(function (decl) { return createDefinitionInfo(decl, typeChecker, shorthandSymbol_1, node); }) : []; } @@ -91829,9 +92456,9 @@ var ts; // pr/*destination*/op1: number // } // bar(({pr/*goto*/op1})=>{}); - if (ts.isPropertyName(node) && ts.isBindingElement(node.parent) && ts.isObjectBindingPattern(node.parent.parent) && - (node === (node.parent.propertyName || node.parent.name))) { - var type = typeChecker.getTypeAtLocation(node.parent.parent); + if (ts.isPropertyName(node) && ts.isBindingElement(parent) && ts.isObjectBindingPattern(parent.parent) && + (node === (parent.propertyName || parent.name))) { + var type = typeChecker.getTypeAtLocation(parent.parent); if (type) { var propSymbols = ts.getPropertySymbolsFromType(type, node); if (propSymbols) { @@ -91866,7 +92493,7 @@ var ts; var typeReferenceDirective = findReferenceInPosition(sourceFile.typeReferenceDirectives, position); if (typeReferenceDirective) { var reference = program.getResolvedTypeReferenceDirectives().get(typeReferenceDirective.fileName); - var file_17 = reference && program.getSourceFile(reference.resolvedFileName); + var file_17 = reference && program.getSourceFile(reference.resolvedFileName); // TODO:GH#18217 return file_17 && { fileName: typeReferenceDirective.fileName, file: file_17 }; } return undefined; @@ -91883,7 +92510,7 @@ var ts; if (!type) { return undefined; } - if (type.isUnion() && !(type.flags & 16 /* Enum */)) { + if (type.isUnion() && !(type.flags & 32 /* Enum */)) { return ts.flatMap(type.types, function (t) { return t.symbol && getDefinitionFromSymbol(typeChecker, t.symbol, node); }); } return type.symbol && getDefinitionFromSymbol(typeChecker, type.symbol, node); @@ -91941,11 +92568,11 @@ var ts; return true; } switch (declaration.kind) { - case 244 /* ImportClause */: - case 242 /* ImportEqualsDeclaration */: + case 245 /* ImportClause */: + case 243 /* ImportEqualsDeclaration */: return true; - case 247 /* ImportSpecifier */: - return declaration.parent.kind === 246 /* NamedImports */; + case 248 /* ImportSpecifier */: + return declaration.parent.kind === 247 /* NamedImports */; default: return false; } @@ -92009,14 +92636,14 @@ var ts; kind: "script" /* scriptElement */, name: name, containerName: undefined, - containerKind: undefined + containerKind: undefined, }; } /** Returns a CallLikeExpression where `node` is the target being invoked. */ function getAncestorCallLikeExpression(node) { var target = climbPastManyPropertyAccesses(node); var callLike = target.parent; - return callLike && ts.isCallLikeExpression(callLike) && ts.getInvokedExpression(callLike) === target && callLike; + return callLike && ts.isCallLikeExpression(callLike) && ts.getInvokedExpression(callLike) === target ? callLike : undefined; } function climbPastManyPropertyAccesses(node) { return ts.isRightSideOfPropertyAccess(node) ? climbPastManyPropertyAccesses(node.parent) : node; @@ -92104,11 +92731,11 @@ var ts; JsDoc.getJsDocCommentsFromDeclarations = getJsDocCommentsFromDeclarations; function getCommentHavingNodes(declaration) { switch (declaration.kind) { - case 292 /* JSDocParameterTag */: - case 297 /* JSDocPropertyTag */: + case 293 /* JSDocParameterTag */: + case 298 /* JSDocPropertyTag */: return [declaration]; - case 291 /* JSDocCallbackTag */: - case 296 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: return [declaration, declaration.parent]; default: return ts.getJSDocCommentsAndTags(declaration); @@ -92129,16 +92756,16 @@ var ts; function getCommentText(tag) { var comment = tag.comment; switch (tag.kind) { - case 289 /* JSDocAugmentsTag */: + case 290 /* JSDocAugmentsTag */: return withNode(tag.class); - case 295 /* JSDocTemplateTag */: + case 296 /* JSDocTemplateTag */: return withList(tag.typeParameters); - case 294 /* JSDocTypeTag */: + case 295 /* JSDocTypeTag */: return withNode(tag.typeExpression); - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: - case 297 /* JSDocPropertyTag */: - case 292 /* JSDocParameterTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 298 /* JSDocPropertyTag */: + case 293 /* JSDocParameterTag */: var name = tag.name; return name ? withNode(name) : comment; default: @@ -92220,7 +92847,7 @@ var ts; if (!ts.isIdentifier(param.name)) return undefined; var name = param.name.text; - if (jsdoc.tags.some(function (t) { return t !== tag && ts.isJSDocParameterTag(t) && ts.isIdentifier(t.name) && t.name.escapedText === name; }) + if (jsdoc.tags.some(function (t) { return t !== tag && ts.isJSDocParameterTag(t) && ts.isIdentifier(t.name) && t.name.escapedText === name; }) // TODO: GH#18217 || nameThusFar !== undefined && !ts.startsWith(name, nameThusFar)) { return undefined; } @@ -92269,7 +92896,7 @@ var ts; return undefined; } var tokenAtPos = ts.getTokenAtPosition(sourceFile, position, /*includeJsDocComment*/ false); - var tokenStart = tokenAtPos.getStart(); + var tokenStart = tokenAtPos.getStart(sourceFile); if (!tokenAtPos || tokenStart < position) { return undefined; } @@ -92278,7 +92905,7 @@ var ts; return undefined; } var commentOwner = commentOwnerInfo.commentOwner, parameters = commentOwnerInfo.parameters; - if (commentOwner.getStart() < position) { + if (commentOwner.getStart(sourceFile) < position) { return undefined; } if (!parameters || parameters.length === 0) { @@ -92290,18 +92917,6 @@ var ts; var lineStart = sourceFile.getLineStarts()[posLineAndChar.line]; // replace non-whitespace characters in prefix with spaces. var indentationStr = sourceFile.text.substr(lineStart, posLineAndChar.character).replace(/\S/i, function () { return " "; }); - var isJavaScriptFile = ts.hasJavaScriptFileExtension(sourceFile.fileName); - var docParams = ""; - for (var i = 0; i < parameters.length; i++) { - var currentName = parameters[i].name; - var paramName = currentName.kind === 71 /* Identifier */ ? currentName.escapedText : "param" + i; - if (isJavaScriptFile) { - docParams += indentationStr + " * @param {any} " + paramName + newLine; - } - else { - docParams += indentationStr + " * @param " + paramName + newLine; - } - } // A doc comment consists of the following // * The opening comment line // * the first line (without a param) for the object's untagged info (this is also where the caret ends up) @@ -92312,29 +92927,37 @@ var ts; var preamble = "/**" + newLine + indentationStr + " * "; var result = preamble + newLine + - docParams + + parameterDocComments(parameters, ts.hasJavaScriptFileExtension(sourceFile.fileName), indentationStr, newLine) + indentationStr + " */" + (tokenStart === position ? newLine + indentationStr : ""); return { newText: result, caretOffset: preamble.length }; } JsDoc.getDocCommentTemplateAtPosition = getDocCommentTemplateAtPosition; + function parameterDocComments(parameters, isJavaScriptFile, indentationStr, newLine) { + return parameters.map(function (_a, i) { + var name = _a.name, dotDotDotToken = _a.dotDotDotToken; + var paramName = name.kind === 71 /* Identifier */ ? name.text : "param" + i; + var type = isJavaScriptFile ? (dotDotDotToken ? "{...any} " : "{any} ") : ""; + return indentationStr + " * @param " + type + paramName + newLine; + }).join(""); + } function getCommentOwnerInfo(tokenAtPos) { for (var commentOwner = tokenAtPos; commentOwner; commentOwner = commentOwner.parent) { switch (commentOwner.kind) { - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: - case 152 /* MethodSignature */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: + case 153 /* MethodSignature */: var parameters = commentOwner.parameters; return { commentOwner: commentOwner, parameters: parameters }; - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 150 /* PropertySignature */: - case 237 /* EnumDeclaration */: - case 272 /* EnumMember */: - case 236 /* TypeAliasDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 151 /* PropertySignature */: + case 238 /* EnumDeclaration */: + case 273 /* EnumMember */: + case 237 /* TypeAliasDeclaration */: return { commentOwner: commentOwner }; - case 213 /* VariableStatement */: { + case 214 /* VariableStatement */: { var varStatement = commentOwner; var varDeclarations = varStatement.declarationList.declarations; var parameters_1 = varDeclarations.length === 1 && varDeclarations[0].initializer @@ -92342,14 +92965,14 @@ var ts; : undefined; return { commentOwner: commentOwner, parameters: parameters_1 }; } - case 273 /* SourceFile */: + case 274 /* SourceFile */: return undefined; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: // If in walking up the tree, we hit a a nested namespace declaration, // then we must be somewhere within a dotted namespace name; however we don't // want to give back a JSDoc template for the 'b' or 'c' in 'namespace a.b.c { }'. - return commentOwner.parent.kind === 238 /* ModuleDeclaration */ ? undefined : { commentOwner: commentOwner }; - case 199 /* BinaryExpression */: { + return commentOwner.parent.kind === 239 /* ModuleDeclaration */ ? undefined : { commentOwner: commentOwner }; + case 200 /* BinaryExpression */: { var be = commentOwner; if (ts.getSpecialPropertyAssignmentKind(be) === 0 /* None */) { return undefined; @@ -92369,16 +92992,16 @@ var ts; * @returns the parameters of a signature found on the RHS if one exists; otherwise 'emptyArray'. */ function getParametersFromRightHandSideOfAssignment(rightHandSide) { - while (rightHandSide.kind === 190 /* ParenthesizedExpression */) { + while (rightHandSide.kind === 191 /* ParenthesizedExpression */) { rightHandSide = rightHandSide.expression; } switch (rightHandSide.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return rightHandSide.parameters; - case 204 /* ClassExpression */: { + case 205 /* ClassExpression */: { var ctr = ts.find(rightHandSide.members, ts.isConstructorDeclaration); - return ctr && ctr.parameters; + return ctr ? ctr.parameters : ts.emptyArray; } } return ts.emptyArray; @@ -92562,7 +93185,8 @@ var ts; } // Add the cached typing locations for inferred typings that are already installed packageNameToTypingLocation.forEach(function (typing, name) { - if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && isTypingUpToDate(typing, typesRegistry.get(name))) { + var registryEntry = typesRegistry.get(name); + if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && registryEntry !== undefined && isTypingUpToDate(typing, registryEntry)) { inferredTypings.set(name, typing.typingLocation); } }); @@ -92589,7 +93213,7 @@ var ts; return result; function addInferredTyping(typingName) { if (!inferredTypings.has(typingName)) { - inferredTypings.set(typingName, undefined); + inferredTypings.set(typingName, undefined); // TODO: GH#18217 } } function addInferredTypings(typingNames, message) { @@ -92740,7 +93364,7 @@ var ts; case 0 /* Ok */: return ts.Debug.fail(); // Shouldn't have called this. default: - ts.Debug.assertNever(result); + throw ts.Debug.assertNever(result); } } JsTyping.renderPackageNameValidationFailure = renderPackageNameValidationFailure; @@ -92756,7 +93380,7 @@ var ts; if (!patternMatcher) return ts.emptyArray; var rawItems = []; - var _loop_14 = function (sourceFile) { + var _loop_15 = function (sourceFile) { cancellationToken.throwIfCancellationRequested(); if (excludeDtsFiles && ts.fileExtensionIs(sourceFile.fileName, ".d.ts" /* Dts */)) { return "continue"; @@ -92768,7 +93392,7 @@ var ts; // Search the declarations in all files and output matched NavigateToItem into array of NavigateToItem[] for (var _i = 0, sourceFiles_7 = sourceFiles; _i < sourceFiles_7.length; _i++) { var sourceFile = sourceFiles_7[_i]; - _loop_14(sourceFile); + _loop_15(sourceFile); } rawItems.sort(compareNavigateToItems); if (maxResultCount !== undefined) { @@ -92784,12 +93408,12 @@ var ts; if (!match) { return; // continue to next named declarations } - for (var _i = 0, declarations_11 = declarations; _i < declarations_11.length; _i++) { - var declaration = declarations_11[_i]; + for (var _i = 0, declarations_12 = declarations; _i < declarations_12.length; _i++) { + var declaration = declarations_12[_i]; if (!shouldKeepItem(declaration, checker)) continue; if (patternMatcher.patternContainsDots) { - var fullMatch = patternMatcher.getFullMatch(getContainers(declaration), name); + var fullMatch = patternMatcher.getFullMatch(getContainers(declaration), name); // TODO: GH#18217 if (fullMatch) { rawItems.push({ name: name, fileName: fileName, matchKind: fullMatch.kind, isCaseSensitive: fullMatch.isCaseSensitive, declaration: declaration }); } @@ -92802,9 +93426,9 @@ var ts; } function shouldKeepItem(declaration, checker) { switch (declaration.kind) { - case 244 /* ImportClause */: - case 247 /* ImportSpecifier */: - case 242 /* ImportEqualsDeclaration */: + case 245 /* ImportClause */: + case 248 /* ImportSpecifier */: + case 243 /* ImportEqualsDeclaration */: var importer = checker.getSymbolAtLocation(declaration.name); var imported = checker.getAliasedSymbol(importer); return importer.escapedName !== imported.escapedName; @@ -92818,7 +93442,7 @@ var ts; containers.unshift(ts.getTextOfIdentifierOrLiteral(name)); return true; } - else if (name && name.kind === 146 /* ComputedPropertyName */) { + else if (name && name.kind === 147 /* ComputedPropertyName */) { return tryAddComputedPropertyName(name.expression, containers, /*includeLastPortion*/ true); } else { @@ -92850,16 +93474,16 @@ var ts; // First, if we started with a computed property name, then add all but the last // portion into the container array. var name = ts.getNameOfDeclaration(declaration); - if (name.kind === 146 /* ComputedPropertyName */ && !tryAddComputedPropertyName(name.expression, containers, /*includeLastPortion*/ false)) { + if (name.kind === 147 /* ComputedPropertyName */ && !tryAddComputedPropertyName(name.expression, containers, /*includeLastPortion*/ false)) { return undefined; } // Now, walk up our containers, adding all their names to the container array. - declaration = ts.getContainerNode(declaration); - while (declaration) { - if (!tryAddSingleDeclarationName(declaration, containers)) { + var container = ts.getContainerNode(declaration); + while (container) { + if (!tryAddSingleDeclarationName(container, containers)) { return undefined; } - declaration = ts.getContainerNode(declaration); + container = ts.getContainerNode(container); } return containers; } @@ -92882,7 +93506,7 @@ var ts; textSpan: ts.createTextSpanFromNode(declaration), // TODO(jfreeman): What should be the containerName when the container has a computed name? containerName: containerName ? containerName.text : "", - containerKind: containerName ? ts.getNodeKind(container) : "" /* unknown */ + containerKind: containerName ? ts.getNodeKind(container) : "" /* unknown */ // TODO: GH#18217 Just use `container ? ...` }; } })(NavigateTo = ts.NavigateTo || (ts.NavigateTo = {})); @@ -93016,7 +93640,7 @@ var ts; return; } switch (node.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: // Get parameter properties, and treat them as being on the *same* level as the constructor, not under it. var ctr = node; addNodeWithRecursiveChild(ctr, ctr.body); @@ -93028,21 +93652,21 @@ var ts; } } break; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 153 /* MethodSignature */: if (!ts.hasDynamicName(node)) { addNodeWithRecursiveChild(node, node.body); } break; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: if (!ts.hasDynamicName(node)) { addLeafNode(node); } break; - case 244 /* ImportClause */: + case 245 /* ImportClause */: var importClause = node; // Handle default import case e.g.: // import d from "mod"; @@ -93054,7 +93678,7 @@ var ts; // import {a, b as B} from "mod"; var namedBindings = importClause.namedBindings; if (namedBindings) { - if (namedBindings.kind === 245 /* NamespaceImport */) { + if (namedBindings.kind === 246 /* NamespaceImport */) { addLeafNode(namedBindings); } else { @@ -93065,8 +93689,8 @@ var ts; } } break; - case 181 /* BindingElement */: - case 231 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 232 /* VariableDeclaration */: var _d = node, name = _d.name, initializer = _d.initializer; if (ts.isBindingPattern(name)) { addChildrenRecursively(name); @@ -93087,12 +93711,12 @@ var ts; addNodeWithRecursiveChild(node, initializer); } break; - case 192 /* ArrowFunction */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: addNodeWithRecursiveChild(node, node.body); break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: startNode(node); for (var _e = 0, _f = node.members; _e < _f.length; _e++) { var member = _f[_e]; @@ -93102,9 +93726,9 @@ var ts; } endNode(); break; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: startNode(node); for (var _g = 0, _h = node.members; _g < _h.length; _g++) { var member = _h[_g]; @@ -93112,18 +93736,18 @@ var ts; } endNode(); break; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: addNodeWithRecursiveChild(node, getInteriorModule(node).body); break; - case 251 /* ExportSpecifier */: - case 242 /* ImportEqualsDeclaration */: - case 159 /* IndexSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 236 /* TypeAliasDeclaration */: + case 252 /* ExportSpecifier */: + case 243 /* ImportEqualsDeclaration */: + case 160 /* IndexSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 237 /* TypeAliasDeclaration */: addLeafNode(node); break; - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var special = ts.getSpecialPropertyAssignmentKind(node); switch (special) { case 1 /* ExportsProperty */: @@ -93202,12 +93826,12 @@ var ts; return false; } switch (a.kind) { - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return ts.hasModifier(a, 32 /* Static */) === ts.hasModifier(b, 32 /* Static */); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return areSameModule(a, b); default: return true; @@ -93216,7 +93840,8 @@ var ts; // We use 1 NavNode to represent 'A.B.C', but there are multiple source nodes. // Only merge module nodes that have the same chain. Don't merge 'A.B.C' with 'A'! function areSameModule(a, b) { - return a.body.kind === b.body.kind && (a.body.kind !== 238 /* ModuleDeclaration */ || areSameModule(a.body, b.body)); + // TODO: GH#18217 + return a.body.kind === b.body.kind && (a.body.kind !== 239 /* ModuleDeclaration */ || areSameModule(a.body, b.body)); } /** Merge source into target. Source should be thrown away after this is called. */ function merge(target, source) { @@ -93237,7 +93862,7 @@ var ts; children.sort(compareChildren); } function compareChildren(child1, child2) { - return ts.compareStringsCaseSensitiveUI(tryGetName(child1.node), tryGetName(child2.node)) + return ts.compareStringsCaseSensitiveUI(tryGetName(child1.node), tryGetName(child2.node)) // TODO: GH#18217 || ts.compareValues(navigationBarNodeKind(child1), navigationBarNodeKind(child2)); } /** @@ -93246,24 +93871,24 @@ var ts; * So `new()` can still come before an `aardvark` method. */ function tryGetName(node) { - if (node.kind === 238 /* ModuleDeclaration */) { + if (node.kind === 239 /* ModuleDeclaration */) { return getModuleName(node); } var declName = ts.getNameOfDeclaration(node); if (declName) { - return ts.unescapeLeadingUnderscores(ts.getPropertyNameForPropertyNameNode(declName)); + return ts.unescapeLeadingUnderscores(ts.getPropertyNameForPropertyNameNode(declName)); // TODO: GH#18217 } switch (node.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 204 /* ClassExpression */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 205 /* ClassExpression */: return getFunctionOrClassName(node); default: return undefined; } } function getItemName(node) { - if (node.kind === 238 /* ModuleDeclaration */) { + if (node.kind === 239 /* ModuleDeclaration */) { return getModuleName(node); } var name = ts.getNameOfDeclaration(node); @@ -93274,16 +93899,16 @@ var ts; } } switch (node.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: var sourceFile = node; return ts.isExternalModule(sourceFile) ? "\"" + ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(sourceFile.fileName)))) + "\"" : ""; - case 192 /* ArrowFunction */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 193 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: if (ts.getModifierFlags(node) & 512 /* Default */) { return "default"; } @@ -93291,13 +93916,13 @@ var ts; // (eg: "app\n.onactivated"), so we should remove the whitespace for readabiltiy in the // navigation bar. return getFunctionOrClassName(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return "constructor"; - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: return "new()"; - case 157 /* CallSignature */: + case 158 /* CallSignature */: return "()"; - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: return "[]"; default: return ""; @@ -93321,25 +93946,25 @@ var ts; return topLevel; function isTopLevel(item) { switch (navigationBarNodeKind(item)) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 237 /* EnumDeclaration */: - case 235 /* InterfaceDeclaration */: - case 238 /* ModuleDeclaration */: - case 273 /* SourceFile */: - case 236 /* TypeAliasDeclaration */: - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 238 /* EnumDeclaration */: + case 236 /* InterfaceDeclaration */: + case 239 /* ModuleDeclaration */: + case 274 /* SourceFile */: + case 237 /* TypeAliasDeclaration */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: return true; - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 231 /* VariableDeclaration */: + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 232 /* VariableDeclaration */: return hasSomeImportantChild(item); - case 192 /* ArrowFunction */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: return isTopLevelFunctionDeclaration(item); default: return false; @@ -93349,19 +93974,19 @@ var ts; return false; } switch (navigationBarNodeKind(item.parent)) { - case 239 /* ModuleBlock */: - case 273 /* SourceFile */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: + case 240 /* ModuleBlock */: + case 274 /* SourceFile */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: return true; default: return hasSomeImportantChild(item); } } function hasSomeImportantChild(item) { - return ts.forEach(item.children, function (child) { + return ts.some(item.children, function (child) { var childKind = navigationBarNodeKind(child); - return childKind !== 231 /* VariableDeclaration */ && childKind !== 181 /* BindingElement */; + return childKind !== 232 /* VariableDeclaration */ && childKind !== 182 /* BindingElement */; }); } } @@ -93417,7 +94042,7 @@ var ts; // Otherwise, we need to aggregate each identifier to build up the qualified name. var result = []; result.push(ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)); - while (moduleDeclaration.body && moduleDeclaration.body.kind === 238 /* ModuleDeclaration */) { + while (moduleDeclaration.body && moduleDeclaration.body.kind === 239 /* ModuleDeclaration */) { moduleDeclaration = moduleDeclaration.body; result.push(ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)); } @@ -93428,16 +94053,16 @@ var ts; * We store 'A' as associated with a NavNode, and use getModuleName to traverse down again. */ function getInteriorModule(decl) { - return decl.body.kind === 238 /* ModuleDeclaration */ ? getInteriorModule(decl.body) : decl; + return decl.body.kind === 239 /* ModuleDeclaration */ ? getInteriorModule(decl.body) : decl; // TODO: GH#18217 } function isComputedProperty(member) { - return !member.name || member.name.kind === 146 /* ComputedPropertyName */; + return !member.name || member.name.kind === 147 /* ComputedPropertyName */; } function getNodeSpan(node) { - return node.kind === 273 /* SourceFile */ ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); + return node.kind === 274 /* SourceFile */ ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); } function getModifiers(node) { - if (node.parent && node.parent.kind === 231 /* VariableDeclaration */) { + if (node.parent && node.parent.kind === 232 /* VariableDeclaration */) { node = node.parent; } return ts.getNodeModifiers(node); @@ -93447,16 +94072,16 @@ var ts; return ts.declarationNameToString(node.name); } // See if it is a var initializer. If so, use the var name. - else if (node.parent.kind === 231 /* VariableDeclaration */) { + else if (node.parent.kind === 232 /* VariableDeclaration */) { return ts.declarationNameToString(node.parent.name); } // See if it is of the form " = function(){...}". If so, use the text from the left-hand side. - else if (node.parent.kind === 199 /* BinaryExpression */ && + else if (node.parent.kind === 200 /* BinaryExpression */ && node.parent.operatorToken.kind === 58 /* EqualsToken */) { return nodeText(node.parent.left).replace(whiteSpaceRegex, ""); } // See if it is a property assignment, and if so use the property name - else if (node.parent.kind === 269 /* PropertyAssignment */ && node.parent.name) { + else if (node.parent.kind === 270 /* PropertyAssignment */ && node.parent.name) { return nodeText(node.parent.name); } // Default exports are named "default" @@ -93469,9 +94094,9 @@ var ts; } function isFunctionOrClassExpression(node) { switch (node.kind) { - case 192 /* ArrowFunction */: - case 191 /* FunctionExpression */: - case 204 /* ClassExpression */: + case 193 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 205 /* ClassExpression */: return true; default: return false; @@ -93501,7 +94126,7 @@ var ts; organizeImportsWorker(topLevelExportDecls, coalesceExports); for (var _i = 0, _a = sourceFile.statements.filter(ts.isAmbientModule); _i < _a.length; _i++) { var ambientModule = _a[_i]; - var ambientModuleBody = getModuleBlock(ambientModule); + var ambientModuleBody = getModuleBlock(ambientModule); // TODO: GH#18217 var ambientModuleImportDecls = ambientModuleBody.statements.filter(ts.isImportDeclaration); organizeImportsWorker(ambientModuleImportDecls, coalesceAndOrganizeImports); var ambientModuleExportDecls = ambientModuleBody.statements.filter(ts.isExportDeclaration); @@ -93549,12 +94174,12 @@ var ts; OrganizeImports.organizeImports = organizeImports; function getModuleBlock(moduleDecl) { var body = moduleDecl.body; - return body && !ts.isIdentifier(body) && (ts.isModuleBlock(body) ? body : getModuleBlock(body)); + return body && !ts.isIdentifier(body) ? (ts.isModuleBlock(body) ? body : getModuleBlock(body)) : undefined; } function removeUnusedImports(oldImports, sourceFile, program) { var typeChecker = program.getTypeChecker(); var jsxNamespace = typeChecker.getJsxNamespace(); - var jsxContext = sourceFile.languageVariant === 1 /* JSX */ && program.getCompilerOptions().jsx; + var jsxElementsPresent = !!(sourceFile.transformFlags & 4 /* ContainsJsx */); var usedImports = []; for (var _i = 0, oldImports_1 = oldImports; _i < oldImports_1.length; _i++) { var importDecl = oldImports_1[_i]; @@ -93592,8 +94217,8 @@ var ts; } return usedImports; function isDeclarationUsed(identifier) { - // The JSX factory symbol is always used. - return jsxContext && (identifier.text === jsxNamespace) || ts.FindAllReferences.Core.isSymbolReferencedInFile(identifier, typeChecker, sourceFile); + // The JSX factory symbol is always used if JSX elements are present - even if they are not allowed. + return jsxElementsPresent && (identifier.text === jsxNamespace) || ts.FindAllReferences.Core.isSymbolReferencedInFile(identifier, typeChecker, sourceFile); } } function getExternalModuleName(specifier) { @@ -93619,16 +94244,16 @@ var ts; if (defaultImports.length === 1 && namespaceImports.length === 1 && namedImports.length === 0) { // Add the namespace import to the existing default ImportDeclaration. var defaultImport = defaultImports[0]; - coalescedImports.push(updateImportDeclarationAndClause(defaultImport, defaultImport.importClause.name, namespaceImports[0].importClause.namedBindings)); + coalescedImports.push(updateImportDeclarationAndClause(defaultImport, defaultImport.importClause.name, namespaceImports[0].importClause.namedBindings)); // TODO: GH#18217 return coalescedImports; } var sortedNamespaceImports = ts.stableSort(namespaceImports, function (i1, i2) { return compareIdentifiers(i1.importClause.namedBindings.name, i2.importClause.namedBindings.name); - }); + }); // TODO: GH#18217 for (var _i = 0, sortedNamespaceImports_1 = sortedNamespaceImports; _i < sortedNamespaceImports_1.length; _i++) { var namespaceImport = sortedNamespaceImports_1[_i]; // Drop the name, if any - coalescedImports.push(updateImportDeclarationAndClause(namespaceImport, /*name*/ undefined, namespaceImport.importClause.namedBindings)); + coalescedImports.push(updateImportDeclarationAndClause(namespaceImport, /*name*/ undefined, namespaceImport.importClause.namedBindings)); // TODO: GH#18217 } if (defaultImports.length === 0 && namedImports.length === 0) { return coalescedImports; @@ -93641,10 +94266,10 @@ var ts; else { for (var _b = 0, defaultImports_1 = defaultImports; _b < defaultImports_1.length; _b++) { var defaultImport = defaultImports_1[_b]; - newImportSpecifiers.push(ts.createImportSpecifier(ts.createIdentifier("default"), defaultImport.importClause.name)); + newImportSpecifiers.push(ts.createImportSpecifier(ts.createIdentifier("default"), defaultImport.importClause.name)); // TODO: GH#18217 } } - newImportSpecifiers.push.apply(newImportSpecifiers, ts.flatMap(namedImports, function (i) { return i.importClause.namedBindings.elements; })); + newImportSpecifiers.push.apply(newImportSpecifiers, ts.flatMap(namedImports, function (i) { return i.importClause.namedBindings.elements; })); // TODO: GH#18217 var sortedImportSpecifiers = sortSpecifiers(newImportSpecifiers); var importDecl = defaultImports.length > 0 ? defaultImports[0] @@ -93655,7 +94280,7 @@ var ts; : ts.createNamedImports(ts.emptyArray) : namedImports.length === 0 ? ts.createNamedImports(sortedImportSpecifiers) - : ts.updateNamedImports(namedImports[0].importClause.namedBindings, sortedImportSpecifiers); + : ts.updateNamedImports(namedImports[0].importClause.namedBindings, sortedImportSpecifiers); // TODO: GH#18217 coalescedImports.push(updateImportDeclarationAndClause(importDecl, newDefaultImport, newNamedImports)); return coalescedImports; /* @@ -93749,7 +94374,8 @@ var ts; } OrganizeImports.coalesceExports = coalesceExports; function updateImportDeclarationAndClause(importDeclaration, name, namedBindings) { - return ts.updateImportDeclaration(importDeclaration, importDeclaration.decorators, importDeclaration.modifiers, ts.updateImportClause(importDeclaration.importClause, name, namedBindings), importDeclaration.moduleSpecifier); + return ts.updateImportDeclaration(importDeclaration, importDeclaration.decorators, importDeclaration.modifiers, ts.updateImportClause(importDeclaration.importClause, name, namedBindings), // TODO: GH#18217 + importDeclaration.moduleSpecifier); } function sortSpecifiers(specifiers) { return ts.stableSort(specifiers, function (s1, s2) { @@ -93773,73 +94399,6 @@ var ts; })(ts || (ts = {})); /* @internal */ var ts; -(function (ts) { - function getEditsForFileRename(program, oldFilePath, newFilePath, host, formatContext) { - var pathUpdater = getPathUpdater(oldFilePath, newFilePath, host); - return ts.textChanges.ChangeTracker.with({ host: host, formatContext: formatContext }, function (changeTracker) { - updateTsconfigFiles(program, changeTracker, oldFilePath, newFilePath); - for (var _i = 0, _a = getImportsToUpdate(program, oldFilePath, host); _i < _a.length; _i++) { - var _b = _a[_i], sourceFile = _b.sourceFile, toUpdate = _b.toUpdate; - var newPath = pathUpdater(isRef(toUpdate) ? toUpdate.fileName : toUpdate.text); - if (newPath !== undefined) { - var range = isRef(toUpdate) ? toUpdate : createStringRange(toUpdate, sourceFile); - changeTracker.replaceRangeWithText(sourceFile, range, isRef(toUpdate) ? newPath : ts.removeFileExtension(newPath)); - } - } - }); - } - ts.getEditsForFileRename = getEditsForFileRename; - function updateTsconfigFiles(program, changeTracker, oldFilePath, newFilePath) { - var configFile = program.getCompilerOptions().configFile; - var oldFile = ts.getTsConfigPropArrayElementValue(configFile, "files", oldFilePath); - if (oldFile) { - changeTracker.replaceRangeWithText(configFile, createStringRange(oldFile, configFile), newFilePath); - } - } - function isRef(toUpdate) { - return "fileName" in toUpdate; - } - function getImportsToUpdate(program, oldFilePath, host) { - var checker = program.getTypeChecker(); - var result = []; - for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { - var sourceFile = _a[_i]; - for (var _b = 0, _c = sourceFile.referencedFiles; _b < _c.length; _b++) { - var ref = _c[_b]; - if (!program.getSourceFileFromReference(sourceFile, ref) && ts.resolveTripleslashReference(ref.fileName, sourceFile.fileName) === oldFilePath) { - result.push({ sourceFile: sourceFile, toUpdate: ref }); - } - } - for (var _d = 0, _e = sourceFile.imports; _d < _e.length; _d++) { - var importStringLiteral = _e[_d]; - // If it resolved to something already, ignore. - if (checker.getSymbolAtLocation(importStringLiteral)) - continue; - var resolved = host.resolveModuleNames - ? host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importStringLiteral.text, sourceFile.fileName) - : program.getResolvedModuleWithFailedLookupLocationsFromCache(importStringLiteral.text, sourceFile.fileName); - if (resolved && ts.contains(resolved.failedLookupLocations, oldFilePath)) { - result.push({ sourceFile: sourceFile, toUpdate: importStringLiteral }); - } - } - } - return result; - } - function getPathUpdater(oldFilePath, newFilePath, host) { - // Get the relative path from old to new location, and append it on to the end of imports and normalize. - var rel = ts.getRelativePathFromFile(oldFilePath, newFilePath, ts.createGetCanonicalFileName(ts.hostUsesCaseSensitiveFileNames(host))); - return function (oldPath) { - if (!ts.pathIsRelative(oldPath)) - return; - return ts.ensurePathIsNonModuleName(ts.normalizePath(ts.combinePaths(ts.getDirectoryPath(oldPath), rel))); - }; - } - function createStringRange(node, sourceFile) { - return ts.createTextRange(node.getStart(sourceFile) + 1, node.end - 1); - } -})(ts || (ts = {})); -/* @internal */ -var ts; (function (ts) { var OutliningElementsCollector; (function (OutliningElementsCollector) { @@ -93964,24 +94523,24 @@ var ts; } function getOutliningSpanForNode(n, sourceFile) { switch (n.kind) { - case 212 /* Block */: + case 213 /* Block */: if (ts.isFunctionBlock(n)) { - return spanForNode(n.parent, /*autoCollapse*/ n.parent.kind !== 192 /* ArrowFunction */); + return spanForNode(n.parent, /*autoCollapse*/ n.parent.kind !== 193 /* ArrowFunction */); } // Check if the block is standalone, or 'attached' to some parent statement. // If the latter, we want to collapse the block, but consider its hint span // to be the entire span of the parent. switch (n.parent.kind) { - case 217 /* DoStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 219 /* ForStatement */: - case 216 /* IfStatement */: - case 218 /* WhileStatement */: - case 225 /* WithStatement */: - case 268 /* CatchClause */: + case 218 /* DoStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 220 /* ForStatement */: + case 217 /* IfStatement */: + case 219 /* WhileStatement */: + case 226 /* WithStatement */: + case 269 /* CatchClause */: return spanForNode(n.parent); - case 229 /* TryStatement */: + case 230 /* TryStatement */: // Could be the try-block, or the finally-block. var tryStatement = n.parent; if (tryStatement.tryBlock === n) { @@ -93996,16 +94555,16 @@ var ts; // the span of the block, independent of any parent span. return createOutliningSpan(ts.createTextSpanFromNode(n, sourceFile), "code" /* Code */); } - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return spanForNode(n.parent); - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 240 /* CaseBlock */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 241 /* CaseBlock */: return spanForNode(n); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return spanForObjectOrArrayLiteral(n); - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return spanForObjectOrArrayLiteral(n, 21 /* OpenBracketToken */); } function spanForObjectOrArrayLiteral(node, open) { @@ -94075,7 +94634,7 @@ var ts; // First, check that the last part of the dot separated pattern matches the name of the // candidate. If not, then there's no point in proceeding and doing the more // expensive work. - var candidateMatch = matchSegment(candidate, ts.lastOrUndefined(dotSeparatedSegments), stringToWordSpans); + var candidateMatch = matchSegment(candidate, ts.last(dotSeparatedSegments), stringToWordSpans); if (!candidateMatch) { return undefined; } @@ -94316,13 +94875,13 @@ var ts; // Assumes 'value' is already lowercase. function indexOfIgnoringCase(str, value) { var n = str.length - value.length; - var _loop_15 = function (start) { + var _loop_16 = function (start) { if (every(value, function (valueChar, i) { return toLowerCase(str.charCodeAt(i + start)) === valueChar; })) { return { value: start }; } }; for (var start = 0; start <= n; start++) { - var state_4 = _loop_15(start); + var state_4 = _loop_16(start); if (typeof state_4 === "object") return state_4.value; } @@ -94595,7 +95154,7 @@ var ts; else { if (token === 71 /* Identifier */ || ts.isKeyword(token)) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // import d from "mod"; @@ -94626,7 +95185,7 @@ var ts; } if (token === 18 /* CloseBraceToken */) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // import {a as A} from "mod"; @@ -94642,7 +95201,7 @@ var ts; token = nextToken(); if (token === 71 /* Identifier */ || ts.isKeyword(token)) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // import * as NS from "mod" @@ -94672,7 +95231,7 @@ var ts; } if (token === 18 /* CloseBraceToken */) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // export {a as A} from "mod"; @@ -94684,7 +95243,7 @@ var ts; } else if (token === 39 /* AsteriskToken */) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // export * from "mod" @@ -94808,7 +95367,7 @@ var ts; importedFiles.push(decl.ref); } } - return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: pragmaContext.hasNoDefaultLib, ambientExternalModules: undefined }; + return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: !!pragmaContext.hasNoDefaultLib, ambientExternalModules: undefined }; } else { // for global scripts ambient modules still can have augmentations - look for ambient modules with depth > 0 @@ -94827,7 +95386,7 @@ var ts; } } } - return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: pragmaContext.hasNoDefaultLib, ambientExternalModules: ambientModuleNames }; + return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: !!pragmaContext.hasNoDefaultLib, ambientExternalModules: ambientModuleNames }; } } ts.preProcessFile = preProcessFile; @@ -94856,36 +95415,30 @@ var ts; Rename.getRenameInfo = getRenameInfo; function getRenameInfoForNode(node, typeChecker, sourceFile, isDefinedInLibraryFile) { var symbol = typeChecker.getSymbolAtLocation(node); + if (!symbol) + return; // Only allow a symbol to be renamed if it actually has at least one declaration. - if (symbol) { - var declarations = symbol.declarations; - if (declarations && declarations.length > 0) { - // Disallow rename for elements that are defined in the standard TypeScript library. - if (declarations.some(isDefinedInLibraryFile)) { - return getRenameInfoError(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); - } - // Cannot rename `default` as in `import { default as foo } from "./someModule"; - if (ts.isIdentifier(node) && node.originalKeywordKind === 79 /* DefaultKeyword */ && symbol.parent.flags & 1536 /* Module */) { - return undefined; - } - // Can't rename a module name. - if (ts.isStringLiteralLike(node) && ts.tryGetImportFromModuleSpecifier(node)) - return undefined; - var kind = ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, node); - var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteral(node) && node.parent.kind === 146 /* ComputedPropertyName */) - ? ts.stripQuotes(ts.getTextOfIdentifierOrLiteral(node)) - : undefined; - var displayName = specifierName || typeChecker.symbolToString(symbol); - var fullDisplayName = specifierName || typeChecker.getFullyQualifiedName(symbol); - return getRenameInfoSuccess(displayName, fullDisplayName, kind, ts.SymbolDisplay.getSymbolModifiers(symbol), node, sourceFile); - } + var declarations = symbol.declarations; + if (!declarations || declarations.length === 0) + return; + // Disallow rename for elements that are defined in the standard TypeScript library. + if (declarations.some(isDefinedInLibraryFile)) { + return getRenameInfoError(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); } - else if (ts.isStringLiteral(node)) { - if (isDefinedInLibraryFile(node)) { - return getRenameInfoError(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); - } - return getRenameInfoSuccess(node.text, node.text, "var" /* variableElement */, "" /* none */, node, sourceFile); + // Cannot rename `default` as in `import { default as foo } from "./someModule"; + if (ts.isIdentifier(node) && node.originalKeywordKind === 79 /* DefaultKeyword */ && symbol.parent.flags & 1536 /* Module */) { + return undefined; } + // Can't rename a module name. + if (ts.isStringLiteralLike(node) && ts.tryGetImportFromModuleSpecifier(node)) + return undefined; + var kind = ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, node); + var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteral(node) && node.parent.kind === 147 /* ComputedPropertyName */) + ? ts.stripQuotes(ts.getTextOfIdentifierOrLiteral(node)) + : undefined; + var displayName = specifierName || typeChecker.symbolToString(symbol); + var fullDisplayName = specifierName || typeChecker.getFullyQualifiedName(symbol); + return getRenameInfoSuccess(displayName, fullDisplayName, kind, ts.SymbolDisplay.getSymbolModifiers(symbol), node, sourceFile); } function getRenameInfoSuccess(displayName, fullDisplayName, kind, kindModifiers, node, sourceFile) { return { @@ -94899,6 +95452,7 @@ var ts; }; } function getRenameInfoError(diagnostic) { + // TODO: GH#18217 return { canRename: false, localizedErrorMessage: ts.getLocaleSpecificMessage(diagnostic), @@ -94944,7 +95498,12 @@ var ts; ArgumentListKind[ArgumentListKind["CallArguments"] = 1] = "CallArguments"; ArgumentListKind[ArgumentListKind["TaggedTemplateArguments"] = 2] = "TaggedTemplateArguments"; ArgumentListKind[ArgumentListKind["JSXAttributesArguments"] = 3] = "JSXAttributesArguments"; - })(ArgumentListKind = SignatureHelp.ArgumentListKind || (SignatureHelp.ArgumentListKind = {})); + })(ArgumentListKind || (ArgumentListKind = {})); + var InvocationKind; + (function (InvocationKind) { + InvocationKind[InvocationKind["Call"] = 0] = "Call"; + InvocationKind[InvocationKind["TypeArgs"] = 1] = "TypeArgs"; + })(InvocationKind || (InvocationKind = {})); function getSignatureHelpItems(program, sourceFile, position, cancellationToken) { var typeChecker = program.getTypeChecker(); // Decide whether to show signature help @@ -94958,11 +95517,9 @@ var ts; return undefined; cancellationToken.throwIfCancellationRequested(); // Semantic filtering of signature help - var call = argumentInfo.invocation; - var candidates = []; - var resolvedSignature = typeChecker.getResolvedSignature(call, candidates, argumentInfo.argumentCount); + var candidateInfo = getCandidateInfo(argumentInfo, typeChecker); cancellationToken.throwIfCancellationRequested(); - if (!candidates.length) { + if (!candidateInfo) { // We didn't have any sig help items produced by the TS compiler. If this is a JS // file, then see if we can figure out anything better. if (ts.isSourceFileJavaScript(sourceFile)) { @@ -94970,54 +95527,76 @@ var ts; } return undefined; } - return typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(candidates, resolvedSignature, argumentInfo, typeChecker); }); + return typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(candidateInfo.candidates, candidateInfo.resolvedSignature, argumentInfo, sourceFile, typeChecker); }); } SignatureHelp.getSignatureHelpItems = getSignatureHelpItems; - function createJavaScriptSignatureHelpItems(argumentInfo, program, cancellationToken) { - if (argumentInfo.invocation.kind !== 186 /* CallExpression */) { - return undefined; + function getCandidateInfo(argumentInfo, checker) { + var invocation = argumentInfo.invocation; + if (invocation.kind === 0 /* Call */) { + var candidates = []; + var resolvedSignature = checker.getResolvedSignature(invocation.node, candidates, argumentInfo.argumentCount); // TODO: GH#18217 + return candidates.length === 0 ? undefined : { candidates: candidates, resolvedSignature: resolvedSignature }; } + else { + var type = checker.getTypeAtLocation(invocation.called); // TODO: GH#18217 + var signatures = ts.isNewExpression(invocation.called.parent) ? type.getConstructSignatures() : type.getCallSignatures(); + var candidates = signatures.filter(function (candidate) { return !!candidate.typeParameters && candidate.typeParameters.length >= argumentInfo.argumentCount; }); + return candidates.length === 0 ? undefined : { candidates: candidates, resolvedSignature: ts.first(candidates) }; + } + } + function createJavaScriptSignatureHelpItems(argumentInfo, program, cancellationToken) { // See if we can find some symbol with the call expression name that has call signatures. - var callExpression = argumentInfo.invocation; - var expression = callExpression.expression; + var expression = getExpressionFromInvocation(argumentInfo.invocation); var name = ts.isIdentifier(expression) ? expression : ts.isPropertyAccessExpression(expression) ? expression.name : undefined; if (!name || !name.escapedText) { return undefined; } var typeChecker = program.getTypeChecker(); - for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { - var sourceFile = _a[_i]; + var _loop_17 = function (sourceFile) { var nameToDeclarations = sourceFile.getNamedDeclarations(); var declarations = nameToDeclarations.get(name.text); if (declarations) { - var _loop_16 = function (declaration) { + var _loop_18 = function (declaration) { var symbol = declaration.symbol; if (symbol) { var type = typeChecker.getTypeOfSymbolAtLocation(symbol, declaration); if (type) { var callSignatures_1 = type.getCallSignatures(); if (callSignatures_1 && callSignatures_1.length) { - return { value: typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(callSignatures_1, callSignatures_1[0], argumentInfo, typeChecker); }) }; + return { value: typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(callSignatures_1, callSignatures_1[0], argumentInfo, sourceFile, typeChecker); }) }; } } } }; - for (var _b = 0, declarations_12 = declarations; _b < declarations_12.length; _b++) { - var declaration = declarations_12[_b]; - var state_5 = _loop_16(declaration); - if (typeof state_5 === "object") - return state_5.value; + for (var _i = 0, declarations_13 = declarations; _i < declarations_13.length; _i++) { + var declaration = declarations_13[_i]; + var state_6 = _loop_18(declaration); + if (typeof state_6 === "object") + return state_6; } } + }; + for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { + var sourceFile = _a[_i]; + var state_5 = _loop_17(sourceFile); + if (typeof state_5 === "object") + return state_5.value; } } + function getArgumentInfoForCompletions(node, position, sourceFile) { + var info = getImmediatelyContainingArgumentInfo(node, position, sourceFile); + return !info || info.kind === 0 /* TypeArguments */ || info.invocation.kind === 1 /* TypeArgs */ ? undefined + : { invocation: info.invocation.node, argumentCount: info.argumentCount, argumentIndex: info.argumentIndex }; + } + SignatureHelp.getArgumentInfoForCompletions = getArgumentInfoForCompletions; /** * Returns relevant information for the argument list and the current argument if we are * in the argument of an invocation; returns undefined otherwise. */ function getImmediatelyContainingArgumentInfo(node, position, sourceFile) { - if (ts.isCallOrNewExpression(node.parent)) { - var invocation = node.parent; + var parent = node.parent; + if (ts.isCallOrNewExpression(parent)) { + var invocation = parent; var list = void 0; var argumentIndex = void 0; // There are 3 cases to handle: @@ -95037,7 +95616,7 @@ var ts; if (node.kind === 27 /* LessThanToken */ || node.kind === 19 /* OpenParenToken */) { // Find the list that starts right *after* the < or ( token. // If the user has just opened a list, consider this item 0. - list = getChildListThatStartsWithOpenerToken(invocation, node, sourceFile); + list = getChildListThatStartsWithOpenerToken(parent, node, sourceFile); ts.Debug.assert(list !== undefined); argumentIndex = 0; } @@ -95053,60 +95632,66 @@ var ts; return undefined; argumentIndex = getArgumentIndex(list, node); } - var kind = invocation.typeArguments && invocation.typeArguments.pos === list.pos ? 0 /* TypeArguments */ : 1 /* CallArguments */; + var kind = parent.typeArguments && parent.typeArguments.pos === list.pos ? 0 /* TypeArguments */ : 1 /* CallArguments */; var argumentCount = getArgumentCount(list); if (argumentIndex !== 0) { ts.Debug.assertLessThan(argumentIndex, argumentCount); } var argumentsSpan = getApplicableSpanForArguments(list, sourceFile); - return { kind: kind, invocation: invocation, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount }; + return { kind: kind, invocation: { kind: 0 /* Call */, node: invocation }, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount }; } - else if (node.kind === 13 /* NoSubstitutionTemplateLiteral */ && node.parent.kind === 188 /* TaggedTemplateExpression */) { + else if (ts.isNoSubstitutionTemplateLiteral(node) && ts.isTaggedTemplateExpression(parent)) { // Check if we're actually inside the template; // otherwise we'll fall out and return undefined. - if (ts.isInsideTemplateLiteral(node, position)) { - return getArgumentListInfoForTemplate(node.parent, /*argumentIndex*/ 0, sourceFile); + if (ts.isInsideTemplateLiteral(node, position, sourceFile)) { + return getArgumentListInfoForTemplate(parent, /*argumentIndex*/ 0, sourceFile); } } - else if (node.kind === 14 /* TemplateHead */ && node.parent.parent.kind === 188 /* TaggedTemplateExpression */) { - var templateExpression = node.parent; + else if (ts.isTemplateHead(node) && parent.parent.kind === 189 /* TaggedTemplateExpression */) { + var templateExpression = parent; var tagExpression = templateExpression.parent; - ts.Debug.assert(templateExpression.kind === 201 /* TemplateExpression */); - var argumentIndex = ts.isInsideTemplateLiteral(node, position) ? 0 : 1; + ts.Debug.assert(templateExpression.kind === 202 /* TemplateExpression */); + var argumentIndex = ts.isInsideTemplateLiteral(node, position, sourceFile) ? 0 : 1; return getArgumentListInfoForTemplate(tagExpression, argumentIndex, sourceFile); } - else if (node.parent.kind === 210 /* TemplateSpan */ && node.parent.parent.parent.kind === 188 /* TaggedTemplateExpression */) { - var templateSpan = node.parent; - var templateExpression = templateSpan.parent; - var tagExpression = templateExpression.parent; - ts.Debug.assert(templateExpression.kind === 201 /* TemplateExpression */); + else if (ts.isTemplateSpan(parent) && ts.isTaggedTemplateExpression(parent.parent.parent)) { + var templateSpan = parent; + var tagExpression = parent.parent.parent; // If we're just after a template tail, don't show signature help. - if (node.kind === 16 /* TemplateTail */ && !ts.isInsideTemplateLiteral(node, position)) { + if (ts.isTemplateTail(node) && !ts.isInsideTemplateLiteral(node, position, sourceFile)) { return undefined; } - var spanIndex = templateExpression.templateSpans.indexOf(templateSpan); - var argumentIndex = getArgumentIndexForTemplatePiece(spanIndex, node, position); + var spanIndex = templateSpan.parent.templateSpans.indexOf(templateSpan); + var argumentIndex = getArgumentIndexForTemplatePiece(spanIndex, node, position, sourceFile); return getArgumentListInfoForTemplate(tagExpression, argumentIndex, sourceFile); } - else if (node.parent && ts.isJsxOpeningLikeElement(node.parent)) { + else if (ts.isJsxOpeningLikeElement(parent)) { // Provide a signature help for JSX opening element or JSX self-closing element. // This is not guarantee that JSX tag-name is resolved into stateless function component. (that is done in "getSignatureHelpItems") // i.e // export function MainButton(props: ButtonProps, context: any): JSX.Element { ... } // 0 && ts.lastOrUndefined(listChildren).kind === 26 /* CommaToken */) { + if (listChildren.length > 0 && ts.last(listChildren).kind === 26 /* CommaToken */) { argumentCount++; } return argumentCount; } // spanIndex is either the index for a given template span. // This does not give appropriate results for a NoSubstitutionTemplateLiteral - function getArgumentIndexForTemplatePiece(spanIndex, node, position) { + function getArgumentIndexForTemplatePiece(spanIndex, node, position, sourceFile) { // Because the TemplateStringsArray is the first argument, we have to offset each substitution expression by 1. // There are three cases we can encounter: // 1. We are precisely in the template literal (argIndex = 0). @@ -95167,8 +95752,8 @@ var ts; // Case: 1 1 3 2 1 3 2 2 1 // tslint:enable no-double-space ts.Debug.assert(position >= node.getStart(), "Assumed 'position' could not occur before node."); - if (ts.isTemplateLiteralKind(node.kind)) { - if (ts.isInsideTemplateLiteral(node, position)) { + if (ts.isTemplateLiteralToken(node)) { + if (ts.isInsideTemplateLiteral(node, position, sourceFile)) { return 0; } return spanIndex + 2; @@ -95183,7 +95768,7 @@ var ts; } return { kind: 2 /* TaggedTemplateArguments */, - invocation: tagExpression, + invocation: { kind: 0 /* Call */, node: tagExpression }, argumentsSpan: getApplicableSpanForTaggedTemplate(tagExpression, sourceFile), argumentIndex: argumentIndex, argumentCount: argumentCount @@ -95214,8 +95799,8 @@ var ts; // | | // This is because a Missing node has no width. However, what we actually want is to include trivia // leading up to the next token in case the user is about to type in a TemplateMiddle or TemplateTail. - if (template.kind === 201 /* TemplateExpression */) { - var lastSpan = ts.lastOrUndefined(template.templateSpans); + if (template.kind === 202 /* TemplateExpression */) { + var lastSpan = ts.last(template.templateSpans); if (lastSpan.literal.getFullWidth() === 0) { applicableSpanEnd = ts.skipTrivia(sourceFile.text, applicableSpanEnd, /*stopAfterLineBreak*/ false); } @@ -95223,39 +95808,40 @@ var ts; return ts.createTextSpan(applicableSpanStart, applicableSpanEnd - applicableSpanStart); } function getContainingArgumentInfo(node, position, sourceFile) { - for (var n = node; n.kind !== 273 /* SourceFile */; n = n.parent) { - if (ts.isFunctionBlock(n)) { - return undefined; - } + var _loop_19 = function (n) { // If the node is not a subspan of its parent, this is a big problem. // There have been crashes that might be caused by this violation. - if (n.pos < n.parent.pos || n.end > n.parent.end) { - ts.Debug.fail("Node of kind " + n.kind + " is not a subspan of its parent of kind " + n.parent.kind); - } + ts.Debug.assert(ts.rangeContainsRange(n.parent, n), "Not a subspan", function () { return "Child: " + ts.Debug.showSyntaxKind(n) + ", parent: " + ts.Debug.showSyntaxKind(n.parent); }); var argumentInfo = getImmediatelyContainingArgumentInfo(n, position, sourceFile); if (argumentInfo) { - return argumentInfo; + return { value: argumentInfo }; } - // TODO: Handle generic call with incomplete syntax + }; + for (var n = node; !ts.isBlock(n) && !ts.isSourceFile(n); n = n.parent) { + var state_7 = _loop_19(n); + if (typeof state_7 === "object") + return state_7.value; } return undefined; } - SignatureHelp.getContainingArgumentInfo = getContainingArgumentInfo; function getChildListThatStartsWithOpenerToken(parent, openerToken, sourceFile) { var children = parent.getChildren(sourceFile); var indexOfOpenerToken = children.indexOf(openerToken); ts.Debug.assert(indexOfOpenerToken >= 0 && children.length > indexOfOpenerToken + 1); return children[indexOfOpenerToken + 1]; } + function getExpressionFromInvocation(invocation) { + return invocation.kind === 0 /* Call */ ? ts.getInvokedExpression(invocation.node) : invocation.called; + } var signatureHelpNodeBuilderFlags = 8192 /* OmitParameterModifiers */ | 3112960 /* IgnoreErrors */; - function createSignatureHelpItems(candidates, resolvedSignature, argumentListInfo, typeChecker) { + function createSignatureHelpItems(candidates, resolvedSignature, argumentListInfo, sourceFile, typeChecker) { var argumentCount = argumentListInfo.argumentCount, applicableSpan = argumentListInfo.argumentsSpan, invocation = argumentListInfo.invocation, argumentIndex = argumentListInfo.argumentIndex; var isTypeParameterList = argumentListInfo.kind === 0 /* TypeArguments */; - var callTarget = ts.getInvokedExpression(invocation); - var callTargetSymbol = typeChecker.getSymbolAtLocation(callTarget); + var enclosingDeclaration = invocation.kind === 0 /* Call */ ? invocation.node : invocation.called; + var callTargetSymbol = typeChecker.getSymbolAtLocation(getExpressionFromInvocation(invocation)); var callTargetDisplayParts = callTargetSymbol && ts.symbolToDisplayParts(typeChecker, callTargetSymbol, /*enclosingDeclaration*/ undefined, /*meaning*/ undefined); var printer = ts.createPrinter({ removeComments: true }); - var items = ts.map(candidates, function (candidateSignature) { + var items = candidates.map(function (candidateSignature) { var signatureHelpParameters; var prefixDisplayParts = []; var suffixDisplayParts = []; @@ -95270,9 +95856,9 @@ var ts; signatureHelpParameters = typeParameters && typeParameters.length > 0 ? ts.map(typeParameters, createSignatureHelpParameterForTypeParameter) : ts.emptyArray; suffixDisplayParts.push(ts.punctuationPart(29 /* GreaterThanToken */)); var parameterParts = ts.mapToDisplayParts(function (writer) { - var thisParameter = candidateSignature.thisParameter ? [typeChecker.symbolToParameterDeclaration(candidateSignature.thisParameter, invocation, signatureHelpNodeBuilderFlags)] : []; - var params = ts.createNodeArray(thisParameter.concat(ts.map(candidateSignature.parameters, function (param) { return typeChecker.symbolToParameterDeclaration(param, invocation, signatureHelpNodeBuilderFlags); }))); - printer.writeList(1296 /* CallExpressionArguments */, params, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var thisParameter = candidateSignature.thisParameter ? [typeChecker.symbolToParameterDeclaration(candidateSignature.thisParameter, enclosingDeclaration, signatureHelpNodeBuilderFlags)] : []; + var params = ts.createNodeArray(thisParameter.concat(candidateSignature.parameters.map(function (param) { return typeChecker.symbolToParameterDeclaration(param, enclosingDeclaration, signatureHelpNodeBuilderFlags); }))); + printer.writeList(1296 /* CallExpressionArguments */, params, sourceFile, writer); }); ts.addRange(suffixDisplayParts, parameterParts); } @@ -95280,8 +95866,8 @@ var ts; isVariadic = candidateSignature.hasRestParameter; var typeParameterParts = ts.mapToDisplayParts(function (writer) { if (candidateSignature.typeParameters && candidateSignature.typeParameters.length) { - var args = ts.createNodeArray(ts.map(candidateSignature.typeParameters, function (p) { return typeChecker.typeParameterToDeclaration(p, invocation); })); - printer.writeList(26896 /* TypeParameters */, args, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var args = ts.createNodeArray(candidateSignature.typeParameters.map(function (p) { return typeChecker.typeParameterToDeclaration(p, enclosingDeclaration); })); + printer.writeList(26896 /* TypeParameters */, args, sourceFile, writer); } }); ts.addRange(prefixDisplayParts, typeParameterParts); @@ -95294,10 +95880,10 @@ var ts; writer.writeSpace(" "); var predicate = typeChecker.getTypePredicateOfSignature(candidateSignature); if (predicate) { - typeChecker.writeTypePredicate(predicate, invocation, /*flags*/ undefined, writer); + typeChecker.writeTypePredicate(predicate, enclosingDeclaration, /*flags*/ undefined, writer); } else { - typeChecker.writeType(typeChecker.getReturnTypeOfSignature(candidateSignature), invocation, /*flags*/ undefined, writer); + typeChecker.writeType(typeChecker.getReturnTypeOfSignature(candidateSignature), enclosingDeclaration, /*flags*/ undefined, writer); } }); ts.addRange(suffixDisplayParts, returnTypeParts); @@ -95319,8 +95905,8 @@ var ts; return { items: items, applicableSpan: applicableSpan, selectedItemIndex: selectedItemIndex, argumentIndex: argumentIndex, argumentCount: argumentCount }; function createSignatureHelpParameterForParameter(parameter) { var displayParts = ts.mapToDisplayParts(function (writer) { - var param = typeChecker.symbolToParameterDeclaration(parameter, invocation, signatureHelpNodeBuilderFlags); - printer.writeNode(4 /* Unspecified */, param, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var param = typeChecker.symbolToParameterDeclaration(parameter, enclosingDeclaration, signatureHelpNodeBuilderFlags); + printer.writeNode(4 /* Unspecified */, param, sourceFile, writer); }); return { name: parameter.name, @@ -95331,8 +95917,8 @@ var ts; } function createSignatureHelpParameterForTypeParameter(typeParameter) { var displayParts = ts.mapToDisplayParts(function (writer) { - var param = typeChecker.typeParameterToDeclaration(typeParameter, invocation); - printer.writeNode(4 /* Unspecified */, param, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var param = typeChecker.typeParameterToDeclaration(typeParameter, enclosingDeclaration); + printer.writeNode(4 /* Unspecified */, param, sourceFile, writer); }); return { name: typeParameter.symbol.name, @@ -95347,9 +95933,8 @@ var ts; /* @internal */ var ts; (function (ts) { - function computeSuggestionDiagnostics(sourceFile, program) { - program.getSemanticDiagnostics(sourceFile); - var checker = program.getDiagnosticsProducingTypeChecker(); + function computeSuggestionDiagnostics(sourceFile, program, cancellationToken) { + program.getSemanticDiagnostics(sourceFile, cancellationToken); var diags = []; if (sourceFile.commonJsModuleIndicator && (ts.programContainsEs6Modules(program) || ts.compilerOptionsIndicateEs6Modules(program.getCompilerOptions())) && @@ -95357,40 +95942,10 @@ var ts; diags.push(ts.createDiagnosticForNode(getErrorNodeFromCommonJsIndicator(sourceFile.commonJsModuleIndicator), ts.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module)); } var isJsFile = ts.isSourceFileJavaScript(sourceFile); - function check(node) { - switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - if (isJsFile) { - var symbol = node.symbol; - if (symbol.members && (symbol.members.size > 0)) { - diags.push(ts.createDiagnosticForNode(ts.isVariableDeclaration(node.parent) ? node.parent.name : node, ts.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); - } - } - break; - } - if (!isJsFile && ts.codefix.parameterShouldGetTypeFromJSDoc(node)) { - diags.push(ts.createDiagnosticForNode(node.name || node, ts.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types)); - } - node.forEachChild(check); - } check(sourceFile); - if (!isJsFile) { - for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { - var statement = _a[_i]; - if (ts.isVariableStatement(statement) && - statement.declarationList.flags & 2 /* Const */ && - statement.declarationList.declarations.length === 1) { - var init = statement.declarationList.declarations[0].initializer; - if (init && ts.isRequireCall(init, /*checkArgumentIsStringLiteralLike*/ true)) { - diags.push(ts.createDiagnosticForNode(init, ts.Diagnostics.require_call_may_be_converted_to_an_import)); - } - } - } - } if (ts.getAllowSyntheticDefaultImports(program.getCompilerOptions())) { - for (var _b = 0, _c = sourceFile.imports; _b < _c.length; _b++) { - var moduleSpecifier = _c[_b]; + for (var _i = 0, _a = sourceFile.imports; _i < _a.length; _i++) { + var moduleSpecifier = _a[_i]; var importNode = ts.importFromModuleSpecifier(moduleSpecifier); var name = importNameForConvertToDefaultImport(importNode); if (!name) @@ -95402,18 +95957,57 @@ var ts; } } } - return diags.concat(checker.getSuggestionDiagnostics(sourceFile)).sort(function (d1, d2) { return d1.start - d2.start; }); + ts.addRange(diags, sourceFile.bindSuggestionDiagnostics); + ts.addRange(diags, program.getSuggestionDiagnostics(sourceFile, cancellationToken)); + return diags.sort(function (d1, d2) { return d1.start - d2.start; }); + function check(node) { + if (isJsFile) { + switch (node.kind) { + case 192 /* FunctionExpression */: + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + var symbol_3 = decl.symbol; + if (symbol_3 && (symbol_3.exports && symbol_3.exports.size || symbol_3.members && symbol_3.members.size)) { + diags.push(ts.createDiagnosticForNode(ts.isVariableDeclaration(node.parent) ? node.parent.name : node, ts.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); + break; + } + } + // falls through if no diagnostic was created + case 234 /* FunctionDeclaration */: + var symbol = node.symbol; + if (symbol.members && (symbol.members.size > 0)) { + diags.push(ts.createDiagnosticForNode(ts.isVariableDeclaration(node.parent) ? node.parent.name : node, ts.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); + } + break; + } + } + else { + if (ts.isVariableStatement(node) && + node.parent === sourceFile && + node.declarationList.flags & 2 /* Const */ && + node.declarationList.declarations.length === 1) { + var init = node.declarationList.declarations[0].initializer; + if (init && ts.isRequireCall(init, /*checkArgumentIsStringLiteralLike*/ true)) { + diags.push(ts.createDiagnosticForNode(init, ts.Diagnostics.require_call_may_be_converted_to_an_import)); + } + } + if (ts.codefix.parameterShouldGetTypeFromJSDoc(node)) { + diags.push(ts.createDiagnosticForNode(node.name || node, ts.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types)); + } + } + node.forEachChild(check); + } } ts.computeSuggestionDiagnostics = computeSuggestionDiagnostics; // convertToEs6Module only works on top-level, so don't trigger it if commonjs code only appears in nested scopes. function containsTopLevelCommonjs(sourceFile) { return sourceFile.statements.some(function (statement) { switch (statement.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return statement.declarationList.declarations.some(function (decl) { return ts.isRequireCall(propertyAccessLeftHandSide(decl.initializer), /*checkArgumentIsStringLiteralLike*/ true); - }); - case 215 /* ExpressionStatement */: { + }); // TODO: GH#18217 + case 216 /* ExpressionStatement */: { var expression = statement.expression; if (!ts.isBinaryExpression(expression)) return ts.isRequireCall(expression, /*checkArgumentIsStringLiteralLike*/ true); @@ -95430,12 +96024,12 @@ var ts; } function importNameForConvertToDefaultImport(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: var importClause = node.importClause, moduleSpecifier = node.moduleSpecifier; - return importClause && !importClause.name && importClause.namedBindings.kind === 245 /* NamespaceImport */ && ts.isStringLiteral(moduleSpecifier) + return importClause && !importClause.name && importClause.namedBindings && importClause.namedBindings.kind === 246 /* NamespaceImport */ && ts.isStringLiteral(moduleSpecifier) ? importClause.namedBindings.name : undefined; - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return node.name; default: return undefined; @@ -95458,7 +96052,7 @@ var ts; } var flags = ts.getCombinedLocalAndExportSymbolFlags(symbol); if (flags & 32 /* Class */) { - return ts.getDeclarationOfKind(symbol, 204 /* ClassExpression */) ? + return ts.getDeclarationOfKind(symbol, 205 /* ClassExpression */) ? "local class" /* localClassElement */ : "class" /* classElement */; } if (flags & 384 /* Enum */) @@ -95546,11 +96140,11 @@ var ts; // If we requested completions after `x.` at the top-level, we may be at a source file location. switch (location.parent && location.parent.kind) { // If we've typed a character of the attribute name, will be 'JsxAttribute', else will be 'JsxOpeningElement'. - case 256 /* JsxOpeningElement */: - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: return location.kind === 71 /* Identifier */ ? "property" /* memberVariableElement */ : "JSX attribute" /* jsxAttribute */; - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return "JSX attribute" /* jsxAttribute */; default: return "property" /* memberVariableElement */; @@ -95576,7 +96170,7 @@ var ts; var tags; var symbolFlags = ts.getCombinedLocalAndExportSymbolFlags(symbol); var symbolKind = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location); - var hasAddedSymbolInfo; + var hasAddedSymbolInfo = false; var isThisExpression = location.kind === 99 /* ThisKeyword */ && ts.isExpression(location); var type; var printer; @@ -95590,7 +96184,7 @@ var ts; } var signature = void 0; type = isThisExpression ? typeChecker.getTypeAtLocation(location) : typeChecker.getTypeOfSymbolAtLocation(symbol.exportSymbol || symbol, location); - if (location.parent && location.parent.kind === 184 /* PropertyAccessExpression */) { + if (location.parent && location.parent.kind === 185 /* PropertyAccessExpression */) { var right = location.parent.name; // Either the location is on the right of a property access, or on the left and the right is missing if (right === location || (right && right.getFullWidth() === 0)) { @@ -95610,8 +96204,8 @@ var ts; } if (callExpressionLike) { var candidateSignatures = []; - signature = typeChecker.getResolvedSignature(callExpressionLike, candidateSignatures); - var useConstructSignatures = callExpressionLike.kind === 187 /* NewExpression */ || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 97 /* SuperKeyword */); + signature = typeChecker.getResolvedSignature(callExpressionLike, candidateSignatures); // TODO: GH#18217 + var useConstructSignatures = callExpressionLike.kind === 188 /* NewExpression */ || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 97 /* SuperKeyword */); var allSignatures = useConstructSignatures ? type.getConstructSignatures() : type.getCallSignatures(); if (!ts.contains(allSignatures, signature.target) && !ts.contains(allSignatures, signature)) { // Get the first signature if there is one -- allSignatures may contain @@ -95666,7 +96260,7 @@ var ts; } } else if ((ts.isNameOfFunctionDeclaration(location) && !(symbolFlags & 98304 /* Accessor */)) || // name of function declaration - (location.kind === 123 /* ConstructorKeyword */ && location.parent.kind === 154 /* Constructor */)) { // At constructor keyword of constructor declaration + (location.kind === 123 /* ConstructorKeyword */ && location.parent.kind === 155 /* Constructor */)) { // At constructor keyword of constructor declaration // get the signature from the declaration and write it var functionDeclaration_1 = location.parent; // Use function declaration to write the signatures only if the symbol corresponding to this declaration @@ -95674,21 +96268,21 @@ var ts; return declaration === (location.kind === 123 /* ConstructorKeyword */ ? functionDeclaration_1.parent : functionDeclaration_1); }); if (locationIsSymbolDeclaration) { - var allSignatures = functionDeclaration_1.kind === 154 /* Constructor */ ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); + var allSignatures = functionDeclaration_1.kind === 155 /* Constructor */ ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); if (!typeChecker.isImplementationOfOverload(functionDeclaration_1)) { - signature = typeChecker.getSignatureFromDeclaration(functionDeclaration_1); + signature = typeChecker.getSignatureFromDeclaration(functionDeclaration_1); // TODO: GH#18217 } else { signature = allSignatures[0]; } - if (functionDeclaration_1.kind === 154 /* Constructor */) { + if (functionDeclaration_1.kind === 155 /* Constructor */) { // show (constructor) Type(...) signature symbolKind = "constructor" /* constructorImplementationElement */; addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); } else { // (function/method) symbol(..signature) - addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 157 /* CallSignature */ && + addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 158 /* CallSignature */ && !(type.symbol.flags & 2048 /* TypeLiteral */ || type.symbol.flags & 4096 /* ObjectLiteral */) ? type.symbol : symbol, symbolKind); } addSignatureDisplayParts(signature, allSignatures); @@ -95698,7 +96292,7 @@ var ts; } if (symbolFlags & 32 /* Class */ && !hasAddedSymbolInfo && !isThisExpression) { addAliasPrefixIfNecessary(); - if (ts.getDeclarationOfKind(symbol, 204 /* ClassExpression */)) { + if (ts.getDeclarationOfKind(symbol, 205 /* ClassExpression */)) { // Special case for class expressions because we would like to indicate that // the class name is local to the class body (similar to function expression) // (local class) class @@ -95742,7 +96336,7 @@ var ts; } if (symbolFlags & 1536 /* Module */) { prefixNextMeaning(); - var declaration = ts.getDeclarationOfKind(symbol, 238 /* ModuleDeclaration */); + var declaration = ts.getDeclarationOfKind(symbol, 239 /* ModuleDeclaration */); var isNamespace = declaration && declaration.name && declaration.name.kind === 71 /* Identifier */; displayParts.push(ts.keywordPart(isNamespace ? 130 /* NamespaceKeyword */ : 129 /* ModuleKeyword */)); displayParts.push(ts.spacePart()); @@ -95763,23 +96357,24 @@ var ts; } else { // Method/function type parameter - var decl = ts.getDeclarationOfKind(symbol, 147 /* TypeParameter */); - ts.Debug.assert(decl !== undefined); + var decl = ts.getDeclarationOfKind(symbol, 148 /* TypeParameter */); + if (decl === undefined) + return ts.Debug.fail(); var declaration = decl.parent; if (declaration) { if (ts.isFunctionLikeKind(declaration.kind)) { addInPrefix(); - var signature = typeChecker.getSignatureFromDeclaration(declaration); - if (declaration.kind === 158 /* ConstructSignature */) { + var signature = typeChecker.getSignatureFromDeclaration(declaration); // TODO: GH#18217 + if (declaration.kind === 159 /* ConstructSignature */) { displayParts.push(ts.keywordPart(94 /* NewKeyword */)); displayParts.push(ts.spacePart()); } - else if (declaration.kind !== 157 /* CallSignature */ && declaration.name) { + else if (declaration.kind !== 158 /* CallSignature */ && declaration.name) { addFullSymbolName(declaration.symbol); } ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, sourceFile, 32 /* WriteTypeArgumentsOfSignature */)); } - else if (declaration.kind === 236 /* TypeAliasDeclaration */) { + else if (declaration.kind === 237 /* TypeAliasDeclaration */) { // Type alias type parameter // For example // type list = T[]; // Both T will go through same code path @@ -95796,7 +96391,7 @@ var ts; symbolKind = "enum member" /* enumMemberElement */; addPrefixForAnyFunctionOrVar(symbol, "enum member"); var declaration = symbol.declarations[0]; - if (declaration.kind === 272 /* EnumMember */) { + if (declaration.kind === 273 /* EnumMember */) { var constantValue = typeChecker.getConstantValue(declaration); if (constantValue !== undefined) { displayParts.push(ts.spacePart()); @@ -95826,17 +96421,17 @@ var ts; } } switch (symbol.declarations[0].kind) { - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: displayParts.push(ts.keywordPart(84 /* ExportKeyword */)); displayParts.push(ts.spacePart()); displayParts.push(ts.keywordPart(130 /* NamespaceKeyword */)); break; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: displayParts.push(ts.keywordPart(84 /* ExportKeyword */)); displayParts.push(ts.spacePart()); displayParts.push(ts.keywordPart(symbol.declarations[0].isExportEquals ? 58 /* EqualsToken */ : 79 /* DefaultKeyword */)); break; - case 251 /* ExportSpecifier */: + case 252 /* ExportSpecifier */: displayParts.push(ts.keywordPart(84 /* ExportKeyword */)); break; default: @@ -95845,7 +96440,7 @@ var ts; displayParts.push(ts.spacePart()); addFullSymbolName(symbol); ts.forEach(symbol.declarations, function (declaration) { - if (declaration.kind === 242 /* ImportEqualsDeclaration */) { + if (declaration.kind === 243 /* ImportEqualsDeclaration */) { var importEqualsDeclaration = declaration; if (ts.isExternalModuleImportEqualsDeclaration(importEqualsDeclaration)) { displayParts.push(ts.spacePart()); @@ -95923,10 +96518,10 @@ var ts; // For some special property access expressions like `exports.foo = foo` or `module.exports.foo = foo` // there documentation comments might be attached to the right hand side symbol of their declarations. // The pattern of such special property access is that the parent symbol is the symbol of the file. - if (symbol.parent && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 273 /* SourceFile */; })) { + if (symbol.parent && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 274 /* SourceFile */; })) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (!declaration.parent || declaration.parent.kind !== 199 /* BinaryExpression */) { + if (!declaration.parent || declaration.parent.kind !== 200 /* BinaryExpression */) { continue; } var rhsSymbol = typeChecker.getSymbolAtLocation(declaration.parent.right); @@ -96009,6 +96604,7 @@ var ts; } } function addSignatureDisplayParts(signature, allSignatures, flags) { + if (flags === void 0) { flags = 0 /* None */; } ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, enclosingDeclaration, flags | 32 /* WriteTypeArgumentsOfSignature */)); if (allSignatures.length > 1) { displayParts.push(ts.spacePart()); @@ -96037,16 +96633,16 @@ var ts; } return ts.forEach(symbol.declarations, function (declaration) { // Function expressions are local - if (declaration.kind === 191 /* FunctionExpression */) { + if (declaration.kind === 192 /* FunctionExpression */) { return true; } - if (declaration.kind !== 231 /* VariableDeclaration */ && declaration.kind !== 233 /* FunctionDeclaration */) { + if (declaration.kind !== 232 /* VariableDeclaration */ && declaration.kind !== 234 /* FunctionDeclaration */) { return false; } // If the parent is not sourceFile or module block it is local variable for (var parent = declaration.parent; !ts.isFunctionBlock(parent); parent = parent.parent) { // Reached source file or module block - if (parent.kind === 273 /* SourceFile */ || parent.kind === 239 /* ModuleBlock */) { + if (parent.kind === 274 /* SourceFile */ || parent.kind === 240 /* ModuleBlock */) { return false; } } @@ -96094,7 +96690,7 @@ var ts; options.noResolve = true; // if jsx is specified then treat file as .tsx var inputFileName = transpileOptions.fileName || (options.jsx ? "module.tsx" : "module.ts"); - var sourceFile = ts.createSourceFile(inputFileName, input, options.target); + var sourceFile = ts.createSourceFile(inputFileName, input, options.target); // TODO: GH#18217 if (transpileOptions.moduleName) { sourceFile.moduleName = transpileOptions.moduleName; } @@ -96135,7 +96731,8 @@ var ts; } // Emit program.emit(/*targetSourceFile*/ undefined, /*writeFile*/ undefined, /*cancellationToken*/ undefined, /*emitOnlyDtsFiles*/ undefined, transpileOptions.transformers); - ts.Debug.assert(outputText !== undefined, "Output generation failed"); + if (outputText === undefined) + return ts.Debug.fail("Output generation failed"); return { outputText: outputText, diagnostics: diagnostics, sourceMapText: sourceMapText }; } ts.transpileModule = transpileModule; @@ -96158,7 +96755,7 @@ var ts; return typeof o.type === "object" && !ts.forEachEntry(o.type, function (v) { return typeof v !== "number"; }); }); options = ts.cloneCompilerOptions(options); - var _loop_17 = function (opt) { + var _loop_20 = function (opt) { if (!ts.hasProperty(options, opt.name)) { return "continue"; } @@ -96177,7 +96774,7 @@ var ts; }; for (var _i = 0, commandLineOptionsStringToEnum_1 = commandLineOptionsStringToEnum; _i < commandLineOptionsStringToEnum_1.length; _i++) { var opt = commandLineOptionsStringToEnum_1[_i]; - _loop_17(opt); + _loop_20(opt); } return options; } @@ -96314,7 +96911,7 @@ var ts; lastTokenInfo = undefined; var isStarted = scanner.getStartPos() !== startPos; if (isStarted) { - wasNewLine = trailingTrivia && ts.lastOrUndefined(trailingTrivia).kind === 4 /* NewLineTrivia */; + wasNewLine = !!trailingTrivia && ts.last(trailingTrivia).kind === 4 /* NewLineTrivia */; } else { scanner.scan(); @@ -96354,10 +96951,10 @@ var ts; function shouldRescanJsxIdentifier(node) { if (node.parent) { switch (node.parent.kind) { - case 261 /* JsxAttribute */: - case 256 /* JsxOpeningElement */: - case 257 /* JsxClosingElement */: - case 255 /* JsxSelfClosingElement */: + case 262 /* JsxAttribute */: + case 257 /* JsxOpeningElement */: + case 258 /* JsxClosingElement */: + case 256 /* JsxSelfClosingElement */: // May parse an identifier like `module-layout`; that will be scanned as a keyword at first, but we should parse the whole thing to get an identifier. return ts.isKeyword(node.kind) || node.kind === 71 /* Identifier */; } @@ -96534,7 +97131,7 @@ var ts; (function (formatting) { function getAllRules() { var allTokens = []; - for (var token = 0 /* FirstToken */; token <= 144 /* LastToken */; token++) { + for (var token = 0 /* FirstToken */; token <= 145 /* LastToken */; token++) { allTokens.push(token); } function anyTokenExcept() { @@ -96546,9 +97143,9 @@ var ts; } var anyToken = { tokens: allTokens, isSpecific: false }; var anyTokenIncludingMultilineComments = tokenRangeFrom(allTokens.concat([3 /* MultiLineCommentTrivia */])); - var keywords = tokenRangeFromRange(72 /* FirstKeyword */, 144 /* LastKeyword */); + var keywords = tokenRangeFromRange(72 /* FirstKeyword */, 145 /* LastKeyword */); var binaryOperators = tokenRangeFromRange(27 /* FirstBinaryOperator */, 70 /* LastBinaryOperator */); - var binaryKeywordOperators = [92 /* InKeyword */, 93 /* InstanceOfKeyword */, 144 /* OfKeyword */, 118 /* AsKeyword */, 127 /* IsKeyword */]; + var binaryKeywordOperators = [92 /* InKeyword */, 93 /* InstanceOfKeyword */, 145 /* OfKeyword */, 118 /* AsKeyword */, 127 /* IsKeyword */]; var unaryPrefixOperators = [43 /* PlusPlusToken */, 44 /* MinusMinusToken */, 52 /* TildeToken */, 51 /* ExclamationToken */]; var unaryPrefixExpressions = [ 8 /* NumericLiteral */, 71 /* Identifier */, 19 /* OpenParenToken */, 21 /* OpenBracketToken */, @@ -96669,11 +97266,11 @@ var ts; 136 /* SetKeyword */, 115 /* StaticKeyword */, 139 /* TypeKeyword */, - 142 /* FromKeyword */, + 143 /* FromKeyword */, 128 /* KeyOfKeyword */, 126 /* InferKeyword */, ], anyToken, [isNonJsxSameLineTokenContext], 2 /* Space */), - rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [85 /* ExtendsKeyword */, 108 /* ImplementsKeyword */, 142 /* FromKeyword */], [isNonJsxSameLineTokenContext], 2 /* Space */), + rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [85 /* ExtendsKeyword */, 108 /* ImplementsKeyword */, 143 /* FromKeyword */], [isNonJsxSameLineTokenContext], 2 /* Space */), // Treat string literals in module names as identifiers, and add a space between the literal and the opening Brace braces, e.g.: module "m2" { rule("SpaceAfterModuleName", 9 /* StringLiteral */, 17 /* OpenBraceToken */, [isModuleDeclContext], 2 /* Space */), // Lambda expressions @@ -96838,45 +97435,45 @@ var ts; return function (context) { return !context.options || !context.options.hasOwnProperty(optionName) || !!context.options[optionName]; }; } function isForContext(context) { - return context.contextNode.kind === 219 /* ForStatement */; + return context.contextNode.kind === 220 /* ForStatement */; } function isNotForContext(context) { return !isForContext(context); } function isBinaryOpContext(context) { switch (context.contextNode.kind) { - case 199 /* BinaryExpression */: - case 200 /* ConditionalExpression */: - case 170 /* ConditionalType */: - case 207 /* AsExpression */: - case 251 /* ExportSpecifier */: - case 247 /* ImportSpecifier */: - case 160 /* TypePredicate */: - case 168 /* UnionType */: - case 169 /* IntersectionType */: + case 200 /* BinaryExpression */: + case 201 /* ConditionalExpression */: + case 171 /* ConditionalType */: + case 208 /* AsExpression */: + case 252 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 161 /* TypePredicate */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: return true; // equals in binding elements: function foo([[x, y] = [1, 2]]) - case 181 /* BindingElement */: + case 182 /* BindingElement */: // equals in type X = ... - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: // equal in import a = module('a'); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: // equal in let a = 0; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: // equal in p = 0; - case 148 /* Parameter */: - case 272 /* EnumMember */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 149 /* Parameter */: + case 273 /* EnumMember */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return context.currentTokenSpan.kind === 58 /* EqualsToken */ || context.nextTokenSpan.kind === 58 /* EqualsToken */; // "in" keyword in for (let x in []) { } - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: // "in" keyword in [P in keyof T]: T[P] - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return context.currentTokenSpan.kind === 92 /* InKeyword */ || context.nextTokenSpan.kind === 92 /* InKeyword */; // Technically, "of" is not a binary operator, but format it the same way as "in" - case 221 /* ForOfStatement */: - return context.currentTokenSpan.kind === 144 /* OfKeyword */ || context.nextTokenSpan.kind === 144 /* OfKeyword */; + case 222 /* ForOfStatement */: + return context.currentTokenSpan.kind === 145 /* OfKeyword */ || context.nextTokenSpan.kind === 145 /* OfKeyword */; } return false; } @@ -96888,22 +97485,22 @@ var ts; } function isTypeAnnotationContext(context) { var contextKind = context.contextNode.kind; - return contextKind === 151 /* PropertyDeclaration */ || - contextKind === 150 /* PropertySignature */ || - contextKind === 148 /* Parameter */ || - contextKind === 231 /* VariableDeclaration */ || + return contextKind === 152 /* PropertyDeclaration */ || + contextKind === 151 /* PropertySignature */ || + contextKind === 149 /* Parameter */ || + contextKind === 232 /* VariableDeclaration */ || ts.isFunctionLikeKind(contextKind); } function isConditionalOperatorContext(context) { - return context.contextNode.kind === 200 /* ConditionalExpression */ || - context.contextNode.kind === 170 /* ConditionalType */; + return context.contextNode.kind === 201 /* ConditionalExpression */ || + context.contextNode.kind === 171 /* ConditionalType */; } function isSameLineTokenOrBeforeBlockContext(context) { return context.TokensAreOnSameLine() || isBeforeBlockContext(context); } function isBraceWrappedContext(context) { - return context.contextNode.kind === 179 /* ObjectBindingPattern */ || - context.contextNode.kind === 176 /* MappedType */ || + return context.contextNode.kind === 180 /* ObjectBindingPattern */ || + context.contextNode.kind === 177 /* MappedType */ || isSingleLineBlockContext(context); } // This check is done before an open brace in a control construct, a function, or a typescript block declaration @@ -96929,31 +97526,31 @@ var ts; return true; } switch (node.kind) { - case 212 /* Block */: - case 240 /* CaseBlock */: - case 183 /* ObjectLiteralExpression */: - case 239 /* ModuleBlock */: + case 213 /* Block */: + case 241 /* CaseBlock */: + case 184 /* ObjectLiteralExpression */: + case 240 /* ModuleBlock */: return true; } return false; } function isFunctionDeclContext(context) { switch (context.contextNode.kind) { - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: // case SyntaxKind.MemberFunctionDeclaration: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // case SyntaxKind.MethodSignature: - case 157 /* CallSignature */: - case 191 /* FunctionExpression */: - case 154 /* Constructor */: - case 192 /* ArrowFunction */: + case 158 /* CallSignature */: + case 192 /* FunctionExpression */: + case 155 /* Constructor */: + case 193 /* ArrowFunction */: // case SyntaxKind.ConstructorDeclaration: // case SyntaxKind.SimpleArrowFunctionExpression: // case SyntaxKind.ParenthesizedArrowFunctionExpression: - case 235 /* InterfaceDeclaration */: // This one is not truly a function, but for formatting purposes, it acts just like one + case 236 /* InterfaceDeclaration */: // This one is not truly a function, but for formatting purposes, it acts just like one return true; } return false; @@ -96962,40 +97559,40 @@ var ts; return !isFunctionDeclContext(context); } function isFunctionDeclarationOrFunctionExpressionContext(context) { - return context.contextNode.kind === 233 /* FunctionDeclaration */ || context.contextNode.kind === 191 /* FunctionExpression */; + return context.contextNode.kind === 234 /* FunctionDeclaration */ || context.contextNode.kind === 192 /* FunctionExpression */; } function isTypeScriptDeclWithBlockContext(context) { return nodeIsTypeScriptDeclWithBlockContext(context.contextNode); } function nodeIsTypeScriptDeclWithBlockContext(node) { switch (node.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 165 /* TypeLiteral */: - case 238 /* ModuleDeclaration */: - case 249 /* ExportDeclaration */: - case 250 /* NamedExports */: - case 243 /* ImportDeclaration */: - case 246 /* NamedImports */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 166 /* TypeLiteral */: + case 239 /* ModuleDeclaration */: + case 250 /* ExportDeclaration */: + case 251 /* NamedExports */: + case 244 /* ImportDeclaration */: + case 247 /* NamedImports */: return true; } return false; } function isAfterCodeBlockContext(context) { switch (context.currentTokenParent.kind) { - case 234 /* ClassDeclaration */: - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 268 /* CatchClause */: - case 239 /* ModuleBlock */: - case 226 /* SwitchStatement */: + case 235 /* ClassDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 269 /* CatchClause */: + case 240 /* ModuleBlock */: + case 227 /* SwitchStatement */: return true; - case 212 /* Block */: { + case 213 /* Block */: { var blockParent = context.currentTokenParent.parent; // In a codefix scenario, we can't rely on parents being set. So just always return true. - if (!blockParent || blockParent.kind !== 192 /* ArrowFunction */ && blockParent.kind !== 191 /* FunctionExpression */) { + if (!blockParent || blockParent.kind !== 193 /* ArrowFunction */ && blockParent.kind !== 192 /* FunctionExpression */) { return true; } } @@ -97004,31 +97601,31 @@ var ts; } function isControlDeclContext(context) { switch (context.contextNode.kind) { - case 216 /* IfStatement */: - case 226 /* SwitchStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 218 /* WhileStatement */: - case 229 /* TryStatement */: - case 217 /* DoStatement */: - case 225 /* WithStatement */: + case 217 /* IfStatement */: + case 227 /* SwitchStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 219 /* WhileStatement */: + case 230 /* TryStatement */: + case 218 /* DoStatement */: + case 226 /* WithStatement */: // TODO // case SyntaxKind.ElseClause: - case 268 /* CatchClause */: + case 269 /* CatchClause */: return true; default: return false; } } function isObjectContext(context) { - return context.contextNode.kind === 183 /* ObjectLiteralExpression */; + return context.contextNode.kind === 184 /* ObjectLiteralExpression */; } function isFunctionCallContext(context) { - return context.contextNode.kind === 186 /* CallExpression */; + return context.contextNode.kind === 187 /* CallExpression */; } function isNewContext(context) { - return context.contextNode.kind === 187 /* NewExpression */; + return context.contextNode.kind === 188 /* NewExpression */; } function isFunctionCallOrNewContext(context) { return isFunctionCallContext(context) || isNewContext(context); @@ -97040,35 +97637,35 @@ var ts; return context.nextTokenSpan.kind !== 22 /* CloseBracketToken */; } function isArrowFunctionContext(context) { - return context.contextNode.kind === 192 /* ArrowFunction */; + return context.contextNode.kind === 193 /* ArrowFunction */; } function isImportTypeContext(context) { - return context.contextNode.kind === 178 /* ImportType */; + return context.contextNode.kind === 179 /* ImportType */; } function isNonJsxSameLineTokenContext(context) { return context.TokensAreOnSameLine() && context.contextNode.kind !== 10 /* JsxText */; } function isNonJsxElementOrFragmentContext(context) { - return context.contextNode.kind !== 254 /* JsxElement */ && context.contextNode.kind !== 258 /* JsxFragment */; + return context.contextNode.kind !== 255 /* JsxElement */ && context.contextNode.kind !== 259 /* JsxFragment */; } function isJsxExpressionContext(context) { - return context.contextNode.kind === 264 /* JsxExpression */ || context.contextNode.kind === 263 /* JsxSpreadAttribute */; + return context.contextNode.kind === 265 /* JsxExpression */ || context.contextNode.kind === 264 /* JsxSpreadAttribute */; } function isNextTokenParentJsxAttribute(context) { - return context.nextTokenParent.kind === 261 /* JsxAttribute */; + return context.nextTokenParent.kind === 262 /* JsxAttribute */; } function isJsxAttributeContext(context) { - return context.contextNode.kind === 261 /* JsxAttribute */; + return context.contextNode.kind === 262 /* JsxAttribute */; } function isJsxSelfClosingElementContext(context) { - return context.contextNode.kind === 255 /* JsxSelfClosingElement */; + return context.contextNode.kind === 256 /* JsxSelfClosingElement */; } function isNotBeforeBlockInFunctionDeclarationContext(context) { return !isFunctionDeclContext(context) && !isBeforeBlockContext(context); } function isEndOfDecoratorContextOnSameLine(context) { return context.TokensAreOnSameLine() && - context.contextNode.decorators && + !!context.contextNode.decorators && nodeIsInDecoratorContext(context.currentTokenParent) && !nodeIsInDecoratorContext(context.nextTokenParent); } @@ -97076,45 +97673,45 @@ var ts; while (ts.isExpressionNode(node)) { node = node.parent; } - return node.kind === 149 /* Decorator */; + return node.kind === 150 /* Decorator */; } function isStartOfVariableDeclarationList(context) { - return context.currentTokenParent.kind === 232 /* VariableDeclarationList */ && + return context.currentTokenParent.kind === 233 /* VariableDeclarationList */ && context.currentTokenParent.getStart(context.sourceFile) === context.currentTokenSpan.pos; } function isNotFormatOnEnter(context) { return context.formattingRequestKind !== 2 /* FormatOnEnter */; } function isModuleDeclContext(context) { - return context.contextNode.kind === 238 /* ModuleDeclaration */; + return context.contextNode.kind === 239 /* ModuleDeclaration */; } function isObjectTypeContext(context) { - return context.contextNode.kind === 165 /* TypeLiteral */; // && context.contextNode.parent.kind !== SyntaxKind.InterfaceDeclaration; + return context.contextNode.kind === 166 /* TypeLiteral */; // && context.contextNode.parent.kind !== SyntaxKind.InterfaceDeclaration; } function isConstructorSignatureContext(context) { - return context.contextNode.kind === 158 /* ConstructSignature */; + return context.contextNode.kind === 159 /* ConstructSignature */; } function isTypeArgumentOrParameterOrAssertion(token, parent) { if (token.kind !== 27 /* LessThanToken */ && token.kind !== 29 /* GreaterThanToken */) { return false; } switch (parent.kind) { - case 161 /* TypeReference */: - case 189 /* TypeAssertionExpression */: - case 236 /* TypeAliasDeclaration */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 206 /* ExpressionWithTypeArguments */: + case 162 /* TypeReference */: + case 190 /* TypeAssertionExpression */: + case 237 /* TypeAliasDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 207 /* ExpressionWithTypeArguments */: return true; default: return false; @@ -97125,16 +97722,16 @@ var ts; isTypeArgumentOrParameterOrAssertion(context.nextTokenSpan, context.nextTokenParent); } function isTypeAssertionContext(context) { - return context.contextNode.kind === 189 /* TypeAssertionExpression */; + return context.contextNode.kind === 190 /* TypeAssertionExpression */; } function isVoidOpContext(context) { - return context.currentTokenSpan.kind === 105 /* VoidKeyword */ && context.currentTokenParent.kind === 195 /* VoidExpression */; + return context.currentTokenSpan.kind === 105 /* VoidKeyword */ && context.currentTokenParent.kind === 196 /* VoidExpression */; } function isYieldOrYieldStarWithOperand(context) { - return context.contextNode.kind === 202 /* YieldExpression */ && context.contextNode.expression !== undefined; + return context.contextNode.kind === 203 /* YieldExpression */ && context.contextNode.expression !== undefined; } function isNonNullAssertionContext(context) { - return context.contextNode.kind === 208 /* NonNullExpression */; + return context.contextNode.kind === 209 /* NonNullExpression */; } })(formatting = ts.formatting || (ts.formatting = {})); })(ts || (ts = {})); @@ -97185,12 +97782,12 @@ var ts; return map; } function getRuleBucketIndex(row, column) { - ts.Debug.assert(row <= 144 /* LastKeyword */ && column <= 144 /* LastKeyword */, "Must compute formatting context from tokens"); + ts.Debug.assert(row <= 145 /* LastKeyword */ && column <= 145 /* LastKeyword */, "Must compute formatting context from tokens"); return (row * mapRowLength) + column; } var maskBitSize = 5; var mask = 31; // MaskBitSize bits - var mapRowLength = 144 /* LastToken */ + 1; + var mapRowLength = 145 /* LastToken */ + 1; var RulesPosition; (function (RulesPosition) { RulesPosition[RulesPosition["IgnoreRulesSpecific"] = 0] = "IgnoreRulesSpecific"; @@ -97368,17 +97965,17 @@ var ts; // i.e. parent is class declaration with the list of members and node is one of members. function isListElement(parent, node) { switch (parent.kind) { - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: return ts.rangeContainsRange(parent.members, node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: var body = parent.body; - return body && body.kind === 239 /* ModuleBlock */ && ts.rangeContainsRange(body.statements, node); - case 273 /* SourceFile */: - case 212 /* Block */: - case 239 /* ModuleBlock */: + return !!body && body.kind === 240 /* ModuleBlock */ && ts.rangeContainsRange(body.statements, node); + case 274 /* SourceFile */: + case 213 /* Block */: + case 240 /* ModuleBlock */: return ts.rangeContainsRange(parent.statements, node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return ts.rangeContainsRange(parent.block.statements, node); } return false; @@ -97407,7 +98004,7 @@ var ts; } // pick only errors that fall in range var sorted = errors - .filter(function (d) { return ts.rangeOverlapsWithStartEnd(originalRange, d.start, d.start + d.length); }) + .filter(function (d) { return ts.rangeOverlapsWithStartEnd(originalRange, d.start, d.start + d.length); }) // TODO: GH#18217 .sort(function (e1, e2) { return e1.start - e2.start; }); if (!sorted.length) { return rangeHasNoErrors; @@ -97535,7 +98132,7 @@ var ts; if (!formattingScanner.isOnToken()) { var leadingTrivia = formattingScanner.getCurrentLeadingTrivia(); if (leadingTrivia) { - processTrivia(leadingTrivia, enclosingNode, enclosingNode, /*dynamicIndentation*/ undefined); + processTrivia(leadingTrivia, enclosingNode, enclosingNode, /*dynamicIndentation*/ undefined); // TODO: GH#18217 trimTrailingWhitespacesForRemainingRange(); } } @@ -97601,19 +98198,19 @@ var ts; return node.modifiers[0].kind; } switch (node.kind) { - case 234 /* ClassDeclaration */: return 75 /* ClassKeyword */; - case 235 /* InterfaceDeclaration */: return 109 /* InterfaceKeyword */; - case 233 /* FunctionDeclaration */: return 89 /* FunctionKeyword */; - case 237 /* EnumDeclaration */: return 237 /* EnumDeclaration */; - case 155 /* GetAccessor */: return 125 /* GetKeyword */; - case 156 /* SetAccessor */: return 136 /* SetKeyword */; - case 153 /* MethodDeclaration */: + case 235 /* ClassDeclaration */: return 75 /* ClassKeyword */; + case 236 /* InterfaceDeclaration */: return 109 /* InterfaceKeyword */; + case 234 /* FunctionDeclaration */: return 89 /* FunctionKeyword */; + case 238 /* EnumDeclaration */: return 238 /* EnumDeclaration */; + case 156 /* GetAccessor */: return 125 /* GetKeyword */; + case 157 /* SetAccessor */: return 136 /* SetKeyword */; + case 154 /* MethodDeclaration */: if (node.asteriskToken) { return 39 /* AsteriskToken */; } // falls through - case 151 /* PropertyDeclaration */: - case 148 /* Parameter */: + case 152 /* PropertyDeclaration */: + case 149 /* Parameter */: return ts.getNameOfDeclaration(node).kind; } } @@ -97658,15 +98255,15 @@ var ts; case 41 /* SlashToken */: case 29 /* GreaterThanToken */: switch (container.kind) { - case 256 /* JsxOpeningElement */: - case 257 /* JsxClosingElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 258 /* JsxClosingElement */: + case 256 /* JsxSelfClosingElement */: return false; } break; case 21 /* OpenBracketToken */: case 22 /* CloseBracketToken */: - if (container.kind !== 176 /* MappedType */) { + if (container.kind !== 177 /* MappedType */) { return false; } break; @@ -97758,7 +98355,7 @@ var ts; consumeTokenAndAdvanceScanner(tokenInfo, node, parentDynamicIndentation, child); return inheritedIndentation; } - var effectiveParentStartLine = child.kind === 149 /* Decorator */ ? childStartLine : undecoratedParentStartLine; + var effectiveParentStartLine = child.kind === 150 /* Decorator */ ? childStartLine : undecoratedParentStartLine; var childIndentation = computeIndentation(child, childStartLine, childIndentationAmount, node, parentDynamicIndentation, effectiveParentStartLine); processNode(child, childContextNode, childStartLine, undecoratedChildStartLine, childIndentation.indentation, childIndentation.delta); if (child.kind === 10 /* JsxText */) { @@ -97766,7 +98363,7 @@ var ts; indentMultilineCommentOrJsxText(range, childIndentation.indentation, /*firstLineIsIndented*/ true, /*indentFinalLine*/ false); } childContextNode = node; - if (isFirstListItem && parent.kind === 182 /* ArrayLiteralExpression */ && inheritedIndentation === -1 /* Unknown */) { + if (isFirstListItem && parent.kind === 183 /* ArrayLiteralExpression */ && inheritedIndentation === -1 /* Unknown */) { inheritedIndentation = childIndentation.indentation; } return inheritedIndentation; @@ -97896,6 +98493,7 @@ var ts; } } } + // TODO: GH#18217 use an enum instead of `boolean | undefined` function processRange(range, rangeStart, parent, contextNode, dynamicIndentation) { var rangeHasError = rangeContainsError(range); var lineAction = 0 /* None */; @@ -98177,12 +98775,12 @@ var ts; formatting.getRangeOfEnclosingComment = getRangeOfEnclosingComment; function getOpenTokenForList(node, list) { switch (node.kind) { - case 154 /* Constructor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 192 /* ArrowFunction */: + case 155 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 193 /* ArrowFunction */: if (node.typeParameters === list) { return 27 /* LessThanToken */; } @@ -98190,8 +98788,8 @@ var ts; return 19 /* OpenParenToken */; } break; - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: if (node.typeArguments === list) { return 27 /* LessThanToken */; } @@ -98199,7 +98797,7 @@ var ts; return 19 /* OpenParenToken */; } break; - case 161 /* TypeReference */: + case 162 /* TypeReference */: if (node.typeArguments === list) { return 27 /* LessThanToken */; } @@ -98316,7 +98914,7 @@ var ts; if (options.indentStyle === ts.IndentStyle.Block) { return getBlockIndent(sourceFile, position, options); } - if (precedingToken.kind === 26 /* CommaToken */ && precedingToken.parent.kind !== 199 /* BinaryExpression */) { + if (precedingToken.kind === 26 /* CommaToken */ && precedingToken.parent.kind !== 200 /* BinaryExpression */) { // previous token is comma that separates items in list - find the previous item and try to derive indentation from it var actualIndentation = getActualIndentationForListItemBeforeComma(precedingToken, sourceFile, options); if (actualIndentation !== -1 /* Unknown */) { @@ -98368,7 +98966,7 @@ var ts; // handle cases when codefix is about to be inserted before the close brace ? assumeNewLineBeforeCloseBrace && nextTokenKind === 2 /* CloseBrace */ ? options.indentSize : 0 : lineAtPosition !== currentStart.line ? options.indentSize : 0; - return getIndentationForNodeWorker(current, currentStart, /*ignoreActualIndentationRange*/ undefined, indentationDelta, sourceFile, /*isNextChild*/ true, options); + return getIndentationForNodeWorker(current, currentStart, /*ignoreActualIndentationRange*/ undefined, indentationDelta, sourceFile, /*isNextChild*/ true, options); // TODO: GH#18217 } // check if current node is a list item - if yes, take indentation from it var actualIndentation = getActualIndentationForListItem(current, sourceFile, options); @@ -98377,7 +98975,7 @@ var ts; } actualIndentation = getLineIndentationWhenExpressionIsInMultiLine(current, sourceFile, options); if (actualIndentation !== -1 /* Unknown */) { - return actualIndentation + options.indentSize; + return actualIndentation + options.indentSize; // TODO: GH#18217 } previous = current; current = current.parent; @@ -98472,7 +99070,7 @@ var ts; // - parent is SourceFile - by default immediate children of SourceFile are not indented except when user indents them manually // - parent and child are not on the same line var useActualIndentation = (ts.isDeclaration(current) || ts.isStatementButNotDeclaration(current)) && - (parent.kind === 273 /* SourceFile */ || !parentAndChildShareLine); + (parent.kind === 274 /* SourceFile */ || !parentAndChildShareLine); if (!useActualIndentation) { return -1 /* Unknown */; } @@ -98520,7 +99118,7 @@ var ts; } SmartIndenter.isArgumentAndStartLineOverlapsExpressionBeingCalled = isArgumentAndStartLineOverlapsExpressionBeingCalled; function childStartsOnTheSameLineWithElseInIfStatement(parent, child, childStartLine, sourceFile) { - if (parent.kind === 216 /* IfStatement */ && parent.elseStatement === child) { + if (parent.kind === 217 /* IfStatement */ && parent.elseStatement === child) { var elseKeyword = ts.findChildOfKind(parent, 82 /* ElseKeyword */, sourceFile); ts.Debug.assert(elseKeyword !== undefined); var elseKeywordStartLine = getStartLineAndCharacterForNode(elseKeyword, sourceFile).line; @@ -98536,40 +99134,40 @@ var ts; if (node.parent) { var end = node.end; switch (node.parent.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return getListIfStartEndIsInListRange(node.parent.typeArguments, node.getStart(sourceFile), end); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return node.parent.properties; - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return node.parent.elements; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 154 /* Constructor */: - case 163 /* ConstructorType */: - case 158 /* ConstructSignature */: { + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 155 /* Constructor */: + case 164 /* ConstructorType */: + case 159 /* ConstructSignature */: { var start = node.getStart(sourceFile); return getListIfStartEndIsInListRange(node.parent.typeParameters, start, end) || getListIfStartEndIsInListRange(node.parent.parameters, start, end); } - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return getListIfStartEndIsInListRange(node.parent.typeParameters, node.getStart(sourceFile), end); - case 187 /* NewExpression */: - case 186 /* CallExpression */: { + case 188 /* NewExpression */: + case 187 /* CallExpression */: { var start = node.getStart(sourceFile); return getListIfStartEndIsInListRange(node.parent.typeArguments, start, end) || getListIfStartEndIsInListRange(node.parent.arguments, start, end); } - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return getListIfStartEndIsInListRange(node.parent.declarations, node.getStart(sourceFile), end); - case 246 /* NamedImports */: - case 250 /* NamedExports */: + case 247 /* NamedImports */: + case 251 /* NamedExports */: return getListIfStartEndIsInListRange(node.parent.elements, node.getStart(sourceFile), end); - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: return getListIfStartEndIsInListRange(node.parent.elements, node.getStart(sourceFile), end); } } @@ -98609,10 +99207,10 @@ var ts; function getStartingExpression(node) { while (true) { switch (node.kind) { - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: node = node.expression; break; default: @@ -98674,91 +99272,89 @@ var ts; return findFirstNonWhitespaceCharacterAndColumn(startPos, endPos, sourceFile, options).column; } SmartIndenter.findFirstNonWhitespaceColumn = findFirstNonWhitespaceColumn; - function nodeContentIsAlwaysIndented(kind) { - switch (kind) { - case 215 /* ExpressionStatement */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 182 /* ArrayLiteralExpression */: - case 212 /* Block */: - case 239 /* ModuleBlock */: - case 183 /* ObjectLiteralExpression */: - case 165 /* TypeLiteral */: - case 176 /* MappedType */: - case 167 /* TupleType */: - case 240 /* CaseBlock */: - case 266 /* DefaultClause */: - case 265 /* CaseClause */: - case 190 /* ParenthesizedExpression */: - case 184 /* PropertyAccessExpression */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 213 /* VariableStatement */: - case 231 /* VariableDeclaration */: - case 248 /* ExportAssignment */: - case 224 /* ReturnStatement */: - case 200 /* ConditionalExpression */: - case 180 /* ArrayBindingPattern */: - case 179 /* ObjectBindingPattern */: - case 256 /* JsxOpeningElement */: - case 259 /* JsxOpeningFragment */: - case 255 /* JsxSelfClosingElement */: - case 264 /* JsxExpression */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 148 /* Parameter */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 172 /* ParenthesizedType */: - case 188 /* TaggedTemplateExpression */: - case 196 /* AwaitExpression */: - case 250 /* NamedExports */: - case 246 /* NamedImports */: - case 251 /* ExportSpecifier */: - case 247 /* ImportSpecifier */: - case 269 /* PropertyAssignment */: - case 151 /* PropertyDeclaration */: - return true; - } - return false; - } function nodeWillIndentChild(settings, parent, child, sourceFile, indentByDefault) { var childKind = child ? child.kind : 0 /* Unknown */; switch (parent.kind) { - case 231 /* VariableDeclaration */: - case 269 /* PropertyAssignment */: - case 183 /* ObjectLiteralExpression */: - if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 183 /* ObjectLiteralExpression */) { + case 216 /* ExpressionStatement */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 183 /* ArrayLiteralExpression */: + case 213 /* Block */: + case 240 /* ModuleBlock */: + case 184 /* ObjectLiteralExpression */: + case 166 /* TypeLiteral */: + case 177 /* MappedType */: + case 168 /* TupleType */: + case 241 /* CaseBlock */: + case 267 /* DefaultClause */: + case 266 /* CaseClause */: + case 191 /* ParenthesizedExpression */: + case 185 /* PropertyAccessExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 214 /* VariableStatement */: + case 249 /* ExportAssignment */: + case 225 /* ReturnStatement */: + case 201 /* ConditionalExpression */: + case 181 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 257 /* JsxOpeningElement */: + case 260 /* JsxOpeningFragment */: + case 256 /* JsxSelfClosingElement */: + case 265 /* JsxExpression */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 149 /* Parameter */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 173 /* ParenthesizedType */: + case 189 /* TaggedTemplateExpression */: + case 197 /* AwaitExpression */: + case 251 /* NamedExports */: + case 247 /* NamedImports */: + case 252 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 152 /* PropertyDeclaration */: + return true; + case 232 /* VariableDeclaration */: + case 270 /* PropertyAssignment */: + if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 184 /* ObjectLiteralExpression */) { // TODO: GH#18217 return rangeIsOnOneLine(sourceFile, child); } - break; - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 219 /* ForStatement */: - case 216 /* IfStatement */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 192 /* ArrowFunction */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - return childKind !== 212 /* Block */; - case 249 /* ExportDeclaration */: - return childKind !== 250 /* NamedExports */; - case 243 /* ImportDeclaration */: - return childKind !== 244 /* ImportClause */ || - (!!child.namedBindings && child.namedBindings.kind !== 246 /* NamedImports */); - case 254 /* JsxElement */: - return childKind !== 257 /* JsxClosingElement */; - case 258 /* JsxFragment */: - return childKind !== 260 /* JsxClosingFragment */; + return true; + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 220 /* ForStatement */: + case 217 /* IfStatement */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 193 /* ArrowFunction */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + return childKind !== 213 /* Block */; + case 250 /* ExportDeclaration */: + return childKind !== 251 /* NamedExports */; + case 244 /* ImportDeclaration */: + return childKind !== 245 /* ImportClause */ || + (!!child.namedBindings && child.namedBindings.kind !== 247 /* NamedImports */); + case 255 /* JsxElement */: + return childKind !== 258 /* JsxClosingElement */; + case 259 /* JsxFragment */: + return childKind !== 261 /* JsxClosingFragment */; + case 170 /* IntersectionType */: + case 169 /* UnionType */: + if (childKind === 166 /* TypeLiteral */) { + return false; + } + // falls through } // No explicit rule for given nodes so the result will follow the default value argument return indentByDefault; @@ -98766,17 +99362,17 @@ var ts; SmartIndenter.nodeWillIndentChild = nodeWillIndentChild; function isControlFlowEndingStatement(kind, parent) { switch (kind) { - case 224 /* ReturnStatement */: - case 228 /* ThrowStatement */: { - if (parent.kind !== 212 /* Block */) { + case 225 /* ReturnStatement */: + case 229 /* ThrowStatement */: { + if (parent.kind !== 213 /* Block */) { return true; } var grandParent = parent.parent; // In a function, we may want to write inner functions after this. - return !(grandParent && grandParent.kind === 191 /* FunctionExpression */ || grandParent.kind === 233 /* FunctionDeclaration */); + return !(grandParent && grandParent.kind === 192 /* FunctionExpression */ || grandParent.kind === 234 /* FunctionDeclaration */); } - case 222 /* ContinueStatement */: - case 223 /* BreakStatement */: + case 223 /* ContinueStatement */: + case 224 /* BreakStatement */: return true; default: return false; @@ -98788,7 +99384,7 @@ var ts; */ function shouldIndentChildNode(settings, parent, child, sourceFile, isNextChild) { if (isNextChild === void 0) { isNextChild = false; } - return (nodeContentIsAlwaysIndented(parent.kind) || nodeWillIndentChild(settings, parent, child, sourceFile, /*indentByDefault*/ false)) + return nodeWillIndentChild(settings, parent, child, sourceFile, /*indentByDefault*/ false) && !(isNextChild && child && isControlFlowEndingStatement(child.kind, parent)); } SmartIndenter.shouldIndentChildNode = shouldIndentChildNode; @@ -98905,7 +99501,7 @@ var ts; * Checks if 'candidate' argument is a legal separator in the list that contains 'node' as an element */ function isSeparator(node, candidate) { - return candidate && node.parent && (candidate.kind === 26 /* CommaToken */ || (candidate.kind === 25 /* SemicolonToken */ && node.parent.kind === 183 /* ObjectLiteralExpression */)); + return !!candidate && !!node.parent && (candidate.kind === 26 /* CommaToken */ || (candidate.kind === 25 /* SemicolonToken */ && node.parent.kind === 184 /* ObjectLiteralExpression */)); } function spaces(count) { var s = ""; @@ -98951,6 +99547,12 @@ var ts; this.deleteRange(sourceFile, { pos: startPosition, end: endPosition }); return this; }; + ChangeTracker.prototype.deleteNodeRangeExcludingEnd = function (sourceFile, startNode, afterEndNode, options) { + if (options === void 0) { options = {}; } + var startPosition = getAdjustedStartPosition(sourceFile, startNode, options, Position.FullStart); + var endPosition = afterEndNode === undefined ? sourceFile.text.length : getAdjustedStartPosition(sourceFile, afterEndNode, options, Position.FullStart); + this.deleteRange(sourceFile, { pos: startPosition, end: endPosition }); + }; ChangeTracker.prototype.deleteNodeInList = function (sourceFile, node) { var containingList = ts.formatting.SmartIndenter.getContainingList(node, sourceFile); if (!containingList) { @@ -99064,7 +99666,7 @@ var ts; } } else { - endNode = node.kind !== 231 /* VariableDeclaration */ && node.questionToken ? node.questionToken : node.name; + endNode = node.kind !== 232 /* VariableDeclaration */ && node.questionToken ? node.questionToken : node.name; } this.insertNodeAt(sourceFile, endNode.end, type, { prefix: ": " }); }; @@ -99168,7 +99770,7 @@ var ts; else if (ts.isStatement(node) || ts.isClassOrTypeElement(node)) { return { suffix: this.newLineCharacter }; } - else if (ts.isVariableDeclaration(node)) { + else if (ts.isVariableDeclaration(node) || ts.isStringLiteral(node)) { return { prefix: ", " }; } else if (ts.isPropertyAssignment(node)) { @@ -99181,7 +99783,7 @@ var ts; }; ChangeTracker.prototype.insertName = function (sourceFile, node, name) { ts.Debug.assert(!node.name); - if (node.kind === 192 /* ArrowFunction */) { + if (node.kind === 193 /* ArrowFunction */) { var arrow = ts.findChildOfKind(node, 36 /* EqualsGreaterThanToken */, sourceFile); var lparen = ts.findChildOfKind(node, 19 /* OpenParenToken */, sourceFile); if (lparen) { @@ -99195,14 +99797,14 @@ var ts; // Replacing full range of arrow to get rid of the leading space -- replace ` =>` with `)` this.replaceRange(sourceFile, arrow, ts.createToken(20 /* CloseParenToken */)); } - if (node.body.kind !== 212 /* Block */) { + if (node.body.kind !== 213 /* Block */) { // `() => 0` => `function f() { return 0; }` this.insertNodesAt(sourceFile, node.body.getStart(sourceFile), [ts.createToken(17 /* OpenBraceToken */), ts.createToken(96 /* ReturnKeyword */)], { joiner: " ", suffix: " " }); this.insertNodesAt(sourceFile, node.body.end, [ts.createToken(25 /* SemicolonToken */), ts.createToken(18 /* CloseBraceToken */)], { joiner: " " }); } } else { - var pos = ts.findChildOfKind(node, node.kind === 191 /* FunctionExpression */ ? 89 /* FunctionKeyword */ : 75 /* ClassKeyword */, sourceFile).end; + var pos = ts.findChildOfKind(node, node.kind === 192 /* FunctionExpression */ ? 89 /* FunctionKeyword */ : 75 /* ClassKeyword */, sourceFile).end; this.insertNodeAt(sourceFile, pos, ts.createIdentifier(name), { prefix: " " }); } }; @@ -99358,7 +99960,7 @@ var ts; var changes = changesToText.getTextChangesFromChanges(this.changes, this.newLineCharacter, this.formatContext, validate); for (var _i = 0, _a = this.newFiles; _i < _a.length; _i++) { var _b = _a[_i], oldFile = _b.oldFile, fileName = _b.fileName, statements = _b.statements; - changes.push(changesToText.newFileChanges(oldFile, fileName, statements, this.newLineCharacter)); + changes.push(changesToText.newFileChanges(oldFile, fileName, statements, this.newLineCharacter, this.formatContext)); } return changes; }; @@ -99383,14 +99985,14 @@ var ts; // order changes by start position // If the start position is the same, put the shorter range first, since an empty range (x, x) may precede (x, y) but not vice-versa. var normalized = ts.stableSort(changesInFile, function (a, b) { return (a.range.pos - b.range.pos) || (a.range.end - b.range.end); }); - var _loop_18 = function (i) { + var _loop_21 = function (i) { ts.Debug.assert(normalized[i].range.end <= normalized[i + 1].range.pos, "Changes overlap", function () { return JSON.stringify(normalized[i].range) + " and " + JSON.stringify(normalized[i + 1].range); }); }; // verify that change intervals do not overlap, except possibly at end points. for (var i = 0; i < normalized.length - 1; i++) { - _loop_18(i); + _loop_21(i); } var textChanges = normalized.map(function (c) { return ts.createTextChange(ts.createTextSpanFromRange(c.range), computeNewText(c, sourceFile, newLineCharacter, formatContext, validate)); @@ -99399,8 +100001,12 @@ var ts; }); } changesToText.getTextChangesFromChanges = getTextChangesFromChanges; - function newFileChanges(oldFile, fileName, statements, newLineCharacter) { - var text = statements.map(function (s) { return getNonformattedText(s, oldFile, newLineCharacter).text; }).join(newLineCharacter); + function newFileChanges(oldFile, fileName, statements, newLineCharacter, formatContext) { + // TODO: this emits the file, parses it back, then formats it that -- may be a less roundabout way to do this + var nonFormattedText = statements.map(function (s) { return getNonformattedText(s, oldFile, newLineCharacter).text; }).join(newLineCharacter); + var sourceFile = ts.createSourceFile(fileName, nonFormattedText, 6 /* ESNext */); + var changes = ts.formatting.formatDocument(sourceFile, formatContext); + var text = applyChanges(nonFormattedText, changes); return { fileName: fileName, textChanges: [ts.createTextChange(ts.createTextSpan(0, 0), text)], isNewFile: true }; } changesToText.newFileChanges = newFileChanges; @@ -99414,7 +100020,7 @@ var ts; var _a = change.options, options = _a === void 0 ? {} : _a, pos = change.range.pos; var format = function (n) { return getFormattedTextOfNode(n, sourceFile, pos, options, newLineCharacter, formatContext, validate); }; var text = change.kind === ChangeKind.ReplaceWithMultipleNodes - ? change.nodes.map(function (n) { return ts.removeSuffix(format(n), newLineCharacter); }).join(change.options.joiner || newLineCharacter) + ? change.nodes.map(function (n) { return ts.removeSuffix(format(n), newLineCharacter); }).join(change.options.joiner || newLineCharacter) // TODO: GH#18217 : format(change.node); // strip initial indentation (spaces or tabs) if text will be inserted in the middle of the line var noIndent = (options.preserveLeadingWhitespace || options.indentation !== undefined || ts.getLineStartPositionForPosition(pos, sourceFile) === pos) ? text : text.replace(/^\s+/, ""); @@ -99457,7 +100063,7 @@ var ts; return ts.skipTrivia(s, 0) === s.length; } function assignPositionsToNode(node) { - var visited = ts.visitEachChild(node, assignPositionsToNode, ts.nullTransformationContext, assignPositionsToNodeArray, assignPositionsToNode); + var visited = ts.visitEachChild(node, assignPositionsToNode, ts.nullTransformationContext, assignPositionsToNodeArray, assignPositionsToNode); // TODO: GH#18217 // create proxy node for non synthesized nodes var newNode = ts.nodeIsSynthesized(visited) ? visited : Object.create(visited); newNode.pos = getPos(node); @@ -99647,7 +100253,7 @@ var ts; } textChanges_3.isValidLocationToAddComment = isValidLocationToAddComment; function needSemicolonBetween(a, b) { - return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 146 /* ComputedPropertyName */ + return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 147 /* ComputedPropertyName */ || ts.isStatementButNotDeclaration(a) && ts.isStatementButNotDeclaration(b); // TODO: only if b would start with a `(` or `[` } })(textChanges = ts.textChanges || (ts.textChanges = {})); @@ -99718,8 +100324,8 @@ var ts; } codefix.codeFixAll = codeFixAll; function eachDiagnostic(_a, errorCodes, cb) { - var program = _a.program, sourceFile = _a.sourceFile; - for (var _i = 0, _b = program.getSemanticDiagnostics(sourceFile).concat(ts.computeSuggestionDiagnostics(sourceFile, program)); _i < _b.length; _i++) { + var program = _a.program, sourceFile = _a.sourceFile, cancellationToken = _a.cancellationToken; + for (var _i = 0, _b = program.getSemanticDiagnostics(sourceFile, cancellationToken).concat(ts.computeSuggestionDiagnostics(sourceFile, program, cancellationToken)); _i < _b.length; _i++) { var diag = _b[_i]; if (ts.contains(errorCodes, diag.code)) { cb(diag); @@ -99855,29 +100461,29 @@ var ts; } function isDeclarationWithType(node) { return ts.isFunctionLikeDeclaration(node) || - node.kind === 231 /* VariableDeclaration */ || - node.kind === 150 /* PropertySignature */ || - node.kind === 151 /* PropertyDeclaration */; + node.kind === 232 /* VariableDeclaration */ || + node.kind === 151 /* PropertySignature */ || + node.kind === 152 /* PropertyDeclaration */; } function transformJSDocType(node) { switch (node.kind) { - case 278 /* JSDocAllType */: - case 279 /* JSDocUnknownType */: + case 279 /* JSDocAllType */: + case 280 /* JSDocUnknownType */: return ts.createTypeReferenceNode("any", ts.emptyArray); - case 282 /* JSDocOptionalType */: + case 283 /* JSDocOptionalType */: return transformJSDocOptionalType(node); - case 281 /* JSDocNonNullableType */: + case 282 /* JSDocNonNullableType */: return transformJSDocType(node.type); - case 280 /* JSDocNullableType */: + case 281 /* JSDocNullableType */: return transformJSDocNullableType(node); - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: return transformJSDocVariadicType(node); - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: return transformJSDocFunctionType(node); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return transformJSDocTypeReference(node); default: - var visited = ts.visitEachChild(node, transformJSDocType, /*context*/ undefined); + var visited = ts.visitEachChild(node, transformJSDocType, /*context*/ undefined); // TODO: GH#18217 ts.setEmitFlags(visited, 1 /* SingleLine */); return visited; } @@ -99896,7 +100502,7 @@ var ts; } function transformJSDocParameter(node) { var index = node.parent.parameters.indexOf(node); - var isRest = node.type.kind === 284 /* JSDocVariadicType */ && index === node.parent.parameters.length - 1; + var isRest = node.type.kind === 285 /* JSDocVariadicType */ && index === node.parent.parameters.length - 1; // TODO: GH#18217 var name = node.name || (isRest ? "rest" : "arg" + index); var dotdotdot = isRest ? ts.createToken(24 /* DotDotDotToken */) : node.dotDotDotToken; return ts.createParameter(node.decorators, node.modifiers, dotdotdot, name, node.questionToken, ts.visitNode(node.type, transformJSDocType), node.initializer); @@ -99972,16 +100578,16 @@ var ts; var precedingNode; var newClassDeclaration; switch (ctorDeclaration.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: precedingNode = ctorDeclaration; deleteNode(ctorDeclaration); newClassDeclaration = createClassFromFunctionDeclaration(ctorDeclaration); break; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: precedingNode = ctorDeclaration.parent.parent; newClassDeclaration = createClassFromVariableDeclaration(ctorDeclaration); if (ctorDeclaration.parent.declarations.length === 1) { - copyComments(precedingNode, newClassDeclaration, sourceFile); + copyComments(precedingNode, newClassDeclaration, sourceFile); // TODO: GH#18217 deleteNode(precedingNode); } else { @@ -100048,7 +100654,7 @@ var ts; return; } // delete the entire statement if this expression is the sole expression to take care of the semicolon at the end - var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 215 /* ExpressionStatement */ + var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 216 /* ExpressionStatement */ ? assignmentBinaryExpression.parent : assignmentBinaryExpression; deleteNode(nodeToDelete); if (!assignmentBinaryExpression.right) { @@ -100056,7 +100662,7 @@ var ts; /*type*/ undefined, /*initializer*/ undefined); } switch (assignmentBinaryExpression.right.kind) { - case 191 /* FunctionExpression */: { + case 192 /* FunctionExpression */: { var functionExpression = assignmentBinaryExpression.right; var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(functionExpression, 120 /* AsyncKeyword */)); var method = ts.createMethod(/*decorators*/ undefined, fullModifiers, /*asteriskToken*/ undefined, memberDeclaration.name, /*questionToken*/ undefined, @@ -100064,12 +100670,12 @@ var ts; copyComments(assignmentBinaryExpression, method, sourceFile); return method; } - case 192 /* ArrowFunction */: { + case 193 /* ArrowFunction */: { var arrowFunction = assignmentBinaryExpression.right; var arrowFunctionBody = arrowFunction.body; var bodyBlock = void 0; // case 1: () => { return [1,2,3] } - if (arrowFunctionBody.kind === 212 /* Block */) { + if (arrowFunctionBody.kind === 213 /* Block */) { bodyBlock = arrowFunctionBody; } // case 2: () => [1,2,3] @@ -100097,13 +100703,13 @@ var ts; } function createClassFromVariableDeclaration(node) { var initializer = node.initializer; - if (!initializer || initializer.kind !== 191 /* FunctionExpression */) { + if (!initializer || initializer.kind !== 192 /* FunctionExpression */) { return undefined; } if (node.name.kind !== 71 /* Identifier */) { return undefined; } - var memberElements = createClassElementsFromSymbol(initializer.symbol); + var memberElements = createClassElementsFromSymbol(node.symbol); if (initializer.body) { memberElements.unshift(ts.createConstructor(/*decorators*/ undefined, /*modifiers*/ undefined, initializer.parameters, initializer.body)); } @@ -100153,13 +100759,13 @@ var ts; codefix.registerCodeFix({ errorCodes: [ts.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module.code], getCodeActions: function (context) { - var sourceFile = context.sourceFile, program = context.program; + var sourceFile = context.sourceFile, program = context.program, preferences = context.preferences; var changes = ts.textChanges.ChangeTracker.with(context, function (changes) { - var moduleExportsChangedToDefault = convertFileToEs6Module(sourceFile, program.getTypeChecker(), changes, program.getCompilerOptions().target); + var moduleExportsChangedToDefault = convertFileToEs6Module(sourceFile, program.getTypeChecker(), changes, program.getCompilerOptions().target, preferences); if (moduleExportsChangedToDefault) { for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { var importingFile = _a[_i]; - fixImportOfModuleExports(importingFile, sourceFile, changes); + fixImportOfModuleExports(importingFile, sourceFile, changes, preferences); } } }); @@ -100167,7 +100773,7 @@ var ts; return [codefix.createCodeFixActionNoFixId("convertToEs6Module", changes, ts.Diagnostics.Convert_to_ES6_module)]; }, }); - function fixImportOfModuleExports(importingFile, exportingFile, changes) { + function fixImportOfModuleExports(importingFile, exportingFile, changes, preferences) { for (var _i = 0, _a = importingFile.imports; _i < _a.length; _i++) { var moduleSpecifier = _a[_i]; var imported = ts.getResolvedModule(importingFile, moduleSpecifier.text); @@ -100176,10 +100782,10 @@ var ts; } var importNode = ts.importFromModuleSpecifier(moduleSpecifier); switch (importNode.kind) { - case 242 /* ImportEqualsDeclaration */: - changes.replaceNode(importingFile, importNode, ts.makeImport(importNode.name, /*namedImports*/ undefined, moduleSpecifier)); + case 243 /* ImportEqualsDeclaration */: + changes.replaceNode(importingFile, importNode, ts.makeImport(importNode.name, /*namedImports*/ undefined, moduleSpecifier, preferences)); break; - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (ts.isRequireCall(importNode, /*checkArgumentIsStringLiteralLike*/ false)) { changes.replaceNode(importingFile, importNode, ts.createPropertyAccess(ts.getSynthesizedDeepClone(importNode), "default")); } @@ -100188,14 +100794,14 @@ var ts; } } /** @returns Whether we converted a `module.exports =` to a default export. */ - function convertFileToEs6Module(sourceFile, checker, changes, target) { + function convertFileToEs6Module(sourceFile, checker, changes, target, preferences) { var identifiers = { original: collectFreeIdentifiers(sourceFile), additional: ts.createMap() }; var exports = collectExportRenames(sourceFile, checker, identifiers); convertExportsAccesses(sourceFile, exports, changes); var moduleExportsChangedToDefault = false; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var statement = _a[_i]; - var moduleExportsChanged = convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports); + var moduleExportsChanged = convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports, preferences); moduleExportsChangedToDefault = moduleExportsChangedToDefault || moduleExportsChanged; } return moduleExportsChangedToDefault; @@ -100230,22 +100836,22 @@ var ts; node.forEachChild(recur); }); } - function convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports) { + function convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports, preferences) { switch (statement.kind) { - case 213 /* VariableStatement */: - convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target); + case 214 /* VariableStatement */: + convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target, preferences); return false; - case 215 /* ExpressionStatement */: { + case 216 /* ExpressionStatement */: { var expression = statement.expression; switch (expression.kind) { - case 186 /* CallExpression */: { + case 187 /* CallExpression */: { if (ts.isRequireCall(expression, /*checkArgumentIsStringLiteralLike*/ true)) { // For side-effecting require() call, just make a side-effecting import. - changes.replaceNode(sourceFile, statement, ts.makeImport(/*name*/ undefined, /*namedImports*/ undefined, expression.arguments[0])); + changes.replaceNode(sourceFile, statement, ts.makeImport(/*name*/ undefined, /*namedImports*/ undefined, expression.arguments[0], preferences)); } return false; } - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var operatorToken = expression.operatorToken; return operatorToken.kind === 58 /* EqualsToken */ && convertAssignment(sourceFile, checker, expression, changes, exports); } @@ -100256,7 +100862,7 @@ var ts; return false; } } - function convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target) { + function convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target, preferences) { var declarationList = statement.declarationList; var foundImport = false; var newNodes = ts.flatMap(declarationList.declarations, function (decl) { @@ -100269,11 +100875,11 @@ var ts; } else if (ts.isRequireCall(initializer, /*checkArgumentIsStringLiteralLike*/ true)) { foundImport = true; - return convertSingleImport(sourceFile, name, initializer.arguments[0], changes, checker, identifiers, target); + return convertSingleImport(sourceFile, name, initializer.arguments[0], changes, checker, identifiers, target, preferences); } else if (ts.isPropertyAccessExpression(initializer) && ts.isRequireCall(initializer.expression, /*checkArgumentIsStringLiteralLike*/ true)) { foundImport = true; - return convertPropertyAccessImport(name, initializer.name.text, initializer.expression.arguments[0], identifiers); + return convertPropertyAccessImport(name, initializer.name.text, initializer.expression.arguments[0], identifiers, preferences); } } // Move it out to its own variable statement. (This will not be used if `!foundImport`) @@ -100285,22 +100891,22 @@ var ts; } } /** Converts `const name = require("moduleSpecifier").propertyName` */ - function convertPropertyAccessImport(name, propertyName, moduleSpecifier, identifiers) { + function convertPropertyAccessImport(name, propertyName, moduleSpecifier, identifiers, preferences) { switch (name.kind) { - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: { + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: { // `const [a, b] = require("c").d` --> `import { d } from "c"; const [a, b] = d;` var tmp = makeUniqueName(propertyName, identifiers); return [ - makeSingleImport(tmp, propertyName, moduleSpecifier), + makeSingleImport(tmp, propertyName, moduleSpecifier, preferences), makeConst(/*modifiers*/ undefined, name, ts.createIdentifier(tmp)), ]; } case 71 /* Identifier */: // `const a = require("b").c` --> `import { c as a } from "./b"; - return [makeSingleImport(name.text, propertyName, moduleSpecifier)]; + return [makeSingleImport(name.text, propertyName, moduleSpecifier, preferences)]; default: - ts.Debug.assertNever(name); + return ts.Debug.assertNever(name); } } function convertAssignment(sourceFile, checker, assignment, changes, exports) { @@ -100339,15 +100945,15 @@ var ts; function tryChangeModuleExportsObject(object) { var statements = ts.mapAllOrFail(object.properties, function (prop) { switch (prop.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // TODO: Maybe we should handle this? See fourslash test `refactorConvertToEs6Module_export_object_shorthand.ts`. - case 270 /* ShorthandPropertyAssignment */: - case 271 /* SpreadAssignment */: + case 271 /* ShorthandPropertyAssignment */: + case 272 /* SpreadAssignment */: return undefined; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return !ts.isIdentifier(prop.name) ? undefined : convertExportsDotXEquals_replaceNode(prop.name.text, prop.initializer); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return !ts.isIdentifier(prop.name) ? undefined : functionExpressionToDeclaration(prop.name.text, [ts.createToken(84 /* ExportKeyword */)], prop); default: ts.Debug.assertNever(prop); @@ -100413,7 +101019,7 @@ var ts; function convertExportsDotXEquals_replaceNode(name, exported) { var modifiers = [ts.createToken(84 /* ExportKeyword */)]; switch (exported.kind) { - case 191 /* FunctionExpression */: { + case 192 /* FunctionExpression */: { var expressionName = exported.name; if (expressionName && expressionName.text !== name) { // `exports.f = function g() {}` -> `export const f = function g() {}` @@ -100421,10 +101027,10 @@ var ts; } } // falls through - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: // `exports.f = function() {}` --> `export function f() {}` return functionExpressionToDeclaration(name, modifiers, exported); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: // `exports.C = class {}` --> `export class C {}` return classExpressionToDeclaration(name, modifiers, exported); default: @@ -100432,7 +101038,7 @@ var ts; } function exportConst() { // `exports.x = 0;` --> `export const x = 0;` - return makeConst(modifiers, ts.createIdentifier(name), exported); + return makeConst(modifiers, ts.createIdentifier(name), exported); // TODO: GH#18217 } } /** @@ -100440,41 +101046,41 @@ var ts; * Returns nodes that will replace the variable declaration for the commonjs import. * May also make use `changes` to remove qualifiers at the use sites of imports, to change `mod.x` to `x`. */ - function convertSingleImport(file, name, moduleSpecifier, changes, checker, identifiers, target) { + function convertSingleImport(file, name, moduleSpecifier, changes, checker, identifiers, target, preferences) { switch (name.kind) { - case 179 /* ObjectBindingPattern */: { + case 180 /* ObjectBindingPattern */: { var importSpecifiers = ts.mapAllOrFail(name.elements, function (e) { return e.dotDotDotToken || e.initializer || e.propertyName && !ts.isIdentifier(e.propertyName) || !ts.isIdentifier(e.name) ? undefined : makeImportSpecifier(e.propertyName && e.propertyName.text, e.name.text); - }); + }); // tslint:disable-line no-unnecessary-type-assertion (TODO: GH#18217) if (importSpecifiers) { - return [ts.makeImport(/*name*/ undefined, importSpecifiers, moduleSpecifier)]; + return [ts.makeImport(/*name*/ undefined, importSpecifiers, moduleSpecifier, preferences)]; } } // falls through -- object destructuring has an interesting pattern and must be a variable declaration - case 180 /* ArrayBindingPattern */: { + case 181 /* ArrayBindingPattern */: { /* import x from "x"; const [a, b, c] = x; */ var tmp = makeUniqueName(codefix.moduleSpecifierToValidIdentifier(moduleSpecifier.text, target), identifiers); return [ - ts.makeImport(ts.createIdentifier(tmp), /*namedImports*/ undefined, moduleSpecifier), + ts.makeImport(ts.createIdentifier(tmp), /*namedImports*/ undefined, moduleSpecifier, preferences), makeConst(/*modifiers*/ undefined, ts.getSynthesizedDeepClone(name), ts.createIdentifier(tmp)), ]; } case 71 /* Identifier */: - return convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers); + return convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers, preferences); default: - ts.Debug.assertNever(name); + return ts.Debug.assertNever(name); } } /** * Convert `import x = require("x").` * Also converts uses like `x.y()` to `y()` and uses a named import. */ - function convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers) { + function convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers, preferences) { var nameSymbol = checker.getSymbolAtLocation(name); // Maps from module property name to name actually used. (The same if there isn't shadowing.) var namedBindingsNames = ts.createMap(); @@ -100509,7 +101115,7 @@ var ts; // If it was unused, ensure that we at least import *something*. needDefaultImport = true; } - return [ts.makeImport(needDefaultImport ? ts.getSynthesizedDeepClone(name) : undefined, namedBindings, moduleSpecifier)]; + return [ts.makeImport(needDefaultImport ? ts.getSynthesizedDeepClone(name) : undefined, namedBindings, moduleSpecifier, preferences)]; } // Identifiers helpers function makeUniqueName(name, identifiers) { @@ -100521,20 +101127,26 @@ var ts; } function collectFreeIdentifiers(file) { var map = ts.createMultiMap(); - file.forEachChild(function recur(node) { - if (ts.isIdentifier(node) && isFreeIdentifier(node)) { - map.add(node.text, node); - } - node.forEachChild(recur); - }); + forEachFreeIdentifier(file, function (id) { return map.add(id.text, id); }); return map; } + /** + * A free identifier is an identifier that can be accessed through name lookup as a local variable. + * In the expression `x.y`, `x` is a free identifier, but `y` is not. + */ + function forEachFreeIdentifier(node, cb) { + if (ts.isIdentifier(node) && isFreeIdentifier(node)) + cb(node); + node.forEachChild(function (child) { return forEachFreeIdentifier(child, cb); }); + } function isFreeIdentifier(node) { var parent = node.parent; switch (parent.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return parent.name !== node; - case 181 /* BindingElement */: + case 182 /* BindingElement */: + return parent.propertyName !== node; + case 248 /* ImportSpecifier */: return parent.propertyName !== node; default: return true; @@ -100549,10 +101161,10 @@ var ts; return ts.createClassDeclaration(ts.getSynthesizedDeepClones(cls.decorators), // TODO: GH#19915 Don't think this is even legal. ts.concatenate(additionalModifiers, ts.getSynthesizedDeepClones(cls.modifiers)), name, ts.getSynthesizedDeepClones(cls.typeParameters), ts.getSynthesizedDeepClones(cls.heritageClauses), ts.getSynthesizedDeepClones(cls.members)); } - function makeSingleImport(localName, propertyName, moduleSpecifier) { + function makeSingleImport(localName, propertyName, moduleSpecifier, preferences) { return propertyName === "default" - ? ts.makeImport(ts.createIdentifier(localName), /*namedImports*/ undefined, moduleSpecifier) - : ts.makeImport(/*name*/ undefined, [makeImportSpecifier(propertyName, localName)], moduleSpecifier); + ? ts.makeImport(ts.createIdentifier(localName), /*namedImports*/ undefined, moduleSpecifier, preferences) + : ts.makeImport(/*name*/ undefined, [makeImportSpecifier(propertyName, localName)], moduleSpecifier, preferences); } function makeImportSpecifier(propertyName, name) { return ts.createImportSpecifier(propertyName !== undefined && propertyName !== name ? ts.createIdentifier(propertyName) : undefined, ts.createIdentifier(name)); @@ -100640,12 +101252,16 @@ var ts; function getClass(sourceFile, pos) { return ts.Debug.assertDefined(ts.getContainingClass(ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false))); } + function symbolPointsToNonPrivateMember(symbol) { + return !(ts.getModifierFlags(symbol.valueDeclaration) & 8 /* Private */); + } function addMissingDeclarations(checker, implementedTypeNode, sourceFile, classDeclaration, changeTracker, preferences) { + var maybeHeritageClauseSymbol = getHeritageClauseSymbolTable(classDeclaration, checker); // Note that this is ultimately derived from a map indexed by symbol names, // so duplicates cannot occur. var implementedType = checker.getTypeAtLocation(implementedTypeNode); var implementedTypeSymbols = checker.getPropertiesOfType(implementedType); - var nonPrivateMembers = implementedTypeSymbols.filter(function (symbol) { return !(ts.getModifierFlags(symbol.valueDeclaration) & 8 /* Private */); }); + var nonPrivateAndNotExistedInHeritageClauseMembers = implementedTypeSymbols.filter(ts.and(symbolPointsToNonPrivateMember, function (symbol) { return !maybeHeritageClauseSymbol.has(symbol.escapedName); })); var classType = checker.getTypeAtLocation(classDeclaration); if (!classType.getNumberIndexType()) { createMissingIndexSignatureDeclaration(implementedType, 1 /* Number */); @@ -100653,7 +101269,7 @@ var ts; if (!classType.getStringIndexType()) { createMissingIndexSignatureDeclaration(implementedType, 0 /* String */); } - codefix.createMissingMemberNodes(classDeclaration, nonPrivateMembers, checker, preferences, function (member) { return changeTracker.insertNodeAtClassStart(sourceFile, classDeclaration, member); }); + codefix.createMissingMemberNodes(classDeclaration, nonPrivateAndNotExistedInHeritageClauseMembers, checker, preferences, function (member) { return changeTracker.insertNodeAtClassStart(sourceFile, classDeclaration, member); }); function createMissingIndexSignatureDeclaration(type, kind) { var indexInfoOfKind = checker.getIndexInfoOfType(type, kind); if (indexInfoOfKind) { @@ -100661,6 +101277,14 @@ var ts; } } } + function getHeritageClauseSymbolTable(classDeclaration, checker) { + var heritageClauseNode = ts.getClassExtendsHeritageClauseElement(classDeclaration); + if (!heritageClauseNode) + return ts.createSymbolTable(); + var heritageClauseType = checker.getTypeAtLocation(heritageClauseNode); + var heritageClauseTypeSymbols = checker.getPropertiesOfType(heritageClauseType); + return ts.createSymbolTable(heritageClauseTypeSymbols.filter(symbolPointsToNonPrivateMember)); + } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); /* @internal */ @@ -100677,7 +101301,9 @@ var ts; ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code, ts.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here.code, ], - getCodeActions: getImportCodeActions, + getCodeActions: function (context) { return context.errorCode === ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code + ? getActionsForUMDImport(context) + : getActionsForNonUMDImport(context); }, // TODO: GH#20315 fixIds: [], getAllCodeActions: ts.notImplemented, @@ -100696,7 +101322,6 @@ var ts; program: program, checker: checker, compilerOptions: program.getCompilerOptions(), - cachedImportDeclarations: [], getCanonicalFileName: ts.createGetCanonicalFileName(ts.hostUsesCaseSensitiveFileNames(context.host)), symbolName: symbolName, symbolToken: symbolToken, @@ -100742,9 +101367,17 @@ var ts; return result; } function getCodeActionsForImport_separateExistingAndNew(exportInfos, context, useExisting, addNew) { - var existingImports = ts.flatMap(exportInfos, function (info) { - return getImportDeclarations(info, context.checker, context.sourceFile, context.cachedImportDeclarations); - }); + var existingImports = ts.flatMap(exportInfos, function (info) { return getExistingImportDeclarations(info, context.checker, context.sourceFile); }); + ts.append(useExisting, tryUseExistingNamespaceImport(existingImports, context, context.symbolToken, context.checker)); + var addToExisting = tryAddToExistingImport(existingImports, context); + if (addToExisting) { + useExisting.push(addToExisting); + } + else { // Don't bother providing an action to add a new import if we can add to an existing one. + getCodeActionsForAddImport(exportInfos, context, existingImports, addNew); + } + } + function tryUseExistingNamespaceImport(existingImports, context, symbolToken, checker) { // It is possible that multiple import statements with the same specifier exist in the file. // e.g. // @@ -100757,44 +101390,46 @@ var ts; // 1. change "member3" to "ns.member3" // 2. add "member3" to the second import statement's import list // and it is up to the user to decide which one fits best. - if (context.symbolToken && ts.isIdentifier(context.symbolToken)) { - for (var _i = 0, existingImports_1 = existingImports; _i < existingImports_1.length; _i++) { - var declaration = existingImports_1[_i].declaration; - var namespace_2 = getNamespaceImportName(declaration); - if (namespace_2) { - var moduleSymbol = context.checker.getAliasedSymbol(context.checker.getSymbolAtLocation(namespace_2)); - if (moduleSymbol && moduleSymbol.exports.has(ts.escapeLeadingUnderscores(context.symbolName))) { - useExisting.push(getCodeActionForUseExistingNamespaceImport(namespace_2.text, context, context.symbolToken)); - } + return !symbolToken || !ts.isIdentifier(symbolToken) ? undefined : ts.firstDefined(existingImports, function (_a) { + var declaration = _a.declaration; + var namespace = getNamespaceImportName(declaration); + if (namespace) { + var moduleSymbol = namespace && checker.getAliasedSymbol(checker.getSymbolAtLocation(namespace)); + if (moduleSymbol && moduleSymbol.exports.has(ts.escapeLeadingUnderscores(context.symbolName))) { + return getCodeActionForUseExistingNamespaceImport(namespace.text, context, symbolToken); } } - } - getCodeActionsForAddImport(exportInfos, context, existingImports, useExisting, addNew); + }); + } + function tryAddToExistingImport(existingImports, context) { + return ts.firstDefined(existingImports, function (_a) { + var declaration = _a.declaration, importKind = _a.importKind; + if (declaration.kind === 244 /* ImportDeclaration */ && declaration.importClause) { + var changes = tryUpdateExistingImport(context, declaration.importClause, importKind); + if (changes) { + var moduleSpecifierWithoutQuotes = ts.stripQuotes(declaration.moduleSpecifier.getText()); + return createCodeAction(ts.Diagnostics.Add_0_to_existing_import_declaration_from_1, [context.symbolName, moduleSpecifierWithoutQuotes], changes); + } + } + }); } function getNamespaceImportName(declaration) { - if (declaration.kind === 243 /* ImportDeclaration */) { + if (declaration.kind === 244 /* ImportDeclaration */) { var namedBindings = declaration.importClause && ts.isImportClause(declaration.importClause) && declaration.importClause.namedBindings; - return namedBindings && namedBindings.kind === 245 /* NamespaceImport */ ? namedBindings.name : undefined; + return namedBindings && namedBindings.kind === 246 /* NamespaceImport */ ? namedBindings.name : undefined; } else { return declaration.name; } } - // TODO(anhans): This doesn't seem important to cache... just use an iterator instead of creating a new array? - function getImportDeclarations(_a, checker, _b, cachedImportDeclarations) { + function getExistingImportDeclarations(_a, checker, _b) { var moduleSymbol = _a.moduleSymbol, importKind = _a.importKind; var imports = _b.imports; - if (cachedImportDeclarations === void 0) { cachedImportDeclarations = []; } - var moduleSymbolId = ts.getUniqueSymbolId(moduleSymbol, checker); - var cached = cachedImportDeclarations[moduleSymbolId]; - if (!cached) { - cached = cachedImportDeclarations[moduleSymbolId] = ts.mapDefined(imports, function (moduleSpecifier) { - var i = ts.importFromModuleSpecifier(moduleSpecifier); - return (i.kind === 243 /* ImportDeclaration */ || i.kind === 242 /* ImportEqualsDeclaration */) - && checker.getSymbolAtLocation(moduleSpecifier) === moduleSymbol ? { declaration: i, importKind: importKind } : undefined; - }); - } - return cached; + return ts.mapDefined(imports, function (moduleSpecifier) { + var i = ts.importFromModuleSpecifier(moduleSpecifier); + return (i.kind === 244 /* ImportDeclaration */ || i.kind === 243 /* ImportEqualsDeclaration */) + && checker.getSymbolAtLocation(moduleSpecifier) === moduleSymbol ? { declaration: i, importKind: importKind } : undefined; + }); } function getCodeActionForNewImport(context, _a) { var moduleSpecifier = _a.moduleSpecifier, importKind = _a.importKind; @@ -100819,7 +101454,7 @@ var ts; }); // if this file doesn't have any import statements, insert an import statement and then insert a new line // between the only import statement and user code. Otherwise just insert the statement because chances - // are there are already a new line seperating code and import statements. + // are there are already a new line separating code and import statements. return createCodeAction(ts.Diagnostics.Import_0_from_module_1, [symbolName, moduleSpecifierWithoutQuotes], changes); } function shouldUseSingleQuote(sourceFile, preferences) { @@ -100853,21 +101488,7 @@ var ts; // Sort to keep the shortest paths first, but keep [relativePath, importRelativeToBaseUrl] groups together return ts.flatten(choicesForEachExportingModule.sort(function (a, b) { return ts.first(a).moduleSpecifier.length - ts.first(b).moduleSpecifier.length; })); } - function getCodeActionsForAddImport(exportInfos, ctx, existingImports, useExisting, addNew) { - var fromExistingImport = ts.firstDefined(existingImports, function (_a) { - var declaration = _a.declaration, importKind = _a.importKind; - if (declaration.kind === 243 /* ImportDeclaration */ && declaration.importClause) { - var changes = tryUpdateExistingImport(ctx, ts.isImportClause(declaration.importClause) && declaration.importClause || undefined, importKind); - if (changes) { - var moduleSpecifierWithoutQuotes = ts.stripQuotes(declaration.moduleSpecifier.getText()); - return createCodeAction(ts.Diagnostics.Add_0_to_existing_import_declaration_from_1, [ctx.symbolName, moduleSpecifierWithoutQuotes], changes); - } - } - }); - if (fromExistingImport) { - useExisting.push(fromExistingImport); - return; - } + function getCodeActionsForAddImport(exportInfos, ctx, existingImports, addNew) { var existingDeclaration = ts.firstDefined(existingImports, newImportInfoFromExistingSpecifier); var newImportInfos = existingDeclaration ? [existingDeclaration] @@ -100879,9 +101500,9 @@ var ts; } function newImportInfoFromExistingSpecifier(_a) { var declaration = _a.declaration, importKind = _a.importKind; - var expression = declaration.kind === 243 /* ImportDeclaration */ + var expression = declaration.kind === 244 /* ImportDeclaration */ ? declaration.moduleSpecifier - : declaration.moduleReference.kind === 253 /* ExternalModuleReference */ + : declaration.moduleReference.kind === 254 /* ExternalModuleReference */ ? declaration.moduleReference.expression : undefined; return expression && ts.isStringLiteral(expression) ? { moduleSpecifier: expression.text, importKind: importKind } : undefined; @@ -100889,7 +101510,7 @@ var ts; function tryUpdateExistingImport(context, importClause, importKind) { var symbolName = context.symbolName, sourceFile = context.sourceFile; var name = importClause.name; - var namedBindings = (importClause.kind !== 242 /* ImportEqualsDeclaration */ && importClause).namedBindings; + var namedBindings = (importClause.kind !== 243 /* ImportEqualsDeclaration */ && importClause).namedBindings; // TODO: GH#18217 switch (importKind) { case 1 /* Default */: return name ? undefined : ChangeTracker.with(context, function (t) { @@ -100897,11 +101518,11 @@ var ts; }); case 0 /* Named */: { var newImportSpecifier_1 = ts.createImportSpecifier(/*propertyName*/ undefined, ts.createIdentifier(symbolName)); - if (namedBindings && namedBindings.kind === 246 /* NamedImports */ && namedBindings.elements.length !== 0) { + if (namedBindings && namedBindings.kind === 247 /* NamedImports */ && namedBindings.elements.length !== 0) { // There are already named imports; add another. return ChangeTracker.with(context, function (t) { return t.insertNodeInListAfter(sourceFile, namedBindings.elements[namedBindings.elements.length - 1], newImportSpecifier_1); }); } - if (!namedBindings || namedBindings.kind === 246 /* NamedImports */ && namedBindings.elements.length === 0) { + if (!namedBindings || namedBindings.kind === 247 /* NamedImports */ && namedBindings.elements.length === 0) { return ChangeTracker.with(context, function (t) { return t.replaceNode(sourceFile, importClause, ts.createImportClause(name, ts.createNamedImports([newImportSpecifier_1]))); }); @@ -100935,11 +101556,6 @@ var ts; }); return createCodeAction(ts.Diagnostics.Change_0_to_1, [symbolName, namespacePrefix + "." + symbolName], changes); } - function getImportCodeActions(context) { - return context.errorCode === ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code - ? getActionsForUMDImport(context) - : getActionsForNonUMDImport(context); - } function getActionsForUMDImport(context) { var token = ts.getTokenAtPosition(context.sourceFile, context.span.start, /*includeJsDocComment*/ false); var checker = context.program.getTypeChecker(); @@ -100952,7 +101568,7 @@ var ts; // The error wasn't for the symbolAtLocation, it was for the JSX tag itself, which needs access to e.g. `React`. var parent = token.parent; var isNodeOpeningLikeElement = ts.isJsxOpeningLikeElement(parent); - if ((ts.isJsxOpeningLikeElement && parent.tagName === token) || parent.kind === 259 /* JsxOpeningFragment */) { + if ((ts.isJsxOpeningLikeElement && parent.tagName === token) || parent.kind === 260 /* JsxOpeningFragment */) { umdSymbol = checker.resolveName(checker.getJsxNamespace(parent), isNodeOpeningLikeElement ? parent.tagName : parent, 67216319 /* Value */, /*excludeGlobals*/ false); } } @@ -101001,7 +101617,14 @@ var ts; return undefined; // "default" is a keyword and not a legal identifier for the import, so we don't expect it here ts.Debug.assert(symbolName !== "default"); - var currentTokenMeaning = ts.getMeaningFromLocation(symbolToken); + var addToExistingDeclaration = []; + var addNewDeclaration = []; + getExportInfos(symbolName, ts.getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, checker, program).forEach(function (exportInfos) { + getCodeActionsForImport_separateExistingAndNew(exportInfos, convertToImportCodeFixContext(context, symbolToken, symbolName), addToExistingDeclaration, addNewDeclaration); + }); + return addToExistingDeclaration.concat(addNewDeclaration); + } + function getExportInfos(symbolName, currentTokenMeaning, cancellationToken, sourceFile, checker, program) { // For each original symbol, keep all re-exports of that symbol together so we can call `getCodeActionsForImport` on the whole group at once. // Maps symbol id to info for modules providing that symbol (original export + re-exports). var originalSymbolToExportInfos = ts.createMultiMap(); @@ -101026,7 +101649,7 @@ var ts; addSymbol(moduleSymbol, exportSymbolWithIdenticalName, 0 /* Named */); } function getEscapedNameForExportDefault(symbol) { - return ts.firstDefined(symbol.declarations, function (declaration) { + return symbol.declarations && ts.firstDefined(symbol.declarations, function (declaration) { if (ts.isExportAssignment(declaration)) { if (ts.isIdentifier(declaration.expression)) { return declaration.expression.escapedText; @@ -101034,19 +101657,12 @@ var ts; } else if (ts.isExportSpecifier(declaration)) { ts.Debug.assert(declaration.name.escapedText === "default" /* Default */); - if (declaration.propertyName) { - return declaration.propertyName.escapedText; - } + return declaration.propertyName && declaration.propertyName.escapedText; } }); } }); - var addToExistingDeclaration = []; - var addNewDeclaration = []; - originalSymbolToExportInfos.forEach(function (exportInfos) { - getCodeActionsForImport_separateExistingAndNew(exportInfos, convertToImportCodeFixContext(context, symbolToken, symbolName), addToExistingDeclaration, addNewDeclaration); - }); - return addToExistingDeclaration.concat(addNewDeclaration); + return originalSymbolToExportInfos; } function checkSymbolHasMeaning(_a, meaning) { var declarations = _a.declarations; @@ -101068,7 +101684,7 @@ var ts; for (var _b = 0, allSourceFiles_1 = allSourceFiles; _b < allSourceFiles_1.length; _b++) { var sourceFile = allSourceFiles_1[_b]; if (ts.isExternalOrCommonJsModule(sourceFile)) { - cb(sourceFile.symbol, sourceFile); + cb(checker.getMergedSymbol(sourceFile.symbol), sourceFile); } } } @@ -101285,7 +101901,7 @@ var ts; } function addMissingMemberInJs(changeTracker, classDeclarationSourceFile, classDeclaration, tokenName, makeStatic) { if (makeStatic) { - if (classDeclaration.kind === 204 /* ClassExpression */) { + if (classDeclaration.kind === 205 /* ClassExpression */) { return; } var className = classDeclaration.name.getText(); @@ -101311,10 +101927,10 @@ var ts; } function getTypeNode(checker, classDeclaration, token) { var typeNode; - if (token.parent.parent.kind === 199 /* BinaryExpression */) { + if (token.parent.parent.kind === 200 /* BinaryExpression */) { var binaryExpression = token.parent.parent; var otherExpression = token.parent === binaryExpression.left ? binaryExpression.right : binaryExpression.left; - var widenedType = checker.getWidenedType(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(otherExpression))); + var widenedType = checker.getWidenedType(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(otherExpression))); // TODO: GH#18217 typeNode = checker.typeToTypeNode(widenedType, classDeclaration); } return typeNode || ts.createKeywordTypeNode(119 /* AnyKeyword */); @@ -101370,7 +101986,13 @@ var ts; } function addMethodDeclaration(changeTracker, classDeclarationSourceFile, classDeclaration, token, callExpression, makeStatic, inJs, preferences) { var methodDeclaration = codefix.createMethodFromCallExpression(callExpression, token.text, inJs, makeStatic, preferences); - changeTracker.insertNodeAtClassStart(classDeclarationSourceFile, classDeclaration, methodDeclaration); + var containingMethodDeclaration = ts.getAncestor(callExpression, 154 /* MethodDeclaration */); + if (containingMethodDeclaration && containingMethodDeclaration.parent === classDeclaration) { + changeTracker.insertNodeAfter(classDeclarationSourceFile, containingMethodDeclaration, methodDeclaration); + } + else { + changeTracker.insertNodeAtClassStart(classDeclarationSourceFile, classDeclaration, methodDeclaration); + } } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -101409,7 +102031,7 @@ var ts; var packageName = ts.getPackageName(moduleName).packageName; return diagCode === errorCodeCannotFindModule ? (ts.JsTyping.nodeCoreModules.has(packageName) ? "@types/node" : undefined) - : (host.isKnownTypesPackageName(packageName) ? ts.getTypesPackageName(packageName) : undefined); + : (host.isKnownTypesPackageName(packageName) ? ts.getTypesPackageName(packageName) : undefined); // TODO: GH#18217 } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -101628,7 +102250,9 @@ var ts; }, fixIds: [fixId], getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { - doChange(changes, context.sourceFile, getInfo(diag.file, diag.start, diag.code)); + var info = getInfo(diag.file, diag.start, diag.code); + if (info) + doChange(changes, context.sourceFile, info); }); }, }); function getInfo(sourceFile, pos, diagCode) { @@ -101659,23 +102283,30 @@ var ts; ts.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code, ts.Diagnostics.All_imports_in_import_declaration_are_unused.code, ts.Diagnostics.All_destructured_elements_are_unused.code, + ts.Diagnostics.All_variables_are_unused.code, ]; codefix.registerCodeFix({ errorCodes: errorCodes, getCodeActions: function (context) { - var errorCode = context.errorCode, sourceFile = context.sourceFile; - var importDecl = tryGetFullImport(sourceFile, context.span.start); + var errorCode = context.errorCode, sourceFile = context.sourceFile, program = context.program; + var checker = program.getTypeChecker(); + var startToken = ts.getTokenAtPosition(sourceFile, context.span.start, /*includeJsDocComment*/ false); + var importDecl = tryGetFullImport(startToken); if (importDecl) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return t.deleteNode(sourceFile, importDecl); }); return [codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Remove_import_from_0, ts.showModuleSpecifier(importDecl)], fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)]; } - var delDestructure = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteFullDestructure(t, sourceFile, context.span.start, /*deleted*/ undefined); }); + var delDestructure = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteFullDestructure(t, sourceFile, startToken, /*deleted*/ undefined, checker, /*isFixAll*/ false); }); if (delDestructure.length) { return [codefix.createCodeFixAction(fixName, delDestructure, ts.Diagnostics.Remove_destructuring, fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)]; } + var delVar = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteFullVariableStatement(t, sourceFile, startToken, /*deleted*/ undefined); }); + if (delVar.length) { + return [codefix.createCodeFixAction(fixName, delVar, ts.Diagnostics.Remove_variable_statement, fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)]; + } var token = getToken(sourceFile, ts.textSpanEnd(context.span)); var result = []; - var deletion = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteDeclaration(t, sourceFile, token, /*deleted*/ undefined); }); + var deletion = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteDeclaration(t, sourceFile, token, /*deleted*/ undefined, checker, /*isFixAll*/ false); }); if (deletion.length) { result.push(codefix.createCodeFixAction(fixName, deletion, [ts.Diagnostics.Remove_declaration_for_Colon_0, token.getText(sourceFile)], fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)); } @@ -101688,9 +102319,11 @@ var ts; fixIds: [fixIdPrefix, fixIdDelete], getAllCodeActions: function (context) { // Track a set of deleted nodes that may be ancestors of other marked for deletion -- only delete the ancestors. - var deleted = new NodeSet(); + var deleted = new ts.NodeSet(); + var sourceFile = context.sourceFile, program = context.program; + var checker = program.getTypeChecker(); return codefix.codeFixAll(context, errorCodes, function (changes, diag) { - var sourceFile = context.sourceFile; + var startToken = ts.getTokenAtPosition(sourceFile, diag.start, /*includeJsDocComment*/ false); var token = ts.findPrecedingToken(ts.textSpanEnd(diag), diag.file); switch (context.fixId) { case fixIdPrefix: @@ -101702,14 +102335,13 @@ var ts; // Ignore if this range was already deleted. if (deleted.some(function (d) { return ts.rangeContainsPosition(d, diag.start); })) break; - var importDecl = tryGetFullImport(diag.file, diag.start); + var importDecl = tryGetFullImport(startToken); if (importDecl) { changes.deleteNode(sourceFile, importDecl); } - else { - if (!tryDeleteFullDestructure(changes, sourceFile, diag.start, deleted)) { - tryDeleteDeclaration(changes, sourceFile, token, deleted); - } + else if (!tryDeleteFullDestructure(changes, sourceFile, startToken, deleted, checker, /*isFixAll*/ true) && + !tryDeleteFullVariableStatement(changes, sourceFile, startToken, deleted)) { + tryDeleteDeclaration(changes, sourceFile, token, deleted, checker, /*isFixAll*/ true); } break; default: @@ -101719,25 +102351,25 @@ var ts; }, }); // Sometimes the diagnostic span is an entire ImportDeclaration, so we should remove the whole thing. - function tryGetFullImport(sourceFile, pos) { - var startToken = ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false); + function tryGetFullImport(startToken) { return startToken.kind === 91 /* ImportKeyword */ ? ts.tryCast(startToken.parent, ts.isImportDeclaration) : undefined; } - function tryDeleteFullDestructure(changes, sourceFile, pos, deletedAncestors) { - var startToken = ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false); + function tryDeleteFullDestructure(changes, sourceFile, startToken, deletedAncestors, checker, isFixAll) { if (startToken.kind !== 17 /* OpenBraceToken */ || !ts.isObjectBindingPattern(startToken.parent)) return false; - var decl = startToken.parent.parent; + var decl = ts.cast(startToken.parent, ts.isObjectBindingPattern).parent; switch (decl.kind) { - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: tryDeleteVariableDeclaration(changes, sourceFile, decl, deletedAncestors); break; - case 148 /* Parameter */: + case 149 /* Parameter */: + if (!mayDeleteParameter(decl, checker, isFixAll)) + break; if (deletedAncestors) deletedAncestors.add(decl); changes.deleteNodeInList(sourceFile, decl); break; - case 181 /* BindingElement */: + case 182 /* BindingElement */: if (deletedAncestors) deletedAncestors.add(decl); changes.deleteNode(sourceFile, decl); @@ -101747,6 +102379,16 @@ var ts; } return true; } + function tryDeleteFullVariableStatement(changes, sourceFile, startToken, deletedAncestors) { + var declarationList = ts.tryCast(startToken.parent, ts.isVariableDeclarationList); + if (declarationList && declarationList.getChildren(sourceFile)[0] === startToken) { + if (deletedAncestors) + deletedAncestors.add(declarationList); + changes.deleteNode(sourceFile, declarationList.parent.kind === 214 /* VariableStatement */ ? declarationList.parent : declarationList); + return true; + } + return false; + } function getToken(sourceFile, pos) { var token = ts.findPrecedingToken(pos, sourceFile, /*startNode*/ undefined, /*includeJsDoc*/ true); // this handles var ["computed"] = 12; @@ -101760,26 +102402,26 @@ var ts; } function canPrefix(token) { switch (token.parent.kind) { - case 148 /* Parameter */: + case 149 /* Parameter */: return true; - case 231 /* VariableDeclaration */: { + case 232 /* VariableDeclaration */: { var varDecl = token.parent; switch (varDecl.parent.parent.kind) { - case 221 /* ForOfStatement */: - case 220 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 221 /* ForInStatement */: return true; } } } return false; } - function tryDeleteDeclaration(changes, sourceFile, token, deletedAncestors) { + function tryDeleteDeclaration(changes, sourceFile, token, deletedAncestors, checker, isFixAll) { switch (token.kind) { case 71 /* Identifier */: - tryDeleteIdentifier(changes, sourceFile, token, deletedAncestors); + tryDeleteIdentifier(changes, sourceFile, token, deletedAncestors, checker, isFixAll); break; - case 151 /* PropertyDeclaration */: - case 245 /* NamespaceImport */: + case 152 /* PropertyDeclaration */: + case 246 /* NamespaceImport */: if (deletedAncestors) deletedAncestors.add(token.parent); changes.deleteNode(sourceFile, token.parent); @@ -101800,13 +102442,13 @@ var ts; changes.deleteNode(sourceFile, token.parent.parent); } } - function tryDeleteIdentifier(changes, sourceFile, identifier, deletedAncestors) { + function tryDeleteIdentifier(changes, sourceFile, identifier, deletedAncestors, checker, isFixAll) { var parent = identifier.parent; switch (parent.kind) { - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: tryDeleteVariableDeclaration(changes, sourceFile, parent, deletedAncestors); break; - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: var typeParameters = ts.getEffectiveTypeParameterDeclarations(parent.parent); if (typeParameters.length === 1) { var _a = ts.cast(typeParameters, ts.isNodeArray), pos = _a.pos, end = _a.end; @@ -101820,18 +102462,17 @@ var ts; changes.deleteNodeInList(sourceFile, parent); } break; - case 148 /* Parameter */: - var oldFunction = parent.parent; - if (ts.isSetAccessor(oldFunction)) { - // Setter must have a parameter + case 149 /* Parameter */: + if (!mayDeleteParameter(parent, checker, isFixAll)) break; - } + var oldFunction = parent.parent; if (ts.isArrowFunction(oldFunction) && oldFunction.parameters.length === 1) { // Lambdas with exactly one parameter are special because, after removal, there // must be an empty parameter list (i.e. `()`) and this won't necessarily be the // case if the parameter is simply removed (e.g. in `x => 1`). var newFunction = ts.updateArrowFunction(oldFunction, oldFunction.modifiers, oldFunction.typeParameters, - /*parameters*/ undefined, oldFunction.type, oldFunction.equalsGreaterThanToken, oldFunction.body); + /*parameters*/ undefined, // TODO: GH#18217 + oldFunction.type, oldFunction.equalsGreaterThanToken, oldFunction.body); // Drop leading and trailing trivia of the new function because we're only going // to replace the span (vs the full span) of the old function - the old leading // and trailing trivia will remain. @@ -101842,13 +102483,13 @@ var ts; changes.deleteNodeInList(sourceFile, parent); } break; - case 181 /* BindingElement */: { + case 182 /* BindingElement */: { var pattern = parent.parent; switch (pattern.kind) { - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: changes.deleteNode(sourceFile, parent); // Don't delete ',' break; - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: changes.deleteNodeInList(sourceFile, parent); break; default: @@ -101857,11 +102498,11 @@ var ts; break; } // handle case where 'import a = A;' - case 242 /* ImportEqualsDeclaration */: - var importEquals = ts.getAncestor(identifier, 242 /* ImportEqualsDeclaration */); + case 243 /* ImportEqualsDeclaration */: + var importEquals = ts.getAncestor(identifier, 243 /* ImportEqualsDeclaration */); changes.deleteNode(sourceFile, importEquals); break; - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: var namedImports = parent.parent; if (namedImports.elements.length === 1) { tryDeleteNamedImportBinding(changes, sourceFile, namedImports); @@ -101871,10 +102512,10 @@ var ts; changes.deleteNodeInList(sourceFile, parent); } break; - case 244 /* ImportClause */: // this covers both 'import |d|' and 'import |d,| *' + case 245 /* ImportClause */: // this covers both 'import |d|' and 'import |d,| *' var importClause = parent; if (!importClause.namedBindings) { // |import d from './file'| - changes.deleteNode(sourceFile, ts.getAncestor(importClause, 243 /* ImportDeclaration */)); + changes.deleteNode(sourceFile, ts.getAncestor(importClause, 244 /* ImportDeclaration */)); } else { // import |d,| * as ns from './file' @@ -101890,7 +102531,7 @@ var ts; } } break; - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: tryDeleteNamedImportBinding(changes, sourceFile, parent); break; default: @@ -101912,14 +102553,14 @@ var ts; // Delete the entire import declaration // |import * as ns from './file'| // |import { a } from './file'| - var importDecl = ts.getAncestor(namedBindings, 243 /* ImportDeclaration */); + var importDecl = ts.getAncestor(namedBindings, 244 /* ImportDeclaration */); changes.deleteNode(sourceFile, importDecl); } } // token.parent is a variableDeclaration function tryDeleteVariableDeclaration(changes, sourceFile, varDecl, deletedAncestors) { switch (varDecl.parent.parent.kind) { - case 219 /* ForStatement */: { + case 220 /* ForStatement */: { var forStatement = varDecl.parent.parent; var forInitializer = forStatement.initializer; if (forInitializer.declarations.length === 1) { @@ -101934,16 +102575,16 @@ var ts; } break; } - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: var forOfStatement = varDecl.parent.parent; - ts.Debug.assert(forOfStatement.initializer.kind === 232 /* VariableDeclarationList */); + ts.Debug.assert(forOfStatement.initializer.kind === 233 /* VariableDeclarationList */); var forOfInitializer = forOfStatement.initializer; if (deletedAncestors) deletedAncestors.add(forOfInitializer.declarations[0]); changes.replaceNode(sourceFile, forOfInitializer.declarations[0], ts.createObjectLiteral()); break; - case 220 /* ForInStatement */: - case 229 /* TryStatement */: + case 221 /* ForInStatement */: + case 230 /* TryStatement */: break; default: var variableStatement = varDecl.parent.parent; @@ -101959,18 +102600,34 @@ var ts; } } } - var NodeSet = /** @class */ (function () { - function NodeSet() { - this.map = ts.createMap(); + function mayDeleteParameter(p, checker, isFixAll) { + var parent = p.parent; + switch (parent.kind) { + case 154 /* MethodDeclaration */: + // Don't remove a parameter if this overrides something + var symbol = checker.getSymbolAtLocation(parent.name); + if (ts.isMemberSymbolInBaseType(symbol, checker)) + return false; + // falls through + case 155 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: { + // Can't remove a non-last parameter. Can remove a parameter in code-fix-all if future parameters are also unused. + var parameters = parent.parameters; + var index = parameters.indexOf(p); + ts.Debug.assert(index !== -1); + return isFixAll + ? parameters.slice(index + 1).every(function (p) { return p.name.kind === 71 /* Identifier */ && !p.symbol.isReferenced; }) + : index === parameters.length - 1; + } + case 157 /* SetAccessor */: + // Setter must have a parameter + return false; + default: + return ts.Debug.failBadSyntaxKind(parent); } - NodeSet.prototype.add = function (node) { - this.map.set(String(ts.getNodeId(node)), node); - }; - NodeSet.prototype.some = function (pred) { - return ts.forEachEntry(this.map, pred) || false; - }; - return NodeSet; - }()); + } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); /* @internal */ @@ -101995,7 +102652,7 @@ var ts; ts.Debug.assert(statement.getStart(sourceFile) === token.getStart(sourceFile)); var container = (ts.isBlock(statement.parent) ? statement.parent : statement).parent; switch (container.kind) { - case 216 /* IfStatement */: + case 217 /* IfStatement */: if (container.elseStatement) { if (ts.isBlock(statement.parent)) { changes.deleteNodeRange(sourceFile, ts.first(statement.parent.statements), ts.last(statement.parent.statements)); @@ -102006,8 +102663,8 @@ var ts; break; } // falls through - case 218 /* WhileStatement */: - case 219 /* ForStatement */: + case 219 /* WhileStatement */: + case 220 /* ForStatement */: changes.deleteNode(sourceFile, container); break; default: @@ -102027,13 +102684,15 @@ var ts; } function isPurelyTypeDeclaration(s) { switch (s.kind) { - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: return true; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return ts.getModuleInstanceState(s) !== 1 /* Instantiated */; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return ts.hasModifier(s, 2048 /* Const */); + default: + return false; } } function sliceAfter(arr, value) { @@ -102094,10 +102753,10 @@ var ts; var typeNode = info.typeNode, type = info.type; var original = typeNode.getText(sourceFile); var actions = [fix(type, fixIdPlain, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript)]; - if (typeNode.kind === 280 /* JSDocNullableType */) { + if (typeNode.kind === 281 /* JSDocNullableType */) { // for nullable types, suggest the flow-compatible `T | null | undefined` // in addition to the jsdoc/closure-compatible `T | null` - actions.push(fix(checker.getNullableType(type, 4096 /* Undefined */), fixIdNullable, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)); + actions.push(fix(checker.getNullableType(type, 8192 /* Undefined */), fixIdNullable, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)); } return actions; function fix(type, fixId, fixAllDescription) { @@ -102114,13 +102773,13 @@ var ts; if (!info) return; var typeNode = info.typeNode, type = info.type; - var fixedType = typeNode.kind === 280 /* JSDocNullableType */ && fixId === fixIdNullable ? checker.getNullableType(type, 4096 /* Undefined */) : type; + var fixedType = typeNode.kind === 281 /* JSDocNullableType */ && fixId === fixIdNullable ? checker.getNullableType(type, 8192 /* Undefined */) : type; doChange(changes, sourceFile, typeNode, fixedType, checker); }); } }); function doChange(changes, sourceFile, oldTypeNode, newType, checker) { - changes.replaceNode(sourceFile, oldTypeNode, checker.typeToTypeNode(newType, /*enclosingDeclaration*/ oldTypeNode)); + changes.replaceNode(sourceFile, oldTypeNode, checker.typeToTypeNode(newType, /*enclosingDeclaration*/ oldTypeNode)); // TODO: GH#18217 } function getInfo(sourceFile, pos, checker) { var decl = ts.findAncestor(ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false), isTypeContainer); @@ -102131,22 +102790,22 @@ var ts; // NOTE: Some locations are not handled yet: // MappedTypeNode.typeParameters and SignatureDeclaration.typeParameters, as well as CallExpression.typeArguments switch (node.kind) { - case 207 /* AsExpression */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 233 /* FunctionDeclaration */: - case 155 /* GetAccessor */: - case 159 /* IndexSignature */: - case 176 /* MappedType */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 148 /* Parameter */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 156 /* SetAccessor */: - case 236 /* TypeAliasDeclaration */: - case 189 /* TypeAssertionExpression */: - case 231 /* VariableDeclaration */: + case 208 /* AsExpression */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 234 /* FunctionDeclaration */: + case 156 /* GetAccessor */: + case 160 /* IndexSignature */: + case 177 /* MappedType */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 149 /* Parameter */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 157 /* SetAccessor */: + case 237 /* TypeAliasDeclaration */: + case 190 /* TypeAssertionExpression */: + case 232 /* VariableDeclaration */: return true; default: return false; @@ -102200,20 +102859,20 @@ var ts; } var insertBefore; switch (containingFunction.kind) { - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: insertBefore = containingFunction.name; break; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: insertBefore = ts.findChildOfKind(containingFunction, 89 /* FunctionKeyword */, sourceFile); break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: insertBefore = ts.findChildOfKind(containingFunction, 19 /* OpenParenToken */, sourceFile) || ts.first(containingFunction.parameters); break; default: return; } - return { + return insertBefore && { insertBefore: insertBefore, returnType: getReturnType(containingFunction) }; @@ -102316,17 +102975,17 @@ var ts; var type = checker.getWidenedType(checker.getTypeOfSymbolAtLocation(symbol, enclosingDeclaration)); var optional = !!(symbol.flags & 16777216 /* Optional */); switch (declaration.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 150 /* PropertySignature */: - case 151 /* PropertyDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 151 /* PropertySignature */: + case 152 /* PropertyDeclaration */: var typeNode = checker.typeToTypeNode(type, enclosingDeclaration); out(ts.createProperty( /*decorators*/ undefined, modifiers, name, optional ? ts.createToken(55 /* QuestionToken */) : undefined, typeNode, /*initializer*/ undefined)); break; - case 152 /* MethodSignature */: - case 153 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 154 /* MethodDeclaration */: // The signature for the implementation appears as an entry in `signatures` iff // there is only one signature. // If there are overloads and an implementation signature, it appears as an @@ -102366,7 +103025,7 @@ var ts; } } function signatureToMethodDeclaration(checker, signature, enclosingDeclaration, modifiers, name, optional, body) { - var signatureDeclaration = checker.signatureToSignatureDeclaration(signature, 153 /* MethodDeclaration */, enclosingDeclaration, 256 /* SuppressAnyReturnType */); + var signatureDeclaration = checker.signatureToSignatureDeclaration(signature, 154 /* MethodDeclaration */, enclosingDeclaration, 256 /* SuppressAnyReturnType */); if (!signatureDeclaration) { return undefined; } @@ -102508,7 +103167,7 @@ var ts; function getDiagnostic(errorCode, token) { switch (errorCode) { case ts.Diagnostics.Parameter_0_implicitly_has_an_1_type.code: - return ts.isSetAccessor(ts.getContainingFunction(token)) ? ts.Diagnostics.Infer_type_of_0_from_usage : ts.Diagnostics.Infer_parameter_types_from_usage; + return ts.isSetAccessor(ts.getContainingFunction(token)) ? ts.Diagnostics.Infer_type_of_0_from_usage : ts.Diagnostics.Infer_parameter_types_from_usage; // TODO: GH#18217 case ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type.code: return ts.Diagnostics.Infer_parameter_types_from_usage; default: @@ -102583,11 +103242,11 @@ var ts; } function isApplicableFunctionForInference(declaration) { switch (declaration.kind) { - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: return true; - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return !!declaration.name; } return false; @@ -102626,6 +103285,7 @@ var ts; var notAccessible = function () { typeIsAccessible = false; }; var res = checker.typeToTypeNode(type, enclosingScope, /*flags*/ undefined, { trackSymbol: function (symbol, declaration, meaning) { + // TODO: GH#18217 typeIsAccessible = typeIsAccessible && checker.isSymbolAccessible(symbol, declaration, meaning, /*shouldComputeAliasToMarkVisible*/ false).accessibility === 0 /* Accessible */; }, reportInaccessibleThisError: notAccessible, @@ -102645,11 +103305,11 @@ var ts; } function inferTypeForParametersFromUsage(containingFunction, sourceFile, program, cancellationToken) { switch (containingFunction.kind) { - case 154 /* Constructor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - var isConstructor = containingFunction.kind === 154 /* Constructor */; + case 155 /* Constructor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + var isConstructor = containingFunction.kind === 155 /* Constructor */; var searchToken = isConstructor ? ts.findChildOfKind(containingFunction, 123 /* ConstructorKeyword */, sourceFile) : containingFunction.name; @@ -102683,7 +103343,7 @@ var ts; cancellationToken.throwIfCancellationRequested(); inferTypeFromContext(reference, checker, usageContext); } - var isConstructor = declaration.kind === 154 /* Constructor */; + var isConstructor = declaration.kind === 155 /* Constructor */; var callContexts = isConstructor ? usageContext.constructContexts : usageContext.callContexts; return callContexts && declaration.parameters.map(function (parameter, parameterIndex) { var types = []; @@ -102715,21 +103375,21 @@ var ts; node = node.parent; } switch (node.parent.kind) { - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: usageContext.isNumber = true; break; - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: inferTypeFromPrefixUnaryExpressionContext(node.parent, usageContext); break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: inferTypeFromBinaryExpressionContext(node, node.parent, checker, usageContext); break; - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: inferTypeFromSwitchStatementLabelContext(node.parent, checker, usageContext); break; - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: if (node.parent.expression === node) { inferTypeFromCallExpressionContext(node.parent, checker, usageContext); } @@ -102737,13 +103397,13 @@ var ts; inferTypeFromContextualType(node, checker, usageContext); } break; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: inferTypeFromPropertyAccessExpressionContext(node.parent, checker, usageContext); break; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: inferTypeFromPropertyElementExpressionContext(node.parent, node, checker, usageContext); break; - case 231 /* VariableDeclaration */: { + case 232 /* VariableDeclaration */: { var _a = node.parent, name = _a.name, initializer = _a.initializer; if (node === name) { if (initializer) { // This can happen for `let x = null;` which still has an implicit-any error. @@ -102813,7 +103473,7 @@ var ts; case 29 /* GreaterThanToken */: case 31 /* GreaterThanEqualsToken */: var operandType = checker.getTypeAtLocation(parent.left === node ? parent.right : parent.left); - if (operandType.flags & 272 /* EnumLike */) { + if (operandType.flags & 544 /* EnumLike */) { addCandidateType(usageContext, operandType); } else { @@ -102823,13 +103483,13 @@ var ts; case 59 /* PlusEqualsToken */: case 37 /* PlusToken */: var otherOperandType = checker.getTypeAtLocation(parent.left === node ? parent.right : parent.left); - if (otherOperandType.flags & 272 /* EnumLike */) { + if (otherOperandType.flags & 544 /* EnumLike */) { addCandidateType(usageContext, otherOperandType); } - else if (otherOperandType.flags & 84 /* NumberLike */) { + else if (otherOperandType.flags & 168 /* NumberLike */) { usageContext.isNumber = true; } - else if (otherOperandType.flags & 34 /* StringLike */) { + else if (otherOperandType.flags & 68 /* StringLike */) { usageContext.isString = true; } else { @@ -102852,7 +103512,7 @@ var ts; // LogicalOperator case 54 /* BarBarToken */: if (node === parent.left && - (node.parent.parent.kind === 231 /* VariableDeclaration */ || ts.isAssignmentExpression(node.parent.parent, /*excludeCompoundAssignment*/ true))) { + (node.parent.parent.kind === 232 /* VariableDeclaration */ || ts.isAssignmentExpression(node.parent.parent, /*excludeCompoundAssignment*/ true))) { // var x = x || {}; // TODO: use getFalsyflagsOfType addCandidateType(usageContext, checker.getTypeAtLocation(parent.right)); @@ -102880,7 +103540,7 @@ var ts; } } inferTypeFromContext(parent, checker, callContext.returnType); - if (parent.kind === 186 /* CallExpression */) { + if (parent.kind === 187 /* CallExpression */) { (usageContext.callContexts || (usageContext.callContexts = [])).push(callContext); } else { @@ -102905,7 +103565,7 @@ var ts; var indexType = checker.getTypeAtLocation(parent); var indexUsageContext = {}; inferTypeFromContext(parent, checker, indexUsageContext); - if (indexType.flags & 84 /* NumberLike */) { + if (indexType.flags & 168 /* NumberLike */) { usageContext.numberIndexContext = indexUsageContext; } else { @@ -102927,7 +103587,7 @@ var ts; return checker.getWidenedType(checker.getUnionType(usageContext.candidateTypes.map(function (t) { return checker.getBaseTypeOfLiteralType(t); }), 2 /* Subtype */)); } else if (usageContext.properties && hasCallContext(usageContext.properties.get("then"))) { - var paramType = getParameterTypeFromCallContexts(0, usageContext.properties.get("then").callContexts, /*isRestParameter*/ false, checker); + var paramType = getParameterTypeFromCallContexts(0, usageContext.properties.get("then").callContexts, /*isRestParameter*/ false, checker); // TODO: GH#18217 var types = paramType.getCallSignatures().map(function (c) { return c.getReturnType(); }); return checker.createPromiseType(types.length ? checker.getUnionType(types, 2 /* Subtype */) : checker.getAnyType()); } @@ -102960,12 +103620,12 @@ var ts; } } if (usageContext.numberIndexContext) { - numberIndexInfo = checker.createIndexInfo(getTypeFromUsageContext(usageContext.numberIndexContext, checker), /*isReadonly*/ false); + numberIndexInfo = checker.createIndexInfo(getTypeFromUsageContext(usageContext.numberIndexContext, checker), /*isReadonly*/ false); // TODO: GH#18217 } if (usageContext.stringIndexContext) { stringIndexInfo = checker.createIndexInfo(getTypeFromUsageContext(usageContext.stringIndexContext, checker), /*isReadonly*/ false); } - return checker.createAnonymousType(/*symbol*/ undefined, members_6, callSignatures, constructSignatures, stringIndexInfo, numberIndexInfo); + return checker.createAnonymousType(/*symbol*/ undefined, members_6, callSignatures, constructSignatures, stringIndexInfo, numberIndexInfo); // TODO: GH#18217 } else { return undefined; @@ -103000,15 +103660,16 @@ var ts; parameters.push(symbol); } var returnType = getTypeFromUsageContext(callContext.returnType, checker) || checker.getVoidType(); + // TODO: GH#18217 return checker.createSignature(/*declaration*/ undefined, /*typeParameters*/ undefined, /*thisParameter*/ undefined, parameters, returnType, /*typePredicate*/ undefined, callContext.argumentTypes.length, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); } function addCandidateType(context, type) { - if (type && !(type.flags & 1 /* Any */) && !(type.flags & 16384 /* Never */)) { + if (type && !(type.flags & 1 /* Any */) && !(type.flags & 32768 /* Never */)) { (context.candidateTypes || (context.candidateTypes = [])).push(type); } } function hasCallContext(usageContext) { - return usageContext && usageContext.callContexts; + return !!usageContext && !!usageContext.callContexts; } })(InferFromReference || (InferFromReference = {})); })(codefix = ts.codefix || (ts.codefix = {})); @@ -103041,7 +103702,7 @@ var ts; var opts = context.program.getCompilerOptions(); var variations = []; // import Bluebird from "bluebird"; - variations.push(createAction(context, sourceFile, node, ts.makeImport(namespace.name, /*namedImports*/ undefined, node.moduleSpecifier))); + variations.push(createAction(context, sourceFile, node, ts.makeImport(namespace.name, /*namedImports*/ undefined, node.moduleSpecifier, context.preferences))); if (ts.getEmitModuleKind(opts) === ts.ModuleKind.CommonJS) { // import Bluebird = require("bluebird"); variations.push(createAction(context, sourceFile, node, ts.createImportEqualsDeclaration( @@ -103063,18 +103724,18 @@ var ts; }); function getActionsForUsageOfInvalidImport(context) { var sourceFile = context.sourceFile; - var targetKind = ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures.code === context.errorCode ? 186 /* CallExpression */ : 187 /* NewExpression */; + var targetKind = ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures.code === context.errorCode ? 187 /* CallExpression */ : 188 /* NewExpression */; var node = ts.findAncestor(ts.getTokenAtPosition(sourceFile, context.span.start, /*includeJsDocComment*/ false), function (a) { return a.kind === targetKind && a.getStart() === context.span.start && a.getEnd() === (context.span.start + context.span.length); }); if (!node) { return []; } var expr = node.expression; - var type = context.program.getTypeChecker().getTypeAtLocation(expr); + var type = context.program.getTypeChecker().getTypeAtLocation(expr); // TODO: GH#18217 if (!(type.symbol && type.symbol.originatingImport)) { return []; } var fixes = []; - var relatedImport = type.symbol.originatingImport; + var relatedImport = type.symbol.originatingImport; // TODO: GH#18217 if (!ts.isImportCall(relatedImport)) { ts.addRange(fixes, getCodeFixesForImportDeclaration(context, relatedImport)); } @@ -103151,8 +103812,9 @@ var ts; } function addUndefinedType(changeTracker, propertyDeclarationSourceFile, propertyDeclaration) { var undefinedTypeNode = ts.createKeywordTypeNode(140 /* UndefinedKeyword */); - var types = ts.isUnionTypeNode(propertyDeclaration.type) ? propertyDeclaration.type.types.concat(undefinedTypeNode) : [propertyDeclaration.type, undefinedTypeNode]; - changeTracker.replaceNode(propertyDeclarationSourceFile, propertyDeclaration.type, ts.createUnionTypeNode(types)); + var type = propertyDeclaration.type; // TODO: GH#18217 + var types = ts.isUnionTypeNode(type) ? type.types.concat(undefinedTypeNode) : [type, undefinedTypeNode]; + changeTracker.replaceNode(propertyDeclarationSourceFile, type, ts.createUnionTypeNode(types)); } function getActionForAddMissingInitializer(context, propertyDeclaration) { var checker = context.program.getTypeChecker(); @@ -103167,16 +103829,16 @@ var ts; changeTracker.replaceNode(propertyDeclarationSourceFile, propertyDeclaration, property); } function getInitializer(checker, propertyDeclaration) { - return getDefaultValueFromType(checker, checker.getTypeFromTypeNode(propertyDeclaration.type)); + return getDefaultValueFromType(checker, checker.getTypeFromTypeNode(propertyDeclaration.type)); // TODO: GH#18217 } function getDefaultValueFromType(checker, type) { - if (type.flags & 2 /* String */) { + if (type.flags & 4 /* String */) { return ts.createLiteral(""); } - else if (type.flags & 4 /* Number */) { + else if (type.flags & 8 /* Number */) { return ts.createNumericLiteral("0"); } - else if (type.flags & 8 /* Boolean */) { + else if (type.flags & 16 /* Boolean */) { return ts.createFalse(); } else if (type.isLiteral()) { @@ -103204,78 +103866,99 @@ var ts; (function (ts) { var moduleSpecifiers; (function (moduleSpecifiers) { + // Note: fromSourceFile is just for usesJsExtensionOnImports + function getModuleSpecifier(program, fromSourceFile, fromSourceFileName, toFileName, host, preferences) { + var info = getInfo(program.getCompilerOptions(), fromSourceFile, fromSourceFileName, host); + var compilerOptions = program.getCompilerOptions(); + return getGlobalModuleSpecifier(toFileName, info, host, compilerOptions) || + ts.first(getLocalModuleSpecifiers(toFileName, info, compilerOptions, preferences)); + } + moduleSpecifiers.getModuleSpecifier = getModuleSpecifier; // For each symlink/original for a module, returns a list of ways to import that file. function getModuleSpecifiers(moduleSymbol, program, importingSourceFile, host, preferences) { + var ambient = tryGetModuleNameFromAmbientModule(moduleSymbol); + if (ambient) + return [[ambient]]; var compilerOptions = program.getCompilerOptions(); - var baseUrl = compilerOptions.baseUrl, paths = compilerOptions.paths, rootDirs = compilerOptions.rootDirs; - var moduleResolutionKind = ts.getEmitModuleResolutionKind(compilerOptions); - var addJsExtension = usesJsExtensionOnImports(importingSourceFile); - var getCanonicalFileName = ts.hostGetCanonicalFileName(host); - var sourceDirectory = ts.getDirectoryPath(importingSourceFile.fileName); - return getAllModulePaths(program, moduleSymbol.valueDeclaration.getSourceFile()).map(function (moduleFileName) { - var global = tryGetModuleNameFromAmbientModule(moduleSymbol) - || tryGetModuleNameFromTypeRoots(compilerOptions, host, getCanonicalFileName, moduleFileName, addJsExtension) - || tryGetModuleNameAsNodeModule(compilerOptions, moduleFileName, host, getCanonicalFileName, sourceDirectory) - || rootDirs && tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName); - if (global) { - return [global]; - } - var relativePath = removeExtensionAndIndexPostFix(ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, moduleFileName, getCanonicalFileName)), moduleResolutionKind, addJsExtension); - if (!baseUrl || preferences.importModuleSpecifierPreference === "relative") { - return [relativePath]; - } - var relativeToBaseUrl = getRelativePathIfInDirectory(moduleFileName, baseUrl, getCanonicalFileName); - if (!relativeToBaseUrl) { - return [relativePath]; - } - var importRelativeToBaseUrl = removeExtensionAndIndexPostFix(relativeToBaseUrl, moduleResolutionKind, addJsExtension); - if (paths) { - var fromPaths = tryGetModuleNameFromPaths(ts.removeFileExtension(relativeToBaseUrl), importRelativeToBaseUrl, paths); - if (fromPaths) { - return [fromPaths]; - } - } - if (preferences.importModuleSpecifierPreference === "non-relative") { - return [importRelativeToBaseUrl]; - } - if (preferences.importModuleSpecifierPreference !== undefined) - ts.Debug.assertNever(preferences.importModuleSpecifierPreference); - if (isPathRelativeToParent(relativeToBaseUrl)) { - return [relativePath]; - } - /* - Prefer a relative import over a baseUrl import if it doesn't traverse up to baseUrl. - - Suppose we have: - baseUrl = /base - sourceDirectory = /base/a/b - moduleFileName = /base/foo/bar - Then: - relativePath = ../../foo/bar - getRelativePathNParents(relativePath) = 2 - pathFromSourceToBaseUrl = ../../ - getRelativePathNParents(pathFromSourceToBaseUrl) = 2 - 2 < 2 = false - In this case we should prefer using the baseUrl path "/a/b" instead of the relative path "../../foo/bar". - - Suppose we have: - baseUrl = /base - sourceDirectory = /base/foo/a - moduleFileName = /base/foo/bar - Then: - relativePath = ../a - getRelativePathNParents(relativePath) = 1 - pathFromSourceToBaseUrl = ../../ - getRelativePathNParents(pathFromSourceToBaseUrl) = 2 - 1 < 2 = true - In this case we should prefer using the relative path "../a" instead of the baseUrl path "foo/a". - */ - var pathFromSourceToBaseUrl = ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, baseUrl, getCanonicalFileName)); - var relativeFirst = getRelativePathNParents(relativePath) < getRelativePathNParents(pathFromSourceToBaseUrl); - return relativeFirst ? [relativePath, importRelativeToBaseUrl] : [importRelativeToBaseUrl, relativePath]; + var info = getInfo(compilerOptions, importingSourceFile, importingSourceFile.fileName, host); + var modulePaths = getAllModulePaths(program, moduleSymbol.valueDeclaration.getSourceFile()); + var global = ts.mapDefined(modulePaths, function (moduleFileName) { return getGlobalModuleSpecifier(moduleFileName, info, host, compilerOptions); }); + return global.length ? global.map(function (g) { return [g]; }) : modulePaths.map(function (moduleFileName) { + return getLocalModuleSpecifiers(moduleFileName, info, compilerOptions, preferences); }); } moduleSpecifiers.getModuleSpecifiers = getModuleSpecifiers; + // importingSourceFileName is separate because getEditsForFileRename may need to specify an updated path + function getInfo(compilerOptions, importingSourceFile, importingSourceFileName, host) { + var moduleResolutionKind = ts.getEmitModuleResolutionKind(compilerOptions); + var addJsExtension = usesJsExtensionOnImports(importingSourceFile); + var getCanonicalFileName = ts.hostGetCanonicalFileName(host); + var sourceDirectory = ts.getDirectoryPath(importingSourceFileName); + return { moduleResolutionKind: moduleResolutionKind, addJsExtension: addJsExtension, getCanonicalFileName: getCanonicalFileName, sourceDirectory: sourceDirectory }; + } + function getGlobalModuleSpecifier(moduleFileName, _a, host, compilerOptions) { + var addJsExtension = _a.addJsExtension, getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory; + return tryGetModuleNameFromTypeRoots(compilerOptions, host, getCanonicalFileName, moduleFileName, addJsExtension) + || tryGetModuleNameAsNodeModule(compilerOptions, moduleFileName, host, getCanonicalFileName, sourceDirectory) + || compilerOptions.rootDirs && tryGetModuleNameFromRootDirs(compilerOptions.rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName); + } + function getLocalModuleSpecifiers(moduleFileName, _a, compilerOptions, preferences) { + var moduleResolutionKind = _a.moduleResolutionKind, addJsExtension = _a.addJsExtension, getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory; + var baseUrl = compilerOptions.baseUrl, paths = compilerOptions.paths; + var relativePath = removeExtensionAndIndexPostFix(ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, moduleFileName, getCanonicalFileName)), moduleResolutionKind, addJsExtension); + if (!baseUrl || preferences.importModuleSpecifierPreference === "relative") { + return [relativePath]; + } + var relativeToBaseUrl = getRelativePathIfInDirectory(moduleFileName, baseUrl, getCanonicalFileName); + if (!relativeToBaseUrl) { + return [relativePath]; + } + var importRelativeToBaseUrl = removeExtensionAndIndexPostFix(relativeToBaseUrl, moduleResolutionKind, addJsExtension); + if (paths) { + var fromPaths = tryGetModuleNameFromPaths(ts.removeFileExtension(relativeToBaseUrl), importRelativeToBaseUrl, paths); + if (fromPaths) { + return [fromPaths]; + } + } + if (preferences.importModuleSpecifierPreference === "non-relative") { + return [importRelativeToBaseUrl]; + } + if (preferences.importModuleSpecifierPreference !== undefined) + ts.Debug.assertNever(preferences.importModuleSpecifierPreference); + if (isPathRelativeToParent(relativeToBaseUrl)) { + return [relativePath]; + } + /* + Prefer a relative import over a baseUrl import if it doesn't traverse up to baseUrl. + + Suppose we have: + baseUrl = /base + sourceDirectory = /base/a/b + moduleFileName = /base/foo/bar + Then: + relativePath = ../../foo/bar + getRelativePathNParents(relativePath) = 2 + pathFromSourceToBaseUrl = ../../ + getRelativePathNParents(pathFromSourceToBaseUrl) = 2 + 2 < 2 = false + In this case we should prefer using the baseUrl path "/a/b" instead of the relative path "../../foo/bar". + + Suppose we have: + baseUrl = /base + sourceDirectory = /base/foo/a + moduleFileName = /base/foo/bar + Then: + relativePath = ../a + getRelativePathNParents(relativePath) = 1 + pathFromSourceToBaseUrl = ../../ + getRelativePathNParents(pathFromSourceToBaseUrl) = 2 + 1 < 2 = true + In this case we should prefer using the relative path "../a" instead of the baseUrl path "foo/a". + */ + var pathFromSourceToBaseUrl = ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, baseUrl, getCanonicalFileName)); + var relativeFirst = getRelativePathNParents(relativePath) < getRelativePathNParents(pathFromSourceToBaseUrl); + return relativeFirst ? [relativePath, importRelativeToBaseUrl] : [importRelativeToBaseUrl, relativePath]; + } function usesJsExtensionOnImports(_a) { var imports = _a.imports; return ts.firstDefined(imports, function (_a) { @@ -103369,14 +104052,16 @@ var ts; // If the module could be imported by a directory name, use that directory's name var moduleSpecifier = getDirectoryOrExtensionlessFileName(moduleFileName); // Get a path that's relative to node_modules or the importing file's path - moduleSpecifier = getNodeResolvablePath(moduleSpecifier); + // if node_modules folder is in this folder or any of its parent folders, no need to keep it. + if (!ts.startsWith(sourceDirectory, moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex))) + return undefined; // If the module was found in @types, get the actual Node package name - return ts.getPackageNameFromAtTypesDirectory(moduleSpecifier); + return ts.getPackageNameFromAtTypesDirectory(moduleSpecifier.substring(parts.topLevelPackageNameIndex + 1)); function getDirectoryOrExtensionlessFileName(path) { // If the file is the main module, it can be imported by the package name var packageRootPath = path.substring(0, parts.packageRootIndex); var packageJsonPath = ts.combinePaths(packageRootPath, "package.json"); - if (host.fileExists(packageJsonPath)) { + if (host.fileExists(packageJsonPath)) { // TODO: GH#18217 var packageJsonContent = JSON.parse(host.readFile(packageJsonPath)); if (packageJsonContent) { var mainFileRelative = packageJsonContent.typings || packageJsonContent.types || packageJsonContent.main; @@ -103396,16 +104081,6 @@ var ts; } return fullModulePathWithoutExtension; } - function getNodeResolvablePath(path) { - var basePath = path.substring(0, parts.topLevelNodeModulesIndex); - if (sourceDirectory.indexOf(basePath) === 0) { - // if node_modules folder is in this folder or any of its parent folders, no need to keep it. - return path.substring(parts.topLevelPackageNameIndex + 1); - } - else { - return ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, path, getCanonicalFileName)); - } - } } function getNodeModulePathParts(fullPath) { // If fullPath can't be valid module file within node_modules, returns undefined. @@ -103461,7 +104136,7 @@ var ts; } function getPathRelativeToRootDirs(path, rootDirs, getCanonicalFileName) { return ts.firstDefined(rootDirs, function (rootDir) { - var relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); + var relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); // TODO: GH#18217 return isPathRelativeToParent(relativePath) ? undefined : relativePath; }); } @@ -103527,14 +104202,14 @@ var ts; var info = getInfo(sourceFile, start); if (!info) return undefined; - var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, info); }); + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, info, context.preferences); }); return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Convert_to_default_import, fixId, ts.Diagnostics.Convert_all_to_default_imports)]; }, fixIds: [fixId], getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { var info = getInfo(diag.file, diag.start); if (info) - doChange(changes, diag.file, info); + doChange(changes, diag.file, info, context.preferences); }); }, }); function getInfo(sourceFile, pos) { @@ -103550,8 +104225,8 @@ var ts; return { importNode: importNode, name: name, moduleSpecifier: importNode.moduleSpecifier }; } } - function doChange(changes, sourceFile, info) { - changes.replaceNode(sourceFile, info.importNode, ts.makeImport(info.name, /*namedImports*/ undefined, info.moduleSpecifier)); + function doChange(changes, sourceFile, info, preferences) { + changes.replaceNode(sourceFile, info.importNode, ts.makeImport(info.name, /*namedImports*/ undefined, info.moduleSpecifier, preferences)); } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -103579,7 +104254,7 @@ var ts; function getImportTypeNode(sourceFile, pos) { var token = ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false); ts.Debug.assert(token.kind === 91 /* ImportKeyword */); - ts.Debug.assert(token.parent.kind === 178 /* ImportType */); + ts.Debug.assert(token.parent.kind === 179 /* ImportType */); return token.parent; } function doChange(changes, sourceFile, importType) { @@ -103590,6 +104265,187 @@ var ts; })(ts || (ts = {})); /* @internal */ var ts; +(function (ts) { + var codefix; + (function (codefix) { + var fixIdAddMissingTypeof = "fixConvertToMappedObjectType"; + var fixId = fixIdAddMissingTypeof; + var errorCodes = [ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead.code]; + codefix.registerCodeFix({ + errorCodes: errorCodes, + getCodeActions: function (context) { + var sourceFile = context.sourceFile, span = context.span; + var info = getInfo(sourceFile, span.start); + if (!info) + return undefined; + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, info); }); + var name = ts.idText(info.container.name); + return [codefix.createCodeFixAction(fixId, changes, [ts.Diagnostics.Convert_0_to_mapped_object_type, name], fixId, [ts.Diagnostics.Convert_0_to_mapped_object_type, name])]; + }, + fixIds: [fixId], + getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { + var info = getInfo(diag.file, diag.start); + if (info) + doChange(changes, diag.file, info); + }); } + }); + function getInfo(sourceFile, pos) { + var token = ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false); + var indexSignature = ts.cast(token.parent.parent, ts.isIndexSignatureDeclaration); + if (ts.isClassDeclaration(indexSignature.parent)) + return undefined; + var container = ts.isInterfaceDeclaration(indexSignature.parent) ? indexSignature.parent : ts.cast(indexSignature.parent.parent, ts.isTypeAliasDeclaration); + return { indexSignature: indexSignature, container: container }; + } + function createTypeAliasFromInterface(declaration, type) { + return ts.createTypeAliasDeclaration(declaration.decorators, declaration.modifiers, declaration.name, declaration.typeParameters, type); + } + function doChange(changes, sourceFile, _a) { + var indexSignature = _a.indexSignature, container = _a.container; + var members = ts.isInterfaceDeclaration(container) ? container.members : container.type.members; + var otherMembers = members.filter(function (member) { return !ts.isIndexSignatureDeclaration(member); }); + var parameter = ts.first(indexSignature.parameters); + var mappedTypeParameter = ts.createTypeParameterDeclaration(ts.cast(parameter.name, ts.isIdentifier), parameter.type); + var mappedIntersectionType = ts.createMappedTypeNode(ts.hasReadonlyModifier(indexSignature) ? ts.createModifier(132 /* ReadonlyKeyword */) : undefined, mappedTypeParameter, indexSignature.questionToken, indexSignature.type); + var intersectionType = ts.createIntersectionTypeNode(ts.getAllSuperTypeNodes(container).concat([ + mappedIntersectionType + ], (otherMembers.length ? [ts.createTypeLiteralNode(otherMembers)] : ts.emptyArray))); + changes.replaceNode(sourceFile, container, createTypeAliasFromInterface(container, intersectionType)); + } + })(codefix = ts.codefix || (ts.codefix = {})); +})(ts || (ts = {})); +/* @internal */ +var ts; +(function (ts) { + var refactor; + (function (refactor) { + var generateGetAccessorAndSetAccessor; + (function (generateGetAccessorAndSetAccessor) { + var refactorName = "Convert import"; + var actionNameNamespaceToNamed = "Convert namespace import to named imports"; + var actionNameNamedToNamespace = "Convert named imports to namespace import"; + refactor.registerRefactor(refactorName, { + getAvailableActions: function (context) { + var i = getImportToConvert(context); + if (!i) + return undefined; + var description = i.kind === 246 /* NamespaceImport */ ? ts.Diagnostics.Convert_namespace_import_to_named_imports.message : ts.Diagnostics.Convert_named_imports_to_namespace_import.message; + var actionName = i.kind === 246 /* NamespaceImport */ ? actionNameNamespaceToNamed : actionNameNamedToNamespace; + return [{ name: refactorName, description: description, actions: [{ name: actionName, description: description }] }]; + }, + getEditsForAction: function (context, actionName) { + ts.Debug.assert(actionName === actionNameNamespaceToNamed || actionName === actionNameNamedToNamespace); + var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, t, ts.Debug.assertDefined(getImportToConvert(context))); }); + return { edits: edits, renameFilename: undefined, renameLocation: undefined }; + } + }); + // Can convert imports of the form `import * as m from "m";` or `import d, { x, y } from "m";`. + function getImportToConvert(context) { + var file = context.file; + var span = ts.getRefactorContextSpan(context); + var token = ts.getTokenAtPosition(file, span.start, /*includeJsDocComment*/ false); + var importDecl = ts.getParentNodeInSpan(token, file, span); + if (!importDecl || !ts.isImportDeclaration(importDecl)) + return undefined; + var importClause = importDecl.importClause; + return importClause && importClause.namedBindings; + } + function doChange(sourceFile, program, changes, toConvert) { + var checker = program.getTypeChecker(); + if (toConvert.kind === 246 /* NamespaceImport */) { + doChangeNamespaceToNamed(sourceFile, checker, changes, toConvert, ts.getAllowSyntheticDefaultImports(program.getCompilerOptions())); + } + else { + doChangeNamedToNamespace(sourceFile, checker, changes, toConvert); + } + } + function doChangeNamespaceToNamed(sourceFile, checker, changes, toConvert, allowSyntheticDefaultImports) { + var usedAsNamespaceOrDefault = false; + var nodesToReplace = []; + var conflictingNames = ts.createMap(); + ts.FindAllReferences.Core.eachSymbolReferenceInFile(toConvert.name, checker, sourceFile, function (id) { + if (!ts.isPropertyAccessExpression(id.parent)) { + usedAsNamespaceOrDefault = true; + } + else { + var parent = ts.cast(id.parent, ts.isPropertyAccessExpression); + var exportName = parent.name.text; + if (checker.resolveName(exportName, id, 67108863 /* All */, /*excludeGlobals*/ true)) { + conflictingNames.set(exportName, true); + } + ts.Debug.assert(parent.expression === id); + nodesToReplace.push(parent); + } + }); + // We may need to change `mod.x` to `_x` to avoid a name conflict. + var exportNameToImportName = ts.createMap(); + for (var _i = 0, nodesToReplace_1 = nodesToReplace; _i < nodesToReplace_1.length; _i++) { + var propertyAccess = nodesToReplace_1[_i]; + var exportName = propertyAccess.name.text; + var importName = exportNameToImportName.get(exportName); + if (importName === undefined) { + exportNameToImportName.set(exportName, importName = conflictingNames.has(exportName) ? ts.getUniqueName(exportName, sourceFile) : exportName); + } + changes.replaceNode(sourceFile, propertyAccess, ts.createIdentifier(importName)); + } + var importSpecifiers = []; + exportNameToImportName.forEach(function (name, propertyName) { + importSpecifiers.push(ts.createImportSpecifier(name === propertyName ? undefined : ts.createIdentifier(propertyName), ts.createIdentifier(name))); + }); + var importDecl = toConvert.parent.parent; + if (usedAsNamespaceOrDefault && !allowSyntheticDefaultImports) { + // Need to leave the namespace import alone + changes.insertNodeAfter(sourceFile, importDecl, updateImport(importDecl, /*defaultImportName*/ undefined, importSpecifiers)); + } + else { + changes.replaceNode(sourceFile, importDecl, updateImport(importDecl, usedAsNamespaceOrDefault ? ts.createIdentifier(toConvert.name.text) : undefined, importSpecifiers)); + } + } + function doChangeNamedToNamespace(sourceFile, checker, changes, toConvert) { + var importDecl = toConvert.parent.parent; + var moduleSpecifier = importDecl.moduleSpecifier; + var preferredName = moduleSpecifier && ts.isStringLiteral(moduleSpecifier) ? ts.codefix.moduleSpecifierToValidIdentifier(moduleSpecifier.text, 6 /* ESNext */) : "module"; + var namespaceNameConflicts = toConvert.elements.some(function (element) { + return ts.FindAllReferences.Core.eachSymbolReferenceInFile(element.name, checker, sourceFile, function (id) { + return !!checker.resolveName(preferredName, id, 67108863 /* All */, /*excludeGlobals*/ true); + }) || false; + }); + var namespaceImportName = namespaceNameConflicts ? ts.getUniqueName(preferredName, sourceFile) : preferredName; + var neededNamedImports = []; + var _loop_22 = function (element) { + var propertyName = (element.propertyName || element.name).text; + ts.FindAllReferences.Core.eachSymbolReferenceInFile(element.name, checker, sourceFile, function (id) { + var access = ts.createPropertyAccess(ts.createIdentifier(namespaceImportName), propertyName); + if (ts.isShorthandPropertyAssignment(id.parent)) { + changes.replaceNode(sourceFile, id.parent, ts.createPropertyAssignment(id.text, access)); + } + else if (ts.isExportSpecifier(id.parent) && !id.parent.propertyName) { + if (!neededNamedImports.some(function (n) { return n.name === element.name; })) { + neededNamedImports.push(ts.createImportSpecifier(element.propertyName && ts.createIdentifier(element.propertyName.text), ts.createIdentifier(element.name.text))); + } + } + else { + changes.replaceNode(sourceFile, id, access); + } + }); + }; + for (var _i = 0, _a = toConvert.elements; _i < _a.length; _i++) { + var element = _a[_i]; + _loop_22(element); + } + changes.replaceNode(sourceFile, toConvert, ts.createNamespaceImport(ts.createIdentifier(namespaceImportName))); + if (neededNamedImports.length) { + changes.insertNodeAfter(sourceFile, toConvert.parent.parent, updateImport(importDecl, /*defaultImportName*/ undefined, neededNamedImports)); + } + } + function updateImport(old, defaultImportName, elements) { + return ts.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.createImportClause(defaultImportName, elements && elements.length ? ts.createNamedImports(elements) : undefined), old.moduleSpecifier); + } + })(generateGetAccessorAndSetAccessor = refactor.generateGetAccessorAndSetAccessor || (refactor.generateGetAccessorAndSetAccessor = {})); + })(refactor = ts.refactor || (ts.refactor = {})); +})(ts || (ts = {})); +/* @internal */ +var ts; (function (ts) { var refactor; (function (refactor) { @@ -103672,7 +104528,7 @@ var ts; /* Exported for tests */ function getEditsForAction(context, actionName) { var rangeToExtract = getRangeToExtract(context.file, ts.getRefactorContextSpan(context)); - var targetRange = rangeToExtract.targetRange; + var targetRange = rangeToExtract.targetRange; // TODO:GH#18217 var parsedFunctionIndexMatch = /^function_scope_(\d+)$/.exec(actionName); if (parsedFunctionIndexMatch) { var index = +parsedFunctionIndexMatch[1]; @@ -103743,9 +104599,9 @@ var ts; } // Walk up starting from the the start position until we find a non-SourceFile node that subsumes the selected span. // This may fail (e.g. you select two statements in the root of a source file) - var start = getParentNodeInSpan(ts.getTokenAtPosition(sourceFile, span.start, /*includeJsDocComment*/ false), sourceFile, span); + var start = ts.getParentNodeInSpan(ts.getTokenAtPosition(sourceFile, span.start, /*includeJsDocComment*/ false), sourceFile, span); // Do the same for the ending position - var end = getParentNodeInSpan(ts.findTokenOnLeftOfPosition(sourceFile, ts.textSpanEnd(span)), sourceFile, span); + var end = ts.getParentNodeInSpan(ts.findTokenOnLeftOfPosition(sourceFile, ts.textSpanEnd(span)), sourceFile, span); var declarations = []; // We'll modify these flags as we walk the tree to collect data // about what things need to be done as part of the extraction. @@ -103764,7 +104620,8 @@ var ts; return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractRange)] }; } var statements = []; - for (var _i = 0, _a = start.parent.statements; _i < _a.length; _i++) { + var start2 = start; // TODO: GH#18217 Need to alias `start` to get this to compile. See https://github.com/Microsoft/TypeScript/issues/19955#issuecomment-344118248 + for (var _i = 0, _a = start2.parent.statements; _i < _a.length; _i++) { var statement = _a[_i]; if (statement === start || statements.length) { var errors_1 = checkNode(statement); @@ -103797,7 +104654,7 @@ var ts; if (errors) { return { errors: errors }; } - return { targetRange: { range: getStatementOrExpressionRange(node), facts: rangeFacts, declarations: declarations } }; + return { targetRange: { range: getStatementOrExpressionRange(node), facts: rangeFacts, declarations: declarations } }; // TODO: GH#18217 /** * Attempt to refine the extraction node (generally, by shrinking it) to produce better results. * @param node The unrefined extraction node. @@ -103839,20 +104696,20 @@ var ts; function checkForStaticContext(nodeToCheck, containingClass) { var current = nodeToCheck; while (current !== containingClass) { - if (current.kind === 151 /* PropertyDeclaration */) { + if (current.kind === 152 /* PropertyDeclaration */) { if (ts.hasModifier(current, 32 /* Static */)) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 148 /* Parameter */) { + else if (current.kind === 149 /* Parameter */) { var ctorOrMethod = ts.getContainingFunction(current); - if (ctorOrMethod.kind === 154 /* Constructor */) { + if (ctorOrMethod.kind === 155 /* Constructor */) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 153 /* MethodDeclaration */) { + else if (current.kind === 154 /* MethodDeclaration */) { if (ts.hasModifier(current, 32 /* Static */)) { rangeFacts |= RangeFacts.InStaticRegion; } @@ -103895,8 +104752,11 @@ var ts; return true; } if (ts.isDeclaration(node)) { - var declaringNode = (node.kind === 231 /* VariableDeclaration */) ? node.parent.parent : node; + var declaringNode = (node.kind === 232 /* VariableDeclaration */) ? node.parent.parent : node; if (ts.hasModifier(declaringNode, 1 /* Export */)) { + // TODO: GH#18217 Silly to use `errors ||` since it's definitely not defined (see top of `visit`) + // Also, if we're only pushing one error, just use `let error: Diagnostic | undefined`! + // Also TODO: GH#19956 (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractExportedEntity)); return true; } @@ -103904,15 +104764,15 @@ var ts; } // Some things can't be extracted in certain situations switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractImport)); return true; case 97 /* SuperKeyword */: // For a super *constructor call*, we have to be extracting the entire class, // but a super *method call* simply implies a 'this' reference - if (node.parent.kind === 186 /* CallExpression */) { + if (node.parent.kind === 187 /* CallExpression */) { // Super constructor call - var containingClass_1 = ts.getContainingClass(node); + var containingClass_1 = ts.getContainingClass(node); // TODO:GH#18217 if (containingClass_1.pos < span.start || containingClass_1.end >= (span.start + span.length)) { (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractSuper)); return true; @@ -103923,10 +104783,10 @@ var ts; } break; } - if (!node || ts.isFunctionLikeDeclaration(node) || ts.isClassLike(node)) { + if (ts.isFunctionLikeDeclaration(node) || ts.isClassLike(node)) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: if (ts.isSourceFile(node.parent) && node.parent.externalModuleIndicator === undefined) { // You cannot extract global declarations (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.functionWillNotBeVisibleInTheNewScope)); @@ -103938,20 +104798,20 @@ var ts; } var savedPermittedJumps = permittedJumps; switch (node.kind) { - case 216 /* IfStatement */: + case 217 /* IfStatement */: permittedJumps = 0 /* None */; break; - case 229 /* TryStatement */: + case 230 /* TryStatement */: // forbid all jumps inside try blocks permittedJumps = 0 /* None */; break; - case 212 /* Block */: - if (node.parent && node.parent.kind === 229 /* TryStatement */ && node.parent.finallyBlock === node) { + case 213 /* Block */: + if (node.parent && node.parent.kind === 230 /* TryStatement */ && node.parent.finallyBlock === node) { // allow unconditional returns from finally blocks permittedJumps = 4 /* Return */; } break; - case 265 /* CaseClause */: + case 266 /* CaseClause */: // allow unlabeled break inside case clauses permittedJumps |= 1 /* Break */; break; @@ -103963,11 +104823,11 @@ var ts; break; } switch (node.kind) { - case 173 /* ThisType */: + case 174 /* ThisType */: case 99 /* ThisKeyword */: rangeFacts |= RangeFacts.UsesThis; break; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: { var label = node.label; (seenLabels || (seenLabels = [])).push(label.escapedText); @@ -103975,8 +104835,8 @@ var ts; seenLabels.pop(); break; } - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: { var label = node.label; if (label) { @@ -103986,20 +104846,20 @@ var ts; } } else { - if (!(permittedJumps & (node.kind === 223 /* BreakStatement */ ? 1 /* Break */ : 2 /* Continue */))) { + if (!(permittedJumps & (node.kind === 224 /* BreakStatement */ ? 1 /* Break */ : 2 /* Continue */))) { // attempt to break or continue in a forbidden context (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractRangeContainingConditionalBreakOrContinueStatements)); } } break; } - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: rangeFacts |= RangeFacts.IsAsyncFunction; break; - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: rangeFacts |= RangeFacts.IsGenerator; break; - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: if (permittedJumps & 4 /* Return */) { rangeFacts |= RangeFacts.HasReturn; } @@ -104053,7 +104913,7 @@ var ts; while (true) { current = current.parent; // A function parameter's initializer is actually in the outer scope, not the function declaration - if (current.kind === 148 /* Parameter */) { + if (current.kind === 149 /* Parameter */) { // Skip all the way to the outer scope of the function that declared this parameter current = ts.findAncestor(current, function (parent) { return ts.isFunctionLikeDeclaration(parent); }).parent; } @@ -104064,7 +104924,7 @@ var ts; // * Module/namespace or source file if (isScope(current)) { scopes.push(current); - if (current.kind === 273 /* SourceFile */) { + if (current.kind === 274 /* SourceFile */) { return scopes; } } @@ -104073,7 +104933,7 @@ var ts; function getFunctionExtractionAtIndex(targetRange, context, requestedChangesIndex) { var _a = getPossibleExtractionsWorker(targetRange, context), scopes = _a.scopes, _b = _a.readsAndWrites, target = _b.target, usagesPerScope = _b.usagesPerScope, functionErrorsPerScope = _b.functionErrorsPerScope, exposedVariableDeclarations = _b.exposedVariableDeclarations; ts.Debug.assert(!functionErrorsPerScope[requestedChangesIndex].length, "The extraction went missing? How?"); - context.cancellationToken.throwIfCancellationRequested(); + context.cancellationToken.throwIfCancellationRequested(); // TODO: GH#18217 return extractFunctionInScope(target, scopes[requestedChangesIndex], usagesPerScope[requestedChangesIndex], exposedVariableDeclarations, targetRange, context); } function getConstantExtractionAtIndex(targetRange, context, requestedChangesIndex) { @@ -104154,32 +105014,32 @@ var ts; } function getDescriptionForFunctionLikeDeclaration(scope) { switch (scope.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: return "constructor"; - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: return scope.name ? "function '" + scope.name.text + "'" : "anonymous function"; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return "arrow function"; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return "method '" + scope.name.getText(); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: return "'get " + scope.name.getText() + "'"; - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return "'set " + scope.name.getText() + "'"; default: - ts.Debug.assertNever(scope); + throw ts.Debug.assertNever(scope); } } function getDescriptionForClassLikeDeclaration(scope) { - return scope.kind === 234 /* ClassDeclaration */ + return scope.kind === 235 /* ClassDeclaration */ ? scope.name ? "class '" + scope.name.text + "'" : "anonymous class declaration" : scope.name ? "class expression '" + scope.name.text + "'" : "anonymous class expression"; } function getDescriptionForModuleLikeDeclaration(scope) { - return scope.kind === 239 /* ModuleBlock */ + return scope.kind === 240 /* ModuleBlock */ ? "namespace '" + scope.parent.name.getText() + "'" : scope.externalModuleIndicator ? 0 /* Module */ : 1 /* Global */; } @@ -104197,7 +105057,7 @@ var ts; var checker = context.program.getTypeChecker(); // Make a unique name for the extracted function var file = scope.getSourceFile(); - var functionNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newMethod" : "newFunction", file.text); + var functionNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newMethod" : "newFunction", file); var isJS = ts.isInJavaScriptFile(scope); var functionName = ts.createIdentifier(functionNameText); var returnType; @@ -104238,7 +105098,7 @@ var ts; // to avoid problems when there are literal types present if (ts.isExpression(node) && !isJS) { var contextualType = checker.getContextualType(node); - returnType = checker.typeToTypeNode(contextualType, scope, 1 /* NoTruncation */); + returnType = checker.typeToTypeNode(contextualType, scope, 1 /* NoTruncation */); // TODO: GH#18217 } var _b = transformFunctionBody(node, exposedVariableDeclarations, writes, substitutions, !!(range.facts & RangeFacts.HasReturn)), body = _b.body, returnValueProperty = _b.returnValueProperty; ts.suppressLeadingAndTrailingTrivia(body); @@ -104306,7 +105166,8 @@ var ts; /*propertyName*/ undefined, /*name*/ ts.getSynthesizedDeepClone(variableDeclaration.name))); // Being returned through an object literal will have widened the type. - var variableType = checker.typeToTypeNode(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(variableDeclaration)), scope, 1 /* NoTruncation */); + var variableType = checker.typeToTypeNode(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(variableDeclaration)), // TODO: GH#18217 + scope, 1 /* NoTruncation */); typeElements.push(ts.createPropertySignature( /*modifiers*/ undefined, /*name*/ variableDeclaration.symbol.name, @@ -104413,11 +105274,11 @@ var ts; var checker = context.program.getTypeChecker(); // Make a unique name for the extracted variable var file = scope.getSourceFile(); - var localNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newProperty" : "newLocal", file.text); + var localNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newProperty" : "newLocal", file); var isJS = ts.isInJavaScriptFile(scope); var variableType = isJS || !checker.isContextSensitive(node) ? undefined - : checker.typeToTypeNode(checker.getContextualType(node), scope, 1 /* NoTruncation */); + : checker.typeToTypeNode(checker.getContextualType(node), scope, 1 /* NoTruncation */); // TODO: GH#18217 var initializer = transformConstantInitializer(node, substitutions); ts.suppressLeadingAndTrailingTrivia(initializer); var changeTracker = ts.textChanges.ChangeTracker.fromContext(context); @@ -104433,7 +105294,7 @@ var ts; /*decorators*/ undefined, modifiers, localNameText, /*questionToken*/ undefined, variableType, initializer); var localReference = ts.createPropertyAccess(rangeFacts & RangeFacts.InStaticRegion - ? ts.createIdentifier(scope.name.getText()) + ? ts.createIdentifier(scope.name.getText()) // TODO: GH#18217 : ts.createThis(), ts.createIdentifier(localNameText)); // Declare var maxInsertionPos = node.pos; @@ -104457,7 +105318,7 @@ var ts; var localReference = ts.createIdentifier(localNameText); changeTracker.replaceNode(context.file, node, localReference); } - else if (node.parent.kind === 215 /* ExpressionStatement */ && scope === ts.findAncestor(node, isScope)) { + else if (node.parent.kind === 216 /* ExpressionStatement */ && scope === ts.findAncestor(node, isScope)) { // If the parent is an expression statement and the target scope is the immediately enclosing one, // replace the statement with the declaration. var newVariableStatement = ts.createVariableStatement( @@ -104476,7 +105337,7 @@ var ts; changeTracker.insertNodeBefore(context.file, nodeToInsertBefore, newVariableStatement, /*blankLineBetween*/ false); } // Consume - if (node.parent.kind === 215 /* ExpressionStatement */) { + if (node.parent.kind === 216 /* ExpressionStatement */) { // If the parent is an expression statement, delete it. changeTracker.deleteNode(context.file, node.parent, ts.textChanges.useNonAdjustedPositions); } @@ -104527,7 +105388,7 @@ var ts; function getCalledExpression(scope, range, functionNameText) { var functionReference = ts.createIdentifier(functionNameText); if (ts.isClassLike(scope)) { - var lhs = range.facts & RangeFacts.InStaticRegion ? ts.createIdentifier(scope.name.text) : ts.createThis(); + var lhs = range.facts & RangeFacts.InStaticRegion ? ts.createIdentifier(scope.name.text) : ts.createThis(); // TODO: GH#18217 return ts.createPropertyAccess(lhs, functionReference); } else { @@ -104563,7 +105424,7 @@ var ts; return { body: ts.createBlock(statements, /*multiLine*/ true), returnValueProperty: undefined }; } function visitor(node) { - if (!ignoreReturns && node.kind === 224 /* ReturnStatement */ && hasWritesOrVariableDeclarations) { + if (!ignoreReturns && node.kind === 225 /* ReturnStatement */ && hasWritesOrVariableDeclarations) { var assignments = getPropertyAssignmentsForWritesAndVariableDeclarations(exposedVariableDeclarations, writes); if (node.expression) { if (!returnValueProperty) { @@ -104599,7 +105460,7 @@ var ts; } function getStatementsOrClassElements(scope) { if (ts.isFunctionLikeDeclaration(scope)) { - var body = scope.body; + var body = scope.body; // TODO: GH#18217 if (ts.isBlock(body)) { return body.statements; } @@ -104644,7 +105505,8 @@ var ts; } prevMember = member; } - ts.Debug.assert(prevMember !== undefined); // If the loop didn't return, then it did set prevMember. + if (prevMember === undefined) + return ts.Debug.fail(); // If the loop didn't return, then it did set prevMember. return prevMember; } function getNodeToInsertConstantBefore(node, scope) { @@ -104671,18 +105533,15 @@ var ts; return curr.parent.parent; } // There must be at least one statement since we started in one. - ts.Debug.assert(prevStatement !== undefined); - return prevStatement; - } - if (curr === scope) { - ts.Debug.fail("Didn't encounter a block-like before encountering scope"); - break; + return ts.Debug.assertDefined(prevStatement); } + ts.Debug.assert(curr !== scope, "Didn't encounter a block-like before encountering scope"); } } function getPropertyAssignmentsForWritesAndVariableDeclarations(exposedVariableDeclarations, writes) { var variableAssignments = ts.map(exposedVariableDeclarations, function (v) { return ts.createShorthandPropertyAssignment(v.symbol.name); }); var writeAssignments = ts.map(writes, function (w) { return ts.createShorthandPropertyAssignment(w.symbol.name); }); + // TODO: GH#18217 `variableAssignments` not possibly undefined! return variableAssignments === undefined ? writeAssignments : writeAssignments === undefined @@ -104735,7 +105594,7 @@ var ts; var end = ts.last(statements).end; expressionDiagnostic = ts.createFileDiagnostic(sourceFile, start, end - start, Messages.expressionExpected); } - else if (checker.getTypeAtLocation(expression).flags & (2048 /* Void */ | 16384 /* Never */)) { + else if (checker.getTypeAtLocation(expression).flags & (4096 /* Void */ | 32768 /* Never */)) { // TODO: GH#18217 expressionDiagnostic = ts.createDiagnosticForNode(expression, Messages.uselessConstantType); } // initialize results @@ -104743,7 +105602,7 @@ var ts; var scope = scopes_1[_i]; usagesPerScope.push({ usages: ts.createMap(), typeParameterUsages: ts.createMap(), substitutions: ts.createMap() }); substitutionsPerScope.push(ts.createMap()); - functionErrorsPerScope.push(ts.isFunctionLikeDeclaration(scope) && scope.kind !== 233 /* FunctionDeclaration */ + functionErrorsPerScope.push(ts.isFunctionLikeDeclaration(scope) && scope.kind !== 234 /* FunctionDeclaration */ ? [ts.createDiagnosticForNode(scope, Messages.cannotExtractToOtherFunctionLike)] : []); var constantErrors = []; @@ -104768,7 +105627,7 @@ var ts; // will use the contextual type of an expression as the return type of the extracted // method (and will therefore "use" all the types involved). if (inGenericContext && !isReadonlyArray(targetRange.range)) { - var contextualType = checker.getContextualType(targetRange.range); + var contextualType = checker.getContextualType(targetRange.range); // TODO: GH#18217 recordTypeParameterUsages(contextualType); } if (allTypeParameterUsages.size > 0) { @@ -104806,7 +105665,7 @@ var ts; : ts.getEnclosingBlockScopeContainer(scopes[0]); ts.forEachChild(containingLexicalScopeOfExtraction, checkForUsedDeclarations); } - var _loop_19 = function (i) { + var _loop_23 = function (i) { var scopeUsages = usagesPerScope[i]; // Special case: in the innermost scope, all usages are available. // (The computed value reflects the value at the top-level of the scope, but the @@ -104846,7 +105705,7 @@ var ts; } }; for (var i = 0; i < scopes.length; i++) { - _loop_19(i); + _loop_23(i); } return { target: target, usagesPerScope: usagesPerScope, functionErrorsPerScope: functionErrorsPerScope, constantErrorsPerScope: constantErrorsPerScope, exposedVariableDeclarations: exposedVariableDeclarations }; function isInGenericContext(node) { @@ -104868,7 +105727,7 @@ var ts; function collectUsages(node, valueUsage) { if (valueUsage === void 0) { valueUsage = 1 /* Read */; } if (inGenericContext) { - var type = checker.getTypeAtLocation(node); + var type = checker.getTypeAtLocation(node); // TODO: GH#18217 recordTypeParameterUsages(type); } if (ts.isDeclaration(node) && node.symbol) { @@ -105049,20 +105908,6 @@ var ts; : ts.createPropertyAccess(prefix, symbol.name); } } - function getParentNodeInSpan(node, file, span) { - if (!node) - return undefined; - while (node.parent) { - if (ts.isSourceFile(node.parent) || !spanContainsNode(span, node.parent, file)) { - return node; - } - node = node.parent; - } - } - function spanContainsNode(span, node, file) { - return ts.textSpanContainsPosition(span, node.getStart(file)) && - node.getEnd() <= ts.textSpanEnd(span); - } /** * Computes whether or not a node represents an expression in a position where it could * be extracted. @@ -105071,31 +105916,32 @@ var ts; * in the sense of something that you could extract on */ function isExtractableExpression(node) { - switch (node.parent.kind) { - case 272 /* EnumMember */: + var parent = node.parent; + switch (parent.kind) { + case 273 /* EnumMember */: return false; } switch (node.kind) { case 9 /* StringLiteral */: - return node.parent.kind !== 243 /* ImportDeclaration */ && - node.parent.kind !== 247 /* ImportSpecifier */; - case 203 /* SpreadElement */: - case 179 /* ObjectBindingPattern */: - case 181 /* BindingElement */: + return parent.kind !== 244 /* ImportDeclaration */ && + parent.kind !== 248 /* ImportSpecifier */; + case 204 /* SpreadElement */: + case 180 /* ObjectBindingPattern */: + case 182 /* BindingElement */: return false; case 71 /* Identifier */: - return node.parent.kind !== 181 /* BindingElement */ && - node.parent.kind !== 247 /* ImportSpecifier */ && - node.parent.kind !== 251 /* ExportSpecifier */; + return parent.kind !== 182 /* BindingElement */ && + parent.kind !== 248 /* ImportSpecifier */ && + parent.kind !== 252 /* ExportSpecifier */; } return true; } function isBlockLike(node) { switch (node.kind) { - case 212 /* Block */: - case 273 /* SourceFile */: - case 239 /* ModuleBlock */: - case 265 /* CaseClause */: + case 213 /* Block */: + case 274 /* SourceFile */: + case 240 /* ModuleBlock */: + case 266 /* CaseClause */: return true; default: return false; @@ -105172,7 +106018,7 @@ var ts; var renameLocation = renameLocationOffset + ts.getRenameLocation(edits, renameFilename, nameNeedRename.text, /*preferLastLocation*/ ts.isParameter(declaration)); return { renameFilename: renameFilename, renameLocation: renameLocation, edits: edits }; } - function isConvertableName(name) { + function isConvertibleName(name) { return ts.isIdentifier(name) || ts.isStringLiteral(name); } function isAcceptedDeclaration(node) { @@ -105182,7 +106028,7 @@ var ts; return ts.isIdentifier(originalName) ? ts.createIdentifier(name) : ts.createLiteral(name); } function createAccessorAccessExpression(fieldName, isStatic, container) { - var leftHead = isStatic ? container.name : ts.createThis(); + var leftHead = isStatic ? container.name : ts.createThis(); // TODO: GH#18217 return ts.isIdentifier(fieldName) ? ts.createPropertyAccess(leftHead, fieldName) : ts.createElementAccess(leftHead, ts.createLiteral(fieldName)); } function getModifiers(isJS, isStatic, accessModifier) { @@ -105198,18 +106044,18 @@ var ts; var declaration = ts.findAncestor(node.parent, isAcceptedDeclaration); // make sure declaration have AccessibilityModifier or Static Modifier or Readonly Modifier var meaning = 28 /* AccessibilityModifier */ | 32 /* Static */ | 64 /* Readonly */; - if (!declaration || !ts.rangeOverlapsWithStartEnd(declaration.name, startPosition, endPosition) - || !isConvertableName(declaration.name) || (ts.getModifierFlags(declaration) | meaning) !== meaning) + if (!declaration || !ts.rangeOverlapsWithStartEnd(declaration.name, startPosition, endPosition) // TODO: GH#18217 + || !isConvertibleName(declaration.name) || (ts.getModifierFlags(declaration) | meaning) !== meaning) return undefined; var name = declaration.name.text; var startWithUnderscore = startsWithUnderscore(name); - var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_" + name, file.text), declaration.name); - var accessorName = createPropertyName(startWithUnderscore ? ts.getUniqueName(name.substring(1), file.text) : name, declaration.name); + var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_" + name, file), declaration.name); + var accessorName = createPropertyName(startWithUnderscore ? ts.getUniqueName(name.substring(1), file) : name, declaration.name); return { isStatic: ts.hasStaticModifier(declaration), isReadonly: ts.hasReadonlyModifier(declaration), type: ts.getTypeAnnotationNode(declaration), - container: declaration.kind === 148 /* Parameter */ ? declaration.parent.parent : declaration.parent, + container: declaration.kind === 149 /* Parameter */ ? declaration.parent.parent : declaration.parent, originalName: declaration.name, declaration: declaration, fieldName: fieldName, @@ -105220,7 +106066,8 @@ var ts; function generateGetAccessor(fieldName, accessorName, type, modifiers, isStatic, container) { return ts.createGetAccessor( /*decorators*/ undefined, modifiers, accessorName, - /*parameters*/ undefined, type, ts.createBlock([ + /*parameters*/ undefined, // TODO: GH#18217 + type, ts.createBlock([ ts.createReturn(createAccessorAccessExpression(fieldName, isStatic, container)) ], /*multiLine*/ true)); } @@ -105264,7 +106111,9 @@ var ts; if (!constructor.body) return; var file = context.file, program = context.program, cancellationToken = context.cancellationToken; - var referenceEntries = ts.mapDefined(ts.FindAllReferences.getReferenceEntriesForNode(originalName.parent.pos, originalName, program, [file], cancellationToken), function (entry) { return ((entry.type === "node" && ts.rangeContainsRange(constructor, entry.node) && ts.isIdentifier(entry.node) && ts.isWriteAccess(entry.node)) ? entry.node : undefined); }); + var referenceEntries = ts.mapDefined(ts.FindAllReferences.getReferenceEntriesForNode(originalName.parent.pos, originalName, program, [file], cancellationToken), function (entry) { + return (entry.type === "node" && ts.rangeContainsRange(constructor, entry.node) && ts.isIdentifier(entry.node) && ts.isWriteAccess(entry.node)) ? entry.node : undefined; + }); ts.forEach(referenceEntries, function (entry) { var parent = entry.parent; var accessorName = ts.createIdentifier(fieldName.text); @@ -105287,7 +106136,7 @@ var ts; var refactorName = "Move to a new file"; refactor.registerRefactor(refactorName, { getAvailableActions: function (context) { - if (!context.preferences.allowTextChangesInNewFiles || getFirstAndLastStatementToMove(context) === undefined) + if (!context.preferences.allowTextChangesInNewFiles || getStatementsToMove(context) === undefined) return undefined; var description = ts.getLocaleSpecificMessage(ts.Diagnostics.Move_to_a_new_file); return [{ name: refactorName, description: description, actions: [{ name: refactorName, description: description }] }]; @@ -105295,27 +106144,34 @@ var ts; getEditsForAction: function (context, actionName) { ts.Debug.assert(actionName === refactorName); var statements = ts.Debug.assertDefined(getStatementsToMove(context)); - var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, statements, t, context.host); }); + var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, statements, t, context.host, context.preferences); }); return { edits: edits, renameFilename: undefined, renameLocation: undefined }; } }); - function getFirstAndLastStatementToMove(context) { + function getRangeToMove(context) { var file = context.file; var range = ts.createTextRangeFromSpan(ts.getRefactorContextSpan(context)); var statements = file.statements; var startNodeIndex = ts.findIndex(statements, function (s) { return s.end > range.pos; }); if (startNodeIndex === -1) return undefined; + var startStatement = statements[startNodeIndex]; + if (ts.isNamedDeclaration(startStatement) && startStatement.name && ts.rangeContainsRange(startStatement.name, range)) { + return { toMove: [statements[startNodeIndex]], afterLast: statements[startNodeIndex + 1] }; + } // Can't only partially include the start node or be partially into the next node - if (range.pos > statements[startNodeIndex].getStart(file)) + if (range.pos > startStatement.getStart(file)) return undefined; var afterEndNodeIndex = ts.findIndex(statements, function (s) { return s.end > range.end; }, startNodeIndex); // Can't be partially into the next node if (afterEndNodeIndex !== -1 && (afterEndNodeIndex === 0 || statements[afterEndNodeIndex].getStart(file) < range.end)) return undefined; - return { first: startNodeIndex, afterLast: afterEndNodeIndex === -1 ? statements.length : afterEndNodeIndex }; + return { + toMove: statements.slice(startNodeIndex, afterEndNodeIndex === -1 ? statements.length : afterEndNodeIndex), + afterLast: afterEndNodeIndex === -1 ? undefined : statements[afterEndNodeIndex], + }; } - function doChange(oldFile, program, toMove, changes, host) { + function doChange(oldFile, program, toMove, changes, host, preferences) { var checker = program.getTypeChecker(); var usage = getUsageInfo(oldFile, toMove.all, checker); var currentDirectory = ts.getDirectoryPath(oldFile.fileName); @@ -105323,31 +106179,32 @@ var ts; var newModuleName = makeUniqueModuleName(getNewModuleName(usage.movedSymbols), extension, currentDirectory, host); var newFileNameWithExtension = newModuleName + extension; // If previous file was global, this is easy. - changes.createNewFile(oldFile, ts.combinePaths(currentDirectory, newFileNameWithExtension), getNewStatements(oldFile, usage, changes, toMove, program, newModuleName)); + changes.createNewFile(oldFile, ts.combinePaths(currentDirectory, newFileNameWithExtension), getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, newModuleName, preferences)); addNewFileToTsconfig(program, changes, oldFile.fileName, newFileNameWithExtension, ts.hostGetCanonicalFileName(host)); } // Filters imports out of the range of statements to move. Imports will be copied to the new file anyway, and may still be needed in the old file. function getStatementsToMove(context) { - var statements = context.file.statements; - var _a = getFirstAndLastStatementToMove(context), first = _a.first, afterLast = _a.afterLast; + var rangeToMove = getRangeToMove(context); + if (rangeToMove === undefined) + return undefined; var all = []; var ranges = []; - var rangeToMove = statements.slice(first, afterLast); - ts.getRangesWhere(rangeToMove, function (s) { return !isPureImport(s); }, function (start, afterEnd) { - for (var i = start; i < afterEnd; i++) - all.push(rangeToMove[i]); - ranges.push({ first: rangeToMove[start], last: rangeToMove[afterEnd - 1] }); + var toMove = rangeToMove.toMove, afterLast = rangeToMove.afterLast; + ts.getRangesWhere(toMove, function (s) { return !isPureImport(s); }, function (start, afterEndIndex) { + for (var i = start; i < afterEndIndex; i++) + all.push(toMove[i]); + ranges.push({ first: toMove[start], afterLast: afterLast }); }); - return { all: all, ranges: ranges }; + return all.length === 0 ? undefined : { all: all, ranges: ranges }; } function isPureImport(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return true; - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return !ts.hasModifier(node, 1 /* Export */); - case 213 /* VariableStatement */: - return node.declarationList.declarations.every(function (d) { return d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ true); }); + case 214 /* VariableStatement */: + return node.declarationList.declarations.every(function (d) { return !!d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ true); }); default: return false; } @@ -105366,26 +106223,26 @@ var ts; changes.insertNodeInListAfter(cfg, ts.last(filesProp.initializer.elements), ts.createLiteral(newFilePath), filesProp.initializer.elements); } } - function getNewStatements(oldFile, usage, changes, toMove, program, newModuleName) { + function getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, newModuleName, preferences) { var checker = program.getTypeChecker(); if (!oldFile.externalModuleIndicator && !oldFile.commonJsModuleIndicator) { deleteMovedStatements(oldFile, toMove.ranges, changes); return toMove.all; } var useEs6ModuleSyntax = !!oldFile.externalModuleIndicator; - var importsFromNewFile = createOldFileImportsFromNewFile(usage.oldFileImportsFromNewFile, newModuleName, useEs6ModuleSyntax); + var importsFromNewFile = createOldFileImportsFromNewFile(usage.oldFileImportsFromNewFile, newModuleName, useEs6ModuleSyntax, preferences); if (importsFromNewFile) { changes.insertNodeBefore(oldFile, oldFile.statements[0], importsFromNewFile, /*blankLineBetween*/ true); } deleteUnusedOldImports(oldFile, toMove.all, changes, usage.unusedImportsFromOldFile, checker); deleteMovedStatements(oldFile, toMove.ranges, changes); updateImportsInOtherFiles(changes, program, oldFile, usage.movedSymbols, newModuleName); - return getNewFileImportsAndAddExportInOldFile(oldFile, usage.oldImportsNeededByNewFile, usage.newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax).concat(addExports(oldFile, toMove.all, usage.oldFileImportsFromNewFile, useEs6ModuleSyntax)); + return getNewFileImportsAndAddExportInOldFile(oldFile, usage.oldImportsNeededByNewFile, usage.newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax, preferences).concat(addExports(oldFile, toMove.all, usage.oldFileImportsFromNewFile, useEs6ModuleSyntax)); } function deleteMovedStatements(sourceFile, moved, changes) { for (var _i = 0, moved_1 = moved; _i < moved_1.length; _i++) { - var _a = moved_1[_i], first_1 = _a.first, last_3 = _a.last; - changes.deleteNodeRange(sourceFile, first_1, last_3); + var _a = moved_1[_i], first_1 = _a.first, afterLast = _a.afterLast; + changes.deleteNodeRangeExcludingEnd(sourceFile, first_1, afterLast); } } function deleteUnusedOldImports(oldFile, toMove, changes, toDelete, checker) { @@ -105398,15 +106255,17 @@ var ts; } function updateImportsInOtherFiles(changes, program, oldFile, movedSymbols, newModuleName) { var checker = program.getTypeChecker(); - var _loop_20 = function (sourceFile) { + var _loop_24 = function (sourceFile) { if (sourceFile === oldFile) return "continue"; - var _loop_21 = function (statement) { + var _loop_25 = function (statement) { forEachImportInStatement(statement, function (importNode) { + if (checker.getSymbolAtLocation(moduleSpecifierFromImport(importNode)) !== oldFile.symbol) + return; var shouldMove = function (name) { var symbol = ts.isBindingElement(name.parent) ? ts.getPropertySymbolFromBindingElement(checker, name.parent) - : ts.skipAlias(checker.getSymbolAtLocation(name), checker); + : ts.skipAlias(checker.getSymbolAtLocation(name), checker); // TODO: GH#18217 return !!symbol && movedSymbols.has(symbol); }; deleteUnusedImports(sourceFile, importNode, changes, shouldMove); // These will be changed to imports from the new file @@ -105414,21 +106273,73 @@ var ts; var newImportDeclaration = filterImport(importNode, ts.createLiteral(newModuleSpecifier), shouldMove); if (newImportDeclaration) changes.insertNodeAfter(sourceFile, statement, newImportDeclaration); + var ns = getNamespaceLikeImport(importNode); + if (ns) + updateNamespaceLikeImport(changes, sourceFile, checker, movedSymbols, newModuleName, newModuleSpecifier, ns, importNode); }); }; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var statement = _a[_i]; - _loop_21(statement); + _loop_25(statement); } }; for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { var sourceFile = _a[_i]; - _loop_20(sourceFile); + _loop_24(sourceFile); + } + } + function getNamespaceLikeImport(node) { + switch (node.kind) { + case 244 /* ImportDeclaration */: + return node.importClause && node.importClause.namedBindings && node.importClause.namedBindings.kind === 246 /* NamespaceImport */ ? + node.importClause.namedBindings.name : undefined; + case 243 /* ImportEqualsDeclaration */: + return node.name; + case 232 /* VariableDeclaration */: + return ts.tryCast(node.name, ts.isIdentifier); + default: + return ts.Debug.assertNever(node); + } + } + function updateNamespaceLikeImport(changes, sourceFile, checker, movedSymbols, newModuleName, newModuleSpecifier, oldImportId, oldImportNode) { + var preferredNewNamespaceName = ts.codefix.moduleSpecifierToValidIdentifier(newModuleName, 6 /* ESNext */); + var needUniqueName = false; + var toChange = []; + ts.FindAllReferences.Core.eachSymbolReferenceInFile(oldImportId, checker, sourceFile, function (ref) { + if (!ts.isPropertyAccessExpression(ref.parent)) + return; + needUniqueName = needUniqueName || !!checker.resolveName(preferredNewNamespaceName, ref, 67108863 /* All */, /*excludeGlobals*/ true); + if (movedSymbols.has(checker.getSymbolAtLocation(ref.parent.name))) { + toChange.push(ref); + } + }); + if (toChange.length) { + var newNamespaceName = needUniqueName ? ts.getUniqueName(preferredNewNamespaceName, sourceFile) : preferredNewNamespaceName; + for (var _i = 0, toChange_1 = toChange; _i < toChange_1.length; _i++) { + var ref = toChange_1[_i]; + changes.replaceNode(sourceFile, ref, ts.createIdentifier(newNamespaceName)); + } + changes.insertNodeAfter(sourceFile, oldImportNode, updateNamespaceLikeImportNode(oldImportNode, newModuleName, newModuleSpecifier)); + } + } + function updateNamespaceLikeImportNode(node, newNamespaceName, newModuleSpecifier) { + var newNamespaceId = ts.createIdentifier(newNamespaceName); + var newModuleString = ts.createLiteral(newModuleSpecifier); + switch (node.kind) { + case 244 /* ImportDeclaration */: + return ts.createImportDeclaration( + /*decorators*/ undefined, /*modifiers*/ undefined, ts.createImportClause(/*name*/ undefined, ts.createNamespaceImport(newNamespaceId)), newModuleString); + case 243 /* ImportEqualsDeclaration */: + return ts.createImportEqualsDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, newNamespaceId, ts.createExternalModuleReference(newModuleString)); + case 232 /* VariableDeclaration */: + return ts.createVariableDeclaration(newNamespaceId, /*type*/ undefined, createRequireCall(newModuleString)); + default: + return ts.Debug.assertNever(node); } } function moduleSpecifierFromImport(i) { - return (i.kind === 243 /* ImportDeclaration */ ? i.moduleSpecifier - : i.kind === 242 /* ImportEqualsDeclaration */ ? i.moduleReference.expression + return (i.kind === 244 /* ImportDeclaration */ ? i.moduleSpecifier + : i.kind === 243 /* ImportEqualsDeclaration */ ? i.moduleReference.expression : i.initializer.arguments[0]); } function forEachImportInStatement(statement, cb) { @@ -105450,24 +106361,24 @@ var ts; } } } - function createOldFileImportsFromNewFile(newFileNeedExport, newFileNameWithExtension, useEs6Imports) { + function createOldFileImportsFromNewFile(newFileNeedExport, newFileNameWithExtension, useEs6Imports, preferences) { var defaultImport; var imports = []; newFileNeedExport.forEach(function (symbol) { if (symbol.escapedName === "default" /* Default */) { - defaultImport = ts.createIdentifier(ts.symbolNameNoDefault(symbol)); + defaultImport = ts.createIdentifier(ts.symbolNameNoDefault(symbol)); // TODO: GH#18217 } else { imports.push(symbol.name); } }); - return makeImportOrRequire(defaultImport, imports, newFileNameWithExtension, useEs6Imports); + return makeImportOrRequire(defaultImport, imports, newFileNameWithExtension, useEs6Imports, preferences); } - function makeImportOrRequire(defaultImport, imports, path, useEs6Imports) { + function makeImportOrRequire(defaultImport, imports, path, useEs6Imports, preferences) { path = ts.ensurePathIsNonModuleName(path); if (useEs6Imports) { var specifiers = imports.map(function (i) { return ts.createImportSpecifier(/*propertyName*/ undefined, ts.createIdentifier(i)); }); - return ts.makeImportIfNecessary(defaultImport, specifiers, path); + return ts.makeImportIfNecessary(defaultImport, specifiers, path, preferences); } else { ts.Debug.assert(!defaultImport); // If there's a default export, it should have been an es6 module. @@ -105498,15 +106409,15 @@ var ts; } function deleteUnusedImports(sourceFile, importDecl, changes, isUnused) { switch (importDecl.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: deleteUnusedImportsInDeclaration(sourceFile, importDecl, changes, isUnused); break; - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: if (isUnused(importDecl.name)) { changes.deleteNode(sourceFile, importDecl); } break; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: deleteUnusedImportsInVariableDeclaration(sourceFile, importDecl, changes, isUnused); break; default: @@ -105519,7 +106430,7 @@ var ts; var _a = importDecl.importClause, name = _a.name, namedBindings = _a.namedBindings; var defaultUnused = !name || isUnused(name); var namedBindingsUnused = !namedBindings || - (namedBindings.kind === 245 /* NamespaceImport */ ? isUnused(namedBindings.name) : namedBindings.elements.every(function (e) { return isUnused(e.name); })); + (namedBindings.kind === 246 /* NamespaceImport */ ? isUnused(namedBindings.name) : namedBindings.elements.every(function (e) { return isUnused(e.name); })); if (defaultUnused && namedBindingsUnused) { changes.deleteNode(sourceFile, importDecl); } @@ -105531,7 +106442,7 @@ var ts; if (namedBindingsUnused) { changes.deleteNode(sourceFile, namedBindings); } - else if (namedBindings.kind === 246 /* NamedImports */) { + else if (namedBindings.kind === 247 /* NamedImports */) { for (var _i = 0, _b = namedBindings.elements; _i < _b.length; _i++) { var element = _b[_i]; if (isUnused(element.name)) @@ -105549,9 +106460,9 @@ var ts; changes.deleteNode(sourceFile, name); } break; - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: break; - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: if (name.elements.every(function (e) { return ts.isIdentifier(e.name) && isUnused(e.name); })) { changes.deleteNode(sourceFile, ts.isVariableDeclarationList(varDecl.parent) && varDecl.parent.declarations.length === 1 ? varDecl.parent.parent : varDecl); } @@ -105566,7 +106477,7 @@ var ts; break; } } - function getNewFileImportsAndAddExportInOldFile(oldFile, importsToCopy, newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax) { + function getNewFileImportsAndAddExportInOldFile(oldFile, importsToCopy, newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax, preferences) { var copiedOldImports = []; for (var _i = 0, _a = oldFile.statements; _i < _a.length; _i++) { var oldStatement = _a[_i]; @@ -105598,7 +106509,7 @@ var ts; } } }); - ts.append(copiedOldImports, makeImportOrRequire(oldFileDefault, oldFileNamedImports, ts.removeFileExtension(ts.getBaseFileName(oldFile.fileName)), useEs6ModuleSyntax)); + ts.append(copiedOldImports, makeImportOrRequire(oldFileDefault, oldFileNamedImports, ts.removeFileExtension(ts.getBaseFileName(oldFile.fileName)), useEs6ModuleSyntax, preferences)); return copiedOldImports; } function makeUniqueModuleName(moduleName, extension, inDirectory, host) { @@ -105606,7 +106517,7 @@ var ts; for (var i = 1;; i++) { var name = ts.combinePaths(inDirectory, newModuleName + extension); if (!host.fileExists(name)) - return newModuleName; + return newModuleName; // TODO: GH#18217 newModuleName = moduleName + "." + i; } } @@ -105633,7 +106544,7 @@ var ts; if (isInImport(decl)) { oldImportsNeededByNewFile.add(symbol); } - else if (isTopLevelDeclaration(decl) && !movedSymbols.has(symbol)) { + else if (isTopLevelDeclaration(decl) && sourceFileOfTopLevelDeclaration(decl) === oldFile && !movedSymbols.has(symbol)) { newFileImportsFromOldFile.add(symbol); } } @@ -105656,13 +106567,13 @@ var ts; // Below should all be utilities function isInImport(decl) { switch (decl.kind) { - case 242 /* ImportEqualsDeclaration */: - case 247 /* ImportSpecifier */: - case 244 /* ImportClause */: + case 243 /* ImportEqualsDeclaration */: + case 248 /* ImportSpecifier */: + case 245 /* ImportClause */: return true; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return isVariableDeclarationInImport(decl); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return ts.isVariableDeclaration(decl.parent.parent) && isVariableDeclarationInImport(decl.parent.parent); default: return false; @@ -105674,7 +106585,7 @@ var ts; } function filterImport(i, moduleSpecifier, keep) { switch (i.kind) { - case 243 /* ImportDeclaration */: { + case 244 /* ImportDeclaration */: { var clause = i.importClause; if (!clause) return undefined; @@ -105684,9 +106595,9 @@ var ts; ? ts.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.createImportClause(defaultImport, namedBindings), moduleSpecifier) : undefined; } - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return keep(i.name) ? i : undefined; - case 231 /* VariableDeclaration */: { + case 232 /* VariableDeclaration */: { var name = filterBindingName(i.name, keep); return name ? makeVariableStatement(name, i.type, createRequireCall(moduleSpecifier), i.parent.flags) : undefined; } @@ -105695,7 +106606,7 @@ var ts; } } function filterNamedBindings(namedBindings, keep) { - if (namedBindings.kind === 245 /* NamespaceImport */) { + if (namedBindings.kind === 246 /* NamespaceImport */) { return keep(namedBindings.name) ? namedBindings : undefined; } else { @@ -105707,9 +106618,9 @@ var ts; switch (name.kind) { case 71 /* Identifier */: return keep(name) ? name : undefined; - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: return name; - case 179 /* ObjectBindingPattern */: { + case 180 /* ObjectBindingPattern */: { // We can't handle nested destructurings or property names well here, so just copy them all. var newElements = name.elements.filter(function (prop) { return prop.propertyName || !ts.isIdentifier(prop.name) || keep(prop.name); }); return newElements.length ? ts.createObjectBindingPattern(newElements) : undefined; @@ -105755,7 +106666,10 @@ var ts; return SymbolSet; }()); function isTopLevelDeclaration(node) { - return isNonVariableTopLevelDeclaration(node) || ts.isVariableDeclaration(node) && ts.isSourceFile(node.parent.parent.parent); + return isNonVariableTopLevelDeclaration(node) && ts.isSourceFile(node.parent) || ts.isVariableDeclaration(node) && ts.isSourceFile(node.parent.parent.parent); + } + function sourceFileOfTopLevelDeclaration(node) { + return ts.isVariableDeclaration(node) ? node.parent.parent.parent : node.parent; } function isTopLevelDeclarationStatement(node) { ts.Debug.assert(ts.isSourceFile(node.parent)); @@ -105763,13 +106677,13 @@ var ts; } function isNonVariableTopLevelDeclaration(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 235 /* InterfaceDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 243 /* ImportEqualsDeclaration */: return true; default: return false; @@ -105777,17 +106691,17 @@ var ts; } function forEachTopLevelDeclaration(statement, cb) { switch (statement.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 235 /* InterfaceDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 243 /* ImportEqualsDeclaration */: return cb(statement); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return ts.forEach(statement.declarationList.declarations, cb); - case 215 /* ExpressionStatement */: { + case 216 /* ExpressionStatement */: { var expression = statement.expression; return ts.isBinaryExpression(expression) && ts.getSpecialPropertyAssignmentKind(expression) === 1 /* ExportsProperty */ ? cb(statement) @@ -105796,7 +106710,7 @@ var ts; } } function nameOfTopLevelDeclaration(d) { - return d.kind === 215 /* ExpressionStatement */ ? d.expression.left.name : ts.tryCast(d.name, ts.isIdentifier); + return d.kind === 216 /* ExpressionStatement */ ? d.expression.left.name : ts.tryCast(d.name, ts.isIdentifier); } function getTopLevelDeclarationStatement(d) { return ts.isVariableDeclaration(d) ? d.parent.parent : d; @@ -105828,23 +106742,23 @@ var ts; function addEs6Export(d) { var modifiers = ts.concatenate([ts.createModifier(84 /* ExportKeyword */)], d.modifiers); switch (d.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return ts.updateFunctionDeclaration(d, d.decorators, modifiers, d.asteriskToken, d.name, d.typeParameters, d.parameters, d.type, d.body); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return ts.updateClassDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return ts.updateVariableStatement(d, modifiers, d.declarationList); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return ts.updateModuleDeclaration(d, d.decorators, modifiers, d.name, d.body); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return ts.updateEnumDeclaration(d, d.decorators, modifiers, d.name, d.members); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return ts.updateTypeAliasDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.type); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return ts.updateInterfaceDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return ts.updateImportEqualsDeclaration(d, d.decorators, modifiers, d.name, d.moduleReference); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return ts.Debug.fail(); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: return ts.Debug.assertNever(d); @@ -105855,21 +106769,21 @@ var ts; } function getNamesToExportInCommonJS(decl) { switch (decl.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - return [decl.name.text]; - case 213 /* VariableStatement */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + return [decl.name.text]; // TODO: GH#18217 + case 214 /* VariableStatement */: return ts.mapDefined(decl.declarationList.declarations, function (d) { return ts.isIdentifier(d.name) ? d.name.text : undefined; }); - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 235 /* InterfaceDeclaration */: - case 242 /* ImportEqualsDeclaration */: - return undefined; - case 215 /* ExpressionStatement */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 243 /* ImportEqualsDeclaration */: + return ts.emptyArray; + case 216 /* ExpressionStatement */: return ts.Debug.fail(); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: - ts.Debug.assertNever(decl); + return ts.Debug.assertNever(decl); } } /** Creates `exports.x = x;` */ @@ -106089,7 +107003,7 @@ var ts; var value = 0; for (; moreDigits; state.decodingIndex++) { if (createErrorIfCondition(state.decodingIndex >= state.encodedText.length, "Error in decoding base64VLQFormatDecode, past the mapping string")) { - return; + return undefined; // TODO: GH#18217 } // 6 digit number var currentByte = base64FormatDecode(state.encodedText.charAt(state.decodingIndex)); @@ -106139,7 +107053,7 @@ var ts; this.pos = pos; this.end = end; this.flags = 0 /* None */; - this.transformFlags = undefined; + this.transformFlags = undefined; // TODO: GH#18217 this.parent = undefined; this.kind = kind; } @@ -106201,8 +107115,8 @@ var ts; if (!children.length) { return undefined; } - var child = ts.find(children, function (kid) { return kid.kind < 277 /* FirstJSDocNode */ || kid.kind > 297 /* LastJSDocNode */; }); - return child.kind < 145 /* FirstNode */ ? + var child = ts.find(children, function (kid) { return kid.kind < 278 /* FirstJSDocNode */ || kid.kind > 298 /* LastJSDocNode */; }); + return child.kind < 146 /* FirstNode */ ? child : child.getFirstToken(sourceFile); }; @@ -106213,7 +107127,7 @@ var ts; if (!child) { return undefined; } - return child.kind < 145 /* FirstNode */ ? child : child.getLastToken(sourceFile); + return child.kind < 146 /* FirstNode */ ? child : child.getLastToken(sourceFile); }; NodeObject.prototype.forEachChild = function (cbNode, cbNodeArray) { return ts.forEachChild(this, cbNode, cbNodeArray); @@ -106271,7 +107185,7 @@ var ts; } } function createSyntaxList(nodes, parent) { - var list = createNode(298 /* SyntaxList */, nodes.pos, nodes.end, parent); + var list = createNode(299 /* SyntaxList */, nodes.pos, nodes.end, parent); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_7 = nodes; _i < nodes_7.length; _i++) { @@ -106325,7 +107239,7 @@ var ts; return 0; }; TokenOrIdentifierObject.prototype.getChildAt = function () { - return undefined; + return undefined; // TODO: GH#18217 }; TokenOrIdentifierObject.prototype.getChildren = function () { return ts.emptyArray; @@ -106449,25 +107363,25 @@ var ts; return this.checker.getDefaultFromTypeParameter(this); }; TypeObject.prototype.isUnion = function () { - return !!(this.flags & 131072 /* Union */); + return !!(this.flags & 262144 /* Union */); }; TypeObject.prototype.isIntersection = function () { - return !!(this.flags & 262144 /* Intersection */); + return !!(this.flags & 524288 /* Intersection */); }; TypeObject.prototype.isUnionOrIntersection = function () { - return !!(this.flags & 393216 /* UnionOrIntersection */); + return !!(this.flags & 786432 /* UnionOrIntersection */); }; TypeObject.prototype.isLiteral = function () { - return !!(this.flags & 224 /* Literal */); + return !!(this.flags & 448 /* Literal */); }; TypeObject.prototype.isStringLiteral = function () { - return !!(this.flags & 32 /* StringLiteral */); + return !!(this.flags & 64 /* StringLiteral */); }; TypeObject.prototype.isNumberLiteral = function () { - return !!(this.flags & 64 /* NumberLiteral */); + return !!(this.flags & 128 /* NumberLiteral */); }; TypeObject.prototype.isTypeParameter = function () { - return !!(this.flags & 32768 /* TypeParameter */); + return !!(this.flags & 65536 /* TypeParameter */); }; TypeObject.prototype.isClassOrInterface = function () { return !!(ts.getObjectFlags(this) & 3 /* ClassOrInterface */); @@ -106517,9 +107431,9 @@ var ts; return ts.emptyArray; var doc = ts.JsDoc.getJsDocCommentsFromDeclarations(declarations); if (doc.length === 0 || declarations.some(hasJSDocInheritDocTag)) { - for (var _i = 0, declarations_13 = declarations; _i < declarations_13.length; _i++) { - var declaration = declarations_13[_i]; - var inheritedDocs = findInheritedJSDocComments(declaration, declaration.symbol.name, checker); + for (var _i = 0, declarations_14 = declarations; _i < declarations_14.length; _i++) { + var declaration = declarations_14[_i]; + var inheritedDocs = findInheritedJSDocComments(declaration, declaration.symbol.name, checker); // TODO: GH#18217 // TODO: GH#16312 Return a ReadonlyArray, avoid copying inheritedDocs if (inheritedDocs) doc = doc.length === 0 ? inheritedDocs.slice() : inheritedDocs.concat(ts.lineBreakPart(), doc); @@ -106604,10 +107518,10 @@ var ts; } function visit(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: var functionDeclaration = node; var declarationName = getDeclarationName(functionDeclaration); if (declarationName) { @@ -106627,31 +107541,31 @@ var ts; } ts.forEachChild(node, visit); break; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 237 /* EnumDeclaration */: - case 238 /* ModuleDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 251 /* ExportSpecifier */: - case 247 /* ImportSpecifier */: - case 244 /* ImportClause */: - case 245 /* NamespaceImport */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 165 /* TypeLiteral */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 238 /* EnumDeclaration */: + case 239 /* ModuleDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 252 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 245 /* ImportClause */: + case 246 /* NamespaceImport */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 166 /* TypeLiteral */: addDeclaration(node); ts.forEachChild(node, visit); break; - case 148 /* Parameter */: + case 149 /* Parameter */: // Only consider parameter properties if (!ts.hasModifier(node, 92 /* ParameterPropertyModifier */)) { break; } // falls through - case 231 /* VariableDeclaration */: - case 181 /* BindingElement */: { + case 232 /* VariableDeclaration */: + case 182 /* BindingElement */: { var decl = node; if (ts.isBindingPattern(decl.name)) { ts.forEachChild(decl.name, visit); @@ -106662,19 +107576,19 @@ var ts; } } // falls through - case 272 /* EnumMember */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 273 /* EnumMember */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: addDeclaration(node); break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: // Handle named exports case e.g.: // export {a, b as B} from "mod"; if (node.exportClause) { ts.forEach(node.exportClause.elements, visit); } break; - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: var importClause = node.importClause; if (importClause) { // Handle default import case e.g.: @@ -106686,7 +107600,7 @@ var ts; // import * as NS from "mod"; // import {a, b as B} from "mod"; if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 245 /* NamespaceImport */) { + if (importClause.namedBindings.kind === 246 /* NamespaceImport */) { addDeclaration(importClause.namedBindings); } else { @@ -106695,7 +107609,7 @@ var ts; } } break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (ts.getSpecialPropertyAssignmentKind(node) !== 0 /* None */) { addDeclaration(node); } @@ -106823,7 +107737,7 @@ var ts; }; HostCache.prototype.getOrCreateEntryByPath = function (fileName, path) { var info = this.getEntryByPath(path) || this.createEntry(fileName, path); - return ts.isString(info) ? undefined : info; + return ts.isString(info) ? undefined : info; // TODO: GH#18217 }; HostCache.prototype.getRootFileNames = function () { var names = []; @@ -106841,11 +107755,11 @@ var ts; }; HostCache.prototype.getVersion = function (path) { var file = this.getHostFileInformation(path); - return file && file.version; + return (file && file.version); // TODO: GH#18217 }; HostCache.prototype.getScriptSnapshot = function (path) { var file = this.getHostFileInformation(path); - return file && file.scriptSnapshot; + return (file && file.scriptSnapshot); // TODO: GH#18217 }; return HostCache; }()); @@ -106948,7 +107862,7 @@ var ts; this.cancellationToken = cancellationToken; } CancellationTokenObject.prototype.isCancellationRequested = function () { - return this.cancellationToken && this.cancellationToken.isCancellationRequested(); + return !!this.cancellationToken && this.cancellationToken.isCancellationRequested(); }; CancellationTokenObject.prototype.throwIfCancellationRequested = function () { if (this.isCancellationRequested()) { @@ -106998,7 +107912,7 @@ var ts; if (!host.fileExists || !host.readFile || !host.fileExists(path)) return; // And failing that, check the disk - var text = host.readFile(path); + var text = host.readFile(path); // TODO: GH#18217 var file = { text: text, lineMap: undefined, @@ -107056,7 +107970,7 @@ var ts; var typeRootsVersion = host.getTypeRootsVersion ? host.getTypeRootsVersion() : 0; if (lastTypesRootVersion !== typeRootsVersion) { log("TypeRoots version has changed; provide new program"); - program = undefined; + program = undefined; // TODO: GH#18217 lastTypesRootVersion = typeRootsVersion; } // Get a fresh cache of the host information @@ -107064,7 +107978,7 @@ var ts; var rootFileNames = hostCache.getRootFileNames(); var hasInvalidatedResolution = host.hasInvalidatedResolution || ts.returnFalse; // If the program is already up-to-date, we can reuse it - if (ts.isProgramUptoDate(program, rootFileNames, hostCache.compilationSettings(), function (path) { return hostCache.getVersion(path); }, fileExists, hasInvalidatedResolution, host.hasChangedAutomaticTypeDirectiveNames)) { + if (ts.isProgramUptoDate(program, rootFileNames, hostCache.compilationSettings(), function (path) { return hostCache.getVersion(path); }, fileExists, hasInvalidatedResolution, !!host.hasChangedAutomaticTypeDirectiveNames)) { return; } // IMPORTANT - It is critical from this moment onward that we do not check @@ -107141,7 +108055,7 @@ var ts; var entry = hostCache.getEntryByPath(path); return entry ? !ts.isString(entry) : - (host.fileExists && host.fileExists(fileName)); + (!!host.fileExists && host.fileExists(fileName)); } // Release any files we have acquired in the old program but are // not part of the new program. @@ -107201,6 +108115,7 @@ var ts; return documentRegistry.acquireDocumentWithKey(fileName, path, newSettings, documentRegistryBucketKey, hostFileInformation.scriptSnapshot, hostFileInformation.version, hostFileInformation.scriptKind); } } + // TODO: GH#18217 frequently asserted as defined function getProgram() { if (syntaxOnly) { ts.Debug.assert(program === undefined); @@ -107210,14 +108125,14 @@ var ts; return program; } function cleanupSemanticCache() { - program = undefined; + program = undefined; // TODO: GH#18217 } function dispose() { if (program) { ts.forEach(program.getSourceFiles(), function (f) { return documentRegistry.releaseDocument(f.fileName, program.getCompilerOptions()); }); - program = undefined; + program = undefined; // TODO: GH#18217 } host = undefined; } @@ -107245,7 +108160,7 @@ var ts; } function getSuggestionDiagnostics(fileName) { synchronizeHostData(); - return ts.computeSuggestionDiagnostics(getValidSourceFile(fileName), program); + return ts.computeSuggestionDiagnostics(getValidSourceFile(fileName), program, cancellationToken); } function getCompilerOptionsDiagnostics() { synchronizeHostData(); @@ -107261,7 +108176,8 @@ var ts; function getCompletionEntryDetails(fileName, position, name, formattingOptions, source, preferences) { if (preferences === void 0) { preferences = ts.defaultPreferences; } synchronizeHostData(); - return ts.Completions.getCompletionEntryDetails(program, log, getValidSourceFile(fileName), position, { name: name, source: source }, host, formattingOptions && ts.formatting.getFormatContext(formattingOptions), getCanonicalFileName, preferences, cancellationToken); + return ts.Completions.getCompletionEntryDetails(program, log, getValidSourceFile(fileName), position, { name: name, source: source }, host, (formattingOptions && ts.formatting.getFormatContext(formattingOptions)), // TODO: GH#18217 + getCanonicalFileName, preferences, cancellationToken); } function getCompletionEntrySymbol(fileName, position, name, source) { synchronizeHostData(); @@ -107286,10 +108202,10 @@ var ts; return undefined; } // falls through - case 184 /* PropertyAccessExpression */: - case 145 /* QualifiedName */: + case 185 /* PropertyAccessExpression */: + case 146 /* QualifiedName */: case 99 /* ThisKeyword */: - case 173 /* ThisType */: + case 174 /* ThisType */: case 97 /* SuperKeyword */: // For the identifiers/this/super etc get the type at position var type_4 = typeChecker.getTypeAtLocation(node); @@ -107330,7 +108246,7 @@ var ts; } function toLineColumnOffset(fileName, position) { var path = ts.toPath(fileName, currentDirectory, getCanonicalFileName); - var file = program.getSourceFile(path) || sourcemappedFileCache.get(path); + var file = program.getSourceFile(path) || sourcemappedFileCache.get(path); // TODO: GH#18217 return file.getLineAndCharacterOfPosition(position); } // Sometimes tools can sometimes see the following line as a source mapping url comment, so we mangle it a bit (the [M]) @@ -107397,7 +108313,7 @@ var ts; var location = possibleMapLocations_1[_i]; var mapPath = ts.toPath(location, ts.getDirectoryPath(fileName), getCanonicalFileName); if (host.fileExists(mapPath)) { - return convertDocumentToSourceMapper(file, host.readFile(mapPath), mapPath); + return convertDocumentToSourceMapper(file, host.readFile(mapPath), mapPath); // TODO: GH#18217 } } return file.sourceMapper = ts.sourcemaps.identitySourceMapper; @@ -107509,18 +108425,9 @@ var ts; function getReferences(fileName, position, options) { synchronizeHostData(); // Exclude default library when renaming as commonly user don't want to change that file. - var sourceFiles = []; - if (options && options.isForRename) { - for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { - var sourceFile = _a[_i]; - if (!program.isSourceFileDefaultLibrary(sourceFile)) { - sourceFiles.push(sourceFile); - } - } - } - else { - sourceFiles = program.getSourceFiles().slice(); - } + var sourceFiles = options && options.isForRename + ? program.getSourceFiles().filter(function (sourceFile) { return !program.isSourceFileDefaultLibrary(sourceFile); }) + : program.getSourceFiles(); return ts.FindAllReferences.findReferencedEntries(program, cancellationToken, sourceFiles, getValidSourceFile(fileName), position, options); } function findReferences(fileName, position) { @@ -107529,11 +108436,13 @@ var ts; } /// NavigateTo function getNavigateToItems(searchValue, maxResultCount, fileName, excludeDtsFiles) { + if (excludeDtsFiles === void 0) { excludeDtsFiles = false; } synchronizeHostData(); var sourceFiles = fileName ? [getValidSourceFile(fileName)] : program.getSourceFiles(); return ts.NavigateTo.getNavigateToItems(sourceFiles, program.getTypeChecker(), cancellationToken, searchValue, maxResultCount, excludeDtsFiles); } function getEmitOutput(fileName, emitOnlyDtsFiles) { + if (emitOnlyDtsFiles === void 0) { emitOnlyDtsFiles = false; } synchronizeHostData(); var sourceFile = getValidSourceFile(fileName); var customTransformers = host.getCustomTransformers && host.getCustomTransformers(); @@ -107552,31 +108461,28 @@ var ts; function getNonBoundSourceFile(fileName) { return syntaxTreeCache.getCurrentSourceFile(fileName); } - function getSourceFile(fileName) { - return getNonBoundSourceFile(fileName); - } function getNameOrDottedNameSpan(fileName, startPos, _endPos) { var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); // Get node at the location var node = ts.getTouchingPropertyName(sourceFile, startPos, /*includeJsDocComment*/ false); if (node === sourceFile) { - return; + return undefined; } switch (node.kind) { - case 184 /* PropertyAccessExpression */: - case 145 /* QualifiedName */: + case 185 /* PropertyAccessExpression */: + case 146 /* QualifiedName */: case 9 /* StringLiteral */: case 86 /* FalseKeyword */: case 101 /* TrueKeyword */: case 95 /* NullKeyword */: case 97 /* SuperKeyword */: case 99 /* ThisKeyword */: - case 173 /* ThisType */: + case 174 /* ThisType */: case 71 /* Identifier */: break; // Cant create the text span default: - return; + return undefined; } var nodeForStartPos = node; while (true) { @@ -107588,7 +108494,7 @@ var ts; // If this is name of a module declarations, check if this is right side of dotted module name // If parent of the module declaration which is parent of this node is module declaration and its body is the module declaration that this node is name of // Then this name is name from dotted module - if (nodeForStartPos.parent.parent.kind === 238 /* ModuleDeclaration */ && + if (nodeForStartPos.parent.parent.kind === 239 /* ModuleDeclaration */ && nodeForStartPos.parent.parent.body === nodeForStartPos.parent) { // Use parent module declarations name for start pos nodeForStartPos = nodeForStartPos.parent.parent.name; @@ -107725,8 +108631,9 @@ var ts; var formatContext = ts.formatting.getFormatContext(formatOptions); return ts.OrganizeImports.organizeImports(sourceFile, formatContext, host, program, preferences); } - function getEditsForFileRename(oldFilePath, newFilePath, formatOptions) { - return ts.getEditsForFileRename(getProgram(), oldFilePath, newFilePath, host, ts.formatting.getFormatContext(formatOptions)); + function getEditsForFileRename(oldFilePath, newFilePath, formatOptions, preferences) { + if (preferences === void 0) { preferences = ts.defaultPreferences; } + return ts.getEditsForFileRename(getProgram(), oldFilePath, newFilePath, host, ts.formatting.getFormatContext(formatOptions), preferences); } function applyCodeActionCommand(fileName, actionOrUndefined) { var action = typeof fileName === "string" ? actionOrUndefined : fileName; @@ -107739,7 +108646,7 @@ var ts; ? host.installPackage({ fileName: ts.toPath(action.file, currentDirectory, getCanonicalFileName), packageName: action.packageName }) : Promise.reject("Host does not implement `installPackage`"); default: - ts.Debug.fail(); + return ts.Debug.fail(); // TODO: Debug.assertNever(action); will only work if there is more than one type. } } @@ -107775,6 +108682,17 @@ var ts; } return true; } + function getJsxClosingTagAtPosition(fileName, position) { + var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); + var token = ts.findPrecedingToken(position, sourceFile); + if (!token) + return undefined; + var element = token.kind === 29 /* GreaterThanToken */ && ts.isJsxOpeningElement(token.parent) ? token.parent.parent + : ts.isJsxText(token) ? token.parent : undefined; + if (element && !ts.tagNamesAreEquivalent(element.openingElement.tagName, element.closingElement.tagName)) { + return { newText: "" }; + } + } function getSpanOfEnclosingComment(fileName, position, onlyMultiLine) { var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); var range = ts.formatting.getRangeOfEnclosingComment(sourceFile, position, onlyMultiLine); @@ -107830,7 +108748,8 @@ var ts; descriptor = descriptors[i]; } } - ts.Debug.assert(descriptor !== undefined); + if (descriptor === undefined) + return ts.Debug.fail(); // We don't want to match something like 'TODOBY', so we make sure a non // letter/digit follows the match. if (isLetterOrDigit(fileContents.charCodeAt(matchPosition + descriptor.text.length))) { @@ -107973,6 +108892,7 @@ var ts; getFormattingEditsAfterKeystroke: getFormattingEditsAfterKeystroke, getDocCommentTemplateAtPosition: getDocCommentTemplateAtPosition, isValidBraceCompletionAtPosition: isValidBraceCompletionAtPosition, + getJsxClosingTagAtPosition: getJsxClosingTagAtPosition, getSpanOfEnclosingComment: getSpanOfEnclosingComment, getCodeFixesAtPosition: getCodeFixesAtPosition, getCombinedCodeFix: getCombinedCodeFix, @@ -107981,7 +108901,6 @@ var ts; getEditsForFileRename: getEditsForFileRename, getEmitOutput: getEmitOutput, getNonBoundSourceFile: getNonBoundSourceFile, - getSourceFile: getSourceFile, getProgram: getProgram, getApplicableRefactors: getApplicableRefactors, getEditsForRefactor: getEditsForRefactor, @@ -107995,7 +108914,7 @@ var ts; if (!sourceFile.nameTable) { initializeNameTable(sourceFile); } - return sourceFile.nameTable; + return sourceFile.nameTable; // TODO: GH#18217 } ts.getNameTable = getNameTable; function initializeNameTable(sourceFile) { @@ -108022,7 +108941,7 @@ var ts; */ function literalIsName(node) { return ts.isDeclarationName(node) || - node.parent.kind === 253 /* ExternalModuleReference */ || + node.parent.kind === 254 /* ExternalModuleReference */ || isArgumentOfElementAccessExpression(node) || ts.isLiteralComputedPropertyDeclarationName(node); } @@ -108034,13 +108953,13 @@ var ts; switch (node.kind) { case 9 /* StringLiteral */: case 8 /* NumericLiteral */: - if (node.parent.kind === 146 /* ComputedPropertyName */) { + if (node.parent.kind === 147 /* ComputedPropertyName */) { return ts.isObjectLiteralElement(node.parent.parent) ? node.parent.parent : undefined; } // falls through case 71 /* Identifier */: return ts.isObjectLiteralElement(node.parent) && - (node.parent.parent.kind === 183 /* ObjectLiteralExpression */ || node.parent.parent.kind === 262 /* JsxAttributes */) && + (node.parent.parent.kind === 184 /* ObjectLiteralExpression */ || node.parent.parent.kind === 263 /* JsxAttributes */) && node.parent.name === node ? node.parent : undefined; } return undefined; @@ -108049,8 +108968,8 @@ var ts; /* @internal */ function getPropertySymbolsFromContextualType(typeChecker, node) { var objectLiteral = node.parent; - var contextualType = typeChecker.getContextualType(objectLiteral); - return getPropertySymbolsFromType(contextualType, node.name); + var contextualType = typeChecker.getContextualType(objectLiteral); // TODO: GH#18217 + return getPropertySymbolsFromType(contextualType, node.name); // TODO: GH#18217 } ts.getPropertySymbolsFromContextualType = getPropertySymbolsFromContextualType; /* @internal */ @@ -108059,7 +108978,7 @@ var ts; if (name && type) { var result_7 = []; var symbol = type.getProperty(name); - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { ts.forEach(type.types, function (t) { var symbol = t.getProperty(name); if (symbol) { @@ -108079,7 +108998,7 @@ var ts; function isArgumentOfElementAccessExpression(node) { return node && node.parent && - node.parent.kind === 185 /* ElementAccessExpression */ && + node.parent.kind === 186 /* ElementAccessExpression */ && node.parent.argumentExpression === node; } /** @@ -108118,11 +109037,12 @@ var ts; // let y = 10; // token at position will return let keyword on second line as the token but we would like to use // token on same line if trailing trivia (comments or white spaces on same line) part of the last token on that line - tokenAtLocation = ts.findPrecedingToken(tokenAtLocation.pos, sourceFile); + var preceding = ts.findPrecedingToken(tokenAtLocation.pos, sourceFile); // It's a blank line - if (!tokenAtLocation || sourceFile.getLineAndCharacterOfPosition(tokenAtLocation.getEnd()).line !== lineOfPosition) { + if (!preceding || sourceFile.getLineAndCharacterOfPosition(preceding.getEnd()).line !== lineOfPosition) { return undefined; } + tokenAtLocation = preceding; } // Cannot set breakpoint in ambient declarations if (tokenAtLocation.flags & 4194304 /* Ambient */) { @@ -108156,115 +109076,116 @@ var ts; } function spanInNode(node) { if (node) { + var parent = node.parent; switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: // Span on first variable declaration return spanInVariableDeclaration(node.declarationList.declarations[0]); - case 231 /* VariableDeclaration */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 232 /* VariableDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return spanInVariableDeclaration(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return spanInParameterDeclaration(node); - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 154 /* Constructor */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 155 /* Constructor */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return spanInFunctionDeclaration(node); - case 212 /* Block */: + case 213 /* Block */: if (ts.isFunctionBlock(node)) { return spanInFunctionBlock(node); } // falls through - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return spanInBlock(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return spanInBlock(node.block); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: // span on the expression return textSpan(node.expression); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: // span on return keyword and expression if present return textSpan(node.getChildAt(0), node.expression); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: // Span on while(...) return textSpanEndingAtNextToken(node, node.expression); - case 217 /* DoStatement */: + case 218 /* DoStatement */: // span in statement of the do statement return spanInNode(node.statement); - case 230 /* DebuggerStatement */: + case 231 /* DebuggerStatement */: // span on debugger keyword return textSpan(node.getChildAt(0)); - case 216 /* IfStatement */: + case 217 /* IfStatement */: // set on if(..) span return textSpanEndingAtNextToken(node, node.expression); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: // span in statement return spanInNode(node.statement); - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: // On break or continue keyword and label if present return textSpan(node.getChildAt(0), node.label); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return spanInForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: // span of for (a in ...) return textSpanEndingAtNextToken(node, node.expression); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: // span in initializer return spanInInitializerOfForLike(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: // span on switch(...) return textSpanEndingAtNextToken(node, node.expression); - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: // span in first statement of the clause return spanInNode(node.statements[0]); - case 229 /* TryStatement */: + case 230 /* TryStatement */: // span in try block return spanInBlock(node.tryBlock); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: // span in throw ... return textSpan(node, node.expression); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: // span on export = id return textSpan(node, node.expression); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleReference); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleSpecifier); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleSpecifier); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: // span on complete module if it is instantiated if (ts.getModuleInstanceState(node) !== 1 /* Instantiated */) { return undefined; } // falls through - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: - case 272 /* EnumMember */: - case 181 /* BindingElement */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 273 /* EnumMember */: + case 182 /* BindingElement */: // span on complete node return textSpan(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: // span in statement return spanInNode(node.statement); - case 149 /* Decorator */: - return spanInNodeArray(node.parent.decorators); - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 150 /* Decorator */: + return spanInNodeArray(parent.decorators); + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: return spanInBindingPattern(node); // No breakpoint in interface, type alias - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: return undefined; // Tokens: case 25 /* SemicolonToken */: @@ -108294,7 +109215,7 @@ var ts; case 74 /* CatchKeyword */: case 87 /* FinallyKeyword */: return spanInNextNode(node); - case 144 /* OfKeyword */: + case 145 /* OfKeyword */: return spanInOfKeyword(node); default: // Destructuring pattern in destructuring assignment @@ -108307,13 +109228,13 @@ var ts; // `a` or `...c` or `d: x` from // `[a, b, ...c]` or `{ a, b }` or `{ d: x }` from destructuring pattern if ((node.kind === 71 /* Identifier */ || - node.kind === 203 /* SpreadElement */ || - node.kind === 269 /* PropertyAssignment */ || - node.kind === 270 /* ShorthandPropertyAssignment */) && - ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent)) { + node.kind === 204 /* SpreadElement */ || + node.kind === 270 /* PropertyAssignment */ || + node.kind === 271 /* ShorthandPropertyAssignment */) && + ts.isArrayLiteralOrObjectLiteralDestructuringPattern(parent)) { return textSpan(node); } - if (node.kind === 199 /* BinaryExpression */) { + if (node.kind === 200 /* BinaryExpression */) { var _a = node, left = _a.left, operatorToken = _a.operatorToken; // Set breakpoint in destructuring pattern if its destructuring assignment // [a, b, c] or {a, b, c} of @@ -108334,23 +109255,23 @@ var ts; } } if (ts.isExpressionNode(node)) { - switch (node.parent.kind) { - case 217 /* DoStatement */: + switch (parent.kind) { + case 218 /* DoStatement */: // Set span as if on while keyword return spanInPreviousNode(node); - case 149 /* Decorator */: + case 150 /* Decorator */: // Set breakpoint on the decorator emit return spanInNode(node.parent); - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: return textSpan(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (node.parent.operatorToken.kind === 26 /* CommaToken */) { // If this is a comma expression, the breakpoint is possible in this expression return textSpan(node); } break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: if (node.parent.body === node) { // If this is body of arrow function, it is allowed to have the breakpoint return textSpan(node); @@ -108359,21 +109280,21 @@ var ts; } } switch (node.parent.kind) { - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: // If this is name of property assignment, set breakpoint in the initializer if (node.parent.name === node && !ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.parent)) { return spanInNode(node.parent.initializer); } break; - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: // Breakpoint in type assertion goes to its operand if (node.parent.type === node) { return spanInNextNode(node.parent.type); } break; - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: { + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: { // initializer of variable/parameter declaration go to previous node var _b = node.parent, initializer = _b.initializer, type = _b.type; if (initializer === node || type === node || ts.isAssignmentOperator(node.kind)) { @@ -108381,7 +109302,7 @@ var ts; } break; } - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var left = node.parent.left; if (ts.isArrayLiteralOrObjectLiteralDestructuringPattern(left) && node !== left) { // If initializer of destructuring assignment move to previous token @@ -108411,9 +109332,10 @@ var ts; } function spanInVariableDeclaration(variableDeclaration) { // If declaration of for in statement, just set the span in parent - if (variableDeclaration.parent.parent.kind === 220 /* ForInStatement */) { + if (variableDeclaration.parent.parent.kind === 221 /* ForInStatement */) { return spanInNode(variableDeclaration.parent.parent); } + var parent = variableDeclaration.parent; // If this is a destructuring pattern, set breakpoint in binding pattern if (ts.isBindingPattern(variableDeclaration.name)) { return spanInBindingPattern(variableDeclaration.name); @@ -108422,7 +109344,7 @@ var ts; // or its declaration from 'for of' if (variableDeclaration.initializer || ts.hasModifier(variableDeclaration, 1 /* Export */) || - variableDeclaration.parent.parent.kind === 221 /* ForOfStatement */) { + parent.parent.kind === 222 /* ForOfStatement */) { return textSpanFromVariableDeclaration(variableDeclaration); } if (ts.isVariableDeclarationList(variableDeclaration.parent) && @@ -108463,7 +109385,7 @@ var ts; } function canFunctionHaveSpanInWholeDeclaration(functionDeclaration) { return ts.hasModifier(functionDeclaration, 1 /* Export */) || - (functionDeclaration.parent.kind === 234 /* ClassDeclaration */ && functionDeclaration.kind !== 154 /* Constructor */); + (functionDeclaration.parent.kind === 235 /* ClassDeclaration */ && functionDeclaration.kind !== 155 /* Constructor */); } function spanInFunctionDeclaration(functionDeclaration) { // No breakpoints in the function signature @@ -108486,26 +109408,26 @@ var ts; } function spanInBlock(block) { switch (block.parent.kind) { - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (ts.getModuleInstanceState(block.parent) !== 1 /* Instantiated */) { return undefined; } // falls through // Set on parent if on same line otherwise on first statement - case 218 /* WhileStatement */: - case 216 /* IfStatement */: - case 220 /* ForInStatement */: + case 219 /* WhileStatement */: + case 217 /* IfStatement */: + case 221 /* ForInStatement */: return spanInNodeIfStartsOnSameLine(block.parent, block.statements[0]); // Set span on previous token if it starts on same line otherwise on the first statement of the block - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(block.pos, sourceFile, block.parent), block.statements[0]); } // Default action is to set on first statement return spanInNode(block.statements[0]); } function spanInInitializerOfForLike(forLikeStatement) { - if (forLikeStatement.initializer.kind === 232 /* VariableDeclarationList */) { + if (forLikeStatement.initializer.kind === 233 /* VariableDeclarationList */) { // Declaration list - set breakpoint in first declaration var variableDeclarationList = forLikeStatement.initializer; if (variableDeclarationList.declarations.length > 0) { @@ -108530,21 +109452,21 @@ var ts; } function spanInBindingPattern(bindingPattern) { // Set breakpoint in first binding element - var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 205 /* OmittedExpression */ ? element : undefined; }); + var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 206 /* OmittedExpression */ ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } // Empty binding pattern of binding element, set breakpoint on binding element - if (bindingPattern.parent.kind === 181 /* BindingElement */) { + if (bindingPattern.parent.kind === 182 /* BindingElement */) { return textSpan(bindingPattern.parent); } // Variable declaration is used as the span return textSpanFromVariableDeclaration(bindingPattern.parent); } function spanInArrayLiteralOrObjectLiteralDestructuringPattern(node) { - ts.Debug.assert(node.kind !== 180 /* ArrayBindingPattern */ && node.kind !== 179 /* ObjectBindingPattern */); - var elements = node.kind === 182 /* ArrayLiteralExpression */ ? node.elements : node.properties; - var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 205 /* OmittedExpression */ ? element : undefined; }); + ts.Debug.assert(node.kind !== 181 /* ArrayBindingPattern */ && node.kind !== 180 /* ObjectBindingPattern */); + var elements = node.kind === 183 /* ArrayLiteralExpression */ ? node.elements : node.properties; + var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 206 /* OmittedExpression */ ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } @@ -108552,18 +109474,18 @@ var ts; // just nested element in another destructuring assignment // set breakpoint on assignment when parent is destructuring assignment // Otherwise set breakpoint for this element - return textSpan(node.parent.kind === 199 /* BinaryExpression */ ? node.parent : node); + return textSpan(node.parent.kind === 200 /* BinaryExpression */ ? node.parent : node); } // Tokens: function spanInOpenBraceToken(node) { switch (node.parent.kind) { - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: var enumDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), enumDeclaration.members.length ? enumDeclaration.members[0] : enumDeclaration.getLastToken(sourceFile)); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: var classDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), classDeclaration.members.length ? classDeclaration.members[0] : classDeclaration.getLastToken(sourceFile)); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return spanInNodeIfStartsOnSameLine(node.parent.parent, node.parent.clauses[0]); } // Default to parent node @@ -108571,25 +109493,25 @@ var ts; } function spanInCloseBraceToken(node) { switch (node.parent.kind) { - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: // If this is not an instantiated module block, no bp span if (ts.getModuleInstanceState(node.parent.parent) !== 1 /* Instantiated */) { return undefined; } // falls through - case 237 /* EnumDeclaration */: - case 234 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 235 /* ClassDeclaration */: // Span on close brace token return textSpan(node); - case 212 /* Block */: + case 213 /* Block */: if (ts.isFunctionBlock(node.parent)) { // Span on close brace token return textSpan(node); } // falls through - case 268 /* CatchClause */: + case 269 /* CatchClause */: return spanInNode(ts.lastOrUndefined(node.parent.statements)); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: // breakpoint in last statement of the last clause var caseBlock = node.parent; var lastClause = ts.lastOrUndefined(caseBlock.clauses); @@ -108597,7 +109519,7 @@ var ts; return spanInNode(ts.lastOrUndefined(lastClause.statements)); } return undefined; - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: // Breakpoint in last binding element or binding pattern if it contains no elements var bindingPattern = node.parent; return spanInNode(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); @@ -108613,7 +109535,7 @@ var ts; } function spanInCloseBracketToken(node) { switch (node.parent.kind) { - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: // Breakpoint in last binding element or binding pattern if it contains no elements var bindingPattern = node.parent; return textSpan(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); @@ -108628,12 +109550,12 @@ var ts; } } function spanInOpenParenToken(node) { - if (node.parent.kind === 217 /* DoStatement */ || // Go to while keyword and do action instead - node.parent.kind === 186 /* CallExpression */ || - node.parent.kind === 187 /* NewExpression */) { + if (node.parent.kind === 218 /* DoStatement */ || // Go to while keyword and do action instead + node.parent.kind === 187 /* CallExpression */ || + node.parent.kind === 188 /* NewExpression */) { return spanInPreviousNode(node); } - if (node.parent.kind === 190 /* ParenthesizedExpression */) { + if (node.parent.kind === 191 /* ParenthesizedExpression */) { return spanInNextNode(node); } // Default to parent node @@ -108642,21 +109564,21 @@ var ts; function spanInCloseParenToken(node) { // Is this close paren token of parameter list, set span in previous token switch (node.parent.kind) { - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 154 /* Constructor */: - case 218 /* WhileStatement */: - case 217 /* DoStatement */: - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 190 /* ParenthesizedExpression */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 155 /* Constructor */: + case 219 /* WhileStatement */: + case 218 /* DoStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 191 /* ParenthesizedExpression */: return spanInPreviousNode(node); // Default to parent node default: @@ -108666,20 +109588,20 @@ var ts; function spanInColonToken(node) { // Is this : specifying return annotation of the function declaration if (ts.isFunctionLike(node.parent) || - node.parent.kind === 269 /* PropertyAssignment */ || - node.parent.kind === 148 /* Parameter */) { + node.parent.kind === 270 /* PropertyAssignment */ || + node.parent.kind === 149 /* Parameter */) { return spanInPreviousNode(node); } return spanInNode(node.parent); } function spanInGreaterThanOrLessThanToken(node) { - if (node.parent.kind === 189 /* TypeAssertionExpression */) { + if (node.parent.kind === 190 /* TypeAssertionExpression */) { return spanInNextNode(node); } return spanInNode(node.parent); } function spanInWhileKeyword(node) { - if (node.parent.kind === 217 /* DoStatement */) { + if (node.parent.kind === 218 /* DoStatement */) { // Set span on while expression return textSpanEndingAtNextToken(node, node.parent.expression); } @@ -108687,7 +109609,7 @@ var ts; return spanInNode(node.parent); } function spanInOfKeyword(node) { - if (node.parent.kind === 221 /* ForOfStatement */) { + if (node.parent.kind === 222 /* ForOfStatement */) { // Set using next token return spanInNextNode(node); } @@ -108709,7 +109631,7 @@ var ts; */ function transform(source, transformers, compilerOptions) { var diagnostics = []; - compilerOptions = ts.fixupCompilerOptions(compilerOptions, diagnostics); + compilerOptions = ts.fixupCompilerOptions(compilerOptions, diagnostics); // TODO: GH#18217 var nodes = ts.isArray(source) ? source : [source]; var result = ts.transformNodes(/*resolver*/ undefined, /*emitHost*/ undefined, compilerOptions, nodes, transformers, /*allowDtsFiles*/ true); result.diagnostics = ts.concatenate(result.diagnostics, diagnostics); @@ -108758,16 +109680,16 @@ var ts; var oldSnapshotShim = oldSnapshot; var encoded = this.scriptSnapshotShim.getChangeRange(oldSnapshotShim.scriptSnapshotShim); if (encoded === null) { - return null; + return null; // TODO: GH#18217 } - var decoded = JSON.parse(encoded); + var decoded = JSON.parse(encoded); // TODO: GH#18217 return ts.createTextChangeRange(ts.createTextSpan(decoded.span.start, decoded.span.length), decoded.newLength); }; ScriptSnapshotShimAdapter.prototype.dispose = function () { // if scriptSnapshotShim is a COM object then property check becomes method call with no arguments // 'in' does not have this effect if ("dispose" in this.scriptSnapshotShim) { - this.scriptSnapshotShim.dispose(); + this.scriptSnapshotShim.dispose(); // TODO: GH#18217 Can we just use `if (this.scriptSnapshotShim.dispose)`? } }; return ScriptSnapshotShimAdapter; @@ -108782,10 +109704,10 @@ var ts; // 'in' does not have this effect. if ("getModuleResolutionsForFile" in this.shimHost) { this.resolveModuleNames = function (moduleNames, containingFile) { - var resolutionsInFile = JSON.parse(_this.shimHost.getModuleResolutionsForFile(containingFile)); + var resolutionsInFile = JSON.parse(_this.shimHost.getModuleResolutionsForFile(containingFile)); // TODO: GH#18217 return ts.map(moduleNames, function (name) { var result = ts.getProperty(resolutionsInFile, name); - return result ? { resolvedFileName: result, extension: ts.extensionFromPath(result), isExternalLibraryImport: false } : undefined; + return result ? { resolvedFileName: result, extension: ts.extensionFromPath(result), isExternalLibraryImport: false } : undefined; // TODO: GH#18217 }); }; } @@ -108794,8 +109716,8 @@ var ts; } if ("getTypeReferenceDirectiveResolutionsForFile" in this.shimHost) { this.resolveTypeReferenceDirectives = function (typeDirectiveNames, containingFile) { - var typeDirectivesForFile = JSON.parse(_this.shimHost.getTypeReferenceDirectiveResolutionsForFile(containingFile)); - return ts.map(typeDirectiveNames, function (name) { return ts.getProperty(typeDirectivesForFile, name); }); + var typeDirectivesForFile = JSON.parse(_this.shimHost.getTypeReferenceDirectiveResolutionsForFile(containingFile)); // TODO: GH#18217 + return ts.map(typeDirectiveNames, function (name) { return ts.getProperty(typeDirectivesForFile, name); }); // TODO: GH#18217 }; } } @@ -108815,7 +109737,7 @@ var ts; LanguageServiceShimHostAdapter.prototype.getProjectVersion = function () { if (!this.shimHost.getProjectVersion) { // shimmed host does not support getProjectVersion - return undefined; + return undefined; // TODO: GH#18217 } return this.shimHost.getProjectVersion(); }; @@ -108848,7 +109770,7 @@ var ts; }; LanguageServiceShimHostAdapter.prototype.getScriptKind = function (fileName) { if ("getScriptKind" in this.shimHost) { - return this.shimHost.getScriptKind(fileName); + return this.shimHost.getScriptKind(fileName); // TODO: GH#18217 } else { return 0 /* Unknown */; @@ -108884,7 +109806,7 @@ var ts; return this.shimHost.getDefaultLibFileName(JSON.stringify(options)); }; LanguageServiceShimHostAdapter.prototype.readDirectory = function (path, extensions, exclude, include, depth) { - var pattern = ts.getFileMatcherPatterns(path, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); + var pattern = ts.getFileMatcherPatterns(path, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); // TODO: GH#18217 return JSON.parse(this.shimHost.readDirectory(path, JSON.stringify(extensions), JSON.stringify(pattern.basePaths), pattern.excludePattern, pattern.includeFilePattern, pattern.includeDirectoryPattern, depth)); }; LanguageServiceShimHostAdapter.prototype.readFile = function (path, encoding) { @@ -108905,11 +109827,11 @@ var ts; this.directoryExists = function (directoryName) { return _this.shimHost.directoryExists(directoryName); }; } if ("realpath" in this.shimHost) { - this.realpath = function (path) { return _this.shimHost.realpath(path); }; + this.realpath = function (path) { return _this.shimHost.realpath(path); }; // TODO: GH#18217 } } CoreServicesShimHostAdapter.prototype.readDirectory = function (rootDir, extensions, exclude, include, depth) { - var pattern = ts.getFileMatcherPatterns(rootDir, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); + var pattern = ts.getFileMatcherPatterns(rootDir, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); // TODO: GH#18217 return JSON.parse(this.shimHost.readDirectory(rootDir, JSON.stringify(extensions), JSON.stringify(pattern.basePaths), pattern.excludePattern, pattern.includeFilePattern, pattern.includeDirectoryPattern, depth)); }; CoreServicesShimHostAdapter.prototype.fileExists = function (fileName) { @@ -108981,7 +109903,8 @@ var ts; start: diagnostic.start, length: diagnostic.length, category: ts.diagnosticCategoryName(diagnostic), - code: diagnostic.code + code: diagnostic.code, + reportsUnnecessary: diagnostic.reportsUnnecessary, }; } var LanguageServiceShimObject = /** @class */ (function (_super) { @@ -109287,10 +110210,12 @@ var ts; } ClassifierShimObject.prototype.getEncodedLexicalClassifications = function (text, lexState, syntacticClassifierAbsent) { var _this = this; + if (syntacticClassifierAbsent === void 0) { syntacticClassifierAbsent = false; } return forwardJSONCall(this.logger, "getEncodedLexicalClassifications", function () { return convertClassifications(_this.classifier.getEncodedLexicalClassifications(text, lexState, syntacticClassifierAbsent)); }, this.logPerformance); }; /// COLORIZATION ClassifierShimObject.prototype.getClassificationsForLine = function (text, lexState, classifyKeywordsInGenerics) { + if (classifyKeywordsInGenerics === void 0) { classifyKeywordsInGenerics = false; } var classification = this.classifier.getClassificationsForLine(text, lexState, classifyKeywordsInGenerics); var result = ""; for (var _i = 0, _a = classification.entries; _i < _a.length; _i++) { @@ -109648,7 +110573,7 @@ var ts; } server.makeInferredProjectName = makeInferredProjectName; function createSortedArray() { - return []; + return []; // TODO: GH#19873 } server.createSortedArray = createSortedArray; })(server = ts.server || (ts.server = {})); @@ -109661,7 +110586,7 @@ var ts; function ThrottledOperations(host, logger) { this.host = host; this.pendingTimeouts = ts.createMap(); - this.logger = logger.hasLevel(server.LogLevel.verbose) && logger; + this.logger = logger.hasLevel(server.LogLevel.verbose) ? logger : undefined; } /** * Wait `number` milliseconds and then invoke `cb`. If, while waiting, schedule @@ -109707,10 +110632,10 @@ var ts; GcTimer.run = function (self) { self.timerId = undefined; var log = self.logger.hasLevel(server.LogLevel.requestTime); - var before = log && self.host.getMemoryUsage(); - self.host.gc(); + var before = log && self.host.getMemoryUsage(); // TODO: GH#18217 + self.host.gc(); // TODO: GH#18217 if (log) { - var after_1 = self.host.getMemoryUsage(); + var after_1 = self.host.getMemoryUsage(); // TODO: GH#18217 self.logger.perftrc("GC::before " + before + ", after " + after_1); } }; @@ -109776,6 +110701,7 @@ var ts; // NOTE: If updating this, be sure to also update `allCommandNames` in `harness/unittests/session.ts`. var CommandTypes; (function (CommandTypes) { + CommandTypes["JsxClosingTag"] = "jsxClosingTag"; CommandTypes["Brace"] = "brace"; /* @internal */ CommandTypes["BraceFull"] = "brace-full"; @@ -110160,7 +111086,7 @@ var ts; this.realpath = project.toPath(realpath); // If it is different from this.path, add to the map if (this.realpath !== this.path) { - project.projectService.realpathToScriptInfos.add(this.realpath, this); + project.projectService.realpathToScriptInfos.add(this.realpath, this); // TODO: GH#18217 } } } @@ -110358,7 +111284,7 @@ var ts; enqueueInstallTypingsRequest: ts.noop, attach: ts.noop, onProjectClosed: ts.noop, - globalTypingsCacheLocation: undefined + globalTypingsCacheLocation: undefined // TODO: GH#18217 }; function setIsEqualTo(arr1, arr2) { if (arr1 === arr2) { @@ -110369,15 +111295,15 @@ var ts; } var set = ts.createMap(); var unique = 0; - for (var _i = 0, arr1_1 = arr1; _i < arr1_1.length; _i++) { - var v = arr1_1[_i]; + for (var _i = 0, _a = arr1; _i < _a.length; _i++) { + var v = _a[_i]; if (set.get(v) !== true) { set.set(v, true); unique++; } } - for (var _a = 0, arr2_1 = arr2; _a < arr2_1.length; _a++) { - var v = arr2_1[_a]; + for (var _b = 0, _c = arr2; _b < _c.length; _b++) { + var v = _c[_b]; var isSet = set.get(v); if (isSet === undefined) { return false; @@ -110612,7 +111538,7 @@ var ts; Project.resolveModule = function (moduleName, initialDir, host, log) { var resolvedPath = ts.normalizeSlashes(host.resolvePath(ts.combinePaths(initialDir, "node_modules"))); log("Loading " + moduleName + " from " + initialDir + " (resolved to " + resolvedPath + ")"); - var result = host.require(resolvedPath, moduleName); + var result = host.require(resolvedPath, moduleName); // TODO: GH#18217 if (result.error) { var err = result.error.stack || result.error.message || JSON.stringify(result.error); log("Failed to load module '" + moduleName + "': " + err); @@ -110679,11 +111605,11 @@ var ts; }; Project.prototype.getScriptKind = function (fileName) { var info = this.getOrCreateScriptInfoAndAttachToProject(fileName); - return info && info.scriptKind; + return (info && info.scriptKind); // TODO: GH#18217 }; Project.prototype.getScriptVersion = function (filename) { var info = this.getOrCreateScriptInfoAndAttachToProject(filename); - return info && info.getLatestVersion(); + return (info && info.getLatestVersion()); // TODO: GH#18217 }; Project.prototype.getScriptSnapshot = function (filename) { var scriptInfo = this.getOrCreateScriptInfoAndAttachToProject(filename); @@ -110726,14 +111652,14 @@ var ts; return this.resolutionCache.resolveTypeReferenceDirectives(typeDirectiveNames, containingFile); }; Project.prototype.directoryExists = function (path) { - return this.directoryStructureHost.directoryExists(path); + return this.directoryStructureHost.directoryExists(path); // TODO: GH#18217 }; Project.prototype.getDirectories = function (path) { - return this.directoryStructureHost.getDirectories(path); + return this.directoryStructureHost.getDirectories(path); // TODO: GH#18217 }; /*@internal*/ Project.prototype.getCachedDirectoryStructureHost = function () { - return undefined; + return undefined; // TODO: GH#18217 }; /*@internal*/ Project.prototype.toPath = function (fileName) { @@ -110801,7 +111727,9 @@ var ts; } this.updateGraph(); this.builderState = ts.BuilderState.create(this.program, this.projectService.toCanonicalFileName, this.builderState); - return ts.mapDefined(ts.BuilderState.getFilesAffectedBy(this.builderState, this.program, scriptInfo.path, this.cancellationToken, function (data) { return _this.projectService.host.createHash(data); }), function (sourceFile) { return _this.shouldEmitFile(_this.projectService.getScriptInfoForPath(sourceFile.path)) ? sourceFile.fileName : undefined; }); + return ts.mapDefined(ts.BuilderState.getFilesAffectedBy(this.builderState, this.program, scriptInfo.path, this.cancellationToken, function (data) { return _this.projectService.host.createHash(data); }), // TODO: GH#18217 + function (// TODO: GH#18217 + sourceFile) { return _this.shouldEmitFile(_this.projectService.getScriptInfoForPath(sourceFile.path)) ? sourceFile.fileName : undefined; }); }; /** * Returns true if emit was conducted @@ -110945,9 +111873,7 @@ var ts; } return ts.map(this.program.getSourceFiles(), function (sourceFile) { var scriptInfo = _this.projectService.getScriptInfoForPath(sourceFile.path); - if (!scriptInfo) { - ts.Debug.fail("scriptInfo for a file '" + sourceFile.fileName + "' Path: '" + sourceFile.path + "' is missing."); - } + ts.Debug.assert(!!scriptInfo, "getScriptInfo", function () { return "scriptInfo for a file '" + sourceFile.fileName + "' Path: '" + sourceFile.path + "' is missing."; }); return scriptInfo; }); }; @@ -111018,6 +111944,7 @@ var ts; if (info && (info.isScriptOpen() || !requireOpen)) { return this.containsScriptInfo(info); } + return false; }; Project.prototype.isRoot = function (info) { return this.rootFilesMap && this.rootFilesMap.get(info.path) === info; @@ -111170,7 +112097,7 @@ var ts; var start = ts.timestamp(); this.hasInvalidatedResolution = this.resolutionCache.createHasInvalidatedResolution(); this.resolutionCache.startCachingPerDirectoryResolution(); - this.program = this.languageService.getProgram(); + this.program = this.languageService.getProgram(); // TODO: GH#18217 this.dirty = false; this.resolutionCache.finishCachingPerDirectoryResolution(); ts.Debug.assert(oldProgram === undefined || this.program !== undefined); @@ -111343,7 +112270,7 @@ var ts; // ../../.. to walk from X/node_modules/typescript/lib/tsserver.js to X/node_modules/ var searchPaths = [ts.combinePaths(this.projectService.getExecutingFilePath(), "../../..")].concat(this.projectService.pluginProbeLocations); if (this.projectService.globalPlugins) { - var _loop_22 = function (globalPluginName) { + var _loop_26 = function (globalPluginName) { // Skip empty names from odd commandline parses if (!globalPluginName) return "continue"; @@ -111358,7 +112285,7 @@ var ts; // Enable global plugins with synthetic configuration entries for (var _i = 0, _a = this.projectService.globalPlugins; _i < _a.length; _i++) { var globalPluginName = _a[_i]; - _loop_22(globalPluginName); + _loop_26(globalPluginName); } } }; @@ -111424,6 +112351,7 @@ var ts; /*@internal*/ function InferredProject(projectService, documentRegistry, compilerOptions, projectRootPath, currentDirectory) { var _this = _super.call(this, InferredProject.newName(), ProjectKind.Inferred, projectService, documentRegistry, + // TODO: GH#18217 /*files*/ undefined, /*lastFileExceededProgramSize*/ undefined, compilerOptions, /*compileOnSaveEnabled*/ false, projectService.host, currentDirectory) || this; @@ -111661,9 +112589,9 @@ var ts; /*@internal*/ ConfiguredProject.prototype.updateErrorOnNoInputFiles = function (hasFileNames) { if (hasFileNames) { - ts.filterMutate(this.projectErrors, function (error) { return !ts.isErrorNoInputFiles(error); }); + ts.filterMutate(this.projectErrors, function (error) { return !ts.isErrorNoInputFiles(error); }); // TODO: GH#18217 } - else if (!this.configFileSpecs.filesSpecs && !ts.some(this.projectErrors, ts.isErrorNoInputFiles)) { + else if (!this.configFileSpecs.filesSpecs && !ts.some(this.projectErrors, ts.isErrorNoInputFiles)) { // TODO: GH#18217 this.projectErrors.push(ts.getErrorForNoInputFiles(this.configFileSpecs, this.getConfigFilePath())); } }; @@ -111835,14 +112763,14 @@ var ts; }); } } - return result; + return result; // TODO: GH#18217 }, hasMixedContent: function (fileName, extraFileExtensions) { return ts.some(extraFileExtensions, function (ext) { return ext.isMixedContent && ts.fileExtensionIs(fileName, ext.extension); }); }, }; var externalFilePropertyReader = { getFileName: function (x) { return x.fileName; }, getScriptKind: function (x) { return tryConvertScriptKindName(x.scriptKind); }, - hasMixedContent: function (x) { return x.hasMixedContent; }, + hasMixedContent: function (x) { return !!x.hasMixedContent; }, }; function findProjectByName(projectName, projects) { for (var _i = 0, projects_1 = projects; _i < projects_1.length; _i++) { @@ -111948,10 +112876,11 @@ var ts; if (this.host.realpath) { this.realpathToScriptInfos = ts.createMultiMap(); } - this.currentDirectory = this.host.getCurrentDirectory(); + this.currentDirectory = server.toNormalizedPath(this.host.getCurrentDirectory()); this.toCanonicalFileName = ts.createGetCanonicalFileName(this.host.useCaseSensitiveFileNames); - this.globalCacheLocationDirectoryPath = this.typingsInstaller.globalTypingsCacheLocation && - ts.ensureTrailingDirectorySeparator(this.toPath(this.typingsInstaller.globalTypingsCacheLocation)); + this.globalCacheLocationDirectoryPath = this.typingsInstaller.globalTypingsCacheLocation + ? ts.ensureTrailingDirectorySeparator(this.toPath(this.typingsInstaller.globalTypingsCacheLocation)) + : undefined; this.throttledOperations = new server.ThrottledOperations(this.host, this.logger); if (this.typesMapLocation) { this.loadTypesMap(); @@ -111967,7 +112896,7 @@ var ts; hostInfo: "Unknown host", extraFileExtensions: [] }; - this.documentRegistry = ts.createDocumentRegistry(this.host.useCaseSensitiveFileNames, this.currentDirectory); + this.documentRegistry = ts.createDocumentRegistryInternal(this.host.useCaseSensitiveFileNames, this.currentDirectory, this); var watchLogLevel = this.logger.hasLevel(server.LogLevel.verbose) ? ts.WatchLogLevel.Verbose : this.logger.loggingEnabled() ? ts.WatchLogLevel.TriggerOnly : ts.WatchLogLevel.None; var log = watchLogLevel !== ts.WatchLogLevel.None ? (function (s) { return _this.logger.info(s); }) : ts.noop; @@ -111984,6 +112913,16 @@ var ts; ProjectService.prototype.getNormalizedAbsolutePath = function (fileName) { return ts.getNormalizedAbsolutePath(fileName, this.host.getCurrentDirectory()); }; + /*@internal*/ + ProjectService.prototype.setDocument = function (key, path, sourceFile) { + var info = ts.Debug.assertDefined(this.getScriptInfoForPath(path)); + info.cacheSourceFile = { key: key, sourceFile: sourceFile }; + }; + /*@internal*/ + ProjectService.prototype.getDocument = function (key, path) { + var info = this.getScriptInfoForPath(path); + return info && info.cacheSourceFile && info.cacheSourceFile.key === key ? info.cacheSourceFile.sourceFile : undefined; + }; /* @internal */ ProjectService.prototype.ensureInferredProjectsUpToDate_TestOnly = function () { this.ensureProjectStructuresUptoDate(); @@ -112005,7 +112944,7 @@ var ts; }; ProjectService.prototype.loadTypesMap = function () { try { - var fileContent = this.host.readFile(this.typesMapLocation); + var fileContent = this.host.readFile(this.typesMapLocation); // TODO: GH#18217 if (fileContent === undefined) { this.logger.info("Provided types map file \"" + this.typesMapLocation + "\" doesn't exist"); return; @@ -112160,7 +113099,7 @@ var ts; } return scriptInfo.getDefaultProject(); } - return scriptInfo && !scriptInfo.isOrphan() && scriptInfo.getDefaultProject(); + return scriptInfo && !scriptInfo.isOrphan() ? scriptInfo.getDefaultProject() : undefined; }; ProjectService.prototype.getScriptInfoEnsuringProjectsUptoDate = function (uncheckedFileName) { this.ensureProjectStructuresUptoDate(); @@ -112325,7 +113264,7 @@ var ts; } project.updateGraph(); if (!this.useSingleInferredProject && !project.projectRootPath) { - var _loop_23 = function (inferredProject) { + var _loop_27 = function (inferredProject) { if (inferredProject === project || inferredProject.isOrphan()) { return "continue"; } @@ -112346,7 +113285,7 @@ var ts; // Note that we need to create a copy of the array since the list of project can change for (var _i = 0, _a = this.inferredProjects; _i < _a.length; _i++) { var inferredProject = _a[_i]; - _loop_23(inferredProject); + _loop_27(inferredProject); } } return project; @@ -112421,7 +113360,7 @@ var ts; this.filenameToScriptInfo.delete(info.path); var realpath = info.getRealpathIfDifferent(); if (realpath) { - this.realpathToScriptInfos.remove(realpath, info); + this.realpathToScriptInfos.remove(realpath, info); // TODO: GH#18217 } }; ProjectService.prototype.configFileExists = function (configFileName, canonicalConfigFilePath, info) { @@ -112717,7 +113656,7 @@ var ts; }; ProjectService.prototype.convertConfigFileContentToProjectOptions = function (configFilename, cachedDirectoryStructureHost) { configFilename = ts.normalizePath(configFilename); - var configFileContent = this.host.readFile(configFilename); + var configFileContent = this.host.readFile(configFilename); // TODO: GH#18217 var result = ts.parseJsonText(configFilename, configFileContent); if (!result.endOfFileToken) { result.endOfFileToken = { kind: 1 /* EndOfFileToken */ }; @@ -112776,7 +113715,7 @@ var ts; var propertyReader = _a.propertyReader, hasTypeScriptFileExtension = _a.hasTypeScriptFileExtension, host = _a.host; return fileNames.map(function (f) { return propertyReader.getFileName(f); }) .filter(function (name) { return hasTypeScriptFileExtension(name); }) - .map(function (name) { return ({ name: name, size: host.getFileSize(name) }); }) + .map(function (name) { return ({ name: name, size: host.getFileSize(name) }); }) // TODO: GH#18217 .sort(function (a, b) { return b.size - a.size; }) .slice(0, 5); } @@ -112819,7 +113758,7 @@ var ts; if (!(project instanceof server.ConfiguredProject)) { return "other"; } - var configFilePath = project instanceof server.ConfiguredProject && project.getConfigFilePath(); + var configFilePath = project instanceof server.ConfiguredProject ? project.getConfigFilePath() : undefined; // TODO: GH#18217 return server.getBaseConfigFileName(configFilePath) || "other"; } function convertTypeAcquisition(_a) { @@ -112839,20 +113778,21 @@ var ts; }; ProjectService.prototype.createConfiguredProject = function (configFileName) { var _this = this; - var cachedDirectoryStructureHost = ts.createCachedDirectoryStructureHost(this.host, this.host.getCurrentDirectory(), this.host.useCaseSensitiveFileNames); + var cachedDirectoryStructureHost = ts.createCachedDirectoryStructureHost(this.host, this.host.getCurrentDirectory(), this.host.useCaseSensitiveFileNames); // TODO: GH#18217 var _a = this.convertConfigFileContentToProjectOptions(configFileName, cachedDirectoryStructureHost), projectOptions = _a.projectOptions, configFileErrors = _a.configFileErrors, configFileSpecs = _a.configFileSpecs; this.logger.info("Opened configuration file " + configFileName); - var lastFileExceededProgramSize = this.getFilenameForExceededTotalSizeLimitForNonTsFiles(configFileName, projectOptions.compilerOptions, projectOptions.files, fileNamePropertyReader); - var project = new server.ConfiguredProject(configFileName, this, this.documentRegistry, projectOptions.configHasFilesProperty, projectOptions.compilerOptions, lastFileExceededProgramSize, projectOptions.compileOnSave === undefined ? false : projectOptions.compileOnSave, cachedDirectoryStructureHost, projectOptions.projectReferences); + var lastFileExceededProgramSize = this.getFilenameForExceededTotalSizeLimitForNonTsFiles(configFileName, projectOptions.compilerOptions, projectOptions.files, fileNamePropertyReader); // TODO: GH#18217 + var project = new server.ConfiguredProject(configFileName, this, this.documentRegistry, projectOptions.configHasFilesProperty, projectOptions.compilerOptions, // TODO: GH#18217 + lastFileExceededProgramSize, projectOptions.compileOnSave === undefined ? false : projectOptions.compileOnSave, cachedDirectoryStructureHost, projectOptions.projectReferences); project.configFileSpecs = configFileSpecs; // TODO: We probably should also watch the configFiles that are extended project.configFileWatcher = this.watchFactory.watchFile(this.host, configFileName, function (_fileName, eventKind) { return _this.onConfigChangedForConfiguredProject(project, eventKind); }, ts.PollingInterval.High, "Config file for the program" /* ConfigFilePath */, project); if (!lastFileExceededProgramSize) { - project.watchWildcards(projectOptions.wildcardDirectories); + project.watchWildcards(projectOptions.wildcardDirectories); // TODO: GH#18217 } project.setProjectErrors(configFileErrors); var filesToAdd = projectOptions.files.concat(project.getExternalFiles()); - this.addFilesToNonInferredProjectAndUpdateGraph(project, filesToAdd, fileNamePropertyReader, projectOptions.typeAcquisition); + this.addFilesToNonInferredProjectAndUpdateGraph(project, filesToAdd, fileNamePropertyReader, projectOptions.typeAcquisition); // TODO: GH#18217 this.configuredProjects.set(project.canonicalConfigFilePath, project); this.setConfigFileExistenceByNewConfiguredProject(project); this.sendProjectTelemetry(configFileName, project, projectOptions); @@ -112881,7 +113821,7 @@ var ts; else { var scriptKind = propertyReader.getScriptKind(f, this.hostConfiguration.extraFileExtensions); var hasMixedContent = propertyReader.hasMixedContent(f, this.hostConfiguration.extraFileExtensions); - scriptInfo = this.getOrCreateScriptInfoNotOpenedByClientForNormalizedPath(normalizedPath, project.currentDirectory, scriptKind, hasMixedContent, project.directoryStructureHost); + scriptInfo = this.getOrCreateScriptInfoNotOpenedByClientForNormalizedPath(normalizedPath, project.currentDirectory, scriptKind, hasMixedContent, project.directoryStructureHost); // TODO: GH#18217 path = scriptInfo.path; // If this script info is not already a root add it if (!project.isRoot(scriptInfo)) { @@ -112927,7 +113867,7 @@ var ts; */ /*@internal*/ ProjectService.prototype.reloadFileNamesOfConfiguredProject = function (project) { - var configFileSpecs = project.configFileSpecs; + var configFileSpecs = project.configFileSpecs; // TODO: GH#18217 var configFileName = project.getConfigFilePath(); var fileNamesResult = ts.getFileNamesFromConfigSpecs(configFileSpecs, ts.getDirectoryPath(configFileName), project.getCompilationSettings(), project.getCachedDirectoryStructureHost(), this.hostConfiguration.extraFileExtensions); project.updateErrorOnNoInputFiles(fileNamesResult.fileNames.length !== 0); @@ -112951,16 +113891,16 @@ var ts; project.configFileSpecs = configFileSpecs; project.setProjectErrors(configFileErrors); project.updateReferences(projectOptions.projectReferences); - var lastFileExceededProgramSize = this.getFilenameForExceededTotalSizeLimitForNonTsFiles(project.canonicalConfigFilePath, projectOptions.compilerOptions, projectOptions.files, fileNamePropertyReader); + var lastFileExceededProgramSize = this.getFilenameForExceededTotalSizeLimitForNonTsFiles(project.canonicalConfigFilePath, projectOptions.compilerOptions, projectOptions.files, fileNamePropertyReader); // TODO: GH#18217 if (lastFileExceededProgramSize) { project.disableLanguageService(lastFileExceededProgramSize); project.stopWatchingWildCards(); } else { project.enableLanguageService(); - project.watchWildcards(projectOptions.wildcardDirectories); + project.watchWildcards(projectOptions.wildcardDirectories); // TODO: GH#18217 } - this.updateNonInferredProject(project, projectOptions.files, fileNamePropertyReader, projectOptions.compilerOptions, projectOptions.typeAcquisition, projectOptions.compileOnSave); + this.updateNonInferredProject(project, projectOptions.files, fileNamePropertyReader, projectOptions.compilerOptions, projectOptions.typeAcquisition, projectOptions.compileOnSave); // TODO: GH#18217 this.sendConfigFileDiagEvent(project, configFileName); }; ProjectService.prototype.sendConfigFileDiagEvent = function (project, triggerFile) { @@ -113074,7 +114014,7 @@ var ts; return projects; function combineProjects(toAddInfo) { if (toAddInfo !== info) { - var _loop_24 = function (project) { + var _loop_28 = function (project) { // Add the projects only if they can use symLink targets and not already in the list if (project.languageServiceEnabled && !project.isOrphan() && @@ -113091,7 +114031,7 @@ var ts; }; for (var _i = 0, _a = toAddInfo.containingProjects; _i < _a.length; _i++) { var project = _a[_i]; - _loop_24(project); + _loop_28(project); } } } @@ -113139,7 +114079,7 @@ var ts; if (!openedByClient && !isDynamic && !(hostToQueryFileExistsOn || this.host).fileExists(fileName)) { return; } - info = new server.ScriptInfo(this.host, fileName, scriptKind, hasMixedContent, path); + info = new server.ScriptInfo(this.host, fileName, scriptKind, !!hasMixedContent, path); // TODO: GH#18217 this.filenameToScriptInfo.set(info.path, info); if (!openedByClient) { this.watchClosedScriptInfo(info); @@ -113244,7 +114184,7 @@ var ts; if (!shouldReloadProjectFor(openFileValue)) { return; } - var info = _this.getScriptInfoForPath(path); + var info = _this.getScriptInfoForPath(path); // TODO: GH#18217 ts.Debug.assert(info.isScriptOpen()); // This tries to search for a tsconfig.json for the given file. If we found it, // we first detect if there is already a configured project created for it: if so, @@ -113342,7 +114282,7 @@ var ts; var _this = this; var configFileName; var configFileErrors; - var info = this.getOrCreateScriptInfoOpenedByClientForNormalizedPath(fileName, projectRootPath ? this.getNormalizedAbsolutePath(projectRootPath) : this.currentDirectory, fileContent, scriptKind, hasMixedContent); + var info = this.getOrCreateScriptInfoOpenedByClientForNormalizedPath(fileName, projectRootPath ? this.getNormalizedAbsolutePath(projectRootPath) : this.currentDirectory, fileContent, scriptKind, hasMixedContent); // TODO: GH#18217 this.openFiles.set(info.path, projectRootPath); var project = this.findExternalProjectContainingOpenScriptInfo(info); if (!project && !this.syntaxOnly) { // Checking syntaxOnly is an optimization @@ -113430,13 +114370,13 @@ var ts; this.printProjects(); }; ProjectService.prototype.collectChanges = function (lastKnownProjectVersions, currentProjects, result) { - var _loop_25 = function (proj) { - var knownProject = ts.forEach(lastKnownProjectVersions, function (p) { return p.projectName === proj.getProjectName() && p; }); + var _loop_29 = function (proj) { + var knownProject = ts.find(lastKnownProjectVersions, function (p) { return p.projectName === proj.getProjectName(); }); result.push(proj.getChangesSinceVersion(knownProject && knownProject.version)); }; for (var _i = 0, currentProjects_1 = currentProjects; _i < currentProjects_1.length; _i++) { var proj = currentProjects_1[_i]; - _loop_25(proj); + _loop_29(proj); } }; /* @internal */ @@ -113455,7 +114395,7 @@ var ts; var scriptInfo = this.getScriptInfo(file_21.fileName); ts.Debug.assert(!scriptInfo || !scriptInfo.isScriptOpen(), "Script should not exist and not be open already"); var normalizedPath = scriptInfo ? scriptInfo.fileName : server.toNormalizedPath(file_21.fileName); - this.openClientFileWithNormalizedPath(normalizedPath, file_21.content, tryConvertScriptKindName(file_21.scriptKind), file_21.hasMixedContent); + this.openClientFileWithNormalizedPath(normalizedPath, file_21.content, tryConvertScriptKindName(file_21.scriptKind), file_21.hasMixedContent); // TODO: GH#18217 } } if (changedFiles) { @@ -113535,7 +114475,8 @@ var ts; }; ProjectService.prototype.applySafeList = function (proj) { var _this = this; - var rootFiles = proj.rootFiles, typeAcquisition = proj.typeAcquisition; + var rootFiles = proj.rootFiles; + var typeAcquisition = proj.typeAcquisition; ts.Debug.assert(!!typeAcquisition, "proj.typeAcquisition should be set by now"); // If type acquisition has been explicitly disabled, do not exclude anything from the project if (typeAcquisition.enable === false) { @@ -113545,7 +114486,7 @@ var ts; var excludeRules = []; var normalizedNames = rootFiles.map(function (f) { return ts.normalizeSlashes(f.fileName); }); var excludedFiles = []; - var _loop_26 = function (name) { + var _loop_30 = function (name) { var rule_2 = this_2.safelist[name]; for (var _i = 0, normalizedNames_1 = normalizedNames; _i < normalizedNames_1.length; _i++) { var root = normalizedNames_1[_i]; @@ -113563,7 +114504,7 @@ var ts; } } if (rule_2.exclude) { - var _loop_28 = function (exclude) { + var _loop_32 = function (exclude) { var processedRule = root.replace(rule_2.match, function () { var groups = []; for (var _i = 0; _i < arguments.length; _i++) { @@ -113590,7 +114531,7 @@ var ts; }; for (var _c = 0, _d = rule_2.exclude; _c < _d.length; _c++) { var exclude = _d[_c]; - _loop_28(exclude); + _loop_32(exclude); } } else { @@ -113606,11 +114547,11 @@ var ts; var this_2 = this; for (var _i = 0, _a = Object.keys(this.safelist); _i < _a.length; _i++) { var name = _a[_i]; - _loop_26(name); + _loop_30(name); } var excludeRegexes = excludeRules.map(function (e) { return new RegExp(e, "i"); }); var filesToKeep = []; - var _loop_27 = function (i) { + var _loop_31 = function (i) { if (excludeRegexes.some(function (re) { return re.test(normalizedNames[i]); })) { excludedFiles.push(normalizedNames[i]); } @@ -113648,7 +114589,7 @@ var ts; }; var this_3 = this; for (var i = 0; i < proj.rootFiles.length; i++) { - _loop_27(i); + _loop_31(i); } proj.rootFiles = filesToKeep; return excludedFiles; @@ -113763,7 +114704,7 @@ var ts; } }; ProjectService.prototype.hasDeferredExtension = function () { - for (var _i = 0, _a = this.hostConfiguration.extraFileExtensions; _i < _a.length; _i++) { + for (var _i = 0, _a = this.hostConfiguration.extraFileExtensions; _i < _a.length; _i++) { // TODO: GH#18217 var extension = _a[_i]; if (extension.scriptKind === 7 /* Deferred */) { return true; @@ -113832,7 +114773,7 @@ var ts; } } function formatDiag(fileName, project, diag) { - var scriptInfo = project.getScriptInfoForNormalizedPath(fileName); + var scriptInfo = project.getScriptInfoForNormalizedPath(fileName); // TODO: GH#18217 return { start: scriptInfo.positionToLineOffset(diag.start), end: scriptInfo.positionToLineOffset(diag.start + diag.length), @@ -113847,8 +114788,8 @@ var ts; return { line: lineAndCharacter.line + 1, offset: lineAndCharacter.character + 1 }; } function formatConfigFileDiag(diag, includeFileName) { - var start = diag.file && convertToLocation(ts.getLineAndCharacterOfPosition(diag.file, diag.start)); - var end = diag.file && convertToLocation(ts.getLineAndCharacterOfPosition(diag.file, diag.start + diag.length)); + var start = (diag.file && convertToLocation(ts.getLineAndCharacterOfPosition(diag.file, diag.start))); // TODO: GH#18217 + var end = (diag.file && convertToLocation(ts.getLineAndCharacterOfPosition(diag.file, diag.start + diag.length))); // TODO: GH#18217 var text = ts.flattenDiagnosticMessageText(diag.messageText, "\n"); var code = diag.code, source = diag.source; var category = ts.diagnosticCategoryName(diag); @@ -114025,7 +114966,7 @@ var ts; }, _a[server.CommandNames.ApplyChangedToOpenFiles] = function (request) { _this.changeSeq++; - _this.projectService.applyChangesInOpenFiles(request.arguments.openFiles, request.arguments.changedFiles, request.arguments.closedFiles); + _this.projectService.applyChangesInOpenFiles(request.arguments.openFiles, request.arguments.changedFiles, request.arguments.closedFiles); // TODO: GH#18217 // TODO: report errors return _this.requiredResponse(/*response*/ true); }, @@ -114070,7 +115011,8 @@ var ts; return _this.requiredResponse(_this.getRenameInfo(request.arguments)); }, _a[server.CommandNames.Open] = function (request) { - _this.openClientFile(server.toNormalizedPath(request.arguments.file), request.arguments.fileContent, server.convertScriptKindName(request.arguments.scriptKindName), request.arguments.projectRootPath ? server.toNormalizedPath(request.arguments.projectRootPath) : undefined); + _this.openClientFile(server.toNormalizedPath(request.arguments.file), request.arguments.fileContent, server.convertScriptKindName(request.arguments.scriptKindName), // TODO: GH#18217 + request.arguments.projectRootPath ? server.toNormalizedPath(request.arguments.projectRootPath) : undefined); return _this.notRequired(); }, _a[server.CommandNames.Quickinfo] = function (request) { @@ -114239,6 +115181,9 @@ var ts; _this.projectService.reloadProjects(); return _this.notRequired(); }, + _a[server.CommandNames.JsxClosingTag] = function (request) { + return _this.requiredResponse(_this.getJsxClosingTag(request.arguments)); + }, _a[server.CommandNames.GetCodeFixes] = function (request) { return _this.requiredResponse(_this.getCodeFixes(request.arguments, /*simplifiedResult*/ true)); }, @@ -114287,6 +115232,7 @@ var ts; this.logger = opts.logger; this.canUseEvents = opts.canUseEvents; this.suppressDiagnosticEvents = opts.suppressDiagnosticEvents; + this.noGetErrOnBackgroundUpdate = opts.noGetErrOnBackgroundUpdate; var throttleWaitMilliseconds = opts.throttleWaitMilliseconds; this.eventHandler = this.canUseEvents ? opts.eventHandler || (function (event) { return _this.defaultEventHandler(event); }) @@ -114358,7 +115304,7 @@ var ts; var _this = this; this.projectService.logger.info("got projects updated in background, updating diagnostics for " + openFiles); if (openFiles.length) { - if (!this.suppressDiagnosticEvents) { + if (!this.suppressDiagnosticEvents && !this.noGetErrOnBackgroundUpdate) { var checkList_1 = this.createCheckList(openFiles); // For now only queue error checking for open files. We can change this to include non open files as well this.errorCheck.startNew(function (next) { return _this.updateErrorCheck(next, checkList_1, 100, /*requireOpen*/ true); }); @@ -114394,7 +115340,7 @@ var ts; // For backwards-compatibility only. /** @deprecated */ Session.prototype.output = function (info, cmdName, reqSeq, errorMsg) { - this.doOutput(info, cmdName, reqSeq, /*success*/ !errorMsg, errorMsg); + this.doOutput(info, cmdName, reqSeq, /*success*/ !errorMsg, errorMsg); // TODO: GH#18217 }; Session.prototype.doOutput = function (info, cmdName, reqSeq, success, message) { var res = { @@ -114505,20 +115451,20 @@ var ts; return project.getLanguageService().getEncodedSemanticClassifications(file, args); }; Session.prototype.getProject = function (projectFileName) { - return projectFileName && this.projectService.findProject(projectFileName); + return projectFileName === undefined ? undefined : this.projectService.findProject(projectFileName); }; Session.prototype.getConfigFileAndProject = function (args) { var project = this.getProject(args.projectFileName); var file = server.toNormalizedPath(args.file); return { - configFile: project && project.hasConfigFile(file) && file, + configFile: project && project.hasConfigFile(file) ? file : undefined, project: project }; }; Session.prototype.getConfigFileDiagnostics = function (configFile, project, includeLinePosition) { var projectErrors = project.getAllProjectErrors(); var optionsErrors = project.getLanguageService().getCompilerOptionsDiagnostics(); - var diagnosticsForConfigFile = ts.filter(ts.concatenate(projectErrors, optionsErrors), function (diagnostic) { return diagnostic.file && diagnostic.file.fileName === configFile; }); + var diagnosticsForConfigFile = ts.filter(ts.concatenate(projectErrors, optionsErrors), function (diagnostic) { return !!diagnostic.file && diagnostic.file.fileName === configFile; }); return includeLinePosition ? this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(diagnosticsForConfigFile) : ts.map(diagnosticsForConfigFile, function (diagnostic) { return formatConfigFileDiag(diagnostic, /*includeFileName*/ false); }); @@ -114531,8 +115477,8 @@ var ts; length: d.length, category: ts.diagnosticCategoryName(d), code: d.code, - startLocation: d.file && convertToLocation(ts.getLineAndCharacterOfPosition(d.file, d.start)), - endLocation: d.file && convertToLocation(ts.getLineAndCharacterOfPosition(d.file, d.start + d.length)) + startLocation: (d.file && convertToLocation(ts.getLineAndCharacterOfPosition(d.file, d.start))), + endLocation: (d.file && convertToLocation(ts.getLineAndCharacterOfPosition(d.file, d.start + d.length))) // TODO: GH#18217 }); }); }; Session.prototype.getCompilerOptionsDiagnostics = function (args) { @@ -114588,7 +115534,7 @@ var ts; if (!definitionAndBoundSpan || !definitionAndBoundSpan.definitions) { return { definitions: server.emptyArray, - textSpan: undefined + textSpan: undefined // TODO: GH#18217 }; } if (simplifiedResult) { @@ -114619,7 +115565,7 @@ var ts; }; Session.prototype.toFileSpan = function (fileName, textSpan, project) { var ls = project.getLanguageService(); - var start = ls.toLineColumnOffset(fileName, textSpan.start); + var start = ls.toLineColumnOffset(fileName, textSpan.start); // TODO: GH#18217 var end = ls.toLineColumnOffset(fileName, ts.textSpanEnd(textSpan)); return { file: fileName, @@ -114681,14 +115627,14 @@ var ts; // all the config file errors are reported as part of semantic check so nothing to report here return server.emptyArray; } - return this.getDiagnosticsWorker(args, /*isSemantic*/ false, function (project, file) { return project.getLanguageService().getSyntacticDiagnostics(file); }, args.includeLinePosition); + return this.getDiagnosticsWorker(args, /*isSemantic*/ false, function (project, file) { return project.getLanguageService().getSyntacticDiagnostics(file); }, !!args.includeLinePosition); }; Session.prototype.getSemanticDiagnosticsSync = function (args) { var _a = this.getConfigFileAndProject(args), configFile = _a.configFile, project = _a.project; if (configFile) { - return this.getConfigFileDiagnostics(configFile, project, args.includeLinePosition); + return this.getConfigFileDiagnostics(configFile, project, !!args.includeLinePosition); // TODO: GH#18217 } - return this.getDiagnosticsWorker(args, /*isSemantic*/ true, function (project, file) { return project.getLanguageService().getSemanticDiagnostics(file); }, args.includeLinePosition); + return this.getDiagnosticsWorker(args, /*isSemantic*/ true, function (project, file) { return project.getLanguageService().getSemanticDiagnostics(file); }, !!args.includeLinePosition); }; Session.prototype.getSuggestionDiagnosticsSync = function (args) { var configFile = this.getConfigFileAndProject(args).configFile; @@ -114697,7 +115643,13 @@ var ts; return server.emptyArray; } // isSemantic because we don't want to info diagnostics in declaration files for JS-only users - return this.getDiagnosticsWorker(args, /*isSemantic*/ true, function (project, file) { return project.getLanguageService().getSuggestionDiagnostics(file); }, args.includeLinePosition); + return this.getDiagnosticsWorker(args, /*isSemantic*/ true, function (project, file) { return project.getLanguageService().getSuggestionDiagnostics(file); }, !!args.includeLinePosition); + }; + Session.prototype.getJsxClosingTag = function (args) { + var _a = this.getFileAndProject(args), file = _a.file, project = _a.project; + var position = this.getPositionInFile(args, file); + var tag = project.getLanguageService().getJsxClosingTagAtPosition(file, position); + return tag === undefined ? undefined : { newText: tag.newText, caretOffset: 0 }; }; Session.prototype.getDocumentHighlights = function (args, simplifiedResult) { var _a = this.getFileAndProject(args), file = _a.file, project = _a.project; @@ -114767,7 +115719,7 @@ var ts; if ((!projects || !projects.length) && !symLinkedProjects) { return server.Errors.ThrowNoProject(); } - return symLinkedProjects ? { projects: projects, symLinkedProjects: symLinkedProjects } : projects; + return symLinkedProjects ? { projects: projects, symLinkedProjects: symLinkedProjects } : projects; // TODO: GH#18217 }; Session.prototype.getDefaultProject = function (args) { if (args.projectFileName) { @@ -114874,13 +115826,10 @@ var ts; var position = this.getPosition(args, scriptInfo); if (simplifiedResult) { var nameInfo = defaultProject.getLanguageService().getQuickInfoAtPosition(file, position); - if (!nameInfo) { - return undefined; - } - var displayString = ts.displayPartsToString(nameInfo.displayParts); - var nameSpan = nameInfo.textSpan; - var nameColStart = scriptInfo.positionToLineOffset(nameSpan.start).offset; - var nameText = scriptInfo.getSnapshot().getText(nameSpan.start, ts.textSpanEnd(nameSpan)); + var displayString = nameInfo ? ts.displayPartsToString(nameInfo.displayParts) : ""; + var nameSpan = nameInfo && nameInfo.textSpan; + var nameColStart = nameSpan ? scriptInfo.positionToLineOffset(nameSpan.start).offset : 0; + var nameText = nameSpan ? scriptInfo.getSnapshot().getText(nameSpan.start, ts.textSpanEnd(nameSpan)) : ""; var refs = combineProjectOutput(file, function (path) { return _this.projectService.getScriptInfoForPath(path).fileName; }, projects, function (project, file) { var references = project.getLanguageService().getReferencesAtPosition(file, position); if (!references) { @@ -114953,7 +115902,7 @@ var ts; }; Session.prototype.getFileAndProjectWorker = function (uncheckedFileName, projectFileName) { var file = server.toNormalizedPath(uncheckedFileName); - var project = this.getProject(projectFileName) || this.projectService.getDefaultProjectForFile(file, /*ensureProject*/ true); + var project = this.getProject(projectFileName) || this.projectService.getDefaultProjectForFile(file, /*ensureProject*/ true); // TODO: GH#18217 return { file: file, project: project }; }; Session.prototype.getOutliningSpans = function (args, simplifiedResult) { @@ -115051,7 +116000,7 @@ var ts; Session.prototype.getFormattingEditsForRangeFull = function (args) { var _a = this.getFileAndLanguageServiceForSyntacticOperation(args), file = _a.file, languageService = _a.languageService; var options = args.options ? server.convertFormatOptions(args.options) : this.getFormatOptions(file); - return languageService.getFormattingEditsForRange(file, args.position, args.endPosition, options); + return languageService.getFormattingEditsForRange(file, args.position, args.endPosition, options); // TODO: GH#18217 }; Session.prototype.getFormattingEditsForDocumentFull = function (args) { var _a = this.getFileAndLanguageServiceForSyntacticOperation(args), file = _a.file, languageService = _a.languageService; @@ -115061,7 +116010,7 @@ var ts; Session.prototype.getFormattingEditsAfterKeystrokeFull = function (args) { var _a = this.getFileAndLanguageServiceForSyntacticOperation(args), file = _a.file, languageService = _a.languageService; var options = args.options ? server.convertFormatOptions(args.options) : this.getFormatOptions(file); - return languageService.getFormattingEditsAfterKeystroke(file, args.position, args.key, options); + return languageService.getFormattingEditsAfterKeystroke(file, args.position, args.key, options); // TODO: GH#18217 }; Session.prototype.getFormattingEditsAfterKeystroke = function (args) { var _a = this.getFileAndLanguageServiceForSyntacticOperation(args), file = _a.file, languageService = _a.languageService; @@ -115086,7 +116035,7 @@ var ts; hasIndent++; } else if (lineText.charAt(i) === "\t") { - hasIndent += formatOptions.tabSize; + hasIndent += formatOptions.tabSize; // TODO: GH#18217 } else { break; @@ -115232,13 +116181,13 @@ var ts; this.changeSeq++; this.projectService.applyChangesToFile(scriptInfo, [{ span: { start: start, length: end - start }, - newText: args.insertString + newText: args.insertString // TODO: GH#18217 }]); } }; Session.prototype.reload = function (args, reqSeq) { var file = server.toNormalizedPath(args.file); - var tempFileName = args.tmpfile && server.toNormalizedPath(args.tmpfile); + var tempFileName = args.tmpfile === undefined ? undefined : server.toNormalizedPath(args.tmpfile); var info = this.projectService.getScriptInfoForNormalizedPath(file); if (info) { this.changeSeq++; @@ -115396,7 +116345,7 @@ var ts; var _a = this.getStartAndEndPosition(args, scriptInfo), startPosition = _a.startPosition, endPosition = _a.endPosition; textRange = { pos: startPosition, end: endPosition }; } - return { position: position, textRange: textRange }; + return { position: position, textRange: textRange }; // TODO: GH#18217 function getPosition(loc) { return loc.position !== undefined ? loc.position : scriptInfo.lineOffsetToPosition(loc.line, loc.offset); } @@ -115444,12 +116393,12 @@ var ts; }; Session.prototype.getEditsForFileRename = function (args, simplifiedResult) { var _a = this.getFileAndProject(args), file = _a.file, project = _a.project; - var changes = project.getLanguageService().getEditsForFileRename(args.oldFilePath, args.newFilePath, this.getFormatOptions(file)); + var changes = project.getLanguageService().getEditsForFileRename(args.oldFilePath, args.newFilePath, this.getFormatOptions(file), this.getPreferences(file)); return simplifiedResult ? this.mapTextChangesToCodeEdits(project, changes) : changes; }; Session.prototype.getCodeFixes = function (args, simplifiedResult) { var _this = this; - if (args.errorCodes.length === 0) { + if (args.errorCodes.length === 0) { // TODO: GH#18217 return undefined; } var _a = this.getFileAndProject(args), file = _a.file, project = _a.project; @@ -115557,7 +116506,7 @@ var ts; return; } // No need to analyze lib.d.ts - var fileNamesInProject = fileNames.filter(function (value) { return !ts.stringContains(value, "lib.d.ts"); }); + var fileNamesInProject = fileNames.filter(function (value) { return !ts.stringContains(value, "lib.d.ts"); }); // TODO: GH#18217 if (fileNamesInProject.length === 0) { return; } @@ -115574,7 +116523,7 @@ var ts; highPriorityFiles.push(fileNameInProject); } else { - var info = this.projectService.getScriptInfo(fileNameInProject); + var info = this.projectService.getScriptInfo(fileNameInProject); // TODO: GH#18217 if (!info.isScriptOpen()) { if (ts.fileExtensionIs(fileNameInProject, ".d.ts" /* Dts */)) { veryLowPriorityFiles.push(fileNameInProject); @@ -115618,7 +116567,7 @@ var ts; }; Session.prototype.resetCurrentRequest = function (requestId) { ts.Debug.assert(this.currentRequestId === requestId); - this.currentRequestId = undefined; + this.currentRequestId = undefined; // TODO: GH#18217 this.cancellationToken.resetRequest(requestId); }; Session.prototype.executeWithRequestId = function (requestId, f) { @@ -116000,7 +116949,7 @@ var ts; if (oldVersion >= this.minVersion) { var textChangeRanges = []; for (var i = oldVersion + 1; i <= newVersion; i++) { - var snap = this.versions[this.versionToIndex(i)]; + var snap = this.versions[this.versionToIndex(i)]; // TODO: GH#18217 for (var _i = 0, _a = snap.changesSincePreviousVersion; _i < _a.length; _i++) { var textChange = _a[_i]; textChangeRanges.push(textChange.getTextChangeRange()); @@ -116136,6 +117085,7 @@ var ts; this.load(LineIndex.linesFromText(newText).lines); return this; } + return undefined; // TODO: GH#18217 } else { var checkText = void 0; @@ -116164,7 +117114,7 @@ var ts; var _a = this.positionToColumnAndLineText(e), zeroBasedColumn = _a.zeroBasedColumn, lineText = _a.lineText; if (zeroBasedColumn === 0) { // move range end just past line that will merge with previous line - deleteLength += lineText.length; + deleteLength += lineText.length; // TODO: GH#18217 // store text by appending to end of insertedText newText = newText ? newText + lineText : lineText; } diff --git a/lib/typescript.d.ts b/lib/typescript.d.ts index b449fc853c6..51bd949ae4d 100644 --- a/lib/typescript.d.ts +++ b/lib/typescript.d.ts @@ -204,169 +204,170 @@ declare namespace ts { TypeKeyword = 139, UndefinedKeyword = 140, UniqueKeyword = 141, - FromKeyword = 142, - GlobalKeyword = 143, - OfKeyword = 144, - QualifiedName = 145, - ComputedPropertyName = 146, - TypeParameter = 147, - Parameter = 148, - Decorator = 149, - PropertySignature = 150, - PropertyDeclaration = 151, - MethodSignature = 152, - MethodDeclaration = 153, - Constructor = 154, - GetAccessor = 155, - SetAccessor = 156, - CallSignature = 157, - ConstructSignature = 158, - IndexSignature = 159, - TypePredicate = 160, - TypeReference = 161, - FunctionType = 162, - ConstructorType = 163, - TypeQuery = 164, - TypeLiteral = 165, - ArrayType = 166, - TupleType = 167, - UnionType = 168, - IntersectionType = 169, - ConditionalType = 170, - InferType = 171, - ParenthesizedType = 172, - ThisType = 173, - TypeOperator = 174, - IndexedAccessType = 175, - MappedType = 176, - LiteralType = 177, - ImportType = 178, - ObjectBindingPattern = 179, - ArrayBindingPattern = 180, - BindingElement = 181, - ArrayLiteralExpression = 182, - ObjectLiteralExpression = 183, - PropertyAccessExpression = 184, - ElementAccessExpression = 185, - CallExpression = 186, - NewExpression = 187, - TaggedTemplateExpression = 188, - TypeAssertionExpression = 189, - ParenthesizedExpression = 190, - FunctionExpression = 191, - ArrowFunction = 192, - DeleteExpression = 193, - TypeOfExpression = 194, - VoidExpression = 195, - AwaitExpression = 196, - PrefixUnaryExpression = 197, - PostfixUnaryExpression = 198, - BinaryExpression = 199, - ConditionalExpression = 200, - TemplateExpression = 201, - YieldExpression = 202, - SpreadElement = 203, - ClassExpression = 204, - OmittedExpression = 205, - ExpressionWithTypeArguments = 206, - AsExpression = 207, - NonNullExpression = 208, - MetaProperty = 209, - TemplateSpan = 210, - SemicolonClassElement = 211, - Block = 212, - VariableStatement = 213, - EmptyStatement = 214, - ExpressionStatement = 215, - IfStatement = 216, - DoStatement = 217, - WhileStatement = 218, - ForStatement = 219, - ForInStatement = 220, - ForOfStatement = 221, - ContinueStatement = 222, - BreakStatement = 223, - ReturnStatement = 224, - WithStatement = 225, - SwitchStatement = 226, - LabeledStatement = 227, - ThrowStatement = 228, - TryStatement = 229, - DebuggerStatement = 230, - VariableDeclaration = 231, - VariableDeclarationList = 232, - FunctionDeclaration = 233, - ClassDeclaration = 234, - InterfaceDeclaration = 235, - TypeAliasDeclaration = 236, - EnumDeclaration = 237, - ModuleDeclaration = 238, - ModuleBlock = 239, - CaseBlock = 240, - NamespaceExportDeclaration = 241, - ImportEqualsDeclaration = 242, - ImportDeclaration = 243, - ImportClause = 244, - NamespaceImport = 245, - NamedImports = 246, - ImportSpecifier = 247, - ExportAssignment = 248, - ExportDeclaration = 249, - NamedExports = 250, - ExportSpecifier = 251, - MissingDeclaration = 252, - ExternalModuleReference = 253, - JsxElement = 254, - JsxSelfClosingElement = 255, - JsxOpeningElement = 256, - JsxClosingElement = 257, - JsxFragment = 258, - JsxOpeningFragment = 259, - JsxClosingFragment = 260, - JsxAttribute = 261, - JsxAttributes = 262, - JsxSpreadAttribute = 263, - JsxExpression = 264, - CaseClause = 265, - DefaultClause = 266, - HeritageClause = 267, - CatchClause = 268, - PropertyAssignment = 269, - ShorthandPropertyAssignment = 270, - SpreadAssignment = 271, - EnumMember = 272, - SourceFile = 273, - Bundle = 274, - UnparsedSource = 275, - InputFiles = 276, - JSDocTypeExpression = 277, - JSDocAllType = 278, - JSDocUnknownType = 279, - JSDocNullableType = 280, - JSDocNonNullableType = 281, - JSDocOptionalType = 282, - JSDocFunctionType = 283, - JSDocVariadicType = 284, - JSDocComment = 285, - JSDocTypeLiteral = 286, - JSDocSignature = 287, - JSDocTag = 288, - JSDocAugmentsTag = 289, - JSDocClassTag = 290, - JSDocCallbackTag = 291, - JSDocParameterTag = 292, - JSDocReturnTag = 293, - JSDocTypeTag = 294, - JSDocTemplateTag = 295, - JSDocTypedefTag = 296, - JSDocPropertyTag = 297, - SyntaxList = 298, - NotEmittedStatement = 299, - PartiallyEmittedExpression = 300, - CommaListExpression = 301, - MergeDeclarationMarker = 302, - EndOfDeclarationMarker = 303, - Count = 304, + UnknownKeyword = 142, + FromKeyword = 143, + GlobalKeyword = 144, + OfKeyword = 145, + QualifiedName = 146, + ComputedPropertyName = 147, + TypeParameter = 148, + Parameter = 149, + Decorator = 150, + PropertySignature = 151, + PropertyDeclaration = 152, + MethodSignature = 153, + MethodDeclaration = 154, + Constructor = 155, + GetAccessor = 156, + SetAccessor = 157, + CallSignature = 158, + ConstructSignature = 159, + IndexSignature = 160, + TypePredicate = 161, + TypeReference = 162, + FunctionType = 163, + ConstructorType = 164, + TypeQuery = 165, + TypeLiteral = 166, + ArrayType = 167, + TupleType = 168, + UnionType = 169, + IntersectionType = 170, + ConditionalType = 171, + InferType = 172, + ParenthesizedType = 173, + ThisType = 174, + TypeOperator = 175, + IndexedAccessType = 176, + MappedType = 177, + LiteralType = 178, + ImportType = 179, + ObjectBindingPattern = 180, + ArrayBindingPattern = 181, + BindingElement = 182, + ArrayLiteralExpression = 183, + ObjectLiteralExpression = 184, + PropertyAccessExpression = 185, + ElementAccessExpression = 186, + CallExpression = 187, + NewExpression = 188, + TaggedTemplateExpression = 189, + TypeAssertionExpression = 190, + ParenthesizedExpression = 191, + FunctionExpression = 192, + ArrowFunction = 193, + DeleteExpression = 194, + TypeOfExpression = 195, + VoidExpression = 196, + AwaitExpression = 197, + PrefixUnaryExpression = 198, + PostfixUnaryExpression = 199, + BinaryExpression = 200, + ConditionalExpression = 201, + TemplateExpression = 202, + YieldExpression = 203, + SpreadElement = 204, + ClassExpression = 205, + OmittedExpression = 206, + ExpressionWithTypeArguments = 207, + AsExpression = 208, + NonNullExpression = 209, + MetaProperty = 210, + TemplateSpan = 211, + SemicolonClassElement = 212, + Block = 213, + VariableStatement = 214, + EmptyStatement = 215, + ExpressionStatement = 216, + IfStatement = 217, + DoStatement = 218, + WhileStatement = 219, + ForStatement = 220, + ForInStatement = 221, + ForOfStatement = 222, + ContinueStatement = 223, + BreakStatement = 224, + ReturnStatement = 225, + WithStatement = 226, + SwitchStatement = 227, + LabeledStatement = 228, + ThrowStatement = 229, + TryStatement = 230, + DebuggerStatement = 231, + VariableDeclaration = 232, + VariableDeclarationList = 233, + FunctionDeclaration = 234, + ClassDeclaration = 235, + InterfaceDeclaration = 236, + TypeAliasDeclaration = 237, + EnumDeclaration = 238, + ModuleDeclaration = 239, + ModuleBlock = 240, + CaseBlock = 241, + NamespaceExportDeclaration = 242, + ImportEqualsDeclaration = 243, + ImportDeclaration = 244, + ImportClause = 245, + NamespaceImport = 246, + NamedImports = 247, + ImportSpecifier = 248, + ExportAssignment = 249, + ExportDeclaration = 250, + NamedExports = 251, + ExportSpecifier = 252, + MissingDeclaration = 253, + ExternalModuleReference = 254, + JsxElement = 255, + JsxSelfClosingElement = 256, + JsxOpeningElement = 257, + JsxClosingElement = 258, + JsxFragment = 259, + JsxOpeningFragment = 260, + JsxClosingFragment = 261, + JsxAttribute = 262, + JsxAttributes = 263, + JsxSpreadAttribute = 264, + JsxExpression = 265, + CaseClause = 266, + DefaultClause = 267, + HeritageClause = 268, + CatchClause = 269, + PropertyAssignment = 270, + ShorthandPropertyAssignment = 271, + SpreadAssignment = 272, + EnumMember = 273, + SourceFile = 274, + Bundle = 275, + UnparsedSource = 276, + InputFiles = 277, + JSDocTypeExpression = 278, + JSDocAllType = 279, + JSDocUnknownType = 280, + JSDocNullableType = 281, + JSDocNonNullableType = 282, + JSDocOptionalType = 283, + JSDocFunctionType = 284, + JSDocVariadicType = 285, + JSDocComment = 286, + JSDocTypeLiteral = 287, + JSDocSignature = 288, + JSDocTag = 289, + JSDocAugmentsTag = 290, + JSDocClassTag = 291, + JSDocCallbackTag = 292, + JSDocParameterTag = 293, + JSDocReturnTag = 294, + JSDocTypeTag = 295, + JSDocTemplateTag = 296, + JSDocTypedefTag = 297, + JSDocPropertyTag = 298, + SyntaxList = 299, + NotEmittedStatement = 300, + PartiallyEmittedExpression = 301, + CommaListExpression = 302, + MergeDeclarationMarker = 303, + EndOfDeclarationMarker = 304, + Count = 305, FirstAssignment = 58, LastAssignment = 70, FirstCompoundAssignment = 59, @@ -374,15 +375,15 @@ declare namespace ts { FirstReservedWord = 72, LastReservedWord = 107, FirstKeyword = 72, - LastKeyword = 144, + LastKeyword = 145, FirstFutureReservedWord = 108, LastFutureReservedWord = 116, - FirstTypeNode = 160, - LastTypeNode = 178, + FirstTypeNode = 161, + LastTypeNode = 179, FirstPunctuation = 17, LastPunctuation = 70, FirstToken = 0, - LastToken = 144, + LastToken = 145, FirstTriviaToken = 2, LastTriviaToken = 7, FirstLiteralToken = 8, @@ -391,11 +392,11 @@ declare namespace ts { LastTemplateToken = 16, FirstBinaryOperator = 27, LastBinaryOperator = 70, - FirstNode = 145, - FirstJSDocNode = 277, - LastJSDocNode = 297, - FirstJSDocTagNode = 288, - LastJSDocTagNode = 297 + FirstNode = 146, + FirstJSDocNode = 278, + LastJSDocNode = 298, + FirstJSDocTagNode = 289, + LastJSDocTagNode = 298 } enum NodeFlags { None = 0, @@ -460,7 +461,7 @@ declare namespace ts { flags: NodeFlags; decorators?: NodeArray; modifiers?: ModifiersArray; - parent?: Node; + parent: Node; } interface JSDocContainer { } @@ -525,12 +526,12 @@ declare namespace ts { } interface Decorator extends Node { kind: SyntaxKind.Decorator; - parent?: NamedDeclaration; + parent: NamedDeclaration; expression: LeftHandSideExpression; } interface TypeParameterDeclaration extends NamedDeclaration { kind: SyntaxKind.TypeParameter; - parent?: DeclarationWithTypeParameters | InferTypeNode; + parent: DeclarationWithTypeParameters | InferTypeNode; name: Identifier; constraint?: TypeNode; default?: TypeNode; @@ -541,7 +542,7 @@ declare namespace ts { name?: PropertyName; typeParameters?: NodeArray; parameters: NodeArray; - type: TypeNode | undefined; + type?: TypeNode; } type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction; interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement { @@ -553,7 +554,7 @@ declare namespace ts { type BindingName = Identifier | BindingPattern; interface VariableDeclaration extends NamedDeclaration { kind: SyntaxKind.VariableDeclaration; - parent?: VariableDeclarationList | CatchClause; + parent: VariableDeclarationList | CatchClause; name: BindingName; exclamationToken?: ExclamationToken; type?: TypeNode; @@ -561,12 +562,12 @@ declare namespace ts { } interface VariableDeclarationList extends Node { kind: SyntaxKind.VariableDeclarationList; - parent?: VariableStatement | ForStatement | ForOfStatement | ForInStatement; + parent: VariableStatement | ForStatement | ForOfStatement | ForInStatement; declarations: NodeArray; } interface ParameterDeclaration extends NamedDeclaration, JSDocContainer { kind: SyntaxKind.Parameter; - parent?: SignatureDeclaration; + parent: SignatureDeclaration; dotDotDotToken?: DotDotDotToken; name: BindingName; questionToken?: QuestionToken; @@ -575,7 +576,7 @@ declare namespace ts { } interface BindingElement extends NamedDeclaration { kind: SyntaxKind.BindingElement; - parent?: BindingPattern; + parent: BindingPattern; propertyName?: PropertyName; dotDotDotToken?: DotDotDotToken; name: BindingName; @@ -628,12 +629,12 @@ declare namespace ts { } interface ObjectBindingPattern extends Node { kind: SyntaxKind.ObjectBindingPattern; - parent?: VariableDeclaration | ParameterDeclaration | BindingElement; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; elements: NodeArray; } interface ArrayBindingPattern extends Node { kind: SyntaxKind.ArrayBindingPattern; - parent?: VariableDeclaration | ParameterDeclaration | BindingElement; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; elements: NodeArray; } type BindingPattern = ObjectBindingPattern | ArrayBindingPattern; @@ -662,47 +663,47 @@ declare namespace ts { } interface MethodSignature extends SignatureDeclarationBase, TypeElement { kind: SyntaxKind.MethodSignature; - parent?: ObjectTypeDeclaration; + parent: ObjectTypeDeclaration; name: PropertyName; } interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { kind: SyntaxKind.MethodDeclaration; - parent?: ClassLikeDeclaration | ObjectLiteralExpression; + parent: ClassLikeDeclaration | ObjectLiteralExpression; name: PropertyName; body?: FunctionBody; } interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer { kind: SyntaxKind.Constructor; - parent?: ClassLikeDeclaration; + parent: ClassLikeDeclaration; body?: FunctionBody; } /** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ interface SemicolonClassElement extends ClassElement { kind: SyntaxKind.SemicolonClassElement; - parent?: ClassLikeDeclaration; + parent: ClassLikeDeclaration; } interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { kind: SyntaxKind.GetAccessor; - parent?: ClassLikeDeclaration | ObjectLiteralExpression; + parent: ClassLikeDeclaration | ObjectLiteralExpression; name: PropertyName; body?: FunctionBody; } interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { kind: SyntaxKind.SetAccessor; - parent?: ClassLikeDeclaration | ObjectLiteralExpression; + parent: ClassLikeDeclaration | ObjectLiteralExpression; name: PropertyName; body?: FunctionBody; } type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration; interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement { kind: SyntaxKind.IndexSignature; - parent?: ObjectTypeDeclaration; + parent: ObjectTypeDeclaration; } interface TypeNode extends Node { _typeNodeBrand: any; } interface KeywordTypeNode extends TypeNode { - kind: SyntaxKind.AnyKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.VoidKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.NullKeyword | SyntaxKind.NeverKeyword; + kind: SyntaxKind.AnyKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.VoidKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.NullKeyword | SyntaxKind.NeverKeyword; } interface ImportTypeNode extends NodeWithTypeArguments { kind: SyntaxKind.ImportType; @@ -730,7 +731,7 @@ declare namespace ts { } interface TypePredicateNode extends TypeNode { kind: SyntaxKind.TypePredicate; - parent?: SignatureDeclaration; + parent: SignatureDeclaration; parameterName: Identifier | ThisTypeNode; type: TypeNode; } @@ -959,15 +960,15 @@ declare namespace ts { } interface TemplateHead extends LiteralLikeNode { kind: SyntaxKind.TemplateHead; - parent?: TemplateExpression; + parent: TemplateExpression; } interface TemplateMiddle extends LiteralLikeNode { kind: SyntaxKind.TemplateMiddle; - parent?: TemplateSpan; + parent: TemplateSpan; } interface TemplateTail extends LiteralLikeNode { kind: SyntaxKind.TemplateTail; - parent?: TemplateSpan; + parent: TemplateSpan; } type TemplateLiteral = TemplateExpression | NoSubstitutionTemplateLiteral; interface TemplateExpression extends PrimaryExpression { @@ -977,7 +978,7 @@ declare namespace ts { } interface TemplateSpan extends Node { kind: SyntaxKind.TemplateSpan; - parent?: TemplateExpression; + parent: TemplateExpression; expression: Expression; literal: TemplateMiddle | TemplateTail; } @@ -991,7 +992,7 @@ declare namespace ts { } interface SpreadElement extends Expression { kind: SyntaxKind.SpreadElement; - parent?: ArrayLiteralExpression | CallExpression | NewExpression; + parent: ArrayLiteralExpression | CallExpression | NewExpression; expression: Expression; } /** @@ -1044,7 +1045,7 @@ declare namespace ts { } interface ExpressionWithTypeArguments extends NodeWithTypeArguments { kind: SyntaxKind.ExpressionWithTypeArguments; - parent?: HeritageClause; + parent: HeritageClause; expression: LeftHandSideExpression; } interface NewExpression extends PrimaryExpression, Declaration { @@ -1090,11 +1091,11 @@ declare namespace ts { type JsxAttributeLike = JsxAttribute | JsxSpreadAttribute; type JsxTagNameExpression = PrimaryExpression | PropertyAccessExpression; interface JsxAttributes extends ObjectLiteralExpressionBase { - parent?: JsxOpeningLikeElement; + parent: JsxOpeningLikeElement; } interface JsxOpeningElement extends Expression { kind: SyntaxKind.JsxOpeningElement; - parent?: JsxElement; + parent: JsxElement; tagName: JsxTagNameExpression; typeArguments?: NodeArray; attributes: JsxAttributes; @@ -1113,38 +1114,38 @@ declare namespace ts { } interface JsxOpeningFragment extends Expression { kind: SyntaxKind.JsxOpeningFragment; - parent?: JsxFragment; + parent: JsxFragment; } interface JsxClosingFragment extends Expression { kind: SyntaxKind.JsxClosingFragment; - parent?: JsxFragment; + parent: JsxFragment; } interface JsxAttribute extends ObjectLiteralElement { kind: SyntaxKind.JsxAttribute; - parent?: JsxAttributes; + parent: JsxAttributes; name: Identifier; initializer?: StringLiteral | JsxExpression; } interface JsxSpreadAttribute extends ObjectLiteralElement { kind: SyntaxKind.JsxSpreadAttribute; - parent?: JsxAttributes; + parent: JsxAttributes; expression: Expression; } interface JsxClosingElement extends Node { kind: SyntaxKind.JsxClosingElement; - parent?: JsxElement; + parent: JsxElement; tagName: JsxTagNameExpression; } interface JsxExpression extends Expression { kind: SyntaxKind.JsxExpression; - parent?: JsxElement | JsxAttributeLike; + parent: JsxElement | JsxAttributeLike; dotDotDotToken?: Token; expression?: Expression; } interface JsxText extends Node { kind: SyntaxKind.JsxText; containsOnlyWhiteSpaces: boolean; - parent?: JsxElement; + parent: JsxElement; } type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment; interface Statement extends Node { @@ -1245,18 +1246,18 @@ declare namespace ts { } interface CaseBlock extends Node { kind: SyntaxKind.CaseBlock; - parent?: SwitchStatement; + parent: SwitchStatement; clauses: NodeArray; } interface CaseClause extends Node { kind: SyntaxKind.CaseClause; - parent?: CaseBlock; + parent: CaseBlock; expression: Expression; statements: NodeArray; } interface DefaultClause extends Node { kind: SyntaxKind.DefaultClause; - parent?: CaseBlock; + parent: CaseBlock; statements: NodeArray; } type CaseOrDefaultClause = CaseClause | DefaultClause; @@ -1267,7 +1268,7 @@ declare namespace ts { } interface ThrowStatement extends Statement { kind: SyntaxKind.ThrowStatement; - expression: Expression; + expression?: Expression; } interface TryStatement extends Statement { kind: SyntaxKind.TryStatement; @@ -1277,7 +1278,7 @@ declare namespace ts { } interface CatchClause extends Node { kind: SyntaxKind.CatchClause; - parent?: TryStatement; + parent: TryStatement; variableDeclaration?: VariableDeclaration; block: Block; } @@ -1317,7 +1318,7 @@ declare namespace ts { } interface HeritageClause extends Node { kind: SyntaxKind.HeritageClause; - parent?: InterfaceDeclaration | ClassLikeDeclaration; + parent: InterfaceDeclaration | ClassLikeDeclaration; token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword; types: NodeArray; } @@ -1329,7 +1330,7 @@ declare namespace ts { } interface EnumMember extends NamedDeclaration, JSDocContainer { kind: SyntaxKind.EnumMember; - parent?: EnumDeclaration; + parent: EnumDeclaration; name: PropertyName; initializer?: Expression; } @@ -1342,7 +1343,7 @@ declare namespace ts { type ModuleBody = NamespaceBody | JSDocNamespaceBody; interface ModuleDeclaration extends DeclarationStatement, JSDocContainer { kind: SyntaxKind.ModuleDeclaration; - parent?: ModuleBody | SourceFile; + parent: ModuleBody | SourceFile; name: ModuleName; body?: ModuleBody | JSDocNamespaceDeclaration; } @@ -1354,11 +1355,11 @@ declare namespace ts { type JSDocNamespaceBody = Identifier | JSDocNamespaceDeclaration; interface JSDocNamespaceDeclaration extends ModuleDeclaration { name: Identifier; - body: JSDocNamespaceBody; + body?: JSDocNamespaceBody; } interface ModuleBlock extends Node, Statement { kind: SyntaxKind.ModuleBlock; - parent?: ModuleDeclaration; + parent: ModuleDeclaration; statements: NodeArray; } type ModuleReference = EntityName | ExternalModuleReference; @@ -1369,18 +1370,18 @@ declare namespace ts { */ interface ImportEqualsDeclaration extends DeclarationStatement, JSDocContainer { kind: SyntaxKind.ImportEqualsDeclaration; - parent?: SourceFile | ModuleBlock; + parent: SourceFile | ModuleBlock; name: Identifier; moduleReference: ModuleReference; } interface ExternalModuleReference extends Node { kind: SyntaxKind.ExternalModuleReference; - parent?: ImportEqualsDeclaration; - expression?: Expression; + parent: ImportEqualsDeclaration; + expression: Expression; } interface ImportDeclaration extends Statement { kind: SyntaxKind.ImportDeclaration; - parent?: SourceFile | ModuleBlock; + parent: SourceFile | ModuleBlock; importClause?: ImportClause; /** If this is not a StringLiteral it will be a grammar error. */ moduleSpecifier: Expression; @@ -1388,13 +1389,13 @@ declare namespace ts { type NamedImportBindings = NamespaceImport | NamedImports; interface ImportClause extends NamedDeclaration { kind: SyntaxKind.ImportClause; - parent?: ImportDeclaration; + parent: ImportDeclaration; name?: Identifier; namedBindings?: NamedImportBindings; } interface NamespaceImport extends NamedDeclaration { kind: SyntaxKind.NamespaceImport; - parent?: ImportClause; + parent: ImportClause; name: Identifier; } interface NamespaceExportDeclaration extends DeclarationStatement { @@ -1403,7 +1404,7 @@ declare namespace ts { } interface ExportDeclaration extends DeclarationStatement { kind: SyntaxKind.ExportDeclaration; - parent?: SourceFile | ModuleBlock; + parent: SourceFile | ModuleBlock; /** Will not be assigned in the case of `export * from "foo";` */ exportClause?: NamedExports; /** If this is not a StringLiteral it will be a grammar error. */ @@ -1411,24 +1412,24 @@ declare namespace ts { } interface NamedImports extends Node { kind: SyntaxKind.NamedImports; - parent?: ImportClause; + parent: ImportClause; elements: NodeArray; } interface NamedExports extends Node { kind: SyntaxKind.NamedExports; - parent?: ExportDeclaration; + parent: ExportDeclaration; elements: NodeArray; } type NamedImportsOrExports = NamedImports | NamedExports; interface ImportSpecifier extends NamedDeclaration { kind: SyntaxKind.ImportSpecifier; - parent?: NamedImports; + parent: NamedImports; propertyName?: Identifier; name: Identifier; } interface ExportSpecifier extends NamedDeclaration { kind: SyntaxKind.ExportSpecifier; - parent?: NamedExports; + parent: NamedExports; propertyName?: Identifier; name: Identifier; } @@ -1439,7 +1440,7 @@ declare namespace ts { */ interface ExportAssignment extends DeclarationStatement { kind: SyntaxKind.ExportAssignment; - parent?: SourceFile; + parent: SourceFile; isExportEquals?: boolean; expression: Expression; } @@ -1494,15 +1495,15 @@ declare namespace ts { type JSDocTypeReferencingNode = JSDocVariadicType | JSDocOptionalType | JSDocNullableType | JSDocNonNullableType; interface JSDoc extends Node { kind: SyntaxKind.JSDocComment; - parent?: HasJSDoc; - tags: NodeArray | undefined; - comment: string | undefined; + parent: HasJSDoc; + tags?: NodeArray; + comment?: string; } interface JSDocTag extends Node { parent: JSDoc | JSDocTypeLiteral; atToken: AtToken; tagName: Identifier; - comment: string | undefined; + comment?: string; } interface JSDocUnknownTag extends JSDocTag { kind: SyntaxKind.JSDocTag; @@ -1526,11 +1527,11 @@ declare namespace ts { } interface JSDocReturnTag extends JSDocTag { kind: SyntaxKind.JSDocReturnTag; - typeExpression: JSDocTypeExpression; + typeExpression?: JSDocTypeExpression; } interface JSDocTypeTag extends JSDocTag { kind: SyntaxKind.JSDocTypeTag; - typeExpression: JSDocTypeExpression; + typeExpression?: JSDocTypeExpression; } interface JSDocTypedefTag extends JSDocTag, NamedDeclaration { parent: JSDoc; @@ -1608,7 +1609,7 @@ declare namespace ts { container?: FunctionExpression | ArrowFunction | MethodDeclaration; } interface FlowLabel extends FlowNodeBase { - antecedents: FlowNode[]; + antecedents: FlowNode[] | undefined; } interface FlowAssignment extends FlowNodeBase { node: Expression | VariableDeclaration | BindingElement; @@ -1635,7 +1636,7 @@ declare namespace ts { } interface AmdDependency { path: string; - name: string; + name?: string; } interface SourceFile extends Declaration { kind: SyntaxKind.SourceFile; @@ -1644,7 +1645,7 @@ declare namespace ts { fileName: string; text: string; amdDependencies: ReadonlyArray; - moduleName: string; + moduleName?: string; referencedFiles: ReadonlyArray; typeReferenceDirectives: ReadonlyArray; languageVariant: LanguageVariant; @@ -1704,7 +1705,7 @@ declare namespace ts { fileExists(path: string): boolean; readFile(path: string): string | undefined; } - type WriteFileCallback = (fileName: string, data: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles: ReadonlyArray) => void; + type WriteFileCallback = (fileName: string, data: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles?: ReadonlyArray) => void; class OperationCanceledException { } interface CancellationToken { @@ -1734,9 +1735,10 @@ declare namespace ts { emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; - getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** The first time this is called, it will return global diagnostics (no location). */ getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; - getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; getConfigFileParsingDiagnostics(): ReadonlyArray; /** * Gets a type checker that can be used to semantically analyze source files in the program. @@ -1793,7 +1795,7 @@ declare namespace ts { emitSkipped: boolean; /** Contains declaration emit diagnostics */ diagnostics: ReadonlyArray; - emittedFiles: string[]; + emittedFiles?: string[]; } interface TypeChecker { getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type; @@ -1810,7 +1812,7 @@ declare namespace ts { getNullableType(type: Type, flags: TypeFlags): Type; getNonNullableType(type: Type): Type; /** Note that the resulting nodes cannot be checked. */ - typeToTypeNode(type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeNode; + typeToTypeNode(type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeNode | undefined; /** Note that the resulting nodes cannot be checked. */ signatureToSignatureDeclaration(signature: Signature, kind: SyntaxKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): (SignatureDeclaration & { typeArguments?: NodeArray; @@ -1846,7 +1848,7 @@ declare namespace ts { */ getExportSymbolOfSymbol(symbol: Symbol): Symbol; getPropertySymbolOfDestructuringAssignment(location: Identifier): Symbol | undefined; - getTypeAtLocation(node: Node): Type; + getTypeAtLocation(node: Node): Type | undefined; getTypeFromTypeNode(node: TypeNode): Type; signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): string; typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; @@ -1863,9 +1865,10 @@ declare namespace ts { getContextualType(node: Expression): Type | undefined; /** * returns unknownSignature in the case of an error. + * returns undefined if the node is not valid. * @param argumentCount Apparent number of arguments, passed in case of a possibly incomplete call. This should come from an ArgumentListInfo. See `signatureHelp.ts`. */ - getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature; + getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined; getSignatureFromDeclaration(declaration: SignatureDeclaration): Signature | undefined; isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined; isUndefinedSymbol(symbol: Symbol): boolean; @@ -2069,8 +2072,8 @@ declare namespace ts { interface Symbol { flags: SymbolFlags; escapedName: __String; - declarations?: Declaration[]; - valueDeclaration?: Declaration; + declarations: Declaration[]; + valueDeclaration: Declaration; members?: SymbolTable; exports?: SymbolTable; globalExports?: SymbolTable; @@ -2126,61 +2129,62 @@ declare namespace ts { type SymbolTable = UnderscoreEscapedMap; enum TypeFlags { Any = 1, - String = 2, - Number = 4, - Boolean = 8, - Enum = 16, - StringLiteral = 32, - NumberLiteral = 64, - BooleanLiteral = 128, - EnumLiteral = 256, - ESSymbol = 512, - UniqueESSymbol = 1024, - Void = 2048, - Undefined = 4096, - Null = 8192, - Never = 16384, - TypeParameter = 32768, - Object = 65536, - Union = 131072, - Intersection = 262144, - Index = 524288, - IndexedAccess = 1048576, - Conditional = 2097152, - Substitution = 4194304, - NonPrimitive = 134217728, - Literal = 224, - Unit = 13536, - StringOrNumberLiteral = 96, - PossiblyFalsy = 14574, - StringLike = 34, - NumberLike = 84, - BooleanLike = 136, - EnumLike = 272, - ESSymbolLike = 1536, - VoidLike = 6144, - UnionOrIntersection = 393216, - StructuredType = 458752, - TypeVariable = 1081344, - InstantiableNonPrimitive = 7372800, - InstantiablePrimitive = 524288, - Instantiable = 7897088, - StructuredOrInstantiable = 8355840, - Narrowable = 142575359, - NotUnionOrUnit = 134283777 + Unknown = 2, + String = 4, + Number = 8, + Boolean = 16, + Enum = 32, + StringLiteral = 64, + NumberLiteral = 128, + BooleanLiteral = 256, + EnumLiteral = 512, + ESSymbol = 1024, + UniqueESSymbol = 2048, + Void = 4096, + Undefined = 8192, + Null = 16384, + Never = 32768, + TypeParameter = 65536, + Object = 131072, + Union = 262144, + Intersection = 524288, + Index = 1048576, + IndexedAccess = 2097152, + Conditional = 4194304, + Substitution = 8388608, + NonPrimitive = 16777216, + Literal = 448, + Unit = 27072, + StringOrNumberLiteral = 192, + PossiblyFalsy = 29148, + StringLike = 68, + NumberLike = 168, + BooleanLike = 272, + EnumLike = 544, + ESSymbolLike = 3072, + VoidLike = 12288, + UnionOrIntersection = 786432, + StructuredType = 917504, + TypeVariable = 2162688, + InstantiableNonPrimitive = 14745600, + InstantiablePrimitive = 1048576, + Instantiable = 15794176, + StructuredOrInstantiable = 16711680, + Narrowable = 33492479, + NotUnionOrUnit = 16909315 } type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression; interface Type { flags: TypeFlags; - symbol?: Symbol; + symbol: Symbol; pattern?: DestructuringPattern; aliasSymbol?: Symbol; aliasTypeArguments?: Type[]; } interface LiteralType extends Type { value: string | number; - freshType?: LiteralType; - regularType?: LiteralType; + freshType: LiteralType; + regularType: LiteralType; } interface UniqueESSymbolType extends Type { symbol: Symbol; @@ -2215,18 +2219,18 @@ declare namespace ts { } /** Class and interface types (ObjectFlags.Class and ObjectFlags.Interface). */ interface InterfaceType extends ObjectType { - typeParameters: TypeParameter[]; - outerTypeParameters: TypeParameter[]; - localTypeParameters: TypeParameter[]; - thisType: TypeParameter; + typeParameters: TypeParameter[] | undefined; + outerTypeParameters: TypeParameter[] | undefined; + localTypeParameters: TypeParameter[] | undefined; + thisType: TypeParameter | undefined; } type BaseType = ObjectType | IntersectionType; interface InterfaceTypeWithDeclaredMembers extends InterfaceType { declaredProperties: Symbol[]; declaredCallSignatures: Signature[]; declaredConstructSignatures: Signature[]; - declaredStringIndexInfo: IndexInfo; - declaredNumberIndexInfo: IndexInfo; + declaredStringIndexInfo?: IndexInfo; + declaredNumberIndexInfo?: IndexInfo; } /** * Type references (ObjectFlags.Reference). When a class or interface has type parameters or @@ -2277,11 +2281,11 @@ declare namespace ts { trueType: Type; falseType: Type; isDistributive: boolean; - inferTypeParameters: TypeParameter[]; + inferTypeParameters?: TypeParameter[]; outerTypeParameters?: TypeParameter[]; instantiations?: Map; - aliasSymbol: Symbol; - aliasTypeArguments: Type[]; + aliasSymbol?: Symbol; + aliasTypeArguments?: Type[]; } interface ConditionalType extends InstantiableType { root: ConditionalRoot; @@ -2359,6 +2363,11 @@ declare namespace ts { code: number; source?: string; } + interface DiagnosticWithLocation extends Diagnostic { + file: SourceFile; + start: number; + length: number; + } enum DiagnosticCategory { Warning = 0, Error = 1, @@ -2624,7 +2633,7 @@ declare namespace ts { packageId?: PackageId; } interface ResolvedTypeReferenceDirectiveWithFailedLookupLocations { - readonly resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective; + readonly resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective | undefined; readonly failedLookupLocations: ReadonlyArray; } interface CompilerHost extends ModuleResolutionHost { @@ -2644,8 +2653,8 @@ declare namespace ts { /** * This method is a companion for 'resolveModuleNames' and is used to resolve 'types' references to actual type declaration files */ - resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string): (ResolvedTypeReferenceDirective | undefined)[]; - getEnvironmentVariable?(name: string): string; + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string): ResolvedTypeReferenceDirective[]; + getEnvironmentVariable?(name: string): string | undefined; createHash?(data: string): string; } interface SourceMapRange extends TextRange { @@ -2657,6 +2666,7 @@ declare namespace ts { skipTrivia?: (pos: number) => number; } enum EmitFlags { + None = 0, SingleLine = 1, AdviseOnEmitNode = 2, NoSubstitution = 4, @@ -2710,7 +2720,7 @@ declare namespace ts { /** Resumes a suspended lexical environment, usually before visiting a function body. */ resumeLexicalEnvironment(): void; /** Ends a lexical environment, returning any declarations. */ - endLexicalEnvironment(): Statement[]; + endLexicalEnvironment(): Statement[] | undefined; /** Hoists a function declaration to the containing scope. */ hoistFunctionDeclaration(node: FunctionDeclaration): void; /** Hoists a variable declaration to the containing scope. */ @@ -2754,7 +2764,7 @@ declare namespace ts { /** Gets the transformed source files. */ transformed: T[]; /** Gets diagnostics for the transformation. */ - diagnostics?: Diagnostic[]; + diagnostics?: DiagnosticWithLocation[]; /** * Gets a substitute for a node, if one is available; otherwise, returns the original node. * @@ -2841,7 +2851,7 @@ declare namespace ts { * }); * ``` */ - onEmitNode?(hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void): void; + onEmitNode?(hint: EmitHint, node: Node | undefined, emitCallback: (hint: EmitHint, node: Node | undefined) => void): void; /** * A hook used by the Printer to perform just-in-time substitution of a node. This is * primarily used by node transformations that need to substitute one node for another, @@ -2954,13 +2964,13 @@ declare namespace ts { } } declare namespace ts { - const versionMajorMinor = "2.9"; + const versionMajorMinor = "3.0"; /** The version of the TypeScript compiler release */ const version: string; } declare namespace ts { function isExternalModuleNameRelative(moduleName: string): boolean; - function sortAndDeduplicateDiagnostics(diagnostics: ReadonlyArray): Diagnostic[]; + function sortAndDeduplicateDiagnostics(diagnostics: ReadonlyArray): T[]; } declare function setTimeout(handler: (...args: any[]) => void, timeout: number): any; declare function clearTimeout(handle: any): void; @@ -3014,7 +3024,7 @@ declare namespace ts { interface FileWatcher { close(): void; } - function getNodeMajorVersion(): number; + function getNodeMajorVersion(): number | undefined; let sys: System; } declare namespace ts { @@ -3041,8 +3051,8 @@ declare namespace ts { scanJSDocToken(): JsDocSyntaxKind; scan(): SyntaxKind; getText(): string; - setText(text: string, start?: number, length?: number): void; - setOnError(onError: ErrorCallback): void; + setText(text: string | undefined, start?: number, length?: number): void; + setOnError(onError: ErrorCallback | undefined): void; setScriptTarget(scriptTarget: ScriptTarget): void; setLanguageVariant(variant: LanguageVariant): void; setTextPos(textPos: number): void; @@ -3062,15 +3072,15 @@ declare namespace ts { function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; - function reduceEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U; - function reduceEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U; + function reduceEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function reduceEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; function getLeadingCommentRanges(text: string, pos: number): CommentRange[] | undefined; function getTrailingCommentRanges(text: string, pos: number): CommentRange[] | undefined; /** Optionally, get the shebang */ function getShebang(text: string): string | undefined; - function isIdentifierStart(ch: number, languageVersion: ScriptTarget): boolean; - function isIdentifierPart(ch: number, languageVersion: ScriptTarget): boolean; - function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, text?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; + function isIdentifierStart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function isIdentifierPart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, textInitial?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; } declare namespace ts { function getDefaultLibFileName(options: CompilerOptions): string; @@ -3079,12 +3089,12 @@ declare namespace ts { function textSpanContainsPosition(span: TextSpan, position: number): boolean; function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean; function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean; - function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan; + function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan | undefined; function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean; function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean; function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number): boolean; function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean; - function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan; + function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan | undefined; function createTextSpan(start: number, length: number): TextSpan; function createTextSpanFromBounds(start: number, end: number): TextSpan; function textChangeRangeNewSpan(range: TextChangeRange): TextSpan; @@ -3100,7 +3110,7 @@ declare namespace ts { * Vn. */ function collapseTextChangeRangesAcrossMultipleVersions(changes: ReadonlyArray): TextChangeRange; - function getTypeParameterOwner(d: Declaration): Declaration; + function getTypeParameterOwner(d: Declaration): Declaration | undefined; type ParameterPropertyDeclaration = ParameterDeclaration & { parent: ConstructorDeclaration; name: Identifier; @@ -3122,6 +3132,8 @@ declare namespace ts { }, errors?: Push): void; function getOriginalNode(node: Node): Node; function getOriginalNode(node: Node, nodeTest: (node: Node) => node is T): T; + function getOriginalNode(node: Node | undefined): Node | undefined; + function getOriginalNode(node: Node | undefined, nodeTest: (node: Node | undefined) => node is T): T | undefined; /** * Gets a value indicating whether a node originated in the parse tree. * @@ -3142,7 +3154,7 @@ declare namespace ts { * @param nodeTest A callback used to ensure the correct type of parse tree node is returned. * @returns The original parse tree node if found; otherwise, undefined. */ - function getParseTreeNode(node: Node, nodeTest?: (node: Node) => node is T): T; + function getParseTreeNode(node: Node | undefined, nodeTest?: (node: Node) => node is T): T | undefined; /** * Remove extra underscore from escaped identifier text content. * @@ -3160,7 +3172,7 @@ declare namespace ts { */ function unescapeIdentifier(id: string): string; function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | undefined; - function getNameOfDeclaration(declaration: Declaration | Expression): DeclarationName | undefined; + function getNameOfDeclaration(declaration: Declaration | Expression): DeclarationName; /** * Gets the JSDoc parameter tags for the node if present. * @@ -3389,8 +3401,10 @@ declare namespace ts { */ function isToken(n: Node): boolean; function isLiteralExpression(node: Node): node is LiteralExpression; + type TemplateLiteralToken = NoSubstitutionTemplateLiteral | TemplateHead | TemplateMiddle | TemplateTail; + function isTemplateLiteralToken(node: Node): node is TemplateLiteralToken; function isTemplateMiddleOrTemplateTail(node: Node): node is TemplateMiddle | TemplateTail; - function isStringTextContainingNode(node: Node): boolean; + function isStringTextContainingNode(node: Node): node is StringLiteral | TemplateLiteralToken; function isModifier(node: Node): node is Modifier; function isEntityName(node: Node): node is EntityName; function isPropertyName(node: Node): node is PropertyName; @@ -3442,7 +3456,7 @@ declare namespace ts { */ function forEachChild(node: Node, cbNode: (node: Node) => T | undefined, cbNodes?: (nodes: NodeArray) => T | undefined): T | undefined; function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean, scriptKind?: ScriptKind): SourceFile; - function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName; + function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName | undefined; /** * Parse json text into SyntaxTree and return node and parse errors if any * @param fileName @@ -3488,7 +3502,7 @@ declare namespace ts { getOrCreateCacheForModuleName(nonRelativeModuleName: string): PerModuleNameCache; } interface PerModuleNameCache { - get(directory: string): ResolvedModuleWithFailedLookupLocations; + get(directory: string): ResolvedModuleWithFailedLookupLocations | undefined; set(directory: string, result: ResolvedModuleWithFailedLookupLocations): void; } function createModuleResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string): ModuleResolutionCache; @@ -3570,7 +3584,7 @@ declare namespace ts { function updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructorTypeNode; function createTypeQueryNode(exprName: EntityName): TypeQueryNode; function updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName): TypeQueryNode; - function createTypeLiteralNode(members: ReadonlyArray): TypeLiteralNode; + function createTypeLiteralNode(members: ReadonlyArray | undefined): TypeLiteralNode; function updateTypeLiteralNode(node: TypeLiteralNode, members: NodeArray): TypeLiteralNode; function createArrayTypeNode(elementType: TypeNode): ArrayTypeNode; function updateArrayTypeNode(node: ArrayTypeNode, elementType: TypeNode): ArrayTypeNode; @@ -3609,23 +3623,23 @@ declare namespace ts { function updateArrayLiteral(node: ArrayLiteralExpression, elements: ReadonlyArray): ArrayLiteralExpression; function createObjectLiteral(properties?: ReadonlyArray, multiLine?: boolean): ObjectLiteralExpression; function updateObjectLiteral(node: ObjectLiteralExpression, properties: ReadonlyArray): ObjectLiteralExpression; - function createPropertyAccess(expression: Expression, name: string | Identifier): PropertyAccessExpression; + function createPropertyAccess(expression: Expression, name: string | Identifier | undefined): PropertyAccessExpression; function updatePropertyAccess(node: PropertyAccessExpression, expression: Expression, name: Identifier): PropertyAccessExpression; function createElementAccess(expression: Expression, index: number | Expression): ElementAccessExpression; function updateElementAccess(node: ElementAccessExpression, expression: Expression, argumentExpression: Expression): ElementAccessExpression; - function createCall(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray): CallExpression; + function createCall(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): CallExpression; function updateCall(node: CallExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray): CallExpression; function createNew(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; function updateNew(node: NewExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; function createTaggedTemplate(tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; - function createTaggedTemplate(tag: Expression, typeArguments: ReadonlyArray, template: TemplateLiteral): TaggedTemplateExpression; + function createTaggedTemplate(tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; - function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: ReadonlyArray, template: TemplateLiteral): TaggedTemplateExpression; + function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; function createTypeAssertion(type: TypeNode, expression: Expression): TypeAssertion; function updateTypeAssertion(node: TypeAssertion, type: TypeNode, expression: Expression): TypeAssertion; function createParen(expression: Expression): ParenthesizedExpression; function updateParen(node: ParenthesizedExpression, expression: Expression): ParenthesizedExpression; - function createFunctionExpression(modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block): FunctionExpression; + function createFunctionExpression(modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray | undefined, type: TypeNode | undefined, body: Block): FunctionExpression; function updateFunctionExpression(node: FunctionExpression, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block): FunctionExpression; function createArrowFunction(modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: EqualsGreaterThanToken | undefined, body: ConciseBody): ArrowFunction; function updateArrowFunction(node: ArrowFunction, modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: ConciseBody): ArrowFunction; @@ -3655,15 +3669,15 @@ declare namespace ts { function createTemplateTail(text: string): TemplateTail; function createNoSubstitutionTemplateLiteral(text: string): NoSubstitutionTemplateLiteral; function createYield(expression?: Expression): YieldExpression; - function createYield(asteriskToken: AsteriskToken, expression: Expression): YieldExpression; + function createYield(asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; function updateYield(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; function createSpread(expression: Expression): SpreadElement; function updateSpread(node: SpreadElement, expression: Expression): SpreadElement; - function createClassExpression(modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray, members: ReadonlyArray): ClassExpression; - function updateClassExpression(node: ClassExpression, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray, members: ReadonlyArray): ClassExpression; + function createClassExpression(modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function updateClassExpression(node: ClassExpression, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; function createOmittedExpression(): OmittedExpression; - function createExpressionWithTypeArguments(typeArguments: ReadonlyArray, expression: Expression): ExpressionWithTypeArguments; - function updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, typeArguments: ReadonlyArray, expression: Expression): ExpressionWithTypeArguments; + function createExpressionWithTypeArguments(typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; function createAsExpression(expression: Expression, type: TypeNode): AsExpression; function updateAsExpression(node: AsExpression, expression: Expression, type: TypeNode): AsExpression; function createNonNullExpression(expression: Expression): NonNullExpression; @@ -3690,8 +3704,8 @@ declare namespace ts { function updateFor(node: ForStatement, initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; function createForIn(initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; function updateForIn(node: ForInStatement, initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; - function createForOf(awaitModifier: AwaitKeywordToken, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; - function updateForOf(node: ForOfStatement, awaitModifier: AwaitKeywordToken, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function createForOf(awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function updateForOf(node: ForOfStatement, awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; function createContinue(label?: string | Identifier): ContinueStatement; function updateContinue(node: ContinueStatement, label: Identifier | undefined): ContinueStatement; function createBreak(label?: string | Identifier): BreakStatement; @@ -3715,8 +3729,8 @@ declare namespace ts { function updateVariableDeclarationList(node: VariableDeclarationList, declarations: ReadonlyArray): VariableDeclarationList; function createFunctionDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; function updateFunctionDeclaration(node: FunctionDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; - function createClassDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray, members: ReadonlyArray): ClassDeclaration; - function updateClassDeclaration(node: ClassDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray, members: ReadonlyArray): ClassDeclaration; + function createClassDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function updateClassDeclaration(node: ClassDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; function createInterfaceDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; function updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; function createTypeAliasDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; @@ -3734,7 +3748,7 @@ declare namespace ts { function createImportEqualsDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; function updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; function createImportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; - function updateImportDeclaration(node: ImportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression | undefined): ImportDeclaration; + function updateImportDeclaration(node: ImportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; function createImportClause(name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; function updateImportClause(node: ImportClause, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; function createNamespaceImport(name: Identifier): NamespaceImport; @@ -3743,7 +3757,7 @@ declare namespace ts { function updateNamedImports(node: NamedImports, elements: ReadonlyArray): NamedImports; function createImportSpecifier(propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; function updateImportSpecifier(node: ImportSpecifier, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; - function createExportAssignment(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, isExportEquals: boolean, expression: Expression): ExportAssignment; + function createExportAssignment(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; function updateExportAssignment(node: ExportAssignment, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, expression: Expression): ExportAssignment; function createExportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier?: Expression): ExportDeclaration; function updateExportDeclaration(node: ExportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier: Expression | undefined): ExportDeclaration; @@ -3873,16 +3887,16 @@ declare namespace ts { */ function setCommentRange(node: T, range: TextRange): T; function getSyntheticLeadingComments(node: Node): SynthesizedComment[] | undefined; - function setSyntheticLeadingComments(node: T, comments: SynthesizedComment[]): T; + function setSyntheticLeadingComments(node: T, comments: SynthesizedComment[] | undefined): T; function addSyntheticLeadingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; function getSyntheticTrailingComments(node: Node): SynthesizedComment[] | undefined; - function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[]): T; + function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[] | undefined): T; function addSyntheticTrailingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; function moveSyntheticComments(node: T, original: Node): T; /** * Gets the constant value to emit for an expression. */ - function getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): string | number; + function getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): string | number | undefined; /** * Sets the constant value to emit for an expression. */ @@ -3918,7 +3932,7 @@ declare namespace ts { * @param test A callback to execute to verify the Node is valid. * @param lift An optional callback to execute to lift a NodeArray into a valid Node. */ - function visitNode(node: T, visitor: Visitor, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T; + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T; /** * Visits a Node using the supplied visitor, possibly returning a new Node in its place. * @@ -3927,7 +3941,7 @@ declare namespace ts { * @param test A callback to execute to verify the Node is valid. * @param lift An optional callback to execute to lift a NodeArray into a valid Node. */ - function visitNode(node: T | undefined, visitor: Visitor, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T | undefined; + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T | undefined; /** * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. * @@ -3937,7 +3951,7 @@ declare namespace ts { * @param start An optional value indicating the starting offset at which to start visiting. * @param count An optional value indicating the maximum number of nodes to visit. */ - function visitNodes(nodes: NodeArray, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; /** * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. * @@ -3957,7 +3971,7 @@ declare namespace ts { * Starts a new lexical environment and visits a parameter list, suspending the lexical * environment upon completion. */ - function visitParameterList(nodes: NodeArray, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes): NodeArray; + function visitParameterList(nodes: NodeArray | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes): NodeArray; /** * Resumes a suspended lexical environment and visits a function body, ending the lexical * environment and merging hoisted declarations upon completion. @@ -4006,8 +4020,19 @@ declare namespace ts { function formatDiagnostics(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; function formatDiagnostic(diagnostic: Diagnostic, host: FormatDiagnosticsHost): string; function formatDiagnosticsWithColorAndContext(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; - function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; + function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain | undefined, newLine: string): string; function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): ReadonlyArray; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param createProgramOptions - The options for creating a program. + * @returns A 'Program' object. + */ + function createProgram(createProgramOptions: CreateProgramOptions): Program; /** * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' * that represent a compilation unit. @@ -4022,7 +4047,6 @@ declare namespace ts { * @param configFileParsingDiagnostics - error during config file parsing * @returns A 'Program' object. */ - function createProgram(createProgramOptions: CreateProgramOptions): Program; function createProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: ReadonlyArray): Program; } declare namespace ts { @@ -4148,18 +4172,18 @@ declare namespace ts { * Create the builder to manage semantic diagnostics and cache them */ function createSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; - function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; /** * Create the builder that can handle the changes in program and iterate through changed files * to emit the those files and manage semantic diagnostics cache as well */ function createEmitAndSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; - function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; /** * Creates a builder thats just abstraction over program and can be used with watch */ function createAbstractBuilder(newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; - function createAbstractBuilder(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; + function createAbstractBuilder(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; } declare namespace ts { type WatchStatusReporter = (diagnostic: Diagnostic, newLine: string, options: CompilerOptions) => void; @@ -4201,11 +4225,11 @@ declare namespace ts { /** If provided would be used to write log about compilation */ trace?(s: string): void; /** If provided is used to get the environment variable */ - getEnvironmentVariable?(name: string): string; + getEnvironmentVariable?(name: string): string | undefined; /** If provided, used to resolve the module names, otherwise typescript's default module resolution */ resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[]): ResolvedModule[]; /** If provided, used to resolve type reference directives, otherwise typescript's default resolution */ - resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string): (ResolvedTypeReferenceDirective | undefined)[]; + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string): ResolvedTypeReferenceDirective[]; /** Used to watch changes in source files, missing files needed to update the program or config file */ watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */ @@ -4355,8 +4379,8 @@ declare namespace ts { getLeadingTriviaWidth(sourceFile?: SourceFile): number; getFullText(sourceFile?: SourceFile): string; getText(sourceFile?: SourceFile): string; - getFirstToken(sourceFile?: SourceFile): Node; - getLastToken(sourceFile?: SourceFile): Node; + getFirstToken(sourceFile?: SourceFile): Node | undefined; + getLastToken(sourceFile?: SourceFile): Node | undefined; forEachChild(cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined): T | undefined; } interface Identifier { @@ -4444,7 +4468,7 @@ declare namespace ts { referencedFiles: FileReference[]; typeReferenceDirectives: FileReference[]; importedFiles: FileReference[]; - ambientExternalModules: string[]; + ambientExternalModules?: string[]; isLibFile: boolean; } interface HostCancellationToken { @@ -4477,7 +4501,7 @@ declare namespace ts { fileExists?(path: string): boolean; getTypeRootsVersion?(): number; resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[]): ResolvedModule[]; - getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string): ResolvedModuleWithFailedLookupLocations; + getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string): ResolvedModuleWithFailedLookupLocations | undefined; resolveTypeReferenceDirectives?(typeDirectiveNames: string[], containingFile: string): ResolvedTypeReferenceDirective[]; getDirectories?(directoryName: string): string[]; /** @@ -4497,9 +4521,10 @@ declare namespace ts { } interface LanguageService { cleanupSemanticCache(): void; - getSyntacticDiagnostics(fileName: string): Diagnostic[]; + getSyntacticDiagnostics(fileName: string): DiagnosticWithLocation[]; + /** The first time this is called, it will return global diagnostics (no location). */ getSemanticDiagnostics(fileName: string): Diagnostic[]; - getSuggestionDiagnostics(fileName: string): Diagnostic[]; + getSuggestionDiagnostics(fileName: string): DiagnosticWithLocation[]; getCompilerOptionsDiagnostics(): Diagnostic[]; /** * @deprecated Use getEncodedSyntacticClassifications instead. @@ -4511,24 +4536,24 @@ declare namespace ts { getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications; getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications; - getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): CompletionInfo; - getCompletionEntryDetails(fileName: string, position: number, name: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined): CompletionEntryDetails; - getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol; - getQuickInfoAtPosition(fileName: string, position: number): QuickInfo; - getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan; - getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan; - getSignatureHelpItems(fileName: string, position: number): SignatureHelpItems; + getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): CompletionInfo | undefined; + getCompletionEntryDetails(fileName: string, position: number, name: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined): CompletionEntryDetails | undefined; + getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol | undefined; + getQuickInfoAtPosition(fileName: string, position: number): QuickInfo | undefined; + getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan | undefined; + getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan | undefined; + getSignatureHelpItems(fileName: string, position: number): SignatureHelpItems | undefined; getRenameInfo(fileName: string, position: number): RenameInfo; - findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): RenameLocation[]; - getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; - getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan; - getTypeDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; - getImplementationAtPosition(fileName: string, position: number): ImplementationLocation[]; - getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[]; - findReferences(fileName: string, position: number): ReferencedSymbol[]; - getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[]; + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): RenameLocation[] | undefined; + getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[] | undefined; + getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan | undefined; + getTypeDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[] | undefined; + getImplementationAtPosition(fileName: string, position: number): ImplementationLocation[] | undefined; + getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[] | undefined; + findReferences(fileName: string, position: number): ReferencedSymbol[] | undefined; + getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[] | undefined; /** @deprecated */ - getOccurrencesAtPosition(fileName: string, position: number): ReferenceEntry[]; + getOccurrencesAtPosition(fileName: string, position: number): ReferenceEntry[] | undefined; getNavigateToItems(searchValue: string, maxResultCount?: number, fileName?: string, excludeDtsFiles?: boolean): NavigateToItem[]; getNavigationBarItems(fileName: string): NavigationBarItem[]; getNavigationTree(fileName: string): NavigationTree; @@ -4539,9 +4564,14 @@ declare namespace ts { getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; - getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion; + getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion | undefined; isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; - getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan; + /** + * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag. + * Editors should call this after `>` is typed. + */ + getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined; + getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined; toLineColumnOffset?(fileName: string, position: number): LineAndCharacter; getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: ReadonlyArray, formatOptions: FormatCodeSettings, preferences: UserPreferences): ReadonlyArray; getCombinedCodeFix(scope: CombinedCodeFixScope, fixId: {}, formatOptions: FormatCodeSettings, preferences: UserPreferences): CombinedCodeActions; @@ -4557,11 +4587,14 @@ declare namespace ts { getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined): ApplicableRefactorInfo[]; getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined): RefactorEditInfo | undefined; organizeImports(scope: OrganizeImportsScope, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; - getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings): ReadonlyArray; + getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean): EmitOutput; - getProgram(): Program; + getProgram(): Program | undefined; dispose(): void; } + interface JsxClosingTagInfo { + readonly newText: string; + } interface CombinedCodeFixScope { type: "file"; fileName: string; @@ -4662,7 +4695,7 @@ declare namespace ts { } interface CombinedCodeActions { changes: ReadonlyArray; - commands: ReadonlyArray | undefined; + commands?: ReadonlyArray; } type CodeActionCommand = InstallPackageAction; interface InstallPackageAction { @@ -4712,8 +4745,8 @@ declare namespace ts { */ interface RefactorEditInfo { edits: FileTextChanges[]; - renameFilename: string | undefined; - renameLocation: number | undefined; + renameFilename?: string; + renameLocation?: number; commands?: CodeActionCommand[]; } interface TextInsertion { @@ -4834,7 +4867,7 @@ declare namespace ts { containerName: string; } interface DefinitionInfoAndBoundSpan { - definitions: ReadonlyArray; + definitions?: ReadonlyArray; textSpan: TextSpan; } interface ReferencedSymbolDefinitionInfo extends DefinitionInfo { @@ -4880,13 +4913,13 @@ declare namespace ts { kind: ScriptElementKind; kindModifiers: string; textSpan: TextSpan; - displayParts: SymbolDisplayPart[]; - documentation: SymbolDisplayPart[]; - tags: JSDocTagInfo[]; + displayParts?: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; } interface RenameInfo { canRename: boolean; - localizedErrorMessage: string; + localizedErrorMessage?: string; displayName: string; fullDisplayName: string; kind: ScriptElementKind; @@ -4938,7 +4971,7 @@ declare namespace ts { interface CompletionEntry { name: string; kind: ScriptElementKind; - kindModifiers: string; + kindModifiers?: string; sortText: string; insertText?: string; /** @@ -4956,8 +4989,8 @@ declare namespace ts { kind: ScriptElementKind; kindModifiers: string; displayParts: SymbolDisplayPart[]; - documentation: SymbolDisplayPart[]; - tags: JSDocTagInfo[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; codeActions?: CodeAction[]; source?: SymbolDisplayPart[]; } @@ -5270,12 +5303,12 @@ declare namespace ts { /** The version of the language service API */ const servicesVersion = "0.8"; function toEditorSettings(options: EditorOptions | EditorSettings): EditorSettings; - function displayPartsToString(displayParts: SymbolDisplayPart[]): string; + function displayPartsToString(displayParts: SymbolDisplayPart[] | undefined): string; function getDefaultCompilerOptions(): CompilerOptions; function getSupportedCodeFixes(): string[]; function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile; let disableIncrementalParsing: boolean; - function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange | undefined, aggressiveChecks?: boolean): SourceFile; function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry, syntaxOnly?: boolean): LanguageService; /** * Get the path of the default library files (lib.d.ts) as distributed with the typescript diff --git a/lib/typescript.js b/lib/typescript.js index 5a20323ef59..84491873e2b 100644 --- a/lib/typescript.js +++ b/lib/typescript.js @@ -202,190 +202,191 @@ var ts; SyntaxKind[SyntaxKind["TypeKeyword"] = 139] = "TypeKeyword"; SyntaxKind[SyntaxKind["UndefinedKeyword"] = 140] = "UndefinedKeyword"; SyntaxKind[SyntaxKind["UniqueKeyword"] = 141] = "UniqueKeyword"; - SyntaxKind[SyntaxKind["FromKeyword"] = 142] = "FromKeyword"; - SyntaxKind[SyntaxKind["GlobalKeyword"] = 143] = "GlobalKeyword"; - SyntaxKind[SyntaxKind["OfKeyword"] = 144] = "OfKeyword"; + SyntaxKind[SyntaxKind["UnknownKeyword"] = 142] = "UnknownKeyword"; + SyntaxKind[SyntaxKind["FromKeyword"] = 143] = "FromKeyword"; + SyntaxKind[SyntaxKind["GlobalKeyword"] = 144] = "GlobalKeyword"; + SyntaxKind[SyntaxKind["OfKeyword"] = 145] = "OfKeyword"; // Parse tree nodes // Names - SyntaxKind[SyntaxKind["QualifiedName"] = 145] = "QualifiedName"; - SyntaxKind[SyntaxKind["ComputedPropertyName"] = 146] = "ComputedPropertyName"; + SyntaxKind[SyntaxKind["QualifiedName"] = 146] = "QualifiedName"; + SyntaxKind[SyntaxKind["ComputedPropertyName"] = 147] = "ComputedPropertyName"; // Signature elements - SyntaxKind[SyntaxKind["TypeParameter"] = 147] = "TypeParameter"; - SyntaxKind[SyntaxKind["Parameter"] = 148] = "Parameter"; - SyntaxKind[SyntaxKind["Decorator"] = 149] = "Decorator"; + SyntaxKind[SyntaxKind["TypeParameter"] = 148] = "TypeParameter"; + SyntaxKind[SyntaxKind["Parameter"] = 149] = "Parameter"; + SyntaxKind[SyntaxKind["Decorator"] = 150] = "Decorator"; // TypeMember - SyntaxKind[SyntaxKind["PropertySignature"] = 150] = "PropertySignature"; - SyntaxKind[SyntaxKind["PropertyDeclaration"] = 151] = "PropertyDeclaration"; - SyntaxKind[SyntaxKind["MethodSignature"] = 152] = "MethodSignature"; - SyntaxKind[SyntaxKind["MethodDeclaration"] = 153] = "MethodDeclaration"; - SyntaxKind[SyntaxKind["Constructor"] = 154] = "Constructor"; - SyntaxKind[SyntaxKind["GetAccessor"] = 155] = "GetAccessor"; - SyntaxKind[SyntaxKind["SetAccessor"] = 156] = "SetAccessor"; - SyntaxKind[SyntaxKind["CallSignature"] = 157] = "CallSignature"; - SyntaxKind[SyntaxKind["ConstructSignature"] = 158] = "ConstructSignature"; - SyntaxKind[SyntaxKind["IndexSignature"] = 159] = "IndexSignature"; + SyntaxKind[SyntaxKind["PropertySignature"] = 151] = "PropertySignature"; + SyntaxKind[SyntaxKind["PropertyDeclaration"] = 152] = "PropertyDeclaration"; + SyntaxKind[SyntaxKind["MethodSignature"] = 153] = "MethodSignature"; + SyntaxKind[SyntaxKind["MethodDeclaration"] = 154] = "MethodDeclaration"; + SyntaxKind[SyntaxKind["Constructor"] = 155] = "Constructor"; + SyntaxKind[SyntaxKind["GetAccessor"] = 156] = "GetAccessor"; + SyntaxKind[SyntaxKind["SetAccessor"] = 157] = "SetAccessor"; + SyntaxKind[SyntaxKind["CallSignature"] = 158] = "CallSignature"; + SyntaxKind[SyntaxKind["ConstructSignature"] = 159] = "ConstructSignature"; + SyntaxKind[SyntaxKind["IndexSignature"] = 160] = "IndexSignature"; // Type - SyntaxKind[SyntaxKind["TypePredicate"] = 160] = "TypePredicate"; - SyntaxKind[SyntaxKind["TypeReference"] = 161] = "TypeReference"; - SyntaxKind[SyntaxKind["FunctionType"] = 162] = "FunctionType"; - SyntaxKind[SyntaxKind["ConstructorType"] = 163] = "ConstructorType"; - SyntaxKind[SyntaxKind["TypeQuery"] = 164] = "TypeQuery"; - SyntaxKind[SyntaxKind["TypeLiteral"] = 165] = "TypeLiteral"; - SyntaxKind[SyntaxKind["ArrayType"] = 166] = "ArrayType"; - SyntaxKind[SyntaxKind["TupleType"] = 167] = "TupleType"; - SyntaxKind[SyntaxKind["UnionType"] = 168] = "UnionType"; - SyntaxKind[SyntaxKind["IntersectionType"] = 169] = "IntersectionType"; - SyntaxKind[SyntaxKind["ConditionalType"] = 170] = "ConditionalType"; - SyntaxKind[SyntaxKind["InferType"] = 171] = "InferType"; - SyntaxKind[SyntaxKind["ParenthesizedType"] = 172] = "ParenthesizedType"; - SyntaxKind[SyntaxKind["ThisType"] = 173] = "ThisType"; - SyntaxKind[SyntaxKind["TypeOperator"] = 174] = "TypeOperator"; - SyntaxKind[SyntaxKind["IndexedAccessType"] = 175] = "IndexedAccessType"; - SyntaxKind[SyntaxKind["MappedType"] = 176] = "MappedType"; - SyntaxKind[SyntaxKind["LiteralType"] = 177] = "LiteralType"; - SyntaxKind[SyntaxKind["ImportType"] = 178] = "ImportType"; + SyntaxKind[SyntaxKind["TypePredicate"] = 161] = "TypePredicate"; + SyntaxKind[SyntaxKind["TypeReference"] = 162] = "TypeReference"; + SyntaxKind[SyntaxKind["FunctionType"] = 163] = "FunctionType"; + SyntaxKind[SyntaxKind["ConstructorType"] = 164] = "ConstructorType"; + SyntaxKind[SyntaxKind["TypeQuery"] = 165] = "TypeQuery"; + SyntaxKind[SyntaxKind["TypeLiteral"] = 166] = "TypeLiteral"; + SyntaxKind[SyntaxKind["ArrayType"] = 167] = "ArrayType"; + SyntaxKind[SyntaxKind["TupleType"] = 168] = "TupleType"; + SyntaxKind[SyntaxKind["UnionType"] = 169] = "UnionType"; + SyntaxKind[SyntaxKind["IntersectionType"] = 170] = "IntersectionType"; + SyntaxKind[SyntaxKind["ConditionalType"] = 171] = "ConditionalType"; + SyntaxKind[SyntaxKind["InferType"] = 172] = "InferType"; + SyntaxKind[SyntaxKind["ParenthesizedType"] = 173] = "ParenthesizedType"; + SyntaxKind[SyntaxKind["ThisType"] = 174] = "ThisType"; + SyntaxKind[SyntaxKind["TypeOperator"] = 175] = "TypeOperator"; + SyntaxKind[SyntaxKind["IndexedAccessType"] = 176] = "IndexedAccessType"; + SyntaxKind[SyntaxKind["MappedType"] = 177] = "MappedType"; + SyntaxKind[SyntaxKind["LiteralType"] = 178] = "LiteralType"; + SyntaxKind[SyntaxKind["ImportType"] = 179] = "ImportType"; // Binding patterns - SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 179] = "ObjectBindingPattern"; - SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 180] = "ArrayBindingPattern"; - SyntaxKind[SyntaxKind["BindingElement"] = 181] = "BindingElement"; + SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 180] = "ObjectBindingPattern"; + SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 181] = "ArrayBindingPattern"; + SyntaxKind[SyntaxKind["BindingElement"] = 182] = "BindingElement"; // Expression - SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 182] = "ArrayLiteralExpression"; - SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 183] = "ObjectLiteralExpression"; - SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 184] = "PropertyAccessExpression"; - SyntaxKind[SyntaxKind["ElementAccessExpression"] = 185] = "ElementAccessExpression"; - SyntaxKind[SyntaxKind["CallExpression"] = 186] = "CallExpression"; - SyntaxKind[SyntaxKind["NewExpression"] = 187] = "NewExpression"; - SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 188] = "TaggedTemplateExpression"; - SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 189] = "TypeAssertionExpression"; - SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 190] = "ParenthesizedExpression"; - SyntaxKind[SyntaxKind["FunctionExpression"] = 191] = "FunctionExpression"; - SyntaxKind[SyntaxKind["ArrowFunction"] = 192] = "ArrowFunction"; - SyntaxKind[SyntaxKind["DeleteExpression"] = 193] = "DeleteExpression"; - SyntaxKind[SyntaxKind["TypeOfExpression"] = 194] = "TypeOfExpression"; - SyntaxKind[SyntaxKind["VoidExpression"] = 195] = "VoidExpression"; - SyntaxKind[SyntaxKind["AwaitExpression"] = 196] = "AwaitExpression"; - SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 197] = "PrefixUnaryExpression"; - SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 198] = "PostfixUnaryExpression"; - SyntaxKind[SyntaxKind["BinaryExpression"] = 199] = "BinaryExpression"; - SyntaxKind[SyntaxKind["ConditionalExpression"] = 200] = "ConditionalExpression"; - SyntaxKind[SyntaxKind["TemplateExpression"] = 201] = "TemplateExpression"; - SyntaxKind[SyntaxKind["YieldExpression"] = 202] = "YieldExpression"; - SyntaxKind[SyntaxKind["SpreadElement"] = 203] = "SpreadElement"; - SyntaxKind[SyntaxKind["ClassExpression"] = 204] = "ClassExpression"; - SyntaxKind[SyntaxKind["OmittedExpression"] = 205] = "OmittedExpression"; - SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 206] = "ExpressionWithTypeArguments"; - SyntaxKind[SyntaxKind["AsExpression"] = 207] = "AsExpression"; - SyntaxKind[SyntaxKind["NonNullExpression"] = 208] = "NonNullExpression"; - SyntaxKind[SyntaxKind["MetaProperty"] = 209] = "MetaProperty"; + SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 183] = "ArrayLiteralExpression"; + SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 184] = "ObjectLiteralExpression"; + SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 185] = "PropertyAccessExpression"; + SyntaxKind[SyntaxKind["ElementAccessExpression"] = 186] = "ElementAccessExpression"; + SyntaxKind[SyntaxKind["CallExpression"] = 187] = "CallExpression"; + SyntaxKind[SyntaxKind["NewExpression"] = 188] = "NewExpression"; + SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 189] = "TaggedTemplateExpression"; + SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 190] = "TypeAssertionExpression"; + SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 191] = "ParenthesizedExpression"; + SyntaxKind[SyntaxKind["FunctionExpression"] = 192] = "FunctionExpression"; + SyntaxKind[SyntaxKind["ArrowFunction"] = 193] = "ArrowFunction"; + SyntaxKind[SyntaxKind["DeleteExpression"] = 194] = "DeleteExpression"; + SyntaxKind[SyntaxKind["TypeOfExpression"] = 195] = "TypeOfExpression"; + SyntaxKind[SyntaxKind["VoidExpression"] = 196] = "VoidExpression"; + SyntaxKind[SyntaxKind["AwaitExpression"] = 197] = "AwaitExpression"; + SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 198] = "PrefixUnaryExpression"; + SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 199] = "PostfixUnaryExpression"; + SyntaxKind[SyntaxKind["BinaryExpression"] = 200] = "BinaryExpression"; + SyntaxKind[SyntaxKind["ConditionalExpression"] = 201] = "ConditionalExpression"; + SyntaxKind[SyntaxKind["TemplateExpression"] = 202] = "TemplateExpression"; + SyntaxKind[SyntaxKind["YieldExpression"] = 203] = "YieldExpression"; + SyntaxKind[SyntaxKind["SpreadElement"] = 204] = "SpreadElement"; + SyntaxKind[SyntaxKind["ClassExpression"] = 205] = "ClassExpression"; + SyntaxKind[SyntaxKind["OmittedExpression"] = 206] = "OmittedExpression"; + SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 207] = "ExpressionWithTypeArguments"; + SyntaxKind[SyntaxKind["AsExpression"] = 208] = "AsExpression"; + SyntaxKind[SyntaxKind["NonNullExpression"] = 209] = "NonNullExpression"; + SyntaxKind[SyntaxKind["MetaProperty"] = 210] = "MetaProperty"; // Misc - SyntaxKind[SyntaxKind["TemplateSpan"] = 210] = "TemplateSpan"; - SyntaxKind[SyntaxKind["SemicolonClassElement"] = 211] = "SemicolonClassElement"; + SyntaxKind[SyntaxKind["TemplateSpan"] = 211] = "TemplateSpan"; + SyntaxKind[SyntaxKind["SemicolonClassElement"] = 212] = "SemicolonClassElement"; // Element - SyntaxKind[SyntaxKind["Block"] = 212] = "Block"; - SyntaxKind[SyntaxKind["VariableStatement"] = 213] = "VariableStatement"; - SyntaxKind[SyntaxKind["EmptyStatement"] = 214] = "EmptyStatement"; - SyntaxKind[SyntaxKind["ExpressionStatement"] = 215] = "ExpressionStatement"; - SyntaxKind[SyntaxKind["IfStatement"] = 216] = "IfStatement"; - SyntaxKind[SyntaxKind["DoStatement"] = 217] = "DoStatement"; - SyntaxKind[SyntaxKind["WhileStatement"] = 218] = "WhileStatement"; - SyntaxKind[SyntaxKind["ForStatement"] = 219] = "ForStatement"; - SyntaxKind[SyntaxKind["ForInStatement"] = 220] = "ForInStatement"; - SyntaxKind[SyntaxKind["ForOfStatement"] = 221] = "ForOfStatement"; - SyntaxKind[SyntaxKind["ContinueStatement"] = 222] = "ContinueStatement"; - SyntaxKind[SyntaxKind["BreakStatement"] = 223] = "BreakStatement"; - SyntaxKind[SyntaxKind["ReturnStatement"] = 224] = "ReturnStatement"; - SyntaxKind[SyntaxKind["WithStatement"] = 225] = "WithStatement"; - SyntaxKind[SyntaxKind["SwitchStatement"] = 226] = "SwitchStatement"; - SyntaxKind[SyntaxKind["LabeledStatement"] = 227] = "LabeledStatement"; - SyntaxKind[SyntaxKind["ThrowStatement"] = 228] = "ThrowStatement"; - SyntaxKind[SyntaxKind["TryStatement"] = 229] = "TryStatement"; - SyntaxKind[SyntaxKind["DebuggerStatement"] = 230] = "DebuggerStatement"; - SyntaxKind[SyntaxKind["VariableDeclaration"] = 231] = "VariableDeclaration"; - SyntaxKind[SyntaxKind["VariableDeclarationList"] = 232] = "VariableDeclarationList"; - SyntaxKind[SyntaxKind["FunctionDeclaration"] = 233] = "FunctionDeclaration"; - SyntaxKind[SyntaxKind["ClassDeclaration"] = 234] = "ClassDeclaration"; - SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 235] = "InterfaceDeclaration"; - SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 236] = "TypeAliasDeclaration"; - SyntaxKind[SyntaxKind["EnumDeclaration"] = 237] = "EnumDeclaration"; - SyntaxKind[SyntaxKind["ModuleDeclaration"] = 238] = "ModuleDeclaration"; - SyntaxKind[SyntaxKind["ModuleBlock"] = 239] = "ModuleBlock"; - SyntaxKind[SyntaxKind["CaseBlock"] = 240] = "CaseBlock"; - SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 241] = "NamespaceExportDeclaration"; - SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 242] = "ImportEqualsDeclaration"; - SyntaxKind[SyntaxKind["ImportDeclaration"] = 243] = "ImportDeclaration"; - SyntaxKind[SyntaxKind["ImportClause"] = 244] = "ImportClause"; - SyntaxKind[SyntaxKind["NamespaceImport"] = 245] = "NamespaceImport"; - SyntaxKind[SyntaxKind["NamedImports"] = 246] = "NamedImports"; - SyntaxKind[SyntaxKind["ImportSpecifier"] = 247] = "ImportSpecifier"; - SyntaxKind[SyntaxKind["ExportAssignment"] = 248] = "ExportAssignment"; - SyntaxKind[SyntaxKind["ExportDeclaration"] = 249] = "ExportDeclaration"; - SyntaxKind[SyntaxKind["NamedExports"] = 250] = "NamedExports"; - SyntaxKind[SyntaxKind["ExportSpecifier"] = 251] = "ExportSpecifier"; - SyntaxKind[SyntaxKind["MissingDeclaration"] = 252] = "MissingDeclaration"; + SyntaxKind[SyntaxKind["Block"] = 213] = "Block"; + SyntaxKind[SyntaxKind["VariableStatement"] = 214] = "VariableStatement"; + SyntaxKind[SyntaxKind["EmptyStatement"] = 215] = "EmptyStatement"; + SyntaxKind[SyntaxKind["ExpressionStatement"] = 216] = "ExpressionStatement"; + SyntaxKind[SyntaxKind["IfStatement"] = 217] = "IfStatement"; + SyntaxKind[SyntaxKind["DoStatement"] = 218] = "DoStatement"; + SyntaxKind[SyntaxKind["WhileStatement"] = 219] = "WhileStatement"; + SyntaxKind[SyntaxKind["ForStatement"] = 220] = "ForStatement"; + SyntaxKind[SyntaxKind["ForInStatement"] = 221] = "ForInStatement"; + SyntaxKind[SyntaxKind["ForOfStatement"] = 222] = "ForOfStatement"; + SyntaxKind[SyntaxKind["ContinueStatement"] = 223] = "ContinueStatement"; + SyntaxKind[SyntaxKind["BreakStatement"] = 224] = "BreakStatement"; + SyntaxKind[SyntaxKind["ReturnStatement"] = 225] = "ReturnStatement"; + SyntaxKind[SyntaxKind["WithStatement"] = 226] = "WithStatement"; + SyntaxKind[SyntaxKind["SwitchStatement"] = 227] = "SwitchStatement"; + SyntaxKind[SyntaxKind["LabeledStatement"] = 228] = "LabeledStatement"; + SyntaxKind[SyntaxKind["ThrowStatement"] = 229] = "ThrowStatement"; + SyntaxKind[SyntaxKind["TryStatement"] = 230] = "TryStatement"; + SyntaxKind[SyntaxKind["DebuggerStatement"] = 231] = "DebuggerStatement"; + SyntaxKind[SyntaxKind["VariableDeclaration"] = 232] = "VariableDeclaration"; + SyntaxKind[SyntaxKind["VariableDeclarationList"] = 233] = "VariableDeclarationList"; + SyntaxKind[SyntaxKind["FunctionDeclaration"] = 234] = "FunctionDeclaration"; + SyntaxKind[SyntaxKind["ClassDeclaration"] = 235] = "ClassDeclaration"; + SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 236] = "InterfaceDeclaration"; + SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 237] = "TypeAliasDeclaration"; + SyntaxKind[SyntaxKind["EnumDeclaration"] = 238] = "EnumDeclaration"; + SyntaxKind[SyntaxKind["ModuleDeclaration"] = 239] = "ModuleDeclaration"; + SyntaxKind[SyntaxKind["ModuleBlock"] = 240] = "ModuleBlock"; + SyntaxKind[SyntaxKind["CaseBlock"] = 241] = "CaseBlock"; + SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 242] = "NamespaceExportDeclaration"; + SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 243] = "ImportEqualsDeclaration"; + SyntaxKind[SyntaxKind["ImportDeclaration"] = 244] = "ImportDeclaration"; + SyntaxKind[SyntaxKind["ImportClause"] = 245] = "ImportClause"; + SyntaxKind[SyntaxKind["NamespaceImport"] = 246] = "NamespaceImport"; + SyntaxKind[SyntaxKind["NamedImports"] = 247] = "NamedImports"; + SyntaxKind[SyntaxKind["ImportSpecifier"] = 248] = "ImportSpecifier"; + SyntaxKind[SyntaxKind["ExportAssignment"] = 249] = "ExportAssignment"; + SyntaxKind[SyntaxKind["ExportDeclaration"] = 250] = "ExportDeclaration"; + SyntaxKind[SyntaxKind["NamedExports"] = 251] = "NamedExports"; + SyntaxKind[SyntaxKind["ExportSpecifier"] = 252] = "ExportSpecifier"; + SyntaxKind[SyntaxKind["MissingDeclaration"] = 253] = "MissingDeclaration"; // Module references - SyntaxKind[SyntaxKind["ExternalModuleReference"] = 253] = "ExternalModuleReference"; + SyntaxKind[SyntaxKind["ExternalModuleReference"] = 254] = "ExternalModuleReference"; // JSX - SyntaxKind[SyntaxKind["JsxElement"] = 254] = "JsxElement"; - SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 255] = "JsxSelfClosingElement"; - SyntaxKind[SyntaxKind["JsxOpeningElement"] = 256] = "JsxOpeningElement"; - SyntaxKind[SyntaxKind["JsxClosingElement"] = 257] = "JsxClosingElement"; - SyntaxKind[SyntaxKind["JsxFragment"] = 258] = "JsxFragment"; - SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 259] = "JsxOpeningFragment"; - SyntaxKind[SyntaxKind["JsxClosingFragment"] = 260] = "JsxClosingFragment"; - SyntaxKind[SyntaxKind["JsxAttribute"] = 261] = "JsxAttribute"; - SyntaxKind[SyntaxKind["JsxAttributes"] = 262] = "JsxAttributes"; - SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 263] = "JsxSpreadAttribute"; - SyntaxKind[SyntaxKind["JsxExpression"] = 264] = "JsxExpression"; + SyntaxKind[SyntaxKind["JsxElement"] = 255] = "JsxElement"; + SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 256] = "JsxSelfClosingElement"; + SyntaxKind[SyntaxKind["JsxOpeningElement"] = 257] = "JsxOpeningElement"; + SyntaxKind[SyntaxKind["JsxClosingElement"] = 258] = "JsxClosingElement"; + SyntaxKind[SyntaxKind["JsxFragment"] = 259] = "JsxFragment"; + SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 260] = "JsxOpeningFragment"; + SyntaxKind[SyntaxKind["JsxClosingFragment"] = 261] = "JsxClosingFragment"; + SyntaxKind[SyntaxKind["JsxAttribute"] = 262] = "JsxAttribute"; + SyntaxKind[SyntaxKind["JsxAttributes"] = 263] = "JsxAttributes"; + SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 264] = "JsxSpreadAttribute"; + SyntaxKind[SyntaxKind["JsxExpression"] = 265] = "JsxExpression"; // Clauses - SyntaxKind[SyntaxKind["CaseClause"] = 265] = "CaseClause"; - SyntaxKind[SyntaxKind["DefaultClause"] = 266] = "DefaultClause"; - SyntaxKind[SyntaxKind["HeritageClause"] = 267] = "HeritageClause"; - SyntaxKind[SyntaxKind["CatchClause"] = 268] = "CatchClause"; + SyntaxKind[SyntaxKind["CaseClause"] = 266] = "CaseClause"; + SyntaxKind[SyntaxKind["DefaultClause"] = 267] = "DefaultClause"; + SyntaxKind[SyntaxKind["HeritageClause"] = 268] = "HeritageClause"; + SyntaxKind[SyntaxKind["CatchClause"] = 269] = "CatchClause"; // Property assignments - SyntaxKind[SyntaxKind["PropertyAssignment"] = 269] = "PropertyAssignment"; - SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 270] = "ShorthandPropertyAssignment"; - SyntaxKind[SyntaxKind["SpreadAssignment"] = 271] = "SpreadAssignment"; + SyntaxKind[SyntaxKind["PropertyAssignment"] = 270] = "PropertyAssignment"; + SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 271] = "ShorthandPropertyAssignment"; + SyntaxKind[SyntaxKind["SpreadAssignment"] = 272] = "SpreadAssignment"; // Enum - SyntaxKind[SyntaxKind["EnumMember"] = 272] = "EnumMember"; + SyntaxKind[SyntaxKind["EnumMember"] = 273] = "EnumMember"; // Top-level nodes - SyntaxKind[SyntaxKind["SourceFile"] = 273] = "SourceFile"; - SyntaxKind[SyntaxKind["Bundle"] = 274] = "Bundle"; - SyntaxKind[SyntaxKind["UnparsedSource"] = 275] = "UnparsedSource"; - SyntaxKind[SyntaxKind["InputFiles"] = 276] = "InputFiles"; + SyntaxKind[SyntaxKind["SourceFile"] = 274] = "SourceFile"; + SyntaxKind[SyntaxKind["Bundle"] = 275] = "Bundle"; + SyntaxKind[SyntaxKind["UnparsedSource"] = 276] = "UnparsedSource"; + SyntaxKind[SyntaxKind["InputFiles"] = 277] = "InputFiles"; // JSDoc nodes - SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 277] = "JSDocTypeExpression"; + SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 278] = "JSDocTypeExpression"; // The * type - SyntaxKind[SyntaxKind["JSDocAllType"] = 278] = "JSDocAllType"; + SyntaxKind[SyntaxKind["JSDocAllType"] = 279] = "JSDocAllType"; // The ? type - SyntaxKind[SyntaxKind["JSDocUnknownType"] = 279] = "JSDocUnknownType"; - SyntaxKind[SyntaxKind["JSDocNullableType"] = 280] = "JSDocNullableType"; - SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 281] = "JSDocNonNullableType"; - SyntaxKind[SyntaxKind["JSDocOptionalType"] = 282] = "JSDocOptionalType"; - SyntaxKind[SyntaxKind["JSDocFunctionType"] = 283] = "JSDocFunctionType"; - SyntaxKind[SyntaxKind["JSDocVariadicType"] = 284] = "JSDocVariadicType"; - SyntaxKind[SyntaxKind["JSDocComment"] = 285] = "JSDocComment"; - SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 286] = "JSDocTypeLiteral"; - SyntaxKind[SyntaxKind["JSDocSignature"] = 287] = "JSDocSignature"; - SyntaxKind[SyntaxKind["JSDocTag"] = 288] = "JSDocTag"; - SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 289] = "JSDocAugmentsTag"; - SyntaxKind[SyntaxKind["JSDocClassTag"] = 290] = "JSDocClassTag"; - SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 291] = "JSDocCallbackTag"; - SyntaxKind[SyntaxKind["JSDocParameterTag"] = 292] = "JSDocParameterTag"; - SyntaxKind[SyntaxKind["JSDocReturnTag"] = 293] = "JSDocReturnTag"; - SyntaxKind[SyntaxKind["JSDocTypeTag"] = 294] = "JSDocTypeTag"; - SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 295] = "JSDocTemplateTag"; - SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 296] = "JSDocTypedefTag"; - SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 297] = "JSDocPropertyTag"; + SyntaxKind[SyntaxKind["JSDocUnknownType"] = 280] = "JSDocUnknownType"; + SyntaxKind[SyntaxKind["JSDocNullableType"] = 281] = "JSDocNullableType"; + SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 282] = "JSDocNonNullableType"; + SyntaxKind[SyntaxKind["JSDocOptionalType"] = 283] = "JSDocOptionalType"; + SyntaxKind[SyntaxKind["JSDocFunctionType"] = 284] = "JSDocFunctionType"; + SyntaxKind[SyntaxKind["JSDocVariadicType"] = 285] = "JSDocVariadicType"; + SyntaxKind[SyntaxKind["JSDocComment"] = 286] = "JSDocComment"; + SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 287] = "JSDocTypeLiteral"; + SyntaxKind[SyntaxKind["JSDocSignature"] = 288] = "JSDocSignature"; + SyntaxKind[SyntaxKind["JSDocTag"] = 289] = "JSDocTag"; + SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 290] = "JSDocAugmentsTag"; + SyntaxKind[SyntaxKind["JSDocClassTag"] = 291] = "JSDocClassTag"; + SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 292] = "JSDocCallbackTag"; + SyntaxKind[SyntaxKind["JSDocParameterTag"] = 293] = "JSDocParameterTag"; + SyntaxKind[SyntaxKind["JSDocReturnTag"] = 294] = "JSDocReturnTag"; + SyntaxKind[SyntaxKind["JSDocTypeTag"] = 295] = "JSDocTypeTag"; + SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 296] = "JSDocTemplateTag"; + SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 297] = "JSDocTypedefTag"; + SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 298] = "JSDocPropertyTag"; // Synthesized list - SyntaxKind[SyntaxKind["SyntaxList"] = 298] = "SyntaxList"; + SyntaxKind[SyntaxKind["SyntaxList"] = 299] = "SyntaxList"; // Transformation nodes - SyntaxKind[SyntaxKind["NotEmittedStatement"] = 299] = "NotEmittedStatement"; - SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 300] = "PartiallyEmittedExpression"; - SyntaxKind[SyntaxKind["CommaListExpression"] = 301] = "CommaListExpression"; - SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 302] = "MergeDeclarationMarker"; - SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 303] = "EndOfDeclarationMarker"; + SyntaxKind[SyntaxKind["NotEmittedStatement"] = 300] = "NotEmittedStatement"; + SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 301] = "PartiallyEmittedExpression"; + SyntaxKind[SyntaxKind["CommaListExpression"] = 302] = "CommaListExpression"; + SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 303] = "MergeDeclarationMarker"; + SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 304] = "EndOfDeclarationMarker"; // Enum value count - SyntaxKind[SyntaxKind["Count"] = 304] = "Count"; + SyntaxKind[SyntaxKind["Count"] = 305] = "Count"; // Markers SyntaxKind[SyntaxKind["FirstAssignment"] = 58] = "FirstAssignment"; SyntaxKind[SyntaxKind["LastAssignment"] = 70] = "LastAssignment"; @@ -394,15 +395,15 @@ var ts; SyntaxKind[SyntaxKind["FirstReservedWord"] = 72] = "FirstReservedWord"; SyntaxKind[SyntaxKind["LastReservedWord"] = 107] = "LastReservedWord"; SyntaxKind[SyntaxKind["FirstKeyword"] = 72] = "FirstKeyword"; - SyntaxKind[SyntaxKind["LastKeyword"] = 144] = "LastKeyword"; + SyntaxKind[SyntaxKind["LastKeyword"] = 145] = "LastKeyword"; SyntaxKind[SyntaxKind["FirstFutureReservedWord"] = 108] = "FirstFutureReservedWord"; SyntaxKind[SyntaxKind["LastFutureReservedWord"] = 116] = "LastFutureReservedWord"; - SyntaxKind[SyntaxKind["FirstTypeNode"] = 160] = "FirstTypeNode"; - SyntaxKind[SyntaxKind["LastTypeNode"] = 178] = "LastTypeNode"; + SyntaxKind[SyntaxKind["FirstTypeNode"] = 161] = "FirstTypeNode"; + SyntaxKind[SyntaxKind["LastTypeNode"] = 179] = "LastTypeNode"; SyntaxKind[SyntaxKind["FirstPunctuation"] = 17] = "FirstPunctuation"; SyntaxKind[SyntaxKind["LastPunctuation"] = 70] = "LastPunctuation"; SyntaxKind[SyntaxKind["FirstToken"] = 0] = "FirstToken"; - SyntaxKind[SyntaxKind["LastToken"] = 144] = "LastToken"; + SyntaxKind[SyntaxKind["LastToken"] = 145] = "LastToken"; SyntaxKind[SyntaxKind["FirstTriviaToken"] = 2] = "FirstTriviaToken"; SyntaxKind[SyntaxKind["LastTriviaToken"] = 7] = "LastTriviaToken"; SyntaxKind[SyntaxKind["FirstLiteralToken"] = 8] = "FirstLiteralToken"; @@ -411,13 +412,13 @@ var ts; SyntaxKind[SyntaxKind["LastTemplateToken"] = 16] = "LastTemplateToken"; SyntaxKind[SyntaxKind["FirstBinaryOperator"] = 27] = "FirstBinaryOperator"; SyntaxKind[SyntaxKind["LastBinaryOperator"] = 70] = "LastBinaryOperator"; - SyntaxKind[SyntaxKind["FirstNode"] = 145] = "FirstNode"; - SyntaxKind[SyntaxKind["FirstJSDocNode"] = 277] = "FirstJSDocNode"; - SyntaxKind[SyntaxKind["LastJSDocNode"] = 297] = "LastJSDocNode"; - SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 288] = "FirstJSDocTagNode"; - SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 297] = "LastJSDocTagNode"; + SyntaxKind[SyntaxKind["FirstNode"] = 146] = "FirstNode"; + SyntaxKind[SyntaxKind["FirstJSDocNode"] = 278] = "FirstJSDocNode"; + SyntaxKind[SyntaxKind["LastJSDocNode"] = 298] = "LastJSDocNode"; + SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 289] = "FirstJSDocTagNode"; + SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 298] = "LastJSDocTagNode"; /* @internal */ SyntaxKind[SyntaxKind["FirstContextualKeyword"] = 117] = "FirstContextualKeyword"; - /* @internal */ SyntaxKind[SyntaxKind["LastContextualKeyword"] = 144] = "LastContextualKeyword"; + /* @internal */ SyntaxKind[SyntaxKind["LastContextualKeyword"] = 145] = "LastContextualKeyword"; })(SyntaxKind = ts.SyntaxKind || (ts.SyntaxKind = {})); var NodeFlags; (function (NodeFlags) { @@ -857,89 +858,93 @@ var ts; var TypeFlags; (function (TypeFlags) { TypeFlags[TypeFlags["Any"] = 1] = "Any"; - TypeFlags[TypeFlags["String"] = 2] = "String"; - TypeFlags[TypeFlags["Number"] = 4] = "Number"; - TypeFlags[TypeFlags["Boolean"] = 8] = "Boolean"; - TypeFlags[TypeFlags["Enum"] = 16] = "Enum"; - TypeFlags[TypeFlags["StringLiteral"] = 32] = "StringLiteral"; - TypeFlags[TypeFlags["NumberLiteral"] = 64] = "NumberLiteral"; - TypeFlags[TypeFlags["BooleanLiteral"] = 128] = "BooleanLiteral"; - TypeFlags[TypeFlags["EnumLiteral"] = 256] = "EnumLiteral"; - TypeFlags[TypeFlags["ESSymbol"] = 512] = "ESSymbol"; - TypeFlags[TypeFlags["UniqueESSymbol"] = 1024] = "UniqueESSymbol"; - TypeFlags[TypeFlags["Void"] = 2048] = "Void"; - TypeFlags[TypeFlags["Undefined"] = 4096] = "Undefined"; - TypeFlags[TypeFlags["Null"] = 8192] = "Null"; - TypeFlags[TypeFlags["Never"] = 16384] = "Never"; - TypeFlags[TypeFlags["TypeParameter"] = 32768] = "TypeParameter"; - TypeFlags[TypeFlags["Object"] = 65536] = "Object"; - TypeFlags[TypeFlags["Union"] = 131072] = "Union"; - TypeFlags[TypeFlags["Intersection"] = 262144] = "Intersection"; - TypeFlags[TypeFlags["Index"] = 524288] = "Index"; - TypeFlags[TypeFlags["IndexedAccess"] = 1048576] = "IndexedAccess"; - TypeFlags[TypeFlags["Conditional"] = 2097152] = "Conditional"; - TypeFlags[TypeFlags["Substitution"] = 4194304] = "Substitution"; + TypeFlags[TypeFlags["Unknown"] = 2] = "Unknown"; + TypeFlags[TypeFlags["String"] = 4] = "String"; + TypeFlags[TypeFlags["Number"] = 8] = "Number"; + TypeFlags[TypeFlags["Boolean"] = 16] = "Boolean"; + TypeFlags[TypeFlags["Enum"] = 32] = "Enum"; + TypeFlags[TypeFlags["StringLiteral"] = 64] = "StringLiteral"; + TypeFlags[TypeFlags["NumberLiteral"] = 128] = "NumberLiteral"; + TypeFlags[TypeFlags["BooleanLiteral"] = 256] = "BooleanLiteral"; + TypeFlags[TypeFlags["EnumLiteral"] = 512] = "EnumLiteral"; + TypeFlags[TypeFlags["ESSymbol"] = 1024] = "ESSymbol"; + TypeFlags[TypeFlags["UniqueESSymbol"] = 2048] = "UniqueESSymbol"; + TypeFlags[TypeFlags["Void"] = 4096] = "Void"; + TypeFlags[TypeFlags["Undefined"] = 8192] = "Undefined"; + TypeFlags[TypeFlags["Null"] = 16384] = "Null"; + TypeFlags[TypeFlags["Never"] = 32768] = "Never"; + TypeFlags[TypeFlags["TypeParameter"] = 65536] = "TypeParameter"; + TypeFlags[TypeFlags["Object"] = 131072] = "Object"; + TypeFlags[TypeFlags["Union"] = 262144] = "Union"; + TypeFlags[TypeFlags["Intersection"] = 524288] = "Intersection"; + TypeFlags[TypeFlags["Index"] = 1048576] = "Index"; + TypeFlags[TypeFlags["IndexedAccess"] = 2097152] = "IndexedAccess"; + TypeFlags[TypeFlags["Conditional"] = 4194304] = "Conditional"; + TypeFlags[TypeFlags["Substitution"] = 8388608] = "Substitution"; + TypeFlags[TypeFlags["NonPrimitive"] = 16777216] = "NonPrimitive"; /* @internal */ - TypeFlags[TypeFlags["FreshLiteral"] = 8388608] = "FreshLiteral"; + TypeFlags[TypeFlags["FreshLiteral"] = 33554432] = "FreshLiteral"; /* @internal */ - TypeFlags[TypeFlags["ContainsWideningType"] = 16777216] = "ContainsWideningType"; + TypeFlags[TypeFlags["UnionOfUnitTypes"] = 67108864] = "UnionOfUnitTypes"; /* @internal */ - TypeFlags[TypeFlags["ContainsObjectLiteral"] = 33554432] = "ContainsObjectLiteral"; + TypeFlags[TypeFlags["ContainsWideningType"] = 134217728] = "ContainsWideningType"; /* @internal */ - TypeFlags[TypeFlags["ContainsAnyFunctionType"] = 67108864] = "ContainsAnyFunctionType"; - TypeFlags[TypeFlags["NonPrimitive"] = 134217728] = "NonPrimitive"; + TypeFlags[TypeFlags["ContainsObjectLiteral"] = 268435456] = "ContainsObjectLiteral"; /* @internal */ - TypeFlags[TypeFlags["UnionOfUnitTypes"] = 268435456] = "UnionOfUnitTypes"; + TypeFlags[TypeFlags["ContainsAnyFunctionType"] = 536870912] = "ContainsAnyFunctionType"; /* @internal */ - TypeFlags[TypeFlags["GenericMappedType"] = 536870912] = "GenericMappedType"; + TypeFlags[TypeFlags["AnyOrUnknown"] = 3] = "AnyOrUnknown"; /* @internal */ - TypeFlags[TypeFlags["Nullable"] = 12288] = "Nullable"; - TypeFlags[TypeFlags["Literal"] = 224] = "Literal"; - TypeFlags[TypeFlags["Unit"] = 13536] = "Unit"; - TypeFlags[TypeFlags["StringOrNumberLiteral"] = 96] = "StringOrNumberLiteral"; + TypeFlags[TypeFlags["Nullable"] = 24576] = "Nullable"; + TypeFlags[TypeFlags["Literal"] = 448] = "Literal"; + TypeFlags[TypeFlags["Unit"] = 27072] = "Unit"; + TypeFlags[TypeFlags["StringOrNumberLiteral"] = 192] = "StringOrNumberLiteral"; /* @internal */ - TypeFlags[TypeFlags["StringOrNumberLiteralOrUnique"] = 1120] = "StringOrNumberLiteralOrUnique"; + TypeFlags[TypeFlags["StringOrNumberLiteralOrUnique"] = 2240] = "StringOrNumberLiteralOrUnique"; /* @internal */ - TypeFlags[TypeFlags["DefinitelyFalsy"] = 14560] = "DefinitelyFalsy"; - TypeFlags[TypeFlags["PossiblyFalsy"] = 14574] = "PossiblyFalsy"; + TypeFlags[TypeFlags["DefinitelyFalsy"] = 29120] = "DefinitelyFalsy"; + TypeFlags[TypeFlags["PossiblyFalsy"] = 29148] = "PossiblyFalsy"; /* @internal */ - TypeFlags[TypeFlags["Intrinsic"] = 134249103] = "Intrinsic"; + TypeFlags[TypeFlags["Intrinsic"] = 16839967] = "Intrinsic"; /* @internal */ - TypeFlags[TypeFlags["Primitive"] = 16382] = "Primitive"; - TypeFlags[TypeFlags["StringLike"] = 34] = "StringLike"; - TypeFlags[TypeFlags["NumberLike"] = 84] = "NumberLike"; - TypeFlags[TypeFlags["BooleanLike"] = 136] = "BooleanLike"; - TypeFlags[TypeFlags["EnumLike"] = 272] = "EnumLike"; - TypeFlags[TypeFlags["ESSymbolLike"] = 1536] = "ESSymbolLike"; - TypeFlags[TypeFlags["VoidLike"] = 6144] = "VoidLike"; + TypeFlags[TypeFlags["Primitive"] = 32764] = "Primitive"; + TypeFlags[TypeFlags["StringLike"] = 68] = "StringLike"; + TypeFlags[TypeFlags["NumberLike"] = 168] = "NumberLike"; + TypeFlags[TypeFlags["BooleanLike"] = 272] = "BooleanLike"; + TypeFlags[TypeFlags["EnumLike"] = 544] = "EnumLike"; + TypeFlags[TypeFlags["ESSymbolLike"] = 3072] = "ESSymbolLike"; + TypeFlags[TypeFlags["VoidLike"] = 12288] = "VoidLike"; /* @internal */ - TypeFlags[TypeFlags["DisjointDomains"] = 134233854] = "DisjointDomains"; - TypeFlags[TypeFlags["UnionOrIntersection"] = 393216] = "UnionOrIntersection"; - TypeFlags[TypeFlags["StructuredType"] = 458752] = "StructuredType"; - TypeFlags[TypeFlags["TypeVariable"] = 1081344] = "TypeVariable"; - TypeFlags[TypeFlags["InstantiableNonPrimitive"] = 7372800] = "InstantiableNonPrimitive"; - TypeFlags[TypeFlags["InstantiablePrimitive"] = 524288] = "InstantiablePrimitive"; - TypeFlags[TypeFlags["Instantiable"] = 7897088] = "Instantiable"; - TypeFlags[TypeFlags["StructuredOrInstantiable"] = 8355840] = "StructuredOrInstantiable"; + TypeFlags[TypeFlags["DisjointDomains"] = 16809468] = "DisjointDomains"; + TypeFlags[TypeFlags["UnionOrIntersection"] = 786432] = "UnionOrIntersection"; + TypeFlags[TypeFlags["StructuredType"] = 917504] = "StructuredType"; + TypeFlags[TypeFlags["TypeVariable"] = 2162688] = "TypeVariable"; + TypeFlags[TypeFlags["InstantiableNonPrimitive"] = 14745600] = "InstantiableNonPrimitive"; + TypeFlags[TypeFlags["InstantiablePrimitive"] = 1048576] = "InstantiablePrimitive"; + TypeFlags[TypeFlags["Instantiable"] = 15794176] = "Instantiable"; + TypeFlags[TypeFlags["StructuredOrInstantiable"] = 16711680] = "StructuredOrInstantiable"; // 'Narrowable' types are types where narrowing actually narrows. // This *should* be every type other than null, undefined, void, and never - TypeFlags[TypeFlags["Narrowable"] = 142575359] = "Narrowable"; - TypeFlags[TypeFlags["NotUnionOrUnit"] = 134283777] = "NotUnionOrUnit"; + TypeFlags[TypeFlags["Narrowable"] = 33492479] = "Narrowable"; + TypeFlags[TypeFlags["NotUnionOrUnit"] = 16909315] = "NotUnionOrUnit"; /* @internal */ - TypeFlags[TypeFlags["NotUnit"] = 8374815] = "NotUnit"; + TypeFlags[TypeFlags["NotUnit"] = 16749629] = "NotUnit"; /* @internal */ - TypeFlags[TypeFlags["RequiresWidening"] = 50331648] = "RequiresWidening"; + TypeFlags[TypeFlags["RequiresWidening"] = 402653184] = "RequiresWidening"; /* @internal */ - TypeFlags[TypeFlags["PropagatingFlags"] = 117440512] = "PropagatingFlags"; + TypeFlags[TypeFlags["PropagatingFlags"] = 939524096] = "PropagatingFlags"; // The following flags are used for different purposes during union and intersection type construction /* @internal */ - TypeFlags[TypeFlags["NonWideningType"] = 16777216] = "NonWideningType"; + TypeFlags[TypeFlags["NonWideningType"] = 134217728] = "NonWideningType"; /* @internal */ - TypeFlags[TypeFlags["Wildcard"] = 33554432] = "Wildcard"; + TypeFlags[TypeFlags["Wildcard"] = 268435456] = "Wildcard"; /* @internal */ - TypeFlags[TypeFlags["EmptyObject"] = 67108864] = "EmptyObject"; + TypeFlags[TypeFlags["EmptyObject"] = 536870912] = "EmptyObject"; /* @internal */ - TypeFlags[TypeFlags["ConstructionFlags"] = 117440512] = "ConstructionFlags"; + TypeFlags[TypeFlags["ConstructionFlags"] = 939524096] = "ConstructionFlags"; + // The following flag is used for different purposes by maybeTypeOfKind + /* @internal */ + TypeFlags[TypeFlags["GenericMappedType"] = 134217728] = "GenericMappedType"; })(TypeFlags = ts.TypeFlags || (ts.TypeFlags = {})); var ObjectFlags; (function (ObjectFlags) { @@ -1325,6 +1330,7 @@ var ts; })(TransformFlags = ts.TransformFlags || (ts.TransformFlags = {})); var EmitFlags; (function (EmitFlags) { + EmitFlags[EmitFlags["None"] = 0] = "None"; EmitFlags[EmitFlags["SingleLine"] = 1] = "SingleLine"; EmitFlags[EmitFlags["AdviseOnEmitNode"] = 2] = "AdviseOnEmitNode"; EmitFlags[EmitFlags["NoSubstitution"] = 4] = "NoSubstitution"; @@ -1633,7 +1639,7 @@ var ts; (function (ts) { // WARNING: The script `configureNightly.ts` uses a regexp to parse out these values. // If changing the text in this section, be sure to test `configureNightly` too. - ts.versionMajorMinor = "2.9"; + ts.versionMajorMinor = "3.0"; /** The version of the TypeScript compiler release */ ts.version = ts.versionMajorMinor + ".0-dev"; })(ts || (ts = {})); @@ -1781,6 +1787,10 @@ var ts; return array ? array.length : 0; } ts.length = length; + function hasEntries(map) { + return !!map && !!map.size; + } + ts.hasEntries = hasEntries; /** * Iterates through 'array' by index and performs the callback on each element of array until the callback * returns a truthy value, then returns that value. @@ -1937,7 +1947,7 @@ var ts; return result; } } - Debug.fail(); + return Debug.fail(); } ts.findMap = findMap; function contains(array, value, equalityComparer) { @@ -2055,11 +2065,6 @@ var ts; return array; } ts.sameMap = sameMap; - /** - * Flattens an array containing a mix of array or non-array elements. - * - * @param array The array to flatten. - */ function flatten(array) { var result; if (array) { @@ -2079,12 +2084,6 @@ var ts; return result; } ts.flatten = flatten; - /** - * Maps an array. If the mapped value is an array, it is spread into the result. - * - * @param array The array to map. - * @param mapfn The callback used to map the result into one or more values. - */ function flatMap(array, mapfn) { var result; if (array) { @@ -2207,13 +2206,6 @@ var ts; }; } ts.singleIterator = singleIterator; - /** - * Maps contiguous spans of values with the same key. - * - * @param array The array to map. - * @param keyfn A callback used to select the key for an element. - * @param mapfn A callback used to map a contiguous chunk of values to a single value. - */ function spanMap(array, keyfn, mapfn) { var result; if (array) { @@ -2331,12 +2323,6 @@ var ts; } return result; } - /** - * Deduplicates an unsorted array. - * @param equalityComparer An optional `EqualityComparer` used to determine if two values are duplicates. - * @param comparer An optional `Comparer` used to sort entries before comparison, though the - * result will remain in the original order in `array`. - */ function deduplicate(array, equalityComparer, comparer) { return !array ? undefined : array.length === 0 ? [] : @@ -2345,9 +2331,6 @@ var ts; deduplicateEquality(array, equalityComparer); } ts.deduplicate = deduplicate; - /** - * Deduplicates an array that has already been sorted. - */ function deduplicateSorted(array, comparer) { if (!array) return undefined; @@ -2490,14 +2473,6 @@ var ts; return result; } ts.sum = sum; - /** - * Appends a value to an array, returning the array. - * - * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array - * is created if `value` was appended. - * @param value The value to append to the array. If `value` is `undefined`, nothing is - * appended. - */ function append(to, value) { if (value === undefined) return to; @@ -2514,16 +2489,6 @@ var ts; function toOffset(array, offset) { return offset < 0 ? array.length + offset : offset; } - /** - * Appends a range of value to an array, returning the array. - * - * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array - * is created if `value` was appended. - * @param from The values to append to the array. If `from` is `undefined`, nothing is - * appended. If an element of `from` is `undefined`, that element is not appended. - * @param start The offset in `from` at which to start copying values. - * @param end The offset in `from` at which to stop copying values (non-inclusive). - */ function addRange(to, from, start, end) { if (from === undefined || from.length === 0) return to; @@ -2539,23 +2504,6 @@ var ts; return to; } ts.addRange = addRange; - /** - * Appends a range of value to begin of an array, returning the array. - * - * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array - * is created if `value` was appended. - * @param from The values to append to the array. If `from` is `undefined`, nothing is - * appended. If an element of `from` is `undefined`, that element is not appended. - */ - function prependRange(to, from) { - if (from === undefined || from.length === 0) - return to; - if (to === undefined) - return from.slice(); - to.unshift.apply(to, from); - return to; - } - ts.prependRange = prependRange; /** * @return Whether the value was added. */ @@ -2853,7 +2801,7 @@ var ts; var arg = args_1[_a]; for (var p in arg) { if (hasProperty(arg, p)) { - t[p] = arg[p]; + t[p] = arg[p]; // TODO: GH#23368 } } } @@ -3012,10 +2960,10 @@ var ts; if (value !== undefined && test(value)) return value; if (value && typeof value.kind === "number") { - Debug.fail("Invalid cast. The supplied " + Debug.showSyntaxKind(value) + " did not pass the test '" + Debug.getFunctionName(test) + "'."); + return Debug.fail("Invalid cast. The supplied " + Debug.showSyntaxKind(value) + " did not pass the test '" + Debug.getFunctionName(test) + "'."); } else { - Debug.fail("Invalid cast. The supplied value did not pass the test '" + Debug.getFunctionName(test) + "'."); + return Debug.fail("Invalid cast. The supplied value did not pass the test '" + Debug.getFunctionName(test) + "'."); } } ts.cast = cast; @@ -3101,7 +3049,7 @@ var ts; } ts.compose = compose; function formatStringFromArgs(text, args, baseIndex) { - baseIndex = baseIndex || 0; + if (baseIndex === void 0) { baseIndex = 0; } return text.replace(/{(\d+)}/g, function (_match, index) { return Debug.assertDefined(args[+index + baseIndex]); }); } ts.formatStringFromArgs = formatStringFromArgs; @@ -3409,7 +3357,9 @@ var ts; return compareValues(a ? 1 : 0, b ? 1 : 0); } ts.compareBooleans = compareBooleans; - function compareMessageText(text1, text2) { + function compareMessageText(t1, t2) { + var text1 = t1; + var text2 = t2; while (text1 && text2) { // We still have both chains. var string1 = isString(text1) ? text1 : text1.messageText; @@ -3446,6 +3396,14 @@ var ts; return moduleResolution; } ts.getEmitModuleResolutionKind = getEmitModuleResolutionKind; + function unreachableCodeIsError(options) { + return options.allowUnreachableCode === false; + } + ts.unreachableCodeIsError = unreachableCodeIsError; + function unusedLabelIsError(options) { + return options.allowUnusedLabels === false; + } + ts.unusedLabelIsError = unusedLabelIsError; function getAreDeclarationMapsEnabled(options) { return !!(options.declaration && options.declarationMap); } @@ -3464,7 +3422,7 @@ var ts; } ts.getEmitDeclarations = getEmitDeclarations; function getStrictOptionValue(compilerOptions, flag) { - return compilerOptions[flag] === undefined ? compilerOptions.strict : compilerOptions[flag]; + return compilerOptions[flag] === undefined ? !!compilerOptions.strict : !!compilerOptions[flag]; } ts.getStrictOptionValue = getStrictOptionValue; function hasZeroOrOneAsteriskCharacter(str) { @@ -3947,6 +3905,23 @@ var ts; return startsWith(str, prefix) ? str.substr(prefix.length) : str; } ts.removePrefix = removePrefix; + function tryRemovePrefix(str, prefix) { + return startsWith(str, prefix) ? str.substring(prefix.length) : undefined; + } + ts.tryRemovePrefix = tryRemovePrefix; + function tryRemoveDirectoryPrefix(path, dirPath) { + var a = tryRemovePrefix(path, dirPath); + if (a === undefined) + return undefined; + switch (a.charCodeAt(0)) { + case 47 /* slash */: + case 92 /* backslash */: + return a.slice(1); + default: + return undefined; + } + } + ts.tryRemoveDirectoryPrefix = tryRemoveDirectoryPrefix; function endsWith(str, suffix) { var expectedPos = str.length - suffix.length; return expectedPos >= 0 && str.indexOf(suffix, expectedPos) === expectedPos; @@ -3956,6 +3931,10 @@ var ts; return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : str; } ts.removeSuffix = removeSuffix; + function tryRemoveSuffix(str, suffix) { + return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : undefined; + } + ts.tryRemoveSuffix = tryRemoveSuffix; function stringContains(str, substring) { return str.indexOf(substring) !== -1; } @@ -3989,7 +3968,7 @@ var ts; /** * Matches any single directory segment unless it is the last segment and a .min.js file * Breakdown: - * [^./] # matches everything up to the first . character (excluding directory seperators) + * [^./] # matches everything up to the first . character (excluding directory separators) * (\\.(?!min\\.js$))? # matches . characters but not if they are part of the .min.js file extension */ singleAsteriskRegexFragment: "([^./]|(\\.(?!min\\.js$))?)*", @@ -4051,7 +4030,7 @@ var ts; var subpattern = ""; var hasWrittenComponent = false; var components = getNormalizedPathComponents(spec, basePath); - var lastComponent = lastOrUndefined(components); + var lastComponent = last(components); if (usage !== "exclude" && lastComponent === "**") { return undefined; } @@ -4115,6 +4094,7 @@ var ts; function replaceWildcardCharacter(match, singleAsteriskRegexFragment) { return match === "*" ? singleAsteriskRegexFragment : match === "?" ? "[^/]" : "\\" + match; } + /** @param path directory of the tsconfig.json */ function getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { path = normalizePath(path); currentDirectory = normalizePath(currentDirectory); @@ -4128,14 +4108,18 @@ var ts; }; } ts.getFileMatcherPatterns = getFileMatcherPatterns; + function getRegexFromPattern(pattern, useCaseSensitiveFileNames) { + return new RegExp(pattern, useCaseSensitiveFileNames ? "" : "i"); + } + ts.getRegexFromPattern = getRegexFromPattern; + /** @param path directory of the tsconfig.json */ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries) { path = normalizePath(path); currentDirectory = normalizePath(currentDirectory); var patterns = getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory); - var regexFlag = useCaseSensitiveFileNames ? "" : "i"; - var includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(function (pattern) { return new RegExp(pattern, regexFlag); }); - var includeDirectoryRegex = patterns.includeDirectoryPattern && new RegExp(patterns.includeDirectoryPattern, regexFlag); - var excludeRegex = patterns.excludePattern && new RegExp(patterns.excludePattern, regexFlag); + var includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(function (pattern) { return getRegexFromPattern(pattern, useCaseSensitiveFileNames); }); + var includeDirectoryRegex = patterns.includeDirectoryPattern && getRegexFromPattern(patterns.includeDirectoryPattern, useCaseSensitiveFileNames); + var excludeRegex = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, useCaseSensitiveFileNames); // Associate an array of results with each include regex. This keeps results in order of the "include" order. // If there are no "includes", then just put everything in results[0]. var results = includeFileRegexes ? includeFileRegexes.map(function () { return []; }) : [[]]; @@ -4277,11 +4261,11 @@ var ts; return scriptKind === 1 /* JS */ || scriptKind === 2 /* JSX */; } function hasJavaScriptFileExtension(fileName) { - return forEach(ts.supportedJavascriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); + return some(ts.supportedJavascriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); } ts.hasJavaScriptFileExtension = hasJavaScriptFileExtension; function hasTypeScriptFileExtension(fileName) { - return forEach(ts.supportedTypeScriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); + return some(ts.supportedTypeScriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); } ts.hasTypeScriptFileExtension = hasTypeScriptFileExtension; function isSupportedSourceFileName(fileName, compilerOptions, extraFileExtensions) { @@ -4487,7 +4471,8 @@ var ts; } Debug.fail = fail; function assertDefined(value, message) { - assert(value !== undefined && value !== null, message); + if (value === undefined || value === null) + return fail(message); return value; } Debug.assertDefined = assertDefined; @@ -4671,10 +4656,7 @@ var ts; */ function extensionFromPath(path) { var ext = tryGetExtensionFromPath(path); - if (ext !== undefined) { - return ext; - } - Debug.fail("File " + path + " has unknown extension."); + return ext !== undefined ? ext : Debug.fail("File " + path + " has unknown extension."); } ts.extensionFromPath = extensionFromPath; function isAnySupportedFileExtension(path) { @@ -5118,6 +5100,7 @@ var ts; return parseInt(version.substring(1, dot)); } ts.getNodeMajorVersion = getNodeMajorVersion; + // TODO: this is used as if it's certainly defined in many places. ts.sys = (function () { // NodeJS detects "\uFEFF" at the start of the string and *replaces* it with the actual // byte order mark from the specified encoding. Using any other byte order mark does @@ -5299,6 +5282,7 @@ var ts; return watchDirectoryRecursively(directoryName, callback); } watchDirectory(directoryName, callback); + return undefined; // TODO: GH#18217 }; } function createNonPollingWatchFile() { @@ -5330,7 +5314,7 @@ var ts; var watcher = fsWatchDirectory(dirName, function (_eventName, relativeFileName) { // When files are deleted from disk, the triggered "rename" event would have a relativefileName of "undefined" var fileName = !ts.isString(relativeFileName) - ? undefined + ? undefined // TODO: GH#18217 : ts.getNormalizedAbsolutePath(relativeFileName, dirName); // Some applications save a working file via rename operations var callbacks = fileWatcherCallbacks.get(toCanonicalName(fileName)); @@ -5579,6 +5563,7 @@ var ts; switch (entryKind) { case 0 /* File */: return stat.isFile(); case 1 /* Directory */: return stat.isDirectory(); + default: return false; } } catch (e) { @@ -5770,6 +5755,7 @@ var ts; The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type: diag(1064, ts.DiagnosticCategory.Error, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1064", "The return type of an async function or method must be the global Promise type."), In_ambient_enum_declarations_member_initializer_must_be_constant_expression: diag(1066, ts.DiagnosticCategory.Error, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."), Unexpected_token_A_constructor_method_accessor_or_property_was_expected: diag(1068, ts.DiagnosticCategory.Error, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."), + Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: diag(1069, ts.DiagnosticCategory.Error, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."), _0_modifier_cannot_appear_on_a_type_member: diag(1070, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_a_type_member_1070", "'{0}' modifier cannot appear on a type member."), _0_modifier_cannot_appear_on_an_index_signature: diag(1071, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_an_index_signature_1071", "'{0}' modifier cannot appear on an index signature."), A_0_modifier_cannot_be_used_with_an_import_declaration: diag(1079, ts.DiagnosticCategory.Error, "A_0_modifier_cannot_be_used_with_an_import_declaration_1079", "A '{0}' modifier cannot be used with an import declaration."), @@ -6221,6 +6207,7 @@ var ts; Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators: diag(2568, ts.DiagnosticCategory.Error, "Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators_2568", "Type '{0}' is not an array type. Use compiler option '--downlevelIteration' to allow iterating of iterators."), Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators: diag(2569, ts.DiagnosticCategory.Error, "Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569", "Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators."), Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await: diag(2570, ts.DiagnosticCategory.Error, "Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await_2570", "Property '{0}' does not exist on type '{1}'. Did you forget to use 'await'?"), + Object_is_of_type_unknown: diag(2571, ts.DiagnosticCategory.Error, "Object_is_of_type_unknown_2571", "Object is of type 'unknown'."), JSX_element_attributes_type_0_may_not_be_a_union_type: diag(2600, ts.DiagnosticCategory.Error, "JSX_element_attributes_type_0_may_not_be_a_union_type_2600", "JSX element attributes type '{0}' may not be a union type."), The_return_type_of_a_JSX_element_constructor_must_return_an_object_type: diag(2601, ts.DiagnosticCategory.Error, "The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601", "The return type of a JSX element constructor must return an object type."), JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist: diag(2602, ts.DiagnosticCategory.Error, "JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602", "JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."), @@ -6274,7 +6261,7 @@ var ts; _0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible: diag(2692, ts.DiagnosticCategory.Error, "_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692", "'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."), _0_only_refers_to_a_type_but_is_being_used_as_a_value_here: diag(2693, ts.DiagnosticCategory.Error, "_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693", "'{0}' only refers to a type, but is being used as a value here."), Namespace_0_has_no_exported_member_1: diag(2694, ts.DiagnosticCategory.Error, "Namespace_0_has_no_exported_member_1_2694", "Namespace '{0}' has no exported member '{1}'."), - Left_side_of_comma_operator_is_unused_and_has_no_side_effects: diag(2695, ts.DiagnosticCategory.Error, "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695", "Left side of comma operator is unused and has no side effects."), + Left_side_of_comma_operator_is_unused_and_has_no_side_effects: diag(2695, ts.DiagnosticCategory.Error, "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695", "Left side of comma operator is unused and has no side effects.", /*reportsUnnecessary*/ true), The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead: diag(2696, ts.DiagnosticCategory.Error, "The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696", "The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"), An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option: diag(2697, ts.DiagnosticCategory.Error, "An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697", "An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."), Spread_types_may_only_be_created_from_object_types: diag(2698, ts.DiagnosticCategory.Error, "Spread_types_may_only_be_created_from_object_types_2698", "Spread types may only be created from object types."), @@ -6304,6 +6291,7 @@ var ts; Cannot_invoke_an_object_which_is_possibly_undefined: diag(2722, ts.DiagnosticCategory.Error, "Cannot_invoke_an_object_which_is_possibly_undefined_2722", "Cannot invoke an object which is possibly 'undefined'."), Cannot_invoke_an_object_which_is_possibly_null_or_undefined: diag(2723, ts.DiagnosticCategory.Error, "Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723", "Cannot invoke an object which is possibly 'null' or 'undefined'."), Module_0_has_no_exported_member_1_Did_you_mean_2: diag(2724, ts.DiagnosticCategory.Error, "Module_0_has_no_exported_member_1_Did_you_mean_2_2724", "Module '{0}' has no exported member '{1}'. Did you mean '{2}'?"), + Class_name_cannot_be_Object_when_targeting_ES5_with_module_0: diag(2725, ts.DiagnosticCategory.Error, "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725", "Class name cannot be 'Object' when targeting ES5 with module {0}."), Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."), Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."), Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."), @@ -6602,6 +6590,7 @@ var ts; _0_is_declared_but_never_used: diag(6196, ts.DiagnosticCategory.Error, "_0_is_declared_but_never_used_6196", "'{0}' is declared but never used.", /*reportsUnnecessary*/ true), Include_modules_imported_with_json_extension: diag(6197, ts.DiagnosticCategory.Message, "Include_modules_imported_with_json_extension_6197", "Include modules imported with '.json' extension"), All_destructured_elements_are_unused: diag(6198, ts.DiagnosticCategory.Error, "All_destructured_elements_are_unused_6198", "All destructured elements are unused.", /*reportsUnnecessary*/ true), + All_variables_are_unused: diag(6199, ts.DiagnosticCategory.Error, "All_variables_are_unused_6199", "All variables are unused.", /*reportsUnnecessary*/ true), Projects_to_reference: diag(6300, ts.DiagnosticCategory.Message, "Projects_to_reference_6300", "Projects to reference"), Enable_project_compilation: diag(6302, ts.DiagnosticCategory.Message, "Enable_project_compilation_6302", "Enable project compilation"), Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0: diag(6202, ts.DiagnosticCategory.Error, "Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202", "Project references may not form a circular graph. Cycle detected: {0}"), @@ -6629,7 +6618,7 @@ var ts; Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: diag(7024, ts.DiagnosticCategory.Error, "Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024", "Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."), Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type: diag(7025, ts.DiagnosticCategory.Error, "Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025", "Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."), JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists: diag(7026, ts.DiagnosticCategory.Error, "JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026", "JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."), - Unreachable_code_detected: diag(7027, ts.DiagnosticCategory.Error, "Unreachable_code_detected_7027", "Unreachable code detected."), + Unreachable_code_detected: diag(7027, ts.DiagnosticCategory.Error, "Unreachable_code_detected_7027", "Unreachable code detected.", /*reportsUnnecessary*/ true), Unused_label: diag(7028, ts.DiagnosticCategory.Error, "Unused_label_7028", "Unused label.", /*reportsUnnecessary*/ true), Fallthrough_case_in_switch: diag(7029, ts.DiagnosticCategory.Error, "Fallthrough_case_in_switch_7029", "Fallthrough case in switch."), Not_all_code_paths_return_a_value: diag(7030, ts.DiagnosticCategory.Error, "Not_all_code_paths_return_a_value_7030", "Not all code paths return a value."), @@ -6710,6 +6699,7 @@ var ts; Implement_inherited_abstract_class: diag(90007, ts.DiagnosticCategory.Message, "Implement_inherited_abstract_class_90007", "Implement inherited abstract class"), Add_0_to_unresolved_variable: diag(90008, ts.DiagnosticCategory.Message, "Add_0_to_unresolved_variable_90008", "Add '{0}.' to unresolved variable"), Remove_destructuring: diag(90009, ts.DiagnosticCategory.Message, "Remove_destructuring_90009", "Remove destructuring"), + Remove_variable_statement: diag(90010, ts.DiagnosticCategory.Message, "Remove_variable_statement_90010", "Remove variable statement"), Import_0_from_module_1: diag(90013, ts.DiagnosticCategory.Message, "Import_0_from_module_1_90013", "Import '{0}' from module \"{1}\""), Change_0_to_1: diag(90014, ts.DiagnosticCategory.Message, "Change_0_to_1_90014", "Change '{0}' to '{1}'"), Add_0_to_existing_import_declaration_from_1: diag(90015, ts.DiagnosticCategory.Message, "Add_0_to_existing_import_declaration_from_1_90015", "Add '{0}' to existing import declaration from \"{1}\""), @@ -6779,6 +6769,9 @@ var ts; Add_missing_typeof: diag(95052, ts.DiagnosticCategory.Message, "Add_missing_typeof_95052", "Add missing 'typeof'"), Remove_unused_label: diag(95053, ts.DiagnosticCategory.Message, "Remove_unused_label_95053", "Remove unused label"), Remove_all_unused_labels: diag(95054, ts.DiagnosticCategory.Message, "Remove_all_unused_labels_95054", "Remove all unused labels"), + Convert_0_to_mapped_object_type: diag(95055, ts.DiagnosticCategory.Message, "Convert_0_to_mapped_object_type_95055", "Convert '{0}' to mapped object type"), + Convert_namespace_import_to_named_imports: diag(95056, ts.DiagnosticCategory.Message, "Convert_namespace_import_to_named_imports_95056", "Convert namespace import to named imports"), + Convert_named_imports_to_namespace_import: diag(95057, ts.DiagnosticCategory.Message, "Convert_named_imports_to_namespace_import_95057", "Convert named imports to namespace import"), }; })(ts || (ts = {})); var ts; @@ -6817,7 +6810,7 @@ var ts; "false": 86 /* FalseKeyword */, "finally": 87 /* FinallyKeyword */, "for": 88 /* ForKeyword */, - "from": 142 /* FromKeyword */, + "from": 143 /* FromKeyword */, "function": 89 /* FunctionKeyword */, "get": 125 /* GetKeyword */, "if": 90 /* IfKeyword */, @@ -6843,7 +6836,7 @@ var ts; "public": 114 /* PublicKeyword */, "readonly": 132 /* ReadonlyKeyword */, "require": 133 /* RequireKeyword */, - "global": 143 /* GlobalKeyword */, + "global": 144 /* GlobalKeyword */, "return": 96 /* ReturnKeyword */, "set": 136 /* SetKeyword */, "static": 115 /* StaticKeyword */, @@ -6859,6 +6852,7 @@ var ts; "typeof": 103 /* TypeOfKeyword */, "undefined": 140 /* UndefinedKeyword */, "unique": 141 /* UniqueKeyword */, + "unknown": 142 /* UnknownKeyword */, "var": 104 /* VarKeyword */, "void": 105 /* VoidKeyword */, "while": 106 /* WhileKeyword */, @@ -6866,7 +6860,7 @@ var ts; "yield": 116 /* YieldKeyword */, "async": 120 /* AsyncKeyword */, "await": 121 /* AwaitKeyword */, - "of": 144 /* OfKeyword */, + "of": 145 /* OfKeyword */, "{": 17 /* OpenBraceToken */, "}": 18 /* CloseBraceToken */, "(": 19 /* OpenParenToken */, @@ -7485,8 +7479,9 @@ var ts; } ts.isIdentifierText = isIdentifierText; // Creates a scanner over a (possibly unspecified) range of a piece of text. - function createScanner(languageVersion, skipTrivia, languageVariant, text, onError, start, length) { + function createScanner(languageVersion, skipTrivia, languageVariant, textInitial, onError, start, length) { if (languageVariant === void 0) { languageVariant = 0 /* Standard */; } + var text = textInitial; // Current position (end position of text of current token) var pos; // end of text @@ -7942,7 +7937,7 @@ var ts; var isPreviousTokenSeparator = false; while (true) { var ch = text.charCodeAt(pos); - // Numeric seperators are allowed anywhere within a numeric literal, except not at the beginning, or following another separator + // Numeric separators are allowed anywhere within a numeric literal, except not at the beginning, or following another separator if (ch === 95 /* _ */) { tokenFlags |= 512 /* ContainsSeparator */; if (separatorAllowed) { @@ -8758,7 +8753,7 @@ var ts; } ts.moduleResolutionIsEqualTo = moduleResolutionIsEqualTo; function packageIdIsEqual(a, b) { - return a === b || a && b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version; + return a === b || !!a && !!b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version; } function packageIdToString(_a) { var name = _a.name, subModuleName = _a.subModuleName, version = _a.version; @@ -8809,7 +8804,7 @@ var ts; } } function getSourceFileOfNode(node) { - while (node && node.kind !== 273 /* SourceFile */) { + while (node && node.kind !== 274 /* SourceFile */) { node = node.parent; } return node; @@ -8817,11 +8812,11 @@ var ts; ts.getSourceFileOfNode = getSourceFileOfNode; function isStatementWithLocals(node) { switch (node.kind) { - case 212 /* Block */: - case 240 /* CaseBlock */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 213 /* Block */: + case 241 /* CaseBlock */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: return true; } return false; @@ -8866,11 +8861,11 @@ var ts; } ts.getEndLinePosition = getEndLinePosition; /** - * Returns a value indicating whether a name is unique globally or within the current file + * Returns a value indicating whether a name is unique globally or within the current file. + * Note: This does not consider whether a name appears as a free identifier or not, so at the expression `x.y` this includes both `x` and `y`. */ - function isFileLevelUniqueName(currentSourceFile, name, hasGlobalName) { - return !(hasGlobalName && hasGlobalName(name)) - && !currentSourceFile.identifiers.has(name); + function isFileLevelUniqueName(sourceFile, name, hasGlobalName) { + return !(hasGlobalName && hasGlobalName(name)) && !sourceFile.identifiers.has(name); } ts.isFileLevelUniqueName = isFileLevelUniqueName; // Returns true if this node is missing from the actual source code. A 'missing' node is different @@ -8896,6 +8891,27 @@ var ts; return !nodeIsMissing(node); } ts.nodeIsPresent = nodeIsPresent; + /** + * Appends a range of value to begin of an array, returning the array. + * + * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array + * is created if `value` was appended. + * @param from The values to append to the array. If `from` is `undefined`, nothing is + * appended. If an element of `from` is `undefined`, that element is not appended. + */ + function prependStatements(to, from) { + if (from === undefined || from.length === 0) + return to; + if (to === undefined) + return from.slice(); + var prologue = to.length && isPrologueDirective(to[0]) && to.shift(); + to.unshift.apply(to, from); + if (prologue) { + to.unshift(prologue); + } + return to; + } + ts.prependStatements = prependStatements; /** * Determine if the given comment is a triple-slash * @@ -8938,7 +8954,7 @@ var ts; // the syntax list itself considers them as normal trivia. Therefore if we simply skip // trivia for the list, we may have skipped the JSDocComment as well. So we should process its // first child to determine the actual position of its first token. - if (node.kind === 298 /* SyntaxList */ && node._children.length > 0) { + if (node.kind === 299 /* SyntaxList */ && node._children.length > 0) { return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc); } return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.pos); @@ -8985,7 +9001,7 @@ var ts; */ function getEmitFlags(node) { var emitNode = node.emitNode; - return emitNode && emitNode.flags; + return emitNode && emitNode.flags || 0; } ts.getEmitFlags = getEmitFlags; function getLiteralText(node, sourceFile) { @@ -9019,7 +9035,7 @@ var ts; case 12 /* RegularExpressionLiteral */: return node.text; } - ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); + return ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); } ts.getLiteralText = getLiteralText; function getTextOfConstantValue(value) { @@ -9052,7 +9068,7 @@ var ts; ts.isBlockOrCatchScoped = isBlockOrCatchScoped; function isCatchClauseVariableDeclarationOrBindingElement(declaration) { var node = getRootDeclaration(declaration); - return node.kind === 231 /* VariableDeclaration */ && node.parent.kind === 268 /* CatchClause */; + return node.kind === 232 /* VariableDeclaration */ && node.parent.kind === 269 /* CatchClause */; } ts.isCatchClauseVariableDeclarationOrBindingElement = isCatchClauseVariableDeclarationOrBindingElement; function isAmbientModule(node) { @@ -9074,11 +9090,11 @@ var ts; ts.isShorthandAmbientModuleSymbol = isShorthandAmbientModuleSymbol; function isShorthandAmbientModule(node) { // The only kind of module that can be missing a body is a shorthand ambient module. - return node && node.kind === 238 /* ModuleDeclaration */ && (!node.body); + return node && node.kind === 239 /* ModuleDeclaration */ && (!node.body); } function isBlockScopedContainerTopLevel(node) { - return node.kind === 273 /* SourceFile */ || - node.kind === 238 /* ModuleDeclaration */ || + return node.kind === 274 /* SourceFile */ || + node.kind === 239 /* ModuleDeclaration */ || ts.isFunctionLike(node); } ts.isBlockScopedContainerTopLevel = isBlockScopedContainerTopLevel; @@ -9095,9 +9111,9 @@ var ts; // - defined in the top level scope and source file is an external module // - defined inside ambient module declaration located in the top level scope and source file not an external module switch (node.parent.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: return ts.isExternalModule(node.parent); - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return isAmbientModule(node.parent.parent) && ts.isSourceFile(node.parent.parent.parent) && !ts.isExternalModule(node.parent.parent.parent); } return false; @@ -9109,53 +9125,53 @@ var ts; ts.isEffectiveExternalModule = isEffectiveExternalModule; function isBlockScope(node, parentNode) { switch (node.kind) { - case 273 /* SourceFile */: - case 240 /* CaseBlock */: - case 268 /* CatchClause */: - case 238 /* ModuleDeclaration */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 274 /* SourceFile */: + case 241 /* CaseBlock */: + case 269 /* CatchClause */: + case 239 /* ModuleDeclaration */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return true; - case 212 /* Block */: + case 213 /* Block */: // function block is not considered block-scope container // see comment in binder.ts: bind(...), case for SyntaxKind.Block - return parentNode && !ts.isFunctionLike(parentNode); + return !ts.isFunctionLike(parentNode); } return false; } ts.isBlockScope = isBlockScope; function isDeclarationWithTypeParameters(node) { switch (node.kind) { - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 152 /* MethodSignature */: - case 159 /* IndexSignature */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 283 /* JSDocFunctionType */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 295 /* JSDocTemplateTag */: - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 291 /* JSDocCallbackTag */: - case 296 /* JSDocTypedefTag */: - case 287 /* JSDocSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 153 /* MethodSignature */: + case 160 /* IndexSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 284 /* JSDocFunctionType */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 296 /* JSDocTemplateTag */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 292 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 288 /* JSDocSignature */: return true; default: ts.assertTypeIsNever(node); @@ -9165,8 +9181,8 @@ var ts; ts.isDeclarationWithTypeParameters = isDeclarationWithTypeParameters; function isAnyImportSyntax(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: return true; default: return false; @@ -9175,15 +9191,15 @@ var ts; ts.isAnyImportSyntax = isAnyImportSyntax; function isLateVisibilityPaintedStatement(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 213 /* VariableStatement */: - case 234 /* ClassDeclaration */: - case 233 /* FunctionDeclaration */: - case 238 /* ModuleDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 214 /* VariableStatement */: + case 235 /* ClassDeclaration */: + case 234 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: return true; default: return false; @@ -9218,8 +9234,8 @@ var ts; case 9 /* StringLiteral */: case 8 /* NumericLiteral */: return escapeLeadingUnderscores(name.text); - case 146 /* ComputedPropertyName */: - return isStringOrNumericLiteral(name.expression) ? escapeLeadingUnderscores(name.expression.text) : undefined; + case 147 /* ComputedPropertyName */: + return isStringOrNumericLiteral(name.expression) ? escapeLeadingUnderscores(name.expression.text) : undefined; // TODO: GH#18217 Almost all uses of this assume the result to be defined! default: ts.Debug.assertNever(name); } @@ -9229,10 +9245,12 @@ var ts; switch (name.kind) { case 71 /* Identifier */: return getFullWidth(name) === 0 ? ts.idText(name) : getTextOfNode(name); - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return entityNameToString(name.left) + "." + entityNameToString(name.right); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return entityNameToString(name.expression) + "." + entityNameToString(name.name); + default: + throw ts.Debug.assertNever(name); } } ts.entityNameToString = entityNameToString; @@ -9251,11 +9269,6 @@ var ts; return ts.createFileDiagnostic(sourceFile, span.start, span.length, message, arg0, arg1, arg2, arg3); } ts.createDiagnosticForNodeInSourceFile = createDiagnosticForNodeInSourceFile; - function createDiagnosticForNodeSpan(sourceFile, startNode, endNode, message, arg0, arg1, arg2, arg3) { - var start = ts.skipTrivia(sourceFile.text, startNode.pos); - return ts.createFileDiagnostic(sourceFile, start, endNode.end - start, message, arg0, arg1, arg2, arg3); - } - ts.createDiagnosticForNodeSpan = createDiagnosticForNodeSpan; function createDiagnosticForNodeFromMessageChain(node, messageChain) { var sourceFile = getSourceFileOfNode(node); var span = getErrorSpanForNode(sourceFile, node); @@ -9278,7 +9291,7 @@ var ts; ts.getSpanOfTokenAtPosition = getSpanOfTokenAtPosition; function getErrorSpanForArrowFunction(sourceFile, node) { var pos = ts.skipTrivia(sourceFile.text, node.pos); - if (node.body && node.body.kind === 212 /* Block */) { + if (node.body && node.body.kind === 213 /* Block */) { var startLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.pos).line; var endLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.end).line; if (startLine < endLine) { @@ -9292,7 +9305,7 @@ var ts; function getErrorSpanForNode(sourceFile, node) { var errorNode = node; switch (node.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: var pos_1 = ts.skipTrivia(sourceFile.text, 0, /*stopAfterLineBreak*/ false); if (pos_1 === sourceFile.text.length) { // file is empty - return span for the beginning of the file @@ -9301,25 +9314,25 @@ var ts; return getSpanOfTokenAtPosition(sourceFile, pos_1); // This list is a work in progress. Add missing node kinds to improve their error // spans. - case 231 /* VariableDeclaration */: - case 181 /* BindingElement */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 272 /* EnumMember */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 236 /* TypeAliasDeclaration */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 232 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 273 /* EnumMember */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 237 /* TypeAliasDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: errorNode = node.name; break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return getErrorSpanForArrowFunction(sourceFile, node); } if (errorNode === undefined) { @@ -9352,7 +9365,7 @@ var ts; } ts.isJsonSourceFile = isJsonSourceFile; function isConstEnumDeclaration(node) { - return node.kind === 237 /* EnumDeclaration */ && isConst(node); + return node.kind === 238 /* EnumDeclaration */ && isConst(node); } ts.isConstEnumDeclaration = isConstEnumDeclaration; function isConst(node) { @@ -9365,21 +9378,21 @@ var ts; } ts.isLet = isLet; function isSuperCall(n) { - return n.kind === 186 /* CallExpression */ && n.expression.kind === 97 /* SuperKeyword */; + return n.kind === 187 /* CallExpression */ && n.expression.kind === 97 /* SuperKeyword */; } ts.isSuperCall = isSuperCall; function isImportCall(n) { - return n.kind === 186 /* CallExpression */ && n.expression.kind === 91 /* ImportKeyword */; + return n.kind === 187 /* CallExpression */ && n.expression.kind === 91 /* ImportKeyword */; } ts.isImportCall = isImportCall; function isLiteralImportTypeNode(n) { - return n.kind === 178 /* ImportType */ && - n.argument.kind === 177 /* LiteralType */ && + return n.kind === 179 /* ImportType */ && + n.argument.kind === 178 /* LiteralType */ && ts.isStringLiteral(n.argument.literal); } ts.isLiteralImportTypeNode = isLiteralImportTypeNode; function isPrologueDirective(node) { - return node.kind === 215 /* ExpressionStatement */ + return node.kind === 216 /* ExpressionStatement */ && node.expression.kind === 9 /* StringLiteral */; } ts.isPrologueDirective = isPrologueDirective; @@ -9388,11 +9401,11 @@ var ts; } ts.getLeadingCommentRangesOfNode = getLeadingCommentRangesOfNode; function getJSDocCommentRanges(node, text) { - var commentRanges = (node.kind === 148 /* Parameter */ || - node.kind === 147 /* TypeParameter */ || - node.kind === 191 /* FunctionExpression */ || - node.kind === 192 /* ArrowFunction */ || - node.kind === 190 /* ParenthesizedExpression */) ? + var commentRanges = (node.kind === 149 /* Parameter */ || + node.kind === 148 /* TypeParameter */ || + node.kind === 192 /* FunctionExpression */ || + node.kind === 193 /* ArrowFunction */ || + node.kind === 191 /* ParenthesizedExpression */) ? ts.concatenate(ts.getTrailingCommentRanges(text, node.pos), ts.getLeadingCommentRanges(text, node.pos)) : ts.getLeadingCommentRanges(text, node.pos); // True if the comment starts with '/**' but not if it is '/**/' @@ -9408,11 +9421,12 @@ var ts; ts.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*/; var defaultLibReferenceRegEx = /^(\/\/\/\s*/; function isPartOfTypeNode(node) { - if (160 /* FirstTypeNode */ <= node.kind && node.kind <= 178 /* LastTypeNode */) { + if (161 /* FirstTypeNode */ <= node.kind && node.kind <= 179 /* LastTypeNode */) { return true; } switch (node.kind) { case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 134 /* NumberKeyword */: case 137 /* StringKeyword */: case 122 /* BooleanKeyword */: @@ -9421,32 +9435,32 @@ var ts; case 131 /* NeverKeyword */: return true; case 105 /* VoidKeyword */: - return node.parent.kind !== 195 /* VoidExpression */; - case 206 /* ExpressionWithTypeArguments */: + return node.parent.kind !== 196 /* VoidExpression */; + case 207 /* ExpressionWithTypeArguments */: return !isExpressionWithTypeArgumentsInClassExtendsClause(node); - case 147 /* TypeParameter */: - return node.parent.kind === 176 /* MappedType */ || node.parent.kind === 171 /* InferType */; + case 148 /* TypeParameter */: + return node.parent.kind === 177 /* MappedType */ || node.parent.kind === 172 /* InferType */; // Identifiers and qualified names may be type nodes, depending on their context. Climb // above them to find the lowest container case 71 /* Identifier */: // If the identifier is the RHS of a qualified name, then it's a type iff its parent is. - if (node.parent.kind === 145 /* QualifiedName */ && node.parent.right === node) { + if (node.parent.kind === 146 /* QualifiedName */ && node.parent.right === node) { node = node.parent; } - else if (node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.name === node) { + else if (node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.name === node) { node = node.parent; } // At this point, node is either a qualified name or an identifier - ts.Debug.assert(node.kind === 71 /* Identifier */ || node.kind === 145 /* QualifiedName */ || node.kind === 184 /* PropertyAccessExpression */, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); + ts.Debug.assert(node.kind === 71 /* Identifier */ || node.kind === 146 /* QualifiedName */ || node.kind === 185 /* PropertyAccessExpression */, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); // falls through - case 145 /* QualifiedName */: - case 184 /* PropertyAccessExpression */: - case 99 /* ThisKeyword */: + case 146 /* QualifiedName */: + case 185 /* PropertyAccessExpression */: + case 99 /* ThisKeyword */: { var parent = node.parent; - if (parent.kind === 164 /* TypeQuery */) { + if (parent.kind === 165 /* TypeQuery */) { return false; } - if (parent.kind === 178 /* ImportType */) { + if (parent.kind === 179 /* ImportType */) { return !parent.isTypeOf; } // Do not recursively call isPartOfTypeNode on the parent. In the example: @@ -9455,41 +9469,42 @@ var ts; // // Calling isPartOfTypeNode would consider the qualified name A.B a type node. // Only C and A.B.C are type nodes. - if (160 /* FirstTypeNode */ <= parent.kind && parent.kind <= 178 /* LastTypeNode */) { + if (161 /* FirstTypeNode */ <= parent.kind && parent.kind <= 179 /* LastTypeNode */) { return true; } switch (parent.kind) { - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return !isExpressionWithTypeArgumentsInClassExtendsClause(parent); - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return node === parent.constraint; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 148 /* Parameter */: - case 231 /* VariableDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 149 /* Parameter */: + case 232 /* VariableDeclaration */: return node === parent.type; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return node === parent.type; - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: return node === parent.type; - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: return node === parent.type; - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: return ts.contains(parent.typeArguments, node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: // TODO (drosen): TaggedTemplateExpressions may eventually support type arguments. return false; } + } } return false; } @@ -9510,23 +9525,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return visitor(node); - case 240 /* CaseBlock */: - case 212 /* Block */: - case 216 /* IfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 225 /* WithStatement */: - case 226 /* SwitchStatement */: - case 265 /* CaseClause */: - case 266 /* DefaultClause */: - case 227 /* LabeledStatement */: - case 229 /* TryStatement */: - case 268 /* CatchClause */: + case 241 /* CaseBlock */: + case 213 /* Block */: + case 217 /* IfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 226 /* WithStatement */: + case 227 /* SwitchStatement */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: + case 228 /* LabeledStatement */: + case 230 /* TryStatement */: + case 269 /* CatchClause */: return ts.forEachChild(node, traverse); } } @@ -9536,26 +9551,26 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: visitor(node); var operand = node.expression; if (operand) { traverse(operand); } return; - case 237 /* EnumDeclaration */: - case 235 /* InterfaceDeclaration */: - case 238 /* ModuleDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 238 /* EnumDeclaration */: + case 236 /* InterfaceDeclaration */: + case 239 /* ModuleDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: // These are not allowed inside a generator now, but eventually they may be allowed // as local types. Regardless, any yield statements contained within them should be // skipped in this traversal. return; default: if (ts.isFunctionLike(node)) { - if (node.name && node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name && node.name.kind === 147 /* ComputedPropertyName */) { // Note that we will not include methods/accessors of a class because they would require // first descending into the class. This is by design. traverse(node.name.expression); @@ -9578,10 +9593,10 @@ var ts; * @param node The type node. */ function getRestParameterElementType(node) { - if (node && node.kind === 166 /* ArrayType */) { + if (node && node.kind === 167 /* ArrayType */) { return node.elementType; } - else if (node && node.kind === 161 /* TypeReference */) { + else if (node && node.kind === 162 /* TypeReference */) { return ts.singleOrUndefined(node.typeArguments); } else { @@ -9591,12 +9606,12 @@ var ts; ts.getRestParameterElementType = getRestParameterElementType; function getMembersOfDeclaration(node) { switch (node.kind) { - case 235 /* InterfaceDeclaration */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 165 /* TypeLiteral */: + case 236 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 166 /* TypeLiteral */: return node.members; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return node.properties; } } @@ -9604,14 +9619,14 @@ var ts; function isVariableLike(node) { if (node) { switch (node.kind) { - case 181 /* BindingElement */: - case 272 /* EnumMember */: - case 148 /* Parameter */: - case 269 /* PropertyAssignment */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 270 /* ShorthandPropertyAssignment */: - case 231 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 273 /* EnumMember */: + case 149 /* Parameter */: + case 270 /* PropertyAssignment */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 271 /* ShorthandPropertyAssignment */: + case 232 /* VariableDeclaration */: return true; } } @@ -9623,8 +9638,8 @@ var ts; } ts.isVariableLikeOrAccessor = isVariableLikeOrAccessor; function isVariableDeclarationInVariableStatement(node) { - return node.parent.kind === 232 /* VariableDeclarationList */ - && node.parent.parent.kind === 213 /* VariableStatement */; + return node.parent.kind === 233 /* VariableDeclarationList */ + && node.parent.parent.kind === 214 /* VariableStatement */; } ts.isVariableDeclarationInVariableStatement = isVariableDeclarationInVariableStatement; function isValidESSymbolDeclaration(node) { @@ -9635,13 +9650,13 @@ var ts; ts.isValidESSymbolDeclaration = isValidESSymbolDeclaration; function introducesArgumentsExoticObject(node) { switch (node.kind) { - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: return true; } return false; @@ -9652,7 +9667,7 @@ var ts; if (beforeUnwrapLabelCallback) { beforeUnwrapLabelCallback(node); } - if (node.statement.kind !== 227 /* LabeledStatement */) { + if (node.statement.kind !== 228 /* LabeledStatement */) { return node.statement; } node = node.statement; @@ -9660,17 +9675,17 @@ var ts; } ts.unwrapInnermostStatementOfLabel = unwrapInnermostStatementOfLabel; function isFunctionBlock(node) { - return node && node.kind === 212 /* Block */ && ts.isFunctionLike(node.parent); + return node && node.kind === 213 /* Block */ && ts.isFunctionLike(node.parent); } ts.isFunctionBlock = isFunctionBlock; function isObjectLiteralMethod(node) { - return node && node.kind === 153 /* MethodDeclaration */ && node.parent.kind === 183 /* ObjectLiteralExpression */; + return node && node.kind === 154 /* MethodDeclaration */ && node.parent.kind === 184 /* ObjectLiteralExpression */; } ts.isObjectLiteralMethod = isObjectLiteralMethod; function isObjectLiteralOrClassExpressionMethod(node) { - return node.kind === 153 /* MethodDeclaration */ && - (node.parent.kind === 183 /* ObjectLiteralExpression */ || - node.parent.kind === 204 /* ClassExpression */); + return node.kind === 154 /* MethodDeclaration */ && + (node.parent.kind === 184 /* ObjectLiteralExpression */ || + node.parent.kind === 205 /* ClassExpression */); } ts.isObjectLiteralOrClassExpressionMethod = isObjectLiteralOrClassExpressionMethod; function isIdentifierTypePredicate(predicate) { @@ -9682,31 +9697,35 @@ var ts; } ts.isThisTypePredicate = isThisTypePredicate; function getPropertyAssignment(objectLiteral, key, key2) { - return ts.filter(objectLiteral.properties, function (property) { - if (property.kind === 269 /* PropertyAssignment */) { + return objectLiteral.properties.filter(function (property) { + if (property.kind === 270 /* PropertyAssignment */) { var propName = getTextOfPropertyName(property.name); - return key === propName || (key2 && key2 === propName); + return key === propName || (!!key2 && key2 === propName); } + return false; }); } ts.getPropertyAssignment = getPropertyAssignment; function getTsConfigObjectLiteralExpression(tsConfigSourceFile) { if (tsConfigSourceFile && tsConfigSourceFile.statements.length) { var expression = tsConfigSourceFile.statements[0].expression; - return ts.isObjectLiteralExpression(expression) && expression; + return ts.tryCast(expression, ts.isObjectLiteralExpression); } } ts.getTsConfigObjectLiteralExpression = getTsConfigObjectLiteralExpression; function getTsConfigPropArrayElementValue(tsConfigSourceFile, propKey, elementValue) { - var jsonObjectLiteral = getTsConfigObjectLiteralExpression(tsConfigSourceFile); - return jsonObjectLiteral && - ts.firstDefined(getPropertyAssignment(jsonObjectLiteral, propKey), function (property) { - return ts.isArrayLiteralExpression(property.initializer) ? - ts.find(property.initializer.elements, function (element) { return ts.isStringLiteral(element) && element.text === elementValue; }) : - undefined; - }); + return ts.firstDefined(getTsConfigPropArray(tsConfigSourceFile, propKey), function (property) { + return ts.isArrayLiteralExpression(property.initializer) ? + ts.find(property.initializer.elements, function (element) { return ts.isStringLiteral(element) && element.text === elementValue; }) : + undefined; + }); } ts.getTsConfigPropArrayElementValue = getTsConfigPropArrayElementValue; + function getTsConfigPropArray(tsConfigSourceFile, propKey) { + var jsonObjectLiteral = getTsConfigObjectLiteralExpression(tsConfigSourceFile); + return jsonObjectLiteral ? getPropertyAssignment(jsonObjectLiteral, propKey) : ts.emptyArray; + } + ts.getTsConfigPropArray = getTsConfigPropArray; function getContainingFunction(node) { return ts.findAncestor(node.parent, ts.isFunctionLike); } @@ -9716,13 +9735,14 @@ var ts; } ts.getContainingClass = getContainingClass; function getThisContainer(node, includeArrowFunctions) { + ts.Debug.assert(node.kind !== 274 /* SourceFile */); while (true) { node = node.parent; if (!node) { - return undefined; + return ts.Debug.fail(); // If we never pass in a SourceFile, this should be unreachable, since we'll stop when we reach that. } switch (node.kind) { - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: // If the grandparent node is an object literal (as opposed to a class), // then the computed property is not a 'this' container. // A computed property name in a class needs to be a this container @@ -9737,9 +9757,9 @@ var ts; // the *body* of the container. node = node.parent; break; - case 149 /* Decorator */: + case 150 /* Decorator */: // Decorators are always applied outside of the body of a class or method. - if (node.parent.kind === 148 /* Parameter */ && ts.isClassElement(node.parent.parent)) { + if (node.parent.kind === 149 /* Parameter */ && ts.isClassElement(node.parent.parent)) { // If the decorator's parent is a Parameter, we resolve the this container from // the grandparent class declaration. node = node.parent.parent; @@ -9750,26 +9770,26 @@ var ts; node = node.parent; } break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: if (!includeArrowFunctions) { continue; } // falls through - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 238 /* ModuleDeclaration */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 237 /* EnumDeclaration */: - case 273 /* SourceFile */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 239 /* ModuleDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 238 /* EnumDeclaration */: + case 274 /* SourceFile */: return node; } } @@ -9779,9 +9799,9 @@ var ts; var container = getThisContainer(node, /*includeArrowFunctions*/ false); if (container) { switch (container.kind) { - case 154 /* Constructor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 155 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: return container; } } @@ -9803,27 +9823,27 @@ var ts; return node; } switch (node.kind) { - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: node = node.parent; break; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: if (!stopOnFunctions) { continue; } // falls through - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return node; - case 149 /* Decorator */: + case 150 /* Decorator */: // Decorators are always applied outside of the body of a class or method. - if (node.parent.kind === 148 /* Parameter */ && ts.isClassElement(node.parent.parent)) { + if (node.parent.kind === 149 /* Parameter */ && ts.isClassElement(node.parent.parent)) { // If the decorator's parent is a Parameter, we resolve the this container from // the grandparent class declaration. node = node.parent.parent; @@ -9839,14 +9859,14 @@ var ts; } ts.getSuperContainer = getSuperContainer; function getImmediatelyInvokedFunctionExpression(func) { - if (func.kind === 191 /* FunctionExpression */ || func.kind === 192 /* ArrowFunction */) { + if (func.kind === 192 /* FunctionExpression */ || func.kind === 193 /* ArrowFunction */) { var prev = func; var parent = func.parent; - while (parent.kind === 190 /* ParenthesizedExpression */) { + while (parent.kind === 191 /* ParenthesizedExpression */) { prev = parent; parent = parent.parent; } - if (parent.kind === 186 /* CallExpression */ && parent.expression === prev) { + if (parent.kind === 187 /* CallExpression */ && parent.expression === prev) { return parent; } } @@ -9857,7 +9877,7 @@ var ts; */ function isSuperProperty(node) { var kind = node.kind; - return (kind === 184 /* PropertyAccessExpression */ || kind === 185 /* ElementAccessExpression */) + return (kind === 185 /* PropertyAccessExpression */ || kind === 186 /* ElementAccessExpression */) && node.expression.kind === 97 /* SuperKeyword */; } ts.isSuperProperty = isSuperProperty; @@ -9866,20 +9886,20 @@ var ts; */ function isThisProperty(node) { var kind = node.kind; - return (kind === 184 /* PropertyAccessExpression */ || kind === 185 /* ElementAccessExpression */) + return (kind === 185 /* PropertyAccessExpression */ || kind === 186 /* ElementAccessExpression */) && node.expression.kind === 99 /* ThisKeyword */; } ts.isThisProperty = isThisProperty; function getEntityNameFromTypeNode(node) { switch (node.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return node.typeName; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return isEntityNameExpression(node.expression) ? node.expression : undefined; case 71 /* Identifier */: - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return node; } return undefined; @@ -9887,10 +9907,10 @@ var ts; ts.getEntityNameFromTypeNode = getEntityNameFromTypeNode; function getInvokedExpression(node) { switch (node.kind) { - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return node.tag; - case 256 /* JsxOpeningElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: return node.tagName; default: return node.expression; @@ -9899,53 +9919,55 @@ var ts; ts.getInvokedExpression = getInvokedExpression; function nodeCanBeDecorated(node, parent, grandparent) { switch (node.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: // classes are valid targets return true; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: // property declarations are valid if their parent is a class declaration. - return parent.kind === 234 /* ClassDeclaration */; - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 153 /* MethodDeclaration */: + return parent.kind === 235 /* ClassDeclaration */; + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 154 /* MethodDeclaration */: // if this method has a body and its parent is a class declaration, this is a valid target. return node.body !== undefined - && parent.kind === 234 /* ClassDeclaration */; - case 148 /* Parameter */: + && parent.kind === 235 /* ClassDeclaration */; + case 149 /* Parameter */: // if the parameter's parent has a body and its grandparent is a class declaration, this is a valid target; return parent.body !== undefined - && (parent.kind === 154 /* Constructor */ - || parent.kind === 153 /* MethodDeclaration */ - || parent.kind === 156 /* SetAccessor */) - && grandparent.kind === 234 /* ClassDeclaration */; + && (parent.kind === 155 /* Constructor */ + || parent.kind === 154 /* MethodDeclaration */ + || parent.kind === 157 /* SetAccessor */) + && grandparent.kind === 235 /* ClassDeclaration */; } return false; } ts.nodeCanBeDecorated = nodeCanBeDecorated; function nodeIsDecorated(node, parent, grandparent) { return node.decorators !== undefined - && nodeCanBeDecorated(node, parent, grandparent); + && nodeCanBeDecorated(node, parent, grandparent); // TODO: GH#18217 } ts.nodeIsDecorated = nodeIsDecorated; function nodeOrChildIsDecorated(node, parent, grandparent) { - return nodeIsDecorated(node, parent, grandparent) || childIsDecorated(node, parent); + return nodeIsDecorated(node, parent, grandparent) || childIsDecorated(node, parent); // TODO: GH#18217 } ts.nodeOrChildIsDecorated = nodeOrChildIsDecorated; function childIsDecorated(node, parent) { switch (node.kind) { - case 234 /* ClassDeclaration */: - return ts.forEach(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); - case 153 /* MethodDeclaration */: - case 156 /* SetAccessor */: - return ts.forEach(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); + case 235 /* ClassDeclaration */: + return ts.some(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); // TODO: GH#18217 + case 154 /* MethodDeclaration */: + case 157 /* SetAccessor */: + return ts.some(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); // TODO: GH#18217 + default: + return false; } } ts.childIsDecorated = childIsDecorated; function isJSXTagName(node) { var parent = node.parent; - if (parent.kind === 256 /* JsxOpeningElement */ || - parent.kind === 255 /* JsxSelfClosingElement */ || - parent.kind === 257 /* JsxClosingElement */) { + if (parent.kind === 257 /* JsxOpeningElement */ || + parent.kind === 256 /* JsxSelfClosingElement */ || + parent.kind === 258 /* JsxClosingElement */) { return parent.tagName === node; } return false; @@ -9958,45 +9980,45 @@ var ts; case 101 /* TrueKeyword */: case 86 /* FalseKeyword */: case 12 /* RegularExpressionLiteral */: - case 182 /* ArrayLiteralExpression */: - case 183 /* ObjectLiteralExpression */: - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 188 /* TaggedTemplateExpression */: - case 207 /* AsExpression */: - case 189 /* TypeAssertionExpression */: - case 208 /* NonNullExpression */: - case 190 /* ParenthesizedExpression */: - case 191 /* FunctionExpression */: - case 204 /* ClassExpression */: - case 192 /* ArrowFunction */: - case 195 /* VoidExpression */: - case 193 /* DeleteExpression */: - case 194 /* TypeOfExpression */: - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: - case 199 /* BinaryExpression */: - case 200 /* ConditionalExpression */: - case 203 /* SpreadElement */: - case 201 /* TemplateExpression */: + case 183 /* ArrayLiteralExpression */: + case 184 /* ObjectLiteralExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 189 /* TaggedTemplateExpression */: + case 208 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 209 /* NonNullExpression */: + case 191 /* ParenthesizedExpression */: + case 192 /* FunctionExpression */: + case 205 /* ClassExpression */: + case 193 /* ArrowFunction */: + case 196 /* VoidExpression */: + case 194 /* DeleteExpression */: + case 195 /* TypeOfExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: + case 200 /* BinaryExpression */: + case 201 /* ConditionalExpression */: + case 204 /* SpreadElement */: + case 202 /* TemplateExpression */: case 13 /* NoSubstitutionTemplateLiteral */: - case 205 /* OmittedExpression */: - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: - case 258 /* JsxFragment */: - case 202 /* YieldExpression */: - case 196 /* AwaitExpression */: - case 209 /* MetaProperty */: + case 206 /* OmittedExpression */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: + case 259 /* JsxFragment */: + case 203 /* YieldExpression */: + case 197 /* AwaitExpression */: + case 210 /* MetaProperty */: return true; - case 145 /* QualifiedName */: - while (node.parent.kind === 145 /* QualifiedName */) { + case 146 /* QualifiedName */: + while (node.parent.kind === 146 /* QualifiedName */) { node = node.parent; } - return node.parent.kind === 164 /* TypeQuery */ || isJSXTagName(node); + return node.parent.kind === 165 /* TypeQuery */ || isJSXTagName(node); case 71 /* Identifier */: - if (node.parent.kind === 164 /* TypeQuery */ || isJSXTagName(node)) { + if (node.parent.kind === 165 /* TypeQuery */ || isJSXTagName(node)) { return true; } // falls through @@ -10012,47 +10034,47 @@ var ts; function isInExpressionContext(node) { var parent = node.parent; switch (parent.kind) { - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 272 /* EnumMember */: - case 269 /* PropertyAssignment */: - case 181 /* BindingElement */: + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 273 /* EnumMember */: + case 270 /* PropertyAssignment */: + case 182 /* BindingElement */: return parent.initializer === node; - case 215 /* ExpressionStatement */: - case 216 /* IfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 224 /* ReturnStatement */: - case 225 /* WithStatement */: - case 226 /* SwitchStatement */: - case 265 /* CaseClause */: - case 228 /* ThrowStatement */: + case 216 /* ExpressionStatement */: + case 217 /* IfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 225 /* ReturnStatement */: + case 226 /* WithStatement */: + case 227 /* SwitchStatement */: + case 266 /* CaseClause */: + case 229 /* ThrowStatement */: return parent.expression === node; - case 219 /* ForStatement */: + case 220 /* ForStatement */: var forStatement = parent; - return (forStatement.initializer === node && forStatement.initializer.kind !== 232 /* VariableDeclarationList */) || + return (forStatement.initializer === node && forStatement.initializer.kind !== 233 /* VariableDeclarationList */) || forStatement.condition === node || forStatement.incrementor === node; - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: var forInStatement = parent; - return (forInStatement.initializer === node && forInStatement.initializer.kind !== 232 /* VariableDeclarationList */) || + return (forInStatement.initializer === node && forInStatement.initializer.kind !== 233 /* VariableDeclarationList */) || forInStatement.expression === node; - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: return node === parent.expression; - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return node === parent.expression; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return node === parent.expression; - case 149 /* Decorator */: - case 264 /* JsxExpression */: - case 263 /* JsxSpreadAttribute */: - case 271 /* SpreadAssignment */: + case 150 /* Decorator */: + case 265 /* JsxExpression */: + case 264 /* JsxSpreadAttribute */: + case 272 /* SpreadAssignment */: return true; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return parent.expression === node && isExpressionWithTypeArgumentsInClassExtendsClause(parent); default: return isExpressionNode(parent); @@ -10060,7 +10082,7 @@ var ts; } ts.isInExpressionContext = isInExpressionContext; function isExternalModuleImportEqualsDeclaration(node) { - return node.kind === 242 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 253 /* ExternalModuleReference */; + return node.kind === 243 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 254 /* ExternalModuleReference */; } ts.isExternalModuleImportEqualsDeclaration = isExternalModuleImportEqualsDeclaration; function getExternalModuleImportEqualsDeclarationExpression(node) { @@ -10069,7 +10091,7 @@ var ts; } ts.getExternalModuleImportEqualsDeclarationExpression = getExternalModuleImportEqualsDeclarationExpression; function isInternalModuleImportEqualsDeclaration(node) { - return node.kind === 242 /* ImportEqualsDeclaration */ && node.moduleReference.kind !== 253 /* ExternalModuleReference */; + return node.kind === 243 /* ImportEqualsDeclaration */ && node.moduleReference.kind !== 254 /* ExternalModuleReference */; } ts.isInternalModuleImportEqualsDeclaration = isInternalModuleImportEqualsDeclaration; function isSourceFileJavaScript(file) { @@ -10081,15 +10103,15 @@ var ts; } ts.isSourceFileNotJavaScript = isSourceFileNotJavaScript; function isInJavaScriptFile(node) { - return node && !!(node.flags & 65536 /* JavaScriptFile */); + return !!node && !!(node.flags & 65536 /* JavaScriptFile */); } ts.isInJavaScriptFile = isInJavaScriptFile; function isInJsonFile(node) { - return node && !!(node.flags & 16777216 /* JsonFile */); + return !!node && !!(node.flags & 16777216 /* JsonFile */); } ts.isInJsonFile = isInJsonFile; function isInJSDoc(node) { - return node && !!(node.flags & 2097152 /* JSDoc */); + return !!node && !!(node.flags & 2097152 /* JSDoc */); } ts.isInJSDoc = isInJSDoc; function isJSDocIndexSignature(node) { @@ -10101,7 +10123,7 @@ var ts; } ts.isJSDocIndexSignature = isJSDocIndexSignature; function isRequireCall(callExpression, checkArgumentIsStringLiteralLike) { - if (callExpression.kind !== 186 /* CallExpression */) { + if (callExpression.kind !== 187 /* CallExpression */) { return false; } var _a = callExpression, expression = _a.expression, args = _a.arguments; @@ -10123,30 +10145,49 @@ var ts; return getSourceTextOfNodeFromSourceFile(sourceFile, str).charCodeAt(0) === 34 /* doubleQuote */; } ts.isStringDoubleQuoted = isStringDoubleQuoted; - /** - * Given the symbol of a declaration, find the symbol of its Javascript container-like initializer, - * if it has one. Otherwise just return the original symbol. - * - * Container-like initializer behave like namespaces, so the binder needs to add contained symbols - * to their exports. An example is a function with assignments to `this` inside. - */ - function getJSInitializerSymbol(symbol) { - if (!symbol || !symbol.valueDeclaration) { - return symbol; + function getDeclarationOfJSInitializer(node) { + if (!isInJavaScriptFile(node) || !node.parent) { + return undefined; } - var declaration = symbol.valueDeclaration; - var e = getDeclaredJavascriptInitializer(declaration) || getAssignedJavascriptInitializer(declaration); - return e && e.symbol ? e.symbol : symbol; - } - ts.getJSInitializerSymbol = getJSInitializerSymbol; - /** Get the declaration initializer, when the initializer is container-like (See getJavascriptInitializer) */ - function getDeclaredJavascriptInitializer(node) { - if (node && ts.isVariableDeclaration(node) && node.initializer) { - return getJavascriptInitializer(node.initializer, /*isPrototypeAssignment*/ false) || - ts.isIdentifier(node.name) && getDefaultedJavascriptInitializer(node.name, node.initializer, /*isPrototypeAssignment*/ false); + var name; + var decl; + if (ts.isVariableDeclaration(node.parent) && node.parent.initializer === node) { + name = node.parent.name; + decl = node.parent; } + else if (ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58 /* EqualsToken */ && node.parent.right === node) { + name = node.parent.left; + decl = name; + } + else if (ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 54 /* BarBarToken */) { + if (ts.isVariableDeclaration(node.parent.parent) && node.parent.parent.initializer === node.parent) { + name = node.parent.parent.name; + decl = node.parent.parent; + } + else if (ts.isBinaryExpression(node.parent.parent) && node.parent.parent.operatorToken.kind === 58 /* EqualsToken */ && node.parent.parent.right === node.parent) { + name = node.parent.parent.left; + decl = name; + } + if (!name || !isEntityNameExpression(name) || !isSameEntityName(name, node.parent.left)) { + return undefined; + } + } + if (!name || !getJavascriptInitializer(node, isPrototypeAccess(name))) { + return undefined; + } + return decl; } - ts.getDeclaredJavascriptInitializer = getDeclaredJavascriptInitializer; + ts.getDeclarationOfJSInitializer = getDeclarationOfJSInitializer; + /** Get the initializer, taking into account defaulted Javascript initializers */ + function getEffectiveInitializer(node) { + if (isInJavaScriptFile(node) && node.initializer && + ts.isBinaryExpression(node.initializer) && node.initializer.operatorToken.kind === 54 /* BarBarToken */ && + node.name && isEntityNameExpression(node.name) && isSameEntityName(node.name, node.initializer.left)) { + return node.initializer.right; + } + return node.initializer; + } + ts.getEffectiveInitializer = getEffectiveInitializer; /** * Get the assignment 'initializer' -- the righthand side-- when the initializer is container-like (See getJavascriptInitializer). * We treat the right hand side of assignments with container-like initalizers as declarations. @@ -10172,11 +10213,11 @@ var ts; function getJavascriptInitializer(initializer, isPrototypeAssignment) { if (ts.isCallExpression(initializer)) { var e = skipParentheses(initializer.expression); - return e.kind === 191 /* FunctionExpression */ || e.kind === 192 /* ArrowFunction */ ? initializer : undefined; + return e.kind === 192 /* FunctionExpression */ || e.kind === 193 /* ArrowFunction */ ? initializer : undefined; } - if (initializer.kind === 191 /* FunctionExpression */ || - initializer.kind === 204 /* ClassExpression */ || - initializer.kind === 192 /* ArrowFunction */) { + if (initializer.kind === 192 /* FunctionExpression */ || + initializer.kind === 205 /* ClassExpression */ || + initializer.kind === 193 /* ArrowFunction */) { return initializer; } if (ts.isObjectLiteralExpression(initializer) && (initializer.properties.length === 0 || isPrototypeAssignment)) { @@ -10198,6 +10239,13 @@ var ts; return e; } } + function isDefaultedJavascriptInitializer(node) { + var name = ts.isVariableDeclaration(node.parent) ? node.parent.name : + ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58 /* EqualsToken */ ? node.parent.left : + undefined; + return name && getJavascriptInitializer(node.right, isPrototypeAccess(name)) && isEntityNameExpression(name) && isSameEntityName(name, node.left); + } + ts.isDefaultedJavascriptInitializer = isDefaultedJavascriptInitializer; /** Given a Javascript initializer, return the outer name. That is, the lhs of the assignment or the declaration name. */ function getOuterNameOfJsInitializer(node) { if (ts.isBinaryExpression(node.parent)) { @@ -10307,7 +10355,7 @@ var ts; ts.isPrototypePropertyAssignment = isPrototypePropertyAssignment; function isSpecialPropertyDeclaration(expr) { return isInJavaScriptFile(expr) && - expr.parent && expr.parent.kind === 215 /* ExpressionStatement */ && + expr.parent && expr.parent.kind === 216 /* ExpressionStatement */ && !!ts.getJSDocTypeTag(expr.parent); } ts.isSpecialPropertyDeclaration = isSpecialPropertyDeclaration; @@ -10317,14 +10365,14 @@ var ts; ts.importFromModuleSpecifier = importFromModuleSpecifier; function tryGetImportFromModuleSpecifier(node) { switch (node.parent.kind) { - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: return node.parent; - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: return node.parent.parent; - case 186 /* CallExpression */: + case 187 /* CallExpression */: return node.parent; - case 177 /* LiteralType */: + case 178 /* LiteralType */: ts.Debug.assert(ts.isStringLiteral(node)); return ts.tryCast(node.parent.parent, ts.isImportTypeNode); default: @@ -10334,12 +10382,12 @@ var ts; ts.tryGetImportFromModuleSpecifier = tryGetImportFromModuleSpecifier; function getExternalModuleName(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: return node.moduleSpecifier; - case 242 /* ImportEqualsDeclaration */: - return node.moduleReference.kind === 253 /* ExternalModuleReference */ ? node.moduleReference.expression : undefined; - case 178 /* ImportType */: + case 243 /* ImportEqualsDeclaration */: + return node.moduleReference.kind === 254 /* ExternalModuleReference */ ? node.moduleReference.expression : undefined; + case 179 /* ImportType */: return isLiteralImportTypeNode(node) ? node.argument.literal : undefined; default: return ts.Debug.assertNever(node); @@ -10348,11 +10396,11 @@ var ts; ts.getExternalModuleName = getExternalModuleName; function getNamespaceDeclarationNode(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return node.importClause && ts.tryCast(node.importClause.namedBindings, ts.isNamespaceImport); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return node; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return undefined; default: return ts.Debug.assertNever(node); @@ -10360,19 +10408,19 @@ var ts; } ts.getNamespaceDeclarationNode = getNamespaceDeclarationNode; function isDefaultImport(node) { - return node.kind === 243 /* ImportDeclaration */ && node.importClause && !!node.importClause.name; + return node.kind === 244 /* ImportDeclaration */ && !!node.importClause && !!node.importClause.name; } ts.isDefaultImport = isDefaultImport; function hasQuestionToken(node) { if (node) { switch (node.kind) { - case 148 /* Parameter */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 270 /* ShorthandPropertyAssignment */: - case 269 /* PropertyAssignment */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 149 /* Parameter */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 271 /* ShorthandPropertyAssignment */: + case 270 /* PropertyAssignment */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return node.questionToken !== undefined; } } @@ -10380,14 +10428,14 @@ var ts; } ts.hasQuestionToken = hasQuestionToken; function isJSDocConstructSignature(node) { - return node.kind === 283 /* JSDocFunctionType */ && + return node.kind === 284 /* JSDocFunctionType */ && node.parameters.length > 0 && node.parameters[0].name && node.parameters[0].name.escapedText === "new"; } ts.isJSDocConstructSignature = isJSDocConstructSignature; function isJSDocTypeAlias(node) { - return node.kind === 296 /* JSDocTypedefTag */ || node.kind === 291 /* JSDocCallbackTag */; + return node.kind === 297 /* JSDocTypedefTag */ || node.kind === 292 /* JSDocCallbackTag */; } ts.isJSDocTypeAlias = isJSDocTypeAlias; function isTypeAlias(node) { @@ -10397,38 +10445,39 @@ var ts; function getSourceOfAssignment(node) { return ts.isExpressionStatement(node) && node.expression && ts.isBinaryExpression(node.expression) && - node.expression.operatorToken.kind === 58 /* EqualsToken */ && - node.expression.right; + node.expression.operatorToken.kind === 58 /* EqualsToken */ + ? node.expression.right + : undefined; } function getSourceOfDefaultedAssignment(node) { return ts.isExpressionStatement(node) && ts.isBinaryExpression(node.expression) && getSpecialPropertyAssignmentKind(node.expression) !== 0 /* None */ && ts.isBinaryExpression(node.expression.right) && - node.expression.right.operatorToken.kind === 54 /* BarBarToken */ && - node.expression.right.right; + node.expression.right.operatorToken.kind === 54 /* BarBarToken */ + ? node.expression.right.right + : undefined; } function getSingleInitializerOfVariableStatementOrPropertyDeclaration(node) { switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: var v = getSingleVariableOfVariableStatement(node); return v && v.initializer; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return node.initializer; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return node.initializer; } } function getSingleVariableOfVariableStatement(node) { - return ts.isVariableStatement(node) && - node.declarationList.declarations.length > 0 && - node.declarationList.declarations[0]; + return ts.isVariableStatement(node) ? ts.firstOrUndefined(node.declarationList.declarations) : undefined; } function getNestedModuleDeclaration(node) { - return node.kind === 238 /* ModuleDeclaration */ && + return ts.isModuleDeclaration(node) && node.body && - node.body.kind === 238 /* ModuleDeclaration */ && - node.body; + node.body.kind === 239 /* ModuleDeclaration */ + ? node.body + : undefined; } function getJSDocCommentsAndTags(hostNode) { var result; @@ -10438,7 +10487,7 @@ var ts; var parent = node.parent; if (!parent) return; - if (parent.kind === 269 /* PropertyAssignment */ || parent.kind === 151 /* PropertyDeclaration */ || getNestedModuleDeclaration(parent)) { + if (parent.kind === 270 /* PropertyAssignment */ || parent.kind === 152 /* PropertyDeclaration */ || getNestedModuleDeclaration(parent)) { getJSDocCommentsAndTagsWorker(parent); } // Try to recognize this pattern when node is initializer of variable declaration and JSDoc comments are on containing variable statement. @@ -10458,11 +10507,11 @@ var ts; } if (ts.isBinaryExpression(node) && node.operatorToken.kind === 58 /* EqualsToken */ || ts.isBinaryExpression(parent) && parent.operatorToken.kind === 58 /* EqualsToken */ || - node.kind === 184 /* PropertyAccessExpression */ && node.parent && node.parent.kind === 215 /* ExpressionStatement */) { + node.kind === 185 /* PropertyAccessExpression */ && node.parent && node.parent.kind === 216 /* ExpressionStatement */) { getJSDocCommentsAndTagsWorker(parent); } // Pull parameter comments from declaring function as well - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { result = ts.addRange(result, ts.getJSDocParameterTags(node)); } if (isVariableLike(node) && ts.hasInitializer(node) && node.initializer !== hostNode && ts.hasJSDocNodes(node.initializer)) { @@ -10517,12 +10566,12 @@ var ts; ts.getTypeParameterFromJsDoc = getTypeParameterFromJsDoc; function hasRestParameter(s) { var last = ts.lastOrUndefined(s.parameters); - return last && isRestParameter(last); + return !!last && isRestParameter(last); } ts.hasRestParameter = hasRestParameter; function isRestParameter(node) { var type = ts.isJSDocParameterTag(node) ? (node.typeExpression && node.typeExpression.type) : node.type; - return node.dotDotDotToken !== undefined || type && type.kind === 284 /* JSDocVariadicType */; + return node.dotDotDotToken !== undefined || !!type && type.kind === 285 /* JSDocVariadicType */; } ts.isRestParameter = isRestParameter; var AssignmentKind; @@ -10535,31 +10584,31 @@ var ts; var parent = node.parent; while (true) { switch (parent.kind) { - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var binaryOperator = parent.operatorToken.kind; return isAssignmentOperator(binaryOperator) && parent.left === node ? binaryOperator === 58 /* EqualsToken */ ? 1 /* Definite */ : 2 /* Compound */ : 0 /* None */; - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: var unaryOperator = parent.operator; return unaryOperator === 43 /* PlusPlusToken */ || unaryOperator === 44 /* MinusMinusToken */ ? 2 /* Compound */ : 0 /* None */; - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: return parent.initializer === node ? 1 /* Definite */ : 0 /* None */; - case 190 /* ParenthesizedExpression */: - case 182 /* ArrayLiteralExpression */: - case 203 /* SpreadElement */: - case 208 /* NonNullExpression */: + case 191 /* ParenthesizedExpression */: + case 183 /* ArrayLiteralExpression */: + case 204 /* SpreadElement */: + case 209 /* NonNullExpression */: node = parent; break; - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: if (parent.name !== node) { return 0 /* None */; } node = parent.parent; break; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: if (parent.name === node) { return 0 /* None */; } @@ -10586,22 +10635,22 @@ var ts; */ function isNodeWithPossibleHoistedDeclaration(node) { switch (node.kind) { - case 212 /* Block */: - case 213 /* VariableStatement */: - case 225 /* WithStatement */: - case 216 /* IfStatement */: - case 226 /* SwitchStatement */: - case 240 /* CaseBlock */: - case 265 /* CaseClause */: - case 266 /* DefaultClause */: - case 227 /* LabeledStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 229 /* TryStatement */: - case 268 /* CatchClause */: + case 213 /* Block */: + case 214 /* VariableStatement */: + case 226 /* WithStatement */: + case 217 /* IfStatement */: + case 227 /* SwitchStatement */: + case 241 /* CaseBlock */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: + case 228 /* LabeledStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 230 /* TryStatement */: + case 269 /* CatchClause */: return true; } return false; @@ -10618,15 +10667,15 @@ var ts; return node; } function walkUpParenthesizedTypes(node) { - return walkUp(node, 172 /* ParenthesizedType */); + return walkUp(node, 173 /* ParenthesizedType */); } ts.walkUpParenthesizedTypes = walkUpParenthesizedTypes; function walkUpParenthesizedExpressions(node) { - return walkUp(node, 190 /* ParenthesizedExpression */); + return walkUp(node, 191 /* ParenthesizedExpression */); } ts.walkUpParenthesizedExpressions = walkUpParenthesizedExpressions; function skipParentheses(node) { - while (node.kind === 190 /* ParenthesizedExpression */) { + while (node.kind === 191 /* ParenthesizedExpression */) { node = node.expression; } return node; @@ -10634,11 +10683,11 @@ var ts; ts.skipParentheses = skipParentheses; // a node is delete target iff. it is PropertyAccessExpression/ElementAccessExpression with parentheses skipped function isDeleteTarget(node) { - if (node.kind !== 184 /* PropertyAccessExpression */ && node.kind !== 185 /* ElementAccessExpression */) { + if (node.kind !== 185 /* PropertyAccessExpression */ && node.kind !== 186 /* ElementAccessExpression */) { return false; } node = walkUpParenthesizedExpressions(node.parent); - return node && node.kind === 193 /* DeleteExpression */; + return node && node.kind === 194 /* DeleteExpression */; } ts.isDeleteTarget = isDeleteTarget; function isNodeDescendantOf(node, ancestor) { @@ -10660,9 +10709,10 @@ var ts; switch (name.kind) { case 71 /* Identifier */: case 9 /* StringLiteral */: - case 8 /* NumericLiteral */: - if (ts.isDeclaration(name.parent)) { - return name.parent.name === name; + case 8 /* NumericLiteral */: { + var parent = name.parent; + if (ts.isDeclaration(parent)) { + return parent.name === name; } else if (ts.isQualifiedName(name.parent)) { var tag = name.parent.parent; @@ -10672,6 +10722,7 @@ var ts; var binExp = name.parent.parent; return ts.isBinaryExpression(binExp) && getSpecialPropertyAssignmentKind(binExp) !== 0 /* None */ && ts.getNameOfDeclaration(binExp) === name; } + } default: return false; } @@ -10679,7 +10730,7 @@ var ts; ts.isAnyDeclarationName = isAnyDeclarationName; function isLiteralComputedPropertyDeclarationName(node) { return (node.kind === 9 /* StringLiteral */ || node.kind === 8 /* NumericLiteral */) && - node.parent.kind === 146 /* ComputedPropertyName */ && + node.parent.kind === 147 /* ComputedPropertyName */ && ts.isDeclaration(node.parent.parent); } ts.isLiteralComputedPropertyDeclarationName = isLiteralComputedPropertyDeclarationName; @@ -10687,32 +10738,32 @@ var ts; function isIdentifierName(node) { var parent = node.parent; switch (parent.kind) { - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 272 /* EnumMember */: - case 269 /* PropertyAssignment */: - case 184 /* PropertyAccessExpression */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 273 /* EnumMember */: + case 270 /* PropertyAssignment */: + case 185 /* PropertyAccessExpression */: // Name in member declaration or property name in property access return parent.name === node; - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: // Name on right hand side of dot in a type query or type reference if (parent.right === node) { - while (parent.kind === 145 /* QualifiedName */) { + while (parent.kind === 146 /* QualifiedName */) { parent = parent.parent; } - return parent.kind === 164 /* TypeQuery */ || parent.kind === 161 /* TypeReference */; + return parent.kind === 165 /* TypeQuery */ || parent.kind === 162 /* TypeReference */; } return false; - case 181 /* BindingElement */: - case 247 /* ImportSpecifier */: + case 182 /* BindingElement */: + case 248 /* ImportSpecifier */: // Property name in binding element or import specifier return parent.propertyName === node; - case 251 /* ExportSpecifier */: - case 261 /* JsxAttribute */: + case 252 /* ExportSpecifier */: + case 262 /* JsxAttribute */: // Any name in an export specifier or JSX Attribute return true; } @@ -10728,13 +10779,13 @@ var ts; // export = // export default function isAliasSymbolDeclaration(node) { - return node.kind === 242 /* ImportEqualsDeclaration */ || - node.kind === 241 /* NamespaceExportDeclaration */ || - node.kind === 244 /* ImportClause */ && !!node.name || - node.kind === 245 /* NamespaceImport */ || - node.kind === 247 /* ImportSpecifier */ || - node.kind === 251 /* ExportSpecifier */ || - node.kind === 248 /* ExportAssignment */ && exportAssignmentIsAlias(node) || + return node.kind === 243 /* ImportEqualsDeclaration */ || + node.kind === 242 /* NamespaceExportDeclaration */ || + node.kind === 245 /* ImportClause */ && !!node.name || + node.kind === 246 /* NamespaceImport */ || + node.kind === 248 /* ImportSpecifier */ || + node.kind === 252 /* ExportSpecifier */ || + node.kind === 249 /* ExportAssignment */ && exportAssignmentIsAlias(node) || ts.isBinaryExpression(node) && getSpecialPropertyAssignmentKind(node) === 2 /* ModuleExports */; } ts.isAliasSymbolDeclaration = isAliasSymbolDeclaration; @@ -10795,11 +10846,11 @@ var ts; } ts.getAncestor = getAncestor; function isKeyword(token) { - return 72 /* FirstKeyword */ <= token && token <= 144 /* LastKeyword */; + return 72 /* FirstKeyword */ <= token && token <= 145 /* LastKeyword */; } ts.isKeyword = isKeyword; function isContextualKeyword(token) { - return 117 /* FirstContextualKeyword */ <= token && token <= 144 /* LastContextualKeyword */; + return 117 /* FirstContextualKeyword */ <= token && token <= 145 /* LastContextualKeyword */; } ts.isContextualKeyword = isContextualKeyword; function isNonContextualKeyword(token) { @@ -10829,14 +10880,14 @@ var ts; } var flags = 0 /* Normal */; switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: if (node.asteriskToken) { flags |= 1 /* Generator */; } // falls through - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: if (hasModifier(node, 256 /* Async */)) { flags |= 2 /* Async */; } @@ -10850,10 +10901,10 @@ var ts; ts.getFunctionFlags = getFunctionFlags; function isAsyncFunction(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: return node.body !== undefined && node.asteriskToken === undefined && hasModifier(node, 256 /* Async */); @@ -10876,11 +10927,11 @@ var ts; */ function hasDynamicName(declaration) { var name = ts.getNameOfDeclaration(declaration); - return name && isDynamicName(name); + return !!name && isDynamicName(name); } ts.hasDynamicName = hasDynamicName; function isDynamicName(name) { - return name.kind === 146 /* ComputedPropertyName */ && + return name.kind === 147 /* ComputedPropertyName */ && !isStringOrNumericLiteral(name.expression) && !isWellKnownSymbolSyntactically(name.expression); } @@ -10901,7 +10952,7 @@ var ts; if (name.kind === 9 /* StringLiteral */ || name.kind === 8 /* NumericLiteral */) { return escapeLeadingUnderscores(name.text); } - if (name.kind === 146 /* ComputedPropertyName */) { + if (name.kind === 147 /* ComputedPropertyName */) { var nameExpression = name.expression; if (isWellKnownSymbolSyntactically(nameExpression)) { return getPropertyNameForKnownSymbolName(ts.idText(nameExpression.name)); @@ -10954,11 +11005,11 @@ var ts; ts.isPushOrUnshiftIdentifier = isPushOrUnshiftIdentifier; function isParameterDeclaration(node) { var root = getRootDeclaration(node); - return root.kind === 148 /* Parameter */; + return root.kind === 149 /* Parameter */; } ts.isParameterDeclaration = isParameterDeclaration; function getRootDeclaration(node) { - while (node.kind === 181 /* BindingElement */) { + while (node.kind === 182 /* BindingElement */) { node = node.parent.parent; } return node; @@ -10966,15 +11017,15 @@ var ts; ts.getRootDeclaration = getRootDeclaration; function nodeStartsNewLexicalEnvironment(node) { var kind = node.kind; - return kind === 154 /* Constructor */ - || kind === 191 /* FunctionExpression */ - || kind === 233 /* FunctionDeclaration */ - || kind === 192 /* ArrowFunction */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */ - || kind === 238 /* ModuleDeclaration */ - || kind === 273 /* SourceFile */; + return kind === 155 /* Constructor */ + || kind === 192 /* FunctionExpression */ + || kind === 234 /* FunctionDeclaration */ + || kind === 193 /* ArrowFunction */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */ + || kind === 239 /* ModuleDeclaration */ + || kind === 274 /* SourceFile */; } ts.nodeStartsNewLexicalEnvironment = nodeStartsNewLexicalEnvironment; function nodeIsSynthesized(range) { @@ -10993,23 +11044,23 @@ var ts; })(Associativity = ts.Associativity || (ts.Associativity = {})); function getExpressionAssociativity(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 187 /* NewExpression */ && expression.arguments !== undefined; + var hasArguments = expression.kind === 188 /* NewExpression */ && expression.arguments !== undefined; return getOperatorAssociativity(expression.kind, operator, hasArguments); } ts.getExpressionAssociativity = getExpressionAssociativity; function getOperatorAssociativity(kind, operator, hasArguments) { switch (kind) { - case 187 /* NewExpression */: + case 188 /* NewExpression */: return hasArguments ? 0 /* Left */ : 1 /* Right */; - case 197 /* PrefixUnaryExpression */: - case 194 /* TypeOfExpression */: - case 195 /* VoidExpression */: - case 193 /* DeleteExpression */: - case 196 /* AwaitExpression */: - case 200 /* ConditionalExpression */: - case 202 /* YieldExpression */: + case 198 /* PrefixUnaryExpression */: + case 195 /* TypeOfExpression */: + case 196 /* VoidExpression */: + case 194 /* DeleteExpression */: + case 197 /* AwaitExpression */: + case 201 /* ConditionalExpression */: + case 203 /* YieldExpression */: return 1 /* Right */; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: switch (operator) { case 40 /* AsteriskAsteriskToken */: case 58 /* EqualsToken */: @@ -11033,15 +11084,15 @@ var ts; ts.getOperatorAssociativity = getOperatorAssociativity; function getExpressionPrecedence(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 187 /* NewExpression */ && expression.arguments !== undefined; + var hasArguments = expression.kind === 188 /* NewExpression */ && expression.arguments !== undefined; return getOperatorPrecedence(expression.kind, operator, hasArguments); } ts.getExpressionPrecedence = getExpressionPrecedence; function getOperator(expression) { - if (expression.kind === 199 /* BinaryExpression */) { + if (expression.kind === 200 /* BinaryExpression */) { return expression.operatorToken.kind; } - else if (expression.kind === 197 /* PrefixUnaryExpression */ || expression.kind === 198 /* PostfixUnaryExpression */) { + else if (expression.kind === 198 /* PrefixUnaryExpression */ || expression.kind === 199 /* PostfixUnaryExpression */) { return expression.operator; } else { @@ -11051,15 +11102,15 @@ var ts; ts.getOperator = getOperator; function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) { switch (nodeKind) { - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: return 0; - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return 1; - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return 2; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return 4; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: switch (operatorKind) { case 26 /* CommaToken */: return 0; @@ -11080,21 +11131,21 @@ var ts; default: return getBinaryOperatorPrecedence(operatorKind); } - case 197 /* PrefixUnaryExpression */: - case 194 /* TypeOfExpression */: - case 195 /* VoidExpression */: - case 193 /* DeleteExpression */: - case 196 /* AwaitExpression */: + case 198 /* PrefixUnaryExpression */: + case 195 /* TypeOfExpression */: + case 196 /* VoidExpression */: + case 194 /* DeleteExpression */: + case 197 /* AwaitExpression */: return 16; - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return 17; - case 186 /* CallExpression */: + case 187 /* CallExpression */: return 18; - case 187 /* NewExpression */: + case 188 /* NewExpression */: return hasArguments ? 19 : 18; - case 188 /* TaggedTemplateExpression */: - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: + case 189 /* TaggedTemplateExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: return 19; case 99 /* ThisKeyword */: case 97 /* SuperKeyword */: @@ -11104,19 +11155,19 @@ var ts; case 86 /* FalseKeyword */: case 8 /* NumericLiteral */: case 9 /* StringLiteral */: - case 182 /* ArrayLiteralExpression */: - case 183 /* ObjectLiteralExpression */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 204 /* ClassExpression */: - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: - case 258 /* JsxFragment */: + case 183 /* ArrayLiteralExpression */: + case 184 /* ObjectLiteralExpression */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 205 /* ClassExpression */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: + case 259 /* JsxFragment */: case 12 /* RegularExpressionLiteral */: case 13 /* NoSubstitutionTemplateLiteral */: - case 201 /* TemplateExpression */: - case 190 /* ParenthesizedExpression */: - case 205 /* OmittedExpression */: + case 202 /* TemplateExpression */: + case 191 /* ParenthesizedExpression */: + case 206 /* OmittedExpression */: return 20; default: return -1; @@ -11169,7 +11220,7 @@ var ts; } ts.getBinaryOperatorPrecedence = getBinaryOperatorPrecedence; function createDiagnosticCollection() { - var nonFileDiagnostics = []; + var nonFileDiagnostics = []; // See GH#19873 var filesWithDiagnostics = []; var fileDiagnostics = ts.createMap(); var hasReadNonFileDiagnostics = false; @@ -11187,7 +11238,7 @@ var ts; if (diagnostic.file) { diagnostics = fileDiagnostics.get(diagnostic.file.fileName); if (!diagnostics) { - diagnostics = []; + diagnostics = []; // See GH#19873 fileDiagnostics.set(diagnostic.file.fileName, diagnostics); ts.insertSorted(filesWithDiagnostics, diagnostic.file.fileName, ts.compareStringsCaseSensitive); } @@ -11334,7 +11385,7 @@ var ts; var lineStartsOfS = ts.computeLineStarts(s); if (lineStartsOfS.length > 1) { lineCount = lineCount + lineStartsOfS.length - 1; - linePos = output.length - s.length + ts.lastOrUndefined(lineStartsOfS); + linePos = output.length - s.length + ts.last(lineStartsOfS); } } } @@ -11509,7 +11560,7 @@ var ts; } ts.parameterIsThisKeyword = parameterIsThisKeyword; function isThisIdentifier(node) { - return node && node.kind === 71 /* Identifier */ && identifierIsThisKeyword(node); + return !!node && node.kind === 71 /* Identifier */ && identifierIsThisKeyword(node); } ts.isThisIdentifier = isThisIdentifier; function identifierIsThisKeyword(id) { @@ -11517,16 +11568,17 @@ var ts; } ts.identifierIsThisKeyword = identifierIsThisKeyword; function getAllAccessorDeclarations(declarations, accessor) { + // TODO: GH#18217 var firstAccessor; var secondAccessor; var getAccessor; var setAccessor; if (hasDynamicName(accessor)) { firstAccessor = accessor; - if (accessor.kind === 155 /* GetAccessor */) { + if (accessor.kind === 156 /* GetAccessor */) { getAccessor = accessor; } - else if (accessor.kind === 156 /* SetAccessor */) { + else if (accessor.kind === 157 /* SetAccessor */) { setAccessor = accessor; } else { @@ -11535,7 +11587,7 @@ var ts; } else { ts.forEach(declarations, function (member) { - if ((member.kind === 155 /* GetAccessor */ || member.kind === 156 /* SetAccessor */) + if ((member.kind === 156 /* GetAccessor */ || member.kind === 157 /* SetAccessor */) && hasModifier(member, 32 /* Static */) === hasModifier(accessor, 32 /* Static */)) { var memberName = getPropertyNameForPropertyNameNode(member.name); var accessorName = getPropertyNameForPropertyNameNode(accessor.name); @@ -11546,10 +11598,10 @@ var ts; else if (!secondAccessor) { secondAccessor = member; } - if (member.kind === 155 /* GetAccessor */ && !getAccessor) { + if (member.kind === 156 /* GetAccessor */ && !getAccessor) { getAccessor = member; } - if (member.kind === 156 /* SetAccessor */ && !setAccessor) { + if (member.kind === 157 /* SetAccessor */ && !setAccessor) { setAccessor = member; } } @@ -11596,25 +11648,20 @@ var ts; return ts.emptyArray; } if (isJSDocTypeAlias(node)) { - ts.Debug.assert(node.parent.kind === 285 /* JSDocComment */); - var templateTags = ts.flatMap(ts.filter(node.parent.tags, ts.isJSDocTemplateTag), function (tag) { return tag.typeParameters; }); - var templateTagNodes = templateTags; - templateTagNodes.pos = templateTagNodes.length > 0 ? ts.first(templateTagNodes).pos : node.pos; - templateTagNodes.end = templateTagNodes.length > 0 ? ts.last(templateTagNodes).end : node.end; - templateTagNodes.hasTrailingComma = false; - return templateTagNodes; + ts.Debug.assert(node.parent.kind === 286 /* JSDocComment */); + return ts.flatMap(node.parent.tags, function (tag) { return ts.isJSDocTemplateTag(tag) ? tag.typeParameters : undefined; }); } return node.typeParameters || (isInJavaScriptFile(node) ? getJSDocTypeParameterDeclarations(node) : ts.emptyArray); } ts.getEffectiveTypeParameterDeclarations = getEffectiveTypeParameterDeclarations; function getJSDocTypeParameterDeclarations(node) { - // template tags are only available when a typedef isn't already using them - var tag = ts.find(ts.getJSDocTags(node), function (tag) { - return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 285 /* JSDocComment */ && tag.parent.tags.some(isJSDocTypeAlias)); - }); - return (tag && tag.typeParameters) || ts.emptyArray; + return ts.flatMap(ts.getJSDocTags(node), function (tag) { return isNonTypeAliasTemplate(tag) ? tag.typeParameters : undefined; }); } ts.getJSDocTypeParameterDeclarations = getJSDocTypeParameterDeclarations; + /** template tags are only available when a typedef isn't already using them */ + function isNonTypeAliasTemplate(tag) { + return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 286 /* JSDocComment */ && tag.parent.tags.some(isJSDocTypeAlias)); + } /** * Gets the effective type annotation of the value parameter of a set accessor. If the node * was parsed in a JavaScript file, gets the type annotation from JSDoc. @@ -11713,13 +11760,13 @@ var ts; // All comments look like they could have been part of the copyright header. Make // sure there is at least one blank line between it and the node. If not, it's not // a copyright header. - var lastCommentLine = getLineOfLocalPositionFromLineMap(lineMap, ts.lastOrUndefined(detachedComments).end); + var lastCommentLine = getLineOfLocalPositionFromLineMap(lineMap, ts.last(detachedComments).end); var nodeLine = getLineOfLocalPositionFromLineMap(lineMap, ts.skipTrivia(text, node.pos)); if (nodeLine >= lastCommentLine + 2) { // Valid detachedComments emitNewLineBeforeLeadingComments(lineMap, writer, node, leadingComments); emitComments(text, lineMap, writer, detachedComments, /*leadingSeparator*/ false, /*trailingSeparator*/ true, newLine, writeComment); - currentDetachedCommentInfo = { nodePos: node.pos, detachedCommentEndPos: ts.lastOrUndefined(detachedComments).end }; + currentDetachedCommentInfo = { nodePos: node.pos, detachedCommentEndPos: ts.last(detachedComments).end }; } } } @@ -11888,7 +11935,7 @@ var ts; ts.isAssignmentOperator = isAssignmentOperator; /** Get `C` given `N` if `N` is in the position `class C extends N` where `N` is an ExpressionWithTypeArguments. */ function tryGetClassExtendingExpressionWithTypeArguments(node) { - if (node.kind === 206 /* ExpressionWithTypeArguments */ && + if (ts.isExpressionWithTypeArguments(node) && node.parent.token === 85 /* ExtendsKeyword */ && ts.isClassLike(node.parent.parent)) { return node.parent.parent; @@ -11906,8 +11953,8 @@ var ts; function isDestructuringAssignment(node) { if (isAssignmentExpression(node, /*excludeCompoundAssignment*/ true)) { var kind = node.left.kind; - return kind === 183 /* ObjectLiteralExpression */ - || kind === 182 /* ArrayLiteralExpression */; + return kind === 184 /* ObjectLiteralExpression */ + || kind === 183 /* ArrayLiteralExpression */; } return false; } @@ -11917,7 +11964,7 @@ var ts; } ts.isExpressionWithTypeArgumentsInClassExtendsClause = isExpressionWithTypeArgumentsInClassExtendsClause; function isExpressionWithTypeArgumentsInClassImplementsClause(node) { - return node.kind === 206 /* ExpressionWithTypeArguments */ + return node.kind === 207 /* ExpressionWithTypeArguments */ && isEntityNameExpression(node.expression) && node.parent && node.parent.token === 108 /* ImplementsKeyword */ @@ -11938,17 +11985,17 @@ var ts; } ts.isPrototypeAccess = isPrototypeAccess; function isRightSideOfQualifiedNameOrPropertyAccess(node) { - return (node.parent.kind === 145 /* QualifiedName */ && node.parent.right === node) || - (node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.name === node); + return (node.parent.kind === 146 /* QualifiedName */ && node.parent.right === node) || + (node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.name === node); } ts.isRightSideOfQualifiedNameOrPropertyAccess = isRightSideOfQualifiedNameOrPropertyAccess; function isEmptyObjectLiteral(expression) { - return expression.kind === 183 /* ObjectLiteralExpression */ && + return expression.kind === 184 /* ObjectLiteralExpression */ && expression.properties.length === 0; } ts.isEmptyObjectLiteral = isEmptyObjectLiteral; function isEmptyArrayLiteral(expression) { - return expression.kind === 182 /* ArrayLiteralExpression */ && + return expression.kind === 183 /* ArrayLiteralExpression */ && expression.elements.length === 0; } ts.isEmptyArrayLiteral = isEmptyArrayLiteral; @@ -12062,14 +12109,14 @@ var ts; return output; } function base64encode(host, input) { - if (host.base64encode) { + if (host && host.base64encode) { return host.base64encode(input); } return convertToBase64(input); } ts.base64encode = base64encode; function base64decode(host, input) { - if (host.base64decode) { + if (host && host.base64decode) { return host.base64decode(input); } var length = input.length; @@ -12289,8 +12336,8 @@ var ts; var parseNode = ts.getParseTreeNode(node); if (parseNode) { switch (parseNode.parent.kind) { - case 237 /* EnumDeclaration */: - case 238 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 239 /* ModuleDeclaration */: return parseNode === parseNode.parent.name; } } @@ -12363,21 +12410,21 @@ var ts; if (!parent) return 0 /* Read */; switch (parent.kind) { - case 198 /* PostfixUnaryExpression */: - case 197 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: var operator = parent.operator; return operator === 43 /* PlusPlusToken */ || operator === 44 /* MinusMinusToken */ ? writeOrReadWrite() : 0 /* Read */; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var _a = parent, left = _a.left, operatorToken = _a.operatorToken; return left === node && isAssignmentOperator(operatorToken.kind) ? writeOrReadWrite() : 0 /* Read */; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return parent.name !== node ? 0 /* Read */ : accessKind(parent); default: return 0 /* Read */; } function writeOrReadWrite() { // If grandparent is not an ExpressionStatement, this is used as an expression in addition to having a side effect. - return parent.parent && parent.parent.kind === 215 /* ExpressionStatement */ ? 1 /* Write */ : 2 /* ReadWrite */; + return parent.parent && parent.parent.kind === 216 /* ExpressionStatement */ ? 1 /* Write */ : 2 /* ReadWrite */; } } function compareDataObjects(dst, src) { @@ -12468,7 +12515,7 @@ var ts; } ts.getClassLikeDeclarationOfSymbol = getClassLikeDeclarationOfSymbol; function getObjectFlags(type) { - return type.flags & 65536 /* Object */ ? type.objectFlags : 0; + return type.flags & 131072 /* Object */ ? type.objectFlags : 0; } ts.getObjectFlags = getObjectFlags; function typeHasCallOrConstructSignatures(type, checker) { @@ -12739,9 +12786,9 @@ var ts; } ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions; function getTypeParameterOwner(d) { - if (d && d.kind === 147 /* TypeParameter */) { + if (d && d.kind === 148 /* TypeParameter */) { for (var current = d; current; current = current.parent) { - if (ts.isFunctionLike(current) || ts.isClassLike(current) || current.kind === 235 /* InterfaceDeclaration */) { + if (ts.isFunctionLike(current) || ts.isClassLike(current) || current.kind === 236 /* InterfaceDeclaration */) { return current; } } @@ -12749,7 +12796,7 @@ var ts; } ts.getTypeParameterOwner = getTypeParameterOwner; function isParameterPropertyDeclaration(node) { - return ts.hasModifier(node, 92 /* ParameterPropertyModifier */) && node.parent.kind === 154 /* Constructor */; + return ts.hasModifier(node, 92 /* ParameterPropertyModifier */) && node.parent.kind === 155 /* Constructor */; } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; function isEmptyBindingPattern(node) { @@ -12767,7 +12814,7 @@ var ts; } ts.isEmptyBindingElement = isEmptyBindingElement; function walkUpBindingElementsAndPatterns(node) { - while (node && (node.kind === 181 /* BindingElement */ || ts.isBindingPattern(node))) { + while (node && (node.kind === 182 /* BindingElement */ || ts.isBindingPattern(node))) { node = node.parent; } return node; @@ -12775,14 +12822,14 @@ var ts; function getCombinedModifierFlags(node) { node = walkUpBindingElementsAndPatterns(node); var flags = ts.getModifierFlags(node); - if (node.kind === 231 /* VariableDeclaration */) { + if (node.kind === 232 /* VariableDeclaration */) { node = node.parent; } - if (node && node.kind === 232 /* VariableDeclarationList */) { + if (node && node.kind === 233 /* VariableDeclarationList */) { flags |= ts.getModifierFlags(node); node = node.parent; } - if (node && node.kind === 213 /* VariableStatement */) { + if (node && node.kind === 214 /* VariableStatement */) { flags |= ts.getModifierFlags(node); } return flags; @@ -12798,14 +12845,14 @@ var ts; function getCombinedNodeFlags(node) { node = walkUpBindingElementsAndPatterns(node); var flags = node.flags; - if (node.kind === 231 /* VariableDeclaration */) { + if (node.kind === 232 /* VariableDeclaration */) { node = node.parent; } - if (node && node.kind === 232 /* VariableDeclarationList */) { + if (node && node.kind === 233 /* VariableDeclarationList */) { flags |= node.flags; node = node.parent; } - if (node && node.kind === 213 /* VariableStatement */) { + if (node && node.kind === 214 /* VariableStatement */) { flags |= node.flags; } return flags; @@ -12858,7 +12905,7 @@ var ts; // tslint:disable-next-line no-unnecessary-qualifier (making clear this is a global mutation!) ts.localizedDiagnosticMessages = JSON.parse(fileContents); } - catch (e) { + catch (_a) { if (errors) { errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Corrupted_locale_file_0, filePath)); } @@ -12942,17 +12989,17 @@ var ts; } // Covers remaining cases switch (hostNode.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: if (hostNode.declarationList && hostNode.declarationList.declarations[0]) { return getDeclarationIdentifier(hostNode.declarationList.declarations[0]); } return undefined; - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: var expr = hostNode.expression; switch (expr.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return expr.name; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: var arg = expr.argumentExpression; if (ts.isIdentifier(arg)) { return arg; @@ -12961,10 +13008,10 @@ var ts; return undefined; case 1 /* EndOfFileToken */: return undefined; - case 190 /* ParenthesizedExpression */: { + case 191 /* ParenthesizedExpression */: { return getDeclarationIdentifier(hostNode.expression); } - case 227 /* LabeledStatement */: { + case 228 /* LabeledStatement */: { if (ts.isDeclaration(hostNode.statement) || ts.isExpression(hostNode.statement)) { return getDeclarationIdentifier(hostNode.statement); } @@ -12987,28 +13034,29 @@ var ts; return !!node.name; // A 'name' property should always be a DeclarationName. } ts.isNamedDeclaration = isNamedDeclaration; + // TODO: GH#18217 This is often used as if it returns a defined result function getNameOfDeclaration(declaration) { if (!declaration) { return undefined; } switch (declaration.kind) { - case 204 /* ClassExpression */: - case 191 /* FunctionExpression */: + case 205 /* ClassExpression */: + case 192 /* FunctionExpression */: if (!declaration.name) { return getAssignedName(declaration); } break; case 71 /* Identifier */: return declaration; - case 297 /* JSDocPropertyTag */: - case 292 /* JSDocParameterTag */: { + case 298 /* JSDocPropertyTag */: + case 293 /* JSDocParameterTag */: { var name = declaration.name; - if (name.kind === 145 /* QualifiedName */) { + if (name.kind === 146 /* QualifiedName */) { return name.right; } break; } - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var expr = declaration; switch (ts.getSpecialPropertyAssignmentKind(expr)) { case 1 /* ExportsProperty */: @@ -13020,11 +13068,11 @@ var ts; return undefined; } } - case 291 /* JSDocCallbackTag */: + case 292 /* JSDocCallbackTag */: return declaration.name; - case 296 /* JSDocTypedefTag */: + case 297 /* JSDocTypedefTag */: return getNameOfJSDocTypedef(declaration); - case 248 /* ExportAssignment */: { + case 249 /* ExportAssignment */: { var expression = declaration.expression; return ts.isIdentifier(expression) ? expression : undefined; } @@ -13214,637 +13262,637 @@ var ts; ts.isIdentifier = isIdentifier; // Names function isQualifiedName(node) { - return node.kind === 145 /* QualifiedName */; + return node.kind === 146 /* QualifiedName */; } ts.isQualifiedName = isQualifiedName; function isComputedPropertyName(node) { - return node.kind === 146 /* ComputedPropertyName */; + return node.kind === 147 /* ComputedPropertyName */; } ts.isComputedPropertyName = isComputedPropertyName; // Signature elements function isTypeParameterDeclaration(node) { - return node.kind === 147 /* TypeParameter */; + return node.kind === 148 /* TypeParameter */; } ts.isTypeParameterDeclaration = isTypeParameterDeclaration; function isParameter(node) { - return node.kind === 148 /* Parameter */; + return node.kind === 149 /* Parameter */; } ts.isParameter = isParameter; function isDecorator(node) { - return node.kind === 149 /* Decorator */; + return node.kind === 150 /* Decorator */; } ts.isDecorator = isDecorator; // TypeMember function isPropertySignature(node) { - return node.kind === 150 /* PropertySignature */; + return node.kind === 151 /* PropertySignature */; } ts.isPropertySignature = isPropertySignature; function isPropertyDeclaration(node) { - return node.kind === 151 /* PropertyDeclaration */; + return node.kind === 152 /* PropertyDeclaration */; } ts.isPropertyDeclaration = isPropertyDeclaration; function isMethodSignature(node) { - return node.kind === 152 /* MethodSignature */; + return node.kind === 153 /* MethodSignature */; } ts.isMethodSignature = isMethodSignature; function isMethodDeclaration(node) { - return node.kind === 153 /* MethodDeclaration */; + return node.kind === 154 /* MethodDeclaration */; } ts.isMethodDeclaration = isMethodDeclaration; function isConstructorDeclaration(node) { - return node.kind === 154 /* Constructor */; + return node.kind === 155 /* Constructor */; } ts.isConstructorDeclaration = isConstructorDeclaration; function isGetAccessorDeclaration(node) { - return node.kind === 155 /* GetAccessor */; + return node.kind === 156 /* GetAccessor */; } ts.isGetAccessorDeclaration = isGetAccessorDeclaration; function isSetAccessorDeclaration(node) { - return node.kind === 156 /* SetAccessor */; + return node.kind === 157 /* SetAccessor */; } ts.isSetAccessorDeclaration = isSetAccessorDeclaration; function isCallSignatureDeclaration(node) { - return node.kind === 157 /* CallSignature */; + return node.kind === 158 /* CallSignature */; } ts.isCallSignatureDeclaration = isCallSignatureDeclaration; function isConstructSignatureDeclaration(node) { - return node.kind === 158 /* ConstructSignature */; + return node.kind === 159 /* ConstructSignature */; } ts.isConstructSignatureDeclaration = isConstructSignatureDeclaration; function isIndexSignatureDeclaration(node) { - return node.kind === 159 /* IndexSignature */; + return node.kind === 160 /* IndexSignature */; } ts.isIndexSignatureDeclaration = isIndexSignatureDeclaration; /* @internal */ function isGetOrSetAccessorDeclaration(node) { - return node.kind === 156 /* SetAccessor */ || node.kind === 155 /* GetAccessor */; + return node.kind === 157 /* SetAccessor */ || node.kind === 156 /* GetAccessor */; } ts.isGetOrSetAccessorDeclaration = isGetOrSetAccessorDeclaration; // Type function isTypePredicateNode(node) { - return node.kind === 160 /* TypePredicate */; + return node.kind === 161 /* TypePredicate */; } ts.isTypePredicateNode = isTypePredicateNode; function isTypeReferenceNode(node) { - return node.kind === 161 /* TypeReference */; + return node.kind === 162 /* TypeReference */; } ts.isTypeReferenceNode = isTypeReferenceNode; function isFunctionTypeNode(node) { - return node.kind === 162 /* FunctionType */; + return node.kind === 163 /* FunctionType */; } ts.isFunctionTypeNode = isFunctionTypeNode; function isConstructorTypeNode(node) { - return node.kind === 163 /* ConstructorType */; + return node.kind === 164 /* ConstructorType */; } ts.isConstructorTypeNode = isConstructorTypeNode; function isTypeQueryNode(node) { - return node.kind === 164 /* TypeQuery */; + return node.kind === 165 /* TypeQuery */; } ts.isTypeQueryNode = isTypeQueryNode; function isTypeLiteralNode(node) { - return node.kind === 165 /* TypeLiteral */; + return node.kind === 166 /* TypeLiteral */; } ts.isTypeLiteralNode = isTypeLiteralNode; function isArrayTypeNode(node) { - return node.kind === 166 /* ArrayType */; + return node.kind === 167 /* ArrayType */; } ts.isArrayTypeNode = isArrayTypeNode; function isTupleTypeNode(node) { - return node.kind === 167 /* TupleType */; + return node.kind === 168 /* TupleType */; } ts.isTupleTypeNode = isTupleTypeNode; function isUnionTypeNode(node) { - return node.kind === 168 /* UnionType */; + return node.kind === 169 /* UnionType */; } ts.isUnionTypeNode = isUnionTypeNode; function isIntersectionTypeNode(node) { - return node.kind === 169 /* IntersectionType */; + return node.kind === 170 /* IntersectionType */; } ts.isIntersectionTypeNode = isIntersectionTypeNode; function isConditionalTypeNode(node) { - return node.kind === 170 /* ConditionalType */; + return node.kind === 171 /* ConditionalType */; } ts.isConditionalTypeNode = isConditionalTypeNode; function isInferTypeNode(node) { - return node.kind === 171 /* InferType */; + return node.kind === 172 /* InferType */; } ts.isInferTypeNode = isInferTypeNode; function isParenthesizedTypeNode(node) { - return node.kind === 172 /* ParenthesizedType */; + return node.kind === 173 /* ParenthesizedType */; } ts.isParenthesizedTypeNode = isParenthesizedTypeNode; function isThisTypeNode(node) { - return node.kind === 173 /* ThisType */; + return node.kind === 174 /* ThisType */; } ts.isThisTypeNode = isThisTypeNode; function isTypeOperatorNode(node) { - return node.kind === 174 /* TypeOperator */; + return node.kind === 175 /* TypeOperator */; } ts.isTypeOperatorNode = isTypeOperatorNode; function isIndexedAccessTypeNode(node) { - return node.kind === 175 /* IndexedAccessType */; + return node.kind === 176 /* IndexedAccessType */; } ts.isIndexedAccessTypeNode = isIndexedAccessTypeNode; function isMappedTypeNode(node) { - return node.kind === 176 /* MappedType */; + return node.kind === 177 /* MappedType */; } ts.isMappedTypeNode = isMappedTypeNode; function isLiteralTypeNode(node) { - return node.kind === 177 /* LiteralType */; + return node.kind === 178 /* LiteralType */; } ts.isLiteralTypeNode = isLiteralTypeNode; function isImportTypeNode(node) { - return node.kind === 178 /* ImportType */; + return node.kind === 179 /* ImportType */; } ts.isImportTypeNode = isImportTypeNode; // Binding patterns function isObjectBindingPattern(node) { - return node.kind === 179 /* ObjectBindingPattern */; + return node.kind === 180 /* ObjectBindingPattern */; } ts.isObjectBindingPattern = isObjectBindingPattern; function isArrayBindingPattern(node) { - return node.kind === 180 /* ArrayBindingPattern */; + return node.kind === 181 /* ArrayBindingPattern */; } ts.isArrayBindingPattern = isArrayBindingPattern; function isBindingElement(node) { - return node.kind === 181 /* BindingElement */; + return node.kind === 182 /* BindingElement */; } ts.isBindingElement = isBindingElement; // Expression function isArrayLiteralExpression(node) { - return node.kind === 182 /* ArrayLiteralExpression */; + return node.kind === 183 /* ArrayLiteralExpression */; } ts.isArrayLiteralExpression = isArrayLiteralExpression; function isObjectLiteralExpression(node) { - return node.kind === 183 /* ObjectLiteralExpression */; + return node.kind === 184 /* ObjectLiteralExpression */; } ts.isObjectLiteralExpression = isObjectLiteralExpression; function isPropertyAccessExpression(node) { - return node.kind === 184 /* PropertyAccessExpression */; + return node.kind === 185 /* PropertyAccessExpression */; } ts.isPropertyAccessExpression = isPropertyAccessExpression; function isElementAccessExpression(node) { - return node.kind === 185 /* ElementAccessExpression */; + return node.kind === 186 /* ElementAccessExpression */; } ts.isElementAccessExpression = isElementAccessExpression; function isCallExpression(node) { - return node.kind === 186 /* CallExpression */; + return node.kind === 187 /* CallExpression */; } ts.isCallExpression = isCallExpression; function isNewExpression(node) { - return node.kind === 187 /* NewExpression */; + return node.kind === 188 /* NewExpression */; } ts.isNewExpression = isNewExpression; function isTaggedTemplateExpression(node) { - return node.kind === 188 /* TaggedTemplateExpression */; + return node.kind === 189 /* TaggedTemplateExpression */; } ts.isTaggedTemplateExpression = isTaggedTemplateExpression; function isTypeAssertion(node) { - return node.kind === 189 /* TypeAssertionExpression */; + return node.kind === 190 /* TypeAssertionExpression */; } ts.isTypeAssertion = isTypeAssertion; function isParenthesizedExpression(node) { - return node.kind === 190 /* ParenthesizedExpression */; + return node.kind === 191 /* ParenthesizedExpression */; } ts.isParenthesizedExpression = isParenthesizedExpression; function skipPartiallyEmittedExpressions(node) { - while (node.kind === 300 /* PartiallyEmittedExpression */) { + while (node.kind === 301 /* PartiallyEmittedExpression */) { node = node.expression; } return node; } ts.skipPartiallyEmittedExpressions = skipPartiallyEmittedExpressions; function isFunctionExpression(node) { - return node.kind === 191 /* FunctionExpression */; + return node.kind === 192 /* FunctionExpression */; } ts.isFunctionExpression = isFunctionExpression; function isArrowFunction(node) { - return node.kind === 192 /* ArrowFunction */; + return node.kind === 193 /* ArrowFunction */; } ts.isArrowFunction = isArrowFunction; function isDeleteExpression(node) { - return node.kind === 193 /* DeleteExpression */; + return node.kind === 194 /* DeleteExpression */; } ts.isDeleteExpression = isDeleteExpression; function isTypeOfExpression(node) { - return node.kind === 194 /* TypeOfExpression */; + return node.kind === 195 /* TypeOfExpression */; } ts.isTypeOfExpression = isTypeOfExpression; function isVoidExpression(node) { - return node.kind === 195 /* VoidExpression */; + return node.kind === 196 /* VoidExpression */; } ts.isVoidExpression = isVoidExpression; function isAwaitExpression(node) { - return node.kind === 196 /* AwaitExpression */; + return node.kind === 197 /* AwaitExpression */; } ts.isAwaitExpression = isAwaitExpression; function isPrefixUnaryExpression(node) { - return node.kind === 197 /* PrefixUnaryExpression */; + return node.kind === 198 /* PrefixUnaryExpression */; } ts.isPrefixUnaryExpression = isPrefixUnaryExpression; function isPostfixUnaryExpression(node) { - return node.kind === 198 /* PostfixUnaryExpression */; + return node.kind === 199 /* PostfixUnaryExpression */; } ts.isPostfixUnaryExpression = isPostfixUnaryExpression; function isBinaryExpression(node) { - return node.kind === 199 /* BinaryExpression */; + return node.kind === 200 /* BinaryExpression */; } ts.isBinaryExpression = isBinaryExpression; function isConditionalExpression(node) { - return node.kind === 200 /* ConditionalExpression */; + return node.kind === 201 /* ConditionalExpression */; } ts.isConditionalExpression = isConditionalExpression; function isTemplateExpression(node) { - return node.kind === 201 /* TemplateExpression */; + return node.kind === 202 /* TemplateExpression */; } ts.isTemplateExpression = isTemplateExpression; function isYieldExpression(node) { - return node.kind === 202 /* YieldExpression */; + return node.kind === 203 /* YieldExpression */; } ts.isYieldExpression = isYieldExpression; function isSpreadElement(node) { - return node.kind === 203 /* SpreadElement */; + return node.kind === 204 /* SpreadElement */; } ts.isSpreadElement = isSpreadElement; function isClassExpression(node) { - return node.kind === 204 /* ClassExpression */; + return node.kind === 205 /* ClassExpression */; } ts.isClassExpression = isClassExpression; function isOmittedExpression(node) { - return node.kind === 205 /* OmittedExpression */; + return node.kind === 206 /* OmittedExpression */; } ts.isOmittedExpression = isOmittedExpression; function isExpressionWithTypeArguments(node) { - return node.kind === 206 /* ExpressionWithTypeArguments */; + return node.kind === 207 /* ExpressionWithTypeArguments */; } ts.isExpressionWithTypeArguments = isExpressionWithTypeArguments; function isAsExpression(node) { - return node.kind === 207 /* AsExpression */; + return node.kind === 208 /* AsExpression */; } ts.isAsExpression = isAsExpression; function isNonNullExpression(node) { - return node.kind === 208 /* NonNullExpression */; + return node.kind === 209 /* NonNullExpression */; } ts.isNonNullExpression = isNonNullExpression; function isMetaProperty(node) { - return node.kind === 209 /* MetaProperty */; + return node.kind === 210 /* MetaProperty */; } ts.isMetaProperty = isMetaProperty; // Misc function isTemplateSpan(node) { - return node.kind === 210 /* TemplateSpan */; + return node.kind === 211 /* TemplateSpan */; } ts.isTemplateSpan = isTemplateSpan; function isSemicolonClassElement(node) { - return node.kind === 211 /* SemicolonClassElement */; + return node.kind === 212 /* SemicolonClassElement */; } ts.isSemicolonClassElement = isSemicolonClassElement; // Block function isBlock(node) { - return node.kind === 212 /* Block */; + return node.kind === 213 /* Block */; } ts.isBlock = isBlock; function isVariableStatement(node) { - return node.kind === 213 /* VariableStatement */; + return node.kind === 214 /* VariableStatement */; } ts.isVariableStatement = isVariableStatement; function isEmptyStatement(node) { - return node.kind === 214 /* EmptyStatement */; + return node.kind === 215 /* EmptyStatement */; } ts.isEmptyStatement = isEmptyStatement; function isExpressionStatement(node) { - return node.kind === 215 /* ExpressionStatement */; + return node.kind === 216 /* ExpressionStatement */; } ts.isExpressionStatement = isExpressionStatement; function isIfStatement(node) { - return node.kind === 216 /* IfStatement */; + return node.kind === 217 /* IfStatement */; } ts.isIfStatement = isIfStatement; function isDoStatement(node) { - return node.kind === 217 /* DoStatement */; + return node.kind === 218 /* DoStatement */; } ts.isDoStatement = isDoStatement; function isWhileStatement(node) { - return node.kind === 218 /* WhileStatement */; + return node.kind === 219 /* WhileStatement */; } ts.isWhileStatement = isWhileStatement; function isForStatement(node) { - return node.kind === 219 /* ForStatement */; + return node.kind === 220 /* ForStatement */; } ts.isForStatement = isForStatement; function isForInStatement(node) { - return node.kind === 220 /* ForInStatement */; + return node.kind === 221 /* ForInStatement */; } ts.isForInStatement = isForInStatement; function isForOfStatement(node) { - return node.kind === 221 /* ForOfStatement */; + return node.kind === 222 /* ForOfStatement */; } ts.isForOfStatement = isForOfStatement; function isContinueStatement(node) { - return node.kind === 222 /* ContinueStatement */; + return node.kind === 223 /* ContinueStatement */; } ts.isContinueStatement = isContinueStatement; function isBreakStatement(node) { - return node.kind === 223 /* BreakStatement */; + return node.kind === 224 /* BreakStatement */; } ts.isBreakStatement = isBreakStatement; function isBreakOrContinueStatement(node) { - return node.kind === 223 /* BreakStatement */ || node.kind === 222 /* ContinueStatement */; + return node.kind === 224 /* BreakStatement */ || node.kind === 223 /* ContinueStatement */; } ts.isBreakOrContinueStatement = isBreakOrContinueStatement; function isReturnStatement(node) { - return node.kind === 224 /* ReturnStatement */; + return node.kind === 225 /* ReturnStatement */; } ts.isReturnStatement = isReturnStatement; function isWithStatement(node) { - return node.kind === 225 /* WithStatement */; + return node.kind === 226 /* WithStatement */; } ts.isWithStatement = isWithStatement; function isSwitchStatement(node) { - return node.kind === 226 /* SwitchStatement */; + return node.kind === 227 /* SwitchStatement */; } ts.isSwitchStatement = isSwitchStatement; function isLabeledStatement(node) { - return node.kind === 227 /* LabeledStatement */; + return node.kind === 228 /* LabeledStatement */; } ts.isLabeledStatement = isLabeledStatement; function isThrowStatement(node) { - return node.kind === 228 /* ThrowStatement */; + return node.kind === 229 /* ThrowStatement */; } ts.isThrowStatement = isThrowStatement; function isTryStatement(node) { - return node.kind === 229 /* TryStatement */; + return node.kind === 230 /* TryStatement */; } ts.isTryStatement = isTryStatement; function isDebuggerStatement(node) { - return node.kind === 230 /* DebuggerStatement */; + return node.kind === 231 /* DebuggerStatement */; } ts.isDebuggerStatement = isDebuggerStatement; function isVariableDeclaration(node) { - return node.kind === 231 /* VariableDeclaration */; + return node.kind === 232 /* VariableDeclaration */; } ts.isVariableDeclaration = isVariableDeclaration; function isVariableDeclarationList(node) { - return node.kind === 232 /* VariableDeclarationList */; + return node.kind === 233 /* VariableDeclarationList */; } ts.isVariableDeclarationList = isVariableDeclarationList; function isFunctionDeclaration(node) { - return node.kind === 233 /* FunctionDeclaration */; + return node.kind === 234 /* FunctionDeclaration */; } ts.isFunctionDeclaration = isFunctionDeclaration; function isClassDeclaration(node) { - return node.kind === 234 /* ClassDeclaration */; + return node.kind === 235 /* ClassDeclaration */; } ts.isClassDeclaration = isClassDeclaration; function isInterfaceDeclaration(node) { - return node.kind === 235 /* InterfaceDeclaration */; + return node.kind === 236 /* InterfaceDeclaration */; } ts.isInterfaceDeclaration = isInterfaceDeclaration; function isTypeAliasDeclaration(node) { - return node.kind === 236 /* TypeAliasDeclaration */; + return node.kind === 237 /* TypeAliasDeclaration */; } ts.isTypeAliasDeclaration = isTypeAliasDeclaration; function isEnumDeclaration(node) { - return node.kind === 237 /* EnumDeclaration */; + return node.kind === 238 /* EnumDeclaration */; } ts.isEnumDeclaration = isEnumDeclaration; function isModuleDeclaration(node) { - return node.kind === 238 /* ModuleDeclaration */; + return node.kind === 239 /* ModuleDeclaration */; } ts.isModuleDeclaration = isModuleDeclaration; function isModuleBlock(node) { - return node.kind === 239 /* ModuleBlock */; + return node.kind === 240 /* ModuleBlock */; } ts.isModuleBlock = isModuleBlock; function isCaseBlock(node) { - return node.kind === 240 /* CaseBlock */; + return node.kind === 241 /* CaseBlock */; } ts.isCaseBlock = isCaseBlock; function isNamespaceExportDeclaration(node) { - return node.kind === 241 /* NamespaceExportDeclaration */; + return node.kind === 242 /* NamespaceExportDeclaration */; } ts.isNamespaceExportDeclaration = isNamespaceExportDeclaration; function isImportEqualsDeclaration(node) { - return node.kind === 242 /* ImportEqualsDeclaration */; + return node.kind === 243 /* ImportEqualsDeclaration */; } ts.isImportEqualsDeclaration = isImportEqualsDeclaration; function isImportDeclaration(node) { - return node.kind === 243 /* ImportDeclaration */; + return node.kind === 244 /* ImportDeclaration */; } ts.isImportDeclaration = isImportDeclaration; function isImportClause(node) { - return node.kind === 244 /* ImportClause */; + return node.kind === 245 /* ImportClause */; } ts.isImportClause = isImportClause; function isNamespaceImport(node) { - return node.kind === 245 /* NamespaceImport */; + return node.kind === 246 /* NamespaceImport */; } ts.isNamespaceImport = isNamespaceImport; function isNamedImports(node) { - return node.kind === 246 /* NamedImports */; + return node.kind === 247 /* NamedImports */; } ts.isNamedImports = isNamedImports; function isImportSpecifier(node) { - return node.kind === 247 /* ImportSpecifier */; + return node.kind === 248 /* ImportSpecifier */; } ts.isImportSpecifier = isImportSpecifier; function isExportAssignment(node) { - return node.kind === 248 /* ExportAssignment */; + return node.kind === 249 /* ExportAssignment */; } ts.isExportAssignment = isExportAssignment; function isExportDeclaration(node) { - return node.kind === 249 /* ExportDeclaration */; + return node.kind === 250 /* ExportDeclaration */; } ts.isExportDeclaration = isExportDeclaration; function isNamedExports(node) { - return node.kind === 250 /* NamedExports */; + return node.kind === 251 /* NamedExports */; } ts.isNamedExports = isNamedExports; function isExportSpecifier(node) { - return node.kind === 251 /* ExportSpecifier */; + return node.kind === 252 /* ExportSpecifier */; } ts.isExportSpecifier = isExportSpecifier; function isMissingDeclaration(node) { - return node.kind === 252 /* MissingDeclaration */; + return node.kind === 253 /* MissingDeclaration */; } ts.isMissingDeclaration = isMissingDeclaration; // Module References function isExternalModuleReference(node) { - return node.kind === 253 /* ExternalModuleReference */; + return node.kind === 254 /* ExternalModuleReference */; } ts.isExternalModuleReference = isExternalModuleReference; // JSX function isJsxElement(node) { - return node.kind === 254 /* JsxElement */; + return node.kind === 255 /* JsxElement */; } ts.isJsxElement = isJsxElement; function isJsxSelfClosingElement(node) { - return node.kind === 255 /* JsxSelfClosingElement */; + return node.kind === 256 /* JsxSelfClosingElement */; } ts.isJsxSelfClosingElement = isJsxSelfClosingElement; function isJsxOpeningElement(node) { - return node.kind === 256 /* JsxOpeningElement */; + return node.kind === 257 /* JsxOpeningElement */; } ts.isJsxOpeningElement = isJsxOpeningElement; function isJsxClosingElement(node) { - return node.kind === 257 /* JsxClosingElement */; + return node.kind === 258 /* JsxClosingElement */; } ts.isJsxClosingElement = isJsxClosingElement; function isJsxFragment(node) { - return node.kind === 258 /* JsxFragment */; + return node.kind === 259 /* JsxFragment */; } ts.isJsxFragment = isJsxFragment; function isJsxOpeningFragment(node) { - return node.kind === 259 /* JsxOpeningFragment */; + return node.kind === 260 /* JsxOpeningFragment */; } ts.isJsxOpeningFragment = isJsxOpeningFragment; function isJsxClosingFragment(node) { - return node.kind === 260 /* JsxClosingFragment */; + return node.kind === 261 /* JsxClosingFragment */; } ts.isJsxClosingFragment = isJsxClosingFragment; function isJsxAttribute(node) { - return node.kind === 261 /* JsxAttribute */; + return node.kind === 262 /* JsxAttribute */; } ts.isJsxAttribute = isJsxAttribute; function isJsxAttributes(node) { - return node.kind === 262 /* JsxAttributes */; + return node.kind === 263 /* JsxAttributes */; } ts.isJsxAttributes = isJsxAttributes; function isJsxSpreadAttribute(node) { - return node.kind === 263 /* JsxSpreadAttribute */; + return node.kind === 264 /* JsxSpreadAttribute */; } ts.isJsxSpreadAttribute = isJsxSpreadAttribute; function isJsxExpression(node) { - return node.kind === 264 /* JsxExpression */; + return node.kind === 265 /* JsxExpression */; } ts.isJsxExpression = isJsxExpression; // Clauses function isCaseClause(node) { - return node.kind === 265 /* CaseClause */; + return node.kind === 266 /* CaseClause */; } ts.isCaseClause = isCaseClause; function isDefaultClause(node) { - return node.kind === 266 /* DefaultClause */; + return node.kind === 267 /* DefaultClause */; } ts.isDefaultClause = isDefaultClause; function isHeritageClause(node) { - return node.kind === 267 /* HeritageClause */; + return node.kind === 268 /* HeritageClause */; } ts.isHeritageClause = isHeritageClause; function isCatchClause(node) { - return node.kind === 268 /* CatchClause */; + return node.kind === 269 /* CatchClause */; } ts.isCatchClause = isCatchClause; // Property assignments function isPropertyAssignment(node) { - return node.kind === 269 /* PropertyAssignment */; + return node.kind === 270 /* PropertyAssignment */; } ts.isPropertyAssignment = isPropertyAssignment; function isShorthandPropertyAssignment(node) { - return node.kind === 270 /* ShorthandPropertyAssignment */; + return node.kind === 271 /* ShorthandPropertyAssignment */; } ts.isShorthandPropertyAssignment = isShorthandPropertyAssignment; function isSpreadAssignment(node) { - return node.kind === 271 /* SpreadAssignment */; + return node.kind === 272 /* SpreadAssignment */; } ts.isSpreadAssignment = isSpreadAssignment; // Enum function isEnumMember(node) { - return node.kind === 272 /* EnumMember */; + return node.kind === 273 /* EnumMember */; } ts.isEnumMember = isEnumMember; // Top-level nodes function isSourceFile(node) { - return node.kind === 273 /* SourceFile */; + return node.kind === 274 /* SourceFile */; } ts.isSourceFile = isSourceFile; function isBundle(node) { - return node.kind === 274 /* Bundle */; + return node.kind === 275 /* Bundle */; } ts.isBundle = isBundle; // JSDoc function isJSDocTypeExpression(node) { - return node.kind === 277 /* JSDocTypeExpression */; + return node.kind === 278 /* JSDocTypeExpression */; } ts.isJSDocTypeExpression = isJSDocTypeExpression; function isJSDocAllType(node) { - return node.kind === 278 /* JSDocAllType */; + return node.kind === 279 /* JSDocAllType */; } ts.isJSDocAllType = isJSDocAllType; function isJSDocUnknownType(node) { - return node.kind === 279 /* JSDocUnknownType */; + return node.kind === 280 /* JSDocUnknownType */; } ts.isJSDocUnknownType = isJSDocUnknownType; function isJSDocNullableType(node) { - return node.kind === 280 /* JSDocNullableType */; + return node.kind === 281 /* JSDocNullableType */; } ts.isJSDocNullableType = isJSDocNullableType; function isJSDocNonNullableType(node) { - return node.kind === 281 /* JSDocNonNullableType */; + return node.kind === 282 /* JSDocNonNullableType */; } ts.isJSDocNonNullableType = isJSDocNonNullableType; function isJSDocOptionalType(node) { - return node.kind === 282 /* JSDocOptionalType */; + return node.kind === 283 /* JSDocOptionalType */; } ts.isJSDocOptionalType = isJSDocOptionalType; function isJSDocFunctionType(node) { - return node.kind === 283 /* JSDocFunctionType */; + return node.kind === 284 /* JSDocFunctionType */; } ts.isJSDocFunctionType = isJSDocFunctionType; function isJSDocVariadicType(node) { - return node.kind === 284 /* JSDocVariadicType */; + return node.kind === 285 /* JSDocVariadicType */; } ts.isJSDocVariadicType = isJSDocVariadicType; function isJSDoc(node) { - return node.kind === 285 /* JSDocComment */; + return node.kind === 286 /* JSDocComment */; } ts.isJSDoc = isJSDoc; function isJSDocAugmentsTag(node) { - return node.kind === 289 /* JSDocAugmentsTag */; + return node.kind === 290 /* JSDocAugmentsTag */; } ts.isJSDocAugmentsTag = isJSDocAugmentsTag; function isJSDocClassTag(node) { - return node.kind === 290 /* JSDocClassTag */; + return node.kind === 291 /* JSDocClassTag */; } ts.isJSDocClassTag = isJSDocClassTag; function isJSDocParameterTag(node) { - return node.kind === 292 /* JSDocParameterTag */; + return node.kind === 293 /* JSDocParameterTag */; } ts.isJSDocParameterTag = isJSDocParameterTag; function isJSDocReturnTag(node) { - return node.kind === 293 /* JSDocReturnTag */; + return node.kind === 294 /* JSDocReturnTag */; } ts.isJSDocReturnTag = isJSDocReturnTag; function isJSDocTypeTag(node) { - return node.kind === 294 /* JSDocTypeTag */; + return node.kind === 295 /* JSDocTypeTag */; } ts.isJSDocTypeTag = isJSDocTypeTag; function isJSDocTemplateTag(node) { - return node.kind === 295 /* JSDocTemplateTag */; + return node.kind === 296 /* JSDocTemplateTag */; } ts.isJSDocTemplateTag = isJSDocTemplateTag; function isJSDocTypedefTag(node) { - return node.kind === 296 /* JSDocTypedefTag */; + return node.kind === 297 /* JSDocTypedefTag */; } ts.isJSDocTypedefTag = isJSDocTypedefTag; function isJSDocPropertyTag(node) { - return node.kind === 297 /* JSDocPropertyTag */; + return node.kind === 298 /* JSDocPropertyTag */; } ts.isJSDocPropertyTag = isJSDocPropertyTag; function isJSDocPropertyLikeTag(node) { - return node.kind === 297 /* JSDocPropertyTag */ || node.kind === 292 /* JSDocParameterTag */; + return node.kind === 298 /* JSDocPropertyTag */ || node.kind === 293 /* JSDocParameterTag */; } ts.isJSDocPropertyLikeTag = isJSDocPropertyLikeTag; function isJSDocTypeLiteral(node) { - return node.kind === 286 /* JSDocTypeLiteral */; + return node.kind === 287 /* JSDocTypeLiteral */; } ts.isJSDocTypeLiteral = isJSDocTypeLiteral; function isJSDocCallbackTag(node) { - return node.kind === 291 /* JSDocCallbackTag */; + return node.kind === 292 /* JSDocCallbackTag */; } ts.isJSDocCallbackTag = isJSDocCallbackTag; function isJSDocSignature(node) { - return node.kind === 287 /* JSDocSignature */; + return node.kind === 288 /* JSDocSignature */; } ts.isJSDocSignature = isJSDocSignature; })(ts || (ts = {})); @@ -13855,7 +13903,7 @@ var ts; (function (ts) { /* @internal */ function isSyntaxList(n) { - return n.kind === 298 /* SyntaxList */; + return n.kind === 299 /* SyntaxList */; } ts.isSyntaxList = isSyntaxList; /* @internal */ @@ -13865,7 +13913,7 @@ var ts; ts.isNode = isNode; /* @internal */ function isNodeKind(kind) { - return kind >= 145 /* FirstNode */; + return kind >= 146 /* FirstNode */; } ts.isNodeKind = isNodeKind; /** @@ -13874,7 +13922,7 @@ var ts; * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail. */ function isToken(n) { - return n.kind >= 0 /* FirstToken */ && n.kind <= 144 /* LastToken */; + return n.kind >= 0 /* FirstToken */ && n.kind <= 145 /* LastToken */; } ts.isToken = isToken; // Node Arrays @@ -13899,6 +13947,10 @@ var ts; return 13 /* FirstTemplateToken */ <= kind && kind <= 16 /* LastTemplateToken */; } ts.isTemplateLiteralKind = isTemplateLiteralKind; + function isTemplateLiteralToken(node) { + return isTemplateLiteralKind(node.kind); + } + ts.isTemplateLiteralToken = isTemplateLiteralToken; function isTemplateMiddleOrTemplateTail(node) { var kind = node.kind; return kind === 15 /* TemplateMiddle */ @@ -13912,7 +13964,6 @@ var ts; // Identifiers /* @internal */ function isGeneratedIdentifier(node) { - // Using `>` here catches both `GeneratedIdentifierKind.None` and `undefined`. return ts.isIdentifier(node) && (node.autoGenerateFlags & 7 /* KindMask */) > 0 /* None */; } ts.isGeneratedIdentifier = isGeneratedIdentifier; @@ -13952,7 +14003,7 @@ var ts; ts.isModifier = isModifier; function isEntityName(node) { var kind = node.kind; - return kind === 145 /* QualifiedName */ + return kind === 146 /* QualifiedName */ || kind === 71 /* Identifier */; } ts.isEntityName = isEntityName; @@ -13961,14 +14012,14 @@ var ts; return kind === 71 /* Identifier */ || kind === 9 /* StringLiteral */ || kind === 8 /* NumericLiteral */ - || kind === 146 /* ComputedPropertyName */; + || kind === 147 /* ComputedPropertyName */; } ts.isPropertyName = isPropertyName; function isBindingName(node) { var kind = node.kind; return kind === 71 /* Identifier */ - || kind === 179 /* ObjectBindingPattern */ - || kind === 180 /* ArrayBindingPattern */; + || kind === 180 /* ObjectBindingPattern */ + || kind === 181 /* ArrayBindingPattern */; } ts.isBindingName = isBindingName; // Functions @@ -13983,13 +14034,13 @@ var ts; ts.isFunctionLikeDeclaration = isFunctionLikeDeclaration; function isFunctionLikeDeclarationKind(kind) { switch (kind) { - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return true; default: return false; @@ -13998,14 +14049,14 @@ var ts; /* @internal */ function isFunctionLikeKind(kind) { switch (kind) { - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 287 /* JSDocSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 162 /* FunctionType */: - case 283 /* JSDocFunctionType */: - case 163 /* ConstructorType */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 288 /* JSDocSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 163 /* FunctionType */: + case 284 /* JSDocFunctionType */: + case 164 /* ConstructorType */: return true; default: return isFunctionLikeDeclarationKind(kind); @@ -14020,29 +14071,29 @@ var ts; // Classes function isClassElement(node) { var kind = node.kind; - return kind === 154 /* Constructor */ - || kind === 151 /* PropertyDeclaration */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */ - || kind === 159 /* IndexSignature */ - || kind === 211 /* SemicolonClassElement */; + return kind === 155 /* Constructor */ + || kind === 152 /* PropertyDeclaration */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */ + || kind === 160 /* IndexSignature */ + || kind === 212 /* SemicolonClassElement */; } ts.isClassElement = isClassElement; function isClassLike(node) { - return node && (node.kind === 234 /* ClassDeclaration */ || node.kind === 204 /* ClassExpression */); + return node && (node.kind === 235 /* ClassDeclaration */ || node.kind === 205 /* ClassExpression */); } ts.isClassLike = isClassLike; function isAccessor(node) { - return node && (node.kind === 155 /* GetAccessor */ || node.kind === 156 /* SetAccessor */); + return node && (node.kind === 156 /* GetAccessor */ || node.kind === 157 /* SetAccessor */); } ts.isAccessor = isAccessor; /* @internal */ function isMethodOrAccessor(node) { switch (node.kind) { - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return true; default: return false; @@ -14052,11 +14103,11 @@ var ts; // Type members function isTypeElement(node) { var kind = node.kind; - return kind === 158 /* ConstructSignature */ - || kind === 157 /* CallSignature */ - || kind === 150 /* PropertySignature */ - || kind === 152 /* MethodSignature */ - || kind === 159 /* IndexSignature */; + return kind === 159 /* ConstructSignature */ + || kind === 158 /* CallSignature */ + || kind === 151 /* PropertySignature */ + || kind === 153 /* MethodSignature */ + || kind === 160 /* IndexSignature */; } ts.isTypeElement = isTypeElement; function isClassOrTypeElement(node) { @@ -14065,18 +14116,19 @@ var ts; ts.isClassOrTypeElement = isClassOrTypeElement; function isObjectLiteralElementLike(node) { var kind = node.kind; - return kind === 269 /* PropertyAssignment */ - || kind === 270 /* ShorthandPropertyAssignment */ - || kind === 271 /* SpreadAssignment */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */; + return kind === 270 /* PropertyAssignment */ + || kind === 271 /* ShorthandPropertyAssignment */ + || kind === 272 /* SpreadAssignment */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */; } ts.isObjectLiteralElementLike = isObjectLiteralElementLike; // Type function isTypeNodeKind(kind) { - return (kind >= 160 /* FirstTypeNode */ && kind <= 178 /* LastTypeNode */) + return (kind >= 161 /* FirstTypeNode */ && kind <= 179 /* LastTypeNode */) || kind === 119 /* AnyKeyword */ + || kind === 142 /* UnknownKeyword */ || kind === 134 /* NumberKeyword */ || kind === 135 /* ObjectKeyword */ || kind === 122 /* BooleanKeyword */ @@ -14087,14 +14139,14 @@ var ts; || kind === 140 /* UndefinedKeyword */ || kind === 95 /* NullKeyword */ || kind === 131 /* NeverKeyword */ - || kind === 206 /* ExpressionWithTypeArguments */ - || kind === 278 /* JSDocAllType */ - || kind === 279 /* JSDocUnknownType */ - || kind === 280 /* JSDocNullableType */ - || kind === 281 /* JSDocNonNullableType */ - || kind === 282 /* JSDocOptionalType */ - || kind === 283 /* JSDocFunctionType */ - || kind === 284 /* JSDocVariadicType */; + || kind === 207 /* ExpressionWithTypeArguments */ + || kind === 279 /* JSDocAllType */ + || kind === 280 /* JSDocUnknownType */ + || kind === 281 /* JSDocNullableType */ + || kind === 282 /* JSDocNonNullableType */ + || kind === 283 /* JSDocOptionalType */ + || kind === 284 /* JSDocFunctionType */ + || kind === 285 /* JSDocVariadicType */; } /** * Node test that determines whether a node is a valid type node. @@ -14107,8 +14159,8 @@ var ts; ts.isTypeNode = isTypeNode; function isFunctionOrConstructorTypeNode(node) { switch (node.kind) { - case 162 /* FunctionType */: - case 163 /* ConstructorType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: return true; } return false; @@ -14119,8 +14171,8 @@ var ts; function isBindingPattern(node) { if (node) { var kind = node.kind; - return kind === 180 /* ArrayBindingPattern */ - || kind === 179 /* ObjectBindingPattern */; + return kind === 181 /* ArrayBindingPattern */ + || kind === 180 /* ObjectBindingPattern */; } return false; } @@ -14128,15 +14180,15 @@ var ts; /* @internal */ function isAssignmentPattern(node) { var kind = node.kind; - return kind === 182 /* ArrayLiteralExpression */ - || kind === 183 /* ObjectLiteralExpression */; + return kind === 183 /* ArrayLiteralExpression */ + || kind === 184 /* ObjectLiteralExpression */; } ts.isAssignmentPattern = isAssignmentPattern; /* @internal */ function isArrayBindingElement(node) { var kind = node.kind; - return kind === 181 /* BindingElement */ - || kind === 205 /* OmittedExpression */; + return kind === 182 /* BindingElement */ + || kind === 206 /* OmittedExpression */; } ts.isArrayBindingElement = isArrayBindingElement; /** @@ -14145,9 +14197,9 @@ var ts; /* @internal */ function isDeclarationBindingElement(bindingElement) { switch (bindingElement.kind) { - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: - case 181 /* BindingElement */: + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: + case 182 /* BindingElement */: return true; } return false; @@ -14168,8 +14220,8 @@ var ts; /* @internal */ function isObjectBindingOrAssignmentPattern(node) { switch (node.kind) { - case 179 /* ObjectBindingPattern */: - case 183 /* ObjectLiteralExpression */: + case 180 /* ObjectBindingPattern */: + case 184 /* ObjectLiteralExpression */: return true; } return false; @@ -14181,8 +14233,8 @@ var ts; /* @internal */ function isArrayBindingOrAssignmentPattern(node) { switch (node.kind) { - case 180 /* ArrayBindingPattern */: - case 182 /* ArrayLiteralExpression */: + case 181 /* ArrayBindingPattern */: + case 183 /* ArrayLiteralExpression */: return true; } return false; @@ -14191,26 +14243,26 @@ var ts; /* @internal */ function isPropertyAccessOrQualifiedNameOrImportTypeNode(node) { var kind = node.kind; - return kind === 184 /* PropertyAccessExpression */ - || kind === 145 /* QualifiedName */ - || kind === 178 /* ImportType */; + return kind === 185 /* PropertyAccessExpression */ + || kind === 146 /* QualifiedName */ + || kind === 179 /* ImportType */; } ts.isPropertyAccessOrQualifiedNameOrImportTypeNode = isPropertyAccessOrQualifiedNameOrImportTypeNode; // Expression function isPropertyAccessOrQualifiedName(node) { var kind = node.kind; - return kind === 184 /* PropertyAccessExpression */ - || kind === 145 /* QualifiedName */; + return kind === 185 /* PropertyAccessExpression */ + || kind === 146 /* QualifiedName */; } ts.isPropertyAccessOrQualifiedName = isPropertyAccessOrQualifiedName; function isCallLikeExpression(node) { switch (node.kind) { - case 256 /* JsxOpeningElement */: - case 255 /* JsxSelfClosingElement */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 188 /* TaggedTemplateExpression */: - case 149 /* Decorator */: + case 257 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 189 /* TaggedTemplateExpression */: + case 150 /* Decorator */: return true; default: return false; @@ -14218,12 +14270,12 @@ var ts; } ts.isCallLikeExpression = isCallLikeExpression; function isCallOrNewExpression(node) { - return node.kind === 186 /* CallExpression */ || node.kind === 187 /* NewExpression */; + return node.kind === 187 /* CallExpression */ || node.kind === 188 /* NewExpression */; } ts.isCallOrNewExpression = isCallOrNewExpression; function isTemplateLiteral(node) { var kind = node.kind; - return kind === 201 /* TemplateExpression */ + return kind === 202 /* TemplateExpression */ || kind === 13 /* NoSubstitutionTemplateLiteral */; } ts.isTemplateLiteral = isTemplateLiteral; @@ -14234,32 +14286,32 @@ var ts; ts.isLeftHandSideExpression = isLeftHandSideExpression; function isLeftHandSideExpressionKind(kind) { switch (kind) { - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: - case 187 /* NewExpression */: - case 186 /* CallExpression */: - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: - case 258 /* JsxFragment */: - case 188 /* TaggedTemplateExpression */: - case 182 /* ArrayLiteralExpression */: - case 190 /* ParenthesizedExpression */: - case 183 /* ObjectLiteralExpression */: - case 204 /* ClassExpression */: - case 191 /* FunctionExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: + case 188 /* NewExpression */: + case 187 /* CallExpression */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: + case 259 /* JsxFragment */: + case 189 /* TaggedTemplateExpression */: + case 183 /* ArrayLiteralExpression */: + case 191 /* ParenthesizedExpression */: + case 184 /* ObjectLiteralExpression */: + case 205 /* ClassExpression */: + case 192 /* FunctionExpression */: case 71 /* Identifier */: case 12 /* RegularExpressionLiteral */: case 8 /* NumericLiteral */: case 9 /* StringLiteral */: case 13 /* NoSubstitutionTemplateLiteral */: - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: case 86 /* FalseKeyword */: case 95 /* NullKeyword */: case 99 /* ThisKeyword */: case 101 /* TrueKeyword */: case 97 /* SuperKeyword */: - case 208 /* NonNullExpression */: - case 209 /* MetaProperty */: + case 209 /* NonNullExpression */: + case 210 /* MetaProperty */: case 91 /* ImportKeyword */: // technically this is only an Expression if it's in a CallExpression return true; default: @@ -14273,13 +14325,13 @@ var ts; ts.isUnaryExpression = isUnaryExpression; function isUnaryExpressionKind(kind) { switch (kind) { - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: - case 193 /* DeleteExpression */: - case 194 /* TypeOfExpression */: - case 195 /* VoidExpression */: - case 196 /* AwaitExpression */: - case 189 /* TypeAssertionExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: + case 194 /* DeleteExpression */: + case 195 /* TypeOfExpression */: + case 196 /* VoidExpression */: + case 197 /* AwaitExpression */: + case 190 /* TypeAssertionExpression */: return true; default: return isLeftHandSideExpressionKind(kind); @@ -14288,9 +14340,9 @@ var ts; /* @internal */ function isUnaryExpressionWithWrite(expr) { switch (expr.kind) { - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return true; - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return expr.operator === 43 /* PlusPlusToken */ || expr.operator === 44 /* MinusMinusToken */; default: @@ -14309,15 +14361,15 @@ var ts; ts.isExpression = isExpression; function isExpressionKind(kind) { switch (kind) { - case 200 /* ConditionalExpression */: - case 202 /* YieldExpression */: - case 192 /* ArrowFunction */: - case 199 /* BinaryExpression */: - case 203 /* SpreadElement */: - case 207 /* AsExpression */: - case 205 /* OmittedExpression */: - case 301 /* CommaListExpression */: - case 300 /* PartiallyEmittedExpression */: + case 201 /* ConditionalExpression */: + case 203 /* YieldExpression */: + case 193 /* ArrowFunction */: + case 200 /* BinaryExpression */: + case 204 /* SpreadElement */: + case 208 /* AsExpression */: + case 206 /* OmittedExpression */: + case 302 /* CommaListExpression */: + case 301 /* PartiallyEmittedExpression */: return true; default: return isUnaryExpressionKind(kind); @@ -14325,18 +14377,18 @@ var ts; } function isAssertionExpression(node) { var kind = node.kind; - return kind === 189 /* TypeAssertionExpression */ - || kind === 207 /* AsExpression */; + return kind === 190 /* TypeAssertionExpression */ + || kind === 208 /* AsExpression */; } ts.isAssertionExpression = isAssertionExpression; /* @internal */ function isPartiallyEmittedExpression(node) { - return node.kind === 300 /* PartiallyEmittedExpression */; + return node.kind === 301 /* PartiallyEmittedExpression */; } ts.isPartiallyEmittedExpression = isPartiallyEmittedExpression; /* @internal */ function isNotEmittedStatement(node) { - return node.kind === 299 /* NotEmittedStatement */; + return node.kind === 300 /* NotEmittedStatement */; } ts.isNotEmittedStatement = isNotEmittedStatement; /* @internal */ @@ -14347,13 +14399,13 @@ var ts; ts.isNotEmittedOrPartiallyEmittedNode = isNotEmittedOrPartiallyEmittedNode; function isIterationStatement(node, lookInLabeledStatements) { switch (node.kind) { - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: return true; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return lookInLabeledStatements && isIterationStatement(node.statement, lookInLabeledStatements); } return false; @@ -14361,7 +14413,7 @@ var ts; ts.isIterationStatement = isIterationStatement; /* @internal */ function isForInOrOfStatement(node) { - return node.kind === 220 /* ForInStatement */ || node.kind === 221 /* ForOfStatement */; + return node.kind === 221 /* ForInStatement */ || node.kind === 222 /* ForOfStatement */; } ts.isForInOrOfStatement = isForInOrOfStatement; // Element @@ -14385,113 +14437,113 @@ var ts; /* @internal */ function isModuleBody(node) { var kind = node.kind; - return kind === 239 /* ModuleBlock */ - || kind === 238 /* ModuleDeclaration */ + return kind === 240 /* ModuleBlock */ + || kind === 239 /* ModuleDeclaration */ || kind === 71 /* Identifier */; } ts.isModuleBody = isModuleBody; /* @internal */ function isNamespaceBody(node) { var kind = node.kind; - return kind === 239 /* ModuleBlock */ - || kind === 238 /* ModuleDeclaration */; + return kind === 240 /* ModuleBlock */ + || kind === 239 /* ModuleDeclaration */; } ts.isNamespaceBody = isNamespaceBody; /* @internal */ function isJSDocNamespaceBody(node) { var kind = node.kind; return kind === 71 /* Identifier */ - || kind === 238 /* ModuleDeclaration */; + || kind === 239 /* ModuleDeclaration */; } ts.isJSDocNamespaceBody = isJSDocNamespaceBody; /* @internal */ function isNamedImportBindings(node) { var kind = node.kind; - return kind === 246 /* NamedImports */ - || kind === 245 /* NamespaceImport */; + return kind === 247 /* NamedImports */ + || kind === 246 /* NamespaceImport */; } ts.isNamedImportBindings = isNamedImportBindings; /* @internal */ function isModuleOrEnumDeclaration(node) { - return node.kind === 238 /* ModuleDeclaration */ || node.kind === 237 /* EnumDeclaration */; + return node.kind === 239 /* ModuleDeclaration */ || node.kind === 238 /* EnumDeclaration */; } ts.isModuleOrEnumDeclaration = isModuleOrEnumDeclaration; function isDeclarationKind(kind) { - return kind === 192 /* ArrowFunction */ - || kind === 181 /* BindingElement */ - || kind === 234 /* ClassDeclaration */ - || kind === 204 /* ClassExpression */ - || kind === 154 /* Constructor */ - || kind === 237 /* EnumDeclaration */ - || kind === 272 /* EnumMember */ - || kind === 251 /* ExportSpecifier */ - || kind === 233 /* FunctionDeclaration */ - || kind === 191 /* FunctionExpression */ - || kind === 155 /* GetAccessor */ - || kind === 244 /* ImportClause */ - || kind === 242 /* ImportEqualsDeclaration */ - || kind === 247 /* ImportSpecifier */ - || kind === 235 /* InterfaceDeclaration */ - || kind === 261 /* JsxAttribute */ - || kind === 153 /* MethodDeclaration */ - || kind === 152 /* MethodSignature */ - || kind === 238 /* ModuleDeclaration */ - || kind === 241 /* NamespaceExportDeclaration */ - || kind === 245 /* NamespaceImport */ - || kind === 148 /* Parameter */ - || kind === 269 /* PropertyAssignment */ - || kind === 151 /* PropertyDeclaration */ - || kind === 150 /* PropertySignature */ - || kind === 156 /* SetAccessor */ - || kind === 270 /* ShorthandPropertyAssignment */ - || kind === 236 /* TypeAliasDeclaration */ - || kind === 147 /* TypeParameter */ - || kind === 231 /* VariableDeclaration */ - || kind === 296 /* JSDocTypedefTag */ - || kind === 291 /* JSDocCallbackTag */ - || kind === 297 /* JSDocPropertyTag */; + return kind === 193 /* ArrowFunction */ + || kind === 182 /* BindingElement */ + || kind === 235 /* ClassDeclaration */ + || kind === 205 /* ClassExpression */ + || kind === 155 /* Constructor */ + || kind === 238 /* EnumDeclaration */ + || kind === 273 /* EnumMember */ + || kind === 252 /* ExportSpecifier */ + || kind === 234 /* FunctionDeclaration */ + || kind === 192 /* FunctionExpression */ + || kind === 156 /* GetAccessor */ + || kind === 245 /* ImportClause */ + || kind === 243 /* ImportEqualsDeclaration */ + || kind === 248 /* ImportSpecifier */ + || kind === 236 /* InterfaceDeclaration */ + || kind === 262 /* JsxAttribute */ + || kind === 154 /* MethodDeclaration */ + || kind === 153 /* MethodSignature */ + || kind === 239 /* ModuleDeclaration */ + || kind === 242 /* NamespaceExportDeclaration */ + || kind === 246 /* NamespaceImport */ + || kind === 149 /* Parameter */ + || kind === 270 /* PropertyAssignment */ + || kind === 152 /* PropertyDeclaration */ + || kind === 151 /* PropertySignature */ + || kind === 157 /* SetAccessor */ + || kind === 271 /* ShorthandPropertyAssignment */ + || kind === 237 /* TypeAliasDeclaration */ + || kind === 148 /* TypeParameter */ + || kind === 232 /* VariableDeclaration */ + || kind === 297 /* JSDocTypedefTag */ + || kind === 292 /* JSDocCallbackTag */ + || kind === 298 /* JSDocPropertyTag */; } function isDeclarationStatementKind(kind) { - return kind === 233 /* FunctionDeclaration */ - || kind === 252 /* MissingDeclaration */ - || kind === 234 /* ClassDeclaration */ - || kind === 235 /* InterfaceDeclaration */ - || kind === 236 /* TypeAliasDeclaration */ - || kind === 237 /* EnumDeclaration */ - || kind === 238 /* ModuleDeclaration */ - || kind === 243 /* ImportDeclaration */ - || kind === 242 /* ImportEqualsDeclaration */ - || kind === 249 /* ExportDeclaration */ - || kind === 248 /* ExportAssignment */ - || kind === 241 /* NamespaceExportDeclaration */; + return kind === 234 /* FunctionDeclaration */ + || kind === 253 /* MissingDeclaration */ + || kind === 235 /* ClassDeclaration */ + || kind === 236 /* InterfaceDeclaration */ + || kind === 237 /* TypeAliasDeclaration */ + || kind === 238 /* EnumDeclaration */ + || kind === 239 /* ModuleDeclaration */ + || kind === 244 /* ImportDeclaration */ + || kind === 243 /* ImportEqualsDeclaration */ + || kind === 250 /* ExportDeclaration */ + || kind === 249 /* ExportAssignment */ + || kind === 242 /* NamespaceExportDeclaration */; } function isStatementKindButNotDeclarationKind(kind) { - return kind === 223 /* BreakStatement */ - || kind === 222 /* ContinueStatement */ - || kind === 230 /* DebuggerStatement */ - || kind === 217 /* DoStatement */ - || kind === 215 /* ExpressionStatement */ - || kind === 214 /* EmptyStatement */ - || kind === 220 /* ForInStatement */ - || kind === 221 /* ForOfStatement */ - || kind === 219 /* ForStatement */ - || kind === 216 /* IfStatement */ - || kind === 227 /* LabeledStatement */ - || kind === 224 /* ReturnStatement */ - || kind === 226 /* SwitchStatement */ - || kind === 228 /* ThrowStatement */ - || kind === 229 /* TryStatement */ - || kind === 213 /* VariableStatement */ - || kind === 218 /* WhileStatement */ - || kind === 225 /* WithStatement */ - || kind === 299 /* NotEmittedStatement */ - || kind === 303 /* EndOfDeclarationMarker */ - || kind === 302 /* MergeDeclarationMarker */; + return kind === 224 /* BreakStatement */ + || kind === 223 /* ContinueStatement */ + || kind === 231 /* DebuggerStatement */ + || kind === 218 /* DoStatement */ + || kind === 216 /* ExpressionStatement */ + || kind === 215 /* EmptyStatement */ + || kind === 221 /* ForInStatement */ + || kind === 222 /* ForOfStatement */ + || kind === 220 /* ForStatement */ + || kind === 217 /* IfStatement */ + || kind === 228 /* LabeledStatement */ + || kind === 225 /* ReturnStatement */ + || kind === 227 /* SwitchStatement */ + || kind === 229 /* ThrowStatement */ + || kind === 230 /* TryStatement */ + || kind === 214 /* VariableStatement */ + || kind === 219 /* WhileStatement */ + || kind === 226 /* WithStatement */ + || kind === 300 /* NotEmittedStatement */ + || kind === 304 /* EndOfDeclarationMarker */ + || kind === 303 /* MergeDeclarationMarker */; } /* @internal */ function isDeclaration(node) { - if (node.kind === 147 /* TypeParameter */) { - return node.parent.kind !== 295 /* JSDocTemplateTag */ || ts.isInJavaScriptFile(node); + if (node.kind === 148 /* TypeParameter */) { + return node.parent.kind !== 296 /* JSDocTemplateTag */ || ts.isInJavaScriptFile(node); } return isDeclarationKind(node.kind); } @@ -14518,10 +14570,10 @@ var ts; } ts.isStatement = isStatement; function isBlockStatement(node) { - if (node.kind !== 212 /* Block */) + if (node.kind !== 213 /* Block */) return false; if (node.parent !== undefined) { - if (node.parent.kind === 229 /* TryStatement */ || node.parent.kind === 268 /* CatchClause */) { + if (node.parent.kind === 230 /* TryStatement */ || node.parent.kind === 269 /* CatchClause */) { return false; } } @@ -14531,8 +14583,8 @@ var ts; /* @internal */ function isModuleReference(node) { var kind = node.kind; - return kind === 253 /* ExternalModuleReference */ - || kind === 145 /* QualifiedName */ + return kind === 254 /* ExternalModuleReference */ + || kind === 146 /* QualifiedName */ || kind === 71 /* Identifier */; } ts.isModuleReference = isModuleReference; @@ -14542,76 +14594,78 @@ var ts; var kind = node.kind; return kind === 99 /* ThisKeyword */ || kind === 71 /* Identifier */ - || kind === 184 /* PropertyAccessExpression */; + || kind === 185 /* PropertyAccessExpression */; } ts.isJsxTagNameExpression = isJsxTagNameExpression; /* @internal */ function isJsxChild(node) { var kind = node.kind; - return kind === 254 /* JsxElement */ - || kind === 264 /* JsxExpression */ - || kind === 255 /* JsxSelfClosingElement */ + return kind === 255 /* JsxElement */ + || kind === 265 /* JsxExpression */ + || kind === 256 /* JsxSelfClosingElement */ || kind === 10 /* JsxText */ - || kind === 258 /* JsxFragment */; + || kind === 259 /* JsxFragment */; } ts.isJsxChild = isJsxChild; /* @internal */ function isJsxAttributeLike(node) { var kind = node.kind; - return kind === 261 /* JsxAttribute */ - || kind === 263 /* JsxSpreadAttribute */; + return kind === 262 /* JsxAttribute */ + || kind === 264 /* JsxSpreadAttribute */; } ts.isJsxAttributeLike = isJsxAttributeLike; /* @internal */ function isStringLiteralOrJsxExpression(node) { var kind = node.kind; return kind === 9 /* StringLiteral */ - || kind === 264 /* JsxExpression */; + || kind === 265 /* JsxExpression */; } ts.isStringLiteralOrJsxExpression = isStringLiteralOrJsxExpression; function isJsxOpeningLikeElement(node) { var kind = node.kind; - return kind === 256 /* JsxOpeningElement */ - || kind === 255 /* JsxSelfClosingElement */; + return kind === 257 /* JsxOpeningElement */ + || kind === 256 /* JsxSelfClosingElement */; } ts.isJsxOpeningLikeElement = isJsxOpeningLikeElement; // Clauses function isCaseOrDefaultClause(node) { var kind = node.kind; - return kind === 265 /* CaseClause */ - || kind === 266 /* DefaultClause */; + return kind === 266 /* CaseClause */ + || kind === 267 /* DefaultClause */; } ts.isCaseOrDefaultClause = isCaseOrDefaultClause; // JSDoc /** True if node is of some JSDoc syntax kind. */ /* @internal */ function isJSDocNode(node) { - return node.kind >= 277 /* FirstJSDocNode */ && node.kind <= 297 /* LastJSDocNode */; + return node.kind >= 278 /* FirstJSDocNode */ && node.kind <= 298 /* LastJSDocNode */; } ts.isJSDocNode = isJSDocNode; /** True if node is of a kind that may contain comment text. */ function isJSDocCommentContainingNode(node) { - return node.kind === 285 /* JSDocComment */ || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) || ts.isJSDocSignature(node); + return node.kind === 286 /* JSDocComment */ || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) || ts.isJSDocSignature(node); } ts.isJSDocCommentContainingNode = isJSDocCommentContainingNode; // TODO: determine what this does before making it public. /* @internal */ function isJSDocTag(node) { - return node.kind >= 288 /* FirstJSDocTagNode */ && node.kind <= 297 /* LastJSDocTagNode */; + return node.kind >= 289 /* FirstJSDocTagNode */ && node.kind <= 298 /* LastJSDocTagNode */; } ts.isJSDocTag = isJSDocTag; function isSetAccessor(node) { - return node.kind === 156 /* SetAccessor */; + return node.kind === 157 /* SetAccessor */; } ts.isSetAccessor = isSetAccessor; function isGetAccessor(node) { - return node.kind === 155 /* GetAccessor */; + return node.kind === 156 /* GetAccessor */; } ts.isGetAccessor = isGetAccessor; /** True if has jsdoc nodes attached to it. */ /* @internal */ + // TODO: GH#19856 Would like to return `node is Node & { jsDoc: JSDoc[] }` but it causes long compile times function hasJSDocNodes(node) { - return !!node.jsDoc && node.jsDoc.length > 0; + var jsDoc = node.jsDoc; + return !!jsDoc && jsDoc.length > 0; } ts.hasJSDocNodes = hasJSDocNodes; /** True if has type node attached to it. */ @@ -14624,36 +14678,36 @@ var ts; /* @internal */ function couldHaveType(node) { switch (node.kind) { - case 148 /* Parameter */: - case 150 /* PropertySignature */: - case 151 /* PropertyDeclaration */: - case 152 /* MethodSignature */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 160 /* TypePredicate */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 172 /* ParenthesizedType */: - case 174 /* TypeOperator */: - case 176 /* MappedType */: - case 189 /* TypeAssertionExpression */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 207 /* AsExpression */: - case 231 /* VariableDeclaration */: - case 233 /* FunctionDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 277 /* JSDocTypeExpression */: - case 280 /* JSDocNullableType */: - case 281 /* JSDocNonNullableType */: - case 282 /* JSDocOptionalType */: - case 283 /* JSDocFunctionType */: - case 284 /* JSDocVariadicType */: + case 149 /* Parameter */: + case 151 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 153 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 161 /* TypePredicate */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 173 /* ParenthesizedType */: + case 175 /* TypeOperator */: + case 177 /* MappedType */: + case 190 /* TypeAssertionExpression */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 208 /* AsExpression */: + case 232 /* VariableDeclaration */: + case 234 /* FunctionDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 278 /* JSDocTypeExpression */: + case 281 /* JSDocNullableType */: + case 282 /* JSDocNonNullableType */: + case 283 /* JSDocOptionalType */: + case 284 /* JSDocFunctionType */: + case 285 /* JSDocVariadicType */: return true; } return false; @@ -14673,13 +14727,13 @@ var ts; ts.hasOnlyExpressionInitializer = hasOnlyExpressionInitializer; function isObjectLiteralElement(node) { switch (node.kind) { - case 261 /* JsxAttribute */: - case 263 /* JsxSpreadAttribute */: - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 262 /* JsxAttribute */: + case 264 /* JsxSpreadAttribute */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return true; default: return false; @@ -14688,7 +14742,7 @@ var ts; ts.isObjectLiteralElement = isObjectLiteralElement; /* @internal */ function isTypeReferenceType(node) { - return node.kind === 161 /* TypeReference */ || node.kind === 206 /* ExpressionWithTypeArguments */; + return node.kind === 162 /* TypeReference */ || node.kind === 207 /* ExpressionWithTypeArguments */; } ts.isTypeReferenceType = isTypeReferenceType; var MAX_SMI_X86 = 1073741823; @@ -14722,7 +14776,7 @@ var ts; ts.isStringLiteralLike = isStringLiteralLike; /** @internal */ function isNamedImportsOrExports(node) { - return node.kind === 246 /* NamedImports */ || node.kind === 250 /* NamedExports */; + return node.kind === 247 /* NamedImports */ || node.kind === 251 /* NamedExports */; } ts.isNamedImportsOrExports = isNamedImportsOrExports; })(ts || (ts = {})); @@ -14745,7 +14799,7 @@ var ts; var SourceFileConstructor; // tslint:enable variable-name function createNode(kind, pos, end) { - if (kind === 273 /* SourceFile */) { + if (kind === 274 /* SourceFile */) { return new (SourceFileConstructor || (SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor()))(kind, pos, end); } else if (kind === 71 /* Identifier */) { @@ -14797,28 +14851,28 @@ var ts; * that they appear in the source code. The language service depends on this property to locate nodes by position. */ function forEachChild(node, cbNode, cbNodes) { - if (!node || node.kind <= 144 /* LastToken */) { + if (!node || node.kind <= 145 /* LastToken */) { return; } switch (node.kind) { - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return visitNode(cbNode, node.left) || visitNode(cbNode, node.right); - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.constraint) || visitNode(cbNode, node.default) || visitNode(cbNode, node.expression); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.equalsToken) || visitNode(cbNode, node.objectAssignmentInitializer); - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: return visitNode(cbNode, node.expression); - case 148 /* Parameter */: + case 149 /* Parameter */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || @@ -14826,7 +14880,7 @@ var ts; visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || @@ -14834,51 +14888,51 @@ var ts; visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.initializer); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.asteriskToken) || @@ -14889,304 +14943,304 @@ var ts; visitNode(cbNode, node.type) || visitNode(cbNode, node.equalsGreaterThanToken) || visitNode(cbNode, node.body); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return visitNode(cbNode, node.typeName) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return visitNode(cbNode, node.parameterName) || visitNode(cbNode, node.type); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return visitNode(cbNode, node.exprName); - case 165 /* TypeLiteral */: + case 166 /* TypeLiteral */: return visitNodes(cbNode, cbNodes, node.members); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return visitNode(cbNode, node.elementType); - case 167 /* TupleType */: + case 168 /* TupleType */: return visitNodes(cbNode, cbNodes, node.elementTypes); - case 168 /* UnionType */: - case 169 /* IntersectionType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: return visitNodes(cbNode, cbNodes, node.types); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return visitNode(cbNode, node.checkType) || visitNode(cbNode, node.extendsType) || visitNode(cbNode, node.trueType) || visitNode(cbNode, node.falseType); - case 171 /* InferType */: + case 172 /* InferType */: return visitNode(cbNode, node.typeParameter); - case 178 /* ImportType */: + case 179 /* ImportType */: return visitNode(cbNode, node.argument) || visitNode(cbNode, node.qualifier) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 172 /* ParenthesizedType */: - case 174 /* TypeOperator */: + case 173 /* ParenthesizedType */: + case 175 /* TypeOperator */: return visitNode(cbNode, node.type); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return visitNode(cbNode, node.objectType) || visitNode(cbNode, node.indexType); - case 176 /* MappedType */: + case 177 /* MappedType */: return visitNode(cbNode, node.readonlyToken) || visitNode(cbNode, node.typeParameter) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type); - case 177 /* LiteralType */: + case 178 /* LiteralType */: return visitNode(cbNode, node.literal); - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: return visitNodes(cbNode, cbNodes, node.elements); - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return visitNodes(cbNode, cbNodes, node.elements); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return visitNodes(cbNode, cbNodes, node.properties); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.name); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.argumentExpression); - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNodes(cbNode, cbNodes, node.arguments); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return visitNode(cbNode, node.tag) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.template); - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: return visitNode(cbNode, node.type) || visitNode(cbNode, node.expression); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return visitNode(cbNode, node.expression); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return visitNode(cbNode, node.expression); - case 194 /* TypeOfExpression */: + case 195 /* TypeOfExpression */: return visitNode(cbNode, node.expression); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return visitNode(cbNode, node.expression); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return visitNode(cbNode, node.operand); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return visitNode(cbNode, node.asteriskToken) || visitNode(cbNode, node.expression); - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return visitNode(cbNode, node.expression); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return visitNode(cbNode, node.operand); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitNode(cbNode, node.left) || visitNode(cbNode, node.operatorToken) || visitNode(cbNode, node.right); - case 207 /* AsExpression */: + case 208 /* AsExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.type); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: return visitNode(cbNode, node.expression); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return visitNode(cbNode, node.name); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return visitNode(cbNode, node.condition) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.whenTrue) || visitNode(cbNode, node.colonToken) || visitNode(cbNode, node.whenFalse); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return visitNode(cbNode, node.expression); - case 212 /* Block */: - case 239 /* ModuleBlock */: + case 213 /* Block */: + case 240 /* ModuleBlock */: return visitNodes(cbNode, cbNodes, node.statements); - case 273 /* SourceFile */: + case 274 /* SourceFile */: return visitNodes(cbNode, cbNodes, node.statements) || visitNode(cbNode, node.endOfFileToken); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.declarationList); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return visitNodes(cbNode, cbNodes, node.declarations); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return visitNode(cbNode, node.expression); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.thenStatement) || visitNode(cbNode, node.elseStatement); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return visitNode(cbNode, node.statement) || visitNode(cbNode, node.expression); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.condition) || visitNode(cbNode, node.incrementor) || visitNode(cbNode, node.statement); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitNode(cbNode, node.awaitModifier) || visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 222 /* ContinueStatement */: - case 223 /* BreakStatement */: + case 223 /* ContinueStatement */: + case 224 /* BreakStatement */: return visitNode(cbNode, node.label); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return visitNode(cbNode, node.expression); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.caseBlock); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return visitNodes(cbNode, cbNodes, node.clauses); - case 265 /* CaseClause */: + case 266 /* CaseClause */: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.statements); - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: return visitNodes(cbNode, cbNodes, node.statements); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return visitNode(cbNode, node.label) || visitNode(cbNode, node.statement); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return visitNode(cbNode, node.expression); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return visitNode(cbNode, node.tryBlock) || visitNode(cbNode, node.catchClause) || visitNode(cbNode, node.finallyBlock); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitNode(cbNode, node.variableDeclaration) || visitNode(cbNode, node.block); - case 149 /* Decorator */: + case 150 /* Decorator */: return visitNode(cbNode, node.expression); - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.heritageClauses) || visitNodes(cbNode, cbNodes, node.members); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.heritageClauses) || visitNodes(cbNode, cbNodes, node.members); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNode(cbNode, node.type); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.members); - case 272 /* EnumMember */: + case 273 /* EnumMember */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.body); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.moduleReference); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.importClause) || visitNode(cbNode, node.moduleSpecifier); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.namedBindings); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return visitNode(cbNode, node.name); - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return visitNode(cbNode, node.name); - case 246 /* NamedImports */: - case 250 /* NamedExports */: + case 247 /* NamedImports */: + case 251 /* NamedExports */: return visitNodes(cbNode, cbNodes, node.elements); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.exportClause) || visitNode(cbNode, node.moduleSpecifier); - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: return visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.expression); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return visitNode(cbNode, node.head) || visitNodes(cbNode, cbNodes, node.templateSpans); - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.literal); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return visitNode(cbNode, node.expression); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: return visitNodes(cbNode, cbNodes, node.types); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: return visitNode(cbNode, node.expression); - case 252 /* MissingDeclaration */: + case 253 /* MissingDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators); - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: return visitNodes(cbNode, cbNodes, node.elements); - case 254 /* JsxElement */: + case 255 /* JsxElement */: return visitNode(cbNode, node.openingElement) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingElement); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return visitNode(cbNode, node.openingFragment) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingFragment); - case 255 /* JsxSelfClosingElement */: - case 256 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: return visitNode(cbNode, node.tagName) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.attributes); - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return visitNodes(cbNode, cbNodes, node.properties); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 263 /* JsxSpreadAttribute */: + case 264 /* JsxSpreadAttribute */: return visitNode(cbNode, node.expression); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.expression); - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: return visitNode(cbNode, node.tagName); - case 277 /* JSDocTypeExpression */: + case 278 /* JSDocTypeExpression */: return visitNode(cbNode, node.type); - case 281 /* JSDocNonNullableType */: + case 282 /* JSDocNonNullableType */: return visitNode(cbNode, node.type); - case 280 /* JSDocNullableType */: + case 281 /* JSDocNullableType */: return visitNode(cbNode, node.type); - case 282 /* JSDocOptionalType */: + case 283 /* JSDocOptionalType */: return visitNode(cbNode, node.type); - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: return visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: return visitNode(cbNode, node.type); - case 285 /* JSDocComment */: + case 286 /* JSDocComment */: return visitNodes(cbNode, cbNodes, node.tags); - case 292 /* JSDocParameterTag */: - case 297 /* JSDocPropertyTag */: + case 293 /* JSDocParameterTag */: + case 298 /* JSDocPropertyTag */: if (node.isNameFirst) { return visitNode(cbNode, node.name) || visitNode(cbNode, node.typeExpression); @@ -15195,17 +15249,17 @@ var ts; return visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.name); } - case 293 /* JSDocReturnTag */: + case 294 /* JSDocReturnTag */: return visitNode(cbNode, node.typeExpression); - case 294 /* JSDocTypeTag */: + case 295 /* JSDocTypeTag */: return visitNode(cbNode, node.typeExpression); - case 289 /* JSDocAugmentsTag */: + case 290 /* JSDocAugmentsTag */: return visitNode(cbNode, node.class); - case 295 /* JSDocTemplateTag */: + case 296 /* JSDocTemplateTag */: return visitNodes(cbNode, cbNodes, node.typeParameters); - case 296 /* JSDocTypedefTag */: + case 297 /* JSDocTypedefTag */: if (node.typeExpression && - node.typeExpression.kind === 277 /* JSDocTypeExpression */) { + node.typeExpression.kind === 278 /* JSDocTypeExpression */) { return visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.fullName); } @@ -15213,16 +15267,16 @@ var ts; return visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression); } - case 291 /* JSDocCallbackTag */: + case 292 /* JSDocCallbackTag */: return visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression); - case 287 /* JSDocSignature */: + case 288 /* JSDocSignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 286 /* JSDocTypeLiteral */: + case 287 /* JSDocTypeLiteral */: if (node.jsDocPropertyTags) { for (var _i = 0, _a = node.jsDocPropertyTags; _i < _a.length; _i++) { var tag = _a[_i]; @@ -15230,7 +15284,7 @@ var ts; } } return; - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: return visitNode(cbNode, node.expression); } } @@ -15278,6 +15332,7 @@ var ts; // becoming detached from any SourceFile). It is recommended that this SourceFile not // be used once 'update' is called on it. function updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks) { + if (aggressiveChecks === void 0) { aggressiveChecks = false; } var newSourceFile = IncrementalParser.updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks); // Because new source file node is created, it may not have the flag PossiblyContainDynamicImport. This is the case if there is no new edit to add dynamic import. // We will manually port the flag to the new source file. @@ -15403,6 +15458,7 @@ var ts; // attached to the EOF token. var parseErrorBeforeNextFinishedNode = false; function parseSourceFile(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes, scriptKind) { + if (setParentNodes === void 0) { setParentNodes = false; } scriptKind = ts.ensureScriptKind(fileName, scriptKind); if (scriptKind === 6 /* JSON */) { var result_1 = parseJsonText(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes); @@ -15433,6 +15489,7 @@ var ts; initializeState(sourceText, languageVersion, syntaxCursor, 6 /* JSON */); // Set source file so that errors will be reported with this file name sourceFile = createSourceFile(fileName, 2 /* ES2015 */, 6 /* JSON */, /*isDeclaration*/ false); + sourceFile.flags = contextFlags; // Prime the scanner. nextToken(); var pos = getNodePos(); @@ -15441,7 +15498,7 @@ var ts; sourceFile.endOfFileToken = parseTokenNode(); } else { - var statement = createNode(215 /* ExpressionStatement */); + var statement = createNode(216 /* ExpressionStatement */); switch (token()) { case 21 /* OpenBracketToken */: statement.expression = parseArrayLiteralExpression(); @@ -15600,10 +15657,11 @@ var ts; function createSourceFile(fileName, languageVersion, scriptKind, isDeclarationFile) { // code from createNode is inlined here so createNode won't have to deal with special case of creating source files // this is quite rare comparing to other nodes and createNode should be as fast as possible - var sourceFile = new SourceFileConstructor(273 /* SourceFile */, /*pos*/ 0, /* end */ sourceText.length); + var sourceFile = new SourceFileConstructor(274 /* SourceFile */, /*pos*/ 0, /* end */ sourceText.length); nodeCount++; sourceFile.text = sourceText; sourceFile.bindDiagnostics = []; + sourceFile.bindSuggestionDiagnostics = undefined; sourceFile.languageVersion = languageVersion; sourceFile.fileName = ts.normalizePath(fileName); sourceFile.languageVariant = getLanguageVariant(scriptKind); @@ -15987,7 +16045,7 @@ var ts; // PropertyName [Yield]: // LiteralPropertyName // ComputedPropertyName[?Yield] - var node = createNode(146 /* ComputedPropertyName */); + var node = createNode(147 /* ComputedPropertyName */); parseExpected(21 /* OpenBracketToken */); // We parse any expression (including a comma expression). But the grammar // says that only an assignment expression is allowed, so the grammar checker @@ -16124,7 +16182,7 @@ var ts; case 14 /* JsxChildren */: return true; } - ts.Debug.fail("Non-exhaustive case in 'isListElement'."); + return ts.Debug.fail("Non-exhaustive case in 'isListElement'."); } function isValidHeritageClauseObjectLiteral() { ts.Debug.assert(token() === 17 /* OpenBraceToken */); @@ -16213,6 +16271,8 @@ var ts; return token() === 29 /* GreaterThanToken */ || token() === 41 /* SlashToken */; case 14 /* JsxChildren */: return token() === 27 /* LessThanToken */ && lookAhead(nextTokenIsSlash); + default: + return false; } } function isVariableDeclaratorListTerminator() { @@ -16399,14 +16459,14 @@ var ts; function isReusableClassMember(node) { if (node) { switch (node.kind) { - case 154 /* Constructor */: - case 159 /* IndexSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 151 /* PropertyDeclaration */: - case 211 /* SemicolonClassElement */: + case 155 /* Constructor */: + case 160 /* IndexSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 212 /* SemicolonClassElement */: return true; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: // Method declarations are not necessarily reusable. An object-literal // may have a method calls "constructor(...)" and we must reparse that // into an actual .ConstructorDeclaration. @@ -16421,8 +16481,8 @@ var ts; function isReusableSwitchClause(node) { if (node) { switch (node.kind) { - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: return true; } } @@ -16431,58 +16491,58 @@ var ts; function isReusableStatement(node) { if (node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 213 /* VariableStatement */: - case 212 /* Block */: - case 216 /* IfStatement */: - case 215 /* ExpressionStatement */: - case 228 /* ThrowStatement */: - case 224 /* ReturnStatement */: - case 226 /* SwitchStatement */: - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 219 /* ForStatement */: - case 218 /* WhileStatement */: - case 225 /* WithStatement */: - case 214 /* EmptyStatement */: - case 229 /* TryStatement */: - case 227 /* LabeledStatement */: - case 217 /* DoStatement */: - case 230 /* DebuggerStatement */: - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 249 /* ExportDeclaration */: - case 248 /* ExportAssignment */: - case 238 /* ModuleDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 234 /* FunctionDeclaration */: + case 214 /* VariableStatement */: + case 213 /* Block */: + case 217 /* IfStatement */: + case 216 /* ExpressionStatement */: + case 229 /* ThrowStatement */: + case 225 /* ReturnStatement */: + case 227 /* SwitchStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 220 /* ForStatement */: + case 219 /* WhileStatement */: + case 226 /* WithStatement */: + case 215 /* EmptyStatement */: + case 230 /* TryStatement */: + case 228 /* LabeledStatement */: + case 218 /* DoStatement */: + case 231 /* DebuggerStatement */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 250 /* ExportDeclaration */: + case 249 /* ExportAssignment */: + case 239 /* ModuleDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: return true; } } return false; } function isReusableEnumMember(node) { - return node.kind === 272 /* EnumMember */; + return node.kind === 273 /* EnumMember */; } function isReusableTypeMember(node) { if (node) { switch (node.kind) { - case 158 /* ConstructSignature */: - case 152 /* MethodSignature */: - case 159 /* IndexSignature */: - case 150 /* PropertySignature */: - case 157 /* CallSignature */: + case 159 /* ConstructSignature */: + case 153 /* MethodSignature */: + case 160 /* IndexSignature */: + case 151 /* PropertySignature */: + case 158 /* CallSignature */: return true; } } return false; } function isReusableVariableDeclaration(node) { - if (node.kind !== 231 /* VariableDeclaration */) { + if (node.kind !== 232 /* VariableDeclaration */) { return false; } // Very subtle incremental parsing bug. Consider the following code: @@ -16503,7 +16563,7 @@ var ts; return variableDeclarator.initializer === undefined; } function isReusableParameter(node) { - if (node.kind !== 148 /* Parameter */) { + if (node.kind !== 149 /* Parameter */) { return false; } // See the comment in isReusableVariableDeclaration for why we do this. @@ -16544,6 +16604,7 @@ var ts; case 22 /* ImportOrExportSpecifiers */: return ts.Diagnostics.Identifier_expected; case 13 /* JsxAttributes */: return ts.Diagnostics.Identifier_expected; case 14 /* JsxChildren */: return ts.Diagnostics.Identifier_expected; + default: return undefined; // TODO: GH#18217 `default: Debug.assertNever(context);` } } // Parses a comma-delimited list of elements @@ -16632,7 +16693,7 @@ var ts; return entity; } function createQualifiedName(entity, name) { - var node = createNode(145 /* QualifiedName */, entity.pos); + var node = createNode(146 /* QualifiedName */, entity.pos); node.left = entity; node.right = name; return finishNode(node); @@ -16669,19 +16730,19 @@ var ts; return allowIdentifierNames ? parseIdentifierName() : parseIdentifier(); } function parseTemplateExpression() { - var template = createNode(201 /* TemplateExpression */); + var template = createNode(202 /* TemplateExpression */); template.head = parseTemplateHead(); ts.Debug.assert(template.head.kind === 14 /* TemplateHead */, "Template head has wrong token kind"); var list = []; var listPos = getNodePos(); do { list.push(parseTemplateSpan()); - } while (ts.lastOrUndefined(list).literal.kind === 15 /* TemplateMiddle */); + } while (ts.last(list).literal.kind === 15 /* TemplateMiddle */); template.templateSpans = createNodeArray(list, listPos); return finishNode(template); } function parseTemplateSpan() { - var span = createNode(210 /* TemplateSpan */); + var span = createNode(211 /* TemplateSpan */); span.expression = allowInAnd(parseExpression); var literal; if (token() === 18 /* CloseBraceToken */) { @@ -16732,7 +16793,7 @@ var ts; } // TYPES function parseTypeReference() { - var node = createNode(161 /* TypeReference */); + var node = createNode(162 /* TypeReference */); node.typeName = parseEntityName(/*allowReservedWords*/ true, ts.Diagnostics.Type_expected); if (!scanner.hasPrecedingLineBreak() && token() === 27 /* LessThanToken */) { node.typeArguments = parseBracketedList(19 /* TypeArguments */, parseType, 27 /* LessThanToken */, 29 /* GreaterThanToken */); @@ -16741,20 +16802,20 @@ var ts; } function parseThisTypePredicate(lhs) { nextToken(); - var node = createNode(160 /* TypePredicate */, lhs.pos); + var node = createNode(161 /* TypePredicate */, lhs.pos); node.parameterName = lhs; node.type = parseType(); return finishNode(node); } function parseThisTypeNode() { - var node = createNode(173 /* ThisType */); + var node = createNode(174 /* ThisType */); nextToken(); return finishNode(node); } function parseJSDocAllType(postFixEquals) { - var result = createNode(278 /* JSDocAllType */); + var result = createNode(279 /* JSDocAllType */); if (postFixEquals) { - return createJSDocPostfixType(282 /* JSDocOptionalType */, result); + return createJSDocPostfixType(283 /* JSDocOptionalType */, result); } else { nextToken(); @@ -16762,7 +16823,7 @@ var ts; return finishNode(result); } function parseJSDocNonNullableType() { - var result = createNode(281 /* JSDocNonNullableType */); + var result = createNode(282 /* JSDocNonNullableType */); nextToken(); result.type = parseNonArrayType(); return finishNode(result); @@ -16786,28 +16847,28 @@ var ts; token() === 29 /* GreaterThanToken */ || token() === 58 /* EqualsToken */ || token() === 49 /* BarToken */) { - var result = createNode(279 /* JSDocUnknownType */, pos); + var result = createNode(280 /* JSDocUnknownType */, pos); return finishNode(result); } else { - var result = createNode(280 /* JSDocNullableType */, pos); + var result = createNode(281 /* JSDocNullableType */, pos); result.type = parseType(); return finishNode(result); } } function parseJSDocFunctionType() { if (lookAhead(nextTokenIsOpenParen)) { - var result = createNodeWithJSDoc(283 /* JSDocFunctionType */); + var result = createNodeWithJSDoc(284 /* JSDocFunctionType */); nextToken(); fillSignature(56 /* ColonToken */, 4 /* Type */ | 32 /* JSDoc */, result); return finishNode(result); } - var node = createNode(161 /* TypeReference */); + var node = createNode(162 /* TypeReference */); node.typeName = parseIdentifierName(); return finishNode(node); } function parseJSDocParameter() { - var parameter = createNode(148 /* Parameter */); + var parameter = createNode(149 /* Parameter */); if (token() === 99 /* ThisKeyword */ || token() === 94 /* NewKeyword */) { parameter.name = parseIdentifierName(); parseExpected(56 /* ColonToken */); @@ -16819,23 +16880,23 @@ var ts; var dotdotdot = parseOptionalToken(24 /* DotDotDotToken */); var type = parseType(); if (dotdotdot) { - var variadic = createNode(284 /* JSDocVariadicType */, dotdotdot.pos); + var variadic = createNode(285 /* JSDocVariadicType */, dotdotdot.pos); variadic.type = type; type = finishNode(variadic); } if (token() === 58 /* EqualsToken */) { - return createJSDocPostfixType(282 /* JSDocOptionalType */, type); + return createJSDocPostfixType(283 /* JSDocOptionalType */, type); } return type; } function parseTypeQuery() { - var node = createNode(164 /* TypeQuery */); + var node = createNode(165 /* TypeQuery */); parseExpected(103 /* TypeOfKeyword */); node.exprName = parseEntityName(/*allowReservedWords*/ true); return finishNode(node); } function parseTypeParameter() { - var node = createNode(147 /* TypeParameter */); + var node = createNode(148 /* TypeParameter */); node.name = parseIdentifier(); if (parseOptional(85 /* ExtendsKeyword */)) { // It's not uncommon for people to write improper constraints to a generic. If the @@ -16880,7 +16941,7 @@ var ts; isStartOfType(/*inStartOfParameter*/ true); } function parseParameter() { - var node = createNodeWithJSDoc(148 /* Parameter */); + var node = createNodeWithJSDoc(149 /* Parameter */); if (token() === 99 /* ThisKeyword */) { node.name = createIdentifier(/*isIdentifier*/ true); node.type = parseParameterType(); @@ -16915,7 +16976,7 @@ var ts; if (!(flags & 32 /* JSDoc */)) { signature.typeParameters = parseTypeParameters(); } - signature.parameters = parseParameterList(flags); + signature.parameters = parseParameterList(flags); // TODO: GH#18217 if (shouldParseReturnType(returnToken, !!(flags & 4 /* Type */))) { signature.type = parseTypeOrTypePredicate(); return signature.type !== undefined; @@ -16983,7 +17044,7 @@ var ts; } function parseSignatureMember(kind) { var node = createNodeWithJSDoc(kind); - if (kind === 158 /* ConstructSignature */) { + if (kind === 159 /* ConstructSignature */) { parseExpected(94 /* NewKeyword */); } fillSignature(56 /* ColonToken */, 4 /* Type */, node); @@ -17044,7 +17105,7 @@ var ts; return token() === 56 /* ColonToken */ || token() === 26 /* CommaToken */ || token() === 22 /* CloseBracketToken */; } function parseIndexSignatureDeclaration(node) { - node.kind = 159 /* IndexSignature */; + node.kind = 160 /* IndexSignature */; node.parameters = parseBracketedList(16 /* Parameters */, parseParameter, 21 /* OpenBracketToken */, 22 /* CloseBracketToken */); node.type = parseTypeAnnotation(); parseTypeMemberSemicolon(); @@ -17054,13 +17115,13 @@ var ts; node.name = parsePropertyName(); node.questionToken = parseOptionalToken(55 /* QuestionToken */); if (token() === 19 /* OpenParenToken */ || token() === 27 /* LessThanToken */) { - node.kind = 152 /* MethodSignature */; + node.kind = 153 /* MethodSignature */; // Method signatures don't exist in expression contexts. So they have neither // [Yield] nor [Await] fillSignature(56 /* ColonToken */, 4 /* Type */, node); } else { - node.kind = 150 /* PropertySignature */; + node.kind = 151 /* PropertySignature */; node.type = parseTypeAnnotation(); if (token() === 58 /* EqualsToken */) { // Although type literal properties cannot not have initializers, we attempt @@ -17077,7 +17138,7 @@ var ts; if (token() === 19 /* OpenParenToken */ || token() === 27 /* LessThanToken */) { return true; } - var idToken; + var idToken = false; // Eat up all modifiers, but hold on to the last one in case it is actually an identifier while (ts.isModifierKind(token())) { idToken = true; @@ -17106,10 +17167,10 @@ var ts; } function parseTypeMember() { if (token() === 19 /* OpenParenToken */ || token() === 27 /* LessThanToken */) { - return parseSignatureMember(157 /* CallSignature */); + return parseSignatureMember(158 /* CallSignature */); } if (token() === 94 /* NewKeyword */ && lookAhead(nextTokenIsOpenParenOrLessThan)) { - return parseSignatureMember(158 /* ConstructSignature */); + return parseSignatureMember(159 /* ConstructSignature */); } var node = createNodeWithJSDoc(0 /* Unknown */); node.modifiers = parseModifiers(); @@ -17135,7 +17196,7 @@ var ts; return false; } function parseTypeLiteral() { - var node = createNode(165 /* TypeLiteral */); + var node = createNode(166 /* TypeLiteral */); node.members = parseObjectTypeMembers(); return finishNode(node); } @@ -17161,14 +17222,14 @@ var ts; return token() === 21 /* OpenBracketToken */ && nextTokenIsIdentifier() && nextToken() === 92 /* InKeyword */; } function parseMappedTypeParameter() { - var node = createNode(147 /* TypeParameter */); + var node = createNode(148 /* TypeParameter */); node.name = parseIdentifier(); parseExpected(92 /* InKeyword */); node.constraint = parseType(); return finishNode(node); } function parseMappedType() { - var node = createNode(176 /* MappedType */); + var node = createNode(177 /* MappedType */); parseExpected(17 /* OpenBraceToken */); if (token() === 132 /* ReadonlyKeyword */ || token() === 37 /* PlusToken */ || token() === 38 /* MinusToken */) { node.readonlyToken = parseTokenNode(); @@ -17191,23 +17252,23 @@ var ts; return finishNode(node); } function parseTupleType() { - var node = createNode(167 /* TupleType */); + var node = createNode(168 /* TupleType */); node.elementTypes = parseBracketedList(20 /* TupleElementTypes */, parseType, 21 /* OpenBracketToken */, 22 /* CloseBracketToken */); return finishNode(node); } function parseParenthesizedType() { - var node = createNode(172 /* ParenthesizedType */); + var node = createNode(173 /* ParenthesizedType */); parseExpected(19 /* OpenParenToken */); node.type = parseType(); if (!node.type) { - return undefined; + return undefined; // TODO: GH#18217 } parseExpected(20 /* CloseParenToken */); return finishNode(node); } function parseFunctionOrConstructorType(kind) { var node = createNodeWithJSDoc(kind); - if (kind === 163 /* ConstructorType */) { + if (kind === 164 /* ConstructorType */) { parseExpected(94 /* NewKeyword */); } if (!fillSignature(36 /* EqualsGreaterThanToken */, 4 /* Type */ | (sourceFile.languageVariant === 1 /* JSX */ ? 8 /* RequireCompleteParameterList */ : 0), node)) { @@ -17223,10 +17284,10 @@ var ts; return token() === 23 /* DotToken */ ? undefined : node; } function parseLiteralTypeNode(negative) { - var node = createNode(177 /* LiteralType */); + var node = createNode(178 /* LiteralType */); var unaryMinusExpression; if (negative) { - unaryMinusExpression = createNode(197 /* PrefixUnaryExpression */); + unaryMinusExpression = createNode(198 /* PrefixUnaryExpression */); unaryMinusExpression.operator = 38 /* MinusToken */; nextToken(); } @@ -17247,7 +17308,7 @@ var ts; } function parseImportType() { sourceFile.flags |= 524288 /* PossiblyContainsDynamicImport */; - var node = createNode(178 /* ImportType */); + var node = createNode(179 /* ImportType */); if (parseOptional(103 /* TypeOfKeyword */)) { node.isTypeOf = true; } @@ -17267,6 +17328,7 @@ var ts; function parseNonArrayType() { switch (token()) { case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 137 /* StringKeyword */: case 134 /* NumberKeyword */: case 138 /* SymbolKeyword */: @@ -17323,6 +17385,7 @@ var ts; function isStartOfType(inStartOfParameter) { switch (token()) { case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 137 /* StringKeyword */: case 134 /* NumberKeyword */: case 122 /* BooleanKeyword */: @@ -17371,26 +17434,26 @@ var ts; while (!scanner.hasPrecedingLineBreak()) { switch (token()) { case 51 /* ExclamationToken */: - type = createJSDocPostfixType(281 /* JSDocNonNullableType */, type); + type = createJSDocPostfixType(282 /* JSDocNonNullableType */, type); break; case 55 /* QuestionToken */: // If not in JSDoc and next token is start of a type we have a conditional type if (!(contextFlags & 2097152 /* JSDoc */) && lookAhead(nextTokenIsStartOfType)) { return type; } - type = createJSDocPostfixType(280 /* JSDocNullableType */, type); + type = createJSDocPostfixType(281 /* JSDocNullableType */, type); break; case 21 /* OpenBracketToken */: parseExpected(21 /* OpenBracketToken */); if (isStartOfType()) { - var node = createNode(175 /* IndexedAccessType */, type.pos); + var node = createNode(176 /* IndexedAccessType */, type.pos); node.objectType = type; node.indexType = parseType(); parseExpected(22 /* CloseBracketToken */); type = finishNode(node); } else { - var node = createNode(166 /* ArrayType */, type.pos); + var node = createNode(167 /* ArrayType */, type.pos); node.elementType = type; parseExpected(22 /* CloseBracketToken */); type = finishNode(node); @@ -17409,16 +17472,16 @@ var ts; return finishNode(postfix); } function parseTypeOperator(operator) { - var node = createNode(174 /* TypeOperator */); + var node = createNode(175 /* TypeOperator */); parseExpected(operator); node.operator = operator; node.type = parseTypeOperatorOrHigher(); return finishNode(node); } function parseInferType() { - var node = createNode(171 /* InferType */); + var node = createNode(172 /* InferType */); parseExpected(126 /* InferKeyword */); - var typeParameter = createNode(147 /* TypeParameter */); + var typeParameter = createNode(148 /* TypeParameter */); typeParameter.name = parseIdentifier(); node.typeParameter = finishNode(typeParameter); return finishNode(node); @@ -17449,10 +17512,10 @@ var ts; return type; } function parseIntersectionTypeOrHigher() { - return parseUnionOrIntersectionType(169 /* IntersectionType */, parseTypeOperatorOrHigher, 48 /* AmpersandToken */); + return parseUnionOrIntersectionType(170 /* IntersectionType */, parseTypeOperatorOrHigher, 48 /* AmpersandToken */); } function parseUnionTypeOrHigher() { - return parseUnionOrIntersectionType(168 /* UnionType */, parseIntersectionTypeOrHigher, 49 /* BarToken */); + return parseUnionOrIntersectionType(169 /* UnionType */, parseIntersectionTypeOrHigher, 49 /* BarToken */); } function isStartOfFunctionType() { if (token() === 27 /* LessThanToken */) { @@ -17509,7 +17572,7 @@ var ts; var typePredicateVariable = isIdentifier() && tryParse(parseTypePredicatePrefix); var type = parseType(); if (typePredicateVariable) { - var node = createNode(160 /* TypePredicate */, typePredicateVariable.pos); + var node = createNode(161 /* TypePredicate */, typePredicateVariable.pos); node.parameterName = typePredicateVariable; node.type = type; return finishNode(node); @@ -17532,14 +17595,14 @@ var ts; } function parseTypeWorker(noConditionalTypes) { if (isStartOfFunctionType()) { - return parseFunctionOrConstructorType(162 /* FunctionType */); + return parseFunctionOrConstructorType(163 /* FunctionType */); // TODO: GH#18217 } if (token() === 94 /* NewKeyword */) { - return parseFunctionOrConstructorType(163 /* ConstructorType */); + return parseFunctionOrConstructorType(164 /* ConstructorType */); } var type = parseUnionTypeOrHigher(); if (!noConditionalTypes && !scanner.hasPrecedingLineBreak() && parseOptional(85 /* ExtendsKeyword */)) { - var node = createNode(170 /* ConditionalType */, type.pos); + var node = createNode(171 /* ConditionalType */, type.pos); node.checkType = type; // The type following 'extends' is not permitted to be another conditional type node.extendsType = parseTypeWorker(/*noConditionalTypes*/ true); @@ -17732,7 +17795,7 @@ var ts; return !scanner.hasPrecedingLineBreak() && isIdentifier(); } function parseYieldExpression() { - var node = createNode(202 /* YieldExpression */); + var node = createNode(203 /* YieldExpression */); // YieldExpression[In] : // yield // yield [no LineTerminator here] [Lexical goal InputElementRegExp]AssignmentExpression[?In, Yield] @@ -17754,13 +17817,13 @@ var ts; ts.Debug.assert(token() === 36 /* EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); var node; if (asyncModifier) { - node = createNode(192 /* ArrowFunction */, asyncModifier.pos); + node = createNode(193 /* ArrowFunction */, asyncModifier.pos); node.modifiers = asyncModifier; } else { - node = createNode(192 /* ArrowFunction */, identifier.pos); + node = createNode(193 /* ArrowFunction */, identifier.pos); } - var parameter = createNode(148 /* Parameter */, identifier.pos); + var parameter = createNode(149 /* Parameter */, identifier.pos); parameter.name = identifier; finishNode(parameter); node.parameters = createNodeArray([parameter], parameter.pos, parameter.end); @@ -17956,7 +18019,7 @@ var ts; return 0 /* False */; } function parseParenthesizedArrowFunctionExpressionHead(allowAmbiguity) { - var node = createNodeWithJSDoc(192 /* ArrowFunction */); + var node = createNodeWithJSDoc(193 /* ArrowFunction */); node.modifiers = parseModifiersForArrowFunction(); var isAsync = ts.hasModifier(node, 256 /* Async */) ? 2 /* Await */ : 0 /* None */; // Arrow functions are never generators. @@ -18024,7 +18087,7 @@ var ts; } // Note: we explicitly 'allowIn' in the whenTrue part of the condition expression, and // we do not that for the 'whenFalse' part. - var node = createNode(200 /* ConditionalExpression */, leftOperand.pos); + var node = createNode(201 /* ConditionalExpression */, leftOperand.pos); node.condition = leftOperand; node.questionToken = questionToken; node.whenTrue = doOutsideOfContext(disallowInAndDecoratorContext, parseAssignmentExpressionOrHigher); @@ -18039,7 +18102,7 @@ var ts; return parseBinaryExpressionRest(precedence, leftOperand); } function isInOrOfKeyword(t) { - return t === 92 /* InKeyword */ || t === 144 /* OfKeyword */; + return t === 92 /* InKeyword */ || t === 145 /* OfKeyword */; } function parseBinaryExpressionRest(precedence, leftOperand) { while (true) { @@ -18104,39 +18167,39 @@ var ts; return ts.getBinaryOperatorPrecedence(token()) > 0; } function makeBinaryExpression(left, operatorToken, right) { - var node = createNode(199 /* BinaryExpression */, left.pos); + var node = createNode(200 /* BinaryExpression */, left.pos); node.left = left; node.operatorToken = operatorToken; node.right = right; return finishNode(node); } function makeAsExpression(left, right) { - var node = createNode(207 /* AsExpression */, left.pos); + var node = createNode(208 /* AsExpression */, left.pos); node.expression = left; node.type = right; return finishNode(node); } function parsePrefixUnaryExpression() { - var node = createNode(197 /* PrefixUnaryExpression */); + var node = createNode(198 /* PrefixUnaryExpression */); node.operator = token(); nextToken(); node.operand = parseSimpleUnaryExpression(); return finishNode(node); } function parseDeleteExpression() { - var node = createNode(193 /* DeleteExpression */); + var node = createNode(194 /* DeleteExpression */); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); } function parseTypeOfExpression() { - var node = createNode(194 /* TypeOfExpression */); + var node = createNode(195 /* TypeOfExpression */); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); } function parseVoidExpression() { - var node = createNode(195 /* VoidExpression */); + var node = createNode(196 /* VoidExpression */); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); @@ -18152,7 +18215,7 @@ var ts; return false; } function parseAwaitExpression() { - var node = createNode(196 /* AwaitExpression */); + var node = createNode(197 /* AwaitExpression */); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); @@ -18196,7 +18259,7 @@ var ts; if (token() === 40 /* AsteriskAsteriskToken */) { var pos = ts.skipTrivia(sourceText, simpleUnaryExpression.pos); var end = simpleUnaryExpression.end; - if (simpleUnaryExpression.kind === 189 /* TypeAssertionExpression */) { + if (simpleUnaryExpression.kind === 190 /* TypeAssertionExpression */) { parseErrorAt(pos, end, ts.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses); } else { @@ -18293,7 +18356,7 @@ var ts; */ function parseUpdateExpression() { if (token() === 43 /* PlusPlusToken */ || token() === 44 /* MinusMinusToken */) { - var node = createNode(197 /* PrefixUnaryExpression */); + var node = createNode(198 /* PrefixUnaryExpression */); node.operator = token(); nextToken(); node.operand = parseLeftHandSideExpressionOrHigher(); @@ -18306,7 +18369,7 @@ var ts; var expression = parseLeftHandSideExpressionOrHigher(); ts.Debug.assert(ts.isLeftHandSideExpression(expression)); if ((token() === 43 /* PlusPlusToken */ || token() === 44 /* MinusMinusToken */) && !scanner.hasPrecedingLineBreak()) { - var node = createNode(198 /* PostfixUnaryExpression */, expression.pos); + var node = createNode(199 /* PostfixUnaryExpression */, expression.pos); node.operand = expression; node.operator = token(); nextToken(); @@ -18362,7 +18425,7 @@ var ts; var fullStart = scanner.getStartPos(); nextToken(); // advance past the 'import' nextToken(); // advance past the dot - var node = createNode(209 /* MetaProperty */, fullStart); + var node = createNode(210 /* MetaProperty */, fullStart); node.keywordToken = 91 /* ImportKeyword */; node.name = parseIdentifierName(); expression = finishNode(node); @@ -18437,33 +18500,17 @@ var ts; } // If we have seen "super" it must be followed by '(' or '.'. // If it wasn't then just try to parse out a '.' and report an error. - var node = createNode(184 /* PropertyAccessExpression */, expression.pos); + var node = createNode(185 /* PropertyAccessExpression */, expression.pos); node.expression = expression; parseExpectedToken(23 /* DotToken */, ts.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access); node.name = parseRightSideOfDot(/*allowIdentifierNames*/ true); return finishNode(node); } - function tagNamesAreEquivalent(lhs, rhs) { - if (lhs.kind !== rhs.kind) { - return false; - } - if (lhs.kind === 71 /* Identifier */) { - return lhs.escapedText === rhs.escapedText; - } - if (lhs.kind === 99 /* ThisKeyword */) { - return true; - } - // If we are at this statement then we must have PropertyAccessExpression and because tag name in Jsx element can only - // take forms of JsxTagNameExpression which includes an identifier, "this" expression, or another propertyAccessExpression - // it is safe to case the expression property as such. See parseJsxElementName for how we parse tag name in Jsx element - return lhs.name.escapedText === rhs.name.escapedText && - tagNamesAreEquivalent(lhs.expression, rhs.expression); - } function parseJsxElementOrSelfClosingElementOrFragment(inExpressionContext) { var opening = parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext); var result; - if (opening.kind === 256 /* JsxOpeningElement */) { - var node = createNode(254 /* JsxElement */, opening.pos); + if (opening.kind === 257 /* JsxOpeningElement */) { + var node = createNode(255 /* JsxElement */, opening.pos); node.openingElement = opening; node.children = parseJsxChildren(node.openingElement); node.closingElement = parseJsxClosingElement(inExpressionContext); @@ -18472,15 +18519,15 @@ var ts; } result = finishNode(node); } - else if (opening.kind === 259 /* JsxOpeningFragment */) { - var node = createNode(258 /* JsxFragment */, opening.pos); + else if (opening.kind === 260 /* JsxOpeningFragment */) { + var node = createNode(259 /* JsxFragment */, opening.pos); node.openingFragment = opening; node.children = parseJsxChildren(node.openingFragment); node.closingFragment = parseJsxClosingFragment(inExpressionContext); result = finishNode(node); } else { - ts.Debug.assert(opening.kind === 255 /* JsxSelfClosingElement */); + ts.Debug.assert(opening.kind === 256 /* JsxSelfClosingElement */); // Nothing else to do for self-closing elements result = opening; } @@ -18495,11 +18542,11 @@ var ts; var invalidElement = tryParse(function () { return parseJsxElementOrSelfClosingElementOrFragment(/*inExpressionContext*/ true); }); if (invalidElement) { parseErrorAtCurrentToken(ts.Diagnostics.JSX_expressions_must_have_one_parent_element); - var badNode = createNode(199 /* BinaryExpression */, result.pos); + var badNode = createNode(200 /* BinaryExpression */, result.pos); badNode.end = invalidElement.end; badNode.left = result; badNode.right = invalidElement; - badNode.operatorToken = createMissingNode(26 /* CommaToken */, /*reportAtCurrentPosition*/ false, /*diagnosticMessage*/ undefined); + badNode.operatorToken = createMissingNode(26 /* CommaToken */, /*reportAtCurrentPosition*/ false, /*diagnosticMessage*/ undefined); // TODO: GH#18217 badNode.operatorToken.pos = badNode.operatorToken.end = badNode.right.pos; return badNode; } @@ -18553,7 +18600,7 @@ var ts; return createNodeArray(list, listPos); } function parseJsxAttributes() { - var jsxAttributes = createNode(262 /* JsxAttributes */); + var jsxAttributes = createNode(263 /* JsxAttributes */); jsxAttributes.properties = parseList(13 /* JsxAttributes */, parseJsxAttribute); return finishNode(jsxAttributes); } @@ -18562,7 +18609,7 @@ var ts; parseExpected(27 /* LessThanToken */); if (token() === 29 /* GreaterThanToken */) { // See below for explanation of scanJsxText - var node_1 = createNode(259 /* JsxOpeningFragment */, fullStart); + var node_1 = createNode(260 /* JsxOpeningFragment */, fullStart); scanJsxText(); return finishNode(node_1); } @@ -18574,7 +18621,7 @@ var ts; // Closing tag, so scan the immediately-following text with the JSX scanning instead // of regular scanning to avoid treating illegal characters (e.g. '#') as immediate // scanning errors - node = createNode(256 /* JsxOpeningElement */, fullStart); + node = createNode(257 /* JsxOpeningElement */, fullStart); scanJsxText(); } else { @@ -18586,7 +18633,7 @@ var ts; parseExpected(29 /* GreaterThanToken */, /*diagnostic*/ undefined, /*shouldAdvance*/ false); scanJsxText(); } - node = createNode(255 /* JsxSelfClosingElement */, fullStart); + node = createNode(256 /* JsxSelfClosingElement */, fullStart); } node.tagName = tagName; node.typeArguments = typeArguments; @@ -18603,7 +18650,7 @@ var ts; var expression = token() === 99 /* ThisKeyword */ ? parseTokenNode() : parseIdentifierName(); while (parseOptional(23 /* DotToken */)) { - var propertyAccess = createNode(184 /* PropertyAccessExpression */, expression.pos); + var propertyAccess = createNode(185 /* PropertyAccessExpression */, expression.pos); propertyAccess.expression = expression; propertyAccess.name = parseRightSideOfDot(/*allowIdentifierNames*/ true); expression = finishNode(propertyAccess); @@ -18611,7 +18658,7 @@ var ts; return expression; } function parseJsxExpression(inExpressionContext) { - var node = createNode(264 /* JsxExpression */); + var node = createNode(265 /* JsxExpression */); if (!parseExpected(17 /* OpenBraceToken */)) { return undefined; } @@ -18633,7 +18680,7 @@ var ts; return parseJsxSpreadAttribute(); } scanJsxIdentifier(); - var node = createNode(261 /* JsxAttribute */); + var node = createNode(262 /* JsxAttribute */); node.name = parseIdentifierName(); if (token() === 58 /* EqualsToken */) { switch (scanJsxAttributeValue()) { @@ -18648,7 +18695,7 @@ var ts; return finishNode(node); } function parseJsxSpreadAttribute() { - var node = createNode(263 /* JsxSpreadAttribute */); + var node = createNode(264 /* JsxSpreadAttribute */); parseExpected(17 /* OpenBraceToken */); parseExpected(24 /* DotDotDotToken */); node.expression = parseExpression(); @@ -18656,7 +18703,7 @@ var ts; return finishNode(node); } function parseJsxClosingElement(inExpressionContext) { - var node = createNode(257 /* JsxClosingElement */); + var node = createNode(258 /* JsxClosingElement */); parseExpected(28 /* LessThanSlashToken */); node.tagName = parseJsxElementName(); if (inExpressionContext) { @@ -18669,7 +18716,7 @@ var ts; return finishNode(node); } function parseJsxClosingFragment(inExpressionContext) { - var node = createNode(260 /* JsxClosingFragment */); + var node = createNode(261 /* JsxClosingFragment */); parseExpected(28 /* LessThanSlashToken */); if (ts.tokenIsIdentifierOrKeyword(token())) { parseErrorAtRange(parseJsxElementName(), ts.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment); @@ -18684,7 +18731,7 @@ var ts; return finishNode(node); } function parseTypeAssertion() { - var node = createNode(189 /* TypeAssertionExpression */); + var node = createNode(190 /* TypeAssertionExpression */); parseExpected(27 /* LessThanToken */); node.type = parseType(); parseExpected(29 /* GreaterThanToken */); @@ -18695,7 +18742,7 @@ var ts; while (true) { var dotToken = parseOptionalToken(23 /* DotToken */); if (dotToken) { - var propertyAccess = createNode(184 /* PropertyAccessExpression */, expression.pos); + var propertyAccess = createNode(185 /* PropertyAccessExpression */, expression.pos); propertyAccess.expression = expression; propertyAccess.name = parseRightSideOfDot(/*allowIdentifierNames*/ true); expression = finishNode(propertyAccess); @@ -18703,14 +18750,14 @@ var ts; } if (token() === 51 /* ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { nextToken(); - var nonNullExpression = createNode(208 /* NonNullExpression */, expression.pos); + var nonNullExpression = createNode(209 /* NonNullExpression */, expression.pos); nonNullExpression.expression = expression; expression = finishNode(nonNullExpression); continue; } // when in the [Decorator] context, we do not parse ElementAccess as it could be part of a ComputedPropertyName if (!inDecoratorContext() && parseOptional(21 /* OpenBracketToken */)) { - var indexedAccess = createNode(185 /* ElementAccessExpression */, expression.pos); + var indexedAccess = createNode(186 /* ElementAccessExpression */, expression.pos); indexedAccess.expression = expression; if (token() === 22 /* CloseBracketToken */) { indexedAccess.argumentExpression = createMissingNode(71 /* Identifier */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.An_element_access_expression_should_take_an_argument); @@ -18737,7 +18784,7 @@ var ts; return token() === 13 /* NoSubstitutionTemplateLiteral */ || token() === 14 /* TemplateHead */; } function parseTaggedTemplateRest(tag, typeArguments) { - var tagExpression = createNode(188 /* TaggedTemplateExpression */, tag.pos); + var tagExpression = createNode(189 /* TaggedTemplateExpression */, tag.pos); tagExpression.tag = tag; tagExpression.typeArguments = typeArguments; tagExpression.template = token() === 13 /* NoSubstitutionTemplateLiteral */ @@ -18761,7 +18808,7 @@ var ts; expression = parseTaggedTemplateRest(expression, typeArguments); continue; } - var callExpr = createNode(186 /* CallExpression */, expression.pos); + var callExpr = createNode(187 /* CallExpression */, expression.pos); callExpr.expression = expression; callExpr.typeArguments = typeArguments; callExpr.arguments = parseArgumentList(); @@ -18769,7 +18816,7 @@ var ts; continue; } else if (token() === 19 /* OpenParenToken */) { - var callExpr = createNode(186 /* CallExpression */, expression.pos); + var callExpr = createNode(187 /* CallExpression */, expression.pos); callExpr.expression = expression; callExpr.arguments = parseArgumentList(); expression = finishNode(callExpr); @@ -18881,28 +18928,28 @@ var ts; return parseIdentifier(ts.Diagnostics.Expression_expected); } function parseParenthesizedExpression() { - var node = createNodeWithJSDoc(190 /* ParenthesizedExpression */); + var node = createNodeWithJSDoc(191 /* ParenthesizedExpression */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); parseExpected(20 /* CloseParenToken */); return finishNode(node); } function parseSpreadElement() { - var node = createNode(203 /* SpreadElement */); + var node = createNode(204 /* SpreadElement */); parseExpected(24 /* DotDotDotToken */); node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } function parseArgumentOrArrayLiteralElement() { return token() === 24 /* DotDotDotToken */ ? parseSpreadElement() : - token() === 26 /* CommaToken */ ? createNode(205 /* OmittedExpression */) : + token() === 26 /* CommaToken */ ? createNode(206 /* OmittedExpression */) : parseAssignmentExpressionOrHigher(); } function parseArgumentExpression() { return doOutsideOfContext(disallowInAndDecoratorContext, parseArgumentOrArrayLiteralElement); } function parseArrayLiteralExpression() { - var node = createNode(182 /* ArrayLiteralExpression */); + var node = createNode(183 /* ArrayLiteralExpression */); parseExpected(21 /* OpenBracketToken */); if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -18914,17 +18961,17 @@ var ts; function parseObjectLiteralElement() { var node = createNodeWithJSDoc(0 /* Unknown */); if (parseOptionalToken(24 /* DotDotDotToken */)) { - node.kind = 271 /* SpreadAssignment */; + node.kind = 272 /* SpreadAssignment */; node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } node.decorators = parseDecorators(); node.modifiers = parseModifiers(); if (parseContextualModifier(125 /* GetKeyword */)) { - return parseAccessorDeclaration(node, 155 /* GetAccessor */); + return parseAccessorDeclaration(node, 156 /* GetAccessor */); } if (parseContextualModifier(136 /* SetKeyword */)) { - return parseAccessorDeclaration(node, 156 /* SetAccessor */); + return parseAccessorDeclaration(node, 157 /* SetAccessor */); } var asteriskToken = parseOptionalToken(39 /* AsteriskToken */); var tokenIsIdentifier = isIdentifier(); @@ -18941,7 +18988,7 @@ var ts; // this is necessary because ObjectLiteral productions are also used to cover grammar for ObjectAssignmentPattern var isShorthandPropertyAssignment = tokenIsIdentifier && (token() === 26 /* CommaToken */ || token() === 18 /* CloseBraceToken */ || token() === 58 /* EqualsToken */); if (isShorthandPropertyAssignment) { - node.kind = 270 /* ShorthandPropertyAssignment */; + node.kind = 271 /* ShorthandPropertyAssignment */; var equalsToken = parseOptionalToken(58 /* EqualsToken */); if (equalsToken) { node.equalsToken = equalsToken; @@ -18949,14 +18996,14 @@ var ts; } } else { - node.kind = 269 /* PropertyAssignment */; + node.kind = 270 /* PropertyAssignment */; parseExpected(56 /* ColonToken */); node.initializer = allowInAnd(parseAssignmentExpressionOrHigher); } return finishNode(node); } function parseObjectLiteralExpression() { - var node = createNode(183 /* ObjectLiteralExpression */); + var node = createNode(184 /* ObjectLiteralExpression */); parseExpected(17 /* OpenBraceToken */); if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -18975,7 +19022,7 @@ var ts; if (saveDecoratorContext) { setDecoratorContext(/*val*/ false); } - var node = createNodeWithJSDoc(191 /* FunctionExpression */); + var node = createNodeWithJSDoc(192 /* FunctionExpression */); node.modifiers = parseModifiers(); parseExpected(89 /* FunctionKeyword */); node.asteriskToken = parseOptionalToken(39 /* AsteriskToken */); @@ -19000,7 +19047,7 @@ var ts; var fullStart = scanner.getStartPos(); parseExpected(94 /* NewKeyword */); if (parseOptional(23 /* DotToken */)) { - var node_2 = createNode(209 /* MetaProperty */, fullStart); + var node_2 = createNode(210 /* MetaProperty */, fullStart); node_2.keywordToken = 94 /* NewKeyword */; node_2.name = parseIdentifierName(); return finishNode(node_2); @@ -19017,7 +19064,7 @@ var ts; } break; } - var node = createNode(187 /* NewExpression */, fullStart); + var node = createNode(188 /* NewExpression */, fullStart); node.expression = expression; node.typeArguments = typeArguments; if (node.typeArguments || token() === 19 /* OpenParenToken */) { @@ -19027,7 +19074,7 @@ var ts; } // STATEMENTS function parseBlock(ignoreMissingOpenBrace, diagnosticMessage) { - var node = createNode(212 /* Block */); + var node = createNode(213 /* Block */); if (parseExpected(17 /* OpenBraceToken */, diagnosticMessage) || ignoreMissingOpenBrace) { if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -19060,12 +19107,12 @@ var ts; return block; } function parseEmptyStatement() { - var node = createNode(214 /* EmptyStatement */); + var node = createNode(215 /* EmptyStatement */); parseExpected(25 /* SemicolonToken */); return finishNode(node); } function parseIfStatement() { - var node = createNode(216 /* IfStatement */); + var node = createNode(217 /* IfStatement */); parseExpected(90 /* IfKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); @@ -19075,7 +19122,7 @@ var ts; return finishNode(node); } function parseDoStatement() { - var node = createNode(217 /* DoStatement */); + var node = createNode(218 /* DoStatement */); parseExpected(81 /* DoKeyword */); node.statement = parseStatement(); parseExpected(106 /* WhileKeyword */); @@ -19090,7 +19137,7 @@ var ts; return finishNode(node); } function parseWhileStatement() { - var node = createNode(218 /* WhileStatement */); + var node = createNode(219 /* WhileStatement */); parseExpected(106 /* WhileKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); @@ -19113,8 +19160,8 @@ var ts; } } var forOrForInOrForOfStatement; - if (awaitToken ? parseExpected(144 /* OfKeyword */) : parseOptional(144 /* OfKeyword */)) { - var forOfStatement = createNode(221 /* ForOfStatement */, pos); + if (awaitToken ? parseExpected(145 /* OfKeyword */) : parseOptional(145 /* OfKeyword */)) { + var forOfStatement = createNode(222 /* ForOfStatement */, pos); forOfStatement.awaitModifier = awaitToken; forOfStatement.initializer = initializer; forOfStatement.expression = allowInAnd(parseAssignmentExpressionOrHigher); @@ -19122,14 +19169,14 @@ var ts; forOrForInOrForOfStatement = forOfStatement; } else if (parseOptional(92 /* InKeyword */)) { - var forInStatement = createNode(220 /* ForInStatement */, pos); + var forInStatement = createNode(221 /* ForInStatement */, pos); forInStatement.initializer = initializer; forInStatement.expression = allowInAnd(parseExpression); parseExpected(20 /* CloseParenToken */); forOrForInOrForOfStatement = forInStatement; } else { - var forStatement = createNode(219 /* ForStatement */, pos); + var forStatement = createNode(220 /* ForStatement */, pos); forStatement.initializer = initializer; parseExpected(25 /* SemicolonToken */); if (token() !== 25 /* SemicolonToken */ && token() !== 20 /* CloseParenToken */) { @@ -19147,7 +19194,7 @@ var ts; } function parseBreakOrContinueStatement(kind) { var node = createNode(kind); - parseExpected(kind === 223 /* BreakStatement */ ? 72 /* BreakKeyword */ : 77 /* ContinueKeyword */); + parseExpected(kind === 224 /* BreakStatement */ ? 72 /* BreakKeyword */ : 77 /* ContinueKeyword */); if (!canParseSemicolon()) { node.label = parseIdentifier(); } @@ -19155,7 +19202,7 @@ var ts; return finishNode(node); } function parseReturnStatement() { - var node = createNode(224 /* ReturnStatement */); + var node = createNode(225 /* ReturnStatement */); parseExpected(96 /* ReturnKeyword */); if (!canParseSemicolon()) { node.expression = allowInAnd(parseExpression); @@ -19164,7 +19211,7 @@ var ts; return finishNode(node); } function parseWithStatement() { - var node = createNode(225 /* WithStatement */); + var node = createNode(226 /* WithStatement */); parseExpected(107 /* WithKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); @@ -19173,7 +19220,7 @@ var ts; return finishNode(node); } function parseCaseClause() { - var node = createNode(265 /* CaseClause */); + var node = createNode(266 /* CaseClause */); parseExpected(73 /* CaseKeyword */); node.expression = allowInAnd(parseExpression); parseExpected(56 /* ColonToken */); @@ -19181,7 +19228,7 @@ var ts; return finishNode(node); } function parseDefaultClause() { - var node = createNode(266 /* DefaultClause */); + var node = createNode(267 /* DefaultClause */); parseExpected(79 /* DefaultKeyword */); parseExpected(56 /* ColonToken */); node.statements = parseList(3 /* SwitchClauseStatements */, parseStatement); @@ -19191,12 +19238,12 @@ var ts; return token() === 73 /* CaseKeyword */ ? parseCaseClause() : parseDefaultClause(); } function parseSwitchStatement() { - var node = createNode(226 /* SwitchStatement */); + var node = createNode(227 /* SwitchStatement */); parseExpected(98 /* SwitchKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); parseExpected(20 /* CloseParenToken */); - var caseBlock = createNode(240 /* CaseBlock */); + var caseBlock = createNode(241 /* CaseBlock */); parseExpected(17 /* OpenBraceToken */); caseBlock.clauses = parseList(2 /* SwitchClauses */, parseCaseOrDefaultClause); parseExpected(18 /* CloseBraceToken */); @@ -19211,7 +19258,7 @@ var ts; // directly as that might consume an expression on the following line. // We just return 'undefined' in that case. The actual error will be reported in the // grammar walker. - var node = createNode(228 /* ThrowStatement */); + var node = createNode(229 /* ThrowStatement */); parseExpected(100 /* ThrowKeyword */); node.expression = scanner.hasPrecedingLineBreak() ? undefined : allowInAnd(parseExpression); parseSemicolon(); @@ -19219,7 +19266,7 @@ var ts; } // TODO: Review for error recovery function parseTryStatement() { - var node = createNode(229 /* TryStatement */); + var node = createNode(230 /* TryStatement */); parseExpected(102 /* TryKeyword */); node.tryBlock = parseBlock(/*ignoreMissingOpenBrace*/ false); node.catchClause = token() === 74 /* CatchKeyword */ ? parseCatchClause() : undefined; @@ -19232,7 +19279,7 @@ var ts; return finishNode(node); } function parseCatchClause() { - var result = createNode(268 /* CatchClause */); + var result = createNode(269 /* CatchClause */); parseExpected(74 /* CatchKeyword */); if (parseOptional(19 /* OpenParenToken */)) { result.variableDeclaration = parseVariableDeclaration(); @@ -19246,7 +19293,7 @@ var ts; return finishNode(result); } function parseDebuggerStatement() { - var node = createNode(230 /* DebuggerStatement */); + var node = createNode(231 /* DebuggerStatement */); parseExpected(78 /* DebuggerKeyword */); parseSemicolon(); return finishNode(node); @@ -19258,12 +19305,12 @@ var ts; var node = createNodeWithJSDoc(0 /* Unknown */); var expression = allowInAnd(parseExpression); if (expression.kind === 71 /* Identifier */ && parseOptional(56 /* ColonToken */)) { - node.kind = 227 /* LabeledStatement */; + node.kind = 228 /* LabeledStatement */; node.label = expression; node.statement = parseStatement(); } else { - node.kind = 215 /* ExpressionStatement */; + node.kind = 216 /* ExpressionStatement */; node.expression = expression; parseSemicolon(); } @@ -19335,7 +19382,7 @@ var ts; return false; } continue; - case 143 /* GlobalKeyword */: + case 144 /* GlobalKeyword */: nextToken(); return token() === 17 /* OpenBraceToken */ || token() === 71 /* Identifier */ || token() === 84 /* ExportKeyword */; case 91 /* ImportKeyword */: @@ -19399,7 +19446,7 @@ var ts; case 129 /* ModuleKeyword */: case 130 /* NamespaceKeyword */: case 139 /* TypeKeyword */: - case 143 /* GlobalKeyword */: + case 144 /* GlobalKeyword */: // When these don't start a declaration, they're an identifier in an expression statement return true; case 114 /* PublicKeyword */: @@ -19430,16 +19477,16 @@ var ts; case 17 /* OpenBraceToken */: return parseBlock(/*ignoreMissingOpenBrace*/ false); case 104 /* VarKeyword */: - return parseVariableStatement(createNodeWithJSDoc(231 /* VariableDeclaration */)); + return parseVariableStatement(createNodeWithJSDoc(232 /* VariableDeclaration */)); case 110 /* LetKeyword */: if (isLetDeclaration()) { - return parseVariableStatement(createNodeWithJSDoc(231 /* VariableDeclaration */)); + return parseVariableStatement(createNodeWithJSDoc(232 /* VariableDeclaration */)); } break; case 89 /* FunctionKeyword */: - return parseFunctionDeclaration(createNodeWithJSDoc(233 /* FunctionDeclaration */)); + return parseFunctionDeclaration(createNodeWithJSDoc(234 /* FunctionDeclaration */)); case 75 /* ClassKeyword */: - return parseClassDeclaration(createNodeWithJSDoc(234 /* ClassDeclaration */)); + return parseClassDeclaration(createNodeWithJSDoc(235 /* ClassDeclaration */)); case 90 /* IfKeyword */: return parseIfStatement(); case 81 /* DoKeyword */: @@ -19449,9 +19496,9 @@ var ts; case 88 /* ForKeyword */: return parseForOrForInOrForOfStatement(); case 77 /* ContinueKeyword */: - return parseBreakOrContinueStatement(222 /* ContinueStatement */); + return parseBreakOrContinueStatement(223 /* ContinueStatement */); case 72 /* BreakKeyword */: - return parseBreakOrContinueStatement(223 /* BreakStatement */); + return parseBreakOrContinueStatement(224 /* BreakStatement */); case 96 /* ReturnKeyword */: return parseReturnStatement(); case 107 /* WithKeyword */: @@ -19485,7 +19532,7 @@ var ts; case 117 /* AbstractKeyword */: case 115 /* StaticKeyword */: case 132 /* ReadonlyKeyword */: - case 143 /* GlobalKeyword */: + case 144 /* GlobalKeyword */: if (isStartOfDeclaration()) { return parseDeclaration(); } @@ -19527,7 +19574,7 @@ var ts; return parseTypeAliasDeclaration(node); case 83 /* EnumKeyword */: return parseEnumDeclaration(node); - case 143 /* GlobalKeyword */: + case 144 /* GlobalKeyword */: case 129 /* ModuleKeyword */: case 130 /* NamespaceKeyword */: return parseModuleDeclaration(node); @@ -19548,12 +19595,13 @@ var ts; if (node.decorators || node.modifiers) { // We reached this point because we encountered decorators and/or modifiers and assumed a declaration // would follow. For recovery and error reporting purposes, return an incomplete declaration. - var missing = createMissingNode(252 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); + var missing = createMissingNode(253 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); missing.pos = node.pos; missing.decorators = node.decorators; missing.modifiers = node.modifiers; return finishNode(missing); } + return undefined; // TODO: GH#18217 } } function nextTokenIsIdentifierOrStringLiteralOnSameLine() { @@ -19570,16 +19618,16 @@ var ts; // DECLARATIONS function parseArrayBindingElement() { if (token() === 26 /* CommaToken */) { - return createNode(205 /* OmittedExpression */); + return createNode(206 /* OmittedExpression */); } - var node = createNode(181 /* BindingElement */); + var node = createNode(182 /* BindingElement */); node.dotDotDotToken = parseOptionalToken(24 /* DotDotDotToken */); node.name = parseIdentifierOrPattern(); node.initializer = parseInitializer(); return finishNode(node); } function parseObjectBindingElement() { - var node = createNode(181 /* BindingElement */); + var node = createNode(182 /* BindingElement */); node.dotDotDotToken = parseOptionalToken(24 /* DotDotDotToken */); var tokenIsIdentifier = isIdentifier(); var propertyName = parsePropertyName(); @@ -19595,14 +19643,14 @@ var ts; return finishNode(node); } function parseObjectBindingPattern() { - var node = createNode(179 /* ObjectBindingPattern */); + var node = createNode(180 /* ObjectBindingPattern */); parseExpected(17 /* OpenBraceToken */); node.elements = parseDelimitedList(9 /* ObjectBindingElements */, parseObjectBindingElement); parseExpected(18 /* CloseBraceToken */); return finishNode(node); } function parseArrayBindingPattern() { - var node = createNode(180 /* ArrayBindingPattern */); + var node = createNode(181 /* ArrayBindingPattern */); parseExpected(21 /* OpenBracketToken */); node.elements = parseDelimitedList(10 /* ArrayBindingElements */, parseArrayBindingElement); parseExpected(22 /* CloseBracketToken */); @@ -19624,7 +19672,7 @@ var ts; return parseVariableDeclaration(/*allowExclamation*/ true); } function parseVariableDeclaration(allowExclamation) { - var node = createNode(231 /* VariableDeclaration */); + var node = createNode(232 /* VariableDeclaration */); node.name = parseIdentifierOrPattern(); if (allowExclamation && node.name.kind === 71 /* Identifier */ && token() === 51 /* ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { @@ -19637,7 +19685,7 @@ var ts; return finishNode(node); } function parseVariableDeclarationList(inForStatementInitializer) { - var node = createNode(232 /* VariableDeclarationList */); + var node = createNode(233 /* VariableDeclarationList */); switch (token()) { case 104 /* VarKeyword */: break; @@ -19660,7 +19708,7 @@ var ts; // So we need to look ahead to determine if 'of' should be treated as a keyword in // this context. // The checker will then give an error that there is an empty declaration list. - if (token() === 144 /* OfKeyword */ && lookAhead(canFollowContextualOfKeyword)) { + if (token() === 145 /* OfKeyword */ && lookAhead(canFollowContextualOfKeyword)) { node.declarations = createMissingList(); } else { @@ -19675,13 +19723,13 @@ var ts; return nextTokenIsIdentifier() && nextToken() === 20 /* CloseParenToken */; } function parseVariableStatement(node) { - node.kind = 213 /* VariableStatement */; + node.kind = 214 /* VariableStatement */; node.declarationList = parseVariableDeclarationList(/*inForStatementInitializer*/ false); parseSemicolon(); return finishNode(node); } function parseFunctionDeclaration(node) { - node.kind = 233 /* FunctionDeclaration */; + node.kind = 234 /* FunctionDeclaration */; parseExpected(89 /* FunctionKeyword */); node.asteriskToken = parseOptionalToken(39 /* AsteriskToken */); node.name = ts.hasModifier(node, 512 /* Default */) ? parseOptionalIdentifier() : parseIdentifier(); @@ -19692,14 +19740,14 @@ var ts; return finishNode(node); } function parseConstructorDeclaration(node) { - node.kind = 154 /* Constructor */; + node.kind = 155 /* Constructor */; parseExpected(123 /* ConstructorKeyword */); fillSignature(56 /* ColonToken */, 0 /* None */, node); node.body = parseFunctionBlockOrSemicolon(0 /* None */, ts.Diagnostics.or_expected); return finishNode(node); } function parseMethodDeclaration(node, asteriskToken, diagnosticMessage) { - node.kind = 153 /* MethodDeclaration */; + node.kind = 154 /* MethodDeclaration */; node.asteriskToken = asteriskToken; var isGenerator = asteriskToken ? 1 /* Yield */ : 0 /* None */; var isAsync = ts.hasModifier(node, 256 /* Async */) ? 2 /* Await */ : 0 /* None */; @@ -19708,7 +19756,7 @@ var ts; return finishNode(node); } function parsePropertyDeclaration(node) { - node.kind = 151 /* PropertyDeclaration */; + node.kind = 152 /* PropertyDeclaration */; if (!node.questionToken && token() === 51 /* ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { node.exclamationToken = parseTokenNode(); } @@ -19813,7 +19861,7 @@ var ts; if (!parseOptional(57 /* AtToken */)) { break; } - var decorator = createNode(149 /* Decorator */, decoratorStart); + var decorator = createNode(150 /* Decorator */, decoratorStart); decorator.expression = doInDecoratorContext(parseLeftHandSideExpressionOrHigher); finishNode(decorator); (list || (list = [])).push(decorator); @@ -19863,7 +19911,7 @@ var ts; } function parseClassElement() { if (token() === 25 /* SemicolonToken */) { - var result = createNode(211 /* SemicolonClassElement */); + var result = createNode(212 /* SemicolonClassElement */); nextToken(); return finishNode(result); } @@ -19871,10 +19919,10 @@ var ts; node.decorators = parseDecorators(); node.modifiers = parseModifiers(/*permitInvalidConstAsModifier*/ true); if (parseContextualModifier(125 /* GetKeyword */)) { - return parseAccessorDeclaration(node, 155 /* GetAccessor */); + return parseAccessorDeclaration(node, 156 /* GetAccessor */); } if (parseContextualModifier(136 /* SetKeyword */)) { - return parseAccessorDeclaration(node, 156 /* SetAccessor */); + return parseAccessorDeclaration(node, 157 /* SetAccessor */); } if (token() === 123 /* ConstructorKeyword */) { return parseConstructorDeclaration(node); @@ -19897,13 +19945,13 @@ var ts; return parsePropertyDeclaration(node); } // 'isClassMemberStart' should have hinted not to attempt parsing. - ts.Debug.fail("Should not have attempted to parse class member declaration."); + return ts.Debug.fail("Should not have attempted to parse class member declaration."); } function parseClassExpression() { - return parseClassDeclarationOrExpression(createNodeWithJSDoc(0 /* Unknown */), 204 /* ClassExpression */); + return parseClassDeclarationOrExpression(createNodeWithJSDoc(0 /* Unknown */), 205 /* ClassExpression */); } function parseClassDeclaration(node) { - return parseClassDeclarationOrExpression(node, 234 /* ClassDeclaration */); + return parseClassDeclarationOrExpression(node, 235 /* ClassDeclaration */); } function parseClassDeclarationOrExpression(node, kind) { node.kind = kind; @@ -19945,17 +19993,15 @@ var ts; } function parseHeritageClause() { var tok = token(); - if (tok === 85 /* ExtendsKeyword */ || tok === 108 /* ImplementsKeyword */) { - var node = createNode(267 /* HeritageClause */); - node.token = tok; - nextToken(); - node.types = parseDelimitedList(7 /* HeritageClauseElement */, parseExpressionWithTypeArguments); - return finishNode(node); - } - return undefined; + ts.Debug.assert(tok === 85 /* ExtendsKeyword */ || tok === 108 /* ImplementsKeyword */); // isListElement() should ensure this. + var node = createNode(268 /* HeritageClause */); + node.token = tok; + nextToken(); + node.types = parseDelimitedList(7 /* HeritageClauseElement */, parseExpressionWithTypeArguments); + return finishNode(node); } function parseExpressionWithTypeArguments() { - var node = createNode(206 /* ExpressionWithTypeArguments */); + var node = createNode(207 /* ExpressionWithTypeArguments */); node.expression = parseLeftHandSideExpressionOrHigher(); node.typeArguments = tryParseTypeArguments(); return finishNode(node); @@ -19972,7 +20018,7 @@ var ts; return parseList(5 /* ClassMembers */, parseClassElement); } function parseInterfaceDeclaration(node) { - node.kind = 235 /* InterfaceDeclaration */; + node.kind = 236 /* InterfaceDeclaration */; parseExpected(109 /* InterfaceKeyword */); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); @@ -19981,7 +20027,7 @@ var ts; return finishNode(node); } function parseTypeAliasDeclaration(node) { - node.kind = 236 /* TypeAliasDeclaration */; + node.kind = 237 /* TypeAliasDeclaration */; parseExpected(139 /* TypeKeyword */); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); @@ -19995,13 +20041,13 @@ var ts; // ConstantEnumMemberSection, which starts at the beginning of an enum declaration // or any time an integer literal initializer is encountered. function parseEnumMember() { - var node = createNodeWithJSDoc(272 /* EnumMember */); + var node = createNodeWithJSDoc(273 /* EnumMember */); node.name = parsePropertyName(); node.initializer = allowInAnd(parseInitializer); return finishNode(node); } function parseEnumDeclaration(node) { - node.kind = 237 /* EnumDeclaration */; + node.kind = 238 /* EnumDeclaration */; parseExpected(83 /* EnumKeyword */); node.name = parseIdentifier(); if (parseExpected(17 /* OpenBraceToken */)) { @@ -20014,7 +20060,7 @@ var ts; return finishNode(node); } function parseModuleBlock() { - var node = createNode(239 /* ModuleBlock */); + var node = createNode(240 /* ModuleBlock */); if (parseExpected(17 /* OpenBraceToken */)) { node.statements = parseList(1 /* BlockStatements */, parseStatement); parseExpected(18 /* CloseBraceToken */); @@ -20025,7 +20071,7 @@ var ts; return finishNode(node); } function parseModuleOrNamespaceDeclaration(node, flags) { - node.kind = 238 /* ModuleDeclaration */; + node.kind = 239 /* ModuleDeclaration */; // If we are parsing a dotted namespace name, we want to // propagate the 'Namespace' flag across the names if set. var namespaceFlag = flags & 16 /* Namespace */; @@ -20037,8 +20083,8 @@ var ts; return finishNode(node); } function parseAmbientExternalModuleDeclaration(node) { - node.kind = 238 /* ModuleDeclaration */; - if (token() === 143 /* GlobalKeyword */) { + node.kind = 239 /* ModuleDeclaration */; + if (token() === 144 /* GlobalKeyword */) { // parse 'global' as name of global scope augmentation node.name = parseIdentifier(); node.flags |= 512 /* GlobalAugmentation */; @@ -20057,7 +20103,7 @@ var ts; } function parseModuleDeclaration(node) { var flags = 0; - if (token() === 143 /* GlobalKeyword */) { + if (token() === 144 /* GlobalKeyword */) { // global augmentation return parseAmbientExternalModuleDeclaration(node); } @@ -20083,7 +20129,7 @@ var ts; return nextToken() === 41 /* SlashToken */; } function parseNamespaceExportDeclaration(node) { - node.kind = 241 /* NamespaceExportDeclaration */; + node.kind = 242 /* NamespaceExportDeclaration */; parseExpected(118 /* AsKeyword */); parseExpected(130 /* NamespaceKeyword */); node.name = parseIdentifier(); @@ -20096,12 +20142,12 @@ var ts; var identifier; if (isIdentifier()) { identifier = parseIdentifier(); - if (token() !== 26 /* CommaToken */ && token() !== 142 /* FromKeyword */) { + if (token() !== 26 /* CommaToken */ && token() !== 143 /* FromKeyword */) { return parseImportEqualsDeclaration(node, identifier); } } // Import statement - node.kind = 243 /* ImportDeclaration */; + node.kind = 244 /* ImportDeclaration */; // ImportDeclaration: // import ImportClause from ModuleSpecifier ; // import ModuleSpecifier; @@ -20109,14 +20155,14 @@ var ts; token() === 39 /* AsteriskToken */ || // import * token() === 17 /* OpenBraceToken */) { // import { node.importClause = parseImportClause(identifier, afterImportPos); - parseExpected(142 /* FromKeyword */); + parseExpected(143 /* FromKeyword */); } node.moduleSpecifier = parseModuleSpecifier(); parseSemicolon(); return finishNode(node); } function parseImportEqualsDeclaration(node, identifier) { - node.kind = 242 /* ImportEqualsDeclaration */; + node.kind = 243 /* ImportEqualsDeclaration */; node.name = identifier; parseExpected(58 /* EqualsToken */); node.moduleReference = parseModuleReference(); @@ -20130,7 +20176,7 @@ var ts; // NamedImports // ImportedDefaultBinding, NameSpaceImport // ImportedDefaultBinding, NamedImports - var importClause = createNode(244 /* ImportClause */, fullStart); + var importClause = createNode(245 /* ImportClause */, fullStart); if (identifier) { // ImportedDefaultBinding: // ImportedBinding @@ -20140,7 +20186,7 @@ var ts; // parse namespace or named imports if (!importClause.name || parseOptional(26 /* CommaToken */)) { - importClause.namedBindings = token() === 39 /* AsteriskToken */ ? parseNamespaceImport() : parseNamedImportsOrExports(246 /* NamedImports */); + importClause.namedBindings = token() === 39 /* AsteriskToken */ ? parseNamespaceImport() : parseNamedImportsOrExports(247 /* NamedImports */); } return finishNode(importClause); } @@ -20150,7 +20196,7 @@ var ts; : parseEntityName(/*allowReservedWords*/ false); } function parseExternalModuleReference() { - var node = createNode(253 /* ExternalModuleReference */); + var node = createNode(254 /* ExternalModuleReference */); parseExpected(133 /* RequireKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = parseModuleSpecifier(); @@ -20173,7 +20219,7 @@ var ts; function parseNamespaceImport() { // NameSpaceImport: // * as ImportedBinding - var namespaceImport = createNode(245 /* NamespaceImport */); + var namespaceImport = createNode(246 /* NamespaceImport */); parseExpected(39 /* AsteriskToken */); parseExpected(118 /* AsKeyword */); namespaceImport.name = parseIdentifier(); @@ -20188,14 +20234,14 @@ var ts; // ImportsList: // ImportSpecifier // ImportsList, ImportSpecifier - node.elements = parseBracketedList(22 /* ImportOrExportSpecifiers */, kind === 246 /* NamedImports */ ? parseImportSpecifier : parseExportSpecifier, 17 /* OpenBraceToken */, 18 /* CloseBraceToken */); + node.elements = parseBracketedList(22 /* ImportOrExportSpecifiers */, kind === 247 /* NamedImports */ ? parseImportSpecifier : parseExportSpecifier, 17 /* OpenBraceToken */, 18 /* CloseBraceToken */); return finishNode(node); } function parseExportSpecifier() { - return parseImportOrExportSpecifier(251 /* ExportSpecifier */); + return parseImportOrExportSpecifier(252 /* ExportSpecifier */); } function parseImportSpecifier() { - return parseImportOrExportSpecifier(247 /* ImportSpecifier */); + return parseImportOrExportSpecifier(248 /* ImportSpecifier */); } function parseImportOrExportSpecifier(kind) { var node = createNode(kind); @@ -20220,24 +20266,24 @@ var ts; else { node.name = identifierName; } - if (kind === 247 /* ImportSpecifier */ && checkIdentifierIsKeyword) { + if (kind === 248 /* ImportSpecifier */ && checkIdentifierIsKeyword) { parseErrorAt(checkIdentifierStart, checkIdentifierEnd, ts.Diagnostics.Identifier_expected); } return finishNode(node); } function parseExportDeclaration(node) { - node.kind = 249 /* ExportDeclaration */; + node.kind = 250 /* ExportDeclaration */; if (parseOptional(39 /* AsteriskToken */)) { - parseExpected(142 /* FromKeyword */); + parseExpected(143 /* FromKeyword */); node.moduleSpecifier = parseModuleSpecifier(); } else { - node.exportClause = parseNamedImportsOrExports(250 /* NamedExports */); + node.exportClause = parseNamedImportsOrExports(251 /* NamedExports */); // It is not uncommon to accidentally omit the 'from' keyword. Additionally, in editing scenarios, // the 'from' keyword can be parsed as a named export when the export clause is unterminated (i.e. `export { from "moduleName";`) // If we don't have a 'from' keyword, see if we have a string literal such that ASI won't take effect. - if (token() === 142 /* FromKeyword */ || (token() === 9 /* StringLiteral */ && !scanner.hasPrecedingLineBreak())) { - parseExpected(142 /* FromKeyword */); + if (token() === 143 /* FromKeyword */ || (token() === 9 /* StringLiteral */ && !scanner.hasPrecedingLineBreak())) { + parseExpected(143 /* FromKeyword */); node.moduleSpecifier = parseModuleSpecifier(); } } @@ -20245,7 +20291,7 @@ var ts; return finishNode(node); } function parseExportAssignment(node) { - node.kind = 248 /* ExportAssignment */; + node.kind = 249 /* ExportAssignment */; if (parseOptional(58 /* EqualsToken */)) { node.isExportEquals = true; } @@ -20265,10 +20311,10 @@ var ts; } function isAnExternalModuleIndicatorNode(node) { return ts.hasModifier(node, 1 /* Export */) - || node.kind === 242 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 253 /* ExternalModuleReference */ - || node.kind === 243 /* ImportDeclaration */ - || node.kind === 248 /* ExportAssignment */ - || node.kind === 249 /* ExportDeclaration */ + || node.kind === 243 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 254 /* ExternalModuleReference */ + || node.kind === 244 /* ImportDeclaration */ + || node.kind === 249 /* ExportAssignment */ + || node.kind === 250 /* ExportDeclaration */ ? node : undefined; } @@ -20331,7 +20377,7 @@ var ts; JSDocParser.parseJSDocTypeExpressionForTests = parseJSDocTypeExpressionForTests; // Parses out a JSDoc type expression. function parseJSDocTypeExpression(mayOmitBraces) { - var result = createNode(277 /* JSDocTypeExpression */, scanner.getTokenPos()); + var result = createNode(278 /* JSDocTypeExpression */, scanner.getTokenPos()); var hasBrace = (mayOmitBraces ? parseOptional : parseExpected)(17 /* OpenBraceToken */); result.type = doInsideOfContext(2097152 /* JSDoc */, parseJSDocType); if (!mayOmitBraces || hasBrace) { @@ -20384,8 +20430,8 @@ var ts; PropertyLikeParse[PropertyLikeParse["CallbackParameter"] = 4] = "CallbackParameter"; })(PropertyLikeParse || (PropertyLikeParse = {})); function parseJSDocCommentWorker(start, length) { + if (start === void 0) { start = 0; } var content = sourceText; - start = start || 0; var end = length === undefined ? content.length : start + length; length = end - start; ts.Debug.assert(start >= 0); @@ -20415,17 +20461,15 @@ var ts; comments.push(text); indent += text.length; } - var t = nextJSDocToken(); - while (t === 5 /* WhitespaceTrivia */) { - t = nextJSDocToken(); - } - if (t === 4 /* NewLineTrivia */) { + nextJSDocToken(); + while (parseOptionalJsdoc(5 /* WhitespaceTrivia */)) + ; + if (parseOptionalJsdoc(4 /* NewLineTrivia */)) { state = 0 /* BeginningOfLine */; indent = 0; - t = nextJSDocToken(); } loop: while (true) { - switch (t) { + switch (token()) { case 57 /* AtToken */: if (state === 0 /* BeginningOfLine */ || state === 1 /* SawAsterisk */) { removeTrailingNewlines(comments); @@ -20485,7 +20529,7 @@ var ts; pushComment(scanner.getTokenText()); break; } - t = nextJSDocToken(); + nextJSDocToken(); } removeLeadingNewlines(comments); removeTrailingNewlines(comments); @@ -20503,7 +20547,7 @@ var ts; } } function createJSDocComment() { - var result = createNode(285 /* JSDocComment */, start); + var result = createNode(286 /* JSDocComment */, start); result.tags = tags && createNodeArray(tags, tagsPos, tagsEnd); result.comment = comments.length ? comments.join("") : undefined; return finishNode(result, end); @@ -20650,7 +20694,7 @@ var ts; return comments.length === 0 ? undefined : comments.join(""); } function parseUnknownTag(atToken, tagName) { - var result = createNode(288 /* JSDocTag */, atToken.pos); + var result = createNode(289 /* JSDocTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; return finishNode(result); @@ -20694,7 +20738,7 @@ var ts; switch (node.kind) { case 135 /* ObjectKeyword */: return true; - case 166 /* ArrayType */: + case 167 /* ArrayType */: return isObjectOrObjectArrayTypeReference(node.elementType); default: return ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && node.typeName.escapedText === "Object"; @@ -20710,12 +20754,12 @@ var ts; typeExpression = tryParseTypeExpression(); } var result = target === 1 /* Property */ ? - createNode(297 /* JSDocPropertyTag */, atToken.pos) : - createNode(292 /* JSDocParameterTag */, atToken.pos); + createNode(298 /* JSDocPropertyTag */, atToken.pos) : + createNode(293 /* JSDocParameterTag */, atToken.pos); var comment; if (indent !== undefined) comment = parseTagComments(indent + scanner.getStartPos() - atToken.pos); - var nestedTypeLiteral = parseNestedTypeLiteral(typeExpression, name, target); + var nestedTypeLiteral = target !== 4 /* CallbackParameter */ && parseNestedTypeLiteral(typeExpression, name, target); if (nestedTypeLiteral) { typeExpression = nestedTypeLiteral; isNameFirst = true; @@ -20731,20 +20775,20 @@ var ts; } function parseNestedTypeLiteral(typeExpression, name, target) { if (typeExpression && isObjectOrObjectArrayTypeReference(typeExpression.type)) { - var typeLiteralExpression = createNode(277 /* JSDocTypeExpression */, scanner.getTokenPos()); + var typeLiteralExpression = createNode(278 /* JSDocTypeExpression */, scanner.getTokenPos()); var child = void 0; var jsdocTypeLiteral = void 0; var start_2 = scanner.getStartPos(); var children = void 0; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(target, name); })) { - if (child.kind === 292 /* JSDocParameterTag */ || child.kind === 297 /* JSDocPropertyTag */) { + if (child.kind === 293 /* JSDocParameterTag */ || child.kind === 298 /* JSDocPropertyTag */) { children = ts.append(children, child); } } if (children) { - jsdocTypeLiteral = createNode(286 /* JSDocTypeLiteral */, start_2); + jsdocTypeLiteral = createNode(287 /* JSDocTypeLiteral */, start_2); jsdocTypeLiteral.jsDocPropertyTags = children; - if (typeExpression.type.kind === 166 /* ArrayType */) { + if (typeExpression.type.kind === 167 /* ArrayType */) { jsdocTypeLiteral.isArrayType = true; } typeLiteralExpression.type = finishNode(jsdocTypeLiteral); @@ -20753,27 +20797,27 @@ var ts; } } function parseReturnTag(atToken, tagName) { - if (ts.forEach(tags, function (t) { return t.kind === 293 /* JSDocReturnTag */; })) { + if (ts.forEach(tags, function (t) { return t.kind === 294 /* JSDocReturnTag */; })) { parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); } - var result = createNode(293 /* JSDocReturnTag */, atToken.pos); + var result = createNode(294 /* JSDocReturnTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeExpression = tryParseTypeExpression(); return finishNode(result); } function parseTypeTag(atToken, tagName) { - if (ts.forEach(tags, function (t) { return t.kind === 294 /* JSDocTypeTag */; })) { + if (ts.forEach(tags, function (t) { return t.kind === 295 /* JSDocTypeTag */; })) { parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); } - var result = createNode(294 /* JSDocTypeTag */, atToken.pos); + var result = createNode(295 /* JSDocTypeTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeExpression = parseJSDocTypeExpression(/*mayOmitBraces*/ true); return finishNode(result); } function parseAugmentsTag(atToken, tagName) { - var result = createNode(289 /* JSDocAugmentsTag */, atToken.pos); + var result = createNode(290 /* JSDocAugmentsTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.class = parseExpressionWithTypeArgumentsForAugments(); @@ -20781,7 +20825,7 @@ var ts; } function parseExpressionWithTypeArgumentsForAugments() { var usedBrace = parseOptional(17 /* OpenBraceToken */); - var node = createNode(206 /* ExpressionWithTypeArguments */); + var node = createNode(207 /* ExpressionWithTypeArguments */); node.expression = parsePropertyAccessEntityNameExpression(); node.typeArguments = tryParseTypeArguments(); var res = finishNode(node); @@ -20793,15 +20837,15 @@ var ts; function parsePropertyAccessEntityNameExpression() { var node = parseJSDocIdentifierName(/*createIfMissing*/ true); while (parseOptional(23 /* DotToken */)) { - var prop = createNode(184 /* PropertyAccessExpression */, node.pos); + var prop = createNode(185 /* PropertyAccessExpression */, node.pos); prop.expression = node; - prop.name = parseJSDocIdentifierName(); + prop.name = parseJSDocIdentifierName(); // TODO: GH#18217 node = finishNode(prop); } return node; } function parseClassTag(atToken, tagName) { - var tag = createNode(290 /* JSDocClassTag */, atToken.pos); + var tag = createNode(291 /* JSDocClassTag */, atToken.pos); tag.atToken = atToken; tag.tagName = tagName; return finishNode(tag); @@ -20809,7 +20853,7 @@ var ts; function parseTypedefTag(atToken, tagName, indent) { var typeExpression = tryParseTypeExpression(); skipWhitespace(); - var typedefTag = createNode(296 /* JSDocTypedefTag */, atToken.pos); + var typedefTag = createNode(297 /* JSDocTypedefTag */, atToken.pos); typedefTag.atToken = atToken; typedefTag.tagName = tagName; typedefTag.fullName = parseJSDocTypeNameWithNamespace(); @@ -20825,9 +20869,9 @@ var ts; var start_3 = scanner.getStartPos(); while (child = tryParse(function () { return parseChildPropertyTag(); })) { if (!jsdocTypeLiteral) { - jsdocTypeLiteral = createNode(286 /* JSDocTypeLiteral */, start_3); + jsdocTypeLiteral = createNode(287 /* JSDocTypeLiteral */, start_3); } - if (child.kind === 294 /* JSDocTypeTag */) { + if (child.kind === 295 /* JSDocTypeTag */) { if (childTypeTag) { break; } @@ -20840,7 +20884,7 @@ var ts; } } if (jsdocTypeLiteral) { - if (typeExpression && typeExpression.type.kind === 166 /* ArrayType */) { + if (typeExpression && typeExpression.type.kind === 167 /* ArrayType */) { jsdocTypeLiteral.isArrayType = true; } typedefTag.typeExpression = childTypeTag && childTypeTag.typeExpression && !isObjectOrObjectArrayTypeReference(childTypeTag.typeExpression.type) ? @@ -20856,7 +20900,7 @@ var ts; var pos = scanner.getTokenPos(); var typeNameOrNamespaceName = parseJSDocIdentifierName(); if (typeNameOrNamespaceName && parseOptional(23 /* DotToken */)) { - var jsDocNamespaceNode = createNode(238 /* ModuleDeclaration */, pos); + var jsDocNamespaceNode = createNode(239 /* ModuleDeclaration */, pos); if (nested) { jsDocNamespaceNode.flags |= 4 /* NestedNamespace */; } @@ -20870,7 +20914,7 @@ var ts; return typeNameOrNamespaceName; } function parseCallbackTag(atToken, tagName, indent) { - var callbackTag = createNode(291 /* JSDocCallbackTag */, atToken.pos); + var callbackTag = createNode(292 /* JSDocCallbackTag */, atToken.pos); callbackTag.atToken = atToken; callbackTag.tagName = tagName; callbackTag.fullName = parseJSDocTypeNameWithNamespace(); @@ -20879,16 +20923,15 @@ var ts; callbackTag.comment = parseTagComments(indent); var child; var start = scanner.getStartPos(); - var jsdocSignature = createNode(287 /* JSDocSignature */, start); + var jsdocSignature = createNode(288 /* JSDocSignature */, start); jsdocSignature.parameters = []; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(4 /* CallbackParameter */); })) { jsdocSignature.parameters = ts.append(jsdocSignature.parameters, child); } var returnTag = tryParse(function () { - if (token() === 57 /* AtToken */) { - nextJSDocToken(); + if (parseOptionalJsdoc(57 /* AtToken */)) { var tag = parseTag(indent); - if (tag && tag.kind === 293 /* JSDocReturnTag */) { + if (tag && tag.kind === 294 /* JSDocReturnTag */) { return tag; } } @@ -20933,9 +20976,9 @@ var ts; case 57 /* AtToken */: if (canParseTag) { var child = tryParseChildTag(target); - if (child && child.kind === 292 /* JSDocParameterTag */ && + if (child && child.kind === 293 /* JSDocParameterTag */ && target !== 4 /* CallbackParameter */ && - (ts.isIdentifier(child.name) || !escapedTextsEqual(name, child.name.left))) { + (ts.isIdentifier(child.name) || !escapedTextsEqual(name, child.name.left))) { // TODO: GH#18217 return false; } return child; @@ -20994,49 +21037,45 @@ var ts; return tag; } function parseTemplateTag(atToken, tagName) { - if (ts.some(tags, ts.isJSDocTemplateTag)) { - parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); + // the template tag looks like '@template {Constraint} T,U,V' + var constraint; + if (token() === 17 /* OpenBraceToken */) { + constraint = parseJSDocTypeExpression(); } - // Type parameter list looks like '@template T,U,V' var typeParameters = []; var typeParametersPos = getNodePos(); - while (true) { - var typeParameter = createNode(147 /* TypeParameter */); - var name = parseJSDocIdentifierNameWithOptionalBraces(); + do { skipWhitespace(); - if (!name) { - parseErrorAtPosition(scanner.getStartPos(), 0, ts.Diagnostics.Identifier_expected); + var typeParameter = createNode(148 /* TypeParameter */); + if (!ts.tokenIsIdentifierOrKeyword(token())) { + parseErrorAtCurrentToken(ts.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces); return undefined; } - typeParameter.name = name; + typeParameter.name = parseJSDocIdentifierName(); + skipWhitespace(); finishNode(typeParameter); typeParameters.push(typeParameter); - if (token() === 26 /* CommaToken */) { - nextJSDocToken(); - skipWhitespace(); - } - else { - break; - } + } while (parseOptionalJsdoc(26 /* CommaToken */)); + if (constraint) { + ts.first(typeParameters).constraint = constraint.type; } - var result = createNode(295 /* JSDocTemplateTag */, atToken.pos); + var result = createNode(296 /* JSDocTemplateTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeParameters = createNodeArray(typeParameters, typeParametersPos); finishNode(result); return result; } - function parseJSDocIdentifierNameWithOptionalBraces() { - var parsedBrace = parseOptional(17 /* OpenBraceToken */); - var res = parseJSDocIdentifierName(); - if (parsedBrace) { - parseExpected(18 /* CloseBraceToken */); - } - return res; - } function nextJSDocToken() { return currentToken = scanner.scanJSDocToken(); } + function parseOptionalJsdoc(t) { + if (token() === t) { + nextJSDocToken(); + return true; + } + return false; + } function parseJSDocEntityName() { var entity = parseJSDocIdentifierName(/*createIfMissing*/ true); if (parseOptional(21 /* OpenBracketToken */)) { @@ -21581,7 +21620,7 @@ var ts; context.pragmas = ts.createMap(); for (var _i = 0, pragmas_1 = pragmas; _i < pragmas_1.length; _i++) { var pragma = pragmas_1[_i]; - if (context.pragmas.has(pragma.name)) { + if (context.pragmas.has(pragma.name)) { // TODO: GH#18217 var currentValue = context.pragmas.get(pragma.name); if (currentValue instanceof Array) { currentValue.push(pragma.args); @@ -21610,6 +21649,7 @@ var ts; var referencedFiles_1 = context.referencedFiles; var typeReferenceDirectives_1 = context.typeReferenceDirectives; ts.forEach(ts.toArray(entryOrList), function (arg) { + // TODO: GH#18217 if (arg.arguments["no-default-lib"]) { context.hasNoDefaultLib = true; } @@ -21626,10 +21666,7 @@ var ts; break; } case "amd-dependency": { - context.amdDependencies = ts.map(ts.toArray(entryOrList), function (_a) { - var _b = _a.arguments, name = _b.name, path = _b.path; - return ({ name: name, path: path }); - }); + context.amdDependencies = ts.map(ts.toArray(entryOrList), function (x) { return ({ name: x.arguments.name, path: x.arguments.path }); }); // TODO: GH#18217 break; } case "amd-module": { @@ -21652,7 +21689,7 @@ var ts; case "ts-check": { // _last_ of either nocheck or check in a file is the "winner" ts.forEach(ts.toArray(entryOrList), function (entry) { - if (!context.checkJsDirective || entry.range.pos > context.checkJsDirective.pos) { + if (!context.checkJsDirective || entry.range.pos > context.checkJsDirective.pos) { // TODO: GH#18217 context.checkJsDirective = { enabled: key === "ts-check", end: entry.range.end, @@ -21763,6 +21800,24 @@ var ts; } return argMap; } + /** @internal */ + function tagNamesAreEquivalent(lhs, rhs) { + if (lhs.kind !== rhs.kind) { + return false; + } + if (lhs.kind === 71 /* Identifier */) { + return lhs.escapedText === rhs.escapedText; + } + if (lhs.kind === 99 /* ThisKeyword */) { + return true; + } + // If we are at this statement then we must have PropertyAccessExpression and because tag name in Jsx element can only + // take forms of JsxTagNameExpression which includes an identifier, "this" expression, or another propertyAccessExpression + // it is safe to case the expression property as such. See parseJsxElementName for how we parse tag name in Jsx element + return lhs.name.escapedText === rhs.name.escapedText && + tagNamesAreEquivalent(lhs.expression, rhs.expression); + } + ts.tagNamesAreEquivalent = tagNamesAreEquivalent; })(ts || (ts = {})); /* @internal */ var ts; @@ -21781,24 +21836,24 @@ var ts; // A module is uninstantiated if it contains only switch (node.kind) { // 1. interface declarations, type alias declarations - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: return 0 /* NonInstantiated */; // 2. const enum declarations - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: if (ts.isConst(node)) { return 2 /* ConstEnumOnly */; } break; // 3. non-exported import declarations - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: if (!(ts.hasModifier(node, 1 /* Export */))) { return 0 /* NonInstantiated */; } break; // 4. other uninstantiated module declarations. - case 239 /* ModuleBlock */: { + case 240 /* ModuleBlock */: { var state_1 = 0 /* NonInstantiated */; ts.forEachChild(node, function (n) { var childState = getModuleInstanceStateWorker(n); @@ -21820,7 +21875,7 @@ var ts; }); return state_1; } - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return getModuleInstanceState(node); case 71 /* Identifier */: // Only jsdoc typedef definition can exist in jsdoc namespace, and it should @@ -21970,7 +22025,7 @@ var ts; if (symbolFlags & 67216319 /* Value */) { var valueDeclaration = symbol.valueDeclaration; if (!valueDeclaration || - (valueDeclaration.kind !== node.kind && valueDeclaration.kind === 238 /* ModuleDeclaration */)) { + (valueDeclaration.kind !== node.kind && valueDeclaration.kind === 239 /* ModuleDeclaration */)) { // other kinds of value declarations take precedence over modules symbol.valueDeclaration = node; } @@ -21979,7 +22034,7 @@ var ts; // Should not be called on a declaration with a computed property name, // unless it is a well known Symbol. function getDeclarationName(node) { - if (node.kind === 248 /* ExportAssignment */) { + if (node.kind === 249 /* ExportAssignment */) { return node.isExportEquals ? "export=" /* ExportEquals */ : "default" /* Default */; } var name = ts.getNameOfDeclaration(node); @@ -21988,7 +22043,7 @@ var ts; var moduleName = ts.getTextOfIdentifierOrLiteral(name); return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"" + moduleName + "\""); } - if (name.kind === 146 /* ComputedPropertyName */) { + if (name.kind === 147 /* ComputedPropertyName */) { var nameExpression = name.expression; // treat computed property names where expression is string/numeric literal as just string/numeric literal if (ts.isStringOrNumericLiteral(nameExpression)) { @@ -22000,43 +22055,43 @@ var ts; return ts.isPropertyNameLiteral(name) ? ts.getEscapedTextOfIdentifierOrLiteral(name) : undefined; } switch (node.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: return "__constructor" /* Constructor */; - case 162 /* FunctionType */: - case 157 /* CallSignature */: - case 287 /* JSDocSignature */: + case 163 /* FunctionType */: + case 158 /* CallSignature */: + case 288 /* JSDocSignature */: return "__call" /* Call */; - case 163 /* ConstructorType */: - case 158 /* ConstructSignature */: + case 164 /* ConstructorType */: + case 159 /* ConstructSignature */: return "__new" /* New */; - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: return "__index" /* Index */; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return "__export" /* ExportStar */; - case 273 /* SourceFile */: + case 274 /* SourceFile */: // json file should behave as // module.exports = ... return "export=" /* ExportEquals */; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (ts.getSpecialPropertyAssignmentKind(node) === 2 /* ModuleExports */) { // module.exports = ... return "export=" /* ExportEquals */; } ts.Debug.fail("Unknown binary declaration kind"); break; - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: return (ts.isJSDocConstructSignature(node) ? "__new" /* New */ : "__call" /* Call */); - case 148 /* Parameter */: + case 149 /* Parameter */: // Parameters with names are handled at the top of this function. Parameters // without names can only come from JSDocFunctionTypes. - ts.Debug.assert(node.parent.kind === 283 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; }); + ts.Debug.assert(node.parent.kind === 284 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; }); var functionType = node.parent; var index = functionType.parameters.indexOf(node); return "arg" + index; } } function getDisplayName(node) { - return ts.isNamedDeclaration(node) ? ts.declarationNameToString(node.name) : ts.unescapeLeadingUnderscores(getDeclarationName(node)); + return ts.isNamedDeclaration(node) ? ts.declarationNameToString(node.name) : ts.unescapeLeadingUnderscores(getDeclarationName(node)); // TODO: GH#18217 } /** * Declares a Symbol for the node and adds it to symbols. Reports errors for conflicting identifier names. @@ -22123,7 +22178,7 @@ var ts; // 1. multiple export default of class declaration or function declaration by checking NodeFlags.Default // 2. multiple export default of export assignment. This one doesn't have NodeFlags.Default on (as export default doesn't considered as modifiers) if (symbol.declarations && symbol.declarations.length && - (node.kind === 248 /* ExportAssignment */ && !node.isExportEquals)) { + (node.kind === 249 /* ExportAssignment */ && !node.isExportEquals)) { message_1 = ts.Diagnostics.A_module_cannot_have_multiple_default_exports; } } @@ -22148,7 +22203,7 @@ var ts; function declareModuleMember(node, symbolFlags, symbolExcludes) { var hasExportModifier = ts.getCombinedModifierFlags(node) & 1 /* Export */; if (symbolFlags & 2097152 /* Alias */) { - if (node.kind === 251 /* ExportSpecifier */ || (node.kind === 242 /* ImportEqualsDeclaration */ && hasExportModifier)) { + if (node.kind === 252 /* ExportSpecifier */ || (node.kind === 243 /* ImportEqualsDeclaration */ && hasExportModifier)) { return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); } else { @@ -22215,7 +22270,7 @@ var ts; // for it. We must clear this so we don't accidentally move any stale data forward from // a previous compilation. if (containerFlags & 1 /* IsContainer */) { - if (node.kind !== 192 /* ArrowFunction */) { + if (node.kind !== 193 /* ArrowFunction */) { thisParentContainer = container; } container = blockScopeContainer = node; @@ -22247,7 +22302,7 @@ var ts; } // We create a return control flow graph for IIFEs and constructors. For constructors // we use the return control flow graph in strict property intialization checks. - currentReturnTarget = isIIFE || node.kind === 154 /* Constructor */ ? createBranchLabel() : undefined; + currentReturnTarget = isIIFE || node.kind === 155 /* Constructor */ ? createBranchLabel() : undefined; currentBreakTarget = undefined; currentContinueTarget = undefined; activeLabels = undefined; @@ -22260,13 +22315,13 @@ var ts; if (hasExplicitReturn) node.flags |= 256 /* HasExplicitReturn */; } - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { node.flags |= emitFlags; } if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); currentFlow = finishFlowLabel(currentReturnTarget); - if (node.kind === 154 /* Constructor */) { + if (node.kind === 155 /* Constructor */) { node.returnFlowNode = currentFlow; } } @@ -22309,8 +22364,8 @@ var ts; } } function bindEachFunctionsFirst(nodes) { - bindEach(nodes, function (n) { return n.kind === 233 /* FunctionDeclaration */ ? bind(n) : undefined; }); - bindEach(nodes, function (n) { return n.kind !== 233 /* FunctionDeclaration */ ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind === 234 /* FunctionDeclaration */ ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind !== 234 /* FunctionDeclaration */ ? bind(n) : undefined; }); } function bindEach(nodes, bindFunction) { if (bindFunction === void 0) { bindFunction = bind; } @@ -22342,77 +22397,77 @@ var ts; return; } switch (node.kind) { - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: bindWhileStatement(node); break; - case 217 /* DoStatement */: + case 218 /* DoStatement */: bindDoStatement(node); break; - case 219 /* ForStatement */: + case 220 /* ForStatement */: bindForStatement(node); break; - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: bindForInOrForOfStatement(node); break; - case 216 /* IfStatement */: + case 217 /* IfStatement */: bindIfStatement(node); break; - case 224 /* ReturnStatement */: - case 228 /* ThrowStatement */: + case 225 /* ReturnStatement */: + case 229 /* ThrowStatement */: bindReturnOrThrow(node); break; - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: bindBreakOrContinueStatement(node); break; - case 229 /* TryStatement */: + case 230 /* TryStatement */: bindTryStatement(node); break; - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: bindSwitchStatement(node); break; - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: bindCaseBlock(node); break; - case 265 /* CaseClause */: + case 266 /* CaseClause */: bindCaseClause(node); break; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: bindLabeledStatement(node); break; - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: bindPrefixUnaryExpressionFlow(node); break; - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: bindPostfixUnaryExpressionFlow(node); break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: bindBinaryExpressionFlow(node); break; - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: bindDeleteExpressionFlow(node); break; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: bindConditionalExpressionFlow(node); break; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: bindVariableDeclarationFlow(node); break; - case 186 /* CallExpression */: + case 187 /* CallExpression */: bindCallExpressionFlow(node); break; - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: bindJSDocTypeAlias(node); break; // In source files and blocks, bind functions first to match hoisting that occurs at runtime - case 273 /* SourceFile */: + case 274 /* SourceFile */: bindEachFunctionsFirst(node.statements); bind(node.endOfFileToken); break; - case 212 /* Block */: - case 239 /* ModuleBlock */: + case 213 /* Block */: + case 240 /* ModuleBlock */: bindEachFunctionsFirst(node.statements); break; default: @@ -22425,15 +22480,15 @@ var ts; switch (expr.kind) { case 71 /* Identifier */: case 99 /* ThisKeyword */: - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return isNarrowableReference(expr); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return hasNarrowableArgument(expr); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return isNarrowingExpression(expr.expression); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return isNarrowingBinaryExpression(expr); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return expr.operator === 51 /* ExclamationToken */ && isNarrowingExpression(expr.operand); } return false; @@ -22442,7 +22497,7 @@ var ts; return expr.kind === 71 /* Identifier */ || expr.kind === 99 /* ThisKeyword */ || expr.kind === 97 /* SuperKeyword */ || - expr.kind === 184 /* PropertyAccessExpression */ && isNarrowableReference(expr.expression); + expr.kind === 185 /* PropertyAccessExpression */ && isNarrowableReference(expr.expression); } function hasNarrowableArgument(expr) { if (expr.arguments) { @@ -22453,7 +22508,7 @@ var ts; } } } - if (expr.expression.kind === 184 /* PropertyAccessExpression */ && + if (expr.expression.kind === 185 /* PropertyAccessExpression */ && isNarrowableReference(expr.expression.expression)) { return true; } @@ -22486,9 +22541,9 @@ var ts; } function isNarrowableOperand(expr) { switch (expr.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return isNarrowableOperand(expr.expression); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: switch (expr.operatorToken.kind) { case 58 /* EqualsToken */: return isNarrowableOperand(expr.left); @@ -22566,33 +22621,33 @@ var ts; function isStatementCondition(node) { var parent = node.parent; switch (parent.kind) { - case 216 /* IfStatement */: - case 218 /* WhileStatement */: - case 217 /* DoStatement */: + case 217 /* IfStatement */: + case 219 /* WhileStatement */: + case 218 /* DoStatement */: return parent.expression === node; - case 219 /* ForStatement */: - case 200 /* ConditionalExpression */: + case 220 /* ForStatement */: + case 201 /* ConditionalExpression */: return parent.condition === node; } return false; } function isLogicalExpression(node) { while (true) { - if (node.kind === 190 /* ParenthesizedExpression */) { + if (node.kind === 191 /* ParenthesizedExpression */) { node = node.expression; } - else if (node.kind === 197 /* PrefixUnaryExpression */ && node.operator === 51 /* ExclamationToken */) { + else if (node.kind === 198 /* PrefixUnaryExpression */ && node.operator === 51 /* ExclamationToken */) { node = node.operand; } else { - return node.kind === 199 /* BinaryExpression */ && (node.operatorToken.kind === 53 /* AmpersandAmpersandToken */ || + return node.kind === 200 /* BinaryExpression */ && (node.operatorToken.kind === 53 /* AmpersandAmpersandToken */ || node.operatorToken.kind === 54 /* BarBarToken */); } } } function isTopLevelLogicalExpression(node) { - while (node.parent.kind === 190 /* ParenthesizedExpression */ || - node.parent.kind === 197 /* PrefixUnaryExpression */ && + while (node.parent.kind === 191 /* ParenthesizedExpression */ || + node.parent.kind === 198 /* PrefixUnaryExpression */ && node.parent.operator === 51 /* ExclamationToken */) { node = node.parent; } @@ -22634,7 +22689,7 @@ var ts; } function bindDoStatement(node) { var preDoLabel = createLoopLabel(); - var enclosingLabeledStatement = node.parent.kind === 227 /* LabeledStatement */ + var enclosingLabeledStatement = node.parent.kind === 228 /* LabeledStatement */ ? ts.lastOrUndefined(activeLabels) : undefined; // if do statement is wrapped in labeled statement then target labels for break/continue with or without @@ -22668,13 +22723,13 @@ var ts; var postLoopLabel = createBranchLabel(); addAntecedent(preLoopLabel, currentFlow); currentFlow = preLoopLabel; - if (node.kind === 221 /* ForOfStatement */) { + if (node.kind === 222 /* ForOfStatement */) { bind(node.awaitModifier); } bind(node.expression); addAntecedent(postLoopLabel, currentFlow); bind(node.initializer); - if (node.initializer.kind !== 232 /* VariableDeclarationList */) { + if (node.initializer.kind !== 233 /* VariableDeclarationList */) { bindAssignmentTargetFlow(node.initializer); } bindIterativeStatement(node.statement, postLoopLabel, preLoopLabel); @@ -22696,7 +22751,7 @@ var ts; } function bindReturnOrThrow(node) { bind(node.expression); - if (node.kind === 224 /* ReturnStatement */) { + if (node.kind === 225 /* ReturnStatement */) { hasExplicitReturn = true; if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); @@ -22716,7 +22771,7 @@ var ts; return undefined; } function bindBreakOrContinueFlow(node, breakTarget, continueTarget) { - var flowLabel = node.kind === 223 /* BreakStatement */ ? breakTarget : continueTarget; + var flowLabel = node.kind === 224 /* BreakStatement */ ? breakTarget : continueTarget; if (flowLabel) { addAntecedent(flowLabel, currentFlow); currentFlow = unreachableFlow; @@ -22812,7 +22867,7 @@ var ts; preSwitchCaseFlow = currentFlow; bind(node.caseBlock); addAntecedent(postSwitchLabel, currentFlow); - var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 266 /* DefaultClause */; }); + var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 267 /* DefaultClause */; }); // We mark a switch statement as possibly exhaustive if it has no default clause and if all // case clauses have unreachable end points (e.g. they all return). node.possiblyExhaustive = !hasDefault && !postSwitchLabel.antecedents; @@ -22836,6 +22891,7 @@ var ts; } var preCaseLabel = createBranchLabel(); addAntecedent(preCaseLabel, createFlowSwitchClause(preSwitchCaseFlow, node.parent, clauseStart, i + 1)); + addAntecedent(preCaseLabel, createFlowSwitchClause(preSwitchCaseFlow, node.parent, clauseStart, i + 1)); addAntecedent(preCaseLabel, fallthroughFlow); currentFlow = finishFlowLabel(preCaseLabel); var clause = clauses[i]; @@ -22877,16 +22933,16 @@ var ts; bind(node.statement); popActiveLabel(); if (!activeLabel.referenced && !options.allowUnusedLabels) { - file.bindDiagnostics.push(createDiagnosticForNode(node.label, ts.Diagnostics.Unused_label)); + errorOrSuggestionOnFirstToken(ts.unusedLabelIsError(options), node, ts.Diagnostics.Unused_label); } - if (!node.statement || node.statement.kind !== 217 /* DoStatement */) { + if (!node.statement || node.statement.kind !== 218 /* DoStatement */) { // do statement sets current flow inside bindDoStatement addAntecedent(postStatementLabel, currentFlow); currentFlow = finishFlowLabel(postStatementLabel); } } function bindDestructuringTargetFlow(node) { - if (node.kind === 199 /* BinaryExpression */ && node.operatorToken.kind === 58 /* EqualsToken */) { + if (node.kind === 200 /* BinaryExpression */ && node.operatorToken.kind === 58 /* EqualsToken */) { bindAssignmentTargetFlow(node.left); } else { @@ -22897,10 +22953,10 @@ var ts; if (isNarrowableReference(node)) { currentFlow = createFlowAssignment(currentFlow, node); } - else if (node.kind === 182 /* ArrayLiteralExpression */) { + else if (node.kind === 183 /* ArrayLiteralExpression */) { for (var _i = 0, _a = node.elements; _i < _a.length; _i++) { var e = _a[_i]; - if (e.kind === 203 /* SpreadElement */) { + if (e.kind === 204 /* SpreadElement */) { bindAssignmentTargetFlow(e.expression); } else { @@ -22908,16 +22964,16 @@ var ts; } } } - else if (node.kind === 183 /* ObjectLiteralExpression */) { + else if (node.kind === 184 /* ObjectLiteralExpression */) { for (var _b = 0, _c = node.properties; _b < _c.length; _b++) { var p = _c[_b]; - if (p.kind === 269 /* PropertyAssignment */) { + if (p.kind === 270 /* PropertyAssignment */) { bindDestructuringTargetFlow(p.initializer); } - else if (p.kind === 270 /* ShorthandPropertyAssignment */) { + else if (p.kind === 271 /* ShorthandPropertyAssignment */) { bindAssignmentTargetFlow(p.name); } - else if (p.kind === 271 /* SpreadAssignment */) { + else if (p.kind === 272 /* SpreadAssignment */) { bindAssignmentTargetFlow(p.expression); } } @@ -22973,7 +23029,7 @@ var ts; bindEachChild(node); if (ts.isAssignmentOperator(operator) && !ts.isAssignmentTarget(node)) { bindAssignmentTargetFlow(node.left); - if (operator === 58 /* EqualsToken */ && node.left.kind === 185 /* ElementAccessExpression */) { + if (operator === 58 /* EqualsToken */ && node.left.kind === 186 /* ElementAccessExpression */) { var elementAccess = node.left; if (isNarrowableOperand(elementAccess.expression)) { currentFlow = createFlowArrayMutation(currentFlow, node); @@ -22984,7 +23040,7 @@ var ts; } function bindDeleteExpressionFlow(node) { bindEachChild(node); - if (node.expression.kind === 184 /* PropertyAccessExpression */) { + if (node.expression.kind === 185 /* PropertyAccessExpression */) { bindAssignmentTargetFlow(node.expression); } } @@ -23031,10 +23087,10 @@ var ts; // an immediately invoked function expression (IIFE). Initialize the flowNode property to // the current control flow (which includes evaluation of the IIFE arguments). var expr = node.expression; - while (expr.kind === 190 /* ParenthesizedExpression */) { + while (expr.kind === 191 /* ParenthesizedExpression */) { expr = expr.expression; } - if (expr.kind === 191 /* FunctionExpression */ || expr.kind === 192 /* ArrowFunction */) { + if (expr.kind === 192 /* FunctionExpression */ || expr.kind === 193 /* ArrowFunction */) { bindEach(node.typeArguments); bindEach(node.arguments); bind(node.expression); @@ -23042,7 +23098,7 @@ var ts; else { bindEachChild(node); } - if (node.expression.kind === 184 /* PropertyAccessExpression */) { + if (node.expression.kind === 185 /* PropertyAccessExpression */) { var propertyAccess = node.expression; if (isNarrowableOperand(propertyAccess.expression) && ts.isPushOrUnshiftIdentifier(propertyAccess.name)) { currentFlow = createFlowArrayMutation(currentFlow, node); @@ -23051,54 +23107,54 @@ var ts; } function getContainerFlags(node) { switch (node.kind) { - case 204 /* ClassExpression */: - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: - case 183 /* ObjectLiteralExpression */: - case 165 /* TypeLiteral */: - case 286 /* JSDocTypeLiteral */: - case 262 /* JsxAttributes */: + case 205 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 184 /* ObjectLiteralExpression */: + case 166 /* TypeLiteral */: + case 287 /* JSDocTypeLiteral */: + case 263 /* JsxAttributes */: return 1 /* IsContainer */; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return 1 /* IsContainer */ | 64 /* IsInterface */; - case 238 /* ModuleDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 176 /* MappedType */: + case 239 /* ModuleDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 177 /* MappedType */: return 1 /* IsContainer */ | 32 /* HasLocals */; - case 273 /* SourceFile */: + case 274 /* SourceFile */: return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: if (ts.isObjectLiteralOrClassExpressionMethod(node)) { return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */ | 128 /* IsObjectLiteralOrClassExpressionMethod */; } // falls through - case 154 /* Constructor */: - case 233 /* FunctionDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 157 /* CallSignature */: - case 287 /* JSDocSignature */: - case 283 /* JSDocFunctionType */: - case 162 /* FunctionType */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 163 /* ConstructorType */: + case 155 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 158 /* CallSignature */: + case 288 /* JSDocSignature */: + case 284 /* JSDocFunctionType */: + case 163 /* FunctionType */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 164 /* ConstructorType */: return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */; - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */ | 16 /* IsFunctionExpression */; - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return 4 /* IsControlFlowContainer */; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return node.initializer ? 4 /* IsControlFlowContainer */ : 0; - case 268 /* CatchClause */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 240 /* CaseBlock */: + case 269 /* CatchClause */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 241 /* CaseBlock */: return 2 /* IsBlockScopedContainer */; - case 212 /* Block */: + case 213 /* Block */: // do not treat blocks directly inside a function as a block-scoped-container. // Locals that reside in this block should go to the function locals. Otherwise 'x' // would not appear to be a redeclaration of a block scoped local in the following @@ -23131,45 +23187,45 @@ var ts; // members are declared (for example, a member of a class will go into a specific // symbol table depending on if it is static or not). We defer to specialized // handlers to take care of declaring these child members. - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return declareModuleMember(node, symbolFlags, symbolExcludes); - case 273 /* SourceFile */: + case 274 /* SourceFile */: return declareSourceFileMember(node, symbolFlags, symbolExcludes); - case 204 /* ClassExpression */: - case 234 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 235 /* ClassDeclaration */: return declareClassMember(node, symbolFlags, symbolExcludes); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); - case 165 /* TypeLiteral */: - case 286 /* JSDocTypeLiteral */: - case 183 /* ObjectLiteralExpression */: - case 235 /* InterfaceDeclaration */: - case 262 /* JsxAttributes */: + case 166 /* TypeLiteral */: + case 287 /* JSDocTypeLiteral */: + case 184 /* ObjectLiteralExpression */: + case 236 /* InterfaceDeclaration */: + case 263 /* JsxAttributes */: // Interface/Object-types always have their children added to the 'members' of // their container. They are only accessible through an instance of their // container, and are never in scope otherwise (even inside the body of the // object / type / interface declaring them). An exception is type parameters, // which are in scope without qualification (similar to 'locals'). return declareSymbol(container.symbol.members, container.symbol, node, symbolFlags, symbolExcludes); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 287 /* JSDocSignature */: - case 159 /* IndexSignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 283 /* JSDocFunctionType */: - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: - case 236 /* TypeAliasDeclaration */: - case 176 /* MappedType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 288 /* JSDocSignature */: + case 160 /* IndexSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 284 /* JSDocFunctionType */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 237 /* TypeAliasDeclaration */: + case 177 /* MappedType */: // All the children of these container types are never visible through another // symbol (i.e. through another symbol's 'exports' or 'members'). Instead, // they're only accessed 'lexically' (i.e. from code that exists underneath @@ -23190,11 +23246,11 @@ var ts; : declareSymbol(file.locals, /*parent*/ undefined, node, symbolFlags, symbolExcludes); } function hasExportDeclarations(node) { - var body = node.kind === 273 /* SourceFile */ ? node : node.body; - if (body && (body.kind === 273 /* SourceFile */ || body.kind === 239 /* ModuleBlock */)) { + var body = node.kind === 274 /* SourceFile */ ? node : node.body; + if (body && (body.kind === 274 /* SourceFile */ || body.kind === 240 /* ModuleBlock */)) { for (var _i = 0, _a = body.statements; _i < _a.length; _i++) { var stat = _a[_i]; - if (stat.kind === 249 /* ExportDeclaration */ || stat.kind === 248 /* ExportAssignment */) { + if (stat.kind === 250 /* ExportDeclaration */ || stat.kind === 249 /* ExportAssignment */) { return true; } } @@ -23261,7 +23317,7 @@ var ts; // We do that by making an anonymous type literal symbol, and then setting the function // symbol as its sole member. To the rest of the system, this symbol will be indistinguishable // from an actual type literal symbol you would have gotten had you used the long form. - var symbol = createSymbol(131072 /* Signature */, getDeclarationName(node)); + var symbol = createSymbol(131072 /* Signature */, getDeclarationName(node)); // TODO: GH#18217 addDeclarationToSymbol(symbol, node, 131072 /* Signature */); var typeLiteralSymbol = createSymbol(2048 /* TypeLiteral */, "__type" /* Type */); addDeclarationToSymbol(typeLiteralSymbol, node, 2048 /* TypeLiteral */); @@ -23278,7 +23334,7 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 271 /* SpreadAssignment */ || prop.name.kind !== 71 /* Identifier */) { + if (prop.kind === 272 /* SpreadAssignment */ || prop.name.kind !== 71 /* Identifier */) { continue; } var identifier = prop.name; @@ -23290,7 +23346,7 @@ var ts; // c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true. // d.IsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true // and either both previous and propId.descriptor have[[Get]] fields or both previous and propId.descriptor have[[Set]] fields - var currentKind = prop.kind === 269 /* PropertyAssignment */ || prop.kind === 270 /* ShorthandPropertyAssignment */ || prop.kind === 153 /* MethodDeclaration */ + var currentKind = prop.kind === 270 /* PropertyAssignment */ || prop.kind === 271 /* ShorthandPropertyAssignment */ || prop.kind === 154 /* MethodDeclaration */ ? 1 /* Property */ : 2 /* Accessor */; var existingKind = seen.get(identifier.escapedText); @@ -23318,13 +23374,14 @@ var ts; symbol.parent = container.symbol; } addDeclarationToSymbol(symbol, node, symbolFlags); + return symbol; } function bindBlockScopedDeclaration(node, symbolFlags, symbolExcludes) { switch (blockScopeContainer.kind) { - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: declareModuleMember(node, symbolFlags, symbolExcludes); break; - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (ts.isExternalOrCommonJsModule(container)) { declareModuleMember(node, symbolFlags, symbolExcludes); break; @@ -23465,8 +23522,8 @@ var ts; function checkStrictModeFunctionDeclaration(node) { if (languageVersion < 2 /* ES2015 */) { // Report error if function is not top level function declaration - if (blockScopeContainer.kind !== 273 /* SourceFile */ && - blockScopeContainer.kind !== 238 /* ModuleDeclaration */ && + if (blockScopeContainer.kind !== 274 /* SourceFile */ && + blockScopeContainer.kind !== 239 /* ModuleDeclaration */ && !ts.isFunctionLike(blockScopeContainer)) { // We check first if the name is inside class declaration or class expression; if so give explicit message // otherwise report generic error message. @@ -23507,6 +23564,16 @@ var ts; var span = ts.getSpanOfTokenAtPosition(file, node.pos); file.bindDiagnostics.push(ts.createFileDiagnostic(file, span.start, span.length, message, arg0, arg1, arg2)); } + function errorOrSuggestionOnFirstToken(isError, node, message, arg0, arg1, arg2) { + var span = ts.getSpanOfTokenAtPosition(file, node.pos); + var diag = ts.createFileDiagnostic(file, span.start, span.length, message, arg0, arg1, arg2); + if (isError) { + file.bindDiagnostics.push(diag); + } + else { + file.bindSuggestionDiagnostics = ts.append(file.bindSuggestionDiagnostics, __assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); + } + } function bind(node) { if (!node) { return; @@ -23538,7 +23605,7 @@ var ts; // the current 'container' node when it changes. This helps us know which symbol table // a local should go into for example. Since terminal nodes are known not to have // children, as an optimization we don't process those. - if (node.kind > 144 /* LastToken */) { + if (node.kind > 145 /* LastToken */) { var saveParent = parent; parent = node; var containerFlags = getContainerFlags(node); @@ -23610,11 +23677,11 @@ var ts; } // falls through case 99 /* ThisKeyword */: - if (currentFlow && (ts.isExpression(node) || parent.kind === 270 /* ShorthandPropertyAssignment */)) { + if (currentFlow && (ts.isExpression(node) || parent.kind === 271 /* ShorthandPropertyAssignment */)) { node.flowNode = currentFlow; } return checkStrictModeIdentifier(node); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: if (currentFlow && isNarrowableReference(node)) { node.flowNode = currentFlow; } @@ -23622,7 +23689,7 @@ var ts; bindSpecialPropertyDeclaration(node); } break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var specialKind = ts.getSpecialPropertyAssignmentKind(node); switch (specialKind) { case 1 /* ExportsProperty */: @@ -23650,137 +23717,137 @@ var ts; ts.Debug.fail("Unknown special property assignment kind"); } return checkStrictModeBinaryExpression(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return checkStrictModeCatchClause(node); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return checkStrictModeDeleteExpression(node); case 8 /* NumericLiteral */: return checkStrictModeNumericLiteral(node); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return checkStrictModePostfixUnaryExpression(node); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return checkStrictModePrefixUnaryExpression(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return checkStrictModeWithStatement(node); - case 173 /* ThisType */: + case 174 /* ThisType */: seenThisKeyword = true; return; - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: break; // Binding the children will handle everything - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return bindTypeParameter(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return bindParameter(node); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return bindVariableDeclarationOrBindingElement(node); - case 181 /* BindingElement */: + case 182 /* BindingElement */: node.flowNode = currentFlow; return bindVariableDeclarationOrBindingElement(node); - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return bindPropertyWorker(node); - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return bindPropertyOrMethodOrAccessor(node, 4 /* Property */, 0 /* PropertyExcludes */); - case 272 /* EnumMember */: + case 273 /* EnumMember */: return bindPropertyOrMethodOrAccessor(node, 8 /* EnumMember */, 68008959 /* EnumMemberExcludes */); - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: return declareSymbolAndAddToSymbolTable(node, 131072 /* Signature */, 0 /* None */); - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: // If this is an ObjectLiteralExpression method, then it sits in the same space // as other properties in the object literal. So we use SymbolFlags.PropertyExcludes // so that it will conflict with any other object literal members with the same // name. return bindPropertyOrMethodOrAccessor(node, 8192 /* Method */ | (node.questionToken ? 16777216 /* Optional */ : 0 /* None */), ts.isObjectLiteralMethod(node) ? 0 /* PropertyExcludes */ : 67208127 /* MethodExcludes */); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return bindFunctionDeclaration(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return declareSymbolAndAddToSymbolTable(node, 16384 /* Constructor */, /*symbolExcludes:*/ 0 /* None */); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: return bindPropertyOrMethodOrAccessor(node, 32768 /* GetAccessor */, 67150783 /* GetAccessorExcludes */); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return bindPropertyOrMethodOrAccessor(node, 65536 /* SetAccessor */, 67183551 /* SetAccessorExcludes */); - case 162 /* FunctionType */: - case 283 /* JSDocFunctionType */: - case 287 /* JSDocSignature */: - case 163 /* ConstructorType */: + case 163 /* FunctionType */: + case 284 /* JSDocFunctionType */: + case 288 /* JSDocSignature */: + case 164 /* ConstructorType */: return bindFunctionOrConstructorType(node); - case 165 /* TypeLiteral */: - case 286 /* JSDocTypeLiteral */: - case 176 /* MappedType */: + case 166 /* TypeLiteral */: + case 287 /* JSDocTypeLiteral */: + case 177 /* MappedType */: return bindAnonymousTypeWorker(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return bindObjectLiteralExpression(node); - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return bindFunctionExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (ts.isInJavaScriptFile(node)) { bindCallExpression(node); } break; // Members of classes, interfaces, and modules - case 204 /* ClassExpression */: - case 234 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 235 /* ClassDeclaration */: // All classes are automatically in strict mode in ES6. inStrictMode = true; return bindClassLikeDeclaration(node); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return bindBlockScopedDeclaration(node, 64 /* Interface */, 67901832 /* InterfaceExcludes */); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return bindBlockScopedDeclaration(node, 524288 /* TypeAlias */, 67901928 /* TypeAliasExcludes */); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return bindEnumDeclaration(node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return bindModuleDeclaration(node); // Jsx-attributes - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return bindJsxAttributes(node); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return bindJsxAttribute(node, 4 /* Property */, 0 /* PropertyExcludes */); // Imports and exports - case 242 /* ImportEqualsDeclaration */: - case 245 /* NamespaceImport */: - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 243 /* ImportEqualsDeclaration */: + case 246 /* NamespaceImport */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: return declareSymbolAndAddToSymbolTable(node, 2097152 /* Alias */, 2097152 /* AliasExcludes */); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return bindNamespaceExportDeclaration(node); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return bindImportClause(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return bindExportDeclaration(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return bindExportAssignment(node); - case 273 /* SourceFile */: + case 274 /* SourceFile */: updateStrictModeStatementList(node.statements); return bindSourceFileIfExternalModule(); - case 212 /* Block */: + case 213 /* Block */: if (!ts.isFunctionLike(node.parent)) { return; } // falls through - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return updateStrictModeStatementList(node.statements); - case 292 /* JSDocParameterTag */: - if (node.parent.kind === 287 /* JSDocSignature */) { + case 293 /* JSDocParameterTag */: + if (node.parent.kind === 288 /* JSDocSignature */) { return bindParameter(node); } - if (node.parent.kind !== 286 /* JSDocTypeLiteral */) { + if (node.parent.kind !== 287 /* JSDocTypeLiteral */) { break; } // falls through - case 297 /* JSDocPropertyTag */: + case 298 /* JSDocPropertyTag */: var propTag = node; - var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 282 /* JSDocOptionalType */ ? + var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 283 /* JSDocOptionalType */ ? 4 /* Property */ | 16777216 /* Optional */ : 4 /* Property */; return declareSymbolAndAddToSymbolTable(propTag, flags, 0 /* PropertyExcludes */); - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: return (delayedTypeAliases || (delayedTypeAliases = [])).push(node); } } @@ -23812,7 +23879,7 @@ var ts; bindAnonymousDeclaration(node, 2097152 /* Alias */, getDeclarationName(node)); } else { - var flags = node.kind === 248 /* ExportAssignment */ && ts.exportAssignmentIsAlias(node) + var flags = node.kind === 249 /* ExportAssignment */ && ts.exportAssignmentIsAlias(node) // An export default clause with an EntityNameExpression or a class expression exports all meanings of that identifier or expression; ? 2097152 /* Alias */ // An export default clause with any other expression exports a value @@ -23826,7 +23893,7 @@ var ts; if (node.modifiers && node.modifiers.length) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Modifiers_cannot_appear_here)); } - if (node.parent.kind !== 273 /* SourceFile */) { + if (node.parent.kind !== 274 /* SourceFile */) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Global_module_exports_may_only_appear_at_top_level)); return; } @@ -23872,13 +23939,11 @@ var ts; // expression is the declaration setCommonJsModuleIndicator(node); var lhs = node.left; - var symbol = forEachIdentifierInEntityName(lhs.expression, function (id, original) { - if (!original) { - return undefined; + var symbol = forEachIdentifierInEntityName(lhs.expression, /*parent*/ undefined, function (id, symbol) { + if (symbol) { + addDeclarationToSymbol(symbol, id, 1536 /* Module */ | 67108864 /* JSContainer */); } - var s = ts.getJSInitializerSymbol(original); - addDeclarationToSymbol(s, id, 1536 /* Module */ | 67108864 /* JSContainer */); - return s; + return symbol; }); if (symbol) { var flags = ts.isClassExpression(node.right) ? @@ -23909,14 +23974,14 @@ var ts; ts.Debug.assert(ts.isInJavaScriptFile(node)); var thisContainer = ts.getThisContainer(node, /*includeArrowFunctions*/ false); switch (thisContainer.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: var constructorSymbol = thisContainer.symbol; // For `f.prototype.m = function() { this.x = 0; }`, `this.x = 0` should modify `f`'s members, not the function expression. if (ts.isBinaryExpression(thisContainer.parent) && thisContainer.parent.operatorToken.kind === 58 /* EqualsToken */) { var l = thisContainer.parent.left; if (ts.isPropertyAccessEntityNameExpression(l) && ts.isPrototypeAccess(l.expression)) { - constructorSymbol = getJSInitializerSymbolFromName(l.expression.expression, thisParentContainer); + constructorSymbol = lookupSymbolForPropertyAccess(l.expression.expression, thisParentContainer); } } if (constructorSymbol) { @@ -23926,18 +23991,18 @@ var ts; declareSymbol(constructorSymbol.members, constructorSymbol, node, 4 /* Property */, 0 /* PropertyExcludes */ & ~4 /* Property */); } break; - case 154 /* Constructor */: - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 155 /* Constructor */: + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // this.foo assignment in a JavaScript class // Bind this property to the containing class var containingClass = thisContainer.parent; var symbolTable = ts.hasModifier(thisContainer, 32 /* Static */) ? containingClass.symbol.exports : containingClass.symbol.members; declareSymbol(symbolTable, containingClass.symbol, node, 4 /* Property */, 0 /* None */, /*isReplaceableByMethod*/ true); break; - case 273 /* SourceFile */: + case 274 /* SourceFile */: // this.foo assignment in a source file // Do not bind. It would be nice to support this someday though. break; @@ -23949,7 +24014,7 @@ var ts; if (node.expression.kind === 99 /* ThisKeyword */) { bindThisPropertyAssignment(node); } - else if (ts.isPropertyAccessEntityNameExpression(node) && node.parent.parent.kind === 273 /* SourceFile */) { + else if (ts.isPropertyAccessEntityNameExpression(node) && node.parent.parent.kind === 274 /* SourceFile */) { if (ts.isPrototypeAccess(node.expression)) { bindPrototypePropertyAssignment(node, node.parent); } @@ -24003,43 +24068,65 @@ var ts; node.expression.parent = node; bindPropertyAssignment(node.expression, node, /*isPrototypeProperty*/ false); } - function getJSInitializerSymbolFromName(name, lookupContainer) { - return ts.getJSInitializerSymbol(lookupSymbolForPropertyAccess(name, lookupContainer)); - } function bindPropertyAssignment(name, propertyAccess, isPrototypeProperty) { - var symbol = getJSInitializerSymbolFromName(name); + var namespaceSymbol = lookupSymbolForPropertyAccess(name); var isToplevelNamespaceableInitializer = ts.isBinaryExpression(propertyAccess.parent) - ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 273 /* SourceFile */ && + ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 274 /* SourceFile */ && !!ts.getJavascriptInitializer(ts.getInitializerOfBinaryExpression(propertyAccess.parent), ts.isPrototypeAccess(propertyAccess.parent.left)) - : propertyAccess.parent.parent.kind === 273 /* SourceFile */; - if (!isPrototypeProperty && (!symbol || !(symbol.flags & 1920 /* Namespace */)) && isToplevelNamespaceableInitializer) { + : propertyAccess.parent.parent.kind === 274 /* SourceFile */; + if (!isPrototypeProperty && (!namespaceSymbol || !(namespaceSymbol.flags & 1920 /* Namespace */)) && isToplevelNamespaceableInitializer) { // make symbols or add declarations for intermediate containers var flags_1 = 1536 /* Module */ | 67108864 /* JSContainer */; var excludeFlags_1 = 67215503 /* ValueModuleExcludes */ & ~67108864 /* JSContainer */; - forEachIdentifierInEntityName(propertyAccess.expression, function (id, original) { - if (original) { - // Note: add declaration to original symbol, not the special-syntax's symbol, so that namespaces work for type lookup - addDeclarationToSymbol(original, id, flags_1); - return original; + namespaceSymbol = forEachIdentifierInEntityName(propertyAccess.expression, namespaceSymbol, function (id, symbol, parent) { + if (symbol) { + addDeclarationToSymbol(symbol, id, flags_1); + return symbol; } else { - return symbol = declareSymbol(symbol ? symbol.exports : container.locals, symbol, id, flags_1, excludeFlags_1); + return declareSymbol(parent ? parent.exports : container.locals, parent, id, flags_1, excludeFlags_1); } }); } - if (!symbol || !(symbol.flags & (16 /* Function */ | 32 /* Class */ | 1024 /* NamespaceModule */ | 4096 /* ObjectLiteral */))) { + if (!namespaceSymbol || !isJavascriptContainer(namespaceSymbol)) { return; } // Set up the members collection if it doesn't exist already var symbolTable = isPrototypeProperty ? - (symbol.members || (symbol.members = ts.createSymbolTable())) : - (symbol.exports || (symbol.exports = ts.createSymbolTable())); + (namespaceSymbol.members || (namespaceSymbol.members = ts.createSymbolTable())) : + (namespaceSymbol.exports || (namespaceSymbol.exports = ts.createSymbolTable())); // Declare the method/property var jsContainerFlag = isToplevelNamespaceableInitializer ? 67108864 /* JSContainer */ : 0; var isMethod = ts.isFunctionLikeDeclaration(ts.getAssignedJavascriptInitializer(propertyAccess)); var symbolFlags = (isMethod ? 8192 /* Method */ : 4 /* Property */) | jsContainerFlag; var symbolExcludes = (isMethod ? 67208127 /* MethodExcludes */ : 0 /* PropertyExcludes */) & ~jsContainerFlag; - declareSymbol(symbolTable, symbol, propertyAccess, symbolFlags, symbolExcludes); + declareSymbol(symbolTable, namespaceSymbol, propertyAccess, symbolFlags, symbolExcludes); + } + /** + * Javascript containers are: + * - Functions + * - classes + * - namespaces + * - variables initialized with function expressions + * - with class expressions + * - with empty object literals + * - with non-empty object literals if assigned to the prototype property + */ + function isJavascriptContainer(symbol) { + if (symbol.flags & (16 /* Function */ | 32 /* Class */ | 1024 /* NamespaceModule */)) { + return true; + } + var node = symbol.valueDeclaration; + var init = !node ? undefined : + ts.isVariableDeclaration(node) ? node.initializer : + ts.isBinaryExpression(node) ? node.right : + ts.isPropertyAccessExpression(node) && ts.isBinaryExpression(node.parent) ? node.parent.right : + undefined; + if (init) { + var isPrototypeAssignment = ts.isPrototypeAccess(ts.isVariableDeclaration(node) ? node.name : ts.isBinaryExpression(node) ? node.left : node); + return !!ts.getJavascriptInitializer(ts.isBinaryExpression(init) && init.operatorToken.kind === 54 /* BarBarToken */ ? init.right : init, isPrototypeAssignment); + } + return false; } function getParentOfBinaryExpression(expr) { while (ts.isBinaryExpression(expr.parent)) { @@ -24053,21 +24140,22 @@ var ts; return lookupSymbolForNameWorker(lookupContainer, node.escapedText); } else { - var symbol = ts.getJSInitializerSymbol(lookupSymbolForPropertyAccess(node.expression)); + var symbol = lookupSymbolForPropertyAccess(node.expression); return symbol && symbol.exports && symbol.exports.get(node.name.escapedText); } } - function forEachIdentifierInEntityName(e, action) { + function forEachIdentifierInEntityName(e, parent, action) { if (isExportsOrModuleExportsOrAlias(file, e)) { return file.symbol; } else if (ts.isIdentifier(e)) { - return action(e, lookupSymbolForPropertyAccess(e)); + return action(e, lookupSymbolForPropertyAccess(e), parent); } else { - var s = ts.getJSInitializerSymbol(forEachIdentifierInEntityName(e.expression, action)); - ts.Debug.assert(!!s && !!s.exports); - return action(e.name, s.exports.get(e.name.escapedText)); + var s = forEachIdentifierInEntityName(e.expression, parent, action); + if (!s || !s.exports) + return ts.Debug.fail(); + return action(e.name, s.exports.get(e.name.escapedText), s); } } function bindCallExpression(node) { @@ -24078,7 +24166,7 @@ var ts; } } function bindClassLikeDeclaration(node) { - if (node.kind === 234 /* ClassDeclaration */) { + if (node.kind === 235 /* ClassDeclaration */) { bindBlockScopedDeclaration(node, 32 /* Class */, 68008383 /* ClassExcludes */); } else { @@ -24124,7 +24212,7 @@ var ts; bindBlockScopedVariableDeclaration(node); } else if (ts.isParameterDeclaration(node)) { - // It is safe to walk up parent chain to find whether the node is a destructing parameter declaration + // It is safe to walk up parent chain to find whether the node is a destructuring parameter declaration // because its parent chain has already been set up, since parents are set before descending into children. // // If node is a binding element in parameter declaration, we need to use ParameterExcludes. @@ -24141,7 +24229,7 @@ var ts; } } function bindParameter(node) { - if (node.kind === 292 /* JSDocParameterTag */ && container.kind !== 287 /* JSDocSignature */) { + if (node.kind === 293 /* JSDocParameterTag */ && container.kind !== 288 /* JSDocSignature */) { return; } if (inStrictMode && !(node.flags & 4194304 /* Ambient */)) { @@ -24207,7 +24295,7 @@ var ts; } function bindTypeParameter(node) { if (ts.isJSDocTemplateTag(node.parent)) { - var container_1 = ts.find(node.parent.parent.tags, ts.isJSDocTypeAlias) || ts.getHostSignatureFromJSDoc(node.parent); + var container_1 = ts.find(node.parent.parent.tags, ts.isJSDocTypeAlias) || ts.getHostSignatureFromJSDoc(node.parent); // TODO: GH#18217 if (container_1) { if (!container_1.locals) { container_1.locals = ts.createSymbolTable(); @@ -24218,7 +24306,7 @@ var ts; declareSymbolAndAddToSymbolTable(node, 262144 /* TypeParameter */, 67639784 /* TypeParameterExcludes */); } } - else if (node.parent.kind === 171 /* InferType */) { + else if (node.parent.kind === 172 /* InferType */) { var container_2 = getInferTypeContainer(node.parent); if (container_2) { if (!container_2.locals) { @@ -24227,7 +24315,7 @@ var ts; declareSymbol(container_2.locals, /*parent*/ undefined, node, 262144 /* TypeParameter */, 67639784 /* TypeParameterExcludes */); } else { - bindAnonymousDeclaration(node, 262144 /* TypeParameter */, getDeclarationName(node)); + bindAnonymousDeclaration(node, 262144 /* TypeParameter */, getDeclarationName(node)); // TODO: GH#18217 } } else { @@ -24237,7 +24325,7 @@ var ts; // reachability checks function shouldReportErrorOnModuleDeclaration(node) { var instanceState = getModuleInstanceState(node); - return instanceState === 1 /* Instantiated */ || (instanceState === 2 /* ConstEnumOnly */ && options.preserveConstEnums); + return instanceState === 1 /* Instantiated */ || (instanceState === 2 /* ConstEnumOnly */ && !!options.preserveConstEnums); } function checkUnreachable(node) { if (!(currentFlow.flags & 1 /* Unreachable */)) { @@ -24246,31 +24334,31 @@ var ts; if (currentFlow === unreachableFlow) { var reportError = // report error on all statements except empty ones - (ts.isStatementButNotDeclaration(node) && node.kind !== 214 /* EmptyStatement */) || + (ts.isStatementButNotDeclaration(node) && node.kind !== 215 /* EmptyStatement */) || // report error on class declarations - node.kind === 234 /* ClassDeclaration */ || + node.kind === 235 /* ClassDeclaration */ || // report error on instantiated modules or const-enums only modules if preserveConstEnums is set - (node.kind === 238 /* ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)) || + (node.kind === 239 /* ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)) || // report error on regular enums and const enums if preserveConstEnums is set - (node.kind === 237 /* EnumDeclaration */ && (!ts.isConstEnumDeclaration(node) || options.preserveConstEnums)); + (node.kind === 238 /* EnumDeclaration */ && (!ts.isConstEnumDeclaration(node) || options.preserveConstEnums)); if (reportError) { currentFlow = reportedUnreachableFlow; - // unreachable code is reported if - // - user has explicitly asked about it AND - // - statement is in not ambient context (statements in ambient context is already an error - // so we should not report extras) AND - // - node is not variable statement OR - // - node is block scoped variable statement OR - // - node is not block scoped variable statement and at least one variable declaration has initializer - // Rationale: we don't want to report errors on non-initialized var's since they are hoisted - // On the other side we do want to report errors on non-initialized 'lets' because of TDZ - var reportUnreachableCode = !options.allowUnreachableCode && - !(node.flags & 4194304 /* Ambient */) && - (node.kind !== 213 /* VariableStatement */ || - ts.getCombinedNodeFlags(node.declarationList) & 3 /* BlockScoped */ || - ts.forEach(node.declarationList.declarations, function (d) { return d.initializer; })); - if (reportUnreachableCode) { - errorOnFirstToken(node, ts.Diagnostics.Unreachable_code_detected); + if (!options.allowUnreachableCode) { + // unreachable code is reported if + // - user has explicitly asked about it AND + // - statement is in not ambient context (statements in ambient context is already an error + // so we should not report extras) AND + // - node is not variable statement OR + // - node is block scoped variable statement OR + // - node is not block scoped variable statement and at least one variable declaration has initializer + // Rationale: we don't want to report errors on non-initialized var's since they are hoisted + // On the other side we do want to report errors on non-initialized 'lets' because of TDZ + var isError = ts.unreachableCodeIsError(options) && + !(node.flags & 4194304 /* Ambient */) && + (!ts.isVariableStatement(node) || + !!(ts.getCombinedNodeFlags(node.declarationList) & 3 /* BlockScoped */) || + node.declarationList.declarations.some(function (d) { return !!d.initializer; })); + errorOrSuggestionOnFirstToken(isError, node, ts.Diagnostics.Unreachable_code_detected); } } } @@ -24286,8 +24374,8 @@ var ts; ts.isExportsOrModuleExportsOrAlias = isExportsOrModuleExportsOrAlias; function isNameOfExportsOrModuleExportsAliasDeclaration(sourceFile, node) { var symbol = lookupSymbolForNameWorker(sourceFile, node.escapedText); - return symbol && symbol.valueDeclaration && ts.isVariableDeclaration(symbol.valueDeclaration) && - symbol.valueDeclaration.initializer && isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, symbol.valueDeclaration.initializer); + return !!symbol && !!symbol.valueDeclaration && ts.isVariableDeclaration(symbol.valueDeclaration) && + !!symbol.valueDeclaration.initializer && isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, symbol.valueDeclaration.initializer); } function isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, node) { return isExportsOrModuleExportsOrAlias(sourceFile, node) || @@ -24309,58 +24397,58 @@ var ts; function computeTransformFlagsForNode(node, subtreeFlags) { var kind = node.kind; switch (kind) { - case 186 /* CallExpression */: + case 187 /* CallExpression */: return computeCallExpression(node, subtreeFlags); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return computeNewExpression(node, subtreeFlags); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return computeModuleDeclaration(node, subtreeFlags); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return computeParenthesizedExpression(node, subtreeFlags); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return computeBinaryExpression(node, subtreeFlags); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return computeExpressionStatement(node, subtreeFlags); - case 148 /* Parameter */: + case 149 /* Parameter */: return computeParameter(node, subtreeFlags); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return computeArrowFunction(node, subtreeFlags); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return computeFunctionExpression(node, subtreeFlags); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return computeFunctionDeclaration(node, subtreeFlags); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return computeVariableDeclaration(node, subtreeFlags); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return computeVariableDeclarationList(node, subtreeFlags); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return computeVariableStatement(node, subtreeFlags); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return computeLabeledStatement(node, subtreeFlags); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return computeClassDeclaration(node, subtreeFlags); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return computeClassExpression(node, subtreeFlags); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: return computeHeritageClause(node, subtreeFlags); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return computeCatchClause(node, subtreeFlags); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return computeExpressionWithTypeArguments(node, subtreeFlags); - case 154 /* Constructor */: + case 155 /* Constructor */: return computeConstructor(node, subtreeFlags); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return computePropertyDeclaration(node, subtreeFlags); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return computeMethod(node, subtreeFlags); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return computeAccessor(node, subtreeFlags); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return computeImportEquals(node, subtreeFlags); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return computePropertyAccess(node, subtreeFlags); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return computeElementAccess(node, subtreeFlags); default: return computeOther(node, kind, subtreeFlags); @@ -24412,12 +24500,12 @@ var ts; var transformFlags = subtreeFlags; var operatorTokenKind = node.operatorToken.kind; var leftKind = node.left.kind; - if (operatorTokenKind === 58 /* EqualsToken */ && leftKind === 183 /* ObjectLiteralExpression */) { + if (operatorTokenKind === 58 /* EqualsToken */ && leftKind === 184 /* ObjectLiteralExpression */) { // Destructuring object assignments with are ES2015 syntax // and possibly ESNext if they contain rest transformFlags |= 8 /* AssertESNext */ | 192 /* AssertES2015 */ | 3072 /* AssertDestructuringAssignment */; } - else if (operatorTokenKind === 58 /* EqualsToken */ && leftKind === 182 /* ArrayLiteralExpression */) { + else if (operatorTokenKind === 58 /* EqualsToken */ && leftKind === 183 /* ArrayLiteralExpression */) { // Destructuring assignments are ES2015 syntax. transformFlags |= 192 /* AssertES2015 */ | 3072 /* AssertDestructuringAssignment */; } @@ -24466,8 +24554,8 @@ var ts; // If the node is synthesized, it means the emitter put the parentheses there, // not the user. If we didn't want them, the emitter would not have put them // there. - if (expressionKind === 207 /* AsExpression */ - || expressionKind === 189 /* TypeAssertionExpression */) { + if (expressionKind === 208 /* AsExpression */ + || expressionKind === 190 /* TypeAssertionExpression */) { transformFlags |= 3 /* AssertTypeScript */; } // If the expression of a ParenthesizedExpression is a destructuring assignment, @@ -24844,13 +24932,13 @@ var ts; var excludeFlags = 939525441 /* NodeExcludes */; switch (kind) { case 120 /* AsyncKeyword */: - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: // async/await is ES2017 syntax, but may be ESNext syntax (for async generators) transformFlags |= 8 /* AssertESNext */ | 16 /* AssertES2017 */; break; - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: - case 300 /* PartiallyEmittedExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: + case 301 /* PartiallyEmittedExpression */: // These nodes are TypeScript syntax. transformFlags |= 3 /* AssertTypeScript */; excludeFlags = 536872257 /* OuterExpressionExcludes */; @@ -24861,25 +24949,25 @@ var ts; case 117 /* AbstractKeyword */: case 124 /* DeclareKeyword */: case 76 /* ConstKeyword */: - case 237 /* EnumDeclaration */: - case 272 /* EnumMember */: - case 208 /* NonNullExpression */: + case 238 /* EnumDeclaration */: + case 273 /* EnumMember */: + case 209 /* NonNullExpression */: case 132 /* ReadonlyKeyword */: // These nodes are TypeScript syntax. transformFlags |= 3 /* AssertTypeScript */; break; - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: - case 256 /* JsxOpeningElement */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: case 10 /* JsxText */: - case 257 /* JsxClosingElement */: - case 258 /* JsxFragment */: - case 259 /* JsxOpeningFragment */: - case 260 /* JsxClosingFragment */: - case 261 /* JsxAttribute */: - case 262 /* JsxAttributes */: - case 263 /* JsxSpreadAttribute */: - case 264 /* JsxExpression */: + case 258 /* JsxClosingElement */: + case 259 /* JsxFragment */: + case 260 /* JsxOpeningFragment */: + case 261 /* JsxClosingFragment */: + case 262 /* JsxAttribute */: + case 263 /* JsxAttributes */: + case 264 /* JsxSpreadAttribute */: + case 265 /* JsxExpression */: // These nodes are Jsx syntax. transformFlags |= 4 /* AssertJsx */; break; @@ -24887,11 +24975,11 @@ var ts; case 14 /* TemplateHead */: case 15 /* TemplateMiddle */: case 16 /* TemplateTail */: - case 201 /* TemplateExpression */: - case 188 /* TaggedTemplateExpression */: - case 270 /* ShorthandPropertyAssignment */: + case 202 /* TemplateExpression */: + case 189 /* TaggedTemplateExpression */: + case 271 /* ShorthandPropertyAssignment */: case 115 /* StaticKeyword */: - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: // These nodes are ES6 syntax. transformFlags |= 192 /* AssertES2015 */; break; @@ -24905,14 +24993,14 @@ var ts; transformFlags |= 192 /* AssertES2015 */; } break; - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: // This node is either ES2015 syntax or ES2017 syntax (if it is a for-await-of). if (node.awaitModifier) { transformFlags |= 8 /* AssertESNext */; } transformFlags |= 192 /* AssertES2015 */; break; - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: // This node is either ES2015 syntax (in a generator) or ES2017 syntax (in an async // generator). transformFlags |= 8 /* AssertESNext */ | 192 /* AssertES2015 */ | 16777216 /* ContainsYield */; @@ -24925,38 +25013,38 @@ var ts; case 122 /* BooleanKeyword */: case 138 /* SymbolKeyword */: case 105 /* VoidKeyword */: - case 147 /* TypeParameter */: - case 150 /* PropertySignature */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 160 /* TypePredicate */: - case 161 /* TypeReference */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 164 /* TypeQuery */: - case 165 /* TypeLiteral */: - case 166 /* ArrayType */: - case 167 /* TupleType */: - case 168 /* UnionType */: - case 169 /* IntersectionType */: - case 170 /* ConditionalType */: - case 171 /* InferType */: - case 172 /* ParenthesizedType */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 173 /* ThisType */: - case 174 /* TypeOperator */: - case 175 /* IndexedAccessType */: - case 176 /* MappedType */: - case 177 /* LiteralType */: - case 241 /* NamespaceExportDeclaration */: + case 148 /* TypeParameter */: + case 151 /* PropertySignature */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 161 /* TypePredicate */: + case 162 /* TypeReference */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 165 /* TypeQuery */: + case 166 /* TypeLiteral */: + case 167 /* ArrayType */: + case 168 /* TupleType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: + case 171 /* ConditionalType */: + case 172 /* InferType */: + case 173 /* ParenthesizedType */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 174 /* ThisType */: + case 175 /* TypeOperator */: + case 176 /* IndexedAccessType */: + case 177 /* MappedType */: + case 178 /* LiteralType */: + case 242 /* NamespaceExportDeclaration */: // Types and signatures are TypeScript syntax, and exclude all other facts. transformFlags = 3 /* AssertTypeScript */; excludeFlags = -3 /* TypeExcludes */; break; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: // Even though computed property names are ES6, we don't treat them as such. // This is so that they can flow through PropertyName transforms unaffected. // Instead, we mark the container as ES6, so that it can properly handle the transform. @@ -24973,10 +25061,10 @@ var ts; transformFlags |= 65536 /* ContainsLexicalThisInComputedPropertyName */; } break; - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: transformFlags |= 192 /* AssertES2015 */ | 524288 /* ContainsSpread */; break; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: transformFlags |= 8 /* AssertESNext */ | 1048576 /* ContainsObjectSpread */; break; case 97 /* SuperKeyword */: @@ -24988,28 +25076,28 @@ var ts; // Mark this node and its ancestors as containing a lexical `this` keyword. transformFlags |= 16384 /* ContainsLexicalThis */; break; - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: transformFlags |= 192 /* AssertES2015 */ | 8388608 /* ContainsBindingPattern */; if (subtreeFlags & 524288 /* ContainsRest */) { transformFlags |= 8 /* AssertESNext */ | 1048576 /* ContainsObjectRest */; } excludeFlags = 940049729 /* BindingPatternExcludes */; break; - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: transformFlags |= 192 /* AssertES2015 */ | 8388608 /* ContainsBindingPattern */; excludeFlags = 940049729 /* BindingPatternExcludes */; break; - case 181 /* BindingElement */: + case 182 /* BindingElement */: transformFlags |= 192 /* AssertES2015 */; if (node.dotDotDotToken) { transformFlags |= 524288 /* ContainsRest */; } break; - case 149 /* Decorator */: + case 150 /* Decorator */: // This node is TypeScript syntax, and marks its container as also being TypeScript syntax. transformFlags |= 3 /* AssertTypeScript */ | 4096 /* ContainsDecorators */; break; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: excludeFlags = 942740801 /* ObjectLiteralExcludes */; if (subtreeFlags & 2097152 /* ContainsComputedPropertyName */) { // If an ObjectLiteralExpression contains a ComputedPropertyName, then it @@ -25027,8 +25115,8 @@ var ts; transformFlags |= 8 /* AssertESNext */; } break; - case 182 /* ArrayLiteralExpression */: - case 187 /* NewExpression */: + case 183 /* ArrayLiteralExpression */: + case 188 /* NewExpression */: excludeFlags = 940049729 /* ArrayLiteralOrCallOrNewExcludes */; if (subtreeFlags & 524288 /* ContainsSpread */) { // If the this node contains a SpreadExpression, then it is an ES6 @@ -25036,23 +25124,26 @@ var ts; transformFlags |= 192 /* AssertES2015 */; } break; - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: // A loop containing a block scoped binding *may* need to be transformed from ES6. if (subtreeFlags & 4194304 /* ContainsBlockScopedBinding */) { transformFlags |= 192 /* AssertES2015 */; } break; - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (subtreeFlags & 32768 /* ContainsCapturedLexicalThis */) { transformFlags |= 192 /* AssertES2015 */; } break; - case 224 /* ReturnStatement */: - case 222 /* ContinueStatement */: - case 223 /* BreakStatement */: + case 225 /* ReturnStatement */: + // Return statements may require an `await` in ESNext. + transformFlags |= 33554432 /* ContainsHoistedDeclarationOrCompletion */ | 8 /* AssertESNext */; + break; + case 223 /* ContinueStatement */: + case 224 /* BreakStatement */: transformFlags |= 33554432 /* ContainsHoistedDeclarationOrCompletion */; break; } @@ -25068,33 +25159,33 @@ var ts; */ /* @internal */ function getTransformFlagsSubtreeExclusions(kind) { - if (kind >= 160 /* FirstTypeNode */ && kind <= 178 /* LastTypeNode */) { + if (kind >= 161 /* FirstTypeNode */ && kind <= 179 /* LastTypeNode */) { return -3 /* TypeExcludes */; } switch (kind) { - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 182 /* ArrayLiteralExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 183 /* ArrayLiteralExpression */: return 940049729 /* ArrayLiteralOrCallOrNewExcludes */; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return 977327425 /* ModuleExcludes */; - case 148 /* Parameter */: + case 149 /* Parameter */: return 939525441 /* ParameterExcludes */; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return 1003902273 /* ArrowFunctionExcludes */; - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: return 1003935041 /* FunctionExcludes */; - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return 948962625 /* VariableDeclarationListExcludes */; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return 942011713 /* ClassExcludes */; - case 154 /* Constructor */: + case 155 /* Constructor */: return 1003668801 /* ConstructorExcludes */; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return 1003668801 /* MethodOrAccessorExcludes */; case 119 /* AnyKeyword */: case 134 /* NumberKeyword */: @@ -25104,30 +25195,30 @@ var ts; case 122 /* BooleanKeyword */: case 138 /* SymbolKeyword */: case 105 /* VoidKeyword */: - case 147 /* TypeParameter */: - case 150 /* PropertySignature */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 148 /* TypeParameter */: + case 151 /* PropertySignature */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: return -3 /* TypeExcludes */; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return 942740801 /* ObjectLiteralExcludes */; - case 268 /* CatchClause */: + case 269 /* CatchClause */: return 940574017 /* CatchClauseExcludes */; - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: return 940049729 /* BindingPatternExcludes */; - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: - case 300 /* PartiallyEmittedExpression */: - case 190 /* ParenthesizedExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: + case 301 /* PartiallyEmittedExpression */: + case 191 /* ParenthesizedExpression */: case 97 /* SuperKeyword */: return 536872257 /* OuterExpressionExcludes */; - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: return 671089985 /* PropertyAccessExcludes */; default: return 939525441 /* NodeExcludes */; @@ -25188,7 +25279,7 @@ var ts; if (shouldBail) return; // Visit the type's related types, if any - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var objectType = type; var objectFlags = objectType.objectFlags; if (objectFlags & 4 /* Reference */) { @@ -25204,16 +25295,16 @@ var ts; visitObjectType(objectType); } } - if (type.flags & 32768 /* TypeParameter */) { + if (type.flags & 65536 /* TypeParameter */) { visitTypeParameter(type); } - if (type.flags & 393216 /* UnionOrIntersection */) { + if (type.flags & 786432 /* UnionOrIntersection */) { visitUnionOrIntersectionType(type); } - if (type.flags & 524288 /* Index */) { + if (type.flags & 1048576 /* Index */) { visitIndexType(type); } - if (type.flags & 1048576 /* IndexedAccess */) { + if (type.flags & 2097152 /* IndexedAccess */) { visitIndexedAccessType(type); } } @@ -25282,11 +25373,11 @@ var ts; } function visitSymbol(symbol) { if (!symbol) { - return; + return false; } var symbolId = ts.getSymbolId(symbol); if (visitedSymbols[symbolId]) { - return; + return false; } visitedSymbols[symbolId] = symbol; if (!accept(symbol)) { @@ -25302,12 +25393,13 @@ var ts; // (their type resolved directly to the member deeply referenced) // So to get the intervening symbols, we need to check if there's a type // query node on any of the symbol's declarations and get symbols there - if (d.type && d.type.kind === 164 /* TypeQuery */) { + if (d.type && d.type.kind === 165 /* TypeQuery */) { var query = d.type; var entity = getResolvedSymbol(getFirstIdentifier(query.exprName)); visitSymbol(entity); } }); + return false; } } } @@ -25321,7 +25413,7 @@ var ts; ts.trace = trace; /* @internal */ function isTraceEnabled(compilerOptions, host) { - return compilerOptions.traceResolution && host.trace !== undefined; + return !!compilerOptions.traceResolution && host.trace !== undefined; } ts.isTraceEnabled = isTraceEnabled; function withPackageId(packageId, r) { @@ -25501,7 +25593,6 @@ var ts; } } function secondaryLookup() { - var resolvedFile; var initialLocationForSecondaryLookup = containingFile && ts.getDirectoryPath(containingFile); if (initialLocationForSecondaryLookup !== undefined) { // check secondary locations @@ -25509,7 +25600,7 @@ var ts; trace(host, ts.Diagnostics.Looking_up_in_node_modules_folder_initial_location_0, initialLocationForSecondaryLookup); } var result = loadModuleFromNodeModules(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, failedLookupLocations, moduleResolutionState, /*cache*/ undefined); - resolvedFile = resolvedTypeScriptOnly(result && result.value); + var resolvedFile = resolvedTypeScriptOnly(result && result.value); if (!resolvedFile && traceEnabled) { trace(host, ts.Diagnostics.Type_reference_directive_0_was_not_resolved, typeReferenceDirectiveName); } @@ -25582,7 +25673,7 @@ var ts; } function getOrCreateCacheForModuleName(nonRelativeModuleName) { if (ts.isExternalModuleNameRelative(nonRelativeModuleName)) { - return undefined; + return undefined; // TODO: GH#18217 } var perModuleNameCache = moduleNameToDirectoryMap.get(nonRelativeModuleName); if (!perModuleNameCache) { @@ -25694,7 +25785,7 @@ var ts; result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache); break; default: - ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); + return ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); } if (perFolderCache) { perFolderCache.set(moduleName, result); @@ -25947,7 +26038,7 @@ var ts; var originalPath = void 0; if (!compilerOptions.preserveSymlinks && resolvedValue) { originalPath = resolvedValue.path; - var path = realPath(resolved_1.value.path, host, traceEnabled); + var path = realPath(resolvedValue.path, host, traceEnabled); if (path === originalPath) { originalPath = undefined; } @@ -26066,7 +26157,7 @@ var ts; function loadModuleFromFile(extensions, candidate, failedLookupLocations, onlyRecordFailures, state) { if (extensions === Extensions.Json) { var extensionLess = ts.tryRemoveExtension(candidate, ".json" /* Json */); - return extensionLess && tryAddingExtensions(extensionLess, extensions, failedLookupLocations, onlyRecordFailures, state); + return extensionLess === undefined ? undefined : tryAddingExtensions(extensionLess, extensions, failedLookupLocations, onlyRecordFailures, state); } // First, try adding an extension. An import of "foo" could be matched by a file "foo.ts", or "foo.js" by "foo.js.ts" var resolvedByAddingExtension = tryAddingExtensions(candidate, extensions, failedLookupLocations, onlyRecordFailures, state); @@ -26105,7 +26196,7 @@ var ts; } function tryExtension(ext) { var path = tryFile(candidate + ext, failedLookupLocations, onlyRecordFailures, state); - return path && { path: path, ext: ext }; + return path === undefined ? undefined : { path: path, ext: ext }; } } /** Return the file if it exists. */ @@ -26525,11 +26616,12 @@ var ts; getGlobalDiagnostics: getGlobalDiagnostics, getTypeOfSymbolAtLocation: function (symbol, location) { location = ts.getParseTreeNode(location); - return location ? getTypeOfSymbolAtLocation(symbol, location) : unknownType; + return location ? getTypeOfSymbolAtLocation(symbol, location) : errorType; }, - getSymbolsOfParameterPropertyDeclaration: function (parameter, parameterName) { - parameter = ts.getParseTreeNode(parameter, ts.isParameter); - ts.Debug.assert(parameter !== undefined, "Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."); + getSymbolsOfParameterPropertyDeclaration: function (parameterIn, parameterName) { + var parameter = ts.getParseTreeNode(parameterIn, ts.isParameter); + if (parameter === undefined) + return ts.Debug.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."); return getSymbolsOfParameterPropertyDeclaration(parameter, ts.escapeLeadingUnderscores(parameterName)); }, getDeclaredTypeOfSymbol: getDeclaredTypeOfSymbol, @@ -26541,9 +26633,9 @@ var ts; getBaseTypes: getBaseTypes, getBaseTypeOfLiteralType: getBaseTypeOfLiteralType, getWidenedType: getWidenedType, - getTypeFromTypeNode: function (node) { - node = ts.getParseTreeNode(node, ts.isTypeNode); - return node ? getTypeFromTypeNode(node) : unknownType; + getTypeFromTypeNode: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isTypeNode); + return node ? getTypeFromTypeNode(node) : errorType; }, getParameterType: getTypeAtPosition, getReturnTypeOfSignature: getReturnTypeOfSignature, @@ -26569,8 +26661,8 @@ var ts; node = ts.getParseTreeNode(node); return node ? getShorthandAssignmentValueSymbol(node) : undefined; }, - getExportSpecifierLocalTargetSymbol: function (node) { - node = ts.getParseTreeNode(node, ts.isExportSpecifier); + getExportSpecifierLocalTargetSymbol: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isExportSpecifier); return node ? getExportSpecifierLocalTargetSymbol(node) : undefined; }, getExportSymbolOfSymbol: function (symbol) { @@ -26578,10 +26670,10 @@ var ts; }, getTypeAtLocation: function (node) { node = ts.getParseTreeNode(node); - return node ? getTypeOfNode(node) : unknownType; + return node ? getTypeOfNode(node) : errorType; }, - getPropertySymbolOfDestructuringAssignment: function (location) { - location = ts.getParseTreeNode(location, ts.isIdentifier); + getPropertySymbolOfDestructuringAssignment: function (locationIn) { + var location = ts.getParseTreeNode(locationIn, ts.isIdentifier); return location ? getPropertySymbolOfDestructuringAssignment(location) : undefined; }, signatureToString: function (signature, enclosingDeclaration, flags, kind) { @@ -26611,41 +26703,41 @@ var ts; getSymbolDisplayBuilder: getSymbolDisplayBuilder, getAugmentedPropertiesOfType: getAugmentedPropertiesOfType, getRootSymbols: getRootSymbols, - getContextualType: function (node) { - node = ts.getParseTreeNode(node, ts.isExpression); + getContextualType: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isExpression); return node ? getContextualType(node) : undefined; }, - getContextualTypeForArgumentAtIndex: function (node, argIndex) { - node = ts.getParseTreeNode(node, ts.isCallLikeExpression); + getContextualTypeForArgumentAtIndex: function (nodeIn, argIndex) { + var node = ts.getParseTreeNode(nodeIn, ts.isCallLikeExpression); return node && getContextualTypeForArgumentAtIndex(node, argIndex); }, - getContextualTypeForJsxAttribute: function (node) { - node = ts.getParseTreeNode(node, ts.isJsxAttributeLike); + getContextualTypeForJsxAttribute: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isJsxAttributeLike); return node && getContextualTypeForJsxAttribute(node); }, isContextSensitive: isContextSensitive, getFullyQualifiedName: getFullyQualifiedName, - getResolvedSignature: function (node, candidatesOutArray, theArgumentCount) { - node = ts.getParseTreeNode(node, ts.isCallLikeExpression); + getResolvedSignature: function (nodeIn, candidatesOutArray, theArgumentCount) { + var node = ts.getParseTreeNode(nodeIn, ts.isCallLikeExpression); apparentArgumentCount = theArgumentCount; var res = node ? getResolvedSignature(node, candidatesOutArray) : undefined; apparentArgumentCount = undefined; return res; }, - getConstantValue: function (node) { - node = ts.getParseTreeNode(node, canHaveConstantValue); + getConstantValue: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue(node) : undefined; }, - isValidPropertyAccess: function (node, propertyName) { - node = ts.getParseTreeNode(node, ts.isPropertyAccessOrQualifiedNameOrImportTypeNode); + isValidPropertyAccess: function (nodeIn, propertyName) { + var node = ts.getParseTreeNode(nodeIn, ts.isPropertyAccessOrQualifiedNameOrImportTypeNode); return !!node && isValidPropertyAccess(node, ts.escapeLeadingUnderscores(propertyName)); }, - isValidPropertyAccessForCompletions: function (node, type, property) { - node = ts.getParseTreeNode(node, ts.isPropertyAccessExpression); + isValidPropertyAccessForCompletions: function (nodeIn, type, property) { + var node = ts.getParseTreeNode(nodeIn, ts.isPropertyAccessExpression); return !!node && isValidPropertyAccessForCompletions(node, type, property); }, - getSignatureFromDeclaration: function (declaration) { - declaration = ts.getParseTreeNode(declaration, ts.isFunctionLike); + getSignatureFromDeclaration: function (declarationIn) { + var declaration = ts.getParseTreeNode(declarationIn, ts.isFunctionLike); return declaration ? getSignatureFromDeclaration(declaration) : undefined; }, isImplementationOfOverload: function (node) { @@ -26657,7 +26749,8 @@ var ts; var links = getSymbolLinks(symbol); if (!links.immediateTarget) { var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); + if (!node) + return ts.Debug.fail(); links.immediateTarget = getTargetOfAliasDeclaration(node, /*dontRecursivelyResolve*/ true); } return links.immediateTarget; @@ -26668,13 +26761,13 @@ var ts; getExportsAndPropertiesOfModule: getExportsAndPropertiesOfModule, getSymbolWalker: ts.createGetSymbolWalker(getRestTypeOfSignature, getTypePredicateOfSignature, getReturnTypeOfSignature, getBaseTypes, resolveStructuredTypeMembers, getTypeOfSymbol, getResolvedSymbol, getIndexTypeOfStructuredType, getConstraintFromTypeParameter, getFirstIdentifier), getAmbientModules: getAmbientModules, - getAllAttributesTypeFromJsxOpeningLikeElement: function (node) { - node = ts.getParseTreeNode(node, ts.isJsxOpeningLikeElement); + getAllAttributesTypeFromJsxOpeningLikeElement: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isJsxOpeningLikeElement); return node ? getAllAttributesTypeFromJsxOpeningLikeElement(node) : undefined; }, getJsxIntrinsicTagNamesAt: getJsxIntrinsicTagNamesAt, - isOptionalParameter: function (node) { - node = ts.getParseTreeNode(node, ts.isParameter); + isOptionalParameter: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isParameter); return node ? isOptionalParameter(node) : false; }, tryGetMemberInModuleExports: function (name, symbol) { return tryGetMemberInModuleExports(ts.escapeLeadingUnderscores(name), symbol); }, @@ -26708,7 +26801,7 @@ var ts; getSuggestionForNonexistentSymbol: function (location, name, meaning) { return getSuggestionForNonexistentSymbol(location, ts.escapeLeadingUnderscores(name), meaning); }, getSuggestionForNonexistentModule: function (node, target) { return getSuggestionForNonexistentModule(node, target); }, getBaseConstraintOfType: getBaseConstraintOfType, - getDefaultFromTypeParameter: function (type) { return type && type.flags & 32768 /* TypeParameter */ ? getDefaultFromTypeParameter(type) : undefined; }, + getDefaultFromTypeParameter: function (type) { return type && type.flags & 65536 /* TypeParameter */ ? getDefaultFromTypeParameter(type) : undefined; }, resolveName: function (name, location, meaning, excludeGlobals) { return resolveName(location, ts.escapeLeadingUnderscores(name), meaning, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false, excludeGlobals); }, @@ -26720,24 +26813,35 @@ var ts; node = ts.getParseTreeNode(node); return node && tryGetThisTypeAt(node); }, - getTypeArgumentConstraint: function (node) { - node = ts.getParseTreeNode(node, ts.isTypeNode); + getTypeArgumentConstraint: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isTypeNode); return node && getTypeArgumentConstraint(node); }, - getSuggestionDiagnostics: function (file) { - return (suggestionDiagnostics.get(file.fileName) || ts.emptyArray).concat(getUnusedDiagnostics()); - function getUnusedDiagnostics() { - if (file.isDeclarationFile) - return ts.emptyArray; + getSuggestionDiagnostics: function (file, ct) { + var diagnostics; + try { + // Record the cancellation token so it can be checked later on during checkSourceElement. + // Do this in a finally block so we can ensure that it gets reset back to nothing after + // this call is done. + cancellationToken = ct; + // Ensure file is type checked checkSourceFile(file); - var diagnostics = []; ts.Debug.assert(!!(getNodeLinks(file).flags & 1 /* TypeChecked */)); + diagnostics = ts.addRange(diagnostics, suggestionDiagnostics.get(file.fileName)); + if (!file.isDeclarationFile && (!unusedIsError(0 /* Local */) || !unusedIsError(1 /* Parameter */))) { + addUnusedDiagnostics(); + } + return diagnostics || ts.emptyArray; + } + finally { + cancellationToken = undefined; + } + function addUnusedDiagnostics() { checkUnusedIdentifiers(getPotentiallyUnusedIdentifiers(file), function (kind, diag) { if (!unusedIsError(kind)) { - diagnostics.push(__assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); + (diagnostics || (diagnostics = [])).push(__assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); } }); - return diagnostics; } }, runWithCancellationToken: function (token, callback) { @@ -26762,22 +26866,23 @@ var ts; var anyType = createIntrinsicType(1 /* Any */, "any"); var autoType = createIntrinsicType(1 /* Any */, "any"); var wildcardType = createIntrinsicType(1 /* Any */, "any"); - var unknownType = createIntrinsicType(1 /* Any */, "unknown"); - var undefinedType = createIntrinsicType(4096 /* Undefined */, "undefined"); - var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(4096 /* Undefined */ | 16777216 /* ContainsWideningType */, "undefined"); - var nullType = createIntrinsicType(8192 /* Null */, "null"); - var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(8192 /* Null */ | 16777216 /* ContainsWideningType */, "null"); - var stringType = createIntrinsicType(2 /* String */, "string"); - var numberType = createIntrinsicType(4 /* Number */, "number"); - var trueType = createIntrinsicType(128 /* BooleanLiteral */, "true"); - var falseType = createIntrinsicType(128 /* BooleanLiteral */, "false"); + var errorType = createIntrinsicType(1 /* Any */, "error"); + var unknownType = createIntrinsicType(2 /* Unknown */, "unknown"); + var undefinedType = createIntrinsicType(8192 /* Undefined */, "undefined"); + var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(8192 /* Undefined */ | 134217728 /* ContainsWideningType */, "undefined"); + var nullType = createIntrinsicType(16384 /* Null */, "null"); + var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(16384 /* Null */ | 134217728 /* ContainsWideningType */, "null"); + var stringType = createIntrinsicType(4 /* String */, "string"); + var numberType = createIntrinsicType(8 /* Number */, "number"); + var trueType = createIntrinsicType(256 /* BooleanLiteral */, "true"); + var falseType = createIntrinsicType(256 /* BooleanLiteral */, "false"); var booleanType = createBooleanType([trueType, falseType]); - var esSymbolType = createIntrinsicType(512 /* ESSymbol */, "symbol"); - var voidType = createIntrinsicType(2048 /* Void */, "void"); - var neverType = createIntrinsicType(16384 /* Never */, "never"); - var silentNeverType = createIntrinsicType(16384 /* Never */, "never"); - var implicitNeverType = createIntrinsicType(16384 /* Never */, "never"); - var nonPrimitiveType = createIntrinsicType(134217728 /* NonPrimitive */, "object"); + var esSymbolType = createIntrinsicType(1024 /* ESSymbol */, "symbol"); + var voidType = createIntrinsicType(4096 /* Void */, "void"); + var neverType = createIntrinsicType(32768 /* Never */, "never"); + var silentNeverType = createIntrinsicType(32768 /* Never */, "never"); + var implicitNeverType = createIntrinsicType(32768 /* Never */, "never"); + var nonPrimitiveType = createIntrinsicType(16777216 /* NonPrimitive */, "object"); var stringNumberSymbolType = getUnionType([stringType, numberType, esSymbolType]); var keyofConstraintType = keyofStringsOnly ? stringType : stringNumberSymbolType; var emptyObjectType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); @@ -26789,17 +26894,17 @@ var ts; var anyFunctionType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); // The anyFunctionType contains the anyFunctionType by definition. The flag is further propagated // in getPropagatingFlagsOfTypes, and it is checked in inferFromTypes. - anyFunctionType.flags |= 67108864 /* ContainsAnyFunctionType */; + anyFunctionType.flags |= 536870912 /* ContainsAnyFunctionType */; var noConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); var circularConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); var resolvingDefaultType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); - var markerSuperType = createType(32768 /* TypeParameter */); - var markerSubType = createType(32768 /* TypeParameter */); + var markerSuperType = createType(65536 /* TypeParameter */); + var markerSubType = createType(65536 /* TypeParameter */); markerSubType.constraint = markerSuperType; - var markerOtherType = createType(32768 /* TypeParameter */); + var markerOtherType = createType(65536 /* TypeParameter */); var noTypePredicate = createIdentifierTypePredicate("<>", 0, anyType); var anySignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); - var unknownSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, unknownType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); + var unknownSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, errorType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); var resolvingSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); var silentNeverSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, silentNeverType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); var resolvingSignaturesArray = [resolvingSignature]; @@ -27028,6 +27133,7 @@ var ts; typeToString(type, enclosingDeclaration, flags, emitTextWriterWrapper(writer)); }, buildSymbolDisplay: function (symbol, writer, enclosingDeclaration, meaning, flags) { + if (flags === void 0) { flags = 0 /* None */; } symbolToString(symbol, enclosingDeclaration, meaning, flags | 4 /* AllowAnyNodeKind */, emitTextWriterWrapper(writer)); }, buildSignatureDisplay: function (signature, writer, enclosing, flags, kind) { @@ -27041,12 +27147,12 @@ var ts; buildParameterDisplay: function (symbol, writer, enclosing, flags) { var node = nodeBuilder.symbolToParameterDeclaration(symbol, enclosing, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */, writer); var printer = ts.createPrinter({ removeComments: true }); - printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); + printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217 }, buildTypeParameterDisplay: function (tp, writer, enclosing, flags) { var node = nodeBuilder.typeParameterToDeclaration(tp, enclosing, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */ | 8192 /* OmitParameterModifiers */, writer); var printer = ts.createPrinter({ removeComments: true }); - printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); + printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217 }, buildTypePredicateDisplay: function (predicate, writer, enclosing, flags) { typePredicateToString(predicate, enclosing, flags, emitTextWriterWrapper(writer)); @@ -27059,13 +27165,13 @@ var ts; buildDisplayForParametersAndDelimiters: function (thisParameter, parameters, writer, enclosing, originalFlags) { var printer = ts.createPrinter({ removeComments: true }); var flags = 8192 /* OmitParameterModifiers */ | 3112960 /* IgnoreErrors */ | toNodeBuilderFlags(originalFlags); - var thisParameterArray = thisParameter ? [nodeBuilder.symbolToParameterDeclaration(thisParameter, enclosing, flags)] : []; - var params = ts.createNodeArray(thisParameterArray.concat(ts.map(parameters, function (param) { return nodeBuilder.symbolToParameterDeclaration(param, enclosing, flags); }))); + var thisParameterArray = thisParameter ? [nodeBuilder.symbolToParameterDeclaration(thisParameter, enclosing, flags)] : []; // TODO: GH#18217 + var params = ts.createNodeArray(thisParameterArray.concat(ts.map(parameters, function (param) { return nodeBuilder.symbolToParameterDeclaration(param, enclosing, flags); }))); // TODO: GH#18217 printer.writeList(1296 /* CallExpressionArguments */, params, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); }, buildDisplayForTypeParametersAndDelimiters: function (typeParameters, writer, enclosing, flags) { var printer = ts.createPrinter({ removeComments: true }); - var args = ts.createNodeArray(ts.map(typeParameters, function (p) { return nodeBuilder.typeParameterToDeclaration(p, enclosing, toNodeBuilderFlags(flags)); })); + var args = ts.createNodeArray(ts.map(typeParameters, function (p) { return nodeBuilder.typeParameterToDeclaration(p, enclosing, toNodeBuilderFlags(flags)); })); // TODO: GH#18217 printer.writeList(26896 /* TypeParameters */, args, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); }, buildReturnTypeDisplay: function (signature, writer, enclosing, flags) { @@ -27077,7 +27183,7 @@ var ts; } var node = nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosing, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */, writer); var printer = ts.createPrinter({ removeComments: true }); - printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); + printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217 } }; function emitTextWriterWrapper(underlying) { @@ -27164,7 +27270,7 @@ var ts; } var jsxPragma = file_1.pragmas.get("jsx"); if (jsxPragma) { - var chosenpragma = ts.isArray(jsxPragma) ? jsxPragma[0] : jsxPragma; + var chosenpragma = ts.isArray(jsxPragma) ? jsxPragma[0] : jsxPragma; // TODO: GH#18217 file_1.localJsxFactory = ts.parseIsolatedEntityName(chosenpragma.arguments.factory, languageVersion); if (file_1.localJsxFactory) { return file_1.localJsxNamespace = getFirstIdentifier(file_1.localJsxFactory).escapedText; @@ -27276,11 +27382,17 @@ var ts; recordMergedSymbol(result, symbol); return result; } + /** + * Note: if target is transient, then it is mutable, and mergeSymbol with both mutate and return it. + * If target is not transient, mergeSymbol will produce a transient clone, mutate that and return it. + */ function mergeSymbol(target, source) { if (!(target.flags & getExcludedSymbolFlags(source.flags)) || (source.flags | target.flags) & 67108864 /* JSContainer */) { - var targetValueDeclaration = target.valueDeclaration; - ts.Debug.assert(!!(target.flags & 33554432 /* Transient */)); + ts.Debug.assert(source !== target); + if (!(target.flags & 33554432 /* Transient */)) { + target = cloneSymbol(target); + } // Javascript static-property-assignment declarations always merge, even though they are also values if (source.flags & 512 /* ValueModule */ && target.flags & 512 /* ValueModule */ && target.constEnumOnlyModule && !source.constEnumOnlyModule) { // reset flag when merging instantiated module into value module that has only const enums @@ -27289,7 +27401,7 @@ var ts; target.flags |= source.flags; if (source.valueDeclaration && (!target.valueDeclaration || - (target.valueDeclaration.kind === 238 /* ModuleDeclaration */ && source.valueDeclaration.kind !== 238 /* ModuleDeclaration */))) { + (target.valueDeclaration.kind === 239 /* ModuleDeclaration */ && source.valueDeclaration.kind !== 239 /* ModuleDeclaration */))) { // other kinds of value declarations take precedence over modules target.valueDeclaration = source.valueDeclaration; } @@ -27304,18 +27416,6 @@ var ts; target.exports = ts.createSymbolTable(); mergeSymbolTable(target.exports, source.exports); } - if ((source.flags | target.flags) & 67108864 /* JSContainer */) { - var sourceInitializer = ts.getJSInitializerSymbol(source); - var init = ts.getDeclaredJavascriptInitializer(targetValueDeclaration) || ts.getAssignedJavascriptInitializer(targetValueDeclaration); - var targetInitializer = init && init.symbol ? init.symbol : target; - if (!(targetInitializer.flags & 33554432 /* Transient */)) { - var mergedInitializer = getMergedSymbol(targetInitializer); - targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; - } - if (sourceInitializer !== source || targetInitializer !== target) { - mergeSymbol(targetInitializer, sourceInitializer); - } - } recordMergedSymbol(target, source); } else if (target.flags & 1024 /* NamespaceModule */) { @@ -27336,11 +27436,12 @@ var ts; error(errorNode, message_2, symbolToString(source)); }); } + return target; } function combineSymbolTables(first, second) { - if (!first || first.size === 0) + if (!ts.hasEntries(first)) return second; - if (!second || second.size === 0) + if (!ts.hasEntries(second)) return first; var combined = ts.createSymbolTable(); mergeSymbolTable(combined, first); @@ -27349,17 +27450,7 @@ var ts; } function mergeSymbolTable(target, source) { source.forEach(function (sourceSymbol, id) { - var targetSymbol = target.get(id); - if (!targetSymbol) { - target.set(id, sourceSymbol); - } - else { - if (!(targetSymbol.flags & 33554432 /* Transient */)) { - targetSymbol = cloneSymbol(targetSymbol); - target.set(id, targetSymbol); - } - mergeSymbol(targetSymbol, sourceSymbol); - } + target.set(id, target.has(id) ? mergeSymbol(target.get(id), sourceSymbol) : sourceSymbol); }); } function mergeModuleAugmentation(moduleName) { @@ -27387,10 +27478,7 @@ var ts; // obtain item referenced by 'export=' mainModule = resolveExternalModuleSymbol(mainModule); if (mainModule.flags & 1920 /* Namespace */) { - // if module symbol has already been merged - it is safe to use it. - // otherwise clone it - mainModule = mainModule.flags & 33554432 /* Transient */ ? mainModule : cloneSymbol(mainModule); - mergeSymbol(mainModule, moduleAugmentation.symbol); + mainModule = mergeSymbol(mainModule, moduleAugmentation.symbol); } else { // moduleName will be a StringLiteral since this is not `declare global`. @@ -27424,7 +27512,7 @@ var ts; return nodeLinks[nodeId] || (nodeLinks[nodeId] = { flags: 0 }); } function isGlobalSourceFile(node) { - return node.kind === 273 /* SourceFile */ && !ts.isExternalOrCommonJsModule(node); + return node.kind === 274 /* SourceFile */ && !ts.isExternalOrCommonJsModule(node); } function getSymbol(symbols, name, meaning) { if (meaning) { @@ -27459,7 +27547,7 @@ var ts; if (parameterSymbol && propertySymbol) { return [parameterSymbol, propertySymbol]; } - ts.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration"); + return ts.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration"); } function isBlockScopedNameDeclaredBeforeUse(declaration, usage) { var declarationFile = ts.getSourceFileOfNode(declaration); @@ -27482,17 +27570,17 @@ var ts; } if (declaration.pos <= usage.pos) { // declaration is before usage - if (declaration.kind === 181 /* BindingElement */) { + if (declaration.kind === 182 /* BindingElement */) { // still might be illegal if declaration and usage are both binding elements (eg var [a = b, b = b] = [1, 2]) - var errorBindingElement = ts.getAncestor(usage, 181 /* BindingElement */); + var errorBindingElement = ts.getAncestor(usage, 182 /* BindingElement */); if (errorBindingElement) { return ts.findAncestor(errorBindingElement, ts.isBindingElement) !== ts.findAncestor(declaration, ts.isBindingElement) || declaration.pos < errorBindingElement.pos; } // or it might be illegal if usage happens before parent variable is declared (eg var [a] = a) - return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 231 /* VariableDeclaration */), usage); + return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 232 /* VariableDeclaration */), usage); } - else if (declaration.kind === 231 /* VariableDeclaration */) { + else if (declaration.kind === 232 /* VariableDeclaration */) { // still might be illegal if usage is in the initializer of the variable declaration (eg var a = a) return !isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage); } @@ -27510,12 +27598,12 @@ var ts; // 5. inside a TS export= declaration (since we will move the export statement during emit to avoid TDZ) // or if usage is in a type context: // 1. inside a type query (typeof in type position) - if (usage.parent.kind === 251 /* ExportSpecifier */ || (usage.parent.kind === 248 /* ExportAssignment */ && usage.parent.isExportEquals)) { + if (usage.parent.kind === 252 /* ExportSpecifier */ || (usage.parent.kind === 249 /* ExportAssignment */ && usage.parent.isExportEquals)) { // export specifiers do not use the variable, they only make it available for use return true; } // When resolving symbols for exports, the `usage` location passed in can be the export site directly - if (usage.kind === 248 /* ExportAssignment */ && usage.isExportEquals) { + if (usage.kind === 249 /* ExportAssignment */ && usage.isExportEquals) { return true; } var container = ts.getEnclosingBlockScopeContainer(declaration); @@ -27523,9 +27611,9 @@ var ts; function isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage) { var container = ts.getEnclosingBlockScopeContainer(declaration); switch (declaration.parent.parent.kind) { - case 213 /* VariableStatement */: - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: + case 214 /* VariableStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: // variable statement/for/for-of statement case, // use site should not be inside variable declaration (initializer of declaration or binding element) if (isSameScopeDescendentOf(usage, declaration, container)) { @@ -27534,7 +27622,8 @@ var ts; break; } // ForIn/ForOf case - use site should not be used in expression part - return ts.isForInOrOfStatement(declaration.parent.parent) && isSameScopeDescendentOf(usage, declaration.parent.parent.expression, container); + var grandparent = declaration.parent.parent; + return ts.isForInOrOfStatement(grandparent) && isSameScopeDescendentOf(usage, grandparent.expression, container); } function isUsedInFunctionOrInstanceProperty(usage, declaration, container) { return !!ts.findAncestor(usage, function (current) { @@ -27545,21 +27634,22 @@ var ts; return true; } var initializerOfProperty = current.parent && - current.parent.kind === 151 /* PropertyDeclaration */ && + current.parent.kind === 152 /* PropertyDeclaration */ && current.parent.initializer === current; if (initializerOfProperty) { if (ts.hasModifier(current.parent, 32 /* Static */)) { - if (declaration.kind === 153 /* MethodDeclaration */) { + if (declaration.kind === 154 /* MethodDeclaration */) { return true; } } else { - var isDeclarationInstanceProperty = declaration.kind === 151 /* PropertyDeclaration */ && !ts.hasModifier(declaration, 32 /* Static */); + var isDeclarationInstanceProperty = declaration.kind === 152 /* PropertyDeclaration */ && !ts.hasModifier(declaration, 32 /* Static */); if (!isDeclarationInstanceProperty || ts.getContainingClass(usage) !== ts.getContainingClass(declaration)) { return true; } } } + return false; }); } } @@ -27595,12 +27685,12 @@ var ts; // - parameters are only in the scope of function body // This restriction does not apply to JSDoc comment types because they are parented // at a higher level than type parameters would normally be - if (meaning & result.flags & 67901928 /* Type */ && lastLocation.kind !== 285 /* JSDocComment */) { + if (meaning & result.flags & 67901928 /* Type */ && lastLocation.kind !== 286 /* JSDocComment */) { useResult = result.flags & 262144 /* TypeParameter */ // type parameters are visible in parameter list, return type and type parameter list ? lastLocation === location.type || - lastLocation.kind === 148 /* Parameter */ || - lastLocation.kind === 147 /* TypeParameter */ + lastLocation.kind === 149 /* Parameter */ || + lastLocation.kind === 148 /* TypeParameter */ // local types not visible outside the function body : false; } @@ -27610,12 +27700,12 @@ var ts; // however it is detected separately when checking initializers of parameters // to make sure that they reference no variables declared after them. useResult = - lastLocation.kind === 148 /* Parameter */ || + lastLocation.kind === 149 /* Parameter */ || (lastLocation === location.type && !!ts.findAncestor(result.valueDeclaration, ts.isParameter)); } } - else if (location.kind === 170 /* ConditionalType */) { + else if (location.kind === 171 /* ConditionalType */) { // A type parameter declared using 'infer T' in a conditional type is visible only in // the true branch of the conditional type. useResult = lastLocation === location.trueType; @@ -27629,14 +27719,14 @@ var ts; } } switch (location.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (!ts.isExternalOrCommonJsModule(location)) break; isInExternalModule = true; // falls through - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: var moduleExports = getSymbolOfNode(location).exports; - if (location.kind === 273 /* SourceFile */ || ts.isAmbientModule(location)) { + if (location.kind === 274 /* SourceFile */ || ts.isAmbientModule(location)) { // It's an external module. First see if the module has an export default and if the local // name of that export default matches. if (result = moduleExports.get("default" /* Default */)) { @@ -27660,21 +27750,27 @@ var ts; var moduleExport = moduleExports.get(name); if (moduleExport && moduleExport.flags === 2097152 /* Alias */ && - ts.getDeclarationOfKind(moduleExport, 251 /* ExportSpecifier */)) { + ts.getDeclarationOfKind(moduleExport, 252 /* ExportSpecifier */)) { break; } } + // ES6 exports are also visible locally (except for 'default'), but commonjs exports are not (except typedefs) if (name !== "default" /* Default */ && (result = lookup(moduleExports, name, meaning & 2623475 /* ModuleMember */))) { - break loop; + if (ts.isSourceFile(location) && location.commonJsModuleIndicator && !result.declarations.some(ts.isJSDocTypeAlias)) { + result = undefined; + } + else { + break loop; + } } break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: if (result = lookup(getSymbolOfNode(location).exports, name, meaning & 8 /* EnumMember */)) { break loop; } break; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: // TypeScript 1.0 spec (April 2014): 8.4.1 // Initializer expressions for instance member variables are evaluated in the scope // of the class constructor body but are not permitted to reference parameters or @@ -27691,9 +27787,9 @@ var ts; } } break; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: if (result = lookup(getMembersOfSymbol(getSymbolOfNode(location)), name, meaning & 67901928 /* Type */)) { if (!isTypeParameterSymbolDeclaredInContainer(result, location)) { // ignore type parameters not declared in this container @@ -27709,7 +27805,7 @@ var ts; } break loop; } - if (location.kind === 204 /* ClassExpression */ && meaning & 32 /* Class */) { + if (location.kind === 205 /* ClassExpression */ && meaning & 32 /* Class */) { var className = location.name; if (className && name === className.escapedText) { result = location.symbol; @@ -27717,7 +27813,7 @@ var ts; } } break; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: // The type parameters of a class are not in scope in the base class expression. if (lastLocation === location.expression && location.parent.token === 85 /* ExtendsKeyword */) { var container = location.parent.parent; @@ -27737,9 +27833,9 @@ var ts; // [foo()]() { } // <-- Reference to T from class's own computed property // } // - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: grandparent = location.parent.parent; - if (ts.isClassLike(grandparent) || grandparent.kind === 235 /* InterfaceDeclaration */) { + if (ts.isClassLike(grandparent) || grandparent.kind === 236 /* InterfaceDeclaration */) { // A reference to this grandparent's type parameters would be an error if (result = lookup(getSymbolOfNode(grandparent).members, name, meaning & 67901928 /* Type */)) { error(errorLocation, ts.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type); @@ -27747,19 +27843,19 @@ var ts; } } break; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: if (meaning & 3 /* Variable */ && name === "arguments") { result = argumentsSymbol; break loop; } break; - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: if (meaning & 3 /* Variable */ && name === "arguments") { result = argumentsSymbol; break loop; @@ -27772,7 +27868,7 @@ var ts; } } break; - case 149 /* Decorator */: + case 150 /* Decorator */: // Decorators are resolved at the class declaration. Resolving at the parameter // or member would result in looking up locals in the method. // @@ -27781,7 +27877,7 @@ var ts; // method(@y x, y) {} // <-- decorator y should be resolved at the class declaration, not the parameter. // } // - if (location.parent && location.parent.kind === 148 /* Parameter */) { + if (location.parent && location.parent.kind === 149 /* Parameter */) { location = location.parent; } // @@ -27794,12 +27890,11 @@ var ts; location = location.parent; } break; - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: // js type aliases do not resolve names from their host, so skip past it - lastLocation = location; - location = ts.getJSDocHost(location).parent; - continue; + location = ts.getJSDocHost(location); + break; } if (isSelfReferenceLocation(location)) { lastSelfReferenceLocation = location; @@ -27815,7 +27910,7 @@ var ts; } if (!result) { if (lastLocation) { - ts.Debug.assert(lastLocation.kind === 273 /* SourceFile */); + ts.Debug.assert(lastLocation.kind === 274 /* SourceFile */); if (lastLocation.commonJsModuleIndicator && name === "exports") { return lastLocation.symbol; } @@ -27838,7 +27933,7 @@ var ts; if (!result) { if (nameNotFoundMessage) { if (!errorLocation || - !checkAndReportErrorForMissingPrefix(errorLocation, name, nameArg) && + !checkAndReportErrorForMissingPrefix(errorLocation, name, nameArg) && // TODO: GH#18217 !checkAndReportErrorForExtendingInterface(errorLocation) && !checkAndReportErrorForUsingTypeAsNamespace(errorLocation, name, meaning) && !checkAndReportErrorForUsingTypeAsValue(errorLocation, name, meaning) && @@ -27889,8 +27984,8 @@ var ts; // If we're in an external module, we can't reference value symbols created from UMD export declarations if (result && isInExternalModule && (meaning & 67216319 /* Value */) === 67216319 /* Value */ && !(originalLocation.flags & 2097152 /* JSDoc */)) { var decls = result.declarations; - if (decls && decls.length === 1 && decls[0].kind === 241 /* NamespaceExportDeclaration */) { - error(errorLocation, ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, ts.unescapeLeadingUnderscores(name)); + if (decls && decls.length === 1 && decls[0].kind === 242 /* NamespaceExportDeclaration */) { + error(errorLocation, ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, ts.unescapeLeadingUnderscores(name)); // TODO: GH#18217 } } } @@ -27898,12 +27993,12 @@ var ts; } function isSelfReferenceLocation(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 238 /* ModuleDeclaration */: // For `namespace N { N; }` + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 239 /* ModuleDeclaration */: // For `namespace N { N; }` return true; default: return false; @@ -27915,10 +28010,10 @@ var ts; function isTypeParameterSymbolDeclaredInContainer(symbol, container) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - if (decl.kind === 147 /* TypeParameter */) { + if (decl.kind === 148 /* TypeParameter */) { var parent = ts.isJSDocTemplateTag(decl.parent) ? ts.getJSDocHost(decl.parent) : decl.parent; if (parent === container) { - return !(ts.isJSDocTemplateTag(decl.parent) && ts.find(decl.parent.parent.tags, ts.isJSDocTypeAlias)); + return !(ts.isJSDocTemplateTag(decl.parent) && ts.find(decl.parent.parent.tags, ts.isJSDocTypeAlias)); // TODO: GH#18217 } } } @@ -27945,7 +28040,7 @@ var ts; // No static member is present. // Check if we're in an instance method and look for a relevant instance member. if (location === container && !ts.hasModifier(location, 32 /* Static */)) { - var instanceType = getDeclaredTypeOfSymbol(classSymbol).thisType; + var instanceType = getDeclaredTypeOfSymbol(classSymbol).thisType; // TODO: GH#18217 if (getPropertyOfType(instanceType, name)) { error(errorLocation, ts.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0, diagnosticName(nameArg)); return true; @@ -27958,11 +28053,11 @@ var ts; } function checkAndReportErrorForExtendingInterface(errorLocation) { var expression = getEntityNameForExtendingInterface(errorLocation); - var isError = !!(expression && resolveEntityName(expression, 64 /* Interface */, /*ignoreErrors*/ true)); - if (isError) { + if (expression && resolveEntityName(expression, 64 /* Interface */, /*ignoreErrors*/ true)) { error(errorLocation, ts.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements, ts.getTextOfNode(expression)); + return true; } - return isError; + return false; } /** * Climbs up parents to an ExpressionWithTypeArguments, and returns its expression, @@ -27971,9 +28066,9 @@ var ts; function getEntityNameForExtendingInterface(node) { switch (node.kind) { case 71 /* Identifier */: - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return node.parent ? getEntityNameForExtendingInterface(node.parent) : undefined; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: if (ts.isEntityNameExpression(node.expression)) { return node.expression; } @@ -28037,8 +28132,9 @@ var ts; function checkResolvedBlockScopedVariable(result, errorLocation) { ts.Debug.assert(!!(result.flags & 2 /* BlockScopedVariable */ || result.flags & 32 /* Class */ || result.flags & 384 /* Enum */)); // Block-scoped variables cannot be used before their definition - var declaration = ts.forEach(result.declarations, function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 237 /* EnumDeclaration */) ? d : undefined; }); - ts.Debug.assert(declaration !== undefined, "Declaration to checkResolvedBlockScopedVariable is undefined"); + var declaration = ts.forEach(result.declarations, function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 238 /* EnumDeclaration */) ? d : undefined; }); + if (declaration === undefined) + return ts.Debug.fail("Declaration to checkResolvedBlockScopedVariable is undefined"); if (!(declaration.flags & 4194304 /* Ambient */) && !isBlockScopedNameDeclaredBeforeUse(declaration, errorLocation)) { if (result.flags & 2 /* BlockScopedVariable */) { error(errorLocation, ts.Diagnostics.Block_scoped_variable_0_used_before_its_declaration, ts.declarationNameToString(ts.getNameOfDeclaration(declaration))); @@ -28056,17 +28152,17 @@ var ts; * Return false if 'stopAt' node is reached or isFunctionLike(current) === true. */ function isSameScopeDescendentOf(initial, parent, stopAt) { - return parent && !!ts.findAncestor(initial, function (n) { return n === stopAt || ts.isFunctionLike(n) ? "quit" : n === parent; }); + return !!parent && !!ts.findAncestor(initial, function (n) { return n === stopAt || ts.isFunctionLike(n) ? "quit" : n === parent; }); } function getAnyImportSyntax(node) { switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return node; - case 244 /* ImportClause */: + case 245 /* ImportClause */: return node.parent; - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return node.parent.parent; - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: return node.parent.parent.parent; default: return undefined; @@ -28076,7 +28172,7 @@ var ts; return ts.find(symbol.declarations, ts.isAliasSymbolDeclaration); } function getTargetOfImportEqualsDeclaration(node, dontResolveAlias) { - if (node.moduleReference.kind === 253 /* ExternalModuleReference */) { + if (node.moduleReference.kind === 254 /* ExternalModuleReference */) { return resolveExternalModuleSymbol(resolveExternalModuleName(node, ts.getExternalModuleImportEqualsDeclarationExpression(node))); } return getSymbolOfPartOfRightHandSideOfImportEquals(node.moduleReference, dontResolveAlias); @@ -28088,7 +28184,7 @@ var ts; : resolveSymbol(moduleSymbol.exports.get(name), dontResolveAlias); } function isSyntacticDefault(node) { - return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasModifier(node, 512 /* Default */)); + return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasModifier(node, 512 /* Default */) || ts.isExportSpecifier(node)); } function canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias) { if (!allowSyntheticDefaultImports) { @@ -28191,12 +28287,13 @@ var ts; if (symbol.flags & 3 /* Variable */) { var typeAnnotation = symbol.valueDeclaration.type; if (typeAnnotation) { - return resolveSymbol(getPropertyOfType(getTypeFromTypeNode(typeAnnotation), name)); + return resolveSymbol(getPropertyOfType(getTypeFromTypeNode(typeAnnotation), name)); // TODO: GH#18217 } } } function getExternalModuleMember(node, specifier, dontResolveAlias) { - var moduleSymbol = resolveExternalModuleName(node, node.moduleSpecifier); + if (dontResolveAlias === void 0) { dontResolveAlias = false; } + var moduleSymbol = resolveExternalModuleName(node, node.moduleSpecifier); // TODO: GH#18217 var targetSymbol = resolveESModuleSymbol(moduleSymbol, node.moduleSpecifier, dontResolveAlias); if (targetSymbol) { var name = specifier.propertyName || specifier.name; @@ -28261,22 +28358,25 @@ var ts; return getNodeLinks(expression).resolvedSymbol; } function getTargetOfAliasDeclaration(node, dontRecursivelyResolve) { + if (dontRecursivelyResolve === void 0) { dontRecursivelyResolve = false; } switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return getTargetOfImportEqualsDeclaration(node, dontRecursivelyResolve); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return getTargetOfImportClause(node, dontRecursivelyResolve); - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return getTargetOfNamespaceImport(node, dontRecursivelyResolve); - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: return getTargetOfImportSpecifier(node, dontRecursivelyResolve); - case 251 /* ExportSpecifier */: + case 252 /* ExportSpecifier */: return getTargetOfExportSpecifier(node, 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */, dontRecursivelyResolve); - case 248 /* ExportAssignment */: - case 199 /* BinaryExpression */: + case 249 /* ExportAssignment */: + case 200 /* BinaryExpression */: return getTargetOfExportAssignment(node, dontRecursivelyResolve); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return getTargetOfNamespaceExportDeclaration(node, dontRecursivelyResolve); + default: + return ts.Debug.fail(); } } /** @@ -28287,11 +28387,10 @@ var ts; if (excludes === void 0) { excludes = 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */; } if (!symbol) return false; - return (symbol.flags & (2097152 /* Alias */ | excludes)) === 2097152 /* Alias */ || (symbol.flags & 2097152 /* Alias */ && symbol.flags & 67108864 /* JSContainer */); + return (symbol.flags & (2097152 /* Alias */ | excludes)) === 2097152 /* Alias */ || !!(symbol.flags & 2097152 /* Alias */ && symbol.flags & 67108864 /* JSContainer */); } function resolveSymbol(symbol, dontResolveAlias) { - var shouldResolve = !dontResolveAlias && isNonLocalAlias(symbol); - return shouldResolve ? resolveAlias(symbol) : symbol; + return !dontResolveAlias && isNonLocalAlias(symbol) ? resolveAlias(symbol) : symbol; } function resolveAlias(symbol) { ts.Debug.assert((symbol.flags & 2097152 /* Alias */) !== 0, "Should only get Alias here."); @@ -28299,7 +28398,8 @@ var ts; if (!links.target) { links.target = resolvingSymbol; var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); + if (!node) + return ts.Debug.fail(); var target = getTargetOfAliasDeclaration(node); if (links.target === resolvingSymbol) { links.target = target || unknownSymbol; @@ -28332,12 +28432,13 @@ var ts; if (!links.referenced) { links.referenced = true; var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); - if (node.kind === 248 /* ExportAssignment */) { + if (!node) + return ts.Debug.fail(); + if (node.kind === 249 /* ExportAssignment */) { // export default checkExpressionCached(node.expression); } - else if (node.kind === 251 /* ExportSpecifier */) { + else if (node.kind === 252 /* ExportSpecifier */) { // export { } or export { as foo } checkExpressionCached(node.propertyName || node.name); } @@ -28359,13 +28460,13 @@ var ts; entityName = entityName.parent; } // Check for case 1 and 3 in the above example - if (entityName.kind === 71 /* Identifier */ || entityName.parent.kind === 145 /* QualifiedName */) { + if (entityName.kind === 71 /* Identifier */ || entityName.parent.kind === 146 /* QualifiedName */) { return resolveEntityName(entityName, 1920 /* Namespace */, /*ignoreErrors*/ false, dontResolveAlias); } else { // Case 2 in above example // entityName.kind could be a QualifiedName or a Missing identifier - ts.Debug.assert(entityName.parent.kind === 242 /* ImportEqualsDeclaration */); + ts.Debug.assert(entityName.parent.kind === 243 /* ImportEqualsDeclaration */); return resolveEntityName(entityName, 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */, /*ignoreErrors*/ false, dontResolveAlias); } } @@ -28389,9 +28490,9 @@ var ts; return symbolFromJSPrototype; } } - else if (name.kind === 145 /* QualifiedName */ || name.kind === 184 /* PropertyAccessExpression */) { - var left = name.kind === 145 /* QualifiedName */ ? name.left : name.expression; - var right = name.kind === 145 /* QualifiedName */ ? name.right : name.name; + else if (name.kind === 146 /* QualifiedName */ || name.kind === 185 /* PropertyAccessExpression */) { + var left = name.kind === 146 /* QualifiedName */ ? name.left : name.expression; + var right = name.kind === 146 /* QualifiedName */ ? name.right : name.name; var namespace_1 = resolveEntityName(left, namespaceMeaning, ignoreErrors, /*dontResolveAlias*/ false, location); if (!namespace_1 || ts.nodeIsMissing(right)) { return undefined; @@ -28400,14 +28501,6 @@ var ts; return namespace_1; } if (ts.isInJavaScriptFile(name)) { - var initializer = ts.getDeclaredJavascriptInitializer(namespace_1.valueDeclaration) || ts.getAssignedJavascriptInitializer(namespace_1.valueDeclaration); - if (initializer) { - namespace_1 = getSymbolOfNode(initializer); - } - // Currently, IIFEs may not have a symbol and we don't know about their contents. Give up in this case. - if (!namespace_1) { - return undefined; - } if (namespace_1.valueDeclaration && ts.isVariableDeclaration(namespace_1.valueDeclaration) && namespace_1.valueDeclaration.initializer && @@ -28431,7 +28524,7 @@ var ts; } } else { - ts.Debug.assertNever(name, "Unknown entity name kind."); + throw ts.Debug.assertNever(name, "Unknown entity name kind."); } ts.Debug.assert((ts.getCheckFlags(symbol) & 1 /* Instantiated */) === 0, "Should never get an instantiated symbol here."); return (symbol.flags & meaning) || dontResolveAlias ? symbol : resolveAlias(symbol); @@ -28492,7 +28585,7 @@ var ts; return ambientModule; } var currentSourceFile = ts.getSourceFileOfNode(location); - var resolvedModule = ts.getResolvedModule(currentSourceFile, moduleReference); + var resolvedModule = ts.getResolvedModule(currentSourceFile, moduleReference); // TODO: GH#18217 var resolutionDiagnostic = resolvedModule && ts.getResolutionDiagnostic(compilerOptions, resolvedModule); var sourceFile = resolvedModule && !resolutionDiagnostic && host.getSourceFile(resolvedModule.resolvedFileName); if (sourceFile) { @@ -28566,8 +28659,6 @@ var ts; /*details*/ undefined, ts.Diagnostics.Try_npm_install_types_Slash_0_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0, ts.getMangledNameForScopedPackage(packageId.name)); errorOrSuggestion(isError, errorNode, ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type, moduleReference, resolvedFileName)); } - // An external module with an 'export =' declaration resolves to the target of the 'export =' declaration, - // and an external module with no 'export =' declaration resolves to the module itself. function resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) { return moduleSymbol && getMergedSymbol(getCommonJsExportEquals(resolveSymbol(moduleSymbol.exports.get("export=" /* ExportEquals */), dontResolveAlias), moduleSymbol)) || moduleSymbol; } @@ -28583,14 +28674,7 @@ var ts; moduleSymbol.exports.forEach(function (s, name) { if (name === "export=" /* ExportEquals */) return; - if (!merged.exports.has(name)) { - merged.exports.set(name, s); - } - else { - var ms = cloneSymbol(merged.exports.get(name)); - mergeSymbol(ms, s); - merged.exports.set(name, ms); - } + merged.exports.set(name, merged.exports.has(name) ? mergeSymbol(merged.exports.get(name), s) : s); }); return merged; } @@ -28668,7 +28752,7 @@ var ts; return undefined; } var type = getTypeOfSymbol(exportEquals); - return type.flags & 16382 /* Primitive */ ? undefined : getPropertyOfType(type, memberName); + return type.flags & 32764 /* Primitive */ ? undefined : getPropertyOfType(type, memberName); } function getExportsOfSymbol(symbol) { return symbol.flags & 32 /* Class */ ? getResolvedMembersOrExportsOfSymbol(symbol, "resolvedExports" /* resolvedExports */) : @@ -28758,6 +28842,43 @@ var ts; function getParentOfSymbol(symbol) { return getMergedSymbol(symbol.parent && getLateBoundSymbol(symbol.parent)); } + /** + * Attempts to find the symbol corresponding to the container a symbol is in - usually this + * is just its' `.parent`, but for locals, this value is `undefined` + */ + function getContainerOfSymbol(symbol) { + var container = getParentOfSymbol(symbol); + if (container) { + return container; + } + var candidate = ts.forEach(symbol.declarations, function (d) { return !ts.isAmbientModule(d) && d.parent && hasNonGlobalAugmentationExternalModuleSymbol(d.parent) ? getSymbolOfNode(d.parent) : undefined; }); + if (!candidate) { + return undefined; + } + var alias = getAliasForSymbolInContainer(candidate, symbol); + return alias ? candidate : undefined; + } + function getAliasForSymbolInContainer(container, symbol) { + if (container === getParentOfSymbol(symbol)) { + // fast path, `symbol` is either already the alias or isn't aliased + return symbol; + } + var exports = getExportsOfSymbol(container); + var quick = exports.get(symbol.escapedName); + if (quick && symbolRefersToTarget(quick)) { + return quick; + } + return ts.forEachEntry(exports, function (exported) { + if (symbolRefersToTarget(exported)) { + return exported; + } + }); + function symbolRefersToTarget(s) { + if (s === symbol || resolveSymbol(s) === symbol || resolveSymbol(s) === resolveSymbol(symbol)) { + return s; + } + } + } function getExportSymbolOfValueSymbolIfExported(symbol) { return symbol && (symbol.flags & 1048576 /* ExportValue */) !== 0 ? getMergedSymbol(symbol.exportSymbol) @@ -28770,7 +28891,7 @@ var ts; var members = node.members; for (var _i = 0, members_2 = members; _i < members_2.length; _i++) { var member = members_2[_i]; - if (member.kind === 154 /* Constructor */ && ts.nodeIsPresent(member.body)) { + if (member.kind === 155 /* Constructor */ && ts.nodeIsPresent(member.body)) { return member; } } @@ -28788,12 +28909,12 @@ var ts; } function createBooleanType(trueFalseTypes) { var type = getUnionType(trueFalseTypes); - type.flags |= 8 /* Boolean */; + type.flags |= 16 /* Boolean */; type.intrinsicName = "boolean"; return type; } function createObjectType(objectFlags, symbol) { - var type = createType(65536 /* Object */); + var type = createType(131072 /* Object */); type.objectFlags = objectFlags; type.symbol = symbol; return type; @@ -28848,12 +28969,12 @@ var ts; } } switch (location.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (!ts.isExternalOrCommonJsModule(location)) { break; } // falls through - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (result = callback(getSymbolOfNode(location).exports)) { return result; } @@ -28899,7 +29020,7 @@ var ts; // if the symbolFromSymbolTable is not external module (it could be if it was determined as ambient external module and would be in globals table) // and if symbolFromSymbolTable or alias resolution matches the symbol, // check the symbol can be qualified, it is only then this symbol is accessible - !ts.some(symbolFromSymbolTable.declarations, hasExternalModuleSymbol) && + !ts.some(symbolFromSymbolTable.declarations, hasNonGlobalAugmentationExternalModuleSymbol) && (ignoreQualification || canQualifySymbol(symbolFromSymbolTable, meaning)); } function trySymbolTable(symbols, ignoreQualification) { @@ -28927,6 +29048,11 @@ var ts; return [symbolFromSymbolTable].concat(accessibleSymbolsFromExports); } } + if (symbolFromSymbolTable.escapedName === symbol.escapedName && symbolFromSymbolTable.exportSymbol) { + if (isAccessible(getMergedSymbol(symbolFromSymbolTable.exportSymbol), /*aliasSymbol*/ undefined, ignoreQualification)) { + return [symbol]; + } + } }); } } @@ -28934,7 +29060,7 @@ var ts; var qualify = false; forEachSymbolTableInScope(enclosingDeclaration, function (symbolTable) { // If symbol of this name is not available in the symbol table we are ok - var symbolFromSymbolTable = symbolTable.get(symbol.escapedName); + var symbolFromSymbolTable = getMergedSymbol(symbolTable.get(symbol.escapedName)); if (!symbolFromSymbolTable) { // Continue to the next symbol table return false; @@ -28945,7 +29071,7 @@ var ts; return true; } // Qualify if the symbol from symbol table has same meaning as expected - symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 /* Alias */ && !ts.getDeclarationOfKind(symbolFromSymbolTable, 251 /* ExportSpecifier */)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; + symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 /* Alias */ && !ts.getDeclarationOfKind(symbolFromSymbolTable, 252 /* ExportSpecifier */)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; if (symbolFromSymbolTable.flags & meaning) { qualify = true; return true; @@ -28960,10 +29086,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; switch (declaration.kind) { - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: continue; default: return false; @@ -29008,7 +29134,7 @@ var ts; return hasAccessibleDeclarations; } else { - if (ts.some(symbol.declarations, hasExternalModuleSymbol)) { + if (ts.some(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol)) { // Any meaning of a module symbol is always accessible via an `import` type return { accessibility: 0 /* Accessible */ @@ -29028,7 +29154,7 @@ var ts; // But it can't, hence the accessible is going to be undefined, but that doesn't mean m.c is inaccessible // It is accessible if the parent m is accessible because then m.c can be accessed through qualification meaningToLook = getQualifiedLeftMeaning(meaning); - symbol = getParentOfSymbol(symbol); + symbol = getContainerOfSymbol(symbol); } // This could be a symbol that is not exported in the external module // or it could be a symbol from different external module that is not aliased and hence cannot be named @@ -29057,7 +29183,10 @@ var ts; } } function hasExternalModuleSymbol(declaration) { - return ts.isAmbientModule(declaration) || (declaration.kind === 273 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); + return ts.isAmbientModule(declaration) || (declaration.kind === 274 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); + } + function hasNonGlobalAugmentationExternalModuleSymbol(declaration) { + return ts.isModuleWithStringLiteralName(declaration) || (declaration.kind === 274 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); } function hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible) { var aliasesToMakeVisible; @@ -29104,14 +29233,14 @@ var ts; function isEntityNameVisible(entityName, enclosingDeclaration) { // get symbol of the first identifier of the entityName var meaning; - if (entityName.parent.kind === 164 /* TypeQuery */ || + if (entityName.parent.kind === 165 /* TypeQuery */ || ts.isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent) || - entityName.parent.kind === 146 /* ComputedPropertyName */) { + entityName.parent.kind === 147 /* ComputedPropertyName */) { // Typeof value meaning = 67216319 /* Value */ | 1048576 /* ExportValue */; } - else if (entityName.kind === 145 /* QualifiedName */ || entityName.kind === 184 /* PropertyAccessExpression */ || - entityName.parent.kind === 242 /* ImportEqualsDeclaration */) { + else if (entityName.kind === 146 /* QualifiedName */ || entityName.kind === 185 /* PropertyAccessExpression */ || + entityName.parent.kind === 243 /* ImportEqualsDeclaration */) { // Left identifier from type reference or TypeAlias // Entity name of the import declaration meaning = 1920 /* Namespace */; @@ -29144,7 +29273,7 @@ var ts; var builder = flags & 4 /* AllowAnyNodeKind */ ? nodeBuilder.symbolToExpression : nodeBuilder.symbolToEntityName; return writer ? symbolToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(symbolToStringWorker); function symbolToStringWorker(writer) { - var entity = builder(symbol, meaning, enclosingDeclaration, nodeFlags); + var entity = builder(symbol, meaning, enclosingDeclaration, nodeFlags); // TODO: GH#18217 var printer = ts.createPrinter({ removeComments: true }); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); printer.writeNode(4 /* Unspecified */, entity, /*sourceFile*/ sourceFile, writer); @@ -29152,27 +29281,29 @@ var ts; } } function signatureToString(signature, enclosingDeclaration, flags, kind, writer) { + if (flags === void 0) { flags = 0 /* None */; } return writer ? signatureToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(signatureToStringWorker); function signatureToStringWorker(writer) { var sigOutput; if (flags & 262144 /* WriteArrowStyleSignature */) { - sigOutput = kind === 1 /* Construct */ ? 163 /* ConstructorType */ : 162 /* FunctionType */; + sigOutput = kind === 1 /* Construct */ ? 164 /* ConstructorType */ : 163 /* FunctionType */; } else { - sigOutput = kind === 1 /* Construct */ ? 158 /* ConstructSignature */ : 157 /* CallSignature */; + sigOutput = kind === 1 /* Construct */ ? 159 /* ConstructSignature */ : 158 /* CallSignature */; } var sig = nodeBuilder.signatureToSignatureDeclaration(signature, sigOutput, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */); var printer = ts.createPrinter({ removeComments: true, omitTrailingSemicolon: true }); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); - printer.writeNode(4 /* Unspecified */, sig, /*sourceFile*/ sourceFile, writer); + printer.writeNode(4 /* Unspecified */, sig, /*sourceFile*/ sourceFile, writer); // TODO: GH#18217 return writer; } } function typeToString(type, enclosingDeclaration, flags, writer) { - if (flags === void 0) { flags = 1048576 /* AllowUniqueESSymbolType */; } + if (flags === void 0) { flags = 1048576 /* AllowUniqueESSymbolType */ | 16384 /* UseAliasDefinedOutsideCurrentScope */; } if (writer === void 0) { writer = ts.createTextWriter(""); } var typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */, writer); - ts.Debug.assert(typeNode !== undefined, "should always get typenode"); + if (typeNode === undefined) + return ts.Debug.fail("should always get typenode"); var options = { removeComments: true }; var printer = ts.createPrinter(options); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); @@ -29185,6 +29316,7 @@ var ts; return result; } function toNodeBuilderFlags(flags) { + if (flags === void 0) { flags = 0 /* None */; } return flags & 9469291 /* NodeBuilderFlagsMask */; } function createNodeBuilder() { @@ -29201,7 +29333,7 @@ var ts; var context = createNodeBuilderContext(enclosingDeclaration, flags, tracker); var resultingNode = indexInfoToIndexSignatureDeclarationHelper(indexInfo, kind, context); var result = context.encounteredError ? undefined : resultingNode; - return result; + return result; // TODO: GH#18217 }, signatureToSignatureDeclaration: function (signature, kind, enclosingDeclaration, flags, tracker) { ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0); @@ -29249,7 +29381,7 @@ var ts; function createNodeBuilderContext(enclosingDeclaration, flags, tracker) { return { enclosingDeclaration: enclosingDeclaration, - flags: flags, + flags: flags || 0 /* None */, tracker: tracker && tracker.trackSymbol ? tracker : { trackSymbol: ts.noop }, encounteredError: false, visitedSymbols: undefined, @@ -29264,40 +29396,43 @@ var ts; context.flags &= ~8388608 /* InTypeAlias */; if (!type) { context.encounteredError = true; - return undefined; + return undefined; // TODO: GH#18217 } if (type.flags & 1 /* Any */) { return ts.createKeywordTypeNode(119 /* AnyKeyword */); } - if (type.flags & 2 /* String */) { + if (type.flags & 2 /* Unknown */) { + return ts.createKeywordTypeNode(142 /* UnknownKeyword */); + } + if (type.flags & 4 /* String */) { return ts.createKeywordTypeNode(137 /* StringKeyword */); } - if (type.flags & 4 /* Number */) { + if (type.flags & 8 /* Number */) { return ts.createKeywordTypeNode(134 /* NumberKeyword */); } - if (type.flags & 8 /* Boolean */) { + if (type.flags & 16 /* Boolean */) { return ts.createKeywordTypeNode(122 /* BooleanKeyword */); } - if (type.flags & 256 /* EnumLiteral */ && !(type.flags & 131072 /* Union */)) { + if (type.flags & 512 /* EnumLiteral */ && !(type.flags & 262144 /* Union */)) { var parentSymbol = getParentOfSymbol(type.symbol); var parentName = symbolToName(parentSymbol, context, 67901928 /* Type */, /*expectsIdentifier*/ false); var enumLiteralName = getDeclaredTypeOfSymbol(parentSymbol) === type ? parentName : ts.createQualifiedName(parentName, ts.symbolName(type.symbol)); return ts.createTypeReferenceNode(enumLiteralName, /*typeArguments*/ undefined); } - if (type.flags & 272 /* EnumLike */) { + if (type.flags & 544 /* EnumLike */) { var name = symbolToName(type.symbol, context, 67901928 /* Type */, /*expectsIdentifier*/ false); return ts.createTypeReferenceNode(name, /*typeArguments*/ undefined); } - if (type.flags & (32 /* StringLiteral */)) { + if (type.flags & (64 /* StringLiteral */)) { return ts.createLiteralTypeNode(ts.setEmitFlags(ts.createLiteral(type.value), 16777216 /* NoAsciiEscaping */)); } - if (type.flags & (64 /* NumberLiteral */)) { + if (type.flags & (128 /* NumberLiteral */)) { return ts.createLiteralTypeNode((ts.createLiteral(type.value))); } - if (type.flags & 128 /* BooleanLiteral */) { + if (type.flags & 256 /* BooleanLiteral */) { return type.intrinsicName === "true" ? ts.createTrue() : ts.createFalse(); } - if (type.flags & 1024 /* UniqueESSymbol */) { + if (type.flags & 2048 /* UniqueESSymbol */) { if (!(context.flags & 1048576 /* AllowUniqueESSymbolType */)) { if (isValueSymbolAccessible(type.symbol, context.enclosingDeclaration)) { return symbolToTypeNode(type.symbol, context, 67216319 /* Value */); @@ -29308,25 +29443,25 @@ var ts; } return ts.createTypeOperatorNode(141 /* UniqueKeyword */, ts.createKeywordTypeNode(138 /* SymbolKeyword */)); } - if (type.flags & 2048 /* Void */) { + if (type.flags & 4096 /* Void */) { return ts.createKeywordTypeNode(105 /* VoidKeyword */); } - if (type.flags & 4096 /* Undefined */) { + if (type.flags & 8192 /* Undefined */) { return ts.createKeywordTypeNode(140 /* UndefinedKeyword */); } - if (type.flags & 8192 /* Null */) { + if (type.flags & 16384 /* Null */) { return ts.createKeywordTypeNode(95 /* NullKeyword */); } - if (type.flags & 16384 /* Never */) { + if (type.flags & 32768 /* Never */) { return ts.createKeywordTypeNode(131 /* NeverKeyword */); } - if (type.flags & 512 /* ESSymbol */) { + if (type.flags & 1024 /* ESSymbol */) { return ts.createKeywordTypeNode(138 /* SymbolKeyword */); } - if (type.flags & 134217728 /* NonPrimitive */) { + if (type.flags & 16777216 /* NonPrimitive */) { return ts.createKeywordTypeNode(135 /* ObjectKeyword */); } - if (type.flags & 32768 /* TypeParameter */ && type.isThisType) { + if (type.flags & 65536 /* TypeParameter */ && type.isThisType) { if (context.flags & 4194304 /* InObjectTypeLiteral */) { if (!context.encounteredError && !(context.flags & 32768 /* AllowThisInObjectLiteral */)) { context.encounteredError = true; @@ -29339,24 +29474,25 @@ var ts; } var objectFlags = ts.getObjectFlags(type); if (objectFlags & 4 /* Reference */) { - ts.Debug.assert(!!(type.flags & 65536 /* Object */)); + ts.Debug.assert(!!(type.flags & 131072 /* Object */)); return typeReferenceToTypeNode(type); } - if (type.flags & 32768 /* TypeParameter */ || objectFlags & 3 /* ClassOrInterface */) { - if (type.flags & 32768 /* TypeParameter */ && ts.contains(context.inferTypeParameters, type)) { + if (type.flags & 65536 /* TypeParameter */ || objectFlags & 3 /* ClassOrInterface */) { + if (type.flags & 65536 /* TypeParameter */ && ts.contains(context.inferTypeParameters, type)) { return ts.createInferTypeNode(typeParameterToDeclarationWithConstraint(type, context, /*constraintNode*/ undefined)); } if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && - type.flags & 32768 /* TypeParameter */ && + type.flags & 65536 /* TypeParameter */ && ts.length(type.symbol.declarations) && ts.isTypeParameterDeclaration(type.symbol.declarations[0]) && typeParameterShadowsNameInScope(type, context) && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration)) { return ts.createTypeReferenceNode(ts.getGeneratedNameForNode(type.symbol.declarations[0].name, 16 /* Optimistic */ | 8 /* ReservedInNestedScopes */), /*typeArguments*/ undefined); } - var name = type.symbol ? symbolToName(type.symbol, context, 67901928 /* Type */, /*expectsIdentifier*/ false) : ts.createIdentifier("?"); // Ignore constraint/default when creating a usage (as opposed to declaration) of a type parameter. - return ts.createTypeReferenceNode(name, /*typeArguments*/ undefined); + return type.symbol + ? symbolToTypeNode(type.symbol, context, 67901928 /* Type */) + : ts.createTypeReferenceNode(ts.createIdentifier("?"), /*typeArguments*/ undefined); } if (!inTypeAlias && type.aliasSymbol && (context.flags & 16384 /* UseAliasDefinedOutsideCurrentScope */ || isTypeSymbolAccessible(type.aliasSymbol, context.enclosingDeclaration))) { var typeArgumentNodes = mapToTypeNodes(type.aliasTypeArguments, context); @@ -29364,36 +29500,36 @@ var ts; return ts.createTypeReferenceNode(ts.createIdentifier(""), typeArgumentNodes); return symbolToTypeNode(type.aliasSymbol, context, 67901928 /* Type */, typeArgumentNodes); } - if (type.flags & (131072 /* Union */ | 262144 /* Intersection */)) { - var types = type.flags & 131072 /* Union */ ? formatUnionTypes(type.types) : type.types; + if (type.flags & (262144 /* Union */ | 524288 /* Intersection */)) { + var types = type.flags & 262144 /* Union */ ? formatUnionTypes(type.types) : type.types; var typeNodes = mapToTypeNodes(types, context); if (typeNodes && typeNodes.length > 0) { - var unionOrIntersectionTypeNode = ts.createUnionOrIntersectionTypeNode(type.flags & 131072 /* Union */ ? 168 /* UnionType */ : 169 /* IntersectionType */, typeNodes); + var unionOrIntersectionTypeNode = ts.createUnionOrIntersectionTypeNode(type.flags & 262144 /* Union */ ? 169 /* UnionType */ : 170 /* IntersectionType */, typeNodes); return unionOrIntersectionTypeNode; } else { if (!context.encounteredError && !(context.flags & 262144 /* AllowEmptyUnionOrIntersection */)) { context.encounteredError = true; } - return undefined; + return undefined; // TODO: GH#18217 } } if (objectFlags & (16 /* Anonymous */ | 32 /* Mapped */)) { - ts.Debug.assert(!!(type.flags & 65536 /* Object */)); + ts.Debug.assert(!!(type.flags & 131072 /* Object */)); // The type is an object literal type. return createAnonymousTypeNode(type); } - if (type.flags & 524288 /* Index */) { + if (type.flags & 1048576 /* Index */) { var indexedType = type.type; var indexTypeNode = typeToTypeNodeHelper(indexedType, context); return ts.createTypeOperatorNode(indexTypeNode); } - if (type.flags & 1048576 /* IndexedAccess */) { + if (type.flags & 2097152 /* IndexedAccess */) { var objectTypeNode = typeToTypeNodeHelper(type.objectType, context); var indexTypeNode = typeToTypeNodeHelper(type.indexType, context); return ts.createIndexedAccessTypeNode(objectTypeNode, indexTypeNode); } - if (type.flags & 2097152 /* Conditional */) { + if (type.flags & 4194304 /* Conditional */) { var checkTypeNode = typeToTypeNodeHelper(type.checkType, context); var saveInferTypeParameters = context.inferTypeParameters; context.inferTypeParameters = type.root.inferTypeParameters; @@ -29403,12 +29539,12 @@ var ts; var falseTypeNode = typeToTypeNodeHelper(getFalseTypeFromConditionalType(type), context); return ts.createConditionalTypeNode(checkTypeNode, extendsTypeNode, trueTypeNode, falseTypeNode); } - if (type.flags & 4194304 /* Substitution */) { + if (type.flags & 8388608 /* Substitution */) { return typeToTypeNodeHelper(type.typeVariable, context); } - ts.Debug.fail("Should be unreachable."); + return ts.Debug.fail("Should be unreachable."); function createMappedTypeNodeFromType(type) { - ts.Debug.assert(!!(type.flags & 65536 /* Object */)); + ts.Debug.assert(!!(type.flags & 131072 /* Object */)); var readonlyToken = type.declaration.readonlyToken ? ts.createToken(type.declaration.readonlyToken.kind) : undefined; var questionToken = type.declaration.questionToken ? ts.createToken(type.declaration.questionToken.kind) : undefined; var appropriateConstraintTypeNode; @@ -29437,7 +29573,7 @@ var ts; return symbolToTypeNode(symbol, context, isInstanceType); } // Always use 'typeof T' for type of class, enum, and module objects - else if (symbol.flags & 32 /* Class */ && !getBaseTypeVariableOfClass(symbol) && !(symbol.valueDeclaration.kind === 204 /* ClassExpression */ && context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */) || + else if (symbol.flags & 32 /* Class */ && !getBaseTypeVariableOfClass(symbol) && !(symbol.valueDeclaration.kind === 205 /* ClassExpression */ && context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */) || symbol.flags & (384 /* Enum */ | 512 /* ValueModule */) || shouldWriteTypeOfFunctionSymbol()) { return symbolToTypeNode(symbol, context, 67216319 /* Value */); @@ -29475,12 +29611,12 @@ var ts; var isNonLocalFunctionSymbol = !!(symbol.flags & 16 /* Function */) && (symbol.parent || // is exported function symbol ts.forEach(symbol.declarations, function (declaration) { - return declaration.parent.kind === 273 /* SourceFile */ || declaration.parent.kind === 239 /* ModuleBlock */; + return declaration.parent.kind === 274 /* SourceFile */ || declaration.parent.kind === 240 /* ModuleBlock */; })); if (isStaticMethodSymbol || isNonLocalFunctionSymbol) { // typeof is allowed only for static/non local functions return (!!(context.flags & 4096 /* UseTypeOfFunction */) || (context.visitedSymbols && context.visitedSymbols.has(id))) && // it is type of the symbol uses itself recursively - (!(context.flags & 8 /* UseStructuralFallback */) || isValueSymbolAccessible(symbol, context.enclosingDeclaration)); // And the build is going to succeed without visibility error or there is no structural fallback allowed + (!(context.flags & 8 /* UseStructuralFallback */) || isValueSymbolAccessible(symbol, context.enclosingDeclaration)); // TODO: GH#18217 // And the build is going to succeed without visibility error or there is no structural fallback allowed } } } @@ -29495,12 +29631,12 @@ var ts; } if (resolved.callSignatures.length === 1 && !resolved.constructSignatures.length) { var signature = resolved.callSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 162 /* FunctionType */, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 163 /* FunctionType */, context); return signatureNode; } if (resolved.constructSignatures.length === 1 && !resolved.callSignatures.length) { var signature = resolved.constructSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 163 /* ConstructorType */, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 164 /* ConstructorType */, context); return signatureNode; } } @@ -29532,7 +29668,7 @@ var ts; return ts.createTupleTypeNode([]); } context.encounteredError = true; - return undefined; + return undefined; // TODO: GH#18217 } else if (context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */ && type.symbol.valueDeclaration && @@ -29621,11 +29757,11 @@ var ts; var typeElements = []; for (var _i = 0, _a = resolvedType.callSignatures; _i < _a.length; _i++) { var signature = _a[_i]; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 157 /* CallSignature */, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 158 /* CallSignature */, context)); } for (var _b = 0, _c = resolvedType.constructSignatures; _b < _c.length; _b++) { var signature = _c[_b]; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 158 /* ConstructSignature */, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 159 /* ConstructSignature */, context)); } if (resolvedType.stringIndexInfo) { var indexInfo = resolvedType.objectFlags & 2048 /* ReverseMapped */ ? @@ -29655,7 +29791,7 @@ var ts; var saveEnclosingDeclaration = context.enclosingDeclaration; context.enclosingDeclaration = undefined; if (ts.getCheckFlags(propertySymbol) & 1024 /* Late */) { - var decl = ts.firstOrUndefined(propertySymbol.declarations); + var decl = ts.first(propertySymbol.declarations); var name = hasLateBindableName(decl) && resolveEntityName(decl.name.expression, 67216319 /* Value */); if (name && context.tracker.trackSymbol) { context.tracker.trackSymbol(name, saveEnclosingDeclaration, 67216319 /* Value */); @@ -29668,7 +29804,7 @@ var ts; var signatures = getSignaturesOfType(propertyType, 0 /* Call */); for (var _e = 0, signatures_1 = signatures; _e < signatures_1.length; _e++) { var signature = signatures_1[_e]; - var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 152 /* MethodSignature */, context); + var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 153 /* MethodSignature */, context); methodDeclaration.name = propertyName; methodDeclaration.questionToken = optionalToken; if (propertySymbol.valueDeclaration) { @@ -29718,7 +29854,7 @@ var ts; /*dotDotDotToken*/ undefined, name, /*questionToken*/ undefined, indexerTypeNode, /*initializer*/ undefined); - var typeNode = indexInfo.type ? typeToTypeNodeHelper(indexInfo.type, context) : typeToTypeNodeHelper(anyType, context); + var typeNode = typeToTypeNodeHelper(indexInfo.type || anyType, context); if (!indexInfo.type && !(context.flags & 2097152 /* AllowEmptyIndexInfoType */)) { context.encounteredError = true; } @@ -29734,7 +29870,7 @@ var ts; else { typeParameters = signature.typeParameters && signature.typeParameters.map(function (parameter) { return typeParameterToDeclaration(parameter, context); }); } - var parameters = signature.parameters.map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 154 /* Constructor */); }); + var parameters = signature.parameters.map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 155 /* Constructor */); }); if (signature.thisParameter) { var thisParameter = symbolToParameterDeclaration(signature.thisParameter, context); parameters.unshift(thisParameter); @@ -29786,22 +29922,22 @@ var ts; return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags) { - var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 148 /* Parameter */); + var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 149 /* Parameter */); if (!parameterDeclaration && !isTransientSymbol(parameterSymbol)) { - parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 292 /* JSDocParameterTag */); + parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 293 /* JSDocParameterTag */); } var parameterType = getTypeOfSymbol(parameterSymbol); if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { parameterType = getOptionalType(parameterType); } var parameterTypeNode = typeToTypeNodeHelper(parameterType, context); - var modifiers = !(context.flags & 8192 /* OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers && parameterDeclaration.modifiers.map(ts.getSynthesizedClone); + var modifiers = !(context.flags & 8192 /* OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers ? parameterDeclaration.modifiers.map(ts.getSynthesizedClone) : undefined; var isRest = parameterDeclaration ? ts.isRestParameter(parameterDeclaration) : parameterSymbol.isRestParameter; var dotDotDotToken = isRest ? ts.createToken(24 /* DotDotDotToken */) : undefined; var name = parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 71 /* Identifier */ ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : - parameterDeclaration.name.kind === 145 /* QualifiedName */ ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : + parameterDeclaration.name.kind === 146 /* QualifiedName */ ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : ts.symbolName(parameterSymbol) : ts.symbolName(parameterSymbol); @@ -29815,7 +29951,7 @@ var ts; function elideInitializerAndSetEmitFlags(node) { var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags); var clone = ts.nodeIsSynthesized(visited) ? visited : ts.getSynthesizedClone(visited); - if (clone.kind === 181 /* BindingElement */) { + if (clone.kind === 182 /* BindingElement */) { clone.initializer = undefined; } return ts.setEmitFlags(clone, 1 /* SingleLine */ | 16777216 /* NoAsciiEscaping */); @@ -29823,12 +29959,12 @@ var ts; } } function lookupSymbolChain(symbol, context, meaning, yieldModuleSymbol) { - context.tracker.trackSymbol(symbol, context.enclosingDeclaration, meaning); + context.tracker.trackSymbol(symbol, context.enclosingDeclaration, meaning); // TODO: GH#18217 // Try to get qualified name if the symbol is not a type parameter and there is an enclosing declaration. var chain; var isTypeParameter = symbol.flags & 262144 /* TypeParameter */; if (!isTypeParameter && (context.enclosingDeclaration || context.flags & 64 /* UseFullyQualifiedType */)) { - chain = getSymbolChain(symbol, meaning, /*endOfChain*/ true); + chain = ts.Debug.assertDefined(getSymbolChain(symbol, meaning, /*endOfChain*/ true)); ts.Debug.assert(chain && chain.length > 0); } else { @@ -29842,12 +29978,12 @@ var ts; if (!accessibleSymbolChain || needsQualification(accessibleSymbolChain[0], context.enclosingDeclaration, accessibleSymbolChain.length === 1 ? meaning : getQualifiedLeftMeaning(meaning))) { // Go up and add our parent. - var parent = getParentOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); + var parent = getContainerOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); if (parent) { var parentChain = getSymbolChain(parent, getQualifiedLeftMeaning(meaning), /*endOfChain*/ false); if (parentChain) { parentSymbol = parent; - accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [symbol]); + accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [getAliasForSymbolInContainer(parent, symbol) || symbol]); } } } @@ -29858,7 +29994,7 @@ var ts; // If this is the last part of outputting the symbol, always output. The cases apply only to parent symbols. endOfChain || // If a parent symbol is an external module, don't write it. (We prefer just `x` vs `"foo/bar".x`.) - (yieldModuleSymbol || !(!parentSymbol && ts.forEach(symbol.declarations, hasExternalModuleSymbol))) && + (yieldModuleSymbol || !(!parentSymbol && ts.forEach(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol))) && // If a parent symbol is an anonymous type, don't write it. !(symbol.flags & (2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */))) { return [symbol]; @@ -30035,6 +30171,7 @@ var ts; } } function typePredicateToString(typePredicate, enclosingDeclaration, flags, writer) { + if (flags === void 0) { flags = 16384 /* UseAliasDefinedOutsideCurrentScope */; } return writer ? typePredicateToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(typePredicateToStringWorker); function typePredicateToStringWorker(writer) { var predicate = ts.createTypePredicateNode(typePredicate.kind === 1 /* Identifier */ ? ts.createIdentifier(typePredicate.parameterName) : ts.createThisTypeNode(), nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */)); @@ -30050,10 +30187,10 @@ var ts; for (var i = 0; i < types.length; i++) { var t = types[i]; flags |= t.flags; - if (!(t.flags & 12288 /* Nullable */)) { - if (t.flags & (128 /* BooleanLiteral */ | 256 /* EnumLiteral */)) { - var baseType = t.flags & 128 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLiteralType(t); - if (baseType.flags & 131072 /* Union */) { + if (!(t.flags & 24576 /* Nullable */)) { + if (t.flags & (256 /* BooleanLiteral */ | 512 /* EnumLiteral */)) { + var baseType = t.flags & 256 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLiteralType(t); + if (baseType.flags & 262144 /* Union */) { var count = baseType.types.length; if (i + count <= types.length && types[i + count - 1] === baseType.types[count - 1]) { result.push(baseType); @@ -30065,9 +30202,9 @@ var ts; result.push(t); } } - if (flags & 8192 /* Null */) + if (flags & 16384 /* Null */) result.push(nullType); - if (flags & 4096 /* Undefined */) + if (flags & 8192 /* Undefined */) result.push(undefinedType); return result || types; } @@ -30082,8 +30219,8 @@ var ts; } function getTypeAliasForTypeLiteral(type) { if (type.symbol && type.symbol.flags & 2048 /* TypeLiteral */) { - var node = ts.findAncestor(type.symbol.declarations[0].parent, function (n) { return n.kind !== 172 /* ParenthesizedType */; }); - if (node.kind === 236 /* TypeAliasDeclaration */) { + var node = ts.findAncestor(type.symbol.declarations[0].parent, function (n) { return n.kind !== 173 /* ParenthesizedType */; }); + if (node.kind === 237 /* TypeAliasDeclaration */) { return getSymbolOfNode(node); } } @@ -30091,11 +30228,11 @@ var ts; } function isTopLevelInExternalModuleAugmentation(node) { return node && node.parent && - node.parent.kind === 239 /* ModuleBlock */ && + node.parent.kind === 240 /* ModuleBlock */ && ts.isExternalModuleAugmentation(node.parent.parent); } function isDefaultBindingContext(location) { - return location.kind === 273 /* SourceFile */ || ts.isAmbientModule(location); + return location.kind === 274 /* SourceFile */ || ts.isAmbientModule(location); } /** * Gets a human-readable name for a symbol. @@ -30115,15 +30252,15 @@ var ts; return "default"; } if (symbol.declarations && symbol.declarations.length) { - if (ts.some(symbol.declarations, hasExternalModuleSymbol) && context.enclosingDeclaration) { - var file_3 = ts.getDeclarationOfKind(symbol, 273 /* SourceFile */); + if (ts.some(symbol.declarations, hasExternalModuleSymbol) && context.enclosingDeclaration) { // TODO: GH#18217 + var file_3 = ts.getDeclarationOfKind(symbol, 274 /* SourceFile */); if (!file_3 || !context.tracker.moduleResolverHost) { if (context.tracker.trackReferencedAmbientModule) { var ambientDecls = ts.filter(symbol.declarations, ts.isAmbientModule); if (ts.length(ambientDecls)) { for (var _i = 0, ambientDecls_1 = ambientDecls; _i < ambientDecls_1.length; _i++) { var decl = ambientDecls_1[_i]; - context.tracker.trackReferencedAmbientModule(decl); + context.tracker.trackReferencedAmbientModule(decl); // TODO: GH#18217 } } } @@ -30138,26 +30275,26 @@ var ts; if (name) { return ts.declarationNameToString(name); } - if (declaration.parent && declaration.parent.kind === 231 /* VariableDeclaration */) { + if (declaration.parent && declaration.parent.kind === 232 /* VariableDeclaration */) { return ts.declarationNameToString(declaration.parent.name); } if (context && !context.encounteredError && !(context.flags & 131072 /* AllowAnonymousIdentifier */)) { context.encounteredError = true; } switch (declaration.kind) { - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return "(Anonymous class)"; - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return "(Anonymous function)"; } } var nameType = symbol.nameType; if (nameType) { - if (nameType.flags & 32 /* StringLiteral */ && !ts.isIdentifierText(nameType.value, compilerOptions.target)) { + if (nameType.flags & 64 /* StringLiteral */ && !ts.isIdentifierText(nameType.value, compilerOptions.target)) { return "\"" + ts.escapeString(nameType.value, 34 /* doubleQuote */) + "\""; } - if (nameType && nameType.flags & 1024 /* UniqueESSymbol */) { + if (nameType && nameType.flags & 2048 /* UniqueESSymbol */) { return "[" + getNameOfSymbolAsWritten(nameType.symbol, context) + "]"; } } @@ -30174,27 +30311,27 @@ var ts; return false; function determineIfDeclarationIsVisible() { switch (node.kind) { - case 291 /* JSDocCallbackTag */: - case 296 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: // Top-level jsdoc type aliases are considered exported // First parent is comment node, second is hosting declaration or token; we only care about those tokens or declarations whose parent is a source file return !!(node.parent && node.parent.parent && node.parent.parent.parent && ts.isSourceFile(node.parent.parent.parent)); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return isDeclarationVisible(node.parent.parent); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: if (ts.isBindingPattern(node.name) && !node.name.elements.length) { // If the binding pattern is empty, this variable declaration is not visible return false; } // falls through - case 238 /* ModuleDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 233 /* FunctionDeclaration */: - case 237 /* EnumDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 239 /* ModuleDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 234 /* FunctionDeclaration */: + case 238 /* EnumDeclaration */: + case 243 /* ImportEqualsDeclaration */: // external module augmentation is always visible if (ts.isExternalModuleAugmentation(node)) { return true; @@ -30202,53 +30339,53 @@ var ts; var parent = getDeclarationContainer(node); // If the node is not exported or it is not ambient module element (except import declaration) if (!(ts.getCombinedModifierFlags(node) & 1 /* Export */) && - !(node.kind !== 242 /* ImportEqualsDeclaration */ && parent.kind !== 273 /* SourceFile */ && parent.flags & 4194304 /* Ambient */)) { + !(node.kind !== 243 /* ImportEqualsDeclaration */ && parent.kind !== 274 /* SourceFile */ && parent.flags & 4194304 /* Ambient */)) { return isGlobalSourceFile(parent); } // Exported members/ambient module elements (exception import declaration) are visible if parent is visible return isDeclarationVisible(parent); - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.hasModifier(node, 8 /* Private */ | 16 /* Protected */)) { // Private/protected properties/methods are not visible return false; } // Public properties/methods are visible if its parents are visible, so: // falls through - case 154 /* Constructor */: - case 158 /* ConstructSignature */: - case 157 /* CallSignature */: - case 159 /* IndexSignature */: - case 148 /* Parameter */: - case 239 /* ModuleBlock */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 165 /* TypeLiteral */: - case 161 /* TypeReference */: - case 166 /* ArrayType */: - case 167 /* TupleType */: - case 168 /* UnionType */: - case 169 /* IntersectionType */: - case 172 /* ParenthesizedType */: + case 155 /* Constructor */: + case 159 /* ConstructSignature */: + case 158 /* CallSignature */: + case 160 /* IndexSignature */: + case 149 /* Parameter */: + case 240 /* ModuleBlock */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 166 /* TypeLiteral */: + case 162 /* TypeReference */: + case 167 /* ArrayType */: + case 168 /* TupleType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: + case 173 /* ParenthesizedType */: return isDeclarationVisible(node.parent); // Default binding, import specifier and namespace import is visible // only on demand so by default it is not visible - case 244 /* ImportClause */: - case 245 /* NamespaceImport */: - case 247 /* ImportSpecifier */: + case 245 /* ImportClause */: + case 246 /* NamespaceImport */: + case 248 /* ImportSpecifier */: return false; // Type parameters are always visible - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: // Source file and namespace export are always visible - case 273 /* SourceFile */: - case 241 /* NamespaceExportDeclaration */: + case 274 /* SourceFile */: + case 242 /* NamespaceExportDeclaration */: return true; // Export assignments do not create name bindings outside the module - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return false; default: return false; @@ -30257,10 +30394,10 @@ var ts; } function collectLinkedAliases(node, setVisibility) { var exportSymbol; - if (node.parent && node.parent.kind === 248 /* ExportAssignment */) { + if (node.parent && node.parent.kind === 249 /* ExportAssignment */) { exportSymbol = resolveName(node, node.escapedText, 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */, /*nameNotFoundMessage*/ undefined, node, /*isUse*/ false); } - else if (node.parent.kind === 251 /* ExportSpecifier */) { + else if (node.parent.kind === 252 /* ExportSpecifier */) { exportSymbol = getTargetOfExportSpecifier(node.parent, 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */); } var result; @@ -30329,22 +30466,22 @@ var ts; } function hasType(target, propertyName) { if (propertyName === 0 /* Type */) { - return getSymbolLinks(target).type; + return !!getSymbolLinks(target).type; } if (propertyName === 2 /* DeclaredType */) { - return getSymbolLinks(target).declaredType; + return !!getSymbolLinks(target).declaredType; } if (propertyName === 1 /* ResolvedBaseConstructorType */) { - return target.resolvedBaseConstructorType; + return !!target.resolvedBaseConstructorType; } if (propertyName === 3 /* ResolvedReturnType */) { - return target.resolvedReturnType; + return !!target.resolvedReturnType; } if (propertyName === 4 /* ResolvedBaseConstraint */) { var bc = target.resolvedBaseConstraint; - return bc && bc !== circularConstraintType; + return !!bc && bc !== circularConstraintType; } - ts.Debug.fail("Unhandled TypeSystemPropertyName " + propertyName); + return ts.Debug.fail("Unhandled TypeSystemPropertyName " + propertyName); } // Pop an entry from the type resolution stack and return its associated result value. The result value will // be true if no circularities were detected, or false if a circularity was found. @@ -30354,20 +30491,19 @@ var ts; return resolutionResults.pop(); } function getDeclarationContainer(node) { - node = ts.findAncestor(ts.getRootDeclaration(node), function (node) { + return ts.findAncestor(ts.getRootDeclaration(node), function (node) { switch (node.kind) { - case 231 /* VariableDeclaration */: - case 232 /* VariableDeclarationList */: - case 247 /* ImportSpecifier */: - case 246 /* NamedImports */: - case 245 /* NamespaceImport */: - case 244 /* ImportClause */: + case 232 /* VariableDeclaration */: + case 233 /* VariableDeclarationList */: + case 248 /* ImportSpecifier */: + case 247 /* NamedImports */: + case 246 /* NamespaceImport */: + case 245 /* ImportClause */: return false; default: return true; } - }); - return node && node.parent; + }).parent; } function getTypeOfPrototypeProperty(prototype) { // TypeScript 1.0 spec (April 2014): 8.4 @@ -30392,14 +30528,14 @@ var ts; return symbol && getSymbolLinks(symbol).type || getTypeForVariableLikeDeclaration(node, /*includeOptionality*/ false); } function isComputedNonLiteralName(name) { - return name.kind === 146 /* ComputedPropertyName */ && !ts.isStringOrNumericLiteral(name.expression); + return name.kind === 147 /* ComputedPropertyName */ && !ts.isStringOrNumericLiteral(name.expression); } function getRestType(source, properties, symbol) { - source = filterType(source, function (t) { return !(t.flags & 12288 /* Nullable */); }); - if (source.flags & 16384 /* Never */) { + source = filterType(source, function (t) { return !(t.flags & 24576 /* Nullable */); }); + if (source.flags & 32768 /* Never */) { return emptyObjectType; } - if (source.flags & 131072 /* Union */) { + if (source.flags & 262144 /* Union */) { return mapType(source, function (t) { return getRestType(t, properties, symbol); }); } var members = ts.createSymbolTable(); @@ -30426,8 +30562,8 @@ var ts; var pattern = declaration.parent; var parentType = getTypeForBindingElementParent(pattern.parent); // If parent has the unknown (error) type, then so does this binding element - if (parentType === unknownType) { - return unknownType; + if (parentType === errorType) { + return errorType; } // If no type was specified or inferred for parent, // infer from the initializer of the binding element if one is present. @@ -30439,11 +30575,11 @@ var ts; return parentType; } var type; - if (pattern.kind === 179 /* ObjectBindingPattern */) { + if (pattern.kind === 180 /* ObjectBindingPattern */) { if (declaration.dotDotDotToken) { - if (!isValidSpreadType(parentType)) { + if (parentType.flags & 2 /* Unknown */ || !isValidSpreadType(parentType)) { error(declaration, ts.Diagnostics.Rest_types_may_only_be_created_from_object_types); - return unknownType; + return errorType; } var literalMembers = []; for (var _i = 0, _a = pattern.elements; _i < _a.length; _i++) { @@ -30461,13 +30597,13 @@ var ts; var isWellKnown = ts.isComputedPropertyName(name) && ts.isWellKnownSymbolSyntactically(name.expression); if (!isLate && !isWellKnown && isComputedNonLiteralName(name)) { var exprType = checkExpression(name.expression); - if (isTypeAssignableToKind(exprType, 1536 /* ESSymbolLike */)) { + if (isTypeAssignableToKind(exprType, 3072 /* ESSymbolLike */)) { if (noImplicitAny) { error(declaration, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(exprType), typeToString(parentType)); } return anyType; } - var indexerType = isTypeAssignableToKind(exprType, 84 /* NumberLike */) && getIndexTypeOfType(parentType, 1 /* Number */) || getIndexTypeOfType(parentType, 0 /* String */); + var indexerType = isTypeAssignableToKind(exprType, 168 /* NumberLike */) && getIndexTypeOfType(parentType, 1 /* Number */) || getIndexTypeOfType(parentType, 0 /* String */); if (!indexerType && noImplicitAny && !compilerOptions.suppressImplicitAnyIndexErrors) { if (getIndexTypeOfType(parentType, 1 /* Number */)) { error(declaration, ts.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number); @@ -30480,7 +30616,7 @@ var ts; } // Use type of the specified property, or otherwise, for a numeric name, the type of the numeric index signature, // or otherwise the type of the string index signature. - var nameType = isLate && checkComputedPropertyName(name); + var nameType = isLate ? checkComputedPropertyName(name) : undefined; var text = isLate ? getLateBoundNameFromType(nameType) : isWellKnown ? ts.getPropertyNameForKnownSymbolName(ts.idText(name.expression.name)) : ts.getTextOfPropertyName(name); @@ -30488,7 +30624,7 @@ var ts; if (strictNullChecks && declaration.flags & 4194304 /* Ambient */ && ts.isParameterDeclaration(declaration)) { parentType = getNonNullableType(parentType); } - if (isLate && nameType && !getPropertyOfType(parentType, text) && isTypeAssignableToKind(nameType, 1536 /* ESSymbolLike */)) { + if (isLate && nameType && !getPropertyOfType(parentType, text) && isTypeAssignableToKind(nameType, 3072 /* ESSymbolLike */)) { if (noImplicitAny) { error(declaration, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(nameType), typeToString(parentType)); } @@ -30500,7 +30636,7 @@ var ts; getIndexTypeOfType(parentType, 0 /* String */); if (!type) { error(name, ts.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature, typeToString(parentType), ts.declarationNameToString(name)); - return unknownType; + return errorType; } } } @@ -30526,13 +30662,13 @@ var ts; else { error(declaration, ts.Diagnostics.Type_0_has_no_property_1, typeToString(parentType), propName); } - return unknownType; + return errorType; } } } // In strict null checking mode, if a default value of a non-undefined type is specified, remove // undefined from the final type. - if (strictNullChecks && declaration.initializer && !(getFalsyFlags(checkExpressionCached(declaration.initializer)) & 4096 /* Undefined */)) { + if (strictNullChecks && declaration.initializer && !(getFalsyFlags(checkExpressionCached(declaration.initializer)) & 8192 /* Undefined */)) { type = getTypeWithFacts(type, 131072 /* NEUndefined */); } return declaration.initializer ? @@ -30552,7 +30688,7 @@ var ts; } function isEmptyArrayLiteral(node) { var expr = ts.skipParentheses(node); - return expr.kind === 182 /* ArrayLiteralExpression */ && expr.elements.length === 0; + return expr.kind === 183 /* ArrayLiteralExpression */ && expr.elements.length === 0; } function addOptionality(type, optional) { if (optional === void 0) { optional = true; } @@ -30562,11 +30698,11 @@ var ts; function getTypeForVariableLikeDeclaration(declaration, includeOptionality) { // A variable declared in a for..in statement is of type string, or of type keyof T when the // right hand expression is of a type parameter type. - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 220 /* ForInStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 221 /* ForInStatement */) { var indexType = getIndexType(checkNonNullExpression(declaration.parent.parent.expression)); - return indexType.flags & (32768 /* TypeParameter */ | 524288 /* Index */) ? getExtractStringType(indexType) : stringType; + return indexType.flags & (65536 /* TypeParameter */ | 1048576 /* Index */) ? getExtractStringType(indexType) : stringType; } - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 221 /* ForOfStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 222 /* ForOfStatement */) { // checkRightHandSideOfForOf will return undefined if the for-of expression type was // missing properties/signatures required to get its iteratedType (like // [Symbol.iterator] or next). This may be because we accessed properties from anyType, @@ -30585,7 +30721,7 @@ var ts; return addOptionality(declaredType, isOptional); } if ((noImplicitAny || ts.isInJavaScriptFile(declaration)) && - declaration.kind === 231 /* VariableDeclaration */ && !ts.isBindingPattern(declaration.name) && + declaration.kind === 232 /* VariableDeclaration */ && !ts.isBindingPattern(declaration.name) && !(ts.getCombinedModifierFlags(declaration) & 1 /* Export */) && !(declaration.flags & 4194304 /* Ambient */)) { // If --noImplicitAny is on or the declaration is in a Javascript file, // use control flow tracked 'any' type for non-ambient, non-exported var or let variables with no @@ -30599,11 +30735,11 @@ var ts; return autoArrayType; } } - if (declaration.kind === 148 /* Parameter */) { + if (declaration.kind === 149 /* Parameter */) { var func = declaration.parent; // For a parameter of a set accessor, use the type of the get accessor if one is present - if (func.kind === 156 /* SetAccessor */ && !hasNonBindableDynamicName(func)) { - var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 155 /* GetAccessor */); + if (func.kind === 157 /* SetAccessor */ && !hasNonBindableDynamicName(func)) { + var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 156 /* GetAccessor */); if (getter) { var getterSignature = getSignatureFromDeclaration(getter); var thisParameter = getAccessorThisParameter(func); @@ -30657,20 +30793,20 @@ var ts; var jsDocType; var _loop_3 = function (declaration) { var declarationInConstructor = false; - var expression = declaration.kind === 199 /* BinaryExpression */ ? declaration : - declaration.kind === 184 /* PropertyAccessExpression */ ? ts.cast(declaration.parent, ts.isBinaryExpression) : + var expression = declaration.kind === 200 /* BinaryExpression */ ? declaration : + declaration.kind === 185 /* PropertyAccessExpression */ ? ts.cast(declaration.parent, ts.isBinaryExpression) : undefined; if (!expression) { - return { value: unknownType }; + return { value: errorType }; } var special = ts.getSpecialPropertyAssignmentKind(expression); if (special === 4 /* ThisProperty */) { var thisContainer = ts.getThisContainer(expression, /*includeArrowFunctions*/ false); // Properties defined in a constructor (or base constructor, or javascript constructor function) don't get undefined added. // Function expressions that are assigned to the prototype count as methods. - declarationInConstructor = thisContainer.kind === 154 /* Constructor */ || - thisContainer.kind === 233 /* FunctionDeclaration */ || - (thisContainer.kind === 191 /* FunctionExpression */ && !ts.isPrototypePropertyAssignment(thisContainer.parent)); + declarationInConstructor = thisContainer.kind === 155 /* Constructor */ || + thisContainer.kind === 234 /* FunctionDeclaration */ || + (thisContainer.kind === 192 /* FunctionExpression */ && !ts.isPrototypePropertyAssignment(thisContainer.parent)); if (declarationInConstructor) { definedInConstructor = true; } @@ -30685,7 +30821,7 @@ var ts; if (!jsDocType) { jsDocType = declarationType; } - else if (jsDocType !== unknownType && declarationType !== unknownType && + else if (jsDocType !== errorType && declarationType !== errorType && !isTypeIdenticalTo(jsDocType, declarationType) && !(symbol.flags & 67108864 /* JSContainer */)) { errorNextVariableOrPropertyDeclarationMustHaveSameType(jsDocType, declaration, declarationType); @@ -30742,11 +30878,11 @@ var ts; definedInConstructor = true; } } - var sourceTypes = ts.some(constructorTypes, function (t) { return !!(t.flags & ~(12288 /* Nullable */ | 16777216 /* ContainsWideningType */)); }) ? constructorTypes : types; + var sourceTypes = ts.some(constructorTypes, function (t) { return !!(t.flags & ~(24576 /* Nullable */ | 134217728 /* ContainsWideningType */)); }) ? constructorTypes : types; // TODO: GH#18217 type = getUnionType(sourceTypes, 2 /* Subtype */); } var widened = getWidenedType(addOptionality(type, definedInMethod && !definedInConstructor)); - if (filterType(widened, function (t) { return !!(t.flags & ~12288 /* Nullable */); }) === neverType) { + if (filterType(widened, function (t) { return !!(t.flags & ~24576 /* Nullable */); }) === neverType) { if (noImplicitAny) { reportImplicitAnyError(symbol.valueDeclaration, anyType); } @@ -30807,7 +30943,7 @@ var ts; members.set(symbol.escapedName, symbol); }); var result = createAnonymousType(undefined, members, ts.emptyArray, ts.emptyArray, stringIndexInfo, undefined); - result.flags |= 33554432 /* ContainsObjectLiteral */; + result.flags |= 268435456 /* ContainsObjectLiteral */; result.objectFlags |= objectFlags; if (includePatternInType) { result.pattern = pattern; @@ -30818,7 +30954,7 @@ var ts; function getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors) { var elements = pattern.elements; var lastElement = ts.lastOrUndefined(elements); - if (elements.length === 0 || (!ts.isOmittedExpression(lastElement) && lastElement.dotDotDotToken)) { + if (!lastElement || (!ts.isOmittedExpression(lastElement) && lastElement.dotDotDotToken)) { return languageVersion >= 2 /* ES2015 */ ? createIterableType(anyType) : anyArrayType; } // If the pattern has at least one element, and no rest element, then it should imply a tuple type. @@ -30838,7 +30974,9 @@ var ts; // parameter with no type annotation or initializer, the type implied by the binding pattern becomes the type of // the parameter. function getTypeFromBindingPattern(pattern, includePatternInType, reportErrors) { - return pattern.kind === 179 /* ObjectBindingPattern */ + if (includePatternInType === void 0) { includePatternInType = false; } + if (reportErrors === void 0) { reportErrors = false; } + return pattern.kind === 180 /* ObjectBindingPattern */ ? getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) : getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors); } @@ -30858,7 +30996,7 @@ var ts; reportErrorsFromWidening(declaration, type); } // always widen a 'unique symbol' type if the type was created for a different declaration. - if (type.flags & 1024 /* UniqueESSymbol */ && (ts.isBindingElement(declaration) || !declaration.type) && type.symbol !== getSymbolOfNode(declaration)) { + if (type.flags & 2048 /* UniqueESSymbol */ && (ts.isBindingElement(declaration) || !declaration.type) && type.symbol !== getSymbolOfNode(declaration)) { type = esSymbolType; } return getWidenedType(type); @@ -30875,7 +31013,7 @@ var ts; } function declarationBelongsToPrivateAmbientMember(declaration) { var root = ts.getRootDeclaration(declaration); - var memberDeclaration = root.kind === 148 /* Parameter */ ? root.parent : root; + var memberDeclaration = root.kind === 149 /* Parameter */ ? root.parent : root; return isPrivateWithinAmbient(memberDeclaration); } function tryGetTypeFromEffectiveTypeNode(declaration) { @@ -30905,7 +31043,7 @@ var ts; var jsonSourceFile = ts.cast(declaration, ts.isJsonSourceFile); return links.type = jsonSourceFile.statements.length ? checkExpression(jsonSourceFile.statements[0].expression) : emptyObjectType; } - if (declaration.kind === 248 /* ExportAssignment */) { + if (declaration.kind === 249 /* ExportAssignment */) { return links.type = checkExpression(declaration.expression); } if (ts.isInJavaScriptFile(declaration) && ts.isJSDocPropertyLikeTag(declaration) && declaration.typeExpression) { @@ -30913,7 +31051,7 @@ var ts; } // Handle variable, parameter or property if (!pushTypeResolution(symbol, 0 /* Type */)) { - return unknownType; + return errorType; } var type = void 0; // Handle certain special assignment kinds, which happen to union across multiple declarations: @@ -30921,13 +31059,15 @@ var ts; // * exports.p = expr // * this.p = expr // * className.prototype.method = expr - if (declaration.kind === 199 /* BinaryExpression */ || - declaration.kind === 184 /* PropertyAccessExpression */ && declaration.parent.kind === 199 /* BinaryExpression */) { + if (declaration.kind === 200 /* BinaryExpression */ || + declaration.kind === 185 /* PropertyAccessExpression */ && declaration.parent.kind === 200 /* BinaryExpression */) { type = getWidenedTypeFromJSSpecialPropertyDeclarations(symbol); } else if (ts.isJSDocPropertyLikeTag(declaration) || ts.isPropertyAccessExpression(declaration) || ts.isIdentifier(declaration) + || ts.isClassDeclaration(declaration) + || ts.isFunctionDeclaration(declaration) || (ts.isMethodDeclaration(declaration) && !ts.isObjectLiteralMethod(declaration)) || ts.isMethodSignature(declaration)) { // Symbol is property of some kind that is merged with something - should use `getTypeOfFuncClassEnumModule` and not `getTypeOfVariableOrParameterOrProperty` @@ -30956,7 +31096,7 @@ var ts; type = getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true); } else { - ts.Debug.fail("Unhandled declaration kind! " + ts.Debug.showSyntaxKind(declaration)); + return ts.Debug.fail("Unhandled declaration kind! " + ts.Debug.showSyntaxKind(declaration) + " for " + ts.Debug.showSymbol(symbol)); } if (!popTypeResolution()) { type = reportCircularityError(symbol); @@ -30967,7 +31107,7 @@ var ts; } function getAnnotatedAccessorType(accessor) { if (accessor) { - if (accessor.kind === 155 /* GetAccessor */) { + if (accessor.kind === 156 /* GetAccessor */) { var getterTypeAnnotation = ts.getEffectiveReturnTypeNode(accessor); return getterTypeAnnotation && getTypeFromTypeNode(getterTypeAnnotation); } @@ -30988,8 +31128,8 @@ var ts; function getTypeOfAccessors(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { - var getter = ts.getDeclarationOfKind(symbol, 155 /* GetAccessor */); - var setter = ts.getDeclarationOfKind(symbol, 156 /* SetAccessor */); + var getter = ts.getDeclarationOfKind(symbol, 156 /* GetAccessor */); + var setter = ts.getDeclarationOfKind(symbol, 157 /* SetAccessor */); if (getter && ts.isInJavaScriptFile(getter)) { var jsDocType = getTypeForDeclarationFromJSDocComment(getter); if (jsDocType) { @@ -30997,7 +31137,7 @@ var ts; } } if (!pushTypeResolution(symbol, 0 /* Type */)) { - return unknownType; + return errorType; } var type = void 0; // First try to see if the user specified a return type on the get-accessor. @@ -31034,7 +31174,7 @@ var ts; if (!popTypeResolution()) { type = anyType; if (noImplicitAny) { - var getter_1 = ts.getDeclarationOfKind(symbol, 155 /* GetAccessor */); + var getter_1 = ts.getDeclarationOfKind(symbol, 156 /* GetAccessor */); error(getter_1, ts.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, symbolToString(symbol)); } } @@ -31044,16 +31184,33 @@ var ts; } function getBaseTypeVariableOfClass(symbol) { var baseConstructorType = getBaseConstructorTypeOfClass(getDeclaredTypeOfClassOrInterface(symbol)); - return baseConstructorType.flags & 1081344 /* TypeVariable */ ? baseConstructorType : undefined; + return baseConstructorType.flags & 2162688 /* TypeVariable */ ? baseConstructorType : undefined; } function getTypeOfFuncClassEnumModule(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { + var jsDeclaration = ts.getDeclarationOfJSInitializer(symbol.valueDeclaration); + if (jsDeclaration) { + var jsSymbol = getSymbolOfNode(jsDeclaration); + if (jsSymbol && (ts.hasEntries(jsSymbol.exports) || ts.hasEntries(jsSymbol.members))) { + symbol = cloneSymbol(symbol); + // note:we overwrite links because we just cloned the symbol + links = symbol; + if (ts.hasEntries(jsSymbol.exports)) { + symbol.exports = symbol.exports || ts.createSymbolTable(); + mergeSymbolTable(symbol.exports, jsSymbol.exports); + } + if (ts.hasEntries(jsSymbol.members)) { + symbol.members = symbol.members || ts.createSymbolTable(); + mergeSymbolTable(symbol.members, jsSymbol.members); + } + } + } if (symbol.flags & 1536 /* Module */ && ts.isShorthandAmbientModuleSymbol(symbol)) { links.type = anyType; } - else if (symbol.valueDeclaration.kind === 199 /* BinaryExpression */ || - symbol.valueDeclaration.kind === 184 /* PropertyAccessExpression */ && symbol.valueDeclaration.parent.kind === 199 /* BinaryExpression */) { + else if (symbol.valueDeclaration.kind === 200 /* BinaryExpression */ || + symbol.valueDeclaration.kind === 185 /* PropertyAccessExpression */ && symbol.valueDeclaration.parent.kind === 200 /* BinaryExpression */) { links.type = getWidenedTypeFromJSSpecialPropertyDeclarations(symbol); } else { @@ -31087,7 +31244,7 @@ var ts; // up recursively calling getTypeOfAlias, causing a stack overflow. links.type = targetSymbol.flags & 67216319 /* Value */ ? getTypeOfSymbol(targetSymbol) - : unknownType; + : errorType; } return links.type; } @@ -31096,11 +31253,11 @@ var ts; if (!links.type) { if (symbolInstantiationDepth === 100) { error(symbol.valueDeclaration, ts.Diagnostics.Generic_type_instantiation_is_excessively_deep_and_possibly_infinite); - links.type = unknownType; + links.type = errorType; } else { if (!pushTypeResolution(symbol, 0 /* Type */)) { - return unknownType; + return errorType; } symbolInstantiationDepth++; var type = instantiateType(getTypeOfSymbol(links.target), links.mapper); @@ -31117,7 +31274,7 @@ var ts; // Check if variable has type annotation that circularly references the variable itself if (ts.getEffectiveTypeAnnotationNode(symbol.valueDeclaration)) { error(symbol.valueDeclaration, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, symbolToString(symbol)); - return unknownType; + return errorType; } // Otherwise variable has initializer that circularly references the variable itself if (noImplicitAny) { @@ -31147,7 +31304,7 @@ var ts; if (symbol.flags & 2097152 /* Alias */) { return getTypeOfAlias(symbol); } - return unknownType; + return errorType; } function isReferenceToType(type, target) { return type !== undefined @@ -31158,16 +31315,18 @@ var ts; function getTargetType(type) { return ts.getObjectFlags(type) & 4 /* Reference */ ? type.target : type; } + // TODO: GH#18217 If `checkBase` is undefined, we should not call this because this will always return false. function hasBaseType(type, checkBase) { return check(type); function check(type) { if (ts.getObjectFlags(type) & (3 /* ClassOrInterface */ | 4 /* Reference */)) { var target = getTargetType(type); - return target === checkBase || ts.forEach(getBaseTypes(target), check); + return target === checkBase || ts.some(getBaseTypes(target), check); } - else if (type.flags & 262144 /* Intersection */) { - return ts.forEach(type.types, check); + else if (type.flags & 524288 /* Intersection */) { + return ts.some(type.types, check); } + return false; } } // Appends the type parameters given by a list of declarations to a set of type parameters and returns the resulting set. @@ -31183,40 +31342,40 @@ var ts; // Return the outer type parameters of a node or undefined if the node has no outer type parameters. function getOuterTypeParameters(node, includeThisTypes) { while (true) { - node = node.parent; + node = node.parent; // TODO: GH#18217 Use SourceFile kind check instead if (!node) { return undefined; } switch (node.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 152 /* MethodSignature */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 283 /* JSDocFunctionType */: - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 236 /* TypeAliasDeclaration */: - case 295 /* JSDocTemplateTag */: - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: - case 176 /* MappedType */: - case 170 /* ConditionalType */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 153 /* MethodSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 284 /* JSDocFunctionType */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 237 /* TypeAliasDeclaration */: + case 296 /* JSDocTemplateTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 177 /* MappedType */: + case 171 /* ConditionalType */: var outerTypeParameters = getOuterTypeParameters(node, includeThisTypes); - if (node.kind === 176 /* MappedType */) { + if (node.kind === 177 /* MappedType */) { return ts.append(outerTypeParameters, getDeclaredTypeOfTypeParameter(getSymbolOfNode(node.typeParameter))); } - else if (node.kind === 170 /* ConditionalType */) { + else if (node.kind === 171 /* ConditionalType */) { return ts.concatenate(outerTypeParameters, getInferTypeParameters(node)); } var outerAndOwnTypeParameters = appendTypeParameters(outerTypeParameters, ts.getEffectiveTypeParameterDeclarations(node)); var thisType = includeThisTypes && - (node.kind === 234 /* ClassDeclaration */ || node.kind === 204 /* ClassExpression */ || node.kind === 235 /* InterfaceDeclaration */) && + (node.kind === 235 /* ClassDeclaration */ || node.kind === 205 /* ClassExpression */ || node.kind === 236 /* InterfaceDeclaration */) && getDeclaredTypeOfClassOrInterface(getSymbolOfNode(node)).thisType; return thisType ? ts.append(outerAndOwnTypeParameters, thisType) : outerAndOwnTypeParameters; } @@ -31224,7 +31383,7 @@ var ts; } // The outer type parameters are those defined by enclosing generic classes, methods, or functions. function getOuterTypeParametersOfClassOrInterface(symbol) { - var declaration = symbol.flags & 32 /* Class */ ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 235 /* InterfaceDeclaration */); + var declaration = symbol.flags & 32 /* Class */ ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 236 /* InterfaceDeclaration */); return getOuterTypeParameters(declaration); } // The local type parameters are the combined set of type parameters from all declarations of the class, @@ -31233,9 +31392,9 @@ var ts; var result; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var node = _a[_i]; - if (node.kind === 235 /* InterfaceDeclaration */ || - node.kind === 234 /* ClassDeclaration */ || - node.kind === 204 /* ClassExpression */ || + if (node.kind === 236 /* InterfaceDeclaration */ || + node.kind === 235 /* ClassDeclaration */ || + node.kind === 205 /* ClassExpression */ || ts.isTypeAlias(node)) { var declaration = node; result = appendTypeParameters(result, ts.getEffectiveTypeParameterDeclarations(declaration)); @@ -31262,9 +31421,9 @@ var ts; if (isValidBaseType(type) && getSignaturesOfType(type, 1 /* Construct */).length > 0) { return true; } - if (type.flags & 1081344 /* TypeVariable */) { + if (type.flags & 2162688 /* TypeVariable */) { var constraint = getBaseConstraintOfType(type); - return constraint && isValidBaseType(constraint) && isMixinConstructorType(constraint); + return !!constraint && isValidBaseType(constraint) && isMixinConstructorType(constraint); } return false; } @@ -31306,25 +31465,25 @@ var ts; return type.resolvedBaseConstructorType = undefinedType; } if (!pushTypeResolution(type, 1 /* ResolvedBaseConstructorType */)) { - return unknownType; + return errorType; } var baseConstructorType = checkExpression(baseTypeNode.expression); if (extended && baseTypeNode !== extended) { ts.Debug.assert(!extended.typeArguments); // Because this is in a JS file, and baseTypeNode is in an @extends tag checkExpression(extended.expression); } - if (baseConstructorType.flags & (65536 /* Object */ | 262144 /* Intersection */)) { + if (baseConstructorType.flags & (131072 /* Object */ | 524288 /* Intersection */)) { // Resolving the members of a class requires us to resolve the base class of that class. // We force resolution here such that we catch circularities now. resolveStructuredTypeMembers(baseConstructorType); } if (!popTypeResolution()) { error(type.symbol.valueDeclaration, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression, symbolToString(type.symbol)); - return type.resolvedBaseConstructorType = unknownType; + return type.resolvedBaseConstructorType = errorType; } if (!(baseConstructorType.flags & 1 /* Any */) && baseConstructorType !== nullWideningType && !isConstructorType(baseConstructorType)) { error(baseTypeNode.expression, ts.Diagnostics.Type_0_is_not_a_constructor_function_type, typeToString(baseConstructorType)); - return type.resolvedBaseConstructorType = unknownType; + return type.resolvedBaseConstructorType = errorType; } type.resolvedBaseConstructorType = baseConstructorType; } @@ -31352,7 +31511,7 @@ var ts; function resolveBaseTypesOfClass(type) { type.resolvedBaseTypes = ts.resolvingEmptyArray; var baseConstructorType = getApparentType(getBaseConstructorTypeOfClass(type)); - if (!(baseConstructorType.flags & (65536 /* Object */ | 262144 /* Intersection */ | 1 /* Any */))) { + if (!(baseConstructorType.flags & (131072 /* Object */ | 524288 /* Intersection */ | 1 /* Any */))) { return type.resolvedBaseTypes = ts.emptyArray; } var baseTypeNode = getBaseTypeNodeOfClass(type); @@ -31380,7 +31539,7 @@ var ts; } baseType = getReturnTypeOfSignature(constructors[0]); } - if (baseType === unknownType) { + if (baseType === errorType) { return type.resolvedBaseTypes = ts.emptyArray; } if (!isValidBaseType(baseType)) { @@ -31396,7 +31555,7 @@ var ts; // (otherwise there'd be an error from hasBaseType) - this is fine, but `.members` should be reset // as `getIndexedAccessType` via `instantiateType` via `getTypeFromClassOrInterfaceReference` forces a // partial instantiation of the members without the base types fully resolved - type.members = undefined; + type.members = undefined; // TODO: GH#18217 } return type.resolvedBaseTypes = [baseType]; } @@ -31414,18 +31573,18 @@ var ts; // A valid base type is `any`, any non-generic object type or intersection of non-generic // object types. function isValidBaseType(type) { - return type.flags & (65536 /* Object */ | 134217728 /* NonPrimitive */ | 1 /* Any */) && !isGenericMappedType(type) || - type.flags & 262144 /* Intersection */ && !ts.forEach(type.types, function (t) { return !isValidBaseType(t); }); + return !!(type.flags & (131072 /* Object */ | 16777216 /* NonPrimitive */ | 1 /* Any */)) && !isGenericMappedType(type) || + !!(type.flags & 524288 /* Intersection */) && !ts.some(type.types, function (t) { return !isValidBaseType(t); }); } function resolveBaseTypesOfInterface(type) { type.resolvedBaseTypes = type.resolvedBaseTypes || ts.emptyArray; for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 235 /* InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) { + if (declaration.kind === 236 /* InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) { for (var _b = 0, _c = ts.getInterfaceBaseTypeNodes(declaration); _b < _c.length; _b++) { var node = _c[_b]; var baseType = getTypeFromTypeNode(node); - if (baseType !== unknownType) { + if (baseType !== errorType) { if (isValidBaseType(baseType)) { if (type !== baseType && !hasBaseType(baseType, type)) { if (type.resolvedBaseTypes === ts.emptyArray) { @@ -31457,7 +31616,7 @@ var ts; function isThislessInterface(symbol) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 235 /* InterfaceDeclaration */) { + if (declaration.kind === 236 /* InterfaceDeclaration */) { if (declaration.flags & 64 /* ContainsThis */) { return false; } @@ -31498,7 +31657,7 @@ var ts; type.instantiations.set(getTypeListId(type.typeParameters), type); type.target = type; type.typeArguments = type.typeParameters; - type.thisType = createType(32768 /* TypeParameter */); + type.thisType = createType(65536 /* TypeParameter */); type.thisType.isThisType = true; type.thisType.symbol = symbol; type.thisType.constraint = type; @@ -31512,14 +31671,14 @@ var ts; // Note that we use the links object as the target here because the symbol object is used as the unique // identity for resolution of the 'type' property in SymbolLinks. if (!pushTypeResolution(symbol, 2 /* DeclaredType */)) { - return unknownType; + return errorType; } var declaration = ts.find(symbol.declarations, function (d) { - return ts.isJSDocTypeAlias(d) || d.kind === 236 /* TypeAliasDeclaration */; + return ts.isJSDocTypeAlias(d) || d.kind === 237 /* TypeAliasDeclaration */; }); var typeNode = ts.isJSDocTypeAlias(declaration) ? declaration.typeExpression : declaration.type; // If typeNode is missing, we will error in checkJSDocTypedefTag. - var type = typeNode ? getTypeFromTypeNode(typeNode) : unknownType; + var type = typeNode ? getTypeFromTypeNode(typeNode) : errorType; if (popTypeResolution()) { var typeParameters = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol); if (typeParameters) { @@ -31531,7 +31690,7 @@ var ts; } } else { - type = unknownType; + type = errorType; error(declaration.name, ts.Diagnostics.Type_alias_0_circularly_references_itself, symbolToString(symbol)); } links.declaredType = type; @@ -31542,7 +31701,7 @@ var ts; if (expr.kind === 9 /* StringLiteral */) { return true; } - else if (expr.kind === 199 /* BinaryExpression */) { + else if (expr.kind === 200 /* BinaryExpression */) { return isStringConcatExpression(expr.left) && isStringConcatExpression(expr.right); } return false; @@ -31556,12 +31715,12 @@ var ts; case 9 /* StringLiteral */: case 8 /* NumericLiteral */: return true; - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return expr.operator === 38 /* MinusToken */ && expr.operand.kind === 8 /* NumericLiteral */; case 71 /* Identifier */: return ts.nodeIsMissing(expr) || !!getSymbolOfNode(member.parent).exports.get(expr.escapedText); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return isStringConcatExpression(expr); default: return false; @@ -31575,7 +31734,7 @@ var ts; var hasNonLiteralMember = false; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 237 /* EnumDeclaration */) { + if (declaration.kind === 238 /* EnumDeclaration */) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; if (member.initializer && member.initializer.kind === 9 /* StringLiteral */) { @@ -31590,7 +31749,7 @@ var ts; return links.enumKind = hasNonLiteralMember ? 0 /* Numeric */ : 1 /* Literal */; } function getBaseTypeOfEnumLiteralType(type) { - return type.flags & 256 /* EnumLiteral */ && !(type.flags & 131072 /* Union */) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; + return type.flags & 512 /* EnumLiteral */ && !(type.flags & 262144 /* Union */) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; } function getDeclaredTypeOfEnum(symbol) { var links = getSymbolLinks(symbol); @@ -31602,10 +31761,10 @@ var ts; var memberTypeList = []; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 237 /* EnumDeclaration */) { + if (declaration.kind === 238 /* EnumDeclaration */) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; - var memberType = getLiteralType(getEnumMemberValue(member), enumCount, getSymbolOfNode(member)); + var memberType = getLiteralType(getEnumMemberValue(member), enumCount, getSymbolOfNode(member)); // TODO: GH#18217 getSymbolLinks(getSymbolOfNode(member)).declaredType = memberType; memberTypeList.push(memberType); } @@ -31613,14 +31772,14 @@ var ts; } if (memberTypeList.length) { var enumType_1 = getUnionType(memberTypeList, 1 /* Literal */, symbol, /*aliasTypeArguments*/ undefined); - if (enumType_1.flags & 131072 /* Union */) { - enumType_1.flags |= 256 /* EnumLiteral */; + if (enumType_1.flags & 262144 /* Union */) { + enumType_1.flags |= 512 /* EnumLiteral */; enumType_1.symbol = symbol; } return links.declaredType = enumType_1; } } - var enumType = createType(16 /* Enum */); + var enumType = createType(32 /* Enum */); enumType.symbol = symbol; return links.declaredType = enumType; } @@ -31637,7 +31796,7 @@ var ts; function getDeclaredTypeOfTypeParameter(symbol) { var links = getSymbolLinks(symbol); if (!links.declaredType) { - var type = createType(32768 /* TypeParameter */); + var type = createType(65536 /* TypeParameter */); type.symbol = symbol; links.declaredType = type; } @@ -31651,7 +31810,7 @@ var ts; return links.declaredType; } function getDeclaredTypeOfSymbol(symbol) { - return tryGetDeclaredTypeOfSymbol(symbol) || unknownType; + return tryGetDeclaredTypeOfSymbol(symbol) || errorType; } function tryGetDeclaredTypeOfSymbol(symbol) { if (symbol.flags & (32 /* Class */ | 64 /* Interface */)) { @@ -31682,6 +31841,7 @@ var ts; function isThislessType(node) { switch (node.kind) { case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 137 /* StringKeyword */: case 134 /* NumberKeyword */: case 122 /* BooleanKeyword */: @@ -31691,11 +31851,11 @@ var ts; case 140 /* UndefinedKeyword */: case 95 /* NullKeyword */: case 131 /* NeverKeyword */: - case 177 /* LiteralType */: + case 178 /* LiteralType */: return true; - case 166 /* ArrayType */: + case 167 /* ArrayType */: return isThislessType(node.elementType); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return !node.typeArguments || node.typeArguments.every(isThislessType); } return false; @@ -31720,7 +31880,7 @@ var ts; function isThislessFunctionLikeDeclaration(node) { var returnType = ts.getEffectiveReturnTypeNode(node); var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); - return (node.kind === 154 /* Constructor */ || (returnType && isThislessType(returnType))) && + return (node.kind === 155 /* Constructor */ || (!!returnType && isThislessType(returnType))) && node.parameters.every(isThislessVariableLikeDeclaration) && typeParameters.every(isThislessTypeParameter); } @@ -31736,12 +31896,12 @@ var ts; var declaration = symbol.declarations[0]; if (declaration) { switch (declaration.kind) { - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return isThislessVariableLikeDeclaration(declaration); - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: return isThislessFunctionLikeDeclaration(declaration); } } @@ -31785,7 +31945,7 @@ var ts; * Indicates whether a type can be used as a late-bound name. */ function isTypeUsableAsLateBoundName(type) { - return !!(type.flags & 1120 /* StringOrNumberLiteralOrUnique */); + return !!(type.flags & 2240 /* StringOrNumberLiteralOrUnique */); } /** * Indicates whether a declaration name is definitely late-bindable. @@ -31805,7 +31965,7 @@ var ts; */ function hasLateBindableName(node) { var name = ts.getNameOfDeclaration(node); - return name && isLateBindableName(name); + return !!name && isLateBindableName(name); } /** * Indicates whether a declaration has a dynamic name that cannot be late-bound. @@ -31823,12 +31983,13 @@ var ts; * Gets the symbolic name for a late-bound member from its type. */ function getLateBoundNameFromType(type) { - if (type.flags & 1024 /* UniqueESSymbol */) { + if (type.flags & 2048 /* UniqueESSymbol */) { return "__@" + type.symbol.escapedName + "@" + getSymbolId(type.symbol); } - if (type.flags & 96 /* StringOrNumberLiteral */) { + if (type.flags & 192 /* StringOrNumberLiteral */) { return ts.escapeLeadingUnderscores("" + type.value); } + return ts.Debug.fail(); } /** * Adds a declaration to a late-bound dynamic member. This performs the same function for @@ -31846,8 +32007,7 @@ var ts; symbol.declarations.push(member); } if (symbolFlags & 67216319 /* Value */) { - var valueDeclaration = symbol.valueDeclaration; - if (!valueDeclaration || valueDeclaration.kind !== member.kind) { + if (!symbol.valueDeclaration || symbol.valueDeclaration.kind !== member.kind) { symbol.valueDeclaration = member; } } @@ -31991,7 +32151,7 @@ var ts; return needApparentType ? getApparentType(ref) : ref; } } - else if (type.flags & 262144 /* Intersection */) { + else if (type.flags & 524288 /* Intersection */) { return getIntersectionType(ts.map(type.types, function (t) { return getTypeWithThisArgument(t, thisArgument, needApparentType); })); } return needApparentType ? getApparentType(type) : type; @@ -32075,7 +32235,7 @@ var ts; var baseConstructorType = getBaseConstructorTypeOfClass(classType); var baseSignatures = getSignaturesOfType(baseConstructorType, 1 /* Construct */); if (baseSignatures.length === 0) { - return [createSignature(undefined, classType.localTypeParameters, undefined, ts.emptyArray, classType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false)]; + return [createSignature(undefined, classType.localTypeParameters, undefined, ts.emptyArray, classType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false)]; // TODO: GH#18217 } var baseTypeNode = getBaseTypeNodeOfClass(classType); var isJavaScript = ts.isInJavaScriptFile(baseTypeNode); @@ -32147,6 +32307,7 @@ var ts; if (unionSignatures.length > 1) { var thisParameter = signature.thisParameter; if (ts.forEach(unionSignatures, function (sig) { return sig.thisParameter; })) { + // TODO: GH#18217 We tested that *some* has thisParameter and now act as if *all* do var thisType = getUnionType(ts.map(unionSignatures, function (sig) { return sig.thisParameter ? getTypeOfSymbol(sig.thisParameter) : anyType; }), 2 /* Subtype */); thisParameter = createSymbolWithType(signature.thisParameter, thisType); } @@ -32273,7 +32434,7 @@ var ts; if (symbol.flags & 32 /* Class */) { var classType = getDeclaredTypeOfClassOrInterface(symbol); var baseConstructorType = getBaseConstructorTypeOfClass(classType); - if (baseConstructorType.flags & (65536 /* Object */ | 262144 /* Intersection */ | 1081344 /* TypeVariable */)) { + if (baseConstructorType.flags & (131072 /* Object */ | 524288 /* Intersection */ | 2162688 /* TypeVariable */)) { members = ts.createSymbolTable(getNamedMembers(members)); addInheritedMembers(members, getPropertiesOfType(baseConstructorType)); } @@ -32334,7 +32495,7 @@ var ts; var templateType = getTemplateTypeFromMappedType(type.target || type); var modifiersType = getApparentType(getModifiersTypeFromMappedType(type)); // The 'T' in 'keyof T' var templateModifiers = getMappedTypeModifiers(type); - var include = keyofStringsOnly ? 32 /* StringLiteral */ : 1120 /* StringOrNumberLiteralOrUnique */; + var include = keyofStringsOnly ? 64 /* StringLiteral */ : 2240 /* StringOrNumberLiteralOrUnique */; if (isMappedTypeWithKeyofConstraintDeclaration(type)) { // We have a { [P in keyof T]: X } for (var _i = 0, _a = getPropertiesOfType(modifiersType); _i < _a.length; _i++) { @@ -32352,8 +32513,8 @@ var ts; // First, if the constraint type is a type parameter, obtain the base constraint. Then, // if the key type is a 'keyof X', obtain 'keyof C' where C is the base constraint of X. // Finally, iterate over the constituents of the resulting iteration type. - var keyType = constraintType.flags & 7372800 /* InstantiableNonPrimitive */ ? getApparentType(constraintType) : constraintType; - var iterationType = keyType.flags & 524288 /* Index */ ? getIndexType(getApparentType(keyType.type)) : keyType; + var keyType = constraintType.flags & 14745600 /* InstantiableNonPrimitive */ ? getApparentType(constraintType) : constraintType; + var iterationType = keyType.flags & 1048576 /* Index */ ? getIndexType(getApparentType(keyType.type)) : keyType; forEachType(iterationType, addMemberForKeyType); } setStructuredTypeMembers(type, members, ts.emptyArray, ts.emptyArray, stringIndexInfo, numberIndexInfo); @@ -32365,7 +32526,7 @@ var ts; var propType = instantiateType(templateType, templateMapper); // If the current iteration type constituent is a string literal type, create a property. // Otherwise, for type string create a string index signature. - if (t.flags & 1120 /* StringOrNumberLiteralOrUnique */) { + if (t.flags & 2240 /* StringOrNumberLiteralOrUnique */) { var propName = getLateBoundNameFromType(t); var modifiersProp = getPropertyOfType(modifiersType, propName); var isOptional = !!(templateModifiers & 4 /* IncludeOptional */ || @@ -32386,10 +32547,10 @@ var ts; prop.nameType = t; members.set(propName, prop); } - else if (t.flags & (1 /* Any */ | 2 /* String */)) { + else if (t.flags & (1 /* Any */ | 4 /* String */)) { stringIndexInfo = createIndexInfo(propType, !!(templateModifiers & 1 /* IncludeReadonly */)); } - else if (t.flags & 4 /* Number */) { + else if (t.flags & 8 /* Number */) { numberIndexInfo = createIndexInfo(propType, !!(templateModifiers & 1 /* IncludeReadonly */)); } } @@ -32400,20 +32561,20 @@ var ts; } function getConstraintTypeFromMappedType(type) { return type.constraintType || - (type.constraintType = instantiateType(getConstraintOfTypeParameter(getTypeParameterFromMappedType(type)), type.mapper || identityMapper) || unknownType); + (type.constraintType = instantiateType(getConstraintOfTypeParameter(getTypeParameterFromMappedType(type)), type.mapper || identityMapper) || errorType); } function getTemplateTypeFromMappedType(type) { return type.templateType || (type.templateType = type.declaration.type ? instantiateType(addOptionality(getTypeFromTypeNode(type.declaration.type), !!(getMappedTypeModifiers(type) & 4 /* IncludeOptional */)), type.mapper || identityMapper) : - unknownType); + errorType); } function getConstraintDeclarationForMappedType(type) { return type.declaration.typeParameter.constraint; } function isMappedTypeWithKeyofConstraintDeclaration(type) { - var constraintDeclaration = getConstraintDeclarationForMappedType(type); - return constraintDeclaration.kind === 174 /* TypeOperator */ && + var constraintDeclaration = getConstraintDeclarationForMappedType(type); // TODO: GH#18217 + return constraintDeclaration.kind === 175 /* TypeOperator */ && constraintDeclaration.operator === 128 /* KeyOfKeyword */; } function getModifiersTypeFromMappedType(type) { @@ -32430,8 +32591,8 @@ var ts; // the modifiers type is T. Otherwise, the modifiers type is {}. var declaredType = getTypeFromMappedTypeNode(type.declaration); var constraint = getConstraintTypeFromMappedType(declaredType); - var extendedConstraint = constraint && constraint.flags & 32768 /* TypeParameter */ ? getConstraintOfTypeParameter(constraint) : constraint; - type.modifiersType = extendedConstraint && extendedConstraint.flags & 524288 /* Index */ ? instantiateType(extendedConstraint.type, type.mapper || identityMapper) : emptyObjectType; + var extendedConstraint = constraint && constraint.flags & 65536 /* TypeParameter */ ? getConstraintOfTypeParameter(constraint) : constraint; + type.modifiersType = extendedConstraint && extendedConstraint.flags & 1048576 /* Index */ ? instantiateType(extendedConstraint.type, type.mapper || identityMapper) : emptyObjectType; } } return type.modifiersType; @@ -32454,11 +32615,11 @@ var ts; return !!(ts.getObjectFlags(type) & 32 /* Mapped */ && getMappedTypeModifiers(type) & 4 /* IncludeOptional */); } function isGenericMappedType(type) { - return ts.getObjectFlags(type) & 32 /* Mapped */ && isGenericIndexType(getConstraintTypeFromMappedType(type)); + return !!(ts.getObjectFlags(type) & 32 /* Mapped */) && isGenericIndexType(getConstraintTypeFromMappedType(type)); } function resolveStructuredTypeMembers(type) { if (!type.members) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { if (type.objectFlags & 4 /* Reference */) { resolveTypeReferenceMembers(type); } @@ -32475,10 +32636,10 @@ var ts; resolveMappedTypeMembers(type); } } - else if (type.flags & 131072 /* Union */) { + else if (type.flags & 262144 /* Union */) { resolveUnionTypeMembers(type); } - else if (type.flags & 262144 /* Intersection */) { + else if (type.flags & 524288 /* Intersection */) { resolveIntersectionTypeMembers(type); } } @@ -32486,7 +32647,7 @@ var ts; } /** Return properties of an object type or an empty array for other types */ function getPropertiesOfObjectType(type) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { return resolveStructuredTypeMembers(type).properties; } return ts.emptyArray; @@ -32495,7 +32656,7 @@ var ts; * return the symbol for that property. Otherwise return undefined. */ function getPropertyOfObjectType(type, name) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); var symbol = resolved.members.get(name); if (symbol && symbolIsValue(symbol)) { @@ -32519,7 +32680,7 @@ var ts; } // The properties of a union type are those that are present in all constituent types, so // we only need to check the properties of the first type - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { break; } } @@ -32529,13 +32690,13 @@ var ts; } function getPropertiesOfType(type) { type = getApparentType(type); - return type.flags & 393216 /* UnionOrIntersection */ ? + return type.flags & 786432 /* UnionOrIntersection */ ? getPropertiesOfUnionOrIntersectionType(type) : getPropertiesOfObjectType(type); } function getAllPossiblePropertiesOfTypes(types) { var unionType = getUnionType(types); - if (!(unionType.flags & 131072 /* Union */)) { + if (!(unionType.flags & 262144 /* Union */)) { return getAugmentedPropertiesOfType(unionType); } var props = ts.createSymbolTable(); @@ -32554,9 +32715,9 @@ var ts; return ts.arrayFrom(props.values()); } function getConstraintOfType(type) { - return type.flags & 32768 /* TypeParameter */ ? getConstraintOfTypeParameter(type) : - type.flags & 1048576 /* IndexedAccess */ ? getConstraintOfIndexedAccess(type) : - type.flags & 2097152 /* Conditional */ ? getConstraintOfConditionalType(type) : + return type.flags & 65536 /* TypeParameter */ ? getConstraintOfTypeParameter(type) : + type.flags & 2097152 /* IndexedAccess */ ? getConstraintOfIndexedAccess(type) : + type.flags & 4194304 /* Conditional */ ? getConstraintOfConditionalType(type) : getBaseConstraintOfType(type); } function getConstraintOfTypeParameter(typeParameter) { @@ -32566,12 +32727,12 @@ var ts; var objectType = getBaseConstraintOfType(type.objectType) || type.objectType; var indexType = getBaseConstraintOfType(type.indexType) || type.indexType; var constraint = !isGenericObjectType(objectType) && !isGenericIndexType(indexType) ? getIndexedAccessType(objectType, indexType) : undefined; - return constraint && constraint !== unknownType ? constraint : undefined; + return constraint && constraint !== errorType ? constraint : undefined; } function getDefaultConstraintOfConditionalType(type) { if (!type.resolvedDefaultConstraint) { var rootTrueType = type.root.trueType; - var rootTrueConstraint = rootTrueType.flags & 4194304 /* Substitution */ ? rootTrueType.substitute : rootTrueType; + var rootTrueConstraint = rootTrueType.flags & 8388608 /* Substitution */ ? rootTrueType.substitute : rootTrueType; type.resolvedDefaultConstraint = getUnionType([instantiateType(rootTrueConstraint, type.combinedMapper || type.mapper), getFalseTypeFromConditionalType(type)]); } return type.resolvedDefaultConstraint; @@ -32587,7 +32748,7 @@ var ts; if (constraint) { var mapper = makeUnaryTypeMapper(type.root.checkType, constraint); var instantiated = getConditionalTypeInstantiation(type, combineTypeMappers(mapper, type.mapper)); - if (!(instantiated.flags & 16384 /* Never */)) { + if (!(instantiated.flags & 32768 /* Never */)) { return instantiated; } } @@ -32602,23 +32763,23 @@ var ts; var hasDisjointDomainType = false; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 7897088 /* Instantiable */) { + if (t.flags & 15794176 /* Instantiable */) { // We keep following constraints as long as we have an instantiable type that is known // not to be circular or infinite (hence we stop on index access types). var constraint = getConstraintOfType(t); - while (constraint && constraint.flags & (32768 /* TypeParameter */ | 524288 /* Index */ | 2097152 /* Conditional */)) { + while (constraint && constraint.flags & (65536 /* TypeParameter */ | 1048576 /* Index */ | 4194304 /* Conditional */)) { constraint = getConstraintOfType(constraint); } if (constraint) { // A constraint that isn't a union type implies that the final type would be a non-union // type as well. Since non-union constraints are of no interest, we can exit here. - if (!(constraint.flags & 131072 /* Union */)) { + if (!(constraint.flags & 262144 /* Union */)) { return undefined; } constraints = ts.append(constraints, constraint); } } - else if (t.flags & 134233854 /* DisjointDomains */) { + else if (t.flags & 16809468 /* DisjointDomains */) { hasDisjointDomainType = true; } } @@ -32630,7 +32791,7 @@ var ts; // intersection operation to reduce the union constraints. for (var _b = 0, _c = type.types; _b < _c.length; _b++) { var t = _c[_b]; - if (t.flags & 134233854 /* DisjointDomains */) { + if (t.flags & 16809468 /* DisjointDomains */) { constraints = ts.append(constraints, t); } } @@ -32640,7 +32801,7 @@ var ts; return undefined; } function getBaseConstraintOfInstantiableNonPrimitiveUnionOrIntersection(type) { - if (type.flags & (7372800 /* InstantiableNonPrimitive */ | 393216 /* UnionOrIntersection */)) { + if (type.flags & (14745600 /* InstantiableNonPrimitive */ | 786432 /* UnionOrIntersection */)) { var constraint = getResolvedBaseConstraint(type); if (constraint !== noConstraintType && constraint !== circularConstraintType) { return constraint; @@ -32649,7 +32810,7 @@ var ts; } function getBaseConstraintOfType(type) { var constraint = getBaseConstraintOfInstantiableNonPrimitiveUnionOrIntersection(type); - if (!constraint && type.flags & 524288 /* Index */) { + if (!constraint && type.flags & 1048576 /* Index */) { return keyofConstraintType; } return constraint; @@ -32689,13 +32850,13 @@ var ts; return result; } function computeBaseConstraint(t) { - if (t.flags & 32768 /* TypeParameter */) { + if (t.flags & 65536 /* TypeParameter */) { var constraint = getConstraintFromTypeParameter(t); return t.isThisType || !constraint ? constraint : getBaseConstraint(constraint); } - if (t.flags & 393216 /* UnionOrIntersection */) { + if (t.flags & 786432 /* UnionOrIntersection */) { var types = t.types; var baseTypes = []; for (var _i = 0, types_4 = types; _i < types_4.length; _i++) { @@ -32705,24 +32866,24 @@ var ts; baseTypes.push(baseType); } } - return t.flags & 131072 /* Union */ && baseTypes.length === types.length ? getUnionType(baseTypes) : - t.flags & 262144 /* Intersection */ && baseTypes.length ? getIntersectionType(baseTypes) : + return t.flags & 262144 /* Union */ && baseTypes.length === types.length ? getUnionType(baseTypes) : + t.flags & 524288 /* Intersection */ && baseTypes.length ? getIntersectionType(baseTypes) : undefined; } - if (t.flags & 524288 /* Index */) { + if (t.flags & 1048576 /* Index */) { return keyofConstraintType; } - if (t.flags & 1048576 /* IndexedAccess */) { + if (t.flags & 2097152 /* IndexedAccess */) { var baseObjectType = getBaseConstraint(t.objectType); var baseIndexType = getBaseConstraint(t.indexType); var baseIndexedAccess = baseObjectType && baseIndexType ? getIndexedAccessType(baseObjectType, baseIndexType) : undefined; - return baseIndexedAccess && baseIndexedAccess !== unknownType ? getBaseConstraint(baseIndexedAccess) : undefined; + return baseIndexedAccess && baseIndexedAccess !== errorType ? getBaseConstraint(baseIndexedAccess) : undefined; } - if (t.flags & 2097152 /* Conditional */) { + if (t.flags & 4194304 /* Conditional */) { var constraint = getConstraintOfConditionalType(t); return constraint && getBaseConstraint(constraint); } - if (t.flags & 4194304 /* Substitution */) { + if (t.flags & 8388608 /* Substitution */) { return getBaseConstraint(t.substitute); } if (isGenericMappedType(t)) { @@ -32783,19 +32944,19 @@ var ts; * type itself. Note that the apparent type of a union type is the union type itself. */ function getApparentType(type) { - var t = type.flags & 7897088 /* Instantiable */ ? getBaseConstraintOfType(type) || emptyObjectType : type; - return t.flags & 262144 /* Intersection */ ? getApparentTypeOfIntersectionType(t) : - t.flags & 34 /* StringLike */ ? globalStringType : - t.flags & 84 /* NumberLike */ ? globalNumberType : - t.flags & 136 /* BooleanLike */ ? globalBooleanType : - t.flags & 1536 /* ESSymbolLike */ ? getGlobalESSymbolType(/*reportErrors*/ languageVersion >= 2 /* ES2015 */) : - t.flags & 134217728 /* NonPrimitive */ ? emptyObjectType : - t.flags & 524288 /* Index */ ? keyofConstraintType : + var t = type.flags & 15794176 /* Instantiable */ ? getBaseConstraintOfType(type) || emptyObjectType : type; + return t.flags & 524288 /* Intersection */ ? getApparentTypeOfIntersectionType(t) : + t.flags & 68 /* StringLike */ ? globalStringType : + t.flags & 168 /* NumberLike */ ? globalNumberType : + t.flags & 272 /* BooleanLike */ ? globalBooleanType : + t.flags & 3072 /* ESSymbolLike */ ? getGlobalESSymbolType(/*reportErrors*/ languageVersion >= 2 /* ES2015 */) : + t.flags & 16777216 /* NonPrimitive */ ? emptyObjectType : + t.flags & 1048576 /* Index */ ? keyofConstraintType : t; } function createUnionOrIntersectionProperty(containingType, name) { var props; - var isUnion = containingType.flags & 131072 /* Union */; + var isUnion = containingType.flags & 262144 /* Union */; var excludeModifiers = isUnion ? 24 /* NonPublicAccessibilityModifier */ : 0; // Flags we want to propagate to the result if they exist in all source symbols var commonFlags = isUnion ? 0 /* None */ : 16777216 /* Optional */; @@ -32804,7 +32965,7 @@ var ts; for (var _i = 0, _a = containingType.types; _i < _a.length; _i++) { var current = _a[_i]; var type = getApparentType(current); - if (type !== unknownType) { + if (type !== errorType) { var prop = getPropertyOfType(type, name); var modifiers = prop ? ts.getDeclarationModifierFlagsFromSymbol(prop) : 0; if (prop && !(modifiers & excludeModifiers)) { @@ -32900,7 +33061,7 @@ var ts; */ function getPropertyOfType(type, name) { type = getApparentType(type); - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); var symbol = resolved.members.get(name); if (symbol && symbolIsValue(symbol)) { @@ -32914,13 +33075,13 @@ var ts; } return getPropertyOfObjectType(globalObjectType, name); } - if (type.flags & 393216 /* UnionOrIntersection */) { + if (type.flags & 786432 /* UnionOrIntersection */) { return getPropertyOfUnionOrIntersectionType(type, name); } return undefined; } function getSignaturesOfStructuredType(type, kind) { - if (type.flags & 458752 /* StructuredType */) { + if (type.flags & 917504 /* StructuredType */) { var resolved = resolveStructuredTypeMembers(type); return kind === 0 /* Call */ ? resolved.callSignatures : resolved.constructSignatures; } @@ -32934,7 +33095,7 @@ var ts; return getSignaturesOfStructuredType(getApparentType(type), kind); } function getIndexInfoOfStructuredType(type, kind) { - if (type.flags & 458752 /* StructuredType */) { + if (type.flags & 917504 /* StructuredType */) { var resolved = resolveStructuredTypeMembers(type); return kind === 0 /* String */ ? resolved.stringIndexInfo : resolved.numberIndexInfo; } @@ -32990,10 +33151,10 @@ var ts; function isJSDocOptionalParameter(node) { return ts.isInJavaScriptFile(node) && ( // node.type should only be a JSDocOptionalType when node is a parameter of a JSDocFunctionType - node.type && node.type.kind === 282 /* JSDocOptionalType */ + node.type && node.type.kind === 283 /* JSDocOptionalType */ || ts.getJSDocParameterTags(node).some(function (_a) { var isBracketed = _a.isBracketed, typeExpression = _a.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 282 /* JSDocOptionalType */; + return isBracketed || !!typeExpression && typeExpression.type.kind === 283 /* JSDocOptionalType */; })); } function tryFindAmbientModule(moduleName, withAugmentations) { @@ -33027,7 +33188,7 @@ var ts; return false; } var isBracketed = node.isBracketed, typeExpression = node.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 282 /* JSDocOptionalType */; + return isBracketed || !!typeExpression && typeExpression.type.kind === 283 /* JSDocOptionalType */; } function createTypePredicateFromTypePredicateNode(node) { var parameterName = node.parameterName; @@ -33061,14 +33222,6 @@ var ts; } return minTypeArgumentCount; } - /** - * Fill in default types for unsupplied type arguments. If `typeArguments` is undefined - * when a default type is supplied, a new array will be created and returned. - * - * @param typeArguments The supplied type arguments. - * @param typeParameters The requested type parameters. - * @param minTypeArgumentCount The minimum number of required type arguments. - */ function fillMissingTypeArguments(typeArguments, typeParameters, minTypeArgumentCount, isJavaScriptImplicitAny) { var numTypeParameters = ts.length(typeParameters); if (numTypeParameters) { @@ -33103,7 +33256,7 @@ var ts; var hasLiteralTypes = false; var minArgumentCount = 0; var thisParameter = void 0; - var hasThisParameter = void 0; + var hasThisParameter = false; var iife = ts.getImmediatelyInvokedFunctionExpression(declaration); var isJSConstructSignature = ts.isJSDocConstructSignature(declaration); var isUntypedSignatureInJSFile = !iife && @@ -33130,7 +33283,7 @@ var ts; else { parameters.push(paramSymbol); } - if (type && type.kind === 177 /* LiteralType */) { + if (type && type.kind === 178 /* LiteralType */) { hasLiteralTypes = true; } // Record a new minimum argument count if this is not an optional parameter @@ -33144,16 +33297,16 @@ var ts; } } // If only one accessor includes a this-type annotation, the other behaves as if it had the same type annotation - if ((declaration.kind === 155 /* GetAccessor */ || declaration.kind === 156 /* SetAccessor */) && + if ((declaration.kind === 156 /* GetAccessor */ || declaration.kind === 157 /* SetAccessor */) && !hasNonBindableDynamicName(declaration) && (!hasThisParameter || !thisParameter)) { - var otherKind = declaration.kind === 155 /* GetAccessor */ ? 156 /* SetAccessor */ : 155 /* GetAccessor */; + var otherKind = declaration.kind === 156 /* GetAccessor */ ? 157 /* SetAccessor */ : 156 /* GetAccessor */; var other = ts.getDeclarationOfKind(getSymbolOfNode(declaration), otherKind); if (other) { thisParameter = getAnnotatedAccessorThisParameter(other); } } - var classType = declaration.kind === 154 /* Constructor */ ? + var classType = declaration.kind === 155 /* Constructor */ ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(declaration.parent.symbol)) : undefined; var typeParameters = classType ? classType.localTypeParameters : getTypeParametersFromDeclaration(declaration); @@ -33190,7 +33343,7 @@ var ts; } function getSignatureReturnTypeFromDeclaration(declaration, isJSConstructSignature, classType) { if (isJSConstructSignature) { - return getTypeFromTypeNode(declaration.parameters[0].type); + return getTypeFromTypeNode(declaration.parameters[0].type); // TODO: GH#18217 } else if (classType) { return classType; @@ -33201,8 +33354,8 @@ var ts; } // TypeScript 1.0 spec (April 2014): // If only one accessor includes a type annotation, the other behaves as if it had the same type annotation. - if (declaration.kind === 155 /* GetAccessor */ && !hasNonBindableDynamicName(declaration)) { - var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 156 /* SetAccessor */); + if (declaration.kind === 156 /* GetAccessor */ && !hasNonBindableDynamicName(declaration)) { + var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 157 /* SetAccessor */); return getAnnotatedAccessorType(setter); } if (ts.nodeIsMissing(declaration.body)) { @@ -33226,14 +33379,14 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return node.escapedText === "arguments" && ts.isExpressionNode(node); - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - return node.name.kind === 146 /* ComputedPropertyName */ + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + return node.name.kind === 147 /* ComputedPropertyName */ && traverse(node.name); default: - return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && ts.forEachChild(node, traverse); + return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && !!ts.forEachChild(node, traverse); } } } @@ -33243,19 +33396,18 @@ var ts; var result = []; for (var i = 0; i < symbol.declarations.length; i++) { var decl = symbol.declarations[i]; - var node = ts.isPropertyAccessExpression(decl) ? ts.getAssignedJavascriptInitializer(decl) : decl; - if (!ts.isFunctionLike(node)) + if (!ts.isFunctionLike(decl)) continue; // Don't include signature if node is the implementation of an overloaded function. A node is considered // an implementation node if it has a body and the previous node is of the same kind and immediately // precedes the implementation node (i.e. has the same parent and ends where the implementation starts). - if (i > 0 && node.body) { + if (i > 0 && decl.body) { var previous = symbol.declarations[i - 1]; - if (node.parent === previous.parent && node.kind === previous.kind && node.pos === previous.end) { + if (decl.parent === previous.parent && decl.kind === previous.kind && decl.pos === previous.end) { continue; } } - result.push(getSignatureFromDeclaration(node)); + result.push(getSignatureFromDeclaration(decl)); } return result; } @@ -33288,7 +33440,7 @@ var ts; } else { var declaration = signature.declaration; - signature.resolvedTypePredicate = declaration && declaration.type && declaration.type.kind === 160 /* TypePredicate */ ? + signature.resolvedTypePredicate = declaration && declaration.type && declaration.type.kind === 161 /* TypePredicate */ ? createTypePredicateFromTypePredicateNode(declaration.type) : noTypePredicate; } @@ -33299,7 +33451,7 @@ var ts; function getReturnTypeOfSignature(signature) { if (!signature.resolvedReturnType) { if (!pushTypeResolution(signature, 3 /* ResolvedReturnType */)) { - return unknownType; + return errorType; } var type = void 0; if (signature.target) { @@ -33333,7 +33485,7 @@ var ts; } function getRestTypeOfSignature(signature) { if (signature.hasRestParameter) { - var type = getTypeOfSymbol(ts.lastOrUndefined(signature.parameters)); + var type = getTypeOfSymbol(ts.last(signature.parameters)); if (ts.getObjectFlags(type) & 4 /* Reference */ && type.target === globalArrayType) { return type.typeArguments[0]; } @@ -33394,7 +33546,7 @@ var ts; // object type literal or interface (using the new keyword). Each way of declaring a constructor // will result in a different declaration kind. if (!signature.isolatedSignatureType) { - var isConstructor = signature.declaration.kind === 154 /* Constructor */ || signature.declaration.kind === 158 /* ConstructSignature */; + var isConstructor = signature.declaration.kind === 155 /* Constructor */ || signature.declaration.kind === 159 /* ConstructSignature */; // TODO: GH#18217 var type = createObjectType(16 /* Anonymous */); type.members = emptySymbols; type.properties = ts.emptyArray; @@ -33435,7 +33587,7 @@ var ts; return undefined; } function getConstraintDeclaration(type) { - var decl = type.symbol && ts.getDeclarationOfKind(type.symbol, 147 /* TypeParameter */); + var decl = type.symbol && ts.getDeclarationOfKind(type.symbol, 148 /* TypeParameter */); return decl && decl.constraint; } function getInferredTypeParameterConstraint(typeParameter) { @@ -33447,7 +33599,7 @@ var ts; // (such as 'Foo'), T's constraint is inferred from the constraint of the // corresponding type parameter in 'Foo'. When multiple 'infer T' declarations are // present, we form an intersection of the inferred constraint types. - if (declaration.parent.kind === 171 /* InferType */ && declaration.parent.parent.kind === 161 /* TypeReference */) { + if (declaration.parent.kind === 172 /* InferType */ && declaration.parent.parent.kind === 162 /* TypeReference */) { var typeReference = declaration.parent.parent; var typeParameters = getTypeParametersForTypeReference(typeReference); if (typeParameters) { @@ -33489,7 +33641,7 @@ var ts; return typeParameter.constraint === noConstraintType ? undefined : typeParameter.constraint; } function getParentSymbolOfTypeParameter(typeParameter) { - return getSymbolOfNode(ts.getDeclarationOfKind(typeParameter.symbol, 147 /* TypeParameter */).parent); + return getSymbolOfNode(ts.getDeclarationOfKind(typeParameter.symbol, 148 /* TypeParameter */).parent); } function getTypeListId(types) { var result = ""; @@ -33526,7 +33678,7 @@ var ts; result |= type.flags; } } - return result & 117440512 /* PropagatingFlags */; + return result & 939524096 /* PropagatingFlags */; } function createTypeReference(target, typeArguments) { var id = getTypeListId(typeArguments); @@ -33563,7 +33715,7 @@ var ts; var isJs = ts.isInJavaScriptFile(node); var isJsImplicitAny = !noImplicitAny && isJs; if (!isJsImplicitAny && (numTypeArguments < minTypeArgumentCount || numTypeArguments > typeParameters.length)) { - var missingAugmentsTag = isJs && node.parent.kind !== 289 /* JSDocAugmentsTag */; + var missingAugmentsTag = isJs && node.parent.kind !== 290 /* JSDocAugmentsTag */; var diag = minTypeArgumentCount === typeParameters.length ? missingAugmentsTag ? ts.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag @@ -33575,7 +33727,7 @@ var ts; error(node, diag, typeStr, minTypeArgumentCount, typeParameters.length); if (!isJs) { // TODO: Adopt same permissive behavior in TS as in JS to reduce follow-on editing experience failures (requires editing fillMissingTypeArguments) - return unknownType; + return errorType; } } // In a type reference, the outer type parameters of the referenced class or interface are automatically @@ -33584,7 +33736,7 @@ var ts; var typeArguments = ts.concatenate(type.outerTypeParameters, fillMissingTypeArguments(typeArgs, typeParameters, minTypeArgumentCount, isJs)); return createTypeReference(type, typeArguments); } - return checkNoTypeArguments(node, symbol) ? type : unknownType; + return checkNoTypeArguments(node, symbol) ? type : errorType; } function getTypeAliasInstantiation(symbol, typeArguments) { var type = getDeclaredTypeOfSymbol(symbol); @@ -33612,17 +33764,17 @@ var ts; error(node, minTypeArgumentCount === typeParameters.length ? ts.Diagnostics.Generic_type_0_requires_1_type_argument_s : ts.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments, symbolToString(symbol), minTypeArgumentCount, typeParameters.length); - return unknownType; + return errorType; } return getTypeAliasInstantiation(symbol, typeArguments); } - return checkNoTypeArguments(node, symbol) ? type : unknownType; + return checkNoTypeArguments(node, symbol) ? type : errorType; } function getTypeReferenceName(node) { switch (node.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return node.typeName; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: // We only support expressions that are simple qualified names. For other // expressions this produces undefined. var expr = node.expression; @@ -33642,7 +33794,7 @@ var ts; function getTypeReferenceType(node, symbol) { var typeArguments = typeArgumentsFromTypeReferenceNode(node); // Do unconditionally so we mark type arguments as referenced. if (symbol === unknownSymbol) { - return unknownType; + return errorType; } var type = getTypeReferenceTypeWorker(node, symbol, typeArguments); if (type) { @@ -33652,11 +33804,11 @@ var ts; var res = tryGetDeclaredTypeOfSymbol(symbol); if (res) { return checkNoTypeArguments(node, symbol) ? - res.flags & 32768 /* TypeParameter */ ? getConstrainedTypeVariable(res, node) : res : - unknownType; + res.flags & 65536 /* TypeParameter */ ? getConstrainedTypeVariable(res, node) : res : + errorType; } if (!(symbol.flags & 67216319 /* Value */ && isJSDocTypeReference(node))) { - return unknownType; + return errorType; } var jsdocType = getJSDocTypeReference(node, symbol, typeArguments); if (jsdocType) { @@ -33676,7 +33828,8 @@ var ts; var valueType = getTypeOfSymbol(symbol); var referenceType = valueType.symbol && valueType.symbol !== symbol && !isInferredClassType(valueType) && getTypeReferenceTypeWorker(node, valueType.symbol, typeArguments); if (referenceType || assignedType) { - return referenceType && assignedType ? getIntersectionType([assignedType, referenceType]) : referenceType || assignedType; + // TODO: GH#18217 (should the `|| assignedType` be at a lower precedence?) + return (referenceType && assignedType ? getIntersectionType([assignedType, referenceType]) : referenceType || assignedType); } } function getTypeReferenceTypeWorker(node, symbol, typeArguments) { @@ -33699,13 +33852,13 @@ var ts; } } function getSubstitutionType(typeVariable, substitute) { - var result = createType(4194304 /* Substitution */); + var result = createType(8388608 /* Substitution */); result.typeVariable = typeVariable; result.substitute = substitute; return result; } function isUnaryTupleTypeNode(node) { - return node.kind === 167 /* TupleType */ && node.elementTypes.length === 1; + return node.kind === 168 /* TupleType */ && node.elementTypes.length === 1; } function getImpliedConstraint(typeVariable, checkNode, extendsNode) { return isUnaryTupleTypeNode(checkNode) && isUnaryTupleTypeNode(extendsNode) ? getImpliedConstraint(typeVariable, checkNode.elementTypes[0], extendsNode.elementTypes[0]) : @@ -33714,9 +33867,9 @@ var ts; } function getConstrainedTypeVariable(typeVariable, node) { var constraints; - while (node && !ts.isStatement(node) && node.kind !== 285 /* JSDocComment */) { + while (node && !ts.isStatement(node) && node.kind !== 286 /* JSDocComment */) { var parent = node.parent; - if (parent.kind === 170 /* ConditionalType */ && node === parent.trueType) { + if (parent.kind === 171 /* ConditionalType */ && node === parent.trueType) { var constraint = getImpliedConstraint(typeVariable, parent.checkType, parent.extendsType); if (constraint) { constraints = ts.append(constraints, constraint); @@ -33727,7 +33880,7 @@ var ts; return constraints ? getSubstitutionType(typeVariable, getIntersectionType(ts.append(constraints, typeVariable))) : typeVariable; } function isJSDocTypeReference(node) { - return node.flags & 2097152 /* JSDoc */ && node.kind === 161 /* TypeReference */; + return !!(node.flags & 2097152 /* JSDoc */) && node.kind === 162 /* TypeReference */; } function checkNoTypeArguments(node, symbol) { if (node.typeArguments) { @@ -33774,7 +33927,7 @@ var ts; var indexed = getTypeFromTypeNode(typeArgs[0]); var target = getTypeFromTypeNode(typeArgs[1]); var index = createIndexInfo(target, /*isReadonly*/ false); - return createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, indexed === stringType && index, indexed === numberType && index); + return createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, indexed === stringType ? index : undefined, indexed === numberType ? index : undefined); } return anyType; } @@ -33785,7 +33938,7 @@ var ts; } function getTypeFromJSDocNullableTypeNode(node) { var type = getTypeFromTypeNode(node.type); - return strictNullChecks ? getNullableType(type, 8192 /* Null */) : type; + return strictNullChecks ? getNullableType(type, 16384 /* Null */) : type; } function getTypeFromTypeReference(node) { var links = getNodeLinks(node); @@ -33828,9 +33981,9 @@ var ts; for (var _i = 0, declarations_3 = declarations; _i < declarations_3.length; _i++) { var declaration = declarations_3[_i]; switch (declaration.kind) { - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: return declaration; } } @@ -33839,7 +33992,7 @@ var ts; return arity ? emptyGenericType : emptyObjectType; } var type = getDeclaredTypeOfSymbol(symbol); - if (!(type.flags & 65536 /* Object */)) { + if (!(type.flags & 131072 /* Object */)) { error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, ts.symbolName(symbol)); return arity ? emptyGenericType : emptyObjectType; } @@ -33911,7 +34064,7 @@ var ts; return symbol && getTypeOfGlobalSymbol(symbol, arity); } function getGlobalExtractSymbol() { - return deferredGlobalExtractSymbol || (deferredGlobalExtractSymbol = getGlobalSymbol("Extract", 524288 /* TypeAlias */, ts.Diagnostics.Cannot_find_global_type_0)); + return deferredGlobalExtractSymbol || (deferredGlobalExtractSymbol = getGlobalSymbol("Extract", 524288 /* TypeAlias */, ts.Diagnostics.Cannot_find_global_type_0)); // TODO: GH#18217 } /** * Instantiates a global type that is generic with some element type, and returns that instantiation. @@ -33955,7 +34108,7 @@ var ts; var typeParameters = []; var properties = []; for (var i = 0; i < arity; i++) { - var typeParameter = createType(32768 /* TypeParameter */); + var typeParameter = createType(65536 /* TypeParameter */); typeParameters.push(typeParameter); var property = createSymbol(4 /* Property */, "" + i); property.type = typeParameter; @@ -33972,7 +34125,7 @@ var ts; type.instantiations.set(getTypeListId(type.typeParameters), type); type.target = type; type.typeArguments = type.typeParameters; - type.thisType = createType(32768 /* TypeParameter */); + type.thisType = createType(65536 /* TypeParameter */); type.thisType.isThisType = true; type.thisType.constraint = type; type.declaredProperties = properties; @@ -34013,16 +34166,16 @@ var ts; var combined = 0; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 13536 /* Unit */ && combined & 13536 /* Unit */) { + if (t.flags & 27072 /* Unit */ && combined & 27072 /* Unit */) { return true; } combined |= t.flags; - if (combined & 12288 /* Nullable */ && combined & (65536 /* Object */ | 134217728 /* NonPrimitive */) || - combined & 134217728 /* NonPrimitive */ && combined & (134233854 /* DisjointDomains */ & ~134217728 /* NonPrimitive */) || - combined & 34 /* StringLike */ && combined & (134233854 /* DisjointDomains */ & ~34 /* StringLike */) || - combined & 84 /* NumberLike */ && combined & (134233854 /* DisjointDomains */ & ~84 /* NumberLike */) || - combined & 1536 /* ESSymbolLike */ && combined & (134233854 /* DisjointDomains */ & ~1536 /* ESSymbolLike */) || - combined & 6144 /* VoidLike */ && combined & (134233854 /* DisjointDomains */ & ~6144 /* VoidLike */)) { + if (combined & 24576 /* Nullable */ && combined & (131072 /* Object */ | 16777216 /* NonPrimitive */) || + combined & 16777216 /* NonPrimitive */ && combined & (16809468 /* DisjointDomains */ & ~16777216 /* NonPrimitive */) || + combined & 68 /* StringLike */ && combined & (16809468 /* DisjointDomains */ & ~68 /* StringLike */) || + combined & 168 /* NumberLike */ && combined & (16809468 /* DisjointDomains */ & ~168 /* NumberLike */) || + combined & 3072 /* ESSymbolLike */ && combined & (16809468 /* DisjointDomains */ & ~3072 /* ESSymbolLike */) || + combined & 12288 /* VoidLike */ && combined & (16809468 /* DisjointDomains */ & ~12288 /* VoidLike */)) { return true; } } @@ -34030,28 +34183,28 @@ var ts; } function addTypeToUnion(typeSet, includes, type) { var flags = type.flags; - if (flags & 131072 /* Union */) { + if (flags & 262144 /* Union */) { return addTypesToUnion(typeSet, includes, type.types); } // We ignore 'never' types in unions. Likewise, we ignore intersections of unit types as they are // another form of 'never' (in that they have an empty value domain). We could in theory turn // intersections of unit types into 'never' upon construction, but deferring the reduction makes it // easier to reason about their origin. - if (!(flags & 16384 /* Never */ || flags & 262144 /* Intersection */ && isEmptyIntersectionType(type))) { - includes |= flags & ~117440512 /* ConstructionFlags */; - if (flags & 1 /* Any */) { + if (!(flags & 32768 /* Never */ || flags & 524288 /* Intersection */ && isEmptyIntersectionType(type))) { + includes |= flags & ~939524096 /* ConstructionFlags */; + if (flags & 3 /* AnyOrUnknown */) { if (type === wildcardType) - includes |= 33554432 /* Wildcard */; + includes |= 268435456 /* Wildcard */; } - else if (!strictNullChecks && flags & 12288 /* Nullable */) { - if (!(flags & 16777216 /* ContainsWideningType */)) - includes |= 16777216 /* NonWideningType */; + else if (!strictNullChecks && flags & 24576 /* Nullable */) { + if (!(flags & 134217728 /* ContainsWideningType */)) + includes |= 134217728 /* NonWideningType */; } else { var len = typeSet.length; var index = len && type.id > typeSet[len - 1].id ? ~len : ts.binarySearch(typeSet, type, getTypeId, ts.compareValues); if (index < 0) { - if (!(flags & 65536 /* Object */ && type.objectFlags & 16 /* Anonymous */ && + if (!(flags & 131072 /* Object */ && type.objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */) && containsIdenticalType(typeSet, type))) { typeSet.splice(~index, 0, type); } @@ -34091,11 +34244,11 @@ var ts; } function isSetOfLiteralsFromSameEnum(types) { var first = types[0]; - if (first.flags & 256 /* EnumLiteral */) { + if (first.flags & 512 /* EnumLiteral */) { var firstEnum = getParentOfSymbol(first.symbol); for (var i = 1; i < types.length; i++) { var other = types[i]; - if (!(other.flags & 256 /* EnumLiteral */) || (firstEnum !== getParentOfSymbol(other.symbol))) { + if (!(other.flags & 512 /* EnumLiteral */) || (firstEnum !== getParentOfSymbol(other.symbol))) { return false; } } @@ -34120,10 +34273,10 @@ var ts; while (i > 0) { i--; var t = types[i]; - var remove = t.flags & 32 /* StringLiteral */ && includes & 2 /* String */ || - t.flags & 64 /* NumberLiteral */ && includes & 4 /* Number */ || - t.flags & 1024 /* UniqueESSymbol */ && includes & 512 /* ESSymbol */ || - t.flags & 96 /* StringOrNumberLiteral */ && t.flags & 8388608 /* FreshLiteral */ && containsType(types, t.regularType); + var remove = t.flags & 64 /* StringLiteral */ && includes & 4 /* String */ || + t.flags & 128 /* NumberLiteral */ && includes & 8 /* Number */ || + t.flags & 2048 /* UniqueESSymbol */ && includes & 1024 /* ESSymbol */ || + t.flags & 192 /* StringOrNumberLiteral */ && t.flags & 33554432 /* FreshLiteral */ && containsType(types, t.regularType); if (remove) { ts.orderedRemoveItemAt(types, i); } @@ -34146,12 +34299,12 @@ var ts; } var typeSet = []; var includes = addTypesToUnion(typeSet, 0, types); - if (includes & 1 /* Any */) { - return includes & 33554432 /* Wildcard */ ? wildcardType : anyType; + if (includes & 3 /* AnyOrUnknown */) { + return includes & 1 /* Any */ ? includes & 268435456 /* Wildcard */ ? wildcardType : anyType : unknownType; } switch (unionReduction) { case 1 /* Literal */: - if (includes & 1120 /* StringOrNumberLiteralOrUnique */) { + if (includes & 2240 /* StringOrNumberLiteralOrUnique */) { removeRedundantLiteralTypes(typeSet, includes); } break; @@ -34160,11 +34313,11 @@ var ts; break; } if (typeSet.length === 0) { - return includes & 8192 /* Null */ ? includes & 16777216 /* NonWideningType */ ? nullType : nullWideningType : - includes & 4096 /* Undefined */ ? includes & 16777216 /* NonWideningType */ ? undefinedType : undefinedWideningType : + return includes & 16384 /* Null */ ? includes & 134217728 /* NonWideningType */ ? nullType : nullWideningType : + includes & 8192 /* Undefined */ ? includes & 134217728 /* NonWideningType */ ? undefinedType : undefinedWideningType : neverType; } - return getUnionTypeFromSortedList(typeSet, includes & 8374815 /* NotUnit */ ? 0 : 268435456 /* UnionOfUnitTypes */, aliasSymbol, aliasTypeArguments); + return getUnionTypeFromSortedList(typeSet, includes & 16749629 /* NotUnit */ ? 0 : 67108864 /* UnionOfUnitTypes */, aliasSymbol, aliasTypeArguments); } function getUnionTypePredicate(signatures) { var first; @@ -34211,8 +34364,8 @@ var ts; var id = getTypeListId(types); var type = unionTypes.get(id); if (!type) { - var propagatedFlags = getPropagatingFlagsOfTypes(types, /*excludeKinds*/ 12288 /* Nullable */); - type = createType(131072 /* Union */ | propagatedFlags | unionOfUnitTypes); + var propagatedFlags = getPropagatingFlagsOfTypes(types, /*excludeKinds*/ 24576 /* Nullable */); + type = createType(262144 /* Union */ | propagatedFlags | unionOfUnitTypes); unionTypes.set(id, type); type.types = types; /* @@ -34236,20 +34389,20 @@ var ts; } function addTypeToIntersection(typeSet, includes, type) { var flags = type.flags; - if (flags & 262144 /* Intersection */) { + if (flags & 524288 /* Intersection */) { return addTypesToIntersection(typeSet, includes, type.types); } if (ts.getObjectFlags(type) & 16 /* Anonymous */ && isEmptyObjectType(type)) { - includes |= 67108864 /* EmptyObject */; + includes |= 536870912 /* EmptyObject */; } else { - includes |= flags & ~117440512 /* ConstructionFlags */; - if (flags & 1 /* Any */) { + includes |= flags & ~939524096 /* ConstructionFlags */; + if (flags & 3 /* AnyOrUnknown */) { if (type === wildcardType) - includes |= 33554432 /* Wildcard */; + includes |= 268435456 /* Wildcard */; } - else if ((strictNullChecks || !(flags & 12288 /* Nullable */)) && !ts.contains(typeSet, type) && - !(flags & 65536 /* Object */ && type.objectFlags & 16 /* Anonymous */ && + else if ((strictNullChecks || !(flags & 24576 /* Nullable */)) && !ts.contains(typeSet, type) && + !(flags & 131072 /* Object */ && type.objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */) && containsIdenticalType(typeSet, type))) { typeSet.push(type); @@ -34271,9 +34424,9 @@ var ts; while (i > 0) { i--; var t = types[i]; - var remove = t.flags & 2 /* String */ && includes & 32 /* StringLiteral */ || - t.flags & 4 /* Number */ && includes & 64 /* NumberLiteral */ || - t.flags & 512 /* ESSymbol */ && includes & 1024 /* UniqueESSymbol */; + var remove = t.flags & 4 /* String */ && includes & 64 /* StringLiteral */ || + t.flags & 8 /* Number */ && includes & 128 /* NumberLiteral */ || + t.flags & 1024 /* ESSymbol */ && includes & 2048 /* UniqueESSymbol */; if (remove) { ts.orderedRemoveItemAt(types, i); } @@ -34283,13 +34436,13 @@ var ts; // Here we remove all unions of unit types from the given list and replace them with a // a single union containing an intersection of the unit types. function intersectUnionsOfUnitTypes(types) { - var unionIndex = ts.findIndex(types, function (t) { return (t.flags & 268435456 /* UnionOfUnitTypes */) !== 0; }); + var unionIndex = ts.findIndex(types, function (t) { return (t.flags & 67108864 /* UnionOfUnitTypes */) !== 0; }); var unionType = types[unionIndex]; var intersection = unionType.types; var i = types.length - 1; var _loop_5 = function () { var t = types[i]; - if (t.flags & 268435456 /* UnionOfUnitTypes */) { + if (t.flags & 67108864 /* UnionOfUnitTypes */) { intersection = ts.filter(intersection, function (u) { return containsType(t.types, u); }); ts.orderedRemoveItemAt(types, i); } @@ -34301,7 +34454,7 @@ var ts; if (intersection === unionType.types) { return false; } - types[unionIndex] = getUnionTypeFromSortedList(intersection, unionType.flags & 268435456 /* UnionOfUnitTypes */); + types[unionIndex] = getUnionTypeFromSortedList(intersection, unionType.flags & 67108864 /* UnionOfUnitTypes */); return true; } // We normalize combinations of intersection and union types based on the distributive property of the '&' @@ -34315,30 +34468,33 @@ var ts; // Also, unlike union types, the order of the constituent types is preserved in order that overload resolution // for intersections of types with signatures can be deterministic. function getIntersectionType(types, aliasSymbol, aliasTypeArguments) { - if (types.length === 0) { - return emptyObjectType; - } var typeSet = []; var includes = addTypesToIntersection(typeSet, 0, types); - if (includes & 16384 /* Never */) { + if (includes & 32768 /* Never */) { return neverType; } if (includes & 1 /* Any */) { - return includes & 33554432 /* Wildcard */ ? wildcardType : anyType; + return includes & 268435456 /* Wildcard */ ? wildcardType : anyType; } - if (includes & 2 /* String */ && includes & 32 /* StringLiteral */ || - includes & 4 /* Number */ && includes & 64 /* NumberLiteral */ || - includes & 512 /* ESSymbol */ && includes & 1024 /* UniqueESSymbol */) { + if (!strictNullChecks && includes & 24576 /* Nullable */) { + return includes & 8192 /* Undefined */ ? undefinedType : nullType; + } + if (includes & 4 /* String */ && includes & 64 /* StringLiteral */ || + includes & 8 /* Number */ && includes & 128 /* NumberLiteral */ || + includes & 1024 /* ESSymbol */ && includes & 2048 /* UniqueESSymbol */) { removeRedundantPrimitiveTypes(typeSet, includes); } - if (includes & 67108864 /* EmptyObject */ && !(includes & 65536 /* Object */)) { + if (includes & 536870912 /* EmptyObject */ && !(includes & 131072 /* Object */)) { typeSet.push(emptyObjectType); } + if (typeSet.length === 0) { + return unknownType; + } if (typeSet.length === 1) { return typeSet[0]; } - if (includes & 131072 /* Union */) { - if (includes & 268435456 /* UnionOfUnitTypes */ && intersectUnionsOfUnitTypes(typeSet)) { + if (includes & 262144 /* Union */) { + if (includes & 67108864 /* UnionOfUnitTypes */ && intersectUnionsOfUnitTypes(typeSet)) { // When the intersection creates a reduced set (which might mean that *all* union types have // disappeared), we restart the operation to get a new set of combined flags. Once we have // reduced we'll never reduce again, so this occurs at most once. @@ -34346,15 +34502,15 @@ var ts; } // We are attempting to construct a type of the form X & (A | B) & Y. Transform this into a type of // the form X & A & Y | X & B & Y and recursively reduce until no union type constituents remain. - var unionIndex_1 = ts.findIndex(typeSet, function (t) { return (t.flags & 131072 /* Union */) !== 0; }); + var unionIndex_1 = ts.findIndex(typeSet, function (t) { return (t.flags & 262144 /* Union */) !== 0; }); var unionType = typeSet[unionIndex_1]; return getUnionType(ts.map(unionType.types, function (t) { return getIntersectionType(ts.replaceElement(typeSet, unionIndex_1, t)); }), 1 /* Literal */, aliasSymbol, aliasTypeArguments); } var id = getTypeListId(typeSet); var type = intersectionTypes.get(id); if (!type) { - var propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ 12288 /* Nullable */); - type = createType(262144 /* Intersection */ | propagatedFlags); + var propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ 24576 /* Nullable */); + type = createType(524288 /* Intersection */ | propagatedFlags); intersectionTypes.set(id, type); type.types = typeSet; type.aliasSymbol = aliasSymbol; // See comment in `getUnionTypeFromSortedList`. @@ -34371,7 +34527,7 @@ var ts; return links.resolvedType; } function createIndexType(type, stringsOnly) { - var result = createType(524288 /* Index */); + var result = createType(1048576 /* Index */); result.type = type; result.stringsOnly = stringsOnly; return result; @@ -34387,7 +34543,7 @@ var ts; if (!type && !ts.isKnownSymbol(prop)) { var name = ts.getNameOfDeclaration(prop.valueDeclaration); type = name && ts.isNumericLiteral(name) ? getLiteralType(+name.text) : - name && name.kind === 146 /* ComputedPropertyName */ && ts.isNumericLiteral(name.expression) ? getLiteralType(+name.expression.text) : + name && name.kind === 147 /* ComputedPropertyName */ && ts.isNumericLiteral(name.expression) ? getLiteralType(+name.expression.text) : getLiteralType(ts.symbolName(prop)); } if (type && type.flags & include) { @@ -34405,16 +34561,16 @@ var ts; } function getIndexType(type, stringsOnly) { if (stringsOnly === void 0) { stringsOnly = keyofStringsOnly; } - return type.flags & 131072 /* Union */ ? getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : - type.flags & 262144 /* Intersection */ ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : - maybeTypeOfKind(type, 7372800 /* InstantiableNonPrimitive */) ? getIndexTypeForGenericType(type, stringsOnly) : + return type.flags & 262144 /* Union */ ? getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : + type.flags & 524288 /* Intersection */ ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : + maybeTypeOfKind(type, 14745600 /* InstantiableNonPrimitive */) ? getIndexTypeForGenericType(type, stringsOnly) : ts.getObjectFlags(type) & 32 /* Mapped */ ? getConstraintTypeFromMappedType(type) : type === wildcardType ? wildcardType : type.flags & 1 /* Any */ ? keyofConstraintType : - stringsOnly ? getIndexInfoOfType(type, 0 /* String */) ? stringType : getLiteralTypeFromPropertyNames(type, 32 /* StringLiteral */) : - getIndexInfoOfType(type, 0 /* String */) ? getUnionType([stringType, numberType, getLiteralTypeFromPropertyNames(type, 1024 /* UniqueESSymbol */)]) : - getNonEnumNumberIndexInfo(type) ? getUnionType([numberType, getLiteralTypeFromPropertyNames(type, 32 /* StringLiteral */ | 1024 /* UniqueESSymbol */)]) : - getLiteralTypeFromPropertyNames(type, 1120 /* StringOrNumberLiteralOrUnique */); + stringsOnly ? getIndexInfoOfType(type, 0 /* String */) ? stringType : getLiteralTypeFromPropertyNames(type, 64 /* StringLiteral */) : + getIndexInfoOfType(type, 0 /* String */) ? getUnionType([stringType, numberType, getLiteralTypeFromPropertyNames(type, 2048 /* UniqueESSymbol */)]) : + getNonEnumNumberIndexInfo(type) ? getUnionType([numberType, getLiteralTypeFromPropertyNames(type, 64 /* StringLiteral */ | 2048 /* UniqueESSymbol */)]) : + getLiteralTypeFromPropertyNames(type, 2240 /* StringOrNumberLiteralOrUnique */); } function getExtractStringType(type) { if (keyofStringsOnly) { @@ -34425,7 +34581,7 @@ var ts; } function getIndexTypeOrString(type) { var indexType = getExtractStringType(getIndexType(type)); - return indexType.flags & 16384 /* Never */ ? stringType : indexType; + return indexType.flags & 32768 /* Never */ ? stringType : indexType; } function getTypeFromTypeOperatorNode(node) { var links = getNodeLinks(node); @@ -34437,20 +34593,20 @@ var ts; case 141 /* UniqueKeyword */: links.resolvedType = node.type.kind === 138 /* SymbolKeyword */ ? getESSymbolLikeTypeForNode(ts.walkUpParenthesizedTypes(node.parent)) - : unknownType; + : errorType; break; } } - return links.resolvedType; + return links.resolvedType; // TODO: GH#18217 } function createIndexedAccessType(objectType, indexType) { - var type = createType(1048576 /* IndexedAccess */); + var type = createType(2097152 /* IndexedAccess */); type.objectType = objectType; type.indexType = indexType; return type; } function getPropertyTypeForIndexType(objectType, indexType, accessNode, cacheSymbol) { - var accessExpression = accessNode && accessNode.kind === 185 /* ElementAccessExpression */ ? accessNode : undefined; + var accessExpression = accessNode && accessNode.kind === 186 /* ElementAccessExpression */ ? accessNode : undefined; var propName = isTypeUsableAsLateBoundName(indexType) ? getLateBoundNameFromType(indexType) : accessExpression && checkThatExpressionIsProperSymbolReference(accessExpression.argumentExpression, indexType, /*reportError*/ false) ? ts.getPropertyNameForKnownSymbolName(ts.idText(accessExpression.argumentExpression.name)) : @@ -34462,7 +34618,7 @@ var ts; markPropertyAsReferenced(prop, accessExpression, /*isThisAccess*/ accessExpression.expression.kind === 99 /* ThisKeyword */); if (ts.isAssignmentTarget(accessExpression) && (isReferenceToReadonlyEntity(accessExpression, prop) || isReferenceThroughNamespaceImport(accessExpression))) { error(accessExpression.argumentExpression, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, symbolToString(prop)); - return unknownType; + return errorType; } if (cacheSymbol) { getNodeLinks(accessNode).resolvedSymbol = prop; @@ -34471,16 +34627,16 @@ var ts; return getTypeOfSymbol(prop); } } - if (!(indexType.flags & 12288 /* Nullable */) && isTypeAssignableToKind(indexType, 34 /* StringLike */ | 84 /* NumberLike */ | 1536 /* ESSymbolLike */)) { + if (!(indexType.flags & 24576 /* Nullable */) && isTypeAssignableToKind(indexType, 68 /* StringLike */ | 168 /* NumberLike */ | 3072 /* ESSymbolLike */)) { if (isTypeAny(objectType)) { return objectType; } - var indexInfo = isTypeAssignableToKind(indexType, 84 /* NumberLike */) && getIndexInfoOfType(objectType, 1 /* Number */) || + var indexInfo = isTypeAssignableToKind(indexType, 168 /* NumberLike */) && getIndexInfoOfType(objectType, 1 /* Number */) || getIndexInfoOfType(objectType, 0 /* String */) || undefined; if (indexInfo) { - if (accessNode && !isTypeAssignableToKind(indexType, 2 /* String */ | 4 /* Number */)) { - var indexNode = accessNode.kind === 185 /* ElementAccessExpression */ ? accessNode.argumentExpression : accessNode.indexType; + if (accessNode && !isTypeAssignableToKind(indexType, 4 /* String */ | 8 /* Number */)) { + var indexNode = accessNode.kind === 186 /* ElementAccessExpression */ ? accessNode.argumentExpression : accessNode.indexType; error(indexNode, ts.Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeToString(indexType)); } else if (accessExpression && indexInfo.isReadonly && (ts.isAssignmentTarget(accessExpression) || ts.isDeleteTarget(accessExpression))) { @@ -34488,7 +34644,7 @@ var ts; } return indexInfo.type; } - if (indexType.flags & 16384 /* Never */) { + if (indexType.flags & 32768 /* Never */) { return neverType; } if (accessExpression && !isConstEnumObjectType(objectType)) { @@ -34504,41 +34660,41 @@ var ts; } } if (accessNode) { - var indexNode = accessNode.kind === 185 /* ElementAccessExpression */ ? accessNode.argumentExpression : accessNode.indexType; - if (indexType.flags & (32 /* StringLiteral */ | 64 /* NumberLiteral */)) { + var indexNode = accessNode.kind === 186 /* ElementAccessExpression */ ? accessNode.argumentExpression : accessNode.indexType; + if (indexType.flags & (64 /* StringLiteral */ | 128 /* NumberLiteral */)) { error(indexNode, ts.Diagnostics.Property_0_does_not_exist_on_type_1, "" + indexType.value, typeToString(objectType)); } - else if (indexType.flags & (2 /* String */ | 4 /* Number */)) { + else if (indexType.flags & (4 /* String */ | 8 /* Number */)) { error(indexNode, ts.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1, typeToString(objectType), typeToString(indexType)); } else { error(indexNode, ts.Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeToString(indexType)); } } - return unknownType; + return errorType; } function isGenericObjectType(type) { - return maybeTypeOfKind(type, 7372800 /* InstantiableNonPrimitive */ | 536870912 /* GenericMappedType */); + return maybeTypeOfKind(type, 14745600 /* InstantiableNonPrimitive */ | 134217728 /* GenericMappedType */); } function isGenericIndexType(type) { - return maybeTypeOfKind(type, 7372800 /* InstantiableNonPrimitive */ | 524288 /* Index */); + return maybeTypeOfKind(type, 14745600 /* InstantiableNonPrimitive */ | 1048576 /* Index */); } // Return true if the given type is a non-generic object type with a string index signature and no // other members. function isStringIndexOnlyType(type) { - if (type.flags & 65536 /* Object */ && !isGenericMappedType(type)) { + if (type.flags & 131072 /* Object */ && !isGenericMappedType(type)) { var t = resolveStructuredTypeMembers(type); return t.properties.length === 0 && t.callSignatures.length === 0 && t.constructSignatures.length === 0 && - t.stringIndexInfo && !t.numberIndexInfo; + !!t.stringIndexInfo && !t.numberIndexInfo; } return false; } function isMappedTypeToNever(type) { - return ts.getObjectFlags(type) & 32 /* Mapped */ && getTemplateTypeFromMappedType(type) === neverType; + return !!(ts.getObjectFlags(type) & 32 /* Mapped */) && getTemplateTypeFromMappedType(type) === neverType; } function getSimplifiedType(type) { - return type.flags & 1048576 /* IndexedAccess */ ? getSimplifiedIndexedAccessType(type) : type; + return type.flags & 2097152 /* IndexedAccess */ ? getSimplifiedIndexedAccessType(type) : type; } // Transform an indexed access to a simpler form, if possible. Return the simpler form, or return // the type itself if no transformation is possible. @@ -34547,8 +34703,10 @@ var ts; return type.simplified === circularConstraintType ? type : type.simplified; } type.simplified = circularConstraintType; - var objectType = type.objectType; - if (objectType.flags & 262144 /* Intersection */ && isGenericObjectType(objectType)) { + // We recursively simplify the object type as it may in turn be an indexed access type. For example, with + // '{ [P in T]: { [Q in U]: number } }[T][U]' we want to first simplify the inner indexed access type. + var objectType = getSimplifiedType(type.objectType); + if (objectType.flags & 524288 /* Intersection */ && isGenericObjectType(objectType)) { // Given an indexed access type T[K], if T is an intersection containing one or more generic types and one or // more object types with only a string index signature, e.g. '(U & V & { [x: string]: D })[K]', return a // transformed type of the form '(U & V)[K] | D'. This allows us to properly reason about higher order indexed @@ -34586,7 +34744,7 @@ var ts; if (isGenericMappedType(objectType)) { return type.simplified = substituteIndexedMappedType(objectType, type); } - if (objectType.flags & 32768 /* TypeParameter */) { + if (objectType.flags & 65536 /* TypeParameter */) { var constraint = getConstraintFromTypeParameter(objectType); if (constraint && isGenericMappedType(constraint)) { return type.simplified = substituteIndexedMappedType(constraint, type); @@ -34608,8 +34766,8 @@ var ts; // object type. Note that for a generic T and a non-generic K, we eagerly resolve T[K] if it originates in // an expression. This is to preserve backwards compatibility. For example, an element access 'this["foo"]' // has always been resolved eagerly using the constraint type of 'this' at the given location. - if (isGenericIndexType(indexType) || !(accessNode && accessNode.kind === 185 /* ElementAccessExpression */) && isGenericObjectType(objectType)) { - if (objectType.flags & 1 /* Any */) { + if (isGenericIndexType(indexType) || !(accessNode && accessNode.kind === 186 /* ElementAccessExpression */) && isGenericObjectType(objectType)) { + if (objectType.flags & 3 /* AnyOrUnknown */) { return objectType; } // Defer the operation by creating an indexed access type. @@ -34624,13 +34782,13 @@ var ts; // We treat boolean as different from other unions to improve errors; // skipping straight to getPropertyTypeForIndexType gives errors with 'boolean' instead of 'true'. var apparentObjectType = getApparentType(objectType); - if (indexType.flags & 131072 /* Union */ && !(indexType.flags & 8 /* Boolean */)) { + if (indexType.flags & 262144 /* Union */ && !(indexType.flags & 16 /* Boolean */)) { var propTypes = []; for (var _i = 0, _a = indexType.types; _i < _a.length; _i++) { var t = _a[_i]; var propType = getPropertyTypeForIndexType(apparentObjectType, t, accessNode, /*cacheSymbol*/ false); - if (propType === unknownType) { - return unknownType; + if (propType === errorType) { + return errorType; } propTypes.push(propType); } @@ -34644,7 +34802,7 @@ var ts; var objectType = getTypeFromTypeNode(node.objectType); var indexType = getTypeFromTypeNode(node.indexType); var resolved = getIndexedAccessType(objectType, indexType, node); - links.resolvedType = resolved.flags & 1048576 /* IndexedAccess */ && + links.resolvedType = resolved.flags & 2097152 /* IndexedAccess */ && resolved.objectType === objectType && resolved.indexType === indexType ? getConstrainedTypeVariable(resolved, node) : resolved; @@ -34666,7 +34824,7 @@ var ts; return links.resolvedType; } function getActualTypeVariable(type) { - return type.flags & 4194304 /* Substitution */ ? type.typeVariable : type; + return type.flags & 8388608 /* Substitution */ ? type.typeVariable : type; } function getConditionalType(root, mapper) { var checkType = instantiateType(root.checkType, mapper); @@ -34677,7 +34835,7 @@ var ts; // If this is a distributive conditional type and the check type is generic we need to defer // resolution of the conditional type such that a later instantiation will properly distribute // over union types. - var isDeferred = root.isDistributive && maybeTypeOfKind(checkType, 7897088 /* Instantiable */); + var isDeferred = root.isDistributive && maybeTypeOfKind(checkType, 15794176 /* Instantiable */); var combinedMapper; if (root.inferTypeParameters) { var context_1 = createInferenceContext(root.inferTypeParameters, /*signature*/ undefined, 0 /* None */); @@ -34690,6 +34848,9 @@ var ts; combinedMapper = combineTypeMappers(mapper, context_1); } if (!isDeferred) { + if (extendsType.flags & 3 /* AnyOrUnknown */) { + return instantiateType(root.trueType, mapper); + } // Return union of trueType and falseType for 'any' since it matches anything if (checkType.flags & 1 /* Any */) { return getUnionType([instantiateType(root.trueType, combinedMapper || mapper), instantiateType(root.falseType, mapper)]); @@ -34713,14 +34874,14 @@ var ts; } // Return a deferred type for a check that is neither definitely true nor definitely false var erasedCheckType = getActualTypeVariable(checkType); - var result = createType(2097152 /* Conditional */); + var result = createType(4194304 /* Conditional */); result.root = root; result.checkType = erasedCheckType; result.extendsType = extendsType; result.mapper = mapper; result.combinedMapper = combinedMapper; result.aliasSymbol = root.aliasSymbol; - result.aliasTypeArguments = instantiateTypes(root.aliasTypeArguments, mapper); + result.aliasTypeArguments = instantiateTypes(root.aliasTypeArguments, mapper); // TODO: GH#18217 return result; } function getTrueTypeFromConditionalType(type) { @@ -34745,7 +34906,7 @@ var ts; return true; } while (node) { - if (node.kind === 170 /* ConditionalType */) { + if (node.kind === 171 /* ConditionalType */) { if (isTypeParameterPossiblyReferenced(tp, node.extendsType)) { return true; } @@ -34768,7 +34929,7 @@ var ts; extendsType: getTypeFromTypeNode(node.extendsType), trueType: getTypeFromTypeNode(node.trueType), falseType: getTypeFromTypeNode(node.falseType), - isDistributive: !!(checkType.flags & 32768 /* TypeParameter */), + isDistributive: !!(checkType.flags & 65536 /* TypeParameter */), inferTypeParameters: getInferTypeParameters(node), outerTypeParameters: outerTypeParameters, instantiations: undefined, @@ -34804,12 +34965,12 @@ var ts; if (node.isTypeOf && node.typeArguments) { // Only the non-typeof form can make use of type arguments error(node, ts.Diagnostics.Type_arguments_cannot_be_used_here); links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } if (!ts.isLiteralImportTypeNode(node)) { error(node.argument, ts.Diagnostics.String_literal_expected); links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } var argumentType = getTypeFromTypeNode(node.argument); var targetMeaning = node.isTypeOf ? 67216319 /* Value */ : 67901928 /* Type */; @@ -34818,7 +34979,7 @@ var ts; var innerModuleSymbol = resolveExternalModule(node, moduleName, ts.Diagnostics.Cannot_find_module_0, node, /*isForAugmentation*/ false); if (!innerModuleSymbol) { links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } var moduleSymbol_1 = resolveExternalModuleSymbol(innerModuleSymbol, /*dontResolveAlias*/ false); if (!ts.nodeIsMissing(node.qualifier)) { @@ -34830,7 +34991,7 @@ var ts; var next = getSymbol(getExportsOfSymbol(getMergedSymbol(resolveSymbol(currentNamespace))), current.escapedText, meaning); if (!next) { error(current, ts.Diagnostics.Namespace_0_has_no_exported_member_1, getFullyQualifiedName(currentNamespace), ts.declarationNameToString(current)); - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } getNodeLinks(current).resolvedSymbol = next; getNodeLinks(current.parent).resolvedSymbol = next; @@ -34845,11 +35006,11 @@ var ts; else { error(node, targetMeaning === 67216319 /* Value */ ? ts.Diagnostics.Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here : ts.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here, moduleName); links.resolvedSymbol = unknownSymbol; - links.resolvedType = unknownType; + links.resolvedType = errorType; } } } - return links.resolvedType; + return links.resolvedType; // TODO: GH#18217 } function resolveImportSymbolType(node, links, symbol, meaning) { links.resolvedSymbol = symbol; @@ -34895,19 +35056,22 @@ var ts; if (left.flags & 1 /* Any */ || right.flags & 1 /* Any */) { return anyType; } - if (left.flags & 16384 /* Never */) { + if (left.flags & 2 /* Unknown */ || right.flags & 2 /* Unknown */) { + return unknownType; + } + if (left.flags & 32768 /* Never */) { return right; } - if (right.flags & 16384 /* Never */) { + if (right.flags & 32768 /* Never */) { return left; } - if (left.flags & 131072 /* Union */) { + if (left.flags & 262144 /* Union */) { return mapType(left, function (t) { return getSpreadType(t, right, symbol, typeFlags, objectFlags); }); } - if (right.flags & 131072 /* Union */) { + if (right.flags & 262144 /* Union */) { return mapType(right, function (t) { return getSpreadType(left, t, symbol, typeFlags, objectFlags); }); } - if (right.flags & (136 /* BooleanLike */ | 84 /* NumberLike */ | 34 /* StringLike */ | 272 /* EnumLike */ | 134217728 /* NonPrimitive */ | 524288 /* Index */)) { + if (right.flags & (272 /* BooleanLike */ | 168 /* NumberLike */ | 68 /* StringLike */ | 544 /* EnumLike */ | 16777216 /* NonPrimitive */ | 1048576 /* Index */)) { return left; } var members = ts.createSymbolTable(); @@ -34961,7 +35125,7 @@ var ts; } } var spread = createAnonymousType(symbol, members, ts.emptyArray, ts.emptyArray, getNonReadonlyIndexSignature(stringIndexInfo), getNonReadonlyIndexSignature(numberIndexInfo)); - spread.flags |= typeFlags | 33554432 /* ContainsObjectLiteral */; + spread.flags |= typeFlags | 268435456 /* ContainsObjectLiteral */; spread.objectFlags |= objectFlags | (128 /* ObjectLiteral */ | 1024 /* ContainsSpread */); return spread; } @@ -34993,9 +35157,9 @@ var ts; return type; } function getFreshTypeOfLiteralType(type) { - if (type.flags & 96 /* StringOrNumberLiteral */ && !(type.flags & 8388608 /* FreshLiteral */)) { + if (type.flags & 192 /* StringOrNumberLiteral */ && !(type.flags & 33554432 /* FreshLiteral */)) { if (!type.freshType) { - var freshType = createLiteralType(type.flags | 8388608 /* FreshLiteral */, type.value, type.symbol); + var freshType = createLiteralType(type.flags | 33554432 /* FreshLiteral */, type.value, type.symbol); freshType.regularType = type; type.freshType = freshType; } @@ -35004,7 +35168,9 @@ var ts; return type; } function getRegularTypeOfLiteralType(type) { - return type.flags & 96 /* StringOrNumberLiteral */ && type.flags & 8388608 /* FreshLiteral */ ? type.regularType : type; + return type.flags & 192 /* StringOrNumberLiteral */ && type.flags & 33554432 /* FreshLiteral */ ? type.regularType : + type.flags & 262144 /* Union */ ? getUnionType(ts.sameMap(type.types, getRegularTypeOfLiteralType)) : + type; } function getLiteralType(value, enumId, symbol) { // We store all literal types in a single map with keys of the form '#NNN' and '@SSS', @@ -35015,7 +35181,7 @@ var ts; var key = enumId ? enumId + qualifier + value : qualifier + value; var type = literalTypes.get(key); if (!type) { - var flags = (typeof value === "number" ? 64 /* NumberLiteral */ : 32 /* StringLiteral */) | (enumId ? 256 /* EnumLiteral */ : 0); + var flags = (typeof value === "number" ? 128 /* NumberLiteral */ : 64 /* StringLiteral */) | (enumId ? 512 /* EnumLiteral */ : 0); literalTypes.set(key, type = createLiteralType(flags, value, symbol)); } return type; @@ -35028,7 +35194,7 @@ var ts; return links.resolvedType; } function createUniqueESSymbolType(symbol) { - var type = createType(1024 /* UniqueESSymbol */); + var type = createType(2048 /* UniqueESSymbol */); type.symbol = symbol; return type; } @@ -35043,14 +35209,14 @@ var ts; function getThisType(node) { var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); var parent = container && container.parent; - if (parent && (ts.isClassLike(parent) || parent.kind === 235 /* InterfaceDeclaration */)) { + if (parent && (ts.isClassLike(parent) || parent.kind === 236 /* InterfaceDeclaration */)) { if (!ts.hasModifier(container, 32 /* Static */) && - (container.kind !== 154 /* Constructor */ || ts.isNodeDescendantOf(node, container.body))) { + (container.kind !== 155 /* Constructor */ || ts.isNodeDescendantOf(node, container.body))) { return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(parent)).thisType; } } error(node, ts.Diagnostics.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface); - return unknownType; + return errorType; } function getTypeFromThisTypeNode(node) { var links = getNodeLinks(node); @@ -35062,9 +35228,11 @@ var ts; function getTypeFromTypeNode(node) { switch (node.kind) { case 119 /* AnyKeyword */: - case 278 /* JSDocAllType */: - case 279 /* JSDocUnknownType */: + case 279 /* JSDocAllType */: + case 280 /* JSDocUnknownType */: return anyType; + case 142 /* UnknownKeyword */: + return unknownType; case 137 /* StringKeyword */: return stringType; case 134 /* NumberKeyword */: @@ -35083,64 +35251,64 @@ var ts; return neverType; case 135 /* ObjectKeyword */: return node.flags & 65536 /* JavaScriptFile */ ? anyType : nonPrimitiveType; - case 173 /* ThisType */: + case 174 /* ThisType */: case 99 /* ThisKeyword */: return getTypeFromThisTypeNode(node); - case 177 /* LiteralType */: + case 178 /* LiteralType */: return getTypeFromLiteralTypeNode(node); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return getTypeFromTypeReference(node); - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return booleanType; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return getTypeFromTypeReference(node); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return getTypeFromTypeQueryNode(node); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return getTypeFromArrayTypeNode(node); - case 167 /* TupleType */: + case 168 /* TupleType */: return getTypeFromTupleTypeNode(node); - case 168 /* UnionType */: + case 169 /* UnionType */: return getTypeFromUnionTypeNode(node); - case 169 /* IntersectionType */: + case 170 /* IntersectionType */: return getTypeFromIntersectionTypeNode(node); - case 280 /* JSDocNullableType */: + case 281 /* JSDocNullableType */: return getTypeFromJSDocNullableTypeNode(node); - case 282 /* JSDocOptionalType */: + case 283 /* JSDocOptionalType */: return addOptionality(getTypeFromTypeNode(node.type)); - case 172 /* ParenthesizedType */: - case 281 /* JSDocNonNullableType */: - case 277 /* JSDocTypeExpression */: + case 173 /* ParenthesizedType */: + case 282 /* JSDocNonNullableType */: + case 278 /* JSDocTypeExpression */: return getTypeFromTypeNode(node.type); - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: return getTypeFromJSDocVariadicType(node); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 165 /* TypeLiteral */: - case 286 /* JSDocTypeLiteral */: - case 283 /* JSDocFunctionType */: - case 287 /* JSDocSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 166 /* TypeLiteral */: + case 287 /* JSDocTypeLiteral */: + case 284 /* JSDocFunctionType */: + case 288 /* JSDocSignature */: return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node); - case 174 /* TypeOperator */: + case 175 /* TypeOperator */: return getTypeFromTypeOperatorNode(node); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return getTypeFromIndexedAccessTypeNode(node); - case 176 /* MappedType */: + case 177 /* MappedType */: return getTypeFromMappedTypeNode(node); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return getTypeFromConditionalTypeNode(node); - case 171 /* InferType */: + case 172 /* InferType */: return getTypeFromInferTypeNode(node); - case 178 /* ImportType */: + case 179 /* ImportType */: return getTypeFromImportTypeNode(node); // This function assumes that an identifier or qualified name is a type expression // Callers should first ensure this by calling isTypeNode case 71 /* Identifier */: - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: var symbol = getSymbolAtLocation(node); - return symbol && getDeclaredTypeOfSymbol(symbol); + return (symbol && getDeclaredTypeOfSymbol(symbol)); // TODO: GH#18217 default: - return unknownType; + return errorType; } } function instantiateList(items, mapper, instantiator) { @@ -35217,10 +35385,10 @@ var ts; return function (t) { return t === source ? target : baseMapper(t); }; } function wildcardMapper(type) { - return type.flags & 32768 /* TypeParameter */ ? wildcardType : type; + return type.flags & 65536 /* TypeParameter */ ? wildcardType : type; } function cloneTypeParameter(typeParameter) { - var result = createType(32768 /* TypeParameter */); + var result = createType(65536 /* TypeParameter */); result.symbol = typeParameter.symbol; result.target = typeParameter; return result; @@ -35266,7 +35434,7 @@ var ts; } function instantiateSymbol(symbol, mapper) { var links = getSymbolLinks(symbol); - if (links.type && !maybeTypeOfKind(links.type, 65536 /* Object */ | 7897088 /* Instantiable */)) { + if (links.type && !maybeTypeOfKind(links.type, 131072 /* Object */ | 15794176 /* Instantiable */)) { // If the type of the symbol is already resolved, and if that type could not possibly // be affected by instantiation, simply return the symbol itself. return symbol; @@ -35351,8 +35519,8 @@ var ts; return type; } function maybeTypeParameterReference(node) { - return !(node.kind === 145 /* QualifiedName */ || - node.parent.kind === 161 /* TypeReference */ && node.parent.typeArguments && node === node.parent.typeName); + return !(node.kind === 146 /* QualifiedName */ || + node.parent.kind === 162 /* TypeReference */ && node.parent.typeArguments && node === node.parent.typeName); } function isTypeParameterPossiblyReferenced(tp, node) { // If the type parameter doesn't have exactly one declaration, if there are invening statement blocks @@ -35360,22 +35528,22 @@ var ts; // type parameter, or if the node contains type queries, we consider the type parameter possibly referenced. if (tp.symbol && tp.symbol.declarations && tp.symbol.declarations.length === 1) { var container_3 = tp.symbol.declarations[0].parent; - if (ts.findAncestor(node, function (n) { return n.kind === 212 /* Block */ ? "quit" : n === container_3; })) { - return ts.forEachChild(node, containsReference); + if (ts.findAncestor(node, function (n) { return n.kind === 213 /* Block */ ? "quit" : n === container_3; })) { + return !!ts.forEachChild(node, containsReference); } } return true; function containsReference(node) { switch (node.kind) { - case 173 /* ThisType */: - return tp.isThisType; + case 174 /* ThisType */: + return !!tp.isThisType; case 71 /* Identifier */: return !tp.isThisType && ts.isPartOfTypeNode(node) && maybeTypeParameterReference(node) && getTypeFromTypeNode(node) === tp; - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return true; } - return ts.forEachChild(node, containsReference); + return !!ts.forEachChild(node, containsReference); } } function instantiateMappedType(type, mapper) { @@ -35385,9 +35553,9 @@ var ts; // homomorphic mapped types we leave primitive types alone. For example, when T is instantiated to a // union type A | undefined, we produce { [P in keyof A]: X } | undefined. var constraintType = getConstraintTypeFromMappedType(type); - if (constraintType.flags & 524288 /* Index */) { + if (constraintType.flags & 1048576 /* Index */) { var typeVariable_1 = constraintType.type; - if (typeVariable_1.flags & 32768 /* TypeParameter */) { + if (typeVariable_1.flags & 65536 /* TypeParameter */) { var mappedTypeVariable = instantiateType(typeVariable_1, mapper); if (typeVariable_1 !== mappedTypeVariable) { return mapType(mappedTypeVariable, function (t) { @@ -35402,7 +35570,7 @@ var ts; return instantiateAnonymousType(type, mapper); } function isMappableType(type) { - return type.flags & (1 /* Any */ | 7372800 /* InstantiableNonPrimitive */ | 65536 /* Object */ | 262144 /* Intersection */); + return type.flags & (3 /* AnyOrUnknown */ | 14745600 /* InstantiableNonPrimitive */ | 131072 /* Object */ | 524288 /* Intersection */); } function instantiateAnonymousType(type, mapper) { var result = createObjectType(type.objectFlags | 64 /* Instantiated */, type.symbol); @@ -35440,7 +35608,7 @@ var ts; if (root.isDistributive) { var checkType_1 = root.checkType; var instantiatedType = mapper(checkType_1); - if (checkType_1 !== instantiatedType && instantiatedType.flags & (131072 /* Union */ | 16384 /* Never */)) { + if (checkType_1 !== instantiatedType && instantiatedType.flags & (262144 /* Union */ | 32768 /* Never */)) { return mapType(instantiatedType, function (t) { return getConditionalType(root, createReplacementMapper(checkType_1, t, mapper)); }); } } @@ -35448,10 +35616,10 @@ var ts; } function instantiateType(type, mapper) { if (type && mapper && mapper !== identityMapper) { - if (type.flags & 32768 /* TypeParameter */) { + if (type.flags & 65536 /* TypeParameter */) { return mapper(type); } - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { if (type.objectFlags & 16 /* Anonymous */) { // If the anonymous type originates in a declaration of a function, method, class, or // interface, in an object type literal, or in an object literal expression, we may need @@ -35468,33 +35636,33 @@ var ts; return newTypeArguments !== typeArguments ? createTypeReference(type.target, newTypeArguments) : type; } } - if (type.flags & 131072 /* Union */ && !(type.flags & 16382 /* Primitive */)) { + if (type.flags & 262144 /* Union */ && !(type.flags & 32764 /* Primitive */)) { var types = type.types; var newTypes = instantiateTypes(types, mapper); return newTypes !== types ? getUnionType(newTypes, 1 /* Literal */, type.aliasSymbol, instantiateTypes(type.aliasTypeArguments, mapper)) : type; } - if (type.flags & 262144 /* Intersection */) { + if (type.flags & 524288 /* Intersection */) { var types = type.types; var newTypes = instantiateTypes(types, mapper); return newTypes !== types ? getIntersectionType(newTypes, type.aliasSymbol, instantiateTypes(type.aliasTypeArguments, mapper)) : type; } - if (type.flags & 524288 /* Index */) { + if (type.flags & 1048576 /* Index */) { return getIndexType(instantiateType(type.type, mapper)); } - if (type.flags & 1048576 /* IndexedAccess */) { + if (type.flags & 2097152 /* IndexedAccess */) { return getIndexedAccessType(instantiateType(type.objectType, mapper), instantiateType(type.indexType, mapper)); } - if (type.flags & 2097152 /* Conditional */) { + if (type.flags & 4194304 /* Conditional */) { return getConditionalTypeInstantiation(type, combineTypeMappers(type.mapper, mapper)); } - if (type.flags & 4194304 /* Substitution */) { + if (type.flags & 8388608 /* Substitution */) { return instantiateType(type.typeVariable, mapper); } } return type; } function getWildcardInstantiation(type) { - return type.flags & (16382 /* Primitive */ | 1 /* Any */ | 16384 /* Never */) ? type : + return type.flags & (32764 /* Primitive */ | 3 /* AnyOrUnknown */ | 32768 /* Never */) ? type : type.wildcardInstantiation || (type.wildcardInstantiation = instantiateType(type, wildcardMapper)); } function instantiateIndexInfo(info, mapper) { @@ -35503,34 +35671,38 @@ var ts; // Returns true if the given expression contains (at any level of nesting) a function or arrow expression // that is subject to contextual typing. function isContextSensitive(node) { - ts.Debug.assert(node.kind !== 153 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); switch (node.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: return isContextSensitiveFunctionLikeDeclaration(node); - case 183 /* ObjectLiteralExpression */: - return ts.forEach(node.properties, isContextSensitive); - case 182 /* ArrayLiteralExpression */: - return ts.forEach(node.elements, isContextSensitive); - case 200 /* ConditionalExpression */: + case 184 /* ObjectLiteralExpression */: + return ts.some(node.properties, isContextSensitive); + case 183 /* ArrayLiteralExpression */: + return ts.some(node.elements, isContextSensitive); + case 201 /* ConditionalExpression */: return isContextSensitive(node.whenTrue) || isContextSensitive(node.whenFalse); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return node.operatorToken.kind === 54 /* BarBarToken */ && (isContextSensitive(node.left) || isContextSensitive(node.right)); - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return isContextSensitive(node.initializer); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return isContextSensitive(node.expression); - case 262 /* JsxAttributes */: - return ts.forEach(node.properties, isContextSensitive); - case 261 /* JsxAttribute */: + case 263 /* JsxAttributes */: + return ts.some(node.properties, isContextSensitive); + case 262 /* JsxAttribute */: { // If there is no initializer, JSX attribute has a boolean value of true which is not context sensitive. - return node.initializer && isContextSensitive(node.initializer); - case 264 /* JsxExpression */: + var initializer = node.initializer; + return !!initializer && isContextSensitive(initializer); + } + case 265 /* JsxExpression */: { // It is possible to that node.expression is undefined (e.g
) - return node.expression && isContextSensitive(node.expression); + var expression = node.expression; + return !!expression && isContextSensitive(expression); + } } return false; } @@ -35540,10 +35712,10 @@ var ts; return false; } // Functions with any parameters that lack type annotations are context sensitive. - if (ts.forEach(node.parameters, function (p) { return !ts.getEffectiveTypeAnnotationNode(p); })) { + if (ts.some(node.parameters, function (p) { return !ts.getEffectiveTypeAnnotationNode(p); })) { return true; } - if (node.kind !== 192 /* ArrowFunction */) { + if (node.kind !== 193 /* ArrowFunction */) { // If the first parameter is not an explicit 'this' parameter, then the function has // an implicit 'this' parameter which is subject to contextual typing. var parameter = ts.firstOrUndefined(node.parameters); @@ -35552,14 +35724,15 @@ var ts; } } // TODO(anhans): A block should be context-sensitive if it has a context-sensitive return value. - return node.body.kind === 212 /* Block */ ? false : isContextSensitive(node.body); + var body = node.body; + return body.kind === 213 /* Block */ ? false : isContextSensitive(body); } function isContextSensitiveFunctionOrObjectLiteralMethod(func) { return (ts.isInJavaScriptFile(func) && ts.isFunctionDeclaration(func) || isFunctionExpressionOrArrowFunction(func) || ts.isObjectLiteralMethod(func)) && isContextSensitiveFunctionLikeDeclaration(func); } function getTypeWithoutSignatures(type) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); if (resolved.constructSignatures.length) { var result = createObjectType(16 /* Anonymous */, type.symbol); @@ -35570,7 +35743,7 @@ var ts; return result; } } - else if (type.flags & 262144 /* Intersection */) { + else if (type.flags & 524288 /* Intersection */) { return getIntersectionType(ts.map(type.types, getTypeWithoutSignatures)); } return type; @@ -35600,9 +35773,9 @@ var ts; // Note that this check ignores type parameters and only considers the // inheritance hierarchy. function isTypeDerivedFrom(source, target) { - return source.flags & 131072 /* Union */ ? ts.every(source.types, function (t) { return isTypeDerivedFrom(t, target); }) : - target.flags & 131072 /* Union */ ? ts.some(target.types, function (t) { return isTypeDerivedFrom(source, t); }) : - source.flags & 7372800 /* InstantiableNonPrimitive */ ? isTypeDerivedFrom(getBaseConstraintOfType(source) || emptyObjectType, target) : + return source.flags & 262144 /* Union */ ? ts.every(source.types, function (t) { return isTypeDerivedFrom(t, target); }) : + target.flags & 262144 /* Union */ ? ts.some(target.types, function (t) { return isTypeDerivedFrom(source, t); }) : + source.flags & 14745600 /* InstantiableNonPrimitive */ ? isTypeDerivedFrom(getBaseConstraintOfType(source) || emptyObjectType, target) : target === globalObjectType || target === globalFunctionType ? isTypeSubtypeOf(source, target) : hasBaseType(source, getTargetType(target)); } @@ -35652,8 +35825,8 @@ var ts; source = instantiateSignatureInContextOf(source, target, /*contextualMapper*/ undefined, compareTypes); } var kind = target.declaration ? target.declaration.kind : 0 /* Unknown */; - var strictVariance = !callbackCheck && strictFunctionTypes && kind !== 153 /* MethodDeclaration */ && - kind !== 152 /* MethodSignature */ && kind !== 154 /* Constructor */; + var strictVariance = !callbackCheck && strictFunctionTypes && kind !== 154 /* MethodDeclaration */ && + kind !== 153 /* MethodSignature */ && kind !== 155 /* Constructor */; var result = -1 /* True */; var sourceThisType = getThisTypeOfSignature(source); if (sourceThisType && sourceThisType !== voidType) { @@ -35690,8 +35863,9 @@ var ts; var sourceSig = callbackCheck ? undefined : getSingleCallSignature(getNonNullableType(sourceType)); var targetSig = callbackCheck ? undefined : getSingleCallSignature(getNonNullableType(targetType)); var callbacks = sourceSig && targetSig && !signatureHasTypePredicate(sourceSig) && !signatureHasTypePredicate(targetSig) && - (getFalsyFlags(sourceType) & 12288 /* Nullable */) === (getFalsyFlags(targetType) & 12288 /* Nullable */); + (getFalsyFlags(sourceType) & 24576 /* Nullable */) === (getFalsyFlags(targetType) & 24576 /* Nullable */); var related = callbacks ? + // TODO: GH#18217 It will work if they're both `undefined`, but not if only one is compareSignaturesRelated(targetSig, sourceSig, strictVariance ? 2 /* Strict */ : 1 /* Bivariant */, /*ignoreReturnTypes*/ false, reportErrors, errorReporter, compareTypes) : !callbackCheck && !strictVariance && compareTypes(sourceType, targetType, /*reportErrors*/ false) || compareTypes(targetType, sourceType, reportErrors); if (!related) { @@ -35713,7 +35887,7 @@ var ts; if (targetTypePredicate) { var sourceTypePredicate = getTypePredicateOfSignature(source); if (sourceTypePredicate) { - result &= compareTypePredicateRelatedTo(sourceTypePredicate, targetTypePredicate, source.declaration, target.declaration, reportErrors, errorReporter, compareTypes); + result &= compareTypePredicateRelatedTo(sourceTypePredicate, targetTypePredicate, source.declaration, target.declaration, reportErrors, errorReporter, compareTypes); // TODO: GH#18217 } else if (ts.isIdentifierTypePredicate(targetTypePredicate)) { if (reportErrors) { @@ -35803,10 +35977,10 @@ var ts; !t.numberIndexInfo; } function isEmptyObjectType(type) { - return type.flags & 65536 /* Object */ ? isEmptyResolvedType(resolveStructuredTypeMembers(type)) : - type.flags & 134217728 /* NonPrimitive */ ? true : - type.flags & 131072 /* Union */ ? ts.forEach(type.types, isEmptyObjectType) : - type.flags & 262144 /* Intersection */ ? !ts.forEach(type.types, function (t) { return !isEmptyObjectType(t); }) : + return type.flags & 131072 /* Object */ ? isEmptyResolvedType(resolveStructuredTypeMembers(type)) : + type.flags & 16777216 /* NonPrimitive */ ? true : + type.flags & 262144 /* Union */ ? ts.some(type.types, isEmptyObjectType) : + type.flags & 524288 /* Intersection */ ? !ts.some(type.types, function (t) { return !isEmptyObjectType(t); }) : false; } function isEnumTypeRelatedTo(sourceSymbol, targetSymbol, errorReporter) { @@ -35842,43 +36016,43 @@ var ts; function isSimpleTypeRelatedTo(source, target, relation, errorReporter) { var s = source.flags; var t = target.flags; - if (t & 1 /* Any */ || s & 16384 /* Never */ || source === wildcardType) + if (t & 3 /* AnyOrUnknown */ || s & 32768 /* Never */ || source === wildcardType) return true; - if (t & 16384 /* Never */) + if (t & 32768 /* Never */) return false; - if (s & 34 /* StringLike */ && t & 2 /* String */) + if (s & 68 /* StringLike */ && t & 4 /* String */) return true; - if (s & 32 /* StringLiteral */ && s & 256 /* EnumLiteral */ && - t & 32 /* StringLiteral */ && !(t & 256 /* EnumLiteral */) && + if (s & 64 /* StringLiteral */ && s & 512 /* EnumLiteral */ && + t & 64 /* StringLiteral */ && !(t & 512 /* EnumLiteral */) && source.value === target.value) return true; - if (s & 84 /* NumberLike */ && t & 4 /* Number */) + if (s & 168 /* NumberLike */ && t & 8 /* Number */) return true; - if (s & 64 /* NumberLiteral */ && s & 256 /* EnumLiteral */ && - t & 64 /* NumberLiteral */ && !(t & 256 /* EnumLiteral */) && + if (s & 128 /* NumberLiteral */ && s & 512 /* EnumLiteral */ && + t & 128 /* NumberLiteral */ && !(t & 512 /* EnumLiteral */) && source.value === target.value) return true; - if (s & 136 /* BooleanLike */ && t & 8 /* Boolean */) + if (s & 272 /* BooleanLike */ && t & 16 /* Boolean */) return true; - if (s & 1536 /* ESSymbolLike */ && t & 512 /* ESSymbol */) + if (s & 3072 /* ESSymbolLike */ && t & 1024 /* ESSymbol */) return true; - if (s & 16 /* Enum */ && t & 16 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 32 /* Enum */ && t & 32 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; - if (s & 256 /* EnumLiteral */ && t & 256 /* EnumLiteral */) { - if (s & 131072 /* Union */ && t & 131072 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 512 /* EnumLiteral */ && t & 512 /* EnumLiteral */) { + if (s & 262144 /* Union */ && t & 262144 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; - if (s & 224 /* Literal */ && t & 224 /* Literal */ && + if (s & 448 /* Literal */ && t & 448 /* Literal */ && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) return true; } - if (s & 4096 /* Undefined */ && (!strictNullChecks || t & (4096 /* Undefined */ | 2048 /* Void */))) + if (s & 8192 /* Undefined */ && (!strictNullChecks || t & (8192 /* Undefined */ | 4096 /* Void */))) return true; - if (s & 8192 /* Null */ && (!strictNullChecks || t & 8192 /* Null */)) + if (s & 16384 /* Null */ && (!strictNullChecks || t & 16384 /* Null */)) return true; - if (s & 65536 /* Object */ && t & 134217728 /* NonPrimitive */) + if (s & 131072 /* Object */ && t & 16777216 /* NonPrimitive */) return true; - if (s & 1024 /* UniqueESSymbol */ || t & 1024 /* UniqueESSymbol */) + if (s & 2048 /* UniqueESSymbol */ || t & 2048 /* UniqueESSymbol */) return false; if (relation === assignableRelation || relation === definitelyAssignableRelation || relation === comparableRelation) { if (s & 1 /* Any */) @@ -35886,30 +36060,30 @@ var ts; // Type number or any numeric literal type is assignable to any numeric enum type or any // numeric enum literal type. This rule exists for backwards compatibility reasons because // bit-flag enum types sometimes look like literal enum types with numeric literal values. - if (s & (4 /* Number */ | 64 /* NumberLiteral */) && !(s & 256 /* EnumLiteral */) && (t & 16 /* Enum */ || t & 64 /* NumberLiteral */ && t & 256 /* EnumLiteral */)) + if (s & (8 /* Number */ | 128 /* NumberLiteral */) && !(s & 512 /* EnumLiteral */) && (t & 32 /* Enum */ || t & 128 /* NumberLiteral */ && t & 512 /* EnumLiteral */)) return true; } return false; } function isTypeRelatedTo(source, target, relation) { - if (source.flags & 96 /* StringOrNumberLiteral */ && source.flags & 8388608 /* FreshLiteral */) { + if (source.flags & 192 /* StringOrNumberLiteral */ && source.flags & 33554432 /* FreshLiteral */) { source = source.regularType; } - if (target.flags & 96 /* StringOrNumberLiteral */ && target.flags & 8388608 /* FreshLiteral */) { + if (target.flags & 192 /* StringOrNumberLiteral */ && target.flags & 33554432 /* FreshLiteral */) { target = target.regularType; } if (source === target || - relation === comparableRelation && !(target.flags & 16384 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || + relation === comparableRelation && !(target.flags & 32768 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || relation !== identityRelation && isSimpleTypeRelatedTo(source, target, relation)) { return true; } - if (source.flags & 65536 /* Object */ && target.flags & 65536 /* Object */) { + if (source.flags & 131072 /* Object */ && target.flags & 131072 /* Object */) { var related = relation.get(getRelationKey(source, target, relation)); if (related !== undefined) { return related === 1 /* Succeeded */; } } - if (source.flags & 8355840 /* StructuredOrInstantiable */ || target.flags & 8355840 /* StructuredOrInstantiable */) { + if (source.flags & 16711680 /* StructuredOrInstantiable */ || target.flags & 16711680 /* StructuredOrInstantiable */) { return checkTypeRelatedTo(source, target, relation, /*errorNode*/ undefined); } return false; @@ -35949,7 +36123,7 @@ var ts; errorInfo = ts.concatenateDiagnosticMessageChains(chain_1, errorInfo); } } - diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(errorNode, errorInfo)); + diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(errorNode, errorInfo)); // TODO: GH#18217 } // Check if we should issue an extra diagnostic to produce a quickfix for a slightly incorrect import statement if (headMessage && errorNode && !result && source.symbol) { @@ -35998,7 +36172,7 @@ var ts; } } function isUnionOrIntersectionTypeWithoutNullableConstituents(type) { - if (!(type.flags & 393216 /* UnionOrIntersection */)) { + if (!(type.flags & 786432 /* UnionOrIntersection */)) { return false; } // at this point we know that this is union or intersection type possibly with nullable constituents. @@ -36006,7 +36180,7 @@ var ts; var seenNonNullable = false; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 12288 /* Nullable */) { + if (t.flags & 24576 /* Nullable */) { continue; } if (seenNonNullable) { @@ -36023,22 +36197,23 @@ var ts; * * Ternary.False if they are not related. */ function isRelatedTo(source, target, reportErrors, headMessage) { - if (source.flags & 96 /* StringOrNumberLiteral */ && source.flags & 8388608 /* FreshLiteral */) { + if (reportErrors === void 0) { reportErrors = false; } + if (source.flags & 192 /* StringOrNumberLiteral */ && source.flags & 33554432 /* FreshLiteral */) { source = source.regularType; } - if (target.flags & 96 /* StringOrNumberLiteral */ && target.flags & 8388608 /* FreshLiteral */) { + if (target.flags & 192 /* StringOrNumberLiteral */ && target.flags & 33554432 /* FreshLiteral */) { target = target.regularType; } - if (source.flags & 4194304 /* Substitution */) { + if (source.flags & 8388608 /* Substitution */) { source = relation === definitelyAssignableRelation ? source.typeVariable : source.substitute; } - if (target.flags & 4194304 /* Substitution */) { + if (target.flags & 8388608 /* Substitution */) { target = target.typeVariable; } - if (source.flags & 1048576 /* IndexedAccess */) { + if (source.flags & 2097152 /* IndexedAccess */) { source = getSimplifiedType(source); } - if (target.flags & 1048576 /* IndexedAccess */) { + if (target.flags & 2097152 /* IndexedAccess */) { target = getSimplifiedType(target); } // both types are the same - covers 'they are the same primitive type or both are Any' or the same type parameter cases @@ -36047,11 +36222,11 @@ var ts; if (relation === identityRelation) { return isIdenticalTo(source, target); } - if (relation === comparableRelation && !(target.flags & 16384 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || + if (relation === comparableRelation && !(target.flags & 32768 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || isSimpleTypeRelatedTo(source, target, relation, reportErrors ? reportError : undefined)) return -1 /* True */; - if (isObjectLiteralType(source) && source.flags & 8388608 /* FreshLiteral */) { - var discriminantType = target.flags & 131072 /* Union */ ? findMatchingDiscriminantType(source, target) : undefined; + if (isObjectLiteralType(source) && source.flags & 33554432 /* FreshLiteral */) { + var discriminantType = target.flags & 262144 /* Union */ ? findMatchingDiscriminantType(source, target) : undefined; if (hasExcessProperties(source, target, discriminantType, reportErrors)) { if (reportErrors) { reportRelationError(headMessage, source, target); @@ -36067,8 +36242,8 @@ var ts; } } if (relation !== comparableRelation && - !(source.flags & 393216 /* UnionOrIntersection */) && - !(target.flags & 131072 /* Union */) && + !(source.flags & 786432 /* UnionOrIntersection */) && + !(target.flags & 262144 /* Union */) && !isIntersectionConstituent && source !== globalObjectType && (getPropertiesOfType(source).length > 0 || typeHasCallOrConstructSignatures(source)) && @@ -36094,20 +36269,20 @@ var ts; // Note that these checks are specifically ordered to produce correct results. In particular, // we need to deconstruct unions before intersections (because unions are always at the top), // and we need to handle "each" relations before "some" relations for the same kind of type. - if (source.flags & 131072 /* Union */) { + if (source.flags & 262144 /* Union */) { result = relation === comparableRelation ? - someTypeRelatedToType(source, target, reportErrors && !(source.flags & 16382 /* Primitive */)) : - eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 16382 /* Primitive */)); + someTypeRelatedToType(source, target, reportErrors && !(source.flags & 32764 /* Primitive */)) : + eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 32764 /* Primitive */)); } else { - if (target.flags & 131072 /* Union */) { - result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & 16382 /* Primitive */) && !(target.flags & 16382 /* Primitive */)); + if (target.flags & 262144 /* Union */) { + result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & 32764 /* Primitive */) && !(target.flags & 32764 /* Primitive */)); } - else if (target.flags & 262144 /* Intersection */) { + else if (target.flags & 524288 /* Intersection */) { isIntersectionConstituent = true; result = typeRelatedToEachType(source, target, reportErrors); } - else if (source.flags & 262144 /* Intersection */) { + else if (source.flags & 524288 /* Intersection */) { // Check to see if any constituents of the intersection are immediately related to the target. // // Don't report errors though. Checking whether a constituent is related to the source is not actually @@ -36123,13 +36298,13 @@ var ts; // breaking the intersection apart. result = someTypeRelatedToType(source, target, /*reportErrors*/ false); } - if (!result && (source.flags & 8355840 /* StructuredOrInstantiable */ || target.flags & 8355840 /* StructuredOrInstantiable */)) { + if (!result && (source.flags & 16711680 /* StructuredOrInstantiable */ || target.flags & 16711680 /* StructuredOrInstantiable */)) { if (result = recursiveTypeRelatedTo(source, target, reportErrors)) { errorInfo = saveErrorInfo; } } } - if (!result && source.flags & 262144 /* Intersection */) { + if (!result && source.flags & 524288 /* Intersection */) { // The combined constraint of an intersection type is the intersection of the constraints of // the constituents. When an intersection type contains instantiable types with union type // constraints, there are situations where we need to examine the combined constraint. One is @@ -36139,7 +36314,7 @@ var ts; // we need to check this constraint against a union on the target side. Also, given a type // variable V constrained to 'string | number', 'V & number' has a combined constraint of // 'string & number | number & number' which reduces to just 'number'. - var constraint = getUnionConstraintOfIntersection(source, !!(target.flags & 131072 /* Union */)); + var constraint = getUnionConstraintOfIntersection(source, !!(target.flags & 262144 /* Union */)); if (constraint) { if (result = isRelatedTo(constraint, target, reportErrors)) { errorInfo = saveErrorInfo; @@ -36148,12 +36323,22 @@ var ts; } isIntersectionConstituent = saveIsIntersectionConstituent; if (!result && reportErrors) { - if (source.flags & 65536 /* Object */ && target.flags & 16382 /* Primitive */) { + if (source.flags & 131072 /* Object */ && target.flags & 32764 /* Primitive */) { tryElaborateErrorsForPrimitivesAndObjects(source, target); } - else if (source.symbol && source.flags & 65536 /* Object */ && globalObjectType === source) { + else if (source.symbol && source.flags & 131072 /* Object */ && globalObjectType === source) { reportError(ts.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead); } + else if (ts.getObjectFlags(source) & 4096 /* JsxAttributes */ && target.flags & 524288 /* Intersection */) { + var targetTypes = target.types; + var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, errorNode); + var intrinsicClassAttributes = getJsxType(JsxNames.IntrinsicClassAttributes, errorNode); + if (intrinsicAttributes !== errorType && intrinsicClassAttributes !== errorType && + (ts.contains(targetTypes, intrinsicAttributes) || ts.contains(targetTypes, intrinsicClassAttributes))) { + // do not report top error + return result; + } + } reportRelationError(headMessage, source, target); } return result; @@ -36161,27 +36346,27 @@ var ts; function isIdenticalTo(source, target) { var result; var flags = source.flags & target.flags; - if (flags & 65536 /* Object */) { + if (flags & 131072 /* Object */) { return recursiveTypeRelatedTo(source, target, /*reportErrors*/ false); } - if (flags & (131072 /* Union */ | 262144 /* Intersection */)) { + if (flags & (262144 /* Union */ | 524288 /* Intersection */)) { if (result = eachTypeRelatedToSomeType(source, target)) { if (result &= eachTypeRelatedToSomeType(target, source)) { return result; } } } - if (flags & 524288 /* Index */) { + if (flags & 1048576 /* Index */) { return isRelatedTo(source.type, target.type, /*reportErrors*/ false); } - if (flags & 1048576 /* IndexedAccess */) { + if (flags & 2097152 /* IndexedAccess */) { if (result = isRelatedTo(source.objectType, target.objectType, /*reportErrors*/ false)) { if (result &= isRelatedTo(source.indexType, target.indexType, /*reportErrors*/ false)) { return result; } } } - if (flags & 2097152 /* Conditional */) { + if (flags & 4194304 /* Conditional */) { if (source.root.isDistributive === target.root.isDistributive) { if (result = isRelatedTo(source.checkType, target.checkType, /*reportErrors*/ false)) { if (result &= isRelatedTo(source.extendsType, target.extendsType, /*reportErrors*/ false)) { @@ -36194,13 +36379,13 @@ var ts; } } } - if (flags & 4194304 /* Substitution */) { + if (flags & 8388608 /* Substitution */) { return isRelatedTo(source.substitute, target.substitute, /*reportErrors*/ false); } return 0 /* False */; } function hasExcessProperties(source, target, discriminant, reportErrors) { - if (maybeTypeOfKind(target, 65536 /* Object */) && !(ts.getObjectFlags(target) & 512 /* ObjectLiteralPatternWithComputedProperties */)) { + if (maybeTypeOfKind(target, 131072 /* Object */) && !(ts.getObjectFlags(target) & 512 /* ObjectLiteralPatternWithComputedProperties */)) { var isComparingJsxAttributes = !!(ts.getObjectFlags(source) & 4096 /* JsxAttributes */); if ((relation === assignableRelation || relation === definitelyAssignableRelation || relation === comparableRelation) && (isTypeSubsetOf(globalObjectType, target) || (!isComparingJsxAttributes && isEmptyObjectType(target)))) { @@ -36216,7 +36401,8 @@ var ts; // We know *exactly* where things went wrong when comparing the types. // Use this property as the error node as this will be more helpful in // reasoning about what went wrong. - ts.Debug.assert(!!errorNode); + if (!errorNode) + return { value: ts.Debug.fail() }; if (ts.isJsxAttributes(errorNode) || ts.isJsxOpeningLikeElement(errorNode)) { // JsxAttributes has an object-literal flag and undergo same type-assignablity check as normal object-literal. // However, using an object-literal error message will be very confusing to the users so we give different a message. @@ -36230,8 +36416,9 @@ var ts; var propDeclaration = prop.valueDeclaration; ts.Debug.assertNode(propDeclaration, ts.isObjectLiteralElementLike); errorNode = propDeclaration; - if (ts.isIdentifier(propDeclaration.name)) { - suggestion = getSuggestionForNonexistentProperty(propDeclaration.name, target); + var name = propDeclaration.name; + if (ts.isIdentifier(name)) { + suggestion = getSuggestionForNonexistentProperty(name, target); } } if (suggestion !== undefined) { @@ -36269,7 +36456,7 @@ var ts; } function typeRelatedToSomeType(source, target, reportErrors) { var targetTypes = target.types; - if (target.flags & 131072 /* Union */ && containsType(targetTypes, source)) { + if (target.flags & 262144 /* Union */ && containsType(targetTypes, source)) { return -1 /* True */; } for (var _i = 0, targetTypes_1 = targetTypes; _i < targetTypes_1.length; _i++) { @@ -36327,7 +36514,7 @@ var ts; } function someTypeRelatedToType(source, target, reportErrors) { var sourceTypes = source.types; - if (source.flags & 131072 /* Union */ && containsType(sourceTypes, target)) { + if (source.flags & 262144 /* Union */ && containsType(sourceTypes, target)) { return -1 /* True */; } var len = sourceTypes.length; @@ -36479,7 +36666,7 @@ var ts; var result; var originalErrorInfo; var saveErrorInfo = errorInfo; - if (target.flags & 32768 /* TypeParameter */) { + if (target.flags & 65536 /* TypeParameter */) { // A source type { [P in keyof T]: X } is related to a target type T if X is related to T[P]. if (ts.getObjectFlags(source) & 32 /* Mapped */ && getConstraintTypeFromMappedType(source) === getIndexType(target)) { if (!(getMappedTypeModifiers(source) & 4 /* IncludeOptional */)) { @@ -36491,9 +36678,9 @@ var ts; } } } - else if (target.flags & 524288 /* Index */) { + else if (target.flags & 1048576 /* Index */) { // A keyof S is related to a keyof T if T is related to S. - if (source.flags & 524288 /* Index */) { + if (source.flags & 1048576 /* Index */) { if (result = isRelatedTo(target.type, source.type, /*reportErrors*/ false)) { return result; } @@ -36510,7 +36697,7 @@ var ts; } } } - else if (target.flags & 1048576 /* IndexedAccess */) { + else if (target.flags & 2097152 /* IndexedAccess */) { // A type S is related to a type T[K] if S is related to C, where C is the // constraint of T[K] var constraint = getConstraintForRelation(target); @@ -36526,7 +36713,7 @@ var ts; var template = getTemplateTypeFromMappedType(target); var modifiers = getMappedTypeModifiers(target); if (!(modifiers & 8 /* ExcludeOptional */)) { - if (template.flags & 1048576 /* IndexedAccess */ && template.objectType === source && + if (template.flags & 2097152 /* IndexedAccess */ && template.objectType === source && template.indexType === getTypeParameterFromMappedType(target)) { return -1 /* True */; } @@ -36541,8 +36728,8 @@ var ts; } } } - if (source.flags & 1081344 /* TypeVariable */) { - if (source.flags & 1048576 /* IndexedAccess */ && target.flags & 1048576 /* IndexedAccess */) { + if (source.flags & 2162688 /* TypeVariable */) { + if (source.flags & 2097152 /* IndexedAccess */ && target.flags & 2097152 /* IndexedAccess */) { // A type S[K] is related to a type T[J] if S is related to T and K is related to J. if (result = isRelatedTo(source.objectType, target.objectType, reportErrors)) { result &= isRelatedTo(source.indexType, target.indexType, reportErrors); @@ -36553,9 +36740,9 @@ var ts; } } var constraint = getConstraintForRelation(source); - if (!constraint || (source.flags & 32768 /* TypeParameter */ && constraint.flags & 1 /* Any */)) { + if (!constraint || (source.flags & 65536 /* TypeParameter */ && constraint.flags & 3 /* AnyOrUnknown */)) { // A type variable with no constraint is not related to the non-primitive object type. - if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~134217728 /* NonPrimitive */))) { + if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~16777216 /* NonPrimitive */))) { errorInfo = saveErrorInfo; return result; } @@ -36568,14 +36755,14 @@ var ts; } } } - else if (source.flags & 524288 /* Index */) { + else if (source.flags & 1048576 /* Index */) { if (result = isRelatedTo(keyofConstraintType, target, reportErrors)) { errorInfo = saveErrorInfo; return result; } } - else if (source.flags & 2097152 /* Conditional */) { - if (target.flags & 2097152 /* Conditional */) { + else if (source.flags & 4194304 /* Conditional */) { + if (target.flags & 4194304 /* Conditional */) { // Two conditional types 'T1 extends U1 ? X1 : Y1' and 'T2 extends U2 ? X2 : Y2' are related if // one of T1 and T2 is related to the other, U1 and U2 are identical types, X1 is related to X2, // and Y1 is related to Y2. @@ -36643,14 +36830,14 @@ var ts; } // Even if relationship doesn't hold for unions, intersections, or generic type references, // it may hold in a structural comparison. - var sourceIsPrimitive = !!(source.flags & 16382 /* Primitive */); + var sourceIsPrimitive = !!(source.flags & 32764 /* Primitive */); if (relation !== identityRelation) { source = getApparentType(source); } // In a check of the form X = A & B, we will have previously checked if A relates to X or B relates // to X. Failing both of those we want to check if the aggregation of A and B's members structurally // relates to X. Thus, we include intersection types on the source side here. - if (source.flags & (65536 /* Object */ | 262144 /* Intersection */) && target.flags & 65536 /* Object */) { + if (source.flags & (131072 /* Object */ | 524288 /* Intersection */) && target.flags & 131072 /* Object */) { // Report structural errors only if we haven't reported any errors yet var reportStructuralErrors = reportErrors && errorInfo === saveErrorInfo && !sourceIsPrimitive; // An empty object type is related to any mapped type that includes a '?' modifier. @@ -36805,14 +36992,14 @@ var ts; * and no required properties, call/construct signatures or index signatures */ function isWeakType(type) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); return resolved.callSignatures.length === 0 && resolved.constructSignatures.length === 0 && !resolved.stringIndexInfo && !resolved.numberIndexInfo && resolved.properties.length > 0 && ts.every(resolved.properties, function (p) { return !!(p.flags & 16777216 /* Optional */); }); } - if (type.flags & 262144 /* Intersection */) { + if (type.flags & 524288 /* Intersection */) { return ts.every(type.types, isWeakType); } return false; @@ -36828,7 +37015,7 @@ var ts; return false; } function propertiesIdenticalTo(source, target) { - if (!(source.flags & 65536 /* Object */ && target.flags & 65536 /* Object */)) { + if (!(source.flags & 131072 /* Object */ && target.flags & 131072 /* Object */)) { return 0 /* False */; } var sourceProperties = getPropertiesOfObjectType(source); @@ -36896,7 +37083,7 @@ var ts; // in the context of the target signature before checking the relationship. Ideally we'd do // this regardless of the number of signatures, but the potential costs are prohibitive due // to the quadratic nature of the logic below. - var eraseGenerics = relation === comparableRelation || compilerOptions.noStrictGenericChecks; + var eraseGenerics = relation === comparableRelation || !!compilerOptions.noStrictGenericChecks; result = signatureRelatedTo(sourceSignatures[0], targetSignatures[0], eraseGenerics, reportErrors); } else { @@ -36952,7 +37139,7 @@ var ts; continue; } // Skip over symbol-named members - if (prop.nameType && prop.nameType.flags & 1024 /* UniqueESSymbol */) { + if (prop.nameType && prop.nameType.flags & 2048 /* UniqueESSymbol */) { continue; } if (kind === 0 /* String */ || isNumericLiteralName(prop.escapedName)) { @@ -36980,7 +37167,7 @@ var ts; return indexTypesIdenticalTo(source, target, kind); } var targetInfo = getIndexInfoOfType(target, kind); - if (!targetInfo || targetInfo.type.flags & 1 /* Any */ && !sourceIsPrimitive) { + if (!targetInfo || targetInfo.type.flags & 3 /* AnyOrUnknown */ && !sourceIsPrimitive) { // Index signature of type any permits assignment from everything but primitives return -1 /* True */; } @@ -36992,7 +37179,7 @@ var ts; if (isGenericMappedType(source)) { // A generic mapped type { [P in K]: T } is related to an index signature { [x: string]: U } // if T is related to U. - return kind === 0 /* String */ && isRelatedTo(getTemplateTypeFromMappedType(source), targetInfo.type, reportErrors); + return (kind === 0 /* String */ && isRelatedTo(getTemplateTypeFromMappedType(source), targetInfo.type, reportErrors)); // TODO: GH#18217 } if (isObjectTypeWithInferableIndex(source)) { var related = -1 /* True */; @@ -37102,17 +37289,17 @@ var ts; // See comment at call in recursiveTypeRelatedTo for when this case matters. function hasCovariantVoidArgument(type, variances) { for (var i = 0; i < variances.length; i++) { - if (variances[i] === 1 /* Covariant */ && type.typeArguments[i].flags & 2048 /* Void */) { + if (variances[i] === 1 /* Covariant */ && type.typeArguments[i].flags & 4096 /* Void */) { return true; } } return false; } function isUnconstrainedTypeParameter(type) { - return type.flags & 32768 /* TypeParameter */ && !getConstraintFromTypeParameter(type); + return type.flags & 65536 /* TypeParameter */ && !getConstraintFromTypeParameter(type); } function isTypeReferenceWithGenericArguments(type) { - return ts.getObjectFlags(type) & 4 /* Reference */ && ts.some(type.typeArguments, function (t) { return isUnconstrainedTypeParameter(t) || isTypeReferenceWithGenericArguments(t); }); + return !!(ts.getObjectFlags(type) & 4 /* Reference */) && ts.some(type.typeArguments, function (t) { return isUnconstrainedTypeParameter(t) || isTypeReferenceWithGenericArguments(t); }); } /** * getTypeReferenceId(A) returns "111=0-12=1" @@ -37202,13 +37389,13 @@ var ts; // levels, but unequal at some level beyond that. function isDeeplyNestedType(type, stack, depth) { // We track all object types that have an associated symbol (representing the origin of the type) - if (depth >= 5 && type.flags & 65536 /* Object */) { + if (depth >= 5 && type.flags & 131072 /* Object */) { var symbol = type.symbol; if (symbol) { var count = 0; for (var i = 0; i < depth; i++) { var t = stack[i]; - if (t.flags & 65536 /* Object */ && t.symbol === symbol) { + if (t.flags & 131072 /* Object */ && t.symbol === symbol) { count++; if (count >= 5) return true; @@ -37356,9 +37543,9 @@ var ts; if (!strictNullChecks) { return getSupertypeOrUnion(types); } - var primaryTypes = ts.filter(types, function (t) { return !(t.flags & 12288 /* Nullable */); }); + var primaryTypes = ts.filter(types, function (t) { return !(t.flags & 24576 /* Nullable */); }); return primaryTypes.length ? - getNullableType(getSupertypeOrUnion(primaryTypes), getFalsyFlagsOfTypes(types) & 12288 /* Nullable */) : + getNullableType(getSupertypeOrUnion(primaryTypes), getFalsyFlagsOfTypes(types) & 24576 /* Nullable */) : getUnionType(types, 2 /* Subtype */); } // Return the leftmost type for which no type to the right is a subtype. @@ -37366,13 +37553,13 @@ var ts; return ts.reduceLeft(types, function (s, t) { return isTypeSubtypeOf(t, s) ? t : s; }); } function isArrayType(type) { - return ts.getObjectFlags(type) & 4 /* Reference */ && type.target === globalArrayType; + return !!(ts.getObjectFlags(type) & 4 /* Reference */) && type.target === globalArrayType; } function isArrayLikeType(type) { // A type is array-like if it is a reference to the global Array or global ReadonlyArray type, // or if it is not the undefined or null type and if it is assignable to ReadonlyArray return ts.getObjectFlags(type) & 4 /* Reference */ && (type.target === globalArrayType || type.target === globalReadonlyArrayType) || - !(type.flags & 12288 /* Nullable */) && isTypeAssignableTo(type, anyReadonlyArrayType); + !(type.flags & 24576 /* Nullable */) && isTypeAssignableTo(type, anyReadonlyArrayType); } function isEmptyArrayLiteralType(type) { var elementType = isArrayType(type) ? type.typeArguments[0] : undefined; @@ -37382,35 +37569,35 @@ var ts; return !!getPropertyOfType(type, "0"); } function isNeitherUnitTypeNorNever(type) { - return !(type.flags & (13536 /* Unit */ | 16384 /* Never */)); + return !(type.flags & (27072 /* Unit */ | 32768 /* Never */)); } function isUnitType(type) { - return !!(type.flags & 13536 /* Unit */); + return !!(type.flags & 27072 /* Unit */); } function isLiteralType(type) { - return type.flags & 8 /* Boolean */ ? true : - type.flags & 131072 /* Union */ ? type.flags & 256 /* EnumLiteral */ ? true : !ts.forEach(type.types, function (t) { return !isUnitType(t); }) : + return type.flags & 16 /* Boolean */ ? true : + type.flags & 262144 /* Union */ ? type.flags & 512 /* EnumLiteral */ ? true : !ts.forEach(type.types, function (t) { return !isUnitType(t); }) : isUnitType(type); } function getBaseTypeOfLiteralType(type) { - return type.flags & 256 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : - type.flags & 32 /* StringLiteral */ ? stringType : - type.flags & 64 /* NumberLiteral */ ? numberType : - type.flags & 128 /* BooleanLiteral */ ? booleanType : - type.flags & 131072 /* Union */ ? getUnionType(ts.sameMap(type.types, getBaseTypeOfLiteralType)) : + return type.flags & 512 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : + type.flags & 64 /* StringLiteral */ ? stringType : + type.flags & 128 /* NumberLiteral */ ? numberType : + type.flags & 256 /* BooleanLiteral */ ? booleanType : + type.flags & 262144 /* Union */ ? getUnionType(ts.sameMap(type.types, getBaseTypeOfLiteralType)) : type; } function getWidenedLiteralType(type) { - return type.flags & 256 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : - type.flags & 32 /* StringLiteral */ && type.flags & 8388608 /* FreshLiteral */ ? stringType : - type.flags & 64 /* NumberLiteral */ && type.flags & 8388608 /* FreshLiteral */ ? numberType : - type.flags & 128 /* BooleanLiteral */ ? booleanType : - type.flags & 131072 /* Union */ ? getUnionType(ts.sameMap(type.types, getWidenedLiteralType)) : + return type.flags & 512 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : + type.flags & 64 /* StringLiteral */ && type.flags & 33554432 /* FreshLiteral */ ? stringType : + type.flags & 128 /* NumberLiteral */ && type.flags & 33554432 /* FreshLiteral */ ? numberType : + type.flags & 256 /* BooleanLiteral */ ? booleanType : + type.flags & 262144 /* Union */ ? getUnionType(ts.sameMap(type.types, getWidenedLiteralType)) : type; } function getWidenedUniqueESSymbolType(type) { - return type.flags & 1024 /* UniqueESSymbol */ ? esSymbolType : - type.flags & 131072 /* Union */ ? getUnionType(ts.sameMap(type.types, getWidenedUniqueESSymbolType)) : + return type.flags & 2048 /* UniqueESSymbol */ ? esSymbolType : + type.flags & 262144 /* Union */ ? getUnionType(ts.sameMap(type.types, getWidenedUniqueESSymbolType)) : type; } function getWidenedLiteralLikeTypeForContextualType(type, contextualType) { @@ -37438,27 +37625,27 @@ var ts; // flags for the string, number, boolean, "", 0, false, void, undefined, or null types respectively. Returns // no flags for all other types (including non-falsy literal types). function getFalsyFlags(type) { - return type.flags & 131072 /* Union */ ? getFalsyFlagsOfTypes(type.types) : - type.flags & 32 /* StringLiteral */ ? type.value === "" ? 32 /* StringLiteral */ : 0 : - type.flags & 64 /* NumberLiteral */ ? type.value === 0 ? 64 /* NumberLiteral */ : 0 : - type.flags & 128 /* BooleanLiteral */ ? type === falseType ? 128 /* BooleanLiteral */ : 0 : - type.flags & 14574 /* PossiblyFalsy */; + return type.flags & 262144 /* Union */ ? getFalsyFlagsOfTypes(type.types) : + type.flags & 64 /* StringLiteral */ ? type.value === "" ? 64 /* StringLiteral */ : 0 : + type.flags & 128 /* NumberLiteral */ ? type.value === 0 ? 128 /* NumberLiteral */ : 0 : + type.flags & 256 /* BooleanLiteral */ ? type === falseType ? 256 /* BooleanLiteral */ : 0 : + type.flags & 29148 /* PossiblyFalsy */; } function removeDefinitelyFalsyTypes(type) { - return getFalsyFlags(type) & 14560 /* DefinitelyFalsy */ ? - filterType(type, function (t) { return !(getFalsyFlags(t) & 14560 /* DefinitelyFalsy */); }) : + return getFalsyFlags(type) & 29120 /* DefinitelyFalsy */ ? + filterType(type, function (t) { return !(getFalsyFlags(t) & 29120 /* DefinitelyFalsy */); }) : type; } function extractDefinitelyFalsyTypes(type) { return mapType(type, getDefinitelyFalsyPartOfType); } function getDefinitelyFalsyPartOfType(type) { - return type.flags & 2 /* String */ ? emptyStringType : - type.flags & 4 /* Number */ ? zeroType : - type.flags & 8 /* Boolean */ || type === falseType ? falseType : - type.flags & (2048 /* Void */ | 4096 /* Undefined */ | 8192 /* Null */) || - type.flags & 32 /* StringLiteral */ && type.value === "" || - type.flags & 64 /* NumberLiteral */ && type.value === 0 ? type : + return type.flags & 4 /* String */ ? emptyStringType : + type.flags & 8 /* Number */ ? zeroType : + type.flags & 16 /* Boolean */ || type === falseType ? falseType : + type.flags & (4096 /* Void */ | 8192 /* Undefined */ | 16384 /* Null */) || + type.flags & 64 /* StringLiteral */ && type.value === "" || + type.flags & 128 /* NumberLiteral */ && type.value === 0 ? type : neverType; } /** @@ -37467,15 +37654,15 @@ var ts; * @param flags - Either TypeFlags.Undefined or TypeFlags.Null, or both */ function getNullableType(type, flags) { - var missing = (flags & ~type.flags) & (4096 /* Undefined */ | 8192 /* Null */); + var missing = (flags & ~type.flags) & (8192 /* Undefined */ | 16384 /* Null */); return missing === 0 ? type : - missing === 4096 /* Undefined */ ? getUnionType([type, undefinedType]) : - missing === 8192 /* Null */ ? getUnionType([type, nullType]) : + missing === 8192 /* Undefined */ ? getUnionType([type, undefinedType]) : + missing === 16384 /* Null */ ? getUnionType([type, nullType]) : getUnionType([type, undefinedType, nullType]); } function getOptionalType(type) { ts.Debug.assert(strictNullChecks); - return type.flags & 4096 /* Undefined */ ? type : getUnionType([type, undefinedType]); + return type.flags & 8192 /* Undefined */ ? type : getUnionType([type, undefinedType]); } function getGlobalNonNullableTypeInstantiation(type) { if (!deferredGlobalNonNullableTypeAlias) { @@ -37528,7 +37715,7 @@ var ts; * Leave signatures alone since they are not subject to the check. */ function getRegularTypeOfObjectLiteral(type) { - if (!(isObjectLiteralType(type) && type.flags & 8388608 /* FreshLiteral */)) { + if (!(isObjectLiteralType(type) && type.flags & 33554432 /* FreshLiteral */)) { return type; } var regularType = type.regularType; @@ -37538,7 +37725,7 @@ var ts; var resolved = type; var members = transformTypeOfMembers(type, getRegularTypeOfObjectLiteral); var regularNew = createAnonymousType(resolved.symbol, members, resolved.callSignatures, resolved.constructSignatures, resolved.stringIndexInfo, resolved.numberIndexInfo); - regularNew.flags = resolved.flags & ~8388608 /* FreshLiteral */; + regularNew.flags = resolved.flags & ~33554432 /* FreshLiteral */; regularNew.objectFlags |= 128 /* ObjectLiteral */; type.regularType = regularNew; return regularNew; @@ -37620,16 +37807,16 @@ var ts; return getWidenedTypeWithContext(type, /*context*/ undefined); } function getWidenedTypeWithContext(type, context) { - if (type.flags & 50331648 /* RequiresWidening */) { - if (type.flags & 12288 /* Nullable */) { + if (type.flags & 402653184 /* RequiresWidening */) { + if (type.flags & 24576 /* Nullable */) { return anyType; } if (isObjectLiteralType(type)) { return getWidenedTypeOfObjectLiteral(type, context); } - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { var unionContext_1 = context || createWideningContext(/*parent*/ undefined, /*propertyName*/ undefined, type.types); - var widenedTypes = ts.sameMap(type.types, function (t) { return t.flags & 12288 /* Nullable */ ? t : getWidenedTypeWithContext(t, unionContext_1); }); + var widenedTypes = ts.sameMap(type.types, function (t) { return t.flags & 24576 /* Nullable */ ? t : getWidenedTypeWithContext(t, unionContext_1); }); // Widening an empty object literal transitions from a highly restrictive type to // a highly inclusive one. For that reason we perform subtype reduction here if the // union includes empty object types (e.g. reducing {} | string to just {}). @@ -37654,8 +37841,8 @@ var ts; */ function reportWideningErrorsInType(type) { var errorReported = false; - if (type.flags & 16777216 /* ContainsWideningType */) { - if (type.flags & 131072 /* Union */) { + if (type.flags & 134217728 /* ContainsWideningType */) { + if (type.flags & 262144 /* Union */) { if (ts.some(type.types, isEmptyObjectType)) { errorReported = true; } @@ -37680,7 +37867,7 @@ var ts; for (var _d = 0, _e = getPropertiesOfObjectType(type); _d < _e.length; _d++) { var p = _e[_d]; var t = getTypeOfSymbol(p); - if (t.flags & 16777216 /* ContainsWideningType */) { + if (t.flags & 134217728 /* ContainsWideningType */) { if (!reportWideningErrorsInType(t)) { error(p.valueDeclaration, ts.Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type, symbolToString(p), typeToString(getWidenedType(t))); } @@ -37695,33 +37882,33 @@ var ts; var typeAsString = typeToString(getWidenedType(type)); var diagnostic; switch (declaration.kind) { - case 199 /* BinaryExpression */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 200 /* BinaryExpression */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: diagnostic = ts.Diagnostics.Member_0_implicitly_has_an_1_type; break; - case 148 /* Parameter */: + case 149 /* Parameter */: diagnostic = declaration.dotDotDotToken ? ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type : ts.Diagnostics.Parameter_0_implicitly_has_an_1_type; break; - case 181 /* BindingElement */: + case 182 /* BindingElement */: diagnostic = ts.Diagnostics.Binding_element_0_implicitly_has_an_1_type; break; - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: if (!declaration.name) { error(declaration, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeAsString); return; } diagnostic = ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type; break; - case 176 /* MappedType */: + case 177 /* MappedType */: error(declaration, ts.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type); return; default: @@ -37730,7 +37917,7 @@ var ts; error(declaration, diagnostic, ts.declarationNameToString(ts.getNameOfDeclaration(declaration)), typeAsString); } function reportErrorsFromWidening(declaration, type) { - if (produceDiagnostics && noImplicitAny && type.flags & 16777216 /* ContainsWideningType */) { + if (produceDiagnostics && noImplicitAny && type.flags & 134217728 /* ContainsWideningType */) { // Report implicit any error within type if possible, otherwise report error on declaration if (!reportWideningErrorsInType(type)) { reportImplicitAnyError(declaration, type); @@ -37803,26 +37990,26 @@ var ts; // results for union and intersection types for performance reasons. function couldContainTypeVariables(type) { var objectFlags = ts.getObjectFlags(type); - return !!(type.flags & 7897088 /* Instantiable */ || + return !!(type.flags & 15794176 /* Instantiable */ || objectFlags & 4 /* Reference */ && ts.forEach(type.typeArguments, couldContainTypeVariables) || objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */ | 2048 /* TypeLiteral */ | 32 /* Class */) || objectFlags & 32 /* Mapped */ || - type.flags & 393216 /* UnionOrIntersection */ && couldUnionOrIntersectionContainTypeVariables(type)); + type.flags & 786432 /* UnionOrIntersection */ && couldUnionOrIntersectionContainTypeVariables(type)); } function couldUnionOrIntersectionContainTypeVariables(type) { if (type.couldContainTypeVariables === undefined) { - type.couldContainTypeVariables = ts.forEach(type.types, couldContainTypeVariables); + type.couldContainTypeVariables = ts.some(type.types, couldContainTypeVariables); } return type.couldContainTypeVariables; } function isTypeParameterAtTopLevel(type, typeParameter) { - return type === typeParameter || type.flags & 393216 /* UnionOrIntersection */ && ts.forEach(type.types, function (t) { return isTypeParameterAtTopLevel(t, typeParameter); }); + return type === typeParameter || !!(type.flags & 786432 /* UnionOrIntersection */) && ts.some(type.types, function (t) { return isTypeParameterAtTopLevel(t, typeParameter); }); } /** Create an object with properties named in the string literal type. Every property has type `any` */ function createEmptyObjectTypeFromStringLiteral(type) { var members = ts.createSymbolTable(); forEachType(type, function (t) { - if (!(t.flags & 32 /* StringLiteral */)) { + if (!(t.flags & 64 /* StringLiteral */)) { return; } var name = ts.escapeLeadingUnderscores(t.value); @@ -37834,7 +38021,7 @@ var ts; } members.set(name, literalProp); }); - var indexInfo = type.flags & 2 /* String */ ? createIndexInfo(emptyObjectType, /*isReadonly*/ false) : undefined; + var indexInfo = type.flags & 4 /* String */ ? createIndexInfo(emptyObjectType, /*isReadonly*/ false) : undefined; return createAnonymousType(undefined, members, ts.emptyArray, ts.emptyArray, indexInfo, undefined); } /** @@ -37862,7 +38049,7 @@ var ts; // is incomplete and we can't infer a meaningful input type. for (var _i = 0, properties_4 = properties; _i < properties_4.length; _i++) { var prop = properties_4[_i]; - if (getTypeOfSymbol(prop).flags & 67108864 /* ContainsAnyFunctionType */) { + if (getTypeOfSymbol(prop).flags & 536870912 /* ContainsAnyFunctionType */) { return undefined; } } @@ -37882,7 +38069,7 @@ var ts; return getTypeFromInference(inference); } function getUnmatchedProperty(source, target, requireOptionalProperties) { - var properties = target.flags & 262144 /* Intersection */ ? getPropertiesOfUnionOrIntersectionType(target) : getPropertiesOfObjectType(target); + var properties = target.flags & 524288 /* Intersection */ ? getPropertiesOfUnionOrIntersectionType(target) : getPropertiesOfObjectType(target); for (var _i = 0, properties_5 = properties; _i < properties_5.length; _i++) { var targetProp = properties_5[_i]; if (requireOptionalProperties || !(targetProp.flags & 16777216 /* Optional */)) { @@ -37936,8 +38123,8 @@ var ts; } return; } - if (source.flags & 131072 /* Union */ && target.flags & 131072 /* Union */ && !(source.flags & 256 /* EnumLiteral */ && target.flags & 256 /* EnumLiteral */) || - source.flags & 262144 /* Intersection */ && target.flags & 262144 /* Intersection */) { + if (source.flags & 262144 /* Union */ && target.flags & 262144 /* Union */ && !(source.flags & 512 /* EnumLiteral */ && target.flags & 512 /* EnumLiteral */) || + source.flags & 524288 /* Intersection */ && target.flags & 524288 /* Intersection */) { // Source and target are both unions or both intersections. If source and target // are the same type, just relate each constituent type to itself. if (source === target) { @@ -37960,7 +38147,7 @@ var ts; (matchingTypes || (matchingTypes = [])).push(t); inferFromTypes(t, t); } - else if (t.flags & (64 /* NumberLiteral */ | 32 /* StringLiteral */)) { + else if (t.flags & (128 /* NumberLiteral */ | 64 /* StringLiteral */)) { var b = getBaseTypeOfLiteralType(t); if (typeIdenticalToSomeType(b, target.types)) { (matchingTypes || (matchingTypes = [])).push(t, b); @@ -37975,7 +38162,7 @@ var ts; target = removeTypesFromUnionOrIntersection(target, matchingTypes); } } - if (target.flags & 1081344 /* TypeVariable */) { + if (target.flags & 2162688 /* TypeVariable */) { // If target is a type parameter, make an inference, unless the source type contains // the anyFunctionType (the wildcard type that's used to avoid contextually typing functions). // Because the anyFunctionType is internal, it should not be exposed to the user by adding @@ -37983,7 +38170,7 @@ var ts; // not contain anyFunctionType when we come back to this argument for its second round // of inference. Also, we exclude inferences for silentNeverType (which is used as a wildcard // when constructing types from type parameters that had no inference candidates). - if (source.flags & 67108864 /* ContainsAnyFunctionType */ || source === silentNeverType) { + if (source.flags & 536870912 /* ContainsAnyFunctionType */ || source === silentNeverType) { return; } var inference = getInferenceInfoForType(target); @@ -38003,7 +38190,7 @@ var ts; inference.candidates = ts.append(inference.candidates, candidate); } } - if (!(priority & 8 /* ReturnType */) && target.flags & 32768 /* TypeParameter */ && !isTypeParameterAtTopLevel(originalTarget, target)) { + if (!(priority & 8 /* ReturnType */) && target.flags & 65536 /* TypeParameter */ && !isTypeParameterAtTopLevel(originalTarget, target)) { inference.topLevel = false; } } @@ -38025,12 +38212,12 @@ var ts; } } } - else if (source.flags & 524288 /* Index */ && target.flags & 524288 /* Index */) { + else if (source.flags & 1048576 /* Index */ && target.flags & 1048576 /* Index */) { contravariant = !contravariant; inferFromTypes(source.type, target.type); contravariant = !contravariant; } - else if ((isLiteralType(source) || source.flags & 2 /* String */) && target.flags & 524288 /* Index */) { + else if ((isLiteralType(source) || source.flags & 4 /* String */) && target.flags & 1048576 /* Index */) { var empty = createEmptyObjectTypeFromStringLiteral(source); contravariant = !contravariant; var savePriority = priority; @@ -38039,17 +38226,17 @@ var ts; priority = savePriority; contravariant = !contravariant; } - else if (source.flags & 1048576 /* IndexedAccess */ && target.flags & 1048576 /* IndexedAccess */) { + else if (source.flags & 2097152 /* IndexedAccess */ && target.flags & 2097152 /* IndexedAccess */) { inferFromTypes(source.objectType, target.objectType); inferFromTypes(source.indexType, target.indexType); } - else if (source.flags & 2097152 /* Conditional */ && target.flags & 2097152 /* Conditional */) { + else if (source.flags & 4194304 /* Conditional */ && target.flags & 4194304 /* Conditional */) { inferFromTypes(source.checkType, target.checkType); inferFromTypes(source.extendsType, target.extendsType); inferFromTypes(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target)); inferFromTypes(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target)); } - else if (target.flags & 393216 /* UnionOrIntersection */) { + else if (target.flags & 786432 /* UnionOrIntersection */) { var targetTypes = target.types; var typeVariableCount = 0; var typeVariable = void 0; @@ -38074,7 +38261,7 @@ var ts; priority = savePriority; } } - else if (source.flags & 131072 /* Union */) { + else if (source.flags & 262144 /* Union */) { // Source is a union or intersection type, infer from each constituent type var sourceTypes = source.types; for (var _e = 0, sourceTypes_3 = sourceTypes; _e < sourceTypes_3.length; _e++) { @@ -38083,10 +38270,10 @@ var ts; } } else { - if (!(priority & 32 /* NoConstraints */ && source.flags & (262144 /* Intersection */ | 7897088 /* Instantiable */))) { + if (!(priority & 32 /* NoConstraints */ && source.flags & (524288 /* Intersection */ | 15794176 /* Instantiable */))) { source = getApparentType(source); } - if (source.flags & (65536 /* Object */ | 262144 /* Intersection */)) { + if (source.flags & (131072 /* Object */ | 524288 /* Intersection */)) { var key = source.id + "," + target.id; if (visited && visited.get(key)) { return; @@ -38096,7 +38283,7 @@ var ts; // an instantiation of the same generic type), we do not explore this target as it would yield // no further inferences. We exclude the static side of classes from this check since it shares // its symbol with the instance side which would lead to false positives. - var isNonConstructorObject = target.flags & 65536 /* Object */ && + var isNonConstructorObject = target.flags & 131072 /* Object */ && !(ts.getObjectFlags(target) & 16 /* Anonymous */ && target.symbol && target.symbol.flags & 32 /* Class */); var symbol = isNonConstructorObject ? target.symbol : undefined; if (symbol) { @@ -38124,7 +38311,7 @@ var ts; } } function getInferenceInfoForType(type) { - if (type.flags & 1081344 /* TypeVariable */) { + if (type.flags & 2162688 /* TypeVariable */) { for (var _i = 0, inferences_1 = inferences; _i < inferences_1.length; _i++) { var inference = inferences_1[_i]; if (type === inference.typeParameter) { @@ -38143,7 +38330,7 @@ var ts; } if (ts.getObjectFlags(target) & 32 /* Mapped */) { var constraintType = getConstraintTypeFromMappedType(target); - if (constraintType.flags & 524288 /* Index */) { + if (constraintType.flags & 1048576 /* Index */) { // We're inferring from some source type S to a homomorphic mapped type { [P in keyof T]: X }, // where T is a type variable. Use inferTypeForHomomorphicMappedType to infer a suitable source // type and then make a secondary inference from that type to T. We make a secondary inference @@ -38160,7 +38347,7 @@ var ts; } return; } - if (constraintType.flags & 32768 /* TypeParameter */) { + if (constraintType.flags & 65536 /* TypeParameter */) { // We're inferring from some source type S to a mapped type { [P in T]: X }, where T is a type // parameter. Infer from 'keyof S' to T and infer from a union of each property type in S to X. var savePriority = priority; @@ -38251,11 +38438,11 @@ var ts; reducedTypes.push(t); } } - return type.flags & 131072 /* Union */ ? getUnionType(reducedTypes) : getIntersectionType(reducedTypes); + return type.flags & 262144 /* Union */ ? getUnionType(reducedTypes) : getIntersectionType(reducedTypes); } function hasPrimitiveConstraint(type) { var constraint = getConstraintOfTypeParameter(type); - return constraint && maybeTypeOfKind(constraint, 16382 /* Primitive */ | 524288 /* Index */); + return !!constraint && maybeTypeOfKind(constraint, 32764 /* Primitive */ | 1048576 /* Index */); } function isObjectLiteralType(type) { return !!(ts.getObjectFlags(type) & 128 /* ObjectLiteral */); @@ -38280,10 +38467,12 @@ var ts; // all inferences were made to top-level occurrences of the type parameter, and // the type parameter has no constraint or its constraint includes no primitive or literal types, and // the type parameter was fixed during inference or does not occur at top-level in the return type. - var widenLiteralTypes = inference.topLevel && - !hasPrimitiveConstraint(inference.typeParameter) && + var primitiveConstraint = hasPrimitiveConstraint(inference.typeParameter); + var widenLiteralTypes = !primitiveConstraint && inference.topLevel && (inference.isFixed || !isTypeParameterAtTopLevel(getReturnTypeOfSignature(signature), inference.typeParameter)); - var baseCandidates = widenLiteralTypes ? ts.sameMap(candidates, getWidenedLiteralType) : candidates; + var baseCandidates = primitiveConstraint ? ts.sameMap(candidates, getRegularTypeOfLiteralType) : + widenLiteralTypes ? ts.sameMap(candidates, getWidenedLiteralType) : + candidates; // If all inferences were made from contravariant positions, infer a common subtype. Otherwise, if // union types were requested or if all inferences were made from the return type position, infer a // union type. Otherwise, infer a common supertype. @@ -38302,7 +38491,7 @@ var ts; inferredType = getCovariantInference(inference, context, signature); // If we have inferred 'never' but have contravariant candidates. To get a more specific type we // infer from the contravariant candidates instead. - if (inferredType.flags & 16384 /* Never */ && inference.contraCandidates) { + if (inferredType.flags & 32768 /* Never */ && inference.contraCandidates) { inferredType = getContravariantInference(inference); } } @@ -38369,7 +38558,7 @@ var ts; // TypeScript 1.0 spec (April 2014): 3.6.3 // A type query consists of the keyword typeof followed by an expression. // The expression is restricted to a single identifier or a sequence of identifiers separated by periods - return !!ts.findAncestor(node, function (n) { return n.kind === 164 /* TypeQuery */ ? true : n.kind === 71 /* Identifier */ || n.kind === 145 /* QualifiedName */ ? false : "quit"; }); + return !!ts.findAncestor(node, function (n) { return n.kind === 165 /* TypeQuery */ ? true : n.kind === 71 /* Identifier */ || n.kind === 146 /* QualifiedName */ ? false : "quit"; }); } // Return the flow cache key for a "dotted name" (i.e. a sequence of identifiers // separated by dots). The key consists of the id of the symbol referenced by the @@ -38385,13 +38574,13 @@ var ts; if (node.kind === 99 /* ThisKeyword */) { return "0"; } - if (node.kind === 184 /* PropertyAccessExpression */) { + if (node.kind === 185 /* PropertyAccessExpression */) { var key = getFlowCacheKey(node.expression); return key && key + "." + ts.idText(node.name); } - if (node.kind === 181 /* BindingElement */) { + if (node.kind === 182 /* BindingElement */) { var container = node.parent.parent; - var key = container.kind === 181 /* BindingElement */ ? getFlowCacheKey(container) : (container.initializer && getFlowCacheKey(container.initializer)); + var key = container.kind === 182 /* BindingElement */ ? getFlowCacheKey(container) : (container.initializer && getFlowCacheKey(container.initializer)); var text = getBindingElementNameText(node); var result = key && text && (key + "." + text); return result; @@ -38399,12 +38588,13 @@ var ts; return undefined; } function getBindingElementNameText(element) { - if (element.parent.kind === 179 /* ObjectBindingPattern */) { + var parent = element.parent; + if (parent.kind === 180 /* ObjectBindingPattern */) { var name = element.propertyName || element.name; switch (name.kind) { case 71 /* Identifier */: return ts.idText(name); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return ts.isStringOrNumericLiteral(name.expression) ? name.expression.text : undefined; case 9 /* StringLiteral */: case 8 /* NumericLiteral */: @@ -38415,41 +38605,41 @@ var ts; } } else { - return "" + element.parent.elements.indexOf(element); + return "" + parent.elements.indexOf(element); } } function isMatchingReference(source, target) { switch (source.kind) { case 71 /* Identifier */: return target.kind === 71 /* Identifier */ && getResolvedSymbol(source) === getResolvedSymbol(target) || - (target.kind === 231 /* VariableDeclaration */ || target.kind === 181 /* BindingElement */) && + (target.kind === 232 /* VariableDeclaration */ || target.kind === 182 /* BindingElement */) && getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(source)) === getSymbolOfNode(target); case 99 /* ThisKeyword */: return target.kind === 99 /* ThisKeyword */; case 97 /* SuperKeyword */: return target.kind === 97 /* SuperKeyword */; - case 184 /* PropertyAccessExpression */: - return target.kind === 184 /* PropertyAccessExpression */ && + case 185 /* PropertyAccessExpression */: + return target.kind === 185 /* PropertyAccessExpression */ && source.name.escapedText === target.name.escapedText && isMatchingReference(source.expression, target.expression); - case 181 /* BindingElement */: - if (target.kind !== 184 /* PropertyAccessExpression */) + case 182 /* BindingElement */: + if (target.kind !== 185 /* PropertyAccessExpression */) return false; var t = target; if (t.name.escapedText !== getBindingElementNameText(source)) return false; - if (source.parent.parent.kind === 181 /* BindingElement */ && isMatchingReference(source.parent.parent, t.expression)) { + if (source.parent.parent.kind === 182 /* BindingElement */ && isMatchingReference(source.parent.parent, t.expression)) { return true; } - if (source.parent.parent.kind === 231 /* VariableDeclaration */) { + if (source.parent.parent.kind === 232 /* VariableDeclaration */) { var maybeId = source.parent.parent.initializer; - return maybeId && isMatchingReference(maybeId, t.expression); + return !!maybeId && isMatchingReference(maybeId, t.expression); } } return false; } function containsMatchingReference(source, target) { - while (source.kind === 184 /* PropertyAccessExpression */) { + while (source.kind === 185 /* PropertyAccessExpression */) { source = source.expression; if (isMatchingReference(source, target)) { return true; @@ -38462,7 +38652,7 @@ var ts; // a possible discriminant if its type differs in the constituents of containing union type, and if every // choice is a unit type or a union of unit types. function containsMatchingReferenceDiscriminant(source, target) { - return target.kind === 184 /* PropertyAccessExpression */ && + return target.kind === 185 /* PropertyAccessExpression */ && containsMatchingReference(source, target.expression) && isDiscriminantProperty(getDeclaredTypeOfReference(target.expression), target.name.escapedText); } @@ -38470,18 +38660,18 @@ var ts; if (expr.kind === 71 /* Identifier */) { return getTypeOfSymbol(getResolvedSymbol(expr)); } - if (expr.kind === 184 /* PropertyAccessExpression */) { + if (expr.kind === 185 /* PropertyAccessExpression */) { var type = getDeclaredTypeOfReference(expr.expression); return type && getTypeOfPropertyOfType(type, expr.name.escapedText); } return undefined; } function isDiscriminantProperty(type, name) { - if (type && type.flags & 131072 /* Union */) { + if (type && type.flags & 262144 /* Union */) { var prop = getUnionOrIntersectionProperty(type, name); if (prop && ts.getCheckFlags(prop) & 2 /* SyntheticProperty */) { if (prop.isDiscriminantProperty === undefined) { - prop.isDiscriminantProperty = prop.checkFlags & 32 /* HasNonUniformType */ && isLiteralType(getTypeOfSymbol(prop)); + prop.isDiscriminantProperty = !!(prop.checkFlags & 32 /* HasNonUniformType */) && isLiteralType(getTypeOfSymbol(prop)); } return prop.isDiscriminantProperty; } @@ -38514,7 +38704,7 @@ var ts; } } } - if (callExpression.expression.kind === 184 /* PropertyAccessExpression */ && + if (callExpression.expression.kind === 185 /* PropertyAccessExpression */ && isOrContainsMatchingReference(reference, callExpression.expression.expression)) { return true; } @@ -38528,7 +38718,7 @@ var ts; return flow.id; } function typeMaybeAssignableTo(source, target) { - if (!(source.flags & 131072 /* Union */)) { + if (!(source.flags & 262144 /* Union */)) { return isTypeAssignableTo(source, target); } for (var _i = 0, _a = source.types; _i < _a.length; _i++) { @@ -38544,11 +38734,11 @@ var ts; // we remove type string. function getAssignmentReducedType(declaredType, assignedType) { if (declaredType !== assignedType) { - if (assignedType.flags & 16384 /* Never */) { + if (assignedType.flags & 32768 /* Never */) { return assignedType; } var reducedType = filterType(declaredType, function (t) { return typeMaybeAssignableTo(assignedType, t); }); - if (!(reducedType.flags & 16384 /* Never */)) { + if (!(reducedType.flags & 32768 /* Never */)) { return reducedType; } } @@ -38571,53 +38761,53 @@ var ts; } function getTypeFacts(type) { var flags = type.flags; - if (flags & 2 /* String */) { + if (flags & 4 /* String */) { return strictNullChecks ? 4079361 /* StringStrictFacts */ : 4194049 /* StringFacts */; } - if (flags & 32 /* StringLiteral */) { + if (flags & 64 /* StringLiteral */) { var isEmpty = type.value === ""; return strictNullChecks ? isEmpty ? 3030785 /* EmptyStringStrictFacts */ : 1982209 /* NonEmptyStringStrictFacts */ : isEmpty ? 3145473 /* EmptyStringFacts */ : 4194049 /* NonEmptyStringFacts */; } - if (flags & (4 /* Number */ | 16 /* Enum */)) { + if (flags & (8 /* Number */ | 32 /* Enum */)) { return strictNullChecks ? 4079234 /* NumberStrictFacts */ : 4193922 /* NumberFacts */; } - if (flags & 64 /* NumberLiteral */) { + if (flags & 128 /* NumberLiteral */) { var isZero = type.value === 0; return strictNullChecks ? isZero ? 3030658 /* ZeroStrictFacts */ : 1982082 /* NonZeroStrictFacts */ : isZero ? 3145346 /* ZeroFacts */ : 4193922 /* NonZeroFacts */; } - if (flags & 8 /* Boolean */) { + if (flags & 16 /* Boolean */) { return strictNullChecks ? 4078980 /* BooleanStrictFacts */ : 4193668 /* BooleanFacts */; } - if (flags & 136 /* BooleanLike */) { + if (flags & 272 /* BooleanLike */) { return strictNullChecks ? type === falseType ? 3030404 /* FalseStrictFacts */ : 1981828 /* TrueStrictFacts */ : type === falseType ? 3145092 /* FalseFacts */ : 4193668 /* TrueFacts */; } - if (flags & 65536 /* Object */) { + if (flags & 131072 /* Object */) { return isFunctionObjectType(type) ? strictNullChecks ? 1970144 /* FunctionStrictFacts */ : 4181984 /* FunctionFacts */ : strictNullChecks ? 1972176 /* ObjectStrictFacts */ : 4184016 /* ObjectFacts */; } - if (flags & (2048 /* Void */ | 4096 /* Undefined */)) { + if (flags & (4096 /* Void */ | 8192 /* Undefined */)) { return 2457472 /* UndefinedFacts */; } - if (flags & 8192 /* Null */) { + if (flags & 16384 /* Null */) { return 2340752 /* NullFacts */; } - if (flags & 1536 /* ESSymbolLike */) { + if (flags & 3072 /* ESSymbolLike */) { return strictNullChecks ? 1981320 /* SymbolStrictFacts */ : 4193160 /* SymbolFacts */; } - if (flags & 134217728 /* NonPrimitive */) { + if (flags & 16777216 /* NonPrimitive */) { return strictNullChecks ? 1972176 /* ObjectStrictFacts */ : 4184016 /* ObjectFacts */; } - if (flags & 7897088 /* Instantiable */) { + if (flags & 15794176 /* Instantiable */) { return getTypeFacts(getBaseConstraintOfType(type) || emptyObjectType); } - if (flags & 393216 /* UnionOrIntersection */) { + if (flags & 786432 /* UnionOrIntersection */) { return getTypeFactsOfTypes(type.types); } return 4194303 /* All */; @@ -38637,26 +38827,26 @@ var ts; return getConstraintForLocation(getTypeOfPropertyOfType(type, text), name) || isNumericLiteralName(text) && getIndexTypeOfType(type, 1 /* Number */) || getIndexTypeOfType(type, 0 /* String */) || - unknownType; + errorType; } function getTypeOfDestructuredArrayElement(type, index) { return isTupleLikeType(type) && getTypeOfPropertyOfType(type, "" + index) || checkIteratedTypeOrElementType(type, /*errorNode*/ undefined, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || - unknownType; + errorType; } function getTypeOfDestructuredSpreadExpression(type) { - return createArrayType(checkIteratedTypeOrElementType(type, /*errorNode*/ undefined, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || unknownType); + return createArrayType(checkIteratedTypeOrElementType(type, /*errorNode*/ undefined, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || errorType); } function getAssignedTypeOfBinaryExpression(node) { - var isDestructuringDefaultAssignment = node.parent.kind === 182 /* ArrayLiteralExpression */ && isDestructuringAssignmentTarget(node.parent) || - node.parent.kind === 269 /* PropertyAssignment */ && isDestructuringAssignmentTarget(node.parent.parent); + var isDestructuringDefaultAssignment = node.parent.kind === 183 /* ArrayLiteralExpression */ && isDestructuringAssignmentTarget(node.parent) || + node.parent.kind === 270 /* PropertyAssignment */ && isDestructuringAssignmentTarget(node.parent.parent); return isDestructuringDefaultAssignment ? getTypeWithDefault(getAssignedType(node), node.right) : getTypeOfExpression(node.right); } function isDestructuringAssignmentTarget(parent) { - return parent.parent.kind === 199 /* BinaryExpression */ && parent.parent.left === parent || - parent.parent.kind === 221 /* ForOfStatement */ && parent.parent.initializer === parent; + return parent.parent.kind === 200 /* BinaryExpression */ && parent.parent.left === parent || + parent.parent.kind === 222 /* ForOfStatement */ && parent.parent.initializer === parent; } function getAssignedTypeOfArrayLiteralElement(node, element) { return getTypeOfDestructuredArrayElement(getAssignedType(node), node.elements.indexOf(element)); @@ -38673,29 +38863,29 @@ var ts; function getAssignedType(node) { var parent = node.parent; switch (parent.kind) { - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return stringType; - case 221 /* ForOfStatement */: - return checkRightHandSideOfForOf(parent.expression, parent.awaitModifier) || unknownType; - case 199 /* BinaryExpression */: + case 222 /* ForOfStatement */: + return checkRightHandSideOfForOf(parent.expression, parent.awaitModifier) || errorType; + case 200 /* BinaryExpression */: return getAssignedTypeOfBinaryExpression(parent); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return undefinedType; - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return getAssignedTypeOfArrayLiteralElement(parent, node); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return getAssignedTypeOfSpreadExpression(parent); - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return getAssignedTypeOfPropertyAssignment(parent); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return getAssignedTypeOfShorthandPropertyAssignment(parent); } - return unknownType; + return errorType; } function getInitialTypeOfBindingElement(node) { var pattern = node.parent; var parentType = getInitialType(pattern.parent); - var type = pattern.kind === 179 /* ObjectBindingPattern */ ? + var type = pattern.kind === 180 /* ObjectBindingPattern */ ? getTypeOfDestructuredProperty(parentType, node.propertyName || node.name) : !node.dotDotDotToken ? getTypeOfDestructuredArrayElement(parentType, pattern.elements.indexOf(node)) : @@ -38713,35 +38903,35 @@ var ts; if (node.initializer) { return getTypeOfInitializer(node.initializer); } - if (node.parent.parent.kind === 220 /* ForInStatement */) { + if (node.parent.parent.kind === 221 /* ForInStatement */) { return stringType; } - if (node.parent.parent.kind === 221 /* ForOfStatement */) { - return checkRightHandSideOfForOf(node.parent.parent.expression, node.parent.parent.awaitModifier) || unknownType; + if (node.parent.parent.kind === 222 /* ForOfStatement */) { + return checkRightHandSideOfForOf(node.parent.parent.expression, node.parent.parent.awaitModifier) || errorType; } - return unknownType; + return errorType; } function getInitialType(node) { - return node.kind === 231 /* VariableDeclaration */ ? + return node.kind === 232 /* VariableDeclaration */ ? getInitialTypeOfVariableDeclaration(node) : getInitialTypeOfBindingElement(node); } function getInitialOrAssignedType(node) { - return node.kind === 231 /* VariableDeclaration */ || node.kind === 181 /* BindingElement */ ? + return node.kind === 232 /* VariableDeclaration */ || node.kind === 182 /* BindingElement */ ? getInitialType(node) : getAssignedType(node); } function isEmptyArrayAssignment(node) { - return node.kind === 231 /* VariableDeclaration */ && node.initializer && + return node.kind === 232 /* VariableDeclaration */ && node.initializer && isEmptyArrayLiteral(node.initializer) || - node.kind !== 181 /* BindingElement */ && node.parent.kind === 199 /* BinaryExpression */ && + node.kind !== 182 /* BindingElement */ && node.parent.kind === 200 /* BinaryExpression */ && isEmptyArrayLiteral(node.parent.right); } function getReferenceCandidate(node) { switch (node.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return getReferenceCandidate(node.expression); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: switch (node.operatorToken.kind) { case 58 /* EqualsToken */: return getReferenceCandidate(node.left); @@ -38753,13 +38943,13 @@ var ts; } function getReferenceRoot(node) { var parent = node.parent; - return parent.kind === 190 /* ParenthesizedExpression */ || - parent.kind === 199 /* BinaryExpression */ && parent.operatorToken.kind === 58 /* EqualsToken */ && parent.left === node || - parent.kind === 199 /* BinaryExpression */ && parent.operatorToken.kind === 26 /* CommaToken */ && parent.right === node ? + return parent.kind === 191 /* ParenthesizedExpression */ || + parent.kind === 200 /* BinaryExpression */ && parent.operatorToken.kind === 58 /* EqualsToken */ && parent.left === node || + parent.kind === 200 /* BinaryExpression */ && parent.operatorToken.kind === 26 /* CommaToken */ && parent.right === node ? getReferenceRoot(parent) : node; } function getTypeOfSwitchClause(clause) { - if (clause.kind === 265 /* CaseClause */) { + if (clause.kind === 266 /* CaseClause */) { return getRegularTypeOfLiteralType(getTypeOfExpression(clause.expression)); } return neverType; @@ -38776,13 +38966,13 @@ var ts; return links.switchTypes; } function eachTypeContainedIn(source, types) { - return source.flags & 131072 /* Union */ ? !ts.forEach(source.types, function (t) { return !ts.contains(types, t); }) : ts.contains(types, source); + return source.flags & 262144 /* Union */ ? !ts.forEach(source.types, function (t) { return !ts.contains(types, t); }) : ts.contains(types, source); } function isTypeSubsetOf(source, target) { - return source === target || target.flags & 131072 /* Union */ && isTypeSubsetOfUnion(source, target); + return source === target || target.flags & 262144 /* Union */ && isTypeSubsetOfUnion(source, target); } function isTypeSubsetOfUnion(source, target) { - if (source.flags & 131072 /* Union */) { + if (source.flags & 262144 /* Union */) { for (var _i = 0, _a = source.types; _i < _a.length; _i++) { var t = _a[_i]; if (!containsType(target.types, t)) { @@ -38791,30 +38981,27 @@ var ts; } return true; } - if (source.flags & 256 /* EnumLiteral */ && getBaseTypeOfEnumLiteralType(source) === target) { + if (source.flags & 512 /* EnumLiteral */ && getBaseTypeOfEnumLiteralType(source) === target) { return true; } return containsType(target.types, source); } function forEachType(type, f) { - return type.flags & 131072 /* Union */ ? ts.forEach(type.types, f) : f(type); + return type.flags & 262144 /* Union */ ? ts.forEach(type.types, f) : f(type); } function filterType(type, f) { - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { var types = type.types; var filtered = ts.filter(types, f); - return filtered === types ? type : getUnionTypeFromSortedList(filtered, type.flags & 268435456 /* UnionOfUnitTypes */); + return filtered === types ? type : getUnionTypeFromSortedList(filtered, type.flags & 67108864 /* UnionOfUnitTypes */); } return f(type) ? type : neverType; } - // Apply a mapping function to a type and return the resulting type. If the source type - // is a union type, the mapping function is applied to each constituent type and a union - // of the resulting types is returned. function mapType(type, mapper, noReductions) { - if (type.flags & 16384 /* Never */) { + if (type.flags & 32768 /* Never */) { return type; } - if (!(type.flags & 131072 /* Union */)) { + if (!(type.flags & 262144 /* Union */)) { return mapper(type); } var types = type.types; @@ -38844,11 +39031,11 @@ var ts; // typeWithPrimitives have been replaced with occurrences of string literals and numeric // literals in typeWithLiterals, respectively. function replacePrimitivesWithLiterals(typeWithPrimitives, typeWithLiterals) { - if (isTypeSubsetOf(stringType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 32 /* StringLiteral */) || - isTypeSubsetOf(numberType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 64 /* NumberLiteral */)) { + if (isTypeSubsetOf(stringType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 64 /* StringLiteral */) || + isTypeSubsetOf(numberType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 128 /* NumberLiteral */)) { return mapType(typeWithPrimitives, function (t) { - return t.flags & 2 /* String */ ? extractTypesOfKind(typeWithLiterals, 2 /* String */ | 32 /* StringLiteral */) : - t.flags & 4 /* Number */ ? extractTypesOfKind(typeWithLiterals, 4 /* Number */ | 64 /* NumberLiteral */) : + return t.flags & 4 /* String */ ? extractTypesOfKind(typeWithLiterals, 4 /* String */ | 64 /* StringLiteral */) : + t.flags & 8 /* Number */ ? extractTypesOfKind(typeWithLiterals, 8 /* Number */ | 128 /* NumberLiteral */) : t; }); } @@ -38883,9 +39070,9 @@ var ts; return isTypeSubsetOf(elementType, evolvingArrayType.elementType) ? evolvingArrayType : getEvolvingArrayType(getUnionType([evolvingArrayType.elementType, elementType])); } function createFinalArrayType(elementType) { - return elementType.flags & 16384 /* Never */ ? + return elementType.flags & 32768 /* Never */ ? autoArrayType : - createArrayType(elementType.flags & 131072 /* Union */ ? + createArrayType(elementType.flags & 262144 /* Union */ ? getUnionType(elementType.types, 2 /* Subtype */) : elementType); } @@ -38903,7 +39090,7 @@ var ts; var hasEvolvingArrayType = false; for (var _i = 0, types_14 = types; _i < types_14.length; _i++) { var t = types_14[_i]; - if (!(t.flags & 16384 /* Never */)) { + if (!(t.flags & 32768 /* Never */)) { if (!(ts.getObjectFlags(t) & 256 /* EvolvingArray */)) { return false; } @@ -38925,15 +39112,15 @@ var ts; function isEvolvingArrayOperationTarget(node) { var root = getReferenceRoot(node); var parent = root.parent; - var isLengthPushOrUnshift = parent.kind === 184 /* PropertyAccessExpression */ && (parent.name.escapedText === "length" || - parent.parent.kind === 186 /* CallExpression */ && ts.isPushOrUnshiftIdentifier(parent.name)); - var isElementAssignment = parent.kind === 185 /* ElementAccessExpression */ && + var isLengthPushOrUnshift = parent.kind === 185 /* PropertyAccessExpression */ && (parent.name.escapedText === "length" || + parent.parent.kind === 187 /* CallExpression */ && ts.isPushOrUnshiftIdentifier(parent.name)); + var isElementAssignment = parent.kind === 186 /* ElementAccessExpression */ && parent.expression === root && - parent.parent.kind === 199 /* BinaryExpression */ && + parent.parent.kind === 200 /* BinaryExpression */ && parent.parent.operatorToken.kind === 58 /* EqualsToken */ && parent.parent.left === parent && !ts.isAssignmentTarget(parent.parent) && - isTypeAssignableToKind(getTypeOfExpression(parent.argumentExpression), 84 /* NumberLike */); + isTypeAssignableToKind(getTypeOfExpression(parent.argumentExpression), 168 /* NumberLike */); return isLengthPushOrUnshift || isElementAssignment; } function maybeTypePredicateCall(node) { @@ -38948,7 +39135,7 @@ var ts; var funcType = checkNonNullExpression(node.expression); if (funcType !== silentNeverType) { var apparentType = getApparentType(funcType); - return apparentType !== unknownType && ts.some(getSignaturesOfType(apparentType, 0 /* Call */), signatureHasTypePredicate); + return apparentType !== errorType && ts.some(getSignaturesOfType(apparentType, 0 /* Call */), signatureHasTypePredicate); } } return false; @@ -38964,9 +39151,9 @@ var ts; var key; var flowDepth = 0; if (flowAnalysisDisabled) { - return unknownType; + return errorType; } - if (!reference.flowNode || !couldBeUninitialized && !(declaredType.flags & 142575359 /* Narrowable */)) { + if (!reference.flowNode || !couldBeUninitialized && !(declaredType.flags & 33492479 /* Narrowable */)) { return declaredType; } var sharedFlowStart = sharedFlowCount; @@ -38977,7 +39164,7 @@ var ts; // on empty arrays are possible without implicit any errors and new element types can be inferred without // type mismatch errors. var resultType = ts.getObjectFlags(evolvedType) & 256 /* EvolvingArray */ && isEvolvingArrayOperationTarget(reference) ? anyArrayType : finalizeEvolvingArrayType(evolvedType); - if (reference.parent && reference.parent.kind === 208 /* NonNullExpression */ && getTypeWithFacts(resultType, 524288 /* NEUndefinedOrNull */).flags & 16384 /* Never */) { + if (reference.parent && reference.parent.kind === 209 /* NonNullExpression */ && getTypeWithFacts(resultType, 524288 /* NEUndefinedOrNull */).flags & 32768 /* Never */) { return declaredType; } return resultType; @@ -38987,7 +39174,7 @@ var ts; // and disable further control flow analysis in the containing function or module body. flowAnalysisDisabled = true; reportFlowControlError(reference); - return unknownType; + return errorType; } flowDepth++; while (true) { @@ -39048,7 +39235,7 @@ var ts; else if (flags & 2 /* Start */) { // Check if we should continue with the control flow of the containing function. var container = flow.container; - if (container && container !== flowContainer && reference.kind !== 184 /* PropertyAccessExpression */ && reference.kind !== 99 /* ThisKeyword */) { + if (container && container !== flowContainer && reference.kind !== 185 /* PropertyAccessExpression */ && reference.kind !== 99 /* ThisKeyword */) { flow = container.flowNode; continue; } @@ -39086,7 +39273,7 @@ var ts; var assignedType = getBaseTypeOfLiteralType(getInitialOrAssignedType(node)); return isTypeAssignableTo(assignedType, declaredType) ? assignedType : anyArrayType; } - if (declaredType.flags & 131072 /* Union */) { + if (declaredType.flags & 262144 /* Union */) { return getAssignmentReducedType(declaredType, getInitialOrAssignedType(node)); } return declaredType; @@ -39104,7 +39291,7 @@ var ts; function getTypeAtFlowArrayMutation(flow) { if (declaredType === autoType || declaredType === autoArrayType) { var node = flow.node; - var expr = node.kind === 186 /* CallExpression */ ? + var expr = node.kind === 187 /* CallExpression */ ? node.expression.expression : node.left.expression; if (isMatchingReference(reference, getReferenceCandidate(expr))) { @@ -39112,7 +39299,7 @@ var ts; var type = getTypeFromFlowType(flowType); if (ts.getObjectFlags(type) & 256 /* EvolvingArray */) { var evolvedType_1 = type; - if (node.kind === 186 /* CallExpression */) { + if (node.kind === 187 /* CallExpression */) { for (var _i = 0, _a = node.arguments; _i < _a.length; _i++) { var arg = _a[_i]; evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, arg); @@ -39120,7 +39307,7 @@ var ts; } else { var indexType = getTypeOfExpression(node.left.argumentExpression); - if (isTypeAssignableToKind(indexType, 84 /* NumberLike */)) { + if (isTypeAssignableToKind(indexType, 168 /* NumberLike */)) { evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, node.right); } } @@ -39134,7 +39321,7 @@ var ts; function getTypeAtFlowCondition(flow) { var flowType = getTypeAtFlowNode(flow.antecedent); var type = getTypeFromFlowType(flowType); - if (type.flags & 16384 /* Never */) { + if (type.flags & 32768 /* Never */) { return flowType; } // If we have an antecedent type (meaning we're reachable in some way), we first @@ -39151,7 +39338,7 @@ var ts; return flowType; } var incomplete = isIncomplete(flowType); - var resultType = incomplete && narrowedType.flags & 16384 /* Never */ ? silentNeverType : narrowedType; + var resultType = incomplete && narrowedType.flags & 32768 /* Never */ ? silentNeverType : narrowedType; return createFlowType(resultType, incomplete); } function getTypeAtSwitchClause(flow) { @@ -39277,8 +39464,8 @@ var ts; return result; } function isMatchingReferenceDiscriminant(expr, computedType) { - return expr.kind === 184 /* PropertyAccessExpression */ && - computedType.flags & 131072 /* Union */ && + return expr.kind === 185 /* PropertyAccessExpression */ && + computedType.flags & 262144 /* Union */ && isMatchingReference(reference, expr.expression) && isDiscriminantProperty(computedType, expr.name.escapedText); } @@ -39311,7 +39498,7 @@ var ts; return !assumeTrue; } function narrowByInKeyword(type, literal, assumeTrue) { - if ((type.flags & (131072 /* Union */ | 65536 /* Object */)) || (type.flags & 32768 /* TypeParameter */ && type.isThisType)) { + if ((type.flags & (262144 /* Union */ | 131072 /* Object */)) || (type.flags & 65536 /* TypeParameter */ && type.isThisType)) { var propName_1 = ts.escapeLeadingUnderscores(literal.text); return filterType(type, function (t) { return isTypePresencePossible(t, propName_1, assumeTrue); }); } @@ -39328,10 +39515,10 @@ var ts; var operator_1 = expr.operatorToken.kind; var left_1 = getReferenceCandidate(expr.left); var right_1 = getReferenceCandidate(expr.right); - if (left_1.kind === 194 /* TypeOfExpression */ && ts.isStringLiteralLike(right_1)) { + if (left_1.kind === 195 /* TypeOfExpression */ && ts.isStringLiteralLike(right_1)) { return narrowTypeByTypeof(type, left_1, operator_1, right_1, assumeTrue); } - if (right_1.kind === 194 /* TypeOfExpression */ && ts.isStringLiteralLike(left_1)) { + if (right_1.kind === 195 /* TypeOfExpression */ && ts.isStringLiteralLike(left_1)) { return narrowTypeByTypeof(type, right_1, operator_1, left_1, assumeTrue); } if (isMatchingReference(reference, left_1)) { @@ -39371,24 +39558,24 @@ var ts; assumeTrue = !assumeTrue; } var valueType = getTypeOfExpression(value); - if (valueType.flags & 12288 /* Nullable */) { + if (valueType.flags & 24576 /* Nullable */) { if (!strictNullChecks) { return type; } var doubleEquals = operator === 32 /* EqualsEqualsToken */ || operator === 33 /* ExclamationEqualsToken */; var facts = doubleEquals ? assumeTrue ? 65536 /* EQUndefinedOrNull */ : 524288 /* NEUndefinedOrNull */ : - valueType.flags & 8192 /* Null */ ? + valueType.flags & 16384 /* Null */ ? assumeTrue ? 32768 /* EQNull */ : 262144 /* NENull */ : assumeTrue ? 16384 /* EQUndefined */ : 131072 /* NEUndefined */; return getTypeWithFacts(type, facts); } - if (type.flags & 134283777 /* NotUnionOrUnit */) { + if (type.flags & 16909315 /* NotUnionOrUnit */) { return type; } if (assumeTrue) { var narrowedType = filterType(type, function (t) { return areTypesComparable(t, valueType); }); - return narrowedType.flags & 16384 /* Never */ ? type : replacePrimitivesWithLiterals(narrowedType, valueType); + return narrowedType.flags & 32768 /* Never */ ? type : replacePrimitivesWithLiterals(narrowedType, valueType); } if (isUnitType(valueType)) { var regularType_1 = getRegularTypeOfLiteralType(valueType); @@ -39410,16 +39597,19 @@ var ts; if (operator === 33 /* ExclamationEqualsToken */ || operator === 35 /* ExclamationEqualsEqualsToken */) { assumeTrue = !assumeTrue; } - if (assumeTrue && !(type.flags & 131072 /* Union */)) { + if (type.flags & 1 /* Any */ && literal.text === "function") { + return type; + } + if (assumeTrue && !(type.flags & 262144 /* Union */)) { // We narrow a non-union type to an exact primitive type if the non-union type // is a supertype of that primitive type. For example, type 'any' can be narrowed // to one of the primitive types. - var targetType = typeofTypesByName.get(literal.text); + var targetType = literal.text === "function" ? globalFunctionType : typeofTypesByName.get(literal.text); if (targetType) { if (isTypeSubtypeOf(targetType, type)) { return targetType; } - if (type.flags & 7897088 /* Instantiable */) { + if (type.flags & 15794176 /* Instantiable */) { var constraint = getBaseConstraintOfType(type) || anyType; if (isTypeSubtypeOf(targetType, constraint)) { return getIntersectionType([type, targetType]); @@ -39441,13 +39631,13 @@ var ts; var clauseTypes = switchTypes.slice(clauseStart, clauseEnd); var hasDefaultClause = clauseStart === clauseEnd || ts.contains(clauseTypes, neverType); var discriminantType = getUnionType(clauseTypes); - var caseType = discriminantType.flags & 16384 /* Never */ ? neverType : + var caseType = discriminantType.flags & 32768 /* Never */ ? neverType : replacePrimitivesWithLiterals(filterType(type, function (t) { return areTypesComparable(discriminantType, t); }), discriminantType); if (!hasDefaultClause) { return caseType; } var defaultType = filterType(type, function (t) { return !(isUnitType(t) && ts.contains(switchTypes, getRegularTypeOfLiteralType(t))); }); - return caseType.flags & 16384 /* Never */ ? defaultType : getUnionType([caseType, defaultType]); + return caseType.flags & 32768 /* Never */ ? defaultType : getUnionType([caseType, defaultType]); } function narrowTypeByInstanceof(type, expr, assumeTrue) { var left = getReferenceCandidate(expr.left); @@ -39501,9 +39691,9 @@ var ts; } // If the current type is a union type, remove all constituents that couldn't be instances of // the candidate type. If one or more constituents remain, return a union of those. - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { var assignableType = filterType(type, function (t) { return isRelated(t, candidate); }); - if (!(assignableType.flags & 16384 /* Never */)) { + if (!(assignableType.flags & 32768 /* Never */)) { return assignableType; } } @@ -39543,7 +39733,7 @@ var ts; } else { var invokedExpression = ts.skipParentheses(callExpression.expression); - if (invokedExpression.kind === 185 /* ElementAccessExpression */ || invokedExpression.kind === 184 /* PropertyAccessExpression */) { + if (invokedExpression.kind === 186 /* ElementAccessExpression */ || invokedExpression.kind === 185 /* PropertyAccessExpression */) { var accessExpression = invokedExpression; var possibleReference = ts.skipParentheses(accessExpression.expression); if (isMatchingReference(reference, possibleReference)) { @@ -39563,15 +39753,15 @@ var ts; case 71 /* Identifier */: case 99 /* ThisKeyword */: case 97 /* SuperKeyword */: - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return narrowTypeByTruthiness(type, expr, assumeTrue); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return narrowTypeByTypePredicate(type, expr, assumeTrue); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return narrowType(type, expr.expression, assumeTrue); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return narrowTypeByBinaryExpression(type, expr, assumeTrue); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: if (expr.operator === 51 /* ExclamationToken */) { return narrowType(type, expr.operand, !assumeTrue); } @@ -39607,9 +39797,9 @@ var ts; function getControlFlowContainer(node) { return ts.findAncestor(node.parent, function (node) { return ts.isFunctionLike(node) && !ts.getImmediatelyInvokedFunctionExpression(node) || - node.kind === 239 /* ModuleBlock */ || - node.kind === 273 /* SourceFile */ || - node.kind === 151 /* PropertyDeclaration */; + node.kind === 240 /* ModuleBlock */ || + node.kind === 274 /* SourceFile */ || + node.kind === 152 /* PropertyDeclaration */; }); } // Check if a parameter is assigned anywhere within its declaring function. @@ -39631,7 +39821,7 @@ var ts; if (node.kind === 71 /* Identifier */) { if (ts.isAssignmentTarget(node)) { var symbol = getResolvedSymbol(node); - if (symbol.valueDeclaration && ts.getRootDeclaration(symbol.valueDeclaration).kind === 148 /* Parameter */) { + if (symbol.valueDeclaration && ts.getRootDeclaration(symbol.valueDeclaration).kind === 149 /* Parameter */) { symbol.isAssigned = true; } } @@ -39646,21 +39836,21 @@ var ts; /** remove undefined from the annotated type of a parameter when there is an initializer (that doesn't include undefined) */ function removeOptionalityFromDeclaredType(declaredType, declaration) { var annotationIncludesUndefined = strictNullChecks && - declaration.kind === 148 /* Parameter */ && + declaration.kind === 149 /* Parameter */ && declaration.initializer && - getFalsyFlags(declaredType) & 4096 /* Undefined */ && - !(getFalsyFlags(checkExpression(declaration.initializer)) & 4096 /* Undefined */); + getFalsyFlags(declaredType) & 8192 /* Undefined */ && + !(getFalsyFlags(checkExpression(declaration.initializer)) & 8192 /* Undefined */); return annotationIncludesUndefined ? getTypeWithFacts(declaredType, 131072 /* NEUndefined */) : declaredType; } function isConstraintPosition(node) { var parent = node.parent; - return parent.kind === 184 /* PropertyAccessExpression */ || - parent.kind === 186 /* CallExpression */ && parent.expression === node || - parent.kind === 185 /* ElementAccessExpression */ && parent.expression === node || - parent.kind === 181 /* BindingElement */ && parent.name === node && !!parent.initializer; + return parent.kind === 185 /* PropertyAccessExpression */ || + parent.kind === 187 /* CallExpression */ && parent.expression === node || + parent.kind === 186 /* ElementAccessExpression */ && parent.expression === node || + parent.kind === 182 /* BindingElement */ && parent.name === node && !!parent.initializer; } function typeHasNullableConstraint(type) { - return type.flags & 7372800 /* InstantiableNonPrimitive */ && maybeTypeOfKind(getBaseConstraintOfType(type) || emptyObjectType, 12288 /* Nullable */); + return type.flags & 14745600 /* InstantiableNonPrimitive */ && maybeTypeOfKind(getBaseConstraintOfType(type) || emptyObjectType, 24576 /* Nullable */); } function getConstraintForLocation(type, node) { // When a node is the left hand expression of a property access, element access, or call expression, @@ -39680,7 +39870,7 @@ var ts; function checkIdentifier(node) { var symbol = getResolvedSymbol(node); if (symbol === unknownSymbol) { - return unknownType; + return errorType; } // As noted in ECMAScript 6 language spec, arrow functions never have an arguments objects. // Although in down-level emit of arrow function, we emit it using function expression which means that @@ -39691,7 +39881,7 @@ var ts; if (symbol === argumentsSymbol) { var container = ts.getContainingFunction(node); if (languageVersion < 2 /* ES2015 */) { - if (container.kind === 192 /* ArrowFunction */) { + if (container.kind === 193 /* ArrowFunction */) { error(node, ts.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression); } else if (ts.hasModifier(container, 256 /* Async */)) { @@ -39712,7 +39902,7 @@ var ts; // Due to the emit for class decorators, any reference to the class from inside of the class body // must instead be rewritten to point to a temporary variable to avoid issues with the double-bind // behavior of class names in ES6. - if (declaration.kind === 234 /* ClassDeclaration */ + if (declaration.kind === 235 /* ClassDeclaration */ && ts.nodeIsDecorated(declaration)) { var container = ts.getContainingClass(node); while (container !== undefined) { @@ -39724,14 +39914,14 @@ var ts; container = ts.getContainingClass(container); } } - else if (declaration.kind === 204 /* ClassExpression */) { + else if (declaration.kind === 205 /* ClassExpression */) { // When we emit a class expression with static members that contain a reference // to the constructor in the initializer, we will need to substitute that // binding with an alias as the class name is not in scope. var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); - while (container !== undefined) { + while (container.kind !== 274 /* SourceFile */) { if (container.parent === declaration) { - if (container.kind === 151 /* PropertyDeclaration */ && ts.hasModifier(container, 32 /* Static */)) { + if (container.kind === 152 /* PropertyDeclaration */ && ts.hasModifier(container, 32 /* Static */)) { getNodeLinks(declaration).flags |= 8388608 /* ClassWithConstructorReference */; getNodeLinks(node).flags |= 16777216 /* ConstructorReferenceInClass */; } @@ -39748,11 +39938,11 @@ var ts; if (!(localOrExportSymbol.flags & 3 /* Variable */) && !(ts.isInJavaScriptFile(node) && localOrExportSymbol.flags & 512 /* ValueModule */)) { error(node, ts.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable, symbolToString(symbol)); - return unknownType; + return errorType; } if (isReadonlySymbol(localOrExportSymbol)) { error(node, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, symbolToString(symbol)); - return unknownType; + return errorType; } } var isAlias = localOrExportSymbol.flags & 2097152 /* Alias */; @@ -39775,7 +39965,7 @@ var ts; // The declaration container is the innermost function that encloses the declaration of the variable // or parameter. The flow container is the innermost function starting with which we analyze the control // flow graph to determine the control flow based type. - var isParameter = ts.getRootDeclaration(declaration).kind === 148 /* Parameter */; + var isParameter = ts.getRootDeclaration(declaration).kind === 149 /* Parameter */; var declarationContainer = getControlFlowContainer(declaration); var flowContainer = getControlFlowContainer(node); var isOuterVariable = flowContainer !== declarationContainer; @@ -39783,8 +39973,8 @@ var ts; // When the control flow originates in a function expression or arrow function and we are referencing // a const variable or parameter from an outer function, we extend the origin of the control flow // analysis to include the immediately enclosing function. - while (flowContainer !== declarationContainer && (flowContainer.kind === 191 /* FunctionExpression */ || - flowContainer.kind === 192 /* ArrowFunction */ || ts.isObjectLiteralOrClassExpressionMethod(flowContainer)) && + while (flowContainer !== declarationContainer && (flowContainer.kind === 192 /* FunctionExpression */ || + flowContainer.kind === 193 /* ArrowFunction */ || ts.isObjectLiteralOrClassExpressionMethod(flowContainer)) && (isConstVariable(localOrExportSymbol) || isParameter && !isParameterAssigned(localOrExportSymbol))) { flowContainer = getControlFlowContainer(flowContainer); } @@ -39792,10 +39982,10 @@ var ts; // the entire control flow graph from the variable's declaration (i.e. when the flow container and // declaration container are the same). var assumeInitialized = isParameter || isAlias || isOuterVariable || isSpreadDestructuringAsignmentTarget || - type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & 1 /* Any */) !== 0 || - isInTypeQuery(node) || node.parent.kind === 251 /* ExportSpecifier */) || - node.parent.kind === 208 /* NonNullExpression */ || - declaration.kind === 231 /* VariableDeclaration */ && declaration.exclamationToken || + type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & 3 /* AnyOrUnknown */) !== 0 || + isInTypeQuery(node) || node.parent.kind === 252 /* ExportSpecifier */) || + node.parent.kind === 209 /* NonNullExpression */ || + declaration.kind === 232 /* VariableDeclaration */ && declaration.exclamationToken || declaration.flags & 4194304 /* Ambient */; var initialType = assumeInitialized ? (isParameter ? removeOptionalityFromDeclaredType(type, declaration) : type) : type === autoType || type === autoArrayType ? undefinedType : @@ -39813,7 +40003,7 @@ var ts; return convertAutoToAny(flowType); } } - else if (!assumeInitialized && !(getFalsyFlags(type) & 4096 /* Undefined */) && getFalsyFlags(flowType) & 4096 /* Undefined */) { + else if (!assumeInitialized && !(getFalsyFlags(type) & 8192 /* Undefined */) && getFalsyFlags(flowType) & 8192 /* Undefined */) { error(node, ts.Diagnostics.Variable_0_is_used_before_being_assigned, symbolToString(symbol)); // Return the declared type to reduce follow-on errors return type; @@ -39826,7 +40016,7 @@ var ts; function checkNestedBlockScopedBinding(node, symbol) { if (languageVersion >= 2 /* ES2015 */ || (symbol.flags & (2 /* BlockScopedVariable */ | 32 /* Class */)) === 0 || - symbol.valueDeclaration.parent.kind === 268 /* CatchClause */) { + symbol.valueDeclaration.parent.kind === 269 /* CatchClause */) { return; } // 1. walk from the use site up to the declaration and check @@ -39851,8 +40041,8 @@ var ts; } // mark variables that are declared in loop initializer and reassigned inside the body of ForStatement. // if body of ForStatement will be converted to function then we'll need a extra machinery to propagate reassigned values back. - if (container.kind === 219 /* ForStatement */ && - ts.getAncestor(symbol.valueDeclaration, 232 /* VariableDeclarationList */).parent === container && + if (container.kind === 220 /* ForStatement */ && + ts.getAncestor(symbol.valueDeclaration, 233 /* VariableDeclarationList */).parent === container && isAssignedInBodyOfForStatement(node, container)) { getNodeLinks(symbol.valueDeclaration).flags |= 2097152 /* NeedsLoopOutParameter */; } @@ -39866,7 +40056,7 @@ var ts; function isAssignedInBodyOfForStatement(node, container) { // skip parenthesized nodes var current = node; - while (current.parent.kind === 190 /* ParenthesizedExpression */) { + while (current.parent.kind === 191 /* ParenthesizedExpression */) { current = current.parent; } // check if node is used as LHS in some assignment expression @@ -39874,7 +40064,7 @@ var ts; if (ts.isAssignmentTarget(current)) { isAssigned = true; } - else if ((current.parent.kind === 197 /* PrefixUnaryExpression */ || current.parent.kind === 198 /* PostfixUnaryExpression */)) { + else if ((current.parent.kind === 198 /* PrefixUnaryExpression */ || current.parent.kind === 199 /* PostfixUnaryExpression */)) { var expr = current.parent; isAssigned = expr.operator === 43 /* PlusPlusToken */ || expr.operator === 44 /* MinusMinusToken */; } @@ -39887,7 +40077,7 @@ var ts; } function captureLexicalThis(node, container) { getNodeLinks(node).flags |= 2 /* LexicalThis */; - if (container.kind === 151 /* PropertyDeclaration */ || container.kind === 154 /* Constructor */) { + if (container.kind === 152 /* PropertyDeclaration */ || container.kind === 155 /* Constructor */) { var classNode = container.parent; getNodeLinks(classNode).flags |= 4 /* CaptureThis */; } @@ -39955,38 +40145,38 @@ var ts; // tell whether 'this' needs to be captured. var container = ts.getThisContainer(node, /* includeArrowFunctions */ true); var needToCaptureLexicalThis = false; - if (container.kind === 154 /* Constructor */) { + if (container.kind === 155 /* Constructor */) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class); } // Now skip arrow functions to get the "real" owner of 'this'. - if (container.kind === 192 /* ArrowFunction */) { + if (container.kind === 193 /* ArrowFunction */) { container = ts.getThisContainer(container, /* includeArrowFunctions */ false); // When targeting es6, arrow function lexically bind "this" so we do not need to do the work of binding "this" in emitted code needToCaptureLexicalThis = (languageVersion < 2 /* ES2015 */); } switch (container.kind) { - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_current_location); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks break; - case 154 /* Constructor */: + case 155 /* Constructor */: if (isInConstructorArgumentInitializer(node, container)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_constructor_arguments); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks } break; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: if (ts.hasModifier(container, 32 /* Static */)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks } break; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name); break; } @@ -40007,8 +40197,8 @@ var ts; // Note: a parameter initializer should refer to class-this unless function-this is explicitly annotated. // If this is a function in a JS file, it might be a class method. Check if it's the RHS // of a x.prototype.y = function [name]() { .... } - if (container.kind === 191 /* FunctionExpression */ && - container.parent.kind === 199 /* BinaryExpression */ && + if (container.kind === 192 /* FunctionExpression */ && + container.parent.kind === 200 /* BinaryExpression */ && ts.getSpecialPropertyAssignmentKind(container.parent) === 3 /* PrototypeProperty */) { // Get the 'x' of 'x.prototype.y = f' (here, 'f' is 'container') var className = container.parent // x.prototype.y = f @@ -40032,14 +40222,14 @@ var ts; } if (ts.isInJavaScriptFile(node)) { var type = getTypeForThisExpressionFromJSDoc(container); - if (type && type !== unknownType) { + if (type && type !== errorType) { return getFlowTypeOfReference(node, type); } } } function getTypeForThisExpressionFromJSDoc(node) { var jsdocType = ts.getJSDocType(node); - if (jsdocType && jsdocType.kind === 283 /* JSDocFunctionType */) { + if (jsdocType && jsdocType.kind === 284 /* JSDocFunctionType */) { var jsDocFunctionType = jsdocType; if (jsDocFunctionType.parameters.length > 0 && jsDocFunctionType.parameters[0].name && @@ -40049,15 +40239,15 @@ var ts; } } function isInConstructorArgumentInitializer(node, constructorDecl) { - return !!ts.findAncestor(node, function (n) { return n === constructorDecl ? "quit" : n.kind === 148 /* Parameter */; }); + return !!ts.findAncestor(node, function (n) { return n === constructorDecl ? "quit" : n.kind === 149 /* Parameter */; }); } function checkSuperExpression(node) { - var isCallExpression = node.parent.kind === 186 /* CallExpression */ && node.parent.expression === node; + var isCallExpression = node.parent.kind === 187 /* CallExpression */ && node.parent.expression === node; var container = ts.getSuperContainer(node, /*stopOnFunctions*/ true); var needToCaptureLexicalThis = false; // adjust the container reference in case if super is used inside arrow functions with arbitrarily deep nesting if (!isCallExpression) { - while (container && container.kind === 192 /* ArrowFunction */) { + while (container && container.kind === 193 /* ArrowFunction */) { container = ts.getSuperContainer(container, /*stopOnFunctions*/ true); needToCaptureLexicalThis = languageVersion < 2 /* ES2015 */; } @@ -40070,22 +40260,22 @@ var ts; // class B { // [super.foo()]() {} // } - var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 146 /* ComputedPropertyName */; }); - if (current && current.kind === 146 /* ComputedPropertyName */) { + var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 147 /* ComputedPropertyName */; }); + if (current && current.kind === 147 /* ComputedPropertyName */) { error(node, ts.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name); } else if (isCallExpression) { error(node, ts.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors); } - else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 183 /* ObjectLiteralExpression */)) { + else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 184 /* ObjectLiteralExpression */)) { error(node, ts.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions); } else { error(node, ts.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class); } - return unknownType; + return errorType; } - if (!isCallExpression && container.kind === 154 /* Constructor */) { + if (!isCallExpression && container.kind === 155 /* Constructor */) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class); } if (ts.hasModifier(container, 32 /* Static */) || isCallExpression) { @@ -40151,7 +40341,7 @@ var ts; // This helper creates an object with a "value" property that wraps the `super` property or indexed access for both get and set. // This is required for destructuring assignments, as a call expression cannot be used as the target of a destructuring assignment // while a property access can. - if (container.kind === 153 /* MethodDeclaration */ && ts.hasModifier(container, 256 /* Async */)) { + if (container.kind === 154 /* MethodDeclaration */ && ts.hasModifier(container, 256 /* Async */)) { if (ts.isSuperProperty(node.parent) && ts.isAssignmentTarget(node.parent)) { getNodeLinks(container).flags |= 4096 /* AsyncMethodWithSuperBinding */; } @@ -40165,10 +40355,10 @@ var ts; // in this case they should also use correct lexical this captureLexicalThis(node.parent, container); } - if (container.parent.kind === 183 /* ObjectLiteralExpression */) { + if (container.parent.kind === 184 /* ObjectLiteralExpression */) { if (languageVersion < 2 /* ES2015 */) { error(node, ts.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher); - return unknownType; + return errorType; } else { // for object literal assume that type of 'super' is 'any' @@ -40179,17 +40369,17 @@ var ts; var classLikeDeclaration = container.parent; if (!ts.getClassExtendsHeritageClauseElement(classLikeDeclaration)) { error(node, ts.Diagnostics.super_can_only_be_referenced_in_a_derived_class); - return unknownType; + return errorType; } var classType = getDeclaredTypeOfSymbol(getSymbolOfNode(classLikeDeclaration)); var baseClassType = classType && getBaseTypes(classType)[0]; if (!baseClassType) { - return unknownType; + return errorType; } - if (container.kind === 154 /* Constructor */ && isInConstructorArgumentInitializer(node, container)) { + if (container.kind === 155 /* Constructor */ && isInConstructorArgumentInitializer(node, container)) { // issue custom error message for super property access in constructor arguments (to be aligned with old compiler) error(node, ts.Diagnostics.super_cannot_be_referenced_in_constructor_arguments); - return unknownType; + return errorType; } return nodeCheckFlag === 512 /* SuperStatic */ ? getBaseConstructorTypeOfClass(classType) @@ -40201,7 +40391,7 @@ var ts; if (isCallExpression) { // TS 1.0 SPEC (April 2014): 4.8.1 // Super calls are only permitted in constructors of derived classes - return container.kind === 154 /* Constructor */; + return container.kind === 155 /* Constructor */; } else { // TS 1.0 SPEC (April 2014) @@ -40209,21 +40399,21 @@ var ts; // - In a constructor, instance member function, instance member accessor, or instance member variable initializer where this references a derived class instance // - In a static member function or static member accessor // topmost container must be something that is directly nested in the class declaration\object literal expression - if (ts.isClassLike(container.parent) || container.parent.kind === 183 /* ObjectLiteralExpression */) { + if (ts.isClassLike(container.parent) || container.parent.kind === 184 /* ObjectLiteralExpression */) { if (ts.hasModifier(container, 32 /* Static */)) { - return container.kind === 153 /* MethodDeclaration */ || - container.kind === 152 /* MethodSignature */ || - container.kind === 155 /* GetAccessor */ || - container.kind === 156 /* SetAccessor */; + return container.kind === 154 /* MethodDeclaration */ || + container.kind === 153 /* MethodSignature */ || + container.kind === 156 /* GetAccessor */ || + container.kind === 157 /* SetAccessor */; } else { - return container.kind === 153 /* MethodDeclaration */ || - container.kind === 152 /* MethodSignature */ || - container.kind === 155 /* GetAccessor */ || - container.kind === 156 /* SetAccessor */ || - container.kind === 151 /* PropertyDeclaration */ || - container.kind === 150 /* PropertySignature */ || - container.kind === 154 /* Constructor */; + return container.kind === 154 /* MethodDeclaration */ || + container.kind === 153 /* MethodSignature */ || + container.kind === 156 /* GetAccessor */ || + container.kind === 157 /* SetAccessor */ || + container.kind === 152 /* PropertyDeclaration */ || + container.kind === 151 /* PropertySignature */ || + container.kind === 155 /* Constructor */; } } } @@ -40231,10 +40421,10 @@ var ts; } } function getContainingObjectLiteral(func) { - return (func.kind === 153 /* MethodDeclaration */ || - func.kind === 155 /* GetAccessor */ || - func.kind === 156 /* SetAccessor */) && func.parent.kind === 183 /* ObjectLiteralExpression */ ? func.parent : - func.kind === 191 /* FunctionExpression */ && func.parent.kind === 269 /* PropertyAssignment */ ? func.parent.parent : + return (func.kind === 154 /* MethodDeclaration */ || + func.kind === 156 /* GetAccessor */ || + func.kind === 157 /* SetAccessor */) && func.parent.kind === 184 /* ObjectLiteralExpression */ ? func.parent : + func.kind === 192 /* FunctionExpression */ && func.parent.kind === 270 /* PropertyAssignment */ ? func.parent.parent : undefined; } function getThisTypeArgument(type) { @@ -40242,11 +40432,11 @@ var ts; } function getThisTypeFromContextualType(type) { return mapType(type, function (t) { - return t.flags & 262144 /* Intersection */ ? ts.forEach(t.types, getThisTypeArgument) : getThisTypeArgument(t); + return t.flags & 524288 /* Intersection */ ? ts.forEach(t.types, getThisTypeArgument) : getThisTypeArgument(t); }); } function getContextualThisParameterType(func) { - if (func.kind === 192 /* ArrowFunction */) { + if (func.kind === 193 /* ArrowFunction */) { return undefined; } if (isContextSensitiveFunctionOrObjectLiteralMethod(func)) { @@ -40273,7 +40463,7 @@ var ts; if (thisType) { return instantiateType(thisType, getContextualMapper(containingLiteral)); } - if (literal.parent.kind !== 269 /* PropertyAssignment */) { + if (literal.parent.kind !== 270 /* PropertyAssignment */) { break; } literal = literal.parent.parent; @@ -40287,9 +40477,9 @@ var ts; // In an assignment of the form 'obj.xxx = function(...)' or 'obj[xxx] = function(...)', the // contextual type for 'this' is 'obj'. var parent = func.parent; - if (parent.kind === 199 /* BinaryExpression */ && parent.operatorToken.kind === 58 /* EqualsToken */) { + if (parent.kind === 200 /* BinaryExpression */ && parent.operatorToken.kind === 58 /* EqualsToken */) { var target = parent.left; - if (target.kind === 184 /* PropertyAccessExpression */ || target.kind === 185 /* ElementAccessExpression */) { + if (target.kind === 185 /* PropertyAccessExpression */ || target.kind === 186 /* ElementAccessExpression */) { var expression = target.expression; // Don't contextually type `this` as `exports` in `exports.Point = function(x, y) { this.x = x; this.y = y; }` if (inJs && ts.isIdentifier(expression)) { @@ -40345,7 +40535,7 @@ var ts; if (funcHasRestParameters && indexOfParameter === (func.parameters.length - 1) && isRestParameterIndex(contextualSignature, func.parameters.length - 1)) { - return getTypeOfSymbol(ts.lastOrUndefined(contextualSignature.parameters)); + return getTypeOfSymbol(ts.last(contextualSignature.parameters)); } } } @@ -40364,7 +40554,7 @@ var ts; if (typeNode) { return getTypeFromTypeNode(typeNode); } - if (declaration.kind === 148 /* Parameter */) { + if (declaration.kind === 149 /* Parameter */) { var type = getContextuallyTypedParameterType(declaration); if (type) { return type; @@ -40376,7 +40566,7 @@ var ts; if (ts.isBindingPattern(declaration.parent)) { var parentDeclaration = declaration.parent.parent; var name = declaration.propertyName || declaration.name; - if (parentDeclaration.kind !== 181 /* BindingElement */) { + if (parentDeclaration.kind !== 182 /* BindingElement */) { var parentTypeNode = ts.getEffectiveTypeAnnotationNode(parentDeclaration); if (parentTypeNode && !ts.isBindingPattern(name)) { var text = ts.getTextOfPropertyName(name); @@ -40432,7 +40622,7 @@ var ts; function getContextualReturnType(functionDecl) { // If the containing function has a return type annotation, is a constructor, or is a get accessor whose // corresponding set accessor has a type annotation, return statements in the function are contextually typed - if (functionDecl.kind === 154 /* Constructor */ || + if (functionDecl.kind === 155 /* Constructor */ || ts.getEffectiveReturnTypeNode(functionDecl) || isGetAccessorWithAnnotatedSetAccessor(functionDecl)) { return getReturnTypeOfSignature(getSignatureFromDeclaration(functionDecl)); @@ -40447,7 +40637,7 @@ var ts; } // In a typed function call, an argument or substitution expression is contextually typed by the type of the corresponding parameter. function getContextualTypeForArgument(callTarget, arg) { - var args = getEffectiveCallArguments(callTarget); + var args = getEffectiveCallArguments(callTarget); // TODO: GH#18217 var argIndex = args.indexOf(arg); // -1 for e.g. the expression of a CallExpression, or the tag of a TaggedTemplateExpression return argIndex === -1 ? undefined : getContextualTypeForArgumentAtIndex(callTarget, argIndex); } @@ -40458,7 +40648,7 @@ var ts; return getTypeAtPosition(signature, argIndex); } function getContextualTypeForSubstitutionExpression(template, substitutionExpression) { - if (template.parent.kind === 188 /* TaggedTemplateExpression */) { + if (template.parent.kind === 189 /* TaggedTemplateExpression */) { return getContextualTypeForArgument(template.parent, substitutionExpression); } return undefined; @@ -40474,7 +40664,7 @@ var ts; // expression has no contextual type, the right operand is contextually typed by the type of the left operand, // except for the special case of Javascript declarations of the form `namespace.prop = namespace.prop || {}` var type = getContextualType(binaryExpression); - return !type && node === right && !ts.getDeclaredJavascriptInitializer(binaryExpression.parent) && !ts.getAssignedJavascriptInitializer(binaryExpression) ? + return !type && node === right && !ts.isDefaultedJavascriptInitializer(binaryExpression) ? getTypeOfExpression(left) : type; case 53 /* AmpersandAmpersandToken */: case 26 /* CommaToken */: @@ -40501,12 +40691,12 @@ var ts; case 6 /* Prototype */: return false; default: - ts.Debug.assertNever(kind); + return ts.Debug.assertNever(kind); } } function getTypeOfPropertyOfContextualType(type, name) { return mapType(type, function (t) { - var prop = t.flags & 458752 /* StructuredType */ ? getPropertyOfType(t, name) : undefined; + var prop = t.flags & 917504 /* StructuredType */ ? getPropertyOfType(t, name) : undefined; return prop ? getTypeOfSymbol(prop) : undefined; }, /*noReductions*/ true); } @@ -40515,7 +40705,7 @@ var ts; } // Return true if the given contextual type is a tuple-like type function contextualTypeIsTupleLikeType(type) { - return !!(type.flags & 131072 /* Union */ ? ts.forEach(type.types, isTupleLikeType) : isTupleLikeType(type)); + return !!(type.flags & 262144 /* Union */ ? ts.forEach(type.types, isTupleLikeType) : isTupleLikeType(type)); } // In an object literal contextually typed by a type T, the contextual type of a property assignment is the type of // the matching property in T, if one exists. Otherwise, it is the type of the numeric index signature in T, if one @@ -40590,12 +40780,31 @@ var ts; return getContextualType(attribute.parent); } } + // Return true if the given expression is possibly a discriminant value. We limit the kinds of + // expressions we check to those that don't depend on their contextual type in order not to cause + // recursive (and possibly infinite) invocations of getContextualType. + function isPossiblyDiscriminantValue(node) { + switch (node.kind) { + case 9 /* StringLiteral */: + case 8 /* NumericLiteral */: + case 13 /* NoSubstitutionTemplateLiteral */: + case 101 /* TrueKeyword */: + case 86 /* FalseKeyword */: + case 95 /* NullKeyword */: + case 71 /* Identifier */: + return true; + case 185 /* PropertyAccessExpression */: + case 191 /* ParenthesizedExpression */: + return isPossiblyDiscriminantValue(node.expression); + } + return false; + } // Return the contextual type for a given expression node. During overload resolution, a contextual type may temporarily // be "pushed" onto a node using the contextualType property. function getApparentTypeOfContextualType(node) { var contextualType = getContextualType(node); contextualType = contextualType && mapType(contextualType, getApparentType); - if (!(contextualType && contextualType.flags & 131072 /* Union */ && ts.isObjectLiteralExpression(node))) { + if (!(contextualType && contextualType.flags & 262144 /* Union */ && ts.isObjectLiteralExpression(node))) { return contextualType; } // Keep the below up-to-date with the work done within `isRelatedTo` by `findMatchingDiscriminantType` @@ -40604,10 +40813,10 @@ var ts; var prop = _a[_i]; if (!prop.symbol) continue; - if (prop.kind !== 269 /* PropertyAssignment */) + if (prop.kind !== 270 /* PropertyAssignment */) continue; - if (isDiscriminantProperty(contextualType, prop.symbol.escapedName)) { - var discriminatingType = getTypeOfNode(prop.initializer); + if (isPossiblyDiscriminantValue(prop.initializer) && isDiscriminantProperty(contextualType, prop.symbol.escapedName)) { + var discriminatingType = checkExpression(prop.initializer); for (var _b = 0, _c = contextualType.types; _b < _c.length; _b++) { var type = _c[_b]; var targetType = getTypeOfPropertyOfType(type, prop.symbol.escapedName); @@ -40652,59 +40861,59 @@ var ts; } var parent = node.parent; switch (parent.kind) { - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 181 /* BindingElement */: + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 182 /* BindingElement */: return getContextualTypeForInitializerExpression(node); - case 192 /* ArrowFunction */: - case 224 /* ReturnStatement */: + case 193 /* ArrowFunction */: + case 225 /* ReturnStatement */: return getContextualTypeForReturnExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return getContextualTypeForYieldOperand(parent); - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: return getContextualTypeForArgument(parent, node); - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: return getTypeFromTypeNode(parent.type); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return getContextualTypeForBinaryOperand(node); - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return getContextualTypeForObjectLiteralElement(parent); - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: return getApparentTypeOfContextualType(parent.parent); - case 182 /* ArrayLiteralExpression */: { + case 183 /* ArrayLiteralExpression */: { var arrayLiteral = parent; var type = getApparentTypeOfContextualType(arrayLiteral); return getContextualTypeForElementExpression(type, ts.indexOfNode(arrayLiteral.elements, node)); } - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return getContextualTypeForConditionalOperand(node); - case 210 /* TemplateSpan */: - ts.Debug.assert(parent.parent.kind === 201 /* TemplateExpression */); + case 211 /* TemplateSpan */: + ts.Debug.assert(parent.parent.kind === 202 /* TemplateExpression */); return getContextualTypeForSubstitutionExpression(parent.parent, node); - case 190 /* ParenthesizedExpression */: { + case 191 /* ParenthesizedExpression */: { // Like in `checkParenthesizedExpression`, an `/** @type {xyz} */` comment before a parenthesized expression acts as a type cast. var tag = ts.isInJavaScriptFile(parent) ? ts.getJSDocTypeTag(parent) : undefined; return tag ? getTypeFromTypeNode(tag.typeExpression.type) : getContextualType(parent); } - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return getContextualTypeForJsxExpression(parent); - case 261 /* JsxAttribute */: - case 263 /* JsxSpreadAttribute */: + case 262 /* JsxAttribute */: + case 264 /* JsxSpreadAttribute */: return getContextualTypeForJsxAttribute(parent); - case 256 /* JsxOpeningElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: return getContextualJsxElementAttributesType(parent); } return undefined; } function getContextualMapper(node) { - node = ts.findAncestor(node, function (n) { return !!n.contextualMapper; }); - return node ? node.contextualMapper : identityMapper; + var ancestor = ts.findAncestor(node, function (n) { return !!n.contextualMapper; }); + return ancestor ? ancestor.contextualMapper : identityMapper; } function getContextualJsxElementAttributesType(node) { if (isJsxIntrinsicIdentifier(node.tagName)) { @@ -40720,16 +40929,16 @@ var ts; } function getJsxSignaturesParameterTypes(valueType, isJs, context) { // If the elemType is a string type, we have to return anyType to prevent an error downstream as we will try to find construct or call signature of the type - if (valueType.flags & 2 /* String */) { + if (valueType.flags & 4 /* String */) { return anyType; } - else if (valueType.flags & 32 /* StringLiteral */) { + else if (valueType.flags & 64 /* StringLiteral */) { // If the elemType is a stringLiteral type, we can then provide a check to make sure that the string literal type is one of the Jsx intrinsic element type // For example: // var CustomTag: "h1" = "h1"; // Hello World var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, context); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { var stringLiteralTypeName = valueType.value; var intrinsicProp = getPropertyOfType(intrinsicElementsType, ts.escapeLeadingUnderscores(stringLiteralTypeName)); if (intrinsicProp) { @@ -40751,7 +40960,7 @@ var ts; ctor = false; if (signatures.length === 0) { // We found no signatures at all, which is an error - return unknownType; + return errorType; } } var links = getNodeLinks(context); @@ -40772,7 +40981,7 @@ var ts; function getJsxPropsTypeFromCallSignature(sig, context) { var propsType = getTypeOfFirstParameterOfSignatureWithFallback(sig, emptyObjectType); var intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context); - if (intrinsicAttribs !== unknownType) { + if (intrinsicAttribs !== errorType) { propsType = intersectTypes(intrinsicAttribs, propsType); } return propsType; @@ -40806,7 +41015,7 @@ var ts; // Normal case -- add in IntrinsicClassElements and IntrinsicElements var apparentAttributesType = attributesType; var intrinsicClassAttribs = getJsxType(JsxNames.IntrinsicClassAttributes, context); - if (intrinsicClassAttribs !== unknownType) { + if (intrinsicClassAttribs !== errorType) { var typeParams = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(intrinsicClassAttribs.symbol); var hostClassType = getReturnTypeOfSignature(sig); apparentAttributesType = intersectTypes(typeParams @@ -40814,7 +41023,7 @@ var ts; : intrinsicClassAttribs, apparentAttributesType); } var intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context); - if (intrinsicAttribs !== unknownType) { + if (intrinsicAttribs !== errorType) { apparentAttributesType = intersectTypes(intrinsicAttribs, apparentAttributesType); } return apparentAttributesType; @@ -40847,7 +41056,7 @@ var ts; return sourceLength < targetParameterCount; } function isFunctionExpressionOrArrowFunction(node) { - return node.kind === 191 /* FunctionExpression */ || node.kind === 192 /* ArrowFunction */; + return node.kind === 192 /* FunctionExpression */ || node.kind === 193 /* ArrowFunction */; } function getContextualSignatureForFunctionLikeDeclaration(node) { // Only function expressions, arrow functions, and object literal methods are contextually typed. @@ -40866,7 +41075,7 @@ var ts; // all identical ignoring their return type, the result is same signature but with return type as // union type of return types from these signatures function getContextualSignature(node) { - ts.Debug.assert(node.kind !== 153 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); var type; if (ts.isInJavaScriptFile(node)) { var jsdoc = ts.getJSDocType(node); @@ -40880,7 +41089,7 @@ var ts; if (!type) { return undefined; } - if (!(type.flags & 131072 /* Union */)) { + if (!(type.flags & 262144 /* Union */)) { return getContextualCallSignature(type, node); } var signatureList; @@ -40919,8 +41128,8 @@ var ts; return checkIteratedTypeOrElementType(arrayOrIterableType, node.expression, /*allowStringInput*/ false, /*allowAsyncIterables*/ false); } function hasDefaultValue(node) { - return (node.kind === 181 /* BindingElement */ && !!node.initializer) || - (node.kind === 199 /* BinaryExpression */ && node.operatorToken.kind === 58 /* EqualsToken */); + return (node.kind === 182 /* BindingElement */ && !!node.initializer) || + (node.kind === 200 /* BinaryExpression */ && node.operatorToken.kind === 58 /* EqualsToken */); } function checkArrayLiteral(node, checkMode) { var elements = node.elements; @@ -40930,7 +41139,7 @@ var ts; var contextualType = getApparentTypeOfContextualType(node); for (var index = 0; index < elements.length; index++) { var e = elements[index]; - if (inDestructuringPattern && e.kind === 203 /* SpreadElement */) { + if (inDestructuringPattern && e.kind === 204 /* SpreadElement */) { // Given the following situation: // var c: {}; // [...c] = ["", 0]; @@ -40955,7 +41164,7 @@ var ts; var type = checkExpressionForMutableLocation(e, checkMode, elementContextualType); elementTypes.push(type); } - hasSpreadElement = hasSpreadElement || e.kind === 203 /* SpreadElement */; + hasSpreadElement = hasSpreadElement || e.kind === 204 /* SpreadElement */; } if (!hasSpreadElement) { // If array literal is actually a destructuring pattern, mark it as an implied type. We do this such @@ -40969,7 +41178,7 @@ var ts; var pattern = contextualType.pattern; // If array literal is contextually typed by a binding pattern or an assignment pattern, pad the resulting // tuple type with the corresponding binding or assignment element types to make the lengths equal. - if (pattern && (pattern.kind === 180 /* ArrayBindingPattern */ || pattern.kind === 182 /* ArrayLiteralExpression */)) { + if (pattern && (pattern.kind === 181 /* ArrayBindingPattern */ || pattern.kind === 183 /* ArrayLiteralExpression */)) { var patternElements = pattern.elements; for (var i = elementTypes.length; i < patternElements.length; i++) { var patternElement = patternElements[i]; @@ -40977,7 +41186,7 @@ var ts; elementTypes.push(contextualType.typeArguments[i]); } else { - if (patternElement.kind !== 205 /* OmittedExpression */) { + if (patternElement.kind !== 206 /* OmittedExpression */) { error(patternElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value); } elementTypes.push(strictNullChecks ? implicitNeverType : undefinedWideningType); @@ -40995,7 +41204,7 @@ var ts; } function isNumericName(name) { switch (name.kind) { - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return isNumericComputedName(name); case 71 /* Identifier */: return isNumericLiteralName(name.escapedText); @@ -41009,7 +41218,7 @@ var ts; function isNumericComputedName(name) { // It seems odd to consider an expression of type Any to result in a numeric name, // but this behavior is consistent with checkIndexedAccess - return isTypeAssignableToKind(checkComputedPropertyName(name), 84 /* NumberLike */); + return isTypeAssignableToKind(checkComputedPropertyName(name), 168 /* NumberLike */); } function isInfinityOrNaNString(name) { return name === "Infinity" || name === "-Infinity" || name === "NaN"; @@ -41044,8 +41253,8 @@ var ts; links.resolvedType = checkExpression(node.expression); // This will allow types number, string, symbol or any. It will also allow enums, the unknown // type, and any union of these types (like string | number). - if (links.resolvedType.flags & 12288 /* Nullable */ || - !isTypeAssignableToKind(links.resolvedType, 34 /* StringLike */ | 84 /* NumberLike */ | 1536 /* ESSymbolLike */) && + if (links.resolvedType.flags & 24576 /* Nullable */ || + !isTypeAssignableToKind(links.resolvedType, 68 /* StringLike */ | 168 /* NumberLike */ | 3072 /* ESSymbolLike */) && !isTypeAssignableTo(links.resolvedType, stringNumberSymbolType)) { error(node, ts.Diagnostics.A_computed_property_name_must_be_of_type_string_number_symbol_or_any); } @@ -41072,23 +41281,26 @@ var ts; var propertiesTable; var propertiesArray = []; var spread = emptyObjectType; - var propagatedFlags = 8388608 /* FreshLiteral */; + var propagatedFlags = 33554432 /* FreshLiteral */; var contextualType = getApparentTypeOfContextualType(node); var contextualTypeHasPattern = contextualType && contextualType.pattern && - (contextualType.pattern.kind === 179 /* ObjectBindingPattern */ || contextualType.pattern.kind === 183 /* ObjectLiteralExpression */); + (contextualType.pattern.kind === 180 /* ObjectBindingPattern */ || contextualType.pattern.kind === 184 /* ObjectLiteralExpression */); var isInJSFile = ts.isInJavaScriptFile(node) && !ts.isInJsonFile(node); var isJSObjectLiteral = !contextualType && isInJSFile; var typeFlags = 0; var patternWithComputedProperties = false; var hasComputedStringProperty = false; var hasComputedNumberProperty = false; - if (isInJSFile && node.properties.length === 0) { - // an empty JS object literal that nonetheless has members is a JS namespace - var symbol = getSymbolOfNode(node); - if (symbol.exports) { - propertiesTable = symbol.exports; - symbol.exports.forEach(function (symbol) { return propertiesArray.push(getMergedSymbol(symbol)); }); - return createObjectLiteralType(); + if (isInJSFile) { + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + // a JS object literal whose declaration's symbol has exports is a JS namespace + var symbol = getMergedSymbol(decl.symbol); + if (symbol && ts.hasEntries(symbol.exports)) { + propertiesTable = symbol.exports; + symbol.exports.forEach(function (symbol) { return propertiesArray.push(getMergedSymbol(symbol)); }); + return createObjectLiteralType(); + } } } propertiesTable = ts.createSymbolTable(); @@ -41096,13 +41308,13 @@ var ts; for (var i = 0; i < node.properties.length; i++) { var memberDecl = node.properties[i]; var member = getSymbolOfNode(memberDecl); - var computedNameType = memberDecl.name && memberDecl.name.kind === 146 /* ComputedPropertyName */ && !ts.isWellKnownSymbolSyntactically(memberDecl.name.expression) ? + var computedNameType = memberDecl.name && memberDecl.name.kind === 147 /* ComputedPropertyName */ && !ts.isWellKnownSymbolSyntactically(memberDecl.name.expression) ? checkComputedPropertyName(memberDecl.name) : undefined; - if (memberDecl.kind === 269 /* PropertyAssignment */ || - memberDecl.kind === 270 /* ShorthandPropertyAssignment */ || + if (memberDecl.kind === 270 /* PropertyAssignment */ || + memberDecl.kind === 271 /* ShorthandPropertyAssignment */ || ts.isObjectLiteralMethod(memberDecl)) { - var type = memberDecl.kind === 269 /* PropertyAssignment */ ? checkPropertyAssignment(memberDecl, checkMode) : - memberDecl.kind === 270 /* ShorthandPropertyAssignment */ ? checkExpressionForMutableLocation(memberDecl.name, checkMode) : + var type = memberDecl.kind === 270 /* PropertyAssignment */ ? checkPropertyAssignment(memberDecl, checkMode) : + memberDecl.kind === 271 /* ShorthandPropertyAssignment */ ? checkExpressionForMutableLocation(memberDecl.name, checkMode) : checkObjectLiteralMethod(memberDecl, checkMode); if (isInJSFile) { var jsDocType = getTypeForDeclarationFromJSDocComment(memberDecl); @@ -41112,7 +41324,7 @@ var ts; } } typeFlags |= type.flags; - var nameType = computedNameType && computedNameType.flags & 1120 /* StringOrNumberLiteralOrUnique */ ? + var nameType = computedNameType && computedNameType.flags & 2240 /* StringOrNumberLiteralOrUnique */ ? computedNameType : undefined; var prop = nameType ? createSymbol(4 /* Property */ | member.flags, getLateBoundNameFromType(nameType), 1024 /* Late */) : @@ -41123,8 +41335,8 @@ var ts; if (inDestructuringPattern) { // If object literal is an assignment pattern and if the assignment pattern specifies a default value // for the property, make the property optional. - var isOptional = (memberDecl.kind === 269 /* PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) || - (memberDecl.kind === 270 /* ShorthandPropertyAssignment */ && memberDecl.objectAssignmentInitializer); + var isOptional = (memberDecl.kind === 270 /* PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) || + (memberDecl.kind === 271 /* ShorthandPropertyAssignment */ && memberDecl.objectAssignmentInitializer); if (isOptional) { prop.flags |= 16777216 /* Optional */; } @@ -41149,7 +41361,7 @@ var ts; prop.target = member; member = prop; } - else if (memberDecl.kind === 271 /* SpreadAssignment */) { + else if (memberDecl.kind === 272 /* SpreadAssignment */) { if (languageVersion < 2 /* ES2015 */) { checkExternalEmitHelpers(memberDecl, 2 /* Assign */); } @@ -41164,7 +41376,7 @@ var ts; var type = checkExpression(memberDecl.expression); if (!isValidSpreadType(type)) { error(memberDecl, ts.Diagnostics.Spread_types_may_only_be_created_from_object_types); - return unknownType; + return errorType; } spread = getSpreadType(spread, type, node.symbol, propagatedFlags, /*objectFlags*/ 0); offset = i + 1; @@ -41176,10 +41388,10 @@ var ts; // an ordinary function declaration(section 6.1) with no parameters. // A set accessor declaration is processed in the same manner // as an ordinary function declaration with a single parameter and a Void return type. - ts.Debug.assert(memberDecl.kind === 155 /* GetAccessor */ || memberDecl.kind === 156 /* SetAccessor */); + ts.Debug.assert(memberDecl.kind === 156 /* GetAccessor */ || memberDecl.kind === 157 /* SetAccessor */); checkNodeDeferred(memberDecl); } - if (computedNameType && !(computedNameType.flags & 1120 /* StringOrNumberLiteralOrUnique */)) { + if (computedNameType && !(computedNameType.flags & 2240 /* StringOrNumberLiteralOrUnique */)) { if (isTypeAssignableTo(computedNameType, stringNumberSymbolType)) { if (isTypeAssignableTo(computedNameType, numberType)) { hasComputedNumberProperty = true; @@ -41222,8 +41434,8 @@ var ts; var stringIndexInfo = isJSObjectLiteral ? jsObjectLiteralIndexInfo : hasComputedStringProperty ? getObjectLiteralIndexInfo(node.properties, offset, propertiesArray, 0 /* String */) : undefined; var numberIndexInfo = hasComputedNumberProperty && !isJSObjectLiteral ? getObjectLiteralIndexInfo(node.properties, offset, propertiesArray, 1 /* Number */) : undefined; var result = createAnonymousType(node.symbol, propertiesTable, ts.emptyArray, ts.emptyArray, stringIndexInfo, numberIndexInfo); - var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 8388608 /* FreshLiteral */; - result.flags |= 33554432 /* ContainsObjectLiteral */ | freshObjectLiteralFlag | (typeFlags & 117440512 /* PropagatingFlags */); + var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 33554432 /* FreshLiteral */; + result.flags |= 268435456 /* ContainsObjectLiteral */ | freshObjectLiteralFlag | (typeFlags & 939524096 /* PropagatingFlags */); result.objectFlags |= 128 /* ObjectLiteral */; if (patternWithComputedProperties) { result.objectFlags |= 512 /* ObjectLiteralPatternWithComputedProperties */; @@ -41231,17 +41443,17 @@ var ts; if (inDestructuringPattern) { result.pattern = node; } - if (!(result.flags & 12288 /* Nullable */)) { - propagatedFlags |= (result.flags & 117440512 /* PropagatingFlags */); + if (!(result.flags & 24576 /* Nullable */)) { + propagatedFlags |= (result.flags & 939524096 /* PropagatingFlags */); } return result; } } function isValidSpreadType(type) { - return !!(type.flags & (1 /* Any */ | 134217728 /* NonPrimitive */) || - getFalsyFlags(type) & 14560 /* DefinitelyFalsy */ && isValidSpreadType(removeDefinitelyFalsyTypes(type)) || - type.flags & 65536 /* Object */ && !isGenericMappedType(type) || - type.flags & 393216 /* UnionOrIntersection */ && !ts.forEach(type.types, function (t) { return !isValidSpreadType(t); })); + return !!(type.flags & (3 /* AnyOrUnknown */ | 16777216 /* NonPrimitive */) || + getFalsyFlags(type) & 29120 /* DefinitelyFalsy */ && isValidSpreadType(removeDefinitelyFalsyTypes(type)) || + type.flags & 131072 /* Object */ && !isGenericMappedType(type) || + type.flags & 786432 /* UnionOrIntersection */ && !ts.forEach(type.types, function (t) { return !isValidSpreadType(t); })); } function checkJsxSelfClosingElement(node, checkMode) { checkJsxOpeningLikeElementOrOpeningFragment(node, checkMode); @@ -41281,13 +41493,13 @@ var ts; function isJsxIntrinsicIdentifier(tagName) { // TODO (yuisu): comment switch (tagName.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: case 99 /* ThisKeyword */: return false; case 71 /* Identifier */: return ts.isIntrinsicJsxName(tagName.escapedText); default: - ts.Debug.fail(); + return ts.Debug.fail(); } } function checkJsxAttribute(node, checkMode) { @@ -41331,7 +41543,7 @@ var ts; } } else { - ts.Debug.assert(attributeDecl.kind === 263 /* JsxSpreadAttribute */); + ts.Debug.assert(attributeDecl.kind === 264 /* JsxSpreadAttribute */); if (attributesTable.size > 0) { spread = getSpreadType(spread, createJsxAttributesType(), attributes.symbol, /*typeFlags*/ 0, 4096 /* JsxAttributes */); attributesTable = ts.createSymbolTable(); @@ -41354,7 +41566,7 @@ var ts; } } // Handle children attribute - var parent = openingLikeElement.parent.kind === 254 /* JsxElement */ ? openingLikeElement.parent : undefined; + var parent = openingLikeElement.parent.kind === 255 /* JsxElement */ ? openingLikeElement.parent : undefined; // We have to check that openingElement of the parent is the one we are visiting as this may not be true for selfClosingElement if (parent && parent.openingElement === openingLikeElement && parent.children.length > 0) { var childrenTypes = checkJsxChildren(parent, checkMode); @@ -41389,7 +41601,7 @@ var ts; */ function createJsxAttributesType() { var result = createAnonymousType(attributes.symbol, attributesTable, ts.emptyArray, ts.emptyArray, /*stringIndexInfo*/ undefined, /*numberIndexInfo*/ undefined); - result.flags |= 33554432 /* ContainsObjectLiteral */; + result.flags |= 268435456 /* ContainsObjectLiteral */; result.objectFlags |= 128 /* ObjectLiteral */ | 4096 /* JsxAttributes */; return result; } @@ -41423,7 +41635,7 @@ var ts; var namespace = getJsxNamespaceAt(location); var exports = namespace && getExportsOfSymbol(namespace); var typeSymbol = exports && getSymbol(exports, name, 67901928 /* Type */); - return typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : unknownType; + return typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : errorType; } /** * Looks up an intrinsic tag name and returns a symbol that either points to an intrinsic @@ -41435,7 +41647,7 @@ var ts; var links = getNodeLinks(node); if (!links.resolvedSymbol) { var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, node); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { // Property case if (!ts.isIdentifier(node.tagName)) return ts.Debug.fail(); @@ -41501,6 +41713,7 @@ var ts; return instantiatedSignatures; } function getJsxSignatureTypeArgumentInstantiation(signature, node, isJavascript, reportErrors) { + if (reportErrors === void 0) { reportErrors = false; } if (!node.typeArguments) { return; } @@ -41523,7 +41736,7 @@ var ts; } } // JSX global fallback - return getGlobalSymbol(JsxNames.JSX, 1920 /* Namespace */, /*diagnosticMessage*/ undefined); + return getGlobalSymbol(JsxNames.JSX, 1920 /* Namespace */, /*diagnosticMessage*/ undefined); // TODO: GH#18217 } /** * Look into JSX namespace and then look for container with matching name as nameOfAttribPropContainer. @@ -41571,7 +41784,7 @@ var ts; if (!propsType) { return undefined; } - if (propsType.flags & 262144 /* Intersection */) { + if (propsType.flags & 524288 /* Intersection */) { var propsApparentType = []; for (var _i = 0, _a = propsType.types; _i < _a.length; _i++) { var t = _a[_i]; @@ -41592,7 +41805,7 @@ var ts; * @param elementClassType a JSX-ElementClass type. This is a result of looking up ElementClass interface in the JSX global */ function defaultTryGetJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType) { - ts.Debug.assert(!(elementType.flags & 131072 /* Union */)); + ts.Debug.assert(!(elementType.flags & 262144 /* Union */)); if (!elementClassType || !isTypeAssignableTo(elemInstanceType, elementClassType)) { var jsxStatelessElementType = getJsxStatelessElementTypeAt(openingLikeElement); if (jsxStatelessElementType) { @@ -41605,7 +41818,7 @@ var ts; if (callReturnType && isTypeAssignableTo(callReturnType, jsxStatelessElementType)) { // Intersect in JSX.IntrinsicAttributes if it exists var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, openingLikeElement); - if (intrinsicAttributes !== unknownType) { + if (intrinsicAttributes !== errorType) { paramType = intersectTypes(intrinsicAttributes, paramType); } return paramType; @@ -41626,7 +41839,7 @@ var ts; * @param elementClassType a JSX-ElementClass type. This is a result of looking up ElementClass interface in the JSX global */ function tryGetAllJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType) { - ts.Debug.assert(!(elementType.flags & 131072 /* Union */)); + ts.Debug.assert(!(elementType.flags & 262144 /* Union */)); if (!elementClassType || !isTypeAssignableTo(elemInstanceType, elementClassType)) { // Is this is a stateless function component? See if its single signature's return type is assignable to the JSX Element Type var jsxStatelessElementType = getJsxStatelessElementTypeAt(openingLikeElement); @@ -41639,6 +41852,7 @@ var ts; for (var _i = 0, candidatesOutArray_1 = candidatesOutArray; _i < candidatesOutArray_1.length; _i++) { var candidate = candidatesOutArray_1[_i]; var callReturnType = getReturnTypeOfSignature(candidate); + // TODO: GH#18217: callReturnType should always be defined... var paramType = callReturnType && (candidate.parameters.length === 0 ? emptyObjectType : getTypeOfSymbol(candidate.parameters[0])); paramType = getApparentTypeOfJsxPropsType(paramType); if (callReturnType && isTypeAssignableTo(callReturnType, jsxStatelessElementType)) { @@ -41647,7 +41861,7 @@ var ts; var attribute = _b[_a]; if (ts.isJsxAttribute(attribute) && isUnhyphenatedJsxName(attribute.name.escapedText) && - !getPropertyOfType(paramType, attribute.name.escapedText)) { + !getPropertyOfType(paramType, attribute.name.escapedText)) { // TODO: GH#18217 shouldBeCandidate = false; break; } @@ -41664,7 +41878,7 @@ var ts; } // Intersect in JSX.IntrinsicAttributes if it exists var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, openingLikeElement); - if (intrinsicAttributes !== unknownType) { + if (intrinsicAttributes !== errorType) { result = intersectTypes(intrinsicAttributes, result); } return result; @@ -41722,7 +41936,7 @@ var ts; * emptyObjectType if there is no "prop" in the element instance type */ function resolveCustomJsxElementAttributesType(openingLikeElement, shouldIncludeAllStatelessAttributesType, elementType, elementClassType) { - if (elementType.flags & 131072 /* Union */) { + if (elementType.flags & 262144 /* Union */) { var types = elementType.types; return getUnionType(types.map(function (type) { return resolveCustomJsxElementAttributesType(openingLikeElement, shouldIncludeAllStatelessAttributesType, type, elementClassType); @@ -41733,16 +41947,16 @@ var ts; return elementType; } // If the elemType is a string type, we have to return anyType to prevent an error downstream as we will try to find construct or call signature of the type - else if (elementType.flags & 2 /* String */) { + else if (elementType.flags & 4 /* String */) { return anyType; } - else if (elementType.flags & 32 /* StringLiteral */) { + else if (elementType.flags & 64 /* StringLiteral */) { // If the elemType is a stringLiteral type, we can then provide a check to make sure that the string literal type is one of the Jsx intrinsic element type // For example: // var CustomTag: "h1" = "h1"; // Hello World var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, openingLikeElement); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { var stringLiteralTypeName = elementType.value; var intrinsicProp = getPropertyOfType(intrinsicElementsType, ts.escapeLeadingUnderscores(stringLiteralTypeName)); if (intrinsicProp) { @@ -41760,9 +41974,9 @@ var ts; // Get the element instance type (the result of newing or invoking this tag) var instantiatedSignatures = getInstantiatedJsxSignatures(openingLikeElement, elementType, /*reportErrors*/ true); if (!ts.length(instantiatedSignatures)) { - return unknownType; + return errorType; } - var elemInstanceType = getUnionType(ts.map(instantiatedSignatures, getReturnTypeOfSignature), 2 /* Subtype */); + var elemInstanceType = getUnionType(instantiatedSignatures.map(getReturnTypeOfSignature), 2 /* Subtype */); // If we should include all stateless attributes type, then get all attributes type from all stateless function signature. // Otherwise get only attributes type from the signature picked by choose-overload logic. var statelessAttributesType = shouldIncludeAllStatelessAttributesType ? @@ -41776,7 +41990,7 @@ var ts; checkTypeRelatedTo(elemInstanceType, elementClassType, assignableRelation, openingLikeElement, ts.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements); } var isJs = ts.isInJavaScriptFile(openingLikeElement); - return getUnionType(ts.map(instantiatedSignatures, function (sig) { return getJsxPropsTypeFromClassType(sig, isJs, openingLikeElement, /*reportErrors*/ true); })); + return getUnionType(instantiatedSignatures.map(function (sig) { return getJsxPropsTypeFromClassType(sig, isJs, openingLikeElement, /*reportErrors*/ true); })); } /** * Get attributes type of the given intrinsic opening-like Jsx element by resolving the tag name. @@ -41795,7 +42009,7 @@ var ts; return links.resolvedJsxElementAttributesType = getIndexInfoOfSymbol(symbol, 0 /* String */).type; } else { - return links.resolvedJsxElementAttributesType = unknownType; + return links.resolvedJsxElementAttributesType = errorType; } } return links.resolvedJsxElementAttributesType; @@ -41849,7 +42063,7 @@ var ts; } function getJsxElementClassTypeAt(location) { var type = getJsxType(JsxNames.ElementClass, location); - if (type === unknownType) + if (type === errorType) return undefined; return type; } @@ -41922,7 +42136,7 @@ var ts; * @param isComparingJsxAttributes a boolean flag indicating whether we are searching in JsxAttributesType */ function isKnownProperty(targetType, name, isComparingJsxAttributes) { - if (targetType.flags & 65536 /* Object */) { + if (targetType.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(targetType); if (resolved.stringIndexInfo || resolved.numberIndexInfo && isNumericLiteralName(name) || @@ -41932,7 +42146,7 @@ var ts; return true; } } - else if (targetType.flags & 393216 /* UnionOrIntersection */) { + else if (targetType.flags & 786432 /* UnionOrIntersection */) { for (var _i = 0, _a = targetType.types; _i < _a.length; _i++) { var t = _a[_i]; if (isKnownProperty(t, name, isComparingJsxAttributes)) { @@ -42018,13 +42232,13 @@ var ts; return type; } else { - return unknownType; + return errorType; } } // If a symbol is a synthesized symbol with no value declaration, we assume it is a property. Example of this are the synthesized // '.prototype' property as well as synthesized tuple index properties. function getDeclarationKindFromSymbol(s) { - return s.valueDeclaration ? s.valueDeclaration.kind : 151 /* PropertyDeclaration */; + return s.valueDeclaration ? s.valueDeclaration.kind : 152 /* PropertyDeclaration */; } function getDeclarationNodeFlagsFromSymbol(s) { return s.valueDeclaration ? ts.getCombinedNodeFlags(s.valueDeclaration) : 0; @@ -42053,9 +42267,9 @@ var ts; */ function checkPropertyAccessibility(node, left, type, prop) { var flags = ts.getDeclarationModifierFlagsFromSymbol(prop); - var errorNode = node.kind === 184 /* PropertyAccessExpression */ || node.kind === 231 /* VariableDeclaration */ ? + var errorNode = node.kind === 185 /* PropertyAccessExpression */ || node.kind === 232 /* VariableDeclaration */ ? node.name : - node.kind === 178 /* ImportType */ ? + node.kind === 179 /* ImportType */ ? node : node.right; if (ts.getCheckFlags(prop) & 256 /* ContainsPrivate */) { @@ -42090,7 +42304,7 @@ var ts; if ((flags & 128 /* Abstract */) && ts.isThisProperty(node) && symbolHasNonMethodDeclaration(prop)) { var declaringClassDeclaration = ts.getClassLikeDeclarationOfSymbol(getParentOfSymbol(prop)); if (declaringClassDeclaration && isNodeWithinConstructorOfClass(node, declaringClassDeclaration)) { - error(errorNode, ts.Diagnostics.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor, symbolToString(prop), ts.getTextOfIdentifierOrLiteral(declaringClassDeclaration.name)); + error(errorNode, ts.Diagnostics.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor, symbolToString(prop), ts.getTextOfIdentifierOrLiteral(declaringClassDeclaration.name)); // TODO: GH#18217 return false; } } @@ -42128,9 +42342,9 @@ var ts; if (flags & 32 /* Static */) { return true; } - if (type.flags & 32768 /* TypeParameter */) { + if (type.flags & 65536 /* TypeParameter */) { // get the original type -- represented as the type constraint of the 'this' type - type = type.isThisType ? getConstraintOfTypeParameter(type) : getBaseConstraintOfType(type); + type = type.isThisType ? getConstraintOfTypeParameter(type) : getBaseConstraintOfType(type); // TODO: GH#18217 Use a different variable that's allowed to be undefined } if (!type || !hasBaseType(type, enclosingClass)) { error(errorNode, ts.Diagnostics.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1, symbolToString(prop), typeToString(enclosingClass)); @@ -42141,21 +42355,25 @@ var ts; function symbolHasNonMethodDeclaration(symbol) { return forEachProperty(symbol, function (prop) { var propKind = getDeclarationKindFromSymbol(prop); - return propKind !== 153 /* MethodDeclaration */ && propKind !== 152 /* MethodSignature */; + return propKind !== 154 /* MethodDeclaration */ && propKind !== 153 /* MethodSignature */; }); } function checkNonNullExpression(node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic) { return checkNonNullType(checkExpression(node), node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic); } function checkNonNullType(type, node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic) { - var kind = (strictNullChecks ? getFalsyFlags(type) : type.flags) & 12288 /* Nullable */; + if (type.flags & 2 /* Unknown */) { + error(node, ts.Diagnostics.Object_is_of_type_unknown); + return errorType; + } + var kind = (strictNullChecks ? getFalsyFlags(type) : type.flags) & 24576 /* Nullable */; if (kind) { - error(node, kind & 4096 /* Undefined */ ? kind & 8192 /* Null */ ? + error(node, kind & 8192 /* Undefined */ ? kind & 16384 /* Null */ ? (nullOrUndefinedDiagnostic || ts.Diagnostics.Object_is_possibly_null_or_undefined) : (undefinedDiagnostic || ts.Diagnostics.Object_is_possibly_undefined) : (nullDiagnostic || ts.Diagnostics.Object_is_possibly_null)); var t = getNonNullableType(type); - return t.flags & (12288 /* Nullable */ | 16384 /* Never */) ? unknownType : t; + return t.flags & (24576 /* Nullable */ | 32768 /* Never */) ? errorType : t; } return type; } @@ -42185,9 +42403,9 @@ var ts; var indexInfo = getIndexInfoOfType(apparentType, 0 /* String */); if (!(indexInfo && indexInfo.type)) { if (right.escapedText && !checkAndReportErrorForExtendingInterface(node)) { - reportNonexistentProperty(right, leftType.flags & 32768 /* TypeParameter */ && leftType.isThisType ? apparentType : leftType); + reportNonexistentProperty(right, leftType.flags & 65536 /* TypeParameter */ && leftType.isThisType ? apparentType : leftType); } - return unknownType; + return errorType; } if (indexInfo.isReadonly && (ts.isAssignmentTarget(node) || ts.isDeleteTarget(node))) { error(node, ts.Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(apparentType)); @@ -42202,7 +42420,7 @@ var ts; if (assignmentKind) { if (isReferenceToReadonlyEntity(node, prop) || isReferenceThroughNamespaceImport(node)) { error(right, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, ts.idText(right)); - return unknownType; + return errorType; } } propType = getConstraintForLocation(getTypeOfSymbol(prop), node); @@ -42210,9 +42428,9 @@ var ts; // Only compute control flow type if this is a property access expression that isn't an // assignment target, and the referenced property was declared as a variable, property, // accessor, or optional method. - if (node.kind !== 184 /* PropertyAccessExpression */ || + if (node.kind !== 185 /* PropertyAccessExpression */ || assignmentKind === 1 /* Definite */ || - prop && !(prop.flags & (3 /* Variable */ | 4 /* Property */ | 98304 /* Accessor */)) && !(prop.flags & 8192 /* Method */ && propType.flags & 131072 /* Union */)) { + prop && !(prop.flags & (3 /* Variable */ | 4 /* Property */ | 98304 /* Accessor */)) && !(prop.flags & 8192 /* Method */ && propType.flags & 262144 /* Union */)) { return propType; } // If strict null checks and strict property initialization checks are enabled, if we have @@ -42224,14 +42442,14 @@ var ts; var declaration = prop && prop.valueDeclaration; if (declaration && isInstancePropertyWithoutInitializer(declaration)) { var flowContainer = getControlFlowContainer(node); - if (flowContainer.kind === 154 /* Constructor */ && flowContainer.parent === declaration.parent) { + if (flowContainer.kind === 155 /* Constructor */ && flowContainer.parent === declaration.parent) { assumeUninitialized = true; } } } var flowType = getFlowTypeOfReference(node, propType, assumeUninitialized ? getOptionalType(propType) : propType); - if (assumeUninitialized && !(getFalsyFlags(propType) & 4096 /* Undefined */) && getFalsyFlags(flowType) & 4096 /* Undefined */) { - error(right, ts.Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(prop)); + if (assumeUninitialized && !(getFalsyFlags(propType) & 8192 /* Undefined */) && getFalsyFlags(flowType) & 8192 /* Undefined */) { + error(right, ts.Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(prop)); // TODO: GH#18217 // Return the declared type to reduce follow-on errors return propType; } @@ -42247,8 +42465,8 @@ var ts; && !isPropertyDeclaredInAncestorClass(prop)) { error(right, ts.Diagnostics.Block_scoped_variable_0_used_before_its_declaration, ts.idText(right)); } - else if (valueDeclaration.kind === 234 /* ClassDeclaration */ && - node.parent.kind !== 161 /* TypeReference */ && + else if (valueDeclaration.kind === 235 /* ClassDeclaration */ && + node.parent.kind !== 162 /* TypeReference */ && !(valueDeclaration.flags & 4194304 /* Ambient */) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right)) { error(right, ts.Diagnostics.Class_0_used_before_its_declaration, ts.idText(right)); @@ -42257,9 +42475,9 @@ var ts; function isInPropertyInitializer(node) { return !!ts.findAncestor(node, function (node) { switch (node.kind) { - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return true; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: // We might be in `a = { b: this.b }`, so keep looking. See `tests/cases/compiler/useBeforeDeclaration_propertyAssignment.ts`. return false; default: @@ -42296,7 +42514,7 @@ var ts; } function reportNonexistentProperty(propNode, containingType) { var errorInfo; - if (containingType.flags & 131072 /* Union */ && !(containingType.flags & 16382 /* Primitive */)) { + if (containingType.flags & 262144 /* Union */ && !(containingType.flags & 32764 /* Primitive */)) { for (var _i = 0, _a = containingType.types; _i < _a.length; _i++) { var subtype = _a[_i]; if (!getPropertyOfType(subtype, propNode.escapedText)) { @@ -42453,20 +42671,20 @@ var ts; } function isValidPropertyAccess(node, propertyName) { switch (node.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return isValidPropertyAccessWithType(node, node.expression, propertyName, getWidenedType(checkExpression(node.expression))); - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return isValidPropertyAccessWithType(node, node.left, propertyName, getWidenedType(checkExpression(node.left))); - case 178 /* ImportType */: + case 179 /* ImportType */: return isValidPropertyAccessWithType(node, node, propertyName, getTypeFromTypeNode(node)); } } function isValidPropertyAccessForCompletions(node, type, property) { - return isValidPropertyAccessWithType(node, node.kind === 178 /* ImportType */ ? node : node.expression, property.escapedName, type) + return isValidPropertyAccessWithType(node, node.kind === 179 /* ImportType */ ? node : node.expression, property.escapedName, type) && (!(property.flags & 8192 /* Method */) || isValidMethodAccess(property, type)); } function isValidMethodAccess(method, actualThisType) { - var propType = getTypeOfFuncClassEnumModule(method); + var propType = getTypeOfPropertyOfType(actualThisType, method.escapedName); var signatures = getSignaturesOfType(getNonNullableType(propType), 0 /* Call */); ts.Debug.assert(signatures.length !== 0); return signatures.some(function (sig) { @@ -42483,20 +42701,20 @@ var ts; return instantiateType(signatureThisType, createSignatureTypeMapper(sig, getInferredTypes(context))); } function isValidPropertyAccessWithType(node, left, propertyName, type) { - if (type === unknownType || isTypeAny(type)) { + if (type === errorType || isTypeAny(type)) { return true; } var prop = getPropertyOfType(type, propertyName); return prop ? checkPropertyAccessibility(node, left, type, prop) // In js files properties of unions are allowed in completion - : ts.isInJavaScriptFile(node) && (type.flags & 131072 /* Union */) && type.types.some(function (elementType) { return isValidPropertyAccessWithType(node, left, propertyName, elementType); }); + : ts.isInJavaScriptFile(node) && (type.flags & 262144 /* Union */) !== 0 && type.types.some(function (elementType) { return isValidPropertyAccessWithType(node, left, propertyName, elementType); }); } /** * Return the symbol of the for-in variable declared or referenced by the given for-in statement. */ function getForInVariableSymbol(node) { var initializer = node.initializer; - if (initializer.kind === 232 /* VariableDeclarationList */) { + if (initializer.kind === 233 /* VariableDeclarationList */) { var variable = initializer.declarations[0]; if (variable && !ts.isBindingPattern(variable.name)) { return getSymbolOfNode(variable); @@ -42525,7 +42743,7 @@ var ts; var child = expr; var node = expr.parent; while (node) { - if (node.kind === 220 /* ForInStatement */ && + if (node.kind === 221 /* ForInStatement */ && child === node.statement && getForInVariableSymbol(node) === symbol && hasNumericPropertyNames(getTypeOfExpression(node.expression))) { @@ -42543,7 +42761,7 @@ var ts; var indexExpression = node.argumentExpression; if (!indexExpression) { var sourceFile = ts.getSourceFileOfNode(node); - if (node.parent.kind === 187 /* NewExpression */ && node.parent.expression === node) { + if (node.parent.kind === 188 /* NewExpression */ && node.parent.expression === node) { var start = ts.skipTrivia(sourceFile.text, node.expression.end); var end = node.end; grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead); @@ -42553,20 +42771,20 @@ var ts; var end = node.end; grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.Expression_expected); } - return unknownType; + return errorType; } var indexType = isForInVariableForNumericPropertyNames(indexExpression) ? numberType : checkExpression(indexExpression); - if (objectType === unknownType || objectType === silentNeverType) { + if (objectType === errorType || objectType === silentNeverType) { return objectType; } if (isConstEnumObjectType(objectType) && indexExpression.kind !== 9 /* StringLiteral */) { error(indexExpression, ts.Diagnostics.A_const_enum_member_can_only_be_accessed_using_a_string_literal); - return unknownType; + return errorType; } return checkIndexedAccessIndexType(getIndexedAccessType(objectType, indexType, node), node); } function checkThatExpressionIsProperSymbolReference(expression, expressionType, reportError) { - if (expressionType === unknownType) { + if (expressionType === errorType) { // There is already an error, so no need to report one. return false; } @@ -42574,7 +42792,7 @@ var ts; return false; } // Make sure the property type is the primitive symbol type - if ((expressionType.flags & 1536 /* ESSymbolLike */) === 0) { + if ((expressionType.flags & 3072 /* ESSymbolLike */) === 0) { if (reportError) { error(expression, ts.Diagnostics.A_computed_property_name_of_the_form_0_must_be_of_type_symbol, ts.getTextOfNode(expression)); } @@ -42610,10 +42828,10 @@ var ts; // This gets us diagnostics for the type arguments and marks them as referenced. ts.forEach(node.typeArguments, checkSourceElement); } - if (node.kind === 188 /* TaggedTemplateExpression */) { + if (node.kind === 189 /* TaggedTemplateExpression */) { checkExpression(node.template); } - else if (node.kind !== 149 /* Decorator */) { + else if (node.kind !== 150 /* Decorator */) { ts.forEach(node.arguments, function (argument) { checkExpression(argument); }); @@ -42646,7 +42864,7 @@ var ts; var parent = signature.declaration && signature.declaration.parent; if (!lastSymbol || symbol === lastSymbol) { if (lastParent && parent === lastParent) { - index++; + index = index + 1; } else { lastParent = parent; @@ -42679,7 +42897,7 @@ var ts; function getSpreadArgumentIndex(args) { for (var i = 0; i < args.length; i++) { var arg = args[i]; - if (arg && arg.kind === 203 /* SpreadElement */) { + if (arg && arg.kind === 204 /* SpreadElement */) { return i; } } @@ -42689,22 +42907,21 @@ var ts; if (signatureHelpTrailingComma === void 0) { signatureHelpTrailingComma = false; } var argCount; // Apparent number of arguments we will have in this call var typeArguments; // Type arguments (undefined if none) - var callIsIncomplete; // In incomplete call we want to be lenient when we have too few arguments + var callIsIncomplete = false; // In incomplete call we want to be lenient when we have too few arguments var spreadArgIndex = -1; if (ts.isJsxOpeningLikeElement(node)) { // The arity check will be done in "checkApplicableSignatureForJsxOpeningLikeElement". return true; } - if (node.kind === 188 /* TaggedTemplateExpression */) { + if (node.kind === 189 /* TaggedTemplateExpression */) { // Even if the call is incomplete, we'll have a missing expression as our last argument, // so we can say the count is just the arg list length argCount = args.length; - typeArguments = undefined; - if (node.template.kind === 201 /* TemplateExpression */) { + typeArguments = node.typeArguments; + if (node.template.kind === 202 /* TemplateExpression */) { // If a tagged template expression lacks a tail literal, the call is incomplete. // Specifically, a template only can end in a TemplateTail or a Missing literal. - var lastSpan = ts.lastOrUndefined(node.template.templateSpans); - ts.Debug.assert(lastSpan !== undefined); // we should always have at least one span. + var lastSpan = ts.last(node.template.templateSpans); // we should always have at least one span. callIsIncomplete = ts.nodeIsMissing(lastSpan.literal) || !!lastSpan.literal.isUnterminated; } else { @@ -42716,14 +42933,14 @@ var ts; callIsIncomplete = !!templateLiteral.isUnterminated; } } - else if (node.kind === 149 /* Decorator */) { + else if (node.kind === 150 /* Decorator */) { typeArguments = undefined; argCount = getEffectiveArgumentCount(node, /*args*/ undefined, signature); } else { if (!node.arguments) { // This only happens when we have something of the form: 'new C' - ts.Debug.assert(node.kind === 187 /* NewExpression */); + ts.Debug.assert(node.kind === 188 /* NewExpression */); return signature.minArgumentCount === 0; } argCount = signatureHelpTrailingComma ? args.length + 1 : args.length; @@ -42758,7 +42975,7 @@ var ts; } // If type has a single call signature and no other members, return that signature. Otherwise, return undefined. function getSingleCallSignature(type) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); if (resolved.callSignatures.length === 1 && resolved.constructSignatures.length === 0 && resolved.properties.length === 0 && !resolved.stringIndexInfo && !resolved.numberIndexInfo) { @@ -42806,7 +43023,7 @@ var ts; // example, given a 'function wrap(cb: (x: T) => U): (x: T) => U' and a call expression // 'let f: (x: string) => number = wrap(s => s.length)', we infer from the declared type of 'f' to the // return type of 'wrap'. - if (node.kind !== 149 /* Decorator */) { + if (node.kind !== 150 /* Decorator */) { var contextualType = getContextualType(node); if (contextualType) { // We clone the contextual mapper to avoid disturbing a resolution in progress for an @@ -42841,7 +43058,7 @@ var ts; for (var i = 0; i < argCount; i++) { var arg = getEffectiveArgument(node, args, i); // If the effective argument is 'undefined', then it is an argument that is present but is synthetic. - if (arg === undefined || arg.kind !== 205 /* OmittedExpression */) { + if (arg === undefined || arg.kind !== 206 /* OmittedExpression */) { var paramType = getTypeAtPosition(signature, i); var argType = getEffectiveArgumentType(node, i); // If the effective argument type is 'undefined', there is no synthetic type @@ -42882,7 +43099,7 @@ var ts; var constraint = getConstraintOfTypeParameter(typeParameters[i]); if (!constraint) continue; - var errorInfo = reportErrors && headMessage && (function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); }); + var errorInfo = reportErrors && headMessage ? (function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); }) : undefined; var typeArgumentHeadMessage = headMessage || ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1; if (!mapper) { mapper = createTypeMapper(typeParameters, typeArgumentTypes); @@ -42931,7 +43148,7 @@ var ts; return checkApplicableSignatureForJsxOpeningLikeElement(node, signature, relation); } var thisType = getThisTypeOfSignature(signature); - if (thisType && thisType !== voidType && node.kind !== 187 /* NewExpression */) { + if (thisType && thisType !== voidType && node.kind !== 188 /* NewExpression */) { // If the called expression is not of the form `x.f` or `x["f"]`, then sourceType = voidType // If the signature's 'this' type is voidType, then the check is skipped -- anything is compatible. // If the expression is a new expression, then the check is skipped. @@ -42939,7 +43156,7 @@ var ts; var thisArgumentType = thisArgumentNode ? checkExpression(thisArgumentNode) : voidType; var errorNode = reportErrors ? (thisArgumentNode || node) : undefined; var headMessage_1 = ts.Diagnostics.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1; - if (!checkTypeRelatedTo(thisArgumentType, getThisTypeOfSignature(signature), relation, errorNode, headMessage_1)) { + if (!checkTypeRelatedTo(thisArgumentType, thisType, relation, errorNode, headMessage_1)) { return false; } } @@ -42948,7 +43165,7 @@ var ts; for (var i = 0; i < argCount; i++) { var arg = getEffectiveArgument(node, args, i); // If the effective argument is 'undefined', then it is an argument that is present but is synthetic. - if (arg === undefined || arg.kind !== 205 /* OmittedExpression */) { + if (arg === undefined || arg.kind !== 206 /* OmittedExpression */) { // Check spread elements against rest type (from arity check we know spread argument corresponds to a rest parameter) var paramType = getTypeAtPosition(signature, i); // If the effective argument type is undefined, there is no synthetic type for the argument. @@ -42972,9 +43189,9 @@ var ts; * Returns the this argument in calls like x.f(...) and x[f](...). Undefined otherwise. */ function getThisArgumentOfCall(node) { - if (node.kind === 186 /* CallExpression */) { + if (node.kind === 187 /* CallExpression */) { var callee = ts.skipOuterExpressions(node.expression); - if (callee.kind === 184 /* PropertyAccessExpression */ || callee.kind === 185 /* ElementAccessExpression */) { + if (callee.kind === 185 /* PropertyAccessExpression */ || callee.kind === 186 /* ElementAccessExpression */) { return callee.expression; } } @@ -42989,17 +43206,17 @@ var ts; * will be supplied from calls to `getEffectiveArgumentCount` and `getEffectiveArgumentType`. */ function getEffectiveCallArguments(node) { - if (node.kind === 188 /* TaggedTemplateExpression */) { + if (node.kind === 189 /* TaggedTemplateExpression */) { var template = node.template; - var args_4 = [undefined]; - if (template.kind === 201 /* TemplateExpression */) { + var args_4 = [undefined]; // TODO: GH#18217 + if (template.kind === 202 /* TemplateExpression */) { ts.forEach(template.templateSpans, function (span) { args_4.push(span.expression); }); } return args_4; } - else if (node.kind === 149 /* Decorator */) { + else if (node.kind === 150 /* Decorator */) { // For a decorator, we return undefined as we will determine // the number and types of arguments for a decorator using // `getEffectiveArgumentCount` and `getEffectiveArgumentType` below. @@ -43026,19 +43243,19 @@ var ts; * Otherwise, the argument count is the length of the 'args' array. */ function getEffectiveArgumentCount(node, args, signature) { - if (node.kind === 149 /* Decorator */) { + if (node.kind === 150 /* Decorator */) { switch (node.parent.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: // A class decorator will have one argument (see `ClassDecorator` in core.d.ts) return 1; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: // A property declaration decorator will have two arguments (see // `PropertyDecorator` in core.d.ts) return 2; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // A method or accessor declaration decorator will have two or three arguments (see // `PropertyDecorator` and `MethodDecorator` in core.d.ts) // If we are emitting decorators for ES3, we will only pass two arguments. @@ -43048,10 +43265,12 @@ var ts; // If the method decorator signature only accepts a target and a key, we will only // type check those arguments. return signature.parameters.length >= 3 ? 3 : 2; - case 148 /* Parameter */: + case 149 /* Parameter */: // A parameter declaration decorator will have three arguments (see // `ParameterDecorator` in core.d.ts) return 3; + default: + return ts.Debug.fail(); } } else { @@ -43072,25 +43291,25 @@ var ts; */ function getEffectiveDecoratorFirstArgumentType(node) { // The first argument to a decorator is its `target`. - if (node.kind === 234 /* ClassDeclaration */) { + if (node.kind === 235 /* ClassDeclaration */) { // For a class decorator, the `target` is the type of the class (e.g. the // "static" or "constructor" side of the class) var classSymbol = getSymbolOfNode(node); return getTypeOfSymbol(classSymbol); } - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { // For a parameter decorator, the `target` is the parent type of the // parameter's containing method. node = node.parent; - if (node.kind === 154 /* Constructor */) { + if (node.kind === 155 /* Constructor */) { var classSymbol = getSymbolOfNode(node); return getTypeOfSymbol(classSymbol); } } - if (node.kind === 151 /* PropertyDeclaration */ || - node.kind === 153 /* MethodDeclaration */ || - node.kind === 155 /* GetAccessor */ || - node.kind === 156 /* SetAccessor */) { + if (node.kind === 152 /* PropertyDeclaration */ || + node.kind === 154 /* MethodDeclaration */ || + node.kind === 156 /* GetAccessor */ || + node.kind === 157 /* SetAccessor */) { // For a property or method decorator, the `target` is the // "static"-side type of the parent of the member if the member is // declared "static"; otherwise, it is the "instance"-side type of the @@ -43098,7 +43317,7 @@ var ts; return getParentTypeOfClassElement(node); } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } /** * Returns the effective type for the second argument to a decorator. @@ -43117,37 +43336,38 @@ var ts; */ function getEffectiveDecoratorSecondArgumentType(node) { // The second argument to a decorator is its `propertyKey` - if (node.kind === 234 /* ClassDeclaration */) { + if (node.kind === 235 /* ClassDeclaration */) { ts.Debug.fail("Class decorators should not have a second synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { node = node.parent; - if (node.kind === 154 /* Constructor */) { + if (node.kind === 155 /* Constructor */) { // For a constructor parameter decorator, the `propertyKey` will be `undefined`. return anyType; } // For a non-constructor parameter decorator, the `propertyKey` will be either // a string or a symbol, based on the name of the parameter's containing method. } - if (node.kind === 151 /* PropertyDeclaration */ || - node.kind === 153 /* MethodDeclaration */ || - node.kind === 155 /* GetAccessor */ || - node.kind === 156 /* SetAccessor */) { + if (node.kind === 152 /* PropertyDeclaration */ || + node.kind === 154 /* MethodDeclaration */ || + node.kind === 156 /* GetAccessor */ || + node.kind === 157 /* SetAccessor */) { // The `propertyKey` for a property or method decorator will be a // string literal type if the member name is an identifier, number, or string; // otherwise, if the member name is a computed property name it will // be either string or symbol. var element = node; - switch (element.name.kind) { + var name = element.name; + switch (name.kind) { case 71 /* Identifier */: - return getLiteralType(ts.idText(element.name)); + return getLiteralType(ts.idText(name)); case 8 /* NumericLiteral */: case 9 /* StringLiteral */: - return getLiteralType(element.name.text); - case 146 /* ComputedPropertyName */: - var nameType = checkComputedPropertyName(element.name); - if (isTypeAssignableToKind(nameType, 1536 /* ESSymbolLike */)) { + return getLiteralType(name.text); + case 147 /* ComputedPropertyName */: + var nameType = checkComputedPropertyName(name); + if (isTypeAssignableToKind(nameType, 3072 /* ESSymbolLike */)) { return nameType; } else { @@ -43155,11 +43375,11 @@ var ts; } default: ts.Debug.fail("Unsupported property name."); - return unknownType; + return errorType; } } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } /** * Returns the effective argument type for the third argument to a decorator. @@ -43171,28 +43391,28 @@ var ts; function getEffectiveDecoratorThirdArgumentType(node) { // The third argument to a decorator is either its `descriptor` for a method decorator // or its `parameterIndex` for a parameter decorator - if (node.kind === 234 /* ClassDeclaration */) { + if (node.kind === 235 /* ClassDeclaration */) { ts.Debug.fail("Class decorators should not have a third synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { // The `parameterIndex` for a parameter decorator is always a number return numberType; } - if (node.kind === 151 /* PropertyDeclaration */) { + if (node.kind === 152 /* PropertyDeclaration */) { ts.Debug.fail("Property decorators should not have a third synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 153 /* MethodDeclaration */ || - node.kind === 155 /* GetAccessor */ || - node.kind === 156 /* SetAccessor */) { + if (node.kind === 154 /* MethodDeclaration */ || + node.kind === 156 /* GetAccessor */ || + node.kind === 157 /* SetAccessor */) { // The `descriptor` for a method decorator will be a `TypedPropertyDescriptor` // for the type of the member. - var propertyType = getTypeOfNode(node); + var propertyType = getTypeOfNode(node); // TODO: GH#18217 return createTypedPropertyDescriptorType(propertyType); } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } /** * Returns the effective argument type for the provided argument to a decorator. @@ -43208,7 +43428,7 @@ var ts; return getEffectiveDecoratorThirdArgumentType(node.parent); } ts.Debug.fail("Decorators should not have a fourth synthetic argument."); - return unknownType; + return errorType; } /** * Gets the effective argument type for an argument in a call expression. @@ -43217,10 +43437,10 @@ var ts; // Decorators provide special arguments, a tagged template expression provides // a special first argument, and string literals get string literal types // unless we're reporting errors - if (node.kind === 149 /* Decorator */) { + if (node.kind === 150 /* Decorator */) { return getEffectiveDecoratorArgumentType(node, argIndex); } - else if (argIndex === 0 && node.kind === 188 /* TaggedTemplateExpression */) { + else if (argIndex === 0 && node.kind === 189 /* TaggedTemplateExpression */) { return getGlobalTemplateStringsArrayType(); } // This is not a synthetic argument, so we return 'undefined' @@ -43232,8 +43452,8 @@ var ts; */ function getEffectiveArgument(node, args, argIndex) { // For a decorator or the first argument of a tagged template expression we return undefined. - if (node.kind === 149 /* Decorator */ || - (argIndex === 0 && node.kind === 188 /* TaggedTemplateExpression */)) { + if (node.kind === 150 /* Decorator */ || + (argIndex === 0 && node.kind === 189 /* TaggedTemplateExpression */)) { return undefined; } return args[argIndex]; @@ -43242,11 +43462,11 @@ var ts; * Gets the error node to use when reporting errors for an effective argument. */ function getEffectiveArgumentErrorNode(node, argIndex, arg) { - if (node.kind === 149 /* Decorator */) { + if (node.kind === 150 /* Decorator */) { // For a decorator, we use the expression of the decorator for error reporting. return node.expression; } - else if (argIndex === 0 && node.kind === 188 /* TaggedTemplateExpression */) { + else if (argIndex === 0 && node.kind === 189 /* TaggedTemplateExpression */) { // For a the first argument of a tagged template expression, we use the template of the tag for error reporting. return node.template; } @@ -43266,8 +43486,8 @@ var ts; return ts.createDiagnosticForNodeArray(ts.getSourceFileOfNode(node), typeArguments, ts.Diagnostics.Expected_0_type_arguments_but_got_1, paramCount, typeArguments.length); } function resolveCall(node, signatures, candidatesOutArray, fallbackError) { - var isTaggedTemplate = node.kind === 188 /* TaggedTemplateExpression */; - var isDecorator = node.kind === 149 /* Decorator */; + var isTaggedTemplate = node.kind === 189 /* TaggedTemplateExpression */; + var isDecorator = node.kind === 150 /* Decorator */; var isJsxOpeningOrSelfClosingElement = ts.isJsxOpeningLikeElement(node); var typeArguments; if (!isDecorator) { @@ -43341,7 +43561,7 @@ var ts; var result; // If we are in signature help, a trailing comma indicates that we intend to provide another argument, // so we will only accept overloads with arity at least 1 higher than the current number of provided arguments. - var signatureHelpTrailingComma = candidatesOutArray && node.kind === 186 /* CallExpression */ && node.arguments.hasTrailingComma; + var signatureHelpTrailingComma = candidatesOutArray && node.kind === 187 /* CallExpression */ && node.arguments.hasTrailingComma; // Section 4.12.1: // if the candidate list contains one or more signatures for which the type of each argument // expression is a subtype of each corresponding parameter type, the return type of the first @@ -43423,7 +43643,7 @@ var ts; var candidate = candidates[bestIndex]; var typeParameters = candidate.typeParameters; if (typeParameters && callLikeExpressionMayHaveTypeArguments(node) && node.typeArguments) { - var typeArguments_1 = node.typeArguments.map(getTypeOfNode); + var typeArguments_1 = node.typeArguments.map(getTypeOfNode); // TODO: GH#18217 while (typeArguments_1.length > typeParameters.length) { typeArguments_1.pop(); } @@ -43520,9 +43740,10 @@ var ts; if (node.expression.kind === 97 /* SuperKeyword */) { var superType = checkSuperExpression(node.expression); if (isTypeAny(superType)) { + ts.forEach(node.arguments, checkExpression); // Still visit arguments so they get marked for visibility, etc return anySignature; } - if (superType !== unknownType) { + if (superType !== errorType) { // In super call, the candidate signatures are the matching arity signatures of the base constructor function instantiated // with the type arguments specified in the extends clause. var baseTypeNode = ts.getClassExtendsHeritageClauseElement(ts.getContainingClass(node)); @@ -43538,7 +43759,7 @@ var ts; return silentNeverSignature; } var apparentType = getApparentType(funcType); - if (apparentType === unknownType) { + if (apparentType === errorType) { // Another error has already been reported return resolveErrorCall(node); } @@ -43554,7 +43775,7 @@ var ts; if (isUntypedFunctionCall(funcType, apparentType, callSignatures.length, constructSignatures.length)) { // The unknownType indicates that an error already occurred (and was reported). No // need to report another error in this case. - if (funcType !== unknownType && node.typeArguments) { + if (funcType !== errorType && node.typeArguments) { error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); } return resolveUntypedCall(node); @@ -43580,8 +43801,8 @@ var ts; */ function isUntypedFunctionCall(funcType, apparentFuncType, numCallSignatures, numConstructSignatures) { // We exclude union types because we may have a union of function types that happen to have no common signatures. - return isTypeAny(funcType) || isTypeAny(apparentFuncType) && funcType.flags & 32768 /* TypeParameter */ || - !numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & (131072 /* Union */ | 16384 /* Never */)) && isTypeAssignableTo(funcType, globalFunctionType); + return isTypeAny(funcType) || isTypeAny(apparentFuncType) && funcType.flags & 65536 /* TypeParameter */ || + !numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & (262144 /* Union */ | 32768 /* Never */)) && isTypeAssignableTo(funcType, globalFunctionType); } function resolveNewExpression(node, candidatesOutArray) { if (node.arguments && languageVersion < 1 /* ES5 */) { @@ -43600,7 +43821,7 @@ var ts; // signatures for overload resolution. The result type of the function call becomes // the result type of the operation. expressionType = getApparentType(expressionType); - if (expressionType === unknownType) { + if (expressionType === errorType) { // Another error has already been reported return resolveErrorCall(node); } @@ -43711,7 +43932,7 @@ var ts; function resolveTaggedTemplateExpression(node, candidatesOutArray) { var tagType = checkExpression(node.tag); var apparentType = getApparentType(tagType); - if (apparentType === unknownType) { + if (apparentType === errorType) { // Another error has already been reported return resolveErrorCall(node); } @@ -43731,17 +43952,19 @@ var ts; */ function getDiagnosticHeadMessageForDecoratorResolution(node) { switch (node.parent.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return ts.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression; - case 148 /* Parameter */: + case 149 /* Parameter */: return ts.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return ts.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return ts.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression; + default: + return ts.Debug.fail(); } } /** @@ -43750,7 +43973,7 @@ var ts; function resolveDecorator(node, candidatesOutArray) { var funcType = checkExpression(node.expression); var apparentType = getApparentType(funcType); - if (apparentType === unknownType) { + if (apparentType === errorType) { return resolveErrorCall(node); } var callSignatures = getSignaturesOfType(apparentType, 0 /* Call */); @@ -43765,8 +43988,7 @@ var ts; } var headMessage = getDiagnosticHeadMessageForDecoratorResolution(node); if (!callSignatures.length) { - var errorInfo = void 0; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures, typeToString(apparentType)); + var errorInfo = ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures, typeToString(apparentType)); errorInfo = ts.chainDiagnosticMessages(errorInfo, headMessage); diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(node, errorInfo)); invocationErrorRecovery(apparentType, 0 /* Call */); @@ -43797,7 +44019,7 @@ var ts; * the function will fill it up with appropriate candidate signatures */ function getResolvedJsxStatelessFunctionSignature(openingLikeElement, elementType, candidatesOutArray) { - ts.Debug.assert(!(elementType.flags & 131072 /* Union */)); + ts.Debug.assert(!(elementType.flags & 262144 /* Union */)); var callSignatures = elementType && getSignaturesOfType(elementType, 0 /* Call */); if (callSignatures && callSignatures.length > 0) { return resolveCall(openingLikeElement, callSignatures, candidatesOutArray); @@ -43806,16 +44028,16 @@ var ts; } function resolveSignature(node, candidatesOutArray) { switch (node.kind) { - case 186 /* CallExpression */: + case 187 /* CallExpression */: return resolveCallExpression(node, candidatesOutArray); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return resolveNewExpression(node, candidatesOutArray); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return resolveTaggedTemplateExpression(node, candidatesOutArray); - case 149 /* Decorator */: + case 150 /* Decorator */: return resolveDecorator(node, candidatesOutArray); - case 256 /* JsxOpeningElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: // This code-path is called by language service var exprTypes = checkExpression(node.tagName); return forEachType(exprTypes, function (exprType) { @@ -43830,7 +44052,7 @@ var ts; return ts.length(sigs) ? sigs[0] : unknownSignature; }) || unknownSignature; } - ts.Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); + throw ts.Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); } /** * Resolve a signature of a given call-like expression. @@ -43870,15 +44092,11 @@ var ts; var symbol = ts.isFunctionDeclaration(node) || ts.isFunctionExpression(node) ? getSymbolOfNode(node) : ts.isVariableDeclaration(node) && node.initializer && ts.isFunctionExpression(node.initializer) ? getSymbolOfNode(node.initializer) : undefined; - return symbol && symbol.members !== undefined; + return !!symbol && symbol.members !== undefined; } return false; } function getJavaScriptClassType(symbol) { - var initializer = ts.getDeclaredJavascriptInitializer(symbol.valueDeclaration); - if (initializer) { - symbol = getSymbolOfNode(initializer); - } var inferred; if (isJavaScriptConstructor(symbol.valueDeclaration)) { inferred = getInferredClassType(symbol); @@ -43909,7 +44127,7 @@ var ts; return false; } var parent = node.parent; - while (parent && parent.kind === 184 /* PropertyAccessExpression */) { + while (parent && parent.kind === 185 /* PropertyAccessExpression */) { parent = parent.parent; } if (parent && ts.isBinaryExpression(parent) && ts.isPrototypeAccess(parent.left) && parent.operatorToken.kind === 58 /* EqualsToken */) { @@ -43941,12 +44159,12 @@ var ts; if (node.expression.kind === 97 /* SuperKeyword */) { return voidType; } - if (node.kind === 187 /* NewExpression */) { + if (node.kind === 188 /* NewExpression */) { var declaration = signature.declaration; if (declaration && - declaration.kind !== 154 /* Constructor */ && - declaration.kind !== 158 /* ConstructSignature */ && - declaration.kind !== 163 /* ConstructorType */ && + declaration.kind !== 155 /* Constructor */ && + declaration.kind !== 159 /* ConstructSignature */ && + declaration.kind !== 164 /* ConstructorType */ && !ts.isJSDocConstructSignature(declaration)) { // When resolved signature is a call signature (and not a construct signature) the result type is any, unless // the declaring function had members created through 'x.prototype.y = expr' or 'this.y = expr' psuedodeclarations @@ -43974,10 +44192,20 @@ var ts; var returnType = getReturnTypeOfSignature(signature); // Treat any call to the global 'Symbol' function that is part of a const variable or readonly property // as a fresh unique symbol literal type. - if (returnType.flags & 1536 /* ESSymbolLike */ && isSymbolOrSymbolForCall(node)) { + if (returnType.flags & 3072 /* ESSymbolLike */ && isSymbolOrSymbolForCall(node)) { return getESSymbolLikeTypeForNode(ts.walkUpParenthesizedExpressions(node.parent)); } - return returnType; + var jsAssignmentType; + if (ts.isInJavaScriptFile(node)) { + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + var jsSymbol = getSymbolOfNode(decl); + if (jsSymbol && ts.hasEntries(jsSymbol.exports)) { + jsAssignmentType = createAnonymousType(jsSymbol, jsSymbol.exports, ts.emptyArray, ts.emptyArray, jsObjectLiteralIndexInfo, undefined); + } + } + } + return jsAssignmentType ? getIntersectionType([returnType, jsAssignmentType]) : returnType; } function isSymbolOrSymbolForCall(node) { if (!ts.isCallExpression(node)) @@ -44009,7 +44237,7 @@ var ts; for (var i = 1; i < node.arguments.length; ++i) { checkExpressionCached(node.arguments[i]); } - if (specifierType.flags & 4096 /* Undefined */ || specifierType.flags & 8192 /* Null */ || !isTypeAssignableTo(specifierType, stringType)) { + if (specifierType.flags & 8192 /* Undefined */ || specifierType.flags & 16384 /* Null */ || !isTypeAssignableTo(specifierType, stringType)) { error(specifier, ts.Diagnostics.Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0, typeToString(specifierType)); } // resolveExternalModuleName will return undefined if the moduleReferenceExpression is not a string literal @@ -44023,7 +44251,7 @@ var ts; return createPromiseReturnType(node, anyType); } function getTypeWithSyntheticDefaultImportType(type, symbol, originalSymbol) { - if (allowSyntheticDefaultImports && type && type !== unknownType) { + if (allowSyntheticDefaultImports && type && type !== errorType) { var synthType = type; if (!synthType.syntheticType) { var file_4 = ts.find(originalSymbol.declarations, ts.isSourceFile); @@ -44053,7 +44281,7 @@ var ts; // Make sure require is not a local function if (!ts.isIdentifier(node.expression)) return ts.Debug.fail(); - var resolvedRequire = resolveName(node.expression, node.expression.escapedText, 67216319 /* Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); + var resolvedRequire = resolveName(node.expression, node.expression.escapedText, 67216319 /* Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); // TODO: GH#18217 if (resolvedRequire === requireSymbol) { return true; } @@ -44062,9 +44290,9 @@ var ts; return false; } var targetDeclarationKind = resolvedRequire.flags & 16 /* Function */ - ? 233 /* FunctionDeclaration */ + ? 234 /* FunctionDeclaration */ : resolvedRequire.flags & 3 /* Variable */ - ? 231 /* VariableDeclaration */ + ? 232 /* VariableDeclaration */ : 0 /* Unknown */; if (targetDeclarationKind !== 0 /* Unknown */) { var decl = ts.getDeclarationOfKind(resolvedRequire, targetDeclarationKind); @@ -44087,7 +44315,7 @@ var ts; var exprType = getRegularTypeOfObjectLiteral(getBaseTypeOfLiteralType(checkExpression(expression, checkMode))); checkSourceElement(type); var targetType = getTypeFromTypeNode(type); - if (produceDiagnostics && targetType !== unknownType) { + if (produceDiagnostics && targetType !== errorType) { var widenedType = getWidenedType(exprType); if (!isTypeComparableTo(targetType, widenedType)) { checkTypeComparableTo(exprType, targetType, errNode, ts.Diagnostics.Type_0_cannot_be_converted_to_type_1); @@ -44106,14 +44334,15 @@ var ts; if (node.keywordToken === 91 /* ImportKeyword */) { return checkImportMetaProperty(node); } + return ts.Debug.assertNever(node.keywordToken); } function checkNewTargetMetaProperty(node) { var container = ts.getNewTargetContainer(node); if (!container) { error(node, ts.Diagnostics.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor, "new.target"); - return unknownType; + return errorType; } - else if (container.kind === 154 /* Constructor */) { + else if (container.kind === 155 /* Constructor */) { var symbol = getSymbolOfNode(container.parent); return getTypeOfSymbol(symbol); } @@ -44129,7 +44358,7 @@ var ts; var file = ts.getSourceFileOfNode(node); ts.Debug.assert(!!(file.flags & 1048576 /* PossiblyContainsImportMeta */), "Containing file is missing import meta node flag."); ts.Debug.assert(!!file.externalModuleIndicator, "Containing file should be a module."); - return node.name.escapedText === "meta" ? getGlobalImportMetaType() : unknownType; + return node.name.escapedText === "meta" ? getGlobalImportMetaType() : errorType; } function getTypeOfParameter(symbol) { var type = getTypeOfSymbol(symbol); @@ -44185,9 +44414,9 @@ var ts; } if (signature.hasRestParameter && isRestParameterIndex(context, signature.parameters.length - 1)) { // parameter might be a transient symbol generated by use of `arguments` in the function body. - var parameter = ts.lastOrUndefined(signature.parameters); + var parameter = ts.last(signature.parameters); if (isTransientSymbol(parameter) || !ts.getEffectiveTypeAnnotationNode(parameter.valueDeclaration)) { - var contextualParameterType = getTypeOfSymbol(ts.lastOrUndefined(context.parameters)); + var contextualParameterType = getTypeOfSymbol(ts.last(context.parameters)); assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType); } } @@ -44237,7 +44466,7 @@ var ts; error(func, ts.isImportCall(func) ? ts.Diagnostics.A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option : ts.Diagnostics.An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option); - return unknownType; + return errorType; } else if (!getGlobalPromiseConstructorSymbol(/*reportErrors*/ true)) { error(func, ts.isImportCall(func) ? @@ -44248,11 +44477,11 @@ var ts; } function getReturnTypeFromBody(func, checkMode) { if (!func.body) { - return unknownType; + return errorType; } var functionFlags = ts.getFunctionFlags(func); var type; - if (func.body.kind !== 212 /* Block */) { + if (func.body.kind !== 213 /* Block */) { type = checkExpressionCached(func.body, checkMode); if (functionFlags & 2 /* Async */) { // From within an async function you can return either a non-promise value or a promise. Any @@ -44366,7 +44595,7 @@ var ts; if (!(func.flags & 128 /* HasImplicitReturn */)) { return false; } - if (ts.some(func.body.statements, function (statement) { return statement.kind === 226 /* SwitchStatement */ && isExhaustiveSwitchStatement(statement); })) { + if (ts.some(func.body.statements, function (statement) { return statement.kind === 227 /* SwitchStatement */ && isExhaustiveSwitchStatement(statement); })) { return false; } return true; @@ -44388,7 +44617,7 @@ var ts; // the native Promise type by the caller. type = checkAwaitedType(type, func, ts.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); } - if (type.flags & 16384 /* Never */) { + if (type.flags & 32768 /* Never */) { hasReturnOfTypeNever = true; } ts.pushIfUnique(aggregatedTypes, type); @@ -44409,11 +44638,11 @@ var ts; } function mayReturnNever(func) { switch (func.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return true; - case 153 /* MethodDeclaration */: - return func.parent.kind === 183 /* ObjectLiteralExpression */; + case 154 /* MethodDeclaration */: + return func.parent.kind === 184 /* ObjectLiteralExpression */; default: return false; } @@ -44432,16 +44661,16 @@ var ts; return; } // Functions with with an explicitly specified 'void' or 'any' return type don't need any return expressions. - if (returnType && maybeTypeOfKind(returnType, 1 /* Any */ | 2048 /* Void */)) { + if (returnType && maybeTypeOfKind(returnType, 3 /* AnyOrUnknown */ | 4096 /* Void */)) { return; } // If all we have is a function signature, or an arrow function with an expression body, then there is nothing to check. // also if HasImplicitReturn flag is not set this means that all codepaths in function body end with return or throw - if (func.kind === 152 /* MethodSignature */ || ts.nodeIsMissing(func.body) || func.body.kind !== 212 /* Block */ || !functionHasImplicitReturn(func)) { + if (func.kind === 153 /* MethodSignature */ || ts.nodeIsMissing(func.body) || func.body.kind !== 213 /* Block */ || !functionHasImplicitReturn(func)) { return; } var hasExplicitReturn = func.flags & 256 /* HasExplicitReturn */; - if (returnType && returnType.flags & 16384 /* Never */) { + if (returnType && returnType.flags & 32768 /* Never */) { error(ts.getEffectiveReturnTypeNode(func), ts.Diagnostics.A_function_returning_never_cannot_have_a_reachable_end_point); } else if (returnType && !hasExplicitReturn) { @@ -44470,14 +44699,14 @@ var ts; } } function checkFunctionExpressionOrObjectLiteralMethod(node, checkMode) { - ts.Debug.assert(node.kind !== 153 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); // The identityMapper object is used to indicate that function expressions are wildcards if (checkMode === 1 /* SkipContextSensitive */ && isContextSensitive(node)) { return anyFunctionType; } // Grammar checking var hasGrammarError = checkGrammarFunctionLikeDeclaration(node); - if (!hasGrammarError && node.kind === 191 /* FunctionExpression */) { + if (!hasGrammarError && node.kind === 192 /* FunctionExpression */) { checkGrammarForGenerator(node); } var links = getNodeLinks(node); @@ -44518,7 +44747,7 @@ var ts; return type; } function checkFunctionExpressionOrObjectLiteralMethodDeferred(node) { - ts.Debug.assert(node.kind !== 153 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); var functionFlags = ts.getFunctionFlags(node); var returnTypeNode = ts.getEffectiveReturnTypeNode(node); var returnOrPromisedType = returnTypeNode && @@ -44538,7 +44767,7 @@ var ts; // checkFunctionExpressionBodies). So it must be done now. getReturnTypeOfSignature(getSignatureFromDeclaration(node)); } - if (node.body.kind === 212 /* Block */) { + if (node.body.kind === 213 /* Block */) { checkSourceElement(node.body); } else { @@ -44561,7 +44790,7 @@ var ts; } } function checkArithmeticOperandType(operand, type, diagnostic) { - if (!isTypeAssignableToKind(type, 84 /* NumberLike */)) { + if (!isTypeAssignableToKind(type, 168 /* NumberLike */)) { error(operand, diagnostic); return false; } @@ -44584,11 +44813,11 @@ var ts; if (isReadonlySymbol(symbol)) { // Allow assignments to readonly properties within constructors of the same class declaration. if (symbol.flags & 4 /* Property */ && - (expr.kind === 184 /* PropertyAccessExpression */ || expr.kind === 185 /* ElementAccessExpression */) && + (expr.kind === 185 /* PropertyAccessExpression */ || expr.kind === 186 /* ElementAccessExpression */) && expr.expression.kind === 99 /* ThisKeyword */) { // Look for if this is the constructor for the class that `symbol` is a property of. var func = ts.getContainingFunction(expr); - if (!(func && func.kind === 154 /* Constructor */)) { + if (!(func && func.kind === 155 /* Constructor */)) { return true; } // If func.parent is a class and symbol is a (readonly) property of that class, or @@ -44601,13 +44830,13 @@ var ts; return false; } function isReferenceThroughNamespaceImport(expr) { - if (expr.kind === 184 /* PropertyAccessExpression */ || expr.kind === 185 /* ElementAccessExpression */) { + if (expr.kind === 185 /* PropertyAccessExpression */ || expr.kind === 186 /* ElementAccessExpression */) { var node = ts.skipParentheses(expr.expression); if (node.kind === 71 /* Identifier */) { var symbol = getNodeLinks(node).resolvedSymbol; if (symbol.flags & 2097152 /* Alias */) { var declaration = getDeclarationOfAliasSymbol(symbol); - return declaration && declaration.kind === 245 /* NamespaceImport */; + return !!declaration && declaration.kind === 246 /* NamespaceImport */; } } } @@ -44616,7 +44845,7 @@ var ts; function checkReferenceExpression(expr, invalidReferenceMessage) { // References are combinations of identifiers, parentheses, and property accesses. var node = ts.skipOuterExpressions(expr, 2 /* Assertions */ | 1 /* Parentheses */); - if (node.kind !== 71 /* Identifier */ && node.kind !== 184 /* PropertyAccessExpression */ && node.kind !== 185 /* ElementAccessExpression */) { + if (node.kind !== 71 /* Identifier */ && node.kind !== 185 /* PropertyAccessExpression */ && node.kind !== 186 /* ElementAccessExpression */) { error(expr, invalidReferenceMessage); return false; } @@ -44625,7 +44854,7 @@ var ts; function checkDeleteExpression(node) { checkExpression(node.expression); var expr = ts.skipParentheses(node.expression); - if (expr.kind !== 184 /* PropertyAccessExpression */ && expr.kind !== 185 /* ElementAccessExpression */) { + if (expr.kind !== 185 /* PropertyAccessExpression */ && expr.kind !== 186 /* ElementAccessExpression */) { error(expr, ts.Diagnostics.The_operand_of_a_delete_operator_must_be_a_property_reference); return booleanType; } @@ -44675,7 +44904,7 @@ var ts; case 38 /* MinusToken */: case 52 /* TildeToken */: checkNonNullType(operandType, node.operand); - if (maybeTypeOfKind(operandType, 1536 /* ESSymbolLike */)) { + if (maybeTypeOfKind(operandType, 3072 /* ESSymbolLike */)) { error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator)); } return numberType; @@ -44693,7 +44922,7 @@ var ts; } return numberType; } - return unknownType; + return errorType; } function checkPostfixUnaryExpression(node) { var operandType = checkExpression(node.operand); @@ -44710,10 +44939,10 @@ var ts; // Return true if type might be of the given kind. A union or intersection type might be of a given // kind if at least one constituent type is of the given kind. function maybeTypeOfKind(type, kind) { - if (type.flags & kind || kind & 536870912 /* GenericMappedType */ && isGenericMappedType(type)) { + if (type.flags & kind & ~134217728 /* GenericMappedType */ || kind & 134217728 /* GenericMappedType */ && isGenericMappedType(type)) { return true; } - if (type.flags & 393216 /* UnionOrIntersection */) { + if (type.flags & 786432 /* UnionOrIntersection */) { var types = type.types; for (var _i = 0, types_16 = types; _i < types_16.length; _i++) { var t = types_16[_i]; @@ -44728,26 +44957,26 @@ var ts; if (source.flags & kind) { return true; } - if (strict && source.flags & (1 /* Any */ | 2048 /* Void */ | 4096 /* Undefined */ | 8192 /* Null */)) { + if (strict && source.flags & (3 /* AnyOrUnknown */ | 4096 /* Void */ | 8192 /* Undefined */ | 16384 /* Null */)) { return false; } - return (kind & 84 /* NumberLike */ && isTypeAssignableTo(source, numberType)) || - (kind & 34 /* StringLike */ && isTypeAssignableTo(source, stringType)) || - (kind & 136 /* BooleanLike */ && isTypeAssignableTo(source, booleanType)) || - (kind & 2048 /* Void */ && isTypeAssignableTo(source, voidType)) || - (kind & 16384 /* Never */ && isTypeAssignableTo(source, neverType)) || - (kind & 8192 /* Null */ && isTypeAssignableTo(source, nullType)) || - (kind & 4096 /* Undefined */ && isTypeAssignableTo(source, undefinedType)) || - (kind & 512 /* ESSymbol */ && isTypeAssignableTo(source, esSymbolType)) || - (kind & 134217728 /* NonPrimitive */ && isTypeAssignableTo(source, nonPrimitiveType)); + return !!(kind & 168 /* NumberLike */) && isTypeAssignableTo(source, numberType) || + !!(kind & 68 /* StringLike */) && isTypeAssignableTo(source, stringType) || + !!(kind & 272 /* BooleanLike */) && isTypeAssignableTo(source, booleanType) || + !!(kind & 4096 /* Void */) && isTypeAssignableTo(source, voidType) || + !!(kind & 32768 /* Never */) && isTypeAssignableTo(source, neverType) || + !!(kind & 16384 /* Null */) && isTypeAssignableTo(source, nullType) || + !!(kind & 8192 /* Undefined */) && isTypeAssignableTo(source, undefinedType) || + !!(kind & 1024 /* ESSymbol */) && isTypeAssignableTo(source, esSymbolType) || + !!(kind & 16777216 /* NonPrimitive */) && isTypeAssignableTo(source, nonPrimitiveType); } function allTypesAssignableToKind(source, kind, strict) { - return source.flags & 131072 /* Union */ ? + return source.flags & 262144 /* Union */ ? ts.every(source.types, function (subType) { return allTypesAssignableToKind(subType, kind, strict); }) : isTypeAssignableToKind(source, kind, strict); } function isConstEnumObjectType(type) { - return ts.getObjectFlags(type) & 16 /* Anonymous */ && type.symbol && isConstEnumSymbol(type.symbol); + return !!(ts.getObjectFlags(type) & 16 /* Anonymous */) && !!type.symbol && isConstEnumSymbol(type.symbol); } function isConstEnumSymbol(symbol) { return (symbol.flags & 128 /* ConstEnum */) !== 0; @@ -44762,7 +44991,7 @@ var ts; // The result is always of the Boolean primitive type. // NOTE: do not raise error if leftType is unknown as related error was already reported if (!isTypeAny(leftType) && - allTypesAssignableToKind(leftType, 16382 /* Primitive */)) { + allTypesAssignableToKind(leftType, 32764 /* Primitive */)) { error(left, ts.Diagnostics.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } // NOTE: do not raise error if right is unknown as related error was already reported @@ -44781,10 +45010,10 @@ var ts; // The in operator requires the left operand to be of type Any, the String primitive type, or the Number primitive type, // and the right operand to be of type Any, an object type, or a type parameter type. // The result is always of the Boolean primitive type. - if (!(isTypeComparableTo(leftType, stringType) || isTypeAssignableToKind(leftType, 84 /* NumberLike */ | 1536 /* ESSymbolLike */))) { + if (!(isTypeComparableTo(leftType, stringType) || isTypeAssignableToKind(leftType, 168 /* NumberLike */ | 3072 /* ESSymbolLike */))) { error(left, ts.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol); } - if (!isTypeAssignableToKind(rightType, 134217728 /* NonPrimitive */ | 7372800 /* InstantiableNonPrimitive */)) { + if (!isTypeAssignableToKind(rightType, 16777216 /* NonPrimitive */ | 14745600 /* InstantiableNonPrimitive */)) { error(right, ts.Diagnostics.The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } return booleanType; @@ -44803,9 +45032,9 @@ var ts; } /** Note: If property cannot be a SpreadAssignment, then allProperties does not need to be provided */ function checkObjectLiteralDestructuringPropertyAssignment(objectLiteralType, property, allProperties) { - if (property.kind === 269 /* PropertyAssignment */ || property.kind === 270 /* ShorthandPropertyAssignment */) { + if (property.kind === 270 /* PropertyAssignment */ || property.kind === 271 /* ShorthandPropertyAssignment */) { var name = property.name; - if (name.kind === 146 /* ComputedPropertyName */) { + if (name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(name); } if (isComputedNonLiteralName(name)) { @@ -44818,7 +45047,7 @@ var ts; isNumericLiteralName(text) && getIndexTypeOfType(objectLiteralType, 1 /* Number */) || getIndexTypeOfType(objectLiteralType, 0 /* String */); if (type) { - if (property.kind === 270 /* ShorthandPropertyAssignment */) { + if (property.kind === 271 /* ShorthandPropertyAssignment */) { return checkDestructuringAssignment(property, type); } else { @@ -44830,7 +45059,7 @@ var ts; error(name, ts.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature, typeToString(objectLiteralType), ts.declarationNameToString(name)); } } - else if (property.kind === 271 /* SpreadAssignment */) { + else if (property.kind === 272 /* SpreadAssignment */) { if (languageVersion < 6 /* ESNext */) { checkExternalEmitHelpers(property, 4 /* Rest */); } @@ -44856,7 +45085,7 @@ var ts; // This elementType will be used if the specific property corresponding to this index is not // present (aka the tuple element property). This call also checks that the parentType is in // fact an iterable or array (depending on target language). - var elementType = checkIteratedTypeOrElementType(sourceType, node, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || unknownType; + var elementType = checkIteratedTypeOrElementType(sourceType, node, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || errorType; for (var i = 0; i < elements.length; i++) { checkArrayLiteralDestructuringElementAssignment(node, sourceType, i, elementType, checkMode); } @@ -44865,8 +45094,8 @@ var ts; function checkArrayLiteralDestructuringElementAssignment(node, sourceType, elementIndex, elementType, checkMode) { var elements = node.elements; var element = elements[elementIndex]; - if (element.kind !== 205 /* OmittedExpression */) { - if (element.kind !== 203 /* SpreadElement */) { + if (element.kind !== 206 /* OmittedExpression */) { + if (element.kind !== 204 /* SpreadElement */) { var propName = "" + elementIndex; var type = isTypeAny(sourceType) ? sourceType @@ -44894,7 +45123,7 @@ var ts; } else { var restExpression = element.expression; - if (restExpression.kind === 199 /* BinaryExpression */ && restExpression.operatorToken.kind === 58 /* EqualsToken */) { + if (restExpression.kind === 200 /* BinaryExpression */ && restExpression.operatorToken.kind === 58 /* EqualsToken */) { error(restExpression.operatorToken, ts.Diagnostics.A_rest_element_cannot_have_an_initializer); } else { @@ -44907,13 +45136,13 @@ var ts; } function checkDestructuringAssignment(exprOrAssignment, sourceType, checkMode) { var target; - if (exprOrAssignment.kind === 270 /* ShorthandPropertyAssignment */) { + if (exprOrAssignment.kind === 271 /* ShorthandPropertyAssignment */) { var prop = exprOrAssignment; if (prop.objectAssignmentInitializer) { // In strict null checking mode, if a default value of a non-undefined type is specified, remove // undefined from the final type. if (strictNullChecks && - !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 4096 /* Undefined */)) { + !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 8192 /* Undefined */)) { sourceType = getTypeWithFacts(sourceType, 131072 /* NEUndefined */); } checkBinaryLikeExpression(prop.name, prop.equalsToken, prop.objectAssignmentInitializer, checkMode); @@ -44923,21 +45152,21 @@ var ts; else { target = exprOrAssignment; } - if (target.kind === 199 /* BinaryExpression */ && target.operatorToken.kind === 58 /* EqualsToken */) { + if (target.kind === 200 /* BinaryExpression */ && target.operatorToken.kind === 58 /* EqualsToken */) { checkBinaryExpression(target, checkMode); target = target.left; } - if (target.kind === 183 /* ObjectLiteralExpression */) { + if (target.kind === 184 /* ObjectLiteralExpression */) { return checkObjectLiteralAssignment(target, sourceType); } - if (target.kind === 182 /* ArrayLiteralExpression */) { + if (target.kind === 183 /* ArrayLiteralExpression */) { return checkArrayLiteralAssignment(target, sourceType, checkMode); } return checkReferenceAssignment(target, sourceType, checkMode); } function checkReferenceAssignment(target, sourceType, checkMode) { var targetType = checkExpression(target, checkMode); - var error = target.parent.kind === 271 /* SpreadAssignment */ ? + var error = target.parent.kind === 272 /* SpreadAssignment */ ? ts.Diagnostics.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access : ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access; if (checkReferenceExpression(target, error)) { @@ -44959,35 +45188,35 @@ var ts; case 71 /* Identifier */: case 9 /* StringLiteral */: case 12 /* RegularExpressionLiteral */: - case 188 /* TaggedTemplateExpression */: - case 201 /* TemplateExpression */: + case 189 /* TaggedTemplateExpression */: + case 202 /* TemplateExpression */: case 13 /* NoSubstitutionTemplateLiteral */: case 8 /* NumericLiteral */: case 101 /* TrueKeyword */: case 86 /* FalseKeyword */: case 95 /* NullKeyword */: case 140 /* UndefinedKeyword */: - case 191 /* FunctionExpression */: - case 204 /* ClassExpression */: - case 192 /* ArrowFunction */: - case 182 /* ArrayLiteralExpression */: - case 183 /* ObjectLiteralExpression */: - case 194 /* TypeOfExpression */: - case 208 /* NonNullExpression */: - case 255 /* JsxSelfClosingElement */: - case 254 /* JsxElement */: + case 192 /* FunctionExpression */: + case 205 /* ClassExpression */: + case 193 /* ArrowFunction */: + case 183 /* ArrayLiteralExpression */: + case 184 /* ObjectLiteralExpression */: + case 195 /* TypeOfExpression */: + case 209 /* NonNullExpression */: + case 256 /* JsxSelfClosingElement */: + case 255 /* JsxElement */: return true; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return isSideEffectFree(node.whenTrue) && isSideEffectFree(node.whenFalse); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (ts.isAssignmentOperator(node.operatorToken.kind)) { return false; } return isSideEffectFree(node.left) && isSideEffectFree(node.right); - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: // Unary operators ~, !, +, and - have no side effects. // The rest do. switch (node.operator) { @@ -44999,15 +45228,15 @@ var ts; } return false; // Some forms listed here for clarity - case 195 /* VoidExpression */: // Explicit opt-out - case 189 /* TypeAssertionExpression */: // Not SEF, but can produce useful type warnings - case 207 /* AsExpression */: // Not SEF, but can produce useful type warnings + case 196 /* VoidExpression */: // Explicit opt-out + case 190 /* TypeAssertionExpression */: // Not SEF, but can produce useful type warnings + case 208 /* AsExpression */: // Not SEF, but can produce useful type warnings default: return false; } } function isTypeEqualityComparableTo(source, target) { - return (target.flags & 12288 /* Nullable */) !== 0 || isTypeComparableTo(source, target); + return (target.flags & 24576 /* Nullable */) !== 0 || isTypeComparableTo(source, target); } function checkBinaryExpression(node, checkMode) { if (ts.isInJavaScriptFile(node) && ts.getAssignedJavascriptInitializer(node)) { @@ -45017,7 +45246,7 @@ var ts; } function checkBinaryLikeExpression(left, operatorToken, right, checkMode, errorNode) { var operator = operatorToken.kind; - if (operator === 58 /* EqualsToken */ && (left.kind === 183 /* ObjectLiteralExpression */ || left.kind === 182 /* ArrayLiteralExpression */)) { + if (operator === 58 /* EqualsToken */ && (left.kind === 184 /* ObjectLiteralExpression */ || left.kind === 183 /* ArrayLiteralExpression */)) { return checkDestructuringAssignment(left, checkExpression(right, checkMode), checkMode); } var leftType = checkExpression(left, checkMode); @@ -45053,8 +45282,8 @@ var ts; var suggestedOperator = void 0; // if a user tries to apply a bitwise operator to 2 boolean operands // try and return them a helpful suggestion - if ((leftType.flags & 136 /* BooleanLike */) && - (rightType.flags & 136 /* BooleanLike */) && + if ((leftType.flags & 272 /* BooleanLike */) && + (rightType.flags & 272 /* BooleanLike */) && (suggestedOperator = getSuggestedBooleanOperator(operatorToken.kind)) !== undefined) { error(errorNode || operatorToken, ts.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead, ts.tokenToString(operatorToken.kind), ts.tokenToString(suggestedOperator)); } @@ -45072,24 +45301,24 @@ var ts; if (leftType === silentNeverType || rightType === silentNeverType) { return silentNeverType; } - if (!isTypeAssignableToKind(leftType, 34 /* StringLike */) && !isTypeAssignableToKind(rightType, 34 /* StringLike */)) { + if (!isTypeAssignableToKind(leftType, 68 /* StringLike */) && !isTypeAssignableToKind(rightType, 68 /* StringLike */)) { leftType = checkNonNullType(leftType, left); rightType = checkNonNullType(rightType, right); } var resultType = void 0; - if (isTypeAssignableToKind(leftType, 84 /* NumberLike */, /*strict*/ true) && isTypeAssignableToKind(rightType, 84 /* NumberLike */, /*strict*/ true)) { + if (isTypeAssignableToKind(leftType, 168 /* NumberLike */, /*strict*/ true) && isTypeAssignableToKind(rightType, 168 /* NumberLike */, /*strict*/ true)) { // Operands of an enum type are treated as having the primitive type Number. // If both operands are of the Number primitive type, the result is of the Number primitive type. resultType = numberType; } - else if (isTypeAssignableToKind(leftType, 34 /* StringLike */, /*strict*/ true) || isTypeAssignableToKind(rightType, 34 /* StringLike */, /*strict*/ true)) { + else if (isTypeAssignableToKind(leftType, 68 /* StringLike */, /*strict*/ true) || isTypeAssignableToKind(rightType, 68 /* StringLike */, /*strict*/ true)) { // If one or both operands are of the String primitive type, the result is of the String primitive type. resultType = stringType; } else if (isTypeAny(leftType) || isTypeAny(rightType)) { // Otherwise, the result is of type Any. // NOTE: unknown type here denotes error type. Old compiler treated this case as any type so do we. - resultType = leftType === unknownType || rightType === unknownType ? unknownType : anyType; + resultType = leftType === errorType || rightType === errorType ? errorType : anyType; } // Symbols are not allowed at all in arithmetic expressions if (resultType && !checkForDisallowedESSymbolOperand(operator)) { @@ -45150,6 +45379,8 @@ var ts; error(left, ts.Diagnostics.Left_side_of_comma_operator_is_unused_and_has_no_side_effects); } return rightType; + default: + return ts.Debug.fail(); } function checkSpecialAssignment(left, right) { var special = ts.getSpecialPropertyAssignmentKind(left.parent); @@ -45161,7 +45392,7 @@ var ts; if (propType.symbol && propType.symbol.flags & 32 /* Class */) { var name = prop.escapedName; var symbol = resolveName(prop.valueDeclaration, name, 67901928 /* Type */, undefined, name, /*isUse*/ false); - if (symbol) { + if (symbol && symbol.declarations.some(function (d) { return d.kind === 297 /* JSDocTypedefTag */; })) { grammarErrorOnNode(symbol.declarations[0], ts.Diagnostics.Duplicate_identifier_0, ts.unescapeLeadingUnderscores(name)); return grammarErrorOnNode(prop.valueDeclaration, ts.Diagnostics.Duplicate_identifier_0, ts.unescapeLeadingUnderscores(name)); } @@ -45174,8 +45405,8 @@ var ts; } // Return true if there was no error, false if there was an error. function checkForDisallowedESSymbolOperand(operator) { - var offendingSymbolOperand = maybeTypeOfKind(leftType, 1536 /* ESSymbolLike */) ? left : - maybeTypeOfKind(rightType, 1536 /* ESSymbolLike */) ? right : + var offendingSymbolOperand = maybeTypeOfKind(leftType, 3072 /* ESSymbolLike */) ? left : + maybeTypeOfKind(rightType, 3072 /* ESSymbolLike */) ? right : undefined; if (offendingSymbolOperand) { error(offendingSymbolOperand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(operator)); @@ -45243,7 +45474,9 @@ var ts; } } var func = ts.getContainingFunction(node); - var functionFlags = func ? ts.getFunctionFlags(func) : 0 /* Normal */; + if (!func) + return anyType; + var functionFlags = ts.getFunctionFlags(func); if (!(functionFlags & 1 /* Generator */)) { // If the user's code is syntactically correct, the func should always have a star. After all, we are in a yield context. return anyType; @@ -45262,7 +45495,7 @@ var ts; } } var isAsync = (functionFlags & 2 /* Async */) !== 0; - var yieldedType = getYieldedTypeOfYieldExpression(node, isAsync); + var yieldedType = getYieldedTypeOfYieldExpression(node, isAsync); // TODO: GH#18217 // There is no point in doing an assignability check if the function // has no explicit return type because the return type is directly computed // from the yield expressions. @@ -45287,14 +45520,14 @@ var ts; // A place where we actually *are* concerned with the expressions' types are // in tagged templates. ts.forEach(node.templateSpans, function (templateSpan) { - if (maybeTypeOfKind(checkExpression(templateSpan.expression), 1536 /* ESSymbolLike */)) { + if (maybeTypeOfKind(checkExpression(templateSpan.expression), 3072 /* ESSymbolLike */)) { error(templateSpan.expression, ts.Diagnostics.Type_0_cannot_be_converted_to_type_1, typeToString(esSymbolType), typeToString(stringType)); } }); return stringType; } function getContextNode(node) { - if (node.kind === 262 /* JsxAttributes */) { + if (node.kind === 263 /* JsxAttributes */) { return node.parent.parent; // Needs to be the root JsxElement, so it encompasses the attributes _and_ the children (which are essentially part of the attributes) } return node; @@ -45330,17 +45563,16 @@ var ts; } function isTypeAssertion(node) { node = ts.skipParentheses(node); - return node.kind === 189 /* TypeAssertionExpression */ || node.kind === 207 /* AsExpression */; + return node.kind === 190 /* TypeAssertionExpression */ || node.kind === 208 /* AsExpression */; } function checkDeclarationInitializer(declaration) { - var inJs = ts.isInJavaScriptFile(declaration); - var initializer = inJs && ts.getDeclaredJavascriptInitializer(declaration) || declaration.initializer; + var initializer = ts.getEffectiveInitializer(declaration); var type = getTypeOfExpression(initializer, /*cache*/ true); var widened = ts.getCombinedNodeFlags(declaration) & 2 /* Const */ || (ts.getCombinedModifierFlags(declaration) & 64 /* Readonly */ && !ts.isParameterPropertyDeclaration(declaration)) || isTypeAssertion(initializer) ? type : getWidenedLiteralType(type); - if (inJs) { - if (widened.flags & 12288 /* Nullable */) { + if (ts.isInJavaScriptFile(declaration)) { + if (widened.flags & 24576 /* Nullable */) { if (noImplicitAny) { reportImplicitAnyError(declaration, anyType); } @@ -45355,38 +45587,28 @@ var ts; } return widened; } - function isTypeParameterWithKeyofConstraint(type) { - if (type.flags & 32768 /* TypeParameter */) { - var constraintDeclaration = getConstraintDeclaration(type); - return constraintDeclaration && constraintDeclaration.kind === 174 /* TypeOperator */ && - constraintDeclaration.operator === 128 /* KeyOfKeyword */; - } - return false; - } function isLiteralOfContextualType(candidateType, contextualType) { if (contextualType) { - if (contextualType.flags & 393216 /* UnionOrIntersection */) { + if (contextualType.flags & 786432 /* UnionOrIntersection */) { var types = contextualType.types; return ts.some(types, function (t) { return isLiteralOfContextualType(candidateType, t); }); } - if (contextualType.flags & 7372800 /* InstantiableNonPrimitive */) { + if (contextualType.flags & 14745600 /* InstantiableNonPrimitive */) { // If the contextual type is a type variable constrained to a primitive type, consider // this a literal context for literals of that primitive type. For example, given a // type parameter 'T extends string', infer string literal types for T. var constraint = getBaseConstraintOfType(contextualType) || emptyObjectType; - return isTypeParameterWithKeyofConstraint(contextualType) && maybeTypeOfKind(candidateType, 32 /* StringLiteral */ | 64 /* NumberLiteral */ | 1024 /* UniqueESSymbol */) || - constraint.flags & 2 /* String */ && maybeTypeOfKind(candidateType, 32 /* StringLiteral */) || - constraint.flags & 4 /* Number */ && maybeTypeOfKind(candidateType, 64 /* NumberLiteral */) || - constraint.flags & 8 /* Boolean */ && maybeTypeOfKind(candidateType, 128 /* BooleanLiteral */) || - constraint.flags & 512 /* ESSymbol */ && maybeTypeOfKind(candidateType, 1024 /* UniqueESSymbol */) || + return maybeTypeOfKind(constraint, 4 /* String */) && maybeTypeOfKind(candidateType, 64 /* StringLiteral */) || + maybeTypeOfKind(constraint, 8 /* Number */) && maybeTypeOfKind(candidateType, 128 /* NumberLiteral */) || + maybeTypeOfKind(constraint, 1024 /* ESSymbol */) && maybeTypeOfKind(candidateType, 2048 /* UniqueESSymbol */) || isLiteralOfContextualType(candidateType, constraint); } // If the contextual type is a literal of a particular primitive type, we consider this a // literal context for all literals of that primitive type. - return contextualType.flags & (32 /* StringLiteral */ | 524288 /* Index */) && maybeTypeOfKind(candidateType, 32 /* StringLiteral */) || - contextualType.flags & 64 /* NumberLiteral */ && maybeTypeOfKind(candidateType, 64 /* NumberLiteral */) || - contextualType.flags & 128 /* BooleanLiteral */ && maybeTypeOfKind(candidateType, 128 /* BooleanLiteral */) || - contextualType.flags & 1024 /* UniqueESSymbol */ && maybeTypeOfKind(candidateType, 1024 /* UniqueESSymbol */); + return !!(contextualType.flags & (64 /* StringLiteral */ | 1048576 /* Index */) && maybeTypeOfKind(candidateType, 64 /* StringLiteral */) || + contextualType.flags & 128 /* NumberLiteral */ && maybeTypeOfKind(candidateType, 128 /* NumberLiteral */) || + contextualType.flags & 256 /* BooleanLiteral */ && maybeTypeOfKind(candidateType, 256 /* BooleanLiteral */) || + contextualType.flags & 2048 /* UniqueESSymbol */ && maybeTypeOfKind(candidateType, 2048 /* UniqueESSymbol */)); } return false; } @@ -45402,7 +45624,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); } return checkExpressionForMutableLocation(node.initializer, checkMode); @@ -45413,7 +45635,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); } var uninstantiatedType = checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); @@ -45443,7 +45665,7 @@ var ts; function getTypeOfExpression(node, cache) { // Optimize for the common case of a call to a function with a single non-generic call // signature where we can just fetch the return type without checking the arguments. - if (node.kind === 186 /* CallExpression */ && node.expression.kind !== 97 /* SuperKeyword */ && !ts.isRequireCall(node, /*checkArgumentIsStringLiteralLike*/ true) && !isSymbolOrSymbolForCall(node)) { + if (node.kind === 187 /* CallExpression */ && node.expression.kind !== 97 /* SuperKeyword */ && !ts.isRequireCall(node, /*checkArgumentIsStringLiteralLike*/ true) && !isSymbolOrSymbolForCall(node)) { var funcType = checkNonNullExpression(node.expression); var signature = getSingleCallSignature(funcType); if (signature && !signature.typeParameters) { @@ -45478,7 +45700,7 @@ var ts; // contextually typed function and arrow expressions in the initial phase. function checkExpression(node, checkMode) { var type; - if (node.kind === 145 /* QualifiedName */) { + if (node.kind === 146 /* QualifiedName */) { type = checkQualifiedName(node); } else { @@ -45490,10 +45712,10 @@ var ts; // - 'left' in property access // - 'object' in indexed access // - target in rhs of import statement - var ok = (node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.expression === node) || - (node.parent.kind === 185 /* ElementAccessExpression */ && node.parent.expression === node) || - ((node.kind === 71 /* Identifier */ || node.kind === 145 /* QualifiedName */) && isInRightSideOfImportOrExportAssignment(node) || - (node.parent.kind === 164 /* TypeQuery */ && node.parent.exprName === node)); + var ok = (node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.expression === node) || + (node.parent.kind === 186 /* ElementAccessExpression */ && node.parent.expression === node) || + ((node.kind === 71 /* Identifier */ || node.kind === 146 /* QualifiedName */) && isInRightSideOfImportOrExportAssignment(node) || + (node.parent.kind === 165 /* TypeQuery */ && node.parent.exprName === node)); if (!ok) { error(node, ts.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query); } @@ -45527,77 +45749,77 @@ var ts; return trueType; case 86 /* FalseKeyword */: return falseType; - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return checkTemplateExpression(node); case 12 /* RegularExpressionLiteral */: return globalRegExpType; - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return checkArrayLiteral(node, checkMode); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return checkObjectLiteral(node, checkMode); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return checkPropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return checkIndexedAccess(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (node.expression.kind === 91 /* ImportKeyword */) { return checkImportCallExpression(node); } /* falls through */ - case 187 /* NewExpression */: + case 188 /* NewExpression */: return checkCallExpression(node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return checkTaggedTemplateExpression(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return checkParenthesizedExpression(node, checkMode); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return checkClassExpression(node); - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); - case 194 /* TypeOfExpression */: + case 195 /* TypeOfExpression */: return checkTypeOfExpression(node); - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: return checkAssertion(node); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: return checkNonNullAssertion(node); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return checkMetaProperty(node); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return checkDeleteExpression(node); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return checkVoidExpression(node); - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return checkAwaitExpression(node); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return checkPrefixUnaryExpression(node); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return checkPostfixUnaryExpression(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return checkBinaryExpression(node, checkMode); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return checkConditionalExpression(node, checkMode); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return checkSpreadExpression(node, checkMode); - case 205 /* OmittedExpression */: + case 206 /* OmittedExpression */: return undefinedWideningType; - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return checkYieldExpression(node); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return checkJsxExpression(node, checkMode); - case 254 /* JsxElement */: + case 255 /* JsxElement */: return checkJsxElement(node, checkMode); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return checkJsxSelfClosingElement(node, checkMode); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return checkJsxFragment(node, checkMode); - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return checkJsxAttributes(node, checkMode); - case 256 /* JsxOpeningElement */: + case 257 /* JsxOpeningElement */: ts.Debug.fail("Shouldn't ever directly check a JsxOpeningElement"); } - return unknownType; + return errorType; } // DECLARATION AND STATEMENT TYPE CHECKING function checkTypeParameter(node) { @@ -45632,7 +45854,7 @@ var ts; checkVariableLikeDeclaration(node); var func = ts.getContainingFunction(node); if (ts.hasModifier(node, 92 /* ParameterPropertyModifier */)) { - if (!(func.kind === 154 /* Constructor */ && ts.nodeIsPresent(func.body))) { + if (!(func.kind === 155 /* Constructor */ && ts.nodeIsPresent(func.body))) { error(node, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); } } @@ -45643,7 +45865,7 @@ var ts; if (func.parameters.indexOf(node) !== 0) { error(node, ts.Diagnostics.A_0_parameter_must_be_the_first_parameter, node.name.escapedText); } - if (func.kind === 154 /* Constructor */ || func.kind === 158 /* ConstructSignature */ || func.kind === 163 /* ConstructorType */) { + if (func.kind === 155 /* Constructor */ || func.kind === 159 /* ConstructSignature */ || func.kind === 164 /* ConstructorType */) { error(node, ts.Diagnostics.A_constructor_cannot_have_a_this_parameter); } } @@ -45687,7 +45909,8 @@ var ts; } else { var leadingError = function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type); }; - checkTypeAssignableTo(typePredicate.type, getTypeOfNode(parent.parameters[typePredicate.parameterIndex]), node.type, + checkTypeAssignableTo(typePredicate.type, getTypeOfNode(parent.parameters[typePredicate.parameterIndex]), // TODO: GH#18217 + node.type, /*headMessage*/ undefined, leadingError); } } @@ -45709,13 +45932,13 @@ var ts; } function getTypePredicateParent(node) { switch (node.parent.kind) { - case 192 /* ArrowFunction */: - case 157 /* CallSignature */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 162 /* FunctionType */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 193 /* ArrowFunction */: + case 158 /* CallSignature */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 163 /* FunctionType */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: var parent = node.parent; if (node === parent.type) { return parent; @@ -45733,7 +45956,7 @@ var ts; error(predicateVariableNode, ts.Diagnostics.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern, predicateVariableName); return true; } - else if (name.kind === 180 /* ArrayBindingPattern */ || name.kind === 179 /* ObjectBindingPattern */) { + else if (name.kind === 181 /* ArrayBindingPattern */ || name.kind === 180 /* ObjectBindingPattern */) { if (checkIfTypePredicateVariableIsDeclaredInBindingPattern(name, predicateVariableNode, predicateVariableName)) { return true; } @@ -45742,13 +45965,13 @@ var ts; } function checkSignatureDeclaration(node) { // Grammar checking - if (node.kind === 159 /* IndexSignature */) { + if (node.kind === 160 /* IndexSignature */) { checkGrammarIndexSignature(node); } // TODO (yuisu): Remove this check in else-if when SyntaxKind.Construct is moved and ambient context is handled - else if (node.kind === 162 /* FunctionType */ || node.kind === 233 /* FunctionDeclaration */ || node.kind === 163 /* ConstructorType */ || - node.kind === 157 /* CallSignature */ || node.kind === 154 /* Constructor */ || - node.kind === 158 /* ConstructSignature */) { + else if (node.kind === 163 /* FunctionType */ || node.kind === 234 /* FunctionDeclaration */ || node.kind === 164 /* ConstructorType */ || + node.kind === 158 /* CallSignature */ || node.kind === 155 /* Constructor */ || + node.kind === 159 /* ConstructSignature */) { checkGrammarFunctionLikeDeclaration(node); } var functionFlags = ts.getFunctionFlags(node); @@ -45778,10 +46001,10 @@ var ts; var returnTypeNode = ts.getEffectiveReturnTypeNode(node); if (noImplicitAny && !returnTypeNode) { switch (node.kind) { - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: error(node, ts.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; - case 157 /* CallSignature */: + case 158 /* CallSignature */: error(node, ts.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; } @@ -45811,7 +46034,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (node.kind !== 159 /* IndexSignature */ && node.kind !== 283 /* JSDocFunctionType */) { + if (node.kind !== 160 /* IndexSignature */ && node.kind !== 284 /* JSDocFunctionType */) { registerForUnusedIdentifiersCheck(node); } } @@ -45828,7 +46051,7 @@ var ts; var staticNames = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 154 /* Constructor */) { + if (member.kind === 155 /* Constructor */) { for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var param = _c[_b]; if (ts.isParameterPropertyDeclaration(param) && !ts.isBindingPattern(param.name)) { @@ -45839,20 +46062,21 @@ var ts; else { var isStatic = ts.hasModifier(member, 32 /* Static */); var names = isStatic ? staticNames : instanceNames; - var memberName = member.name && ts.getPropertyNameForPropertyNameNode(member.name); - if (memberName) { + var name = member.name; + var memberName = name && ts.getPropertyNameForPropertyNameNode(name); + if (name && memberName) { switch (member.kind) { - case 155 /* GetAccessor */: - addName(names, member.name, memberName, 1 /* Getter */); + case 156 /* GetAccessor */: + addName(names, name, memberName, 1 /* Getter */); break; - case 156 /* SetAccessor */: - addName(names, member.name, memberName, 2 /* Setter */); + case 157 /* SetAccessor */: + addName(names, name, memberName, 2 /* Setter */); break; - case 151 /* PropertyDeclaration */: - addName(names, member.name, memberName, 3 /* Property */); + case 152 /* PropertyDeclaration */: + addName(names, name, memberName, 3 /* Property */); break; - case 153 /* MethodDeclaration */: - addName(names, member.name, memberName, 4 /* Method */); + case 154 /* MethodDeclaration */: + addName(names, name, memberName, 4 /* Method */); break; } } @@ -45914,15 +46138,16 @@ var ts; var names = ts.createMap(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 150 /* PropertySignature */) { + if (member.kind === 151 /* PropertySignature */) { var memberName = void 0; - switch (member.name.kind) { + var name = member.name; + switch (name.kind) { case 9 /* StringLiteral */: case 8 /* NumericLiteral */: - memberName = member.name.text; + memberName = name.text; break; case 71 /* Identifier */: - memberName = ts.idText(member.name); + memberName = ts.idText(name); break; default: continue; @@ -45938,7 +46163,7 @@ var ts; } } function checkTypeForDuplicateIndexSignatures(node) { - if (node.kind === 235 /* InterfaceDeclaration */) { + if (node.kind === 236 /* InterfaceDeclaration */) { var nodeSymbol = getSymbolOfNode(node); // in case of merging interface declaration it is possible that we'll enter this check procedure several times for every declaration // to prevent this run check only for the first declaration of a given kind @@ -45993,7 +46218,7 @@ var ts; checkFunctionOrMethodDeclaration(node); // Abstract methods cannot have an implementation. // Extra checks are to avoid reporting multiple errors relating to the "abstractness" of the node. - if (ts.hasModifier(node, 128 /* Abstract */) && node.kind === 153 /* MethodDeclaration */ && node.body) { + if (ts.hasModifier(node, 128 /* Abstract */) && node.kind === 154 /* MethodDeclaration */ && node.body) { error(node, ts.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract, ts.declarationNameToString(node.name)); } } @@ -46018,7 +46243,7 @@ var ts; return; } function isInstancePropertyWithInitializer(n) { - return n.kind === 151 /* PropertyDeclaration */ && + return n.kind === 152 /* PropertyDeclaration */ && !ts.hasModifier(n, 32 /* Static */) && !!n.initializer; } @@ -46048,7 +46273,7 @@ var ts; var superCallStatement = void 0; for (var _i = 0, statements_2 = statements; _i < statements_2.length; _i++) { var statement = statements_2[_i]; - if (statement.kind === 215 /* ExpressionStatement */ && ts.isSuperCall(statement.expression)) { + if (statement.kind === 216 /* ExpressionStatement */ && ts.isSuperCall(statement.expression)) { superCallStatement = statement; break; } @@ -46073,7 +46298,7 @@ var ts; checkGrammarComputedPropertyName(node.name); checkDecorators(node); checkSignatureDeclaration(node); - if (node.kind === 155 /* GetAccessor */) { + if (node.kind === 156 /* GetAccessor */) { if (!(node.flags & 4194304 /* Ambient */) && ts.nodeIsPresent(node.body) && (node.flags & 128 /* HasImplicitReturn */)) { if (!(node.flags & 256 /* HasExplicitReturn */)) { error(node.name, ts.Diagnostics.A_get_accessor_must_return_a_value); @@ -46083,13 +46308,13 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); } if (!hasNonBindableDynamicName(node)) { // TypeScript 1.0 spec (April 2014): 8.4.3 // Accessors for the same member name must specify the same accessibility. - var otherKind = node.kind === 155 /* GetAccessor */ ? 156 /* SetAccessor */ : 155 /* GetAccessor */; + var otherKind = node.kind === 156 /* GetAccessor */ ? 157 /* SetAccessor */ : 156 /* GetAccessor */; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(node), otherKind); if (otherAccessor) { var nodeFlags = ts.getModifierFlags(node); @@ -46107,7 +46332,7 @@ var ts; } } var returnType = getTypeOfAccessors(getSymbolOfNode(node)); - if (node.kind === 155 /* GetAccessor */) { + if (node.kind === 156 /* GetAccessor */) { checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnType); } } @@ -46144,7 +46369,7 @@ var ts; } function getTypeParametersForTypeReference(node) { var type = getTypeFromTypeReference(node); - if (type !== unknownType) { + if (type !== errorType) { var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { return symbol.flags & 524288 /* TypeAlias */ && getSymbolLinks(symbol).typeParameters || @@ -46155,11 +46380,11 @@ var ts; } function checkTypeReferenceNode(node) { checkGrammarTypeArguments(node, node.typeArguments); - if (node.kind === 161 /* TypeReference */ && node.typeName.jsdocDotPos !== undefined && !ts.isInJavaScriptFile(node) && !ts.isInJSDoc(node)) { + if (node.kind === 162 /* TypeReference */ && node.typeName.jsdocDotPos !== undefined && !ts.isInJavaScriptFile(node) && !ts.isInJSDoc(node)) { grammarErrorAtPos(node, node.typeName.jsdocDotPos, 1, ts.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments); } var type = getTypeFromTypeReference(node); - if (type !== unknownType) { + if (type !== errorType) { if (node.typeArguments) { // Do type argument local checks only if referenced type is successfully resolved ts.forEach(node.typeArguments, checkSourceElement); @@ -46170,7 +46395,7 @@ var ts; } } } - if (type.flags & 16 /* Enum */ && getNodeLinks(node).resolvedSymbol.flags & 8 /* EnumMember */) { + if (type.flags & 32 /* Enum */ && getNodeLinks(node).resolvedSymbol.flags & 8 /* EnumMember */) { error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type)); } } @@ -46179,7 +46404,7 @@ var ts; var typeReferenceNode = ts.tryCast(node.parent, ts.isTypeReferenceType); if (!typeReferenceNode) return undefined; - var typeParameters = getTypeParametersForTypeReference(typeReferenceNode); + var typeParameters = getTypeParametersForTypeReference(typeReferenceNode); // TODO: GH#18217 var constraint = getConstraintOfTypeParameter(typeParameters[typeReferenceNode.typeArguments.indexOf(node)]); return constraint && instantiateType(constraint, createTypeMapper(typeParameters, getEffectiveTypeArguments(typeReferenceNode, typeParameters))); } @@ -46210,14 +46435,14 @@ var ts; ts.forEach(node.types, checkSourceElement); } function checkIndexedAccessIndexType(type, accessNode) { - if (!(type.flags & 1048576 /* IndexedAccess */)) { + if (!(type.flags & 2097152 /* IndexedAccess */)) { return type; } // Check if the index type is assignable to 'keyof T' for the object type. var objectType = type.objectType; var indexType = type.indexType; if (isTypeAssignableTo(indexType, getIndexType(objectType, /*stringsOnly*/ false))) { - if (accessNode.kind === 185 /* ElementAccessExpression */ && ts.isAssignmentTarget(accessNode) && + if (accessNode.kind === 186 /* ElementAccessExpression */ && ts.isAssignmentTarget(accessNode) && ts.getObjectFlags(objectType) & 32 /* Mapped */ && getMappedTypeModifiers(objectType) & 1 /* IncludeReadonly */) { error(accessNode, ts.Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(objectType)); } @@ -46225,7 +46450,7 @@ var ts; } // Check if we're indexing with a numeric type and if either object or index types // is a generic type with a constraint that has a numeric index signature. - if (getIndexInfoOfType(getApparentType(objectType), 1 /* Number */) && isTypeAssignableToKind(indexType, 84 /* NumberLike */)) { + if (getIndexInfoOfType(getApparentType(objectType), 1 /* Number */) && isTypeAssignableToKind(indexType, 168 /* NumberLike */)) { return type; } error(accessNode, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(indexType), typeToString(objectType)); @@ -46254,7 +46479,7 @@ var ts; ts.forEachChild(node, checkSourceElement); } function checkInferType(node) { - if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 170 /* ConditionalType */ && n.parent.extendsType === n; })) { + if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 171 /* ConditionalType */ && n.parent.extendsType === n; })) { grammarErrorOnNode(node, ts.Diagnostics.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type); } checkSourceElement(node.typeParameter); @@ -46270,9 +46495,9 @@ var ts; var flags = ts.getCombinedModifierFlags(n); // children of classes (even ambient classes) should not be marked as ambient or export // because those flags have no useful semantics there. - if (n.parent.kind !== 235 /* InterfaceDeclaration */ && - n.parent.kind !== 234 /* ClassDeclaration */ && - n.parent.kind !== 204 /* ClassExpression */ && + if (n.parent.kind !== 236 /* InterfaceDeclaration */ && + n.parent.kind !== 235 /* ClassDeclaration */ && + n.parent.kind !== 205 /* ClassExpression */ && n.flags & 4194304 /* Ambient */) { if (!(flags & 2 /* Ambient */) && !(ts.isModuleBlock(n.parent) && ts.isModuleDeclaration(n.parent.parent) && ts.isGlobalScopeAugmentation(n.parent.parent))) { // It is nested in an ambient context, which means it is automatically exported @@ -46363,7 +46588,7 @@ var ts; if (node.name && subsequentName && (ts.isComputedPropertyName(node.name) && ts.isComputedPropertyName(subsequentName) || !ts.isComputedPropertyName(node.name) && !ts.isComputedPropertyName(subsequentName) && ts.getEscapedTextOfIdentifierOrLiteral(node.name) === ts.getEscapedTextOfIdentifierOrLiteral(subsequentName))) { - var reportError = (node.kind === 153 /* MethodDeclaration */ || node.kind === 152 /* MethodSignature */) && + var reportError = (node.kind === 154 /* MethodDeclaration */ || node.kind === 153 /* MethodSignature */) && ts.hasModifier(node, 32 /* Static */) !== ts.hasModifier(subsequentNode, 32 /* Static */); // we can get here in two cases // 1. mixed static and instance class members @@ -46402,7 +46627,7 @@ var ts; var current = declarations_4[_i]; var node = current; var inAmbientContext = node.flags & 4194304 /* Ambient */; - var inAmbientContextOrInterface = node.parent.kind === 235 /* InterfaceDeclaration */ || node.parent.kind === 165 /* TypeLiteral */ || inAmbientContext; + var inAmbientContextOrInterface = node.parent.kind === 236 /* InterfaceDeclaration */ || node.parent.kind === 166 /* TypeLiteral */ || inAmbientContext; if (inAmbientContextOrInterface) { // check if declarations are consecutive only if they are non-ambient // 1. ambient declarations can be interleaved @@ -46413,7 +46638,7 @@ var ts; // 2. mixing ambient and non-ambient declarations is a separate error that will be reported - do not want to report an extra one previousDeclaration = undefined; } - if (node.kind === 233 /* FunctionDeclaration */ || node.kind === 153 /* MethodDeclaration */ || node.kind === 152 /* MethodSignature */ || node.kind === 154 /* Constructor */) { + if (node.kind === 234 /* FunctionDeclaration */ || node.kind === 154 /* MethodDeclaration */ || node.kind === 153 /* MethodSignature */ || node.kind === 155 /* Constructor */) { var currentNodeFlags = getEffectiveDeclarationFlags(node, flagsToCheck); someNodeFlags |= currentNodeFlags; allNodeFlags &= currentNodeFlags; @@ -46542,22 +46767,22 @@ var ts; function getDeclarationSpaces(decl) { var d = decl; switch (d.kind) { - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: // A jsdoc typedef and callback are, by definition, type aliases - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: return 2 /* ExportType */; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return ts.isAmbientModule(d) || ts.getModuleInstanceState(d) !== 0 /* NonInstantiated */ ? 4 /* ExportNamespace */ | 1 /* ExportValue */ : 4 /* ExportNamespace */; - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: return 2 /* ExportType */ | 1 /* ExportValue */; - case 273 /* SourceFile */: + case 274 /* SourceFile */: return 2 /* ExportType */ | 1 /* ExportValue */ | 4 /* ExportNamespace */; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: // Export assigned entity name expressions act as aliases and should fall through, otherwise they export values if (!ts.isEntityNameExpression(d.expression)) { return 1 /* ExportValue */; @@ -46565,20 +46790,20 @@ var ts; d = d.expression; /* falls through */ // The below options all declare an Alias, which is allowed to merge with other values within the importing module - case 242 /* ImportEqualsDeclaration */: - case 245 /* NamespaceImport */: - case 244 /* ImportClause */: + case 243 /* ImportEqualsDeclaration */: + case 246 /* NamespaceImport */: + case 245 /* ImportClause */: var result_3 = 0 /* None */; var target = resolveAlias(getSymbolOfNode(d)); ts.forEach(target.declarations, function (d) { result_3 |= getDeclarationSpaces(d); }); return result_3; - case 231 /* VariableDeclaration */: - case 181 /* BindingElement */: - case 233 /* FunctionDeclaration */: - case 247 /* ImportSpecifier */: // https://github.com/Microsoft/TypeScript/pull/7591 + case 232 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 234 /* FunctionDeclaration */: + case 248 /* ImportSpecifier */: // https://github.com/Microsoft/TypeScript/pull/7591 return 1 /* ExportValue */; default: - ts.Debug.fail(ts.Debug.showSyntaxKind(d)); + return ts.Debug.fail(ts.Debug.showSyntaxKind(d)); } } } @@ -46611,7 +46836,7 @@ var ts; if (isReferenceToType(promise, getGlobalPromiseType(/*reportErrors*/ false))) { return typeAsPromise.promisedTypeOfPromise = promise.typeArguments[0]; } - var thenFunction = getTypeOfPropertyOfType(promise, "then"); + var thenFunction = getTypeOfPropertyOfType(promise, "then"); // TODO: GH#18217 if (isTypeAny(thenFunction)) { return undefined; } @@ -46643,7 +46868,7 @@ var ts; * The runtime behavior of the `await` keyword. */ function checkAwaitedType(type, errorNode, diagnosticMessage) { - return getAwaitedType(type, errorNode, diagnosticMessage) || unknownType; + return getAwaitedType(type, errorNode, diagnosticMessage) || errorType; } function getAwaitedType(type, errorNode, diagnosticMessage) { var typeAsAwaitable = type; @@ -46653,7 +46878,7 @@ var ts; if (isTypeAny(type)) { return typeAsAwaitable.awaitedTypeOfType = type; } - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { var types = void 0; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var constituentType = _a[_i]; @@ -46732,7 +46957,8 @@ var ts; var thenFunction = getTypeOfPropertyOfType(type, "then"); if (thenFunction && getSignaturesOfType(thenFunction, 0 /* Call */).length > 0) { if (errorNode) { - ts.Debug.assert(!!diagnosticMessage); + if (!diagnosticMessage) + return ts.Debug.fail(); error(errorNode, diagnosticMessage); } return undefined; @@ -46777,58 +47003,58 @@ var ts; // then(...): Promise; // } // - var returnTypeNode = ts.getEffectiveReturnTypeNode(node); + var returnTypeNode = ts.getEffectiveReturnTypeNode(node); // TODO: GH#18217 var returnType = getTypeFromTypeNode(returnTypeNode); if (languageVersion >= 2 /* ES2015 */) { - if (returnType === unknownType) { - return unknownType; + if (returnType === errorType) { + return errorType; } var globalPromiseType = getGlobalPromiseType(/*reportErrors*/ true); if (globalPromiseType !== emptyGenericType && !isReferenceToType(returnType, globalPromiseType)) { // The promise type was not a valid type reference to the global promise type, so we // report an error and return the unknown type. error(returnTypeNode, ts.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type); - return unknownType; + return errorType; } } else { // Always mark the type node as referenced if it points to a value markTypeNodeAsReferenced(returnTypeNode); - if (returnType === unknownType) { - return unknownType; + if (returnType === errorType) { + return errorType; } var promiseConstructorName = ts.getEntityNameFromTypeNode(returnTypeNode); if (promiseConstructorName === undefined) { error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, typeToString(returnType)); - return unknownType; + return errorType; } var promiseConstructorSymbol = resolveEntityName(promiseConstructorName, 67216319 /* Value */, /*ignoreErrors*/ true); - var promiseConstructorType = promiseConstructorSymbol ? getTypeOfSymbol(promiseConstructorSymbol) : unknownType; - if (promiseConstructorType === unknownType) { + var promiseConstructorType = promiseConstructorSymbol ? getTypeOfSymbol(promiseConstructorSymbol) : errorType; + if (promiseConstructorType === errorType) { if (promiseConstructorName.kind === 71 /* Identifier */ && promiseConstructorName.escapedText === "Promise" && getTargetType(returnType) === getGlobalPromiseType(/*reportErrors*/ false)) { error(returnTypeNode, ts.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option); } else { error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, ts.entityNameToString(promiseConstructorName)); } - return unknownType; + return errorType; } var globalPromiseConstructorLikeType = getGlobalPromiseConstructorLikeType(/*reportErrors*/ true); if (globalPromiseConstructorLikeType === emptyObjectType) { // If we couldn't resolve the global PromiseConstructorLike type we cannot verify // compatibility with __awaiter. error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, ts.entityNameToString(promiseConstructorName)); - return unknownType; + return errorType; } if (!checkTypeAssignableTo(promiseConstructorType, globalPromiseConstructorLikeType, returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value)) { - return unknownType; + return errorType; } // Verify there is no local declaration that could collide with the promise constructor. var rootName = promiseConstructorName && getFirstIdentifier(promiseConstructorName); var collidingSymbol = getSymbol(node.locals, rootName.escapedText, 67216319 /* Value */); if (collidingSymbol) { error(collidingSymbol.valueDeclaration, ts.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions, ts.idText(rootName), ts.entityNameToString(promiseConstructorName)); - return unknownType; + return errorType; } } // Get and return the awaited type of the return type. @@ -46845,26 +47071,30 @@ var ts; var headMessage = getDiagnosticHeadMessageForDecoratorResolution(node); var errorInfo; switch (node.parent.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: var classSymbol = getSymbolOfNode(node.parent); var classConstructorType = getTypeOfSymbol(classSymbol); expectedReturnType = getUnionType([classConstructorType, voidType]); break; - case 148 /* Parameter */: + case 149 /* Parameter */: expectedReturnType = voidType; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any); + errorInfo = ts.chainDiagnosticMessages( + /*details*/ undefined, ts.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any); break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: expectedReturnType = voidType; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any); + errorInfo = ts.chainDiagnosticMessages( + /*details*/ undefined, ts.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any); break; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - var methodType = getTypeOfNode(node.parent); + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + var methodType = getTypeOfNode(node.parent); // TODO: GH#18217 var descriptorType = createTypedPropertyDescriptorType(methodType); expectedReturnType = getUnionType([descriptorType, voidType]); break; + default: + return ts.Debug.fail(); } checkTypeAssignableTo(returnType, expectedReturnType, node, headMessage, function () { return errorInfo; }); } @@ -46904,12 +47134,12 @@ var ts; function getEntityNameForDecoratorMetadata(node) { if (node) { switch (node.kind) { - case 169 /* IntersectionType */: - case 168 /* UnionType */: + case 170 /* IntersectionType */: + case 169 /* UnionType */: var commonEntityName = void 0; for (var _i = 0, _a = node.types; _i < _a.length; _i++) { var typeNode = _a[_i]; - while (typeNode.kind === 172 /* ParenthesizedType */) { + while (typeNode.kind === 173 /* ParenthesizedType */) { typeNode = typeNode.type; // Skip parens if need be } if (typeNode.kind === 131 /* NeverKeyword */) { @@ -46941,9 +47171,9 @@ var ts; } } return commonEntityName; - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return getEntityNameForDecoratorMetadata(node.type); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return node.typeName; } } @@ -46967,14 +47197,14 @@ var ts; } var firstDecorator = node.decorators[0]; checkExternalEmitHelpers(firstDecorator, 8 /* Decorate */); - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { checkExternalEmitHelpers(firstDecorator, 32 /* Param */); } if (compilerOptions.emitDecoratorMetadata) { checkExternalEmitHelpers(firstDecorator, 16 /* Metadata */); // we only need to perform these checks if we are emitting serialized type metadata for the target of a decorator. switch (node.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: var constructor = ts.getFirstConstructorWithBody(node); if (constructor) { for (var _i = 0, _a = constructor.parameters; _i < _a.length; _i++) { @@ -46983,19 +47213,19 @@ var ts; } } break; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: for (var _b = 0, _c = node.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); } markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveReturnTypeNode(node)); break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveTypeAnnotationNode(node)); break; - case 148 /* Parameter */: + case 149 /* Parameter */: markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(node)); var containingSignature = node.parent; for (var _d = 0, _e = containingSignature.parameters; _d < _e.length; _d++) { @@ -47038,12 +47268,12 @@ var ts; return; } if (!containsArgumentsReference(decl)) { - error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(node.name.kind === 145 /* QualifiedName */ ? node.name.right : node.name)); + error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(node.name.kind === 146 /* QualifiedName */ ? node.name.right : node.name)); } else if (ts.findLast(ts.getJSDocTags(decl), ts.isJSDocParameterTag) === node && node.typeExpression && node.typeExpression.type && !isArrayType(getTypeFromTypeNode(node.typeExpression.type))) { - error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, ts.idText(node.name.kind === 145 /* QualifiedName */ ? node.name.right : node.name)); + error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, ts.idText(node.name.kind === 146 /* QualifiedName */ ? node.name.right : node.name)); } } } @@ -47072,7 +47302,7 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return node; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return node.name; default: return undefined; @@ -47085,7 +47315,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name && node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name && node.name.kind === 147 /* ComputedPropertyName */) { // This check will account for methods in class/interface declarations, // as well as accessors in classes/object literals checkComputedPropertyName(node.name); @@ -47114,7 +47344,7 @@ var ts; } } } - var body = node.kind === 152 /* MethodSignature */ ? undefined : node.body; + var body = node.kind === 153 /* MethodSignature */ ? undefined : node.body; checkSourceElement(body); var returnTypeNode = ts.getEffectiveReturnTypeNode(node); if ((functionFlags & 1 /* Generator */) === 0) { // Async function or normal function @@ -47155,41 +47385,41 @@ var ts; for (var _i = 0, potentiallyUnusedIdentifiers_1 = potentiallyUnusedIdentifiers; _i < potentiallyUnusedIdentifiers_1.length; _i++) { var node = potentiallyUnusedIdentifiers_1[_i]; switch (node.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: checkUnusedClassMembers(node, addDiagnostic); checkUnusedTypeParameters(node, addDiagnostic); break; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: checkUnusedTypeParameters(node, addDiagnostic); break; - case 273 /* SourceFile */: - case 238 /* ModuleDeclaration */: - case 212 /* Block */: - case 240 /* CaseBlock */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 274 /* SourceFile */: + case 239 /* ModuleDeclaration */: + case 213 /* Block */: + case 241 /* CaseBlock */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: checkUnusedLocalsAndParameters(node, addDiagnostic); break; - case 154 /* Constructor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 155 /* Constructor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: if (node.body) { checkUnusedLocalsAndParameters(node, addDiagnostic); } checkUnusedTypeParameters(node, addDiagnostic); break; - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 236 /* TypeAliasDeclaration */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 237 /* TypeAliasDeclaration */: checkUnusedTypeParameters(node, addDiagnostic); break; default: @@ -47199,15 +47429,8 @@ var ts; } function errorUnusedLocal(declaration, name, addDiagnostic) { var node = ts.getNameOfDeclaration(declaration) || declaration; - if (isIdentifierThatStartsWithUnderScore(node)) { - var declaration_2 = ts.getRootDeclaration(node.parent); - if ((declaration_2.kind === 231 /* VariableDeclaration */ && ts.isForInOrOfStatement(declaration_2.parent.parent)) || - declaration_2.kind === 147 /* TypeParameter */) { - return; - } - } var message = isTypeDeclaration(declaration) ? ts.Diagnostics._0_is_declared_but_never_used : ts.Diagnostics._0_is_declared_but_its_value_is_never_read; - addDiagnostic(0 /* Local */, ts.createDiagnosticForNodeSpan(ts.getSourceFileOfNode(declaration), declaration, node, message, name)); + addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(node, message, name)); } function parameterNameStartsWithUnderscore(parameterName) { return parameterName && isIdentifierThatStartsWithUnderScore(parameterName); @@ -47220,11 +47443,11 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 153 /* MethodDeclaration */: - case 151 /* PropertyDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - if (member.kind === 156 /* SetAccessor */ && member.symbol.flags & 32768 /* GetAccessor */) { + case 154 /* MethodDeclaration */: + case 152 /* PropertyDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + if (member.kind === 157 /* SetAccessor */ && member.symbol.flags & 32768 /* GetAccessor */) { // Already would have reported an error on the getter. break; } @@ -47233,7 +47456,7 @@ var ts; addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(member.name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, symbolToString(symbol))); } break; - case 154 /* Constructor */: + case 155 /* Constructor */: for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; if (!parameter.symbol.isReferenced && ts.hasModifier(parameter, 8 /* Private */)) { @@ -47241,8 +47464,8 @@ var ts; } } break; - case 159 /* IndexSignature */: - case 211 /* SemicolonClassElement */: + case 160 /* IndexSignature */: + case 212 /* SemicolonClassElement */: // Can't be private break; default: @@ -47283,6 +47506,7 @@ var ts; // Ideally we could use the ImportClause directly as a key, but must wait until we have full ES6 maps. So must store key along with value. var unusedImports = ts.createMap(); var unusedDestructures = ts.createMap(); + var unusedVariables = ts.createMap(); nodeWithLocals.locals.forEach(function (local) { // If it's purely a type parameter, ignore, will be checked in `checkUnusedTypeParameters`. // If it's a type parameter merged with a parameter, check if the parameter-side is used. @@ -47303,6 +47527,11 @@ var ts; addToGroup(unusedDestructures, declaration.parent, declaration, getNodeId); } } + else if (ts.isVariableDeclaration(declaration)) { + if (!isIdentifierThatStartsWithUnderScore(declaration.name) || !ts.isForInOrOfStatement(declaration.parent.parent)) { + addToGroup(unusedVariables, declaration.parent, declaration, getNodeId); + } + } else { var parameter = local.valueDeclaration && tryGetRootParameterDeclaration(local.valueDeclaration); if (parameter) { @@ -47320,50 +47549,77 @@ var ts; unusedImports.forEach(function (_a) { var importClause = _a[0], unuseds = _a[1]; var importDecl = importClause.parent; - if (forEachImportedDeclaration(importClause, function (d) { return !ts.contains(unuseds, d); })) { + var nDeclarations = (importClause.name ? 1 : 0) + + (importClause.namedBindings ? + (importClause.namedBindings.kind === 246 /* NamespaceImport */ ? 1 : importClause.namedBindings.elements.length) + : 0); + if (nDeclarations === unuseds.length) { + addDiagnostic(0 /* Local */, unuseds.length === 1 + ? ts.createDiagnosticForNode(importDecl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.first(unuseds).name)) + : ts.createDiagnosticForNode(importDecl, ts.Diagnostics.All_imports_in_import_declaration_are_unused)); + } + else { for (var _i = 0, unuseds_1 = unuseds; _i < unuseds_1.length; _i++) { var unused = unuseds_1[_i]; errorUnusedLocal(unused, ts.idText(unused.name), addDiagnostic); } } - else if (unuseds.length === 1) { - addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(importDecl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.first(unuseds).name))); - } - else { - addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(importDecl, ts.Diagnostics.All_imports_in_import_declaration_are_unused)); - } }); unusedDestructures.forEach(function (_a) { var bindingPattern = _a[0], bindingElements = _a[1]; var kind = tryGetRootParameterDeclaration(bindingPattern.parent) ? 1 /* Parameter */ : 0 /* Local */; - if (!bindingPattern.elements.every(function (e) { return ts.contains(bindingElements, e); })) { + if (bindingPattern.elements.length === bindingElements.length) { + if (bindingElements.length === 1 && bindingPattern.parent.kind === 232 /* VariableDeclaration */ && bindingPattern.parent.parent.kind === 233 /* VariableDeclarationList */) { + addToGroup(unusedVariables, bindingPattern.parent.parent, bindingPattern.parent, getNodeId); + } + else { + addDiagnostic(kind, bindingElements.length === 1 + ? ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(ts.first(bindingElements).name, ts.isIdentifier))) + : ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics.All_destructured_elements_are_unused)); + } + } + else { for (var _i = 0, bindingElements_1 = bindingElements; _i < bindingElements_1.length; _i++) { var e = bindingElements_1[_i]; addDiagnostic(kind, ts.createDiagnosticForNode(e, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(e.name, ts.isIdentifier)))); } } - else if (bindingElements.length === 1) { - addDiagnostic(kind, ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(ts.first(bindingElements).name, ts.isIdentifier)))); + }); + unusedVariables.forEach(function (_a) { + var declarationList = _a[0], declarations = _a[1]; + if (declarationList.declarations.length === declarations.length) { + addDiagnostic(0 /* Local */, declarations.length === 1 + ? ts.createDiagnosticForNode(ts.first(declarations).name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, bindingNameText(ts.first(declarations).name)) + : ts.createDiagnosticForNode(declarationList.parent.kind === 214 /* VariableStatement */ ? declarationList.parent : declarationList, ts.Diagnostics.All_variables_are_unused)); } else { - addDiagnostic(kind, ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics.All_destructured_elements_are_unused)); + for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { + var decl = declarations_5[_i]; + addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(decl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(decl.name, ts.isIdentifier)))); + } } }); } + function bindingNameText(name) { + switch (name.kind) { + case 71 /* Identifier */: + return ts.idText(name); + case 181 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + return bindingNameText(ts.cast(ts.first(name.elements), ts.isBindingElement).name); + default: + return ts.Debug.assertNever(name); + } + } function isImportedDeclaration(node) { - return node.kind === 244 /* ImportClause */ || node.kind === 247 /* ImportSpecifier */ || node.kind === 245 /* NamespaceImport */; + return node.kind === 245 /* ImportClause */ || node.kind === 248 /* ImportSpecifier */ || node.kind === 246 /* NamespaceImport */; } function importClauseFromImported(decl) { - return decl.kind === 244 /* ImportClause */ ? decl : decl.kind === 245 /* NamespaceImport */ ? decl.parent : decl.parent.parent; - } - function forEachImportedDeclaration(importClause, cb) { - var defaultName = importClause.name, namedBindings = importClause.namedBindings; - return (defaultName && cb(importClause)) || - namedBindings && (namedBindings.kind === 245 /* NamespaceImport */ ? cb(namedBindings) : ts.forEach(namedBindings.elements, cb)); + return decl.kind === 245 /* ImportClause */ ? decl : decl.kind === 246 /* NamespaceImport */ ? decl.parent : decl.parent.parent; } function checkBlock(node) { // Grammar checking for SyntaxKind.Block - if (node.kind === 212 /* Block */) { + if (node.kind === 213 /* Block */) { checkGrammarStatementInAmbientContext(node); } if (ts.isFunctionOrModuleBlock(node)) { @@ -47393,12 +47649,12 @@ var ts; if (!(identifier && identifier.escapedText === name)) { return false; } - if (node.kind === 151 /* PropertyDeclaration */ || - node.kind === 150 /* PropertySignature */ || - node.kind === 153 /* MethodDeclaration */ || - node.kind === 152 /* MethodSignature */ || - node.kind === 155 /* GetAccessor */ || - node.kind === 156 /* SetAccessor */) { + if (node.kind === 152 /* PropertyDeclaration */ || + node.kind === 151 /* PropertySignature */ || + node.kind === 154 /* MethodDeclaration */ || + node.kind === 153 /* MethodSignature */ || + node.kind === 156 /* GetAccessor */ || + node.kind === 157 /* SetAccessor */) { // it is ok to have member named '_super' or '_this' - member access is always qualified return false; } @@ -47407,7 +47663,7 @@ var ts; return false; } var root = ts.getRootDeclaration(node); - if (root.kind === 148 /* Parameter */ && ts.nodeIsMissing(root.parent.body)) { + if (root.kind === 149 /* Parameter */ && ts.nodeIsMissing(root.parent.body)) { // just an overload - no codegen impact return false; } @@ -47426,6 +47682,7 @@ var ts; } return true; } + return false; }); } function checkIfNewTargetIsCapturedInEnclosingScope(node) { @@ -47440,6 +47697,7 @@ var ts; } return true; } + return false; }); } function checkCollisionWithRequireExportsInGeneratedCode(node, name) { @@ -47456,7 +47714,7 @@ var ts; } // In case of variable declaration, node.parent is variable statement so look at the variable statement's parent var parent = getDeclarationContainer(node); - if (parent.kind === 273 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent)) { + if (parent.kind === 274 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent)) { // If the declaration happens to be in external module, report error that require and exports are reserved keywords error(name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module, ts.declarationNameToString(name), ts.declarationNameToString(name)); } @@ -47471,7 +47729,7 @@ var ts; } // In case of variable declaration, node.parent is variable statement so look at the variable statement's parent var parent = getDeclarationContainer(node); - if (parent.kind === 273 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent) && parent.flags & 1024 /* HasAsyncFunctions */) { + if (parent.kind === 274 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent) && parent.flags & 1024 /* HasAsyncFunctions */) { // If the declaration happens to be in external module, report error that Promise is a reserved identifier. error(name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions, ts.declarationNameToString(name), ts.declarationNameToString(name)); } @@ -47506,7 +47764,7 @@ var ts; // skip variable declarations that don't have initializers // NOTE: in ES6 spec initializer is required in variable declarations where name is binding pattern // so we'll always treat binding elements as initialized - if (node.kind === 231 /* VariableDeclaration */ && !node.initializer) { + if (node.kind === 232 /* VariableDeclaration */ && !node.initializer) { return; } var symbol = getSymbolOfNode(node); @@ -47518,17 +47776,17 @@ var ts; localDeclarationSymbol !== symbol && localDeclarationSymbol.flags & 2 /* BlockScopedVariable */) { if (getDeclarationNodeFlagsFromSymbol(localDeclarationSymbol) & 3 /* BlockScoped */) { - var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 232 /* VariableDeclarationList */); - var container = varDeclList.parent.kind === 213 /* VariableStatement */ && varDeclList.parent.parent + var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 233 /* VariableDeclarationList */); + var container = varDeclList.parent.kind === 214 /* VariableStatement */ && varDeclList.parent.parent ? varDeclList.parent.parent : undefined; // names of block-scoped and function scoped variables can collide only // if block scoped variable is defined in the function\module\source file scope (because of variable hoisting) var namesShareScope = container && - (container.kind === 212 /* Block */ && ts.isFunctionLike(container.parent) || - container.kind === 239 /* ModuleBlock */ || - container.kind === 238 /* ModuleDeclaration */ || - container.kind === 273 /* SourceFile */); + (container.kind === 213 /* Block */ && ts.isFunctionLike(container.parent) || + container.kind === 240 /* ModuleBlock */ || + container.kind === 239 /* ModuleDeclaration */ || + container.kind === 274 /* SourceFile */); // here we know that function scoped variable is shadowed by block scoped one // if they are defined in the same scope - binder has already reported redeclaration error // otherwise if variable has an initializer - show error that initialization will fail @@ -47543,7 +47801,7 @@ var ts; } // Check that a parameter initializer contains no references to parameters declared to the right of itself function checkParameterInitializer(node) { - if (ts.getRootDeclaration(node).kind !== 148 /* Parameter */) { + if (ts.getRootDeclaration(node).kind !== 149 /* Parameter */) { return; } var func = ts.getContainingFunction(node); @@ -47554,7 +47812,7 @@ var ts; // skip declaration names (i.e. in object literal expressions) return; } - if (n.kind === 184 /* PropertyAccessExpression */) { + if (n.kind === 185 /* PropertyAccessExpression */) { // skip property names in property access expression return visit(n.expression); } @@ -47573,8 +47831,8 @@ var ts; // so we need to do a bit of extra work to check if reference is legal var enclosingContainer = ts.getEnclosingBlockScopeContainer(symbol.valueDeclaration); if (enclosingContainer === func) { - if (symbol.valueDeclaration.kind === 148 /* Parameter */ || - symbol.valueDeclaration.kind === 181 /* BindingElement */) { + if (symbol.valueDeclaration.kind === 149 /* Parameter */ || + symbol.valueDeclaration.kind === 182 /* BindingElement */) { // it is ok to reference parameter in initializer if either // - parameter is located strictly on the left of current parameter declaration if (symbol.valueDeclaration.pos < node.pos) { @@ -47588,7 +47846,7 @@ var ts; return ts.isFunctionLike(current.parent) || // computed property names/initializers in instance property declaration of class like entities // are executed in constructor and thus deferred - (current.parent.kind === 151 /* PropertyDeclaration */ && + (current.parent.kind === 152 /* PropertyDeclaration */ && !(ts.hasModifier(current.parent, 32 /* Static */)) && ts.isClassLike(current.parent.parent)); })) { @@ -47621,18 +47879,18 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); if (node.initializer) { checkExpressionCached(node.initializer); } } - if (node.kind === 181 /* BindingElement */) { - if (node.parent.kind === 179 /* ObjectBindingPattern */ && languageVersion < 6 /* ESNext */) { + if (node.kind === 182 /* BindingElement */) { + if (node.parent.kind === 180 /* ObjectBindingPattern */ && languageVersion < 6 /* ESNext */) { checkExternalEmitHelpers(node, 4 /* Rest */); } // check computed properties inside property names of binding elements - if (node.propertyName && node.propertyName.kind === 146 /* ComputedPropertyName */) { + if (node.propertyName && node.propertyName.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.propertyName); } // check private/protected variable access @@ -47640,7 +47898,7 @@ var ts; var parentType = getTypeForBindingElementParent(parent); var name = node.propertyName || node.name; if (!ts.isBindingPattern(name)) { - var property = getPropertyOfType(parentType, ts.getTextOfPropertyName(name)); + var property = getPropertyOfType(parentType, ts.getTextOfPropertyName(name)); // TODO: GH#18217 markPropertyAsReferenced(property, /*nodeForCheckWriteOnly*/ undefined, /*isThisAccess*/ false); // A destructuring is never a write-only reference. if (parent.initializer && property) { checkPropertyAccessibility(parent, parent.initializer, parentType, property); @@ -47649,20 +47907,20 @@ var ts; } // For a binding pattern, check contained binding elements if (ts.isBindingPattern(node.name)) { - if (node.name.kind === 180 /* ArrayBindingPattern */ && languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) { + if (node.name.kind === 181 /* ArrayBindingPattern */ && languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) { checkExternalEmitHelpers(node, 512 /* Read */); } ts.forEach(node.name.elements, checkSourceElement); } // For a parameter declaration with an initializer, error and exit if the containing function doesn't have a body - if (node.initializer && ts.getRootDeclaration(node).kind === 148 /* Parameter */ && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { + if (node.initializer && ts.getRootDeclaration(node).kind === 149 /* Parameter */ && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { error(node, ts.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation); return; } // For a binding pattern, validate the initializer and exit if (ts.isBindingPattern(node.name)) { // Don't validate for-in initializer as it is already an error - if (node.initializer && node.parent.parent.kind !== 220 /* ForInStatement */) { + if (node.initializer && node.parent.parent.kind !== 221 /* ForInStatement */) { var initializerType = checkExpressionCached(node.initializer); if (strictNullChecks && node.name.elements.length === 0) { checkNonNullType(initializerType, node); @@ -47679,8 +47937,8 @@ var ts; if (node === symbol.valueDeclaration) { // Node is the primary declaration of the symbol, just validate the initializer // Don't validate for-in initializer as it is already an error - if (node.initializer && node.parent.parent.kind !== 220 /* ForInStatement */) { - var initializer = ts.isInJavaScriptFile(node) && ts.getDeclaredJavascriptInitializer(node) || node.initializer; + var initializer = ts.getEffectiveInitializer(node); + if (initializer && node.parent.parent.kind !== 221 /* ForInStatement */) { checkTypeAssignableTo(checkExpressionCached(initializer), type, node, /*headMessage*/ undefined); checkParameterInitializer(node); } @@ -47689,7 +47947,7 @@ var ts; // Node is a secondary declaration, check that type is identical to primary declaration and check that // initializer is consistent with type associated with the node var declarationType = convertAutoToAny(getWidenedTypeForVariableLikeDeclaration(node)); - if (type !== unknownType && declarationType !== unknownType && + if (type !== errorType && declarationType !== errorType && !isTypeIdenticalTo(type, declarationType) && !(symbol.flags & 67108864 /* JSContainer */)) { errorNextVariableOrPropertyDeclarationMustHaveSameType(type, node, declarationType); @@ -47702,10 +47960,10 @@ var ts; error(node.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_modifiers, ts.declarationNameToString(node.name)); } } - if (node.kind !== 151 /* PropertyDeclaration */ && node.kind !== 150 /* PropertySignature */) { + if (node.kind !== 152 /* PropertyDeclaration */ && node.kind !== 151 /* PropertySignature */) { // We know we don't have a binding pattern or computed name here checkExportsOnMergedDeclarations(node); - if (node.kind === 231 /* VariableDeclaration */ || node.kind === 181 /* BindingElement */) { + if (node.kind === 232 /* VariableDeclaration */ || node.kind === 182 /* BindingElement */) { checkVarDeclaredNamesNotShadowed(node); } checkCollisionWithRequireExportsInGeneratedCode(node, node.name); @@ -47714,14 +47972,14 @@ var ts; } function errorNextVariableOrPropertyDeclarationMustHaveSameType(firstType, nextDeclaration, nextType) { var nextDeclarationName = ts.getNameOfDeclaration(nextDeclaration); - var message = nextDeclaration.kind === 151 /* PropertyDeclaration */ || nextDeclaration.kind === 150 /* PropertySignature */ + var message = nextDeclaration.kind === 152 /* PropertyDeclaration */ || nextDeclaration.kind === 151 /* PropertySignature */ ? ts.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2 : ts.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2; error(nextDeclarationName, message, ts.declarationNameToString(nextDeclarationName), typeToString(firstType), typeToString(nextType)); } function areDeclarationFlagsIdentical(left, right) { - if ((left.kind === 148 /* Parameter */ && right.kind === 231 /* VariableDeclaration */) || - (left.kind === 231 /* VariableDeclaration */ && right.kind === 148 /* Parameter */)) { + if ((left.kind === 149 /* Parameter */ && right.kind === 232 /* VariableDeclaration */) || + (left.kind === 232 /* VariableDeclaration */ && right.kind === 149 /* Parameter */)) { // Differences in optionality between parameters and variables are allowed. return true; } @@ -47760,7 +48018,7 @@ var ts; checkGrammarStatementInAmbientContext(node); checkExpression(node.expression); checkSourceElement(node.thenStatement); - if (node.thenStatement.kind === 214 /* EmptyStatement */) { + if (node.thenStatement.kind === 215 /* EmptyStatement */) { error(node.thenStatement, ts.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement); } checkSourceElement(node.elseStatement); @@ -47780,12 +48038,12 @@ var ts; function checkForStatement(node) { // Grammar checking if (!checkGrammarStatementInAmbientContext(node)) { - if (node.initializer && node.initializer.kind === 232 /* VariableDeclarationList */) { + if (node.initializer && node.initializer.kind === 233 /* VariableDeclarationList */) { checkGrammarVariableDeclarationList(node.initializer); } } if (node.initializer) { - if (node.initializer.kind === 232 /* VariableDeclarationList */) { + if (node.initializer.kind === 233 /* VariableDeclarationList */) { ts.forEach(node.initializer.declarations, checkVariableDeclaration); } else { @@ -47819,18 +48077,18 @@ var ts; // via checkRightHandSideOfForOf. // If the LHS is an expression, check the LHS, as a destructuring assignment or as a reference. // Then check that the RHS is assignable to it. - if (node.initializer.kind === 232 /* VariableDeclarationList */) { + if (node.initializer.kind === 233 /* VariableDeclarationList */) { checkForInOrForOfVariableDeclaration(node); } else { var varExpr = node.initializer; var iteratedType = checkRightHandSideOfForOf(node.expression, node.awaitModifier); // There may be a destructuring assignment on the left side - if (varExpr.kind === 182 /* ArrayLiteralExpression */ || varExpr.kind === 183 /* ObjectLiteralExpression */) { + if (varExpr.kind === 183 /* ArrayLiteralExpression */ || varExpr.kind === 184 /* ObjectLiteralExpression */) { // iteratedType may be undefined. In this case, we still want to check the structure of // varExpr, in particular making sure it's a valid LeftHandSideExpression. But we'd like // to short circuit the type relation checking as much as possible, so we pass the unknownType. - checkDestructuringAssignment(varExpr, iteratedType || unknownType); + checkDestructuringAssignment(varExpr, iteratedType || errorType); } else { var leftType = checkExpression(varExpr); @@ -47858,7 +48116,7 @@ var ts; // for (let VarDecl in Expr) Statement // VarDecl must be a variable declaration without a type annotation that declares a variable of type Any, // and Expr must be an expression of type Any, an object type, or a type parameter type. - if (node.initializer.kind === 232 /* VariableDeclarationList */) { + if (node.initializer.kind === 233 /* VariableDeclarationList */) { var variable = node.initializer.declarations[0]; if (variable && ts.isBindingPattern(variable.name)) { error(variable.name, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); @@ -47872,7 +48130,7 @@ var ts; // and Expr must be an expression of type Any, an object type, or a type parameter type. var varExpr = node.initializer; var leftType = checkExpression(varExpr); - if (varExpr.kind === 182 /* ArrayLiteralExpression */ || varExpr.kind === 183 /* ObjectLiteralExpression */) { + if (varExpr.kind === 183 /* ArrayLiteralExpression */ || varExpr.kind === 184 /* ObjectLiteralExpression */) { error(varExpr, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); } else if (!isTypeAssignableTo(getIndexTypeOrString(rightType), leftType)) { @@ -47885,7 +48143,7 @@ var ts; } // unknownType is returned i.e. if node.expression is identifier whose name cannot be resolved // in this case error about missing name is already reported - do not report extra one - if (rightType === neverType || !isTypeAssignableToKind(rightType, 134217728 /* NonPrimitive */ | 7372800 /* InstantiableNonPrimitive */)) { + if (rightType === neverType || !isTypeAssignableToKind(rightType, 16777216 /* NonPrimitive */ | 14745600 /* InstantiableNonPrimitive */)) { error(node.expression, ts.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0, typeToString(rightType)); } checkSourceElement(node.statement); @@ -47918,7 +48176,7 @@ var ts; */ function getIteratedTypeOrElementType(inputType, errorNode, allowStringInput, allowAsyncIterables, checkAssignability) { if (inputType === neverType) { - reportTypeNotIterableError(errorNode, inputType, allowAsyncIterables); + reportTypeNotIterableError(errorNode, inputType, allowAsyncIterables); // TODO: GH#18217 return undefined; } var uplevelIteration = languageVersion >= 2 /* ES2015 */; @@ -47940,16 +48198,16 @@ var ts; // This allows us to find other non-string element types from an array unioned with // a string. if (allowStringInput) { - if (arrayType.flags & 131072 /* Union */) { + if (arrayType.flags & 262144 /* Union */) { // After we remove all types that are StringLike, we will know if there was a string constituent // based on whether the result of filter is a new array. var arrayTypes = inputType.types; - var filteredTypes = ts.filter(arrayTypes, function (t) { return !(t.flags & 34 /* StringLike */); }); + var filteredTypes = ts.filter(arrayTypes, function (t) { return !(t.flags & 68 /* StringLike */); }); if (filteredTypes !== arrayTypes) { arrayType = getUnionType(filteredTypes, 2 /* Subtype */); } } - else if (arrayType.flags & 34 /* StringLike */) { + else if (arrayType.flags & 68 /* StringLike */) { arrayType = neverType; } hasStringConstituent = arrayType !== inputType; @@ -47962,7 +48220,7 @@ var ts; } // Now that we've removed all the StringLike types, if no constituents remain, then the entire // arrayOrStringType was a string. - if (arrayType.flags & 16384 /* Never */) { + if (arrayType.flags & 32768 /* Never */) { return stringType; } } @@ -47993,7 +48251,7 @@ var ts; var arrayElementType = getIndexTypeOfType(arrayType, 1 /* Number */); if (hasStringConstituent && arrayElementType) { // This is just an optimization for the case where arrayOrStringType is string | string[] - if (arrayElementType.flags & 34 /* StringLike */) { + if (arrayElementType.flags & 68 /* StringLike */) { return stringType; } return getUnionType([arrayElementType, stringType], 2 /* Subtype */); @@ -48068,11 +48326,11 @@ var ts; } } var asyncMethodType = allowAsyncIterables && getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("asyncIterator")); - var methodType = asyncMethodType || (allowSyncIterables && getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("iterator"))); + var methodType = asyncMethodType || (allowSyncIterables ? getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("iterator")) : undefined); if (isTypeAny(methodType)) { return undefined; } - var signatures = methodType && getSignaturesOfType(methodType, 0 /* Call */); + var signatures = methodType ? getSignaturesOfType(methodType, 0 /* Call */) : undefined; if (!ts.some(signatures)) { if (errorNode) { // only report on the first error @@ -48198,14 +48456,14 @@ var ts; // TODO: Check that target label is valid } function isGetAccessorWithAnnotatedSetAccessor(node) { - return node.kind === 155 /* GetAccessor */ - && ts.getEffectiveSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(node.symbol, 156 /* SetAccessor */)) !== undefined; + return node.kind === 156 /* GetAccessor */ + && ts.getEffectiveSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(node.symbol, 157 /* SetAccessor */)) !== undefined; } function isUnwrappedReturnTypeVoidOrAny(func, returnType) { var unwrappedReturnType = (ts.getFunctionFlags(func) & 3 /* AsyncGenerator */) === 2 /* Async */ ? getPromisedTypeOfPromise(returnType) // Async function : returnType; // AsyncGenerator function, Generator function, or normal function - return unwrappedReturnType && maybeTypeOfKind(unwrappedReturnType, 2048 /* Void */ | 1 /* Any */); + return !!unwrappedReturnType && maybeTypeOfKind(unwrappedReturnType, 4096 /* Void */ | 3 /* AnyOrUnknown */); } function checkReturnStatement(node) { // Grammar checking @@ -48221,7 +48479,7 @@ var ts; var returnType = getReturnTypeOfSignature(signature); var functionFlags = ts.getFunctionFlags(func); var isGenerator = functionFlags & 1 /* Generator */; - if (strictNullChecks || node.expression || returnType.flags & 16384 /* Never */) { + if (strictNullChecks || node.expression || returnType.flags & 32768 /* Never */) { var exprType = node.expression ? checkExpressionCached(node.expression) : undefinedType; if (isGenerator) { // AsyncGenerator function or Generator function // A generator does not need its return expressions checked against its return type. @@ -48230,12 +48488,12 @@ var ts; // for generators. return; } - else if (func.kind === 156 /* SetAccessor */) { + else if (func.kind === 157 /* SetAccessor */) { if (node.expression) { error(node, ts.Diagnostics.Setters_cannot_return_a_value); } } - else if (func.kind === 154 /* Constructor */) { + else if (func.kind === 155 /* Constructor */) { if (node.expression && !checkTypeAssignableTo(exprType, returnType, node)) { error(node, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); } @@ -48256,7 +48514,7 @@ var ts; } } } - else if (func.kind !== 154 /* Constructor */ && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(func, returnType) && !isGenerator) { + else if (func.kind !== 155 /* Constructor */ && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(func, returnType) && !isGenerator) { // The function has a return type, but the return statement doesn't have an expression. error(node, ts.Diagnostics.Not_all_code_paths_return_a_value); } @@ -48285,7 +48543,7 @@ var ts; var expressionIsLiteral = isLiteralType(expressionType); ts.forEach(node.caseBlock.clauses, function (clause) { // Grammar check for duplicate default clauses, skip if we already report duplicate default clause - if (clause.kind === 266 /* DefaultClause */ && !hasDuplicateDefaultClause) { + if (clause.kind === 267 /* DefaultClause */ && !hasDuplicateDefaultClause) { if (firstDefaultClause === undefined) { firstDefaultClause = clause; } @@ -48297,7 +48555,7 @@ var ts; hasDuplicateDefaultClause = true; } } - if (produceDiagnostics && clause.kind === 265 /* CaseClause */) { + if (produceDiagnostics && clause.kind === 266 /* CaseClause */) { // TypeScript 1.0 spec (April 2014): 5.9 // In a 'switch' statement, each 'case' expression must be of a type that is comparable // to or from the type of the 'switch' expression. @@ -48326,10 +48584,11 @@ var ts; if (ts.isFunctionLike(current)) { return "quit"; } - if (current.kind === 227 /* LabeledStatement */ && current.label.escapedText === node.label.escapedText) { + if (current.kind === 228 /* LabeledStatement */ && current.label.escapedText === node.label.escapedText) { grammarErrorOnNode(node.label, ts.Diagnostics.Duplicate_label_0, ts.getTextOfNode(node.label)); return true; } + return false; }); } // ensure that label is unique @@ -48389,8 +48648,8 @@ var ts; checkIndexConstraintForProperty(prop, propType, type, declaredStringIndexer, stringIndexType, 0 /* String */); checkIndexConstraintForProperty(prop, propType, type, declaredNumberIndexer, numberIndexType, 1 /* Number */); }); - if (ts.getObjectFlags(type) & 1 /* Class */ && ts.isClassLike(type.symbol.valueDeclaration)) { - var classDeclaration = type.symbol.valueDeclaration; + var classDeclaration = type.symbol.valueDeclaration; + if (ts.getObjectFlags(type) & 1 /* Class */ && ts.isClassLike(classDeclaration)) { for (var _i = 0, _a = classDeclaration.members; _i < _a.length; _i++) { var member = _a[_i]; // Only process instance properties with computed names here. @@ -48414,7 +48673,7 @@ var ts; errorNode = someBaseTypeHasBothIndexers ? undefined : type.symbol.declarations[0]; } } - if (errorNode && !isTypeAssignableTo(numberIndexType, stringIndexType)) { + if (errorNode && !isTypeAssignableTo(numberIndexType, stringIndexType)) { // TODO: GH#18217 error(errorNode, ts.Diagnostics.Numeric_index_type_0_is_not_assignable_to_string_index_type_1, typeToString(numberIndexType), typeToString(stringIndexType)); } function checkIndexConstraintForProperty(prop, propertyType, containingType, indexDeclaration, indexType, indexKind) { @@ -48431,8 +48690,8 @@ var ts; // this allows us to rule out cases when both property and indexer are inherited from the base class var errorNode; if (propDeclaration && - (propDeclaration.kind === 199 /* BinaryExpression */ || - ts.getNameOfDeclaration(propDeclaration).kind === 146 /* ComputedPropertyName */ || + (propDeclaration.kind === 200 /* BinaryExpression */ || + ts.getNameOfDeclaration(propDeclaration).kind === 147 /* ComputedPropertyName */ || prop.parent === containingType.symbol)) { errorNode = propDeclaration; } @@ -48459,6 +48718,7 @@ var ts; // The predefined type keywords are reserved and cannot be used as names of user defined types. switch (name.escapedText) { case "any": + case "unknown": case "number": case "boolean": case "string": @@ -48468,6 +48728,15 @@ var ts; error(name, message, name.escapedText); } } + /** + * The name cannot be used as 'Object' of user defined types with special target. + */ + function checkClassNameCollisionWithObject(name) { + if (languageVersion === 1 /* ES5 */ && name.escapedText === "Object" + && moduleKind !== ts.ModuleKind.ES2015 && moduleKind !== ts.ModuleKind.ESNext) { + error(name, ts.Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, ts.ModuleKind[moduleKind]); // https://github.com/Microsoft/TypeScript/issues/17494 + } + } /** * Check each type parameter and check that type parameters have no duplicate type parameter declarations */ @@ -48509,8 +48778,8 @@ var ts; if (!areTypeParametersIdentical(declarations, type.localTypeParameters)) { // Report an error on every conflicting declaration. var name = symbolToString(symbol); - for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { - var declaration = declarations_5[_i]; + for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { + var declaration = declarations_6[_i]; error(declaration.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_type_parameters, name); } } @@ -48519,8 +48788,8 @@ var ts; function areTypeParametersIdentical(declarations, targetParameters) { var maxTypeArgumentCount = ts.length(targetParameters); var minTypeArgumentCount = getMinTypeArgumentCount(targetParameters); - for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { - var declaration = declarations_6[_i]; + for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { + var declaration = declarations_7[_i]; // If this declaration has too few or too many type parameters, we report an error var sourceParameters = ts.getEffectiveTypeParameterDeclarations(declaration); var numTypeParameters = sourceParameters.length; @@ -48580,6 +48849,9 @@ var ts; checkTypeNameIsReserved(node.name, ts.Diagnostics.Class_name_cannot_be_0); checkCollisionWithRequireExportsInGeneratedCode(node, node.name); checkCollisionWithGlobalPromiseInGeneratedCode(node, node.name); + if (!(node.flags & 4194304 /* Ambient */)) { + checkClassNameCollisionWithObject(node.name); + } } checkTypeParameters(ts.getEffectiveTypeParameterDeclarations(node)); checkExportsOnMergedDeclarations(node); @@ -48619,10 +48891,10 @@ var ts; issueMemberSpecificError(node, typeWithThis, baseWithThis, ts.Diagnostics.Class_0_incorrectly_extends_base_class_1); } checkTypeAssignableTo(staticType, getTypeWithoutSignatures(staticBaseType), node.name || node, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); - if (baseConstructorType.flags & 1081344 /* TypeVariable */ && !isMixinConstructorType(staticType)) { + if (baseConstructorType.flags & 2162688 /* TypeVariable */ && !isMixinConstructorType(staticType)) { error(node.name || node, ts.Diagnostics.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any); } - if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32 /* Class */) && !(baseConstructorType.flags & 1081344 /* TypeVariable */)) { + if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32 /* Class */) && !(baseConstructorType.flags & 2162688 /* TypeVariable */)) { // When the static base type is a "class-like" constructor function (but not actually a class), we verify // that all instantiated base constructor signatures return the same type. We can simply compare the type // references (as opposed to checking the structure of the types) because elsewhere we have already checked @@ -48645,7 +48917,7 @@ var ts; checkTypeReferenceNode(typeRefNode); if (produceDiagnostics) { var t = getTypeFromTypeNode(typeRefNode); - if (t !== unknownType) { + if (t !== errorType) { if (isValidBaseType(t)) { var genericDiag = t.symbol && t.symbol.flags & 32 /* Class */ ? ts.Diagnostics.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass : @@ -48716,7 +48988,7 @@ var ts; } function getClassOrInterfaceDeclarationsOfSymbol(symbol) { return ts.filter(symbol.declarations, function (d) { - return d.kind === 234 /* ClassDeclaration */ || d.kind === 235 /* InterfaceDeclaration */; + return d.kind === 235 /* ClassDeclaration */ || d.kind === 236 /* InterfaceDeclaration */; }); } function checkKindsOfPropertyMemberOverrides(type, baseType) { @@ -48741,7 +49013,7 @@ var ts; if (base.flags & 4194304 /* Prototype */) { continue; } - var derived = getTargetSymbol(getPropertyOfObjectType(type, base.escapedName)); + var derived = getTargetSymbol(getPropertyOfObjectType(type, base.escapedName)); // TODO: GH#18217 var baseDeclarationFlags = ts.getDeclarationModifierFlagsFromSymbol(base); ts.Debug.assert(!!derived, "derived should point to something, even if it is the base class' declaration."); if (derived) { @@ -48755,7 +49027,7 @@ var ts; // If there is no declaration for the derived class (as in the case of class expressions), // then the class cannot be declared abstract. if (baseDeclarationFlags & 128 /* Abstract */ && (!derivedClassDecl || !ts.hasModifier(derivedClassDecl, 128 /* Abstract */))) { - if (derivedClassDecl.kind === 204 /* ClassExpression */) { + if (derivedClassDecl.kind === 205 /* ClassExpression */) { error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, symbolToString(baseProperty), typeToString(baseType)); } else { @@ -48770,7 +49042,7 @@ var ts; // either base or derived property is private - not override, skip it continue; } - if (isPrototypeProperty(base) && isPrototypeProperty(derived) || base.flags & 98308 /* PropertyOrAccessor */ && derived.flags & 98308 /* PropertyOrAccessor */) { + if (isPrototypeProperty(base) || base.flags & 98308 /* PropertyOrAccessor */ && derived.flags & 98308 /* PropertyOrAccessor */) { // method is overridden with method or property/accessor is overridden with property/accessor - correct case continue; } @@ -48837,7 +49109,7 @@ var ts; var propName = member.name; if (ts.isIdentifier(propName)) { var type = getTypeOfSymbol(getSymbolOfNode(member)); - if (!(type.flags & 1 /* Any */ || getFalsyFlags(type) & 4096 /* Undefined */)) { + if (!(type.flags & 3 /* AnyOrUnknown */ || getFalsyFlags(type) & 8192 /* Undefined */)) { if (!constructor || !isPropertyInitializedInConstructor(propName, type, constructor)) { error(member.name, ts.Diagnostics.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor, ts.declarationNameToString(propName)); } @@ -48847,7 +49119,7 @@ var ts; } } function isInstancePropertyWithoutInitializer(node) { - return node.kind === 151 /* PropertyDeclaration */ && + return node.kind === 152 /* PropertyDeclaration */ && !ts.hasModifier(node, 32 /* Static */ | 128 /* Abstract */) && !node.exclamationToken && !node.initializer; @@ -48856,7 +49128,7 @@ var ts; var reference = ts.createPropertyAccess(ts.createThis(), propName); reference.flowNode = constructor.returnFlowNode; var flowType = getFlowTypeOfReference(reference, propType, getOptionalType(propType)); - return !(getFalsyFlags(flowType) & 4096 /* Undefined */); + return !(getFalsyFlags(flowType) & 8192 /* Undefined */); } function checkInterfaceDeclaration(node) { // Grammar checking @@ -48869,7 +49141,7 @@ var ts; var symbol = getSymbolOfNode(node); checkTypeParameterListsIdentical(symbol); // Only check this symbol once - var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 235 /* InterfaceDeclaration */); + var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 236 /* InterfaceDeclaration */); if (node === firstInterfaceDecl) { var type = getDeclaredTypeOfSymbol(symbol); var typeWithThis = getTypeWithThisArgument(type); @@ -48974,7 +49246,7 @@ var ts; return value; function evaluate(expr) { switch (expr.kind) { - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: var value_2 = evaluate(expr.operand); if (typeof value_2 === "number") { switch (expr.operator) { @@ -48984,7 +49256,7 @@ var ts; } } break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var left = evaluate(expr.left); var right = evaluate(expr.right); if (typeof left === "number" && typeof right === "number") { @@ -49012,18 +49284,22 @@ var ts; case 8 /* NumericLiteral */: checkGrammarNumericLiteral(expr); return +expr.text; - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return evaluate(expr.expression); case 71 /* Identifier */: - return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), expr.escapedText); - case 185 /* ElementAccessExpression */: - case 184 /* PropertyAccessExpression */: + var identifier = expr; + if (isInfinityOrNaNString(identifier.escapedText)) { + return +(identifier.escapedText); + } + return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); + case 186 /* ElementAccessExpression */: + case 185 /* PropertyAccessExpression */: var ex = expr; if (isConstantMemberAccess(ex)) { var type = getTypeOfExpression(ex.expression); if (type.symbol && type.symbol.flags & 384 /* Enum */) { var name = void 0; - if (ex.kind === 184 /* PropertyAccessExpression */) { + if (ex.kind === 185 /* PropertyAccessExpression */) { name = ex.name.escapedText; } else { @@ -49055,8 +49331,8 @@ var ts; } function isConstantMemberAccess(node) { return node.kind === 71 /* Identifier */ || - node.kind === 184 /* PropertyAccessExpression */ && isConstantMemberAccess(node.expression) || - node.kind === 185 /* ElementAccessExpression */ && isConstantMemberAccess(node.expression) && + node.kind === 185 /* PropertyAccessExpression */ && isConstantMemberAccess(node.expression) || + node.kind === 186 /* ElementAccessExpression */ && isConstantMemberAccess(node.expression) && node.argumentExpression.kind === 9 /* StringLiteral */; } function checkEnumDeclaration(node) { @@ -49094,7 +49370,7 @@ var ts; var seenEnumMissingInitialInitializer_1 = false; ts.forEach(enumSymbol.declarations, function (declaration) { // return true if we hit a violation of the rule, false otherwise - if (declaration.kind !== 237 /* EnumDeclaration */) { + if (declaration.kind !== 238 /* EnumDeclaration */) { return false; } var enumDeclaration = declaration; @@ -49115,10 +49391,10 @@ var ts; } function getFirstNonAmbientClassOrFunctionDeclaration(symbol) { var declarations = symbol.declarations; - for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { - var declaration = declarations_7[_i]; - if ((declaration.kind === 234 /* ClassDeclaration */ || - (declaration.kind === 233 /* FunctionDeclaration */ && ts.nodeIsPresent(declaration.body))) && + for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { + var declaration = declarations_8[_i]; + if ((declaration.kind === 235 /* ClassDeclaration */ || + (declaration.kind === 234 /* FunctionDeclaration */ && ts.nodeIsPresent(declaration.body))) && !(declaration.flags & 4194304 /* Ambient */)) { return declaration; } @@ -49169,7 +49445,7 @@ var ts; if (symbol.flags & 512 /* ValueModule */ && symbol.declarations.length > 1 && !inAmbientContext - && isInstantiatedModule(node, compilerOptions.preserveConstEnums || compilerOptions.isolatedModules)) { + && isInstantiatedModule(node, !!compilerOptions.preserveConstEnums || !!compilerOptions.isolatedModules)) { var firstNonAmbientClassOrFunc = getFirstNonAmbientClassOrFunctionDeclaration(symbol); if (firstNonAmbientClassOrFunc) { if (ts.getSourceFileOfNode(node) !== ts.getSourceFileOfNode(firstNonAmbientClassOrFunc)) { @@ -49181,7 +49457,7 @@ var ts; } // if the module merges with a class declaration in the same lexical scope, // we need to track this to ensure the correct emit. - var mergedClass = ts.getDeclarationOfKind(symbol, 234 /* ClassDeclaration */); + var mergedClass = ts.getDeclarationOfKind(symbol, 235 /* ClassDeclaration */); if (mergedClass && inSameLexicalScope(node, mergedClass)) { getNodeLinks(node).flags |= 32768 /* LexicalModuleMergesWithClass */; @@ -49231,23 +49507,23 @@ var ts; } function checkModuleAugmentationElement(node, isGlobalAugmentation) { switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: // error each individual name in variable statement instead of marking the entire variable statement for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) { var decl = _a[_i]; checkModuleAugmentationElement(decl, isGlobalAugmentation); } break; - case 248 /* ExportAssignment */: - case 249 /* ExportDeclaration */: + case 249 /* ExportAssignment */: + case 250 /* ExportDeclaration */: grammarErrorOnFirstToken(node, ts.Diagnostics.Exports_and_export_assignments_are_not_permitted_in_module_augmentations); break; - case 242 /* ImportEqualsDeclaration */: - case 243 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: grammarErrorOnFirstToken(node, ts.Diagnostics.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module); break; - case 181 /* BindingElement */: - case 231 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 232 /* VariableDeclaration */: var name = node.name; if (ts.isBindingPattern(name)) { for (var _b = 0, _c = name.elements; _b < _c.length; _b++) { @@ -49258,12 +49534,12 @@ var ts; break; } // falls through - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: - case 233 /* FunctionDeclaration */: - case 235 /* InterfaceDeclaration */: - case 238 /* ModuleDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 234 /* FunctionDeclaration */: + case 236 /* InterfaceDeclaration */: + case 239 /* ModuleDeclaration */: + case 237 /* TypeAliasDeclaration */: if (isGlobalAugmentation) { return; } @@ -49286,12 +49562,12 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return node; - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: do { node = node.left; } while (node.kind !== 71 /* Identifier */); return node; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: do { node = node.expression; } while (node.kind !== 71 /* Identifier */); @@ -49300,7 +49576,7 @@ var ts; } function checkExternalImportOrExportDeclaration(node) { var moduleName = ts.getExternalModuleName(node); - if (ts.nodeIsMissing(moduleName)) { + if (!moduleName || ts.nodeIsMissing(moduleName)) { // Should be a parse error. return false; } @@ -49308,9 +49584,9 @@ var ts; error(moduleName, ts.Diagnostics.String_literal_expected); return false; } - var inAmbientExternalModule = node.parent.kind === 239 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); - if (node.parent.kind !== 273 /* SourceFile */ && !inAmbientExternalModule) { - error(moduleName, node.kind === 249 /* ExportDeclaration */ ? + var inAmbientExternalModule = node.parent.kind === 240 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); + if (node.parent.kind !== 274 /* SourceFile */ && !inAmbientExternalModule) { + error(moduleName, node.kind === 250 /* ExportDeclaration */ ? ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace : ts.Diagnostics.Import_declarations_in_a_namespace_cannot_reference_a_module); return false; @@ -49343,14 +49619,14 @@ var ts; (symbol.flags & 67901928 /* Type */ ? 67901928 /* Type */ : 0) | (symbol.flags & 1920 /* Namespace */ ? 1920 /* Namespace */ : 0); if (target.flags & excludedMeanings) { - var message = node.kind === 251 /* ExportSpecifier */ ? + var message = node.kind === 252 /* ExportSpecifier */ ? ts.Diagnostics.Export_declaration_conflicts_with_exported_declaration_of_0 : ts.Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0; error(node, message, symbolToString(symbol)); } // Don't allow to re-export something with no value side when `--isolatedModules` is set. if (compilerOptions.isolatedModules - && node.kind === 251 /* ExportSpecifier */ + && node.kind === 252 /* ExportSpecifier */ && !(target.flags & 67216319 /* Value */) && !(node.flags & 4194304 /* Ambient */)) { error(node, ts.Diagnostics.Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided); @@ -49377,7 +49653,7 @@ var ts; checkImportBinding(importClause); } if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 245 /* NamespaceImport */) { + if (importClause.namedBindings.kind === 246 /* NamespaceImport */) { checkImportBinding(importClause.namedBindings); } else { @@ -49401,7 +49677,7 @@ var ts; if (ts.hasModifier(node, 1 /* Export */)) { markExportAsReferenced(node); } - if (node.moduleReference.kind !== 253 /* ExternalModuleReference */) { + if (node.moduleReference.kind !== 254 /* ExternalModuleReference */) { var target = resolveAlias(getSymbolOfNode(node)); if (target !== unknownSymbol) { if (target.flags & 67216319 /* Value */) { @@ -49437,10 +49713,10 @@ var ts; // export { x, y } // export { x, y } from "foo" ts.forEach(node.exportClause.elements, checkExportSpecifier); - var inAmbientExternalModule = node.parent.kind === 239 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); - var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 239 /* ModuleBlock */ && + var inAmbientExternalModule = node.parent.kind === 240 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); + var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 240 /* ModuleBlock */ && !node.moduleSpecifier && node.flags & 4194304 /* Ambient */; - if (node.parent.kind !== 273 /* SourceFile */ && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { + if (node.parent.kind !== 274 /* SourceFile */ && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { error(node, ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace); } } @@ -49457,7 +49733,7 @@ var ts; } } function checkGrammarModuleElementContext(node, errorMessage) { - var isInAppropriateContext = node.parent.kind === 273 /* SourceFile */ || node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 238 /* ModuleDeclaration */; + var isInAppropriateContext = node.parent.kind === 274 /* SourceFile */ || node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 239 /* ModuleDeclaration */; if (!isInAppropriateContext) { grammarErrorOnFirstToken(node, errorMessage); } @@ -49486,8 +49762,8 @@ var ts; // If we hit an export assignment in an illegal context, just bail out to avoid cascading errors. return; } - var container = node.parent.kind === 273 /* SourceFile */ ? node.parent : node.parent.parent; - if (container.kind === 238 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 274 /* SourceFile */ ? node.parent : node.parent.parent; + if (container.kind === 239 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { if (node.isExportEquals) { error(node, ts.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace); } @@ -49558,8 +49834,8 @@ var ts; return; } if (exportedDeclarationsCount > 1) { - for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { - var declaration = declarations_8[_i]; + for (var _i = 0, declarations_9 = declarations; _i < declarations_9.length; _i++) { + var declaration = declarations_9[_i]; if (isNotOverload(declaration)) { diagnostics.add(ts.createDiagnosticForNode(declaration, ts.Diagnostics.Cannot_redeclare_exported_variable_0, ts.unescapeLeadingUnderscores(id))); } @@ -49575,168 +49851,168 @@ var ts; return !ts.isAccessor(declaration); } function isNotOverload(declaration) { - return (declaration.kind !== 233 /* FunctionDeclaration */ && declaration.kind !== 153 /* MethodDeclaration */) || + return (declaration.kind !== 234 /* FunctionDeclaration */ && declaration.kind !== 154 /* MethodDeclaration */) || !!declaration.body; } function checkSourceElement(node) { if (!node) { return; } - if (ts.isInJavaScriptFile(node) && node.jsDoc) { - for (var _i = 0, _a = node.jsDoc; _i < _a.length; _i++) { - var tags = _a[_i].tags; - ts.forEach(tags, checkSourceElement); - } + if (ts.isInJavaScriptFile(node)) { + ts.forEach(node.jsDoc, function (_a) { + var tags = _a.tags; + return ts.forEach(tags, checkSourceElement); + }); } var kind = node.kind; if (cancellationToken) { // Only bother checking on a few construct kinds. We don't want to be excessively // hitting the cancellation token on every node we check. switch (kind) { - case 238 /* ModuleDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 233 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 234 /* FunctionDeclaration */: cancellationToken.throwIfCancellationRequested(); } } switch (kind) { - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return checkTypeParameter(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return checkParameter(node); - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return checkPropertyDeclaration(node); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: return checkSignatureDeclaration(node); - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: return checkMethodDeclaration(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return checkConstructorDeclaration(node); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return checkAccessorDeclaration(node); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return checkTypeReferenceNode(node); - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return checkTypePredicate(node); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return checkTypeQuery(node); - case 165 /* TypeLiteral */: + case 166 /* TypeLiteral */: return checkTypeLiteral(node); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return checkArrayType(node); - case 167 /* TupleType */: + case 168 /* TupleType */: return checkTupleType(node); - case 168 /* UnionType */: - case 169 /* IntersectionType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: return checkUnionOrIntersectionType(node); - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return checkSourceElement(node.type); - case 174 /* TypeOperator */: + case 175 /* TypeOperator */: return checkTypeOperator(node); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return checkConditionalType(node); - case 171 /* InferType */: + case 172 /* InferType */: return checkInferType(node); - case 178 /* ImportType */: + case 179 /* ImportType */: return checkImportType(node); - case 289 /* JSDocAugmentsTag */: + case 290 /* JSDocAugmentsTag */: return checkJSDocAugmentsTag(node); - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: return checkJSDocTypeAliasTag(node); - case 292 /* JSDocParameterTag */: + case 293 /* JSDocParameterTag */: return checkJSDocParameterTag(node); - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: checkSignatureDeclaration(node); // falls through - case 281 /* JSDocNonNullableType */: - case 280 /* JSDocNullableType */: - case 278 /* JSDocAllType */: - case 279 /* JSDocUnknownType */: - case 286 /* JSDocTypeLiteral */: + case 282 /* JSDocNonNullableType */: + case 281 /* JSDocNullableType */: + case 279 /* JSDocAllType */: + case 280 /* JSDocUnknownType */: + case 287 /* JSDocTypeLiteral */: checkJSDocTypeIsInJsFile(node); ts.forEachChild(node, checkSourceElement); return; - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: checkJSDocVariadicType(node); return; - case 277 /* JSDocTypeExpression */: + case 278 /* JSDocTypeExpression */: return checkSourceElement(node.type); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return checkIndexedAccessType(node); - case 176 /* MappedType */: + case 177 /* MappedType */: return checkMappedType(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return checkFunctionDeclaration(node); - case 212 /* Block */: - case 239 /* ModuleBlock */: + case 213 /* Block */: + case 240 /* ModuleBlock */: return checkBlock(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return checkVariableStatement(node); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return checkExpressionStatement(node); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return checkIfStatement(node); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return checkDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return checkWhileStatement(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return checkForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return checkForInStatement(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return checkForOfStatement(node); - case 222 /* ContinueStatement */: - case 223 /* BreakStatement */: + case 223 /* ContinueStatement */: + case 224 /* BreakStatement */: return checkBreakOrContinueStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return checkReturnStatement(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return checkWithStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return checkSwitchStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return checkLabeledStatement(node); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return checkThrowStatement(node); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return checkTryStatement(node); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return checkVariableDeclaration(node); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return checkBindingElement(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return checkClassDeclaration(node); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return checkInterfaceDeclaration(node); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return checkTypeAliasDeclaration(node); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return checkEnumDeclaration(node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return checkModuleDeclaration(node); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return checkImportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return checkImportEqualsDeclaration(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return checkExportDeclaration(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return checkExportAssignment(node); - case 214 /* EmptyStatement */: - case 230 /* DebuggerStatement */: + case 215 /* EmptyStatement */: + case 231 /* DebuggerStatement */: checkGrammarStatementInAmbientContext(node); return; - case 252 /* MissingDeclaration */: + case 253 /* MissingDeclaration */: return checkMissingDeclaration(node); } } @@ -49759,7 +50035,7 @@ var ts; if (!ts.isJSDocTypeExpression(parent)) { error(node, ts.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature); } - var paramTag = parent.parent; + var paramTag = node.parent.parent; if (!ts.isJSDocParameterTag(paramTag)) { error(node, ts.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature); return; @@ -49777,8 +50053,8 @@ var ts; function getTypeFromJSDocVariadicType(node) { var type = getTypeFromTypeNode(node.type); var parent = node.parent; - var paramTag = parent.parent; - if (ts.isJSDocTypeExpression(parent) && ts.isJSDocParameterTag(paramTag)) { + var paramTag = node.parent.parent; + if (ts.isJSDocTypeExpression(node.parent) && ts.isJSDocParameterTag(paramTag)) { // Else we will add a diagnostic, see `checkJSDocVariadicType`. var host_1 = ts.getHostSignatureFromJSDoc(paramTag); if (host_1) { @@ -49817,20 +50093,20 @@ var ts; } } function checkDeferredNodes() { - for (var _i = 0, deferredNodes_1 = deferredNodes; _i < deferredNodes_1.length; _i++) { - var node = deferredNodes_1[_i]; + for (var _i = 0, _a = deferredNodes; _i < _a.length; _i++) { + var node = _a[_i]; switch (node.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: checkFunctionExpressionOrObjectLiteralMethodDeferred(node); break; - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: checkAccessorDeclaration(node); break; - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: checkClassExpressionDeferred(node); break; } @@ -49845,9 +50121,9 @@ var ts; function unusedIsError(kind) { switch (kind) { case 0 /* Local */: - return compilerOptions.noUnusedLocals; + return !!compilerOptions.noUnusedLocals; case 1 /* Parameter */: - return compilerOptions.noUnusedParameters; + return !!compilerOptions.noUnusedParameters; default: return ts.Debug.assertNever(kind); } @@ -49963,13 +50239,13 @@ var ts; copySymbols(location.locals, meaning); } switch (location.kind) { - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: copySymbols(getSymbolOfNode(location).exports, meaning & 2623475 /* ModuleMember */); break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: copySymbols(getSymbolOfNode(location).exports, meaning & 8 /* EnumMember */); break; - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: var className = location.name; if (className) { copySymbol(location.symbol, meaning); @@ -49977,8 +50253,8 @@ var ts; // falls through // this fall-through is necessary because we would like to handle // type parameter inside class expression similar to how we handle it in classDeclaration and interface Declaration - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: // If we didn't come from static member of class or interface, // add the type parameters into the symbol table // (type parameters of classDeclaration/classExpression and interface are in member property of the symbol. @@ -49987,7 +50263,7 @@ var ts; copySymbols(getMembersOfSymbol(getSymbolOfNode(location)), meaning & 67901928 /* Type */); } break; - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: var funcName = location.name; if (funcName) { copySymbol(location.symbol, meaning); @@ -50035,28 +50311,28 @@ var ts; } function isTypeDeclaration(node) { switch (node.kind) { - case 147 /* TypeParameter */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 237 /* EnumDeclaration */: + case 148 /* TypeParameter */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 238 /* EnumDeclaration */: return true; + default: + return false; } } // True if the given identifier is part of a type reference - function isTypeReferenceIdentifier(entityName) { - var node = entityName; - while (node.parent && node.parent.kind === 145 /* QualifiedName */) { + function isTypeReferenceIdentifier(node) { + while (node.parent.kind === 146 /* QualifiedName */) { node = node.parent; } - return node.parent && node.parent.kind === 161 /* TypeReference */; + return node.parent.kind === 162 /* TypeReference */; } - function isHeritageClauseElementIdentifier(entityName) { - var node = entityName; - while (node.parent && node.parent.kind === 184 /* PropertyAccessExpression */) { + function isHeritageClauseElementIdentifier(node) { + while (node.parent.kind === 185 /* PropertyAccessExpression */) { node = node.parent; } - return node.parent && node.parent.kind === 206 /* ExpressionWithTypeArguments */; + return node.parent.kind === 207 /* ExpressionWithTypeArguments */; } function forEachEnclosingClass(node, callback) { var result; @@ -50084,14 +50360,14 @@ var ts; return !!forEachEnclosingClass(node, function (n) { return n === classDeclaration; }); } function getLeftSideOfImportEqualsOrExportAssignment(nodeOnRightSide) { - while (nodeOnRightSide.parent.kind === 145 /* QualifiedName */) { + while (nodeOnRightSide.parent.kind === 146 /* QualifiedName */) { nodeOnRightSide = nodeOnRightSide.parent; } - if (nodeOnRightSide.parent.kind === 242 /* ImportEqualsDeclaration */) { - return nodeOnRightSide.parent.moduleReference === nodeOnRightSide && nodeOnRightSide.parent; + if (nodeOnRightSide.parent.kind === 243 /* ImportEqualsDeclaration */) { + return nodeOnRightSide.parent.moduleReference === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } - if (nodeOnRightSide.parent.kind === 248 /* ExportAssignment */) { - return nodeOnRightSide.parent.expression === nodeOnRightSide && nodeOnRightSide.parent; + if (nodeOnRightSide.parent.kind === 249 /* ExportAssignment */) { + return nodeOnRightSide.parent.expression === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } return undefined; } @@ -50116,7 +50392,7 @@ var ts; node = parent; parent = parent.parent; } - if (parent && parent.kind === 178 /* ImportType */ && parent.qualifier === node) { + if (parent && parent.kind === 179 /* ImportType */ && parent.qualifier === node) { return parent; } return undefined; @@ -50126,7 +50402,7 @@ var ts; return getSymbolOfNode(entityName.parent); } if (ts.isInJavaScriptFile(entityName) && - entityName.parent.kind === 184 /* PropertyAccessExpression */ && + entityName.parent.kind === 185 /* PropertyAccessExpression */ && entityName.parent === entityName.parent.parent.left) { // Check if this is a special property assignment var specialPropertyAssignmentSymbol = getSpecialPropertyAssignmentSymbolFromEntityName(entityName); @@ -50134,7 +50410,7 @@ var ts; return specialPropertyAssignmentSymbol; } } - if (entityName.parent.kind === 248 /* ExportAssignment */ && ts.isEntityNameExpression(entityName)) { + if (entityName.parent.kind === 249 /* ExportAssignment */ && ts.isEntityNameExpression(entityName)) { // Even an entity name expression that doesn't resolve as an entityname may still typecheck as a property access expression var success = resolveEntityName(entityName, /*all meanings*/ 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */, /*ignoreErrors*/ true); @@ -50144,7 +50420,7 @@ var ts; } else if (!ts.isPropertyAccessExpression(entityName) && isInRightSideOfImportOrExportAssignment(entityName)) { // Since we already checked for ExportAssignment, this really could only be an Import - var importEqualsDeclaration = ts.getAncestor(entityName, 242 /* ImportEqualsDeclaration */); + var importEqualsDeclaration = ts.getAncestor(entityName, 243 /* ImportEqualsDeclaration */); ts.Debug.assert(importEqualsDeclaration !== undefined); return getSymbolOfPartOfRightHandSideOfImportEquals(entityName, /*dontResolveAlias*/ true); } @@ -50162,7 +50438,7 @@ var ts; if (isHeritageClauseElementIdentifier(entityName)) { var meaning = 0 /* None */; // In an interface or class, we're definitely interested in a type. - if (entityName.parent.kind === 206 /* ExpressionWithTypeArguments */) { + if (entityName.parent.kind === 207 /* ExpressionWithTypeArguments */) { meaning = 67901928 /* Type */; // In a class 'extends' clause we are also looking for a value. if (ts.isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent)) { @@ -50178,10 +50454,10 @@ var ts; return entityNameSymbol; } } - if (entityName.parent.kind === 292 /* JSDocParameterTag */) { + if (entityName.parent.kind === 293 /* JSDocParameterTag */) { return ts.getParameterSymbolFromJSDoc(entityName.parent); } - if (entityName.parent.kind === 147 /* TypeParameter */ && entityName.parent.parent.kind === 295 /* JSDocTemplateTag */) { + if (entityName.parent.kind === 148 /* TypeParameter */ && entityName.parent.parent.kind === 296 /* JSDocTemplateTag */) { ts.Debug.assert(!ts.isInJavaScriptFile(entityName)); // Otherwise `isDeclarationName` would have been true. var typeParameter = ts.getTypeParameterFromJsDoc(entityName.parent); return typeParameter && typeParameter.symbol; @@ -50198,12 +50474,12 @@ var ts; } return resolveEntityName(entityName, 67216319 /* Value */, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); } - else if (entityName.kind === 184 /* PropertyAccessExpression */ || entityName.kind === 145 /* QualifiedName */) { + else if (entityName.kind === 185 /* PropertyAccessExpression */ || entityName.kind === 146 /* QualifiedName */) { var links = getNodeLinks(entityName); if (links.resolvedSymbol) { return links.resolvedSymbol; } - if (entityName.kind === 184 /* PropertyAccessExpression */) { + if (entityName.kind === 185 /* PropertyAccessExpression */) { checkPropertyAccessExpression(entityName); } else { @@ -50213,41 +50489,43 @@ var ts; } } else if (isTypeReferenceIdentifier(entityName)) { - var meaning = entityName.parent.kind === 161 /* TypeReference */ ? 67901928 /* Type */ : 1920 /* Namespace */; + var meaning = entityName.parent.kind === 162 /* TypeReference */ ? 67901928 /* Type */ : 1920 /* Namespace */; return resolveEntityName(entityName, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); } - else if (entityName.parent.kind === 261 /* JsxAttribute */) { + else if (entityName.parent.kind === 262 /* JsxAttribute */) { return getJsxAttributePropertySymbol(entityName.parent); } - if (entityName.parent.kind === 160 /* TypePredicate */) { + if (entityName.parent.kind === 161 /* TypePredicate */) { return resolveEntityName(entityName, /*meaning*/ 1 /* FunctionScopedVariable */); } // Do we want to return undefined here? return undefined; } function getSymbolAtLocation(node) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { return ts.isExternalModule(node) ? getMergedSymbol(node.symbol) : undefined; } + var parent = node.parent; + var grandParent = parent.parent; if (node.flags & 8388608 /* InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further return undefined; } if (isDeclarationNameOrImportPropertyName(node)) { // This is a declaration, call getSymbolOfNode - return getSymbolOfNode(node.parent); + return getSymbolOfNode(parent); } else if (ts.isLiteralComputedPropertyDeclarationName(node)) { - return getSymbolOfNode(node.parent.parent); + return getSymbolOfNode(parent.parent); } if (node.kind === 71 /* Identifier */) { if (isInRightSideOfImportOrExportAssignment(node)) { return getSymbolOfEntityNameOrPropertyAccessExpression(node); } - else if (node.parent.kind === 181 /* BindingElement */ && - node.parent.parent.kind === 179 /* ObjectBindingPattern */ && - node === node.parent.propertyName) { - var typeOfPattern = getTypeOfNode(node.parent.parent); + else if (parent.kind === 182 /* BindingElement */ && + grandParent.kind === 180 /* ObjectBindingPattern */ && + node === parent.propertyName) { + var typeOfPattern = getTypeOfNode(grandParent); var propertyDeclaration = typeOfPattern && getPropertyOfType(typeOfPattern, node.escapedText); if (propertyDeclaration) { return propertyDeclaration; @@ -50256,8 +50534,8 @@ var ts; } switch (node.kind) { case 71 /* Identifier */: - case 184 /* PropertyAccessExpression */: - case 145 /* QualifiedName */: + case 185 /* PropertyAccessExpression */: + case 146 /* QualifiedName */: return getSymbolOfEntityNameOrPropertyAccessExpression(node); case 99 /* ThisKeyword */: var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); @@ -50271,14 +50549,14 @@ var ts; return checkExpression(node).symbol; } // falls through - case 173 /* ThisType */: + case 174 /* ThisType */: return getTypeFromThisTypeNode(node).symbol; case 97 /* SuperKeyword */: return checkExpression(node).symbol; case 123 /* ConstructorKeyword */: // constructor keyword for an overload, should take us to the definition if it exist var constructorDeclaration = node.parent; - if (constructorDeclaration && constructorDeclaration.kind === 154 /* Constructor */) { + if (constructorDeclaration && constructorDeclaration.kind === 155 /* Constructor */) { return constructorDeclaration.parent.symbol; } return undefined; @@ -50289,7 +50567,7 @@ var ts; // 3). Dynamic import call or require in javascript // 4). type A = import("./f/*gotToDefinitionHere*/oo") if ((ts.isExternalModuleImportEqualsDeclaration(node.parent.parent) && ts.getExternalModuleImportEqualsDeclarationExpression(node.parent.parent) === node) || - ((node.parent.kind === 243 /* ImportDeclaration */ || node.parent.kind === 249 /* ExportDeclaration */) && node.parent.moduleSpecifier === node) || + ((node.parent.kind === 244 /* ImportDeclaration */ || node.parent.kind === 250 /* ExportDeclaration */) && node.parent.moduleSpecifier === node) || ((ts.isInJavaScriptFile(node) && ts.isRequireCall(node.parent, /*checkArgumentIsStringLiteralLike*/ false)) || ts.isImportCall(node.parent)) || (ts.isLiteralTypeNode(node.parent) && ts.isLiteralImportTypeNode(node.parent.parent) && node.parent.parent.argument === node.parent)) { return resolveExternalModuleName(node, node); @@ -50297,24 +50575,24 @@ var ts; // falls through case 8 /* NumericLiteral */: // index access - var objectType = ts.isElementAccessExpression(node.parent) - ? node.parent.argumentExpression === node ? getTypeOfExpression(node.parent.expression) : undefined - : ts.isLiteralTypeNode(node.parent) && ts.isIndexedAccessTypeNode(node.parent.parent) - ? getTypeFromTypeNode(node.parent.parent.objectType) + var objectType = ts.isElementAccessExpression(parent) + ? parent.argumentExpression === node ? getTypeOfExpression(parent.expression) : undefined + : ts.isLiteralTypeNode(parent) && ts.isIndexedAccessTypeNode(grandParent) + ? getTypeFromTypeNode(grandParent.objectType) : undefined; return objectType && getPropertyOfType(objectType, ts.escapeLeadingUnderscores(node.text)); case 79 /* DefaultKeyword */: case 89 /* FunctionKeyword */: case 36 /* EqualsGreaterThanToken */: return getSymbolOfNode(node.parent); - case 178 /* ImportType */: + case 179 /* ImportType */: return ts.isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal) : undefined; default: return undefined; } } function getShorthandAssignmentValueSymbol(location) { - if (location && location.kind === 270 /* ShorthandPropertyAssignment */) { + if (location && location.kind === 271 /* ShorthandPropertyAssignment */) { return resolveEntityName(location.name, 67216319 /* Value */ | 2097152 /* Alias */); } return undefined; @@ -50328,7 +50606,7 @@ var ts; function getTypeOfNode(node) { if (node.flags & 8388608 /* InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further - return unknownType; + return errorType; } if (ts.isPartOfTypeNode(node)) { var typeFromTypeNode = getTypeFromTypeNode(node); @@ -50375,10 +50653,10 @@ var ts; var symbol = getSymbolAtLocation(node); if (symbol) { var declaredType = getDeclaredTypeOfSymbol(symbol); - return declaredType !== unknownType ? declaredType : getTypeOfSymbol(symbol); + return declaredType !== errorType ? declaredType : getTypeOfSymbol(symbol); } } - return unknownType; + return errorType; } // Gets the type of object literal or array literal of destructuring assignment. // { a } from @@ -50387,32 +50665,32 @@ var ts; // [ a ] from // [a] = [ some array ...] function getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr) { - ts.Debug.assert(expr.kind === 183 /* ObjectLiteralExpression */ || expr.kind === 182 /* ArrayLiteralExpression */); + ts.Debug.assert(expr.kind === 184 /* ObjectLiteralExpression */ || expr.kind === 183 /* ArrayLiteralExpression */); // If this is from "for of" // for ( { a } of elems) { // } - if (expr.parent.kind === 221 /* ForOfStatement */) { + if (expr.parent.kind === 222 /* ForOfStatement */) { var iteratedType = checkRightHandSideOfForOf(expr.parent.expression, expr.parent.awaitModifier); - return checkDestructuringAssignment(expr, iteratedType || unknownType); + return checkDestructuringAssignment(expr, iteratedType || errorType); } // If this is from "for" initializer // for ({a } = elems[0];.....) { } - if (expr.parent.kind === 199 /* BinaryExpression */) { + if (expr.parent.kind === 200 /* BinaryExpression */) { var iteratedType = getTypeOfExpression(expr.parent.right); - return checkDestructuringAssignment(expr, iteratedType || unknownType); + return checkDestructuringAssignment(expr, iteratedType || errorType); } // If this is from nested object binding pattern // for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { - if (expr.parent.kind === 269 /* PropertyAssignment */) { + if (expr.parent.kind === 270 /* PropertyAssignment */) { var typeOfParentObjectLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr.parent.parent); - return checkObjectLiteralDestructuringPropertyAssignment(typeOfParentObjectLiteral || unknownType, expr.parent); + return checkObjectLiteralDestructuringPropertyAssignment(typeOfParentObjectLiteral || errorType, expr.parent); // TODO: GH#18217 } // Array literal assignment - array destructuring pattern - ts.Debug.assert(expr.parent.kind === 182 /* ArrayLiteralExpression */); + ts.Debug.assert(expr.parent.kind === 183 /* ArrayLiteralExpression */); // [{ property1: p1, property2 }] = elems; var typeOfArrayLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr.parent); - var elementType = checkIteratedTypeOrElementType(typeOfArrayLiteral || unknownType, expr.parent, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || unknownType; - return checkArrayLiteralDestructuringElementAssignment(expr.parent, typeOfArrayLiteral, expr.parent.elements.indexOf(expr), elementType || unknownType); + var elementType = checkIteratedTypeOrElementType(typeOfArrayLiteral || errorType, expr.parent, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || errorType; + return checkArrayLiteralDestructuringElementAssignment(expr.parent, typeOfArrayLiteral, expr.parent.elements.indexOf(expr), elementType || errorType); // TODO: GH#18217 } // Gets the property symbol corresponding to the property in destructuring assignment // 'property1' from @@ -50483,11 +50761,11 @@ var ts; return target; } // Emitter support - function isArgumentsLocalBinding(node) { - if (!ts.isGeneratedIdentifier(node)) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function isArgumentsLocalBinding(nodeIn) { + if (!ts.isGeneratedIdentifier(nodeIn)) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { - var isPropertyName_1 = node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.name === node; + var isPropertyName_1 = node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.name === node; return !isPropertyName_1 && getReferencedValueSymbol(node) === argumentsSymbol; } } @@ -50518,13 +50796,12 @@ var ts; } } function isNameOfModuleOrEnumDeclaration(node) { - var parent = node.parent; - return parent && ts.isModuleOrEnumDeclaration(parent) && node === parent.name; + return ts.isModuleOrEnumDeclaration(node.parent) && node === node.parent.name; } // When resolved as an expression identifier, if the given node references an exported entity, return the declaration // node of the exported entity's container. Otherwise, return undefined. - function getReferencedExportContainer(node, prefixLocals) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedExportContainer(nodeIn, prefixLocals) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { // When resolving the export container for the name of a module or enum // declaration, we need to start resolution at the declaration's container. @@ -50544,7 +50821,7 @@ var ts; } var parentSymbol_1 = getParentOfSymbol(symbol); if (parentSymbol_1) { - if (parentSymbol_1.flags & 512 /* ValueModule */ && parentSymbol_1.valueDeclaration.kind === 273 /* SourceFile */) { + if (parentSymbol_1.flags & 512 /* ValueModule */ && parentSymbol_1.valueDeclaration.kind === 274 /* SourceFile */) { var symbolFile = parentSymbol_1.valueDeclaration; var referenceFile = ts.getSourceFileOfNode(node); // If `node` accesses an export and that export isn't in the same file, then symbol is a namespace export, so return undefined. @@ -50558,8 +50835,8 @@ var ts; } // When resolved as an expression identifier, if the given node references an import, return the declaration of // that import. Otherwise, return undefined. - function getReferencedImportDeclaration(node) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedImportDeclaration(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { var symbol = getReferencedValueSymbol(node); // We should only get the declaration of an alias if there isn't a local value @@ -50599,7 +50876,7 @@ var ts; // they will not collide with anything var isDeclaredInLoop = nodeLinks_1.flags & 262144 /* BlockScopedBindingInLoop */; var inLoopInitializer = ts.isIterationStatement(container, /*lookInLabeledStatements*/ false); - var inLoopBodyBlock = container.kind === 212 /* Block */ && ts.isIterationStatement(container.parent, /*lookInLabeledStatements*/ false); + var inLoopBodyBlock = container.kind === 213 /* Block */ && ts.isIterationStatement(container.parent, /*lookInLabeledStatements*/ false); links.isDeclarationWithCollidingName = !ts.isBlockScopedContainerTopLevel(container) && (!isDeclaredInLoop || (!inLoopInitializer && !inLoopBodyBlock)); } else { @@ -50614,9 +50891,9 @@ var ts; // When resolved as an expression identifier, if the given node references a nested block scoped entity with // a name that either hides an existing name or might hide it when compiled downlevel, // return the declaration of that entity. Otherwise, return undefined. - function getReferencedDeclarationWithCollidingName(node) { - if (!ts.isGeneratedIdentifier(node)) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedDeclarationWithCollidingName(nodeIn) { + if (!ts.isGeneratedIdentifier(nodeIn)) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { var symbol = getReferencedValueSymbol(node); if (symbol && isSymbolOfDeclarationWithCollidingName(symbol)) { @@ -50628,8 +50905,8 @@ var ts; } // Return true if the given node is a declaration of a nested block scoped entity with a name that either hides an // existing name or might hide a name when compiled downlevel - function isDeclarationWithCollidingName(node) { - node = ts.getParseTreeNode(node, ts.isDeclaration); + function isDeclarationWithCollidingName(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isDeclaration); if (node) { var symbol = getSymbolOfNode(node); if (symbol) { @@ -50640,16 +50917,16 @@ var ts; } function isValueAliasDeclaration(node) { switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: - case 244 /* ImportClause */: - case 245 /* NamespaceImport */: - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 243 /* ImportEqualsDeclaration */: + case 245 /* ImportClause */: + case 246 /* NamespaceImport */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: return isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: var exportClause = node.exportClause; - return exportClause && ts.forEach(exportClause.elements, isValueAliasDeclaration); - case 248 /* ExportAssignment */: + return !!exportClause && ts.some(exportClause.elements, isValueAliasDeclaration); + case 249 /* ExportAssignment */: return node.expression && node.expression.kind === 71 /* Identifier */ ? isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol) @@ -50657,9 +50934,9 @@ var ts; } return false; } - function isTopLevelValueImportEqualsWithEntityName(node) { - node = ts.getParseTreeNode(node, ts.isImportEqualsDeclaration); - if (node === undefined || node.parent.kind !== 273 /* SourceFile */ || !ts.isInternalModuleImportEqualsDeclaration(node)) { + function isTopLevelValueImportEqualsWithEntityName(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isImportEqualsDeclaration); + if (node === undefined || node.parent.kind !== 274 /* SourceFile */ || !ts.isInternalModuleImportEqualsDeclaration(node)) { // parent is not source file or it is not reference to internal module return false; } @@ -50673,11 +50950,11 @@ var ts; } // const enums and modules that contain only const enums are not considered values from the emit perspective // unless 'preserveConstEnums' option is set to true - return target.flags & 67216319 /* Value */ && + return !!(target.flags & 67216319 /* Value */) && (compilerOptions.preserveConstEnums || !isConstEnumOrConstEnumOnlyModule(target)); } function isConstEnumOrConstEnumOnlyModule(s) { - return isConstEnumSymbol(s) || s.constEnumOnlyModule; + return isConstEnumSymbol(s) || !!s.constEnumOnlyModule; } function isReferencedAliasDeclaration(node, checkChildren) { if (ts.isAliasSymbolDeclaration(node)) { @@ -50685,14 +50962,14 @@ var ts; if (symbol && getSymbolLinks(symbol).referenced) { return true; } - var target = getSymbolLinks(symbol).target; + var target = getSymbolLinks(symbol).target; // TODO: GH#18217 if (target && ts.getModifierFlags(node) & 1 /* Export */ && target.flags & 67216319 /* Value */) { // An `export import ... =` of a value symbol is always considered referenced return true; } } if (checkChildren) { - return ts.forEachChild(node, function (node) { return isReferencedAliasDeclaration(node, checkChildren); }); + return !!ts.forEachChild(node, function (node) { return isReferencedAliasDeclaration(node, checkChildren); }); } return false; } @@ -50719,10 +50996,10 @@ var ts; return false; } function isRequiredInitializedParameter(parameter) { - return strictNullChecks && + return !!strictNullChecks && !isOptionalParameter(parameter) && !ts.isJSDocParameterTag(parameter) && - parameter.initializer && + !!parameter.initializer && !ts.hasModifier(parameter, 92 /* ParameterPropertyModifier */); } function isOptionalUninitializedParameterProperty(parameter) { @@ -50732,7 +51009,7 @@ var ts; ts.hasModifier(parameter, 92 /* ParameterPropertyModifier */); } function getNodeCheckFlags(node) { - return getNodeLinks(node).flags; + return getNodeLinks(node).flags || 0; } function getEnumMemberValue(node) { computeEnumMemberValues(node.parent); @@ -50740,15 +51017,15 @@ var ts; } function canHaveConstantValue(node) { switch (node.kind) { - case 272 /* EnumMember */: - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: + case 273 /* EnumMember */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: return true; } return false; } function getConstantValue(node) { - if (node.kind === 272 /* EnumMember */) { + if (node.kind === 273 /* EnumMember */) { return getEnumMemberValue(node); } var symbol = getNodeLinks(node).resolvedSymbol; @@ -50761,11 +51038,11 @@ var ts; return undefined; } function isFunctionType(type) { - return type.flags & 65536 /* Object */ && getSignaturesOfType(type, 0 /* Call */).length > 0; + return !!(type.flags & 131072 /* Object */) && getSignaturesOfType(type, 0 /* Call */).length > 0; } - function getTypeReferenceSerializationKind(typeName, location) { + function getTypeReferenceSerializationKind(typeNameIn, location) { // ensure both `typeName` and `location` are parse tree nodes. - typeName = ts.getParseTreeNode(typeName, ts.isEntityName); + var typeName = ts.getParseTreeNode(typeNameIn, ts.isEntityName); if (!typeName) return ts.TypeReferenceSerializationKind.Unknown; if (location) { @@ -50789,31 +51066,31 @@ var ts; } // We might not be able to resolve type symbol so use unknown type in that case (eg error case) if (!typeSymbol) { - return ts.TypeReferenceSerializationKind.ObjectType; - } - var type = getDeclaredTypeOfSymbol(typeSymbol); - if (type === unknownType) { return ts.TypeReferenceSerializationKind.Unknown; } - else if (type.flags & 1 /* Any */) { + var type = getDeclaredTypeOfSymbol(typeSymbol); + if (type === errorType) { + return ts.TypeReferenceSerializationKind.Unknown; + } + else if (type.flags & 3 /* AnyOrUnknown */) { return ts.TypeReferenceSerializationKind.ObjectType; } - else if (isTypeAssignableToKind(type, 2048 /* Void */ | 12288 /* Nullable */ | 16384 /* Never */)) { + else if (isTypeAssignableToKind(type, 4096 /* Void */ | 24576 /* Nullable */ | 32768 /* Never */)) { return ts.TypeReferenceSerializationKind.VoidNullableOrNeverType; } - else if (isTypeAssignableToKind(type, 136 /* BooleanLike */)) { + else if (isTypeAssignableToKind(type, 272 /* BooleanLike */)) { return ts.TypeReferenceSerializationKind.BooleanType; } - else if (isTypeAssignableToKind(type, 84 /* NumberLike */)) { + else if (isTypeAssignableToKind(type, 168 /* NumberLike */)) { return ts.TypeReferenceSerializationKind.NumberLikeType; } - else if (isTypeAssignableToKind(type, 34 /* StringLike */)) { + else if (isTypeAssignableToKind(type, 68 /* StringLike */)) { return ts.TypeReferenceSerializationKind.StringLikeType; } else if (isTupleType(type)) { return ts.TypeReferenceSerializationKind.ArrayLikeType; } - else if (isTypeAssignableToKind(type, 1536 /* ESSymbolLike */)) { + else if (isTypeAssignableToKind(type, 3072 /* ESSymbolLike */)) { return ts.TypeReferenceSerializationKind.ESSymbolType; } else if (isFunctionType(type)) { @@ -50826,8 +51103,8 @@ var ts; return ts.TypeReferenceSerializationKind.ObjectType; } } - function createTypeOfDeclaration(declaration, enclosingDeclaration, flags, tracker, addUndefined) { - declaration = ts.getParseTreeNode(declaration, ts.isVariableLikeOrAccessor); + function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker, addUndefined) { + var declaration = ts.getParseTreeNode(declarationIn, ts.isVariableLikeOrAccessor); if (!declaration) { return ts.createToken(119 /* AnyKeyword */); } @@ -50835,8 +51112,8 @@ var ts; var symbol = getSymbolOfNode(declaration); var type = symbol && !(symbol.flags & (2048 /* TypeLiteral */ | 131072 /* Signature */)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) - : unknownType; - if (type.flags & 1024 /* UniqueESSymbol */ && + : errorType; + if (type.flags & 2048 /* UniqueESSymbol */ && type.symbol === symbol) { flags |= 1048576 /* AllowUniqueESSymbolType */; } @@ -50845,16 +51122,16 @@ var ts; } return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); } - function createReturnTypeOfSignatureDeclaration(signatureDeclaration, enclosingDeclaration, flags, tracker) { - signatureDeclaration = ts.getParseTreeNode(signatureDeclaration, ts.isFunctionLike); + function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { + var signatureDeclaration = ts.getParseTreeNode(signatureDeclarationIn, ts.isFunctionLike); if (!signatureDeclaration) { return ts.createToken(119 /* AnyKeyword */); } var signature = getSignatureFromDeclaration(signatureDeclaration); return nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); } - function createTypeOfExpression(expr, enclosingDeclaration, flags, tracker) { - expr = ts.getParseTreeNode(expr, ts.isExpression); + function createTypeOfExpression(exprIn, enclosingDeclaration, flags, tracker) { + var expr = ts.getParseTreeNode(exprIn, ts.isExpression); if (!expr) { return ts.createToken(119 /* AnyKeyword */); } @@ -50880,9 +51157,9 @@ var ts; } return resolveName(location, reference.escapedText, 67216319 /* Value */ | 1048576 /* ExportValue */ | 2097152 /* Alias */, /*nodeNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); } - function getReferencedValueDeclaration(reference) { - if (!ts.isGeneratedIdentifier(reference)) { - reference = ts.getParseTreeNode(reference, ts.isIdentifier); + function getReferencedValueDeclaration(referenceIn) { + if (!ts.isGeneratedIdentifier(referenceIn)) { + var reference = ts.getParseTreeNode(referenceIn, ts.isIdentifier); if (reference) { var symbol = getReferencedValueSymbol(reference); if (symbol) { @@ -50895,7 +51172,7 @@ var ts; function isLiteralConstDeclaration(node) { if (ts.isConst(node)) { var type = getTypeOfSymbol(getSymbolOfNode(node)); - return !!(type.flags & 96 /* StringOrNumberLiteral */ && type.flags & 8388608 /* FreshLiteral */); + return !!(type.flags & 192 /* StringOrNumberLiteral */ && type.flags & 33554432 /* FreshLiteral */); } return false; } @@ -50940,7 +51217,7 @@ var ts; }, getNodeCheckFlags: function (node) { node = ts.getParseTreeNode(node); - return node ? getNodeCheckFlags(node) : undefined; + return node ? getNodeCheckFlags(node) : 0; }, isTopLevelValueImportEqualsWithEntityName: isTopLevelValueImportEqualsWithEntityName, isDeclarationVisible: isDeclarationVisible, @@ -50953,8 +51230,8 @@ var ts; createLiteralConstValue: createLiteralConstValue, isSymbolAccessible: isSymbolAccessible, isEntityNameVisible: isEntityNameVisible, - getConstantValue: function (node) { - node = ts.getParseTreeNode(node, canHaveConstantValue); + getConstantValue: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue(node) : undefined; }, collectLinkedAliases: collectLinkedAliases, @@ -50967,20 +51244,20 @@ var ts; getTypeReferenceDirectivesForEntityName: getTypeReferenceDirectivesForEntityName, getTypeReferenceDirectivesForSymbol: getTypeReferenceDirectivesForSymbol, isLiteralConstDeclaration: isLiteralConstDeclaration, - isLateBound: function (node) { - node = ts.getParseTreeNode(node, ts.isDeclaration); + isLateBound: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isDeclaration); var symbol = node && getSymbolOfNode(node); return !!(symbol && ts.getCheckFlags(symbol) & 1024 /* Late */); }, getJsxFactoryEntity: function (location) { return location ? (getJsxNamespace(location), (ts.getSourceFileOfNode(location).localJsxFactory || _jsxFactoryEntity)) : _jsxFactoryEntity; }, getAllAccessorDeclarations: function (accessor) { - accessor = ts.getParseTreeNode(accessor, ts.isGetOrSetAccessorDeclaration); - var otherKind = accessor.kind === 156 /* SetAccessor */ ? 155 /* GetAccessor */ : 156 /* SetAccessor */; + accessor = ts.getParseTreeNode(accessor, ts.isGetOrSetAccessorDeclaration); // TODO: GH#18217 + var otherKind = accessor.kind === 157 /* SetAccessor */ ? 156 /* GetAccessor */ : 157 /* SetAccessor */; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(accessor), otherKind); var firstAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? otherAccessor : accessor; var secondAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? accessor : otherAccessor; - var setAccessor = accessor.kind === 156 /* SetAccessor */ ? accessor : otherAccessor; - var getAccessor = accessor.kind === 155 /* GetAccessor */ ? accessor : otherAccessor; + var setAccessor = accessor.kind === 157 /* SetAccessor */ ? accessor : otherAccessor; + var getAccessor = accessor.kind === 156 /* GetAccessor */ ? accessor : otherAccessor; return { firstAccessor: firstAccessor, secondAccessor: secondAccessor, @@ -50990,7 +51267,7 @@ var ts; } }; function isInHeritageClause(node) { - return node.parent && node.parent.kind === 206 /* ExpressionWithTypeArguments */ && node.parent.parent && node.parent.parent.kind === 267 /* HeritageClause */; + return node.parent && node.parent.kind === 207 /* ExpressionWithTypeArguments */ && node.parent.parent && node.parent.parent.kind === 268 /* HeritageClause */; } // defined here to avoid outer scope pollution function getTypeReferenceDirectivesForEntityName(node) { @@ -51002,7 +51279,7 @@ var ts; // qualified names can only be used as types\namespaces // identifiers are treated as values only if they appear in type queries var meaning = 67901928 /* Type */ | 1920 /* Namespace */; - if ((node.kind === 71 /* Identifier */ && isInTypeQuery(node)) || (node.kind === 184 /* PropertyAccessExpression */ && !isInHeritageClause(node))) { + if ((node.kind === 71 /* Identifier */ && isInTypeQuery(node)) || (node.kind === 185 /* PropertyAccessExpression */ && !isInHeritageClause(node))) { meaning = 67216319 /* Value */ | 1048576 /* ExportValue */; } var symbol = resolveEntityName(node, meaning, /*ignoreErrors*/ true); @@ -51053,7 +51330,7 @@ var ts; break; } } - if (current.valueDeclaration && current.valueDeclaration.kind === 273 /* SourceFile */ && current.flags & 512 /* ValueModule */) { + if (current.valueDeclaration && current.valueDeclaration.kind === 274 /* SourceFile */ && current.flags & 512 /* ValueModule */) { return false; } // check that at least one declaration of top level symbol originates from type declaration file @@ -51068,12 +51345,12 @@ var ts; } } function getExternalModuleFileFromDeclaration(declaration) { - var specifier = declaration.kind === 238 /* ModuleDeclaration */ ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); - var moduleSymbol = resolveExternalModuleNameWorker(specifier, specifier, /*moduleNotFoundError*/ undefined); + var specifier = declaration.kind === 239 /* ModuleDeclaration */ ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); + var moduleSymbol = resolveExternalModuleNameWorker(specifier, specifier, /*moduleNotFoundError*/ undefined); // TODO: GH#18217 if (!moduleSymbol) { return undefined; } - return ts.getDeclarationOfKind(moduleSymbol, 273 /* SourceFile */); + return ts.getDeclarationOfKind(moduleSymbol, 274 /* SourceFile */); } function initializeTypeChecker() { // Bind all source files and propagate errors @@ -51104,7 +51381,7 @@ var ts; }); } } - // We do global augmentations seperately from module augmentations (and before creating global types) because they + // We do global augmentations separately from module augmentations (and before creating global types) because they // 1. Affect global types. We won't have the correct global types until global augmentations are merged. Also, // 2. Module augmentation instantiation requires creating the type of a module, which, in turn, can require // checking for an export or property on the module (if export=) which, in turn, can fall back to the @@ -51127,7 +51404,7 @@ var ts; addToSymbolTable(globals, builtinGlobals, ts.Diagnostics.Declaration_name_conflicts_with_built_in_global_identifier_0); getSymbolLinks(undefinedSymbol).type = undefinedWideningType; getSymbolLinks(argumentsSymbol).type = getGlobalType("IArguments", /*arity*/ 0, /*reportErrors*/ true); - getSymbolLinks(unknownSymbol).type = unknownType; + getSymbolLinks(unknownSymbol).type = errorType; // Initialize special types globalArrayType = getGlobalType("Array", /*arity*/ 1, /*reportErrors*/ true); globalObjectType = getGlobalType("Object", /*arity*/ 0, /*reportErrors*/ true); @@ -51199,7 +51476,7 @@ var ts; case 16384 /* AsyncValues */: return "__asyncValues"; case 32768 /* ExportStar */: return "__exportStar"; case 65536 /* MakeTemplateObject */: return "__makeTemplateObject"; - default: ts.Debug.fail("Unrecognized helper"); + default: return ts.Debug.fail("Unrecognized helper"); } } function resolveHelpersModule(node, errorNode) { @@ -51217,14 +51494,14 @@ var ts; return false; } if (!ts.nodeCanBeDecorated(node, node.parent, node.parent.parent)) { - if (node.kind === 153 /* MethodDeclaration */ && !ts.nodeIsPresent(node.body)) { + if (node.kind === 154 /* MethodDeclaration */ && !ts.nodeIsPresent(node.body)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload); } else { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here); } } - else if (node.kind === 155 /* GetAccessor */ || node.kind === 156 /* SetAccessor */) { + else if (node.kind === 156 /* GetAccessor */ || node.kind === 157 /* SetAccessor */) { var accessors = ts.getAllAccessorDeclarations(node.parent.members, node); if (accessors.firstAccessor.decorators && node === accessors.secondAccessor) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name); @@ -51242,16 +51519,16 @@ var ts; for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; if (modifier.kind !== 132 /* ReadonlyKeyword */) { - if (node.kind === 150 /* PropertySignature */ || node.kind === 152 /* MethodSignature */) { + if (node.kind === 151 /* PropertySignature */ || node.kind === 153 /* MethodSignature */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_type_member, ts.tokenToString(modifier.kind)); } - if (node.kind === 159 /* IndexSignature */) { + if (node.kind === 160 /* IndexSignature */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_an_index_signature, ts.tokenToString(modifier.kind)); } } switch (modifier.kind) { case 76 /* ConstKeyword */: - if (node.kind !== 237 /* EnumDeclaration */ && node.parent.kind === 234 /* ClassDeclaration */) { + if (node.kind !== 238 /* EnumDeclaration */ && node.parent.kind === 235 /* ClassDeclaration */) { return grammarErrorOnNode(node, ts.Diagnostics.A_class_member_cannot_have_the_0_keyword, ts.tokenToString(76 /* ConstKeyword */)); } break; @@ -51271,7 +51548,7 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "async"); } - else if (node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 273 /* SourceFile */) { + else if (node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 274 /* SourceFile */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, text); } else if (flags & 128 /* Abstract */) { @@ -51294,10 +51571,10 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "static", "async"); } - else if (node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 273 /* SourceFile */) { + else if (node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 274 /* SourceFile */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, "static"); } - else if (node.kind === 148 /* Parameter */) { + else if (node.kind === 149 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "static"); } else if (flags & 128 /* Abstract */) { @@ -51310,7 +51587,7 @@ var ts; if (flags & 64 /* Readonly */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "readonly"); } - else if (node.kind !== 151 /* PropertyDeclaration */ && node.kind !== 150 /* PropertySignature */ && node.kind !== 159 /* IndexSignature */ && node.kind !== 148 /* Parameter */) { + else if (node.kind !== 152 /* PropertyDeclaration */ && node.kind !== 151 /* PropertySignature */ && node.kind !== 160 /* IndexSignature */ && node.kind !== 149 /* Parameter */) { // If node.kind === SyntaxKind.Parameter, checkParameter report an error if it's not a parameter property. return grammarErrorOnNode(modifier, ts.Diagnostics.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature); } @@ -51330,17 +51607,17 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "async"); } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "export"); } - else if (node.kind === 148 /* Parameter */) { + else if (node.kind === 149 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "export"); } flags |= 1 /* Export */; break; case 79 /* DefaultKeyword */: - var container = node.parent.kind === 273 /* SourceFile */ ? node.parent : node.parent.parent; - if (container.kind === 238 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 274 /* SourceFile */ ? node.parent : node.parent.parent; + if (container.kind === 239 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module); } flags |= 512 /* Default */; @@ -51352,13 +51629,13 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "declare"); } - else if (node.kind === 148 /* Parameter */) { + else if (node.kind === 149 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "declare"); } - else if ((node.parent.flags & 4194304 /* Ambient */) && node.parent.kind === 239 /* ModuleBlock */) { + else if ((node.parent.flags & 4194304 /* Ambient */) && node.parent.kind === 240 /* ModuleBlock */) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); } flags |= 2 /* Ambient */; @@ -51368,14 +51645,14 @@ var ts; if (flags & 128 /* Abstract */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "abstract"); } - if (node.kind !== 234 /* ClassDeclaration */) { - if (node.kind !== 153 /* MethodDeclaration */ && - node.kind !== 151 /* PropertyDeclaration */ && - node.kind !== 155 /* GetAccessor */ && - node.kind !== 156 /* SetAccessor */) { + if (node.kind !== 235 /* ClassDeclaration */) { + if (node.kind !== 154 /* MethodDeclaration */ && + node.kind !== 152 /* PropertyDeclaration */ && + node.kind !== 156 /* GetAccessor */ && + node.kind !== 157 /* SetAccessor */) { return grammarErrorOnNode(modifier, ts.Diagnostics.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration); } - if (!(node.parent.kind === 234 /* ClassDeclaration */ && ts.hasModifier(node.parent, 128 /* Abstract */))) { + if (!(node.parent.kind === 235 /* ClassDeclaration */ && ts.hasModifier(node.parent, 128 /* Abstract */))) { return grammarErrorOnNode(modifier, ts.Diagnostics.Abstract_methods_can_only_appear_within_an_abstract_class); } if (flags & 32 /* Static */) { @@ -51394,7 +51671,7 @@ var ts; else if (flags & 2 /* Ambient */ || node.parent.flags & 4194304 /* Ambient */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (node.kind === 148 /* Parameter */) { + else if (node.kind === 149 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "async"); } flags |= 256 /* Async */; @@ -51402,12 +51679,12 @@ var ts; break; } } - if (node.kind === 154 /* Constructor */) { + if (node.kind === 155 /* Constructor */) { if (flags & 32 /* Static */) { return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); } if (flags & 128 /* Abstract */) { - return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "abstract"); + return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "abstract"); // TODO: GH#18217 } else if (flags & 256 /* Async */) { return grammarErrorOnNode(lastAsync, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "async"); @@ -51415,20 +51692,21 @@ var ts; else if (flags & 64 /* Readonly */) { return grammarErrorOnNode(lastReadonly, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "readonly"); } - return; + return false; } - else if ((node.kind === 243 /* ImportDeclaration */ || node.kind === 242 /* ImportEqualsDeclaration */) && flags & 2 /* Ambient */) { + else if ((node.kind === 244 /* ImportDeclaration */ || node.kind === 243 /* ImportEqualsDeclaration */) && flags & 2 /* Ambient */) { return grammarErrorOnNode(lastDeclare, ts.Diagnostics.A_0_modifier_cannot_be_used_with_an_import_declaration, "declare"); } - else if (node.kind === 148 /* Parameter */ && (flags & 92 /* ParameterPropertyModifier */) && ts.isBindingPattern(node.name)) { + else if (node.kind === 149 /* Parameter */ && (flags & 92 /* ParameterPropertyModifier */) && ts.isBindingPattern(node.name)) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_may_not_be_declared_using_a_binding_pattern); } - else if (node.kind === 148 /* Parameter */ && (flags & 92 /* ParameterPropertyModifier */) && node.dotDotDotToken) { + else if (node.kind === 149 /* Parameter */ && (flags & 92 /* ParameterPropertyModifier */) && node.dotDotDotToken) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_cannot_be_declared_using_a_rest_parameter); } if (flags & 256 /* Async */) { return checkGrammarAsyncModifier(node, lastAsync); } + return false; } /** * true | false: Early return this value from checkGrammarModifiers. @@ -51443,37 +51721,37 @@ var ts; } function shouldReportBadModifier(node) { switch (node.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 154 /* Constructor */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 159 /* IndexSignature */: - case 238 /* ModuleDeclaration */: - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 249 /* ExportDeclaration */: - case 248 /* ExportAssignment */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 148 /* Parameter */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 155 /* Constructor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 160 /* IndexSignature */: + case 239 /* ModuleDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 250 /* ExportDeclaration */: + case 249 /* ExportAssignment */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 149 /* Parameter */: return false; default: - if (node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 273 /* SourceFile */) { + if (node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 274 /* SourceFile */) { return false; } switch (node.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return nodeHasAnyModifiersExcept(node, 120 /* AsyncKeyword */); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return nodeHasAnyModifiersExcept(node, 117 /* AbstractKeyword */); - case 235 /* InterfaceDeclaration */: - case 213 /* VariableStatement */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 214 /* VariableStatement */: + case 237 /* TypeAliasDeclaration */: return true; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return nodeHasAnyModifiersExcept(node, 76 /* ConstKeyword */); default: ts.Debug.fail(); @@ -51486,10 +51764,10 @@ var ts; } function checkGrammarAsyncModifier(node, asyncModifier) { switch (node.kind) { - case 153 /* MethodDeclaration */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return false; } return grammarErrorOnNode(asyncModifier, ts.Diagnostics._0_modifier_cannot_be_used_here, "async"); @@ -51499,6 +51777,7 @@ var ts; if (list && list.hasTrailingComma) { return grammarErrorAtPos(list[0], list.end - ",".length, ",".length, diag); } + return false; } function checkGrammarTypeParameterList(typeParameters, file) { if (typeParameters && typeParameters.length === 0) { @@ -51506,6 +51785,7 @@ var ts; var end = ts.skipTrivia(file.text, typeParameters.end) + ">".length; return grammarErrorAtPos(file, start, end - start, ts.Diagnostics.Type_parameter_list_cannot_be_empty); } + return false; } function checkGrammarParameterList(parameters) { var seenOptionalParameter = false; @@ -51586,10 +51866,10 @@ var ts; } if (parameter.type.kind !== 137 /* StringKeyword */ && parameter.type.kind !== 134 /* NumberKeyword */) { var type = getTypeFromTypeNode(parameter.type); - if (type.flags & 2 /* String */ || type.flags & 4 /* Number */) { + if (type.flags & 4 /* String */ || type.flags & 8 /* Number */) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead, ts.getTextOfNode(parameter.name), typeToString(type), typeToString(getTypeFromTypeNode(node.type))); } - if (type.flags & 131072 /* Union */ && allTypesAssignableToKind(type, 32 /* StringLiteral */, /*strict*/ true)) { + if (type.flags & 262144 /* Union */ && allTypesAssignableToKind(type, 64 /* StringLiteral */, /*strict*/ true)) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead); } return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_must_be_string_or_number); @@ -51597,6 +51877,7 @@ var ts; if (!node.type) { return grammarErrorOnNode(node, ts.Diagnostics.An_index_signature_must_have_a_type_annotation); } + return false; } function checkGrammarIndexSignature(node) { // Prevent cascading error by short-circuit @@ -51609,6 +51890,7 @@ var ts; var end = ts.skipTrivia(sourceFile.text, typeArguments.end) + ">".length; return grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.Type_argument_list_cannot_be_empty); } + return false; } function checkGrammarTypeArguments(node, typeArguments) { return checkGrammarForDisallowedTrailingComma(typeArguments) || @@ -51618,11 +51900,12 @@ var ts; if (args) { for (var _i = 0, args_5 = args; _i < args_5.length; _i++) { var arg = args_5[_i]; - if (arg.kind === 205 /* OmittedExpression */) { + if (arg.kind === 206 /* OmittedExpression */) { return grammarErrorAtPos(arg, arg.pos, 0, ts.Diagnostics.Argument_expression_expected); } } } + return false; } function checkGrammarArguments(args) { return checkGrammarForOmittedArgument(args); @@ -51636,7 +51919,7 @@ var ts; var listType = ts.tokenToString(node.token); return grammarErrorAtPos(node, types.pos, 0, ts.Diagnostics._0_list_cannot_be_empty, listType); } - return ts.forEach(types, checkGrammarExpressionWithTypeArguments); + return ts.some(types, checkGrammarExpressionWithTypeArguments); } function checkGrammarExpressionWithTypeArguments(node) { return checkGrammarTypeArguments(node, node.typeArguments); @@ -51694,19 +51977,20 @@ var ts; } function checkGrammarComputedPropertyName(node) { // If node is not a computedPropertyName, just skip the grammar checking - if (node.kind !== 146 /* ComputedPropertyName */) { + if (node.kind !== 147 /* ComputedPropertyName */) { return false; } var computedPropertyName = node; - if (computedPropertyName.expression.kind === 199 /* BinaryExpression */ && computedPropertyName.expression.operatorToken.kind === 26 /* CommaToken */) { + if (computedPropertyName.expression.kind === 200 /* BinaryExpression */ && computedPropertyName.expression.operatorToken.kind === 26 /* CommaToken */) { return grammarErrorOnNode(computedPropertyName.expression, ts.Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name); } + return false; } function checkGrammarForGenerator(node) { if (node.asteriskToken) { - ts.Debug.assert(node.kind === 233 /* FunctionDeclaration */ || - node.kind === 191 /* FunctionExpression */ || - node.kind === 153 /* MethodDeclaration */); + ts.Debug.assert(node.kind === 234 /* FunctionDeclaration */ || + node.kind === 192 /* FunctionExpression */ || + node.kind === 154 /* MethodDeclaration */); if (node.flags & 4194304 /* Ambient */) { return grammarErrorOnNode(node.asteriskToken, ts.Diagnostics.Generators_are_not_allowed_in_an_ambient_context); } @@ -51716,9 +52000,7 @@ var ts; } } function checkGrammarForInvalidQuestionMark(questionToken, message) { - if (questionToken) { - return grammarErrorOnNode(questionToken, message); - } + return !!questionToken && grammarErrorOnNode(questionToken, message); } function checkGrammarObjectLiteralExpression(node, inDestructuring) { var Flags; @@ -51731,24 +52013,24 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 271 /* SpreadAssignment */) { + if (prop.kind === 272 /* SpreadAssignment */) { continue; } var name = prop.name; - if (name.kind === 146 /* ComputedPropertyName */) { + if (name.kind === 147 /* ComputedPropertyName */) { // If the name is not a ComputedPropertyName, the grammar checking will skip it checkGrammarComputedPropertyName(name); } - if (prop.kind === 270 /* ShorthandPropertyAssignment */ && !inDestructuring && prop.objectAssignmentInitializer) { + if (prop.kind === 271 /* ShorthandPropertyAssignment */ && !inDestructuring && prop.objectAssignmentInitializer) { // having objectAssignmentInitializer is only valid in ObjectAssignmentPattern // outside of destructuring it is a syntax error return grammarErrorOnNode(prop.equalsToken, ts.Diagnostics.can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment); } // Modifiers are never allowed on properties except for 'async' on a method declaration if (prop.modifiers) { - for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { + for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { // TODO: GH#19955 var mod = _c[_b]; - if (mod.kind !== 120 /* AsyncKeyword */ || prop.kind !== 153 /* MethodDeclaration */) { + if (mod.kind !== 120 /* AsyncKeyword */ || prop.kind !== 154 /* MethodDeclaration */) { grammarErrorOnNode(mod, ts.Diagnostics._0_modifier_cannot_be_used_here, ts.getTextOfNode(mod)); } } @@ -51763,25 +52045,25 @@ var ts; // and either both previous and propId.descriptor have[[Get]] fields or both previous and propId.descriptor have[[Set]] fields var currentKind = void 0; switch (prop.kind) { - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: // Grammar checking for computedPropertyName and shorthandPropertyAssignment checkGrammarForInvalidQuestionMark(prop.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional); if (name.kind === 8 /* NumericLiteral */) { checkGrammarNumericLiteral(name); } // falls through - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: currentKind = 1 /* Property */; break; - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: currentKind = 2 /* GetAccessor */; break; - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: currentKind = 4 /* SetAccessor */; break; default: - ts.Debug.assertNever(prop, "Unexpected syntax kind:" + prop.kind); + throw ts.Debug.assertNever(prop, "Unexpected syntax kind:" + prop.kind); } var effectiveName = ts.getPropertyNameForPropertyNameNode(name); if (effectiveName === undefined) { @@ -51814,7 +52096,7 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.attributes.properties; _i < _a.length; _i++) { var attr = _a[_i]; - if (attr.kind === 263 /* JsxSpreadAttribute */) { + if (attr.kind === 264 /* JsxSpreadAttribute */) { continue; } var name = attr.name, initializer = attr.initializer; @@ -51824,7 +52106,7 @@ var ts; else { return grammarErrorOnNode(name, ts.Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name); } - if (initializer && initializer.kind === 264 /* JsxExpression */ && !initializer.expression) { + if (initializer && initializer.kind === 265 /* JsxExpression */ && !initializer.expression) { return grammarErrorOnNode(initializer, ts.Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression); } } @@ -51833,12 +52115,12 @@ var ts; if (checkGrammarStatementInAmbientContext(forInOrOfStatement)) { return true; } - if (forInOrOfStatement.kind === 221 /* ForOfStatement */ && forInOrOfStatement.awaitModifier) { + if (forInOrOfStatement.kind === 222 /* ForOfStatement */ && forInOrOfStatement.awaitModifier) { if ((forInOrOfStatement.flags & 16384 /* AwaitContext */) === 0 /* None */) { return grammarErrorOnNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator); } } - if (forInOrOfStatement.initializer.kind === 232 /* VariableDeclarationList */) { + if (forInOrOfStatement.initializer.kind === 233 /* VariableDeclarationList */) { var variableList = forInOrOfStatement.initializer; if (!checkGrammarVariableDeclarationList(variableList)) { var declarations = variableList.declarations; @@ -51853,20 +52135,20 @@ var ts; return false; } if (declarations.length > 1) { - var diagnostic = forInOrOfStatement.kind === 220 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 221 /* ForInStatement */ ? ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement : ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement; return grammarErrorOnFirstToken(variableList.declarations[1], diagnostic); } var firstDeclaration = declarations[0]; if (firstDeclaration.initializer) { - var diagnostic = forInOrOfStatement.kind === 220 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 221 /* ForInStatement */ ? ts.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer : ts.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer; return grammarErrorOnNode(firstDeclaration.name, diagnostic); } if (firstDeclaration.type) { - var diagnostic = forInOrOfStatement.kind === 220 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 221 /* ForInStatement */ ? ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation : ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation; return grammarErrorOnNode(firstDeclaration, diagnostic); @@ -51893,11 +52175,11 @@ var ts; return grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_have_type_parameters); } else if (!doesAccessorHaveCorrectParameterCount(accessor)) { - return grammarErrorOnNode(accessor.name, kind === 155 /* GetAccessor */ ? + return grammarErrorOnNode(accessor.name, kind === 156 /* GetAccessor */ ? ts.Diagnostics.A_get_accessor_cannot_have_parameters : ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter); } - else if (kind === 156 /* SetAccessor */) { + else if (kind === 157 /* SetAccessor */) { if (accessor.type) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation); } @@ -51914,16 +52196,17 @@ var ts; } } } + return false; } /** Does the accessor have the right number of parameters? * A get accessor has no parameters or a single `this` parameter. * A set accessor has one parameter or a `this` parameter and one more parameter. */ function doesAccessorHaveCorrectParameterCount(accessor) { - return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 155 /* GetAccessor */ ? 0 : 1); + return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 156 /* GetAccessor */ ? 0 : 1); } function getAccessorThisParameter(accessor) { - if (accessor.parameters.length === (accessor.kind === 155 /* GetAccessor */ ? 1 : 2)) { + if (accessor.parameters.length === (accessor.kind === 156 /* GetAccessor */ ? 1 : 2)) { return ts.getThisParameter(accessor); } } @@ -51934,7 +52217,7 @@ var ts; } var parent = ts.walkUpParenthesizedTypes(node.parent); switch (parent.kind) { - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: var decl = parent; if (decl.name.kind !== 71 /* Identifier */) { return grammarErrorOnNode(node, ts.Diagnostics.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name); @@ -51946,13 +52229,13 @@ var ts; return grammarErrorOnNode(parent.name, ts.Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const); } break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: if (!ts.hasModifier(parent, 32 /* Static */) || !ts.hasModifier(parent, 64 /* Readonly */)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly); } break; - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: if (!ts.hasModifier(parent, 64 /* Readonly */)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly); } @@ -51971,8 +52254,8 @@ var ts; if (checkGrammarFunctionLikeDeclaration(node)) { return true; } - if (node.kind === 153 /* MethodDeclaration */) { - if (node.parent.kind === 183 /* ObjectLiteralExpression */) { + if (node.kind === 154 /* MethodDeclaration */) { + if (node.parent.kind === 184 /* ObjectLiteralExpression */) { // We only disallow modifier on a method declaration if it is a property of object-literal-expression if (node.modifiers && !(node.modifiers.length === 1 && ts.first(node.modifiers).kind === 120 /* AsyncKeyword */)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Modifiers_cannot_appear_here); @@ -51997,14 +52280,14 @@ var ts; if (node.flags & 4194304 /* Ambient */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.kind === 153 /* MethodDeclaration */ && !node.body) { + else if (node.kind === 154 /* MethodDeclaration */ && !node.body) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } - else if (node.parent.kind === 235 /* InterfaceDeclaration */) { + else if (node.parent.kind === 236 /* InterfaceDeclaration */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.parent.kind === 165 /* TypeLiteral */) { + else if (node.parent.kind === 166 /* TypeLiteral */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } @@ -52015,11 +52298,11 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.Jump_target_cannot_cross_function_boundary); } switch (current.kind) { - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: if (node.label && current.label.escapedText === node.label.escapedText) { // found matching label - verify that label usage is correct // continue can only target labels that are on iteration statements - var isMisplacedContinueLabel = node.kind === 222 /* ContinueStatement */ + var isMisplacedContinueLabel = node.kind === 223 /* ContinueStatement */ && !ts.isIterationStatement(current.statement, /*lookInLabeledStatement*/ true); if (isMisplacedContinueLabel) { return grammarErrorOnNode(node, ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement); @@ -52027,8 +52310,8 @@ var ts; return false; } break; - case 226 /* SwitchStatement */: - if (node.kind === 223 /* BreakStatement */ && !node.label) { + case 227 /* SwitchStatement */: + if (node.kind === 224 /* BreakStatement */ && !node.label) { // unlabeled break within switch statement - ok return false; } @@ -52043,13 +52326,13 @@ var ts; current = current.parent; } if (node.label) { - var message = node.kind === 223 /* BreakStatement */ + var message = node.kind === 224 /* BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); } else { - var message = node.kind === 223 /* BreakStatement */ + var message = node.kind === 224 /* BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); @@ -52062,7 +52345,7 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern); } checkGrammarForDisallowedTrailingComma(elements, ts.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma); - if (node.name.kind === 180 /* ArrayBindingPattern */ || node.name.kind === 179 /* ObjectBindingPattern */) { + if (node.name.kind === 181 /* ArrayBindingPattern */ || node.name.kind === 180 /* ObjectBindingPattern */) { return grammarErrorOnNode(node.name, ts.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern); } if (node.propertyName) { @@ -52076,11 +52359,11 @@ var ts; } function isStringOrNumberLiteralExpression(expr) { return expr.kind === 9 /* StringLiteral */ || expr.kind === 8 /* NumericLiteral */ || - expr.kind === 197 /* PrefixUnaryExpression */ && expr.operator === 38 /* MinusToken */ && + expr.kind === 198 /* PrefixUnaryExpression */ && expr.operator === 38 /* MinusToken */ && expr.operand.kind === 8 /* NumericLiteral */; } function checkGrammarVariableDeclaration(node) { - if (node.parent.parent.kind !== 220 /* ForInStatement */ && node.parent.parent.kind !== 221 /* ForOfStatement */) { + if (node.parent.parent.kind !== 221 /* ForInStatement */ && node.parent.parent.kind !== 222 /* ForOfStatement */) { if (node.flags & 4194304 /* Ambient */) { if (node.initializer) { if (ts.isConst(node) && !node.type) { @@ -52109,7 +52392,7 @@ var ts; } } } - if (node.exclamationToken && (node.parent.parent.kind !== 213 /* VariableStatement */ || !node.type || node.initializer || node.flags & 4194304 /* Ambient */)) { + if (node.exclamationToken && (node.parent.parent.kind !== 214 /* VariableStatement */ || !node.type || node.initializer || node.flags & 4194304 /* Ambient */)) { return grammarErrorOnNode(node.exclamationToken, ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context); } if (compilerOptions.module !== ts.ModuleKind.ES2015 && compilerOptions.module !== ts.ModuleKind.ESNext && compilerOptions.module !== ts.ModuleKind.System && !compilerOptions.noEmit && @@ -52140,6 +52423,7 @@ var ts; } } } + return false; } function checkGrammarNameInLetOrConstDeclarations(name) { if (name.kind === 71 /* Identifier */) { @@ -52156,6 +52440,7 @@ var ts; } } } + return false; } function checkGrammarVariableDeclarationList(declarationList) { var declarations = declarationList.declarations; @@ -52165,18 +52450,19 @@ var ts; if (!declarationList.declarations.length) { return grammarErrorAtPos(declarationList, declarations.pos, declarations.end - declarations.pos, ts.Diagnostics.Variable_declaration_list_cannot_be_empty); } + return false; } function allowLetAndConstDeclarations(parent) { switch (parent.kind) { - case 216 /* IfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 225 /* WithStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 217 /* IfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 226 /* WithStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: return false; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return allowLetAndConstDeclarations(parent.parent); } return true; @@ -52216,6 +52502,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, span.start, span.length, message, arg0, arg1, arg2)); return true; } + return false; } function grammarErrorAtPos(nodeForSourceFile, start, length, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(nodeForSourceFile); @@ -52223,6 +52510,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, start, length, message, arg0, arg1, arg2)); return true; } + return false; } function grammarErrorOnNode(node, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(node); @@ -52230,11 +52518,12 @@ var ts; diagnostics.add(ts.createDiagnosticForNode(node, message, arg0, arg1, arg2)); return true; } + return false; } function checkGrammarConstructorTypeParameters(node) { - var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); - if (ts.isNodeArray(typeParameters)) { - var pos = typeParameters.pos, end = typeParameters.end; + var jsdocTypeParameters = ts.isInJavaScriptFile(node) && ts.getJSDocTypeParameterDeclarations(node); + if (node.typeParameters || jsdocTypeParameters && jsdocTypeParameters.length) { + var _a = node.typeParameters || jsdocTypeParameters && jsdocTypeParameters[0] || node, pos = _a.pos, end = _a.end; return grammarErrorAtPos(node, pos, end - pos, ts.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration); } } @@ -52250,7 +52539,7 @@ var ts; return true; } } - else if (node.parent.kind === 235 /* InterfaceDeclaration */) { + else if (node.parent.kind === 236 /* InterfaceDeclaration */) { if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } @@ -52258,7 +52547,7 @@ var ts; return grammarErrorOnNode(node.initializer, ts.Diagnostics.An_interface_property_cannot_have_an_initializer); } } - else if (node.parent.kind === 165 /* TypeLiteral */) { + else if (node.parent.kind === 166 /* TypeLiteral */) { if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } @@ -52287,13 +52576,13 @@ var ts; // export_opt AmbientDeclaration // // TODO: The spec needs to be amended to reflect this grammar. - if (node.kind === 235 /* InterfaceDeclaration */ || - node.kind === 236 /* TypeAliasDeclaration */ || - node.kind === 243 /* ImportDeclaration */ || - node.kind === 242 /* ImportEqualsDeclaration */ || - node.kind === 249 /* ExportDeclaration */ || - node.kind === 248 /* ExportAssignment */ || - node.kind === 241 /* NamespaceExportDeclaration */ || + if (node.kind === 236 /* InterfaceDeclaration */ || + node.kind === 237 /* TypeAliasDeclaration */ || + node.kind === 244 /* ImportDeclaration */ || + node.kind === 243 /* ImportEqualsDeclaration */ || + node.kind === 250 /* ExportDeclaration */ || + node.kind === 249 /* ExportAssignment */ || + node.kind === 242 /* NamespaceExportDeclaration */ || ts.hasModifier(node, 2 /* Ambient */ | 1 /* Export */ | 512 /* Default */)) { return false; } @@ -52302,12 +52591,13 @@ var ts; function checkGrammarTopLevelElementsForRequiredDeclareModifier(file) { for (var _i = 0, _a = file.statements; _i < _a.length; _i++) { var decl = _a[_i]; - if (ts.isDeclaration(decl) || decl.kind === 213 /* VariableStatement */) { + if (ts.isDeclaration(decl) || decl.kind === 214 /* VariableStatement */) { if (checkGrammarTopLevelElementForRequiredDeclareModifier(decl)) { return true; } } } + return false; } function checkGrammarSourceFile(node) { return !!(node.flags & 4194304 /* Ambient */) && checkGrammarTopLevelElementsForRequiredDeclareModifier(node); @@ -52328,7 +52618,7 @@ var ts; // to prevent noisiness. So use a bit on the block to indicate if // this has already been reported, and don't report if it has. // - if (node.parent.kind === 212 /* Block */ || node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 273 /* SourceFile */) { + if (node.parent.kind === 213 /* Block */ || node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 274 /* SourceFile */) { var links_1 = getNodeLinks(node.parent); // Check if the containing block ever report this error if (!links_1.hasReportedStatementInAmbientContext) { @@ -52341,6 +52631,7 @@ var ts; // Debug.assert(isStatement(node.parent)); } } + return false; } function checkGrammarNumericLiteral(node) { // Grammar checking @@ -52349,10 +52640,10 @@ var ts; if (languageVersion >= 1 /* ES5 */) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 177 /* LiteralType */)) { + else if (ts.isChildOfNodeWithKind(node, 178 /* LiteralType */)) { diagnosticMessage = ts.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 272 /* EnumMember */)) { + else if (ts.isChildOfNodeWithKind(node, 273 /* EnumMember */)) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0; } if (diagnosticMessage) { @@ -52361,6 +52652,7 @@ var ts; return grammarErrorOnNode(withMinus ? node.parent : node, diagnosticMessage, literal); } } + return false; } function grammarErrorAfterFirstToken(node, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(node); @@ -52369,6 +52661,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, ts.textSpanEnd(span), /*length*/ 0, message, arg0, arg1, arg2)); return true; } + return false; } function getAmbientModules() { if (!ambientModulesCache) { @@ -52398,14 +52691,15 @@ var ts; if (ts.isSpreadElement(nodeArguments[0])) { return grammarErrorOnNode(nodeArguments[0], ts.Diagnostics.Specifier_of_dynamic_import_cannot_be_spread_element); } + return false; } } ts.createTypeChecker = createTypeChecker; /** Like 'isDeclarationName', but returns true for LHS of `import { x as y }` or `export { x as y }`. */ function isDeclarationNameOrImportPropertyName(name) { switch (name.parent.kind) { - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: return ts.isIdentifier(name); default: return ts.isDeclarationName(name); @@ -52413,14 +52707,14 @@ var ts; } function isSomeImportDeclaration(decl) { switch (decl.kind) { - case 244 /* ImportClause */: // For default import - case 242 /* ImportEqualsDeclaration */: - case 245 /* NamespaceImport */: - case 247 /* ImportSpecifier */: // For rename import `x as y` + case 245 /* ImportClause */: // For default import + case 243 /* ImportEqualsDeclaration */: + case 246 /* NamespaceImport */: + case 248 /* ImportSpecifier */: // For rename import `x as y` return true; case 71 /* Identifier */: // For regular import, `decl` is an Identifier under the ImportSpecifier. - return decl.parent.kind === 247 /* ImportSpecifier */; + return decl.parent.kind === 248 /* ImportSpecifier */; default: return false; } @@ -52482,7 +52776,7 @@ var ts; // the original node. We also need to exclude specific properties and only include own- // properties (to skip members already defined on the shared prototype). if (node === undefined) { - return undefined; + return node; } var clone = createSynthesizedNode(node.kind); clone.flags |= node.flags; @@ -52587,7 +52881,6 @@ var ts; return name; } ts.createUniqueName = createUniqueName; - /** Create a unique name based on the supplied text. */ function createOptimisticUniqueName(text) { var name = createIdentifier(text); name.autoGenerateFlags = 3 /* Unique */ | 16 /* Optimistic */; @@ -52683,7 +52976,7 @@ var ts; ts.createModifiersFromModifierFlags = createModifiersFromModifierFlags; // Names function createQualifiedName(left, right) { - var node = createSynthesizedNode(145 /* QualifiedName */); + var node = createSynthesizedNode(146 /* QualifiedName */); node.left = left; node.right = asName(right); return node; @@ -52698,12 +52991,12 @@ var ts; ts.updateQualifiedName = updateQualifiedName; function parenthesizeForComputedName(expression) { return (ts.isBinaryExpression(expression) && expression.operatorToken.kind === 26 /* CommaToken */) || - expression.kind === 301 /* CommaListExpression */ ? + expression.kind === 302 /* CommaListExpression */ ? createParen(expression) : expression; } function createComputedPropertyName(expression) { - var node = createSynthesizedNode(146 /* ComputedPropertyName */); + var node = createSynthesizedNode(147 /* ComputedPropertyName */); node.expression = parenthesizeForComputedName(expression); return node; } @@ -52716,7 +53009,7 @@ var ts; ts.updateComputedPropertyName = updateComputedPropertyName; // Signature elements function createTypeParameterDeclaration(name, constraint, defaultType) { - var node = createSynthesizedNode(147 /* TypeParameter */); + var node = createSynthesizedNode(148 /* TypeParameter */); node.name = asName(name); node.constraint = constraint; node.default = defaultType; @@ -52732,7 +53025,7 @@ var ts; } ts.updateTypeParameterDeclaration = updateTypeParameterDeclaration; function createParameter(decorators, modifiers, dotDotDotToken, name, questionToken, type, initializer) { - var node = createSynthesizedNode(148 /* Parameter */); + var node = createSynthesizedNode(149 /* Parameter */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.dotDotDotToken = dotDotDotToken; @@ -52756,7 +53049,7 @@ var ts; } ts.updateParameter = updateParameter; function createDecorator(expression) { - var node = createSynthesizedNode(149 /* Decorator */); + var node = createSynthesizedNode(150 /* Decorator */); node.expression = ts.parenthesizeForAccess(expression); return node; } @@ -52769,7 +53062,7 @@ var ts; ts.updateDecorator = updateDecorator; // Type Elements function createPropertySignature(modifiers, name, questionToken, type, initializer) { - var node = createSynthesizedNode(150 /* PropertySignature */); + var node = createSynthesizedNode(151 /* PropertySignature */); node.modifiers = asNodeArray(modifiers); node.name = asName(name); node.questionToken = questionToken; @@ -52789,7 +53082,7 @@ var ts; } ts.updatePropertySignature = updatePropertySignature; function createProperty(decorators, modifiers, name, questionOrExclamationToken, type, initializer) { - var node = createSynthesizedNode(151 /* PropertyDeclaration */); + var node = createSynthesizedNode(152 /* PropertyDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -52813,7 +53106,7 @@ var ts; } ts.updateProperty = updateProperty; function createMethodSignature(typeParameters, parameters, type, name, questionToken) { - var node = createSignatureDeclaration(152 /* MethodSignature */, typeParameters, parameters, type); + var node = createSignatureDeclaration(153 /* MethodSignature */, typeParameters, parameters, type); node.name = asName(name); node.questionToken = questionToken; return node; @@ -52830,7 +53123,7 @@ var ts; } ts.updateMethodSignature = updateMethodSignature; function createMethod(decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(153 /* MethodDeclaration */); + var node = createSynthesizedNode(154 /* MethodDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; @@ -52858,7 +53151,7 @@ var ts; } ts.updateMethod = updateMethod; function createConstructor(decorators, modifiers, parameters, body) { - var node = createSynthesizedNode(154 /* Constructor */); + var node = createSynthesizedNode(155 /* Constructor */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.typeParameters = undefined; @@ -52878,7 +53171,7 @@ var ts; } ts.updateConstructor = updateConstructor; function createGetAccessor(decorators, modifiers, name, parameters, type, body) { - var node = createSynthesizedNode(155 /* GetAccessor */); + var node = createSynthesizedNode(156 /* GetAccessor */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -52901,7 +53194,7 @@ var ts; } ts.updateGetAccessor = updateGetAccessor; function createSetAccessor(decorators, modifiers, name, parameters, body) { - var node = createSynthesizedNode(156 /* SetAccessor */); + var node = createSynthesizedNode(157 /* SetAccessor */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -52922,7 +53215,7 @@ var ts; } ts.updateSetAccessor = updateSetAccessor; function createCallSignature(typeParameters, parameters, type) { - return createSignatureDeclaration(157 /* CallSignature */, typeParameters, parameters, type); + return createSignatureDeclaration(158 /* CallSignature */, typeParameters, parameters, type); } ts.createCallSignature = createCallSignature; function updateCallSignature(node, typeParameters, parameters, type) { @@ -52930,7 +53223,7 @@ var ts; } ts.updateCallSignature = updateCallSignature; function createConstructSignature(typeParameters, parameters, type) { - return createSignatureDeclaration(158 /* ConstructSignature */, typeParameters, parameters, type); + return createSignatureDeclaration(159 /* ConstructSignature */, typeParameters, parameters, type); } ts.createConstructSignature = createConstructSignature; function updateConstructSignature(node, typeParameters, parameters, type) { @@ -52938,7 +53231,7 @@ var ts; } ts.updateConstructSignature = updateConstructSignature; function createIndexSignature(decorators, modifiers, parameters, type) { - var node = createSynthesizedNode(159 /* IndexSignature */); + var node = createSynthesizedNode(160 /* IndexSignature */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.parameters = createNodeArray(parameters); @@ -52978,7 +53271,7 @@ var ts; } ts.createKeywordTypeNode = createKeywordTypeNode; function createTypePredicateNode(parameterName, type) { - var node = createSynthesizedNode(160 /* TypePredicate */); + var node = createSynthesizedNode(161 /* TypePredicate */); node.parameterName = asName(parameterName); node.type = type; return node; @@ -52992,7 +53285,7 @@ var ts; } ts.updateTypePredicateNode = updateTypePredicateNode; function createTypeReferenceNode(typeName, typeArguments) { - var node = createSynthesizedNode(161 /* TypeReference */); + var node = createSynthesizedNode(162 /* TypeReference */); node.typeName = asName(typeName); node.typeArguments = typeArguments && ts.parenthesizeTypeParameters(typeArguments); return node; @@ -53006,7 +53299,7 @@ var ts; } ts.updateTypeReferenceNode = updateTypeReferenceNode; function createFunctionTypeNode(typeParameters, parameters, type) { - return createSignatureDeclaration(162 /* FunctionType */, typeParameters, parameters, type); + return createSignatureDeclaration(163 /* FunctionType */, typeParameters, parameters, type); } ts.createFunctionTypeNode = createFunctionTypeNode; function updateFunctionTypeNode(node, typeParameters, parameters, type) { @@ -53014,7 +53307,7 @@ var ts; } ts.updateFunctionTypeNode = updateFunctionTypeNode; function createConstructorTypeNode(typeParameters, parameters, type) { - return createSignatureDeclaration(163 /* ConstructorType */, typeParameters, parameters, type); + return createSignatureDeclaration(164 /* ConstructorType */, typeParameters, parameters, type); } ts.createConstructorTypeNode = createConstructorTypeNode; function updateConstructorTypeNode(node, typeParameters, parameters, type) { @@ -53022,7 +53315,7 @@ var ts; } ts.updateConstructorTypeNode = updateConstructorTypeNode; function createTypeQueryNode(exprName) { - var node = createSynthesizedNode(164 /* TypeQuery */); + var node = createSynthesizedNode(165 /* TypeQuery */); node.exprName = exprName; return node; } @@ -53034,7 +53327,7 @@ var ts; } ts.updateTypeQueryNode = updateTypeQueryNode; function createTypeLiteralNode(members) { - var node = createSynthesizedNode(165 /* TypeLiteral */); + var node = createSynthesizedNode(166 /* TypeLiteral */); node.members = createNodeArray(members); return node; } @@ -53046,7 +53339,7 @@ var ts; } ts.updateTypeLiteralNode = updateTypeLiteralNode; function createArrayTypeNode(elementType) { - var node = createSynthesizedNode(166 /* ArrayType */); + var node = createSynthesizedNode(167 /* ArrayType */); node.elementType = ts.parenthesizeArrayTypeMember(elementType); return node; } @@ -53058,7 +53351,7 @@ var ts; } ts.updateArrayTypeNode = updateArrayTypeNode; function createTupleTypeNode(elementTypes) { - var node = createSynthesizedNode(167 /* TupleType */); + var node = createSynthesizedNode(168 /* TupleType */); node.elementTypes = createNodeArray(elementTypes); return node; } @@ -53070,7 +53363,7 @@ var ts; } ts.updateTypleTypeNode = updateTypleTypeNode; function createUnionTypeNode(types) { - return createUnionOrIntersectionTypeNode(168 /* UnionType */, types); + return createUnionOrIntersectionTypeNode(169 /* UnionType */, types); } ts.createUnionTypeNode = createUnionTypeNode; function updateUnionTypeNode(node, types) { @@ -53078,7 +53371,7 @@ var ts; } ts.updateUnionTypeNode = updateUnionTypeNode; function createIntersectionTypeNode(types) { - return createUnionOrIntersectionTypeNode(169 /* IntersectionType */, types); + return createUnionOrIntersectionTypeNode(170 /* IntersectionType */, types); } ts.createIntersectionTypeNode = createIntersectionTypeNode; function updateIntersectionTypeNode(node, types) { @@ -53097,7 +53390,7 @@ var ts; : node; } function createConditionalTypeNode(checkType, extendsType, trueType, falseType) { - var node = createSynthesizedNode(170 /* ConditionalType */); + var node = createSynthesizedNode(171 /* ConditionalType */); node.checkType = ts.parenthesizeConditionalTypeMember(checkType); node.extendsType = ts.parenthesizeConditionalTypeMember(extendsType); node.trueType = trueType; @@ -53115,7 +53408,7 @@ var ts; } ts.updateConditionalTypeNode = updateConditionalTypeNode; function createInferTypeNode(typeParameter) { - var node = createSynthesizedNode(171 /* InferType */); + var node = createSynthesizedNode(172 /* InferType */); node.typeParameter = typeParameter; return node; } @@ -53127,7 +53420,7 @@ var ts; } ts.updateInferTypeNode = updateInferTypeNode; function createImportTypeNode(argument, qualifier, typeArguments, isTypeOf) { - var node = createSynthesizedNode(178 /* ImportType */); + var node = createSynthesizedNode(179 /* ImportType */); node.argument = argument; node.qualifier = qualifier; node.typeArguments = asNodeArray(typeArguments); @@ -53145,7 +53438,7 @@ var ts; } ts.updateImportTypeNode = updateImportTypeNode; function createParenthesizedType(type) { - var node = createSynthesizedNode(172 /* ParenthesizedType */); + var node = createSynthesizedNode(173 /* ParenthesizedType */); node.type = type; return node; } @@ -53157,11 +53450,11 @@ var ts; } ts.updateParenthesizedType = updateParenthesizedType; function createThisTypeNode() { - return createSynthesizedNode(173 /* ThisType */); + return createSynthesizedNode(174 /* ThisType */); } ts.createThisTypeNode = createThisTypeNode; function createTypeOperatorNode(operatorOrType, type) { - var node = createSynthesizedNode(174 /* TypeOperator */); + var node = createSynthesizedNode(175 /* TypeOperator */); node.operator = typeof operatorOrType === "number" ? operatorOrType : 128 /* KeyOfKeyword */; node.type = ts.parenthesizeElementTypeMember(typeof operatorOrType === "number" ? type : operatorOrType); return node; @@ -53172,7 +53465,7 @@ var ts; } ts.updateTypeOperatorNode = updateTypeOperatorNode; function createIndexedAccessTypeNode(objectType, indexType) { - var node = createSynthesizedNode(175 /* IndexedAccessType */); + var node = createSynthesizedNode(176 /* IndexedAccessType */); node.objectType = ts.parenthesizeElementTypeMember(objectType); node.indexType = indexType; return node; @@ -53186,7 +53479,7 @@ var ts; } ts.updateIndexedAccessTypeNode = updateIndexedAccessTypeNode; function createMappedTypeNode(readonlyToken, typeParameter, questionToken, type) { - var node = createSynthesizedNode(176 /* MappedType */); + var node = createSynthesizedNode(177 /* MappedType */); node.readonlyToken = readonlyToken; node.typeParameter = typeParameter; node.questionToken = questionToken; @@ -53204,7 +53497,7 @@ var ts; } ts.updateMappedTypeNode = updateMappedTypeNode; function createLiteralTypeNode(literal) { - var node = createSynthesizedNode(177 /* LiteralType */); + var node = createSynthesizedNode(178 /* LiteralType */); node.literal = literal; return node; } @@ -53217,7 +53510,7 @@ var ts; ts.updateLiteralTypeNode = updateLiteralTypeNode; // Binding Patterns function createObjectBindingPattern(elements) { - var node = createSynthesizedNode(179 /* ObjectBindingPattern */); + var node = createSynthesizedNode(180 /* ObjectBindingPattern */); node.elements = createNodeArray(elements); return node; } @@ -53229,7 +53522,7 @@ var ts; } ts.updateObjectBindingPattern = updateObjectBindingPattern; function createArrayBindingPattern(elements) { - var node = createSynthesizedNode(180 /* ArrayBindingPattern */); + var node = createSynthesizedNode(181 /* ArrayBindingPattern */); node.elements = createNodeArray(elements); return node; } @@ -53241,7 +53534,7 @@ var ts; } ts.updateArrayBindingPattern = updateArrayBindingPattern; function createBindingElement(dotDotDotToken, propertyName, name, initializer) { - var node = createSynthesizedNode(181 /* BindingElement */); + var node = createSynthesizedNode(182 /* BindingElement */); node.dotDotDotToken = dotDotDotToken; node.propertyName = asName(propertyName); node.name = asName(name); @@ -53260,7 +53553,7 @@ var ts; ts.updateBindingElement = updateBindingElement; // Expression function createArrayLiteral(elements, multiLine) { - var node = createSynthesizedNode(182 /* ArrayLiteralExpression */); + var node = createSynthesizedNode(183 /* ArrayLiteralExpression */); node.elements = ts.parenthesizeListElements(createNodeArray(elements)); if (multiLine) node.multiLine = true; @@ -53274,7 +53567,7 @@ var ts; } ts.updateArrayLiteral = updateArrayLiteral; function createObjectLiteral(properties, multiLine) { - var node = createSynthesizedNode(183 /* ObjectLiteralExpression */); + var node = createSynthesizedNode(184 /* ObjectLiteralExpression */); node.properties = createNodeArray(properties); if (multiLine) node.multiLine = true; @@ -53288,9 +53581,9 @@ var ts; } ts.updateObjectLiteral = updateObjectLiteral; function createPropertyAccess(expression, name) { - var node = createSynthesizedNode(184 /* PropertyAccessExpression */); + var node = createSynthesizedNode(185 /* PropertyAccessExpression */); node.expression = ts.parenthesizeForAccess(expression); - node.name = asName(name); + node.name = asName(name); // TODO: GH#18217 setEmitFlags(node, 131072 /* NoIndentation */); return node; } @@ -53305,7 +53598,7 @@ var ts; } ts.updatePropertyAccess = updatePropertyAccess; function createElementAccess(expression, index) { - var node = createSynthesizedNode(185 /* ElementAccessExpression */); + var node = createSynthesizedNode(186 /* ElementAccessExpression */); node.expression = ts.parenthesizeForAccess(expression); node.argumentExpression = asExpression(index); return node; @@ -53319,7 +53612,7 @@ var ts; } ts.updateElementAccess = updateElementAccess; function createCall(expression, typeArguments, argumentsArray) { - var node = createSynthesizedNode(186 /* CallExpression */); + var node = createSynthesizedNode(187 /* CallExpression */); node.expression = ts.parenthesizeForAccess(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = ts.parenthesizeListElements(createNodeArray(argumentsArray)); @@ -53335,7 +53628,7 @@ var ts; } ts.updateCall = updateCall; function createNew(expression, typeArguments, argumentsArray) { - var node = createSynthesizedNode(187 /* NewExpression */); + var node = createSynthesizedNode(188 /* NewExpression */); node.expression = ts.parenthesizeForNew(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = argumentsArray ? ts.parenthesizeListElements(createNodeArray(argumentsArray)) : undefined; @@ -53351,7 +53644,7 @@ var ts; } ts.updateNew = updateNew; function createTaggedTemplate(tag, typeArgumentsOrTemplate, template) { - var node = createSynthesizedNode(188 /* TaggedTemplateExpression */); + var node = createSynthesizedNode(189 /* TaggedTemplateExpression */); node.tag = ts.parenthesizeForAccess(tag); if (template) { node.typeArguments = asNodeArray(typeArgumentsOrTemplate); @@ -53374,7 +53667,7 @@ var ts; } ts.updateTaggedTemplate = updateTaggedTemplate; function createTypeAssertion(type, expression) { - var node = createSynthesizedNode(189 /* TypeAssertionExpression */); + var node = createSynthesizedNode(190 /* TypeAssertionExpression */); node.type = type; node.expression = ts.parenthesizePrefixOperand(expression); return node; @@ -53388,7 +53681,7 @@ var ts; } ts.updateTypeAssertion = updateTypeAssertion; function createParen(expression) { - var node = createSynthesizedNode(190 /* ParenthesizedExpression */); + var node = createSynthesizedNode(191 /* ParenthesizedExpression */); node.expression = expression; return node; } @@ -53400,7 +53693,7 @@ var ts; } ts.updateParen = updateParen; function createFunctionExpression(modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(191 /* FunctionExpression */); + var node = createSynthesizedNode(192 /* FunctionExpression */); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; node.name = asName(name); @@ -53424,7 +53717,7 @@ var ts; } ts.updateFunctionExpression = updateFunctionExpression; function createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body) { - var node = createSynthesizedNode(192 /* ArrowFunction */); + var node = createSynthesizedNode(193 /* ArrowFunction */); node.modifiers = asNodeArray(modifiers); node.typeParameters = asNodeArray(typeParameters); node.parameters = createNodeArray(parameters); @@ -53458,7 +53751,7 @@ var ts; } ts.updateArrowFunction = updateArrowFunction; function createDelete(expression) { - var node = createSynthesizedNode(193 /* DeleteExpression */); + var node = createSynthesizedNode(194 /* DeleteExpression */); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -53470,7 +53763,7 @@ var ts; } ts.updateDelete = updateDelete; function createTypeOf(expression) { - var node = createSynthesizedNode(194 /* TypeOfExpression */); + var node = createSynthesizedNode(195 /* TypeOfExpression */); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -53482,7 +53775,7 @@ var ts; } ts.updateTypeOf = updateTypeOf; function createVoid(expression) { - var node = createSynthesizedNode(195 /* VoidExpression */); + var node = createSynthesizedNode(196 /* VoidExpression */); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -53494,7 +53787,7 @@ var ts; } ts.updateVoid = updateVoid; function createAwait(expression) { - var node = createSynthesizedNode(196 /* AwaitExpression */); + var node = createSynthesizedNode(197 /* AwaitExpression */); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -53506,7 +53799,7 @@ var ts; } ts.updateAwait = updateAwait; function createPrefix(operator, operand) { - var node = createSynthesizedNode(197 /* PrefixUnaryExpression */); + var node = createSynthesizedNode(198 /* PrefixUnaryExpression */); node.operator = operator; node.operand = ts.parenthesizePrefixOperand(operand); return node; @@ -53519,7 +53812,7 @@ var ts; } ts.updatePrefix = updatePrefix; function createPostfix(operand, operator) { - var node = createSynthesizedNode(198 /* PostfixUnaryExpression */); + var node = createSynthesizedNode(199 /* PostfixUnaryExpression */); node.operand = ts.parenthesizePostfixOperand(operand); node.operator = operator; return node; @@ -53532,7 +53825,7 @@ var ts; } ts.updatePostfix = updatePostfix; function createBinary(left, operator, right) { - var node = createSynthesizedNode(199 /* BinaryExpression */); + var node = createSynthesizedNode(200 /* BinaryExpression */); var operatorToken = asToken(operator); var operatorKind = operatorToken.kind; node.left = ts.parenthesizeBinaryOperand(operatorKind, left, /*isLeftSideOfBinary*/ true, /*leftOperand*/ undefined); @@ -53549,7 +53842,7 @@ var ts; } ts.updateBinary = updateBinary; function createConditional(condition, questionTokenOrWhenTrue, whenTrueOrWhenFalse, colonToken, whenFalse) { - var node = createSynthesizedNode(200 /* ConditionalExpression */); + var node = createSynthesizedNode(201 /* ConditionalExpression */); node.condition = ts.parenthesizeForConditionalHead(condition); node.questionToken = whenFalse ? questionTokenOrWhenTrue : createToken(55 /* QuestionToken */); node.whenTrue = ts.parenthesizeSubexpressionOfConditionalExpression(whenFalse ? whenTrueOrWhenFalse : questionTokenOrWhenTrue); @@ -53579,7 +53872,7 @@ var ts; } ts.updateConditional = updateConditional; function createTemplateExpression(head, templateSpans) { - var node = createSynthesizedNode(201 /* TemplateExpression */); + var node = createSynthesizedNode(202 /* TemplateExpression */); node.head = head; node.templateSpans = createNodeArray(templateSpans); return node; @@ -53617,7 +53910,7 @@ var ts; } ts.createNoSubstitutionTemplateLiteral = createNoSubstitutionTemplateLiteral; function createYield(asteriskTokenOrExpression, expression) { - var node = createSynthesizedNode(202 /* YieldExpression */); + var node = createSynthesizedNode(203 /* YieldExpression */); node.asteriskToken = asteriskTokenOrExpression && asteriskTokenOrExpression.kind === 39 /* AsteriskToken */ ? asteriskTokenOrExpression : undefined; node.expression = asteriskTokenOrExpression && asteriskTokenOrExpression.kind !== 39 /* AsteriskToken */ ? asteriskTokenOrExpression : expression; return node; @@ -53631,7 +53924,7 @@ var ts; } ts.updateYield = updateYield; function createSpread(expression) { - var node = createSynthesizedNode(203 /* SpreadElement */); + var node = createSynthesizedNode(204 /* SpreadElement */); node.expression = ts.parenthesizeExpressionForList(expression); return node; } @@ -53643,7 +53936,7 @@ var ts; } ts.updateSpread = updateSpread; function createClassExpression(modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(204 /* ClassExpression */); + var node = createSynthesizedNode(205 /* ClassExpression */); node.decorators = undefined; node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -53664,11 +53957,11 @@ var ts; } ts.updateClassExpression = updateClassExpression; function createOmittedExpression() { - return createSynthesizedNode(205 /* OmittedExpression */); + return createSynthesizedNode(206 /* OmittedExpression */); } ts.createOmittedExpression = createOmittedExpression; function createExpressionWithTypeArguments(typeArguments, expression) { - var node = createSynthesizedNode(206 /* ExpressionWithTypeArguments */); + var node = createSynthesizedNode(207 /* ExpressionWithTypeArguments */); node.expression = ts.parenthesizeForAccess(expression); node.typeArguments = asNodeArray(typeArguments); return node; @@ -53682,7 +53975,7 @@ var ts; } ts.updateExpressionWithTypeArguments = updateExpressionWithTypeArguments; function createAsExpression(expression, type) { - var node = createSynthesizedNode(207 /* AsExpression */); + var node = createSynthesizedNode(208 /* AsExpression */); node.expression = expression; node.type = type; return node; @@ -53696,7 +53989,7 @@ var ts; } ts.updateAsExpression = updateAsExpression; function createNonNullExpression(expression) { - var node = createSynthesizedNode(208 /* NonNullExpression */); + var node = createSynthesizedNode(209 /* NonNullExpression */); node.expression = ts.parenthesizeForAccess(expression); return node; } @@ -53708,7 +54001,7 @@ var ts; } ts.updateNonNullExpression = updateNonNullExpression; function createMetaProperty(keywordToken, name) { - var node = createSynthesizedNode(209 /* MetaProperty */); + var node = createSynthesizedNode(210 /* MetaProperty */); node.keywordToken = keywordToken; node.name = name; return node; @@ -53722,7 +54015,7 @@ var ts; ts.updateMetaProperty = updateMetaProperty; // Misc function createTemplateSpan(expression, literal) { - var node = createSynthesizedNode(210 /* TemplateSpan */); + var node = createSynthesizedNode(211 /* TemplateSpan */); node.expression = expression; node.literal = literal; return node; @@ -53736,12 +54029,12 @@ var ts; } ts.updateTemplateSpan = updateTemplateSpan; function createSemicolonClassElement() { - return createSynthesizedNode(211 /* SemicolonClassElement */); + return createSynthesizedNode(212 /* SemicolonClassElement */); } ts.createSemicolonClassElement = createSemicolonClassElement; // Element function createBlock(statements, multiLine) { - var block = createSynthesizedNode(212 /* Block */); + var block = createSynthesizedNode(213 /* Block */); block.statements = createNodeArray(statements); if (multiLine) block.multiLine = multiLine; @@ -53750,7 +54043,7 @@ var ts; ts.createBlock = createBlock; /* @internal */ function createExpressionStatement(expression) { - var node = createSynthesizedNode(215 /* ExpressionStatement */); + var node = createSynthesizedNode(216 /* ExpressionStatement */); node.expression = expression; return node; } @@ -53762,7 +54055,7 @@ var ts; } ts.updateBlock = updateBlock; function createVariableStatement(modifiers, declarationList) { - var node = createSynthesizedNode(213 /* VariableStatement */); + var node = createSynthesizedNode(214 /* VariableStatement */); node.decorators = undefined; node.modifiers = asNodeArray(modifiers); node.declarationList = ts.isArray(declarationList) ? createVariableDeclarationList(declarationList) : declarationList; @@ -53777,7 +54070,7 @@ var ts; } ts.updateVariableStatement = updateVariableStatement; function createEmptyStatement() { - return createSynthesizedNode(214 /* EmptyStatement */); + return createSynthesizedNode(215 /* EmptyStatement */); } ts.createEmptyStatement = createEmptyStatement; function createStatement(expression) { @@ -53791,7 +54084,7 @@ var ts; } ts.updateStatement = updateStatement; function createIf(expression, thenStatement, elseStatement) { - var node = createSynthesizedNode(216 /* IfStatement */); + var node = createSynthesizedNode(217 /* IfStatement */); node.expression = expression; node.thenStatement = thenStatement; node.elseStatement = elseStatement; @@ -53807,7 +54100,7 @@ var ts; } ts.updateIf = updateIf; function createDo(statement, expression) { - var node = createSynthesizedNode(217 /* DoStatement */); + var node = createSynthesizedNode(218 /* DoStatement */); node.statement = statement; node.expression = expression; return node; @@ -53821,7 +54114,7 @@ var ts; } ts.updateDo = updateDo; function createWhile(expression, statement) { - var node = createSynthesizedNode(218 /* WhileStatement */); + var node = createSynthesizedNode(219 /* WhileStatement */); node.expression = expression; node.statement = statement; return node; @@ -53835,7 +54128,7 @@ var ts; } ts.updateWhile = updateWhile; function createFor(initializer, condition, incrementor, statement) { - var node = createSynthesizedNode(219 /* ForStatement */); + var node = createSynthesizedNode(220 /* ForStatement */); node.initializer = initializer; node.condition = condition; node.incrementor = incrementor; @@ -53853,7 +54146,7 @@ var ts; } ts.updateFor = updateFor; function createForIn(initializer, expression, statement) { - var node = createSynthesizedNode(220 /* ForInStatement */); + var node = createSynthesizedNode(221 /* ForInStatement */); node.initializer = initializer; node.expression = expression; node.statement = statement; @@ -53869,7 +54162,7 @@ var ts; } ts.updateForIn = updateForIn; function createForOf(awaitModifier, initializer, expression, statement) { - var node = createSynthesizedNode(221 /* ForOfStatement */); + var node = createSynthesizedNode(222 /* ForOfStatement */); node.awaitModifier = awaitModifier; node.initializer = initializer; node.expression = expression; @@ -53887,7 +54180,7 @@ var ts; } ts.updateForOf = updateForOf; function createContinue(label) { - var node = createSynthesizedNode(222 /* ContinueStatement */); + var node = createSynthesizedNode(223 /* ContinueStatement */); node.label = asName(label); return node; } @@ -53899,7 +54192,7 @@ var ts; } ts.updateContinue = updateContinue; function createBreak(label) { - var node = createSynthesizedNode(223 /* BreakStatement */); + var node = createSynthesizedNode(224 /* BreakStatement */); node.label = asName(label); return node; } @@ -53911,7 +54204,7 @@ var ts; } ts.updateBreak = updateBreak; function createReturn(expression) { - var node = createSynthesizedNode(224 /* ReturnStatement */); + var node = createSynthesizedNode(225 /* ReturnStatement */); node.expression = expression; return node; } @@ -53923,7 +54216,7 @@ var ts; } ts.updateReturn = updateReturn; function createWith(expression, statement) { - var node = createSynthesizedNode(225 /* WithStatement */); + var node = createSynthesizedNode(226 /* WithStatement */); node.expression = expression; node.statement = statement; return node; @@ -53937,7 +54230,7 @@ var ts; } ts.updateWith = updateWith; function createSwitch(expression, caseBlock) { - var node = createSynthesizedNode(226 /* SwitchStatement */); + var node = createSynthesizedNode(227 /* SwitchStatement */); node.expression = ts.parenthesizeExpressionForList(expression); node.caseBlock = caseBlock; return node; @@ -53951,7 +54244,7 @@ var ts; } ts.updateSwitch = updateSwitch; function createLabel(label, statement) { - var node = createSynthesizedNode(227 /* LabeledStatement */); + var node = createSynthesizedNode(228 /* LabeledStatement */); node.label = asName(label); node.statement = statement; return node; @@ -53965,7 +54258,7 @@ var ts; } ts.updateLabel = updateLabel; function createThrow(expression) { - var node = createSynthesizedNode(228 /* ThrowStatement */); + var node = createSynthesizedNode(229 /* ThrowStatement */); node.expression = expression; return node; } @@ -53977,7 +54270,7 @@ var ts; } ts.updateThrow = updateThrow; function createTry(tryBlock, catchClause, finallyBlock) { - var node = createSynthesizedNode(229 /* TryStatement */); + var node = createSynthesizedNode(230 /* TryStatement */); node.tryBlock = tryBlock; node.catchClause = catchClause; node.finallyBlock = finallyBlock; @@ -53993,11 +54286,11 @@ var ts; } ts.updateTry = updateTry; function createDebuggerStatement() { - return createSynthesizedNode(230 /* DebuggerStatement */); + return createSynthesizedNode(231 /* DebuggerStatement */); } ts.createDebuggerStatement = createDebuggerStatement; function createVariableDeclaration(name, type, initializer) { - var node = createSynthesizedNode(231 /* VariableDeclaration */); + var node = createSynthesizedNode(232 /* VariableDeclaration */); node.name = asName(name); node.type = type; node.initializer = initializer !== undefined ? ts.parenthesizeExpressionForList(initializer) : undefined; @@ -54013,7 +54306,8 @@ var ts; } ts.updateVariableDeclaration = updateVariableDeclaration; function createVariableDeclarationList(declarations, flags) { - var node = createSynthesizedNode(232 /* VariableDeclarationList */); + if (flags === void 0) { flags = 0 /* None */; } + var node = createSynthesizedNode(233 /* VariableDeclarationList */); node.flags |= flags & 3 /* BlockScoped */; node.declarations = createNodeArray(declarations); return node; @@ -54026,7 +54320,7 @@ var ts; } ts.updateVariableDeclarationList = updateVariableDeclarationList; function createFunctionDeclaration(decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(233 /* FunctionDeclaration */); + var node = createSynthesizedNode(234 /* FunctionDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; @@ -54052,7 +54346,7 @@ var ts; } ts.updateFunctionDeclaration = updateFunctionDeclaration; function createClassDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(234 /* ClassDeclaration */); + var node = createSynthesizedNode(235 /* ClassDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54074,7 +54368,7 @@ var ts; } ts.updateClassDeclaration = updateClassDeclaration; function createInterfaceDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(235 /* InterfaceDeclaration */); + var node = createSynthesizedNode(236 /* InterfaceDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54096,7 +54390,7 @@ var ts; } ts.updateInterfaceDeclaration = updateInterfaceDeclaration; function createTypeAliasDeclaration(decorators, modifiers, name, typeParameters, type) { - var node = createSynthesizedNode(236 /* TypeAliasDeclaration */); + var node = createSynthesizedNode(237 /* TypeAliasDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54116,7 +54410,7 @@ var ts; } ts.updateTypeAliasDeclaration = updateTypeAliasDeclaration; function createEnumDeclaration(decorators, modifiers, name, members) { - var node = createSynthesizedNode(237 /* EnumDeclaration */); + var node = createSynthesizedNode(238 /* EnumDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54134,7 +54428,8 @@ var ts; } ts.updateEnumDeclaration = updateEnumDeclaration; function createModuleDeclaration(decorators, modifiers, name, body, flags) { - var node = createSynthesizedNode(238 /* ModuleDeclaration */); + if (flags === void 0) { flags = 0 /* None */; } + var node = createSynthesizedNode(239 /* ModuleDeclaration */); node.flags |= flags & (16 /* Namespace */ | 4 /* NestedNamespace */ | 512 /* GlobalAugmentation */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); @@ -54153,7 +54448,7 @@ var ts; } ts.updateModuleDeclaration = updateModuleDeclaration; function createModuleBlock(statements) { - var node = createSynthesizedNode(239 /* ModuleBlock */); + var node = createSynthesizedNode(240 /* ModuleBlock */); node.statements = createNodeArray(statements); return node; } @@ -54165,7 +54460,7 @@ var ts; } ts.updateModuleBlock = updateModuleBlock; function createCaseBlock(clauses) { - var node = createSynthesizedNode(240 /* CaseBlock */); + var node = createSynthesizedNode(241 /* CaseBlock */); node.clauses = createNodeArray(clauses); return node; } @@ -54177,7 +54472,7 @@ var ts; } ts.updateCaseBlock = updateCaseBlock; function createNamespaceExportDeclaration(name) { - var node = createSynthesizedNode(241 /* NamespaceExportDeclaration */); + var node = createSynthesizedNode(242 /* NamespaceExportDeclaration */); node.name = asName(name); return node; } @@ -54189,7 +54484,7 @@ var ts; } ts.updateNamespaceExportDeclaration = updateNamespaceExportDeclaration; function createImportEqualsDeclaration(decorators, modifiers, name, moduleReference) { - var node = createSynthesizedNode(242 /* ImportEqualsDeclaration */); + var node = createSynthesizedNode(243 /* ImportEqualsDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54207,7 +54502,7 @@ var ts; } ts.updateImportEqualsDeclaration = updateImportEqualsDeclaration; function createImportDeclaration(decorators, modifiers, importClause, moduleSpecifier) { - var node = createSynthesizedNode(243 /* ImportDeclaration */); + var node = createSynthesizedNode(244 /* ImportDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.importClause = importClause; @@ -54225,7 +54520,7 @@ var ts; } ts.updateImportDeclaration = updateImportDeclaration; function createImportClause(name, namedBindings) { - var node = createSynthesizedNode(244 /* ImportClause */); + var node = createSynthesizedNode(245 /* ImportClause */); node.name = name; node.namedBindings = namedBindings; return node; @@ -54239,7 +54534,7 @@ var ts; } ts.updateImportClause = updateImportClause; function createNamespaceImport(name) { - var node = createSynthesizedNode(245 /* NamespaceImport */); + var node = createSynthesizedNode(246 /* NamespaceImport */); node.name = name; return node; } @@ -54251,7 +54546,7 @@ var ts; } ts.updateNamespaceImport = updateNamespaceImport; function createNamedImports(elements) { - var node = createSynthesizedNode(246 /* NamedImports */); + var node = createSynthesizedNode(247 /* NamedImports */); node.elements = createNodeArray(elements); return node; } @@ -54263,7 +54558,7 @@ var ts; } ts.updateNamedImports = updateNamedImports; function createImportSpecifier(propertyName, name) { - var node = createSynthesizedNode(247 /* ImportSpecifier */); + var node = createSynthesizedNode(248 /* ImportSpecifier */); node.propertyName = propertyName; node.name = name; return node; @@ -54277,7 +54572,7 @@ var ts; } ts.updateImportSpecifier = updateImportSpecifier; function createExportAssignment(decorators, modifiers, isExportEquals, expression) { - var node = createSynthesizedNode(248 /* ExportAssignment */); + var node = createSynthesizedNode(249 /* ExportAssignment */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.isExportEquals = isExportEquals; @@ -54294,7 +54589,7 @@ var ts; } ts.updateExportAssignment = updateExportAssignment; function createExportDeclaration(decorators, modifiers, exportClause, moduleSpecifier) { - var node = createSynthesizedNode(249 /* ExportDeclaration */); + var node = createSynthesizedNode(250 /* ExportDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.exportClause = exportClause; @@ -54312,7 +54607,7 @@ var ts; } ts.updateExportDeclaration = updateExportDeclaration; function createNamedExports(elements) { - var node = createSynthesizedNode(250 /* NamedExports */); + var node = createSynthesizedNode(251 /* NamedExports */); node.elements = createNodeArray(elements); return node; } @@ -54324,7 +54619,7 @@ var ts; } ts.updateNamedExports = updateNamedExports; function createExportSpecifier(propertyName, name) { - var node = createSynthesizedNode(251 /* ExportSpecifier */); + var node = createSynthesizedNode(252 /* ExportSpecifier */); node.propertyName = asName(propertyName); node.name = asName(name); return node; @@ -54339,7 +54634,7 @@ var ts; ts.updateExportSpecifier = updateExportSpecifier; // Module references function createExternalModuleReference(expression) { - var node = createSynthesizedNode(253 /* ExternalModuleReference */); + var node = createSynthesizedNode(254 /* ExternalModuleReference */); node.expression = expression; return node; } @@ -54352,7 +54647,7 @@ var ts; ts.updateExternalModuleReference = updateExternalModuleReference; // JSX function createJsxElement(openingElement, children, closingElement) { - var node = createSynthesizedNode(254 /* JsxElement */); + var node = createSynthesizedNode(255 /* JsxElement */); node.openingElement = openingElement; node.children = createNodeArray(children); node.closingElement = closingElement; @@ -54368,7 +54663,7 @@ var ts; } ts.updateJsxElement = updateJsxElement; function createJsxSelfClosingElement(tagName, typeArguments, attributes) { - var node = createSynthesizedNode(255 /* JsxSelfClosingElement */); + var node = createSynthesizedNode(256 /* JsxSelfClosingElement */); node.tagName = tagName; node.typeArguments = typeArguments && createNodeArray(typeArguments); node.attributes = attributes; @@ -54384,7 +54679,7 @@ var ts; } ts.updateJsxSelfClosingElement = updateJsxSelfClosingElement; function createJsxOpeningElement(tagName, typeArguments, attributes) { - var node = createSynthesizedNode(256 /* JsxOpeningElement */); + var node = createSynthesizedNode(257 /* JsxOpeningElement */); node.tagName = tagName; node.typeArguments = typeArguments && createNodeArray(typeArguments); node.attributes = attributes; @@ -54400,7 +54695,7 @@ var ts; } ts.updateJsxOpeningElement = updateJsxOpeningElement; function createJsxClosingElement(tagName) { - var node = createSynthesizedNode(257 /* JsxClosingElement */); + var node = createSynthesizedNode(258 /* JsxClosingElement */); node.tagName = tagName; return node; } @@ -54412,7 +54707,7 @@ var ts; } ts.updateJsxClosingElement = updateJsxClosingElement; function createJsxFragment(openingFragment, children, closingFragment) { - var node = createSynthesizedNode(258 /* JsxFragment */); + var node = createSynthesizedNode(259 /* JsxFragment */); node.openingFragment = openingFragment; node.children = createNodeArray(children); node.closingFragment = closingFragment; @@ -54428,7 +54723,7 @@ var ts; } ts.updateJsxFragment = updateJsxFragment; function createJsxAttribute(name, initializer) { - var node = createSynthesizedNode(261 /* JsxAttribute */); + var node = createSynthesizedNode(262 /* JsxAttribute */); node.name = name; node.initializer = initializer; return node; @@ -54442,7 +54737,7 @@ var ts; } ts.updateJsxAttribute = updateJsxAttribute; function createJsxAttributes(properties) { - var node = createSynthesizedNode(262 /* JsxAttributes */); + var node = createSynthesizedNode(263 /* JsxAttributes */); node.properties = createNodeArray(properties); return node; } @@ -54454,7 +54749,7 @@ var ts; } ts.updateJsxAttributes = updateJsxAttributes; function createJsxSpreadAttribute(expression) { - var node = createSynthesizedNode(263 /* JsxSpreadAttribute */); + var node = createSynthesizedNode(264 /* JsxSpreadAttribute */); node.expression = expression; return node; } @@ -54466,7 +54761,7 @@ var ts; } ts.updateJsxSpreadAttribute = updateJsxSpreadAttribute; function createJsxExpression(dotDotDotToken, expression) { - var node = createSynthesizedNode(264 /* JsxExpression */); + var node = createSynthesizedNode(265 /* JsxExpression */); node.dotDotDotToken = dotDotDotToken; node.expression = expression; return node; @@ -54480,7 +54775,7 @@ var ts; ts.updateJsxExpression = updateJsxExpression; // Clauses function createCaseClause(expression, statements) { - var node = createSynthesizedNode(265 /* CaseClause */); + var node = createSynthesizedNode(266 /* CaseClause */); node.expression = ts.parenthesizeExpressionForList(expression); node.statements = createNodeArray(statements); return node; @@ -54494,7 +54789,7 @@ var ts; } ts.updateCaseClause = updateCaseClause; function createDefaultClause(statements) { - var node = createSynthesizedNode(266 /* DefaultClause */); + var node = createSynthesizedNode(267 /* DefaultClause */); node.statements = createNodeArray(statements); return node; } @@ -54506,7 +54801,7 @@ var ts; } ts.updateDefaultClause = updateDefaultClause; function createHeritageClause(token, types) { - var node = createSynthesizedNode(267 /* HeritageClause */); + var node = createSynthesizedNode(268 /* HeritageClause */); node.token = token; node.types = createNodeArray(types); return node; @@ -54519,7 +54814,7 @@ var ts; } ts.updateHeritageClause = updateHeritageClause; function createCatchClause(variableDeclaration, block) { - var node = createSynthesizedNode(268 /* CatchClause */); + var node = createSynthesizedNode(269 /* CatchClause */); node.variableDeclaration = ts.isString(variableDeclaration) ? createVariableDeclaration(variableDeclaration) : variableDeclaration; node.block = block; return node; @@ -54534,7 +54829,7 @@ var ts; ts.updateCatchClause = updateCatchClause; // Property assignments function createPropertyAssignment(name, initializer) { - var node = createSynthesizedNode(269 /* PropertyAssignment */); + var node = createSynthesizedNode(270 /* PropertyAssignment */); node.name = asName(name); node.questionToken = undefined; node.initializer = ts.parenthesizeExpressionForList(initializer); @@ -54549,7 +54844,7 @@ var ts; } ts.updatePropertyAssignment = updatePropertyAssignment; function createShorthandPropertyAssignment(name, objectAssignmentInitializer) { - var node = createSynthesizedNode(270 /* ShorthandPropertyAssignment */); + var node = createSynthesizedNode(271 /* ShorthandPropertyAssignment */); node.name = asName(name); node.objectAssignmentInitializer = objectAssignmentInitializer !== undefined ? ts.parenthesizeExpressionForList(objectAssignmentInitializer) : undefined; return node; @@ -54563,8 +54858,8 @@ var ts; } ts.updateShorthandPropertyAssignment = updateShorthandPropertyAssignment; function createSpreadAssignment(expression) { - var node = createSynthesizedNode(271 /* SpreadAssignment */); - node.expression = expression !== undefined ? ts.parenthesizeExpressionForList(expression) : undefined; + var node = createSynthesizedNode(272 /* SpreadAssignment */); + node.expression = expression !== undefined ? ts.parenthesizeExpressionForList(expression) : undefined; // TODO: GH#18217 return node; } ts.createSpreadAssignment = createSpreadAssignment; @@ -54576,7 +54871,7 @@ var ts; ts.updateSpreadAssignment = updateSpreadAssignment; // Enum function createEnumMember(name, initializer) { - var node = createSynthesizedNode(272 /* EnumMember */); + var node = createSynthesizedNode(273 /* EnumMember */); node.name = asName(name); node.initializer = initializer && ts.parenthesizeExpressionForList(initializer); return node; @@ -54596,7 +54891,7 @@ var ts; (referencedFiles !== undefined && node.referencedFiles !== referencedFiles) || (typeReferences !== undefined && node.typeReferenceDirectives !== typeReferences) || (hasNoDefaultLib !== undefined && node.hasNoDefaultLib !== hasNoDefaultLib)) { - var updated = createSynthesizedNode(273 /* SourceFile */); + var updated = createSynthesizedNode(274 /* SourceFile */); updated.flags |= node.flags; updated.statements = createNodeArray(statements); updated.endOfFileToken = node.endOfFileToken; @@ -54635,6 +54930,8 @@ var ts; updated.parseDiagnostics = node.parseDiagnostics; if (node.bindDiagnostics !== undefined) updated.bindDiagnostics = node.bindDiagnostics; + if (node.bindSuggestionDiagnostics !== undefined) + updated.bindSuggestionDiagnostics = node.bindSuggestionDiagnostics; if (node.lineMap !== undefined) updated.lineMap = node.lineMap; if (node.classifiableNames !== undefined) @@ -54677,7 +54974,7 @@ var ts; * @param original The original statement. */ function createNotEmittedStatement(original) { - var node = createSynthesizedNode(299 /* NotEmittedStatement */); + var node = createSynthesizedNode(300 /* NotEmittedStatement */); node.original = original; setTextRange(node, original); return node; @@ -54689,7 +54986,7 @@ var ts; */ /* @internal */ function createEndOfDeclarationMarker(original) { - var node = createSynthesizedNode(303 /* EndOfDeclarationMarker */); + var node = createSynthesizedNode(304 /* EndOfDeclarationMarker */); node.emitNode = {}; node.original = original; return node; @@ -54701,7 +54998,7 @@ var ts; */ /* @internal */ function createMergeDeclarationMarker(original) { - var node = createSynthesizedNode(302 /* MergeDeclarationMarker */); + var node = createSynthesizedNode(303 /* MergeDeclarationMarker */); node.emitNode = {}; node.original = original; return node; @@ -54716,7 +55013,7 @@ var ts; * @param location The location for the expression. Defaults to the positions from "original" if provided. */ function createPartiallyEmittedExpression(expression, original) { - var node = createSynthesizedNode(300 /* PartiallyEmittedExpression */); + var node = createSynthesizedNode(301 /* PartiallyEmittedExpression */); node.expression = expression; node.original = original; setTextRange(node, original); @@ -54732,7 +55029,7 @@ var ts; ts.updatePartiallyEmittedExpression = updatePartiallyEmittedExpression; function flattenCommaElements(node) { if (ts.nodeIsSynthesized(node) && !ts.isParseTreeNode(node) && !node.original && !node.emitNode && !node.id) { - if (node.kind === 301 /* CommaListExpression */) { + if (node.kind === 302 /* CommaListExpression */) { return node.elements; } if (ts.isBinaryExpression(node) && node.operatorToken.kind === 26 /* CommaToken */) { @@ -54742,7 +55039,7 @@ var ts; return node; } function createCommaList(elements) { - var node = createSynthesizedNode(301 /* CommaListExpression */); + var node = createSynthesizedNode(302 /* CommaListExpression */); node.elements = createNodeArray(ts.sameFlatMap(elements, flattenCommaElements)); return node; } @@ -54755,20 +55052,20 @@ var ts; ts.updateCommaList = updateCommaList; function createBundle(sourceFiles, prepends) { if (prepends === void 0) { prepends = ts.emptyArray; } - var node = ts.createNode(274 /* Bundle */); + var node = ts.createNode(275 /* Bundle */); node.prepends = prepends; node.sourceFiles = sourceFiles; return node; } ts.createBundle = createBundle; function createUnparsedSourceFile(text) { - var node = ts.createNode(275 /* UnparsedSource */); + var node = ts.createNode(276 /* UnparsedSource */); node.text = text; return node; } ts.createUnparsedSourceFile = createUnparsedSourceFile; function createInputFiles(javascript, declaration) { - var node = ts.createNode(276 /* InputFiles */); + var node = ts.createNode(277 /* InputFiles */); node.javascriptText = javascript; node.declarationText = declaration; return node; @@ -54861,6 +55158,7 @@ var ts; return createExportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, createNamedExports([createExportSpecifier(/*propertyName*/ undefined, exportName)])); } ts.createExternalModuleExport = createExternalModuleExport; + // Utilities function asName(name) { return ts.isString(name) ? createIdentifier(name) : name; } @@ -54906,7 +55204,7 @@ var ts; // To avoid holding onto transformation artifacts, we keep track of any // parse tree node we are annotating. This allows us to clean them up after // all transformations have completed. - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { return node.emitNode = { annotatedNodes: [node] }; } var sourceFile = ts.getSourceFileOfNode(node); @@ -55391,7 +55689,7 @@ var ts; // Utilities function createForOfBindingStatement(node, boundValue) { if (ts.isVariableDeclarationList(node)) { - var firstDeclaration = ts.firstOrUndefined(node.declarations); + var firstDeclaration = ts.first(node.declarations); var updatedDeclaration = ts.updateVariableDeclaration(firstDeclaration, firstDeclaration.name, /*typeNode*/ undefined, boundValue); return ts.setTextRange(ts.createVariableStatement( @@ -55417,7 +55715,7 @@ var ts; if (!outermostLabeledStatement) { return node; } - var updated = ts.updateLabel(outermostLabeledStatement, outermostLabeledStatement.label, outermostLabeledStatement.statement.kind === 227 /* LabeledStatement */ + var updated = ts.updateLabel(outermostLabeledStatement, outermostLabeledStatement.label, outermostLabeledStatement.statement.kind === 228 /* LabeledStatement */ ? restoreEnclosingLabel(node, outermostLabeledStatement.statement) : node); if (afterRestoreLabelCallback) { @@ -55435,19 +55733,20 @@ var ts; case 8 /* NumericLiteral */: case 9 /* StringLiteral */: return false; - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: var elements = target.elements; if (elements.length === 0) { return false; } return true; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return target.properties.length > 0; default: return true; } } function createCallBinding(expression, recordTempVariable, languageVersion, cacheIdentifiers) { + if (cacheIdentifiers === void 0) { cacheIdentifiers = false; } var callee = skipOuterExpressions(expression, 7 /* All */); var thisArg; var target; @@ -55467,7 +55766,7 @@ var ts; } else { switch (callee.kind) { - case 184 /* PropertyAccessExpression */: { + case 185 /* PropertyAccessExpression */: { if (shouldBeCapturedInTempVariable(callee.expression, cacheIdentifiers)) { // for `a.b()` target is `(_a = a).b` and thisArg is `_a` thisArg = ts.createTempVariable(recordTempVariable); @@ -55480,7 +55779,7 @@ var ts; } break; } - case 185 /* ElementAccessExpression */: { + case 186 /* ElementAccessExpression */: { if (shouldBeCapturedInTempVariable(callee.expression, cacheIdentifiers)) { // for `a[b]()` target is `(_a = a)[b]` and thisArg is `_a` thisArg = ts.createTempVariable(recordTempVariable); @@ -55537,14 +55836,14 @@ var ts; ts.createExpressionForPropertyName = createExpressionForPropertyName; function createExpressionForObjectLiteralElementLike(node, property, receiver) { switch (property.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - return createExpressionForAccessorDeclaration(node.properties, property, receiver, node.multiLine); - case 269 /* PropertyAssignment */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + return createExpressionForAccessorDeclaration(node.properties, property, receiver, !!node.multiLine); + case 270 /* PropertyAssignment */: return createExpressionForPropertyAssignment(property, receiver); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return createExpressionForShorthandPropertyAssignment(property, receiver); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return createExpressionForMethodDeclaration(property, receiver); } } @@ -55558,7 +55857,8 @@ var ts; /*asteriskToken*/ undefined, /*name*/ undefined, /*typeParameters*/ undefined, getAccessor.parameters, - /*type*/ undefined, getAccessor.body); + /*type*/ undefined, getAccessor.body // TODO: GH#18217 + ); ts.setTextRange(getterFunction, getAccessor); ts.setOriginalNode(getterFunction, getAccessor); var getter = ts.createPropertyAssignment("get", getterFunction); @@ -55569,7 +55869,8 @@ var ts; /*asteriskToken*/ undefined, /*name*/ undefined, /*typeParameters*/ undefined, setAccessor.parameters, - /*type*/ undefined, setAccessor.body); + /*type*/ undefined, setAccessor.body // TODO: GH#18217 + ); ts.setTextRange(setterFunction, setAccessor); ts.setOriginalNode(setterFunction, setAccessor); var setter = ts.createPropertyAssignment("set", setterFunction); @@ -55600,7 +55901,8 @@ var ts; return ts.aggregateTransformFlags(ts.setOriginalNode(ts.setTextRange(ts.createAssignment(createMemberAccessForPropertyName(receiver, method.name, /*location*/ method.name), ts.setOriginalNode(ts.setTextRange(ts.createFunctionExpression(method.modifiers, method.asteriskToken, /*name*/ undefined, /*typeParameters*/ undefined, method.parameters, - /*type*/ undefined, method.body), + /*type*/ undefined, method.body // TODO: GH#18217 + ), /*location*/ method), /*original*/ method)), /*location*/ method), @@ -55683,6 +55985,7 @@ var ts; } ts.getDeclarationName = getDeclarationName; function getName(node, allowComments, allowSourceMaps, emitFlags) { + if (emitFlags === void 0) { emitFlags = 0; } var nodeName = ts.getNameOfDeclaration(node); if (nodeName && ts.isIdentifier(nodeName) && !ts.isGeneratedIdentifier(nodeName)) { var name = ts.getMutableClone(nodeName); @@ -55726,7 +56029,7 @@ var ts; function getNamespaceMemberName(ns, name, allowComments, allowSourceMaps) { var qualifiedName = ts.createPropertyAccess(ns, ts.nodeIsSynthesized(name) ? name : ts.getSynthesizedClone(name)); ts.setTextRange(qualifiedName, name); - var emitFlags; + var emitFlags = 0; if (!allowSourceMaps) emitFlags |= 48 /* NoSourceMap */; if (!allowComments) @@ -55741,7 +56044,8 @@ var ts; } ts.convertToFunctionBody = convertToFunctionBody; function convertFunctionDeclarationToExpression(node) { - ts.Debug.assert(!!node.body); + if (!node.body) + return ts.Debug.fail(); var updated = ts.createFunctionExpression(node.modifiers, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, node.body); ts.setOriginalNode(updated, node); ts.setTextRange(updated, node); @@ -55801,15 +56105,9 @@ var ts; return statementOffset; } ts.addStandardPrologue = addStandardPrologue; - /** - * Add just the custom prologue-directives into target statement-array. - * The function needs to be called during each transformation step. - * This function needs to be called whenever we transform the statement - * list of a source file, namespace, or function-like body. - */ function addCustomPrologue(target, source, statementOffset, visitor) { var numStatements = source.length; - while (statementOffset < numStatements) { + while (statementOffset !== undefined && statementOffset < numStatements) { var statement = source[statementOffset]; if (ts.getEmitFlags(statement) & 1048576 /* CustomPrologue */) { ts.append(target, visitor ? ts.visitNode(statement, visitor, ts.isStatement) : statement); @@ -55868,7 +56166,7 @@ var ts; function parenthesizeBinaryOperand(binaryOperator, operand, isLeftSideOfBinary, leftOperand) { var skipped = ts.skipPartiallyEmittedExpressions(operand); // If the resulting expression is already parenthesized, we do not need to do any further processing. - if (skipped.kind === 190 /* ParenthesizedExpression */) { + if (skipped.kind === 191 /* ParenthesizedExpression */) { return operand; } return binaryOperandNeedsParentheses(binaryOperator, operand, isLeftSideOfBinary, leftOperand) @@ -55902,8 +56200,8 @@ var ts; // // If `a ** d` is on the left of operator `**`, we need to parenthesize to preserve // the intended order of operations: `(a ** b) ** c` - var binaryOperatorPrecedence = ts.getOperatorPrecedence(199 /* BinaryExpression */, binaryOperator); - var binaryOperatorAssociativity = ts.getOperatorAssociativity(199 /* BinaryExpression */, binaryOperator); + var binaryOperatorPrecedence = ts.getOperatorPrecedence(200 /* BinaryExpression */, binaryOperator); + var binaryOperatorAssociativity = ts.getOperatorAssociativity(200 /* BinaryExpression */, binaryOperator); var emittedOperand = ts.skipPartiallyEmittedExpressions(operand); var operandPrecedence = ts.getExpressionPrecedence(emittedOperand); switch (ts.compareValues(operandPrecedence, binaryOperatorPrecedence)) { @@ -55912,7 +56210,7 @@ var ts; // and is a yield expression, then we do not need parentheses. if (!isLeftSideOfBinary && binaryOperatorAssociativity === 1 /* Right */ - && operand.kind === 202 /* YieldExpression */) { + && operand.kind === 203 /* YieldExpression */) { return false; } return true; @@ -56000,7 +56298,7 @@ var ts; if (ts.isLiteralKind(node.kind)) { return node.kind; } - if (node.kind === 199 /* BinaryExpression */ && node.operatorToken.kind === 37 /* PlusToken */) { + if (node.kind === 200 /* BinaryExpression */ && node.operatorToken.kind === 37 /* PlusToken */) { if (node.cachedLiteralKind !== undefined) { return node.cachedLiteralKind; } @@ -56015,7 +56313,7 @@ var ts; return 0 /* Unknown */; } function parenthesizeForConditionalHead(condition) { - var conditionalPrecedence = ts.getOperatorPrecedence(200 /* ConditionalExpression */, 55 /* QuestionToken */); + var conditionalPrecedence = ts.getOperatorPrecedence(201 /* ConditionalExpression */, 55 /* QuestionToken */); var emittedCondition = ts.skipPartiallyEmittedExpressions(condition); var conditionPrecedence = ts.getExpressionPrecedence(emittedCondition); if (ts.compareValues(conditionPrecedence, conditionalPrecedence) === -1 /* LessThan */) { @@ -56029,8 +56327,8 @@ var ts; // so in case when comma expression is introduced as a part of previous transformations // if should be wrapped in parens since comma operator has the lowest precedence var emittedExpression = ts.skipPartiallyEmittedExpressions(e); - return emittedExpression.kind === 199 /* BinaryExpression */ && emittedExpression.operatorToken.kind === 26 /* CommaToken */ || - emittedExpression.kind === 301 /* CommaListExpression */ + return emittedExpression.kind === 200 /* BinaryExpression */ && emittedExpression.operatorToken.kind === 26 /* CommaToken */ || + emittedExpression.kind === 302 /* CommaListExpression */ ? ts.createParen(e) : e; } @@ -56048,9 +56346,9 @@ var ts; */ function parenthesizeDefaultExpression(e) { var check = ts.skipPartiallyEmittedExpressions(e); - return (check.kind === 204 /* ClassExpression */ || - check.kind === 191 /* FunctionExpression */ || - check.kind === 301 /* CommaListExpression */ || + return (check.kind === 205 /* ClassExpression */ || + check.kind === 192 /* FunctionExpression */ || + check.kind === 302 /* CommaListExpression */ || ts.isBinaryExpression(check) && check.operatorToken.kind === 26 /* CommaToken */) ? ts.createParen(e) : e; @@ -56065,9 +56363,9 @@ var ts; function parenthesizeForNew(expression) { var leftmostExpr = getLeftmostExpression(expression, /*stopAtCallExpressions*/ true); switch (leftmostExpr.kind) { - case 186 /* CallExpression */: + case 187 /* CallExpression */: return ts.createParen(expression); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return !leftmostExpr.arguments ? ts.createParen(expression) : expression; @@ -56090,7 +56388,7 @@ var ts; // var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); if (ts.isLeftHandSideExpression(emittedExpression) - && (emittedExpression.kind !== 187 /* NewExpression */ || emittedExpression.arguments)) { + && (emittedExpression.kind !== 188 /* NewExpression */ || emittedExpression.arguments)) { return expression; } return ts.setTextRange(ts.createParen(expression), expression); @@ -56128,7 +56426,7 @@ var ts; function parenthesizeExpressionForList(expression) { var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); var expressionPrecedence = ts.getExpressionPrecedence(emittedExpression); - var commaPrecedence = ts.getOperatorPrecedence(199 /* BinaryExpression */, 26 /* CommaToken */); + var commaPrecedence = ts.getOperatorPrecedence(200 /* BinaryExpression */, 26 /* CommaToken */); return expressionPrecedence > commaPrecedence ? expression : ts.setTextRange(ts.createParen(expression), expression); @@ -56139,29 +56437,29 @@ var ts; if (ts.isCallExpression(emittedExpression)) { var callee = emittedExpression.expression; var kind = ts.skipPartiallyEmittedExpressions(callee).kind; - if (kind === 191 /* FunctionExpression */ || kind === 192 /* ArrowFunction */) { + if (kind === 192 /* FunctionExpression */ || kind === 193 /* ArrowFunction */) { var mutableCall = ts.getMutableClone(emittedExpression); mutableCall.expression = ts.setTextRange(ts.createParen(callee), callee); return recreateOuterExpressions(expression, mutableCall, 4 /* PartiallyEmittedExpressions */); } } var leftmostExpressionKind = getLeftmostExpression(emittedExpression, /*stopAtCallExpressions*/ false).kind; - if (leftmostExpressionKind === 183 /* ObjectLiteralExpression */ || leftmostExpressionKind === 191 /* FunctionExpression */) { + if (leftmostExpressionKind === 184 /* ObjectLiteralExpression */ || leftmostExpressionKind === 192 /* FunctionExpression */) { return ts.setTextRange(ts.createParen(expression), expression); } return expression; } ts.parenthesizeExpressionForExpressionStatement = parenthesizeExpressionForExpressionStatement; function parenthesizeConditionalTypeMember(member) { - return member.kind === 170 /* ConditionalType */ ? ts.createParenthesizedType(member) : member; + return member.kind === 171 /* ConditionalType */ ? ts.createParenthesizedType(member) : member; } ts.parenthesizeConditionalTypeMember = parenthesizeConditionalTypeMember; function parenthesizeElementTypeMember(member) { switch (member.kind) { - case 168 /* UnionType */: - case 169 /* IntersectionType */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: return ts.createParenthesizedType(member); } return parenthesizeConditionalTypeMember(member); @@ -56169,9 +56467,9 @@ var ts; ts.parenthesizeElementTypeMember = parenthesizeElementTypeMember; function parenthesizeArrayTypeMember(member) { switch (member.kind) { - case 164 /* TypeQuery */: - case 174 /* TypeOperator */: - case 171 /* InferType */: + case 165 /* TypeQuery */: + case 175 /* TypeOperator */: + case 172 /* InferType */: return ts.createParenthesizedType(member); } return parenthesizeElementTypeMember(member); @@ -56197,25 +56495,25 @@ var ts; function getLeftmostExpression(node, stopAtCallExpressions) { while (true) { switch (node.kind) { - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: node = node.operand; continue; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: node = node.left; continue; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: node = node.condition; continue; - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (stopAtCallExpressions) { return node; } // falls through - case 185 /* ElementAccessExpression */: - case 184 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: + case 185 /* PropertyAccessExpression */: node = node.expression; continue; - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: node = node.expression; continue; } @@ -56223,7 +56521,7 @@ var ts; } } function parenthesizeConciseBody(body) { - if (!ts.isBlock(body) && getLeftmostExpression(body, /*stopAtCallExpressions*/ false).kind === 183 /* ObjectLiteralExpression */) { + if (!ts.isBlock(body) && getLeftmostExpression(body, /*stopAtCallExpressions*/ false).kind === 184 /* ObjectLiteralExpression */) { return ts.setTextRange(ts.createParen(body), body); } return body; @@ -56239,13 +56537,13 @@ var ts; function isOuterExpression(node, kinds) { if (kinds === void 0) { kinds = 7 /* All */; } switch (node.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return (kinds & 1 /* Parentheses */) !== 0; - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: - case 208 /* NonNullExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: + case 209 /* NonNullExpression */: return (kinds & 2 /* Assertions */) !== 0; - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: return (kinds & 4 /* PartiallyEmittedExpressions */) !== 0; } return false; @@ -56270,7 +56568,7 @@ var ts; } ts.skipOuterExpressions = skipOuterExpressions; function skipAssertions(node) { - while (ts.isAssertionExpression(node) || node.kind === 208 /* NonNullExpression */) { + while (ts.isAssertionExpression(node) || node.kind === 209 /* NonNullExpression */) { node = node.expression; } return node; @@ -56278,11 +56576,11 @@ var ts; ts.skipAssertions = skipAssertions; function updateOuterExpression(outerExpression, expression) { switch (outerExpression.kind) { - case 190 /* ParenthesizedExpression */: return ts.updateParen(outerExpression, expression); - case 189 /* TypeAssertionExpression */: return ts.updateTypeAssertion(outerExpression, outerExpression.type, expression); - case 207 /* AsExpression */: return ts.updateAsExpression(outerExpression, expression, outerExpression.type); - case 208 /* NonNullExpression */: return ts.updateNonNullExpression(outerExpression, expression); - case 300 /* PartiallyEmittedExpression */: return ts.updatePartiallyEmittedExpression(outerExpression, expression); + case 191 /* ParenthesizedExpression */: return ts.updateParen(outerExpression, expression); + case 190 /* TypeAssertionExpression */: return ts.updateTypeAssertion(outerExpression, outerExpression.type, expression); + case 208 /* AsExpression */: return ts.updateAsExpression(outerExpression, expression, outerExpression.type); + case 209 /* NonNullExpression */: return ts.updateNonNullExpression(outerExpression, expression); + case 301 /* PartiallyEmittedExpression */: return ts.updatePartiallyEmittedExpression(outerExpression, expression); } } /** @@ -56300,7 +56598,7 @@ var ts; * the containing expression is created/updated. */ function isIgnorableParen(node) { - return node.kind === 190 /* ParenthesizedExpression */ + return node.kind === 191 /* ParenthesizedExpression */ && ts.nodeIsSynthesized(node) && ts.nodeIsSynthesized(ts.getSourceMapRange(node)) && ts.nodeIsSynthesized(ts.getCommentRange(node)) @@ -56365,10 +56663,10 @@ var ts; var name = namespaceDeclaration.name; return ts.isGeneratedIdentifier(name) ? name : ts.createIdentifier(ts.getSourceTextOfNodeFromSourceFile(sourceFile, name) || ts.idText(name)); } - if (node.kind === 243 /* ImportDeclaration */ && node.importClause) { + if (node.kind === 244 /* ImportDeclaration */ && node.importClause) { return ts.getGeneratedNameForNode(node); } - if (node.kind === 249 /* ExportDeclaration */ && node.moduleSpecifier) { + if (node.kind === 250 /* ExportDeclaration */ && node.moduleSpecifier) { return ts.getGeneratedNameForNode(node); } return undefined; @@ -56383,7 +56681,7 @@ var ts; * Otherwise, a new StringLiteral node representing the module name will be returned. */ function getExternalModuleNameLiteral(importNode, sourceFile, host, resolver, compilerOptions) { - var moduleName = ts.getExternalModuleName(importNode); + var moduleName = ts.getExternalModuleName(importNode); // TODO: GH#18217 if (moduleName.kind === 9 /* StringLiteral */) { return tryGetModuleNameFromDeclaration(importNode, host, resolver, compilerOptions) || tryRenameExternalModule(moduleName, sourceFile) @@ -56441,8 +56739,9 @@ var ts; // `1` in `({ a: b = 1 } = ...)` // `1` in `({ a: {b} = 1 } = ...)` // `1` in `({ a: [b] = 1 } = ...)` - return ts.isAssignmentExpression(bindingElement.initializer, /*excludeCompoundAssignment*/ true) - ? bindingElement.initializer.right + var initializer = bindingElement.initializer; + return ts.isAssignmentExpression(initializer, /*excludeCompoundAssignment*/ true) + ? initializer.right : undefined; } if (ts.isShorthandPropertyAssignment(bindingElement)) { @@ -56486,7 +56785,7 @@ var ts; } if (ts.isObjectLiteralElementLike(bindingElement)) { switch (bindingElement.kind) { - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: // `b` in `({ a: b } = ...)` // `b` in `({ a: b = 1 } = ...)` // `{b}` in `({ a: {b} } = ...)` @@ -56498,11 +56797,11 @@ var ts; // `b[0]` in `({ a: b[0] } = ...)` // `b[0]` in `({ a: b[0] = 1 } = ...)` return getTargetOfBindingOrAssignmentElement(bindingElement.initializer); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: // `a` in `({ a } = ...)` // `a` in `({ a = 1 } = ...)` return bindingElement.name; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: // `a` in `({ ...a } = ...)` return getTargetOfBindingOrAssignmentElement(bindingElement.expression); } @@ -56534,12 +56833,12 @@ var ts; */ function getRestIndicatorOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 148 /* Parameter */: - case 181 /* BindingElement */: + case 149 /* Parameter */: + case 182 /* BindingElement */: // `...` in `let [...a] = ...` return bindingElement.dotDotDotToken; - case 203 /* SpreadElement */: - case 271 /* SpreadAssignment */: + case 204 /* SpreadElement */: + case 272 /* SpreadAssignment */: // `...` in `[...a] = ...` return bindingElement; } @@ -56551,7 +56850,7 @@ var ts; */ function getPropertyNameOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 181 /* BindingElement */: + case 182 /* BindingElement */: // `a` in `let { a: b } = ...` // `[a]` in `let { [a]: b } = ...` // `"a"` in `let { "a": b } = ...` @@ -56563,7 +56862,7 @@ var ts; : propertyName; } break; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: // `a` in `({ a: b } = ...)` // `[a]` in `({ [a]: b } = ...)` // `"a"` in `({ "a": b } = ...)` @@ -56575,7 +56874,7 @@ var ts; : propertyName; } break; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: // `a` in `({ ...a } = ...)` return bindingElement.name; } @@ -56593,13 +56892,13 @@ var ts; */ function getElementsOfBindingOrAssignmentPattern(name) { switch (name.kind) { - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: - case 182 /* ArrayLiteralExpression */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: + case 183 /* ArrayLiteralExpression */: // `a` in `{a}` // `a` in `[a]` return name.elements; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: // `a` in `{a}` return name.properties; } @@ -56639,11 +56938,11 @@ var ts; ts.convertToObjectAssignmentElement = convertToObjectAssignmentElement; function convertToAssignmentPattern(node) { switch (node.kind) { - case 180 /* ArrayBindingPattern */: - case 182 /* ArrayLiteralExpression */: + case 181 /* ArrayBindingPattern */: + case 183 /* ArrayLiteralExpression */: return convertToArrayAssignmentPattern(node); - case 179 /* ObjectBindingPattern */: - case 183 /* ObjectLiteralExpression */: + case 180 /* ObjectBindingPattern */: + case 184 /* ObjectLiteralExpression */: return convertToObjectAssignmentPattern(node); } } @@ -56804,272 +57103,272 @@ var ts; } var kind = node.kind; // No need to visit nodes with no children. - if ((kind > 0 /* FirstToken */ && kind <= 144 /* LastToken */) || kind === 173 /* ThisType */) { + if ((kind > 0 /* FirstToken */ && kind <= 145 /* LastToken */) || kind === 174 /* ThisType */) { return node; } switch (kind) { // Names case 71 /* Identifier */: return ts.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, isTypeNodeOrTypeParameterDeclaration)); - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return ts.updateQualifiedName(node, visitNode(node.left, visitor, ts.isEntityName), visitNode(node.right, visitor, ts.isIdentifier)); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return ts.updateComputedPropertyName(node, visitNode(node.expression, visitor, ts.isExpression)); // Signature elements - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return ts.updateTypeParameterDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.constraint, visitor, ts.isTypeNode), visitNode(node.default, visitor, ts.isTypeNode)); - case 148 /* Parameter */: + case 149 /* Parameter */: return ts.updateParameter(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); - case 149 /* Decorator */: + case 150 /* Decorator */: return ts.updateDecorator(node, visitNode(node.expression, visitor, ts.isExpression)); // Type elements - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: return ts.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return ts.updateProperty(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); - case 152 /* MethodSignature */: + case 153 /* MethodSignature */: return ts.updateMethodSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken)); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return ts.updateMethod(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); - case 154 /* Constructor */: + case 155 /* Constructor */: return ts.updateConstructor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: return ts.updateGetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return ts.updateSetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); - case 157 /* CallSignature */: + case 158 /* CallSignature */: return ts.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: return ts.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: return ts.updateIndexSignature(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); // Types - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return ts.updateTypePredicateNode(node, visitNode(node.parameterName, visitor), visitNode(node.type, visitor, ts.isTypeNode)); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return ts.updateTypeReferenceNode(node, visitNode(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); - case 162 /* FunctionType */: + case 163 /* FunctionType */: return ts.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 163 /* ConstructorType */: + case 164 /* ConstructorType */: return ts.updateConstructorTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return ts.updateTypeQueryNode(node, visitNode(node.exprName, visitor, ts.isEntityName)); - case 165 /* TypeLiteral */: + case 166 /* TypeLiteral */: return ts.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return ts.updateArrayTypeNode(node, visitNode(node.elementType, visitor, ts.isTypeNode)); - case 167 /* TupleType */: + case 168 /* TupleType */: return ts.updateTypleTypeNode(node, nodesVisitor(node.elementTypes, visitor, ts.isTypeNode)); - case 168 /* UnionType */: + case 169 /* UnionType */: return ts.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); - case 169 /* IntersectionType */: + case 170 /* IntersectionType */: return ts.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return ts.updateConditionalTypeNode(node, visitNode(node.checkType, visitor, ts.isTypeNode), visitNode(node.extendsType, visitor, ts.isTypeNode), visitNode(node.trueType, visitor, ts.isTypeNode), visitNode(node.falseType, visitor, ts.isTypeNode)); - case 171 /* InferType */: + case 172 /* InferType */: return ts.updateInferTypeNode(node, visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration)); - case 178 /* ImportType */: + case 179 /* ImportType */: return ts.updateImportTypeNode(node, visitNode(node.argument, visitor, ts.isTypeNode), visitNode(node.qualifier, visitor, ts.isEntityName), visitNodes(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return ts.updateParenthesizedType(node, visitNode(node.type, visitor, ts.isTypeNode)); - case 174 /* TypeOperator */: + case 175 /* TypeOperator */: return ts.updateTypeOperatorNode(node, visitNode(node.type, visitor, ts.isTypeNode)); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return ts.updateIndexedAccessTypeNode(node, visitNode(node.objectType, visitor, ts.isTypeNode), visitNode(node.indexType, visitor, ts.isTypeNode)); - case 176 /* MappedType */: + case 177 /* MappedType */: return ts.updateMappedTypeNode(node, visitNode(node.readonlyToken, tokenVisitor, ts.isToken), visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode)); - case 177 /* LiteralType */: + case 178 /* LiteralType */: return ts.updateLiteralTypeNode(node, visitNode(node.literal, visitor, ts.isExpression)); // Binding patterns - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: return ts.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement)); - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: return ts.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement)); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return ts.updateBindingElement(node, visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.propertyName, visitor, ts.isPropertyName), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.initializer, visitor, ts.isExpression)); // Expression - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return ts.updateArrayLiteral(node, nodesVisitor(node.elements, visitor, ts.isExpression)); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return ts.updateObjectLiteral(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike)); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return ts.updatePropertyAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.name, visitor, ts.isIdentifier)); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return ts.updateElementAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.argumentExpression, visitor, ts.isExpression)); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return ts.updateCall(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return ts.updateNew(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return ts.updateTaggedTemplate(node, visitNode(node.tag, visitor, ts.isExpression), visitNodes(node.typeArguments, visitor, ts.isExpression), visitNode(node.template, visitor, ts.isTemplateLiteral)); - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: return ts.updateTypeAssertion(node, visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return ts.updateParen(node, visitNode(node.expression, visitor, ts.isExpression)); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return ts.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return ts.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.equalsGreaterThanToken, visitor, ts.isToken), visitFunctionBody(node.body, visitor, context)); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return ts.updateDelete(node, visitNode(node.expression, visitor, ts.isExpression)); - case 194 /* TypeOfExpression */: + case 195 /* TypeOfExpression */: return ts.updateTypeOf(node, visitNode(node.expression, visitor, ts.isExpression)); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return ts.updateVoid(node, visitNode(node.expression, visitor, ts.isExpression)); - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return ts.updateAwait(node, visitNode(node.expression, visitor, ts.isExpression)); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return ts.updatePrefix(node, visitNode(node.operand, visitor, ts.isExpression)); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return ts.updatePostfix(node, visitNode(node.operand, visitor, ts.isExpression)); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return ts.updateBinary(node, visitNode(node.left, visitor, ts.isExpression), visitNode(node.right, visitor, ts.isExpression), visitNode(node.operatorToken, visitor, ts.isToken)); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return ts.updateConditional(node, visitNode(node.condition, visitor, ts.isExpression), visitNode(node.questionToken, visitor, ts.isToken), visitNode(node.whenTrue, visitor, ts.isExpression), visitNode(node.colonToken, visitor, ts.isToken), visitNode(node.whenFalse, visitor, ts.isExpression)); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return ts.updateTemplateExpression(node, visitNode(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan)); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return ts.updateYield(node, visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.expression, visitor, ts.isExpression)); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return ts.updateSpread(node, visitNode(node.expression, visitor, ts.isExpression)); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return ts.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return ts.updateExpressionWithTypeArguments(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); - case 207 /* AsExpression */: + case 208 /* AsExpression */: return ts.updateAsExpression(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.type, visitor, ts.isTypeNode)); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: return ts.updateNonNullExpression(node, visitNode(node.expression, visitor, ts.isExpression)); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return ts.updateMetaProperty(node, visitNode(node.name, visitor, ts.isIdentifier)); // Misc - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return ts.updateTemplateSpan(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail)); // Element - case 212 /* Block */: + case 213 /* Block */: return ts.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return ts.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.declarationList, visitor, ts.isVariableDeclarationList)); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return ts.updateStatement(node, visitNode(node.expression, visitor, ts.isExpression)); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return ts.updateIf(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.thenStatement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.elseStatement, visitor, ts.isStatement, ts.liftToBlock)); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return ts.updateDo(node, visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.expression, visitor, ts.isExpression)); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return ts.updateWhile(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return ts.updateFor(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.condition, visitor, ts.isExpression), visitNode(node.incrementor, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return ts.updateForIn(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return ts.updateForOf(node, visitNode(node.awaitModifier, visitor, ts.isToken), visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 222 /* ContinueStatement */: + case 223 /* ContinueStatement */: return ts.updateContinue(node, visitNode(node.label, visitor, ts.isIdentifier)); - case 223 /* BreakStatement */: + case 224 /* BreakStatement */: return ts.updateBreak(node, visitNode(node.label, visitor, ts.isIdentifier)); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return ts.updateReturn(node, visitNode(node.expression, visitor, ts.isExpression)); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return ts.updateWith(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return ts.updateSwitch(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.caseBlock, visitor, ts.isCaseBlock)); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return ts.updateLabel(node, visitNode(node.label, visitor, ts.isIdentifier), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return ts.updateThrow(node, visitNode(node.expression, visitor, ts.isExpression)); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return ts.updateTry(node, visitNode(node.tryBlock, visitor, ts.isBlock), visitNode(node.catchClause, visitor, ts.isCatchClause), visitNode(node.finallyBlock, visitor, ts.isBlock)); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return ts.updateVariableDeclaration(node, visitNode(node.name, visitor, ts.isBindingName), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return ts.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration)); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return ts.updateFunctionDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return ts.updateClassDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return ts.updateInterfaceDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return ts.updateTypeAliasDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return ts.updateEnumDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember)); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return ts.updateModuleDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.body, visitor, ts.isModuleBody)); - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return ts.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return ts.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause)); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return ts.updateNamespaceExportDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier)); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return ts.updateImportEqualsDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.moduleReference, visitor, ts.isModuleReference)); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return ts.updateImportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.importClause, visitor, ts.isImportClause), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return ts.updateImportClause(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.namedBindings, visitor, ts.isNamedImportBindings)); - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return ts.updateNamespaceImport(node, visitNode(node.name, visitor, ts.isIdentifier)); - case 246 /* NamedImports */: + case 247 /* NamedImports */: return ts.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier)); - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: return ts.updateImportSpecifier(node, visitNode(node.propertyName, visitor, ts.isIdentifier), visitNode(node.name, visitor, ts.isIdentifier)); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return ts.updateExportAssignment(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.expression, visitor, ts.isExpression)); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return ts.updateExportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.exportClause, visitor, ts.isNamedExports), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); - case 250 /* NamedExports */: + case 251 /* NamedExports */: return ts.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier)); - case 251 /* ExportSpecifier */: + case 252 /* ExportSpecifier */: return ts.updateExportSpecifier(node, visitNode(node.propertyName, visitor, ts.isIdentifier), visitNode(node.name, visitor, ts.isIdentifier)); // Module references - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: return ts.updateExternalModuleReference(node, visitNode(node.expression, visitor, ts.isExpression)); // JSX - case 254 /* JsxElement */: + case 255 /* JsxElement */: return ts.updateJsxElement(node, visitNode(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), visitNode(node.closingElement, visitor, ts.isJsxClosingElement)); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return ts.updateJsxSelfClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); - case 256 /* JsxOpeningElement */: + case 257 /* JsxOpeningElement */: return ts.updateJsxOpeningElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: return ts.updateJsxClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression)); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return ts.updateJsxFragment(node, visitNode(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), visitNode(node.closingFragment, visitor, ts.isJsxClosingFragment)); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return ts.updateJsxAttribute(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.initializer, visitor, ts.isStringLiteralOrJsxExpression)); - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return ts.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike)); - case 263 /* JsxSpreadAttribute */: + case 264 /* JsxSpreadAttribute */: return ts.updateJsxSpreadAttribute(node, visitNode(node.expression, visitor, ts.isExpression)); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return ts.updateJsxExpression(node, visitNode(node.expression, visitor, ts.isExpression)); // Clauses - case 265 /* CaseClause */: + case 266 /* CaseClause */: return ts.updateCaseClause(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement)); - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: return ts.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: return ts.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments)); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return ts.updateCatchClause(node, visitNode(node.variableDeclaration, visitor, ts.isVariableDeclaration), visitNode(node.block, visitor, ts.isBlock)); // Property assignments - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return ts.updatePropertyAssignment(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return ts.updateShorthandPropertyAssignment(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.objectAssignmentInitializer, visitor, ts.isExpression)); - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: return ts.updateSpreadAssignment(node, visitNode(node.expression, visitor, ts.isExpression)); // Enum - case 272 /* EnumMember */: + case 273 /* EnumMember */: return ts.updateEnumMember(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); // Top-level nodes - case 273 /* SourceFile */: + case 274 /* SourceFile */: return ts.updateSourceFileNode(node, visitLexicalEnvironment(node.statements, visitor, context)); // Transformation nodes - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: return ts.updatePartiallyEmittedExpression(node, visitNode(node.expression, visitor, ts.isExpression)); - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: return ts.updateCommaList(node, nodesVisitor(node.elements, visitor, ts.isExpression)); default: // No need to visit nodes with no children. @@ -57111,58 +57410,58 @@ var ts; var cbNodes = cbNodeArray || cbNode; var kind = node.kind; // No need to visit nodes with no children. - if ((kind > 0 /* FirstToken */ && kind <= 144 /* LastToken */)) { + if ((kind > 0 /* FirstToken */ && kind <= 145 /* LastToken */)) { return initial; } // We do not yet support types. - if ((kind >= 160 /* TypePredicate */ && kind <= 177 /* LiteralType */)) { + if ((kind >= 161 /* TypePredicate */ && kind <= 178 /* LiteralType */)) { return initial; } var result = initial; switch (node.kind) { // Leaf nodes - case 211 /* SemicolonClassElement */: - case 214 /* EmptyStatement */: - case 205 /* OmittedExpression */: - case 230 /* DebuggerStatement */: - case 299 /* NotEmittedStatement */: + case 212 /* SemicolonClassElement */: + case 215 /* EmptyStatement */: + case 206 /* OmittedExpression */: + case 231 /* DebuggerStatement */: + case 300 /* NotEmittedStatement */: // No need to visit nodes with no children. break; // Names - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: result = reduceNode(node.left, cbNode, result); result = reduceNode(node.right, cbNode, result); break; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: result = reduceNode(node.expression, cbNode, result); break; // Signature elements - case 148 /* Parameter */: + case 149 /* Parameter */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 149 /* Decorator */: + case 150 /* Decorator */: result = reduceNode(node.expression, cbNode, result); break; // Type member - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.questionToken, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57171,12 +57470,12 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 154 /* Constructor */: + case 155 /* Constructor */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNodes(node.parameters, cbNodes, result); result = reduceNode(node.body, cbNode, result); break; - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57184,7 +57483,7 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57192,49 +57491,49 @@ var ts; result = reduceNode(node.body, cbNode, result); break; // Binding patterns - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: result = reduceNodes(node.elements, cbNodes, result); break; - case 181 /* BindingElement */: + case 182 /* BindingElement */: result = reduceNode(node.propertyName, cbNode, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; // Expression - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: result = reduceNodes(node.elements, cbNodes, result); break; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: result = reduceNodes(node.properties, cbNodes, result); break; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.name, cbNode, result); break; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.argumentExpression, cbNode, result); break; - case 186 /* CallExpression */: + case 187 /* CallExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNodes(node.typeArguments, cbNodes, result); result = reduceNodes(node.arguments, cbNodes, result); break; - case 187 /* NewExpression */: + case 188 /* NewExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNodes(node.typeArguments, cbNodes, result); result = reduceNodes(node.arguments, cbNodes, result); break; - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: result = reduceNode(node.tag, cbNode, result); result = reduceNode(node.template, cbNode, result); break; - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: result = reduceNode(node.type, cbNode, result); result = reduceNode(node.expression, cbNode, result); break; - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.typeParameters, cbNodes, result); @@ -57242,123 +57541,123 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNodes(node.typeParameters, cbNodes, result); result = reduceNodes(node.parameters, cbNodes, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 190 /* ParenthesizedExpression */: - case 193 /* DeleteExpression */: - case 194 /* TypeOfExpression */: - case 195 /* VoidExpression */: - case 196 /* AwaitExpression */: - case 202 /* YieldExpression */: - case 203 /* SpreadElement */: - case 208 /* NonNullExpression */: + case 191 /* ParenthesizedExpression */: + case 194 /* DeleteExpression */: + case 195 /* TypeOfExpression */: + case 196 /* VoidExpression */: + case 197 /* AwaitExpression */: + case 203 /* YieldExpression */: + case 204 /* SpreadElement */: + case 209 /* NonNullExpression */: result = reduceNode(node.expression, cbNode, result); break; - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: result = reduceNode(node.operand, cbNode, result); break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: result = reduceNode(node.left, cbNode, result); result = reduceNode(node.right, cbNode, result); break; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: result = reduceNode(node.condition, cbNode, result); result = reduceNode(node.whenTrue, cbNode, result); result = reduceNode(node.whenFalse, cbNode, result); break; - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: result = reduceNode(node.head, cbNode, result); result = reduceNodes(node.templateSpans, cbNodes, result); break; - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.typeParameters, cbNodes, result); result = reduceNodes(node.heritageClauses, cbNodes, result); result = reduceNodes(node.members, cbNodes, result); break; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: result = reduceNode(node.expression, cbNode, result); result = reduceNodes(node.typeArguments, cbNodes, result); break; - case 207 /* AsExpression */: + case 208 /* AsExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.type, cbNode, result); break; // Misc - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.literal, cbNode, result); break; // Element - case 212 /* Block */: + case 213 /* Block */: result = reduceNodes(node.statements, cbNodes, result); break; - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.declarationList, cbNode, result); break; - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: result = reduceNode(node.expression, cbNode, result); break; - case 216 /* IfStatement */: + case 217 /* IfStatement */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.thenStatement, cbNode, result); result = reduceNode(node.elseStatement, cbNode, result); break; - case 217 /* DoStatement */: + case 218 /* DoStatement */: result = reduceNode(node.statement, cbNode, result); result = reduceNode(node.expression, cbNode, result); break; - case 218 /* WhileStatement */: - case 225 /* WithStatement */: + case 219 /* WhileStatement */: + case 226 /* WithStatement */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 219 /* ForStatement */: + case 220 /* ForStatement */: result = reduceNode(node.initializer, cbNode, result); result = reduceNode(node.condition, cbNode, result); result = reduceNode(node.incrementor, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: result = reduceNode(node.initializer, cbNode, result); result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 224 /* ReturnStatement */: - case 228 /* ThrowStatement */: + case 225 /* ReturnStatement */: + case 229 /* ThrowStatement */: result = reduceNode(node.expression, cbNode, result); break; - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.caseBlock, cbNode, result); break; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: result = reduceNode(node.label, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 229 /* TryStatement */: + case 230 /* TryStatement */: result = reduceNode(node.tryBlock, cbNode, result); result = reduceNode(node.catchClause, cbNode, result); result = reduceNode(node.finallyBlock, cbNode, result); break; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: result = reduceNodes(node.declarations, cbNodes, result); break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57367,7 +57666,7 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57375,139 +57674,139 @@ var ts; result = reduceNodes(node.heritageClauses, cbNodes, result); result = reduceNodes(node.members, cbNodes, result); break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.members, cbNodes, result); break; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: result = reduceNodes(node.statements, cbNodes, result); break; - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: result = reduceNodes(node.clauses, cbNodes, result); break; - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.moduleReference, cbNode, result); break; - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.importClause, cbNode, result); result = reduceNode(node.moduleSpecifier, cbNode, result); break; - case 244 /* ImportClause */: + case 245 /* ImportClause */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.namedBindings, cbNode, result); break; - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: result = reduceNode(node.name, cbNode, result); break; - case 246 /* NamedImports */: - case 250 /* NamedExports */: + case 247 /* NamedImports */: + case 251 /* NamedExports */: result = reduceNodes(node.elements, cbNodes, result); break; - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: result = reduceNode(node.propertyName, cbNode, result); result = reduceNode(node.name, cbNode, result); break; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: result = ts.reduceLeft(node.decorators, cbNode, result); result = ts.reduceLeft(node.modifiers, cbNode, result); result = reduceNode(node.expression, cbNode, result); break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: result = ts.reduceLeft(node.decorators, cbNode, result); result = ts.reduceLeft(node.modifiers, cbNode, result); result = reduceNode(node.exportClause, cbNode, result); result = reduceNode(node.moduleSpecifier, cbNode, result); break; // Module references - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: result = reduceNode(node.expression, cbNode, result); break; // JSX - case 254 /* JsxElement */: + case 255 /* JsxElement */: result = reduceNode(node.openingElement, cbNode, result); result = ts.reduceLeft(node.children, cbNode, result); result = reduceNode(node.closingElement, cbNode, result); break; - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: result = reduceNode(node.openingFragment, cbNode, result); result = ts.reduceLeft(node.children, cbNode, result); result = reduceNode(node.closingFragment, cbNode, result); break; - case 255 /* JsxSelfClosingElement */: - case 256 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: result = reduceNode(node.tagName, cbNode, result); result = reduceNode(node.attributes, cbNode, result); break; - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: result = reduceNodes(node.properties, cbNodes, result); break; - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: result = reduceNode(node.tagName, cbNode, result); break; - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 263 /* JsxSpreadAttribute */: + case 264 /* JsxSpreadAttribute */: result = reduceNode(node.expression, cbNode, result); break; - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: result = reduceNode(node.expression, cbNode, result); break; // Clauses - case 265 /* CaseClause */: + case 266 /* CaseClause */: result = reduceNode(node.expression, cbNode, result); // falls through - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: result = reduceNodes(node.statements, cbNodes, result); break; - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: result = reduceNodes(node.types, cbNodes, result); break; - case 268 /* CatchClause */: + case 269 /* CatchClause */: result = reduceNode(node.variableDeclaration, cbNode, result); result = reduceNode(node.block, cbNode, result); break; // Property assignments - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.objectAssignmentInitializer, cbNode, result); break; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: result = reduceNode(node.expression, cbNode, result); break; // Enum - case 272 /* EnumMember */: + case 273 /* EnumMember */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; // Top-level nodes - case 273 /* SourceFile */: + case 274 /* SourceFile */: result = reduceNodes(node.statements, cbNodes, result); break; // Transformation nodes - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: result = reduceNode(node.expression, cbNode, result); break; - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: result = reduceNodes(node.elements, cbNodes, result); break; default: @@ -57521,8 +57820,8 @@ var ts; return statements; } return ts.isNodeArray(statements) - ? ts.setTextRange(ts.createNodeArray(ts.concatenate(declarations, statements)), statements) - : ts.prependRange(statements, declarations); + ? ts.setTextRange(ts.createNodeArray(ts.prependStatements(statements.slice(), declarations)), statements) + : ts.prependStatements(statements, declarations); } ts.mergeLexicalEnvironment = mergeLexicalEnvironment; /** @@ -57580,7 +57879,7 @@ var ts; function aggregateTransformFlagsForSubtree(node) { // We do not transform ambient declarations or types, so there is no need to // recursively aggregate transform flags. - if (ts.hasModifier(node, 2 /* Ambient */) || (ts.isTypeNode(node) && node.kind !== 206 /* ExpressionWithTypeArguments */)) { + if (ts.hasModifier(node, 2 /* Ambient */) || (ts.isTypeNode(node) && node.kind !== 207 /* ExpressionWithTypeArguments */)) { return 0 /* None */; } // Aggregate the transform flags of each child. @@ -57630,7 +57929,7 @@ var ts; }); Object.defineProperties(ts.objectAllocator.getTypeConstructor().prototype, { __debugFlags: { get: function () { return ts.formatTypeFlags(this.flags); } }, - __debugObjectFlags: { get: function () { return this.flags & 65536 /* Object */ ? ts.formatObjectFlags(this.objectFlags) : ""; } }, + __debugObjectFlags: { get: function () { return this.flags & 131072 /* Object */ ? ts.formatObjectFlags(this.objectFlags) : ""; } }, __debugTypeToString: { value: function () { return this.checker.typeToString(this); } }, }); var nodeConstructors = [ @@ -57680,12 +57979,12 @@ var ts; return ts.some(node.elements, isNamedDefaultReference); } function isNamedDefaultReference(e) { - return e.propertyName && e.propertyName.escapedText === "default" /* Default */; + return e.propertyName !== undefined && e.propertyName.escapedText === "default" /* Default */; } function chainBundle(transformSourceFile) { return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - return node.kind === 273 /* SourceFile */ ? transformSourceFile(node) : transformBundle(node); + return node.kind === 274 /* SourceFile */ ? transformSourceFile(node) : transformBundle(node); } function transformBundle(node) { return ts.createBundle(ts.map(node.sourceFiles, transformSourceFile), node.prepends); @@ -57715,7 +58014,7 @@ var ts; ts.getImportNeedsImportStarHelper = getImportNeedsImportStarHelper; function getImportNeedsImportDefaultHelper(node) { // Import default is needed if there's a default import or a default ref and no other refs (meaning an import star helper wasn't requested) - return !getImportNeedsImportStarHelper(node) && (ts.isDefaultImport(node) || (node.importClause && ts.isNamedImports(node.importClause.namedBindings) && containsDefaultReference(node.importClause.namedBindings))); + return !getImportNeedsImportStarHelper(node) && (ts.isDefaultImport(node) || (!!node.importClause && ts.isNamedImports(node.importClause.namedBindings) && containsDefaultReference(node.importClause.namedBindings))); // TODO: GH#18217 } ts.getImportNeedsImportDefaultHelper = getImportNeedsImportDefaultHelper; function collectExternalModuleInfo(sourceFile, resolver, compilerOptions) { @@ -57731,7 +58030,7 @@ var ts; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var node = _a[_i]; switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: // import "mod" // import x from "mod" // import * as x from "mod" @@ -57739,13 +58038,13 @@ var ts; externalImports.push(node); hasImportStarOrImportDefault = hasImportStarOrImportDefault || getImportNeedsImportStarHelper(node) || getImportNeedsImportDefaultHelper(node); break; - case 242 /* ImportEqualsDeclaration */: - if (node.moduleReference.kind === 253 /* ExternalModuleReference */) { + case 243 /* ImportEqualsDeclaration */: + if (node.moduleReference.kind === 254 /* ExternalModuleReference */) { // import x = require("mod") externalImports.push(node); } break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: if (node.moduleSpecifier) { if (!node.exportClause) { // export * from "mod" @@ -57775,13 +58074,13 @@ var ts; } } break; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: if (node.isExportEquals && !exportEquals) { // export = x exportEquals = node; } break; - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: if (ts.hasModifier(node, 1 /* Export */)) { for (var _d = 0, _e = node.declarationList.declarations; _d < _e.length; _d++) { var decl = _e[_d]; @@ -57789,7 +58088,7 @@ var ts; } } break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: if (ts.hasModifier(node, 1 /* Export */)) { if (ts.hasModifier(node, 512 /* Default */)) { // export default function() { } @@ -57809,7 +58108,7 @@ var ts; } } break; - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: if (ts.hasModifier(node, 1 /* Export */)) { if (ts.hasModifier(node, 512 /* Default */)) { // export default class { } @@ -57942,7 +58241,7 @@ var ts; var flattenContext = { context: context, level: level, - downlevelIteration: context.getCompilerOptions().downlevelIteration, + downlevelIteration: !!context.getCompilerOptions().downlevelIteration, hoistTempVariables: true, emitExpression: emitExpression, emitBindingOrAssignment: emitBindingOrAssignment, @@ -58003,7 +58302,7 @@ var ts; } ts.flattenDestructuringAssignment = flattenDestructuringAssignment; function bindingOrAssignmentElementAssignsToName(element, escapedName) { - var target = ts.getTargetOfBindingOrAssignmentElement(element); + var target = ts.getTargetOfBindingOrAssignmentElement(element); // TODO: GH#18217 if (ts.isBindingOrAssignmentPattern(target)) { return bindingOrAssignmentPatternAssignsToName(target, escapedName); } @@ -58034,13 +58333,14 @@ var ts; * @param level Indicates the extent to which flattening should occur. */ function flattenDestructuringBinding(node, visitor, context, level, rval, hoistTempVariables, skipInitializer) { + if (hoistTempVariables === void 0) { hoistTempVariables = false; } var pendingExpressions; var pendingDeclarations = []; var declarations = []; var flattenContext = { context: context, level: level, - downlevelIteration: context.getCompilerOptions().downlevelIteration, + downlevelIteration: !!context.getCompilerOptions().downlevelIteration, hoistTempVariables: hoistTempVariables, emitExpression: emitExpression, emitBindingOrAssignment: emitBindingOrAssignment, @@ -58068,7 +58368,7 @@ var ts; } else { context.hoistVariableDeclaration(temp); - var pendingDeclaration = ts.lastOrUndefined(pendingDeclarations); + var pendingDeclaration = ts.last(pendingDeclarations); pendingDeclaration.pendingExpressions = ts.append(pendingDeclaration.pendingExpressions, ts.createAssignment(temp, pendingDeclaration.value)); ts.addRange(pendingDeclaration.pendingExpressions, pendingExpressions); pendingDeclaration.value = temp; @@ -58122,7 +58422,7 @@ var ts; value = ts.createVoidZero(); } } - var bindingTarget = ts.getTargetOfBindingOrAssignmentElement(element); + var bindingTarget = ts.getTargetOfBindingOrAssignmentElement(element); // TODO: GH#18217 if (ts.isObjectBindingOrAssignmentPattern(bindingTarget)) { flattenObjectBindingOrAssignmentPattern(flattenContext, element, bindingTarget, value, location); } @@ -58130,7 +58430,7 @@ var ts; flattenArrayBindingOrAssignmentPattern(flattenContext, element, bindingTarget, value, location); } else { - flattenContext.emitBindingOrAssignment(bindingTarget, value, location, /*original*/ element); + flattenContext.emitBindingOrAssignment(bindingTarget, value, location, /*original*/ element); // TODO: GH#18217 } } /** @@ -58182,7 +58482,7 @@ var ts; flattenContext.emitBindingOrAssignment(flattenContext.createObjectBindingOrAssignmentPattern(bindingElements), value, location, pattern); bindingElements = undefined; } - var rhsValue = createRestCall(flattenContext.context, value, elements, computedTempVariables, pattern); + var rhsValue = createRestCall(flattenContext.context, value, elements, computedTempVariables, pattern); // TODO: GH#18217 flattenBindingOrAssignmentElement(flattenContext, element, rhsValue, element); } } @@ -58424,8 +58724,8 @@ var ts; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; // Enable substitution for property/element access to emit const enum values. - context.enableSubstitution(184 /* PropertyAccessExpression */); - context.enableSubstitution(185 /* ElementAccessExpression */); + context.enableSubstitution(185 /* PropertyAccessExpression */); + context.enableSubstitution(186 /* ElementAccessExpression */); // These variables contain state that changes as we descend into the tree. var currentSourceFile; var currentNamespace; @@ -58454,14 +58754,14 @@ var ts; var pendingExpressions; return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - if (node.kind === 274 /* Bundle */) { + if (node.kind === 275 /* Bundle */) { return transformBundle(node); } return transformSourceFile(node); } function transformBundle(node) { return ts.createBundle(node.sourceFiles.map(transformSourceFile), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 276 /* InputFiles */) { + if (prepend.kind === 277 /* InputFiles */) { return ts.createUnparsedSourceFile(prepend.javascriptText); } return prepend; @@ -58508,15 +58808,15 @@ var ts; */ function onBeforeVisitNode(node) { switch (node.kind) { - case 273 /* SourceFile */: - case 240 /* CaseBlock */: - case 239 /* ModuleBlock */: - case 212 /* Block */: + case 274 /* SourceFile */: + case 241 /* CaseBlock */: + case 240 /* ModuleBlock */: + case 213 /* Block */: currentScope = node; currentScopeFirstDeclarationsOfName = undefined; break; - case 234 /* ClassDeclaration */: - case 233 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 234 /* FunctionDeclaration */: if (ts.hasModifier(node, 2 /* Ambient */)) { break; } @@ -58528,7 +58828,7 @@ var ts; // These nodes should always have names unless they are default-exports; // however, class declaration parsing allows for undefined names, so syntactically invalid // programs may also have an undefined name. - ts.Debug.assert(node.kind === 234 /* ClassDeclaration */ || ts.hasModifier(node, 512 /* Default */)); + ts.Debug.assert(node.kind === 235 /* ClassDeclaration */ || ts.hasModifier(node, 512 /* Default */)); } break; } @@ -58572,10 +58872,10 @@ var ts; */ function sourceElementVisitorWorker(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 248 /* ExportAssignment */: - case 249 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 249 /* ExportAssignment */: + case 250 /* ExportDeclaration */: return visitEllidableStatement(node); default: return visitorWorker(node); @@ -58596,13 +58896,13 @@ var ts; return node; } switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return visitImportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitExportAssignment(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return visitExportDeclaration(node); default: ts.Debug.fail("Unhandled ellided statement"); @@ -58622,11 +58922,11 @@ var ts; * @param node The node to visit. */ function namespaceElementVisitorWorker(node) { - if (node.kind === 249 /* ExportDeclaration */ || - node.kind === 243 /* ImportDeclaration */ || - node.kind === 244 /* ImportClause */ || - (node.kind === 242 /* ImportEqualsDeclaration */ && - node.moduleReference.kind === 253 /* ExternalModuleReference */)) { + if (node.kind === 250 /* ExportDeclaration */ || + node.kind === 244 /* ImportDeclaration */ || + node.kind === 245 /* ImportClause */ || + (node.kind === 243 /* ImportEqualsDeclaration */ && + node.moduleReference.kind === 254 /* ExternalModuleReference */)) { // do not emit ES6 imports and exports since they are illegal inside a namespace return undefined; } @@ -58656,19 +58956,19 @@ var ts; */ function classElementVisitorWorker(node) { switch (node.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: // TypeScript constructors are transformed in `visitClassDeclaration`. // We elide them here as `visitorWorker` checks transform flags, which could // erronously include an ES6 constructor without TypeScript syntax. return undefined; - case 151 /* PropertyDeclaration */: - case 159 /* IndexSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 153 /* MethodDeclaration */: + case 152 /* PropertyDeclaration */: + case 160 /* IndexSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 154 /* MethodDeclaration */: // Fallback to the default visit behavior. return visitorWorker(node); - case 211 /* SemicolonClassElement */: + case 212 /* SemicolonClassElement */: return node; default: return ts.Debug.failBadSyntaxKind(node); @@ -58707,52 +59007,53 @@ var ts; case 124 /* DeclareKeyword */: case 132 /* ReadonlyKeyword */: // TypeScript accessibility and readonly modifiers are elided. - case 166 /* ArrayType */: - case 167 /* TupleType */: - case 165 /* TypeLiteral */: - case 160 /* TypePredicate */: - case 147 /* TypeParameter */: + case 167 /* ArrayType */: + case 168 /* TupleType */: + case 166 /* TypeLiteral */: + case 161 /* TypePredicate */: + case 148 /* TypeParameter */: case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 122 /* BooleanKeyword */: case 137 /* StringKeyword */: case 134 /* NumberKeyword */: case 131 /* NeverKeyword */: case 105 /* VoidKeyword */: case 138 /* SymbolKeyword */: - case 163 /* ConstructorType */: - case 162 /* FunctionType */: - case 164 /* TypeQuery */: - case 161 /* TypeReference */: - case 168 /* UnionType */: - case 169 /* IntersectionType */: - case 170 /* ConditionalType */: - case 172 /* ParenthesizedType */: - case 173 /* ThisType */: - case 174 /* TypeOperator */: - case 175 /* IndexedAccessType */: - case 176 /* MappedType */: - case 177 /* LiteralType */: + case 164 /* ConstructorType */: + case 163 /* FunctionType */: + case 165 /* TypeQuery */: + case 162 /* TypeReference */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: + case 171 /* ConditionalType */: + case 173 /* ParenthesizedType */: + case 174 /* ThisType */: + case 175 /* TypeOperator */: + case 176 /* IndexedAccessType */: + case 177 /* MappedType */: + case 178 /* LiteralType */: // TypeScript type nodes are elided. - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: // TypeScript index signatures are elided. - case 149 /* Decorator */: + case 150 /* Decorator */: // TypeScript decorators are elided. They will be emitted as part of visitClassDeclaration. - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: // TypeScript type-only declarations are elided. return undefined; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: // TypeScript property declarations are elided. However their names are still visited, and can potentially be retained if they could have sideeffects return visitPropertyDeclaration(node); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: // TypeScript namespace export declarations are elided. return undefined; - case 154 /* Constructor */: + case 155 /* Constructor */: return visitConstructor(node); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: // TypeScript interfaces are elided, but some comments may be preserved. // See the implementation of `getLeadingComments` in comments.ts for more details. return ts.createNotEmittedStatement(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: // This is a class declaration with TypeScript syntax extensions. // // TypeScript class syntax extensions include: @@ -58763,7 +59064,7 @@ var ts; // - index signatures // - method overload signatures return visitClassDeclaration(node); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: // This is a class expression with TypeScript syntax extensions. // // TypeScript class syntax extensions include: @@ -58774,35 +59075,35 @@ var ts; // - index signatures // - method overload signatures return visitClassExpression(node); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: // This is a heritage clause with TypeScript syntax extensions. // // TypeScript heritage clause extensions include: // - `implements` clause return visitHeritageClause(node); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: // TypeScript supports type arguments on an expression in an `extends` heritage clause. return visitExpressionWithTypeArguments(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: // TypeScript method declarations may have decorators, modifiers // or type annotations. return visitMethodDeclaration(node); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: // Get Accessors can have TypeScript modifiers, decorators, and type annotations. return visitGetAccessor(node); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: // Set Accessors can have TypeScript modifiers and type annotations. return visitSetAccessor(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: // Typescript function declarations can have modifiers, decorators, and type annotations. return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: // TypeScript function expressions can have modifiers and type annotations. return visitFunctionExpression(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: // TypeScript arrow functions can have modifiers and type annotations. return visitArrowFunction(node); - case 148 /* Parameter */: + case 149 /* Parameter */: // This is a parameter declaration with TypeScript syntax extensions. // // TypeScript parameter declaration syntax extensions include: @@ -58812,35 +59113,35 @@ var ts; // - type annotations // - this parameters return visitParameter(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: // ParenthesizedExpressions are TypeScript if their expression is a // TypeAssertion or AsExpression return visitParenthesizedExpression(node); - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: // TypeScript type assertions are removed, but their subtrees are preserved. return visitAssertionExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return visitCallExpression(node); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return visitNewExpression(node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: // TypeScript non-null expressions are removed, but their subtrees are preserved. return visitNonNullExpression(node); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: // TypeScript enum declarations do not exist in ES6 and must be rewritten. return visitEnumDeclaration(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: // TypeScript namespace exports for variable statements must be transformed. return visitVariableStatement(node); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return visitVariableDeclaration(node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: // TypeScript namespace declarations must be transformed. return visitModuleDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: // TypeScript namespace or external module import. return visitImportEqualsDeclaration(node); default: @@ -58849,7 +59150,8 @@ var ts; } function visitSourceFile(node) { var alwaysStrict = ts.getStrictOptionValue(compilerOptions, "alwaysStrict") && - !(ts.isExternalModule(node) && moduleKind >= ts.ModuleKind.ES2015); + !(ts.isExternalModule(node) && moduleKind >= ts.ModuleKind.ES2015) && + !ts.isJsonSourceFile(node); return ts.updateSourceFileNode(node, ts.visitLexicalEnvironment(node.statements, sourceElementVisitor, context, /*start*/ 0, alwaysStrict)); } /** @@ -58956,7 +59258,7 @@ var ts; statement.pos = closingBraceLocation.pos; ts.setEmitFlags(statement, 1536 /* NoComments */ | 384 /* NoTokenSourceMaps */); statements.push(statement); - ts.prependRange(statements, context.endLexicalEnvironment()); + ts.prependStatements(statements, context.endLexicalEnvironment()); var iife = ts.createImmediatelyInvokedArrowFunction(statements); ts.setEmitFlags(iife, 33554432 /* TypeScriptClassWrapper */); var varStatement = ts.createVariableStatement( @@ -59321,7 +59623,7 @@ var ts; return index; } var statement = statements[index]; - if (statement.kind === 215 /* ExpressionStatement */ && ts.isSuperCall(statement.expression)) { + if (statement.kind === 216 /* ExpressionStatement */ && ts.isSuperCall(statement.expression)) { result.push(ts.visitNode(statement, visitor, ts.isStatement)); return index + 1; } @@ -59392,7 +59694,7 @@ var ts; * @param isStatic A value indicating whether the member should be a static or instance member. */ function isInitializedProperty(member, isStatic) { - return member.kind === 151 /* PropertyDeclaration */ + return member.kind === 152 /* PropertyDeclaration */ && isStatic === ts.hasModifier(member, 32 /* Static */) && member.initializer !== undefined; } @@ -59530,12 +59832,12 @@ var ts; */ function getAllDecoratorsOfClassElement(node, member) { switch (member.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return getAllDecoratorsOfAccessors(node, member); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return getAllDecoratorsOfMethod(member); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return getAllDecoratorsOfProperty(member); default: return undefined; @@ -59688,7 +59990,7 @@ var ts; var prefix = getClassMemberPrefix(node, member); var memberName = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/ true); var descriptor = languageVersion > 0 /* ES3 */ - ? member.kind === 151 /* PropertyDeclaration */ + ? member.kind === 152 /* PropertyDeclaration */ // We emit `void 0` here to indicate to `__decorate` that it can invoke `Object.defineProperty` directly, but that it // should not invoke `Object.getOwnPropertyDescriptor`. ? ts.createVoidZero() @@ -59811,10 +60113,10 @@ var ts; */ function shouldAddTypeMetadata(node) { var kind = node.kind; - return kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */ - || kind === 151 /* PropertyDeclaration */; + return kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */ + || kind === 152 /* PropertyDeclaration */; } /** * Determines whether to emit the "design:returntype" metadata based on the node's kind. @@ -59824,7 +60126,7 @@ var ts; * @param node The node to test. */ function shouldAddReturnTypeMetadata(node) { - return node.kind === 153 /* MethodDeclaration */; + return node.kind === 154 /* MethodDeclaration */; } /** * Determines whether to emit the "design:paramtypes" metadata based on the node's kind. @@ -59835,12 +60137,12 @@ var ts; */ function shouldAddParamTypesMetadata(node) { switch (node.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return ts.getFirstConstructorWithBody(node) !== undefined; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return true; } return false; @@ -59852,15 +60154,15 @@ var ts; */ function serializeTypeOfNode(node) { switch (node.kind) { - case 151 /* PropertyDeclaration */: - case 148 /* Parameter */: - case 155 /* GetAccessor */: + case 152 /* PropertyDeclaration */: + case 149 /* Parameter */: + case 156 /* GetAccessor */: return serializeTypeNode(node.type); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return serializeTypeNode(ts.getSetAccessorTypeAnnotationNode(node)); - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 153 /* MethodDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 154 /* MethodDeclaration */: return ts.createIdentifier("Function"); default: return ts.createVoidZero(); @@ -59897,7 +60199,7 @@ var ts; return ts.createArrayLiteral(expressions); } function getParametersOfDecoratedDeclaration(node, container) { - if (container && node.kind === 155 /* GetAccessor */) { + if (container && node.kind === 156 /* GetAccessor */) { var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor; if (setAccessor) { return setAccessor.parameters; @@ -59947,22 +60249,22 @@ var ts; case 95 /* NullKeyword */: case 131 /* NeverKeyword */: return ts.createVoidZero(); - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return serializeTypeNode(node.type); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: return ts.createIdentifier("Function"); - case 166 /* ArrayType */: - case 167 /* TupleType */: + case 167 /* ArrayType */: + case 168 /* TupleType */: return ts.createIdentifier("Array"); - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: case 122 /* BooleanKeyword */: return ts.createIdentifier("Boolean"); case 137 /* StringKeyword */: return ts.createIdentifier("String"); case 135 /* ObjectKeyword */: return ts.createIdentifier("Object"); - case 177 /* LiteralType */: + case 178 /* LiteralType */: switch (node.literal.kind) { case 9 /* StringLiteral */: return ts.createIdentifier("String"); @@ -59980,18 +60282,19 @@ var ts; return languageVersion < 2 /* ES2015 */ ? getGlobalSymbolNameWithFallback() : ts.createIdentifier("Symbol"); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return serializeTypeReferenceNode(node); - case 169 /* IntersectionType */: - case 168 /* UnionType */: + case 170 /* IntersectionType */: + case 169 /* UnionType */: return serializeUnionOrIntersectionType(node); - case 164 /* TypeQuery */: - case 174 /* TypeOperator */: - case 175 /* IndexedAccessType */: - case 176 /* MappedType */: - case 165 /* TypeLiteral */: + case 165 /* TypeQuery */: + case 175 /* TypeOperator */: + case 176 /* IndexedAccessType */: + case 177 /* MappedType */: + case 166 /* TypeLiteral */: case 119 /* AnyKeyword */: - case 173 /* ThisType */: + case 142 /* UnknownKeyword */: + case 174 /* ThisType */: break; default: return ts.Debug.failBadSyntaxKind(node); @@ -60004,7 +60307,7 @@ var ts; var serializedUnion; for (var _i = 0, _a = node.types; _i < _a.length; _i++) { var typeNode = _a[_i]; - while (typeNode.kind === 172 /* ParenthesizedType */) { + while (typeNode.kind === 173 /* ParenthesizedType */) { typeNode = typeNode.type; // Skip parens if need be } if (typeNode.kind === 131 /* NeverKeyword */) { @@ -60043,7 +60346,8 @@ var ts; * @param node The type reference node. */ function serializeTypeReferenceNode(node) { - switch (resolver.getTypeReferenceSerializationKind(node.typeName, currentScope)) { + var kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentScope); + switch (kind) { case ts.TypeReferenceSerializationKind.Unknown: var serialized = serializeEntityNameAsExpression(node.typeName, /*useFallback*/ true); var temp = ts.createTempVariable(hoistVariableDeclaration); @@ -60069,8 +60373,9 @@ var ts; case ts.TypeReferenceSerializationKind.Promise: return ts.createIdentifier("Promise"); case ts.TypeReferenceSerializationKind.ObjectType: - default: return ts.createIdentifier("Object"); + default: + return ts.Debug.assertNever(kind); } } /** @@ -60093,7 +60398,7 @@ var ts; return ts.createLogicalAnd(ts.createStrictInequality(ts.createTypeOf(name), ts.createLiteral("undefined")), name); } return name; - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return serializeQualifiedNameAsExpression(node, useFallback); } } @@ -60579,7 +60884,7 @@ var ts; var statements = []; startLexicalEnvironment(); var members = ts.map(node.members, transformEnumMember); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); ts.addRange(statements, members); currentNamespaceContainerName = savedCurrentNamespaceLocalName; return ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), /*location*/ node.members), @@ -60628,7 +60933,7 @@ var ts; * @param node The module declaration node. */ function shouldEmitModuleDeclaration(node) { - return ts.isInstantiatedModule(node, compilerOptions.preserveConstEnums || compilerOptions.isolatedModules); + return ts.isInstantiatedModule(node, !!compilerOptions.preserveConstEnums || !!compilerOptions.isolatedModules); } /** * Determines whether an exported declaration will have a qualified export name (e.g. `f.x` @@ -60678,12 +60983,12 @@ var ts; // enums in any other scope are emitted as a `let` declaration. var statement = ts.createVariableStatement(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.createVariableDeclarationList([ ts.createVariableDeclaration(ts.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true)) - ], currentScope.kind === 273 /* SourceFile */ ? 0 /* None */ : 1 /* Let */)); + ], currentScope.kind === 274 /* SourceFile */ ? 0 /* None */ : 1 /* Let */)); ts.setOriginalNode(statement, node); recordEmittedDeclarationInScope(node); if (isFirstEmittedDeclarationInScope(node)) { // Adjust the source map emit to match the old emitter. - if (node.kind === 237 /* EnumDeclaration */) { + if (node.kind === 238 /* EnumDeclaration */) { ts.setSourceMapRange(statement.declarationList, node); } else { @@ -60802,7 +61107,7 @@ var ts; var statementsLocation; var blockLocation; var body = node.body; - if (body.kind === 239 /* ModuleBlock */) { + if (body.kind === 240 /* ModuleBlock */) { saveStateAndInvoke(body, function (body) { return ts.addRange(statements, ts.visitNodes(body.statements, namespaceElementVisitor, ts.isStatement)); }); statementsLocation = body.statements; blockLocation = body; @@ -60820,7 +61125,7 @@ var ts; var moduleBlock = getInnerMostModuleDeclarationFromDottedModule(node).body; statementsLocation = ts.moveRangePos(moduleBlock.statements, -1); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); currentNamespaceContainerName = savedCurrentNamespaceContainerName; currentNamespace = savedCurrentNamespace; currentScopeFirstDeclarationsOfName = savedCurrentScopeFirstDeclarationsOfName; @@ -60848,13 +61153,13 @@ var ts; // })(hi = hello.hi || (hello.hi = {})); // })(hello || (hello = {})); // We only want to emit comment on the namespace which contains block body itself, not the containing namespaces. - if (body.kind !== 239 /* ModuleBlock */) { + if (body.kind !== 240 /* ModuleBlock */) { ts.setEmitFlags(block, ts.getEmitFlags(block) | 1536 /* NoComments */); } return block; } function getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration) { - if (moduleDeclaration.body.kind === 238 /* ModuleDeclaration */) { + if (moduleDeclaration.body.kind === 239 /* ModuleDeclaration */) { var recursiveInnerModule = getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration.body); return recursiveInnerModule || moduleDeclaration.body; } @@ -60895,7 +61200,7 @@ var ts; * @param node The named import bindings node. */ function visitNamedImportBindings(node) { - if (node.kind === 245 /* NamespaceImport */) { + if (node.kind === 246 /* NamespaceImport */) { // Elide a namespace import if it is not referenced. return resolver.isReferencedAliasDeclaration(node) ? node : undefined; } @@ -61127,16 +61432,16 @@ var ts; // We need to enable substitutions for identifiers and shorthand property assignments. This allows us to // substitute the names of exported members of a namespace. context.enableSubstitution(71 /* Identifier */); - context.enableSubstitution(270 /* ShorthandPropertyAssignment */); + context.enableSubstitution(271 /* ShorthandPropertyAssignment */); // We need to be notified when entering and exiting namespaces. - context.enableEmitNotification(238 /* ModuleDeclaration */); + context.enableEmitNotification(239 /* ModuleDeclaration */); } } function isTransformedModuleDeclaration(node) { - return ts.getOriginalNode(node).kind === 238 /* ModuleDeclaration */; + return ts.getOriginalNode(node).kind === 239 /* ModuleDeclaration */; } function isTransformedEnumDeclaration(node) { - return ts.getOriginalNode(node).kind === 237 /* EnumDeclaration */; + return ts.getOriginalNode(node).kind === 238 /* EnumDeclaration */; } /** * Hook for node emit. @@ -61197,9 +61502,9 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return substituteExpressionIdentifier(node); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return substituteElementAccessExpression(node); } return node; @@ -61219,7 +61524,7 @@ var ts; // constructor references in static property initializers. var declaration = resolver.getReferencedValueDeclaration(node); if (declaration) { - var classAlias = classAliases[declaration.id]; + var classAlias = classAliases[declaration.id]; // TODO: GH#18217 if (classAlias) { var clone_1 = ts.getSynthesizedClone(classAlias); ts.setSourceMapRange(clone_1, node); @@ -61237,9 +61542,9 @@ var ts; // If we are nested within a namespace declaration, we may need to qualifiy // an identifier that is exported from a merged namespace. var container = resolver.getReferencedExportContainer(node, /*prefixLocals*/ false); - if (container && container.kind !== 273 /* SourceFile */) { - var substitute = (applicableSubstitutions & 2 /* NamespaceExports */ && container.kind === 238 /* ModuleDeclaration */) || - (applicableSubstitutions & 8 /* NonQualifiedEnumMembers */ && container.kind === 237 /* EnumDeclaration */); + if (container && container.kind !== 274 /* SourceFile */) { + var substitute = (applicableSubstitutions & 2 /* NamespaceExports */ && container.kind === 239 /* ModuleDeclaration */) || + (applicableSubstitutions & 8 /* NonQualifiedEnumMembers */ && container.kind === 238 /* EnumDeclaration */); if (substitute) { return ts.setTextRange(ts.createPropertyAccess(ts.getGeneratedNameForNode(container), node), /*location*/ node); @@ -61374,15 +61679,15 @@ var ts; case 120 /* AsyncKeyword */: // ES2017 async modifier should be elided for targets < ES2017 return undefined; - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return visitAwaitExpression(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return visitMethodDeclaration(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return visitArrowFunction(node); default: return ts.visitEachChild(node, visitor, context); @@ -61391,27 +61696,27 @@ var ts; function asyncBodyVisitor(node) { if (ts.isNodeWithPossibleHoistedDeclaration(node)) { switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatementInAsyncBody(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatementInAsyncBody(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatementInAsyncBody(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatementInAsyncBody(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitCatchClauseInAsyncBody(node); - case 212 /* Block */: - case 226 /* SwitchStatement */: - case 240 /* CaseBlock */: - case 265 /* CaseClause */: - case 266 /* DefaultClause */: - case 229 /* TryStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 216 /* IfStatement */: - case 225 /* WithStatement */: - case 227 /* LabeledStatement */: + case 213 /* Block */: + case 227 /* SwitchStatement */: + case 241 /* CaseBlock */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: + case 230 /* TryStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 217 /* IfStatement */: + case 226 /* WithStatement */: + case 228 /* LabeledStatement */: return ts.visitEachChild(node, asyncBodyVisitor, context); default: return ts.Debug.assertNever(node, "Unhandled node."); @@ -61421,7 +61726,7 @@ var ts; } function visitCatchClauseInAsyncBody(node) { var catchClauseNames = ts.createUnderscoreEscapedMap(); - recordDeclarationName(node.variableDeclaration, catchClauseNames); + recordDeclarationName(node.variableDeclaration, catchClauseNames); // TODO: GH#18217 // names declared in a catch variable are block scoped var catchClauseUnshadowedNames; catchClauseNames.forEach(function (_, escapedName) { @@ -61461,8 +61766,9 @@ var ts; : ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.expression, visitor, ts.isExpression), ts.visitNode(node.statement, asyncBodyVisitor, ts.isStatement, ts.liftToBlock)); } function visitForStatementInAsyncBody(node) { - return ts.updateFor(node, isVariableDeclarationListWithCollidingName(node.initializer) - ? visitVariableDeclarationListWithCollidingNames(node.initializer, /*hasReceiver*/ false) + var initializer = node.initializer; // TODO: GH#18217 + return ts.updateFor(node, isVariableDeclarationListWithCollidingName(initializer) + ? visitVariableDeclarationListWithCollidingNames(initializer, /*hasReceiver*/ false) : ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.condition, visitor, ts.isExpression), ts.visitNode(node.incrementor, visitor, ts.isExpression), ts.visitNode(node.statement, asyncBodyVisitor, ts.isStatement, ts.liftToBlock)); } /** @@ -61554,10 +61860,10 @@ var ts; } } function isVariableDeclarationListWithCollidingName(node) { - return node + return !!node && ts.isVariableDeclarationList(node) && !(node.flags & 3 /* BlockScoped */) - && ts.forEach(node.declarations, collidesWithParameterName); + && node.declarations.some(collidesWithParameterName); } function visitVariableDeclarationListWithCollidingNames(node, hasReceiver) { hoistVariableDeclarationList(node); @@ -61611,7 +61917,7 @@ var ts; var original = ts.getOriginalNode(node, ts.isFunctionLike); var nodeType = original.type; var promiseConstructor = languageVersion < 2 /* ES2015 */ ? getPromiseConstructor(nodeType) : undefined; - var isArrowFunction = node.kind === 192 /* ArrowFunction */; + var isArrowFunction = node.kind === 193 /* ArrowFunction */; var hasLexicalArguments = (resolver.getNodeCheckFlags(node) & 8192 /* CaptureArguments */) !== 0; // An async function is emit as an outer function that calls an inner // generator function. To preserve lexical bindings, we pass the current @@ -61629,7 +61935,7 @@ var ts; var statements = []; var statementOffset = ts.addPrologue(statements, node.body.statements, /*ensureUseStrict*/ false, visitor); statements.push(ts.createReturn(createAwaiterHelper(context, hasLexicalArguments, promiseConstructor, transformAsyncFunctionBodyWorker(node.body, statementOffset)))); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.createBlock(statements, /*multiLine*/ true); ts.setTextRange(block, node.body); // Minor optimization, emit `_super` helper to capture `super` access in an arrow. @@ -61684,15 +61990,15 @@ var ts; enabledSubstitutions |= 1 /* AsyncMethodsWithSuper */; // We need to enable substitutions for call, property access, and element access // if we need to rewrite super calls. - context.enableSubstitution(186 /* CallExpression */); - context.enableSubstitution(184 /* PropertyAccessExpression */); - context.enableSubstitution(185 /* ElementAccessExpression */); + context.enableSubstitution(187 /* CallExpression */); + context.enableSubstitution(185 /* PropertyAccessExpression */); + context.enableSubstitution(186 /* ElementAccessExpression */); // We need to be notified when entering and exiting declarations that bind super. - context.enableEmitNotification(234 /* ClassDeclaration */); - context.enableEmitNotification(153 /* MethodDeclaration */); - context.enableEmitNotification(155 /* GetAccessor */); - context.enableEmitNotification(156 /* SetAccessor */); - context.enableEmitNotification(154 /* Constructor */); + context.enableEmitNotification(235 /* ClassDeclaration */); + context.enableEmitNotification(154 /* MethodDeclaration */); + context.enableEmitNotification(156 /* GetAccessor */); + context.enableEmitNotification(157 /* SetAccessor */); + context.enableEmitNotification(155 /* Constructor */); } } /** @@ -61732,11 +62038,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return substituteElementAccessExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return substituteCallExpression(node); } return node; @@ -61768,11 +62074,11 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 234 /* ClassDeclaration */ - || kind === 154 /* Constructor */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */; + return kind === 235 /* ClassDeclaration */ + || kind === 155 /* Constructor */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */; } function createSuperAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096 /* AsyncMethodWithSuperBinding */) { @@ -61867,45 +62173,47 @@ var ts; return node; } switch (node.kind) { - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return visitAwaitExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return visitYieldExpression(node); - case 227 /* LabeledStatement */: + case 225 /* ReturnStatement */: + return visitReturnStatement(node); + case 228 /* LabeledStatement */: return visitLabeledStatement(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitBinaryExpression(node, noDestructuringValue); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return visitVariableDeclaration(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatement(node, /*outermostLabeledStatement*/ undefined); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return visitVoidExpression(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return visitConstructorDeclaration(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return visitMethodDeclaration(node); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: return visitGetAccessorDeclaration(node); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return visitSetAccessorDeclaration(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return visitArrowFunction(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return visitParameter(node); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return visitExpressionStatement(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return visitParenthesizedExpression(node, noDestructuringValue); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitCatchClause(node); default: return ts.visitEachChild(node, visitor, context); @@ -61930,10 +62238,16 @@ var ts; } return ts.visitEachChild(node, visitor, context); } + function visitReturnStatement(node) { + if (enclosingFunctionFlags & 2 /* Async */ && enclosingFunctionFlags & 1 /* Generator */) { + return ts.updateReturn(node, createDownlevelAwait(node.expression ? ts.visitNode(node.expression, visitor, ts.isExpression) : ts.createVoidZero())); + } + return ts.visitEachChild(node, visitor, context); + } function visitLabeledStatement(node) { if (enclosingFunctionFlags & 2 /* Async */) { var statement = ts.unwrapInnermostStatementOfLabel(node); - if (statement.kind === 221 /* ForOfStatement */ && statement.awaitModifier) { + if (statement.kind === 222 /* ForOfStatement */ && statement.awaitModifier) { return visitForOfStatement(statement, node); } return ts.restoreEnclosingLabel(ts.visitEachChild(statement, visitor, context), node); @@ -61945,7 +62259,7 @@ var ts; var objects = []; for (var _i = 0, elements_4 = elements; _i < elements_4.length; _i++) { var e = elements_4[_i]; - if (e.kind === 271 /* SpreadAssignment */) { + if (e.kind === 272 /* SpreadAssignment */) { if (chunkObject) { objects.push(ts.createObjectLiteral(chunkObject)); chunkObject = undefined; @@ -61954,7 +62268,7 @@ var ts; objects.push(ts.visitNode(target, visitor, ts.isExpression)); } else { - chunkObject = ts.append(chunkObject, e.kind === 269 /* PropertyAssignment */ + chunkObject = ts.append(chunkObject, e.kind === 270 /* PropertyAssignment */ ? ts.createPropertyAssignment(e.name, ts.visitNode(e.initializer, visitor, ts.isExpression)) : ts.visitNode(e, visitor, ts.isObjectLiteralElementLike)); } @@ -61972,7 +62286,7 @@ var ts; // If the first element is a spread element, then the first argument to __assign is {}: // { ...o, a, b, ...o2 } => __assign({}, o, {a, b}, o2) var objects = chunkObjectLiteralElements(node.properties); - if (objects.length && objects[0].kind !== 183 /* ObjectLiteralExpression */) { + if (objects.length && objects[0].kind !== 184 /* ObjectLiteralExpression */) { objects.unshift(ts.createObjectLiteral()); } return createAssignHelper(context, objects); @@ -62106,7 +62420,7 @@ var ts; ]), node.expression), 2097152 /* NoHoisting */), /*condition*/ ts.createComma(ts.createAssignment(result, createDownlevelAwait(callNext)), ts.createLogicalNot(getDone)), /*incrementor*/ undefined, - /*statement*/ convertForOfStatementHead(node, createDownlevelAwait(getValue))), + /*statement*/ convertForOfStatementHead(node, getValue)), /*location*/ node), 256 /* NoTokenTrailingSourceMaps */); return ts.createTry(ts.createBlock([ ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement) @@ -62228,7 +62542,7 @@ var ts; /*typeParameters*/ undefined, /*parameters*/ [], /*type*/ undefined, ts.updateBlock(node.body, ts.visitLexicalEnvironment(node.body.statements, visitor, context, statementOffset)))))); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.updateBlock(node.body, statements); // Minor optimization, emit `_super` helper to capture `super` access in an arrow. // This step isn't needed if we eventually transform this to ES5. @@ -62256,7 +62570,7 @@ var ts; var leadingStatements = endLexicalEnvironment(); if (statementOffset > 0 || ts.some(statements) || ts.some(leadingStatements)) { var block = ts.convertToFunctionBody(body, /*multiLine*/ true); - ts.prependRange(statements, leadingStatements); + ts.prependStatements(statements, leadingStatements); ts.addRange(statements, block.statements.slice(statementOffset)); return ts.updateBlock(block, ts.setTextRange(ts.createNodeArray(statements), block.statements)); } @@ -62285,15 +62599,15 @@ var ts; enabledSubstitutions |= 1 /* AsyncMethodsWithSuper */; // We need to enable substitutions for call, property access, and element access // if we need to rewrite super calls. - context.enableSubstitution(186 /* CallExpression */); - context.enableSubstitution(184 /* PropertyAccessExpression */); - context.enableSubstitution(185 /* ElementAccessExpression */); + context.enableSubstitution(187 /* CallExpression */); + context.enableSubstitution(185 /* PropertyAccessExpression */); + context.enableSubstitution(186 /* ElementAccessExpression */); // We need to be notified when entering and exiting declarations that bind super. - context.enableEmitNotification(234 /* ClassDeclaration */); - context.enableEmitNotification(153 /* MethodDeclaration */); - context.enableEmitNotification(155 /* GetAccessor */); - context.enableEmitNotification(156 /* SetAccessor */); - context.enableEmitNotification(154 /* Constructor */); + context.enableEmitNotification(235 /* ClassDeclaration */); + context.enableEmitNotification(154 /* MethodDeclaration */); + context.enableEmitNotification(156 /* GetAccessor */); + context.enableEmitNotification(157 /* SetAccessor */); + context.enableEmitNotification(155 /* Constructor */); } } /** @@ -62333,11 +62647,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return substituteElementAccessExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return substituteCallExpression(node); } return node; @@ -62369,11 +62683,11 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 234 /* ClassDeclaration */ - || kind === 154 /* Constructor */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */; + return kind === 235 /* ClassDeclaration */ + || kind === 155 /* Constructor */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */; } function createSuperAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096 /* AsyncMethodWithSuperBinding */) { @@ -62482,13 +62796,13 @@ var ts; } function visitorWorker(node) { switch (node.kind) { - case 254 /* JsxElement */: + case 255 /* JsxElement */: return visitJsxElement(node, /*isChild*/ false); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return visitJsxSelfClosingElement(node, /*isChild*/ false); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return visitJsxFragment(node, /*isChild*/ false); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return visitJsxExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -62498,13 +62812,13 @@ var ts; switch (node.kind) { case 10 /* JsxText */: return visitJsxText(node); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return visitJsxExpression(node); - case 254 /* JsxElement */: + case 255 /* JsxElement */: return visitJsxElement(node, /*isChild*/ true); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return visitJsxSelfClosingElement(node, /*isChild*/ true); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return visitJsxFragment(node, /*isChild*/ true); default: return ts.Debug.failBadSyntaxKind(node); @@ -62545,14 +62859,16 @@ var ts; objectProperties = ts.createAssignHelper(context, segments); } } - var element = ts.createExpressionForJsxElement(context.getEmitResolver().getJsxFactoryEntity(currentSourceFile), compilerOptions.reactNamespace, tagName, objectProperties, ts.mapDefined(children, transformJsxChildToExpression), node, location); + var element = ts.createExpressionForJsxElement(context.getEmitResolver().getJsxFactoryEntity(currentSourceFile), compilerOptions.reactNamespace, // TODO: GH#18217 + tagName, objectProperties, ts.mapDefined(children, transformJsxChildToExpression), node, location); if (isChild) { ts.startOnNewLine(element); } return element; } function visitJsxOpeningFragment(node, children, isChild, location) { - var element = ts.createExpressionForJsxFragment(context.getEmitResolver().getJsxFactoryEntity(currentSourceFile), compilerOptions.reactNamespace, ts.mapDefined(children, transformJsxChildToExpression), node, location); + var element = ts.createExpressionForJsxFragment(context.getEmitResolver().getJsxFactoryEntity(currentSourceFile), compilerOptions.reactNamespace, // TODO: GH#18217 + ts.mapDefined(children, transformJsxChildToExpression), node, location); if (isChild) { ts.startOnNewLine(element); } @@ -62577,7 +62893,7 @@ var ts; literal.singleQuote = node.singleQuote !== undefined ? node.singleQuote : !ts.isStringDoubleQuoted(node, currentSourceFile); return ts.setTextRange(literal, node); } - else if (node.kind === 264 /* JsxExpression */) { + else if (node.kind === 265 /* JsxExpression */) { if (node.expression === undefined) { return ts.createTrue(); } @@ -62671,7 +62987,7 @@ var ts; return decoded === text ? undefined : decoded; } function getTagName(node) { - if (node.kind === 254 /* JsxElement */) { + if (node.kind === 255 /* JsxElement */) { return getTagName(node.openingElement); } else { @@ -62977,7 +63293,7 @@ var ts; return node; } switch (node.kind) { - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitBinaryExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -63209,14 +63525,14 @@ var ts; hierarchyFacts = (hierarchyFacts & ~excludeFacts | includeFacts) & -16384 /* SubtreeFactsMask */ | ancestorFacts; } function isReturnVoidStatementInConstructorWithCapturedSuper(node) { - return hierarchyFacts & 4096 /* ConstructorWithCapturedSuper */ - && node.kind === 224 /* ReturnStatement */ + return (hierarchyFacts & 4096 /* ConstructorWithCapturedSuper */) !== 0 + && node.kind === 225 /* ReturnStatement */ && !node.expression; } function shouldVisitNode(node) { return (node.transformFlags & 128 /* ContainsES2015 */) !== 0 || convertedLoopState !== undefined - || (hierarchyFacts & 4096 /* ConstructorWithCapturedSuper */ && (ts.isStatement(node) || (node.kind === 212 /* Block */))) + || (hierarchyFacts & 4096 /* ConstructorWithCapturedSuper */ && (ts.isStatement(node) || (node.kind === 213 /* Block */))) || (ts.isIterationStatement(node, /*lookInLabeledStatements*/ false) && shouldConvertIterationStatementBody(node)) || (ts.getEmitFlags(node) & 33554432 /* TypeScriptClassWrapper */) !== 0; } @@ -63244,63 +63560,63 @@ var ts; switch (node.kind) { case 115 /* StaticKeyword */: return undefined; // elide static keyword - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return visitClassDeclaration(node); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return visitClassExpression(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return visitParameter(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return visitArrowFunction(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return visitVariableDeclaration(node); case 71 /* Identifier */: return visitIdentifier(node); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return visitVariableDeclarationList(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return visitSwitchStatement(node); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return visitCaseBlock(node); - case 212 /* Block */: + case 213 /* Block */: return visitBlock(node, /*isFunctionBody*/ false); - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: return visitBreakOrContinueStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return visitLabeledStatement(node); - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: return visitDoOrWhileStatement(node, /*outermostLabeledStatement*/ undefined); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node, /*outermostLabeledStatement*/ undefined); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatement(node, /*outermostLabeledStatement*/ undefined); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatement(node, /*outermostLabeledStatement*/ undefined); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return visitExpressionStatement(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitCatchClause(node); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return visitShorthandPropertyAssignment(node); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return visitComputedPropertyName(node); - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return visitArrayLiteralExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return visitCallExpression(node); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return visitNewExpression(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return visitParenthesizedExpression(node, /*needsDestructuringValue*/ true); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitBinaryExpression(node, /*needsDestructuringValue*/ true); case 13 /* NoSubstitutionTemplateLiteral */: case 14 /* TemplateHead */: @@ -63311,28 +63627,28 @@ var ts; return visitStringLiteral(node); case 8 /* NumericLiteral */: return visitNumericLiteral(node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return visitTemplateExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return visitYieldExpression(node); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return visitSpreadElement(node); case 97 /* SuperKeyword */: return visitSuperKeyword(/*isExpressionOfCall*/ false); case 99 /* ThisKeyword */: return visitThisKeyword(node); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return visitMetaProperty(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return visitMethodDeclaration(node); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return visitAccessorDeclaration(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return visitReturnStatement(node); default: return ts.visitEachChild(node, visitor, context); @@ -63349,7 +63665,7 @@ var ts; if (taggedTemplateStringDeclarations) { statements.push(ts.createVariableStatement(/*modifiers*/ undefined, ts.createVariableDeclarationList(taggedTemplateStringDeclarations))); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); exitSubtree(ancestorFacts, 0 /* None */, 0 /* None */); return ts.updateSourceFileNode(node, ts.setTextRange(ts.createNodeArray(statements), node.statements)); } @@ -63419,13 +63735,14 @@ var ts; // it is possible if either // - break/continue is labeled and label is located inside the converted loop // - break/continue is non-labeled and located in non-converted loop/switch statement - var jump = node.kind === 223 /* BreakStatement */ ? 2 /* Break */ : 4 /* Continue */; + var jump = node.kind === 224 /* BreakStatement */ ? 2 /* Break */ : 4 /* Continue */; var canUseBreakOrContinue = (node.label && convertedLoopState.labels && convertedLoopState.labels.get(ts.idText(node.label))) || (!node.label && (convertedLoopState.allowedNonLabeledJumps & jump)); if (!canUseBreakOrContinue) { var labelMarker = void 0; - if (!node.label) { - if (node.kind === 223 /* BreakStatement */) { + var label = node.label; + if (!label) { + if (node.kind === 224 /* BreakStatement */) { convertedLoopState.nonLocalJumps |= 2 /* Break */; labelMarker = "break"; } @@ -63436,13 +63753,13 @@ var ts; } } else { - if (node.kind === 223 /* BreakStatement */) { - labelMarker = "break-" + node.label.escapedText; - setLabeledJump(convertedLoopState, /*isBreak*/ true, ts.idText(node.label), labelMarker); + if (node.kind === 224 /* BreakStatement */) { + labelMarker = "break-" + label.escapedText; + setLabeledJump(convertedLoopState, /*isBreak*/ true, ts.idText(label), labelMarker); } else { - labelMarker = "continue-" + node.label.escapedText; - setLabeledJump(convertedLoopState, /*isBreak*/ false, ts.idText(node.label), labelMarker); + labelMarker = "continue-" + label.escapedText; + setLabeledJump(convertedLoopState, /*isBreak*/ false, ts.idText(label), labelMarker); } } var returnExpression = ts.createLiteral(labelMarker); @@ -63603,7 +63920,7 @@ var ts; statement.pos = closingBraceLocation.pos; ts.setEmitFlags(statement, 1536 /* NoComments */ | 384 /* NoTokenSourceMaps */); statements.push(statement); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), /*location*/ node.members), /*multiLine*/ true); ts.setEmitFlags(block, 1536 /* NoComments */); return block; @@ -63661,7 +63978,7 @@ var ts; // `super` call. // If this is the case, we do not include the synthetic `...args` parameter and // will instead use the `arguments` object in ES5/3. - return ts.visitParameterList(constructor && !hasSynthesizedSuper && constructor.parameters, visitor, context) + return ts.visitParameterList(constructor && !hasSynthesizedSuper ? constructor.parameters : undefined, visitor, context) || []; } /** @@ -63697,7 +64014,7 @@ var ts; } // determine whether the class is known syntactically to be a derived class (e.g. a // class that extends a value that is not syntactically known to be `null`). - var isDerivedClass = extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 95 /* NullKeyword */; + var isDerivedClass = !!extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 95 /* NullKeyword */; var superCaptureStatus = declareOrCaptureOrReturnThisForConstructorIfNeeded(statements, constructor, isDerivedClass, hasSynthesizedSuper, statementOffset); // The last statement expression was replaced. Skip it. if (superCaptureStatus === 1 /* ReplaceSuperCapture */ || superCaptureStatus === 2 /* ReplaceWithReturn */) { @@ -63716,7 +64033,7 @@ var ts; && !(constructor && isSufficientlyCoveredByReturnStatements(constructor.body))) { statements.push(ts.createReturn(ts.createFileLevelUniqueName("_this"))); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); if (constructor) { prependCaptureNewTargetIfNeeded(statements, constructor, /*copyOnWrite*/ false); } @@ -63736,11 +64053,11 @@ var ts; */ function isSufficientlyCoveredByReturnStatements(statement) { // A return statement is considered covered. - if (statement.kind === 224 /* ReturnStatement */) { + if (statement.kind === 225 /* ReturnStatement */) { return true; } // An if-statement with two covered branches is covered. - else if (statement.kind === 216 /* IfStatement */) { + else if (statement.kind === 217 /* IfStatement */) { var ifStatement = statement; if (ifStatement.elseStatement) { return isSufficientlyCoveredByReturnStatements(ifStatement.thenStatement) && @@ -63748,7 +64065,7 @@ var ts; } } // A block is covered if it has a last statement which is covered. - else if (statement.kind === 212 /* Block */) { + else if (statement.kind === 213 /* Block */) { var lastStatement = ts.lastOrUndefined(statement.statements); if (lastStatement && isSufficientlyCoveredByReturnStatements(lastStatement)) { return true; @@ -63806,7 +64123,7 @@ var ts; var ctorStatements = ctor.body.statements; if (statementOffset < ctorStatements.length) { firstStatement = ctorStatements[statementOffset]; - if (firstStatement.kind === 215 /* ExpressionStatement */ && ts.isSuperCall(firstStatement.expression)) { + if (firstStatement.kind === 216 /* ExpressionStatement */ && ts.isSuperCall(firstStatement.expression)) { superCallExpression = visitImmediateSuperCallInBody(firstStatement.expression); } } @@ -63816,8 +64133,8 @@ var ts; && statementOffset === ctorStatements.length - 1 && !(ctor.transformFlags & (16384 /* ContainsLexicalThis */ | 32768 /* ContainsCapturedLexicalThis */))) { var returnStatement = ts.createReturn(superCallExpression); - if (superCallExpression.kind !== 199 /* BinaryExpression */ - || superCallExpression.left.kind !== 186 /* CallExpression */) { + if (superCallExpression.kind !== 200 /* BinaryExpression */ + || superCallExpression.left.kind !== 187 /* CallExpression */) { ts.Debug.fail("Assumed generated super call would have form 'super.call(...) || this'."); } // Shift comments from the original super call to the return statement. @@ -64014,7 +64331,7 @@ var ts; * @param node A node. */ function addCaptureThisForNodeIfNeeded(statements, node) { - if (node.transformFlags & 32768 /* ContainsCapturedLexicalThis */ && node.kind !== 192 /* ArrowFunction */) { + if (node.transformFlags & 32768 /* ContainsCapturedLexicalThis */ && node.kind !== 193 /* ArrowFunction */) { captureThisForNode(statements, node, ts.createThis()); } } @@ -64034,22 +64351,22 @@ var ts; if (hierarchyFacts & 16384 /* NewTarget */) { var newTarget = void 0; switch (node.kind) { - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return statements; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // Methods and accessors cannot be constructors, so 'new.target' will // always return 'undefined'. newTarget = ts.createVoidZero(); break; - case 154 /* Constructor */: + case 155 /* Constructor */: // Class constructors can only be called with `new`, so `this.constructor` // should be relatively safe to use. newTarget = ts.createPropertyAccess(ts.setEmitFlags(ts.createThis(), 4 /* NoSubstitution */), "constructor"); break; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: // Functions can be called or constructed, and may have a `this` due to // being a member or when calling an imported function via `other_1.f()`. newTarget = ts.createConditional(ts.createLogicalAnd(ts.setEmitFlags(ts.createThis(), 4 /* NoSubstitution */), ts.createBinary(ts.setEmitFlags(ts.createThis(), 4 /* NoSubstitution */), 93 /* InstanceOfKeyword */, ts.getLocalName(node))), ts.createPropertyAccess(ts.setEmitFlags(ts.createThis(), 4 /* NoSubstitution */), "constructor"), ts.createVoidZero()); @@ -64080,20 +64397,20 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 211 /* SemicolonClassElement */: + case 212 /* SemicolonClassElement */: statements.push(transformSemicolonClassElementToStatement(member)); break; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: statements.push(transformClassMethodDeclarationToStatement(getClassMemberPrefix(node, member), member, node)); break; - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: var accessors = ts.getAllAccessorDeclarations(node.members, member); if (member === accessors.firstAccessor) { statements.push(transformAccessorsToStatement(getClassMemberPrefix(node, member), accessors, node)); } break; - case 154 /* Constructor */: + case 155 /* Constructor */: // Constructors are handled in visitClassExpression/visitClassDeclaration break; default: @@ -64163,7 +64480,7 @@ var ts; // arguments are both mapped contiguously to the accessor name. var target = ts.getMutableClone(receiver); ts.setEmitFlags(target, 1536 /* NoComments */ | 32 /* NoTrailingSourceMap */); - ts.setSourceMapRange(target, firstAccessor.name); + ts.setSourceMapRange(target, firstAccessor.name); // TODO: GH#18217 var propertyName = ts.createExpressionForPropertyName(ts.visitNode(firstAccessor.name, visitor, ts.isPropertyName)); ts.setEmitFlags(propertyName, 1536 /* NoComments */ | 16 /* NoLeadingSourceMap */); ts.setSourceMapRange(propertyName, firstAccessor.name); @@ -64285,7 +64602,7 @@ var ts; : enterSubtree(16286 /* FunctionExcludes */, 65 /* FunctionIncludes */); var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); - if (hierarchyFacts & 16384 /* NewTarget */ && !name && (node.kind === 233 /* FunctionDeclaration */ || node.kind === 191 /* FunctionExpression */)) { + if (hierarchyFacts & 16384 /* NewTarget */ && !name && (node.kind === 234 /* FunctionDeclaration */ || node.kind === 192 /* FunctionExpression */)) { name = ts.getGeneratedNameForNode(node); } exitSubtree(ancestorFacts, 49152 /* PropagateNewTargetMask */, 0 /* None */); @@ -64333,7 +64650,7 @@ var ts; } } else { - ts.Debug.assert(node.kind === 192 /* ArrowFunction */); + ts.Debug.assert(node.kind === 193 /* ArrowFunction */); // To align with the old emitter, we use a synthetic end position on the location // for the statement list we synthesize when we down-level an arrow function with // an expression function body. This prevents both comments and source maps from @@ -64359,7 +64676,7 @@ var ts; closeBraceLocation = body; } var lexicalEnvironment = context.endLexicalEnvironment(); - ts.prependRange(statements, lexicalEnvironment); + ts.prependStatements(statements, lexicalEnvironment); prependCaptureNewTargetIfNeeded(statements, node, /*copyOnWrite*/ false); // If we added any final generated statements, this must be a multi-line block if (!multiLine && lexicalEnvironment && lexicalEnvironment.length) { @@ -64401,9 +64718,9 @@ var ts; function visitExpressionStatement(node) { // If we are here it is most likely because our expression is a destructuring assignment. switch (node.expression.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return ts.updateStatement(node, visitParenthesizedExpression(node.expression, /*needsDestructuringValue*/ false)); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return ts.updateStatement(node, visitBinaryExpression(node.expression, /*needsDestructuringValue*/ false)); } return ts.visitEachChild(node, visitor, context); @@ -64422,9 +64739,9 @@ var ts; // expression. If we are in a state where we do not need the destructuring value, // we pass that information along to the children that care about it. switch (node.expression.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return ts.updateParen(node, visitParenthesizedExpression(node.expression, /*needsDestructuringValue*/ false)); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return ts.updateParen(node, visitBinaryExpression(node.expression, /*needsDestructuringValue*/ false)); } } @@ -64497,13 +64814,12 @@ var ts; ts.setTextRange(declarationList, node); ts.setCommentRange(declarationList, node); if (node.transformFlags & 8388608 /* ContainsBindingPattern */ - && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.lastOrUndefined(node.declarations).name))) { + && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.last(node.declarations).name))) { // If the first or last declaration is a binding pattern, we need to modify // the source map range for the declaration list. var firstDeclaration = ts.firstOrUndefined(declarations); if (firstDeclaration) { - var lastDeclaration = ts.lastOrUndefined(declarations); - ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, lastDeclaration.end)); + ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, ts.last(declarations).end)); } } return declarationList; @@ -64626,14 +64942,14 @@ var ts; } function visitIterationStatement(node, outermostLabeledStatement) { switch (node.kind) { - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: return visitDoOrWhileStatement(node, outermostLabeledStatement); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node, outermostLabeledStatement); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatement(node, outermostLabeledStatement); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatement(node, outermostLabeledStatement); } } @@ -64657,11 +64973,12 @@ var ts; } function convertForOfStatementHead(node, boundValue, convertedLoopBodyStatements) { var statements = []; - if (ts.isVariableDeclarationList(node.initializer)) { + var initializer = node.initializer; + if (ts.isVariableDeclarationList(initializer)) { if (node.initializer.flags & 3 /* BlockScoped */) { enableSubstitutionsForBlockScopedBindings(); } - var firstOriginalDeclaration = ts.firstOrUndefined(node.initializer.declarations); + var firstOriginalDeclaration = ts.firstOrUndefined(initializer.declarations); if (firstOriginalDeclaration && ts.isBindingPattern(firstOriginalDeclaration.name)) { // This works whether the declaration is a var, let, or const. // It will use rhsIterationValue _a[_i] as the initializer. @@ -64670,9 +64987,7 @@ var ts; ts.setOriginalNode(declarationList, node.initializer); // Adjust the source map range for the first declaration to align with the old // emitter. - var firstDeclaration = declarations[0]; - var lastDeclaration = ts.lastOrUndefined(declarations); - ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, lastDeclaration.end)); + ts.setSourceMapRange(declarationList, ts.createRange(declarations[0].pos, ts.last(declarations).end)); statements.push(ts.createVariableStatement( /*modifiers*/ undefined, declarationList)); } @@ -64683,20 +64998,20 @@ var ts; /*modifiers*/ undefined, ts.setOriginalNode(ts.setTextRange(ts.createVariableDeclarationList([ ts.createVariableDeclaration(firstOriginalDeclaration ? firstOriginalDeclaration.name : ts.createTempVariable(/*recordTempVariable*/ undefined), /*type*/ undefined, boundValue) - ]), ts.moveRangePos(node.initializer, -1)), node.initializer)), ts.moveRangeEnd(node.initializer, -1))); + ]), ts.moveRangePos(initializer, -1)), initializer)), ts.moveRangeEnd(initializer, -1))); } } else { // Initializer is an expression. Emit the expression in the body, so that it's // evaluated on every iteration. - var assignment = ts.createAssignment(node.initializer, boundValue); + var assignment = ts.createAssignment(initializer, boundValue); if (ts.isDestructuringAssignment(assignment)) { ts.aggregateTransformFlags(assignment); statements.push(ts.createStatement(visitBinaryExpression(assignment, /*needsDestructuringValue*/ false))); } else { - assignment.end = node.initializer.end; - statements.push(ts.setTextRange(ts.createStatement(ts.visitNode(assignment, visitor, ts.isExpression)), ts.moveRangeEnd(node.initializer, -1))); + assignment.end = initializer.end; + statements.push(ts.setTextRange(ts.createStatement(ts.visitNode(assignment, visitor, ts.isExpression)), ts.moveRangeEnd(initializer, -1))); } } if (convertedLoopBodyStatements) { @@ -64818,7 +65133,7 @@ var ts; && i < numInitialPropertiesWithoutYield) { numInitialPropertiesWithoutYield = i; } - if (property.name.kind === 146 /* ComputedPropertyName */) { + if (property.name.kind === 147 /* ComputedPropertyName */) { numInitialProperties = i; break; } @@ -64890,11 +65205,11 @@ var ts; var functionName = ts.createUniqueName("_loop"); var loopInitializer; switch (node.kind) { - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: var initializer = node.initializer; - if (initializer && initializer.kind === 232 /* VariableDeclarationList */) { + if (initializer && initializer.kind === 233 /* VariableDeclarationList */) { loopInitializer = initializer; } break; @@ -64940,7 +65255,7 @@ var ts; if (loopOutParameters.length) { copyOutParameters(loopOutParameters, 1 /* ToOutParameter */, statements_4); } - ts.prependRange(statements_4, lexicalEnvironment); + ts.prependStatements(statements_4, lexicalEnvironment); loopBody = ts.createBlock(statements_4, /*multiline*/ true); } if (ts.isBlock(loopBody)) { @@ -65174,20 +65489,20 @@ var ts; for (var i = start; i < numProperties; i++) { var property = properties[i]; switch (property.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: var accessors = ts.getAllAccessorDeclarations(node.properties, property); if (property === accessors.firstAccessor) { - expressions.push(transformAccessorsToExpression(receiver, accessors, node, node.multiLine)); + expressions.push(transformAccessorsToExpression(receiver, accessors, node, !!node.multiLine)); } break; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: expressions.push(transformObjectLiteralMethodDeclarationToExpression(property, receiver, node, node.multiLine)); break; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: expressions.push(transformPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: expressions.push(transformShorthandPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; default: @@ -65298,7 +65613,7 @@ var ts; var body = node.transformFlags & (32768 /* ContainsCapturedLexicalThis */ | 128 /* ContainsES2015 */) ? transformFunctionBody(node) : visitFunctionBodyDownLevel(node); - if (node.kind === 155 /* GetAccessor */) { + if (node.kind === 156 /* GetAccessor */) { updated = ts.updateGetAccessor(node, node.decorators, node.modifiers, node.name, parameters, node.type, body); } else { @@ -65340,7 +65655,7 @@ var ts; function visitArrayLiteralExpression(node) { if (node.transformFlags & 64 /* ES2015 */) { // We are here because we contain a SpreadElementExpression. - return transformAndSpreadElements(node.elements, /*needsUniqueCopy*/ true, node.multiLine, /*hasTrailingComma*/ node.elements.hasTrailingComma); + return transformAndSpreadElements(node.elements, /*needsUniqueCopy*/ true, !!node.multiLine, /*hasTrailingComma*/ !!node.elements.hasTrailingComma); } return ts.visitEachChild(node, visitor, context); } @@ -65395,11 +65710,11 @@ var ts; var body = ts.cast(ts.cast(ts.skipOuterExpressions(node.expression), ts.isArrowFunction).body, ts.isBlock); // The class statements are the statements generated by visiting the first statement with initializer of the // body (1), while all other statements are added to remainingStatements (2) - var isVariableStatementWithInitializer = function (stmt) { return ts.isVariableStatement(stmt) && !!ts.firstOrUndefined(stmt.declarationList.declarations).initializer; }; + var isVariableStatementWithInitializer = function (stmt) { return ts.isVariableStatement(stmt) && !!ts.first(stmt.declarationList.declarations).initializer; }; var bodyStatements = ts.visitNodes(body.statements, visitor, ts.isStatement); var classStatements = ts.filter(bodyStatements, isVariableStatementWithInitializer); var remainingStatements = ts.filter(bodyStatements, function (stmt) { return !isVariableStatementWithInitializer(stmt); }); - var varStatement = ts.cast(ts.firstOrUndefined(classStatements), ts.isVariableStatement); + var varStatement = ts.cast(ts.first(classStatements), ts.isVariableStatement); // We know there is only one variable declaration here as we verified this in an // earlier call to isTypeScriptClassWrapper var variable = varStatement.declarationList.declarations[0]; @@ -65576,7 +65891,7 @@ var ts; else { if (segments.length === 1) { var firstElement = elements[0]; - return needsUniqueCopy && ts.isSpreadElement(firstElement) && firstElement.expression.kind !== 182 /* ArrayLiteralExpression */ + return needsUniqueCopy && ts.isSpreadElement(firstElement) && firstElement.expression.kind !== 183 /* ArrayLiteralExpression */ ? ts.createArraySlice(segments[0]) : segments[0]; } @@ -65839,13 +66154,13 @@ var ts; if ((enabledSubstitutions & 1 /* CapturedThis */) === 0) { enabledSubstitutions |= 1 /* CapturedThis */; context.enableSubstitution(99 /* ThisKeyword */); - context.enableEmitNotification(154 /* Constructor */); - context.enableEmitNotification(153 /* MethodDeclaration */); - context.enableEmitNotification(155 /* GetAccessor */); - context.enableEmitNotification(156 /* SetAccessor */); - context.enableEmitNotification(192 /* ArrowFunction */); - context.enableEmitNotification(191 /* FunctionExpression */); - context.enableEmitNotification(233 /* FunctionDeclaration */); + context.enableEmitNotification(155 /* Constructor */); + context.enableEmitNotification(154 /* MethodDeclaration */); + context.enableEmitNotification(156 /* GetAccessor */); + context.enableEmitNotification(157 /* SetAccessor */); + context.enableEmitNotification(193 /* ArrowFunction */); + context.enableEmitNotification(192 /* FunctionExpression */); + context.enableEmitNotification(234 /* FunctionDeclaration */); } } /** @@ -65885,14 +66200,13 @@ var ts; * @param node An original source tree node. */ function isNameOfDeclarationWithCollidingName(node) { - var parent = node.parent; - switch (parent.kind) { - case 181 /* BindingElement */: - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: - case 231 /* VariableDeclaration */: - return parent.name === node - && resolver.isDeclarationWithCollidingName(parent); + switch (node.parent.kind) { + case 182 /* BindingElement */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 232 /* VariableDeclaration */: + return node.parent.name === node + && resolver.isDeclarationWithCollidingName(node.parent); } return false; } @@ -65972,11 +66286,11 @@ var ts; return false; } var statement = ts.firstOrUndefined(constructor.body.statements); - if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 215 /* ExpressionStatement */) { + if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 216 /* ExpressionStatement */) { return false; } var statementExpression = statement.expression; - if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 186 /* CallExpression */) { + if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 187 /* CallExpression */) { return false; } var callTarget = statementExpression.expression; @@ -65984,7 +66298,7 @@ var ts; return false; } var callArgument = ts.singleOrUndefined(statementExpression.arguments); - if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 203 /* SpreadElement */) { + if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 204 /* SpreadElement */) { return false; } var expression = callArgument.expression; @@ -66037,15 +66351,15 @@ var ts; if (compilerOptions.jsx === 1 /* Preserve */ || compilerOptions.jsx === 3 /* ReactNative */) { previousOnEmitNode = context.onEmitNode; context.onEmitNode = onEmitNode; - context.enableEmitNotification(256 /* JsxOpeningElement */); - context.enableEmitNotification(257 /* JsxClosingElement */); - context.enableEmitNotification(255 /* JsxSelfClosingElement */); + context.enableEmitNotification(257 /* JsxOpeningElement */); + context.enableEmitNotification(258 /* JsxClosingElement */); + context.enableEmitNotification(256 /* JsxSelfClosingElement */); noSubstitution = []; } var previousOnSubstituteNode = context.onSubstituteNode; context.onSubstituteNode = onSubstituteNode; - context.enableSubstitution(184 /* PropertyAccessExpression */); - context.enableSubstitution(269 /* PropertyAssignment */); + context.enableSubstitution(185 /* PropertyAccessExpression */); + context.enableSubstitution(270 /* PropertyAssignment */); return ts.chainBundle(transformSourceFile); /** * Transforms an ES5 source file to ES3. @@ -66064,9 +66378,9 @@ var ts; */ function onEmitNode(hint, node, emitCallback) { switch (node.kind) { - case 256 /* JsxOpeningElement */: - case 257 /* JsxClosingElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 258 /* JsxClosingElement */: + case 256 /* JsxSelfClosingElement */: var tagName = node.tagName; noSubstitution[ts.getOriginalNodeId(tagName)] = true; break; @@ -66123,7 +66437,7 @@ var ts; */ function trySubstituteReservedName(name) { var token = name.originalKeywordKind || (ts.nodeIsSynthesized(name) ? ts.stringToToken(ts.idText(name)) : undefined); - if (token >= 72 /* FirstReservedWord */ && token <= 107 /* LastReservedWord */) { + if (token !== undefined && token >= 72 /* FirstReservedWord */ && token <= 107 /* LastReservedWord */) { return ts.setTextRange(ts.createLiteral(name), name); } return undefined; @@ -66308,6 +66622,7 @@ var ts; case 4 /* Yield */: return "yield"; case 5 /* YieldStar */: return "yield*"; case 7 /* Endfinally */: return "endfinally"; + default: return undefined; // TODO: GH#18217 } } function transformGenerators(context) { @@ -66397,13 +66712,13 @@ var ts; */ function visitJavaScriptInStatementContainingYield(node) { switch (node.kind) { - case 217 /* DoStatement */: + case 218 /* DoStatement */: return visitDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return visitWhileStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return visitSwitchStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return visitLabeledStatement(node); default: return visitJavaScriptInGeneratorFunctionBody(node); @@ -66416,24 +66731,24 @@ var ts; */ function visitJavaScriptInGeneratorFunctionBody(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return visitAccessorDeclaration(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatement(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatement(node); - case 223 /* BreakStatement */: + case 224 /* BreakStatement */: return visitBreakStatement(node); - case 222 /* ContinueStatement */: + case 223 /* ContinueStatement */: return visitContinueStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return visitReturnStatement(node); default: if (node.transformFlags & 16777216 /* ContainsYield */) { @@ -66454,21 +66769,21 @@ var ts; */ function visitJavaScriptContainingYield(node) { switch (node.kind) { - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitBinaryExpression(node); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return visitConditionalExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return visitYieldExpression(node); - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return visitArrayLiteralExpression(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return visitElementAccessExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return visitCallExpression(node); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return visitNewExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -66481,9 +66796,9 @@ var ts; */ function visitGenerator(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); default: return ts.Debug.failBadSyntaxKind(node); @@ -66615,7 +66930,7 @@ var ts; var statementOffset = ts.addPrologue(statements, body.statements, /*ensureUseStrict*/ false, visitor); transformAndEmitStatements(body.statements, statementOffset); var buildResult = build(); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); statements.push(ts.createReturn(buildResult)); // Restore previous generator state inGeneratorFunctionBody = savedInGeneratorFunctionBody; @@ -66671,13 +66986,14 @@ var ts; * @param node The node to visit. */ function visitBinaryExpression(node) { - switch (ts.getExpressionAssociativity(node)) { + var assoc = ts.getExpressionAssociativity(node); + switch (assoc) { case 0 /* Left */: return visitLeftAssociativeBinaryExpression(node); case 1 /* Right */: return visitRightAssociativeBinaryExpression(node); default: - ts.Debug.fail("Unknown associativity."); + return ts.Debug.assertNever(assoc); } } function isCompoundAssignment(kind) { @@ -66710,7 +67026,7 @@ var ts; if (containsYield(right)) { var target = void 0; switch (left.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: // [source] // a.b = yield; // @@ -66722,7 +67038,7 @@ var ts; // _a.b = %sent%; target = ts.updatePropertyAccess(left, cacheExpression(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression)), left.name); break; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: // [source] // a[b] = yield; // @@ -67098,35 +67414,35 @@ var ts; } function transformAndEmitStatementWorker(node) { switch (node.kind) { - case 212 /* Block */: + case 213 /* Block */: return transformAndEmitBlock(node); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return transformAndEmitExpressionStatement(node); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return transformAndEmitIfStatement(node); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return transformAndEmitDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return transformAndEmitWhileStatement(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return transformAndEmitForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return transformAndEmitForInStatement(node); - case 222 /* ContinueStatement */: + case 223 /* ContinueStatement */: return transformAndEmitContinueStatement(node); - case 223 /* BreakStatement */: + case 224 /* BreakStatement */: return transformAndEmitBreakStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return transformAndEmitReturnStatement(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return transformAndEmitWithStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return transformAndEmitSwitchStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return transformAndEmitLabeledStatement(node); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return transformAndEmitThrowStatement(node); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return transformAndEmitTryStatement(node); default: return emitStatement(ts.visitNode(node, visitor, ts.isStatement)); @@ -67556,7 +67872,7 @@ var ts; for (var i = 0; i < numClauses; i++) { var clause = caseBlock.clauses[i]; clauseLabels.push(defineLabel()); - if (clause.kind === 266 /* DefaultClause */ && defaultClauseIndex === -1) { + if (clause.kind === 267 /* DefaultClause */ && defaultClauseIndex === -1) { defaultClauseIndex = i; } } @@ -67569,7 +67885,7 @@ var ts; var defaultClausesSkipped = 0; for (var i = clausesWritten; i < numClauses; i++) { var clause = caseBlock.clauses[i]; - if (clause.kind === 265 /* CaseClause */) { + if (clause.kind === 266 /* CaseClause */) { if (containsYield(clause.expression) && pendingClauses.length > 0) { break; } @@ -67685,7 +68001,7 @@ var ts; beginExceptionBlock(); transformAndEmitEmbeddedStatement(node.tryBlock); if (node.catchClause) { - beginCatchBlock(node.catchClause.variableDeclaration); + beginCatchBlock(node.catchClause.variableDeclaration); // TODO: GH#18217 transformAndEmitEmbeddedStatement(node.catchClause.block); } if (node.finallyBlock) { @@ -67699,7 +68015,7 @@ var ts; } } function containsYield(node) { - return node && (node.transformFlags & 16777216 /* ContainsYield */) !== 0; + return !!node && (node.transformFlags & 16777216 /* ContainsYield */) !== 0; } function countInitialNodesWithoutYield(nodes) { var numNodes = nodes.length; @@ -67800,7 +68116,8 @@ var ts; */ function endBlock() { var block = peekBlock(); - ts.Debug.assert(block !== undefined, "beginBlock was never called."); + if (block === undefined) + return ts.Debug.fail("beginBlock was never called."); var index = blockActions.length; blockActions[index] = 1 /* Close */; blockOffsets[index] = operations ? operations.length : 0; @@ -68133,7 +68450,7 @@ var ts; * @param label A label. */ function createLabel(label) { - if (label > 0) { + if (label !== undefined && label > 0) { if (labelExpressions === undefined) { labelExpressions = []; } @@ -68772,7 +69089,7 @@ var ts; name: "typescript:generator", scoped: false, priority: 6, - text: "\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [0, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };" + text: "\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };" }; })(ts || (ts = {})); /*@internal*/ @@ -68797,11 +69114,11 @@ var ts; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; context.enableSubstitution(71 /* Identifier */); // Substitutes expression identifiers with imported/exported symbols. - context.enableSubstitution(199 /* BinaryExpression */); // Substitutes assignments to exported symbols. - context.enableSubstitution(197 /* PrefixUnaryExpression */); // Substitutes updates to exported symbols. - context.enableSubstitution(198 /* PostfixUnaryExpression */); // Substitutes updates to exported symbols. - context.enableSubstitution(270 /* ShorthandPropertyAssignment */); // Substitutes shorthand property assignments for imported/exported symbols. - context.enableEmitNotification(273 /* SourceFile */); // Restore state when substituting nodes in a file. + context.enableSubstitution(200 /* BinaryExpression */); // Substitutes assignments to exported symbols. + context.enableSubstitution(198 /* PrefixUnaryExpression */); // Substitutes updates to exported symbols. + context.enableSubstitution(199 /* PostfixUnaryExpression */); // Substitutes updates to exported symbols. + context.enableSubstitution(271 /* ShorthandPropertyAssignment */); // Substitutes shorthand property assignments for imported/exported symbols. + context.enableEmitNotification(274 /* SourceFile */); // Restore state when substituting nodes in a file. var moduleInfoMap = []; // The ExternalModuleInfo for each file. var deferredExports = []; // Exports to defer until an EndOfDeclarationMarker is found. var currentSourceFile; // The current file. @@ -68851,7 +69168,7 @@ var ts; ts.append(statements, ts.visitNode(currentModuleInfo.externalHelpersImportDeclaration, sourceElementVisitor, ts.isStatement)); ts.addRange(statements, ts.visitNodes(node.statements, sourceElementVisitor, ts.isStatement, statementOffset)); addExportEqualsIfNeeded(statements, /*emitAsReturn*/ false); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var updated = ts.updateSourceFileNode(node, ts.setTextRange(ts.createNodeArray(statements), node.statements)); if (currentModuleInfo.hasExportStarsToExportValues && !compilerOptions.importHelpers) { // If we have any `export * from ...` declarations @@ -69045,7 +69362,7 @@ var ts; if (ts.isImportEqualsDeclaration(node) || ts.isExportDeclaration(node) || !ts.getExternalModuleNameLiteral(node, currentSourceFile, host, resolver, compilerOptions)) { return undefined; } - var name = ts.getLocalNameForExternalImport(node, currentSourceFile); + var name = ts.getLocalNameForExternalImport(node, currentSourceFile); // TODO: GH#18217 var expr = getHelperExpressionForImport(node, name); if (expr === name) { return undefined; @@ -69074,7 +69391,7 @@ var ts; addExportEqualsIfNeeded(statements, /*emitAsReturn*/ true); // End the lexical environment for the module body // and merge any new lexical declarations. - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var body = ts.createBlock(statements, /*multiLine*/ true); if (currentModuleInfo.hasExportStarsToExportValues && !compilerOptions.importHelpers) { // If we have any `export * from ...` declarations @@ -69123,23 +69440,23 @@ var ts; */ function sourceElementVisitor(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return visitImportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return visitExportDeclaration(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitExportAssignment(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatement(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return visitClassDeclaration(node); - case 302 /* MergeDeclarationMarker */: + case 303 /* MergeDeclarationMarker */: return visitMergeDeclarationMarker(node); - case 303 /* EndOfDeclarationMarker */: + case 304 /* EndOfDeclarationMarker */: return visitEndOfDeclarationMarker(node); default: return ts.visitEachChild(node, moduleExpressionElementVisitor, context); @@ -69166,24 +69483,24 @@ var ts; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var elem = _a[_i]; switch (elem.kind) { - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: if (destructuringNeedsFlattening(elem.initializer)) { return true; } break; - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: if (destructuringNeedsFlattening(elem.name)) { return true; } break; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: if (destructuringNeedsFlattening(elem.expression)) { return true; } break; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return false; default: ts.Debug.assertNever(elem, "Unhandled object member kind"); } @@ -69658,7 +69975,7 @@ var ts; // // To balance the declaration, add the exports of the elided variable // statement. - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 213 /* VariableStatement */) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 214 /* VariableStatement */) { var id = ts.getOriginalNodeId(node); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original); } @@ -69713,10 +70030,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 246 /* NamedImports */: + case 247 /* NamedImports */: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding); @@ -69915,7 +70232,7 @@ var ts; * @param emit A callback used to emit the node in the printer. */ function onEmitNode(hint, node, emitCallback) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { currentSourceFile = node; currentModuleInfo = moduleInfoMap[ts.getOriginalNodeId(currentSourceFile)]; noSubstitution = []; @@ -69979,10 +70296,10 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return substituteExpressionIdentifier(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return substituteBinaryExpression(node); - case 198 /* PostfixUnaryExpression */: - case 197 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return substituteUnaryExpression(node); } return node; @@ -70003,7 +70320,7 @@ var ts; } if (!ts.isGeneratedIdentifier(node) && !ts.isLocalName(node)) { var exportContainer = resolver.getReferencedExportContainer(node, ts.isExportName(node)); - if (exportContainer && exportContainer.kind === 273 /* SourceFile */) { + if (exportContainer && exportContainer.kind === 274 /* SourceFile */) { return ts.setTextRange(ts.createPropertyAccess(ts.createIdentifier("exports"), ts.getSynthesizedClone(node)), /*location*/ node); } @@ -70078,7 +70395,7 @@ var ts; && !ts.isDeclarationNameOfEnumOrNamespace(node.operand)) { var exportedNames = getExports(node.operand); if (exportedNames) { - var expression = node.kind === 198 /* PostfixUnaryExpression */ + var expression = node.kind === 199 /* PostfixUnaryExpression */ ? ts.setTextRange(ts.createBinary(node.operand, ts.createToken(node.operator === 43 /* PlusPlusToken */ ? 59 /* PlusEqualsToken */ : 60 /* MinusEqualsToken */), ts.createLiteral(1)), /*location*/ node) : node; @@ -70154,11 +70471,11 @@ var ts; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; context.enableSubstitution(71 /* Identifier */); // Substitutes expression identifiers for imported symbols. - context.enableSubstitution(270 /* ShorthandPropertyAssignment */); // Substitutes expression identifiers for imported symbols - context.enableSubstitution(199 /* BinaryExpression */); // Substitutes assignments to exported symbols. - context.enableSubstitution(197 /* PrefixUnaryExpression */); // Substitutes updates to exported symbols. - context.enableSubstitution(198 /* PostfixUnaryExpression */); // Substitutes updates to exported symbols. - context.enableEmitNotification(273 /* SourceFile */); // Restore state when substituting nodes in a file. + context.enableSubstitution(271 /* ShorthandPropertyAssignment */); // Substitutes expression identifiers for imported symbols + context.enableSubstitution(200 /* BinaryExpression */); // Substitutes assignments to exported symbols. + context.enableSubstitution(198 /* PrefixUnaryExpression */); // Substitutes updates to exported symbols. + context.enableSubstitution(199 /* PostfixUnaryExpression */); // Substitutes updates to exported symbols. + context.enableEmitNotification(274 /* SourceFile */); // Restore state when substituting nodes in a file. var moduleInfoMap = []; // The ExternalModuleInfo for each file. var deferredExports = []; // Exports to defer until an EndOfDeclarationMarker is found. var exportFunctionsMap = []; // The export function associated with a source file. @@ -70343,8 +70660,8 @@ var ts; // We emit hoisted variables early to align roughly with our previous emit output. // Two key differences in this approach are: // - Temporary variables will appear at the top rather than at the bottom of the file - ts.prependRange(statements, endLexicalEnvironment()); - var exportStarFunction = addExportStarIfNeeded(statements); + ts.prependStatements(statements, endLexicalEnvironment()); + var exportStarFunction = addExportStarIfNeeded(statements); // TODO: GH#18217 var moduleObject = ts.createObjectLiteral([ ts.createPropertyAssignment("setters", createSettersArray(exportStarFunction, dependencyGroups)), ts.createPropertyAssignment("execute", ts.createFunctionExpression( @@ -70379,7 +70696,7 @@ var ts; var hasExportDeclarationWithExportClause = false; for (var _i = 0, _a = moduleInfo.externalImports; _i < _a.length; _i++) { var externalImport = _a[_i]; - if (externalImport.kind === 249 /* ExportDeclaration */ && externalImport.exportClause) { + if (externalImport.kind === 250 /* ExportDeclaration */ && externalImport.exportClause) { hasExportDeclarationWithExportClause = true; break; } @@ -70404,7 +70721,7 @@ var ts; } for (var _d = 0, _e = moduleInfo.externalImports; _d < _e.length; _d++) { var externalImport = _e[_d]; - if (externalImport.kind !== 249 /* ExportDeclaration */) { + if (externalImport.kind !== 250 /* ExportDeclaration */) { continue; } if (!externalImport.exportClause) { @@ -70480,21 +70797,21 @@ var ts; var statements = []; for (var _a = 0, _b = group_1.externalImports; _a < _b.length; _a++) { var entry = _b[_a]; - var importVariableName = ts.getLocalNameForExternalImport(entry, currentSourceFile); + var importVariableName = ts.getLocalNameForExternalImport(entry, currentSourceFile); // TODO: GH#18217 switch (entry.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: if (!entry.importClause) { // 'import "..."' case // module is imported only for side-effects, no emit required break; } // falls through - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: ts.Debug.assert(importVariableName !== undefined); // save import into the local statements.push(ts.createStatement(ts.createAssignment(importVariableName, parameterName))); break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: ts.Debug.assert(importVariableName !== undefined); if (entry.exportClause) { // export {a, b as c} from 'foo' @@ -70544,15 +70861,15 @@ var ts; */ function sourceElementVisitor(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return visitImportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: // ExportDeclarations are elided as they are handled via // `appendExportsOfDeclaration`. return undefined; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitExportAssignment(node); default: return nestedElementVisitor(node); @@ -70566,7 +70883,7 @@ var ts; function visitImportDeclaration(node) { var statements; if (node.importClause) { - hoistVariableDeclaration(ts.getLocalNameForExternalImport(node, currentSourceFile)); + hoistVariableDeclaration(ts.getLocalNameForExternalImport(node, currentSourceFile)); // TODO: GH#18217 } if (hasAssociatedEndOfDeclarationMarker(node)) { // Defer exports until we encounter an EndOfDeclarationMarker node @@ -70586,7 +70903,7 @@ var ts; function visitImportEqualsDeclaration(node) { ts.Debug.assert(ts.isExternalModuleImportEqualsDeclaration(node), "import= for internal module references should be handled in an earlier transformer."); var statements; - hoistVariableDeclaration(ts.getLocalNameForExternalImport(node, currentSourceFile)); + hoistVariableDeclaration(ts.getLocalNameForExternalImport(node, currentSourceFile)); // TODO: GH#18217 if (hasAssociatedEndOfDeclarationMarker(node)) { // Defer exports until we encounter an EndOfDeclarationMarker node var id = ts.getOriginalNodeId(node); @@ -70728,7 +71045,7 @@ var ts; function shouldHoistVariableDeclarationList(node) { // hoist only non-block scoped declarations or block scoped declarations parented by source file return (ts.getEmitFlags(node) & 2097152 /* NoHoisting */) === 0 - && (enclosingBlockScopedContainer.kind === 273 /* SourceFile */ + && (enclosingBlockScopedContainer.kind === 274 /* SourceFile */ || (ts.getOriginalNode(node).flags & 3 /* BlockScoped */) === 0); } /** @@ -70792,7 +71109,7 @@ var ts; // // To balance the declaration, we defer the exports of the elided variable // statement until we visit this declaration's `EndOfDeclarationMarker`. - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 213 /* VariableStatement */) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 214 /* VariableStatement */) { var id = ts.getOriginalNodeId(node); var isExportedDeclaration = ts.hasModifier(node.original, 1 /* Export */); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original, isExportedDeclaration); @@ -70854,10 +71171,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 246 /* NamedImports */: + case 247 /* NamedImports */: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding); @@ -71037,43 +71354,43 @@ var ts; */ function nestedElementVisitor(node) { switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatement(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return visitClassDeclaration(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatement(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatement(node); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return visitDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return visitWhileStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return visitLabeledStatement(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return visitWithStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return visitSwitchStatement(node); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return visitCaseBlock(node); - case 265 /* CaseClause */: + case 266 /* CaseClause */: return visitCaseClause(node); - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: return visitDefaultClause(node); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return visitTryStatement(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitCatchClause(node); - case 212 /* Block */: + case 213 /* Block */: return visitBlock(node); - case 302 /* MergeDeclarationMarker */: + case 303 /* MergeDeclarationMarker */: return visitMergeDeclarationMarker(node); - case 303 /* EndOfDeclarationMarker */: + case 304 /* EndOfDeclarationMarker */: return visitEndOfDeclarationMarker(node); default: return destructuringAndImportCallVisitor(node); @@ -71087,7 +71404,7 @@ var ts; function visitForStatement(node) { var savedEnclosingBlockScopedContainer = enclosingBlockScopedContainer; enclosingBlockScopedContainer = node; - node = ts.updateFor(node, visitForInitializer(node.initializer), ts.visitNode(node.condition, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.incrementor, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.statement, nestedElementVisitor, ts.isStatement)); + node = ts.updateFor(node, node.initializer && visitForInitializer(node.initializer), ts.visitNode(node.condition, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.incrementor, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.statement, nestedElementVisitor, ts.isStatement)); enclosingBlockScopedContainer = savedEnclosingBlockScopedContainer; return node; } @@ -71131,9 +71448,6 @@ var ts; * @param node The node to visit. */ function visitForInitializer(node) { - if (!node) { - return node; - } if (shouldHoistForInitializer(node)) { var expressions = void 0; for (var _i = 0, _a = node.declarations; _i < _a.length; _i++) { @@ -71259,7 +71573,7 @@ var ts; */ function destructuringAndImportCallVisitor(node) { if (node.transformFlags & 1024 /* DestructuringAssignment */ - && node.kind === 199 /* BinaryExpression */) { + && node.kind === 200 /* BinaryExpression */) { return visitDestructuringAssignment(node); } else if (ts.isImportCall(node)) { @@ -71324,7 +71638,7 @@ var ts; } else if (ts.isIdentifier(node)) { var container = resolver.getReferencedExportContainer(node); - return container !== undefined && container.kind === 273 /* SourceFile */; + return container !== undefined && container.kind === 274 /* SourceFile */; } else { return false; @@ -71357,7 +71671,7 @@ var ts; * @param emitCallback A callback used to emit the node in the printer. */ function onEmitNode(hint, node, emitCallback) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { var id = ts.getOriginalNodeId(node); currentSourceFile = node; moduleInfo = moduleInfoMap[id]; @@ -71405,7 +71719,7 @@ var ts; */ function substituteUnspecified(node) { switch (node.kind) { - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return substituteShorthandPropertyAssignment(node); } return node; @@ -71441,10 +71755,10 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return substituteExpressionIdentifier(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return substituteBinaryExpression(node); - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return substituteUnaryExpression(node); } return node; @@ -71537,14 +71851,14 @@ var ts; && !ts.isDeclarationNameOfEnumOrNamespace(node.operand)) { var exportedNames = getExports(node.operand); if (exportedNames) { - var expression = node.kind === 198 /* PostfixUnaryExpression */ + var expression = node.kind === 199 /* PostfixUnaryExpression */ ? ts.setTextRange(ts.createPrefix(node.operator, node.operand), node) : node; for (var _i = 0, exportedNames_5 = exportedNames; _i < exportedNames_5.length; _i++) { var exportName = exportedNames_5[_i]; expression = createExportExpression(exportName, preventSubstitution(expression)); } - if (node.kind === 198 /* PostfixUnaryExpression */) { + if (node.kind === 199 /* PostfixUnaryExpression */) { expression = node.operator === 43 /* PlusPlusToken */ ? ts.createSubtract(preventSubstitution(expression), ts.createLiteral(1)) : ts.createAdd(preventSubstitution(expression), ts.createLiteral(1)); @@ -71566,7 +71880,7 @@ var ts; || resolver.getReferencedValueDeclaration(name); if (valueDeclaration) { var exportContainer = resolver.getReferencedExportContainer(name, /*prefixLocals*/ false); - if (exportContainer && exportContainer.kind === 273 /* SourceFile */) { + if (exportContainer && exportContainer.kind === 274 /* SourceFile */) { exportedNames = ts.append(exportedNames, ts.getDeclarationName(valueDeclaration)); } exportedNames = ts.addRange(exportedNames, moduleInfo && moduleInfo.exportedBindings[ts.getOriginalNodeId(valueDeclaration)]); @@ -71605,7 +71919,7 @@ var ts; var previousOnSubstituteNode = context.onSubstituteNode; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; - context.enableEmitNotification(273 /* SourceFile */); + context.enableEmitNotification(274 /* SourceFile */); context.enableSubstitution(71 /* Identifier */); var currentSourceFile; return ts.chainBundle(transformSourceFile); @@ -71634,10 +71948,10 @@ var ts; } function visitor(node) { switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: // Elide `import=` as it is not legal with --module ES6 return undefined; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitExportAssignment(node); } return node; @@ -71744,7 +72058,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -71773,7 +72087,7 @@ var ts; ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -71817,10 +72131,10 @@ var ts; return getTypeAliasDeclarationVisibilityError; } else { - ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]); + return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]); } function getVariableDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { - if (node.kind === 231 /* VariableDeclaration */ || node.kind === 181 /* BindingElement */) { + if (node.kind === 232 /* VariableDeclaration */ || node.kind === 182 /* BindingElement */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -71829,8 +72143,8 @@ var ts; } // This check is to ensure we don't report error on constructor parameter property as that error would be reported during parameter emit // The only exception here is if the constructor was marked as private. we are not emitting the constructor parameters at all. - else if (node.kind === 151 /* PropertyDeclaration */ || node.kind === 150 /* PropertySignature */ || - (node.kind === 148 /* Parameter */ && ts.hasModifier(node.parent, 8 /* Private */))) { + else if (node.kind === 152 /* PropertyDeclaration */ || node.kind === 151 /* PropertySignature */ || + (node.kind === 149 /* Parameter */ && ts.hasModifier(node.parent, 8 /* Private */))) { // TODO(jfreeman): Deal with computed properties in error reporting. if (ts.hasModifier(node, 32 /* Static */)) { return symbolAccessibilityResult.errorModuleName ? @@ -71839,7 +72153,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234 /* ClassDeclaration */ || node.kind === 148 /* Parameter */) { + else if (node.parent.kind === 235 /* ClassDeclaration */ || node.kind === 149 /* Parameter */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -71864,7 +72178,7 @@ var ts; } function getAccessorDeclarationTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; - if (node.kind === 156 /* SetAccessor */) { + if (node.kind === 157 /* SetAccessor */) { // Getters can infer the return type from the returned expression, but setters cannot, so the // "_from_external_module_1_but_cannot_be_named" case cannot occur. if (ts.hasModifier(node, 32 /* Static */)) { @@ -71903,26 +72217,26 @@ var ts; function getReturnTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; switch (node.kind) { - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 157 /* CallSignature */: + case 158 /* CallSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.hasModifier(node, 32 /* Static */)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? @@ -71930,7 +72244,7 @@ var ts; ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0; } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -71944,7 +72258,7 @@ var ts; ts.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0; } break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -71952,7 +72266,7 @@ var ts; ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0; break; default: - ts.Debug.fail("This is unknown kind for signature: " + node.kind); + return ts.Debug.fail("This is unknown kind for signature: " + node.kind); } return { diagnosticMessage: diagnosticMessage, @@ -71969,30 +72283,30 @@ var ts; } function getParameterDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { switch (node.parent.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1; - case 158 /* ConstructSignature */: - case 163 /* ConstructorType */: + case 159 /* ConstructSignature */: + case 164 /* ConstructorType */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; - case 157 /* CallSignature */: + case 158 /* CallSignature */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.hasModifier(node.parent, 32 /* Static */)) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? @@ -72000,7 +72314,7 @@ var ts; ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.parent.kind === 235 /* ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -72013,53 +72327,53 @@ var ts; ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } - case 233 /* FunctionDeclaration */: - case 162 /* FunctionType */: + case 234 /* FunctionDeclaration */: + case 163 /* FunctionType */: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1; default: - ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]); + return ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]); } } function getTypeParameterConstraintVisibilityError() { // Type parameter constraints are named by user so we should always be able to name it var diagnosticMessage; switch (node.parent.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1; break; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1; break; - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 157 /* CallSignature */: + case 158 /* CallSignature */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.hasModifier(node.parent, 32 /* Static */)) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.parent.kind === 235 /* ClassDeclaration */) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; } else { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1; break; - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1; break; default: - ts.Debug.fail("This is unknown parent for type parameter: " + node.parent.kind); + return ts.Debug.fail("This is unknown parent for type parameter: " + node.parent.kind); } return { diagnosticMessage: diagnosticMessage, @@ -72070,7 +72384,7 @@ var ts; function getHeritageClauseVisibilityError() { var diagnosticMessage; // Heritage clause is written by user so it can always be named - if (node.parent.parent.kind === 234 /* ClassDeclaration */) { + if (node.parent.parent.kind === 235 /* ClassDeclaration */) { // Class or Interface implemented/extended is inaccessible diagnosticMessage = node.parent.token === 108 /* ImplementsKeyword */ ? ts.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : @@ -72222,16 +72536,16 @@ var ts; } } function transformRoot(node) { - if (node.kind === 273 /* SourceFile */ && (node.isDeclarationFile || ts.isSourceFileJavaScript(node))) { + if (node.kind === 274 /* SourceFile */ && (node.isDeclarationFile || ts.isSourceFileJavaScript(node))) { return node; } - if (node.kind === 274 /* Bundle */) { + if (node.kind === 275 /* Bundle */) { isBundledEmit = true; var refs_1 = ts.createMap(); var hasNoDefaultLib_1 = false; var bundle = ts.createBundle(ts.map(node.sourceFiles, function (sourceFile) { if (sourceFile.isDeclarationFile || ts.isSourceFileJavaScript(sourceFile)) - return; // Omit declaration files from bundle results, too + return undefined; // Omit declaration files from bundle results, too // TODO: GH#18217 hasNoDefaultLib_1 = hasNoDefaultLib_1 || sourceFile.hasNoDefaultLib; currentSourceFile = sourceFile; enclosingDeclaration = sourceFile; @@ -72253,7 +72567,7 @@ var ts; var updated = ts.visitNodes(sourceFile.statements, visitDeclarationStatements); return ts.updateSourceFileNode(sourceFile, transformAndReplaceLatePaintedStatements(updated), /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false); }), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 276 /* InputFiles */) { + if (prepend.kind === 277 /* InputFiles */) { return ts.createUnparsedSourceFile(prepend.declarationText); } })); @@ -72351,7 +72665,7 @@ var ts; return name; } else { - if (name.kind === 180 /* ArrayBindingPattern */) { + if (name.kind === 181 /* ArrayBindingPattern */) { return ts.updateArrayBindingPattern(name, ts.visitNodes(name.elements, visitBindingElement)); } else { @@ -72359,7 +72673,7 @@ var ts; } } function visitBindingElement(elem) { - if (elem.kind === 205 /* OmittedExpression */) { + if (elem.kind === 206 /* OmittedExpression */) { return elem; } return ts.updateBindingElement(elem, elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializers(elem.name), shouldPrintWithInitializer(elem) ? elem.initializer : undefined); @@ -72397,7 +72711,7 @@ var ts; // Literal const declarations will have an initializer ensured rather than a type return; } - var shouldUseResolverType = node.kind === 148 /* Parameter */ && + var shouldUseResolverType = node.kind === 149 /* Parameter */ && (resolver.isRequiredInitializedParameter(node) || resolver.isOptionalUninitializedParameterProperty(node)); if (type && !shouldUseResolverType) { @@ -72406,7 +72720,7 @@ var ts; if (!ts.getParseTreeNode(node)) { return type ? ts.visitNode(type, visitDeclarationSubtree) : ts.createKeywordTypeNode(119 /* AnyKeyword */); } - if (node.kind === 156 /* SetAccessor */) { + if (node.kind === 157 /* SetAccessor */) { // Set accessors with no associated type node (from it's param or get accessor return) are `any` since they are never contextually typed right now // (The inferred type here will be void, but the old declaration emitter printed `any`, so this replicates that) return ts.createKeywordTypeNode(119 /* AnyKeyword */); @@ -72417,12 +72731,12 @@ var ts; oldDiag = getSymbolAccessibilityDiagnostic; getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(node); } - if (node.kind === 231 /* VariableDeclaration */ || node.kind === 181 /* BindingElement */) { + if (node.kind === 232 /* VariableDeclaration */ || node.kind === 182 /* BindingElement */) { return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } - if (node.kind === 148 /* Parameter */ - || node.kind === 151 /* PropertyDeclaration */ - || node.kind === 150 /* PropertySignature */) { + if (node.kind === 149 /* Parameter */ + || node.kind === 152 /* PropertyDeclaration */ + || node.kind === 151 /* PropertySignature */) { if (!node.initializer) return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); @@ -72439,20 +72753,20 @@ var ts; function isDeclarationAndNotVisible(node) { node = ts.getParseTreeNode(node); switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 238 /* ModuleDeclaration */: - case 235 /* InterfaceDeclaration */: - case 234 /* ClassDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 237 /* EnumDeclaration */: + case 234 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 236 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 238 /* EnumDeclaration */: return !resolver.isDeclarationVisible(node); // The following should be doing their own visibility checks based on filtering their members - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return !getBindingNameVisible(node); - case 242 /* ImportEqualsDeclaration */: - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: - case 248 /* ExportAssignment */: + case 243 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: + case 249 /* ExportAssignment */: return false; } return false; @@ -72463,7 +72777,7 @@ var ts; } if (ts.isBindingPattern(elem.name)) { // If any child binding pattern element has been marked visible (usually by collect linked aliases), then this is visible - return ts.forEach(elem.name.elements, getBindingNameVisible); + return ts.some(elem.name.elements, getBindingNameVisible); } else { return resolver.isDeclarationVisible(elem); @@ -72471,11 +72785,11 @@ var ts; } function updateParamsList(node, params, modifierMask) { if (ts.hasModifier(node, 8 /* Private */)) { - return undefined; + return undefined; // TODO: GH#18217 } var newParams = ts.map(params, function (p) { return ensureParameter(p, modifierMask); }); if (!newParams) { - return undefined; + return undefined; // TODO: GH#18217 } return ts.createNodeArray(newParams, params.hasTrailingComma); } @@ -72505,8 +72819,8 @@ var ts; } function rewriteModuleSpecifier(parent, input) { if (!input) - return; - resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 238 /* ModuleDeclaration */ && parent.kind !== 178 /* ImportType */); + return undefined; // TODO: GH#18217 + resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 239 /* ModuleDeclaration */ && parent.kind !== 179 /* ImportType */); if (input.kind === 9 /* StringLiteral */ && isBundledEmit) { var newName = ts.getExternalModuleNameFromDeclaration(context.getEmitHost(), resolver, parent); if (newName) { @@ -72518,7 +72832,7 @@ var ts; function transformImportEqualsDeclaration(decl) { if (!resolver.isDeclarationVisible(decl)) return; - if (decl.moduleReference.kind === 253 /* ExternalModuleReference */) { + if (decl.moduleReference.kind === 254 /* ExternalModuleReference */) { // Rewrite external module names if necessary var specifier = ts.getExternalModuleImportEqualsDeclarationExpression(decl); return ts.updateImportEqualsDeclaration(decl, @@ -72545,7 +72859,7 @@ var ts; return visibleDefaultBinding && ts.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, ts.updateImportClause(decl.importClause, visibleDefaultBinding, /*namedBindings*/ undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier)); } - if (decl.importClause.namedBindings.kind === 245 /* NamespaceImport */) { + if (decl.importClause.namedBindings.kind === 246 /* NamespaceImport */) { // Namespace import (optionally with visible default) var namedBindings = resolver.isDeclarationVisible(decl.importClause.namedBindings) ? decl.importClause.namedBindings : /*namedBindings*/ undefined; return visibleDefaultBinding || namedBindings ? ts.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, ts.updateImportClause(decl.importClause, visibleDefaultBinding, namedBindings), rewriteModuleSpecifier(decl, decl.moduleSpecifier)) : undefined; @@ -72650,66 +72964,68 @@ var ts; checkEntityNameVisibility(input.exprName, enclosingDeclaration); } var oldWithinObjectLiteralType = suppressNewDiagnosticContexts; - var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 165 /* TypeLiteral */ || input.kind === 176 /* MappedType */) && input.parent.kind !== 236 /* TypeAliasDeclaration */); + var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 166 /* TypeLiteral */ || input.kind === 177 /* MappedType */) && input.parent.kind !== 237 /* TypeAliasDeclaration */); if (shouldEnterSuppressNewDiagnosticsContextContext) { // We stop making new diagnostic contexts within object literal types. Unless it's an object type on the RHS of a type alias declaration. Then we do. suppressNewDiagnosticContexts = true; } if (isProcessedComponent(input)) { switch (input.kind) { - case 206 /* ExpressionWithTypeArguments */: { + case 207 /* ExpressionWithTypeArguments */: { if ((ts.isEntityName(input.expression) || ts.isEntityNameExpression(input.expression))) { checkEntityNameVisibility(input.expression, enclosingDeclaration); } var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(ts.updateExpressionWithTypeArguments(node, ts.parenthesizeTypeParameters(node.typeArguments), node.expression)); } - case 161 /* TypeReference */: { + case 162 /* TypeReference */: { checkEntityNameVisibility(input.typeName, enclosingDeclaration); var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(ts.updateTypeReferenceNode(node, node.typeName, ts.parenthesizeTypeParameters(node.typeArguments))); } - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: return cleanup(ts.updateConstructSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); - case 154 /* Constructor */: { + case 155 /* Constructor */: { var isPrivate = ts.hasModifier(input, 8 /* Private */); // A constructor declaration may not have a type annotation - var ctor = ts.createSignatureDeclaration(154 /* Constructor */, isPrivate ? undefined : ensureTypeParams(input, input.typeParameters), isPrivate ? undefined : updateParamsList(input, input.parameters, 0 /* None */), + var ctor = ts.createSignatureDeclaration(155 /* Constructor */, isPrivate ? undefined : ensureTypeParams(input, input.typeParameters), + // TODO: GH#18217 + isPrivate ? undefined : updateParamsList(input, input.parameters, 0 /* None */), /*type*/ undefined); ctor.modifiers = ts.createNodeArray(ensureModifiers(input)); return cleanup(ctor); } - case 153 /* MethodDeclaration */: { - var sig = ts.createSignatureDeclaration(152 /* MethodSignature */, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type)); + case 154 /* MethodDeclaration */: { + var sig = ts.createSignatureDeclaration(153 /* MethodSignature */, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type)); sig.name = input.name; sig.modifiers = ts.createNodeArray(ensureModifiers(input)); sig.questionToken = input.questionToken; return cleanup(sig); } - case 155 /* GetAccessor */: { + case 156 /* GetAccessor */: { var newNode = ensureAccessor(input); return cleanup(newNode); } - case 156 /* SetAccessor */: { + case 157 /* SetAccessor */: { var newNode = ensureAccessor(input); return cleanup(newNode); } - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return cleanup(ts.updateProperty(input, /*decorators*/ undefined, ensureModifiers(input), input.name, input.questionToken, !ts.hasModifier(input, 8 /* Private */) ? ensureType(input, input.type) : undefined, ensureNoInitializer(input))); - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: return cleanup(ts.updatePropertySignature(input, ensureModifiers(input), input.name, input.questionToken, !ts.hasModifier(input, 8 /* Private */) ? ensureType(input, input.type) : undefined, ensureNoInitializer(input))); - case 152 /* MethodSignature */: { + case 153 /* MethodSignature */: { return cleanup(ts.updateMethodSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), input.name, input.questionToken)); } - case 157 /* CallSignature */: { + case 158 /* CallSignature */: { return cleanup(ts.updateCallSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); } - case 159 /* IndexSignature */: { + case 160 /* IndexSignature */: { return cleanup(ts.updateIndexSignature(input, /*decorators*/ undefined, ensureModifiers(input), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree) || ts.createKeywordTypeNode(119 /* AnyKeyword */))); } - case 231 /* VariableDeclaration */: { + case 232 /* VariableDeclaration */: { if (ts.isBindingPattern(input.name)) { return recreateBindingPattern(input.name); } @@ -72717,13 +73033,13 @@ var ts; suppressNewDiagnosticContexts = true; // Variable declaration types also suppress new diagnostic contexts, provided the contexts wouldn't be made for binding pattern types return cleanup(ts.updateVariableDeclaration(input, input.name, ensureType(input, input.type), ensureNoInitializer(input))); } - case 147 /* TypeParameter */: { + case 148 /* TypeParameter */: { if (isPrivateMethodTypeParameter(input) && (input.default || input.constraint)) { return cleanup(ts.updateTypeParameterDeclaration(input, input.name, /*constraint*/ undefined, /*defaultType*/ undefined)); } return cleanup(ts.visitEachChild(input, visitDeclarationSubtree, context)); } - case 170 /* ConditionalType */: { + case 171 /* ConditionalType */: { // We have to process conditional types in a special way because for visibility purposes we need to push a new enclosingDeclaration // just for the `infer` types in the true branch. It's an implicit declaration scope that only applies to _part_ of the type. var checkType = ts.visitNode(input.checkType, visitDeclarationSubtree); @@ -72735,13 +73051,13 @@ var ts; var falseType = ts.visitNode(input.falseType, visitDeclarationSubtree); return cleanup(ts.updateConditionalTypeNode(input, checkType, extendsType, trueType, falseType)); } - case 162 /* FunctionType */: { + case 163 /* FunctionType */: { return cleanup(ts.updateFunctionTypeNode(input, ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 163 /* ConstructorType */: { + case 164 /* ConstructorType */: { return cleanup(ts.updateConstructorTypeNode(input, ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 178 /* ImportType */: { + case 179 /* ImportType */: { if (!ts.isLiteralImportTypeNode(input)) return cleanup(input); return cleanup(ts.updateImportTypeNode(input, ts.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)), input.qualifier, ts.visitNodes(input.typeArguments, visitDeclarationSubtree, ts.isTypeNode), input.isTypeOf)); @@ -72770,7 +73086,7 @@ var ts; } } function isPrivateMethodTypeParameter(node) { - return node.parent.kind === 153 /* MethodDeclaration */ && ts.hasModifier(node.parent, 8 /* Private */); + return node.parent.kind === 154 /* MethodDeclaration */ && ts.hasModifier(node.parent, 8 /* Private */); } function visitDeclarationStatements(input) { if (!isPreservedDeclarationStatement(input)) { @@ -72780,7 +73096,7 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 249 /* ExportDeclaration */: { + case 250 /* ExportDeclaration */: { if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; resultHasScopeMarker = true; @@ -72789,7 +73105,7 @@ var ts; // Rewrite external module names if necessary return ts.updateExportDeclaration(input, /*decorators*/ undefined, input.modifiers, input.exportClause, rewriteModuleSpecifier(input, input.moduleSpecifier)); } - case 248 /* ExportAssignment */: { + case 249 /* ExportAssignment */: { // Always visible if the parent node isn't dropped for being not visible if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; @@ -72819,10 +73135,10 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 242 /* ImportEqualsDeclaration */: { + case 243 /* ImportEqualsDeclaration */: { return transformImportEqualsDeclaration(input); } - case 243 /* ImportDeclaration */: { + case 244 /* ImportDeclaration */: { return transformImportDeclaration(input); } } @@ -72843,24 +73159,24 @@ var ts; } var previousNeedsDeclare = needsDeclare; switch (input.kind) { - case 236 /* TypeAliasDeclaration */: // Type aliases get `declare`d if need be (for legacy support), but that's all + case 237 /* TypeAliasDeclaration */: // Type aliases get `declare`d if need be (for legacy support), but that's all return cleanup(ts.updateTypeAliasDeclaration(input, /*decorators*/ undefined, ensureModifiers(input, isPrivate), input.name, ts.visitNodes(input.typeParameters, visitDeclarationSubtree, ts.isTypeParameterDeclaration), ts.visitNode(input.type, visitDeclarationSubtree, ts.isTypeNode))); - case 235 /* InterfaceDeclaration */: { + case 236 /* InterfaceDeclaration */: { return cleanup(ts.updateInterfaceDeclaration(input, /*decorators*/ undefined, ensureModifiers(input, isPrivate), input.name, ensureTypeParams(input, input.typeParameters), transformHeritageClauses(input.heritageClauses), ts.visitNodes(input.members, visitDeclarationSubtree))); } - case 233 /* FunctionDeclaration */: { + case 234 /* FunctionDeclaration */: { // Generators lose their generator-ness, excepting their return type return cleanup(ts.updateFunctionDeclaration(input, /*decorators*/ undefined, ensureModifiers(input, isPrivate), /*asteriskToken*/ undefined, input.name, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), /*body*/ undefined)); } - case 238 /* ModuleDeclaration */: { + case 239 /* ModuleDeclaration */: { needsDeclare = false; var inner = input.body; - if (inner && inner.kind === 239 /* ModuleBlock */) { + if (inner && inner.kind === 240 /* ModuleBlock */) { var statements = ts.visitNodes(inner.statements, visitDeclarationStatements); var body = ts.updateModuleBlock(inner, transformAndReplaceLatePaintedStatements(statements)); needsDeclare = previousNeedsDeclare; @@ -72874,14 +73190,14 @@ var ts; needsDeclare = false; ts.visitNode(inner, visitDeclarationStatements); // eagerly transform nested namespaces (the nesting doesn't need any elision or painting done) - var id = "" + ts.getOriginalNodeId(inner); + var id = "" + ts.getOriginalNodeId(inner); // TODO: GH#18217 var body = lateStatementReplacementMap.get(id); lateStatementReplacementMap.delete(id); return cleanup(ts.updateModuleDeclaration(input, /*decorators*/ undefined, mods, input.name, body)); } } - case 234 /* ClassDeclaration */: { + case 235 /* ClassDeclaration */: { var modifiers = ts.createNodeArray(ensureModifiers(input, isPrivate)); var typeParameters = ensureTypeParams(input, input.typeParameters); var ctor = ts.getFirstConstructorWithBody(input); @@ -72924,7 +73240,7 @@ var ts; var extendsClause_1 = ts.getClassExtendsHeritageClauseElement(input); if (extendsClause_1 && !ts.isEntityNameExpression(extendsClause_1.expression) && extendsClause_1.expression.kind !== 95 /* NullKeyword */) { // We must add a temporary declaration for the extends clause expression - var newId_1 = ts.createOptimisticUniqueName(ts.unescapeLeadingUnderscores(input.name.escapedText) + "_base"); + var newId_1 = ts.createOptimisticUniqueName(ts.unescapeLeadingUnderscores(input.name.escapedText) + "_base"); // TODO: GH#18217 getSymbolAccessibilityDiagnostic = function () { return ({ diagnosticMessage: ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1, errorNode: extendsClause_1, @@ -72943,7 +73259,7 @@ var ts; return ts.updateHeritageClause(clause, ts.visitNodes(ts.createNodeArray(ts.filter(clause.types, function (t) { return ts.isEntityNameExpression(t.expression) || t.expression.kind === 95 /* NullKeyword */; })), visitDeclarationSubtree)); })); return [statement, cleanup(ts.updateClassDeclaration(input, - /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members))]; + /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members))]; // TODO: GH#18217 } else { var heritageClauses = transformHeritageClauses(input.heritageClauses); @@ -72951,10 +73267,10 @@ var ts; /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members)); } } - case 213 /* VariableStatement */: { + case 214 /* VariableStatement */: { return cleanup(transformVariableStatement(input, isPrivate)); } - case 237 /* EnumDeclaration */: { + case 238 /* EnumDeclaration */: { return cleanup(ts.updateEnumDeclaration(input, /*decorators*/ undefined, ts.createNodeArray(ensureModifiers(input, isPrivate)), input.name, ts.createNodeArray(ts.mapDefined(input.members, function (m) { if (shouldStripInternal(m)) return; @@ -72973,7 +73289,7 @@ var ts; if (canProdiceDiagnostic) { getSymbolAccessibilityDiagnostic = oldDiag; } - if (input.kind === 238 /* ModuleDeclaration */) { + if (input.kind === 239 /* ModuleDeclaration */) { needsDeclare = previousNeedsDeclare; } if (node === input) { @@ -72994,7 +73310,7 @@ var ts; return ts.flatten(ts.mapDefined(d.elements, function (e) { return recreateBindingElement(e); })); } function recreateBindingElement(e) { - if (e.kind === 205 /* OmittedExpression */) { + if (e.kind === 206 /* OmittedExpression */) { return; } if (e.name) { @@ -73048,7 +73364,7 @@ var ts; function ensureModifierFlags(node, privateDeclaration) { var mask = 3071 /* All */ ^ (4 /* Public */ | 256 /* Async */); // No async modifiers in declaration files var additions = (needsDeclare && !isAlwaysType(node)) ? 2 /* Ambient */ : 0 /* None */; - var parentIsFile = node.parent.kind === 273 /* SourceFile */; + var parentIsFile = node.parent.kind === 274 /* SourceFile */; if (!parentIsFile || (isBundledEmit && parentIsFile && ts.isExternalModule(node.parent))) { mask ^= ((privateDeclaration || (isBundledEmit && parentIsFile) ? 0 : 1 /* Export */) | 512 /* Default */ | 2 /* Ambient */); additions = 0 /* None */; @@ -73096,7 +73412,7 @@ var ts; } ts.transformDeclarations = transformDeclarations; function isAlwaysType(node) { - if (node.kind === 235 /* InterfaceDeclaration */) { + if (node.kind === 236 /* InterfaceDeclaration */) { return true; } return false; @@ -73116,7 +73432,7 @@ var ts; } function getTypeAnnotationFromAccessor(accessor) { if (accessor) { - return accessor.kind === 155 /* GetAccessor */ + return accessor.kind === 156 /* GetAccessor */ ? accessor.type // Getter - return type : accessor.parameters.length > 0 ? accessor.parameters[0].type // Setter parameter type @@ -73125,51 +73441,51 @@ var ts; } function canHaveLiteralInitializer(node) { switch (node.kind) { - case 231 /* VariableDeclaration */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 148 /* Parameter */: + case 232 /* VariableDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 149 /* Parameter */: return true; } return false; } function isPreservedDeclarationStatement(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 238 /* ModuleDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 235 /* InterfaceDeclaration */: - case 234 /* ClassDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 237 /* EnumDeclaration */: - case 213 /* VariableStatement */: - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: - case 248 /* ExportAssignment */: + case 234 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 236 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 238 /* EnumDeclaration */: + case 214 /* VariableStatement */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: + case 249 /* ExportAssignment */: return true; } return false; } function isProcessedComponent(node) { switch (node.kind) { - case 158 /* ConstructSignature */: - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 159 /* IndexSignature */: - case 231 /* VariableDeclaration */: - case 147 /* TypeParameter */: - case 206 /* ExpressionWithTypeArguments */: - case 161 /* TypeReference */: - case 170 /* ConditionalType */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 178 /* ImportType */: + case 159 /* ConstructSignature */: + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 160 /* IndexSignature */: + case 232 /* VariableDeclaration */: + case 148 /* TypeParameter */: + case 207 /* ExpressionWithTypeArguments */: + case 162 /* TypeReference */: + case 171 /* ConditionalType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 179 /* ImportType */: return true; } return false; @@ -73245,7 +73561,7 @@ var ts; * @param allowDtsFiles A value indicating whether to allow the transformation of .d.ts files. */ function transformNodes(resolver, host, options, nodes, transformers, allowDtsFiles) { - var enabledSyntaxKindFeatures = new Array(304 /* Count */); + var enabledSyntaxKindFeatures = new Array(305 /* Count */); var lexicalEnvironmentVariableDeclarations; var lexicalEnvironmentFunctionDeclarations; var lexicalEnvironmentVariableDeclarationsStack = []; @@ -73554,7 +73870,7 @@ var ts; * @param sourceFileOrBundle The input source file or bundle for the program. */ function initialize(filePath, sourceMapFilePath, sourceFileOrBundle, outputSourceMapDataList) { - if (disabled) { + if (disabled || ts.fileExtensionIs(filePath, ".json" /* Json */)) { return; } if (sourceMapData) { @@ -73590,7 +73906,7 @@ var ts; } if (compilerOptions.mapRoot) { sourceMapDir = ts.normalizeSlashes(compilerOptions.mapRoot); - if (sourceFileOrBundle.kind === 273 /* SourceFile */) { // emitting single module file + if (sourceFileOrBundle.kind === 274 /* SourceFile */) { // emitting single module file // For modules or multiple emit files the mapRoot will have directory structure like the sources // So if src\a.ts and src\lib\b.ts are compiled together user would be moving the maps into mapRoot\a.js.map and mapRoot\lib\b.js.map sourceMapDir = ts.getDirectoryPath(ts.getSourceFilePathInNewDir(sourceFileOrBundle, host, sourceMapDir)); @@ -73677,7 +73993,7 @@ var ts; * @param pos The position. */ function emitPos(pos) { - if (disabled || ts.positionIsSynthesized(pos)) { + if (disabled || ts.positionIsSynthesized(pos) || isJsonSourceMapSource(currentSource)) { return; } if (extendedDiagnostics) { @@ -73726,12 +74042,12 @@ var ts; * @param emitCallback The callback used to emit the node. */ function emitNodeWithSourceMap(hint, node, emitCallback) { - if (disabled) { + if (disabled || ts.isInJsonFile(node)) { return emitCallback(hint, node); } if (node) { var emitNode = node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0 /* None */; var range = emitNode && emitNode.sourceMapRange; var _a = range || node, pos = _a.pos, end = _a.end; var source = range && range.source; @@ -73740,7 +74056,7 @@ var ts; source = undefined; if (source) setSourceFile(source); - if (node.kind !== 299 /* NotEmittedStatement */ + if (node.kind !== 300 /* NotEmittedStatement */ && (emitFlags & 16 /* NoLeadingSourceMap */) === 0 && pos >= 0) { emitPos(skipSourceTrivia(pos)); @@ -73757,7 +74073,7 @@ var ts; } if (source) setSourceFile(source); - if (node.kind !== 299 /* NotEmittedStatement */ + if (node.kind !== 300 /* NotEmittedStatement */ && (emitFlags & 32 /* NoTrailingSourceMap */) === 0 && end >= 0) { emitPos(end); @@ -73775,11 +74091,11 @@ var ts; * @param emitCallback The callback used to emit the token. */ function emitTokenWithSourceMap(node, token, writer, tokenPos, emitCallback) { - if (disabled) { + if (disabled || ts.isInJsonFile(node)) { return emitCallback(token, writer, tokenPos); } var emitNode = node && node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0 /* None */; var range = emitNode && emitNode.tokenSourceMapRanges && emitNode.tokenSourceMapRanges[token]; tokenPos = skipSourceTrivia(range ? range.pos : tokenPos); if ((emitFlags & 128 /* NoTokenLeadingSourceMaps */) === 0 && tokenPos >= 0) { @@ -73793,6 +74109,9 @@ var ts; } return tokenPos; } + function isJsonSourceMapSource(sourceFile) { + return ts.fileExtensionIs(sourceFile.fileName, ".json" /* Json */); + } /** * Set the current source file. * @@ -73804,6 +74123,9 @@ var ts; } currentSource = sourceFile; currentSourceText = currentSource.text; + if (isJsonSourceMapSource(sourceFile)) { + return; + } // Add the file to tsFilePaths // If sourceroot option: Use the relative path corresponding to the common directory path // otherwise source locations relative to map file location @@ -73825,8 +74147,8 @@ var ts; * Gets the text for the source map. */ function getText() { - if (disabled) { - return; + if (disabled || isJsonSourceMapSource(currentSource)) { + return undefined; // TODO: GH#18217 } encodeLastRecordedSourceMapSpan(); return JSON.stringify({ @@ -73843,8 +74165,8 @@ var ts; * Gets the SourceMappingURL for the source map. */ function getSourceMappingURL() { - if (disabled) { - return; + if (disabled || isJsonSourceMapSource(currentSource)) { + return undefined; // TODO: GH#18217 } if (compilerOptions.inlineSourceMap) { // Encode the sourceMap into the sourceMap url @@ -73905,7 +74227,7 @@ var ts; var currentLineMap; var detachedCommentsInfo; var hasWrittenComment = false; - var disabled = printerOptions.removeComments; + var disabled = !!printerOptions.removeComments; return { reset: reset, setWriter: setWriter, @@ -73923,7 +74245,7 @@ var ts; if (node) { hasWrittenComment = false; var emitNode = node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0; var _a = emitNode && emitNode.commentRange || node, pos = _a.pos, end = _a.end; if ((pos < 0 && end < 0) || (pos === end)) { // Both pos and end are synthesized, so just emit the node without comments. @@ -73933,7 +74255,7 @@ var ts; if (extendedDiagnostics) { ts.performance.mark("preEmitNodeWithComment"); } - var isEmittedNode = node.kind !== 299 /* NotEmittedStatement */; + var isEmittedNode = node.kind !== 300 /* NotEmittedStatement */; // We have to explicitly check that the node is JsxText because if the compilerOptions.jsx is "preserve" we will not do any transformation. // It is expensive to walk entire tree just to set one kind of node to have no comments. var skipLeadingComments = pos < 0 || (emitFlags & 512 /* NoLeadingComments */) !== 0 || node.kind === 10 /* JsxText */; @@ -73954,7 +74276,7 @@ var ts; containerEnd = end; // To avoid invalid comment emit in a down-level binding pattern, we // keep track of the last declaration list container's end - if (node.kind === 232 /* VariableDeclarationList */) { + if (node.kind === 233 /* VariableDeclarationList */) { declarationListContainerEnd = end; } } @@ -74211,11 +74533,11 @@ var ts; detachedCommentsInfo = undefined; } function hasDetachedComments(pos) { - return detachedCommentsInfo !== undefined && ts.lastOrUndefined(detachedCommentsInfo).nodePos === pos; + return detachedCommentsInfo !== undefined && ts.last(detachedCommentsInfo).nodePos === pos; } function forEachLeadingCommentWithoutDetachedComments(cb) { // get the leading comments from detachedPos - var pos = ts.lastOrUndefined(detachedCommentsInfo).detachedCommentEndPos; + var pos = ts.last(detachedCommentsInfo).detachedCommentEndPos; if (detachedCommentsInfo.length - 1) { detachedCommentsInfo.pop(); } @@ -74270,6 +74592,7 @@ var ts; * Else, calls `getSourceFilesToEmit` with the (optional) target source file to determine the list of source files to emit. */ function forEachEmittedFile(host, action, sourceFilesOrTargetSourceFile, emitOnlyDtsFiles) { + if (emitOnlyDtsFiles === void 0) { emitOnlyDtsFiles = false; } var sourceFiles = ts.isArray(sourceFilesOrTargetSourceFile) ? sourceFilesOrTargetSourceFile : ts.getSourceFilesToEmit(host, sourceFilesOrTargetSourceFile); var options = host.getCompilerOptions(); if (options.outFile || options.out) { @@ -74295,17 +74618,17 @@ var ts; /*@internal*/ function getOutputPathsFor(sourceFile, host, forceDtsPaths) { var options = host.getCompilerOptions(); - if (sourceFile.kind === 274 /* Bundle */) { + if (sourceFile.kind === 275 /* Bundle */) { var jsFilePath = options.outFile || options.out; var sourceMapFilePath = getSourceMapFilePath(jsFilePath, options); var declarationFilePath = (forceDtsPaths || options.declaration) ? ts.removeFileExtension(jsFilePath) + ".d.ts" /* Dts */ : undefined; var declarationMapPath = ts.getAreDeclarationMapsEnabled(options) ? declarationFilePath + ".map" : undefined; - var bundleInfoPath = options.references && jsFilePath && (ts.removeFileExtension(jsFilePath) + infoExtension); + var bundleInfoPath = options.references && jsFilePath ? (ts.removeFileExtension(jsFilePath) + infoExtension) : undefined; return { jsFilePath: jsFilePath, sourceMapFilePath: sourceMapFilePath, declarationFilePath: declarationFilePath, declarationMapPath: declarationMapPath, bundleInfoPath: bundleInfoPath }; } else { var jsFilePath = ts.getOwnEmitOutputFilePath(sourceFile, host, getOutputExtension(sourceFile, options)); - var sourceMapFilePath = getSourceMapFilePath(jsFilePath, options); + var sourceMapFilePath = ts.isJsonSourceFile(sourceFile) ? undefined : getSourceMapFilePath(jsFilePath, options); // For legacy reasons (ie, we have baselines capturing the behavior), js files don't report a .d.ts output path - this would only matter if `declaration` and `allowJs` were both on, which is currently an error var isJs = ts.isSourceFileJavaScript(sourceFile); var declarationFilePath = ((forceDtsPaths || options.declaration) && !isJs) ? ts.getDeclarationEmitOutputFilePath(sourceFile, host) : undefined; @@ -74371,7 +74694,7 @@ var ts; emitSkipped: emitSkipped, diagnostics: emitterDiagnostics.getDiagnostics(), emittedFiles: emittedFilesList, - sourceMaps: sourceMapDataList + sourceMaps: sourceMapDataList, }; function emitSourceFileOrBundle(_a, sourceFileOrBundle) { var jsFilePath = _a.jsFilePath, sourceMapFilePath = _a.sourceMapFilePath, declarationFilePath = _a.declarationFilePath, declarationMapPath = _a.declarationMapPath, bundleInfoPath = _a.bundleInfoPath; @@ -74458,8 +74781,8 @@ var ts; declarationTransform.dispose(); } function printSourceFileOrBundle(jsFilePath, sourceMapFilePath, sourceFileOrBundle, bundleInfoPath, printer, mapRecorder) { - var bundle = sourceFileOrBundle.kind === 274 /* Bundle */ ? sourceFileOrBundle : undefined; - var sourceFile = sourceFileOrBundle.kind === 273 /* SourceFile */ ? sourceFileOrBundle : undefined; + var bundle = sourceFileOrBundle.kind === 275 /* Bundle */ ? sourceFileOrBundle : undefined; + var sourceFile = sourceFileOrBundle.kind === 274 /* SourceFile */ ? sourceFileOrBundle : undefined; var sourceFiles = bundle ? bundle.sourceFiles : [sourceFile]; mapRecorder.initialize(jsFilePath, sourceMapFilePath || "", sourceFileOrBundle, sourceMapDataList); if (bundle) { @@ -74478,7 +74801,7 @@ var ts; ts.writeFile(host, emitterDiagnostics, sourceMapFilePath, mapRecorder.getText(), /*writeByteOrderMark*/ false, sourceFiles); } // Write the output file - ts.writeFile(host, emitterDiagnostics, jsFilePath, writer.getText(), compilerOptions.emitBOM, sourceFiles); + ts.writeFile(host, emitterDiagnostics, jsFilePath, writer.getText(), !!compilerOptions.emitBOM, sourceFiles); // Write bundled offset information if applicable if (bundleInfoPath) { bundleInfo.totalLength = writer.getTextPos(); @@ -74559,9 +74882,9 @@ var ts; break; } switch (node.kind) { - case 273 /* SourceFile */: return printFile(node); - case 274 /* Bundle */: return printBundle(node); - case 275 /* UnparsedSource */: return printUnparsedSource(node); + case 274 /* SourceFile */: return printFile(node); + case 275 /* Bundle */: return printBundle(node); + case 276 /* UnparsedSource */: return printUnparsedSource(node); } writeNode(hint, node, sourceFile, beginPrint()); return endPrint(); @@ -74662,7 +74985,7 @@ var ts; } } function setWriter(output) { - writer = output; + writer = output; // TODO: GH#18217 comments.setWriter(output); } function reset() { @@ -74720,8 +75043,7 @@ var ts; return getPipelinePhase(currentPhase + 1, hint); } function pipelineEmitWithNotification(hint, node) { - ts.Debug.assertDefined(onEmitNode); - onEmitNode(hint, node, getNextPipelinePhase(0 /* Notification */, hint)); + ts.Debug.assertDefined(onEmitNode)(hint, node, getNextPipelinePhase(0 /* Notification */, hint)); } function pipelineEmitWithComments(hint, node) { ts.Debug.assertDefined(emitNodeWithComments); @@ -74733,9 +75055,8 @@ var ts; pipelinePhase(hint, trySubstituteNode(hint, node)); } function pipelineEmitWithSourceMap(hint, node) { - ts.Debug.assertDefined(onEmitSourceMapOfNode); ts.Debug.assert(hint !== 0 /* SourceFile */ && hint !== 2 /* IdentifierName */); - onEmitSourceMapOfNode(hint, node, pipelineEmitWithHint); + ts.Debug.assertDefined(onEmitSourceMapOfNode)(hint, node, pipelineEmitWithHint); } function pipelineEmitWithHint(hint, node) { if (hint === 0 /* SourceFile */) @@ -74753,235 +75074,235 @@ var ts; case 15 /* TemplateMiddle */: case 16 /* TemplateTail */: return emitLiteral(node); - case 275 /* UnparsedSource */: + case 276 /* UnparsedSource */: return emitUnparsedSource(node); // Identifiers case 71 /* Identifier */: return emitIdentifier(node); // Parse tree nodes // Names - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return emitQualifiedName(node); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return emitComputedPropertyName(node); // Signature elements - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return emitTypeParameter(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return emitParameter(node); - case 149 /* Decorator */: + case 150 /* Decorator */: return emitDecorator(node); // Type members - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: return emitPropertySignature(node); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return emitPropertyDeclaration(node); - case 152 /* MethodSignature */: + case 153 /* MethodSignature */: return emitMethodSignature(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return emitMethodDeclaration(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return emitConstructor(node); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return emitAccessorDeclaration(node); - case 157 /* CallSignature */: + case 158 /* CallSignature */: return emitCallSignature(node); - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: return emitConstructSignature(node); - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: return emitIndexSignature(node); // Types - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return emitTypePredicate(node); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return emitTypeReference(node); - case 162 /* FunctionType */: + case 163 /* FunctionType */: return emitFunctionType(node); - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: return emitJSDocFunctionType(node); - case 163 /* ConstructorType */: + case 164 /* ConstructorType */: return emitConstructorType(node); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return emitTypeQuery(node); - case 165 /* TypeLiteral */: + case 166 /* TypeLiteral */: return emitTypeLiteral(node); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return emitArrayType(node); - case 167 /* TupleType */: + case 168 /* TupleType */: return emitTupleType(node); - case 168 /* UnionType */: + case 169 /* UnionType */: return emitUnionType(node); - case 169 /* IntersectionType */: + case 170 /* IntersectionType */: return emitIntersectionType(node); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return emitConditionalType(node); - case 171 /* InferType */: + case 172 /* InferType */: return emitInferType(node); - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return emitParenthesizedType(node); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return emitExpressionWithTypeArguments(node); - case 173 /* ThisType */: + case 174 /* ThisType */: return emitThisType(); - case 174 /* TypeOperator */: + case 175 /* TypeOperator */: return emitTypeOperator(node); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return emitIndexedAccessType(node); - case 176 /* MappedType */: + case 177 /* MappedType */: return emitMappedType(node); - case 177 /* LiteralType */: + case 178 /* LiteralType */: return emitLiteralType(node); - case 178 /* ImportType */: + case 179 /* ImportType */: return emitImportTypeNode(node); - case 278 /* JSDocAllType */: + case 279 /* JSDocAllType */: write("*"); return; - case 279 /* JSDocUnknownType */: + case 280 /* JSDocUnknownType */: write("?"); return; - case 280 /* JSDocNullableType */: + case 281 /* JSDocNullableType */: return emitJSDocNullableType(node); - case 281 /* JSDocNonNullableType */: + case 282 /* JSDocNonNullableType */: return emitJSDocNonNullableType(node); - case 282 /* JSDocOptionalType */: + case 283 /* JSDocOptionalType */: return emitJSDocOptionalType(node); - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: return emitJSDocVariadicType(node); // Binding patterns - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: return emitObjectBindingPattern(node); - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: return emitArrayBindingPattern(node); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return emitBindingElement(node); // Misc - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return emitTemplateSpan(node); - case 211 /* SemicolonClassElement */: + case 212 /* SemicolonClassElement */: return emitSemicolonClassElement(); // Statements - case 212 /* Block */: + case 213 /* Block */: return emitBlock(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return emitVariableStatement(node); - case 214 /* EmptyStatement */: + case 215 /* EmptyStatement */: return emitEmptyStatement(); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return emitExpressionStatement(node); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return emitIfStatement(node); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return emitDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return emitWhileStatement(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return emitForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return emitForInStatement(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return emitForOfStatement(node); - case 222 /* ContinueStatement */: + case 223 /* ContinueStatement */: return emitContinueStatement(node); - case 223 /* BreakStatement */: + case 224 /* BreakStatement */: return emitBreakStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return emitReturnStatement(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return emitWithStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return emitSwitchStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return emitLabeledStatement(node); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return emitThrowStatement(node); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return emitTryStatement(node); - case 230 /* DebuggerStatement */: + case 231 /* DebuggerStatement */: return emitDebuggerStatement(node); // Declarations - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return emitVariableDeclaration(node); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return emitVariableDeclarationList(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return emitFunctionDeclaration(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return emitClassDeclaration(node); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return emitInterfaceDeclaration(node); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return emitTypeAliasDeclaration(node); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return emitEnumDeclaration(node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return emitModuleDeclaration(node); - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return emitModuleBlock(node); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return emitCaseBlock(node); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return emitNamespaceExportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return emitImportEqualsDeclaration(node); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return emitImportDeclaration(node); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return emitImportClause(node); - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return emitNamespaceImport(node); - case 246 /* NamedImports */: + case 247 /* NamedImports */: return emitNamedImports(node); - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: return emitImportSpecifier(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return emitExportAssignment(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return emitExportDeclaration(node); - case 250 /* NamedExports */: + case 251 /* NamedExports */: return emitNamedExports(node); - case 251 /* ExportSpecifier */: + case 252 /* ExportSpecifier */: return emitExportSpecifier(node); - case 252 /* MissingDeclaration */: + case 253 /* MissingDeclaration */: return; // Module references - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: return emitExternalModuleReference(node); // JSX (non-expression) case 10 /* JsxText */: return emitJsxText(node); - case 256 /* JsxOpeningElement */: - case 259 /* JsxOpeningFragment */: + case 257 /* JsxOpeningElement */: + case 260 /* JsxOpeningFragment */: return emitJsxOpeningElementOrFragment(node); - case 257 /* JsxClosingElement */: - case 260 /* JsxClosingFragment */: + case 258 /* JsxClosingElement */: + case 261 /* JsxClosingFragment */: return emitJsxClosingElementOrFragment(node); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return emitJsxAttribute(node); - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return emitJsxAttributes(node); - case 263 /* JsxSpreadAttribute */: + case 264 /* JsxSpreadAttribute */: return emitJsxSpreadAttribute(node); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return emitJsxExpression(node); // Clauses - case 265 /* CaseClause */: + case 266 /* CaseClause */: return emitCaseClause(node); - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: return emitDefaultClause(node); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: return emitHeritageClause(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return emitCatchClause(node); // Property assignments - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return emitPropertyAssignment(node); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return emitShorthandPropertyAssignment(node); - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: return emitSpreadAssignment(node); // Enum - case 272 /* EnumMember */: + case 273 /* EnumMember */: return emitEnumMember(node); // JSDoc nodes (ignored) // Transformation nodes (ignored) @@ -75016,71 +75337,71 @@ var ts; writeTokenNode(node, writeKeyword); return; // Expressions - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return emitArrayLiteralExpression(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return emitObjectLiteralExpression(node); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return emitPropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return emitElementAccessExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return emitCallExpression(node); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return emitNewExpression(node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return emitTaggedTemplateExpression(node); - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: return emitTypeAssertionExpression(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return emitParenthesizedExpression(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return emitFunctionExpression(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return emitArrowFunction(node); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return emitDeleteExpression(node); - case 194 /* TypeOfExpression */: + case 195 /* TypeOfExpression */: return emitTypeOfExpression(node); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return emitVoidExpression(node); - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return emitAwaitExpression(node); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return emitPrefixUnaryExpression(node); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return emitPostfixUnaryExpression(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return emitBinaryExpression(node); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return emitConditionalExpression(node); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return emitTemplateExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return emitYieldExpression(node); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return emitSpreadExpression(node); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return emitClassExpression(node); - case 205 /* OmittedExpression */: + case 206 /* OmittedExpression */: return; - case 207 /* AsExpression */: + case 208 /* AsExpression */: return emitAsExpression(node); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: return emitNonNullExpression(node); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return emitMetaProperty(node); // JSX - case 254 /* JsxElement */: + case 255 /* JsxElement */: return emitJsxElement(node); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return emitJsxSelfClosingElement(node); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return emitJsxFragment(node); // Transformation nodes - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: return emitPartiallyEmittedExpression(node); - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: return emitCommaList(node); } } @@ -75097,7 +75418,7 @@ var ts; } function emitHelpers(node) { var helpersEmitted = false; - var bundle = node.kind === 274 /* Bundle */ ? node : undefined; + var bundle = node.kind === 275 /* Bundle */ ? node : undefined; if (bundle && moduleKind === ts.ModuleKind.None) { return; } @@ -75223,7 +75544,7 @@ var ts; emit(node.dotDotDotToken); emitNodeWithWriter(node.name, writeParameter); emit(node.questionToken); - if (node.parent && node.parent.kind === 283 /* JSDocFunctionType */ && !node.name) { + if (node.parent && node.parent.kind === 284 /* JSDocFunctionType */ && !node.name) { emit(node.type); } else { @@ -75285,7 +75606,7 @@ var ts; function emitAccessorDeclaration(node) { emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); - writeKeyword(node.kind === 155 /* GetAccessor */ ? "get" : "set"); + writeKeyword(node.kind === 156 /* GetAccessor */ ? "get" : "set"); writeSpace(); emit(node.name); emitSignatureAndBody(node, emitSignatureHead); @@ -75542,7 +75863,7 @@ var ts; increaseIndent(); } var preferNewLine = node.multiLine ? 32768 /* PreferNewLine */ : 0 /* None */; - var allowTrailingComma = currentSourceFile.languageVersion >= 1 /* ES5 */ ? 32 /* AllowTrailingComma */ : 0 /* None */; + var allowTrailingComma = currentSourceFile.languageVersion >= 1 /* ES5 */ && !ts.isJsonSourceFile(currentSourceFile) ? 32 /* AllowTrailingComma */ : 0 /* None */; emitList(node, node.properties, 263122 /* ObjectLiteralExpressionProperties */ | allowTrailingComma | preferNewLine); if (indentedFlag) { decreaseIndent(); @@ -75682,7 +76003,7 @@ var ts; // expression a prefix increment whose operand is a plus expression - (++(+x)) // The same is true of minus of course. var operand = node.operand; - return operand.kind === 197 /* PrefixUnaryExpression */ + return operand.kind === 198 /* PrefixUnaryExpression */ && ((node.operator === 37 /* PlusToken */ && (operand.operator === 37 /* PlusToken */ || operand.operator === 43 /* PlusPlusToken */)) || (node.operator === 38 /* MinusToken */ && (operand.operator === 38 /* MinusToken */ || operand.operator === 44 /* MinusMinusToken */))); } @@ -75802,7 +76123,7 @@ var ts; if (node.elseStatement) { writeLineOrSpace(node); emitTokenWithComment(82 /* ElseKeyword */, node.thenStatement.end, writeKeyword, node); - if (node.elseStatement.kind === 216 /* IfStatement */) { + if (node.elseStatement.kind === 217 /* IfStatement */) { writeSpace(); emit(node.elseStatement); } @@ -75865,7 +76186,7 @@ var ts; emitTokenWithComment(19 /* OpenParenToken */, openParenPos, writePunctuation, node); emitForBinding(node.initializer); writeSpace(); - emitTokenWithComment(144 /* OfKeyword */, node.initializer.end, writeKeyword, node); + emitTokenWithComment(145 /* OfKeyword */, node.initializer.end, writeKeyword, node); writeSpace(); emitExpression(node.expression); emitTokenWithComment(20 /* CloseParenToken */, node.expression.end, writePunctuation, node); @@ -75873,7 +76194,7 @@ var ts; } function emitForBinding(node) { if (node !== undefined) { - if (node.kind === 232 /* VariableDeclarationList */) { + if (node.kind === 233 /* VariableDeclarationList */) { emit(node); } else { @@ -75988,7 +76309,7 @@ var ts; writeKeyword("function"); emit(node.asteriskToken); writeSpace(); - emitIdentifierName(node.name); + emitIdentifierName(node.name); // TODO: GH#18217 emitSignatureAndBody(node, emitSignatureHead); } function emitBlockCallback(_hint, body) { @@ -76168,7 +76489,7 @@ var ts; var body = node.body; if (!body) return writeSemicolon(); - while (body.kind === 238 /* ModuleDeclaration */) { + while (body.kind === 239 /* ModuleDeclaration */) { writePunctuation("."); emit(body.name); body = body.body; @@ -76213,7 +76534,7 @@ var ts; if (node.importClause) { emit(node.importClause); writeSpace(); - emitTokenWithComment(142 /* FromKeyword */, node.importClause.end, writeKeyword, node); + emitTokenWithComment(143 /* FromKeyword */, node.importClause.end, writeKeyword, node); writeSpace(); } emitExpression(node.moduleSpecifier); @@ -76265,7 +76586,7 @@ var ts; if (node.moduleSpecifier) { writeSpace(); var fromPos = node.exportClause ? node.exportClause.end : nextPos; - emitTokenWithComment(142 /* FromKeyword */, fromPos, writeKeyword, node); + emitTokenWithComment(143 /* FromKeyword */, fromPos, writeKeyword, node); writeSpace(); emitExpression(node.moduleSpecifier); } @@ -76357,7 +76678,7 @@ var ts; } function emitJsxAttribute(node) { emit(node.name); - emitNodeWithPrefix("=", writePunctuation, node.initializer, emit); + emitNodeWithPrefix("=", writePunctuation, node.initializer, emit); // TODO: GH#18217 } function emitJsxSpreadAttribute(node) { writePunctuation("{..."); @@ -76491,7 +76812,7 @@ var ts; emitSourceFileWorker(node); } function emitSyntheticTripleSlashReferencesIfNeeded(node) { - emitTripleSlashDirectives(node.hasNoDefaultLib, node.syntheticFileReferences || [], node.syntheticTypeReferences || []); + emitTripleSlashDirectives(!!node.hasNoDefaultLib, node.syntheticFileReferences || [], node.syntheticTypeReferences || []); } function emitTripleSlashDirectivesIfNeeded(node) { if (node.isDeclarationFile) @@ -76719,7 +77040,7 @@ var ts; emitNodeList(emit, parentNode, children, format, start, count); } function emitExpressionList(parentNode, children, format, start, count) { - emitNodeList(emitExpression, parentNode, children, format, start, count); + emitNodeList(emitExpression, parentNode, children, format, start, count); // TODO: GH#18217 } function writeDelimiter(format) { switch (format & 28 /* DelimitersMask */) { @@ -76745,7 +77066,7 @@ var ts; if (isUndefined && format & 8192 /* OptionalIfUndefined */) { return; } - var isEmpty = isUndefined || start >= children.length || count === 0; + var isEmpty = children === undefined || start >= children.length || count === 0; if (isEmpty && format & 16384 /* OptionalIfEmpty */) { if (onBeforeEmitNodeArray) { onBeforeEmitNodeArray(children); @@ -76758,6 +77079,7 @@ var ts; if (format & 7680 /* BracketsMask */) { writePunctuation(getOpeningBracket(format)); if (isEmpty && !isUndefined) { + // TODO: GH#18217 emitTrailingCommentsOfPosition(children.pos, /*prefixSpace*/ true); // Emit comments within empty bracketed lists } } @@ -76777,7 +77099,7 @@ var ts; // Write the opening line terminator or leading whitespace. var mayEmitInterveningComments = (format & 131072 /* NoInterveningComments */) === 0; var shouldEmitInterveningComments = mayEmitInterveningComments; - if (shouldWriteLeadingLineTerminator(parentNode, children, format)) { + if (shouldWriteLeadingLineTerminator(parentNode, children, format)) { // TODO: GH#18217 writeLine(); shouldEmitInterveningComments = false; } @@ -76790,7 +77112,7 @@ var ts; } // Emit each child. var previousSibling = void 0; - var shouldDecreaseIndentAfterEmit = void 0; + var shouldDecreaseIndentAfterEmit = false; for (var i = 0; i < count; i++) { var child = children[start + i]; // Write the delimiter if this is not the first node. @@ -76868,6 +77190,7 @@ var ts; } if (format & 7680 /* BracketsMask */) { if (isEmpty && !isUndefined) { + // TODO: GH#18217 emitLeadingCommentsOfPosition(children.end); // Emit leading comments within empty lists } writePunctuation(getClosingBracket(format)); @@ -77091,7 +77414,7 @@ var ts; && ts.rangeEndIsOnSameLineAsRangeStart(block, block, currentSourceFile); } function skipSynthesizedParentheses(node) { - while (node.kind === 190 /* ParenthesizedExpression */ && ts.nodeIsSynthesized(node)) { + while (node.kind === 191 /* ParenthesizedExpression */ && ts.nodeIsSynthesized(node)) { node = node.expression; } return node; @@ -77156,81 +77479,81 @@ var ts; if (!node) return; switch (node.kind) { - case 212 /* Block */: + case 213 /* Block */: ts.forEach(node.statements, generateNames); break; - case 227 /* LabeledStatement */: - case 225 /* WithStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 228 /* LabeledStatement */: + case 226 /* WithStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: generateNames(node.statement); break; - case 216 /* IfStatement */: + case 217 /* IfStatement */: generateNames(node.thenStatement); generateNames(node.elseStatement); break; - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: - case 220 /* ForInStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: + case 221 /* ForInStatement */: generateNames(node.initializer); generateNames(node.statement); break; - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: generateNames(node.caseBlock); break; - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: ts.forEach(node.clauses, generateNames); break; - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: ts.forEach(node.statements, generateNames); break; - case 229 /* TryStatement */: + case 230 /* TryStatement */: generateNames(node.tryBlock); generateNames(node.catchClause); generateNames(node.finallyBlock); break; - case 268 /* CatchClause */: + case 269 /* CatchClause */: generateNames(node.variableDeclaration); generateNames(node.block); break; - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: generateNames(node.declarationList); break; - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: ts.forEach(node.declarations, generateNames); break; - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: - case 181 /* BindingElement */: - case 234 /* ClassDeclaration */: + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: + case 182 /* BindingElement */: + case 235 /* ClassDeclaration */: generateNameIfNeeded(node.name); break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: generateNameIfNeeded(node.name); if (ts.getEmitFlags(node) & 524288 /* ReuseTempVariableScope */) { ts.forEach(node.parameters, generateNames); generateNames(node.body); } break; - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: ts.forEach(node.elements, generateNames); break; - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: generateNames(node.importClause); break; - case 244 /* ImportClause */: + case 245 /* ImportClause */: generateNameIfNeeded(node.name); generateNames(node.namedBindings); break; - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: generateNameIfNeeded(node.name); break; - case 246 /* NamedImports */: + case 247 /* NamedImports */: ts.forEach(node.elements, generateNames); break; - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: generateNameIfNeeded(node.propertyName || node.name); break; } @@ -77239,12 +77562,12 @@ var ts; if (!node) return; switch (node.kind) { - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: generateNameIfNeeded(node.name); break; } @@ -77396,7 +77719,7 @@ var ts; * Generates a unique name for an ImportDeclaration or ExportDeclaration. */ function generateNameForImportOrExportDeclaration(node) { - var expr = ts.getExternalModuleName(node); + var expr = ts.getExternalModuleName(node); // TODO: GH#18217 var baseName = ts.isStringLiteral(expr) ? ts.makeIdentifierFromModuleName(expr.text) : "module"; return makeUniqueName(baseName); @@ -77426,21 +77749,21 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return makeUniqueName(getTextOfNode(node), isUniqueName, !!(flags & 16 /* Optimistic */), !!(flags & 8 /* ReservedInNestedScopes */)); - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: return generateNameForModuleOrEnum(node); - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: return generateNameForImportOrExportDeclaration(node); - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - case 248 /* ExportAssignment */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 249 /* ExportAssignment */: return generateNameForExportDefault(); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return generateNameForClassExpression(); - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return generateNameForMethodOrAccessor(node); default: return makeTempVariableName(0 /* Auto */); @@ -77458,7 +77781,7 @@ var ts; case 3 /* Unique */: return makeUniqueName(ts.idText(name), (name.autoGenerateFlags & 32 /* FileLevel */) ? isFileLevelUniqueName : isUniqueName, !!(name.autoGenerateFlags & 16 /* Optimistic */), !!(name.autoGenerateFlags & 8 /* ReservedInNestedScopes */)); } - ts.Debug.fail("Unsupported GeneratedIdentifierKind."); + return ts.Debug.fail("Unsupported GeneratedIdentifierKind."); } /** * Gets the node from which a name should be generated. @@ -77921,8 +78244,8 @@ var ts; if (!outputFingerprints) { outputFingerprints = ts.createMap(); } - var hash = ts.sys.createHash(data); - var mtimeBefore = ts.sys.getModifiedTime(fileName); + var hash = ts.sys.createHash(data); // TODO: GH#18217 + var mtimeBefore = ts.sys.getModifiedTime(fileName); // TODO: GH#18217 if (mtimeBefore) { var fingerprint = outputFingerprints.get(fileName); // If output has not been changed, and the file has no external modification @@ -77934,7 +78257,7 @@ var ts; } } ts.sys.writeFile(fileName, data, writeByteOrderMark); - var mtimeAfter = ts.sys.getModifiedTime(fileName); + var mtimeAfter = ts.sys.getModifiedTime(fileName); // TODO: GH#18217 outputFingerprints.set(fileName, { hash: hash, byteOrderMark: writeByteOrderMark, @@ -78005,7 +78328,7 @@ var ts; function formatDiagnostic(diagnostic, host) { var errorMessage = ts.diagnosticCategoryName(diagnostic) + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine(); if (diagnostic.file) { - var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; + var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; // TODO: GH#18217 var fileName = diagnostic.file.fileName; var relativeFileName = ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }); return relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): " + errorMessage; @@ -78052,7 +78375,7 @@ var ts; var context_2 = ""; if (diagnostic.file) { var start = diagnostic.start, length_4 = diagnostic.length, file_9 = diagnostic.file; - var _a = ts.getLineAndCharacterOfPosition(file_9, start), firstLine = _a.line, firstLineChar = _a.character; + var _a = ts.getLineAndCharacterOfPosition(file_9, start), firstLine = _a.line, firstLineChar = _a.character; // TODO: GH#18217 var _b = ts.getLineAndCharacterOfPosition(file_9, start + length_4), lastLine = _b.line, lastLineChar = _b.character; var lastLineInFile = ts.getLineAndCharacterOfPosition(file_9, file_9.text.length).line; var relativeFileName = host ? ts.convertToRelativePath(file_9.fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }) : file_9.fileName; @@ -78196,8 +78519,7 @@ var ts; } ts.isProgramUptoDate = isProgramUptoDate; function getConfigFileParsingDiagnostics(configFileParseResult) { - return configFileParseResult.options.configFile ? - configFileParseResult.options.configFile.parseDiagnostics.concat(configFileParseResult.errors) : + return configFileParseResult.options.configFile ? configFileParseResult.options.configFile.parseDiagnostics.concat(configFileParseResult.errors) : configFileParseResult.errors; } ts.getConfigFileParsingDiagnostics = getConfigFileParsingDiagnostics; @@ -78228,9 +78550,9 @@ var ts; }; } function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) { - var createProgramOptions = ts.isArray(rootNamesOrOptions) ? createCreateProgramOptions(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) : rootNamesOrOptions; + var createProgramOptions = ts.isArray(rootNamesOrOptions) ? createCreateProgramOptions(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) : rootNamesOrOptions; // TODO: GH#18217 var rootNames = createProgramOptions.rootNames, options = createProgramOptions.options, configFileParsingDiagnostics = createProgramOptions.configFileParsingDiagnostics, projectReferences = createProgramOptions.projectReferences; - var host = createProgramOptions.host, oldProgram = createProgramOptions.oldProgram; + var oldProgram = createProgramOptions.oldProgram; var program; var files = []; var commonSourceDirectory; @@ -78257,7 +78579,7 @@ var ts; // Track source files that are source files found by searching under node_modules, as these shouldn't be compiled. var sourceFilesFoundSearchingNodeModules = ts.createMap(); ts.performance.mark("beforeProgram"); - host = host || createCompilerHost(options); + var host = createProgramOptions.host || createCompilerHost(options); var configParsingHost = parseConfigHostFromCompilerHost(host); var skipDefaultLib = options.noLib; var getDefaultLibraryFileName = ts.memoize(function () { return host.getDefaultLibFileName(options); }); @@ -78285,7 +78607,7 @@ var ts; } else { moduleResolutionCache = ts.createModuleResolutionCache(currentDirectory, function (x) { return host.getCanonicalFileName(x); }); - var loader_1 = function (moduleName, containingFile) { return ts.resolveModuleName(moduleName, containingFile, options, host, moduleResolutionCache).resolvedModule; }; + var loader_1 = function (moduleName, containingFile) { return ts.resolveModuleName(moduleName, containingFile, options, host, moduleResolutionCache).resolvedModule; }; // TODO: GH#18217 resolveModuleNamesWorker = function (moduleNames, containingFile) { return loadWithLocalCache(ts.Debug.assertEachDefined(moduleNames), containingFile, loader_1); }; } var resolveTypeReferenceDirectiveNamesWorker; @@ -78293,7 +78615,7 @@ var ts; resolveTypeReferenceDirectiveNamesWorker = function (typeDirectiveNames, containingFile) { return host.resolveTypeReferenceDirectives(ts.Debug.assertEachDefined(typeDirectiveNames), containingFile); }; } else { - var loader_2 = function (typesRef, containingFile) { return ts.resolveTypeReferenceDirective(typesRef, containingFile, options, host).resolvedTypeReferenceDirective; }; + var loader_2 = function (typesRef, containingFile) { return ts.resolveTypeReferenceDirective(typesRef, containingFile, options, host).resolvedTypeReferenceDirective; }; // TODO: GH#18217 resolveTypeReferenceDirectiveNamesWorker = function (typeReferenceDirectiveNames, containingFile) { return loadWithLocalCache(ts.Debug.assertEachDefined(typeReferenceDirectiveNames), containingFile, loader_2); }; } // Map from a stringified PackageId to the source file with that id. @@ -78384,6 +78706,7 @@ var ts; getOptionsDiagnostics: getOptionsDiagnostics, getGlobalDiagnostics: getGlobalDiagnostics, getSemanticDiagnostics: getSemanticDiagnostics, + getSuggestionDiagnostics: getSuggestionDiagnostics, getDeclarationDiagnostics: getDeclarationDiagnostics, getTypeChecker: getTypeChecker, getClassifiableNames: getClassifiableNames, @@ -78427,7 +78750,7 @@ var ts; } else if (options.composite) { // Project compilations never infer their root from the input source paths - commonSourceDirectory = ts.getDirectoryPath(ts.normalizeSlashes(options.configFilePath)); + commonSourceDirectory = ts.getDirectoryPath(ts.normalizeSlashes(options.configFilePath)); // TODO: GH#18217 checkSourceFilesBelongToPath(emittedFiles, commonSourceDirectory); } else { @@ -78548,7 +78871,7 @@ var ts; // `result[i]` is either a `ResolvedModuleFull` or a marker. // If it is the former, we can leave it as is. if (result[i] === predictedToResolveToAmbientModuleMarker) { - result[i] = undefined; + result[i] = undefined; // TODO: GH#18217 } } else { @@ -78561,7 +78884,7 @@ var ts; // If we change our policy of rechecking failed lookups on each program create, // we should adjust the value returned here. function moduleNameResolvesToAmbientModuleInNonModifiedFile(moduleName, oldProgramState) { - var resolutionToFile = ts.getResolvedModule(oldProgramState.oldSourceFile, moduleName); + var resolutionToFile = ts.getResolvedModule(oldProgramState.oldSourceFile, moduleName); // TODO: GH#18217 var resolvedFile = resolutionToFile && oldProgramState.program && oldProgramState.program.getSourceFile(resolutionToFile.resolvedFileName); if (resolutionToFile && resolvedFile && !resolvedFile.externalModuleIndicator) { // In the old program, we resolved to an ambient module that was in the same @@ -78657,7 +78980,7 @@ var ts; var oldSourceFile = oldSourceFiles_2[_i]; var newSourceFile = host.getSourceFileByPath ? host.getSourceFileByPath(oldSourceFile.fileName, oldSourceFile.path, options.target, /*onError*/ undefined, shouldCreateNewSourceFile) - : host.getSourceFile(oldSourceFile.fileName, options.target, /*onError*/ undefined, shouldCreateNewSourceFile); + : host.getSourceFile(oldSourceFile.fileName, options.target, /*onError*/ undefined, shouldCreateNewSourceFile); // TODO: GH#18217 if (!newSourceFile) { return oldProgram.structureIsReused = 0 /* Not */; } @@ -78843,7 +79166,7 @@ var ts; return nodes; } function isSourceFileFromExternalLibrary(file) { - return sourceFilesFoundSearchingNodeModules.get(file.path); + return !!sourceFilesFoundSearchingNodeModules.get(file.path); } function isSourceFileDefaultLibrary(file) { if (file.hasNoDefaultLib) { @@ -78859,7 +79182,7 @@ var ts; return equalityComparer(file.fileName, getDefaultLibraryFileName()); } else { - return ts.forEach(options.lib, function (libFileName) { return equalityComparer(file.fileName, ts.combinePaths(defaultLibraryPath, libFileName)); }); + return ts.some(options.lib, function (libFileName) { return equalityComparer(file.fileName, ts.combinePaths(defaultLibraryPath, libFileName)); }); } } function getDiagnosticsProducingTypeChecker() { @@ -78912,7 +79235,8 @@ var ts; var emitResolver = getDiagnosticsProducingTypeChecker().getEmitResolver((options.outFile || options.out) ? undefined : sourceFile, cancellationToken); ts.performance.mark("beforeEmit"); var transformers = emitOnlyDtsFiles ? [] : ts.getTransformers(options, customTransformers); - var emitResult = ts.emitFiles(emitResolver, getEmitHost(writeFileCallback), sourceFile, emitOnlyDtsFiles, transformers, customTransformers && customTransformers.afterDeclarations); + var emitResult = ts.emitFiles(emitResolver, getEmitHost(writeFileCallback), sourceFile, // TODO: GH#18217 + emitOnlyDtsFiles, transformers, customTransformers && customTransformers.afterDeclarations); ts.performance.mark("afterEmit"); ts.performance.measure("Emit", "beforeEmit", "afterEmit"); return emitResult; @@ -79003,11 +79327,24 @@ var ts; var checkDiagnostics = includeBindAndCheckDiagnostics ? typeChecker.getDiagnostics(sourceFile, cancellationToken) : ts.emptyArray; var fileProcessingDiagnosticsInFile = fileProcessingDiagnostics.getDiagnostics(sourceFile.fileName); var programDiagnosticsInFile = programDiagnostics.getDiagnostics(sourceFile.fileName); - var diagnostics = bindDiagnostics.concat(checkDiagnostics, fileProcessingDiagnosticsInFile, programDiagnosticsInFile); - if (isCheckJs) { - diagnostics = ts.concatenate(diagnostics, sourceFile.jsDocDiagnostics); + var diagnostics; + for (var _i = 0, _a = [bindDiagnostics, checkDiagnostics, fileProcessingDiagnosticsInFile, programDiagnosticsInFile, isCheckJs ? sourceFile.jsDocDiagnostics : undefined]; _i < _a.length; _i++) { + var diags = _a[_i]; + if (diags) { + for (var _b = 0, diags_1 = diags; _b < diags_1.length; _b++) { + var diag = diags_1[_b]; + if (shouldReportDiagnostic(diag)) { + diagnostics = ts.append(diagnostics, diag); + } + } + } } - return ts.filter(diagnostics, shouldReportDiagnostic); + return diagnostics; + }); + } + function getSuggestionDiagnostics(sourceFile, cancellationToken) { + return runWithCancellationToken(function () { + return getDiagnosticsProducingTypeChecker().getSuggestionDiagnostics(sourceFile, cancellationToken); }); } /** @@ -79017,7 +79354,7 @@ var ts; var file = diagnostic.file, start = diagnostic.start; if (file) { var lineStarts = ts.getLineStarts(file); - var line = ts.computeLineAndCharacterOfPosition(lineStarts, start).line; + var line = ts.computeLineAndCharacterOfPosition(lineStarts, start).line; // TODO: GH#18217 while (line > 0) { var previousLineText = file.text.slice(lineStarts[line - 1], lineStarts[line]); var result = ignoreDiagnosticCommentRegEx.exec(previousLineText); @@ -79044,22 +79381,22 @@ var ts; // Return directly from the case if the given node doesnt want to visit each child // Otherwise break to visit each child switch (parent.kind) { - case 148 /* Parameter */: - case 151 /* PropertyDeclaration */: + case 149 /* Parameter */: + case 152 /* PropertyDeclaration */: if (parent.questionToken === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_can_only_be_used_in_a_ts_file, "?")); return; } // falls through - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: - case 231 /* VariableDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: + case 232 /* VariableDeclaration */: // type annotation if (parent.type === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.types_can_only_be_used_in_a_ts_file)); @@ -79067,41 +79404,41 @@ var ts; } } switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.import_can_only_be_used_in_a_ts_file)); return; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: if (node.isExportEquals) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.export_can_only_be_used_in_a_ts_file)); return; } break; - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: var heritageClause = node; if (heritageClause.token === 108 /* ImplementsKeyword */) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.implements_clauses_can_only_be_used_in_a_ts_file)); return; } break; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.interface_declarations_can_only_be_used_in_a_ts_file)); return; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.module_declarations_can_only_be_used_in_a_ts_file)); return; - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.type_aliases_can_only_be_used_in_a_ts_file)); return; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.enum_declarations_can_only_be_used_in_a_ts_file)); return; - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.non_null_assertions_can_only_be_used_in_a_ts_file)); return; - case 207 /* AsExpression */: + case 208 /* AsExpression */: diagnostics.push(createDiagnosticForNode(node.type, ts.Diagnostics.type_assertion_expressions_can_only_be_used_in_a_ts_file)); return; - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: ts.Debug.fail(); // Won't parse these in a JS file anyway, as they are interpreted as JSX. } var prevParent = parent; @@ -79114,28 +79451,28 @@ var ts; diagnostics.push(createDiagnosticForNode(parent, ts.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning)); } switch (parent.kind) { - case 234 /* ClassDeclaration */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: + case 235 /* ClassDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: // Check type parameters if (nodes === parent.typeParameters) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.type_parameter_declarations_can_only_be_used_in_a_ts_file)); return; } // falls through - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: // Check modifiers if (nodes === parent.modifiers) { - return checkModifiers(nodes, parent.kind === 213 /* VariableStatement */); + return checkModifiers(nodes, parent.kind === 214 /* VariableStatement */); } break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: // Check modifiers of property declaration if (nodes === parent.modifiers) { for (var _i = 0, _a = nodes; _i < _a.length; _i++) { @@ -79147,18 +79484,18 @@ var ts; return; } break; - case 148 /* Parameter */: + case 149 /* Parameter */: // Check modifiers of parameter declaration if (nodes === parent.modifiers) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.parameter_modifiers_can_only_be_used_in_a_ts_file)); return; } break; - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 206 /* ExpressionWithTypeArguments */: - case 255 /* JsxSelfClosingElement */: - case 256 /* JsxOpeningElement */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 207 /* ExpressionWithTypeArguments */: + case 256 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: // Check type arguments if (nodes === parent.typeArguments) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.type_arguments_can_only_be_used_in_a_ts_file)); @@ -79224,7 +79561,7 @@ var ts; if (cachedResult) { return cachedResult; } - var result = getDiagnostics(sourceFile, cancellationToken) || ts.emptyArray; + var result = getDiagnostics(sourceFile, cancellationToken) || ts.emptyArray; // TODO: GH#18217 if (sourceFile) { if (!cache.perFile) { cache.perFile = ts.createMap(); @@ -79404,7 +79741,8 @@ var ts; } /** This has side effects through `findSourceFile`. */ function processSourceFile(fileName, isDefaultLib, packageId, refFile, refPos, refEnd) { - getSourceFileFromReferenceWorker(fileName, function (fileName) { return findSourceFile(fileName, toPath(fileName), isDefaultLib, refFile, refPos, refEnd, packageId); }, function (diagnostic) { + getSourceFileFromReferenceWorker(fileName, function (fileName) { return findSourceFile(fileName, toPath(fileName), isDefaultLib, refFile, refPos, refEnd, packageId); }, // TODO: GH#18217 + function (diagnostic) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; @@ -79496,7 +79834,7 @@ var ts; if (fileFromPackageId) { // Some other SourceFile already exists with this package name and version. // Instead of creating a duplicate, just redirect to the existing one. - var dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path); + var dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path); // TODO: GH#18217 redirectTargetsSet.set(fileFromPackageId.path, true); filesByName.set(path, dupFile); sourceFileToPackageName.set(path, packageId.name); @@ -79591,7 +79929,7 @@ var ts; if (resolvedTypeReferenceDirective) { if (resolvedTypeReferenceDirective.primary) { // resolved from the primary path - processSourceFile(resolvedTypeReferenceDirective.resolvedFileName, /*isDefaultLib*/ false, resolvedTypeReferenceDirective.packageId, refFile, refPos, refEnd); + processSourceFile(resolvedTypeReferenceDirective.resolvedFileName, /*isDefaultLib*/ false, resolvedTypeReferenceDirective.packageId, refFile, refPos, refEnd); // TODO: GH#18217 } else { // If we already resolved to this file, it must have been a secondary reference. Check file contents @@ -79601,7 +79939,8 @@ var ts; if (resolvedTypeReferenceDirective.resolvedFileName !== previousResolution.resolvedFileName) { var otherFileText = host.readFile(resolvedTypeReferenceDirective.resolvedFileName); if (otherFileText !== getSourceFile(previousResolution.resolvedFileName).text) { - fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, ts.Diagnostics.Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict, typeReferenceDirective, resolvedTypeReferenceDirective.resolvedFileName, previousResolution.resolvedFileName)); + fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, // TODO: GH#18217 + ts.Diagnostics.Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict, typeReferenceDirective, resolvedTypeReferenceDirective.resolvedFileName, previousResolution.resolvedFileName)); } } // don't overwrite previous resolution result @@ -79614,7 +79953,7 @@ var ts; } } else { - fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, ts.Diagnostics.Cannot_find_type_definition_file_for_0, typeReferenceDirective)); + fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, ts.Diagnostics.Cannot_find_type_definition_file_for_0, typeReferenceDirective)); // TODO: GH#18217 } if (saveResolution) { resolvedTypeReferenceDirectives.set(typeReferenceDirective, resolvedTypeReferenceDirective); @@ -79718,7 +80057,7 @@ var ts; } function parseProjectReferenceConfigFile(ref) { // The actual filename (i.e. add "/tsconfig.json" if necessary) - var refPath = resolveProjectReferencePath(host, ref); + var refPath = resolveProjectReferencePath(host, ref); // TODO: GH#18217 // An absolute path pointing to the containing directory of the config file var basePath = ts.getNormalizedAbsolutePath(ts.getDirectoryPath(refPath), host.getCurrentDirectory()); var sourceFile = host.getSourceFile(refPath, 100 /* JSON */); @@ -79729,13 +80068,13 @@ var ts; return { commandLine: commandLine, sourceFile: sourceFile }; } function addProjectReferenceRedirects(referencedProject, target) { - var rootDir = ts.normalizePath(referencedProject.options.rootDir || ts.getDirectoryPath(referencedProject.options.configFilePath)); + var rootDir = ts.normalizePath(referencedProject.options.rootDir || ts.getDirectoryPath(referencedProject.options.configFilePath)); // TODO: GH#18217 target.set(rootDir, getDeclarationOutputDirectory(referencedProject)); } function getDeclarationOutputDirectory(proj) { return proj.options.declarationDir || proj.options.outDir || - ts.getDirectoryPath(proj.options.configFilePath); + ts.getDirectoryPath(proj.options.configFilePath); // TODO: GH#18217 } function verifyCompilerOptions() { if (options.strictPropertyInitialization && !options.strictNullChecks) { @@ -79990,9 +80329,9 @@ var ts; if (ts.isObjectLiteralExpression(pathProp.initializer)) { for (var _a = 0, _b = ts.getPropertyAssignment(pathProp.initializer, key); _a < _b.length; _a++) { var keyProps = _b[_a]; - if (ts.isArrayLiteralExpression(keyProps.initializer) && - keyProps.initializer.elements.length > valueIndex) { - programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, keyProps.initializer.elements[valueIndex], message, arg0, arg1, arg2)); + var initializer = keyProps.initializer; + if (ts.isArrayLiteralExpression(initializer) && initializer.elements.length > valueIndex) { + programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, initializer.elements[valueIndex], message, arg0, arg1, arg2)); needCompilerDiagnostic = false; } } @@ -80053,7 +80392,7 @@ var ts; if (_referencesArrayLiteralSyntax === undefined) { _referencesArrayLiteralSyntax = null; // tslint:disable-line:no-null-keyword if (options.configFile) { - var jsonObjectLiteral = ts.getTsConfigObjectLiteralExpression(options.configFile); + var jsonObjectLiteral = ts.getTsConfigObjectLiteralExpression(options.configFile); // TODO: GH#18217 for (var _i = 0, _a = ts.getPropertyAssignment(jsonObjectLiteral, "references"); _i < _a.length; _i++) { var prop = _a[_i]; if (ts.isArrayLiteralExpression(prop.initializer)) { @@ -80095,6 +80434,7 @@ var ts; return false; } programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, arrayLiteral.elements[index], message, arg0, arg1, arg2)); + return false; // TODO: GH#18217 This function always returns `false`!` } function blockEmittingOfFile(emitFileName, diag) { hasEmitBlockingDiagnostics.set(toPath(emitFileName), true); @@ -80114,6 +80454,10 @@ var ts; if (out) { return isSameFile(filePath, out) || isSameFile(filePath, ts.removeFileExtension(out) + ".d.ts" /* Dts */); } + // If declarationDir is specified, return if its a file in that directory + if (options.declarationDir && ts.containsPath(options.declarationDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames())) { + return true; + } // If --outDir, check if file is in that directory if (options.outDir) { return ts.containsPath(options.outDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames()); @@ -80121,8 +80465,8 @@ var ts; if (ts.fileExtensionIsOneOf(filePath, ts.supportedJavascriptExtensions) || ts.fileExtensionIs(filePath, ".d.ts" /* Dts */)) { // Otherwise just check if sourceFile with the name exists var filePathWithoutExtension = ts.removeFileExtension(filePath); - return !!getSourceFileByPath(ts.combinePaths(filePathWithoutExtension, ".ts" /* Ts */)) || - !!getSourceFileByPath(ts.combinePaths(filePathWithoutExtension, ".tsx" /* Tsx */)); + return !!getSourceFileByPath((filePathWithoutExtension + ".ts" /* Ts */)) || + !!getSourceFileByPath((filePathWithoutExtension + ".tsx" /* Tsx */)); } return false; } @@ -80247,7 +80591,7 @@ var ts; if (!resolvedTypeReferenceDirective) { return; } - var fileName = resolvedTypeReferenceDirective.resolvedFileName; + var fileName = resolvedTypeReferenceDirective.resolvedFileName; // TODO: GH#18217 var typeFilePath = ts.toPath(fileName, sourceFileDirectory, getCanonicalFileName); addReferencedFile(typeFilePath); }); @@ -80279,7 +80623,7 @@ var ts; for (var _i = 0, _a = newProgram.getSourceFiles(); _i < _a.length; _i++) { var sourceFile = _a[_i]; var version_1 = sourceFile.version; - var oldInfo = useOldState && oldState.fileInfos.get(sourceFile.path); + var oldInfo = useOldState ? oldState.fileInfos.get(sourceFile.path) : undefined; if (referencedMap) { var newReferences = getReferencedFiles(newProgram, sourceFile, getCanonicalFileName); if (newReferences) { @@ -80342,7 +80686,8 @@ var ts; return false; } var info = state.fileInfos.get(sourceFile.path); - ts.Debug.assert(!!info); + if (!info) + return ts.Debug.fail(); var prevSignature = info.signature; var latestSignature; if (sourceFile.isDeclarationFile) { @@ -80354,7 +80699,7 @@ var ts; latestSignature = computeHash(emitOutput.outputFiles[0].text); } else { - latestSignature = prevSignature; + latestSignature = prevSignature; // TODO: GH#18217 } } cacheToUpdateSignature.set(sourceFile.path, latestSignature); @@ -80489,8 +80834,9 @@ var ts; if (!seenFileNamesMap.has(currentPath)) { var currentSourceFile = programOfThisState.getSourceFileByPath(currentPath); seenFileNamesMap.set(currentPath, currentSourceFile); - if (currentSourceFile && updateShapeSignature(state, programOfThisState, currentSourceFile, cacheToUpdateSignature, cancellationToken, computeHash)) { - queue.push.apply(queue, getReferencedByPaths(state, currentPath)); + if (currentSourceFile && updateShapeSignature(state, programOfThisState, currentSourceFile, cacheToUpdateSignature, cancellationToken, computeHash)) { // TODO: GH#18217 + queue.push.apply(// TODO: GH#18217 + queue, getReferencedByPaths(state, currentPath)); } } } @@ -80505,7 +80851,7 @@ var ts; (function (ts) { function hasSameKeys(map1, map2) { // Has same size and every key is present in both maps - return map1 === map2 || map1 && map2 && map1.size === map2.size && !ts.forEachKey(map1, function (key) { return !map2.has(key); }); + return map1 === map2 || map1 !== undefined && map2 !== undefined && map1.size === map2.size && !ts.forEachKey(map1, function (key) { return !map2.has(key); }); } /** * Create the state so that we can iterate on changedFiles/affected files @@ -80533,7 +80879,7 @@ var ts; } // Update changed files and copy semantic diagnostics if we can var referencedMap = state.referencedMap; - var oldReferencedMap = useOldState && oldState.referencedMap; + var oldReferencedMap = useOldState ? oldState.referencedMap : undefined; state.fileInfos.forEach(function (info, sourceFilePath) { var oldInfo; var newReferences; @@ -80577,7 +80923,7 @@ var ts; var affectedFiles = state.affectedFiles; if (affectedFiles) { var seenAffectedFiles = state.seenAffectedFiles, semanticDiagnosticsPerFile = state.semanticDiagnosticsPerFile; - var affectedFilesIndex = state.affectedFilesIndex; + var affectedFilesIndex = state.affectedFilesIndex; // TODO: GH#18217 while (affectedFilesIndex < affectedFiles.length) { var affectedFile = affectedFiles[affectedFilesIndex]; if (!seenAffectedFiles.has(affectedFile.path)) { @@ -80690,7 +81036,7 @@ var ts; // Return same program if underlying program doesnt change var oldState = oldProgram && oldProgram.getState(); if (oldState && newProgram === oldState.program && configFileParsingDiagnostics === newProgram.getConfigFileParsingDiagnostics()) { - newProgram = undefined; + newProgram = undefined; // TODO: GH#18217 oldState = undefined; return oldProgram; } @@ -80704,7 +81050,7 @@ var ts; var computeHash = host.createHash || ts.identity; var state = createBuilderProgramState(newProgram, getCanonicalFileName, oldState); // To ensure that we arent storing any references to old program or new program without state - newProgram = undefined; + newProgram = undefined; // TODO: GH#18217 oldProgram = undefined; oldState = undefined; var result = { @@ -80765,7 +81111,7 @@ var ts; if (!targetSourceFile) { // Emit and report any errors we ran into. var sourceMaps = []; - var emitSkipped = void 0; + var emitSkipped = false; var diagnostics = void 0; var emittedFiles = []; var affectedEmitResult = void 0; @@ -80885,7 +81231,7 @@ var ts; var filesWithInvalidatedResolutions; var filesWithInvalidatedNonRelativeUnresolvedImports; var allFilesHaveInvalidatedResolution = false; - var getCurrentDirectory = ts.memoize(function () { return resolutionHost.getCurrentDirectory(); }); + var getCurrentDirectory = ts.memoize(function () { return resolutionHost.getCurrentDirectory(); }); // TODO: GH#18217 var cachedDirectoryStructureHost = resolutionHost.getCachedDirectoryStructureHost(); // The resolvedModuleNames and resolvedTypeReferenceDirectives are the cache of resolutions per file. // The key in the map is source file's path. @@ -80906,7 +81252,7 @@ var ts; var customFailedLookupPaths = ts.createMap(); var directoryWatchesOfFailedLookups = ts.createMap(); var rootDir = rootDirForResolution && ts.removeTrailingDirectorySeparator(ts.getNormalizedAbsolutePath(rootDirForResolution, getCurrentDirectory())); - var rootPath = rootDir && resolutionHost.toPath(rootDir); + var rootPath = (rootDir && resolutionHost.toPath(rootDir)); // TODO: GH#18217 // TypeRoot watches for the types that get added as part of getAutomaticTypeDirectiveNames var typeRootsWatches = ts.createMap(); return { @@ -80964,7 +81310,7 @@ var ts; } // Invalidated if file has unresolved imports var value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path); - return value && !!value.length; + return !!value && !!value.length; } function createHasInvalidatedResolution(forceAllFilesAsInvalidated) { if (allFilesHaveInvalidatedResolution || forceAllFilesAsInvalidated) { @@ -80974,7 +81320,7 @@ var ts; } var collected = filesWithInvalidatedResolutions; filesWithInvalidatedResolutions = undefined; - return function (path) { return (collected && collected.has(path)) || + return function (path) { return (!!collected && collected.has(path)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path); }; } function clearPerDirectoryResolutions() { @@ -81055,7 +81401,7 @@ var ts; } ts.Debug.assert(resolution !== undefined && !resolution.isInvalidated); seenNamesInFile.set(name, true); - resolvedModules.push(getResolutionWithResolvedFileName(resolution)); + resolvedModules.push(getResolutionWithResolvedFileName(resolution)); // TODO: GH#18217 } // Stop watching and remove the unused name resolutionsInFile.forEach(function (resolution, name) { @@ -81126,7 +81472,7 @@ var ts; } function getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath) { if (isInDirectoryPath(rootPath, failedLookupLocationPath)) { - return { dir: rootDir, dirPath: rootPath }; + return { dir: rootDir, dirPath: rootPath }; // TODO: GH#18217 } return getDirectoryToWatchFromFailedLookupLocationDirectory(ts.getDirectoryPath(ts.getNormalizedAbsolutePath(failedLookupLocation, getCurrentDirectory())), ts.getDirectoryPath(failedLookupLocationPath)); } @@ -81141,19 +81487,20 @@ var ts; return filterFSRootDirectoriesToWatch({ dir: dir, dirPath: dirPath }, ts.getDirectoryPath(dirPath)); } // Use some ancestor of the root directory - var subDirectory; + var subDirectoryPath, subDirectory; if (rootPath !== undefined) { while (!isInDirectoryPath(dirPath, rootPath)) { var parentPath = ts.getDirectoryPath(dirPath); if (parentPath === dirPath) { break; } - subDirectory = dirPath.slice(parentPath.length + ts.directorySeparator.length); + subDirectoryPath = dirPath; + subDirectory = dir; dirPath = parentPath; dir = ts.getDirectoryPath(dir); } } - return filterFSRootDirectoriesToWatch({ dir: dir, dirPath: dirPath, subDirectory: subDirectory }, dirPath); + return filterFSRootDirectoriesToWatch({ dir: subDirectory || dir, dirPath: subDirectoryPath || dirPath }, dirPath); } function isPathWithDefaultFailedLookupExtension(path) { return ts.fileExtensionIsOneOf(path, failedLookupDefaultExtensions); @@ -81173,7 +81520,7 @@ var ts; for (var _i = 0, failedLookupLocations_1 = failedLookupLocations; _i < failedLookupLocations_1.length; _i++) { var failedLookupLocation = failedLookupLocations_1[_i]; var failedLookupLocationPath = resolutionHost.toPath(failedLookupLocation); - var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dir = _a.dir, dirPath = _a.dirPath, ignore = _a.ignore, subDirectory = _a.subDirectory; + var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dir = _a.dir, dirPath = _a.dirPath, ignore = _a.ignore; if (!ignore) { // If the failed lookup location path is not one of the supported extensions, // store it in the custom path @@ -81185,27 +81532,21 @@ var ts; setAtRoot = true; } else { - setDirectoryWatcher(dir, dirPath, subDirectory); + setDirectoryWatcher(dir, dirPath); } } } if (setAtRoot) { - setDirectoryWatcher(rootDir, rootPath); + setDirectoryWatcher(rootDir, rootPath); // TODO: GH#18217 } } - function setDirectoryWatcher(dir, dirPath, subDirectory) { + function setDirectoryWatcher(dir, dirPath) { var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); if (dirWatcher) { dirWatcher.refCount++; } else { - dirWatcher = { watcher: createDirectoryWatcher(dir, dirPath), refCount: 1 }; - directoryWatchesOfFailedLookups.set(dirPath, dirWatcher); - } - if (subDirectory) { - var subDirectoryMap = dirWatcher.subDirectoryMap || (dirWatcher.subDirectoryMap = ts.createMap()); - var existing = subDirectoryMap.get(subDirectory) || 0; - subDirectoryMap.set(subDirectory, existing + 1); + directoryWatchesOfFailedLookups.set(dirPath, { watcher: createDirectoryWatcher(dir, dirPath), refCount: 1 }); } } function stopWatchFailedLookupLocationOfResolution(resolution) { @@ -81221,7 +81562,7 @@ var ts; for (var _i = 0, failedLookupLocations_2 = failedLookupLocations; _i < failedLookupLocations_2.length; _i++) { var failedLookupLocation = failedLookupLocations_2[_i]; var failedLookupLocationPath = resolutionHost.toPath(failedLookupLocation); - var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dirPath = _a.dirPath, ignore = _a.ignore, subDirectory = _a.subDirectory; + var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dirPath = _a.dirPath, ignore = _a.ignore; if (!ignore) { var refCount = customFailedLookupPaths.get(failedLookupLocationPath); if (refCount) { @@ -81237,7 +81578,7 @@ var ts; removeAtRoot = true; } else { - removeDirectoryWatcher(dirPath, subDirectory); + removeDirectoryWatcher(dirPath); } } } @@ -81245,29 +81586,11 @@ var ts; removeDirectoryWatcher(rootPath); } } - function removeDirectoryWatcher(dirPath, subDirectory) { + function removeDirectoryWatcher(dirPath) { var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); - if (subDirectory) { - var existing = dirWatcher.subDirectoryMap.get(subDirectory); - if (existing === 1) { - dirWatcher.subDirectoryMap.delete(subDirectory); - } - else { - dirWatcher.subDirectoryMap.set(subDirectory, existing - 1); - } - } // Do not close the watcher yet since it might be needed by other failed lookup locations. dirWatcher.refCount--; } - function inWatchedSubdirectory(dirPath, fileOrDirectoryPath) { - var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); - if (!dirWatcher || !dirWatcher.subDirectoryMap) - return false; - return ts.forEachKey(dirWatcher.subDirectoryMap, function (subDirectory) { - var fullSubDirectory = dirPath + "/" + subDirectory; - return fullSubDirectory === fileOrDirectoryPath || isInDirectoryPath(fullSubDirectory, fileOrDirectoryPath); - }); - } function createDirectoryWatcher(directory, dirPath) { return resolutionHost.watchDirectoryOfFailedLookupLocation(directory, function (fileOrDirectory) { var fileOrDirectoryPath = resolutionHost.toPath(fileOrDirectory); @@ -81275,13 +81598,8 @@ var ts; // Since the file existence changed, update the sourceFiles cache cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(fileOrDirectory, fileOrDirectoryPath); } - // If the files are added to project root or node_modules directory, always run through the invalidation process - // Otherwise run through invalidation only if adding to the immediate directory - if (!allFilesHaveInvalidatedResolution && - (dirPath === rootPath || isNodeModulesDirectory(dirPath) || ts.getDirectoryPath(fileOrDirectoryPath) === dirPath || inWatchedSubdirectory(dirPath, fileOrDirectoryPath))) { - if (invalidateResolutionOfFailedLookupLocation(fileOrDirectoryPath, dirPath === fileOrDirectoryPath)) { - resolutionHost.onInvalidatedResolution(); - } + if (!allFilesHaveInvalidatedResolution && invalidateResolutionOfFailedLookupLocation(fileOrDirectoryPath, dirPath === fileOrDirectoryPath)) { + resolutionHost.onInvalidatedResolution(); } }, 1 /* Recursive */); } @@ -81339,7 +81657,7 @@ var ts; // Resolution is invalidated if the resulting file name is same as the deleted file path function (resolution, getResolutionWithResolvedFileName) { var result = getResolutionWithResolvedFileName(resolution); - return result && resolutionHost.toPath(result.resolvedFileName) === filePath; + return !!result && resolutionHost.toPath(result.resolvedFileName) === filePath; // TODO: GH#18217 }); } function setFilesWithInvalidatedNonRelativeUnresolvedImports(filesMap) { @@ -81395,7 +81713,7 @@ var ts; return rootPath; } var _a = getDirectoryToWatchFromFailedLookupLocationDirectory(typeRoot, typeRootPath), dirPath = _a.dirPath, ignore = _a.ignore; - return !ignore && directoryWatchesOfFailedLookups.has(dirPath) && dirPath; + return !ignore && directoryWatchesOfFailedLookups.has(dirPath) ? dirPath : undefined; } function createTypeRootsWatch(typeRootPath, typeRoot) { // Create new watch and recursive info @@ -81462,7 +81780,7 @@ var ts; getCurrentDirectory: function () { return ts.sys.getCurrentDirectory(); }, getNewLine: function () { return ts.sys.newLine; }, getCanonicalFileName: ts.createGetCanonicalFileName(ts.sys.useCaseSensitiveFileNames) - } : undefined; + } : undefined; // TODO: GH#18217 /** * Create a function that reports error by writing to the system and handles the formating of the diagnostic */ @@ -81479,7 +81797,7 @@ var ts; return function (diagnostic) { diagnostics[0] = diagnostic; system.write(ts.formatDiagnosticsWithColorAndContext(diagnostics, host) + host.getNewLine()); - diagnostics[0] = undefined; + diagnostics[0] = undefined; // TODO: GH#18217 }; } ts.createDiagnosticReporter = createDiagnosticReporter; @@ -81539,7 +81857,7 @@ var ts; var host = system; host.onUnRecoverableConfigFileDiagnostic = function (diagnostic) { return reportUnrecoverableDiagnostic(ts.sys, reportDiagnostic, diagnostic); }; var result = ts.getParsedCommandLineOfConfigFile(configFileName, optionsToExtend, host); - host.onUnRecoverableConfigFileDiagnostic = undefined; + host.onUnRecoverableConfigFileDiagnostic = undefined; // TODO: GH#18217 return result; } ts.parseConfigFileWithSystem = parseConfigFileWithSystem; @@ -81669,9 +81987,9 @@ var ts; * Creates the watch compiler host from system for config file in watch mode */ function createWatchCompilerHostOfConfigFile(configFileName, optionsToExtend, system, createProgram, reportDiagnostic, reportWatchStatus) { - reportDiagnostic = reportDiagnostic || createDiagnosticReporter(system); - var host = createWatchCompilerHost(system, createProgram, reportDiagnostic, reportWatchStatus); - host.onUnRecoverableConfigFileDiagnostic = function (diagnostic) { return reportUnrecoverableDiagnostic(system, reportDiagnostic, diagnostic); }; + var diagnosticReporter = reportDiagnostic || createDiagnosticReporter(system); + var host = createWatchCompilerHost(system, createProgram, diagnosticReporter, reportWatchStatus); + host.onUnRecoverableConfigFileDiagnostic = function (diagnostic) { return reportUnrecoverableDiagnostic(system, diagnosticReporter, diagnostic); }; host.configFileName = configFileName; host.optionsToExtend = optionsToExtend; return host; @@ -81691,7 +82009,7 @@ var ts; (function (ts) { function createWatchCompilerHost(rootFilesOrConfigFileName, options, system, createProgram, reportDiagnostic, reportWatchStatus) { if (ts.isArray(rootFilesOrConfigFileName)) { - return ts.createWatchCompilerHostOfFilesAndCompilerOptions(rootFilesOrConfigFileName, options, system, createProgram, reportDiagnostic, reportWatchStatus); + return ts.createWatchCompilerHostOfFilesAndCompilerOptions(rootFilesOrConfigFileName, options, system, createProgram, reportDiagnostic, reportWatchStatus); // TODO: GH#18217 } else { return ts.createWatchCompilerHostOfConfigFile(rootFilesOrConfigFileName, options, system, createProgram, reportDiagnostic, reportWatchStatus); @@ -81718,7 +82036,7 @@ var ts; var configFileSpecs; var configFileParsingDiagnostics; var hasChangedConfigFileParsingErrors = false; - var cachedDirectoryStructureHost = configFileName && ts.createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensitiveFileNames); + var cachedDirectoryStructureHost = configFileName === undefined ? undefined : ts.createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensitiveFileNames); if (cachedDirectoryStructureHost && host.onCachedDirectoryStructureHostCreate) { host.onCachedDirectoryStructureHostCreate(cachedDirectoryStructureHost); } @@ -81748,7 +82066,7 @@ var ts; var trace = host.trace && (function (s) { host.trace(s + newLine); }); var watchLogLevel = trace ? compilerOptions.extendedDiagnostics ? ts.WatchLogLevel.Verbose : compilerOptions.diagnostis ? ts.WatchLogLevel.TriggerOnly : ts.WatchLogLevel.None : ts.WatchLogLevel.None; - var writeLog = watchLogLevel !== ts.WatchLogLevel.None ? trace : ts.noop; + var writeLog = watchLogLevel !== ts.WatchLogLevel.None ? trace : ts.noop; // TODO: GH#18217 var _b = ts.getWatchFactory(watchLogLevel, writeLog), watchFile = _b.watchFile, watchFilePath = _b.watchFilePath, watchDirectory = _b.watchDirectory; var getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames); writeLog("Current directory: " + currentDirectory + " CaseSensitiveFileNames: " + useCaseSensitiveFileNames); @@ -81770,7 +82088,7 @@ var ts; readFile: readFile, trace: trace, directoryExists: directoryStructureHost.directoryExists && (function (path) { return directoryStructureHost.directoryExists(path); }), - getDirectories: directoryStructureHost.getDirectories && (function (path) { return directoryStructureHost.getDirectories(path); }), + getDirectories: (directoryStructureHost.getDirectories && (function (path) { return directoryStructureHost.getDirectories(path); })), realpath: host.realpath && (function (s) { return host.realpath(s); }), getEnvironmentVariable: host.getEnvironmentVariable ? (function (name) { return host.getEnvironmentVariable(name); }) : (function () { return ""; }), onReleaseOldSourceFile: onReleaseOldSourceFile, @@ -82059,12 +82377,12 @@ var ts; watchConfigFileWildCardDirectories(); } function parseConfigFile() { - setConfigFileParsingResult(ts.getParsedCommandLineOfConfigFile(configFileName, optionsToExtendForConfigFile, parseConfigFileHost)); + setConfigFileParsingResult(ts.getParsedCommandLineOfConfigFile(configFileName, optionsToExtendForConfigFile, parseConfigFileHost)); // TODO: GH#18217 } function setConfigFileParsingResult(configFileParseResult) { rootFileNames = configFileParseResult.fileNames; compilerOptions = configFileParseResult.options; - configFileSpecs = configFileParseResult.configFileSpecs; + configFileSpecs = configFileParseResult.configFileSpecs; // TODO: GH#18217 configFileParsingDiagnostics = ts.getConfigFileParsingDiagnostics(configFileParseResult); hasChangedConfigFileParsingErrors = true; } @@ -82303,6 +82621,7 @@ var 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", }), }, @@ -82948,7 +83267,7 @@ var ts; case "string": return ts.map(values, function (v) { return v || ""; }); default: - return ts.filter(ts.map(values, function (v) { return parseCustomTypeOption(opt.element, v, errors); }), function (v) { return !!v; }); + return ts.mapDefined(values, function (v) { return parseCustomTypeOption(opt.element, v, errors); }); } } ts.parseListTypeOption = parseListTypeOption; @@ -83061,6 +83380,7 @@ var ts; } } ts.parseCommandLine = parseCommandLine; + /** @internal */ function getOptionFromName(optionName, allowShort) { if (allowShort === void 0) { allowShort = false; } optionName = optionName.toLowerCase(); @@ -83074,6 +83394,7 @@ var ts; } return optionNameMap.get(optionName); } + ts.getOptionFromName = getOptionFromName; /** * Reads the config file, reports errors if any and exits if the config file cannot be found */ @@ -83233,7 +83554,7 @@ var ts; var result = returnValue ? {} : undefined; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var element = _a[_i]; - if (element.kind !== 269 /* PropertyAssignment */) { + if (element.kind !== 270 /* PropertyAssignment */) { errors.push(ts.createDiagnosticForNodeInSourceFile(sourceFile, element, ts.Diagnostics.Property_assignment_expected)); continue; } @@ -83310,13 +83631,13 @@ var ts; case 8 /* NumericLiteral */: reportInvalidOptionValue(option && option.type !== "number"); return Number(valueExpression.text); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: if (valueExpression.operator !== 38 /* MinusToken */ || valueExpression.operand.kind !== 8 /* NumericLiteral */) { break; // not valid JSON syntax } reportInvalidOptionValue(option && option.type !== "number"); return -Number(valueExpression.operand.text); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: reportInvalidOptionValue(option && option.type !== "object"); var objectLiteralExpression = valueExpression; // Currently having element option declaration in the tsconfig with type "object" @@ -83333,7 +83654,7 @@ var ts; return convertObjectLiteralExpressionToJson(objectLiteralExpression, /* knownOptions*/ undefined, /*extraKeyDiagnosticMessage */ undefined, /*parentOption*/ undefined); } - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: reportInvalidOptionValue(option && option.type !== "list"); return convertArrayLiteralExpressionToJson(valueExpression.elements, option && option.element); } @@ -83371,6 +83692,7 @@ var ts; var expectedType = ts.isString(option.type) ? option.type : "string"; return typeof value === expectedType; } + return false; } /** * Generate tsconfig configuration when running command line "--init" @@ -83423,7 +83745,7 @@ var ts; } else { if (optionDefinition.type === "list") { - result.set(name, value.map(function (element) { return getNameOfCompilerOptionValue(element, customTypeMap_1); })); + result.set(name, value.map(function (element) { return getNameOfCompilerOptionValue(element, customTypeMap_1); })); // TODO: GH#18217 } else { // There is a typeMap associated with this command-line option so use it to map value back to its name @@ -83850,13 +84172,10 @@ var ts; } function convertCompileOnSaveOptionFromJson(jsonOption, basePath, errors) { if (!ts.hasProperty(jsonOption, ts.compileOnSaveCommandLineOption.name)) { - return undefined; + return false; } var result = convertJsonOption(ts.compileOnSaveCommandLineOption, jsonOption.compileOnSave, basePath, errors); - if (typeof result === "boolean" && result) { - return result; - } - return false; + return typeof result === "boolean" && result; } function convertCompilerOptionsFromJson(jsonOptions, basePath, configFileName) { var errors = []; @@ -83885,7 +84204,7 @@ var ts; return options; } function getDefaultTypeAcquisition(configFileName) { - return { enable: configFileName && ts.getBaseFileName(configFileName) === "jsconfig.json", include: [], exclude: [] }; + return { enable: !!configFileName && ts.getBaseFileName(configFileName) === "jsconfig.json", include: [], exclude: [] }; } function convertTypeAcquisitionFromJsonWorker(jsonOptions, basePath, errors, configFileName) { var options = getDefaultTypeAcquisition(configFileName); @@ -84282,7 +84601,7 @@ var ts; if (optionEnumValue === value) { return optionStringValue; } - }); + }); // TODO: GH#18217 } } })(ts || (ts = {})); @@ -84550,36 +84869,36 @@ var ts; })(SemanticMeaning = ts.SemanticMeaning || (ts.SemanticMeaning = {})); function getMeaningFromDeclaration(node) { switch (node.kind) { - case 148 /* Parameter */: - case 231 /* VariableDeclaration */: - case 181 /* BindingElement */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 268 /* CatchClause */: - case 261 /* JsxAttribute */: + case 149 /* Parameter */: + case 232 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 269 /* CatchClause */: + case 262 /* JsxAttribute */: return 1 /* Value */; - case 147 /* TypeParameter */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 165 /* TypeLiteral */: + case 148 /* TypeParameter */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 166 /* TypeLiteral */: return 2 /* Type */; - case 296 /* JSDocTypedefTag */: + case 297 /* JSDocTypedefTag */: // If it has no name node, it shares the name with the value declaration below it. return node.name === undefined ? 1 /* Value */ | 2 /* Type */ : 2 /* Type */; - case 272 /* EnumMember */: - case 234 /* ClassDeclaration */: + case 273 /* EnumMember */: + case 235 /* ClassDeclaration */: return 1 /* Value */ | 2 /* Type */; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (ts.isAmbientModule(node)) { return 4 /* Namespace */ | 1 /* Value */; } @@ -84589,26 +84908,26 @@ var ts; else { return 4 /* Namespace */; } - case 237 /* EnumDeclaration */: - case 246 /* NamedImports */: - case 247 /* ImportSpecifier */: - case 242 /* ImportEqualsDeclaration */: - case 243 /* ImportDeclaration */: - case 248 /* ExportAssignment */: - case 249 /* ExportDeclaration */: + case 238 /* EnumDeclaration */: + case 247 /* NamedImports */: + case 248 /* ImportSpecifier */: + case 243 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: + case 249 /* ExportAssignment */: + case 250 /* ExportDeclaration */: return 7 /* All */; // An external module can be a Value - case 273 /* SourceFile */: + case 274 /* SourceFile */: return 4 /* Namespace */ | 1 /* Value */; } return 7 /* All */; } ts.getMeaningFromDeclaration = getMeaningFromDeclaration; function getMeaningFromLocation(node) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { return 1 /* Value */; } - else if (node.parent.kind === 248 /* ExportAssignment */) { + else if (node.parent.kind === 249 /* ExportAssignment */) { return 7 /* All */; } else if (isInRightSideOfInternalImportEqualsDeclaration(node)) { @@ -84640,11 +84959,11 @@ var ts; // import a = |b|; // Namespace // import a = |b.c|; // Value, type, namespace // import a = |b.c|.d; // Namespace - var name = node.kind === 145 /* QualifiedName */ ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; - return name && name.parent.kind === 242 /* ImportEqualsDeclaration */ ? 7 /* All */ : 4 /* Namespace */; + var name = node.kind === 146 /* QualifiedName */ ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; + return name && name.parent.kind === 243 /* ImportEqualsDeclaration */ ? 7 /* All */ : 4 /* Namespace */; } function isInRightSideOfInternalImportEqualsDeclaration(node) { - while (node.parent.kind === 145 /* QualifiedName */) { + while (node.parent.kind === 146 /* QualifiedName */) { node = node.parent; } return ts.isInternalModuleImportEqualsDeclaration(node.parent) && node.parent.moduleReference === node; @@ -84656,27 +84975,27 @@ var ts; function isQualifiedNameNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 145 /* QualifiedName */) { - while (root.parent && root.parent.kind === 145 /* QualifiedName */) { + if (root.parent.kind === 146 /* QualifiedName */) { + while (root.parent && root.parent.kind === 146 /* QualifiedName */) { root = root.parent; } isLastClause = root.right === node; } - return root.parent.kind === 161 /* TypeReference */ && !isLastClause; + return root.parent.kind === 162 /* TypeReference */ && !isLastClause; } function isPropertyAccessNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 184 /* PropertyAccessExpression */) { - while (root.parent && root.parent.kind === 184 /* PropertyAccessExpression */) { + if (root.parent.kind === 185 /* PropertyAccessExpression */) { + while (root.parent && root.parent.kind === 185 /* PropertyAccessExpression */) { root = root.parent; } isLastClause = root.name === node; } - if (!isLastClause && root.parent.kind === 206 /* ExpressionWithTypeArguments */ && root.parent.parent.kind === 267 /* HeritageClause */) { + if (!isLastClause && root.parent.kind === 207 /* ExpressionWithTypeArguments */ && root.parent.parent.kind === 268 /* HeritageClause */) { var decl = root.parent.parent.parent; - return (decl.kind === 234 /* ClassDeclaration */ && root.parent.parent.token === 108 /* ImplementsKeyword */) || - (decl.kind === 235 /* InterfaceDeclaration */ && root.parent.parent.token === 85 /* ExtendsKeyword */); + return (decl.kind === 235 /* ClassDeclaration */ && root.parent.parent.token === 108 /* ImplementsKeyword */) || + (decl.kind === 236 /* InterfaceDeclaration */ && root.parent.parent.token === 85 /* ExtendsKeyword */); } return false; } @@ -84687,30 +85006,30 @@ var ts; switch (node.kind) { case 99 /* ThisKeyword */: return !ts.isExpressionNode(node); - case 173 /* ThisType */: + case 174 /* ThisType */: return true; } switch (node.parent.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return true; - case 178 /* ImportType */: + case 179 /* ImportType */: return !node.parent.isTypeOf; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return !ts.isExpressionWithTypeArgumentsInClassExtendsClause(node.parent); } return false; } function isCallExpressionTarget(node) { - return isCallOrNewExpressionTarget(node, 186 /* CallExpression */); + return isCallOrNewExpressionTarget(node, 187 /* CallExpression */); } ts.isCallExpressionTarget = isCallExpressionTarget; function isNewExpressionTarget(node) { - return isCallOrNewExpressionTarget(node, 187 /* NewExpression */); + return isCallOrNewExpressionTarget(node, 188 /* NewExpression */); } ts.isNewExpressionTarget = isNewExpressionTarget; function isCallOrNewExpressionTarget(node, kind) { var target = climbPastPropertyAccess(node); - return target && target.parent && target.parent.kind === kind && target.parent.expression === target; + return !!target && !!target.parent && target.parent.kind === kind && target.parent.expression === target; } function climbPastPropertyAccess(node) { return isRightSideOfPropertyAccess(node) ? node.parent : node; @@ -84718,7 +85037,7 @@ var ts; ts.climbPastPropertyAccess = climbPastPropertyAccess; function getTargetLabel(referenceNode, labelName) { while (referenceNode) { - if (referenceNode.kind === 227 /* LabeledStatement */ && referenceNode.label.escapedText === labelName) { + if (referenceNode.kind === 228 /* LabeledStatement */ && referenceNode.label.escapedText === labelName) { return referenceNode.label; } referenceNode = referenceNode.parent; @@ -84739,15 +85058,15 @@ var ts; } ts.isLabelName = isLabelName; function isRightSideOfQualifiedName(node) { - return node.parent.kind === 145 /* QualifiedName */ && node.parent.right === node; + return node.parent.kind === 146 /* QualifiedName */ && node.parent.right === node; } ts.isRightSideOfQualifiedName = isRightSideOfQualifiedName; function isRightSideOfPropertyAccess(node) { - return node && node.parent && node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.name === node; + return node && node.parent && node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.name === node; } ts.isRightSideOfPropertyAccess = isRightSideOfPropertyAccess; function isNameOfModuleDeclaration(node) { - return node.parent.kind === 238 /* ModuleDeclaration */ && node.parent.name === node; + return node.parent.kind === 239 /* ModuleDeclaration */ && node.parent.name === node; } ts.isNameOfModuleDeclaration = isNameOfModuleDeclaration; function isNameOfFunctionDeclaration(node) { @@ -84757,22 +85076,24 @@ var ts; ts.isNameOfFunctionDeclaration = isNameOfFunctionDeclaration; function isLiteralNameOfPropertyDeclarationOrIndexAccess(node) { switch (node.parent.kind) { - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 269 /* PropertyAssignment */: - case 272 /* EnumMember */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 238 /* ModuleDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 270 /* PropertyAssignment */: + case 273 /* EnumMember */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 239 /* ModuleDeclaration */: return ts.getNameOfDeclaration(node.parent) === node; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return node.parent.argumentExpression === node; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return true; - case 177 /* LiteralType */: - return node.parent.parent.kind === 175 /* IndexedAccessType */; + case 178 /* LiteralType */: + return node.parent.parent.kind === 176 /* IndexedAccessType */; + default: + return false; } } ts.isLiteralNameOfPropertyDeclarationOrIndexAccess = isLiteralNameOfPropertyDeclarationOrIndexAccess; @@ -84794,17 +85115,17 @@ var ts; return undefined; } switch (node.kind) { - case 273 /* SourceFile */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 238 /* ModuleDeclaration */: + case 274 /* SourceFile */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 239 /* ModuleDeclaration */: return node; } } @@ -84812,49 +85133,49 @@ var ts; ts.getContainerNode = getContainerNode; function getNodeKind(node) { switch (node.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: return ts.isExternalModule(node) ? "module" /* moduleElement */ : "script" /* scriptElement */; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return "module" /* moduleElement */; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return "class" /* classElement */; - case 235 /* InterfaceDeclaration */: return "interface" /* interfaceElement */; - case 236 /* TypeAliasDeclaration */: - case 291 /* JSDocCallbackTag */: - case 296 /* JSDocTypedefTag */: + case 236 /* InterfaceDeclaration */: return "interface" /* interfaceElement */; + case 237 /* TypeAliasDeclaration */: + case 292 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: return "type" /* typeElement */; - case 237 /* EnumDeclaration */: return "enum" /* enumElement */; - case 231 /* VariableDeclaration */: + case 238 /* EnumDeclaration */: return "enum" /* enumElement */; + case 232 /* VariableDeclaration */: return getKindOfVariableDeclaration(node); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return getKindOfVariableDeclaration(ts.getRootDeclaration(node)); - case 192 /* ArrowFunction */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: return "function" /* functionElement */; - case 155 /* GetAccessor */: return "getter" /* memberGetAccessorElement */; - case 156 /* SetAccessor */: return "setter" /* memberSetAccessorElement */; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 156 /* GetAccessor */: return "getter" /* memberGetAccessorElement */; + case 157 /* SetAccessor */: return "setter" /* memberSetAccessorElement */; + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: return "method" /* memberFunctionElement */; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return "property" /* memberVariableElement */; - case 159 /* IndexSignature */: return "index" /* indexSignatureElement */; - case 158 /* ConstructSignature */: return "construct" /* constructSignatureElement */; - case 157 /* CallSignature */: return "call" /* callSignatureElement */; - case 154 /* Constructor */: return "constructor" /* constructorImplementationElement */; - case 147 /* TypeParameter */: return "type parameter" /* typeParameterElement */; - case 272 /* EnumMember */: return "enum member" /* enumMemberElement */; - case 148 /* Parameter */: return ts.hasModifier(node, 92 /* ParameterPropertyModifier */) ? "property" /* memberVariableElement */ : "parameter" /* parameterElement */; - case 242 /* ImportEqualsDeclaration */: - case 247 /* ImportSpecifier */: - case 244 /* ImportClause */: - case 251 /* ExportSpecifier */: - case 245 /* NamespaceImport */: + case 160 /* IndexSignature */: return "index" /* indexSignatureElement */; + case 159 /* ConstructSignature */: return "construct" /* constructSignatureElement */; + case 158 /* CallSignature */: return "call" /* callSignatureElement */; + case 155 /* Constructor */: return "constructor" /* constructorImplementationElement */; + case 148 /* TypeParameter */: return "type parameter" /* typeParameterElement */; + case 273 /* EnumMember */: return "enum member" /* enumMemberElement */; + case 149 /* Parameter */: return ts.hasModifier(node, 92 /* ParameterPropertyModifier */) ? "property" /* memberVariableElement */ : "parameter" /* parameterElement */; + case 243 /* ImportEqualsDeclaration */: + case 248 /* ImportSpecifier */: + case 245 /* ImportClause */: + case 252 /* ExportSpecifier */: + case 246 /* NamespaceImport */: return "alias" /* alias */; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var kind = ts.getSpecialPropertyAssignmentKind(node); var right = node.right; switch (kind) { @@ -84897,7 +85218,7 @@ var ts; return true; case 71 /* Identifier */: // 'this' as a parameter - return ts.identifierIsThisKeyword(node) && node.parent.kind === 148 /* Parameter */; + return ts.identifierIsThisKeyword(node) && node.parent.kind === 149 /* Parameter */; default: return false; } @@ -84919,6 +85240,10 @@ var ts; return r.pos <= pos && pos <= r.end; } ts.rangeContainsPosition = rangeContainsPosition; + function rangeContainsPositionExclusive(r, pos) { + return r.pos < pos && pos < r.end; + } + ts.rangeContainsPositionExclusive = rangeContainsPositionExclusive; function startEndContainsRange(start, end, range) { return start <= range.pos && end >= range.end; } @@ -84946,46 +85271,46 @@ var ts; } ts.positionBelongsToNode = positionBelongsToNode; function isCompletedNode(n, sourceFile) { - if (ts.nodeIsMissing(n)) { + if (n === undefined || ts.nodeIsMissing(n)) { return false; } switch (n.kind) { - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 183 /* ObjectLiteralExpression */: - case 179 /* ObjectBindingPattern */: - case 165 /* TypeLiteral */: - case 212 /* Block */: - case 239 /* ModuleBlock */: - case 240 /* CaseBlock */: - case 246 /* NamedImports */: - case 250 /* NamedExports */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 184 /* ObjectLiteralExpression */: + case 180 /* ObjectBindingPattern */: + case 166 /* TypeLiteral */: + case 213 /* Block */: + case 240 /* ModuleBlock */: + case 241 /* CaseBlock */: + case 247 /* NamedImports */: + case 251 /* NamedExports */: return nodeEndsWith(n, 18 /* CloseBraceToken */, sourceFile); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return isCompletedNode(n.block, sourceFile); - case 187 /* NewExpression */: + case 188 /* NewExpression */: if (!n.arguments) { return true; } // falls through - case 186 /* CallExpression */: - case 190 /* ParenthesizedExpression */: - case 172 /* ParenthesizedType */: + case 187 /* CallExpression */: + case 191 /* ParenthesizedExpression */: + case 173 /* ParenthesizedType */: return nodeEndsWith(n, 20 /* CloseParenToken */, sourceFile); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: return isCompletedNode(n.type, sourceFile); - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 158 /* ConstructSignature */: - case 157 /* CallSignature */: - case 192 /* ArrowFunction */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 159 /* ConstructSignature */: + case 158 /* CallSignature */: + case 193 /* ArrowFunction */: if (n.body) { return isCompletedNode(n.body, sourceFile); } @@ -84995,65 +85320,65 @@ var ts; // Even though type parameters can be unclosed, we can get away with // having at least a closing paren. return hasChildOfKind(n, 20 /* CloseParenToken */, sourceFile); - case 238 /* ModuleDeclaration */: - return n.body && isCompletedNode(n.body, sourceFile); - case 216 /* IfStatement */: + case 239 /* ModuleDeclaration */: + return !!n.body && isCompletedNode(n.body, sourceFile); + case 217 /* IfStatement */: if (n.elseStatement) { return isCompletedNode(n.elseStatement, sourceFile); } return isCompletedNode(n.thenStatement, sourceFile); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return isCompletedNode(n.expression, sourceFile) || hasChildOfKind(n, 25 /* SemicolonToken */, sourceFile); - case 182 /* ArrayLiteralExpression */: - case 180 /* ArrayBindingPattern */: - case 185 /* ElementAccessExpression */: - case 146 /* ComputedPropertyName */: - case 167 /* TupleType */: + case 183 /* ArrayLiteralExpression */: + case 181 /* ArrayBindingPattern */: + case 186 /* ElementAccessExpression */: + case 147 /* ComputedPropertyName */: + case 168 /* TupleType */: return nodeEndsWith(n, 22 /* CloseBracketToken */, sourceFile); - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: if (n.type) { return isCompletedNode(n.type, sourceFile); } return hasChildOfKind(n, 22 /* CloseBracketToken */, sourceFile); - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: // there is no such thing as terminator token for CaseClause/DefaultClause so for simplicity always consider them non-completed return false; - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 218 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 219 /* WhileStatement */: return isCompletedNode(n.statement, sourceFile); - case 217 /* DoStatement */: + case 218 /* DoStatement */: // rough approximation: if DoStatement has While keyword - then if node is completed is checking the presence of ')'; return hasChildOfKind(n, 106 /* WhileKeyword */, sourceFile) ? nodeEndsWith(n, 20 /* CloseParenToken */, sourceFile) : isCompletedNode(n.statement, sourceFile); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return isCompletedNode(n.exprName, sourceFile); - case 194 /* TypeOfExpression */: - case 193 /* DeleteExpression */: - case 195 /* VoidExpression */: - case 202 /* YieldExpression */: - case 203 /* SpreadElement */: + case 195 /* TypeOfExpression */: + case 194 /* DeleteExpression */: + case 196 /* VoidExpression */: + case 203 /* YieldExpression */: + case 204 /* SpreadElement */: var unaryWordExpression = n; return isCompletedNode(unaryWordExpression.expression, sourceFile); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return isCompletedNode(n.template, sourceFile); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: var lastSpan = ts.lastOrUndefined(n.templateSpans); return isCompletedNode(lastSpan, sourceFile); - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return ts.nodeIsPresent(n.literal); - case 249 /* ExportDeclaration */: - case 243 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: return ts.nodeIsPresent(n.moduleSpecifier); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return isCompletedNode(n.operand, sourceFile); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return isCompletedNode(n.right, sourceFile); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return isCompletedNode(n.whenFalse, sourceFile); default: return true; @@ -85066,11 +85391,11 @@ var ts; function nodeEndsWith(n, expectedLastToken, sourceFile) { var children = n.getChildren(sourceFile); if (children.length) { - var last_2 = ts.lastOrUndefined(children); - if (last_2.kind === expectedLastToken) { + var lastChild = ts.last(children); + if (lastChild.kind === expectedLastToken) { return true; } - else if (last_2.kind === 25 /* SemicolonToken */ && children.length !== 1) { + else if (lastChild.kind === 25 /* SemicolonToken */ && children.length !== 1) { return children[children.length - 2].kind === expectedLastToken; } } @@ -85130,6 +85455,7 @@ var ts; ts.getTouchingToken = getTouchingToken; /** Returns a token if position is in [start-of-leading-trivia, end) */ function getTokenAtPosition(sourceFile, position, includeJsDocComment, includeEndPosition) { + if (includeEndPosition === void 0) { includeEndPosition = false; } return getTokenAtPositionWorker(sourceFile, position, /*allowPositionInLeadingTrivia*/ true, /*includePrecedingTokenAtEndPosition*/ undefined, includeEndPosition, includeJsDocComment); } ts.getTokenAtPosition = getTokenAtPosition; @@ -85244,7 +85570,7 @@ var ts; } } } - ts.Debug.assert(startNode !== undefined || n.kind === 273 /* SourceFile */ || ts.isJSDocCommentContainingNode(n)); + ts.Debug.assert(startNode !== undefined || n.kind === 274 /* SourceFile */ || ts.isJSDocCommentContainingNode(n)); // Here we know that none of child token nodes embrace the position, // the only known case is when position is at the end of the file. // Try to find the rightmost token in the file without filtering. @@ -85284,7 +85610,7 @@ var ts; function isInString(sourceFile, position, previousToken) { if (previousToken === void 0) { previousToken = findPrecedingToken(position, sourceFile); } if (previousToken && ts.isStringTextContainingNode(previousToken)) { - var start = previousToken.getStart(); + var start = previousToken.getStart(sourceFile); var end = previousToken.getEnd(); // To be "in" one of these literals, the position has to be: // 1. entirely within the token text. @@ -85316,17 +85642,17 @@ var ts; return true; } //
{ |
or
- if (token.kind === 27 /* LessThanToken */ && token.parent.kind === 264 /* JsxExpression */) { + if (token.kind === 27 /* LessThanToken */ && token.parent.kind === 265 /* JsxExpression */) { return true; } //
{ // | // } < /div> - if (token && token.kind === 18 /* CloseBraceToken */ && token.parent.kind === 264 /* JsxExpression */) { + if (token && token.kind === 18 /* CloseBraceToken */ && token.parent.kind === 265 /* JsxExpression */) { return true; } //
|
- if (token.kind === 27 /* LessThanToken */ && token.parent.kind === 257 /* JsxClosingElement */) { + if (token.kind === 27 /* LessThanToken */ && token.parent.kind === 258 /* JsxClosingElement */) { return true; } return false; @@ -85344,10 +85670,11 @@ var ts; var tokenKind = token.kind; var remainingMatchingTokens = 0; while (true) { - token = findPrecedingToken(token.getFullStart(), sourceFile); - if (!token) { + var preceding = findPrecedingToken(token.getFullStart(), sourceFile); + if (!preceding) { return undefined; } + token = preceding; if (token.kind === matchingTokenKind) { if (remainingMatchingTokens === 0) { return token; @@ -85360,21 +85687,24 @@ var ts; } } ts.findPrecedingMatchingToken = findPrecedingMatchingToken; - function isPossiblyTypeArgumentPosition(token, sourceFile) { + function isPossiblyTypeArgumentPosition(tokenIn, sourceFile) { + var token = tokenIn; // This function determines if the node could be type argument position // Since during editing, when type argument list is not complete, // the tree could be of any shape depending on the tokens parsed before current node, // scanning of the previous identifier followed by "<" before current node would give us better result // Note that we also balance out the already provided type arguments, arrays, object literals while doing so var remainingLessThanTokens = 0; + var nTypeArguments = 0; while (token) { switch (token.kind) { case 27 /* LessThanToken */: // Found the beginning of the generic argument expression token = findPrecedingToken(token.getFullStart(), sourceFile); - var tokenIsIdentifier = token && ts.isIdentifier(token); - if (!remainingLessThanTokens || !tokenIsIdentifier) { - return tokenIsIdentifier; + if (!token || !ts.isIdentifier(token)) + return undefined; + if (!remainingLessThanTokens) { + return { called: token, nTypeArguments: nTypeArguments }; } remainingLessThanTokens--; break; @@ -85392,24 +85722,26 @@ var ts; // Skip until the matching open brace token token = findPrecedingMatchingToken(token, 17 /* OpenBraceToken */, sourceFile); if (!token) - return false; + return undefined; break; case 20 /* CloseParenToken */: // This can be object type, skip until we find the matching open brace token // Skip until the matching open brace token token = findPrecedingMatchingToken(token, 19 /* OpenParenToken */, sourceFile); if (!token) - return false; + return undefined; break; case 22 /* CloseBracketToken */: // This can be object type, skip until we find the matching open brace token // Skip until the matching open brace token token = findPrecedingMatchingToken(token, 21 /* OpenBracketToken */, sourceFile); if (!token) - return false; + return undefined; break; // Valid tokens in a type name. Skip. case 26 /* CommaToken */: + nTypeArguments++; + break; case 36 /* EqualsGreaterThanToken */: case 71 /* Identifier */: case 9 /* StringLiteral */: @@ -85429,11 +85761,11 @@ var ts; break; } // Invalid token in type - return false; + return undefined; } token = findPrecedingToken(token.getFullStart(), sourceFile); } - return false; + return undefined; } ts.isPossiblyTypeArgumentPosition = isPossiblyTypeArgumentPosition; /** @@ -85483,10 +85815,10 @@ var ts; } ts.getNodeModifiers = getNodeModifiers; function getTypeArgumentOrTypeParameterList(node) { - if (node.kind === 161 /* TypeReference */ || node.kind === 186 /* CallExpression */) { + if (node.kind === 162 /* TypeReference */ || node.kind === 187 /* CallExpression */) { return node.typeArguments; } - if (ts.isFunctionLike(node) || node.kind === 234 /* ClassDeclaration */ || node.kind === 235 /* InterfaceDeclaration */) { + if (ts.isFunctionLike(node) || node.kind === 235 /* ClassDeclaration */ || node.kind === 236 /* InterfaceDeclaration */) { return node.typeParameters; } return undefined; @@ -85509,9 +85841,9 @@ var ts; return 17 /* FirstPunctuation */ <= kind && kind <= 70 /* LastPunctuation */; } ts.isPunctuation = isPunctuation; - function isInsideTemplateLiteral(node, position) { + function isInsideTemplateLiteral(node, position, sourceFile) { return ts.isTemplateLiteralKind(node.kind) - && (node.getStart() < position && position < node.getEnd()) || (!!node.isUnterminated && position === node.getEnd()); + && (node.getStart(sourceFile) < position && position < node.end) || (!!node.isUnterminated && position === node.end); } ts.isInsideTemplateLiteral = isInsideTemplateLiteral; function isAccessibilityModifier(kind) { @@ -85531,18 +85863,18 @@ var ts; } ts.cloneCompilerOptions = cloneCompilerOptions; function isArrayLiteralOrObjectLiteralDestructuringPattern(node) { - if (node.kind === 182 /* ArrayLiteralExpression */ || - node.kind === 183 /* ObjectLiteralExpression */) { + if (node.kind === 183 /* ArrayLiteralExpression */ || + node.kind === 184 /* ObjectLiteralExpression */) { // [a,b,c] from: // [a, b, c] = someExpression; - if (node.parent.kind === 199 /* BinaryExpression */ && + if (node.parent.kind === 200 /* BinaryExpression */ && node.parent.left === node && node.parent.operatorToken.kind === 58 /* EqualsToken */) { return true; } // [a, b, c] from: // for([a, b, c] of expression) - if (node.parent.kind === 221 /* ForOfStatement */ && + if (node.parent.kind === 222 /* ForOfStatement */ && node.parent.initializer === node) { return true; } @@ -85550,7 +85882,7 @@ var ts; // [x, [a, b, c] ] = someExpression // or // {x, a: {a, b, c} } = someExpression - if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 269 /* PropertyAssignment */ ? node.parent.parent : node.parent)) { + if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 270 /* PropertyAssignment */ ? node.parent.parent : node.parent)) { return true; } } @@ -85604,6 +85936,7 @@ var ts; 105 /* VoidKeyword */, 140 /* UndefinedKeyword */, 141 /* UniqueKeyword */, + 142 /* UnknownKeyword */, ]; function isTypeKeyword(kind) { return ts.contains(ts.typeKeywords, kind); @@ -85636,11 +85969,11 @@ var ts; } ts.repeatString = repeatString; function skipConstraint(type) { - return type.isTypeParameter() ? type.getConstraint() : type; + return type.isTypeParameter() ? type.getConstraint() : type; // TODO: GH#18217 } ts.skipConstraint = skipConstraint; function getNameFromPropertyName(name) { - return name.kind === 146 /* ComputedPropertyName */ + return name.kind === 147 /* ComputedPropertyName */ // treat computed property names where expression is string/numeric literal as just string/numeric literal ? ts.isStringOrNumericLiteral(name.expression) ? name.expression.text : undefined : ts.getTextOfIdentifierOrLiteral(name); @@ -85662,16 +85995,16 @@ var ts; return ts.createGetCanonicalFileName(hostUsesCaseSensitiveFileNames(host)); } ts.hostGetCanonicalFileName = hostGetCanonicalFileName; - function makeImportIfNecessary(defaultImport, namedImports, moduleSpecifier) { - return defaultImport || namedImports && namedImports.length ? makeImport(defaultImport, namedImports, moduleSpecifier) : undefined; + function makeImportIfNecessary(defaultImport, namedImports, moduleSpecifier, preferences) { + return defaultImport || namedImports && namedImports.length ? makeImport(defaultImport, namedImports, moduleSpecifier, preferences) : undefined; } ts.makeImportIfNecessary = makeImportIfNecessary; - function makeImport(defaultImport, namedImports, moduleSpecifier) { + function makeImport(defaultImport, namedImports, moduleSpecifier, preferences) { return ts.createImportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, defaultImport || namedImports ? ts.createImportClause(defaultImport, namedImports && namedImports.length ? ts.createNamedImports(namedImports) : undefined) - : undefined, typeof moduleSpecifier === "string" ? ts.createLiteral(moduleSpecifier) : moduleSpecifier); + : undefined, typeof moduleSpecifier === "string" ? ts.createLiteral(moduleSpecifier, preferences.quotePreference === "single") : moduleSpecifier); } ts.makeImport = makeImport; function symbolNameNoDefault(symbol) { @@ -85700,6 +86033,37 @@ var ts; return propSymbol; } ts.getPropertySymbolFromBindingElement = getPropertySymbolFromBindingElement; + /** + * Find symbol of the given property-name and add the symbol to the given result array + * @param symbol a symbol to start searching for the given propertyName + * @param propertyName a name of property to search for + * @param result an array of symbol of found property symbols + * @param previousIterationSymbolsCache a cache of symbol from previous iterations of calling this function to prevent infinite revisiting of the same symbol. + * The value of previousIterationSymbol is undefined when the function is first called. + */ + function getPropertySymbolsFromBaseTypes(symbol, propertyName, checker, cb) { + var seen = ts.createMap(); + return recur(symbol); + function recur(symbol) { + // Use `addToSeen` to ensure we don't infinitely recurse in this situation: + // interface C extends C { + // /*findRef*/propName: string; + // } + if (!(symbol.flags & (32 /* Class */ | 64 /* Interface */)) || !ts.addToSeen(seen, ts.getSymbolId(symbol))) + return; + return ts.firstDefined(symbol.declarations, function (declaration) { return ts.firstDefined(ts.getAllSuperTypeNodes(declaration), function (typeReference) { + var type = checker.getTypeAtLocation(typeReference); + var propertySymbol = type && type.symbol && checker.getPropertyOfType(type, propertyName); + // Visit the typeReference as well to see if it directly or indirectly uses that property + return type && propertySymbol && (ts.firstDefined(checker.getRootSymbols(propertySymbol), cb) || recur(type.symbol)); + }); }); + } + } + ts.getPropertySymbolsFromBaseTypes = getPropertySymbolsFromBaseTypes; + function isMemberSymbolInBaseType(memberSymbol, checker) { + return getPropertySymbolsFromBaseTypes(memberSymbol.parent, memberSymbol.name, checker, function (_) { return true; }) || false; + } + ts.isMemberSymbolInBaseType = isMemberSymbolInBaseType; var NodeSet = /** @class */ (function () { function NodeSet() { this.map = ts.createMap(); @@ -85719,12 +86083,27 @@ var ts; return NodeSet; }()); ts.NodeSet = NodeSet; + function getParentNodeInSpan(node, file, span) { + if (!node) + return undefined; + while (node.parent) { + if (ts.isSourceFile(node.parent) || !spanContainsNode(span, node.parent, file)) { + return node; + } + node = node.parent; + } + } + ts.getParentNodeInSpan = getParentNodeInSpan; + function spanContainsNode(span, node, file) { + return ts.textSpanContainsPosition(span, node.getStart(file)) && + node.getEnd() <= ts.textSpanEnd(span); + } })(ts || (ts = {})); // Display-part writer helpers /* @internal */ (function (ts) { function isFirstDeclarationOfSymbolParameter(symbol) { - return symbol.declarations && symbol.declarations.length > 0 && symbol.declarations[0].kind === 148 /* Parameter */; + return symbol.declarations && symbol.declarations.length > 0 && symbol.declarations[0].kind === 149 /* Parameter */; } ts.isFirstDeclarationOfSymbolParameter = isFirstDeclarationOfSymbolParameter; var displayPartWriter = getDisplayPartWriter(); @@ -85897,18 +86276,21 @@ var ts; } ts.mapToDisplayParts = mapToDisplayParts; function typeToDisplayParts(typechecker, type, enclosingDeclaration, flags) { + if (flags === void 0) { flags = 0 /* None */; } return mapToDisplayParts(function (writer) { - typechecker.writeType(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, writer); + typechecker.writeType(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */ | 16384 /* UseAliasDefinedOutsideCurrentScope */, writer); }); } ts.typeToDisplayParts = typeToDisplayParts; function symbolToDisplayParts(typeChecker, symbol, enclosingDeclaration, meaning, flags) { + if (flags === void 0) { flags = 0 /* None */; } return mapToDisplayParts(function (writer) { typeChecker.writeSymbol(symbol, enclosingDeclaration, meaning, flags | 8 /* UseAliasDefinedOutsideCurrentScope */, writer); }); } ts.symbolToDisplayParts = symbolToDisplayParts; function signatureToDisplayParts(typechecker, signature, enclosingDeclaration, flags) { + if (flags === void 0) { flags = 0 /* None */; } flags |= 16384 /* UseAliasDefinedOutsideCurrentScope */ | 1024 /* MultilineObjectLiterals */ | 32 /* WriteTypeArgumentsOfSignature */ | 8192 /* OmitParameterModifiers */; return mapToDisplayParts(function (writer) { typechecker.writeSignature(signature, enclosingDeclaration, flags, /*signatureKind*/ undefined, writer); @@ -85916,8 +86298,8 @@ var ts; } ts.signatureToDisplayParts = signatureToDisplayParts; function isImportOrExportSpecifierName(location) { - return location.parent && - (location.parent.kind === 247 /* ImportSpecifier */ || location.parent.kind === 251 /* ExportSpecifier */) && + return !!location.parent && + (location.parent.kind === 248 /* ImportSpecifier */ || location.parent.kind === 252 /* ExportSpecifier */) && location.parent.propertyName === location; } ts.isImportOrExportSpecifierName = isImportOrExportSpecifierName; @@ -85944,7 +86326,7 @@ var ts; scriptKinds[_i - 2] = arguments[_i]; } var scriptKind = getScriptKind(fileName, host); - return ts.forEach(scriptKinds, function (k) { return k === scriptKind; }); + return ts.some(scriptKinds, function (k) { return k === scriptKind; }); } ts.scriptKindIs = scriptKindIs; function getScriptKind(fileName, host) { @@ -86037,9 +86419,9 @@ var ts; return node.forEachChild(function (child) { return child; }); } /* @internal */ - function getUniqueName(baseName, fileText) { + function getUniqueName(baseName, sourceFile) { var nameText = baseName; - for (var i = 1; ts.stringContains(fileText, nameText); i++) { + for (var i = 1; !ts.isFileLevelUniqueName(sourceFile, nameText); i++) { nameText = baseName + "_" + i; } return nameText; @@ -86060,7 +86442,7 @@ var ts; for (var _b = 0, textChanges_1 = textChanges_2; _b < textChanges_1.length; _b++) { var change = textChanges_1[_b]; var span = change.span, newText = change.newText; - var index = newText.indexOf(name); + var index = indexInTextChange(newText, name); if (index !== -1) { lastPos = span.start + delta + index; // If the reference comes first, return immediately. @@ -86077,6 +86459,17 @@ var ts; return lastPos; } ts.getRenameLocation = getRenameLocation; + function indexInTextChange(change, name) { + if (ts.startsWith(change, name)) + return 0; + // Add a " " to avoid references inside words + var idx = change.indexOf(" " + name); + if (idx === -1) + idx = change.indexOf("." + name); + if (idx === -1) + idx = change.indexOf('"' + name); + return idx === -1 ? -1 : idx + 1; + } })(ts || (ts = {})); var ts; (function (ts) { @@ -86356,6 +86749,8 @@ var ts; case 9 /* text */: case 17 /* parameterName */: return ts.TokenClass.Identifier; + default: + return undefined; // TODO: GH#18217 Debug.assertNever(type); } } /** Returns true if 'keyword2' can legally follow 'keyword1' in any language construct. */ @@ -86506,10 +86901,10 @@ var ts; // That means we're calling back into the host around every 1.2k of the file we process. // Lib.d.ts has similar numbers. switch (kind) { - case 238 /* ModuleDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 233 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 234 /* FunctionDeclaration */: cancellationToken.throwIfCancellationRequested(); } } @@ -86603,6 +86998,7 @@ var ts; case 22 /* jsxAttribute */: return "jsx attribute" /* jsxAttribute */; case 23 /* jsxText */: return "jsx text" /* jsxText */; case 24 /* jsxAttributeStringLiteralValue */: return "jsx attribute string literal value" /* jsxAttributeStringLiteralValue */; + default: return undefined; // TODO: GH#18217 throw Debug.assertNever(type); } } function convertClassificationsToSpans(classifications) { @@ -86720,18 +87116,18 @@ var ts; pushClassification(tag.tagName.pos, tag.tagName.end - tag.tagName.pos, 18 /* docCommentTagName */); // e.g. "param" pos = tag.tagName.end; switch (tag.kind) { - case 292 /* JSDocParameterTag */: + case 293 /* JSDocParameterTag */: processJSDocParameterTag(tag); break; - case 295 /* JSDocTemplateTag */: + case 296 /* JSDocTemplateTag */: processJSDocTemplateTag(tag); pos = tag.end; break; - case 294 /* JSDocTypeTag */: + case 295 /* JSDocTypeTag */: processElement(tag.typeExpression); pos = tag.end; break; - case 293 /* JSDocReturnTag */: + case 294 /* JSDocReturnTag */: processElement(tag.typeExpression); pos = tag.end; break; @@ -86818,22 +87214,22 @@ var ts; } function tryClassifyJsxElementName(token) { switch (token.parent && token.parent.kind) { - case 256 /* JsxOpeningElement */: + case 257 /* JsxOpeningElement */: if (token.parent.tagName === token) { return 19 /* jsxOpenTagName */; } break; - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: if (token.parent.tagName === token) { return 20 /* jsxCloseTagName */; } break; - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: if (token.parent.tagName === token) { return 21 /* jsxSelfClosingTagName */; } break; - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: if (token.parent.name === token) { return 22 /* jsxAttribute */; } @@ -86859,19 +87255,20 @@ var ts; } if (ts.isPunctuation(tokenKind)) { if (token) { + var parent = token.parent; if (tokenKind === 58 /* EqualsToken */) { // the '=' in a variable declaration is special cased here. - if (token.parent.kind === 231 /* VariableDeclaration */ || - token.parent.kind === 151 /* PropertyDeclaration */ || - token.parent.kind === 148 /* Parameter */ || - token.parent.kind === 261 /* JsxAttribute */) { + if (parent.kind === 232 /* VariableDeclaration */ || + parent.kind === 152 /* PropertyDeclaration */ || + parent.kind === 149 /* Parameter */ || + parent.kind === 262 /* JsxAttribute */) { return 5 /* operator */; } } - if (token.parent.kind === 199 /* BinaryExpression */ || - token.parent.kind === 197 /* PrefixUnaryExpression */ || - token.parent.kind === 198 /* PostfixUnaryExpression */ || - token.parent.kind === 200 /* ConditionalExpression */) { + if (parent.kind === 200 /* BinaryExpression */ || + parent.kind === 198 /* PrefixUnaryExpression */ || + parent.kind === 199 /* PostfixUnaryExpression */ || + parent.kind === 201 /* ConditionalExpression */) { return 5 /* operator */; } } @@ -86881,7 +87278,8 @@ var ts; return 4 /* numericLiteral */; } else if (tokenKind === 9 /* StringLiteral */) { - return token.parent.kind === 261 /* JsxAttribute */ ? 24 /* jsxAttributeStringLiteralValue */ : 6 /* stringLiteral */; + // TODO: GH#18217 + return token.parent.kind === 262 /* JsxAttribute */ ? 24 /* jsxAttributeStringLiteralValue */ : 6 /* stringLiteral */; } else if (tokenKind === 12 /* RegularExpressionLiteral */) { // TODO: we should get another classification type for these literals. @@ -86897,32 +87295,32 @@ var ts; else if (tokenKind === 71 /* Identifier */) { if (token) { switch (token.parent.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: if (token.parent.name === token) { return 11 /* className */; } return; - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: if (token.parent.name === token) { return 15 /* typeParameterName */; } return; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: if (token.parent.name === token) { return 13 /* interfaceName */; } return; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: if (token.parent.name === token) { return 12 /* enumName */; } return; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (token.parent.name === token) { return 14 /* moduleName */; } return; - case 148 /* Parameter */: + case 149 /* Parameter */: if (token.parent.name === token) { return ts.isThisIdentifier(token) ? 3 /* keyword */ : 17 /* parameterName */; } @@ -87006,7 +87404,7 @@ var ts; // Determine the path to the directory containing the script relative to the root directory it is contained within var relativeDirectory = ts.firstDefined(rootDirs, function (rootDirectory) { return ts.containsPath(rootDirectory, scriptPath, basePath, ignoreCase) ? scriptPath.substr(rootDirectory.length) : undefined; - }); + }); // TODO: GH#18217 // Now find a path for each potential directory that is to be merged with the one containing the script return ts.deduplicate(rootDirs.map(function (rootDirectory) { return ts.combinePaths(rootDirectory, relativeDirectory); }), ts.equateStringsCaseSensitive, ts.compareStringsCaseSensitive); } @@ -87210,8 +87608,8 @@ var ts; // after the last '/' that appears in the fragment because that's where the replacement span // starts if (fragmentDirectory !== undefined) { - var moduleNameWithSeperator_1 = ts.ensureTrailingDirectorySeparator(fragmentDirectory); - return nonRelativeModuleNames.map(function (nonRelativeModuleName) { return ts.removePrefix(nonRelativeModuleName, moduleNameWithSeperator_1); }); + var moduleNameWithSeparator_1 = ts.ensureTrailingDirectorySeparator(fragmentDirectory); + return nonRelativeModuleNames.map(function (nonRelativeModuleName) { return ts.removePrefix(nonRelativeModuleName, moduleNameWithSeparator_1); }); } return nonRelativeModuleNames; } @@ -87321,7 +87719,7 @@ var ts; } return result; } - // Replace everything after the last directory seperator that appears + // Replace everything after the last directory separator that appears function getDirectoryFragmentTextSpan(text, textStart) { var index = Math.max(text.lastIndexOf(ts.directorySeparator), text.lastIndexOf("\\")); var offset = index !== -1 ? index + 1 : 0; @@ -87366,7 +87764,7 @@ var ts; return ts.directoryProbablyExists(path, host); } catch ( /*ignore*/_a) { /*ignore*/ } - return undefined; + return false; } function tryIOAndConsumeErrors(host, toApply) { var args = []; @@ -87414,7 +87812,7 @@ var ts; } var contextToken = ts.findPrecedingToken(position, sourceFile); if (triggerCharacter && !isValidTrigger(sourceFile, triggerCharacter, contextToken, position)) - return undefined; + return undefined; // TODO: GH#18217 if (ts.isInString(sourceFile, position, contextToken)) { return !contextToken || !ts.isStringLiteralLike(contextToken) ? undefined @@ -87424,7 +87822,7 @@ var ts; && (contextToken.kind === 72 /* BreakKeyword */ || contextToken.kind === 77 /* ContinueKeyword */ || contextToken.kind === 71 /* Identifier */)) { return getLabelCompletionAtPosition(contextToken.parent); } - var completionData = getCompletionData(program, log, sourceFile, position, preferences, /*detailsEntryId*/ undefined); + var completionData = getCompletionData(program, log, sourceFile, isUncheckedFile(sourceFile, compilerOptions), position, preferences, /*detailsEntryId*/ undefined); if (!completionData) { return undefined; } @@ -87494,9 +87892,9 @@ var ts; }] }; } var entries = []; - if (ts.isSourceFileJavaScript(sourceFile)) { + if (isUncheckedFile(sourceFile, compilerOptions)) { var uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, location, sourceFile, typeChecker, compilerOptions.target, log, completionKind, preferences, propertyAccessToConvert, isJsxInitializer, recommendedCompletion, symbolToOriginInfoMap); - getJavaScriptCompletionEntries(sourceFile, location.pos, uniqueNames, compilerOptions.target, entries); + getJavaScriptCompletionEntries(sourceFile, location.pos, uniqueNames, compilerOptions.target, entries); // TODO: GH#18217 } else { if ((!symbols || symbols.length === 0) && keywordFilters === 0 /* None */) { @@ -87514,6 +87912,9 @@ var ts; } return { isGlobalCompletion: isInSnippetScope, isMemberCompletion: isMemberCompletion, isNewIdentifierLocation: isNewIdentifierLocation, entries: entries }; } + function isUncheckedFile(sourceFile, compilerOptions) { + return ts.isSourceFileJavaScript(sourceFile) && !ts.isCheckJsEnabledForFile(sourceFile, compilerOptions); + } function isMemberCompletionKind(kind) { switch (kind) { case 0 /* ObjectPropertyDeclaration */: @@ -87632,7 +88033,7 @@ var ts; continue; } // Latter case tests whether this is a global variable. - if (!origin && !(symbol.parent === undefined && !ts.some(symbol.declarations, function (d) { return d.getSourceFile() === location.getSourceFile(); }))) { + if (!origin && !(symbol.parent === undefined && !ts.some(symbol.declarations, function (d) { return d.getSourceFile() === location.getSourceFile(); }))) { // TODO: GH#18217 uniques.set(name, true); } entries.push(entry); @@ -87678,11 +88079,11 @@ var ts; })(StringLiteralCompletionKind || (StringLiteralCompletionKind = {})); function getStringLiteralCompletionEntries(sourceFile, node, position, typeChecker, compilerOptions, host) { switch (node.parent.kind) { - case 177 /* LiteralType */: + case 178 /* LiteralType */: switch (node.parent.parent.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return { kind: 2 /* Types */, types: getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(node.parent), typeChecker), isNewIdentifier: false }; - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: // Get all apparent property names // i.e. interface Foo { // foo: string; @@ -87690,12 +88091,12 @@ var ts; // } // let x: Foo["/*completion position*/"] return stringLiteralCompletionsFromProperties(typeChecker.getTypeFromTypeNode(node.parent.parent.objectType)); - case 178 /* ImportType */: + case 179 /* ImportType */: return { kind: 0 /* Paths */, paths: Completions.PathCompletions.getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker) }; default: return undefined; } - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: if (ts.isObjectLiteralExpression(node.parent.parent) && node.parent.name === node) { // Get quoted name of properties of the object literal expression // i.e. interface ConfigFiles { @@ -87712,7 +88113,7 @@ var ts; return stringLiteralCompletionsFromProperties(typeChecker.getContextualType(node.parent.parent)); } return fromContextualType(); - case 185 /* ElementAccessExpression */: { + case 186 /* ElementAccessExpression */: { var _a = node.parent, expression = _a.expression, argumentExpression = _a.argumentExpression; if (node === argumentExpression) { // Get all names of properties on the expression @@ -87725,19 +88126,19 @@ var ts; } return undefined; } - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: if (!ts.isRequireCall(node.parent, /*checkArgumentIsStringLiteralLike*/ false) && !ts.isImportCall(node.parent)) { - var argumentInfo = ts.SignatureHelp.getImmediatelyContainingArgumentInfo(node, position, sourceFile); + var argumentInfo = ts.SignatureHelp.getArgumentInfoForCompletions(node, position, sourceFile); // Get string literal completions from specialized signatures of the target // i.e. declare function f(a: 'A'); // f("/*completion position*/") return argumentInfo ? getStringLiteralCompletionsFromSignature(argumentInfo, typeChecker) : fromContextualType(); } // falls through (is `require("")` or `import("")`) - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: - case 253 /* ExternalModuleReference */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: + case 254 /* ExternalModuleReference */: // Get all known external module names or complete a path to a module // i.e. import * as ns from "/*completion position*/"; // var y = import("/*completion position*/"); @@ -87763,7 +88164,7 @@ var ts; if (!candidate.hasRestParameter && argumentInfo.argumentCount > candidate.parameters.length) return; var type = checker.getParameterType(candidate, argumentInfo.argumentIndex); - isNewIdentifier = isNewIdentifier || !!(type.flags & 2 /* String */); + isNewIdentifier = isNewIdentifier || !!(type.flags & 4 /* String */); return getStringLiteralTypes(type, checker, uniques); }); return { kind: 2 /* Types */, types: types, isNewIdentifier: isNewIdentifier }; @@ -87778,12 +88179,13 @@ var ts; type = ts.skipConstraint(type); return type.isUnion() ? ts.flatMap(type.types, function (t) { return getStringLiteralTypes(t, typeChecker, uniques); }) - : type.isStringLiteral() && !(type.flags & 256 /* EnumLiteral */) && ts.addToSeen(uniques, type.value) + : type.isStringLiteral() && !(type.flags & 512 /* EnumLiteral */) && ts.addToSeen(uniques, type.value) ? [type] : ts.emptyArray; } function getSymbolCompletionFromEntryId(program, log, sourceFile, position, entryId) { - var completionData = getCompletionData(program, log, sourceFile, position, { includeCompletionsForModuleExports: true, includeCompletionsWithInsertText: true }, entryId); + var compilerOptions = program.getCompilerOptions(); + var completionData = getCompletionData(program, log, sourceFile, isUncheckedFile(sourceFile, compilerOptions), position, { includeCompletionsForModuleExports: true, includeCompletionsWithInsertText: true }, entryId); if (!completionData) { return { type: "none" }; } @@ -87797,7 +88199,7 @@ var ts; // completion entry. return ts.firstDefined(symbols, function (symbol) { var origin = symbolToOriginInfoMap[ts.getSymbolId(symbol)]; - var info = getCompletionEntryDisplayNameForSymbol(symbol, program.getCompilerOptions().target, origin, completionKind); + var info = getCompletionEntryDisplayNameForSymbol(symbol, compilerOptions.target, origin, completionKind); return info && info.name === entryId.name && getSourceFromOrigin(origin) === entryId.source ? { type: "symbol", symbol: symbol, location: location, symbolToOriginInfoMap: symbolToOriginInfoMap, previousToken: previousToken, isJsxInitializer: isJsxInitializer } : undefined; @@ -87819,7 +88221,7 @@ var ts; var stringLiteralCompletions = !contextToken || !ts.isStringLiteralLike(contextToken) ? undefined : getStringLiteralCompletionEntries(sourceFile, contextToken, position, typeChecker, compilerOptions, host); - return stringLiteralCompletions && stringLiteralCompletionDetails(name, contextToken, stringLiteralCompletions, sourceFile, typeChecker, cancellationToken); + return stringLiteralCompletions && stringLiteralCompletionDetails(name, contextToken, stringLiteralCompletions, sourceFile, typeChecker, cancellationToken); // TODO: GH#18217 } // Compute all the completion symbols again. var symbolCompletion = getSymbolCompletionFromEntryId(program, log, sourceFile, position, entryId); @@ -87840,7 +88242,7 @@ var ts; case "symbol": { var symbol = symbolCompletion.symbol, location = symbolCompletion.location, symbolToOriginInfoMap = symbolCompletion.symbolToOriginInfoMap, previousToken = symbolCompletion.previousToken; var _a = getCompletionEntryCodeActionsAndSourceDisplay(symbolToOriginInfoMap, symbol, program, typeChecker, host, compilerOptions, sourceFile, previousToken, formatContext, getCanonicalFileName, program.getSourceFiles(), preferences), codeActions = _a.codeActions, sourceDisplay = _a.sourceDisplay; - return createCompletionDetailsForSymbol(symbol, typeChecker, sourceFile, location, cancellationToken, codeActions, sourceDisplay); + return createCompletionDetailsForSymbol(symbol, typeChecker, sourceFile, location, cancellationToken, codeActions, sourceDisplay); // TODO: GH#18217 } case "none": // Didn't find a symbol with this name. See if we can find a keyword instead. @@ -87879,7 +88281,7 @@ var ts; return { codeActions: undefined, sourceDisplay: undefined }; } var moduleSymbol = symbolOriginInfo.moduleSymbol; - var exportedSymbol = ts.skipAlias(symbol.exportSymbol || symbol, checker); + var exportedSymbol = checker.getMergedSymbol(ts.skipAlias(symbol.exportSymbol || symbol, checker)); var _a = ts.codefix.getImportCompletionAction(exportedSymbol, moduleSymbol, sourceFile, getSymbolName(symbol, symbolOriginInfo, compilerOptions.target), host, program, checker, compilerOptions, allSourceFiles, formatContext, getCanonicalFileName, previousToken, preferences), moduleSpecifier = _a.moduleSpecifier, codeAction = _a.codeAction; return { sourceDisplay: [ts.textPart(moduleSpecifier)], codeActions: [codeAction] }; } @@ -87905,12 +88307,15 @@ var ts; CompletionKind[CompletionKind["None"] = 5] = "None"; })(CompletionKind || (CompletionKind = {})); function getRecommendedCompletion(currentToken, position, sourceFile, checker) { - var ty = getContextualType(currentToken, position, sourceFile, checker); - var symbol = ty && ty.symbol; - // Don't include make a recommended completion for an abstract class - return symbol && (symbol.flags & 384 /* Enum */ || symbol.flags & 32 /* Class */ && !ts.isAbstractConstructorSymbol(symbol)) - ? getFirstSymbolInChain(symbol, currentToken, checker) - : undefined; + var contextualType = getContextualType(currentToken, position, sourceFile, checker); + // For a union, return the first one with a recommended completion. + return ts.firstDefined(contextualType && (contextualType.isUnion() ? contextualType.types : [contextualType]), function (type) { + var symbol = type && type.symbol; + // Don't include make a recommended completion for an abstract class + return symbol && (symbol.flags & (8 /* EnumMember */ | 384 /* Enum */ | 32 /* Class */) && !ts.isAbstractConstructorSymbol(symbol)) + ? getFirstSymbolInChain(symbol, currentToken, checker) + : undefined; + }); } function getContextualType(currentToken, position, sourceFile, checker) { var parent = currentToken.parent; @@ -87919,11 +88324,11 @@ var ts; return getContextualTypeFromParent(currentToken, checker); case 58 /* EqualsToken */: switch (parent.kind) { - case 231 /* VariableDeclaration */: - return checker.getContextualType(parent.initializer); - case 199 /* BinaryExpression */: + case 232 /* VariableDeclaration */: + return checker.getContextualType(parent.initializer); // TODO: GH#18217 + case 200 /* BinaryExpression */: return checker.getTypeAtLocation(parent.left); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return checker.getContextualTypeForJsxAttribute(parent); default: return undefined; @@ -87933,9 +88338,9 @@ var ts; case 73 /* CaseKeyword */: return getSwitchedType(ts.cast(parent, ts.isCaseClause), checker); case 17 /* OpenBraceToken */: - return ts.isJsxExpression(parent) && parent.parent.kind !== 254 /* JsxElement */ ? checker.getContextualTypeForJsxAttribute(parent.parent) : undefined; + return ts.isJsxExpression(parent) && parent.parent.kind !== 255 /* JsxElement */ ? checker.getContextualTypeForJsxAttribute(parent.parent) : undefined; default: - var argInfo = ts.SignatureHelp.getImmediatelyContainingArgumentInfo(currentToken, position, sourceFile); + var argInfo = ts.SignatureHelp.getArgumentInfoForCompletions(currentToken, position, sourceFile); return argInfo // At `,`, treat this as the next argument after the comma. ? checker.getContextualTypeForArgumentAtIndex(argInfo.invocation, argInfo.argumentIndex + (currentToken.kind === 26 /* CommaToken */ ? 1 : 0)) @@ -87948,15 +88353,15 @@ var ts; function getContextualTypeFromParent(node, checker) { var parent = node.parent; switch (parent.kind) { - case 187 /* NewExpression */: + case 188 /* NewExpression */: return checker.getContextualType(parent); - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var _a = parent, left = _a.left, operatorToken = _a.operatorToken, right = _a.right; return isEqualityOperatorKind(operatorToken.kind) ? checker.getTypeAtLocation(node === right ? left : right) : checker.getContextualType(node); } - case 265 /* CaseClause */: + case 266 /* CaseClause */: return parent.expression === node ? getSwitchedType(parent, checker) : undefined; default: return checker.getContextualType(node); @@ -87972,9 +88377,9 @@ var ts; return symbol.parent && (isModuleSymbol(symbol.parent) ? symbol : getFirstSymbolInChain(symbol.parent, enclosingDeclaration, checker)); } function isModuleSymbol(symbol) { - return symbol.declarations.some(function (d) { return d.kind === 273 /* SourceFile */; }); + return symbol.declarations.some(function (d) { return d.kind === 274 /* SourceFile */; }); } - function getCompletionData(program, log, sourceFile, position, preferences, detailsEntryId) { + function getCompletionData(program, log, sourceFile, isUncheckedFile, position, preferences, detailsEntryId) { var typeChecker = program.getTypeChecker(); var start = ts.timestamp(); var currentToken = ts.getTokenAtPosition(sourceFile, position, /*includeJsDocComment*/ false); // TODO: GH#15853 @@ -88024,11 +88429,11 @@ var ts; if (tag.tagName.pos <= position && position <= tag.tagName.end) { return { kind: 1 /* JsDocTagName */ }; } - if (isTagWithTypeExpression(tag) && tag.typeExpression && tag.typeExpression.kind === 277 /* JSDocTypeExpression */) { + if (isTagWithTypeExpression(tag) && tag.typeExpression && tag.typeExpression.kind === 278 /* JSDocTypeExpression */) { currentToken = ts.getTokenAtPosition(sourceFile, position, /*includeJsDocComment*/ true); if (!currentToken || (!ts.isDeclarationName(currentToken) && - (currentToken.parent.kind !== 297 /* JSDocPropertyTag */ || + (currentToken.parent.kind !== 298 /* JSDocPropertyTag */ || currentToken.parent.name !== currentToken))) { // Use as type location if inside tag's type expression insideJsDocTagTypeExpression = isCurrentlyEditingNode(tag.typeExpression); @@ -88046,7 +88451,7 @@ var ts; } } start = ts.timestamp(); - var previousToken = ts.findPrecedingToken(position, sourceFile, /*startNode*/ undefined, insideJsDocTagTypeExpression); + var previousToken = ts.findPrecedingToken(position, sourceFile, /*startNode*/ undefined, insideJsDocTagTypeExpression); // TODO: GH#18217 log("getCompletionData: Get previous token 1: " + (ts.timestamp() - start)); // The decision to provide completion depends on the contextToken, which is determined through the previousToken. // Note: 'previousToken' (and thus 'contextToken') can be undefined if we are the beginning of the file @@ -88055,7 +88460,7 @@ var ts; // Skip this partial identifier and adjust the contextToken to the token that precedes it. if (contextToken && position <= contextToken.end && (ts.isIdentifier(contextToken) || ts.isKeyword(contextToken.kind))) { var start_4 = ts.timestamp(); - contextToken = ts.findPrecedingToken(contextToken.getFullStart(), sourceFile, /*startNode*/ undefined, insideJsDocTagTypeExpression); + contextToken = ts.findPrecedingToken(contextToken.getFullStart(), sourceFile, /*startNode*/ undefined, insideJsDocTagTypeExpression); // TODO: GH#18217 log("getCompletionData: Get previous token 2: " + (ts.timestamp() - start_4)); } // Find the node where completion is requested on. @@ -88078,14 +88483,15 @@ var ts; if (contextToken.kind === 23 /* DotToken */) { isRightOfDot = true; switch (parent.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: propertyAccessToConvert = parent; node = propertyAccessToConvert.expression; break; - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: node = parent.left; break; - case 178 /* ImportType */: + case 179 /* ImportType */: + case 210 /* MetaProperty */: node = parent; break; default: @@ -88098,7 +88504,7 @@ var ts; // // If the tagname is a property access expression, we will then walk up to the top most of property access expression. // Then, try to get a JSX container and its associated attributes type. - if (parent && parent.kind === 184 /* PropertyAccessExpression */) { + if (parent && parent.kind === 185 /* PropertyAccessExpression */) { contextToken = parent; parent = parent.parent; } @@ -88106,39 +88512,39 @@ var ts; if (currentToken.parent === location) { switch (currentToken.kind) { case 29 /* GreaterThanToken */: - if (currentToken.parent.kind === 254 /* JsxElement */ || currentToken.parent.kind === 256 /* JsxOpeningElement */) { + if (currentToken.parent.kind === 255 /* JsxElement */ || currentToken.parent.kind === 257 /* JsxOpeningElement */) { location = currentToken; } break; case 41 /* SlashToken */: - if (currentToken.parent.kind === 255 /* JsxSelfClosingElement */) { + if (currentToken.parent.kind === 256 /* JsxSelfClosingElement */) { location = currentToken; } break; } } switch (parent.kind) { - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: if (contextToken.kind === 41 /* SlashToken */) { isStartingCloseTag = true; location = contextToken; } break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (!(parent.left.flags & 32768 /* ThisNodeHasError */)) { // It has a left-hand side, so we're not in an opening JSX tag. break; } // falls through - case 255 /* JsxSelfClosingElement */: - case 254 /* JsxElement */: - case 256 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: + case 255 /* JsxElement */: + case 257 /* JsxOpeningElement */: if (contextToken.kind === 27 /* LessThanToken */) { isRightOfOpenTag = true; location = contextToken; } break; - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: switch (previousToken.kind) { case 58 /* EqualsToken */: isJsxInitializer = true; @@ -88189,12 +88595,14 @@ var ts; return { kind: 0 /* Data */, symbols: symbols, completionKind: completionKind, isInSnippetScope: isInSnippetScope, propertyAccessToConvert: propertyAccessToConvert, isNewIdentifierLocation: isNewIdentifierLocation, location: location, keywordFilters: keywordFilters, symbolToOriginInfoMap: symbolToOriginInfoMap, recommendedCompletion: recommendedCompletion, previousToken: previousToken, isJsxInitializer: isJsxInitializer }; function isTagWithTypeExpression(tag) { switch (tag.kind) { - case 292 /* JSDocParameterTag */: - case 297 /* JSDocPropertyTag */: - case 293 /* JSDocReturnTag */: - case 294 /* JSDocTypeTag */: - case 296 /* JSDocTypedefTag */: + case 293 /* JSDocParameterTag */: + case 298 /* JSDocPropertyTag */: + case 294 /* JSDocReturnTag */: + case 295 /* JSDocTypeTag */: + case 297 /* JSDocTypedefTag */: return true; + default: + return false; } } function getTypeScriptMemberSymbols() { @@ -88225,20 +88633,25 @@ var ts; } } // If the module is merged with a value, we must get the type of the class and add its propertes (for inherited static methods). - if (!isTypeLocation && symbol.declarations.some(function (d) { return d.kind !== 273 /* SourceFile */ && d.kind !== 238 /* ModuleDeclaration */ && d.kind !== 237 /* EnumDeclaration */; })) { + if (!isTypeLocation && symbol.declarations.some(function (d) { return d.kind !== 274 /* SourceFile */ && d.kind !== 239 /* ModuleDeclaration */ && d.kind !== 238 /* EnumDeclaration */; })) { addTypeProperties(typeChecker.getTypeOfSymbolAtLocation(symbol, node)); } return; } } } + if (ts.isMetaProperty(node) && (node.keywordToken === 94 /* NewKeyword */ || node.keywordToken === 91 /* ImportKeyword */)) { + var completion = (node.keywordToken === 94 /* NewKeyword */) ? "target" : "meta"; + symbols.push(typeChecker.createSymbol(4 /* Property */, ts.escapeLeadingUnderscores(completion))); + return; + } if (!isTypeLocation) { addTypeProperties(typeChecker.getTypeAtLocation(node)); } } function addTypeProperties(type) { isNewIdentifierLocation = hasIndexSignature(type); - if (ts.isSourceFileJavaScript(sourceFile)) { + if (isUncheckedFile) { // In javascript files, for union types, we don't just get the members that // the individual types have in common, we also include all the members that // each individual type has. This is because we're going to add all identifiers @@ -88249,7 +88662,7 @@ var ts; else { for (var _i = 0, _a = type.getApparentProperties(); _i < _a.length; _i++) { var symbol = _a[_i]; - if (typeChecker.isValidPropertyAccessForCompletions(node.kind === 178 /* ImportType */ ? node : node.parent, type, symbol)) { + if (typeChecker.isValidPropertyAccessForCompletions(node.kind === 179 /* ImportType */ ? node : node.parent, type, symbol)) { addPropertySymbol(symbol); } } @@ -88259,7 +88672,7 @@ var ts; // If this is e.g. [Symbol.iterator], add a completion for `Symbol`. var symbolSymbol = ts.firstDefined(symbol.declarations, function (decl) { var name = ts.getNameOfDeclaration(decl); - var leftName = name.kind === 146 /* ComputedPropertyName */ ? getLeftMostName(name.expression) : undefined; + var leftName = name.kind === 147 /* ComputedPropertyName */ ? getLeftMostName(name.expression) : undefined; return leftName && typeChecker.getSymbolAtLocation(leftName); }); if (symbolSymbol) { @@ -88348,7 +88761,7 @@ var ts; var symbolMeanings = 67901928 /* Type */ | 67216319 /* Value */ | 1920 /* Namespace */ | 2097152 /* Alias */; symbols = ts.Debug.assertEachDefined(typeChecker.getSymbolsInScope(scopeNode, symbolMeanings), "getSymbolsInScope() should all be defined"); // Need to insert 'this.' before properties of `this` type, so only do that if `includeInsertTextCompletions` - if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 273 /* SourceFile */) { + if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 274 /* SourceFile */) { var thisType = typeChecker.tryGetThisTypeAt(scopeNode); if (thisType) { for (var _i = 0, _a = getPropertiesForCompletion(thisType, typeChecker, /*isForAccess*/ true); _i < _a.length; _i++) { @@ -88377,17 +88790,17 @@ var ts; if (ts.programContainsEs6Modules(program)) return true; // For JS, stay on the safe side. - if (ts.isSourceFileJavaScript(sourceFile)) + if (isUncheckedFile) return false; // If module transpilation is enabled or we're targeting es6 or above, or not emitting, OK. return ts.compilerOptionsIndicateEs6Modules(program.getCompilerOptions()); } function isSnippetScope(scopeNode) { switch (scopeNode.kind) { - case 273 /* SourceFile */: - case 201 /* TemplateExpression */: - case 264 /* JsxExpression */: - case 212 /* Block */: + case 274 /* SourceFile */: + case 202 /* TemplateExpression */: + case 265 /* JsxExpression */: + case 213 /* Block */: return true; default: return ts.isStatement(scopeNode); @@ -88424,22 +88837,22 @@ var ts; function isContextTokenValueLocation(contextToken) { return contextToken && contextToken.kind === 103 /* TypeOfKeyword */ && - (contextToken.parent.kind === 164 /* TypeQuery */ || ts.isTypeOfExpression(contextToken.parent)); + (contextToken.parent.kind === 165 /* TypeQuery */ || ts.isTypeOfExpression(contextToken.parent)); } function isContextTokenTypeLocation(contextToken) { if (contextToken) { var parentKind = contextToken.parent.kind; switch (contextToken.kind) { case 56 /* ColonToken */: - return parentKind === 151 /* PropertyDeclaration */ || - parentKind === 150 /* PropertySignature */ || - parentKind === 148 /* Parameter */ || - parentKind === 231 /* VariableDeclaration */ || + return parentKind === 152 /* PropertyDeclaration */ || + parentKind === 151 /* PropertySignature */ || + parentKind === 149 /* Parameter */ || + parentKind === 232 /* VariableDeclaration */ || ts.isFunctionLikeKind(parentKind); case 58 /* EqualsToken */: - return parentKind === 236 /* TypeAliasDeclaration */; + return parentKind === 237 /* TypeAliasDeclaration */; case 118 /* AsKeyword */: - return parentKind === 207 /* AsExpression */; + return parentKind === 208 /* AsExpression */; } } return false; @@ -88457,14 +88870,21 @@ var ts; // symbol can be referenced at locations where type is allowed return exportedSymbols.some(symbolCanBeReferencedAtTypeLocation); } + return false; } function getSymbolsFromOtherSourceFileExports(symbols, tokenText, target) { var tokenTextLowerCase = tokenText.toLowerCase(); + var seenResolvedModules = ts.createMap(); ts.codefix.forEachExternalModuleToImportFrom(typeChecker, sourceFile, program.getSourceFiles(), function (moduleSymbol) { // Perf -- ignore other modules if this is a request for details if (detailsEntryId && detailsEntryId.source && ts.stripQuotes(moduleSymbol.name) !== detailsEntryId.source) { return; } + var resolvedModuleSymbol = typeChecker.resolveExternalModuleSymbol(moduleSymbol); + // resolvedModuleSymbol may be a namespace. A namespace may be `export =` by multiple module declarations, but only keep the first one. + if (!ts.addToSeen(seenResolvedModules, ts.getSymbolId(resolvedModuleSymbol))) { + return; + } for (var _i = 0, _a = typeChecker.getExportsOfModule(moduleSymbol); _i < _a.length; _i++) { var symbol = _a[_i]; // Don't add a completion for a re-export, only for the original. @@ -88473,7 +88893,7 @@ var ts; // // If `symbol.parent !== ...`, this comes from an `export * from "foo"` re-export. Those don't create new symbols. // If `some(...)`, this comes from an `export { foo } from "foo"` re-export, which creates a new symbol (thus isn't caught by the first check). - if (typeChecker.getMergedSymbol(symbol.parent) !== typeChecker.resolveExternalModuleSymbol(moduleSymbol) + if (typeChecker.getMergedSymbol(symbol.parent) !== resolvedModuleSymbol || ts.some(symbol.declarations, function (d) { return ts.isExportSpecifier(d) && !!d.parent.parent.moduleSpecifier; })) { continue; } @@ -88535,11 +88955,11 @@ var ts; return true; } if (contextToken.kind === 29 /* GreaterThanToken */ && contextToken.parent) { - if (contextToken.parent.kind === 256 /* JsxOpeningElement */) { + if (contextToken.parent.kind === 257 /* JsxOpeningElement */) { return true; } - if (contextToken.parent.kind === 257 /* JsxClosingElement */ || contextToken.parent.kind === 255 /* JsxSelfClosingElement */) { - return contextToken.parent.parent && contextToken.parent.parent.kind === 254 /* JsxElement */; + if (contextToken.parent.kind === 258 /* JsxClosingElement */ || contextToken.parent.kind === 256 /* JsxSelfClosingElement */) { + return !!contextToken.parent.parent && contextToken.parent.parent.kind === 255 /* JsxElement */; } } return false; @@ -88549,40 +88969,40 @@ var ts; var containingNodeKind = previousToken.parent.kind; switch (previousToken.kind) { case 26 /* CommaToken */: - return containingNodeKind === 186 /* CallExpression */ // func( a, | - || containingNodeKind === 154 /* Constructor */ // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ - || containingNodeKind === 187 /* NewExpression */ // new C(a, | - || containingNodeKind === 182 /* ArrayLiteralExpression */ // [a, | - || containingNodeKind === 199 /* BinaryExpression */ // const x = (a, | - || containingNodeKind === 162 /* FunctionType */; // var x: (s: string, list| + return containingNodeKind === 187 /* CallExpression */ // func( a, | + || containingNodeKind === 155 /* Constructor */ // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ + || containingNodeKind === 188 /* NewExpression */ // new C(a, | + || containingNodeKind === 183 /* ArrayLiteralExpression */ // [a, | + || containingNodeKind === 200 /* BinaryExpression */ // const x = (a, | + || containingNodeKind === 163 /* FunctionType */; // var x: (s: string, list| case 19 /* OpenParenToken */: - return containingNodeKind === 186 /* CallExpression */ // func( | - || containingNodeKind === 154 /* Constructor */ // constructor( | - || containingNodeKind === 187 /* NewExpression */ // new C(a| - || containingNodeKind === 190 /* ParenthesizedExpression */ // const x = (a| - || containingNodeKind === 172 /* ParenthesizedType */; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ + return containingNodeKind === 187 /* CallExpression */ // func( | + || containingNodeKind === 155 /* Constructor */ // constructor( | + || containingNodeKind === 188 /* NewExpression */ // new C(a| + || containingNodeKind === 191 /* ParenthesizedExpression */ // const x = (a| + || containingNodeKind === 173 /* ParenthesizedType */; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ case 21 /* OpenBracketToken */: - return containingNodeKind === 182 /* ArrayLiteralExpression */ // [ | - || containingNodeKind === 159 /* IndexSignature */ // [ | : string ] - || containingNodeKind === 146 /* ComputedPropertyName */; // [ | /* this can become an index signature */ + return containingNodeKind === 183 /* ArrayLiteralExpression */ // [ | + || containingNodeKind === 160 /* IndexSignature */ // [ | : string ] + || containingNodeKind === 147 /* ComputedPropertyName */; // [ | /* this can become an index signature */ case 129 /* ModuleKeyword */: // module | case 130 /* NamespaceKeyword */: // namespace | return true; case 23 /* DotToken */: - return containingNodeKind === 238 /* ModuleDeclaration */; // module A.| + return containingNodeKind === 239 /* ModuleDeclaration */; // module A.| case 17 /* OpenBraceToken */: - return containingNodeKind === 234 /* ClassDeclaration */; // class A{ | + return containingNodeKind === 235 /* ClassDeclaration */; // class A{ | case 58 /* EqualsToken */: - return containingNodeKind === 231 /* VariableDeclaration */ // const x = a| - || containingNodeKind === 199 /* BinaryExpression */; // x = a| + return containingNodeKind === 232 /* VariableDeclaration */ // const x = a| + || containingNodeKind === 200 /* BinaryExpression */; // x = a| case 14 /* TemplateHead */: - return containingNodeKind === 201 /* TemplateExpression */; // `aa ${| + return containingNodeKind === 202 /* TemplateExpression */; // `aa ${| case 15 /* TemplateMiddle */: - return containingNodeKind === 210 /* TemplateSpan */; // `aa ${10} dd ${| + return containingNodeKind === 211 /* TemplateSpan */; // `aa ${10} dd ${| case 114 /* PublicKeyword */: case 112 /* PrivateKeyword */: case 113 /* ProtectedKeyword */: - return containingNodeKind === 151 /* PropertyDeclaration */; // class A{ public | + return containingNodeKind === 152 /* PropertyDeclaration */; // class A{ public | } // Previous token may have been a keyword that was converted to an identifier. switch (keywordForNode(previousToken)) { @@ -88595,24 +89015,12 @@ var ts; return false; } function isInStringOrRegularExpressionOrTemplateLiteral(contextToken) { - if (contextToken.kind === 9 /* StringLiteral */ - || contextToken.kind === 12 /* RegularExpressionLiteral */ - || ts.isTemplateLiteralKind(contextToken.kind)) { - var start_5 = contextToken.getStart(); - var end = contextToken.getEnd(); - // To be "in" one of these literals, the position has to be: - // 1. entirely within the token text. - // 2. at the end position of an unterminated token. - // 3. at the end of a regular expression (due to trailing flags like '/foo/g'). - if (start_5 < position && position < end) { - return true; - } - if (position === end) { - return !!contextToken.isUnterminated - || contextToken.kind === 12 /* RegularExpressionLiteral */; - } - } - return false; + // To be "in" one of these literals, the position has to be: + // 1. entirely within the token text. + // 2. at the end position of an unterminated token. + // 3. at the end of a regular expression (due to trailing flags like '/foo/g'). + return (ts.isRegularExpressionLiteral(contextToken) || ts.isStringTextContainingNode(contextToken)) && (ts.rangeContainsPositionExclusive(ts.createTextRangeFromSpan(ts.createTextSpanFromNode(contextToken)), position) || + position === contextToken.end && (!!contextToken.isUnterminated || ts.isRegularExpressionLiteral(contextToken))); } /** * Aggregates relevant symbols for completion in object literals and object binding patterns. @@ -88628,7 +89036,7 @@ var ts; completionKind = 0 /* ObjectPropertyDeclaration */; var typeMembers; var existingMembers; - if (objectLikeContainer.kind === 183 /* ObjectLiteralExpression */) { + if (objectLikeContainer.kind === 184 /* ObjectLiteralExpression */) { var typeForObject = typeChecker.getContextualType(objectLikeContainer); if (!typeForObject) return 2 /* Fail */; @@ -88637,7 +89045,7 @@ var ts; existingMembers = objectLikeContainer.properties; } else { - ts.Debug.assert(objectLikeContainer.kind === 179 /* ObjectBindingPattern */); + ts.Debug.assert(objectLikeContainer.kind === 180 /* ObjectBindingPattern */); // We are *only* completing on properties from the type being destructured. isNewIdentifierLocation = false; var rootDeclaration = ts.getRootDeclaration(objectLikeContainer.parent); @@ -88648,12 +89056,12 @@ var ts; // through type declaration or inference. // Also proceed if rootDeclaration is a parameter and if its containing function expression/arrow function is contextually typed - // type of parameter will flow in from the contextual type of the function - var canGetType = ts.hasInitializer(rootDeclaration) || ts.hasType(rootDeclaration) || rootDeclaration.parent.parent.kind === 221 /* ForOfStatement */; - if (!canGetType && rootDeclaration.kind === 148 /* Parameter */) { + var canGetType = ts.hasInitializer(rootDeclaration) || ts.hasType(rootDeclaration) || rootDeclaration.parent.parent.kind === 222 /* ForOfStatement */; + if (!canGetType && rootDeclaration.kind === 149 /* Parameter */) { if (ts.isExpression(rootDeclaration.parent)) { canGetType = !!typeChecker.getContextualType(rootDeclaration.parent); } - else if (rootDeclaration.parent.kind === 153 /* MethodDeclaration */ || rootDeclaration.parent.kind === 156 /* SetAccessor */) { + else if (rootDeclaration.parent.kind === 154 /* MethodDeclaration */ || rootDeclaration.parent.kind === 157 /* SetAccessor */) { canGetType = ts.isExpression(rootDeclaration.parent.parent) && !!typeChecker.getContextualType(rootDeclaration.parent.parent); } } @@ -88695,8 +89103,8 @@ var ts; return 0 /* Continue */; // cursor is in an import clause // try to show exported member for imported module - var moduleSpecifier = (namedImportsOrExports.kind === 246 /* NamedImports */ ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; - var moduleSpecifierSymbol = typeChecker.getSymbolAtLocation(moduleSpecifier); + var moduleSpecifier = (namedImportsOrExports.kind === 247 /* NamedImports */ ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; + var moduleSpecifierSymbol = typeChecker.getSymbolAtLocation(moduleSpecifier); // TODO: GH#18217 if (!moduleSpecifierSymbol) return 2 /* Fail */; completionKind = 3 /* MemberLike */; @@ -88723,7 +89131,7 @@ var ts; if (!ts.isClassLike(decl)) return 1 /* Success */; var classElement = contextToken.parent; - var classElementModifierFlags = ts.isClassElement(classElement) && ts.getModifierFlags(classElement); + var classElementModifierFlags = ts.isClassElement(classElement) ? ts.getModifierFlags(classElement) : 0 /* None */; // If this is context token is not something we are editing now, consider if this would lead to be modifier if (contextToken.kind === 71 /* Identifier */ && !isCurrentlyEditingNode(contextToken)) { switch (contextToken.getText()) { @@ -88739,7 +89147,7 @@ var ts; if (!(classElementModifierFlags & 8 /* Private */)) { // List of property symbols of base type that are not private and already implemented var baseSymbols = ts.flatMap(ts.getAllSuperTypeNodes(decl), function (baseTypeNode) { - var type = typeChecker.getTypeAtLocation(baseTypeNode); + var type = typeChecker.getTypeAtLocation(baseTypeNode); // TODO: GH#18217 return typeChecker.getPropertiesOfType(classElementModifierFlags & 32 /* Static */ ? typeChecker.getTypeOfSymbolAtLocation(type.symbol, decl) : type); }); symbols = filterClassMembersList(baseSymbols, decl.members, classElementModifierFlags); @@ -88774,13 +89182,14 @@ var ts; */ function tryGetConstructorLikeCompletionContainer(contextToken) { if (contextToken) { + var parent = contextToken.parent; switch (contextToken.kind) { case 19 /* OpenParenToken */: case 26 /* CommaToken */: - return ts.isConstructorDeclaration(contextToken.parent) && contextToken.parent; + return ts.isConstructorDeclaration(contextToken.parent) ? contextToken.parent : undefined; default: if (isConstructorParameterCompletion(contextToken)) { - return contextToken.parent.parent; + return parent.parent; } } } @@ -88797,6 +89206,7 @@ var ts; return true; } prev_1 = node; + return false; }); return container && container; } @@ -88808,14 +89218,14 @@ var ts; case 28 /* LessThanSlashToken */: case 41 /* SlashToken */: case 71 /* Identifier */: - case 184 /* PropertyAccessExpression */: - case 262 /* JsxAttributes */: - case 261 /* JsxAttribute */: - case 263 /* JsxSpreadAttribute */: - if (parent && (parent.kind === 255 /* JsxSelfClosingElement */ || parent.kind === 256 /* JsxOpeningElement */)) { + case 185 /* PropertyAccessExpression */: + case 263 /* JsxAttributes */: + case 262 /* JsxAttribute */: + case 264 /* JsxSpreadAttribute */: + if (parent && (parent.kind === 256 /* JsxSelfClosingElement */ || parent.kind === 257 /* JsxOpeningElement */)) { return parent; } - else if (parent.kind === 261 /* JsxAttribute */) { + else if (parent.kind === 262 /* JsxAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -88827,7 +89237,7 @@ var ts; // its parent is a JsxExpression, whose parent is a JsxAttribute, // whose parent is a JsxOpeningLikeElement case 9 /* StringLiteral */: - if (parent && ((parent.kind === 261 /* JsxAttribute */) || (parent.kind === 263 /* JsxSpreadAttribute */))) { + if (parent && ((parent.kind === 262 /* JsxAttribute */) || (parent.kind === 264 /* JsxSpreadAttribute */))) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -88837,8 +89247,8 @@ var ts; break; case 18 /* CloseBraceToken */: if (parent && - parent.kind === 264 /* JsxExpression */ && - parent.parent && parent.parent.kind === 261 /* JsxAttribute */) { + parent.kind === 265 /* JsxExpression */ && + parent.parent && parent.parent.kind === 262 /* JsxAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -88846,7 +89256,7 @@ var ts; // each JsxAttribute can have initializer as JsxExpression return parent.parent.parent.parent; } - if (parent && parent.kind === 263 /* JsxSpreadAttribute */) { + if (parent && parent.kind === 264 /* JsxSpreadAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -88862,53 +89272,53 @@ var ts; * @returns true if we are certain that the currently edited location must define a new location; false otherwise. */ function isSolelyIdentifierDefinitionLocation(contextToken) { - var containingNodeKind = contextToken.parent.kind; + var parent = contextToken.parent; + var containingNodeKind = parent.kind; switch (contextToken.kind) { case 26 /* CommaToken */: - return containingNodeKind === 231 /* VariableDeclaration */ || - containingNodeKind === 232 /* VariableDeclarationList */ || - containingNodeKind === 213 /* VariableStatement */ || - containingNodeKind === 237 /* EnumDeclaration */ || // enum a { foo, | + return containingNodeKind === 232 /* VariableDeclaration */ || + containingNodeKind === 233 /* VariableDeclarationList */ || + containingNodeKind === 214 /* VariableStatement */ || + containingNodeKind === 238 /* EnumDeclaration */ || // enum a { foo, | isFunctionLikeButNotConstructor(containingNodeKind) || - containingNodeKind === 235 /* InterfaceDeclaration */ || // interface A= contextToken.pos); + (ts.isClassLike(parent) && + !!parent.typeParameters && + parent.typeParameters.end >= contextToken.pos); case 23 /* DotToken */: - return containingNodeKind === 180 /* ArrayBindingPattern */; // var [.| + return containingNodeKind === 181 /* ArrayBindingPattern */; // var [.| case 56 /* ColonToken */: - return containingNodeKind === 181 /* BindingElement */; // var {x :html| + return containingNodeKind === 182 /* BindingElement */; // var {x :html| case 21 /* OpenBracketToken */: - return containingNodeKind === 180 /* ArrayBindingPattern */; // var [x| + return containingNodeKind === 181 /* ArrayBindingPattern */; // var [x| case 19 /* OpenParenToken */: - return containingNodeKind === 268 /* CatchClause */ || + return containingNodeKind === 269 /* CatchClause */ || isFunctionLikeButNotConstructor(containingNodeKind); case 17 /* OpenBraceToken */: - return containingNodeKind === 237 /* EnumDeclaration */; // enum a { | + return containingNodeKind === 238 /* EnumDeclaration */; // enum a { | case 27 /* LessThanToken */: - return containingNodeKind === 234 /* ClassDeclaration */ || // class A< | - containingNodeKind === 204 /* ClassExpression */ || // var C = class D< | - containingNodeKind === 235 /* InterfaceDeclaration */ || // interface A< | - containingNodeKind === 236 /* TypeAliasDeclaration */ || // type List< | + return containingNodeKind === 235 /* ClassDeclaration */ || // class A< | + containingNodeKind === 205 /* ClassExpression */ || // var C = class D< | + containingNodeKind === 236 /* InterfaceDeclaration */ || // interface A< | + containingNodeKind === 237 /* TypeAliasDeclaration */ || // type List< | ts.isFunctionLikeKind(containingNodeKind); case 115 /* StaticKeyword */: - return containingNodeKind === 151 /* PropertyDeclaration */ && !ts.isClassLike(contextToken.parent.parent); + return containingNodeKind === 152 /* PropertyDeclaration */ && !ts.isClassLike(parent.parent); case 24 /* DotDotDotToken */: - return containingNodeKind === 148 /* Parameter */ || - (contextToken.parent && contextToken.parent.parent && - contextToken.parent.parent.kind === 180 /* ArrayBindingPattern */); // var [...z| + return containingNodeKind === 149 /* Parameter */ || + (!!parent.parent && parent.parent.kind === 181 /* ArrayBindingPattern */); // var [...z| case 114 /* PublicKeyword */: case 112 /* PrivateKeyword */: case 113 /* ProtectedKeyword */: - return containingNodeKind === 148 /* Parameter */ && !ts.isConstructorDeclaration(contextToken.parent.parent); + return containingNodeKind === 149 /* Parameter */ && !ts.isConstructorDeclaration(parent.parent); case 118 /* AsKeyword */: - return containingNodeKind === 247 /* ImportSpecifier */ || - containingNodeKind === 251 /* ExportSpecifier */ || - containingNodeKind === 245 /* NamespaceImport */; + return containingNodeKind === 248 /* ImportSpecifier */ || + containingNodeKind === 252 /* ExportSpecifier */ || + containingNodeKind === 246 /* NamespaceImport */; case 125 /* GetKeyword */: case 136 /* SetKeyword */: if (isFromObjectTypeDeclaration(contextToken)) { @@ -88969,7 +89379,7 @@ var ts; && !(ts.isClassLike(contextToken.parent) && (contextToken !== previousToken || position > previousToken.end)); } function isFunctionLikeButNotConstructor(kind) { - return ts.isFunctionLikeKind(kind) && kind !== 154 /* Constructor */; + return ts.isFunctionLikeKind(kind) && kind !== 155 /* Constructor */; } function isDotOfNumericLiteral(contextToken) { if (contextToken.kind === 8 /* NumericLiteral */) { @@ -88992,12 +89402,12 @@ var ts; for (var _i = 0, existingMembers_1 = existingMembers; _i < existingMembers_1.length; _i++) { var m = existingMembers_1[_i]; // Ignore omitted expressions for missing members - if (m.kind !== 269 /* PropertyAssignment */ && - m.kind !== 270 /* ShorthandPropertyAssignment */ && - m.kind !== 181 /* BindingElement */ && - m.kind !== 153 /* MethodDeclaration */ && - m.kind !== 155 /* GetAccessor */ && - m.kind !== 156 /* SetAccessor */) { + if (m.kind !== 270 /* PropertyAssignment */ && + m.kind !== 271 /* ShorthandPropertyAssignment */ && + m.kind !== 182 /* BindingElement */ && + m.kind !== 154 /* MethodDeclaration */ && + m.kind !== 156 /* GetAccessor */ && + m.kind !== 157 /* SetAccessor */) { continue; } // If this is the current item we are editing right now, do not filter it out @@ -89005,7 +89415,7 @@ var ts; continue; } var existingName = void 0; - if (m.kind === 181 /* BindingElement */ && m.propertyName) { + if (ts.isBindingElement(m) && m.propertyName) { // include only identifiers in completion list if (m.propertyName.kind === 71 /* Identifier */) { existingName = m.propertyName.escapedText; @@ -89018,7 +89428,7 @@ var ts; var name = ts.getNameOfDeclaration(m); existingName = ts.isPropertyNameLiteral(name) ? ts.getEscapedTextOfIdentifierOrLiteral(name) : undefined; } - existingMemberNames.set(existingName, true); + existingMemberNames.set(existingName, true); // TODO: GH#18217 } return contextualMemberSymbols.filter(function (m) { return !existingMemberNames.get(m.escapedName); }); } @@ -89032,10 +89442,10 @@ var ts; for (var _i = 0, existingMembers_2 = existingMembers; _i < existingMembers_2.length; _i++) { var m = existingMembers_2[_i]; // Ignore omitted expressions for missing members - if (m.kind !== 151 /* PropertyDeclaration */ && - m.kind !== 153 /* MethodDeclaration */ && - m.kind !== 155 /* GetAccessor */ && - m.kind !== 156 /* SetAccessor */) { + if (m.kind !== 152 /* PropertyDeclaration */ && + m.kind !== 154 /* MethodDeclaration */ && + m.kind !== 156 /* GetAccessor */ && + m.kind !== 157 /* SetAccessor */) { continue; } // If this is the current item we are editing right now, do not filter it out @@ -89075,7 +89485,7 @@ var ts; if (isCurrentlyEditingNode(attr)) { continue; } - if (attr.kind === 261 /* JsxAttribute */) { + if (attr.kind === 262 /* JsxAttribute */) { seenNames.set(attr.name.escapedText, true); } } @@ -89119,7 +89529,7 @@ var ts; var _keywordCompletions = []; var allKeywordsCompletions = ts.memoize(function () { var res = []; - for (var i = 72 /* FirstKeyword */; i <= 144 /* LastKeyword */; i++) { + for (var i = 72 /* FirstKeyword */; i <= 145 /* LastKeyword */; i++) { res.push({ name: ts.tokenToString(i), kind: "keyword" /* keyword */, @@ -89220,7 +89630,7 @@ var ts; } // If we're providing completions for an object literal, skip primitive, array-like, or callable types since those shouldn't be implemented by object literals. var filteredTypes = isForAccess ? type.types : type.types.filter(function (memberType) { - return !(memberType.flags & 16382 /* Primitive */ || checker.isArrayLikeType(memberType) || ts.typeHasCallOrConstructSignatures(memberType, checker)); + return !(memberType.flags & 32764 /* Primitive */ || checker.isArrayLikeType(memberType) || ts.typeHasCallOrConstructSignatures(memberType, checker)); }); return ts.Debug.assertEachDefined(checker.getAllPossiblePropertiesOfTypes(filteredTypes), "getAllPossiblePropertiesOfTypes() should all be defined"); } @@ -89231,7 +89641,7 @@ var ts; function tryGetObjectTypeDeclarationCompletionContainer(sourceFile, contextToken, location) { // class c { method() { } | method2() { } } switch (location.kind) { - case 298 /* SyntaxList */: + case 299 /* SyntaxList */: return ts.tryCast(location.parent, ts.isObjectTypeDeclaration); case 1 /* EndOfFileToken */: var cls = ts.tryCast(ts.lastOrUndefined(ts.cast(location.parent, ts.isSourceFile).statements), ts.isObjectTypeDeclaration); @@ -89255,7 +89665,7 @@ var ts; if (!isFromObjectTypeDeclaration(contextToken)) return undefined; var isValidKeyword = ts.isClassLike(contextToken.parent.parent) ? isClassMemberCompletionKeyword : isInterfaceOrTypeLiteralCompletionKeyword; - return (isValidKeyword(contextToken.kind) || ts.isIdentifier(contextToken) && isValidKeyword(ts.stringToToken(contextToken.text))) + return (isValidKeyword(contextToken.kind) || ts.isIdentifier(contextToken) && isValidKeyword(ts.stringToToken(contextToken.text))) // TODO: GH#18217 ? contextToken.parent.parent : undefined; } } @@ -89278,7 +89688,7 @@ var ts; return isStringLiteralOrTemplate(contextToken) && position === contextToken.getStart(sourceFile) + 1; case "<": // Opening JSX tag - return contextToken.kind === 27 /* LessThanToken */ && contextToken.parent.kind !== 199 /* BinaryExpression */; + return contextToken.kind === 27 /* LessThanToken */ && contextToken.parent.kind !== 200 /* BinaryExpression */; case "/": return ts.isStringLiteralLike(contextToken) ? !!ts.tryGetImportFromModuleSpecifier(contextToken) @@ -89291,8 +89701,8 @@ var ts; switch (node.kind) { case 9 /* StringLiteral */: case 13 /* NoSubstitutionTemplateLiteral */: - case 201 /* TemplateExpression */: - case 188 /* TaggedTemplateExpression */: + case 202 /* TemplateExpression */: + case 189 /* TaggedTemplateExpression */: return true; default: return false; @@ -89337,7 +89747,7 @@ var ts; if (!sourceFilesSet.has(fileName)) { ts.Debug.assert(program.redirectTargetsSet.has(fileName)); var redirectTarget_1 = program.getSourceFile(fileName); - var redirect = ts.find(sourceFilesToSearch, function (f) { return f.redirectInfo && f.redirectInfo.redirectTarget === redirectTarget_1; }); + var redirect = ts.find(sourceFilesToSearch, function (f) { return !!f.redirectInfo && f.redirectInfo.redirectTarget === redirectTarget_1; }); fileName = redirect.fileName; ts.Debug.assert(sourceFilesSet.has(fileName)); } @@ -89383,6 +89793,8 @@ var ts; return useParent(node.parent, ts.isAwaitExpression, getAsyncAndAwaitOccurrences); case 120 /* AsyncKeyword */: return highlightSpans(getAsyncAndAwaitOccurrences(node)); + case 116 /* YieldKeyword */: + return highlightSpans(getYieldOccurrences(node)); default: return ts.isModifierKind(node.kind) && (ts.isDeclaration(node.parent) || ts.isVariableStatement(node.parent)) ? highlightSpans(getModifierOccurrences(node.kind, node.parent)) @@ -89410,7 +89822,7 @@ var ts; } else if (ts.isTryStatement(node)) { // Exceptions thrown within a try block lacking a catch clause are "owned" in the current context. - return ts.concatenate(node.catchClause ? aggregateOwnedThrowStatements(node.catchClause) : node.tryBlock && aggregateOwnedThrowStatements(node.tryBlock), aggregateOwnedThrowStatements(node.finallyBlock)); + return ts.concatenate(node.catchClause ? aggregateOwnedThrowStatements(node.catchClause) : node.tryBlock && aggregateOwnedThrowStatements(node.tryBlock), node.finallyBlock && aggregateOwnedThrowStatements(node.finallyBlock)); } // Do not cross function boundaries. return ts.isFunctionLike(node) ? undefined : flatMapChildren(node, aggregateOwnedThrowStatements); @@ -89424,7 +89836,7 @@ var ts; var child = throwStatement; while (child.parent) { var parent = child.parent; - if (ts.isFunctionBlock(parent) || parent.kind === 273 /* SourceFile */) { + if (ts.isFunctionBlock(parent) || parent.kind === 274 /* SourceFile */) { return parent; } // A throw-statement is only owned by a try-statement if the try-statement has @@ -89451,26 +89863,26 @@ var ts; } function ownsBreakOrContinueStatement(owner, statement) { var actualOwner = getBreakOrContinueOwner(statement); - return actualOwner && actualOwner === owner; + return !!actualOwner && actualOwner === owner; } function getBreakOrContinueOwner(statement) { return ts.findAncestor(statement, function (node) { switch (node.kind) { - case 226 /* SwitchStatement */: - if (statement.kind === 222 /* ContinueStatement */) { + case 227 /* SwitchStatement */: + if (statement.kind === 223 /* ContinueStatement */) { return false; } // falls through - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 218 /* WhileStatement */: - case 217 /* DoStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 219 /* WhileStatement */: + case 218 /* DoStatement */: return !statement.label || isLabeledBy(node, statement.label.escapedText); default: // Don't cross function boundaries. // TODO: GH#20090 - return (ts.isFunctionLike(node) && "quit"); + return ts.isFunctionLike(node) && "quit"; } }); } @@ -89488,11 +89900,11 @@ var ts; // Types of node whose children might have modifiers. var container = declaration.parent; switch (container.kind) { - case 239 /* ModuleBlock */: - case 273 /* SourceFile */: - case 212 /* Block */: - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 240 /* ModuleBlock */: + case 274 /* SourceFile */: + case 213 /* Block */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: // Container is either a class declaration or the declaration is a classDeclaration if (modifierFlag & 128 /* Abstract */ && ts.isClassDeclaration(declaration)) { return declaration.members.concat([declaration]); @@ -89500,13 +89912,12 @@ var ts; else { return container.statements; } - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 233 /* FunctionDeclaration */: { + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 234 /* FunctionDeclaration */: return container.parameters.concat((ts.isClassLike(container.parent) ? container.parent.members : [])); - } - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: var nodes = container.members; // If we're an accessibility modifier, we're in an instance member and should search // the constructor's parameter list for instance members as well. @@ -89539,7 +89950,7 @@ var ts; var keywords = []; if (pushKeywordIf(keywords, loopNode.getFirstToken(), 88 /* ForKeyword */, 106 /* WhileKeyword */, 81 /* DoKeyword */)) { // If we succeeded and got a do-while loop, then start looking for a 'while' keyword. - if (loopNode.kind === 217 /* DoStatement */) { + if (loopNode.kind === 218 /* DoStatement */) { var loopTokens = loopNode.getChildren(); for (var i = loopTokens.length - 1; i >= 0; i--) { if (pushKeywordIf(keywords, loopTokens[i], 106 /* WhileKeyword */)) { @@ -89559,13 +89970,13 @@ var ts; var owner = getBreakOrContinueOwner(breakOrContinueStatement); if (owner) { switch (owner.kind) { - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: return getLoopBreakContinueOccurrences(owner); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return getSwitchCaseDefaultOccurrences(owner); } } @@ -89641,16 +90052,35 @@ var ts; pushKeywordIf(keywords, modifier, 120 /* AsyncKeyword */); }); } - ts.forEachChild(func, aggregate); + ts.forEachChild(func, function (child) { + traverseWithoutCrossingFunction(child, function (node) { + if (ts.isAwaitExpression(node)) { + pushKeywordIf(keywords, node.getFirstToken(), 121 /* AwaitKeyword */); + } + }); + }); return keywords; - function aggregate(node) { - if (ts.isAwaitExpression(node)) { - pushKeywordIf(keywords, node.getFirstToken(), 121 /* AwaitKeyword */); - } - // Do not cross function boundaries. - if (!ts.isFunctionLike(node) && !ts.isClassLike(node) && !ts.isInterfaceDeclaration(node) && !ts.isModuleDeclaration(node) && !ts.isTypeAliasDeclaration(node) && !ts.isTypeNode(node)) { - ts.forEachChild(node, aggregate); - } + } + function getYieldOccurrences(node) { + var func = ts.getContainingFunction(node); + if (!func) { + return undefined; + } + var keywords = []; + ts.forEachChild(func, function (child) { + traverseWithoutCrossingFunction(child, function (node) { + if (ts.isYieldExpression(node)) { + pushKeywordIf(keywords, node.getFirstToken(), 116 /* YieldKeyword */); + } + }); + }); + return keywords; + } + // Do not cross function/class/interface/module/type boundaries. + function traverseWithoutCrossingFunction(node, cb) { + cb(node); + if (!ts.isFunctionLike(node) && !ts.isClassLike(node) && !ts.isInterfaceDeclaration(node) && !ts.isModuleDeclaration(node) && !ts.isTypeAliasDeclaration(node) && !ts.isTypeNode(node)) { + ts.forEachChild(node, function (child) { return traverseWithoutCrossingFunction(child, cb); }); } } function getIfElseOccurrences(ifStatement, sourceFile) { @@ -89720,6 +90150,11 @@ var ts; var ts; (function (ts) { function createDocumentRegistry(useCaseSensitiveFileNames, currentDirectory) { + return createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirectory); + } + ts.createDocumentRegistry = createDocumentRegistry; + /*@internal*/ + function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirectory, externalCache) { if (currentDirectory === void 0) { currentDirectory = ""; } // Maps from compiler setting target (ES3, ES5, etc.) to all the cached documents we have // for those settings. @@ -89733,7 +90168,7 @@ var ts; if (!bucket && createIfMissing) { buckets.set(key, bucket = ts.createMap()); } - return bucket; + return bucket; // TODO: GH#18217 } function reportStats() { var bucketInfoArray = ts.arrayFrom(buckets.keys()).filter(function (name) { return name && name.charAt(0) === "_"; }).map(function (name) { @@ -89742,8 +90177,7 @@ var ts; entries.forEach(function (entry, name) { sourceFiles.push({ name: name, - refCount: entry.languageServiceRefCount, - references: entry.owners.slice(0) + refCount: entry.languageServiceRefCount }); }); sourceFiles.sort(function (x, y) { return y.refCount - x.refCount; }); @@ -89774,13 +90208,26 @@ var ts; var bucket = getBucketForCompilationSettings(key, /*createIfMissing*/ true); var entry = bucket.get(path); var scriptTarget = scriptKind === 6 /* JSON */ ? 100 /* JSON */ : compilationSettings.target; + if (!entry && externalCache) { + var sourceFile = externalCache.getDocument(key, path); + if (sourceFile) { + ts.Debug.assert(acquiring); + entry = { + sourceFile: sourceFile, + languageServiceRefCount: 0 + }; + bucket.set(path, entry); + } + } if (!entry) { // Have never seen this file with these settings. Create a new source file for it. - var sourceFile = ts.createLanguageServiceSourceFile(fileName, scriptSnapshot, scriptTarget, version, /*setNodeParents*/ false, scriptKind); + var sourceFile = ts.createLanguageServiceSourceFile(fileName, scriptSnapshot, scriptTarget, version, /*setNodeParents*/ false, scriptKind); // TODO: GH#18217 + if (externalCache) { + externalCache.setDocument(key, path, sourceFile); + } entry = { sourceFile: sourceFile, languageServiceRefCount: 1, - owners: [] }; bucket.set(path, entry); } @@ -89789,7 +90236,10 @@ var ts; // the script snapshot. If so, update it appropriately. Otherwise, we can just // return it as is. if (entry.sourceFile.version !== version) { - entry.sourceFile = ts.updateLanguageServiceSourceFile(entry.sourceFile, scriptSnapshot, version, scriptSnapshot.getChangeRange(entry.sourceFile.scriptSnapshot)); + entry.sourceFile = ts.updateLanguageServiceSourceFile(entry.sourceFile, scriptSnapshot, version, scriptSnapshot.getChangeRange(entry.sourceFile.scriptSnapshot)); // TODO: GH#18217 + if (externalCache) { + externalCache.setDocument(key, path, entry.sourceFile); + } } // If we're acquiring, then this is the first time this LS is asking for this document. // Increase our ref count so we know there's another LS using the document. If we're @@ -89800,6 +90250,7 @@ var ts; entry.languageServiceRefCount++; } } + ts.Debug.assert(entry.languageServiceRefCount !== 0); return entry.sourceFile; } function releaseDocument(fileName, compilationSettings) { @@ -89817,6 +90268,13 @@ var ts; bucket.delete(path); } } + function getLanguageServiceRefCounts(path) { + return ts.arrayFrom(buckets.entries(), function (_a) { + var key = _a[0], bucket = _a[1]; + var entry = bucket.get(path); + return [key, entry && entry.languageServiceRefCount]; + }); + } return { acquireDocument: acquireDocument, acquireDocumentWithKey: acquireDocumentWithKey, @@ -89824,11 +90282,12 @@ var ts; updateDocumentWithKey: updateDocumentWithKey, releaseDocument: releaseDocument, releaseDocumentWithKey: releaseDocumentWithKey, + getLanguageServiceRefCounts: getLanguageServiceRefCounts, reportStats: reportStats, getKeyForCompilationSettings: getKeyForCompilationSettings }; } - ts.createDocumentRegistry = createDocumentRegistry; + ts.createDocumentRegistryInternal = createDocumentRegistryInternal; })(ts || (ts = {})); /* Code for finding imports of an exported symbol. Used only by FindAllReferences. */ /* @internal */ @@ -89891,10 +90350,10 @@ var ts; } cancellationToken.throwIfCancellationRequested(); switch (direct.kind) { - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (!isAvailableThroughGlobal) { var parent = direct.parent; - if (exportKind === 2 /* ExportEquals */ && parent.kind === 231 /* VariableDeclaration */) { + if (exportKind === 2 /* ExportEquals */ && parent.kind === 232 /* VariableDeclaration */) { var name = parent.name; if (name.kind === 71 /* Identifier */) { directImports.push(name); @@ -89907,12 +90366,12 @@ var ts; break; case 71 /* Identifier */: // for 'const x = require("y"); break; // TODO: GH#23879 - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: handleNamespaceImport(direct, direct.name, ts.hasModifier(direct, 1 /* Export */)); break; - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: var namedBindings = direct.importClause && direct.importClause.namedBindings; - if (namedBindings && namedBindings.kind === 245 /* NamespaceImport */) { + if (namedBindings && namedBindings.kind === 246 /* NamespaceImport */) { handleNamespaceImport(direct, namedBindings.name); } else if (ts.isDefaultImport(direct)) { @@ -89926,7 +90385,7 @@ var ts; directImports.push(direct); } break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: if (!direct.exportClause) { // This is `export * from "foo"`, so imports of this module may import the export too. handleDirectImports(getContainingModuleSymbol(direct, checker)); @@ -89936,7 +90395,7 @@ var ts; directImports.push(direct); } break; - case 178 /* ImportType */: + case 179 /* ImportType */: directImports.push(direct); break; default: @@ -89952,7 +90411,7 @@ var ts; } else if (!isAvailableThroughGlobal) { var sourceFileLike = getSourceFileLikeForImportDeclaration(importDeclaration); - ts.Debug.assert(sourceFileLike.kind === 273 /* SourceFile */ || sourceFileLike.kind === 238 /* ModuleDeclaration */); + ts.Debug.assert(sourceFileLike.kind === 274 /* SourceFile */ || sourceFileLike.kind === 239 /* ModuleDeclaration */); if (isReExport || findNamespaceReExports(sourceFileLike, name, checker)) { addIndirectUsers(sourceFileLike); } @@ -89965,7 +90424,7 @@ var ts; ts.Debug.assert(!isAvailableThroughGlobal); var isNew = markSeenIndirectUser(sourceFileLike); if (isNew) { - indirectUserDeclarations.push(sourceFileLike); + indirectUserDeclarations.push(sourceFileLike); // TODO: GH#18217 } return isNew; } @@ -90007,7 +90466,7 @@ var ts; } return { importSearches: importSearches, singleReferences: singleReferences }; function handleImport(decl) { - if (decl.kind === 242 /* ImportEqualsDeclaration */) { + if (decl.kind === 243 /* ImportEqualsDeclaration */) { if (isExternalModuleImportEquals(decl)) { handleNamespaceImportLike(decl.name); } @@ -90017,7 +90476,7 @@ var ts; handleNamespaceImportLike(decl); return; } - if (decl.kind === 178 /* ImportType */) { + if (decl.kind === 179 /* ImportType */) { if (decl.qualifier) { if (ts.isIdentifier(decl.qualifier) && decl.qualifier.escapedText === ts.symbolName(exportSymbol)) { singleReferences.push(decl.qualifier); @@ -90032,7 +90491,7 @@ var ts; if (decl.moduleSpecifier.kind !== 9 /* StringLiteral */) { return; } - if (decl.kind === 249 /* ExportDeclaration */) { + if (decl.kind === 250 /* ExportDeclaration */) { searchForNamedImport(decl.exportClause); return; } @@ -90041,12 +90500,12 @@ var ts; return; } var namedBindings = importClause.namedBindings; - if (namedBindings && namedBindings.kind === 245 /* NamespaceImport */) { + if (namedBindings && namedBindings.kind === 246 /* NamespaceImport */) { handleNamespaceImportLike(namedBindings.name); return; } if (exportKind === 0 /* Named */) { - searchForNamedImport(namedBindings); + searchForNamedImport(namedBindings); // tslint:disable-line no-unnecessary-type-assertion (TODO: GH#18217) } else { // `export =` might be imported by a default import if `--allowSyntheticDefaultImports` is on, so this handles both ExportKind.Default and ExportKind.ExportEquals @@ -90095,7 +90554,7 @@ var ts; } } else { - var localSymbol = element.kind === 251 /* ExportSpecifier */ && element.propertyName + var localSymbol = element.kind === 252 /* ExportSpecifier */ && element.propertyName ? checker.getExportSpecifierLocalTargetSymbol(element) // For re-exporting under a different name, we want to get the re-exported symbol. : checker.getSymbolAtLocation(name); addSearch(name, localSymbol); @@ -90110,7 +90569,7 @@ var ts; /** Returns 'true' is the namespace 'name' is re-exported from this module, and 'false' if it is only used locally. */ function findNamespaceReExports(sourceFileLike, name, checker) { var namespaceImportSymbol = checker.getSymbolAtLocation(name); - return forEachPossibleImportOrExportStatement(sourceFileLike, function (statement) { + return !!forEachPossibleImportOrExportStatement(sourceFileLike, function (statement) { if (!ts.isExportDeclaration(statement)) return; var exportClause = statement.exportClause, moduleSpecifier = statement.moduleSpecifier; @@ -90124,7 +90583,7 @@ var ts; for (var _i = 0, sourceFiles_5 = sourceFiles; _i < sourceFiles_5.length; _i++) { var referencingFile = sourceFiles_5[_i]; var searchSourceFile = searchModuleSymbol.valueDeclaration; - if (searchSourceFile.kind === 273 /* SourceFile */) { + if (searchSourceFile.kind === 274 /* SourceFile */) { for (var _a = 0, _b = referencingFile.referencedFiles; _a < _b.length; _a++) { var ref = _b[_a]; if (program.getSourceFileFromReference(referencingFile, ref) === searchSourceFile) { @@ -90171,7 +90630,7 @@ var ts; } /** Iterates over all statements at the top level or in module declarations. Returns the first truthy result. */ function forEachPossibleImportOrExportStatement(sourceFileLike, action) { - return ts.forEach(sourceFileLike.kind === 273 /* SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { + return ts.forEach(sourceFileLike.kind === 274 /* SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { return action(statement) || (isAmbientModuleDeclaration(statement) && ts.forEach(statement.body && statement.body.statements, action)); }); } @@ -90186,15 +90645,15 @@ var ts; else { forEachPossibleImportOrExportStatement(sourceFile, function (statement) { switch (statement.kind) { - case 249 /* ExportDeclaration */: - case 243 /* ImportDeclaration */: { + case 250 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: { var decl = statement; if (decl.moduleSpecifier && ts.isStringLiteral(decl.moduleSpecifier)) { action(decl, decl.moduleSpecifier); } break; } - case 242 /* ImportEqualsDeclaration */: { + case 243 /* ImportEqualsDeclaration */: { var decl = statement; if (isExternalModuleImportEquals(decl)) { action(decl, decl.moduleReference.expression); @@ -90216,12 +90675,13 @@ var ts; return comingFromExport ? getExport() : getExport() || getImport(); function getExport() { var parent = node.parent; + var grandParent = parent.parent; if (symbol.exportSymbol) { - if (parent.kind === 184 /* PropertyAccessExpression */) { + if (parent.kind === 185 /* PropertyAccessExpression */) { // When accessing an export of a JS module, there's no alias. The symbol will still be flagged as an export even though we're at the use. // So check that we are at the declaration. - return symbol.declarations.some(function (d) { return d === parent; }) && ts.isBinaryExpression(parent.parent) - ? getSpecialPropertyExport(parent.parent, /*useLhsSymbol*/ false) + return symbol.declarations.some(function (d) { return d === parent; }) && ts.isBinaryExpression(grandParent) + ? getSpecialPropertyExport(grandParent, /*useLhsSymbol*/ false) : undefined; } else { @@ -90248,15 +90708,15 @@ var ts; return getExportAssignmentExport(parent); } // If we are in `export = class A {};` (or `export = class A {};`) at `A`, `parent.parent` is the export assignment. - else if (ts.isExportAssignment(parent.parent)) { - return getExportAssignmentExport(parent.parent); + else if (ts.isExportAssignment(grandParent)) { + return getExportAssignmentExport(grandParent); } // Similar for `module.exports =` and `exports.A =`. else if (ts.isBinaryExpression(parent)) { return getSpecialPropertyExport(parent, /*useLhsSymbol*/ true); } - else if (ts.isBinaryExpression(parent.parent)) { - return getSpecialPropertyExport(parent.parent, /*useLhsSymbol*/ true); + else if (ts.isBinaryExpression(grandParent)) { + return getSpecialPropertyExport(grandParent, /*useLhsSymbol*/ true); } else if (ts.isJSDocTypedefTag(parent)) { return exportInfo(symbol, 0 /* Named */); @@ -90331,15 +90791,18 @@ var ts; else if (ts.isBinaryExpression(decl)) { // `module.exports = class {}` return ts.Debug.assertDefined(decl.right.symbol); } + else if (ts.isSourceFile(decl)) { // json module + return ts.Debug.assertDefined(decl.symbol); + } return ts.Debug.fail(); } // If a reference is a class expression, the exported node would be its parent. // If a reference is a variable declaration, the exported node would be the variable statement. function getExportNode(parent, node) { - if (parent.kind === 231 /* VariableDeclaration */) { + if (parent.kind === 232 /* VariableDeclaration */) { var p = parent; return p.name !== node ? undefined : - p.parent.kind === 268 /* CatchClause */ ? undefined : p.parent.parent.kind === 213 /* VariableStatement */ ? p.parent.parent : undefined; + p.parent.kind === 269 /* CatchClause */ ? undefined : p.parent.parent.kind === 214 /* VariableStatement */ ? p.parent.parent : undefined; } else { return parent; @@ -90348,15 +90811,15 @@ var ts; function isNodeImport(node) { var parent = node.parent; switch (parent.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return parent.name === node && isExternalModuleImportEquals(parent) ? { isNamedImport: false } : undefined; - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: // For a rename import `{ foo as bar }`, don't search for the imported symbol. Just find local uses of `bar`. return parent.propertyName ? undefined : { isNamedImport: true }; - case 244 /* ImportClause */: - case 245 /* NamespaceImport */: + case 245 /* ImportClause */: + case 246 /* NamespaceImport */: ts.Debug.assert(parent.name === node); return { isNamedImport: false }; default: @@ -90389,21 +90852,21 @@ var ts; return checker.getMergedSymbol(getSourceFileLikeForImportDeclaration(importer).symbol); } function getSourceFileLikeForImportDeclaration(node) { - if (node.kind === 186 /* CallExpression */) { + if (node.kind === 187 /* CallExpression */) { return node.getSourceFile(); } var parent = node.parent; - if (parent.kind === 273 /* SourceFile */) { + if (parent.kind === 274 /* SourceFile */) { return parent; } - ts.Debug.assert(parent.kind === 239 /* ModuleBlock */); + ts.Debug.assert(parent.kind === 240 /* ModuleBlock */); return ts.cast(parent.parent, isAmbientModuleDeclaration); } function isAmbientModuleDeclaration(node) { - return node.kind === 238 /* ModuleDeclaration */ && node.name.kind === 9 /* StringLiteral */; + return node.kind === 239 /* ModuleDeclaration */ && node.name.kind === 9 /* StringLiteral */; } function isExternalModuleImportEquals(eq) { - return eq.moduleReference.kind === 253 /* ExternalModuleReference */ && eq.moduleReference.expression.kind === 9 /* StringLiteral */; + return eq.moduleReference.kind === 254 /* ExternalModuleReference */ && eq.moduleReference.expression.kind === 9 /* StringLiteral */; } })(FindAllReferences = ts.FindAllReferences || (ts.FindAllReferences = {})); })(ts || (ts = {})); @@ -90413,7 +90876,7 @@ var ts; var FindAllReferences; (function (FindAllReferences) { function nodeEntry(node, isInString) { - return { type: "node", node: node, isInString: isInString }; + return { type: "node", node: node.name || node, isInString: isInString }; } FindAllReferences.nodeEntry = nodeEntry; function findReferencedSymbols(program, cancellationToken, sourceFiles, sourceFile, position) { @@ -90439,13 +90902,13 @@ var ts; } FindAllReferences.getImplementationsAtPosition = getImplementationsAtPosition; function getImplementationReferenceEntries(program, cancellationToken, sourceFiles, node, position) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { return undefined; } var checker = program.getTypeChecker(); // If invoked directly on a shorthand property assignment, then return // the declaration of the symbol being assigned (not the symbol being assigned to). - if (node.parent.kind === 270 /* ShorthandPropertyAssignment */) { + if (node.parent.kind === 271 /* ShorthandPropertyAssignment */) { var result_5 = []; FindAllReferences.Core.getReferenceEntriesForShorthandPropertyAssignment(node, checker, function (node) { return result_5.push(nodeEntry(node)); }); return result_5; @@ -90549,13 +91012,13 @@ var ts; if (symbol) { return getDefinitionKindAndDisplayParts(symbol, checker, node); } - else if (node.kind === 183 /* ObjectLiteralExpression */) { + else if (node.kind === 184 /* ObjectLiteralExpression */) { return { kind: "interface" /* interfaceElement */, displayParts: [ts.punctuationPart(19 /* OpenParenToken */), ts.textPart("object literal"), ts.punctuationPart(20 /* CloseParenToken */)] }; } - else if (node.kind === 204 /* ClassExpression */) { + else if (node.kind === 205 /* ClassExpression */) { return { kind: "local class" /* localClassElement */, displayParts: [ts.punctuationPart(19 /* OpenParenToken */), ts.textPart("anonymous local class"), ts.punctuationPart(20 /* CloseParenToken */)] @@ -90626,6 +91089,7 @@ var ts; } var moduleReferences = ts.emptyArray; var moduleSourceFile = isModuleSymbol(symbol); + var referencedNode = node; if (moduleSourceFile) { var exportEquals = symbol.exports.get("export=" /* ExportEquals */); // If !!exportEquals, we're about to add references to `import("mod")` anyway, so don't double-count them. @@ -90634,13 +91098,13 @@ var ts; return moduleReferences; // Continue to get references to 'export ='. symbol = ts.skipAlias(exportEquals, checker); - node = undefined; + referencedNode = undefined; } - return ts.concatenate(moduleReferences, getReferencedSymbolsForSymbol(symbol, node, sourceFiles, sourceFilesSet, checker, cancellationToken, options)); + return ts.concatenate(moduleReferences, getReferencedSymbolsForSymbol(symbol, referencedNode, sourceFiles, sourceFilesSet, checker, cancellationToken, options)); } Core.getReferencedSymbolsForNode = getReferencedSymbolsForNode; function isModuleSymbol(symbol) { - return symbol.flags & 1536 /* Module */ && ts.find(symbol.declarations, ts.isSourceFile); + return symbol.flags & 1536 /* Module */ ? ts.find(symbol.declarations, ts.isSourceFile) : undefined; } function getReferencedSymbolsForModule(program, symbol, excludeImportTypeOfExportEquals, sourceFiles, sourceFilesSet) { ts.Debug.assert(!!symbol.valueDeclaration); @@ -90667,10 +91131,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; switch (decl.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: // Don't include the source file itself. (This may not be ideal behavior, but awkward to include an entire file as a reference.) break; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (sourceFilesSet.has(decl.getSourceFile().fileName)) { references.push({ type: "node", node: decl.name }); } @@ -90718,7 +91182,7 @@ var ts; searchForImportsOfExport(node, symbol, { exportingModuleSymbol: ts.Debug.assertDefined(symbol.parent, "Expected export symbol to have a parent"), exportKind: 1 /* Default */ }, state); } else { - var search = state.createSearch(node, symbol, /*comingFrom*/ undefined, { allSearchSymbols: node ? populateSearchSymbolSet(symbol, node, checker, options.implementations) : [symbol] }); + var search = state.createSearch(node, symbol, /*comingFrom*/ undefined, { allSearchSymbols: node ? populateSearchSymbolSet(symbol, node, checker, !!options.implementations) : [symbol] }); // Try to get the smallest valid scope that we can limit our search to; // otherwise we'll need to search globally (i.e. include each file). var scope = getSymbolScope(symbol); @@ -90826,7 +91290,7 @@ var ts; State.prototype.getImportSearches = function (exportSymbol, exportInfo) { if (!this.importTracker) this.importTracker = FindAllReferences.createImportTracker(this.sourceFiles, this.sourceFilesSet, this.checker, this.cancellationToken); - return this.importTracker(exportSymbol, exportInfo, this.options.isForRename); + return this.importTracker(exportSymbol, exportInfo, !!this.options.isForRename); }; /** @param allSearchSymbols set of additinal symbols for use by `includes`. */ State.prototype.createSearch = function (location, symbol, comingFrom, searchOptions) { @@ -90837,7 +91301,7 @@ var ts; // here appears to be intentional). var _a = searchOptions.text, text = _a === void 0 ? ts.stripQuotes(ts.unescapeLeadingUnderscores((ts.getLocalSymbolForExportDefault(symbol) || symbol).escapedName)) : _a, _b = searchOptions.allSearchSymbols, allSearchSymbols = _b === void 0 ? [symbol] : _b; var escapedText = ts.escapeLeadingUnderscores(text); - var parents = this.options.implementations && location && getParentSymbolsOfPropertyAccess(location, symbol, this.checker); + var parents = this.options.implementations && location ? getParentSymbolsOfPropertyAccess(location, symbol, this.checker) : undefined; return { symbol: symbol, comingFrom: comingFrom, text: text, escapedText: escapedText, parents: parents, allSearchSymbols: allSearchSymbols, includes: function (sym) { return ts.contains(allSearchSymbols, sym); } }; }; /** @@ -90938,13 +91402,14 @@ var ts; } } function getPropertySymbolOfDestructuringAssignment(location, checker) { - return ts.isArrayLiteralOrObjectLiteralDestructuringPattern(location.parent.parent) && - checker.getPropertySymbolOfDestructuringAssignment(location); + return ts.isArrayLiteralOrObjectLiteralDestructuringPattern(location.parent.parent) + ? checker.getPropertySymbolOfDestructuringAssignment(location) + : undefined; } function getObjectBindingElementWithoutPropertyName(symbol) { - var bindingElement = ts.getDeclarationOfKind(symbol, 181 /* BindingElement */); + var bindingElement = ts.getDeclarationOfKind(symbol, 182 /* BindingElement */); if (bindingElement && - bindingElement.parent.kind === 179 /* ObjectBindingPattern */ && + bindingElement.parent.kind === 180 /* ObjectBindingPattern */ && ts.isIdentifier(bindingElement.name) && !bindingElement.propertyName) { return bindingElement; @@ -90966,7 +91431,7 @@ var ts; // If this is the symbol of a named function expression or named class expression, // then named references are limited to its own scope. var declarations = symbol.declarations, flags = symbol.flags, parent = symbol.parent, valueDeclaration = symbol.valueDeclaration; - if (valueDeclaration && (valueDeclaration.kind === 191 /* FunctionExpression */ || valueDeclaration.kind === 204 /* ClassExpression */)) { + if (valueDeclaration && (valueDeclaration.kind === 192 /* FunctionExpression */ || valueDeclaration.kind === 205 /* ClassExpression */)) { return valueDeclaration; } if (!declarations) { @@ -90976,7 +91441,7 @@ var ts; if (flags & (4 /* Property */ | 8192 /* Method */)) { var privateDeclaration = ts.find(declarations, function (d) { return ts.hasModifier(d, 8 /* Private */); }); if (privateDeclaration) { - return ts.getAncestor(privateDeclaration, 234 /* ClassDeclaration */); + return ts.getAncestor(privateDeclaration, 235 /* ClassDeclaration */); } // Else this is a public property and could be accessed from anywhere. return undefined; @@ -90998,14 +91463,14 @@ var ts; return undefined; } var scope; - for (var _i = 0, declarations_9 = declarations; _i < declarations_9.length; _i++) { - var declaration = declarations_9[_i]; + for (var _i = 0, declarations_10 = declarations; _i < declarations_10.length; _i++) { + var declaration = declarations_10[_i]; var container = ts.getContainerNode(declaration); if (scope && scope !== container) { // Different declarations have different containers, bail out return undefined; } - if (!container || container.kind === 273 /* SourceFile */ && !ts.isExternalOrCommonJsModule(container)) { + if (!container || container.kind === 274 /* SourceFile */ && !ts.isExternalOrCommonJsModule(container)) { // This is a global variable and not an external module, any declaration defined // within this scope is visible outside the file return undefined; @@ -91018,23 +91483,32 @@ var ts; // declare module "a" { export type T = number; } // declare module "b" { import { T } from "a"; export const x: T; } // So we must search the whole source file. (Because we will mark the source file as seen, we we won't return to it when searching for imports.) - return exposedByParent ? scope.getSourceFile() : scope; + return exposedByParent ? scope.getSourceFile() : scope; // TODO: GH#18217 } /** Used as a quick check for whether a symbol is used at all in a file (besides its definition). */ function isSymbolReferencedInFile(definition, checker, sourceFile) { - var symbol = checker.getSymbolAtLocation(definition); - if (!symbol) - return true; // Be lenient with invalid code. - return getPossibleSymbolReferenceNodes(sourceFile, symbol.name).some(function (token) { - if (!ts.isIdentifier(token) || token === definition || token.escapedText !== definition.escapedText) - return false; - var referenceSymbol = checker.getSymbolAtLocation(token); - return referenceSymbol === symbol - || checker.getShorthandAssignmentValueSymbol(token.parent) === symbol - || ts.isExportSpecifier(token.parent) && getLocalSymbolForExportSpecifier(token, referenceSymbol, token.parent, checker) === symbol; - }); + return eachSymbolReferenceInFile(definition, checker, sourceFile, function () { return true; }) || false; } Core.isSymbolReferencedInFile = isSymbolReferencedInFile; + function eachSymbolReferenceInFile(definition, checker, sourceFile, cb) { + var symbol = checker.getSymbolAtLocation(definition); + if (!symbol) + return undefined; + for (var _i = 0, _a = getPossibleSymbolReferenceNodes(sourceFile, symbol.name); _i < _a.length; _i++) { + var token = _a[_i]; + if (!ts.isIdentifier(token) || token === definition || token.escapedText !== definition.escapedText) + continue; + var referenceSymbol = checker.getSymbolAtLocation(token); // See GH#19955 for why the type annotation is necessary + if (referenceSymbol === symbol + || checker.getShorthandAssignmentValueSymbol(token.parent) === symbol + || ts.isExportSpecifier(token.parent) && getLocalSymbolForExportSpecifier(token, referenceSymbol, token.parent, checker) === symbol) { + var res = cb(token); + if (res) + return res; + } + } + } + Core.eachSymbolReferenceInFile = eachSymbolReferenceInFile; function getPossibleSymbolReferenceNodes(sourceFile, symbolName, container) { if (container === void 0) { container = sourceFile; } return getPossibleSymbolReferencePositions(sourceFile, symbolName, container).map(function (pos) { return ts.getTouchingPropertyName(sourceFile, pos, /*includeJsDocComment*/ true); }); @@ -91210,7 +91684,8 @@ var ts; if (!(referenceLocation === propertyName && state.options.isForRename)) { var exportKind = referenceLocation.originalKeywordKind === 79 /* DefaultKeyword */ ? 1 /* Default */ : 0 /* Named */; var exportInfo = FindAllReferences.getExportInfo(referenceSymbol, exportKind, state.checker); - ts.Debug.assert(!!exportInfo); + if (!exportInfo) + return ts.Debug.fail(); searchForImportsOfExport(referenceLocation, referenceSymbol, exportInfo, state); } // At `export { x } from "foo"`, also search for the imported symbol `"foo".x`. @@ -91327,12 +91802,12 @@ var ts; for (var _i = 0, _a = classSymbol.members.get("__constructor" /* Constructor */).declarations; _i < _a.length; _i++) { var decl = _a[_i]; var ctrKeyword = ts.findChildOfKind(decl, 123 /* ConstructorKeyword */, sourceFile); - ts.Debug.assert(decl.kind === 154 /* Constructor */ && !!ctrKeyword); + ts.Debug.assert(decl.kind === 155 /* Constructor */ && !!ctrKeyword); addNode(ctrKeyword); } classSymbol.exports.forEach(function (member) { var decl = member.valueDeclaration; - if (decl && decl.kind === 153 /* MethodDeclaration */) { + if (decl && decl.kind === 154 /* MethodDeclaration */) { var body = decl.body; if (body) { forEachDescendantOfKind(body, 99 /* ThisKeyword */, function (thisKeyword) { @@ -91346,14 +91821,13 @@ var ts; } /** Find references to `super` in the constructor of an extending class. */ function findSuperConstructorAccesses(cls, addNode) { - var symbol = cls.symbol; - var ctr = symbol.members.get("__constructor" /* Constructor */); + var ctr = cls.symbol.members.get("__constructor" /* Constructor */); if (!ctr) { return; } for (var _i = 0, _a = ctr.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - ts.Debug.assert(decl.kind === 154 /* Constructor */); + ts.Debug.assert(decl.kind === 155 /* Constructor */); var body = decl.body; if (body) { forEachDescendantOfKind(body, 97 /* SuperKeyword */, function (node) { @@ -91367,13 +91841,13 @@ var ts; function addImplementationReferences(refNode, addReference, state) { // Check if we found a function/propertyAssignment/method with an implementation or initializer if (ts.isDeclarationName(refNode) && isImplementation(refNode.parent)) { - addReference(refNode.parent); + addReference(refNode); return; } if (refNode.kind !== 71 /* Identifier */) { return; } - if (refNode.parent.kind === 270 /* ShorthandPropertyAssignment */) { + if (refNode.parent.kind === 271 /* ShorthandPropertyAssignment */) { // Go ahead and dereference the shorthand assignment by going to its definition getReferenceEntriesForShorthandPropertyAssignment(refNode, state.checker, addReference); } @@ -91393,7 +91867,7 @@ var ts; } else if (ts.isFunctionLike(typeHavingNode) && typeHavingNode.body) { var body = typeHavingNode.body; - if (body.kind === 212 /* Block */) { + if (body.kind === 213 /* Block */) { ts.forEachReturnStatement(body, function (returnStatement) { if (returnStatement.expression) addIfImplementation(returnStatement.expression); @@ -91421,13 +91895,13 @@ var ts; */ function isImplementationExpression(node) { switch (node.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return isImplementationExpression(node.expression); - case 192 /* ArrowFunction */: - case 191 /* FunctionExpression */: - case 183 /* ObjectLiteralExpression */: - case 204 /* ClassExpression */: - case 182 /* ArrayLiteralExpression */: + case 193 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 184 /* ObjectLiteralExpression */: + case 205 /* ClassExpression */: + case 183 /* ArrayLiteralExpression */: return true; default: return false; @@ -91480,13 +91954,13 @@ var ts; // Whether 'super' occurs in a static context within a class. var staticFlag = 32 /* Static */; switch (searchSpaceNode.kind) { - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: staticFlag &= ts.getModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class break; @@ -91511,34 +91985,34 @@ var ts; // Whether 'this' occurs in a static context within a class. var staticFlag = 32 /* Static */; switch (searchSpaceNode.kind) { - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.isObjectLiteralMethod(searchSpaceNode)) { break; } // falls through - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: staticFlag &= ts.getModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class break; - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (ts.isExternalModule(searchSpaceNode)) { return undefined; } // falls through - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: break; // Computed properties in classes are not handled here because references to this are illegal, // so there is no point finding references to them. default: return undefined; } - var references = ts.flatMap(searchSpaceNode.kind === 273 /* SourceFile */ ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { + var references = ts.flatMap(searchSpaceNode.kind === 274 /* SourceFile */ ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { cancellationToken.throwIfCancellationRequested(); return getPossibleSymbolReferenceNodes(sourceFile, "this", ts.isSourceFile(searchSpaceNode) ? sourceFile : searchSpaceNode).filter(function (node) { if (!ts.isThis(node)) { @@ -91546,19 +92020,19 @@ var ts; } var container = ts.getThisContainer(node, /* includeArrowFunctions */ false); switch (searchSpaceNode.kind) { - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: return searchSpaceNode.symbol === container.symbol; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: return ts.isObjectLiteralMethod(searchSpaceNode) && searchSpaceNode.symbol === container.symbol; - case 204 /* ClassExpression */: - case 234 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 235 /* ClassDeclaration */: // Make sure the container belongs to the same class // and has the appropriate static modifier from the original container. return container.parent && searchSpaceNode.symbol === container.parent.symbol && (ts.getModifierFlags(container) & 32 /* Static */) === staticFlag; - case 273 /* SourceFile */: - return container.kind === 273 /* SourceFile */ && !ts.isExternalModule(container); + case 274 /* SourceFile */: + return container.kind === 274 /* SourceFile */ && !ts.isExternalModule(container); } }); }).map(function (n) { return FindAllReferences.nodeEntry(n); }); @@ -91643,37 +92117,11 @@ var ts; return cbSymbol(sym, rootSymbol) // Add symbol of properties/methods of the same name in base classes and implemented interfaces definitions || (rootSymbol.parent && rootSymbol.parent.flags & (32 /* Class */ | 64 /* Interface */) && allowBaseTypes(rootSymbol) - ? getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.name, checker, function (base) { return cbSymbol(sym, rootSymbol, base); }) + ? ts.getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.name, checker, function (base) { return cbSymbol(sym, rootSymbol, base); }) : undefined); }); } } - /** - * Find symbol of the given property-name and add the symbol to the given result array - * @param symbol a symbol to start searching for the given propertyName - * @param propertyName a name of property to search for - * @param result an array of symbol of found property symbols - * @param previousIterationSymbolsCache a cache of symbol from previous iterations of calling this function to prevent infinite revisiting of the same symbol. - * The value of previousIterationSymbol is undefined when the function is first called. - */ - function getPropertySymbolsFromBaseTypes(symbol, propertyName, checker, cb) { - var seen = ts.createMap(); - return recur(symbol); - function recur(symbol) { - // Use `addToSeen` to ensure we don't infinitely recurse in this situation: - // interface C extends C { - // /*findRef*/propName: string; - // } - if (!(symbol.flags & (32 /* Class */ | 64 /* Interface */)) || !ts.addToSeen(seen, ts.getSymbolId(symbol))) - return; - return ts.firstDefined(symbol.declarations, function (declaration) { return ts.firstDefined(ts.getAllSuperTypeNodes(declaration), function (typeReference) { - var type = checker.getTypeAtLocation(typeReference); - var propertySymbol = type && type.symbol && checker.getPropertyOfType(type, propertyName); - // Visit the typeReference as well to see if it directly or indirectly uses that property - return propertySymbol && (ts.firstDefined(checker.getRootSymbols(propertySymbol), cb) || recur(type.symbol)); - }); }); - } - } function getRelatedSymbol(search, referenceSymbol, referenceLocation, state) { var checker = state.checker; return forEachRelatedSymbol(referenceSymbol, referenceLocation, checker, function (sym, rootSymbol, baseSymbol) { return search.includes(baseSymbol || rootSymbol || sym) @@ -91690,7 +92138,7 @@ var ts; var name = ts.getNameFromPropertyName(node.name); var symbol = contextualType && name && contextualType.getProperty(name); return symbol ? [symbol] : - contextualType && contextualType.isUnion() ? ts.mapDefined(contextualType.types, function (t) { return t.getProperty(name); }) : ts.emptyArray; + contextualType && contextualType.isUnion() ? ts.mapDefined(contextualType.types, function (t) { return t.getProperty(name); }) : ts.emptyArray; // TODO: GH#18217 } /** * Given an initial searchMeaning, extracted from a location, widen the search scope based on the declarations @@ -91712,8 +92160,8 @@ var ts; // To achieve that we will keep iterating until the result stabilizes. // Remember the last meaning lastIterationMeaning = meaning; - for (var _i = 0, declarations_10 = declarations; _i < declarations_10.length; _i++) { - var declaration = declarations_10[_i]; + for (var _i = 0, declarations_11 = declarations; _i < declarations_11.length; _i++) { + var declaration = declarations_11[_i]; var declarationMeaning = ts.getMeaningFromDeclaration(declaration); if (declarationMeaning & meaning) { meaning |= declarationMeaning; @@ -91774,6 +92222,184 @@ var ts; })(ts || (ts = {})); /* @internal */ var ts; +(function (ts) { + function getEditsForFileRename(program, oldFileOrDirPath, newFileOrDirPath, host, formatContext, preferences) { + var useCaseSensitiveFileNames = ts.hostUsesCaseSensitiveFileNames(host); + var getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames); + var oldToNew = getPathUpdater(oldFileOrDirPath, newFileOrDirPath, getCanonicalFileName); + var newToOld = getPathUpdater(newFileOrDirPath, oldFileOrDirPath, getCanonicalFileName); + return ts.textChanges.ChangeTracker.with({ host: host, formatContext: formatContext }, function (changeTracker) { + updateTsconfigFiles(program, changeTracker, oldToNew, newFileOrDirPath, host.getCurrentDirectory(), useCaseSensitiveFileNames); + updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName, preferences); + }); + } + ts.getEditsForFileRename = getEditsForFileRename; + function getPathUpdater(oldFileOrDirPath, newFileOrDirPath, getCanonicalFileName) { + var canonicalOldPath = getCanonicalFileName(oldFileOrDirPath); + return function (path) { + var canonicalPath = getCanonicalFileName(path); + if (canonicalPath === canonicalOldPath) + return newFileOrDirPath; + var suffix = ts.tryRemoveDirectoryPrefix(canonicalPath, canonicalOldPath); + return suffix === undefined ? undefined : newFileOrDirPath + "/" + suffix; + }; + } + function updateTsconfigFiles(program, changeTracker, oldToNew, newFileOrDirPath, currentDirectory, useCaseSensitiveFileNames) { + var configFile = program.getCompilerOptions().configFile; + if (!configFile) + return; + var configDir = ts.getDirectoryPath(configFile.fileName); + var jsonObjectLiteral = ts.getTsConfigObjectLiteralExpression(configFile); + if (!jsonObjectLiteral) + return; + forEachProperty(jsonObjectLiteral, function (property, propertyName) { + switch (propertyName) { + case "files": + case "include": + case "exclude": { + var foundExactMatch = updatePaths(property); + if (!foundExactMatch && propertyName === "include" && ts.isArrayLiteralExpression(property.initializer)) { + var includes = ts.mapDefined(property.initializer.elements, function (e) { return ts.isStringLiteral(e) ? e.text : undefined; }); + var matchers = ts.getFileMatcherPatterns(configDir, /*excludes*/ [], includes, useCaseSensitiveFileNames, currentDirectory); + // If there isn't some include for this, add a new one. + if (!ts.getRegexFromPattern(ts.Debug.assertDefined(matchers.includeFilePattern), useCaseSensitiveFileNames).test(newFileOrDirPath)) { + changeTracker.insertNodeAfter(configFile, ts.last(property.initializer.elements), ts.createStringLiteral(relativePath(newFileOrDirPath))); + } + } + break; + } + case "compilerOptions": + forEachProperty(property.initializer, function (property, propertyName) { + var option = ts.getOptionFromName(propertyName); + if (option && (option.isFilePath || option.type === "list" && option.element.isFilePath)) { + updatePaths(property); + } + else if (propertyName === "paths") { + forEachProperty(property.initializer, function (pathsProperty) { + if (!ts.isArrayLiteralExpression(pathsProperty.initializer)) + return; + for (var _i = 0, _a = pathsProperty.initializer.elements; _i < _a.length; _i++) { + var e = _a[_i]; + tryUpdateString(e); + } + }); + } + }); + break; + } + }); + function updatePaths(property) { + // Type annotation needed due to #7294 + var elements = ts.isArrayLiteralExpression(property.initializer) ? property.initializer.elements : [property.initializer]; + var foundExactMatch = false; + for (var _i = 0, elements_5 = elements; _i < elements_5.length; _i++) { + var element = elements_5[_i]; + foundExactMatch = tryUpdateString(element) || foundExactMatch; + } + return foundExactMatch; + } + function tryUpdateString(element) { + if (!ts.isStringLiteral(element)) + return false; + var elementFileName = combinePathsSafe(configDir, element.text); + var updated = oldToNew(elementFileName); + if (updated !== undefined) { + changeTracker.replaceRangeWithText(configFile, createStringRange(element, configFile), relativePath(updated)); + return true; + } + return false; + } + function relativePath(path) { + return ts.getRelativePathFromDirectory(configDir, path, /*ignoreCase*/ !useCaseSensitiveFileNames); + } + } + function updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName, preferences) { + var _loop_14 = function (sourceFile) { + var newImportFromPath = oldToNew(sourceFile.fileName) || sourceFile.fileName; + var newImportFromDirectory = ts.getDirectoryPath(newImportFromPath); + var oldFromNew = newToOld(sourceFile.fileName); + var oldImportFromPath = oldFromNew || sourceFile.fileName; + var oldImportFromDirectory = ts.getDirectoryPath(oldImportFromPath); + updateImportsWorker(sourceFile, changeTracker, function (referenceText) { + if (!ts.pathIsRelative(referenceText)) + return undefined; + var oldAbsolute = combinePathsSafe(oldImportFromDirectory, referenceText); + var newAbsolute = oldToNew(oldAbsolute); + return newAbsolute === undefined ? undefined : ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(newImportFromDirectory, newAbsolute, getCanonicalFileName)); + }, function (importLiteral) { + var toImport = oldFromNew !== undefined + // If we're at the new location (file was already renamed), need to redo module resolution starting from the old location. + // TODO:GH#18217 + ? getSourceFileToImportFromResolved(ts.resolveModuleName(importLiteral.text, oldImportFromPath, program.getCompilerOptions(), host), oldToNew, program) + : getSourceFileToImport(importLiteral, sourceFile, program, host, oldToNew); + return toImport === undefined ? undefined : ts.moduleSpecifiers.getModuleSpecifier(program, sourceFile, newImportFromPath, toImport, host, preferences); + }); + }; + for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { + var sourceFile = _a[_i]; + _loop_14(sourceFile); + } + } + function combineNormal(pathA, pathB) { + return ts.normalizePath(ts.combinePaths(pathA, pathB)); + } + function combinePathsSafe(pathA, pathB) { + return ts.ensurePathIsNonModuleName(combineNormal(pathA, pathB)); + } + function getSourceFileToImport(importLiteral, importingSourceFile, program, host, oldToNew) { + var symbol = program.getTypeChecker().getSymbolAtLocation(importLiteral); + if (symbol) { + if (symbol.declarations.some(function (d) { return ts.isAmbientModule(d); })) + return undefined; // No need to update if it's an ambient module + var oldFileName = ts.find(symbol.declarations, ts.isSourceFile).fileName; + return oldToNew(oldFileName) || oldFileName; + } + else { + var resolved = host.resolveModuleNames + ? host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName) + : program.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName); + return getSourceFileToImportFromResolved(resolved, oldToNew, program); + } + } + function getSourceFileToImportFromResolved(resolved, oldToNew, program) { + return resolved && ((resolved.resolvedModule && getIfInProgram(resolved.resolvedModule.resolvedFileName)) || ts.firstDefined(resolved.failedLookupLocations, getIfInProgram)); + function getIfInProgram(oldLocation) { + var newLocation = oldToNew(oldLocation); + return program.getSourceFile(oldLocation) || newLocation !== undefined && program.getSourceFile(newLocation) + ? newLocation || oldLocation + : undefined; + } + } + function updateImportsWorker(sourceFile, changeTracker, updateRef, updateImport) { + for (var _i = 0, _a = sourceFile.referencedFiles; _i < _a.length; _i++) { + var ref = _a[_i]; + var updated = updateRef(ref.fileName); + if (updated !== undefined && updated !== sourceFile.text.slice(ref.pos, ref.end)) + changeTracker.replaceRangeWithText(sourceFile, ref, updated); + } + for (var _b = 0, _c = sourceFile.imports; _b < _c.length; _b++) { + var importStringLiteral = _c[_b]; + var updated = updateImport(importStringLiteral); + if (updated !== undefined && updated !== importStringLiteral.text) + changeTracker.replaceRangeWithText(sourceFile, createStringRange(importStringLiteral, sourceFile), updated); + } + } + function createStringRange(node, sourceFile) { + return ts.createTextRange(node.getStart(sourceFile) + 1, node.end - 1); + } + function forEachProperty(objectLiteral, cb) { + if (!ts.isObjectLiteralExpression(objectLiteral)) + return; + for (var _i = 0, _a = objectLiteral.properties; _i < _a.length; _i++) { + var property = _a[_i]; + if (ts.isPropertyAssignment(property) && ts.isStringLiteral(property.name)) { + cb(property, property.name.text); + } + } + } +})(ts || (ts = {})); +/* @internal */ +var ts; (function (ts) { var GoToDefinition; (function (GoToDefinition) { @@ -91786,10 +92412,11 @@ var ts; if (node === sourceFile) { return undefined; } + var parent = node.parent; // Labels if (ts.isJumpStatementTarget(node)) { var label = ts.getTargetLabel(node.parent, node.text); - return label ? [createDefinitionInfoFromName(label, "label" /* label */, node.text, /*containerName*/ undefined)] : undefined; + return label ? [createDefinitionInfoFromName(label, "label" /* label */, node.text, /*containerName*/ undefined)] : undefined; // TODO: GH#18217 } var typeChecker = program.getTypeChecker(); var symbol = getSymbol(node, typeChecker); @@ -91805,7 +92432,7 @@ var ts; // If this is the original constructor definition, parent is the class. return typeChecker.getRootSymbols(symbol).some(function (s) { return calledDeclaration.symbol === s || calledDeclaration.symbol.parent === s; }) || // TODO: GH#23742 Following check shouldn't be necessary if 'require' is an alias - symbol.declarations.some(function (d) { return ts.isVariableDeclaration(d) && d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ false); }) + symbol.declarations.some(function (d) { return ts.isVariableDeclaration(d) && !!d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ false); }) ? [sigInfo] : [sigInfo].concat(getDefinitionFromSymbol(typeChecker, symbol, node)); } @@ -91814,7 +92441,7 @@ var ts; // go to the declaration of the property name (in this case stay at the same position). However, if go-to-definition // is performed at the location of property access, we would like to go to definition of the property in the short-hand // assignment. This case and others are handled by the following code. - if (node.parent.kind === 270 /* ShorthandPropertyAssignment */) { + if (node.parent.kind === 271 /* ShorthandPropertyAssignment */) { var shorthandSymbol_1 = typeChecker.getShorthandAssignmentValueSymbol(symbol.valueDeclaration); return shorthandSymbol_1 ? shorthandSymbol_1.declarations.map(function (decl) { return createDefinitionInfo(decl, typeChecker, shorthandSymbol_1, node); }) : []; } @@ -91829,9 +92456,9 @@ var ts; // pr/*destination*/op1: number // } // bar(({pr/*goto*/op1})=>{}); - if (ts.isPropertyName(node) && ts.isBindingElement(node.parent) && ts.isObjectBindingPattern(node.parent.parent) && - (node === (node.parent.propertyName || node.parent.name))) { - var type = typeChecker.getTypeAtLocation(node.parent.parent); + if (ts.isPropertyName(node) && ts.isBindingElement(parent) && ts.isObjectBindingPattern(parent.parent) && + (node === (parent.propertyName || parent.name))) { + var type = typeChecker.getTypeAtLocation(parent.parent); if (type) { var propSymbols = ts.getPropertySymbolsFromType(type, node); if (propSymbols) { @@ -91866,7 +92493,7 @@ var ts; var typeReferenceDirective = findReferenceInPosition(sourceFile.typeReferenceDirectives, position); if (typeReferenceDirective) { var reference = program.getResolvedTypeReferenceDirectives().get(typeReferenceDirective.fileName); - var file_17 = reference && program.getSourceFile(reference.resolvedFileName); + var file_17 = reference && program.getSourceFile(reference.resolvedFileName); // TODO:GH#18217 return file_17 && { fileName: typeReferenceDirective.fileName, file: file_17 }; } return undefined; @@ -91883,7 +92510,7 @@ var ts; if (!type) { return undefined; } - if (type.isUnion() && !(type.flags & 16 /* Enum */)) { + if (type.isUnion() && !(type.flags & 32 /* Enum */)) { return ts.flatMap(type.types, function (t) { return t.symbol && getDefinitionFromSymbol(typeChecker, t.symbol, node); }); } return type.symbol && getDefinitionFromSymbol(typeChecker, type.symbol, node); @@ -91941,11 +92568,11 @@ var ts; return true; } switch (declaration.kind) { - case 244 /* ImportClause */: - case 242 /* ImportEqualsDeclaration */: + case 245 /* ImportClause */: + case 243 /* ImportEqualsDeclaration */: return true; - case 247 /* ImportSpecifier */: - return declaration.parent.kind === 246 /* NamedImports */; + case 248 /* ImportSpecifier */: + return declaration.parent.kind === 247 /* NamedImports */; default: return false; } @@ -92009,14 +92636,14 @@ var ts; kind: "script" /* scriptElement */, name: name, containerName: undefined, - containerKind: undefined + containerKind: undefined, }; } /** Returns a CallLikeExpression where `node` is the target being invoked. */ function getAncestorCallLikeExpression(node) { var target = climbPastManyPropertyAccesses(node); var callLike = target.parent; - return callLike && ts.isCallLikeExpression(callLike) && ts.getInvokedExpression(callLike) === target && callLike; + return callLike && ts.isCallLikeExpression(callLike) && ts.getInvokedExpression(callLike) === target ? callLike : undefined; } function climbPastManyPropertyAccesses(node) { return ts.isRightSideOfPropertyAccess(node) ? climbPastManyPropertyAccesses(node.parent) : node; @@ -92104,11 +92731,11 @@ var ts; JsDoc.getJsDocCommentsFromDeclarations = getJsDocCommentsFromDeclarations; function getCommentHavingNodes(declaration) { switch (declaration.kind) { - case 292 /* JSDocParameterTag */: - case 297 /* JSDocPropertyTag */: + case 293 /* JSDocParameterTag */: + case 298 /* JSDocPropertyTag */: return [declaration]; - case 291 /* JSDocCallbackTag */: - case 296 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: return [declaration, declaration.parent]; default: return ts.getJSDocCommentsAndTags(declaration); @@ -92129,16 +92756,16 @@ var ts; function getCommentText(tag) { var comment = tag.comment; switch (tag.kind) { - case 289 /* JSDocAugmentsTag */: + case 290 /* JSDocAugmentsTag */: return withNode(tag.class); - case 295 /* JSDocTemplateTag */: + case 296 /* JSDocTemplateTag */: return withList(tag.typeParameters); - case 294 /* JSDocTypeTag */: + case 295 /* JSDocTypeTag */: return withNode(tag.typeExpression); - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: - case 297 /* JSDocPropertyTag */: - case 292 /* JSDocParameterTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 298 /* JSDocPropertyTag */: + case 293 /* JSDocParameterTag */: var name = tag.name; return name ? withNode(name) : comment; default: @@ -92220,7 +92847,7 @@ var ts; if (!ts.isIdentifier(param.name)) return undefined; var name = param.name.text; - if (jsdoc.tags.some(function (t) { return t !== tag && ts.isJSDocParameterTag(t) && ts.isIdentifier(t.name) && t.name.escapedText === name; }) + if (jsdoc.tags.some(function (t) { return t !== tag && ts.isJSDocParameterTag(t) && ts.isIdentifier(t.name) && t.name.escapedText === name; }) // TODO: GH#18217 || nameThusFar !== undefined && !ts.startsWith(name, nameThusFar)) { return undefined; } @@ -92269,7 +92896,7 @@ var ts; return undefined; } var tokenAtPos = ts.getTokenAtPosition(sourceFile, position, /*includeJsDocComment*/ false); - var tokenStart = tokenAtPos.getStart(); + var tokenStart = tokenAtPos.getStart(sourceFile); if (!tokenAtPos || tokenStart < position) { return undefined; } @@ -92278,7 +92905,7 @@ var ts; return undefined; } var commentOwner = commentOwnerInfo.commentOwner, parameters = commentOwnerInfo.parameters; - if (commentOwner.getStart() < position) { + if (commentOwner.getStart(sourceFile) < position) { return undefined; } if (!parameters || parameters.length === 0) { @@ -92290,18 +92917,6 @@ var ts; var lineStart = sourceFile.getLineStarts()[posLineAndChar.line]; // replace non-whitespace characters in prefix with spaces. var indentationStr = sourceFile.text.substr(lineStart, posLineAndChar.character).replace(/\S/i, function () { return " "; }); - var isJavaScriptFile = ts.hasJavaScriptFileExtension(sourceFile.fileName); - var docParams = ""; - for (var i = 0; i < parameters.length; i++) { - var currentName = parameters[i].name; - var paramName = currentName.kind === 71 /* Identifier */ ? currentName.escapedText : "param" + i; - if (isJavaScriptFile) { - docParams += indentationStr + " * @param {any} " + paramName + newLine; - } - else { - docParams += indentationStr + " * @param " + paramName + newLine; - } - } // A doc comment consists of the following // * The opening comment line // * the first line (without a param) for the object's untagged info (this is also where the caret ends up) @@ -92312,29 +92927,37 @@ var ts; var preamble = "/**" + newLine + indentationStr + " * "; var result = preamble + newLine + - docParams + + parameterDocComments(parameters, ts.hasJavaScriptFileExtension(sourceFile.fileName), indentationStr, newLine) + indentationStr + " */" + (tokenStart === position ? newLine + indentationStr : ""); return { newText: result, caretOffset: preamble.length }; } JsDoc.getDocCommentTemplateAtPosition = getDocCommentTemplateAtPosition; + function parameterDocComments(parameters, isJavaScriptFile, indentationStr, newLine) { + return parameters.map(function (_a, i) { + var name = _a.name, dotDotDotToken = _a.dotDotDotToken; + var paramName = name.kind === 71 /* Identifier */ ? name.text : "param" + i; + var type = isJavaScriptFile ? (dotDotDotToken ? "{...any} " : "{any} ") : ""; + return indentationStr + " * @param " + type + paramName + newLine; + }).join(""); + } function getCommentOwnerInfo(tokenAtPos) { for (var commentOwner = tokenAtPos; commentOwner; commentOwner = commentOwner.parent) { switch (commentOwner.kind) { - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: - case 152 /* MethodSignature */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: + case 153 /* MethodSignature */: var parameters = commentOwner.parameters; return { commentOwner: commentOwner, parameters: parameters }; - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 150 /* PropertySignature */: - case 237 /* EnumDeclaration */: - case 272 /* EnumMember */: - case 236 /* TypeAliasDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 151 /* PropertySignature */: + case 238 /* EnumDeclaration */: + case 273 /* EnumMember */: + case 237 /* TypeAliasDeclaration */: return { commentOwner: commentOwner }; - case 213 /* VariableStatement */: { + case 214 /* VariableStatement */: { var varStatement = commentOwner; var varDeclarations = varStatement.declarationList.declarations; var parameters_1 = varDeclarations.length === 1 && varDeclarations[0].initializer @@ -92342,14 +92965,14 @@ var ts; : undefined; return { commentOwner: commentOwner, parameters: parameters_1 }; } - case 273 /* SourceFile */: + case 274 /* SourceFile */: return undefined; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: // If in walking up the tree, we hit a a nested namespace declaration, // then we must be somewhere within a dotted namespace name; however we don't // want to give back a JSDoc template for the 'b' or 'c' in 'namespace a.b.c { }'. - return commentOwner.parent.kind === 238 /* ModuleDeclaration */ ? undefined : { commentOwner: commentOwner }; - case 199 /* BinaryExpression */: { + return commentOwner.parent.kind === 239 /* ModuleDeclaration */ ? undefined : { commentOwner: commentOwner }; + case 200 /* BinaryExpression */: { var be = commentOwner; if (ts.getSpecialPropertyAssignmentKind(be) === 0 /* None */) { return undefined; @@ -92369,16 +92992,16 @@ var ts; * @returns the parameters of a signature found on the RHS if one exists; otherwise 'emptyArray'. */ function getParametersFromRightHandSideOfAssignment(rightHandSide) { - while (rightHandSide.kind === 190 /* ParenthesizedExpression */) { + while (rightHandSide.kind === 191 /* ParenthesizedExpression */) { rightHandSide = rightHandSide.expression; } switch (rightHandSide.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return rightHandSide.parameters; - case 204 /* ClassExpression */: { + case 205 /* ClassExpression */: { var ctr = ts.find(rightHandSide.members, ts.isConstructorDeclaration); - return ctr && ctr.parameters; + return ctr ? ctr.parameters : ts.emptyArray; } } return ts.emptyArray; @@ -92562,7 +93185,8 @@ var ts; } // Add the cached typing locations for inferred typings that are already installed packageNameToTypingLocation.forEach(function (typing, name) { - if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && isTypingUpToDate(typing, typesRegistry.get(name))) { + var registryEntry = typesRegistry.get(name); + if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && registryEntry !== undefined && isTypingUpToDate(typing, registryEntry)) { inferredTypings.set(name, typing.typingLocation); } }); @@ -92589,7 +93213,7 @@ var ts; return result; function addInferredTyping(typingName) { if (!inferredTypings.has(typingName)) { - inferredTypings.set(typingName, undefined); + inferredTypings.set(typingName, undefined); // TODO: GH#18217 } } function addInferredTypings(typingNames, message) { @@ -92740,7 +93364,7 @@ var ts; case 0 /* Ok */: return ts.Debug.fail(); // Shouldn't have called this. default: - ts.Debug.assertNever(result); + throw ts.Debug.assertNever(result); } } JsTyping.renderPackageNameValidationFailure = renderPackageNameValidationFailure; @@ -92756,7 +93380,7 @@ var ts; if (!patternMatcher) return ts.emptyArray; var rawItems = []; - var _loop_14 = function (sourceFile) { + var _loop_15 = function (sourceFile) { cancellationToken.throwIfCancellationRequested(); if (excludeDtsFiles && ts.fileExtensionIs(sourceFile.fileName, ".d.ts" /* Dts */)) { return "continue"; @@ -92768,7 +93392,7 @@ var ts; // Search the declarations in all files and output matched NavigateToItem into array of NavigateToItem[] for (var _i = 0, sourceFiles_7 = sourceFiles; _i < sourceFiles_7.length; _i++) { var sourceFile = sourceFiles_7[_i]; - _loop_14(sourceFile); + _loop_15(sourceFile); } rawItems.sort(compareNavigateToItems); if (maxResultCount !== undefined) { @@ -92784,12 +93408,12 @@ var ts; if (!match) { return; // continue to next named declarations } - for (var _i = 0, declarations_11 = declarations; _i < declarations_11.length; _i++) { - var declaration = declarations_11[_i]; + for (var _i = 0, declarations_12 = declarations; _i < declarations_12.length; _i++) { + var declaration = declarations_12[_i]; if (!shouldKeepItem(declaration, checker)) continue; if (patternMatcher.patternContainsDots) { - var fullMatch = patternMatcher.getFullMatch(getContainers(declaration), name); + var fullMatch = patternMatcher.getFullMatch(getContainers(declaration), name); // TODO: GH#18217 if (fullMatch) { rawItems.push({ name: name, fileName: fileName, matchKind: fullMatch.kind, isCaseSensitive: fullMatch.isCaseSensitive, declaration: declaration }); } @@ -92802,9 +93426,9 @@ var ts; } function shouldKeepItem(declaration, checker) { switch (declaration.kind) { - case 244 /* ImportClause */: - case 247 /* ImportSpecifier */: - case 242 /* ImportEqualsDeclaration */: + case 245 /* ImportClause */: + case 248 /* ImportSpecifier */: + case 243 /* ImportEqualsDeclaration */: var importer = checker.getSymbolAtLocation(declaration.name); var imported = checker.getAliasedSymbol(importer); return importer.escapedName !== imported.escapedName; @@ -92818,7 +93442,7 @@ var ts; containers.unshift(ts.getTextOfIdentifierOrLiteral(name)); return true; } - else if (name && name.kind === 146 /* ComputedPropertyName */) { + else if (name && name.kind === 147 /* ComputedPropertyName */) { return tryAddComputedPropertyName(name.expression, containers, /*includeLastPortion*/ true); } else { @@ -92850,16 +93474,16 @@ var ts; // First, if we started with a computed property name, then add all but the last // portion into the container array. var name = ts.getNameOfDeclaration(declaration); - if (name.kind === 146 /* ComputedPropertyName */ && !tryAddComputedPropertyName(name.expression, containers, /*includeLastPortion*/ false)) { + if (name.kind === 147 /* ComputedPropertyName */ && !tryAddComputedPropertyName(name.expression, containers, /*includeLastPortion*/ false)) { return undefined; } // Now, walk up our containers, adding all their names to the container array. - declaration = ts.getContainerNode(declaration); - while (declaration) { - if (!tryAddSingleDeclarationName(declaration, containers)) { + var container = ts.getContainerNode(declaration); + while (container) { + if (!tryAddSingleDeclarationName(container, containers)) { return undefined; } - declaration = ts.getContainerNode(declaration); + container = ts.getContainerNode(container); } return containers; } @@ -92882,7 +93506,7 @@ var ts; textSpan: ts.createTextSpanFromNode(declaration), // TODO(jfreeman): What should be the containerName when the container has a computed name? containerName: containerName ? containerName.text : "", - containerKind: containerName ? ts.getNodeKind(container) : "" /* unknown */ + containerKind: containerName ? ts.getNodeKind(container) : "" /* unknown */ // TODO: GH#18217 Just use `container ? ...` }; } })(NavigateTo = ts.NavigateTo || (ts.NavigateTo = {})); @@ -93016,7 +93640,7 @@ var ts; return; } switch (node.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: // Get parameter properties, and treat them as being on the *same* level as the constructor, not under it. var ctr = node; addNodeWithRecursiveChild(ctr, ctr.body); @@ -93028,21 +93652,21 @@ var ts; } } break; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 153 /* MethodSignature */: if (!ts.hasDynamicName(node)) { addNodeWithRecursiveChild(node, node.body); } break; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: if (!ts.hasDynamicName(node)) { addLeafNode(node); } break; - case 244 /* ImportClause */: + case 245 /* ImportClause */: var importClause = node; // Handle default import case e.g.: // import d from "mod"; @@ -93054,7 +93678,7 @@ var ts; // import {a, b as B} from "mod"; var namedBindings = importClause.namedBindings; if (namedBindings) { - if (namedBindings.kind === 245 /* NamespaceImport */) { + if (namedBindings.kind === 246 /* NamespaceImport */) { addLeafNode(namedBindings); } else { @@ -93065,8 +93689,8 @@ var ts; } } break; - case 181 /* BindingElement */: - case 231 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 232 /* VariableDeclaration */: var _d = node, name = _d.name, initializer = _d.initializer; if (ts.isBindingPattern(name)) { addChildrenRecursively(name); @@ -93087,12 +93711,12 @@ var ts; addNodeWithRecursiveChild(node, initializer); } break; - case 192 /* ArrowFunction */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: addNodeWithRecursiveChild(node, node.body); break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: startNode(node); for (var _e = 0, _f = node.members; _e < _f.length; _e++) { var member = _f[_e]; @@ -93102,9 +93726,9 @@ var ts; } endNode(); break; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: startNode(node); for (var _g = 0, _h = node.members; _g < _h.length; _g++) { var member = _h[_g]; @@ -93112,18 +93736,18 @@ var ts; } endNode(); break; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: addNodeWithRecursiveChild(node, getInteriorModule(node).body); break; - case 251 /* ExportSpecifier */: - case 242 /* ImportEqualsDeclaration */: - case 159 /* IndexSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 236 /* TypeAliasDeclaration */: + case 252 /* ExportSpecifier */: + case 243 /* ImportEqualsDeclaration */: + case 160 /* IndexSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 237 /* TypeAliasDeclaration */: addLeafNode(node); break; - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var special = ts.getSpecialPropertyAssignmentKind(node); switch (special) { case 1 /* ExportsProperty */: @@ -93202,12 +93826,12 @@ var ts; return false; } switch (a.kind) { - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return ts.hasModifier(a, 32 /* Static */) === ts.hasModifier(b, 32 /* Static */); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return areSameModule(a, b); default: return true; @@ -93216,7 +93840,8 @@ var ts; // We use 1 NavNode to represent 'A.B.C', but there are multiple source nodes. // Only merge module nodes that have the same chain. Don't merge 'A.B.C' with 'A'! function areSameModule(a, b) { - return a.body.kind === b.body.kind && (a.body.kind !== 238 /* ModuleDeclaration */ || areSameModule(a.body, b.body)); + // TODO: GH#18217 + return a.body.kind === b.body.kind && (a.body.kind !== 239 /* ModuleDeclaration */ || areSameModule(a.body, b.body)); } /** Merge source into target. Source should be thrown away after this is called. */ function merge(target, source) { @@ -93237,7 +93862,7 @@ var ts; children.sort(compareChildren); } function compareChildren(child1, child2) { - return ts.compareStringsCaseSensitiveUI(tryGetName(child1.node), tryGetName(child2.node)) + return ts.compareStringsCaseSensitiveUI(tryGetName(child1.node), tryGetName(child2.node)) // TODO: GH#18217 || ts.compareValues(navigationBarNodeKind(child1), navigationBarNodeKind(child2)); } /** @@ -93246,24 +93871,24 @@ var ts; * So `new()` can still come before an `aardvark` method. */ function tryGetName(node) { - if (node.kind === 238 /* ModuleDeclaration */) { + if (node.kind === 239 /* ModuleDeclaration */) { return getModuleName(node); } var declName = ts.getNameOfDeclaration(node); if (declName) { - return ts.unescapeLeadingUnderscores(ts.getPropertyNameForPropertyNameNode(declName)); + return ts.unescapeLeadingUnderscores(ts.getPropertyNameForPropertyNameNode(declName)); // TODO: GH#18217 } switch (node.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 204 /* ClassExpression */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 205 /* ClassExpression */: return getFunctionOrClassName(node); default: return undefined; } } function getItemName(node) { - if (node.kind === 238 /* ModuleDeclaration */) { + if (node.kind === 239 /* ModuleDeclaration */) { return getModuleName(node); } var name = ts.getNameOfDeclaration(node); @@ -93274,16 +93899,16 @@ var ts; } } switch (node.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: var sourceFile = node; return ts.isExternalModule(sourceFile) ? "\"" + ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(sourceFile.fileName)))) + "\"" : ""; - case 192 /* ArrowFunction */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 193 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: if (ts.getModifierFlags(node) & 512 /* Default */) { return "default"; } @@ -93291,13 +93916,13 @@ var ts; // (eg: "app\n.onactivated"), so we should remove the whitespace for readabiltiy in the // navigation bar. return getFunctionOrClassName(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return "constructor"; - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: return "new()"; - case 157 /* CallSignature */: + case 158 /* CallSignature */: return "()"; - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: return "[]"; default: return ""; @@ -93321,25 +93946,25 @@ var ts; return topLevel; function isTopLevel(item) { switch (navigationBarNodeKind(item)) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 237 /* EnumDeclaration */: - case 235 /* InterfaceDeclaration */: - case 238 /* ModuleDeclaration */: - case 273 /* SourceFile */: - case 236 /* TypeAliasDeclaration */: - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 238 /* EnumDeclaration */: + case 236 /* InterfaceDeclaration */: + case 239 /* ModuleDeclaration */: + case 274 /* SourceFile */: + case 237 /* TypeAliasDeclaration */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: return true; - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 231 /* VariableDeclaration */: + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 232 /* VariableDeclaration */: return hasSomeImportantChild(item); - case 192 /* ArrowFunction */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: return isTopLevelFunctionDeclaration(item); default: return false; @@ -93349,19 +93974,19 @@ var ts; return false; } switch (navigationBarNodeKind(item.parent)) { - case 239 /* ModuleBlock */: - case 273 /* SourceFile */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: + case 240 /* ModuleBlock */: + case 274 /* SourceFile */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: return true; default: return hasSomeImportantChild(item); } } function hasSomeImportantChild(item) { - return ts.forEach(item.children, function (child) { + return ts.some(item.children, function (child) { var childKind = navigationBarNodeKind(child); - return childKind !== 231 /* VariableDeclaration */ && childKind !== 181 /* BindingElement */; + return childKind !== 232 /* VariableDeclaration */ && childKind !== 182 /* BindingElement */; }); } } @@ -93417,7 +94042,7 @@ var ts; // Otherwise, we need to aggregate each identifier to build up the qualified name. var result = []; result.push(ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)); - while (moduleDeclaration.body && moduleDeclaration.body.kind === 238 /* ModuleDeclaration */) { + while (moduleDeclaration.body && moduleDeclaration.body.kind === 239 /* ModuleDeclaration */) { moduleDeclaration = moduleDeclaration.body; result.push(ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)); } @@ -93428,16 +94053,16 @@ var ts; * We store 'A' as associated with a NavNode, and use getModuleName to traverse down again. */ function getInteriorModule(decl) { - return decl.body.kind === 238 /* ModuleDeclaration */ ? getInteriorModule(decl.body) : decl; + return decl.body.kind === 239 /* ModuleDeclaration */ ? getInteriorModule(decl.body) : decl; // TODO: GH#18217 } function isComputedProperty(member) { - return !member.name || member.name.kind === 146 /* ComputedPropertyName */; + return !member.name || member.name.kind === 147 /* ComputedPropertyName */; } function getNodeSpan(node) { - return node.kind === 273 /* SourceFile */ ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); + return node.kind === 274 /* SourceFile */ ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); } function getModifiers(node) { - if (node.parent && node.parent.kind === 231 /* VariableDeclaration */) { + if (node.parent && node.parent.kind === 232 /* VariableDeclaration */) { node = node.parent; } return ts.getNodeModifiers(node); @@ -93447,16 +94072,16 @@ var ts; return ts.declarationNameToString(node.name); } // See if it is a var initializer. If so, use the var name. - else if (node.parent.kind === 231 /* VariableDeclaration */) { + else if (node.parent.kind === 232 /* VariableDeclaration */) { return ts.declarationNameToString(node.parent.name); } // See if it is of the form " = function(){...}". If so, use the text from the left-hand side. - else if (node.parent.kind === 199 /* BinaryExpression */ && + else if (node.parent.kind === 200 /* BinaryExpression */ && node.parent.operatorToken.kind === 58 /* EqualsToken */) { return nodeText(node.parent.left).replace(whiteSpaceRegex, ""); } // See if it is a property assignment, and if so use the property name - else if (node.parent.kind === 269 /* PropertyAssignment */ && node.parent.name) { + else if (node.parent.kind === 270 /* PropertyAssignment */ && node.parent.name) { return nodeText(node.parent.name); } // Default exports are named "default" @@ -93469,9 +94094,9 @@ var ts; } function isFunctionOrClassExpression(node) { switch (node.kind) { - case 192 /* ArrowFunction */: - case 191 /* FunctionExpression */: - case 204 /* ClassExpression */: + case 193 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 205 /* ClassExpression */: return true; default: return false; @@ -93501,7 +94126,7 @@ var ts; organizeImportsWorker(topLevelExportDecls, coalesceExports); for (var _i = 0, _a = sourceFile.statements.filter(ts.isAmbientModule); _i < _a.length; _i++) { var ambientModule = _a[_i]; - var ambientModuleBody = getModuleBlock(ambientModule); + var ambientModuleBody = getModuleBlock(ambientModule); // TODO: GH#18217 var ambientModuleImportDecls = ambientModuleBody.statements.filter(ts.isImportDeclaration); organizeImportsWorker(ambientModuleImportDecls, coalesceAndOrganizeImports); var ambientModuleExportDecls = ambientModuleBody.statements.filter(ts.isExportDeclaration); @@ -93549,12 +94174,12 @@ var ts; OrganizeImports.organizeImports = organizeImports; function getModuleBlock(moduleDecl) { var body = moduleDecl.body; - return body && !ts.isIdentifier(body) && (ts.isModuleBlock(body) ? body : getModuleBlock(body)); + return body && !ts.isIdentifier(body) ? (ts.isModuleBlock(body) ? body : getModuleBlock(body)) : undefined; } function removeUnusedImports(oldImports, sourceFile, program) { var typeChecker = program.getTypeChecker(); var jsxNamespace = typeChecker.getJsxNamespace(); - var jsxContext = sourceFile.languageVariant === 1 /* JSX */ && program.getCompilerOptions().jsx; + var jsxElementsPresent = !!(sourceFile.transformFlags & 4 /* ContainsJsx */); var usedImports = []; for (var _i = 0, oldImports_1 = oldImports; _i < oldImports_1.length; _i++) { var importDecl = oldImports_1[_i]; @@ -93592,8 +94217,8 @@ var ts; } return usedImports; function isDeclarationUsed(identifier) { - // The JSX factory symbol is always used. - return jsxContext && (identifier.text === jsxNamespace) || ts.FindAllReferences.Core.isSymbolReferencedInFile(identifier, typeChecker, sourceFile); + // The JSX factory symbol is always used if JSX elements are present - even if they are not allowed. + return jsxElementsPresent && (identifier.text === jsxNamespace) || ts.FindAllReferences.Core.isSymbolReferencedInFile(identifier, typeChecker, sourceFile); } } function getExternalModuleName(specifier) { @@ -93619,16 +94244,16 @@ var ts; if (defaultImports.length === 1 && namespaceImports.length === 1 && namedImports.length === 0) { // Add the namespace import to the existing default ImportDeclaration. var defaultImport = defaultImports[0]; - coalescedImports.push(updateImportDeclarationAndClause(defaultImport, defaultImport.importClause.name, namespaceImports[0].importClause.namedBindings)); + coalescedImports.push(updateImportDeclarationAndClause(defaultImport, defaultImport.importClause.name, namespaceImports[0].importClause.namedBindings)); // TODO: GH#18217 return coalescedImports; } var sortedNamespaceImports = ts.stableSort(namespaceImports, function (i1, i2) { return compareIdentifiers(i1.importClause.namedBindings.name, i2.importClause.namedBindings.name); - }); + }); // TODO: GH#18217 for (var _i = 0, sortedNamespaceImports_1 = sortedNamespaceImports; _i < sortedNamespaceImports_1.length; _i++) { var namespaceImport = sortedNamespaceImports_1[_i]; // Drop the name, if any - coalescedImports.push(updateImportDeclarationAndClause(namespaceImport, /*name*/ undefined, namespaceImport.importClause.namedBindings)); + coalescedImports.push(updateImportDeclarationAndClause(namespaceImport, /*name*/ undefined, namespaceImport.importClause.namedBindings)); // TODO: GH#18217 } if (defaultImports.length === 0 && namedImports.length === 0) { return coalescedImports; @@ -93641,10 +94266,10 @@ var ts; else { for (var _b = 0, defaultImports_1 = defaultImports; _b < defaultImports_1.length; _b++) { var defaultImport = defaultImports_1[_b]; - newImportSpecifiers.push(ts.createImportSpecifier(ts.createIdentifier("default"), defaultImport.importClause.name)); + newImportSpecifiers.push(ts.createImportSpecifier(ts.createIdentifier("default"), defaultImport.importClause.name)); // TODO: GH#18217 } } - newImportSpecifiers.push.apply(newImportSpecifiers, ts.flatMap(namedImports, function (i) { return i.importClause.namedBindings.elements; })); + newImportSpecifiers.push.apply(newImportSpecifiers, ts.flatMap(namedImports, function (i) { return i.importClause.namedBindings.elements; })); // TODO: GH#18217 var sortedImportSpecifiers = sortSpecifiers(newImportSpecifiers); var importDecl = defaultImports.length > 0 ? defaultImports[0] @@ -93655,7 +94280,7 @@ var ts; : ts.createNamedImports(ts.emptyArray) : namedImports.length === 0 ? ts.createNamedImports(sortedImportSpecifiers) - : ts.updateNamedImports(namedImports[0].importClause.namedBindings, sortedImportSpecifiers); + : ts.updateNamedImports(namedImports[0].importClause.namedBindings, sortedImportSpecifiers); // TODO: GH#18217 coalescedImports.push(updateImportDeclarationAndClause(importDecl, newDefaultImport, newNamedImports)); return coalescedImports; /* @@ -93749,7 +94374,8 @@ var ts; } OrganizeImports.coalesceExports = coalesceExports; function updateImportDeclarationAndClause(importDeclaration, name, namedBindings) { - return ts.updateImportDeclaration(importDeclaration, importDeclaration.decorators, importDeclaration.modifiers, ts.updateImportClause(importDeclaration.importClause, name, namedBindings), importDeclaration.moduleSpecifier); + return ts.updateImportDeclaration(importDeclaration, importDeclaration.decorators, importDeclaration.modifiers, ts.updateImportClause(importDeclaration.importClause, name, namedBindings), // TODO: GH#18217 + importDeclaration.moduleSpecifier); } function sortSpecifiers(specifiers) { return ts.stableSort(specifiers, function (s1, s2) { @@ -93773,73 +94399,6 @@ var ts; })(ts || (ts = {})); /* @internal */ var ts; -(function (ts) { - function getEditsForFileRename(program, oldFilePath, newFilePath, host, formatContext) { - var pathUpdater = getPathUpdater(oldFilePath, newFilePath, host); - return ts.textChanges.ChangeTracker.with({ host: host, formatContext: formatContext }, function (changeTracker) { - updateTsconfigFiles(program, changeTracker, oldFilePath, newFilePath); - for (var _i = 0, _a = getImportsToUpdate(program, oldFilePath, host); _i < _a.length; _i++) { - var _b = _a[_i], sourceFile = _b.sourceFile, toUpdate = _b.toUpdate; - var newPath = pathUpdater(isRef(toUpdate) ? toUpdate.fileName : toUpdate.text); - if (newPath !== undefined) { - var range = isRef(toUpdate) ? toUpdate : createStringRange(toUpdate, sourceFile); - changeTracker.replaceRangeWithText(sourceFile, range, isRef(toUpdate) ? newPath : ts.removeFileExtension(newPath)); - } - } - }); - } - ts.getEditsForFileRename = getEditsForFileRename; - function updateTsconfigFiles(program, changeTracker, oldFilePath, newFilePath) { - var configFile = program.getCompilerOptions().configFile; - var oldFile = ts.getTsConfigPropArrayElementValue(configFile, "files", oldFilePath); - if (oldFile) { - changeTracker.replaceRangeWithText(configFile, createStringRange(oldFile, configFile), newFilePath); - } - } - function isRef(toUpdate) { - return "fileName" in toUpdate; - } - function getImportsToUpdate(program, oldFilePath, host) { - var checker = program.getTypeChecker(); - var result = []; - for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { - var sourceFile = _a[_i]; - for (var _b = 0, _c = sourceFile.referencedFiles; _b < _c.length; _b++) { - var ref = _c[_b]; - if (!program.getSourceFileFromReference(sourceFile, ref) && ts.resolveTripleslashReference(ref.fileName, sourceFile.fileName) === oldFilePath) { - result.push({ sourceFile: sourceFile, toUpdate: ref }); - } - } - for (var _d = 0, _e = sourceFile.imports; _d < _e.length; _d++) { - var importStringLiteral = _e[_d]; - // If it resolved to something already, ignore. - if (checker.getSymbolAtLocation(importStringLiteral)) - continue; - var resolved = host.resolveModuleNames - ? host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importStringLiteral.text, sourceFile.fileName) - : program.getResolvedModuleWithFailedLookupLocationsFromCache(importStringLiteral.text, sourceFile.fileName); - if (resolved && ts.contains(resolved.failedLookupLocations, oldFilePath)) { - result.push({ sourceFile: sourceFile, toUpdate: importStringLiteral }); - } - } - } - return result; - } - function getPathUpdater(oldFilePath, newFilePath, host) { - // Get the relative path from old to new location, and append it on to the end of imports and normalize. - var rel = ts.getRelativePathFromFile(oldFilePath, newFilePath, ts.createGetCanonicalFileName(ts.hostUsesCaseSensitiveFileNames(host))); - return function (oldPath) { - if (!ts.pathIsRelative(oldPath)) - return; - return ts.ensurePathIsNonModuleName(ts.normalizePath(ts.combinePaths(ts.getDirectoryPath(oldPath), rel))); - }; - } - function createStringRange(node, sourceFile) { - return ts.createTextRange(node.getStart(sourceFile) + 1, node.end - 1); - } -})(ts || (ts = {})); -/* @internal */ -var ts; (function (ts) { var OutliningElementsCollector; (function (OutliningElementsCollector) { @@ -93964,24 +94523,24 @@ var ts; } function getOutliningSpanForNode(n, sourceFile) { switch (n.kind) { - case 212 /* Block */: + case 213 /* Block */: if (ts.isFunctionBlock(n)) { - return spanForNode(n.parent, /*autoCollapse*/ n.parent.kind !== 192 /* ArrowFunction */); + return spanForNode(n.parent, /*autoCollapse*/ n.parent.kind !== 193 /* ArrowFunction */); } // Check if the block is standalone, or 'attached' to some parent statement. // If the latter, we want to collapse the block, but consider its hint span // to be the entire span of the parent. switch (n.parent.kind) { - case 217 /* DoStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 219 /* ForStatement */: - case 216 /* IfStatement */: - case 218 /* WhileStatement */: - case 225 /* WithStatement */: - case 268 /* CatchClause */: + case 218 /* DoStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 220 /* ForStatement */: + case 217 /* IfStatement */: + case 219 /* WhileStatement */: + case 226 /* WithStatement */: + case 269 /* CatchClause */: return spanForNode(n.parent); - case 229 /* TryStatement */: + case 230 /* TryStatement */: // Could be the try-block, or the finally-block. var tryStatement = n.parent; if (tryStatement.tryBlock === n) { @@ -93996,16 +94555,16 @@ var ts; // the span of the block, independent of any parent span. return createOutliningSpan(ts.createTextSpanFromNode(n, sourceFile), "code" /* Code */); } - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return spanForNode(n.parent); - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 240 /* CaseBlock */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 241 /* CaseBlock */: return spanForNode(n); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return spanForObjectOrArrayLiteral(n); - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return spanForObjectOrArrayLiteral(n, 21 /* OpenBracketToken */); } function spanForObjectOrArrayLiteral(node, open) { @@ -94075,7 +94634,7 @@ var ts; // First, check that the last part of the dot separated pattern matches the name of the // candidate. If not, then there's no point in proceeding and doing the more // expensive work. - var candidateMatch = matchSegment(candidate, ts.lastOrUndefined(dotSeparatedSegments), stringToWordSpans); + var candidateMatch = matchSegment(candidate, ts.last(dotSeparatedSegments), stringToWordSpans); if (!candidateMatch) { return undefined; } @@ -94316,13 +94875,13 @@ var ts; // Assumes 'value' is already lowercase. function indexOfIgnoringCase(str, value) { var n = str.length - value.length; - var _loop_15 = function (start) { + var _loop_16 = function (start) { if (every(value, function (valueChar, i) { return toLowerCase(str.charCodeAt(i + start)) === valueChar; })) { return { value: start }; } }; for (var start = 0; start <= n; start++) { - var state_4 = _loop_15(start); + var state_4 = _loop_16(start); if (typeof state_4 === "object") return state_4.value; } @@ -94595,7 +95154,7 @@ var ts; else { if (token === 71 /* Identifier */ || ts.isKeyword(token)) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // import d from "mod"; @@ -94626,7 +95185,7 @@ var ts; } if (token === 18 /* CloseBraceToken */) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // import {a as A} from "mod"; @@ -94642,7 +95201,7 @@ var ts; token = nextToken(); if (token === 71 /* Identifier */ || ts.isKeyword(token)) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // import * as NS from "mod" @@ -94672,7 +95231,7 @@ var ts; } if (token === 18 /* CloseBraceToken */) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // export {a as A} from "mod"; @@ -94684,7 +95243,7 @@ var ts; } else if (token === 39 /* AsteriskToken */) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // export * from "mod" @@ -94808,7 +95367,7 @@ var ts; importedFiles.push(decl.ref); } } - return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: pragmaContext.hasNoDefaultLib, ambientExternalModules: undefined }; + return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: !!pragmaContext.hasNoDefaultLib, ambientExternalModules: undefined }; } else { // for global scripts ambient modules still can have augmentations - look for ambient modules with depth > 0 @@ -94827,7 +95386,7 @@ var ts; } } } - return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: pragmaContext.hasNoDefaultLib, ambientExternalModules: ambientModuleNames }; + return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: !!pragmaContext.hasNoDefaultLib, ambientExternalModules: ambientModuleNames }; } } ts.preProcessFile = preProcessFile; @@ -94856,36 +95415,30 @@ var ts; Rename.getRenameInfo = getRenameInfo; function getRenameInfoForNode(node, typeChecker, sourceFile, isDefinedInLibraryFile) { var symbol = typeChecker.getSymbolAtLocation(node); + if (!symbol) + return; // Only allow a symbol to be renamed if it actually has at least one declaration. - if (symbol) { - var declarations = symbol.declarations; - if (declarations && declarations.length > 0) { - // Disallow rename for elements that are defined in the standard TypeScript library. - if (declarations.some(isDefinedInLibraryFile)) { - return getRenameInfoError(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); - } - // Cannot rename `default` as in `import { default as foo } from "./someModule"; - if (ts.isIdentifier(node) && node.originalKeywordKind === 79 /* DefaultKeyword */ && symbol.parent.flags & 1536 /* Module */) { - return undefined; - } - // Can't rename a module name. - if (ts.isStringLiteralLike(node) && ts.tryGetImportFromModuleSpecifier(node)) - return undefined; - var kind = ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, node); - var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteral(node) && node.parent.kind === 146 /* ComputedPropertyName */) - ? ts.stripQuotes(ts.getTextOfIdentifierOrLiteral(node)) - : undefined; - var displayName = specifierName || typeChecker.symbolToString(symbol); - var fullDisplayName = specifierName || typeChecker.getFullyQualifiedName(symbol); - return getRenameInfoSuccess(displayName, fullDisplayName, kind, ts.SymbolDisplay.getSymbolModifiers(symbol), node, sourceFile); - } + var declarations = symbol.declarations; + if (!declarations || declarations.length === 0) + return; + // Disallow rename for elements that are defined in the standard TypeScript library. + if (declarations.some(isDefinedInLibraryFile)) { + return getRenameInfoError(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); } - else if (ts.isStringLiteral(node)) { - if (isDefinedInLibraryFile(node)) { - return getRenameInfoError(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); - } - return getRenameInfoSuccess(node.text, node.text, "var" /* variableElement */, "" /* none */, node, sourceFile); + // Cannot rename `default` as in `import { default as foo } from "./someModule"; + if (ts.isIdentifier(node) && node.originalKeywordKind === 79 /* DefaultKeyword */ && symbol.parent.flags & 1536 /* Module */) { + return undefined; } + // Can't rename a module name. + if (ts.isStringLiteralLike(node) && ts.tryGetImportFromModuleSpecifier(node)) + return undefined; + var kind = ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, node); + var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteral(node) && node.parent.kind === 147 /* ComputedPropertyName */) + ? ts.stripQuotes(ts.getTextOfIdentifierOrLiteral(node)) + : undefined; + var displayName = specifierName || typeChecker.symbolToString(symbol); + var fullDisplayName = specifierName || typeChecker.getFullyQualifiedName(symbol); + return getRenameInfoSuccess(displayName, fullDisplayName, kind, ts.SymbolDisplay.getSymbolModifiers(symbol), node, sourceFile); } function getRenameInfoSuccess(displayName, fullDisplayName, kind, kindModifiers, node, sourceFile) { return { @@ -94899,6 +95452,7 @@ var ts; }; } function getRenameInfoError(diagnostic) { + // TODO: GH#18217 return { canRename: false, localizedErrorMessage: ts.getLocaleSpecificMessage(diagnostic), @@ -94944,7 +95498,12 @@ var ts; ArgumentListKind[ArgumentListKind["CallArguments"] = 1] = "CallArguments"; ArgumentListKind[ArgumentListKind["TaggedTemplateArguments"] = 2] = "TaggedTemplateArguments"; ArgumentListKind[ArgumentListKind["JSXAttributesArguments"] = 3] = "JSXAttributesArguments"; - })(ArgumentListKind = SignatureHelp.ArgumentListKind || (SignatureHelp.ArgumentListKind = {})); + })(ArgumentListKind || (ArgumentListKind = {})); + var InvocationKind; + (function (InvocationKind) { + InvocationKind[InvocationKind["Call"] = 0] = "Call"; + InvocationKind[InvocationKind["TypeArgs"] = 1] = "TypeArgs"; + })(InvocationKind || (InvocationKind = {})); function getSignatureHelpItems(program, sourceFile, position, cancellationToken) { var typeChecker = program.getTypeChecker(); // Decide whether to show signature help @@ -94958,11 +95517,9 @@ var ts; return undefined; cancellationToken.throwIfCancellationRequested(); // Semantic filtering of signature help - var call = argumentInfo.invocation; - var candidates = []; - var resolvedSignature = typeChecker.getResolvedSignature(call, candidates, argumentInfo.argumentCount); + var candidateInfo = getCandidateInfo(argumentInfo, typeChecker); cancellationToken.throwIfCancellationRequested(); - if (!candidates.length) { + if (!candidateInfo) { // We didn't have any sig help items produced by the TS compiler. If this is a JS // file, then see if we can figure out anything better. if (ts.isSourceFileJavaScript(sourceFile)) { @@ -94970,54 +95527,76 @@ var ts; } return undefined; } - return typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(candidates, resolvedSignature, argumentInfo, typeChecker); }); + return typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(candidateInfo.candidates, candidateInfo.resolvedSignature, argumentInfo, sourceFile, typeChecker); }); } SignatureHelp.getSignatureHelpItems = getSignatureHelpItems; - function createJavaScriptSignatureHelpItems(argumentInfo, program, cancellationToken) { - if (argumentInfo.invocation.kind !== 186 /* CallExpression */) { - return undefined; + function getCandidateInfo(argumentInfo, checker) { + var invocation = argumentInfo.invocation; + if (invocation.kind === 0 /* Call */) { + var candidates = []; + var resolvedSignature = checker.getResolvedSignature(invocation.node, candidates, argumentInfo.argumentCount); // TODO: GH#18217 + return candidates.length === 0 ? undefined : { candidates: candidates, resolvedSignature: resolvedSignature }; } + else { + var type = checker.getTypeAtLocation(invocation.called); // TODO: GH#18217 + var signatures = ts.isNewExpression(invocation.called.parent) ? type.getConstructSignatures() : type.getCallSignatures(); + var candidates = signatures.filter(function (candidate) { return !!candidate.typeParameters && candidate.typeParameters.length >= argumentInfo.argumentCount; }); + return candidates.length === 0 ? undefined : { candidates: candidates, resolvedSignature: ts.first(candidates) }; + } + } + function createJavaScriptSignatureHelpItems(argumentInfo, program, cancellationToken) { // See if we can find some symbol with the call expression name that has call signatures. - var callExpression = argumentInfo.invocation; - var expression = callExpression.expression; + var expression = getExpressionFromInvocation(argumentInfo.invocation); var name = ts.isIdentifier(expression) ? expression : ts.isPropertyAccessExpression(expression) ? expression.name : undefined; if (!name || !name.escapedText) { return undefined; } var typeChecker = program.getTypeChecker(); - for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { - var sourceFile = _a[_i]; + var _loop_17 = function (sourceFile) { var nameToDeclarations = sourceFile.getNamedDeclarations(); var declarations = nameToDeclarations.get(name.text); if (declarations) { - var _loop_16 = function (declaration) { + var _loop_18 = function (declaration) { var symbol = declaration.symbol; if (symbol) { var type = typeChecker.getTypeOfSymbolAtLocation(symbol, declaration); if (type) { var callSignatures_1 = type.getCallSignatures(); if (callSignatures_1 && callSignatures_1.length) { - return { value: typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(callSignatures_1, callSignatures_1[0], argumentInfo, typeChecker); }) }; + return { value: typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(callSignatures_1, callSignatures_1[0], argumentInfo, sourceFile, typeChecker); }) }; } } } }; - for (var _b = 0, declarations_12 = declarations; _b < declarations_12.length; _b++) { - var declaration = declarations_12[_b]; - var state_5 = _loop_16(declaration); - if (typeof state_5 === "object") - return state_5.value; + for (var _i = 0, declarations_13 = declarations; _i < declarations_13.length; _i++) { + var declaration = declarations_13[_i]; + var state_6 = _loop_18(declaration); + if (typeof state_6 === "object") + return state_6; } } + }; + for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { + var sourceFile = _a[_i]; + var state_5 = _loop_17(sourceFile); + if (typeof state_5 === "object") + return state_5.value; } } + function getArgumentInfoForCompletions(node, position, sourceFile) { + var info = getImmediatelyContainingArgumentInfo(node, position, sourceFile); + return !info || info.kind === 0 /* TypeArguments */ || info.invocation.kind === 1 /* TypeArgs */ ? undefined + : { invocation: info.invocation.node, argumentCount: info.argumentCount, argumentIndex: info.argumentIndex }; + } + SignatureHelp.getArgumentInfoForCompletions = getArgumentInfoForCompletions; /** * Returns relevant information for the argument list and the current argument if we are * in the argument of an invocation; returns undefined otherwise. */ function getImmediatelyContainingArgumentInfo(node, position, sourceFile) { - if (ts.isCallOrNewExpression(node.parent)) { - var invocation = node.parent; + var parent = node.parent; + if (ts.isCallOrNewExpression(parent)) { + var invocation = parent; var list = void 0; var argumentIndex = void 0; // There are 3 cases to handle: @@ -95037,7 +95616,7 @@ var ts; if (node.kind === 27 /* LessThanToken */ || node.kind === 19 /* OpenParenToken */) { // Find the list that starts right *after* the < or ( token. // If the user has just opened a list, consider this item 0. - list = getChildListThatStartsWithOpenerToken(invocation, node, sourceFile); + list = getChildListThatStartsWithOpenerToken(parent, node, sourceFile); ts.Debug.assert(list !== undefined); argumentIndex = 0; } @@ -95053,60 +95632,66 @@ var ts; return undefined; argumentIndex = getArgumentIndex(list, node); } - var kind = invocation.typeArguments && invocation.typeArguments.pos === list.pos ? 0 /* TypeArguments */ : 1 /* CallArguments */; + var kind = parent.typeArguments && parent.typeArguments.pos === list.pos ? 0 /* TypeArguments */ : 1 /* CallArguments */; var argumentCount = getArgumentCount(list); if (argumentIndex !== 0) { ts.Debug.assertLessThan(argumentIndex, argumentCount); } var argumentsSpan = getApplicableSpanForArguments(list, sourceFile); - return { kind: kind, invocation: invocation, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount }; + return { kind: kind, invocation: { kind: 0 /* Call */, node: invocation }, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount }; } - else if (node.kind === 13 /* NoSubstitutionTemplateLiteral */ && node.parent.kind === 188 /* TaggedTemplateExpression */) { + else if (ts.isNoSubstitutionTemplateLiteral(node) && ts.isTaggedTemplateExpression(parent)) { // Check if we're actually inside the template; // otherwise we'll fall out and return undefined. - if (ts.isInsideTemplateLiteral(node, position)) { - return getArgumentListInfoForTemplate(node.parent, /*argumentIndex*/ 0, sourceFile); + if (ts.isInsideTemplateLiteral(node, position, sourceFile)) { + return getArgumentListInfoForTemplate(parent, /*argumentIndex*/ 0, sourceFile); } } - else if (node.kind === 14 /* TemplateHead */ && node.parent.parent.kind === 188 /* TaggedTemplateExpression */) { - var templateExpression = node.parent; + else if (ts.isTemplateHead(node) && parent.parent.kind === 189 /* TaggedTemplateExpression */) { + var templateExpression = parent; var tagExpression = templateExpression.parent; - ts.Debug.assert(templateExpression.kind === 201 /* TemplateExpression */); - var argumentIndex = ts.isInsideTemplateLiteral(node, position) ? 0 : 1; + ts.Debug.assert(templateExpression.kind === 202 /* TemplateExpression */); + var argumentIndex = ts.isInsideTemplateLiteral(node, position, sourceFile) ? 0 : 1; return getArgumentListInfoForTemplate(tagExpression, argumentIndex, sourceFile); } - else if (node.parent.kind === 210 /* TemplateSpan */ && node.parent.parent.parent.kind === 188 /* TaggedTemplateExpression */) { - var templateSpan = node.parent; - var templateExpression = templateSpan.parent; - var tagExpression = templateExpression.parent; - ts.Debug.assert(templateExpression.kind === 201 /* TemplateExpression */); + else if (ts.isTemplateSpan(parent) && ts.isTaggedTemplateExpression(parent.parent.parent)) { + var templateSpan = parent; + var tagExpression = parent.parent.parent; // If we're just after a template tail, don't show signature help. - if (node.kind === 16 /* TemplateTail */ && !ts.isInsideTemplateLiteral(node, position)) { + if (ts.isTemplateTail(node) && !ts.isInsideTemplateLiteral(node, position, sourceFile)) { return undefined; } - var spanIndex = templateExpression.templateSpans.indexOf(templateSpan); - var argumentIndex = getArgumentIndexForTemplatePiece(spanIndex, node, position); + var spanIndex = templateSpan.parent.templateSpans.indexOf(templateSpan); + var argumentIndex = getArgumentIndexForTemplatePiece(spanIndex, node, position, sourceFile); return getArgumentListInfoForTemplate(tagExpression, argumentIndex, sourceFile); } - else if (node.parent && ts.isJsxOpeningLikeElement(node.parent)) { + else if (ts.isJsxOpeningLikeElement(parent)) { // Provide a signature help for JSX opening element or JSX self-closing element. // This is not guarantee that JSX tag-name is resolved into stateless function component. (that is done in "getSignatureHelpItems") // i.e // export function MainButton(props: ButtonProps, context: any): JSX.Element { ... } // 0 && ts.lastOrUndefined(listChildren).kind === 26 /* CommaToken */) { + if (listChildren.length > 0 && ts.last(listChildren).kind === 26 /* CommaToken */) { argumentCount++; } return argumentCount; } // spanIndex is either the index for a given template span. // This does not give appropriate results for a NoSubstitutionTemplateLiteral - function getArgumentIndexForTemplatePiece(spanIndex, node, position) { + function getArgumentIndexForTemplatePiece(spanIndex, node, position, sourceFile) { // Because the TemplateStringsArray is the first argument, we have to offset each substitution expression by 1. // There are three cases we can encounter: // 1. We are precisely in the template literal (argIndex = 0). @@ -95167,8 +95752,8 @@ var ts; // Case: 1 1 3 2 1 3 2 2 1 // tslint:enable no-double-space ts.Debug.assert(position >= node.getStart(), "Assumed 'position' could not occur before node."); - if (ts.isTemplateLiteralKind(node.kind)) { - if (ts.isInsideTemplateLiteral(node, position)) { + if (ts.isTemplateLiteralToken(node)) { + if (ts.isInsideTemplateLiteral(node, position, sourceFile)) { return 0; } return spanIndex + 2; @@ -95183,7 +95768,7 @@ var ts; } return { kind: 2 /* TaggedTemplateArguments */, - invocation: tagExpression, + invocation: { kind: 0 /* Call */, node: tagExpression }, argumentsSpan: getApplicableSpanForTaggedTemplate(tagExpression, sourceFile), argumentIndex: argumentIndex, argumentCount: argumentCount @@ -95214,8 +95799,8 @@ var ts; // | | // This is because a Missing node has no width. However, what we actually want is to include trivia // leading up to the next token in case the user is about to type in a TemplateMiddle or TemplateTail. - if (template.kind === 201 /* TemplateExpression */) { - var lastSpan = ts.lastOrUndefined(template.templateSpans); + if (template.kind === 202 /* TemplateExpression */) { + var lastSpan = ts.last(template.templateSpans); if (lastSpan.literal.getFullWidth() === 0) { applicableSpanEnd = ts.skipTrivia(sourceFile.text, applicableSpanEnd, /*stopAfterLineBreak*/ false); } @@ -95223,39 +95808,40 @@ var ts; return ts.createTextSpan(applicableSpanStart, applicableSpanEnd - applicableSpanStart); } function getContainingArgumentInfo(node, position, sourceFile) { - for (var n = node; n.kind !== 273 /* SourceFile */; n = n.parent) { - if (ts.isFunctionBlock(n)) { - return undefined; - } + var _loop_19 = function (n) { // If the node is not a subspan of its parent, this is a big problem. // There have been crashes that might be caused by this violation. - if (n.pos < n.parent.pos || n.end > n.parent.end) { - ts.Debug.fail("Node of kind " + n.kind + " is not a subspan of its parent of kind " + n.parent.kind); - } + ts.Debug.assert(ts.rangeContainsRange(n.parent, n), "Not a subspan", function () { return "Child: " + ts.Debug.showSyntaxKind(n) + ", parent: " + ts.Debug.showSyntaxKind(n.parent); }); var argumentInfo = getImmediatelyContainingArgumentInfo(n, position, sourceFile); if (argumentInfo) { - return argumentInfo; + return { value: argumentInfo }; } - // TODO: Handle generic call with incomplete syntax + }; + for (var n = node; !ts.isBlock(n) && !ts.isSourceFile(n); n = n.parent) { + var state_7 = _loop_19(n); + if (typeof state_7 === "object") + return state_7.value; } return undefined; } - SignatureHelp.getContainingArgumentInfo = getContainingArgumentInfo; function getChildListThatStartsWithOpenerToken(parent, openerToken, sourceFile) { var children = parent.getChildren(sourceFile); var indexOfOpenerToken = children.indexOf(openerToken); ts.Debug.assert(indexOfOpenerToken >= 0 && children.length > indexOfOpenerToken + 1); return children[indexOfOpenerToken + 1]; } + function getExpressionFromInvocation(invocation) { + return invocation.kind === 0 /* Call */ ? ts.getInvokedExpression(invocation.node) : invocation.called; + } var signatureHelpNodeBuilderFlags = 8192 /* OmitParameterModifiers */ | 3112960 /* IgnoreErrors */; - function createSignatureHelpItems(candidates, resolvedSignature, argumentListInfo, typeChecker) { + function createSignatureHelpItems(candidates, resolvedSignature, argumentListInfo, sourceFile, typeChecker) { var argumentCount = argumentListInfo.argumentCount, applicableSpan = argumentListInfo.argumentsSpan, invocation = argumentListInfo.invocation, argumentIndex = argumentListInfo.argumentIndex; var isTypeParameterList = argumentListInfo.kind === 0 /* TypeArguments */; - var callTarget = ts.getInvokedExpression(invocation); - var callTargetSymbol = typeChecker.getSymbolAtLocation(callTarget); + var enclosingDeclaration = invocation.kind === 0 /* Call */ ? invocation.node : invocation.called; + var callTargetSymbol = typeChecker.getSymbolAtLocation(getExpressionFromInvocation(invocation)); var callTargetDisplayParts = callTargetSymbol && ts.symbolToDisplayParts(typeChecker, callTargetSymbol, /*enclosingDeclaration*/ undefined, /*meaning*/ undefined); var printer = ts.createPrinter({ removeComments: true }); - var items = ts.map(candidates, function (candidateSignature) { + var items = candidates.map(function (candidateSignature) { var signatureHelpParameters; var prefixDisplayParts = []; var suffixDisplayParts = []; @@ -95270,9 +95856,9 @@ var ts; signatureHelpParameters = typeParameters && typeParameters.length > 0 ? ts.map(typeParameters, createSignatureHelpParameterForTypeParameter) : ts.emptyArray; suffixDisplayParts.push(ts.punctuationPart(29 /* GreaterThanToken */)); var parameterParts = ts.mapToDisplayParts(function (writer) { - var thisParameter = candidateSignature.thisParameter ? [typeChecker.symbolToParameterDeclaration(candidateSignature.thisParameter, invocation, signatureHelpNodeBuilderFlags)] : []; - var params = ts.createNodeArray(thisParameter.concat(ts.map(candidateSignature.parameters, function (param) { return typeChecker.symbolToParameterDeclaration(param, invocation, signatureHelpNodeBuilderFlags); }))); - printer.writeList(1296 /* CallExpressionArguments */, params, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var thisParameter = candidateSignature.thisParameter ? [typeChecker.symbolToParameterDeclaration(candidateSignature.thisParameter, enclosingDeclaration, signatureHelpNodeBuilderFlags)] : []; + var params = ts.createNodeArray(thisParameter.concat(candidateSignature.parameters.map(function (param) { return typeChecker.symbolToParameterDeclaration(param, enclosingDeclaration, signatureHelpNodeBuilderFlags); }))); + printer.writeList(1296 /* CallExpressionArguments */, params, sourceFile, writer); }); ts.addRange(suffixDisplayParts, parameterParts); } @@ -95280,8 +95866,8 @@ var ts; isVariadic = candidateSignature.hasRestParameter; var typeParameterParts = ts.mapToDisplayParts(function (writer) { if (candidateSignature.typeParameters && candidateSignature.typeParameters.length) { - var args = ts.createNodeArray(ts.map(candidateSignature.typeParameters, function (p) { return typeChecker.typeParameterToDeclaration(p, invocation); })); - printer.writeList(26896 /* TypeParameters */, args, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var args = ts.createNodeArray(candidateSignature.typeParameters.map(function (p) { return typeChecker.typeParameterToDeclaration(p, enclosingDeclaration); })); + printer.writeList(26896 /* TypeParameters */, args, sourceFile, writer); } }); ts.addRange(prefixDisplayParts, typeParameterParts); @@ -95294,10 +95880,10 @@ var ts; writer.writeSpace(" "); var predicate = typeChecker.getTypePredicateOfSignature(candidateSignature); if (predicate) { - typeChecker.writeTypePredicate(predicate, invocation, /*flags*/ undefined, writer); + typeChecker.writeTypePredicate(predicate, enclosingDeclaration, /*flags*/ undefined, writer); } else { - typeChecker.writeType(typeChecker.getReturnTypeOfSignature(candidateSignature), invocation, /*flags*/ undefined, writer); + typeChecker.writeType(typeChecker.getReturnTypeOfSignature(candidateSignature), enclosingDeclaration, /*flags*/ undefined, writer); } }); ts.addRange(suffixDisplayParts, returnTypeParts); @@ -95319,8 +95905,8 @@ var ts; return { items: items, applicableSpan: applicableSpan, selectedItemIndex: selectedItemIndex, argumentIndex: argumentIndex, argumentCount: argumentCount }; function createSignatureHelpParameterForParameter(parameter) { var displayParts = ts.mapToDisplayParts(function (writer) { - var param = typeChecker.symbolToParameterDeclaration(parameter, invocation, signatureHelpNodeBuilderFlags); - printer.writeNode(4 /* Unspecified */, param, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var param = typeChecker.symbolToParameterDeclaration(parameter, enclosingDeclaration, signatureHelpNodeBuilderFlags); + printer.writeNode(4 /* Unspecified */, param, sourceFile, writer); }); return { name: parameter.name, @@ -95331,8 +95917,8 @@ var ts; } function createSignatureHelpParameterForTypeParameter(typeParameter) { var displayParts = ts.mapToDisplayParts(function (writer) { - var param = typeChecker.typeParameterToDeclaration(typeParameter, invocation); - printer.writeNode(4 /* Unspecified */, param, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var param = typeChecker.typeParameterToDeclaration(typeParameter, enclosingDeclaration); + printer.writeNode(4 /* Unspecified */, param, sourceFile, writer); }); return { name: typeParameter.symbol.name, @@ -95347,9 +95933,8 @@ var ts; /* @internal */ var ts; (function (ts) { - function computeSuggestionDiagnostics(sourceFile, program) { - program.getSemanticDiagnostics(sourceFile); - var checker = program.getDiagnosticsProducingTypeChecker(); + function computeSuggestionDiagnostics(sourceFile, program, cancellationToken) { + program.getSemanticDiagnostics(sourceFile, cancellationToken); var diags = []; if (sourceFile.commonJsModuleIndicator && (ts.programContainsEs6Modules(program) || ts.compilerOptionsIndicateEs6Modules(program.getCompilerOptions())) && @@ -95357,40 +95942,10 @@ var ts; diags.push(ts.createDiagnosticForNode(getErrorNodeFromCommonJsIndicator(sourceFile.commonJsModuleIndicator), ts.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module)); } var isJsFile = ts.isSourceFileJavaScript(sourceFile); - function check(node) { - switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - if (isJsFile) { - var symbol = node.symbol; - if (symbol.members && (symbol.members.size > 0)) { - diags.push(ts.createDiagnosticForNode(ts.isVariableDeclaration(node.parent) ? node.parent.name : node, ts.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); - } - } - break; - } - if (!isJsFile && ts.codefix.parameterShouldGetTypeFromJSDoc(node)) { - diags.push(ts.createDiagnosticForNode(node.name || node, ts.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types)); - } - node.forEachChild(check); - } check(sourceFile); - if (!isJsFile) { - for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { - var statement = _a[_i]; - if (ts.isVariableStatement(statement) && - statement.declarationList.flags & 2 /* Const */ && - statement.declarationList.declarations.length === 1) { - var init = statement.declarationList.declarations[0].initializer; - if (init && ts.isRequireCall(init, /*checkArgumentIsStringLiteralLike*/ true)) { - diags.push(ts.createDiagnosticForNode(init, ts.Diagnostics.require_call_may_be_converted_to_an_import)); - } - } - } - } if (ts.getAllowSyntheticDefaultImports(program.getCompilerOptions())) { - for (var _b = 0, _c = sourceFile.imports; _b < _c.length; _b++) { - var moduleSpecifier = _c[_b]; + for (var _i = 0, _a = sourceFile.imports; _i < _a.length; _i++) { + var moduleSpecifier = _a[_i]; var importNode = ts.importFromModuleSpecifier(moduleSpecifier); var name = importNameForConvertToDefaultImport(importNode); if (!name) @@ -95402,18 +95957,57 @@ var ts; } } } - return diags.concat(checker.getSuggestionDiagnostics(sourceFile)).sort(function (d1, d2) { return d1.start - d2.start; }); + ts.addRange(diags, sourceFile.bindSuggestionDiagnostics); + ts.addRange(diags, program.getSuggestionDiagnostics(sourceFile, cancellationToken)); + return diags.sort(function (d1, d2) { return d1.start - d2.start; }); + function check(node) { + if (isJsFile) { + switch (node.kind) { + case 192 /* FunctionExpression */: + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + var symbol_3 = decl.symbol; + if (symbol_3 && (symbol_3.exports && symbol_3.exports.size || symbol_3.members && symbol_3.members.size)) { + diags.push(ts.createDiagnosticForNode(ts.isVariableDeclaration(node.parent) ? node.parent.name : node, ts.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); + break; + } + } + // falls through if no diagnostic was created + case 234 /* FunctionDeclaration */: + var symbol = node.symbol; + if (symbol.members && (symbol.members.size > 0)) { + diags.push(ts.createDiagnosticForNode(ts.isVariableDeclaration(node.parent) ? node.parent.name : node, ts.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); + } + break; + } + } + else { + if (ts.isVariableStatement(node) && + node.parent === sourceFile && + node.declarationList.flags & 2 /* Const */ && + node.declarationList.declarations.length === 1) { + var init = node.declarationList.declarations[0].initializer; + if (init && ts.isRequireCall(init, /*checkArgumentIsStringLiteralLike*/ true)) { + diags.push(ts.createDiagnosticForNode(init, ts.Diagnostics.require_call_may_be_converted_to_an_import)); + } + } + if (ts.codefix.parameterShouldGetTypeFromJSDoc(node)) { + diags.push(ts.createDiagnosticForNode(node.name || node, ts.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types)); + } + } + node.forEachChild(check); + } } ts.computeSuggestionDiagnostics = computeSuggestionDiagnostics; // convertToEs6Module only works on top-level, so don't trigger it if commonjs code only appears in nested scopes. function containsTopLevelCommonjs(sourceFile) { return sourceFile.statements.some(function (statement) { switch (statement.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return statement.declarationList.declarations.some(function (decl) { return ts.isRequireCall(propertyAccessLeftHandSide(decl.initializer), /*checkArgumentIsStringLiteralLike*/ true); - }); - case 215 /* ExpressionStatement */: { + }); // TODO: GH#18217 + case 216 /* ExpressionStatement */: { var expression = statement.expression; if (!ts.isBinaryExpression(expression)) return ts.isRequireCall(expression, /*checkArgumentIsStringLiteralLike*/ true); @@ -95430,12 +96024,12 @@ var ts; } function importNameForConvertToDefaultImport(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: var importClause = node.importClause, moduleSpecifier = node.moduleSpecifier; - return importClause && !importClause.name && importClause.namedBindings.kind === 245 /* NamespaceImport */ && ts.isStringLiteral(moduleSpecifier) + return importClause && !importClause.name && importClause.namedBindings && importClause.namedBindings.kind === 246 /* NamespaceImport */ && ts.isStringLiteral(moduleSpecifier) ? importClause.namedBindings.name : undefined; - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return node.name; default: return undefined; @@ -95458,7 +96052,7 @@ var ts; } var flags = ts.getCombinedLocalAndExportSymbolFlags(symbol); if (flags & 32 /* Class */) { - return ts.getDeclarationOfKind(symbol, 204 /* ClassExpression */) ? + return ts.getDeclarationOfKind(symbol, 205 /* ClassExpression */) ? "local class" /* localClassElement */ : "class" /* classElement */; } if (flags & 384 /* Enum */) @@ -95546,11 +96140,11 @@ var ts; // If we requested completions after `x.` at the top-level, we may be at a source file location. switch (location.parent && location.parent.kind) { // If we've typed a character of the attribute name, will be 'JsxAttribute', else will be 'JsxOpeningElement'. - case 256 /* JsxOpeningElement */: - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: return location.kind === 71 /* Identifier */ ? "property" /* memberVariableElement */ : "JSX attribute" /* jsxAttribute */; - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return "JSX attribute" /* jsxAttribute */; default: return "property" /* memberVariableElement */; @@ -95576,7 +96170,7 @@ var ts; var tags; var symbolFlags = ts.getCombinedLocalAndExportSymbolFlags(symbol); var symbolKind = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location); - var hasAddedSymbolInfo; + var hasAddedSymbolInfo = false; var isThisExpression = location.kind === 99 /* ThisKeyword */ && ts.isExpression(location); var type; var printer; @@ -95590,7 +96184,7 @@ var ts; } var signature = void 0; type = isThisExpression ? typeChecker.getTypeAtLocation(location) : typeChecker.getTypeOfSymbolAtLocation(symbol.exportSymbol || symbol, location); - if (location.parent && location.parent.kind === 184 /* PropertyAccessExpression */) { + if (location.parent && location.parent.kind === 185 /* PropertyAccessExpression */) { var right = location.parent.name; // Either the location is on the right of a property access, or on the left and the right is missing if (right === location || (right && right.getFullWidth() === 0)) { @@ -95610,8 +96204,8 @@ var ts; } if (callExpressionLike) { var candidateSignatures = []; - signature = typeChecker.getResolvedSignature(callExpressionLike, candidateSignatures); - var useConstructSignatures = callExpressionLike.kind === 187 /* NewExpression */ || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 97 /* SuperKeyword */); + signature = typeChecker.getResolvedSignature(callExpressionLike, candidateSignatures); // TODO: GH#18217 + var useConstructSignatures = callExpressionLike.kind === 188 /* NewExpression */ || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 97 /* SuperKeyword */); var allSignatures = useConstructSignatures ? type.getConstructSignatures() : type.getCallSignatures(); if (!ts.contains(allSignatures, signature.target) && !ts.contains(allSignatures, signature)) { // Get the first signature if there is one -- allSignatures may contain @@ -95666,7 +96260,7 @@ var ts; } } else if ((ts.isNameOfFunctionDeclaration(location) && !(symbolFlags & 98304 /* Accessor */)) || // name of function declaration - (location.kind === 123 /* ConstructorKeyword */ && location.parent.kind === 154 /* Constructor */)) { // At constructor keyword of constructor declaration + (location.kind === 123 /* ConstructorKeyword */ && location.parent.kind === 155 /* Constructor */)) { // At constructor keyword of constructor declaration // get the signature from the declaration and write it var functionDeclaration_1 = location.parent; // Use function declaration to write the signatures only if the symbol corresponding to this declaration @@ -95674,21 +96268,21 @@ var ts; return declaration === (location.kind === 123 /* ConstructorKeyword */ ? functionDeclaration_1.parent : functionDeclaration_1); }); if (locationIsSymbolDeclaration) { - var allSignatures = functionDeclaration_1.kind === 154 /* Constructor */ ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); + var allSignatures = functionDeclaration_1.kind === 155 /* Constructor */ ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); if (!typeChecker.isImplementationOfOverload(functionDeclaration_1)) { - signature = typeChecker.getSignatureFromDeclaration(functionDeclaration_1); + signature = typeChecker.getSignatureFromDeclaration(functionDeclaration_1); // TODO: GH#18217 } else { signature = allSignatures[0]; } - if (functionDeclaration_1.kind === 154 /* Constructor */) { + if (functionDeclaration_1.kind === 155 /* Constructor */) { // show (constructor) Type(...) signature symbolKind = "constructor" /* constructorImplementationElement */; addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); } else { // (function/method) symbol(..signature) - addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 157 /* CallSignature */ && + addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 158 /* CallSignature */ && !(type.symbol.flags & 2048 /* TypeLiteral */ || type.symbol.flags & 4096 /* ObjectLiteral */) ? type.symbol : symbol, symbolKind); } addSignatureDisplayParts(signature, allSignatures); @@ -95698,7 +96292,7 @@ var ts; } if (symbolFlags & 32 /* Class */ && !hasAddedSymbolInfo && !isThisExpression) { addAliasPrefixIfNecessary(); - if (ts.getDeclarationOfKind(symbol, 204 /* ClassExpression */)) { + if (ts.getDeclarationOfKind(symbol, 205 /* ClassExpression */)) { // Special case for class expressions because we would like to indicate that // the class name is local to the class body (similar to function expression) // (local class) class @@ -95742,7 +96336,7 @@ var ts; } if (symbolFlags & 1536 /* Module */) { prefixNextMeaning(); - var declaration = ts.getDeclarationOfKind(symbol, 238 /* ModuleDeclaration */); + var declaration = ts.getDeclarationOfKind(symbol, 239 /* ModuleDeclaration */); var isNamespace = declaration && declaration.name && declaration.name.kind === 71 /* Identifier */; displayParts.push(ts.keywordPart(isNamespace ? 130 /* NamespaceKeyword */ : 129 /* ModuleKeyword */)); displayParts.push(ts.spacePart()); @@ -95763,23 +96357,24 @@ var ts; } else { // Method/function type parameter - var decl = ts.getDeclarationOfKind(symbol, 147 /* TypeParameter */); - ts.Debug.assert(decl !== undefined); + var decl = ts.getDeclarationOfKind(symbol, 148 /* TypeParameter */); + if (decl === undefined) + return ts.Debug.fail(); var declaration = decl.parent; if (declaration) { if (ts.isFunctionLikeKind(declaration.kind)) { addInPrefix(); - var signature = typeChecker.getSignatureFromDeclaration(declaration); - if (declaration.kind === 158 /* ConstructSignature */) { + var signature = typeChecker.getSignatureFromDeclaration(declaration); // TODO: GH#18217 + if (declaration.kind === 159 /* ConstructSignature */) { displayParts.push(ts.keywordPart(94 /* NewKeyword */)); displayParts.push(ts.spacePart()); } - else if (declaration.kind !== 157 /* CallSignature */ && declaration.name) { + else if (declaration.kind !== 158 /* CallSignature */ && declaration.name) { addFullSymbolName(declaration.symbol); } ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, sourceFile, 32 /* WriteTypeArgumentsOfSignature */)); } - else if (declaration.kind === 236 /* TypeAliasDeclaration */) { + else if (declaration.kind === 237 /* TypeAliasDeclaration */) { // Type alias type parameter // For example // type list = T[]; // Both T will go through same code path @@ -95796,7 +96391,7 @@ var ts; symbolKind = "enum member" /* enumMemberElement */; addPrefixForAnyFunctionOrVar(symbol, "enum member"); var declaration = symbol.declarations[0]; - if (declaration.kind === 272 /* EnumMember */) { + if (declaration.kind === 273 /* EnumMember */) { var constantValue = typeChecker.getConstantValue(declaration); if (constantValue !== undefined) { displayParts.push(ts.spacePart()); @@ -95826,17 +96421,17 @@ var ts; } } switch (symbol.declarations[0].kind) { - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: displayParts.push(ts.keywordPart(84 /* ExportKeyword */)); displayParts.push(ts.spacePart()); displayParts.push(ts.keywordPart(130 /* NamespaceKeyword */)); break; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: displayParts.push(ts.keywordPart(84 /* ExportKeyword */)); displayParts.push(ts.spacePart()); displayParts.push(ts.keywordPart(symbol.declarations[0].isExportEquals ? 58 /* EqualsToken */ : 79 /* DefaultKeyword */)); break; - case 251 /* ExportSpecifier */: + case 252 /* ExportSpecifier */: displayParts.push(ts.keywordPart(84 /* ExportKeyword */)); break; default: @@ -95845,7 +96440,7 @@ var ts; displayParts.push(ts.spacePart()); addFullSymbolName(symbol); ts.forEach(symbol.declarations, function (declaration) { - if (declaration.kind === 242 /* ImportEqualsDeclaration */) { + if (declaration.kind === 243 /* ImportEqualsDeclaration */) { var importEqualsDeclaration = declaration; if (ts.isExternalModuleImportEqualsDeclaration(importEqualsDeclaration)) { displayParts.push(ts.spacePart()); @@ -95923,10 +96518,10 @@ var ts; // For some special property access expressions like `exports.foo = foo` or `module.exports.foo = foo` // there documentation comments might be attached to the right hand side symbol of their declarations. // The pattern of such special property access is that the parent symbol is the symbol of the file. - if (symbol.parent && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 273 /* SourceFile */; })) { + if (symbol.parent && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 274 /* SourceFile */; })) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (!declaration.parent || declaration.parent.kind !== 199 /* BinaryExpression */) { + if (!declaration.parent || declaration.parent.kind !== 200 /* BinaryExpression */) { continue; } var rhsSymbol = typeChecker.getSymbolAtLocation(declaration.parent.right); @@ -96009,6 +96604,7 @@ var ts; } } function addSignatureDisplayParts(signature, allSignatures, flags) { + if (flags === void 0) { flags = 0 /* None */; } ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, enclosingDeclaration, flags | 32 /* WriteTypeArgumentsOfSignature */)); if (allSignatures.length > 1) { displayParts.push(ts.spacePart()); @@ -96037,16 +96633,16 @@ var ts; } return ts.forEach(symbol.declarations, function (declaration) { // Function expressions are local - if (declaration.kind === 191 /* FunctionExpression */) { + if (declaration.kind === 192 /* FunctionExpression */) { return true; } - if (declaration.kind !== 231 /* VariableDeclaration */ && declaration.kind !== 233 /* FunctionDeclaration */) { + if (declaration.kind !== 232 /* VariableDeclaration */ && declaration.kind !== 234 /* FunctionDeclaration */) { return false; } // If the parent is not sourceFile or module block it is local variable for (var parent = declaration.parent; !ts.isFunctionBlock(parent); parent = parent.parent) { // Reached source file or module block - if (parent.kind === 273 /* SourceFile */ || parent.kind === 239 /* ModuleBlock */) { + if (parent.kind === 274 /* SourceFile */ || parent.kind === 240 /* ModuleBlock */) { return false; } } @@ -96094,7 +96690,7 @@ var ts; options.noResolve = true; // if jsx is specified then treat file as .tsx var inputFileName = transpileOptions.fileName || (options.jsx ? "module.tsx" : "module.ts"); - var sourceFile = ts.createSourceFile(inputFileName, input, options.target); + var sourceFile = ts.createSourceFile(inputFileName, input, options.target); // TODO: GH#18217 if (transpileOptions.moduleName) { sourceFile.moduleName = transpileOptions.moduleName; } @@ -96135,7 +96731,8 @@ var ts; } // Emit program.emit(/*targetSourceFile*/ undefined, /*writeFile*/ undefined, /*cancellationToken*/ undefined, /*emitOnlyDtsFiles*/ undefined, transpileOptions.transformers); - ts.Debug.assert(outputText !== undefined, "Output generation failed"); + if (outputText === undefined) + return ts.Debug.fail("Output generation failed"); return { outputText: outputText, diagnostics: diagnostics, sourceMapText: sourceMapText }; } ts.transpileModule = transpileModule; @@ -96158,7 +96755,7 @@ var ts; return typeof o.type === "object" && !ts.forEachEntry(o.type, function (v) { return typeof v !== "number"; }); }); options = ts.cloneCompilerOptions(options); - var _loop_17 = function (opt) { + var _loop_20 = function (opt) { if (!ts.hasProperty(options, opt.name)) { return "continue"; } @@ -96177,7 +96774,7 @@ var ts; }; for (var _i = 0, commandLineOptionsStringToEnum_1 = commandLineOptionsStringToEnum; _i < commandLineOptionsStringToEnum_1.length; _i++) { var opt = commandLineOptionsStringToEnum_1[_i]; - _loop_17(opt); + _loop_20(opt); } return options; } @@ -96314,7 +96911,7 @@ var ts; lastTokenInfo = undefined; var isStarted = scanner.getStartPos() !== startPos; if (isStarted) { - wasNewLine = trailingTrivia && ts.lastOrUndefined(trailingTrivia).kind === 4 /* NewLineTrivia */; + wasNewLine = !!trailingTrivia && ts.last(trailingTrivia).kind === 4 /* NewLineTrivia */; } else { scanner.scan(); @@ -96354,10 +96951,10 @@ var ts; function shouldRescanJsxIdentifier(node) { if (node.parent) { switch (node.parent.kind) { - case 261 /* JsxAttribute */: - case 256 /* JsxOpeningElement */: - case 257 /* JsxClosingElement */: - case 255 /* JsxSelfClosingElement */: + case 262 /* JsxAttribute */: + case 257 /* JsxOpeningElement */: + case 258 /* JsxClosingElement */: + case 256 /* JsxSelfClosingElement */: // May parse an identifier like `module-layout`; that will be scanned as a keyword at first, but we should parse the whole thing to get an identifier. return ts.isKeyword(node.kind) || node.kind === 71 /* Identifier */; } @@ -96534,7 +97131,7 @@ var ts; (function (formatting) { function getAllRules() { var allTokens = []; - for (var token = 0 /* FirstToken */; token <= 144 /* LastToken */; token++) { + for (var token = 0 /* FirstToken */; token <= 145 /* LastToken */; token++) { allTokens.push(token); } function anyTokenExcept() { @@ -96546,9 +97143,9 @@ var ts; } var anyToken = { tokens: allTokens, isSpecific: false }; var anyTokenIncludingMultilineComments = tokenRangeFrom(allTokens.concat([3 /* MultiLineCommentTrivia */])); - var keywords = tokenRangeFromRange(72 /* FirstKeyword */, 144 /* LastKeyword */); + var keywords = tokenRangeFromRange(72 /* FirstKeyword */, 145 /* LastKeyword */); var binaryOperators = tokenRangeFromRange(27 /* FirstBinaryOperator */, 70 /* LastBinaryOperator */); - var binaryKeywordOperators = [92 /* InKeyword */, 93 /* InstanceOfKeyword */, 144 /* OfKeyword */, 118 /* AsKeyword */, 127 /* IsKeyword */]; + var binaryKeywordOperators = [92 /* InKeyword */, 93 /* InstanceOfKeyword */, 145 /* OfKeyword */, 118 /* AsKeyword */, 127 /* IsKeyword */]; var unaryPrefixOperators = [43 /* PlusPlusToken */, 44 /* MinusMinusToken */, 52 /* TildeToken */, 51 /* ExclamationToken */]; var unaryPrefixExpressions = [ 8 /* NumericLiteral */, 71 /* Identifier */, 19 /* OpenParenToken */, 21 /* OpenBracketToken */, @@ -96669,11 +97266,11 @@ var ts; 136 /* SetKeyword */, 115 /* StaticKeyword */, 139 /* TypeKeyword */, - 142 /* FromKeyword */, + 143 /* FromKeyword */, 128 /* KeyOfKeyword */, 126 /* InferKeyword */, ], anyToken, [isNonJsxSameLineTokenContext], 2 /* Space */), - rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [85 /* ExtendsKeyword */, 108 /* ImplementsKeyword */, 142 /* FromKeyword */], [isNonJsxSameLineTokenContext], 2 /* Space */), + rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [85 /* ExtendsKeyword */, 108 /* ImplementsKeyword */, 143 /* FromKeyword */], [isNonJsxSameLineTokenContext], 2 /* Space */), // Treat string literals in module names as identifiers, and add a space between the literal and the opening Brace braces, e.g.: module "m2" { rule("SpaceAfterModuleName", 9 /* StringLiteral */, 17 /* OpenBraceToken */, [isModuleDeclContext], 2 /* Space */), // Lambda expressions @@ -96838,45 +97435,45 @@ var ts; return function (context) { return !context.options || !context.options.hasOwnProperty(optionName) || !!context.options[optionName]; }; } function isForContext(context) { - return context.contextNode.kind === 219 /* ForStatement */; + return context.contextNode.kind === 220 /* ForStatement */; } function isNotForContext(context) { return !isForContext(context); } function isBinaryOpContext(context) { switch (context.contextNode.kind) { - case 199 /* BinaryExpression */: - case 200 /* ConditionalExpression */: - case 170 /* ConditionalType */: - case 207 /* AsExpression */: - case 251 /* ExportSpecifier */: - case 247 /* ImportSpecifier */: - case 160 /* TypePredicate */: - case 168 /* UnionType */: - case 169 /* IntersectionType */: + case 200 /* BinaryExpression */: + case 201 /* ConditionalExpression */: + case 171 /* ConditionalType */: + case 208 /* AsExpression */: + case 252 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 161 /* TypePredicate */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: return true; // equals in binding elements: function foo([[x, y] = [1, 2]]) - case 181 /* BindingElement */: + case 182 /* BindingElement */: // equals in type X = ... - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: // equal in import a = module('a'); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: // equal in let a = 0; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: // equal in p = 0; - case 148 /* Parameter */: - case 272 /* EnumMember */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 149 /* Parameter */: + case 273 /* EnumMember */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return context.currentTokenSpan.kind === 58 /* EqualsToken */ || context.nextTokenSpan.kind === 58 /* EqualsToken */; // "in" keyword in for (let x in []) { } - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: // "in" keyword in [P in keyof T]: T[P] - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return context.currentTokenSpan.kind === 92 /* InKeyword */ || context.nextTokenSpan.kind === 92 /* InKeyword */; // Technically, "of" is not a binary operator, but format it the same way as "in" - case 221 /* ForOfStatement */: - return context.currentTokenSpan.kind === 144 /* OfKeyword */ || context.nextTokenSpan.kind === 144 /* OfKeyword */; + case 222 /* ForOfStatement */: + return context.currentTokenSpan.kind === 145 /* OfKeyword */ || context.nextTokenSpan.kind === 145 /* OfKeyword */; } return false; } @@ -96888,22 +97485,22 @@ var ts; } function isTypeAnnotationContext(context) { var contextKind = context.contextNode.kind; - return contextKind === 151 /* PropertyDeclaration */ || - contextKind === 150 /* PropertySignature */ || - contextKind === 148 /* Parameter */ || - contextKind === 231 /* VariableDeclaration */ || + return contextKind === 152 /* PropertyDeclaration */ || + contextKind === 151 /* PropertySignature */ || + contextKind === 149 /* Parameter */ || + contextKind === 232 /* VariableDeclaration */ || ts.isFunctionLikeKind(contextKind); } function isConditionalOperatorContext(context) { - return context.contextNode.kind === 200 /* ConditionalExpression */ || - context.contextNode.kind === 170 /* ConditionalType */; + return context.contextNode.kind === 201 /* ConditionalExpression */ || + context.contextNode.kind === 171 /* ConditionalType */; } function isSameLineTokenOrBeforeBlockContext(context) { return context.TokensAreOnSameLine() || isBeforeBlockContext(context); } function isBraceWrappedContext(context) { - return context.contextNode.kind === 179 /* ObjectBindingPattern */ || - context.contextNode.kind === 176 /* MappedType */ || + return context.contextNode.kind === 180 /* ObjectBindingPattern */ || + context.contextNode.kind === 177 /* MappedType */ || isSingleLineBlockContext(context); } // This check is done before an open brace in a control construct, a function, or a typescript block declaration @@ -96929,31 +97526,31 @@ var ts; return true; } switch (node.kind) { - case 212 /* Block */: - case 240 /* CaseBlock */: - case 183 /* ObjectLiteralExpression */: - case 239 /* ModuleBlock */: + case 213 /* Block */: + case 241 /* CaseBlock */: + case 184 /* ObjectLiteralExpression */: + case 240 /* ModuleBlock */: return true; } return false; } function isFunctionDeclContext(context) { switch (context.contextNode.kind) { - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: // case SyntaxKind.MemberFunctionDeclaration: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // case SyntaxKind.MethodSignature: - case 157 /* CallSignature */: - case 191 /* FunctionExpression */: - case 154 /* Constructor */: - case 192 /* ArrowFunction */: + case 158 /* CallSignature */: + case 192 /* FunctionExpression */: + case 155 /* Constructor */: + case 193 /* ArrowFunction */: // case SyntaxKind.ConstructorDeclaration: // case SyntaxKind.SimpleArrowFunctionExpression: // case SyntaxKind.ParenthesizedArrowFunctionExpression: - case 235 /* InterfaceDeclaration */: // This one is not truly a function, but for formatting purposes, it acts just like one + case 236 /* InterfaceDeclaration */: // This one is not truly a function, but for formatting purposes, it acts just like one return true; } return false; @@ -96962,40 +97559,40 @@ var ts; return !isFunctionDeclContext(context); } function isFunctionDeclarationOrFunctionExpressionContext(context) { - return context.contextNode.kind === 233 /* FunctionDeclaration */ || context.contextNode.kind === 191 /* FunctionExpression */; + return context.contextNode.kind === 234 /* FunctionDeclaration */ || context.contextNode.kind === 192 /* FunctionExpression */; } function isTypeScriptDeclWithBlockContext(context) { return nodeIsTypeScriptDeclWithBlockContext(context.contextNode); } function nodeIsTypeScriptDeclWithBlockContext(node) { switch (node.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 165 /* TypeLiteral */: - case 238 /* ModuleDeclaration */: - case 249 /* ExportDeclaration */: - case 250 /* NamedExports */: - case 243 /* ImportDeclaration */: - case 246 /* NamedImports */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 166 /* TypeLiteral */: + case 239 /* ModuleDeclaration */: + case 250 /* ExportDeclaration */: + case 251 /* NamedExports */: + case 244 /* ImportDeclaration */: + case 247 /* NamedImports */: return true; } return false; } function isAfterCodeBlockContext(context) { switch (context.currentTokenParent.kind) { - case 234 /* ClassDeclaration */: - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 268 /* CatchClause */: - case 239 /* ModuleBlock */: - case 226 /* SwitchStatement */: + case 235 /* ClassDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 269 /* CatchClause */: + case 240 /* ModuleBlock */: + case 227 /* SwitchStatement */: return true; - case 212 /* Block */: { + case 213 /* Block */: { var blockParent = context.currentTokenParent.parent; // In a codefix scenario, we can't rely on parents being set. So just always return true. - if (!blockParent || blockParent.kind !== 192 /* ArrowFunction */ && blockParent.kind !== 191 /* FunctionExpression */) { + if (!blockParent || blockParent.kind !== 193 /* ArrowFunction */ && blockParent.kind !== 192 /* FunctionExpression */) { return true; } } @@ -97004,31 +97601,31 @@ var ts; } function isControlDeclContext(context) { switch (context.contextNode.kind) { - case 216 /* IfStatement */: - case 226 /* SwitchStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 218 /* WhileStatement */: - case 229 /* TryStatement */: - case 217 /* DoStatement */: - case 225 /* WithStatement */: + case 217 /* IfStatement */: + case 227 /* SwitchStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 219 /* WhileStatement */: + case 230 /* TryStatement */: + case 218 /* DoStatement */: + case 226 /* WithStatement */: // TODO // case SyntaxKind.ElseClause: - case 268 /* CatchClause */: + case 269 /* CatchClause */: return true; default: return false; } } function isObjectContext(context) { - return context.contextNode.kind === 183 /* ObjectLiteralExpression */; + return context.contextNode.kind === 184 /* ObjectLiteralExpression */; } function isFunctionCallContext(context) { - return context.contextNode.kind === 186 /* CallExpression */; + return context.contextNode.kind === 187 /* CallExpression */; } function isNewContext(context) { - return context.contextNode.kind === 187 /* NewExpression */; + return context.contextNode.kind === 188 /* NewExpression */; } function isFunctionCallOrNewContext(context) { return isFunctionCallContext(context) || isNewContext(context); @@ -97040,35 +97637,35 @@ var ts; return context.nextTokenSpan.kind !== 22 /* CloseBracketToken */; } function isArrowFunctionContext(context) { - return context.contextNode.kind === 192 /* ArrowFunction */; + return context.contextNode.kind === 193 /* ArrowFunction */; } function isImportTypeContext(context) { - return context.contextNode.kind === 178 /* ImportType */; + return context.contextNode.kind === 179 /* ImportType */; } function isNonJsxSameLineTokenContext(context) { return context.TokensAreOnSameLine() && context.contextNode.kind !== 10 /* JsxText */; } function isNonJsxElementOrFragmentContext(context) { - return context.contextNode.kind !== 254 /* JsxElement */ && context.contextNode.kind !== 258 /* JsxFragment */; + return context.contextNode.kind !== 255 /* JsxElement */ && context.contextNode.kind !== 259 /* JsxFragment */; } function isJsxExpressionContext(context) { - return context.contextNode.kind === 264 /* JsxExpression */ || context.contextNode.kind === 263 /* JsxSpreadAttribute */; + return context.contextNode.kind === 265 /* JsxExpression */ || context.contextNode.kind === 264 /* JsxSpreadAttribute */; } function isNextTokenParentJsxAttribute(context) { - return context.nextTokenParent.kind === 261 /* JsxAttribute */; + return context.nextTokenParent.kind === 262 /* JsxAttribute */; } function isJsxAttributeContext(context) { - return context.contextNode.kind === 261 /* JsxAttribute */; + return context.contextNode.kind === 262 /* JsxAttribute */; } function isJsxSelfClosingElementContext(context) { - return context.contextNode.kind === 255 /* JsxSelfClosingElement */; + return context.contextNode.kind === 256 /* JsxSelfClosingElement */; } function isNotBeforeBlockInFunctionDeclarationContext(context) { return !isFunctionDeclContext(context) && !isBeforeBlockContext(context); } function isEndOfDecoratorContextOnSameLine(context) { return context.TokensAreOnSameLine() && - context.contextNode.decorators && + !!context.contextNode.decorators && nodeIsInDecoratorContext(context.currentTokenParent) && !nodeIsInDecoratorContext(context.nextTokenParent); } @@ -97076,45 +97673,45 @@ var ts; while (ts.isExpressionNode(node)) { node = node.parent; } - return node.kind === 149 /* Decorator */; + return node.kind === 150 /* Decorator */; } function isStartOfVariableDeclarationList(context) { - return context.currentTokenParent.kind === 232 /* VariableDeclarationList */ && + return context.currentTokenParent.kind === 233 /* VariableDeclarationList */ && context.currentTokenParent.getStart(context.sourceFile) === context.currentTokenSpan.pos; } function isNotFormatOnEnter(context) { return context.formattingRequestKind !== 2 /* FormatOnEnter */; } function isModuleDeclContext(context) { - return context.contextNode.kind === 238 /* ModuleDeclaration */; + return context.contextNode.kind === 239 /* ModuleDeclaration */; } function isObjectTypeContext(context) { - return context.contextNode.kind === 165 /* TypeLiteral */; // && context.contextNode.parent.kind !== SyntaxKind.InterfaceDeclaration; + return context.contextNode.kind === 166 /* TypeLiteral */; // && context.contextNode.parent.kind !== SyntaxKind.InterfaceDeclaration; } function isConstructorSignatureContext(context) { - return context.contextNode.kind === 158 /* ConstructSignature */; + return context.contextNode.kind === 159 /* ConstructSignature */; } function isTypeArgumentOrParameterOrAssertion(token, parent) { if (token.kind !== 27 /* LessThanToken */ && token.kind !== 29 /* GreaterThanToken */) { return false; } switch (parent.kind) { - case 161 /* TypeReference */: - case 189 /* TypeAssertionExpression */: - case 236 /* TypeAliasDeclaration */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 206 /* ExpressionWithTypeArguments */: + case 162 /* TypeReference */: + case 190 /* TypeAssertionExpression */: + case 237 /* TypeAliasDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 207 /* ExpressionWithTypeArguments */: return true; default: return false; @@ -97125,16 +97722,16 @@ var ts; isTypeArgumentOrParameterOrAssertion(context.nextTokenSpan, context.nextTokenParent); } function isTypeAssertionContext(context) { - return context.contextNode.kind === 189 /* TypeAssertionExpression */; + return context.contextNode.kind === 190 /* TypeAssertionExpression */; } function isVoidOpContext(context) { - return context.currentTokenSpan.kind === 105 /* VoidKeyword */ && context.currentTokenParent.kind === 195 /* VoidExpression */; + return context.currentTokenSpan.kind === 105 /* VoidKeyword */ && context.currentTokenParent.kind === 196 /* VoidExpression */; } function isYieldOrYieldStarWithOperand(context) { - return context.contextNode.kind === 202 /* YieldExpression */ && context.contextNode.expression !== undefined; + return context.contextNode.kind === 203 /* YieldExpression */ && context.contextNode.expression !== undefined; } function isNonNullAssertionContext(context) { - return context.contextNode.kind === 208 /* NonNullExpression */; + return context.contextNode.kind === 209 /* NonNullExpression */; } })(formatting = ts.formatting || (ts.formatting = {})); })(ts || (ts = {})); @@ -97185,12 +97782,12 @@ var ts; return map; } function getRuleBucketIndex(row, column) { - ts.Debug.assert(row <= 144 /* LastKeyword */ && column <= 144 /* LastKeyword */, "Must compute formatting context from tokens"); + ts.Debug.assert(row <= 145 /* LastKeyword */ && column <= 145 /* LastKeyword */, "Must compute formatting context from tokens"); return (row * mapRowLength) + column; } var maskBitSize = 5; var mask = 31; // MaskBitSize bits - var mapRowLength = 144 /* LastToken */ + 1; + var mapRowLength = 145 /* LastToken */ + 1; var RulesPosition; (function (RulesPosition) { RulesPosition[RulesPosition["IgnoreRulesSpecific"] = 0] = "IgnoreRulesSpecific"; @@ -97368,17 +97965,17 @@ var ts; // i.e. parent is class declaration with the list of members and node is one of members. function isListElement(parent, node) { switch (parent.kind) { - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: return ts.rangeContainsRange(parent.members, node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: var body = parent.body; - return body && body.kind === 239 /* ModuleBlock */ && ts.rangeContainsRange(body.statements, node); - case 273 /* SourceFile */: - case 212 /* Block */: - case 239 /* ModuleBlock */: + return !!body && body.kind === 240 /* ModuleBlock */ && ts.rangeContainsRange(body.statements, node); + case 274 /* SourceFile */: + case 213 /* Block */: + case 240 /* ModuleBlock */: return ts.rangeContainsRange(parent.statements, node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return ts.rangeContainsRange(parent.block.statements, node); } return false; @@ -97407,7 +98004,7 @@ var ts; } // pick only errors that fall in range var sorted = errors - .filter(function (d) { return ts.rangeOverlapsWithStartEnd(originalRange, d.start, d.start + d.length); }) + .filter(function (d) { return ts.rangeOverlapsWithStartEnd(originalRange, d.start, d.start + d.length); }) // TODO: GH#18217 .sort(function (e1, e2) { return e1.start - e2.start; }); if (!sorted.length) { return rangeHasNoErrors; @@ -97535,7 +98132,7 @@ var ts; if (!formattingScanner.isOnToken()) { var leadingTrivia = formattingScanner.getCurrentLeadingTrivia(); if (leadingTrivia) { - processTrivia(leadingTrivia, enclosingNode, enclosingNode, /*dynamicIndentation*/ undefined); + processTrivia(leadingTrivia, enclosingNode, enclosingNode, /*dynamicIndentation*/ undefined); // TODO: GH#18217 trimTrailingWhitespacesForRemainingRange(); } } @@ -97601,19 +98198,19 @@ var ts; return node.modifiers[0].kind; } switch (node.kind) { - case 234 /* ClassDeclaration */: return 75 /* ClassKeyword */; - case 235 /* InterfaceDeclaration */: return 109 /* InterfaceKeyword */; - case 233 /* FunctionDeclaration */: return 89 /* FunctionKeyword */; - case 237 /* EnumDeclaration */: return 237 /* EnumDeclaration */; - case 155 /* GetAccessor */: return 125 /* GetKeyword */; - case 156 /* SetAccessor */: return 136 /* SetKeyword */; - case 153 /* MethodDeclaration */: + case 235 /* ClassDeclaration */: return 75 /* ClassKeyword */; + case 236 /* InterfaceDeclaration */: return 109 /* InterfaceKeyword */; + case 234 /* FunctionDeclaration */: return 89 /* FunctionKeyword */; + case 238 /* EnumDeclaration */: return 238 /* EnumDeclaration */; + case 156 /* GetAccessor */: return 125 /* GetKeyword */; + case 157 /* SetAccessor */: return 136 /* SetKeyword */; + case 154 /* MethodDeclaration */: if (node.asteriskToken) { return 39 /* AsteriskToken */; } // falls through - case 151 /* PropertyDeclaration */: - case 148 /* Parameter */: + case 152 /* PropertyDeclaration */: + case 149 /* Parameter */: return ts.getNameOfDeclaration(node).kind; } } @@ -97658,15 +98255,15 @@ var ts; case 41 /* SlashToken */: case 29 /* GreaterThanToken */: switch (container.kind) { - case 256 /* JsxOpeningElement */: - case 257 /* JsxClosingElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 258 /* JsxClosingElement */: + case 256 /* JsxSelfClosingElement */: return false; } break; case 21 /* OpenBracketToken */: case 22 /* CloseBracketToken */: - if (container.kind !== 176 /* MappedType */) { + if (container.kind !== 177 /* MappedType */) { return false; } break; @@ -97758,7 +98355,7 @@ var ts; consumeTokenAndAdvanceScanner(tokenInfo, node, parentDynamicIndentation, child); return inheritedIndentation; } - var effectiveParentStartLine = child.kind === 149 /* Decorator */ ? childStartLine : undecoratedParentStartLine; + var effectiveParentStartLine = child.kind === 150 /* Decorator */ ? childStartLine : undecoratedParentStartLine; var childIndentation = computeIndentation(child, childStartLine, childIndentationAmount, node, parentDynamicIndentation, effectiveParentStartLine); processNode(child, childContextNode, childStartLine, undecoratedChildStartLine, childIndentation.indentation, childIndentation.delta); if (child.kind === 10 /* JsxText */) { @@ -97766,7 +98363,7 @@ var ts; indentMultilineCommentOrJsxText(range, childIndentation.indentation, /*firstLineIsIndented*/ true, /*indentFinalLine*/ false); } childContextNode = node; - if (isFirstListItem && parent.kind === 182 /* ArrayLiteralExpression */ && inheritedIndentation === -1 /* Unknown */) { + if (isFirstListItem && parent.kind === 183 /* ArrayLiteralExpression */ && inheritedIndentation === -1 /* Unknown */) { inheritedIndentation = childIndentation.indentation; } return inheritedIndentation; @@ -97896,6 +98493,7 @@ var ts; } } } + // TODO: GH#18217 use an enum instead of `boolean | undefined` function processRange(range, rangeStart, parent, contextNode, dynamicIndentation) { var rangeHasError = rangeContainsError(range); var lineAction = 0 /* None */; @@ -98177,12 +98775,12 @@ var ts; formatting.getRangeOfEnclosingComment = getRangeOfEnclosingComment; function getOpenTokenForList(node, list) { switch (node.kind) { - case 154 /* Constructor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 192 /* ArrowFunction */: + case 155 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 193 /* ArrowFunction */: if (node.typeParameters === list) { return 27 /* LessThanToken */; } @@ -98190,8 +98788,8 @@ var ts; return 19 /* OpenParenToken */; } break; - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: if (node.typeArguments === list) { return 27 /* LessThanToken */; } @@ -98199,7 +98797,7 @@ var ts; return 19 /* OpenParenToken */; } break; - case 161 /* TypeReference */: + case 162 /* TypeReference */: if (node.typeArguments === list) { return 27 /* LessThanToken */; } @@ -98316,7 +98914,7 @@ var ts; if (options.indentStyle === ts.IndentStyle.Block) { return getBlockIndent(sourceFile, position, options); } - if (precedingToken.kind === 26 /* CommaToken */ && precedingToken.parent.kind !== 199 /* BinaryExpression */) { + if (precedingToken.kind === 26 /* CommaToken */ && precedingToken.parent.kind !== 200 /* BinaryExpression */) { // previous token is comma that separates items in list - find the previous item and try to derive indentation from it var actualIndentation = getActualIndentationForListItemBeforeComma(precedingToken, sourceFile, options); if (actualIndentation !== -1 /* Unknown */) { @@ -98368,7 +98966,7 @@ var ts; // handle cases when codefix is about to be inserted before the close brace ? assumeNewLineBeforeCloseBrace && nextTokenKind === 2 /* CloseBrace */ ? options.indentSize : 0 : lineAtPosition !== currentStart.line ? options.indentSize : 0; - return getIndentationForNodeWorker(current, currentStart, /*ignoreActualIndentationRange*/ undefined, indentationDelta, sourceFile, /*isNextChild*/ true, options); + return getIndentationForNodeWorker(current, currentStart, /*ignoreActualIndentationRange*/ undefined, indentationDelta, sourceFile, /*isNextChild*/ true, options); // TODO: GH#18217 } // check if current node is a list item - if yes, take indentation from it var actualIndentation = getActualIndentationForListItem(current, sourceFile, options); @@ -98377,7 +98975,7 @@ var ts; } actualIndentation = getLineIndentationWhenExpressionIsInMultiLine(current, sourceFile, options); if (actualIndentation !== -1 /* Unknown */) { - return actualIndentation + options.indentSize; + return actualIndentation + options.indentSize; // TODO: GH#18217 } previous = current; current = current.parent; @@ -98472,7 +99070,7 @@ var ts; // - parent is SourceFile - by default immediate children of SourceFile are not indented except when user indents them manually // - parent and child are not on the same line var useActualIndentation = (ts.isDeclaration(current) || ts.isStatementButNotDeclaration(current)) && - (parent.kind === 273 /* SourceFile */ || !parentAndChildShareLine); + (parent.kind === 274 /* SourceFile */ || !parentAndChildShareLine); if (!useActualIndentation) { return -1 /* Unknown */; } @@ -98520,7 +99118,7 @@ var ts; } SmartIndenter.isArgumentAndStartLineOverlapsExpressionBeingCalled = isArgumentAndStartLineOverlapsExpressionBeingCalled; function childStartsOnTheSameLineWithElseInIfStatement(parent, child, childStartLine, sourceFile) { - if (parent.kind === 216 /* IfStatement */ && parent.elseStatement === child) { + if (parent.kind === 217 /* IfStatement */ && parent.elseStatement === child) { var elseKeyword = ts.findChildOfKind(parent, 82 /* ElseKeyword */, sourceFile); ts.Debug.assert(elseKeyword !== undefined); var elseKeywordStartLine = getStartLineAndCharacterForNode(elseKeyword, sourceFile).line; @@ -98536,40 +99134,40 @@ var ts; if (node.parent) { var end = node.end; switch (node.parent.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return getListIfStartEndIsInListRange(node.parent.typeArguments, node.getStart(sourceFile), end); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return node.parent.properties; - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return node.parent.elements; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 154 /* Constructor */: - case 163 /* ConstructorType */: - case 158 /* ConstructSignature */: { + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 155 /* Constructor */: + case 164 /* ConstructorType */: + case 159 /* ConstructSignature */: { var start = node.getStart(sourceFile); return getListIfStartEndIsInListRange(node.parent.typeParameters, start, end) || getListIfStartEndIsInListRange(node.parent.parameters, start, end); } - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return getListIfStartEndIsInListRange(node.parent.typeParameters, node.getStart(sourceFile), end); - case 187 /* NewExpression */: - case 186 /* CallExpression */: { + case 188 /* NewExpression */: + case 187 /* CallExpression */: { var start = node.getStart(sourceFile); return getListIfStartEndIsInListRange(node.parent.typeArguments, start, end) || getListIfStartEndIsInListRange(node.parent.arguments, start, end); } - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return getListIfStartEndIsInListRange(node.parent.declarations, node.getStart(sourceFile), end); - case 246 /* NamedImports */: - case 250 /* NamedExports */: + case 247 /* NamedImports */: + case 251 /* NamedExports */: return getListIfStartEndIsInListRange(node.parent.elements, node.getStart(sourceFile), end); - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: return getListIfStartEndIsInListRange(node.parent.elements, node.getStart(sourceFile), end); } } @@ -98609,10 +99207,10 @@ var ts; function getStartingExpression(node) { while (true) { switch (node.kind) { - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: node = node.expression; break; default: @@ -98674,91 +99272,89 @@ var ts; return findFirstNonWhitespaceCharacterAndColumn(startPos, endPos, sourceFile, options).column; } SmartIndenter.findFirstNonWhitespaceColumn = findFirstNonWhitespaceColumn; - function nodeContentIsAlwaysIndented(kind) { - switch (kind) { - case 215 /* ExpressionStatement */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 182 /* ArrayLiteralExpression */: - case 212 /* Block */: - case 239 /* ModuleBlock */: - case 183 /* ObjectLiteralExpression */: - case 165 /* TypeLiteral */: - case 176 /* MappedType */: - case 167 /* TupleType */: - case 240 /* CaseBlock */: - case 266 /* DefaultClause */: - case 265 /* CaseClause */: - case 190 /* ParenthesizedExpression */: - case 184 /* PropertyAccessExpression */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 213 /* VariableStatement */: - case 231 /* VariableDeclaration */: - case 248 /* ExportAssignment */: - case 224 /* ReturnStatement */: - case 200 /* ConditionalExpression */: - case 180 /* ArrayBindingPattern */: - case 179 /* ObjectBindingPattern */: - case 256 /* JsxOpeningElement */: - case 259 /* JsxOpeningFragment */: - case 255 /* JsxSelfClosingElement */: - case 264 /* JsxExpression */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 148 /* Parameter */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 172 /* ParenthesizedType */: - case 188 /* TaggedTemplateExpression */: - case 196 /* AwaitExpression */: - case 250 /* NamedExports */: - case 246 /* NamedImports */: - case 251 /* ExportSpecifier */: - case 247 /* ImportSpecifier */: - case 269 /* PropertyAssignment */: - case 151 /* PropertyDeclaration */: - return true; - } - return false; - } function nodeWillIndentChild(settings, parent, child, sourceFile, indentByDefault) { var childKind = child ? child.kind : 0 /* Unknown */; switch (parent.kind) { - case 231 /* VariableDeclaration */: - case 269 /* PropertyAssignment */: - case 183 /* ObjectLiteralExpression */: - if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 183 /* ObjectLiteralExpression */) { + case 216 /* ExpressionStatement */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 183 /* ArrayLiteralExpression */: + case 213 /* Block */: + case 240 /* ModuleBlock */: + case 184 /* ObjectLiteralExpression */: + case 166 /* TypeLiteral */: + case 177 /* MappedType */: + case 168 /* TupleType */: + case 241 /* CaseBlock */: + case 267 /* DefaultClause */: + case 266 /* CaseClause */: + case 191 /* ParenthesizedExpression */: + case 185 /* PropertyAccessExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 214 /* VariableStatement */: + case 249 /* ExportAssignment */: + case 225 /* ReturnStatement */: + case 201 /* ConditionalExpression */: + case 181 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 257 /* JsxOpeningElement */: + case 260 /* JsxOpeningFragment */: + case 256 /* JsxSelfClosingElement */: + case 265 /* JsxExpression */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 149 /* Parameter */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 173 /* ParenthesizedType */: + case 189 /* TaggedTemplateExpression */: + case 197 /* AwaitExpression */: + case 251 /* NamedExports */: + case 247 /* NamedImports */: + case 252 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 152 /* PropertyDeclaration */: + return true; + case 232 /* VariableDeclaration */: + case 270 /* PropertyAssignment */: + if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 184 /* ObjectLiteralExpression */) { // TODO: GH#18217 return rangeIsOnOneLine(sourceFile, child); } - break; - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 219 /* ForStatement */: - case 216 /* IfStatement */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 192 /* ArrowFunction */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - return childKind !== 212 /* Block */; - case 249 /* ExportDeclaration */: - return childKind !== 250 /* NamedExports */; - case 243 /* ImportDeclaration */: - return childKind !== 244 /* ImportClause */ || - (!!child.namedBindings && child.namedBindings.kind !== 246 /* NamedImports */); - case 254 /* JsxElement */: - return childKind !== 257 /* JsxClosingElement */; - case 258 /* JsxFragment */: - return childKind !== 260 /* JsxClosingFragment */; + return true; + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 220 /* ForStatement */: + case 217 /* IfStatement */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 193 /* ArrowFunction */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + return childKind !== 213 /* Block */; + case 250 /* ExportDeclaration */: + return childKind !== 251 /* NamedExports */; + case 244 /* ImportDeclaration */: + return childKind !== 245 /* ImportClause */ || + (!!child.namedBindings && child.namedBindings.kind !== 247 /* NamedImports */); + case 255 /* JsxElement */: + return childKind !== 258 /* JsxClosingElement */; + case 259 /* JsxFragment */: + return childKind !== 261 /* JsxClosingFragment */; + case 170 /* IntersectionType */: + case 169 /* UnionType */: + if (childKind === 166 /* TypeLiteral */) { + return false; + } + // falls through } // No explicit rule for given nodes so the result will follow the default value argument return indentByDefault; @@ -98766,17 +99362,17 @@ var ts; SmartIndenter.nodeWillIndentChild = nodeWillIndentChild; function isControlFlowEndingStatement(kind, parent) { switch (kind) { - case 224 /* ReturnStatement */: - case 228 /* ThrowStatement */: { - if (parent.kind !== 212 /* Block */) { + case 225 /* ReturnStatement */: + case 229 /* ThrowStatement */: { + if (parent.kind !== 213 /* Block */) { return true; } var grandParent = parent.parent; // In a function, we may want to write inner functions after this. - return !(grandParent && grandParent.kind === 191 /* FunctionExpression */ || grandParent.kind === 233 /* FunctionDeclaration */); + return !(grandParent && grandParent.kind === 192 /* FunctionExpression */ || grandParent.kind === 234 /* FunctionDeclaration */); } - case 222 /* ContinueStatement */: - case 223 /* BreakStatement */: + case 223 /* ContinueStatement */: + case 224 /* BreakStatement */: return true; default: return false; @@ -98788,7 +99384,7 @@ var ts; */ function shouldIndentChildNode(settings, parent, child, sourceFile, isNextChild) { if (isNextChild === void 0) { isNextChild = false; } - return (nodeContentIsAlwaysIndented(parent.kind) || nodeWillIndentChild(settings, parent, child, sourceFile, /*indentByDefault*/ false)) + return nodeWillIndentChild(settings, parent, child, sourceFile, /*indentByDefault*/ false) && !(isNextChild && child && isControlFlowEndingStatement(child.kind, parent)); } SmartIndenter.shouldIndentChildNode = shouldIndentChildNode; @@ -98905,7 +99501,7 @@ var ts; * Checks if 'candidate' argument is a legal separator in the list that contains 'node' as an element */ function isSeparator(node, candidate) { - return candidate && node.parent && (candidate.kind === 26 /* CommaToken */ || (candidate.kind === 25 /* SemicolonToken */ && node.parent.kind === 183 /* ObjectLiteralExpression */)); + return !!candidate && !!node.parent && (candidate.kind === 26 /* CommaToken */ || (candidate.kind === 25 /* SemicolonToken */ && node.parent.kind === 184 /* ObjectLiteralExpression */)); } function spaces(count) { var s = ""; @@ -98951,6 +99547,12 @@ var ts; this.deleteRange(sourceFile, { pos: startPosition, end: endPosition }); return this; }; + ChangeTracker.prototype.deleteNodeRangeExcludingEnd = function (sourceFile, startNode, afterEndNode, options) { + if (options === void 0) { options = {}; } + var startPosition = getAdjustedStartPosition(sourceFile, startNode, options, Position.FullStart); + var endPosition = afterEndNode === undefined ? sourceFile.text.length : getAdjustedStartPosition(sourceFile, afterEndNode, options, Position.FullStart); + this.deleteRange(sourceFile, { pos: startPosition, end: endPosition }); + }; ChangeTracker.prototype.deleteNodeInList = function (sourceFile, node) { var containingList = ts.formatting.SmartIndenter.getContainingList(node, sourceFile); if (!containingList) { @@ -99064,7 +99666,7 @@ var ts; } } else { - endNode = node.kind !== 231 /* VariableDeclaration */ && node.questionToken ? node.questionToken : node.name; + endNode = node.kind !== 232 /* VariableDeclaration */ && node.questionToken ? node.questionToken : node.name; } this.insertNodeAt(sourceFile, endNode.end, type, { prefix: ": " }); }; @@ -99168,7 +99770,7 @@ var ts; else if (ts.isStatement(node) || ts.isClassOrTypeElement(node)) { return { suffix: this.newLineCharacter }; } - else if (ts.isVariableDeclaration(node)) { + else if (ts.isVariableDeclaration(node) || ts.isStringLiteral(node)) { return { prefix: ", " }; } else if (ts.isPropertyAssignment(node)) { @@ -99181,7 +99783,7 @@ var ts; }; ChangeTracker.prototype.insertName = function (sourceFile, node, name) { ts.Debug.assert(!node.name); - if (node.kind === 192 /* ArrowFunction */) { + if (node.kind === 193 /* ArrowFunction */) { var arrow = ts.findChildOfKind(node, 36 /* EqualsGreaterThanToken */, sourceFile); var lparen = ts.findChildOfKind(node, 19 /* OpenParenToken */, sourceFile); if (lparen) { @@ -99195,14 +99797,14 @@ var ts; // Replacing full range of arrow to get rid of the leading space -- replace ` =>` with `)` this.replaceRange(sourceFile, arrow, ts.createToken(20 /* CloseParenToken */)); } - if (node.body.kind !== 212 /* Block */) { + if (node.body.kind !== 213 /* Block */) { // `() => 0` => `function f() { return 0; }` this.insertNodesAt(sourceFile, node.body.getStart(sourceFile), [ts.createToken(17 /* OpenBraceToken */), ts.createToken(96 /* ReturnKeyword */)], { joiner: " ", suffix: " " }); this.insertNodesAt(sourceFile, node.body.end, [ts.createToken(25 /* SemicolonToken */), ts.createToken(18 /* CloseBraceToken */)], { joiner: " " }); } } else { - var pos = ts.findChildOfKind(node, node.kind === 191 /* FunctionExpression */ ? 89 /* FunctionKeyword */ : 75 /* ClassKeyword */, sourceFile).end; + var pos = ts.findChildOfKind(node, node.kind === 192 /* FunctionExpression */ ? 89 /* FunctionKeyword */ : 75 /* ClassKeyword */, sourceFile).end; this.insertNodeAt(sourceFile, pos, ts.createIdentifier(name), { prefix: " " }); } }; @@ -99358,7 +99960,7 @@ var ts; var changes = changesToText.getTextChangesFromChanges(this.changes, this.newLineCharacter, this.formatContext, validate); for (var _i = 0, _a = this.newFiles; _i < _a.length; _i++) { var _b = _a[_i], oldFile = _b.oldFile, fileName = _b.fileName, statements = _b.statements; - changes.push(changesToText.newFileChanges(oldFile, fileName, statements, this.newLineCharacter)); + changes.push(changesToText.newFileChanges(oldFile, fileName, statements, this.newLineCharacter, this.formatContext)); } return changes; }; @@ -99383,14 +99985,14 @@ var ts; // order changes by start position // If the start position is the same, put the shorter range first, since an empty range (x, x) may precede (x, y) but not vice-versa. var normalized = ts.stableSort(changesInFile, function (a, b) { return (a.range.pos - b.range.pos) || (a.range.end - b.range.end); }); - var _loop_18 = function (i) { + var _loop_21 = function (i) { ts.Debug.assert(normalized[i].range.end <= normalized[i + 1].range.pos, "Changes overlap", function () { return JSON.stringify(normalized[i].range) + " and " + JSON.stringify(normalized[i + 1].range); }); }; // verify that change intervals do not overlap, except possibly at end points. for (var i = 0; i < normalized.length - 1; i++) { - _loop_18(i); + _loop_21(i); } var textChanges = normalized.map(function (c) { return ts.createTextChange(ts.createTextSpanFromRange(c.range), computeNewText(c, sourceFile, newLineCharacter, formatContext, validate)); @@ -99399,8 +100001,12 @@ var ts; }); } changesToText.getTextChangesFromChanges = getTextChangesFromChanges; - function newFileChanges(oldFile, fileName, statements, newLineCharacter) { - var text = statements.map(function (s) { return getNonformattedText(s, oldFile, newLineCharacter).text; }).join(newLineCharacter); + function newFileChanges(oldFile, fileName, statements, newLineCharacter, formatContext) { + // TODO: this emits the file, parses it back, then formats it that -- may be a less roundabout way to do this + var nonFormattedText = statements.map(function (s) { return getNonformattedText(s, oldFile, newLineCharacter).text; }).join(newLineCharacter); + var sourceFile = ts.createSourceFile(fileName, nonFormattedText, 6 /* ESNext */); + var changes = ts.formatting.formatDocument(sourceFile, formatContext); + var text = applyChanges(nonFormattedText, changes); return { fileName: fileName, textChanges: [ts.createTextChange(ts.createTextSpan(0, 0), text)], isNewFile: true }; } changesToText.newFileChanges = newFileChanges; @@ -99414,7 +100020,7 @@ var ts; var _a = change.options, options = _a === void 0 ? {} : _a, pos = change.range.pos; var format = function (n) { return getFormattedTextOfNode(n, sourceFile, pos, options, newLineCharacter, formatContext, validate); }; var text = change.kind === ChangeKind.ReplaceWithMultipleNodes - ? change.nodes.map(function (n) { return ts.removeSuffix(format(n), newLineCharacter); }).join(change.options.joiner || newLineCharacter) + ? change.nodes.map(function (n) { return ts.removeSuffix(format(n), newLineCharacter); }).join(change.options.joiner || newLineCharacter) // TODO: GH#18217 : format(change.node); // strip initial indentation (spaces or tabs) if text will be inserted in the middle of the line var noIndent = (options.preserveLeadingWhitespace || options.indentation !== undefined || ts.getLineStartPositionForPosition(pos, sourceFile) === pos) ? text : text.replace(/^\s+/, ""); @@ -99457,7 +100063,7 @@ var ts; return ts.skipTrivia(s, 0) === s.length; } function assignPositionsToNode(node) { - var visited = ts.visitEachChild(node, assignPositionsToNode, ts.nullTransformationContext, assignPositionsToNodeArray, assignPositionsToNode); + var visited = ts.visitEachChild(node, assignPositionsToNode, ts.nullTransformationContext, assignPositionsToNodeArray, assignPositionsToNode); // TODO: GH#18217 // create proxy node for non synthesized nodes var newNode = ts.nodeIsSynthesized(visited) ? visited : Object.create(visited); newNode.pos = getPos(node); @@ -99647,7 +100253,7 @@ var ts; } textChanges_3.isValidLocationToAddComment = isValidLocationToAddComment; function needSemicolonBetween(a, b) { - return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 146 /* ComputedPropertyName */ + return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 147 /* ComputedPropertyName */ || ts.isStatementButNotDeclaration(a) && ts.isStatementButNotDeclaration(b); // TODO: only if b would start with a `(` or `[` } })(textChanges = ts.textChanges || (ts.textChanges = {})); @@ -99718,8 +100324,8 @@ var ts; } codefix.codeFixAll = codeFixAll; function eachDiagnostic(_a, errorCodes, cb) { - var program = _a.program, sourceFile = _a.sourceFile; - for (var _i = 0, _b = program.getSemanticDiagnostics(sourceFile).concat(ts.computeSuggestionDiagnostics(sourceFile, program)); _i < _b.length; _i++) { + var program = _a.program, sourceFile = _a.sourceFile, cancellationToken = _a.cancellationToken; + for (var _i = 0, _b = program.getSemanticDiagnostics(sourceFile, cancellationToken).concat(ts.computeSuggestionDiagnostics(sourceFile, program, cancellationToken)); _i < _b.length; _i++) { var diag = _b[_i]; if (ts.contains(errorCodes, diag.code)) { cb(diag); @@ -99855,29 +100461,29 @@ var ts; } function isDeclarationWithType(node) { return ts.isFunctionLikeDeclaration(node) || - node.kind === 231 /* VariableDeclaration */ || - node.kind === 150 /* PropertySignature */ || - node.kind === 151 /* PropertyDeclaration */; + node.kind === 232 /* VariableDeclaration */ || + node.kind === 151 /* PropertySignature */ || + node.kind === 152 /* PropertyDeclaration */; } function transformJSDocType(node) { switch (node.kind) { - case 278 /* JSDocAllType */: - case 279 /* JSDocUnknownType */: + case 279 /* JSDocAllType */: + case 280 /* JSDocUnknownType */: return ts.createTypeReferenceNode("any", ts.emptyArray); - case 282 /* JSDocOptionalType */: + case 283 /* JSDocOptionalType */: return transformJSDocOptionalType(node); - case 281 /* JSDocNonNullableType */: + case 282 /* JSDocNonNullableType */: return transformJSDocType(node.type); - case 280 /* JSDocNullableType */: + case 281 /* JSDocNullableType */: return transformJSDocNullableType(node); - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: return transformJSDocVariadicType(node); - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: return transformJSDocFunctionType(node); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return transformJSDocTypeReference(node); default: - var visited = ts.visitEachChild(node, transformJSDocType, /*context*/ undefined); + var visited = ts.visitEachChild(node, transformJSDocType, /*context*/ undefined); // TODO: GH#18217 ts.setEmitFlags(visited, 1 /* SingleLine */); return visited; } @@ -99896,7 +100502,7 @@ var ts; } function transformJSDocParameter(node) { var index = node.parent.parameters.indexOf(node); - var isRest = node.type.kind === 284 /* JSDocVariadicType */ && index === node.parent.parameters.length - 1; + var isRest = node.type.kind === 285 /* JSDocVariadicType */ && index === node.parent.parameters.length - 1; // TODO: GH#18217 var name = node.name || (isRest ? "rest" : "arg" + index); var dotdotdot = isRest ? ts.createToken(24 /* DotDotDotToken */) : node.dotDotDotToken; return ts.createParameter(node.decorators, node.modifiers, dotdotdot, name, node.questionToken, ts.visitNode(node.type, transformJSDocType), node.initializer); @@ -99972,16 +100578,16 @@ var ts; var precedingNode; var newClassDeclaration; switch (ctorDeclaration.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: precedingNode = ctorDeclaration; deleteNode(ctorDeclaration); newClassDeclaration = createClassFromFunctionDeclaration(ctorDeclaration); break; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: precedingNode = ctorDeclaration.parent.parent; newClassDeclaration = createClassFromVariableDeclaration(ctorDeclaration); if (ctorDeclaration.parent.declarations.length === 1) { - copyComments(precedingNode, newClassDeclaration, sourceFile); + copyComments(precedingNode, newClassDeclaration, sourceFile); // TODO: GH#18217 deleteNode(precedingNode); } else { @@ -100048,7 +100654,7 @@ var ts; return; } // delete the entire statement if this expression is the sole expression to take care of the semicolon at the end - var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 215 /* ExpressionStatement */ + var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 216 /* ExpressionStatement */ ? assignmentBinaryExpression.parent : assignmentBinaryExpression; deleteNode(nodeToDelete); if (!assignmentBinaryExpression.right) { @@ -100056,7 +100662,7 @@ var ts; /*type*/ undefined, /*initializer*/ undefined); } switch (assignmentBinaryExpression.right.kind) { - case 191 /* FunctionExpression */: { + case 192 /* FunctionExpression */: { var functionExpression = assignmentBinaryExpression.right; var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(functionExpression, 120 /* AsyncKeyword */)); var method = ts.createMethod(/*decorators*/ undefined, fullModifiers, /*asteriskToken*/ undefined, memberDeclaration.name, /*questionToken*/ undefined, @@ -100064,12 +100670,12 @@ var ts; copyComments(assignmentBinaryExpression, method, sourceFile); return method; } - case 192 /* ArrowFunction */: { + case 193 /* ArrowFunction */: { var arrowFunction = assignmentBinaryExpression.right; var arrowFunctionBody = arrowFunction.body; var bodyBlock = void 0; // case 1: () => { return [1,2,3] } - if (arrowFunctionBody.kind === 212 /* Block */) { + if (arrowFunctionBody.kind === 213 /* Block */) { bodyBlock = arrowFunctionBody; } // case 2: () => [1,2,3] @@ -100097,13 +100703,13 @@ var ts; } function createClassFromVariableDeclaration(node) { var initializer = node.initializer; - if (!initializer || initializer.kind !== 191 /* FunctionExpression */) { + if (!initializer || initializer.kind !== 192 /* FunctionExpression */) { return undefined; } if (node.name.kind !== 71 /* Identifier */) { return undefined; } - var memberElements = createClassElementsFromSymbol(initializer.symbol); + var memberElements = createClassElementsFromSymbol(node.symbol); if (initializer.body) { memberElements.unshift(ts.createConstructor(/*decorators*/ undefined, /*modifiers*/ undefined, initializer.parameters, initializer.body)); } @@ -100153,13 +100759,13 @@ var ts; codefix.registerCodeFix({ errorCodes: [ts.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module.code], getCodeActions: function (context) { - var sourceFile = context.sourceFile, program = context.program; + var sourceFile = context.sourceFile, program = context.program, preferences = context.preferences; var changes = ts.textChanges.ChangeTracker.with(context, function (changes) { - var moduleExportsChangedToDefault = convertFileToEs6Module(sourceFile, program.getTypeChecker(), changes, program.getCompilerOptions().target); + var moduleExportsChangedToDefault = convertFileToEs6Module(sourceFile, program.getTypeChecker(), changes, program.getCompilerOptions().target, preferences); if (moduleExportsChangedToDefault) { for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { var importingFile = _a[_i]; - fixImportOfModuleExports(importingFile, sourceFile, changes); + fixImportOfModuleExports(importingFile, sourceFile, changes, preferences); } } }); @@ -100167,7 +100773,7 @@ var ts; return [codefix.createCodeFixActionNoFixId("convertToEs6Module", changes, ts.Diagnostics.Convert_to_ES6_module)]; }, }); - function fixImportOfModuleExports(importingFile, exportingFile, changes) { + function fixImportOfModuleExports(importingFile, exportingFile, changes, preferences) { for (var _i = 0, _a = importingFile.imports; _i < _a.length; _i++) { var moduleSpecifier = _a[_i]; var imported = ts.getResolvedModule(importingFile, moduleSpecifier.text); @@ -100176,10 +100782,10 @@ var ts; } var importNode = ts.importFromModuleSpecifier(moduleSpecifier); switch (importNode.kind) { - case 242 /* ImportEqualsDeclaration */: - changes.replaceNode(importingFile, importNode, ts.makeImport(importNode.name, /*namedImports*/ undefined, moduleSpecifier)); + case 243 /* ImportEqualsDeclaration */: + changes.replaceNode(importingFile, importNode, ts.makeImport(importNode.name, /*namedImports*/ undefined, moduleSpecifier, preferences)); break; - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (ts.isRequireCall(importNode, /*checkArgumentIsStringLiteralLike*/ false)) { changes.replaceNode(importingFile, importNode, ts.createPropertyAccess(ts.getSynthesizedDeepClone(importNode), "default")); } @@ -100188,14 +100794,14 @@ var ts; } } /** @returns Whether we converted a `module.exports =` to a default export. */ - function convertFileToEs6Module(sourceFile, checker, changes, target) { + function convertFileToEs6Module(sourceFile, checker, changes, target, preferences) { var identifiers = { original: collectFreeIdentifiers(sourceFile), additional: ts.createMap() }; var exports = collectExportRenames(sourceFile, checker, identifiers); convertExportsAccesses(sourceFile, exports, changes); var moduleExportsChangedToDefault = false; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var statement = _a[_i]; - var moduleExportsChanged = convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports); + var moduleExportsChanged = convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports, preferences); moduleExportsChangedToDefault = moduleExportsChangedToDefault || moduleExportsChanged; } return moduleExportsChangedToDefault; @@ -100230,22 +100836,22 @@ var ts; node.forEachChild(recur); }); } - function convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports) { + function convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports, preferences) { switch (statement.kind) { - case 213 /* VariableStatement */: - convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target); + case 214 /* VariableStatement */: + convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target, preferences); return false; - case 215 /* ExpressionStatement */: { + case 216 /* ExpressionStatement */: { var expression = statement.expression; switch (expression.kind) { - case 186 /* CallExpression */: { + case 187 /* CallExpression */: { if (ts.isRequireCall(expression, /*checkArgumentIsStringLiteralLike*/ true)) { // For side-effecting require() call, just make a side-effecting import. - changes.replaceNode(sourceFile, statement, ts.makeImport(/*name*/ undefined, /*namedImports*/ undefined, expression.arguments[0])); + changes.replaceNode(sourceFile, statement, ts.makeImport(/*name*/ undefined, /*namedImports*/ undefined, expression.arguments[0], preferences)); } return false; } - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var operatorToken = expression.operatorToken; return operatorToken.kind === 58 /* EqualsToken */ && convertAssignment(sourceFile, checker, expression, changes, exports); } @@ -100256,7 +100862,7 @@ var ts; return false; } } - function convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target) { + function convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target, preferences) { var declarationList = statement.declarationList; var foundImport = false; var newNodes = ts.flatMap(declarationList.declarations, function (decl) { @@ -100269,11 +100875,11 @@ var ts; } else if (ts.isRequireCall(initializer, /*checkArgumentIsStringLiteralLike*/ true)) { foundImport = true; - return convertSingleImport(sourceFile, name, initializer.arguments[0], changes, checker, identifiers, target); + return convertSingleImport(sourceFile, name, initializer.arguments[0], changes, checker, identifiers, target, preferences); } else if (ts.isPropertyAccessExpression(initializer) && ts.isRequireCall(initializer.expression, /*checkArgumentIsStringLiteralLike*/ true)) { foundImport = true; - return convertPropertyAccessImport(name, initializer.name.text, initializer.expression.arguments[0], identifiers); + return convertPropertyAccessImport(name, initializer.name.text, initializer.expression.arguments[0], identifiers, preferences); } } // Move it out to its own variable statement. (This will not be used if `!foundImport`) @@ -100285,22 +100891,22 @@ var ts; } } /** Converts `const name = require("moduleSpecifier").propertyName` */ - function convertPropertyAccessImport(name, propertyName, moduleSpecifier, identifiers) { + function convertPropertyAccessImport(name, propertyName, moduleSpecifier, identifiers, preferences) { switch (name.kind) { - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: { + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: { // `const [a, b] = require("c").d` --> `import { d } from "c"; const [a, b] = d;` var tmp = makeUniqueName(propertyName, identifiers); return [ - makeSingleImport(tmp, propertyName, moduleSpecifier), + makeSingleImport(tmp, propertyName, moduleSpecifier, preferences), makeConst(/*modifiers*/ undefined, name, ts.createIdentifier(tmp)), ]; } case 71 /* Identifier */: // `const a = require("b").c` --> `import { c as a } from "./b"; - return [makeSingleImport(name.text, propertyName, moduleSpecifier)]; + return [makeSingleImport(name.text, propertyName, moduleSpecifier, preferences)]; default: - ts.Debug.assertNever(name); + return ts.Debug.assertNever(name); } } function convertAssignment(sourceFile, checker, assignment, changes, exports) { @@ -100339,15 +100945,15 @@ var ts; function tryChangeModuleExportsObject(object) { var statements = ts.mapAllOrFail(object.properties, function (prop) { switch (prop.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // TODO: Maybe we should handle this? See fourslash test `refactorConvertToEs6Module_export_object_shorthand.ts`. - case 270 /* ShorthandPropertyAssignment */: - case 271 /* SpreadAssignment */: + case 271 /* ShorthandPropertyAssignment */: + case 272 /* SpreadAssignment */: return undefined; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return !ts.isIdentifier(prop.name) ? undefined : convertExportsDotXEquals_replaceNode(prop.name.text, prop.initializer); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return !ts.isIdentifier(prop.name) ? undefined : functionExpressionToDeclaration(prop.name.text, [ts.createToken(84 /* ExportKeyword */)], prop); default: ts.Debug.assertNever(prop); @@ -100413,7 +101019,7 @@ var ts; function convertExportsDotXEquals_replaceNode(name, exported) { var modifiers = [ts.createToken(84 /* ExportKeyword */)]; switch (exported.kind) { - case 191 /* FunctionExpression */: { + case 192 /* FunctionExpression */: { var expressionName = exported.name; if (expressionName && expressionName.text !== name) { // `exports.f = function g() {}` -> `export const f = function g() {}` @@ -100421,10 +101027,10 @@ var ts; } } // falls through - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: // `exports.f = function() {}` --> `export function f() {}` return functionExpressionToDeclaration(name, modifiers, exported); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: // `exports.C = class {}` --> `export class C {}` return classExpressionToDeclaration(name, modifiers, exported); default: @@ -100432,7 +101038,7 @@ var ts; } function exportConst() { // `exports.x = 0;` --> `export const x = 0;` - return makeConst(modifiers, ts.createIdentifier(name), exported); + return makeConst(modifiers, ts.createIdentifier(name), exported); // TODO: GH#18217 } } /** @@ -100440,41 +101046,41 @@ var ts; * Returns nodes that will replace the variable declaration for the commonjs import. * May also make use `changes` to remove qualifiers at the use sites of imports, to change `mod.x` to `x`. */ - function convertSingleImport(file, name, moduleSpecifier, changes, checker, identifiers, target) { + function convertSingleImport(file, name, moduleSpecifier, changes, checker, identifiers, target, preferences) { switch (name.kind) { - case 179 /* ObjectBindingPattern */: { + case 180 /* ObjectBindingPattern */: { var importSpecifiers = ts.mapAllOrFail(name.elements, function (e) { return e.dotDotDotToken || e.initializer || e.propertyName && !ts.isIdentifier(e.propertyName) || !ts.isIdentifier(e.name) ? undefined : makeImportSpecifier(e.propertyName && e.propertyName.text, e.name.text); - }); + }); // tslint:disable-line no-unnecessary-type-assertion (TODO: GH#18217) if (importSpecifiers) { - return [ts.makeImport(/*name*/ undefined, importSpecifiers, moduleSpecifier)]; + return [ts.makeImport(/*name*/ undefined, importSpecifiers, moduleSpecifier, preferences)]; } } // falls through -- object destructuring has an interesting pattern and must be a variable declaration - case 180 /* ArrayBindingPattern */: { + case 181 /* ArrayBindingPattern */: { /* import x from "x"; const [a, b, c] = x; */ var tmp = makeUniqueName(codefix.moduleSpecifierToValidIdentifier(moduleSpecifier.text, target), identifiers); return [ - ts.makeImport(ts.createIdentifier(tmp), /*namedImports*/ undefined, moduleSpecifier), + ts.makeImport(ts.createIdentifier(tmp), /*namedImports*/ undefined, moduleSpecifier, preferences), makeConst(/*modifiers*/ undefined, ts.getSynthesizedDeepClone(name), ts.createIdentifier(tmp)), ]; } case 71 /* Identifier */: - return convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers); + return convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers, preferences); default: - ts.Debug.assertNever(name); + return ts.Debug.assertNever(name); } } /** * Convert `import x = require("x").` * Also converts uses like `x.y()` to `y()` and uses a named import. */ - function convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers) { + function convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers, preferences) { var nameSymbol = checker.getSymbolAtLocation(name); // Maps from module property name to name actually used. (The same if there isn't shadowing.) var namedBindingsNames = ts.createMap(); @@ -100509,7 +101115,7 @@ var ts; // If it was unused, ensure that we at least import *something*. needDefaultImport = true; } - return [ts.makeImport(needDefaultImport ? ts.getSynthesizedDeepClone(name) : undefined, namedBindings, moduleSpecifier)]; + return [ts.makeImport(needDefaultImport ? ts.getSynthesizedDeepClone(name) : undefined, namedBindings, moduleSpecifier, preferences)]; } // Identifiers helpers function makeUniqueName(name, identifiers) { @@ -100521,20 +101127,26 @@ var ts; } function collectFreeIdentifiers(file) { var map = ts.createMultiMap(); - file.forEachChild(function recur(node) { - if (ts.isIdentifier(node) && isFreeIdentifier(node)) { - map.add(node.text, node); - } - node.forEachChild(recur); - }); + forEachFreeIdentifier(file, function (id) { return map.add(id.text, id); }); return map; } + /** + * A free identifier is an identifier that can be accessed through name lookup as a local variable. + * In the expression `x.y`, `x` is a free identifier, but `y` is not. + */ + function forEachFreeIdentifier(node, cb) { + if (ts.isIdentifier(node) && isFreeIdentifier(node)) + cb(node); + node.forEachChild(function (child) { return forEachFreeIdentifier(child, cb); }); + } function isFreeIdentifier(node) { var parent = node.parent; switch (parent.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return parent.name !== node; - case 181 /* BindingElement */: + case 182 /* BindingElement */: + return parent.propertyName !== node; + case 248 /* ImportSpecifier */: return parent.propertyName !== node; default: return true; @@ -100549,10 +101161,10 @@ var ts; return ts.createClassDeclaration(ts.getSynthesizedDeepClones(cls.decorators), // TODO: GH#19915 Don't think this is even legal. ts.concatenate(additionalModifiers, ts.getSynthesizedDeepClones(cls.modifiers)), name, ts.getSynthesizedDeepClones(cls.typeParameters), ts.getSynthesizedDeepClones(cls.heritageClauses), ts.getSynthesizedDeepClones(cls.members)); } - function makeSingleImport(localName, propertyName, moduleSpecifier) { + function makeSingleImport(localName, propertyName, moduleSpecifier, preferences) { return propertyName === "default" - ? ts.makeImport(ts.createIdentifier(localName), /*namedImports*/ undefined, moduleSpecifier) - : ts.makeImport(/*name*/ undefined, [makeImportSpecifier(propertyName, localName)], moduleSpecifier); + ? ts.makeImport(ts.createIdentifier(localName), /*namedImports*/ undefined, moduleSpecifier, preferences) + : ts.makeImport(/*name*/ undefined, [makeImportSpecifier(propertyName, localName)], moduleSpecifier, preferences); } function makeImportSpecifier(propertyName, name) { return ts.createImportSpecifier(propertyName !== undefined && propertyName !== name ? ts.createIdentifier(propertyName) : undefined, ts.createIdentifier(name)); @@ -100640,12 +101252,16 @@ var ts; function getClass(sourceFile, pos) { return ts.Debug.assertDefined(ts.getContainingClass(ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false))); } + function symbolPointsToNonPrivateMember(symbol) { + return !(ts.getModifierFlags(symbol.valueDeclaration) & 8 /* Private */); + } function addMissingDeclarations(checker, implementedTypeNode, sourceFile, classDeclaration, changeTracker, preferences) { + var maybeHeritageClauseSymbol = getHeritageClauseSymbolTable(classDeclaration, checker); // Note that this is ultimately derived from a map indexed by symbol names, // so duplicates cannot occur. var implementedType = checker.getTypeAtLocation(implementedTypeNode); var implementedTypeSymbols = checker.getPropertiesOfType(implementedType); - var nonPrivateMembers = implementedTypeSymbols.filter(function (symbol) { return !(ts.getModifierFlags(symbol.valueDeclaration) & 8 /* Private */); }); + var nonPrivateAndNotExistedInHeritageClauseMembers = implementedTypeSymbols.filter(ts.and(symbolPointsToNonPrivateMember, function (symbol) { return !maybeHeritageClauseSymbol.has(symbol.escapedName); })); var classType = checker.getTypeAtLocation(classDeclaration); if (!classType.getNumberIndexType()) { createMissingIndexSignatureDeclaration(implementedType, 1 /* Number */); @@ -100653,7 +101269,7 @@ var ts; if (!classType.getStringIndexType()) { createMissingIndexSignatureDeclaration(implementedType, 0 /* String */); } - codefix.createMissingMemberNodes(classDeclaration, nonPrivateMembers, checker, preferences, function (member) { return changeTracker.insertNodeAtClassStart(sourceFile, classDeclaration, member); }); + codefix.createMissingMemberNodes(classDeclaration, nonPrivateAndNotExistedInHeritageClauseMembers, checker, preferences, function (member) { return changeTracker.insertNodeAtClassStart(sourceFile, classDeclaration, member); }); function createMissingIndexSignatureDeclaration(type, kind) { var indexInfoOfKind = checker.getIndexInfoOfType(type, kind); if (indexInfoOfKind) { @@ -100661,6 +101277,14 @@ var ts; } } } + function getHeritageClauseSymbolTable(classDeclaration, checker) { + var heritageClauseNode = ts.getClassExtendsHeritageClauseElement(classDeclaration); + if (!heritageClauseNode) + return ts.createSymbolTable(); + var heritageClauseType = checker.getTypeAtLocation(heritageClauseNode); + var heritageClauseTypeSymbols = checker.getPropertiesOfType(heritageClauseType); + return ts.createSymbolTable(heritageClauseTypeSymbols.filter(symbolPointsToNonPrivateMember)); + } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); /* @internal */ @@ -100677,7 +101301,9 @@ var ts; ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code, ts.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here.code, ], - getCodeActions: getImportCodeActions, + getCodeActions: function (context) { return context.errorCode === ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code + ? getActionsForUMDImport(context) + : getActionsForNonUMDImport(context); }, // TODO: GH#20315 fixIds: [], getAllCodeActions: ts.notImplemented, @@ -100696,7 +101322,6 @@ var ts; program: program, checker: checker, compilerOptions: program.getCompilerOptions(), - cachedImportDeclarations: [], getCanonicalFileName: ts.createGetCanonicalFileName(ts.hostUsesCaseSensitiveFileNames(context.host)), symbolName: symbolName, symbolToken: symbolToken, @@ -100742,9 +101367,17 @@ var ts; return result; } function getCodeActionsForImport_separateExistingAndNew(exportInfos, context, useExisting, addNew) { - var existingImports = ts.flatMap(exportInfos, function (info) { - return getImportDeclarations(info, context.checker, context.sourceFile, context.cachedImportDeclarations); - }); + var existingImports = ts.flatMap(exportInfos, function (info) { return getExistingImportDeclarations(info, context.checker, context.sourceFile); }); + ts.append(useExisting, tryUseExistingNamespaceImport(existingImports, context, context.symbolToken, context.checker)); + var addToExisting = tryAddToExistingImport(existingImports, context); + if (addToExisting) { + useExisting.push(addToExisting); + } + else { // Don't bother providing an action to add a new import if we can add to an existing one. + getCodeActionsForAddImport(exportInfos, context, existingImports, addNew); + } + } + function tryUseExistingNamespaceImport(existingImports, context, symbolToken, checker) { // It is possible that multiple import statements with the same specifier exist in the file. // e.g. // @@ -100757,44 +101390,46 @@ var ts; // 1. change "member3" to "ns.member3" // 2. add "member3" to the second import statement's import list // and it is up to the user to decide which one fits best. - if (context.symbolToken && ts.isIdentifier(context.symbolToken)) { - for (var _i = 0, existingImports_1 = existingImports; _i < existingImports_1.length; _i++) { - var declaration = existingImports_1[_i].declaration; - var namespace_2 = getNamespaceImportName(declaration); - if (namespace_2) { - var moduleSymbol = context.checker.getAliasedSymbol(context.checker.getSymbolAtLocation(namespace_2)); - if (moduleSymbol && moduleSymbol.exports.has(ts.escapeLeadingUnderscores(context.symbolName))) { - useExisting.push(getCodeActionForUseExistingNamespaceImport(namespace_2.text, context, context.symbolToken)); - } + return !symbolToken || !ts.isIdentifier(symbolToken) ? undefined : ts.firstDefined(existingImports, function (_a) { + var declaration = _a.declaration; + var namespace = getNamespaceImportName(declaration); + if (namespace) { + var moduleSymbol = namespace && checker.getAliasedSymbol(checker.getSymbolAtLocation(namespace)); + if (moduleSymbol && moduleSymbol.exports.has(ts.escapeLeadingUnderscores(context.symbolName))) { + return getCodeActionForUseExistingNamespaceImport(namespace.text, context, symbolToken); } } - } - getCodeActionsForAddImport(exportInfos, context, existingImports, useExisting, addNew); + }); + } + function tryAddToExistingImport(existingImports, context) { + return ts.firstDefined(existingImports, function (_a) { + var declaration = _a.declaration, importKind = _a.importKind; + if (declaration.kind === 244 /* ImportDeclaration */ && declaration.importClause) { + var changes = tryUpdateExistingImport(context, declaration.importClause, importKind); + if (changes) { + var moduleSpecifierWithoutQuotes = ts.stripQuotes(declaration.moduleSpecifier.getText()); + return createCodeAction(ts.Diagnostics.Add_0_to_existing_import_declaration_from_1, [context.symbolName, moduleSpecifierWithoutQuotes], changes); + } + } + }); } function getNamespaceImportName(declaration) { - if (declaration.kind === 243 /* ImportDeclaration */) { + if (declaration.kind === 244 /* ImportDeclaration */) { var namedBindings = declaration.importClause && ts.isImportClause(declaration.importClause) && declaration.importClause.namedBindings; - return namedBindings && namedBindings.kind === 245 /* NamespaceImport */ ? namedBindings.name : undefined; + return namedBindings && namedBindings.kind === 246 /* NamespaceImport */ ? namedBindings.name : undefined; } else { return declaration.name; } } - // TODO(anhans): This doesn't seem important to cache... just use an iterator instead of creating a new array? - function getImportDeclarations(_a, checker, _b, cachedImportDeclarations) { + function getExistingImportDeclarations(_a, checker, _b) { var moduleSymbol = _a.moduleSymbol, importKind = _a.importKind; var imports = _b.imports; - if (cachedImportDeclarations === void 0) { cachedImportDeclarations = []; } - var moduleSymbolId = ts.getUniqueSymbolId(moduleSymbol, checker); - var cached = cachedImportDeclarations[moduleSymbolId]; - if (!cached) { - cached = cachedImportDeclarations[moduleSymbolId] = ts.mapDefined(imports, function (moduleSpecifier) { - var i = ts.importFromModuleSpecifier(moduleSpecifier); - return (i.kind === 243 /* ImportDeclaration */ || i.kind === 242 /* ImportEqualsDeclaration */) - && checker.getSymbolAtLocation(moduleSpecifier) === moduleSymbol ? { declaration: i, importKind: importKind } : undefined; - }); - } - return cached; + return ts.mapDefined(imports, function (moduleSpecifier) { + var i = ts.importFromModuleSpecifier(moduleSpecifier); + return (i.kind === 244 /* ImportDeclaration */ || i.kind === 243 /* ImportEqualsDeclaration */) + && checker.getSymbolAtLocation(moduleSpecifier) === moduleSymbol ? { declaration: i, importKind: importKind } : undefined; + }); } function getCodeActionForNewImport(context, _a) { var moduleSpecifier = _a.moduleSpecifier, importKind = _a.importKind; @@ -100819,7 +101454,7 @@ var ts; }); // if this file doesn't have any import statements, insert an import statement and then insert a new line // between the only import statement and user code. Otherwise just insert the statement because chances - // are there are already a new line seperating code and import statements. + // are there are already a new line separating code and import statements. return createCodeAction(ts.Diagnostics.Import_0_from_module_1, [symbolName, moduleSpecifierWithoutQuotes], changes); } function shouldUseSingleQuote(sourceFile, preferences) { @@ -100853,21 +101488,7 @@ var ts; // Sort to keep the shortest paths first, but keep [relativePath, importRelativeToBaseUrl] groups together return ts.flatten(choicesForEachExportingModule.sort(function (a, b) { return ts.first(a).moduleSpecifier.length - ts.first(b).moduleSpecifier.length; })); } - function getCodeActionsForAddImport(exportInfos, ctx, existingImports, useExisting, addNew) { - var fromExistingImport = ts.firstDefined(existingImports, function (_a) { - var declaration = _a.declaration, importKind = _a.importKind; - if (declaration.kind === 243 /* ImportDeclaration */ && declaration.importClause) { - var changes = tryUpdateExistingImport(ctx, ts.isImportClause(declaration.importClause) && declaration.importClause || undefined, importKind); - if (changes) { - var moduleSpecifierWithoutQuotes = ts.stripQuotes(declaration.moduleSpecifier.getText()); - return createCodeAction(ts.Diagnostics.Add_0_to_existing_import_declaration_from_1, [ctx.symbolName, moduleSpecifierWithoutQuotes], changes); - } - } - }); - if (fromExistingImport) { - useExisting.push(fromExistingImport); - return; - } + function getCodeActionsForAddImport(exportInfos, ctx, existingImports, addNew) { var existingDeclaration = ts.firstDefined(existingImports, newImportInfoFromExistingSpecifier); var newImportInfos = existingDeclaration ? [existingDeclaration] @@ -100879,9 +101500,9 @@ var ts; } function newImportInfoFromExistingSpecifier(_a) { var declaration = _a.declaration, importKind = _a.importKind; - var expression = declaration.kind === 243 /* ImportDeclaration */ + var expression = declaration.kind === 244 /* ImportDeclaration */ ? declaration.moduleSpecifier - : declaration.moduleReference.kind === 253 /* ExternalModuleReference */ + : declaration.moduleReference.kind === 254 /* ExternalModuleReference */ ? declaration.moduleReference.expression : undefined; return expression && ts.isStringLiteral(expression) ? { moduleSpecifier: expression.text, importKind: importKind } : undefined; @@ -100889,7 +101510,7 @@ var ts; function tryUpdateExistingImport(context, importClause, importKind) { var symbolName = context.symbolName, sourceFile = context.sourceFile; var name = importClause.name; - var namedBindings = (importClause.kind !== 242 /* ImportEqualsDeclaration */ && importClause).namedBindings; + var namedBindings = (importClause.kind !== 243 /* ImportEqualsDeclaration */ && importClause).namedBindings; // TODO: GH#18217 switch (importKind) { case 1 /* Default */: return name ? undefined : ChangeTracker.with(context, function (t) { @@ -100897,11 +101518,11 @@ var ts; }); case 0 /* Named */: { var newImportSpecifier_1 = ts.createImportSpecifier(/*propertyName*/ undefined, ts.createIdentifier(symbolName)); - if (namedBindings && namedBindings.kind === 246 /* NamedImports */ && namedBindings.elements.length !== 0) { + if (namedBindings && namedBindings.kind === 247 /* NamedImports */ && namedBindings.elements.length !== 0) { // There are already named imports; add another. return ChangeTracker.with(context, function (t) { return t.insertNodeInListAfter(sourceFile, namedBindings.elements[namedBindings.elements.length - 1], newImportSpecifier_1); }); } - if (!namedBindings || namedBindings.kind === 246 /* NamedImports */ && namedBindings.elements.length === 0) { + if (!namedBindings || namedBindings.kind === 247 /* NamedImports */ && namedBindings.elements.length === 0) { return ChangeTracker.with(context, function (t) { return t.replaceNode(sourceFile, importClause, ts.createImportClause(name, ts.createNamedImports([newImportSpecifier_1]))); }); @@ -100935,11 +101556,6 @@ var ts; }); return createCodeAction(ts.Diagnostics.Change_0_to_1, [symbolName, namespacePrefix + "." + symbolName], changes); } - function getImportCodeActions(context) { - return context.errorCode === ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code - ? getActionsForUMDImport(context) - : getActionsForNonUMDImport(context); - } function getActionsForUMDImport(context) { var token = ts.getTokenAtPosition(context.sourceFile, context.span.start, /*includeJsDocComment*/ false); var checker = context.program.getTypeChecker(); @@ -100952,7 +101568,7 @@ var ts; // The error wasn't for the symbolAtLocation, it was for the JSX tag itself, which needs access to e.g. `React`. var parent = token.parent; var isNodeOpeningLikeElement = ts.isJsxOpeningLikeElement(parent); - if ((ts.isJsxOpeningLikeElement && parent.tagName === token) || parent.kind === 259 /* JsxOpeningFragment */) { + if ((ts.isJsxOpeningLikeElement && parent.tagName === token) || parent.kind === 260 /* JsxOpeningFragment */) { umdSymbol = checker.resolveName(checker.getJsxNamespace(parent), isNodeOpeningLikeElement ? parent.tagName : parent, 67216319 /* Value */, /*excludeGlobals*/ false); } } @@ -101001,7 +101617,14 @@ var ts; return undefined; // "default" is a keyword and not a legal identifier for the import, so we don't expect it here ts.Debug.assert(symbolName !== "default"); - var currentTokenMeaning = ts.getMeaningFromLocation(symbolToken); + var addToExistingDeclaration = []; + var addNewDeclaration = []; + getExportInfos(symbolName, ts.getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, checker, program).forEach(function (exportInfos) { + getCodeActionsForImport_separateExistingAndNew(exportInfos, convertToImportCodeFixContext(context, symbolToken, symbolName), addToExistingDeclaration, addNewDeclaration); + }); + return addToExistingDeclaration.concat(addNewDeclaration); + } + function getExportInfos(symbolName, currentTokenMeaning, cancellationToken, sourceFile, checker, program) { // For each original symbol, keep all re-exports of that symbol together so we can call `getCodeActionsForImport` on the whole group at once. // Maps symbol id to info for modules providing that symbol (original export + re-exports). var originalSymbolToExportInfos = ts.createMultiMap(); @@ -101026,7 +101649,7 @@ var ts; addSymbol(moduleSymbol, exportSymbolWithIdenticalName, 0 /* Named */); } function getEscapedNameForExportDefault(symbol) { - return ts.firstDefined(symbol.declarations, function (declaration) { + return symbol.declarations && ts.firstDefined(symbol.declarations, function (declaration) { if (ts.isExportAssignment(declaration)) { if (ts.isIdentifier(declaration.expression)) { return declaration.expression.escapedText; @@ -101034,19 +101657,12 @@ var ts; } else if (ts.isExportSpecifier(declaration)) { ts.Debug.assert(declaration.name.escapedText === "default" /* Default */); - if (declaration.propertyName) { - return declaration.propertyName.escapedText; - } + return declaration.propertyName && declaration.propertyName.escapedText; } }); } }); - var addToExistingDeclaration = []; - var addNewDeclaration = []; - originalSymbolToExportInfos.forEach(function (exportInfos) { - getCodeActionsForImport_separateExistingAndNew(exportInfos, convertToImportCodeFixContext(context, symbolToken, symbolName), addToExistingDeclaration, addNewDeclaration); - }); - return addToExistingDeclaration.concat(addNewDeclaration); + return originalSymbolToExportInfos; } function checkSymbolHasMeaning(_a, meaning) { var declarations = _a.declarations; @@ -101068,7 +101684,7 @@ var ts; for (var _b = 0, allSourceFiles_1 = allSourceFiles; _b < allSourceFiles_1.length; _b++) { var sourceFile = allSourceFiles_1[_b]; if (ts.isExternalOrCommonJsModule(sourceFile)) { - cb(sourceFile.symbol, sourceFile); + cb(checker.getMergedSymbol(sourceFile.symbol), sourceFile); } } } @@ -101285,7 +101901,7 @@ var ts; } function addMissingMemberInJs(changeTracker, classDeclarationSourceFile, classDeclaration, tokenName, makeStatic) { if (makeStatic) { - if (classDeclaration.kind === 204 /* ClassExpression */) { + if (classDeclaration.kind === 205 /* ClassExpression */) { return; } var className = classDeclaration.name.getText(); @@ -101311,10 +101927,10 @@ var ts; } function getTypeNode(checker, classDeclaration, token) { var typeNode; - if (token.parent.parent.kind === 199 /* BinaryExpression */) { + if (token.parent.parent.kind === 200 /* BinaryExpression */) { var binaryExpression = token.parent.parent; var otherExpression = token.parent === binaryExpression.left ? binaryExpression.right : binaryExpression.left; - var widenedType = checker.getWidenedType(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(otherExpression))); + var widenedType = checker.getWidenedType(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(otherExpression))); // TODO: GH#18217 typeNode = checker.typeToTypeNode(widenedType, classDeclaration); } return typeNode || ts.createKeywordTypeNode(119 /* AnyKeyword */); @@ -101370,7 +101986,13 @@ var ts; } function addMethodDeclaration(changeTracker, classDeclarationSourceFile, classDeclaration, token, callExpression, makeStatic, inJs, preferences) { var methodDeclaration = codefix.createMethodFromCallExpression(callExpression, token.text, inJs, makeStatic, preferences); - changeTracker.insertNodeAtClassStart(classDeclarationSourceFile, classDeclaration, methodDeclaration); + var containingMethodDeclaration = ts.getAncestor(callExpression, 154 /* MethodDeclaration */); + if (containingMethodDeclaration && containingMethodDeclaration.parent === classDeclaration) { + changeTracker.insertNodeAfter(classDeclarationSourceFile, containingMethodDeclaration, methodDeclaration); + } + else { + changeTracker.insertNodeAtClassStart(classDeclarationSourceFile, classDeclaration, methodDeclaration); + } } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -101409,7 +102031,7 @@ var ts; var packageName = ts.getPackageName(moduleName).packageName; return diagCode === errorCodeCannotFindModule ? (ts.JsTyping.nodeCoreModules.has(packageName) ? "@types/node" : undefined) - : (host.isKnownTypesPackageName(packageName) ? ts.getTypesPackageName(packageName) : undefined); + : (host.isKnownTypesPackageName(packageName) ? ts.getTypesPackageName(packageName) : undefined); // TODO: GH#18217 } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -101628,7 +102250,9 @@ var ts; }, fixIds: [fixId], getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { - doChange(changes, context.sourceFile, getInfo(diag.file, diag.start, diag.code)); + var info = getInfo(diag.file, diag.start, diag.code); + if (info) + doChange(changes, context.sourceFile, info); }); }, }); function getInfo(sourceFile, pos, diagCode) { @@ -101659,23 +102283,30 @@ var ts; ts.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code, ts.Diagnostics.All_imports_in_import_declaration_are_unused.code, ts.Diagnostics.All_destructured_elements_are_unused.code, + ts.Diagnostics.All_variables_are_unused.code, ]; codefix.registerCodeFix({ errorCodes: errorCodes, getCodeActions: function (context) { - var errorCode = context.errorCode, sourceFile = context.sourceFile; - var importDecl = tryGetFullImport(sourceFile, context.span.start); + var errorCode = context.errorCode, sourceFile = context.sourceFile, program = context.program; + var checker = program.getTypeChecker(); + var startToken = ts.getTokenAtPosition(sourceFile, context.span.start, /*includeJsDocComment*/ false); + var importDecl = tryGetFullImport(startToken); if (importDecl) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return t.deleteNode(sourceFile, importDecl); }); return [codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Remove_import_from_0, ts.showModuleSpecifier(importDecl)], fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)]; } - var delDestructure = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteFullDestructure(t, sourceFile, context.span.start, /*deleted*/ undefined); }); + var delDestructure = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteFullDestructure(t, sourceFile, startToken, /*deleted*/ undefined, checker, /*isFixAll*/ false); }); if (delDestructure.length) { return [codefix.createCodeFixAction(fixName, delDestructure, ts.Diagnostics.Remove_destructuring, fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)]; } + var delVar = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteFullVariableStatement(t, sourceFile, startToken, /*deleted*/ undefined); }); + if (delVar.length) { + return [codefix.createCodeFixAction(fixName, delVar, ts.Diagnostics.Remove_variable_statement, fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)]; + } var token = getToken(sourceFile, ts.textSpanEnd(context.span)); var result = []; - var deletion = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteDeclaration(t, sourceFile, token, /*deleted*/ undefined); }); + var deletion = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteDeclaration(t, sourceFile, token, /*deleted*/ undefined, checker, /*isFixAll*/ false); }); if (deletion.length) { result.push(codefix.createCodeFixAction(fixName, deletion, [ts.Diagnostics.Remove_declaration_for_Colon_0, token.getText(sourceFile)], fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)); } @@ -101688,9 +102319,11 @@ var ts; fixIds: [fixIdPrefix, fixIdDelete], getAllCodeActions: function (context) { // Track a set of deleted nodes that may be ancestors of other marked for deletion -- only delete the ancestors. - var deleted = new NodeSet(); + var deleted = new ts.NodeSet(); + var sourceFile = context.sourceFile, program = context.program; + var checker = program.getTypeChecker(); return codefix.codeFixAll(context, errorCodes, function (changes, diag) { - var sourceFile = context.sourceFile; + var startToken = ts.getTokenAtPosition(sourceFile, diag.start, /*includeJsDocComment*/ false); var token = ts.findPrecedingToken(ts.textSpanEnd(diag), diag.file); switch (context.fixId) { case fixIdPrefix: @@ -101702,14 +102335,13 @@ var ts; // Ignore if this range was already deleted. if (deleted.some(function (d) { return ts.rangeContainsPosition(d, diag.start); })) break; - var importDecl = tryGetFullImport(diag.file, diag.start); + var importDecl = tryGetFullImport(startToken); if (importDecl) { changes.deleteNode(sourceFile, importDecl); } - else { - if (!tryDeleteFullDestructure(changes, sourceFile, diag.start, deleted)) { - tryDeleteDeclaration(changes, sourceFile, token, deleted); - } + else if (!tryDeleteFullDestructure(changes, sourceFile, startToken, deleted, checker, /*isFixAll*/ true) && + !tryDeleteFullVariableStatement(changes, sourceFile, startToken, deleted)) { + tryDeleteDeclaration(changes, sourceFile, token, deleted, checker, /*isFixAll*/ true); } break; default: @@ -101719,25 +102351,25 @@ var ts; }, }); // Sometimes the diagnostic span is an entire ImportDeclaration, so we should remove the whole thing. - function tryGetFullImport(sourceFile, pos) { - var startToken = ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false); + function tryGetFullImport(startToken) { return startToken.kind === 91 /* ImportKeyword */ ? ts.tryCast(startToken.parent, ts.isImportDeclaration) : undefined; } - function tryDeleteFullDestructure(changes, sourceFile, pos, deletedAncestors) { - var startToken = ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false); + function tryDeleteFullDestructure(changes, sourceFile, startToken, deletedAncestors, checker, isFixAll) { if (startToken.kind !== 17 /* OpenBraceToken */ || !ts.isObjectBindingPattern(startToken.parent)) return false; - var decl = startToken.parent.parent; + var decl = ts.cast(startToken.parent, ts.isObjectBindingPattern).parent; switch (decl.kind) { - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: tryDeleteVariableDeclaration(changes, sourceFile, decl, deletedAncestors); break; - case 148 /* Parameter */: + case 149 /* Parameter */: + if (!mayDeleteParameter(decl, checker, isFixAll)) + break; if (deletedAncestors) deletedAncestors.add(decl); changes.deleteNodeInList(sourceFile, decl); break; - case 181 /* BindingElement */: + case 182 /* BindingElement */: if (deletedAncestors) deletedAncestors.add(decl); changes.deleteNode(sourceFile, decl); @@ -101747,6 +102379,16 @@ var ts; } return true; } + function tryDeleteFullVariableStatement(changes, sourceFile, startToken, deletedAncestors) { + var declarationList = ts.tryCast(startToken.parent, ts.isVariableDeclarationList); + if (declarationList && declarationList.getChildren(sourceFile)[0] === startToken) { + if (deletedAncestors) + deletedAncestors.add(declarationList); + changes.deleteNode(sourceFile, declarationList.parent.kind === 214 /* VariableStatement */ ? declarationList.parent : declarationList); + return true; + } + return false; + } function getToken(sourceFile, pos) { var token = ts.findPrecedingToken(pos, sourceFile, /*startNode*/ undefined, /*includeJsDoc*/ true); // this handles var ["computed"] = 12; @@ -101760,26 +102402,26 @@ var ts; } function canPrefix(token) { switch (token.parent.kind) { - case 148 /* Parameter */: + case 149 /* Parameter */: return true; - case 231 /* VariableDeclaration */: { + case 232 /* VariableDeclaration */: { var varDecl = token.parent; switch (varDecl.parent.parent.kind) { - case 221 /* ForOfStatement */: - case 220 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 221 /* ForInStatement */: return true; } } } return false; } - function tryDeleteDeclaration(changes, sourceFile, token, deletedAncestors) { + function tryDeleteDeclaration(changes, sourceFile, token, deletedAncestors, checker, isFixAll) { switch (token.kind) { case 71 /* Identifier */: - tryDeleteIdentifier(changes, sourceFile, token, deletedAncestors); + tryDeleteIdentifier(changes, sourceFile, token, deletedAncestors, checker, isFixAll); break; - case 151 /* PropertyDeclaration */: - case 245 /* NamespaceImport */: + case 152 /* PropertyDeclaration */: + case 246 /* NamespaceImport */: if (deletedAncestors) deletedAncestors.add(token.parent); changes.deleteNode(sourceFile, token.parent); @@ -101800,13 +102442,13 @@ var ts; changes.deleteNode(sourceFile, token.parent.parent); } } - function tryDeleteIdentifier(changes, sourceFile, identifier, deletedAncestors) { + function tryDeleteIdentifier(changes, sourceFile, identifier, deletedAncestors, checker, isFixAll) { var parent = identifier.parent; switch (parent.kind) { - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: tryDeleteVariableDeclaration(changes, sourceFile, parent, deletedAncestors); break; - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: var typeParameters = ts.getEffectiveTypeParameterDeclarations(parent.parent); if (typeParameters.length === 1) { var _a = ts.cast(typeParameters, ts.isNodeArray), pos = _a.pos, end = _a.end; @@ -101820,18 +102462,17 @@ var ts; changes.deleteNodeInList(sourceFile, parent); } break; - case 148 /* Parameter */: - var oldFunction = parent.parent; - if (ts.isSetAccessor(oldFunction)) { - // Setter must have a parameter + case 149 /* Parameter */: + if (!mayDeleteParameter(parent, checker, isFixAll)) break; - } + var oldFunction = parent.parent; if (ts.isArrowFunction(oldFunction) && oldFunction.parameters.length === 1) { // Lambdas with exactly one parameter are special because, after removal, there // must be an empty parameter list (i.e. `()`) and this won't necessarily be the // case if the parameter is simply removed (e.g. in `x => 1`). var newFunction = ts.updateArrowFunction(oldFunction, oldFunction.modifiers, oldFunction.typeParameters, - /*parameters*/ undefined, oldFunction.type, oldFunction.equalsGreaterThanToken, oldFunction.body); + /*parameters*/ undefined, // TODO: GH#18217 + oldFunction.type, oldFunction.equalsGreaterThanToken, oldFunction.body); // Drop leading and trailing trivia of the new function because we're only going // to replace the span (vs the full span) of the old function - the old leading // and trailing trivia will remain. @@ -101842,13 +102483,13 @@ var ts; changes.deleteNodeInList(sourceFile, parent); } break; - case 181 /* BindingElement */: { + case 182 /* BindingElement */: { var pattern = parent.parent; switch (pattern.kind) { - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: changes.deleteNode(sourceFile, parent); // Don't delete ',' break; - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: changes.deleteNodeInList(sourceFile, parent); break; default: @@ -101857,11 +102498,11 @@ var ts; break; } // handle case where 'import a = A;' - case 242 /* ImportEqualsDeclaration */: - var importEquals = ts.getAncestor(identifier, 242 /* ImportEqualsDeclaration */); + case 243 /* ImportEqualsDeclaration */: + var importEquals = ts.getAncestor(identifier, 243 /* ImportEqualsDeclaration */); changes.deleteNode(sourceFile, importEquals); break; - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: var namedImports = parent.parent; if (namedImports.elements.length === 1) { tryDeleteNamedImportBinding(changes, sourceFile, namedImports); @@ -101871,10 +102512,10 @@ var ts; changes.deleteNodeInList(sourceFile, parent); } break; - case 244 /* ImportClause */: // this covers both 'import |d|' and 'import |d,| *' + case 245 /* ImportClause */: // this covers both 'import |d|' and 'import |d,| *' var importClause = parent; if (!importClause.namedBindings) { // |import d from './file'| - changes.deleteNode(sourceFile, ts.getAncestor(importClause, 243 /* ImportDeclaration */)); + changes.deleteNode(sourceFile, ts.getAncestor(importClause, 244 /* ImportDeclaration */)); } else { // import |d,| * as ns from './file' @@ -101890,7 +102531,7 @@ var ts; } } break; - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: tryDeleteNamedImportBinding(changes, sourceFile, parent); break; default: @@ -101912,14 +102553,14 @@ var ts; // Delete the entire import declaration // |import * as ns from './file'| // |import { a } from './file'| - var importDecl = ts.getAncestor(namedBindings, 243 /* ImportDeclaration */); + var importDecl = ts.getAncestor(namedBindings, 244 /* ImportDeclaration */); changes.deleteNode(sourceFile, importDecl); } } // token.parent is a variableDeclaration function tryDeleteVariableDeclaration(changes, sourceFile, varDecl, deletedAncestors) { switch (varDecl.parent.parent.kind) { - case 219 /* ForStatement */: { + case 220 /* ForStatement */: { var forStatement = varDecl.parent.parent; var forInitializer = forStatement.initializer; if (forInitializer.declarations.length === 1) { @@ -101934,16 +102575,16 @@ var ts; } break; } - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: var forOfStatement = varDecl.parent.parent; - ts.Debug.assert(forOfStatement.initializer.kind === 232 /* VariableDeclarationList */); + ts.Debug.assert(forOfStatement.initializer.kind === 233 /* VariableDeclarationList */); var forOfInitializer = forOfStatement.initializer; if (deletedAncestors) deletedAncestors.add(forOfInitializer.declarations[0]); changes.replaceNode(sourceFile, forOfInitializer.declarations[0], ts.createObjectLiteral()); break; - case 220 /* ForInStatement */: - case 229 /* TryStatement */: + case 221 /* ForInStatement */: + case 230 /* TryStatement */: break; default: var variableStatement = varDecl.parent.parent; @@ -101959,18 +102600,34 @@ var ts; } } } - var NodeSet = /** @class */ (function () { - function NodeSet() { - this.map = ts.createMap(); + function mayDeleteParameter(p, checker, isFixAll) { + var parent = p.parent; + switch (parent.kind) { + case 154 /* MethodDeclaration */: + // Don't remove a parameter if this overrides something + var symbol = checker.getSymbolAtLocation(parent.name); + if (ts.isMemberSymbolInBaseType(symbol, checker)) + return false; + // falls through + case 155 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: { + // Can't remove a non-last parameter. Can remove a parameter in code-fix-all if future parameters are also unused. + var parameters = parent.parameters; + var index = parameters.indexOf(p); + ts.Debug.assert(index !== -1); + return isFixAll + ? parameters.slice(index + 1).every(function (p) { return p.name.kind === 71 /* Identifier */ && !p.symbol.isReferenced; }) + : index === parameters.length - 1; + } + case 157 /* SetAccessor */: + // Setter must have a parameter + return false; + default: + return ts.Debug.failBadSyntaxKind(parent); } - NodeSet.prototype.add = function (node) { - this.map.set(String(ts.getNodeId(node)), node); - }; - NodeSet.prototype.some = function (pred) { - return ts.forEachEntry(this.map, pred) || false; - }; - return NodeSet; - }()); + } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); /* @internal */ @@ -101995,7 +102652,7 @@ var ts; ts.Debug.assert(statement.getStart(sourceFile) === token.getStart(sourceFile)); var container = (ts.isBlock(statement.parent) ? statement.parent : statement).parent; switch (container.kind) { - case 216 /* IfStatement */: + case 217 /* IfStatement */: if (container.elseStatement) { if (ts.isBlock(statement.parent)) { changes.deleteNodeRange(sourceFile, ts.first(statement.parent.statements), ts.last(statement.parent.statements)); @@ -102006,8 +102663,8 @@ var ts; break; } // falls through - case 218 /* WhileStatement */: - case 219 /* ForStatement */: + case 219 /* WhileStatement */: + case 220 /* ForStatement */: changes.deleteNode(sourceFile, container); break; default: @@ -102027,13 +102684,15 @@ var ts; } function isPurelyTypeDeclaration(s) { switch (s.kind) { - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: return true; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return ts.getModuleInstanceState(s) !== 1 /* Instantiated */; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return ts.hasModifier(s, 2048 /* Const */); + default: + return false; } } function sliceAfter(arr, value) { @@ -102094,10 +102753,10 @@ var ts; var typeNode = info.typeNode, type = info.type; var original = typeNode.getText(sourceFile); var actions = [fix(type, fixIdPlain, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript)]; - if (typeNode.kind === 280 /* JSDocNullableType */) { + if (typeNode.kind === 281 /* JSDocNullableType */) { // for nullable types, suggest the flow-compatible `T | null | undefined` // in addition to the jsdoc/closure-compatible `T | null` - actions.push(fix(checker.getNullableType(type, 4096 /* Undefined */), fixIdNullable, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)); + actions.push(fix(checker.getNullableType(type, 8192 /* Undefined */), fixIdNullable, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)); } return actions; function fix(type, fixId, fixAllDescription) { @@ -102114,13 +102773,13 @@ var ts; if (!info) return; var typeNode = info.typeNode, type = info.type; - var fixedType = typeNode.kind === 280 /* JSDocNullableType */ && fixId === fixIdNullable ? checker.getNullableType(type, 4096 /* Undefined */) : type; + var fixedType = typeNode.kind === 281 /* JSDocNullableType */ && fixId === fixIdNullable ? checker.getNullableType(type, 8192 /* Undefined */) : type; doChange(changes, sourceFile, typeNode, fixedType, checker); }); } }); function doChange(changes, sourceFile, oldTypeNode, newType, checker) { - changes.replaceNode(sourceFile, oldTypeNode, checker.typeToTypeNode(newType, /*enclosingDeclaration*/ oldTypeNode)); + changes.replaceNode(sourceFile, oldTypeNode, checker.typeToTypeNode(newType, /*enclosingDeclaration*/ oldTypeNode)); // TODO: GH#18217 } function getInfo(sourceFile, pos, checker) { var decl = ts.findAncestor(ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false), isTypeContainer); @@ -102131,22 +102790,22 @@ var ts; // NOTE: Some locations are not handled yet: // MappedTypeNode.typeParameters and SignatureDeclaration.typeParameters, as well as CallExpression.typeArguments switch (node.kind) { - case 207 /* AsExpression */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 233 /* FunctionDeclaration */: - case 155 /* GetAccessor */: - case 159 /* IndexSignature */: - case 176 /* MappedType */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 148 /* Parameter */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 156 /* SetAccessor */: - case 236 /* TypeAliasDeclaration */: - case 189 /* TypeAssertionExpression */: - case 231 /* VariableDeclaration */: + case 208 /* AsExpression */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 234 /* FunctionDeclaration */: + case 156 /* GetAccessor */: + case 160 /* IndexSignature */: + case 177 /* MappedType */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 149 /* Parameter */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 157 /* SetAccessor */: + case 237 /* TypeAliasDeclaration */: + case 190 /* TypeAssertionExpression */: + case 232 /* VariableDeclaration */: return true; default: return false; @@ -102200,20 +102859,20 @@ var ts; } var insertBefore; switch (containingFunction.kind) { - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: insertBefore = containingFunction.name; break; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: insertBefore = ts.findChildOfKind(containingFunction, 89 /* FunctionKeyword */, sourceFile); break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: insertBefore = ts.findChildOfKind(containingFunction, 19 /* OpenParenToken */, sourceFile) || ts.first(containingFunction.parameters); break; default: return; } - return { + return insertBefore && { insertBefore: insertBefore, returnType: getReturnType(containingFunction) }; @@ -102316,17 +102975,17 @@ var ts; var type = checker.getWidenedType(checker.getTypeOfSymbolAtLocation(symbol, enclosingDeclaration)); var optional = !!(symbol.flags & 16777216 /* Optional */); switch (declaration.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 150 /* PropertySignature */: - case 151 /* PropertyDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 151 /* PropertySignature */: + case 152 /* PropertyDeclaration */: var typeNode = checker.typeToTypeNode(type, enclosingDeclaration); out(ts.createProperty( /*decorators*/ undefined, modifiers, name, optional ? ts.createToken(55 /* QuestionToken */) : undefined, typeNode, /*initializer*/ undefined)); break; - case 152 /* MethodSignature */: - case 153 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 154 /* MethodDeclaration */: // The signature for the implementation appears as an entry in `signatures` iff // there is only one signature. // If there are overloads and an implementation signature, it appears as an @@ -102366,7 +103025,7 @@ var ts; } } function signatureToMethodDeclaration(checker, signature, enclosingDeclaration, modifiers, name, optional, body) { - var signatureDeclaration = checker.signatureToSignatureDeclaration(signature, 153 /* MethodDeclaration */, enclosingDeclaration, 256 /* SuppressAnyReturnType */); + var signatureDeclaration = checker.signatureToSignatureDeclaration(signature, 154 /* MethodDeclaration */, enclosingDeclaration, 256 /* SuppressAnyReturnType */); if (!signatureDeclaration) { return undefined; } @@ -102508,7 +103167,7 @@ var ts; function getDiagnostic(errorCode, token) { switch (errorCode) { case ts.Diagnostics.Parameter_0_implicitly_has_an_1_type.code: - return ts.isSetAccessor(ts.getContainingFunction(token)) ? ts.Diagnostics.Infer_type_of_0_from_usage : ts.Diagnostics.Infer_parameter_types_from_usage; + return ts.isSetAccessor(ts.getContainingFunction(token)) ? ts.Diagnostics.Infer_type_of_0_from_usage : ts.Diagnostics.Infer_parameter_types_from_usage; // TODO: GH#18217 case ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type.code: return ts.Diagnostics.Infer_parameter_types_from_usage; default: @@ -102583,11 +103242,11 @@ var ts; } function isApplicableFunctionForInference(declaration) { switch (declaration.kind) { - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: return true; - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return !!declaration.name; } return false; @@ -102626,6 +103285,7 @@ var ts; var notAccessible = function () { typeIsAccessible = false; }; var res = checker.typeToTypeNode(type, enclosingScope, /*flags*/ undefined, { trackSymbol: function (symbol, declaration, meaning) { + // TODO: GH#18217 typeIsAccessible = typeIsAccessible && checker.isSymbolAccessible(symbol, declaration, meaning, /*shouldComputeAliasToMarkVisible*/ false).accessibility === 0 /* Accessible */; }, reportInaccessibleThisError: notAccessible, @@ -102645,11 +103305,11 @@ var ts; } function inferTypeForParametersFromUsage(containingFunction, sourceFile, program, cancellationToken) { switch (containingFunction.kind) { - case 154 /* Constructor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - var isConstructor = containingFunction.kind === 154 /* Constructor */; + case 155 /* Constructor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + var isConstructor = containingFunction.kind === 155 /* Constructor */; var searchToken = isConstructor ? ts.findChildOfKind(containingFunction, 123 /* ConstructorKeyword */, sourceFile) : containingFunction.name; @@ -102683,7 +103343,7 @@ var ts; cancellationToken.throwIfCancellationRequested(); inferTypeFromContext(reference, checker, usageContext); } - var isConstructor = declaration.kind === 154 /* Constructor */; + var isConstructor = declaration.kind === 155 /* Constructor */; var callContexts = isConstructor ? usageContext.constructContexts : usageContext.callContexts; return callContexts && declaration.parameters.map(function (parameter, parameterIndex) { var types = []; @@ -102715,21 +103375,21 @@ var ts; node = node.parent; } switch (node.parent.kind) { - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: usageContext.isNumber = true; break; - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: inferTypeFromPrefixUnaryExpressionContext(node.parent, usageContext); break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: inferTypeFromBinaryExpressionContext(node, node.parent, checker, usageContext); break; - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: inferTypeFromSwitchStatementLabelContext(node.parent, checker, usageContext); break; - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: if (node.parent.expression === node) { inferTypeFromCallExpressionContext(node.parent, checker, usageContext); } @@ -102737,13 +103397,13 @@ var ts; inferTypeFromContextualType(node, checker, usageContext); } break; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: inferTypeFromPropertyAccessExpressionContext(node.parent, checker, usageContext); break; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: inferTypeFromPropertyElementExpressionContext(node.parent, node, checker, usageContext); break; - case 231 /* VariableDeclaration */: { + case 232 /* VariableDeclaration */: { var _a = node.parent, name = _a.name, initializer = _a.initializer; if (node === name) { if (initializer) { // This can happen for `let x = null;` which still has an implicit-any error. @@ -102813,7 +103473,7 @@ var ts; case 29 /* GreaterThanToken */: case 31 /* GreaterThanEqualsToken */: var operandType = checker.getTypeAtLocation(parent.left === node ? parent.right : parent.left); - if (operandType.flags & 272 /* EnumLike */) { + if (operandType.flags & 544 /* EnumLike */) { addCandidateType(usageContext, operandType); } else { @@ -102823,13 +103483,13 @@ var ts; case 59 /* PlusEqualsToken */: case 37 /* PlusToken */: var otherOperandType = checker.getTypeAtLocation(parent.left === node ? parent.right : parent.left); - if (otherOperandType.flags & 272 /* EnumLike */) { + if (otherOperandType.flags & 544 /* EnumLike */) { addCandidateType(usageContext, otherOperandType); } - else if (otherOperandType.flags & 84 /* NumberLike */) { + else if (otherOperandType.flags & 168 /* NumberLike */) { usageContext.isNumber = true; } - else if (otherOperandType.flags & 34 /* StringLike */) { + else if (otherOperandType.flags & 68 /* StringLike */) { usageContext.isString = true; } else { @@ -102852,7 +103512,7 @@ var ts; // LogicalOperator case 54 /* BarBarToken */: if (node === parent.left && - (node.parent.parent.kind === 231 /* VariableDeclaration */ || ts.isAssignmentExpression(node.parent.parent, /*excludeCompoundAssignment*/ true))) { + (node.parent.parent.kind === 232 /* VariableDeclaration */ || ts.isAssignmentExpression(node.parent.parent, /*excludeCompoundAssignment*/ true))) { // var x = x || {}; // TODO: use getFalsyflagsOfType addCandidateType(usageContext, checker.getTypeAtLocation(parent.right)); @@ -102880,7 +103540,7 @@ var ts; } } inferTypeFromContext(parent, checker, callContext.returnType); - if (parent.kind === 186 /* CallExpression */) { + if (parent.kind === 187 /* CallExpression */) { (usageContext.callContexts || (usageContext.callContexts = [])).push(callContext); } else { @@ -102905,7 +103565,7 @@ var ts; var indexType = checker.getTypeAtLocation(parent); var indexUsageContext = {}; inferTypeFromContext(parent, checker, indexUsageContext); - if (indexType.flags & 84 /* NumberLike */) { + if (indexType.flags & 168 /* NumberLike */) { usageContext.numberIndexContext = indexUsageContext; } else { @@ -102927,7 +103587,7 @@ var ts; return checker.getWidenedType(checker.getUnionType(usageContext.candidateTypes.map(function (t) { return checker.getBaseTypeOfLiteralType(t); }), 2 /* Subtype */)); } else if (usageContext.properties && hasCallContext(usageContext.properties.get("then"))) { - var paramType = getParameterTypeFromCallContexts(0, usageContext.properties.get("then").callContexts, /*isRestParameter*/ false, checker); + var paramType = getParameterTypeFromCallContexts(0, usageContext.properties.get("then").callContexts, /*isRestParameter*/ false, checker); // TODO: GH#18217 var types = paramType.getCallSignatures().map(function (c) { return c.getReturnType(); }); return checker.createPromiseType(types.length ? checker.getUnionType(types, 2 /* Subtype */) : checker.getAnyType()); } @@ -102960,12 +103620,12 @@ var ts; } } if (usageContext.numberIndexContext) { - numberIndexInfo = checker.createIndexInfo(getTypeFromUsageContext(usageContext.numberIndexContext, checker), /*isReadonly*/ false); + numberIndexInfo = checker.createIndexInfo(getTypeFromUsageContext(usageContext.numberIndexContext, checker), /*isReadonly*/ false); // TODO: GH#18217 } if (usageContext.stringIndexContext) { stringIndexInfo = checker.createIndexInfo(getTypeFromUsageContext(usageContext.stringIndexContext, checker), /*isReadonly*/ false); } - return checker.createAnonymousType(/*symbol*/ undefined, members_6, callSignatures, constructSignatures, stringIndexInfo, numberIndexInfo); + return checker.createAnonymousType(/*symbol*/ undefined, members_6, callSignatures, constructSignatures, stringIndexInfo, numberIndexInfo); // TODO: GH#18217 } else { return undefined; @@ -103000,15 +103660,16 @@ var ts; parameters.push(symbol); } var returnType = getTypeFromUsageContext(callContext.returnType, checker) || checker.getVoidType(); + // TODO: GH#18217 return checker.createSignature(/*declaration*/ undefined, /*typeParameters*/ undefined, /*thisParameter*/ undefined, parameters, returnType, /*typePredicate*/ undefined, callContext.argumentTypes.length, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); } function addCandidateType(context, type) { - if (type && !(type.flags & 1 /* Any */) && !(type.flags & 16384 /* Never */)) { + if (type && !(type.flags & 1 /* Any */) && !(type.flags & 32768 /* Never */)) { (context.candidateTypes || (context.candidateTypes = [])).push(type); } } function hasCallContext(usageContext) { - return usageContext && usageContext.callContexts; + return !!usageContext && !!usageContext.callContexts; } })(InferFromReference || (InferFromReference = {})); })(codefix = ts.codefix || (ts.codefix = {})); @@ -103041,7 +103702,7 @@ var ts; var opts = context.program.getCompilerOptions(); var variations = []; // import Bluebird from "bluebird"; - variations.push(createAction(context, sourceFile, node, ts.makeImport(namespace.name, /*namedImports*/ undefined, node.moduleSpecifier))); + variations.push(createAction(context, sourceFile, node, ts.makeImport(namespace.name, /*namedImports*/ undefined, node.moduleSpecifier, context.preferences))); if (ts.getEmitModuleKind(opts) === ts.ModuleKind.CommonJS) { // import Bluebird = require("bluebird"); variations.push(createAction(context, sourceFile, node, ts.createImportEqualsDeclaration( @@ -103063,18 +103724,18 @@ var ts; }); function getActionsForUsageOfInvalidImport(context) { var sourceFile = context.sourceFile; - var targetKind = ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures.code === context.errorCode ? 186 /* CallExpression */ : 187 /* NewExpression */; + var targetKind = ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures.code === context.errorCode ? 187 /* CallExpression */ : 188 /* NewExpression */; var node = ts.findAncestor(ts.getTokenAtPosition(sourceFile, context.span.start, /*includeJsDocComment*/ false), function (a) { return a.kind === targetKind && a.getStart() === context.span.start && a.getEnd() === (context.span.start + context.span.length); }); if (!node) { return []; } var expr = node.expression; - var type = context.program.getTypeChecker().getTypeAtLocation(expr); + var type = context.program.getTypeChecker().getTypeAtLocation(expr); // TODO: GH#18217 if (!(type.symbol && type.symbol.originatingImport)) { return []; } var fixes = []; - var relatedImport = type.symbol.originatingImport; + var relatedImport = type.symbol.originatingImport; // TODO: GH#18217 if (!ts.isImportCall(relatedImport)) { ts.addRange(fixes, getCodeFixesForImportDeclaration(context, relatedImport)); } @@ -103151,8 +103812,9 @@ var ts; } function addUndefinedType(changeTracker, propertyDeclarationSourceFile, propertyDeclaration) { var undefinedTypeNode = ts.createKeywordTypeNode(140 /* UndefinedKeyword */); - var types = ts.isUnionTypeNode(propertyDeclaration.type) ? propertyDeclaration.type.types.concat(undefinedTypeNode) : [propertyDeclaration.type, undefinedTypeNode]; - changeTracker.replaceNode(propertyDeclarationSourceFile, propertyDeclaration.type, ts.createUnionTypeNode(types)); + var type = propertyDeclaration.type; // TODO: GH#18217 + var types = ts.isUnionTypeNode(type) ? type.types.concat(undefinedTypeNode) : [type, undefinedTypeNode]; + changeTracker.replaceNode(propertyDeclarationSourceFile, type, ts.createUnionTypeNode(types)); } function getActionForAddMissingInitializer(context, propertyDeclaration) { var checker = context.program.getTypeChecker(); @@ -103167,16 +103829,16 @@ var ts; changeTracker.replaceNode(propertyDeclarationSourceFile, propertyDeclaration, property); } function getInitializer(checker, propertyDeclaration) { - return getDefaultValueFromType(checker, checker.getTypeFromTypeNode(propertyDeclaration.type)); + return getDefaultValueFromType(checker, checker.getTypeFromTypeNode(propertyDeclaration.type)); // TODO: GH#18217 } function getDefaultValueFromType(checker, type) { - if (type.flags & 2 /* String */) { + if (type.flags & 4 /* String */) { return ts.createLiteral(""); } - else if (type.flags & 4 /* Number */) { + else if (type.flags & 8 /* Number */) { return ts.createNumericLiteral("0"); } - else if (type.flags & 8 /* Boolean */) { + else if (type.flags & 16 /* Boolean */) { return ts.createFalse(); } else if (type.isLiteral()) { @@ -103204,78 +103866,99 @@ var ts; (function (ts) { var moduleSpecifiers; (function (moduleSpecifiers) { + // Note: fromSourceFile is just for usesJsExtensionOnImports + function getModuleSpecifier(program, fromSourceFile, fromSourceFileName, toFileName, host, preferences) { + var info = getInfo(program.getCompilerOptions(), fromSourceFile, fromSourceFileName, host); + var compilerOptions = program.getCompilerOptions(); + return getGlobalModuleSpecifier(toFileName, info, host, compilerOptions) || + ts.first(getLocalModuleSpecifiers(toFileName, info, compilerOptions, preferences)); + } + moduleSpecifiers.getModuleSpecifier = getModuleSpecifier; // For each symlink/original for a module, returns a list of ways to import that file. function getModuleSpecifiers(moduleSymbol, program, importingSourceFile, host, preferences) { + var ambient = tryGetModuleNameFromAmbientModule(moduleSymbol); + if (ambient) + return [[ambient]]; var compilerOptions = program.getCompilerOptions(); - var baseUrl = compilerOptions.baseUrl, paths = compilerOptions.paths, rootDirs = compilerOptions.rootDirs; - var moduleResolutionKind = ts.getEmitModuleResolutionKind(compilerOptions); - var addJsExtension = usesJsExtensionOnImports(importingSourceFile); - var getCanonicalFileName = ts.hostGetCanonicalFileName(host); - var sourceDirectory = ts.getDirectoryPath(importingSourceFile.fileName); - return getAllModulePaths(program, moduleSymbol.valueDeclaration.getSourceFile()).map(function (moduleFileName) { - var global = tryGetModuleNameFromAmbientModule(moduleSymbol) - || tryGetModuleNameFromTypeRoots(compilerOptions, host, getCanonicalFileName, moduleFileName, addJsExtension) - || tryGetModuleNameAsNodeModule(compilerOptions, moduleFileName, host, getCanonicalFileName, sourceDirectory) - || rootDirs && tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName); - if (global) { - return [global]; - } - var relativePath = removeExtensionAndIndexPostFix(ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, moduleFileName, getCanonicalFileName)), moduleResolutionKind, addJsExtension); - if (!baseUrl || preferences.importModuleSpecifierPreference === "relative") { - return [relativePath]; - } - var relativeToBaseUrl = getRelativePathIfInDirectory(moduleFileName, baseUrl, getCanonicalFileName); - if (!relativeToBaseUrl) { - return [relativePath]; - } - var importRelativeToBaseUrl = removeExtensionAndIndexPostFix(relativeToBaseUrl, moduleResolutionKind, addJsExtension); - if (paths) { - var fromPaths = tryGetModuleNameFromPaths(ts.removeFileExtension(relativeToBaseUrl), importRelativeToBaseUrl, paths); - if (fromPaths) { - return [fromPaths]; - } - } - if (preferences.importModuleSpecifierPreference === "non-relative") { - return [importRelativeToBaseUrl]; - } - if (preferences.importModuleSpecifierPreference !== undefined) - ts.Debug.assertNever(preferences.importModuleSpecifierPreference); - if (isPathRelativeToParent(relativeToBaseUrl)) { - return [relativePath]; - } - /* - Prefer a relative import over a baseUrl import if it doesn't traverse up to baseUrl. - - Suppose we have: - baseUrl = /base - sourceDirectory = /base/a/b - moduleFileName = /base/foo/bar - Then: - relativePath = ../../foo/bar - getRelativePathNParents(relativePath) = 2 - pathFromSourceToBaseUrl = ../../ - getRelativePathNParents(pathFromSourceToBaseUrl) = 2 - 2 < 2 = false - In this case we should prefer using the baseUrl path "/a/b" instead of the relative path "../../foo/bar". - - Suppose we have: - baseUrl = /base - sourceDirectory = /base/foo/a - moduleFileName = /base/foo/bar - Then: - relativePath = ../a - getRelativePathNParents(relativePath) = 1 - pathFromSourceToBaseUrl = ../../ - getRelativePathNParents(pathFromSourceToBaseUrl) = 2 - 1 < 2 = true - In this case we should prefer using the relative path "../a" instead of the baseUrl path "foo/a". - */ - var pathFromSourceToBaseUrl = ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, baseUrl, getCanonicalFileName)); - var relativeFirst = getRelativePathNParents(relativePath) < getRelativePathNParents(pathFromSourceToBaseUrl); - return relativeFirst ? [relativePath, importRelativeToBaseUrl] : [importRelativeToBaseUrl, relativePath]; + var info = getInfo(compilerOptions, importingSourceFile, importingSourceFile.fileName, host); + var modulePaths = getAllModulePaths(program, moduleSymbol.valueDeclaration.getSourceFile()); + var global = ts.mapDefined(modulePaths, function (moduleFileName) { return getGlobalModuleSpecifier(moduleFileName, info, host, compilerOptions); }); + return global.length ? global.map(function (g) { return [g]; }) : modulePaths.map(function (moduleFileName) { + return getLocalModuleSpecifiers(moduleFileName, info, compilerOptions, preferences); }); } moduleSpecifiers.getModuleSpecifiers = getModuleSpecifiers; + // importingSourceFileName is separate because getEditsForFileRename may need to specify an updated path + function getInfo(compilerOptions, importingSourceFile, importingSourceFileName, host) { + var moduleResolutionKind = ts.getEmitModuleResolutionKind(compilerOptions); + var addJsExtension = usesJsExtensionOnImports(importingSourceFile); + var getCanonicalFileName = ts.hostGetCanonicalFileName(host); + var sourceDirectory = ts.getDirectoryPath(importingSourceFileName); + return { moduleResolutionKind: moduleResolutionKind, addJsExtension: addJsExtension, getCanonicalFileName: getCanonicalFileName, sourceDirectory: sourceDirectory }; + } + function getGlobalModuleSpecifier(moduleFileName, _a, host, compilerOptions) { + var addJsExtension = _a.addJsExtension, getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory; + return tryGetModuleNameFromTypeRoots(compilerOptions, host, getCanonicalFileName, moduleFileName, addJsExtension) + || tryGetModuleNameAsNodeModule(compilerOptions, moduleFileName, host, getCanonicalFileName, sourceDirectory) + || compilerOptions.rootDirs && tryGetModuleNameFromRootDirs(compilerOptions.rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName); + } + function getLocalModuleSpecifiers(moduleFileName, _a, compilerOptions, preferences) { + var moduleResolutionKind = _a.moduleResolutionKind, addJsExtension = _a.addJsExtension, getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory; + var baseUrl = compilerOptions.baseUrl, paths = compilerOptions.paths; + var relativePath = removeExtensionAndIndexPostFix(ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, moduleFileName, getCanonicalFileName)), moduleResolutionKind, addJsExtension); + if (!baseUrl || preferences.importModuleSpecifierPreference === "relative") { + return [relativePath]; + } + var relativeToBaseUrl = getRelativePathIfInDirectory(moduleFileName, baseUrl, getCanonicalFileName); + if (!relativeToBaseUrl) { + return [relativePath]; + } + var importRelativeToBaseUrl = removeExtensionAndIndexPostFix(relativeToBaseUrl, moduleResolutionKind, addJsExtension); + if (paths) { + var fromPaths = tryGetModuleNameFromPaths(ts.removeFileExtension(relativeToBaseUrl), importRelativeToBaseUrl, paths); + if (fromPaths) { + return [fromPaths]; + } + } + if (preferences.importModuleSpecifierPreference === "non-relative") { + return [importRelativeToBaseUrl]; + } + if (preferences.importModuleSpecifierPreference !== undefined) + ts.Debug.assertNever(preferences.importModuleSpecifierPreference); + if (isPathRelativeToParent(relativeToBaseUrl)) { + return [relativePath]; + } + /* + Prefer a relative import over a baseUrl import if it doesn't traverse up to baseUrl. + + Suppose we have: + baseUrl = /base + sourceDirectory = /base/a/b + moduleFileName = /base/foo/bar + Then: + relativePath = ../../foo/bar + getRelativePathNParents(relativePath) = 2 + pathFromSourceToBaseUrl = ../../ + getRelativePathNParents(pathFromSourceToBaseUrl) = 2 + 2 < 2 = false + In this case we should prefer using the baseUrl path "/a/b" instead of the relative path "../../foo/bar". + + Suppose we have: + baseUrl = /base + sourceDirectory = /base/foo/a + moduleFileName = /base/foo/bar + Then: + relativePath = ../a + getRelativePathNParents(relativePath) = 1 + pathFromSourceToBaseUrl = ../../ + getRelativePathNParents(pathFromSourceToBaseUrl) = 2 + 1 < 2 = true + In this case we should prefer using the relative path "../a" instead of the baseUrl path "foo/a". + */ + var pathFromSourceToBaseUrl = ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, baseUrl, getCanonicalFileName)); + var relativeFirst = getRelativePathNParents(relativePath) < getRelativePathNParents(pathFromSourceToBaseUrl); + return relativeFirst ? [relativePath, importRelativeToBaseUrl] : [importRelativeToBaseUrl, relativePath]; + } function usesJsExtensionOnImports(_a) { var imports = _a.imports; return ts.firstDefined(imports, function (_a) { @@ -103369,14 +104052,16 @@ var ts; // If the module could be imported by a directory name, use that directory's name var moduleSpecifier = getDirectoryOrExtensionlessFileName(moduleFileName); // Get a path that's relative to node_modules or the importing file's path - moduleSpecifier = getNodeResolvablePath(moduleSpecifier); + // if node_modules folder is in this folder or any of its parent folders, no need to keep it. + if (!ts.startsWith(sourceDirectory, moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex))) + return undefined; // If the module was found in @types, get the actual Node package name - return ts.getPackageNameFromAtTypesDirectory(moduleSpecifier); + return ts.getPackageNameFromAtTypesDirectory(moduleSpecifier.substring(parts.topLevelPackageNameIndex + 1)); function getDirectoryOrExtensionlessFileName(path) { // If the file is the main module, it can be imported by the package name var packageRootPath = path.substring(0, parts.packageRootIndex); var packageJsonPath = ts.combinePaths(packageRootPath, "package.json"); - if (host.fileExists(packageJsonPath)) { + if (host.fileExists(packageJsonPath)) { // TODO: GH#18217 var packageJsonContent = JSON.parse(host.readFile(packageJsonPath)); if (packageJsonContent) { var mainFileRelative = packageJsonContent.typings || packageJsonContent.types || packageJsonContent.main; @@ -103396,16 +104081,6 @@ var ts; } return fullModulePathWithoutExtension; } - function getNodeResolvablePath(path) { - var basePath = path.substring(0, parts.topLevelNodeModulesIndex); - if (sourceDirectory.indexOf(basePath) === 0) { - // if node_modules folder is in this folder or any of its parent folders, no need to keep it. - return path.substring(parts.topLevelPackageNameIndex + 1); - } - else { - return ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, path, getCanonicalFileName)); - } - } } function getNodeModulePathParts(fullPath) { // If fullPath can't be valid module file within node_modules, returns undefined. @@ -103461,7 +104136,7 @@ var ts; } function getPathRelativeToRootDirs(path, rootDirs, getCanonicalFileName) { return ts.firstDefined(rootDirs, function (rootDir) { - var relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); + var relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); // TODO: GH#18217 return isPathRelativeToParent(relativePath) ? undefined : relativePath; }); } @@ -103527,14 +104202,14 @@ var ts; var info = getInfo(sourceFile, start); if (!info) return undefined; - var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, info); }); + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, info, context.preferences); }); return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Convert_to_default_import, fixId, ts.Diagnostics.Convert_all_to_default_imports)]; }, fixIds: [fixId], getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { var info = getInfo(diag.file, diag.start); if (info) - doChange(changes, diag.file, info); + doChange(changes, diag.file, info, context.preferences); }); }, }); function getInfo(sourceFile, pos) { @@ -103550,8 +104225,8 @@ var ts; return { importNode: importNode, name: name, moduleSpecifier: importNode.moduleSpecifier }; } } - function doChange(changes, sourceFile, info) { - changes.replaceNode(sourceFile, info.importNode, ts.makeImport(info.name, /*namedImports*/ undefined, info.moduleSpecifier)); + function doChange(changes, sourceFile, info, preferences) { + changes.replaceNode(sourceFile, info.importNode, ts.makeImport(info.name, /*namedImports*/ undefined, info.moduleSpecifier, preferences)); } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -103579,7 +104254,7 @@ var ts; function getImportTypeNode(sourceFile, pos) { var token = ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false); ts.Debug.assert(token.kind === 91 /* ImportKeyword */); - ts.Debug.assert(token.parent.kind === 178 /* ImportType */); + ts.Debug.assert(token.parent.kind === 179 /* ImportType */); return token.parent; } function doChange(changes, sourceFile, importType) { @@ -103590,6 +104265,187 @@ var ts; })(ts || (ts = {})); /* @internal */ var ts; +(function (ts) { + var codefix; + (function (codefix) { + var fixIdAddMissingTypeof = "fixConvertToMappedObjectType"; + var fixId = fixIdAddMissingTypeof; + var errorCodes = [ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead.code]; + codefix.registerCodeFix({ + errorCodes: errorCodes, + getCodeActions: function (context) { + var sourceFile = context.sourceFile, span = context.span; + var info = getInfo(sourceFile, span.start); + if (!info) + return undefined; + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, info); }); + var name = ts.idText(info.container.name); + return [codefix.createCodeFixAction(fixId, changes, [ts.Diagnostics.Convert_0_to_mapped_object_type, name], fixId, [ts.Diagnostics.Convert_0_to_mapped_object_type, name])]; + }, + fixIds: [fixId], + getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { + var info = getInfo(diag.file, diag.start); + if (info) + doChange(changes, diag.file, info); + }); } + }); + function getInfo(sourceFile, pos) { + var token = ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false); + var indexSignature = ts.cast(token.parent.parent, ts.isIndexSignatureDeclaration); + if (ts.isClassDeclaration(indexSignature.parent)) + return undefined; + var container = ts.isInterfaceDeclaration(indexSignature.parent) ? indexSignature.parent : ts.cast(indexSignature.parent.parent, ts.isTypeAliasDeclaration); + return { indexSignature: indexSignature, container: container }; + } + function createTypeAliasFromInterface(declaration, type) { + return ts.createTypeAliasDeclaration(declaration.decorators, declaration.modifiers, declaration.name, declaration.typeParameters, type); + } + function doChange(changes, sourceFile, _a) { + var indexSignature = _a.indexSignature, container = _a.container; + var members = ts.isInterfaceDeclaration(container) ? container.members : container.type.members; + var otherMembers = members.filter(function (member) { return !ts.isIndexSignatureDeclaration(member); }); + var parameter = ts.first(indexSignature.parameters); + var mappedTypeParameter = ts.createTypeParameterDeclaration(ts.cast(parameter.name, ts.isIdentifier), parameter.type); + var mappedIntersectionType = ts.createMappedTypeNode(ts.hasReadonlyModifier(indexSignature) ? ts.createModifier(132 /* ReadonlyKeyword */) : undefined, mappedTypeParameter, indexSignature.questionToken, indexSignature.type); + var intersectionType = ts.createIntersectionTypeNode(ts.getAllSuperTypeNodes(container).concat([ + mappedIntersectionType + ], (otherMembers.length ? [ts.createTypeLiteralNode(otherMembers)] : ts.emptyArray))); + changes.replaceNode(sourceFile, container, createTypeAliasFromInterface(container, intersectionType)); + } + })(codefix = ts.codefix || (ts.codefix = {})); +})(ts || (ts = {})); +/* @internal */ +var ts; +(function (ts) { + var refactor; + (function (refactor) { + var generateGetAccessorAndSetAccessor; + (function (generateGetAccessorAndSetAccessor) { + var refactorName = "Convert import"; + var actionNameNamespaceToNamed = "Convert namespace import to named imports"; + var actionNameNamedToNamespace = "Convert named imports to namespace import"; + refactor.registerRefactor(refactorName, { + getAvailableActions: function (context) { + var i = getImportToConvert(context); + if (!i) + return undefined; + var description = i.kind === 246 /* NamespaceImport */ ? ts.Diagnostics.Convert_namespace_import_to_named_imports.message : ts.Diagnostics.Convert_named_imports_to_namespace_import.message; + var actionName = i.kind === 246 /* NamespaceImport */ ? actionNameNamespaceToNamed : actionNameNamedToNamespace; + return [{ name: refactorName, description: description, actions: [{ name: actionName, description: description }] }]; + }, + getEditsForAction: function (context, actionName) { + ts.Debug.assert(actionName === actionNameNamespaceToNamed || actionName === actionNameNamedToNamespace); + var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, t, ts.Debug.assertDefined(getImportToConvert(context))); }); + return { edits: edits, renameFilename: undefined, renameLocation: undefined }; + } + }); + // Can convert imports of the form `import * as m from "m";` or `import d, { x, y } from "m";`. + function getImportToConvert(context) { + var file = context.file; + var span = ts.getRefactorContextSpan(context); + var token = ts.getTokenAtPosition(file, span.start, /*includeJsDocComment*/ false); + var importDecl = ts.getParentNodeInSpan(token, file, span); + if (!importDecl || !ts.isImportDeclaration(importDecl)) + return undefined; + var importClause = importDecl.importClause; + return importClause && importClause.namedBindings; + } + function doChange(sourceFile, program, changes, toConvert) { + var checker = program.getTypeChecker(); + if (toConvert.kind === 246 /* NamespaceImport */) { + doChangeNamespaceToNamed(sourceFile, checker, changes, toConvert, ts.getAllowSyntheticDefaultImports(program.getCompilerOptions())); + } + else { + doChangeNamedToNamespace(sourceFile, checker, changes, toConvert); + } + } + function doChangeNamespaceToNamed(sourceFile, checker, changes, toConvert, allowSyntheticDefaultImports) { + var usedAsNamespaceOrDefault = false; + var nodesToReplace = []; + var conflictingNames = ts.createMap(); + ts.FindAllReferences.Core.eachSymbolReferenceInFile(toConvert.name, checker, sourceFile, function (id) { + if (!ts.isPropertyAccessExpression(id.parent)) { + usedAsNamespaceOrDefault = true; + } + else { + var parent = ts.cast(id.parent, ts.isPropertyAccessExpression); + var exportName = parent.name.text; + if (checker.resolveName(exportName, id, 67108863 /* All */, /*excludeGlobals*/ true)) { + conflictingNames.set(exportName, true); + } + ts.Debug.assert(parent.expression === id); + nodesToReplace.push(parent); + } + }); + // We may need to change `mod.x` to `_x` to avoid a name conflict. + var exportNameToImportName = ts.createMap(); + for (var _i = 0, nodesToReplace_1 = nodesToReplace; _i < nodesToReplace_1.length; _i++) { + var propertyAccess = nodesToReplace_1[_i]; + var exportName = propertyAccess.name.text; + var importName = exportNameToImportName.get(exportName); + if (importName === undefined) { + exportNameToImportName.set(exportName, importName = conflictingNames.has(exportName) ? ts.getUniqueName(exportName, sourceFile) : exportName); + } + changes.replaceNode(sourceFile, propertyAccess, ts.createIdentifier(importName)); + } + var importSpecifiers = []; + exportNameToImportName.forEach(function (name, propertyName) { + importSpecifiers.push(ts.createImportSpecifier(name === propertyName ? undefined : ts.createIdentifier(propertyName), ts.createIdentifier(name))); + }); + var importDecl = toConvert.parent.parent; + if (usedAsNamespaceOrDefault && !allowSyntheticDefaultImports) { + // Need to leave the namespace import alone + changes.insertNodeAfter(sourceFile, importDecl, updateImport(importDecl, /*defaultImportName*/ undefined, importSpecifiers)); + } + else { + changes.replaceNode(sourceFile, importDecl, updateImport(importDecl, usedAsNamespaceOrDefault ? ts.createIdentifier(toConvert.name.text) : undefined, importSpecifiers)); + } + } + function doChangeNamedToNamespace(sourceFile, checker, changes, toConvert) { + var importDecl = toConvert.parent.parent; + var moduleSpecifier = importDecl.moduleSpecifier; + var preferredName = moduleSpecifier && ts.isStringLiteral(moduleSpecifier) ? ts.codefix.moduleSpecifierToValidIdentifier(moduleSpecifier.text, 6 /* ESNext */) : "module"; + var namespaceNameConflicts = toConvert.elements.some(function (element) { + return ts.FindAllReferences.Core.eachSymbolReferenceInFile(element.name, checker, sourceFile, function (id) { + return !!checker.resolveName(preferredName, id, 67108863 /* All */, /*excludeGlobals*/ true); + }) || false; + }); + var namespaceImportName = namespaceNameConflicts ? ts.getUniqueName(preferredName, sourceFile) : preferredName; + var neededNamedImports = []; + var _loop_22 = function (element) { + var propertyName = (element.propertyName || element.name).text; + ts.FindAllReferences.Core.eachSymbolReferenceInFile(element.name, checker, sourceFile, function (id) { + var access = ts.createPropertyAccess(ts.createIdentifier(namespaceImportName), propertyName); + if (ts.isShorthandPropertyAssignment(id.parent)) { + changes.replaceNode(sourceFile, id.parent, ts.createPropertyAssignment(id.text, access)); + } + else if (ts.isExportSpecifier(id.parent) && !id.parent.propertyName) { + if (!neededNamedImports.some(function (n) { return n.name === element.name; })) { + neededNamedImports.push(ts.createImportSpecifier(element.propertyName && ts.createIdentifier(element.propertyName.text), ts.createIdentifier(element.name.text))); + } + } + else { + changes.replaceNode(sourceFile, id, access); + } + }); + }; + for (var _i = 0, _a = toConvert.elements; _i < _a.length; _i++) { + var element = _a[_i]; + _loop_22(element); + } + changes.replaceNode(sourceFile, toConvert, ts.createNamespaceImport(ts.createIdentifier(namespaceImportName))); + if (neededNamedImports.length) { + changes.insertNodeAfter(sourceFile, toConvert.parent.parent, updateImport(importDecl, /*defaultImportName*/ undefined, neededNamedImports)); + } + } + function updateImport(old, defaultImportName, elements) { + return ts.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.createImportClause(defaultImportName, elements && elements.length ? ts.createNamedImports(elements) : undefined), old.moduleSpecifier); + } + })(generateGetAccessorAndSetAccessor = refactor.generateGetAccessorAndSetAccessor || (refactor.generateGetAccessorAndSetAccessor = {})); + })(refactor = ts.refactor || (ts.refactor = {})); +})(ts || (ts = {})); +/* @internal */ +var ts; (function (ts) { var refactor; (function (refactor) { @@ -103672,7 +104528,7 @@ var ts; /* Exported for tests */ function getEditsForAction(context, actionName) { var rangeToExtract = getRangeToExtract(context.file, ts.getRefactorContextSpan(context)); - var targetRange = rangeToExtract.targetRange; + var targetRange = rangeToExtract.targetRange; // TODO:GH#18217 var parsedFunctionIndexMatch = /^function_scope_(\d+)$/.exec(actionName); if (parsedFunctionIndexMatch) { var index = +parsedFunctionIndexMatch[1]; @@ -103743,9 +104599,9 @@ var ts; } // Walk up starting from the the start position until we find a non-SourceFile node that subsumes the selected span. // This may fail (e.g. you select two statements in the root of a source file) - var start = getParentNodeInSpan(ts.getTokenAtPosition(sourceFile, span.start, /*includeJsDocComment*/ false), sourceFile, span); + var start = ts.getParentNodeInSpan(ts.getTokenAtPosition(sourceFile, span.start, /*includeJsDocComment*/ false), sourceFile, span); // Do the same for the ending position - var end = getParentNodeInSpan(ts.findTokenOnLeftOfPosition(sourceFile, ts.textSpanEnd(span)), sourceFile, span); + var end = ts.getParentNodeInSpan(ts.findTokenOnLeftOfPosition(sourceFile, ts.textSpanEnd(span)), sourceFile, span); var declarations = []; // We'll modify these flags as we walk the tree to collect data // about what things need to be done as part of the extraction. @@ -103764,7 +104620,8 @@ var ts; return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractRange)] }; } var statements = []; - for (var _i = 0, _a = start.parent.statements; _i < _a.length; _i++) { + var start2 = start; // TODO: GH#18217 Need to alias `start` to get this to compile. See https://github.com/Microsoft/TypeScript/issues/19955#issuecomment-344118248 + for (var _i = 0, _a = start2.parent.statements; _i < _a.length; _i++) { var statement = _a[_i]; if (statement === start || statements.length) { var errors_1 = checkNode(statement); @@ -103797,7 +104654,7 @@ var ts; if (errors) { return { errors: errors }; } - return { targetRange: { range: getStatementOrExpressionRange(node), facts: rangeFacts, declarations: declarations } }; + return { targetRange: { range: getStatementOrExpressionRange(node), facts: rangeFacts, declarations: declarations } }; // TODO: GH#18217 /** * Attempt to refine the extraction node (generally, by shrinking it) to produce better results. * @param node The unrefined extraction node. @@ -103839,20 +104696,20 @@ var ts; function checkForStaticContext(nodeToCheck, containingClass) { var current = nodeToCheck; while (current !== containingClass) { - if (current.kind === 151 /* PropertyDeclaration */) { + if (current.kind === 152 /* PropertyDeclaration */) { if (ts.hasModifier(current, 32 /* Static */)) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 148 /* Parameter */) { + else if (current.kind === 149 /* Parameter */) { var ctorOrMethod = ts.getContainingFunction(current); - if (ctorOrMethod.kind === 154 /* Constructor */) { + if (ctorOrMethod.kind === 155 /* Constructor */) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 153 /* MethodDeclaration */) { + else if (current.kind === 154 /* MethodDeclaration */) { if (ts.hasModifier(current, 32 /* Static */)) { rangeFacts |= RangeFacts.InStaticRegion; } @@ -103895,8 +104752,11 @@ var ts; return true; } if (ts.isDeclaration(node)) { - var declaringNode = (node.kind === 231 /* VariableDeclaration */) ? node.parent.parent : node; + var declaringNode = (node.kind === 232 /* VariableDeclaration */) ? node.parent.parent : node; if (ts.hasModifier(declaringNode, 1 /* Export */)) { + // TODO: GH#18217 Silly to use `errors ||` since it's definitely not defined (see top of `visit`) + // Also, if we're only pushing one error, just use `let error: Diagnostic | undefined`! + // Also TODO: GH#19956 (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractExportedEntity)); return true; } @@ -103904,15 +104764,15 @@ var ts; } // Some things can't be extracted in certain situations switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractImport)); return true; case 97 /* SuperKeyword */: // For a super *constructor call*, we have to be extracting the entire class, // but a super *method call* simply implies a 'this' reference - if (node.parent.kind === 186 /* CallExpression */) { + if (node.parent.kind === 187 /* CallExpression */) { // Super constructor call - var containingClass_1 = ts.getContainingClass(node); + var containingClass_1 = ts.getContainingClass(node); // TODO:GH#18217 if (containingClass_1.pos < span.start || containingClass_1.end >= (span.start + span.length)) { (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractSuper)); return true; @@ -103923,10 +104783,10 @@ var ts; } break; } - if (!node || ts.isFunctionLikeDeclaration(node) || ts.isClassLike(node)) { + if (ts.isFunctionLikeDeclaration(node) || ts.isClassLike(node)) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: if (ts.isSourceFile(node.parent) && node.parent.externalModuleIndicator === undefined) { // You cannot extract global declarations (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.functionWillNotBeVisibleInTheNewScope)); @@ -103938,20 +104798,20 @@ var ts; } var savedPermittedJumps = permittedJumps; switch (node.kind) { - case 216 /* IfStatement */: + case 217 /* IfStatement */: permittedJumps = 0 /* None */; break; - case 229 /* TryStatement */: + case 230 /* TryStatement */: // forbid all jumps inside try blocks permittedJumps = 0 /* None */; break; - case 212 /* Block */: - if (node.parent && node.parent.kind === 229 /* TryStatement */ && node.parent.finallyBlock === node) { + case 213 /* Block */: + if (node.parent && node.parent.kind === 230 /* TryStatement */ && node.parent.finallyBlock === node) { // allow unconditional returns from finally blocks permittedJumps = 4 /* Return */; } break; - case 265 /* CaseClause */: + case 266 /* CaseClause */: // allow unlabeled break inside case clauses permittedJumps |= 1 /* Break */; break; @@ -103963,11 +104823,11 @@ var ts; break; } switch (node.kind) { - case 173 /* ThisType */: + case 174 /* ThisType */: case 99 /* ThisKeyword */: rangeFacts |= RangeFacts.UsesThis; break; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: { var label = node.label; (seenLabels || (seenLabels = [])).push(label.escapedText); @@ -103975,8 +104835,8 @@ var ts; seenLabels.pop(); break; } - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: { var label = node.label; if (label) { @@ -103986,20 +104846,20 @@ var ts; } } else { - if (!(permittedJumps & (node.kind === 223 /* BreakStatement */ ? 1 /* Break */ : 2 /* Continue */))) { + if (!(permittedJumps & (node.kind === 224 /* BreakStatement */ ? 1 /* Break */ : 2 /* Continue */))) { // attempt to break or continue in a forbidden context (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractRangeContainingConditionalBreakOrContinueStatements)); } } break; } - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: rangeFacts |= RangeFacts.IsAsyncFunction; break; - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: rangeFacts |= RangeFacts.IsGenerator; break; - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: if (permittedJumps & 4 /* Return */) { rangeFacts |= RangeFacts.HasReturn; } @@ -104053,7 +104913,7 @@ var ts; while (true) { current = current.parent; // A function parameter's initializer is actually in the outer scope, not the function declaration - if (current.kind === 148 /* Parameter */) { + if (current.kind === 149 /* Parameter */) { // Skip all the way to the outer scope of the function that declared this parameter current = ts.findAncestor(current, function (parent) { return ts.isFunctionLikeDeclaration(parent); }).parent; } @@ -104064,7 +104924,7 @@ var ts; // * Module/namespace or source file if (isScope(current)) { scopes.push(current); - if (current.kind === 273 /* SourceFile */) { + if (current.kind === 274 /* SourceFile */) { return scopes; } } @@ -104073,7 +104933,7 @@ var ts; function getFunctionExtractionAtIndex(targetRange, context, requestedChangesIndex) { var _a = getPossibleExtractionsWorker(targetRange, context), scopes = _a.scopes, _b = _a.readsAndWrites, target = _b.target, usagesPerScope = _b.usagesPerScope, functionErrorsPerScope = _b.functionErrorsPerScope, exposedVariableDeclarations = _b.exposedVariableDeclarations; ts.Debug.assert(!functionErrorsPerScope[requestedChangesIndex].length, "The extraction went missing? How?"); - context.cancellationToken.throwIfCancellationRequested(); + context.cancellationToken.throwIfCancellationRequested(); // TODO: GH#18217 return extractFunctionInScope(target, scopes[requestedChangesIndex], usagesPerScope[requestedChangesIndex], exposedVariableDeclarations, targetRange, context); } function getConstantExtractionAtIndex(targetRange, context, requestedChangesIndex) { @@ -104154,32 +105014,32 @@ var ts; } function getDescriptionForFunctionLikeDeclaration(scope) { switch (scope.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: return "constructor"; - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: return scope.name ? "function '" + scope.name.text + "'" : "anonymous function"; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return "arrow function"; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return "method '" + scope.name.getText(); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: return "'get " + scope.name.getText() + "'"; - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return "'set " + scope.name.getText() + "'"; default: - ts.Debug.assertNever(scope); + throw ts.Debug.assertNever(scope); } } function getDescriptionForClassLikeDeclaration(scope) { - return scope.kind === 234 /* ClassDeclaration */ + return scope.kind === 235 /* ClassDeclaration */ ? scope.name ? "class '" + scope.name.text + "'" : "anonymous class declaration" : scope.name ? "class expression '" + scope.name.text + "'" : "anonymous class expression"; } function getDescriptionForModuleLikeDeclaration(scope) { - return scope.kind === 239 /* ModuleBlock */ + return scope.kind === 240 /* ModuleBlock */ ? "namespace '" + scope.parent.name.getText() + "'" : scope.externalModuleIndicator ? 0 /* Module */ : 1 /* Global */; } @@ -104197,7 +105057,7 @@ var ts; var checker = context.program.getTypeChecker(); // Make a unique name for the extracted function var file = scope.getSourceFile(); - var functionNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newMethod" : "newFunction", file.text); + var functionNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newMethod" : "newFunction", file); var isJS = ts.isInJavaScriptFile(scope); var functionName = ts.createIdentifier(functionNameText); var returnType; @@ -104238,7 +105098,7 @@ var ts; // to avoid problems when there are literal types present if (ts.isExpression(node) && !isJS) { var contextualType = checker.getContextualType(node); - returnType = checker.typeToTypeNode(contextualType, scope, 1 /* NoTruncation */); + returnType = checker.typeToTypeNode(contextualType, scope, 1 /* NoTruncation */); // TODO: GH#18217 } var _b = transformFunctionBody(node, exposedVariableDeclarations, writes, substitutions, !!(range.facts & RangeFacts.HasReturn)), body = _b.body, returnValueProperty = _b.returnValueProperty; ts.suppressLeadingAndTrailingTrivia(body); @@ -104306,7 +105166,8 @@ var ts; /*propertyName*/ undefined, /*name*/ ts.getSynthesizedDeepClone(variableDeclaration.name))); // Being returned through an object literal will have widened the type. - var variableType = checker.typeToTypeNode(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(variableDeclaration)), scope, 1 /* NoTruncation */); + var variableType = checker.typeToTypeNode(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(variableDeclaration)), // TODO: GH#18217 + scope, 1 /* NoTruncation */); typeElements.push(ts.createPropertySignature( /*modifiers*/ undefined, /*name*/ variableDeclaration.symbol.name, @@ -104413,11 +105274,11 @@ var ts; var checker = context.program.getTypeChecker(); // Make a unique name for the extracted variable var file = scope.getSourceFile(); - var localNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newProperty" : "newLocal", file.text); + var localNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newProperty" : "newLocal", file); var isJS = ts.isInJavaScriptFile(scope); var variableType = isJS || !checker.isContextSensitive(node) ? undefined - : checker.typeToTypeNode(checker.getContextualType(node), scope, 1 /* NoTruncation */); + : checker.typeToTypeNode(checker.getContextualType(node), scope, 1 /* NoTruncation */); // TODO: GH#18217 var initializer = transformConstantInitializer(node, substitutions); ts.suppressLeadingAndTrailingTrivia(initializer); var changeTracker = ts.textChanges.ChangeTracker.fromContext(context); @@ -104433,7 +105294,7 @@ var ts; /*decorators*/ undefined, modifiers, localNameText, /*questionToken*/ undefined, variableType, initializer); var localReference = ts.createPropertyAccess(rangeFacts & RangeFacts.InStaticRegion - ? ts.createIdentifier(scope.name.getText()) + ? ts.createIdentifier(scope.name.getText()) // TODO: GH#18217 : ts.createThis(), ts.createIdentifier(localNameText)); // Declare var maxInsertionPos = node.pos; @@ -104457,7 +105318,7 @@ var ts; var localReference = ts.createIdentifier(localNameText); changeTracker.replaceNode(context.file, node, localReference); } - else if (node.parent.kind === 215 /* ExpressionStatement */ && scope === ts.findAncestor(node, isScope)) { + else if (node.parent.kind === 216 /* ExpressionStatement */ && scope === ts.findAncestor(node, isScope)) { // If the parent is an expression statement and the target scope is the immediately enclosing one, // replace the statement with the declaration. var newVariableStatement = ts.createVariableStatement( @@ -104476,7 +105337,7 @@ var ts; changeTracker.insertNodeBefore(context.file, nodeToInsertBefore, newVariableStatement, /*blankLineBetween*/ false); } // Consume - if (node.parent.kind === 215 /* ExpressionStatement */) { + if (node.parent.kind === 216 /* ExpressionStatement */) { // If the parent is an expression statement, delete it. changeTracker.deleteNode(context.file, node.parent, ts.textChanges.useNonAdjustedPositions); } @@ -104527,7 +105388,7 @@ var ts; function getCalledExpression(scope, range, functionNameText) { var functionReference = ts.createIdentifier(functionNameText); if (ts.isClassLike(scope)) { - var lhs = range.facts & RangeFacts.InStaticRegion ? ts.createIdentifier(scope.name.text) : ts.createThis(); + var lhs = range.facts & RangeFacts.InStaticRegion ? ts.createIdentifier(scope.name.text) : ts.createThis(); // TODO: GH#18217 return ts.createPropertyAccess(lhs, functionReference); } else { @@ -104563,7 +105424,7 @@ var ts; return { body: ts.createBlock(statements, /*multiLine*/ true), returnValueProperty: undefined }; } function visitor(node) { - if (!ignoreReturns && node.kind === 224 /* ReturnStatement */ && hasWritesOrVariableDeclarations) { + if (!ignoreReturns && node.kind === 225 /* ReturnStatement */ && hasWritesOrVariableDeclarations) { var assignments = getPropertyAssignmentsForWritesAndVariableDeclarations(exposedVariableDeclarations, writes); if (node.expression) { if (!returnValueProperty) { @@ -104599,7 +105460,7 @@ var ts; } function getStatementsOrClassElements(scope) { if (ts.isFunctionLikeDeclaration(scope)) { - var body = scope.body; + var body = scope.body; // TODO: GH#18217 if (ts.isBlock(body)) { return body.statements; } @@ -104644,7 +105505,8 @@ var ts; } prevMember = member; } - ts.Debug.assert(prevMember !== undefined); // If the loop didn't return, then it did set prevMember. + if (prevMember === undefined) + return ts.Debug.fail(); // If the loop didn't return, then it did set prevMember. return prevMember; } function getNodeToInsertConstantBefore(node, scope) { @@ -104671,18 +105533,15 @@ var ts; return curr.parent.parent; } // There must be at least one statement since we started in one. - ts.Debug.assert(prevStatement !== undefined); - return prevStatement; - } - if (curr === scope) { - ts.Debug.fail("Didn't encounter a block-like before encountering scope"); - break; + return ts.Debug.assertDefined(prevStatement); } + ts.Debug.assert(curr !== scope, "Didn't encounter a block-like before encountering scope"); } } function getPropertyAssignmentsForWritesAndVariableDeclarations(exposedVariableDeclarations, writes) { var variableAssignments = ts.map(exposedVariableDeclarations, function (v) { return ts.createShorthandPropertyAssignment(v.symbol.name); }); var writeAssignments = ts.map(writes, function (w) { return ts.createShorthandPropertyAssignment(w.symbol.name); }); + // TODO: GH#18217 `variableAssignments` not possibly undefined! return variableAssignments === undefined ? writeAssignments : writeAssignments === undefined @@ -104735,7 +105594,7 @@ var ts; var end = ts.last(statements).end; expressionDiagnostic = ts.createFileDiagnostic(sourceFile, start, end - start, Messages.expressionExpected); } - else if (checker.getTypeAtLocation(expression).flags & (2048 /* Void */ | 16384 /* Never */)) { + else if (checker.getTypeAtLocation(expression).flags & (4096 /* Void */ | 32768 /* Never */)) { // TODO: GH#18217 expressionDiagnostic = ts.createDiagnosticForNode(expression, Messages.uselessConstantType); } // initialize results @@ -104743,7 +105602,7 @@ var ts; var scope = scopes_1[_i]; usagesPerScope.push({ usages: ts.createMap(), typeParameterUsages: ts.createMap(), substitutions: ts.createMap() }); substitutionsPerScope.push(ts.createMap()); - functionErrorsPerScope.push(ts.isFunctionLikeDeclaration(scope) && scope.kind !== 233 /* FunctionDeclaration */ + functionErrorsPerScope.push(ts.isFunctionLikeDeclaration(scope) && scope.kind !== 234 /* FunctionDeclaration */ ? [ts.createDiagnosticForNode(scope, Messages.cannotExtractToOtherFunctionLike)] : []); var constantErrors = []; @@ -104768,7 +105627,7 @@ var ts; // will use the contextual type of an expression as the return type of the extracted // method (and will therefore "use" all the types involved). if (inGenericContext && !isReadonlyArray(targetRange.range)) { - var contextualType = checker.getContextualType(targetRange.range); + var contextualType = checker.getContextualType(targetRange.range); // TODO: GH#18217 recordTypeParameterUsages(contextualType); } if (allTypeParameterUsages.size > 0) { @@ -104806,7 +105665,7 @@ var ts; : ts.getEnclosingBlockScopeContainer(scopes[0]); ts.forEachChild(containingLexicalScopeOfExtraction, checkForUsedDeclarations); } - var _loop_19 = function (i) { + var _loop_23 = function (i) { var scopeUsages = usagesPerScope[i]; // Special case: in the innermost scope, all usages are available. // (The computed value reflects the value at the top-level of the scope, but the @@ -104846,7 +105705,7 @@ var ts; } }; for (var i = 0; i < scopes.length; i++) { - _loop_19(i); + _loop_23(i); } return { target: target, usagesPerScope: usagesPerScope, functionErrorsPerScope: functionErrorsPerScope, constantErrorsPerScope: constantErrorsPerScope, exposedVariableDeclarations: exposedVariableDeclarations }; function isInGenericContext(node) { @@ -104868,7 +105727,7 @@ var ts; function collectUsages(node, valueUsage) { if (valueUsage === void 0) { valueUsage = 1 /* Read */; } if (inGenericContext) { - var type = checker.getTypeAtLocation(node); + var type = checker.getTypeAtLocation(node); // TODO: GH#18217 recordTypeParameterUsages(type); } if (ts.isDeclaration(node) && node.symbol) { @@ -105049,20 +105908,6 @@ var ts; : ts.createPropertyAccess(prefix, symbol.name); } } - function getParentNodeInSpan(node, file, span) { - if (!node) - return undefined; - while (node.parent) { - if (ts.isSourceFile(node.parent) || !spanContainsNode(span, node.parent, file)) { - return node; - } - node = node.parent; - } - } - function spanContainsNode(span, node, file) { - return ts.textSpanContainsPosition(span, node.getStart(file)) && - node.getEnd() <= ts.textSpanEnd(span); - } /** * Computes whether or not a node represents an expression in a position where it could * be extracted. @@ -105071,31 +105916,32 @@ var ts; * in the sense of something that you could extract on */ function isExtractableExpression(node) { - switch (node.parent.kind) { - case 272 /* EnumMember */: + var parent = node.parent; + switch (parent.kind) { + case 273 /* EnumMember */: return false; } switch (node.kind) { case 9 /* StringLiteral */: - return node.parent.kind !== 243 /* ImportDeclaration */ && - node.parent.kind !== 247 /* ImportSpecifier */; - case 203 /* SpreadElement */: - case 179 /* ObjectBindingPattern */: - case 181 /* BindingElement */: + return parent.kind !== 244 /* ImportDeclaration */ && + parent.kind !== 248 /* ImportSpecifier */; + case 204 /* SpreadElement */: + case 180 /* ObjectBindingPattern */: + case 182 /* BindingElement */: return false; case 71 /* Identifier */: - return node.parent.kind !== 181 /* BindingElement */ && - node.parent.kind !== 247 /* ImportSpecifier */ && - node.parent.kind !== 251 /* ExportSpecifier */; + return parent.kind !== 182 /* BindingElement */ && + parent.kind !== 248 /* ImportSpecifier */ && + parent.kind !== 252 /* ExportSpecifier */; } return true; } function isBlockLike(node) { switch (node.kind) { - case 212 /* Block */: - case 273 /* SourceFile */: - case 239 /* ModuleBlock */: - case 265 /* CaseClause */: + case 213 /* Block */: + case 274 /* SourceFile */: + case 240 /* ModuleBlock */: + case 266 /* CaseClause */: return true; default: return false; @@ -105172,7 +106018,7 @@ var ts; var renameLocation = renameLocationOffset + ts.getRenameLocation(edits, renameFilename, nameNeedRename.text, /*preferLastLocation*/ ts.isParameter(declaration)); return { renameFilename: renameFilename, renameLocation: renameLocation, edits: edits }; } - function isConvertableName(name) { + function isConvertibleName(name) { return ts.isIdentifier(name) || ts.isStringLiteral(name); } function isAcceptedDeclaration(node) { @@ -105182,7 +106028,7 @@ var ts; return ts.isIdentifier(originalName) ? ts.createIdentifier(name) : ts.createLiteral(name); } function createAccessorAccessExpression(fieldName, isStatic, container) { - var leftHead = isStatic ? container.name : ts.createThis(); + var leftHead = isStatic ? container.name : ts.createThis(); // TODO: GH#18217 return ts.isIdentifier(fieldName) ? ts.createPropertyAccess(leftHead, fieldName) : ts.createElementAccess(leftHead, ts.createLiteral(fieldName)); } function getModifiers(isJS, isStatic, accessModifier) { @@ -105198,18 +106044,18 @@ var ts; var declaration = ts.findAncestor(node.parent, isAcceptedDeclaration); // make sure declaration have AccessibilityModifier or Static Modifier or Readonly Modifier var meaning = 28 /* AccessibilityModifier */ | 32 /* Static */ | 64 /* Readonly */; - if (!declaration || !ts.rangeOverlapsWithStartEnd(declaration.name, startPosition, endPosition) - || !isConvertableName(declaration.name) || (ts.getModifierFlags(declaration) | meaning) !== meaning) + if (!declaration || !ts.rangeOverlapsWithStartEnd(declaration.name, startPosition, endPosition) // TODO: GH#18217 + || !isConvertibleName(declaration.name) || (ts.getModifierFlags(declaration) | meaning) !== meaning) return undefined; var name = declaration.name.text; var startWithUnderscore = startsWithUnderscore(name); - var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_" + name, file.text), declaration.name); - var accessorName = createPropertyName(startWithUnderscore ? ts.getUniqueName(name.substring(1), file.text) : name, declaration.name); + var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_" + name, file), declaration.name); + var accessorName = createPropertyName(startWithUnderscore ? ts.getUniqueName(name.substring(1), file) : name, declaration.name); return { isStatic: ts.hasStaticModifier(declaration), isReadonly: ts.hasReadonlyModifier(declaration), type: ts.getTypeAnnotationNode(declaration), - container: declaration.kind === 148 /* Parameter */ ? declaration.parent.parent : declaration.parent, + container: declaration.kind === 149 /* Parameter */ ? declaration.parent.parent : declaration.parent, originalName: declaration.name, declaration: declaration, fieldName: fieldName, @@ -105220,7 +106066,8 @@ var ts; function generateGetAccessor(fieldName, accessorName, type, modifiers, isStatic, container) { return ts.createGetAccessor( /*decorators*/ undefined, modifiers, accessorName, - /*parameters*/ undefined, type, ts.createBlock([ + /*parameters*/ undefined, // TODO: GH#18217 + type, ts.createBlock([ ts.createReturn(createAccessorAccessExpression(fieldName, isStatic, container)) ], /*multiLine*/ true)); } @@ -105264,7 +106111,9 @@ var ts; if (!constructor.body) return; var file = context.file, program = context.program, cancellationToken = context.cancellationToken; - var referenceEntries = ts.mapDefined(ts.FindAllReferences.getReferenceEntriesForNode(originalName.parent.pos, originalName, program, [file], cancellationToken), function (entry) { return ((entry.type === "node" && ts.rangeContainsRange(constructor, entry.node) && ts.isIdentifier(entry.node) && ts.isWriteAccess(entry.node)) ? entry.node : undefined); }); + var referenceEntries = ts.mapDefined(ts.FindAllReferences.getReferenceEntriesForNode(originalName.parent.pos, originalName, program, [file], cancellationToken), function (entry) { + return (entry.type === "node" && ts.rangeContainsRange(constructor, entry.node) && ts.isIdentifier(entry.node) && ts.isWriteAccess(entry.node)) ? entry.node : undefined; + }); ts.forEach(referenceEntries, function (entry) { var parent = entry.parent; var accessorName = ts.createIdentifier(fieldName.text); @@ -105287,7 +106136,7 @@ var ts; var refactorName = "Move to a new file"; refactor.registerRefactor(refactorName, { getAvailableActions: function (context) { - if (!context.preferences.allowTextChangesInNewFiles || getFirstAndLastStatementToMove(context) === undefined) + if (!context.preferences.allowTextChangesInNewFiles || getStatementsToMove(context) === undefined) return undefined; var description = ts.getLocaleSpecificMessage(ts.Diagnostics.Move_to_a_new_file); return [{ name: refactorName, description: description, actions: [{ name: refactorName, description: description }] }]; @@ -105295,27 +106144,34 @@ var ts; getEditsForAction: function (context, actionName) { ts.Debug.assert(actionName === refactorName); var statements = ts.Debug.assertDefined(getStatementsToMove(context)); - var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, statements, t, context.host); }); + var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, statements, t, context.host, context.preferences); }); return { edits: edits, renameFilename: undefined, renameLocation: undefined }; } }); - function getFirstAndLastStatementToMove(context) { + function getRangeToMove(context) { var file = context.file; var range = ts.createTextRangeFromSpan(ts.getRefactorContextSpan(context)); var statements = file.statements; var startNodeIndex = ts.findIndex(statements, function (s) { return s.end > range.pos; }); if (startNodeIndex === -1) return undefined; + var startStatement = statements[startNodeIndex]; + if (ts.isNamedDeclaration(startStatement) && startStatement.name && ts.rangeContainsRange(startStatement.name, range)) { + return { toMove: [statements[startNodeIndex]], afterLast: statements[startNodeIndex + 1] }; + } // Can't only partially include the start node or be partially into the next node - if (range.pos > statements[startNodeIndex].getStart(file)) + if (range.pos > startStatement.getStart(file)) return undefined; var afterEndNodeIndex = ts.findIndex(statements, function (s) { return s.end > range.end; }, startNodeIndex); // Can't be partially into the next node if (afterEndNodeIndex !== -1 && (afterEndNodeIndex === 0 || statements[afterEndNodeIndex].getStart(file) < range.end)) return undefined; - return { first: startNodeIndex, afterLast: afterEndNodeIndex === -1 ? statements.length : afterEndNodeIndex }; + return { + toMove: statements.slice(startNodeIndex, afterEndNodeIndex === -1 ? statements.length : afterEndNodeIndex), + afterLast: afterEndNodeIndex === -1 ? undefined : statements[afterEndNodeIndex], + }; } - function doChange(oldFile, program, toMove, changes, host) { + function doChange(oldFile, program, toMove, changes, host, preferences) { var checker = program.getTypeChecker(); var usage = getUsageInfo(oldFile, toMove.all, checker); var currentDirectory = ts.getDirectoryPath(oldFile.fileName); @@ -105323,31 +106179,32 @@ var ts; var newModuleName = makeUniqueModuleName(getNewModuleName(usage.movedSymbols), extension, currentDirectory, host); var newFileNameWithExtension = newModuleName + extension; // If previous file was global, this is easy. - changes.createNewFile(oldFile, ts.combinePaths(currentDirectory, newFileNameWithExtension), getNewStatements(oldFile, usage, changes, toMove, program, newModuleName)); + changes.createNewFile(oldFile, ts.combinePaths(currentDirectory, newFileNameWithExtension), getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, newModuleName, preferences)); addNewFileToTsconfig(program, changes, oldFile.fileName, newFileNameWithExtension, ts.hostGetCanonicalFileName(host)); } // Filters imports out of the range of statements to move. Imports will be copied to the new file anyway, and may still be needed in the old file. function getStatementsToMove(context) { - var statements = context.file.statements; - var _a = getFirstAndLastStatementToMove(context), first = _a.first, afterLast = _a.afterLast; + var rangeToMove = getRangeToMove(context); + if (rangeToMove === undefined) + return undefined; var all = []; var ranges = []; - var rangeToMove = statements.slice(first, afterLast); - ts.getRangesWhere(rangeToMove, function (s) { return !isPureImport(s); }, function (start, afterEnd) { - for (var i = start; i < afterEnd; i++) - all.push(rangeToMove[i]); - ranges.push({ first: rangeToMove[start], last: rangeToMove[afterEnd - 1] }); + var toMove = rangeToMove.toMove, afterLast = rangeToMove.afterLast; + ts.getRangesWhere(toMove, function (s) { return !isPureImport(s); }, function (start, afterEndIndex) { + for (var i = start; i < afterEndIndex; i++) + all.push(toMove[i]); + ranges.push({ first: toMove[start], afterLast: afterLast }); }); - return { all: all, ranges: ranges }; + return all.length === 0 ? undefined : { all: all, ranges: ranges }; } function isPureImport(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return true; - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return !ts.hasModifier(node, 1 /* Export */); - case 213 /* VariableStatement */: - return node.declarationList.declarations.every(function (d) { return d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ true); }); + case 214 /* VariableStatement */: + return node.declarationList.declarations.every(function (d) { return !!d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ true); }); default: return false; } @@ -105366,26 +106223,26 @@ var ts; changes.insertNodeInListAfter(cfg, ts.last(filesProp.initializer.elements), ts.createLiteral(newFilePath), filesProp.initializer.elements); } } - function getNewStatements(oldFile, usage, changes, toMove, program, newModuleName) { + function getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, newModuleName, preferences) { var checker = program.getTypeChecker(); if (!oldFile.externalModuleIndicator && !oldFile.commonJsModuleIndicator) { deleteMovedStatements(oldFile, toMove.ranges, changes); return toMove.all; } var useEs6ModuleSyntax = !!oldFile.externalModuleIndicator; - var importsFromNewFile = createOldFileImportsFromNewFile(usage.oldFileImportsFromNewFile, newModuleName, useEs6ModuleSyntax); + var importsFromNewFile = createOldFileImportsFromNewFile(usage.oldFileImportsFromNewFile, newModuleName, useEs6ModuleSyntax, preferences); if (importsFromNewFile) { changes.insertNodeBefore(oldFile, oldFile.statements[0], importsFromNewFile, /*blankLineBetween*/ true); } deleteUnusedOldImports(oldFile, toMove.all, changes, usage.unusedImportsFromOldFile, checker); deleteMovedStatements(oldFile, toMove.ranges, changes); updateImportsInOtherFiles(changes, program, oldFile, usage.movedSymbols, newModuleName); - return getNewFileImportsAndAddExportInOldFile(oldFile, usage.oldImportsNeededByNewFile, usage.newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax).concat(addExports(oldFile, toMove.all, usage.oldFileImportsFromNewFile, useEs6ModuleSyntax)); + return getNewFileImportsAndAddExportInOldFile(oldFile, usage.oldImportsNeededByNewFile, usage.newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax, preferences).concat(addExports(oldFile, toMove.all, usage.oldFileImportsFromNewFile, useEs6ModuleSyntax)); } function deleteMovedStatements(sourceFile, moved, changes) { for (var _i = 0, moved_1 = moved; _i < moved_1.length; _i++) { - var _a = moved_1[_i], first_1 = _a.first, last_3 = _a.last; - changes.deleteNodeRange(sourceFile, first_1, last_3); + var _a = moved_1[_i], first_1 = _a.first, afterLast = _a.afterLast; + changes.deleteNodeRangeExcludingEnd(sourceFile, first_1, afterLast); } } function deleteUnusedOldImports(oldFile, toMove, changes, toDelete, checker) { @@ -105398,15 +106255,17 @@ var ts; } function updateImportsInOtherFiles(changes, program, oldFile, movedSymbols, newModuleName) { var checker = program.getTypeChecker(); - var _loop_20 = function (sourceFile) { + var _loop_24 = function (sourceFile) { if (sourceFile === oldFile) return "continue"; - var _loop_21 = function (statement) { + var _loop_25 = function (statement) { forEachImportInStatement(statement, function (importNode) { + if (checker.getSymbolAtLocation(moduleSpecifierFromImport(importNode)) !== oldFile.symbol) + return; var shouldMove = function (name) { var symbol = ts.isBindingElement(name.parent) ? ts.getPropertySymbolFromBindingElement(checker, name.parent) - : ts.skipAlias(checker.getSymbolAtLocation(name), checker); + : ts.skipAlias(checker.getSymbolAtLocation(name), checker); // TODO: GH#18217 return !!symbol && movedSymbols.has(symbol); }; deleteUnusedImports(sourceFile, importNode, changes, shouldMove); // These will be changed to imports from the new file @@ -105414,21 +106273,73 @@ var ts; var newImportDeclaration = filterImport(importNode, ts.createLiteral(newModuleSpecifier), shouldMove); if (newImportDeclaration) changes.insertNodeAfter(sourceFile, statement, newImportDeclaration); + var ns = getNamespaceLikeImport(importNode); + if (ns) + updateNamespaceLikeImport(changes, sourceFile, checker, movedSymbols, newModuleName, newModuleSpecifier, ns, importNode); }); }; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var statement = _a[_i]; - _loop_21(statement); + _loop_25(statement); } }; for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { var sourceFile = _a[_i]; - _loop_20(sourceFile); + _loop_24(sourceFile); + } + } + function getNamespaceLikeImport(node) { + switch (node.kind) { + case 244 /* ImportDeclaration */: + return node.importClause && node.importClause.namedBindings && node.importClause.namedBindings.kind === 246 /* NamespaceImport */ ? + node.importClause.namedBindings.name : undefined; + case 243 /* ImportEqualsDeclaration */: + return node.name; + case 232 /* VariableDeclaration */: + return ts.tryCast(node.name, ts.isIdentifier); + default: + return ts.Debug.assertNever(node); + } + } + function updateNamespaceLikeImport(changes, sourceFile, checker, movedSymbols, newModuleName, newModuleSpecifier, oldImportId, oldImportNode) { + var preferredNewNamespaceName = ts.codefix.moduleSpecifierToValidIdentifier(newModuleName, 6 /* ESNext */); + var needUniqueName = false; + var toChange = []; + ts.FindAllReferences.Core.eachSymbolReferenceInFile(oldImportId, checker, sourceFile, function (ref) { + if (!ts.isPropertyAccessExpression(ref.parent)) + return; + needUniqueName = needUniqueName || !!checker.resolveName(preferredNewNamespaceName, ref, 67108863 /* All */, /*excludeGlobals*/ true); + if (movedSymbols.has(checker.getSymbolAtLocation(ref.parent.name))) { + toChange.push(ref); + } + }); + if (toChange.length) { + var newNamespaceName = needUniqueName ? ts.getUniqueName(preferredNewNamespaceName, sourceFile) : preferredNewNamespaceName; + for (var _i = 0, toChange_1 = toChange; _i < toChange_1.length; _i++) { + var ref = toChange_1[_i]; + changes.replaceNode(sourceFile, ref, ts.createIdentifier(newNamespaceName)); + } + changes.insertNodeAfter(sourceFile, oldImportNode, updateNamespaceLikeImportNode(oldImportNode, newModuleName, newModuleSpecifier)); + } + } + function updateNamespaceLikeImportNode(node, newNamespaceName, newModuleSpecifier) { + var newNamespaceId = ts.createIdentifier(newNamespaceName); + var newModuleString = ts.createLiteral(newModuleSpecifier); + switch (node.kind) { + case 244 /* ImportDeclaration */: + return ts.createImportDeclaration( + /*decorators*/ undefined, /*modifiers*/ undefined, ts.createImportClause(/*name*/ undefined, ts.createNamespaceImport(newNamespaceId)), newModuleString); + case 243 /* ImportEqualsDeclaration */: + return ts.createImportEqualsDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, newNamespaceId, ts.createExternalModuleReference(newModuleString)); + case 232 /* VariableDeclaration */: + return ts.createVariableDeclaration(newNamespaceId, /*type*/ undefined, createRequireCall(newModuleString)); + default: + return ts.Debug.assertNever(node); } } function moduleSpecifierFromImport(i) { - return (i.kind === 243 /* ImportDeclaration */ ? i.moduleSpecifier - : i.kind === 242 /* ImportEqualsDeclaration */ ? i.moduleReference.expression + return (i.kind === 244 /* ImportDeclaration */ ? i.moduleSpecifier + : i.kind === 243 /* ImportEqualsDeclaration */ ? i.moduleReference.expression : i.initializer.arguments[0]); } function forEachImportInStatement(statement, cb) { @@ -105450,24 +106361,24 @@ var ts; } } } - function createOldFileImportsFromNewFile(newFileNeedExport, newFileNameWithExtension, useEs6Imports) { + function createOldFileImportsFromNewFile(newFileNeedExport, newFileNameWithExtension, useEs6Imports, preferences) { var defaultImport; var imports = []; newFileNeedExport.forEach(function (symbol) { if (symbol.escapedName === "default" /* Default */) { - defaultImport = ts.createIdentifier(ts.symbolNameNoDefault(symbol)); + defaultImport = ts.createIdentifier(ts.symbolNameNoDefault(symbol)); // TODO: GH#18217 } else { imports.push(symbol.name); } }); - return makeImportOrRequire(defaultImport, imports, newFileNameWithExtension, useEs6Imports); + return makeImportOrRequire(defaultImport, imports, newFileNameWithExtension, useEs6Imports, preferences); } - function makeImportOrRequire(defaultImport, imports, path, useEs6Imports) { + function makeImportOrRequire(defaultImport, imports, path, useEs6Imports, preferences) { path = ts.ensurePathIsNonModuleName(path); if (useEs6Imports) { var specifiers = imports.map(function (i) { return ts.createImportSpecifier(/*propertyName*/ undefined, ts.createIdentifier(i)); }); - return ts.makeImportIfNecessary(defaultImport, specifiers, path); + return ts.makeImportIfNecessary(defaultImport, specifiers, path, preferences); } else { ts.Debug.assert(!defaultImport); // If there's a default export, it should have been an es6 module. @@ -105498,15 +106409,15 @@ var ts; } function deleteUnusedImports(sourceFile, importDecl, changes, isUnused) { switch (importDecl.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: deleteUnusedImportsInDeclaration(sourceFile, importDecl, changes, isUnused); break; - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: if (isUnused(importDecl.name)) { changes.deleteNode(sourceFile, importDecl); } break; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: deleteUnusedImportsInVariableDeclaration(sourceFile, importDecl, changes, isUnused); break; default: @@ -105519,7 +106430,7 @@ var ts; var _a = importDecl.importClause, name = _a.name, namedBindings = _a.namedBindings; var defaultUnused = !name || isUnused(name); var namedBindingsUnused = !namedBindings || - (namedBindings.kind === 245 /* NamespaceImport */ ? isUnused(namedBindings.name) : namedBindings.elements.every(function (e) { return isUnused(e.name); })); + (namedBindings.kind === 246 /* NamespaceImport */ ? isUnused(namedBindings.name) : namedBindings.elements.every(function (e) { return isUnused(e.name); })); if (defaultUnused && namedBindingsUnused) { changes.deleteNode(sourceFile, importDecl); } @@ -105531,7 +106442,7 @@ var ts; if (namedBindingsUnused) { changes.deleteNode(sourceFile, namedBindings); } - else if (namedBindings.kind === 246 /* NamedImports */) { + else if (namedBindings.kind === 247 /* NamedImports */) { for (var _i = 0, _b = namedBindings.elements; _i < _b.length; _i++) { var element = _b[_i]; if (isUnused(element.name)) @@ -105549,9 +106460,9 @@ var ts; changes.deleteNode(sourceFile, name); } break; - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: break; - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: if (name.elements.every(function (e) { return ts.isIdentifier(e.name) && isUnused(e.name); })) { changes.deleteNode(sourceFile, ts.isVariableDeclarationList(varDecl.parent) && varDecl.parent.declarations.length === 1 ? varDecl.parent.parent : varDecl); } @@ -105566,7 +106477,7 @@ var ts; break; } } - function getNewFileImportsAndAddExportInOldFile(oldFile, importsToCopy, newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax) { + function getNewFileImportsAndAddExportInOldFile(oldFile, importsToCopy, newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax, preferences) { var copiedOldImports = []; for (var _i = 0, _a = oldFile.statements; _i < _a.length; _i++) { var oldStatement = _a[_i]; @@ -105598,7 +106509,7 @@ var ts; } } }); - ts.append(copiedOldImports, makeImportOrRequire(oldFileDefault, oldFileNamedImports, ts.removeFileExtension(ts.getBaseFileName(oldFile.fileName)), useEs6ModuleSyntax)); + ts.append(copiedOldImports, makeImportOrRequire(oldFileDefault, oldFileNamedImports, ts.removeFileExtension(ts.getBaseFileName(oldFile.fileName)), useEs6ModuleSyntax, preferences)); return copiedOldImports; } function makeUniqueModuleName(moduleName, extension, inDirectory, host) { @@ -105606,7 +106517,7 @@ var ts; for (var i = 1;; i++) { var name = ts.combinePaths(inDirectory, newModuleName + extension); if (!host.fileExists(name)) - return newModuleName; + return newModuleName; // TODO: GH#18217 newModuleName = moduleName + "." + i; } } @@ -105633,7 +106544,7 @@ var ts; if (isInImport(decl)) { oldImportsNeededByNewFile.add(symbol); } - else if (isTopLevelDeclaration(decl) && !movedSymbols.has(symbol)) { + else if (isTopLevelDeclaration(decl) && sourceFileOfTopLevelDeclaration(decl) === oldFile && !movedSymbols.has(symbol)) { newFileImportsFromOldFile.add(symbol); } } @@ -105656,13 +106567,13 @@ var ts; // Below should all be utilities function isInImport(decl) { switch (decl.kind) { - case 242 /* ImportEqualsDeclaration */: - case 247 /* ImportSpecifier */: - case 244 /* ImportClause */: + case 243 /* ImportEqualsDeclaration */: + case 248 /* ImportSpecifier */: + case 245 /* ImportClause */: return true; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return isVariableDeclarationInImport(decl); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return ts.isVariableDeclaration(decl.parent.parent) && isVariableDeclarationInImport(decl.parent.parent); default: return false; @@ -105674,7 +106585,7 @@ var ts; } function filterImport(i, moduleSpecifier, keep) { switch (i.kind) { - case 243 /* ImportDeclaration */: { + case 244 /* ImportDeclaration */: { var clause = i.importClause; if (!clause) return undefined; @@ -105684,9 +106595,9 @@ var ts; ? ts.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.createImportClause(defaultImport, namedBindings), moduleSpecifier) : undefined; } - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return keep(i.name) ? i : undefined; - case 231 /* VariableDeclaration */: { + case 232 /* VariableDeclaration */: { var name = filterBindingName(i.name, keep); return name ? makeVariableStatement(name, i.type, createRequireCall(moduleSpecifier), i.parent.flags) : undefined; } @@ -105695,7 +106606,7 @@ var ts; } } function filterNamedBindings(namedBindings, keep) { - if (namedBindings.kind === 245 /* NamespaceImport */) { + if (namedBindings.kind === 246 /* NamespaceImport */) { return keep(namedBindings.name) ? namedBindings : undefined; } else { @@ -105707,9 +106618,9 @@ var ts; switch (name.kind) { case 71 /* Identifier */: return keep(name) ? name : undefined; - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: return name; - case 179 /* ObjectBindingPattern */: { + case 180 /* ObjectBindingPattern */: { // We can't handle nested destructurings or property names well here, so just copy them all. var newElements = name.elements.filter(function (prop) { return prop.propertyName || !ts.isIdentifier(prop.name) || keep(prop.name); }); return newElements.length ? ts.createObjectBindingPattern(newElements) : undefined; @@ -105755,7 +106666,10 @@ var ts; return SymbolSet; }()); function isTopLevelDeclaration(node) { - return isNonVariableTopLevelDeclaration(node) || ts.isVariableDeclaration(node) && ts.isSourceFile(node.parent.parent.parent); + return isNonVariableTopLevelDeclaration(node) && ts.isSourceFile(node.parent) || ts.isVariableDeclaration(node) && ts.isSourceFile(node.parent.parent.parent); + } + function sourceFileOfTopLevelDeclaration(node) { + return ts.isVariableDeclaration(node) ? node.parent.parent.parent : node.parent; } function isTopLevelDeclarationStatement(node) { ts.Debug.assert(ts.isSourceFile(node.parent)); @@ -105763,13 +106677,13 @@ var ts; } function isNonVariableTopLevelDeclaration(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 235 /* InterfaceDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 243 /* ImportEqualsDeclaration */: return true; default: return false; @@ -105777,17 +106691,17 @@ var ts; } function forEachTopLevelDeclaration(statement, cb) { switch (statement.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 235 /* InterfaceDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 243 /* ImportEqualsDeclaration */: return cb(statement); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return ts.forEach(statement.declarationList.declarations, cb); - case 215 /* ExpressionStatement */: { + case 216 /* ExpressionStatement */: { var expression = statement.expression; return ts.isBinaryExpression(expression) && ts.getSpecialPropertyAssignmentKind(expression) === 1 /* ExportsProperty */ ? cb(statement) @@ -105796,7 +106710,7 @@ var ts; } } function nameOfTopLevelDeclaration(d) { - return d.kind === 215 /* ExpressionStatement */ ? d.expression.left.name : ts.tryCast(d.name, ts.isIdentifier); + return d.kind === 216 /* ExpressionStatement */ ? d.expression.left.name : ts.tryCast(d.name, ts.isIdentifier); } function getTopLevelDeclarationStatement(d) { return ts.isVariableDeclaration(d) ? d.parent.parent : d; @@ -105828,23 +106742,23 @@ var ts; function addEs6Export(d) { var modifiers = ts.concatenate([ts.createModifier(84 /* ExportKeyword */)], d.modifiers); switch (d.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return ts.updateFunctionDeclaration(d, d.decorators, modifiers, d.asteriskToken, d.name, d.typeParameters, d.parameters, d.type, d.body); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return ts.updateClassDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return ts.updateVariableStatement(d, modifiers, d.declarationList); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return ts.updateModuleDeclaration(d, d.decorators, modifiers, d.name, d.body); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return ts.updateEnumDeclaration(d, d.decorators, modifiers, d.name, d.members); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return ts.updateTypeAliasDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.type); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return ts.updateInterfaceDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return ts.updateImportEqualsDeclaration(d, d.decorators, modifiers, d.name, d.moduleReference); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return ts.Debug.fail(); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: return ts.Debug.assertNever(d); @@ -105855,21 +106769,21 @@ var ts; } function getNamesToExportInCommonJS(decl) { switch (decl.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - return [decl.name.text]; - case 213 /* VariableStatement */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + return [decl.name.text]; // TODO: GH#18217 + case 214 /* VariableStatement */: return ts.mapDefined(decl.declarationList.declarations, function (d) { return ts.isIdentifier(d.name) ? d.name.text : undefined; }); - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 235 /* InterfaceDeclaration */: - case 242 /* ImportEqualsDeclaration */: - return undefined; - case 215 /* ExpressionStatement */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 243 /* ImportEqualsDeclaration */: + return ts.emptyArray; + case 216 /* ExpressionStatement */: return ts.Debug.fail(); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: - ts.Debug.assertNever(decl); + return ts.Debug.assertNever(decl); } } /** Creates `exports.x = x;` */ @@ -106089,7 +107003,7 @@ var ts; var value = 0; for (; moreDigits; state.decodingIndex++) { if (createErrorIfCondition(state.decodingIndex >= state.encodedText.length, "Error in decoding base64VLQFormatDecode, past the mapping string")) { - return; + return undefined; // TODO: GH#18217 } // 6 digit number var currentByte = base64FormatDecode(state.encodedText.charAt(state.decodingIndex)); @@ -106139,7 +107053,7 @@ var ts; this.pos = pos; this.end = end; this.flags = 0 /* None */; - this.transformFlags = undefined; + this.transformFlags = undefined; // TODO: GH#18217 this.parent = undefined; this.kind = kind; } @@ -106201,8 +107115,8 @@ var ts; if (!children.length) { return undefined; } - var child = ts.find(children, function (kid) { return kid.kind < 277 /* FirstJSDocNode */ || kid.kind > 297 /* LastJSDocNode */; }); - return child.kind < 145 /* FirstNode */ ? + var child = ts.find(children, function (kid) { return kid.kind < 278 /* FirstJSDocNode */ || kid.kind > 298 /* LastJSDocNode */; }); + return child.kind < 146 /* FirstNode */ ? child : child.getFirstToken(sourceFile); }; @@ -106213,7 +107127,7 @@ var ts; if (!child) { return undefined; } - return child.kind < 145 /* FirstNode */ ? child : child.getLastToken(sourceFile); + return child.kind < 146 /* FirstNode */ ? child : child.getLastToken(sourceFile); }; NodeObject.prototype.forEachChild = function (cbNode, cbNodeArray) { return ts.forEachChild(this, cbNode, cbNodeArray); @@ -106271,7 +107185,7 @@ var ts; } } function createSyntaxList(nodes, parent) { - var list = createNode(298 /* SyntaxList */, nodes.pos, nodes.end, parent); + var list = createNode(299 /* SyntaxList */, nodes.pos, nodes.end, parent); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_7 = nodes; _i < nodes_7.length; _i++) { @@ -106325,7 +107239,7 @@ var ts; return 0; }; TokenOrIdentifierObject.prototype.getChildAt = function () { - return undefined; + return undefined; // TODO: GH#18217 }; TokenOrIdentifierObject.prototype.getChildren = function () { return ts.emptyArray; @@ -106449,25 +107363,25 @@ var ts; return this.checker.getDefaultFromTypeParameter(this); }; TypeObject.prototype.isUnion = function () { - return !!(this.flags & 131072 /* Union */); + return !!(this.flags & 262144 /* Union */); }; TypeObject.prototype.isIntersection = function () { - return !!(this.flags & 262144 /* Intersection */); + return !!(this.flags & 524288 /* Intersection */); }; TypeObject.prototype.isUnionOrIntersection = function () { - return !!(this.flags & 393216 /* UnionOrIntersection */); + return !!(this.flags & 786432 /* UnionOrIntersection */); }; TypeObject.prototype.isLiteral = function () { - return !!(this.flags & 224 /* Literal */); + return !!(this.flags & 448 /* Literal */); }; TypeObject.prototype.isStringLiteral = function () { - return !!(this.flags & 32 /* StringLiteral */); + return !!(this.flags & 64 /* StringLiteral */); }; TypeObject.prototype.isNumberLiteral = function () { - return !!(this.flags & 64 /* NumberLiteral */); + return !!(this.flags & 128 /* NumberLiteral */); }; TypeObject.prototype.isTypeParameter = function () { - return !!(this.flags & 32768 /* TypeParameter */); + return !!(this.flags & 65536 /* TypeParameter */); }; TypeObject.prototype.isClassOrInterface = function () { return !!(ts.getObjectFlags(this) & 3 /* ClassOrInterface */); @@ -106517,9 +107431,9 @@ var ts; return ts.emptyArray; var doc = ts.JsDoc.getJsDocCommentsFromDeclarations(declarations); if (doc.length === 0 || declarations.some(hasJSDocInheritDocTag)) { - for (var _i = 0, declarations_13 = declarations; _i < declarations_13.length; _i++) { - var declaration = declarations_13[_i]; - var inheritedDocs = findInheritedJSDocComments(declaration, declaration.symbol.name, checker); + for (var _i = 0, declarations_14 = declarations; _i < declarations_14.length; _i++) { + var declaration = declarations_14[_i]; + var inheritedDocs = findInheritedJSDocComments(declaration, declaration.symbol.name, checker); // TODO: GH#18217 // TODO: GH#16312 Return a ReadonlyArray, avoid copying inheritedDocs if (inheritedDocs) doc = doc.length === 0 ? inheritedDocs.slice() : inheritedDocs.concat(ts.lineBreakPart(), doc); @@ -106604,10 +107518,10 @@ var ts; } function visit(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: var functionDeclaration = node; var declarationName = getDeclarationName(functionDeclaration); if (declarationName) { @@ -106627,31 +107541,31 @@ var ts; } ts.forEachChild(node, visit); break; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 237 /* EnumDeclaration */: - case 238 /* ModuleDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 251 /* ExportSpecifier */: - case 247 /* ImportSpecifier */: - case 244 /* ImportClause */: - case 245 /* NamespaceImport */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 165 /* TypeLiteral */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 238 /* EnumDeclaration */: + case 239 /* ModuleDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 252 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 245 /* ImportClause */: + case 246 /* NamespaceImport */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 166 /* TypeLiteral */: addDeclaration(node); ts.forEachChild(node, visit); break; - case 148 /* Parameter */: + case 149 /* Parameter */: // Only consider parameter properties if (!ts.hasModifier(node, 92 /* ParameterPropertyModifier */)) { break; } // falls through - case 231 /* VariableDeclaration */: - case 181 /* BindingElement */: { + case 232 /* VariableDeclaration */: + case 182 /* BindingElement */: { var decl = node; if (ts.isBindingPattern(decl.name)) { ts.forEachChild(decl.name, visit); @@ -106662,19 +107576,19 @@ var ts; } } // falls through - case 272 /* EnumMember */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 273 /* EnumMember */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: addDeclaration(node); break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: // Handle named exports case e.g.: // export {a, b as B} from "mod"; if (node.exportClause) { ts.forEach(node.exportClause.elements, visit); } break; - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: var importClause = node.importClause; if (importClause) { // Handle default import case e.g.: @@ -106686,7 +107600,7 @@ var ts; // import * as NS from "mod"; // import {a, b as B} from "mod"; if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 245 /* NamespaceImport */) { + if (importClause.namedBindings.kind === 246 /* NamespaceImport */) { addDeclaration(importClause.namedBindings); } else { @@ -106695,7 +107609,7 @@ var ts; } } break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (ts.getSpecialPropertyAssignmentKind(node) !== 0 /* None */) { addDeclaration(node); } @@ -106823,7 +107737,7 @@ var ts; }; HostCache.prototype.getOrCreateEntryByPath = function (fileName, path) { var info = this.getEntryByPath(path) || this.createEntry(fileName, path); - return ts.isString(info) ? undefined : info; + return ts.isString(info) ? undefined : info; // TODO: GH#18217 }; HostCache.prototype.getRootFileNames = function () { var names = []; @@ -106841,11 +107755,11 @@ var ts; }; HostCache.prototype.getVersion = function (path) { var file = this.getHostFileInformation(path); - return file && file.version; + return (file && file.version); // TODO: GH#18217 }; HostCache.prototype.getScriptSnapshot = function (path) { var file = this.getHostFileInformation(path); - return file && file.scriptSnapshot; + return (file && file.scriptSnapshot); // TODO: GH#18217 }; return HostCache; }()); @@ -106948,7 +107862,7 @@ var ts; this.cancellationToken = cancellationToken; } CancellationTokenObject.prototype.isCancellationRequested = function () { - return this.cancellationToken && this.cancellationToken.isCancellationRequested(); + return !!this.cancellationToken && this.cancellationToken.isCancellationRequested(); }; CancellationTokenObject.prototype.throwIfCancellationRequested = function () { if (this.isCancellationRequested()) { @@ -106998,7 +107912,7 @@ var ts; if (!host.fileExists || !host.readFile || !host.fileExists(path)) return; // And failing that, check the disk - var text = host.readFile(path); + var text = host.readFile(path); // TODO: GH#18217 var file = { text: text, lineMap: undefined, @@ -107056,7 +107970,7 @@ var ts; var typeRootsVersion = host.getTypeRootsVersion ? host.getTypeRootsVersion() : 0; if (lastTypesRootVersion !== typeRootsVersion) { log("TypeRoots version has changed; provide new program"); - program = undefined; + program = undefined; // TODO: GH#18217 lastTypesRootVersion = typeRootsVersion; } // Get a fresh cache of the host information @@ -107064,7 +107978,7 @@ var ts; var rootFileNames = hostCache.getRootFileNames(); var hasInvalidatedResolution = host.hasInvalidatedResolution || ts.returnFalse; // If the program is already up-to-date, we can reuse it - if (ts.isProgramUptoDate(program, rootFileNames, hostCache.compilationSettings(), function (path) { return hostCache.getVersion(path); }, fileExists, hasInvalidatedResolution, host.hasChangedAutomaticTypeDirectiveNames)) { + if (ts.isProgramUptoDate(program, rootFileNames, hostCache.compilationSettings(), function (path) { return hostCache.getVersion(path); }, fileExists, hasInvalidatedResolution, !!host.hasChangedAutomaticTypeDirectiveNames)) { return; } // IMPORTANT - It is critical from this moment onward that we do not check @@ -107141,7 +108055,7 @@ var ts; var entry = hostCache.getEntryByPath(path); return entry ? !ts.isString(entry) : - (host.fileExists && host.fileExists(fileName)); + (!!host.fileExists && host.fileExists(fileName)); } // Release any files we have acquired in the old program but are // not part of the new program. @@ -107201,6 +108115,7 @@ var ts; return documentRegistry.acquireDocumentWithKey(fileName, path, newSettings, documentRegistryBucketKey, hostFileInformation.scriptSnapshot, hostFileInformation.version, hostFileInformation.scriptKind); } } + // TODO: GH#18217 frequently asserted as defined function getProgram() { if (syntaxOnly) { ts.Debug.assert(program === undefined); @@ -107210,14 +108125,14 @@ var ts; return program; } function cleanupSemanticCache() { - program = undefined; + program = undefined; // TODO: GH#18217 } function dispose() { if (program) { ts.forEach(program.getSourceFiles(), function (f) { return documentRegistry.releaseDocument(f.fileName, program.getCompilerOptions()); }); - program = undefined; + program = undefined; // TODO: GH#18217 } host = undefined; } @@ -107245,7 +108160,7 @@ var ts; } function getSuggestionDiagnostics(fileName) { synchronizeHostData(); - return ts.computeSuggestionDiagnostics(getValidSourceFile(fileName), program); + return ts.computeSuggestionDiagnostics(getValidSourceFile(fileName), program, cancellationToken); } function getCompilerOptionsDiagnostics() { synchronizeHostData(); @@ -107261,7 +108176,8 @@ var ts; function getCompletionEntryDetails(fileName, position, name, formattingOptions, source, preferences) { if (preferences === void 0) { preferences = ts.defaultPreferences; } synchronizeHostData(); - return ts.Completions.getCompletionEntryDetails(program, log, getValidSourceFile(fileName), position, { name: name, source: source }, host, formattingOptions && ts.formatting.getFormatContext(formattingOptions), getCanonicalFileName, preferences, cancellationToken); + return ts.Completions.getCompletionEntryDetails(program, log, getValidSourceFile(fileName), position, { name: name, source: source }, host, (formattingOptions && ts.formatting.getFormatContext(formattingOptions)), // TODO: GH#18217 + getCanonicalFileName, preferences, cancellationToken); } function getCompletionEntrySymbol(fileName, position, name, source) { synchronizeHostData(); @@ -107286,10 +108202,10 @@ var ts; return undefined; } // falls through - case 184 /* PropertyAccessExpression */: - case 145 /* QualifiedName */: + case 185 /* PropertyAccessExpression */: + case 146 /* QualifiedName */: case 99 /* ThisKeyword */: - case 173 /* ThisType */: + case 174 /* ThisType */: case 97 /* SuperKeyword */: // For the identifiers/this/super etc get the type at position var type_4 = typeChecker.getTypeAtLocation(node); @@ -107330,7 +108246,7 @@ var ts; } function toLineColumnOffset(fileName, position) { var path = ts.toPath(fileName, currentDirectory, getCanonicalFileName); - var file = program.getSourceFile(path) || sourcemappedFileCache.get(path); + var file = program.getSourceFile(path) || sourcemappedFileCache.get(path); // TODO: GH#18217 return file.getLineAndCharacterOfPosition(position); } // Sometimes tools can sometimes see the following line as a source mapping url comment, so we mangle it a bit (the [M]) @@ -107397,7 +108313,7 @@ var ts; var location = possibleMapLocations_1[_i]; var mapPath = ts.toPath(location, ts.getDirectoryPath(fileName), getCanonicalFileName); if (host.fileExists(mapPath)) { - return convertDocumentToSourceMapper(file, host.readFile(mapPath), mapPath); + return convertDocumentToSourceMapper(file, host.readFile(mapPath), mapPath); // TODO: GH#18217 } } return file.sourceMapper = ts.sourcemaps.identitySourceMapper; @@ -107509,18 +108425,9 @@ var ts; function getReferences(fileName, position, options) { synchronizeHostData(); // Exclude default library when renaming as commonly user don't want to change that file. - var sourceFiles = []; - if (options && options.isForRename) { - for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { - var sourceFile = _a[_i]; - if (!program.isSourceFileDefaultLibrary(sourceFile)) { - sourceFiles.push(sourceFile); - } - } - } - else { - sourceFiles = program.getSourceFiles().slice(); - } + var sourceFiles = options && options.isForRename + ? program.getSourceFiles().filter(function (sourceFile) { return !program.isSourceFileDefaultLibrary(sourceFile); }) + : program.getSourceFiles(); return ts.FindAllReferences.findReferencedEntries(program, cancellationToken, sourceFiles, getValidSourceFile(fileName), position, options); } function findReferences(fileName, position) { @@ -107529,11 +108436,13 @@ var ts; } /// NavigateTo function getNavigateToItems(searchValue, maxResultCount, fileName, excludeDtsFiles) { + if (excludeDtsFiles === void 0) { excludeDtsFiles = false; } synchronizeHostData(); var sourceFiles = fileName ? [getValidSourceFile(fileName)] : program.getSourceFiles(); return ts.NavigateTo.getNavigateToItems(sourceFiles, program.getTypeChecker(), cancellationToken, searchValue, maxResultCount, excludeDtsFiles); } function getEmitOutput(fileName, emitOnlyDtsFiles) { + if (emitOnlyDtsFiles === void 0) { emitOnlyDtsFiles = false; } synchronizeHostData(); var sourceFile = getValidSourceFile(fileName); var customTransformers = host.getCustomTransformers && host.getCustomTransformers(); @@ -107552,31 +108461,28 @@ var ts; function getNonBoundSourceFile(fileName) { return syntaxTreeCache.getCurrentSourceFile(fileName); } - function getSourceFile(fileName) { - return getNonBoundSourceFile(fileName); - } function getNameOrDottedNameSpan(fileName, startPos, _endPos) { var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); // Get node at the location var node = ts.getTouchingPropertyName(sourceFile, startPos, /*includeJsDocComment*/ false); if (node === sourceFile) { - return; + return undefined; } switch (node.kind) { - case 184 /* PropertyAccessExpression */: - case 145 /* QualifiedName */: + case 185 /* PropertyAccessExpression */: + case 146 /* QualifiedName */: case 9 /* StringLiteral */: case 86 /* FalseKeyword */: case 101 /* TrueKeyword */: case 95 /* NullKeyword */: case 97 /* SuperKeyword */: case 99 /* ThisKeyword */: - case 173 /* ThisType */: + case 174 /* ThisType */: case 71 /* Identifier */: break; // Cant create the text span default: - return; + return undefined; } var nodeForStartPos = node; while (true) { @@ -107588,7 +108494,7 @@ var ts; // If this is name of a module declarations, check if this is right side of dotted module name // If parent of the module declaration which is parent of this node is module declaration and its body is the module declaration that this node is name of // Then this name is name from dotted module - if (nodeForStartPos.parent.parent.kind === 238 /* ModuleDeclaration */ && + if (nodeForStartPos.parent.parent.kind === 239 /* ModuleDeclaration */ && nodeForStartPos.parent.parent.body === nodeForStartPos.parent) { // Use parent module declarations name for start pos nodeForStartPos = nodeForStartPos.parent.parent.name; @@ -107725,8 +108631,9 @@ var ts; var formatContext = ts.formatting.getFormatContext(formatOptions); return ts.OrganizeImports.organizeImports(sourceFile, formatContext, host, program, preferences); } - function getEditsForFileRename(oldFilePath, newFilePath, formatOptions) { - return ts.getEditsForFileRename(getProgram(), oldFilePath, newFilePath, host, ts.formatting.getFormatContext(formatOptions)); + function getEditsForFileRename(oldFilePath, newFilePath, formatOptions, preferences) { + if (preferences === void 0) { preferences = ts.defaultPreferences; } + return ts.getEditsForFileRename(getProgram(), oldFilePath, newFilePath, host, ts.formatting.getFormatContext(formatOptions), preferences); } function applyCodeActionCommand(fileName, actionOrUndefined) { var action = typeof fileName === "string" ? actionOrUndefined : fileName; @@ -107739,7 +108646,7 @@ var ts; ? host.installPackage({ fileName: ts.toPath(action.file, currentDirectory, getCanonicalFileName), packageName: action.packageName }) : Promise.reject("Host does not implement `installPackage`"); default: - ts.Debug.fail(); + return ts.Debug.fail(); // TODO: Debug.assertNever(action); will only work if there is more than one type. } } @@ -107775,6 +108682,17 @@ var ts; } return true; } + function getJsxClosingTagAtPosition(fileName, position) { + var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); + var token = ts.findPrecedingToken(position, sourceFile); + if (!token) + return undefined; + var element = token.kind === 29 /* GreaterThanToken */ && ts.isJsxOpeningElement(token.parent) ? token.parent.parent + : ts.isJsxText(token) ? token.parent : undefined; + if (element && !ts.tagNamesAreEquivalent(element.openingElement.tagName, element.closingElement.tagName)) { + return { newText: "" }; + } + } function getSpanOfEnclosingComment(fileName, position, onlyMultiLine) { var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); var range = ts.formatting.getRangeOfEnclosingComment(sourceFile, position, onlyMultiLine); @@ -107830,7 +108748,8 @@ var ts; descriptor = descriptors[i]; } } - ts.Debug.assert(descriptor !== undefined); + if (descriptor === undefined) + return ts.Debug.fail(); // We don't want to match something like 'TODOBY', so we make sure a non // letter/digit follows the match. if (isLetterOrDigit(fileContents.charCodeAt(matchPosition + descriptor.text.length))) { @@ -107973,6 +108892,7 @@ var ts; getFormattingEditsAfterKeystroke: getFormattingEditsAfterKeystroke, getDocCommentTemplateAtPosition: getDocCommentTemplateAtPosition, isValidBraceCompletionAtPosition: isValidBraceCompletionAtPosition, + getJsxClosingTagAtPosition: getJsxClosingTagAtPosition, getSpanOfEnclosingComment: getSpanOfEnclosingComment, getCodeFixesAtPosition: getCodeFixesAtPosition, getCombinedCodeFix: getCombinedCodeFix, @@ -107981,7 +108901,6 @@ var ts; getEditsForFileRename: getEditsForFileRename, getEmitOutput: getEmitOutput, getNonBoundSourceFile: getNonBoundSourceFile, - getSourceFile: getSourceFile, getProgram: getProgram, getApplicableRefactors: getApplicableRefactors, getEditsForRefactor: getEditsForRefactor, @@ -107995,7 +108914,7 @@ var ts; if (!sourceFile.nameTable) { initializeNameTable(sourceFile); } - return sourceFile.nameTable; + return sourceFile.nameTable; // TODO: GH#18217 } ts.getNameTable = getNameTable; function initializeNameTable(sourceFile) { @@ -108022,7 +108941,7 @@ var ts; */ function literalIsName(node) { return ts.isDeclarationName(node) || - node.parent.kind === 253 /* ExternalModuleReference */ || + node.parent.kind === 254 /* ExternalModuleReference */ || isArgumentOfElementAccessExpression(node) || ts.isLiteralComputedPropertyDeclarationName(node); } @@ -108034,13 +108953,13 @@ var ts; switch (node.kind) { case 9 /* StringLiteral */: case 8 /* NumericLiteral */: - if (node.parent.kind === 146 /* ComputedPropertyName */) { + if (node.parent.kind === 147 /* ComputedPropertyName */) { return ts.isObjectLiteralElement(node.parent.parent) ? node.parent.parent : undefined; } // falls through case 71 /* Identifier */: return ts.isObjectLiteralElement(node.parent) && - (node.parent.parent.kind === 183 /* ObjectLiteralExpression */ || node.parent.parent.kind === 262 /* JsxAttributes */) && + (node.parent.parent.kind === 184 /* ObjectLiteralExpression */ || node.parent.parent.kind === 263 /* JsxAttributes */) && node.parent.name === node ? node.parent : undefined; } return undefined; @@ -108049,8 +108968,8 @@ var ts; /* @internal */ function getPropertySymbolsFromContextualType(typeChecker, node) { var objectLiteral = node.parent; - var contextualType = typeChecker.getContextualType(objectLiteral); - return getPropertySymbolsFromType(contextualType, node.name); + var contextualType = typeChecker.getContextualType(objectLiteral); // TODO: GH#18217 + return getPropertySymbolsFromType(contextualType, node.name); // TODO: GH#18217 } ts.getPropertySymbolsFromContextualType = getPropertySymbolsFromContextualType; /* @internal */ @@ -108059,7 +108978,7 @@ var ts; if (name && type) { var result_7 = []; var symbol = type.getProperty(name); - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { ts.forEach(type.types, function (t) { var symbol = t.getProperty(name); if (symbol) { @@ -108079,7 +108998,7 @@ var ts; function isArgumentOfElementAccessExpression(node) { return node && node.parent && - node.parent.kind === 185 /* ElementAccessExpression */ && + node.parent.kind === 186 /* ElementAccessExpression */ && node.parent.argumentExpression === node; } /** @@ -108118,11 +109037,12 @@ var ts; // let y = 10; // token at position will return let keyword on second line as the token but we would like to use // token on same line if trailing trivia (comments or white spaces on same line) part of the last token on that line - tokenAtLocation = ts.findPrecedingToken(tokenAtLocation.pos, sourceFile); + var preceding = ts.findPrecedingToken(tokenAtLocation.pos, sourceFile); // It's a blank line - if (!tokenAtLocation || sourceFile.getLineAndCharacterOfPosition(tokenAtLocation.getEnd()).line !== lineOfPosition) { + if (!preceding || sourceFile.getLineAndCharacterOfPosition(preceding.getEnd()).line !== lineOfPosition) { return undefined; } + tokenAtLocation = preceding; } // Cannot set breakpoint in ambient declarations if (tokenAtLocation.flags & 4194304 /* Ambient */) { @@ -108156,115 +109076,116 @@ var ts; } function spanInNode(node) { if (node) { + var parent = node.parent; switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: // Span on first variable declaration return spanInVariableDeclaration(node.declarationList.declarations[0]); - case 231 /* VariableDeclaration */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 232 /* VariableDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return spanInVariableDeclaration(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return spanInParameterDeclaration(node); - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 154 /* Constructor */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 155 /* Constructor */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return spanInFunctionDeclaration(node); - case 212 /* Block */: + case 213 /* Block */: if (ts.isFunctionBlock(node)) { return spanInFunctionBlock(node); } // falls through - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return spanInBlock(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return spanInBlock(node.block); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: // span on the expression return textSpan(node.expression); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: // span on return keyword and expression if present return textSpan(node.getChildAt(0), node.expression); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: // Span on while(...) return textSpanEndingAtNextToken(node, node.expression); - case 217 /* DoStatement */: + case 218 /* DoStatement */: // span in statement of the do statement return spanInNode(node.statement); - case 230 /* DebuggerStatement */: + case 231 /* DebuggerStatement */: // span on debugger keyword return textSpan(node.getChildAt(0)); - case 216 /* IfStatement */: + case 217 /* IfStatement */: // set on if(..) span return textSpanEndingAtNextToken(node, node.expression); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: // span in statement return spanInNode(node.statement); - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: // On break or continue keyword and label if present return textSpan(node.getChildAt(0), node.label); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return spanInForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: // span of for (a in ...) return textSpanEndingAtNextToken(node, node.expression); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: // span in initializer return spanInInitializerOfForLike(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: // span on switch(...) return textSpanEndingAtNextToken(node, node.expression); - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: // span in first statement of the clause return spanInNode(node.statements[0]); - case 229 /* TryStatement */: + case 230 /* TryStatement */: // span in try block return spanInBlock(node.tryBlock); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: // span in throw ... return textSpan(node, node.expression); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: // span on export = id return textSpan(node, node.expression); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleReference); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleSpecifier); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleSpecifier); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: // span on complete module if it is instantiated if (ts.getModuleInstanceState(node) !== 1 /* Instantiated */) { return undefined; } // falls through - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: - case 272 /* EnumMember */: - case 181 /* BindingElement */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 273 /* EnumMember */: + case 182 /* BindingElement */: // span on complete node return textSpan(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: // span in statement return spanInNode(node.statement); - case 149 /* Decorator */: - return spanInNodeArray(node.parent.decorators); - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 150 /* Decorator */: + return spanInNodeArray(parent.decorators); + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: return spanInBindingPattern(node); // No breakpoint in interface, type alias - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: return undefined; // Tokens: case 25 /* SemicolonToken */: @@ -108294,7 +109215,7 @@ var ts; case 74 /* CatchKeyword */: case 87 /* FinallyKeyword */: return spanInNextNode(node); - case 144 /* OfKeyword */: + case 145 /* OfKeyword */: return spanInOfKeyword(node); default: // Destructuring pattern in destructuring assignment @@ -108307,13 +109228,13 @@ var ts; // `a` or `...c` or `d: x` from // `[a, b, ...c]` or `{ a, b }` or `{ d: x }` from destructuring pattern if ((node.kind === 71 /* Identifier */ || - node.kind === 203 /* SpreadElement */ || - node.kind === 269 /* PropertyAssignment */ || - node.kind === 270 /* ShorthandPropertyAssignment */) && - ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent)) { + node.kind === 204 /* SpreadElement */ || + node.kind === 270 /* PropertyAssignment */ || + node.kind === 271 /* ShorthandPropertyAssignment */) && + ts.isArrayLiteralOrObjectLiteralDestructuringPattern(parent)) { return textSpan(node); } - if (node.kind === 199 /* BinaryExpression */) { + if (node.kind === 200 /* BinaryExpression */) { var _a = node, left = _a.left, operatorToken = _a.operatorToken; // Set breakpoint in destructuring pattern if its destructuring assignment // [a, b, c] or {a, b, c} of @@ -108334,23 +109255,23 @@ var ts; } } if (ts.isExpressionNode(node)) { - switch (node.parent.kind) { - case 217 /* DoStatement */: + switch (parent.kind) { + case 218 /* DoStatement */: // Set span as if on while keyword return spanInPreviousNode(node); - case 149 /* Decorator */: + case 150 /* Decorator */: // Set breakpoint on the decorator emit return spanInNode(node.parent); - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: return textSpan(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (node.parent.operatorToken.kind === 26 /* CommaToken */) { // If this is a comma expression, the breakpoint is possible in this expression return textSpan(node); } break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: if (node.parent.body === node) { // If this is body of arrow function, it is allowed to have the breakpoint return textSpan(node); @@ -108359,21 +109280,21 @@ var ts; } } switch (node.parent.kind) { - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: // If this is name of property assignment, set breakpoint in the initializer if (node.parent.name === node && !ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.parent)) { return spanInNode(node.parent.initializer); } break; - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: // Breakpoint in type assertion goes to its operand if (node.parent.type === node) { return spanInNextNode(node.parent.type); } break; - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: { + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: { // initializer of variable/parameter declaration go to previous node var _b = node.parent, initializer = _b.initializer, type = _b.type; if (initializer === node || type === node || ts.isAssignmentOperator(node.kind)) { @@ -108381,7 +109302,7 @@ var ts; } break; } - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var left = node.parent.left; if (ts.isArrayLiteralOrObjectLiteralDestructuringPattern(left) && node !== left) { // If initializer of destructuring assignment move to previous token @@ -108411,9 +109332,10 @@ var ts; } function spanInVariableDeclaration(variableDeclaration) { // If declaration of for in statement, just set the span in parent - if (variableDeclaration.parent.parent.kind === 220 /* ForInStatement */) { + if (variableDeclaration.parent.parent.kind === 221 /* ForInStatement */) { return spanInNode(variableDeclaration.parent.parent); } + var parent = variableDeclaration.parent; // If this is a destructuring pattern, set breakpoint in binding pattern if (ts.isBindingPattern(variableDeclaration.name)) { return spanInBindingPattern(variableDeclaration.name); @@ -108422,7 +109344,7 @@ var ts; // or its declaration from 'for of' if (variableDeclaration.initializer || ts.hasModifier(variableDeclaration, 1 /* Export */) || - variableDeclaration.parent.parent.kind === 221 /* ForOfStatement */) { + parent.parent.kind === 222 /* ForOfStatement */) { return textSpanFromVariableDeclaration(variableDeclaration); } if (ts.isVariableDeclarationList(variableDeclaration.parent) && @@ -108463,7 +109385,7 @@ var ts; } function canFunctionHaveSpanInWholeDeclaration(functionDeclaration) { return ts.hasModifier(functionDeclaration, 1 /* Export */) || - (functionDeclaration.parent.kind === 234 /* ClassDeclaration */ && functionDeclaration.kind !== 154 /* Constructor */); + (functionDeclaration.parent.kind === 235 /* ClassDeclaration */ && functionDeclaration.kind !== 155 /* Constructor */); } function spanInFunctionDeclaration(functionDeclaration) { // No breakpoints in the function signature @@ -108486,26 +109408,26 @@ var ts; } function spanInBlock(block) { switch (block.parent.kind) { - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (ts.getModuleInstanceState(block.parent) !== 1 /* Instantiated */) { return undefined; } // falls through // Set on parent if on same line otherwise on first statement - case 218 /* WhileStatement */: - case 216 /* IfStatement */: - case 220 /* ForInStatement */: + case 219 /* WhileStatement */: + case 217 /* IfStatement */: + case 221 /* ForInStatement */: return spanInNodeIfStartsOnSameLine(block.parent, block.statements[0]); // Set span on previous token if it starts on same line otherwise on the first statement of the block - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(block.pos, sourceFile, block.parent), block.statements[0]); } // Default action is to set on first statement return spanInNode(block.statements[0]); } function spanInInitializerOfForLike(forLikeStatement) { - if (forLikeStatement.initializer.kind === 232 /* VariableDeclarationList */) { + if (forLikeStatement.initializer.kind === 233 /* VariableDeclarationList */) { // Declaration list - set breakpoint in first declaration var variableDeclarationList = forLikeStatement.initializer; if (variableDeclarationList.declarations.length > 0) { @@ -108530,21 +109452,21 @@ var ts; } function spanInBindingPattern(bindingPattern) { // Set breakpoint in first binding element - var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 205 /* OmittedExpression */ ? element : undefined; }); + var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 206 /* OmittedExpression */ ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } // Empty binding pattern of binding element, set breakpoint on binding element - if (bindingPattern.parent.kind === 181 /* BindingElement */) { + if (bindingPattern.parent.kind === 182 /* BindingElement */) { return textSpan(bindingPattern.parent); } // Variable declaration is used as the span return textSpanFromVariableDeclaration(bindingPattern.parent); } function spanInArrayLiteralOrObjectLiteralDestructuringPattern(node) { - ts.Debug.assert(node.kind !== 180 /* ArrayBindingPattern */ && node.kind !== 179 /* ObjectBindingPattern */); - var elements = node.kind === 182 /* ArrayLiteralExpression */ ? node.elements : node.properties; - var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 205 /* OmittedExpression */ ? element : undefined; }); + ts.Debug.assert(node.kind !== 181 /* ArrayBindingPattern */ && node.kind !== 180 /* ObjectBindingPattern */); + var elements = node.kind === 183 /* ArrayLiteralExpression */ ? node.elements : node.properties; + var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 206 /* OmittedExpression */ ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } @@ -108552,18 +109474,18 @@ var ts; // just nested element in another destructuring assignment // set breakpoint on assignment when parent is destructuring assignment // Otherwise set breakpoint for this element - return textSpan(node.parent.kind === 199 /* BinaryExpression */ ? node.parent : node); + return textSpan(node.parent.kind === 200 /* BinaryExpression */ ? node.parent : node); } // Tokens: function spanInOpenBraceToken(node) { switch (node.parent.kind) { - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: var enumDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), enumDeclaration.members.length ? enumDeclaration.members[0] : enumDeclaration.getLastToken(sourceFile)); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: var classDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), classDeclaration.members.length ? classDeclaration.members[0] : classDeclaration.getLastToken(sourceFile)); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return spanInNodeIfStartsOnSameLine(node.parent.parent, node.parent.clauses[0]); } // Default to parent node @@ -108571,25 +109493,25 @@ var ts; } function spanInCloseBraceToken(node) { switch (node.parent.kind) { - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: // If this is not an instantiated module block, no bp span if (ts.getModuleInstanceState(node.parent.parent) !== 1 /* Instantiated */) { return undefined; } // falls through - case 237 /* EnumDeclaration */: - case 234 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 235 /* ClassDeclaration */: // Span on close brace token return textSpan(node); - case 212 /* Block */: + case 213 /* Block */: if (ts.isFunctionBlock(node.parent)) { // Span on close brace token return textSpan(node); } // falls through - case 268 /* CatchClause */: + case 269 /* CatchClause */: return spanInNode(ts.lastOrUndefined(node.parent.statements)); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: // breakpoint in last statement of the last clause var caseBlock = node.parent; var lastClause = ts.lastOrUndefined(caseBlock.clauses); @@ -108597,7 +109519,7 @@ var ts; return spanInNode(ts.lastOrUndefined(lastClause.statements)); } return undefined; - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: // Breakpoint in last binding element or binding pattern if it contains no elements var bindingPattern = node.parent; return spanInNode(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); @@ -108613,7 +109535,7 @@ var ts; } function spanInCloseBracketToken(node) { switch (node.parent.kind) { - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: // Breakpoint in last binding element or binding pattern if it contains no elements var bindingPattern = node.parent; return textSpan(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); @@ -108628,12 +109550,12 @@ var ts; } } function spanInOpenParenToken(node) { - if (node.parent.kind === 217 /* DoStatement */ || // Go to while keyword and do action instead - node.parent.kind === 186 /* CallExpression */ || - node.parent.kind === 187 /* NewExpression */) { + if (node.parent.kind === 218 /* DoStatement */ || // Go to while keyword and do action instead + node.parent.kind === 187 /* CallExpression */ || + node.parent.kind === 188 /* NewExpression */) { return spanInPreviousNode(node); } - if (node.parent.kind === 190 /* ParenthesizedExpression */) { + if (node.parent.kind === 191 /* ParenthesizedExpression */) { return spanInNextNode(node); } // Default to parent node @@ -108642,21 +109564,21 @@ var ts; function spanInCloseParenToken(node) { // Is this close paren token of parameter list, set span in previous token switch (node.parent.kind) { - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 154 /* Constructor */: - case 218 /* WhileStatement */: - case 217 /* DoStatement */: - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 190 /* ParenthesizedExpression */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 155 /* Constructor */: + case 219 /* WhileStatement */: + case 218 /* DoStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 191 /* ParenthesizedExpression */: return spanInPreviousNode(node); // Default to parent node default: @@ -108666,20 +109588,20 @@ var ts; function spanInColonToken(node) { // Is this : specifying return annotation of the function declaration if (ts.isFunctionLike(node.parent) || - node.parent.kind === 269 /* PropertyAssignment */ || - node.parent.kind === 148 /* Parameter */) { + node.parent.kind === 270 /* PropertyAssignment */ || + node.parent.kind === 149 /* Parameter */) { return spanInPreviousNode(node); } return spanInNode(node.parent); } function spanInGreaterThanOrLessThanToken(node) { - if (node.parent.kind === 189 /* TypeAssertionExpression */) { + if (node.parent.kind === 190 /* TypeAssertionExpression */) { return spanInNextNode(node); } return spanInNode(node.parent); } function spanInWhileKeyword(node) { - if (node.parent.kind === 217 /* DoStatement */) { + if (node.parent.kind === 218 /* DoStatement */) { // Set span on while expression return textSpanEndingAtNextToken(node, node.parent.expression); } @@ -108687,7 +109609,7 @@ var ts; return spanInNode(node.parent); } function spanInOfKeyword(node) { - if (node.parent.kind === 221 /* ForOfStatement */) { + if (node.parent.kind === 222 /* ForOfStatement */) { // Set using next token return spanInNextNode(node); } @@ -108709,7 +109631,7 @@ var ts; */ function transform(source, transformers, compilerOptions) { var diagnostics = []; - compilerOptions = ts.fixupCompilerOptions(compilerOptions, diagnostics); + compilerOptions = ts.fixupCompilerOptions(compilerOptions, diagnostics); // TODO: GH#18217 var nodes = ts.isArray(source) ? source : [source]; var result = ts.transformNodes(/*resolver*/ undefined, /*emitHost*/ undefined, compilerOptions, nodes, transformers, /*allowDtsFiles*/ true); result.diagnostics = ts.concatenate(result.diagnostics, diagnostics); @@ -108758,16 +109680,16 @@ var ts; var oldSnapshotShim = oldSnapshot; var encoded = this.scriptSnapshotShim.getChangeRange(oldSnapshotShim.scriptSnapshotShim); if (encoded === null) { - return null; + return null; // TODO: GH#18217 } - var decoded = JSON.parse(encoded); + var decoded = JSON.parse(encoded); // TODO: GH#18217 return ts.createTextChangeRange(ts.createTextSpan(decoded.span.start, decoded.span.length), decoded.newLength); }; ScriptSnapshotShimAdapter.prototype.dispose = function () { // if scriptSnapshotShim is a COM object then property check becomes method call with no arguments // 'in' does not have this effect if ("dispose" in this.scriptSnapshotShim) { - this.scriptSnapshotShim.dispose(); + this.scriptSnapshotShim.dispose(); // TODO: GH#18217 Can we just use `if (this.scriptSnapshotShim.dispose)`? } }; return ScriptSnapshotShimAdapter; @@ -108782,10 +109704,10 @@ var ts; // 'in' does not have this effect. if ("getModuleResolutionsForFile" in this.shimHost) { this.resolveModuleNames = function (moduleNames, containingFile) { - var resolutionsInFile = JSON.parse(_this.shimHost.getModuleResolutionsForFile(containingFile)); + var resolutionsInFile = JSON.parse(_this.shimHost.getModuleResolutionsForFile(containingFile)); // TODO: GH#18217 return ts.map(moduleNames, function (name) { var result = ts.getProperty(resolutionsInFile, name); - return result ? { resolvedFileName: result, extension: ts.extensionFromPath(result), isExternalLibraryImport: false } : undefined; + return result ? { resolvedFileName: result, extension: ts.extensionFromPath(result), isExternalLibraryImport: false } : undefined; // TODO: GH#18217 }); }; } @@ -108794,8 +109716,8 @@ var ts; } if ("getTypeReferenceDirectiveResolutionsForFile" in this.shimHost) { this.resolveTypeReferenceDirectives = function (typeDirectiveNames, containingFile) { - var typeDirectivesForFile = JSON.parse(_this.shimHost.getTypeReferenceDirectiveResolutionsForFile(containingFile)); - return ts.map(typeDirectiveNames, function (name) { return ts.getProperty(typeDirectivesForFile, name); }); + var typeDirectivesForFile = JSON.parse(_this.shimHost.getTypeReferenceDirectiveResolutionsForFile(containingFile)); // TODO: GH#18217 + return ts.map(typeDirectiveNames, function (name) { return ts.getProperty(typeDirectivesForFile, name); }); // TODO: GH#18217 }; } } @@ -108815,7 +109737,7 @@ var ts; LanguageServiceShimHostAdapter.prototype.getProjectVersion = function () { if (!this.shimHost.getProjectVersion) { // shimmed host does not support getProjectVersion - return undefined; + return undefined; // TODO: GH#18217 } return this.shimHost.getProjectVersion(); }; @@ -108848,7 +109770,7 @@ var ts; }; LanguageServiceShimHostAdapter.prototype.getScriptKind = function (fileName) { if ("getScriptKind" in this.shimHost) { - return this.shimHost.getScriptKind(fileName); + return this.shimHost.getScriptKind(fileName); // TODO: GH#18217 } else { return 0 /* Unknown */; @@ -108884,7 +109806,7 @@ var ts; return this.shimHost.getDefaultLibFileName(JSON.stringify(options)); }; LanguageServiceShimHostAdapter.prototype.readDirectory = function (path, extensions, exclude, include, depth) { - var pattern = ts.getFileMatcherPatterns(path, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); + var pattern = ts.getFileMatcherPatterns(path, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); // TODO: GH#18217 return JSON.parse(this.shimHost.readDirectory(path, JSON.stringify(extensions), JSON.stringify(pattern.basePaths), pattern.excludePattern, pattern.includeFilePattern, pattern.includeDirectoryPattern, depth)); }; LanguageServiceShimHostAdapter.prototype.readFile = function (path, encoding) { @@ -108905,11 +109827,11 @@ var ts; this.directoryExists = function (directoryName) { return _this.shimHost.directoryExists(directoryName); }; } if ("realpath" in this.shimHost) { - this.realpath = function (path) { return _this.shimHost.realpath(path); }; + this.realpath = function (path) { return _this.shimHost.realpath(path); }; // TODO: GH#18217 } } CoreServicesShimHostAdapter.prototype.readDirectory = function (rootDir, extensions, exclude, include, depth) { - var pattern = ts.getFileMatcherPatterns(rootDir, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); + var pattern = ts.getFileMatcherPatterns(rootDir, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); // TODO: GH#18217 return JSON.parse(this.shimHost.readDirectory(rootDir, JSON.stringify(extensions), JSON.stringify(pattern.basePaths), pattern.excludePattern, pattern.includeFilePattern, pattern.includeDirectoryPattern, depth)); }; CoreServicesShimHostAdapter.prototype.fileExists = function (fileName) { @@ -108981,7 +109903,8 @@ var ts; start: diagnostic.start, length: diagnostic.length, category: ts.diagnosticCategoryName(diagnostic), - code: diagnostic.code + code: diagnostic.code, + reportsUnnecessary: diagnostic.reportsUnnecessary, }; } var LanguageServiceShimObject = /** @class */ (function (_super) { @@ -109287,10 +110210,12 @@ var ts; } ClassifierShimObject.prototype.getEncodedLexicalClassifications = function (text, lexState, syntacticClassifierAbsent) { var _this = this; + if (syntacticClassifierAbsent === void 0) { syntacticClassifierAbsent = false; } return forwardJSONCall(this.logger, "getEncodedLexicalClassifications", function () { return convertClassifications(_this.classifier.getEncodedLexicalClassifications(text, lexState, syntacticClassifierAbsent)); }, this.logPerformance); }; /// COLORIZATION ClassifierShimObject.prototype.getClassificationsForLine = function (text, lexState, classifyKeywordsInGenerics) { + if (classifyKeywordsInGenerics === void 0) { classifyKeywordsInGenerics = false; } var classification = this.classifier.getClassificationsForLine(text, lexState, classifyKeywordsInGenerics); var result = ""; for (var _i = 0, _a = classification.entries; _i < _a.length; _i++) { diff --git a/lib/typescriptServices.d.ts b/lib/typescriptServices.d.ts index d237cc98eee..68ee36c20e0 100644 --- a/lib/typescriptServices.d.ts +++ b/lib/typescriptServices.d.ts @@ -204,169 +204,170 @@ declare namespace ts { TypeKeyword = 139, UndefinedKeyword = 140, UniqueKeyword = 141, - FromKeyword = 142, - GlobalKeyword = 143, - OfKeyword = 144, - QualifiedName = 145, - ComputedPropertyName = 146, - TypeParameter = 147, - Parameter = 148, - Decorator = 149, - PropertySignature = 150, - PropertyDeclaration = 151, - MethodSignature = 152, - MethodDeclaration = 153, - Constructor = 154, - GetAccessor = 155, - SetAccessor = 156, - CallSignature = 157, - ConstructSignature = 158, - IndexSignature = 159, - TypePredicate = 160, - TypeReference = 161, - FunctionType = 162, - ConstructorType = 163, - TypeQuery = 164, - TypeLiteral = 165, - ArrayType = 166, - TupleType = 167, - UnionType = 168, - IntersectionType = 169, - ConditionalType = 170, - InferType = 171, - ParenthesizedType = 172, - ThisType = 173, - TypeOperator = 174, - IndexedAccessType = 175, - MappedType = 176, - LiteralType = 177, - ImportType = 178, - ObjectBindingPattern = 179, - ArrayBindingPattern = 180, - BindingElement = 181, - ArrayLiteralExpression = 182, - ObjectLiteralExpression = 183, - PropertyAccessExpression = 184, - ElementAccessExpression = 185, - CallExpression = 186, - NewExpression = 187, - TaggedTemplateExpression = 188, - TypeAssertionExpression = 189, - ParenthesizedExpression = 190, - FunctionExpression = 191, - ArrowFunction = 192, - DeleteExpression = 193, - TypeOfExpression = 194, - VoidExpression = 195, - AwaitExpression = 196, - PrefixUnaryExpression = 197, - PostfixUnaryExpression = 198, - BinaryExpression = 199, - ConditionalExpression = 200, - TemplateExpression = 201, - YieldExpression = 202, - SpreadElement = 203, - ClassExpression = 204, - OmittedExpression = 205, - ExpressionWithTypeArguments = 206, - AsExpression = 207, - NonNullExpression = 208, - MetaProperty = 209, - TemplateSpan = 210, - SemicolonClassElement = 211, - Block = 212, - VariableStatement = 213, - EmptyStatement = 214, - ExpressionStatement = 215, - IfStatement = 216, - DoStatement = 217, - WhileStatement = 218, - ForStatement = 219, - ForInStatement = 220, - ForOfStatement = 221, - ContinueStatement = 222, - BreakStatement = 223, - ReturnStatement = 224, - WithStatement = 225, - SwitchStatement = 226, - LabeledStatement = 227, - ThrowStatement = 228, - TryStatement = 229, - DebuggerStatement = 230, - VariableDeclaration = 231, - VariableDeclarationList = 232, - FunctionDeclaration = 233, - ClassDeclaration = 234, - InterfaceDeclaration = 235, - TypeAliasDeclaration = 236, - EnumDeclaration = 237, - ModuleDeclaration = 238, - ModuleBlock = 239, - CaseBlock = 240, - NamespaceExportDeclaration = 241, - ImportEqualsDeclaration = 242, - ImportDeclaration = 243, - ImportClause = 244, - NamespaceImport = 245, - NamedImports = 246, - ImportSpecifier = 247, - ExportAssignment = 248, - ExportDeclaration = 249, - NamedExports = 250, - ExportSpecifier = 251, - MissingDeclaration = 252, - ExternalModuleReference = 253, - JsxElement = 254, - JsxSelfClosingElement = 255, - JsxOpeningElement = 256, - JsxClosingElement = 257, - JsxFragment = 258, - JsxOpeningFragment = 259, - JsxClosingFragment = 260, - JsxAttribute = 261, - JsxAttributes = 262, - JsxSpreadAttribute = 263, - JsxExpression = 264, - CaseClause = 265, - DefaultClause = 266, - HeritageClause = 267, - CatchClause = 268, - PropertyAssignment = 269, - ShorthandPropertyAssignment = 270, - SpreadAssignment = 271, - EnumMember = 272, - SourceFile = 273, - Bundle = 274, - UnparsedSource = 275, - InputFiles = 276, - JSDocTypeExpression = 277, - JSDocAllType = 278, - JSDocUnknownType = 279, - JSDocNullableType = 280, - JSDocNonNullableType = 281, - JSDocOptionalType = 282, - JSDocFunctionType = 283, - JSDocVariadicType = 284, - JSDocComment = 285, - JSDocTypeLiteral = 286, - JSDocSignature = 287, - JSDocTag = 288, - JSDocAugmentsTag = 289, - JSDocClassTag = 290, - JSDocCallbackTag = 291, - JSDocParameterTag = 292, - JSDocReturnTag = 293, - JSDocTypeTag = 294, - JSDocTemplateTag = 295, - JSDocTypedefTag = 296, - JSDocPropertyTag = 297, - SyntaxList = 298, - NotEmittedStatement = 299, - PartiallyEmittedExpression = 300, - CommaListExpression = 301, - MergeDeclarationMarker = 302, - EndOfDeclarationMarker = 303, - Count = 304, + UnknownKeyword = 142, + FromKeyword = 143, + GlobalKeyword = 144, + OfKeyword = 145, + QualifiedName = 146, + ComputedPropertyName = 147, + TypeParameter = 148, + Parameter = 149, + Decorator = 150, + PropertySignature = 151, + PropertyDeclaration = 152, + MethodSignature = 153, + MethodDeclaration = 154, + Constructor = 155, + GetAccessor = 156, + SetAccessor = 157, + CallSignature = 158, + ConstructSignature = 159, + IndexSignature = 160, + TypePredicate = 161, + TypeReference = 162, + FunctionType = 163, + ConstructorType = 164, + TypeQuery = 165, + TypeLiteral = 166, + ArrayType = 167, + TupleType = 168, + UnionType = 169, + IntersectionType = 170, + ConditionalType = 171, + InferType = 172, + ParenthesizedType = 173, + ThisType = 174, + TypeOperator = 175, + IndexedAccessType = 176, + MappedType = 177, + LiteralType = 178, + ImportType = 179, + ObjectBindingPattern = 180, + ArrayBindingPattern = 181, + BindingElement = 182, + ArrayLiteralExpression = 183, + ObjectLiteralExpression = 184, + PropertyAccessExpression = 185, + ElementAccessExpression = 186, + CallExpression = 187, + NewExpression = 188, + TaggedTemplateExpression = 189, + TypeAssertionExpression = 190, + ParenthesizedExpression = 191, + FunctionExpression = 192, + ArrowFunction = 193, + DeleteExpression = 194, + TypeOfExpression = 195, + VoidExpression = 196, + AwaitExpression = 197, + PrefixUnaryExpression = 198, + PostfixUnaryExpression = 199, + BinaryExpression = 200, + ConditionalExpression = 201, + TemplateExpression = 202, + YieldExpression = 203, + SpreadElement = 204, + ClassExpression = 205, + OmittedExpression = 206, + ExpressionWithTypeArguments = 207, + AsExpression = 208, + NonNullExpression = 209, + MetaProperty = 210, + TemplateSpan = 211, + SemicolonClassElement = 212, + Block = 213, + VariableStatement = 214, + EmptyStatement = 215, + ExpressionStatement = 216, + IfStatement = 217, + DoStatement = 218, + WhileStatement = 219, + ForStatement = 220, + ForInStatement = 221, + ForOfStatement = 222, + ContinueStatement = 223, + BreakStatement = 224, + ReturnStatement = 225, + WithStatement = 226, + SwitchStatement = 227, + LabeledStatement = 228, + ThrowStatement = 229, + TryStatement = 230, + DebuggerStatement = 231, + VariableDeclaration = 232, + VariableDeclarationList = 233, + FunctionDeclaration = 234, + ClassDeclaration = 235, + InterfaceDeclaration = 236, + TypeAliasDeclaration = 237, + EnumDeclaration = 238, + ModuleDeclaration = 239, + ModuleBlock = 240, + CaseBlock = 241, + NamespaceExportDeclaration = 242, + ImportEqualsDeclaration = 243, + ImportDeclaration = 244, + ImportClause = 245, + NamespaceImport = 246, + NamedImports = 247, + ImportSpecifier = 248, + ExportAssignment = 249, + ExportDeclaration = 250, + NamedExports = 251, + ExportSpecifier = 252, + MissingDeclaration = 253, + ExternalModuleReference = 254, + JsxElement = 255, + JsxSelfClosingElement = 256, + JsxOpeningElement = 257, + JsxClosingElement = 258, + JsxFragment = 259, + JsxOpeningFragment = 260, + JsxClosingFragment = 261, + JsxAttribute = 262, + JsxAttributes = 263, + JsxSpreadAttribute = 264, + JsxExpression = 265, + CaseClause = 266, + DefaultClause = 267, + HeritageClause = 268, + CatchClause = 269, + PropertyAssignment = 270, + ShorthandPropertyAssignment = 271, + SpreadAssignment = 272, + EnumMember = 273, + SourceFile = 274, + Bundle = 275, + UnparsedSource = 276, + InputFiles = 277, + JSDocTypeExpression = 278, + JSDocAllType = 279, + JSDocUnknownType = 280, + JSDocNullableType = 281, + JSDocNonNullableType = 282, + JSDocOptionalType = 283, + JSDocFunctionType = 284, + JSDocVariadicType = 285, + JSDocComment = 286, + JSDocTypeLiteral = 287, + JSDocSignature = 288, + JSDocTag = 289, + JSDocAugmentsTag = 290, + JSDocClassTag = 291, + JSDocCallbackTag = 292, + JSDocParameterTag = 293, + JSDocReturnTag = 294, + JSDocTypeTag = 295, + JSDocTemplateTag = 296, + JSDocTypedefTag = 297, + JSDocPropertyTag = 298, + SyntaxList = 299, + NotEmittedStatement = 300, + PartiallyEmittedExpression = 301, + CommaListExpression = 302, + MergeDeclarationMarker = 303, + EndOfDeclarationMarker = 304, + Count = 305, FirstAssignment = 58, LastAssignment = 70, FirstCompoundAssignment = 59, @@ -374,15 +375,15 @@ declare namespace ts { FirstReservedWord = 72, LastReservedWord = 107, FirstKeyword = 72, - LastKeyword = 144, + LastKeyword = 145, FirstFutureReservedWord = 108, LastFutureReservedWord = 116, - FirstTypeNode = 160, - LastTypeNode = 178, + FirstTypeNode = 161, + LastTypeNode = 179, FirstPunctuation = 17, LastPunctuation = 70, FirstToken = 0, - LastToken = 144, + LastToken = 145, FirstTriviaToken = 2, LastTriviaToken = 7, FirstLiteralToken = 8, @@ -391,11 +392,11 @@ declare namespace ts { LastTemplateToken = 16, FirstBinaryOperator = 27, LastBinaryOperator = 70, - FirstNode = 145, - FirstJSDocNode = 277, - LastJSDocNode = 297, - FirstJSDocTagNode = 288, - LastJSDocTagNode = 297 + FirstNode = 146, + FirstJSDocNode = 278, + LastJSDocNode = 298, + FirstJSDocTagNode = 289, + LastJSDocTagNode = 298 } enum NodeFlags { None = 0, @@ -460,7 +461,7 @@ declare namespace ts { flags: NodeFlags; decorators?: NodeArray; modifiers?: ModifiersArray; - parent?: Node; + parent: Node; } interface JSDocContainer { } @@ -525,12 +526,12 @@ declare namespace ts { } interface Decorator extends Node { kind: SyntaxKind.Decorator; - parent?: NamedDeclaration; + parent: NamedDeclaration; expression: LeftHandSideExpression; } interface TypeParameterDeclaration extends NamedDeclaration { kind: SyntaxKind.TypeParameter; - parent?: DeclarationWithTypeParameters | InferTypeNode; + parent: DeclarationWithTypeParameters | InferTypeNode; name: Identifier; constraint?: TypeNode; default?: TypeNode; @@ -541,7 +542,7 @@ declare namespace ts { name?: PropertyName; typeParameters?: NodeArray; parameters: NodeArray; - type: TypeNode | undefined; + type?: TypeNode; } type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction; interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement { @@ -553,7 +554,7 @@ declare namespace ts { type BindingName = Identifier | BindingPattern; interface VariableDeclaration extends NamedDeclaration { kind: SyntaxKind.VariableDeclaration; - parent?: VariableDeclarationList | CatchClause; + parent: VariableDeclarationList | CatchClause; name: BindingName; exclamationToken?: ExclamationToken; type?: TypeNode; @@ -561,12 +562,12 @@ declare namespace ts { } interface VariableDeclarationList extends Node { kind: SyntaxKind.VariableDeclarationList; - parent?: VariableStatement | ForStatement | ForOfStatement | ForInStatement; + parent: VariableStatement | ForStatement | ForOfStatement | ForInStatement; declarations: NodeArray; } interface ParameterDeclaration extends NamedDeclaration, JSDocContainer { kind: SyntaxKind.Parameter; - parent?: SignatureDeclaration; + parent: SignatureDeclaration; dotDotDotToken?: DotDotDotToken; name: BindingName; questionToken?: QuestionToken; @@ -575,7 +576,7 @@ declare namespace ts { } interface BindingElement extends NamedDeclaration { kind: SyntaxKind.BindingElement; - parent?: BindingPattern; + parent: BindingPattern; propertyName?: PropertyName; dotDotDotToken?: DotDotDotToken; name: BindingName; @@ -628,12 +629,12 @@ declare namespace ts { } interface ObjectBindingPattern extends Node { kind: SyntaxKind.ObjectBindingPattern; - parent?: VariableDeclaration | ParameterDeclaration | BindingElement; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; elements: NodeArray; } interface ArrayBindingPattern extends Node { kind: SyntaxKind.ArrayBindingPattern; - parent?: VariableDeclaration | ParameterDeclaration | BindingElement; + parent: VariableDeclaration | ParameterDeclaration | BindingElement; elements: NodeArray; } type BindingPattern = ObjectBindingPattern | ArrayBindingPattern; @@ -662,47 +663,47 @@ declare namespace ts { } interface MethodSignature extends SignatureDeclarationBase, TypeElement { kind: SyntaxKind.MethodSignature; - parent?: ObjectTypeDeclaration; + parent: ObjectTypeDeclaration; name: PropertyName; } interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { kind: SyntaxKind.MethodDeclaration; - parent?: ClassLikeDeclaration | ObjectLiteralExpression; + parent: ClassLikeDeclaration | ObjectLiteralExpression; name: PropertyName; body?: FunctionBody; } interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer { kind: SyntaxKind.Constructor; - parent?: ClassLikeDeclaration; + parent: ClassLikeDeclaration; body?: FunctionBody; } /** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ interface SemicolonClassElement extends ClassElement { kind: SyntaxKind.SemicolonClassElement; - parent?: ClassLikeDeclaration; + parent: ClassLikeDeclaration; } interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { kind: SyntaxKind.GetAccessor; - parent?: ClassLikeDeclaration | ObjectLiteralExpression; + parent: ClassLikeDeclaration | ObjectLiteralExpression; name: PropertyName; body?: FunctionBody; } interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { kind: SyntaxKind.SetAccessor; - parent?: ClassLikeDeclaration | ObjectLiteralExpression; + parent: ClassLikeDeclaration | ObjectLiteralExpression; name: PropertyName; body?: FunctionBody; } type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration; interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement { kind: SyntaxKind.IndexSignature; - parent?: ObjectTypeDeclaration; + parent: ObjectTypeDeclaration; } interface TypeNode extends Node { _typeNodeBrand: any; } interface KeywordTypeNode extends TypeNode { - kind: SyntaxKind.AnyKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.VoidKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.NullKeyword | SyntaxKind.NeverKeyword; + kind: SyntaxKind.AnyKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.VoidKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.NullKeyword | SyntaxKind.NeverKeyword; } interface ImportTypeNode extends NodeWithTypeArguments { kind: SyntaxKind.ImportType; @@ -730,7 +731,7 @@ declare namespace ts { } interface TypePredicateNode extends TypeNode { kind: SyntaxKind.TypePredicate; - parent?: SignatureDeclaration; + parent: SignatureDeclaration; parameterName: Identifier | ThisTypeNode; type: TypeNode; } @@ -959,15 +960,15 @@ declare namespace ts { } interface TemplateHead extends LiteralLikeNode { kind: SyntaxKind.TemplateHead; - parent?: TemplateExpression; + parent: TemplateExpression; } interface TemplateMiddle extends LiteralLikeNode { kind: SyntaxKind.TemplateMiddle; - parent?: TemplateSpan; + parent: TemplateSpan; } interface TemplateTail extends LiteralLikeNode { kind: SyntaxKind.TemplateTail; - parent?: TemplateSpan; + parent: TemplateSpan; } type TemplateLiteral = TemplateExpression | NoSubstitutionTemplateLiteral; interface TemplateExpression extends PrimaryExpression { @@ -977,7 +978,7 @@ declare namespace ts { } interface TemplateSpan extends Node { kind: SyntaxKind.TemplateSpan; - parent?: TemplateExpression; + parent: TemplateExpression; expression: Expression; literal: TemplateMiddle | TemplateTail; } @@ -991,7 +992,7 @@ declare namespace ts { } interface SpreadElement extends Expression { kind: SyntaxKind.SpreadElement; - parent?: ArrayLiteralExpression | CallExpression | NewExpression; + parent: ArrayLiteralExpression | CallExpression | NewExpression; expression: Expression; } /** @@ -1044,7 +1045,7 @@ declare namespace ts { } interface ExpressionWithTypeArguments extends NodeWithTypeArguments { kind: SyntaxKind.ExpressionWithTypeArguments; - parent?: HeritageClause; + parent: HeritageClause; expression: LeftHandSideExpression; } interface NewExpression extends PrimaryExpression, Declaration { @@ -1090,11 +1091,11 @@ declare namespace ts { type JsxAttributeLike = JsxAttribute | JsxSpreadAttribute; type JsxTagNameExpression = PrimaryExpression | PropertyAccessExpression; interface JsxAttributes extends ObjectLiteralExpressionBase { - parent?: JsxOpeningLikeElement; + parent: JsxOpeningLikeElement; } interface JsxOpeningElement extends Expression { kind: SyntaxKind.JsxOpeningElement; - parent?: JsxElement; + parent: JsxElement; tagName: JsxTagNameExpression; typeArguments?: NodeArray; attributes: JsxAttributes; @@ -1113,38 +1114,38 @@ declare namespace ts { } interface JsxOpeningFragment extends Expression { kind: SyntaxKind.JsxOpeningFragment; - parent?: JsxFragment; + parent: JsxFragment; } interface JsxClosingFragment extends Expression { kind: SyntaxKind.JsxClosingFragment; - parent?: JsxFragment; + parent: JsxFragment; } interface JsxAttribute extends ObjectLiteralElement { kind: SyntaxKind.JsxAttribute; - parent?: JsxAttributes; + parent: JsxAttributes; name: Identifier; initializer?: StringLiteral | JsxExpression; } interface JsxSpreadAttribute extends ObjectLiteralElement { kind: SyntaxKind.JsxSpreadAttribute; - parent?: JsxAttributes; + parent: JsxAttributes; expression: Expression; } interface JsxClosingElement extends Node { kind: SyntaxKind.JsxClosingElement; - parent?: JsxElement; + parent: JsxElement; tagName: JsxTagNameExpression; } interface JsxExpression extends Expression { kind: SyntaxKind.JsxExpression; - parent?: JsxElement | JsxAttributeLike; + parent: JsxElement | JsxAttributeLike; dotDotDotToken?: Token; expression?: Expression; } interface JsxText extends Node { kind: SyntaxKind.JsxText; containsOnlyWhiteSpaces: boolean; - parent?: JsxElement; + parent: JsxElement; } type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment; interface Statement extends Node { @@ -1245,18 +1246,18 @@ declare namespace ts { } interface CaseBlock extends Node { kind: SyntaxKind.CaseBlock; - parent?: SwitchStatement; + parent: SwitchStatement; clauses: NodeArray; } interface CaseClause extends Node { kind: SyntaxKind.CaseClause; - parent?: CaseBlock; + parent: CaseBlock; expression: Expression; statements: NodeArray; } interface DefaultClause extends Node { kind: SyntaxKind.DefaultClause; - parent?: CaseBlock; + parent: CaseBlock; statements: NodeArray; } type CaseOrDefaultClause = CaseClause | DefaultClause; @@ -1267,7 +1268,7 @@ declare namespace ts { } interface ThrowStatement extends Statement { kind: SyntaxKind.ThrowStatement; - expression: Expression; + expression?: Expression; } interface TryStatement extends Statement { kind: SyntaxKind.TryStatement; @@ -1277,7 +1278,7 @@ declare namespace ts { } interface CatchClause extends Node { kind: SyntaxKind.CatchClause; - parent?: TryStatement; + parent: TryStatement; variableDeclaration?: VariableDeclaration; block: Block; } @@ -1317,7 +1318,7 @@ declare namespace ts { } interface HeritageClause extends Node { kind: SyntaxKind.HeritageClause; - parent?: InterfaceDeclaration | ClassLikeDeclaration; + parent: InterfaceDeclaration | ClassLikeDeclaration; token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword; types: NodeArray; } @@ -1329,7 +1330,7 @@ declare namespace ts { } interface EnumMember extends NamedDeclaration, JSDocContainer { kind: SyntaxKind.EnumMember; - parent?: EnumDeclaration; + parent: EnumDeclaration; name: PropertyName; initializer?: Expression; } @@ -1342,7 +1343,7 @@ declare namespace ts { type ModuleBody = NamespaceBody | JSDocNamespaceBody; interface ModuleDeclaration extends DeclarationStatement, JSDocContainer { kind: SyntaxKind.ModuleDeclaration; - parent?: ModuleBody | SourceFile; + parent: ModuleBody | SourceFile; name: ModuleName; body?: ModuleBody | JSDocNamespaceDeclaration; } @@ -1354,11 +1355,11 @@ declare namespace ts { type JSDocNamespaceBody = Identifier | JSDocNamespaceDeclaration; interface JSDocNamespaceDeclaration extends ModuleDeclaration { name: Identifier; - body: JSDocNamespaceBody; + body?: JSDocNamespaceBody; } interface ModuleBlock extends Node, Statement { kind: SyntaxKind.ModuleBlock; - parent?: ModuleDeclaration; + parent: ModuleDeclaration; statements: NodeArray; } type ModuleReference = EntityName | ExternalModuleReference; @@ -1369,18 +1370,18 @@ declare namespace ts { */ interface ImportEqualsDeclaration extends DeclarationStatement, JSDocContainer { kind: SyntaxKind.ImportEqualsDeclaration; - parent?: SourceFile | ModuleBlock; + parent: SourceFile | ModuleBlock; name: Identifier; moduleReference: ModuleReference; } interface ExternalModuleReference extends Node { kind: SyntaxKind.ExternalModuleReference; - parent?: ImportEqualsDeclaration; - expression?: Expression; + parent: ImportEqualsDeclaration; + expression: Expression; } interface ImportDeclaration extends Statement { kind: SyntaxKind.ImportDeclaration; - parent?: SourceFile | ModuleBlock; + parent: SourceFile | ModuleBlock; importClause?: ImportClause; /** If this is not a StringLiteral it will be a grammar error. */ moduleSpecifier: Expression; @@ -1388,13 +1389,13 @@ declare namespace ts { type NamedImportBindings = NamespaceImport | NamedImports; interface ImportClause extends NamedDeclaration { kind: SyntaxKind.ImportClause; - parent?: ImportDeclaration; + parent: ImportDeclaration; name?: Identifier; namedBindings?: NamedImportBindings; } interface NamespaceImport extends NamedDeclaration { kind: SyntaxKind.NamespaceImport; - parent?: ImportClause; + parent: ImportClause; name: Identifier; } interface NamespaceExportDeclaration extends DeclarationStatement { @@ -1403,7 +1404,7 @@ declare namespace ts { } interface ExportDeclaration extends DeclarationStatement { kind: SyntaxKind.ExportDeclaration; - parent?: SourceFile | ModuleBlock; + parent: SourceFile | ModuleBlock; /** Will not be assigned in the case of `export * from "foo";` */ exportClause?: NamedExports; /** If this is not a StringLiteral it will be a grammar error. */ @@ -1411,24 +1412,24 @@ declare namespace ts { } interface NamedImports extends Node { kind: SyntaxKind.NamedImports; - parent?: ImportClause; + parent: ImportClause; elements: NodeArray; } interface NamedExports extends Node { kind: SyntaxKind.NamedExports; - parent?: ExportDeclaration; + parent: ExportDeclaration; elements: NodeArray; } type NamedImportsOrExports = NamedImports | NamedExports; interface ImportSpecifier extends NamedDeclaration { kind: SyntaxKind.ImportSpecifier; - parent?: NamedImports; + parent: NamedImports; propertyName?: Identifier; name: Identifier; } interface ExportSpecifier extends NamedDeclaration { kind: SyntaxKind.ExportSpecifier; - parent?: NamedExports; + parent: NamedExports; propertyName?: Identifier; name: Identifier; } @@ -1439,7 +1440,7 @@ declare namespace ts { */ interface ExportAssignment extends DeclarationStatement { kind: SyntaxKind.ExportAssignment; - parent?: SourceFile; + parent: SourceFile; isExportEquals?: boolean; expression: Expression; } @@ -1494,15 +1495,15 @@ declare namespace ts { type JSDocTypeReferencingNode = JSDocVariadicType | JSDocOptionalType | JSDocNullableType | JSDocNonNullableType; interface JSDoc extends Node { kind: SyntaxKind.JSDocComment; - parent?: HasJSDoc; - tags: NodeArray | undefined; - comment: string | undefined; + parent: HasJSDoc; + tags?: NodeArray; + comment?: string; } interface JSDocTag extends Node { parent: JSDoc | JSDocTypeLiteral; atToken: AtToken; tagName: Identifier; - comment: string | undefined; + comment?: string; } interface JSDocUnknownTag extends JSDocTag { kind: SyntaxKind.JSDocTag; @@ -1526,11 +1527,11 @@ declare namespace ts { } interface JSDocReturnTag extends JSDocTag { kind: SyntaxKind.JSDocReturnTag; - typeExpression: JSDocTypeExpression; + typeExpression?: JSDocTypeExpression; } interface JSDocTypeTag extends JSDocTag { kind: SyntaxKind.JSDocTypeTag; - typeExpression: JSDocTypeExpression; + typeExpression?: JSDocTypeExpression; } interface JSDocTypedefTag extends JSDocTag, NamedDeclaration { parent: JSDoc; @@ -1608,7 +1609,7 @@ declare namespace ts { container?: FunctionExpression | ArrowFunction | MethodDeclaration; } interface FlowLabel extends FlowNodeBase { - antecedents: FlowNode[]; + antecedents: FlowNode[] | undefined; } interface FlowAssignment extends FlowNodeBase { node: Expression | VariableDeclaration | BindingElement; @@ -1635,7 +1636,7 @@ declare namespace ts { } interface AmdDependency { path: string; - name: string; + name?: string; } interface SourceFile extends Declaration { kind: SyntaxKind.SourceFile; @@ -1644,7 +1645,7 @@ declare namespace ts { fileName: string; text: string; amdDependencies: ReadonlyArray; - moduleName: string; + moduleName?: string; referencedFiles: ReadonlyArray; typeReferenceDirectives: ReadonlyArray; languageVariant: LanguageVariant; @@ -1704,7 +1705,7 @@ declare namespace ts { fileExists(path: string): boolean; readFile(path: string): string | undefined; } - type WriteFileCallback = (fileName: string, data: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles: ReadonlyArray) => void; + type WriteFileCallback = (fileName: string, data: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles?: ReadonlyArray) => void; class OperationCanceledException { } interface CancellationToken { @@ -1734,9 +1735,10 @@ declare namespace ts { emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult; getOptionsDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; getGlobalDiagnostics(cancellationToken?: CancellationToken): ReadonlyArray; - getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + /** The first time this is called, it will return global diagnostics (no location). */ getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; - getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; + getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): ReadonlyArray; getConfigFileParsingDiagnostics(): ReadonlyArray; /** * Gets a type checker that can be used to semantically analyze source files in the program. @@ -1793,7 +1795,7 @@ declare namespace ts { emitSkipped: boolean; /** Contains declaration emit diagnostics */ diagnostics: ReadonlyArray; - emittedFiles: string[]; + emittedFiles?: string[]; } interface TypeChecker { getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type; @@ -1810,7 +1812,7 @@ declare namespace ts { getNullableType(type: Type, flags: TypeFlags): Type; getNonNullableType(type: Type): Type; /** Note that the resulting nodes cannot be checked. */ - typeToTypeNode(type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeNode; + typeToTypeNode(type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): TypeNode | undefined; /** Note that the resulting nodes cannot be checked. */ signatureToSignatureDeclaration(signature: Signature, kind: SyntaxKind, enclosingDeclaration?: Node, flags?: NodeBuilderFlags): (SignatureDeclaration & { typeArguments?: NodeArray; @@ -1846,7 +1848,7 @@ declare namespace ts { */ getExportSymbolOfSymbol(symbol: Symbol): Symbol; getPropertySymbolOfDestructuringAssignment(location: Identifier): Symbol | undefined; - getTypeAtLocation(node: Node): Type; + getTypeAtLocation(node: Node): Type | undefined; getTypeFromTypeNode(node: TypeNode): Type; signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): string; typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; @@ -1863,9 +1865,10 @@ declare namespace ts { getContextualType(node: Expression): Type | undefined; /** * returns unknownSignature in the case of an error. + * returns undefined if the node is not valid. * @param argumentCount Apparent number of arguments, passed in case of a possibly incomplete call. This should come from an ArgumentListInfo. See `signatureHelp.ts`. */ - getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature; + getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined; getSignatureFromDeclaration(declaration: SignatureDeclaration): Signature | undefined; isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined; isUndefinedSymbol(symbol: Symbol): boolean; @@ -2069,8 +2072,8 @@ declare namespace ts { interface Symbol { flags: SymbolFlags; escapedName: __String; - declarations?: Declaration[]; - valueDeclaration?: Declaration; + declarations: Declaration[]; + valueDeclaration: Declaration; members?: SymbolTable; exports?: SymbolTable; globalExports?: SymbolTable; @@ -2126,61 +2129,62 @@ declare namespace ts { type SymbolTable = UnderscoreEscapedMap; enum TypeFlags { Any = 1, - String = 2, - Number = 4, - Boolean = 8, - Enum = 16, - StringLiteral = 32, - NumberLiteral = 64, - BooleanLiteral = 128, - EnumLiteral = 256, - ESSymbol = 512, - UniqueESSymbol = 1024, - Void = 2048, - Undefined = 4096, - Null = 8192, - Never = 16384, - TypeParameter = 32768, - Object = 65536, - Union = 131072, - Intersection = 262144, - Index = 524288, - IndexedAccess = 1048576, - Conditional = 2097152, - Substitution = 4194304, - NonPrimitive = 134217728, - Literal = 224, - Unit = 13536, - StringOrNumberLiteral = 96, - PossiblyFalsy = 14574, - StringLike = 34, - NumberLike = 84, - BooleanLike = 136, - EnumLike = 272, - ESSymbolLike = 1536, - VoidLike = 6144, - UnionOrIntersection = 393216, - StructuredType = 458752, - TypeVariable = 1081344, - InstantiableNonPrimitive = 7372800, - InstantiablePrimitive = 524288, - Instantiable = 7897088, - StructuredOrInstantiable = 8355840, - Narrowable = 142575359, - NotUnionOrUnit = 134283777 + Unknown = 2, + String = 4, + Number = 8, + Boolean = 16, + Enum = 32, + StringLiteral = 64, + NumberLiteral = 128, + BooleanLiteral = 256, + EnumLiteral = 512, + ESSymbol = 1024, + UniqueESSymbol = 2048, + Void = 4096, + Undefined = 8192, + Null = 16384, + Never = 32768, + TypeParameter = 65536, + Object = 131072, + Union = 262144, + Intersection = 524288, + Index = 1048576, + IndexedAccess = 2097152, + Conditional = 4194304, + Substitution = 8388608, + NonPrimitive = 16777216, + Literal = 448, + Unit = 27072, + StringOrNumberLiteral = 192, + PossiblyFalsy = 29148, + StringLike = 68, + NumberLike = 168, + BooleanLike = 272, + EnumLike = 544, + ESSymbolLike = 3072, + VoidLike = 12288, + UnionOrIntersection = 786432, + StructuredType = 917504, + TypeVariable = 2162688, + InstantiableNonPrimitive = 14745600, + InstantiablePrimitive = 1048576, + Instantiable = 15794176, + StructuredOrInstantiable = 16711680, + Narrowable = 33492479, + NotUnionOrUnit = 16909315 } type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression; interface Type { flags: TypeFlags; - symbol?: Symbol; + symbol: Symbol; pattern?: DestructuringPattern; aliasSymbol?: Symbol; aliasTypeArguments?: Type[]; } interface LiteralType extends Type { value: string | number; - freshType?: LiteralType; - regularType?: LiteralType; + freshType: LiteralType; + regularType: LiteralType; } interface UniqueESSymbolType extends Type { symbol: Symbol; @@ -2215,18 +2219,18 @@ declare namespace ts { } /** Class and interface types (ObjectFlags.Class and ObjectFlags.Interface). */ interface InterfaceType extends ObjectType { - typeParameters: TypeParameter[]; - outerTypeParameters: TypeParameter[]; - localTypeParameters: TypeParameter[]; - thisType: TypeParameter; + typeParameters: TypeParameter[] | undefined; + outerTypeParameters: TypeParameter[] | undefined; + localTypeParameters: TypeParameter[] | undefined; + thisType: TypeParameter | undefined; } type BaseType = ObjectType | IntersectionType; interface InterfaceTypeWithDeclaredMembers extends InterfaceType { declaredProperties: Symbol[]; declaredCallSignatures: Signature[]; declaredConstructSignatures: Signature[]; - declaredStringIndexInfo: IndexInfo; - declaredNumberIndexInfo: IndexInfo; + declaredStringIndexInfo?: IndexInfo; + declaredNumberIndexInfo?: IndexInfo; } /** * Type references (ObjectFlags.Reference). When a class or interface has type parameters or @@ -2277,11 +2281,11 @@ declare namespace ts { trueType: Type; falseType: Type; isDistributive: boolean; - inferTypeParameters: TypeParameter[]; + inferTypeParameters?: TypeParameter[]; outerTypeParameters?: TypeParameter[]; instantiations?: Map; - aliasSymbol: Symbol; - aliasTypeArguments: Type[]; + aliasSymbol?: Symbol; + aliasTypeArguments?: Type[]; } interface ConditionalType extends InstantiableType { root: ConditionalRoot; @@ -2359,6 +2363,11 @@ declare namespace ts { code: number; source?: string; } + interface DiagnosticWithLocation extends Diagnostic { + file: SourceFile; + start: number; + length: number; + } enum DiagnosticCategory { Warning = 0, Error = 1, @@ -2624,7 +2633,7 @@ declare namespace ts { packageId?: PackageId; } interface ResolvedTypeReferenceDirectiveWithFailedLookupLocations { - readonly resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective; + readonly resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective | undefined; readonly failedLookupLocations: ReadonlyArray; } interface CompilerHost extends ModuleResolutionHost { @@ -2644,8 +2653,8 @@ declare namespace ts { /** * This method is a companion for 'resolveModuleNames' and is used to resolve 'types' references to actual type declaration files */ - resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string): (ResolvedTypeReferenceDirective | undefined)[]; - getEnvironmentVariable?(name: string): string; + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string): ResolvedTypeReferenceDirective[]; + getEnvironmentVariable?(name: string): string | undefined; createHash?(data: string): string; } interface SourceMapRange extends TextRange { @@ -2657,6 +2666,7 @@ declare namespace ts { skipTrivia?: (pos: number) => number; } enum EmitFlags { + None = 0, SingleLine = 1, AdviseOnEmitNode = 2, NoSubstitution = 4, @@ -2710,7 +2720,7 @@ declare namespace ts { /** Resumes a suspended lexical environment, usually before visiting a function body. */ resumeLexicalEnvironment(): void; /** Ends a lexical environment, returning any declarations. */ - endLexicalEnvironment(): Statement[]; + endLexicalEnvironment(): Statement[] | undefined; /** Hoists a function declaration to the containing scope. */ hoistFunctionDeclaration(node: FunctionDeclaration): void; /** Hoists a variable declaration to the containing scope. */ @@ -2754,7 +2764,7 @@ declare namespace ts { /** Gets the transformed source files. */ transformed: T[]; /** Gets diagnostics for the transformation. */ - diagnostics?: Diagnostic[]; + diagnostics?: DiagnosticWithLocation[]; /** * Gets a substitute for a node, if one is available; otherwise, returns the original node. * @@ -2841,7 +2851,7 @@ declare namespace ts { * }); * ``` */ - onEmitNode?(hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void): void; + onEmitNode?(hint: EmitHint, node: Node | undefined, emitCallback: (hint: EmitHint, node: Node | undefined) => void): void; /** * A hook used by the Printer to perform just-in-time substitution of a node. This is * primarily used by node transformations that need to substitute one node for another, @@ -2954,13 +2964,13 @@ declare namespace ts { } } declare namespace ts { - const versionMajorMinor = "2.9"; + const versionMajorMinor = "3.0"; /** The version of the TypeScript compiler release */ const version: string; } declare namespace ts { function isExternalModuleNameRelative(moduleName: string): boolean; - function sortAndDeduplicateDiagnostics(diagnostics: ReadonlyArray): Diagnostic[]; + function sortAndDeduplicateDiagnostics(diagnostics: ReadonlyArray): T[]; } declare function setTimeout(handler: (...args: any[]) => void, timeout: number): any; declare function clearTimeout(handle: any): void; @@ -3014,7 +3024,7 @@ declare namespace ts { interface FileWatcher { close(): void; } - function getNodeMajorVersion(): number; + function getNodeMajorVersion(): number | undefined; let sys: System; } declare namespace ts { @@ -3041,8 +3051,8 @@ declare namespace ts { scanJSDocToken(): JsDocSyntaxKind; scan(): SyntaxKind; getText(): string; - setText(text: string, start?: number, length?: number): void; - setOnError(onError: ErrorCallback): void; + setText(text: string | undefined, start?: number, length?: number): void; + setOnError(onError: ErrorCallback | undefined): void; setScriptTarget(scriptTarget: ScriptTarget): void; setLanguageVariant(variant: LanguageVariant): void; setTextPos(textPos: number): void; @@ -3062,15 +3072,15 @@ declare namespace ts { function forEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined; function forEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined; - function reduceEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U; - function reduceEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U; + function reduceEachLeadingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; + function reduceEachTrailingCommentRange(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T, memo: U) => U, state: T, initial: U): U | undefined; function getLeadingCommentRanges(text: string, pos: number): CommentRange[] | undefined; function getTrailingCommentRanges(text: string, pos: number): CommentRange[] | undefined; /** Optionally, get the shebang */ function getShebang(text: string): string | undefined; - function isIdentifierStart(ch: number, languageVersion: ScriptTarget): boolean; - function isIdentifierPart(ch: number, languageVersion: ScriptTarget): boolean; - function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, text?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; + function isIdentifierStart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function isIdentifierPart(ch: number, languageVersion: ScriptTarget | undefined): boolean; + function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, textInitial?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; } declare namespace ts { function getDefaultLibFileName(options: CompilerOptions): string; @@ -3079,12 +3089,12 @@ declare namespace ts { function textSpanContainsPosition(span: TextSpan, position: number): boolean; function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean; function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean; - function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan; + function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan | undefined; function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean; function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean; function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number): boolean; function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean; - function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan; + function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan | undefined; function createTextSpan(start: number, length: number): TextSpan; function createTextSpanFromBounds(start: number, end: number): TextSpan; function textChangeRangeNewSpan(range: TextChangeRange): TextSpan; @@ -3100,7 +3110,7 @@ declare namespace ts { * Vn. */ function collapseTextChangeRangesAcrossMultipleVersions(changes: ReadonlyArray): TextChangeRange; - function getTypeParameterOwner(d: Declaration): Declaration; + function getTypeParameterOwner(d: Declaration): Declaration | undefined; type ParameterPropertyDeclaration = ParameterDeclaration & { parent: ConstructorDeclaration; name: Identifier; @@ -3122,6 +3132,8 @@ declare namespace ts { }, errors?: Push): void; function getOriginalNode(node: Node): Node; function getOriginalNode(node: Node, nodeTest: (node: Node) => node is T): T; + function getOriginalNode(node: Node | undefined): Node | undefined; + function getOriginalNode(node: Node | undefined, nodeTest: (node: Node | undefined) => node is T): T | undefined; /** * Gets a value indicating whether a node originated in the parse tree. * @@ -3142,7 +3154,7 @@ declare namespace ts { * @param nodeTest A callback used to ensure the correct type of parse tree node is returned. * @returns The original parse tree node if found; otherwise, undefined. */ - function getParseTreeNode(node: Node, nodeTest?: (node: Node) => node is T): T; + function getParseTreeNode(node: Node | undefined, nodeTest?: (node: Node) => node is T): T | undefined; /** * Remove extra underscore from escaped identifier text content. * @@ -3160,7 +3172,7 @@ declare namespace ts { */ function unescapeIdentifier(id: string): string; function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | undefined; - function getNameOfDeclaration(declaration: Declaration | Expression): DeclarationName | undefined; + function getNameOfDeclaration(declaration: Declaration | Expression): DeclarationName; /** * Gets the JSDoc parameter tags for the node if present. * @@ -3389,8 +3401,10 @@ declare namespace ts { */ function isToken(n: Node): boolean; function isLiteralExpression(node: Node): node is LiteralExpression; + type TemplateLiteralToken = NoSubstitutionTemplateLiteral | TemplateHead | TemplateMiddle | TemplateTail; + function isTemplateLiteralToken(node: Node): node is TemplateLiteralToken; function isTemplateMiddleOrTemplateTail(node: Node): node is TemplateMiddle | TemplateTail; - function isStringTextContainingNode(node: Node): boolean; + function isStringTextContainingNode(node: Node): node is StringLiteral | TemplateLiteralToken; function isModifier(node: Node): node is Modifier; function isEntityName(node: Node): node is EntityName; function isPropertyName(node: Node): node is PropertyName; @@ -3442,7 +3456,7 @@ declare namespace ts { */ function forEachChild(node: Node, cbNode: (node: Node) => T | undefined, cbNodes?: (nodes: NodeArray) => T | undefined): T | undefined; function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean, scriptKind?: ScriptKind): SourceFile; - function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName; + function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName | undefined; /** * Parse json text into SyntaxTree and return node and parse errors if any * @param fileName @@ -3488,7 +3502,7 @@ declare namespace ts { getOrCreateCacheForModuleName(nonRelativeModuleName: string): PerModuleNameCache; } interface PerModuleNameCache { - get(directory: string): ResolvedModuleWithFailedLookupLocations; + get(directory: string): ResolvedModuleWithFailedLookupLocations | undefined; set(directory: string, result: ResolvedModuleWithFailedLookupLocations): void; } function createModuleResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string): ModuleResolutionCache; @@ -3570,7 +3584,7 @@ declare namespace ts { function updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructorTypeNode; function createTypeQueryNode(exprName: EntityName): TypeQueryNode; function updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName): TypeQueryNode; - function createTypeLiteralNode(members: ReadonlyArray): TypeLiteralNode; + function createTypeLiteralNode(members: ReadonlyArray | undefined): TypeLiteralNode; function updateTypeLiteralNode(node: TypeLiteralNode, members: NodeArray): TypeLiteralNode; function createArrayTypeNode(elementType: TypeNode): ArrayTypeNode; function updateArrayTypeNode(node: ArrayTypeNode, elementType: TypeNode): ArrayTypeNode; @@ -3609,23 +3623,23 @@ declare namespace ts { function updateArrayLiteral(node: ArrayLiteralExpression, elements: ReadonlyArray): ArrayLiteralExpression; function createObjectLiteral(properties?: ReadonlyArray, multiLine?: boolean): ObjectLiteralExpression; function updateObjectLiteral(node: ObjectLiteralExpression, properties: ReadonlyArray): ObjectLiteralExpression; - function createPropertyAccess(expression: Expression, name: string | Identifier): PropertyAccessExpression; + function createPropertyAccess(expression: Expression, name: string | Identifier | undefined): PropertyAccessExpression; function updatePropertyAccess(node: PropertyAccessExpression, expression: Expression, name: Identifier): PropertyAccessExpression; function createElementAccess(expression: Expression, index: number | Expression): ElementAccessExpression; function updateElementAccess(node: ElementAccessExpression, expression: Expression, argumentExpression: Expression): ElementAccessExpression; - function createCall(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray): CallExpression; + function createCall(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): CallExpression; function updateCall(node: CallExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray): CallExpression; function createNew(expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; function updateNew(node: NewExpression, expression: Expression, typeArguments: ReadonlyArray | undefined, argumentsArray: ReadonlyArray | undefined): NewExpression; function createTaggedTemplate(tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; - function createTaggedTemplate(tag: Expression, typeArguments: ReadonlyArray, template: TemplateLiteral): TaggedTemplateExpression; + function createTaggedTemplate(tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, template: TemplateLiteral): TaggedTemplateExpression; - function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: ReadonlyArray, template: TemplateLiteral): TaggedTemplateExpression; + function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: ReadonlyArray | undefined, template: TemplateLiteral): TaggedTemplateExpression; function createTypeAssertion(type: TypeNode, expression: Expression): TypeAssertion; function updateTypeAssertion(node: TypeAssertion, type: TypeNode, expression: Expression): TypeAssertion; function createParen(expression: Expression): ParenthesizedExpression; function updateParen(node: ParenthesizedExpression, expression: Expression): ParenthesizedExpression; - function createFunctionExpression(modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block): FunctionExpression; + function createFunctionExpression(modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray | undefined, type: TypeNode | undefined, body: Block): FunctionExpression; function updateFunctionExpression(node: FunctionExpression, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block): FunctionExpression; function createArrowFunction(modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, equalsGreaterThanToken: EqualsGreaterThanToken | undefined, body: ConciseBody): ArrowFunction; function updateArrowFunction(node: ArrowFunction, modifiers: ReadonlyArray | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: ConciseBody): ArrowFunction; @@ -3655,15 +3669,15 @@ declare namespace ts { function createTemplateTail(text: string): TemplateTail; function createNoSubstitutionTemplateLiteral(text: string): NoSubstitutionTemplateLiteral; function createYield(expression?: Expression): YieldExpression; - function createYield(asteriskToken: AsteriskToken, expression: Expression): YieldExpression; + function createYield(asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; function updateYield(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression): YieldExpression; function createSpread(expression: Expression): SpreadElement; function updateSpread(node: SpreadElement, expression: Expression): SpreadElement; - function createClassExpression(modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray, members: ReadonlyArray): ClassExpression; - function updateClassExpression(node: ClassExpression, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray, members: ReadonlyArray): ClassExpression; + function createClassExpression(modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; + function updateClassExpression(node: ClassExpression, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassExpression; function createOmittedExpression(): OmittedExpression; - function createExpressionWithTypeArguments(typeArguments: ReadonlyArray, expression: Expression): ExpressionWithTypeArguments; - function updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, typeArguments: ReadonlyArray, expression: Expression): ExpressionWithTypeArguments; + function createExpressionWithTypeArguments(typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; + function updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, typeArguments: ReadonlyArray | undefined, expression: Expression): ExpressionWithTypeArguments; function createAsExpression(expression: Expression, type: TypeNode): AsExpression; function updateAsExpression(node: AsExpression, expression: Expression, type: TypeNode): AsExpression; function createNonNullExpression(expression: Expression): NonNullExpression; @@ -3690,8 +3704,8 @@ declare namespace ts { function updateFor(node: ForStatement, initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement; function createForIn(initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; function updateForIn(node: ForInStatement, initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement; - function createForOf(awaitModifier: AwaitKeywordToken, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; - function updateForOf(node: ForOfStatement, awaitModifier: AwaitKeywordToken, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function createForOf(awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; + function updateForOf(node: ForOfStatement, awaitModifier: AwaitKeywordToken | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement; function createContinue(label?: string | Identifier): ContinueStatement; function updateContinue(node: ContinueStatement, label: Identifier | undefined): ContinueStatement; function createBreak(label?: string | Identifier): BreakStatement; @@ -3715,8 +3729,8 @@ declare namespace ts { function updateVariableDeclarationList(node: VariableDeclarationList, declarations: ReadonlyArray): VariableDeclarationList; function createFunctionDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; function updateFunctionDeclaration(node: FunctionDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, parameters: ReadonlyArray, type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; - function createClassDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray, members: ReadonlyArray): ClassDeclaration; - function updateClassDeclaration(node: ClassDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray, members: ReadonlyArray): ClassDeclaration; + function createClassDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; + function updateClassDeclaration(node: ClassDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier | undefined, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): ClassDeclaration; function createInterfaceDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; function updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, typeParameters: ReadonlyArray | undefined, heritageClauses: ReadonlyArray | undefined, members: ReadonlyArray): InterfaceDeclaration; function createTypeAliasDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, typeParameters: ReadonlyArray | undefined, type: TypeNode): TypeAliasDeclaration; @@ -3734,7 +3748,7 @@ declare namespace ts { function createImportEqualsDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; function updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; function createImportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; - function updateImportDeclaration(node: ImportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression | undefined): ImportDeclaration; + function updateImportDeclaration(node: ImportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression): ImportDeclaration; function createImportClause(name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; function updateImportClause(node: ImportClause, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; function createNamespaceImport(name: Identifier): NamespaceImport; @@ -3743,7 +3757,7 @@ declare namespace ts { function updateNamedImports(node: NamedImports, elements: ReadonlyArray): NamedImports; function createImportSpecifier(propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; function updateImportSpecifier(node: ImportSpecifier, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; - function createExportAssignment(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, isExportEquals: boolean, expression: Expression): ExportAssignment; + function createExportAssignment(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; function updateExportAssignment(node: ExportAssignment, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, expression: Expression): ExportAssignment; function createExportDeclaration(decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier?: Expression): ExportDeclaration; function updateExportDeclaration(node: ExportDeclaration, decorators: ReadonlyArray | undefined, modifiers: ReadonlyArray | undefined, exportClause: NamedExports | undefined, moduleSpecifier: Expression | undefined): ExportDeclaration; @@ -3873,16 +3887,16 @@ declare namespace ts { */ function setCommentRange(node: T, range: TextRange): T; function getSyntheticLeadingComments(node: Node): SynthesizedComment[] | undefined; - function setSyntheticLeadingComments(node: T, comments: SynthesizedComment[]): T; + function setSyntheticLeadingComments(node: T, comments: SynthesizedComment[] | undefined): T; function addSyntheticLeadingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; function getSyntheticTrailingComments(node: Node): SynthesizedComment[] | undefined; - function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[]): T; + function setSyntheticTrailingComments(node: T, comments: SynthesizedComment[] | undefined): T; function addSyntheticTrailingComment(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T; function moveSyntheticComments(node: T, original: Node): T; /** * Gets the constant value to emit for an expression. */ - function getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): string | number; + function getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): string | number | undefined; /** * Sets the constant value to emit for an expression. */ @@ -3918,7 +3932,7 @@ declare namespace ts { * @param test A callback to execute to verify the Node is valid. * @param lift An optional callback to execute to lift a NodeArray into a valid Node. */ - function visitNode(node: T, visitor: Visitor, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T; + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T; /** * Visits a Node using the supplied visitor, possibly returning a new Node in its place. * @@ -3927,7 +3941,7 @@ declare namespace ts { * @param test A callback to execute to verify the Node is valid. * @param lift An optional callback to execute to lift a NodeArray into a valid Node. */ - function visitNode(node: T | undefined, visitor: Visitor, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T | undefined; + function visitNode(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray) => T): T | undefined; /** * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. * @@ -3937,7 +3951,7 @@ declare namespace ts { * @param start An optional value indicating the starting offset at which to start visiting. * @param count An optional value indicating the maximum number of nodes to visit. */ - function visitNodes(nodes: NodeArray, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; + function visitNodes(nodes: NodeArray | undefined, visitor: Visitor, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; /** * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place. * @@ -3957,7 +3971,7 @@ declare namespace ts { * Starts a new lexical environment and visits a parameter list, suspending the lexical * environment upon completion. */ - function visitParameterList(nodes: NodeArray, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes): NodeArray; + function visitParameterList(nodes: NodeArray | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes): NodeArray; /** * Resumes a suspended lexical environment and visits a function body, ending the lexical * environment and merging hoisted declarations upon completion. @@ -4006,8 +4020,19 @@ declare namespace ts { function formatDiagnostics(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; function formatDiagnostic(diagnostic: Diagnostic, host: FormatDiagnosticsHost): string; function formatDiagnosticsWithColorAndContext(diagnostics: ReadonlyArray, host: FormatDiagnosticsHost): string; - function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; + function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain | undefined, newLine: string): string; function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): ReadonlyArray; + /** + * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' + * that represent a compilation unit. + * + * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and + * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in. + * + * @param createProgramOptions - The options for creating a program. + * @returns A 'Program' object. + */ + function createProgram(createProgramOptions: CreateProgramOptions): Program; /** * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions' * that represent a compilation unit. @@ -4022,7 +4047,6 @@ declare namespace ts { * @param configFileParsingDiagnostics - error during config file parsing * @returns A 'Program' object. */ - function createProgram(createProgramOptions: CreateProgramOptions): Program; function createProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: ReadonlyArray): Program; } declare namespace ts { @@ -4148,18 +4172,18 @@ declare namespace ts { * Create the builder to manage semantic diagnostics and cache them */ function createSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; - function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; + function createSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): SemanticDiagnosticsBuilderProgram; /** * Create the builder that can handle the changes in program and iterate through changed files * to emit the those files and manage semantic diagnostics cache as well */ function createEmitAndSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; - function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; + function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): EmitAndSemanticDiagnosticsBuilderProgram; /** * Creates a builder thats just abstraction over program and can be used with watch */ function createAbstractBuilder(newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; - function createAbstractBuilder(rootNames: ReadonlyArray, options: CompilerOptions, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; + function createAbstractBuilder(rootNames: ReadonlyArray | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: ReadonlyArray): BuilderProgram; } declare namespace ts { type WatchStatusReporter = (diagnostic: Diagnostic, newLine: string, options: CompilerOptions) => void; @@ -4201,11 +4225,11 @@ declare namespace ts { /** If provided would be used to write log about compilation */ trace?(s: string): void; /** If provided is used to get the environment variable */ - getEnvironmentVariable?(name: string): string; + getEnvironmentVariable?(name: string): string | undefined; /** If provided, used to resolve the module names, otherwise typescript's default module resolution */ resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[]): ResolvedModule[]; /** If provided, used to resolve type reference directives, otherwise typescript's default resolution */ - resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string): (ResolvedTypeReferenceDirective | undefined)[]; + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string): ResolvedTypeReferenceDirective[]; /** Used to watch changes in source files, missing files needed to update the program or config file */ watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number): FileWatcher; /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */ @@ -4355,8 +4379,8 @@ declare namespace ts { getLeadingTriviaWidth(sourceFile?: SourceFile): number; getFullText(sourceFile?: SourceFile): string; getText(sourceFile?: SourceFile): string; - getFirstToken(sourceFile?: SourceFile): Node; - getLastToken(sourceFile?: SourceFile): Node; + getFirstToken(sourceFile?: SourceFile): Node | undefined; + getLastToken(sourceFile?: SourceFile): Node | undefined; forEachChild(cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined): T | undefined; } interface Identifier { @@ -4444,7 +4468,7 @@ declare namespace ts { referencedFiles: FileReference[]; typeReferenceDirectives: FileReference[]; importedFiles: FileReference[]; - ambientExternalModules: string[]; + ambientExternalModules?: string[]; isLibFile: boolean; } interface HostCancellationToken { @@ -4477,7 +4501,7 @@ declare namespace ts { fileExists?(path: string): boolean; getTypeRootsVersion?(): number; resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames?: string[]): ResolvedModule[]; - getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string): ResolvedModuleWithFailedLookupLocations; + getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string): ResolvedModuleWithFailedLookupLocations | undefined; resolveTypeReferenceDirectives?(typeDirectiveNames: string[], containingFile: string): ResolvedTypeReferenceDirective[]; getDirectories?(directoryName: string): string[]; /** @@ -4497,9 +4521,10 @@ declare namespace ts { } interface LanguageService { cleanupSemanticCache(): void; - getSyntacticDiagnostics(fileName: string): Diagnostic[]; + getSyntacticDiagnostics(fileName: string): DiagnosticWithLocation[]; + /** The first time this is called, it will return global diagnostics (no location). */ getSemanticDiagnostics(fileName: string): Diagnostic[]; - getSuggestionDiagnostics(fileName: string): Diagnostic[]; + getSuggestionDiagnostics(fileName: string): DiagnosticWithLocation[]; getCompilerOptionsDiagnostics(): Diagnostic[]; /** * @deprecated Use getEncodedSyntacticClassifications instead. @@ -4511,24 +4536,24 @@ declare namespace ts { getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications; getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications; - getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): CompletionInfo; - getCompletionEntryDetails(fileName: string, position: number, name: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined): CompletionEntryDetails; - getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol; - getQuickInfoAtPosition(fileName: string, position: number): QuickInfo; - getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan; - getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan; - getSignatureHelpItems(fileName: string, position: number): SignatureHelpItems; + getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): CompletionInfo | undefined; + getCompletionEntryDetails(fileName: string, position: number, name: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined): CompletionEntryDetails | undefined; + getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol | undefined; + getQuickInfoAtPosition(fileName: string, position: number): QuickInfo | undefined; + getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan | undefined; + getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan | undefined; + getSignatureHelpItems(fileName: string, position: number): SignatureHelpItems | undefined; getRenameInfo(fileName: string, position: number): RenameInfo; - findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): RenameLocation[]; - getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; - getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan; - getTypeDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; - getImplementationAtPosition(fileName: string, position: number): ImplementationLocation[]; - getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[]; - findReferences(fileName: string, position: number): ReferencedSymbol[]; - getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[]; + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): RenameLocation[] | undefined; + getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[] | undefined; + getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan | undefined; + getTypeDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[] | undefined; + getImplementationAtPosition(fileName: string, position: number): ImplementationLocation[] | undefined; + getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[] | undefined; + findReferences(fileName: string, position: number): ReferencedSymbol[] | undefined; + getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[] | undefined; /** @deprecated */ - getOccurrencesAtPosition(fileName: string, position: number): ReferenceEntry[]; + getOccurrencesAtPosition(fileName: string, position: number): ReferenceEntry[] | undefined; getNavigateToItems(searchValue: string, maxResultCount?: number, fileName?: string, excludeDtsFiles?: boolean): NavigateToItem[]; getNavigationBarItems(fileName: string): NavigationBarItem[]; getNavigationTree(fileName: string): NavigationTree; @@ -4539,9 +4564,14 @@ declare namespace ts { getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[]; - getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion; + getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion | undefined; isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; - getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan; + /** + * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag. + * Editors should call this after `>` is typed. + */ + getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined; + getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined; toLineColumnOffset?(fileName: string, position: number): LineAndCharacter; getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: ReadonlyArray, formatOptions: FormatCodeSettings, preferences: UserPreferences): ReadonlyArray; getCombinedCodeFix(scope: CombinedCodeFixScope, fixId: {}, formatOptions: FormatCodeSettings, preferences: UserPreferences): CombinedCodeActions; @@ -4557,11 +4587,14 @@ declare namespace ts { getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined): ApplicableRefactorInfo[]; getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined): RefactorEditInfo | undefined; organizeImports(scope: OrganizeImportsScope, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; - getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings): ReadonlyArray; + getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): ReadonlyArray; getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean): EmitOutput; - getProgram(): Program; + getProgram(): Program | undefined; dispose(): void; } + interface JsxClosingTagInfo { + readonly newText: string; + } interface CombinedCodeFixScope { type: "file"; fileName: string; @@ -4662,7 +4695,7 @@ declare namespace ts { } interface CombinedCodeActions { changes: ReadonlyArray; - commands: ReadonlyArray | undefined; + commands?: ReadonlyArray; } type CodeActionCommand = InstallPackageAction; interface InstallPackageAction { @@ -4712,8 +4745,8 @@ declare namespace ts { */ interface RefactorEditInfo { edits: FileTextChanges[]; - renameFilename: string | undefined; - renameLocation: number | undefined; + renameFilename?: string; + renameLocation?: number; commands?: CodeActionCommand[]; } interface TextInsertion { @@ -4834,7 +4867,7 @@ declare namespace ts { containerName: string; } interface DefinitionInfoAndBoundSpan { - definitions: ReadonlyArray; + definitions?: ReadonlyArray; textSpan: TextSpan; } interface ReferencedSymbolDefinitionInfo extends DefinitionInfo { @@ -4880,13 +4913,13 @@ declare namespace ts { kind: ScriptElementKind; kindModifiers: string; textSpan: TextSpan; - displayParts: SymbolDisplayPart[]; - documentation: SymbolDisplayPart[]; - tags: JSDocTagInfo[]; + displayParts?: SymbolDisplayPart[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; } interface RenameInfo { canRename: boolean; - localizedErrorMessage: string; + localizedErrorMessage?: string; displayName: string; fullDisplayName: string; kind: ScriptElementKind; @@ -4938,7 +4971,7 @@ declare namespace ts { interface CompletionEntry { name: string; kind: ScriptElementKind; - kindModifiers: string; + kindModifiers?: string; sortText: string; insertText?: string; /** @@ -4956,8 +4989,8 @@ declare namespace ts { kind: ScriptElementKind; kindModifiers: string; displayParts: SymbolDisplayPart[]; - documentation: SymbolDisplayPart[]; - tags: JSDocTagInfo[]; + documentation?: SymbolDisplayPart[]; + tags?: JSDocTagInfo[]; codeActions?: CodeAction[]; source?: SymbolDisplayPart[]; } @@ -5270,12 +5303,12 @@ declare namespace ts { /** The version of the language service API */ const servicesVersion = "0.8"; function toEditorSettings(options: EditorOptions | EditorSettings): EditorSettings; - function displayPartsToString(displayParts: SymbolDisplayPart[]): string; + function displayPartsToString(displayParts: SymbolDisplayPart[] | undefined): string; function getDefaultCompilerOptions(): CompilerOptions; function getSupportedCodeFixes(): string[]; function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile; let disableIncrementalParsing: boolean; - function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange | undefined, aggressiveChecks?: boolean): SourceFile; function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry, syntaxOnly?: boolean): LanguageService; /** * Get the path of the default library files (lib.d.ts) as distributed with the typescript diff --git a/lib/typescriptServices.js b/lib/typescriptServices.js index 5a20323ef59..84491873e2b 100644 --- a/lib/typescriptServices.js +++ b/lib/typescriptServices.js @@ -202,190 +202,191 @@ var ts; SyntaxKind[SyntaxKind["TypeKeyword"] = 139] = "TypeKeyword"; SyntaxKind[SyntaxKind["UndefinedKeyword"] = 140] = "UndefinedKeyword"; SyntaxKind[SyntaxKind["UniqueKeyword"] = 141] = "UniqueKeyword"; - SyntaxKind[SyntaxKind["FromKeyword"] = 142] = "FromKeyword"; - SyntaxKind[SyntaxKind["GlobalKeyword"] = 143] = "GlobalKeyword"; - SyntaxKind[SyntaxKind["OfKeyword"] = 144] = "OfKeyword"; + SyntaxKind[SyntaxKind["UnknownKeyword"] = 142] = "UnknownKeyword"; + SyntaxKind[SyntaxKind["FromKeyword"] = 143] = "FromKeyword"; + SyntaxKind[SyntaxKind["GlobalKeyword"] = 144] = "GlobalKeyword"; + SyntaxKind[SyntaxKind["OfKeyword"] = 145] = "OfKeyword"; // Parse tree nodes // Names - SyntaxKind[SyntaxKind["QualifiedName"] = 145] = "QualifiedName"; - SyntaxKind[SyntaxKind["ComputedPropertyName"] = 146] = "ComputedPropertyName"; + SyntaxKind[SyntaxKind["QualifiedName"] = 146] = "QualifiedName"; + SyntaxKind[SyntaxKind["ComputedPropertyName"] = 147] = "ComputedPropertyName"; // Signature elements - SyntaxKind[SyntaxKind["TypeParameter"] = 147] = "TypeParameter"; - SyntaxKind[SyntaxKind["Parameter"] = 148] = "Parameter"; - SyntaxKind[SyntaxKind["Decorator"] = 149] = "Decorator"; + SyntaxKind[SyntaxKind["TypeParameter"] = 148] = "TypeParameter"; + SyntaxKind[SyntaxKind["Parameter"] = 149] = "Parameter"; + SyntaxKind[SyntaxKind["Decorator"] = 150] = "Decorator"; // TypeMember - SyntaxKind[SyntaxKind["PropertySignature"] = 150] = "PropertySignature"; - SyntaxKind[SyntaxKind["PropertyDeclaration"] = 151] = "PropertyDeclaration"; - SyntaxKind[SyntaxKind["MethodSignature"] = 152] = "MethodSignature"; - SyntaxKind[SyntaxKind["MethodDeclaration"] = 153] = "MethodDeclaration"; - SyntaxKind[SyntaxKind["Constructor"] = 154] = "Constructor"; - SyntaxKind[SyntaxKind["GetAccessor"] = 155] = "GetAccessor"; - SyntaxKind[SyntaxKind["SetAccessor"] = 156] = "SetAccessor"; - SyntaxKind[SyntaxKind["CallSignature"] = 157] = "CallSignature"; - SyntaxKind[SyntaxKind["ConstructSignature"] = 158] = "ConstructSignature"; - SyntaxKind[SyntaxKind["IndexSignature"] = 159] = "IndexSignature"; + SyntaxKind[SyntaxKind["PropertySignature"] = 151] = "PropertySignature"; + SyntaxKind[SyntaxKind["PropertyDeclaration"] = 152] = "PropertyDeclaration"; + SyntaxKind[SyntaxKind["MethodSignature"] = 153] = "MethodSignature"; + SyntaxKind[SyntaxKind["MethodDeclaration"] = 154] = "MethodDeclaration"; + SyntaxKind[SyntaxKind["Constructor"] = 155] = "Constructor"; + SyntaxKind[SyntaxKind["GetAccessor"] = 156] = "GetAccessor"; + SyntaxKind[SyntaxKind["SetAccessor"] = 157] = "SetAccessor"; + SyntaxKind[SyntaxKind["CallSignature"] = 158] = "CallSignature"; + SyntaxKind[SyntaxKind["ConstructSignature"] = 159] = "ConstructSignature"; + SyntaxKind[SyntaxKind["IndexSignature"] = 160] = "IndexSignature"; // Type - SyntaxKind[SyntaxKind["TypePredicate"] = 160] = "TypePredicate"; - SyntaxKind[SyntaxKind["TypeReference"] = 161] = "TypeReference"; - SyntaxKind[SyntaxKind["FunctionType"] = 162] = "FunctionType"; - SyntaxKind[SyntaxKind["ConstructorType"] = 163] = "ConstructorType"; - SyntaxKind[SyntaxKind["TypeQuery"] = 164] = "TypeQuery"; - SyntaxKind[SyntaxKind["TypeLiteral"] = 165] = "TypeLiteral"; - SyntaxKind[SyntaxKind["ArrayType"] = 166] = "ArrayType"; - SyntaxKind[SyntaxKind["TupleType"] = 167] = "TupleType"; - SyntaxKind[SyntaxKind["UnionType"] = 168] = "UnionType"; - SyntaxKind[SyntaxKind["IntersectionType"] = 169] = "IntersectionType"; - SyntaxKind[SyntaxKind["ConditionalType"] = 170] = "ConditionalType"; - SyntaxKind[SyntaxKind["InferType"] = 171] = "InferType"; - SyntaxKind[SyntaxKind["ParenthesizedType"] = 172] = "ParenthesizedType"; - SyntaxKind[SyntaxKind["ThisType"] = 173] = "ThisType"; - SyntaxKind[SyntaxKind["TypeOperator"] = 174] = "TypeOperator"; - SyntaxKind[SyntaxKind["IndexedAccessType"] = 175] = "IndexedAccessType"; - SyntaxKind[SyntaxKind["MappedType"] = 176] = "MappedType"; - SyntaxKind[SyntaxKind["LiteralType"] = 177] = "LiteralType"; - SyntaxKind[SyntaxKind["ImportType"] = 178] = "ImportType"; + SyntaxKind[SyntaxKind["TypePredicate"] = 161] = "TypePredicate"; + SyntaxKind[SyntaxKind["TypeReference"] = 162] = "TypeReference"; + SyntaxKind[SyntaxKind["FunctionType"] = 163] = "FunctionType"; + SyntaxKind[SyntaxKind["ConstructorType"] = 164] = "ConstructorType"; + SyntaxKind[SyntaxKind["TypeQuery"] = 165] = "TypeQuery"; + SyntaxKind[SyntaxKind["TypeLiteral"] = 166] = "TypeLiteral"; + SyntaxKind[SyntaxKind["ArrayType"] = 167] = "ArrayType"; + SyntaxKind[SyntaxKind["TupleType"] = 168] = "TupleType"; + SyntaxKind[SyntaxKind["UnionType"] = 169] = "UnionType"; + SyntaxKind[SyntaxKind["IntersectionType"] = 170] = "IntersectionType"; + SyntaxKind[SyntaxKind["ConditionalType"] = 171] = "ConditionalType"; + SyntaxKind[SyntaxKind["InferType"] = 172] = "InferType"; + SyntaxKind[SyntaxKind["ParenthesizedType"] = 173] = "ParenthesizedType"; + SyntaxKind[SyntaxKind["ThisType"] = 174] = "ThisType"; + SyntaxKind[SyntaxKind["TypeOperator"] = 175] = "TypeOperator"; + SyntaxKind[SyntaxKind["IndexedAccessType"] = 176] = "IndexedAccessType"; + SyntaxKind[SyntaxKind["MappedType"] = 177] = "MappedType"; + SyntaxKind[SyntaxKind["LiteralType"] = 178] = "LiteralType"; + SyntaxKind[SyntaxKind["ImportType"] = 179] = "ImportType"; // Binding patterns - SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 179] = "ObjectBindingPattern"; - SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 180] = "ArrayBindingPattern"; - SyntaxKind[SyntaxKind["BindingElement"] = 181] = "BindingElement"; + SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 180] = "ObjectBindingPattern"; + SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 181] = "ArrayBindingPattern"; + SyntaxKind[SyntaxKind["BindingElement"] = 182] = "BindingElement"; // Expression - SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 182] = "ArrayLiteralExpression"; - SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 183] = "ObjectLiteralExpression"; - SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 184] = "PropertyAccessExpression"; - SyntaxKind[SyntaxKind["ElementAccessExpression"] = 185] = "ElementAccessExpression"; - SyntaxKind[SyntaxKind["CallExpression"] = 186] = "CallExpression"; - SyntaxKind[SyntaxKind["NewExpression"] = 187] = "NewExpression"; - SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 188] = "TaggedTemplateExpression"; - SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 189] = "TypeAssertionExpression"; - SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 190] = "ParenthesizedExpression"; - SyntaxKind[SyntaxKind["FunctionExpression"] = 191] = "FunctionExpression"; - SyntaxKind[SyntaxKind["ArrowFunction"] = 192] = "ArrowFunction"; - SyntaxKind[SyntaxKind["DeleteExpression"] = 193] = "DeleteExpression"; - SyntaxKind[SyntaxKind["TypeOfExpression"] = 194] = "TypeOfExpression"; - SyntaxKind[SyntaxKind["VoidExpression"] = 195] = "VoidExpression"; - SyntaxKind[SyntaxKind["AwaitExpression"] = 196] = "AwaitExpression"; - SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 197] = "PrefixUnaryExpression"; - SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 198] = "PostfixUnaryExpression"; - SyntaxKind[SyntaxKind["BinaryExpression"] = 199] = "BinaryExpression"; - SyntaxKind[SyntaxKind["ConditionalExpression"] = 200] = "ConditionalExpression"; - SyntaxKind[SyntaxKind["TemplateExpression"] = 201] = "TemplateExpression"; - SyntaxKind[SyntaxKind["YieldExpression"] = 202] = "YieldExpression"; - SyntaxKind[SyntaxKind["SpreadElement"] = 203] = "SpreadElement"; - SyntaxKind[SyntaxKind["ClassExpression"] = 204] = "ClassExpression"; - SyntaxKind[SyntaxKind["OmittedExpression"] = 205] = "OmittedExpression"; - SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 206] = "ExpressionWithTypeArguments"; - SyntaxKind[SyntaxKind["AsExpression"] = 207] = "AsExpression"; - SyntaxKind[SyntaxKind["NonNullExpression"] = 208] = "NonNullExpression"; - SyntaxKind[SyntaxKind["MetaProperty"] = 209] = "MetaProperty"; + SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 183] = "ArrayLiteralExpression"; + SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 184] = "ObjectLiteralExpression"; + SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 185] = "PropertyAccessExpression"; + SyntaxKind[SyntaxKind["ElementAccessExpression"] = 186] = "ElementAccessExpression"; + SyntaxKind[SyntaxKind["CallExpression"] = 187] = "CallExpression"; + SyntaxKind[SyntaxKind["NewExpression"] = 188] = "NewExpression"; + SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 189] = "TaggedTemplateExpression"; + SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 190] = "TypeAssertionExpression"; + SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 191] = "ParenthesizedExpression"; + SyntaxKind[SyntaxKind["FunctionExpression"] = 192] = "FunctionExpression"; + SyntaxKind[SyntaxKind["ArrowFunction"] = 193] = "ArrowFunction"; + SyntaxKind[SyntaxKind["DeleteExpression"] = 194] = "DeleteExpression"; + SyntaxKind[SyntaxKind["TypeOfExpression"] = 195] = "TypeOfExpression"; + SyntaxKind[SyntaxKind["VoidExpression"] = 196] = "VoidExpression"; + SyntaxKind[SyntaxKind["AwaitExpression"] = 197] = "AwaitExpression"; + SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 198] = "PrefixUnaryExpression"; + SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 199] = "PostfixUnaryExpression"; + SyntaxKind[SyntaxKind["BinaryExpression"] = 200] = "BinaryExpression"; + SyntaxKind[SyntaxKind["ConditionalExpression"] = 201] = "ConditionalExpression"; + SyntaxKind[SyntaxKind["TemplateExpression"] = 202] = "TemplateExpression"; + SyntaxKind[SyntaxKind["YieldExpression"] = 203] = "YieldExpression"; + SyntaxKind[SyntaxKind["SpreadElement"] = 204] = "SpreadElement"; + SyntaxKind[SyntaxKind["ClassExpression"] = 205] = "ClassExpression"; + SyntaxKind[SyntaxKind["OmittedExpression"] = 206] = "OmittedExpression"; + SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 207] = "ExpressionWithTypeArguments"; + SyntaxKind[SyntaxKind["AsExpression"] = 208] = "AsExpression"; + SyntaxKind[SyntaxKind["NonNullExpression"] = 209] = "NonNullExpression"; + SyntaxKind[SyntaxKind["MetaProperty"] = 210] = "MetaProperty"; // Misc - SyntaxKind[SyntaxKind["TemplateSpan"] = 210] = "TemplateSpan"; - SyntaxKind[SyntaxKind["SemicolonClassElement"] = 211] = "SemicolonClassElement"; + SyntaxKind[SyntaxKind["TemplateSpan"] = 211] = "TemplateSpan"; + SyntaxKind[SyntaxKind["SemicolonClassElement"] = 212] = "SemicolonClassElement"; // Element - SyntaxKind[SyntaxKind["Block"] = 212] = "Block"; - SyntaxKind[SyntaxKind["VariableStatement"] = 213] = "VariableStatement"; - SyntaxKind[SyntaxKind["EmptyStatement"] = 214] = "EmptyStatement"; - SyntaxKind[SyntaxKind["ExpressionStatement"] = 215] = "ExpressionStatement"; - SyntaxKind[SyntaxKind["IfStatement"] = 216] = "IfStatement"; - SyntaxKind[SyntaxKind["DoStatement"] = 217] = "DoStatement"; - SyntaxKind[SyntaxKind["WhileStatement"] = 218] = "WhileStatement"; - SyntaxKind[SyntaxKind["ForStatement"] = 219] = "ForStatement"; - SyntaxKind[SyntaxKind["ForInStatement"] = 220] = "ForInStatement"; - SyntaxKind[SyntaxKind["ForOfStatement"] = 221] = "ForOfStatement"; - SyntaxKind[SyntaxKind["ContinueStatement"] = 222] = "ContinueStatement"; - SyntaxKind[SyntaxKind["BreakStatement"] = 223] = "BreakStatement"; - SyntaxKind[SyntaxKind["ReturnStatement"] = 224] = "ReturnStatement"; - SyntaxKind[SyntaxKind["WithStatement"] = 225] = "WithStatement"; - SyntaxKind[SyntaxKind["SwitchStatement"] = 226] = "SwitchStatement"; - SyntaxKind[SyntaxKind["LabeledStatement"] = 227] = "LabeledStatement"; - SyntaxKind[SyntaxKind["ThrowStatement"] = 228] = "ThrowStatement"; - SyntaxKind[SyntaxKind["TryStatement"] = 229] = "TryStatement"; - SyntaxKind[SyntaxKind["DebuggerStatement"] = 230] = "DebuggerStatement"; - SyntaxKind[SyntaxKind["VariableDeclaration"] = 231] = "VariableDeclaration"; - SyntaxKind[SyntaxKind["VariableDeclarationList"] = 232] = "VariableDeclarationList"; - SyntaxKind[SyntaxKind["FunctionDeclaration"] = 233] = "FunctionDeclaration"; - SyntaxKind[SyntaxKind["ClassDeclaration"] = 234] = "ClassDeclaration"; - SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 235] = "InterfaceDeclaration"; - SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 236] = "TypeAliasDeclaration"; - SyntaxKind[SyntaxKind["EnumDeclaration"] = 237] = "EnumDeclaration"; - SyntaxKind[SyntaxKind["ModuleDeclaration"] = 238] = "ModuleDeclaration"; - SyntaxKind[SyntaxKind["ModuleBlock"] = 239] = "ModuleBlock"; - SyntaxKind[SyntaxKind["CaseBlock"] = 240] = "CaseBlock"; - SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 241] = "NamespaceExportDeclaration"; - SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 242] = "ImportEqualsDeclaration"; - SyntaxKind[SyntaxKind["ImportDeclaration"] = 243] = "ImportDeclaration"; - SyntaxKind[SyntaxKind["ImportClause"] = 244] = "ImportClause"; - SyntaxKind[SyntaxKind["NamespaceImport"] = 245] = "NamespaceImport"; - SyntaxKind[SyntaxKind["NamedImports"] = 246] = "NamedImports"; - SyntaxKind[SyntaxKind["ImportSpecifier"] = 247] = "ImportSpecifier"; - SyntaxKind[SyntaxKind["ExportAssignment"] = 248] = "ExportAssignment"; - SyntaxKind[SyntaxKind["ExportDeclaration"] = 249] = "ExportDeclaration"; - SyntaxKind[SyntaxKind["NamedExports"] = 250] = "NamedExports"; - SyntaxKind[SyntaxKind["ExportSpecifier"] = 251] = "ExportSpecifier"; - SyntaxKind[SyntaxKind["MissingDeclaration"] = 252] = "MissingDeclaration"; + SyntaxKind[SyntaxKind["Block"] = 213] = "Block"; + SyntaxKind[SyntaxKind["VariableStatement"] = 214] = "VariableStatement"; + SyntaxKind[SyntaxKind["EmptyStatement"] = 215] = "EmptyStatement"; + SyntaxKind[SyntaxKind["ExpressionStatement"] = 216] = "ExpressionStatement"; + SyntaxKind[SyntaxKind["IfStatement"] = 217] = "IfStatement"; + SyntaxKind[SyntaxKind["DoStatement"] = 218] = "DoStatement"; + SyntaxKind[SyntaxKind["WhileStatement"] = 219] = "WhileStatement"; + SyntaxKind[SyntaxKind["ForStatement"] = 220] = "ForStatement"; + SyntaxKind[SyntaxKind["ForInStatement"] = 221] = "ForInStatement"; + SyntaxKind[SyntaxKind["ForOfStatement"] = 222] = "ForOfStatement"; + SyntaxKind[SyntaxKind["ContinueStatement"] = 223] = "ContinueStatement"; + SyntaxKind[SyntaxKind["BreakStatement"] = 224] = "BreakStatement"; + SyntaxKind[SyntaxKind["ReturnStatement"] = 225] = "ReturnStatement"; + SyntaxKind[SyntaxKind["WithStatement"] = 226] = "WithStatement"; + SyntaxKind[SyntaxKind["SwitchStatement"] = 227] = "SwitchStatement"; + SyntaxKind[SyntaxKind["LabeledStatement"] = 228] = "LabeledStatement"; + SyntaxKind[SyntaxKind["ThrowStatement"] = 229] = "ThrowStatement"; + SyntaxKind[SyntaxKind["TryStatement"] = 230] = "TryStatement"; + SyntaxKind[SyntaxKind["DebuggerStatement"] = 231] = "DebuggerStatement"; + SyntaxKind[SyntaxKind["VariableDeclaration"] = 232] = "VariableDeclaration"; + SyntaxKind[SyntaxKind["VariableDeclarationList"] = 233] = "VariableDeclarationList"; + SyntaxKind[SyntaxKind["FunctionDeclaration"] = 234] = "FunctionDeclaration"; + SyntaxKind[SyntaxKind["ClassDeclaration"] = 235] = "ClassDeclaration"; + SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 236] = "InterfaceDeclaration"; + SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 237] = "TypeAliasDeclaration"; + SyntaxKind[SyntaxKind["EnumDeclaration"] = 238] = "EnumDeclaration"; + SyntaxKind[SyntaxKind["ModuleDeclaration"] = 239] = "ModuleDeclaration"; + SyntaxKind[SyntaxKind["ModuleBlock"] = 240] = "ModuleBlock"; + SyntaxKind[SyntaxKind["CaseBlock"] = 241] = "CaseBlock"; + SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 242] = "NamespaceExportDeclaration"; + SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 243] = "ImportEqualsDeclaration"; + SyntaxKind[SyntaxKind["ImportDeclaration"] = 244] = "ImportDeclaration"; + SyntaxKind[SyntaxKind["ImportClause"] = 245] = "ImportClause"; + SyntaxKind[SyntaxKind["NamespaceImport"] = 246] = "NamespaceImport"; + SyntaxKind[SyntaxKind["NamedImports"] = 247] = "NamedImports"; + SyntaxKind[SyntaxKind["ImportSpecifier"] = 248] = "ImportSpecifier"; + SyntaxKind[SyntaxKind["ExportAssignment"] = 249] = "ExportAssignment"; + SyntaxKind[SyntaxKind["ExportDeclaration"] = 250] = "ExportDeclaration"; + SyntaxKind[SyntaxKind["NamedExports"] = 251] = "NamedExports"; + SyntaxKind[SyntaxKind["ExportSpecifier"] = 252] = "ExportSpecifier"; + SyntaxKind[SyntaxKind["MissingDeclaration"] = 253] = "MissingDeclaration"; // Module references - SyntaxKind[SyntaxKind["ExternalModuleReference"] = 253] = "ExternalModuleReference"; + SyntaxKind[SyntaxKind["ExternalModuleReference"] = 254] = "ExternalModuleReference"; // JSX - SyntaxKind[SyntaxKind["JsxElement"] = 254] = "JsxElement"; - SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 255] = "JsxSelfClosingElement"; - SyntaxKind[SyntaxKind["JsxOpeningElement"] = 256] = "JsxOpeningElement"; - SyntaxKind[SyntaxKind["JsxClosingElement"] = 257] = "JsxClosingElement"; - SyntaxKind[SyntaxKind["JsxFragment"] = 258] = "JsxFragment"; - SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 259] = "JsxOpeningFragment"; - SyntaxKind[SyntaxKind["JsxClosingFragment"] = 260] = "JsxClosingFragment"; - SyntaxKind[SyntaxKind["JsxAttribute"] = 261] = "JsxAttribute"; - SyntaxKind[SyntaxKind["JsxAttributes"] = 262] = "JsxAttributes"; - SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 263] = "JsxSpreadAttribute"; - SyntaxKind[SyntaxKind["JsxExpression"] = 264] = "JsxExpression"; + SyntaxKind[SyntaxKind["JsxElement"] = 255] = "JsxElement"; + SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 256] = "JsxSelfClosingElement"; + SyntaxKind[SyntaxKind["JsxOpeningElement"] = 257] = "JsxOpeningElement"; + SyntaxKind[SyntaxKind["JsxClosingElement"] = 258] = "JsxClosingElement"; + SyntaxKind[SyntaxKind["JsxFragment"] = 259] = "JsxFragment"; + SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 260] = "JsxOpeningFragment"; + SyntaxKind[SyntaxKind["JsxClosingFragment"] = 261] = "JsxClosingFragment"; + SyntaxKind[SyntaxKind["JsxAttribute"] = 262] = "JsxAttribute"; + SyntaxKind[SyntaxKind["JsxAttributes"] = 263] = "JsxAttributes"; + SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 264] = "JsxSpreadAttribute"; + SyntaxKind[SyntaxKind["JsxExpression"] = 265] = "JsxExpression"; // Clauses - SyntaxKind[SyntaxKind["CaseClause"] = 265] = "CaseClause"; - SyntaxKind[SyntaxKind["DefaultClause"] = 266] = "DefaultClause"; - SyntaxKind[SyntaxKind["HeritageClause"] = 267] = "HeritageClause"; - SyntaxKind[SyntaxKind["CatchClause"] = 268] = "CatchClause"; + SyntaxKind[SyntaxKind["CaseClause"] = 266] = "CaseClause"; + SyntaxKind[SyntaxKind["DefaultClause"] = 267] = "DefaultClause"; + SyntaxKind[SyntaxKind["HeritageClause"] = 268] = "HeritageClause"; + SyntaxKind[SyntaxKind["CatchClause"] = 269] = "CatchClause"; // Property assignments - SyntaxKind[SyntaxKind["PropertyAssignment"] = 269] = "PropertyAssignment"; - SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 270] = "ShorthandPropertyAssignment"; - SyntaxKind[SyntaxKind["SpreadAssignment"] = 271] = "SpreadAssignment"; + SyntaxKind[SyntaxKind["PropertyAssignment"] = 270] = "PropertyAssignment"; + SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 271] = "ShorthandPropertyAssignment"; + SyntaxKind[SyntaxKind["SpreadAssignment"] = 272] = "SpreadAssignment"; // Enum - SyntaxKind[SyntaxKind["EnumMember"] = 272] = "EnumMember"; + SyntaxKind[SyntaxKind["EnumMember"] = 273] = "EnumMember"; // Top-level nodes - SyntaxKind[SyntaxKind["SourceFile"] = 273] = "SourceFile"; - SyntaxKind[SyntaxKind["Bundle"] = 274] = "Bundle"; - SyntaxKind[SyntaxKind["UnparsedSource"] = 275] = "UnparsedSource"; - SyntaxKind[SyntaxKind["InputFiles"] = 276] = "InputFiles"; + SyntaxKind[SyntaxKind["SourceFile"] = 274] = "SourceFile"; + SyntaxKind[SyntaxKind["Bundle"] = 275] = "Bundle"; + SyntaxKind[SyntaxKind["UnparsedSource"] = 276] = "UnparsedSource"; + SyntaxKind[SyntaxKind["InputFiles"] = 277] = "InputFiles"; // JSDoc nodes - SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 277] = "JSDocTypeExpression"; + SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 278] = "JSDocTypeExpression"; // The * type - SyntaxKind[SyntaxKind["JSDocAllType"] = 278] = "JSDocAllType"; + SyntaxKind[SyntaxKind["JSDocAllType"] = 279] = "JSDocAllType"; // The ? type - SyntaxKind[SyntaxKind["JSDocUnknownType"] = 279] = "JSDocUnknownType"; - SyntaxKind[SyntaxKind["JSDocNullableType"] = 280] = "JSDocNullableType"; - SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 281] = "JSDocNonNullableType"; - SyntaxKind[SyntaxKind["JSDocOptionalType"] = 282] = "JSDocOptionalType"; - SyntaxKind[SyntaxKind["JSDocFunctionType"] = 283] = "JSDocFunctionType"; - SyntaxKind[SyntaxKind["JSDocVariadicType"] = 284] = "JSDocVariadicType"; - SyntaxKind[SyntaxKind["JSDocComment"] = 285] = "JSDocComment"; - SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 286] = "JSDocTypeLiteral"; - SyntaxKind[SyntaxKind["JSDocSignature"] = 287] = "JSDocSignature"; - SyntaxKind[SyntaxKind["JSDocTag"] = 288] = "JSDocTag"; - SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 289] = "JSDocAugmentsTag"; - SyntaxKind[SyntaxKind["JSDocClassTag"] = 290] = "JSDocClassTag"; - SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 291] = "JSDocCallbackTag"; - SyntaxKind[SyntaxKind["JSDocParameterTag"] = 292] = "JSDocParameterTag"; - SyntaxKind[SyntaxKind["JSDocReturnTag"] = 293] = "JSDocReturnTag"; - SyntaxKind[SyntaxKind["JSDocTypeTag"] = 294] = "JSDocTypeTag"; - SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 295] = "JSDocTemplateTag"; - SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 296] = "JSDocTypedefTag"; - SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 297] = "JSDocPropertyTag"; + SyntaxKind[SyntaxKind["JSDocUnknownType"] = 280] = "JSDocUnknownType"; + SyntaxKind[SyntaxKind["JSDocNullableType"] = 281] = "JSDocNullableType"; + SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 282] = "JSDocNonNullableType"; + SyntaxKind[SyntaxKind["JSDocOptionalType"] = 283] = "JSDocOptionalType"; + SyntaxKind[SyntaxKind["JSDocFunctionType"] = 284] = "JSDocFunctionType"; + SyntaxKind[SyntaxKind["JSDocVariadicType"] = 285] = "JSDocVariadicType"; + SyntaxKind[SyntaxKind["JSDocComment"] = 286] = "JSDocComment"; + SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 287] = "JSDocTypeLiteral"; + SyntaxKind[SyntaxKind["JSDocSignature"] = 288] = "JSDocSignature"; + SyntaxKind[SyntaxKind["JSDocTag"] = 289] = "JSDocTag"; + SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 290] = "JSDocAugmentsTag"; + SyntaxKind[SyntaxKind["JSDocClassTag"] = 291] = "JSDocClassTag"; + SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 292] = "JSDocCallbackTag"; + SyntaxKind[SyntaxKind["JSDocParameterTag"] = 293] = "JSDocParameterTag"; + SyntaxKind[SyntaxKind["JSDocReturnTag"] = 294] = "JSDocReturnTag"; + SyntaxKind[SyntaxKind["JSDocTypeTag"] = 295] = "JSDocTypeTag"; + SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 296] = "JSDocTemplateTag"; + SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 297] = "JSDocTypedefTag"; + SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 298] = "JSDocPropertyTag"; // Synthesized list - SyntaxKind[SyntaxKind["SyntaxList"] = 298] = "SyntaxList"; + SyntaxKind[SyntaxKind["SyntaxList"] = 299] = "SyntaxList"; // Transformation nodes - SyntaxKind[SyntaxKind["NotEmittedStatement"] = 299] = "NotEmittedStatement"; - SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 300] = "PartiallyEmittedExpression"; - SyntaxKind[SyntaxKind["CommaListExpression"] = 301] = "CommaListExpression"; - SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 302] = "MergeDeclarationMarker"; - SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 303] = "EndOfDeclarationMarker"; + SyntaxKind[SyntaxKind["NotEmittedStatement"] = 300] = "NotEmittedStatement"; + SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 301] = "PartiallyEmittedExpression"; + SyntaxKind[SyntaxKind["CommaListExpression"] = 302] = "CommaListExpression"; + SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 303] = "MergeDeclarationMarker"; + SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 304] = "EndOfDeclarationMarker"; // Enum value count - SyntaxKind[SyntaxKind["Count"] = 304] = "Count"; + SyntaxKind[SyntaxKind["Count"] = 305] = "Count"; // Markers SyntaxKind[SyntaxKind["FirstAssignment"] = 58] = "FirstAssignment"; SyntaxKind[SyntaxKind["LastAssignment"] = 70] = "LastAssignment"; @@ -394,15 +395,15 @@ var ts; SyntaxKind[SyntaxKind["FirstReservedWord"] = 72] = "FirstReservedWord"; SyntaxKind[SyntaxKind["LastReservedWord"] = 107] = "LastReservedWord"; SyntaxKind[SyntaxKind["FirstKeyword"] = 72] = "FirstKeyword"; - SyntaxKind[SyntaxKind["LastKeyword"] = 144] = "LastKeyword"; + SyntaxKind[SyntaxKind["LastKeyword"] = 145] = "LastKeyword"; SyntaxKind[SyntaxKind["FirstFutureReservedWord"] = 108] = "FirstFutureReservedWord"; SyntaxKind[SyntaxKind["LastFutureReservedWord"] = 116] = "LastFutureReservedWord"; - SyntaxKind[SyntaxKind["FirstTypeNode"] = 160] = "FirstTypeNode"; - SyntaxKind[SyntaxKind["LastTypeNode"] = 178] = "LastTypeNode"; + SyntaxKind[SyntaxKind["FirstTypeNode"] = 161] = "FirstTypeNode"; + SyntaxKind[SyntaxKind["LastTypeNode"] = 179] = "LastTypeNode"; SyntaxKind[SyntaxKind["FirstPunctuation"] = 17] = "FirstPunctuation"; SyntaxKind[SyntaxKind["LastPunctuation"] = 70] = "LastPunctuation"; SyntaxKind[SyntaxKind["FirstToken"] = 0] = "FirstToken"; - SyntaxKind[SyntaxKind["LastToken"] = 144] = "LastToken"; + SyntaxKind[SyntaxKind["LastToken"] = 145] = "LastToken"; SyntaxKind[SyntaxKind["FirstTriviaToken"] = 2] = "FirstTriviaToken"; SyntaxKind[SyntaxKind["LastTriviaToken"] = 7] = "LastTriviaToken"; SyntaxKind[SyntaxKind["FirstLiteralToken"] = 8] = "FirstLiteralToken"; @@ -411,13 +412,13 @@ var ts; SyntaxKind[SyntaxKind["LastTemplateToken"] = 16] = "LastTemplateToken"; SyntaxKind[SyntaxKind["FirstBinaryOperator"] = 27] = "FirstBinaryOperator"; SyntaxKind[SyntaxKind["LastBinaryOperator"] = 70] = "LastBinaryOperator"; - SyntaxKind[SyntaxKind["FirstNode"] = 145] = "FirstNode"; - SyntaxKind[SyntaxKind["FirstJSDocNode"] = 277] = "FirstJSDocNode"; - SyntaxKind[SyntaxKind["LastJSDocNode"] = 297] = "LastJSDocNode"; - SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 288] = "FirstJSDocTagNode"; - SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 297] = "LastJSDocTagNode"; + SyntaxKind[SyntaxKind["FirstNode"] = 146] = "FirstNode"; + SyntaxKind[SyntaxKind["FirstJSDocNode"] = 278] = "FirstJSDocNode"; + SyntaxKind[SyntaxKind["LastJSDocNode"] = 298] = "LastJSDocNode"; + SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 289] = "FirstJSDocTagNode"; + SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 298] = "LastJSDocTagNode"; /* @internal */ SyntaxKind[SyntaxKind["FirstContextualKeyword"] = 117] = "FirstContextualKeyword"; - /* @internal */ SyntaxKind[SyntaxKind["LastContextualKeyword"] = 144] = "LastContextualKeyword"; + /* @internal */ SyntaxKind[SyntaxKind["LastContextualKeyword"] = 145] = "LastContextualKeyword"; })(SyntaxKind = ts.SyntaxKind || (ts.SyntaxKind = {})); var NodeFlags; (function (NodeFlags) { @@ -857,89 +858,93 @@ var ts; var TypeFlags; (function (TypeFlags) { TypeFlags[TypeFlags["Any"] = 1] = "Any"; - TypeFlags[TypeFlags["String"] = 2] = "String"; - TypeFlags[TypeFlags["Number"] = 4] = "Number"; - TypeFlags[TypeFlags["Boolean"] = 8] = "Boolean"; - TypeFlags[TypeFlags["Enum"] = 16] = "Enum"; - TypeFlags[TypeFlags["StringLiteral"] = 32] = "StringLiteral"; - TypeFlags[TypeFlags["NumberLiteral"] = 64] = "NumberLiteral"; - TypeFlags[TypeFlags["BooleanLiteral"] = 128] = "BooleanLiteral"; - TypeFlags[TypeFlags["EnumLiteral"] = 256] = "EnumLiteral"; - TypeFlags[TypeFlags["ESSymbol"] = 512] = "ESSymbol"; - TypeFlags[TypeFlags["UniqueESSymbol"] = 1024] = "UniqueESSymbol"; - TypeFlags[TypeFlags["Void"] = 2048] = "Void"; - TypeFlags[TypeFlags["Undefined"] = 4096] = "Undefined"; - TypeFlags[TypeFlags["Null"] = 8192] = "Null"; - TypeFlags[TypeFlags["Never"] = 16384] = "Never"; - TypeFlags[TypeFlags["TypeParameter"] = 32768] = "TypeParameter"; - TypeFlags[TypeFlags["Object"] = 65536] = "Object"; - TypeFlags[TypeFlags["Union"] = 131072] = "Union"; - TypeFlags[TypeFlags["Intersection"] = 262144] = "Intersection"; - TypeFlags[TypeFlags["Index"] = 524288] = "Index"; - TypeFlags[TypeFlags["IndexedAccess"] = 1048576] = "IndexedAccess"; - TypeFlags[TypeFlags["Conditional"] = 2097152] = "Conditional"; - TypeFlags[TypeFlags["Substitution"] = 4194304] = "Substitution"; + TypeFlags[TypeFlags["Unknown"] = 2] = "Unknown"; + TypeFlags[TypeFlags["String"] = 4] = "String"; + TypeFlags[TypeFlags["Number"] = 8] = "Number"; + TypeFlags[TypeFlags["Boolean"] = 16] = "Boolean"; + TypeFlags[TypeFlags["Enum"] = 32] = "Enum"; + TypeFlags[TypeFlags["StringLiteral"] = 64] = "StringLiteral"; + TypeFlags[TypeFlags["NumberLiteral"] = 128] = "NumberLiteral"; + TypeFlags[TypeFlags["BooleanLiteral"] = 256] = "BooleanLiteral"; + TypeFlags[TypeFlags["EnumLiteral"] = 512] = "EnumLiteral"; + TypeFlags[TypeFlags["ESSymbol"] = 1024] = "ESSymbol"; + TypeFlags[TypeFlags["UniqueESSymbol"] = 2048] = "UniqueESSymbol"; + TypeFlags[TypeFlags["Void"] = 4096] = "Void"; + TypeFlags[TypeFlags["Undefined"] = 8192] = "Undefined"; + TypeFlags[TypeFlags["Null"] = 16384] = "Null"; + TypeFlags[TypeFlags["Never"] = 32768] = "Never"; + TypeFlags[TypeFlags["TypeParameter"] = 65536] = "TypeParameter"; + TypeFlags[TypeFlags["Object"] = 131072] = "Object"; + TypeFlags[TypeFlags["Union"] = 262144] = "Union"; + TypeFlags[TypeFlags["Intersection"] = 524288] = "Intersection"; + TypeFlags[TypeFlags["Index"] = 1048576] = "Index"; + TypeFlags[TypeFlags["IndexedAccess"] = 2097152] = "IndexedAccess"; + TypeFlags[TypeFlags["Conditional"] = 4194304] = "Conditional"; + TypeFlags[TypeFlags["Substitution"] = 8388608] = "Substitution"; + TypeFlags[TypeFlags["NonPrimitive"] = 16777216] = "NonPrimitive"; /* @internal */ - TypeFlags[TypeFlags["FreshLiteral"] = 8388608] = "FreshLiteral"; + TypeFlags[TypeFlags["FreshLiteral"] = 33554432] = "FreshLiteral"; /* @internal */ - TypeFlags[TypeFlags["ContainsWideningType"] = 16777216] = "ContainsWideningType"; + TypeFlags[TypeFlags["UnionOfUnitTypes"] = 67108864] = "UnionOfUnitTypes"; /* @internal */ - TypeFlags[TypeFlags["ContainsObjectLiteral"] = 33554432] = "ContainsObjectLiteral"; + TypeFlags[TypeFlags["ContainsWideningType"] = 134217728] = "ContainsWideningType"; /* @internal */ - TypeFlags[TypeFlags["ContainsAnyFunctionType"] = 67108864] = "ContainsAnyFunctionType"; - TypeFlags[TypeFlags["NonPrimitive"] = 134217728] = "NonPrimitive"; + TypeFlags[TypeFlags["ContainsObjectLiteral"] = 268435456] = "ContainsObjectLiteral"; /* @internal */ - TypeFlags[TypeFlags["UnionOfUnitTypes"] = 268435456] = "UnionOfUnitTypes"; + TypeFlags[TypeFlags["ContainsAnyFunctionType"] = 536870912] = "ContainsAnyFunctionType"; /* @internal */ - TypeFlags[TypeFlags["GenericMappedType"] = 536870912] = "GenericMappedType"; + TypeFlags[TypeFlags["AnyOrUnknown"] = 3] = "AnyOrUnknown"; /* @internal */ - TypeFlags[TypeFlags["Nullable"] = 12288] = "Nullable"; - TypeFlags[TypeFlags["Literal"] = 224] = "Literal"; - TypeFlags[TypeFlags["Unit"] = 13536] = "Unit"; - TypeFlags[TypeFlags["StringOrNumberLiteral"] = 96] = "StringOrNumberLiteral"; + TypeFlags[TypeFlags["Nullable"] = 24576] = "Nullable"; + TypeFlags[TypeFlags["Literal"] = 448] = "Literal"; + TypeFlags[TypeFlags["Unit"] = 27072] = "Unit"; + TypeFlags[TypeFlags["StringOrNumberLiteral"] = 192] = "StringOrNumberLiteral"; /* @internal */ - TypeFlags[TypeFlags["StringOrNumberLiteralOrUnique"] = 1120] = "StringOrNumberLiteralOrUnique"; + TypeFlags[TypeFlags["StringOrNumberLiteralOrUnique"] = 2240] = "StringOrNumberLiteralOrUnique"; /* @internal */ - TypeFlags[TypeFlags["DefinitelyFalsy"] = 14560] = "DefinitelyFalsy"; - TypeFlags[TypeFlags["PossiblyFalsy"] = 14574] = "PossiblyFalsy"; + TypeFlags[TypeFlags["DefinitelyFalsy"] = 29120] = "DefinitelyFalsy"; + TypeFlags[TypeFlags["PossiblyFalsy"] = 29148] = "PossiblyFalsy"; /* @internal */ - TypeFlags[TypeFlags["Intrinsic"] = 134249103] = "Intrinsic"; + TypeFlags[TypeFlags["Intrinsic"] = 16839967] = "Intrinsic"; /* @internal */ - TypeFlags[TypeFlags["Primitive"] = 16382] = "Primitive"; - TypeFlags[TypeFlags["StringLike"] = 34] = "StringLike"; - TypeFlags[TypeFlags["NumberLike"] = 84] = "NumberLike"; - TypeFlags[TypeFlags["BooleanLike"] = 136] = "BooleanLike"; - TypeFlags[TypeFlags["EnumLike"] = 272] = "EnumLike"; - TypeFlags[TypeFlags["ESSymbolLike"] = 1536] = "ESSymbolLike"; - TypeFlags[TypeFlags["VoidLike"] = 6144] = "VoidLike"; + TypeFlags[TypeFlags["Primitive"] = 32764] = "Primitive"; + TypeFlags[TypeFlags["StringLike"] = 68] = "StringLike"; + TypeFlags[TypeFlags["NumberLike"] = 168] = "NumberLike"; + TypeFlags[TypeFlags["BooleanLike"] = 272] = "BooleanLike"; + TypeFlags[TypeFlags["EnumLike"] = 544] = "EnumLike"; + TypeFlags[TypeFlags["ESSymbolLike"] = 3072] = "ESSymbolLike"; + TypeFlags[TypeFlags["VoidLike"] = 12288] = "VoidLike"; /* @internal */ - TypeFlags[TypeFlags["DisjointDomains"] = 134233854] = "DisjointDomains"; - TypeFlags[TypeFlags["UnionOrIntersection"] = 393216] = "UnionOrIntersection"; - TypeFlags[TypeFlags["StructuredType"] = 458752] = "StructuredType"; - TypeFlags[TypeFlags["TypeVariable"] = 1081344] = "TypeVariable"; - TypeFlags[TypeFlags["InstantiableNonPrimitive"] = 7372800] = "InstantiableNonPrimitive"; - TypeFlags[TypeFlags["InstantiablePrimitive"] = 524288] = "InstantiablePrimitive"; - TypeFlags[TypeFlags["Instantiable"] = 7897088] = "Instantiable"; - TypeFlags[TypeFlags["StructuredOrInstantiable"] = 8355840] = "StructuredOrInstantiable"; + TypeFlags[TypeFlags["DisjointDomains"] = 16809468] = "DisjointDomains"; + TypeFlags[TypeFlags["UnionOrIntersection"] = 786432] = "UnionOrIntersection"; + TypeFlags[TypeFlags["StructuredType"] = 917504] = "StructuredType"; + TypeFlags[TypeFlags["TypeVariable"] = 2162688] = "TypeVariable"; + TypeFlags[TypeFlags["InstantiableNonPrimitive"] = 14745600] = "InstantiableNonPrimitive"; + TypeFlags[TypeFlags["InstantiablePrimitive"] = 1048576] = "InstantiablePrimitive"; + TypeFlags[TypeFlags["Instantiable"] = 15794176] = "Instantiable"; + TypeFlags[TypeFlags["StructuredOrInstantiable"] = 16711680] = "StructuredOrInstantiable"; // 'Narrowable' types are types where narrowing actually narrows. // This *should* be every type other than null, undefined, void, and never - TypeFlags[TypeFlags["Narrowable"] = 142575359] = "Narrowable"; - TypeFlags[TypeFlags["NotUnionOrUnit"] = 134283777] = "NotUnionOrUnit"; + TypeFlags[TypeFlags["Narrowable"] = 33492479] = "Narrowable"; + TypeFlags[TypeFlags["NotUnionOrUnit"] = 16909315] = "NotUnionOrUnit"; /* @internal */ - TypeFlags[TypeFlags["NotUnit"] = 8374815] = "NotUnit"; + TypeFlags[TypeFlags["NotUnit"] = 16749629] = "NotUnit"; /* @internal */ - TypeFlags[TypeFlags["RequiresWidening"] = 50331648] = "RequiresWidening"; + TypeFlags[TypeFlags["RequiresWidening"] = 402653184] = "RequiresWidening"; /* @internal */ - TypeFlags[TypeFlags["PropagatingFlags"] = 117440512] = "PropagatingFlags"; + TypeFlags[TypeFlags["PropagatingFlags"] = 939524096] = "PropagatingFlags"; // The following flags are used for different purposes during union and intersection type construction /* @internal */ - TypeFlags[TypeFlags["NonWideningType"] = 16777216] = "NonWideningType"; + TypeFlags[TypeFlags["NonWideningType"] = 134217728] = "NonWideningType"; /* @internal */ - TypeFlags[TypeFlags["Wildcard"] = 33554432] = "Wildcard"; + TypeFlags[TypeFlags["Wildcard"] = 268435456] = "Wildcard"; /* @internal */ - TypeFlags[TypeFlags["EmptyObject"] = 67108864] = "EmptyObject"; + TypeFlags[TypeFlags["EmptyObject"] = 536870912] = "EmptyObject"; /* @internal */ - TypeFlags[TypeFlags["ConstructionFlags"] = 117440512] = "ConstructionFlags"; + TypeFlags[TypeFlags["ConstructionFlags"] = 939524096] = "ConstructionFlags"; + // The following flag is used for different purposes by maybeTypeOfKind + /* @internal */ + TypeFlags[TypeFlags["GenericMappedType"] = 134217728] = "GenericMappedType"; })(TypeFlags = ts.TypeFlags || (ts.TypeFlags = {})); var ObjectFlags; (function (ObjectFlags) { @@ -1325,6 +1330,7 @@ var ts; })(TransformFlags = ts.TransformFlags || (ts.TransformFlags = {})); var EmitFlags; (function (EmitFlags) { + EmitFlags[EmitFlags["None"] = 0] = "None"; EmitFlags[EmitFlags["SingleLine"] = 1] = "SingleLine"; EmitFlags[EmitFlags["AdviseOnEmitNode"] = 2] = "AdviseOnEmitNode"; EmitFlags[EmitFlags["NoSubstitution"] = 4] = "NoSubstitution"; @@ -1633,7 +1639,7 @@ var ts; (function (ts) { // WARNING: The script `configureNightly.ts` uses a regexp to parse out these values. // If changing the text in this section, be sure to test `configureNightly` too. - ts.versionMajorMinor = "2.9"; + ts.versionMajorMinor = "3.0"; /** The version of the TypeScript compiler release */ ts.version = ts.versionMajorMinor + ".0-dev"; })(ts || (ts = {})); @@ -1781,6 +1787,10 @@ var ts; return array ? array.length : 0; } ts.length = length; + function hasEntries(map) { + return !!map && !!map.size; + } + ts.hasEntries = hasEntries; /** * Iterates through 'array' by index and performs the callback on each element of array until the callback * returns a truthy value, then returns that value. @@ -1937,7 +1947,7 @@ var ts; return result; } } - Debug.fail(); + return Debug.fail(); } ts.findMap = findMap; function contains(array, value, equalityComparer) { @@ -2055,11 +2065,6 @@ var ts; return array; } ts.sameMap = sameMap; - /** - * Flattens an array containing a mix of array or non-array elements. - * - * @param array The array to flatten. - */ function flatten(array) { var result; if (array) { @@ -2079,12 +2084,6 @@ var ts; return result; } ts.flatten = flatten; - /** - * Maps an array. If the mapped value is an array, it is spread into the result. - * - * @param array The array to map. - * @param mapfn The callback used to map the result into one or more values. - */ function flatMap(array, mapfn) { var result; if (array) { @@ -2207,13 +2206,6 @@ var ts; }; } ts.singleIterator = singleIterator; - /** - * Maps contiguous spans of values with the same key. - * - * @param array The array to map. - * @param keyfn A callback used to select the key for an element. - * @param mapfn A callback used to map a contiguous chunk of values to a single value. - */ function spanMap(array, keyfn, mapfn) { var result; if (array) { @@ -2331,12 +2323,6 @@ var ts; } return result; } - /** - * Deduplicates an unsorted array. - * @param equalityComparer An optional `EqualityComparer` used to determine if two values are duplicates. - * @param comparer An optional `Comparer` used to sort entries before comparison, though the - * result will remain in the original order in `array`. - */ function deduplicate(array, equalityComparer, comparer) { return !array ? undefined : array.length === 0 ? [] : @@ -2345,9 +2331,6 @@ var ts; deduplicateEquality(array, equalityComparer); } ts.deduplicate = deduplicate; - /** - * Deduplicates an array that has already been sorted. - */ function deduplicateSorted(array, comparer) { if (!array) return undefined; @@ -2490,14 +2473,6 @@ var ts; return result; } ts.sum = sum; - /** - * Appends a value to an array, returning the array. - * - * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array - * is created if `value` was appended. - * @param value The value to append to the array. If `value` is `undefined`, nothing is - * appended. - */ function append(to, value) { if (value === undefined) return to; @@ -2514,16 +2489,6 @@ var ts; function toOffset(array, offset) { return offset < 0 ? array.length + offset : offset; } - /** - * Appends a range of value to an array, returning the array. - * - * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array - * is created if `value` was appended. - * @param from The values to append to the array. If `from` is `undefined`, nothing is - * appended. If an element of `from` is `undefined`, that element is not appended. - * @param start The offset in `from` at which to start copying values. - * @param end The offset in `from` at which to stop copying values (non-inclusive). - */ function addRange(to, from, start, end) { if (from === undefined || from.length === 0) return to; @@ -2539,23 +2504,6 @@ var ts; return to; } ts.addRange = addRange; - /** - * Appends a range of value to begin of an array, returning the array. - * - * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array - * is created if `value` was appended. - * @param from The values to append to the array. If `from` is `undefined`, nothing is - * appended. If an element of `from` is `undefined`, that element is not appended. - */ - function prependRange(to, from) { - if (from === undefined || from.length === 0) - return to; - if (to === undefined) - return from.slice(); - to.unshift.apply(to, from); - return to; - } - ts.prependRange = prependRange; /** * @return Whether the value was added. */ @@ -2853,7 +2801,7 @@ var ts; var arg = args_1[_a]; for (var p in arg) { if (hasProperty(arg, p)) { - t[p] = arg[p]; + t[p] = arg[p]; // TODO: GH#23368 } } } @@ -3012,10 +2960,10 @@ var ts; if (value !== undefined && test(value)) return value; if (value && typeof value.kind === "number") { - Debug.fail("Invalid cast. The supplied " + Debug.showSyntaxKind(value) + " did not pass the test '" + Debug.getFunctionName(test) + "'."); + return Debug.fail("Invalid cast. The supplied " + Debug.showSyntaxKind(value) + " did not pass the test '" + Debug.getFunctionName(test) + "'."); } else { - Debug.fail("Invalid cast. The supplied value did not pass the test '" + Debug.getFunctionName(test) + "'."); + return Debug.fail("Invalid cast. The supplied value did not pass the test '" + Debug.getFunctionName(test) + "'."); } } ts.cast = cast; @@ -3101,7 +3049,7 @@ var ts; } ts.compose = compose; function formatStringFromArgs(text, args, baseIndex) { - baseIndex = baseIndex || 0; + if (baseIndex === void 0) { baseIndex = 0; } return text.replace(/{(\d+)}/g, function (_match, index) { return Debug.assertDefined(args[+index + baseIndex]); }); } ts.formatStringFromArgs = formatStringFromArgs; @@ -3409,7 +3357,9 @@ var ts; return compareValues(a ? 1 : 0, b ? 1 : 0); } ts.compareBooleans = compareBooleans; - function compareMessageText(text1, text2) { + function compareMessageText(t1, t2) { + var text1 = t1; + var text2 = t2; while (text1 && text2) { // We still have both chains. var string1 = isString(text1) ? text1 : text1.messageText; @@ -3446,6 +3396,14 @@ var ts; return moduleResolution; } ts.getEmitModuleResolutionKind = getEmitModuleResolutionKind; + function unreachableCodeIsError(options) { + return options.allowUnreachableCode === false; + } + ts.unreachableCodeIsError = unreachableCodeIsError; + function unusedLabelIsError(options) { + return options.allowUnusedLabels === false; + } + ts.unusedLabelIsError = unusedLabelIsError; function getAreDeclarationMapsEnabled(options) { return !!(options.declaration && options.declarationMap); } @@ -3464,7 +3422,7 @@ var ts; } ts.getEmitDeclarations = getEmitDeclarations; function getStrictOptionValue(compilerOptions, flag) { - return compilerOptions[flag] === undefined ? compilerOptions.strict : compilerOptions[flag]; + return compilerOptions[flag] === undefined ? !!compilerOptions.strict : !!compilerOptions[flag]; } ts.getStrictOptionValue = getStrictOptionValue; function hasZeroOrOneAsteriskCharacter(str) { @@ -3947,6 +3905,23 @@ var ts; return startsWith(str, prefix) ? str.substr(prefix.length) : str; } ts.removePrefix = removePrefix; + function tryRemovePrefix(str, prefix) { + return startsWith(str, prefix) ? str.substring(prefix.length) : undefined; + } + ts.tryRemovePrefix = tryRemovePrefix; + function tryRemoveDirectoryPrefix(path, dirPath) { + var a = tryRemovePrefix(path, dirPath); + if (a === undefined) + return undefined; + switch (a.charCodeAt(0)) { + case 47 /* slash */: + case 92 /* backslash */: + return a.slice(1); + default: + return undefined; + } + } + ts.tryRemoveDirectoryPrefix = tryRemoveDirectoryPrefix; function endsWith(str, suffix) { var expectedPos = str.length - suffix.length; return expectedPos >= 0 && str.indexOf(suffix, expectedPos) === expectedPos; @@ -3956,6 +3931,10 @@ var ts; return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : str; } ts.removeSuffix = removeSuffix; + function tryRemoveSuffix(str, suffix) { + return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : undefined; + } + ts.tryRemoveSuffix = tryRemoveSuffix; function stringContains(str, substring) { return str.indexOf(substring) !== -1; } @@ -3989,7 +3968,7 @@ var ts; /** * Matches any single directory segment unless it is the last segment and a .min.js file * Breakdown: - * [^./] # matches everything up to the first . character (excluding directory seperators) + * [^./] # matches everything up to the first . character (excluding directory separators) * (\\.(?!min\\.js$))? # matches . characters but not if they are part of the .min.js file extension */ singleAsteriskRegexFragment: "([^./]|(\\.(?!min\\.js$))?)*", @@ -4051,7 +4030,7 @@ var ts; var subpattern = ""; var hasWrittenComponent = false; var components = getNormalizedPathComponents(spec, basePath); - var lastComponent = lastOrUndefined(components); + var lastComponent = last(components); if (usage !== "exclude" && lastComponent === "**") { return undefined; } @@ -4115,6 +4094,7 @@ var ts; function replaceWildcardCharacter(match, singleAsteriskRegexFragment) { return match === "*" ? singleAsteriskRegexFragment : match === "?" ? "[^/]" : "\\" + match; } + /** @param path directory of the tsconfig.json */ function getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { path = normalizePath(path); currentDirectory = normalizePath(currentDirectory); @@ -4128,14 +4108,18 @@ var ts; }; } ts.getFileMatcherPatterns = getFileMatcherPatterns; + function getRegexFromPattern(pattern, useCaseSensitiveFileNames) { + return new RegExp(pattern, useCaseSensitiveFileNames ? "" : "i"); + } + ts.getRegexFromPattern = getRegexFromPattern; + /** @param path directory of the tsconfig.json */ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries) { path = normalizePath(path); currentDirectory = normalizePath(currentDirectory); var patterns = getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory); - var regexFlag = useCaseSensitiveFileNames ? "" : "i"; - var includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(function (pattern) { return new RegExp(pattern, regexFlag); }); - var includeDirectoryRegex = patterns.includeDirectoryPattern && new RegExp(patterns.includeDirectoryPattern, regexFlag); - var excludeRegex = patterns.excludePattern && new RegExp(patterns.excludePattern, regexFlag); + var includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(function (pattern) { return getRegexFromPattern(pattern, useCaseSensitiveFileNames); }); + var includeDirectoryRegex = patterns.includeDirectoryPattern && getRegexFromPattern(patterns.includeDirectoryPattern, useCaseSensitiveFileNames); + var excludeRegex = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, useCaseSensitiveFileNames); // Associate an array of results with each include regex. This keeps results in order of the "include" order. // If there are no "includes", then just put everything in results[0]. var results = includeFileRegexes ? includeFileRegexes.map(function () { return []; }) : [[]]; @@ -4277,11 +4261,11 @@ var ts; return scriptKind === 1 /* JS */ || scriptKind === 2 /* JSX */; } function hasJavaScriptFileExtension(fileName) { - return forEach(ts.supportedJavascriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); + return some(ts.supportedJavascriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); } ts.hasJavaScriptFileExtension = hasJavaScriptFileExtension; function hasTypeScriptFileExtension(fileName) { - return forEach(ts.supportedTypeScriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); + return some(ts.supportedTypeScriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); } ts.hasTypeScriptFileExtension = hasTypeScriptFileExtension; function isSupportedSourceFileName(fileName, compilerOptions, extraFileExtensions) { @@ -4487,7 +4471,8 @@ var ts; } Debug.fail = fail; function assertDefined(value, message) { - assert(value !== undefined && value !== null, message); + if (value === undefined || value === null) + return fail(message); return value; } Debug.assertDefined = assertDefined; @@ -4671,10 +4656,7 @@ var ts; */ function extensionFromPath(path) { var ext = tryGetExtensionFromPath(path); - if (ext !== undefined) { - return ext; - } - Debug.fail("File " + path + " has unknown extension."); + return ext !== undefined ? ext : Debug.fail("File " + path + " has unknown extension."); } ts.extensionFromPath = extensionFromPath; function isAnySupportedFileExtension(path) { @@ -5118,6 +5100,7 @@ var ts; return parseInt(version.substring(1, dot)); } ts.getNodeMajorVersion = getNodeMajorVersion; + // TODO: this is used as if it's certainly defined in many places. ts.sys = (function () { // NodeJS detects "\uFEFF" at the start of the string and *replaces* it with the actual // byte order mark from the specified encoding. Using any other byte order mark does @@ -5299,6 +5282,7 @@ var ts; return watchDirectoryRecursively(directoryName, callback); } watchDirectory(directoryName, callback); + return undefined; // TODO: GH#18217 }; } function createNonPollingWatchFile() { @@ -5330,7 +5314,7 @@ var ts; var watcher = fsWatchDirectory(dirName, function (_eventName, relativeFileName) { // When files are deleted from disk, the triggered "rename" event would have a relativefileName of "undefined" var fileName = !ts.isString(relativeFileName) - ? undefined + ? undefined // TODO: GH#18217 : ts.getNormalizedAbsolutePath(relativeFileName, dirName); // Some applications save a working file via rename operations var callbacks = fileWatcherCallbacks.get(toCanonicalName(fileName)); @@ -5579,6 +5563,7 @@ var ts; switch (entryKind) { case 0 /* File */: return stat.isFile(); case 1 /* Directory */: return stat.isDirectory(); + default: return false; } } catch (e) { @@ -5770,6 +5755,7 @@ var ts; The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type: diag(1064, ts.DiagnosticCategory.Error, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1064", "The return type of an async function or method must be the global Promise type."), In_ambient_enum_declarations_member_initializer_must_be_constant_expression: diag(1066, ts.DiagnosticCategory.Error, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."), Unexpected_token_A_constructor_method_accessor_or_property_was_expected: diag(1068, ts.DiagnosticCategory.Error, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."), + Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: diag(1069, ts.DiagnosticCategory.Error, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."), _0_modifier_cannot_appear_on_a_type_member: diag(1070, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_a_type_member_1070", "'{0}' modifier cannot appear on a type member."), _0_modifier_cannot_appear_on_an_index_signature: diag(1071, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_an_index_signature_1071", "'{0}' modifier cannot appear on an index signature."), A_0_modifier_cannot_be_used_with_an_import_declaration: diag(1079, ts.DiagnosticCategory.Error, "A_0_modifier_cannot_be_used_with_an_import_declaration_1079", "A '{0}' modifier cannot be used with an import declaration."), @@ -6221,6 +6207,7 @@ var ts; Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators: diag(2568, ts.DiagnosticCategory.Error, "Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators_2568", "Type '{0}' is not an array type. Use compiler option '--downlevelIteration' to allow iterating of iterators."), Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators: diag(2569, ts.DiagnosticCategory.Error, "Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569", "Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators."), Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await: diag(2570, ts.DiagnosticCategory.Error, "Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await_2570", "Property '{0}' does not exist on type '{1}'. Did you forget to use 'await'?"), + Object_is_of_type_unknown: diag(2571, ts.DiagnosticCategory.Error, "Object_is_of_type_unknown_2571", "Object is of type 'unknown'."), JSX_element_attributes_type_0_may_not_be_a_union_type: diag(2600, ts.DiagnosticCategory.Error, "JSX_element_attributes_type_0_may_not_be_a_union_type_2600", "JSX element attributes type '{0}' may not be a union type."), The_return_type_of_a_JSX_element_constructor_must_return_an_object_type: diag(2601, ts.DiagnosticCategory.Error, "The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601", "The return type of a JSX element constructor must return an object type."), JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist: diag(2602, ts.DiagnosticCategory.Error, "JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602", "JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."), @@ -6274,7 +6261,7 @@ var ts; _0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible: diag(2692, ts.DiagnosticCategory.Error, "_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692", "'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."), _0_only_refers_to_a_type_but_is_being_used_as_a_value_here: diag(2693, ts.DiagnosticCategory.Error, "_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693", "'{0}' only refers to a type, but is being used as a value here."), Namespace_0_has_no_exported_member_1: diag(2694, ts.DiagnosticCategory.Error, "Namespace_0_has_no_exported_member_1_2694", "Namespace '{0}' has no exported member '{1}'."), - Left_side_of_comma_operator_is_unused_and_has_no_side_effects: diag(2695, ts.DiagnosticCategory.Error, "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695", "Left side of comma operator is unused and has no side effects."), + Left_side_of_comma_operator_is_unused_and_has_no_side_effects: diag(2695, ts.DiagnosticCategory.Error, "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695", "Left side of comma operator is unused and has no side effects.", /*reportsUnnecessary*/ true), The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead: diag(2696, ts.DiagnosticCategory.Error, "The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696", "The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"), An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option: diag(2697, ts.DiagnosticCategory.Error, "An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697", "An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."), Spread_types_may_only_be_created_from_object_types: diag(2698, ts.DiagnosticCategory.Error, "Spread_types_may_only_be_created_from_object_types_2698", "Spread types may only be created from object types."), @@ -6304,6 +6291,7 @@ var ts; Cannot_invoke_an_object_which_is_possibly_undefined: diag(2722, ts.DiagnosticCategory.Error, "Cannot_invoke_an_object_which_is_possibly_undefined_2722", "Cannot invoke an object which is possibly 'undefined'."), Cannot_invoke_an_object_which_is_possibly_null_or_undefined: diag(2723, ts.DiagnosticCategory.Error, "Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723", "Cannot invoke an object which is possibly 'null' or 'undefined'."), Module_0_has_no_exported_member_1_Did_you_mean_2: diag(2724, ts.DiagnosticCategory.Error, "Module_0_has_no_exported_member_1_Did_you_mean_2_2724", "Module '{0}' has no exported member '{1}'. Did you mean '{2}'?"), + Class_name_cannot_be_Object_when_targeting_ES5_with_module_0: diag(2725, ts.DiagnosticCategory.Error, "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725", "Class name cannot be 'Object' when targeting ES5 with module {0}."), Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."), Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."), Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."), @@ -6602,6 +6590,7 @@ var ts; _0_is_declared_but_never_used: diag(6196, ts.DiagnosticCategory.Error, "_0_is_declared_but_never_used_6196", "'{0}' is declared but never used.", /*reportsUnnecessary*/ true), Include_modules_imported_with_json_extension: diag(6197, ts.DiagnosticCategory.Message, "Include_modules_imported_with_json_extension_6197", "Include modules imported with '.json' extension"), All_destructured_elements_are_unused: diag(6198, ts.DiagnosticCategory.Error, "All_destructured_elements_are_unused_6198", "All destructured elements are unused.", /*reportsUnnecessary*/ true), + All_variables_are_unused: diag(6199, ts.DiagnosticCategory.Error, "All_variables_are_unused_6199", "All variables are unused.", /*reportsUnnecessary*/ true), Projects_to_reference: diag(6300, ts.DiagnosticCategory.Message, "Projects_to_reference_6300", "Projects to reference"), Enable_project_compilation: diag(6302, ts.DiagnosticCategory.Message, "Enable_project_compilation_6302", "Enable project compilation"), Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0: diag(6202, ts.DiagnosticCategory.Error, "Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202", "Project references may not form a circular graph. Cycle detected: {0}"), @@ -6629,7 +6618,7 @@ var ts; Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: diag(7024, ts.DiagnosticCategory.Error, "Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024", "Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."), Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type: diag(7025, ts.DiagnosticCategory.Error, "Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025", "Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."), JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists: diag(7026, ts.DiagnosticCategory.Error, "JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026", "JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."), - Unreachable_code_detected: diag(7027, ts.DiagnosticCategory.Error, "Unreachable_code_detected_7027", "Unreachable code detected."), + Unreachable_code_detected: diag(7027, ts.DiagnosticCategory.Error, "Unreachable_code_detected_7027", "Unreachable code detected.", /*reportsUnnecessary*/ true), Unused_label: diag(7028, ts.DiagnosticCategory.Error, "Unused_label_7028", "Unused label.", /*reportsUnnecessary*/ true), Fallthrough_case_in_switch: diag(7029, ts.DiagnosticCategory.Error, "Fallthrough_case_in_switch_7029", "Fallthrough case in switch."), Not_all_code_paths_return_a_value: diag(7030, ts.DiagnosticCategory.Error, "Not_all_code_paths_return_a_value_7030", "Not all code paths return a value."), @@ -6710,6 +6699,7 @@ var ts; Implement_inherited_abstract_class: diag(90007, ts.DiagnosticCategory.Message, "Implement_inherited_abstract_class_90007", "Implement inherited abstract class"), Add_0_to_unresolved_variable: diag(90008, ts.DiagnosticCategory.Message, "Add_0_to_unresolved_variable_90008", "Add '{0}.' to unresolved variable"), Remove_destructuring: diag(90009, ts.DiagnosticCategory.Message, "Remove_destructuring_90009", "Remove destructuring"), + Remove_variable_statement: diag(90010, ts.DiagnosticCategory.Message, "Remove_variable_statement_90010", "Remove variable statement"), Import_0_from_module_1: diag(90013, ts.DiagnosticCategory.Message, "Import_0_from_module_1_90013", "Import '{0}' from module \"{1}\""), Change_0_to_1: diag(90014, ts.DiagnosticCategory.Message, "Change_0_to_1_90014", "Change '{0}' to '{1}'"), Add_0_to_existing_import_declaration_from_1: diag(90015, ts.DiagnosticCategory.Message, "Add_0_to_existing_import_declaration_from_1_90015", "Add '{0}' to existing import declaration from \"{1}\""), @@ -6779,6 +6769,9 @@ var ts; Add_missing_typeof: diag(95052, ts.DiagnosticCategory.Message, "Add_missing_typeof_95052", "Add missing 'typeof'"), Remove_unused_label: diag(95053, ts.DiagnosticCategory.Message, "Remove_unused_label_95053", "Remove unused label"), Remove_all_unused_labels: diag(95054, ts.DiagnosticCategory.Message, "Remove_all_unused_labels_95054", "Remove all unused labels"), + Convert_0_to_mapped_object_type: diag(95055, ts.DiagnosticCategory.Message, "Convert_0_to_mapped_object_type_95055", "Convert '{0}' to mapped object type"), + Convert_namespace_import_to_named_imports: diag(95056, ts.DiagnosticCategory.Message, "Convert_namespace_import_to_named_imports_95056", "Convert namespace import to named imports"), + Convert_named_imports_to_namespace_import: diag(95057, ts.DiagnosticCategory.Message, "Convert_named_imports_to_namespace_import_95057", "Convert named imports to namespace import"), }; })(ts || (ts = {})); var ts; @@ -6817,7 +6810,7 @@ var ts; "false": 86 /* FalseKeyword */, "finally": 87 /* FinallyKeyword */, "for": 88 /* ForKeyword */, - "from": 142 /* FromKeyword */, + "from": 143 /* FromKeyword */, "function": 89 /* FunctionKeyword */, "get": 125 /* GetKeyword */, "if": 90 /* IfKeyword */, @@ -6843,7 +6836,7 @@ var ts; "public": 114 /* PublicKeyword */, "readonly": 132 /* ReadonlyKeyword */, "require": 133 /* RequireKeyword */, - "global": 143 /* GlobalKeyword */, + "global": 144 /* GlobalKeyword */, "return": 96 /* ReturnKeyword */, "set": 136 /* SetKeyword */, "static": 115 /* StaticKeyword */, @@ -6859,6 +6852,7 @@ var ts; "typeof": 103 /* TypeOfKeyword */, "undefined": 140 /* UndefinedKeyword */, "unique": 141 /* UniqueKeyword */, + "unknown": 142 /* UnknownKeyword */, "var": 104 /* VarKeyword */, "void": 105 /* VoidKeyword */, "while": 106 /* WhileKeyword */, @@ -6866,7 +6860,7 @@ var ts; "yield": 116 /* YieldKeyword */, "async": 120 /* AsyncKeyword */, "await": 121 /* AwaitKeyword */, - "of": 144 /* OfKeyword */, + "of": 145 /* OfKeyword */, "{": 17 /* OpenBraceToken */, "}": 18 /* CloseBraceToken */, "(": 19 /* OpenParenToken */, @@ -7485,8 +7479,9 @@ var ts; } ts.isIdentifierText = isIdentifierText; // Creates a scanner over a (possibly unspecified) range of a piece of text. - function createScanner(languageVersion, skipTrivia, languageVariant, text, onError, start, length) { + function createScanner(languageVersion, skipTrivia, languageVariant, textInitial, onError, start, length) { if (languageVariant === void 0) { languageVariant = 0 /* Standard */; } + var text = textInitial; // Current position (end position of text of current token) var pos; // end of text @@ -7942,7 +7937,7 @@ var ts; var isPreviousTokenSeparator = false; while (true) { var ch = text.charCodeAt(pos); - // Numeric seperators are allowed anywhere within a numeric literal, except not at the beginning, or following another separator + // Numeric separators are allowed anywhere within a numeric literal, except not at the beginning, or following another separator if (ch === 95 /* _ */) { tokenFlags |= 512 /* ContainsSeparator */; if (separatorAllowed) { @@ -8758,7 +8753,7 @@ var ts; } ts.moduleResolutionIsEqualTo = moduleResolutionIsEqualTo; function packageIdIsEqual(a, b) { - return a === b || a && b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version; + return a === b || !!a && !!b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version; } function packageIdToString(_a) { var name = _a.name, subModuleName = _a.subModuleName, version = _a.version; @@ -8809,7 +8804,7 @@ var ts; } } function getSourceFileOfNode(node) { - while (node && node.kind !== 273 /* SourceFile */) { + while (node && node.kind !== 274 /* SourceFile */) { node = node.parent; } return node; @@ -8817,11 +8812,11 @@ var ts; ts.getSourceFileOfNode = getSourceFileOfNode; function isStatementWithLocals(node) { switch (node.kind) { - case 212 /* Block */: - case 240 /* CaseBlock */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 213 /* Block */: + case 241 /* CaseBlock */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: return true; } return false; @@ -8866,11 +8861,11 @@ var ts; } ts.getEndLinePosition = getEndLinePosition; /** - * Returns a value indicating whether a name is unique globally or within the current file + * Returns a value indicating whether a name is unique globally or within the current file. + * Note: This does not consider whether a name appears as a free identifier or not, so at the expression `x.y` this includes both `x` and `y`. */ - function isFileLevelUniqueName(currentSourceFile, name, hasGlobalName) { - return !(hasGlobalName && hasGlobalName(name)) - && !currentSourceFile.identifiers.has(name); + function isFileLevelUniqueName(sourceFile, name, hasGlobalName) { + return !(hasGlobalName && hasGlobalName(name)) && !sourceFile.identifiers.has(name); } ts.isFileLevelUniqueName = isFileLevelUniqueName; // Returns true if this node is missing from the actual source code. A 'missing' node is different @@ -8896,6 +8891,27 @@ var ts; return !nodeIsMissing(node); } ts.nodeIsPresent = nodeIsPresent; + /** + * Appends a range of value to begin of an array, returning the array. + * + * @param to The array to which `value` is to be appended. If `to` is `undefined`, a new array + * is created if `value` was appended. + * @param from The values to append to the array. If `from` is `undefined`, nothing is + * appended. If an element of `from` is `undefined`, that element is not appended. + */ + function prependStatements(to, from) { + if (from === undefined || from.length === 0) + return to; + if (to === undefined) + return from.slice(); + var prologue = to.length && isPrologueDirective(to[0]) && to.shift(); + to.unshift.apply(to, from); + if (prologue) { + to.unshift(prologue); + } + return to; + } + ts.prependStatements = prependStatements; /** * Determine if the given comment is a triple-slash * @@ -8938,7 +8954,7 @@ var ts; // the syntax list itself considers them as normal trivia. Therefore if we simply skip // trivia for the list, we may have skipped the JSDocComment as well. So we should process its // first child to determine the actual position of its first token. - if (node.kind === 298 /* SyntaxList */ && node._children.length > 0) { + if (node.kind === 299 /* SyntaxList */ && node._children.length > 0) { return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc); } return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.pos); @@ -8985,7 +9001,7 @@ var ts; */ function getEmitFlags(node) { var emitNode = node.emitNode; - return emitNode && emitNode.flags; + return emitNode && emitNode.flags || 0; } ts.getEmitFlags = getEmitFlags; function getLiteralText(node, sourceFile) { @@ -9019,7 +9035,7 @@ var ts; case 12 /* RegularExpressionLiteral */: return node.text; } - ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); + return ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); } ts.getLiteralText = getLiteralText; function getTextOfConstantValue(value) { @@ -9052,7 +9068,7 @@ var ts; ts.isBlockOrCatchScoped = isBlockOrCatchScoped; function isCatchClauseVariableDeclarationOrBindingElement(declaration) { var node = getRootDeclaration(declaration); - return node.kind === 231 /* VariableDeclaration */ && node.parent.kind === 268 /* CatchClause */; + return node.kind === 232 /* VariableDeclaration */ && node.parent.kind === 269 /* CatchClause */; } ts.isCatchClauseVariableDeclarationOrBindingElement = isCatchClauseVariableDeclarationOrBindingElement; function isAmbientModule(node) { @@ -9074,11 +9090,11 @@ var ts; ts.isShorthandAmbientModuleSymbol = isShorthandAmbientModuleSymbol; function isShorthandAmbientModule(node) { // The only kind of module that can be missing a body is a shorthand ambient module. - return node && node.kind === 238 /* ModuleDeclaration */ && (!node.body); + return node && node.kind === 239 /* ModuleDeclaration */ && (!node.body); } function isBlockScopedContainerTopLevel(node) { - return node.kind === 273 /* SourceFile */ || - node.kind === 238 /* ModuleDeclaration */ || + return node.kind === 274 /* SourceFile */ || + node.kind === 239 /* ModuleDeclaration */ || ts.isFunctionLike(node); } ts.isBlockScopedContainerTopLevel = isBlockScopedContainerTopLevel; @@ -9095,9 +9111,9 @@ var ts; // - defined in the top level scope and source file is an external module // - defined inside ambient module declaration located in the top level scope and source file not an external module switch (node.parent.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: return ts.isExternalModule(node.parent); - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return isAmbientModule(node.parent.parent) && ts.isSourceFile(node.parent.parent.parent) && !ts.isExternalModule(node.parent.parent.parent); } return false; @@ -9109,53 +9125,53 @@ var ts; ts.isEffectiveExternalModule = isEffectiveExternalModule; function isBlockScope(node, parentNode) { switch (node.kind) { - case 273 /* SourceFile */: - case 240 /* CaseBlock */: - case 268 /* CatchClause */: - case 238 /* ModuleDeclaration */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 274 /* SourceFile */: + case 241 /* CaseBlock */: + case 269 /* CatchClause */: + case 239 /* ModuleDeclaration */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return true; - case 212 /* Block */: + case 213 /* Block */: // function block is not considered block-scope container // see comment in binder.ts: bind(...), case for SyntaxKind.Block - return parentNode && !ts.isFunctionLike(parentNode); + return !ts.isFunctionLike(parentNode); } return false; } ts.isBlockScope = isBlockScope; function isDeclarationWithTypeParameters(node) { switch (node.kind) { - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 152 /* MethodSignature */: - case 159 /* IndexSignature */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 283 /* JSDocFunctionType */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 295 /* JSDocTemplateTag */: - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 291 /* JSDocCallbackTag */: - case 296 /* JSDocTypedefTag */: - case 287 /* JSDocSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 153 /* MethodSignature */: + case 160 /* IndexSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 284 /* JSDocFunctionType */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 296 /* JSDocTemplateTag */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 292 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 288 /* JSDocSignature */: return true; default: ts.assertTypeIsNever(node); @@ -9165,8 +9181,8 @@ var ts; ts.isDeclarationWithTypeParameters = isDeclarationWithTypeParameters; function isAnyImportSyntax(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: return true; default: return false; @@ -9175,15 +9191,15 @@ var ts; ts.isAnyImportSyntax = isAnyImportSyntax; function isLateVisibilityPaintedStatement(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 213 /* VariableStatement */: - case 234 /* ClassDeclaration */: - case 233 /* FunctionDeclaration */: - case 238 /* ModuleDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 214 /* VariableStatement */: + case 235 /* ClassDeclaration */: + case 234 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: return true; default: return false; @@ -9218,8 +9234,8 @@ var ts; case 9 /* StringLiteral */: case 8 /* NumericLiteral */: return escapeLeadingUnderscores(name.text); - case 146 /* ComputedPropertyName */: - return isStringOrNumericLiteral(name.expression) ? escapeLeadingUnderscores(name.expression.text) : undefined; + case 147 /* ComputedPropertyName */: + return isStringOrNumericLiteral(name.expression) ? escapeLeadingUnderscores(name.expression.text) : undefined; // TODO: GH#18217 Almost all uses of this assume the result to be defined! default: ts.Debug.assertNever(name); } @@ -9229,10 +9245,12 @@ var ts; switch (name.kind) { case 71 /* Identifier */: return getFullWidth(name) === 0 ? ts.idText(name) : getTextOfNode(name); - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return entityNameToString(name.left) + "." + entityNameToString(name.right); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return entityNameToString(name.expression) + "." + entityNameToString(name.name); + default: + throw ts.Debug.assertNever(name); } } ts.entityNameToString = entityNameToString; @@ -9251,11 +9269,6 @@ var ts; return ts.createFileDiagnostic(sourceFile, span.start, span.length, message, arg0, arg1, arg2, arg3); } ts.createDiagnosticForNodeInSourceFile = createDiagnosticForNodeInSourceFile; - function createDiagnosticForNodeSpan(sourceFile, startNode, endNode, message, arg0, arg1, arg2, arg3) { - var start = ts.skipTrivia(sourceFile.text, startNode.pos); - return ts.createFileDiagnostic(sourceFile, start, endNode.end - start, message, arg0, arg1, arg2, arg3); - } - ts.createDiagnosticForNodeSpan = createDiagnosticForNodeSpan; function createDiagnosticForNodeFromMessageChain(node, messageChain) { var sourceFile = getSourceFileOfNode(node); var span = getErrorSpanForNode(sourceFile, node); @@ -9278,7 +9291,7 @@ var ts; ts.getSpanOfTokenAtPosition = getSpanOfTokenAtPosition; function getErrorSpanForArrowFunction(sourceFile, node) { var pos = ts.skipTrivia(sourceFile.text, node.pos); - if (node.body && node.body.kind === 212 /* Block */) { + if (node.body && node.body.kind === 213 /* Block */) { var startLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.pos).line; var endLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.end).line; if (startLine < endLine) { @@ -9292,7 +9305,7 @@ var ts; function getErrorSpanForNode(sourceFile, node) { var errorNode = node; switch (node.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: var pos_1 = ts.skipTrivia(sourceFile.text, 0, /*stopAfterLineBreak*/ false); if (pos_1 === sourceFile.text.length) { // file is empty - return span for the beginning of the file @@ -9301,25 +9314,25 @@ var ts; return getSpanOfTokenAtPosition(sourceFile, pos_1); // This list is a work in progress. Add missing node kinds to improve their error // spans. - case 231 /* VariableDeclaration */: - case 181 /* BindingElement */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 272 /* EnumMember */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 236 /* TypeAliasDeclaration */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 232 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 273 /* EnumMember */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 237 /* TypeAliasDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: errorNode = node.name; break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return getErrorSpanForArrowFunction(sourceFile, node); } if (errorNode === undefined) { @@ -9352,7 +9365,7 @@ var ts; } ts.isJsonSourceFile = isJsonSourceFile; function isConstEnumDeclaration(node) { - return node.kind === 237 /* EnumDeclaration */ && isConst(node); + return node.kind === 238 /* EnumDeclaration */ && isConst(node); } ts.isConstEnumDeclaration = isConstEnumDeclaration; function isConst(node) { @@ -9365,21 +9378,21 @@ var ts; } ts.isLet = isLet; function isSuperCall(n) { - return n.kind === 186 /* CallExpression */ && n.expression.kind === 97 /* SuperKeyword */; + return n.kind === 187 /* CallExpression */ && n.expression.kind === 97 /* SuperKeyword */; } ts.isSuperCall = isSuperCall; function isImportCall(n) { - return n.kind === 186 /* CallExpression */ && n.expression.kind === 91 /* ImportKeyword */; + return n.kind === 187 /* CallExpression */ && n.expression.kind === 91 /* ImportKeyword */; } ts.isImportCall = isImportCall; function isLiteralImportTypeNode(n) { - return n.kind === 178 /* ImportType */ && - n.argument.kind === 177 /* LiteralType */ && + return n.kind === 179 /* ImportType */ && + n.argument.kind === 178 /* LiteralType */ && ts.isStringLiteral(n.argument.literal); } ts.isLiteralImportTypeNode = isLiteralImportTypeNode; function isPrologueDirective(node) { - return node.kind === 215 /* ExpressionStatement */ + return node.kind === 216 /* ExpressionStatement */ && node.expression.kind === 9 /* StringLiteral */; } ts.isPrologueDirective = isPrologueDirective; @@ -9388,11 +9401,11 @@ var ts; } ts.getLeadingCommentRangesOfNode = getLeadingCommentRangesOfNode; function getJSDocCommentRanges(node, text) { - var commentRanges = (node.kind === 148 /* Parameter */ || - node.kind === 147 /* TypeParameter */ || - node.kind === 191 /* FunctionExpression */ || - node.kind === 192 /* ArrowFunction */ || - node.kind === 190 /* ParenthesizedExpression */) ? + var commentRanges = (node.kind === 149 /* Parameter */ || + node.kind === 148 /* TypeParameter */ || + node.kind === 192 /* FunctionExpression */ || + node.kind === 193 /* ArrowFunction */ || + node.kind === 191 /* ParenthesizedExpression */) ? ts.concatenate(ts.getTrailingCommentRanges(text, node.pos), ts.getLeadingCommentRanges(text, node.pos)) : ts.getLeadingCommentRanges(text, node.pos); // True if the comment starts with '/**' but not if it is '/**/' @@ -9408,11 +9421,12 @@ var ts; ts.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*/; var defaultLibReferenceRegEx = /^(\/\/\/\s*/; function isPartOfTypeNode(node) { - if (160 /* FirstTypeNode */ <= node.kind && node.kind <= 178 /* LastTypeNode */) { + if (161 /* FirstTypeNode */ <= node.kind && node.kind <= 179 /* LastTypeNode */) { return true; } switch (node.kind) { case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 134 /* NumberKeyword */: case 137 /* StringKeyword */: case 122 /* BooleanKeyword */: @@ -9421,32 +9435,32 @@ var ts; case 131 /* NeverKeyword */: return true; case 105 /* VoidKeyword */: - return node.parent.kind !== 195 /* VoidExpression */; - case 206 /* ExpressionWithTypeArguments */: + return node.parent.kind !== 196 /* VoidExpression */; + case 207 /* ExpressionWithTypeArguments */: return !isExpressionWithTypeArgumentsInClassExtendsClause(node); - case 147 /* TypeParameter */: - return node.parent.kind === 176 /* MappedType */ || node.parent.kind === 171 /* InferType */; + case 148 /* TypeParameter */: + return node.parent.kind === 177 /* MappedType */ || node.parent.kind === 172 /* InferType */; // Identifiers and qualified names may be type nodes, depending on their context. Climb // above them to find the lowest container case 71 /* Identifier */: // If the identifier is the RHS of a qualified name, then it's a type iff its parent is. - if (node.parent.kind === 145 /* QualifiedName */ && node.parent.right === node) { + if (node.parent.kind === 146 /* QualifiedName */ && node.parent.right === node) { node = node.parent; } - else if (node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.name === node) { + else if (node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.name === node) { node = node.parent; } // At this point, node is either a qualified name or an identifier - ts.Debug.assert(node.kind === 71 /* Identifier */ || node.kind === 145 /* QualifiedName */ || node.kind === 184 /* PropertyAccessExpression */, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); + ts.Debug.assert(node.kind === 71 /* Identifier */ || node.kind === 146 /* QualifiedName */ || node.kind === 185 /* PropertyAccessExpression */, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); // falls through - case 145 /* QualifiedName */: - case 184 /* PropertyAccessExpression */: - case 99 /* ThisKeyword */: + case 146 /* QualifiedName */: + case 185 /* PropertyAccessExpression */: + case 99 /* ThisKeyword */: { var parent = node.parent; - if (parent.kind === 164 /* TypeQuery */) { + if (parent.kind === 165 /* TypeQuery */) { return false; } - if (parent.kind === 178 /* ImportType */) { + if (parent.kind === 179 /* ImportType */) { return !parent.isTypeOf; } // Do not recursively call isPartOfTypeNode on the parent. In the example: @@ -9455,41 +9469,42 @@ var ts; // // Calling isPartOfTypeNode would consider the qualified name A.B a type node. // Only C and A.B.C are type nodes. - if (160 /* FirstTypeNode */ <= parent.kind && parent.kind <= 178 /* LastTypeNode */) { + if (161 /* FirstTypeNode */ <= parent.kind && parent.kind <= 179 /* LastTypeNode */) { return true; } switch (parent.kind) { - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return !isExpressionWithTypeArgumentsInClassExtendsClause(parent); - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return node === parent.constraint; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 148 /* Parameter */: - case 231 /* VariableDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 149 /* Parameter */: + case 232 /* VariableDeclaration */: return node === parent.type; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return node === parent.type; - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: return node === parent.type; - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: return node === parent.type; - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: return ts.contains(parent.typeArguments, node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: // TODO (drosen): TaggedTemplateExpressions may eventually support type arguments. return false; } + } } return false; } @@ -9510,23 +9525,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return visitor(node); - case 240 /* CaseBlock */: - case 212 /* Block */: - case 216 /* IfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 225 /* WithStatement */: - case 226 /* SwitchStatement */: - case 265 /* CaseClause */: - case 266 /* DefaultClause */: - case 227 /* LabeledStatement */: - case 229 /* TryStatement */: - case 268 /* CatchClause */: + case 241 /* CaseBlock */: + case 213 /* Block */: + case 217 /* IfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 226 /* WithStatement */: + case 227 /* SwitchStatement */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: + case 228 /* LabeledStatement */: + case 230 /* TryStatement */: + case 269 /* CatchClause */: return ts.forEachChild(node, traverse); } } @@ -9536,26 +9551,26 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: visitor(node); var operand = node.expression; if (operand) { traverse(operand); } return; - case 237 /* EnumDeclaration */: - case 235 /* InterfaceDeclaration */: - case 238 /* ModuleDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 238 /* EnumDeclaration */: + case 236 /* InterfaceDeclaration */: + case 239 /* ModuleDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: // These are not allowed inside a generator now, but eventually they may be allowed // as local types. Regardless, any yield statements contained within them should be // skipped in this traversal. return; default: if (ts.isFunctionLike(node)) { - if (node.name && node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name && node.name.kind === 147 /* ComputedPropertyName */) { // Note that we will not include methods/accessors of a class because they would require // first descending into the class. This is by design. traverse(node.name.expression); @@ -9578,10 +9593,10 @@ var ts; * @param node The type node. */ function getRestParameterElementType(node) { - if (node && node.kind === 166 /* ArrayType */) { + if (node && node.kind === 167 /* ArrayType */) { return node.elementType; } - else if (node && node.kind === 161 /* TypeReference */) { + else if (node && node.kind === 162 /* TypeReference */) { return ts.singleOrUndefined(node.typeArguments); } else { @@ -9591,12 +9606,12 @@ var ts; ts.getRestParameterElementType = getRestParameterElementType; function getMembersOfDeclaration(node) { switch (node.kind) { - case 235 /* InterfaceDeclaration */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 165 /* TypeLiteral */: + case 236 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 166 /* TypeLiteral */: return node.members; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return node.properties; } } @@ -9604,14 +9619,14 @@ var ts; function isVariableLike(node) { if (node) { switch (node.kind) { - case 181 /* BindingElement */: - case 272 /* EnumMember */: - case 148 /* Parameter */: - case 269 /* PropertyAssignment */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 270 /* ShorthandPropertyAssignment */: - case 231 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 273 /* EnumMember */: + case 149 /* Parameter */: + case 270 /* PropertyAssignment */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 271 /* ShorthandPropertyAssignment */: + case 232 /* VariableDeclaration */: return true; } } @@ -9623,8 +9638,8 @@ var ts; } ts.isVariableLikeOrAccessor = isVariableLikeOrAccessor; function isVariableDeclarationInVariableStatement(node) { - return node.parent.kind === 232 /* VariableDeclarationList */ - && node.parent.parent.kind === 213 /* VariableStatement */; + return node.parent.kind === 233 /* VariableDeclarationList */ + && node.parent.parent.kind === 214 /* VariableStatement */; } ts.isVariableDeclarationInVariableStatement = isVariableDeclarationInVariableStatement; function isValidESSymbolDeclaration(node) { @@ -9635,13 +9650,13 @@ var ts; ts.isValidESSymbolDeclaration = isValidESSymbolDeclaration; function introducesArgumentsExoticObject(node) { switch (node.kind) { - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: return true; } return false; @@ -9652,7 +9667,7 @@ var ts; if (beforeUnwrapLabelCallback) { beforeUnwrapLabelCallback(node); } - if (node.statement.kind !== 227 /* LabeledStatement */) { + if (node.statement.kind !== 228 /* LabeledStatement */) { return node.statement; } node = node.statement; @@ -9660,17 +9675,17 @@ var ts; } ts.unwrapInnermostStatementOfLabel = unwrapInnermostStatementOfLabel; function isFunctionBlock(node) { - return node && node.kind === 212 /* Block */ && ts.isFunctionLike(node.parent); + return node && node.kind === 213 /* Block */ && ts.isFunctionLike(node.parent); } ts.isFunctionBlock = isFunctionBlock; function isObjectLiteralMethod(node) { - return node && node.kind === 153 /* MethodDeclaration */ && node.parent.kind === 183 /* ObjectLiteralExpression */; + return node && node.kind === 154 /* MethodDeclaration */ && node.parent.kind === 184 /* ObjectLiteralExpression */; } ts.isObjectLiteralMethod = isObjectLiteralMethod; function isObjectLiteralOrClassExpressionMethod(node) { - return node.kind === 153 /* MethodDeclaration */ && - (node.parent.kind === 183 /* ObjectLiteralExpression */ || - node.parent.kind === 204 /* ClassExpression */); + return node.kind === 154 /* MethodDeclaration */ && + (node.parent.kind === 184 /* ObjectLiteralExpression */ || + node.parent.kind === 205 /* ClassExpression */); } ts.isObjectLiteralOrClassExpressionMethod = isObjectLiteralOrClassExpressionMethod; function isIdentifierTypePredicate(predicate) { @@ -9682,31 +9697,35 @@ var ts; } ts.isThisTypePredicate = isThisTypePredicate; function getPropertyAssignment(objectLiteral, key, key2) { - return ts.filter(objectLiteral.properties, function (property) { - if (property.kind === 269 /* PropertyAssignment */) { + return objectLiteral.properties.filter(function (property) { + if (property.kind === 270 /* PropertyAssignment */) { var propName = getTextOfPropertyName(property.name); - return key === propName || (key2 && key2 === propName); + return key === propName || (!!key2 && key2 === propName); } + return false; }); } ts.getPropertyAssignment = getPropertyAssignment; function getTsConfigObjectLiteralExpression(tsConfigSourceFile) { if (tsConfigSourceFile && tsConfigSourceFile.statements.length) { var expression = tsConfigSourceFile.statements[0].expression; - return ts.isObjectLiteralExpression(expression) && expression; + return ts.tryCast(expression, ts.isObjectLiteralExpression); } } ts.getTsConfigObjectLiteralExpression = getTsConfigObjectLiteralExpression; function getTsConfigPropArrayElementValue(tsConfigSourceFile, propKey, elementValue) { - var jsonObjectLiteral = getTsConfigObjectLiteralExpression(tsConfigSourceFile); - return jsonObjectLiteral && - ts.firstDefined(getPropertyAssignment(jsonObjectLiteral, propKey), function (property) { - return ts.isArrayLiteralExpression(property.initializer) ? - ts.find(property.initializer.elements, function (element) { return ts.isStringLiteral(element) && element.text === elementValue; }) : - undefined; - }); + return ts.firstDefined(getTsConfigPropArray(tsConfigSourceFile, propKey), function (property) { + return ts.isArrayLiteralExpression(property.initializer) ? + ts.find(property.initializer.elements, function (element) { return ts.isStringLiteral(element) && element.text === elementValue; }) : + undefined; + }); } ts.getTsConfigPropArrayElementValue = getTsConfigPropArrayElementValue; + function getTsConfigPropArray(tsConfigSourceFile, propKey) { + var jsonObjectLiteral = getTsConfigObjectLiteralExpression(tsConfigSourceFile); + return jsonObjectLiteral ? getPropertyAssignment(jsonObjectLiteral, propKey) : ts.emptyArray; + } + ts.getTsConfigPropArray = getTsConfigPropArray; function getContainingFunction(node) { return ts.findAncestor(node.parent, ts.isFunctionLike); } @@ -9716,13 +9735,14 @@ var ts; } ts.getContainingClass = getContainingClass; function getThisContainer(node, includeArrowFunctions) { + ts.Debug.assert(node.kind !== 274 /* SourceFile */); while (true) { node = node.parent; if (!node) { - return undefined; + return ts.Debug.fail(); // If we never pass in a SourceFile, this should be unreachable, since we'll stop when we reach that. } switch (node.kind) { - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: // If the grandparent node is an object literal (as opposed to a class), // then the computed property is not a 'this' container. // A computed property name in a class needs to be a this container @@ -9737,9 +9757,9 @@ var ts; // the *body* of the container. node = node.parent; break; - case 149 /* Decorator */: + case 150 /* Decorator */: // Decorators are always applied outside of the body of a class or method. - if (node.parent.kind === 148 /* Parameter */ && ts.isClassElement(node.parent.parent)) { + if (node.parent.kind === 149 /* Parameter */ && ts.isClassElement(node.parent.parent)) { // If the decorator's parent is a Parameter, we resolve the this container from // the grandparent class declaration. node = node.parent.parent; @@ -9750,26 +9770,26 @@ var ts; node = node.parent; } break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: if (!includeArrowFunctions) { continue; } // falls through - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 238 /* ModuleDeclaration */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 237 /* EnumDeclaration */: - case 273 /* SourceFile */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 239 /* ModuleDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 238 /* EnumDeclaration */: + case 274 /* SourceFile */: return node; } } @@ -9779,9 +9799,9 @@ var ts; var container = getThisContainer(node, /*includeArrowFunctions*/ false); if (container) { switch (container.kind) { - case 154 /* Constructor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 155 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: return container; } } @@ -9803,27 +9823,27 @@ var ts; return node; } switch (node.kind) { - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: node = node.parent; break; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: if (!stopOnFunctions) { continue; } // falls through - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return node; - case 149 /* Decorator */: + case 150 /* Decorator */: // Decorators are always applied outside of the body of a class or method. - if (node.parent.kind === 148 /* Parameter */ && ts.isClassElement(node.parent.parent)) { + if (node.parent.kind === 149 /* Parameter */ && ts.isClassElement(node.parent.parent)) { // If the decorator's parent is a Parameter, we resolve the this container from // the grandparent class declaration. node = node.parent.parent; @@ -9839,14 +9859,14 @@ var ts; } ts.getSuperContainer = getSuperContainer; function getImmediatelyInvokedFunctionExpression(func) { - if (func.kind === 191 /* FunctionExpression */ || func.kind === 192 /* ArrowFunction */) { + if (func.kind === 192 /* FunctionExpression */ || func.kind === 193 /* ArrowFunction */) { var prev = func; var parent = func.parent; - while (parent.kind === 190 /* ParenthesizedExpression */) { + while (parent.kind === 191 /* ParenthesizedExpression */) { prev = parent; parent = parent.parent; } - if (parent.kind === 186 /* CallExpression */ && parent.expression === prev) { + if (parent.kind === 187 /* CallExpression */ && parent.expression === prev) { return parent; } } @@ -9857,7 +9877,7 @@ var ts; */ function isSuperProperty(node) { var kind = node.kind; - return (kind === 184 /* PropertyAccessExpression */ || kind === 185 /* ElementAccessExpression */) + return (kind === 185 /* PropertyAccessExpression */ || kind === 186 /* ElementAccessExpression */) && node.expression.kind === 97 /* SuperKeyword */; } ts.isSuperProperty = isSuperProperty; @@ -9866,20 +9886,20 @@ var ts; */ function isThisProperty(node) { var kind = node.kind; - return (kind === 184 /* PropertyAccessExpression */ || kind === 185 /* ElementAccessExpression */) + return (kind === 185 /* PropertyAccessExpression */ || kind === 186 /* ElementAccessExpression */) && node.expression.kind === 99 /* ThisKeyword */; } ts.isThisProperty = isThisProperty; function getEntityNameFromTypeNode(node) { switch (node.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return node.typeName; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return isEntityNameExpression(node.expression) ? node.expression : undefined; case 71 /* Identifier */: - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return node; } return undefined; @@ -9887,10 +9907,10 @@ var ts; ts.getEntityNameFromTypeNode = getEntityNameFromTypeNode; function getInvokedExpression(node) { switch (node.kind) { - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return node.tag; - case 256 /* JsxOpeningElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: return node.tagName; default: return node.expression; @@ -9899,53 +9919,55 @@ var ts; ts.getInvokedExpression = getInvokedExpression; function nodeCanBeDecorated(node, parent, grandparent) { switch (node.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: // classes are valid targets return true; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: // property declarations are valid if their parent is a class declaration. - return parent.kind === 234 /* ClassDeclaration */; - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 153 /* MethodDeclaration */: + return parent.kind === 235 /* ClassDeclaration */; + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 154 /* MethodDeclaration */: // if this method has a body and its parent is a class declaration, this is a valid target. return node.body !== undefined - && parent.kind === 234 /* ClassDeclaration */; - case 148 /* Parameter */: + && parent.kind === 235 /* ClassDeclaration */; + case 149 /* Parameter */: // if the parameter's parent has a body and its grandparent is a class declaration, this is a valid target; return parent.body !== undefined - && (parent.kind === 154 /* Constructor */ - || parent.kind === 153 /* MethodDeclaration */ - || parent.kind === 156 /* SetAccessor */) - && grandparent.kind === 234 /* ClassDeclaration */; + && (parent.kind === 155 /* Constructor */ + || parent.kind === 154 /* MethodDeclaration */ + || parent.kind === 157 /* SetAccessor */) + && grandparent.kind === 235 /* ClassDeclaration */; } return false; } ts.nodeCanBeDecorated = nodeCanBeDecorated; function nodeIsDecorated(node, parent, grandparent) { return node.decorators !== undefined - && nodeCanBeDecorated(node, parent, grandparent); + && nodeCanBeDecorated(node, parent, grandparent); // TODO: GH#18217 } ts.nodeIsDecorated = nodeIsDecorated; function nodeOrChildIsDecorated(node, parent, grandparent) { - return nodeIsDecorated(node, parent, grandparent) || childIsDecorated(node, parent); + return nodeIsDecorated(node, parent, grandparent) || childIsDecorated(node, parent); // TODO: GH#18217 } ts.nodeOrChildIsDecorated = nodeOrChildIsDecorated; function childIsDecorated(node, parent) { switch (node.kind) { - case 234 /* ClassDeclaration */: - return ts.forEach(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); - case 153 /* MethodDeclaration */: - case 156 /* SetAccessor */: - return ts.forEach(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); + case 235 /* ClassDeclaration */: + return ts.some(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); // TODO: GH#18217 + case 154 /* MethodDeclaration */: + case 157 /* SetAccessor */: + return ts.some(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); // TODO: GH#18217 + default: + return false; } } ts.childIsDecorated = childIsDecorated; function isJSXTagName(node) { var parent = node.parent; - if (parent.kind === 256 /* JsxOpeningElement */ || - parent.kind === 255 /* JsxSelfClosingElement */ || - parent.kind === 257 /* JsxClosingElement */) { + if (parent.kind === 257 /* JsxOpeningElement */ || + parent.kind === 256 /* JsxSelfClosingElement */ || + parent.kind === 258 /* JsxClosingElement */) { return parent.tagName === node; } return false; @@ -9958,45 +9980,45 @@ var ts; case 101 /* TrueKeyword */: case 86 /* FalseKeyword */: case 12 /* RegularExpressionLiteral */: - case 182 /* ArrayLiteralExpression */: - case 183 /* ObjectLiteralExpression */: - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 188 /* TaggedTemplateExpression */: - case 207 /* AsExpression */: - case 189 /* TypeAssertionExpression */: - case 208 /* NonNullExpression */: - case 190 /* ParenthesizedExpression */: - case 191 /* FunctionExpression */: - case 204 /* ClassExpression */: - case 192 /* ArrowFunction */: - case 195 /* VoidExpression */: - case 193 /* DeleteExpression */: - case 194 /* TypeOfExpression */: - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: - case 199 /* BinaryExpression */: - case 200 /* ConditionalExpression */: - case 203 /* SpreadElement */: - case 201 /* TemplateExpression */: + case 183 /* ArrayLiteralExpression */: + case 184 /* ObjectLiteralExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 189 /* TaggedTemplateExpression */: + case 208 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 209 /* NonNullExpression */: + case 191 /* ParenthesizedExpression */: + case 192 /* FunctionExpression */: + case 205 /* ClassExpression */: + case 193 /* ArrowFunction */: + case 196 /* VoidExpression */: + case 194 /* DeleteExpression */: + case 195 /* TypeOfExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: + case 200 /* BinaryExpression */: + case 201 /* ConditionalExpression */: + case 204 /* SpreadElement */: + case 202 /* TemplateExpression */: case 13 /* NoSubstitutionTemplateLiteral */: - case 205 /* OmittedExpression */: - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: - case 258 /* JsxFragment */: - case 202 /* YieldExpression */: - case 196 /* AwaitExpression */: - case 209 /* MetaProperty */: + case 206 /* OmittedExpression */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: + case 259 /* JsxFragment */: + case 203 /* YieldExpression */: + case 197 /* AwaitExpression */: + case 210 /* MetaProperty */: return true; - case 145 /* QualifiedName */: - while (node.parent.kind === 145 /* QualifiedName */) { + case 146 /* QualifiedName */: + while (node.parent.kind === 146 /* QualifiedName */) { node = node.parent; } - return node.parent.kind === 164 /* TypeQuery */ || isJSXTagName(node); + return node.parent.kind === 165 /* TypeQuery */ || isJSXTagName(node); case 71 /* Identifier */: - if (node.parent.kind === 164 /* TypeQuery */ || isJSXTagName(node)) { + if (node.parent.kind === 165 /* TypeQuery */ || isJSXTagName(node)) { return true; } // falls through @@ -10012,47 +10034,47 @@ var ts; function isInExpressionContext(node) { var parent = node.parent; switch (parent.kind) { - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 272 /* EnumMember */: - case 269 /* PropertyAssignment */: - case 181 /* BindingElement */: + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 273 /* EnumMember */: + case 270 /* PropertyAssignment */: + case 182 /* BindingElement */: return parent.initializer === node; - case 215 /* ExpressionStatement */: - case 216 /* IfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 224 /* ReturnStatement */: - case 225 /* WithStatement */: - case 226 /* SwitchStatement */: - case 265 /* CaseClause */: - case 228 /* ThrowStatement */: + case 216 /* ExpressionStatement */: + case 217 /* IfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 225 /* ReturnStatement */: + case 226 /* WithStatement */: + case 227 /* SwitchStatement */: + case 266 /* CaseClause */: + case 229 /* ThrowStatement */: return parent.expression === node; - case 219 /* ForStatement */: + case 220 /* ForStatement */: var forStatement = parent; - return (forStatement.initializer === node && forStatement.initializer.kind !== 232 /* VariableDeclarationList */) || + return (forStatement.initializer === node && forStatement.initializer.kind !== 233 /* VariableDeclarationList */) || forStatement.condition === node || forStatement.incrementor === node; - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: var forInStatement = parent; - return (forInStatement.initializer === node && forInStatement.initializer.kind !== 232 /* VariableDeclarationList */) || + return (forInStatement.initializer === node && forInStatement.initializer.kind !== 233 /* VariableDeclarationList */) || forInStatement.expression === node; - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: return node === parent.expression; - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return node === parent.expression; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return node === parent.expression; - case 149 /* Decorator */: - case 264 /* JsxExpression */: - case 263 /* JsxSpreadAttribute */: - case 271 /* SpreadAssignment */: + case 150 /* Decorator */: + case 265 /* JsxExpression */: + case 264 /* JsxSpreadAttribute */: + case 272 /* SpreadAssignment */: return true; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return parent.expression === node && isExpressionWithTypeArgumentsInClassExtendsClause(parent); default: return isExpressionNode(parent); @@ -10060,7 +10082,7 @@ var ts; } ts.isInExpressionContext = isInExpressionContext; function isExternalModuleImportEqualsDeclaration(node) { - return node.kind === 242 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 253 /* ExternalModuleReference */; + return node.kind === 243 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 254 /* ExternalModuleReference */; } ts.isExternalModuleImportEqualsDeclaration = isExternalModuleImportEqualsDeclaration; function getExternalModuleImportEqualsDeclarationExpression(node) { @@ -10069,7 +10091,7 @@ var ts; } ts.getExternalModuleImportEqualsDeclarationExpression = getExternalModuleImportEqualsDeclarationExpression; function isInternalModuleImportEqualsDeclaration(node) { - return node.kind === 242 /* ImportEqualsDeclaration */ && node.moduleReference.kind !== 253 /* ExternalModuleReference */; + return node.kind === 243 /* ImportEqualsDeclaration */ && node.moduleReference.kind !== 254 /* ExternalModuleReference */; } ts.isInternalModuleImportEqualsDeclaration = isInternalModuleImportEqualsDeclaration; function isSourceFileJavaScript(file) { @@ -10081,15 +10103,15 @@ var ts; } ts.isSourceFileNotJavaScript = isSourceFileNotJavaScript; function isInJavaScriptFile(node) { - return node && !!(node.flags & 65536 /* JavaScriptFile */); + return !!node && !!(node.flags & 65536 /* JavaScriptFile */); } ts.isInJavaScriptFile = isInJavaScriptFile; function isInJsonFile(node) { - return node && !!(node.flags & 16777216 /* JsonFile */); + return !!node && !!(node.flags & 16777216 /* JsonFile */); } ts.isInJsonFile = isInJsonFile; function isInJSDoc(node) { - return node && !!(node.flags & 2097152 /* JSDoc */); + return !!node && !!(node.flags & 2097152 /* JSDoc */); } ts.isInJSDoc = isInJSDoc; function isJSDocIndexSignature(node) { @@ -10101,7 +10123,7 @@ var ts; } ts.isJSDocIndexSignature = isJSDocIndexSignature; function isRequireCall(callExpression, checkArgumentIsStringLiteralLike) { - if (callExpression.kind !== 186 /* CallExpression */) { + if (callExpression.kind !== 187 /* CallExpression */) { return false; } var _a = callExpression, expression = _a.expression, args = _a.arguments; @@ -10123,30 +10145,49 @@ var ts; return getSourceTextOfNodeFromSourceFile(sourceFile, str).charCodeAt(0) === 34 /* doubleQuote */; } ts.isStringDoubleQuoted = isStringDoubleQuoted; - /** - * Given the symbol of a declaration, find the symbol of its Javascript container-like initializer, - * if it has one. Otherwise just return the original symbol. - * - * Container-like initializer behave like namespaces, so the binder needs to add contained symbols - * to their exports. An example is a function with assignments to `this` inside. - */ - function getJSInitializerSymbol(symbol) { - if (!symbol || !symbol.valueDeclaration) { - return symbol; + function getDeclarationOfJSInitializer(node) { + if (!isInJavaScriptFile(node) || !node.parent) { + return undefined; } - var declaration = symbol.valueDeclaration; - var e = getDeclaredJavascriptInitializer(declaration) || getAssignedJavascriptInitializer(declaration); - return e && e.symbol ? e.symbol : symbol; - } - ts.getJSInitializerSymbol = getJSInitializerSymbol; - /** Get the declaration initializer, when the initializer is container-like (See getJavascriptInitializer) */ - function getDeclaredJavascriptInitializer(node) { - if (node && ts.isVariableDeclaration(node) && node.initializer) { - return getJavascriptInitializer(node.initializer, /*isPrototypeAssignment*/ false) || - ts.isIdentifier(node.name) && getDefaultedJavascriptInitializer(node.name, node.initializer, /*isPrototypeAssignment*/ false); + var name; + var decl; + if (ts.isVariableDeclaration(node.parent) && node.parent.initializer === node) { + name = node.parent.name; + decl = node.parent; } + else if (ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58 /* EqualsToken */ && node.parent.right === node) { + name = node.parent.left; + decl = name; + } + else if (ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 54 /* BarBarToken */) { + if (ts.isVariableDeclaration(node.parent.parent) && node.parent.parent.initializer === node.parent) { + name = node.parent.parent.name; + decl = node.parent.parent; + } + else if (ts.isBinaryExpression(node.parent.parent) && node.parent.parent.operatorToken.kind === 58 /* EqualsToken */ && node.parent.parent.right === node.parent) { + name = node.parent.parent.left; + decl = name; + } + if (!name || !isEntityNameExpression(name) || !isSameEntityName(name, node.parent.left)) { + return undefined; + } + } + if (!name || !getJavascriptInitializer(node, isPrototypeAccess(name))) { + return undefined; + } + return decl; } - ts.getDeclaredJavascriptInitializer = getDeclaredJavascriptInitializer; + ts.getDeclarationOfJSInitializer = getDeclarationOfJSInitializer; + /** Get the initializer, taking into account defaulted Javascript initializers */ + function getEffectiveInitializer(node) { + if (isInJavaScriptFile(node) && node.initializer && + ts.isBinaryExpression(node.initializer) && node.initializer.operatorToken.kind === 54 /* BarBarToken */ && + node.name && isEntityNameExpression(node.name) && isSameEntityName(node.name, node.initializer.left)) { + return node.initializer.right; + } + return node.initializer; + } + ts.getEffectiveInitializer = getEffectiveInitializer; /** * Get the assignment 'initializer' -- the righthand side-- when the initializer is container-like (See getJavascriptInitializer). * We treat the right hand side of assignments with container-like initalizers as declarations. @@ -10172,11 +10213,11 @@ var ts; function getJavascriptInitializer(initializer, isPrototypeAssignment) { if (ts.isCallExpression(initializer)) { var e = skipParentheses(initializer.expression); - return e.kind === 191 /* FunctionExpression */ || e.kind === 192 /* ArrowFunction */ ? initializer : undefined; + return e.kind === 192 /* FunctionExpression */ || e.kind === 193 /* ArrowFunction */ ? initializer : undefined; } - if (initializer.kind === 191 /* FunctionExpression */ || - initializer.kind === 204 /* ClassExpression */ || - initializer.kind === 192 /* ArrowFunction */) { + if (initializer.kind === 192 /* FunctionExpression */ || + initializer.kind === 205 /* ClassExpression */ || + initializer.kind === 193 /* ArrowFunction */) { return initializer; } if (ts.isObjectLiteralExpression(initializer) && (initializer.properties.length === 0 || isPrototypeAssignment)) { @@ -10198,6 +10239,13 @@ var ts; return e; } } + function isDefaultedJavascriptInitializer(node) { + var name = ts.isVariableDeclaration(node.parent) ? node.parent.name : + ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58 /* EqualsToken */ ? node.parent.left : + undefined; + return name && getJavascriptInitializer(node.right, isPrototypeAccess(name)) && isEntityNameExpression(name) && isSameEntityName(name, node.left); + } + ts.isDefaultedJavascriptInitializer = isDefaultedJavascriptInitializer; /** Given a Javascript initializer, return the outer name. That is, the lhs of the assignment or the declaration name. */ function getOuterNameOfJsInitializer(node) { if (ts.isBinaryExpression(node.parent)) { @@ -10307,7 +10355,7 @@ var ts; ts.isPrototypePropertyAssignment = isPrototypePropertyAssignment; function isSpecialPropertyDeclaration(expr) { return isInJavaScriptFile(expr) && - expr.parent && expr.parent.kind === 215 /* ExpressionStatement */ && + expr.parent && expr.parent.kind === 216 /* ExpressionStatement */ && !!ts.getJSDocTypeTag(expr.parent); } ts.isSpecialPropertyDeclaration = isSpecialPropertyDeclaration; @@ -10317,14 +10365,14 @@ var ts; ts.importFromModuleSpecifier = importFromModuleSpecifier; function tryGetImportFromModuleSpecifier(node) { switch (node.parent.kind) { - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: return node.parent; - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: return node.parent.parent; - case 186 /* CallExpression */: + case 187 /* CallExpression */: return node.parent; - case 177 /* LiteralType */: + case 178 /* LiteralType */: ts.Debug.assert(ts.isStringLiteral(node)); return ts.tryCast(node.parent.parent, ts.isImportTypeNode); default: @@ -10334,12 +10382,12 @@ var ts; ts.tryGetImportFromModuleSpecifier = tryGetImportFromModuleSpecifier; function getExternalModuleName(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: return node.moduleSpecifier; - case 242 /* ImportEqualsDeclaration */: - return node.moduleReference.kind === 253 /* ExternalModuleReference */ ? node.moduleReference.expression : undefined; - case 178 /* ImportType */: + case 243 /* ImportEqualsDeclaration */: + return node.moduleReference.kind === 254 /* ExternalModuleReference */ ? node.moduleReference.expression : undefined; + case 179 /* ImportType */: return isLiteralImportTypeNode(node) ? node.argument.literal : undefined; default: return ts.Debug.assertNever(node); @@ -10348,11 +10396,11 @@ var ts; ts.getExternalModuleName = getExternalModuleName; function getNamespaceDeclarationNode(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return node.importClause && ts.tryCast(node.importClause.namedBindings, ts.isNamespaceImport); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return node; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return undefined; default: return ts.Debug.assertNever(node); @@ -10360,19 +10408,19 @@ var ts; } ts.getNamespaceDeclarationNode = getNamespaceDeclarationNode; function isDefaultImport(node) { - return node.kind === 243 /* ImportDeclaration */ && node.importClause && !!node.importClause.name; + return node.kind === 244 /* ImportDeclaration */ && !!node.importClause && !!node.importClause.name; } ts.isDefaultImport = isDefaultImport; function hasQuestionToken(node) { if (node) { switch (node.kind) { - case 148 /* Parameter */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 270 /* ShorthandPropertyAssignment */: - case 269 /* PropertyAssignment */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 149 /* Parameter */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 271 /* ShorthandPropertyAssignment */: + case 270 /* PropertyAssignment */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return node.questionToken !== undefined; } } @@ -10380,14 +10428,14 @@ var ts; } ts.hasQuestionToken = hasQuestionToken; function isJSDocConstructSignature(node) { - return node.kind === 283 /* JSDocFunctionType */ && + return node.kind === 284 /* JSDocFunctionType */ && node.parameters.length > 0 && node.parameters[0].name && node.parameters[0].name.escapedText === "new"; } ts.isJSDocConstructSignature = isJSDocConstructSignature; function isJSDocTypeAlias(node) { - return node.kind === 296 /* JSDocTypedefTag */ || node.kind === 291 /* JSDocCallbackTag */; + return node.kind === 297 /* JSDocTypedefTag */ || node.kind === 292 /* JSDocCallbackTag */; } ts.isJSDocTypeAlias = isJSDocTypeAlias; function isTypeAlias(node) { @@ -10397,38 +10445,39 @@ var ts; function getSourceOfAssignment(node) { return ts.isExpressionStatement(node) && node.expression && ts.isBinaryExpression(node.expression) && - node.expression.operatorToken.kind === 58 /* EqualsToken */ && - node.expression.right; + node.expression.operatorToken.kind === 58 /* EqualsToken */ + ? node.expression.right + : undefined; } function getSourceOfDefaultedAssignment(node) { return ts.isExpressionStatement(node) && ts.isBinaryExpression(node.expression) && getSpecialPropertyAssignmentKind(node.expression) !== 0 /* None */ && ts.isBinaryExpression(node.expression.right) && - node.expression.right.operatorToken.kind === 54 /* BarBarToken */ && - node.expression.right.right; + node.expression.right.operatorToken.kind === 54 /* BarBarToken */ + ? node.expression.right.right + : undefined; } function getSingleInitializerOfVariableStatementOrPropertyDeclaration(node) { switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: var v = getSingleVariableOfVariableStatement(node); return v && v.initializer; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return node.initializer; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return node.initializer; } } function getSingleVariableOfVariableStatement(node) { - return ts.isVariableStatement(node) && - node.declarationList.declarations.length > 0 && - node.declarationList.declarations[0]; + return ts.isVariableStatement(node) ? ts.firstOrUndefined(node.declarationList.declarations) : undefined; } function getNestedModuleDeclaration(node) { - return node.kind === 238 /* ModuleDeclaration */ && + return ts.isModuleDeclaration(node) && node.body && - node.body.kind === 238 /* ModuleDeclaration */ && - node.body; + node.body.kind === 239 /* ModuleDeclaration */ + ? node.body + : undefined; } function getJSDocCommentsAndTags(hostNode) { var result; @@ -10438,7 +10487,7 @@ var ts; var parent = node.parent; if (!parent) return; - if (parent.kind === 269 /* PropertyAssignment */ || parent.kind === 151 /* PropertyDeclaration */ || getNestedModuleDeclaration(parent)) { + if (parent.kind === 270 /* PropertyAssignment */ || parent.kind === 152 /* PropertyDeclaration */ || getNestedModuleDeclaration(parent)) { getJSDocCommentsAndTagsWorker(parent); } // Try to recognize this pattern when node is initializer of variable declaration and JSDoc comments are on containing variable statement. @@ -10458,11 +10507,11 @@ var ts; } if (ts.isBinaryExpression(node) && node.operatorToken.kind === 58 /* EqualsToken */ || ts.isBinaryExpression(parent) && parent.operatorToken.kind === 58 /* EqualsToken */ || - node.kind === 184 /* PropertyAccessExpression */ && node.parent && node.parent.kind === 215 /* ExpressionStatement */) { + node.kind === 185 /* PropertyAccessExpression */ && node.parent && node.parent.kind === 216 /* ExpressionStatement */) { getJSDocCommentsAndTagsWorker(parent); } // Pull parameter comments from declaring function as well - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { result = ts.addRange(result, ts.getJSDocParameterTags(node)); } if (isVariableLike(node) && ts.hasInitializer(node) && node.initializer !== hostNode && ts.hasJSDocNodes(node.initializer)) { @@ -10517,12 +10566,12 @@ var ts; ts.getTypeParameterFromJsDoc = getTypeParameterFromJsDoc; function hasRestParameter(s) { var last = ts.lastOrUndefined(s.parameters); - return last && isRestParameter(last); + return !!last && isRestParameter(last); } ts.hasRestParameter = hasRestParameter; function isRestParameter(node) { var type = ts.isJSDocParameterTag(node) ? (node.typeExpression && node.typeExpression.type) : node.type; - return node.dotDotDotToken !== undefined || type && type.kind === 284 /* JSDocVariadicType */; + return node.dotDotDotToken !== undefined || !!type && type.kind === 285 /* JSDocVariadicType */; } ts.isRestParameter = isRestParameter; var AssignmentKind; @@ -10535,31 +10584,31 @@ var ts; var parent = node.parent; while (true) { switch (parent.kind) { - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var binaryOperator = parent.operatorToken.kind; return isAssignmentOperator(binaryOperator) && parent.left === node ? binaryOperator === 58 /* EqualsToken */ ? 1 /* Definite */ : 2 /* Compound */ : 0 /* None */; - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: var unaryOperator = parent.operator; return unaryOperator === 43 /* PlusPlusToken */ || unaryOperator === 44 /* MinusMinusToken */ ? 2 /* Compound */ : 0 /* None */; - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: return parent.initializer === node ? 1 /* Definite */ : 0 /* None */; - case 190 /* ParenthesizedExpression */: - case 182 /* ArrayLiteralExpression */: - case 203 /* SpreadElement */: - case 208 /* NonNullExpression */: + case 191 /* ParenthesizedExpression */: + case 183 /* ArrayLiteralExpression */: + case 204 /* SpreadElement */: + case 209 /* NonNullExpression */: node = parent; break; - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: if (parent.name !== node) { return 0 /* None */; } node = parent.parent; break; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: if (parent.name === node) { return 0 /* None */; } @@ -10586,22 +10635,22 @@ var ts; */ function isNodeWithPossibleHoistedDeclaration(node) { switch (node.kind) { - case 212 /* Block */: - case 213 /* VariableStatement */: - case 225 /* WithStatement */: - case 216 /* IfStatement */: - case 226 /* SwitchStatement */: - case 240 /* CaseBlock */: - case 265 /* CaseClause */: - case 266 /* DefaultClause */: - case 227 /* LabeledStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 229 /* TryStatement */: - case 268 /* CatchClause */: + case 213 /* Block */: + case 214 /* VariableStatement */: + case 226 /* WithStatement */: + case 217 /* IfStatement */: + case 227 /* SwitchStatement */: + case 241 /* CaseBlock */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: + case 228 /* LabeledStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 230 /* TryStatement */: + case 269 /* CatchClause */: return true; } return false; @@ -10618,15 +10667,15 @@ var ts; return node; } function walkUpParenthesizedTypes(node) { - return walkUp(node, 172 /* ParenthesizedType */); + return walkUp(node, 173 /* ParenthesizedType */); } ts.walkUpParenthesizedTypes = walkUpParenthesizedTypes; function walkUpParenthesizedExpressions(node) { - return walkUp(node, 190 /* ParenthesizedExpression */); + return walkUp(node, 191 /* ParenthesizedExpression */); } ts.walkUpParenthesizedExpressions = walkUpParenthesizedExpressions; function skipParentheses(node) { - while (node.kind === 190 /* ParenthesizedExpression */) { + while (node.kind === 191 /* ParenthesizedExpression */) { node = node.expression; } return node; @@ -10634,11 +10683,11 @@ var ts; ts.skipParentheses = skipParentheses; // a node is delete target iff. it is PropertyAccessExpression/ElementAccessExpression with parentheses skipped function isDeleteTarget(node) { - if (node.kind !== 184 /* PropertyAccessExpression */ && node.kind !== 185 /* ElementAccessExpression */) { + if (node.kind !== 185 /* PropertyAccessExpression */ && node.kind !== 186 /* ElementAccessExpression */) { return false; } node = walkUpParenthesizedExpressions(node.parent); - return node && node.kind === 193 /* DeleteExpression */; + return node && node.kind === 194 /* DeleteExpression */; } ts.isDeleteTarget = isDeleteTarget; function isNodeDescendantOf(node, ancestor) { @@ -10660,9 +10709,10 @@ var ts; switch (name.kind) { case 71 /* Identifier */: case 9 /* StringLiteral */: - case 8 /* NumericLiteral */: - if (ts.isDeclaration(name.parent)) { - return name.parent.name === name; + case 8 /* NumericLiteral */: { + var parent = name.parent; + if (ts.isDeclaration(parent)) { + return parent.name === name; } else if (ts.isQualifiedName(name.parent)) { var tag = name.parent.parent; @@ -10672,6 +10722,7 @@ var ts; var binExp = name.parent.parent; return ts.isBinaryExpression(binExp) && getSpecialPropertyAssignmentKind(binExp) !== 0 /* None */ && ts.getNameOfDeclaration(binExp) === name; } + } default: return false; } @@ -10679,7 +10730,7 @@ var ts; ts.isAnyDeclarationName = isAnyDeclarationName; function isLiteralComputedPropertyDeclarationName(node) { return (node.kind === 9 /* StringLiteral */ || node.kind === 8 /* NumericLiteral */) && - node.parent.kind === 146 /* ComputedPropertyName */ && + node.parent.kind === 147 /* ComputedPropertyName */ && ts.isDeclaration(node.parent.parent); } ts.isLiteralComputedPropertyDeclarationName = isLiteralComputedPropertyDeclarationName; @@ -10687,32 +10738,32 @@ var ts; function isIdentifierName(node) { var parent = node.parent; switch (parent.kind) { - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 272 /* EnumMember */: - case 269 /* PropertyAssignment */: - case 184 /* PropertyAccessExpression */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 273 /* EnumMember */: + case 270 /* PropertyAssignment */: + case 185 /* PropertyAccessExpression */: // Name in member declaration or property name in property access return parent.name === node; - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: // Name on right hand side of dot in a type query or type reference if (parent.right === node) { - while (parent.kind === 145 /* QualifiedName */) { + while (parent.kind === 146 /* QualifiedName */) { parent = parent.parent; } - return parent.kind === 164 /* TypeQuery */ || parent.kind === 161 /* TypeReference */; + return parent.kind === 165 /* TypeQuery */ || parent.kind === 162 /* TypeReference */; } return false; - case 181 /* BindingElement */: - case 247 /* ImportSpecifier */: + case 182 /* BindingElement */: + case 248 /* ImportSpecifier */: // Property name in binding element or import specifier return parent.propertyName === node; - case 251 /* ExportSpecifier */: - case 261 /* JsxAttribute */: + case 252 /* ExportSpecifier */: + case 262 /* JsxAttribute */: // Any name in an export specifier or JSX Attribute return true; } @@ -10728,13 +10779,13 @@ var ts; // export = // export default function isAliasSymbolDeclaration(node) { - return node.kind === 242 /* ImportEqualsDeclaration */ || - node.kind === 241 /* NamespaceExportDeclaration */ || - node.kind === 244 /* ImportClause */ && !!node.name || - node.kind === 245 /* NamespaceImport */ || - node.kind === 247 /* ImportSpecifier */ || - node.kind === 251 /* ExportSpecifier */ || - node.kind === 248 /* ExportAssignment */ && exportAssignmentIsAlias(node) || + return node.kind === 243 /* ImportEqualsDeclaration */ || + node.kind === 242 /* NamespaceExportDeclaration */ || + node.kind === 245 /* ImportClause */ && !!node.name || + node.kind === 246 /* NamespaceImport */ || + node.kind === 248 /* ImportSpecifier */ || + node.kind === 252 /* ExportSpecifier */ || + node.kind === 249 /* ExportAssignment */ && exportAssignmentIsAlias(node) || ts.isBinaryExpression(node) && getSpecialPropertyAssignmentKind(node) === 2 /* ModuleExports */; } ts.isAliasSymbolDeclaration = isAliasSymbolDeclaration; @@ -10795,11 +10846,11 @@ var ts; } ts.getAncestor = getAncestor; function isKeyword(token) { - return 72 /* FirstKeyword */ <= token && token <= 144 /* LastKeyword */; + return 72 /* FirstKeyword */ <= token && token <= 145 /* LastKeyword */; } ts.isKeyword = isKeyword; function isContextualKeyword(token) { - return 117 /* FirstContextualKeyword */ <= token && token <= 144 /* LastContextualKeyword */; + return 117 /* FirstContextualKeyword */ <= token && token <= 145 /* LastContextualKeyword */; } ts.isContextualKeyword = isContextualKeyword; function isNonContextualKeyword(token) { @@ -10829,14 +10880,14 @@ var ts; } var flags = 0 /* Normal */; switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: if (node.asteriskToken) { flags |= 1 /* Generator */; } // falls through - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: if (hasModifier(node, 256 /* Async */)) { flags |= 2 /* Async */; } @@ -10850,10 +10901,10 @@ var ts; ts.getFunctionFlags = getFunctionFlags; function isAsyncFunction(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: return node.body !== undefined && node.asteriskToken === undefined && hasModifier(node, 256 /* Async */); @@ -10876,11 +10927,11 @@ var ts; */ function hasDynamicName(declaration) { var name = ts.getNameOfDeclaration(declaration); - return name && isDynamicName(name); + return !!name && isDynamicName(name); } ts.hasDynamicName = hasDynamicName; function isDynamicName(name) { - return name.kind === 146 /* ComputedPropertyName */ && + return name.kind === 147 /* ComputedPropertyName */ && !isStringOrNumericLiteral(name.expression) && !isWellKnownSymbolSyntactically(name.expression); } @@ -10901,7 +10952,7 @@ var ts; if (name.kind === 9 /* StringLiteral */ || name.kind === 8 /* NumericLiteral */) { return escapeLeadingUnderscores(name.text); } - if (name.kind === 146 /* ComputedPropertyName */) { + if (name.kind === 147 /* ComputedPropertyName */) { var nameExpression = name.expression; if (isWellKnownSymbolSyntactically(nameExpression)) { return getPropertyNameForKnownSymbolName(ts.idText(nameExpression.name)); @@ -10954,11 +11005,11 @@ var ts; ts.isPushOrUnshiftIdentifier = isPushOrUnshiftIdentifier; function isParameterDeclaration(node) { var root = getRootDeclaration(node); - return root.kind === 148 /* Parameter */; + return root.kind === 149 /* Parameter */; } ts.isParameterDeclaration = isParameterDeclaration; function getRootDeclaration(node) { - while (node.kind === 181 /* BindingElement */) { + while (node.kind === 182 /* BindingElement */) { node = node.parent.parent; } return node; @@ -10966,15 +11017,15 @@ var ts; ts.getRootDeclaration = getRootDeclaration; function nodeStartsNewLexicalEnvironment(node) { var kind = node.kind; - return kind === 154 /* Constructor */ - || kind === 191 /* FunctionExpression */ - || kind === 233 /* FunctionDeclaration */ - || kind === 192 /* ArrowFunction */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */ - || kind === 238 /* ModuleDeclaration */ - || kind === 273 /* SourceFile */; + return kind === 155 /* Constructor */ + || kind === 192 /* FunctionExpression */ + || kind === 234 /* FunctionDeclaration */ + || kind === 193 /* ArrowFunction */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */ + || kind === 239 /* ModuleDeclaration */ + || kind === 274 /* SourceFile */; } ts.nodeStartsNewLexicalEnvironment = nodeStartsNewLexicalEnvironment; function nodeIsSynthesized(range) { @@ -10993,23 +11044,23 @@ var ts; })(Associativity = ts.Associativity || (ts.Associativity = {})); function getExpressionAssociativity(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 187 /* NewExpression */ && expression.arguments !== undefined; + var hasArguments = expression.kind === 188 /* NewExpression */ && expression.arguments !== undefined; return getOperatorAssociativity(expression.kind, operator, hasArguments); } ts.getExpressionAssociativity = getExpressionAssociativity; function getOperatorAssociativity(kind, operator, hasArguments) { switch (kind) { - case 187 /* NewExpression */: + case 188 /* NewExpression */: return hasArguments ? 0 /* Left */ : 1 /* Right */; - case 197 /* PrefixUnaryExpression */: - case 194 /* TypeOfExpression */: - case 195 /* VoidExpression */: - case 193 /* DeleteExpression */: - case 196 /* AwaitExpression */: - case 200 /* ConditionalExpression */: - case 202 /* YieldExpression */: + case 198 /* PrefixUnaryExpression */: + case 195 /* TypeOfExpression */: + case 196 /* VoidExpression */: + case 194 /* DeleteExpression */: + case 197 /* AwaitExpression */: + case 201 /* ConditionalExpression */: + case 203 /* YieldExpression */: return 1 /* Right */; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: switch (operator) { case 40 /* AsteriskAsteriskToken */: case 58 /* EqualsToken */: @@ -11033,15 +11084,15 @@ var ts; ts.getOperatorAssociativity = getOperatorAssociativity; function getExpressionPrecedence(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 187 /* NewExpression */ && expression.arguments !== undefined; + var hasArguments = expression.kind === 188 /* NewExpression */ && expression.arguments !== undefined; return getOperatorPrecedence(expression.kind, operator, hasArguments); } ts.getExpressionPrecedence = getExpressionPrecedence; function getOperator(expression) { - if (expression.kind === 199 /* BinaryExpression */) { + if (expression.kind === 200 /* BinaryExpression */) { return expression.operatorToken.kind; } - else if (expression.kind === 197 /* PrefixUnaryExpression */ || expression.kind === 198 /* PostfixUnaryExpression */) { + else if (expression.kind === 198 /* PrefixUnaryExpression */ || expression.kind === 199 /* PostfixUnaryExpression */) { return expression.operator; } else { @@ -11051,15 +11102,15 @@ var ts; ts.getOperator = getOperator; function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) { switch (nodeKind) { - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: return 0; - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return 1; - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return 2; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return 4; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: switch (operatorKind) { case 26 /* CommaToken */: return 0; @@ -11080,21 +11131,21 @@ var ts; default: return getBinaryOperatorPrecedence(operatorKind); } - case 197 /* PrefixUnaryExpression */: - case 194 /* TypeOfExpression */: - case 195 /* VoidExpression */: - case 193 /* DeleteExpression */: - case 196 /* AwaitExpression */: + case 198 /* PrefixUnaryExpression */: + case 195 /* TypeOfExpression */: + case 196 /* VoidExpression */: + case 194 /* DeleteExpression */: + case 197 /* AwaitExpression */: return 16; - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return 17; - case 186 /* CallExpression */: + case 187 /* CallExpression */: return 18; - case 187 /* NewExpression */: + case 188 /* NewExpression */: return hasArguments ? 19 : 18; - case 188 /* TaggedTemplateExpression */: - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: + case 189 /* TaggedTemplateExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: return 19; case 99 /* ThisKeyword */: case 97 /* SuperKeyword */: @@ -11104,19 +11155,19 @@ var ts; case 86 /* FalseKeyword */: case 8 /* NumericLiteral */: case 9 /* StringLiteral */: - case 182 /* ArrayLiteralExpression */: - case 183 /* ObjectLiteralExpression */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 204 /* ClassExpression */: - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: - case 258 /* JsxFragment */: + case 183 /* ArrayLiteralExpression */: + case 184 /* ObjectLiteralExpression */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 205 /* ClassExpression */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: + case 259 /* JsxFragment */: case 12 /* RegularExpressionLiteral */: case 13 /* NoSubstitutionTemplateLiteral */: - case 201 /* TemplateExpression */: - case 190 /* ParenthesizedExpression */: - case 205 /* OmittedExpression */: + case 202 /* TemplateExpression */: + case 191 /* ParenthesizedExpression */: + case 206 /* OmittedExpression */: return 20; default: return -1; @@ -11169,7 +11220,7 @@ var ts; } ts.getBinaryOperatorPrecedence = getBinaryOperatorPrecedence; function createDiagnosticCollection() { - var nonFileDiagnostics = []; + var nonFileDiagnostics = []; // See GH#19873 var filesWithDiagnostics = []; var fileDiagnostics = ts.createMap(); var hasReadNonFileDiagnostics = false; @@ -11187,7 +11238,7 @@ var ts; if (diagnostic.file) { diagnostics = fileDiagnostics.get(diagnostic.file.fileName); if (!diagnostics) { - diagnostics = []; + diagnostics = []; // See GH#19873 fileDiagnostics.set(diagnostic.file.fileName, diagnostics); ts.insertSorted(filesWithDiagnostics, diagnostic.file.fileName, ts.compareStringsCaseSensitive); } @@ -11334,7 +11385,7 @@ var ts; var lineStartsOfS = ts.computeLineStarts(s); if (lineStartsOfS.length > 1) { lineCount = lineCount + lineStartsOfS.length - 1; - linePos = output.length - s.length + ts.lastOrUndefined(lineStartsOfS); + linePos = output.length - s.length + ts.last(lineStartsOfS); } } } @@ -11509,7 +11560,7 @@ var ts; } ts.parameterIsThisKeyword = parameterIsThisKeyword; function isThisIdentifier(node) { - return node && node.kind === 71 /* Identifier */ && identifierIsThisKeyword(node); + return !!node && node.kind === 71 /* Identifier */ && identifierIsThisKeyword(node); } ts.isThisIdentifier = isThisIdentifier; function identifierIsThisKeyword(id) { @@ -11517,16 +11568,17 @@ var ts; } ts.identifierIsThisKeyword = identifierIsThisKeyword; function getAllAccessorDeclarations(declarations, accessor) { + // TODO: GH#18217 var firstAccessor; var secondAccessor; var getAccessor; var setAccessor; if (hasDynamicName(accessor)) { firstAccessor = accessor; - if (accessor.kind === 155 /* GetAccessor */) { + if (accessor.kind === 156 /* GetAccessor */) { getAccessor = accessor; } - else if (accessor.kind === 156 /* SetAccessor */) { + else if (accessor.kind === 157 /* SetAccessor */) { setAccessor = accessor; } else { @@ -11535,7 +11587,7 @@ var ts; } else { ts.forEach(declarations, function (member) { - if ((member.kind === 155 /* GetAccessor */ || member.kind === 156 /* SetAccessor */) + if ((member.kind === 156 /* GetAccessor */ || member.kind === 157 /* SetAccessor */) && hasModifier(member, 32 /* Static */) === hasModifier(accessor, 32 /* Static */)) { var memberName = getPropertyNameForPropertyNameNode(member.name); var accessorName = getPropertyNameForPropertyNameNode(accessor.name); @@ -11546,10 +11598,10 @@ var ts; else if (!secondAccessor) { secondAccessor = member; } - if (member.kind === 155 /* GetAccessor */ && !getAccessor) { + if (member.kind === 156 /* GetAccessor */ && !getAccessor) { getAccessor = member; } - if (member.kind === 156 /* SetAccessor */ && !setAccessor) { + if (member.kind === 157 /* SetAccessor */ && !setAccessor) { setAccessor = member; } } @@ -11596,25 +11648,20 @@ var ts; return ts.emptyArray; } if (isJSDocTypeAlias(node)) { - ts.Debug.assert(node.parent.kind === 285 /* JSDocComment */); - var templateTags = ts.flatMap(ts.filter(node.parent.tags, ts.isJSDocTemplateTag), function (tag) { return tag.typeParameters; }); - var templateTagNodes = templateTags; - templateTagNodes.pos = templateTagNodes.length > 0 ? ts.first(templateTagNodes).pos : node.pos; - templateTagNodes.end = templateTagNodes.length > 0 ? ts.last(templateTagNodes).end : node.end; - templateTagNodes.hasTrailingComma = false; - return templateTagNodes; + ts.Debug.assert(node.parent.kind === 286 /* JSDocComment */); + return ts.flatMap(node.parent.tags, function (tag) { return ts.isJSDocTemplateTag(tag) ? tag.typeParameters : undefined; }); } return node.typeParameters || (isInJavaScriptFile(node) ? getJSDocTypeParameterDeclarations(node) : ts.emptyArray); } ts.getEffectiveTypeParameterDeclarations = getEffectiveTypeParameterDeclarations; function getJSDocTypeParameterDeclarations(node) { - // template tags are only available when a typedef isn't already using them - var tag = ts.find(ts.getJSDocTags(node), function (tag) { - return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 285 /* JSDocComment */ && tag.parent.tags.some(isJSDocTypeAlias)); - }); - return (tag && tag.typeParameters) || ts.emptyArray; + return ts.flatMap(ts.getJSDocTags(node), function (tag) { return isNonTypeAliasTemplate(tag) ? tag.typeParameters : undefined; }); } ts.getJSDocTypeParameterDeclarations = getJSDocTypeParameterDeclarations; + /** template tags are only available when a typedef isn't already using them */ + function isNonTypeAliasTemplate(tag) { + return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 286 /* JSDocComment */ && tag.parent.tags.some(isJSDocTypeAlias)); + } /** * Gets the effective type annotation of the value parameter of a set accessor. If the node * was parsed in a JavaScript file, gets the type annotation from JSDoc. @@ -11713,13 +11760,13 @@ var ts; // All comments look like they could have been part of the copyright header. Make // sure there is at least one blank line between it and the node. If not, it's not // a copyright header. - var lastCommentLine = getLineOfLocalPositionFromLineMap(lineMap, ts.lastOrUndefined(detachedComments).end); + var lastCommentLine = getLineOfLocalPositionFromLineMap(lineMap, ts.last(detachedComments).end); var nodeLine = getLineOfLocalPositionFromLineMap(lineMap, ts.skipTrivia(text, node.pos)); if (nodeLine >= lastCommentLine + 2) { // Valid detachedComments emitNewLineBeforeLeadingComments(lineMap, writer, node, leadingComments); emitComments(text, lineMap, writer, detachedComments, /*leadingSeparator*/ false, /*trailingSeparator*/ true, newLine, writeComment); - currentDetachedCommentInfo = { nodePos: node.pos, detachedCommentEndPos: ts.lastOrUndefined(detachedComments).end }; + currentDetachedCommentInfo = { nodePos: node.pos, detachedCommentEndPos: ts.last(detachedComments).end }; } } } @@ -11888,7 +11935,7 @@ var ts; ts.isAssignmentOperator = isAssignmentOperator; /** Get `C` given `N` if `N` is in the position `class C extends N` where `N` is an ExpressionWithTypeArguments. */ function tryGetClassExtendingExpressionWithTypeArguments(node) { - if (node.kind === 206 /* ExpressionWithTypeArguments */ && + if (ts.isExpressionWithTypeArguments(node) && node.parent.token === 85 /* ExtendsKeyword */ && ts.isClassLike(node.parent.parent)) { return node.parent.parent; @@ -11906,8 +11953,8 @@ var ts; function isDestructuringAssignment(node) { if (isAssignmentExpression(node, /*excludeCompoundAssignment*/ true)) { var kind = node.left.kind; - return kind === 183 /* ObjectLiteralExpression */ - || kind === 182 /* ArrayLiteralExpression */; + return kind === 184 /* ObjectLiteralExpression */ + || kind === 183 /* ArrayLiteralExpression */; } return false; } @@ -11917,7 +11964,7 @@ var ts; } ts.isExpressionWithTypeArgumentsInClassExtendsClause = isExpressionWithTypeArgumentsInClassExtendsClause; function isExpressionWithTypeArgumentsInClassImplementsClause(node) { - return node.kind === 206 /* ExpressionWithTypeArguments */ + return node.kind === 207 /* ExpressionWithTypeArguments */ && isEntityNameExpression(node.expression) && node.parent && node.parent.token === 108 /* ImplementsKeyword */ @@ -11938,17 +11985,17 @@ var ts; } ts.isPrototypeAccess = isPrototypeAccess; function isRightSideOfQualifiedNameOrPropertyAccess(node) { - return (node.parent.kind === 145 /* QualifiedName */ && node.parent.right === node) || - (node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.name === node); + return (node.parent.kind === 146 /* QualifiedName */ && node.parent.right === node) || + (node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.name === node); } ts.isRightSideOfQualifiedNameOrPropertyAccess = isRightSideOfQualifiedNameOrPropertyAccess; function isEmptyObjectLiteral(expression) { - return expression.kind === 183 /* ObjectLiteralExpression */ && + return expression.kind === 184 /* ObjectLiteralExpression */ && expression.properties.length === 0; } ts.isEmptyObjectLiteral = isEmptyObjectLiteral; function isEmptyArrayLiteral(expression) { - return expression.kind === 182 /* ArrayLiteralExpression */ && + return expression.kind === 183 /* ArrayLiteralExpression */ && expression.elements.length === 0; } ts.isEmptyArrayLiteral = isEmptyArrayLiteral; @@ -12062,14 +12109,14 @@ var ts; return output; } function base64encode(host, input) { - if (host.base64encode) { + if (host && host.base64encode) { return host.base64encode(input); } return convertToBase64(input); } ts.base64encode = base64encode; function base64decode(host, input) { - if (host.base64decode) { + if (host && host.base64decode) { return host.base64decode(input); } var length = input.length; @@ -12289,8 +12336,8 @@ var ts; var parseNode = ts.getParseTreeNode(node); if (parseNode) { switch (parseNode.parent.kind) { - case 237 /* EnumDeclaration */: - case 238 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 239 /* ModuleDeclaration */: return parseNode === parseNode.parent.name; } } @@ -12363,21 +12410,21 @@ var ts; if (!parent) return 0 /* Read */; switch (parent.kind) { - case 198 /* PostfixUnaryExpression */: - case 197 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: var operator = parent.operator; return operator === 43 /* PlusPlusToken */ || operator === 44 /* MinusMinusToken */ ? writeOrReadWrite() : 0 /* Read */; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var _a = parent, left = _a.left, operatorToken = _a.operatorToken; return left === node && isAssignmentOperator(operatorToken.kind) ? writeOrReadWrite() : 0 /* Read */; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return parent.name !== node ? 0 /* Read */ : accessKind(parent); default: return 0 /* Read */; } function writeOrReadWrite() { // If grandparent is not an ExpressionStatement, this is used as an expression in addition to having a side effect. - return parent.parent && parent.parent.kind === 215 /* ExpressionStatement */ ? 1 /* Write */ : 2 /* ReadWrite */; + return parent.parent && parent.parent.kind === 216 /* ExpressionStatement */ ? 1 /* Write */ : 2 /* ReadWrite */; } } function compareDataObjects(dst, src) { @@ -12468,7 +12515,7 @@ var ts; } ts.getClassLikeDeclarationOfSymbol = getClassLikeDeclarationOfSymbol; function getObjectFlags(type) { - return type.flags & 65536 /* Object */ ? type.objectFlags : 0; + return type.flags & 131072 /* Object */ ? type.objectFlags : 0; } ts.getObjectFlags = getObjectFlags; function typeHasCallOrConstructSignatures(type, checker) { @@ -12739,9 +12786,9 @@ var ts; } ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions; function getTypeParameterOwner(d) { - if (d && d.kind === 147 /* TypeParameter */) { + if (d && d.kind === 148 /* TypeParameter */) { for (var current = d; current; current = current.parent) { - if (ts.isFunctionLike(current) || ts.isClassLike(current) || current.kind === 235 /* InterfaceDeclaration */) { + if (ts.isFunctionLike(current) || ts.isClassLike(current) || current.kind === 236 /* InterfaceDeclaration */) { return current; } } @@ -12749,7 +12796,7 @@ var ts; } ts.getTypeParameterOwner = getTypeParameterOwner; function isParameterPropertyDeclaration(node) { - return ts.hasModifier(node, 92 /* ParameterPropertyModifier */) && node.parent.kind === 154 /* Constructor */; + return ts.hasModifier(node, 92 /* ParameterPropertyModifier */) && node.parent.kind === 155 /* Constructor */; } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; function isEmptyBindingPattern(node) { @@ -12767,7 +12814,7 @@ var ts; } ts.isEmptyBindingElement = isEmptyBindingElement; function walkUpBindingElementsAndPatterns(node) { - while (node && (node.kind === 181 /* BindingElement */ || ts.isBindingPattern(node))) { + while (node && (node.kind === 182 /* BindingElement */ || ts.isBindingPattern(node))) { node = node.parent; } return node; @@ -12775,14 +12822,14 @@ var ts; function getCombinedModifierFlags(node) { node = walkUpBindingElementsAndPatterns(node); var flags = ts.getModifierFlags(node); - if (node.kind === 231 /* VariableDeclaration */) { + if (node.kind === 232 /* VariableDeclaration */) { node = node.parent; } - if (node && node.kind === 232 /* VariableDeclarationList */) { + if (node && node.kind === 233 /* VariableDeclarationList */) { flags |= ts.getModifierFlags(node); node = node.parent; } - if (node && node.kind === 213 /* VariableStatement */) { + if (node && node.kind === 214 /* VariableStatement */) { flags |= ts.getModifierFlags(node); } return flags; @@ -12798,14 +12845,14 @@ var ts; function getCombinedNodeFlags(node) { node = walkUpBindingElementsAndPatterns(node); var flags = node.flags; - if (node.kind === 231 /* VariableDeclaration */) { + if (node.kind === 232 /* VariableDeclaration */) { node = node.parent; } - if (node && node.kind === 232 /* VariableDeclarationList */) { + if (node && node.kind === 233 /* VariableDeclarationList */) { flags |= node.flags; node = node.parent; } - if (node && node.kind === 213 /* VariableStatement */) { + if (node && node.kind === 214 /* VariableStatement */) { flags |= node.flags; } return flags; @@ -12858,7 +12905,7 @@ var ts; // tslint:disable-next-line no-unnecessary-qualifier (making clear this is a global mutation!) ts.localizedDiagnosticMessages = JSON.parse(fileContents); } - catch (e) { + catch (_a) { if (errors) { errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Corrupted_locale_file_0, filePath)); } @@ -12942,17 +12989,17 @@ var ts; } // Covers remaining cases switch (hostNode.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: if (hostNode.declarationList && hostNode.declarationList.declarations[0]) { return getDeclarationIdentifier(hostNode.declarationList.declarations[0]); } return undefined; - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: var expr = hostNode.expression; switch (expr.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return expr.name; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: var arg = expr.argumentExpression; if (ts.isIdentifier(arg)) { return arg; @@ -12961,10 +13008,10 @@ var ts; return undefined; case 1 /* EndOfFileToken */: return undefined; - case 190 /* ParenthesizedExpression */: { + case 191 /* ParenthesizedExpression */: { return getDeclarationIdentifier(hostNode.expression); } - case 227 /* LabeledStatement */: { + case 228 /* LabeledStatement */: { if (ts.isDeclaration(hostNode.statement) || ts.isExpression(hostNode.statement)) { return getDeclarationIdentifier(hostNode.statement); } @@ -12987,28 +13034,29 @@ var ts; return !!node.name; // A 'name' property should always be a DeclarationName. } ts.isNamedDeclaration = isNamedDeclaration; + // TODO: GH#18217 This is often used as if it returns a defined result function getNameOfDeclaration(declaration) { if (!declaration) { return undefined; } switch (declaration.kind) { - case 204 /* ClassExpression */: - case 191 /* FunctionExpression */: + case 205 /* ClassExpression */: + case 192 /* FunctionExpression */: if (!declaration.name) { return getAssignedName(declaration); } break; case 71 /* Identifier */: return declaration; - case 297 /* JSDocPropertyTag */: - case 292 /* JSDocParameterTag */: { + case 298 /* JSDocPropertyTag */: + case 293 /* JSDocParameterTag */: { var name = declaration.name; - if (name.kind === 145 /* QualifiedName */) { + if (name.kind === 146 /* QualifiedName */) { return name.right; } break; } - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var expr = declaration; switch (ts.getSpecialPropertyAssignmentKind(expr)) { case 1 /* ExportsProperty */: @@ -13020,11 +13068,11 @@ var ts; return undefined; } } - case 291 /* JSDocCallbackTag */: + case 292 /* JSDocCallbackTag */: return declaration.name; - case 296 /* JSDocTypedefTag */: + case 297 /* JSDocTypedefTag */: return getNameOfJSDocTypedef(declaration); - case 248 /* ExportAssignment */: { + case 249 /* ExportAssignment */: { var expression = declaration.expression; return ts.isIdentifier(expression) ? expression : undefined; } @@ -13214,637 +13262,637 @@ var ts; ts.isIdentifier = isIdentifier; // Names function isQualifiedName(node) { - return node.kind === 145 /* QualifiedName */; + return node.kind === 146 /* QualifiedName */; } ts.isQualifiedName = isQualifiedName; function isComputedPropertyName(node) { - return node.kind === 146 /* ComputedPropertyName */; + return node.kind === 147 /* ComputedPropertyName */; } ts.isComputedPropertyName = isComputedPropertyName; // Signature elements function isTypeParameterDeclaration(node) { - return node.kind === 147 /* TypeParameter */; + return node.kind === 148 /* TypeParameter */; } ts.isTypeParameterDeclaration = isTypeParameterDeclaration; function isParameter(node) { - return node.kind === 148 /* Parameter */; + return node.kind === 149 /* Parameter */; } ts.isParameter = isParameter; function isDecorator(node) { - return node.kind === 149 /* Decorator */; + return node.kind === 150 /* Decorator */; } ts.isDecorator = isDecorator; // TypeMember function isPropertySignature(node) { - return node.kind === 150 /* PropertySignature */; + return node.kind === 151 /* PropertySignature */; } ts.isPropertySignature = isPropertySignature; function isPropertyDeclaration(node) { - return node.kind === 151 /* PropertyDeclaration */; + return node.kind === 152 /* PropertyDeclaration */; } ts.isPropertyDeclaration = isPropertyDeclaration; function isMethodSignature(node) { - return node.kind === 152 /* MethodSignature */; + return node.kind === 153 /* MethodSignature */; } ts.isMethodSignature = isMethodSignature; function isMethodDeclaration(node) { - return node.kind === 153 /* MethodDeclaration */; + return node.kind === 154 /* MethodDeclaration */; } ts.isMethodDeclaration = isMethodDeclaration; function isConstructorDeclaration(node) { - return node.kind === 154 /* Constructor */; + return node.kind === 155 /* Constructor */; } ts.isConstructorDeclaration = isConstructorDeclaration; function isGetAccessorDeclaration(node) { - return node.kind === 155 /* GetAccessor */; + return node.kind === 156 /* GetAccessor */; } ts.isGetAccessorDeclaration = isGetAccessorDeclaration; function isSetAccessorDeclaration(node) { - return node.kind === 156 /* SetAccessor */; + return node.kind === 157 /* SetAccessor */; } ts.isSetAccessorDeclaration = isSetAccessorDeclaration; function isCallSignatureDeclaration(node) { - return node.kind === 157 /* CallSignature */; + return node.kind === 158 /* CallSignature */; } ts.isCallSignatureDeclaration = isCallSignatureDeclaration; function isConstructSignatureDeclaration(node) { - return node.kind === 158 /* ConstructSignature */; + return node.kind === 159 /* ConstructSignature */; } ts.isConstructSignatureDeclaration = isConstructSignatureDeclaration; function isIndexSignatureDeclaration(node) { - return node.kind === 159 /* IndexSignature */; + return node.kind === 160 /* IndexSignature */; } ts.isIndexSignatureDeclaration = isIndexSignatureDeclaration; /* @internal */ function isGetOrSetAccessorDeclaration(node) { - return node.kind === 156 /* SetAccessor */ || node.kind === 155 /* GetAccessor */; + return node.kind === 157 /* SetAccessor */ || node.kind === 156 /* GetAccessor */; } ts.isGetOrSetAccessorDeclaration = isGetOrSetAccessorDeclaration; // Type function isTypePredicateNode(node) { - return node.kind === 160 /* TypePredicate */; + return node.kind === 161 /* TypePredicate */; } ts.isTypePredicateNode = isTypePredicateNode; function isTypeReferenceNode(node) { - return node.kind === 161 /* TypeReference */; + return node.kind === 162 /* TypeReference */; } ts.isTypeReferenceNode = isTypeReferenceNode; function isFunctionTypeNode(node) { - return node.kind === 162 /* FunctionType */; + return node.kind === 163 /* FunctionType */; } ts.isFunctionTypeNode = isFunctionTypeNode; function isConstructorTypeNode(node) { - return node.kind === 163 /* ConstructorType */; + return node.kind === 164 /* ConstructorType */; } ts.isConstructorTypeNode = isConstructorTypeNode; function isTypeQueryNode(node) { - return node.kind === 164 /* TypeQuery */; + return node.kind === 165 /* TypeQuery */; } ts.isTypeQueryNode = isTypeQueryNode; function isTypeLiteralNode(node) { - return node.kind === 165 /* TypeLiteral */; + return node.kind === 166 /* TypeLiteral */; } ts.isTypeLiteralNode = isTypeLiteralNode; function isArrayTypeNode(node) { - return node.kind === 166 /* ArrayType */; + return node.kind === 167 /* ArrayType */; } ts.isArrayTypeNode = isArrayTypeNode; function isTupleTypeNode(node) { - return node.kind === 167 /* TupleType */; + return node.kind === 168 /* TupleType */; } ts.isTupleTypeNode = isTupleTypeNode; function isUnionTypeNode(node) { - return node.kind === 168 /* UnionType */; + return node.kind === 169 /* UnionType */; } ts.isUnionTypeNode = isUnionTypeNode; function isIntersectionTypeNode(node) { - return node.kind === 169 /* IntersectionType */; + return node.kind === 170 /* IntersectionType */; } ts.isIntersectionTypeNode = isIntersectionTypeNode; function isConditionalTypeNode(node) { - return node.kind === 170 /* ConditionalType */; + return node.kind === 171 /* ConditionalType */; } ts.isConditionalTypeNode = isConditionalTypeNode; function isInferTypeNode(node) { - return node.kind === 171 /* InferType */; + return node.kind === 172 /* InferType */; } ts.isInferTypeNode = isInferTypeNode; function isParenthesizedTypeNode(node) { - return node.kind === 172 /* ParenthesizedType */; + return node.kind === 173 /* ParenthesizedType */; } ts.isParenthesizedTypeNode = isParenthesizedTypeNode; function isThisTypeNode(node) { - return node.kind === 173 /* ThisType */; + return node.kind === 174 /* ThisType */; } ts.isThisTypeNode = isThisTypeNode; function isTypeOperatorNode(node) { - return node.kind === 174 /* TypeOperator */; + return node.kind === 175 /* TypeOperator */; } ts.isTypeOperatorNode = isTypeOperatorNode; function isIndexedAccessTypeNode(node) { - return node.kind === 175 /* IndexedAccessType */; + return node.kind === 176 /* IndexedAccessType */; } ts.isIndexedAccessTypeNode = isIndexedAccessTypeNode; function isMappedTypeNode(node) { - return node.kind === 176 /* MappedType */; + return node.kind === 177 /* MappedType */; } ts.isMappedTypeNode = isMappedTypeNode; function isLiteralTypeNode(node) { - return node.kind === 177 /* LiteralType */; + return node.kind === 178 /* LiteralType */; } ts.isLiteralTypeNode = isLiteralTypeNode; function isImportTypeNode(node) { - return node.kind === 178 /* ImportType */; + return node.kind === 179 /* ImportType */; } ts.isImportTypeNode = isImportTypeNode; // Binding patterns function isObjectBindingPattern(node) { - return node.kind === 179 /* ObjectBindingPattern */; + return node.kind === 180 /* ObjectBindingPattern */; } ts.isObjectBindingPattern = isObjectBindingPattern; function isArrayBindingPattern(node) { - return node.kind === 180 /* ArrayBindingPattern */; + return node.kind === 181 /* ArrayBindingPattern */; } ts.isArrayBindingPattern = isArrayBindingPattern; function isBindingElement(node) { - return node.kind === 181 /* BindingElement */; + return node.kind === 182 /* BindingElement */; } ts.isBindingElement = isBindingElement; // Expression function isArrayLiteralExpression(node) { - return node.kind === 182 /* ArrayLiteralExpression */; + return node.kind === 183 /* ArrayLiteralExpression */; } ts.isArrayLiteralExpression = isArrayLiteralExpression; function isObjectLiteralExpression(node) { - return node.kind === 183 /* ObjectLiteralExpression */; + return node.kind === 184 /* ObjectLiteralExpression */; } ts.isObjectLiteralExpression = isObjectLiteralExpression; function isPropertyAccessExpression(node) { - return node.kind === 184 /* PropertyAccessExpression */; + return node.kind === 185 /* PropertyAccessExpression */; } ts.isPropertyAccessExpression = isPropertyAccessExpression; function isElementAccessExpression(node) { - return node.kind === 185 /* ElementAccessExpression */; + return node.kind === 186 /* ElementAccessExpression */; } ts.isElementAccessExpression = isElementAccessExpression; function isCallExpression(node) { - return node.kind === 186 /* CallExpression */; + return node.kind === 187 /* CallExpression */; } ts.isCallExpression = isCallExpression; function isNewExpression(node) { - return node.kind === 187 /* NewExpression */; + return node.kind === 188 /* NewExpression */; } ts.isNewExpression = isNewExpression; function isTaggedTemplateExpression(node) { - return node.kind === 188 /* TaggedTemplateExpression */; + return node.kind === 189 /* TaggedTemplateExpression */; } ts.isTaggedTemplateExpression = isTaggedTemplateExpression; function isTypeAssertion(node) { - return node.kind === 189 /* TypeAssertionExpression */; + return node.kind === 190 /* TypeAssertionExpression */; } ts.isTypeAssertion = isTypeAssertion; function isParenthesizedExpression(node) { - return node.kind === 190 /* ParenthesizedExpression */; + return node.kind === 191 /* ParenthesizedExpression */; } ts.isParenthesizedExpression = isParenthesizedExpression; function skipPartiallyEmittedExpressions(node) { - while (node.kind === 300 /* PartiallyEmittedExpression */) { + while (node.kind === 301 /* PartiallyEmittedExpression */) { node = node.expression; } return node; } ts.skipPartiallyEmittedExpressions = skipPartiallyEmittedExpressions; function isFunctionExpression(node) { - return node.kind === 191 /* FunctionExpression */; + return node.kind === 192 /* FunctionExpression */; } ts.isFunctionExpression = isFunctionExpression; function isArrowFunction(node) { - return node.kind === 192 /* ArrowFunction */; + return node.kind === 193 /* ArrowFunction */; } ts.isArrowFunction = isArrowFunction; function isDeleteExpression(node) { - return node.kind === 193 /* DeleteExpression */; + return node.kind === 194 /* DeleteExpression */; } ts.isDeleteExpression = isDeleteExpression; function isTypeOfExpression(node) { - return node.kind === 194 /* TypeOfExpression */; + return node.kind === 195 /* TypeOfExpression */; } ts.isTypeOfExpression = isTypeOfExpression; function isVoidExpression(node) { - return node.kind === 195 /* VoidExpression */; + return node.kind === 196 /* VoidExpression */; } ts.isVoidExpression = isVoidExpression; function isAwaitExpression(node) { - return node.kind === 196 /* AwaitExpression */; + return node.kind === 197 /* AwaitExpression */; } ts.isAwaitExpression = isAwaitExpression; function isPrefixUnaryExpression(node) { - return node.kind === 197 /* PrefixUnaryExpression */; + return node.kind === 198 /* PrefixUnaryExpression */; } ts.isPrefixUnaryExpression = isPrefixUnaryExpression; function isPostfixUnaryExpression(node) { - return node.kind === 198 /* PostfixUnaryExpression */; + return node.kind === 199 /* PostfixUnaryExpression */; } ts.isPostfixUnaryExpression = isPostfixUnaryExpression; function isBinaryExpression(node) { - return node.kind === 199 /* BinaryExpression */; + return node.kind === 200 /* BinaryExpression */; } ts.isBinaryExpression = isBinaryExpression; function isConditionalExpression(node) { - return node.kind === 200 /* ConditionalExpression */; + return node.kind === 201 /* ConditionalExpression */; } ts.isConditionalExpression = isConditionalExpression; function isTemplateExpression(node) { - return node.kind === 201 /* TemplateExpression */; + return node.kind === 202 /* TemplateExpression */; } ts.isTemplateExpression = isTemplateExpression; function isYieldExpression(node) { - return node.kind === 202 /* YieldExpression */; + return node.kind === 203 /* YieldExpression */; } ts.isYieldExpression = isYieldExpression; function isSpreadElement(node) { - return node.kind === 203 /* SpreadElement */; + return node.kind === 204 /* SpreadElement */; } ts.isSpreadElement = isSpreadElement; function isClassExpression(node) { - return node.kind === 204 /* ClassExpression */; + return node.kind === 205 /* ClassExpression */; } ts.isClassExpression = isClassExpression; function isOmittedExpression(node) { - return node.kind === 205 /* OmittedExpression */; + return node.kind === 206 /* OmittedExpression */; } ts.isOmittedExpression = isOmittedExpression; function isExpressionWithTypeArguments(node) { - return node.kind === 206 /* ExpressionWithTypeArguments */; + return node.kind === 207 /* ExpressionWithTypeArguments */; } ts.isExpressionWithTypeArguments = isExpressionWithTypeArguments; function isAsExpression(node) { - return node.kind === 207 /* AsExpression */; + return node.kind === 208 /* AsExpression */; } ts.isAsExpression = isAsExpression; function isNonNullExpression(node) { - return node.kind === 208 /* NonNullExpression */; + return node.kind === 209 /* NonNullExpression */; } ts.isNonNullExpression = isNonNullExpression; function isMetaProperty(node) { - return node.kind === 209 /* MetaProperty */; + return node.kind === 210 /* MetaProperty */; } ts.isMetaProperty = isMetaProperty; // Misc function isTemplateSpan(node) { - return node.kind === 210 /* TemplateSpan */; + return node.kind === 211 /* TemplateSpan */; } ts.isTemplateSpan = isTemplateSpan; function isSemicolonClassElement(node) { - return node.kind === 211 /* SemicolonClassElement */; + return node.kind === 212 /* SemicolonClassElement */; } ts.isSemicolonClassElement = isSemicolonClassElement; // Block function isBlock(node) { - return node.kind === 212 /* Block */; + return node.kind === 213 /* Block */; } ts.isBlock = isBlock; function isVariableStatement(node) { - return node.kind === 213 /* VariableStatement */; + return node.kind === 214 /* VariableStatement */; } ts.isVariableStatement = isVariableStatement; function isEmptyStatement(node) { - return node.kind === 214 /* EmptyStatement */; + return node.kind === 215 /* EmptyStatement */; } ts.isEmptyStatement = isEmptyStatement; function isExpressionStatement(node) { - return node.kind === 215 /* ExpressionStatement */; + return node.kind === 216 /* ExpressionStatement */; } ts.isExpressionStatement = isExpressionStatement; function isIfStatement(node) { - return node.kind === 216 /* IfStatement */; + return node.kind === 217 /* IfStatement */; } ts.isIfStatement = isIfStatement; function isDoStatement(node) { - return node.kind === 217 /* DoStatement */; + return node.kind === 218 /* DoStatement */; } ts.isDoStatement = isDoStatement; function isWhileStatement(node) { - return node.kind === 218 /* WhileStatement */; + return node.kind === 219 /* WhileStatement */; } ts.isWhileStatement = isWhileStatement; function isForStatement(node) { - return node.kind === 219 /* ForStatement */; + return node.kind === 220 /* ForStatement */; } ts.isForStatement = isForStatement; function isForInStatement(node) { - return node.kind === 220 /* ForInStatement */; + return node.kind === 221 /* ForInStatement */; } ts.isForInStatement = isForInStatement; function isForOfStatement(node) { - return node.kind === 221 /* ForOfStatement */; + return node.kind === 222 /* ForOfStatement */; } ts.isForOfStatement = isForOfStatement; function isContinueStatement(node) { - return node.kind === 222 /* ContinueStatement */; + return node.kind === 223 /* ContinueStatement */; } ts.isContinueStatement = isContinueStatement; function isBreakStatement(node) { - return node.kind === 223 /* BreakStatement */; + return node.kind === 224 /* BreakStatement */; } ts.isBreakStatement = isBreakStatement; function isBreakOrContinueStatement(node) { - return node.kind === 223 /* BreakStatement */ || node.kind === 222 /* ContinueStatement */; + return node.kind === 224 /* BreakStatement */ || node.kind === 223 /* ContinueStatement */; } ts.isBreakOrContinueStatement = isBreakOrContinueStatement; function isReturnStatement(node) { - return node.kind === 224 /* ReturnStatement */; + return node.kind === 225 /* ReturnStatement */; } ts.isReturnStatement = isReturnStatement; function isWithStatement(node) { - return node.kind === 225 /* WithStatement */; + return node.kind === 226 /* WithStatement */; } ts.isWithStatement = isWithStatement; function isSwitchStatement(node) { - return node.kind === 226 /* SwitchStatement */; + return node.kind === 227 /* SwitchStatement */; } ts.isSwitchStatement = isSwitchStatement; function isLabeledStatement(node) { - return node.kind === 227 /* LabeledStatement */; + return node.kind === 228 /* LabeledStatement */; } ts.isLabeledStatement = isLabeledStatement; function isThrowStatement(node) { - return node.kind === 228 /* ThrowStatement */; + return node.kind === 229 /* ThrowStatement */; } ts.isThrowStatement = isThrowStatement; function isTryStatement(node) { - return node.kind === 229 /* TryStatement */; + return node.kind === 230 /* TryStatement */; } ts.isTryStatement = isTryStatement; function isDebuggerStatement(node) { - return node.kind === 230 /* DebuggerStatement */; + return node.kind === 231 /* DebuggerStatement */; } ts.isDebuggerStatement = isDebuggerStatement; function isVariableDeclaration(node) { - return node.kind === 231 /* VariableDeclaration */; + return node.kind === 232 /* VariableDeclaration */; } ts.isVariableDeclaration = isVariableDeclaration; function isVariableDeclarationList(node) { - return node.kind === 232 /* VariableDeclarationList */; + return node.kind === 233 /* VariableDeclarationList */; } ts.isVariableDeclarationList = isVariableDeclarationList; function isFunctionDeclaration(node) { - return node.kind === 233 /* FunctionDeclaration */; + return node.kind === 234 /* FunctionDeclaration */; } ts.isFunctionDeclaration = isFunctionDeclaration; function isClassDeclaration(node) { - return node.kind === 234 /* ClassDeclaration */; + return node.kind === 235 /* ClassDeclaration */; } ts.isClassDeclaration = isClassDeclaration; function isInterfaceDeclaration(node) { - return node.kind === 235 /* InterfaceDeclaration */; + return node.kind === 236 /* InterfaceDeclaration */; } ts.isInterfaceDeclaration = isInterfaceDeclaration; function isTypeAliasDeclaration(node) { - return node.kind === 236 /* TypeAliasDeclaration */; + return node.kind === 237 /* TypeAliasDeclaration */; } ts.isTypeAliasDeclaration = isTypeAliasDeclaration; function isEnumDeclaration(node) { - return node.kind === 237 /* EnumDeclaration */; + return node.kind === 238 /* EnumDeclaration */; } ts.isEnumDeclaration = isEnumDeclaration; function isModuleDeclaration(node) { - return node.kind === 238 /* ModuleDeclaration */; + return node.kind === 239 /* ModuleDeclaration */; } ts.isModuleDeclaration = isModuleDeclaration; function isModuleBlock(node) { - return node.kind === 239 /* ModuleBlock */; + return node.kind === 240 /* ModuleBlock */; } ts.isModuleBlock = isModuleBlock; function isCaseBlock(node) { - return node.kind === 240 /* CaseBlock */; + return node.kind === 241 /* CaseBlock */; } ts.isCaseBlock = isCaseBlock; function isNamespaceExportDeclaration(node) { - return node.kind === 241 /* NamespaceExportDeclaration */; + return node.kind === 242 /* NamespaceExportDeclaration */; } ts.isNamespaceExportDeclaration = isNamespaceExportDeclaration; function isImportEqualsDeclaration(node) { - return node.kind === 242 /* ImportEqualsDeclaration */; + return node.kind === 243 /* ImportEqualsDeclaration */; } ts.isImportEqualsDeclaration = isImportEqualsDeclaration; function isImportDeclaration(node) { - return node.kind === 243 /* ImportDeclaration */; + return node.kind === 244 /* ImportDeclaration */; } ts.isImportDeclaration = isImportDeclaration; function isImportClause(node) { - return node.kind === 244 /* ImportClause */; + return node.kind === 245 /* ImportClause */; } ts.isImportClause = isImportClause; function isNamespaceImport(node) { - return node.kind === 245 /* NamespaceImport */; + return node.kind === 246 /* NamespaceImport */; } ts.isNamespaceImport = isNamespaceImport; function isNamedImports(node) { - return node.kind === 246 /* NamedImports */; + return node.kind === 247 /* NamedImports */; } ts.isNamedImports = isNamedImports; function isImportSpecifier(node) { - return node.kind === 247 /* ImportSpecifier */; + return node.kind === 248 /* ImportSpecifier */; } ts.isImportSpecifier = isImportSpecifier; function isExportAssignment(node) { - return node.kind === 248 /* ExportAssignment */; + return node.kind === 249 /* ExportAssignment */; } ts.isExportAssignment = isExportAssignment; function isExportDeclaration(node) { - return node.kind === 249 /* ExportDeclaration */; + return node.kind === 250 /* ExportDeclaration */; } ts.isExportDeclaration = isExportDeclaration; function isNamedExports(node) { - return node.kind === 250 /* NamedExports */; + return node.kind === 251 /* NamedExports */; } ts.isNamedExports = isNamedExports; function isExportSpecifier(node) { - return node.kind === 251 /* ExportSpecifier */; + return node.kind === 252 /* ExportSpecifier */; } ts.isExportSpecifier = isExportSpecifier; function isMissingDeclaration(node) { - return node.kind === 252 /* MissingDeclaration */; + return node.kind === 253 /* MissingDeclaration */; } ts.isMissingDeclaration = isMissingDeclaration; // Module References function isExternalModuleReference(node) { - return node.kind === 253 /* ExternalModuleReference */; + return node.kind === 254 /* ExternalModuleReference */; } ts.isExternalModuleReference = isExternalModuleReference; // JSX function isJsxElement(node) { - return node.kind === 254 /* JsxElement */; + return node.kind === 255 /* JsxElement */; } ts.isJsxElement = isJsxElement; function isJsxSelfClosingElement(node) { - return node.kind === 255 /* JsxSelfClosingElement */; + return node.kind === 256 /* JsxSelfClosingElement */; } ts.isJsxSelfClosingElement = isJsxSelfClosingElement; function isJsxOpeningElement(node) { - return node.kind === 256 /* JsxOpeningElement */; + return node.kind === 257 /* JsxOpeningElement */; } ts.isJsxOpeningElement = isJsxOpeningElement; function isJsxClosingElement(node) { - return node.kind === 257 /* JsxClosingElement */; + return node.kind === 258 /* JsxClosingElement */; } ts.isJsxClosingElement = isJsxClosingElement; function isJsxFragment(node) { - return node.kind === 258 /* JsxFragment */; + return node.kind === 259 /* JsxFragment */; } ts.isJsxFragment = isJsxFragment; function isJsxOpeningFragment(node) { - return node.kind === 259 /* JsxOpeningFragment */; + return node.kind === 260 /* JsxOpeningFragment */; } ts.isJsxOpeningFragment = isJsxOpeningFragment; function isJsxClosingFragment(node) { - return node.kind === 260 /* JsxClosingFragment */; + return node.kind === 261 /* JsxClosingFragment */; } ts.isJsxClosingFragment = isJsxClosingFragment; function isJsxAttribute(node) { - return node.kind === 261 /* JsxAttribute */; + return node.kind === 262 /* JsxAttribute */; } ts.isJsxAttribute = isJsxAttribute; function isJsxAttributes(node) { - return node.kind === 262 /* JsxAttributes */; + return node.kind === 263 /* JsxAttributes */; } ts.isJsxAttributes = isJsxAttributes; function isJsxSpreadAttribute(node) { - return node.kind === 263 /* JsxSpreadAttribute */; + return node.kind === 264 /* JsxSpreadAttribute */; } ts.isJsxSpreadAttribute = isJsxSpreadAttribute; function isJsxExpression(node) { - return node.kind === 264 /* JsxExpression */; + return node.kind === 265 /* JsxExpression */; } ts.isJsxExpression = isJsxExpression; // Clauses function isCaseClause(node) { - return node.kind === 265 /* CaseClause */; + return node.kind === 266 /* CaseClause */; } ts.isCaseClause = isCaseClause; function isDefaultClause(node) { - return node.kind === 266 /* DefaultClause */; + return node.kind === 267 /* DefaultClause */; } ts.isDefaultClause = isDefaultClause; function isHeritageClause(node) { - return node.kind === 267 /* HeritageClause */; + return node.kind === 268 /* HeritageClause */; } ts.isHeritageClause = isHeritageClause; function isCatchClause(node) { - return node.kind === 268 /* CatchClause */; + return node.kind === 269 /* CatchClause */; } ts.isCatchClause = isCatchClause; // Property assignments function isPropertyAssignment(node) { - return node.kind === 269 /* PropertyAssignment */; + return node.kind === 270 /* PropertyAssignment */; } ts.isPropertyAssignment = isPropertyAssignment; function isShorthandPropertyAssignment(node) { - return node.kind === 270 /* ShorthandPropertyAssignment */; + return node.kind === 271 /* ShorthandPropertyAssignment */; } ts.isShorthandPropertyAssignment = isShorthandPropertyAssignment; function isSpreadAssignment(node) { - return node.kind === 271 /* SpreadAssignment */; + return node.kind === 272 /* SpreadAssignment */; } ts.isSpreadAssignment = isSpreadAssignment; // Enum function isEnumMember(node) { - return node.kind === 272 /* EnumMember */; + return node.kind === 273 /* EnumMember */; } ts.isEnumMember = isEnumMember; // Top-level nodes function isSourceFile(node) { - return node.kind === 273 /* SourceFile */; + return node.kind === 274 /* SourceFile */; } ts.isSourceFile = isSourceFile; function isBundle(node) { - return node.kind === 274 /* Bundle */; + return node.kind === 275 /* Bundle */; } ts.isBundle = isBundle; // JSDoc function isJSDocTypeExpression(node) { - return node.kind === 277 /* JSDocTypeExpression */; + return node.kind === 278 /* JSDocTypeExpression */; } ts.isJSDocTypeExpression = isJSDocTypeExpression; function isJSDocAllType(node) { - return node.kind === 278 /* JSDocAllType */; + return node.kind === 279 /* JSDocAllType */; } ts.isJSDocAllType = isJSDocAllType; function isJSDocUnknownType(node) { - return node.kind === 279 /* JSDocUnknownType */; + return node.kind === 280 /* JSDocUnknownType */; } ts.isJSDocUnknownType = isJSDocUnknownType; function isJSDocNullableType(node) { - return node.kind === 280 /* JSDocNullableType */; + return node.kind === 281 /* JSDocNullableType */; } ts.isJSDocNullableType = isJSDocNullableType; function isJSDocNonNullableType(node) { - return node.kind === 281 /* JSDocNonNullableType */; + return node.kind === 282 /* JSDocNonNullableType */; } ts.isJSDocNonNullableType = isJSDocNonNullableType; function isJSDocOptionalType(node) { - return node.kind === 282 /* JSDocOptionalType */; + return node.kind === 283 /* JSDocOptionalType */; } ts.isJSDocOptionalType = isJSDocOptionalType; function isJSDocFunctionType(node) { - return node.kind === 283 /* JSDocFunctionType */; + return node.kind === 284 /* JSDocFunctionType */; } ts.isJSDocFunctionType = isJSDocFunctionType; function isJSDocVariadicType(node) { - return node.kind === 284 /* JSDocVariadicType */; + return node.kind === 285 /* JSDocVariadicType */; } ts.isJSDocVariadicType = isJSDocVariadicType; function isJSDoc(node) { - return node.kind === 285 /* JSDocComment */; + return node.kind === 286 /* JSDocComment */; } ts.isJSDoc = isJSDoc; function isJSDocAugmentsTag(node) { - return node.kind === 289 /* JSDocAugmentsTag */; + return node.kind === 290 /* JSDocAugmentsTag */; } ts.isJSDocAugmentsTag = isJSDocAugmentsTag; function isJSDocClassTag(node) { - return node.kind === 290 /* JSDocClassTag */; + return node.kind === 291 /* JSDocClassTag */; } ts.isJSDocClassTag = isJSDocClassTag; function isJSDocParameterTag(node) { - return node.kind === 292 /* JSDocParameterTag */; + return node.kind === 293 /* JSDocParameterTag */; } ts.isJSDocParameterTag = isJSDocParameterTag; function isJSDocReturnTag(node) { - return node.kind === 293 /* JSDocReturnTag */; + return node.kind === 294 /* JSDocReturnTag */; } ts.isJSDocReturnTag = isJSDocReturnTag; function isJSDocTypeTag(node) { - return node.kind === 294 /* JSDocTypeTag */; + return node.kind === 295 /* JSDocTypeTag */; } ts.isJSDocTypeTag = isJSDocTypeTag; function isJSDocTemplateTag(node) { - return node.kind === 295 /* JSDocTemplateTag */; + return node.kind === 296 /* JSDocTemplateTag */; } ts.isJSDocTemplateTag = isJSDocTemplateTag; function isJSDocTypedefTag(node) { - return node.kind === 296 /* JSDocTypedefTag */; + return node.kind === 297 /* JSDocTypedefTag */; } ts.isJSDocTypedefTag = isJSDocTypedefTag; function isJSDocPropertyTag(node) { - return node.kind === 297 /* JSDocPropertyTag */; + return node.kind === 298 /* JSDocPropertyTag */; } ts.isJSDocPropertyTag = isJSDocPropertyTag; function isJSDocPropertyLikeTag(node) { - return node.kind === 297 /* JSDocPropertyTag */ || node.kind === 292 /* JSDocParameterTag */; + return node.kind === 298 /* JSDocPropertyTag */ || node.kind === 293 /* JSDocParameterTag */; } ts.isJSDocPropertyLikeTag = isJSDocPropertyLikeTag; function isJSDocTypeLiteral(node) { - return node.kind === 286 /* JSDocTypeLiteral */; + return node.kind === 287 /* JSDocTypeLiteral */; } ts.isJSDocTypeLiteral = isJSDocTypeLiteral; function isJSDocCallbackTag(node) { - return node.kind === 291 /* JSDocCallbackTag */; + return node.kind === 292 /* JSDocCallbackTag */; } ts.isJSDocCallbackTag = isJSDocCallbackTag; function isJSDocSignature(node) { - return node.kind === 287 /* JSDocSignature */; + return node.kind === 288 /* JSDocSignature */; } ts.isJSDocSignature = isJSDocSignature; })(ts || (ts = {})); @@ -13855,7 +13903,7 @@ var ts; (function (ts) { /* @internal */ function isSyntaxList(n) { - return n.kind === 298 /* SyntaxList */; + return n.kind === 299 /* SyntaxList */; } ts.isSyntaxList = isSyntaxList; /* @internal */ @@ -13865,7 +13913,7 @@ var ts; ts.isNode = isNode; /* @internal */ function isNodeKind(kind) { - return kind >= 145 /* FirstNode */; + return kind >= 146 /* FirstNode */; } ts.isNodeKind = isNodeKind; /** @@ -13874,7 +13922,7 @@ var ts; * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail. */ function isToken(n) { - return n.kind >= 0 /* FirstToken */ && n.kind <= 144 /* LastToken */; + return n.kind >= 0 /* FirstToken */ && n.kind <= 145 /* LastToken */; } ts.isToken = isToken; // Node Arrays @@ -13899,6 +13947,10 @@ var ts; return 13 /* FirstTemplateToken */ <= kind && kind <= 16 /* LastTemplateToken */; } ts.isTemplateLiteralKind = isTemplateLiteralKind; + function isTemplateLiteralToken(node) { + return isTemplateLiteralKind(node.kind); + } + ts.isTemplateLiteralToken = isTemplateLiteralToken; function isTemplateMiddleOrTemplateTail(node) { var kind = node.kind; return kind === 15 /* TemplateMiddle */ @@ -13912,7 +13964,6 @@ var ts; // Identifiers /* @internal */ function isGeneratedIdentifier(node) { - // Using `>` here catches both `GeneratedIdentifierKind.None` and `undefined`. return ts.isIdentifier(node) && (node.autoGenerateFlags & 7 /* KindMask */) > 0 /* None */; } ts.isGeneratedIdentifier = isGeneratedIdentifier; @@ -13952,7 +14003,7 @@ var ts; ts.isModifier = isModifier; function isEntityName(node) { var kind = node.kind; - return kind === 145 /* QualifiedName */ + return kind === 146 /* QualifiedName */ || kind === 71 /* Identifier */; } ts.isEntityName = isEntityName; @@ -13961,14 +14012,14 @@ var ts; return kind === 71 /* Identifier */ || kind === 9 /* StringLiteral */ || kind === 8 /* NumericLiteral */ - || kind === 146 /* ComputedPropertyName */; + || kind === 147 /* ComputedPropertyName */; } ts.isPropertyName = isPropertyName; function isBindingName(node) { var kind = node.kind; return kind === 71 /* Identifier */ - || kind === 179 /* ObjectBindingPattern */ - || kind === 180 /* ArrayBindingPattern */; + || kind === 180 /* ObjectBindingPattern */ + || kind === 181 /* ArrayBindingPattern */; } ts.isBindingName = isBindingName; // Functions @@ -13983,13 +14034,13 @@ var ts; ts.isFunctionLikeDeclaration = isFunctionLikeDeclaration; function isFunctionLikeDeclarationKind(kind) { switch (kind) { - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return true; default: return false; @@ -13998,14 +14049,14 @@ var ts; /* @internal */ function isFunctionLikeKind(kind) { switch (kind) { - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 287 /* JSDocSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 162 /* FunctionType */: - case 283 /* JSDocFunctionType */: - case 163 /* ConstructorType */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 288 /* JSDocSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 163 /* FunctionType */: + case 284 /* JSDocFunctionType */: + case 164 /* ConstructorType */: return true; default: return isFunctionLikeDeclarationKind(kind); @@ -14020,29 +14071,29 @@ var ts; // Classes function isClassElement(node) { var kind = node.kind; - return kind === 154 /* Constructor */ - || kind === 151 /* PropertyDeclaration */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */ - || kind === 159 /* IndexSignature */ - || kind === 211 /* SemicolonClassElement */; + return kind === 155 /* Constructor */ + || kind === 152 /* PropertyDeclaration */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */ + || kind === 160 /* IndexSignature */ + || kind === 212 /* SemicolonClassElement */; } ts.isClassElement = isClassElement; function isClassLike(node) { - return node && (node.kind === 234 /* ClassDeclaration */ || node.kind === 204 /* ClassExpression */); + return node && (node.kind === 235 /* ClassDeclaration */ || node.kind === 205 /* ClassExpression */); } ts.isClassLike = isClassLike; function isAccessor(node) { - return node && (node.kind === 155 /* GetAccessor */ || node.kind === 156 /* SetAccessor */); + return node && (node.kind === 156 /* GetAccessor */ || node.kind === 157 /* SetAccessor */); } ts.isAccessor = isAccessor; /* @internal */ function isMethodOrAccessor(node) { switch (node.kind) { - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return true; default: return false; @@ -14052,11 +14103,11 @@ var ts; // Type members function isTypeElement(node) { var kind = node.kind; - return kind === 158 /* ConstructSignature */ - || kind === 157 /* CallSignature */ - || kind === 150 /* PropertySignature */ - || kind === 152 /* MethodSignature */ - || kind === 159 /* IndexSignature */; + return kind === 159 /* ConstructSignature */ + || kind === 158 /* CallSignature */ + || kind === 151 /* PropertySignature */ + || kind === 153 /* MethodSignature */ + || kind === 160 /* IndexSignature */; } ts.isTypeElement = isTypeElement; function isClassOrTypeElement(node) { @@ -14065,18 +14116,19 @@ var ts; ts.isClassOrTypeElement = isClassOrTypeElement; function isObjectLiteralElementLike(node) { var kind = node.kind; - return kind === 269 /* PropertyAssignment */ - || kind === 270 /* ShorthandPropertyAssignment */ - || kind === 271 /* SpreadAssignment */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */; + return kind === 270 /* PropertyAssignment */ + || kind === 271 /* ShorthandPropertyAssignment */ + || kind === 272 /* SpreadAssignment */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */; } ts.isObjectLiteralElementLike = isObjectLiteralElementLike; // Type function isTypeNodeKind(kind) { - return (kind >= 160 /* FirstTypeNode */ && kind <= 178 /* LastTypeNode */) + return (kind >= 161 /* FirstTypeNode */ && kind <= 179 /* LastTypeNode */) || kind === 119 /* AnyKeyword */ + || kind === 142 /* UnknownKeyword */ || kind === 134 /* NumberKeyword */ || kind === 135 /* ObjectKeyword */ || kind === 122 /* BooleanKeyword */ @@ -14087,14 +14139,14 @@ var ts; || kind === 140 /* UndefinedKeyword */ || kind === 95 /* NullKeyword */ || kind === 131 /* NeverKeyword */ - || kind === 206 /* ExpressionWithTypeArguments */ - || kind === 278 /* JSDocAllType */ - || kind === 279 /* JSDocUnknownType */ - || kind === 280 /* JSDocNullableType */ - || kind === 281 /* JSDocNonNullableType */ - || kind === 282 /* JSDocOptionalType */ - || kind === 283 /* JSDocFunctionType */ - || kind === 284 /* JSDocVariadicType */; + || kind === 207 /* ExpressionWithTypeArguments */ + || kind === 279 /* JSDocAllType */ + || kind === 280 /* JSDocUnknownType */ + || kind === 281 /* JSDocNullableType */ + || kind === 282 /* JSDocNonNullableType */ + || kind === 283 /* JSDocOptionalType */ + || kind === 284 /* JSDocFunctionType */ + || kind === 285 /* JSDocVariadicType */; } /** * Node test that determines whether a node is a valid type node. @@ -14107,8 +14159,8 @@ var ts; ts.isTypeNode = isTypeNode; function isFunctionOrConstructorTypeNode(node) { switch (node.kind) { - case 162 /* FunctionType */: - case 163 /* ConstructorType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: return true; } return false; @@ -14119,8 +14171,8 @@ var ts; function isBindingPattern(node) { if (node) { var kind = node.kind; - return kind === 180 /* ArrayBindingPattern */ - || kind === 179 /* ObjectBindingPattern */; + return kind === 181 /* ArrayBindingPattern */ + || kind === 180 /* ObjectBindingPattern */; } return false; } @@ -14128,15 +14180,15 @@ var ts; /* @internal */ function isAssignmentPattern(node) { var kind = node.kind; - return kind === 182 /* ArrayLiteralExpression */ - || kind === 183 /* ObjectLiteralExpression */; + return kind === 183 /* ArrayLiteralExpression */ + || kind === 184 /* ObjectLiteralExpression */; } ts.isAssignmentPattern = isAssignmentPattern; /* @internal */ function isArrayBindingElement(node) { var kind = node.kind; - return kind === 181 /* BindingElement */ - || kind === 205 /* OmittedExpression */; + return kind === 182 /* BindingElement */ + || kind === 206 /* OmittedExpression */; } ts.isArrayBindingElement = isArrayBindingElement; /** @@ -14145,9 +14197,9 @@ var ts; /* @internal */ function isDeclarationBindingElement(bindingElement) { switch (bindingElement.kind) { - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: - case 181 /* BindingElement */: + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: + case 182 /* BindingElement */: return true; } return false; @@ -14168,8 +14220,8 @@ var ts; /* @internal */ function isObjectBindingOrAssignmentPattern(node) { switch (node.kind) { - case 179 /* ObjectBindingPattern */: - case 183 /* ObjectLiteralExpression */: + case 180 /* ObjectBindingPattern */: + case 184 /* ObjectLiteralExpression */: return true; } return false; @@ -14181,8 +14233,8 @@ var ts; /* @internal */ function isArrayBindingOrAssignmentPattern(node) { switch (node.kind) { - case 180 /* ArrayBindingPattern */: - case 182 /* ArrayLiteralExpression */: + case 181 /* ArrayBindingPattern */: + case 183 /* ArrayLiteralExpression */: return true; } return false; @@ -14191,26 +14243,26 @@ var ts; /* @internal */ function isPropertyAccessOrQualifiedNameOrImportTypeNode(node) { var kind = node.kind; - return kind === 184 /* PropertyAccessExpression */ - || kind === 145 /* QualifiedName */ - || kind === 178 /* ImportType */; + return kind === 185 /* PropertyAccessExpression */ + || kind === 146 /* QualifiedName */ + || kind === 179 /* ImportType */; } ts.isPropertyAccessOrQualifiedNameOrImportTypeNode = isPropertyAccessOrQualifiedNameOrImportTypeNode; // Expression function isPropertyAccessOrQualifiedName(node) { var kind = node.kind; - return kind === 184 /* PropertyAccessExpression */ - || kind === 145 /* QualifiedName */; + return kind === 185 /* PropertyAccessExpression */ + || kind === 146 /* QualifiedName */; } ts.isPropertyAccessOrQualifiedName = isPropertyAccessOrQualifiedName; function isCallLikeExpression(node) { switch (node.kind) { - case 256 /* JsxOpeningElement */: - case 255 /* JsxSelfClosingElement */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 188 /* TaggedTemplateExpression */: - case 149 /* Decorator */: + case 257 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 189 /* TaggedTemplateExpression */: + case 150 /* Decorator */: return true; default: return false; @@ -14218,12 +14270,12 @@ var ts; } ts.isCallLikeExpression = isCallLikeExpression; function isCallOrNewExpression(node) { - return node.kind === 186 /* CallExpression */ || node.kind === 187 /* NewExpression */; + return node.kind === 187 /* CallExpression */ || node.kind === 188 /* NewExpression */; } ts.isCallOrNewExpression = isCallOrNewExpression; function isTemplateLiteral(node) { var kind = node.kind; - return kind === 201 /* TemplateExpression */ + return kind === 202 /* TemplateExpression */ || kind === 13 /* NoSubstitutionTemplateLiteral */; } ts.isTemplateLiteral = isTemplateLiteral; @@ -14234,32 +14286,32 @@ var ts; ts.isLeftHandSideExpression = isLeftHandSideExpression; function isLeftHandSideExpressionKind(kind) { switch (kind) { - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: - case 187 /* NewExpression */: - case 186 /* CallExpression */: - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: - case 258 /* JsxFragment */: - case 188 /* TaggedTemplateExpression */: - case 182 /* ArrayLiteralExpression */: - case 190 /* ParenthesizedExpression */: - case 183 /* ObjectLiteralExpression */: - case 204 /* ClassExpression */: - case 191 /* FunctionExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: + case 188 /* NewExpression */: + case 187 /* CallExpression */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: + case 259 /* JsxFragment */: + case 189 /* TaggedTemplateExpression */: + case 183 /* ArrayLiteralExpression */: + case 191 /* ParenthesizedExpression */: + case 184 /* ObjectLiteralExpression */: + case 205 /* ClassExpression */: + case 192 /* FunctionExpression */: case 71 /* Identifier */: case 12 /* RegularExpressionLiteral */: case 8 /* NumericLiteral */: case 9 /* StringLiteral */: case 13 /* NoSubstitutionTemplateLiteral */: - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: case 86 /* FalseKeyword */: case 95 /* NullKeyword */: case 99 /* ThisKeyword */: case 101 /* TrueKeyword */: case 97 /* SuperKeyword */: - case 208 /* NonNullExpression */: - case 209 /* MetaProperty */: + case 209 /* NonNullExpression */: + case 210 /* MetaProperty */: case 91 /* ImportKeyword */: // technically this is only an Expression if it's in a CallExpression return true; default: @@ -14273,13 +14325,13 @@ var ts; ts.isUnaryExpression = isUnaryExpression; function isUnaryExpressionKind(kind) { switch (kind) { - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: - case 193 /* DeleteExpression */: - case 194 /* TypeOfExpression */: - case 195 /* VoidExpression */: - case 196 /* AwaitExpression */: - case 189 /* TypeAssertionExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: + case 194 /* DeleteExpression */: + case 195 /* TypeOfExpression */: + case 196 /* VoidExpression */: + case 197 /* AwaitExpression */: + case 190 /* TypeAssertionExpression */: return true; default: return isLeftHandSideExpressionKind(kind); @@ -14288,9 +14340,9 @@ var ts; /* @internal */ function isUnaryExpressionWithWrite(expr) { switch (expr.kind) { - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return true; - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return expr.operator === 43 /* PlusPlusToken */ || expr.operator === 44 /* MinusMinusToken */; default: @@ -14309,15 +14361,15 @@ var ts; ts.isExpression = isExpression; function isExpressionKind(kind) { switch (kind) { - case 200 /* ConditionalExpression */: - case 202 /* YieldExpression */: - case 192 /* ArrowFunction */: - case 199 /* BinaryExpression */: - case 203 /* SpreadElement */: - case 207 /* AsExpression */: - case 205 /* OmittedExpression */: - case 301 /* CommaListExpression */: - case 300 /* PartiallyEmittedExpression */: + case 201 /* ConditionalExpression */: + case 203 /* YieldExpression */: + case 193 /* ArrowFunction */: + case 200 /* BinaryExpression */: + case 204 /* SpreadElement */: + case 208 /* AsExpression */: + case 206 /* OmittedExpression */: + case 302 /* CommaListExpression */: + case 301 /* PartiallyEmittedExpression */: return true; default: return isUnaryExpressionKind(kind); @@ -14325,18 +14377,18 @@ var ts; } function isAssertionExpression(node) { var kind = node.kind; - return kind === 189 /* TypeAssertionExpression */ - || kind === 207 /* AsExpression */; + return kind === 190 /* TypeAssertionExpression */ + || kind === 208 /* AsExpression */; } ts.isAssertionExpression = isAssertionExpression; /* @internal */ function isPartiallyEmittedExpression(node) { - return node.kind === 300 /* PartiallyEmittedExpression */; + return node.kind === 301 /* PartiallyEmittedExpression */; } ts.isPartiallyEmittedExpression = isPartiallyEmittedExpression; /* @internal */ function isNotEmittedStatement(node) { - return node.kind === 299 /* NotEmittedStatement */; + return node.kind === 300 /* NotEmittedStatement */; } ts.isNotEmittedStatement = isNotEmittedStatement; /* @internal */ @@ -14347,13 +14399,13 @@ var ts; ts.isNotEmittedOrPartiallyEmittedNode = isNotEmittedOrPartiallyEmittedNode; function isIterationStatement(node, lookInLabeledStatements) { switch (node.kind) { - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: return true; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return lookInLabeledStatements && isIterationStatement(node.statement, lookInLabeledStatements); } return false; @@ -14361,7 +14413,7 @@ var ts; ts.isIterationStatement = isIterationStatement; /* @internal */ function isForInOrOfStatement(node) { - return node.kind === 220 /* ForInStatement */ || node.kind === 221 /* ForOfStatement */; + return node.kind === 221 /* ForInStatement */ || node.kind === 222 /* ForOfStatement */; } ts.isForInOrOfStatement = isForInOrOfStatement; // Element @@ -14385,113 +14437,113 @@ var ts; /* @internal */ function isModuleBody(node) { var kind = node.kind; - return kind === 239 /* ModuleBlock */ - || kind === 238 /* ModuleDeclaration */ + return kind === 240 /* ModuleBlock */ + || kind === 239 /* ModuleDeclaration */ || kind === 71 /* Identifier */; } ts.isModuleBody = isModuleBody; /* @internal */ function isNamespaceBody(node) { var kind = node.kind; - return kind === 239 /* ModuleBlock */ - || kind === 238 /* ModuleDeclaration */; + return kind === 240 /* ModuleBlock */ + || kind === 239 /* ModuleDeclaration */; } ts.isNamespaceBody = isNamespaceBody; /* @internal */ function isJSDocNamespaceBody(node) { var kind = node.kind; return kind === 71 /* Identifier */ - || kind === 238 /* ModuleDeclaration */; + || kind === 239 /* ModuleDeclaration */; } ts.isJSDocNamespaceBody = isJSDocNamespaceBody; /* @internal */ function isNamedImportBindings(node) { var kind = node.kind; - return kind === 246 /* NamedImports */ - || kind === 245 /* NamespaceImport */; + return kind === 247 /* NamedImports */ + || kind === 246 /* NamespaceImport */; } ts.isNamedImportBindings = isNamedImportBindings; /* @internal */ function isModuleOrEnumDeclaration(node) { - return node.kind === 238 /* ModuleDeclaration */ || node.kind === 237 /* EnumDeclaration */; + return node.kind === 239 /* ModuleDeclaration */ || node.kind === 238 /* EnumDeclaration */; } ts.isModuleOrEnumDeclaration = isModuleOrEnumDeclaration; function isDeclarationKind(kind) { - return kind === 192 /* ArrowFunction */ - || kind === 181 /* BindingElement */ - || kind === 234 /* ClassDeclaration */ - || kind === 204 /* ClassExpression */ - || kind === 154 /* Constructor */ - || kind === 237 /* EnumDeclaration */ - || kind === 272 /* EnumMember */ - || kind === 251 /* ExportSpecifier */ - || kind === 233 /* FunctionDeclaration */ - || kind === 191 /* FunctionExpression */ - || kind === 155 /* GetAccessor */ - || kind === 244 /* ImportClause */ - || kind === 242 /* ImportEqualsDeclaration */ - || kind === 247 /* ImportSpecifier */ - || kind === 235 /* InterfaceDeclaration */ - || kind === 261 /* JsxAttribute */ - || kind === 153 /* MethodDeclaration */ - || kind === 152 /* MethodSignature */ - || kind === 238 /* ModuleDeclaration */ - || kind === 241 /* NamespaceExportDeclaration */ - || kind === 245 /* NamespaceImport */ - || kind === 148 /* Parameter */ - || kind === 269 /* PropertyAssignment */ - || kind === 151 /* PropertyDeclaration */ - || kind === 150 /* PropertySignature */ - || kind === 156 /* SetAccessor */ - || kind === 270 /* ShorthandPropertyAssignment */ - || kind === 236 /* TypeAliasDeclaration */ - || kind === 147 /* TypeParameter */ - || kind === 231 /* VariableDeclaration */ - || kind === 296 /* JSDocTypedefTag */ - || kind === 291 /* JSDocCallbackTag */ - || kind === 297 /* JSDocPropertyTag */; + return kind === 193 /* ArrowFunction */ + || kind === 182 /* BindingElement */ + || kind === 235 /* ClassDeclaration */ + || kind === 205 /* ClassExpression */ + || kind === 155 /* Constructor */ + || kind === 238 /* EnumDeclaration */ + || kind === 273 /* EnumMember */ + || kind === 252 /* ExportSpecifier */ + || kind === 234 /* FunctionDeclaration */ + || kind === 192 /* FunctionExpression */ + || kind === 156 /* GetAccessor */ + || kind === 245 /* ImportClause */ + || kind === 243 /* ImportEqualsDeclaration */ + || kind === 248 /* ImportSpecifier */ + || kind === 236 /* InterfaceDeclaration */ + || kind === 262 /* JsxAttribute */ + || kind === 154 /* MethodDeclaration */ + || kind === 153 /* MethodSignature */ + || kind === 239 /* ModuleDeclaration */ + || kind === 242 /* NamespaceExportDeclaration */ + || kind === 246 /* NamespaceImport */ + || kind === 149 /* Parameter */ + || kind === 270 /* PropertyAssignment */ + || kind === 152 /* PropertyDeclaration */ + || kind === 151 /* PropertySignature */ + || kind === 157 /* SetAccessor */ + || kind === 271 /* ShorthandPropertyAssignment */ + || kind === 237 /* TypeAliasDeclaration */ + || kind === 148 /* TypeParameter */ + || kind === 232 /* VariableDeclaration */ + || kind === 297 /* JSDocTypedefTag */ + || kind === 292 /* JSDocCallbackTag */ + || kind === 298 /* JSDocPropertyTag */; } function isDeclarationStatementKind(kind) { - return kind === 233 /* FunctionDeclaration */ - || kind === 252 /* MissingDeclaration */ - || kind === 234 /* ClassDeclaration */ - || kind === 235 /* InterfaceDeclaration */ - || kind === 236 /* TypeAliasDeclaration */ - || kind === 237 /* EnumDeclaration */ - || kind === 238 /* ModuleDeclaration */ - || kind === 243 /* ImportDeclaration */ - || kind === 242 /* ImportEqualsDeclaration */ - || kind === 249 /* ExportDeclaration */ - || kind === 248 /* ExportAssignment */ - || kind === 241 /* NamespaceExportDeclaration */; + return kind === 234 /* FunctionDeclaration */ + || kind === 253 /* MissingDeclaration */ + || kind === 235 /* ClassDeclaration */ + || kind === 236 /* InterfaceDeclaration */ + || kind === 237 /* TypeAliasDeclaration */ + || kind === 238 /* EnumDeclaration */ + || kind === 239 /* ModuleDeclaration */ + || kind === 244 /* ImportDeclaration */ + || kind === 243 /* ImportEqualsDeclaration */ + || kind === 250 /* ExportDeclaration */ + || kind === 249 /* ExportAssignment */ + || kind === 242 /* NamespaceExportDeclaration */; } function isStatementKindButNotDeclarationKind(kind) { - return kind === 223 /* BreakStatement */ - || kind === 222 /* ContinueStatement */ - || kind === 230 /* DebuggerStatement */ - || kind === 217 /* DoStatement */ - || kind === 215 /* ExpressionStatement */ - || kind === 214 /* EmptyStatement */ - || kind === 220 /* ForInStatement */ - || kind === 221 /* ForOfStatement */ - || kind === 219 /* ForStatement */ - || kind === 216 /* IfStatement */ - || kind === 227 /* LabeledStatement */ - || kind === 224 /* ReturnStatement */ - || kind === 226 /* SwitchStatement */ - || kind === 228 /* ThrowStatement */ - || kind === 229 /* TryStatement */ - || kind === 213 /* VariableStatement */ - || kind === 218 /* WhileStatement */ - || kind === 225 /* WithStatement */ - || kind === 299 /* NotEmittedStatement */ - || kind === 303 /* EndOfDeclarationMarker */ - || kind === 302 /* MergeDeclarationMarker */; + return kind === 224 /* BreakStatement */ + || kind === 223 /* ContinueStatement */ + || kind === 231 /* DebuggerStatement */ + || kind === 218 /* DoStatement */ + || kind === 216 /* ExpressionStatement */ + || kind === 215 /* EmptyStatement */ + || kind === 221 /* ForInStatement */ + || kind === 222 /* ForOfStatement */ + || kind === 220 /* ForStatement */ + || kind === 217 /* IfStatement */ + || kind === 228 /* LabeledStatement */ + || kind === 225 /* ReturnStatement */ + || kind === 227 /* SwitchStatement */ + || kind === 229 /* ThrowStatement */ + || kind === 230 /* TryStatement */ + || kind === 214 /* VariableStatement */ + || kind === 219 /* WhileStatement */ + || kind === 226 /* WithStatement */ + || kind === 300 /* NotEmittedStatement */ + || kind === 304 /* EndOfDeclarationMarker */ + || kind === 303 /* MergeDeclarationMarker */; } /* @internal */ function isDeclaration(node) { - if (node.kind === 147 /* TypeParameter */) { - return node.parent.kind !== 295 /* JSDocTemplateTag */ || ts.isInJavaScriptFile(node); + if (node.kind === 148 /* TypeParameter */) { + return node.parent.kind !== 296 /* JSDocTemplateTag */ || ts.isInJavaScriptFile(node); } return isDeclarationKind(node.kind); } @@ -14518,10 +14570,10 @@ var ts; } ts.isStatement = isStatement; function isBlockStatement(node) { - if (node.kind !== 212 /* Block */) + if (node.kind !== 213 /* Block */) return false; if (node.parent !== undefined) { - if (node.parent.kind === 229 /* TryStatement */ || node.parent.kind === 268 /* CatchClause */) { + if (node.parent.kind === 230 /* TryStatement */ || node.parent.kind === 269 /* CatchClause */) { return false; } } @@ -14531,8 +14583,8 @@ var ts; /* @internal */ function isModuleReference(node) { var kind = node.kind; - return kind === 253 /* ExternalModuleReference */ - || kind === 145 /* QualifiedName */ + return kind === 254 /* ExternalModuleReference */ + || kind === 146 /* QualifiedName */ || kind === 71 /* Identifier */; } ts.isModuleReference = isModuleReference; @@ -14542,76 +14594,78 @@ var ts; var kind = node.kind; return kind === 99 /* ThisKeyword */ || kind === 71 /* Identifier */ - || kind === 184 /* PropertyAccessExpression */; + || kind === 185 /* PropertyAccessExpression */; } ts.isJsxTagNameExpression = isJsxTagNameExpression; /* @internal */ function isJsxChild(node) { var kind = node.kind; - return kind === 254 /* JsxElement */ - || kind === 264 /* JsxExpression */ - || kind === 255 /* JsxSelfClosingElement */ + return kind === 255 /* JsxElement */ + || kind === 265 /* JsxExpression */ + || kind === 256 /* JsxSelfClosingElement */ || kind === 10 /* JsxText */ - || kind === 258 /* JsxFragment */; + || kind === 259 /* JsxFragment */; } ts.isJsxChild = isJsxChild; /* @internal */ function isJsxAttributeLike(node) { var kind = node.kind; - return kind === 261 /* JsxAttribute */ - || kind === 263 /* JsxSpreadAttribute */; + return kind === 262 /* JsxAttribute */ + || kind === 264 /* JsxSpreadAttribute */; } ts.isJsxAttributeLike = isJsxAttributeLike; /* @internal */ function isStringLiteralOrJsxExpression(node) { var kind = node.kind; return kind === 9 /* StringLiteral */ - || kind === 264 /* JsxExpression */; + || kind === 265 /* JsxExpression */; } ts.isStringLiteralOrJsxExpression = isStringLiteralOrJsxExpression; function isJsxOpeningLikeElement(node) { var kind = node.kind; - return kind === 256 /* JsxOpeningElement */ - || kind === 255 /* JsxSelfClosingElement */; + return kind === 257 /* JsxOpeningElement */ + || kind === 256 /* JsxSelfClosingElement */; } ts.isJsxOpeningLikeElement = isJsxOpeningLikeElement; // Clauses function isCaseOrDefaultClause(node) { var kind = node.kind; - return kind === 265 /* CaseClause */ - || kind === 266 /* DefaultClause */; + return kind === 266 /* CaseClause */ + || kind === 267 /* DefaultClause */; } ts.isCaseOrDefaultClause = isCaseOrDefaultClause; // JSDoc /** True if node is of some JSDoc syntax kind. */ /* @internal */ function isJSDocNode(node) { - return node.kind >= 277 /* FirstJSDocNode */ && node.kind <= 297 /* LastJSDocNode */; + return node.kind >= 278 /* FirstJSDocNode */ && node.kind <= 298 /* LastJSDocNode */; } ts.isJSDocNode = isJSDocNode; /** True if node is of a kind that may contain comment text. */ function isJSDocCommentContainingNode(node) { - return node.kind === 285 /* JSDocComment */ || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) || ts.isJSDocSignature(node); + return node.kind === 286 /* JSDocComment */ || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) || ts.isJSDocSignature(node); } ts.isJSDocCommentContainingNode = isJSDocCommentContainingNode; // TODO: determine what this does before making it public. /* @internal */ function isJSDocTag(node) { - return node.kind >= 288 /* FirstJSDocTagNode */ && node.kind <= 297 /* LastJSDocTagNode */; + return node.kind >= 289 /* FirstJSDocTagNode */ && node.kind <= 298 /* LastJSDocTagNode */; } ts.isJSDocTag = isJSDocTag; function isSetAccessor(node) { - return node.kind === 156 /* SetAccessor */; + return node.kind === 157 /* SetAccessor */; } ts.isSetAccessor = isSetAccessor; function isGetAccessor(node) { - return node.kind === 155 /* GetAccessor */; + return node.kind === 156 /* GetAccessor */; } ts.isGetAccessor = isGetAccessor; /** True if has jsdoc nodes attached to it. */ /* @internal */ + // TODO: GH#19856 Would like to return `node is Node & { jsDoc: JSDoc[] }` but it causes long compile times function hasJSDocNodes(node) { - return !!node.jsDoc && node.jsDoc.length > 0; + var jsDoc = node.jsDoc; + return !!jsDoc && jsDoc.length > 0; } ts.hasJSDocNodes = hasJSDocNodes; /** True if has type node attached to it. */ @@ -14624,36 +14678,36 @@ var ts; /* @internal */ function couldHaveType(node) { switch (node.kind) { - case 148 /* Parameter */: - case 150 /* PropertySignature */: - case 151 /* PropertyDeclaration */: - case 152 /* MethodSignature */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 160 /* TypePredicate */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 172 /* ParenthesizedType */: - case 174 /* TypeOperator */: - case 176 /* MappedType */: - case 189 /* TypeAssertionExpression */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 207 /* AsExpression */: - case 231 /* VariableDeclaration */: - case 233 /* FunctionDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 277 /* JSDocTypeExpression */: - case 280 /* JSDocNullableType */: - case 281 /* JSDocNonNullableType */: - case 282 /* JSDocOptionalType */: - case 283 /* JSDocFunctionType */: - case 284 /* JSDocVariadicType */: + case 149 /* Parameter */: + case 151 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 153 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 161 /* TypePredicate */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 173 /* ParenthesizedType */: + case 175 /* TypeOperator */: + case 177 /* MappedType */: + case 190 /* TypeAssertionExpression */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 208 /* AsExpression */: + case 232 /* VariableDeclaration */: + case 234 /* FunctionDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 278 /* JSDocTypeExpression */: + case 281 /* JSDocNullableType */: + case 282 /* JSDocNonNullableType */: + case 283 /* JSDocOptionalType */: + case 284 /* JSDocFunctionType */: + case 285 /* JSDocVariadicType */: return true; } return false; @@ -14673,13 +14727,13 @@ var ts; ts.hasOnlyExpressionInitializer = hasOnlyExpressionInitializer; function isObjectLiteralElement(node) { switch (node.kind) { - case 261 /* JsxAttribute */: - case 263 /* JsxSpreadAttribute */: - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 262 /* JsxAttribute */: + case 264 /* JsxSpreadAttribute */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return true; default: return false; @@ -14688,7 +14742,7 @@ var ts; ts.isObjectLiteralElement = isObjectLiteralElement; /* @internal */ function isTypeReferenceType(node) { - return node.kind === 161 /* TypeReference */ || node.kind === 206 /* ExpressionWithTypeArguments */; + return node.kind === 162 /* TypeReference */ || node.kind === 207 /* ExpressionWithTypeArguments */; } ts.isTypeReferenceType = isTypeReferenceType; var MAX_SMI_X86 = 1073741823; @@ -14722,7 +14776,7 @@ var ts; ts.isStringLiteralLike = isStringLiteralLike; /** @internal */ function isNamedImportsOrExports(node) { - return node.kind === 246 /* NamedImports */ || node.kind === 250 /* NamedExports */; + return node.kind === 247 /* NamedImports */ || node.kind === 251 /* NamedExports */; } ts.isNamedImportsOrExports = isNamedImportsOrExports; })(ts || (ts = {})); @@ -14745,7 +14799,7 @@ var ts; var SourceFileConstructor; // tslint:enable variable-name function createNode(kind, pos, end) { - if (kind === 273 /* SourceFile */) { + if (kind === 274 /* SourceFile */) { return new (SourceFileConstructor || (SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor()))(kind, pos, end); } else if (kind === 71 /* Identifier */) { @@ -14797,28 +14851,28 @@ var ts; * that they appear in the source code. The language service depends on this property to locate nodes by position. */ function forEachChild(node, cbNode, cbNodes) { - if (!node || node.kind <= 144 /* LastToken */) { + if (!node || node.kind <= 145 /* LastToken */) { return; } switch (node.kind) { - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return visitNode(cbNode, node.left) || visitNode(cbNode, node.right); - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.constraint) || visitNode(cbNode, node.default) || visitNode(cbNode, node.expression); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.equalsToken) || visitNode(cbNode, node.objectAssignmentInitializer); - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: return visitNode(cbNode, node.expression); - case 148 /* Parameter */: + case 149 /* Parameter */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || @@ -14826,7 +14880,7 @@ var ts; visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || @@ -14834,51 +14888,51 @@ var ts; visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.initializer); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.asteriskToken) || @@ -14889,304 +14943,304 @@ var ts; visitNode(cbNode, node.type) || visitNode(cbNode, node.equalsGreaterThanToken) || visitNode(cbNode, node.body); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return visitNode(cbNode, node.typeName) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return visitNode(cbNode, node.parameterName) || visitNode(cbNode, node.type); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return visitNode(cbNode, node.exprName); - case 165 /* TypeLiteral */: + case 166 /* TypeLiteral */: return visitNodes(cbNode, cbNodes, node.members); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return visitNode(cbNode, node.elementType); - case 167 /* TupleType */: + case 168 /* TupleType */: return visitNodes(cbNode, cbNodes, node.elementTypes); - case 168 /* UnionType */: - case 169 /* IntersectionType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: return visitNodes(cbNode, cbNodes, node.types); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return visitNode(cbNode, node.checkType) || visitNode(cbNode, node.extendsType) || visitNode(cbNode, node.trueType) || visitNode(cbNode, node.falseType); - case 171 /* InferType */: + case 172 /* InferType */: return visitNode(cbNode, node.typeParameter); - case 178 /* ImportType */: + case 179 /* ImportType */: return visitNode(cbNode, node.argument) || visitNode(cbNode, node.qualifier) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 172 /* ParenthesizedType */: - case 174 /* TypeOperator */: + case 173 /* ParenthesizedType */: + case 175 /* TypeOperator */: return visitNode(cbNode, node.type); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return visitNode(cbNode, node.objectType) || visitNode(cbNode, node.indexType); - case 176 /* MappedType */: + case 177 /* MappedType */: return visitNode(cbNode, node.readonlyToken) || visitNode(cbNode, node.typeParameter) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type); - case 177 /* LiteralType */: + case 178 /* LiteralType */: return visitNode(cbNode, node.literal); - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: return visitNodes(cbNode, cbNodes, node.elements); - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return visitNodes(cbNode, cbNodes, node.elements); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return visitNodes(cbNode, cbNodes, node.properties); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.name); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.argumentExpression); - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNodes(cbNode, cbNodes, node.arguments); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return visitNode(cbNode, node.tag) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.template); - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: return visitNode(cbNode, node.type) || visitNode(cbNode, node.expression); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return visitNode(cbNode, node.expression); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return visitNode(cbNode, node.expression); - case 194 /* TypeOfExpression */: + case 195 /* TypeOfExpression */: return visitNode(cbNode, node.expression); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return visitNode(cbNode, node.expression); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return visitNode(cbNode, node.operand); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return visitNode(cbNode, node.asteriskToken) || visitNode(cbNode, node.expression); - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return visitNode(cbNode, node.expression); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return visitNode(cbNode, node.operand); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitNode(cbNode, node.left) || visitNode(cbNode, node.operatorToken) || visitNode(cbNode, node.right); - case 207 /* AsExpression */: + case 208 /* AsExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.type); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: return visitNode(cbNode, node.expression); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return visitNode(cbNode, node.name); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return visitNode(cbNode, node.condition) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.whenTrue) || visitNode(cbNode, node.colonToken) || visitNode(cbNode, node.whenFalse); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return visitNode(cbNode, node.expression); - case 212 /* Block */: - case 239 /* ModuleBlock */: + case 213 /* Block */: + case 240 /* ModuleBlock */: return visitNodes(cbNode, cbNodes, node.statements); - case 273 /* SourceFile */: + case 274 /* SourceFile */: return visitNodes(cbNode, cbNodes, node.statements) || visitNode(cbNode, node.endOfFileToken); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.declarationList); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return visitNodes(cbNode, cbNodes, node.declarations); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return visitNode(cbNode, node.expression); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.thenStatement) || visitNode(cbNode, node.elseStatement); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return visitNode(cbNode, node.statement) || visitNode(cbNode, node.expression); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.condition) || visitNode(cbNode, node.incrementor) || visitNode(cbNode, node.statement); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitNode(cbNode, node.awaitModifier) || visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 222 /* ContinueStatement */: - case 223 /* BreakStatement */: + case 223 /* ContinueStatement */: + case 224 /* BreakStatement */: return visitNode(cbNode, node.label); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return visitNode(cbNode, node.expression); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.caseBlock); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return visitNodes(cbNode, cbNodes, node.clauses); - case 265 /* CaseClause */: + case 266 /* CaseClause */: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.statements); - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: return visitNodes(cbNode, cbNodes, node.statements); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return visitNode(cbNode, node.label) || visitNode(cbNode, node.statement); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return visitNode(cbNode, node.expression); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return visitNode(cbNode, node.tryBlock) || visitNode(cbNode, node.catchClause) || visitNode(cbNode, node.finallyBlock); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitNode(cbNode, node.variableDeclaration) || visitNode(cbNode, node.block); - case 149 /* Decorator */: + case 150 /* Decorator */: return visitNode(cbNode, node.expression); - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.heritageClauses) || visitNodes(cbNode, cbNodes, node.members); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.heritageClauses) || visitNodes(cbNode, cbNodes, node.members); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNode(cbNode, node.type); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.members); - case 272 /* EnumMember */: + case 273 /* EnumMember */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.body); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.moduleReference); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.importClause) || visitNode(cbNode, node.moduleSpecifier); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.namedBindings); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return visitNode(cbNode, node.name); - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return visitNode(cbNode, node.name); - case 246 /* NamedImports */: - case 250 /* NamedExports */: + case 247 /* NamedImports */: + case 251 /* NamedExports */: return visitNodes(cbNode, cbNodes, node.elements); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.exportClause) || visitNode(cbNode, node.moduleSpecifier); - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: return visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.expression); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return visitNode(cbNode, node.head) || visitNodes(cbNode, cbNodes, node.templateSpans); - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.literal); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return visitNode(cbNode, node.expression); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: return visitNodes(cbNode, cbNodes, node.types); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: return visitNode(cbNode, node.expression); - case 252 /* MissingDeclaration */: + case 253 /* MissingDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators); - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: return visitNodes(cbNode, cbNodes, node.elements); - case 254 /* JsxElement */: + case 255 /* JsxElement */: return visitNode(cbNode, node.openingElement) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingElement); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return visitNode(cbNode, node.openingFragment) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingFragment); - case 255 /* JsxSelfClosingElement */: - case 256 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: return visitNode(cbNode, node.tagName) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.attributes); - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return visitNodes(cbNode, cbNodes, node.properties); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 263 /* JsxSpreadAttribute */: + case 264 /* JsxSpreadAttribute */: return visitNode(cbNode, node.expression); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.expression); - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: return visitNode(cbNode, node.tagName); - case 277 /* JSDocTypeExpression */: + case 278 /* JSDocTypeExpression */: return visitNode(cbNode, node.type); - case 281 /* JSDocNonNullableType */: + case 282 /* JSDocNonNullableType */: return visitNode(cbNode, node.type); - case 280 /* JSDocNullableType */: + case 281 /* JSDocNullableType */: return visitNode(cbNode, node.type); - case 282 /* JSDocOptionalType */: + case 283 /* JSDocOptionalType */: return visitNode(cbNode, node.type); - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: return visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: return visitNode(cbNode, node.type); - case 285 /* JSDocComment */: + case 286 /* JSDocComment */: return visitNodes(cbNode, cbNodes, node.tags); - case 292 /* JSDocParameterTag */: - case 297 /* JSDocPropertyTag */: + case 293 /* JSDocParameterTag */: + case 298 /* JSDocPropertyTag */: if (node.isNameFirst) { return visitNode(cbNode, node.name) || visitNode(cbNode, node.typeExpression); @@ -15195,17 +15249,17 @@ var ts; return visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.name); } - case 293 /* JSDocReturnTag */: + case 294 /* JSDocReturnTag */: return visitNode(cbNode, node.typeExpression); - case 294 /* JSDocTypeTag */: + case 295 /* JSDocTypeTag */: return visitNode(cbNode, node.typeExpression); - case 289 /* JSDocAugmentsTag */: + case 290 /* JSDocAugmentsTag */: return visitNode(cbNode, node.class); - case 295 /* JSDocTemplateTag */: + case 296 /* JSDocTemplateTag */: return visitNodes(cbNode, cbNodes, node.typeParameters); - case 296 /* JSDocTypedefTag */: + case 297 /* JSDocTypedefTag */: if (node.typeExpression && - node.typeExpression.kind === 277 /* JSDocTypeExpression */) { + node.typeExpression.kind === 278 /* JSDocTypeExpression */) { return visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.fullName); } @@ -15213,16 +15267,16 @@ var ts; return visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression); } - case 291 /* JSDocCallbackTag */: + case 292 /* JSDocCallbackTag */: return visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression); - case 287 /* JSDocSignature */: + case 288 /* JSDocSignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 286 /* JSDocTypeLiteral */: + case 287 /* JSDocTypeLiteral */: if (node.jsDocPropertyTags) { for (var _i = 0, _a = node.jsDocPropertyTags; _i < _a.length; _i++) { var tag = _a[_i]; @@ -15230,7 +15284,7 @@ var ts; } } return; - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: return visitNode(cbNode, node.expression); } } @@ -15278,6 +15332,7 @@ var ts; // becoming detached from any SourceFile). It is recommended that this SourceFile not // be used once 'update' is called on it. function updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks) { + if (aggressiveChecks === void 0) { aggressiveChecks = false; } var newSourceFile = IncrementalParser.updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks); // Because new source file node is created, it may not have the flag PossiblyContainDynamicImport. This is the case if there is no new edit to add dynamic import. // We will manually port the flag to the new source file. @@ -15403,6 +15458,7 @@ var ts; // attached to the EOF token. var parseErrorBeforeNextFinishedNode = false; function parseSourceFile(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes, scriptKind) { + if (setParentNodes === void 0) { setParentNodes = false; } scriptKind = ts.ensureScriptKind(fileName, scriptKind); if (scriptKind === 6 /* JSON */) { var result_1 = parseJsonText(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes); @@ -15433,6 +15489,7 @@ var ts; initializeState(sourceText, languageVersion, syntaxCursor, 6 /* JSON */); // Set source file so that errors will be reported with this file name sourceFile = createSourceFile(fileName, 2 /* ES2015 */, 6 /* JSON */, /*isDeclaration*/ false); + sourceFile.flags = contextFlags; // Prime the scanner. nextToken(); var pos = getNodePos(); @@ -15441,7 +15498,7 @@ var ts; sourceFile.endOfFileToken = parseTokenNode(); } else { - var statement = createNode(215 /* ExpressionStatement */); + var statement = createNode(216 /* ExpressionStatement */); switch (token()) { case 21 /* OpenBracketToken */: statement.expression = parseArrayLiteralExpression(); @@ -15600,10 +15657,11 @@ var ts; function createSourceFile(fileName, languageVersion, scriptKind, isDeclarationFile) { // code from createNode is inlined here so createNode won't have to deal with special case of creating source files // this is quite rare comparing to other nodes and createNode should be as fast as possible - var sourceFile = new SourceFileConstructor(273 /* SourceFile */, /*pos*/ 0, /* end */ sourceText.length); + var sourceFile = new SourceFileConstructor(274 /* SourceFile */, /*pos*/ 0, /* end */ sourceText.length); nodeCount++; sourceFile.text = sourceText; sourceFile.bindDiagnostics = []; + sourceFile.bindSuggestionDiagnostics = undefined; sourceFile.languageVersion = languageVersion; sourceFile.fileName = ts.normalizePath(fileName); sourceFile.languageVariant = getLanguageVariant(scriptKind); @@ -15987,7 +16045,7 @@ var ts; // PropertyName [Yield]: // LiteralPropertyName // ComputedPropertyName[?Yield] - var node = createNode(146 /* ComputedPropertyName */); + var node = createNode(147 /* ComputedPropertyName */); parseExpected(21 /* OpenBracketToken */); // We parse any expression (including a comma expression). But the grammar // says that only an assignment expression is allowed, so the grammar checker @@ -16124,7 +16182,7 @@ var ts; case 14 /* JsxChildren */: return true; } - ts.Debug.fail("Non-exhaustive case in 'isListElement'."); + return ts.Debug.fail("Non-exhaustive case in 'isListElement'."); } function isValidHeritageClauseObjectLiteral() { ts.Debug.assert(token() === 17 /* OpenBraceToken */); @@ -16213,6 +16271,8 @@ var ts; return token() === 29 /* GreaterThanToken */ || token() === 41 /* SlashToken */; case 14 /* JsxChildren */: return token() === 27 /* LessThanToken */ && lookAhead(nextTokenIsSlash); + default: + return false; } } function isVariableDeclaratorListTerminator() { @@ -16399,14 +16459,14 @@ var ts; function isReusableClassMember(node) { if (node) { switch (node.kind) { - case 154 /* Constructor */: - case 159 /* IndexSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 151 /* PropertyDeclaration */: - case 211 /* SemicolonClassElement */: + case 155 /* Constructor */: + case 160 /* IndexSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 212 /* SemicolonClassElement */: return true; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: // Method declarations are not necessarily reusable. An object-literal // may have a method calls "constructor(...)" and we must reparse that // into an actual .ConstructorDeclaration. @@ -16421,8 +16481,8 @@ var ts; function isReusableSwitchClause(node) { if (node) { switch (node.kind) { - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: return true; } } @@ -16431,58 +16491,58 @@ var ts; function isReusableStatement(node) { if (node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 213 /* VariableStatement */: - case 212 /* Block */: - case 216 /* IfStatement */: - case 215 /* ExpressionStatement */: - case 228 /* ThrowStatement */: - case 224 /* ReturnStatement */: - case 226 /* SwitchStatement */: - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 219 /* ForStatement */: - case 218 /* WhileStatement */: - case 225 /* WithStatement */: - case 214 /* EmptyStatement */: - case 229 /* TryStatement */: - case 227 /* LabeledStatement */: - case 217 /* DoStatement */: - case 230 /* DebuggerStatement */: - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 249 /* ExportDeclaration */: - case 248 /* ExportAssignment */: - case 238 /* ModuleDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 234 /* FunctionDeclaration */: + case 214 /* VariableStatement */: + case 213 /* Block */: + case 217 /* IfStatement */: + case 216 /* ExpressionStatement */: + case 229 /* ThrowStatement */: + case 225 /* ReturnStatement */: + case 227 /* SwitchStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 220 /* ForStatement */: + case 219 /* WhileStatement */: + case 226 /* WithStatement */: + case 215 /* EmptyStatement */: + case 230 /* TryStatement */: + case 228 /* LabeledStatement */: + case 218 /* DoStatement */: + case 231 /* DebuggerStatement */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 250 /* ExportDeclaration */: + case 249 /* ExportAssignment */: + case 239 /* ModuleDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: return true; } } return false; } function isReusableEnumMember(node) { - return node.kind === 272 /* EnumMember */; + return node.kind === 273 /* EnumMember */; } function isReusableTypeMember(node) { if (node) { switch (node.kind) { - case 158 /* ConstructSignature */: - case 152 /* MethodSignature */: - case 159 /* IndexSignature */: - case 150 /* PropertySignature */: - case 157 /* CallSignature */: + case 159 /* ConstructSignature */: + case 153 /* MethodSignature */: + case 160 /* IndexSignature */: + case 151 /* PropertySignature */: + case 158 /* CallSignature */: return true; } } return false; } function isReusableVariableDeclaration(node) { - if (node.kind !== 231 /* VariableDeclaration */) { + if (node.kind !== 232 /* VariableDeclaration */) { return false; } // Very subtle incremental parsing bug. Consider the following code: @@ -16503,7 +16563,7 @@ var ts; return variableDeclarator.initializer === undefined; } function isReusableParameter(node) { - if (node.kind !== 148 /* Parameter */) { + if (node.kind !== 149 /* Parameter */) { return false; } // See the comment in isReusableVariableDeclaration for why we do this. @@ -16544,6 +16604,7 @@ var ts; case 22 /* ImportOrExportSpecifiers */: return ts.Diagnostics.Identifier_expected; case 13 /* JsxAttributes */: return ts.Diagnostics.Identifier_expected; case 14 /* JsxChildren */: return ts.Diagnostics.Identifier_expected; + default: return undefined; // TODO: GH#18217 `default: Debug.assertNever(context);` } } // Parses a comma-delimited list of elements @@ -16632,7 +16693,7 @@ var ts; return entity; } function createQualifiedName(entity, name) { - var node = createNode(145 /* QualifiedName */, entity.pos); + var node = createNode(146 /* QualifiedName */, entity.pos); node.left = entity; node.right = name; return finishNode(node); @@ -16669,19 +16730,19 @@ var ts; return allowIdentifierNames ? parseIdentifierName() : parseIdentifier(); } function parseTemplateExpression() { - var template = createNode(201 /* TemplateExpression */); + var template = createNode(202 /* TemplateExpression */); template.head = parseTemplateHead(); ts.Debug.assert(template.head.kind === 14 /* TemplateHead */, "Template head has wrong token kind"); var list = []; var listPos = getNodePos(); do { list.push(parseTemplateSpan()); - } while (ts.lastOrUndefined(list).literal.kind === 15 /* TemplateMiddle */); + } while (ts.last(list).literal.kind === 15 /* TemplateMiddle */); template.templateSpans = createNodeArray(list, listPos); return finishNode(template); } function parseTemplateSpan() { - var span = createNode(210 /* TemplateSpan */); + var span = createNode(211 /* TemplateSpan */); span.expression = allowInAnd(parseExpression); var literal; if (token() === 18 /* CloseBraceToken */) { @@ -16732,7 +16793,7 @@ var ts; } // TYPES function parseTypeReference() { - var node = createNode(161 /* TypeReference */); + var node = createNode(162 /* TypeReference */); node.typeName = parseEntityName(/*allowReservedWords*/ true, ts.Diagnostics.Type_expected); if (!scanner.hasPrecedingLineBreak() && token() === 27 /* LessThanToken */) { node.typeArguments = parseBracketedList(19 /* TypeArguments */, parseType, 27 /* LessThanToken */, 29 /* GreaterThanToken */); @@ -16741,20 +16802,20 @@ var ts; } function parseThisTypePredicate(lhs) { nextToken(); - var node = createNode(160 /* TypePredicate */, lhs.pos); + var node = createNode(161 /* TypePredicate */, lhs.pos); node.parameterName = lhs; node.type = parseType(); return finishNode(node); } function parseThisTypeNode() { - var node = createNode(173 /* ThisType */); + var node = createNode(174 /* ThisType */); nextToken(); return finishNode(node); } function parseJSDocAllType(postFixEquals) { - var result = createNode(278 /* JSDocAllType */); + var result = createNode(279 /* JSDocAllType */); if (postFixEquals) { - return createJSDocPostfixType(282 /* JSDocOptionalType */, result); + return createJSDocPostfixType(283 /* JSDocOptionalType */, result); } else { nextToken(); @@ -16762,7 +16823,7 @@ var ts; return finishNode(result); } function parseJSDocNonNullableType() { - var result = createNode(281 /* JSDocNonNullableType */); + var result = createNode(282 /* JSDocNonNullableType */); nextToken(); result.type = parseNonArrayType(); return finishNode(result); @@ -16786,28 +16847,28 @@ var ts; token() === 29 /* GreaterThanToken */ || token() === 58 /* EqualsToken */ || token() === 49 /* BarToken */) { - var result = createNode(279 /* JSDocUnknownType */, pos); + var result = createNode(280 /* JSDocUnknownType */, pos); return finishNode(result); } else { - var result = createNode(280 /* JSDocNullableType */, pos); + var result = createNode(281 /* JSDocNullableType */, pos); result.type = parseType(); return finishNode(result); } } function parseJSDocFunctionType() { if (lookAhead(nextTokenIsOpenParen)) { - var result = createNodeWithJSDoc(283 /* JSDocFunctionType */); + var result = createNodeWithJSDoc(284 /* JSDocFunctionType */); nextToken(); fillSignature(56 /* ColonToken */, 4 /* Type */ | 32 /* JSDoc */, result); return finishNode(result); } - var node = createNode(161 /* TypeReference */); + var node = createNode(162 /* TypeReference */); node.typeName = parseIdentifierName(); return finishNode(node); } function parseJSDocParameter() { - var parameter = createNode(148 /* Parameter */); + var parameter = createNode(149 /* Parameter */); if (token() === 99 /* ThisKeyword */ || token() === 94 /* NewKeyword */) { parameter.name = parseIdentifierName(); parseExpected(56 /* ColonToken */); @@ -16819,23 +16880,23 @@ var ts; var dotdotdot = parseOptionalToken(24 /* DotDotDotToken */); var type = parseType(); if (dotdotdot) { - var variadic = createNode(284 /* JSDocVariadicType */, dotdotdot.pos); + var variadic = createNode(285 /* JSDocVariadicType */, dotdotdot.pos); variadic.type = type; type = finishNode(variadic); } if (token() === 58 /* EqualsToken */) { - return createJSDocPostfixType(282 /* JSDocOptionalType */, type); + return createJSDocPostfixType(283 /* JSDocOptionalType */, type); } return type; } function parseTypeQuery() { - var node = createNode(164 /* TypeQuery */); + var node = createNode(165 /* TypeQuery */); parseExpected(103 /* TypeOfKeyword */); node.exprName = parseEntityName(/*allowReservedWords*/ true); return finishNode(node); } function parseTypeParameter() { - var node = createNode(147 /* TypeParameter */); + var node = createNode(148 /* TypeParameter */); node.name = parseIdentifier(); if (parseOptional(85 /* ExtendsKeyword */)) { // It's not uncommon for people to write improper constraints to a generic. If the @@ -16880,7 +16941,7 @@ var ts; isStartOfType(/*inStartOfParameter*/ true); } function parseParameter() { - var node = createNodeWithJSDoc(148 /* Parameter */); + var node = createNodeWithJSDoc(149 /* Parameter */); if (token() === 99 /* ThisKeyword */) { node.name = createIdentifier(/*isIdentifier*/ true); node.type = parseParameterType(); @@ -16915,7 +16976,7 @@ var ts; if (!(flags & 32 /* JSDoc */)) { signature.typeParameters = parseTypeParameters(); } - signature.parameters = parseParameterList(flags); + signature.parameters = parseParameterList(flags); // TODO: GH#18217 if (shouldParseReturnType(returnToken, !!(flags & 4 /* Type */))) { signature.type = parseTypeOrTypePredicate(); return signature.type !== undefined; @@ -16983,7 +17044,7 @@ var ts; } function parseSignatureMember(kind) { var node = createNodeWithJSDoc(kind); - if (kind === 158 /* ConstructSignature */) { + if (kind === 159 /* ConstructSignature */) { parseExpected(94 /* NewKeyword */); } fillSignature(56 /* ColonToken */, 4 /* Type */, node); @@ -17044,7 +17105,7 @@ var ts; return token() === 56 /* ColonToken */ || token() === 26 /* CommaToken */ || token() === 22 /* CloseBracketToken */; } function parseIndexSignatureDeclaration(node) { - node.kind = 159 /* IndexSignature */; + node.kind = 160 /* IndexSignature */; node.parameters = parseBracketedList(16 /* Parameters */, parseParameter, 21 /* OpenBracketToken */, 22 /* CloseBracketToken */); node.type = parseTypeAnnotation(); parseTypeMemberSemicolon(); @@ -17054,13 +17115,13 @@ var ts; node.name = parsePropertyName(); node.questionToken = parseOptionalToken(55 /* QuestionToken */); if (token() === 19 /* OpenParenToken */ || token() === 27 /* LessThanToken */) { - node.kind = 152 /* MethodSignature */; + node.kind = 153 /* MethodSignature */; // Method signatures don't exist in expression contexts. So they have neither // [Yield] nor [Await] fillSignature(56 /* ColonToken */, 4 /* Type */, node); } else { - node.kind = 150 /* PropertySignature */; + node.kind = 151 /* PropertySignature */; node.type = parseTypeAnnotation(); if (token() === 58 /* EqualsToken */) { // Although type literal properties cannot not have initializers, we attempt @@ -17077,7 +17138,7 @@ var ts; if (token() === 19 /* OpenParenToken */ || token() === 27 /* LessThanToken */) { return true; } - var idToken; + var idToken = false; // Eat up all modifiers, but hold on to the last one in case it is actually an identifier while (ts.isModifierKind(token())) { idToken = true; @@ -17106,10 +17167,10 @@ var ts; } function parseTypeMember() { if (token() === 19 /* OpenParenToken */ || token() === 27 /* LessThanToken */) { - return parseSignatureMember(157 /* CallSignature */); + return parseSignatureMember(158 /* CallSignature */); } if (token() === 94 /* NewKeyword */ && lookAhead(nextTokenIsOpenParenOrLessThan)) { - return parseSignatureMember(158 /* ConstructSignature */); + return parseSignatureMember(159 /* ConstructSignature */); } var node = createNodeWithJSDoc(0 /* Unknown */); node.modifiers = parseModifiers(); @@ -17135,7 +17196,7 @@ var ts; return false; } function parseTypeLiteral() { - var node = createNode(165 /* TypeLiteral */); + var node = createNode(166 /* TypeLiteral */); node.members = parseObjectTypeMembers(); return finishNode(node); } @@ -17161,14 +17222,14 @@ var ts; return token() === 21 /* OpenBracketToken */ && nextTokenIsIdentifier() && nextToken() === 92 /* InKeyword */; } function parseMappedTypeParameter() { - var node = createNode(147 /* TypeParameter */); + var node = createNode(148 /* TypeParameter */); node.name = parseIdentifier(); parseExpected(92 /* InKeyword */); node.constraint = parseType(); return finishNode(node); } function parseMappedType() { - var node = createNode(176 /* MappedType */); + var node = createNode(177 /* MappedType */); parseExpected(17 /* OpenBraceToken */); if (token() === 132 /* ReadonlyKeyword */ || token() === 37 /* PlusToken */ || token() === 38 /* MinusToken */) { node.readonlyToken = parseTokenNode(); @@ -17191,23 +17252,23 @@ var ts; return finishNode(node); } function parseTupleType() { - var node = createNode(167 /* TupleType */); + var node = createNode(168 /* TupleType */); node.elementTypes = parseBracketedList(20 /* TupleElementTypes */, parseType, 21 /* OpenBracketToken */, 22 /* CloseBracketToken */); return finishNode(node); } function parseParenthesizedType() { - var node = createNode(172 /* ParenthesizedType */); + var node = createNode(173 /* ParenthesizedType */); parseExpected(19 /* OpenParenToken */); node.type = parseType(); if (!node.type) { - return undefined; + return undefined; // TODO: GH#18217 } parseExpected(20 /* CloseParenToken */); return finishNode(node); } function parseFunctionOrConstructorType(kind) { var node = createNodeWithJSDoc(kind); - if (kind === 163 /* ConstructorType */) { + if (kind === 164 /* ConstructorType */) { parseExpected(94 /* NewKeyword */); } if (!fillSignature(36 /* EqualsGreaterThanToken */, 4 /* Type */ | (sourceFile.languageVariant === 1 /* JSX */ ? 8 /* RequireCompleteParameterList */ : 0), node)) { @@ -17223,10 +17284,10 @@ var ts; return token() === 23 /* DotToken */ ? undefined : node; } function parseLiteralTypeNode(negative) { - var node = createNode(177 /* LiteralType */); + var node = createNode(178 /* LiteralType */); var unaryMinusExpression; if (negative) { - unaryMinusExpression = createNode(197 /* PrefixUnaryExpression */); + unaryMinusExpression = createNode(198 /* PrefixUnaryExpression */); unaryMinusExpression.operator = 38 /* MinusToken */; nextToken(); } @@ -17247,7 +17308,7 @@ var ts; } function parseImportType() { sourceFile.flags |= 524288 /* PossiblyContainsDynamicImport */; - var node = createNode(178 /* ImportType */); + var node = createNode(179 /* ImportType */); if (parseOptional(103 /* TypeOfKeyword */)) { node.isTypeOf = true; } @@ -17267,6 +17328,7 @@ var ts; function parseNonArrayType() { switch (token()) { case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 137 /* StringKeyword */: case 134 /* NumberKeyword */: case 138 /* SymbolKeyword */: @@ -17323,6 +17385,7 @@ var ts; function isStartOfType(inStartOfParameter) { switch (token()) { case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 137 /* StringKeyword */: case 134 /* NumberKeyword */: case 122 /* BooleanKeyword */: @@ -17371,26 +17434,26 @@ var ts; while (!scanner.hasPrecedingLineBreak()) { switch (token()) { case 51 /* ExclamationToken */: - type = createJSDocPostfixType(281 /* JSDocNonNullableType */, type); + type = createJSDocPostfixType(282 /* JSDocNonNullableType */, type); break; case 55 /* QuestionToken */: // If not in JSDoc and next token is start of a type we have a conditional type if (!(contextFlags & 2097152 /* JSDoc */) && lookAhead(nextTokenIsStartOfType)) { return type; } - type = createJSDocPostfixType(280 /* JSDocNullableType */, type); + type = createJSDocPostfixType(281 /* JSDocNullableType */, type); break; case 21 /* OpenBracketToken */: parseExpected(21 /* OpenBracketToken */); if (isStartOfType()) { - var node = createNode(175 /* IndexedAccessType */, type.pos); + var node = createNode(176 /* IndexedAccessType */, type.pos); node.objectType = type; node.indexType = parseType(); parseExpected(22 /* CloseBracketToken */); type = finishNode(node); } else { - var node = createNode(166 /* ArrayType */, type.pos); + var node = createNode(167 /* ArrayType */, type.pos); node.elementType = type; parseExpected(22 /* CloseBracketToken */); type = finishNode(node); @@ -17409,16 +17472,16 @@ var ts; return finishNode(postfix); } function parseTypeOperator(operator) { - var node = createNode(174 /* TypeOperator */); + var node = createNode(175 /* TypeOperator */); parseExpected(operator); node.operator = operator; node.type = parseTypeOperatorOrHigher(); return finishNode(node); } function parseInferType() { - var node = createNode(171 /* InferType */); + var node = createNode(172 /* InferType */); parseExpected(126 /* InferKeyword */); - var typeParameter = createNode(147 /* TypeParameter */); + var typeParameter = createNode(148 /* TypeParameter */); typeParameter.name = parseIdentifier(); node.typeParameter = finishNode(typeParameter); return finishNode(node); @@ -17449,10 +17512,10 @@ var ts; return type; } function parseIntersectionTypeOrHigher() { - return parseUnionOrIntersectionType(169 /* IntersectionType */, parseTypeOperatorOrHigher, 48 /* AmpersandToken */); + return parseUnionOrIntersectionType(170 /* IntersectionType */, parseTypeOperatorOrHigher, 48 /* AmpersandToken */); } function parseUnionTypeOrHigher() { - return parseUnionOrIntersectionType(168 /* UnionType */, parseIntersectionTypeOrHigher, 49 /* BarToken */); + return parseUnionOrIntersectionType(169 /* UnionType */, parseIntersectionTypeOrHigher, 49 /* BarToken */); } function isStartOfFunctionType() { if (token() === 27 /* LessThanToken */) { @@ -17509,7 +17572,7 @@ var ts; var typePredicateVariable = isIdentifier() && tryParse(parseTypePredicatePrefix); var type = parseType(); if (typePredicateVariable) { - var node = createNode(160 /* TypePredicate */, typePredicateVariable.pos); + var node = createNode(161 /* TypePredicate */, typePredicateVariable.pos); node.parameterName = typePredicateVariable; node.type = type; return finishNode(node); @@ -17532,14 +17595,14 @@ var ts; } function parseTypeWorker(noConditionalTypes) { if (isStartOfFunctionType()) { - return parseFunctionOrConstructorType(162 /* FunctionType */); + return parseFunctionOrConstructorType(163 /* FunctionType */); // TODO: GH#18217 } if (token() === 94 /* NewKeyword */) { - return parseFunctionOrConstructorType(163 /* ConstructorType */); + return parseFunctionOrConstructorType(164 /* ConstructorType */); } var type = parseUnionTypeOrHigher(); if (!noConditionalTypes && !scanner.hasPrecedingLineBreak() && parseOptional(85 /* ExtendsKeyword */)) { - var node = createNode(170 /* ConditionalType */, type.pos); + var node = createNode(171 /* ConditionalType */, type.pos); node.checkType = type; // The type following 'extends' is not permitted to be another conditional type node.extendsType = parseTypeWorker(/*noConditionalTypes*/ true); @@ -17732,7 +17795,7 @@ var ts; return !scanner.hasPrecedingLineBreak() && isIdentifier(); } function parseYieldExpression() { - var node = createNode(202 /* YieldExpression */); + var node = createNode(203 /* YieldExpression */); // YieldExpression[In] : // yield // yield [no LineTerminator here] [Lexical goal InputElementRegExp]AssignmentExpression[?In, Yield] @@ -17754,13 +17817,13 @@ var ts; ts.Debug.assert(token() === 36 /* EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); var node; if (asyncModifier) { - node = createNode(192 /* ArrowFunction */, asyncModifier.pos); + node = createNode(193 /* ArrowFunction */, asyncModifier.pos); node.modifiers = asyncModifier; } else { - node = createNode(192 /* ArrowFunction */, identifier.pos); + node = createNode(193 /* ArrowFunction */, identifier.pos); } - var parameter = createNode(148 /* Parameter */, identifier.pos); + var parameter = createNode(149 /* Parameter */, identifier.pos); parameter.name = identifier; finishNode(parameter); node.parameters = createNodeArray([parameter], parameter.pos, parameter.end); @@ -17956,7 +18019,7 @@ var ts; return 0 /* False */; } function parseParenthesizedArrowFunctionExpressionHead(allowAmbiguity) { - var node = createNodeWithJSDoc(192 /* ArrowFunction */); + var node = createNodeWithJSDoc(193 /* ArrowFunction */); node.modifiers = parseModifiersForArrowFunction(); var isAsync = ts.hasModifier(node, 256 /* Async */) ? 2 /* Await */ : 0 /* None */; // Arrow functions are never generators. @@ -18024,7 +18087,7 @@ var ts; } // Note: we explicitly 'allowIn' in the whenTrue part of the condition expression, and // we do not that for the 'whenFalse' part. - var node = createNode(200 /* ConditionalExpression */, leftOperand.pos); + var node = createNode(201 /* ConditionalExpression */, leftOperand.pos); node.condition = leftOperand; node.questionToken = questionToken; node.whenTrue = doOutsideOfContext(disallowInAndDecoratorContext, parseAssignmentExpressionOrHigher); @@ -18039,7 +18102,7 @@ var ts; return parseBinaryExpressionRest(precedence, leftOperand); } function isInOrOfKeyword(t) { - return t === 92 /* InKeyword */ || t === 144 /* OfKeyword */; + return t === 92 /* InKeyword */ || t === 145 /* OfKeyword */; } function parseBinaryExpressionRest(precedence, leftOperand) { while (true) { @@ -18104,39 +18167,39 @@ var ts; return ts.getBinaryOperatorPrecedence(token()) > 0; } function makeBinaryExpression(left, operatorToken, right) { - var node = createNode(199 /* BinaryExpression */, left.pos); + var node = createNode(200 /* BinaryExpression */, left.pos); node.left = left; node.operatorToken = operatorToken; node.right = right; return finishNode(node); } function makeAsExpression(left, right) { - var node = createNode(207 /* AsExpression */, left.pos); + var node = createNode(208 /* AsExpression */, left.pos); node.expression = left; node.type = right; return finishNode(node); } function parsePrefixUnaryExpression() { - var node = createNode(197 /* PrefixUnaryExpression */); + var node = createNode(198 /* PrefixUnaryExpression */); node.operator = token(); nextToken(); node.operand = parseSimpleUnaryExpression(); return finishNode(node); } function parseDeleteExpression() { - var node = createNode(193 /* DeleteExpression */); + var node = createNode(194 /* DeleteExpression */); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); } function parseTypeOfExpression() { - var node = createNode(194 /* TypeOfExpression */); + var node = createNode(195 /* TypeOfExpression */); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); } function parseVoidExpression() { - var node = createNode(195 /* VoidExpression */); + var node = createNode(196 /* VoidExpression */); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); @@ -18152,7 +18215,7 @@ var ts; return false; } function parseAwaitExpression() { - var node = createNode(196 /* AwaitExpression */); + var node = createNode(197 /* AwaitExpression */); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); @@ -18196,7 +18259,7 @@ var ts; if (token() === 40 /* AsteriskAsteriskToken */) { var pos = ts.skipTrivia(sourceText, simpleUnaryExpression.pos); var end = simpleUnaryExpression.end; - if (simpleUnaryExpression.kind === 189 /* TypeAssertionExpression */) { + if (simpleUnaryExpression.kind === 190 /* TypeAssertionExpression */) { parseErrorAt(pos, end, ts.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses); } else { @@ -18293,7 +18356,7 @@ var ts; */ function parseUpdateExpression() { if (token() === 43 /* PlusPlusToken */ || token() === 44 /* MinusMinusToken */) { - var node = createNode(197 /* PrefixUnaryExpression */); + var node = createNode(198 /* PrefixUnaryExpression */); node.operator = token(); nextToken(); node.operand = parseLeftHandSideExpressionOrHigher(); @@ -18306,7 +18369,7 @@ var ts; var expression = parseLeftHandSideExpressionOrHigher(); ts.Debug.assert(ts.isLeftHandSideExpression(expression)); if ((token() === 43 /* PlusPlusToken */ || token() === 44 /* MinusMinusToken */) && !scanner.hasPrecedingLineBreak()) { - var node = createNode(198 /* PostfixUnaryExpression */, expression.pos); + var node = createNode(199 /* PostfixUnaryExpression */, expression.pos); node.operand = expression; node.operator = token(); nextToken(); @@ -18362,7 +18425,7 @@ var ts; var fullStart = scanner.getStartPos(); nextToken(); // advance past the 'import' nextToken(); // advance past the dot - var node = createNode(209 /* MetaProperty */, fullStart); + var node = createNode(210 /* MetaProperty */, fullStart); node.keywordToken = 91 /* ImportKeyword */; node.name = parseIdentifierName(); expression = finishNode(node); @@ -18437,33 +18500,17 @@ var ts; } // If we have seen "super" it must be followed by '(' or '.'. // If it wasn't then just try to parse out a '.' and report an error. - var node = createNode(184 /* PropertyAccessExpression */, expression.pos); + var node = createNode(185 /* PropertyAccessExpression */, expression.pos); node.expression = expression; parseExpectedToken(23 /* DotToken */, ts.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access); node.name = parseRightSideOfDot(/*allowIdentifierNames*/ true); return finishNode(node); } - function tagNamesAreEquivalent(lhs, rhs) { - if (lhs.kind !== rhs.kind) { - return false; - } - if (lhs.kind === 71 /* Identifier */) { - return lhs.escapedText === rhs.escapedText; - } - if (lhs.kind === 99 /* ThisKeyword */) { - return true; - } - // If we are at this statement then we must have PropertyAccessExpression and because tag name in Jsx element can only - // take forms of JsxTagNameExpression which includes an identifier, "this" expression, or another propertyAccessExpression - // it is safe to case the expression property as such. See parseJsxElementName for how we parse tag name in Jsx element - return lhs.name.escapedText === rhs.name.escapedText && - tagNamesAreEquivalent(lhs.expression, rhs.expression); - } function parseJsxElementOrSelfClosingElementOrFragment(inExpressionContext) { var opening = parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext); var result; - if (opening.kind === 256 /* JsxOpeningElement */) { - var node = createNode(254 /* JsxElement */, opening.pos); + if (opening.kind === 257 /* JsxOpeningElement */) { + var node = createNode(255 /* JsxElement */, opening.pos); node.openingElement = opening; node.children = parseJsxChildren(node.openingElement); node.closingElement = parseJsxClosingElement(inExpressionContext); @@ -18472,15 +18519,15 @@ var ts; } result = finishNode(node); } - else if (opening.kind === 259 /* JsxOpeningFragment */) { - var node = createNode(258 /* JsxFragment */, opening.pos); + else if (opening.kind === 260 /* JsxOpeningFragment */) { + var node = createNode(259 /* JsxFragment */, opening.pos); node.openingFragment = opening; node.children = parseJsxChildren(node.openingFragment); node.closingFragment = parseJsxClosingFragment(inExpressionContext); result = finishNode(node); } else { - ts.Debug.assert(opening.kind === 255 /* JsxSelfClosingElement */); + ts.Debug.assert(opening.kind === 256 /* JsxSelfClosingElement */); // Nothing else to do for self-closing elements result = opening; } @@ -18495,11 +18542,11 @@ var ts; var invalidElement = tryParse(function () { return parseJsxElementOrSelfClosingElementOrFragment(/*inExpressionContext*/ true); }); if (invalidElement) { parseErrorAtCurrentToken(ts.Diagnostics.JSX_expressions_must_have_one_parent_element); - var badNode = createNode(199 /* BinaryExpression */, result.pos); + var badNode = createNode(200 /* BinaryExpression */, result.pos); badNode.end = invalidElement.end; badNode.left = result; badNode.right = invalidElement; - badNode.operatorToken = createMissingNode(26 /* CommaToken */, /*reportAtCurrentPosition*/ false, /*diagnosticMessage*/ undefined); + badNode.operatorToken = createMissingNode(26 /* CommaToken */, /*reportAtCurrentPosition*/ false, /*diagnosticMessage*/ undefined); // TODO: GH#18217 badNode.operatorToken.pos = badNode.operatorToken.end = badNode.right.pos; return badNode; } @@ -18553,7 +18600,7 @@ var ts; return createNodeArray(list, listPos); } function parseJsxAttributes() { - var jsxAttributes = createNode(262 /* JsxAttributes */); + var jsxAttributes = createNode(263 /* JsxAttributes */); jsxAttributes.properties = parseList(13 /* JsxAttributes */, parseJsxAttribute); return finishNode(jsxAttributes); } @@ -18562,7 +18609,7 @@ var ts; parseExpected(27 /* LessThanToken */); if (token() === 29 /* GreaterThanToken */) { // See below for explanation of scanJsxText - var node_1 = createNode(259 /* JsxOpeningFragment */, fullStart); + var node_1 = createNode(260 /* JsxOpeningFragment */, fullStart); scanJsxText(); return finishNode(node_1); } @@ -18574,7 +18621,7 @@ var ts; // Closing tag, so scan the immediately-following text with the JSX scanning instead // of regular scanning to avoid treating illegal characters (e.g. '#') as immediate // scanning errors - node = createNode(256 /* JsxOpeningElement */, fullStart); + node = createNode(257 /* JsxOpeningElement */, fullStart); scanJsxText(); } else { @@ -18586,7 +18633,7 @@ var ts; parseExpected(29 /* GreaterThanToken */, /*diagnostic*/ undefined, /*shouldAdvance*/ false); scanJsxText(); } - node = createNode(255 /* JsxSelfClosingElement */, fullStart); + node = createNode(256 /* JsxSelfClosingElement */, fullStart); } node.tagName = tagName; node.typeArguments = typeArguments; @@ -18603,7 +18650,7 @@ var ts; var expression = token() === 99 /* ThisKeyword */ ? parseTokenNode() : parseIdentifierName(); while (parseOptional(23 /* DotToken */)) { - var propertyAccess = createNode(184 /* PropertyAccessExpression */, expression.pos); + var propertyAccess = createNode(185 /* PropertyAccessExpression */, expression.pos); propertyAccess.expression = expression; propertyAccess.name = parseRightSideOfDot(/*allowIdentifierNames*/ true); expression = finishNode(propertyAccess); @@ -18611,7 +18658,7 @@ var ts; return expression; } function parseJsxExpression(inExpressionContext) { - var node = createNode(264 /* JsxExpression */); + var node = createNode(265 /* JsxExpression */); if (!parseExpected(17 /* OpenBraceToken */)) { return undefined; } @@ -18633,7 +18680,7 @@ var ts; return parseJsxSpreadAttribute(); } scanJsxIdentifier(); - var node = createNode(261 /* JsxAttribute */); + var node = createNode(262 /* JsxAttribute */); node.name = parseIdentifierName(); if (token() === 58 /* EqualsToken */) { switch (scanJsxAttributeValue()) { @@ -18648,7 +18695,7 @@ var ts; return finishNode(node); } function parseJsxSpreadAttribute() { - var node = createNode(263 /* JsxSpreadAttribute */); + var node = createNode(264 /* JsxSpreadAttribute */); parseExpected(17 /* OpenBraceToken */); parseExpected(24 /* DotDotDotToken */); node.expression = parseExpression(); @@ -18656,7 +18703,7 @@ var ts; return finishNode(node); } function parseJsxClosingElement(inExpressionContext) { - var node = createNode(257 /* JsxClosingElement */); + var node = createNode(258 /* JsxClosingElement */); parseExpected(28 /* LessThanSlashToken */); node.tagName = parseJsxElementName(); if (inExpressionContext) { @@ -18669,7 +18716,7 @@ var ts; return finishNode(node); } function parseJsxClosingFragment(inExpressionContext) { - var node = createNode(260 /* JsxClosingFragment */); + var node = createNode(261 /* JsxClosingFragment */); parseExpected(28 /* LessThanSlashToken */); if (ts.tokenIsIdentifierOrKeyword(token())) { parseErrorAtRange(parseJsxElementName(), ts.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment); @@ -18684,7 +18731,7 @@ var ts; return finishNode(node); } function parseTypeAssertion() { - var node = createNode(189 /* TypeAssertionExpression */); + var node = createNode(190 /* TypeAssertionExpression */); parseExpected(27 /* LessThanToken */); node.type = parseType(); parseExpected(29 /* GreaterThanToken */); @@ -18695,7 +18742,7 @@ var ts; while (true) { var dotToken = parseOptionalToken(23 /* DotToken */); if (dotToken) { - var propertyAccess = createNode(184 /* PropertyAccessExpression */, expression.pos); + var propertyAccess = createNode(185 /* PropertyAccessExpression */, expression.pos); propertyAccess.expression = expression; propertyAccess.name = parseRightSideOfDot(/*allowIdentifierNames*/ true); expression = finishNode(propertyAccess); @@ -18703,14 +18750,14 @@ var ts; } if (token() === 51 /* ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { nextToken(); - var nonNullExpression = createNode(208 /* NonNullExpression */, expression.pos); + var nonNullExpression = createNode(209 /* NonNullExpression */, expression.pos); nonNullExpression.expression = expression; expression = finishNode(nonNullExpression); continue; } // when in the [Decorator] context, we do not parse ElementAccess as it could be part of a ComputedPropertyName if (!inDecoratorContext() && parseOptional(21 /* OpenBracketToken */)) { - var indexedAccess = createNode(185 /* ElementAccessExpression */, expression.pos); + var indexedAccess = createNode(186 /* ElementAccessExpression */, expression.pos); indexedAccess.expression = expression; if (token() === 22 /* CloseBracketToken */) { indexedAccess.argumentExpression = createMissingNode(71 /* Identifier */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.An_element_access_expression_should_take_an_argument); @@ -18737,7 +18784,7 @@ var ts; return token() === 13 /* NoSubstitutionTemplateLiteral */ || token() === 14 /* TemplateHead */; } function parseTaggedTemplateRest(tag, typeArguments) { - var tagExpression = createNode(188 /* TaggedTemplateExpression */, tag.pos); + var tagExpression = createNode(189 /* TaggedTemplateExpression */, tag.pos); tagExpression.tag = tag; tagExpression.typeArguments = typeArguments; tagExpression.template = token() === 13 /* NoSubstitutionTemplateLiteral */ @@ -18761,7 +18808,7 @@ var ts; expression = parseTaggedTemplateRest(expression, typeArguments); continue; } - var callExpr = createNode(186 /* CallExpression */, expression.pos); + var callExpr = createNode(187 /* CallExpression */, expression.pos); callExpr.expression = expression; callExpr.typeArguments = typeArguments; callExpr.arguments = parseArgumentList(); @@ -18769,7 +18816,7 @@ var ts; continue; } else if (token() === 19 /* OpenParenToken */) { - var callExpr = createNode(186 /* CallExpression */, expression.pos); + var callExpr = createNode(187 /* CallExpression */, expression.pos); callExpr.expression = expression; callExpr.arguments = parseArgumentList(); expression = finishNode(callExpr); @@ -18881,28 +18928,28 @@ var ts; return parseIdentifier(ts.Diagnostics.Expression_expected); } function parseParenthesizedExpression() { - var node = createNodeWithJSDoc(190 /* ParenthesizedExpression */); + var node = createNodeWithJSDoc(191 /* ParenthesizedExpression */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); parseExpected(20 /* CloseParenToken */); return finishNode(node); } function parseSpreadElement() { - var node = createNode(203 /* SpreadElement */); + var node = createNode(204 /* SpreadElement */); parseExpected(24 /* DotDotDotToken */); node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } function parseArgumentOrArrayLiteralElement() { return token() === 24 /* DotDotDotToken */ ? parseSpreadElement() : - token() === 26 /* CommaToken */ ? createNode(205 /* OmittedExpression */) : + token() === 26 /* CommaToken */ ? createNode(206 /* OmittedExpression */) : parseAssignmentExpressionOrHigher(); } function parseArgumentExpression() { return doOutsideOfContext(disallowInAndDecoratorContext, parseArgumentOrArrayLiteralElement); } function parseArrayLiteralExpression() { - var node = createNode(182 /* ArrayLiteralExpression */); + var node = createNode(183 /* ArrayLiteralExpression */); parseExpected(21 /* OpenBracketToken */); if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -18914,17 +18961,17 @@ var ts; function parseObjectLiteralElement() { var node = createNodeWithJSDoc(0 /* Unknown */); if (parseOptionalToken(24 /* DotDotDotToken */)) { - node.kind = 271 /* SpreadAssignment */; + node.kind = 272 /* SpreadAssignment */; node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } node.decorators = parseDecorators(); node.modifiers = parseModifiers(); if (parseContextualModifier(125 /* GetKeyword */)) { - return parseAccessorDeclaration(node, 155 /* GetAccessor */); + return parseAccessorDeclaration(node, 156 /* GetAccessor */); } if (parseContextualModifier(136 /* SetKeyword */)) { - return parseAccessorDeclaration(node, 156 /* SetAccessor */); + return parseAccessorDeclaration(node, 157 /* SetAccessor */); } var asteriskToken = parseOptionalToken(39 /* AsteriskToken */); var tokenIsIdentifier = isIdentifier(); @@ -18941,7 +18988,7 @@ var ts; // this is necessary because ObjectLiteral productions are also used to cover grammar for ObjectAssignmentPattern var isShorthandPropertyAssignment = tokenIsIdentifier && (token() === 26 /* CommaToken */ || token() === 18 /* CloseBraceToken */ || token() === 58 /* EqualsToken */); if (isShorthandPropertyAssignment) { - node.kind = 270 /* ShorthandPropertyAssignment */; + node.kind = 271 /* ShorthandPropertyAssignment */; var equalsToken = parseOptionalToken(58 /* EqualsToken */); if (equalsToken) { node.equalsToken = equalsToken; @@ -18949,14 +18996,14 @@ var ts; } } else { - node.kind = 269 /* PropertyAssignment */; + node.kind = 270 /* PropertyAssignment */; parseExpected(56 /* ColonToken */); node.initializer = allowInAnd(parseAssignmentExpressionOrHigher); } return finishNode(node); } function parseObjectLiteralExpression() { - var node = createNode(183 /* ObjectLiteralExpression */); + var node = createNode(184 /* ObjectLiteralExpression */); parseExpected(17 /* OpenBraceToken */); if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -18975,7 +19022,7 @@ var ts; if (saveDecoratorContext) { setDecoratorContext(/*val*/ false); } - var node = createNodeWithJSDoc(191 /* FunctionExpression */); + var node = createNodeWithJSDoc(192 /* FunctionExpression */); node.modifiers = parseModifiers(); parseExpected(89 /* FunctionKeyword */); node.asteriskToken = parseOptionalToken(39 /* AsteriskToken */); @@ -19000,7 +19047,7 @@ var ts; var fullStart = scanner.getStartPos(); parseExpected(94 /* NewKeyword */); if (parseOptional(23 /* DotToken */)) { - var node_2 = createNode(209 /* MetaProperty */, fullStart); + var node_2 = createNode(210 /* MetaProperty */, fullStart); node_2.keywordToken = 94 /* NewKeyword */; node_2.name = parseIdentifierName(); return finishNode(node_2); @@ -19017,7 +19064,7 @@ var ts; } break; } - var node = createNode(187 /* NewExpression */, fullStart); + var node = createNode(188 /* NewExpression */, fullStart); node.expression = expression; node.typeArguments = typeArguments; if (node.typeArguments || token() === 19 /* OpenParenToken */) { @@ -19027,7 +19074,7 @@ var ts; } // STATEMENTS function parseBlock(ignoreMissingOpenBrace, diagnosticMessage) { - var node = createNode(212 /* Block */); + var node = createNode(213 /* Block */); if (parseExpected(17 /* OpenBraceToken */, diagnosticMessage) || ignoreMissingOpenBrace) { if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -19060,12 +19107,12 @@ var ts; return block; } function parseEmptyStatement() { - var node = createNode(214 /* EmptyStatement */); + var node = createNode(215 /* EmptyStatement */); parseExpected(25 /* SemicolonToken */); return finishNode(node); } function parseIfStatement() { - var node = createNode(216 /* IfStatement */); + var node = createNode(217 /* IfStatement */); parseExpected(90 /* IfKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); @@ -19075,7 +19122,7 @@ var ts; return finishNode(node); } function parseDoStatement() { - var node = createNode(217 /* DoStatement */); + var node = createNode(218 /* DoStatement */); parseExpected(81 /* DoKeyword */); node.statement = parseStatement(); parseExpected(106 /* WhileKeyword */); @@ -19090,7 +19137,7 @@ var ts; return finishNode(node); } function parseWhileStatement() { - var node = createNode(218 /* WhileStatement */); + var node = createNode(219 /* WhileStatement */); parseExpected(106 /* WhileKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); @@ -19113,8 +19160,8 @@ var ts; } } var forOrForInOrForOfStatement; - if (awaitToken ? parseExpected(144 /* OfKeyword */) : parseOptional(144 /* OfKeyword */)) { - var forOfStatement = createNode(221 /* ForOfStatement */, pos); + if (awaitToken ? parseExpected(145 /* OfKeyword */) : parseOptional(145 /* OfKeyword */)) { + var forOfStatement = createNode(222 /* ForOfStatement */, pos); forOfStatement.awaitModifier = awaitToken; forOfStatement.initializer = initializer; forOfStatement.expression = allowInAnd(parseAssignmentExpressionOrHigher); @@ -19122,14 +19169,14 @@ var ts; forOrForInOrForOfStatement = forOfStatement; } else if (parseOptional(92 /* InKeyword */)) { - var forInStatement = createNode(220 /* ForInStatement */, pos); + var forInStatement = createNode(221 /* ForInStatement */, pos); forInStatement.initializer = initializer; forInStatement.expression = allowInAnd(parseExpression); parseExpected(20 /* CloseParenToken */); forOrForInOrForOfStatement = forInStatement; } else { - var forStatement = createNode(219 /* ForStatement */, pos); + var forStatement = createNode(220 /* ForStatement */, pos); forStatement.initializer = initializer; parseExpected(25 /* SemicolonToken */); if (token() !== 25 /* SemicolonToken */ && token() !== 20 /* CloseParenToken */) { @@ -19147,7 +19194,7 @@ var ts; } function parseBreakOrContinueStatement(kind) { var node = createNode(kind); - parseExpected(kind === 223 /* BreakStatement */ ? 72 /* BreakKeyword */ : 77 /* ContinueKeyword */); + parseExpected(kind === 224 /* BreakStatement */ ? 72 /* BreakKeyword */ : 77 /* ContinueKeyword */); if (!canParseSemicolon()) { node.label = parseIdentifier(); } @@ -19155,7 +19202,7 @@ var ts; return finishNode(node); } function parseReturnStatement() { - var node = createNode(224 /* ReturnStatement */); + var node = createNode(225 /* ReturnStatement */); parseExpected(96 /* ReturnKeyword */); if (!canParseSemicolon()) { node.expression = allowInAnd(parseExpression); @@ -19164,7 +19211,7 @@ var ts; return finishNode(node); } function parseWithStatement() { - var node = createNode(225 /* WithStatement */); + var node = createNode(226 /* WithStatement */); parseExpected(107 /* WithKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); @@ -19173,7 +19220,7 @@ var ts; return finishNode(node); } function parseCaseClause() { - var node = createNode(265 /* CaseClause */); + var node = createNode(266 /* CaseClause */); parseExpected(73 /* CaseKeyword */); node.expression = allowInAnd(parseExpression); parseExpected(56 /* ColonToken */); @@ -19181,7 +19228,7 @@ var ts; return finishNode(node); } function parseDefaultClause() { - var node = createNode(266 /* DefaultClause */); + var node = createNode(267 /* DefaultClause */); parseExpected(79 /* DefaultKeyword */); parseExpected(56 /* ColonToken */); node.statements = parseList(3 /* SwitchClauseStatements */, parseStatement); @@ -19191,12 +19238,12 @@ var ts; return token() === 73 /* CaseKeyword */ ? parseCaseClause() : parseDefaultClause(); } function parseSwitchStatement() { - var node = createNode(226 /* SwitchStatement */); + var node = createNode(227 /* SwitchStatement */); parseExpected(98 /* SwitchKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = allowInAnd(parseExpression); parseExpected(20 /* CloseParenToken */); - var caseBlock = createNode(240 /* CaseBlock */); + var caseBlock = createNode(241 /* CaseBlock */); parseExpected(17 /* OpenBraceToken */); caseBlock.clauses = parseList(2 /* SwitchClauses */, parseCaseOrDefaultClause); parseExpected(18 /* CloseBraceToken */); @@ -19211,7 +19258,7 @@ var ts; // directly as that might consume an expression on the following line. // We just return 'undefined' in that case. The actual error will be reported in the // grammar walker. - var node = createNode(228 /* ThrowStatement */); + var node = createNode(229 /* ThrowStatement */); parseExpected(100 /* ThrowKeyword */); node.expression = scanner.hasPrecedingLineBreak() ? undefined : allowInAnd(parseExpression); parseSemicolon(); @@ -19219,7 +19266,7 @@ var ts; } // TODO: Review for error recovery function parseTryStatement() { - var node = createNode(229 /* TryStatement */); + var node = createNode(230 /* TryStatement */); parseExpected(102 /* TryKeyword */); node.tryBlock = parseBlock(/*ignoreMissingOpenBrace*/ false); node.catchClause = token() === 74 /* CatchKeyword */ ? parseCatchClause() : undefined; @@ -19232,7 +19279,7 @@ var ts; return finishNode(node); } function parseCatchClause() { - var result = createNode(268 /* CatchClause */); + var result = createNode(269 /* CatchClause */); parseExpected(74 /* CatchKeyword */); if (parseOptional(19 /* OpenParenToken */)) { result.variableDeclaration = parseVariableDeclaration(); @@ -19246,7 +19293,7 @@ var ts; return finishNode(result); } function parseDebuggerStatement() { - var node = createNode(230 /* DebuggerStatement */); + var node = createNode(231 /* DebuggerStatement */); parseExpected(78 /* DebuggerKeyword */); parseSemicolon(); return finishNode(node); @@ -19258,12 +19305,12 @@ var ts; var node = createNodeWithJSDoc(0 /* Unknown */); var expression = allowInAnd(parseExpression); if (expression.kind === 71 /* Identifier */ && parseOptional(56 /* ColonToken */)) { - node.kind = 227 /* LabeledStatement */; + node.kind = 228 /* LabeledStatement */; node.label = expression; node.statement = parseStatement(); } else { - node.kind = 215 /* ExpressionStatement */; + node.kind = 216 /* ExpressionStatement */; node.expression = expression; parseSemicolon(); } @@ -19335,7 +19382,7 @@ var ts; return false; } continue; - case 143 /* GlobalKeyword */: + case 144 /* GlobalKeyword */: nextToken(); return token() === 17 /* OpenBraceToken */ || token() === 71 /* Identifier */ || token() === 84 /* ExportKeyword */; case 91 /* ImportKeyword */: @@ -19399,7 +19446,7 @@ var ts; case 129 /* ModuleKeyword */: case 130 /* NamespaceKeyword */: case 139 /* TypeKeyword */: - case 143 /* GlobalKeyword */: + case 144 /* GlobalKeyword */: // When these don't start a declaration, they're an identifier in an expression statement return true; case 114 /* PublicKeyword */: @@ -19430,16 +19477,16 @@ var ts; case 17 /* OpenBraceToken */: return parseBlock(/*ignoreMissingOpenBrace*/ false); case 104 /* VarKeyword */: - return parseVariableStatement(createNodeWithJSDoc(231 /* VariableDeclaration */)); + return parseVariableStatement(createNodeWithJSDoc(232 /* VariableDeclaration */)); case 110 /* LetKeyword */: if (isLetDeclaration()) { - return parseVariableStatement(createNodeWithJSDoc(231 /* VariableDeclaration */)); + return parseVariableStatement(createNodeWithJSDoc(232 /* VariableDeclaration */)); } break; case 89 /* FunctionKeyword */: - return parseFunctionDeclaration(createNodeWithJSDoc(233 /* FunctionDeclaration */)); + return parseFunctionDeclaration(createNodeWithJSDoc(234 /* FunctionDeclaration */)); case 75 /* ClassKeyword */: - return parseClassDeclaration(createNodeWithJSDoc(234 /* ClassDeclaration */)); + return parseClassDeclaration(createNodeWithJSDoc(235 /* ClassDeclaration */)); case 90 /* IfKeyword */: return parseIfStatement(); case 81 /* DoKeyword */: @@ -19449,9 +19496,9 @@ var ts; case 88 /* ForKeyword */: return parseForOrForInOrForOfStatement(); case 77 /* ContinueKeyword */: - return parseBreakOrContinueStatement(222 /* ContinueStatement */); + return parseBreakOrContinueStatement(223 /* ContinueStatement */); case 72 /* BreakKeyword */: - return parseBreakOrContinueStatement(223 /* BreakStatement */); + return parseBreakOrContinueStatement(224 /* BreakStatement */); case 96 /* ReturnKeyword */: return parseReturnStatement(); case 107 /* WithKeyword */: @@ -19485,7 +19532,7 @@ var ts; case 117 /* AbstractKeyword */: case 115 /* StaticKeyword */: case 132 /* ReadonlyKeyword */: - case 143 /* GlobalKeyword */: + case 144 /* GlobalKeyword */: if (isStartOfDeclaration()) { return parseDeclaration(); } @@ -19527,7 +19574,7 @@ var ts; return parseTypeAliasDeclaration(node); case 83 /* EnumKeyword */: return parseEnumDeclaration(node); - case 143 /* GlobalKeyword */: + case 144 /* GlobalKeyword */: case 129 /* ModuleKeyword */: case 130 /* NamespaceKeyword */: return parseModuleDeclaration(node); @@ -19548,12 +19595,13 @@ var ts; if (node.decorators || node.modifiers) { // We reached this point because we encountered decorators and/or modifiers and assumed a declaration // would follow. For recovery and error reporting purposes, return an incomplete declaration. - var missing = createMissingNode(252 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); + var missing = createMissingNode(253 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); missing.pos = node.pos; missing.decorators = node.decorators; missing.modifiers = node.modifiers; return finishNode(missing); } + return undefined; // TODO: GH#18217 } } function nextTokenIsIdentifierOrStringLiteralOnSameLine() { @@ -19570,16 +19618,16 @@ var ts; // DECLARATIONS function parseArrayBindingElement() { if (token() === 26 /* CommaToken */) { - return createNode(205 /* OmittedExpression */); + return createNode(206 /* OmittedExpression */); } - var node = createNode(181 /* BindingElement */); + var node = createNode(182 /* BindingElement */); node.dotDotDotToken = parseOptionalToken(24 /* DotDotDotToken */); node.name = parseIdentifierOrPattern(); node.initializer = parseInitializer(); return finishNode(node); } function parseObjectBindingElement() { - var node = createNode(181 /* BindingElement */); + var node = createNode(182 /* BindingElement */); node.dotDotDotToken = parseOptionalToken(24 /* DotDotDotToken */); var tokenIsIdentifier = isIdentifier(); var propertyName = parsePropertyName(); @@ -19595,14 +19643,14 @@ var ts; return finishNode(node); } function parseObjectBindingPattern() { - var node = createNode(179 /* ObjectBindingPattern */); + var node = createNode(180 /* ObjectBindingPattern */); parseExpected(17 /* OpenBraceToken */); node.elements = parseDelimitedList(9 /* ObjectBindingElements */, parseObjectBindingElement); parseExpected(18 /* CloseBraceToken */); return finishNode(node); } function parseArrayBindingPattern() { - var node = createNode(180 /* ArrayBindingPattern */); + var node = createNode(181 /* ArrayBindingPattern */); parseExpected(21 /* OpenBracketToken */); node.elements = parseDelimitedList(10 /* ArrayBindingElements */, parseArrayBindingElement); parseExpected(22 /* CloseBracketToken */); @@ -19624,7 +19672,7 @@ var ts; return parseVariableDeclaration(/*allowExclamation*/ true); } function parseVariableDeclaration(allowExclamation) { - var node = createNode(231 /* VariableDeclaration */); + var node = createNode(232 /* VariableDeclaration */); node.name = parseIdentifierOrPattern(); if (allowExclamation && node.name.kind === 71 /* Identifier */ && token() === 51 /* ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { @@ -19637,7 +19685,7 @@ var ts; return finishNode(node); } function parseVariableDeclarationList(inForStatementInitializer) { - var node = createNode(232 /* VariableDeclarationList */); + var node = createNode(233 /* VariableDeclarationList */); switch (token()) { case 104 /* VarKeyword */: break; @@ -19660,7 +19708,7 @@ var ts; // So we need to look ahead to determine if 'of' should be treated as a keyword in // this context. // The checker will then give an error that there is an empty declaration list. - if (token() === 144 /* OfKeyword */ && lookAhead(canFollowContextualOfKeyword)) { + if (token() === 145 /* OfKeyword */ && lookAhead(canFollowContextualOfKeyword)) { node.declarations = createMissingList(); } else { @@ -19675,13 +19723,13 @@ var ts; return nextTokenIsIdentifier() && nextToken() === 20 /* CloseParenToken */; } function parseVariableStatement(node) { - node.kind = 213 /* VariableStatement */; + node.kind = 214 /* VariableStatement */; node.declarationList = parseVariableDeclarationList(/*inForStatementInitializer*/ false); parseSemicolon(); return finishNode(node); } function parseFunctionDeclaration(node) { - node.kind = 233 /* FunctionDeclaration */; + node.kind = 234 /* FunctionDeclaration */; parseExpected(89 /* FunctionKeyword */); node.asteriskToken = parseOptionalToken(39 /* AsteriskToken */); node.name = ts.hasModifier(node, 512 /* Default */) ? parseOptionalIdentifier() : parseIdentifier(); @@ -19692,14 +19740,14 @@ var ts; return finishNode(node); } function parseConstructorDeclaration(node) { - node.kind = 154 /* Constructor */; + node.kind = 155 /* Constructor */; parseExpected(123 /* ConstructorKeyword */); fillSignature(56 /* ColonToken */, 0 /* None */, node); node.body = parseFunctionBlockOrSemicolon(0 /* None */, ts.Diagnostics.or_expected); return finishNode(node); } function parseMethodDeclaration(node, asteriskToken, diagnosticMessage) { - node.kind = 153 /* MethodDeclaration */; + node.kind = 154 /* MethodDeclaration */; node.asteriskToken = asteriskToken; var isGenerator = asteriskToken ? 1 /* Yield */ : 0 /* None */; var isAsync = ts.hasModifier(node, 256 /* Async */) ? 2 /* Await */ : 0 /* None */; @@ -19708,7 +19756,7 @@ var ts; return finishNode(node); } function parsePropertyDeclaration(node) { - node.kind = 151 /* PropertyDeclaration */; + node.kind = 152 /* PropertyDeclaration */; if (!node.questionToken && token() === 51 /* ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { node.exclamationToken = parseTokenNode(); } @@ -19813,7 +19861,7 @@ var ts; if (!parseOptional(57 /* AtToken */)) { break; } - var decorator = createNode(149 /* Decorator */, decoratorStart); + var decorator = createNode(150 /* Decorator */, decoratorStart); decorator.expression = doInDecoratorContext(parseLeftHandSideExpressionOrHigher); finishNode(decorator); (list || (list = [])).push(decorator); @@ -19863,7 +19911,7 @@ var ts; } function parseClassElement() { if (token() === 25 /* SemicolonToken */) { - var result = createNode(211 /* SemicolonClassElement */); + var result = createNode(212 /* SemicolonClassElement */); nextToken(); return finishNode(result); } @@ -19871,10 +19919,10 @@ var ts; node.decorators = parseDecorators(); node.modifiers = parseModifiers(/*permitInvalidConstAsModifier*/ true); if (parseContextualModifier(125 /* GetKeyword */)) { - return parseAccessorDeclaration(node, 155 /* GetAccessor */); + return parseAccessorDeclaration(node, 156 /* GetAccessor */); } if (parseContextualModifier(136 /* SetKeyword */)) { - return parseAccessorDeclaration(node, 156 /* SetAccessor */); + return parseAccessorDeclaration(node, 157 /* SetAccessor */); } if (token() === 123 /* ConstructorKeyword */) { return parseConstructorDeclaration(node); @@ -19897,13 +19945,13 @@ var ts; return parsePropertyDeclaration(node); } // 'isClassMemberStart' should have hinted not to attempt parsing. - ts.Debug.fail("Should not have attempted to parse class member declaration."); + return ts.Debug.fail("Should not have attempted to parse class member declaration."); } function parseClassExpression() { - return parseClassDeclarationOrExpression(createNodeWithJSDoc(0 /* Unknown */), 204 /* ClassExpression */); + return parseClassDeclarationOrExpression(createNodeWithJSDoc(0 /* Unknown */), 205 /* ClassExpression */); } function parseClassDeclaration(node) { - return parseClassDeclarationOrExpression(node, 234 /* ClassDeclaration */); + return parseClassDeclarationOrExpression(node, 235 /* ClassDeclaration */); } function parseClassDeclarationOrExpression(node, kind) { node.kind = kind; @@ -19945,17 +19993,15 @@ var ts; } function parseHeritageClause() { var tok = token(); - if (tok === 85 /* ExtendsKeyword */ || tok === 108 /* ImplementsKeyword */) { - var node = createNode(267 /* HeritageClause */); - node.token = tok; - nextToken(); - node.types = parseDelimitedList(7 /* HeritageClauseElement */, parseExpressionWithTypeArguments); - return finishNode(node); - } - return undefined; + ts.Debug.assert(tok === 85 /* ExtendsKeyword */ || tok === 108 /* ImplementsKeyword */); // isListElement() should ensure this. + var node = createNode(268 /* HeritageClause */); + node.token = tok; + nextToken(); + node.types = parseDelimitedList(7 /* HeritageClauseElement */, parseExpressionWithTypeArguments); + return finishNode(node); } function parseExpressionWithTypeArguments() { - var node = createNode(206 /* ExpressionWithTypeArguments */); + var node = createNode(207 /* ExpressionWithTypeArguments */); node.expression = parseLeftHandSideExpressionOrHigher(); node.typeArguments = tryParseTypeArguments(); return finishNode(node); @@ -19972,7 +20018,7 @@ var ts; return parseList(5 /* ClassMembers */, parseClassElement); } function parseInterfaceDeclaration(node) { - node.kind = 235 /* InterfaceDeclaration */; + node.kind = 236 /* InterfaceDeclaration */; parseExpected(109 /* InterfaceKeyword */); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); @@ -19981,7 +20027,7 @@ var ts; return finishNode(node); } function parseTypeAliasDeclaration(node) { - node.kind = 236 /* TypeAliasDeclaration */; + node.kind = 237 /* TypeAliasDeclaration */; parseExpected(139 /* TypeKeyword */); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); @@ -19995,13 +20041,13 @@ var ts; // ConstantEnumMemberSection, which starts at the beginning of an enum declaration // or any time an integer literal initializer is encountered. function parseEnumMember() { - var node = createNodeWithJSDoc(272 /* EnumMember */); + var node = createNodeWithJSDoc(273 /* EnumMember */); node.name = parsePropertyName(); node.initializer = allowInAnd(parseInitializer); return finishNode(node); } function parseEnumDeclaration(node) { - node.kind = 237 /* EnumDeclaration */; + node.kind = 238 /* EnumDeclaration */; parseExpected(83 /* EnumKeyword */); node.name = parseIdentifier(); if (parseExpected(17 /* OpenBraceToken */)) { @@ -20014,7 +20060,7 @@ var ts; return finishNode(node); } function parseModuleBlock() { - var node = createNode(239 /* ModuleBlock */); + var node = createNode(240 /* ModuleBlock */); if (parseExpected(17 /* OpenBraceToken */)) { node.statements = parseList(1 /* BlockStatements */, parseStatement); parseExpected(18 /* CloseBraceToken */); @@ -20025,7 +20071,7 @@ var ts; return finishNode(node); } function parseModuleOrNamespaceDeclaration(node, flags) { - node.kind = 238 /* ModuleDeclaration */; + node.kind = 239 /* ModuleDeclaration */; // If we are parsing a dotted namespace name, we want to // propagate the 'Namespace' flag across the names if set. var namespaceFlag = flags & 16 /* Namespace */; @@ -20037,8 +20083,8 @@ var ts; return finishNode(node); } function parseAmbientExternalModuleDeclaration(node) { - node.kind = 238 /* ModuleDeclaration */; - if (token() === 143 /* GlobalKeyword */) { + node.kind = 239 /* ModuleDeclaration */; + if (token() === 144 /* GlobalKeyword */) { // parse 'global' as name of global scope augmentation node.name = parseIdentifier(); node.flags |= 512 /* GlobalAugmentation */; @@ -20057,7 +20103,7 @@ var ts; } function parseModuleDeclaration(node) { var flags = 0; - if (token() === 143 /* GlobalKeyword */) { + if (token() === 144 /* GlobalKeyword */) { // global augmentation return parseAmbientExternalModuleDeclaration(node); } @@ -20083,7 +20129,7 @@ var ts; return nextToken() === 41 /* SlashToken */; } function parseNamespaceExportDeclaration(node) { - node.kind = 241 /* NamespaceExportDeclaration */; + node.kind = 242 /* NamespaceExportDeclaration */; parseExpected(118 /* AsKeyword */); parseExpected(130 /* NamespaceKeyword */); node.name = parseIdentifier(); @@ -20096,12 +20142,12 @@ var ts; var identifier; if (isIdentifier()) { identifier = parseIdentifier(); - if (token() !== 26 /* CommaToken */ && token() !== 142 /* FromKeyword */) { + if (token() !== 26 /* CommaToken */ && token() !== 143 /* FromKeyword */) { return parseImportEqualsDeclaration(node, identifier); } } // Import statement - node.kind = 243 /* ImportDeclaration */; + node.kind = 244 /* ImportDeclaration */; // ImportDeclaration: // import ImportClause from ModuleSpecifier ; // import ModuleSpecifier; @@ -20109,14 +20155,14 @@ var ts; token() === 39 /* AsteriskToken */ || // import * token() === 17 /* OpenBraceToken */) { // import { node.importClause = parseImportClause(identifier, afterImportPos); - parseExpected(142 /* FromKeyword */); + parseExpected(143 /* FromKeyword */); } node.moduleSpecifier = parseModuleSpecifier(); parseSemicolon(); return finishNode(node); } function parseImportEqualsDeclaration(node, identifier) { - node.kind = 242 /* ImportEqualsDeclaration */; + node.kind = 243 /* ImportEqualsDeclaration */; node.name = identifier; parseExpected(58 /* EqualsToken */); node.moduleReference = parseModuleReference(); @@ -20130,7 +20176,7 @@ var ts; // NamedImports // ImportedDefaultBinding, NameSpaceImport // ImportedDefaultBinding, NamedImports - var importClause = createNode(244 /* ImportClause */, fullStart); + var importClause = createNode(245 /* ImportClause */, fullStart); if (identifier) { // ImportedDefaultBinding: // ImportedBinding @@ -20140,7 +20186,7 @@ var ts; // parse namespace or named imports if (!importClause.name || parseOptional(26 /* CommaToken */)) { - importClause.namedBindings = token() === 39 /* AsteriskToken */ ? parseNamespaceImport() : parseNamedImportsOrExports(246 /* NamedImports */); + importClause.namedBindings = token() === 39 /* AsteriskToken */ ? parseNamespaceImport() : parseNamedImportsOrExports(247 /* NamedImports */); } return finishNode(importClause); } @@ -20150,7 +20196,7 @@ var ts; : parseEntityName(/*allowReservedWords*/ false); } function parseExternalModuleReference() { - var node = createNode(253 /* ExternalModuleReference */); + var node = createNode(254 /* ExternalModuleReference */); parseExpected(133 /* RequireKeyword */); parseExpected(19 /* OpenParenToken */); node.expression = parseModuleSpecifier(); @@ -20173,7 +20219,7 @@ var ts; function parseNamespaceImport() { // NameSpaceImport: // * as ImportedBinding - var namespaceImport = createNode(245 /* NamespaceImport */); + var namespaceImport = createNode(246 /* NamespaceImport */); parseExpected(39 /* AsteriskToken */); parseExpected(118 /* AsKeyword */); namespaceImport.name = parseIdentifier(); @@ -20188,14 +20234,14 @@ var ts; // ImportsList: // ImportSpecifier // ImportsList, ImportSpecifier - node.elements = parseBracketedList(22 /* ImportOrExportSpecifiers */, kind === 246 /* NamedImports */ ? parseImportSpecifier : parseExportSpecifier, 17 /* OpenBraceToken */, 18 /* CloseBraceToken */); + node.elements = parseBracketedList(22 /* ImportOrExportSpecifiers */, kind === 247 /* NamedImports */ ? parseImportSpecifier : parseExportSpecifier, 17 /* OpenBraceToken */, 18 /* CloseBraceToken */); return finishNode(node); } function parseExportSpecifier() { - return parseImportOrExportSpecifier(251 /* ExportSpecifier */); + return parseImportOrExportSpecifier(252 /* ExportSpecifier */); } function parseImportSpecifier() { - return parseImportOrExportSpecifier(247 /* ImportSpecifier */); + return parseImportOrExportSpecifier(248 /* ImportSpecifier */); } function parseImportOrExportSpecifier(kind) { var node = createNode(kind); @@ -20220,24 +20266,24 @@ var ts; else { node.name = identifierName; } - if (kind === 247 /* ImportSpecifier */ && checkIdentifierIsKeyword) { + if (kind === 248 /* ImportSpecifier */ && checkIdentifierIsKeyword) { parseErrorAt(checkIdentifierStart, checkIdentifierEnd, ts.Diagnostics.Identifier_expected); } return finishNode(node); } function parseExportDeclaration(node) { - node.kind = 249 /* ExportDeclaration */; + node.kind = 250 /* ExportDeclaration */; if (parseOptional(39 /* AsteriskToken */)) { - parseExpected(142 /* FromKeyword */); + parseExpected(143 /* FromKeyword */); node.moduleSpecifier = parseModuleSpecifier(); } else { - node.exportClause = parseNamedImportsOrExports(250 /* NamedExports */); + node.exportClause = parseNamedImportsOrExports(251 /* NamedExports */); // It is not uncommon to accidentally omit the 'from' keyword. Additionally, in editing scenarios, // the 'from' keyword can be parsed as a named export when the export clause is unterminated (i.e. `export { from "moduleName";`) // If we don't have a 'from' keyword, see if we have a string literal such that ASI won't take effect. - if (token() === 142 /* FromKeyword */ || (token() === 9 /* StringLiteral */ && !scanner.hasPrecedingLineBreak())) { - parseExpected(142 /* FromKeyword */); + if (token() === 143 /* FromKeyword */ || (token() === 9 /* StringLiteral */ && !scanner.hasPrecedingLineBreak())) { + parseExpected(143 /* FromKeyword */); node.moduleSpecifier = parseModuleSpecifier(); } } @@ -20245,7 +20291,7 @@ var ts; return finishNode(node); } function parseExportAssignment(node) { - node.kind = 248 /* ExportAssignment */; + node.kind = 249 /* ExportAssignment */; if (parseOptional(58 /* EqualsToken */)) { node.isExportEquals = true; } @@ -20265,10 +20311,10 @@ var ts; } function isAnExternalModuleIndicatorNode(node) { return ts.hasModifier(node, 1 /* Export */) - || node.kind === 242 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 253 /* ExternalModuleReference */ - || node.kind === 243 /* ImportDeclaration */ - || node.kind === 248 /* ExportAssignment */ - || node.kind === 249 /* ExportDeclaration */ + || node.kind === 243 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 254 /* ExternalModuleReference */ + || node.kind === 244 /* ImportDeclaration */ + || node.kind === 249 /* ExportAssignment */ + || node.kind === 250 /* ExportDeclaration */ ? node : undefined; } @@ -20331,7 +20377,7 @@ var ts; JSDocParser.parseJSDocTypeExpressionForTests = parseJSDocTypeExpressionForTests; // Parses out a JSDoc type expression. function parseJSDocTypeExpression(mayOmitBraces) { - var result = createNode(277 /* JSDocTypeExpression */, scanner.getTokenPos()); + var result = createNode(278 /* JSDocTypeExpression */, scanner.getTokenPos()); var hasBrace = (mayOmitBraces ? parseOptional : parseExpected)(17 /* OpenBraceToken */); result.type = doInsideOfContext(2097152 /* JSDoc */, parseJSDocType); if (!mayOmitBraces || hasBrace) { @@ -20384,8 +20430,8 @@ var ts; PropertyLikeParse[PropertyLikeParse["CallbackParameter"] = 4] = "CallbackParameter"; })(PropertyLikeParse || (PropertyLikeParse = {})); function parseJSDocCommentWorker(start, length) { + if (start === void 0) { start = 0; } var content = sourceText; - start = start || 0; var end = length === undefined ? content.length : start + length; length = end - start; ts.Debug.assert(start >= 0); @@ -20415,17 +20461,15 @@ var ts; comments.push(text); indent += text.length; } - var t = nextJSDocToken(); - while (t === 5 /* WhitespaceTrivia */) { - t = nextJSDocToken(); - } - if (t === 4 /* NewLineTrivia */) { + nextJSDocToken(); + while (parseOptionalJsdoc(5 /* WhitespaceTrivia */)) + ; + if (parseOptionalJsdoc(4 /* NewLineTrivia */)) { state = 0 /* BeginningOfLine */; indent = 0; - t = nextJSDocToken(); } loop: while (true) { - switch (t) { + switch (token()) { case 57 /* AtToken */: if (state === 0 /* BeginningOfLine */ || state === 1 /* SawAsterisk */) { removeTrailingNewlines(comments); @@ -20485,7 +20529,7 @@ var ts; pushComment(scanner.getTokenText()); break; } - t = nextJSDocToken(); + nextJSDocToken(); } removeLeadingNewlines(comments); removeTrailingNewlines(comments); @@ -20503,7 +20547,7 @@ var ts; } } function createJSDocComment() { - var result = createNode(285 /* JSDocComment */, start); + var result = createNode(286 /* JSDocComment */, start); result.tags = tags && createNodeArray(tags, tagsPos, tagsEnd); result.comment = comments.length ? comments.join("") : undefined; return finishNode(result, end); @@ -20650,7 +20694,7 @@ var ts; return comments.length === 0 ? undefined : comments.join(""); } function parseUnknownTag(atToken, tagName) { - var result = createNode(288 /* JSDocTag */, atToken.pos); + var result = createNode(289 /* JSDocTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; return finishNode(result); @@ -20694,7 +20738,7 @@ var ts; switch (node.kind) { case 135 /* ObjectKeyword */: return true; - case 166 /* ArrayType */: + case 167 /* ArrayType */: return isObjectOrObjectArrayTypeReference(node.elementType); default: return ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && node.typeName.escapedText === "Object"; @@ -20710,12 +20754,12 @@ var ts; typeExpression = tryParseTypeExpression(); } var result = target === 1 /* Property */ ? - createNode(297 /* JSDocPropertyTag */, atToken.pos) : - createNode(292 /* JSDocParameterTag */, atToken.pos); + createNode(298 /* JSDocPropertyTag */, atToken.pos) : + createNode(293 /* JSDocParameterTag */, atToken.pos); var comment; if (indent !== undefined) comment = parseTagComments(indent + scanner.getStartPos() - atToken.pos); - var nestedTypeLiteral = parseNestedTypeLiteral(typeExpression, name, target); + var nestedTypeLiteral = target !== 4 /* CallbackParameter */ && parseNestedTypeLiteral(typeExpression, name, target); if (nestedTypeLiteral) { typeExpression = nestedTypeLiteral; isNameFirst = true; @@ -20731,20 +20775,20 @@ var ts; } function parseNestedTypeLiteral(typeExpression, name, target) { if (typeExpression && isObjectOrObjectArrayTypeReference(typeExpression.type)) { - var typeLiteralExpression = createNode(277 /* JSDocTypeExpression */, scanner.getTokenPos()); + var typeLiteralExpression = createNode(278 /* JSDocTypeExpression */, scanner.getTokenPos()); var child = void 0; var jsdocTypeLiteral = void 0; var start_2 = scanner.getStartPos(); var children = void 0; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(target, name); })) { - if (child.kind === 292 /* JSDocParameterTag */ || child.kind === 297 /* JSDocPropertyTag */) { + if (child.kind === 293 /* JSDocParameterTag */ || child.kind === 298 /* JSDocPropertyTag */) { children = ts.append(children, child); } } if (children) { - jsdocTypeLiteral = createNode(286 /* JSDocTypeLiteral */, start_2); + jsdocTypeLiteral = createNode(287 /* JSDocTypeLiteral */, start_2); jsdocTypeLiteral.jsDocPropertyTags = children; - if (typeExpression.type.kind === 166 /* ArrayType */) { + if (typeExpression.type.kind === 167 /* ArrayType */) { jsdocTypeLiteral.isArrayType = true; } typeLiteralExpression.type = finishNode(jsdocTypeLiteral); @@ -20753,27 +20797,27 @@ var ts; } } function parseReturnTag(atToken, tagName) { - if (ts.forEach(tags, function (t) { return t.kind === 293 /* JSDocReturnTag */; })) { + if (ts.forEach(tags, function (t) { return t.kind === 294 /* JSDocReturnTag */; })) { parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); } - var result = createNode(293 /* JSDocReturnTag */, atToken.pos); + var result = createNode(294 /* JSDocReturnTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeExpression = tryParseTypeExpression(); return finishNode(result); } function parseTypeTag(atToken, tagName) { - if (ts.forEach(tags, function (t) { return t.kind === 294 /* JSDocTypeTag */; })) { + if (ts.forEach(tags, function (t) { return t.kind === 295 /* JSDocTypeTag */; })) { parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); } - var result = createNode(294 /* JSDocTypeTag */, atToken.pos); + var result = createNode(295 /* JSDocTypeTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeExpression = parseJSDocTypeExpression(/*mayOmitBraces*/ true); return finishNode(result); } function parseAugmentsTag(atToken, tagName) { - var result = createNode(289 /* JSDocAugmentsTag */, atToken.pos); + var result = createNode(290 /* JSDocAugmentsTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.class = parseExpressionWithTypeArgumentsForAugments(); @@ -20781,7 +20825,7 @@ var ts; } function parseExpressionWithTypeArgumentsForAugments() { var usedBrace = parseOptional(17 /* OpenBraceToken */); - var node = createNode(206 /* ExpressionWithTypeArguments */); + var node = createNode(207 /* ExpressionWithTypeArguments */); node.expression = parsePropertyAccessEntityNameExpression(); node.typeArguments = tryParseTypeArguments(); var res = finishNode(node); @@ -20793,15 +20837,15 @@ var ts; function parsePropertyAccessEntityNameExpression() { var node = parseJSDocIdentifierName(/*createIfMissing*/ true); while (parseOptional(23 /* DotToken */)) { - var prop = createNode(184 /* PropertyAccessExpression */, node.pos); + var prop = createNode(185 /* PropertyAccessExpression */, node.pos); prop.expression = node; - prop.name = parseJSDocIdentifierName(); + prop.name = parseJSDocIdentifierName(); // TODO: GH#18217 node = finishNode(prop); } return node; } function parseClassTag(atToken, tagName) { - var tag = createNode(290 /* JSDocClassTag */, atToken.pos); + var tag = createNode(291 /* JSDocClassTag */, atToken.pos); tag.atToken = atToken; tag.tagName = tagName; return finishNode(tag); @@ -20809,7 +20853,7 @@ var ts; function parseTypedefTag(atToken, tagName, indent) { var typeExpression = tryParseTypeExpression(); skipWhitespace(); - var typedefTag = createNode(296 /* JSDocTypedefTag */, atToken.pos); + var typedefTag = createNode(297 /* JSDocTypedefTag */, atToken.pos); typedefTag.atToken = atToken; typedefTag.tagName = tagName; typedefTag.fullName = parseJSDocTypeNameWithNamespace(); @@ -20825,9 +20869,9 @@ var ts; var start_3 = scanner.getStartPos(); while (child = tryParse(function () { return parseChildPropertyTag(); })) { if (!jsdocTypeLiteral) { - jsdocTypeLiteral = createNode(286 /* JSDocTypeLiteral */, start_3); + jsdocTypeLiteral = createNode(287 /* JSDocTypeLiteral */, start_3); } - if (child.kind === 294 /* JSDocTypeTag */) { + if (child.kind === 295 /* JSDocTypeTag */) { if (childTypeTag) { break; } @@ -20840,7 +20884,7 @@ var ts; } } if (jsdocTypeLiteral) { - if (typeExpression && typeExpression.type.kind === 166 /* ArrayType */) { + if (typeExpression && typeExpression.type.kind === 167 /* ArrayType */) { jsdocTypeLiteral.isArrayType = true; } typedefTag.typeExpression = childTypeTag && childTypeTag.typeExpression && !isObjectOrObjectArrayTypeReference(childTypeTag.typeExpression.type) ? @@ -20856,7 +20900,7 @@ var ts; var pos = scanner.getTokenPos(); var typeNameOrNamespaceName = parseJSDocIdentifierName(); if (typeNameOrNamespaceName && parseOptional(23 /* DotToken */)) { - var jsDocNamespaceNode = createNode(238 /* ModuleDeclaration */, pos); + var jsDocNamespaceNode = createNode(239 /* ModuleDeclaration */, pos); if (nested) { jsDocNamespaceNode.flags |= 4 /* NestedNamespace */; } @@ -20870,7 +20914,7 @@ var ts; return typeNameOrNamespaceName; } function parseCallbackTag(atToken, tagName, indent) { - var callbackTag = createNode(291 /* JSDocCallbackTag */, atToken.pos); + var callbackTag = createNode(292 /* JSDocCallbackTag */, atToken.pos); callbackTag.atToken = atToken; callbackTag.tagName = tagName; callbackTag.fullName = parseJSDocTypeNameWithNamespace(); @@ -20879,16 +20923,15 @@ var ts; callbackTag.comment = parseTagComments(indent); var child; var start = scanner.getStartPos(); - var jsdocSignature = createNode(287 /* JSDocSignature */, start); + var jsdocSignature = createNode(288 /* JSDocSignature */, start); jsdocSignature.parameters = []; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(4 /* CallbackParameter */); })) { jsdocSignature.parameters = ts.append(jsdocSignature.parameters, child); } var returnTag = tryParse(function () { - if (token() === 57 /* AtToken */) { - nextJSDocToken(); + if (parseOptionalJsdoc(57 /* AtToken */)) { var tag = parseTag(indent); - if (tag && tag.kind === 293 /* JSDocReturnTag */) { + if (tag && tag.kind === 294 /* JSDocReturnTag */) { return tag; } } @@ -20933,9 +20976,9 @@ var ts; case 57 /* AtToken */: if (canParseTag) { var child = tryParseChildTag(target); - if (child && child.kind === 292 /* JSDocParameterTag */ && + if (child && child.kind === 293 /* JSDocParameterTag */ && target !== 4 /* CallbackParameter */ && - (ts.isIdentifier(child.name) || !escapedTextsEqual(name, child.name.left))) { + (ts.isIdentifier(child.name) || !escapedTextsEqual(name, child.name.left))) { // TODO: GH#18217 return false; } return child; @@ -20994,49 +21037,45 @@ var ts; return tag; } function parseTemplateTag(atToken, tagName) { - if (ts.some(tags, ts.isJSDocTemplateTag)) { - parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); + // the template tag looks like '@template {Constraint} T,U,V' + var constraint; + if (token() === 17 /* OpenBraceToken */) { + constraint = parseJSDocTypeExpression(); } - // Type parameter list looks like '@template T,U,V' var typeParameters = []; var typeParametersPos = getNodePos(); - while (true) { - var typeParameter = createNode(147 /* TypeParameter */); - var name = parseJSDocIdentifierNameWithOptionalBraces(); + do { skipWhitespace(); - if (!name) { - parseErrorAtPosition(scanner.getStartPos(), 0, ts.Diagnostics.Identifier_expected); + var typeParameter = createNode(148 /* TypeParameter */); + if (!ts.tokenIsIdentifierOrKeyword(token())) { + parseErrorAtCurrentToken(ts.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces); return undefined; } - typeParameter.name = name; + typeParameter.name = parseJSDocIdentifierName(); + skipWhitespace(); finishNode(typeParameter); typeParameters.push(typeParameter); - if (token() === 26 /* CommaToken */) { - nextJSDocToken(); - skipWhitespace(); - } - else { - break; - } + } while (parseOptionalJsdoc(26 /* CommaToken */)); + if (constraint) { + ts.first(typeParameters).constraint = constraint.type; } - var result = createNode(295 /* JSDocTemplateTag */, atToken.pos); + var result = createNode(296 /* JSDocTemplateTag */, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeParameters = createNodeArray(typeParameters, typeParametersPos); finishNode(result); return result; } - function parseJSDocIdentifierNameWithOptionalBraces() { - var parsedBrace = parseOptional(17 /* OpenBraceToken */); - var res = parseJSDocIdentifierName(); - if (parsedBrace) { - parseExpected(18 /* CloseBraceToken */); - } - return res; - } function nextJSDocToken() { return currentToken = scanner.scanJSDocToken(); } + function parseOptionalJsdoc(t) { + if (token() === t) { + nextJSDocToken(); + return true; + } + return false; + } function parseJSDocEntityName() { var entity = parseJSDocIdentifierName(/*createIfMissing*/ true); if (parseOptional(21 /* OpenBracketToken */)) { @@ -21581,7 +21620,7 @@ var ts; context.pragmas = ts.createMap(); for (var _i = 0, pragmas_1 = pragmas; _i < pragmas_1.length; _i++) { var pragma = pragmas_1[_i]; - if (context.pragmas.has(pragma.name)) { + if (context.pragmas.has(pragma.name)) { // TODO: GH#18217 var currentValue = context.pragmas.get(pragma.name); if (currentValue instanceof Array) { currentValue.push(pragma.args); @@ -21610,6 +21649,7 @@ var ts; var referencedFiles_1 = context.referencedFiles; var typeReferenceDirectives_1 = context.typeReferenceDirectives; ts.forEach(ts.toArray(entryOrList), function (arg) { + // TODO: GH#18217 if (arg.arguments["no-default-lib"]) { context.hasNoDefaultLib = true; } @@ -21626,10 +21666,7 @@ var ts; break; } case "amd-dependency": { - context.amdDependencies = ts.map(ts.toArray(entryOrList), function (_a) { - var _b = _a.arguments, name = _b.name, path = _b.path; - return ({ name: name, path: path }); - }); + context.amdDependencies = ts.map(ts.toArray(entryOrList), function (x) { return ({ name: x.arguments.name, path: x.arguments.path }); }); // TODO: GH#18217 break; } case "amd-module": { @@ -21652,7 +21689,7 @@ var ts; case "ts-check": { // _last_ of either nocheck or check in a file is the "winner" ts.forEach(ts.toArray(entryOrList), function (entry) { - if (!context.checkJsDirective || entry.range.pos > context.checkJsDirective.pos) { + if (!context.checkJsDirective || entry.range.pos > context.checkJsDirective.pos) { // TODO: GH#18217 context.checkJsDirective = { enabled: key === "ts-check", end: entry.range.end, @@ -21763,6 +21800,24 @@ var ts; } return argMap; } + /** @internal */ + function tagNamesAreEquivalent(lhs, rhs) { + if (lhs.kind !== rhs.kind) { + return false; + } + if (lhs.kind === 71 /* Identifier */) { + return lhs.escapedText === rhs.escapedText; + } + if (lhs.kind === 99 /* ThisKeyword */) { + return true; + } + // If we are at this statement then we must have PropertyAccessExpression and because tag name in Jsx element can only + // take forms of JsxTagNameExpression which includes an identifier, "this" expression, or another propertyAccessExpression + // it is safe to case the expression property as such. See parseJsxElementName for how we parse tag name in Jsx element + return lhs.name.escapedText === rhs.name.escapedText && + tagNamesAreEquivalent(lhs.expression, rhs.expression); + } + ts.tagNamesAreEquivalent = tagNamesAreEquivalent; })(ts || (ts = {})); /* @internal */ var ts; @@ -21781,24 +21836,24 @@ var ts; // A module is uninstantiated if it contains only switch (node.kind) { // 1. interface declarations, type alias declarations - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: return 0 /* NonInstantiated */; // 2. const enum declarations - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: if (ts.isConst(node)) { return 2 /* ConstEnumOnly */; } break; // 3. non-exported import declarations - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: if (!(ts.hasModifier(node, 1 /* Export */))) { return 0 /* NonInstantiated */; } break; // 4. other uninstantiated module declarations. - case 239 /* ModuleBlock */: { + case 240 /* ModuleBlock */: { var state_1 = 0 /* NonInstantiated */; ts.forEachChild(node, function (n) { var childState = getModuleInstanceStateWorker(n); @@ -21820,7 +21875,7 @@ var ts; }); return state_1; } - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return getModuleInstanceState(node); case 71 /* Identifier */: // Only jsdoc typedef definition can exist in jsdoc namespace, and it should @@ -21970,7 +22025,7 @@ var ts; if (symbolFlags & 67216319 /* Value */) { var valueDeclaration = symbol.valueDeclaration; if (!valueDeclaration || - (valueDeclaration.kind !== node.kind && valueDeclaration.kind === 238 /* ModuleDeclaration */)) { + (valueDeclaration.kind !== node.kind && valueDeclaration.kind === 239 /* ModuleDeclaration */)) { // other kinds of value declarations take precedence over modules symbol.valueDeclaration = node; } @@ -21979,7 +22034,7 @@ var ts; // Should not be called on a declaration with a computed property name, // unless it is a well known Symbol. function getDeclarationName(node) { - if (node.kind === 248 /* ExportAssignment */) { + if (node.kind === 249 /* ExportAssignment */) { return node.isExportEquals ? "export=" /* ExportEquals */ : "default" /* Default */; } var name = ts.getNameOfDeclaration(node); @@ -21988,7 +22043,7 @@ var ts; var moduleName = ts.getTextOfIdentifierOrLiteral(name); return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"" + moduleName + "\""); } - if (name.kind === 146 /* ComputedPropertyName */) { + if (name.kind === 147 /* ComputedPropertyName */) { var nameExpression = name.expression; // treat computed property names where expression is string/numeric literal as just string/numeric literal if (ts.isStringOrNumericLiteral(nameExpression)) { @@ -22000,43 +22055,43 @@ var ts; return ts.isPropertyNameLiteral(name) ? ts.getEscapedTextOfIdentifierOrLiteral(name) : undefined; } switch (node.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: return "__constructor" /* Constructor */; - case 162 /* FunctionType */: - case 157 /* CallSignature */: - case 287 /* JSDocSignature */: + case 163 /* FunctionType */: + case 158 /* CallSignature */: + case 288 /* JSDocSignature */: return "__call" /* Call */; - case 163 /* ConstructorType */: - case 158 /* ConstructSignature */: + case 164 /* ConstructorType */: + case 159 /* ConstructSignature */: return "__new" /* New */; - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: return "__index" /* Index */; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return "__export" /* ExportStar */; - case 273 /* SourceFile */: + case 274 /* SourceFile */: // json file should behave as // module.exports = ... return "export=" /* ExportEquals */; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (ts.getSpecialPropertyAssignmentKind(node) === 2 /* ModuleExports */) { // module.exports = ... return "export=" /* ExportEquals */; } ts.Debug.fail("Unknown binary declaration kind"); break; - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: return (ts.isJSDocConstructSignature(node) ? "__new" /* New */ : "__call" /* Call */); - case 148 /* Parameter */: + case 149 /* Parameter */: // Parameters with names are handled at the top of this function. Parameters // without names can only come from JSDocFunctionTypes. - ts.Debug.assert(node.parent.kind === 283 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; }); + ts.Debug.assert(node.parent.kind === 284 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; }); var functionType = node.parent; var index = functionType.parameters.indexOf(node); return "arg" + index; } } function getDisplayName(node) { - return ts.isNamedDeclaration(node) ? ts.declarationNameToString(node.name) : ts.unescapeLeadingUnderscores(getDeclarationName(node)); + return ts.isNamedDeclaration(node) ? ts.declarationNameToString(node.name) : ts.unescapeLeadingUnderscores(getDeclarationName(node)); // TODO: GH#18217 } /** * Declares a Symbol for the node and adds it to symbols. Reports errors for conflicting identifier names. @@ -22123,7 +22178,7 @@ var ts; // 1. multiple export default of class declaration or function declaration by checking NodeFlags.Default // 2. multiple export default of export assignment. This one doesn't have NodeFlags.Default on (as export default doesn't considered as modifiers) if (symbol.declarations && symbol.declarations.length && - (node.kind === 248 /* ExportAssignment */ && !node.isExportEquals)) { + (node.kind === 249 /* ExportAssignment */ && !node.isExportEquals)) { message_1 = ts.Diagnostics.A_module_cannot_have_multiple_default_exports; } } @@ -22148,7 +22203,7 @@ var ts; function declareModuleMember(node, symbolFlags, symbolExcludes) { var hasExportModifier = ts.getCombinedModifierFlags(node) & 1 /* Export */; if (symbolFlags & 2097152 /* Alias */) { - if (node.kind === 251 /* ExportSpecifier */ || (node.kind === 242 /* ImportEqualsDeclaration */ && hasExportModifier)) { + if (node.kind === 252 /* ExportSpecifier */ || (node.kind === 243 /* ImportEqualsDeclaration */ && hasExportModifier)) { return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); } else { @@ -22215,7 +22270,7 @@ var ts; // for it. We must clear this so we don't accidentally move any stale data forward from // a previous compilation. if (containerFlags & 1 /* IsContainer */) { - if (node.kind !== 192 /* ArrowFunction */) { + if (node.kind !== 193 /* ArrowFunction */) { thisParentContainer = container; } container = blockScopeContainer = node; @@ -22247,7 +22302,7 @@ var ts; } // We create a return control flow graph for IIFEs and constructors. For constructors // we use the return control flow graph in strict property intialization checks. - currentReturnTarget = isIIFE || node.kind === 154 /* Constructor */ ? createBranchLabel() : undefined; + currentReturnTarget = isIIFE || node.kind === 155 /* Constructor */ ? createBranchLabel() : undefined; currentBreakTarget = undefined; currentContinueTarget = undefined; activeLabels = undefined; @@ -22260,13 +22315,13 @@ var ts; if (hasExplicitReturn) node.flags |= 256 /* HasExplicitReturn */; } - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { node.flags |= emitFlags; } if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); currentFlow = finishFlowLabel(currentReturnTarget); - if (node.kind === 154 /* Constructor */) { + if (node.kind === 155 /* Constructor */) { node.returnFlowNode = currentFlow; } } @@ -22309,8 +22364,8 @@ var ts; } } function bindEachFunctionsFirst(nodes) { - bindEach(nodes, function (n) { return n.kind === 233 /* FunctionDeclaration */ ? bind(n) : undefined; }); - bindEach(nodes, function (n) { return n.kind !== 233 /* FunctionDeclaration */ ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind === 234 /* FunctionDeclaration */ ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind !== 234 /* FunctionDeclaration */ ? bind(n) : undefined; }); } function bindEach(nodes, bindFunction) { if (bindFunction === void 0) { bindFunction = bind; } @@ -22342,77 +22397,77 @@ var ts; return; } switch (node.kind) { - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: bindWhileStatement(node); break; - case 217 /* DoStatement */: + case 218 /* DoStatement */: bindDoStatement(node); break; - case 219 /* ForStatement */: + case 220 /* ForStatement */: bindForStatement(node); break; - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: bindForInOrForOfStatement(node); break; - case 216 /* IfStatement */: + case 217 /* IfStatement */: bindIfStatement(node); break; - case 224 /* ReturnStatement */: - case 228 /* ThrowStatement */: + case 225 /* ReturnStatement */: + case 229 /* ThrowStatement */: bindReturnOrThrow(node); break; - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: bindBreakOrContinueStatement(node); break; - case 229 /* TryStatement */: + case 230 /* TryStatement */: bindTryStatement(node); break; - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: bindSwitchStatement(node); break; - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: bindCaseBlock(node); break; - case 265 /* CaseClause */: + case 266 /* CaseClause */: bindCaseClause(node); break; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: bindLabeledStatement(node); break; - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: bindPrefixUnaryExpressionFlow(node); break; - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: bindPostfixUnaryExpressionFlow(node); break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: bindBinaryExpressionFlow(node); break; - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: bindDeleteExpressionFlow(node); break; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: bindConditionalExpressionFlow(node); break; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: bindVariableDeclarationFlow(node); break; - case 186 /* CallExpression */: + case 187 /* CallExpression */: bindCallExpressionFlow(node); break; - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: bindJSDocTypeAlias(node); break; // In source files and blocks, bind functions first to match hoisting that occurs at runtime - case 273 /* SourceFile */: + case 274 /* SourceFile */: bindEachFunctionsFirst(node.statements); bind(node.endOfFileToken); break; - case 212 /* Block */: - case 239 /* ModuleBlock */: + case 213 /* Block */: + case 240 /* ModuleBlock */: bindEachFunctionsFirst(node.statements); break; default: @@ -22425,15 +22480,15 @@ var ts; switch (expr.kind) { case 71 /* Identifier */: case 99 /* ThisKeyword */: - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return isNarrowableReference(expr); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return hasNarrowableArgument(expr); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return isNarrowingExpression(expr.expression); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return isNarrowingBinaryExpression(expr); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return expr.operator === 51 /* ExclamationToken */ && isNarrowingExpression(expr.operand); } return false; @@ -22442,7 +22497,7 @@ var ts; return expr.kind === 71 /* Identifier */ || expr.kind === 99 /* ThisKeyword */ || expr.kind === 97 /* SuperKeyword */ || - expr.kind === 184 /* PropertyAccessExpression */ && isNarrowableReference(expr.expression); + expr.kind === 185 /* PropertyAccessExpression */ && isNarrowableReference(expr.expression); } function hasNarrowableArgument(expr) { if (expr.arguments) { @@ -22453,7 +22508,7 @@ var ts; } } } - if (expr.expression.kind === 184 /* PropertyAccessExpression */ && + if (expr.expression.kind === 185 /* PropertyAccessExpression */ && isNarrowableReference(expr.expression.expression)) { return true; } @@ -22486,9 +22541,9 @@ var ts; } function isNarrowableOperand(expr) { switch (expr.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return isNarrowableOperand(expr.expression); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: switch (expr.operatorToken.kind) { case 58 /* EqualsToken */: return isNarrowableOperand(expr.left); @@ -22566,33 +22621,33 @@ var ts; function isStatementCondition(node) { var parent = node.parent; switch (parent.kind) { - case 216 /* IfStatement */: - case 218 /* WhileStatement */: - case 217 /* DoStatement */: + case 217 /* IfStatement */: + case 219 /* WhileStatement */: + case 218 /* DoStatement */: return parent.expression === node; - case 219 /* ForStatement */: - case 200 /* ConditionalExpression */: + case 220 /* ForStatement */: + case 201 /* ConditionalExpression */: return parent.condition === node; } return false; } function isLogicalExpression(node) { while (true) { - if (node.kind === 190 /* ParenthesizedExpression */) { + if (node.kind === 191 /* ParenthesizedExpression */) { node = node.expression; } - else if (node.kind === 197 /* PrefixUnaryExpression */ && node.operator === 51 /* ExclamationToken */) { + else if (node.kind === 198 /* PrefixUnaryExpression */ && node.operator === 51 /* ExclamationToken */) { node = node.operand; } else { - return node.kind === 199 /* BinaryExpression */ && (node.operatorToken.kind === 53 /* AmpersandAmpersandToken */ || + return node.kind === 200 /* BinaryExpression */ && (node.operatorToken.kind === 53 /* AmpersandAmpersandToken */ || node.operatorToken.kind === 54 /* BarBarToken */); } } } function isTopLevelLogicalExpression(node) { - while (node.parent.kind === 190 /* ParenthesizedExpression */ || - node.parent.kind === 197 /* PrefixUnaryExpression */ && + while (node.parent.kind === 191 /* ParenthesizedExpression */ || + node.parent.kind === 198 /* PrefixUnaryExpression */ && node.parent.operator === 51 /* ExclamationToken */) { node = node.parent; } @@ -22634,7 +22689,7 @@ var ts; } function bindDoStatement(node) { var preDoLabel = createLoopLabel(); - var enclosingLabeledStatement = node.parent.kind === 227 /* LabeledStatement */ + var enclosingLabeledStatement = node.parent.kind === 228 /* LabeledStatement */ ? ts.lastOrUndefined(activeLabels) : undefined; // if do statement is wrapped in labeled statement then target labels for break/continue with or without @@ -22668,13 +22723,13 @@ var ts; var postLoopLabel = createBranchLabel(); addAntecedent(preLoopLabel, currentFlow); currentFlow = preLoopLabel; - if (node.kind === 221 /* ForOfStatement */) { + if (node.kind === 222 /* ForOfStatement */) { bind(node.awaitModifier); } bind(node.expression); addAntecedent(postLoopLabel, currentFlow); bind(node.initializer); - if (node.initializer.kind !== 232 /* VariableDeclarationList */) { + if (node.initializer.kind !== 233 /* VariableDeclarationList */) { bindAssignmentTargetFlow(node.initializer); } bindIterativeStatement(node.statement, postLoopLabel, preLoopLabel); @@ -22696,7 +22751,7 @@ var ts; } function bindReturnOrThrow(node) { bind(node.expression); - if (node.kind === 224 /* ReturnStatement */) { + if (node.kind === 225 /* ReturnStatement */) { hasExplicitReturn = true; if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); @@ -22716,7 +22771,7 @@ var ts; return undefined; } function bindBreakOrContinueFlow(node, breakTarget, continueTarget) { - var flowLabel = node.kind === 223 /* BreakStatement */ ? breakTarget : continueTarget; + var flowLabel = node.kind === 224 /* BreakStatement */ ? breakTarget : continueTarget; if (flowLabel) { addAntecedent(flowLabel, currentFlow); currentFlow = unreachableFlow; @@ -22812,7 +22867,7 @@ var ts; preSwitchCaseFlow = currentFlow; bind(node.caseBlock); addAntecedent(postSwitchLabel, currentFlow); - var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 266 /* DefaultClause */; }); + var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 267 /* DefaultClause */; }); // We mark a switch statement as possibly exhaustive if it has no default clause and if all // case clauses have unreachable end points (e.g. they all return). node.possiblyExhaustive = !hasDefault && !postSwitchLabel.antecedents; @@ -22836,6 +22891,7 @@ var ts; } var preCaseLabel = createBranchLabel(); addAntecedent(preCaseLabel, createFlowSwitchClause(preSwitchCaseFlow, node.parent, clauseStart, i + 1)); + addAntecedent(preCaseLabel, createFlowSwitchClause(preSwitchCaseFlow, node.parent, clauseStart, i + 1)); addAntecedent(preCaseLabel, fallthroughFlow); currentFlow = finishFlowLabel(preCaseLabel); var clause = clauses[i]; @@ -22877,16 +22933,16 @@ var ts; bind(node.statement); popActiveLabel(); if (!activeLabel.referenced && !options.allowUnusedLabels) { - file.bindDiagnostics.push(createDiagnosticForNode(node.label, ts.Diagnostics.Unused_label)); + errorOrSuggestionOnFirstToken(ts.unusedLabelIsError(options), node, ts.Diagnostics.Unused_label); } - if (!node.statement || node.statement.kind !== 217 /* DoStatement */) { + if (!node.statement || node.statement.kind !== 218 /* DoStatement */) { // do statement sets current flow inside bindDoStatement addAntecedent(postStatementLabel, currentFlow); currentFlow = finishFlowLabel(postStatementLabel); } } function bindDestructuringTargetFlow(node) { - if (node.kind === 199 /* BinaryExpression */ && node.operatorToken.kind === 58 /* EqualsToken */) { + if (node.kind === 200 /* BinaryExpression */ && node.operatorToken.kind === 58 /* EqualsToken */) { bindAssignmentTargetFlow(node.left); } else { @@ -22897,10 +22953,10 @@ var ts; if (isNarrowableReference(node)) { currentFlow = createFlowAssignment(currentFlow, node); } - else if (node.kind === 182 /* ArrayLiteralExpression */) { + else if (node.kind === 183 /* ArrayLiteralExpression */) { for (var _i = 0, _a = node.elements; _i < _a.length; _i++) { var e = _a[_i]; - if (e.kind === 203 /* SpreadElement */) { + if (e.kind === 204 /* SpreadElement */) { bindAssignmentTargetFlow(e.expression); } else { @@ -22908,16 +22964,16 @@ var ts; } } } - else if (node.kind === 183 /* ObjectLiteralExpression */) { + else if (node.kind === 184 /* ObjectLiteralExpression */) { for (var _b = 0, _c = node.properties; _b < _c.length; _b++) { var p = _c[_b]; - if (p.kind === 269 /* PropertyAssignment */) { + if (p.kind === 270 /* PropertyAssignment */) { bindDestructuringTargetFlow(p.initializer); } - else if (p.kind === 270 /* ShorthandPropertyAssignment */) { + else if (p.kind === 271 /* ShorthandPropertyAssignment */) { bindAssignmentTargetFlow(p.name); } - else if (p.kind === 271 /* SpreadAssignment */) { + else if (p.kind === 272 /* SpreadAssignment */) { bindAssignmentTargetFlow(p.expression); } } @@ -22973,7 +23029,7 @@ var ts; bindEachChild(node); if (ts.isAssignmentOperator(operator) && !ts.isAssignmentTarget(node)) { bindAssignmentTargetFlow(node.left); - if (operator === 58 /* EqualsToken */ && node.left.kind === 185 /* ElementAccessExpression */) { + if (operator === 58 /* EqualsToken */ && node.left.kind === 186 /* ElementAccessExpression */) { var elementAccess = node.left; if (isNarrowableOperand(elementAccess.expression)) { currentFlow = createFlowArrayMutation(currentFlow, node); @@ -22984,7 +23040,7 @@ var ts; } function bindDeleteExpressionFlow(node) { bindEachChild(node); - if (node.expression.kind === 184 /* PropertyAccessExpression */) { + if (node.expression.kind === 185 /* PropertyAccessExpression */) { bindAssignmentTargetFlow(node.expression); } } @@ -23031,10 +23087,10 @@ var ts; // an immediately invoked function expression (IIFE). Initialize the flowNode property to // the current control flow (which includes evaluation of the IIFE arguments). var expr = node.expression; - while (expr.kind === 190 /* ParenthesizedExpression */) { + while (expr.kind === 191 /* ParenthesizedExpression */) { expr = expr.expression; } - if (expr.kind === 191 /* FunctionExpression */ || expr.kind === 192 /* ArrowFunction */) { + if (expr.kind === 192 /* FunctionExpression */ || expr.kind === 193 /* ArrowFunction */) { bindEach(node.typeArguments); bindEach(node.arguments); bind(node.expression); @@ -23042,7 +23098,7 @@ var ts; else { bindEachChild(node); } - if (node.expression.kind === 184 /* PropertyAccessExpression */) { + if (node.expression.kind === 185 /* PropertyAccessExpression */) { var propertyAccess = node.expression; if (isNarrowableOperand(propertyAccess.expression) && ts.isPushOrUnshiftIdentifier(propertyAccess.name)) { currentFlow = createFlowArrayMutation(currentFlow, node); @@ -23051,54 +23107,54 @@ var ts; } function getContainerFlags(node) { switch (node.kind) { - case 204 /* ClassExpression */: - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: - case 183 /* ObjectLiteralExpression */: - case 165 /* TypeLiteral */: - case 286 /* JSDocTypeLiteral */: - case 262 /* JsxAttributes */: + case 205 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 184 /* ObjectLiteralExpression */: + case 166 /* TypeLiteral */: + case 287 /* JSDocTypeLiteral */: + case 263 /* JsxAttributes */: return 1 /* IsContainer */; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return 1 /* IsContainer */ | 64 /* IsInterface */; - case 238 /* ModuleDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 176 /* MappedType */: + case 239 /* ModuleDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 177 /* MappedType */: return 1 /* IsContainer */ | 32 /* HasLocals */; - case 273 /* SourceFile */: + case 274 /* SourceFile */: return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: if (ts.isObjectLiteralOrClassExpressionMethod(node)) { return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */ | 128 /* IsObjectLiteralOrClassExpressionMethod */; } // falls through - case 154 /* Constructor */: - case 233 /* FunctionDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 157 /* CallSignature */: - case 287 /* JSDocSignature */: - case 283 /* JSDocFunctionType */: - case 162 /* FunctionType */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 163 /* ConstructorType */: + case 155 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 158 /* CallSignature */: + case 288 /* JSDocSignature */: + case 284 /* JSDocFunctionType */: + case 163 /* FunctionType */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 164 /* ConstructorType */: return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */; - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */ | 16 /* IsFunctionExpression */; - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return 4 /* IsControlFlowContainer */; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return node.initializer ? 4 /* IsControlFlowContainer */ : 0; - case 268 /* CatchClause */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 240 /* CaseBlock */: + case 269 /* CatchClause */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 241 /* CaseBlock */: return 2 /* IsBlockScopedContainer */; - case 212 /* Block */: + case 213 /* Block */: // do not treat blocks directly inside a function as a block-scoped-container. // Locals that reside in this block should go to the function locals. Otherwise 'x' // would not appear to be a redeclaration of a block scoped local in the following @@ -23131,45 +23187,45 @@ var ts; // members are declared (for example, a member of a class will go into a specific // symbol table depending on if it is static or not). We defer to specialized // handlers to take care of declaring these child members. - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return declareModuleMember(node, symbolFlags, symbolExcludes); - case 273 /* SourceFile */: + case 274 /* SourceFile */: return declareSourceFileMember(node, symbolFlags, symbolExcludes); - case 204 /* ClassExpression */: - case 234 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 235 /* ClassDeclaration */: return declareClassMember(node, symbolFlags, symbolExcludes); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); - case 165 /* TypeLiteral */: - case 286 /* JSDocTypeLiteral */: - case 183 /* ObjectLiteralExpression */: - case 235 /* InterfaceDeclaration */: - case 262 /* JsxAttributes */: + case 166 /* TypeLiteral */: + case 287 /* JSDocTypeLiteral */: + case 184 /* ObjectLiteralExpression */: + case 236 /* InterfaceDeclaration */: + case 263 /* JsxAttributes */: // Interface/Object-types always have their children added to the 'members' of // their container. They are only accessible through an instance of their // container, and are never in scope otherwise (even inside the body of the // object / type / interface declaring them). An exception is type parameters, // which are in scope without qualification (similar to 'locals'). return declareSymbol(container.symbol.members, container.symbol, node, symbolFlags, symbolExcludes); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 287 /* JSDocSignature */: - case 159 /* IndexSignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 283 /* JSDocFunctionType */: - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: - case 236 /* TypeAliasDeclaration */: - case 176 /* MappedType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 288 /* JSDocSignature */: + case 160 /* IndexSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 284 /* JSDocFunctionType */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 237 /* TypeAliasDeclaration */: + case 177 /* MappedType */: // All the children of these container types are never visible through another // symbol (i.e. through another symbol's 'exports' or 'members'). Instead, // they're only accessed 'lexically' (i.e. from code that exists underneath @@ -23190,11 +23246,11 @@ var ts; : declareSymbol(file.locals, /*parent*/ undefined, node, symbolFlags, symbolExcludes); } function hasExportDeclarations(node) { - var body = node.kind === 273 /* SourceFile */ ? node : node.body; - if (body && (body.kind === 273 /* SourceFile */ || body.kind === 239 /* ModuleBlock */)) { + var body = node.kind === 274 /* SourceFile */ ? node : node.body; + if (body && (body.kind === 274 /* SourceFile */ || body.kind === 240 /* ModuleBlock */)) { for (var _i = 0, _a = body.statements; _i < _a.length; _i++) { var stat = _a[_i]; - if (stat.kind === 249 /* ExportDeclaration */ || stat.kind === 248 /* ExportAssignment */) { + if (stat.kind === 250 /* ExportDeclaration */ || stat.kind === 249 /* ExportAssignment */) { return true; } } @@ -23261,7 +23317,7 @@ var ts; // We do that by making an anonymous type literal symbol, and then setting the function // symbol as its sole member. To the rest of the system, this symbol will be indistinguishable // from an actual type literal symbol you would have gotten had you used the long form. - var symbol = createSymbol(131072 /* Signature */, getDeclarationName(node)); + var symbol = createSymbol(131072 /* Signature */, getDeclarationName(node)); // TODO: GH#18217 addDeclarationToSymbol(symbol, node, 131072 /* Signature */); var typeLiteralSymbol = createSymbol(2048 /* TypeLiteral */, "__type" /* Type */); addDeclarationToSymbol(typeLiteralSymbol, node, 2048 /* TypeLiteral */); @@ -23278,7 +23334,7 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 271 /* SpreadAssignment */ || prop.name.kind !== 71 /* Identifier */) { + if (prop.kind === 272 /* SpreadAssignment */ || prop.name.kind !== 71 /* Identifier */) { continue; } var identifier = prop.name; @@ -23290,7 +23346,7 @@ var ts; // c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true. // d.IsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true // and either both previous and propId.descriptor have[[Get]] fields or both previous and propId.descriptor have[[Set]] fields - var currentKind = prop.kind === 269 /* PropertyAssignment */ || prop.kind === 270 /* ShorthandPropertyAssignment */ || prop.kind === 153 /* MethodDeclaration */ + var currentKind = prop.kind === 270 /* PropertyAssignment */ || prop.kind === 271 /* ShorthandPropertyAssignment */ || prop.kind === 154 /* MethodDeclaration */ ? 1 /* Property */ : 2 /* Accessor */; var existingKind = seen.get(identifier.escapedText); @@ -23318,13 +23374,14 @@ var ts; symbol.parent = container.symbol; } addDeclarationToSymbol(symbol, node, symbolFlags); + return symbol; } function bindBlockScopedDeclaration(node, symbolFlags, symbolExcludes) { switch (blockScopeContainer.kind) { - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: declareModuleMember(node, symbolFlags, symbolExcludes); break; - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (ts.isExternalOrCommonJsModule(container)) { declareModuleMember(node, symbolFlags, symbolExcludes); break; @@ -23465,8 +23522,8 @@ var ts; function checkStrictModeFunctionDeclaration(node) { if (languageVersion < 2 /* ES2015 */) { // Report error if function is not top level function declaration - if (blockScopeContainer.kind !== 273 /* SourceFile */ && - blockScopeContainer.kind !== 238 /* ModuleDeclaration */ && + if (blockScopeContainer.kind !== 274 /* SourceFile */ && + blockScopeContainer.kind !== 239 /* ModuleDeclaration */ && !ts.isFunctionLike(blockScopeContainer)) { // We check first if the name is inside class declaration or class expression; if so give explicit message // otherwise report generic error message. @@ -23507,6 +23564,16 @@ var ts; var span = ts.getSpanOfTokenAtPosition(file, node.pos); file.bindDiagnostics.push(ts.createFileDiagnostic(file, span.start, span.length, message, arg0, arg1, arg2)); } + function errorOrSuggestionOnFirstToken(isError, node, message, arg0, arg1, arg2) { + var span = ts.getSpanOfTokenAtPosition(file, node.pos); + var diag = ts.createFileDiagnostic(file, span.start, span.length, message, arg0, arg1, arg2); + if (isError) { + file.bindDiagnostics.push(diag); + } + else { + file.bindSuggestionDiagnostics = ts.append(file.bindSuggestionDiagnostics, __assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); + } + } function bind(node) { if (!node) { return; @@ -23538,7 +23605,7 @@ var ts; // the current 'container' node when it changes. This helps us know which symbol table // a local should go into for example. Since terminal nodes are known not to have // children, as an optimization we don't process those. - if (node.kind > 144 /* LastToken */) { + if (node.kind > 145 /* LastToken */) { var saveParent = parent; parent = node; var containerFlags = getContainerFlags(node); @@ -23610,11 +23677,11 @@ var ts; } // falls through case 99 /* ThisKeyword */: - if (currentFlow && (ts.isExpression(node) || parent.kind === 270 /* ShorthandPropertyAssignment */)) { + if (currentFlow && (ts.isExpression(node) || parent.kind === 271 /* ShorthandPropertyAssignment */)) { node.flowNode = currentFlow; } return checkStrictModeIdentifier(node); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: if (currentFlow && isNarrowableReference(node)) { node.flowNode = currentFlow; } @@ -23622,7 +23689,7 @@ var ts; bindSpecialPropertyDeclaration(node); } break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var specialKind = ts.getSpecialPropertyAssignmentKind(node); switch (specialKind) { case 1 /* ExportsProperty */: @@ -23650,137 +23717,137 @@ var ts; ts.Debug.fail("Unknown special property assignment kind"); } return checkStrictModeBinaryExpression(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return checkStrictModeCatchClause(node); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return checkStrictModeDeleteExpression(node); case 8 /* NumericLiteral */: return checkStrictModeNumericLiteral(node); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return checkStrictModePostfixUnaryExpression(node); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return checkStrictModePrefixUnaryExpression(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return checkStrictModeWithStatement(node); - case 173 /* ThisType */: + case 174 /* ThisType */: seenThisKeyword = true; return; - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: break; // Binding the children will handle everything - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return bindTypeParameter(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return bindParameter(node); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return bindVariableDeclarationOrBindingElement(node); - case 181 /* BindingElement */: + case 182 /* BindingElement */: node.flowNode = currentFlow; return bindVariableDeclarationOrBindingElement(node); - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return bindPropertyWorker(node); - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return bindPropertyOrMethodOrAccessor(node, 4 /* Property */, 0 /* PropertyExcludes */); - case 272 /* EnumMember */: + case 273 /* EnumMember */: return bindPropertyOrMethodOrAccessor(node, 8 /* EnumMember */, 68008959 /* EnumMemberExcludes */); - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: return declareSymbolAndAddToSymbolTable(node, 131072 /* Signature */, 0 /* None */); - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: // If this is an ObjectLiteralExpression method, then it sits in the same space // as other properties in the object literal. So we use SymbolFlags.PropertyExcludes // so that it will conflict with any other object literal members with the same // name. return bindPropertyOrMethodOrAccessor(node, 8192 /* Method */ | (node.questionToken ? 16777216 /* Optional */ : 0 /* None */), ts.isObjectLiteralMethod(node) ? 0 /* PropertyExcludes */ : 67208127 /* MethodExcludes */); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return bindFunctionDeclaration(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return declareSymbolAndAddToSymbolTable(node, 16384 /* Constructor */, /*symbolExcludes:*/ 0 /* None */); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: return bindPropertyOrMethodOrAccessor(node, 32768 /* GetAccessor */, 67150783 /* GetAccessorExcludes */); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return bindPropertyOrMethodOrAccessor(node, 65536 /* SetAccessor */, 67183551 /* SetAccessorExcludes */); - case 162 /* FunctionType */: - case 283 /* JSDocFunctionType */: - case 287 /* JSDocSignature */: - case 163 /* ConstructorType */: + case 163 /* FunctionType */: + case 284 /* JSDocFunctionType */: + case 288 /* JSDocSignature */: + case 164 /* ConstructorType */: return bindFunctionOrConstructorType(node); - case 165 /* TypeLiteral */: - case 286 /* JSDocTypeLiteral */: - case 176 /* MappedType */: + case 166 /* TypeLiteral */: + case 287 /* JSDocTypeLiteral */: + case 177 /* MappedType */: return bindAnonymousTypeWorker(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return bindObjectLiteralExpression(node); - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return bindFunctionExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (ts.isInJavaScriptFile(node)) { bindCallExpression(node); } break; // Members of classes, interfaces, and modules - case 204 /* ClassExpression */: - case 234 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 235 /* ClassDeclaration */: // All classes are automatically in strict mode in ES6. inStrictMode = true; return bindClassLikeDeclaration(node); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return bindBlockScopedDeclaration(node, 64 /* Interface */, 67901832 /* InterfaceExcludes */); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return bindBlockScopedDeclaration(node, 524288 /* TypeAlias */, 67901928 /* TypeAliasExcludes */); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return bindEnumDeclaration(node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return bindModuleDeclaration(node); // Jsx-attributes - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return bindJsxAttributes(node); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return bindJsxAttribute(node, 4 /* Property */, 0 /* PropertyExcludes */); // Imports and exports - case 242 /* ImportEqualsDeclaration */: - case 245 /* NamespaceImport */: - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 243 /* ImportEqualsDeclaration */: + case 246 /* NamespaceImport */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: return declareSymbolAndAddToSymbolTable(node, 2097152 /* Alias */, 2097152 /* AliasExcludes */); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return bindNamespaceExportDeclaration(node); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return bindImportClause(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return bindExportDeclaration(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return bindExportAssignment(node); - case 273 /* SourceFile */: + case 274 /* SourceFile */: updateStrictModeStatementList(node.statements); return bindSourceFileIfExternalModule(); - case 212 /* Block */: + case 213 /* Block */: if (!ts.isFunctionLike(node.parent)) { return; } // falls through - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return updateStrictModeStatementList(node.statements); - case 292 /* JSDocParameterTag */: - if (node.parent.kind === 287 /* JSDocSignature */) { + case 293 /* JSDocParameterTag */: + if (node.parent.kind === 288 /* JSDocSignature */) { return bindParameter(node); } - if (node.parent.kind !== 286 /* JSDocTypeLiteral */) { + if (node.parent.kind !== 287 /* JSDocTypeLiteral */) { break; } // falls through - case 297 /* JSDocPropertyTag */: + case 298 /* JSDocPropertyTag */: var propTag = node; - var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 282 /* JSDocOptionalType */ ? + var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 283 /* JSDocOptionalType */ ? 4 /* Property */ | 16777216 /* Optional */ : 4 /* Property */; return declareSymbolAndAddToSymbolTable(propTag, flags, 0 /* PropertyExcludes */); - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: return (delayedTypeAliases || (delayedTypeAliases = [])).push(node); } } @@ -23812,7 +23879,7 @@ var ts; bindAnonymousDeclaration(node, 2097152 /* Alias */, getDeclarationName(node)); } else { - var flags = node.kind === 248 /* ExportAssignment */ && ts.exportAssignmentIsAlias(node) + var flags = node.kind === 249 /* ExportAssignment */ && ts.exportAssignmentIsAlias(node) // An export default clause with an EntityNameExpression or a class expression exports all meanings of that identifier or expression; ? 2097152 /* Alias */ // An export default clause with any other expression exports a value @@ -23826,7 +23893,7 @@ var ts; if (node.modifiers && node.modifiers.length) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Modifiers_cannot_appear_here)); } - if (node.parent.kind !== 273 /* SourceFile */) { + if (node.parent.kind !== 274 /* SourceFile */) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Global_module_exports_may_only_appear_at_top_level)); return; } @@ -23872,13 +23939,11 @@ var ts; // expression is the declaration setCommonJsModuleIndicator(node); var lhs = node.left; - var symbol = forEachIdentifierInEntityName(lhs.expression, function (id, original) { - if (!original) { - return undefined; + var symbol = forEachIdentifierInEntityName(lhs.expression, /*parent*/ undefined, function (id, symbol) { + if (symbol) { + addDeclarationToSymbol(symbol, id, 1536 /* Module */ | 67108864 /* JSContainer */); } - var s = ts.getJSInitializerSymbol(original); - addDeclarationToSymbol(s, id, 1536 /* Module */ | 67108864 /* JSContainer */); - return s; + return symbol; }); if (symbol) { var flags = ts.isClassExpression(node.right) ? @@ -23909,14 +23974,14 @@ var ts; ts.Debug.assert(ts.isInJavaScriptFile(node)); var thisContainer = ts.getThisContainer(node, /*includeArrowFunctions*/ false); switch (thisContainer.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: var constructorSymbol = thisContainer.symbol; // For `f.prototype.m = function() { this.x = 0; }`, `this.x = 0` should modify `f`'s members, not the function expression. if (ts.isBinaryExpression(thisContainer.parent) && thisContainer.parent.operatorToken.kind === 58 /* EqualsToken */) { var l = thisContainer.parent.left; if (ts.isPropertyAccessEntityNameExpression(l) && ts.isPrototypeAccess(l.expression)) { - constructorSymbol = getJSInitializerSymbolFromName(l.expression.expression, thisParentContainer); + constructorSymbol = lookupSymbolForPropertyAccess(l.expression.expression, thisParentContainer); } } if (constructorSymbol) { @@ -23926,18 +23991,18 @@ var ts; declareSymbol(constructorSymbol.members, constructorSymbol, node, 4 /* Property */, 0 /* PropertyExcludes */ & ~4 /* Property */); } break; - case 154 /* Constructor */: - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 155 /* Constructor */: + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // this.foo assignment in a JavaScript class // Bind this property to the containing class var containingClass = thisContainer.parent; var symbolTable = ts.hasModifier(thisContainer, 32 /* Static */) ? containingClass.symbol.exports : containingClass.symbol.members; declareSymbol(symbolTable, containingClass.symbol, node, 4 /* Property */, 0 /* None */, /*isReplaceableByMethod*/ true); break; - case 273 /* SourceFile */: + case 274 /* SourceFile */: // this.foo assignment in a source file // Do not bind. It would be nice to support this someday though. break; @@ -23949,7 +24014,7 @@ var ts; if (node.expression.kind === 99 /* ThisKeyword */) { bindThisPropertyAssignment(node); } - else if (ts.isPropertyAccessEntityNameExpression(node) && node.parent.parent.kind === 273 /* SourceFile */) { + else if (ts.isPropertyAccessEntityNameExpression(node) && node.parent.parent.kind === 274 /* SourceFile */) { if (ts.isPrototypeAccess(node.expression)) { bindPrototypePropertyAssignment(node, node.parent); } @@ -24003,43 +24068,65 @@ var ts; node.expression.parent = node; bindPropertyAssignment(node.expression, node, /*isPrototypeProperty*/ false); } - function getJSInitializerSymbolFromName(name, lookupContainer) { - return ts.getJSInitializerSymbol(lookupSymbolForPropertyAccess(name, lookupContainer)); - } function bindPropertyAssignment(name, propertyAccess, isPrototypeProperty) { - var symbol = getJSInitializerSymbolFromName(name); + var namespaceSymbol = lookupSymbolForPropertyAccess(name); var isToplevelNamespaceableInitializer = ts.isBinaryExpression(propertyAccess.parent) - ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 273 /* SourceFile */ && + ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 274 /* SourceFile */ && !!ts.getJavascriptInitializer(ts.getInitializerOfBinaryExpression(propertyAccess.parent), ts.isPrototypeAccess(propertyAccess.parent.left)) - : propertyAccess.parent.parent.kind === 273 /* SourceFile */; - if (!isPrototypeProperty && (!symbol || !(symbol.flags & 1920 /* Namespace */)) && isToplevelNamespaceableInitializer) { + : propertyAccess.parent.parent.kind === 274 /* SourceFile */; + if (!isPrototypeProperty && (!namespaceSymbol || !(namespaceSymbol.flags & 1920 /* Namespace */)) && isToplevelNamespaceableInitializer) { // make symbols or add declarations for intermediate containers var flags_1 = 1536 /* Module */ | 67108864 /* JSContainer */; var excludeFlags_1 = 67215503 /* ValueModuleExcludes */ & ~67108864 /* JSContainer */; - forEachIdentifierInEntityName(propertyAccess.expression, function (id, original) { - if (original) { - // Note: add declaration to original symbol, not the special-syntax's symbol, so that namespaces work for type lookup - addDeclarationToSymbol(original, id, flags_1); - return original; + namespaceSymbol = forEachIdentifierInEntityName(propertyAccess.expression, namespaceSymbol, function (id, symbol, parent) { + if (symbol) { + addDeclarationToSymbol(symbol, id, flags_1); + return symbol; } else { - return symbol = declareSymbol(symbol ? symbol.exports : container.locals, symbol, id, flags_1, excludeFlags_1); + return declareSymbol(parent ? parent.exports : container.locals, parent, id, flags_1, excludeFlags_1); } }); } - if (!symbol || !(symbol.flags & (16 /* Function */ | 32 /* Class */ | 1024 /* NamespaceModule */ | 4096 /* ObjectLiteral */))) { + if (!namespaceSymbol || !isJavascriptContainer(namespaceSymbol)) { return; } // Set up the members collection if it doesn't exist already var symbolTable = isPrototypeProperty ? - (symbol.members || (symbol.members = ts.createSymbolTable())) : - (symbol.exports || (symbol.exports = ts.createSymbolTable())); + (namespaceSymbol.members || (namespaceSymbol.members = ts.createSymbolTable())) : + (namespaceSymbol.exports || (namespaceSymbol.exports = ts.createSymbolTable())); // Declare the method/property var jsContainerFlag = isToplevelNamespaceableInitializer ? 67108864 /* JSContainer */ : 0; var isMethod = ts.isFunctionLikeDeclaration(ts.getAssignedJavascriptInitializer(propertyAccess)); var symbolFlags = (isMethod ? 8192 /* Method */ : 4 /* Property */) | jsContainerFlag; var symbolExcludes = (isMethod ? 67208127 /* MethodExcludes */ : 0 /* PropertyExcludes */) & ~jsContainerFlag; - declareSymbol(symbolTable, symbol, propertyAccess, symbolFlags, symbolExcludes); + declareSymbol(symbolTable, namespaceSymbol, propertyAccess, symbolFlags, symbolExcludes); + } + /** + * Javascript containers are: + * - Functions + * - classes + * - namespaces + * - variables initialized with function expressions + * - with class expressions + * - with empty object literals + * - with non-empty object literals if assigned to the prototype property + */ + function isJavascriptContainer(symbol) { + if (symbol.flags & (16 /* Function */ | 32 /* Class */ | 1024 /* NamespaceModule */)) { + return true; + } + var node = symbol.valueDeclaration; + var init = !node ? undefined : + ts.isVariableDeclaration(node) ? node.initializer : + ts.isBinaryExpression(node) ? node.right : + ts.isPropertyAccessExpression(node) && ts.isBinaryExpression(node.parent) ? node.parent.right : + undefined; + if (init) { + var isPrototypeAssignment = ts.isPrototypeAccess(ts.isVariableDeclaration(node) ? node.name : ts.isBinaryExpression(node) ? node.left : node); + return !!ts.getJavascriptInitializer(ts.isBinaryExpression(init) && init.operatorToken.kind === 54 /* BarBarToken */ ? init.right : init, isPrototypeAssignment); + } + return false; } function getParentOfBinaryExpression(expr) { while (ts.isBinaryExpression(expr.parent)) { @@ -24053,21 +24140,22 @@ var ts; return lookupSymbolForNameWorker(lookupContainer, node.escapedText); } else { - var symbol = ts.getJSInitializerSymbol(lookupSymbolForPropertyAccess(node.expression)); + var symbol = lookupSymbolForPropertyAccess(node.expression); return symbol && symbol.exports && symbol.exports.get(node.name.escapedText); } } - function forEachIdentifierInEntityName(e, action) { + function forEachIdentifierInEntityName(e, parent, action) { if (isExportsOrModuleExportsOrAlias(file, e)) { return file.symbol; } else if (ts.isIdentifier(e)) { - return action(e, lookupSymbolForPropertyAccess(e)); + return action(e, lookupSymbolForPropertyAccess(e), parent); } else { - var s = ts.getJSInitializerSymbol(forEachIdentifierInEntityName(e.expression, action)); - ts.Debug.assert(!!s && !!s.exports); - return action(e.name, s.exports.get(e.name.escapedText)); + var s = forEachIdentifierInEntityName(e.expression, parent, action); + if (!s || !s.exports) + return ts.Debug.fail(); + return action(e.name, s.exports.get(e.name.escapedText), s); } } function bindCallExpression(node) { @@ -24078,7 +24166,7 @@ var ts; } } function bindClassLikeDeclaration(node) { - if (node.kind === 234 /* ClassDeclaration */) { + if (node.kind === 235 /* ClassDeclaration */) { bindBlockScopedDeclaration(node, 32 /* Class */, 68008383 /* ClassExcludes */); } else { @@ -24124,7 +24212,7 @@ var ts; bindBlockScopedVariableDeclaration(node); } else if (ts.isParameterDeclaration(node)) { - // It is safe to walk up parent chain to find whether the node is a destructing parameter declaration + // It is safe to walk up parent chain to find whether the node is a destructuring parameter declaration // because its parent chain has already been set up, since parents are set before descending into children. // // If node is a binding element in parameter declaration, we need to use ParameterExcludes. @@ -24141,7 +24229,7 @@ var ts; } } function bindParameter(node) { - if (node.kind === 292 /* JSDocParameterTag */ && container.kind !== 287 /* JSDocSignature */) { + if (node.kind === 293 /* JSDocParameterTag */ && container.kind !== 288 /* JSDocSignature */) { return; } if (inStrictMode && !(node.flags & 4194304 /* Ambient */)) { @@ -24207,7 +24295,7 @@ var ts; } function bindTypeParameter(node) { if (ts.isJSDocTemplateTag(node.parent)) { - var container_1 = ts.find(node.parent.parent.tags, ts.isJSDocTypeAlias) || ts.getHostSignatureFromJSDoc(node.parent); + var container_1 = ts.find(node.parent.parent.tags, ts.isJSDocTypeAlias) || ts.getHostSignatureFromJSDoc(node.parent); // TODO: GH#18217 if (container_1) { if (!container_1.locals) { container_1.locals = ts.createSymbolTable(); @@ -24218,7 +24306,7 @@ var ts; declareSymbolAndAddToSymbolTable(node, 262144 /* TypeParameter */, 67639784 /* TypeParameterExcludes */); } } - else if (node.parent.kind === 171 /* InferType */) { + else if (node.parent.kind === 172 /* InferType */) { var container_2 = getInferTypeContainer(node.parent); if (container_2) { if (!container_2.locals) { @@ -24227,7 +24315,7 @@ var ts; declareSymbol(container_2.locals, /*parent*/ undefined, node, 262144 /* TypeParameter */, 67639784 /* TypeParameterExcludes */); } else { - bindAnonymousDeclaration(node, 262144 /* TypeParameter */, getDeclarationName(node)); + bindAnonymousDeclaration(node, 262144 /* TypeParameter */, getDeclarationName(node)); // TODO: GH#18217 } } else { @@ -24237,7 +24325,7 @@ var ts; // reachability checks function shouldReportErrorOnModuleDeclaration(node) { var instanceState = getModuleInstanceState(node); - return instanceState === 1 /* Instantiated */ || (instanceState === 2 /* ConstEnumOnly */ && options.preserveConstEnums); + return instanceState === 1 /* Instantiated */ || (instanceState === 2 /* ConstEnumOnly */ && !!options.preserveConstEnums); } function checkUnreachable(node) { if (!(currentFlow.flags & 1 /* Unreachable */)) { @@ -24246,31 +24334,31 @@ var ts; if (currentFlow === unreachableFlow) { var reportError = // report error on all statements except empty ones - (ts.isStatementButNotDeclaration(node) && node.kind !== 214 /* EmptyStatement */) || + (ts.isStatementButNotDeclaration(node) && node.kind !== 215 /* EmptyStatement */) || // report error on class declarations - node.kind === 234 /* ClassDeclaration */ || + node.kind === 235 /* ClassDeclaration */ || // report error on instantiated modules or const-enums only modules if preserveConstEnums is set - (node.kind === 238 /* ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)) || + (node.kind === 239 /* ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)) || // report error on regular enums and const enums if preserveConstEnums is set - (node.kind === 237 /* EnumDeclaration */ && (!ts.isConstEnumDeclaration(node) || options.preserveConstEnums)); + (node.kind === 238 /* EnumDeclaration */ && (!ts.isConstEnumDeclaration(node) || options.preserveConstEnums)); if (reportError) { currentFlow = reportedUnreachableFlow; - // unreachable code is reported if - // - user has explicitly asked about it AND - // - statement is in not ambient context (statements in ambient context is already an error - // so we should not report extras) AND - // - node is not variable statement OR - // - node is block scoped variable statement OR - // - node is not block scoped variable statement and at least one variable declaration has initializer - // Rationale: we don't want to report errors on non-initialized var's since they are hoisted - // On the other side we do want to report errors on non-initialized 'lets' because of TDZ - var reportUnreachableCode = !options.allowUnreachableCode && - !(node.flags & 4194304 /* Ambient */) && - (node.kind !== 213 /* VariableStatement */ || - ts.getCombinedNodeFlags(node.declarationList) & 3 /* BlockScoped */ || - ts.forEach(node.declarationList.declarations, function (d) { return d.initializer; })); - if (reportUnreachableCode) { - errorOnFirstToken(node, ts.Diagnostics.Unreachable_code_detected); + if (!options.allowUnreachableCode) { + // unreachable code is reported if + // - user has explicitly asked about it AND + // - statement is in not ambient context (statements in ambient context is already an error + // so we should not report extras) AND + // - node is not variable statement OR + // - node is block scoped variable statement OR + // - node is not block scoped variable statement and at least one variable declaration has initializer + // Rationale: we don't want to report errors on non-initialized var's since they are hoisted + // On the other side we do want to report errors on non-initialized 'lets' because of TDZ + var isError = ts.unreachableCodeIsError(options) && + !(node.flags & 4194304 /* Ambient */) && + (!ts.isVariableStatement(node) || + !!(ts.getCombinedNodeFlags(node.declarationList) & 3 /* BlockScoped */) || + node.declarationList.declarations.some(function (d) { return !!d.initializer; })); + errorOrSuggestionOnFirstToken(isError, node, ts.Diagnostics.Unreachable_code_detected); } } } @@ -24286,8 +24374,8 @@ var ts; ts.isExportsOrModuleExportsOrAlias = isExportsOrModuleExportsOrAlias; function isNameOfExportsOrModuleExportsAliasDeclaration(sourceFile, node) { var symbol = lookupSymbolForNameWorker(sourceFile, node.escapedText); - return symbol && symbol.valueDeclaration && ts.isVariableDeclaration(symbol.valueDeclaration) && - symbol.valueDeclaration.initializer && isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, symbol.valueDeclaration.initializer); + return !!symbol && !!symbol.valueDeclaration && ts.isVariableDeclaration(symbol.valueDeclaration) && + !!symbol.valueDeclaration.initializer && isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, symbol.valueDeclaration.initializer); } function isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, node) { return isExportsOrModuleExportsOrAlias(sourceFile, node) || @@ -24309,58 +24397,58 @@ var ts; function computeTransformFlagsForNode(node, subtreeFlags) { var kind = node.kind; switch (kind) { - case 186 /* CallExpression */: + case 187 /* CallExpression */: return computeCallExpression(node, subtreeFlags); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return computeNewExpression(node, subtreeFlags); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return computeModuleDeclaration(node, subtreeFlags); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return computeParenthesizedExpression(node, subtreeFlags); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return computeBinaryExpression(node, subtreeFlags); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return computeExpressionStatement(node, subtreeFlags); - case 148 /* Parameter */: + case 149 /* Parameter */: return computeParameter(node, subtreeFlags); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return computeArrowFunction(node, subtreeFlags); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return computeFunctionExpression(node, subtreeFlags); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return computeFunctionDeclaration(node, subtreeFlags); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return computeVariableDeclaration(node, subtreeFlags); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return computeVariableDeclarationList(node, subtreeFlags); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return computeVariableStatement(node, subtreeFlags); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return computeLabeledStatement(node, subtreeFlags); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return computeClassDeclaration(node, subtreeFlags); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return computeClassExpression(node, subtreeFlags); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: return computeHeritageClause(node, subtreeFlags); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return computeCatchClause(node, subtreeFlags); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return computeExpressionWithTypeArguments(node, subtreeFlags); - case 154 /* Constructor */: + case 155 /* Constructor */: return computeConstructor(node, subtreeFlags); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return computePropertyDeclaration(node, subtreeFlags); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return computeMethod(node, subtreeFlags); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return computeAccessor(node, subtreeFlags); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return computeImportEquals(node, subtreeFlags); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return computePropertyAccess(node, subtreeFlags); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return computeElementAccess(node, subtreeFlags); default: return computeOther(node, kind, subtreeFlags); @@ -24412,12 +24500,12 @@ var ts; var transformFlags = subtreeFlags; var operatorTokenKind = node.operatorToken.kind; var leftKind = node.left.kind; - if (operatorTokenKind === 58 /* EqualsToken */ && leftKind === 183 /* ObjectLiteralExpression */) { + if (operatorTokenKind === 58 /* EqualsToken */ && leftKind === 184 /* ObjectLiteralExpression */) { // Destructuring object assignments with are ES2015 syntax // and possibly ESNext if they contain rest transformFlags |= 8 /* AssertESNext */ | 192 /* AssertES2015 */ | 3072 /* AssertDestructuringAssignment */; } - else if (operatorTokenKind === 58 /* EqualsToken */ && leftKind === 182 /* ArrayLiteralExpression */) { + else if (operatorTokenKind === 58 /* EqualsToken */ && leftKind === 183 /* ArrayLiteralExpression */) { // Destructuring assignments are ES2015 syntax. transformFlags |= 192 /* AssertES2015 */ | 3072 /* AssertDestructuringAssignment */; } @@ -24466,8 +24554,8 @@ var ts; // If the node is synthesized, it means the emitter put the parentheses there, // not the user. If we didn't want them, the emitter would not have put them // there. - if (expressionKind === 207 /* AsExpression */ - || expressionKind === 189 /* TypeAssertionExpression */) { + if (expressionKind === 208 /* AsExpression */ + || expressionKind === 190 /* TypeAssertionExpression */) { transformFlags |= 3 /* AssertTypeScript */; } // If the expression of a ParenthesizedExpression is a destructuring assignment, @@ -24844,13 +24932,13 @@ var ts; var excludeFlags = 939525441 /* NodeExcludes */; switch (kind) { case 120 /* AsyncKeyword */: - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: // async/await is ES2017 syntax, but may be ESNext syntax (for async generators) transformFlags |= 8 /* AssertESNext */ | 16 /* AssertES2017 */; break; - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: - case 300 /* PartiallyEmittedExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: + case 301 /* PartiallyEmittedExpression */: // These nodes are TypeScript syntax. transformFlags |= 3 /* AssertTypeScript */; excludeFlags = 536872257 /* OuterExpressionExcludes */; @@ -24861,25 +24949,25 @@ var ts; case 117 /* AbstractKeyword */: case 124 /* DeclareKeyword */: case 76 /* ConstKeyword */: - case 237 /* EnumDeclaration */: - case 272 /* EnumMember */: - case 208 /* NonNullExpression */: + case 238 /* EnumDeclaration */: + case 273 /* EnumMember */: + case 209 /* NonNullExpression */: case 132 /* ReadonlyKeyword */: // These nodes are TypeScript syntax. transformFlags |= 3 /* AssertTypeScript */; break; - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: - case 256 /* JsxOpeningElement */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: case 10 /* JsxText */: - case 257 /* JsxClosingElement */: - case 258 /* JsxFragment */: - case 259 /* JsxOpeningFragment */: - case 260 /* JsxClosingFragment */: - case 261 /* JsxAttribute */: - case 262 /* JsxAttributes */: - case 263 /* JsxSpreadAttribute */: - case 264 /* JsxExpression */: + case 258 /* JsxClosingElement */: + case 259 /* JsxFragment */: + case 260 /* JsxOpeningFragment */: + case 261 /* JsxClosingFragment */: + case 262 /* JsxAttribute */: + case 263 /* JsxAttributes */: + case 264 /* JsxSpreadAttribute */: + case 265 /* JsxExpression */: // These nodes are Jsx syntax. transformFlags |= 4 /* AssertJsx */; break; @@ -24887,11 +24975,11 @@ var ts; case 14 /* TemplateHead */: case 15 /* TemplateMiddle */: case 16 /* TemplateTail */: - case 201 /* TemplateExpression */: - case 188 /* TaggedTemplateExpression */: - case 270 /* ShorthandPropertyAssignment */: + case 202 /* TemplateExpression */: + case 189 /* TaggedTemplateExpression */: + case 271 /* ShorthandPropertyAssignment */: case 115 /* StaticKeyword */: - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: // These nodes are ES6 syntax. transformFlags |= 192 /* AssertES2015 */; break; @@ -24905,14 +24993,14 @@ var ts; transformFlags |= 192 /* AssertES2015 */; } break; - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: // This node is either ES2015 syntax or ES2017 syntax (if it is a for-await-of). if (node.awaitModifier) { transformFlags |= 8 /* AssertESNext */; } transformFlags |= 192 /* AssertES2015 */; break; - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: // This node is either ES2015 syntax (in a generator) or ES2017 syntax (in an async // generator). transformFlags |= 8 /* AssertESNext */ | 192 /* AssertES2015 */ | 16777216 /* ContainsYield */; @@ -24925,38 +25013,38 @@ var ts; case 122 /* BooleanKeyword */: case 138 /* SymbolKeyword */: case 105 /* VoidKeyword */: - case 147 /* TypeParameter */: - case 150 /* PropertySignature */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 160 /* TypePredicate */: - case 161 /* TypeReference */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 164 /* TypeQuery */: - case 165 /* TypeLiteral */: - case 166 /* ArrayType */: - case 167 /* TupleType */: - case 168 /* UnionType */: - case 169 /* IntersectionType */: - case 170 /* ConditionalType */: - case 171 /* InferType */: - case 172 /* ParenthesizedType */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 173 /* ThisType */: - case 174 /* TypeOperator */: - case 175 /* IndexedAccessType */: - case 176 /* MappedType */: - case 177 /* LiteralType */: - case 241 /* NamespaceExportDeclaration */: + case 148 /* TypeParameter */: + case 151 /* PropertySignature */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 161 /* TypePredicate */: + case 162 /* TypeReference */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 165 /* TypeQuery */: + case 166 /* TypeLiteral */: + case 167 /* ArrayType */: + case 168 /* TupleType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: + case 171 /* ConditionalType */: + case 172 /* InferType */: + case 173 /* ParenthesizedType */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 174 /* ThisType */: + case 175 /* TypeOperator */: + case 176 /* IndexedAccessType */: + case 177 /* MappedType */: + case 178 /* LiteralType */: + case 242 /* NamespaceExportDeclaration */: // Types and signatures are TypeScript syntax, and exclude all other facts. transformFlags = 3 /* AssertTypeScript */; excludeFlags = -3 /* TypeExcludes */; break; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: // Even though computed property names are ES6, we don't treat them as such. // This is so that they can flow through PropertyName transforms unaffected. // Instead, we mark the container as ES6, so that it can properly handle the transform. @@ -24973,10 +25061,10 @@ var ts; transformFlags |= 65536 /* ContainsLexicalThisInComputedPropertyName */; } break; - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: transformFlags |= 192 /* AssertES2015 */ | 524288 /* ContainsSpread */; break; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: transformFlags |= 8 /* AssertESNext */ | 1048576 /* ContainsObjectSpread */; break; case 97 /* SuperKeyword */: @@ -24988,28 +25076,28 @@ var ts; // Mark this node and its ancestors as containing a lexical `this` keyword. transformFlags |= 16384 /* ContainsLexicalThis */; break; - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: transformFlags |= 192 /* AssertES2015 */ | 8388608 /* ContainsBindingPattern */; if (subtreeFlags & 524288 /* ContainsRest */) { transformFlags |= 8 /* AssertESNext */ | 1048576 /* ContainsObjectRest */; } excludeFlags = 940049729 /* BindingPatternExcludes */; break; - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: transformFlags |= 192 /* AssertES2015 */ | 8388608 /* ContainsBindingPattern */; excludeFlags = 940049729 /* BindingPatternExcludes */; break; - case 181 /* BindingElement */: + case 182 /* BindingElement */: transformFlags |= 192 /* AssertES2015 */; if (node.dotDotDotToken) { transformFlags |= 524288 /* ContainsRest */; } break; - case 149 /* Decorator */: + case 150 /* Decorator */: // This node is TypeScript syntax, and marks its container as also being TypeScript syntax. transformFlags |= 3 /* AssertTypeScript */ | 4096 /* ContainsDecorators */; break; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: excludeFlags = 942740801 /* ObjectLiteralExcludes */; if (subtreeFlags & 2097152 /* ContainsComputedPropertyName */) { // If an ObjectLiteralExpression contains a ComputedPropertyName, then it @@ -25027,8 +25115,8 @@ var ts; transformFlags |= 8 /* AssertESNext */; } break; - case 182 /* ArrayLiteralExpression */: - case 187 /* NewExpression */: + case 183 /* ArrayLiteralExpression */: + case 188 /* NewExpression */: excludeFlags = 940049729 /* ArrayLiteralOrCallOrNewExcludes */; if (subtreeFlags & 524288 /* ContainsSpread */) { // If the this node contains a SpreadExpression, then it is an ES6 @@ -25036,23 +25124,26 @@ var ts; transformFlags |= 192 /* AssertES2015 */; } break; - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: // A loop containing a block scoped binding *may* need to be transformed from ES6. if (subtreeFlags & 4194304 /* ContainsBlockScopedBinding */) { transformFlags |= 192 /* AssertES2015 */; } break; - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (subtreeFlags & 32768 /* ContainsCapturedLexicalThis */) { transformFlags |= 192 /* AssertES2015 */; } break; - case 224 /* ReturnStatement */: - case 222 /* ContinueStatement */: - case 223 /* BreakStatement */: + case 225 /* ReturnStatement */: + // Return statements may require an `await` in ESNext. + transformFlags |= 33554432 /* ContainsHoistedDeclarationOrCompletion */ | 8 /* AssertESNext */; + break; + case 223 /* ContinueStatement */: + case 224 /* BreakStatement */: transformFlags |= 33554432 /* ContainsHoistedDeclarationOrCompletion */; break; } @@ -25068,33 +25159,33 @@ var ts; */ /* @internal */ function getTransformFlagsSubtreeExclusions(kind) { - if (kind >= 160 /* FirstTypeNode */ && kind <= 178 /* LastTypeNode */) { + if (kind >= 161 /* FirstTypeNode */ && kind <= 179 /* LastTypeNode */) { return -3 /* TypeExcludes */; } switch (kind) { - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 182 /* ArrayLiteralExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 183 /* ArrayLiteralExpression */: return 940049729 /* ArrayLiteralOrCallOrNewExcludes */; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return 977327425 /* ModuleExcludes */; - case 148 /* Parameter */: + case 149 /* Parameter */: return 939525441 /* ParameterExcludes */; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return 1003902273 /* ArrowFunctionExcludes */; - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: return 1003935041 /* FunctionExcludes */; - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return 948962625 /* VariableDeclarationListExcludes */; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return 942011713 /* ClassExcludes */; - case 154 /* Constructor */: + case 155 /* Constructor */: return 1003668801 /* ConstructorExcludes */; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return 1003668801 /* MethodOrAccessorExcludes */; case 119 /* AnyKeyword */: case 134 /* NumberKeyword */: @@ -25104,30 +25195,30 @@ var ts; case 122 /* BooleanKeyword */: case 138 /* SymbolKeyword */: case 105 /* VoidKeyword */: - case 147 /* TypeParameter */: - case 150 /* PropertySignature */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 148 /* TypeParameter */: + case 151 /* PropertySignature */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: return -3 /* TypeExcludes */; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return 942740801 /* ObjectLiteralExcludes */; - case 268 /* CatchClause */: + case 269 /* CatchClause */: return 940574017 /* CatchClauseExcludes */; - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: return 940049729 /* BindingPatternExcludes */; - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: - case 300 /* PartiallyEmittedExpression */: - case 190 /* ParenthesizedExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: + case 301 /* PartiallyEmittedExpression */: + case 191 /* ParenthesizedExpression */: case 97 /* SuperKeyword */: return 536872257 /* OuterExpressionExcludes */; - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: return 671089985 /* PropertyAccessExcludes */; default: return 939525441 /* NodeExcludes */; @@ -25188,7 +25279,7 @@ var ts; if (shouldBail) return; // Visit the type's related types, if any - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var objectType = type; var objectFlags = objectType.objectFlags; if (objectFlags & 4 /* Reference */) { @@ -25204,16 +25295,16 @@ var ts; visitObjectType(objectType); } } - if (type.flags & 32768 /* TypeParameter */) { + if (type.flags & 65536 /* TypeParameter */) { visitTypeParameter(type); } - if (type.flags & 393216 /* UnionOrIntersection */) { + if (type.flags & 786432 /* UnionOrIntersection */) { visitUnionOrIntersectionType(type); } - if (type.flags & 524288 /* Index */) { + if (type.flags & 1048576 /* Index */) { visitIndexType(type); } - if (type.flags & 1048576 /* IndexedAccess */) { + if (type.flags & 2097152 /* IndexedAccess */) { visitIndexedAccessType(type); } } @@ -25282,11 +25373,11 @@ var ts; } function visitSymbol(symbol) { if (!symbol) { - return; + return false; } var symbolId = ts.getSymbolId(symbol); if (visitedSymbols[symbolId]) { - return; + return false; } visitedSymbols[symbolId] = symbol; if (!accept(symbol)) { @@ -25302,12 +25393,13 @@ var ts; // (their type resolved directly to the member deeply referenced) // So to get the intervening symbols, we need to check if there's a type // query node on any of the symbol's declarations and get symbols there - if (d.type && d.type.kind === 164 /* TypeQuery */) { + if (d.type && d.type.kind === 165 /* TypeQuery */) { var query = d.type; var entity = getResolvedSymbol(getFirstIdentifier(query.exprName)); visitSymbol(entity); } }); + return false; } } } @@ -25321,7 +25413,7 @@ var ts; ts.trace = trace; /* @internal */ function isTraceEnabled(compilerOptions, host) { - return compilerOptions.traceResolution && host.trace !== undefined; + return !!compilerOptions.traceResolution && host.trace !== undefined; } ts.isTraceEnabled = isTraceEnabled; function withPackageId(packageId, r) { @@ -25501,7 +25593,6 @@ var ts; } } function secondaryLookup() { - var resolvedFile; var initialLocationForSecondaryLookup = containingFile && ts.getDirectoryPath(containingFile); if (initialLocationForSecondaryLookup !== undefined) { // check secondary locations @@ -25509,7 +25600,7 @@ var ts; trace(host, ts.Diagnostics.Looking_up_in_node_modules_folder_initial_location_0, initialLocationForSecondaryLookup); } var result = loadModuleFromNodeModules(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, failedLookupLocations, moduleResolutionState, /*cache*/ undefined); - resolvedFile = resolvedTypeScriptOnly(result && result.value); + var resolvedFile = resolvedTypeScriptOnly(result && result.value); if (!resolvedFile && traceEnabled) { trace(host, ts.Diagnostics.Type_reference_directive_0_was_not_resolved, typeReferenceDirectiveName); } @@ -25582,7 +25673,7 @@ var ts; } function getOrCreateCacheForModuleName(nonRelativeModuleName) { if (ts.isExternalModuleNameRelative(nonRelativeModuleName)) { - return undefined; + return undefined; // TODO: GH#18217 } var perModuleNameCache = moduleNameToDirectoryMap.get(nonRelativeModuleName); if (!perModuleNameCache) { @@ -25694,7 +25785,7 @@ var ts; result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache); break; default: - ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); + return ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); } if (perFolderCache) { perFolderCache.set(moduleName, result); @@ -25947,7 +26038,7 @@ var ts; var originalPath = void 0; if (!compilerOptions.preserveSymlinks && resolvedValue) { originalPath = resolvedValue.path; - var path = realPath(resolved_1.value.path, host, traceEnabled); + var path = realPath(resolvedValue.path, host, traceEnabled); if (path === originalPath) { originalPath = undefined; } @@ -26066,7 +26157,7 @@ var ts; function loadModuleFromFile(extensions, candidate, failedLookupLocations, onlyRecordFailures, state) { if (extensions === Extensions.Json) { var extensionLess = ts.tryRemoveExtension(candidate, ".json" /* Json */); - return extensionLess && tryAddingExtensions(extensionLess, extensions, failedLookupLocations, onlyRecordFailures, state); + return extensionLess === undefined ? undefined : tryAddingExtensions(extensionLess, extensions, failedLookupLocations, onlyRecordFailures, state); } // First, try adding an extension. An import of "foo" could be matched by a file "foo.ts", or "foo.js" by "foo.js.ts" var resolvedByAddingExtension = tryAddingExtensions(candidate, extensions, failedLookupLocations, onlyRecordFailures, state); @@ -26105,7 +26196,7 @@ var ts; } function tryExtension(ext) { var path = tryFile(candidate + ext, failedLookupLocations, onlyRecordFailures, state); - return path && { path: path, ext: ext }; + return path === undefined ? undefined : { path: path, ext: ext }; } } /** Return the file if it exists. */ @@ -26525,11 +26616,12 @@ var ts; getGlobalDiagnostics: getGlobalDiagnostics, getTypeOfSymbolAtLocation: function (symbol, location) { location = ts.getParseTreeNode(location); - return location ? getTypeOfSymbolAtLocation(symbol, location) : unknownType; + return location ? getTypeOfSymbolAtLocation(symbol, location) : errorType; }, - getSymbolsOfParameterPropertyDeclaration: function (parameter, parameterName) { - parameter = ts.getParseTreeNode(parameter, ts.isParameter); - ts.Debug.assert(parameter !== undefined, "Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."); + getSymbolsOfParameterPropertyDeclaration: function (parameterIn, parameterName) { + var parameter = ts.getParseTreeNode(parameterIn, ts.isParameter); + if (parameter === undefined) + return ts.Debug.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."); return getSymbolsOfParameterPropertyDeclaration(parameter, ts.escapeLeadingUnderscores(parameterName)); }, getDeclaredTypeOfSymbol: getDeclaredTypeOfSymbol, @@ -26541,9 +26633,9 @@ var ts; getBaseTypes: getBaseTypes, getBaseTypeOfLiteralType: getBaseTypeOfLiteralType, getWidenedType: getWidenedType, - getTypeFromTypeNode: function (node) { - node = ts.getParseTreeNode(node, ts.isTypeNode); - return node ? getTypeFromTypeNode(node) : unknownType; + getTypeFromTypeNode: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isTypeNode); + return node ? getTypeFromTypeNode(node) : errorType; }, getParameterType: getTypeAtPosition, getReturnTypeOfSignature: getReturnTypeOfSignature, @@ -26569,8 +26661,8 @@ var ts; node = ts.getParseTreeNode(node); return node ? getShorthandAssignmentValueSymbol(node) : undefined; }, - getExportSpecifierLocalTargetSymbol: function (node) { - node = ts.getParseTreeNode(node, ts.isExportSpecifier); + getExportSpecifierLocalTargetSymbol: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isExportSpecifier); return node ? getExportSpecifierLocalTargetSymbol(node) : undefined; }, getExportSymbolOfSymbol: function (symbol) { @@ -26578,10 +26670,10 @@ var ts; }, getTypeAtLocation: function (node) { node = ts.getParseTreeNode(node); - return node ? getTypeOfNode(node) : unknownType; + return node ? getTypeOfNode(node) : errorType; }, - getPropertySymbolOfDestructuringAssignment: function (location) { - location = ts.getParseTreeNode(location, ts.isIdentifier); + getPropertySymbolOfDestructuringAssignment: function (locationIn) { + var location = ts.getParseTreeNode(locationIn, ts.isIdentifier); return location ? getPropertySymbolOfDestructuringAssignment(location) : undefined; }, signatureToString: function (signature, enclosingDeclaration, flags, kind) { @@ -26611,41 +26703,41 @@ var ts; getSymbolDisplayBuilder: getSymbolDisplayBuilder, getAugmentedPropertiesOfType: getAugmentedPropertiesOfType, getRootSymbols: getRootSymbols, - getContextualType: function (node) { - node = ts.getParseTreeNode(node, ts.isExpression); + getContextualType: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isExpression); return node ? getContextualType(node) : undefined; }, - getContextualTypeForArgumentAtIndex: function (node, argIndex) { - node = ts.getParseTreeNode(node, ts.isCallLikeExpression); + getContextualTypeForArgumentAtIndex: function (nodeIn, argIndex) { + var node = ts.getParseTreeNode(nodeIn, ts.isCallLikeExpression); return node && getContextualTypeForArgumentAtIndex(node, argIndex); }, - getContextualTypeForJsxAttribute: function (node) { - node = ts.getParseTreeNode(node, ts.isJsxAttributeLike); + getContextualTypeForJsxAttribute: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isJsxAttributeLike); return node && getContextualTypeForJsxAttribute(node); }, isContextSensitive: isContextSensitive, getFullyQualifiedName: getFullyQualifiedName, - getResolvedSignature: function (node, candidatesOutArray, theArgumentCount) { - node = ts.getParseTreeNode(node, ts.isCallLikeExpression); + getResolvedSignature: function (nodeIn, candidatesOutArray, theArgumentCount) { + var node = ts.getParseTreeNode(nodeIn, ts.isCallLikeExpression); apparentArgumentCount = theArgumentCount; var res = node ? getResolvedSignature(node, candidatesOutArray) : undefined; apparentArgumentCount = undefined; return res; }, - getConstantValue: function (node) { - node = ts.getParseTreeNode(node, canHaveConstantValue); + getConstantValue: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue(node) : undefined; }, - isValidPropertyAccess: function (node, propertyName) { - node = ts.getParseTreeNode(node, ts.isPropertyAccessOrQualifiedNameOrImportTypeNode); + isValidPropertyAccess: function (nodeIn, propertyName) { + var node = ts.getParseTreeNode(nodeIn, ts.isPropertyAccessOrQualifiedNameOrImportTypeNode); return !!node && isValidPropertyAccess(node, ts.escapeLeadingUnderscores(propertyName)); }, - isValidPropertyAccessForCompletions: function (node, type, property) { - node = ts.getParseTreeNode(node, ts.isPropertyAccessExpression); + isValidPropertyAccessForCompletions: function (nodeIn, type, property) { + var node = ts.getParseTreeNode(nodeIn, ts.isPropertyAccessExpression); return !!node && isValidPropertyAccessForCompletions(node, type, property); }, - getSignatureFromDeclaration: function (declaration) { - declaration = ts.getParseTreeNode(declaration, ts.isFunctionLike); + getSignatureFromDeclaration: function (declarationIn) { + var declaration = ts.getParseTreeNode(declarationIn, ts.isFunctionLike); return declaration ? getSignatureFromDeclaration(declaration) : undefined; }, isImplementationOfOverload: function (node) { @@ -26657,7 +26749,8 @@ var ts; var links = getSymbolLinks(symbol); if (!links.immediateTarget) { var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); + if (!node) + return ts.Debug.fail(); links.immediateTarget = getTargetOfAliasDeclaration(node, /*dontRecursivelyResolve*/ true); } return links.immediateTarget; @@ -26668,13 +26761,13 @@ var ts; getExportsAndPropertiesOfModule: getExportsAndPropertiesOfModule, getSymbolWalker: ts.createGetSymbolWalker(getRestTypeOfSignature, getTypePredicateOfSignature, getReturnTypeOfSignature, getBaseTypes, resolveStructuredTypeMembers, getTypeOfSymbol, getResolvedSymbol, getIndexTypeOfStructuredType, getConstraintFromTypeParameter, getFirstIdentifier), getAmbientModules: getAmbientModules, - getAllAttributesTypeFromJsxOpeningLikeElement: function (node) { - node = ts.getParseTreeNode(node, ts.isJsxOpeningLikeElement); + getAllAttributesTypeFromJsxOpeningLikeElement: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isJsxOpeningLikeElement); return node ? getAllAttributesTypeFromJsxOpeningLikeElement(node) : undefined; }, getJsxIntrinsicTagNamesAt: getJsxIntrinsicTagNamesAt, - isOptionalParameter: function (node) { - node = ts.getParseTreeNode(node, ts.isParameter); + isOptionalParameter: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isParameter); return node ? isOptionalParameter(node) : false; }, tryGetMemberInModuleExports: function (name, symbol) { return tryGetMemberInModuleExports(ts.escapeLeadingUnderscores(name), symbol); }, @@ -26708,7 +26801,7 @@ var ts; getSuggestionForNonexistentSymbol: function (location, name, meaning) { return getSuggestionForNonexistentSymbol(location, ts.escapeLeadingUnderscores(name), meaning); }, getSuggestionForNonexistentModule: function (node, target) { return getSuggestionForNonexistentModule(node, target); }, getBaseConstraintOfType: getBaseConstraintOfType, - getDefaultFromTypeParameter: function (type) { return type && type.flags & 32768 /* TypeParameter */ ? getDefaultFromTypeParameter(type) : undefined; }, + getDefaultFromTypeParameter: function (type) { return type && type.flags & 65536 /* TypeParameter */ ? getDefaultFromTypeParameter(type) : undefined; }, resolveName: function (name, location, meaning, excludeGlobals) { return resolveName(location, ts.escapeLeadingUnderscores(name), meaning, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false, excludeGlobals); }, @@ -26720,24 +26813,35 @@ var ts; node = ts.getParseTreeNode(node); return node && tryGetThisTypeAt(node); }, - getTypeArgumentConstraint: function (node) { - node = ts.getParseTreeNode(node, ts.isTypeNode); + getTypeArgumentConstraint: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isTypeNode); return node && getTypeArgumentConstraint(node); }, - getSuggestionDiagnostics: function (file) { - return (suggestionDiagnostics.get(file.fileName) || ts.emptyArray).concat(getUnusedDiagnostics()); - function getUnusedDiagnostics() { - if (file.isDeclarationFile) - return ts.emptyArray; + getSuggestionDiagnostics: function (file, ct) { + var diagnostics; + try { + // Record the cancellation token so it can be checked later on during checkSourceElement. + // Do this in a finally block so we can ensure that it gets reset back to nothing after + // this call is done. + cancellationToken = ct; + // Ensure file is type checked checkSourceFile(file); - var diagnostics = []; ts.Debug.assert(!!(getNodeLinks(file).flags & 1 /* TypeChecked */)); + diagnostics = ts.addRange(diagnostics, suggestionDiagnostics.get(file.fileName)); + if (!file.isDeclarationFile && (!unusedIsError(0 /* Local */) || !unusedIsError(1 /* Parameter */))) { + addUnusedDiagnostics(); + } + return diagnostics || ts.emptyArray; + } + finally { + cancellationToken = undefined; + } + function addUnusedDiagnostics() { checkUnusedIdentifiers(getPotentiallyUnusedIdentifiers(file), function (kind, diag) { if (!unusedIsError(kind)) { - diagnostics.push(__assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); + (diagnostics || (diagnostics = [])).push(__assign({}, diag, { category: ts.DiagnosticCategory.Suggestion })); } }); - return diagnostics; } }, runWithCancellationToken: function (token, callback) { @@ -26762,22 +26866,23 @@ var ts; var anyType = createIntrinsicType(1 /* Any */, "any"); var autoType = createIntrinsicType(1 /* Any */, "any"); var wildcardType = createIntrinsicType(1 /* Any */, "any"); - var unknownType = createIntrinsicType(1 /* Any */, "unknown"); - var undefinedType = createIntrinsicType(4096 /* Undefined */, "undefined"); - var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(4096 /* Undefined */ | 16777216 /* ContainsWideningType */, "undefined"); - var nullType = createIntrinsicType(8192 /* Null */, "null"); - var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(8192 /* Null */ | 16777216 /* ContainsWideningType */, "null"); - var stringType = createIntrinsicType(2 /* String */, "string"); - var numberType = createIntrinsicType(4 /* Number */, "number"); - var trueType = createIntrinsicType(128 /* BooleanLiteral */, "true"); - var falseType = createIntrinsicType(128 /* BooleanLiteral */, "false"); + var errorType = createIntrinsicType(1 /* Any */, "error"); + var unknownType = createIntrinsicType(2 /* Unknown */, "unknown"); + var undefinedType = createIntrinsicType(8192 /* Undefined */, "undefined"); + var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(8192 /* Undefined */ | 134217728 /* ContainsWideningType */, "undefined"); + var nullType = createIntrinsicType(16384 /* Null */, "null"); + var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(16384 /* Null */ | 134217728 /* ContainsWideningType */, "null"); + var stringType = createIntrinsicType(4 /* String */, "string"); + var numberType = createIntrinsicType(8 /* Number */, "number"); + var trueType = createIntrinsicType(256 /* BooleanLiteral */, "true"); + var falseType = createIntrinsicType(256 /* BooleanLiteral */, "false"); var booleanType = createBooleanType([trueType, falseType]); - var esSymbolType = createIntrinsicType(512 /* ESSymbol */, "symbol"); - var voidType = createIntrinsicType(2048 /* Void */, "void"); - var neverType = createIntrinsicType(16384 /* Never */, "never"); - var silentNeverType = createIntrinsicType(16384 /* Never */, "never"); - var implicitNeverType = createIntrinsicType(16384 /* Never */, "never"); - var nonPrimitiveType = createIntrinsicType(134217728 /* NonPrimitive */, "object"); + var esSymbolType = createIntrinsicType(1024 /* ESSymbol */, "symbol"); + var voidType = createIntrinsicType(4096 /* Void */, "void"); + var neverType = createIntrinsicType(32768 /* Never */, "never"); + var silentNeverType = createIntrinsicType(32768 /* Never */, "never"); + var implicitNeverType = createIntrinsicType(32768 /* Never */, "never"); + var nonPrimitiveType = createIntrinsicType(16777216 /* NonPrimitive */, "object"); var stringNumberSymbolType = getUnionType([stringType, numberType, esSymbolType]); var keyofConstraintType = keyofStringsOnly ? stringType : stringNumberSymbolType; var emptyObjectType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); @@ -26789,17 +26894,17 @@ var ts; var anyFunctionType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); // The anyFunctionType contains the anyFunctionType by definition. The flag is further propagated // in getPropagatingFlagsOfTypes, and it is checked in inferFromTypes. - anyFunctionType.flags |= 67108864 /* ContainsAnyFunctionType */; + anyFunctionType.flags |= 536870912 /* ContainsAnyFunctionType */; var noConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); var circularConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); var resolvingDefaultType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, undefined, undefined); - var markerSuperType = createType(32768 /* TypeParameter */); - var markerSubType = createType(32768 /* TypeParameter */); + var markerSuperType = createType(65536 /* TypeParameter */); + var markerSubType = createType(65536 /* TypeParameter */); markerSubType.constraint = markerSuperType; - var markerOtherType = createType(32768 /* TypeParameter */); + var markerOtherType = createType(65536 /* TypeParameter */); var noTypePredicate = createIdentifierTypePredicate("<>", 0, anyType); var anySignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); - var unknownSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, unknownType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); + var unknownSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, errorType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); var resolvingSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); var silentNeverSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, silentNeverType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); var resolvingSignaturesArray = [resolvingSignature]; @@ -27028,6 +27133,7 @@ var ts; typeToString(type, enclosingDeclaration, flags, emitTextWriterWrapper(writer)); }, buildSymbolDisplay: function (symbol, writer, enclosingDeclaration, meaning, flags) { + if (flags === void 0) { flags = 0 /* None */; } symbolToString(symbol, enclosingDeclaration, meaning, flags | 4 /* AllowAnyNodeKind */, emitTextWriterWrapper(writer)); }, buildSignatureDisplay: function (signature, writer, enclosing, flags, kind) { @@ -27041,12 +27147,12 @@ var ts; buildParameterDisplay: function (symbol, writer, enclosing, flags) { var node = nodeBuilder.symbolToParameterDeclaration(symbol, enclosing, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */, writer); var printer = ts.createPrinter({ removeComments: true }); - printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); + printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217 }, buildTypeParameterDisplay: function (tp, writer, enclosing, flags) { var node = nodeBuilder.typeParameterToDeclaration(tp, enclosing, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */ | 8192 /* OmitParameterModifiers */, writer); var printer = ts.createPrinter({ removeComments: true }); - printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); + printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217 }, buildTypePredicateDisplay: function (predicate, writer, enclosing, flags) { typePredicateToString(predicate, enclosing, flags, emitTextWriterWrapper(writer)); @@ -27059,13 +27165,13 @@ var ts; buildDisplayForParametersAndDelimiters: function (thisParameter, parameters, writer, enclosing, originalFlags) { var printer = ts.createPrinter({ removeComments: true }); var flags = 8192 /* OmitParameterModifiers */ | 3112960 /* IgnoreErrors */ | toNodeBuilderFlags(originalFlags); - var thisParameterArray = thisParameter ? [nodeBuilder.symbolToParameterDeclaration(thisParameter, enclosing, flags)] : []; - var params = ts.createNodeArray(thisParameterArray.concat(ts.map(parameters, function (param) { return nodeBuilder.symbolToParameterDeclaration(param, enclosing, flags); }))); + var thisParameterArray = thisParameter ? [nodeBuilder.symbolToParameterDeclaration(thisParameter, enclosing, flags)] : []; // TODO: GH#18217 + var params = ts.createNodeArray(thisParameterArray.concat(ts.map(parameters, function (param) { return nodeBuilder.symbolToParameterDeclaration(param, enclosing, flags); }))); // TODO: GH#18217 printer.writeList(1296 /* CallExpressionArguments */, params, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); }, buildDisplayForTypeParametersAndDelimiters: function (typeParameters, writer, enclosing, flags) { var printer = ts.createPrinter({ removeComments: true }); - var args = ts.createNodeArray(ts.map(typeParameters, function (p) { return nodeBuilder.typeParameterToDeclaration(p, enclosing, toNodeBuilderFlags(flags)); })); + var args = ts.createNodeArray(ts.map(typeParameters, function (p) { return nodeBuilder.typeParameterToDeclaration(p, enclosing, toNodeBuilderFlags(flags)); })); // TODO: GH#18217 printer.writeList(26896 /* TypeParameters */, args, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); }, buildReturnTypeDisplay: function (signature, writer, enclosing, flags) { @@ -27077,7 +27183,7 @@ var ts; } var node = nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosing, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */, writer); var printer = ts.createPrinter({ removeComments: true }); - printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); + printer.writeNode(4 /* Unspecified */, node, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217 } }; function emitTextWriterWrapper(underlying) { @@ -27164,7 +27270,7 @@ var ts; } var jsxPragma = file_1.pragmas.get("jsx"); if (jsxPragma) { - var chosenpragma = ts.isArray(jsxPragma) ? jsxPragma[0] : jsxPragma; + var chosenpragma = ts.isArray(jsxPragma) ? jsxPragma[0] : jsxPragma; // TODO: GH#18217 file_1.localJsxFactory = ts.parseIsolatedEntityName(chosenpragma.arguments.factory, languageVersion); if (file_1.localJsxFactory) { return file_1.localJsxNamespace = getFirstIdentifier(file_1.localJsxFactory).escapedText; @@ -27276,11 +27382,17 @@ var ts; recordMergedSymbol(result, symbol); return result; } + /** + * Note: if target is transient, then it is mutable, and mergeSymbol with both mutate and return it. + * If target is not transient, mergeSymbol will produce a transient clone, mutate that and return it. + */ function mergeSymbol(target, source) { if (!(target.flags & getExcludedSymbolFlags(source.flags)) || (source.flags | target.flags) & 67108864 /* JSContainer */) { - var targetValueDeclaration = target.valueDeclaration; - ts.Debug.assert(!!(target.flags & 33554432 /* Transient */)); + ts.Debug.assert(source !== target); + if (!(target.flags & 33554432 /* Transient */)) { + target = cloneSymbol(target); + } // Javascript static-property-assignment declarations always merge, even though they are also values if (source.flags & 512 /* ValueModule */ && target.flags & 512 /* ValueModule */ && target.constEnumOnlyModule && !source.constEnumOnlyModule) { // reset flag when merging instantiated module into value module that has only const enums @@ -27289,7 +27401,7 @@ var ts; target.flags |= source.flags; if (source.valueDeclaration && (!target.valueDeclaration || - (target.valueDeclaration.kind === 238 /* ModuleDeclaration */ && source.valueDeclaration.kind !== 238 /* ModuleDeclaration */))) { + (target.valueDeclaration.kind === 239 /* ModuleDeclaration */ && source.valueDeclaration.kind !== 239 /* ModuleDeclaration */))) { // other kinds of value declarations take precedence over modules target.valueDeclaration = source.valueDeclaration; } @@ -27304,18 +27416,6 @@ var ts; target.exports = ts.createSymbolTable(); mergeSymbolTable(target.exports, source.exports); } - if ((source.flags | target.flags) & 67108864 /* JSContainer */) { - var sourceInitializer = ts.getJSInitializerSymbol(source); - var init = ts.getDeclaredJavascriptInitializer(targetValueDeclaration) || ts.getAssignedJavascriptInitializer(targetValueDeclaration); - var targetInitializer = init && init.symbol ? init.symbol : target; - if (!(targetInitializer.flags & 33554432 /* Transient */)) { - var mergedInitializer = getMergedSymbol(targetInitializer); - targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; - } - if (sourceInitializer !== source || targetInitializer !== target) { - mergeSymbol(targetInitializer, sourceInitializer); - } - } recordMergedSymbol(target, source); } else if (target.flags & 1024 /* NamespaceModule */) { @@ -27336,11 +27436,12 @@ var ts; error(errorNode, message_2, symbolToString(source)); }); } + return target; } function combineSymbolTables(first, second) { - if (!first || first.size === 0) + if (!ts.hasEntries(first)) return second; - if (!second || second.size === 0) + if (!ts.hasEntries(second)) return first; var combined = ts.createSymbolTable(); mergeSymbolTable(combined, first); @@ -27349,17 +27450,7 @@ var ts; } function mergeSymbolTable(target, source) { source.forEach(function (sourceSymbol, id) { - var targetSymbol = target.get(id); - if (!targetSymbol) { - target.set(id, sourceSymbol); - } - else { - if (!(targetSymbol.flags & 33554432 /* Transient */)) { - targetSymbol = cloneSymbol(targetSymbol); - target.set(id, targetSymbol); - } - mergeSymbol(targetSymbol, sourceSymbol); - } + target.set(id, target.has(id) ? mergeSymbol(target.get(id), sourceSymbol) : sourceSymbol); }); } function mergeModuleAugmentation(moduleName) { @@ -27387,10 +27478,7 @@ var ts; // obtain item referenced by 'export=' mainModule = resolveExternalModuleSymbol(mainModule); if (mainModule.flags & 1920 /* Namespace */) { - // if module symbol has already been merged - it is safe to use it. - // otherwise clone it - mainModule = mainModule.flags & 33554432 /* Transient */ ? mainModule : cloneSymbol(mainModule); - mergeSymbol(mainModule, moduleAugmentation.symbol); + mainModule = mergeSymbol(mainModule, moduleAugmentation.symbol); } else { // moduleName will be a StringLiteral since this is not `declare global`. @@ -27424,7 +27512,7 @@ var ts; return nodeLinks[nodeId] || (nodeLinks[nodeId] = { flags: 0 }); } function isGlobalSourceFile(node) { - return node.kind === 273 /* SourceFile */ && !ts.isExternalOrCommonJsModule(node); + return node.kind === 274 /* SourceFile */ && !ts.isExternalOrCommonJsModule(node); } function getSymbol(symbols, name, meaning) { if (meaning) { @@ -27459,7 +27547,7 @@ var ts; if (parameterSymbol && propertySymbol) { return [parameterSymbol, propertySymbol]; } - ts.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration"); + return ts.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration"); } function isBlockScopedNameDeclaredBeforeUse(declaration, usage) { var declarationFile = ts.getSourceFileOfNode(declaration); @@ -27482,17 +27570,17 @@ var ts; } if (declaration.pos <= usage.pos) { // declaration is before usage - if (declaration.kind === 181 /* BindingElement */) { + if (declaration.kind === 182 /* BindingElement */) { // still might be illegal if declaration and usage are both binding elements (eg var [a = b, b = b] = [1, 2]) - var errorBindingElement = ts.getAncestor(usage, 181 /* BindingElement */); + var errorBindingElement = ts.getAncestor(usage, 182 /* BindingElement */); if (errorBindingElement) { return ts.findAncestor(errorBindingElement, ts.isBindingElement) !== ts.findAncestor(declaration, ts.isBindingElement) || declaration.pos < errorBindingElement.pos; } // or it might be illegal if usage happens before parent variable is declared (eg var [a] = a) - return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 231 /* VariableDeclaration */), usage); + return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 232 /* VariableDeclaration */), usage); } - else if (declaration.kind === 231 /* VariableDeclaration */) { + else if (declaration.kind === 232 /* VariableDeclaration */) { // still might be illegal if usage is in the initializer of the variable declaration (eg var a = a) return !isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage); } @@ -27510,12 +27598,12 @@ var ts; // 5. inside a TS export= declaration (since we will move the export statement during emit to avoid TDZ) // or if usage is in a type context: // 1. inside a type query (typeof in type position) - if (usage.parent.kind === 251 /* ExportSpecifier */ || (usage.parent.kind === 248 /* ExportAssignment */ && usage.parent.isExportEquals)) { + if (usage.parent.kind === 252 /* ExportSpecifier */ || (usage.parent.kind === 249 /* ExportAssignment */ && usage.parent.isExportEquals)) { // export specifiers do not use the variable, they only make it available for use return true; } // When resolving symbols for exports, the `usage` location passed in can be the export site directly - if (usage.kind === 248 /* ExportAssignment */ && usage.isExportEquals) { + if (usage.kind === 249 /* ExportAssignment */ && usage.isExportEquals) { return true; } var container = ts.getEnclosingBlockScopeContainer(declaration); @@ -27523,9 +27611,9 @@ var ts; function isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage) { var container = ts.getEnclosingBlockScopeContainer(declaration); switch (declaration.parent.parent.kind) { - case 213 /* VariableStatement */: - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: + case 214 /* VariableStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: // variable statement/for/for-of statement case, // use site should not be inside variable declaration (initializer of declaration or binding element) if (isSameScopeDescendentOf(usage, declaration, container)) { @@ -27534,7 +27622,8 @@ var ts; break; } // ForIn/ForOf case - use site should not be used in expression part - return ts.isForInOrOfStatement(declaration.parent.parent) && isSameScopeDescendentOf(usage, declaration.parent.parent.expression, container); + var grandparent = declaration.parent.parent; + return ts.isForInOrOfStatement(grandparent) && isSameScopeDescendentOf(usage, grandparent.expression, container); } function isUsedInFunctionOrInstanceProperty(usage, declaration, container) { return !!ts.findAncestor(usage, function (current) { @@ -27545,21 +27634,22 @@ var ts; return true; } var initializerOfProperty = current.parent && - current.parent.kind === 151 /* PropertyDeclaration */ && + current.parent.kind === 152 /* PropertyDeclaration */ && current.parent.initializer === current; if (initializerOfProperty) { if (ts.hasModifier(current.parent, 32 /* Static */)) { - if (declaration.kind === 153 /* MethodDeclaration */) { + if (declaration.kind === 154 /* MethodDeclaration */) { return true; } } else { - var isDeclarationInstanceProperty = declaration.kind === 151 /* PropertyDeclaration */ && !ts.hasModifier(declaration, 32 /* Static */); + var isDeclarationInstanceProperty = declaration.kind === 152 /* PropertyDeclaration */ && !ts.hasModifier(declaration, 32 /* Static */); if (!isDeclarationInstanceProperty || ts.getContainingClass(usage) !== ts.getContainingClass(declaration)) { return true; } } } + return false; }); } } @@ -27595,12 +27685,12 @@ var ts; // - parameters are only in the scope of function body // This restriction does not apply to JSDoc comment types because they are parented // at a higher level than type parameters would normally be - if (meaning & result.flags & 67901928 /* Type */ && lastLocation.kind !== 285 /* JSDocComment */) { + if (meaning & result.flags & 67901928 /* Type */ && lastLocation.kind !== 286 /* JSDocComment */) { useResult = result.flags & 262144 /* TypeParameter */ // type parameters are visible in parameter list, return type and type parameter list ? lastLocation === location.type || - lastLocation.kind === 148 /* Parameter */ || - lastLocation.kind === 147 /* TypeParameter */ + lastLocation.kind === 149 /* Parameter */ || + lastLocation.kind === 148 /* TypeParameter */ // local types not visible outside the function body : false; } @@ -27610,12 +27700,12 @@ var ts; // however it is detected separately when checking initializers of parameters // to make sure that they reference no variables declared after them. useResult = - lastLocation.kind === 148 /* Parameter */ || + lastLocation.kind === 149 /* Parameter */ || (lastLocation === location.type && !!ts.findAncestor(result.valueDeclaration, ts.isParameter)); } } - else if (location.kind === 170 /* ConditionalType */) { + else if (location.kind === 171 /* ConditionalType */) { // A type parameter declared using 'infer T' in a conditional type is visible only in // the true branch of the conditional type. useResult = lastLocation === location.trueType; @@ -27629,14 +27719,14 @@ var ts; } } switch (location.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (!ts.isExternalOrCommonJsModule(location)) break; isInExternalModule = true; // falls through - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: var moduleExports = getSymbolOfNode(location).exports; - if (location.kind === 273 /* SourceFile */ || ts.isAmbientModule(location)) { + if (location.kind === 274 /* SourceFile */ || ts.isAmbientModule(location)) { // It's an external module. First see if the module has an export default and if the local // name of that export default matches. if (result = moduleExports.get("default" /* Default */)) { @@ -27660,21 +27750,27 @@ var ts; var moduleExport = moduleExports.get(name); if (moduleExport && moduleExport.flags === 2097152 /* Alias */ && - ts.getDeclarationOfKind(moduleExport, 251 /* ExportSpecifier */)) { + ts.getDeclarationOfKind(moduleExport, 252 /* ExportSpecifier */)) { break; } } + // ES6 exports are also visible locally (except for 'default'), but commonjs exports are not (except typedefs) if (name !== "default" /* Default */ && (result = lookup(moduleExports, name, meaning & 2623475 /* ModuleMember */))) { - break loop; + if (ts.isSourceFile(location) && location.commonJsModuleIndicator && !result.declarations.some(ts.isJSDocTypeAlias)) { + result = undefined; + } + else { + break loop; + } } break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: if (result = lookup(getSymbolOfNode(location).exports, name, meaning & 8 /* EnumMember */)) { break loop; } break; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: // TypeScript 1.0 spec (April 2014): 8.4.1 // Initializer expressions for instance member variables are evaluated in the scope // of the class constructor body but are not permitted to reference parameters or @@ -27691,9 +27787,9 @@ var ts; } } break; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: if (result = lookup(getMembersOfSymbol(getSymbolOfNode(location)), name, meaning & 67901928 /* Type */)) { if (!isTypeParameterSymbolDeclaredInContainer(result, location)) { // ignore type parameters not declared in this container @@ -27709,7 +27805,7 @@ var ts; } break loop; } - if (location.kind === 204 /* ClassExpression */ && meaning & 32 /* Class */) { + if (location.kind === 205 /* ClassExpression */ && meaning & 32 /* Class */) { var className = location.name; if (className && name === className.escapedText) { result = location.symbol; @@ -27717,7 +27813,7 @@ var ts; } } break; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: // The type parameters of a class are not in scope in the base class expression. if (lastLocation === location.expression && location.parent.token === 85 /* ExtendsKeyword */) { var container = location.parent.parent; @@ -27737,9 +27833,9 @@ var ts; // [foo()]() { } // <-- Reference to T from class's own computed property // } // - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: grandparent = location.parent.parent; - if (ts.isClassLike(grandparent) || grandparent.kind === 235 /* InterfaceDeclaration */) { + if (ts.isClassLike(grandparent) || grandparent.kind === 236 /* InterfaceDeclaration */) { // A reference to this grandparent's type parameters would be an error if (result = lookup(getSymbolOfNode(grandparent).members, name, meaning & 67901928 /* Type */)) { error(errorLocation, ts.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type); @@ -27747,19 +27843,19 @@ var ts; } } break; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: if (meaning & 3 /* Variable */ && name === "arguments") { result = argumentsSymbol; break loop; } break; - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: if (meaning & 3 /* Variable */ && name === "arguments") { result = argumentsSymbol; break loop; @@ -27772,7 +27868,7 @@ var ts; } } break; - case 149 /* Decorator */: + case 150 /* Decorator */: // Decorators are resolved at the class declaration. Resolving at the parameter // or member would result in looking up locals in the method. // @@ -27781,7 +27877,7 @@ var ts; // method(@y x, y) {} // <-- decorator y should be resolved at the class declaration, not the parameter. // } // - if (location.parent && location.parent.kind === 148 /* Parameter */) { + if (location.parent && location.parent.kind === 149 /* Parameter */) { location = location.parent; } // @@ -27794,12 +27890,11 @@ var ts; location = location.parent; } break; - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: // js type aliases do not resolve names from their host, so skip past it - lastLocation = location; - location = ts.getJSDocHost(location).parent; - continue; + location = ts.getJSDocHost(location); + break; } if (isSelfReferenceLocation(location)) { lastSelfReferenceLocation = location; @@ -27815,7 +27910,7 @@ var ts; } if (!result) { if (lastLocation) { - ts.Debug.assert(lastLocation.kind === 273 /* SourceFile */); + ts.Debug.assert(lastLocation.kind === 274 /* SourceFile */); if (lastLocation.commonJsModuleIndicator && name === "exports") { return lastLocation.symbol; } @@ -27838,7 +27933,7 @@ var ts; if (!result) { if (nameNotFoundMessage) { if (!errorLocation || - !checkAndReportErrorForMissingPrefix(errorLocation, name, nameArg) && + !checkAndReportErrorForMissingPrefix(errorLocation, name, nameArg) && // TODO: GH#18217 !checkAndReportErrorForExtendingInterface(errorLocation) && !checkAndReportErrorForUsingTypeAsNamespace(errorLocation, name, meaning) && !checkAndReportErrorForUsingTypeAsValue(errorLocation, name, meaning) && @@ -27889,8 +27984,8 @@ var ts; // If we're in an external module, we can't reference value symbols created from UMD export declarations if (result && isInExternalModule && (meaning & 67216319 /* Value */) === 67216319 /* Value */ && !(originalLocation.flags & 2097152 /* JSDoc */)) { var decls = result.declarations; - if (decls && decls.length === 1 && decls[0].kind === 241 /* NamespaceExportDeclaration */) { - error(errorLocation, ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, ts.unescapeLeadingUnderscores(name)); + if (decls && decls.length === 1 && decls[0].kind === 242 /* NamespaceExportDeclaration */) { + error(errorLocation, ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, ts.unescapeLeadingUnderscores(name)); // TODO: GH#18217 } } } @@ -27898,12 +27993,12 @@ var ts; } function isSelfReferenceLocation(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 238 /* ModuleDeclaration */: // For `namespace N { N; }` + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 239 /* ModuleDeclaration */: // For `namespace N { N; }` return true; default: return false; @@ -27915,10 +28010,10 @@ var ts; function isTypeParameterSymbolDeclaredInContainer(symbol, container) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - if (decl.kind === 147 /* TypeParameter */) { + if (decl.kind === 148 /* TypeParameter */) { var parent = ts.isJSDocTemplateTag(decl.parent) ? ts.getJSDocHost(decl.parent) : decl.parent; if (parent === container) { - return !(ts.isJSDocTemplateTag(decl.parent) && ts.find(decl.parent.parent.tags, ts.isJSDocTypeAlias)); + return !(ts.isJSDocTemplateTag(decl.parent) && ts.find(decl.parent.parent.tags, ts.isJSDocTypeAlias)); // TODO: GH#18217 } } } @@ -27945,7 +28040,7 @@ var ts; // No static member is present. // Check if we're in an instance method and look for a relevant instance member. if (location === container && !ts.hasModifier(location, 32 /* Static */)) { - var instanceType = getDeclaredTypeOfSymbol(classSymbol).thisType; + var instanceType = getDeclaredTypeOfSymbol(classSymbol).thisType; // TODO: GH#18217 if (getPropertyOfType(instanceType, name)) { error(errorLocation, ts.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0, diagnosticName(nameArg)); return true; @@ -27958,11 +28053,11 @@ var ts; } function checkAndReportErrorForExtendingInterface(errorLocation) { var expression = getEntityNameForExtendingInterface(errorLocation); - var isError = !!(expression && resolveEntityName(expression, 64 /* Interface */, /*ignoreErrors*/ true)); - if (isError) { + if (expression && resolveEntityName(expression, 64 /* Interface */, /*ignoreErrors*/ true)) { error(errorLocation, ts.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements, ts.getTextOfNode(expression)); + return true; } - return isError; + return false; } /** * Climbs up parents to an ExpressionWithTypeArguments, and returns its expression, @@ -27971,9 +28066,9 @@ var ts; function getEntityNameForExtendingInterface(node) { switch (node.kind) { case 71 /* Identifier */: - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return node.parent ? getEntityNameForExtendingInterface(node.parent) : undefined; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: if (ts.isEntityNameExpression(node.expression)) { return node.expression; } @@ -28037,8 +28132,9 @@ var ts; function checkResolvedBlockScopedVariable(result, errorLocation) { ts.Debug.assert(!!(result.flags & 2 /* BlockScopedVariable */ || result.flags & 32 /* Class */ || result.flags & 384 /* Enum */)); // Block-scoped variables cannot be used before their definition - var declaration = ts.forEach(result.declarations, function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 237 /* EnumDeclaration */) ? d : undefined; }); - ts.Debug.assert(declaration !== undefined, "Declaration to checkResolvedBlockScopedVariable is undefined"); + var declaration = ts.forEach(result.declarations, function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 238 /* EnumDeclaration */) ? d : undefined; }); + if (declaration === undefined) + return ts.Debug.fail("Declaration to checkResolvedBlockScopedVariable is undefined"); if (!(declaration.flags & 4194304 /* Ambient */) && !isBlockScopedNameDeclaredBeforeUse(declaration, errorLocation)) { if (result.flags & 2 /* BlockScopedVariable */) { error(errorLocation, ts.Diagnostics.Block_scoped_variable_0_used_before_its_declaration, ts.declarationNameToString(ts.getNameOfDeclaration(declaration))); @@ -28056,17 +28152,17 @@ var ts; * Return false if 'stopAt' node is reached or isFunctionLike(current) === true. */ function isSameScopeDescendentOf(initial, parent, stopAt) { - return parent && !!ts.findAncestor(initial, function (n) { return n === stopAt || ts.isFunctionLike(n) ? "quit" : n === parent; }); + return !!parent && !!ts.findAncestor(initial, function (n) { return n === stopAt || ts.isFunctionLike(n) ? "quit" : n === parent; }); } function getAnyImportSyntax(node) { switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return node; - case 244 /* ImportClause */: + case 245 /* ImportClause */: return node.parent; - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return node.parent.parent; - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: return node.parent.parent.parent; default: return undefined; @@ -28076,7 +28172,7 @@ var ts; return ts.find(symbol.declarations, ts.isAliasSymbolDeclaration); } function getTargetOfImportEqualsDeclaration(node, dontResolveAlias) { - if (node.moduleReference.kind === 253 /* ExternalModuleReference */) { + if (node.moduleReference.kind === 254 /* ExternalModuleReference */) { return resolveExternalModuleSymbol(resolveExternalModuleName(node, ts.getExternalModuleImportEqualsDeclarationExpression(node))); } return getSymbolOfPartOfRightHandSideOfImportEquals(node.moduleReference, dontResolveAlias); @@ -28088,7 +28184,7 @@ var ts; : resolveSymbol(moduleSymbol.exports.get(name), dontResolveAlias); } function isSyntacticDefault(node) { - return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasModifier(node, 512 /* Default */)); + return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasModifier(node, 512 /* Default */) || ts.isExportSpecifier(node)); } function canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias) { if (!allowSyntheticDefaultImports) { @@ -28191,12 +28287,13 @@ var ts; if (symbol.flags & 3 /* Variable */) { var typeAnnotation = symbol.valueDeclaration.type; if (typeAnnotation) { - return resolveSymbol(getPropertyOfType(getTypeFromTypeNode(typeAnnotation), name)); + return resolveSymbol(getPropertyOfType(getTypeFromTypeNode(typeAnnotation), name)); // TODO: GH#18217 } } } function getExternalModuleMember(node, specifier, dontResolveAlias) { - var moduleSymbol = resolveExternalModuleName(node, node.moduleSpecifier); + if (dontResolveAlias === void 0) { dontResolveAlias = false; } + var moduleSymbol = resolveExternalModuleName(node, node.moduleSpecifier); // TODO: GH#18217 var targetSymbol = resolveESModuleSymbol(moduleSymbol, node.moduleSpecifier, dontResolveAlias); if (targetSymbol) { var name = specifier.propertyName || specifier.name; @@ -28261,22 +28358,25 @@ var ts; return getNodeLinks(expression).resolvedSymbol; } function getTargetOfAliasDeclaration(node, dontRecursivelyResolve) { + if (dontRecursivelyResolve === void 0) { dontRecursivelyResolve = false; } switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return getTargetOfImportEqualsDeclaration(node, dontRecursivelyResolve); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return getTargetOfImportClause(node, dontRecursivelyResolve); - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return getTargetOfNamespaceImport(node, dontRecursivelyResolve); - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: return getTargetOfImportSpecifier(node, dontRecursivelyResolve); - case 251 /* ExportSpecifier */: + case 252 /* ExportSpecifier */: return getTargetOfExportSpecifier(node, 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */, dontRecursivelyResolve); - case 248 /* ExportAssignment */: - case 199 /* BinaryExpression */: + case 249 /* ExportAssignment */: + case 200 /* BinaryExpression */: return getTargetOfExportAssignment(node, dontRecursivelyResolve); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return getTargetOfNamespaceExportDeclaration(node, dontRecursivelyResolve); + default: + return ts.Debug.fail(); } } /** @@ -28287,11 +28387,10 @@ var ts; if (excludes === void 0) { excludes = 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */; } if (!symbol) return false; - return (symbol.flags & (2097152 /* Alias */ | excludes)) === 2097152 /* Alias */ || (symbol.flags & 2097152 /* Alias */ && symbol.flags & 67108864 /* JSContainer */); + return (symbol.flags & (2097152 /* Alias */ | excludes)) === 2097152 /* Alias */ || !!(symbol.flags & 2097152 /* Alias */ && symbol.flags & 67108864 /* JSContainer */); } function resolveSymbol(symbol, dontResolveAlias) { - var shouldResolve = !dontResolveAlias && isNonLocalAlias(symbol); - return shouldResolve ? resolveAlias(symbol) : symbol; + return !dontResolveAlias && isNonLocalAlias(symbol) ? resolveAlias(symbol) : symbol; } function resolveAlias(symbol) { ts.Debug.assert((symbol.flags & 2097152 /* Alias */) !== 0, "Should only get Alias here."); @@ -28299,7 +28398,8 @@ var ts; if (!links.target) { links.target = resolvingSymbol; var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); + if (!node) + return ts.Debug.fail(); var target = getTargetOfAliasDeclaration(node); if (links.target === resolvingSymbol) { links.target = target || unknownSymbol; @@ -28332,12 +28432,13 @@ var ts; if (!links.referenced) { links.referenced = true; var node = getDeclarationOfAliasSymbol(symbol); - ts.Debug.assert(!!node); - if (node.kind === 248 /* ExportAssignment */) { + if (!node) + return ts.Debug.fail(); + if (node.kind === 249 /* ExportAssignment */) { // export default checkExpressionCached(node.expression); } - else if (node.kind === 251 /* ExportSpecifier */) { + else if (node.kind === 252 /* ExportSpecifier */) { // export { } or export { as foo } checkExpressionCached(node.propertyName || node.name); } @@ -28359,13 +28460,13 @@ var ts; entityName = entityName.parent; } // Check for case 1 and 3 in the above example - if (entityName.kind === 71 /* Identifier */ || entityName.parent.kind === 145 /* QualifiedName */) { + if (entityName.kind === 71 /* Identifier */ || entityName.parent.kind === 146 /* QualifiedName */) { return resolveEntityName(entityName, 1920 /* Namespace */, /*ignoreErrors*/ false, dontResolveAlias); } else { // Case 2 in above example // entityName.kind could be a QualifiedName or a Missing identifier - ts.Debug.assert(entityName.parent.kind === 242 /* ImportEqualsDeclaration */); + ts.Debug.assert(entityName.parent.kind === 243 /* ImportEqualsDeclaration */); return resolveEntityName(entityName, 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */, /*ignoreErrors*/ false, dontResolveAlias); } } @@ -28389,9 +28490,9 @@ var ts; return symbolFromJSPrototype; } } - else if (name.kind === 145 /* QualifiedName */ || name.kind === 184 /* PropertyAccessExpression */) { - var left = name.kind === 145 /* QualifiedName */ ? name.left : name.expression; - var right = name.kind === 145 /* QualifiedName */ ? name.right : name.name; + else if (name.kind === 146 /* QualifiedName */ || name.kind === 185 /* PropertyAccessExpression */) { + var left = name.kind === 146 /* QualifiedName */ ? name.left : name.expression; + var right = name.kind === 146 /* QualifiedName */ ? name.right : name.name; var namespace_1 = resolveEntityName(left, namespaceMeaning, ignoreErrors, /*dontResolveAlias*/ false, location); if (!namespace_1 || ts.nodeIsMissing(right)) { return undefined; @@ -28400,14 +28501,6 @@ var ts; return namespace_1; } if (ts.isInJavaScriptFile(name)) { - var initializer = ts.getDeclaredJavascriptInitializer(namespace_1.valueDeclaration) || ts.getAssignedJavascriptInitializer(namespace_1.valueDeclaration); - if (initializer) { - namespace_1 = getSymbolOfNode(initializer); - } - // Currently, IIFEs may not have a symbol and we don't know about their contents. Give up in this case. - if (!namespace_1) { - return undefined; - } if (namespace_1.valueDeclaration && ts.isVariableDeclaration(namespace_1.valueDeclaration) && namespace_1.valueDeclaration.initializer && @@ -28431,7 +28524,7 @@ var ts; } } else { - ts.Debug.assertNever(name, "Unknown entity name kind."); + throw ts.Debug.assertNever(name, "Unknown entity name kind."); } ts.Debug.assert((ts.getCheckFlags(symbol) & 1 /* Instantiated */) === 0, "Should never get an instantiated symbol here."); return (symbol.flags & meaning) || dontResolveAlias ? symbol : resolveAlias(symbol); @@ -28492,7 +28585,7 @@ var ts; return ambientModule; } var currentSourceFile = ts.getSourceFileOfNode(location); - var resolvedModule = ts.getResolvedModule(currentSourceFile, moduleReference); + var resolvedModule = ts.getResolvedModule(currentSourceFile, moduleReference); // TODO: GH#18217 var resolutionDiagnostic = resolvedModule && ts.getResolutionDiagnostic(compilerOptions, resolvedModule); var sourceFile = resolvedModule && !resolutionDiagnostic && host.getSourceFile(resolvedModule.resolvedFileName); if (sourceFile) { @@ -28566,8 +28659,6 @@ var ts; /*details*/ undefined, ts.Diagnostics.Try_npm_install_types_Slash_0_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0, ts.getMangledNameForScopedPackage(packageId.name)); errorOrSuggestion(isError, errorNode, ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type, moduleReference, resolvedFileName)); } - // An external module with an 'export =' declaration resolves to the target of the 'export =' declaration, - // and an external module with no 'export =' declaration resolves to the module itself. function resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) { return moduleSymbol && getMergedSymbol(getCommonJsExportEquals(resolveSymbol(moduleSymbol.exports.get("export=" /* ExportEquals */), dontResolveAlias), moduleSymbol)) || moduleSymbol; } @@ -28583,14 +28674,7 @@ var ts; moduleSymbol.exports.forEach(function (s, name) { if (name === "export=" /* ExportEquals */) return; - if (!merged.exports.has(name)) { - merged.exports.set(name, s); - } - else { - var ms = cloneSymbol(merged.exports.get(name)); - mergeSymbol(ms, s); - merged.exports.set(name, ms); - } + merged.exports.set(name, merged.exports.has(name) ? mergeSymbol(merged.exports.get(name), s) : s); }); return merged; } @@ -28668,7 +28752,7 @@ var ts; return undefined; } var type = getTypeOfSymbol(exportEquals); - return type.flags & 16382 /* Primitive */ ? undefined : getPropertyOfType(type, memberName); + return type.flags & 32764 /* Primitive */ ? undefined : getPropertyOfType(type, memberName); } function getExportsOfSymbol(symbol) { return symbol.flags & 32 /* Class */ ? getResolvedMembersOrExportsOfSymbol(symbol, "resolvedExports" /* resolvedExports */) : @@ -28758,6 +28842,43 @@ var ts; function getParentOfSymbol(symbol) { return getMergedSymbol(symbol.parent && getLateBoundSymbol(symbol.parent)); } + /** + * Attempts to find the symbol corresponding to the container a symbol is in - usually this + * is just its' `.parent`, but for locals, this value is `undefined` + */ + function getContainerOfSymbol(symbol) { + var container = getParentOfSymbol(symbol); + if (container) { + return container; + } + var candidate = ts.forEach(symbol.declarations, function (d) { return !ts.isAmbientModule(d) && d.parent && hasNonGlobalAugmentationExternalModuleSymbol(d.parent) ? getSymbolOfNode(d.parent) : undefined; }); + if (!candidate) { + return undefined; + } + var alias = getAliasForSymbolInContainer(candidate, symbol); + return alias ? candidate : undefined; + } + function getAliasForSymbolInContainer(container, symbol) { + if (container === getParentOfSymbol(symbol)) { + // fast path, `symbol` is either already the alias or isn't aliased + return symbol; + } + var exports = getExportsOfSymbol(container); + var quick = exports.get(symbol.escapedName); + if (quick && symbolRefersToTarget(quick)) { + return quick; + } + return ts.forEachEntry(exports, function (exported) { + if (symbolRefersToTarget(exported)) { + return exported; + } + }); + function symbolRefersToTarget(s) { + if (s === symbol || resolveSymbol(s) === symbol || resolveSymbol(s) === resolveSymbol(symbol)) { + return s; + } + } + } function getExportSymbolOfValueSymbolIfExported(symbol) { return symbol && (symbol.flags & 1048576 /* ExportValue */) !== 0 ? getMergedSymbol(symbol.exportSymbol) @@ -28770,7 +28891,7 @@ var ts; var members = node.members; for (var _i = 0, members_2 = members; _i < members_2.length; _i++) { var member = members_2[_i]; - if (member.kind === 154 /* Constructor */ && ts.nodeIsPresent(member.body)) { + if (member.kind === 155 /* Constructor */ && ts.nodeIsPresent(member.body)) { return member; } } @@ -28788,12 +28909,12 @@ var ts; } function createBooleanType(trueFalseTypes) { var type = getUnionType(trueFalseTypes); - type.flags |= 8 /* Boolean */; + type.flags |= 16 /* Boolean */; type.intrinsicName = "boolean"; return type; } function createObjectType(objectFlags, symbol) { - var type = createType(65536 /* Object */); + var type = createType(131072 /* Object */); type.objectFlags = objectFlags; type.symbol = symbol; return type; @@ -28848,12 +28969,12 @@ var ts; } } switch (location.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (!ts.isExternalOrCommonJsModule(location)) { break; } // falls through - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (result = callback(getSymbolOfNode(location).exports)) { return result; } @@ -28899,7 +29020,7 @@ var ts; // if the symbolFromSymbolTable is not external module (it could be if it was determined as ambient external module and would be in globals table) // and if symbolFromSymbolTable or alias resolution matches the symbol, // check the symbol can be qualified, it is only then this symbol is accessible - !ts.some(symbolFromSymbolTable.declarations, hasExternalModuleSymbol) && + !ts.some(symbolFromSymbolTable.declarations, hasNonGlobalAugmentationExternalModuleSymbol) && (ignoreQualification || canQualifySymbol(symbolFromSymbolTable, meaning)); } function trySymbolTable(symbols, ignoreQualification) { @@ -28927,6 +29048,11 @@ var ts; return [symbolFromSymbolTable].concat(accessibleSymbolsFromExports); } } + if (symbolFromSymbolTable.escapedName === symbol.escapedName && symbolFromSymbolTable.exportSymbol) { + if (isAccessible(getMergedSymbol(symbolFromSymbolTable.exportSymbol), /*aliasSymbol*/ undefined, ignoreQualification)) { + return [symbol]; + } + } }); } } @@ -28934,7 +29060,7 @@ var ts; var qualify = false; forEachSymbolTableInScope(enclosingDeclaration, function (symbolTable) { // If symbol of this name is not available in the symbol table we are ok - var symbolFromSymbolTable = symbolTable.get(symbol.escapedName); + var symbolFromSymbolTable = getMergedSymbol(symbolTable.get(symbol.escapedName)); if (!symbolFromSymbolTable) { // Continue to the next symbol table return false; @@ -28945,7 +29071,7 @@ var ts; return true; } // Qualify if the symbol from symbol table has same meaning as expected - symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 /* Alias */ && !ts.getDeclarationOfKind(symbolFromSymbolTable, 251 /* ExportSpecifier */)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; + symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 /* Alias */ && !ts.getDeclarationOfKind(symbolFromSymbolTable, 252 /* ExportSpecifier */)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; if (symbolFromSymbolTable.flags & meaning) { qualify = true; return true; @@ -28960,10 +29086,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; switch (declaration.kind) { - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: continue; default: return false; @@ -29008,7 +29134,7 @@ var ts; return hasAccessibleDeclarations; } else { - if (ts.some(symbol.declarations, hasExternalModuleSymbol)) { + if (ts.some(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol)) { // Any meaning of a module symbol is always accessible via an `import` type return { accessibility: 0 /* Accessible */ @@ -29028,7 +29154,7 @@ var ts; // But it can't, hence the accessible is going to be undefined, but that doesn't mean m.c is inaccessible // It is accessible if the parent m is accessible because then m.c can be accessed through qualification meaningToLook = getQualifiedLeftMeaning(meaning); - symbol = getParentOfSymbol(symbol); + symbol = getContainerOfSymbol(symbol); } // This could be a symbol that is not exported in the external module // or it could be a symbol from different external module that is not aliased and hence cannot be named @@ -29057,7 +29183,10 @@ var ts; } } function hasExternalModuleSymbol(declaration) { - return ts.isAmbientModule(declaration) || (declaration.kind === 273 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); + return ts.isAmbientModule(declaration) || (declaration.kind === 274 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); + } + function hasNonGlobalAugmentationExternalModuleSymbol(declaration) { + return ts.isModuleWithStringLiteralName(declaration) || (declaration.kind === 274 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); } function hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible) { var aliasesToMakeVisible; @@ -29104,14 +29233,14 @@ var ts; function isEntityNameVisible(entityName, enclosingDeclaration) { // get symbol of the first identifier of the entityName var meaning; - if (entityName.parent.kind === 164 /* TypeQuery */ || + if (entityName.parent.kind === 165 /* TypeQuery */ || ts.isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent) || - entityName.parent.kind === 146 /* ComputedPropertyName */) { + entityName.parent.kind === 147 /* ComputedPropertyName */) { // Typeof value meaning = 67216319 /* Value */ | 1048576 /* ExportValue */; } - else if (entityName.kind === 145 /* QualifiedName */ || entityName.kind === 184 /* PropertyAccessExpression */ || - entityName.parent.kind === 242 /* ImportEqualsDeclaration */) { + else if (entityName.kind === 146 /* QualifiedName */ || entityName.kind === 185 /* PropertyAccessExpression */ || + entityName.parent.kind === 243 /* ImportEqualsDeclaration */) { // Left identifier from type reference or TypeAlias // Entity name of the import declaration meaning = 1920 /* Namespace */; @@ -29144,7 +29273,7 @@ var ts; var builder = flags & 4 /* AllowAnyNodeKind */ ? nodeBuilder.symbolToExpression : nodeBuilder.symbolToEntityName; return writer ? symbolToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(symbolToStringWorker); function symbolToStringWorker(writer) { - var entity = builder(symbol, meaning, enclosingDeclaration, nodeFlags); + var entity = builder(symbol, meaning, enclosingDeclaration, nodeFlags); // TODO: GH#18217 var printer = ts.createPrinter({ removeComments: true }); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); printer.writeNode(4 /* Unspecified */, entity, /*sourceFile*/ sourceFile, writer); @@ -29152,27 +29281,29 @@ var ts; } } function signatureToString(signature, enclosingDeclaration, flags, kind, writer) { + if (flags === void 0) { flags = 0 /* None */; } return writer ? signatureToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(signatureToStringWorker); function signatureToStringWorker(writer) { var sigOutput; if (flags & 262144 /* WriteArrowStyleSignature */) { - sigOutput = kind === 1 /* Construct */ ? 163 /* ConstructorType */ : 162 /* FunctionType */; + sigOutput = kind === 1 /* Construct */ ? 164 /* ConstructorType */ : 163 /* FunctionType */; } else { - sigOutput = kind === 1 /* Construct */ ? 158 /* ConstructSignature */ : 157 /* CallSignature */; + sigOutput = kind === 1 /* Construct */ ? 159 /* ConstructSignature */ : 158 /* CallSignature */; } var sig = nodeBuilder.signatureToSignatureDeclaration(signature, sigOutput, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */); var printer = ts.createPrinter({ removeComments: true, omitTrailingSemicolon: true }); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); - printer.writeNode(4 /* Unspecified */, sig, /*sourceFile*/ sourceFile, writer); + printer.writeNode(4 /* Unspecified */, sig, /*sourceFile*/ sourceFile, writer); // TODO: GH#18217 return writer; } } function typeToString(type, enclosingDeclaration, flags, writer) { - if (flags === void 0) { flags = 1048576 /* AllowUniqueESSymbolType */; } + if (flags === void 0) { flags = 1048576 /* AllowUniqueESSymbolType */ | 16384 /* UseAliasDefinedOutsideCurrentScope */; } if (writer === void 0) { writer = ts.createTextWriter(""); } var typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */, writer); - ts.Debug.assert(typeNode !== undefined, "should always get typenode"); + if (typeNode === undefined) + return ts.Debug.fail("should always get typenode"); var options = { removeComments: true }; var printer = ts.createPrinter(options); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); @@ -29185,6 +29316,7 @@ var ts; return result; } function toNodeBuilderFlags(flags) { + if (flags === void 0) { flags = 0 /* None */; } return flags & 9469291 /* NodeBuilderFlagsMask */; } function createNodeBuilder() { @@ -29201,7 +29333,7 @@ var ts; var context = createNodeBuilderContext(enclosingDeclaration, flags, tracker); var resultingNode = indexInfoToIndexSignatureDeclarationHelper(indexInfo, kind, context); var result = context.encounteredError ? undefined : resultingNode; - return result; + return result; // TODO: GH#18217 }, signatureToSignatureDeclaration: function (signature, kind, enclosingDeclaration, flags, tracker) { ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0); @@ -29249,7 +29381,7 @@ var ts; function createNodeBuilderContext(enclosingDeclaration, flags, tracker) { return { enclosingDeclaration: enclosingDeclaration, - flags: flags, + flags: flags || 0 /* None */, tracker: tracker && tracker.trackSymbol ? tracker : { trackSymbol: ts.noop }, encounteredError: false, visitedSymbols: undefined, @@ -29264,40 +29396,43 @@ var ts; context.flags &= ~8388608 /* InTypeAlias */; if (!type) { context.encounteredError = true; - return undefined; + return undefined; // TODO: GH#18217 } if (type.flags & 1 /* Any */) { return ts.createKeywordTypeNode(119 /* AnyKeyword */); } - if (type.flags & 2 /* String */) { + if (type.flags & 2 /* Unknown */) { + return ts.createKeywordTypeNode(142 /* UnknownKeyword */); + } + if (type.flags & 4 /* String */) { return ts.createKeywordTypeNode(137 /* StringKeyword */); } - if (type.flags & 4 /* Number */) { + if (type.flags & 8 /* Number */) { return ts.createKeywordTypeNode(134 /* NumberKeyword */); } - if (type.flags & 8 /* Boolean */) { + if (type.flags & 16 /* Boolean */) { return ts.createKeywordTypeNode(122 /* BooleanKeyword */); } - if (type.flags & 256 /* EnumLiteral */ && !(type.flags & 131072 /* Union */)) { + if (type.flags & 512 /* EnumLiteral */ && !(type.flags & 262144 /* Union */)) { var parentSymbol = getParentOfSymbol(type.symbol); var parentName = symbolToName(parentSymbol, context, 67901928 /* Type */, /*expectsIdentifier*/ false); var enumLiteralName = getDeclaredTypeOfSymbol(parentSymbol) === type ? parentName : ts.createQualifiedName(parentName, ts.symbolName(type.symbol)); return ts.createTypeReferenceNode(enumLiteralName, /*typeArguments*/ undefined); } - if (type.flags & 272 /* EnumLike */) { + if (type.flags & 544 /* EnumLike */) { var name = symbolToName(type.symbol, context, 67901928 /* Type */, /*expectsIdentifier*/ false); return ts.createTypeReferenceNode(name, /*typeArguments*/ undefined); } - if (type.flags & (32 /* StringLiteral */)) { + if (type.flags & (64 /* StringLiteral */)) { return ts.createLiteralTypeNode(ts.setEmitFlags(ts.createLiteral(type.value), 16777216 /* NoAsciiEscaping */)); } - if (type.flags & (64 /* NumberLiteral */)) { + if (type.flags & (128 /* NumberLiteral */)) { return ts.createLiteralTypeNode((ts.createLiteral(type.value))); } - if (type.flags & 128 /* BooleanLiteral */) { + if (type.flags & 256 /* BooleanLiteral */) { return type.intrinsicName === "true" ? ts.createTrue() : ts.createFalse(); } - if (type.flags & 1024 /* UniqueESSymbol */) { + if (type.flags & 2048 /* UniqueESSymbol */) { if (!(context.flags & 1048576 /* AllowUniqueESSymbolType */)) { if (isValueSymbolAccessible(type.symbol, context.enclosingDeclaration)) { return symbolToTypeNode(type.symbol, context, 67216319 /* Value */); @@ -29308,25 +29443,25 @@ var ts; } return ts.createTypeOperatorNode(141 /* UniqueKeyword */, ts.createKeywordTypeNode(138 /* SymbolKeyword */)); } - if (type.flags & 2048 /* Void */) { + if (type.flags & 4096 /* Void */) { return ts.createKeywordTypeNode(105 /* VoidKeyword */); } - if (type.flags & 4096 /* Undefined */) { + if (type.flags & 8192 /* Undefined */) { return ts.createKeywordTypeNode(140 /* UndefinedKeyword */); } - if (type.flags & 8192 /* Null */) { + if (type.flags & 16384 /* Null */) { return ts.createKeywordTypeNode(95 /* NullKeyword */); } - if (type.flags & 16384 /* Never */) { + if (type.flags & 32768 /* Never */) { return ts.createKeywordTypeNode(131 /* NeverKeyword */); } - if (type.flags & 512 /* ESSymbol */) { + if (type.flags & 1024 /* ESSymbol */) { return ts.createKeywordTypeNode(138 /* SymbolKeyword */); } - if (type.flags & 134217728 /* NonPrimitive */) { + if (type.flags & 16777216 /* NonPrimitive */) { return ts.createKeywordTypeNode(135 /* ObjectKeyword */); } - if (type.flags & 32768 /* TypeParameter */ && type.isThisType) { + if (type.flags & 65536 /* TypeParameter */ && type.isThisType) { if (context.flags & 4194304 /* InObjectTypeLiteral */) { if (!context.encounteredError && !(context.flags & 32768 /* AllowThisInObjectLiteral */)) { context.encounteredError = true; @@ -29339,24 +29474,25 @@ var ts; } var objectFlags = ts.getObjectFlags(type); if (objectFlags & 4 /* Reference */) { - ts.Debug.assert(!!(type.flags & 65536 /* Object */)); + ts.Debug.assert(!!(type.flags & 131072 /* Object */)); return typeReferenceToTypeNode(type); } - if (type.flags & 32768 /* TypeParameter */ || objectFlags & 3 /* ClassOrInterface */) { - if (type.flags & 32768 /* TypeParameter */ && ts.contains(context.inferTypeParameters, type)) { + if (type.flags & 65536 /* TypeParameter */ || objectFlags & 3 /* ClassOrInterface */) { + if (type.flags & 65536 /* TypeParameter */ && ts.contains(context.inferTypeParameters, type)) { return ts.createInferTypeNode(typeParameterToDeclarationWithConstraint(type, context, /*constraintNode*/ undefined)); } if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && - type.flags & 32768 /* TypeParameter */ && + type.flags & 65536 /* TypeParameter */ && ts.length(type.symbol.declarations) && ts.isTypeParameterDeclaration(type.symbol.declarations[0]) && typeParameterShadowsNameInScope(type, context) && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration)) { return ts.createTypeReferenceNode(ts.getGeneratedNameForNode(type.symbol.declarations[0].name, 16 /* Optimistic */ | 8 /* ReservedInNestedScopes */), /*typeArguments*/ undefined); } - var name = type.symbol ? symbolToName(type.symbol, context, 67901928 /* Type */, /*expectsIdentifier*/ false) : ts.createIdentifier("?"); // Ignore constraint/default when creating a usage (as opposed to declaration) of a type parameter. - return ts.createTypeReferenceNode(name, /*typeArguments*/ undefined); + return type.symbol + ? symbolToTypeNode(type.symbol, context, 67901928 /* Type */) + : ts.createTypeReferenceNode(ts.createIdentifier("?"), /*typeArguments*/ undefined); } if (!inTypeAlias && type.aliasSymbol && (context.flags & 16384 /* UseAliasDefinedOutsideCurrentScope */ || isTypeSymbolAccessible(type.aliasSymbol, context.enclosingDeclaration))) { var typeArgumentNodes = mapToTypeNodes(type.aliasTypeArguments, context); @@ -29364,36 +29500,36 @@ var ts; return ts.createTypeReferenceNode(ts.createIdentifier(""), typeArgumentNodes); return symbolToTypeNode(type.aliasSymbol, context, 67901928 /* Type */, typeArgumentNodes); } - if (type.flags & (131072 /* Union */ | 262144 /* Intersection */)) { - var types = type.flags & 131072 /* Union */ ? formatUnionTypes(type.types) : type.types; + if (type.flags & (262144 /* Union */ | 524288 /* Intersection */)) { + var types = type.flags & 262144 /* Union */ ? formatUnionTypes(type.types) : type.types; var typeNodes = mapToTypeNodes(types, context); if (typeNodes && typeNodes.length > 0) { - var unionOrIntersectionTypeNode = ts.createUnionOrIntersectionTypeNode(type.flags & 131072 /* Union */ ? 168 /* UnionType */ : 169 /* IntersectionType */, typeNodes); + var unionOrIntersectionTypeNode = ts.createUnionOrIntersectionTypeNode(type.flags & 262144 /* Union */ ? 169 /* UnionType */ : 170 /* IntersectionType */, typeNodes); return unionOrIntersectionTypeNode; } else { if (!context.encounteredError && !(context.flags & 262144 /* AllowEmptyUnionOrIntersection */)) { context.encounteredError = true; } - return undefined; + return undefined; // TODO: GH#18217 } } if (objectFlags & (16 /* Anonymous */ | 32 /* Mapped */)) { - ts.Debug.assert(!!(type.flags & 65536 /* Object */)); + ts.Debug.assert(!!(type.flags & 131072 /* Object */)); // The type is an object literal type. return createAnonymousTypeNode(type); } - if (type.flags & 524288 /* Index */) { + if (type.flags & 1048576 /* Index */) { var indexedType = type.type; var indexTypeNode = typeToTypeNodeHelper(indexedType, context); return ts.createTypeOperatorNode(indexTypeNode); } - if (type.flags & 1048576 /* IndexedAccess */) { + if (type.flags & 2097152 /* IndexedAccess */) { var objectTypeNode = typeToTypeNodeHelper(type.objectType, context); var indexTypeNode = typeToTypeNodeHelper(type.indexType, context); return ts.createIndexedAccessTypeNode(objectTypeNode, indexTypeNode); } - if (type.flags & 2097152 /* Conditional */) { + if (type.flags & 4194304 /* Conditional */) { var checkTypeNode = typeToTypeNodeHelper(type.checkType, context); var saveInferTypeParameters = context.inferTypeParameters; context.inferTypeParameters = type.root.inferTypeParameters; @@ -29403,12 +29539,12 @@ var ts; var falseTypeNode = typeToTypeNodeHelper(getFalseTypeFromConditionalType(type), context); return ts.createConditionalTypeNode(checkTypeNode, extendsTypeNode, trueTypeNode, falseTypeNode); } - if (type.flags & 4194304 /* Substitution */) { + if (type.flags & 8388608 /* Substitution */) { return typeToTypeNodeHelper(type.typeVariable, context); } - ts.Debug.fail("Should be unreachable."); + return ts.Debug.fail("Should be unreachable."); function createMappedTypeNodeFromType(type) { - ts.Debug.assert(!!(type.flags & 65536 /* Object */)); + ts.Debug.assert(!!(type.flags & 131072 /* Object */)); var readonlyToken = type.declaration.readonlyToken ? ts.createToken(type.declaration.readonlyToken.kind) : undefined; var questionToken = type.declaration.questionToken ? ts.createToken(type.declaration.questionToken.kind) : undefined; var appropriateConstraintTypeNode; @@ -29437,7 +29573,7 @@ var ts; return symbolToTypeNode(symbol, context, isInstanceType); } // Always use 'typeof T' for type of class, enum, and module objects - else if (symbol.flags & 32 /* Class */ && !getBaseTypeVariableOfClass(symbol) && !(symbol.valueDeclaration.kind === 204 /* ClassExpression */ && context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */) || + else if (symbol.flags & 32 /* Class */ && !getBaseTypeVariableOfClass(symbol) && !(symbol.valueDeclaration.kind === 205 /* ClassExpression */ && context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */) || symbol.flags & (384 /* Enum */ | 512 /* ValueModule */) || shouldWriteTypeOfFunctionSymbol()) { return symbolToTypeNode(symbol, context, 67216319 /* Value */); @@ -29475,12 +29611,12 @@ var ts; var isNonLocalFunctionSymbol = !!(symbol.flags & 16 /* Function */) && (symbol.parent || // is exported function symbol ts.forEach(symbol.declarations, function (declaration) { - return declaration.parent.kind === 273 /* SourceFile */ || declaration.parent.kind === 239 /* ModuleBlock */; + return declaration.parent.kind === 274 /* SourceFile */ || declaration.parent.kind === 240 /* ModuleBlock */; })); if (isStaticMethodSymbol || isNonLocalFunctionSymbol) { // typeof is allowed only for static/non local functions return (!!(context.flags & 4096 /* UseTypeOfFunction */) || (context.visitedSymbols && context.visitedSymbols.has(id))) && // it is type of the symbol uses itself recursively - (!(context.flags & 8 /* UseStructuralFallback */) || isValueSymbolAccessible(symbol, context.enclosingDeclaration)); // And the build is going to succeed without visibility error or there is no structural fallback allowed + (!(context.flags & 8 /* UseStructuralFallback */) || isValueSymbolAccessible(symbol, context.enclosingDeclaration)); // TODO: GH#18217 // And the build is going to succeed without visibility error or there is no structural fallback allowed } } } @@ -29495,12 +29631,12 @@ var ts; } if (resolved.callSignatures.length === 1 && !resolved.constructSignatures.length) { var signature = resolved.callSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 162 /* FunctionType */, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 163 /* FunctionType */, context); return signatureNode; } if (resolved.constructSignatures.length === 1 && !resolved.callSignatures.length) { var signature = resolved.constructSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 163 /* ConstructorType */, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 164 /* ConstructorType */, context); return signatureNode; } } @@ -29532,7 +29668,7 @@ var ts; return ts.createTupleTypeNode([]); } context.encounteredError = true; - return undefined; + return undefined; // TODO: GH#18217 } else if (context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */ && type.symbol.valueDeclaration && @@ -29621,11 +29757,11 @@ var ts; var typeElements = []; for (var _i = 0, _a = resolvedType.callSignatures; _i < _a.length; _i++) { var signature = _a[_i]; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 157 /* CallSignature */, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 158 /* CallSignature */, context)); } for (var _b = 0, _c = resolvedType.constructSignatures; _b < _c.length; _b++) { var signature = _c[_b]; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 158 /* ConstructSignature */, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 159 /* ConstructSignature */, context)); } if (resolvedType.stringIndexInfo) { var indexInfo = resolvedType.objectFlags & 2048 /* ReverseMapped */ ? @@ -29655,7 +29791,7 @@ var ts; var saveEnclosingDeclaration = context.enclosingDeclaration; context.enclosingDeclaration = undefined; if (ts.getCheckFlags(propertySymbol) & 1024 /* Late */) { - var decl = ts.firstOrUndefined(propertySymbol.declarations); + var decl = ts.first(propertySymbol.declarations); var name = hasLateBindableName(decl) && resolveEntityName(decl.name.expression, 67216319 /* Value */); if (name && context.tracker.trackSymbol) { context.tracker.trackSymbol(name, saveEnclosingDeclaration, 67216319 /* Value */); @@ -29668,7 +29804,7 @@ var ts; var signatures = getSignaturesOfType(propertyType, 0 /* Call */); for (var _e = 0, signatures_1 = signatures; _e < signatures_1.length; _e++) { var signature = signatures_1[_e]; - var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 152 /* MethodSignature */, context); + var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 153 /* MethodSignature */, context); methodDeclaration.name = propertyName; methodDeclaration.questionToken = optionalToken; if (propertySymbol.valueDeclaration) { @@ -29718,7 +29854,7 @@ var ts; /*dotDotDotToken*/ undefined, name, /*questionToken*/ undefined, indexerTypeNode, /*initializer*/ undefined); - var typeNode = indexInfo.type ? typeToTypeNodeHelper(indexInfo.type, context) : typeToTypeNodeHelper(anyType, context); + var typeNode = typeToTypeNodeHelper(indexInfo.type || anyType, context); if (!indexInfo.type && !(context.flags & 2097152 /* AllowEmptyIndexInfoType */)) { context.encounteredError = true; } @@ -29734,7 +29870,7 @@ var ts; else { typeParameters = signature.typeParameters && signature.typeParameters.map(function (parameter) { return typeParameterToDeclaration(parameter, context); }); } - var parameters = signature.parameters.map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 154 /* Constructor */); }); + var parameters = signature.parameters.map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 155 /* Constructor */); }); if (signature.thisParameter) { var thisParameter = symbolToParameterDeclaration(signature.thisParameter, context); parameters.unshift(thisParameter); @@ -29786,22 +29922,22 @@ var ts; return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags) { - var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 148 /* Parameter */); + var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 149 /* Parameter */); if (!parameterDeclaration && !isTransientSymbol(parameterSymbol)) { - parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 292 /* JSDocParameterTag */); + parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 293 /* JSDocParameterTag */); } var parameterType = getTypeOfSymbol(parameterSymbol); if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { parameterType = getOptionalType(parameterType); } var parameterTypeNode = typeToTypeNodeHelper(parameterType, context); - var modifiers = !(context.flags & 8192 /* OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers && parameterDeclaration.modifiers.map(ts.getSynthesizedClone); + var modifiers = !(context.flags & 8192 /* OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers ? parameterDeclaration.modifiers.map(ts.getSynthesizedClone) : undefined; var isRest = parameterDeclaration ? ts.isRestParameter(parameterDeclaration) : parameterSymbol.isRestParameter; var dotDotDotToken = isRest ? ts.createToken(24 /* DotDotDotToken */) : undefined; var name = parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 71 /* Identifier */ ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : - parameterDeclaration.name.kind === 145 /* QualifiedName */ ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : + parameterDeclaration.name.kind === 146 /* QualifiedName */ ? ts.setEmitFlags(ts.getSynthesizedClone(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : ts.symbolName(parameterSymbol) : ts.symbolName(parameterSymbol); @@ -29815,7 +29951,7 @@ var ts; function elideInitializerAndSetEmitFlags(node) { var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags); var clone = ts.nodeIsSynthesized(visited) ? visited : ts.getSynthesizedClone(visited); - if (clone.kind === 181 /* BindingElement */) { + if (clone.kind === 182 /* BindingElement */) { clone.initializer = undefined; } return ts.setEmitFlags(clone, 1 /* SingleLine */ | 16777216 /* NoAsciiEscaping */); @@ -29823,12 +29959,12 @@ var ts; } } function lookupSymbolChain(symbol, context, meaning, yieldModuleSymbol) { - context.tracker.trackSymbol(symbol, context.enclosingDeclaration, meaning); + context.tracker.trackSymbol(symbol, context.enclosingDeclaration, meaning); // TODO: GH#18217 // Try to get qualified name if the symbol is not a type parameter and there is an enclosing declaration. var chain; var isTypeParameter = symbol.flags & 262144 /* TypeParameter */; if (!isTypeParameter && (context.enclosingDeclaration || context.flags & 64 /* UseFullyQualifiedType */)) { - chain = getSymbolChain(symbol, meaning, /*endOfChain*/ true); + chain = ts.Debug.assertDefined(getSymbolChain(symbol, meaning, /*endOfChain*/ true)); ts.Debug.assert(chain && chain.length > 0); } else { @@ -29842,12 +29978,12 @@ var ts; if (!accessibleSymbolChain || needsQualification(accessibleSymbolChain[0], context.enclosingDeclaration, accessibleSymbolChain.length === 1 ? meaning : getQualifiedLeftMeaning(meaning))) { // Go up and add our parent. - var parent = getParentOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); + var parent = getContainerOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); if (parent) { var parentChain = getSymbolChain(parent, getQualifiedLeftMeaning(meaning), /*endOfChain*/ false); if (parentChain) { parentSymbol = parent; - accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [symbol]); + accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [getAliasForSymbolInContainer(parent, symbol) || symbol]); } } } @@ -29858,7 +29994,7 @@ var ts; // If this is the last part of outputting the symbol, always output. The cases apply only to parent symbols. endOfChain || // If a parent symbol is an external module, don't write it. (We prefer just `x` vs `"foo/bar".x`.) - (yieldModuleSymbol || !(!parentSymbol && ts.forEach(symbol.declarations, hasExternalModuleSymbol))) && + (yieldModuleSymbol || !(!parentSymbol && ts.forEach(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol))) && // If a parent symbol is an anonymous type, don't write it. !(symbol.flags & (2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */))) { return [symbol]; @@ -30035,6 +30171,7 @@ var ts; } } function typePredicateToString(typePredicate, enclosingDeclaration, flags, writer) { + if (flags === void 0) { flags = 16384 /* UseAliasDefinedOutsideCurrentScope */; } return writer ? typePredicateToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(typePredicateToStringWorker); function typePredicateToStringWorker(writer) { var predicate = ts.createTypePredicateNode(typePredicate.kind === 1 /* Identifier */ ? ts.createIdentifier(typePredicate.parameterName) : ts.createThisTypeNode(), nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | 3112960 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */)); @@ -30050,10 +30187,10 @@ var ts; for (var i = 0; i < types.length; i++) { var t = types[i]; flags |= t.flags; - if (!(t.flags & 12288 /* Nullable */)) { - if (t.flags & (128 /* BooleanLiteral */ | 256 /* EnumLiteral */)) { - var baseType = t.flags & 128 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLiteralType(t); - if (baseType.flags & 131072 /* Union */) { + if (!(t.flags & 24576 /* Nullable */)) { + if (t.flags & (256 /* BooleanLiteral */ | 512 /* EnumLiteral */)) { + var baseType = t.flags & 256 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLiteralType(t); + if (baseType.flags & 262144 /* Union */) { var count = baseType.types.length; if (i + count <= types.length && types[i + count - 1] === baseType.types[count - 1]) { result.push(baseType); @@ -30065,9 +30202,9 @@ var ts; result.push(t); } } - if (flags & 8192 /* Null */) + if (flags & 16384 /* Null */) result.push(nullType); - if (flags & 4096 /* Undefined */) + if (flags & 8192 /* Undefined */) result.push(undefinedType); return result || types; } @@ -30082,8 +30219,8 @@ var ts; } function getTypeAliasForTypeLiteral(type) { if (type.symbol && type.symbol.flags & 2048 /* TypeLiteral */) { - var node = ts.findAncestor(type.symbol.declarations[0].parent, function (n) { return n.kind !== 172 /* ParenthesizedType */; }); - if (node.kind === 236 /* TypeAliasDeclaration */) { + var node = ts.findAncestor(type.symbol.declarations[0].parent, function (n) { return n.kind !== 173 /* ParenthesizedType */; }); + if (node.kind === 237 /* TypeAliasDeclaration */) { return getSymbolOfNode(node); } } @@ -30091,11 +30228,11 @@ var ts; } function isTopLevelInExternalModuleAugmentation(node) { return node && node.parent && - node.parent.kind === 239 /* ModuleBlock */ && + node.parent.kind === 240 /* ModuleBlock */ && ts.isExternalModuleAugmentation(node.parent.parent); } function isDefaultBindingContext(location) { - return location.kind === 273 /* SourceFile */ || ts.isAmbientModule(location); + return location.kind === 274 /* SourceFile */ || ts.isAmbientModule(location); } /** * Gets a human-readable name for a symbol. @@ -30115,15 +30252,15 @@ var ts; return "default"; } if (symbol.declarations && symbol.declarations.length) { - if (ts.some(symbol.declarations, hasExternalModuleSymbol) && context.enclosingDeclaration) { - var file_3 = ts.getDeclarationOfKind(symbol, 273 /* SourceFile */); + if (ts.some(symbol.declarations, hasExternalModuleSymbol) && context.enclosingDeclaration) { // TODO: GH#18217 + var file_3 = ts.getDeclarationOfKind(symbol, 274 /* SourceFile */); if (!file_3 || !context.tracker.moduleResolverHost) { if (context.tracker.trackReferencedAmbientModule) { var ambientDecls = ts.filter(symbol.declarations, ts.isAmbientModule); if (ts.length(ambientDecls)) { for (var _i = 0, ambientDecls_1 = ambientDecls; _i < ambientDecls_1.length; _i++) { var decl = ambientDecls_1[_i]; - context.tracker.trackReferencedAmbientModule(decl); + context.tracker.trackReferencedAmbientModule(decl); // TODO: GH#18217 } } } @@ -30138,26 +30275,26 @@ var ts; if (name) { return ts.declarationNameToString(name); } - if (declaration.parent && declaration.parent.kind === 231 /* VariableDeclaration */) { + if (declaration.parent && declaration.parent.kind === 232 /* VariableDeclaration */) { return ts.declarationNameToString(declaration.parent.name); } if (context && !context.encounteredError && !(context.flags & 131072 /* AllowAnonymousIdentifier */)) { context.encounteredError = true; } switch (declaration.kind) { - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return "(Anonymous class)"; - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return "(Anonymous function)"; } } var nameType = symbol.nameType; if (nameType) { - if (nameType.flags & 32 /* StringLiteral */ && !ts.isIdentifierText(nameType.value, compilerOptions.target)) { + if (nameType.flags & 64 /* StringLiteral */ && !ts.isIdentifierText(nameType.value, compilerOptions.target)) { return "\"" + ts.escapeString(nameType.value, 34 /* doubleQuote */) + "\""; } - if (nameType && nameType.flags & 1024 /* UniqueESSymbol */) { + if (nameType && nameType.flags & 2048 /* UniqueESSymbol */) { return "[" + getNameOfSymbolAsWritten(nameType.symbol, context) + "]"; } } @@ -30174,27 +30311,27 @@ var ts; return false; function determineIfDeclarationIsVisible() { switch (node.kind) { - case 291 /* JSDocCallbackTag */: - case 296 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: // Top-level jsdoc type aliases are considered exported // First parent is comment node, second is hosting declaration or token; we only care about those tokens or declarations whose parent is a source file return !!(node.parent && node.parent.parent && node.parent.parent.parent && ts.isSourceFile(node.parent.parent.parent)); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return isDeclarationVisible(node.parent.parent); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: if (ts.isBindingPattern(node.name) && !node.name.elements.length) { // If the binding pattern is empty, this variable declaration is not visible return false; } // falls through - case 238 /* ModuleDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 233 /* FunctionDeclaration */: - case 237 /* EnumDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 239 /* ModuleDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 234 /* FunctionDeclaration */: + case 238 /* EnumDeclaration */: + case 243 /* ImportEqualsDeclaration */: // external module augmentation is always visible if (ts.isExternalModuleAugmentation(node)) { return true; @@ -30202,53 +30339,53 @@ var ts; var parent = getDeclarationContainer(node); // If the node is not exported or it is not ambient module element (except import declaration) if (!(ts.getCombinedModifierFlags(node) & 1 /* Export */) && - !(node.kind !== 242 /* ImportEqualsDeclaration */ && parent.kind !== 273 /* SourceFile */ && parent.flags & 4194304 /* Ambient */)) { + !(node.kind !== 243 /* ImportEqualsDeclaration */ && parent.kind !== 274 /* SourceFile */ && parent.flags & 4194304 /* Ambient */)) { return isGlobalSourceFile(parent); } // Exported members/ambient module elements (exception import declaration) are visible if parent is visible return isDeclarationVisible(parent); - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.hasModifier(node, 8 /* Private */ | 16 /* Protected */)) { // Private/protected properties/methods are not visible return false; } // Public properties/methods are visible if its parents are visible, so: // falls through - case 154 /* Constructor */: - case 158 /* ConstructSignature */: - case 157 /* CallSignature */: - case 159 /* IndexSignature */: - case 148 /* Parameter */: - case 239 /* ModuleBlock */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 165 /* TypeLiteral */: - case 161 /* TypeReference */: - case 166 /* ArrayType */: - case 167 /* TupleType */: - case 168 /* UnionType */: - case 169 /* IntersectionType */: - case 172 /* ParenthesizedType */: + case 155 /* Constructor */: + case 159 /* ConstructSignature */: + case 158 /* CallSignature */: + case 160 /* IndexSignature */: + case 149 /* Parameter */: + case 240 /* ModuleBlock */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 166 /* TypeLiteral */: + case 162 /* TypeReference */: + case 167 /* ArrayType */: + case 168 /* TupleType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: + case 173 /* ParenthesizedType */: return isDeclarationVisible(node.parent); // Default binding, import specifier and namespace import is visible // only on demand so by default it is not visible - case 244 /* ImportClause */: - case 245 /* NamespaceImport */: - case 247 /* ImportSpecifier */: + case 245 /* ImportClause */: + case 246 /* NamespaceImport */: + case 248 /* ImportSpecifier */: return false; // Type parameters are always visible - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: // Source file and namespace export are always visible - case 273 /* SourceFile */: - case 241 /* NamespaceExportDeclaration */: + case 274 /* SourceFile */: + case 242 /* NamespaceExportDeclaration */: return true; // Export assignments do not create name bindings outside the module - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return false; default: return false; @@ -30257,10 +30394,10 @@ var ts; } function collectLinkedAliases(node, setVisibility) { var exportSymbol; - if (node.parent && node.parent.kind === 248 /* ExportAssignment */) { + if (node.parent && node.parent.kind === 249 /* ExportAssignment */) { exportSymbol = resolveName(node, node.escapedText, 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */, /*nameNotFoundMessage*/ undefined, node, /*isUse*/ false); } - else if (node.parent.kind === 251 /* ExportSpecifier */) { + else if (node.parent.kind === 252 /* ExportSpecifier */) { exportSymbol = getTargetOfExportSpecifier(node.parent, 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */); } var result; @@ -30329,22 +30466,22 @@ var ts; } function hasType(target, propertyName) { if (propertyName === 0 /* Type */) { - return getSymbolLinks(target).type; + return !!getSymbolLinks(target).type; } if (propertyName === 2 /* DeclaredType */) { - return getSymbolLinks(target).declaredType; + return !!getSymbolLinks(target).declaredType; } if (propertyName === 1 /* ResolvedBaseConstructorType */) { - return target.resolvedBaseConstructorType; + return !!target.resolvedBaseConstructorType; } if (propertyName === 3 /* ResolvedReturnType */) { - return target.resolvedReturnType; + return !!target.resolvedReturnType; } if (propertyName === 4 /* ResolvedBaseConstraint */) { var bc = target.resolvedBaseConstraint; - return bc && bc !== circularConstraintType; + return !!bc && bc !== circularConstraintType; } - ts.Debug.fail("Unhandled TypeSystemPropertyName " + propertyName); + return ts.Debug.fail("Unhandled TypeSystemPropertyName " + propertyName); } // Pop an entry from the type resolution stack and return its associated result value. The result value will // be true if no circularities were detected, or false if a circularity was found. @@ -30354,20 +30491,19 @@ var ts; return resolutionResults.pop(); } function getDeclarationContainer(node) { - node = ts.findAncestor(ts.getRootDeclaration(node), function (node) { + return ts.findAncestor(ts.getRootDeclaration(node), function (node) { switch (node.kind) { - case 231 /* VariableDeclaration */: - case 232 /* VariableDeclarationList */: - case 247 /* ImportSpecifier */: - case 246 /* NamedImports */: - case 245 /* NamespaceImport */: - case 244 /* ImportClause */: + case 232 /* VariableDeclaration */: + case 233 /* VariableDeclarationList */: + case 248 /* ImportSpecifier */: + case 247 /* NamedImports */: + case 246 /* NamespaceImport */: + case 245 /* ImportClause */: return false; default: return true; } - }); - return node && node.parent; + }).parent; } function getTypeOfPrototypeProperty(prototype) { // TypeScript 1.0 spec (April 2014): 8.4 @@ -30392,14 +30528,14 @@ var ts; return symbol && getSymbolLinks(symbol).type || getTypeForVariableLikeDeclaration(node, /*includeOptionality*/ false); } function isComputedNonLiteralName(name) { - return name.kind === 146 /* ComputedPropertyName */ && !ts.isStringOrNumericLiteral(name.expression); + return name.kind === 147 /* ComputedPropertyName */ && !ts.isStringOrNumericLiteral(name.expression); } function getRestType(source, properties, symbol) { - source = filterType(source, function (t) { return !(t.flags & 12288 /* Nullable */); }); - if (source.flags & 16384 /* Never */) { + source = filterType(source, function (t) { return !(t.flags & 24576 /* Nullable */); }); + if (source.flags & 32768 /* Never */) { return emptyObjectType; } - if (source.flags & 131072 /* Union */) { + if (source.flags & 262144 /* Union */) { return mapType(source, function (t) { return getRestType(t, properties, symbol); }); } var members = ts.createSymbolTable(); @@ -30426,8 +30562,8 @@ var ts; var pattern = declaration.parent; var parentType = getTypeForBindingElementParent(pattern.parent); // If parent has the unknown (error) type, then so does this binding element - if (parentType === unknownType) { - return unknownType; + if (parentType === errorType) { + return errorType; } // If no type was specified or inferred for parent, // infer from the initializer of the binding element if one is present. @@ -30439,11 +30575,11 @@ var ts; return parentType; } var type; - if (pattern.kind === 179 /* ObjectBindingPattern */) { + if (pattern.kind === 180 /* ObjectBindingPattern */) { if (declaration.dotDotDotToken) { - if (!isValidSpreadType(parentType)) { + if (parentType.flags & 2 /* Unknown */ || !isValidSpreadType(parentType)) { error(declaration, ts.Diagnostics.Rest_types_may_only_be_created_from_object_types); - return unknownType; + return errorType; } var literalMembers = []; for (var _i = 0, _a = pattern.elements; _i < _a.length; _i++) { @@ -30461,13 +30597,13 @@ var ts; var isWellKnown = ts.isComputedPropertyName(name) && ts.isWellKnownSymbolSyntactically(name.expression); if (!isLate && !isWellKnown && isComputedNonLiteralName(name)) { var exprType = checkExpression(name.expression); - if (isTypeAssignableToKind(exprType, 1536 /* ESSymbolLike */)) { + if (isTypeAssignableToKind(exprType, 3072 /* ESSymbolLike */)) { if (noImplicitAny) { error(declaration, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(exprType), typeToString(parentType)); } return anyType; } - var indexerType = isTypeAssignableToKind(exprType, 84 /* NumberLike */) && getIndexTypeOfType(parentType, 1 /* Number */) || getIndexTypeOfType(parentType, 0 /* String */); + var indexerType = isTypeAssignableToKind(exprType, 168 /* NumberLike */) && getIndexTypeOfType(parentType, 1 /* Number */) || getIndexTypeOfType(parentType, 0 /* String */); if (!indexerType && noImplicitAny && !compilerOptions.suppressImplicitAnyIndexErrors) { if (getIndexTypeOfType(parentType, 1 /* Number */)) { error(declaration, ts.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number); @@ -30480,7 +30616,7 @@ var ts; } // Use type of the specified property, or otherwise, for a numeric name, the type of the numeric index signature, // or otherwise the type of the string index signature. - var nameType = isLate && checkComputedPropertyName(name); + var nameType = isLate ? checkComputedPropertyName(name) : undefined; var text = isLate ? getLateBoundNameFromType(nameType) : isWellKnown ? ts.getPropertyNameForKnownSymbolName(ts.idText(name.expression.name)) : ts.getTextOfPropertyName(name); @@ -30488,7 +30624,7 @@ var ts; if (strictNullChecks && declaration.flags & 4194304 /* Ambient */ && ts.isParameterDeclaration(declaration)) { parentType = getNonNullableType(parentType); } - if (isLate && nameType && !getPropertyOfType(parentType, text) && isTypeAssignableToKind(nameType, 1536 /* ESSymbolLike */)) { + if (isLate && nameType && !getPropertyOfType(parentType, text) && isTypeAssignableToKind(nameType, 3072 /* ESSymbolLike */)) { if (noImplicitAny) { error(declaration, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(nameType), typeToString(parentType)); } @@ -30500,7 +30636,7 @@ var ts; getIndexTypeOfType(parentType, 0 /* String */); if (!type) { error(name, ts.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature, typeToString(parentType), ts.declarationNameToString(name)); - return unknownType; + return errorType; } } } @@ -30526,13 +30662,13 @@ var ts; else { error(declaration, ts.Diagnostics.Type_0_has_no_property_1, typeToString(parentType), propName); } - return unknownType; + return errorType; } } } // In strict null checking mode, if a default value of a non-undefined type is specified, remove // undefined from the final type. - if (strictNullChecks && declaration.initializer && !(getFalsyFlags(checkExpressionCached(declaration.initializer)) & 4096 /* Undefined */)) { + if (strictNullChecks && declaration.initializer && !(getFalsyFlags(checkExpressionCached(declaration.initializer)) & 8192 /* Undefined */)) { type = getTypeWithFacts(type, 131072 /* NEUndefined */); } return declaration.initializer ? @@ -30552,7 +30688,7 @@ var ts; } function isEmptyArrayLiteral(node) { var expr = ts.skipParentheses(node); - return expr.kind === 182 /* ArrayLiteralExpression */ && expr.elements.length === 0; + return expr.kind === 183 /* ArrayLiteralExpression */ && expr.elements.length === 0; } function addOptionality(type, optional) { if (optional === void 0) { optional = true; } @@ -30562,11 +30698,11 @@ var ts; function getTypeForVariableLikeDeclaration(declaration, includeOptionality) { // A variable declared in a for..in statement is of type string, or of type keyof T when the // right hand expression is of a type parameter type. - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 220 /* ForInStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 221 /* ForInStatement */) { var indexType = getIndexType(checkNonNullExpression(declaration.parent.parent.expression)); - return indexType.flags & (32768 /* TypeParameter */ | 524288 /* Index */) ? getExtractStringType(indexType) : stringType; + return indexType.flags & (65536 /* TypeParameter */ | 1048576 /* Index */) ? getExtractStringType(indexType) : stringType; } - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 221 /* ForOfStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 222 /* ForOfStatement */) { // checkRightHandSideOfForOf will return undefined if the for-of expression type was // missing properties/signatures required to get its iteratedType (like // [Symbol.iterator] or next). This may be because we accessed properties from anyType, @@ -30585,7 +30721,7 @@ var ts; return addOptionality(declaredType, isOptional); } if ((noImplicitAny || ts.isInJavaScriptFile(declaration)) && - declaration.kind === 231 /* VariableDeclaration */ && !ts.isBindingPattern(declaration.name) && + declaration.kind === 232 /* VariableDeclaration */ && !ts.isBindingPattern(declaration.name) && !(ts.getCombinedModifierFlags(declaration) & 1 /* Export */) && !(declaration.flags & 4194304 /* Ambient */)) { // If --noImplicitAny is on or the declaration is in a Javascript file, // use control flow tracked 'any' type for non-ambient, non-exported var or let variables with no @@ -30599,11 +30735,11 @@ var ts; return autoArrayType; } } - if (declaration.kind === 148 /* Parameter */) { + if (declaration.kind === 149 /* Parameter */) { var func = declaration.parent; // For a parameter of a set accessor, use the type of the get accessor if one is present - if (func.kind === 156 /* SetAccessor */ && !hasNonBindableDynamicName(func)) { - var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 155 /* GetAccessor */); + if (func.kind === 157 /* SetAccessor */ && !hasNonBindableDynamicName(func)) { + var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 156 /* GetAccessor */); if (getter) { var getterSignature = getSignatureFromDeclaration(getter); var thisParameter = getAccessorThisParameter(func); @@ -30657,20 +30793,20 @@ var ts; var jsDocType; var _loop_3 = function (declaration) { var declarationInConstructor = false; - var expression = declaration.kind === 199 /* BinaryExpression */ ? declaration : - declaration.kind === 184 /* PropertyAccessExpression */ ? ts.cast(declaration.parent, ts.isBinaryExpression) : + var expression = declaration.kind === 200 /* BinaryExpression */ ? declaration : + declaration.kind === 185 /* PropertyAccessExpression */ ? ts.cast(declaration.parent, ts.isBinaryExpression) : undefined; if (!expression) { - return { value: unknownType }; + return { value: errorType }; } var special = ts.getSpecialPropertyAssignmentKind(expression); if (special === 4 /* ThisProperty */) { var thisContainer = ts.getThisContainer(expression, /*includeArrowFunctions*/ false); // Properties defined in a constructor (or base constructor, or javascript constructor function) don't get undefined added. // Function expressions that are assigned to the prototype count as methods. - declarationInConstructor = thisContainer.kind === 154 /* Constructor */ || - thisContainer.kind === 233 /* FunctionDeclaration */ || - (thisContainer.kind === 191 /* FunctionExpression */ && !ts.isPrototypePropertyAssignment(thisContainer.parent)); + declarationInConstructor = thisContainer.kind === 155 /* Constructor */ || + thisContainer.kind === 234 /* FunctionDeclaration */ || + (thisContainer.kind === 192 /* FunctionExpression */ && !ts.isPrototypePropertyAssignment(thisContainer.parent)); if (declarationInConstructor) { definedInConstructor = true; } @@ -30685,7 +30821,7 @@ var ts; if (!jsDocType) { jsDocType = declarationType; } - else if (jsDocType !== unknownType && declarationType !== unknownType && + else if (jsDocType !== errorType && declarationType !== errorType && !isTypeIdenticalTo(jsDocType, declarationType) && !(symbol.flags & 67108864 /* JSContainer */)) { errorNextVariableOrPropertyDeclarationMustHaveSameType(jsDocType, declaration, declarationType); @@ -30742,11 +30878,11 @@ var ts; definedInConstructor = true; } } - var sourceTypes = ts.some(constructorTypes, function (t) { return !!(t.flags & ~(12288 /* Nullable */ | 16777216 /* ContainsWideningType */)); }) ? constructorTypes : types; + var sourceTypes = ts.some(constructorTypes, function (t) { return !!(t.flags & ~(24576 /* Nullable */ | 134217728 /* ContainsWideningType */)); }) ? constructorTypes : types; // TODO: GH#18217 type = getUnionType(sourceTypes, 2 /* Subtype */); } var widened = getWidenedType(addOptionality(type, definedInMethod && !definedInConstructor)); - if (filterType(widened, function (t) { return !!(t.flags & ~12288 /* Nullable */); }) === neverType) { + if (filterType(widened, function (t) { return !!(t.flags & ~24576 /* Nullable */); }) === neverType) { if (noImplicitAny) { reportImplicitAnyError(symbol.valueDeclaration, anyType); } @@ -30807,7 +30943,7 @@ var ts; members.set(symbol.escapedName, symbol); }); var result = createAnonymousType(undefined, members, ts.emptyArray, ts.emptyArray, stringIndexInfo, undefined); - result.flags |= 33554432 /* ContainsObjectLiteral */; + result.flags |= 268435456 /* ContainsObjectLiteral */; result.objectFlags |= objectFlags; if (includePatternInType) { result.pattern = pattern; @@ -30818,7 +30954,7 @@ var ts; function getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors) { var elements = pattern.elements; var lastElement = ts.lastOrUndefined(elements); - if (elements.length === 0 || (!ts.isOmittedExpression(lastElement) && lastElement.dotDotDotToken)) { + if (!lastElement || (!ts.isOmittedExpression(lastElement) && lastElement.dotDotDotToken)) { return languageVersion >= 2 /* ES2015 */ ? createIterableType(anyType) : anyArrayType; } // If the pattern has at least one element, and no rest element, then it should imply a tuple type. @@ -30838,7 +30974,9 @@ var ts; // parameter with no type annotation or initializer, the type implied by the binding pattern becomes the type of // the parameter. function getTypeFromBindingPattern(pattern, includePatternInType, reportErrors) { - return pattern.kind === 179 /* ObjectBindingPattern */ + if (includePatternInType === void 0) { includePatternInType = false; } + if (reportErrors === void 0) { reportErrors = false; } + return pattern.kind === 180 /* ObjectBindingPattern */ ? getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) : getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors); } @@ -30858,7 +30996,7 @@ var ts; reportErrorsFromWidening(declaration, type); } // always widen a 'unique symbol' type if the type was created for a different declaration. - if (type.flags & 1024 /* UniqueESSymbol */ && (ts.isBindingElement(declaration) || !declaration.type) && type.symbol !== getSymbolOfNode(declaration)) { + if (type.flags & 2048 /* UniqueESSymbol */ && (ts.isBindingElement(declaration) || !declaration.type) && type.symbol !== getSymbolOfNode(declaration)) { type = esSymbolType; } return getWidenedType(type); @@ -30875,7 +31013,7 @@ var ts; } function declarationBelongsToPrivateAmbientMember(declaration) { var root = ts.getRootDeclaration(declaration); - var memberDeclaration = root.kind === 148 /* Parameter */ ? root.parent : root; + var memberDeclaration = root.kind === 149 /* Parameter */ ? root.parent : root; return isPrivateWithinAmbient(memberDeclaration); } function tryGetTypeFromEffectiveTypeNode(declaration) { @@ -30905,7 +31043,7 @@ var ts; var jsonSourceFile = ts.cast(declaration, ts.isJsonSourceFile); return links.type = jsonSourceFile.statements.length ? checkExpression(jsonSourceFile.statements[0].expression) : emptyObjectType; } - if (declaration.kind === 248 /* ExportAssignment */) { + if (declaration.kind === 249 /* ExportAssignment */) { return links.type = checkExpression(declaration.expression); } if (ts.isInJavaScriptFile(declaration) && ts.isJSDocPropertyLikeTag(declaration) && declaration.typeExpression) { @@ -30913,7 +31051,7 @@ var ts; } // Handle variable, parameter or property if (!pushTypeResolution(symbol, 0 /* Type */)) { - return unknownType; + return errorType; } var type = void 0; // Handle certain special assignment kinds, which happen to union across multiple declarations: @@ -30921,13 +31059,15 @@ var ts; // * exports.p = expr // * this.p = expr // * className.prototype.method = expr - if (declaration.kind === 199 /* BinaryExpression */ || - declaration.kind === 184 /* PropertyAccessExpression */ && declaration.parent.kind === 199 /* BinaryExpression */) { + if (declaration.kind === 200 /* BinaryExpression */ || + declaration.kind === 185 /* PropertyAccessExpression */ && declaration.parent.kind === 200 /* BinaryExpression */) { type = getWidenedTypeFromJSSpecialPropertyDeclarations(symbol); } else if (ts.isJSDocPropertyLikeTag(declaration) || ts.isPropertyAccessExpression(declaration) || ts.isIdentifier(declaration) + || ts.isClassDeclaration(declaration) + || ts.isFunctionDeclaration(declaration) || (ts.isMethodDeclaration(declaration) && !ts.isObjectLiteralMethod(declaration)) || ts.isMethodSignature(declaration)) { // Symbol is property of some kind that is merged with something - should use `getTypeOfFuncClassEnumModule` and not `getTypeOfVariableOrParameterOrProperty` @@ -30956,7 +31096,7 @@ var ts; type = getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true); } else { - ts.Debug.fail("Unhandled declaration kind! " + ts.Debug.showSyntaxKind(declaration)); + return ts.Debug.fail("Unhandled declaration kind! " + ts.Debug.showSyntaxKind(declaration) + " for " + ts.Debug.showSymbol(symbol)); } if (!popTypeResolution()) { type = reportCircularityError(symbol); @@ -30967,7 +31107,7 @@ var ts; } function getAnnotatedAccessorType(accessor) { if (accessor) { - if (accessor.kind === 155 /* GetAccessor */) { + if (accessor.kind === 156 /* GetAccessor */) { var getterTypeAnnotation = ts.getEffectiveReturnTypeNode(accessor); return getterTypeAnnotation && getTypeFromTypeNode(getterTypeAnnotation); } @@ -30988,8 +31128,8 @@ var ts; function getTypeOfAccessors(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { - var getter = ts.getDeclarationOfKind(symbol, 155 /* GetAccessor */); - var setter = ts.getDeclarationOfKind(symbol, 156 /* SetAccessor */); + var getter = ts.getDeclarationOfKind(symbol, 156 /* GetAccessor */); + var setter = ts.getDeclarationOfKind(symbol, 157 /* SetAccessor */); if (getter && ts.isInJavaScriptFile(getter)) { var jsDocType = getTypeForDeclarationFromJSDocComment(getter); if (jsDocType) { @@ -30997,7 +31137,7 @@ var ts; } } if (!pushTypeResolution(symbol, 0 /* Type */)) { - return unknownType; + return errorType; } var type = void 0; // First try to see if the user specified a return type on the get-accessor. @@ -31034,7 +31174,7 @@ var ts; if (!popTypeResolution()) { type = anyType; if (noImplicitAny) { - var getter_1 = ts.getDeclarationOfKind(symbol, 155 /* GetAccessor */); + var getter_1 = ts.getDeclarationOfKind(symbol, 156 /* GetAccessor */); error(getter_1, ts.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, symbolToString(symbol)); } } @@ -31044,16 +31184,33 @@ var ts; } function getBaseTypeVariableOfClass(symbol) { var baseConstructorType = getBaseConstructorTypeOfClass(getDeclaredTypeOfClassOrInterface(symbol)); - return baseConstructorType.flags & 1081344 /* TypeVariable */ ? baseConstructorType : undefined; + return baseConstructorType.flags & 2162688 /* TypeVariable */ ? baseConstructorType : undefined; } function getTypeOfFuncClassEnumModule(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { + var jsDeclaration = ts.getDeclarationOfJSInitializer(symbol.valueDeclaration); + if (jsDeclaration) { + var jsSymbol = getSymbolOfNode(jsDeclaration); + if (jsSymbol && (ts.hasEntries(jsSymbol.exports) || ts.hasEntries(jsSymbol.members))) { + symbol = cloneSymbol(symbol); + // note:we overwrite links because we just cloned the symbol + links = symbol; + if (ts.hasEntries(jsSymbol.exports)) { + symbol.exports = symbol.exports || ts.createSymbolTable(); + mergeSymbolTable(symbol.exports, jsSymbol.exports); + } + if (ts.hasEntries(jsSymbol.members)) { + symbol.members = symbol.members || ts.createSymbolTable(); + mergeSymbolTable(symbol.members, jsSymbol.members); + } + } + } if (symbol.flags & 1536 /* Module */ && ts.isShorthandAmbientModuleSymbol(symbol)) { links.type = anyType; } - else if (symbol.valueDeclaration.kind === 199 /* BinaryExpression */ || - symbol.valueDeclaration.kind === 184 /* PropertyAccessExpression */ && symbol.valueDeclaration.parent.kind === 199 /* BinaryExpression */) { + else if (symbol.valueDeclaration.kind === 200 /* BinaryExpression */ || + symbol.valueDeclaration.kind === 185 /* PropertyAccessExpression */ && symbol.valueDeclaration.parent.kind === 200 /* BinaryExpression */) { links.type = getWidenedTypeFromJSSpecialPropertyDeclarations(symbol); } else { @@ -31087,7 +31244,7 @@ var ts; // up recursively calling getTypeOfAlias, causing a stack overflow. links.type = targetSymbol.flags & 67216319 /* Value */ ? getTypeOfSymbol(targetSymbol) - : unknownType; + : errorType; } return links.type; } @@ -31096,11 +31253,11 @@ var ts; if (!links.type) { if (symbolInstantiationDepth === 100) { error(symbol.valueDeclaration, ts.Diagnostics.Generic_type_instantiation_is_excessively_deep_and_possibly_infinite); - links.type = unknownType; + links.type = errorType; } else { if (!pushTypeResolution(symbol, 0 /* Type */)) { - return unknownType; + return errorType; } symbolInstantiationDepth++; var type = instantiateType(getTypeOfSymbol(links.target), links.mapper); @@ -31117,7 +31274,7 @@ var ts; // Check if variable has type annotation that circularly references the variable itself if (ts.getEffectiveTypeAnnotationNode(symbol.valueDeclaration)) { error(symbol.valueDeclaration, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, symbolToString(symbol)); - return unknownType; + return errorType; } // Otherwise variable has initializer that circularly references the variable itself if (noImplicitAny) { @@ -31147,7 +31304,7 @@ var ts; if (symbol.flags & 2097152 /* Alias */) { return getTypeOfAlias(symbol); } - return unknownType; + return errorType; } function isReferenceToType(type, target) { return type !== undefined @@ -31158,16 +31315,18 @@ var ts; function getTargetType(type) { return ts.getObjectFlags(type) & 4 /* Reference */ ? type.target : type; } + // TODO: GH#18217 If `checkBase` is undefined, we should not call this because this will always return false. function hasBaseType(type, checkBase) { return check(type); function check(type) { if (ts.getObjectFlags(type) & (3 /* ClassOrInterface */ | 4 /* Reference */)) { var target = getTargetType(type); - return target === checkBase || ts.forEach(getBaseTypes(target), check); + return target === checkBase || ts.some(getBaseTypes(target), check); } - else if (type.flags & 262144 /* Intersection */) { - return ts.forEach(type.types, check); + else if (type.flags & 524288 /* Intersection */) { + return ts.some(type.types, check); } + return false; } } // Appends the type parameters given by a list of declarations to a set of type parameters and returns the resulting set. @@ -31183,40 +31342,40 @@ var ts; // Return the outer type parameters of a node or undefined if the node has no outer type parameters. function getOuterTypeParameters(node, includeThisTypes) { while (true) { - node = node.parent; + node = node.parent; // TODO: GH#18217 Use SourceFile kind check instead if (!node) { return undefined; } switch (node.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 152 /* MethodSignature */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 283 /* JSDocFunctionType */: - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 236 /* TypeAliasDeclaration */: - case 295 /* JSDocTemplateTag */: - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: - case 176 /* MappedType */: - case 170 /* ConditionalType */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 153 /* MethodSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 284 /* JSDocFunctionType */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 237 /* TypeAliasDeclaration */: + case 296 /* JSDocTemplateTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 177 /* MappedType */: + case 171 /* ConditionalType */: var outerTypeParameters = getOuterTypeParameters(node, includeThisTypes); - if (node.kind === 176 /* MappedType */) { + if (node.kind === 177 /* MappedType */) { return ts.append(outerTypeParameters, getDeclaredTypeOfTypeParameter(getSymbolOfNode(node.typeParameter))); } - else if (node.kind === 170 /* ConditionalType */) { + else if (node.kind === 171 /* ConditionalType */) { return ts.concatenate(outerTypeParameters, getInferTypeParameters(node)); } var outerAndOwnTypeParameters = appendTypeParameters(outerTypeParameters, ts.getEffectiveTypeParameterDeclarations(node)); var thisType = includeThisTypes && - (node.kind === 234 /* ClassDeclaration */ || node.kind === 204 /* ClassExpression */ || node.kind === 235 /* InterfaceDeclaration */) && + (node.kind === 235 /* ClassDeclaration */ || node.kind === 205 /* ClassExpression */ || node.kind === 236 /* InterfaceDeclaration */) && getDeclaredTypeOfClassOrInterface(getSymbolOfNode(node)).thisType; return thisType ? ts.append(outerAndOwnTypeParameters, thisType) : outerAndOwnTypeParameters; } @@ -31224,7 +31383,7 @@ var ts; } // The outer type parameters are those defined by enclosing generic classes, methods, or functions. function getOuterTypeParametersOfClassOrInterface(symbol) { - var declaration = symbol.flags & 32 /* Class */ ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 235 /* InterfaceDeclaration */); + var declaration = symbol.flags & 32 /* Class */ ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 236 /* InterfaceDeclaration */); return getOuterTypeParameters(declaration); } // The local type parameters are the combined set of type parameters from all declarations of the class, @@ -31233,9 +31392,9 @@ var ts; var result; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var node = _a[_i]; - if (node.kind === 235 /* InterfaceDeclaration */ || - node.kind === 234 /* ClassDeclaration */ || - node.kind === 204 /* ClassExpression */ || + if (node.kind === 236 /* InterfaceDeclaration */ || + node.kind === 235 /* ClassDeclaration */ || + node.kind === 205 /* ClassExpression */ || ts.isTypeAlias(node)) { var declaration = node; result = appendTypeParameters(result, ts.getEffectiveTypeParameterDeclarations(declaration)); @@ -31262,9 +31421,9 @@ var ts; if (isValidBaseType(type) && getSignaturesOfType(type, 1 /* Construct */).length > 0) { return true; } - if (type.flags & 1081344 /* TypeVariable */) { + if (type.flags & 2162688 /* TypeVariable */) { var constraint = getBaseConstraintOfType(type); - return constraint && isValidBaseType(constraint) && isMixinConstructorType(constraint); + return !!constraint && isValidBaseType(constraint) && isMixinConstructorType(constraint); } return false; } @@ -31306,25 +31465,25 @@ var ts; return type.resolvedBaseConstructorType = undefinedType; } if (!pushTypeResolution(type, 1 /* ResolvedBaseConstructorType */)) { - return unknownType; + return errorType; } var baseConstructorType = checkExpression(baseTypeNode.expression); if (extended && baseTypeNode !== extended) { ts.Debug.assert(!extended.typeArguments); // Because this is in a JS file, and baseTypeNode is in an @extends tag checkExpression(extended.expression); } - if (baseConstructorType.flags & (65536 /* Object */ | 262144 /* Intersection */)) { + if (baseConstructorType.flags & (131072 /* Object */ | 524288 /* Intersection */)) { // Resolving the members of a class requires us to resolve the base class of that class. // We force resolution here such that we catch circularities now. resolveStructuredTypeMembers(baseConstructorType); } if (!popTypeResolution()) { error(type.symbol.valueDeclaration, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression, symbolToString(type.symbol)); - return type.resolvedBaseConstructorType = unknownType; + return type.resolvedBaseConstructorType = errorType; } if (!(baseConstructorType.flags & 1 /* Any */) && baseConstructorType !== nullWideningType && !isConstructorType(baseConstructorType)) { error(baseTypeNode.expression, ts.Diagnostics.Type_0_is_not_a_constructor_function_type, typeToString(baseConstructorType)); - return type.resolvedBaseConstructorType = unknownType; + return type.resolvedBaseConstructorType = errorType; } type.resolvedBaseConstructorType = baseConstructorType; } @@ -31352,7 +31511,7 @@ var ts; function resolveBaseTypesOfClass(type) { type.resolvedBaseTypes = ts.resolvingEmptyArray; var baseConstructorType = getApparentType(getBaseConstructorTypeOfClass(type)); - if (!(baseConstructorType.flags & (65536 /* Object */ | 262144 /* Intersection */ | 1 /* Any */))) { + if (!(baseConstructorType.flags & (131072 /* Object */ | 524288 /* Intersection */ | 1 /* Any */))) { return type.resolvedBaseTypes = ts.emptyArray; } var baseTypeNode = getBaseTypeNodeOfClass(type); @@ -31380,7 +31539,7 @@ var ts; } baseType = getReturnTypeOfSignature(constructors[0]); } - if (baseType === unknownType) { + if (baseType === errorType) { return type.resolvedBaseTypes = ts.emptyArray; } if (!isValidBaseType(baseType)) { @@ -31396,7 +31555,7 @@ var ts; // (otherwise there'd be an error from hasBaseType) - this is fine, but `.members` should be reset // as `getIndexedAccessType` via `instantiateType` via `getTypeFromClassOrInterfaceReference` forces a // partial instantiation of the members without the base types fully resolved - type.members = undefined; + type.members = undefined; // TODO: GH#18217 } return type.resolvedBaseTypes = [baseType]; } @@ -31414,18 +31573,18 @@ var ts; // A valid base type is `any`, any non-generic object type or intersection of non-generic // object types. function isValidBaseType(type) { - return type.flags & (65536 /* Object */ | 134217728 /* NonPrimitive */ | 1 /* Any */) && !isGenericMappedType(type) || - type.flags & 262144 /* Intersection */ && !ts.forEach(type.types, function (t) { return !isValidBaseType(t); }); + return !!(type.flags & (131072 /* Object */ | 16777216 /* NonPrimitive */ | 1 /* Any */)) && !isGenericMappedType(type) || + !!(type.flags & 524288 /* Intersection */) && !ts.some(type.types, function (t) { return !isValidBaseType(t); }); } function resolveBaseTypesOfInterface(type) { type.resolvedBaseTypes = type.resolvedBaseTypes || ts.emptyArray; for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 235 /* InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) { + if (declaration.kind === 236 /* InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) { for (var _b = 0, _c = ts.getInterfaceBaseTypeNodes(declaration); _b < _c.length; _b++) { var node = _c[_b]; var baseType = getTypeFromTypeNode(node); - if (baseType !== unknownType) { + if (baseType !== errorType) { if (isValidBaseType(baseType)) { if (type !== baseType && !hasBaseType(baseType, type)) { if (type.resolvedBaseTypes === ts.emptyArray) { @@ -31457,7 +31616,7 @@ var ts; function isThislessInterface(symbol) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 235 /* InterfaceDeclaration */) { + if (declaration.kind === 236 /* InterfaceDeclaration */) { if (declaration.flags & 64 /* ContainsThis */) { return false; } @@ -31498,7 +31657,7 @@ var ts; type.instantiations.set(getTypeListId(type.typeParameters), type); type.target = type; type.typeArguments = type.typeParameters; - type.thisType = createType(32768 /* TypeParameter */); + type.thisType = createType(65536 /* TypeParameter */); type.thisType.isThisType = true; type.thisType.symbol = symbol; type.thisType.constraint = type; @@ -31512,14 +31671,14 @@ var ts; // Note that we use the links object as the target here because the symbol object is used as the unique // identity for resolution of the 'type' property in SymbolLinks. if (!pushTypeResolution(symbol, 2 /* DeclaredType */)) { - return unknownType; + return errorType; } var declaration = ts.find(symbol.declarations, function (d) { - return ts.isJSDocTypeAlias(d) || d.kind === 236 /* TypeAliasDeclaration */; + return ts.isJSDocTypeAlias(d) || d.kind === 237 /* TypeAliasDeclaration */; }); var typeNode = ts.isJSDocTypeAlias(declaration) ? declaration.typeExpression : declaration.type; // If typeNode is missing, we will error in checkJSDocTypedefTag. - var type = typeNode ? getTypeFromTypeNode(typeNode) : unknownType; + var type = typeNode ? getTypeFromTypeNode(typeNode) : errorType; if (popTypeResolution()) { var typeParameters = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol); if (typeParameters) { @@ -31531,7 +31690,7 @@ var ts; } } else { - type = unknownType; + type = errorType; error(declaration.name, ts.Diagnostics.Type_alias_0_circularly_references_itself, symbolToString(symbol)); } links.declaredType = type; @@ -31542,7 +31701,7 @@ var ts; if (expr.kind === 9 /* StringLiteral */) { return true; } - else if (expr.kind === 199 /* BinaryExpression */) { + else if (expr.kind === 200 /* BinaryExpression */) { return isStringConcatExpression(expr.left) && isStringConcatExpression(expr.right); } return false; @@ -31556,12 +31715,12 @@ var ts; case 9 /* StringLiteral */: case 8 /* NumericLiteral */: return true; - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return expr.operator === 38 /* MinusToken */ && expr.operand.kind === 8 /* NumericLiteral */; case 71 /* Identifier */: return ts.nodeIsMissing(expr) || !!getSymbolOfNode(member.parent).exports.get(expr.escapedText); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return isStringConcatExpression(expr); default: return false; @@ -31575,7 +31734,7 @@ var ts; var hasNonLiteralMember = false; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 237 /* EnumDeclaration */) { + if (declaration.kind === 238 /* EnumDeclaration */) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; if (member.initializer && member.initializer.kind === 9 /* StringLiteral */) { @@ -31590,7 +31749,7 @@ var ts; return links.enumKind = hasNonLiteralMember ? 0 /* Numeric */ : 1 /* Literal */; } function getBaseTypeOfEnumLiteralType(type) { - return type.flags & 256 /* EnumLiteral */ && !(type.flags & 131072 /* Union */) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; + return type.flags & 512 /* EnumLiteral */ && !(type.flags & 262144 /* Union */) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; } function getDeclaredTypeOfEnum(symbol) { var links = getSymbolLinks(symbol); @@ -31602,10 +31761,10 @@ var ts; var memberTypeList = []; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 237 /* EnumDeclaration */) { + if (declaration.kind === 238 /* EnumDeclaration */) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; - var memberType = getLiteralType(getEnumMemberValue(member), enumCount, getSymbolOfNode(member)); + var memberType = getLiteralType(getEnumMemberValue(member), enumCount, getSymbolOfNode(member)); // TODO: GH#18217 getSymbolLinks(getSymbolOfNode(member)).declaredType = memberType; memberTypeList.push(memberType); } @@ -31613,14 +31772,14 @@ var ts; } if (memberTypeList.length) { var enumType_1 = getUnionType(memberTypeList, 1 /* Literal */, symbol, /*aliasTypeArguments*/ undefined); - if (enumType_1.flags & 131072 /* Union */) { - enumType_1.flags |= 256 /* EnumLiteral */; + if (enumType_1.flags & 262144 /* Union */) { + enumType_1.flags |= 512 /* EnumLiteral */; enumType_1.symbol = symbol; } return links.declaredType = enumType_1; } } - var enumType = createType(16 /* Enum */); + var enumType = createType(32 /* Enum */); enumType.symbol = symbol; return links.declaredType = enumType; } @@ -31637,7 +31796,7 @@ var ts; function getDeclaredTypeOfTypeParameter(symbol) { var links = getSymbolLinks(symbol); if (!links.declaredType) { - var type = createType(32768 /* TypeParameter */); + var type = createType(65536 /* TypeParameter */); type.symbol = symbol; links.declaredType = type; } @@ -31651,7 +31810,7 @@ var ts; return links.declaredType; } function getDeclaredTypeOfSymbol(symbol) { - return tryGetDeclaredTypeOfSymbol(symbol) || unknownType; + return tryGetDeclaredTypeOfSymbol(symbol) || errorType; } function tryGetDeclaredTypeOfSymbol(symbol) { if (symbol.flags & (32 /* Class */ | 64 /* Interface */)) { @@ -31682,6 +31841,7 @@ var ts; function isThislessType(node) { switch (node.kind) { case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 137 /* StringKeyword */: case 134 /* NumberKeyword */: case 122 /* BooleanKeyword */: @@ -31691,11 +31851,11 @@ var ts; case 140 /* UndefinedKeyword */: case 95 /* NullKeyword */: case 131 /* NeverKeyword */: - case 177 /* LiteralType */: + case 178 /* LiteralType */: return true; - case 166 /* ArrayType */: + case 167 /* ArrayType */: return isThislessType(node.elementType); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return !node.typeArguments || node.typeArguments.every(isThislessType); } return false; @@ -31720,7 +31880,7 @@ var ts; function isThislessFunctionLikeDeclaration(node) { var returnType = ts.getEffectiveReturnTypeNode(node); var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); - return (node.kind === 154 /* Constructor */ || (returnType && isThislessType(returnType))) && + return (node.kind === 155 /* Constructor */ || (!!returnType && isThislessType(returnType))) && node.parameters.every(isThislessVariableLikeDeclaration) && typeParameters.every(isThislessTypeParameter); } @@ -31736,12 +31896,12 @@ var ts; var declaration = symbol.declarations[0]; if (declaration) { switch (declaration.kind) { - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return isThislessVariableLikeDeclaration(declaration); - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: return isThislessFunctionLikeDeclaration(declaration); } } @@ -31785,7 +31945,7 @@ var ts; * Indicates whether a type can be used as a late-bound name. */ function isTypeUsableAsLateBoundName(type) { - return !!(type.flags & 1120 /* StringOrNumberLiteralOrUnique */); + return !!(type.flags & 2240 /* StringOrNumberLiteralOrUnique */); } /** * Indicates whether a declaration name is definitely late-bindable. @@ -31805,7 +31965,7 @@ var ts; */ function hasLateBindableName(node) { var name = ts.getNameOfDeclaration(node); - return name && isLateBindableName(name); + return !!name && isLateBindableName(name); } /** * Indicates whether a declaration has a dynamic name that cannot be late-bound. @@ -31823,12 +31983,13 @@ var ts; * Gets the symbolic name for a late-bound member from its type. */ function getLateBoundNameFromType(type) { - if (type.flags & 1024 /* UniqueESSymbol */) { + if (type.flags & 2048 /* UniqueESSymbol */) { return "__@" + type.symbol.escapedName + "@" + getSymbolId(type.symbol); } - if (type.flags & 96 /* StringOrNumberLiteral */) { + if (type.flags & 192 /* StringOrNumberLiteral */) { return ts.escapeLeadingUnderscores("" + type.value); } + return ts.Debug.fail(); } /** * Adds a declaration to a late-bound dynamic member. This performs the same function for @@ -31846,8 +32007,7 @@ var ts; symbol.declarations.push(member); } if (symbolFlags & 67216319 /* Value */) { - var valueDeclaration = symbol.valueDeclaration; - if (!valueDeclaration || valueDeclaration.kind !== member.kind) { + if (!symbol.valueDeclaration || symbol.valueDeclaration.kind !== member.kind) { symbol.valueDeclaration = member; } } @@ -31991,7 +32151,7 @@ var ts; return needApparentType ? getApparentType(ref) : ref; } } - else if (type.flags & 262144 /* Intersection */) { + else if (type.flags & 524288 /* Intersection */) { return getIntersectionType(ts.map(type.types, function (t) { return getTypeWithThisArgument(t, thisArgument, needApparentType); })); } return needApparentType ? getApparentType(type) : type; @@ -32075,7 +32235,7 @@ var ts; var baseConstructorType = getBaseConstructorTypeOfClass(classType); var baseSignatures = getSignaturesOfType(baseConstructorType, 1 /* Construct */); if (baseSignatures.length === 0) { - return [createSignature(undefined, classType.localTypeParameters, undefined, ts.emptyArray, classType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false)]; + return [createSignature(undefined, classType.localTypeParameters, undefined, ts.emptyArray, classType, /*resolvedTypePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false)]; // TODO: GH#18217 } var baseTypeNode = getBaseTypeNodeOfClass(classType); var isJavaScript = ts.isInJavaScriptFile(baseTypeNode); @@ -32147,6 +32307,7 @@ var ts; if (unionSignatures.length > 1) { var thisParameter = signature.thisParameter; if (ts.forEach(unionSignatures, function (sig) { return sig.thisParameter; })) { + // TODO: GH#18217 We tested that *some* has thisParameter and now act as if *all* do var thisType = getUnionType(ts.map(unionSignatures, function (sig) { return sig.thisParameter ? getTypeOfSymbol(sig.thisParameter) : anyType; }), 2 /* Subtype */); thisParameter = createSymbolWithType(signature.thisParameter, thisType); } @@ -32273,7 +32434,7 @@ var ts; if (symbol.flags & 32 /* Class */) { var classType = getDeclaredTypeOfClassOrInterface(symbol); var baseConstructorType = getBaseConstructorTypeOfClass(classType); - if (baseConstructorType.flags & (65536 /* Object */ | 262144 /* Intersection */ | 1081344 /* TypeVariable */)) { + if (baseConstructorType.flags & (131072 /* Object */ | 524288 /* Intersection */ | 2162688 /* TypeVariable */)) { members = ts.createSymbolTable(getNamedMembers(members)); addInheritedMembers(members, getPropertiesOfType(baseConstructorType)); } @@ -32334,7 +32495,7 @@ var ts; var templateType = getTemplateTypeFromMappedType(type.target || type); var modifiersType = getApparentType(getModifiersTypeFromMappedType(type)); // The 'T' in 'keyof T' var templateModifiers = getMappedTypeModifiers(type); - var include = keyofStringsOnly ? 32 /* StringLiteral */ : 1120 /* StringOrNumberLiteralOrUnique */; + var include = keyofStringsOnly ? 64 /* StringLiteral */ : 2240 /* StringOrNumberLiteralOrUnique */; if (isMappedTypeWithKeyofConstraintDeclaration(type)) { // We have a { [P in keyof T]: X } for (var _i = 0, _a = getPropertiesOfType(modifiersType); _i < _a.length; _i++) { @@ -32352,8 +32513,8 @@ var ts; // First, if the constraint type is a type parameter, obtain the base constraint. Then, // if the key type is a 'keyof X', obtain 'keyof C' where C is the base constraint of X. // Finally, iterate over the constituents of the resulting iteration type. - var keyType = constraintType.flags & 7372800 /* InstantiableNonPrimitive */ ? getApparentType(constraintType) : constraintType; - var iterationType = keyType.flags & 524288 /* Index */ ? getIndexType(getApparentType(keyType.type)) : keyType; + var keyType = constraintType.flags & 14745600 /* InstantiableNonPrimitive */ ? getApparentType(constraintType) : constraintType; + var iterationType = keyType.flags & 1048576 /* Index */ ? getIndexType(getApparentType(keyType.type)) : keyType; forEachType(iterationType, addMemberForKeyType); } setStructuredTypeMembers(type, members, ts.emptyArray, ts.emptyArray, stringIndexInfo, numberIndexInfo); @@ -32365,7 +32526,7 @@ var ts; var propType = instantiateType(templateType, templateMapper); // If the current iteration type constituent is a string literal type, create a property. // Otherwise, for type string create a string index signature. - if (t.flags & 1120 /* StringOrNumberLiteralOrUnique */) { + if (t.flags & 2240 /* StringOrNumberLiteralOrUnique */) { var propName = getLateBoundNameFromType(t); var modifiersProp = getPropertyOfType(modifiersType, propName); var isOptional = !!(templateModifiers & 4 /* IncludeOptional */ || @@ -32386,10 +32547,10 @@ var ts; prop.nameType = t; members.set(propName, prop); } - else if (t.flags & (1 /* Any */ | 2 /* String */)) { + else if (t.flags & (1 /* Any */ | 4 /* String */)) { stringIndexInfo = createIndexInfo(propType, !!(templateModifiers & 1 /* IncludeReadonly */)); } - else if (t.flags & 4 /* Number */) { + else if (t.flags & 8 /* Number */) { numberIndexInfo = createIndexInfo(propType, !!(templateModifiers & 1 /* IncludeReadonly */)); } } @@ -32400,20 +32561,20 @@ var ts; } function getConstraintTypeFromMappedType(type) { return type.constraintType || - (type.constraintType = instantiateType(getConstraintOfTypeParameter(getTypeParameterFromMappedType(type)), type.mapper || identityMapper) || unknownType); + (type.constraintType = instantiateType(getConstraintOfTypeParameter(getTypeParameterFromMappedType(type)), type.mapper || identityMapper) || errorType); } function getTemplateTypeFromMappedType(type) { return type.templateType || (type.templateType = type.declaration.type ? instantiateType(addOptionality(getTypeFromTypeNode(type.declaration.type), !!(getMappedTypeModifiers(type) & 4 /* IncludeOptional */)), type.mapper || identityMapper) : - unknownType); + errorType); } function getConstraintDeclarationForMappedType(type) { return type.declaration.typeParameter.constraint; } function isMappedTypeWithKeyofConstraintDeclaration(type) { - var constraintDeclaration = getConstraintDeclarationForMappedType(type); - return constraintDeclaration.kind === 174 /* TypeOperator */ && + var constraintDeclaration = getConstraintDeclarationForMappedType(type); // TODO: GH#18217 + return constraintDeclaration.kind === 175 /* TypeOperator */ && constraintDeclaration.operator === 128 /* KeyOfKeyword */; } function getModifiersTypeFromMappedType(type) { @@ -32430,8 +32591,8 @@ var ts; // the modifiers type is T. Otherwise, the modifiers type is {}. var declaredType = getTypeFromMappedTypeNode(type.declaration); var constraint = getConstraintTypeFromMappedType(declaredType); - var extendedConstraint = constraint && constraint.flags & 32768 /* TypeParameter */ ? getConstraintOfTypeParameter(constraint) : constraint; - type.modifiersType = extendedConstraint && extendedConstraint.flags & 524288 /* Index */ ? instantiateType(extendedConstraint.type, type.mapper || identityMapper) : emptyObjectType; + var extendedConstraint = constraint && constraint.flags & 65536 /* TypeParameter */ ? getConstraintOfTypeParameter(constraint) : constraint; + type.modifiersType = extendedConstraint && extendedConstraint.flags & 1048576 /* Index */ ? instantiateType(extendedConstraint.type, type.mapper || identityMapper) : emptyObjectType; } } return type.modifiersType; @@ -32454,11 +32615,11 @@ var ts; return !!(ts.getObjectFlags(type) & 32 /* Mapped */ && getMappedTypeModifiers(type) & 4 /* IncludeOptional */); } function isGenericMappedType(type) { - return ts.getObjectFlags(type) & 32 /* Mapped */ && isGenericIndexType(getConstraintTypeFromMappedType(type)); + return !!(ts.getObjectFlags(type) & 32 /* Mapped */) && isGenericIndexType(getConstraintTypeFromMappedType(type)); } function resolveStructuredTypeMembers(type) { if (!type.members) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { if (type.objectFlags & 4 /* Reference */) { resolveTypeReferenceMembers(type); } @@ -32475,10 +32636,10 @@ var ts; resolveMappedTypeMembers(type); } } - else if (type.flags & 131072 /* Union */) { + else if (type.flags & 262144 /* Union */) { resolveUnionTypeMembers(type); } - else if (type.flags & 262144 /* Intersection */) { + else if (type.flags & 524288 /* Intersection */) { resolveIntersectionTypeMembers(type); } } @@ -32486,7 +32647,7 @@ var ts; } /** Return properties of an object type or an empty array for other types */ function getPropertiesOfObjectType(type) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { return resolveStructuredTypeMembers(type).properties; } return ts.emptyArray; @@ -32495,7 +32656,7 @@ var ts; * return the symbol for that property. Otherwise return undefined. */ function getPropertyOfObjectType(type, name) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); var symbol = resolved.members.get(name); if (symbol && symbolIsValue(symbol)) { @@ -32519,7 +32680,7 @@ var ts; } // The properties of a union type are those that are present in all constituent types, so // we only need to check the properties of the first type - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { break; } } @@ -32529,13 +32690,13 @@ var ts; } function getPropertiesOfType(type) { type = getApparentType(type); - return type.flags & 393216 /* UnionOrIntersection */ ? + return type.flags & 786432 /* UnionOrIntersection */ ? getPropertiesOfUnionOrIntersectionType(type) : getPropertiesOfObjectType(type); } function getAllPossiblePropertiesOfTypes(types) { var unionType = getUnionType(types); - if (!(unionType.flags & 131072 /* Union */)) { + if (!(unionType.flags & 262144 /* Union */)) { return getAugmentedPropertiesOfType(unionType); } var props = ts.createSymbolTable(); @@ -32554,9 +32715,9 @@ var ts; return ts.arrayFrom(props.values()); } function getConstraintOfType(type) { - return type.flags & 32768 /* TypeParameter */ ? getConstraintOfTypeParameter(type) : - type.flags & 1048576 /* IndexedAccess */ ? getConstraintOfIndexedAccess(type) : - type.flags & 2097152 /* Conditional */ ? getConstraintOfConditionalType(type) : + return type.flags & 65536 /* TypeParameter */ ? getConstraintOfTypeParameter(type) : + type.flags & 2097152 /* IndexedAccess */ ? getConstraintOfIndexedAccess(type) : + type.flags & 4194304 /* Conditional */ ? getConstraintOfConditionalType(type) : getBaseConstraintOfType(type); } function getConstraintOfTypeParameter(typeParameter) { @@ -32566,12 +32727,12 @@ var ts; var objectType = getBaseConstraintOfType(type.objectType) || type.objectType; var indexType = getBaseConstraintOfType(type.indexType) || type.indexType; var constraint = !isGenericObjectType(objectType) && !isGenericIndexType(indexType) ? getIndexedAccessType(objectType, indexType) : undefined; - return constraint && constraint !== unknownType ? constraint : undefined; + return constraint && constraint !== errorType ? constraint : undefined; } function getDefaultConstraintOfConditionalType(type) { if (!type.resolvedDefaultConstraint) { var rootTrueType = type.root.trueType; - var rootTrueConstraint = rootTrueType.flags & 4194304 /* Substitution */ ? rootTrueType.substitute : rootTrueType; + var rootTrueConstraint = rootTrueType.flags & 8388608 /* Substitution */ ? rootTrueType.substitute : rootTrueType; type.resolvedDefaultConstraint = getUnionType([instantiateType(rootTrueConstraint, type.combinedMapper || type.mapper), getFalseTypeFromConditionalType(type)]); } return type.resolvedDefaultConstraint; @@ -32587,7 +32748,7 @@ var ts; if (constraint) { var mapper = makeUnaryTypeMapper(type.root.checkType, constraint); var instantiated = getConditionalTypeInstantiation(type, combineTypeMappers(mapper, type.mapper)); - if (!(instantiated.flags & 16384 /* Never */)) { + if (!(instantiated.flags & 32768 /* Never */)) { return instantiated; } } @@ -32602,23 +32763,23 @@ var ts; var hasDisjointDomainType = false; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 7897088 /* Instantiable */) { + if (t.flags & 15794176 /* Instantiable */) { // We keep following constraints as long as we have an instantiable type that is known // not to be circular or infinite (hence we stop on index access types). var constraint = getConstraintOfType(t); - while (constraint && constraint.flags & (32768 /* TypeParameter */ | 524288 /* Index */ | 2097152 /* Conditional */)) { + while (constraint && constraint.flags & (65536 /* TypeParameter */ | 1048576 /* Index */ | 4194304 /* Conditional */)) { constraint = getConstraintOfType(constraint); } if (constraint) { // A constraint that isn't a union type implies that the final type would be a non-union // type as well. Since non-union constraints are of no interest, we can exit here. - if (!(constraint.flags & 131072 /* Union */)) { + if (!(constraint.flags & 262144 /* Union */)) { return undefined; } constraints = ts.append(constraints, constraint); } } - else if (t.flags & 134233854 /* DisjointDomains */) { + else if (t.flags & 16809468 /* DisjointDomains */) { hasDisjointDomainType = true; } } @@ -32630,7 +32791,7 @@ var ts; // intersection operation to reduce the union constraints. for (var _b = 0, _c = type.types; _b < _c.length; _b++) { var t = _c[_b]; - if (t.flags & 134233854 /* DisjointDomains */) { + if (t.flags & 16809468 /* DisjointDomains */) { constraints = ts.append(constraints, t); } } @@ -32640,7 +32801,7 @@ var ts; return undefined; } function getBaseConstraintOfInstantiableNonPrimitiveUnionOrIntersection(type) { - if (type.flags & (7372800 /* InstantiableNonPrimitive */ | 393216 /* UnionOrIntersection */)) { + if (type.flags & (14745600 /* InstantiableNonPrimitive */ | 786432 /* UnionOrIntersection */)) { var constraint = getResolvedBaseConstraint(type); if (constraint !== noConstraintType && constraint !== circularConstraintType) { return constraint; @@ -32649,7 +32810,7 @@ var ts; } function getBaseConstraintOfType(type) { var constraint = getBaseConstraintOfInstantiableNonPrimitiveUnionOrIntersection(type); - if (!constraint && type.flags & 524288 /* Index */) { + if (!constraint && type.flags & 1048576 /* Index */) { return keyofConstraintType; } return constraint; @@ -32689,13 +32850,13 @@ var ts; return result; } function computeBaseConstraint(t) { - if (t.flags & 32768 /* TypeParameter */) { + if (t.flags & 65536 /* TypeParameter */) { var constraint = getConstraintFromTypeParameter(t); return t.isThisType || !constraint ? constraint : getBaseConstraint(constraint); } - if (t.flags & 393216 /* UnionOrIntersection */) { + if (t.flags & 786432 /* UnionOrIntersection */) { var types = t.types; var baseTypes = []; for (var _i = 0, types_4 = types; _i < types_4.length; _i++) { @@ -32705,24 +32866,24 @@ var ts; baseTypes.push(baseType); } } - return t.flags & 131072 /* Union */ && baseTypes.length === types.length ? getUnionType(baseTypes) : - t.flags & 262144 /* Intersection */ && baseTypes.length ? getIntersectionType(baseTypes) : + return t.flags & 262144 /* Union */ && baseTypes.length === types.length ? getUnionType(baseTypes) : + t.flags & 524288 /* Intersection */ && baseTypes.length ? getIntersectionType(baseTypes) : undefined; } - if (t.flags & 524288 /* Index */) { + if (t.flags & 1048576 /* Index */) { return keyofConstraintType; } - if (t.flags & 1048576 /* IndexedAccess */) { + if (t.flags & 2097152 /* IndexedAccess */) { var baseObjectType = getBaseConstraint(t.objectType); var baseIndexType = getBaseConstraint(t.indexType); var baseIndexedAccess = baseObjectType && baseIndexType ? getIndexedAccessType(baseObjectType, baseIndexType) : undefined; - return baseIndexedAccess && baseIndexedAccess !== unknownType ? getBaseConstraint(baseIndexedAccess) : undefined; + return baseIndexedAccess && baseIndexedAccess !== errorType ? getBaseConstraint(baseIndexedAccess) : undefined; } - if (t.flags & 2097152 /* Conditional */) { + if (t.flags & 4194304 /* Conditional */) { var constraint = getConstraintOfConditionalType(t); return constraint && getBaseConstraint(constraint); } - if (t.flags & 4194304 /* Substitution */) { + if (t.flags & 8388608 /* Substitution */) { return getBaseConstraint(t.substitute); } if (isGenericMappedType(t)) { @@ -32783,19 +32944,19 @@ var ts; * type itself. Note that the apparent type of a union type is the union type itself. */ function getApparentType(type) { - var t = type.flags & 7897088 /* Instantiable */ ? getBaseConstraintOfType(type) || emptyObjectType : type; - return t.flags & 262144 /* Intersection */ ? getApparentTypeOfIntersectionType(t) : - t.flags & 34 /* StringLike */ ? globalStringType : - t.flags & 84 /* NumberLike */ ? globalNumberType : - t.flags & 136 /* BooleanLike */ ? globalBooleanType : - t.flags & 1536 /* ESSymbolLike */ ? getGlobalESSymbolType(/*reportErrors*/ languageVersion >= 2 /* ES2015 */) : - t.flags & 134217728 /* NonPrimitive */ ? emptyObjectType : - t.flags & 524288 /* Index */ ? keyofConstraintType : + var t = type.flags & 15794176 /* Instantiable */ ? getBaseConstraintOfType(type) || emptyObjectType : type; + return t.flags & 524288 /* Intersection */ ? getApparentTypeOfIntersectionType(t) : + t.flags & 68 /* StringLike */ ? globalStringType : + t.flags & 168 /* NumberLike */ ? globalNumberType : + t.flags & 272 /* BooleanLike */ ? globalBooleanType : + t.flags & 3072 /* ESSymbolLike */ ? getGlobalESSymbolType(/*reportErrors*/ languageVersion >= 2 /* ES2015 */) : + t.flags & 16777216 /* NonPrimitive */ ? emptyObjectType : + t.flags & 1048576 /* Index */ ? keyofConstraintType : t; } function createUnionOrIntersectionProperty(containingType, name) { var props; - var isUnion = containingType.flags & 131072 /* Union */; + var isUnion = containingType.flags & 262144 /* Union */; var excludeModifiers = isUnion ? 24 /* NonPublicAccessibilityModifier */ : 0; // Flags we want to propagate to the result if they exist in all source symbols var commonFlags = isUnion ? 0 /* None */ : 16777216 /* Optional */; @@ -32804,7 +32965,7 @@ var ts; for (var _i = 0, _a = containingType.types; _i < _a.length; _i++) { var current = _a[_i]; var type = getApparentType(current); - if (type !== unknownType) { + if (type !== errorType) { var prop = getPropertyOfType(type, name); var modifiers = prop ? ts.getDeclarationModifierFlagsFromSymbol(prop) : 0; if (prop && !(modifiers & excludeModifiers)) { @@ -32900,7 +33061,7 @@ var ts; */ function getPropertyOfType(type, name) { type = getApparentType(type); - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); var symbol = resolved.members.get(name); if (symbol && symbolIsValue(symbol)) { @@ -32914,13 +33075,13 @@ var ts; } return getPropertyOfObjectType(globalObjectType, name); } - if (type.flags & 393216 /* UnionOrIntersection */) { + if (type.flags & 786432 /* UnionOrIntersection */) { return getPropertyOfUnionOrIntersectionType(type, name); } return undefined; } function getSignaturesOfStructuredType(type, kind) { - if (type.flags & 458752 /* StructuredType */) { + if (type.flags & 917504 /* StructuredType */) { var resolved = resolveStructuredTypeMembers(type); return kind === 0 /* Call */ ? resolved.callSignatures : resolved.constructSignatures; } @@ -32934,7 +33095,7 @@ var ts; return getSignaturesOfStructuredType(getApparentType(type), kind); } function getIndexInfoOfStructuredType(type, kind) { - if (type.flags & 458752 /* StructuredType */) { + if (type.flags & 917504 /* StructuredType */) { var resolved = resolveStructuredTypeMembers(type); return kind === 0 /* String */ ? resolved.stringIndexInfo : resolved.numberIndexInfo; } @@ -32990,10 +33151,10 @@ var ts; function isJSDocOptionalParameter(node) { return ts.isInJavaScriptFile(node) && ( // node.type should only be a JSDocOptionalType when node is a parameter of a JSDocFunctionType - node.type && node.type.kind === 282 /* JSDocOptionalType */ + node.type && node.type.kind === 283 /* JSDocOptionalType */ || ts.getJSDocParameterTags(node).some(function (_a) { var isBracketed = _a.isBracketed, typeExpression = _a.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 282 /* JSDocOptionalType */; + return isBracketed || !!typeExpression && typeExpression.type.kind === 283 /* JSDocOptionalType */; })); } function tryFindAmbientModule(moduleName, withAugmentations) { @@ -33027,7 +33188,7 @@ var ts; return false; } var isBracketed = node.isBracketed, typeExpression = node.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 282 /* JSDocOptionalType */; + return isBracketed || !!typeExpression && typeExpression.type.kind === 283 /* JSDocOptionalType */; } function createTypePredicateFromTypePredicateNode(node) { var parameterName = node.parameterName; @@ -33061,14 +33222,6 @@ var ts; } return minTypeArgumentCount; } - /** - * Fill in default types for unsupplied type arguments. If `typeArguments` is undefined - * when a default type is supplied, a new array will be created and returned. - * - * @param typeArguments The supplied type arguments. - * @param typeParameters The requested type parameters. - * @param minTypeArgumentCount The minimum number of required type arguments. - */ function fillMissingTypeArguments(typeArguments, typeParameters, minTypeArgumentCount, isJavaScriptImplicitAny) { var numTypeParameters = ts.length(typeParameters); if (numTypeParameters) { @@ -33103,7 +33256,7 @@ var ts; var hasLiteralTypes = false; var minArgumentCount = 0; var thisParameter = void 0; - var hasThisParameter = void 0; + var hasThisParameter = false; var iife = ts.getImmediatelyInvokedFunctionExpression(declaration); var isJSConstructSignature = ts.isJSDocConstructSignature(declaration); var isUntypedSignatureInJSFile = !iife && @@ -33130,7 +33283,7 @@ var ts; else { parameters.push(paramSymbol); } - if (type && type.kind === 177 /* LiteralType */) { + if (type && type.kind === 178 /* LiteralType */) { hasLiteralTypes = true; } // Record a new minimum argument count if this is not an optional parameter @@ -33144,16 +33297,16 @@ var ts; } } // If only one accessor includes a this-type annotation, the other behaves as if it had the same type annotation - if ((declaration.kind === 155 /* GetAccessor */ || declaration.kind === 156 /* SetAccessor */) && + if ((declaration.kind === 156 /* GetAccessor */ || declaration.kind === 157 /* SetAccessor */) && !hasNonBindableDynamicName(declaration) && (!hasThisParameter || !thisParameter)) { - var otherKind = declaration.kind === 155 /* GetAccessor */ ? 156 /* SetAccessor */ : 155 /* GetAccessor */; + var otherKind = declaration.kind === 156 /* GetAccessor */ ? 157 /* SetAccessor */ : 156 /* GetAccessor */; var other = ts.getDeclarationOfKind(getSymbolOfNode(declaration), otherKind); if (other) { thisParameter = getAnnotatedAccessorThisParameter(other); } } - var classType = declaration.kind === 154 /* Constructor */ ? + var classType = declaration.kind === 155 /* Constructor */ ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(declaration.parent.symbol)) : undefined; var typeParameters = classType ? classType.localTypeParameters : getTypeParametersFromDeclaration(declaration); @@ -33190,7 +33343,7 @@ var ts; } function getSignatureReturnTypeFromDeclaration(declaration, isJSConstructSignature, classType) { if (isJSConstructSignature) { - return getTypeFromTypeNode(declaration.parameters[0].type); + return getTypeFromTypeNode(declaration.parameters[0].type); // TODO: GH#18217 } else if (classType) { return classType; @@ -33201,8 +33354,8 @@ var ts; } // TypeScript 1.0 spec (April 2014): // If only one accessor includes a type annotation, the other behaves as if it had the same type annotation. - if (declaration.kind === 155 /* GetAccessor */ && !hasNonBindableDynamicName(declaration)) { - var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 156 /* SetAccessor */); + if (declaration.kind === 156 /* GetAccessor */ && !hasNonBindableDynamicName(declaration)) { + var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 157 /* SetAccessor */); return getAnnotatedAccessorType(setter); } if (ts.nodeIsMissing(declaration.body)) { @@ -33226,14 +33379,14 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return node.escapedText === "arguments" && ts.isExpressionNode(node); - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - return node.name.kind === 146 /* ComputedPropertyName */ + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + return node.name.kind === 147 /* ComputedPropertyName */ && traverse(node.name); default: - return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && ts.forEachChild(node, traverse); + return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && !!ts.forEachChild(node, traverse); } } } @@ -33243,19 +33396,18 @@ var ts; var result = []; for (var i = 0; i < symbol.declarations.length; i++) { var decl = symbol.declarations[i]; - var node = ts.isPropertyAccessExpression(decl) ? ts.getAssignedJavascriptInitializer(decl) : decl; - if (!ts.isFunctionLike(node)) + if (!ts.isFunctionLike(decl)) continue; // Don't include signature if node is the implementation of an overloaded function. A node is considered // an implementation node if it has a body and the previous node is of the same kind and immediately // precedes the implementation node (i.e. has the same parent and ends where the implementation starts). - if (i > 0 && node.body) { + if (i > 0 && decl.body) { var previous = symbol.declarations[i - 1]; - if (node.parent === previous.parent && node.kind === previous.kind && node.pos === previous.end) { + if (decl.parent === previous.parent && decl.kind === previous.kind && decl.pos === previous.end) { continue; } } - result.push(getSignatureFromDeclaration(node)); + result.push(getSignatureFromDeclaration(decl)); } return result; } @@ -33288,7 +33440,7 @@ var ts; } else { var declaration = signature.declaration; - signature.resolvedTypePredicate = declaration && declaration.type && declaration.type.kind === 160 /* TypePredicate */ ? + signature.resolvedTypePredicate = declaration && declaration.type && declaration.type.kind === 161 /* TypePredicate */ ? createTypePredicateFromTypePredicateNode(declaration.type) : noTypePredicate; } @@ -33299,7 +33451,7 @@ var ts; function getReturnTypeOfSignature(signature) { if (!signature.resolvedReturnType) { if (!pushTypeResolution(signature, 3 /* ResolvedReturnType */)) { - return unknownType; + return errorType; } var type = void 0; if (signature.target) { @@ -33333,7 +33485,7 @@ var ts; } function getRestTypeOfSignature(signature) { if (signature.hasRestParameter) { - var type = getTypeOfSymbol(ts.lastOrUndefined(signature.parameters)); + var type = getTypeOfSymbol(ts.last(signature.parameters)); if (ts.getObjectFlags(type) & 4 /* Reference */ && type.target === globalArrayType) { return type.typeArguments[0]; } @@ -33394,7 +33546,7 @@ var ts; // object type literal or interface (using the new keyword). Each way of declaring a constructor // will result in a different declaration kind. if (!signature.isolatedSignatureType) { - var isConstructor = signature.declaration.kind === 154 /* Constructor */ || signature.declaration.kind === 158 /* ConstructSignature */; + var isConstructor = signature.declaration.kind === 155 /* Constructor */ || signature.declaration.kind === 159 /* ConstructSignature */; // TODO: GH#18217 var type = createObjectType(16 /* Anonymous */); type.members = emptySymbols; type.properties = ts.emptyArray; @@ -33435,7 +33587,7 @@ var ts; return undefined; } function getConstraintDeclaration(type) { - var decl = type.symbol && ts.getDeclarationOfKind(type.symbol, 147 /* TypeParameter */); + var decl = type.symbol && ts.getDeclarationOfKind(type.symbol, 148 /* TypeParameter */); return decl && decl.constraint; } function getInferredTypeParameterConstraint(typeParameter) { @@ -33447,7 +33599,7 @@ var ts; // (such as 'Foo'), T's constraint is inferred from the constraint of the // corresponding type parameter in 'Foo'. When multiple 'infer T' declarations are // present, we form an intersection of the inferred constraint types. - if (declaration.parent.kind === 171 /* InferType */ && declaration.parent.parent.kind === 161 /* TypeReference */) { + if (declaration.parent.kind === 172 /* InferType */ && declaration.parent.parent.kind === 162 /* TypeReference */) { var typeReference = declaration.parent.parent; var typeParameters = getTypeParametersForTypeReference(typeReference); if (typeParameters) { @@ -33489,7 +33641,7 @@ var ts; return typeParameter.constraint === noConstraintType ? undefined : typeParameter.constraint; } function getParentSymbolOfTypeParameter(typeParameter) { - return getSymbolOfNode(ts.getDeclarationOfKind(typeParameter.symbol, 147 /* TypeParameter */).parent); + return getSymbolOfNode(ts.getDeclarationOfKind(typeParameter.symbol, 148 /* TypeParameter */).parent); } function getTypeListId(types) { var result = ""; @@ -33526,7 +33678,7 @@ var ts; result |= type.flags; } } - return result & 117440512 /* PropagatingFlags */; + return result & 939524096 /* PropagatingFlags */; } function createTypeReference(target, typeArguments) { var id = getTypeListId(typeArguments); @@ -33563,7 +33715,7 @@ var ts; var isJs = ts.isInJavaScriptFile(node); var isJsImplicitAny = !noImplicitAny && isJs; if (!isJsImplicitAny && (numTypeArguments < minTypeArgumentCount || numTypeArguments > typeParameters.length)) { - var missingAugmentsTag = isJs && node.parent.kind !== 289 /* JSDocAugmentsTag */; + var missingAugmentsTag = isJs && node.parent.kind !== 290 /* JSDocAugmentsTag */; var diag = minTypeArgumentCount === typeParameters.length ? missingAugmentsTag ? ts.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag @@ -33575,7 +33727,7 @@ var ts; error(node, diag, typeStr, minTypeArgumentCount, typeParameters.length); if (!isJs) { // TODO: Adopt same permissive behavior in TS as in JS to reduce follow-on editing experience failures (requires editing fillMissingTypeArguments) - return unknownType; + return errorType; } } // In a type reference, the outer type parameters of the referenced class or interface are automatically @@ -33584,7 +33736,7 @@ var ts; var typeArguments = ts.concatenate(type.outerTypeParameters, fillMissingTypeArguments(typeArgs, typeParameters, minTypeArgumentCount, isJs)); return createTypeReference(type, typeArguments); } - return checkNoTypeArguments(node, symbol) ? type : unknownType; + return checkNoTypeArguments(node, symbol) ? type : errorType; } function getTypeAliasInstantiation(symbol, typeArguments) { var type = getDeclaredTypeOfSymbol(symbol); @@ -33612,17 +33764,17 @@ var ts; error(node, minTypeArgumentCount === typeParameters.length ? ts.Diagnostics.Generic_type_0_requires_1_type_argument_s : ts.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments, symbolToString(symbol), minTypeArgumentCount, typeParameters.length); - return unknownType; + return errorType; } return getTypeAliasInstantiation(symbol, typeArguments); } - return checkNoTypeArguments(node, symbol) ? type : unknownType; + return checkNoTypeArguments(node, symbol) ? type : errorType; } function getTypeReferenceName(node) { switch (node.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return node.typeName; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: // We only support expressions that are simple qualified names. For other // expressions this produces undefined. var expr = node.expression; @@ -33642,7 +33794,7 @@ var ts; function getTypeReferenceType(node, symbol) { var typeArguments = typeArgumentsFromTypeReferenceNode(node); // Do unconditionally so we mark type arguments as referenced. if (symbol === unknownSymbol) { - return unknownType; + return errorType; } var type = getTypeReferenceTypeWorker(node, symbol, typeArguments); if (type) { @@ -33652,11 +33804,11 @@ var ts; var res = tryGetDeclaredTypeOfSymbol(symbol); if (res) { return checkNoTypeArguments(node, symbol) ? - res.flags & 32768 /* TypeParameter */ ? getConstrainedTypeVariable(res, node) : res : - unknownType; + res.flags & 65536 /* TypeParameter */ ? getConstrainedTypeVariable(res, node) : res : + errorType; } if (!(symbol.flags & 67216319 /* Value */ && isJSDocTypeReference(node))) { - return unknownType; + return errorType; } var jsdocType = getJSDocTypeReference(node, symbol, typeArguments); if (jsdocType) { @@ -33676,7 +33828,8 @@ var ts; var valueType = getTypeOfSymbol(symbol); var referenceType = valueType.symbol && valueType.symbol !== symbol && !isInferredClassType(valueType) && getTypeReferenceTypeWorker(node, valueType.symbol, typeArguments); if (referenceType || assignedType) { - return referenceType && assignedType ? getIntersectionType([assignedType, referenceType]) : referenceType || assignedType; + // TODO: GH#18217 (should the `|| assignedType` be at a lower precedence?) + return (referenceType && assignedType ? getIntersectionType([assignedType, referenceType]) : referenceType || assignedType); } } function getTypeReferenceTypeWorker(node, symbol, typeArguments) { @@ -33699,13 +33852,13 @@ var ts; } } function getSubstitutionType(typeVariable, substitute) { - var result = createType(4194304 /* Substitution */); + var result = createType(8388608 /* Substitution */); result.typeVariable = typeVariable; result.substitute = substitute; return result; } function isUnaryTupleTypeNode(node) { - return node.kind === 167 /* TupleType */ && node.elementTypes.length === 1; + return node.kind === 168 /* TupleType */ && node.elementTypes.length === 1; } function getImpliedConstraint(typeVariable, checkNode, extendsNode) { return isUnaryTupleTypeNode(checkNode) && isUnaryTupleTypeNode(extendsNode) ? getImpliedConstraint(typeVariable, checkNode.elementTypes[0], extendsNode.elementTypes[0]) : @@ -33714,9 +33867,9 @@ var ts; } function getConstrainedTypeVariable(typeVariable, node) { var constraints; - while (node && !ts.isStatement(node) && node.kind !== 285 /* JSDocComment */) { + while (node && !ts.isStatement(node) && node.kind !== 286 /* JSDocComment */) { var parent = node.parent; - if (parent.kind === 170 /* ConditionalType */ && node === parent.trueType) { + if (parent.kind === 171 /* ConditionalType */ && node === parent.trueType) { var constraint = getImpliedConstraint(typeVariable, parent.checkType, parent.extendsType); if (constraint) { constraints = ts.append(constraints, constraint); @@ -33727,7 +33880,7 @@ var ts; return constraints ? getSubstitutionType(typeVariable, getIntersectionType(ts.append(constraints, typeVariable))) : typeVariable; } function isJSDocTypeReference(node) { - return node.flags & 2097152 /* JSDoc */ && node.kind === 161 /* TypeReference */; + return !!(node.flags & 2097152 /* JSDoc */) && node.kind === 162 /* TypeReference */; } function checkNoTypeArguments(node, symbol) { if (node.typeArguments) { @@ -33774,7 +33927,7 @@ var ts; var indexed = getTypeFromTypeNode(typeArgs[0]); var target = getTypeFromTypeNode(typeArgs[1]); var index = createIndexInfo(target, /*isReadonly*/ false); - return createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, indexed === stringType && index, indexed === numberType && index); + return createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, indexed === stringType ? index : undefined, indexed === numberType ? index : undefined); } return anyType; } @@ -33785,7 +33938,7 @@ var ts; } function getTypeFromJSDocNullableTypeNode(node) { var type = getTypeFromTypeNode(node.type); - return strictNullChecks ? getNullableType(type, 8192 /* Null */) : type; + return strictNullChecks ? getNullableType(type, 16384 /* Null */) : type; } function getTypeFromTypeReference(node) { var links = getNodeLinks(node); @@ -33828,9 +33981,9 @@ var ts; for (var _i = 0, declarations_3 = declarations; _i < declarations_3.length; _i++) { var declaration = declarations_3[_i]; switch (declaration.kind) { - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: return declaration; } } @@ -33839,7 +33992,7 @@ var ts; return arity ? emptyGenericType : emptyObjectType; } var type = getDeclaredTypeOfSymbol(symbol); - if (!(type.flags & 65536 /* Object */)) { + if (!(type.flags & 131072 /* Object */)) { error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, ts.symbolName(symbol)); return arity ? emptyGenericType : emptyObjectType; } @@ -33911,7 +34064,7 @@ var ts; return symbol && getTypeOfGlobalSymbol(symbol, arity); } function getGlobalExtractSymbol() { - return deferredGlobalExtractSymbol || (deferredGlobalExtractSymbol = getGlobalSymbol("Extract", 524288 /* TypeAlias */, ts.Diagnostics.Cannot_find_global_type_0)); + return deferredGlobalExtractSymbol || (deferredGlobalExtractSymbol = getGlobalSymbol("Extract", 524288 /* TypeAlias */, ts.Diagnostics.Cannot_find_global_type_0)); // TODO: GH#18217 } /** * Instantiates a global type that is generic with some element type, and returns that instantiation. @@ -33955,7 +34108,7 @@ var ts; var typeParameters = []; var properties = []; for (var i = 0; i < arity; i++) { - var typeParameter = createType(32768 /* TypeParameter */); + var typeParameter = createType(65536 /* TypeParameter */); typeParameters.push(typeParameter); var property = createSymbol(4 /* Property */, "" + i); property.type = typeParameter; @@ -33972,7 +34125,7 @@ var ts; type.instantiations.set(getTypeListId(type.typeParameters), type); type.target = type; type.typeArguments = type.typeParameters; - type.thisType = createType(32768 /* TypeParameter */); + type.thisType = createType(65536 /* TypeParameter */); type.thisType.isThisType = true; type.thisType.constraint = type; type.declaredProperties = properties; @@ -34013,16 +34166,16 @@ var ts; var combined = 0; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 13536 /* Unit */ && combined & 13536 /* Unit */) { + if (t.flags & 27072 /* Unit */ && combined & 27072 /* Unit */) { return true; } combined |= t.flags; - if (combined & 12288 /* Nullable */ && combined & (65536 /* Object */ | 134217728 /* NonPrimitive */) || - combined & 134217728 /* NonPrimitive */ && combined & (134233854 /* DisjointDomains */ & ~134217728 /* NonPrimitive */) || - combined & 34 /* StringLike */ && combined & (134233854 /* DisjointDomains */ & ~34 /* StringLike */) || - combined & 84 /* NumberLike */ && combined & (134233854 /* DisjointDomains */ & ~84 /* NumberLike */) || - combined & 1536 /* ESSymbolLike */ && combined & (134233854 /* DisjointDomains */ & ~1536 /* ESSymbolLike */) || - combined & 6144 /* VoidLike */ && combined & (134233854 /* DisjointDomains */ & ~6144 /* VoidLike */)) { + if (combined & 24576 /* Nullable */ && combined & (131072 /* Object */ | 16777216 /* NonPrimitive */) || + combined & 16777216 /* NonPrimitive */ && combined & (16809468 /* DisjointDomains */ & ~16777216 /* NonPrimitive */) || + combined & 68 /* StringLike */ && combined & (16809468 /* DisjointDomains */ & ~68 /* StringLike */) || + combined & 168 /* NumberLike */ && combined & (16809468 /* DisjointDomains */ & ~168 /* NumberLike */) || + combined & 3072 /* ESSymbolLike */ && combined & (16809468 /* DisjointDomains */ & ~3072 /* ESSymbolLike */) || + combined & 12288 /* VoidLike */ && combined & (16809468 /* DisjointDomains */ & ~12288 /* VoidLike */)) { return true; } } @@ -34030,28 +34183,28 @@ var ts; } function addTypeToUnion(typeSet, includes, type) { var flags = type.flags; - if (flags & 131072 /* Union */) { + if (flags & 262144 /* Union */) { return addTypesToUnion(typeSet, includes, type.types); } // We ignore 'never' types in unions. Likewise, we ignore intersections of unit types as they are // another form of 'never' (in that they have an empty value domain). We could in theory turn // intersections of unit types into 'never' upon construction, but deferring the reduction makes it // easier to reason about their origin. - if (!(flags & 16384 /* Never */ || flags & 262144 /* Intersection */ && isEmptyIntersectionType(type))) { - includes |= flags & ~117440512 /* ConstructionFlags */; - if (flags & 1 /* Any */) { + if (!(flags & 32768 /* Never */ || flags & 524288 /* Intersection */ && isEmptyIntersectionType(type))) { + includes |= flags & ~939524096 /* ConstructionFlags */; + if (flags & 3 /* AnyOrUnknown */) { if (type === wildcardType) - includes |= 33554432 /* Wildcard */; + includes |= 268435456 /* Wildcard */; } - else if (!strictNullChecks && flags & 12288 /* Nullable */) { - if (!(flags & 16777216 /* ContainsWideningType */)) - includes |= 16777216 /* NonWideningType */; + else if (!strictNullChecks && flags & 24576 /* Nullable */) { + if (!(flags & 134217728 /* ContainsWideningType */)) + includes |= 134217728 /* NonWideningType */; } else { var len = typeSet.length; var index = len && type.id > typeSet[len - 1].id ? ~len : ts.binarySearch(typeSet, type, getTypeId, ts.compareValues); if (index < 0) { - if (!(flags & 65536 /* Object */ && type.objectFlags & 16 /* Anonymous */ && + if (!(flags & 131072 /* Object */ && type.objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */) && containsIdenticalType(typeSet, type))) { typeSet.splice(~index, 0, type); } @@ -34091,11 +34244,11 @@ var ts; } function isSetOfLiteralsFromSameEnum(types) { var first = types[0]; - if (first.flags & 256 /* EnumLiteral */) { + if (first.flags & 512 /* EnumLiteral */) { var firstEnum = getParentOfSymbol(first.symbol); for (var i = 1; i < types.length; i++) { var other = types[i]; - if (!(other.flags & 256 /* EnumLiteral */) || (firstEnum !== getParentOfSymbol(other.symbol))) { + if (!(other.flags & 512 /* EnumLiteral */) || (firstEnum !== getParentOfSymbol(other.symbol))) { return false; } } @@ -34120,10 +34273,10 @@ var ts; while (i > 0) { i--; var t = types[i]; - var remove = t.flags & 32 /* StringLiteral */ && includes & 2 /* String */ || - t.flags & 64 /* NumberLiteral */ && includes & 4 /* Number */ || - t.flags & 1024 /* UniqueESSymbol */ && includes & 512 /* ESSymbol */ || - t.flags & 96 /* StringOrNumberLiteral */ && t.flags & 8388608 /* FreshLiteral */ && containsType(types, t.regularType); + var remove = t.flags & 64 /* StringLiteral */ && includes & 4 /* String */ || + t.flags & 128 /* NumberLiteral */ && includes & 8 /* Number */ || + t.flags & 2048 /* UniqueESSymbol */ && includes & 1024 /* ESSymbol */ || + t.flags & 192 /* StringOrNumberLiteral */ && t.flags & 33554432 /* FreshLiteral */ && containsType(types, t.regularType); if (remove) { ts.orderedRemoveItemAt(types, i); } @@ -34146,12 +34299,12 @@ var ts; } var typeSet = []; var includes = addTypesToUnion(typeSet, 0, types); - if (includes & 1 /* Any */) { - return includes & 33554432 /* Wildcard */ ? wildcardType : anyType; + if (includes & 3 /* AnyOrUnknown */) { + return includes & 1 /* Any */ ? includes & 268435456 /* Wildcard */ ? wildcardType : anyType : unknownType; } switch (unionReduction) { case 1 /* Literal */: - if (includes & 1120 /* StringOrNumberLiteralOrUnique */) { + if (includes & 2240 /* StringOrNumberLiteralOrUnique */) { removeRedundantLiteralTypes(typeSet, includes); } break; @@ -34160,11 +34313,11 @@ var ts; break; } if (typeSet.length === 0) { - return includes & 8192 /* Null */ ? includes & 16777216 /* NonWideningType */ ? nullType : nullWideningType : - includes & 4096 /* Undefined */ ? includes & 16777216 /* NonWideningType */ ? undefinedType : undefinedWideningType : + return includes & 16384 /* Null */ ? includes & 134217728 /* NonWideningType */ ? nullType : nullWideningType : + includes & 8192 /* Undefined */ ? includes & 134217728 /* NonWideningType */ ? undefinedType : undefinedWideningType : neverType; } - return getUnionTypeFromSortedList(typeSet, includes & 8374815 /* NotUnit */ ? 0 : 268435456 /* UnionOfUnitTypes */, aliasSymbol, aliasTypeArguments); + return getUnionTypeFromSortedList(typeSet, includes & 16749629 /* NotUnit */ ? 0 : 67108864 /* UnionOfUnitTypes */, aliasSymbol, aliasTypeArguments); } function getUnionTypePredicate(signatures) { var first; @@ -34211,8 +34364,8 @@ var ts; var id = getTypeListId(types); var type = unionTypes.get(id); if (!type) { - var propagatedFlags = getPropagatingFlagsOfTypes(types, /*excludeKinds*/ 12288 /* Nullable */); - type = createType(131072 /* Union */ | propagatedFlags | unionOfUnitTypes); + var propagatedFlags = getPropagatingFlagsOfTypes(types, /*excludeKinds*/ 24576 /* Nullable */); + type = createType(262144 /* Union */ | propagatedFlags | unionOfUnitTypes); unionTypes.set(id, type); type.types = types; /* @@ -34236,20 +34389,20 @@ var ts; } function addTypeToIntersection(typeSet, includes, type) { var flags = type.flags; - if (flags & 262144 /* Intersection */) { + if (flags & 524288 /* Intersection */) { return addTypesToIntersection(typeSet, includes, type.types); } if (ts.getObjectFlags(type) & 16 /* Anonymous */ && isEmptyObjectType(type)) { - includes |= 67108864 /* EmptyObject */; + includes |= 536870912 /* EmptyObject */; } else { - includes |= flags & ~117440512 /* ConstructionFlags */; - if (flags & 1 /* Any */) { + includes |= flags & ~939524096 /* ConstructionFlags */; + if (flags & 3 /* AnyOrUnknown */) { if (type === wildcardType) - includes |= 33554432 /* Wildcard */; + includes |= 268435456 /* Wildcard */; } - else if ((strictNullChecks || !(flags & 12288 /* Nullable */)) && !ts.contains(typeSet, type) && - !(flags & 65536 /* Object */ && type.objectFlags & 16 /* Anonymous */ && + else if ((strictNullChecks || !(flags & 24576 /* Nullable */)) && !ts.contains(typeSet, type) && + !(flags & 131072 /* Object */ && type.objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */) && containsIdenticalType(typeSet, type))) { typeSet.push(type); @@ -34271,9 +34424,9 @@ var ts; while (i > 0) { i--; var t = types[i]; - var remove = t.flags & 2 /* String */ && includes & 32 /* StringLiteral */ || - t.flags & 4 /* Number */ && includes & 64 /* NumberLiteral */ || - t.flags & 512 /* ESSymbol */ && includes & 1024 /* UniqueESSymbol */; + var remove = t.flags & 4 /* String */ && includes & 64 /* StringLiteral */ || + t.flags & 8 /* Number */ && includes & 128 /* NumberLiteral */ || + t.flags & 1024 /* ESSymbol */ && includes & 2048 /* UniqueESSymbol */; if (remove) { ts.orderedRemoveItemAt(types, i); } @@ -34283,13 +34436,13 @@ var ts; // Here we remove all unions of unit types from the given list and replace them with a // a single union containing an intersection of the unit types. function intersectUnionsOfUnitTypes(types) { - var unionIndex = ts.findIndex(types, function (t) { return (t.flags & 268435456 /* UnionOfUnitTypes */) !== 0; }); + var unionIndex = ts.findIndex(types, function (t) { return (t.flags & 67108864 /* UnionOfUnitTypes */) !== 0; }); var unionType = types[unionIndex]; var intersection = unionType.types; var i = types.length - 1; var _loop_5 = function () { var t = types[i]; - if (t.flags & 268435456 /* UnionOfUnitTypes */) { + if (t.flags & 67108864 /* UnionOfUnitTypes */) { intersection = ts.filter(intersection, function (u) { return containsType(t.types, u); }); ts.orderedRemoveItemAt(types, i); } @@ -34301,7 +34454,7 @@ var ts; if (intersection === unionType.types) { return false; } - types[unionIndex] = getUnionTypeFromSortedList(intersection, unionType.flags & 268435456 /* UnionOfUnitTypes */); + types[unionIndex] = getUnionTypeFromSortedList(intersection, unionType.flags & 67108864 /* UnionOfUnitTypes */); return true; } // We normalize combinations of intersection and union types based on the distributive property of the '&' @@ -34315,30 +34468,33 @@ var ts; // Also, unlike union types, the order of the constituent types is preserved in order that overload resolution // for intersections of types with signatures can be deterministic. function getIntersectionType(types, aliasSymbol, aliasTypeArguments) { - if (types.length === 0) { - return emptyObjectType; - } var typeSet = []; var includes = addTypesToIntersection(typeSet, 0, types); - if (includes & 16384 /* Never */) { + if (includes & 32768 /* Never */) { return neverType; } if (includes & 1 /* Any */) { - return includes & 33554432 /* Wildcard */ ? wildcardType : anyType; + return includes & 268435456 /* Wildcard */ ? wildcardType : anyType; } - if (includes & 2 /* String */ && includes & 32 /* StringLiteral */ || - includes & 4 /* Number */ && includes & 64 /* NumberLiteral */ || - includes & 512 /* ESSymbol */ && includes & 1024 /* UniqueESSymbol */) { + if (!strictNullChecks && includes & 24576 /* Nullable */) { + return includes & 8192 /* Undefined */ ? undefinedType : nullType; + } + if (includes & 4 /* String */ && includes & 64 /* StringLiteral */ || + includes & 8 /* Number */ && includes & 128 /* NumberLiteral */ || + includes & 1024 /* ESSymbol */ && includes & 2048 /* UniqueESSymbol */) { removeRedundantPrimitiveTypes(typeSet, includes); } - if (includes & 67108864 /* EmptyObject */ && !(includes & 65536 /* Object */)) { + if (includes & 536870912 /* EmptyObject */ && !(includes & 131072 /* Object */)) { typeSet.push(emptyObjectType); } + if (typeSet.length === 0) { + return unknownType; + } if (typeSet.length === 1) { return typeSet[0]; } - if (includes & 131072 /* Union */) { - if (includes & 268435456 /* UnionOfUnitTypes */ && intersectUnionsOfUnitTypes(typeSet)) { + if (includes & 262144 /* Union */) { + if (includes & 67108864 /* UnionOfUnitTypes */ && intersectUnionsOfUnitTypes(typeSet)) { // When the intersection creates a reduced set (which might mean that *all* union types have // disappeared), we restart the operation to get a new set of combined flags. Once we have // reduced we'll never reduce again, so this occurs at most once. @@ -34346,15 +34502,15 @@ var ts; } // We are attempting to construct a type of the form X & (A | B) & Y. Transform this into a type of // the form X & A & Y | X & B & Y and recursively reduce until no union type constituents remain. - var unionIndex_1 = ts.findIndex(typeSet, function (t) { return (t.flags & 131072 /* Union */) !== 0; }); + var unionIndex_1 = ts.findIndex(typeSet, function (t) { return (t.flags & 262144 /* Union */) !== 0; }); var unionType = typeSet[unionIndex_1]; return getUnionType(ts.map(unionType.types, function (t) { return getIntersectionType(ts.replaceElement(typeSet, unionIndex_1, t)); }), 1 /* Literal */, aliasSymbol, aliasTypeArguments); } var id = getTypeListId(typeSet); var type = intersectionTypes.get(id); if (!type) { - var propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ 12288 /* Nullable */); - type = createType(262144 /* Intersection */ | propagatedFlags); + var propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ 24576 /* Nullable */); + type = createType(524288 /* Intersection */ | propagatedFlags); intersectionTypes.set(id, type); type.types = typeSet; type.aliasSymbol = aliasSymbol; // See comment in `getUnionTypeFromSortedList`. @@ -34371,7 +34527,7 @@ var ts; return links.resolvedType; } function createIndexType(type, stringsOnly) { - var result = createType(524288 /* Index */); + var result = createType(1048576 /* Index */); result.type = type; result.stringsOnly = stringsOnly; return result; @@ -34387,7 +34543,7 @@ var ts; if (!type && !ts.isKnownSymbol(prop)) { var name = ts.getNameOfDeclaration(prop.valueDeclaration); type = name && ts.isNumericLiteral(name) ? getLiteralType(+name.text) : - name && name.kind === 146 /* ComputedPropertyName */ && ts.isNumericLiteral(name.expression) ? getLiteralType(+name.expression.text) : + name && name.kind === 147 /* ComputedPropertyName */ && ts.isNumericLiteral(name.expression) ? getLiteralType(+name.expression.text) : getLiteralType(ts.symbolName(prop)); } if (type && type.flags & include) { @@ -34405,16 +34561,16 @@ var ts; } function getIndexType(type, stringsOnly) { if (stringsOnly === void 0) { stringsOnly = keyofStringsOnly; } - return type.flags & 131072 /* Union */ ? getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : - type.flags & 262144 /* Intersection */ ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : - maybeTypeOfKind(type, 7372800 /* InstantiableNonPrimitive */) ? getIndexTypeForGenericType(type, stringsOnly) : + return type.flags & 262144 /* Union */ ? getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : + type.flags & 524288 /* Intersection */ ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly); })) : + maybeTypeOfKind(type, 14745600 /* InstantiableNonPrimitive */) ? getIndexTypeForGenericType(type, stringsOnly) : ts.getObjectFlags(type) & 32 /* Mapped */ ? getConstraintTypeFromMappedType(type) : type === wildcardType ? wildcardType : type.flags & 1 /* Any */ ? keyofConstraintType : - stringsOnly ? getIndexInfoOfType(type, 0 /* String */) ? stringType : getLiteralTypeFromPropertyNames(type, 32 /* StringLiteral */) : - getIndexInfoOfType(type, 0 /* String */) ? getUnionType([stringType, numberType, getLiteralTypeFromPropertyNames(type, 1024 /* UniqueESSymbol */)]) : - getNonEnumNumberIndexInfo(type) ? getUnionType([numberType, getLiteralTypeFromPropertyNames(type, 32 /* StringLiteral */ | 1024 /* UniqueESSymbol */)]) : - getLiteralTypeFromPropertyNames(type, 1120 /* StringOrNumberLiteralOrUnique */); + stringsOnly ? getIndexInfoOfType(type, 0 /* String */) ? stringType : getLiteralTypeFromPropertyNames(type, 64 /* StringLiteral */) : + getIndexInfoOfType(type, 0 /* String */) ? getUnionType([stringType, numberType, getLiteralTypeFromPropertyNames(type, 2048 /* UniqueESSymbol */)]) : + getNonEnumNumberIndexInfo(type) ? getUnionType([numberType, getLiteralTypeFromPropertyNames(type, 64 /* StringLiteral */ | 2048 /* UniqueESSymbol */)]) : + getLiteralTypeFromPropertyNames(type, 2240 /* StringOrNumberLiteralOrUnique */); } function getExtractStringType(type) { if (keyofStringsOnly) { @@ -34425,7 +34581,7 @@ var ts; } function getIndexTypeOrString(type) { var indexType = getExtractStringType(getIndexType(type)); - return indexType.flags & 16384 /* Never */ ? stringType : indexType; + return indexType.flags & 32768 /* Never */ ? stringType : indexType; } function getTypeFromTypeOperatorNode(node) { var links = getNodeLinks(node); @@ -34437,20 +34593,20 @@ var ts; case 141 /* UniqueKeyword */: links.resolvedType = node.type.kind === 138 /* SymbolKeyword */ ? getESSymbolLikeTypeForNode(ts.walkUpParenthesizedTypes(node.parent)) - : unknownType; + : errorType; break; } } - return links.resolvedType; + return links.resolvedType; // TODO: GH#18217 } function createIndexedAccessType(objectType, indexType) { - var type = createType(1048576 /* IndexedAccess */); + var type = createType(2097152 /* IndexedAccess */); type.objectType = objectType; type.indexType = indexType; return type; } function getPropertyTypeForIndexType(objectType, indexType, accessNode, cacheSymbol) { - var accessExpression = accessNode && accessNode.kind === 185 /* ElementAccessExpression */ ? accessNode : undefined; + var accessExpression = accessNode && accessNode.kind === 186 /* ElementAccessExpression */ ? accessNode : undefined; var propName = isTypeUsableAsLateBoundName(indexType) ? getLateBoundNameFromType(indexType) : accessExpression && checkThatExpressionIsProperSymbolReference(accessExpression.argumentExpression, indexType, /*reportError*/ false) ? ts.getPropertyNameForKnownSymbolName(ts.idText(accessExpression.argumentExpression.name)) : @@ -34462,7 +34618,7 @@ var ts; markPropertyAsReferenced(prop, accessExpression, /*isThisAccess*/ accessExpression.expression.kind === 99 /* ThisKeyword */); if (ts.isAssignmentTarget(accessExpression) && (isReferenceToReadonlyEntity(accessExpression, prop) || isReferenceThroughNamespaceImport(accessExpression))) { error(accessExpression.argumentExpression, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, symbolToString(prop)); - return unknownType; + return errorType; } if (cacheSymbol) { getNodeLinks(accessNode).resolvedSymbol = prop; @@ -34471,16 +34627,16 @@ var ts; return getTypeOfSymbol(prop); } } - if (!(indexType.flags & 12288 /* Nullable */) && isTypeAssignableToKind(indexType, 34 /* StringLike */ | 84 /* NumberLike */ | 1536 /* ESSymbolLike */)) { + if (!(indexType.flags & 24576 /* Nullable */) && isTypeAssignableToKind(indexType, 68 /* StringLike */ | 168 /* NumberLike */ | 3072 /* ESSymbolLike */)) { if (isTypeAny(objectType)) { return objectType; } - var indexInfo = isTypeAssignableToKind(indexType, 84 /* NumberLike */) && getIndexInfoOfType(objectType, 1 /* Number */) || + var indexInfo = isTypeAssignableToKind(indexType, 168 /* NumberLike */) && getIndexInfoOfType(objectType, 1 /* Number */) || getIndexInfoOfType(objectType, 0 /* String */) || undefined; if (indexInfo) { - if (accessNode && !isTypeAssignableToKind(indexType, 2 /* String */ | 4 /* Number */)) { - var indexNode = accessNode.kind === 185 /* ElementAccessExpression */ ? accessNode.argumentExpression : accessNode.indexType; + if (accessNode && !isTypeAssignableToKind(indexType, 4 /* String */ | 8 /* Number */)) { + var indexNode = accessNode.kind === 186 /* ElementAccessExpression */ ? accessNode.argumentExpression : accessNode.indexType; error(indexNode, ts.Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeToString(indexType)); } else if (accessExpression && indexInfo.isReadonly && (ts.isAssignmentTarget(accessExpression) || ts.isDeleteTarget(accessExpression))) { @@ -34488,7 +34644,7 @@ var ts; } return indexInfo.type; } - if (indexType.flags & 16384 /* Never */) { + if (indexType.flags & 32768 /* Never */) { return neverType; } if (accessExpression && !isConstEnumObjectType(objectType)) { @@ -34504,41 +34660,41 @@ var ts; } } if (accessNode) { - var indexNode = accessNode.kind === 185 /* ElementAccessExpression */ ? accessNode.argumentExpression : accessNode.indexType; - if (indexType.flags & (32 /* StringLiteral */ | 64 /* NumberLiteral */)) { + var indexNode = accessNode.kind === 186 /* ElementAccessExpression */ ? accessNode.argumentExpression : accessNode.indexType; + if (indexType.flags & (64 /* StringLiteral */ | 128 /* NumberLiteral */)) { error(indexNode, ts.Diagnostics.Property_0_does_not_exist_on_type_1, "" + indexType.value, typeToString(objectType)); } - else if (indexType.flags & (2 /* String */ | 4 /* Number */)) { + else if (indexType.flags & (4 /* String */ | 8 /* Number */)) { error(indexNode, ts.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1, typeToString(objectType), typeToString(indexType)); } else { error(indexNode, ts.Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeToString(indexType)); } } - return unknownType; + return errorType; } function isGenericObjectType(type) { - return maybeTypeOfKind(type, 7372800 /* InstantiableNonPrimitive */ | 536870912 /* GenericMappedType */); + return maybeTypeOfKind(type, 14745600 /* InstantiableNonPrimitive */ | 134217728 /* GenericMappedType */); } function isGenericIndexType(type) { - return maybeTypeOfKind(type, 7372800 /* InstantiableNonPrimitive */ | 524288 /* Index */); + return maybeTypeOfKind(type, 14745600 /* InstantiableNonPrimitive */ | 1048576 /* Index */); } // Return true if the given type is a non-generic object type with a string index signature and no // other members. function isStringIndexOnlyType(type) { - if (type.flags & 65536 /* Object */ && !isGenericMappedType(type)) { + if (type.flags & 131072 /* Object */ && !isGenericMappedType(type)) { var t = resolveStructuredTypeMembers(type); return t.properties.length === 0 && t.callSignatures.length === 0 && t.constructSignatures.length === 0 && - t.stringIndexInfo && !t.numberIndexInfo; + !!t.stringIndexInfo && !t.numberIndexInfo; } return false; } function isMappedTypeToNever(type) { - return ts.getObjectFlags(type) & 32 /* Mapped */ && getTemplateTypeFromMappedType(type) === neverType; + return !!(ts.getObjectFlags(type) & 32 /* Mapped */) && getTemplateTypeFromMappedType(type) === neverType; } function getSimplifiedType(type) { - return type.flags & 1048576 /* IndexedAccess */ ? getSimplifiedIndexedAccessType(type) : type; + return type.flags & 2097152 /* IndexedAccess */ ? getSimplifiedIndexedAccessType(type) : type; } // Transform an indexed access to a simpler form, if possible. Return the simpler form, or return // the type itself if no transformation is possible. @@ -34547,8 +34703,10 @@ var ts; return type.simplified === circularConstraintType ? type : type.simplified; } type.simplified = circularConstraintType; - var objectType = type.objectType; - if (objectType.flags & 262144 /* Intersection */ && isGenericObjectType(objectType)) { + // We recursively simplify the object type as it may in turn be an indexed access type. For example, with + // '{ [P in T]: { [Q in U]: number } }[T][U]' we want to first simplify the inner indexed access type. + var objectType = getSimplifiedType(type.objectType); + if (objectType.flags & 524288 /* Intersection */ && isGenericObjectType(objectType)) { // Given an indexed access type T[K], if T is an intersection containing one or more generic types and one or // more object types with only a string index signature, e.g. '(U & V & { [x: string]: D })[K]', return a // transformed type of the form '(U & V)[K] | D'. This allows us to properly reason about higher order indexed @@ -34586,7 +34744,7 @@ var ts; if (isGenericMappedType(objectType)) { return type.simplified = substituteIndexedMappedType(objectType, type); } - if (objectType.flags & 32768 /* TypeParameter */) { + if (objectType.flags & 65536 /* TypeParameter */) { var constraint = getConstraintFromTypeParameter(objectType); if (constraint && isGenericMappedType(constraint)) { return type.simplified = substituteIndexedMappedType(constraint, type); @@ -34608,8 +34766,8 @@ var ts; // object type. Note that for a generic T and a non-generic K, we eagerly resolve T[K] if it originates in // an expression. This is to preserve backwards compatibility. For example, an element access 'this["foo"]' // has always been resolved eagerly using the constraint type of 'this' at the given location. - if (isGenericIndexType(indexType) || !(accessNode && accessNode.kind === 185 /* ElementAccessExpression */) && isGenericObjectType(objectType)) { - if (objectType.flags & 1 /* Any */) { + if (isGenericIndexType(indexType) || !(accessNode && accessNode.kind === 186 /* ElementAccessExpression */) && isGenericObjectType(objectType)) { + if (objectType.flags & 3 /* AnyOrUnknown */) { return objectType; } // Defer the operation by creating an indexed access type. @@ -34624,13 +34782,13 @@ var ts; // We treat boolean as different from other unions to improve errors; // skipping straight to getPropertyTypeForIndexType gives errors with 'boolean' instead of 'true'. var apparentObjectType = getApparentType(objectType); - if (indexType.flags & 131072 /* Union */ && !(indexType.flags & 8 /* Boolean */)) { + if (indexType.flags & 262144 /* Union */ && !(indexType.flags & 16 /* Boolean */)) { var propTypes = []; for (var _i = 0, _a = indexType.types; _i < _a.length; _i++) { var t = _a[_i]; var propType = getPropertyTypeForIndexType(apparentObjectType, t, accessNode, /*cacheSymbol*/ false); - if (propType === unknownType) { - return unknownType; + if (propType === errorType) { + return errorType; } propTypes.push(propType); } @@ -34644,7 +34802,7 @@ var ts; var objectType = getTypeFromTypeNode(node.objectType); var indexType = getTypeFromTypeNode(node.indexType); var resolved = getIndexedAccessType(objectType, indexType, node); - links.resolvedType = resolved.flags & 1048576 /* IndexedAccess */ && + links.resolvedType = resolved.flags & 2097152 /* IndexedAccess */ && resolved.objectType === objectType && resolved.indexType === indexType ? getConstrainedTypeVariable(resolved, node) : resolved; @@ -34666,7 +34824,7 @@ var ts; return links.resolvedType; } function getActualTypeVariable(type) { - return type.flags & 4194304 /* Substitution */ ? type.typeVariable : type; + return type.flags & 8388608 /* Substitution */ ? type.typeVariable : type; } function getConditionalType(root, mapper) { var checkType = instantiateType(root.checkType, mapper); @@ -34677,7 +34835,7 @@ var ts; // If this is a distributive conditional type and the check type is generic we need to defer // resolution of the conditional type such that a later instantiation will properly distribute // over union types. - var isDeferred = root.isDistributive && maybeTypeOfKind(checkType, 7897088 /* Instantiable */); + var isDeferred = root.isDistributive && maybeTypeOfKind(checkType, 15794176 /* Instantiable */); var combinedMapper; if (root.inferTypeParameters) { var context_1 = createInferenceContext(root.inferTypeParameters, /*signature*/ undefined, 0 /* None */); @@ -34690,6 +34848,9 @@ var ts; combinedMapper = combineTypeMappers(mapper, context_1); } if (!isDeferred) { + if (extendsType.flags & 3 /* AnyOrUnknown */) { + return instantiateType(root.trueType, mapper); + } // Return union of trueType and falseType for 'any' since it matches anything if (checkType.flags & 1 /* Any */) { return getUnionType([instantiateType(root.trueType, combinedMapper || mapper), instantiateType(root.falseType, mapper)]); @@ -34713,14 +34874,14 @@ var ts; } // Return a deferred type for a check that is neither definitely true nor definitely false var erasedCheckType = getActualTypeVariable(checkType); - var result = createType(2097152 /* Conditional */); + var result = createType(4194304 /* Conditional */); result.root = root; result.checkType = erasedCheckType; result.extendsType = extendsType; result.mapper = mapper; result.combinedMapper = combinedMapper; result.aliasSymbol = root.aliasSymbol; - result.aliasTypeArguments = instantiateTypes(root.aliasTypeArguments, mapper); + result.aliasTypeArguments = instantiateTypes(root.aliasTypeArguments, mapper); // TODO: GH#18217 return result; } function getTrueTypeFromConditionalType(type) { @@ -34745,7 +34906,7 @@ var ts; return true; } while (node) { - if (node.kind === 170 /* ConditionalType */) { + if (node.kind === 171 /* ConditionalType */) { if (isTypeParameterPossiblyReferenced(tp, node.extendsType)) { return true; } @@ -34768,7 +34929,7 @@ var ts; extendsType: getTypeFromTypeNode(node.extendsType), trueType: getTypeFromTypeNode(node.trueType), falseType: getTypeFromTypeNode(node.falseType), - isDistributive: !!(checkType.flags & 32768 /* TypeParameter */), + isDistributive: !!(checkType.flags & 65536 /* TypeParameter */), inferTypeParameters: getInferTypeParameters(node), outerTypeParameters: outerTypeParameters, instantiations: undefined, @@ -34804,12 +34965,12 @@ var ts; if (node.isTypeOf && node.typeArguments) { // Only the non-typeof form can make use of type arguments error(node, ts.Diagnostics.Type_arguments_cannot_be_used_here); links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } if (!ts.isLiteralImportTypeNode(node)) { error(node.argument, ts.Diagnostics.String_literal_expected); links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } var argumentType = getTypeFromTypeNode(node.argument); var targetMeaning = node.isTypeOf ? 67216319 /* Value */ : 67901928 /* Type */; @@ -34818,7 +34979,7 @@ var ts; var innerModuleSymbol = resolveExternalModule(node, moduleName, ts.Diagnostics.Cannot_find_module_0, node, /*isForAugmentation*/ false); if (!innerModuleSymbol) { links.resolvedSymbol = unknownSymbol; - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } var moduleSymbol_1 = resolveExternalModuleSymbol(innerModuleSymbol, /*dontResolveAlias*/ false); if (!ts.nodeIsMissing(node.qualifier)) { @@ -34830,7 +34991,7 @@ var ts; var next = getSymbol(getExportsOfSymbol(getMergedSymbol(resolveSymbol(currentNamespace))), current.escapedText, meaning); if (!next) { error(current, ts.Diagnostics.Namespace_0_has_no_exported_member_1, getFullyQualifiedName(currentNamespace), ts.declarationNameToString(current)); - return links.resolvedType = unknownType; + return links.resolvedType = errorType; } getNodeLinks(current).resolvedSymbol = next; getNodeLinks(current.parent).resolvedSymbol = next; @@ -34845,11 +35006,11 @@ var ts; else { error(node, targetMeaning === 67216319 /* Value */ ? ts.Diagnostics.Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here : ts.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here, moduleName); links.resolvedSymbol = unknownSymbol; - links.resolvedType = unknownType; + links.resolvedType = errorType; } } } - return links.resolvedType; + return links.resolvedType; // TODO: GH#18217 } function resolveImportSymbolType(node, links, symbol, meaning) { links.resolvedSymbol = symbol; @@ -34895,19 +35056,22 @@ var ts; if (left.flags & 1 /* Any */ || right.flags & 1 /* Any */) { return anyType; } - if (left.flags & 16384 /* Never */) { + if (left.flags & 2 /* Unknown */ || right.flags & 2 /* Unknown */) { + return unknownType; + } + if (left.flags & 32768 /* Never */) { return right; } - if (right.flags & 16384 /* Never */) { + if (right.flags & 32768 /* Never */) { return left; } - if (left.flags & 131072 /* Union */) { + if (left.flags & 262144 /* Union */) { return mapType(left, function (t) { return getSpreadType(t, right, symbol, typeFlags, objectFlags); }); } - if (right.flags & 131072 /* Union */) { + if (right.flags & 262144 /* Union */) { return mapType(right, function (t) { return getSpreadType(left, t, symbol, typeFlags, objectFlags); }); } - if (right.flags & (136 /* BooleanLike */ | 84 /* NumberLike */ | 34 /* StringLike */ | 272 /* EnumLike */ | 134217728 /* NonPrimitive */ | 524288 /* Index */)) { + if (right.flags & (272 /* BooleanLike */ | 168 /* NumberLike */ | 68 /* StringLike */ | 544 /* EnumLike */ | 16777216 /* NonPrimitive */ | 1048576 /* Index */)) { return left; } var members = ts.createSymbolTable(); @@ -34961,7 +35125,7 @@ var ts; } } var spread = createAnonymousType(symbol, members, ts.emptyArray, ts.emptyArray, getNonReadonlyIndexSignature(stringIndexInfo), getNonReadonlyIndexSignature(numberIndexInfo)); - spread.flags |= typeFlags | 33554432 /* ContainsObjectLiteral */; + spread.flags |= typeFlags | 268435456 /* ContainsObjectLiteral */; spread.objectFlags |= objectFlags | (128 /* ObjectLiteral */ | 1024 /* ContainsSpread */); return spread; } @@ -34993,9 +35157,9 @@ var ts; return type; } function getFreshTypeOfLiteralType(type) { - if (type.flags & 96 /* StringOrNumberLiteral */ && !(type.flags & 8388608 /* FreshLiteral */)) { + if (type.flags & 192 /* StringOrNumberLiteral */ && !(type.flags & 33554432 /* FreshLiteral */)) { if (!type.freshType) { - var freshType = createLiteralType(type.flags | 8388608 /* FreshLiteral */, type.value, type.symbol); + var freshType = createLiteralType(type.flags | 33554432 /* FreshLiteral */, type.value, type.symbol); freshType.regularType = type; type.freshType = freshType; } @@ -35004,7 +35168,9 @@ var ts; return type; } function getRegularTypeOfLiteralType(type) { - return type.flags & 96 /* StringOrNumberLiteral */ && type.flags & 8388608 /* FreshLiteral */ ? type.regularType : type; + return type.flags & 192 /* StringOrNumberLiteral */ && type.flags & 33554432 /* FreshLiteral */ ? type.regularType : + type.flags & 262144 /* Union */ ? getUnionType(ts.sameMap(type.types, getRegularTypeOfLiteralType)) : + type; } function getLiteralType(value, enumId, symbol) { // We store all literal types in a single map with keys of the form '#NNN' and '@SSS', @@ -35015,7 +35181,7 @@ var ts; var key = enumId ? enumId + qualifier + value : qualifier + value; var type = literalTypes.get(key); if (!type) { - var flags = (typeof value === "number" ? 64 /* NumberLiteral */ : 32 /* StringLiteral */) | (enumId ? 256 /* EnumLiteral */ : 0); + var flags = (typeof value === "number" ? 128 /* NumberLiteral */ : 64 /* StringLiteral */) | (enumId ? 512 /* EnumLiteral */ : 0); literalTypes.set(key, type = createLiteralType(flags, value, symbol)); } return type; @@ -35028,7 +35194,7 @@ var ts; return links.resolvedType; } function createUniqueESSymbolType(symbol) { - var type = createType(1024 /* UniqueESSymbol */); + var type = createType(2048 /* UniqueESSymbol */); type.symbol = symbol; return type; } @@ -35043,14 +35209,14 @@ var ts; function getThisType(node) { var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); var parent = container && container.parent; - if (parent && (ts.isClassLike(parent) || parent.kind === 235 /* InterfaceDeclaration */)) { + if (parent && (ts.isClassLike(parent) || parent.kind === 236 /* InterfaceDeclaration */)) { if (!ts.hasModifier(container, 32 /* Static */) && - (container.kind !== 154 /* Constructor */ || ts.isNodeDescendantOf(node, container.body))) { + (container.kind !== 155 /* Constructor */ || ts.isNodeDescendantOf(node, container.body))) { return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(parent)).thisType; } } error(node, ts.Diagnostics.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface); - return unknownType; + return errorType; } function getTypeFromThisTypeNode(node) { var links = getNodeLinks(node); @@ -35062,9 +35228,11 @@ var ts; function getTypeFromTypeNode(node) { switch (node.kind) { case 119 /* AnyKeyword */: - case 278 /* JSDocAllType */: - case 279 /* JSDocUnknownType */: + case 279 /* JSDocAllType */: + case 280 /* JSDocUnknownType */: return anyType; + case 142 /* UnknownKeyword */: + return unknownType; case 137 /* StringKeyword */: return stringType; case 134 /* NumberKeyword */: @@ -35083,64 +35251,64 @@ var ts; return neverType; case 135 /* ObjectKeyword */: return node.flags & 65536 /* JavaScriptFile */ ? anyType : nonPrimitiveType; - case 173 /* ThisType */: + case 174 /* ThisType */: case 99 /* ThisKeyword */: return getTypeFromThisTypeNode(node); - case 177 /* LiteralType */: + case 178 /* LiteralType */: return getTypeFromLiteralTypeNode(node); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return getTypeFromTypeReference(node); - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return booleanType; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return getTypeFromTypeReference(node); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return getTypeFromTypeQueryNode(node); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return getTypeFromArrayTypeNode(node); - case 167 /* TupleType */: + case 168 /* TupleType */: return getTypeFromTupleTypeNode(node); - case 168 /* UnionType */: + case 169 /* UnionType */: return getTypeFromUnionTypeNode(node); - case 169 /* IntersectionType */: + case 170 /* IntersectionType */: return getTypeFromIntersectionTypeNode(node); - case 280 /* JSDocNullableType */: + case 281 /* JSDocNullableType */: return getTypeFromJSDocNullableTypeNode(node); - case 282 /* JSDocOptionalType */: + case 283 /* JSDocOptionalType */: return addOptionality(getTypeFromTypeNode(node.type)); - case 172 /* ParenthesizedType */: - case 281 /* JSDocNonNullableType */: - case 277 /* JSDocTypeExpression */: + case 173 /* ParenthesizedType */: + case 282 /* JSDocNonNullableType */: + case 278 /* JSDocTypeExpression */: return getTypeFromTypeNode(node.type); - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: return getTypeFromJSDocVariadicType(node); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 165 /* TypeLiteral */: - case 286 /* JSDocTypeLiteral */: - case 283 /* JSDocFunctionType */: - case 287 /* JSDocSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 166 /* TypeLiteral */: + case 287 /* JSDocTypeLiteral */: + case 284 /* JSDocFunctionType */: + case 288 /* JSDocSignature */: return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node); - case 174 /* TypeOperator */: + case 175 /* TypeOperator */: return getTypeFromTypeOperatorNode(node); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return getTypeFromIndexedAccessTypeNode(node); - case 176 /* MappedType */: + case 177 /* MappedType */: return getTypeFromMappedTypeNode(node); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return getTypeFromConditionalTypeNode(node); - case 171 /* InferType */: + case 172 /* InferType */: return getTypeFromInferTypeNode(node); - case 178 /* ImportType */: + case 179 /* ImportType */: return getTypeFromImportTypeNode(node); // This function assumes that an identifier or qualified name is a type expression // Callers should first ensure this by calling isTypeNode case 71 /* Identifier */: - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: var symbol = getSymbolAtLocation(node); - return symbol && getDeclaredTypeOfSymbol(symbol); + return (symbol && getDeclaredTypeOfSymbol(symbol)); // TODO: GH#18217 default: - return unknownType; + return errorType; } } function instantiateList(items, mapper, instantiator) { @@ -35217,10 +35385,10 @@ var ts; return function (t) { return t === source ? target : baseMapper(t); }; } function wildcardMapper(type) { - return type.flags & 32768 /* TypeParameter */ ? wildcardType : type; + return type.flags & 65536 /* TypeParameter */ ? wildcardType : type; } function cloneTypeParameter(typeParameter) { - var result = createType(32768 /* TypeParameter */); + var result = createType(65536 /* TypeParameter */); result.symbol = typeParameter.symbol; result.target = typeParameter; return result; @@ -35266,7 +35434,7 @@ var ts; } function instantiateSymbol(symbol, mapper) { var links = getSymbolLinks(symbol); - if (links.type && !maybeTypeOfKind(links.type, 65536 /* Object */ | 7897088 /* Instantiable */)) { + if (links.type && !maybeTypeOfKind(links.type, 131072 /* Object */ | 15794176 /* Instantiable */)) { // If the type of the symbol is already resolved, and if that type could not possibly // be affected by instantiation, simply return the symbol itself. return symbol; @@ -35351,8 +35519,8 @@ var ts; return type; } function maybeTypeParameterReference(node) { - return !(node.kind === 145 /* QualifiedName */ || - node.parent.kind === 161 /* TypeReference */ && node.parent.typeArguments && node === node.parent.typeName); + return !(node.kind === 146 /* QualifiedName */ || + node.parent.kind === 162 /* TypeReference */ && node.parent.typeArguments && node === node.parent.typeName); } function isTypeParameterPossiblyReferenced(tp, node) { // If the type parameter doesn't have exactly one declaration, if there are invening statement blocks @@ -35360,22 +35528,22 @@ var ts; // type parameter, or if the node contains type queries, we consider the type parameter possibly referenced. if (tp.symbol && tp.symbol.declarations && tp.symbol.declarations.length === 1) { var container_3 = tp.symbol.declarations[0].parent; - if (ts.findAncestor(node, function (n) { return n.kind === 212 /* Block */ ? "quit" : n === container_3; })) { - return ts.forEachChild(node, containsReference); + if (ts.findAncestor(node, function (n) { return n.kind === 213 /* Block */ ? "quit" : n === container_3; })) { + return !!ts.forEachChild(node, containsReference); } } return true; function containsReference(node) { switch (node.kind) { - case 173 /* ThisType */: - return tp.isThisType; + case 174 /* ThisType */: + return !!tp.isThisType; case 71 /* Identifier */: return !tp.isThisType && ts.isPartOfTypeNode(node) && maybeTypeParameterReference(node) && getTypeFromTypeNode(node) === tp; - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return true; } - return ts.forEachChild(node, containsReference); + return !!ts.forEachChild(node, containsReference); } } function instantiateMappedType(type, mapper) { @@ -35385,9 +35553,9 @@ var ts; // homomorphic mapped types we leave primitive types alone. For example, when T is instantiated to a // union type A | undefined, we produce { [P in keyof A]: X } | undefined. var constraintType = getConstraintTypeFromMappedType(type); - if (constraintType.flags & 524288 /* Index */) { + if (constraintType.flags & 1048576 /* Index */) { var typeVariable_1 = constraintType.type; - if (typeVariable_1.flags & 32768 /* TypeParameter */) { + if (typeVariable_1.flags & 65536 /* TypeParameter */) { var mappedTypeVariable = instantiateType(typeVariable_1, mapper); if (typeVariable_1 !== mappedTypeVariable) { return mapType(mappedTypeVariable, function (t) { @@ -35402,7 +35570,7 @@ var ts; return instantiateAnonymousType(type, mapper); } function isMappableType(type) { - return type.flags & (1 /* Any */ | 7372800 /* InstantiableNonPrimitive */ | 65536 /* Object */ | 262144 /* Intersection */); + return type.flags & (3 /* AnyOrUnknown */ | 14745600 /* InstantiableNonPrimitive */ | 131072 /* Object */ | 524288 /* Intersection */); } function instantiateAnonymousType(type, mapper) { var result = createObjectType(type.objectFlags | 64 /* Instantiated */, type.symbol); @@ -35440,7 +35608,7 @@ var ts; if (root.isDistributive) { var checkType_1 = root.checkType; var instantiatedType = mapper(checkType_1); - if (checkType_1 !== instantiatedType && instantiatedType.flags & (131072 /* Union */ | 16384 /* Never */)) { + if (checkType_1 !== instantiatedType && instantiatedType.flags & (262144 /* Union */ | 32768 /* Never */)) { return mapType(instantiatedType, function (t) { return getConditionalType(root, createReplacementMapper(checkType_1, t, mapper)); }); } } @@ -35448,10 +35616,10 @@ var ts; } function instantiateType(type, mapper) { if (type && mapper && mapper !== identityMapper) { - if (type.flags & 32768 /* TypeParameter */) { + if (type.flags & 65536 /* TypeParameter */) { return mapper(type); } - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { if (type.objectFlags & 16 /* Anonymous */) { // If the anonymous type originates in a declaration of a function, method, class, or // interface, in an object type literal, or in an object literal expression, we may need @@ -35468,33 +35636,33 @@ var ts; return newTypeArguments !== typeArguments ? createTypeReference(type.target, newTypeArguments) : type; } } - if (type.flags & 131072 /* Union */ && !(type.flags & 16382 /* Primitive */)) { + if (type.flags & 262144 /* Union */ && !(type.flags & 32764 /* Primitive */)) { var types = type.types; var newTypes = instantiateTypes(types, mapper); return newTypes !== types ? getUnionType(newTypes, 1 /* Literal */, type.aliasSymbol, instantiateTypes(type.aliasTypeArguments, mapper)) : type; } - if (type.flags & 262144 /* Intersection */) { + if (type.flags & 524288 /* Intersection */) { var types = type.types; var newTypes = instantiateTypes(types, mapper); return newTypes !== types ? getIntersectionType(newTypes, type.aliasSymbol, instantiateTypes(type.aliasTypeArguments, mapper)) : type; } - if (type.flags & 524288 /* Index */) { + if (type.flags & 1048576 /* Index */) { return getIndexType(instantiateType(type.type, mapper)); } - if (type.flags & 1048576 /* IndexedAccess */) { + if (type.flags & 2097152 /* IndexedAccess */) { return getIndexedAccessType(instantiateType(type.objectType, mapper), instantiateType(type.indexType, mapper)); } - if (type.flags & 2097152 /* Conditional */) { + if (type.flags & 4194304 /* Conditional */) { return getConditionalTypeInstantiation(type, combineTypeMappers(type.mapper, mapper)); } - if (type.flags & 4194304 /* Substitution */) { + if (type.flags & 8388608 /* Substitution */) { return instantiateType(type.typeVariable, mapper); } } return type; } function getWildcardInstantiation(type) { - return type.flags & (16382 /* Primitive */ | 1 /* Any */ | 16384 /* Never */) ? type : + return type.flags & (32764 /* Primitive */ | 3 /* AnyOrUnknown */ | 32768 /* Never */) ? type : type.wildcardInstantiation || (type.wildcardInstantiation = instantiateType(type, wildcardMapper)); } function instantiateIndexInfo(info, mapper) { @@ -35503,34 +35671,38 @@ var ts; // Returns true if the given expression contains (at any level of nesting) a function or arrow expression // that is subject to contextual typing. function isContextSensitive(node) { - ts.Debug.assert(node.kind !== 153 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); switch (node.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: return isContextSensitiveFunctionLikeDeclaration(node); - case 183 /* ObjectLiteralExpression */: - return ts.forEach(node.properties, isContextSensitive); - case 182 /* ArrayLiteralExpression */: - return ts.forEach(node.elements, isContextSensitive); - case 200 /* ConditionalExpression */: + case 184 /* ObjectLiteralExpression */: + return ts.some(node.properties, isContextSensitive); + case 183 /* ArrayLiteralExpression */: + return ts.some(node.elements, isContextSensitive); + case 201 /* ConditionalExpression */: return isContextSensitive(node.whenTrue) || isContextSensitive(node.whenFalse); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return node.operatorToken.kind === 54 /* BarBarToken */ && (isContextSensitive(node.left) || isContextSensitive(node.right)); - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return isContextSensitive(node.initializer); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return isContextSensitive(node.expression); - case 262 /* JsxAttributes */: - return ts.forEach(node.properties, isContextSensitive); - case 261 /* JsxAttribute */: + case 263 /* JsxAttributes */: + return ts.some(node.properties, isContextSensitive); + case 262 /* JsxAttribute */: { // If there is no initializer, JSX attribute has a boolean value of true which is not context sensitive. - return node.initializer && isContextSensitive(node.initializer); - case 264 /* JsxExpression */: + var initializer = node.initializer; + return !!initializer && isContextSensitive(initializer); + } + case 265 /* JsxExpression */: { // It is possible to that node.expression is undefined (e.g
) - return node.expression && isContextSensitive(node.expression); + var expression = node.expression; + return !!expression && isContextSensitive(expression); + } } return false; } @@ -35540,10 +35712,10 @@ var ts; return false; } // Functions with any parameters that lack type annotations are context sensitive. - if (ts.forEach(node.parameters, function (p) { return !ts.getEffectiveTypeAnnotationNode(p); })) { + if (ts.some(node.parameters, function (p) { return !ts.getEffectiveTypeAnnotationNode(p); })) { return true; } - if (node.kind !== 192 /* ArrowFunction */) { + if (node.kind !== 193 /* ArrowFunction */) { // If the first parameter is not an explicit 'this' parameter, then the function has // an implicit 'this' parameter which is subject to contextual typing. var parameter = ts.firstOrUndefined(node.parameters); @@ -35552,14 +35724,15 @@ var ts; } } // TODO(anhans): A block should be context-sensitive if it has a context-sensitive return value. - return node.body.kind === 212 /* Block */ ? false : isContextSensitive(node.body); + var body = node.body; + return body.kind === 213 /* Block */ ? false : isContextSensitive(body); } function isContextSensitiveFunctionOrObjectLiteralMethod(func) { return (ts.isInJavaScriptFile(func) && ts.isFunctionDeclaration(func) || isFunctionExpressionOrArrowFunction(func) || ts.isObjectLiteralMethod(func)) && isContextSensitiveFunctionLikeDeclaration(func); } function getTypeWithoutSignatures(type) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); if (resolved.constructSignatures.length) { var result = createObjectType(16 /* Anonymous */, type.symbol); @@ -35570,7 +35743,7 @@ var ts; return result; } } - else if (type.flags & 262144 /* Intersection */) { + else if (type.flags & 524288 /* Intersection */) { return getIntersectionType(ts.map(type.types, getTypeWithoutSignatures)); } return type; @@ -35600,9 +35773,9 @@ var ts; // Note that this check ignores type parameters and only considers the // inheritance hierarchy. function isTypeDerivedFrom(source, target) { - return source.flags & 131072 /* Union */ ? ts.every(source.types, function (t) { return isTypeDerivedFrom(t, target); }) : - target.flags & 131072 /* Union */ ? ts.some(target.types, function (t) { return isTypeDerivedFrom(source, t); }) : - source.flags & 7372800 /* InstantiableNonPrimitive */ ? isTypeDerivedFrom(getBaseConstraintOfType(source) || emptyObjectType, target) : + return source.flags & 262144 /* Union */ ? ts.every(source.types, function (t) { return isTypeDerivedFrom(t, target); }) : + target.flags & 262144 /* Union */ ? ts.some(target.types, function (t) { return isTypeDerivedFrom(source, t); }) : + source.flags & 14745600 /* InstantiableNonPrimitive */ ? isTypeDerivedFrom(getBaseConstraintOfType(source) || emptyObjectType, target) : target === globalObjectType || target === globalFunctionType ? isTypeSubtypeOf(source, target) : hasBaseType(source, getTargetType(target)); } @@ -35652,8 +35825,8 @@ var ts; source = instantiateSignatureInContextOf(source, target, /*contextualMapper*/ undefined, compareTypes); } var kind = target.declaration ? target.declaration.kind : 0 /* Unknown */; - var strictVariance = !callbackCheck && strictFunctionTypes && kind !== 153 /* MethodDeclaration */ && - kind !== 152 /* MethodSignature */ && kind !== 154 /* Constructor */; + var strictVariance = !callbackCheck && strictFunctionTypes && kind !== 154 /* MethodDeclaration */ && + kind !== 153 /* MethodSignature */ && kind !== 155 /* Constructor */; var result = -1 /* True */; var sourceThisType = getThisTypeOfSignature(source); if (sourceThisType && sourceThisType !== voidType) { @@ -35690,8 +35863,9 @@ var ts; var sourceSig = callbackCheck ? undefined : getSingleCallSignature(getNonNullableType(sourceType)); var targetSig = callbackCheck ? undefined : getSingleCallSignature(getNonNullableType(targetType)); var callbacks = sourceSig && targetSig && !signatureHasTypePredicate(sourceSig) && !signatureHasTypePredicate(targetSig) && - (getFalsyFlags(sourceType) & 12288 /* Nullable */) === (getFalsyFlags(targetType) & 12288 /* Nullable */); + (getFalsyFlags(sourceType) & 24576 /* Nullable */) === (getFalsyFlags(targetType) & 24576 /* Nullable */); var related = callbacks ? + // TODO: GH#18217 It will work if they're both `undefined`, but not if only one is compareSignaturesRelated(targetSig, sourceSig, strictVariance ? 2 /* Strict */ : 1 /* Bivariant */, /*ignoreReturnTypes*/ false, reportErrors, errorReporter, compareTypes) : !callbackCheck && !strictVariance && compareTypes(sourceType, targetType, /*reportErrors*/ false) || compareTypes(targetType, sourceType, reportErrors); if (!related) { @@ -35713,7 +35887,7 @@ var ts; if (targetTypePredicate) { var sourceTypePredicate = getTypePredicateOfSignature(source); if (sourceTypePredicate) { - result &= compareTypePredicateRelatedTo(sourceTypePredicate, targetTypePredicate, source.declaration, target.declaration, reportErrors, errorReporter, compareTypes); + result &= compareTypePredicateRelatedTo(sourceTypePredicate, targetTypePredicate, source.declaration, target.declaration, reportErrors, errorReporter, compareTypes); // TODO: GH#18217 } else if (ts.isIdentifierTypePredicate(targetTypePredicate)) { if (reportErrors) { @@ -35803,10 +35977,10 @@ var ts; !t.numberIndexInfo; } function isEmptyObjectType(type) { - return type.flags & 65536 /* Object */ ? isEmptyResolvedType(resolveStructuredTypeMembers(type)) : - type.flags & 134217728 /* NonPrimitive */ ? true : - type.flags & 131072 /* Union */ ? ts.forEach(type.types, isEmptyObjectType) : - type.flags & 262144 /* Intersection */ ? !ts.forEach(type.types, function (t) { return !isEmptyObjectType(t); }) : + return type.flags & 131072 /* Object */ ? isEmptyResolvedType(resolveStructuredTypeMembers(type)) : + type.flags & 16777216 /* NonPrimitive */ ? true : + type.flags & 262144 /* Union */ ? ts.some(type.types, isEmptyObjectType) : + type.flags & 524288 /* Intersection */ ? !ts.some(type.types, function (t) { return !isEmptyObjectType(t); }) : false; } function isEnumTypeRelatedTo(sourceSymbol, targetSymbol, errorReporter) { @@ -35842,43 +36016,43 @@ var ts; function isSimpleTypeRelatedTo(source, target, relation, errorReporter) { var s = source.flags; var t = target.flags; - if (t & 1 /* Any */ || s & 16384 /* Never */ || source === wildcardType) + if (t & 3 /* AnyOrUnknown */ || s & 32768 /* Never */ || source === wildcardType) return true; - if (t & 16384 /* Never */) + if (t & 32768 /* Never */) return false; - if (s & 34 /* StringLike */ && t & 2 /* String */) + if (s & 68 /* StringLike */ && t & 4 /* String */) return true; - if (s & 32 /* StringLiteral */ && s & 256 /* EnumLiteral */ && - t & 32 /* StringLiteral */ && !(t & 256 /* EnumLiteral */) && + if (s & 64 /* StringLiteral */ && s & 512 /* EnumLiteral */ && + t & 64 /* StringLiteral */ && !(t & 512 /* EnumLiteral */) && source.value === target.value) return true; - if (s & 84 /* NumberLike */ && t & 4 /* Number */) + if (s & 168 /* NumberLike */ && t & 8 /* Number */) return true; - if (s & 64 /* NumberLiteral */ && s & 256 /* EnumLiteral */ && - t & 64 /* NumberLiteral */ && !(t & 256 /* EnumLiteral */) && + if (s & 128 /* NumberLiteral */ && s & 512 /* EnumLiteral */ && + t & 128 /* NumberLiteral */ && !(t & 512 /* EnumLiteral */) && source.value === target.value) return true; - if (s & 136 /* BooleanLike */ && t & 8 /* Boolean */) + if (s & 272 /* BooleanLike */ && t & 16 /* Boolean */) return true; - if (s & 1536 /* ESSymbolLike */ && t & 512 /* ESSymbol */) + if (s & 3072 /* ESSymbolLike */ && t & 1024 /* ESSymbol */) return true; - if (s & 16 /* Enum */ && t & 16 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 32 /* Enum */ && t & 32 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; - if (s & 256 /* EnumLiteral */ && t & 256 /* EnumLiteral */) { - if (s & 131072 /* Union */ && t & 131072 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 512 /* EnumLiteral */ && t & 512 /* EnumLiteral */) { + if (s & 262144 /* Union */ && t & 262144 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; - if (s & 224 /* Literal */ && t & 224 /* Literal */ && + if (s & 448 /* Literal */ && t & 448 /* Literal */ && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) return true; } - if (s & 4096 /* Undefined */ && (!strictNullChecks || t & (4096 /* Undefined */ | 2048 /* Void */))) + if (s & 8192 /* Undefined */ && (!strictNullChecks || t & (8192 /* Undefined */ | 4096 /* Void */))) return true; - if (s & 8192 /* Null */ && (!strictNullChecks || t & 8192 /* Null */)) + if (s & 16384 /* Null */ && (!strictNullChecks || t & 16384 /* Null */)) return true; - if (s & 65536 /* Object */ && t & 134217728 /* NonPrimitive */) + if (s & 131072 /* Object */ && t & 16777216 /* NonPrimitive */) return true; - if (s & 1024 /* UniqueESSymbol */ || t & 1024 /* UniqueESSymbol */) + if (s & 2048 /* UniqueESSymbol */ || t & 2048 /* UniqueESSymbol */) return false; if (relation === assignableRelation || relation === definitelyAssignableRelation || relation === comparableRelation) { if (s & 1 /* Any */) @@ -35886,30 +36060,30 @@ var ts; // Type number or any numeric literal type is assignable to any numeric enum type or any // numeric enum literal type. This rule exists for backwards compatibility reasons because // bit-flag enum types sometimes look like literal enum types with numeric literal values. - if (s & (4 /* Number */ | 64 /* NumberLiteral */) && !(s & 256 /* EnumLiteral */) && (t & 16 /* Enum */ || t & 64 /* NumberLiteral */ && t & 256 /* EnumLiteral */)) + if (s & (8 /* Number */ | 128 /* NumberLiteral */) && !(s & 512 /* EnumLiteral */) && (t & 32 /* Enum */ || t & 128 /* NumberLiteral */ && t & 512 /* EnumLiteral */)) return true; } return false; } function isTypeRelatedTo(source, target, relation) { - if (source.flags & 96 /* StringOrNumberLiteral */ && source.flags & 8388608 /* FreshLiteral */) { + if (source.flags & 192 /* StringOrNumberLiteral */ && source.flags & 33554432 /* FreshLiteral */) { source = source.regularType; } - if (target.flags & 96 /* StringOrNumberLiteral */ && target.flags & 8388608 /* FreshLiteral */) { + if (target.flags & 192 /* StringOrNumberLiteral */ && target.flags & 33554432 /* FreshLiteral */) { target = target.regularType; } if (source === target || - relation === comparableRelation && !(target.flags & 16384 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || + relation === comparableRelation && !(target.flags & 32768 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || relation !== identityRelation && isSimpleTypeRelatedTo(source, target, relation)) { return true; } - if (source.flags & 65536 /* Object */ && target.flags & 65536 /* Object */) { + if (source.flags & 131072 /* Object */ && target.flags & 131072 /* Object */) { var related = relation.get(getRelationKey(source, target, relation)); if (related !== undefined) { return related === 1 /* Succeeded */; } } - if (source.flags & 8355840 /* StructuredOrInstantiable */ || target.flags & 8355840 /* StructuredOrInstantiable */) { + if (source.flags & 16711680 /* StructuredOrInstantiable */ || target.flags & 16711680 /* StructuredOrInstantiable */) { return checkTypeRelatedTo(source, target, relation, /*errorNode*/ undefined); } return false; @@ -35949,7 +36123,7 @@ var ts; errorInfo = ts.concatenateDiagnosticMessageChains(chain_1, errorInfo); } } - diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(errorNode, errorInfo)); + diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(errorNode, errorInfo)); // TODO: GH#18217 } // Check if we should issue an extra diagnostic to produce a quickfix for a slightly incorrect import statement if (headMessage && errorNode && !result && source.symbol) { @@ -35998,7 +36172,7 @@ var ts; } } function isUnionOrIntersectionTypeWithoutNullableConstituents(type) { - if (!(type.flags & 393216 /* UnionOrIntersection */)) { + if (!(type.flags & 786432 /* UnionOrIntersection */)) { return false; } // at this point we know that this is union or intersection type possibly with nullable constituents. @@ -36006,7 +36180,7 @@ var ts; var seenNonNullable = false; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 12288 /* Nullable */) { + if (t.flags & 24576 /* Nullable */) { continue; } if (seenNonNullable) { @@ -36023,22 +36197,23 @@ var ts; * * Ternary.False if they are not related. */ function isRelatedTo(source, target, reportErrors, headMessage) { - if (source.flags & 96 /* StringOrNumberLiteral */ && source.flags & 8388608 /* FreshLiteral */) { + if (reportErrors === void 0) { reportErrors = false; } + if (source.flags & 192 /* StringOrNumberLiteral */ && source.flags & 33554432 /* FreshLiteral */) { source = source.regularType; } - if (target.flags & 96 /* StringOrNumberLiteral */ && target.flags & 8388608 /* FreshLiteral */) { + if (target.flags & 192 /* StringOrNumberLiteral */ && target.flags & 33554432 /* FreshLiteral */) { target = target.regularType; } - if (source.flags & 4194304 /* Substitution */) { + if (source.flags & 8388608 /* Substitution */) { source = relation === definitelyAssignableRelation ? source.typeVariable : source.substitute; } - if (target.flags & 4194304 /* Substitution */) { + if (target.flags & 8388608 /* Substitution */) { target = target.typeVariable; } - if (source.flags & 1048576 /* IndexedAccess */) { + if (source.flags & 2097152 /* IndexedAccess */) { source = getSimplifiedType(source); } - if (target.flags & 1048576 /* IndexedAccess */) { + if (target.flags & 2097152 /* IndexedAccess */) { target = getSimplifiedType(target); } // both types are the same - covers 'they are the same primitive type or both are Any' or the same type parameter cases @@ -36047,11 +36222,11 @@ var ts; if (relation === identityRelation) { return isIdenticalTo(source, target); } - if (relation === comparableRelation && !(target.flags & 16384 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || + if (relation === comparableRelation && !(target.flags & 32768 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || isSimpleTypeRelatedTo(source, target, relation, reportErrors ? reportError : undefined)) return -1 /* True */; - if (isObjectLiteralType(source) && source.flags & 8388608 /* FreshLiteral */) { - var discriminantType = target.flags & 131072 /* Union */ ? findMatchingDiscriminantType(source, target) : undefined; + if (isObjectLiteralType(source) && source.flags & 33554432 /* FreshLiteral */) { + var discriminantType = target.flags & 262144 /* Union */ ? findMatchingDiscriminantType(source, target) : undefined; if (hasExcessProperties(source, target, discriminantType, reportErrors)) { if (reportErrors) { reportRelationError(headMessage, source, target); @@ -36067,8 +36242,8 @@ var ts; } } if (relation !== comparableRelation && - !(source.flags & 393216 /* UnionOrIntersection */) && - !(target.flags & 131072 /* Union */) && + !(source.flags & 786432 /* UnionOrIntersection */) && + !(target.flags & 262144 /* Union */) && !isIntersectionConstituent && source !== globalObjectType && (getPropertiesOfType(source).length > 0 || typeHasCallOrConstructSignatures(source)) && @@ -36094,20 +36269,20 @@ var ts; // Note that these checks are specifically ordered to produce correct results. In particular, // we need to deconstruct unions before intersections (because unions are always at the top), // and we need to handle "each" relations before "some" relations for the same kind of type. - if (source.flags & 131072 /* Union */) { + if (source.flags & 262144 /* Union */) { result = relation === comparableRelation ? - someTypeRelatedToType(source, target, reportErrors && !(source.flags & 16382 /* Primitive */)) : - eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 16382 /* Primitive */)); + someTypeRelatedToType(source, target, reportErrors && !(source.flags & 32764 /* Primitive */)) : + eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 32764 /* Primitive */)); } else { - if (target.flags & 131072 /* Union */) { - result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & 16382 /* Primitive */) && !(target.flags & 16382 /* Primitive */)); + if (target.flags & 262144 /* Union */) { + result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & 32764 /* Primitive */) && !(target.flags & 32764 /* Primitive */)); } - else if (target.flags & 262144 /* Intersection */) { + else if (target.flags & 524288 /* Intersection */) { isIntersectionConstituent = true; result = typeRelatedToEachType(source, target, reportErrors); } - else if (source.flags & 262144 /* Intersection */) { + else if (source.flags & 524288 /* Intersection */) { // Check to see if any constituents of the intersection are immediately related to the target. // // Don't report errors though. Checking whether a constituent is related to the source is not actually @@ -36123,13 +36298,13 @@ var ts; // breaking the intersection apart. result = someTypeRelatedToType(source, target, /*reportErrors*/ false); } - if (!result && (source.flags & 8355840 /* StructuredOrInstantiable */ || target.flags & 8355840 /* StructuredOrInstantiable */)) { + if (!result && (source.flags & 16711680 /* StructuredOrInstantiable */ || target.flags & 16711680 /* StructuredOrInstantiable */)) { if (result = recursiveTypeRelatedTo(source, target, reportErrors)) { errorInfo = saveErrorInfo; } } } - if (!result && source.flags & 262144 /* Intersection */) { + if (!result && source.flags & 524288 /* Intersection */) { // The combined constraint of an intersection type is the intersection of the constraints of // the constituents. When an intersection type contains instantiable types with union type // constraints, there are situations where we need to examine the combined constraint. One is @@ -36139,7 +36314,7 @@ var ts; // we need to check this constraint against a union on the target side. Also, given a type // variable V constrained to 'string | number', 'V & number' has a combined constraint of // 'string & number | number & number' which reduces to just 'number'. - var constraint = getUnionConstraintOfIntersection(source, !!(target.flags & 131072 /* Union */)); + var constraint = getUnionConstraintOfIntersection(source, !!(target.flags & 262144 /* Union */)); if (constraint) { if (result = isRelatedTo(constraint, target, reportErrors)) { errorInfo = saveErrorInfo; @@ -36148,12 +36323,22 @@ var ts; } isIntersectionConstituent = saveIsIntersectionConstituent; if (!result && reportErrors) { - if (source.flags & 65536 /* Object */ && target.flags & 16382 /* Primitive */) { + if (source.flags & 131072 /* Object */ && target.flags & 32764 /* Primitive */) { tryElaborateErrorsForPrimitivesAndObjects(source, target); } - else if (source.symbol && source.flags & 65536 /* Object */ && globalObjectType === source) { + else if (source.symbol && source.flags & 131072 /* Object */ && globalObjectType === source) { reportError(ts.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead); } + else if (ts.getObjectFlags(source) & 4096 /* JsxAttributes */ && target.flags & 524288 /* Intersection */) { + var targetTypes = target.types; + var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, errorNode); + var intrinsicClassAttributes = getJsxType(JsxNames.IntrinsicClassAttributes, errorNode); + if (intrinsicAttributes !== errorType && intrinsicClassAttributes !== errorType && + (ts.contains(targetTypes, intrinsicAttributes) || ts.contains(targetTypes, intrinsicClassAttributes))) { + // do not report top error + return result; + } + } reportRelationError(headMessage, source, target); } return result; @@ -36161,27 +36346,27 @@ var ts; function isIdenticalTo(source, target) { var result; var flags = source.flags & target.flags; - if (flags & 65536 /* Object */) { + if (flags & 131072 /* Object */) { return recursiveTypeRelatedTo(source, target, /*reportErrors*/ false); } - if (flags & (131072 /* Union */ | 262144 /* Intersection */)) { + if (flags & (262144 /* Union */ | 524288 /* Intersection */)) { if (result = eachTypeRelatedToSomeType(source, target)) { if (result &= eachTypeRelatedToSomeType(target, source)) { return result; } } } - if (flags & 524288 /* Index */) { + if (flags & 1048576 /* Index */) { return isRelatedTo(source.type, target.type, /*reportErrors*/ false); } - if (flags & 1048576 /* IndexedAccess */) { + if (flags & 2097152 /* IndexedAccess */) { if (result = isRelatedTo(source.objectType, target.objectType, /*reportErrors*/ false)) { if (result &= isRelatedTo(source.indexType, target.indexType, /*reportErrors*/ false)) { return result; } } } - if (flags & 2097152 /* Conditional */) { + if (flags & 4194304 /* Conditional */) { if (source.root.isDistributive === target.root.isDistributive) { if (result = isRelatedTo(source.checkType, target.checkType, /*reportErrors*/ false)) { if (result &= isRelatedTo(source.extendsType, target.extendsType, /*reportErrors*/ false)) { @@ -36194,13 +36379,13 @@ var ts; } } } - if (flags & 4194304 /* Substitution */) { + if (flags & 8388608 /* Substitution */) { return isRelatedTo(source.substitute, target.substitute, /*reportErrors*/ false); } return 0 /* False */; } function hasExcessProperties(source, target, discriminant, reportErrors) { - if (maybeTypeOfKind(target, 65536 /* Object */) && !(ts.getObjectFlags(target) & 512 /* ObjectLiteralPatternWithComputedProperties */)) { + if (maybeTypeOfKind(target, 131072 /* Object */) && !(ts.getObjectFlags(target) & 512 /* ObjectLiteralPatternWithComputedProperties */)) { var isComparingJsxAttributes = !!(ts.getObjectFlags(source) & 4096 /* JsxAttributes */); if ((relation === assignableRelation || relation === definitelyAssignableRelation || relation === comparableRelation) && (isTypeSubsetOf(globalObjectType, target) || (!isComparingJsxAttributes && isEmptyObjectType(target)))) { @@ -36216,7 +36401,8 @@ var ts; // We know *exactly* where things went wrong when comparing the types. // Use this property as the error node as this will be more helpful in // reasoning about what went wrong. - ts.Debug.assert(!!errorNode); + if (!errorNode) + return { value: ts.Debug.fail() }; if (ts.isJsxAttributes(errorNode) || ts.isJsxOpeningLikeElement(errorNode)) { // JsxAttributes has an object-literal flag and undergo same type-assignablity check as normal object-literal. // However, using an object-literal error message will be very confusing to the users so we give different a message. @@ -36230,8 +36416,9 @@ var ts; var propDeclaration = prop.valueDeclaration; ts.Debug.assertNode(propDeclaration, ts.isObjectLiteralElementLike); errorNode = propDeclaration; - if (ts.isIdentifier(propDeclaration.name)) { - suggestion = getSuggestionForNonexistentProperty(propDeclaration.name, target); + var name = propDeclaration.name; + if (ts.isIdentifier(name)) { + suggestion = getSuggestionForNonexistentProperty(name, target); } } if (suggestion !== undefined) { @@ -36269,7 +36456,7 @@ var ts; } function typeRelatedToSomeType(source, target, reportErrors) { var targetTypes = target.types; - if (target.flags & 131072 /* Union */ && containsType(targetTypes, source)) { + if (target.flags & 262144 /* Union */ && containsType(targetTypes, source)) { return -1 /* True */; } for (var _i = 0, targetTypes_1 = targetTypes; _i < targetTypes_1.length; _i++) { @@ -36327,7 +36514,7 @@ var ts; } function someTypeRelatedToType(source, target, reportErrors) { var sourceTypes = source.types; - if (source.flags & 131072 /* Union */ && containsType(sourceTypes, target)) { + if (source.flags & 262144 /* Union */ && containsType(sourceTypes, target)) { return -1 /* True */; } var len = sourceTypes.length; @@ -36479,7 +36666,7 @@ var ts; var result; var originalErrorInfo; var saveErrorInfo = errorInfo; - if (target.flags & 32768 /* TypeParameter */) { + if (target.flags & 65536 /* TypeParameter */) { // A source type { [P in keyof T]: X } is related to a target type T if X is related to T[P]. if (ts.getObjectFlags(source) & 32 /* Mapped */ && getConstraintTypeFromMappedType(source) === getIndexType(target)) { if (!(getMappedTypeModifiers(source) & 4 /* IncludeOptional */)) { @@ -36491,9 +36678,9 @@ var ts; } } } - else if (target.flags & 524288 /* Index */) { + else if (target.flags & 1048576 /* Index */) { // A keyof S is related to a keyof T if T is related to S. - if (source.flags & 524288 /* Index */) { + if (source.flags & 1048576 /* Index */) { if (result = isRelatedTo(target.type, source.type, /*reportErrors*/ false)) { return result; } @@ -36510,7 +36697,7 @@ var ts; } } } - else if (target.flags & 1048576 /* IndexedAccess */) { + else if (target.flags & 2097152 /* IndexedAccess */) { // A type S is related to a type T[K] if S is related to C, where C is the // constraint of T[K] var constraint = getConstraintForRelation(target); @@ -36526,7 +36713,7 @@ var ts; var template = getTemplateTypeFromMappedType(target); var modifiers = getMappedTypeModifiers(target); if (!(modifiers & 8 /* ExcludeOptional */)) { - if (template.flags & 1048576 /* IndexedAccess */ && template.objectType === source && + if (template.flags & 2097152 /* IndexedAccess */ && template.objectType === source && template.indexType === getTypeParameterFromMappedType(target)) { return -1 /* True */; } @@ -36541,8 +36728,8 @@ var ts; } } } - if (source.flags & 1081344 /* TypeVariable */) { - if (source.flags & 1048576 /* IndexedAccess */ && target.flags & 1048576 /* IndexedAccess */) { + if (source.flags & 2162688 /* TypeVariable */) { + if (source.flags & 2097152 /* IndexedAccess */ && target.flags & 2097152 /* IndexedAccess */) { // A type S[K] is related to a type T[J] if S is related to T and K is related to J. if (result = isRelatedTo(source.objectType, target.objectType, reportErrors)) { result &= isRelatedTo(source.indexType, target.indexType, reportErrors); @@ -36553,9 +36740,9 @@ var ts; } } var constraint = getConstraintForRelation(source); - if (!constraint || (source.flags & 32768 /* TypeParameter */ && constraint.flags & 1 /* Any */)) { + if (!constraint || (source.flags & 65536 /* TypeParameter */ && constraint.flags & 3 /* AnyOrUnknown */)) { // A type variable with no constraint is not related to the non-primitive object type. - if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~134217728 /* NonPrimitive */))) { + if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~16777216 /* NonPrimitive */))) { errorInfo = saveErrorInfo; return result; } @@ -36568,14 +36755,14 @@ var ts; } } } - else if (source.flags & 524288 /* Index */) { + else if (source.flags & 1048576 /* Index */) { if (result = isRelatedTo(keyofConstraintType, target, reportErrors)) { errorInfo = saveErrorInfo; return result; } } - else if (source.flags & 2097152 /* Conditional */) { - if (target.flags & 2097152 /* Conditional */) { + else if (source.flags & 4194304 /* Conditional */) { + if (target.flags & 4194304 /* Conditional */) { // Two conditional types 'T1 extends U1 ? X1 : Y1' and 'T2 extends U2 ? X2 : Y2' are related if // one of T1 and T2 is related to the other, U1 and U2 are identical types, X1 is related to X2, // and Y1 is related to Y2. @@ -36643,14 +36830,14 @@ var ts; } // Even if relationship doesn't hold for unions, intersections, or generic type references, // it may hold in a structural comparison. - var sourceIsPrimitive = !!(source.flags & 16382 /* Primitive */); + var sourceIsPrimitive = !!(source.flags & 32764 /* Primitive */); if (relation !== identityRelation) { source = getApparentType(source); } // In a check of the form X = A & B, we will have previously checked if A relates to X or B relates // to X. Failing both of those we want to check if the aggregation of A and B's members structurally // relates to X. Thus, we include intersection types on the source side here. - if (source.flags & (65536 /* Object */ | 262144 /* Intersection */) && target.flags & 65536 /* Object */) { + if (source.flags & (131072 /* Object */ | 524288 /* Intersection */) && target.flags & 131072 /* Object */) { // Report structural errors only if we haven't reported any errors yet var reportStructuralErrors = reportErrors && errorInfo === saveErrorInfo && !sourceIsPrimitive; // An empty object type is related to any mapped type that includes a '?' modifier. @@ -36805,14 +36992,14 @@ var ts; * and no required properties, call/construct signatures or index signatures */ function isWeakType(type) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); return resolved.callSignatures.length === 0 && resolved.constructSignatures.length === 0 && !resolved.stringIndexInfo && !resolved.numberIndexInfo && resolved.properties.length > 0 && ts.every(resolved.properties, function (p) { return !!(p.flags & 16777216 /* Optional */); }); } - if (type.flags & 262144 /* Intersection */) { + if (type.flags & 524288 /* Intersection */) { return ts.every(type.types, isWeakType); } return false; @@ -36828,7 +37015,7 @@ var ts; return false; } function propertiesIdenticalTo(source, target) { - if (!(source.flags & 65536 /* Object */ && target.flags & 65536 /* Object */)) { + if (!(source.flags & 131072 /* Object */ && target.flags & 131072 /* Object */)) { return 0 /* False */; } var sourceProperties = getPropertiesOfObjectType(source); @@ -36896,7 +37083,7 @@ var ts; // in the context of the target signature before checking the relationship. Ideally we'd do // this regardless of the number of signatures, but the potential costs are prohibitive due // to the quadratic nature of the logic below. - var eraseGenerics = relation === comparableRelation || compilerOptions.noStrictGenericChecks; + var eraseGenerics = relation === comparableRelation || !!compilerOptions.noStrictGenericChecks; result = signatureRelatedTo(sourceSignatures[0], targetSignatures[0], eraseGenerics, reportErrors); } else { @@ -36952,7 +37139,7 @@ var ts; continue; } // Skip over symbol-named members - if (prop.nameType && prop.nameType.flags & 1024 /* UniqueESSymbol */) { + if (prop.nameType && prop.nameType.flags & 2048 /* UniqueESSymbol */) { continue; } if (kind === 0 /* String */ || isNumericLiteralName(prop.escapedName)) { @@ -36980,7 +37167,7 @@ var ts; return indexTypesIdenticalTo(source, target, kind); } var targetInfo = getIndexInfoOfType(target, kind); - if (!targetInfo || targetInfo.type.flags & 1 /* Any */ && !sourceIsPrimitive) { + if (!targetInfo || targetInfo.type.flags & 3 /* AnyOrUnknown */ && !sourceIsPrimitive) { // Index signature of type any permits assignment from everything but primitives return -1 /* True */; } @@ -36992,7 +37179,7 @@ var ts; if (isGenericMappedType(source)) { // A generic mapped type { [P in K]: T } is related to an index signature { [x: string]: U } // if T is related to U. - return kind === 0 /* String */ && isRelatedTo(getTemplateTypeFromMappedType(source), targetInfo.type, reportErrors); + return (kind === 0 /* String */ && isRelatedTo(getTemplateTypeFromMappedType(source), targetInfo.type, reportErrors)); // TODO: GH#18217 } if (isObjectTypeWithInferableIndex(source)) { var related = -1 /* True */; @@ -37102,17 +37289,17 @@ var ts; // See comment at call in recursiveTypeRelatedTo for when this case matters. function hasCovariantVoidArgument(type, variances) { for (var i = 0; i < variances.length; i++) { - if (variances[i] === 1 /* Covariant */ && type.typeArguments[i].flags & 2048 /* Void */) { + if (variances[i] === 1 /* Covariant */ && type.typeArguments[i].flags & 4096 /* Void */) { return true; } } return false; } function isUnconstrainedTypeParameter(type) { - return type.flags & 32768 /* TypeParameter */ && !getConstraintFromTypeParameter(type); + return type.flags & 65536 /* TypeParameter */ && !getConstraintFromTypeParameter(type); } function isTypeReferenceWithGenericArguments(type) { - return ts.getObjectFlags(type) & 4 /* Reference */ && ts.some(type.typeArguments, function (t) { return isUnconstrainedTypeParameter(t) || isTypeReferenceWithGenericArguments(t); }); + return !!(ts.getObjectFlags(type) & 4 /* Reference */) && ts.some(type.typeArguments, function (t) { return isUnconstrainedTypeParameter(t) || isTypeReferenceWithGenericArguments(t); }); } /** * getTypeReferenceId(A) returns "111=0-12=1" @@ -37202,13 +37389,13 @@ var ts; // levels, but unequal at some level beyond that. function isDeeplyNestedType(type, stack, depth) { // We track all object types that have an associated symbol (representing the origin of the type) - if (depth >= 5 && type.flags & 65536 /* Object */) { + if (depth >= 5 && type.flags & 131072 /* Object */) { var symbol = type.symbol; if (symbol) { var count = 0; for (var i = 0; i < depth; i++) { var t = stack[i]; - if (t.flags & 65536 /* Object */ && t.symbol === symbol) { + if (t.flags & 131072 /* Object */ && t.symbol === symbol) { count++; if (count >= 5) return true; @@ -37356,9 +37543,9 @@ var ts; if (!strictNullChecks) { return getSupertypeOrUnion(types); } - var primaryTypes = ts.filter(types, function (t) { return !(t.flags & 12288 /* Nullable */); }); + var primaryTypes = ts.filter(types, function (t) { return !(t.flags & 24576 /* Nullable */); }); return primaryTypes.length ? - getNullableType(getSupertypeOrUnion(primaryTypes), getFalsyFlagsOfTypes(types) & 12288 /* Nullable */) : + getNullableType(getSupertypeOrUnion(primaryTypes), getFalsyFlagsOfTypes(types) & 24576 /* Nullable */) : getUnionType(types, 2 /* Subtype */); } // Return the leftmost type for which no type to the right is a subtype. @@ -37366,13 +37553,13 @@ var ts; return ts.reduceLeft(types, function (s, t) { return isTypeSubtypeOf(t, s) ? t : s; }); } function isArrayType(type) { - return ts.getObjectFlags(type) & 4 /* Reference */ && type.target === globalArrayType; + return !!(ts.getObjectFlags(type) & 4 /* Reference */) && type.target === globalArrayType; } function isArrayLikeType(type) { // A type is array-like if it is a reference to the global Array or global ReadonlyArray type, // or if it is not the undefined or null type and if it is assignable to ReadonlyArray return ts.getObjectFlags(type) & 4 /* Reference */ && (type.target === globalArrayType || type.target === globalReadonlyArrayType) || - !(type.flags & 12288 /* Nullable */) && isTypeAssignableTo(type, anyReadonlyArrayType); + !(type.flags & 24576 /* Nullable */) && isTypeAssignableTo(type, anyReadonlyArrayType); } function isEmptyArrayLiteralType(type) { var elementType = isArrayType(type) ? type.typeArguments[0] : undefined; @@ -37382,35 +37569,35 @@ var ts; return !!getPropertyOfType(type, "0"); } function isNeitherUnitTypeNorNever(type) { - return !(type.flags & (13536 /* Unit */ | 16384 /* Never */)); + return !(type.flags & (27072 /* Unit */ | 32768 /* Never */)); } function isUnitType(type) { - return !!(type.flags & 13536 /* Unit */); + return !!(type.flags & 27072 /* Unit */); } function isLiteralType(type) { - return type.flags & 8 /* Boolean */ ? true : - type.flags & 131072 /* Union */ ? type.flags & 256 /* EnumLiteral */ ? true : !ts.forEach(type.types, function (t) { return !isUnitType(t); }) : + return type.flags & 16 /* Boolean */ ? true : + type.flags & 262144 /* Union */ ? type.flags & 512 /* EnumLiteral */ ? true : !ts.forEach(type.types, function (t) { return !isUnitType(t); }) : isUnitType(type); } function getBaseTypeOfLiteralType(type) { - return type.flags & 256 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : - type.flags & 32 /* StringLiteral */ ? stringType : - type.flags & 64 /* NumberLiteral */ ? numberType : - type.flags & 128 /* BooleanLiteral */ ? booleanType : - type.flags & 131072 /* Union */ ? getUnionType(ts.sameMap(type.types, getBaseTypeOfLiteralType)) : + return type.flags & 512 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : + type.flags & 64 /* StringLiteral */ ? stringType : + type.flags & 128 /* NumberLiteral */ ? numberType : + type.flags & 256 /* BooleanLiteral */ ? booleanType : + type.flags & 262144 /* Union */ ? getUnionType(ts.sameMap(type.types, getBaseTypeOfLiteralType)) : type; } function getWidenedLiteralType(type) { - return type.flags & 256 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : - type.flags & 32 /* StringLiteral */ && type.flags & 8388608 /* FreshLiteral */ ? stringType : - type.flags & 64 /* NumberLiteral */ && type.flags & 8388608 /* FreshLiteral */ ? numberType : - type.flags & 128 /* BooleanLiteral */ ? booleanType : - type.flags & 131072 /* Union */ ? getUnionType(ts.sameMap(type.types, getWidenedLiteralType)) : + return type.flags & 512 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : + type.flags & 64 /* StringLiteral */ && type.flags & 33554432 /* FreshLiteral */ ? stringType : + type.flags & 128 /* NumberLiteral */ && type.flags & 33554432 /* FreshLiteral */ ? numberType : + type.flags & 256 /* BooleanLiteral */ ? booleanType : + type.flags & 262144 /* Union */ ? getUnionType(ts.sameMap(type.types, getWidenedLiteralType)) : type; } function getWidenedUniqueESSymbolType(type) { - return type.flags & 1024 /* UniqueESSymbol */ ? esSymbolType : - type.flags & 131072 /* Union */ ? getUnionType(ts.sameMap(type.types, getWidenedUniqueESSymbolType)) : + return type.flags & 2048 /* UniqueESSymbol */ ? esSymbolType : + type.flags & 262144 /* Union */ ? getUnionType(ts.sameMap(type.types, getWidenedUniqueESSymbolType)) : type; } function getWidenedLiteralLikeTypeForContextualType(type, contextualType) { @@ -37438,27 +37625,27 @@ var ts; // flags for the string, number, boolean, "", 0, false, void, undefined, or null types respectively. Returns // no flags for all other types (including non-falsy literal types). function getFalsyFlags(type) { - return type.flags & 131072 /* Union */ ? getFalsyFlagsOfTypes(type.types) : - type.flags & 32 /* StringLiteral */ ? type.value === "" ? 32 /* StringLiteral */ : 0 : - type.flags & 64 /* NumberLiteral */ ? type.value === 0 ? 64 /* NumberLiteral */ : 0 : - type.flags & 128 /* BooleanLiteral */ ? type === falseType ? 128 /* BooleanLiteral */ : 0 : - type.flags & 14574 /* PossiblyFalsy */; + return type.flags & 262144 /* Union */ ? getFalsyFlagsOfTypes(type.types) : + type.flags & 64 /* StringLiteral */ ? type.value === "" ? 64 /* StringLiteral */ : 0 : + type.flags & 128 /* NumberLiteral */ ? type.value === 0 ? 128 /* NumberLiteral */ : 0 : + type.flags & 256 /* BooleanLiteral */ ? type === falseType ? 256 /* BooleanLiteral */ : 0 : + type.flags & 29148 /* PossiblyFalsy */; } function removeDefinitelyFalsyTypes(type) { - return getFalsyFlags(type) & 14560 /* DefinitelyFalsy */ ? - filterType(type, function (t) { return !(getFalsyFlags(t) & 14560 /* DefinitelyFalsy */); }) : + return getFalsyFlags(type) & 29120 /* DefinitelyFalsy */ ? + filterType(type, function (t) { return !(getFalsyFlags(t) & 29120 /* DefinitelyFalsy */); }) : type; } function extractDefinitelyFalsyTypes(type) { return mapType(type, getDefinitelyFalsyPartOfType); } function getDefinitelyFalsyPartOfType(type) { - return type.flags & 2 /* String */ ? emptyStringType : - type.flags & 4 /* Number */ ? zeroType : - type.flags & 8 /* Boolean */ || type === falseType ? falseType : - type.flags & (2048 /* Void */ | 4096 /* Undefined */ | 8192 /* Null */) || - type.flags & 32 /* StringLiteral */ && type.value === "" || - type.flags & 64 /* NumberLiteral */ && type.value === 0 ? type : + return type.flags & 4 /* String */ ? emptyStringType : + type.flags & 8 /* Number */ ? zeroType : + type.flags & 16 /* Boolean */ || type === falseType ? falseType : + type.flags & (4096 /* Void */ | 8192 /* Undefined */ | 16384 /* Null */) || + type.flags & 64 /* StringLiteral */ && type.value === "" || + type.flags & 128 /* NumberLiteral */ && type.value === 0 ? type : neverType; } /** @@ -37467,15 +37654,15 @@ var ts; * @param flags - Either TypeFlags.Undefined or TypeFlags.Null, or both */ function getNullableType(type, flags) { - var missing = (flags & ~type.flags) & (4096 /* Undefined */ | 8192 /* Null */); + var missing = (flags & ~type.flags) & (8192 /* Undefined */ | 16384 /* Null */); return missing === 0 ? type : - missing === 4096 /* Undefined */ ? getUnionType([type, undefinedType]) : - missing === 8192 /* Null */ ? getUnionType([type, nullType]) : + missing === 8192 /* Undefined */ ? getUnionType([type, undefinedType]) : + missing === 16384 /* Null */ ? getUnionType([type, nullType]) : getUnionType([type, undefinedType, nullType]); } function getOptionalType(type) { ts.Debug.assert(strictNullChecks); - return type.flags & 4096 /* Undefined */ ? type : getUnionType([type, undefinedType]); + return type.flags & 8192 /* Undefined */ ? type : getUnionType([type, undefinedType]); } function getGlobalNonNullableTypeInstantiation(type) { if (!deferredGlobalNonNullableTypeAlias) { @@ -37528,7 +37715,7 @@ var ts; * Leave signatures alone since they are not subject to the check. */ function getRegularTypeOfObjectLiteral(type) { - if (!(isObjectLiteralType(type) && type.flags & 8388608 /* FreshLiteral */)) { + if (!(isObjectLiteralType(type) && type.flags & 33554432 /* FreshLiteral */)) { return type; } var regularType = type.regularType; @@ -37538,7 +37725,7 @@ var ts; var resolved = type; var members = transformTypeOfMembers(type, getRegularTypeOfObjectLiteral); var regularNew = createAnonymousType(resolved.symbol, members, resolved.callSignatures, resolved.constructSignatures, resolved.stringIndexInfo, resolved.numberIndexInfo); - regularNew.flags = resolved.flags & ~8388608 /* FreshLiteral */; + regularNew.flags = resolved.flags & ~33554432 /* FreshLiteral */; regularNew.objectFlags |= 128 /* ObjectLiteral */; type.regularType = regularNew; return regularNew; @@ -37620,16 +37807,16 @@ var ts; return getWidenedTypeWithContext(type, /*context*/ undefined); } function getWidenedTypeWithContext(type, context) { - if (type.flags & 50331648 /* RequiresWidening */) { - if (type.flags & 12288 /* Nullable */) { + if (type.flags & 402653184 /* RequiresWidening */) { + if (type.flags & 24576 /* Nullable */) { return anyType; } if (isObjectLiteralType(type)) { return getWidenedTypeOfObjectLiteral(type, context); } - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { var unionContext_1 = context || createWideningContext(/*parent*/ undefined, /*propertyName*/ undefined, type.types); - var widenedTypes = ts.sameMap(type.types, function (t) { return t.flags & 12288 /* Nullable */ ? t : getWidenedTypeWithContext(t, unionContext_1); }); + var widenedTypes = ts.sameMap(type.types, function (t) { return t.flags & 24576 /* Nullable */ ? t : getWidenedTypeWithContext(t, unionContext_1); }); // Widening an empty object literal transitions from a highly restrictive type to // a highly inclusive one. For that reason we perform subtype reduction here if the // union includes empty object types (e.g. reducing {} | string to just {}). @@ -37654,8 +37841,8 @@ var ts; */ function reportWideningErrorsInType(type) { var errorReported = false; - if (type.flags & 16777216 /* ContainsWideningType */) { - if (type.flags & 131072 /* Union */) { + if (type.flags & 134217728 /* ContainsWideningType */) { + if (type.flags & 262144 /* Union */) { if (ts.some(type.types, isEmptyObjectType)) { errorReported = true; } @@ -37680,7 +37867,7 @@ var ts; for (var _d = 0, _e = getPropertiesOfObjectType(type); _d < _e.length; _d++) { var p = _e[_d]; var t = getTypeOfSymbol(p); - if (t.flags & 16777216 /* ContainsWideningType */) { + if (t.flags & 134217728 /* ContainsWideningType */) { if (!reportWideningErrorsInType(t)) { error(p.valueDeclaration, ts.Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type, symbolToString(p), typeToString(getWidenedType(t))); } @@ -37695,33 +37882,33 @@ var ts; var typeAsString = typeToString(getWidenedType(type)); var diagnostic; switch (declaration.kind) { - case 199 /* BinaryExpression */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 200 /* BinaryExpression */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: diagnostic = ts.Diagnostics.Member_0_implicitly_has_an_1_type; break; - case 148 /* Parameter */: + case 149 /* Parameter */: diagnostic = declaration.dotDotDotToken ? ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type : ts.Diagnostics.Parameter_0_implicitly_has_an_1_type; break; - case 181 /* BindingElement */: + case 182 /* BindingElement */: diagnostic = ts.Diagnostics.Binding_element_0_implicitly_has_an_1_type; break; - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: if (!declaration.name) { error(declaration, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeAsString); return; } diagnostic = ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type; break; - case 176 /* MappedType */: + case 177 /* MappedType */: error(declaration, ts.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type); return; default: @@ -37730,7 +37917,7 @@ var ts; error(declaration, diagnostic, ts.declarationNameToString(ts.getNameOfDeclaration(declaration)), typeAsString); } function reportErrorsFromWidening(declaration, type) { - if (produceDiagnostics && noImplicitAny && type.flags & 16777216 /* ContainsWideningType */) { + if (produceDiagnostics && noImplicitAny && type.flags & 134217728 /* ContainsWideningType */) { // Report implicit any error within type if possible, otherwise report error on declaration if (!reportWideningErrorsInType(type)) { reportImplicitAnyError(declaration, type); @@ -37803,26 +37990,26 @@ var ts; // results for union and intersection types for performance reasons. function couldContainTypeVariables(type) { var objectFlags = ts.getObjectFlags(type); - return !!(type.flags & 7897088 /* Instantiable */ || + return !!(type.flags & 15794176 /* Instantiable */ || objectFlags & 4 /* Reference */ && ts.forEach(type.typeArguments, couldContainTypeVariables) || objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */ | 2048 /* TypeLiteral */ | 32 /* Class */) || objectFlags & 32 /* Mapped */ || - type.flags & 393216 /* UnionOrIntersection */ && couldUnionOrIntersectionContainTypeVariables(type)); + type.flags & 786432 /* UnionOrIntersection */ && couldUnionOrIntersectionContainTypeVariables(type)); } function couldUnionOrIntersectionContainTypeVariables(type) { if (type.couldContainTypeVariables === undefined) { - type.couldContainTypeVariables = ts.forEach(type.types, couldContainTypeVariables); + type.couldContainTypeVariables = ts.some(type.types, couldContainTypeVariables); } return type.couldContainTypeVariables; } function isTypeParameterAtTopLevel(type, typeParameter) { - return type === typeParameter || type.flags & 393216 /* UnionOrIntersection */ && ts.forEach(type.types, function (t) { return isTypeParameterAtTopLevel(t, typeParameter); }); + return type === typeParameter || !!(type.flags & 786432 /* UnionOrIntersection */) && ts.some(type.types, function (t) { return isTypeParameterAtTopLevel(t, typeParameter); }); } /** Create an object with properties named in the string literal type. Every property has type `any` */ function createEmptyObjectTypeFromStringLiteral(type) { var members = ts.createSymbolTable(); forEachType(type, function (t) { - if (!(t.flags & 32 /* StringLiteral */)) { + if (!(t.flags & 64 /* StringLiteral */)) { return; } var name = ts.escapeLeadingUnderscores(t.value); @@ -37834,7 +38021,7 @@ var ts; } members.set(name, literalProp); }); - var indexInfo = type.flags & 2 /* String */ ? createIndexInfo(emptyObjectType, /*isReadonly*/ false) : undefined; + var indexInfo = type.flags & 4 /* String */ ? createIndexInfo(emptyObjectType, /*isReadonly*/ false) : undefined; return createAnonymousType(undefined, members, ts.emptyArray, ts.emptyArray, indexInfo, undefined); } /** @@ -37862,7 +38049,7 @@ var ts; // is incomplete and we can't infer a meaningful input type. for (var _i = 0, properties_4 = properties; _i < properties_4.length; _i++) { var prop = properties_4[_i]; - if (getTypeOfSymbol(prop).flags & 67108864 /* ContainsAnyFunctionType */) { + if (getTypeOfSymbol(prop).flags & 536870912 /* ContainsAnyFunctionType */) { return undefined; } } @@ -37882,7 +38069,7 @@ var ts; return getTypeFromInference(inference); } function getUnmatchedProperty(source, target, requireOptionalProperties) { - var properties = target.flags & 262144 /* Intersection */ ? getPropertiesOfUnionOrIntersectionType(target) : getPropertiesOfObjectType(target); + var properties = target.flags & 524288 /* Intersection */ ? getPropertiesOfUnionOrIntersectionType(target) : getPropertiesOfObjectType(target); for (var _i = 0, properties_5 = properties; _i < properties_5.length; _i++) { var targetProp = properties_5[_i]; if (requireOptionalProperties || !(targetProp.flags & 16777216 /* Optional */)) { @@ -37936,8 +38123,8 @@ var ts; } return; } - if (source.flags & 131072 /* Union */ && target.flags & 131072 /* Union */ && !(source.flags & 256 /* EnumLiteral */ && target.flags & 256 /* EnumLiteral */) || - source.flags & 262144 /* Intersection */ && target.flags & 262144 /* Intersection */) { + if (source.flags & 262144 /* Union */ && target.flags & 262144 /* Union */ && !(source.flags & 512 /* EnumLiteral */ && target.flags & 512 /* EnumLiteral */) || + source.flags & 524288 /* Intersection */ && target.flags & 524288 /* Intersection */) { // Source and target are both unions or both intersections. If source and target // are the same type, just relate each constituent type to itself. if (source === target) { @@ -37960,7 +38147,7 @@ var ts; (matchingTypes || (matchingTypes = [])).push(t); inferFromTypes(t, t); } - else if (t.flags & (64 /* NumberLiteral */ | 32 /* StringLiteral */)) { + else if (t.flags & (128 /* NumberLiteral */ | 64 /* StringLiteral */)) { var b = getBaseTypeOfLiteralType(t); if (typeIdenticalToSomeType(b, target.types)) { (matchingTypes || (matchingTypes = [])).push(t, b); @@ -37975,7 +38162,7 @@ var ts; target = removeTypesFromUnionOrIntersection(target, matchingTypes); } } - if (target.flags & 1081344 /* TypeVariable */) { + if (target.flags & 2162688 /* TypeVariable */) { // If target is a type parameter, make an inference, unless the source type contains // the anyFunctionType (the wildcard type that's used to avoid contextually typing functions). // Because the anyFunctionType is internal, it should not be exposed to the user by adding @@ -37983,7 +38170,7 @@ var ts; // not contain anyFunctionType when we come back to this argument for its second round // of inference. Also, we exclude inferences for silentNeverType (which is used as a wildcard // when constructing types from type parameters that had no inference candidates). - if (source.flags & 67108864 /* ContainsAnyFunctionType */ || source === silentNeverType) { + if (source.flags & 536870912 /* ContainsAnyFunctionType */ || source === silentNeverType) { return; } var inference = getInferenceInfoForType(target); @@ -38003,7 +38190,7 @@ var ts; inference.candidates = ts.append(inference.candidates, candidate); } } - if (!(priority & 8 /* ReturnType */) && target.flags & 32768 /* TypeParameter */ && !isTypeParameterAtTopLevel(originalTarget, target)) { + if (!(priority & 8 /* ReturnType */) && target.flags & 65536 /* TypeParameter */ && !isTypeParameterAtTopLevel(originalTarget, target)) { inference.topLevel = false; } } @@ -38025,12 +38212,12 @@ var ts; } } } - else if (source.flags & 524288 /* Index */ && target.flags & 524288 /* Index */) { + else if (source.flags & 1048576 /* Index */ && target.flags & 1048576 /* Index */) { contravariant = !contravariant; inferFromTypes(source.type, target.type); contravariant = !contravariant; } - else if ((isLiteralType(source) || source.flags & 2 /* String */) && target.flags & 524288 /* Index */) { + else if ((isLiteralType(source) || source.flags & 4 /* String */) && target.flags & 1048576 /* Index */) { var empty = createEmptyObjectTypeFromStringLiteral(source); contravariant = !contravariant; var savePriority = priority; @@ -38039,17 +38226,17 @@ var ts; priority = savePriority; contravariant = !contravariant; } - else if (source.flags & 1048576 /* IndexedAccess */ && target.flags & 1048576 /* IndexedAccess */) { + else if (source.flags & 2097152 /* IndexedAccess */ && target.flags & 2097152 /* IndexedAccess */) { inferFromTypes(source.objectType, target.objectType); inferFromTypes(source.indexType, target.indexType); } - else if (source.flags & 2097152 /* Conditional */ && target.flags & 2097152 /* Conditional */) { + else if (source.flags & 4194304 /* Conditional */ && target.flags & 4194304 /* Conditional */) { inferFromTypes(source.checkType, target.checkType); inferFromTypes(source.extendsType, target.extendsType); inferFromTypes(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target)); inferFromTypes(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target)); } - else if (target.flags & 393216 /* UnionOrIntersection */) { + else if (target.flags & 786432 /* UnionOrIntersection */) { var targetTypes = target.types; var typeVariableCount = 0; var typeVariable = void 0; @@ -38074,7 +38261,7 @@ var ts; priority = savePriority; } } - else if (source.flags & 131072 /* Union */) { + else if (source.flags & 262144 /* Union */) { // Source is a union or intersection type, infer from each constituent type var sourceTypes = source.types; for (var _e = 0, sourceTypes_3 = sourceTypes; _e < sourceTypes_3.length; _e++) { @@ -38083,10 +38270,10 @@ var ts; } } else { - if (!(priority & 32 /* NoConstraints */ && source.flags & (262144 /* Intersection */ | 7897088 /* Instantiable */))) { + if (!(priority & 32 /* NoConstraints */ && source.flags & (524288 /* Intersection */ | 15794176 /* Instantiable */))) { source = getApparentType(source); } - if (source.flags & (65536 /* Object */ | 262144 /* Intersection */)) { + if (source.flags & (131072 /* Object */ | 524288 /* Intersection */)) { var key = source.id + "," + target.id; if (visited && visited.get(key)) { return; @@ -38096,7 +38283,7 @@ var ts; // an instantiation of the same generic type), we do not explore this target as it would yield // no further inferences. We exclude the static side of classes from this check since it shares // its symbol with the instance side which would lead to false positives. - var isNonConstructorObject = target.flags & 65536 /* Object */ && + var isNonConstructorObject = target.flags & 131072 /* Object */ && !(ts.getObjectFlags(target) & 16 /* Anonymous */ && target.symbol && target.symbol.flags & 32 /* Class */); var symbol = isNonConstructorObject ? target.symbol : undefined; if (symbol) { @@ -38124,7 +38311,7 @@ var ts; } } function getInferenceInfoForType(type) { - if (type.flags & 1081344 /* TypeVariable */) { + if (type.flags & 2162688 /* TypeVariable */) { for (var _i = 0, inferences_1 = inferences; _i < inferences_1.length; _i++) { var inference = inferences_1[_i]; if (type === inference.typeParameter) { @@ -38143,7 +38330,7 @@ var ts; } if (ts.getObjectFlags(target) & 32 /* Mapped */) { var constraintType = getConstraintTypeFromMappedType(target); - if (constraintType.flags & 524288 /* Index */) { + if (constraintType.flags & 1048576 /* Index */) { // We're inferring from some source type S to a homomorphic mapped type { [P in keyof T]: X }, // where T is a type variable. Use inferTypeForHomomorphicMappedType to infer a suitable source // type and then make a secondary inference from that type to T. We make a secondary inference @@ -38160,7 +38347,7 @@ var ts; } return; } - if (constraintType.flags & 32768 /* TypeParameter */) { + if (constraintType.flags & 65536 /* TypeParameter */) { // We're inferring from some source type S to a mapped type { [P in T]: X }, where T is a type // parameter. Infer from 'keyof S' to T and infer from a union of each property type in S to X. var savePriority = priority; @@ -38251,11 +38438,11 @@ var ts; reducedTypes.push(t); } } - return type.flags & 131072 /* Union */ ? getUnionType(reducedTypes) : getIntersectionType(reducedTypes); + return type.flags & 262144 /* Union */ ? getUnionType(reducedTypes) : getIntersectionType(reducedTypes); } function hasPrimitiveConstraint(type) { var constraint = getConstraintOfTypeParameter(type); - return constraint && maybeTypeOfKind(constraint, 16382 /* Primitive */ | 524288 /* Index */); + return !!constraint && maybeTypeOfKind(constraint, 32764 /* Primitive */ | 1048576 /* Index */); } function isObjectLiteralType(type) { return !!(ts.getObjectFlags(type) & 128 /* ObjectLiteral */); @@ -38280,10 +38467,12 @@ var ts; // all inferences were made to top-level occurrences of the type parameter, and // the type parameter has no constraint or its constraint includes no primitive or literal types, and // the type parameter was fixed during inference or does not occur at top-level in the return type. - var widenLiteralTypes = inference.topLevel && - !hasPrimitiveConstraint(inference.typeParameter) && + var primitiveConstraint = hasPrimitiveConstraint(inference.typeParameter); + var widenLiteralTypes = !primitiveConstraint && inference.topLevel && (inference.isFixed || !isTypeParameterAtTopLevel(getReturnTypeOfSignature(signature), inference.typeParameter)); - var baseCandidates = widenLiteralTypes ? ts.sameMap(candidates, getWidenedLiteralType) : candidates; + var baseCandidates = primitiveConstraint ? ts.sameMap(candidates, getRegularTypeOfLiteralType) : + widenLiteralTypes ? ts.sameMap(candidates, getWidenedLiteralType) : + candidates; // If all inferences were made from contravariant positions, infer a common subtype. Otherwise, if // union types were requested or if all inferences were made from the return type position, infer a // union type. Otherwise, infer a common supertype. @@ -38302,7 +38491,7 @@ var ts; inferredType = getCovariantInference(inference, context, signature); // If we have inferred 'never' but have contravariant candidates. To get a more specific type we // infer from the contravariant candidates instead. - if (inferredType.flags & 16384 /* Never */ && inference.contraCandidates) { + if (inferredType.flags & 32768 /* Never */ && inference.contraCandidates) { inferredType = getContravariantInference(inference); } } @@ -38369,7 +38558,7 @@ var ts; // TypeScript 1.0 spec (April 2014): 3.6.3 // A type query consists of the keyword typeof followed by an expression. // The expression is restricted to a single identifier or a sequence of identifiers separated by periods - return !!ts.findAncestor(node, function (n) { return n.kind === 164 /* TypeQuery */ ? true : n.kind === 71 /* Identifier */ || n.kind === 145 /* QualifiedName */ ? false : "quit"; }); + return !!ts.findAncestor(node, function (n) { return n.kind === 165 /* TypeQuery */ ? true : n.kind === 71 /* Identifier */ || n.kind === 146 /* QualifiedName */ ? false : "quit"; }); } // Return the flow cache key for a "dotted name" (i.e. a sequence of identifiers // separated by dots). The key consists of the id of the symbol referenced by the @@ -38385,13 +38574,13 @@ var ts; if (node.kind === 99 /* ThisKeyword */) { return "0"; } - if (node.kind === 184 /* PropertyAccessExpression */) { + if (node.kind === 185 /* PropertyAccessExpression */) { var key = getFlowCacheKey(node.expression); return key && key + "." + ts.idText(node.name); } - if (node.kind === 181 /* BindingElement */) { + if (node.kind === 182 /* BindingElement */) { var container = node.parent.parent; - var key = container.kind === 181 /* BindingElement */ ? getFlowCacheKey(container) : (container.initializer && getFlowCacheKey(container.initializer)); + var key = container.kind === 182 /* BindingElement */ ? getFlowCacheKey(container) : (container.initializer && getFlowCacheKey(container.initializer)); var text = getBindingElementNameText(node); var result = key && text && (key + "." + text); return result; @@ -38399,12 +38588,13 @@ var ts; return undefined; } function getBindingElementNameText(element) { - if (element.parent.kind === 179 /* ObjectBindingPattern */) { + var parent = element.parent; + if (parent.kind === 180 /* ObjectBindingPattern */) { var name = element.propertyName || element.name; switch (name.kind) { case 71 /* Identifier */: return ts.idText(name); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return ts.isStringOrNumericLiteral(name.expression) ? name.expression.text : undefined; case 9 /* StringLiteral */: case 8 /* NumericLiteral */: @@ -38415,41 +38605,41 @@ var ts; } } else { - return "" + element.parent.elements.indexOf(element); + return "" + parent.elements.indexOf(element); } } function isMatchingReference(source, target) { switch (source.kind) { case 71 /* Identifier */: return target.kind === 71 /* Identifier */ && getResolvedSymbol(source) === getResolvedSymbol(target) || - (target.kind === 231 /* VariableDeclaration */ || target.kind === 181 /* BindingElement */) && + (target.kind === 232 /* VariableDeclaration */ || target.kind === 182 /* BindingElement */) && getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(source)) === getSymbolOfNode(target); case 99 /* ThisKeyword */: return target.kind === 99 /* ThisKeyword */; case 97 /* SuperKeyword */: return target.kind === 97 /* SuperKeyword */; - case 184 /* PropertyAccessExpression */: - return target.kind === 184 /* PropertyAccessExpression */ && + case 185 /* PropertyAccessExpression */: + return target.kind === 185 /* PropertyAccessExpression */ && source.name.escapedText === target.name.escapedText && isMatchingReference(source.expression, target.expression); - case 181 /* BindingElement */: - if (target.kind !== 184 /* PropertyAccessExpression */) + case 182 /* BindingElement */: + if (target.kind !== 185 /* PropertyAccessExpression */) return false; var t = target; if (t.name.escapedText !== getBindingElementNameText(source)) return false; - if (source.parent.parent.kind === 181 /* BindingElement */ && isMatchingReference(source.parent.parent, t.expression)) { + if (source.parent.parent.kind === 182 /* BindingElement */ && isMatchingReference(source.parent.parent, t.expression)) { return true; } - if (source.parent.parent.kind === 231 /* VariableDeclaration */) { + if (source.parent.parent.kind === 232 /* VariableDeclaration */) { var maybeId = source.parent.parent.initializer; - return maybeId && isMatchingReference(maybeId, t.expression); + return !!maybeId && isMatchingReference(maybeId, t.expression); } } return false; } function containsMatchingReference(source, target) { - while (source.kind === 184 /* PropertyAccessExpression */) { + while (source.kind === 185 /* PropertyAccessExpression */) { source = source.expression; if (isMatchingReference(source, target)) { return true; @@ -38462,7 +38652,7 @@ var ts; // a possible discriminant if its type differs in the constituents of containing union type, and if every // choice is a unit type or a union of unit types. function containsMatchingReferenceDiscriminant(source, target) { - return target.kind === 184 /* PropertyAccessExpression */ && + return target.kind === 185 /* PropertyAccessExpression */ && containsMatchingReference(source, target.expression) && isDiscriminantProperty(getDeclaredTypeOfReference(target.expression), target.name.escapedText); } @@ -38470,18 +38660,18 @@ var ts; if (expr.kind === 71 /* Identifier */) { return getTypeOfSymbol(getResolvedSymbol(expr)); } - if (expr.kind === 184 /* PropertyAccessExpression */) { + if (expr.kind === 185 /* PropertyAccessExpression */) { var type = getDeclaredTypeOfReference(expr.expression); return type && getTypeOfPropertyOfType(type, expr.name.escapedText); } return undefined; } function isDiscriminantProperty(type, name) { - if (type && type.flags & 131072 /* Union */) { + if (type && type.flags & 262144 /* Union */) { var prop = getUnionOrIntersectionProperty(type, name); if (prop && ts.getCheckFlags(prop) & 2 /* SyntheticProperty */) { if (prop.isDiscriminantProperty === undefined) { - prop.isDiscriminantProperty = prop.checkFlags & 32 /* HasNonUniformType */ && isLiteralType(getTypeOfSymbol(prop)); + prop.isDiscriminantProperty = !!(prop.checkFlags & 32 /* HasNonUniformType */) && isLiteralType(getTypeOfSymbol(prop)); } return prop.isDiscriminantProperty; } @@ -38514,7 +38704,7 @@ var ts; } } } - if (callExpression.expression.kind === 184 /* PropertyAccessExpression */ && + if (callExpression.expression.kind === 185 /* PropertyAccessExpression */ && isOrContainsMatchingReference(reference, callExpression.expression.expression)) { return true; } @@ -38528,7 +38718,7 @@ var ts; return flow.id; } function typeMaybeAssignableTo(source, target) { - if (!(source.flags & 131072 /* Union */)) { + if (!(source.flags & 262144 /* Union */)) { return isTypeAssignableTo(source, target); } for (var _i = 0, _a = source.types; _i < _a.length; _i++) { @@ -38544,11 +38734,11 @@ var ts; // we remove type string. function getAssignmentReducedType(declaredType, assignedType) { if (declaredType !== assignedType) { - if (assignedType.flags & 16384 /* Never */) { + if (assignedType.flags & 32768 /* Never */) { return assignedType; } var reducedType = filterType(declaredType, function (t) { return typeMaybeAssignableTo(assignedType, t); }); - if (!(reducedType.flags & 16384 /* Never */)) { + if (!(reducedType.flags & 32768 /* Never */)) { return reducedType; } } @@ -38571,53 +38761,53 @@ var ts; } function getTypeFacts(type) { var flags = type.flags; - if (flags & 2 /* String */) { + if (flags & 4 /* String */) { return strictNullChecks ? 4079361 /* StringStrictFacts */ : 4194049 /* StringFacts */; } - if (flags & 32 /* StringLiteral */) { + if (flags & 64 /* StringLiteral */) { var isEmpty = type.value === ""; return strictNullChecks ? isEmpty ? 3030785 /* EmptyStringStrictFacts */ : 1982209 /* NonEmptyStringStrictFacts */ : isEmpty ? 3145473 /* EmptyStringFacts */ : 4194049 /* NonEmptyStringFacts */; } - if (flags & (4 /* Number */ | 16 /* Enum */)) { + if (flags & (8 /* Number */ | 32 /* Enum */)) { return strictNullChecks ? 4079234 /* NumberStrictFacts */ : 4193922 /* NumberFacts */; } - if (flags & 64 /* NumberLiteral */) { + if (flags & 128 /* NumberLiteral */) { var isZero = type.value === 0; return strictNullChecks ? isZero ? 3030658 /* ZeroStrictFacts */ : 1982082 /* NonZeroStrictFacts */ : isZero ? 3145346 /* ZeroFacts */ : 4193922 /* NonZeroFacts */; } - if (flags & 8 /* Boolean */) { + if (flags & 16 /* Boolean */) { return strictNullChecks ? 4078980 /* BooleanStrictFacts */ : 4193668 /* BooleanFacts */; } - if (flags & 136 /* BooleanLike */) { + if (flags & 272 /* BooleanLike */) { return strictNullChecks ? type === falseType ? 3030404 /* FalseStrictFacts */ : 1981828 /* TrueStrictFacts */ : type === falseType ? 3145092 /* FalseFacts */ : 4193668 /* TrueFacts */; } - if (flags & 65536 /* Object */) { + if (flags & 131072 /* Object */) { return isFunctionObjectType(type) ? strictNullChecks ? 1970144 /* FunctionStrictFacts */ : 4181984 /* FunctionFacts */ : strictNullChecks ? 1972176 /* ObjectStrictFacts */ : 4184016 /* ObjectFacts */; } - if (flags & (2048 /* Void */ | 4096 /* Undefined */)) { + if (flags & (4096 /* Void */ | 8192 /* Undefined */)) { return 2457472 /* UndefinedFacts */; } - if (flags & 8192 /* Null */) { + if (flags & 16384 /* Null */) { return 2340752 /* NullFacts */; } - if (flags & 1536 /* ESSymbolLike */) { + if (flags & 3072 /* ESSymbolLike */) { return strictNullChecks ? 1981320 /* SymbolStrictFacts */ : 4193160 /* SymbolFacts */; } - if (flags & 134217728 /* NonPrimitive */) { + if (flags & 16777216 /* NonPrimitive */) { return strictNullChecks ? 1972176 /* ObjectStrictFacts */ : 4184016 /* ObjectFacts */; } - if (flags & 7897088 /* Instantiable */) { + if (flags & 15794176 /* Instantiable */) { return getTypeFacts(getBaseConstraintOfType(type) || emptyObjectType); } - if (flags & 393216 /* UnionOrIntersection */) { + if (flags & 786432 /* UnionOrIntersection */) { return getTypeFactsOfTypes(type.types); } return 4194303 /* All */; @@ -38637,26 +38827,26 @@ var ts; return getConstraintForLocation(getTypeOfPropertyOfType(type, text), name) || isNumericLiteralName(text) && getIndexTypeOfType(type, 1 /* Number */) || getIndexTypeOfType(type, 0 /* String */) || - unknownType; + errorType; } function getTypeOfDestructuredArrayElement(type, index) { return isTupleLikeType(type) && getTypeOfPropertyOfType(type, "" + index) || checkIteratedTypeOrElementType(type, /*errorNode*/ undefined, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || - unknownType; + errorType; } function getTypeOfDestructuredSpreadExpression(type) { - return createArrayType(checkIteratedTypeOrElementType(type, /*errorNode*/ undefined, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || unknownType); + return createArrayType(checkIteratedTypeOrElementType(type, /*errorNode*/ undefined, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || errorType); } function getAssignedTypeOfBinaryExpression(node) { - var isDestructuringDefaultAssignment = node.parent.kind === 182 /* ArrayLiteralExpression */ && isDestructuringAssignmentTarget(node.parent) || - node.parent.kind === 269 /* PropertyAssignment */ && isDestructuringAssignmentTarget(node.parent.parent); + var isDestructuringDefaultAssignment = node.parent.kind === 183 /* ArrayLiteralExpression */ && isDestructuringAssignmentTarget(node.parent) || + node.parent.kind === 270 /* PropertyAssignment */ && isDestructuringAssignmentTarget(node.parent.parent); return isDestructuringDefaultAssignment ? getTypeWithDefault(getAssignedType(node), node.right) : getTypeOfExpression(node.right); } function isDestructuringAssignmentTarget(parent) { - return parent.parent.kind === 199 /* BinaryExpression */ && parent.parent.left === parent || - parent.parent.kind === 221 /* ForOfStatement */ && parent.parent.initializer === parent; + return parent.parent.kind === 200 /* BinaryExpression */ && parent.parent.left === parent || + parent.parent.kind === 222 /* ForOfStatement */ && parent.parent.initializer === parent; } function getAssignedTypeOfArrayLiteralElement(node, element) { return getTypeOfDestructuredArrayElement(getAssignedType(node), node.elements.indexOf(element)); @@ -38673,29 +38863,29 @@ var ts; function getAssignedType(node) { var parent = node.parent; switch (parent.kind) { - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return stringType; - case 221 /* ForOfStatement */: - return checkRightHandSideOfForOf(parent.expression, parent.awaitModifier) || unknownType; - case 199 /* BinaryExpression */: + case 222 /* ForOfStatement */: + return checkRightHandSideOfForOf(parent.expression, parent.awaitModifier) || errorType; + case 200 /* BinaryExpression */: return getAssignedTypeOfBinaryExpression(parent); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return undefinedType; - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return getAssignedTypeOfArrayLiteralElement(parent, node); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return getAssignedTypeOfSpreadExpression(parent); - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return getAssignedTypeOfPropertyAssignment(parent); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return getAssignedTypeOfShorthandPropertyAssignment(parent); } - return unknownType; + return errorType; } function getInitialTypeOfBindingElement(node) { var pattern = node.parent; var parentType = getInitialType(pattern.parent); - var type = pattern.kind === 179 /* ObjectBindingPattern */ ? + var type = pattern.kind === 180 /* ObjectBindingPattern */ ? getTypeOfDestructuredProperty(parentType, node.propertyName || node.name) : !node.dotDotDotToken ? getTypeOfDestructuredArrayElement(parentType, pattern.elements.indexOf(node)) : @@ -38713,35 +38903,35 @@ var ts; if (node.initializer) { return getTypeOfInitializer(node.initializer); } - if (node.parent.parent.kind === 220 /* ForInStatement */) { + if (node.parent.parent.kind === 221 /* ForInStatement */) { return stringType; } - if (node.parent.parent.kind === 221 /* ForOfStatement */) { - return checkRightHandSideOfForOf(node.parent.parent.expression, node.parent.parent.awaitModifier) || unknownType; + if (node.parent.parent.kind === 222 /* ForOfStatement */) { + return checkRightHandSideOfForOf(node.parent.parent.expression, node.parent.parent.awaitModifier) || errorType; } - return unknownType; + return errorType; } function getInitialType(node) { - return node.kind === 231 /* VariableDeclaration */ ? + return node.kind === 232 /* VariableDeclaration */ ? getInitialTypeOfVariableDeclaration(node) : getInitialTypeOfBindingElement(node); } function getInitialOrAssignedType(node) { - return node.kind === 231 /* VariableDeclaration */ || node.kind === 181 /* BindingElement */ ? + return node.kind === 232 /* VariableDeclaration */ || node.kind === 182 /* BindingElement */ ? getInitialType(node) : getAssignedType(node); } function isEmptyArrayAssignment(node) { - return node.kind === 231 /* VariableDeclaration */ && node.initializer && + return node.kind === 232 /* VariableDeclaration */ && node.initializer && isEmptyArrayLiteral(node.initializer) || - node.kind !== 181 /* BindingElement */ && node.parent.kind === 199 /* BinaryExpression */ && + node.kind !== 182 /* BindingElement */ && node.parent.kind === 200 /* BinaryExpression */ && isEmptyArrayLiteral(node.parent.right); } function getReferenceCandidate(node) { switch (node.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return getReferenceCandidate(node.expression); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: switch (node.operatorToken.kind) { case 58 /* EqualsToken */: return getReferenceCandidate(node.left); @@ -38753,13 +38943,13 @@ var ts; } function getReferenceRoot(node) { var parent = node.parent; - return parent.kind === 190 /* ParenthesizedExpression */ || - parent.kind === 199 /* BinaryExpression */ && parent.operatorToken.kind === 58 /* EqualsToken */ && parent.left === node || - parent.kind === 199 /* BinaryExpression */ && parent.operatorToken.kind === 26 /* CommaToken */ && parent.right === node ? + return parent.kind === 191 /* ParenthesizedExpression */ || + parent.kind === 200 /* BinaryExpression */ && parent.operatorToken.kind === 58 /* EqualsToken */ && parent.left === node || + parent.kind === 200 /* BinaryExpression */ && parent.operatorToken.kind === 26 /* CommaToken */ && parent.right === node ? getReferenceRoot(parent) : node; } function getTypeOfSwitchClause(clause) { - if (clause.kind === 265 /* CaseClause */) { + if (clause.kind === 266 /* CaseClause */) { return getRegularTypeOfLiteralType(getTypeOfExpression(clause.expression)); } return neverType; @@ -38776,13 +38966,13 @@ var ts; return links.switchTypes; } function eachTypeContainedIn(source, types) { - return source.flags & 131072 /* Union */ ? !ts.forEach(source.types, function (t) { return !ts.contains(types, t); }) : ts.contains(types, source); + return source.flags & 262144 /* Union */ ? !ts.forEach(source.types, function (t) { return !ts.contains(types, t); }) : ts.contains(types, source); } function isTypeSubsetOf(source, target) { - return source === target || target.flags & 131072 /* Union */ && isTypeSubsetOfUnion(source, target); + return source === target || target.flags & 262144 /* Union */ && isTypeSubsetOfUnion(source, target); } function isTypeSubsetOfUnion(source, target) { - if (source.flags & 131072 /* Union */) { + if (source.flags & 262144 /* Union */) { for (var _i = 0, _a = source.types; _i < _a.length; _i++) { var t = _a[_i]; if (!containsType(target.types, t)) { @@ -38791,30 +38981,27 @@ var ts; } return true; } - if (source.flags & 256 /* EnumLiteral */ && getBaseTypeOfEnumLiteralType(source) === target) { + if (source.flags & 512 /* EnumLiteral */ && getBaseTypeOfEnumLiteralType(source) === target) { return true; } return containsType(target.types, source); } function forEachType(type, f) { - return type.flags & 131072 /* Union */ ? ts.forEach(type.types, f) : f(type); + return type.flags & 262144 /* Union */ ? ts.forEach(type.types, f) : f(type); } function filterType(type, f) { - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { var types = type.types; var filtered = ts.filter(types, f); - return filtered === types ? type : getUnionTypeFromSortedList(filtered, type.flags & 268435456 /* UnionOfUnitTypes */); + return filtered === types ? type : getUnionTypeFromSortedList(filtered, type.flags & 67108864 /* UnionOfUnitTypes */); } return f(type) ? type : neverType; } - // Apply a mapping function to a type and return the resulting type. If the source type - // is a union type, the mapping function is applied to each constituent type and a union - // of the resulting types is returned. function mapType(type, mapper, noReductions) { - if (type.flags & 16384 /* Never */) { + if (type.flags & 32768 /* Never */) { return type; } - if (!(type.flags & 131072 /* Union */)) { + if (!(type.flags & 262144 /* Union */)) { return mapper(type); } var types = type.types; @@ -38844,11 +39031,11 @@ var ts; // typeWithPrimitives have been replaced with occurrences of string literals and numeric // literals in typeWithLiterals, respectively. function replacePrimitivesWithLiterals(typeWithPrimitives, typeWithLiterals) { - if (isTypeSubsetOf(stringType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 32 /* StringLiteral */) || - isTypeSubsetOf(numberType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 64 /* NumberLiteral */)) { + if (isTypeSubsetOf(stringType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 64 /* StringLiteral */) || + isTypeSubsetOf(numberType, typeWithPrimitives) && maybeTypeOfKind(typeWithLiterals, 128 /* NumberLiteral */)) { return mapType(typeWithPrimitives, function (t) { - return t.flags & 2 /* String */ ? extractTypesOfKind(typeWithLiterals, 2 /* String */ | 32 /* StringLiteral */) : - t.flags & 4 /* Number */ ? extractTypesOfKind(typeWithLiterals, 4 /* Number */ | 64 /* NumberLiteral */) : + return t.flags & 4 /* String */ ? extractTypesOfKind(typeWithLiterals, 4 /* String */ | 64 /* StringLiteral */) : + t.flags & 8 /* Number */ ? extractTypesOfKind(typeWithLiterals, 8 /* Number */ | 128 /* NumberLiteral */) : t; }); } @@ -38883,9 +39070,9 @@ var ts; return isTypeSubsetOf(elementType, evolvingArrayType.elementType) ? evolvingArrayType : getEvolvingArrayType(getUnionType([evolvingArrayType.elementType, elementType])); } function createFinalArrayType(elementType) { - return elementType.flags & 16384 /* Never */ ? + return elementType.flags & 32768 /* Never */ ? autoArrayType : - createArrayType(elementType.flags & 131072 /* Union */ ? + createArrayType(elementType.flags & 262144 /* Union */ ? getUnionType(elementType.types, 2 /* Subtype */) : elementType); } @@ -38903,7 +39090,7 @@ var ts; var hasEvolvingArrayType = false; for (var _i = 0, types_14 = types; _i < types_14.length; _i++) { var t = types_14[_i]; - if (!(t.flags & 16384 /* Never */)) { + if (!(t.flags & 32768 /* Never */)) { if (!(ts.getObjectFlags(t) & 256 /* EvolvingArray */)) { return false; } @@ -38925,15 +39112,15 @@ var ts; function isEvolvingArrayOperationTarget(node) { var root = getReferenceRoot(node); var parent = root.parent; - var isLengthPushOrUnshift = parent.kind === 184 /* PropertyAccessExpression */ && (parent.name.escapedText === "length" || - parent.parent.kind === 186 /* CallExpression */ && ts.isPushOrUnshiftIdentifier(parent.name)); - var isElementAssignment = parent.kind === 185 /* ElementAccessExpression */ && + var isLengthPushOrUnshift = parent.kind === 185 /* PropertyAccessExpression */ && (parent.name.escapedText === "length" || + parent.parent.kind === 187 /* CallExpression */ && ts.isPushOrUnshiftIdentifier(parent.name)); + var isElementAssignment = parent.kind === 186 /* ElementAccessExpression */ && parent.expression === root && - parent.parent.kind === 199 /* BinaryExpression */ && + parent.parent.kind === 200 /* BinaryExpression */ && parent.parent.operatorToken.kind === 58 /* EqualsToken */ && parent.parent.left === parent && !ts.isAssignmentTarget(parent.parent) && - isTypeAssignableToKind(getTypeOfExpression(parent.argumentExpression), 84 /* NumberLike */); + isTypeAssignableToKind(getTypeOfExpression(parent.argumentExpression), 168 /* NumberLike */); return isLengthPushOrUnshift || isElementAssignment; } function maybeTypePredicateCall(node) { @@ -38948,7 +39135,7 @@ var ts; var funcType = checkNonNullExpression(node.expression); if (funcType !== silentNeverType) { var apparentType = getApparentType(funcType); - return apparentType !== unknownType && ts.some(getSignaturesOfType(apparentType, 0 /* Call */), signatureHasTypePredicate); + return apparentType !== errorType && ts.some(getSignaturesOfType(apparentType, 0 /* Call */), signatureHasTypePredicate); } } return false; @@ -38964,9 +39151,9 @@ var ts; var key; var flowDepth = 0; if (flowAnalysisDisabled) { - return unknownType; + return errorType; } - if (!reference.flowNode || !couldBeUninitialized && !(declaredType.flags & 142575359 /* Narrowable */)) { + if (!reference.flowNode || !couldBeUninitialized && !(declaredType.flags & 33492479 /* Narrowable */)) { return declaredType; } var sharedFlowStart = sharedFlowCount; @@ -38977,7 +39164,7 @@ var ts; // on empty arrays are possible without implicit any errors and new element types can be inferred without // type mismatch errors. var resultType = ts.getObjectFlags(evolvedType) & 256 /* EvolvingArray */ && isEvolvingArrayOperationTarget(reference) ? anyArrayType : finalizeEvolvingArrayType(evolvedType); - if (reference.parent && reference.parent.kind === 208 /* NonNullExpression */ && getTypeWithFacts(resultType, 524288 /* NEUndefinedOrNull */).flags & 16384 /* Never */) { + if (reference.parent && reference.parent.kind === 209 /* NonNullExpression */ && getTypeWithFacts(resultType, 524288 /* NEUndefinedOrNull */).flags & 32768 /* Never */) { return declaredType; } return resultType; @@ -38987,7 +39174,7 @@ var ts; // and disable further control flow analysis in the containing function or module body. flowAnalysisDisabled = true; reportFlowControlError(reference); - return unknownType; + return errorType; } flowDepth++; while (true) { @@ -39048,7 +39235,7 @@ var ts; else if (flags & 2 /* Start */) { // Check if we should continue with the control flow of the containing function. var container = flow.container; - if (container && container !== flowContainer && reference.kind !== 184 /* PropertyAccessExpression */ && reference.kind !== 99 /* ThisKeyword */) { + if (container && container !== flowContainer && reference.kind !== 185 /* PropertyAccessExpression */ && reference.kind !== 99 /* ThisKeyword */) { flow = container.flowNode; continue; } @@ -39086,7 +39273,7 @@ var ts; var assignedType = getBaseTypeOfLiteralType(getInitialOrAssignedType(node)); return isTypeAssignableTo(assignedType, declaredType) ? assignedType : anyArrayType; } - if (declaredType.flags & 131072 /* Union */) { + if (declaredType.flags & 262144 /* Union */) { return getAssignmentReducedType(declaredType, getInitialOrAssignedType(node)); } return declaredType; @@ -39104,7 +39291,7 @@ var ts; function getTypeAtFlowArrayMutation(flow) { if (declaredType === autoType || declaredType === autoArrayType) { var node = flow.node; - var expr = node.kind === 186 /* CallExpression */ ? + var expr = node.kind === 187 /* CallExpression */ ? node.expression.expression : node.left.expression; if (isMatchingReference(reference, getReferenceCandidate(expr))) { @@ -39112,7 +39299,7 @@ var ts; var type = getTypeFromFlowType(flowType); if (ts.getObjectFlags(type) & 256 /* EvolvingArray */) { var evolvedType_1 = type; - if (node.kind === 186 /* CallExpression */) { + if (node.kind === 187 /* CallExpression */) { for (var _i = 0, _a = node.arguments; _i < _a.length; _i++) { var arg = _a[_i]; evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, arg); @@ -39120,7 +39307,7 @@ var ts; } else { var indexType = getTypeOfExpression(node.left.argumentExpression); - if (isTypeAssignableToKind(indexType, 84 /* NumberLike */)) { + if (isTypeAssignableToKind(indexType, 168 /* NumberLike */)) { evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, node.right); } } @@ -39134,7 +39321,7 @@ var ts; function getTypeAtFlowCondition(flow) { var flowType = getTypeAtFlowNode(flow.antecedent); var type = getTypeFromFlowType(flowType); - if (type.flags & 16384 /* Never */) { + if (type.flags & 32768 /* Never */) { return flowType; } // If we have an antecedent type (meaning we're reachable in some way), we first @@ -39151,7 +39338,7 @@ var ts; return flowType; } var incomplete = isIncomplete(flowType); - var resultType = incomplete && narrowedType.flags & 16384 /* Never */ ? silentNeverType : narrowedType; + var resultType = incomplete && narrowedType.flags & 32768 /* Never */ ? silentNeverType : narrowedType; return createFlowType(resultType, incomplete); } function getTypeAtSwitchClause(flow) { @@ -39277,8 +39464,8 @@ var ts; return result; } function isMatchingReferenceDiscriminant(expr, computedType) { - return expr.kind === 184 /* PropertyAccessExpression */ && - computedType.flags & 131072 /* Union */ && + return expr.kind === 185 /* PropertyAccessExpression */ && + computedType.flags & 262144 /* Union */ && isMatchingReference(reference, expr.expression) && isDiscriminantProperty(computedType, expr.name.escapedText); } @@ -39311,7 +39498,7 @@ var ts; return !assumeTrue; } function narrowByInKeyword(type, literal, assumeTrue) { - if ((type.flags & (131072 /* Union */ | 65536 /* Object */)) || (type.flags & 32768 /* TypeParameter */ && type.isThisType)) { + if ((type.flags & (262144 /* Union */ | 131072 /* Object */)) || (type.flags & 65536 /* TypeParameter */ && type.isThisType)) { var propName_1 = ts.escapeLeadingUnderscores(literal.text); return filterType(type, function (t) { return isTypePresencePossible(t, propName_1, assumeTrue); }); } @@ -39328,10 +39515,10 @@ var ts; var operator_1 = expr.operatorToken.kind; var left_1 = getReferenceCandidate(expr.left); var right_1 = getReferenceCandidate(expr.right); - if (left_1.kind === 194 /* TypeOfExpression */ && ts.isStringLiteralLike(right_1)) { + if (left_1.kind === 195 /* TypeOfExpression */ && ts.isStringLiteralLike(right_1)) { return narrowTypeByTypeof(type, left_1, operator_1, right_1, assumeTrue); } - if (right_1.kind === 194 /* TypeOfExpression */ && ts.isStringLiteralLike(left_1)) { + if (right_1.kind === 195 /* TypeOfExpression */ && ts.isStringLiteralLike(left_1)) { return narrowTypeByTypeof(type, right_1, operator_1, left_1, assumeTrue); } if (isMatchingReference(reference, left_1)) { @@ -39371,24 +39558,24 @@ var ts; assumeTrue = !assumeTrue; } var valueType = getTypeOfExpression(value); - if (valueType.flags & 12288 /* Nullable */) { + if (valueType.flags & 24576 /* Nullable */) { if (!strictNullChecks) { return type; } var doubleEquals = operator === 32 /* EqualsEqualsToken */ || operator === 33 /* ExclamationEqualsToken */; var facts = doubleEquals ? assumeTrue ? 65536 /* EQUndefinedOrNull */ : 524288 /* NEUndefinedOrNull */ : - valueType.flags & 8192 /* Null */ ? + valueType.flags & 16384 /* Null */ ? assumeTrue ? 32768 /* EQNull */ : 262144 /* NENull */ : assumeTrue ? 16384 /* EQUndefined */ : 131072 /* NEUndefined */; return getTypeWithFacts(type, facts); } - if (type.flags & 134283777 /* NotUnionOrUnit */) { + if (type.flags & 16909315 /* NotUnionOrUnit */) { return type; } if (assumeTrue) { var narrowedType = filterType(type, function (t) { return areTypesComparable(t, valueType); }); - return narrowedType.flags & 16384 /* Never */ ? type : replacePrimitivesWithLiterals(narrowedType, valueType); + return narrowedType.flags & 32768 /* Never */ ? type : replacePrimitivesWithLiterals(narrowedType, valueType); } if (isUnitType(valueType)) { var regularType_1 = getRegularTypeOfLiteralType(valueType); @@ -39410,16 +39597,19 @@ var ts; if (operator === 33 /* ExclamationEqualsToken */ || operator === 35 /* ExclamationEqualsEqualsToken */) { assumeTrue = !assumeTrue; } - if (assumeTrue && !(type.flags & 131072 /* Union */)) { + if (type.flags & 1 /* Any */ && literal.text === "function") { + return type; + } + if (assumeTrue && !(type.flags & 262144 /* Union */)) { // We narrow a non-union type to an exact primitive type if the non-union type // is a supertype of that primitive type. For example, type 'any' can be narrowed // to one of the primitive types. - var targetType = typeofTypesByName.get(literal.text); + var targetType = literal.text === "function" ? globalFunctionType : typeofTypesByName.get(literal.text); if (targetType) { if (isTypeSubtypeOf(targetType, type)) { return targetType; } - if (type.flags & 7897088 /* Instantiable */) { + if (type.flags & 15794176 /* Instantiable */) { var constraint = getBaseConstraintOfType(type) || anyType; if (isTypeSubtypeOf(targetType, constraint)) { return getIntersectionType([type, targetType]); @@ -39441,13 +39631,13 @@ var ts; var clauseTypes = switchTypes.slice(clauseStart, clauseEnd); var hasDefaultClause = clauseStart === clauseEnd || ts.contains(clauseTypes, neverType); var discriminantType = getUnionType(clauseTypes); - var caseType = discriminantType.flags & 16384 /* Never */ ? neverType : + var caseType = discriminantType.flags & 32768 /* Never */ ? neverType : replacePrimitivesWithLiterals(filterType(type, function (t) { return areTypesComparable(discriminantType, t); }), discriminantType); if (!hasDefaultClause) { return caseType; } var defaultType = filterType(type, function (t) { return !(isUnitType(t) && ts.contains(switchTypes, getRegularTypeOfLiteralType(t))); }); - return caseType.flags & 16384 /* Never */ ? defaultType : getUnionType([caseType, defaultType]); + return caseType.flags & 32768 /* Never */ ? defaultType : getUnionType([caseType, defaultType]); } function narrowTypeByInstanceof(type, expr, assumeTrue) { var left = getReferenceCandidate(expr.left); @@ -39501,9 +39691,9 @@ var ts; } // If the current type is a union type, remove all constituents that couldn't be instances of // the candidate type. If one or more constituents remain, return a union of those. - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { var assignableType = filterType(type, function (t) { return isRelated(t, candidate); }); - if (!(assignableType.flags & 16384 /* Never */)) { + if (!(assignableType.flags & 32768 /* Never */)) { return assignableType; } } @@ -39543,7 +39733,7 @@ var ts; } else { var invokedExpression = ts.skipParentheses(callExpression.expression); - if (invokedExpression.kind === 185 /* ElementAccessExpression */ || invokedExpression.kind === 184 /* PropertyAccessExpression */) { + if (invokedExpression.kind === 186 /* ElementAccessExpression */ || invokedExpression.kind === 185 /* PropertyAccessExpression */) { var accessExpression = invokedExpression; var possibleReference = ts.skipParentheses(accessExpression.expression); if (isMatchingReference(reference, possibleReference)) { @@ -39563,15 +39753,15 @@ var ts; case 71 /* Identifier */: case 99 /* ThisKeyword */: case 97 /* SuperKeyword */: - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return narrowTypeByTruthiness(type, expr, assumeTrue); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return narrowTypeByTypePredicate(type, expr, assumeTrue); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return narrowType(type, expr.expression, assumeTrue); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return narrowTypeByBinaryExpression(type, expr, assumeTrue); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: if (expr.operator === 51 /* ExclamationToken */) { return narrowType(type, expr.operand, !assumeTrue); } @@ -39607,9 +39797,9 @@ var ts; function getControlFlowContainer(node) { return ts.findAncestor(node.parent, function (node) { return ts.isFunctionLike(node) && !ts.getImmediatelyInvokedFunctionExpression(node) || - node.kind === 239 /* ModuleBlock */ || - node.kind === 273 /* SourceFile */ || - node.kind === 151 /* PropertyDeclaration */; + node.kind === 240 /* ModuleBlock */ || + node.kind === 274 /* SourceFile */ || + node.kind === 152 /* PropertyDeclaration */; }); } // Check if a parameter is assigned anywhere within its declaring function. @@ -39631,7 +39821,7 @@ var ts; if (node.kind === 71 /* Identifier */) { if (ts.isAssignmentTarget(node)) { var symbol = getResolvedSymbol(node); - if (symbol.valueDeclaration && ts.getRootDeclaration(symbol.valueDeclaration).kind === 148 /* Parameter */) { + if (symbol.valueDeclaration && ts.getRootDeclaration(symbol.valueDeclaration).kind === 149 /* Parameter */) { symbol.isAssigned = true; } } @@ -39646,21 +39836,21 @@ var ts; /** remove undefined from the annotated type of a parameter when there is an initializer (that doesn't include undefined) */ function removeOptionalityFromDeclaredType(declaredType, declaration) { var annotationIncludesUndefined = strictNullChecks && - declaration.kind === 148 /* Parameter */ && + declaration.kind === 149 /* Parameter */ && declaration.initializer && - getFalsyFlags(declaredType) & 4096 /* Undefined */ && - !(getFalsyFlags(checkExpression(declaration.initializer)) & 4096 /* Undefined */); + getFalsyFlags(declaredType) & 8192 /* Undefined */ && + !(getFalsyFlags(checkExpression(declaration.initializer)) & 8192 /* Undefined */); return annotationIncludesUndefined ? getTypeWithFacts(declaredType, 131072 /* NEUndefined */) : declaredType; } function isConstraintPosition(node) { var parent = node.parent; - return parent.kind === 184 /* PropertyAccessExpression */ || - parent.kind === 186 /* CallExpression */ && parent.expression === node || - parent.kind === 185 /* ElementAccessExpression */ && parent.expression === node || - parent.kind === 181 /* BindingElement */ && parent.name === node && !!parent.initializer; + return parent.kind === 185 /* PropertyAccessExpression */ || + parent.kind === 187 /* CallExpression */ && parent.expression === node || + parent.kind === 186 /* ElementAccessExpression */ && parent.expression === node || + parent.kind === 182 /* BindingElement */ && parent.name === node && !!parent.initializer; } function typeHasNullableConstraint(type) { - return type.flags & 7372800 /* InstantiableNonPrimitive */ && maybeTypeOfKind(getBaseConstraintOfType(type) || emptyObjectType, 12288 /* Nullable */); + return type.flags & 14745600 /* InstantiableNonPrimitive */ && maybeTypeOfKind(getBaseConstraintOfType(type) || emptyObjectType, 24576 /* Nullable */); } function getConstraintForLocation(type, node) { // When a node is the left hand expression of a property access, element access, or call expression, @@ -39680,7 +39870,7 @@ var ts; function checkIdentifier(node) { var symbol = getResolvedSymbol(node); if (symbol === unknownSymbol) { - return unknownType; + return errorType; } // As noted in ECMAScript 6 language spec, arrow functions never have an arguments objects. // Although in down-level emit of arrow function, we emit it using function expression which means that @@ -39691,7 +39881,7 @@ var ts; if (symbol === argumentsSymbol) { var container = ts.getContainingFunction(node); if (languageVersion < 2 /* ES2015 */) { - if (container.kind === 192 /* ArrowFunction */) { + if (container.kind === 193 /* ArrowFunction */) { error(node, ts.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression); } else if (ts.hasModifier(container, 256 /* Async */)) { @@ -39712,7 +39902,7 @@ var ts; // Due to the emit for class decorators, any reference to the class from inside of the class body // must instead be rewritten to point to a temporary variable to avoid issues with the double-bind // behavior of class names in ES6. - if (declaration.kind === 234 /* ClassDeclaration */ + if (declaration.kind === 235 /* ClassDeclaration */ && ts.nodeIsDecorated(declaration)) { var container = ts.getContainingClass(node); while (container !== undefined) { @@ -39724,14 +39914,14 @@ var ts; container = ts.getContainingClass(container); } } - else if (declaration.kind === 204 /* ClassExpression */) { + else if (declaration.kind === 205 /* ClassExpression */) { // When we emit a class expression with static members that contain a reference // to the constructor in the initializer, we will need to substitute that // binding with an alias as the class name is not in scope. var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); - while (container !== undefined) { + while (container.kind !== 274 /* SourceFile */) { if (container.parent === declaration) { - if (container.kind === 151 /* PropertyDeclaration */ && ts.hasModifier(container, 32 /* Static */)) { + if (container.kind === 152 /* PropertyDeclaration */ && ts.hasModifier(container, 32 /* Static */)) { getNodeLinks(declaration).flags |= 8388608 /* ClassWithConstructorReference */; getNodeLinks(node).flags |= 16777216 /* ConstructorReferenceInClass */; } @@ -39748,11 +39938,11 @@ var ts; if (!(localOrExportSymbol.flags & 3 /* Variable */) && !(ts.isInJavaScriptFile(node) && localOrExportSymbol.flags & 512 /* ValueModule */)) { error(node, ts.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable, symbolToString(symbol)); - return unknownType; + return errorType; } if (isReadonlySymbol(localOrExportSymbol)) { error(node, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, symbolToString(symbol)); - return unknownType; + return errorType; } } var isAlias = localOrExportSymbol.flags & 2097152 /* Alias */; @@ -39775,7 +39965,7 @@ var ts; // The declaration container is the innermost function that encloses the declaration of the variable // or parameter. The flow container is the innermost function starting with which we analyze the control // flow graph to determine the control flow based type. - var isParameter = ts.getRootDeclaration(declaration).kind === 148 /* Parameter */; + var isParameter = ts.getRootDeclaration(declaration).kind === 149 /* Parameter */; var declarationContainer = getControlFlowContainer(declaration); var flowContainer = getControlFlowContainer(node); var isOuterVariable = flowContainer !== declarationContainer; @@ -39783,8 +39973,8 @@ var ts; // When the control flow originates in a function expression or arrow function and we are referencing // a const variable or parameter from an outer function, we extend the origin of the control flow // analysis to include the immediately enclosing function. - while (flowContainer !== declarationContainer && (flowContainer.kind === 191 /* FunctionExpression */ || - flowContainer.kind === 192 /* ArrowFunction */ || ts.isObjectLiteralOrClassExpressionMethod(flowContainer)) && + while (flowContainer !== declarationContainer && (flowContainer.kind === 192 /* FunctionExpression */ || + flowContainer.kind === 193 /* ArrowFunction */ || ts.isObjectLiteralOrClassExpressionMethod(flowContainer)) && (isConstVariable(localOrExportSymbol) || isParameter && !isParameterAssigned(localOrExportSymbol))) { flowContainer = getControlFlowContainer(flowContainer); } @@ -39792,10 +39982,10 @@ var ts; // the entire control flow graph from the variable's declaration (i.e. when the flow container and // declaration container are the same). var assumeInitialized = isParameter || isAlias || isOuterVariable || isSpreadDestructuringAsignmentTarget || - type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & 1 /* Any */) !== 0 || - isInTypeQuery(node) || node.parent.kind === 251 /* ExportSpecifier */) || - node.parent.kind === 208 /* NonNullExpression */ || - declaration.kind === 231 /* VariableDeclaration */ && declaration.exclamationToken || + type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & 3 /* AnyOrUnknown */) !== 0 || + isInTypeQuery(node) || node.parent.kind === 252 /* ExportSpecifier */) || + node.parent.kind === 209 /* NonNullExpression */ || + declaration.kind === 232 /* VariableDeclaration */ && declaration.exclamationToken || declaration.flags & 4194304 /* Ambient */; var initialType = assumeInitialized ? (isParameter ? removeOptionalityFromDeclaredType(type, declaration) : type) : type === autoType || type === autoArrayType ? undefinedType : @@ -39813,7 +40003,7 @@ var ts; return convertAutoToAny(flowType); } } - else if (!assumeInitialized && !(getFalsyFlags(type) & 4096 /* Undefined */) && getFalsyFlags(flowType) & 4096 /* Undefined */) { + else if (!assumeInitialized && !(getFalsyFlags(type) & 8192 /* Undefined */) && getFalsyFlags(flowType) & 8192 /* Undefined */) { error(node, ts.Diagnostics.Variable_0_is_used_before_being_assigned, symbolToString(symbol)); // Return the declared type to reduce follow-on errors return type; @@ -39826,7 +40016,7 @@ var ts; function checkNestedBlockScopedBinding(node, symbol) { if (languageVersion >= 2 /* ES2015 */ || (symbol.flags & (2 /* BlockScopedVariable */ | 32 /* Class */)) === 0 || - symbol.valueDeclaration.parent.kind === 268 /* CatchClause */) { + symbol.valueDeclaration.parent.kind === 269 /* CatchClause */) { return; } // 1. walk from the use site up to the declaration and check @@ -39851,8 +40041,8 @@ var ts; } // mark variables that are declared in loop initializer and reassigned inside the body of ForStatement. // if body of ForStatement will be converted to function then we'll need a extra machinery to propagate reassigned values back. - if (container.kind === 219 /* ForStatement */ && - ts.getAncestor(symbol.valueDeclaration, 232 /* VariableDeclarationList */).parent === container && + if (container.kind === 220 /* ForStatement */ && + ts.getAncestor(symbol.valueDeclaration, 233 /* VariableDeclarationList */).parent === container && isAssignedInBodyOfForStatement(node, container)) { getNodeLinks(symbol.valueDeclaration).flags |= 2097152 /* NeedsLoopOutParameter */; } @@ -39866,7 +40056,7 @@ var ts; function isAssignedInBodyOfForStatement(node, container) { // skip parenthesized nodes var current = node; - while (current.parent.kind === 190 /* ParenthesizedExpression */) { + while (current.parent.kind === 191 /* ParenthesizedExpression */) { current = current.parent; } // check if node is used as LHS in some assignment expression @@ -39874,7 +40064,7 @@ var ts; if (ts.isAssignmentTarget(current)) { isAssigned = true; } - else if ((current.parent.kind === 197 /* PrefixUnaryExpression */ || current.parent.kind === 198 /* PostfixUnaryExpression */)) { + else if ((current.parent.kind === 198 /* PrefixUnaryExpression */ || current.parent.kind === 199 /* PostfixUnaryExpression */)) { var expr = current.parent; isAssigned = expr.operator === 43 /* PlusPlusToken */ || expr.operator === 44 /* MinusMinusToken */; } @@ -39887,7 +40077,7 @@ var ts; } function captureLexicalThis(node, container) { getNodeLinks(node).flags |= 2 /* LexicalThis */; - if (container.kind === 151 /* PropertyDeclaration */ || container.kind === 154 /* Constructor */) { + if (container.kind === 152 /* PropertyDeclaration */ || container.kind === 155 /* Constructor */) { var classNode = container.parent; getNodeLinks(classNode).flags |= 4 /* CaptureThis */; } @@ -39955,38 +40145,38 @@ var ts; // tell whether 'this' needs to be captured. var container = ts.getThisContainer(node, /* includeArrowFunctions */ true); var needToCaptureLexicalThis = false; - if (container.kind === 154 /* Constructor */) { + if (container.kind === 155 /* Constructor */) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class); } // Now skip arrow functions to get the "real" owner of 'this'. - if (container.kind === 192 /* ArrowFunction */) { + if (container.kind === 193 /* ArrowFunction */) { container = ts.getThisContainer(container, /* includeArrowFunctions */ false); // When targeting es6, arrow function lexically bind "this" so we do not need to do the work of binding "this" in emitted code needToCaptureLexicalThis = (languageVersion < 2 /* ES2015 */); } switch (container.kind) { - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_current_location); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks break; - case 154 /* Constructor */: + case 155 /* Constructor */: if (isInConstructorArgumentInitializer(node, container)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_constructor_arguments); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks } break; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: if (ts.hasModifier(container, 32 /* Static */)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks } break; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name); break; } @@ -40007,8 +40197,8 @@ var ts; // Note: a parameter initializer should refer to class-this unless function-this is explicitly annotated. // If this is a function in a JS file, it might be a class method. Check if it's the RHS // of a x.prototype.y = function [name]() { .... } - if (container.kind === 191 /* FunctionExpression */ && - container.parent.kind === 199 /* BinaryExpression */ && + if (container.kind === 192 /* FunctionExpression */ && + container.parent.kind === 200 /* BinaryExpression */ && ts.getSpecialPropertyAssignmentKind(container.parent) === 3 /* PrototypeProperty */) { // Get the 'x' of 'x.prototype.y = f' (here, 'f' is 'container') var className = container.parent // x.prototype.y = f @@ -40032,14 +40222,14 @@ var ts; } if (ts.isInJavaScriptFile(node)) { var type = getTypeForThisExpressionFromJSDoc(container); - if (type && type !== unknownType) { + if (type && type !== errorType) { return getFlowTypeOfReference(node, type); } } } function getTypeForThisExpressionFromJSDoc(node) { var jsdocType = ts.getJSDocType(node); - if (jsdocType && jsdocType.kind === 283 /* JSDocFunctionType */) { + if (jsdocType && jsdocType.kind === 284 /* JSDocFunctionType */) { var jsDocFunctionType = jsdocType; if (jsDocFunctionType.parameters.length > 0 && jsDocFunctionType.parameters[0].name && @@ -40049,15 +40239,15 @@ var ts; } } function isInConstructorArgumentInitializer(node, constructorDecl) { - return !!ts.findAncestor(node, function (n) { return n === constructorDecl ? "quit" : n.kind === 148 /* Parameter */; }); + return !!ts.findAncestor(node, function (n) { return n === constructorDecl ? "quit" : n.kind === 149 /* Parameter */; }); } function checkSuperExpression(node) { - var isCallExpression = node.parent.kind === 186 /* CallExpression */ && node.parent.expression === node; + var isCallExpression = node.parent.kind === 187 /* CallExpression */ && node.parent.expression === node; var container = ts.getSuperContainer(node, /*stopOnFunctions*/ true); var needToCaptureLexicalThis = false; // adjust the container reference in case if super is used inside arrow functions with arbitrarily deep nesting if (!isCallExpression) { - while (container && container.kind === 192 /* ArrowFunction */) { + while (container && container.kind === 193 /* ArrowFunction */) { container = ts.getSuperContainer(container, /*stopOnFunctions*/ true); needToCaptureLexicalThis = languageVersion < 2 /* ES2015 */; } @@ -40070,22 +40260,22 @@ var ts; // class B { // [super.foo()]() {} // } - var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 146 /* ComputedPropertyName */; }); - if (current && current.kind === 146 /* ComputedPropertyName */) { + var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 147 /* ComputedPropertyName */; }); + if (current && current.kind === 147 /* ComputedPropertyName */) { error(node, ts.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name); } else if (isCallExpression) { error(node, ts.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors); } - else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 183 /* ObjectLiteralExpression */)) { + else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 184 /* ObjectLiteralExpression */)) { error(node, ts.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions); } else { error(node, ts.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class); } - return unknownType; + return errorType; } - if (!isCallExpression && container.kind === 154 /* Constructor */) { + if (!isCallExpression && container.kind === 155 /* Constructor */) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class); } if (ts.hasModifier(container, 32 /* Static */) || isCallExpression) { @@ -40151,7 +40341,7 @@ var ts; // This helper creates an object with a "value" property that wraps the `super` property or indexed access for both get and set. // This is required for destructuring assignments, as a call expression cannot be used as the target of a destructuring assignment // while a property access can. - if (container.kind === 153 /* MethodDeclaration */ && ts.hasModifier(container, 256 /* Async */)) { + if (container.kind === 154 /* MethodDeclaration */ && ts.hasModifier(container, 256 /* Async */)) { if (ts.isSuperProperty(node.parent) && ts.isAssignmentTarget(node.parent)) { getNodeLinks(container).flags |= 4096 /* AsyncMethodWithSuperBinding */; } @@ -40165,10 +40355,10 @@ var ts; // in this case they should also use correct lexical this captureLexicalThis(node.parent, container); } - if (container.parent.kind === 183 /* ObjectLiteralExpression */) { + if (container.parent.kind === 184 /* ObjectLiteralExpression */) { if (languageVersion < 2 /* ES2015 */) { error(node, ts.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher); - return unknownType; + return errorType; } else { // for object literal assume that type of 'super' is 'any' @@ -40179,17 +40369,17 @@ var ts; var classLikeDeclaration = container.parent; if (!ts.getClassExtendsHeritageClauseElement(classLikeDeclaration)) { error(node, ts.Diagnostics.super_can_only_be_referenced_in_a_derived_class); - return unknownType; + return errorType; } var classType = getDeclaredTypeOfSymbol(getSymbolOfNode(classLikeDeclaration)); var baseClassType = classType && getBaseTypes(classType)[0]; if (!baseClassType) { - return unknownType; + return errorType; } - if (container.kind === 154 /* Constructor */ && isInConstructorArgumentInitializer(node, container)) { + if (container.kind === 155 /* Constructor */ && isInConstructorArgumentInitializer(node, container)) { // issue custom error message for super property access in constructor arguments (to be aligned with old compiler) error(node, ts.Diagnostics.super_cannot_be_referenced_in_constructor_arguments); - return unknownType; + return errorType; } return nodeCheckFlag === 512 /* SuperStatic */ ? getBaseConstructorTypeOfClass(classType) @@ -40201,7 +40391,7 @@ var ts; if (isCallExpression) { // TS 1.0 SPEC (April 2014): 4.8.1 // Super calls are only permitted in constructors of derived classes - return container.kind === 154 /* Constructor */; + return container.kind === 155 /* Constructor */; } else { // TS 1.0 SPEC (April 2014) @@ -40209,21 +40399,21 @@ var ts; // - In a constructor, instance member function, instance member accessor, or instance member variable initializer where this references a derived class instance // - In a static member function or static member accessor // topmost container must be something that is directly nested in the class declaration\object literal expression - if (ts.isClassLike(container.parent) || container.parent.kind === 183 /* ObjectLiteralExpression */) { + if (ts.isClassLike(container.parent) || container.parent.kind === 184 /* ObjectLiteralExpression */) { if (ts.hasModifier(container, 32 /* Static */)) { - return container.kind === 153 /* MethodDeclaration */ || - container.kind === 152 /* MethodSignature */ || - container.kind === 155 /* GetAccessor */ || - container.kind === 156 /* SetAccessor */; + return container.kind === 154 /* MethodDeclaration */ || + container.kind === 153 /* MethodSignature */ || + container.kind === 156 /* GetAccessor */ || + container.kind === 157 /* SetAccessor */; } else { - return container.kind === 153 /* MethodDeclaration */ || - container.kind === 152 /* MethodSignature */ || - container.kind === 155 /* GetAccessor */ || - container.kind === 156 /* SetAccessor */ || - container.kind === 151 /* PropertyDeclaration */ || - container.kind === 150 /* PropertySignature */ || - container.kind === 154 /* Constructor */; + return container.kind === 154 /* MethodDeclaration */ || + container.kind === 153 /* MethodSignature */ || + container.kind === 156 /* GetAccessor */ || + container.kind === 157 /* SetAccessor */ || + container.kind === 152 /* PropertyDeclaration */ || + container.kind === 151 /* PropertySignature */ || + container.kind === 155 /* Constructor */; } } } @@ -40231,10 +40421,10 @@ var ts; } } function getContainingObjectLiteral(func) { - return (func.kind === 153 /* MethodDeclaration */ || - func.kind === 155 /* GetAccessor */ || - func.kind === 156 /* SetAccessor */) && func.parent.kind === 183 /* ObjectLiteralExpression */ ? func.parent : - func.kind === 191 /* FunctionExpression */ && func.parent.kind === 269 /* PropertyAssignment */ ? func.parent.parent : + return (func.kind === 154 /* MethodDeclaration */ || + func.kind === 156 /* GetAccessor */ || + func.kind === 157 /* SetAccessor */) && func.parent.kind === 184 /* ObjectLiteralExpression */ ? func.parent : + func.kind === 192 /* FunctionExpression */ && func.parent.kind === 270 /* PropertyAssignment */ ? func.parent.parent : undefined; } function getThisTypeArgument(type) { @@ -40242,11 +40432,11 @@ var ts; } function getThisTypeFromContextualType(type) { return mapType(type, function (t) { - return t.flags & 262144 /* Intersection */ ? ts.forEach(t.types, getThisTypeArgument) : getThisTypeArgument(t); + return t.flags & 524288 /* Intersection */ ? ts.forEach(t.types, getThisTypeArgument) : getThisTypeArgument(t); }); } function getContextualThisParameterType(func) { - if (func.kind === 192 /* ArrowFunction */) { + if (func.kind === 193 /* ArrowFunction */) { return undefined; } if (isContextSensitiveFunctionOrObjectLiteralMethod(func)) { @@ -40273,7 +40463,7 @@ var ts; if (thisType) { return instantiateType(thisType, getContextualMapper(containingLiteral)); } - if (literal.parent.kind !== 269 /* PropertyAssignment */) { + if (literal.parent.kind !== 270 /* PropertyAssignment */) { break; } literal = literal.parent.parent; @@ -40287,9 +40477,9 @@ var ts; // In an assignment of the form 'obj.xxx = function(...)' or 'obj[xxx] = function(...)', the // contextual type for 'this' is 'obj'. var parent = func.parent; - if (parent.kind === 199 /* BinaryExpression */ && parent.operatorToken.kind === 58 /* EqualsToken */) { + if (parent.kind === 200 /* BinaryExpression */ && parent.operatorToken.kind === 58 /* EqualsToken */) { var target = parent.left; - if (target.kind === 184 /* PropertyAccessExpression */ || target.kind === 185 /* ElementAccessExpression */) { + if (target.kind === 185 /* PropertyAccessExpression */ || target.kind === 186 /* ElementAccessExpression */) { var expression = target.expression; // Don't contextually type `this` as `exports` in `exports.Point = function(x, y) { this.x = x; this.y = y; }` if (inJs && ts.isIdentifier(expression)) { @@ -40345,7 +40535,7 @@ var ts; if (funcHasRestParameters && indexOfParameter === (func.parameters.length - 1) && isRestParameterIndex(contextualSignature, func.parameters.length - 1)) { - return getTypeOfSymbol(ts.lastOrUndefined(contextualSignature.parameters)); + return getTypeOfSymbol(ts.last(contextualSignature.parameters)); } } } @@ -40364,7 +40554,7 @@ var ts; if (typeNode) { return getTypeFromTypeNode(typeNode); } - if (declaration.kind === 148 /* Parameter */) { + if (declaration.kind === 149 /* Parameter */) { var type = getContextuallyTypedParameterType(declaration); if (type) { return type; @@ -40376,7 +40566,7 @@ var ts; if (ts.isBindingPattern(declaration.parent)) { var parentDeclaration = declaration.parent.parent; var name = declaration.propertyName || declaration.name; - if (parentDeclaration.kind !== 181 /* BindingElement */) { + if (parentDeclaration.kind !== 182 /* BindingElement */) { var parentTypeNode = ts.getEffectiveTypeAnnotationNode(parentDeclaration); if (parentTypeNode && !ts.isBindingPattern(name)) { var text = ts.getTextOfPropertyName(name); @@ -40432,7 +40622,7 @@ var ts; function getContextualReturnType(functionDecl) { // If the containing function has a return type annotation, is a constructor, or is a get accessor whose // corresponding set accessor has a type annotation, return statements in the function are contextually typed - if (functionDecl.kind === 154 /* Constructor */ || + if (functionDecl.kind === 155 /* Constructor */ || ts.getEffectiveReturnTypeNode(functionDecl) || isGetAccessorWithAnnotatedSetAccessor(functionDecl)) { return getReturnTypeOfSignature(getSignatureFromDeclaration(functionDecl)); @@ -40447,7 +40637,7 @@ var ts; } // In a typed function call, an argument or substitution expression is contextually typed by the type of the corresponding parameter. function getContextualTypeForArgument(callTarget, arg) { - var args = getEffectiveCallArguments(callTarget); + var args = getEffectiveCallArguments(callTarget); // TODO: GH#18217 var argIndex = args.indexOf(arg); // -1 for e.g. the expression of a CallExpression, or the tag of a TaggedTemplateExpression return argIndex === -1 ? undefined : getContextualTypeForArgumentAtIndex(callTarget, argIndex); } @@ -40458,7 +40648,7 @@ var ts; return getTypeAtPosition(signature, argIndex); } function getContextualTypeForSubstitutionExpression(template, substitutionExpression) { - if (template.parent.kind === 188 /* TaggedTemplateExpression */) { + if (template.parent.kind === 189 /* TaggedTemplateExpression */) { return getContextualTypeForArgument(template.parent, substitutionExpression); } return undefined; @@ -40474,7 +40664,7 @@ var ts; // expression has no contextual type, the right operand is contextually typed by the type of the left operand, // except for the special case of Javascript declarations of the form `namespace.prop = namespace.prop || {}` var type = getContextualType(binaryExpression); - return !type && node === right && !ts.getDeclaredJavascriptInitializer(binaryExpression.parent) && !ts.getAssignedJavascriptInitializer(binaryExpression) ? + return !type && node === right && !ts.isDefaultedJavascriptInitializer(binaryExpression) ? getTypeOfExpression(left) : type; case 53 /* AmpersandAmpersandToken */: case 26 /* CommaToken */: @@ -40501,12 +40691,12 @@ var ts; case 6 /* Prototype */: return false; default: - ts.Debug.assertNever(kind); + return ts.Debug.assertNever(kind); } } function getTypeOfPropertyOfContextualType(type, name) { return mapType(type, function (t) { - var prop = t.flags & 458752 /* StructuredType */ ? getPropertyOfType(t, name) : undefined; + var prop = t.flags & 917504 /* StructuredType */ ? getPropertyOfType(t, name) : undefined; return prop ? getTypeOfSymbol(prop) : undefined; }, /*noReductions*/ true); } @@ -40515,7 +40705,7 @@ var ts; } // Return true if the given contextual type is a tuple-like type function contextualTypeIsTupleLikeType(type) { - return !!(type.flags & 131072 /* Union */ ? ts.forEach(type.types, isTupleLikeType) : isTupleLikeType(type)); + return !!(type.flags & 262144 /* Union */ ? ts.forEach(type.types, isTupleLikeType) : isTupleLikeType(type)); } // In an object literal contextually typed by a type T, the contextual type of a property assignment is the type of // the matching property in T, if one exists. Otherwise, it is the type of the numeric index signature in T, if one @@ -40590,12 +40780,31 @@ var ts; return getContextualType(attribute.parent); } } + // Return true if the given expression is possibly a discriminant value. We limit the kinds of + // expressions we check to those that don't depend on their contextual type in order not to cause + // recursive (and possibly infinite) invocations of getContextualType. + function isPossiblyDiscriminantValue(node) { + switch (node.kind) { + case 9 /* StringLiteral */: + case 8 /* NumericLiteral */: + case 13 /* NoSubstitutionTemplateLiteral */: + case 101 /* TrueKeyword */: + case 86 /* FalseKeyword */: + case 95 /* NullKeyword */: + case 71 /* Identifier */: + return true; + case 185 /* PropertyAccessExpression */: + case 191 /* ParenthesizedExpression */: + return isPossiblyDiscriminantValue(node.expression); + } + return false; + } // Return the contextual type for a given expression node. During overload resolution, a contextual type may temporarily // be "pushed" onto a node using the contextualType property. function getApparentTypeOfContextualType(node) { var contextualType = getContextualType(node); contextualType = contextualType && mapType(contextualType, getApparentType); - if (!(contextualType && contextualType.flags & 131072 /* Union */ && ts.isObjectLiteralExpression(node))) { + if (!(contextualType && contextualType.flags & 262144 /* Union */ && ts.isObjectLiteralExpression(node))) { return contextualType; } // Keep the below up-to-date with the work done within `isRelatedTo` by `findMatchingDiscriminantType` @@ -40604,10 +40813,10 @@ var ts; var prop = _a[_i]; if (!prop.symbol) continue; - if (prop.kind !== 269 /* PropertyAssignment */) + if (prop.kind !== 270 /* PropertyAssignment */) continue; - if (isDiscriminantProperty(contextualType, prop.symbol.escapedName)) { - var discriminatingType = getTypeOfNode(prop.initializer); + if (isPossiblyDiscriminantValue(prop.initializer) && isDiscriminantProperty(contextualType, prop.symbol.escapedName)) { + var discriminatingType = checkExpression(prop.initializer); for (var _b = 0, _c = contextualType.types; _b < _c.length; _b++) { var type = _c[_b]; var targetType = getTypeOfPropertyOfType(type, prop.symbol.escapedName); @@ -40652,59 +40861,59 @@ var ts; } var parent = node.parent; switch (parent.kind) { - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 181 /* BindingElement */: + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 182 /* BindingElement */: return getContextualTypeForInitializerExpression(node); - case 192 /* ArrowFunction */: - case 224 /* ReturnStatement */: + case 193 /* ArrowFunction */: + case 225 /* ReturnStatement */: return getContextualTypeForReturnExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return getContextualTypeForYieldOperand(parent); - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: return getContextualTypeForArgument(parent, node); - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: return getTypeFromTypeNode(parent.type); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return getContextualTypeForBinaryOperand(node); - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return getContextualTypeForObjectLiteralElement(parent); - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: return getApparentTypeOfContextualType(parent.parent); - case 182 /* ArrayLiteralExpression */: { + case 183 /* ArrayLiteralExpression */: { var arrayLiteral = parent; var type = getApparentTypeOfContextualType(arrayLiteral); return getContextualTypeForElementExpression(type, ts.indexOfNode(arrayLiteral.elements, node)); } - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return getContextualTypeForConditionalOperand(node); - case 210 /* TemplateSpan */: - ts.Debug.assert(parent.parent.kind === 201 /* TemplateExpression */); + case 211 /* TemplateSpan */: + ts.Debug.assert(parent.parent.kind === 202 /* TemplateExpression */); return getContextualTypeForSubstitutionExpression(parent.parent, node); - case 190 /* ParenthesizedExpression */: { + case 191 /* ParenthesizedExpression */: { // Like in `checkParenthesizedExpression`, an `/** @type {xyz} */` comment before a parenthesized expression acts as a type cast. var tag = ts.isInJavaScriptFile(parent) ? ts.getJSDocTypeTag(parent) : undefined; return tag ? getTypeFromTypeNode(tag.typeExpression.type) : getContextualType(parent); } - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return getContextualTypeForJsxExpression(parent); - case 261 /* JsxAttribute */: - case 263 /* JsxSpreadAttribute */: + case 262 /* JsxAttribute */: + case 264 /* JsxSpreadAttribute */: return getContextualTypeForJsxAttribute(parent); - case 256 /* JsxOpeningElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: return getContextualJsxElementAttributesType(parent); } return undefined; } function getContextualMapper(node) { - node = ts.findAncestor(node, function (n) { return !!n.contextualMapper; }); - return node ? node.contextualMapper : identityMapper; + var ancestor = ts.findAncestor(node, function (n) { return !!n.contextualMapper; }); + return ancestor ? ancestor.contextualMapper : identityMapper; } function getContextualJsxElementAttributesType(node) { if (isJsxIntrinsicIdentifier(node.tagName)) { @@ -40720,16 +40929,16 @@ var ts; } function getJsxSignaturesParameterTypes(valueType, isJs, context) { // If the elemType is a string type, we have to return anyType to prevent an error downstream as we will try to find construct or call signature of the type - if (valueType.flags & 2 /* String */) { + if (valueType.flags & 4 /* String */) { return anyType; } - else if (valueType.flags & 32 /* StringLiteral */) { + else if (valueType.flags & 64 /* StringLiteral */) { // If the elemType is a stringLiteral type, we can then provide a check to make sure that the string literal type is one of the Jsx intrinsic element type // For example: // var CustomTag: "h1" = "h1"; // Hello World var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, context); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { var stringLiteralTypeName = valueType.value; var intrinsicProp = getPropertyOfType(intrinsicElementsType, ts.escapeLeadingUnderscores(stringLiteralTypeName)); if (intrinsicProp) { @@ -40751,7 +40960,7 @@ var ts; ctor = false; if (signatures.length === 0) { // We found no signatures at all, which is an error - return unknownType; + return errorType; } } var links = getNodeLinks(context); @@ -40772,7 +40981,7 @@ var ts; function getJsxPropsTypeFromCallSignature(sig, context) { var propsType = getTypeOfFirstParameterOfSignatureWithFallback(sig, emptyObjectType); var intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context); - if (intrinsicAttribs !== unknownType) { + if (intrinsicAttribs !== errorType) { propsType = intersectTypes(intrinsicAttribs, propsType); } return propsType; @@ -40806,7 +41015,7 @@ var ts; // Normal case -- add in IntrinsicClassElements and IntrinsicElements var apparentAttributesType = attributesType; var intrinsicClassAttribs = getJsxType(JsxNames.IntrinsicClassAttributes, context); - if (intrinsicClassAttribs !== unknownType) { + if (intrinsicClassAttribs !== errorType) { var typeParams = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(intrinsicClassAttribs.symbol); var hostClassType = getReturnTypeOfSignature(sig); apparentAttributesType = intersectTypes(typeParams @@ -40814,7 +41023,7 @@ var ts; : intrinsicClassAttribs, apparentAttributesType); } var intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context); - if (intrinsicAttribs !== unknownType) { + if (intrinsicAttribs !== errorType) { apparentAttributesType = intersectTypes(intrinsicAttribs, apparentAttributesType); } return apparentAttributesType; @@ -40847,7 +41056,7 @@ var ts; return sourceLength < targetParameterCount; } function isFunctionExpressionOrArrowFunction(node) { - return node.kind === 191 /* FunctionExpression */ || node.kind === 192 /* ArrowFunction */; + return node.kind === 192 /* FunctionExpression */ || node.kind === 193 /* ArrowFunction */; } function getContextualSignatureForFunctionLikeDeclaration(node) { // Only function expressions, arrow functions, and object literal methods are contextually typed. @@ -40866,7 +41075,7 @@ var ts; // all identical ignoring their return type, the result is same signature but with return type as // union type of return types from these signatures function getContextualSignature(node) { - ts.Debug.assert(node.kind !== 153 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); var type; if (ts.isInJavaScriptFile(node)) { var jsdoc = ts.getJSDocType(node); @@ -40880,7 +41089,7 @@ var ts; if (!type) { return undefined; } - if (!(type.flags & 131072 /* Union */)) { + if (!(type.flags & 262144 /* Union */)) { return getContextualCallSignature(type, node); } var signatureList; @@ -40919,8 +41128,8 @@ var ts; return checkIteratedTypeOrElementType(arrayOrIterableType, node.expression, /*allowStringInput*/ false, /*allowAsyncIterables*/ false); } function hasDefaultValue(node) { - return (node.kind === 181 /* BindingElement */ && !!node.initializer) || - (node.kind === 199 /* BinaryExpression */ && node.operatorToken.kind === 58 /* EqualsToken */); + return (node.kind === 182 /* BindingElement */ && !!node.initializer) || + (node.kind === 200 /* BinaryExpression */ && node.operatorToken.kind === 58 /* EqualsToken */); } function checkArrayLiteral(node, checkMode) { var elements = node.elements; @@ -40930,7 +41139,7 @@ var ts; var contextualType = getApparentTypeOfContextualType(node); for (var index = 0; index < elements.length; index++) { var e = elements[index]; - if (inDestructuringPattern && e.kind === 203 /* SpreadElement */) { + if (inDestructuringPattern && e.kind === 204 /* SpreadElement */) { // Given the following situation: // var c: {}; // [...c] = ["", 0]; @@ -40955,7 +41164,7 @@ var ts; var type = checkExpressionForMutableLocation(e, checkMode, elementContextualType); elementTypes.push(type); } - hasSpreadElement = hasSpreadElement || e.kind === 203 /* SpreadElement */; + hasSpreadElement = hasSpreadElement || e.kind === 204 /* SpreadElement */; } if (!hasSpreadElement) { // If array literal is actually a destructuring pattern, mark it as an implied type. We do this such @@ -40969,7 +41178,7 @@ var ts; var pattern = contextualType.pattern; // If array literal is contextually typed by a binding pattern or an assignment pattern, pad the resulting // tuple type with the corresponding binding or assignment element types to make the lengths equal. - if (pattern && (pattern.kind === 180 /* ArrayBindingPattern */ || pattern.kind === 182 /* ArrayLiteralExpression */)) { + if (pattern && (pattern.kind === 181 /* ArrayBindingPattern */ || pattern.kind === 183 /* ArrayLiteralExpression */)) { var patternElements = pattern.elements; for (var i = elementTypes.length; i < patternElements.length; i++) { var patternElement = patternElements[i]; @@ -40977,7 +41186,7 @@ var ts; elementTypes.push(contextualType.typeArguments[i]); } else { - if (patternElement.kind !== 205 /* OmittedExpression */) { + if (patternElement.kind !== 206 /* OmittedExpression */) { error(patternElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value); } elementTypes.push(strictNullChecks ? implicitNeverType : undefinedWideningType); @@ -40995,7 +41204,7 @@ var ts; } function isNumericName(name) { switch (name.kind) { - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return isNumericComputedName(name); case 71 /* Identifier */: return isNumericLiteralName(name.escapedText); @@ -41009,7 +41218,7 @@ var ts; function isNumericComputedName(name) { // It seems odd to consider an expression of type Any to result in a numeric name, // but this behavior is consistent with checkIndexedAccess - return isTypeAssignableToKind(checkComputedPropertyName(name), 84 /* NumberLike */); + return isTypeAssignableToKind(checkComputedPropertyName(name), 168 /* NumberLike */); } function isInfinityOrNaNString(name) { return name === "Infinity" || name === "-Infinity" || name === "NaN"; @@ -41044,8 +41253,8 @@ var ts; links.resolvedType = checkExpression(node.expression); // This will allow types number, string, symbol or any. It will also allow enums, the unknown // type, and any union of these types (like string | number). - if (links.resolvedType.flags & 12288 /* Nullable */ || - !isTypeAssignableToKind(links.resolvedType, 34 /* StringLike */ | 84 /* NumberLike */ | 1536 /* ESSymbolLike */) && + if (links.resolvedType.flags & 24576 /* Nullable */ || + !isTypeAssignableToKind(links.resolvedType, 68 /* StringLike */ | 168 /* NumberLike */ | 3072 /* ESSymbolLike */) && !isTypeAssignableTo(links.resolvedType, stringNumberSymbolType)) { error(node, ts.Diagnostics.A_computed_property_name_must_be_of_type_string_number_symbol_or_any); } @@ -41072,23 +41281,26 @@ var ts; var propertiesTable; var propertiesArray = []; var spread = emptyObjectType; - var propagatedFlags = 8388608 /* FreshLiteral */; + var propagatedFlags = 33554432 /* FreshLiteral */; var contextualType = getApparentTypeOfContextualType(node); var contextualTypeHasPattern = contextualType && contextualType.pattern && - (contextualType.pattern.kind === 179 /* ObjectBindingPattern */ || contextualType.pattern.kind === 183 /* ObjectLiteralExpression */); + (contextualType.pattern.kind === 180 /* ObjectBindingPattern */ || contextualType.pattern.kind === 184 /* ObjectLiteralExpression */); var isInJSFile = ts.isInJavaScriptFile(node) && !ts.isInJsonFile(node); var isJSObjectLiteral = !contextualType && isInJSFile; var typeFlags = 0; var patternWithComputedProperties = false; var hasComputedStringProperty = false; var hasComputedNumberProperty = false; - if (isInJSFile && node.properties.length === 0) { - // an empty JS object literal that nonetheless has members is a JS namespace - var symbol = getSymbolOfNode(node); - if (symbol.exports) { - propertiesTable = symbol.exports; - symbol.exports.forEach(function (symbol) { return propertiesArray.push(getMergedSymbol(symbol)); }); - return createObjectLiteralType(); + if (isInJSFile) { + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + // a JS object literal whose declaration's symbol has exports is a JS namespace + var symbol = getMergedSymbol(decl.symbol); + if (symbol && ts.hasEntries(symbol.exports)) { + propertiesTable = symbol.exports; + symbol.exports.forEach(function (symbol) { return propertiesArray.push(getMergedSymbol(symbol)); }); + return createObjectLiteralType(); + } } } propertiesTable = ts.createSymbolTable(); @@ -41096,13 +41308,13 @@ var ts; for (var i = 0; i < node.properties.length; i++) { var memberDecl = node.properties[i]; var member = getSymbolOfNode(memberDecl); - var computedNameType = memberDecl.name && memberDecl.name.kind === 146 /* ComputedPropertyName */ && !ts.isWellKnownSymbolSyntactically(memberDecl.name.expression) ? + var computedNameType = memberDecl.name && memberDecl.name.kind === 147 /* ComputedPropertyName */ && !ts.isWellKnownSymbolSyntactically(memberDecl.name.expression) ? checkComputedPropertyName(memberDecl.name) : undefined; - if (memberDecl.kind === 269 /* PropertyAssignment */ || - memberDecl.kind === 270 /* ShorthandPropertyAssignment */ || + if (memberDecl.kind === 270 /* PropertyAssignment */ || + memberDecl.kind === 271 /* ShorthandPropertyAssignment */ || ts.isObjectLiteralMethod(memberDecl)) { - var type = memberDecl.kind === 269 /* PropertyAssignment */ ? checkPropertyAssignment(memberDecl, checkMode) : - memberDecl.kind === 270 /* ShorthandPropertyAssignment */ ? checkExpressionForMutableLocation(memberDecl.name, checkMode) : + var type = memberDecl.kind === 270 /* PropertyAssignment */ ? checkPropertyAssignment(memberDecl, checkMode) : + memberDecl.kind === 271 /* ShorthandPropertyAssignment */ ? checkExpressionForMutableLocation(memberDecl.name, checkMode) : checkObjectLiteralMethod(memberDecl, checkMode); if (isInJSFile) { var jsDocType = getTypeForDeclarationFromJSDocComment(memberDecl); @@ -41112,7 +41324,7 @@ var ts; } } typeFlags |= type.flags; - var nameType = computedNameType && computedNameType.flags & 1120 /* StringOrNumberLiteralOrUnique */ ? + var nameType = computedNameType && computedNameType.flags & 2240 /* StringOrNumberLiteralOrUnique */ ? computedNameType : undefined; var prop = nameType ? createSymbol(4 /* Property */ | member.flags, getLateBoundNameFromType(nameType), 1024 /* Late */) : @@ -41123,8 +41335,8 @@ var ts; if (inDestructuringPattern) { // If object literal is an assignment pattern and if the assignment pattern specifies a default value // for the property, make the property optional. - var isOptional = (memberDecl.kind === 269 /* PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) || - (memberDecl.kind === 270 /* ShorthandPropertyAssignment */ && memberDecl.objectAssignmentInitializer); + var isOptional = (memberDecl.kind === 270 /* PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) || + (memberDecl.kind === 271 /* ShorthandPropertyAssignment */ && memberDecl.objectAssignmentInitializer); if (isOptional) { prop.flags |= 16777216 /* Optional */; } @@ -41149,7 +41361,7 @@ var ts; prop.target = member; member = prop; } - else if (memberDecl.kind === 271 /* SpreadAssignment */) { + else if (memberDecl.kind === 272 /* SpreadAssignment */) { if (languageVersion < 2 /* ES2015 */) { checkExternalEmitHelpers(memberDecl, 2 /* Assign */); } @@ -41164,7 +41376,7 @@ var ts; var type = checkExpression(memberDecl.expression); if (!isValidSpreadType(type)) { error(memberDecl, ts.Diagnostics.Spread_types_may_only_be_created_from_object_types); - return unknownType; + return errorType; } spread = getSpreadType(spread, type, node.symbol, propagatedFlags, /*objectFlags*/ 0); offset = i + 1; @@ -41176,10 +41388,10 @@ var ts; // an ordinary function declaration(section 6.1) with no parameters. // A set accessor declaration is processed in the same manner // as an ordinary function declaration with a single parameter and a Void return type. - ts.Debug.assert(memberDecl.kind === 155 /* GetAccessor */ || memberDecl.kind === 156 /* SetAccessor */); + ts.Debug.assert(memberDecl.kind === 156 /* GetAccessor */ || memberDecl.kind === 157 /* SetAccessor */); checkNodeDeferred(memberDecl); } - if (computedNameType && !(computedNameType.flags & 1120 /* StringOrNumberLiteralOrUnique */)) { + if (computedNameType && !(computedNameType.flags & 2240 /* StringOrNumberLiteralOrUnique */)) { if (isTypeAssignableTo(computedNameType, stringNumberSymbolType)) { if (isTypeAssignableTo(computedNameType, numberType)) { hasComputedNumberProperty = true; @@ -41222,8 +41434,8 @@ var ts; var stringIndexInfo = isJSObjectLiteral ? jsObjectLiteralIndexInfo : hasComputedStringProperty ? getObjectLiteralIndexInfo(node.properties, offset, propertiesArray, 0 /* String */) : undefined; var numberIndexInfo = hasComputedNumberProperty && !isJSObjectLiteral ? getObjectLiteralIndexInfo(node.properties, offset, propertiesArray, 1 /* Number */) : undefined; var result = createAnonymousType(node.symbol, propertiesTable, ts.emptyArray, ts.emptyArray, stringIndexInfo, numberIndexInfo); - var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 8388608 /* FreshLiteral */; - result.flags |= 33554432 /* ContainsObjectLiteral */ | freshObjectLiteralFlag | (typeFlags & 117440512 /* PropagatingFlags */); + var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 33554432 /* FreshLiteral */; + result.flags |= 268435456 /* ContainsObjectLiteral */ | freshObjectLiteralFlag | (typeFlags & 939524096 /* PropagatingFlags */); result.objectFlags |= 128 /* ObjectLiteral */; if (patternWithComputedProperties) { result.objectFlags |= 512 /* ObjectLiteralPatternWithComputedProperties */; @@ -41231,17 +41443,17 @@ var ts; if (inDestructuringPattern) { result.pattern = node; } - if (!(result.flags & 12288 /* Nullable */)) { - propagatedFlags |= (result.flags & 117440512 /* PropagatingFlags */); + if (!(result.flags & 24576 /* Nullable */)) { + propagatedFlags |= (result.flags & 939524096 /* PropagatingFlags */); } return result; } } function isValidSpreadType(type) { - return !!(type.flags & (1 /* Any */ | 134217728 /* NonPrimitive */) || - getFalsyFlags(type) & 14560 /* DefinitelyFalsy */ && isValidSpreadType(removeDefinitelyFalsyTypes(type)) || - type.flags & 65536 /* Object */ && !isGenericMappedType(type) || - type.flags & 393216 /* UnionOrIntersection */ && !ts.forEach(type.types, function (t) { return !isValidSpreadType(t); })); + return !!(type.flags & (3 /* AnyOrUnknown */ | 16777216 /* NonPrimitive */) || + getFalsyFlags(type) & 29120 /* DefinitelyFalsy */ && isValidSpreadType(removeDefinitelyFalsyTypes(type)) || + type.flags & 131072 /* Object */ && !isGenericMappedType(type) || + type.flags & 786432 /* UnionOrIntersection */ && !ts.forEach(type.types, function (t) { return !isValidSpreadType(t); })); } function checkJsxSelfClosingElement(node, checkMode) { checkJsxOpeningLikeElementOrOpeningFragment(node, checkMode); @@ -41281,13 +41493,13 @@ var ts; function isJsxIntrinsicIdentifier(tagName) { // TODO (yuisu): comment switch (tagName.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: case 99 /* ThisKeyword */: return false; case 71 /* Identifier */: return ts.isIntrinsicJsxName(tagName.escapedText); default: - ts.Debug.fail(); + return ts.Debug.fail(); } } function checkJsxAttribute(node, checkMode) { @@ -41331,7 +41543,7 @@ var ts; } } else { - ts.Debug.assert(attributeDecl.kind === 263 /* JsxSpreadAttribute */); + ts.Debug.assert(attributeDecl.kind === 264 /* JsxSpreadAttribute */); if (attributesTable.size > 0) { spread = getSpreadType(spread, createJsxAttributesType(), attributes.symbol, /*typeFlags*/ 0, 4096 /* JsxAttributes */); attributesTable = ts.createSymbolTable(); @@ -41354,7 +41566,7 @@ var ts; } } // Handle children attribute - var parent = openingLikeElement.parent.kind === 254 /* JsxElement */ ? openingLikeElement.parent : undefined; + var parent = openingLikeElement.parent.kind === 255 /* JsxElement */ ? openingLikeElement.parent : undefined; // We have to check that openingElement of the parent is the one we are visiting as this may not be true for selfClosingElement if (parent && parent.openingElement === openingLikeElement && parent.children.length > 0) { var childrenTypes = checkJsxChildren(parent, checkMode); @@ -41389,7 +41601,7 @@ var ts; */ function createJsxAttributesType() { var result = createAnonymousType(attributes.symbol, attributesTable, ts.emptyArray, ts.emptyArray, /*stringIndexInfo*/ undefined, /*numberIndexInfo*/ undefined); - result.flags |= 33554432 /* ContainsObjectLiteral */; + result.flags |= 268435456 /* ContainsObjectLiteral */; result.objectFlags |= 128 /* ObjectLiteral */ | 4096 /* JsxAttributes */; return result; } @@ -41423,7 +41635,7 @@ var ts; var namespace = getJsxNamespaceAt(location); var exports = namespace && getExportsOfSymbol(namespace); var typeSymbol = exports && getSymbol(exports, name, 67901928 /* Type */); - return typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : unknownType; + return typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : errorType; } /** * Looks up an intrinsic tag name and returns a symbol that either points to an intrinsic @@ -41435,7 +41647,7 @@ var ts; var links = getNodeLinks(node); if (!links.resolvedSymbol) { var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, node); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { // Property case if (!ts.isIdentifier(node.tagName)) return ts.Debug.fail(); @@ -41501,6 +41713,7 @@ var ts; return instantiatedSignatures; } function getJsxSignatureTypeArgumentInstantiation(signature, node, isJavascript, reportErrors) { + if (reportErrors === void 0) { reportErrors = false; } if (!node.typeArguments) { return; } @@ -41523,7 +41736,7 @@ var ts; } } // JSX global fallback - return getGlobalSymbol(JsxNames.JSX, 1920 /* Namespace */, /*diagnosticMessage*/ undefined); + return getGlobalSymbol(JsxNames.JSX, 1920 /* Namespace */, /*diagnosticMessage*/ undefined); // TODO: GH#18217 } /** * Look into JSX namespace and then look for container with matching name as nameOfAttribPropContainer. @@ -41571,7 +41784,7 @@ var ts; if (!propsType) { return undefined; } - if (propsType.flags & 262144 /* Intersection */) { + if (propsType.flags & 524288 /* Intersection */) { var propsApparentType = []; for (var _i = 0, _a = propsType.types; _i < _a.length; _i++) { var t = _a[_i]; @@ -41592,7 +41805,7 @@ var ts; * @param elementClassType a JSX-ElementClass type. This is a result of looking up ElementClass interface in the JSX global */ function defaultTryGetJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType) { - ts.Debug.assert(!(elementType.flags & 131072 /* Union */)); + ts.Debug.assert(!(elementType.flags & 262144 /* Union */)); if (!elementClassType || !isTypeAssignableTo(elemInstanceType, elementClassType)) { var jsxStatelessElementType = getJsxStatelessElementTypeAt(openingLikeElement); if (jsxStatelessElementType) { @@ -41605,7 +41818,7 @@ var ts; if (callReturnType && isTypeAssignableTo(callReturnType, jsxStatelessElementType)) { // Intersect in JSX.IntrinsicAttributes if it exists var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, openingLikeElement); - if (intrinsicAttributes !== unknownType) { + if (intrinsicAttributes !== errorType) { paramType = intersectTypes(intrinsicAttributes, paramType); } return paramType; @@ -41626,7 +41839,7 @@ var ts; * @param elementClassType a JSX-ElementClass type. This is a result of looking up ElementClass interface in the JSX global */ function tryGetAllJsxStatelessFunctionAttributesType(openingLikeElement, elementType, elemInstanceType, elementClassType) { - ts.Debug.assert(!(elementType.flags & 131072 /* Union */)); + ts.Debug.assert(!(elementType.flags & 262144 /* Union */)); if (!elementClassType || !isTypeAssignableTo(elemInstanceType, elementClassType)) { // Is this is a stateless function component? See if its single signature's return type is assignable to the JSX Element Type var jsxStatelessElementType = getJsxStatelessElementTypeAt(openingLikeElement); @@ -41639,6 +41852,7 @@ var ts; for (var _i = 0, candidatesOutArray_1 = candidatesOutArray; _i < candidatesOutArray_1.length; _i++) { var candidate = candidatesOutArray_1[_i]; var callReturnType = getReturnTypeOfSignature(candidate); + // TODO: GH#18217: callReturnType should always be defined... var paramType = callReturnType && (candidate.parameters.length === 0 ? emptyObjectType : getTypeOfSymbol(candidate.parameters[0])); paramType = getApparentTypeOfJsxPropsType(paramType); if (callReturnType && isTypeAssignableTo(callReturnType, jsxStatelessElementType)) { @@ -41647,7 +41861,7 @@ var ts; var attribute = _b[_a]; if (ts.isJsxAttribute(attribute) && isUnhyphenatedJsxName(attribute.name.escapedText) && - !getPropertyOfType(paramType, attribute.name.escapedText)) { + !getPropertyOfType(paramType, attribute.name.escapedText)) { // TODO: GH#18217 shouldBeCandidate = false; break; } @@ -41664,7 +41878,7 @@ var ts; } // Intersect in JSX.IntrinsicAttributes if it exists var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, openingLikeElement); - if (intrinsicAttributes !== unknownType) { + if (intrinsicAttributes !== errorType) { result = intersectTypes(intrinsicAttributes, result); } return result; @@ -41722,7 +41936,7 @@ var ts; * emptyObjectType if there is no "prop" in the element instance type */ function resolveCustomJsxElementAttributesType(openingLikeElement, shouldIncludeAllStatelessAttributesType, elementType, elementClassType) { - if (elementType.flags & 131072 /* Union */) { + if (elementType.flags & 262144 /* Union */) { var types = elementType.types; return getUnionType(types.map(function (type) { return resolveCustomJsxElementAttributesType(openingLikeElement, shouldIncludeAllStatelessAttributesType, type, elementClassType); @@ -41733,16 +41947,16 @@ var ts; return elementType; } // If the elemType is a string type, we have to return anyType to prevent an error downstream as we will try to find construct or call signature of the type - else if (elementType.flags & 2 /* String */) { + else if (elementType.flags & 4 /* String */) { return anyType; } - else if (elementType.flags & 32 /* StringLiteral */) { + else if (elementType.flags & 64 /* StringLiteral */) { // If the elemType is a stringLiteral type, we can then provide a check to make sure that the string literal type is one of the Jsx intrinsic element type // For example: // var CustomTag: "h1" = "h1"; // Hello World var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, openingLikeElement); - if (intrinsicElementsType !== unknownType) { + if (intrinsicElementsType !== errorType) { var stringLiteralTypeName = elementType.value; var intrinsicProp = getPropertyOfType(intrinsicElementsType, ts.escapeLeadingUnderscores(stringLiteralTypeName)); if (intrinsicProp) { @@ -41760,9 +41974,9 @@ var ts; // Get the element instance type (the result of newing or invoking this tag) var instantiatedSignatures = getInstantiatedJsxSignatures(openingLikeElement, elementType, /*reportErrors*/ true); if (!ts.length(instantiatedSignatures)) { - return unknownType; + return errorType; } - var elemInstanceType = getUnionType(ts.map(instantiatedSignatures, getReturnTypeOfSignature), 2 /* Subtype */); + var elemInstanceType = getUnionType(instantiatedSignatures.map(getReturnTypeOfSignature), 2 /* Subtype */); // If we should include all stateless attributes type, then get all attributes type from all stateless function signature. // Otherwise get only attributes type from the signature picked by choose-overload logic. var statelessAttributesType = shouldIncludeAllStatelessAttributesType ? @@ -41776,7 +41990,7 @@ var ts; checkTypeRelatedTo(elemInstanceType, elementClassType, assignableRelation, openingLikeElement, ts.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements); } var isJs = ts.isInJavaScriptFile(openingLikeElement); - return getUnionType(ts.map(instantiatedSignatures, function (sig) { return getJsxPropsTypeFromClassType(sig, isJs, openingLikeElement, /*reportErrors*/ true); })); + return getUnionType(instantiatedSignatures.map(function (sig) { return getJsxPropsTypeFromClassType(sig, isJs, openingLikeElement, /*reportErrors*/ true); })); } /** * Get attributes type of the given intrinsic opening-like Jsx element by resolving the tag name. @@ -41795,7 +42009,7 @@ var ts; return links.resolvedJsxElementAttributesType = getIndexInfoOfSymbol(symbol, 0 /* String */).type; } else { - return links.resolvedJsxElementAttributesType = unknownType; + return links.resolvedJsxElementAttributesType = errorType; } } return links.resolvedJsxElementAttributesType; @@ -41849,7 +42063,7 @@ var ts; } function getJsxElementClassTypeAt(location) { var type = getJsxType(JsxNames.ElementClass, location); - if (type === unknownType) + if (type === errorType) return undefined; return type; } @@ -41922,7 +42136,7 @@ var ts; * @param isComparingJsxAttributes a boolean flag indicating whether we are searching in JsxAttributesType */ function isKnownProperty(targetType, name, isComparingJsxAttributes) { - if (targetType.flags & 65536 /* Object */) { + if (targetType.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(targetType); if (resolved.stringIndexInfo || resolved.numberIndexInfo && isNumericLiteralName(name) || @@ -41932,7 +42146,7 @@ var ts; return true; } } - else if (targetType.flags & 393216 /* UnionOrIntersection */) { + else if (targetType.flags & 786432 /* UnionOrIntersection */) { for (var _i = 0, _a = targetType.types; _i < _a.length; _i++) { var t = _a[_i]; if (isKnownProperty(t, name, isComparingJsxAttributes)) { @@ -42018,13 +42232,13 @@ var ts; return type; } else { - return unknownType; + return errorType; } } // If a symbol is a synthesized symbol with no value declaration, we assume it is a property. Example of this are the synthesized // '.prototype' property as well as synthesized tuple index properties. function getDeclarationKindFromSymbol(s) { - return s.valueDeclaration ? s.valueDeclaration.kind : 151 /* PropertyDeclaration */; + return s.valueDeclaration ? s.valueDeclaration.kind : 152 /* PropertyDeclaration */; } function getDeclarationNodeFlagsFromSymbol(s) { return s.valueDeclaration ? ts.getCombinedNodeFlags(s.valueDeclaration) : 0; @@ -42053,9 +42267,9 @@ var ts; */ function checkPropertyAccessibility(node, left, type, prop) { var flags = ts.getDeclarationModifierFlagsFromSymbol(prop); - var errorNode = node.kind === 184 /* PropertyAccessExpression */ || node.kind === 231 /* VariableDeclaration */ ? + var errorNode = node.kind === 185 /* PropertyAccessExpression */ || node.kind === 232 /* VariableDeclaration */ ? node.name : - node.kind === 178 /* ImportType */ ? + node.kind === 179 /* ImportType */ ? node : node.right; if (ts.getCheckFlags(prop) & 256 /* ContainsPrivate */) { @@ -42090,7 +42304,7 @@ var ts; if ((flags & 128 /* Abstract */) && ts.isThisProperty(node) && symbolHasNonMethodDeclaration(prop)) { var declaringClassDeclaration = ts.getClassLikeDeclarationOfSymbol(getParentOfSymbol(prop)); if (declaringClassDeclaration && isNodeWithinConstructorOfClass(node, declaringClassDeclaration)) { - error(errorNode, ts.Diagnostics.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor, symbolToString(prop), ts.getTextOfIdentifierOrLiteral(declaringClassDeclaration.name)); + error(errorNode, ts.Diagnostics.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor, symbolToString(prop), ts.getTextOfIdentifierOrLiteral(declaringClassDeclaration.name)); // TODO: GH#18217 return false; } } @@ -42128,9 +42342,9 @@ var ts; if (flags & 32 /* Static */) { return true; } - if (type.flags & 32768 /* TypeParameter */) { + if (type.flags & 65536 /* TypeParameter */) { // get the original type -- represented as the type constraint of the 'this' type - type = type.isThisType ? getConstraintOfTypeParameter(type) : getBaseConstraintOfType(type); + type = type.isThisType ? getConstraintOfTypeParameter(type) : getBaseConstraintOfType(type); // TODO: GH#18217 Use a different variable that's allowed to be undefined } if (!type || !hasBaseType(type, enclosingClass)) { error(errorNode, ts.Diagnostics.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1, symbolToString(prop), typeToString(enclosingClass)); @@ -42141,21 +42355,25 @@ var ts; function symbolHasNonMethodDeclaration(symbol) { return forEachProperty(symbol, function (prop) { var propKind = getDeclarationKindFromSymbol(prop); - return propKind !== 153 /* MethodDeclaration */ && propKind !== 152 /* MethodSignature */; + return propKind !== 154 /* MethodDeclaration */ && propKind !== 153 /* MethodSignature */; }); } function checkNonNullExpression(node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic) { return checkNonNullType(checkExpression(node), node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic); } function checkNonNullType(type, node, nullDiagnostic, undefinedDiagnostic, nullOrUndefinedDiagnostic) { - var kind = (strictNullChecks ? getFalsyFlags(type) : type.flags) & 12288 /* Nullable */; + if (type.flags & 2 /* Unknown */) { + error(node, ts.Diagnostics.Object_is_of_type_unknown); + return errorType; + } + var kind = (strictNullChecks ? getFalsyFlags(type) : type.flags) & 24576 /* Nullable */; if (kind) { - error(node, kind & 4096 /* Undefined */ ? kind & 8192 /* Null */ ? + error(node, kind & 8192 /* Undefined */ ? kind & 16384 /* Null */ ? (nullOrUndefinedDiagnostic || ts.Diagnostics.Object_is_possibly_null_or_undefined) : (undefinedDiagnostic || ts.Diagnostics.Object_is_possibly_undefined) : (nullDiagnostic || ts.Diagnostics.Object_is_possibly_null)); var t = getNonNullableType(type); - return t.flags & (12288 /* Nullable */ | 16384 /* Never */) ? unknownType : t; + return t.flags & (24576 /* Nullable */ | 32768 /* Never */) ? errorType : t; } return type; } @@ -42185,9 +42403,9 @@ var ts; var indexInfo = getIndexInfoOfType(apparentType, 0 /* String */); if (!(indexInfo && indexInfo.type)) { if (right.escapedText && !checkAndReportErrorForExtendingInterface(node)) { - reportNonexistentProperty(right, leftType.flags & 32768 /* TypeParameter */ && leftType.isThisType ? apparentType : leftType); + reportNonexistentProperty(right, leftType.flags & 65536 /* TypeParameter */ && leftType.isThisType ? apparentType : leftType); } - return unknownType; + return errorType; } if (indexInfo.isReadonly && (ts.isAssignmentTarget(node) || ts.isDeleteTarget(node))) { error(node, ts.Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(apparentType)); @@ -42202,7 +42420,7 @@ var ts; if (assignmentKind) { if (isReferenceToReadonlyEntity(node, prop) || isReferenceThroughNamespaceImport(node)) { error(right, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property, ts.idText(right)); - return unknownType; + return errorType; } } propType = getConstraintForLocation(getTypeOfSymbol(prop), node); @@ -42210,9 +42428,9 @@ var ts; // Only compute control flow type if this is a property access expression that isn't an // assignment target, and the referenced property was declared as a variable, property, // accessor, or optional method. - if (node.kind !== 184 /* PropertyAccessExpression */ || + if (node.kind !== 185 /* PropertyAccessExpression */ || assignmentKind === 1 /* Definite */ || - prop && !(prop.flags & (3 /* Variable */ | 4 /* Property */ | 98304 /* Accessor */)) && !(prop.flags & 8192 /* Method */ && propType.flags & 131072 /* Union */)) { + prop && !(prop.flags & (3 /* Variable */ | 4 /* Property */ | 98304 /* Accessor */)) && !(prop.flags & 8192 /* Method */ && propType.flags & 262144 /* Union */)) { return propType; } // If strict null checks and strict property initialization checks are enabled, if we have @@ -42224,14 +42442,14 @@ var ts; var declaration = prop && prop.valueDeclaration; if (declaration && isInstancePropertyWithoutInitializer(declaration)) { var flowContainer = getControlFlowContainer(node); - if (flowContainer.kind === 154 /* Constructor */ && flowContainer.parent === declaration.parent) { + if (flowContainer.kind === 155 /* Constructor */ && flowContainer.parent === declaration.parent) { assumeUninitialized = true; } } } var flowType = getFlowTypeOfReference(node, propType, assumeUninitialized ? getOptionalType(propType) : propType); - if (assumeUninitialized && !(getFalsyFlags(propType) & 4096 /* Undefined */) && getFalsyFlags(flowType) & 4096 /* Undefined */) { - error(right, ts.Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(prop)); + if (assumeUninitialized && !(getFalsyFlags(propType) & 8192 /* Undefined */) && getFalsyFlags(flowType) & 8192 /* Undefined */) { + error(right, ts.Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(prop)); // TODO: GH#18217 // Return the declared type to reduce follow-on errors return propType; } @@ -42247,8 +42465,8 @@ var ts; && !isPropertyDeclaredInAncestorClass(prop)) { error(right, ts.Diagnostics.Block_scoped_variable_0_used_before_its_declaration, ts.idText(right)); } - else if (valueDeclaration.kind === 234 /* ClassDeclaration */ && - node.parent.kind !== 161 /* TypeReference */ && + else if (valueDeclaration.kind === 235 /* ClassDeclaration */ && + node.parent.kind !== 162 /* TypeReference */ && !(valueDeclaration.flags & 4194304 /* Ambient */) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right)) { error(right, ts.Diagnostics.Class_0_used_before_its_declaration, ts.idText(right)); @@ -42257,9 +42475,9 @@ var ts; function isInPropertyInitializer(node) { return !!ts.findAncestor(node, function (node) { switch (node.kind) { - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return true; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: // We might be in `a = { b: this.b }`, so keep looking. See `tests/cases/compiler/useBeforeDeclaration_propertyAssignment.ts`. return false; default: @@ -42296,7 +42514,7 @@ var ts; } function reportNonexistentProperty(propNode, containingType) { var errorInfo; - if (containingType.flags & 131072 /* Union */ && !(containingType.flags & 16382 /* Primitive */)) { + if (containingType.flags & 262144 /* Union */ && !(containingType.flags & 32764 /* Primitive */)) { for (var _i = 0, _a = containingType.types; _i < _a.length; _i++) { var subtype = _a[_i]; if (!getPropertyOfType(subtype, propNode.escapedText)) { @@ -42453,20 +42671,20 @@ var ts; } function isValidPropertyAccess(node, propertyName) { switch (node.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return isValidPropertyAccessWithType(node, node.expression, propertyName, getWidenedType(checkExpression(node.expression))); - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return isValidPropertyAccessWithType(node, node.left, propertyName, getWidenedType(checkExpression(node.left))); - case 178 /* ImportType */: + case 179 /* ImportType */: return isValidPropertyAccessWithType(node, node, propertyName, getTypeFromTypeNode(node)); } } function isValidPropertyAccessForCompletions(node, type, property) { - return isValidPropertyAccessWithType(node, node.kind === 178 /* ImportType */ ? node : node.expression, property.escapedName, type) + return isValidPropertyAccessWithType(node, node.kind === 179 /* ImportType */ ? node : node.expression, property.escapedName, type) && (!(property.flags & 8192 /* Method */) || isValidMethodAccess(property, type)); } function isValidMethodAccess(method, actualThisType) { - var propType = getTypeOfFuncClassEnumModule(method); + var propType = getTypeOfPropertyOfType(actualThisType, method.escapedName); var signatures = getSignaturesOfType(getNonNullableType(propType), 0 /* Call */); ts.Debug.assert(signatures.length !== 0); return signatures.some(function (sig) { @@ -42483,20 +42701,20 @@ var ts; return instantiateType(signatureThisType, createSignatureTypeMapper(sig, getInferredTypes(context))); } function isValidPropertyAccessWithType(node, left, propertyName, type) { - if (type === unknownType || isTypeAny(type)) { + if (type === errorType || isTypeAny(type)) { return true; } var prop = getPropertyOfType(type, propertyName); return prop ? checkPropertyAccessibility(node, left, type, prop) // In js files properties of unions are allowed in completion - : ts.isInJavaScriptFile(node) && (type.flags & 131072 /* Union */) && type.types.some(function (elementType) { return isValidPropertyAccessWithType(node, left, propertyName, elementType); }); + : ts.isInJavaScriptFile(node) && (type.flags & 262144 /* Union */) !== 0 && type.types.some(function (elementType) { return isValidPropertyAccessWithType(node, left, propertyName, elementType); }); } /** * Return the symbol of the for-in variable declared or referenced by the given for-in statement. */ function getForInVariableSymbol(node) { var initializer = node.initializer; - if (initializer.kind === 232 /* VariableDeclarationList */) { + if (initializer.kind === 233 /* VariableDeclarationList */) { var variable = initializer.declarations[0]; if (variable && !ts.isBindingPattern(variable.name)) { return getSymbolOfNode(variable); @@ -42525,7 +42743,7 @@ var ts; var child = expr; var node = expr.parent; while (node) { - if (node.kind === 220 /* ForInStatement */ && + if (node.kind === 221 /* ForInStatement */ && child === node.statement && getForInVariableSymbol(node) === symbol && hasNumericPropertyNames(getTypeOfExpression(node.expression))) { @@ -42543,7 +42761,7 @@ var ts; var indexExpression = node.argumentExpression; if (!indexExpression) { var sourceFile = ts.getSourceFileOfNode(node); - if (node.parent.kind === 187 /* NewExpression */ && node.parent.expression === node) { + if (node.parent.kind === 188 /* NewExpression */ && node.parent.expression === node) { var start = ts.skipTrivia(sourceFile.text, node.expression.end); var end = node.end; grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead); @@ -42553,20 +42771,20 @@ var ts; var end = node.end; grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.Expression_expected); } - return unknownType; + return errorType; } var indexType = isForInVariableForNumericPropertyNames(indexExpression) ? numberType : checkExpression(indexExpression); - if (objectType === unknownType || objectType === silentNeverType) { + if (objectType === errorType || objectType === silentNeverType) { return objectType; } if (isConstEnumObjectType(objectType) && indexExpression.kind !== 9 /* StringLiteral */) { error(indexExpression, ts.Diagnostics.A_const_enum_member_can_only_be_accessed_using_a_string_literal); - return unknownType; + return errorType; } return checkIndexedAccessIndexType(getIndexedAccessType(objectType, indexType, node), node); } function checkThatExpressionIsProperSymbolReference(expression, expressionType, reportError) { - if (expressionType === unknownType) { + if (expressionType === errorType) { // There is already an error, so no need to report one. return false; } @@ -42574,7 +42792,7 @@ var ts; return false; } // Make sure the property type is the primitive symbol type - if ((expressionType.flags & 1536 /* ESSymbolLike */) === 0) { + if ((expressionType.flags & 3072 /* ESSymbolLike */) === 0) { if (reportError) { error(expression, ts.Diagnostics.A_computed_property_name_of_the_form_0_must_be_of_type_symbol, ts.getTextOfNode(expression)); } @@ -42610,10 +42828,10 @@ var ts; // This gets us diagnostics for the type arguments and marks them as referenced. ts.forEach(node.typeArguments, checkSourceElement); } - if (node.kind === 188 /* TaggedTemplateExpression */) { + if (node.kind === 189 /* TaggedTemplateExpression */) { checkExpression(node.template); } - else if (node.kind !== 149 /* Decorator */) { + else if (node.kind !== 150 /* Decorator */) { ts.forEach(node.arguments, function (argument) { checkExpression(argument); }); @@ -42646,7 +42864,7 @@ var ts; var parent = signature.declaration && signature.declaration.parent; if (!lastSymbol || symbol === lastSymbol) { if (lastParent && parent === lastParent) { - index++; + index = index + 1; } else { lastParent = parent; @@ -42679,7 +42897,7 @@ var ts; function getSpreadArgumentIndex(args) { for (var i = 0; i < args.length; i++) { var arg = args[i]; - if (arg && arg.kind === 203 /* SpreadElement */) { + if (arg && arg.kind === 204 /* SpreadElement */) { return i; } } @@ -42689,22 +42907,21 @@ var ts; if (signatureHelpTrailingComma === void 0) { signatureHelpTrailingComma = false; } var argCount; // Apparent number of arguments we will have in this call var typeArguments; // Type arguments (undefined if none) - var callIsIncomplete; // In incomplete call we want to be lenient when we have too few arguments + var callIsIncomplete = false; // In incomplete call we want to be lenient when we have too few arguments var spreadArgIndex = -1; if (ts.isJsxOpeningLikeElement(node)) { // The arity check will be done in "checkApplicableSignatureForJsxOpeningLikeElement". return true; } - if (node.kind === 188 /* TaggedTemplateExpression */) { + if (node.kind === 189 /* TaggedTemplateExpression */) { // Even if the call is incomplete, we'll have a missing expression as our last argument, // so we can say the count is just the arg list length argCount = args.length; - typeArguments = undefined; - if (node.template.kind === 201 /* TemplateExpression */) { + typeArguments = node.typeArguments; + if (node.template.kind === 202 /* TemplateExpression */) { // If a tagged template expression lacks a tail literal, the call is incomplete. // Specifically, a template only can end in a TemplateTail or a Missing literal. - var lastSpan = ts.lastOrUndefined(node.template.templateSpans); - ts.Debug.assert(lastSpan !== undefined); // we should always have at least one span. + var lastSpan = ts.last(node.template.templateSpans); // we should always have at least one span. callIsIncomplete = ts.nodeIsMissing(lastSpan.literal) || !!lastSpan.literal.isUnterminated; } else { @@ -42716,14 +42933,14 @@ var ts; callIsIncomplete = !!templateLiteral.isUnterminated; } } - else if (node.kind === 149 /* Decorator */) { + else if (node.kind === 150 /* Decorator */) { typeArguments = undefined; argCount = getEffectiveArgumentCount(node, /*args*/ undefined, signature); } else { if (!node.arguments) { // This only happens when we have something of the form: 'new C' - ts.Debug.assert(node.kind === 187 /* NewExpression */); + ts.Debug.assert(node.kind === 188 /* NewExpression */); return signature.minArgumentCount === 0; } argCount = signatureHelpTrailingComma ? args.length + 1 : args.length; @@ -42758,7 +42975,7 @@ var ts; } // If type has a single call signature and no other members, return that signature. Otherwise, return undefined. function getSingleCallSignature(type) { - if (type.flags & 65536 /* Object */) { + if (type.flags & 131072 /* Object */) { var resolved = resolveStructuredTypeMembers(type); if (resolved.callSignatures.length === 1 && resolved.constructSignatures.length === 0 && resolved.properties.length === 0 && !resolved.stringIndexInfo && !resolved.numberIndexInfo) { @@ -42806,7 +43023,7 @@ var ts; // example, given a 'function wrap(cb: (x: T) => U): (x: T) => U' and a call expression // 'let f: (x: string) => number = wrap(s => s.length)', we infer from the declared type of 'f' to the // return type of 'wrap'. - if (node.kind !== 149 /* Decorator */) { + if (node.kind !== 150 /* Decorator */) { var contextualType = getContextualType(node); if (contextualType) { // We clone the contextual mapper to avoid disturbing a resolution in progress for an @@ -42841,7 +43058,7 @@ var ts; for (var i = 0; i < argCount; i++) { var arg = getEffectiveArgument(node, args, i); // If the effective argument is 'undefined', then it is an argument that is present but is synthetic. - if (arg === undefined || arg.kind !== 205 /* OmittedExpression */) { + if (arg === undefined || arg.kind !== 206 /* OmittedExpression */) { var paramType = getTypeAtPosition(signature, i); var argType = getEffectiveArgumentType(node, i); // If the effective argument type is 'undefined', there is no synthetic type @@ -42882,7 +43099,7 @@ var ts; var constraint = getConstraintOfTypeParameter(typeParameters[i]); if (!constraint) continue; - var errorInfo = reportErrors && headMessage && (function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); }); + var errorInfo = reportErrors && headMessage ? (function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); }) : undefined; var typeArgumentHeadMessage = headMessage || ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1; if (!mapper) { mapper = createTypeMapper(typeParameters, typeArgumentTypes); @@ -42931,7 +43148,7 @@ var ts; return checkApplicableSignatureForJsxOpeningLikeElement(node, signature, relation); } var thisType = getThisTypeOfSignature(signature); - if (thisType && thisType !== voidType && node.kind !== 187 /* NewExpression */) { + if (thisType && thisType !== voidType && node.kind !== 188 /* NewExpression */) { // If the called expression is not of the form `x.f` or `x["f"]`, then sourceType = voidType // If the signature's 'this' type is voidType, then the check is skipped -- anything is compatible. // If the expression is a new expression, then the check is skipped. @@ -42939,7 +43156,7 @@ var ts; var thisArgumentType = thisArgumentNode ? checkExpression(thisArgumentNode) : voidType; var errorNode = reportErrors ? (thisArgumentNode || node) : undefined; var headMessage_1 = ts.Diagnostics.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1; - if (!checkTypeRelatedTo(thisArgumentType, getThisTypeOfSignature(signature), relation, errorNode, headMessage_1)) { + if (!checkTypeRelatedTo(thisArgumentType, thisType, relation, errorNode, headMessage_1)) { return false; } } @@ -42948,7 +43165,7 @@ var ts; for (var i = 0; i < argCount; i++) { var arg = getEffectiveArgument(node, args, i); // If the effective argument is 'undefined', then it is an argument that is present but is synthetic. - if (arg === undefined || arg.kind !== 205 /* OmittedExpression */) { + if (arg === undefined || arg.kind !== 206 /* OmittedExpression */) { // Check spread elements against rest type (from arity check we know spread argument corresponds to a rest parameter) var paramType = getTypeAtPosition(signature, i); // If the effective argument type is undefined, there is no synthetic type for the argument. @@ -42972,9 +43189,9 @@ var ts; * Returns the this argument in calls like x.f(...) and x[f](...). Undefined otherwise. */ function getThisArgumentOfCall(node) { - if (node.kind === 186 /* CallExpression */) { + if (node.kind === 187 /* CallExpression */) { var callee = ts.skipOuterExpressions(node.expression); - if (callee.kind === 184 /* PropertyAccessExpression */ || callee.kind === 185 /* ElementAccessExpression */) { + if (callee.kind === 185 /* PropertyAccessExpression */ || callee.kind === 186 /* ElementAccessExpression */) { return callee.expression; } } @@ -42989,17 +43206,17 @@ var ts; * will be supplied from calls to `getEffectiveArgumentCount` and `getEffectiveArgumentType`. */ function getEffectiveCallArguments(node) { - if (node.kind === 188 /* TaggedTemplateExpression */) { + if (node.kind === 189 /* TaggedTemplateExpression */) { var template = node.template; - var args_4 = [undefined]; - if (template.kind === 201 /* TemplateExpression */) { + var args_4 = [undefined]; // TODO: GH#18217 + if (template.kind === 202 /* TemplateExpression */) { ts.forEach(template.templateSpans, function (span) { args_4.push(span.expression); }); } return args_4; } - else if (node.kind === 149 /* Decorator */) { + else if (node.kind === 150 /* Decorator */) { // For a decorator, we return undefined as we will determine // the number and types of arguments for a decorator using // `getEffectiveArgumentCount` and `getEffectiveArgumentType` below. @@ -43026,19 +43243,19 @@ var ts; * Otherwise, the argument count is the length of the 'args' array. */ function getEffectiveArgumentCount(node, args, signature) { - if (node.kind === 149 /* Decorator */) { + if (node.kind === 150 /* Decorator */) { switch (node.parent.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: // A class decorator will have one argument (see `ClassDecorator` in core.d.ts) return 1; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: // A property declaration decorator will have two arguments (see // `PropertyDecorator` in core.d.ts) return 2; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // A method or accessor declaration decorator will have two or three arguments (see // `PropertyDecorator` and `MethodDecorator` in core.d.ts) // If we are emitting decorators for ES3, we will only pass two arguments. @@ -43048,10 +43265,12 @@ var ts; // If the method decorator signature only accepts a target and a key, we will only // type check those arguments. return signature.parameters.length >= 3 ? 3 : 2; - case 148 /* Parameter */: + case 149 /* Parameter */: // A parameter declaration decorator will have three arguments (see // `ParameterDecorator` in core.d.ts) return 3; + default: + return ts.Debug.fail(); } } else { @@ -43072,25 +43291,25 @@ var ts; */ function getEffectiveDecoratorFirstArgumentType(node) { // The first argument to a decorator is its `target`. - if (node.kind === 234 /* ClassDeclaration */) { + if (node.kind === 235 /* ClassDeclaration */) { // For a class decorator, the `target` is the type of the class (e.g. the // "static" or "constructor" side of the class) var classSymbol = getSymbolOfNode(node); return getTypeOfSymbol(classSymbol); } - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { // For a parameter decorator, the `target` is the parent type of the // parameter's containing method. node = node.parent; - if (node.kind === 154 /* Constructor */) { + if (node.kind === 155 /* Constructor */) { var classSymbol = getSymbolOfNode(node); return getTypeOfSymbol(classSymbol); } } - if (node.kind === 151 /* PropertyDeclaration */ || - node.kind === 153 /* MethodDeclaration */ || - node.kind === 155 /* GetAccessor */ || - node.kind === 156 /* SetAccessor */) { + if (node.kind === 152 /* PropertyDeclaration */ || + node.kind === 154 /* MethodDeclaration */ || + node.kind === 156 /* GetAccessor */ || + node.kind === 157 /* SetAccessor */) { // For a property or method decorator, the `target` is the // "static"-side type of the parent of the member if the member is // declared "static"; otherwise, it is the "instance"-side type of the @@ -43098,7 +43317,7 @@ var ts; return getParentTypeOfClassElement(node); } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } /** * Returns the effective type for the second argument to a decorator. @@ -43117,37 +43336,38 @@ var ts; */ function getEffectiveDecoratorSecondArgumentType(node) { // The second argument to a decorator is its `propertyKey` - if (node.kind === 234 /* ClassDeclaration */) { + if (node.kind === 235 /* ClassDeclaration */) { ts.Debug.fail("Class decorators should not have a second synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { node = node.parent; - if (node.kind === 154 /* Constructor */) { + if (node.kind === 155 /* Constructor */) { // For a constructor parameter decorator, the `propertyKey` will be `undefined`. return anyType; } // For a non-constructor parameter decorator, the `propertyKey` will be either // a string or a symbol, based on the name of the parameter's containing method. } - if (node.kind === 151 /* PropertyDeclaration */ || - node.kind === 153 /* MethodDeclaration */ || - node.kind === 155 /* GetAccessor */ || - node.kind === 156 /* SetAccessor */) { + if (node.kind === 152 /* PropertyDeclaration */ || + node.kind === 154 /* MethodDeclaration */ || + node.kind === 156 /* GetAccessor */ || + node.kind === 157 /* SetAccessor */) { // The `propertyKey` for a property or method decorator will be a // string literal type if the member name is an identifier, number, or string; // otherwise, if the member name is a computed property name it will // be either string or symbol. var element = node; - switch (element.name.kind) { + var name = element.name; + switch (name.kind) { case 71 /* Identifier */: - return getLiteralType(ts.idText(element.name)); + return getLiteralType(ts.idText(name)); case 8 /* NumericLiteral */: case 9 /* StringLiteral */: - return getLiteralType(element.name.text); - case 146 /* ComputedPropertyName */: - var nameType = checkComputedPropertyName(element.name); - if (isTypeAssignableToKind(nameType, 1536 /* ESSymbolLike */)) { + return getLiteralType(name.text); + case 147 /* ComputedPropertyName */: + var nameType = checkComputedPropertyName(name); + if (isTypeAssignableToKind(nameType, 3072 /* ESSymbolLike */)) { return nameType; } else { @@ -43155,11 +43375,11 @@ var ts; } default: ts.Debug.fail("Unsupported property name."); - return unknownType; + return errorType; } } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } /** * Returns the effective argument type for the third argument to a decorator. @@ -43171,28 +43391,28 @@ var ts; function getEffectiveDecoratorThirdArgumentType(node) { // The third argument to a decorator is either its `descriptor` for a method decorator // or its `parameterIndex` for a parameter decorator - if (node.kind === 234 /* ClassDeclaration */) { + if (node.kind === 235 /* ClassDeclaration */) { ts.Debug.fail("Class decorators should not have a third synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { // The `parameterIndex` for a parameter decorator is always a number return numberType; } - if (node.kind === 151 /* PropertyDeclaration */) { + if (node.kind === 152 /* PropertyDeclaration */) { ts.Debug.fail("Property decorators should not have a third synthetic argument."); - return unknownType; + return errorType; } - if (node.kind === 153 /* MethodDeclaration */ || - node.kind === 155 /* GetAccessor */ || - node.kind === 156 /* SetAccessor */) { + if (node.kind === 154 /* MethodDeclaration */ || + node.kind === 156 /* GetAccessor */ || + node.kind === 157 /* SetAccessor */) { // The `descriptor` for a method decorator will be a `TypedPropertyDescriptor` // for the type of the member. - var propertyType = getTypeOfNode(node); + var propertyType = getTypeOfNode(node); // TODO: GH#18217 return createTypedPropertyDescriptorType(propertyType); } ts.Debug.fail("Unsupported decorator target."); - return unknownType; + return errorType; } /** * Returns the effective argument type for the provided argument to a decorator. @@ -43208,7 +43428,7 @@ var ts; return getEffectiveDecoratorThirdArgumentType(node.parent); } ts.Debug.fail("Decorators should not have a fourth synthetic argument."); - return unknownType; + return errorType; } /** * Gets the effective argument type for an argument in a call expression. @@ -43217,10 +43437,10 @@ var ts; // Decorators provide special arguments, a tagged template expression provides // a special first argument, and string literals get string literal types // unless we're reporting errors - if (node.kind === 149 /* Decorator */) { + if (node.kind === 150 /* Decorator */) { return getEffectiveDecoratorArgumentType(node, argIndex); } - else if (argIndex === 0 && node.kind === 188 /* TaggedTemplateExpression */) { + else if (argIndex === 0 && node.kind === 189 /* TaggedTemplateExpression */) { return getGlobalTemplateStringsArrayType(); } // This is not a synthetic argument, so we return 'undefined' @@ -43232,8 +43452,8 @@ var ts; */ function getEffectiveArgument(node, args, argIndex) { // For a decorator or the first argument of a tagged template expression we return undefined. - if (node.kind === 149 /* Decorator */ || - (argIndex === 0 && node.kind === 188 /* TaggedTemplateExpression */)) { + if (node.kind === 150 /* Decorator */ || + (argIndex === 0 && node.kind === 189 /* TaggedTemplateExpression */)) { return undefined; } return args[argIndex]; @@ -43242,11 +43462,11 @@ var ts; * Gets the error node to use when reporting errors for an effective argument. */ function getEffectiveArgumentErrorNode(node, argIndex, arg) { - if (node.kind === 149 /* Decorator */) { + if (node.kind === 150 /* Decorator */) { // For a decorator, we use the expression of the decorator for error reporting. return node.expression; } - else if (argIndex === 0 && node.kind === 188 /* TaggedTemplateExpression */) { + else if (argIndex === 0 && node.kind === 189 /* TaggedTemplateExpression */) { // For a the first argument of a tagged template expression, we use the template of the tag for error reporting. return node.template; } @@ -43266,8 +43486,8 @@ var ts; return ts.createDiagnosticForNodeArray(ts.getSourceFileOfNode(node), typeArguments, ts.Diagnostics.Expected_0_type_arguments_but_got_1, paramCount, typeArguments.length); } function resolveCall(node, signatures, candidatesOutArray, fallbackError) { - var isTaggedTemplate = node.kind === 188 /* TaggedTemplateExpression */; - var isDecorator = node.kind === 149 /* Decorator */; + var isTaggedTemplate = node.kind === 189 /* TaggedTemplateExpression */; + var isDecorator = node.kind === 150 /* Decorator */; var isJsxOpeningOrSelfClosingElement = ts.isJsxOpeningLikeElement(node); var typeArguments; if (!isDecorator) { @@ -43341,7 +43561,7 @@ var ts; var result; // If we are in signature help, a trailing comma indicates that we intend to provide another argument, // so we will only accept overloads with arity at least 1 higher than the current number of provided arguments. - var signatureHelpTrailingComma = candidatesOutArray && node.kind === 186 /* CallExpression */ && node.arguments.hasTrailingComma; + var signatureHelpTrailingComma = candidatesOutArray && node.kind === 187 /* CallExpression */ && node.arguments.hasTrailingComma; // Section 4.12.1: // if the candidate list contains one or more signatures for which the type of each argument // expression is a subtype of each corresponding parameter type, the return type of the first @@ -43423,7 +43643,7 @@ var ts; var candidate = candidates[bestIndex]; var typeParameters = candidate.typeParameters; if (typeParameters && callLikeExpressionMayHaveTypeArguments(node) && node.typeArguments) { - var typeArguments_1 = node.typeArguments.map(getTypeOfNode); + var typeArguments_1 = node.typeArguments.map(getTypeOfNode); // TODO: GH#18217 while (typeArguments_1.length > typeParameters.length) { typeArguments_1.pop(); } @@ -43520,9 +43740,10 @@ var ts; if (node.expression.kind === 97 /* SuperKeyword */) { var superType = checkSuperExpression(node.expression); if (isTypeAny(superType)) { + ts.forEach(node.arguments, checkExpression); // Still visit arguments so they get marked for visibility, etc return anySignature; } - if (superType !== unknownType) { + if (superType !== errorType) { // In super call, the candidate signatures are the matching arity signatures of the base constructor function instantiated // with the type arguments specified in the extends clause. var baseTypeNode = ts.getClassExtendsHeritageClauseElement(ts.getContainingClass(node)); @@ -43538,7 +43759,7 @@ var ts; return silentNeverSignature; } var apparentType = getApparentType(funcType); - if (apparentType === unknownType) { + if (apparentType === errorType) { // Another error has already been reported return resolveErrorCall(node); } @@ -43554,7 +43775,7 @@ var ts; if (isUntypedFunctionCall(funcType, apparentType, callSignatures.length, constructSignatures.length)) { // The unknownType indicates that an error already occurred (and was reported). No // need to report another error in this case. - if (funcType !== unknownType && node.typeArguments) { + if (funcType !== errorType && node.typeArguments) { error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); } return resolveUntypedCall(node); @@ -43580,8 +43801,8 @@ var ts; */ function isUntypedFunctionCall(funcType, apparentFuncType, numCallSignatures, numConstructSignatures) { // We exclude union types because we may have a union of function types that happen to have no common signatures. - return isTypeAny(funcType) || isTypeAny(apparentFuncType) && funcType.flags & 32768 /* TypeParameter */ || - !numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & (131072 /* Union */ | 16384 /* Never */)) && isTypeAssignableTo(funcType, globalFunctionType); + return isTypeAny(funcType) || isTypeAny(apparentFuncType) && funcType.flags & 65536 /* TypeParameter */ || + !numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & (262144 /* Union */ | 32768 /* Never */)) && isTypeAssignableTo(funcType, globalFunctionType); } function resolveNewExpression(node, candidatesOutArray) { if (node.arguments && languageVersion < 1 /* ES5 */) { @@ -43600,7 +43821,7 @@ var ts; // signatures for overload resolution. The result type of the function call becomes // the result type of the operation. expressionType = getApparentType(expressionType); - if (expressionType === unknownType) { + if (expressionType === errorType) { // Another error has already been reported return resolveErrorCall(node); } @@ -43711,7 +43932,7 @@ var ts; function resolveTaggedTemplateExpression(node, candidatesOutArray) { var tagType = checkExpression(node.tag); var apparentType = getApparentType(tagType); - if (apparentType === unknownType) { + if (apparentType === errorType) { // Another error has already been reported return resolveErrorCall(node); } @@ -43731,17 +43952,19 @@ var ts; */ function getDiagnosticHeadMessageForDecoratorResolution(node) { switch (node.parent.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return ts.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression; - case 148 /* Parameter */: + case 149 /* Parameter */: return ts.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return ts.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return ts.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression; + default: + return ts.Debug.fail(); } } /** @@ -43750,7 +43973,7 @@ var ts; function resolveDecorator(node, candidatesOutArray) { var funcType = checkExpression(node.expression); var apparentType = getApparentType(funcType); - if (apparentType === unknownType) { + if (apparentType === errorType) { return resolveErrorCall(node); } var callSignatures = getSignaturesOfType(apparentType, 0 /* Call */); @@ -43765,8 +43988,7 @@ var ts; } var headMessage = getDiagnosticHeadMessageForDecoratorResolution(node); if (!callSignatures.length) { - var errorInfo = void 0; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures, typeToString(apparentType)); + var errorInfo = ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures, typeToString(apparentType)); errorInfo = ts.chainDiagnosticMessages(errorInfo, headMessage); diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(node, errorInfo)); invocationErrorRecovery(apparentType, 0 /* Call */); @@ -43797,7 +44019,7 @@ var ts; * the function will fill it up with appropriate candidate signatures */ function getResolvedJsxStatelessFunctionSignature(openingLikeElement, elementType, candidatesOutArray) { - ts.Debug.assert(!(elementType.flags & 131072 /* Union */)); + ts.Debug.assert(!(elementType.flags & 262144 /* Union */)); var callSignatures = elementType && getSignaturesOfType(elementType, 0 /* Call */); if (callSignatures && callSignatures.length > 0) { return resolveCall(openingLikeElement, callSignatures, candidatesOutArray); @@ -43806,16 +44028,16 @@ var ts; } function resolveSignature(node, candidatesOutArray) { switch (node.kind) { - case 186 /* CallExpression */: + case 187 /* CallExpression */: return resolveCallExpression(node, candidatesOutArray); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return resolveNewExpression(node, candidatesOutArray); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return resolveTaggedTemplateExpression(node, candidatesOutArray); - case 149 /* Decorator */: + case 150 /* Decorator */: return resolveDecorator(node, candidatesOutArray); - case 256 /* JsxOpeningElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: // This code-path is called by language service var exprTypes = checkExpression(node.tagName); return forEachType(exprTypes, function (exprType) { @@ -43830,7 +44052,7 @@ var ts; return ts.length(sigs) ? sigs[0] : unknownSignature; }) || unknownSignature; } - ts.Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); + throw ts.Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); } /** * Resolve a signature of a given call-like expression. @@ -43870,15 +44092,11 @@ var ts; var symbol = ts.isFunctionDeclaration(node) || ts.isFunctionExpression(node) ? getSymbolOfNode(node) : ts.isVariableDeclaration(node) && node.initializer && ts.isFunctionExpression(node.initializer) ? getSymbolOfNode(node.initializer) : undefined; - return symbol && symbol.members !== undefined; + return !!symbol && symbol.members !== undefined; } return false; } function getJavaScriptClassType(symbol) { - var initializer = ts.getDeclaredJavascriptInitializer(symbol.valueDeclaration); - if (initializer) { - symbol = getSymbolOfNode(initializer); - } var inferred; if (isJavaScriptConstructor(symbol.valueDeclaration)) { inferred = getInferredClassType(symbol); @@ -43909,7 +44127,7 @@ var ts; return false; } var parent = node.parent; - while (parent && parent.kind === 184 /* PropertyAccessExpression */) { + while (parent && parent.kind === 185 /* PropertyAccessExpression */) { parent = parent.parent; } if (parent && ts.isBinaryExpression(parent) && ts.isPrototypeAccess(parent.left) && parent.operatorToken.kind === 58 /* EqualsToken */) { @@ -43941,12 +44159,12 @@ var ts; if (node.expression.kind === 97 /* SuperKeyword */) { return voidType; } - if (node.kind === 187 /* NewExpression */) { + if (node.kind === 188 /* NewExpression */) { var declaration = signature.declaration; if (declaration && - declaration.kind !== 154 /* Constructor */ && - declaration.kind !== 158 /* ConstructSignature */ && - declaration.kind !== 163 /* ConstructorType */ && + declaration.kind !== 155 /* Constructor */ && + declaration.kind !== 159 /* ConstructSignature */ && + declaration.kind !== 164 /* ConstructorType */ && !ts.isJSDocConstructSignature(declaration)) { // When resolved signature is a call signature (and not a construct signature) the result type is any, unless // the declaring function had members created through 'x.prototype.y = expr' or 'this.y = expr' psuedodeclarations @@ -43974,10 +44192,20 @@ var ts; var returnType = getReturnTypeOfSignature(signature); // Treat any call to the global 'Symbol' function that is part of a const variable or readonly property // as a fresh unique symbol literal type. - if (returnType.flags & 1536 /* ESSymbolLike */ && isSymbolOrSymbolForCall(node)) { + if (returnType.flags & 3072 /* ESSymbolLike */ && isSymbolOrSymbolForCall(node)) { return getESSymbolLikeTypeForNode(ts.walkUpParenthesizedExpressions(node.parent)); } - return returnType; + var jsAssignmentType; + if (ts.isInJavaScriptFile(node)) { + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + var jsSymbol = getSymbolOfNode(decl); + if (jsSymbol && ts.hasEntries(jsSymbol.exports)) { + jsAssignmentType = createAnonymousType(jsSymbol, jsSymbol.exports, ts.emptyArray, ts.emptyArray, jsObjectLiteralIndexInfo, undefined); + } + } + } + return jsAssignmentType ? getIntersectionType([returnType, jsAssignmentType]) : returnType; } function isSymbolOrSymbolForCall(node) { if (!ts.isCallExpression(node)) @@ -44009,7 +44237,7 @@ var ts; for (var i = 1; i < node.arguments.length; ++i) { checkExpressionCached(node.arguments[i]); } - if (specifierType.flags & 4096 /* Undefined */ || specifierType.flags & 8192 /* Null */ || !isTypeAssignableTo(specifierType, stringType)) { + if (specifierType.flags & 8192 /* Undefined */ || specifierType.flags & 16384 /* Null */ || !isTypeAssignableTo(specifierType, stringType)) { error(specifier, ts.Diagnostics.Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0, typeToString(specifierType)); } // resolveExternalModuleName will return undefined if the moduleReferenceExpression is not a string literal @@ -44023,7 +44251,7 @@ var ts; return createPromiseReturnType(node, anyType); } function getTypeWithSyntheticDefaultImportType(type, symbol, originalSymbol) { - if (allowSyntheticDefaultImports && type && type !== unknownType) { + if (allowSyntheticDefaultImports && type && type !== errorType) { var synthType = type; if (!synthType.syntheticType) { var file_4 = ts.find(originalSymbol.declarations, ts.isSourceFile); @@ -44053,7 +44281,7 @@ var ts; // Make sure require is not a local function if (!ts.isIdentifier(node.expression)) return ts.Debug.fail(); - var resolvedRequire = resolveName(node.expression, node.expression.escapedText, 67216319 /* Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); + var resolvedRequire = resolveName(node.expression, node.expression.escapedText, 67216319 /* Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); // TODO: GH#18217 if (resolvedRequire === requireSymbol) { return true; } @@ -44062,9 +44290,9 @@ var ts; return false; } var targetDeclarationKind = resolvedRequire.flags & 16 /* Function */ - ? 233 /* FunctionDeclaration */ + ? 234 /* FunctionDeclaration */ : resolvedRequire.flags & 3 /* Variable */ - ? 231 /* VariableDeclaration */ + ? 232 /* VariableDeclaration */ : 0 /* Unknown */; if (targetDeclarationKind !== 0 /* Unknown */) { var decl = ts.getDeclarationOfKind(resolvedRequire, targetDeclarationKind); @@ -44087,7 +44315,7 @@ var ts; var exprType = getRegularTypeOfObjectLiteral(getBaseTypeOfLiteralType(checkExpression(expression, checkMode))); checkSourceElement(type); var targetType = getTypeFromTypeNode(type); - if (produceDiagnostics && targetType !== unknownType) { + if (produceDiagnostics && targetType !== errorType) { var widenedType = getWidenedType(exprType); if (!isTypeComparableTo(targetType, widenedType)) { checkTypeComparableTo(exprType, targetType, errNode, ts.Diagnostics.Type_0_cannot_be_converted_to_type_1); @@ -44106,14 +44334,15 @@ var ts; if (node.keywordToken === 91 /* ImportKeyword */) { return checkImportMetaProperty(node); } + return ts.Debug.assertNever(node.keywordToken); } function checkNewTargetMetaProperty(node) { var container = ts.getNewTargetContainer(node); if (!container) { error(node, ts.Diagnostics.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor, "new.target"); - return unknownType; + return errorType; } - else if (container.kind === 154 /* Constructor */) { + else if (container.kind === 155 /* Constructor */) { var symbol = getSymbolOfNode(container.parent); return getTypeOfSymbol(symbol); } @@ -44129,7 +44358,7 @@ var ts; var file = ts.getSourceFileOfNode(node); ts.Debug.assert(!!(file.flags & 1048576 /* PossiblyContainsImportMeta */), "Containing file is missing import meta node flag."); ts.Debug.assert(!!file.externalModuleIndicator, "Containing file should be a module."); - return node.name.escapedText === "meta" ? getGlobalImportMetaType() : unknownType; + return node.name.escapedText === "meta" ? getGlobalImportMetaType() : errorType; } function getTypeOfParameter(symbol) { var type = getTypeOfSymbol(symbol); @@ -44185,9 +44414,9 @@ var ts; } if (signature.hasRestParameter && isRestParameterIndex(context, signature.parameters.length - 1)) { // parameter might be a transient symbol generated by use of `arguments` in the function body. - var parameter = ts.lastOrUndefined(signature.parameters); + var parameter = ts.last(signature.parameters); if (isTransientSymbol(parameter) || !ts.getEffectiveTypeAnnotationNode(parameter.valueDeclaration)) { - var contextualParameterType = getTypeOfSymbol(ts.lastOrUndefined(context.parameters)); + var contextualParameterType = getTypeOfSymbol(ts.last(context.parameters)); assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType); } } @@ -44237,7 +44466,7 @@ var ts; error(func, ts.isImportCall(func) ? ts.Diagnostics.A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option : ts.Diagnostics.An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option); - return unknownType; + return errorType; } else if (!getGlobalPromiseConstructorSymbol(/*reportErrors*/ true)) { error(func, ts.isImportCall(func) ? @@ -44248,11 +44477,11 @@ var ts; } function getReturnTypeFromBody(func, checkMode) { if (!func.body) { - return unknownType; + return errorType; } var functionFlags = ts.getFunctionFlags(func); var type; - if (func.body.kind !== 212 /* Block */) { + if (func.body.kind !== 213 /* Block */) { type = checkExpressionCached(func.body, checkMode); if (functionFlags & 2 /* Async */) { // From within an async function you can return either a non-promise value or a promise. Any @@ -44366,7 +44595,7 @@ var ts; if (!(func.flags & 128 /* HasImplicitReturn */)) { return false; } - if (ts.some(func.body.statements, function (statement) { return statement.kind === 226 /* SwitchStatement */ && isExhaustiveSwitchStatement(statement); })) { + if (ts.some(func.body.statements, function (statement) { return statement.kind === 227 /* SwitchStatement */ && isExhaustiveSwitchStatement(statement); })) { return false; } return true; @@ -44388,7 +44617,7 @@ var ts; // the native Promise type by the caller. type = checkAwaitedType(type, func, ts.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); } - if (type.flags & 16384 /* Never */) { + if (type.flags & 32768 /* Never */) { hasReturnOfTypeNever = true; } ts.pushIfUnique(aggregatedTypes, type); @@ -44409,11 +44638,11 @@ var ts; } function mayReturnNever(func) { switch (func.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return true; - case 153 /* MethodDeclaration */: - return func.parent.kind === 183 /* ObjectLiteralExpression */; + case 154 /* MethodDeclaration */: + return func.parent.kind === 184 /* ObjectLiteralExpression */; default: return false; } @@ -44432,16 +44661,16 @@ var ts; return; } // Functions with with an explicitly specified 'void' or 'any' return type don't need any return expressions. - if (returnType && maybeTypeOfKind(returnType, 1 /* Any */ | 2048 /* Void */)) { + if (returnType && maybeTypeOfKind(returnType, 3 /* AnyOrUnknown */ | 4096 /* Void */)) { return; } // If all we have is a function signature, or an arrow function with an expression body, then there is nothing to check. // also if HasImplicitReturn flag is not set this means that all codepaths in function body end with return or throw - if (func.kind === 152 /* MethodSignature */ || ts.nodeIsMissing(func.body) || func.body.kind !== 212 /* Block */ || !functionHasImplicitReturn(func)) { + if (func.kind === 153 /* MethodSignature */ || ts.nodeIsMissing(func.body) || func.body.kind !== 213 /* Block */ || !functionHasImplicitReturn(func)) { return; } var hasExplicitReturn = func.flags & 256 /* HasExplicitReturn */; - if (returnType && returnType.flags & 16384 /* Never */) { + if (returnType && returnType.flags & 32768 /* Never */) { error(ts.getEffectiveReturnTypeNode(func), ts.Diagnostics.A_function_returning_never_cannot_have_a_reachable_end_point); } else if (returnType && !hasExplicitReturn) { @@ -44470,14 +44699,14 @@ var ts; } } function checkFunctionExpressionOrObjectLiteralMethod(node, checkMode) { - ts.Debug.assert(node.kind !== 153 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); // The identityMapper object is used to indicate that function expressions are wildcards if (checkMode === 1 /* SkipContextSensitive */ && isContextSensitive(node)) { return anyFunctionType; } // Grammar checking var hasGrammarError = checkGrammarFunctionLikeDeclaration(node); - if (!hasGrammarError && node.kind === 191 /* FunctionExpression */) { + if (!hasGrammarError && node.kind === 192 /* FunctionExpression */) { checkGrammarForGenerator(node); } var links = getNodeLinks(node); @@ -44518,7 +44747,7 @@ var ts; return type; } function checkFunctionExpressionOrObjectLiteralMethodDeferred(node) { - ts.Debug.assert(node.kind !== 153 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 154 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); var functionFlags = ts.getFunctionFlags(node); var returnTypeNode = ts.getEffectiveReturnTypeNode(node); var returnOrPromisedType = returnTypeNode && @@ -44538,7 +44767,7 @@ var ts; // checkFunctionExpressionBodies). So it must be done now. getReturnTypeOfSignature(getSignatureFromDeclaration(node)); } - if (node.body.kind === 212 /* Block */) { + if (node.body.kind === 213 /* Block */) { checkSourceElement(node.body); } else { @@ -44561,7 +44790,7 @@ var ts; } } function checkArithmeticOperandType(operand, type, diagnostic) { - if (!isTypeAssignableToKind(type, 84 /* NumberLike */)) { + if (!isTypeAssignableToKind(type, 168 /* NumberLike */)) { error(operand, diagnostic); return false; } @@ -44584,11 +44813,11 @@ var ts; if (isReadonlySymbol(symbol)) { // Allow assignments to readonly properties within constructors of the same class declaration. if (symbol.flags & 4 /* Property */ && - (expr.kind === 184 /* PropertyAccessExpression */ || expr.kind === 185 /* ElementAccessExpression */) && + (expr.kind === 185 /* PropertyAccessExpression */ || expr.kind === 186 /* ElementAccessExpression */) && expr.expression.kind === 99 /* ThisKeyword */) { // Look for if this is the constructor for the class that `symbol` is a property of. var func = ts.getContainingFunction(expr); - if (!(func && func.kind === 154 /* Constructor */)) { + if (!(func && func.kind === 155 /* Constructor */)) { return true; } // If func.parent is a class and symbol is a (readonly) property of that class, or @@ -44601,13 +44830,13 @@ var ts; return false; } function isReferenceThroughNamespaceImport(expr) { - if (expr.kind === 184 /* PropertyAccessExpression */ || expr.kind === 185 /* ElementAccessExpression */) { + if (expr.kind === 185 /* PropertyAccessExpression */ || expr.kind === 186 /* ElementAccessExpression */) { var node = ts.skipParentheses(expr.expression); if (node.kind === 71 /* Identifier */) { var symbol = getNodeLinks(node).resolvedSymbol; if (symbol.flags & 2097152 /* Alias */) { var declaration = getDeclarationOfAliasSymbol(symbol); - return declaration && declaration.kind === 245 /* NamespaceImport */; + return !!declaration && declaration.kind === 246 /* NamespaceImport */; } } } @@ -44616,7 +44845,7 @@ var ts; function checkReferenceExpression(expr, invalidReferenceMessage) { // References are combinations of identifiers, parentheses, and property accesses. var node = ts.skipOuterExpressions(expr, 2 /* Assertions */ | 1 /* Parentheses */); - if (node.kind !== 71 /* Identifier */ && node.kind !== 184 /* PropertyAccessExpression */ && node.kind !== 185 /* ElementAccessExpression */) { + if (node.kind !== 71 /* Identifier */ && node.kind !== 185 /* PropertyAccessExpression */ && node.kind !== 186 /* ElementAccessExpression */) { error(expr, invalidReferenceMessage); return false; } @@ -44625,7 +44854,7 @@ var ts; function checkDeleteExpression(node) { checkExpression(node.expression); var expr = ts.skipParentheses(node.expression); - if (expr.kind !== 184 /* PropertyAccessExpression */ && expr.kind !== 185 /* ElementAccessExpression */) { + if (expr.kind !== 185 /* PropertyAccessExpression */ && expr.kind !== 186 /* ElementAccessExpression */) { error(expr, ts.Diagnostics.The_operand_of_a_delete_operator_must_be_a_property_reference); return booleanType; } @@ -44675,7 +44904,7 @@ var ts; case 38 /* MinusToken */: case 52 /* TildeToken */: checkNonNullType(operandType, node.operand); - if (maybeTypeOfKind(operandType, 1536 /* ESSymbolLike */)) { + if (maybeTypeOfKind(operandType, 3072 /* ESSymbolLike */)) { error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator)); } return numberType; @@ -44693,7 +44922,7 @@ var ts; } return numberType; } - return unknownType; + return errorType; } function checkPostfixUnaryExpression(node) { var operandType = checkExpression(node.operand); @@ -44710,10 +44939,10 @@ var ts; // Return true if type might be of the given kind. A union or intersection type might be of a given // kind if at least one constituent type is of the given kind. function maybeTypeOfKind(type, kind) { - if (type.flags & kind || kind & 536870912 /* GenericMappedType */ && isGenericMappedType(type)) { + if (type.flags & kind & ~134217728 /* GenericMappedType */ || kind & 134217728 /* GenericMappedType */ && isGenericMappedType(type)) { return true; } - if (type.flags & 393216 /* UnionOrIntersection */) { + if (type.flags & 786432 /* UnionOrIntersection */) { var types = type.types; for (var _i = 0, types_16 = types; _i < types_16.length; _i++) { var t = types_16[_i]; @@ -44728,26 +44957,26 @@ var ts; if (source.flags & kind) { return true; } - if (strict && source.flags & (1 /* Any */ | 2048 /* Void */ | 4096 /* Undefined */ | 8192 /* Null */)) { + if (strict && source.flags & (3 /* AnyOrUnknown */ | 4096 /* Void */ | 8192 /* Undefined */ | 16384 /* Null */)) { return false; } - return (kind & 84 /* NumberLike */ && isTypeAssignableTo(source, numberType)) || - (kind & 34 /* StringLike */ && isTypeAssignableTo(source, stringType)) || - (kind & 136 /* BooleanLike */ && isTypeAssignableTo(source, booleanType)) || - (kind & 2048 /* Void */ && isTypeAssignableTo(source, voidType)) || - (kind & 16384 /* Never */ && isTypeAssignableTo(source, neverType)) || - (kind & 8192 /* Null */ && isTypeAssignableTo(source, nullType)) || - (kind & 4096 /* Undefined */ && isTypeAssignableTo(source, undefinedType)) || - (kind & 512 /* ESSymbol */ && isTypeAssignableTo(source, esSymbolType)) || - (kind & 134217728 /* NonPrimitive */ && isTypeAssignableTo(source, nonPrimitiveType)); + return !!(kind & 168 /* NumberLike */) && isTypeAssignableTo(source, numberType) || + !!(kind & 68 /* StringLike */) && isTypeAssignableTo(source, stringType) || + !!(kind & 272 /* BooleanLike */) && isTypeAssignableTo(source, booleanType) || + !!(kind & 4096 /* Void */) && isTypeAssignableTo(source, voidType) || + !!(kind & 32768 /* Never */) && isTypeAssignableTo(source, neverType) || + !!(kind & 16384 /* Null */) && isTypeAssignableTo(source, nullType) || + !!(kind & 8192 /* Undefined */) && isTypeAssignableTo(source, undefinedType) || + !!(kind & 1024 /* ESSymbol */) && isTypeAssignableTo(source, esSymbolType) || + !!(kind & 16777216 /* NonPrimitive */) && isTypeAssignableTo(source, nonPrimitiveType); } function allTypesAssignableToKind(source, kind, strict) { - return source.flags & 131072 /* Union */ ? + return source.flags & 262144 /* Union */ ? ts.every(source.types, function (subType) { return allTypesAssignableToKind(subType, kind, strict); }) : isTypeAssignableToKind(source, kind, strict); } function isConstEnumObjectType(type) { - return ts.getObjectFlags(type) & 16 /* Anonymous */ && type.symbol && isConstEnumSymbol(type.symbol); + return !!(ts.getObjectFlags(type) & 16 /* Anonymous */) && !!type.symbol && isConstEnumSymbol(type.symbol); } function isConstEnumSymbol(symbol) { return (symbol.flags & 128 /* ConstEnum */) !== 0; @@ -44762,7 +44991,7 @@ var ts; // The result is always of the Boolean primitive type. // NOTE: do not raise error if leftType is unknown as related error was already reported if (!isTypeAny(leftType) && - allTypesAssignableToKind(leftType, 16382 /* Primitive */)) { + allTypesAssignableToKind(leftType, 32764 /* Primitive */)) { error(left, ts.Diagnostics.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } // NOTE: do not raise error if right is unknown as related error was already reported @@ -44781,10 +45010,10 @@ var ts; // The in operator requires the left operand to be of type Any, the String primitive type, or the Number primitive type, // and the right operand to be of type Any, an object type, or a type parameter type. // The result is always of the Boolean primitive type. - if (!(isTypeComparableTo(leftType, stringType) || isTypeAssignableToKind(leftType, 84 /* NumberLike */ | 1536 /* ESSymbolLike */))) { + if (!(isTypeComparableTo(leftType, stringType) || isTypeAssignableToKind(leftType, 168 /* NumberLike */ | 3072 /* ESSymbolLike */))) { error(left, ts.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol); } - if (!isTypeAssignableToKind(rightType, 134217728 /* NonPrimitive */ | 7372800 /* InstantiableNonPrimitive */)) { + if (!isTypeAssignableToKind(rightType, 16777216 /* NonPrimitive */ | 14745600 /* InstantiableNonPrimitive */)) { error(right, ts.Diagnostics.The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } return booleanType; @@ -44803,9 +45032,9 @@ var ts; } /** Note: If property cannot be a SpreadAssignment, then allProperties does not need to be provided */ function checkObjectLiteralDestructuringPropertyAssignment(objectLiteralType, property, allProperties) { - if (property.kind === 269 /* PropertyAssignment */ || property.kind === 270 /* ShorthandPropertyAssignment */) { + if (property.kind === 270 /* PropertyAssignment */ || property.kind === 271 /* ShorthandPropertyAssignment */) { var name = property.name; - if (name.kind === 146 /* ComputedPropertyName */) { + if (name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(name); } if (isComputedNonLiteralName(name)) { @@ -44818,7 +45047,7 @@ var ts; isNumericLiteralName(text) && getIndexTypeOfType(objectLiteralType, 1 /* Number */) || getIndexTypeOfType(objectLiteralType, 0 /* String */); if (type) { - if (property.kind === 270 /* ShorthandPropertyAssignment */) { + if (property.kind === 271 /* ShorthandPropertyAssignment */) { return checkDestructuringAssignment(property, type); } else { @@ -44830,7 +45059,7 @@ var ts; error(name, ts.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature, typeToString(objectLiteralType), ts.declarationNameToString(name)); } } - else if (property.kind === 271 /* SpreadAssignment */) { + else if (property.kind === 272 /* SpreadAssignment */) { if (languageVersion < 6 /* ESNext */) { checkExternalEmitHelpers(property, 4 /* Rest */); } @@ -44856,7 +45085,7 @@ var ts; // This elementType will be used if the specific property corresponding to this index is not // present (aka the tuple element property). This call also checks that the parentType is in // fact an iterable or array (depending on target language). - var elementType = checkIteratedTypeOrElementType(sourceType, node, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || unknownType; + var elementType = checkIteratedTypeOrElementType(sourceType, node, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || errorType; for (var i = 0; i < elements.length; i++) { checkArrayLiteralDestructuringElementAssignment(node, sourceType, i, elementType, checkMode); } @@ -44865,8 +45094,8 @@ var ts; function checkArrayLiteralDestructuringElementAssignment(node, sourceType, elementIndex, elementType, checkMode) { var elements = node.elements; var element = elements[elementIndex]; - if (element.kind !== 205 /* OmittedExpression */) { - if (element.kind !== 203 /* SpreadElement */) { + if (element.kind !== 206 /* OmittedExpression */) { + if (element.kind !== 204 /* SpreadElement */) { var propName = "" + elementIndex; var type = isTypeAny(sourceType) ? sourceType @@ -44894,7 +45123,7 @@ var ts; } else { var restExpression = element.expression; - if (restExpression.kind === 199 /* BinaryExpression */ && restExpression.operatorToken.kind === 58 /* EqualsToken */) { + if (restExpression.kind === 200 /* BinaryExpression */ && restExpression.operatorToken.kind === 58 /* EqualsToken */) { error(restExpression.operatorToken, ts.Diagnostics.A_rest_element_cannot_have_an_initializer); } else { @@ -44907,13 +45136,13 @@ var ts; } function checkDestructuringAssignment(exprOrAssignment, sourceType, checkMode) { var target; - if (exprOrAssignment.kind === 270 /* ShorthandPropertyAssignment */) { + if (exprOrAssignment.kind === 271 /* ShorthandPropertyAssignment */) { var prop = exprOrAssignment; if (prop.objectAssignmentInitializer) { // In strict null checking mode, if a default value of a non-undefined type is specified, remove // undefined from the final type. if (strictNullChecks && - !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 4096 /* Undefined */)) { + !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 8192 /* Undefined */)) { sourceType = getTypeWithFacts(sourceType, 131072 /* NEUndefined */); } checkBinaryLikeExpression(prop.name, prop.equalsToken, prop.objectAssignmentInitializer, checkMode); @@ -44923,21 +45152,21 @@ var ts; else { target = exprOrAssignment; } - if (target.kind === 199 /* BinaryExpression */ && target.operatorToken.kind === 58 /* EqualsToken */) { + if (target.kind === 200 /* BinaryExpression */ && target.operatorToken.kind === 58 /* EqualsToken */) { checkBinaryExpression(target, checkMode); target = target.left; } - if (target.kind === 183 /* ObjectLiteralExpression */) { + if (target.kind === 184 /* ObjectLiteralExpression */) { return checkObjectLiteralAssignment(target, sourceType); } - if (target.kind === 182 /* ArrayLiteralExpression */) { + if (target.kind === 183 /* ArrayLiteralExpression */) { return checkArrayLiteralAssignment(target, sourceType, checkMode); } return checkReferenceAssignment(target, sourceType, checkMode); } function checkReferenceAssignment(target, sourceType, checkMode) { var targetType = checkExpression(target, checkMode); - var error = target.parent.kind === 271 /* SpreadAssignment */ ? + var error = target.parent.kind === 272 /* SpreadAssignment */ ? ts.Diagnostics.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access : ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access; if (checkReferenceExpression(target, error)) { @@ -44959,35 +45188,35 @@ var ts; case 71 /* Identifier */: case 9 /* StringLiteral */: case 12 /* RegularExpressionLiteral */: - case 188 /* TaggedTemplateExpression */: - case 201 /* TemplateExpression */: + case 189 /* TaggedTemplateExpression */: + case 202 /* TemplateExpression */: case 13 /* NoSubstitutionTemplateLiteral */: case 8 /* NumericLiteral */: case 101 /* TrueKeyword */: case 86 /* FalseKeyword */: case 95 /* NullKeyword */: case 140 /* UndefinedKeyword */: - case 191 /* FunctionExpression */: - case 204 /* ClassExpression */: - case 192 /* ArrowFunction */: - case 182 /* ArrayLiteralExpression */: - case 183 /* ObjectLiteralExpression */: - case 194 /* TypeOfExpression */: - case 208 /* NonNullExpression */: - case 255 /* JsxSelfClosingElement */: - case 254 /* JsxElement */: + case 192 /* FunctionExpression */: + case 205 /* ClassExpression */: + case 193 /* ArrowFunction */: + case 183 /* ArrayLiteralExpression */: + case 184 /* ObjectLiteralExpression */: + case 195 /* TypeOfExpression */: + case 209 /* NonNullExpression */: + case 256 /* JsxSelfClosingElement */: + case 255 /* JsxElement */: return true; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return isSideEffectFree(node.whenTrue) && isSideEffectFree(node.whenFalse); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (ts.isAssignmentOperator(node.operatorToken.kind)) { return false; } return isSideEffectFree(node.left) && isSideEffectFree(node.right); - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: // Unary operators ~, !, +, and - have no side effects. // The rest do. switch (node.operator) { @@ -44999,15 +45228,15 @@ var ts; } return false; // Some forms listed here for clarity - case 195 /* VoidExpression */: // Explicit opt-out - case 189 /* TypeAssertionExpression */: // Not SEF, but can produce useful type warnings - case 207 /* AsExpression */: // Not SEF, but can produce useful type warnings + case 196 /* VoidExpression */: // Explicit opt-out + case 190 /* TypeAssertionExpression */: // Not SEF, but can produce useful type warnings + case 208 /* AsExpression */: // Not SEF, but can produce useful type warnings default: return false; } } function isTypeEqualityComparableTo(source, target) { - return (target.flags & 12288 /* Nullable */) !== 0 || isTypeComparableTo(source, target); + return (target.flags & 24576 /* Nullable */) !== 0 || isTypeComparableTo(source, target); } function checkBinaryExpression(node, checkMode) { if (ts.isInJavaScriptFile(node) && ts.getAssignedJavascriptInitializer(node)) { @@ -45017,7 +45246,7 @@ var ts; } function checkBinaryLikeExpression(left, operatorToken, right, checkMode, errorNode) { var operator = operatorToken.kind; - if (operator === 58 /* EqualsToken */ && (left.kind === 183 /* ObjectLiteralExpression */ || left.kind === 182 /* ArrayLiteralExpression */)) { + if (operator === 58 /* EqualsToken */ && (left.kind === 184 /* ObjectLiteralExpression */ || left.kind === 183 /* ArrayLiteralExpression */)) { return checkDestructuringAssignment(left, checkExpression(right, checkMode), checkMode); } var leftType = checkExpression(left, checkMode); @@ -45053,8 +45282,8 @@ var ts; var suggestedOperator = void 0; // if a user tries to apply a bitwise operator to 2 boolean operands // try and return them a helpful suggestion - if ((leftType.flags & 136 /* BooleanLike */) && - (rightType.flags & 136 /* BooleanLike */) && + if ((leftType.flags & 272 /* BooleanLike */) && + (rightType.flags & 272 /* BooleanLike */) && (suggestedOperator = getSuggestedBooleanOperator(operatorToken.kind)) !== undefined) { error(errorNode || operatorToken, ts.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead, ts.tokenToString(operatorToken.kind), ts.tokenToString(suggestedOperator)); } @@ -45072,24 +45301,24 @@ var ts; if (leftType === silentNeverType || rightType === silentNeverType) { return silentNeverType; } - if (!isTypeAssignableToKind(leftType, 34 /* StringLike */) && !isTypeAssignableToKind(rightType, 34 /* StringLike */)) { + if (!isTypeAssignableToKind(leftType, 68 /* StringLike */) && !isTypeAssignableToKind(rightType, 68 /* StringLike */)) { leftType = checkNonNullType(leftType, left); rightType = checkNonNullType(rightType, right); } var resultType = void 0; - if (isTypeAssignableToKind(leftType, 84 /* NumberLike */, /*strict*/ true) && isTypeAssignableToKind(rightType, 84 /* NumberLike */, /*strict*/ true)) { + if (isTypeAssignableToKind(leftType, 168 /* NumberLike */, /*strict*/ true) && isTypeAssignableToKind(rightType, 168 /* NumberLike */, /*strict*/ true)) { // Operands of an enum type are treated as having the primitive type Number. // If both operands are of the Number primitive type, the result is of the Number primitive type. resultType = numberType; } - else if (isTypeAssignableToKind(leftType, 34 /* StringLike */, /*strict*/ true) || isTypeAssignableToKind(rightType, 34 /* StringLike */, /*strict*/ true)) { + else if (isTypeAssignableToKind(leftType, 68 /* StringLike */, /*strict*/ true) || isTypeAssignableToKind(rightType, 68 /* StringLike */, /*strict*/ true)) { // If one or both operands are of the String primitive type, the result is of the String primitive type. resultType = stringType; } else if (isTypeAny(leftType) || isTypeAny(rightType)) { // Otherwise, the result is of type Any. // NOTE: unknown type here denotes error type. Old compiler treated this case as any type so do we. - resultType = leftType === unknownType || rightType === unknownType ? unknownType : anyType; + resultType = leftType === errorType || rightType === errorType ? errorType : anyType; } // Symbols are not allowed at all in arithmetic expressions if (resultType && !checkForDisallowedESSymbolOperand(operator)) { @@ -45150,6 +45379,8 @@ var ts; error(left, ts.Diagnostics.Left_side_of_comma_operator_is_unused_and_has_no_side_effects); } return rightType; + default: + return ts.Debug.fail(); } function checkSpecialAssignment(left, right) { var special = ts.getSpecialPropertyAssignmentKind(left.parent); @@ -45161,7 +45392,7 @@ var ts; if (propType.symbol && propType.symbol.flags & 32 /* Class */) { var name = prop.escapedName; var symbol = resolveName(prop.valueDeclaration, name, 67901928 /* Type */, undefined, name, /*isUse*/ false); - if (symbol) { + if (symbol && symbol.declarations.some(function (d) { return d.kind === 297 /* JSDocTypedefTag */; })) { grammarErrorOnNode(symbol.declarations[0], ts.Diagnostics.Duplicate_identifier_0, ts.unescapeLeadingUnderscores(name)); return grammarErrorOnNode(prop.valueDeclaration, ts.Diagnostics.Duplicate_identifier_0, ts.unescapeLeadingUnderscores(name)); } @@ -45174,8 +45405,8 @@ var ts; } // Return true if there was no error, false if there was an error. function checkForDisallowedESSymbolOperand(operator) { - var offendingSymbolOperand = maybeTypeOfKind(leftType, 1536 /* ESSymbolLike */) ? left : - maybeTypeOfKind(rightType, 1536 /* ESSymbolLike */) ? right : + var offendingSymbolOperand = maybeTypeOfKind(leftType, 3072 /* ESSymbolLike */) ? left : + maybeTypeOfKind(rightType, 3072 /* ESSymbolLike */) ? right : undefined; if (offendingSymbolOperand) { error(offendingSymbolOperand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(operator)); @@ -45243,7 +45474,9 @@ var ts; } } var func = ts.getContainingFunction(node); - var functionFlags = func ? ts.getFunctionFlags(func) : 0 /* Normal */; + if (!func) + return anyType; + var functionFlags = ts.getFunctionFlags(func); if (!(functionFlags & 1 /* Generator */)) { // If the user's code is syntactically correct, the func should always have a star. After all, we are in a yield context. return anyType; @@ -45262,7 +45495,7 @@ var ts; } } var isAsync = (functionFlags & 2 /* Async */) !== 0; - var yieldedType = getYieldedTypeOfYieldExpression(node, isAsync); + var yieldedType = getYieldedTypeOfYieldExpression(node, isAsync); // TODO: GH#18217 // There is no point in doing an assignability check if the function // has no explicit return type because the return type is directly computed // from the yield expressions. @@ -45287,14 +45520,14 @@ var ts; // A place where we actually *are* concerned with the expressions' types are // in tagged templates. ts.forEach(node.templateSpans, function (templateSpan) { - if (maybeTypeOfKind(checkExpression(templateSpan.expression), 1536 /* ESSymbolLike */)) { + if (maybeTypeOfKind(checkExpression(templateSpan.expression), 3072 /* ESSymbolLike */)) { error(templateSpan.expression, ts.Diagnostics.Type_0_cannot_be_converted_to_type_1, typeToString(esSymbolType), typeToString(stringType)); } }); return stringType; } function getContextNode(node) { - if (node.kind === 262 /* JsxAttributes */) { + if (node.kind === 263 /* JsxAttributes */) { return node.parent.parent; // Needs to be the root JsxElement, so it encompasses the attributes _and_ the children (which are essentially part of the attributes) } return node; @@ -45330,17 +45563,16 @@ var ts; } function isTypeAssertion(node) { node = ts.skipParentheses(node); - return node.kind === 189 /* TypeAssertionExpression */ || node.kind === 207 /* AsExpression */; + return node.kind === 190 /* TypeAssertionExpression */ || node.kind === 208 /* AsExpression */; } function checkDeclarationInitializer(declaration) { - var inJs = ts.isInJavaScriptFile(declaration); - var initializer = inJs && ts.getDeclaredJavascriptInitializer(declaration) || declaration.initializer; + var initializer = ts.getEffectiveInitializer(declaration); var type = getTypeOfExpression(initializer, /*cache*/ true); var widened = ts.getCombinedNodeFlags(declaration) & 2 /* Const */ || (ts.getCombinedModifierFlags(declaration) & 64 /* Readonly */ && !ts.isParameterPropertyDeclaration(declaration)) || isTypeAssertion(initializer) ? type : getWidenedLiteralType(type); - if (inJs) { - if (widened.flags & 12288 /* Nullable */) { + if (ts.isInJavaScriptFile(declaration)) { + if (widened.flags & 24576 /* Nullable */) { if (noImplicitAny) { reportImplicitAnyError(declaration, anyType); } @@ -45355,38 +45587,28 @@ var ts; } return widened; } - function isTypeParameterWithKeyofConstraint(type) { - if (type.flags & 32768 /* TypeParameter */) { - var constraintDeclaration = getConstraintDeclaration(type); - return constraintDeclaration && constraintDeclaration.kind === 174 /* TypeOperator */ && - constraintDeclaration.operator === 128 /* KeyOfKeyword */; - } - return false; - } function isLiteralOfContextualType(candidateType, contextualType) { if (contextualType) { - if (contextualType.flags & 393216 /* UnionOrIntersection */) { + if (contextualType.flags & 786432 /* UnionOrIntersection */) { var types = contextualType.types; return ts.some(types, function (t) { return isLiteralOfContextualType(candidateType, t); }); } - if (contextualType.flags & 7372800 /* InstantiableNonPrimitive */) { + if (contextualType.flags & 14745600 /* InstantiableNonPrimitive */) { // If the contextual type is a type variable constrained to a primitive type, consider // this a literal context for literals of that primitive type. For example, given a // type parameter 'T extends string', infer string literal types for T. var constraint = getBaseConstraintOfType(contextualType) || emptyObjectType; - return isTypeParameterWithKeyofConstraint(contextualType) && maybeTypeOfKind(candidateType, 32 /* StringLiteral */ | 64 /* NumberLiteral */ | 1024 /* UniqueESSymbol */) || - constraint.flags & 2 /* String */ && maybeTypeOfKind(candidateType, 32 /* StringLiteral */) || - constraint.flags & 4 /* Number */ && maybeTypeOfKind(candidateType, 64 /* NumberLiteral */) || - constraint.flags & 8 /* Boolean */ && maybeTypeOfKind(candidateType, 128 /* BooleanLiteral */) || - constraint.flags & 512 /* ESSymbol */ && maybeTypeOfKind(candidateType, 1024 /* UniqueESSymbol */) || + return maybeTypeOfKind(constraint, 4 /* String */) && maybeTypeOfKind(candidateType, 64 /* StringLiteral */) || + maybeTypeOfKind(constraint, 8 /* Number */) && maybeTypeOfKind(candidateType, 128 /* NumberLiteral */) || + maybeTypeOfKind(constraint, 1024 /* ESSymbol */) && maybeTypeOfKind(candidateType, 2048 /* UniqueESSymbol */) || isLiteralOfContextualType(candidateType, constraint); } // If the contextual type is a literal of a particular primitive type, we consider this a // literal context for all literals of that primitive type. - return contextualType.flags & (32 /* StringLiteral */ | 524288 /* Index */) && maybeTypeOfKind(candidateType, 32 /* StringLiteral */) || - contextualType.flags & 64 /* NumberLiteral */ && maybeTypeOfKind(candidateType, 64 /* NumberLiteral */) || - contextualType.flags & 128 /* BooleanLiteral */ && maybeTypeOfKind(candidateType, 128 /* BooleanLiteral */) || - contextualType.flags & 1024 /* UniqueESSymbol */ && maybeTypeOfKind(candidateType, 1024 /* UniqueESSymbol */); + return !!(contextualType.flags & (64 /* StringLiteral */ | 1048576 /* Index */) && maybeTypeOfKind(candidateType, 64 /* StringLiteral */) || + contextualType.flags & 128 /* NumberLiteral */ && maybeTypeOfKind(candidateType, 128 /* NumberLiteral */) || + contextualType.flags & 256 /* BooleanLiteral */ && maybeTypeOfKind(candidateType, 256 /* BooleanLiteral */) || + contextualType.flags & 2048 /* UniqueESSymbol */ && maybeTypeOfKind(candidateType, 2048 /* UniqueESSymbol */)); } return false; } @@ -45402,7 +45624,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); } return checkExpressionForMutableLocation(node.initializer, checkMode); @@ -45413,7 +45635,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); } var uninstantiatedType = checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); @@ -45443,7 +45665,7 @@ var ts; function getTypeOfExpression(node, cache) { // Optimize for the common case of a call to a function with a single non-generic call // signature where we can just fetch the return type without checking the arguments. - if (node.kind === 186 /* CallExpression */ && node.expression.kind !== 97 /* SuperKeyword */ && !ts.isRequireCall(node, /*checkArgumentIsStringLiteralLike*/ true) && !isSymbolOrSymbolForCall(node)) { + if (node.kind === 187 /* CallExpression */ && node.expression.kind !== 97 /* SuperKeyword */ && !ts.isRequireCall(node, /*checkArgumentIsStringLiteralLike*/ true) && !isSymbolOrSymbolForCall(node)) { var funcType = checkNonNullExpression(node.expression); var signature = getSingleCallSignature(funcType); if (signature && !signature.typeParameters) { @@ -45478,7 +45700,7 @@ var ts; // contextually typed function and arrow expressions in the initial phase. function checkExpression(node, checkMode) { var type; - if (node.kind === 145 /* QualifiedName */) { + if (node.kind === 146 /* QualifiedName */) { type = checkQualifiedName(node); } else { @@ -45490,10 +45712,10 @@ var ts; // - 'left' in property access // - 'object' in indexed access // - target in rhs of import statement - var ok = (node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.expression === node) || - (node.parent.kind === 185 /* ElementAccessExpression */ && node.parent.expression === node) || - ((node.kind === 71 /* Identifier */ || node.kind === 145 /* QualifiedName */) && isInRightSideOfImportOrExportAssignment(node) || - (node.parent.kind === 164 /* TypeQuery */ && node.parent.exprName === node)); + var ok = (node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.expression === node) || + (node.parent.kind === 186 /* ElementAccessExpression */ && node.parent.expression === node) || + ((node.kind === 71 /* Identifier */ || node.kind === 146 /* QualifiedName */) && isInRightSideOfImportOrExportAssignment(node) || + (node.parent.kind === 165 /* TypeQuery */ && node.parent.exprName === node)); if (!ok) { error(node, ts.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query); } @@ -45527,77 +45749,77 @@ var ts; return trueType; case 86 /* FalseKeyword */: return falseType; - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return checkTemplateExpression(node); case 12 /* RegularExpressionLiteral */: return globalRegExpType; - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return checkArrayLiteral(node, checkMode); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return checkObjectLiteral(node, checkMode); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return checkPropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return checkIndexedAccess(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (node.expression.kind === 91 /* ImportKeyword */) { return checkImportCallExpression(node); } /* falls through */ - case 187 /* NewExpression */: + case 188 /* NewExpression */: return checkCallExpression(node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return checkTaggedTemplateExpression(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return checkParenthesizedExpression(node, checkMode); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return checkClassExpression(node); - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); - case 194 /* TypeOfExpression */: + case 195 /* TypeOfExpression */: return checkTypeOfExpression(node); - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: return checkAssertion(node); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: return checkNonNullAssertion(node); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return checkMetaProperty(node); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return checkDeleteExpression(node); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return checkVoidExpression(node); - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return checkAwaitExpression(node); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return checkPrefixUnaryExpression(node); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return checkPostfixUnaryExpression(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return checkBinaryExpression(node, checkMode); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return checkConditionalExpression(node, checkMode); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return checkSpreadExpression(node, checkMode); - case 205 /* OmittedExpression */: + case 206 /* OmittedExpression */: return undefinedWideningType; - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return checkYieldExpression(node); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return checkJsxExpression(node, checkMode); - case 254 /* JsxElement */: + case 255 /* JsxElement */: return checkJsxElement(node, checkMode); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return checkJsxSelfClosingElement(node, checkMode); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return checkJsxFragment(node, checkMode); - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return checkJsxAttributes(node, checkMode); - case 256 /* JsxOpeningElement */: + case 257 /* JsxOpeningElement */: ts.Debug.fail("Shouldn't ever directly check a JsxOpeningElement"); } - return unknownType; + return errorType; } // DECLARATION AND STATEMENT TYPE CHECKING function checkTypeParameter(node) { @@ -45632,7 +45854,7 @@ var ts; checkVariableLikeDeclaration(node); var func = ts.getContainingFunction(node); if (ts.hasModifier(node, 92 /* ParameterPropertyModifier */)) { - if (!(func.kind === 154 /* Constructor */ && ts.nodeIsPresent(func.body))) { + if (!(func.kind === 155 /* Constructor */ && ts.nodeIsPresent(func.body))) { error(node, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); } } @@ -45643,7 +45865,7 @@ var ts; if (func.parameters.indexOf(node) !== 0) { error(node, ts.Diagnostics.A_0_parameter_must_be_the_first_parameter, node.name.escapedText); } - if (func.kind === 154 /* Constructor */ || func.kind === 158 /* ConstructSignature */ || func.kind === 163 /* ConstructorType */) { + if (func.kind === 155 /* Constructor */ || func.kind === 159 /* ConstructSignature */ || func.kind === 164 /* ConstructorType */) { error(node, ts.Diagnostics.A_constructor_cannot_have_a_this_parameter); } } @@ -45687,7 +45909,8 @@ var ts; } else { var leadingError = function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type); }; - checkTypeAssignableTo(typePredicate.type, getTypeOfNode(parent.parameters[typePredicate.parameterIndex]), node.type, + checkTypeAssignableTo(typePredicate.type, getTypeOfNode(parent.parameters[typePredicate.parameterIndex]), // TODO: GH#18217 + node.type, /*headMessage*/ undefined, leadingError); } } @@ -45709,13 +45932,13 @@ var ts; } function getTypePredicateParent(node) { switch (node.parent.kind) { - case 192 /* ArrowFunction */: - case 157 /* CallSignature */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 162 /* FunctionType */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 193 /* ArrowFunction */: + case 158 /* CallSignature */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 163 /* FunctionType */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: var parent = node.parent; if (node === parent.type) { return parent; @@ -45733,7 +45956,7 @@ var ts; error(predicateVariableNode, ts.Diagnostics.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern, predicateVariableName); return true; } - else if (name.kind === 180 /* ArrayBindingPattern */ || name.kind === 179 /* ObjectBindingPattern */) { + else if (name.kind === 181 /* ArrayBindingPattern */ || name.kind === 180 /* ObjectBindingPattern */) { if (checkIfTypePredicateVariableIsDeclaredInBindingPattern(name, predicateVariableNode, predicateVariableName)) { return true; } @@ -45742,13 +45965,13 @@ var ts; } function checkSignatureDeclaration(node) { // Grammar checking - if (node.kind === 159 /* IndexSignature */) { + if (node.kind === 160 /* IndexSignature */) { checkGrammarIndexSignature(node); } // TODO (yuisu): Remove this check in else-if when SyntaxKind.Construct is moved and ambient context is handled - else if (node.kind === 162 /* FunctionType */ || node.kind === 233 /* FunctionDeclaration */ || node.kind === 163 /* ConstructorType */ || - node.kind === 157 /* CallSignature */ || node.kind === 154 /* Constructor */ || - node.kind === 158 /* ConstructSignature */) { + else if (node.kind === 163 /* FunctionType */ || node.kind === 234 /* FunctionDeclaration */ || node.kind === 164 /* ConstructorType */ || + node.kind === 158 /* CallSignature */ || node.kind === 155 /* Constructor */ || + node.kind === 159 /* ConstructSignature */) { checkGrammarFunctionLikeDeclaration(node); } var functionFlags = ts.getFunctionFlags(node); @@ -45778,10 +46001,10 @@ var ts; var returnTypeNode = ts.getEffectiveReturnTypeNode(node); if (noImplicitAny && !returnTypeNode) { switch (node.kind) { - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: error(node, ts.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; - case 157 /* CallSignature */: + case 158 /* CallSignature */: error(node, ts.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; } @@ -45811,7 +46034,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (node.kind !== 159 /* IndexSignature */ && node.kind !== 283 /* JSDocFunctionType */) { + if (node.kind !== 160 /* IndexSignature */ && node.kind !== 284 /* JSDocFunctionType */) { registerForUnusedIdentifiersCheck(node); } } @@ -45828,7 +46051,7 @@ var ts; var staticNames = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 154 /* Constructor */) { + if (member.kind === 155 /* Constructor */) { for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var param = _c[_b]; if (ts.isParameterPropertyDeclaration(param) && !ts.isBindingPattern(param.name)) { @@ -45839,20 +46062,21 @@ var ts; else { var isStatic = ts.hasModifier(member, 32 /* Static */); var names = isStatic ? staticNames : instanceNames; - var memberName = member.name && ts.getPropertyNameForPropertyNameNode(member.name); - if (memberName) { + var name = member.name; + var memberName = name && ts.getPropertyNameForPropertyNameNode(name); + if (name && memberName) { switch (member.kind) { - case 155 /* GetAccessor */: - addName(names, member.name, memberName, 1 /* Getter */); + case 156 /* GetAccessor */: + addName(names, name, memberName, 1 /* Getter */); break; - case 156 /* SetAccessor */: - addName(names, member.name, memberName, 2 /* Setter */); + case 157 /* SetAccessor */: + addName(names, name, memberName, 2 /* Setter */); break; - case 151 /* PropertyDeclaration */: - addName(names, member.name, memberName, 3 /* Property */); + case 152 /* PropertyDeclaration */: + addName(names, name, memberName, 3 /* Property */); break; - case 153 /* MethodDeclaration */: - addName(names, member.name, memberName, 4 /* Method */); + case 154 /* MethodDeclaration */: + addName(names, name, memberName, 4 /* Method */); break; } } @@ -45914,15 +46138,16 @@ var ts; var names = ts.createMap(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 150 /* PropertySignature */) { + if (member.kind === 151 /* PropertySignature */) { var memberName = void 0; - switch (member.name.kind) { + var name = member.name; + switch (name.kind) { case 9 /* StringLiteral */: case 8 /* NumericLiteral */: - memberName = member.name.text; + memberName = name.text; break; case 71 /* Identifier */: - memberName = ts.idText(member.name); + memberName = ts.idText(name); break; default: continue; @@ -45938,7 +46163,7 @@ var ts; } } function checkTypeForDuplicateIndexSignatures(node) { - if (node.kind === 235 /* InterfaceDeclaration */) { + if (node.kind === 236 /* InterfaceDeclaration */) { var nodeSymbol = getSymbolOfNode(node); // in case of merging interface declaration it is possible that we'll enter this check procedure several times for every declaration // to prevent this run check only for the first declaration of a given kind @@ -45993,7 +46218,7 @@ var ts; checkFunctionOrMethodDeclaration(node); // Abstract methods cannot have an implementation. // Extra checks are to avoid reporting multiple errors relating to the "abstractness" of the node. - if (ts.hasModifier(node, 128 /* Abstract */) && node.kind === 153 /* MethodDeclaration */ && node.body) { + if (ts.hasModifier(node, 128 /* Abstract */) && node.kind === 154 /* MethodDeclaration */ && node.body) { error(node, ts.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract, ts.declarationNameToString(node.name)); } } @@ -46018,7 +46243,7 @@ var ts; return; } function isInstancePropertyWithInitializer(n) { - return n.kind === 151 /* PropertyDeclaration */ && + return n.kind === 152 /* PropertyDeclaration */ && !ts.hasModifier(n, 32 /* Static */) && !!n.initializer; } @@ -46048,7 +46273,7 @@ var ts; var superCallStatement = void 0; for (var _i = 0, statements_2 = statements; _i < statements_2.length; _i++) { var statement = statements_2[_i]; - if (statement.kind === 215 /* ExpressionStatement */ && ts.isSuperCall(statement.expression)) { + if (statement.kind === 216 /* ExpressionStatement */ && ts.isSuperCall(statement.expression)) { superCallStatement = statement; break; } @@ -46073,7 +46298,7 @@ var ts; checkGrammarComputedPropertyName(node.name); checkDecorators(node); checkSignatureDeclaration(node); - if (node.kind === 155 /* GetAccessor */) { + if (node.kind === 156 /* GetAccessor */) { if (!(node.flags & 4194304 /* Ambient */) && ts.nodeIsPresent(node.body) && (node.flags & 128 /* HasImplicitReturn */)) { if (!(node.flags & 256 /* HasExplicitReturn */)) { error(node.name, ts.Diagnostics.A_get_accessor_must_return_a_value); @@ -46083,13 +46308,13 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); } if (!hasNonBindableDynamicName(node)) { // TypeScript 1.0 spec (April 2014): 8.4.3 // Accessors for the same member name must specify the same accessibility. - var otherKind = node.kind === 155 /* GetAccessor */ ? 156 /* SetAccessor */ : 155 /* GetAccessor */; + var otherKind = node.kind === 156 /* GetAccessor */ ? 157 /* SetAccessor */ : 156 /* GetAccessor */; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(node), otherKind); if (otherAccessor) { var nodeFlags = ts.getModifierFlags(node); @@ -46107,7 +46332,7 @@ var ts; } } var returnType = getTypeOfAccessors(getSymbolOfNode(node)); - if (node.kind === 155 /* GetAccessor */) { + if (node.kind === 156 /* GetAccessor */) { checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnType); } } @@ -46144,7 +46369,7 @@ var ts; } function getTypeParametersForTypeReference(node) { var type = getTypeFromTypeReference(node); - if (type !== unknownType) { + if (type !== errorType) { var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { return symbol.flags & 524288 /* TypeAlias */ && getSymbolLinks(symbol).typeParameters || @@ -46155,11 +46380,11 @@ var ts; } function checkTypeReferenceNode(node) { checkGrammarTypeArguments(node, node.typeArguments); - if (node.kind === 161 /* TypeReference */ && node.typeName.jsdocDotPos !== undefined && !ts.isInJavaScriptFile(node) && !ts.isInJSDoc(node)) { + if (node.kind === 162 /* TypeReference */ && node.typeName.jsdocDotPos !== undefined && !ts.isInJavaScriptFile(node) && !ts.isInJSDoc(node)) { grammarErrorAtPos(node, node.typeName.jsdocDotPos, 1, ts.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments); } var type = getTypeFromTypeReference(node); - if (type !== unknownType) { + if (type !== errorType) { if (node.typeArguments) { // Do type argument local checks only if referenced type is successfully resolved ts.forEach(node.typeArguments, checkSourceElement); @@ -46170,7 +46395,7 @@ var ts; } } } - if (type.flags & 16 /* Enum */ && getNodeLinks(node).resolvedSymbol.flags & 8 /* EnumMember */) { + if (type.flags & 32 /* Enum */ && getNodeLinks(node).resolvedSymbol.flags & 8 /* EnumMember */) { error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type)); } } @@ -46179,7 +46404,7 @@ var ts; var typeReferenceNode = ts.tryCast(node.parent, ts.isTypeReferenceType); if (!typeReferenceNode) return undefined; - var typeParameters = getTypeParametersForTypeReference(typeReferenceNode); + var typeParameters = getTypeParametersForTypeReference(typeReferenceNode); // TODO: GH#18217 var constraint = getConstraintOfTypeParameter(typeParameters[typeReferenceNode.typeArguments.indexOf(node)]); return constraint && instantiateType(constraint, createTypeMapper(typeParameters, getEffectiveTypeArguments(typeReferenceNode, typeParameters))); } @@ -46210,14 +46435,14 @@ var ts; ts.forEach(node.types, checkSourceElement); } function checkIndexedAccessIndexType(type, accessNode) { - if (!(type.flags & 1048576 /* IndexedAccess */)) { + if (!(type.flags & 2097152 /* IndexedAccess */)) { return type; } // Check if the index type is assignable to 'keyof T' for the object type. var objectType = type.objectType; var indexType = type.indexType; if (isTypeAssignableTo(indexType, getIndexType(objectType, /*stringsOnly*/ false))) { - if (accessNode.kind === 185 /* ElementAccessExpression */ && ts.isAssignmentTarget(accessNode) && + if (accessNode.kind === 186 /* ElementAccessExpression */ && ts.isAssignmentTarget(accessNode) && ts.getObjectFlags(objectType) & 32 /* Mapped */ && getMappedTypeModifiers(objectType) & 1 /* IncludeReadonly */) { error(accessNode, ts.Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(objectType)); } @@ -46225,7 +46450,7 @@ var ts; } // Check if we're indexing with a numeric type and if either object or index types // is a generic type with a constraint that has a numeric index signature. - if (getIndexInfoOfType(getApparentType(objectType), 1 /* Number */) && isTypeAssignableToKind(indexType, 84 /* NumberLike */)) { + if (getIndexInfoOfType(getApparentType(objectType), 1 /* Number */) && isTypeAssignableToKind(indexType, 168 /* NumberLike */)) { return type; } error(accessNode, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(indexType), typeToString(objectType)); @@ -46254,7 +46479,7 @@ var ts; ts.forEachChild(node, checkSourceElement); } function checkInferType(node) { - if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 170 /* ConditionalType */ && n.parent.extendsType === n; })) { + if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 171 /* ConditionalType */ && n.parent.extendsType === n; })) { grammarErrorOnNode(node, ts.Diagnostics.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type); } checkSourceElement(node.typeParameter); @@ -46270,9 +46495,9 @@ var ts; var flags = ts.getCombinedModifierFlags(n); // children of classes (even ambient classes) should not be marked as ambient or export // because those flags have no useful semantics there. - if (n.parent.kind !== 235 /* InterfaceDeclaration */ && - n.parent.kind !== 234 /* ClassDeclaration */ && - n.parent.kind !== 204 /* ClassExpression */ && + if (n.parent.kind !== 236 /* InterfaceDeclaration */ && + n.parent.kind !== 235 /* ClassDeclaration */ && + n.parent.kind !== 205 /* ClassExpression */ && n.flags & 4194304 /* Ambient */) { if (!(flags & 2 /* Ambient */) && !(ts.isModuleBlock(n.parent) && ts.isModuleDeclaration(n.parent.parent) && ts.isGlobalScopeAugmentation(n.parent.parent))) { // It is nested in an ambient context, which means it is automatically exported @@ -46363,7 +46588,7 @@ var ts; if (node.name && subsequentName && (ts.isComputedPropertyName(node.name) && ts.isComputedPropertyName(subsequentName) || !ts.isComputedPropertyName(node.name) && !ts.isComputedPropertyName(subsequentName) && ts.getEscapedTextOfIdentifierOrLiteral(node.name) === ts.getEscapedTextOfIdentifierOrLiteral(subsequentName))) { - var reportError = (node.kind === 153 /* MethodDeclaration */ || node.kind === 152 /* MethodSignature */) && + var reportError = (node.kind === 154 /* MethodDeclaration */ || node.kind === 153 /* MethodSignature */) && ts.hasModifier(node, 32 /* Static */) !== ts.hasModifier(subsequentNode, 32 /* Static */); // we can get here in two cases // 1. mixed static and instance class members @@ -46402,7 +46627,7 @@ var ts; var current = declarations_4[_i]; var node = current; var inAmbientContext = node.flags & 4194304 /* Ambient */; - var inAmbientContextOrInterface = node.parent.kind === 235 /* InterfaceDeclaration */ || node.parent.kind === 165 /* TypeLiteral */ || inAmbientContext; + var inAmbientContextOrInterface = node.parent.kind === 236 /* InterfaceDeclaration */ || node.parent.kind === 166 /* TypeLiteral */ || inAmbientContext; if (inAmbientContextOrInterface) { // check if declarations are consecutive only if they are non-ambient // 1. ambient declarations can be interleaved @@ -46413,7 +46638,7 @@ var ts; // 2. mixing ambient and non-ambient declarations is a separate error that will be reported - do not want to report an extra one previousDeclaration = undefined; } - if (node.kind === 233 /* FunctionDeclaration */ || node.kind === 153 /* MethodDeclaration */ || node.kind === 152 /* MethodSignature */ || node.kind === 154 /* Constructor */) { + if (node.kind === 234 /* FunctionDeclaration */ || node.kind === 154 /* MethodDeclaration */ || node.kind === 153 /* MethodSignature */ || node.kind === 155 /* Constructor */) { var currentNodeFlags = getEffectiveDeclarationFlags(node, flagsToCheck); someNodeFlags |= currentNodeFlags; allNodeFlags &= currentNodeFlags; @@ -46542,22 +46767,22 @@ var ts; function getDeclarationSpaces(decl) { var d = decl; switch (d.kind) { - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: // A jsdoc typedef and callback are, by definition, type aliases - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: return 2 /* ExportType */; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return ts.isAmbientModule(d) || ts.getModuleInstanceState(d) !== 0 /* NonInstantiated */ ? 4 /* ExportNamespace */ | 1 /* ExportValue */ : 4 /* ExportNamespace */; - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: return 2 /* ExportType */ | 1 /* ExportValue */; - case 273 /* SourceFile */: + case 274 /* SourceFile */: return 2 /* ExportType */ | 1 /* ExportValue */ | 4 /* ExportNamespace */; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: // Export assigned entity name expressions act as aliases and should fall through, otherwise they export values if (!ts.isEntityNameExpression(d.expression)) { return 1 /* ExportValue */; @@ -46565,20 +46790,20 @@ var ts; d = d.expression; /* falls through */ // The below options all declare an Alias, which is allowed to merge with other values within the importing module - case 242 /* ImportEqualsDeclaration */: - case 245 /* NamespaceImport */: - case 244 /* ImportClause */: + case 243 /* ImportEqualsDeclaration */: + case 246 /* NamespaceImport */: + case 245 /* ImportClause */: var result_3 = 0 /* None */; var target = resolveAlias(getSymbolOfNode(d)); ts.forEach(target.declarations, function (d) { result_3 |= getDeclarationSpaces(d); }); return result_3; - case 231 /* VariableDeclaration */: - case 181 /* BindingElement */: - case 233 /* FunctionDeclaration */: - case 247 /* ImportSpecifier */: // https://github.com/Microsoft/TypeScript/pull/7591 + case 232 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 234 /* FunctionDeclaration */: + case 248 /* ImportSpecifier */: // https://github.com/Microsoft/TypeScript/pull/7591 return 1 /* ExportValue */; default: - ts.Debug.fail(ts.Debug.showSyntaxKind(d)); + return ts.Debug.fail(ts.Debug.showSyntaxKind(d)); } } } @@ -46611,7 +46836,7 @@ var ts; if (isReferenceToType(promise, getGlobalPromiseType(/*reportErrors*/ false))) { return typeAsPromise.promisedTypeOfPromise = promise.typeArguments[0]; } - var thenFunction = getTypeOfPropertyOfType(promise, "then"); + var thenFunction = getTypeOfPropertyOfType(promise, "then"); // TODO: GH#18217 if (isTypeAny(thenFunction)) { return undefined; } @@ -46643,7 +46868,7 @@ var ts; * The runtime behavior of the `await` keyword. */ function checkAwaitedType(type, errorNode, diagnosticMessage) { - return getAwaitedType(type, errorNode, diagnosticMessage) || unknownType; + return getAwaitedType(type, errorNode, diagnosticMessage) || errorType; } function getAwaitedType(type, errorNode, diagnosticMessage) { var typeAsAwaitable = type; @@ -46653,7 +46878,7 @@ var ts; if (isTypeAny(type)) { return typeAsAwaitable.awaitedTypeOfType = type; } - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { var types = void 0; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var constituentType = _a[_i]; @@ -46732,7 +46957,8 @@ var ts; var thenFunction = getTypeOfPropertyOfType(type, "then"); if (thenFunction && getSignaturesOfType(thenFunction, 0 /* Call */).length > 0) { if (errorNode) { - ts.Debug.assert(!!diagnosticMessage); + if (!diagnosticMessage) + return ts.Debug.fail(); error(errorNode, diagnosticMessage); } return undefined; @@ -46777,58 +47003,58 @@ var ts; // then(...): Promise; // } // - var returnTypeNode = ts.getEffectiveReturnTypeNode(node); + var returnTypeNode = ts.getEffectiveReturnTypeNode(node); // TODO: GH#18217 var returnType = getTypeFromTypeNode(returnTypeNode); if (languageVersion >= 2 /* ES2015 */) { - if (returnType === unknownType) { - return unknownType; + if (returnType === errorType) { + return errorType; } var globalPromiseType = getGlobalPromiseType(/*reportErrors*/ true); if (globalPromiseType !== emptyGenericType && !isReferenceToType(returnType, globalPromiseType)) { // The promise type was not a valid type reference to the global promise type, so we // report an error and return the unknown type. error(returnTypeNode, ts.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type); - return unknownType; + return errorType; } } else { // Always mark the type node as referenced if it points to a value markTypeNodeAsReferenced(returnTypeNode); - if (returnType === unknownType) { - return unknownType; + if (returnType === errorType) { + return errorType; } var promiseConstructorName = ts.getEntityNameFromTypeNode(returnTypeNode); if (promiseConstructorName === undefined) { error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, typeToString(returnType)); - return unknownType; + return errorType; } var promiseConstructorSymbol = resolveEntityName(promiseConstructorName, 67216319 /* Value */, /*ignoreErrors*/ true); - var promiseConstructorType = promiseConstructorSymbol ? getTypeOfSymbol(promiseConstructorSymbol) : unknownType; - if (promiseConstructorType === unknownType) { + var promiseConstructorType = promiseConstructorSymbol ? getTypeOfSymbol(promiseConstructorSymbol) : errorType; + if (promiseConstructorType === errorType) { if (promiseConstructorName.kind === 71 /* Identifier */ && promiseConstructorName.escapedText === "Promise" && getTargetType(returnType) === getGlobalPromiseType(/*reportErrors*/ false)) { error(returnTypeNode, ts.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option); } else { error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, ts.entityNameToString(promiseConstructorName)); } - return unknownType; + return errorType; } var globalPromiseConstructorLikeType = getGlobalPromiseConstructorLikeType(/*reportErrors*/ true); if (globalPromiseConstructorLikeType === emptyObjectType) { // If we couldn't resolve the global PromiseConstructorLike type we cannot verify // compatibility with __awaiter. error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, ts.entityNameToString(promiseConstructorName)); - return unknownType; + return errorType; } if (!checkTypeAssignableTo(promiseConstructorType, globalPromiseConstructorLikeType, returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value)) { - return unknownType; + return errorType; } // Verify there is no local declaration that could collide with the promise constructor. var rootName = promiseConstructorName && getFirstIdentifier(promiseConstructorName); var collidingSymbol = getSymbol(node.locals, rootName.escapedText, 67216319 /* Value */); if (collidingSymbol) { error(collidingSymbol.valueDeclaration, ts.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions, ts.idText(rootName), ts.entityNameToString(promiseConstructorName)); - return unknownType; + return errorType; } } // Get and return the awaited type of the return type. @@ -46845,26 +47071,30 @@ var ts; var headMessage = getDiagnosticHeadMessageForDecoratorResolution(node); var errorInfo; switch (node.parent.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: var classSymbol = getSymbolOfNode(node.parent); var classConstructorType = getTypeOfSymbol(classSymbol); expectedReturnType = getUnionType([classConstructorType, voidType]); break; - case 148 /* Parameter */: + case 149 /* Parameter */: expectedReturnType = voidType; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any); + errorInfo = ts.chainDiagnosticMessages( + /*details*/ undefined, ts.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any); break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: expectedReturnType = voidType; - errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any); + errorInfo = ts.chainDiagnosticMessages( + /*details*/ undefined, ts.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any); break; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - var methodType = getTypeOfNode(node.parent); + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + var methodType = getTypeOfNode(node.parent); // TODO: GH#18217 var descriptorType = createTypedPropertyDescriptorType(methodType); expectedReturnType = getUnionType([descriptorType, voidType]); break; + default: + return ts.Debug.fail(); } checkTypeAssignableTo(returnType, expectedReturnType, node, headMessage, function () { return errorInfo; }); } @@ -46904,12 +47134,12 @@ var ts; function getEntityNameForDecoratorMetadata(node) { if (node) { switch (node.kind) { - case 169 /* IntersectionType */: - case 168 /* UnionType */: + case 170 /* IntersectionType */: + case 169 /* UnionType */: var commonEntityName = void 0; for (var _i = 0, _a = node.types; _i < _a.length; _i++) { var typeNode = _a[_i]; - while (typeNode.kind === 172 /* ParenthesizedType */) { + while (typeNode.kind === 173 /* ParenthesizedType */) { typeNode = typeNode.type; // Skip parens if need be } if (typeNode.kind === 131 /* NeverKeyword */) { @@ -46941,9 +47171,9 @@ var ts; } } return commonEntityName; - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return getEntityNameForDecoratorMetadata(node.type); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return node.typeName; } } @@ -46967,14 +47197,14 @@ var ts; } var firstDecorator = node.decorators[0]; checkExternalEmitHelpers(firstDecorator, 8 /* Decorate */); - if (node.kind === 148 /* Parameter */) { + if (node.kind === 149 /* Parameter */) { checkExternalEmitHelpers(firstDecorator, 32 /* Param */); } if (compilerOptions.emitDecoratorMetadata) { checkExternalEmitHelpers(firstDecorator, 16 /* Metadata */); // we only need to perform these checks if we are emitting serialized type metadata for the target of a decorator. switch (node.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: var constructor = ts.getFirstConstructorWithBody(node); if (constructor) { for (var _i = 0, _a = constructor.parameters; _i < _a.length; _i++) { @@ -46983,19 +47213,19 @@ var ts; } } break; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: for (var _b = 0, _c = node.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); } markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveReturnTypeNode(node)); break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveTypeAnnotationNode(node)); break; - case 148 /* Parameter */: + case 149 /* Parameter */: markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(node)); var containingSignature = node.parent; for (var _d = 0, _e = containingSignature.parameters; _d < _e.length; _d++) { @@ -47038,12 +47268,12 @@ var ts; return; } if (!containsArgumentsReference(decl)) { - error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(node.name.kind === 145 /* QualifiedName */ ? node.name.right : node.name)); + error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(node.name.kind === 146 /* QualifiedName */ ? node.name.right : node.name)); } else if (ts.findLast(ts.getJSDocTags(decl), ts.isJSDocParameterTag) === node && node.typeExpression && node.typeExpression.type && !isArrayType(getTypeFromTypeNode(node.typeExpression.type))) { - error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, ts.idText(node.name.kind === 145 /* QualifiedName */ ? node.name.right : node.name)); + error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, ts.idText(node.name.kind === 146 /* QualifiedName */ ? node.name.right : node.name)); } } } @@ -47072,7 +47302,7 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return node; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return node.name; default: return undefined; @@ -47085,7 +47315,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name && node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name && node.name.kind === 147 /* ComputedPropertyName */) { // This check will account for methods in class/interface declarations, // as well as accessors in classes/object literals checkComputedPropertyName(node.name); @@ -47114,7 +47344,7 @@ var ts; } } } - var body = node.kind === 152 /* MethodSignature */ ? undefined : node.body; + var body = node.kind === 153 /* MethodSignature */ ? undefined : node.body; checkSourceElement(body); var returnTypeNode = ts.getEffectiveReturnTypeNode(node); if ((functionFlags & 1 /* Generator */) === 0) { // Async function or normal function @@ -47155,41 +47385,41 @@ var ts; for (var _i = 0, potentiallyUnusedIdentifiers_1 = potentiallyUnusedIdentifiers; _i < potentiallyUnusedIdentifiers_1.length; _i++) { var node = potentiallyUnusedIdentifiers_1[_i]; switch (node.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: checkUnusedClassMembers(node, addDiagnostic); checkUnusedTypeParameters(node, addDiagnostic); break; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: checkUnusedTypeParameters(node, addDiagnostic); break; - case 273 /* SourceFile */: - case 238 /* ModuleDeclaration */: - case 212 /* Block */: - case 240 /* CaseBlock */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 274 /* SourceFile */: + case 239 /* ModuleDeclaration */: + case 213 /* Block */: + case 241 /* CaseBlock */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: checkUnusedLocalsAndParameters(node, addDiagnostic); break; - case 154 /* Constructor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 155 /* Constructor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: if (node.body) { checkUnusedLocalsAndParameters(node, addDiagnostic); } checkUnusedTypeParameters(node, addDiagnostic); break; - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 236 /* TypeAliasDeclaration */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 237 /* TypeAliasDeclaration */: checkUnusedTypeParameters(node, addDiagnostic); break; default: @@ -47199,15 +47429,8 @@ var ts; } function errorUnusedLocal(declaration, name, addDiagnostic) { var node = ts.getNameOfDeclaration(declaration) || declaration; - if (isIdentifierThatStartsWithUnderScore(node)) { - var declaration_2 = ts.getRootDeclaration(node.parent); - if ((declaration_2.kind === 231 /* VariableDeclaration */ && ts.isForInOrOfStatement(declaration_2.parent.parent)) || - declaration_2.kind === 147 /* TypeParameter */) { - return; - } - } var message = isTypeDeclaration(declaration) ? ts.Diagnostics._0_is_declared_but_never_used : ts.Diagnostics._0_is_declared_but_its_value_is_never_read; - addDiagnostic(0 /* Local */, ts.createDiagnosticForNodeSpan(ts.getSourceFileOfNode(declaration), declaration, node, message, name)); + addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(node, message, name)); } function parameterNameStartsWithUnderscore(parameterName) { return parameterName && isIdentifierThatStartsWithUnderScore(parameterName); @@ -47220,11 +47443,11 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 153 /* MethodDeclaration */: - case 151 /* PropertyDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - if (member.kind === 156 /* SetAccessor */ && member.symbol.flags & 32768 /* GetAccessor */) { + case 154 /* MethodDeclaration */: + case 152 /* PropertyDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + if (member.kind === 157 /* SetAccessor */ && member.symbol.flags & 32768 /* GetAccessor */) { // Already would have reported an error on the getter. break; } @@ -47233,7 +47456,7 @@ var ts; addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(member.name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, symbolToString(symbol))); } break; - case 154 /* Constructor */: + case 155 /* Constructor */: for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; if (!parameter.symbol.isReferenced && ts.hasModifier(parameter, 8 /* Private */)) { @@ -47241,8 +47464,8 @@ var ts; } } break; - case 159 /* IndexSignature */: - case 211 /* SemicolonClassElement */: + case 160 /* IndexSignature */: + case 212 /* SemicolonClassElement */: // Can't be private break; default: @@ -47283,6 +47506,7 @@ var ts; // Ideally we could use the ImportClause directly as a key, but must wait until we have full ES6 maps. So must store key along with value. var unusedImports = ts.createMap(); var unusedDestructures = ts.createMap(); + var unusedVariables = ts.createMap(); nodeWithLocals.locals.forEach(function (local) { // If it's purely a type parameter, ignore, will be checked in `checkUnusedTypeParameters`. // If it's a type parameter merged with a parameter, check if the parameter-side is used. @@ -47303,6 +47527,11 @@ var ts; addToGroup(unusedDestructures, declaration.parent, declaration, getNodeId); } } + else if (ts.isVariableDeclaration(declaration)) { + if (!isIdentifierThatStartsWithUnderScore(declaration.name) || !ts.isForInOrOfStatement(declaration.parent.parent)) { + addToGroup(unusedVariables, declaration.parent, declaration, getNodeId); + } + } else { var parameter = local.valueDeclaration && tryGetRootParameterDeclaration(local.valueDeclaration); if (parameter) { @@ -47320,50 +47549,77 @@ var ts; unusedImports.forEach(function (_a) { var importClause = _a[0], unuseds = _a[1]; var importDecl = importClause.parent; - if (forEachImportedDeclaration(importClause, function (d) { return !ts.contains(unuseds, d); })) { + var nDeclarations = (importClause.name ? 1 : 0) + + (importClause.namedBindings ? + (importClause.namedBindings.kind === 246 /* NamespaceImport */ ? 1 : importClause.namedBindings.elements.length) + : 0); + if (nDeclarations === unuseds.length) { + addDiagnostic(0 /* Local */, unuseds.length === 1 + ? ts.createDiagnosticForNode(importDecl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.first(unuseds).name)) + : ts.createDiagnosticForNode(importDecl, ts.Diagnostics.All_imports_in_import_declaration_are_unused)); + } + else { for (var _i = 0, unuseds_1 = unuseds; _i < unuseds_1.length; _i++) { var unused = unuseds_1[_i]; errorUnusedLocal(unused, ts.idText(unused.name), addDiagnostic); } } - else if (unuseds.length === 1) { - addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(importDecl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.first(unuseds).name))); - } - else { - addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(importDecl, ts.Diagnostics.All_imports_in_import_declaration_are_unused)); - } }); unusedDestructures.forEach(function (_a) { var bindingPattern = _a[0], bindingElements = _a[1]; var kind = tryGetRootParameterDeclaration(bindingPattern.parent) ? 1 /* Parameter */ : 0 /* Local */; - if (!bindingPattern.elements.every(function (e) { return ts.contains(bindingElements, e); })) { + if (bindingPattern.elements.length === bindingElements.length) { + if (bindingElements.length === 1 && bindingPattern.parent.kind === 232 /* VariableDeclaration */ && bindingPattern.parent.parent.kind === 233 /* VariableDeclarationList */) { + addToGroup(unusedVariables, bindingPattern.parent.parent, bindingPattern.parent, getNodeId); + } + else { + addDiagnostic(kind, bindingElements.length === 1 + ? ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(ts.first(bindingElements).name, ts.isIdentifier))) + : ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics.All_destructured_elements_are_unused)); + } + } + else { for (var _i = 0, bindingElements_1 = bindingElements; _i < bindingElements_1.length; _i++) { var e = bindingElements_1[_i]; addDiagnostic(kind, ts.createDiagnosticForNode(e, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(e.name, ts.isIdentifier)))); } } - else if (bindingElements.length === 1) { - addDiagnostic(kind, ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(ts.first(bindingElements).name, ts.isIdentifier)))); + }); + unusedVariables.forEach(function (_a) { + var declarationList = _a[0], declarations = _a[1]; + if (declarationList.declarations.length === declarations.length) { + addDiagnostic(0 /* Local */, declarations.length === 1 + ? ts.createDiagnosticForNode(ts.first(declarations).name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, bindingNameText(ts.first(declarations).name)) + : ts.createDiagnosticForNode(declarationList.parent.kind === 214 /* VariableStatement */ ? declarationList.parent : declarationList, ts.Diagnostics.All_variables_are_unused)); } else { - addDiagnostic(kind, ts.createDiagnosticForNode(bindingPattern, ts.Diagnostics.All_destructured_elements_are_unused)); + for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { + var decl = declarations_5[_i]; + addDiagnostic(0 /* Local */, ts.createDiagnosticForNode(decl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.cast(decl.name, ts.isIdentifier)))); + } } }); } + function bindingNameText(name) { + switch (name.kind) { + case 71 /* Identifier */: + return ts.idText(name); + case 181 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + return bindingNameText(ts.cast(ts.first(name.elements), ts.isBindingElement).name); + default: + return ts.Debug.assertNever(name); + } + } function isImportedDeclaration(node) { - return node.kind === 244 /* ImportClause */ || node.kind === 247 /* ImportSpecifier */ || node.kind === 245 /* NamespaceImport */; + return node.kind === 245 /* ImportClause */ || node.kind === 248 /* ImportSpecifier */ || node.kind === 246 /* NamespaceImport */; } function importClauseFromImported(decl) { - return decl.kind === 244 /* ImportClause */ ? decl : decl.kind === 245 /* NamespaceImport */ ? decl.parent : decl.parent.parent; - } - function forEachImportedDeclaration(importClause, cb) { - var defaultName = importClause.name, namedBindings = importClause.namedBindings; - return (defaultName && cb(importClause)) || - namedBindings && (namedBindings.kind === 245 /* NamespaceImport */ ? cb(namedBindings) : ts.forEach(namedBindings.elements, cb)); + return decl.kind === 245 /* ImportClause */ ? decl : decl.kind === 246 /* NamespaceImport */ ? decl.parent : decl.parent.parent; } function checkBlock(node) { // Grammar checking for SyntaxKind.Block - if (node.kind === 212 /* Block */) { + if (node.kind === 213 /* Block */) { checkGrammarStatementInAmbientContext(node); } if (ts.isFunctionOrModuleBlock(node)) { @@ -47393,12 +47649,12 @@ var ts; if (!(identifier && identifier.escapedText === name)) { return false; } - if (node.kind === 151 /* PropertyDeclaration */ || - node.kind === 150 /* PropertySignature */ || - node.kind === 153 /* MethodDeclaration */ || - node.kind === 152 /* MethodSignature */ || - node.kind === 155 /* GetAccessor */ || - node.kind === 156 /* SetAccessor */) { + if (node.kind === 152 /* PropertyDeclaration */ || + node.kind === 151 /* PropertySignature */ || + node.kind === 154 /* MethodDeclaration */ || + node.kind === 153 /* MethodSignature */ || + node.kind === 156 /* GetAccessor */ || + node.kind === 157 /* SetAccessor */) { // it is ok to have member named '_super' or '_this' - member access is always qualified return false; } @@ -47407,7 +47663,7 @@ var ts; return false; } var root = ts.getRootDeclaration(node); - if (root.kind === 148 /* Parameter */ && ts.nodeIsMissing(root.parent.body)) { + if (root.kind === 149 /* Parameter */ && ts.nodeIsMissing(root.parent.body)) { // just an overload - no codegen impact return false; } @@ -47426,6 +47682,7 @@ var ts; } return true; } + return false; }); } function checkIfNewTargetIsCapturedInEnclosingScope(node) { @@ -47440,6 +47697,7 @@ var ts; } return true; } + return false; }); } function checkCollisionWithRequireExportsInGeneratedCode(node, name) { @@ -47456,7 +47714,7 @@ var ts; } // In case of variable declaration, node.parent is variable statement so look at the variable statement's parent var parent = getDeclarationContainer(node); - if (parent.kind === 273 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent)) { + if (parent.kind === 274 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent)) { // If the declaration happens to be in external module, report error that require and exports are reserved keywords error(name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module, ts.declarationNameToString(name), ts.declarationNameToString(name)); } @@ -47471,7 +47729,7 @@ var ts; } // In case of variable declaration, node.parent is variable statement so look at the variable statement's parent var parent = getDeclarationContainer(node); - if (parent.kind === 273 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent) && parent.flags & 1024 /* HasAsyncFunctions */) { + if (parent.kind === 274 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent) && parent.flags & 1024 /* HasAsyncFunctions */) { // If the declaration happens to be in external module, report error that Promise is a reserved identifier. error(name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions, ts.declarationNameToString(name), ts.declarationNameToString(name)); } @@ -47506,7 +47764,7 @@ var ts; // skip variable declarations that don't have initializers // NOTE: in ES6 spec initializer is required in variable declarations where name is binding pattern // so we'll always treat binding elements as initialized - if (node.kind === 231 /* VariableDeclaration */ && !node.initializer) { + if (node.kind === 232 /* VariableDeclaration */ && !node.initializer) { return; } var symbol = getSymbolOfNode(node); @@ -47518,17 +47776,17 @@ var ts; localDeclarationSymbol !== symbol && localDeclarationSymbol.flags & 2 /* BlockScopedVariable */) { if (getDeclarationNodeFlagsFromSymbol(localDeclarationSymbol) & 3 /* BlockScoped */) { - var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 232 /* VariableDeclarationList */); - var container = varDeclList.parent.kind === 213 /* VariableStatement */ && varDeclList.parent.parent + var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 233 /* VariableDeclarationList */); + var container = varDeclList.parent.kind === 214 /* VariableStatement */ && varDeclList.parent.parent ? varDeclList.parent.parent : undefined; // names of block-scoped and function scoped variables can collide only // if block scoped variable is defined in the function\module\source file scope (because of variable hoisting) var namesShareScope = container && - (container.kind === 212 /* Block */ && ts.isFunctionLike(container.parent) || - container.kind === 239 /* ModuleBlock */ || - container.kind === 238 /* ModuleDeclaration */ || - container.kind === 273 /* SourceFile */); + (container.kind === 213 /* Block */ && ts.isFunctionLike(container.parent) || + container.kind === 240 /* ModuleBlock */ || + container.kind === 239 /* ModuleDeclaration */ || + container.kind === 274 /* SourceFile */); // here we know that function scoped variable is shadowed by block scoped one // if they are defined in the same scope - binder has already reported redeclaration error // otherwise if variable has an initializer - show error that initialization will fail @@ -47543,7 +47801,7 @@ var ts; } // Check that a parameter initializer contains no references to parameters declared to the right of itself function checkParameterInitializer(node) { - if (ts.getRootDeclaration(node).kind !== 148 /* Parameter */) { + if (ts.getRootDeclaration(node).kind !== 149 /* Parameter */) { return; } var func = ts.getContainingFunction(node); @@ -47554,7 +47812,7 @@ var ts; // skip declaration names (i.e. in object literal expressions) return; } - if (n.kind === 184 /* PropertyAccessExpression */) { + if (n.kind === 185 /* PropertyAccessExpression */) { // skip property names in property access expression return visit(n.expression); } @@ -47573,8 +47831,8 @@ var ts; // so we need to do a bit of extra work to check if reference is legal var enclosingContainer = ts.getEnclosingBlockScopeContainer(symbol.valueDeclaration); if (enclosingContainer === func) { - if (symbol.valueDeclaration.kind === 148 /* Parameter */ || - symbol.valueDeclaration.kind === 181 /* BindingElement */) { + if (symbol.valueDeclaration.kind === 149 /* Parameter */ || + symbol.valueDeclaration.kind === 182 /* BindingElement */) { // it is ok to reference parameter in initializer if either // - parameter is located strictly on the left of current parameter declaration if (symbol.valueDeclaration.pos < node.pos) { @@ -47588,7 +47846,7 @@ var ts; return ts.isFunctionLike(current.parent) || // computed property names/initializers in instance property declaration of class like entities // are executed in constructor and thus deferred - (current.parent.kind === 151 /* PropertyDeclaration */ && + (current.parent.kind === 152 /* PropertyDeclaration */ && !(ts.hasModifier(current.parent, 32 /* Static */)) && ts.isClassLike(current.parent.parent)); })) { @@ -47621,18 +47879,18 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 146 /* ComputedPropertyName */) { + if (node.name.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); if (node.initializer) { checkExpressionCached(node.initializer); } } - if (node.kind === 181 /* BindingElement */) { - if (node.parent.kind === 179 /* ObjectBindingPattern */ && languageVersion < 6 /* ESNext */) { + if (node.kind === 182 /* BindingElement */) { + if (node.parent.kind === 180 /* ObjectBindingPattern */ && languageVersion < 6 /* ESNext */) { checkExternalEmitHelpers(node, 4 /* Rest */); } // check computed properties inside property names of binding elements - if (node.propertyName && node.propertyName.kind === 146 /* ComputedPropertyName */) { + if (node.propertyName && node.propertyName.kind === 147 /* ComputedPropertyName */) { checkComputedPropertyName(node.propertyName); } // check private/protected variable access @@ -47640,7 +47898,7 @@ var ts; var parentType = getTypeForBindingElementParent(parent); var name = node.propertyName || node.name; if (!ts.isBindingPattern(name)) { - var property = getPropertyOfType(parentType, ts.getTextOfPropertyName(name)); + var property = getPropertyOfType(parentType, ts.getTextOfPropertyName(name)); // TODO: GH#18217 markPropertyAsReferenced(property, /*nodeForCheckWriteOnly*/ undefined, /*isThisAccess*/ false); // A destructuring is never a write-only reference. if (parent.initializer && property) { checkPropertyAccessibility(parent, parent.initializer, parentType, property); @@ -47649,20 +47907,20 @@ var ts; } // For a binding pattern, check contained binding elements if (ts.isBindingPattern(node.name)) { - if (node.name.kind === 180 /* ArrayBindingPattern */ && languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) { + if (node.name.kind === 181 /* ArrayBindingPattern */ && languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) { checkExternalEmitHelpers(node, 512 /* Read */); } ts.forEach(node.name.elements, checkSourceElement); } // For a parameter declaration with an initializer, error and exit if the containing function doesn't have a body - if (node.initializer && ts.getRootDeclaration(node).kind === 148 /* Parameter */ && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { + if (node.initializer && ts.getRootDeclaration(node).kind === 149 /* Parameter */ && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { error(node, ts.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation); return; } // For a binding pattern, validate the initializer and exit if (ts.isBindingPattern(node.name)) { // Don't validate for-in initializer as it is already an error - if (node.initializer && node.parent.parent.kind !== 220 /* ForInStatement */) { + if (node.initializer && node.parent.parent.kind !== 221 /* ForInStatement */) { var initializerType = checkExpressionCached(node.initializer); if (strictNullChecks && node.name.elements.length === 0) { checkNonNullType(initializerType, node); @@ -47679,8 +47937,8 @@ var ts; if (node === symbol.valueDeclaration) { // Node is the primary declaration of the symbol, just validate the initializer // Don't validate for-in initializer as it is already an error - if (node.initializer && node.parent.parent.kind !== 220 /* ForInStatement */) { - var initializer = ts.isInJavaScriptFile(node) && ts.getDeclaredJavascriptInitializer(node) || node.initializer; + var initializer = ts.getEffectiveInitializer(node); + if (initializer && node.parent.parent.kind !== 221 /* ForInStatement */) { checkTypeAssignableTo(checkExpressionCached(initializer), type, node, /*headMessage*/ undefined); checkParameterInitializer(node); } @@ -47689,7 +47947,7 @@ var ts; // Node is a secondary declaration, check that type is identical to primary declaration and check that // initializer is consistent with type associated with the node var declarationType = convertAutoToAny(getWidenedTypeForVariableLikeDeclaration(node)); - if (type !== unknownType && declarationType !== unknownType && + if (type !== errorType && declarationType !== errorType && !isTypeIdenticalTo(type, declarationType) && !(symbol.flags & 67108864 /* JSContainer */)) { errorNextVariableOrPropertyDeclarationMustHaveSameType(type, node, declarationType); @@ -47702,10 +47960,10 @@ var ts; error(node.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_modifiers, ts.declarationNameToString(node.name)); } } - if (node.kind !== 151 /* PropertyDeclaration */ && node.kind !== 150 /* PropertySignature */) { + if (node.kind !== 152 /* PropertyDeclaration */ && node.kind !== 151 /* PropertySignature */) { // We know we don't have a binding pattern or computed name here checkExportsOnMergedDeclarations(node); - if (node.kind === 231 /* VariableDeclaration */ || node.kind === 181 /* BindingElement */) { + if (node.kind === 232 /* VariableDeclaration */ || node.kind === 182 /* BindingElement */) { checkVarDeclaredNamesNotShadowed(node); } checkCollisionWithRequireExportsInGeneratedCode(node, node.name); @@ -47714,14 +47972,14 @@ var ts; } function errorNextVariableOrPropertyDeclarationMustHaveSameType(firstType, nextDeclaration, nextType) { var nextDeclarationName = ts.getNameOfDeclaration(nextDeclaration); - var message = nextDeclaration.kind === 151 /* PropertyDeclaration */ || nextDeclaration.kind === 150 /* PropertySignature */ + var message = nextDeclaration.kind === 152 /* PropertyDeclaration */ || nextDeclaration.kind === 151 /* PropertySignature */ ? ts.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2 : ts.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2; error(nextDeclarationName, message, ts.declarationNameToString(nextDeclarationName), typeToString(firstType), typeToString(nextType)); } function areDeclarationFlagsIdentical(left, right) { - if ((left.kind === 148 /* Parameter */ && right.kind === 231 /* VariableDeclaration */) || - (left.kind === 231 /* VariableDeclaration */ && right.kind === 148 /* Parameter */)) { + if ((left.kind === 149 /* Parameter */ && right.kind === 232 /* VariableDeclaration */) || + (left.kind === 232 /* VariableDeclaration */ && right.kind === 149 /* Parameter */)) { // Differences in optionality between parameters and variables are allowed. return true; } @@ -47760,7 +48018,7 @@ var ts; checkGrammarStatementInAmbientContext(node); checkExpression(node.expression); checkSourceElement(node.thenStatement); - if (node.thenStatement.kind === 214 /* EmptyStatement */) { + if (node.thenStatement.kind === 215 /* EmptyStatement */) { error(node.thenStatement, ts.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement); } checkSourceElement(node.elseStatement); @@ -47780,12 +48038,12 @@ var ts; function checkForStatement(node) { // Grammar checking if (!checkGrammarStatementInAmbientContext(node)) { - if (node.initializer && node.initializer.kind === 232 /* VariableDeclarationList */) { + if (node.initializer && node.initializer.kind === 233 /* VariableDeclarationList */) { checkGrammarVariableDeclarationList(node.initializer); } } if (node.initializer) { - if (node.initializer.kind === 232 /* VariableDeclarationList */) { + if (node.initializer.kind === 233 /* VariableDeclarationList */) { ts.forEach(node.initializer.declarations, checkVariableDeclaration); } else { @@ -47819,18 +48077,18 @@ var ts; // via checkRightHandSideOfForOf. // If the LHS is an expression, check the LHS, as a destructuring assignment or as a reference. // Then check that the RHS is assignable to it. - if (node.initializer.kind === 232 /* VariableDeclarationList */) { + if (node.initializer.kind === 233 /* VariableDeclarationList */) { checkForInOrForOfVariableDeclaration(node); } else { var varExpr = node.initializer; var iteratedType = checkRightHandSideOfForOf(node.expression, node.awaitModifier); // There may be a destructuring assignment on the left side - if (varExpr.kind === 182 /* ArrayLiteralExpression */ || varExpr.kind === 183 /* ObjectLiteralExpression */) { + if (varExpr.kind === 183 /* ArrayLiteralExpression */ || varExpr.kind === 184 /* ObjectLiteralExpression */) { // iteratedType may be undefined. In this case, we still want to check the structure of // varExpr, in particular making sure it's a valid LeftHandSideExpression. But we'd like // to short circuit the type relation checking as much as possible, so we pass the unknownType. - checkDestructuringAssignment(varExpr, iteratedType || unknownType); + checkDestructuringAssignment(varExpr, iteratedType || errorType); } else { var leftType = checkExpression(varExpr); @@ -47858,7 +48116,7 @@ var ts; // for (let VarDecl in Expr) Statement // VarDecl must be a variable declaration without a type annotation that declares a variable of type Any, // and Expr must be an expression of type Any, an object type, or a type parameter type. - if (node.initializer.kind === 232 /* VariableDeclarationList */) { + if (node.initializer.kind === 233 /* VariableDeclarationList */) { var variable = node.initializer.declarations[0]; if (variable && ts.isBindingPattern(variable.name)) { error(variable.name, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); @@ -47872,7 +48130,7 @@ var ts; // and Expr must be an expression of type Any, an object type, or a type parameter type. var varExpr = node.initializer; var leftType = checkExpression(varExpr); - if (varExpr.kind === 182 /* ArrayLiteralExpression */ || varExpr.kind === 183 /* ObjectLiteralExpression */) { + if (varExpr.kind === 183 /* ArrayLiteralExpression */ || varExpr.kind === 184 /* ObjectLiteralExpression */) { error(varExpr, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); } else if (!isTypeAssignableTo(getIndexTypeOrString(rightType), leftType)) { @@ -47885,7 +48143,7 @@ var ts; } // unknownType is returned i.e. if node.expression is identifier whose name cannot be resolved // in this case error about missing name is already reported - do not report extra one - if (rightType === neverType || !isTypeAssignableToKind(rightType, 134217728 /* NonPrimitive */ | 7372800 /* InstantiableNonPrimitive */)) { + if (rightType === neverType || !isTypeAssignableToKind(rightType, 16777216 /* NonPrimitive */ | 14745600 /* InstantiableNonPrimitive */)) { error(node.expression, ts.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0, typeToString(rightType)); } checkSourceElement(node.statement); @@ -47918,7 +48176,7 @@ var ts; */ function getIteratedTypeOrElementType(inputType, errorNode, allowStringInput, allowAsyncIterables, checkAssignability) { if (inputType === neverType) { - reportTypeNotIterableError(errorNode, inputType, allowAsyncIterables); + reportTypeNotIterableError(errorNode, inputType, allowAsyncIterables); // TODO: GH#18217 return undefined; } var uplevelIteration = languageVersion >= 2 /* ES2015 */; @@ -47940,16 +48198,16 @@ var ts; // This allows us to find other non-string element types from an array unioned with // a string. if (allowStringInput) { - if (arrayType.flags & 131072 /* Union */) { + if (arrayType.flags & 262144 /* Union */) { // After we remove all types that are StringLike, we will know if there was a string constituent // based on whether the result of filter is a new array. var arrayTypes = inputType.types; - var filteredTypes = ts.filter(arrayTypes, function (t) { return !(t.flags & 34 /* StringLike */); }); + var filteredTypes = ts.filter(arrayTypes, function (t) { return !(t.flags & 68 /* StringLike */); }); if (filteredTypes !== arrayTypes) { arrayType = getUnionType(filteredTypes, 2 /* Subtype */); } } - else if (arrayType.flags & 34 /* StringLike */) { + else if (arrayType.flags & 68 /* StringLike */) { arrayType = neverType; } hasStringConstituent = arrayType !== inputType; @@ -47962,7 +48220,7 @@ var ts; } // Now that we've removed all the StringLike types, if no constituents remain, then the entire // arrayOrStringType was a string. - if (arrayType.flags & 16384 /* Never */) { + if (arrayType.flags & 32768 /* Never */) { return stringType; } } @@ -47993,7 +48251,7 @@ var ts; var arrayElementType = getIndexTypeOfType(arrayType, 1 /* Number */); if (hasStringConstituent && arrayElementType) { // This is just an optimization for the case where arrayOrStringType is string | string[] - if (arrayElementType.flags & 34 /* StringLike */) { + if (arrayElementType.flags & 68 /* StringLike */) { return stringType; } return getUnionType([arrayElementType, stringType], 2 /* Subtype */); @@ -48068,11 +48326,11 @@ var ts; } } var asyncMethodType = allowAsyncIterables && getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("asyncIterator")); - var methodType = asyncMethodType || (allowSyncIterables && getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("iterator"))); + var methodType = asyncMethodType || (allowSyncIterables ? getTypeOfPropertyOfType(type, ts.getPropertyNameForKnownSymbolName("iterator")) : undefined); if (isTypeAny(methodType)) { return undefined; } - var signatures = methodType && getSignaturesOfType(methodType, 0 /* Call */); + var signatures = methodType ? getSignaturesOfType(methodType, 0 /* Call */) : undefined; if (!ts.some(signatures)) { if (errorNode) { // only report on the first error @@ -48198,14 +48456,14 @@ var ts; // TODO: Check that target label is valid } function isGetAccessorWithAnnotatedSetAccessor(node) { - return node.kind === 155 /* GetAccessor */ - && ts.getEffectiveSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(node.symbol, 156 /* SetAccessor */)) !== undefined; + return node.kind === 156 /* GetAccessor */ + && ts.getEffectiveSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(node.symbol, 157 /* SetAccessor */)) !== undefined; } function isUnwrappedReturnTypeVoidOrAny(func, returnType) { var unwrappedReturnType = (ts.getFunctionFlags(func) & 3 /* AsyncGenerator */) === 2 /* Async */ ? getPromisedTypeOfPromise(returnType) // Async function : returnType; // AsyncGenerator function, Generator function, or normal function - return unwrappedReturnType && maybeTypeOfKind(unwrappedReturnType, 2048 /* Void */ | 1 /* Any */); + return !!unwrappedReturnType && maybeTypeOfKind(unwrappedReturnType, 4096 /* Void */ | 3 /* AnyOrUnknown */); } function checkReturnStatement(node) { // Grammar checking @@ -48221,7 +48479,7 @@ var ts; var returnType = getReturnTypeOfSignature(signature); var functionFlags = ts.getFunctionFlags(func); var isGenerator = functionFlags & 1 /* Generator */; - if (strictNullChecks || node.expression || returnType.flags & 16384 /* Never */) { + if (strictNullChecks || node.expression || returnType.flags & 32768 /* Never */) { var exprType = node.expression ? checkExpressionCached(node.expression) : undefinedType; if (isGenerator) { // AsyncGenerator function or Generator function // A generator does not need its return expressions checked against its return type. @@ -48230,12 +48488,12 @@ var ts; // for generators. return; } - else if (func.kind === 156 /* SetAccessor */) { + else if (func.kind === 157 /* SetAccessor */) { if (node.expression) { error(node, ts.Diagnostics.Setters_cannot_return_a_value); } } - else if (func.kind === 154 /* Constructor */) { + else if (func.kind === 155 /* Constructor */) { if (node.expression && !checkTypeAssignableTo(exprType, returnType, node)) { error(node, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); } @@ -48256,7 +48514,7 @@ var ts; } } } - else if (func.kind !== 154 /* Constructor */ && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(func, returnType) && !isGenerator) { + else if (func.kind !== 155 /* Constructor */ && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(func, returnType) && !isGenerator) { // The function has a return type, but the return statement doesn't have an expression. error(node, ts.Diagnostics.Not_all_code_paths_return_a_value); } @@ -48285,7 +48543,7 @@ var ts; var expressionIsLiteral = isLiteralType(expressionType); ts.forEach(node.caseBlock.clauses, function (clause) { // Grammar check for duplicate default clauses, skip if we already report duplicate default clause - if (clause.kind === 266 /* DefaultClause */ && !hasDuplicateDefaultClause) { + if (clause.kind === 267 /* DefaultClause */ && !hasDuplicateDefaultClause) { if (firstDefaultClause === undefined) { firstDefaultClause = clause; } @@ -48297,7 +48555,7 @@ var ts; hasDuplicateDefaultClause = true; } } - if (produceDiagnostics && clause.kind === 265 /* CaseClause */) { + if (produceDiagnostics && clause.kind === 266 /* CaseClause */) { // TypeScript 1.0 spec (April 2014): 5.9 // In a 'switch' statement, each 'case' expression must be of a type that is comparable // to or from the type of the 'switch' expression. @@ -48326,10 +48584,11 @@ var ts; if (ts.isFunctionLike(current)) { return "quit"; } - if (current.kind === 227 /* LabeledStatement */ && current.label.escapedText === node.label.escapedText) { + if (current.kind === 228 /* LabeledStatement */ && current.label.escapedText === node.label.escapedText) { grammarErrorOnNode(node.label, ts.Diagnostics.Duplicate_label_0, ts.getTextOfNode(node.label)); return true; } + return false; }); } // ensure that label is unique @@ -48389,8 +48648,8 @@ var ts; checkIndexConstraintForProperty(prop, propType, type, declaredStringIndexer, stringIndexType, 0 /* String */); checkIndexConstraintForProperty(prop, propType, type, declaredNumberIndexer, numberIndexType, 1 /* Number */); }); - if (ts.getObjectFlags(type) & 1 /* Class */ && ts.isClassLike(type.symbol.valueDeclaration)) { - var classDeclaration = type.symbol.valueDeclaration; + var classDeclaration = type.symbol.valueDeclaration; + if (ts.getObjectFlags(type) & 1 /* Class */ && ts.isClassLike(classDeclaration)) { for (var _i = 0, _a = classDeclaration.members; _i < _a.length; _i++) { var member = _a[_i]; // Only process instance properties with computed names here. @@ -48414,7 +48673,7 @@ var ts; errorNode = someBaseTypeHasBothIndexers ? undefined : type.symbol.declarations[0]; } } - if (errorNode && !isTypeAssignableTo(numberIndexType, stringIndexType)) { + if (errorNode && !isTypeAssignableTo(numberIndexType, stringIndexType)) { // TODO: GH#18217 error(errorNode, ts.Diagnostics.Numeric_index_type_0_is_not_assignable_to_string_index_type_1, typeToString(numberIndexType), typeToString(stringIndexType)); } function checkIndexConstraintForProperty(prop, propertyType, containingType, indexDeclaration, indexType, indexKind) { @@ -48431,8 +48690,8 @@ var ts; // this allows us to rule out cases when both property and indexer are inherited from the base class var errorNode; if (propDeclaration && - (propDeclaration.kind === 199 /* BinaryExpression */ || - ts.getNameOfDeclaration(propDeclaration).kind === 146 /* ComputedPropertyName */ || + (propDeclaration.kind === 200 /* BinaryExpression */ || + ts.getNameOfDeclaration(propDeclaration).kind === 147 /* ComputedPropertyName */ || prop.parent === containingType.symbol)) { errorNode = propDeclaration; } @@ -48459,6 +48718,7 @@ var ts; // The predefined type keywords are reserved and cannot be used as names of user defined types. switch (name.escapedText) { case "any": + case "unknown": case "number": case "boolean": case "string": @@ -48468,6 +48728,15 @@ var ts; error(name, message, name.escapedText); } } + /** + * The name cannot be used as 'Object' of user defined types with special target. + */ + function checkClassNameCollisionWithObject(name) { + if (languageVersion === 1 /* ES5 */ && name.escapedText === "Object" + && moduleKind !== ts.ModuleKind.ES2015 && moduleKind !== ts.ModuleKind.ESNext) { + error(name, ts.Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, ts.ModuleKind[moduleKind]); // https://github.com/Microsoft/TypeScript/issues/17494 + } + } /** * Check each type parameter and check that type parameters have no duplicate type parameter declarations */ @@ -48509,8 +48778,8 @@ var ts; if (!areTypeParametersIdentical(declarations, type.localTypeParameters)) { // Report an error on every conflicting declaration. var name = symbolToString(symbol); - for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { - var declaration = declarations_5[_i]; + for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { + var declaration = declarations_6[_i]; error(declaration.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_type_parameters, name); } } @@ -48519,8 +48788,8 @@ var ts; function areTypeParametersIdentical(declarations, targetParameters) { var maxTypeArgumentCount = ts.length(targetParameters); var minTypeArgumentCount = getMinTypeArgumentCount(targetParameters); - for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { - var declaration = declarations_6[_i]; + for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { + var declaration = declarations_7[_i]; // If this declaration has too few or too many type parameters, we report an error var sourceParameters = ts.getEffectiveTypeParameterDeclarations(declaration); var numTypeParameters = sourceParameters.length; @@ -48580,6 +48849,9 @@ var ts; checkTypeNameIsReserved(node.name, ts.Diagnostics.Class_name_cannot_be_0); checkCollisionWithRequireExportsInGeneratedCode(node, node.name); checkCollisionWithGlobalPromiseInGeneratedCode(node, node.name); + if (!(node.flags & 4194304 /* Ambient */)) { + checkClassNameCollisionWithObject(node.name); + } } checkTypeParameters(ts.getEffectiveTypeParameterDeclarations(node)); checkExportsOnMergedDeclarations(node); @@ -48619,10 +48891,10 @@ var ts; issueMemberSpecificError(node, typeWithThis, baseWithThis, ts.Diagnostics.Class_0_incorrectly_extends_base_class_1); } checkTypeAssignableTo(staticType, getTypeWithoutSignatures(staticBaseType), node.name || node, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); - if (baseConstructorType.flags & 1081344 /* TypeVariable */ && !isMixinConstructorType(staticType)) { + if (baseConstructorType.flags & 2162688 /* TypeVariable */ && !isMixinConstructorType(staticType)) { error(node.name || node, ts.Diagnostics.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any); } - if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32 /* Class */) && !(baseConstructorType.flags & 1081344 /* TypeVariable */)) { + if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32 /* Class */) && !(baseConstructorType.flags & 2162688 /* TypeVariable */)) { // When the static base type is a "class-like" constructor function (but not actually a class), we verify // that all instantiated base constructor signatures return the same type. We can simply compare the type // references (as opposed to checking the structure of the types) because elsewhere we have already checked @@ -48645,7 +48917,7 @@ var ts; checkTypeReferenceNode(typeRefNode); if (produceDiagnostics) { var t = getTypeFromTypeNode(typeRefNode); - if (t !== unknownType) { + if (t !== errorType) { if (isValidBaseType(t)) { var genericDiag = t.symbol && t.symbol.flags & 32 /* Class */ ? ts.Diagnostics.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass : @@ -48716,7 +48988,7 @@ var ts; } function getClassOrInterfaceDeclarationsOfSymbol(symbol) { return ts.filter(symbol.declarations, function (d) { - return d.kind === 234 /* ClassDeclaration */ || d.kind === 235 /* InterfaceDeclaration */; + return d.kind === 235 /* ClassDeclaration */ || d.kind === 236 /* InterfaceDeclaration */; }); } function checkKindsOfPropertyMemberOverrides(type, baseType) { @@ -48741,7 +49013,7 @@ var ts; if (base.flags & 4194304 /* Prototype */) { continue; } - var derived = getTargetSymbol(getPropertyOfObjectType(type, base.escapedName)); + var derived = getTargetSymbol(getPropertyOfObjectType(type, base.escapedName)); // TODO: GH#18217 var baseDeclarationFlags = ts.getDeclarationModifierFlagsFromSymbol(base); ts.Debug.assert(!!derived, "derived should point to something, even if it is the base class' declaration."); if (derived) { @@ -48755,7 +49027,7 @@ var ts; // If there is no declaration for the derived class (as in the case of class expressions), // then the class cannot be declared abstract. if (baseDeclarationFlags & 128 /* Abstract */ && (!derivedClassDecl || !ts.hasModifier(derivedClassDecl, 128 /* Abstract */))) { - if (derivedClassDecl.kind === 204 /* ClassExpression */) { + if (derivedClassDecl.kind === 205 /* ClassExpression */) { error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, symbolToString(baseProperty), typeToString(baseType)); } else { @@ -48770,7 +49042,7 @@ var ts; // either base or derived property is private - not override, skip it continue; } - if (isPrototypeProperty(base) && isPrototypeProperty(derived) || base.flags & 98308 /* PropertyOrAccessor */ && derived.flags & 98308 /* PropertyOrAccessor */) { + if (isPrototypeProperty(base) || base.flags & 98308 /* PropertyOrAccessor */ && derived.flags & 98308 /* PropertyOrAccessor */) { // method is overridden with method or property/accessor is overridden with property/accessor - correct case continue; } @@ -48837,7 +49109,7 @@ var ts; var propName = member.name; if (ts.isIdentifier(propName)) { var type = getTypeOfSymbol(getSymbolOfNode(member)); - if (!(type.flags & 1 /* Any */ || getFalsyFlags(type) & 4096 /* Undefined */)) { + if (!(type.flags & 3 /* AnyOrUnknown */ || getFalsyFlags(type) & 8192 /* Undefined */)) { if (!constructor || !isPropertyInitializedInConstructor(propName, type, constructor)) { error(member.name, ts.Diagnostics.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor, ts.declarationNameToString(propName)); } @@ -48847,7 +49119,7 @@ var ts; } } function isInstancePropertyWithoutInitializer(node) { - return node.kind === 151 /* PropertyDeclaration */ && + return node.kind === 152 /* PropertyDeclaration */ && !ts.hasModifier(node, 32 /* Static */ | 128 /* Abstract */) && !node.exclamationToken && !node.initializer; @@ -48856,7 +49128,7 @@ var ts; var reference = ts.createPropertyAccess(ts.createThis(), propName); reference.flowNode = constructor.returnFlowNode; var flowType = getFlowTypeOfReference(reference, propType, getOptionalType(propType)); - return !(getFalsyFlags(flowType) & 4096 /* Undefined */); + return !(getFalsyFlags(flowType) & 8192 /* Undefined */); } function checkInterfaceDeclaration(node) { // Grammar checking @@ -48869,7 +49141,7 @@ var ts; var symbol = getSymbolOfNode(node); checkTypeParameterListsIdentical(symbol); // Only check this symbol once - var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 235 /* InterfaceDeclaration */); + var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 236 /* InterfaceDeclaration */); if (node === firstInterfaceDecl) { var type = getDeclaredTypeOfSymbol(symbol); var typeWithThis = getTypeWithThisArgument(type); @@ -48974,7 +49246,7 @@ var ts; return value; function evaluate(expr) { switch (expr.kind) { - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: var value_2 = evaluate(expr.operand); if (typeof value_2 === "number") { switch (expr.operator) { @@ -48984,7 +49256,7 @@ var ts; } } break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var left = evaluate(expr.left); var right = evaluate(expr.right); if (typeof left === "number" && typeof right === "number") { @@ -49012,18 +49284,22 @@ var ts; case 8 /* NumericLiteral */: checkGrammarNumericLiteral(expr); return +expr.text; - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return evaluate(expr.expression); case 71 /* Identifier */: - return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), expr.escapedText); - case 185 /* ElementAccessExpression */: - case 184 /* PropertyAccessExpression */: + var identifier = expr; + if (isInfinityOrNaNString(identifier.escapedText)) { + return +(identifier.escapedText); + } + return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); + case 186 /* ElementAccessExpression */: + case 185 /* PropertyAccessExpression */: var ex = expr; if (isConstantMemberAccess(ex)) { var type = getTypeOfExpression(ex.expression); if (type.symbol && type.symbol.flags & 384 /* Enum */) { var name = void 0; - if (ex.kind === 184 /* PropertyAccessExpression */) { + if (ex.kind === 185 /* PropertyAccessExpression */) { name = ex.name.escapedText; } else { @@ -49055,8 +49331,8 @@ var ts; } function isConstantMemberAccess(node) { return node.kind === 71 /* Identifier */ || - node.kind === 184 /* PropertyAccessExpression */ && isConstantMemberAccess(node.expression) || - node.kind === 185 /* ElementAccessExpression */ && isConstantMemberAccess(node.expression) && + node.kind === 185 /* PropertyAccessExpression */ && isConstantMemberAccess(node.expression) || + node.kind === 186 /* ElementAccessExpression */ && isConstantMemberAccess(node.expression) && node.argumentExpression.kind === 9 /* StringLiteral */; } function checkEnumDeclaration(node) { @@ -49094,7 +49370,7 @@ var ts; var seenEnumMissingInitialInitializer_1 = false; ts.forEach(enumSymbol.declarations, function (declaration) { // return true if we hit a violation of the rule, false otherwise - if (declaration.kind !== 237 /* EnumDeclaration */) { + if (declaration.kind !== 238 /* EnumDeclaration */) { return false; } var enumDeclaration = declaration; @@ -49115,10 +49391,10 @@ var ts; } function getFirstNonAmbientClassOrFunctionDeclaration(symbol) { var declarations = symbol.declarations; - for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { - var declaration = declarations_7[_i]; - if ((declaration.kind === 234 /* ClassDeclaration */ || - (declaration.kind === 233 /* FunctionDeclaration */ && ts.nodeIsPresent(declaration.body))) && + for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { + var declaration = declarations_8[_i]; + if ((declaration.kind === 235 /* ClassDeclaration */ || + (declaration.kind === 234 /* FunctionDeclaration */ && ts.nodeIsPresent(declaration.body))) && !(declaration.flags & 4194304 /* Ambient */)) { return declaration; } @@ -49169,7 +49445,7 @@ var ts; if (symbol.flags & 512 /* ValueModule */ && symbol.declarations.length > 1 && !inAmbientContext - && isInstantiatedModule(node, compilerOptions.preserveConstEnums || compilerOptions.isolatedModules)) { + && isInstantiatedModule(node, !!compilerOptions.preserveConstEnums || !!compilerOptions.isolatedModules)) { var firstNonAmbientClassOrFunc = getFirstNonAmbientClassOrFunctionDeclaration(symbol); if (firstNonAmbientClassOrFunc) { if (ts.getSourceFileOfNode(node) !== ts.getSourceFileOfNode(firstNonAmbientClassOrFunc)) { @@ -49181,7 +49457,7 @@ var ts; } // if the module merges with a class declaration in the same lexical scope, // we need to track this to ensure the correct emit. - var mergedClass = ts.getDeclarationOfKind(symbol, 234 /* ClassDeclaration */); + var mergedClass = ts.getDeclarationOfKind(symbol, 235 /* ClassDeclaration */); if (mergedClass && inSameLexicalScope(node, mergedClass)) { getNodeLinks(node).flags |= 32768 /* LexicalModuleMergesWithClass */; @@ -49231,23 +49507,23 @@ var ts; } function checkModuleAugmentationElement(node, isGlobalAugmentation) { switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: // error each individual name in variable statement instead of marking the entire variable statement for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) { var decl = _a[_i]; checkModuleAugmentationElement(decl, isGlobalAugmentation); } break; - case 248 /* ExportAssignment */: - case 249 /* ExportDeclaration */: + case 249 /* ExportAssignment */: + case 250 /* ExportDeclaration */: grammarErrorOnFirstToken(node, ts.Diagnostics.Exports_and_export_assignments_are_not_permitted_in_module_augmentations); break; - case 242 /* ImportEqualsDeclaration */: - case 243 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: grammarErrorOnFirstToken(node, ts.Diagnostics.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module); break; - case 181 /* BindingElement */: - case 231 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 232 /* VariableDeclaration */: var name = node.name; if (ts.isBindingPattern(name)) { for (var _b = 0, _c = name.elements; _b < _c.length; _b++) { @@ -49258,12 +49534,12 @@ var ts; break; } // falls through - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: - case 233 /* FunctionDeclaration */: - case 235 /* InterfaceDeclaration */: - case 238 /* ModuleDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 234 /* FunctionDeclaration */: + case 236 /* InterfaceDeclaration */: + case 239 /* ModuleDeclaration */: + case 237 /* TypeAliasDeclaration */: if (isGlobalAugmentation) { return; } @@ -49286,12 +49562,12 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return node; - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: do { node = node.left; } while (node.kind !== 71 /* Identifier */); return node; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: do { node = node.expression; } while (node.kind !== 71 /* Identifier */); @@ -49300,7 +49576,7 @@ var ts; } function checkExternalImportOrExportDeclaration(node) { var moduleName = ts.getExternalModuleName(node); - if (ts.nodeIsMissing(moduleName)) { + if (!moduleName || ts.nodeIsMissing(moduleName)) { // Should be a parse error. return false; } @@ -49308,9 +49584,9 @@ var ts; error(moduleName, ts.Diagnostics.String_literal_expected); return false; } - var inAmbientExternalModule = node.parent.kind === 239 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); - if (node.parent.kind !== 273 /* SourceFile */ && !inAmbientExternalModule) { - error(moduleName, node.kind === 249 /* ExportDeclaration */ ? + var inAmbientExternalModule = node.parent.kind === 240 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); + if (node.parent.kind !== 274 /* SourceFile */ && !inAmbientExternalModule) { + error(moduleName, node.kind === 250 /* ExportDeclaration */ ? ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace : ts.Diagnostics.Import_declarations_in_a_namespace_cannot_reference_a_module); return false; @@ -49343,14 +49619,14 @@ var ts; (symbol.flags & 67901928 /* Type */ ? 67901928 /* Type */ : 0) | (symbol.flags & 1920 /* Namespace */ ? 1920 /* Namespace */ : 0); if (target.flags & excludedMeanings) { - var message = node.kind === 251 /* ExportSpecifier */ ? + var message = node.kind === 252 /* ExportSpecifier */ ? ts.Diagnostics.Export_declaration_conflicts_with_exported_declaration_of_0 : ts.Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0; error(node, message, symbolToString(symbol)); } // Don't allow to re-export something with no value side when `--isolatedModules` is set. if (compilerOptions.isolatedModules - && node.kind === 251 /* ExportSpecifier */ + && node.kind === 252 /* ExportSpecifier */ && !(target.flags & 67216319 /* Value */) && !(node.flags & 4194304 /* Ambient */)) { error(node, ts.Diagnostics.Cannot_re_export_a_type_when_the_isolatedModules_flag_is_provided); @@ -49377,7 +49653,7 @@ var ts; checkImportBinding(importClause); } if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 245 /* NamespaceImport */) { + if (importClause.namedBindings.kind === 246 /* NamespaceImport */) { checkImportBinding(importClause.namedBindings); } else { @@ -49401,7 +49677,7 @@ var ts; if (ts.hasModifier(node, 1 /* Export */)) { markExportAsReferenced(node); } - if (node.moduleReference.kind !== 253 /* ExternalModuleReference */) { + if (node.moduleReference.kind !== 254 /* ExternalModuleReference */) { var target = resolveAlias(getSymbolOfNode(node)); if (target !== unknownSymbol) { if (target.flags & 67216319 /* Value */) { @@ -49437,10 +49713,10 @@ var ts; // export { x, y } // export { x, y } from "foo" ts.forEach(node.exportClause.elements, checkExportSpecifier); - var inAmbientExternalModule = node.parent.kind === 239 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); - var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 239 /* ModuleBlock */ && + var inAmbientExternalModule = node.parent.kind === 240 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); + var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 240 /* ModuleBlock */ && !node.moduleSpecifier && node.flags & 4194304 /* Ambient */; - if (node.parent.kind !== 273 /* SourceFile */ && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { + if (node.parent.kind !== 274 /* SourceFile */ && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { error(node, ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace); } } @@ -49457,7 +49733,7 @@ var ts; } } function checkGrammarModuleElementContext(node, errorMessage) { - var isInAppropriateContext = node.parent.kind === 273 /* SourceFile */ || node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 238 /* ModuleDeclaration */; + var isInAppropriateContext = node.parent.kind === 274 /* SourceFile */ || node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 239 /* ModuleDeclaration */; if (!isInAppropriateContext) { grammarErrorOnFirstToken(node, errorMessage); } @@ -49486,8 +49762,8 @@ var ts; // If we hit an export assignment in an illegal context, just bail out to avoid cascading errors. return; } - var container = node.parent.kind === 273 /* SourceFile */ ? node.parent : node.parent.parent; - if (container.kind === 238 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 274 /* SourceFile */ ? node.parent : node.parent.parent; + if (container.kind === 239 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { if (node.isExportEquals) { error(node, ts.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace); } @@ -49558,8 +49834,8 @@ var ts; return; } if (exportedDeclarationsCount > 1) { - for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { - var declaration = declarations_8[_i]; + for (var _i = 0, declarations_9 = declarations; _i < declarations_9.length; _i++) { + var declaration = declarations_9[_i]; if (isNotOverload(declaration)) { diagnostics.add(ts.createDiagnosticForNode(declaration, ts.Diagnostics.Cannot_redeclare_exported_variable_0, ts.unescapeLeadingUnderscores(id))); } @@ -49575,168 +49851,168 @@ var ts; return !ts.isAccessor(declaration); } function isNotOverload(declaration) { - return (declaration.kind !== 233 /* FunctionDeclaration */ && declaration.kind !== 153 /* MethodDeclaration */) || + return (declaration.kind !== 234 /* FunctionDeclaration */ && declaration.kind !== 154 /* MethodDeclaration */) || !!declaration.body; } function checkSourceElement(node) { if (!node) { return; } - if (ts.isInJavaScriptFile(node) && node.jsDoc) { - for (var _i = 0, _a = node.jsDoc; _i < _a.length; _i++) { - var tags = _a[_i].tags; - ts.forEach(tags, checkSourceElement); - } + if (ts.isInJavaScriptFile(node)) { + ts.forEach(node.jsDoc, function (_a) { + var tags = _a.tags; + return ts.forEach(tags, checkSourceElement); + }); } var kind = node.kind; if (cancellationToken) { // Only bother checking on a few construct kinds. We don't want to be excessively // hitting the cancellation token on every node we check. switch (kind) { - case 238 /* ModuleDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 233 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 234 /* FunctionDeclaration */: cancellationToken.throwIfCancellationRequested(); } } switch (kind) { - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return checkTypeParameter(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return checkParameter(node); - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return checkPropertyDeclaration(node); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 159 /* IndexSignature */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 160 /* IndexSignature */: return checkSignatureDeclaration(node); - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: return checkMethodDeclaration(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return checkConstructorDeclaration(node); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return checkAccessorDeclaration(node); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return checkTypeReferenceNode(node); - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return checkTypePredicate(node); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return checkTypeQuery(node); - case 165 /* TypeLiteral */: + case 166 /* TypeLiteral */: return checkTypeLiteral(node); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return checkArrayType(node); - case 167 /* TupleType */: + case 168 /* TupleType */: return checkTupleType(node); - case 168 /* UnionType */: - case 169 /* IntersectionType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: return checkUnionOrIntersectionType(node); - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return checkSourceElement(node.type); - case 174 /* TypeOperator */: + case 175 /* TypeOperator */: return checkTypeOperator(node); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return checkConditionalType(node); - case 171 /* InferType */: + case 172 /* InferType */: return checkInferType(node); - case 178 /* ImportType */: + case 179 /* ImportType */: return checkImportType(node); - case 289 /* JSDocAugmentsTag */: + case 290 /* JSDocAugmentsTag */: return checkJSDocAugmentsTag(node); - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: return checkJSDocTypeAliasTag(node); - case 292 /* JSDocParameterTag */: + case 293 /* JSDocParameterTag */: return checkJSDocParameterTag(node); - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: checkSignatureDeclaration(node); // falls through - case 281 /* JSDocNonNullableType */: - case 280 /* JSDocNullableType */: - case 278 /* JSDocAllType */: - case 279 /* JSDocUnknownType */: - case 286 /* JSDocTypeLiteral */: + case 282 /* JSDocNonNullableType */: + case 281 /* JSDocNullableType */: + case 279 /* JSDocAllType */: + case 280 /* JSDocUnknownType */: + case 287 /* JSDocTypeLiteral */: checkJSDocTypeIsInJsFile(node); ts.forEachChild(node, checkSourceElement); return; - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: checkJSDocVariadicType(node); return; - case 277 /* JSDocTypeExpression */: + case 278 /* JSDocTypeExpression */: return checkSourceElement(node.type); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return checkIndexedAccessType(node); - case 176 /* MappedType */: + case 177 /* MappedType */: return checkMappedType(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return checkFunctionDeclaration(node); - case 212 /* Block */: - case 239 /* ModuleBlock */: + case 213 /* Block */: + case 240 /* ModuleBlock */: return checkBlock(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return checkVariableStatement(node); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return checkExpressionStatement(node); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return checkIfStatement(node); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return checkDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return checkWhileStatement(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return checkForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return checkForInStatement(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return checkForOfStatement(node); - case 222 /* ContinueStatement */: - case 223 /* BreakStatement */: + case 223 /* ContinueStatement */: + case 224 /* BreakStatement */: return checkBreakOrContinueStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return checkReturnStatement(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return checkWithStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return checkSwitchStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return checkLabeledStatement(node); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return checkThrowStatement(node); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return checkTryStatement(node); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return checkVariableDeclaration(node); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return checkBindingElement(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return checkClassDeclaration(node); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return checkInterfaceDeclaration(node); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return checkTypeAliasDeclaration(node); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return checkEnumDeclaration(node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return checkModuleDeclaration(node); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return checkImportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return checkImportEqualsDeclaration(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return checkExportDeclaration(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return checkExportAssignment(node); - case 214 /* EmptyStatement */: - case 230 /* DebuggerStatement */: + case 215 /* EmptyStatement */: + case 231 /* DebuggerStatement */: checkGrammarStatementInAmbientContext(node); return; - case 252 /* MissingDeclaration */: + case 253 /* MissingDeclaration */: return checkMissingDeclaration(node); } } @@ -49759,7 +50035,7 @@ var ts; if (!ts.isJSDocTypeExpression(parent)) { error(node, ts.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature); } - var paramTag = parent.parent; + var paramTag = node.parent.parent; if (!ts.isJSDocParameterTag(paramTag)) { error(node, ts.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature); return; @@ -49777,8 +50053,8 @@ var ts; function getTypeFromJSDocVariadicType(node) { var type = getTypeFromTypeNode(node.type); var parent = node.parent; - var paramTag = parent.parent; - if (ts.isJSDocTypeExpression(parent) && ts.isJSDocParameterTag(paramTag)) { + var paramTag = node.parent.parent; + if (ts.isJSDocTypeExpression(node.parent) && ts.isJSDocParameterTag(paramTag)) { // Else we will add a diagnostic, see `checkJSDocVariadicType`. var host_1 = ts.getHostSignatureFromJSDoc(paramTag); if (host_1) { @@ -49817,20 +50093,20 @@ var ts; } } function checkDeferredNodes() { - for (var _i = 0, deferredNodes_1 = deferredNodes; _i < deferredNodes_1.length; _i++) { - var node = deferredNodes_1[_i]; + for (var _i = 0, _a = deferredNodes; _i < _a.length; _i++) { + var node = _a[_i]; switch (node.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: checkFunctionExpressionOrObjectLiteralMethodDeferred(node); break; - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: checkAccessorDeclaration(node); break; - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: checkClassExpressionDeferred(node); break; } @@ -49845,9 +50121,9 @@ var ts; function unusedIsError(kind) { switch (kind) { case 0 /* Local */: - return compilerOptions.noUnusedLocals; + return !!compilerOptions.noUnusedLocals; case 1 /* Parameter */: - return compilerOptions.noUnusedParameters; + return !!compilerOptions.noUnusedParameters; default: return ts.Debug.assertNever(kind); } @@ -49963,13 +50239,13 @@ var ts; copySymbols(location.locals, meaning); } switch (location.kind) { - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: copySymbols(getSymbolOfNode(location).exports, meaning & 2623475 /* ModuleMember */); break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: copySymbols(getSymbolOfNode(location).exports, meaning & 8 /* EnumMember */); break; - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: var className = location.name; if (className) { copySymbol(location.symbol, meaning); @@ -49977,8 +50253,8 @@ var ts; // falls through // this fall-through is necessary because we would like to handle // type parameter inside class expression similar to how we handle it in classDeclaration and interface Declaration - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: // If we didn't come from static member of class or interface, // add the type parameters into the symbol table // (type parameters of classDeclaration/classExpression and interface are in member property of the symbol. @@ -49987,7 +50263,7 @@ var ts; copySymbols(getMembersOfSymbol(getSymbolOfNode(location)), meaning & 67901928 /* Type */); } break; - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: var funcName = location.name; if (funcName) { copySymbol(location.symbol, meaning); @@ -50035,28 +50311,28 @@ var ts; } function isTypeDeclaration(node) { switch (node.kind) { - case 147 /* TypeParameter */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 237 /* EnumDeclaration */: + case 148 /* TypeParameter */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 238 /* EnumDeclaration */: return true; + default: + return false; } } // True if the given identifier is part of a type reference - function isTypeReferenceIdentifier(entityName) { - var node = entityName; - while (node.parent && node.parent.kind === 145 /* QualifiedName */) { + function isTypeReferenceIdentifier(node) { + while (node.parent.kind === 146 /* QualifiedName */) { node = node.parent; } - return node.parent && node.parent.kind === 161 /* TypeReference */; + return node.parent.kind === 162 /* TypeReference */; } - function isHeritageClauseElementIdentifier(entityName) { - var node = entityName; - while (node.parent && node.parent.kind === 184 /* PropertyAccessExpression */) { + function isHeritageClauseElementIdentifier(node) { + while (node.parent.kind === 185 /* PropertyAccessExpression */) { node = node.parent; } - return node.parent && node.parent.kind === 206 /* ExpressionWithTypeArguments */; + return node.parent.kind === 207 /* ExpressionWithTypeArguments */; } function forEachEnclosingClass(node, callback) { var result; @@ -50084,14 +50360,14 @@ var ts; return !!forEachEnclosingClass(node, function (n) { return n === classDeclaration; }); } function getLeftSideOfImportEqualsOrExportAssignment(nodeOnRightSide) { - while (nodeOnRightSide.parent.kind === 145 /* QualifiedName */) { + while (nodeOnRightSide.parent.kind === 146 /* QualifiedName */) { nodeOnRightSide = nodeOnRightSide.parent; } - if (nodeOnRightSide.parent.kind === 242 /* ImportEqualsDeclaration */) { - return nodeOnRightSide.parent.moduleReference === nodeOnRightSide && nodeOnRightSide.parent; + if (nodeOnRightSide.parent.kind === 243 /* ImportEqualsDeclaration */) { + return nodeOnRightSide.parent.moduleReference === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } - if (nodeOnRightSide.parent.kind === 248 /* ExportAssignment */) { - return nodeOnRightSide.parent.expression === nodeOnRightSide && nodeOnRightSide.parent; + if (nodeOnRightSide.parent.kind === 249 /* ExportAssignment */) { + return nodeOnRightSide.parent.expression === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } return undefined; } @@ -50116,7 +50392,7 @@ var ts; node = parent; parent = parent.parent; } - if (parent && parent.kind === 178 /* ImportType */ && parent.qualifier === node) { + if (parent && parent.kind === 179 /* ImportType */ && parent.qualifier === node) { return parent; } return undefined; @@ -50126,7 +50402,7 @@ var ts; return getSymbolOfNode(entityName.parent); } if (ts.isInJavaScriptFile(entityName) && - entityName.parent.kind === 184 /* PropertyAccessExpression */ && + entityName.parent.kind === 185 /* PropertyAccessExpression */ && entityName.parent === entityName.parent.parent.left) { // Check if this is a special property assignment var specialPropertyAssignmentSymbol = getSpecialPropertyAssignmentSymbolFromEntityName(entityName); @@ -50134,7 +50410,7 @@ var ts; return specialPropertyAssignmentSymbol; } } - if (entityName.parent.kind === 248 /* ExportAssignment */ && ts.isEntityNameExpression(entityName)) { + if (entityName.parent.kind === 249 /* ExportAssignment */ && ts.isEntityNameExpression(entityName)) { // Even an entity name expression that doesn't resolve as an entityname may still typecheck as a property access expression var success = resolveEntityName(entityName, /*all meanings*/ 67216319 /* Value */ | 67901928 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */, /*ignoreErrors*/ true); @@ -50144,7 +50420,7 @@ var ts; } else if (!ts.isPropertyAccessExpression(entityName) && isInRightSideOfImportOrExportAssignment(entityName)) { // Since we already checked for ExportAssignment, this really could only be an Import - var importEqualsDeclaration = ts.getAncestor(entityName, 242 /* ImportEqualsDeclaration */); + var importEqualsDeclaration = ts.getAncestor(entityName, 243 /* ImportEqualsDeclaration */); ts.Debug.assert(importEqualsDeclaration !== undefined); return getSymbolOfPartOfRightHandSideOfImportEquals(entityName, /*dontResolveAlias*/ true); } @@ -50162,7 +50438,7 @@ var ts; if (isHeritageClauseElementIdentifier(entityName)) { var meaning = 0 /* None */; // In an interface or class, we're definitely interested in a type. - if (entityName.parent.kind === 206 /* ExpressionWithTypeArguments */) { + if (entityName.parent.kind === 207 /* ExpressionWithTypeArguments */) { meaning = 67901928 /* Type */; // In a class 'extends' clause we are also looking for a value. if (ts.isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent)) { @@ -50178,10 +50454,10 @@ var ts; return entityNameSymbol; } } - if (entityName.parent.kind === 292 /* JSDocParameterTag */) { + if (entityName.parent.kind === 293 /* JSDocParameterTag */) { return ts.getParameterSymbolFromJSDoc(entityName.parent); } - if (entityName.parent.kind === 147 /* TypeParameter */ && entityName.parent.parent.kind === 295 /* JSDocTemplateTag */) { + if (entityName.parent.kind === 148 /* TypeParameter */ && entityName.parent.parent.kind === 296 /* JSDocTemplateTag */) { ts.Debug.assert(!ts.isInJavaScriptFile(entityName)); // Otherwise `isDeclarationName` would have been true. var typeParameter = ts.getTypeParameterFromJsDoc(entityName.parent); return typeParameter && typeParameter.symbol; @@ -50198,12 +50474,12 @@ var ts; } return resolveEntityName(entityName, 67216319 /* Value */, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); } - else if (entityName.kind === 184 /* PropertyAccessExpression */ || entityName.kind === 145 /* QualifiedName */) { + else if (entityName.kind === 185 /* PropertyAccessExpression */ || entityName.kind === 146 /* QualifiedName */) { var links = getNodeLinks(entityName); if (links.resolvedSymbol) { return links.resolvedSymbol; } - if (entityName.kind === 184 /* PropertyAccessExpression */) { + if (entityName.kind === 185 /* PropertyAccessExpression */) { checkPropertyAccessExpression(entityName); } else { @@ -50213,41 +50489,43 @@ var ts; } } else if (isTypeReferenceIdentifier(entityName)) { - var meaning = entityName.parent.kind === 161 /* TypeReference */ ? 67901928 /* Type */ : 1920 /* Namespace */; + var meaning = entityName.parent.kind === 162 /* TypeReference */ ? 67901928 /* Type */ : 1920 /* Namespace */; return resolveEntityName(entityName, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); } - else if (entityName.parent.kind === 261 /* JsxAttribute */) { + else if (entityName.parent.kind === 262 /* JsxAttribute */) { return getJsxAttributePropertySymbol(entityName.parent); } - if (entityName.parent.kind === 160 /* TypePredicate */) { + if (entityName.parent.kind === 161 /* TypePredicate */) { return resolveEntityName(entityName, /*meaning*/ 1 /* FunctionScopedVariable */); } // Do we want to return undefined here? return undefined; } function getSymbolAtLocation(node) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { return ts.isExternalModule(node) ? getMergedSymbol(node.symbol) : undefined; } + var parent = node.parent; + var grandParent = parent.parent; if (node.flags & 8388608 /* InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further return undefined; } if (isDeclarationNameOrImportPropertyName(node)) { // This is a declaration, call getSymbolOfNode - return getSymbolOfNode(node.parent); + return getSymbolOfNode(parent); } else if (ts.isLiteralComputedPropertyDeclarationName(node)) { - return getSymbolOfNode(node.parent.parent); + return getSymbolOfNode(parent.parent); } if (node.kind === 71 /* Identifier */) { if (isInRightSideOfImportOrExportAssignment(node)) { return getSymbolOfEntityNameOrPropertyAccessExpression(node); } - else if (node.parent.kind === 181 /* BindingElement */ && - node.parent.parent.kind === 179 /* ObjectBindingPattern */ && - node === node.parent.propertyName) { - var typeOfPattern = getTypeOfNode(node.parent.parent); + else if (parent.kind === 182 /* BindingElement */ && + grandParent.kind === 180 /* ObjectBindingPattern */ && + node === parent.propertyName) { + var typeOfPattern = getTypeOfNode(grandParent); var propertyDeclaration = typeOfPattern && getPropertyOfType(typeOfPattern, node.escapedText); if (propertyDeclaration) { return propertyDeclaration; @@ -50256,8 +50534,8 @@ var ts; } switch (node.kind) { case 71 /* Identifier */: - case 184 /* PropertyAccessExpression */: - case 145 /* QualifiedName */: + case 185 /* PropertyAccessExpression */: + case 146 /* QualifiedName */: return getSymbolOfEntityNameOrPropertyAccessExpression(node); case 99 /* ThisKeyword */: var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); @@ -50271,14 +50549,14 @@ var ts; return checkExpression(node).symbol; } // falls through - case 173 /* ThisType */: + case 174 /* ThisType */: return getTypeFromThisTypeNode(node).symbol; case 97 /* SuperKeyword */: return checkExpression(node).symbol; case 123 /* ConstructorKeyword */: // constructor keyword for an overload, should take us to the definition if it exist var constructorDeclaration = node.parent; - if (constructorDeclaration && constructorDeclaration.kind === 154 /* Constructor */) { + if (constructorDeclaration && constructorDeclaration.kind === 155 /* Constructor */) { return constructorDeclaration.parent.symbol; } return undefined; @@ -50289,7 +50567,7 @@ var ts; // 3). Dynamic import call or require in javascript // 4). type A = import("./f/*gotToDefinitionHere*/oo") if ((ts.isExternalModuleImportEqualsDeclaration(node.parent.parent) && ts.getExternalModuleImportEqualsDeclarationExpression(node.parent.parent) === node) || - ((node.parent.kind === 243 /* ImportDeclaration */ || node.parent.kind === 249 /* ExportDeclaration */) && node.parent.moduleSpecifier === node) || + ((node.parent.kind === 244 /* ImportDeclaration */ || node.parent.kind === 250 /* ExportDeclaration */) && node.parent.moduleSpecifier === node) || ((ts.isInJavaScriptFile(node) && ts.isRequireCall(node.parent, /*checkArgumentIsStringLiteralLike*/ false)) || ts.isImportCall(node.parent)) || (ts.isLiteralTypeNode(node.parent) && ts.isLiteralImportTypeNode(node.parent.parent) && node.parent.parent.argument === node.parent)) { return resolveExternalModuleName(node, node); @@ -50297,24 +50575,24 @@ var ts; // falls through case 8 /* NumericLiteral */: // index access - var objectType = ts.isElementAccessExpression(node.parent) - ? node.parent.argumentExpression === node ? getTypeOfExpression(node.parent.expression) : undefined - : ts.isLiteralTypeNode(node.parent) && ts.isIndexedAccessTypeNode(node.parent.parent) - ? getTypeFromTypeNode(node.parent.parent.objectType) + var objectType = ts.isElementAccessExpression(parent) + ? parent.argumentExpression === node ? getTypeOfExpression(parent.expression) : undefined + : ts.isLiteralTypeNode(parent) && ts.isIndexedAccessTypeNode(grandParent) + ? getTypeFromTypeNode(grandParent.objectType) : undefined; return objectType && getPropertyOfType(objectType, ts.escapeLeadingUnderscores(node.text)); case 79 /* DefaultKeyword */: case 89 /* FunctionKeyword */: case 36 /* EqualsGreaterThanToken */: return getSymbolOfNode(node.parent); - case 178 /* ImportType */: + case 179 /* ImportType */: return ts.isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal) : undefined; default: return undefined; } } function getShorthandAssignmentValueSymbol(location) { - if (location && location.kind === 270 /* ShorthandPropertyAssignment */) { + if (location && location.kind === 271 /* ShorthandPropertyAssignment */) { return resolveEntityName(location.name, 67216319 /* Value */ | 2097152 /* Alias */); } return undefined; @@ -50328,7 +50606,7 @@ var ts; function getTypeOfNode(node) { if (node.flags & 8388608 /* InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further - return unknownType; + return errorType; } if (ts.isPartOfTypeNode(node)) { var typeFromTypeNode = getTypeFromTypeNode(node); @@ -50375,10 +50653,10 @@ var ts; var symbol = getSymbolAtLocation(node); if (symbol) { var declaredType = getDeclaredTypeOfSymbol(symbol); - return declaredType !== unknownType ? declaredType : getTypeOfSymbol(symbol); + return declaredType !== errorType ? declaredType : getTypeOfSymbol(symbol); } } - return unknownType; + return errorType; } // Gets the type of object literal or array literal of destructuring assignment. // { a } from @@ -50387,32 +50665,32 @@ var ts; // [ a ] from // [a] = [ some array ...] function getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr) { - ts.Debug.assert(expr.kind === 183 /* ObjectLiteralExpression */ || expr.kind === 182 /* ArrayLiteralExpression */); + ts.Debug.assert(expr.kind === 184 /* ObjectLiteralExpression */ || expr.kind === 183 /* ArrayLiteralExpression */); // If this is from "for of" // for ( { a } of elems) { // } - if (expr.parent.kind === 221 /* ForOfStatement */) { + if (expr.parent.kind === 222 /* ForOfStatement */) { var iteratedType = checkRightHandSideOfForOf(expr.parent.expression, expr.parent.awaitModifier); - return checkDestructuringAssignment(expr, iteratedType || unknownType); + return checkDestructuringAssignment(expr, iteratedType || errorType); } // If this is from "for" initializer // for ({a } = elems[0];.....) { } - if (expr.parent.kind === 199 /* BinaryExpression */) { + if (expr.parent.kind === 200 /* BinaryExpression */) { var iteratedType = getTypeOfExpression(expr.parent.right); - return checkDestructuringAssignment(expr, iteratedType || unknownType); + return checkDestructuringAssignment(expr, iteratedType || errorType); } // If this is from nested object binding pattern // for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { - if (expr.parent.kind === 269 /* PropertyAssignment */) { + if (expr.parent.kind === 270 /* PropertyAssignment */) { var typeOfParentObjectLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr.parent.parent); - return checkObjectLiteralDestructuringPropertyAssignment(typeOfParentObjectLiteral || unknownType, expr.parent); + return checkObjectLiteralDestructuringPropertyAssignment(typeOfParentObjectLiteral || errorType, expr.parent); // TODO: GH#18217 } // Array literal assignment - array destructuring pattern - ts.Debug.assert(expr.parent.kind === 182 /* ArrayLiteralExpression */); + ts.Debug.assert(expr.parent.kind === 183 /* ArrayLiteralExpression */); // [{ property1: p1, property2 }] = elems; var typeOfArrayLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr.parent); - var elementType = checkIteratedTypeOrElementType(typeOfArrayLiteral || unknownType, expr.parent, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || unknownType; - return checkArrayLiteralDestructuringElementAssignment(expr.parent, typeOfArrayLiteral, expr.parent.elements.indexOf(expr), elementType || unknownType); + var elementType = checkIteratedTypeOrElementType(typeOfArrayLiteral || errorType, expr.parent, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || errorType; + return checkArrayLiteralDestructuringElementAssignment(expr.parent, typeOfArrayLiteral, expr.parent.elements.indexOf(expr), elementType || errorType); // TODO: GH#18217 } // Gets the property symbol corresponding to the property in destructuring assignment // 'property1' from @@ -50483,11 +50761,11 @@ var ts; return target; } // Emitter support - function isArgumentsLocalBinding(node) { - if (!ts.isGeneratedIdentifier(node)) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function isArgumentsLocalBinding(nodeIn) { + if (!ts.isGeneratedIdentifier(nodeIn)) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { - var isPropertyName_1 = node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.name === node; + var isPropertyName_1 = node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.name === node; return !isPropertyName_1 && getReferencedValueSymbol(node) === argumentsSymbol; } } @@ -50518,13 +50796,12 @@ var ts; } } function isNameOfModuleOrEnumDeclaration(node) { - var parent = node.parent; - return parent && ts.isModuleOrEnumDeclaration(parent) && node === parent.name; + return ts.isModuleOrEnumDeclaration(node.parent) && node === node.parent.name; } // When resolved as an expression identifier, if the given node references an exported entity, return the declaration // node of the exported entity's container. Otherwise, return undefined. - function getReferencedExportContainer(node, prefixLocals) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedExportContainer(nodeIn, prefixLocals) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { // When resolving the export container for the name of a module or enum // declaration, we need to start resolution at the declaration's container. @@ -50544,7 +50821,7 @@ var ts; } var parentSymbol_1 = getParentOfSymbol(symbol); if (parentSymbol_1) { - if (parentSymbol_1.flags & 512 /* ValueModule */ && parentSymbol_1.valueDeclaration.kind === 273 /* SourceFile */) { + if (parentSymbol_1.flags & 512 /* ValueModule */ && parentSymbol_1.valueDeclaration.kind === 274 /* SourceFile */) { var symbolFile = parentSymbol_1.valueDeclaration; var referenceFile = ts.getSourceFileOfNode(node); // If `node` accesses an export and that export isn't in the same file, then symbol is a namespace export, so return undefined. @@ -50558,8 +50835,8 @@ var ts; } // When resolved as an expression identifier, if the given node references an import, return the declaration of // that import. Otherwise, return undefined. - function getReferencedImportDeclaration(node) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedImportDeclaration(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { var symbol = getReferencedValueSymbol(node); // We should only get the declaration of an alias if there isn't a local value @@ -50599,7 +50876,7 @@ var ts; // they will not collide with anything var isDeclaredInLoop = nodeLinks_1.flags & 262144 /* BlockScopedBindingInLoop */; var inLoopInitializer = ts.isIterationStatement(container, /*lookInLabeledStatements*/ false); - var inLoopBodyBlock = container.kind === 212 /* Block */ && ts.isIterationStatement(container.parent, /*lookInLabeledStatements*/ false); + var inLoopBodyBlock = container.kind === 213 /* Block */ && ts.isIterationStatement(container.parent, /*lookInLabeledStatements*/ false); links.isDeclarationWithCollidingName = !ts.isBlockScopedContainerTopLevel(container) && (!isDeclaredInLoop || (!inLoopInitializer && !inLoopBodyBlock)); } else { @@ -50614,9 +50891,9 @@ var ts; // When resolved as an expression identifier, if the given node references a nested block scoped entity with // a name that either hides an existing name or might hide it when compiled downlevel, // return the declaration of that entity. Otherwise, return undefined. - function getReferencedDeclarationWithCollidingName(node) { - if (!ts.isGeneratedIdentifier(node)) { - node = ts.getParseTreeNode(node, ts.isIdentifier); + function getReferencedDeclarationWithCollidingName(nodeIn) { + if (!ts.isGeneratedIdentifier(nodeIn)) { + var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { var symbol = getReferencedValueSymbol(node); if (symbol && isSymbolOfDeclarationWithCollidingName(symbol)) { @@ -50628,8 +50905,8 @@ var ts; } // Return true if the given node is a declaration of a nested block scoped entity with a name that either hides an // existing name or might hide a name when compiled downlevel - function isDeclarationWithCollidingName(node) { - node = ts.getParseTreeNode(node, ts.isDeclaration); + function isDeclarationWithCollidingName(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isDeclaration); if (node) { var symbol = getSymbolOfNode(node); if (symbol) { @@ -50640,16 +50917,16 @@ var ts; } function isValueAliasDeclaration(node) { switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: - case 244 /* ImportClause */: - case 245 /* NamespaceImport */: - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 243 /* ImportEqualsDeclaration */: + case 245 /* ImportClause */: + case 246 /* NamespaceImport */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: return isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: var exportClause = node.exportClause; - return exportClause && ts.forEach(exportClause.elements, isValueAliasDeclaration); - case 248 /* ExportAssignment */: + return !!exportClause && ts.some(exportClause.elements, isValueAliasDeclaration); + case 249 /* ExportAssignment */: return node.expression && node.expression.kind === 71 /* Identifier */ ? isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol) @@ -50657,9 +50934,9 @@ var ts; } return false; } - function isTopLevelValueImportEqualsWithEntityName(node) { - node = ts.getParseTreeNode(node, ts.isImportEqualsDeclaration); - if (node === undefined || node.parent.kind !== 273 /* SourceFile */ || !ts.isInternalModuleImportEqualsDeclaration(node)) { + function isTopLevelValueImportEqualsWithEntityName(nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isImportEqualsDeclaration); + if (node === undefined || node.parent.kind !== 274 /* SourceFile */ || !ts.isInternalModuleImportEqualsDeclaration(node)) { // parent is not source file or it is not reference to internal module return false; } @@ -50673,11 +50950,11 @@ var ts; } // const enums and modules that contain only const enums are not considered values from the emit perspective // unless 'preserveConstEnums' option is set to true - return target.flags & 67216319 /* Value */ && + return !!(target.flags & 67216319 /* Value */) && (compilerOptions.preserveConstEnums || !isConstEnumOrConstEnumOnlyModule(target)); } function isConstEnumOrConstEnumOnlyModule(s) { - return isConstEnumSymbol(s) || s.constEnumOnlyModule; + return isConstEnumSymbol(s) || !!s.constEnumOnlyModule; } function isReferencedAliasDeclaration(node, checkChildren) { if (ts.isAliasSymbolDeclaration(node)) { @@ -50685,14 +50962,14 @@ var ts; if (symbol && getSymbolLinks(symbol).referenced) { return true; } - var target = getSymbolLinks(symbol).target; + var target = getSymbolLinks(symbol).target; // TODO: GH#18217 if (target && ts.getModifierFlags(node) & 1 /* Export */ && target.flags & 67216319 /* Value */) { // An `export import ... =` of a value symbol is always considered referenced return true; } } if (checkChildren) { - return ts.forEachChild(node, function (node) { return isReferencedAliasDeclaration(node, checkChildren); }); + return !!ts.forEachChild(node, function (node) { return isReferencedAliasDeclaration(node, checkChildren); }); } return false; } @@ -50719,10 +50996,10 @@ var ts; return false; } function isRequiredInitializedParameter(parameter) { - return strictNullChecks && + return !!strictNullChecks && !isOptionalParameter(parameter) && !ts.isJSDocParameterTag(parameter) && - parameter.initializer && + !!parameter.initializer && !ts.hasModifier(parameter, 92 /* ParameterPropertyModifier */); } function isOptionalUninitializedParameterProperty(parameter) { @@ -50732,7 +51009,7 @@ var ts; ts.hasModifier(parameter, 92 /* ParameterPropertyModifier */); } function getNodeCheckFlags(node) { - return getNodeLinks(node).flags; + return getNodeLinks(node).flags || 0; } function getEnumMemberValue(node) { computeEnumMemberValues(node.parent); @@ -50740,15 +51017,15 @@ var ts; } function canHaveConstantValue(node) { switch (node.kind) { - case 272 /* EnumMember */: - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: + case 273 /* EnumMember */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: return true; } return false; } function getConstantValue(node) { - if (node.kind === 272 /* EnumMember */) { + if (node.kind === 273 /* EnumMember */) { return getEnumMemberValue(node); } var symbol = getNodeLinks(node).resolvedSymbol; @@ -50761,11 +51038,11 @@ var ts; return undefined; } function isFunctionType(type) { - return type.flags & 65536 /* Object */ && getSignaturesOfType(type, 0 /* Call */).length > 0; + return !!(type.flags & 131072 /* Object */) && getSignaturesOfType(type, 0 /* Call */).length > 0; } - function getTypeReferenceSerializationKind(typeName, location) { + function getTypeReferenceSerializationKind(typeNameIn, location) { // ensure both `typeName` and `location` are parse tree nodes. - typeName = ts.getParseTreeNode(typeName, ts.isEntityName); + var typeName = ts.getParseTreeNode(typeNameIn, ts.isEntityName); if (!typeName) return ts.TypeReferenceSerializationKind.Unknown; if (location) { @@ -50789,31 +51066,31 @@ var ts; } // We might not be able to resolve type symbol so use unknown type in that case (eg error case) if (!typeSymbol) { - return ts.TypeReferenceSerializationKind.ObjectType; - } - var type = getDeclaredTypeOfSymbol(typeSymbol); - if (type === unknownType) { return ts.TypeReferenceSerializationKind.Unknown; } - else if (type.flags & 1 /* Any */) { + var type = getDeclaredTypeOfSymbol(typeSymbol); + if (type === errorType) { + return ts.TypeReferenceSerializationKind.Unknown; + } + else if (type.flags & 3 /* AnyOrUnknown */) { return ts.TypeReferenceSerializationKind.ObjectType; } - else if (isTypeAssignableToKind(type, 2048 /* Void */ | 12288 /* Nullable */ | 16384 /* Never */)) { + else if (isTypeAssignableToKind(type, 4096 /* Void */ | 24576 /* Nullable */ | 32768 /* Never */)) { return ts.TypeReferenceSerializationKind.VoidNullableOrNeverType; } - else if (isTypeAssignableToKind(type, 136 /* BooleanLike */)) { + else if (isTypeAssignableToKind(type, 272 /* BooleanLike */)) { return ts.TypeReferenceSerializationKind.BooleanType; } - else if (isTypeAssignableToKind(type, 84 /* NumberLike */)) { + else if (isTypeAssignableToKind(type, 168 /* NumberLike */)) { return ts.TypeReferenceSerializationKind.NumberLikeType; } - else if (isTypeAssignableToKind(type, 34 /* StringLike */)) { + else if (isTypeAssignableToKind(type, 68 /* StringLike */)) { return ts.TypeReferenceSerializationKind.StringLikeType; } else if (isTupleType(type)) { return ts.TypeReferenceSerializationKind.ArrayLikeType; } - else if (isTypeAssignableToKind(type, 1536 /* ESSymbolLike */)) { + else if (isTypeAssignableToKind(type, 3072 /* ESSymbolLike */)) { return ts.TypeReferenceSerializationKind.ESSymbolType; } else if (isFunctionType(type)) { @@ -50826,8 +51103,8 @@ var ts; return ts.TypeReferenceSerializationKind.ObjectType; } } - function createTypeOfDeclaration(declaration, enclosingDeclaration, flags, tracker, addUndefined) { - declaration = ts.getParseTreeNode(declaration, ts.isVariableLikeOrAccessor); + function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker, addUndefined) { + var declaration = ts.getParseTreeNode(declarationIn, ts.isVariableLikeOrAccessor); if (!declaration) { return ts.createToken(119 /* AnyKeyword */); } @@ -50835,8 +51112,8 @@ var ts; var symbol = getSymbolOfNode(declaration); var type = symbol && !(symbol.flags & (2048 /* TypeLiteral */ | 131072 /* Signature */)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) - : unknownType; - if (type.flags & 1024 /* UniqueESSymbol */ && + : errorType; + if (type.flags & 2048 /* UniqueESSymbol */ && type.symbol === symbol) { flags |= 1048576 /* AllowUniqueESSymbolType */; } @@ -50845,16 +51122,16 @@ var ts; } return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); } - function createReturnTypeOfSignatureDeclaration(signatureDeclaration, enclosingDeclaration, flags, tracker) { - signatureDeclaration = ts.getParseTreeNode(signatureDeclaration, ts.isFunctionLike); + function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { + var signatureDeclaration = ts.getParseTreeNode(signatureDeclarationIn, ts.isFunctionLike); if (!signatureDeclaration) { return ts.createToken(119 /* AnyKeyword */); } var signature = getSignatureFromDeclaration(signatureDeclaration); return nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); } - function createTypeOfExpression(expr, enclosingDeclaration, flags, tracker) { - expr = ts.getParseTreeNode(expr, ts.isExpression); + function createTypeOfExpression(exprIn, enclosingDeclaration, flags, tracker) { + var expr = ts.getParseTreeNode(exprIn, ts.isExpression); if (!expr) { return ts.createToken(119 /* AnyKeyword */); } @@ -50880,9 +51157,9 @@ var ts; } return resolveName(location, reference.escapedText, 67216319 /* Value */ | 1048576 /* ExportValue */ | 2097152 /* Alias */, /*nodeNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); } - function getReferencedValueDeclaration(reference) { - if (!ts.isGeneratedIdentifier(reference)) { - reference = ts.getParseTreeNode(reference, ts.isIdentifier); + function getReferencedValueDeclaration(referenceIn) { + if (!ts.isGeneratedIdentifier(referenceIn)) { + var reference = ts.getParseTreeNode(referenceIn, ts.isIdentifier); if (reference) { var symbol = getReferencedValueSymbol(reference); if (symbol) { @@ -50895,7 +51172,7 @@ var ts; function isLiteralConstDeclaration(node) { if (ts.isConst(node)) { var type = getTypeOfSymbol(getSymbolOfNode(node)); - return !!(type.flags & 96 /* StringOrNumberLiteral */ && type.flags & 8388608 /* FreshLiteral */); + return !!(type.flags & 192 /* StringOrNumberLiteral */ && type.flags & 33554432 /* FreshLiteral */); } return false; } @@ -50940,7 +51217,7 @@ var ts; }, getNodeCheckFlags: function (node) { node = ts.getParseTreeNode(node); - return node ? getNodeCheckFlags(node) : undefined; + return node ? getNodeCheckFlags(node) : 0; }, isTopLevelValueImportEqualsWithEntityName: isTopLevelValueImportEqualsWithEntityName, isDeclarationVisible: isDeclarationVisible, @@ -50953,8 +51230,8 @@ var ts; createLiteralConstValue: createLiteralConstValue, isSymbolAccessible: isSymbolAccessible, isEntityNameVisible: isEntityNameVisible, - getConstantValue: function (node) { - node = ts.getParseTreeNode(node, canHaveConstantValue); + getConstantValue: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue(node) : undefined; }, collectLinkedAliases: collectLinkedAliases, @@ -50967,20 +51244,20 @@ var ts; getTypeReferenceDirectivesForEntityName: getTypeReferenceDirectivesForEntityName, getTypeReferenceDirectivesForSymbol: getTypeReferenceDirectivesForSymbol, isLiteralConstDeclaration: isLiteralConstDeclaration, - isLateBound: function (node) { - node = ts.getParseTreeNode(node, ts.isDeclaration); + isLateBound: function (nodeIn) { + var node = ts.getParseTreeNode(nodeIn, ts.isDeclaration); var symbol = node && getSymbolOfNode(node); return !!(symbol && ts.getCheckFlags(symbol) & 1024 /* Late */); }, getJsxFactoryEntity: function (location) { return location ? (getJsxNamespace(location), (ts.getSourceFileOfNode(location).localJsxFactory || _jsxFactoryEntity)) : _jsxFactoryEntity; }, getAllAccessorDeclarations: function (accessor) { - accessor = ts.getParseTreeNode(accessor, ts.isGetOrSetAccessorDeclaration); - var otherKind = accessor.kind === 156 /* SetAccessor */ ? 155 /* GetAccessor */ : 156 /* SetAccessor */; + accessor = ts.getParseTreeNode(accessor, ts.isGetOrSetAccessorDeclaration); // TODO: GH#18217 + var otherKind = accessor.kind === 157 /* SetAccessor */ ? 156 /* GetAccessor */ : 157 /* SetAccessor */; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(accessor), otherKind); var firstAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? otherAccessor : accessor; var secondAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? accessor : otherAccessor; - var setAccessor = accessor.kind === 156 /* SetAccessor */ ? accessor : otherAccessor; - var getAccessor = accessor.kind === 155 /* GetAccessor */ ? accessor : otherAccessor; + var setAccessor = accessor.kind === 157 /* SetAccessor */ ? accessor : otherAccessor; + var getAccessor = accessor.kind === 156 /* GetAccessor */ ? accessor : otherAccessor; return { firstAccessor: firstAccessor, secondAccessor: secondAccessor, @@ -50990,7 +51267,7 @@ var ts; } }; function isInHeritageClause(node) { - return node.parent && node.parent.kind === 206 /* ExpressionWithTypeArguments */ && node.parent.parent && node.parent.parent.kind === 267 /* HeritageClause */; + return node.parent && node.parent.kind === 207 /* ExpressionWithTypeArguments */ && node.parent.parent && node.parent.parent.kind === 268 /* HeritageClause */; } // defined here to avoid outer scope pollution function getTypeReferenceDirectivesForEntityName(node) { @@ -51002,7 +51279,7 @@ var ts; // qualified names can only be used as types\namespaces // identifiers are treated as values only if they appear in type queries var meaning = 67901928 /* Type */ | 1920 /* Namespace */; - if ((node.kind === 71 /* Identifier */ && isInTypeQuery(node)) || (node.kind === 184 /* PropertyAccessExpression */ && !isInHeritageClause(node))) { + if ((node.kind === 71 /* Identifier */ && isInTypeQuery(node)) || (node.kind === 185 /* PropertyAccessExpression */ && !isInHeritageClause(node))) { meaning = 67216319 /* Value */ | 1048576 /* ExportValue */; } var symbol = resolveEntityName(node, meaning, /*ignoreErrors*/ true); @@ -51053,7 +51330,7 @@ var ts; break; } } - if (current.valueDeclaration && current.valueDeclaration.kind === 273 /* SourceFile */ && current.flags & 512 /* ValueModule */) { + if (current.valueDeclaration && current.valueDeclaration.kind === 274 /* SourceFile */ && current.flags & 512 /* ValueModule */) { return false; } // check that at least one declaration of top level symbol originates from type declaration file @@ -51068,12 +51345,12 @@ var ts; } } function getExternalModuleFileFromDeclaration(declaration) { - var specifier = declaration.kind === 238 /* ModuleDeclaration */ ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); - var moduleSymbol = resolveExternalModuleNameWorker(specifier, specifier, /*moduleNotFoundError*/ undefined); + var specifier = declaration.kind === 239 /* ModuleDeclaration */ ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); + var moduleSymbol = resolveExternalModuleNameWorker(specifier, specifier, /*moduleNotFoundError*/ undefined); // TODO: GH#18217 if (!moduleSymbol) { return undefined; } - return ts.getDeclarationOfKind(moduleSymbol, 273 /* SourceFile */); + return ts.getDeclarationOfKind(moduleSymbol, 274 /* SourceFile */); } function initializeTypeChecker() { // Bind all source files and propagate errors @@ -51104,7 +51381,7 @@ var ts; }); } } - // We do global augmentations seperately from module augmentations (and before creating global types) because they + // We do global augmentations separately from module augmentations (and before creating global types) because they // 1. Affect global types. We won't have the correct global types until global augmentations are merged. Also, // 2. Module augmentation instantiation requires creating the type of a module, which, in turn, can require // checking for an export or property on the module (if export=) which, in turn, can fall back to the @@ -51127,7 +51404,7 @@ var ts; addToSymbolTable(globals, builtinGlobals, ts.Diagnostics.Declaration_name_conflicts_with_built_in_global_identifier_0); getSymbolLinks(undefinedSymbol).type = undefinedWideningType; getSymbolLinks(argumentsSymbol).type = getGlobalType("IArguments", /*arity*/ 0, /*reportErrors*/ true); - getSymbolLinks(unknownSymbol).type = unknownType; + getSymbolLinks(unknownSymbol).type = errorType; // Initialize special types globalArrayType = getGlobalType("Array", /*arity*/ 1, /*reportErrors*/ true); globalObjectType = getGlobalType("Object", /*arity*/ 0, /*reportErrors*/ true); @@ -51199,7 +51476,7 @@ var ts; case 16384 /* AsyncValues */: return "__asyncValues"; case 32768 /* ExportStar */: return "__exportStar"; case 65536 /* MakeTemplateObject */: return "__makeTemplateObject"; - default: ts.Debug.fail("Unrecognized helper"); + default: return ts.Debug.fail("Unrecognized helper"); } } function resolveHelpersModule(node, errorNode) { @@ -51217,14 +51494,14 @@ var ts; return false; } if (!ts.nodeCanBeDecorated(node, node.parent, node.parent.parent)) { - if (node.kind === 153 /* MethodDeclaration */ && !ts.nodeIsPresent(node.body)) { + if (node.kind === 154 /* MethodDeclaration */ && !ts.nodeIsPresent(node.body)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload); } else { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here); } } - else if (node.kind === 155 /* GetAccessor */ || node.kind === 156 /* SetAccessor */) { + else if (node.kind === 156 /* GetAccessor */ || node.kind === 157 /* SetAccessor */) { var accessors = ts.getAllAccessorDeclarations(node.parent.members, node); if (accessors.firstAccessor.decorators && node === accessors.secondAccessor) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name); @@ -51242,16 +51519,16 @@ var ts; for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; if (modifier.kind !== 132 /* ReadonlyKeyword */) { - if (node.kind === 150 /* PropertySignature */ || node.kind === 152 /* MethodSignature */) { + if (node.kind === 151 /* PropertySignature */ || node.kind === 153 /* MethodSignature */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_type_member, ts.tokenToString(modifier.kind)); } - if (node.kind === 159 /* IndexSignature */) { + if (node.kind === 160 /* IndexSignature */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_an_index_signature, ts.tokenToString(modifier.kind)); } } switch (modifier.kind) { case 76 /* ConstKeyword */: - if (node.kind !== 237 /* EnumDeclaration */ && node.parent.kind === 234 /* ClassDeclaration */) { + if (node.kind !== 238 /* EnumDeclaration */ && node.parent.kind === 235 /* ClassDeclaration */) { return grammarErrorOnNode(node, ts.Diagnostics.A_class_member_cannot_have_the_0_keyword, ts.tokenToString(76 /* ConstKeyword */)); } break; @@ -51271,7 +51548,7 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "async"); } - else if (node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 273 /* SourceFile */) { + else if (node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 274 /* SourceFile */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, text); } else if (flags & 128 /* Abstract */) { @@ -51294,10 +51571,10 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "static", "async"); } - else if (node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 273 /* SourceFile */) { + else if (node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 274 /* SourceFile */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, "static"); } - else if (node.kind === 148 /* Parameter */) { + else if (node.kind === 149 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "static"); } else if (flags & 128 /* Abstract */) { @@ -51310,7 +51587,7 @@ var ts; if (flags & 64 /* Readonly */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "readonly"); } - else if (node.kind !== 151 /* PropertyDeclaration */ && node.kind !== 150 /* PropertySignature */ && node.kind !== 159 /* IndexSignature */ && node.kind !== 148 /* Parameter */) { + else if (node.kind !== 152 /* PropertyDeclaration */ && node.kind !== 151 /* PropertySignature */ && node.kind !== 160 /* IndexSignature */ && node.kind !== 149 /* Parameter */) { // If node.kind === SyntaxKind.Parameter, checkParameter report an error if it's not a parameter property. return grammarErrorOnNode(modifier, ts.Diagnostics.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature); } @@ -51330,17 +51607,17 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "async"); } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "export"); } - else if (node.kind === 148 /* Parameter */) { + else if (node.kind === 149 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "export"); } flags |= 1 /* Export */; break; case 79 /* DefaultKeyword */: - var container = node.parent.kind === 273 /* SourceFile */ ? node.parent : node.parent.parent; - if (container.kind === 238 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 274 /* SourceFile */ ? node.parent : node.parent.parent; + if (container.kind === 239 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module); } flags |= 512 /* Default */; @@ -51352,13 +51629,13 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "declare"); } - else if (node.kind === 148 /* Parameter */) { + else if (node.kind === 149 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "declare"); } - else if ((node.parent.flags & 4194304 /* Ambient */) && node.parent.kind === 239 /* ModuleBlock */) { + else if ((node.parent.flags & 4194304 /* Ambient */) && node.parent.kind === 240 /* ModuleBlock */) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); } flags |= 2 /* Ambient */; @@ -51368,14 +51645,14 @@ var ts; if (flags & 128 /* Abstract */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "abstract"); } - if (node.kind !== 234 /* ClassDeclaration */) { - if (node.kind !== 153 /* MethodDeclaration */ && - node.kind !== 151 /* PropertyDeclaration */ && - node.kind !== 155 /* GetAccessor */ && - node.kind !== 156 /* SetAccessor */) { + if (node.kind !== 235 /* ClassDeclaration */) { + if (node.kind !== 154 /* MethodDeclaration */ && + node.kind !== 152 /* PropertyDeclaration */ && + node.kind !== 156 /* GetAccessor */ && + node.kind !== 157 /* SetAccessor */) { return grammarErrorOnNode(modifier, ts.Diagnostics.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration); } - if (!(node.parent.kind === 234 /* ClassDeclaration */ && ts.hasModifier(node.parent, 128 /* Abstract */))) { + if (!(node.parent.kind === 235 /* ClassDeclaration */ && ts.hasModifier(node.parent, 128 /* Abstract */))) { return grammarErrorOnNode(modifier, ts.Diagnostics.Abstract_methods_can_only_appear_within_an_abstract_class); } if (flags & 32 /* Static */) { @@ -51394,7 +51671,7 @@ var ts; else if (flags & 2 /* Ambient */ || node.parent.flags & 4194304 /* Ambient */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (node.kind === 148 /* Parameter */) { + else if (node.kind === 149 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "async"); } flags |= 256 /* Async */; @@ -51402,12 +51679,12 @@ var ts; break; } } - if (node.kind === 154 /* Constructor */) { + if (node.kind === 155 /* Constructor */) { if (flags & 32 /* Static */) { return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); } if (flags & 128 /* Abstract */) { - return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "abstract"); + return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "abstract"); // TODO: GH#18217 } else if (flags & 256 /* Async */) { return grammarErrorOnNode(lastAsync, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "async"); @@ -51415,20 +51692,21 @@ var ts; else if (flags & 64 /* Readonly */) { return grammarErrorOnNode(lastReadonly, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "readonly"); } - return; + return false; } - else if ((node.kind === 243 /* ImportDeclaration */ || node.kind === 242 /* ImportEqualsDeclaration */) && flags & 2 /* Ambient */) { + else if ((node.kind === 244 /* ImportDeclaration */ || node.kind === 243 /* ImportEqualsDeclaration */) && flags & 2 /* Ambient */) { return grammarErrorOnNode(lastDeclare, ts.Diagnostics.A_0_modifier_cannot_be_used_with_an_import_declaration, "declare"); } - else if (node.kind === 148 /* Parameter */ && (flags & 92 /* ParameterPropertyModifier */) && ts.isBindingPattern(node.name)) { + else if (node.kind === 149 /* Parameter */ && (flags & 92 /* ParameterPropertyModifier */) && ts.isBindingPattern(node.name)) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_may_not_be_declared_using_a_binding_pattern); } - else if (node.kind === 148 /* Parameter */ && (flags & 92 /* ParameterPropertyModifier */) && node.dotDotDotToken) { + else if (node.kind === 149 /* Parameter */ && (flags & 92 /* ParameterPropertyModifier */) && node.dotDotDotToken) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_cannot_be_declared_using_a_rest_parameter); } if (flags & 256 /* Async */) { return checkGrammarAsyncModifier(node, lastAsync); } + return false; } /** * true | false: Early return this value from checkGrammarModifiers. @@ -51443,37 +51721,37 @@ var ts; } function shouldReportBadModifier(node) { switch (node.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 154 /* Constructor */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 159 /* IndexSignature */: - case 238 /* ModuleDeclaration */: - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 249 /* ExportDeclaration */: - case 248 /* ExportAssignment */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 148 /* Parameter */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 155 /* Constructor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 160 /* IndexSignature */: + case 239 /* ModuleDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 250 /* ExportDeclaration */: + case 249 /* ExportAssignment */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 149 /* Parameter */: return false; default: - if (node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 273 /* SourceFile */) { + if (node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 274 /* SourceFile */) { return false; } switch (node.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return nodeHasAnyModifiersExcept(node, 120 /* AsyncKeyword */); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return nodeHasAnyModifiersExcept(node, 117 /* AbstractKeyword */); - case 235 /* InterfaceDeclaration */: - case 213 /* VariableStatement */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 214 /* VariableStatement */: + case 237 /* TypeAliasDeclaration */: return true; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return nodeHasAnyModifiersExcept(node, 76 /* ConstKeyword */); default: ts.Debug.fail(); @@ -51486,10 +51764,10 @@ var ts; } function checkGrammarAsyncModifier(node, asyncModifier) { switch (node.kind) { - case 153 /* MethodDeclaration */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return false; } return grammarErrorOnNode(asyncModifier, ts.Diagnostics._0_modifier_cannot_be_used_here, "async"); @@ -51499,6 +51777,7 @@ var ts; if (list && list.hasTrailingComma) { return grammarErrorAtPos(list[0], list.end - ",".length, ",".length, diag); } + return false; } function checkGrammarTypeParameterList(typeParameters, file) { if (typeParameters && typeParameters.length === 0) { @@ -51506,6 +51785,7 @@ var ts; var end = ts.skipTrivia(file.text, typeParameters.end) + ">".length; return grammarErrorAtPos(file, start, end - start, ts.Diagnostics.Type_parameter_list_cannot_be_empty); } + return false; } function checkGrammarParameterList(parameters) { var seenOptionalParameter = false; @@ -51586,10 +51866,10 @@ var ts; } if (parameter.type.kind !== 137 /* StringKeyword */ && parameter.type.kind !== 134 /* NumberKeyword */) { var type = getTypeFromTypeNode(parameter.type); - if (type.flags & 2 /* String */ || type.flags & 4 /* Number */) { + if (type.flags & 4 /* String */ || type.flags & 8 /* Number */) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead, ts.getTextOfNode(parameter.name), typeToString(type), typeToString(getTypeFromTypeNode(node.type))); } - if (type.flags & 131072 /* Union */ && allTypesAssignableToKind(type, 32 /* StringLiteral */, /*strict*/ true)) { + if (type.flags & 262144 /* Union */ && allTypesAssignableToKind(type, 64 /* StringLiteral */, /*strict*/ true)) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead); } return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_must_be_string_or_number); @@ -51597,6 +51877,7 @@ var ts; if (!node.type) { return grammarErrorOnNode(node, ts.Diagnostics.An_index_signature_must_have_a_type_annotation); } + return false; } function checkGrammarIndexSignature(node) { // Prevent cascading error by short-circuit @@ -51609,6 +51890,7 @@ var ts; var end = ts.skipTrivia(sourceFile.text, typeArguments.end) + ">".length; return grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.Type_argument_list_cannot_be_empty); } + return false; } function checkGrammarTypeArguments(node, typeArguments) { return checkGrammarForDisallowedTrailingComma(typeArguments) || @@ -51618,11 +51900,12 @@ var ts; if (args) { for (var _i = 0, args_5 = args; _i < args_5.length; _i++) { var arg = args_5[_i]; - if (arg.kind === 205 /* OmittedExpression */) { + if (arg.kind === 206 /* OmittedExpression */) { return grammarErrorAtPos(arg, arg.pos, 0, ts.Diagnostics.Argument_expression_expected); } } } + return false; } function checkGrammarArguments(args) { return checkGrammarForOmittedArgument(args); @@ -51636,7 +51919,7 @@ var ts; var listType = ts.tokenToString(node.token); return grammarErrorAtPos(node, types.pos, 0, ts.Diagnostics._0_list_cannot_be_empty, listType); } - return ts.forEach(types, checkGrammarExpressionWithTypeArguments); + return ts.some(types, checkGrammarExpressionWithTypeArguments); } function checkGrammarExpressionWithTypeArguments(node) { return checkGrammarTypeArguments(node, node.typeArguments); @@ -51694,19 +51977,20 @@ var ts; } function checkGrammarComputedPropertyName(node) { // If node is not a computedPropertyName, just skip the grammar checking - if (node.kind !== 146 /* ComputedPropertyName */) { + if (node.kind !== 147 /* ComputedPropertyName */) { return false; } var computedPropertyName = node; - if (computedPropertyName.expression.kind === 199 /* BinaryExpression */ && computedPropertyName.expression.operatorToken.kind === 26 /* CommaToken */) { + if (computedPropertyName.expression.kind === 200 /* BinaryExpression */ && computedPropertyName.expression.operatorToken.kind === 26 /* CommaToken */) { return grammarErrorOnNode(computedPropertyName.expression, ts.Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name); } + return false; } function checkGrammarForGenerator(node) { if (node.asteriskToken) { - ts.Debug.assert(node.kind === 233 /* FunctionDeclaration */ || - node.kind === 191 /* FunctionExpression */ || - node.kind === 153 /* MethodDeclaration */); + ts.Debug.assert(node.kind === 234 /* FunctionDeclaration */ || + node.kind === 192 /* FunctionExpression */ || + node.kind === 154 /* MethodDeclaration */); if (node.flags & 4194304 /* Ambient */) { return grammarErrorOnNode(node.asteriskToken, ts.Diagnostics.Generators_are_not_allowed_in_an_ambient_context); } @@ -51716,9 +52000,7 @@ var ts; } } function checkGrammarForInvalidQuestionMark(questionToken, message) { - if (questionToken) { - return grammarErrorOnNode(questionToken, message); - } + return !!questionToken && grammarErrorOnNode(questionToken, message); } function checkGrammarObjectLiteralExpression(node, inDestructuring) { var Flags; @@ -51731,24 +52013,24 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 271 /* SpreadAssignment */) { + if (prop.kind === 272 /* SpreadAssignment */) { continue; } var name = prop.name; - if (name.kind === 146 /* ComputedPropertyName */) { + if (name.kind === 147 /* ComputedPropertyName */) { // If the name is not a ComputedPropertyName, the grammar checking will skip it checkGrammarComputedPropertyName(name); } - if (prop.kind === 270 /* ShorthandPropertyAssignment */ && !inDestructuring && prop.objectAssignmentInitializer) { + if (prop.kind === 271 /* ShorthandPropertyAssignment */ && !inDestructuring && prop.objectAssignmentInitializer) { // having objectAssignmentInitializer is only valid in ObjectAssignmentPattern // outside of destructuring it is a syntax error return grammarErrorOnNode(prop.equalsToken, ts.Diagnostics.can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment); } // Modifiers are never allowed on properties except for 'async' on a method declaration if (prop.modifiers) { - for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { + for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { // TODO: GH#19955 var mod = _c[_b]; - if (mod.kind !== 120 /* AsyncKeyword */ || prop.kind !== 153 /* MethodDeclaration */) { + if (mod.kind !== 120 /* AsyncKeyword */ || prop.kind !== 154 /* MethodDeclaration */) { grammarErrorOnNode(mod, ts.Diagnostics._0_modifier_cannot_be_used_here, ts.getTextOfNode(mod)); } } @@ -51763,25 +52045,25 @@ var ts; // and either both previous and propId.descriptor have[[Get]] fields or both previous and propId.descriptor have[[Set]] fields var currentKind = void 0; switch (prop.kind) { - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: // Grammar checking for computedPropertyName and shorthandPropertyAssignment checkGrammarForInvalidQuestionMark(prop.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional); if (name.kind === 8 /* NumericLiteral */) { checkGrammarNumericLiteral(name); } // falls through - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: currentKind = 1 /* Property */; break; - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: currentKind = 2 /* GetAccessor */; break; - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: currentKind = 4 /* SetAccessor */; break; default: - ts.Debug.assertNever(prop, "Unexpected syntax kind:" + prop.kind); + throw ts.Debug.assertNever(prop, "Unexpected syntax kind:" + prop.kind); } var effectiveName = ts.getPropertyNameForPropertyNameNode(name); if (effectiveName === undefined) { @@ -51814,7 +52096,7 @@ var ts; var seen = ts.createUnderscoreEscapedMap(); for (var _i = 0, _a = node.attributes.properties; _i < _a.length; _i++) { var attr = _a[_i]; - if (attr.kind === 263 /* JsxSpreadAttribute */) { + if (attr.kind === 264 /* JsxSpreadAttribute */) { continue; } var name = attr.name, initializer = attr.initializer; @@ -51824,7 +52106,7 @@ var ts; else { return grammarErrorOnNode(name, ts.Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name); } - if (initializer && initializer.kind === 264 /* JsxExpression */ && !initializer.expression) { + if (initializer && initializer.kind === 265 /* JsxExpression */ && !initializer.expression) { return grammarErrorOnNode(initializer, ts.Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression); } } @@ -51833,12 +52115,12 @@ var ts; if (checkGrammarStatementInAmbientContext(forInOrOfStatement)) { return true; } - if (forInOrOfStatement.kind === 221 /* ForOfStatement */ && forInOrOfStatement.awaitModifier) { + if (forInOrOfStatement.kind === 222 /* ForOfStatement */ && forInOrOfStatement.awaitModifier) { if ((forInOrOfStatement.flags & 16384 /* AwaitContext */) === 0 /* None */) { return grammarErrorOnNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator); } } - if (forInOrOfStatement.initializer.kind === 232 /* VariableDeclarationList */) { + if (forInOrOfStatement.initializer.kind === 233 /* VariableDeclarationList */) { var variableList = forInOrOfStatement.initializer; if (!checkGrammarVariableDeclarationList(variableList)) { var declarations = variableList.declarations; @@ -51853,20 +52135,20 @@ var ts; return false; } if (declarations.length > 1) { - var diagnostic = forInOrOfStatement.kind === 220 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 221 /* ForInStatement */ ? ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement : ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement; return grammarErrorOnFirstToken(variableList.declarations[1], diagnostic); } var firstDeclaration = declarations[0]; if (firstDeclaration.initializer) { - var diagnostic = forInOrOfStatement.kind === 220 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 221 /* ForInStatement */ ? ts.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer : ts.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer; return grammarErrorOnNode(firstDeclaration.name, diagnostic); } if (firstDeclaration.type) { - var diagnostic = forInOrOfStatement.kind === 220 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 221 /* ForInStatement */ ? ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation : ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation; return grammarErrorOnNode(firstDeclaration, diagnostic); @@ -51893,11 +52175,11 @@ var ts; return grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_have_type_parameters); } else if (!doesAccessorHaveCorrectParameterCount(accessor)) { - return grammarErrorOnNode(accessor.name, kind === 155 /* GetAccessor */ ? + return grammarErrorOnNode(accessor.name, kind === 156 /* GetAccessor */ ? ts.Diagnostics.A_get_accessor_cannot_have_parameters : ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter); } - else if (kind === 156 /* SetAccessor */) { + else if (kind === 157 /* SetAccessor */) { if (accessor.type) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation); } @@ -51914,16 +52196,17 @@ var ts; } } } + return false; } /** Does the accessor have the right number of parameters? * A get accessor has no parameters or a single `this` parameter. * A set accessor has one parameter or a `this` parameter and one more parameter. */ function doesAccessorHaveCorrectParameterCount(accessor) { - return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 155 /* GetAccessor */ ? 0 : 1); + return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 156 /* GetAccessor */ ? 0 : 1); } function getAccessorThisParameter(accessor) { - if (accessor.parameters.length === (accessor.kind === 155 /* GetAccessor */ ? 1 : 2)) { + if (accessor.parameters.length === (accessor.kind === 156 /* GetAccessor */ ? 1 : 2)) { return ts.getThisParameter(accessor); } } @@ -51934,7 +52217,7 @@ var ts; } var parent = ts.walkUpParenthesizedTypes(node.parent); switch (parent.kind) { - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: var decl = parent; if (decl.name.kind !== 71 /* Identifier */) { return grammarErrorOnNode(node, ts.Diagnostics.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name); @@ -51946,13 +52229,13 @@ var ts; return grammarErrorOnNode(parent.name, ts.Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const); } break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: if (!ts.hasModifier(parent, 32 /* Static */) || !ts.hasModifier(parent, 64 /* Readonly */)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly); } break; - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: if (!ts.hasModifier(parent, 64 /* Readonly */)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly); } @@ -51971,8 +52254,8 @@ var ts; if (checkGrammarFunctionLikeDeclaration(node)) { return true; } - if (node.kind === 153 /* MethodDeclaration */) { - if (node.parent.kind === 183 /* ObjectLiteralExpression */) { + if (node.kind === 154 /* MethodDeclaration */) { + if (node.parent.kind === 184 /* ObjectLiteralExpression */) { // We only disallow modifier on a method declaration if it is a property of object-literal-expression if (node.modifiers && !(node.modifiers.length === 1 && ts.first(node.modifiers).kind === 120 /* AsyncKeyword */)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Modifiers_cannot_appear_here); @@ -51997,14 +52280,14 @@ var ts; if (node.flags & 4194304 /* Ambient */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.kind === 153 /* MethodDeclaration */ && !node.body) { + else if (node.kind === 154 /* MethodDeclaration */ && !node.body) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } - else if (node.parent.kind === 235 /* InterfaceDeclaration */) { + else if (node.parent.kind === 236 /* InterfaceDeclaration */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.parent.kind === 165 /* TypeLiteral */) { + else if (node.parent.kind === 166 /* TypeLiteral */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } @@ -52015,11 +52298,11 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.Jump_target_cannot_cross_function_boundary); } switch (current.kind) { - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: if (node.label && current.label.escapedText === node.label.escapedText) { // found matching label - verify that label usage is correct // continue can only target labels that are on iteration statements - var isMisplacedContinueLabel = node.kind === 222 /* ContinueStatement */ + var isMisplacedContinueLabel = node.kind === 223 /* ContinueStatement */ && !ts.isIterationStatement(current.statement, /*lookInLabeledStatement*/ true); if (isMisplacedContinueLabel) { return grammarErrorOnNode(node, ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement); @@ -52027,8 +52310,8 @@ var ts; return false; } break; - case 226 /* SwitchStatement */: - if (node.kind === 223 /* BreakStatement */ && !node.label) { + case 227 /* SwitchStatement */: + if (node.kind === 224 /* BreakStatement */ && !node.label) { // unlabeled break within switch statement - ok return false; } @@ -52043,13 +52326,13 @@ var ts; current = current.parent; } if (node.label) { - var message = node.kind === 223 /* BreakStatement */ + var message = node.kind === 224 /* BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); } else { - var message = node.kind === 223 /* BreakStatement */ + var message = node.kind === 224 /* BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); @@ -52062,7 +52345,7 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern); } checkGrammarForDisallowedTrailingComma(elements, ts.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma); - if (node.name.kind === 180 /* ArrayBindingPattern */ || node.name.kind === 179 /* ObjectBindingPattern */) { + if (node.name.kind === 181 /* ArrayBindingPattern */ || node.name.kind === 180 /* ObjectBindingPattern */) { return grammarErrorOnNode(node.name, ts.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern); } if (node.propertyName) { @@ -52076,11 +52359,11 @@ var ts; } function isStringOrNumberLiteralExpression(expr) { return expr.kind === 9 /* StringLiteral */ || expr.kind === 8 /* NumericLiteral */ || - expr.kind === 197 /* PrefixUnaryExpression */ && expr.operator === 38 /* MinusToken */ && + expr.kind === 198 /* PrefixUnaryExpression */ && expr.operator === 38 /* MinusToken */ && expr.operand.kind === 8 /* NumericLiteral */; } function checkGrammarVariableDeclaration(node) { - if (node.parent.parent.kind !== 220 /* ForInStatement */ && node.parent.parent.kind !== 221 /* ForOfStatement */) { + if (node.parent.parent.kind !== 221 /* ForInStatement */ && node.parent.parent.kind !== 222 /* ForOfStatement */) { if (node.flags & 4194304 /* Ambient */) { if (node.initializer) { if (ts.isConst(node) && !node.type) { @@ -52109,7 +52392,7 @@ var ts; } } } - if (node.exclamationToken && (node.parent.parent.kind !== 213 /* VariableStatement */ || !node.type || node.initializer || node.flags & 4194304 /* Ambient */)) { + if (node.exclamationToken && (node.parent.parent.kind !== 214 /* VariableStatement */ || !node.type || node.initializer || node.flags & 4194304 /* Ambient */)) { return grammarErrorOnNode(node.exclamationToken, ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context); } if (compilerOptions.module !== ts.ModuleKind.ES2015 && compilerOptions.module !== ts.ModuleKind.ESNext && compilerOptions.module !== ts.ModuleKind.System && !compilerOptions.noEmit && @@ -52140,6 +52423,7 @@ var ts; } } } + return false; } function checkGrammarNameInLetOrConstDeclarations(name) { if (name.kind === 71 /* Identifier */) { @@ -52156,6 +52440,7 @@ var ts; } } } + return false; } function checkGrammarVariableDeclarationList(declarationList) { var declarations = declarationList.declarations; @@ -52165,18 +52450,19 @@ var ts; if (!declarationList.declarations.length) { return grammarErrorAtPos(declarationList, declarations.pos, declarations.end - declarations.pos, ts.Diagnostics.Variable_declaration_list_cannot_be_empty); } + return false; } function allowLetAndConstDeclarations(parent) { switch (parent.kind) { - case 216 /* IfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 225 /* WithStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 217 /* IfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 226 /* WithStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: return false; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return allowLetAndConstDeclarations(parent.parent); } return true; @@ -52216,6 +52502,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, span.start, span.length, message, arg0, arg1, arg2)); return true; } + return false; } function grammarErrorAtPos(nodeForSourceFile, start, length, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(nodeForSourceFile); @@ -52223,6 +52510,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, start, length, message, arg0, arg1, arg2)); return true; } + return false; } function grammarErrorOnNode(node, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(node); @@ -52230,11 +52518,12 @@ var ts; diagnostics.add(ts.createDiagnosticForNode(node, message, arg0, arg1, arg2)); return true; } + return false; } function checkGrammarConstructorTypeParameters(node) { - var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); - if (ts.isNodeArray(typeParameters)) { - var pos = typeParameters.pos, end = typeParameters.end; + var jsdocTypeParameters = ts.isInJavaScriptFile(node) && ts.getJSDocTypeParameterDeclarations(node); + if (node.typeParameters || jsdocTypeParameters && jsdocTypeParameters.length) { + var _a = node.typeParameters || jsdocTypeParameters && jsdocTypeParameters[0] || node, pos = _a.pos, end = _a.end; return grammarErrorAtPos(node, pos, end - pos, ts.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration); } } @@ -52250,7 +52539,7 @@ var ts; return true; } } - else if (node.parent.kind === 235 /* InterfaceDeclaration */) { + else if (node.parent.kind === 236 /* InterfaceDeclaration */) { if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } @@ -52258,7 +52547,7 @@ var ts; return grammarErrorOnNode(node.initializer, ts.Diagnostics.An_interface_property_cannot_have_an_initializer); } } - else if (node.parent.kind === 165 /* TypeLiteral */) { + else if (node.parent.kind === 166 /* TypeLiteral */) { if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } @@ -52287,13 +52576,13 @@ var ts; // export_opt AmbientDeclaration // // TODO: The spec needs to be amended to reflect this grammar. - if (node.kind === 235 /* InterfaceDeclaration */ || - node.kind === 236 /* TypeAliasDeclaration */ || - node.kind === 243 /* ImportDeclaration */ || - node.kind === 242 /* ImportEqualsDeclaration */ || - node.kind === 249 /* ExportDeclaration */ || - node.kind === 248 /* ExportAssignment */ || - node.kind === 241 /* NamespaceExportDeclaration */ || + if (node.kind === 236 /* InterfaceDeclaration */ || + node.kind === 237 /* TypeAliasDeclaration */ || + node.kind === 244 /* ImportDeclaration */ || + node.kind === 243 /* ImportEqualsDeclaration */ || + node.kind === 250 /* ExportDeclaration */ || + node.kind === 249 /* ExportAssignment */ || + node.kind === 242 /* NamespaceExportDeclaration */ || ts.hasModifier(node, 2 /* Ambient */ | 1 /* Export */ | 512 /* Default */)) { return false; } @@ -52302,12 +52591,13 @@ var ts; function checkGrammarTopLevelElementsForRequiredDeclareModifier(file) { for (var _i = 0, _a = file.statements; _i < _a.length; _i++) { var decl = _a[_i]; - if (ts.isDeclaration(decl) || decl.kind === 213 /* VariableStatement */) { + if (ts.isDeclaration(decl) || decl.kind === 214 /* VariableStatement */) { if (checkGrammarTopLevelElementForRequiredDeclareModifier(decl)) { return true; } } } + return false; } function checkGrammarSourceFile(node) { return !!(node.flags & 4194304 /* Ambient */) && checkGrammarTopLevelElementsForRequiredDeclareModifier(node); @@ -52328,7 +52618,7 @@ var ts; // to prevent noisiness. So use a bit on the block to indicate if // this has already been reported, and don't report if it has. // - if (node.parent.kind === 212 /* Block */ || node.parent.kind === 239 /* ModuleBlock */ || node.parent.kind === 273 /* SourceFile */) { + if (node.parent.kind === 213 /* Block */ || node.parent.kind === 240 /* ModuleBlock */ || node.parent.kind === 274 /* SourceFile */) { var links_1 = getNodeLinks(node.parent); // Check if the containing block ever report this error if (!links_1.hasReportedStatementInAmbientContext) { @@ -52341,6 +52631,7 @@ var ts; // Debug.assert(isStatement(node.parent)); } } + return false; } function checkGrammarNumericLiteral(node) { // Grammar checking @@ -52349,10 +52640,10 @@ var ts; if (languageVersion >= 1 /* ES5 */) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 177 /* LiteralType */)) { + else if (ts.isChildOfNodeWithKind(node, 178 /* LiteralType */)) { diagnosticMessage = ts.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 272 /* EnumMember */)) { + else if (ts.isChildOfNodeWithKind(node, 273 /* EnumMember */)) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0; } if (diagnosticMessage) { @@ -52361,6 +52652,7 @@ var ts; return grammarErrorOnNode(withMinus ? node.parent : node, diagnosticMessage, literal); } } + return false; } function grammarErrorAfterFirstToken(node, message, arg0, arg1, arg2) { var sourceFile = ts.getSourceFileOfNode(node); @@ -52369,6 +52661,7 @@ var ts; diagnostics.add(ts.createFileDiagnostic(sourceFile, ts.textSpanEnd(span), /*length*/ 0, message, arg0, arg1, arg2)); return true; } + return false; } function getAmbientModules() { if (!ambientModulesCache) { @@ -52398,14 +52691,15 @@ var ts; if (ts.isSpreadElement(nodeArguments[0])) { return grammarErrorOnNode(nodeArguments[0], ts.Diagnostics.Specifier_of_dynamic_import_cannot_be_spread_element); } + return false; } } ts.createTypeChecker = createTypeChecker; /** Like 'isDeclarationName', but returns true for LHS of `import { x as y }` or `export { x as y }`. */ function isDeclarationNameOrImportPropertyName(name) { switch (name.parent.kind) { - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: return ts.isIdentifier(name); default: return ts.isDeclarationName(name); @@ -52413,14 +52707,14 @@ var ts; } function isSomeImportDeclaration(decl) { switch (decl.kind) { - case 244 /* ImportClause */: // For default import - case 242 /* ImportEqualsDeclaration */: - case 245 /* NamespaceImport */: - case 247 /* ImportSpecifier */: // For rename import `x as y` + case 245 /* ImportClause */: // For default import + case 243 /* ImportEqualsDeclaration */: + case 246 /* NamespaceImport */: + case 248 /* ImportSpecifier */: // For rename import `x as y` return true; case 71 /* Identifier */: // For regular import, `decl` is an Identifier under the ImportSpecifier. - return decl.parent.kind === 247 /* ImportSpecifier */; + return decl.parent.kind === 248 /* ImportSpecifier */; default: return false; } @@ -52482,7 +52776,7 @@ var ts; // the original node. We also need to exclude specific properties and only include own- // properties (to skip members already defined on the shared prototype). if (node === undefined) { - return undefined; + return node; } var clone = createSynthesizedNode(node.kind); clone.flags |= node.flags; @@ -52587,7 +52881,6 @@ var ts; return name; } ts.createUniqueName = createUniqueName; - /** Create a unique name based on the supplied text. */ function createOptimisticUniqueName(text) { var name = createIdentifier(text); name.autoGenerateFlags = 3 /* Unique */ | 16 /* Optimistic */; @@ -52683,7 +52976,7 @@ var ts; ts.createModifiersFromModifierFlags = createModifiersFromModifierFlags; // Names function createQualifiedName(left, right) { - var node = createSynthesizedNode(145 /* QualifiedName */); + var node = createSynthesizedNode(146 /* QualifiedName */); node.left = left; node.right = asName(right); return node; @@ -52698,12 +52991,12 @@ var ts; ts.updateQualifiedName = updateQualifiedName; function parenthesizeForComputedName(expression) { return (ts.isBinaryExpression(expression) && expression.operatorToken.kind === 26 /* CommaToken */) || - expression.kind === 301 /* CommaListExpression */ ? + expression.kind === 302 /* CommaListExpression */ ? createParen(expression) : expression; } function createComputedPropertyName(expression) { - var node = createSynthesizedNode(146 /* ComputedPropertyName */); + var node = createSynthesizedNode(147 /* ComputedPropertyName */); node.expression = parenthesizeForComputedName(expression); return node; } @@ -52716,7 +53009,7 @@ var ts; ts.updateComputedPropertyName = updateComputedPropertyName; // Signature elements function createTypeParameterDeclaration(name, constraint, defaultType) { - var node = createSynthesizedNode(147 /* TypeParameter */); + var node = createSynthesizedNode(148 /* TypeParameter */); node.name = asName(name); node.constraint = constraint; node.default = defaultType; @@ -52732,7 +53025,7 @@ var ts; } ts.updateTypeParameterDeclaration = updateTypeParameterDeclaration; function createParameter(decorators, modifiers, dotDotDotToken, name, questionToken, type, initializer) { - var node = createSynthesizedNode(148 /* Parameter */); + var node = createSynthesizedNode(149 /* Parameter */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.dotDotDotToken = dotDotDotToken; @@ -52756,7 +53049,7 @@ var ts; } ts.updateParameter = updateParameter; function createDecorator(expression) { - var node = createSynthesizedNode(149 /* Decorator */); + var node = createSynthesizedNode(150 /* Decorator */); node.expression = ts.parenthesizeForAccess(expression); return node; } @@ -52769,7 +53062,7 @@ var ts; ts.updateDecorator = updateDecorator; // Type Elements function createPropertySignature(modifiers, name, questionToken, type, initializer) { - var node = createSynthesizedNode(150 /* PropertySignature */); + var node = createSynthesizedNode(151 /* PropertySignature */); node.modifiers = asNodeArray(modifiers); node.name = asName(name); node.questionToken = questionToken; @@ -52789,7 +53082,7 @@ var ts; } ts.updatePropertySignature = updatePropertySignature; function createProperty(decorators, modifiers, name, questionOrExclamationToken, type, initializer) { - var node = createSynthesizedNode(151 /* PropertyDeclaration */); + var node = createSynthesizedNode(152 /* PropertyDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -52813,7 +53106,7 @@ var ts; } ts.updateProperty = updateProperty; function createMethodSignature(typeParameters, parameters, type, name, questionToken) { - var node = createSignatureDeclaration(152 /* MethodSignature */, typeParameters, parameters, type); + var node = createSignatureDeclaration(153 /* MethodSignature */, typeParameters, parameters, type); node.name = asName(name); node.questionToken = questionToken; return node; @@ -52830,7 +53123,7 @@ var ts; } ts.updateMethodSignature = updateMethodSignature; function createMethod(decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(153 /* MethodDeclaration */); + var node = createSynthesizedNode(154 /* MethodDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; @@ -52858,7 +53151,7 @@ var ts; } ts.updateMethod = updateMethod; function createConstructor(decorators, modifiers, parameters, body) { - var node = createSynthesizedNode(154 /* Constructor */); + var node = createSynthesizedNode(155 /* Constructor */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.typeParameters = undefined; @@ -52878,7 +53171,7 @@ var ts; } ts.updateConstructor = updateConstructor; function createGetAccessor(decorators, modifiers, name, parameters, type, body) { - var node = createSynthesizedNode(155 /* GetAccessor */); + var node = createSynthesizedNode(156 /* GetAccessor */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -52901,7 +53194,7 @@ var ts; } ts.updateGetAccessor = updateGetAccessor; function createSetAccessor(decorators, modifiers, name, parameters, body) { - var node = createSynthesizedNode(156 /* SetAccessor */); + var node = createSynthesizedNode(157 /* SetAccessor */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -52922,7 +53215,7 @@ var ts; } ts.updateSetAccessor = updateSetAccessor; function createCallSignature(typeParameters, parameters, type) { - return createSignatureDeclaration(157 /* CallSignature */, typeParameters, parameters, type); + return createSignatureDeclaration(158 /* CallSignature */, typeParameters, parameters, type); } ts.createCallSignature = createCallSignature; function updateCallSignature(node, typeParameters, parameters, type) { @@ -52930,7 +53223,7 @@ var ts; } ts.updateCallSignature = updateCallSignature; function createConstructSignature(typeParameters, parameters, type) { - return createSignatureDeclaration(158 /* ConstructSignature */, typeParameters, parameters, type); + return createSignatureDeclaration(159 /* ConstructSignature */, typeParameters, parameters, type); } ts.createConstructSignature = createConstructSignature; function updateConstructSignature(node, typeParameters, parameters, type) { @@ -52938,7 +53231,7 @@ var ts; } ts.updateConstructSignature = updateConstructSignature; function createIndexSignature(decorators, modifiers, parameters, type) { - var node = createSynthesizedNode(159 /* IndexSignature */); + var node = createSynthesizedNode(160 /* IndexSignature */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.parameters = createNodeArray(parameters); @@ -52978,7 +53271,7 @@ var ts; } ts.createKeywordTypeNode = createKeywordTypeNode; function createTypePredicateNode(parameterName, type) { - var node = createSynthesizedNode(160 /* TypePredicate */); + var node = createSynthesizedNode(161 /* TypePredicate */); node.parameterName = asName(parameterName); node.type = type; return node; @@ -52992,7 +53285,7 @@ var ts; } ts.updateTypePredicateNode = updateTypePredicateNode; function createTypeReferenceNode(typeName, typeArguments) { - var node = createSynthesizedNode(161 /* TypeReference */); + var node = createSynthesizedNode(162 /* TypeReference */); node.typeName = asName(typeName); node.typeArguments = typeArguments && ts.parenthesizeTypeParameters(typeArguments); return node; @@ -53006,7 +53299,7 @@ var ts; } ts.updateTypeReferenceNode = updateTypeReferenceNode; function createFunctionTypeNode(typeParameters, parameters, type) { - return createSignatureDeclaration(162 /* FunctionType */, typeParameters, parameters, type); + return createSignatureDeclaration(163 /* FunctionType */, typeParameters, parameters, type); } ts.createFunctionTypeNode = createFunctionTypeNode; function updateFunctionTypeNode(node, typeParameters, parameters, type) { @@ -53014,7 +53307,7 @@ var ts; } ts.updateFunctionTypeNode = updateFunctionTypeNode; function createConstructorTypeNode(typeParameters, parameters, type) { - return createSignatureDeclaration(163 /* ConstructorType */, typeParameters, parameters, type); + return createSignatureDeclaration(164 /* ConstructorType */, typeParameters, parameters, type); } ts.createConstructorTypeNode = createConstructorTypeNode; function updateConstructorTypeNode(node, typeParameters, parameters, type) { @@ -53022,7 +53315,7 @@ var ts; } ts.updateConstructorTypeNode = updateConstructorTypeNode; function createTypeQueryNode(exprName) { - var node = createSynthesizedNode(164 /* TypeQuery */); + var node = createSynthesizedNode(165 /* TypeQuery */); node.exprName = exprName; return node; } @@ -53034,7 +53327,7 @@ var ts; } ts.updateTypeQueryNode = updateTypeQueryNode; function createTypeLiteralNode(members) { - var node = createSynthesizedNode(165 /* TypeLiteral */); + var node = createSynthesizedNode(166 /* TypeLiteral */); node.members = createNodeArray(members); return node; } @@ -53046,7 +53339,7 @@ var ts; } ts.updateTypeLiteralNode = updateTypeLiteralNode; function createArrayTypeNode(elementType) { - var node = createSynthesizedNode(166 /* ArrayType */); + var node = createSynthesizedNode(167 /* ArrayType */); node.elementType = ts.parenthesizeArrayTypeMember(elementType); return node; } @@ -53058,7 +53351,7 @@ var ts; } ts.updateArrayTypeNode = updateArrayTypeNode; function createTupleTypeNode(elementTypes) { - var node = createSynthesizedNode(167 /* TupleType */); + var node = createSynthesizedNode(168 /* TupleType */); node.elementTypes = createNodeArray(elementTypes); return node; } @@ -53070,7 +53363,7 @@ var ts; } ts.updateTypleTypeNode = updateTypleTypeNode; function createUnionTypeNode(types) { - return createUnionOrIntersectionTypeNode(168 /* UnionType */, types); + return createUnionOrIntersectionTypeNode(169 /* UnionType */, types); } ts.createUnionTypeNode = createUnionTypeNode; function updateUnionTypeNode(node, types) { @@ -53078,7 +53371,7 @@ var ts; } ts.updateUnionTypeNode = updateUnionTypeNode; function createIntersectionTypeNode(types) { - return createUnionOrIntersectionTypeNode(169 /* IntersectionType */, types); + return createUnionOrIntersectionTypeNode(170 /* IntersectionType */, types); } ts.createIntersectionTypeNode = createIntersectionTypeNode; function updateIntersectionTypeNode(node, types) { @@ -53097,7 +53390,7 @@ var ts; : node; } function createConditionalTypeNode(checkType, extendsType, trueType, falseType) { - var node = createSynthesizedNode(170 /* ConditionalType */); + var node = createSynthesizedNode(171 /* ConditionalType */); node.checkType = ts.parenthesizeConditionalTypeMember(checkType); node.extendsType = ts.parenthesizeConditionalTypeMember(extendsType); node.trueType = trueType; @@ -53115,7 +53408,7 @@ var ts; } ts.updateConditionalTypeNode = updateConditionalTypeNode; function createInferTypeNode(typeParameter) { - var node = createSynthesizedNode(171 /* InferType */); + var node = createSynthesizedNode(172 /* InferType */); node.typeParameter = typeParameter; return node; } @@ -53127,7 +53420,7 @@ var ts; } ts.updateInferTypeNode = updateInferTypeNode; function createImportTypeNode(argument, qualifier, typeArguments, isTypeOf) { - var node = createSynthesizedNode(178 /* ImportType */); + var node = createSynthesizedNode(179 /* ImportType */); node.argument = argument; node.qualifier = qualifier; node.typeArguments = asNodeArray(typeArguments); @@ -53145,7 +53438,7 @@ var ts; } ts.updateImportTypeNode = updateImportTypeNode; function createParenthesizedType(type) { - var node = createSynthesizedNode(172 /* ParenthesizedType */); + var node = createSynthesizedNode(173 /* ParenthesizedType */); node.type = type; return node; } @@ -53157,11 +53450,11 @@ var ts; } ts.updateParenthesizedType = updateParenthesizedType; function createThisTypeNode() { - return createSynthesizedNode(173 /* ThisType */); + return createSynthesizedNode(174 /* ThisType */); } ts.createThisTypeNode = createThisTypeNode; function createTypeOperatorNode(operatorOrType, type) { - var node = createSynthesizedNode(174 /* TypeOperator */); + var node = createSynthesizedNode(175 /* TypeOperator */); node.operator = typeof operatorOrType === "number" ? operatorOrType : 128 /* KeyOfKeyword */; node.type = ts.parenthesizeElementTypeMember(typeof operatorOrType === "number" ? type : operatorOrType); return node; @@ -53172,7 +53465,7 @@ var ts; } ts.updateTypeOperatorNode = updateTypeOperatorNode; function createIndexedAccessTypeNode(objectType, indexType) { - var node = createSynthesizedNode(175 /* IndexedAccessType */); + var node = createSynthesizedNode(176 /* IndexedAccessType */); node.objectType = ts.parenthesizeElementTypeMember(objectType); node.indexType = indexType; return node; @@ -53186,7 +53479,7 @@ var ts; } ts.updateIndexedAccessTypeNode = updateIndexedAccessTypeNode; function createMappedTypeNode(readonlyToken, typeParameter, questionToken, type) { - var node = createSynthesizedNode(176 /* MappedType */); + var node = createSynthesizedNode(177 /* MappedType */); node.readonlyToken = readonlyToken; node.typeParameter = typeParameter; node.questionToken = questionToken; @@ -53204,7 +53497,7 @@ var ts; } ts.updateMappedTypeNode = updateMappedTypeNode; function createLiteralTypeNode(literal) { - var node = createSynthesizedNode(177 /* LiteralType */); + var node = createSynthesizedNode(178 /* LiteralType */); node.literal = literal; return node; } @@ -53217,7 +53510,7 @@ var ts; ts.updateLiteralTypeNode = updateLiteralTypeNode; // Binding Patterns function createObjectBindingPattern(elements) { - var node = createSynthesizedNode(179 /* ObjectBindingPattern */); + var node = createSynthesizedNode(180 /* ObjectBindingPattern */); node.elements = createNodeArray(elements); return node; } @@ -53229,7 +53522,7 @@ var ts; } ts.updateObjectBindingPattern = updateObjectBindingPattern; function createArrayBindingPattern(elements) { - var node = createSynthesizedNode(180 /* ArrayBindingPattern */); + var node = createSynthesizedNode(181 /* ArrayBindingPattern */); node.elements = createNodeArray(elements); return node; } @@ -53241,7 +53534,7 @@ var ts; } ts.updateArrayBindingPattern = updateArrayBindingPattern; function createBindingElement(dotDotDotToken, propertyName, name, initializer) { - var node = createSynthesizedNode(181 /* BindingElement */); + var node = createSynthesizedNode(182 /* BindingElement */); node.dotDotDotToken = dotDotDotToken; node.propertyName = asName(propertyName); node.name = asName(name); @@ -53260,7 +53553,7 @@ var ts; ts.updateBindingElement = updateBindingElement; // Expression function createArrayLiteral(elements, multiLine) { - var node = createSynthesizedNode(182 /* ArrayLiteralExpression */); + var node = createSynthesizedNode(183 /* ArrayLiteralExpression */); node.elements = ts.parenthesizeListElements(createNodeArray(elements)); if (multiLine) node.multiLine = true; @@ -53274,7 +53567,7 @@ var ts; } ts.updateArrayLiteral = updateArrayLiteral; function createObjectLiteral(properties, multiLine) { - var node = createSynthesizedNode(183 /* ObjectLiteralExpression */); + var node = createSynthesizedNode(184 /* ObjectLiteralExpression */); node.properties = createNodeArray(properties); if (multiLine) node.multiLine = true; @@ -53288,9 +53581,9 @@ var ts; } ts.updateObjectLiteral = updateObjectLiteral; function createPropertyAccess(expression, name) { - var node = createSynthesizedNode(184 /* PropertyAccessExpression */); + var node = createSynthesizedNode(185 /* PropertyAccessExpression */); node.expression = ts.parenthesizeForAccess(expression); - node.name = asName(name); + node.name = asName(name); // TODO: GH#18217 setEmitFlags(node, 131072 /* NoIndentation */); return node; } @@ -53305,7 +53598,7 @@ var ts; } ts.updatePropertyAccess = updatePropertyAccess; function createElementAccess(expression, index) { - var node = createSynthesizedNode(185 /* ElementAccessExpression */); + var node = createSynthesizedNode(186 /* ElementAccessExpression */); node.expression = ts.parenthesizeForAccess(expression); node.argumentExpression = asExpression(index); return node; @@ -53319,7 +53612,7 @@ var ts; } ts.updateElementAccess = updateElementAccess; function createCall(expression, typeArguments, argumentsArray) { - var node = createSynthesizedNode(186 /* CallExpression */); + var node = createSynthesizedNode(187 /* CallExpression */); node.expression = ts.parenthesizeForAccess(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = ts.parenthesizeListElements(createNodeArray(argumentsArray)); @@ -53335,7 +53628,7 @@ var ts; } ts.updateCall = updateCall; function createNew(expression, typeArguments, argumentsArray) { - var node = createSynthesizedNode(187 /* NewExpression */); + var node = createSynthesizedNode(188 /* NewExpression */); node.expression = ts.parenthesizeForNew(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = argumentsArray ? ts.parenthesizeListElements(createNodeArray(argumentsArray)) : undefined; @@ -53351,7 +53644,7 @@ var ts; } ts.updateNew = updateNew; function createTaggedTemplate(tag, typeArgumentsOrTemplate, template) { - var node = createSynthesizedNode(188 /* TaggedTemplateExpression */); + var node = createSynthesizedNode(189 /* TaggedTemplateExpression */); node.tag = ts.parenthesizeForAccess(tag); if (template) { node.typeArguments = asNodeArray(typeArgumentsOrTemplate); @@ -53374,7 +53667,7 @@ var ts; } ts.updateTaggedTemplate = updateTaggedTemplate; function createTypeAssertion(type, expression) { - var node = createSynthesizedNode(189 /* TypeAssertionExpression */); + var node = createSynthesizedNode(190 /* TypeAssertionExpression */); node.type = type; node.expression = ts.parenthesizePrefixOperand(expression); return node; @@ -53388,7 +53681,7 @@ var ts; } ts.updateTypeAssertion = updateTypeAssertion; function createParen(expression) { - var node = createSynthesizedNode(190 /* ParenthesizedExpression */); + var node = createSynthesizedNode(191 /* ParenthesizedExpression */); node.expression = expression; return node; } @@ -53400,7 +53693,7 @@ var ts; } ts.updateParen = updateParen; function createFunctionExpression(modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(191 /* FunctionExpression */); + var node = createSynthesizedNode(192 /* FunctionExpression */); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; node.name = asName(name); @@ -53424,7 +53717,7 @@ var ts; } ts.updateFunctionExpression = updateFunctionExpression; function createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body) { - var node = createSynthesizedNode(192 /* ArrowFunction */); + var node = createSynthesizedNode(193 /* ArrowFunction */); node.modifiers = asNodeArray(modifiers); node.typeParameters = asNodeArray(typeParameters); node.parameters = createNodeArray(parameters); @@ -53458,7 +53751,7 @@ var ts; } ts.updateArrowFunction = updateArrowFunction; function createDelete(expression) { - var node = createSynthesizedNode(193 /* DeleteExpression */); + var node = createSynthesizedNode(194 /* DeleteExpression */); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -53470,7 +53763,7 @@ var ts; } ts.updateDelete = updateDelete; function createTypeOf(expression) { - var node = createSynthesizedNode(194 /* TypeOfExpression */); + var node = createSynthesizedNode(195 /* TypeOfExpression */); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -53482,7 +53775,7 @@ var ts; } ts.updateTypeOf = updateTypeOf; function createVoid(expression) { - var node = createSynthesizedNode(195 /* VoidExpression */); + var node = createSynthesizedNode(196 /* VoidExpression */); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -53494,7 +53787,7 @@ var ts; } ts.updateVoid = updateVoid; function createAwait(expression) { - var node = createSynthesizedNode(196 /* AwaitExpression */); + var node = createSynthesizedNode(197 /* AwaitExpression */); node.expression = ts.parenthesizePrefixOperand(expression); return node; } @@ -53506,7 +53799,7 @@ var ts; } ts.updateAwait = updateAwait; function createPrefix(operator, operand) { - var node = createSynthesizedNode(197 /* PrefixUnaryExpression */); + var node = createSynthesizedNode(198 /* PrefixUnaryExpression */); node.operator = operator; node.operand = ts.parenthesizePrefixOperand(operand); return node; @@ -53519,7 +53812,7 @@ var ts; } ts.updatePrefix = updatePrefix; function createPostfix(operand, operator) { - var node = createSynthesizedNode(198 /* PostfixUnaryExpression */); + var node = createSynthesizedNode(199 /* PostfixUnaryExpression */); node.operand = ts.parenthesizePostfixOperand(operand); node.operator = operator; return node; @@ -53532,7 +53825,7 @@ var ts; } ts.updatePostfix = updatePostfix; function createBinary(left, operator, right) { - var node = createSynthesizedNode(199 /* BinaryExpression */); + var node = createSynthesizedNode(200 /* BinaryExpression */); var operatorToken = asToken(operator); var operatorKind = operatorToken.kind; node.left = ts.parenthesizeBinaryOperand(operatorKind, left, /*isLeftSideOfBinary*/ true, /*leftOperand*/ undefined); @@ -53549,7 +53842,7 @@ var ts; } ts.updateBinary = updateBinary; function createConditional(condition, questionTokenOrWhenTrue, whenTrueOrWhenFalse, colonToken, whenFalse) { - var node = createSynthesizedNode(200 /* ConditionalExpression */); + var node = createSynthesizedNode(201 /* ConditionalExpression */); node.condition = ts.parenthesizeForConditionalHead(condition); node.questionToken = whenFalse ? questionTokenOrWhenTrue : createToken(55 /* QuestionToken */); node.whenTrue = ts.parenthesizeSubexpressionOfConditionalExpression(whenFalse ? whenTrueOrWhenFalse : questionTokenOrWhenTrue); @@ -53579,7 +53872,7 @@ var ts; } ts.updateConditional = updateConditional; function createTemplateExpression(head, templateSpans) { - var node = createSynthesizedNode(201 /* TemplateExpression */); + var node = createSynthesizedNode(202 /* TemplateExpression */); node.head = head; node.templateSpans = createNodeArray(templateSpans); return node; @@ -53617,7 +53910,7 @@ var ts; } ts.createNoSubstitutionTemplateLiteral = createNoSubstitutionTemplateLiteral; function createYield(asteriskTokenOrExpression, expression) { - var node = createSynthesizedNode(202 /* YieldExpression */); + var node = createSynthesizedNode(203 /* YieldExpression */); node.asteriskToken = asteriskTokenOrExpression && asteriskTokenOrExpression.kind === 39 /* AsteriskToken */ ? asteriskTokenOrExpression : undefined; node.expression = asteriskTokenOrExpression && asteriskTokenOrExpression.kind !== 39 /* AsteriskToken */ ? asteriskTokenOrExpression : expression; return node; @@ -53631,7 +53924,7 @@ var ts; } ts.updateYield = updateYield; function createSpread(expression) { - var node = createSynthesizedNode(203 /* SpreadElement */); + var node = createSynthesizedNode(204 /* SpreadElement */); node.expression = ts.parenthesizeExpressionForList(expression); return node; } @@ -53643,7 +53936,7 @@ var ts; } ts.updateSpread = updateSpread; function createClassExpression(modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(204 /* ClassExpression */); + var node = createSynthesizedNode(205 /* ClassExpression */); node.decorators = undefined; node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -53664,11 +53957,11 @@ var ts; } ts.updateClassExpression = updateClassExpression; function createOmittedExpression() { - return createSynthesizedNode(205 /* OmittedExpression */); + return createSynthesizedNode(206 /* OmittedExpression */); } ts.createOmittedExpression = createOmittedExpression; function createExpressionWithTypeArguments(typeArguments, expression) { - var node = createSynthesizedNode(206 /* ExpressionWithTypeArguments */); + var node = createSynthesizedNode(207 /* ExpressionWithTypeArguments */); node.expression = ts.parenthesizeForAccess(expression); node.typeArguments = asNodeArray(typeArguments); return node; @@ -53682,7 +53975,7 @@ var ts; } ts.updateExpressionWithTypeArguments = updateExpressionWithTypeArguments; function createAsExpression(expression, type) { - var node = createSynthesizedNode(207 /* AsExpression */); + var node = createSynthesizedNode(208 /* AsExpression */); node.expression = expression; node.type = type; return node; @@ -53696,7 +53989,7 @@ var ts; } ts.updateAsExpression = updateAsExpression; function createNonNullExpression(expression) { - var node = createSynthesizedNode(208 /* NonNullExpression */); + var node = createSynthesizedNode(209 /* NonNullExpression */); node.expression = ts.parenthesizeForAccess(expression); return node; } @@ -53708,7 +54001,7 @@ var ts; } ts.updateNonNullExpression = updateNonNullExpression; function createMetaProperty(keywordToken, name) { - var node = createSynthesizedNode(209 /* MetaProperty */); + var node = createSynthesizedNode(210 /* MetaProperty */); node.keywordToken = keywordToken; node.name = name; return node; @@ -53722,7 +54015,7 @@ var ts; ts.updateMetaProperty = updateMetaProperty; // Misc function createTemplateSpan(expression, literal) { - var node = createSynthesizedNode(210 /* TemplateSpan */); + var node = createSynthesizedNode(211 /* TemplateSpan */); node.expression = expression; node.literal = literal; return node; @@ -53736,12 +54029,12 @@ var ts; } ts.updateTemplateSpan = updateTemplateSpan; function createSemicolonClassElement() { - return createSynthesizedNode(211 /* SemicolonClassElement */); + return createSynthesizedNode(212 /* SemicolonClassElement */); } ts.createSemicolonClassElement = createSemicolonClassElement; // Element function createBlock(statements, multiLine) { - var block = createSynthesizedNode(212 /* Block */); + var block = createSynthesizedNode(213 /* Block */); block.statements = createNodeArray(statements); if (multiLine) block.multiLine = multiLine; @@ -53750,7 +54043,7 @@ var ts; ts.createBlock = createBlock; /* @internal */ function createExpressionStatement(expression) { - var node = createSynthesizedNode(215 /* ExpressionStatement */); + var node = createSynthesizedNode(216 /* ExpressionStatement */); node.expression = expression; return node; } @@ -53762,7 +54055,7 @@ var ts; } ts.updateBlock = updateBlock; function createVariableStatement(modifiers, declarationList) { - var node = createSynthesizedNode(213 /* VariableStatement */); + var node = createSynthesizedNode(214 /* VariableStatement */); node.decorators = undefined; node.modifiers = asNodeArray(modifiers); node.declarationList = ts.isArray(declarationList) ? createVariableDeclarationList(declarationList) : declarationList; @@ -53777,7 +54070,7 @@ var ts; } ts.updateVariableStatement = updateVariableStatement; function createEmptyStatement() { - return createSynthesizedNode(214 /* EmptyStatement */); + return createSynthesizedNode(215 /* EmptyStatement */); } ts.createEmptyStatement = createEmptyStatement; function createStatement(expression) { @@ -53791,7 +54084,7 @@ var ts; } ts.updateStatement = updateStatement; function createIf(expression, thenStatement, elseStatement) { - var node = createSynthesizedNode(216 /* IfStatement */); + var node = createSynthesizedNode(217 /* IfStatement */); node.expression = expression; node.thenStatement = thenStatement; node.elseStatement = elseStatement; @@ -53807,7 +54100,7 @@ var ts; } ts.updateIf = updateIf; function createDo(statement, expression) { - var node = createSynthesizedNode(217 /* DoStatement */); + var node = createSynthesizedNode(218 /* DoStatement */); node.statement = statement; node.expression = expression; return node; @@ -53821,7 +54114,7 @@ var ts; } ts.updateDo = updateDo; function createWhile(expression, statement) { - var node = createSynthesizedNode(218 /* WhileStatement */); + var node = createSynthesizedNode(219 /* WhileStatement */); node.expression = expression; node.statement = statement; return node; @@ -53835,7 +54128,7 @@ var ts; } ts.updateWhile = updateWhile; function createFor(initializer, condition, incrementor, statement) { - var node = createSynthesizedNode(219 /* ForStatement */); + var node = createSynthesizedNode(220 /* ForStatement */); node.initializer = initializer; node.condition = condition; node.incrementor = incrementor; @@ -53853,7 +54146,7 @@ var ts; } ts.updateFor = updateFor; function createForIn(initializer, expression, statement) { - var node = createSynthesizedNode(220 /* ForInStatement */); + var node = createSynthesizedNode(221 /* ForInStatement */); node.initializer = initializer; node.expression = expression; node.statement = statement; @@ -53869,7 +54162,7 @@ var ts; } ts.updateForIn = updateForIn; function createForOf(awaitModifier, initializer, expression, statement) { - var node = createSynthesizedNode(221 /* ForOfStatement */); + var node = createSynthesizedNode(222 /* ForOfStatement */); node.awaitModifier = awaitModifier; node.initializer = initializer; node.expression = expression; @@ -53887,7 +54180,7 @@ var ts; } ts.updateForOf = updateForOf; function createContinue(label) { - var node = createSynthesizedNode(222 /* ContinueStatement */); + var node = createSynthesizedNode(223 /* ContinueStatement */); node.label = asName(label); return node; } @@ -53899,7 +54192,7 @@ var ts; } ts.updateContinue = updateContinue; function createBreak(label) { - var node = createSynthesizedNode(223 /* BreakStatement */); + var node = createSynthesizedNode(224 /* BreakStatement */); node.label = asName(label); return node; } @@ -53911,7 +54204,7 @@ var ts; } ts.updateBreak = updateBreak; function createReturn(expression) { - var node = createSynthesizedNode(224 /* ReturnStatement */); + var node = createSynthesizedNode(225 /* ReturnStatement */); node.expression = expression; return node; } @@ -53923,7 +54216,7 @@ var ts; } ts.updateReturn = updateReturn; function createWith(expression, statement) { - var node = createSynthesizedNode(225 /* WithStatement */); + var node = createSynthesizedNode(226 /* WithStatement */); node.expression = expression; node.statement = statement; return node; @@ -53937,7 +54230,7 @@ var ts; } ts.updateWith = updateWith; function createSwitch(expression, caseBlock) { - var node = createSynthesizedNode(226 /* SwitchStatement */); + var node = createSynthesizedNode(227 /* SwitchStatement */); node.expression = ts.parenthesizeExpressionForList(expression); node.caseBlock = caseBlock; return node; @@ -53951,7 +54244,7 @@ var ts; } ts.updateSwitch = updateSwitch; function createLabel(label, statement) { - var node = createSynthesizedNode(227 /* LabeledStatement */); + var node = createSynthesizedNode(228 /* LabeledStatement */); node.label = asName(label); node.statement = statement; return node; @@ -53965,7 +54258,7 @@ var ts; } ts.updateLabel = updateLabel; function createThrow(expression) { - var node = createSynthesizedNode(228 /* ThrowStatement */); + var node = createSynthesizedNode(229 /* ThrowStatement */); node.expression = expression; return node; } @@ -53977,7 +54270,7 @@ var ts; } ts.updateThrow = updateThrow; function createTry(tryBlock, catchClause, finallyBlock) { - var node = createSynthesizedNode(229 /* TryStatement */); + var node = createSynthesizedNode(230 /* TryStatement */); node.tryBlock = tryBlock; node.catchClause = catchClause; node.finallyBlock = finallyBlock; @@ -53993,11 +54286,11 @@ var ts; } ts.updateTry = updateTry; function createDebuggerStatement() { - return createSynthesizedNode(230 /* DebuggerStatement */); + return createSynthesizedNode(231 /* DebuggerStatement */); } ts.createDebuggerStatement = createDebuggerStatement; function createVariableDeclaration(name, type, initializer) { - var node = createSynthesizedNode(231 /* VariableDeclaration */); + var node = createSynthesizedNode(232 /* VariableDeclaration */); node.name = asName(name); node.type = type; node.initializer = initializer !== undefined ? ts.parenthesizeExpressionForList(initializer) : undefined; @@ -54013,7 +54306,8 @@ var ts; } ts.updateVariableDeclaration = updateVariableDeclaration; function createVariableDeclarationList(declarations, flags) { - var node = createSynthesizedNode(232 /* VariableDeclarationList */); + if (flags === void 0) { flags = 0 /* None */; } + var node = createSynthesizedNode(233 /* VariableDeclarationList */); node.flags |= flags & 3 /* BlockScoped */; node.declarations = createNodeArray(declarations); return node; @@ -54026,7 +54320,7 @@ var ts; } ts.updateVariableDeclarationList = updateVariableDeclarationList; function createFunctionDeclaration(decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createSynthesizedNode(233 /* FunctionDeclaration */); + var node = createSynthesizedNode(234 /* FunctionDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.asteriskToken = asteriskToken; @@ -54052,7 +54346,7 @@ var ts; } ts.updateFunctionDeclaration = updateFunctionDeclaration; function createClassDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(234 /* ClassDeclaration */); + var node = createSynthesizedNode(235 /* ClassDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54074,7 +54368,7 @@ var ts; } ts.updateClassDeclaration = updateClassDeclaration; function createInterfaceDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createSynthesizedNode(235 /* InterfaceDeclaration */); + var node = createSynthesizedNode(236 /* InterfaceDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54096,7 +54390,7 @@ var ts; } ts.updateInterfaceDeclaration = updateInterfaceDeclaration; function createTypeAliasDeclaration(decorators, modifiers, name, typeParameters, type) { - var node = createSynthesizedNode(236 /* TypeAliasDeclaration */); + var node = createSynthesizedNode(237 /* TypeAliasDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54116,7 +54410,7 @@ var ts; } ts.updateTypeAliasDeclaration = updateTypeAliasDeclaration; function createEnumDeclaration(decorators, modifiers, name, members) { - var node = createSynthesizedNode(237 /* EnumDeclaration */); + var node = createSynthesizedNode(238 /* EnumDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54134,7 +54428,8 @@ var ts; } ts.updateEnumDeclaration = updateEnumDeclaration; function createModuleDeclaration(decorators, modifiers, name, body, flags) { - var node = createSynthesizedNode(238 /* ModuleDeclaration */); + if (flags === void 0) { flags = 0 /* None */; } + var node = createSynthesizedNode(239 /* ModuleDeclaration */); node.flags |= flags & (16 /* Namespace */ | 4 /* NestedNamespace */ | 512 /* GlobalAugmentation */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); @@ -54153,7 +54448,7 @@ var ts; } ts.updateModuleDeclaration = updateModuleDeclaration; function createModuleBlock(statements) { - var node = createSynthesizedNode(239 /* ModuleBlock */); + var node = createSynthesizedNode(240 /* ModuleBlock */); node.statements = createNodeArray(statements); return node; } @@ -54165,7 +54460,7 @@ var ts; } ts.updateModuleBlock = updateModuleBlock; function createCaseBlock(clauses) { - var node = createSynthesizedNode(240 /* CaseBlock */); + var node = createSynthesizedNode(241 /* CaseBlock */); node.clauses = createNodeArray(clauses); return node; } @@ -54177,7 +54472,7 @@ var ts; } ts.updateCaseBlock = updateCaseBlock; function createNamespaceExportDeclaration(name) { - var node = createSynthesizedNode(241 /* NamespaceExportDeclaration */); + var node = createSynthesizedNode(242 /* NamespaceExportDeclaration */); node.name = asName(name); return node; } @@ -54189,7 +54484,7 @@ var ts; } ts.updateNamespaceExportDeclaration = updateNamespaceExportDeclaration; function createImportEqualsDeclaration(decorators, modifiers, name, moduleReference) { - var node = createSynthesizedNode(242 /* ImportEqualsDeclaration */); + var node = createSynthesizedNode(243 /* ImportEqualsDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.name = asName(name); @@ -54207,7 +54502,7 @@ var ts; } ts.updateImportEqualsDeclaration = updateImportEqualsDeclaration; function createImportDeclaration(decorators, modifiers, importClause, moduleSpecifier) { - var node = createSynthesizedNode(243 /* ImportDeclaration */); + var node = createSynthesizedNode(244 /* ImportDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.importClause = importClause; @@ -54225,7 +54520,7 @@ var ts; } ts.updateImportDeclaration = updateImportDeclaration; function createImportClause(name, namedBindings) { - var node = createSynthesizedNode(244 /* ImportClause */); + var node = createSynthesizedNode(245 /* ImportClause */); node.name = name; node.namedBindings = namedBindings; return node; @@ -54239,7 +54534,7 @@ var ts; } ts.updateImportClause = updateImportClause; function createNamespaceImport(name) { - var node = createSynthesizedNode(245 /* NamespaceImport */); + var node = createSynthesizedNode(246 /* NamespaceImport */); node.name = name; return node; } @@ -54251,7 +54546,7 @@ var ts; } ts.updateNamespaceImport = updateNamespaceImport; function createNamedImports(elements) { - var node = createSynthesizedNode(246 /* NamedImports */); + var node = createSynthesizedNode(247 /* NamedImports */); node.elements = createNodeArray(elements); return node; } @@ -54263,7 +54558,7 @@ var ts; } ts.updateNamedImports = updateNamedImports; function createImportSpecifier(propertyName, name) { - var node = createSynthesizedNode(247 /* ImportSpecifier */); + var node = createSynthesizedNode(248 /* ImportSpecifier */); node.propertyName = propertyName; node.name = name; return node; @@ -54277,7 +54572,7 @@ var ts; } ts.updateImportSpecifier = updateImportSpecifier; function createExportAssignment(decorators, modifiers, isExportEquals, expression) { - var node = createSynthesizedNode(248 /* ExportAssignment */); + var node = createSynthesizedNode(249 /* ExportAssignment */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.isExportEquals = isExportEquals; @@ -54294,7 +54589,7 @@ var ts; } ts.updateExportAssignment = updateExportAssignment; function createExportDeclaration(decorators, modifiers, exportClause, moduleSpecifier) { - var node = createSynthesizedNode(249 /* ExportDeclaration */); + var node = createSynthesizedNode(250 /* ExportDeclaration */); node.decorators = asNodeArray(decorators); node.modifiers = asNodeArray(modifiers); node.exportClause = exportClause; @@ -54312,7 +54607,7 @@ var ts; } ts.updateExportDeclaration = updateExportDeclaration; function createNamedExports(elements) { - var node = createSynthesizedNode(250 /* NamedExports */); + var node = createSynthesizedNode(251 /* NamedExports */); node.elements = createNodeArray(elements); return node; } @@ -54324,7 +54619,7 @@ var ts; } ts.updateNamedExports = updateNamedExports; function createExportSpecifier(propertyName, name) { - var node = createSynthesizedNode(251 /* ExportSpecifier */); + var node = createSynthesizedNode(252 /* ExportSpecifier */); node.propertyName = asName(propertyName); node.name = asName(name); return node; @@ -54339,7 +54634,7 @@ var ts; ts.updateExportSpecifier = updateExportSpecifier; // Module references function createExternalModuleReference(expression) { - var node = createSynthesizedNode(253 /* ExternalModuleReference */); + var node = createSynthesizedNode(254 /* ExternalModuleReference */); node.expression = expression; return node; } @@ -54352,7 +54647,7 @@ var ts; ts.updateExternalModuleReference = updateExternalModuleReference; // JSX function createJsxElement(openingElement, children, closingElement) { - var node = createSynthesizedNode(254 /* JsxElement */); + var node = createSynthesizedNode(255 /* JsxElement */); node.openingElement = openingElement; node.children = createNodeArray(children); node.closingElement = closingElement; @@ -54368,7 +54663,7 @@ var ts; } ts.updateJsxElement = updateJsxElement; function createJsxSelfClosingElement(tagName, typeArguments, attributes) { - var node = createSynthesizedNode(255 /* JsxSelfClosingElement */); + var node = createSynthesizedNode(256 /* JsxSelfClosingElement */); node.tagName = tagName; node.typeArguments = typeArguments && createNodeArray(typeArguments); node.attributes = attributes; @@ -54384,7 +54679,7 @@ var ts; } ts.updateJsxSelfClosingElement = updateJsxSelfClosingElement; function createJsxOpeningElement(tagName, typeArguments, attributes) { - var node = createSynthesizedNode(256 /* JsxOpeningElement */); + var node = createSynthesizedNode(257 /* JsxOpeningElement */); node.tagName = tagName; node.typeArguments = typeArguments && createNodeArray(typeArguments); node.attributes = attributes; @@ -54400,7 +54695,7 @@ var ts; } ts.updateJsxOpeningElement = updateJsxOpeningElement; function createJsxClosingElement(tagName) { - var node = createSynthesizedNode(257 /* JsxClosingElement */); + var node = createSynthesizedNode(258 /* JsxClosingElement */); node.tagName = tagName; return node; } @@ -54412,7 +54707,7 @@ var ts; } ts.updateJsxClosingElement = updateJsxClosingElement; function createJsxFragment(openingFragment, children, closingFragment) { - var node = createSynthesizedNode(258 /* JsxFragment */); + var node = createSynthesizedNode(259 /* JsxFragment */); node.openingFragment = openingFragment; node.children = createNodeArray(children); node.closingFragment = closingFragment; @@ -54428,7 +54723,7 @@ var ts; } ts.updateJsxFragment = updateJsxFragment; function createJsxAttribute(name, initializer) { - var node = createSynthesizedNode(261 /* JsxAttribute */); + var node = createSynthesizedNode(262 /* JsxAttribute */); node.name = name; node.initializer = initializer; return node; @@ -54442,7 +54737,7 @@ var ts; } ts.updateJsxAttribute = updateJsxAttribute; function createJsxAttributes(properties) { - var node = createSynthesizedNode(262 /* JsxAttributes */); + var node = createSynthesizedNode(263 /* JsxAttributes */); node.properties = createNodeArray(properties); return node; } @@ -54454,7 +54749,7 @@ var ts; } ts.updateJsxAttributes = updateJsxAttributes; function createJsxSpreadAttribute(expression) { - var node = createSynthesizedNode(263 /* JsxSpreadAttribute */); + var node = createSynthesizedNode(264 /* JsxSpreadAttribute */); node.expression = expression; return node; } @@ -54466,7 +54761,7 @@ var ts; } ts.updateJsxSpreadAttribute = updateJsxSpreadAttribute; function createJsxExpression(dotDotDotToken, expression) { - var node = createSynthesizedNode(264 /* JsxExpression */); + var node = createSynthesizedNode(265 /* JsxExpression */); node.dotDotDotToken = dotDotDotToken; node.expression = expression; return node; @@ -54480,7 +54775,7 @@ var ts; ts.updateJsxExpression = updateJsxExpression; // Clauses function createCaseClause(expression, statements) { - var node = createSynthesizedNode(265 /* CaseClause */); + var node = createSynthesizedNode(266 /* CaseClause */); node.expression = ts.parenthesizeExpressionForList(expression); node.statements = createNodeArray(statements); return node; @@ -54494,7 +54789,7 @@ var ts; } ts.updateCaseClause = updateCaseClause; function createDefaultClause(statements) { - var node = createSynthesizedNode(266 /* DefaultClause */); + var node = createSynthesizedNode(267 /* DefaultClause */); node.statements = createNodeArray(statements); return node; } @@ -54506,7 +54801,7 @@ var ts; } ts.updateDefaultClause = updateDefaultClause; function createHeritageClause(token, types) { - var node = createSynthesizedNode(267 /* HeritageClause */); + var node = createSynthesizedNode(268 /* HeritageClause */); node.token = token; node.types = createNodeArray(types); return node; @@ -54519,7 +54814,7 @@ var ts; } ts.updateHeritageClause = updateHeritageClause; function createCatchClause(variableDeclaration, block) { - var node = createSynthesizedNode(268 /* CatchClause */); + var node = createSynthesizedNode(269 /* CatchClause */); node.variableDeclaration = ts.isString(variableDeclaration) ? createVariableDeclaration(variableDeclaration) : variableDeclaration; node.block = block; return node; @@ -54534,7 +54829,7 @@ var ts; ts.updateCatchClause = updateCatchClause; // Property assignments function createPropertyAssignment(name, initializer) { - var node = createSynthesizedNode(269 /* PropertyAssignment */); + var node = createSynthesizedNode(270 /* PropertyAssignment */); node.name = asName(name); node.questionToken = undefined; node.initializer = ts.parenthesizeExpressionForList(initializer); @@ -54549,7 +54844,7 @@ var ts; } ts.updatePropertyAssignment = updatePropertyAssignment; function createShorthandPropertyAssignment(name, objectAssignmentInitializer) { - var node = createSynthesizedNode(270 /* ShorthandPropertyAssignment */); + var node = createSynthesizedNode(271 /* ShorthandPropertyAssignment */); node.name = asName(name); node.objectAssignmentInitializer = objectAssignmentInitializer !== undefined ? ts.parenthesizeExpressionForList(objectAssignmentInitializer) : undefined; return node; @@ -54563,8 +54858,8 @@ var ts; } ts.updateShorthandPropertyAssignment = updateShorthandPropertyAssignment; function createSpreadAssignment(expression) { - var node = createSynthesizedNode(271 /* SpreadAssignment */); - node.expression = expression !== undefined ? ts.parenthesizeExpressionForList(expression) : undefined; + var node = createSynthesizedNode(272 /* SpreadAssignment */); + node.expression = expression !== undefined ? ts.parenthesizeExpressionForList(expression) : undefined; // TODO: GH#18217 return node; } ts.createSpreadAssignment = createSpreadAssignment; @@ -54576,7 +54871,7 @@ var ts; ts.updateSpreadAssignment = updateSpreadAssignment; // Enum function createEnumMember(name, initializer) { - var node = createSynthesizedNode(272 /* EnumMember */); + var node = createSynthesizedNode(273 /* EnumMember */); node.name = asName(name); node.initializer = initializer && ts.parenthesizeExpressionForList(initializer); return node; @@ -54596,7 +54891,7 @@ var ts; (referencedFiles !== undefined && node.referencedFiles !== referencedFiles) || (typeReferences !== undefined && node.typeReferenceDirectives !== typeReferences) || (hasNoDefaultLib !== undefined && node.hasNoDefaultLib !== hasNoDefaultLib)) { - var updated = createSynthesizedNode(273 /* SourceFile */); + var updated = createSynthesizedNode(274 /* SourceFile */); updated.flags |= node.flags; updated.statements = createNodeArray(statements); updated.endOfFileToken = node.endOfFileToken; @@ -54635,6 +54930,8 @@ var ts; updated.parseDiagnostics = node.parseDiagnostics; if (node.bindDiagnostics !== undefined) updated.bindDiagnostics = node.bindDiagnostics; + if (node.bindSuggestionDiagnostics !== undefined) + updated.bindSuggestionDiagnostics = node.bindSuggestionDiagnostics; if (node.lineMap !== undefined) updated.lineMap = node.lineMap; if (node.classifiableNames !== undefined) @@ -54677,7 +54974,7 @@ var ts; * @param original The original statement. */ function createNotEmittedStatement(original) { - var node = createSynthesizedNode(299 /* NotEmittedStatement */); + var node = createSynthesizedNode(300 /* NotEmittedStatement */); node.original = original; setTextRange(node, original); return node; @@ -54689,7 +54986,7 @@ var ts; */ /* @internal */ function createEndOfDeclarationMarker(original) { - var node = createSynthesizedNode(303 /* EndOfDeclarationMarker */); + var node = createSynthesizedNode(304 /* EndOfDeclarationMarker */); node.emitNode = {}; node.original = original; return node; @@ -54701,7 +54998,7 @@ var ts; */ /* @internal */ function createMergeDeclarationMarker(original) { - var node = createSynthesizedNode(302 /* MergeDeclarationMarker */); + var node = createSynthesizedNode(303 /* MergeDeclarationMarker */); node.emitNode = {}; node.original = original; return node; @@ -54716,7 +55013,7 @@ var ts; * @param location The location for the expression. Defaults to the positions from "original" if provided. */ function createPartiallyEmittedExpression(expression, original) { - var node = createSynthesizedNode(300 /* PartiallyEmittedExpression */); + var node = createSynthesizedNode(301 /* PartiallyEmittedExpression */); node.expression = expression; node.original = original; setTextRange(node, original); @@ -54732,7 +55029,7 @@ var ts; ts.updatePartiallyEmittedExpression = updatePartiallyEmittedExpression; function flattenCommaElements(node) { if (ts.nodeIsSynthesized(node) && !ts.isParseTreeNode(node) && !node.original && !node.emitNode && !node.id) { - if (node.kind === 301 /* CommaListExpression */) { + if (node.kind === 302 /* CommaListExpression */) { return node.elements; } if (ts.isBinaryExpression(node) && node.operatorToken.kind === 26 /* CommaToken */) { @@ -54742,7 +55039,7 @@ var ts; return node; } function createCommaList(elements) { - var node = createSynthesizedNode(301 /* CommaListExpression */); + var node = createSynthesizedNode(302 /* CommaListExpression */); node.elements = createNodeArray(ts.sameFlatMap(elements, flattenCommaElements)); return node; } @@ -54755,20 +55052,20 @@ var ts; ts.updateCommaList = updateCommaList; function createBundle(sourceFiles, prepends) { if (prepends === void 0) { prepends = ts.emptyArray; } - var node = ts.createNode(274 /* Bundle */); + var node = ts.createNode(275 /* Bundle */); node.prepends = prepends; node.sourceFiles = sourceFiles; return node; } ts.createBundle = createBundle; function createUnparsedSourceFile(text) { - var node = ts.createNode(275 /* UnparsedSource */); + var node = ts.createNode(276 /* UnparsedSource */); node.text = text; return node; } ts.createUnparsedSourceFile = createUnparsedSourceFile; function createInputFiles(javascript, declaration) { - var node = ts.createNode(276 /* InputFiles */); + var node = ts.createNode(277 /* InputFiles */); node.javascriptText = javascript; node.declarationText = declaration; return node; @@ -54861,6 +55158,7 @@ var ts; return createExportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, createNamedExports([createExportSpecifier(/*propertyName*/ undefined, exportName)])); } ts.createExternalModuleExport = createExternalModuleExport; + // Utilities function asName(name) { return ts.isString(name) ? createIdentifier(name) : name; } @@ -54906,7 +55204,7 @@ var ts; // To avoid holding onto transformation artifacts, we keep track of any // parse tree node we are annotating. This allows us to clean them up after // all transformations have completed. - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { return node.emitNode = { annotatedNodes: [node] }; } var sourceFile = ts.getSourceFileOfNode(node); @@ -55391,7 +55689,7 @@ var ts; // Utilities function createForOfBindingStatement(node, boundValue) { if (ts.isVariableDeclarationList(node)) { - var firstDeclaration = ts.firstOrUndefined(node.declarations); + var firstDeclaration = ts.first(node.declarations); var updatedDeclaration = ts.updateVariableDeclaration(firstDeclaration, firstDeclaration.name, /*typeNode*/ undefined, boundValue); return ts.setTextRange(ts.createVariableStatement( @@ -55417,7 +55715,7 @@ var ts; if (!outermostLabeledStatement) { return node; } - var updated = ts.updateLabel(outermostLabeledStatement, outermostLabeledStatement.label, outermostLabeledStatement.statement.kind === 227 /* LabeledStatement */ + var updated = ts.updateLabel(outermostLabeledStatement, outermostLabeledStatement.label, outermostLabeledStatement.statement.kind === 228 /* LabeledStatement */ ? restoreEnclosingLabel(node, outermostLabeledStatement.statement) : node); if (afterRestoreLabelCallback) { @@ -55435,19 +55733,20 @@ var ts; case 8 /* NumericLiteral */: case 9 /* StringLiteral */: return false; - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: var elements = target.elements; if (elements.length === 0) { return false; } return true; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return target.properties.length > 0; default: return true; } } function createCallBinding(expression, recordTempVariable, languageVersion, cacheIdentifiers) { + if (cacheIdentifiers === void 0) { cacheIdentifiers = false; } var callee = skipOuterExpressions(expression, 7 /* All */); var thisArg; var target; @@ -55467,7 +55766,7 @@ var ts; } else { switch (callee.kind) { - case 184 /* PropertyAccessExpression */: { + case 185 /* PropertyAccessExpression */: { if (shouldBeCapturedInTempVariable(callee.expression, cacheIdentifiers)) { // for `a.b()` target is `(_a = a).b` and thisArg is `_a` thisArg = ts.createTempVariable(recordTempVariable); @@ -55480,7 +55779,7 @@ var ts; } break; } - case 185 /* ElementAccessExpression */: { + case 186 /* ElementAccessExpression */: { if (shouldBeCapturedInTempVariable(callee.expression, cacheIdentifiers)) { // for `a[b]()` target is `(_a = a)[b]` and thisArg is `_a` thisArg = ts.createTempVariable(recordTempVariable); @@ -55537,14 +55836,14 @@ var ts; ts.createExpressionForPropertyName = createExpressionForPropertyName; function createExpressionForObjectLiteralElementLike(node, property, receiver) { switch (property.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - return createExpressionForAccessorDeclaration(node.properties, property, receiver, node.multiLine); - case 269 /* PropertyAssignment */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + return createExpressionForAccessorDeclaration(node.properties, property, receiver, !!node.multiLine); + case 270 /* PropertyAssignment */: return createExpressionForPropertyAssignment(property, receiver); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return createExpressionForShorthandPropertyAssignment(property, receiver); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return createExpressionForMethodDeclaration(property, receiver); } } @@ -55558,7 +55857,8 @@ var ts; /*asteriskToken*/ undefined, /*name*/ undefined, /*typeParameters*/ undefined, getAccessor.parameters, - /*type*/ undefined, getAccessor.body); + /*type*/ undefined, getAccessor.body // TODO: GH#18217 + ); ts.setTextRange(getterFunction, getAccessor); ts.setOriginalNode(getterFunction, getAccessor); var getter = ts.createPropertyAssignment("get", getterFunction); @@ -55569,7 +55869,8 @@ var ts; /*asteriskToken*/ undefined, /*name*/ undefined, /*typeParameters*/ undefined, setAccessor.parameters, - /*type*/ undefined, setAccessor.body); + /*type*/ undefined, setAccessor.body // TODO: GH#18217 + ); ts.setTextRange(setterFunction, setAccessor); ts.setOriginalNode(setterFunction, setAccessor); var setter = ts.createPropertyAssignment("set", setterFunction); @@ -55600,7 +55901,8 @@ var ts; return ts.aggregateTransformFlags(ts.setOriginalNode(ts.setTextRange(ts.createAssignment(createMemberAccessForPropertyName(receiver, method.name, /*location*/ method.name), ts.setOriginalNode(ts.setTextRange(ts.createFunctionExpression(method.modifiers, method.asteriskToken, /*name*/ undefined, /*typeParameters*/ undefined, method.parameters, - /*type*/ undefined, method.body), + /*type*/ undefined, method.body // TODO: GH#18217 + ), /*location*/ method), /*original*/ method)), /*location*/ method), @@ -55683,6 +55985,7 @@ var ts; } ts.getDeclarationName = getDeclarationName; function getName(node, allowComments, allowSourceMaps, emitFlags) { + if (emitFlags === void 0) { emitFlags = 0; } var nodeName = ts.getNameOfDeclaration(node); if (nodeName && ts.isIdentifier(nodeName) && !ts.isGeneratedIdentifier(nodeName)) { var name = ts.getMutableClone(nodeName); @@ -55726,7 +56029,7 @@ var ts; function getNamespaceMemberName(ns, name, allowComments, allowSourceMaps) { var qualifiedName = ts.createPropertyAccess(ns, ts.nodeIsSynthesized(name) ? name : ts.getSynthesizedClone(name)); ts.setTextRange(qualifiedName, name); - var emitFlags; + var emitFlags = 0; if (!allowSourceMaps) emitFlags |= 48 /* NoSourceMap */; if (!allowComments) @@ -55741,7 +56044,8 @@ var ts; } ts.convertToFunctionBody = convertToFunctionBody; function convertFunctionDeclarationToExpression(node) { - ts.Debug.assert(!!node.body); + if (!node.body) + return ts.Debug.fail(); var updated = ts.createFunctionExpression(node.modifiers, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, node.body); ts.setOriginalNode(updated, node); ts.setTextRange(updated, node); @@ -55801,15 +56105,9 @@ var ts; return statementOffset; } ts.addStandardPrologue = addStandardPrologue; - /** - * Add just the custom prologue-directives into target statement-array. - * The function needs to be called during each transformation step. - * This function needs to be called whenever we transform the statement - * list of a source file, namespace, or function-like body. - */ function addCustomPrologue(target, source, statementOffset, visitor) { var numStatements = source.length; - while (statementOffset < numStatements) { + while (statementOffset !== undefined && statementOffset < numStatements) { var statement = source[statementOffset]; if (ts.getEmitFlags(statement) & 1048576 /* CustomPrologue */) { ts.append(target, visitor ? ts.visitNode(statement, visitor, ts.isStatement) : statement); @@ -55868,7 +56166,7 @@ var ts; function parenthesizeBinaryOperand(binaryOperator, operand, isLeftSideOfBinary, leftOperand) { var skipped = ts.skipPartiallyEmittedExpressions(operand); // If the resulting expression is already parenthesized, we do not need to do any further processing. - if (skipped.kind === 190 /* ParenthesizedExpression */) { + if (skipped.kind === 191 /* ParenthesizedExpression */) { return operand; } return binaryOperandNeedsParentheses(binaryOperator, operand, isLeftSideOfBinary, leftOperand) @@ -55902,8 +56200,8 @@ var ts; // // If `a ** d` is on the left of operator `**`, we need to parenthesize to preserve // the intended order of operations: `(a ** b) ** c` - var binaryOperatorPrecedence = ts.getOperatorPrecedence(199 /* BinaryExpression */, binaryOperator); - var binaryOperatorAssociativity = ts.getOperatorAssociativity(199 /* BinaryExpression */, binaryOperator); + var binaryOperatorPrecedence = ts.getOperatorPrecedence(200 /* BinaryExpression */, binaryOperator); + var binaryOperatorAssociativity = ts.getOperatorAssociativity(200 /* BinaryExpression */, binaryOperator); var emittedOperand = ts.skipPartiallyEmittedExpressions(operand); var operandPrecedence = ts.getExpressionPrecedence(emittedOperand); switch (ts.compareValues(operandPrecedence, binaryOperatorPrecedence)) { @@ -55912,7 +56210,7 @@ var ts; // and is a yield expression, then we do not need parentheses. if (!isLeftSideOfBinary && binaryOperatorAssociativity === 1 /* Right */ - && operand.kind === 202 /* YieldExpression */) { + && operand.kind === 203 /* YieldExpression */) { return false; } return true; @@ -56000,7 +56298,7 @@ var ts; if (ts.isLiteralKind(node.kind)) { return node.kind; } - if (node.kind === 199 /* BinaryExpression */ && node.operatorToken.kind === 37 /* PlusToken */) { + if (node.kind === 200 /* BinaryExpression */ && node.operatorToken.kind === 37 /* PlusToken */) { if (node.cachedLiteralKind !== undefined) { return node.cachedLiteralKind; } @@ -56015,7 +56313,7 @@ var ts; return 0 /* Unknown */; } function parenthesizeForConditionalHead(condition) { - var conditionalPrecedence = ts.getOperatorPrecedence(200 /* ConditionalExpression */, 55 /* QuestionToken */); + var conditionalPrecedence = ts.getOperatorPrecedence(201 /* ConditionalExpression */, 55 /* QuestionToken */); var emittedCondition = ts.skipPartiallyEmittedExpressions(condition); var conditionPrecedence = ts.getExpressionPrecedence(emittedCondition); if (ts.compareValues(conditionPrecedence, conditionalPrecedence) === -1 /* LessThan */) { @@ -56029,8 +56327,8 @@ var ts; // so in case when comma expression is introduced as a part of previous transformations // if should be wrapped in parens since comma operator has the lowest precedence var emittedExpression = ts.skipPartiallyEmittedExpressions(e); - return emittedExpression.kind === 199 /* BinaryExpression */ && emittedExpression.operatorToken.kind === 26 /* CommaToken */ || - emittedExpression.kind === 301 /* CommaListExpression */ + return emittedExpression.kind === 200 /* BinaryExpression */ && emittedExpression.operatorToken.kind === 26 /* CommaToken */ || + emittedExpression.kind === 302 /* CommaListExpression */ ? ts.createParen(e) : e; } @@ -56048,9 +56346,9 @@ var ts; */ function parenthesizeDefaultExpression(e) { var check = ts.skipPartiallyEmittedExpressions(e); - return (check.kind === 204 /* ClassExpression */ || - check.kind === 191 /* FunctionExpression */ || - check.kind === 301 /* CommaListExpression */ || + return (check.kind === 205 /* ClassExpression */ || + check.kind === 192 /* FunctionExpression */ || + check.kind === 302 /* CommaListExpression */ || ts.isBinaryExpression(check) && check.operatorToken.kind === 26 /* CommaToken */) ? ts.createParen(e) : e; @@ -56065,9 +56363,9 @@ var ts; function parenthesizeForNew(expression) { var leftmostExpr = getLeftmostExpression(expression, /*stopAtCallExpressions*/ true); switch (leftmostExpr.kind) { - case 186 /* CallExpression */: + case 187 /* CallExpression */: return ts.createParen(expression); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return !leftmostExpr.arguments ? ts.createParen(expression) : expression; @@ -56090,7 +56388,7 @@ var ts; // var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); if (ts.isLeftHandSideExpression(emittedExpression) - && (emittedExpression.kind !== 187 /* NewExpression */ || emittedExpression.arguments)) { + && (emittedExpression.kind !== 188 /* NewExpression */ || emittedExpression.arguments)) { return expression; } return ts.setTextRange(ts.createParen(expression), expression); @@ -56128,7 +56426,7 @@ var ts; function parenthesizeExpressionForList(expression) { var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); var expressionPrecedence = ts.getExpressionPrecedence(emittedExpression); - var commaPrecedence = ts.getOperatorPrecedence(199 /* BinaryExpression */, 26 /* CommaToken */); + var commaPrecedence = ts.getOperatorPrecedence(200 /* BinaryExpression */, 26 /* CommaToken */); return expressionPrecedence > commaPrecedence ? expression : ts.setTextRange(ts.createParen(expression), expression); @@ -56139,29 +56437,29 @@ var ts; if (ts.isCallExpression(emittedExpression)) { var callee = emittedExpression.expression; var kind = ts.skipPartiallyEmittedExpressions(callee).kind; - if (kind === 191 /* FunctionExpression */ || kind === 192 /* ArrowFunction */) { + if (kind === 192 /* FunctionExpression */ || kind === 193 /* ArrowFunction */) { var mutableCall = ts.getMutableClone(emittedExpression); mutableCall.expression = ts.setTextRange(ts.createParen(callee), callee); return recreateOuterExpressions(expression, mutableCall, 4 /* PartiallyEmittedExpressions */); } } var leftmostExpressionKind = getLeftmostExpression(emittedExpression, /*stopAtCallExpressions*/ false).kind; - if (leftmostExpressionKind === 183 /* ObjectLiteralExpression */ || leftmostExpressionKind === 191 /* FunctionExpression */) { + if (leftmostExpressionKind === 184 /* ObjectLiteralExpression */ || leftmostExpressionKind === 192 /* FunctionExpression */) { return ts.setTextRange(ts.createParen(expression), expression); } return expression; } ts.parenthesizeExpressionForExpressionStatement = parenthesizeExpressionForExpressionStatement; function parenthesizeConditionalTypeMember(member) { - return member.kind === 170 /* ConditionalType */ ? ts.createParenthesizedType(member) : member; + return member.kind === 171 /* ConditionalType */ ? ts.createParenthesizedType(member) : member; } ts.parenthesizeConditionalTypeMember = parenthesizeConditionalTypeMember; function parenthesizeElementTypeMember(member) { switch (member.kind) { - case 168 /* UnionType */: - case 169 /* IntersectionType */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: return ts.createParenthesizedType(member); } return parenthesizeConditionalTypeMember(member); @@ -56169,9 +56467,9 @@ var ts; ts.parenthesizeElementTypeMember = parenthesizeElementTypeMember; function parenthesizeArrayTypeMember(member) { switch (member.kind) { - case 164 /* TypeQuery */: - case 174 /* TypeOperator */: - case 171 /* InferType */: + case 165 /* TypeQuery */: + case 175 /* TypeOperator */: + case 172 /* InferType */: return ts.createParenthesizedType(member); } return parenthesizeElementTypeMember(member); @@ -56197,25 +56495,25 @@ var ts; function getLeftmostExpression(node, stopAtCallExpressions) { while (true) { switch (node.kind) { - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: node = node.operand; continue; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: node = node.left; continue; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: node = node.condition; continue; - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (stopAtCallExpressions) { return node; } // falls through - case 185 /* ElementAccessExpression */: - case 184 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: + case 185 /* PropertyAccessExpression */: node = node.expression; continue; - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: node = node.expression; continue; } @@ -56223,7 +56521,7 @@ var ts; } } function parenthesizeConciseBody(body) { - if (!ts.isBlock(body) && getLeftmostExpression(body, /*stopAtCallExpressions*/ false).kind === 183 /* ObjectLiteralExpression */) { + if (!ts.isBlock(body) && getLeftmostExpression(body, /*stopAtCallExpressions*/ false).kind === 184 /* ObjectLiteralExpression */) { return ts.setTextRange(ts.createParen(body), body); } return body; @@ -56239,13 +56537,13 @@ var ts; function isOuterExpression(node, kinds) { if (kinds === void 0) { kinds = 7 /* All */; } switch (node.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return (kinds & 1 /* Parentheses */) !== 0; - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: - case 208 /* NonNullExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: + case 209 /* NonNullExpression */: return (kinds & 2 /* Assertions */) !== 0; - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: return (kinds & 4 /* PartiallyEmittedExpressions */) !== 0; } return false; @@ -56270,7 +56568,7 @@ var ts; } ts.skipOuterExpressions = skipOuterExpressions; function skipAssertions(node) { - while (ts.isAssertionExpression(node) || node.kind === 208 /* NonNullExpression */) { + while (ts.isAssertionExpression(node) || node.kind === 209 /* NonNullExpression */) { node = node.expression; } return node; @@ -56278,11 +56576,11 @@ var ts; ts.skipAssertions = skipAssertions; function updateOuterExpression(outerExpression, expression) { switch (outerExpression.kind) { - case 190 /* ParenthesizedExpression */: return ts.updateParen(outerExpression, expression); - case 189 /* TypeAssertionExpression */: return ts.updateTypeAssertion(outerExpression, outerExpression.type, expression); - case 207 /* AsExpression */: return ts.updateAsExpression(outerExpression, expression, outerExpression.type); - case 208 /* NonNullExpression */: return ts.updateNonNullExpression(outerExpression, expression); - case 300 /* PartiallyEmittedExpression */: return ts.updatePartiallyEmittedExpression(outerExpression, expression); + case 191 /* ParenthesizedExpression */: return ts.updateParen(outerExpression, expression); + case 190 /* TypeAssertionExpression */: return ts.updateTypeAssertion(outerExpression, outerExpression.type, expression); + case 208 /* AsExpression */: return ts.updateAsExpression(outerExpression, expression, outerExpression.type); + case 209 /* NonNullExpression */: return ts.updateNonNullExpression(outerExpression, expression); + case 301 /* PartiallyEmittedExpression */: return ts.updatePartiallyEmittedExpression(outerExpression, expression); } } /** @@ -56300,7 +56598,7 @@ var ts; * the containing expression is created/updated. */ function isIgnorableParen(node) { - return node.kind === 190 /* ParenthesizedExpression */ + return node.kind === 191 /* ParenthesizedExpression */ && ts.nodeIsSynthesized(node) && ts.nodeIsSynthesized(ts.getSourceMapRange(node)) && ts.nodeIsSynthesized(ts.getCommentRange(node)) @@ -56365,10 +56663,10 @@ var ts; var name = namespaceDeclaration.name; return ts.isGeneratedIdentifier(name) ? name : ts.createIdentifier(ts.getSourceTextOfNodeFromSourceFile(sourceFile, name) || ts.idText(name)); } - if (node.kind === 243 /* ImportDeclaration */ && node.importClause) { + if (node.kind === 244 /* ImportDeclaration */ && node.importClause) { return ts.getGeneratedNameForNode(node); } - if (node.kind === 249 /* ExportDeclaration */ && node.moduleSpecifier) { + if (node.kind === 250 /* ExportDeclaration */ && node.moduleSpecifier) { return ts.getGeneratedNameForNode(node); } return undefined; @@ -56383,7 +56681,7 @@ var ts; * Otherwise, a new StringLiteral node representing the module name will be returned. */ function getExternalModuleNameLiteral(importNode, sourceFile, host, resolver, compilerOptions) { - var moduleName = ts.getExternalModuleName(importNode); + var moduleName = ts.getExternalModuleName(importNode); // TODO: GH#18217 if (moduleName.kind === 9 /* StringLiteral */) { return tryGetModuleNameFromDeclaration(importNode, host, resolver, compilerOptions) || tryRenameExternalModule(moduleName, sourceFile) @@ -56441,8 +56739,9 @@ var ts; // `1` in `({ a: b = 1 } = ...)` // `1` in `({ a: {b} = 1 } = ...)` // `1` in `({ a: [b] = 1 } = ...)` - return ts.isAssignmentExpression(bindingElement.initializer, /*excludeCompoundAssignment*/ true) - ? bindingElement.initializer.right + var initializer = bindingElement.initializer; + return ts.isAssignmentExpression(initializer, /*excludeCompoundAssignment*/ true) + ? initializer.right : undefined; } if (ts.isShorthandPropertyAssignment(bindingElement)) { @@ -56486,7 +56785,7 @@ var ts; } if (ts.isObjectLiteralElementLike(bindingElement)) { switch (bindingElement.kind) { - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: // `b` in `({ a: b } = ...)` // `b` in `({ a: b = 1 } = ...)` // `{b}` in `({ a: {b} } = ...)` @@ -56498,11 +56797,11 @@ var ts; // `b[0]` in `({ a: b[0] } = ...)` // `b[0]` in `({ a: b[0] = 1 } = ...)` return getTargetOfBindingOrAssignmentElement(bindingElement.initializer); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: // `a` in `({ a } = ...)` // `a` in `({ a = 1 } = ...)` return bindingElement.name; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: // `a` in `({ ...a } = ...)` return getTargetOfBindingOrAssignmentElement(bindingElement.expression); } @@ -56534,12 +56833,12 @@ var ts; */ function getRestIndicatorOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 148 /* Parameter */: - case 181 /* BindingElement */: + case 149 /* Parameter */: + case 182 /* BindingElement */: // `...` in `let [...a] = ...` return bindingElement.dotDotDotToken; - case 203 /* SpreadElement */: - case 271 /* SpreadAssignment */: + case 204 /* SpreadElement */: + case 272 /* SpreadAssignment */: // `...` in `[...a] = ...` return bindingElement; } @@ -56551,7 +56850,7 @@ var ts; */ function getPropertyNameOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 181 /* BindingElement */: + case 182 /* BindingElement */: // `a` in `let { a: b } = ...` // `[a]` in `let { [a]: b } = ...` // `"a"` in `let { "a": b } = ...` @@ -56563,7 +56862,7 @@ var ts; : propertyName; } break; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: // `a` in `({ a: b } = ...)` // `[a]` in `({ [a]: b } = ...)` // `"a"` in `({ "a": b } = ...)` @@ -56575,7 +56874,7 @@ var ts; : propertyName; } break; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: // `a` in `({ ...a } = ...)` return bindingElement.name; } @@ -56593,13 +56892,13 @@ var ts; */ function getElementsOfBindingOrAssignmentPattern(name) { switch (name.kind) { - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: - case 182 /* ArrayLiteralExpression */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: + case 183 /* ArrayLiteralExpression */: // `a` in `{a}` // `a` in `[a]` return name.elements; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: // `a` in `{a}` return name.properties; } @@ -56639,11 +56938,11 @@ var ts; ts.convertToObjectAssignmentElement = convertToObjectAssignmentElement; function convertToAssignmentPattern(node) { switch (node.kind) { - case 180 /* ArrayBindingPattern */: - case 182 /* ArrayLiteralExpression */: + case 181 /* ArrayBindingPattern */: + case 183 /* ArrayLiteralExpression */: return convertToArrayAssignmentPattern(node); - case 179 /* ObjectBindingPattern */: - case 183 /* ObjectLiteralExpression */: + case 180 /* ObjectBindingPattern */: + case 184 /* ObjectLiteralExpression */: return convertToObjectAssignmentPattern(node); } } @@ -56804,272 +57103,272 @@ var ts; } var kind = node.kind; // No need to visit nodes with no children. - if ((kind > 0 /* FirstToken */ && kind <= 144 /* LastToken */) || kind === 173 /* ThisType */) { + if ((kind > 0 /* FirstToken */ && kind <= 145 /* LastToken */) || kind === 174 /* ThisType */) { return node; } switch (kind) { // Names case 71 /* Identifier */: return ts.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, isTypeNodeOrTypeParameterDeclaration)); - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return ts.updateQualifiedName(node, visitNode(node.left, visitor, ts.isEntityName), visitNode(node.right, visitor, ts.isIdentifier)); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return ts.updateComputedPropertyName(node, visitNode(node.expression, visitor, ts.isExpression)); // Signature elements - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return ts.updateTypeParameterDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.constraint, visitor, ts.isTypeNode), visitNode(node.default, visitor, ts.isTypeNode)); - case 148 /* Parameter */: + case 149 /* Parameter */: return ts.updateParameter(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); - case 149 /* Decorator */: + case 150 /* Decorator */: return ts.updateDecorator(node, visitNode(node.expression, visitor, ts.isExpression)); // Type elements - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: return ts.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return ts.updateProperty(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); - case 152 /* MethodSignature */: + case 153 /* MethodSignature */: return ts.updateMethodSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken)); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return ts.updateMethod(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.questionToken, tokenVisitor, ts.isToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); - case 154 /* Constructor */: + case 155 /* Constructor */: return ts.updateConstructor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: return ts.updateGetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return ts.updateSetAccessor(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context)); - case 157 /* CallSignature */: + case 158 /* CallSignature */: return ts.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: return ts.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: return ts.updateIndexSignature(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); // Types - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return ts.updateTypePredicateNode(node, visitNode(node.parameterName, visitor), visitNode(node.type, visitor, ts.isTypeNode)); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return ts.updateTypeReferenceNode(node, visitNode(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); - case 162 /* FunctionType */: + case 163 /* FunctionType */: return ts.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 163 /* ConstructorType */: + case 164 /* ConstructorType */: return ts.updateConstructorTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return ts.updateTypeQueryNode(node, visitNode(node.exprName, visitor, ts.isEntityName)); - case 165 /* TypeLiteral */: + case 166 /* TypeLiteral */: return ts.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return ts.updateArrayTypeNode(node, visitNode(node.elementType, visitor, ts.isTypeNode)); - case 167 /* TupleType */: + case 168 /* TupleType */: return ts.updateTypleTypeNode(node, nodesVisitor(node.elementTypes, visitor, ts.isTypeNode)); - case 168 /* UnionType */: + case 169 /* UnionType */: return ts.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); - case 169 /* IntersectionType */: + case 170 /* IntersectionType */: return ts.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return ts.updateConditionalTypeNode(node, visitNode(node.checkType, visitor, ts.isTypeNode), visitNode(node.extendsType, visitor, ts.isTypeNode), visitNode(node.trueType, visitor, ts.isTypeNode), visitNode(node.falseType, visitor, ts.isTypeNode)); - case 171 /* InferType */: + case 172 /* InferType */: return ts.updateInferTypeNode(node, visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration)); - case 178 /* ImportType */: + case 179 /* ImportType */: return ts.updateImportTypeNode(node, visitNode(node.argument, visitor, ts.isTypeNode), visitNode(node.qualifier, visitor, ts.isEntityName), visitNodes(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return ts.updateParenthesizedType(node, visitNode(node.type, visitor, ts.isTypeNode)); - case 174 /* TypeOperator */: + case 175 /* TypeOperator */: return ts.updateTypeOperatorNode(node, visitNode(node.type, visitor, ts.isTypeNode)); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return ts.updateIndexedAccessTypeNode(node, visitNode(node.objectType, visitor, ts.isTypeNode), visitNode(node.indexType, visitor, ts.isTypeNode)); - case 176 /* MappedType */: + case 177 /* MappedType */: return ts.updateMappedTypeNode(node, visitNode(node.readonlyToken, tokenVisitor, ts.isToken), visitNode(node.typeParameter, visitor, ts.isTypeParameterDeclaration), visitNode(node.questionToken, tokenVisitor, ts.isToken), visitNode(node.type, visitor, ts.isTypeNode)); - case 177 /* LiteralType */: + case 178 /* LiteralType */: return ts.updateLiteralTypeNode(node, visitNode(node.literal, visitor, ts.isExpression)); // Binding patterns - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: return ts.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement)); - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: return ts.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement)); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return ts.updateBindingElement(node, visitNode(node.dotDotDotToken, tokenVisitor, ts.isToken), visitNode(node.propertyName, visitor, ts.isPropertyName), visitNode(node.name, visitor, ts.isBindingName), visitNode(node.initializer, visitor, ts.isExpression)); // Expression - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return ts.updateArrayLiteral(node, nodesVisitor(node.elements, visitor, ts.isExpression)); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return ts.updateObjectLiteral(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike)); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return ts.updatePropertyAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.name, visitor, ts.isIdentifier)); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return ts.updateElementAccess(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.argumentExpression, visitor, ts.isExpression)); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return ts.updateCall(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return ts.updateNew(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return ts.updateTaggedTemplate(node, visitNode(node.tag, visitor, ts.isExpression), visitNodes(node.typeArguments, visitor, ts.isExpression), visitNode(node.template, visitor, ts.isTemplateLiteral)); - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: return ts.updateTypeAssertion(node, visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return ts.updateParen(node, visitNode(node.expression, visitor, ts.isExpression)); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return ts.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return ts.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.equalsGreaterThanToken, visitor, ts.isToken), visitFunctionBody(node.body, visitor, context)); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return ts.updateDelete(node, visitNode(node.expression, visitor, ts.isExpression)); - case 194 /* TypeOfExpression */: + case 195 /* TypeOfExpression */: return ts.updateTypeOf(node, visitNode(node.expression, visitor, ts.isExpression)); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return ts.updateVoid(node, visitNode(node.expression, visitor, ts.isExpression)); - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return ts.updateAwait(node, visitNode(node.expression, visitor, ts.isExpression)); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return ts.updatePrefix(node, visitNode(node.operand, visitor, ts.isExpression)); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return ts.updatePostfix(node, visitNode(node.operand, visitor, ts.isExpression)); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return ts.updateBinary(node, visitNode(node.left, visitor, ts.isExpression), visitNode(node.right, visitor, ts.isExpression), visitNode(node.operatorToken, visitor, ts.isToken)); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return ts.updateConditional(node, visitNode(node.condition, visitor, ts.isExpression), visitNode(node.questionToken, visitor, ts.isToken), visitNode(node.whenTrue, visitor, ts.isExpression), visitNode(node.colonToken, visitor, ts.isToken), visitNode(node.whenFalse, visitor, ts.isExpression)); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return ts.updateTemplateExpression(node, visitNode(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan)); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return ts.updateYield(node, visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.expression, visitor, ts.isExpression)); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return ts.updateSpread(node, visitNode(node.expression, visitor, ts.isExpression)); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return ts.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return ts.updateExpressionWithTypeArguments(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.expression, visitor, ts.isExpression)); - case 207 /* AsExpression */: + case 208 /* AsExpression */: return ts.updateAsExpression(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.type, visitor, ts.isTypeNode)); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: return ts.updateNonNullExpression(node, visitNode(node.expression, visitor, ts.isExpression)); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return ts.updateMetaProperty(node, visitNode(node.name, visitor, ts.isIdentifier)); // Misc - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return ts.updateTemplateSpan(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail)); // Element - case 212 /* Block */: + case 213 /* Block */: return ts.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return ts.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.declarationList, visitor, ts.isVariableDeclarationList)); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return ts.updateStatement(node, visitNode(node.expression, visitor, ts.isExpression)); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return ts.updateIf(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.thenStatement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.elseStatement, visitor, ts.isStatement, ts.liftToBlock)); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return ts.updateDo(node, visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock), visitNode(node.expression, visitor, ts.isExpression)); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return ts.updateWhile(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return ts.updateFor(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.condition, visitor, ts.isExpression), visitNode(node.incrementor, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return ts.updateForIn(node, visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return ts.updateForOf(node, visitNode(node.awaitModifier, visitor, ts.isToken), visitNode(node.initializer, visitor, ts.isForInitializer), visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 222 /* ContinueStatement */: + case 223 /* ContinueStatement */: return ts.updateContinue(node, visitNode(node.label, visitor, ts.isIdentifier)); - case 223 /* BreakStatement */: + case 224 /* BreakStatement */: return ts.updateBreak(node, visitNode(node.label, visitor, ts.isIdentifier)); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return ts.updateReturn(node, visitNode(node.expression, visitor, ts.isExpression)); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return ts.updateWith(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return ts.updateSwitch(node, visitNode(node.expression, visitor, ts.isExpression), visitNode(node.caseBlock, visitor, ts.isCaseBlock)); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return ts.updateLabel(node, visitNode(node.label, visitor, ts.isIdentifier), visitNode(node.statement, visitor, ts.isStatement, ts.liftToBlock)); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return ts.updateThrow(node, visitNode(node.expression, visitor, ts.isExpression)); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return ts.updateTry(node, visitNode(node.tryBlock, visitor, ts.isBlock), visitNode(node.catchClause, visitor, ts.isCatchClause), visitNode(node.finallyBlock, visitor, ts.isBlock)); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return ts.updateVariableDeclaration(node, visitNode(node.name, visitor, ts.isBindingName), visitNode(node.type, visitor, ts.isTypeNode), visitNode(node.initializer, visitor, ts.isExpression)); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return ts.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration)); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return ts.updateFunctionDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.asteriskToken, tokenVisitor, ts.isToken), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitNode(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context)); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return ts.updateClassDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return ts.updateInterfaceDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return ts.updateTypeAliasDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitNode(node.type, visitor, ts.isTypeNode)); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return ts.updateEnumDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember)); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return ts.updateModuleDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.body, visitor, ts.isModuleBody)); - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return ts.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return ts.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause)); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return ts.updateNamespaceExportDeclaration(node, visitNode(node.name, visitor, ts.isIdentifier)); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return ts.updateImportEqualsDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.moduleReference, visitor, ts.isModuleReference)); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return ts.updateImportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.importClause, visitor, ts.isImportClause), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return ts.updateImportClause(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.namedBindings, visitor, ts.isNamedImportBindings)); - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return ts.updateNamespaceImport(node, visitNode(node.name, visitor, ts.isIdentifier)); - case 246 /* NamedImports */: + case 247 /* NamedImports */: return ts.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier)); - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: return ts.updateImportSpecifier(node, visitNode(node.propertyName, visitor, ts.isIdentifier), visitNode(node.name, visitor, ts.isIdentifier)); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return ts.updateExportAssignment(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.expression, visitor, ts.isExpression)); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return ts.updateExportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitNode(node.exportClause, visitor, ts.isNamedExports), visitNode(node.moduleSpecifier, visitor, ts.isExpression)); - case 250 /* NamedExports */: + case 251 /* NamedExports */: return ts.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier)); - case 251 /* ExportSpecifier */: + case 252 /* ExportSpecifier */: return ts.updateExportSpecifier(node, visitNode(node.propertyName, visitor, ts.isIdentifier), visitNode(node.name, visitor, ts.isIdentifier)); // Module references - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: return ts.updateExternalModuleReference(node, visitNode(node.expression, visitor, ts.isExpression)); // JSX - case 254 /* JsxElement */: + case 255 /* JsxElement */: return ts.updateJsxElement(node, visitNode(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), visitNode(node.closingElement, visitor, ts.isJsxClosingElement)); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return ts.updateJsxSelfClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); - case 256 /* JsxOpeningElement */: + case 257 /* JsxOpeningElement */: return ts.updateJsxOpeningElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), visitNode(node.attributes, visitor, ts.isJsxAttributes)); - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: return ts.updateJsxClosingElement(node, visitNode(node.tagName, visitor, ts.isJsxTagNameExpression)); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return ts.updateJsxFragment(node, visitNode(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), visitNode(node.closingFragment, visitor, ts.isJsxClosingFragment)); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return ts.updateJsxAttribute(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.initializer, visitor, ts.isStringLiteralOrJsxExpression)); - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return ts.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike)); - case 263 /* JsxSpreadAttribute */: + case 264 /* JsxSpreadAttribute */: return ts.updateJsxSpreadAttribute(node, visitNode(node.expression, visitor, ts.isExpression)); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return ts.updateJsxExpression(node, visitNode(node.expression, visitor, ts.isExpression)); // Clauses - case 265 /* CaseClause */: + case 266 /* CaseClause */: return ts.updateCaseClause(node, visitNode(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement)); - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: return ts.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: return ts.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments)); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return ts.updateCatchClause(node, visitNode(node.variableDeclaration, visitor, ts.isVariableDeclaration), visitNode(node.block, visitor, ts.isBlock)); // Property assignments - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return ts.updatePropertyAssignment(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return ts.updateShorthandPropertyAssignment(node, visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.objectAssignmentInitializer, visitor, ts.isExpression)); - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: return ts.updateSpreadAssignment(node, visitNode(node.expression, visitor, ts.isExpression)); // Enum - case 272 /* EnumMember */: + case 273 /* EnumMember */: return ts.updateEnumMember(node, visitNode(node.name, visitor, ts.isPropertyName), visitNode(node.initializer, visitor, ts.isExpression)); // Top-level nodes - case 273 /* SourceFile */: + case 274 /* SourceFile */: return ts.updateSourceFileNode(node, visitLexicalEnvironment(node.statements, visitor, context)); // Transformation nodes - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: return ts.updatePartiallyEmittedExpression(node, visitNode(node.expression, visitor, ts.isExpression)); - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: return ts.updateCommaList(node, nodesVisitor(node.elements, visitor, ts.isExpression)); default: // No need to visit nodes with no children. @@ -57111,58 +57410,58 @@ var ts; var cbNodes = cbNodeArray || cbNode; var kind = node.kind; // No need to visit nodes with no children. - if ((kind > 0 /* FirstToken */ && kind <= 144 /* LastToken */)) { + if ((kind > 0 /* FirstToken */ && kind <= 145 /* LastToken */)) { return initial; } // We do not yet support types. - if ((kind >= 160 /* TypePredicate */ && kind <= 177 /* LiteralType */)) { + if ((kind >= 161 /* TypePredicate */ && kind <= 178 /* LiteralType */)) { return initial; } var result = initial; switch (node.kind) { // Leaf nodes - case 211 /* SemicolonClassElement */: - case 214 /* EmptyStatement */: - case 205 /* OmittedExpression */: - case 230 /* DebuggerStatement */: - case 299 /* NotEmittedStatement */: + case 212 /* SemicolonClassElement */: + case 215 /* EmptyStatement */: + case 206 /* OmittedExpression */: + case 231 /* DebuggerStatement */: + case 300 /* NotEmittedStatement */: // No need to visit nodes with no children. break; // Names - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: result = reduceNode(node.left, cbNode, result); result = reduceNode(node.right, cbNode, result); break; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: result = reduceNode(node.expression, cbNode, result); break; // Signature elements - case 148 /* Parameter */: + case 149 /* Parameter */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 149 /* Decorator */: + case 150 /* Decorator */: result = reduceNode(node.expression, cbNode, result); break; // Type member - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.questionToken, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57171,12 +57470,12 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 154 /* Constructor */: + case 155 /* Constructor */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNodes(node.parameters, cbNodes, result); result = reduceNode(node.body, cbNode, result); break; - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57184,7 +57483,7 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57192,49 +57491,49 @@ var ts; result = reduceNode(node.body, cbNode, result); break; // Binding patterns - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: result = reduceNodes(node.elements, cbNodes, result); break; - case 181 /* BindingElement */: + case 182 /* BindingElement */: result = reduceNode(node.propertyName, cbNode, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; // Expression - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: result = reduceNodes(node.elements, cbNodes, result); break; - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: result = reduceNodes(node.properties, cbNodes, result); break; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.name, cbNode, result); break; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.argumentExpression, cbNode, result); break; - case 186 /* CallExpression */: + case 187 /* CallExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNodes(node.typeArguments, cbNodes, result); result = reduceNodes(node.arguments, cbNodes, result); break; - case 187 /* NewExpression */: + case 188 /* NewExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNodes(node.typeArguments, cbNodes, result); result = reduceNodes(node.arguments, cbNodes, result); break; - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: result = reduceNode(node.tag, cbNode, result); result = reduceNode(node.template, cbNode, result); break; - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: result = reduceNode(node.type, cbNode, result); result = reduceNode(node.expression, cbNode, result); break; - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.typeParameters, cbNodes, result); @@ -57242,123 +57541,123 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNodes(node.typeParameters, cbNodes, result); result = reduceNodes(node.parameters, cbNodes, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 190 /* ParenthesizedExpression */: - case 193 /* DeleteExpression */: - case 194 /* TypeOfExpression */: - case 195 /* VoidExpression */: - case 196 /* AwaitExpression */: - case 202 /* YieldExpression */: - case 203 /* SpreadElement */: - case 208 /* NonNullExpression */: + case 191 /* ParenthesizedExpression */: + case 194 /* DeleteExpression */: + case 195 /* TypeOfExpression */: + case 196 /* VoidExpression */: + case 197 /* AwaitExpression */: + case 203 /* YieldExpression */: + case 204 /* SpreadElement */: + case 209 /* NonNullExpression */: result = reduceNode(node.expression, cbNode, result); break; - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: result = reduceNode(node.operand, cbNode, result); break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: result = reduceNode(node.left, cbNode, result); result = reduceNode(node.right, cbNode, result); break; - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: result = reduceNode(node.condition, cbNode, result); result = reduceNode(node.whenTrue, cbNode, result); result = reduceNode(node.whenFalse, cbNode, result); break; - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: result = reduceNode(node.head, cbNode, result); result = reduceNodes(node.templateSpans, cbNodes, result); break; - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.typeParameters, cbNodes, result); result = reduceNodes(node.heritageClauses, cbNodes, result); result = reduceNodes(node.members, cbNodes, result); break; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: result = reduceNode(node.expression, cbNode, result); result = reduceNodes(node.typeArguments, cbNodes, result); break; - case 207 /* AsExpression */: + case 208 /* AsExpression */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.type, cbNode, result); break; // Misc - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.literal, cbNode, result); break; // Element - case 212 /* Block */: + case 213 /* Block */: result = reduceNodes(node.statements, cbNodes, result); break; - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.declarationList, cbNode, result); break; - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: result = reduceNode(node.expression, cbNode, result); break; - case 216 /* IfStatement */: + case 217 /* IfStatement */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.thenStatement, cbNode, result); result = reduceNode(node.elseStatement, cbNode, result); break; - case 217 /* DoStatement */: + case 218 /* DoStatement */: result = reduceNode(node.statement, cbNode, result); result = reduceNode(node.expression, cbNode, result); break; - case 218 /* WhileStatement */: - case 225 /* WithStatement */: + case 219 /* WhileStatement */: + case 226 /* WithStatement */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 219 /* ForStatement */: + case 220 /* ForStatement */: result = reduceNode(node.initializer, cbNode, result); result = reduceNode(node.condition, cbNode, result); result = reduceNode(node.incrementor, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: result = reduceNode(node.initializer, cbNode, result); result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 224 /* ReturnStatement */: - case 228 /* ThrowStatement */: + case 225 /* ReturnStatement */: + case 229 /* ThrowStatement */: result = reduceNode(node.expression, cbNode, result); break; - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: result = reduceNode(node.expression, cbNode, result); result = reduceNode(node.caseBlock, cbNode, result); break; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: result = reduceNode(node.label, cbNode, result); result = reduceNode(node.statement, cbNode, result); break; - case 229 /* TryStatement */: + case 230 /* TryStatement */: result = reduceNode(node.tryBlock, cbNode, result); result = reduceNode(node.catchClause, cbNode, result); result = reduceNode(node.finallyBlock, cbNode, result); break; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.type, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: result = reduceNodes(node.declarations, cbNodes, result); break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57367,7 +57666,7 @@ var ts; result = reduceNode(node.type, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); @@ -57375,139 +57674,139 @@ var ts; result = reduceNodes(node.heritageClauses, cbNodes, result); result = reduceNodes(node.members, cbNodes, result); break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNodes(node.members, cbNodes, result); break; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.body, cbNode, result); break; - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: result = reduceNodes(node.statements, cbNodes, result); break; - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: result = reduceNodes(node.clauses, cbNodes, result); break; - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.name, cbNode, result); result = reduceNode(node.moduleReference, cbNode, result); break; - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: result = reduceNodes(node.decorators, cbNodes, result); result = reduceNodes(node.modifiers, cbNodes, result); result = reduceNode(node.importClause, cbNode, result); result = reduceNode(node.moduleSpecifier, cbNode, result); break; - case 244 /* ImportClause */: + case 245 /* ImportClause */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.namedBindings, cbNode, result); break; - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: result = reduceNode(node.name, cbNode, result); break; - case 246 /* NamedImports */: - case 250 /* NamedExports */: + case 247 /* NamedImports */: + case 251 /* NamedExports */: result = reduceNodes(node.elements, cbNodes, result); break; - case 247 /* ImportSpecifier */: - case 251 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 252 /* ExportSpecifier */: result = reduceNode(node.propertyName, cbNode, result); result = reduceNode(node.name, cbNode, result); break; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: result = ts.reduceLeft(node.decorators, cbNode, result); result = ts.reduceLeft(node.modifiers, cbNode, result); result = reduceNode(node.expression, cbNode, result); break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: result = ts.reduceLeft(node.decorators, cbNode, result); result = ts.reduceLeft(node.modifiers, cbNode, result); result = reduceNode(node.exportClause, cbNode, result); result = reduceNode(node.moduleSpecifier, cbNode, result); break; // Module references - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: result = reduceNode(node.expression, cbNode, result); break; // JSX - case 254 /* JsxElement */: + case 255 /* JsxElement */: result = reduceNode(node.openingElement, cbNode, result); result = ts.reduceLeft(node.children, cbNode, result); result = reduceNode(node.closingElement, cbNode, result); break; - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: result = reduceNode(node.openingFragment, cbNode, result); result = ts.reduceLeft(node.children, cbNode, result); result = reduceNode(node.closingFragment, cbNode, result); break; - case 255 /* JsxSelfClosingElement */: - case 256 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: result = reduceNode(node.tagName, cbNode, result); result = reduceNode(node.attributes, cbNode, result); break; - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: result = reduceNodes(node.properties, cbNodes, result); break; - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: result = reduceNode(node.tagName, cbNode, result); break; - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 263 /* JsxSpreadAttribute */: + case 264 /* JsxSpreadAttribute */: result = reduceNode(node.expression, cbNode, result); break; - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: result = reduceNode(node.expression, cbNode, result); break; // Clauses - case 265 /* CaseClause */: + case 266 /* CaseClause */: result = reduceNode(node.expression, cbNode, result); // falls through - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: result = reduceNodes(node.statements, cbNodes, result); break; - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: result = reduceNodes(node.types, cbNodes, result); break; - case 268 /* CatchClause */: + case 269 /* CatchClause */: result = reduceNode(node.variableDeclaration, cbNode, result); result = reduceNode(node.block, cbNode, result); break; // Property assignments - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.objectAssignmentInitializer, cbNode, result); break; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: result = reduceNode(node.expression, cbNode, result); break; // Enum - case 272 /* EnumMember */: + case 273 /* EnumMember */: result = reduceNode(node.name, cbNode, result); result = reduceNode(node.initializer, cbNode, result); break; // Top-level nodes - case 273 /* SourceFile */: + case 274 /* SourceFile */: result = reduceNodes(node.statements, cbNodes, result); break; // Transformation nodes - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: result = reduceNode(node.expression, cbNode, result); break; - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: result = reduceNodes(node.elements, cbNodes, result); break; default: @@ -57521,8 +57820,8 @@ var ts; return statements; } return ts.isNodeArray(statements) - ? ts.setTextRange(ts.createNodeArray(ts.concatenate(declarations, statements)), statements) - : ts.prependRange(statements, declarations); + ? ts.setTextRange(ts.createNodeArray(ts.prependStatements(statements.slice(), declarations)), statements) + : ts.prependStatements(statements, declarations); } ts.mergeLexicalEnvironment = mergeLexicalEnvironment; /** @@ -57580,7 +57879,7 @@ var ts; function aggregateTransformFlagsForSubtree(node) { // We do not transform ambient declarations or types, so there is no need to // recursively aggregate transform flags. - if (ts.hasModifier(node, 2 /* Ambient */) || (ts.isTypeNode(node) && node.kind !== 206 /* ExpressionWithTypeArguments */)) { + if (ts.hasModifier(node, 2 /* Ambient */) || (ts.isTypeNode(node) && node.kind !== 207 /* ExpressionWithTypeArguments */)) { return 0 /* None */; } // Aggregate the transform flags of each child. @@ -57630,7 +57929,7 @@ var ts; }); Object.defineProperties(ts.objectAllocator.getTypeConstructor().prototype, { __debugFlags: { get: function () { return ts.formatTypeFlags(this.flags); } }, - __debugObjectFlags: { get: function () { return this.flags & 65536 /* Object */ ? ts.formatObjectFlags(this.objectFlags) : ""; } }, + __debugObjectFlags: { get: function () { return this.flags & 131072 /* Object */ ? ts.formatObjectFlags(this.objectFlags) : ""; } }, __debugTypeToString: { value: function () { return this.checker.typeToString(this); } }, }); var nodeConstructors = [ @@ -57680,12 +57979,12 @@ var ts; return ts.some(node.elements, isNamedDefaultReference); } function isNamedDefaultReference(e) { - return e.propertyName && e.propertyName.escapedText === "default" /* Default */; + return e.propertyName !== undefined && e.propertyName.escapedText === "default" /* Default */; } function chainBundle(transformSourceFile) { return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - return node.kind === 273 /* SourceFile */ ? transformSourceFile(node) : transformBundle(node); + return node.kind === 274 /* SourceFile */ ? transformSourceFile(node) : transformBundle(node); } function transformBundle(node) { return ts.createBundle(ts.map(node.sourceFiles, transformSourceFile), node.prepends); @@ -57715,7 +58014,7 @@ var ts; ts.getImportNeedsImportStarHelper = getImportNeedsImportStarHelper; function getImportNeedsImportDefaultHelper(node) { // Import default is needed if there's a default import or a default ref and no other refs (meaning an import star helper wasn't requested) - return !getImportNeedsImportStarHelper(node) && (ts.isDefaultImport(node) || (node.importClause && ts.isNamedImports(node.importClause.namedBindings) && containsDefaultReference(node.importClause.namedBindings))); + return !getImportNeedsImportStarHelper(node) && (ts.isDefaultImport(node) || (!!node.importClause && ts.isNamedImports(node.importClause.namedBindings) && containsDefaultReference(node.importClause.namedBindings))); // TODO: GH#18217 } ts.getImportNeedsImportDefaultHelper = getImportNeedsImportDefaultHelper; function collectExternalModuleInfo(sourceFile, resolver, compilerOptions) { @@ -57731,7 +58030,7 @@ var ts; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var node = _a[_i]; switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: // import "mod" // import x from "mod" // import * as x from "mod" @@ -57739,13 +58038,13 @@ var ts; externalImports.push(node); hasImportStarOrImportDefault = hasImportStarOrImportDefault || getImportNeedsImportStarHelper(node) || getImportNeedsImportDefaultHelper(node); break; - case 242 /* ImportEqualsDeclaration */: - if (node.moduleReference.kind === 253 /* ExternalModuleReference */) { + case 243 /* ImportEqualsDeclaration */: + if (node.moduleReference.kind === 254 /* ExternalModuleReference */) { // import x = require("mod") externalImports.push(node); } break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: if (node.moduleSpecifier) { if (!node.exportClause) { // export * from "mod" @@ -57775,13 +58074,13 @@ var ts; } } break; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: if (node.isExportEquals && !exportEquals) { // export = x exportEquals = node; } break; - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: if (ts.hasModifier(node, 1 /* Export */)) { for (var _d = 0, _e = node.declarationList.declarations; _d < _e.length; _d++) { var decl = _e[_d]; @@ -57789,7 +58088,7 @@ var ts; } } break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: if (ts.hasModifier(node, 1 /* Export */)) { if (ts.hasModifier(node, 512 /* Default */)) { // export default function() { } @@ -57809,7 +58108,7 @@ var ts; } } break; - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: if (ts.hasModifier(node, 1 /* Export */)) { if (ts.hasModifier(node, 512 /* Default */)) { // export default class { } @@ -57942,7 +58241,7 @@ var ts; var flattenContext = { context: context, level: level, - downlevelIteration: context.getCompilerOptions().downlevelIteration, + downlevelIteration: !!context.getCompilerOptions().downlevelIteration, hoistTempVariables: true, emitExpression: emitExpression, emitBindingOrAssignment: emitBindingOrAssignment, @@ -58003,7 +58302,7 @@ var ts; } ts.flattenDestructuringAssignment = flattenDestructuringAssignment; function bindingOrAssignmentElementAssignsToName(element, escapedName) { - var target = ts.getTargetOfBindingOrAssignmentElement(element); + var target = ts.getTargetOfBindingOrAssignmentElement(element); // TODO: GH#18217 if (ts.isBindingOrAssignmentPattern(target)) { return bindingOrAssignmentPatternAssignsToName(target, escapedName); } @@ -58034,13 +58333,14 @@ var ts; * @param level Indicates the extent to which flattening should occur. */ function flattenDestructuringBinding(node, visitor, context, level, rval, hoistTempVariables, skipInitializer) { + if (hoistTempVariables === void 0) { hoistTempVariables = false; } var pendingExpressions; var pendingDeclarations = []; var declarations = []; var flattenContext = { context: context, level: level, - downlevelIteration: context.getCompilerOptions().downlevelIteration, + downlevelIteration: !!context.getCompilerOptions().downlevelIteration, hoistTempVariables: hoistTempVariables, emitExpression: emitExpression, emitBindingOrAssignment: emitBindingOrAssignment, @@ -58068,7 +58368,7 @@ var ts; } else { context.hoistVariableDeclaration(temp); - var pendingDeclaration = ts.lastOrUndefined(pendingDeclarations); + var pendingDeclaration = ts.last(pendingDeclarations); pendingDeclaration.pendingExpressions = ts.append(pendingDeclaration.pendingExpressions, ts.createAssignment(temp, pendingDeclaration.value)); ts.addRange(pendingDeclaration.pendingExpressions, pendingExpressions); pendingDeclaration.value = temp; @@ -58122,7 +58422,7 @@ var ts; value = ts.createVoidZero(); } } - var bindingTarget = ts.getTargetOfBindingOrAssignmentElement(element); + var bindingTarget = ts.getTargetOfBindingOrAssignmentElement(element); // TODO: GH#18217 if (ts.isObjectBindingOrAssignmentPattern(bindingTarget)) { flattenObjectBindingOrAssignmentPattern(flattenContext, element, bindingTarget, value, location); } @@ -58130,7 +58430,7 @@ var ts; flattenArrayBindingOrAssignmentPattern(flattenContext, element, bindingTarget, value, location); } else { - flattenContext.emitBindingOrAssignment(bindingTarget, value, location, /*original*/ element); + flattenContext.emitBindingOrAssignment(bindingTarget, value, location, /*original*/ element); // TODO: GH#18217 } } /** @@ -58182,7 +58482,7 @@ var ts; flattenContext.emitBindingOrAssignment(flattenContext.createObjectBindingOrAssignmentPattern(bindingElements), value, location, pattern); bindingElements = undefined; } - var rhsValue = createRestCall(flattenContext.context, value, elements, computedTempVariables, pattern); + var rhsValue = createRestCall(flattenContext.context, value, elements, computedTempVariables, pattern); // TODO: GH#18217 flattenBindingOrAssignmentElement(flattenContext, element, rhsValue, element); } } @@ -58424,8 +58724,8 @@ var ts; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; // Enable substitution for property/element access to emit const enum values. - context.enableSubstitution(184 /* PropertyAccessExpression */); - context.enableSubstitution(185 /* ElementAccessExpression */); + context.enableSubstitution(185 /* PropertyAccessExpression */); + context.enableSubstitution(186 /* ElementAccessExpression */); // These variables contain state that changes as we descend into the tree. var currentSourceFile; var currentNamespace; @@ -58454,14 +58754,14 @@ var ts; var pendingExpressions; return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - if (node.kind === 274 /* Bundle */) { + if (node.kind === 275 /* Bundle */) { return transformBundle(node); } return transformSourceFile(node); } function transformBundle(node) { return ts.createBundle(node.sourceFiles.map(transformSourceFile), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 276 /* InputFiles */) { + if (prepend.kind === 277 /* InputFiles */) { return ts.createUnparsedSourceFile(prepend.javascriptText); } return prepend; @@ -58508,15 +58808,15 @@ var ts; */ function onBeforeVisitNode(node) { switch (node.kind) { - case 273 /* SourceFile */: - case 240 /* CaseBlock */: - case 239 /* ModuleBlock */: - case 212 /* Block */: + case 274 /* SourceFile */: + case 241 /* CaseBlock */: + case 240 /* ModuleBlock */: + case 213 /* Block */: currentScope = node; currentScopeFirstDeclarationsOfName = undefined; break; - case 234 /* ClassDeclaration */: - case 233 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 234 /* FunctionDeclaration */: if (ts.hasModifier(node, 2 /* Ambient */)) { break; } @@ -58528,7 +58828,7 @@ var ts; // These nodes should always have names unless they are default-exports; // however, class declaration parsing allows for undefined names, so syntactically invalid // programs may also have an undefined name. - ts.Debug.assert(node.kind === 234 /* ClassDeclaration */ || ts.hasModifier(node, 512 /* Default */)); + ts.Debug.assert(node.kind === 235 /* ClassDeclaration */ || ts.hasModifier(node, 512 /* Default */)); } break; } @@ -58572,10 +58872,10 @@ var ts; */ function sourceElementVisitorWorker(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 248 /* ExportAssignment */: - case 249 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 249 /* ExportAssignment */: + case 250 /* ExportDeclaration */: return visitEllidableStatement(node); default: return visitorWorker(node); @@ -58596,13 +58896,13 @@ var ts; return node; } switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return visitImportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitExportAssignment(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return visitExportDeclaration(node); default: ts.Debug.fail("Unhandled ellided statement"); @@ -58622,11 +58922,11 @@ var ts; * @param node The node to visit. */ function namespaceElementVisitorWorker(node) { - if (node.kind === 249 /* ExportDeclaration */ || - node.kind === 243 /* ImportDeclaration */ || - node.kind === 244 /* ImportClause */ || - (node.kind === 242 /* ImportEqualsDeclaration */ && - node.moduleReference.kind === 253 /* ExternalModuleReference */)) { + if (node.kind === 250 /* ExportDeclaration */ || + node.kind === 244 /* ImportDeclaration */ || + node.kind === 245 /* ImportClause */ || + (node.kind === 243 /* ImportEqualsDeclaration */ && + node.moduleReference.kind === 254 /* ExternalModuleReference */)) { // do not emit ES6 imports and exports since they are illegal inside a namespace return undefined; } @@ -58656,19 +58956,19 @@ var ts; */ function classElementVisitorWorker(node) { switch (node.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: // TypeScript constructors are transformed in `visitClassDeclaration`. // We elide them here as `visitorWorker` checks transform flags, which could // erronously include an ES6 constructor without TypeScript syntax. return undefined; - case 151 /* PropertyDeclaration */: - case 159 /* IndexSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 153 /* MethodDeclaration */: + case 152 /* PropertyDeclaration */: + case 160 /* IndexSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 154 /* MethodDeclaration */: // Fallback to the default visit behavior. return visitorWorker(node); - case 211 /* SemicolonClassElement */: + case 212 /* SemicolonClassElement */: return node; default: return ts.Debug.failBadSyntaxKind(node); @@ -58707,52 +59007,53 @@ var ts; case 124 /* DeclareKeyword */: case 132 /* ReadonlyKeyword */: // TypeScript accessibility and readonly modifiers are elided. - case 166 /* ArrayType */: - case 167 /* TupleType */: - case 165 /* TypeLiteral */: - case 160 /* TypePredicate */: - case 147 /* TypeParameter */: + case 167 /* ArrayType */: + case 168 /* TupleType */: + case 166 /* TypeLiteral */: + case 161 /* TypePredicate */: + case 148 /* TypeParameter */: case 119 /* AnyKeyword */: + case 142 /* UnknownKeyword */: case 122 /* BooleanKeyword */: case 137 /* StringKeyword */: case 134 /* NumberKeyword */: case 131 /* NeverKeyword */: case 105 /* VoidKeyword */: case 138 /* SymbolKeyword */: - case 163 /* ConstructorType */: - case 162 /* FunctionType */: - case 164 /* TypeQuery */: - case 161 /* TypeReference */: - case 168 /* UnionType */: - case 169 /* IntersectionType */: - case 170 /* ConditionalType */: - case 172 /* ParenthesizedType */: - case 173 /* ThisType */: - case 174 /* TypeOperator */: - case 175 /* IndexedAccessType */: - case 176 /* MappedType */: - case 177 /* LiteralType */: + case 164 /* ConstructorType */: + case 163 /* FunctionType */: + case 165 /* TypeQuery */: + case 162 /* TypeReference */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: + case 171 /* ConditionalType */: + case 173 /* ParenthesizedType */: + case 174 /* ThisType */: + case 175 /* TypeOperator */: + case 176 /* IndexedAccessType */: + case 177 /* MappedType */: + case 178 /* LiteralType */: // TypeScript type nodes are elided. - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: // TypeScript index signatures are elided. - case 149 /* Decorator */: + case 150 /* Decorator */: // TypeScript decorators are elided. They will be emitted as part of visitClassDeclaration. - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: // TypeScript type-only declarations are elided. return undefined; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: // TypeScript property declarations are elided. However their names are still visited, and can potentially be retained if they could have sideeffects return visitPropertyDeclaration(node); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: // TypeScript namespace export declarations are elided. return undefined; - case 154 /* Constructor */: + case 155 /* Constructor */: return visitConstructor(node); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: // TypeScript interfaces are elided, but some comments may be preserved. // See the implementation of `getLeadingComments` in comments.ts for more details. return ts.createNotEmittedStatement(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: // This is a class declaration with TypeScript syntax extensions. // // TypeScript class syntax extensions include: @@ -58763,7 +59064,7 @@ var ts; // - index signatures // - method overload signatures return visitClassDeclaration(node); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: // This is a class expression with TypeScript syntax extensions. // // TypeScript class syntax extensions include: @@ -58774,35 +59075,35 @@ var ts; // - index signatures // - method overload signatures return visitClassExpression(node); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: // This is a heritage clause with TypeScript syntax extensions. // // TypeScript heritage clause extensions include: // - `implements` clause return visitHeritageClause(node); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: // TypeScript supports type arguments on an expression in an `extends` heritage clause. return visitExpressionWithTypeArguments(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: // TypeScript method declarations may have decorators, modifiers // or type annotations. return visitMethodDeclaration(node); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: // Get Accessors can have TypeScript modifiers, decorators, and type annotations. return visitGetAccessor(node); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: // Set Accessors can have TypeScript modifiers and type annotations. return visitSetAccessor(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: // Typescript function declarations can have modifiers, decorators, and type annotations. return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: // TypeScript function expressions can have modifiers and type annotations. return visitFunctionExpression(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: // TypeScript arrow functions can have modifiers and type annotations. return visitArrowFunction(node); - case 148 /* Parameter */: + case 149 /* Parameter */: // This is a parameter declaration with TypeScript syntax extensions. // // TypeScript parameter declaration syntax extensions include: @@ -58812,35 +59113,35 @@ var ts; // - type annotations // - this parameters return visitParameter(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: // ParenthesizedExpressions are TypeScript if their expression is a // TypeAssertion or AsExpression return visitParenthesizedExpression(node); - case 189 /* TypeAssertionExpression */: - case 207 /* AsExpression */: + case 190 /* TypeAssertionExpression */: + case 208 /* AsExpression */: // TypeScript type assertions are removed, but their subtrees are preserved. return visitAssertionExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return visitCallExpression(node); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return visitNewExpression(node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: // TypeScript non-null expressions are removed, but their subtrees are preserved. return visitNonNullExpression(node); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: // TypeScript enum declarations do not exist in ES6 and must be rewritten. return visitEnumDeclaration(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: // TypeScript namespace exports for variable statements must be transformed. return visitVariableStatement(node); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return visitVariableDeclaration(node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: // TypeScript namespace declarations must be transformed. return visitModuleDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: // TypeScript namespace or external module import. return visitImportEqualsDeclaration(node); default: @@ -58849,7 +59150,8 @@ var ts; } function visitSourceFile(node) { var alwaysStrict = ts.getStrictOptionValue(compilerOptions, "alwaysStrict") && - !(ts.isExternalModule(node) && moduleKind >= ts.ModuleKind.ES2015); + !(ts.isExternalModule(node) && moduleKind >= ts.ModuleKind.ES2015) && + !ts.isJsonSourceFile(node); return ts.updateSourceFileNode(node, ts.visitLexicalEnvironment(node.statements, sourceElementVisitor, context, /*start*/ 0, alwaysStrict)); } /** @@ -58956,7 +59258,7 @@ var ts; statement.pos = closingBraceLocation.pos; ts.setEmitFlags(statement, 1536 /* NoComments */ | 384 /* NoTokenSourceMaps */); statements.push(statement); - ts.prependRange(statements, context.endLexicalEnvironment()); + ts.prependStatements(statements, context.endLexicalEnvironment()); var iife = ts.createImmediatelyInvokedArrowFunction(statements); ts.setEmitFlags(iife, 33554432 /* TypeScriptClassWrapper */); var varStatement = ts.createVariableStatement( @@ -59321,7 +59623,7 @@ var ts; return index; } var statement = statements[index]; - if (statement.kind === 215 /* ExpressionStatement */ && ts.isSuperCall(statement.expression)) { + if (statement.kind === 216 /* ExpressionStatement */ && ts.isSuperCall(statement.expression)) { result.push(ts.visitNode(statement, visitor, ts.isStatement)); return index + 1; } @@ -59392,7 +59694,7 @@ var ts; * @param isStatic A value indicating whether the member should be a static or instance member. */ function isInitializedProperty(member, isStatic) { - return member.kind === 151 /* PropertyDeclaration */ + return member.kind === 152 /* PropertyDeclaration */ && isStatic === ts.hasModifier(member, 32 /* Static */) && member.initializer !== undefined; } @@ -59530,12 +59832,12 @@ var ts; */ function getAllDecoratorsOfClassElement(node, member) { switch (member.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return getAllDecoratorsOfAccessors(node, member); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return getAllDecoratorsOfMethod(member); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return getAllDecoratorsOfProperty(member); default: return undefined; @@ -59688,7 +59990,7 @@ var ts; var prefix = getClassMemberPrefix(node, member); var memberName = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/ true); var descriptor = languageVersion > 0 /* ES3 */ - ? member.kind === 151 /* PropertyDeclaration */ + ? member.kind === 152 /* PropertyDeclaration */ // We emit `void 0` here to indicate to `__decorate` that it can invoke `Object.defineProperty` directly, but that it // should not invoke `Object.getOwnPropertyDescriptor`. ? ts.createVoidZero() @@ -59811,10 +60113,10 @@ var ts; */ function shouldAddTypeMetadata(node) { var kind = node.kind; - return kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */ - || kind === 151 /* PropertyDeclaration */; + return kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */ + || kind === 152 /* PropertyDeclaration */; } /** * Determines whether to emit the "design:returntype" metadata based on the node's kind. @@ -59824,7 +60126,7 @@ var ts; * @param node The node to test. */ function shouldAddReturnTypeMetadata(node) { - return node.kind === 153 /* MethodDeclaration */; + return node.kind === 154 /* MethodDeclaration */; } /** * Determines whether to emit the "design:paramtypes" metadata based on the node's kind. @@ -59835,12 +60137,12 @@ var ts; */ function shouldAddParamTypesMetadata(node) { switch (node.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return ts.getFirstConstructorWithBody(node) !== undefined; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return true; } return false; @@ -59852,15 +60154,15 @@ var ts; */ function serializeTypeOfNode(node) { switch (node.kind) { - case 151 /* PropertyDeclaration */: - case 148 /* Parameter */: - case 155 /* GetAccessor */: + case 152 /* PropertyDeclaration */: + case 149 /* Parameter */: + case 156 /* GetAccessor */: return serializeTypeNode(node.type); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return serializeTypeNode(ts.getSetAccessorTypeAnnotationNode(node)); - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 153 /* MethodDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 154 /* MethodDeclaration */: return ts.createIdentifier("Function"); default: return ts.createVoidZero(); @@ -59897,7 +60199,7 @@ var ts; return ts.createArrayLiteral(expressions); } function getParametersOfDecoratedDeclaration(node, container) { - if (container && node.kind === 155 /* GetAccessor */) { + if (container && node.kind === 156 /* GetAccessor */) { var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor; if (setAccessor) { return setAccessor.parameters; @@ -59947,22 +60249,22 @@ var ts; case 95 /* NullKeyword */: case 131 /* NeverKeyword */: return ts.createVoidZero(); - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return serializeTypeNode(node.type); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: return ts.createIdentifier("Function"); - case 166 /* ArrayType */: - case 167 /* TupleType */: + case 167 /* ArrayType */: + case 168 /* TupleType */: return ts.createIdentifier("Array"); - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: case 122 /* BooleanKeyword */: return ts.createIdentifier("Boolean"); case 137 /* StringKeyword */: return ts.createIdentifier("String"); case 135 /* ObjectKeyword */: return ts.createIdentifier("Object"); - case 177 /* LiteralType */: + case 178 /* LiteralType */: switch (node.literal.kind) { case 9 /* StringLiteral */: return ts.createIdentifier("String"); @@ -59980,18 +60282,19 @@ var ts; return languageVersion < 2 /* ES2015 */ ? getGlobalSymbolNameWithFallback() : ts.createIdentifier("Symbol"); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return serializeTypeReferenceNode(node); - case 169 /* IntersectionType */: - case 168 /* UnionType */: + case 170 /* IntersectionType */: + case 169 /* UnionType */: return serializeUnionOrIntersectionType(node); - case 164 /* TypeQuery */: - case 174 /* TypeOperator */: - case 175 /* IndexedAccessType */: - case 176 /* MappedType */: - case 165 /* TypeLiteral */: + case 165 /* TypeQuery */: + case 175 /* TypeOperator */: + case 176 /* IndexedAccessType */: + case 177 /* MappedType */: + case 166 /* TypeLiteral */: case 119 /* AnyKeyword */: - case 173 /* ThisType */: + case 142 /* UnknownKeyword */: + case 174 /* ThisType */: break; default: return ts.Debug.failBadSyntaxKind(node); @@ -60004,7 +60307,7 @@ var ts; var serializedUnion; for (var _i = 0, _a = node.types; _i < _a.length; _i++) { var typeNode = _a[_i]; - while (typeNode.kind === 172 /* ParenthesizedType */) { + while (typeNode.kind === 173 /* ParenthesizedType */) { typeNode = typeNode.type; // Skip parens if need be } if (typeNode.kind === 131 /* NeverKeyword */) { @@ -60043,7 +60346,8 @@ var ts; * @param node The type reference node. */ function serializeTypeReferenceNode(node) { - switch (resolver.getTypeReferenceSerializationKind(node.typeName, currentScope)) { + var kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentScope); + switch (kind) { case ts.TypeReferenceSerializationKind.Unknown: var serialized = serializeEntityNameAsExpression(node.typeName, /*useFallback*/ true); var temp = ts.createTempVariable(hoistVariableDeclaration); @@ -60069,8 +60373,9 @@ var ts; case ts.TypeReferenceSerializationKind.Promise: return ts.createIdentifier("Promise"); case ts.TypeReferenceSerializationKind.ObjectType: - default: return ts.createIdentifier("Object"); + default: + return ts.Debug.assertNever(kind); } } /** @@ -60093,7 +60398,7 @@ var ts; return ts.createLogicalAnd(ts.createStrictInequality(ts.createTypeOf(name), ts.createLiteral("undefined")), name); } return name; - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return serializeQualifiedNameAsExpression(node, useFallback); } } @@ -60579,7 +60884,7 @@ var ts; var statements = []; startLexicalEnvironment(); var members = ts.map(node.members, transformEnumMember); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); ts.addRange(statements, members); currentNamespaceContainerName = savedCurrentNamespaceLocalName; return ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), /*location*/ node.members), @@ -60628,7 +60933,7 @@ var ts; * @param node The module declaration node. */ function shouldEmitModuleDeclaration(node) { - return ts.isInstantiatedModule(node, compilerOptions.preserveConstEnums || compilerOptions.isolatedModules); + return ts.isInstantiatedModule(node, !!compilerOptions.preserveConstEnums || !!compilerOptions.isolatedModules); } /** * Determines whether an exported declaration will have a qualified export name (e.g. `f.x` @@ -60678,12 +60983,12 @@ var ts; // enums in any other scope are emitted as a `let` declaration. var statement = ts.createVariableStatement(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.createVariableDeclarationList([ ts.createVariableDeclaration(ts.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true)) - ], currentScope.kind === 273 /* SourceFile */ ? 0 /* None */ : 1 /* Let */)); + ], currentScope.kind === 274 /* SourceFile */ ? 0 /* None */ : 1 /* Let */)); ts.setOriginalNode(statement, node); recordEmittedDeclarationInScope(node); if (isFirstEmittedDeclarationInScope(node)) { // Adjust the source map emit to match the old emitter. - if (node.kind === 237 /* EnumDeclaration */) { + if (node.kind === 238 /* EnumDeclaration */) { ts.setSourceMapRange(statement.declarationList, node); } else { @@ -60802,7 +61107,7 @@ var ts; var statementsLocation; var blockLocation; var body = node.body; - if (body.kind === 239 /* ModuleBlock */) { + if (body.kind === 240 /* ModuleBlock */) { saveStateAndInvoke(body, function (body) { return ts.addRange(statements, ts.visitNodes(body.statements, namespaceElementVisitor, ts.isStatement)); }); statementsLocation = body.statements; blockLocation = body; @@ -60820,7 +61125,7 @@ var ts; var moduleBlock = getInnerMostModuleDeclarationFromDottedModule(node).body; statementsLocation = ts.moveRangePos(moduleBlock.statements, -1); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); currentNamespaceContainerName = savedCurrentNamespaceContainerName; currentNamespace = savedCurrentNamespace; currentScopeFirstDeclarationsOfName = savedCurrentScopeFirstDeclarationsOfName; @@ -60848,13 +61153,13 @@ var ts; // })(hi = hello.hi || (hello.hi = {})); // })(hello || (hello = {})); // We only want to emit comment on the namespace which contains block body itself, not the containing namespaces. - if (body.kind !== 239 /* ModuleBlock */) { + if (body.kind !== 240 /* ModuleBlock */) { ts.setEmitFlags(block, ts.getEmitFlags(block) | 1536 /* NoComments */); } return block; } function getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration) { - if (moduleDeclaration.body.kind === 238 /* ModuleDeclaration */) { + if (moduleDeclaration.body.kind === 239 /* ModuleDeclaration */) { var recursiveInnerModule = getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration.body); return recursiveInnerModule || moduleDeclaration.body; } @@ -60895,7 +61200,7 @@ var ts; * @param node The named import bindings node. */ function visitNamedImportBindings(node) { - if (node.kind === 245 /* NamespaceImport */) { + if (node.kind === 246 /* NamespaceImport */) { // Elide a namespace import if it is not referenced. return resolver.isReferencedAliasDeclaration(node) ? node : undefined; } @@ -61127,16 +61432,16 @@ var ts; // We need to enable substitutions for identifiers and shorthand property assignments. This allows us to // substitute the names of exported members of a namespace. context.enableSubstitution(71 /* Identifier */); - context.enableSubstitution(270 /* ShorthandPropertyAssignment */); + context.enableSubstitution(271 /* ShorthandPropertyAssignment */); // We need to be notified when entering and exiting namespaces. - context.enableEmitNotification(238 /* ModuleDeclaration */); + context.enableEmitNotification(239 /* ModuleDeclaration */); } } function isTransformedModuleDeclaration(node) { - return ts.getOriginalNode(node).kind === 238 /* ModuleDeclaration */; + return ts.getOriginalNode(node).kind === 239 /* ModuleDeclaration */; } function isTransformedEnumDeclaration(node) { - return ts.getOriginalNode(node).kind === 237 /* EnumDeclaration */; + return ts.getOriginalNode(node).kind === 238 /* EnumDeclaration */; } /** * Hook for node emit. @@ -61197,9 +61502,9 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return substituteExpressionIdentifier(node); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return substituteElementAccessExpression(node); } return node; @@ -61219,7 +61524,7 @@ var ts; // constructor references in static property initializers. var declaration = resolver.getReferencedValueDeclaration(node); if (declaration) { - var classAlias = classAliases[declaration.id]; + var classAlias = classAliases[declaration.id]; // TODO: GH#18217 if (classAlias) { var clone_1 = ts.getSynthesizedClone(classAlias); ts.setSourceMapRange(clone_1, node); @@ -61237,9 +61542,9 @@ var ts; // If we are nested within a namespace declaration, we may need to qualifiy // an identifier that is exported from a merged namespace. var container = resolver.getReferencedExportContainer(node, /*prefixLocals*/ false); - if (container && container.kind !== 273 /* SourceFile */) { - var substitute = (applicableSubstitutions & 2 /* NamespaceExports */ && container.kind === 238 /* ModuleDeclaration */) || - (applicableSubstitutions & 8 /* NonQualifiedEnumMembers */ && container.kind === 237 /* EnumDeclaration */); + if (container && container.kind !== 274 /* SourceFile */) { + var substitute = (applicableSubstitutions & 2 /* NamespaceExports */ && container.kind === 239 /* ModuleDeclaration */) || + (applicableSubstitutions & 8 /* NonQualifiedEnumMembers */ && container.kind === 238 /* EnumDeclaration */); if (substitute) { return ts.setTextRange(ts.createPropertyAccess(ts.getGeneratedNameForNode(container), node), /*location*/ node); @@ -61374,15 +61679,15 @@ var ts; case 120 /* AsyncKeyword */: // ES2017 async modifier should be elided for targets < ES2017 return undefined; - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return visitAwaitExpression(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return visitMethodDeclaration(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return visitArrowFunction(node); default: return ts.visitEachChild(node, visitor, context); @@ -61391,27 +61696,27 @@ var ts; function asyncBodyVisitor(node) { if (ts.isNodeWithPossibleHoistedDeclaration(node)) { switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatementInAsyncBody(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatementInAsyncBody(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatementInAsyncBody(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatementInAsyncBody(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitCatchClauseInAsyncBody(node); - case 212 /* Block */: - case 226 /* SwitchStatement */: - case 240 /* CaseBlock */: - case 265 /* CaseClause */: - case 266 /* DefaultClause */: - case 229 /* TryStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 216 /* IfStatement */: - case 225 /* WithStatement */: - case 227 /* LabeledStatement */: + case 213 /* Block */: + case 227 /* SwitchStatement */: + case 241 /* CaseBlock */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: + case 230 /* TryStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 217 /* IfStatement */: + case 226 /* WithStatement */: + case 228 /* LabeledStatement */: return ts.visitEachChild(node, asyncBodyVisitor, context); default: return ts.Debug.assertNever(node, "Unhandled node."); @@ -61421,7 +61726,7 @@ var ts; } function visitCatchClauseInAsyncBody(node) { var catchClauseNames = ts.createUnderscoreEscapedMap(); - recordDeclarationName(node.variableDeclaration, catchClauseNames); + recordDeclarationName(node.variableDeclaration, catchClauseNames); // TODO: GH#18217 // names declared in a catch variable are block scoped var catchClauseUnshadowedNames; catchClauseNames.forEach(function (_, escapedName) { @@ -61461,8 +61766,9 @@ var ts; : ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.expression, visitor, ts.isExpression), ts.visitNode(node.statement, asyncBodyVisitor, ts.isStatement, ts.liftToBlock)); } function visitForStatementInAsyncBody(node) { - return ts.updateFor(node, isVariableDeclarationListWithCollidingName(node.initializer) - ? visitVariableDeclarationListWithCollidingNames(node.initializer, /*hasReceiver*/ false) + var initializer = node.initializer; // TODO: GH#18217 + return ts.updateFor(node, isVariableDeclarationListWithCollidingName(initializer) + ? visitVariableDeclarationListWithCollidingNames(initializer, /*hasReceiver*/ false) : ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.condition, visitor, ts.isExpression), ts.visitNode(node.incrementor, visitor, ts.isExpression), ts.visitNode(node.statement, asyncBodyVisitor, ts.isStatement, ts.liftToBlock)); } /** @@ -61554,10 +61860,10 @@ var ts; } } function isVariableDeclarationListWithCollidingName(node) { - return node + return !!node && ts.isVariableDeclarationList(node) && !(node.flags & 3 /* BlockScoped */) - && ts.forEach(node.declarations, collidesWithParameterName); + && node.declarations.some(collidesWithParameterName); } function visitVariableDeclarationListWithCollidingNames(node, hasReceiver) { hoistVariableDeclarationList(node); @@ -61611,7 +61917,7 @@ var ts; var original = ts.getOriginalNode(node, ts.isFunctionLike); var nodeType = original.type; var promiseConstructor = languageVersion < 2 /* ES2015 */ ? getPromiseConstructor(nodeType) : undefined; - var isArrowFunction = node.kind === 192 /* ArrowFunction */; + var isArrowFunction = node.kind === 193 /* ArrowFunction */; var hasLexicalArguments = (resolver.getNodeCheckFlags(node) & 8192 /* CaptureArguments */) !== 0; // An async function is emit as an outer function that calls an inner // generator function. To preserve lexical bindings, we pass the current @@ -61629,7 +61935,7 @@ var ts; var statements = []; var statementOffset = ts.addPrologue(statements, node.body.statements, /*ensureUseStrict*/ false, visitor); statements.push(ts.createReturn(createAwaiterHelper(context, hasLexicalArguments, promiseConstructor, transformAsyncFunctionBodyWorker(node.body, statementOffset)))); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.createBlock(statements, /*multiLine*/ true); ts.setTextRange(block, node.body); // Minor optimization, emit `_super` helper to capture `super` access in an arrow. @@ -61684,15 +61990,15 @@ var ts; enabledSubstitutions |= 1 /* AsyncMethodsWithSuper */; // We need to enable substitutions for call, property access, and element access // if we need to rewrite super calls. - context.enableSubstitution(186 /* CallExpression */); - context.enableSubstitution(184 /* PropertyAccessExpression */); - context.enableSubstitution(185 /* ElementAccessExpression */); + context.enableSubstitution(187 /* CallExpression */); + context.enableSubstitution(185 /* PropertyAccessExpression */); + context.enableSubstitution(186 /* ElementAccessExpression */); // We need to be notified when entering and exiting declarations that bind super. - context.enableEmitNotification(234 /* ClassDeclaration */); - context.enableEmitNotification(153 /* MethodDeclaration */); - context.enableEmitNotification(155 /* GetAccessor */); - context.enableEmitNotification(156 /* SetAccessor */); - context.enableEmitNotification(154 /* Constructor */); + context.enableEmitNotification(235 /* ClassDeclaration */); + context.enableEmitNotification(154 /* MethodDeclaration */); + context.enableEmitNotification(156 /* GetAccessor */); + context.enableEmitNotification(157 /* SetAccessor */); + context.enableEmitNotification(155 /* Constructor */); } } /** @@ -61732,11 +62038,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return substituteElementAccessExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return substituteCallExpression(node); } return node; @@ -61768,11 +62074,11 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 234 /* ClassDeclaration */ - || kind === 154 /* Constructor */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */; + return kind === 235 /* ClassDeclaration */ + || kind === 155 /* Constructor */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */; } function createSuperAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096 /* AsyncMethodWithSuperBinding */) { @@ -61867,45 +62173,47 @@ var ts; return node; } switch (node.kind) { - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return visitAwaitExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return visitYieldExpression(node); - case 227 /* LabeledStatement */: + case 225 /* ReturnStatement */: + return visitReturnStatement(node); + case 228 /* LabeledStatement */: return visitLabeledStatement(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitBinaryExpression(node, noDestructuringValue); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return visitVariableDeclaration(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatement(node, /*outermostLabeledStatement*/ undefined); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return visitVoidExpression(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return visitConstructorDeclaration(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return visitMethodDeclaration(node); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: return visitGetAccessorDeclaration(node); - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return visitSetAccessorDeclaration(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return visitArrowFunction(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return visitParameter(node); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return visitExpressionStatement(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return visitParenthesizedExpression(node, noDestructuringValue); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitCatchClause(node); default: return ts.visitEachChild(node, visitor, context); @@ -61930,10 +62238,16 @@ var ts; } return ts.visitEachChild(node, visitor, context); } + function visitReturnStatement(node) { + if (enclosingFunctionFlags & 2 /* Async */ && enclosingFunctionFlags & 1 /* Generator */) { + return ts.updateReturn(node, createDownlevelAwait(node.expression ? ts.visitNode(node.expression, visitor, ts.isExpression) : ts.createVoidZero())); + } + return ts.visitEachChild(node, visitor, context); + } function visitLabeledStatement(node) { if (enclosingFunctionFlags & 2 /* Async */) { var statement = ts.unwrapInnermostStatementOfLabel(node); - if (statement.kind === 221 /* ForOfStatement */ && statement.awaitModifier) { + if (statement.kind === 222 /* ForOfStatement */ && statement.awaitModifier) { return visitForOfStatement(statement, node); } return ts.restoreEnclosingLabel(ts.visitEachChild(statement, visitor, context), node); @@ -61945,7 +62259,7 @@ var ts; var objects = []; for (var _i = 0, elements_4 = elements; _i < elements_4.length; _i++) { var e = elements_4[_i]; - if (e.kind === 271 /* SpreadAssignment */) { + if (e.kind === 272 /* SpreadAssignment */) { if (chunkObject) { objects.push(ts.createObjectLiteral(chunkObject)); chunkObject = undefined; @@ -61954,7 +62268,7 @@ var ts; objects.push(ts.visitNode(target, visitor, ts.isExpression)); } else { - chunkObject = ts.append(chunkObject, e.kind === 269 /* PropertyAssignment */ + chunkObject = ts.append(chunkObject, e.kind === 270 /* PropertyAssignment */ ? ts.createPropertyAssignment(e.name, ts.visitNode(e.initializer, visitor, ts.isExpression)) : ts.visitNode(e, visitor, ts.isObjectLiteralElementLike)); } @@ -61972,7 +62286,7 @@ var ts; // If the first element is a spread element, then the first argument to __assign is {}: // { ...o, a, b, ...o2 } => __assign({}, o, {a, b}, o2) var objects = chunkObjectLiteralElements(node.properties); - if (objects.length && objects[0].kind !== 183 /* ObjectLiteralExpression */) { + if (objects.length && objects[0].kind !== 184 /* ObjectLiteralExpression */) { objects.unshift(ts.createObjectLiteral()); } return createAssignHelper(context, objects); @@ -62106,7 +62420,7 @@ var ts; ]), node.expression), 2097152 /* NoHoisting */), /*condition*/ ts.createComma(ts.createAssignment(result, createDownlevelAwait(callNext)), ts.createLogicalNot(getDone)), /*incrementor*/ undefined, - /*statement*/ convertForOfStatementHead(node, createDownlevelAwait(getValue))), + /*statement*/ convertForOfStatementHead(node, getValue)), /*location*/ node), 256 /* NoTokenTrailingSourceMaps */); return ts.createTry(ts.createBlock([ ts.restoreEnclosingLabel(forStatement, outermostLabeledStatement) @@ -62228,7 +62542,7 @@ var ts; /*typeParameters*/ undefined, /*parameters*/ [], /*type*/ undefined, ts.updateBlock(node.body, ts.visitLexicalEnvironment(node.body.statements, visitor, context, statementOffset)))))); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.updateBlock(node.body, statements); // Minor optimization, emit `_super` helper to capture `super` access in an arrow. // This step isn't needed if we eventually transform this to ES5. @@ -62256,7 +62570,7 @@ var ts; var leadingStatements = endLexicalEnvironment(); if (statementOffset > 0 || ts.some(statements) || ts.some(leadingStatements)) { var block = ts.convertToFunctionBody(body, /*multiLine*/ true); - ts.prependRange(statements, leadingStatements); + ts.prependStatements(statements, leadingStatements); ts.addRange(statements, block.statements.slice(statementOffset)); return ts.updateBlock(block, ts.setTextRange(ts.createNodeArray(statements), block.statements)); } @@ -62285,15 +62599,15 @@ var ts; enabledSubstitutions |= 1 /* AsyncMethodsWithSuper */; // We need to enable substitutions for call, property access, and element access // if we need to rewrite super calls. - context.enableSubstitution(186 /* CallExpression */); - context.enableSubstitution(184 /* PropertyAccessExpression */); - context.enableSubstitution(185 /* ElementAccessExpression */); + context.enableSubstitution(187 /* CallExpression */); + context.enableSubstitution(185 /* PropertyAccessExpression */); + context.enableSubstitution(186 /* ElementAccessExpression */); // We need to be notified when entering and exiting declarations that bind super. - context.enableEmitNotification(234 /* ClassDeclaration */); - context.enableEmitNotification(153 /* MethodDeclaration */); - context.enableEmitNotification(155 /* GetAccessor */); - context.enableEmitNotification(156 /* SetAccessor */); - context.enableEmitNotification(154 /* Constructor */); + context.enableEmitNotification(235 /* ClassDeclaration */); + context.enableEmitNotification(154 /* MethodDeclaration */); + context.enableEmitNotification(156 /* GetAccessor */); + context.enableEmitNotification(157 /* SetAccessor */); + context.enableEmitNotification(155 /* Constructor */); } } /** @@ -62333,11 +62647,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return substituteElementAccessExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return substituteCallExpression(node); } return node; @@ -62369,11 +62683,11 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 234 /* ClassDeclaration */ - || kind === 154 /* Constructor */ - || kind === 153 /* MethodDeclaration */ - || kind === 155 /* GetAccessor */ - || kind === 156 /* SetAccessor */; + return kind === 235 /* ClassDeclaration */ + || kind === 155 /* Constructor */ + || kind === 154 /* MethodDeclaration */ + || kind === 156 /* GetAccessor */ + || kind === 157 /* SetAccessor */; } function createSuperAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096 /* AsyncMethodWithSuperBinding */) { @@ -62482,13 +62796,13 @@ var ts; } function visitorWorker(node) { switch (node.kind) { - case 254 /* JsxElement */: + case 255 /* JsxElement */: return visitJsxElement(node, /*isChild*/ false); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return visitJsxSelfClosingElement(node, /*isChild*/ false); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return visitJsxFragment(node, /*isChild*/ false); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return visitJsxExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -62498,13 +62812,13 @@ var ts; switch (node.kind) { case 10 /* JsxText */: return visitJsxText(node); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return visitJsxExpression(node); - case 254 /* JsxElement */: + case 255 /* JsxElement */: return visitJsxElement(node, /*isChild*/ true); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return visitJsxSelfClosingElement(node, /*isChild*/ true); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return visitJsxFragment(node, /*isChild*/ true); default: return ts.Debug.failBadSyntaxKind(node); @@ -62545,14 +62859,16 @@ var ts; objectProperties = ts.createAssignHelper(context, segments); } } - var element = ts.createExpressionForJsxElement(context.getEmitResolver().getJsxFactoryEntity(currentSourceFile), compilerOptions.reactNamespace, tagName, objectProperties, ts.mapDefined(children, transformJsxChildToExpression), node, location); + var element = ts.createExpressionForJsxElement(context.getEmitResolver().getJsxFactoryEntity(currentSourceFile), compilerOptions.reactNamespace, // TODO: GH#18217 + tagName, objectProperties, ts.mapDefined(children, transformJsxChildToExpression), node, location); if (isChild) { ts.startOnNewLine(element); } return element; } function visitJsxOpeningFragment(node, children, isChild, location) { - var element = ts.createExpressionForJsxFragment(context.getEmitResolver().getJsxFactoryEntity(currentSourceFile), compilerOptions.reactNamespace, ts.mapDefined(children, transformJsxChildToExpression), node, location); + var element = ts.createExpressionForJsxFragment(context.getEmitResolver().getJsxFactoryEntity(currentSourceFile), compilerOptions.reactNamespace, // TODO: GH#18217 + ts.mapDefined(children, transformJsxChildToExpression), node, location); if (isChild) { ts.startOnNewLine(element); } @@ -62577,7 +62893,7 @@ var ts; literal.singleQuote = node.singleQuote !== undefined ? node.singleQuote : !ts.isStringDoubleQuoted(node, currentSourceFile); return ts.setTextRange(literal, node); } - else if (node.kind === 264 /* JsxExpression */) { + else if (node.kind === 265 /* JsxExpression */) { if (node.expression === undefined) { return ts.createTrue(); } @@ -62671,7 +62987,7 @@ var ts; return decoded === text ? undefined : decoded; } function getTagName(node) { - if (node.kind === 254 /* JsxElement */) { + if (node.kind === 255 /* JsxElement */) { return getTagName(node.openingElement); } else { @@ -62977,7 +63293,7 @@ var ts; return node; } switch (node.kind) { - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitBinaryExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -63209,14 +63525,14 @@ var ts; hierarchyFacts = (hierarchyFacts & ~excludeFacts | includeFacts) & -16384 /* SubtreeFactsMask */ | ancestorFacts; } function isReturnVoidStatementInConstructorWithCapturedSuper(node) { - return hierarchyFacts & 4096 /* ConstructorWithCapturedSuper */ - && node.kind === 224 /* ReturnStatement */ + return (hierarchyFacts & 4096 /* ConstructorWithCapturedSuper */) !== 0 + && node.kind === 225 /* ReturnStatement */ && !node.expression; } function shouldVisitNode(node) { return (node.transformFlags & 128 /* ContainsES2015 */) !== 0 || convertedLoopState !== undefined - || (hierarchyFacts & 4096 /* ConstructorWithCapturedSuper */ && (ts.isStatement(node) || (node.kind === 212 /* Block */))) + || (hierarchyFacts & 4096 /* ConstructorWithCapturedSuper */ && (ts.isStatement(node) || (node.kind === 213 /* Block */))) || (ts.isIterationStatement(node, /*lookInLabeledStatements*/ false) && shouldConvertIterationStatementBody(node)) || (ts.getEmitFlags(node) & 33554432 /* TypeScriptClassWrapper */) !== 0; } @@ -63244,63 +63560,63 @@ var ts; switch (node.kind) { case 115 /* StaticKeyword */: return undefined; // elide static keyword - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return visitClassDeclaration(node); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return visitClassExpression(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return visitParameter(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return visitArrowFunction(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return visitVariableDeclaration(node); case 71 /* Identifier */: return visitIdentifier(node); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return visitVariableDeclarationList(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return visitSwitchStatement(node); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return visitCaseBlock(node); - case 212 /* Block */: + case 213 /* Block */: return visitBlock(node, /*isFunctionBody*/ false); - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: return visitBreakOrContinueStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return visitLabeledStatement(node); - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: return visitDoOrWhileStatement(node, /*outermostLabeledStatement*/ undefined); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node, /*outermostLabeledStatement*/ undefined); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatement(node, /*outermostLabeledStatement*/ undefined); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatement(node, /*outermostLabeledStatement*/ undefined); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return visitExpressionStatement(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitCatchClause(node); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return visitShorthandPropertyAssignment(node); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return visitComputedPropertyName(node); - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return visitArrayLiteralExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return visitCallExpression(node); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return visitNewExpression(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return visitParenthesizedExpression(node, /*needsDestructuringValue*/ true); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitBinaryExpression(node, /*needsDestructuringValue*/ true); case 13 /* NoSubstitutionTemplateLiteral */: case 14 /* TemplateHead */: @@ -63311,28 +63627,28 @@ var ts; return visitStringLiteral(node); case 8 /* NumericLiteral */: return visitNumericLiteral(node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return visitTemplateExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return visitYieldExpression(node); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return visitSpreadElement(node); case 97 /* SuperKeyword */: return visitSuperKeyword(/*isExpressionOfCall*/ false); case 99 /* ThisKeyword */: return visitThisKeyword(node); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return visitMetaProperty(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return visitMethodDeclaration(node); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return visitAccessorDeclaration(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return visitReturnStatement(node); default: return ts.visitEachChild(node, visitor, context); @@ -63349,7 +63665,7 @@ var ts; if (taggedTemplateStringDeclarations) { statements.push(ts.createVariableStatement(/*modifiers*/ undefined, ts.createVariableDeclarationList(taggedTemplateStringDeclarations))); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); exitSubtree(ancestorFacts, 0 /* None */, 0 /* None */); return ts.updateSourceFileNode(node, ts.setTextRange(ts.createNodeArray(statements), node.statements)); } @@ -63419,13 +63735,14 @@ var ts; // it is possible if either // - break/continue is labeled and label is located inside the converted loop // - break/continue is non-labeled and located in non-converted loop/switch statement - var jump = node.kind === 223 /* BreakStatement */ ? 2 /* Break */ : 4 /* Continue */; + var jump = node.kind === 224 /* BreakStatement */ ? 2 /* Break */ : 4 /* Continue */; var canUseBreakOrContinue = (node.label && convertedLoopState.labels && convertedLoopState.labels.get(ts.idText(node.label))) || (!node.label && (convertedLoopState.allowedNonLabeledJumps & jump)); if (!canUseBreakOrContinue) { var labelMarker = void 0; - if (!node.label) { - if (node.kind === 223 /* BreakStatement */) { + var label = node.label; + if (!label) { + if (node.kind === 224 /* BreakStatement */) { convertedLoopState.nonLocalJumps |= 2 /* Break */; labelMarker = "break"; } @@ -63436,13 +63753,13 @@ var ts; } } else { - if (node.kind === 223 /* BreakStatement */) { - labelMarker = "break-" + node.label.escapedText; - setLabeledJump(convertedLoopState, /*isBreak*/ true, ts.idText(node.label), labelMarker); + if (node.kind === 224 /* BreakStatement */) { + labelMarker = "break-" + label.escapedText; + setLabeledJump(convertedLoopState, /*isBreak*/ true, ts.idText(label), labelMarker); } else { - labelMarker = "continue-" + node.label.escapedText; - setLabeledJump(convertedLoopState, /*isBreak*/ false, ts.idText(node.label), labelMarker); + labelMarker = "continue-" + label.escapedText; + setLabeledJump(convertedLoopState, /*isBreak*/ false, ts.idText(label), labelMarker); } } var returnExpression = ts.createLiteral(labelMarker); @@ -63603,7 +63920,7 @@ var ts; statement.pos = closingBraceLocation.pos; ts.setEmitFlags(statement, 1536 /* NoComments */ | 384 /* NoTokenSourceMaps */); statements.push(statement); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var block = ts.createBlock(ts.setTextRange(ts.createNodeArray(statements), /*location*/ node.members), /*multiLine*/ true); ts.setEmitFlags(block, 1536 /* NoComments */); return block; @@ -63661,7 +63978,7 @@ var ts; // `super` call. // If this is the case, we do not include the synthetic `...args` parameter and // will instead use the `arguments` object in ES5/3. - return ts.visitParameterList(constructor && !hasSynthesizedSuper && constructor.parameters, visitor, context) + return ts.visitParameterList(constructor && !hasSynthesizedSuper ? constructor.parameters : undefined, visitor, context) || []; } /** @@ -63697,7 +64014,7 @@ var ts; } // determine whether the class is known syntactically to be a derived class (e.g. a // class that extends a value that is not syntactically known to be `null`). - var isDerivedClass = extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 95 /* NullKeyword */; + var isDerivedClass = !!extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 95 /* NullKeyword */; var superCaptureStatus = declareOrCaptureOrReturnThisForConstructorIfNeeded(statements, constructor, isDerivedClass, hasSynthesizedSuper, statementOffset); // The last statement expression was replaced. Skip it. if (superCaptureStatus === 1 /* ReplaceSuperCapture */ || superCaptureStatus === 2 /* ReplaceWithReturn */) { @@ -63716,7 +64033,7 @@ var ts; && !(constructor && isSufficientlyCoveredByReturnStatements(constructor.body))) { statements.push(ts.createReturn(ts.createFileLevelUniqueName("_this"))); } - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); if (constructor) { prependCaptureNewTargetIfNeeded(statements, constructor, /*copyOnWrite*/ false); } @@ -63736,11 +64053,11 @@ var ts; */ function isSufficientlyCoveredByReturnStatements(statement) { // A return statement is considered covered. - if (statement.kind === 224 /* ReturnStatement */) { + if (statement.kind === 225 /* ReturnStatement */) { return true; } // An if-statement with two covered branches is covered. - else if (statement.kind === 216 /* IfStatement */) { + else if (statement.kind === 217 /* IfStatement */) { var ifStatement = statement; if (ifStatement.elseStatement) { return isSufficientlyCoveredByReturnStatements(ifStatement.thenStatement) && @@ -63748,7 +64065,7 @@ var ts; } } // A block is covered if it has a last statement which is covered. - else if (statement.kind === 212 /* Block */) { + else if (statement.kind === 213 /* Block */) { var lastStatement = ts.lastOrUndefined(statement.statements); if (lastStatement && isSufficientlyCoveredByReturnStatements(lastStatement)) { return true; @@ -63806,7 +64123,7 @@ var ts; var ctorStatements = ctor.body.statements; if (statementOffset < ctorStatements.length) { firstStatement = ctorStatements[statementOffset]; - if (firstStatement.kind === 215 /* ExpressionStatement */ && ts.isSuperCall(firstStatement.expression)) { + if (firstStatement.kind === 216 /* ExpressionStatement */ && ts.isSuperCall(firstStatement.expression)) { superCallExpression = visitImmediateSuperCallInBody(firstStatement.expression); } } @@ -63816,8 +64133,8 @@ var ts; && statementOffset === ctorStatements.length - 1 && !(ctor.transformFlags & (16384 /* ContainsLexicalThis */ | 32768 /* ContainsCapturedLexicalThis */))) { var returnStatement = ts.createReturn(superCallExpression); - if (superCallExpression.kind !== 199 /* BinaryExpression */ - || superCallExpression.left.kind !== 186 /* CallExpression */) { + if (superCallExpression.kind !== 200 /* BinaryExpression */ + || superCallExpression.left.kind !== 187 /* CallExpression */) { ts.Debug.fail("Assumed generated super call would have form 'super.call(...) || this'."); } // Shift comments from the original super call to the return statement. @@ -64014,7 +64331,7 @@ var ts; * @param node A node. */ function addCaptureThisForNodeIfNeeded(statements, node) { - if (node.transformFlags & 32768 /* ContainsCapturedLexicalThis */ && node.kind !== 192 /* ArrowFunction */) { + if (node.transformFlags & 32768 /* ContainsCapturedLexicalThis */ && node.kind !== 193 /* ArrowFunction */) { captureThisForNode(statements, node, ts.createThis()); } } @@ -64034,22 +64351,22 @@ var ts; if (hierarchyFacts & 16384 /* NewTarget */) { var newTarget = void 0; switch (node.kind) { - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return statements; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // Methods and accessors cannot be constructors, so 'new.target' will // always return 'undefined'. newTarget = ts.createVoidZero(); break; - case 154 /* Constructor */: + case 155 /* Constructor */: // Class constructors can only be called with `new`, so `this.constructor` // should be relatively safe to use. newTarget = ts.createPropertyAccess(ts.setEmitFlags(ts.createThis(), 4 /* NoSubstitution */), "constructor"); break; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: // Functions can be called or constructed, and may have a `this` due to // being a member or when calling an imported function via `other_1.f()`. newTarget = ts.createConditional(ts.createLogicalAnd(ts.setEmitFlags(ts.createThis(), 4 /* NoSubstitution */), ts.createBinary(ts.setEmitFlags(ts.createThis(), 4 /* NoSubstitution */), 93 /* InstanceOfKeyword */, ts.getLocalName(node))), ts.createPropertyAccess(ts.setEmitFlags(ts.createThis(), 4 /* NoSubstitution */), "constructor"), ts.createVoidZero()); @@ -64080,20 +64397,20 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 211 /* SemicolonClassElement */: + case 212 /* SemicolonClassElement */: statements.push(transformSemicolonClassElementToStatement(member)); break; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: statements.push(transformClassMethodDeclarationToStatement(getClassMemberPrefix(node, member), member, node)); break; - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: var accessors = ts.getAllAccessorDeclarations(node.members, member); if (member === accessors.firstAccessor) { statements.push(transformAccessorsToStatement(getClassMemberPrefix(node, member), accessors, node)); } break; - case 154 /* Constructor */: + case 155 /* Constructor */: // Constructors are handled in visitClassExpression/visitClassDeclaration break; default: @@ -64163,7 +64480,7 @@ var ts; // arguments are both mapped contiguously to the accessor name. var target = ts.getMutableClone(receiver); ts.setEmitFlags(target, 1536 /* NoComments */ | 32 /* NoTrailingSourceMap */); - ts.setSourceMapRange(target, firstAccessor.name); + ts.setSourceMapRange(target, firstAccessor.name); // TODO: GH#18217 var propertyName = ts.createExpressionForPropertyName(ts.visitNode(firstAccessor.name, visitor, ts.isPropertyName)); ts.setEmitFlags(propertyName, 1536 /* NoComments */ | 16 /* NoLeadingSourceMap */); ts.setSourceMapRange(propertyName, firstAccessor.name); @@ -64285,7 +64602,7 @@ var ts; : enterSubtree(16286 /* FunctionExcludes */, 65 /* FunctionIncludes */); var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); - if (hierarchyFacts & 16384 /* NewTarget */ && !name && (node.kind === 233 /* FunctionDeclaration */ || node.kind === 191 /* FunctionExpression */)) { + if (hierarchyFacts & 16384 /* NewTarget */ && !name && (node.kind === 234 /* FunctionDeclaration */ || node.kind === 192 /* FunctionExpression */)) { name = ts.getGeneratedNameForNode(node); } exitSubtree(ancestorFacts, 49152 /* PropagateNewTargetMask */, 0 /* None */); @@ -64333,7 +64650,7 @@ var ts; } } else { - ts.Debug.assert(node.kind === 192 /* ArrowFunction */); + ts.Debug.assert(node.kind === 193 /* ArrowFunction */); // To align with the old emitter, we use a synthetic end position on the location // for the statement list we synthesize when we down-level an arrow function with // an expression function body. This prevents both comments and source maps from @@ -64359,7 +64676,7 @@ var ts; closeBraceLocation = body; } var lexicalEnvironment = context.endLexicalEnvironment(); - ts.prependRange(statements, lexicalEnvironment); + ts.prependStatements(statements, lexicalEnvironment); prependCaptureNewTargetIfNeeded(statements, node, /*copyOnWrite*/ false); // If we added any final generated statements, this must be a multi-line block if (!multiLine && lexicalEnvironment && lexicalEnvironment.length) { @@ -64401,9 +64718,9 @@ var ts; function visitExpressionStatement(node) { // If we are here it is most likely because our expression is a destructuring assignment. switch (node.expression.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return ts.updateStatement(node, visitParenthesizedExpression(node.expression, /*needsDestructuringValue*/ false)); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return ts.updateStatement(node, visitBinaryExpression(node.expression, /*needsDestructuringValue*/ false)); } return ts.visitEachChild(node, visitor, context); @@ -64422,9 +64739,9 @@ var ts; // expression. If we are in a state where we do not need the destructuring value, // we pass that information along to the children that care about it. switch (node.expression.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return ts.updateParen(node, visitParenthesizedExpression(node.expression, /*needsDestructuringValue*/ false)); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return ts.updateParen(node, visitBinaryExpression(node.expression, /*needsDestructuringValue*/ false)); } } @@ -64497,13 +64814,12 @@ var ts; ts.setTextRange(declarationList, node); ts.setCommentRange(declarationList, node); if (node.transformFlags & 8388608 /* ContainsBindingPattern */ - && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.lastOrUndefined(node.declarations).name))) { + && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.last(node.declarations).name))) { // If the first or last declaration is a binding pattern, we need to modify // the source map range for the declaration list. var firstDeclaration = ts.firstOrUndefined(declarations); if (firstDeclaration) { - var lastDeclaration = ts.lastOrUndefined(declarations); - ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, lastDeclaration.end)); + ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, ts.last(declarations).end)); } } return declarationList; @@ -64626,14 +64942,14 @@ var ts; } function visitIterationStatement(node, outermostLabeledStatement) { switch (node.kind) { - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: return visitDoOrWhileStatement(node, outermostLabeledStatement); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node, outermostLabeledStatement); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatement(node, outermostLabeledStatement); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatement(node, outermostLabeledStatement); } } @@ -64657,11 +64973,12 @@ var ts; } function convertForOfStatementHead(node, boundValue, convertedLoopBodyStatements) { var statements = []; - if (ts.isVariableDeclarationList(node.initializer)) { + var initializer = node.initializer; + if (ts.isVariableDeclarationList(initializer)) { if (node.initializer.flags & 3 /* BlockScoped */) { enableSubstitutionsForBlockScopedBindings(); } - var firstOriginalDeclaration = ts.firstOrUndefined(node.initializer.declarations); + var firstOriginalDeclaration = ts.firstOrUndefined(initializer.declarations); if (firstOriginalDeclaration && ts.isBindingPattern(firstOriginalDeclaration.name)) { // This works whether the declaration is a var, let, or const. // It will use rhsIterationValue _a[_i] as the initializer. @@ -64670,9 +64987,7 @@ var ts; ts.setOriginalNode(declarationList, node.initializer); // Adjust the source map range for the first declaration to align with the old // emitter. - var firstDeclaration = declarations[0]; - var lastDeclaration = ts.lastOrUndefined(declarations); - ts.setSourceMapRange(declarationList, ts.createRange(firstDeclaration.pos, lastDeclaration.end)); + ts.setSourceMapRange(declarationList, ts.createRange(declarations[0].pos, ts.last(declarations).end)); statements.push(ts.createVariableStatement( /*modifiers*/ undefined, declarationList)); } @@ -64683,20 +64998,20 @@ var ts; /*modifiers*/ undefined, ts.setOriginalNode(ts.setTextRange(ts.createVariableDeclarationList([ ts.createVariableDeclaration(firstOriginalDeclaration ? firstOriginalDeclaration.name : ts.createTempVariable(/*recordTempVariable*/ undefined), /*type*/ undefined, boundValue) - ]), ts.moveRangePos(node.initializer, -1)), node.initializer)), ts.moveRangeEnd(node.initializer, -1))); + ]), ts.moveRangePos(initializer, -1)), initializer)), ts.moveRangeEnd(initializer, -1))); } } else { // Initializer is an expression. Emit the expression in the body, so that it's // evaluated on every iteration. - var assignment = ts.createAssignment(node.initializer, boundValue); + var assignment = ts.createAssignment(initializer, boundValue); if (ts.isDestructuringAssignment(assignment)) { ts.aggregateTransformFlags(assignment); statements.push(ts.createStatement(visitBinaryExpression(assignment, /*needsDestructuringValue*/ false))); } else { - assignment.end = node.initializer.end; - statements.push(ts.setTextRange(ts.createStatement(ts.visitNode(assignment, visitor, ts.isExpression)), ts.moveRangeEnd(node.initializer, -1))); + assignment.end = initializer.end; + statements.push(ts.setTextRange(ts.createStatement(ts.visitNode(assignment, visitor, ts.isExpression)), ts.moveRangeEnd(initializer, -1))); } } if (convertedLoopBodyStatements) { @@ -64818,7 +65133,7 @@ var ts; && i < numInitialPropertiesWithoutYield) { numInitialPropertiesWithoutYield = i; } - if (property.name.kind === 146 /* ComputedPropertyName */) { + if (property.name.kind === 147 /* ComputedPropertyName */) { numInitialProperties = i; break; } @@ -64890,11 +65205,11 @@ var ts; var functionName = ts.createUniqueName("_loop"); var loopInitializer; switch (node.kind) { - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: var initializer = node.initializer; - if (initializer && initializer.kind === 232 /* VariableDeclarationList */) { + if (initializer && initializer.kind === 233 /* VariableDeclarationList */) { loopInitializer = initializer; } break; @@ -64940,7 +65255,7 @@ var ts; if (loopOutParameters.length) { copyOutParameters(loopOutParameters, 1 /* ToOutParameter */, statements_4); } - ts.prependRange(statements_4, lexicalEnvironment); + ts.prependStatements(statements_4, lexicalEnvironment); loopBody = ts.createBlock(statements_4, /*multiline*/ true); } if (ts.isBlock(loopBody)) { @@ -65174,20 +65489,20 @@ var ts; for (var i = start; i < numProperties; i++) { var property = properties[i]; switch (property.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: var accessors = ts.getAllAccessorDeclarations(node.properties, property); if (property === accessors.firstAccessor) { - expressions.push(transformAccessorsToExpression(receiver, accessors, node, node.multiLine)); + expressions.push(transformAccessorsToExpression(receiver, accessors, node, !!node.multiLine)); } break; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: expressions.push(transformObjectLiteralMethodDeclarationToExpression(property, receiver, node, node.multiLine)); break; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: expressions.push(transformPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: expressions.push(transformShorthandPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; default: @@ -65298,7 +65613,7 @@ var ts; var body = node.transformFlags & (32768 /* ContainsCapturedLexicalThis */ | 128 /* ContainsES2015 */) ? transformFunctionBody(node) : visitFunctionBodyDownLevel(node); - if (node.kind === 155 /* GetAccessor */) { + if (node.kind === 156 /* GetAccessor */) { updated = ts.updateGetAccessor(node, node.decorators, node.modifiers, node.name, parameters, node.type, body); } else { @@ -65340,7 +65655,7 @@ var ts; function visitArrayLiteralExpression(node) { if (node.transformFlags & 64 /* ES2015 */) { // We are here because we contain a SpreadElementExpression. - return transformAndSpreadElements(node.elements, /*needsUniqueCopy*/ true, node.multiLine, /*hasTrailingComma*/ node.elements.hasTrailingComma); + return transformAndSpreadElements(node.elements, /*needsUniqueCopy*/ true, !!node.multiLine, /*hasTrailingComma*/ !!node.elements.hasTrailingComma); } return ts.visitEachChild(node, visitor, context); } @@ -65395,11 +65710,11 @@ var ts; var body = ts.cast(ts.cast(ts.skipOuterExpressions(node.expression), ts.isArrowFunction).body, ts.isBlock); // The class statements are the statements generated by visiting the first statement with initializer of the // body (1), while all other statements are added to remainingStatements (2) - var isVariableStatementWithInitializer = function (stmt) { return ts.isVariableStatement(stmt) && !!ts.firstOrUndefined(stmt.declarationList.declarations).initializer; }; + var isVariableStatementWithInitializer = function (stmt) { return ts.isVariableStatement(stmt) && !!ts.first(stmt.declarationList.declarations).initializer; }; var bodyStatements = ts.visitNodes(body.statements, visitor, ts.isStatement); var classStatements = ts.filter(bodyStatements, isVariableStatementWithInitializer); var remainingStatements = ts.filter(bodyStatements, function (stmt) { return !isVariableStatementWithInitializer(stmt); }); - var varStatement = ts.cast(ts.firstOrUndefined(classStatements), ts.isVariableStatement); + var varStatement = ts.cast(ts.first(classStatements), ts.isVariableStatement); // We know there is only one variable declaration here as we verified this in an // earlier call to isTypeScriptClassWrapper var variable = varStatement.declarationList.declarations[0]; @@ -65576,7 +65891,7 @@ var ts; else { if (segments.length === 1) { var firstElement = elements[0]; - return needsUniqueCopy && ts.isSpreadElement(firstElement) && firstElement.expression.kind !== 182 /* ArrayLiteralExpression */ + return needsUniqueCopy && ts.isSpreadElement(firstElement) && firstElement.expression.kind !== 183 /* ArrayLiteralExpression */ ? ts.createArraySlice(segments[0]) : segments[0]; } @@ -65839,13 +66154,13 @@ var ts; if ((enabledSubstitutions & 1 /* CapturedThis */) === 0) { enabledSubstitutions |= 1 /* CapturedThis */; context.enableSubstitution(99 /* ThisKeyword */); - context.enableEmitNotification(154 /* Constructor */); - context.enableEmitNotification(153 /* MethodDeclaration */); - context.enableEmitNotification(155 /* GetAccessor */); - context.enableEmitNotification(156 /* SetAccessor */); - context.enableEmitNotification(192 /* ArrowFunction */); - context.enableEmitNotification(191 /* FunctionExpression */); - context.enableEmitNotification(233 /* FunctionDeclaration */); + context.enableEmitNotification(155 /* Constructor */); + context.enableEmitNotification(154 /* MethodDeclaration */); + context.enableEmitNotification(156 /* GetAccessor */); + context.enableEmitNotification(157 /* SetAccessor */); + context.enableEmitNotification(193 /* ArrowFunction */); + context.enableEmitNotification(192 /* FunctionExpression */); + context.enableEmitNotification(234 /* FunctionDeclaration */); } } /** @@ -65885,14 +66200,13 @@ var ts; * @param node An original source tree node. */ function isNameOfDeclarationWithCollidingName(node) { - var parent = node.parent; - switch (parent.kind) { - case 181 /* BindingElement */: - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: - case 231 /* VariableDeclaration */: - return parent.name === node - && resolver.isDeclarationWithCollidingName(parent); + switch (node.parent.kind) { + case 182 /* BindingElement */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 232 /* VariableDeclaration */: + return node.parent.name === node + && resolver.isDeclarationWithCollidingName(node.parent); } return false; } @@ -65972,11 +66286,11 @@ var ts; return false; } var statement = ts.firstOrUndefined(constructor.body.statements); - if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 215 /* ExpressionStatement */) { + if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 216 /* ExpressionStatement */) { return false; } var statementExpression = statement.expression; - if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 186 /* CallExpression */) { + if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 187 /* CallExpression */) { return false; } var callTarget = statementExpression.expression; @@ -65984,7 +66298,7 @@ var ts; return false; } var callArgument = ts.singleOrUndefined(statementExpression.arguments); - if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 203 /* SpreadElement */) { + if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 204 /* SpreadElement */) { return false; } var expression = callArgument.expression; @@ -66037,15 +66351,15 @@ var ts; if (compilerOptions.jsx === 1 /* Preserve */ || compilerOptions.jsx === 3 /* ReactNative */) { previousOnEmitNode = context.onEmitNode; context.onEmitNode = onEmitNode; - context.enableEmitNotification(256 /* JsxOpeningElement */); - context.enableEmitNotification(257 /* JsxClosingElement */); - context.enableEmitNotification(255 /* JsxSelfClosingElement */); + context.enableEmitNotification(257 /* JsxOpeningElement */); + context.enableEmitNotification(258 /* JsxClosingElement */); + context.enableEmitNotification(256 /* JsxSelfClosingElement */); noSubstitution = []; } var previousOnSubstituteNode = context.onSubstituteNode; context.onSubstituteNode = onSubstituteNode; - context.enableSubstitution(184 /* PropertyAccessExpression */); - context.enableSubstitution(269 /* PropertyAssignment */); + context.enableSubstitution(185 /* PropertyAccessExpression */); + context.enableSubstitution(270 /* PropertyAssignment */); return ts.chainBundle(transformSourceFile); /** * Transforms an ES5 source file to ES3. @@ -66064,9 +66378,9 @@ var ts; */ function onEmitNode(hint, node, emitCallback) { switch (node.kind) { - case 256 /* JsxOpeningElement */: - case 257 /* JsxClosingElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 258 /* JsxClosingElement */: + case 256 /* JsxSelfClosingElement */: var tagName = node.tagName; noSubstitution[ts.getOriginalNodeId(tagName)] = true; break; @@ -66123,7 +66437,7 @@ var ts; */ function trySubstituteReservedName(name) { var token = name.originalKeywordKind || (ts.nodeIsSynthesized(name) ? ts.stringToToken(ts.idText(name)) : undefined); - if (token >= 72 /* FirstReservedWord */ && token <= 107 /* LastReservedWord */) { + if (token !== undefined && token >= 72 /* FirstReservedWord */ && token <= 107 /* LastReservedWord */) { return ts.setTextRange(ts.createLiteral(name), name); } return undefined; @@ -66308,6 +66622,7 @@ var ts; case 4 /* Yield */: return "yield"; case 5 /* YieldStar */: return "yield*"; case 7 /* Endfinally */: return "endfinally"; + default: return undefined; // TODO: GH#18217 } } function transformGenerators(context) { @@ -66397,13 +66712,13 @@ var ts; */ function visitJavaScriptInStatementContainingYield(node) { switch (node.kind) { - case 217 /* DoStatement */: + case 218 /* DoStatement */: return visitDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return visitWhileStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return visitSwitchStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return visitLabeledStatement(node); default: return visitJavaScriptInGeneratorFunctionBody(node); @@ -66416,24 +66731,24 @@ var ts; */ function visitJavaScriptInGeneratorFunctionBody(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return visitAccessorDeclaration(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatement(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatement(node); - case 223 /* BreakStatement */: + case 224 /* BreakStatement */: return visitBreakStatement(node); - case 222 /* ContinueStatement */: + case 223 /* ContinueStatement */: return visitContinueStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return visitReturnStatement(node); default: if (node.transformFlags & 16777216 /* ContainsYield */) { @@ -66454,21 +66769,21 @@ var ts; */ function visitJavaScriptContainingYield(node) { switch (node.kind) { - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return visitBinaryExpression(node); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return visitConditionalExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return visitYieldExpression(node); - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return visitArrayLiteralExpression(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return visitElementAccessExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return visitCallExpression(node); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return visitNewExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -66481,9 +66796,9 @@ var ts; */ function visitGenerator(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return visitFunctionExpression(node); default: return ts.Debug.failBadSyntaxKind(node); @@ -66615,7 +66930,7 @@ var ts; var statementOffset = ts.addPrologue(statements, body.statements, /*ensureUseStrict*/ false, visitor); transformAndEmitStatements(body.statements, statementOffset); var buildResult = build(); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); statements.push(ts.createReturn(buildResult)); // Restore previous generator state inGeneratorFunctionBody = savedInGeneratorFunctionBody; @@ -66671,13 +66986,14 @@ var ts; * @param node The node to visit. */ function visitBinaryExpression(node) { - switch (ts.getExpressionAssociativity(node)) { + var assoc = ts.getExpressionAssociativity(node); + switch (assoc) { case 0 /* Left */: return visitLeftAssociativeBinaryExpression(node); case 1 /* Right */: return visitRightAssociativeBinaryExpression(node); default: - ts.Debug.fail("Unknown associativity."); + return ts.Debug.assertNever(assoc); } } function isCompoundAssignment(kind) { @@ -66710,7 +67026,7 @@ var ts; if (containsYield(right)) { var target = void 0; switch (left.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: // [source] // a.b = yield; // @@ -66722,7 +67038,7 @@ var ts; // _a.b = %sent%; target = ts.updatePropertyAccess(left, cacheExpression(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression)), left.name); break; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: // [source] // a[b] = yield; // @@ -67098,35 +67414,35 @@ var ts; } function transformAndEmitStatementWorker(node) { switch (node.kind) { - case 212 /* Block */: + case 213 /* Block */: return transformAndEmitBlock(node); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return transformAndEmitExpressionStatement(node); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return transformAndEmitIfStatement(node); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return transformAndEmitDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return transformAndEmitWhileStatement(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return transformAndEmitForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return transformAndEmitForInStatement(node); - case 222 /* ContinueStatement */: + case 223 /* ContinueStatement */: return transformAndEmitContinueStatement(node); - case 223 /* BreakStatement */: + case 224 /* BreakStatement */: return transformAndEmitBreakStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return transformAndEmitReturnStatement(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return transformAndEmitWithStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return transformAndEmitSwitchStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return transformAndEmitLabeledStatement(node); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return transformAndEmitThrowStatement(node); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return transformAndEmitTryStatement(node); default: return emitStatement(ts.visitNode(node, visitor, ts.isStatement)); @@ -67556,7 +67872,7 @@ var ts; for (var i = 0; i < numClauses; i++) { var clause = caseBlock.clauses[i]; clauseLabels.push(defineLabel()); - if (clause.kind === 266 /* DefaultClause */ && defaultClauseIndex === -1) { + if (clause.kind === 267 /* DefaultClause */ && defaultClauseIndex === -1) { defaultClauseIndex = i; } } @@ -67569,7 +67885,7 @@ var ts; var defaultClausesSkipped = 0; for (var i = clausesWritten; i < numClauses; i++) { var clause = caseBlock.clauses[i]; - if (clause.kind === 265 /* CaseClause */) { + if (clause.kind === 266 /* CaseClause */) { if (containsYield(clause.expression) && pendingClauses.length > 0) { break; } @@ -67685,7 +68001,7 @@ var ts; beginExceptionBlock(); transformAndEmitEmbeddedStatement(node.tryBlock); if (node.catchClause) { - beginCatchBlock(node.catchClause.variableDeclaration); + beginCatchBlock(node.catchClause.variableDeclaration); // TODO: GH#18217 transformAndEmitEmbeddedStatement(node.catchClause.block); } if (node.finallyBlock) { @@ -67699,7 +68015,7 @@ var ts; } } function containsYield(node) { - return node && (node.transformFlags & 16777216 /* ContainsYield */) !== 0; + return !!node && (node.transformFlags & 16777216 /* ContainsYield */) !== 0; } function countInitialNodesWithoutYield(nodes) { var numNodes = nodes.length; @@ -67800,7 +68116,8 @@ var ts; */ function endBlock() { var block = peekBlock(); - ts.Debug.assert(block !== undefined, "beginBlock was never called."); + if (block === undefined) + return ts.Debug.fail("beginBlock was never called."); var index = blockActions.length; blockActions[index] = 1 /* Close */; blockOffsets[index] = operations ? operations.length : 0; @@ -68133,7 +68450,7 @@ var ts; * @param label A label. */ function createLabel(label) { - if (label > 0) { + if (label !== undefined && label > 0) { if (labelExpressions === undefined) { labelExpressions = []; } @@ -68772,7 +69089,7 @@ var ts; name: "typescript:generator", scoped: false, priority: 6, - text: "\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [0, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };" + text: "\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };" }; })(ts || (ts = {})); /*@internal*/ @@ -68797,11 +69114,11 @@ var ts; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; context.enableSubstitution(71 /* Identifier */); // Substitutes expression identifiers with imported/exported symbols. - context.enableSubstitution(199 /* BinaryExpression */); // Substitutes assignments to exported symbols. - context.enableSubstitution(197 /* PrefixUnaryExpression */); // Substitutes updates to exported symbols. - context.enableSubstitution(198 /* PostfixUnaryExpression */); // Substitutes updates to exported symbols. - context.enableSubstitution(270 /* ShorthandPropertyAssignment */); // Substitutes shorthand property assignments for imported/exported symbols. - context.enableEmitNotification(273 /* SourceFile */); // Restore state when substituting nodes in a file. + context.enableSubstitution(200 /* BinaryExpression */); // Substitutes assignments to exported symbols. + context.enableSubstitution(198 /* PrefixUnaryExpression */); // Substitutes updates to exported symbols. + context.enableSubstitution(199 /* PostfixUnaryExpression */); // Substitutes updates to exported symbols. + context.enableSubstitution(271 /* ShorthandPropertyAssignment */); // Substitutes shorthand property assignments for imported/exported symbols. + context.enableEmitNotification(274 /* SourceFile */); // Restore state when substituting nodes in a file. var moduleInfoMap = []; // The ExternalModuleInfo for each file. var deferredExports = []; // Exports to defer until an EndOfDeclarationMarker is found. var currentSourceFile; // The current file. @@ -68851,7 +69168,7 @@ var ts; ts.append(statements, ts.visitNode(currentModuleInfo.externalHelpersImportDeclaration, sourceElementVisitor, ts.isStatement)); ts.addRange(statements, ts.visitNodes(node.statements, sourceElementVisitor, ts.isStatement, statementOffset)); addExportEqualsIfNeeded(statements, /*emitAsReturn*/ false); - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var updated = ts.updateSourceFileNode(node, ts.setTextRange(ts.createNodeArray(statements), node.statements)); if (currentModuleInfo.hasExportStarsToExportValues && !compilerOptions.importHelpers) { // If we have any `export * from ...` declarations @@ -69045,7 +69362,7 @@ var ts; if (ts.isImportEqualsDeclaration(node) || ts.isExportDeclaration(node) || !ts.getExternalModuleNameLiteral(node, currentSourceFile, host, resolver, compilerOptions)) { return undefined; } - var name = ts.getLocalNameForExternalImport(node, currentSourceFile); + var name = ts.getLocalNameForExternalImport(node, currentSourceFile); // TODO: GH#18217 var expr = getHelperExpressionForImport(node, name); if (expr === name) { return undefined; @@ -69074,7 +69391,7 @@ var ts; addExportEqualsIfNeeded(statements, /*emitAsReturn*/ true); // End the lexical environment for the module body // and merge any new lexical declarations. - ts.prependRange(statements, endLexicalEnvironment()); + ts.prependStatements(statements, endLexicalEnvironment()); var body = ts.createBlock(statements, /*multiLine*/ true); if (currentModuleInfo.hasExportStarsToExportValues && !compilerOptions.importHelpers) { // If we have any `export * from ...` declarations @@ -69123,23 +69440,23 @@ var ts; */ function sourceElementVisitor(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return visitImportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return visitExportDeclaration(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitExportAssignment(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatement(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return visitClassDeclaration(node); - case 302 /* MergeDeclarationMarker */: + case 303 /* MergeDeclarationMarker */: return visitMergeDeclarationMarker(node); - case 303 /* EndOfDeclarationMarker */: + case 304 /* EndOfDeclarationMarker */: return visitEndOfDeclarationMarker(node); default: return ts.visitEachChild(node, moduleExpressionElementVisitor, context); @@ -69166,24 +69483,24 @@ var ts; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var elem = _a[_i]; switch (elem.kind) { - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: if (destructuringNeedsFlattening(elem.initializer)) { return true; } break; - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: if (destructuringNeedsFlattening(elem.name)) { return true; } break; - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: if (destructuringNeedsFlattening(elem.expression)) { return true; } break; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return false; default: ts.Debug.assertNever(elem, "Unhandled object member kind"); } @@ -69658,7 +69975,7 @@ var ts; // // To balance the declaration, add the exports of the elided variable // statement. - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 213 /* VariableStatement */) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 214 /* VariableStatement */) { var id = ts.getOriginalNodeId(node); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original); } @@ -69713,10 +70030,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 246 /* NamedImports */: + case 247 /* NamedImports */: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding); @@ -69915,7 +70232,7 @@ var ts; * @param emit A callback used to emit the node in the printer. */ function onEmitNode(hint, node, emitCallback) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { currentSourceFile = node; currentModuleInfo = moduleInfoMap[ts.getOriginalNodeId(currentSourceFile)]; noSubstitution = []; @@ -69979,10 +70296,10 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return substituteExpressionIdentifier(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return substituteBinaryExpression(node); - case 198 /* PostfixUnaryExpression */: - case 197 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return substituteUnaryExpression(node); } return node; @@ -70003,7 +70320,7 @@ var ts; } if (!ts.isGeneratedIdentifier(node) && !ts.isLocalName(node)) { var exportContainer = resolver.getReferencedExportContainer(node, ts.isExportName(node)); - if (exportContainer && exportContainer.kind === 273 /* SourceFile */) { + if (exportContainer && exportContainer.kind === 274 /* SourceFile */) { return ts.setTextRange(ts.createPropertyAccess(ts.createIdentifier("exports"), ts.getSynthesizedClone(node)), /*location*/ node); } @@ -70078,7 +70395,7 @@ var ts; && !ts.isDeclarationNameOfEnumOrNamespace(node.operand)) { var exportedNames = getExports(node.operand); if (exportedNames) { - var expression = node.kind === 198 /* PostfixUnaryExpression */ + var expression = node.kind === 199 /* PostfixUnaryExpression */ ? ts.setTextRange(ts.createBinary(node.operand, ts.createToken(node.operator === 43 /* PlusPlusToken */ ? 59 /* PlusEqualsToken */ : 60 /* MinusEqualsToken */), ts.createLiteral(1)), /*location*/ node) : node; @@ -70154,11 +70471,11 @@ var ts; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; context.enableSubstitution(71 /* Identifier */); // Substitutes expression identifiers for imported symbols. - context.enableSubstitution(270 /* ShorthandPropertyAssignment */); // Substitutes expression identifiers for imported symbols - context.enableSubstitution(199 /* BinaryExpression */); // Substitutes assignments to exported symbols. - context.enableSubstitution(197 /* PrefixUnaryExpression */); // Substitutes updates to exported symbols. - context.enableSubstitution(198 /* PostfixUnaryExpression */); // Substitutes updates to exported symbols. - context.enableEmitNotification(273 /* SourceFile */); // Restore state when substituting nodes in a file. + context.enableSubstitution(271 /* ShorthandPropertyAssignment */); // Substitutes expression identifiers for imported symbols + context.enableSubstitution(200 /* BinaryExpression */); // Substitutes assignments to exported symbols. + context.enableSubstitution(198 /* PrefixUnaryExpression */); // Substitutes updates to exported symbols. + context.enableSubstitution(199 /* PostfixUnaryExpression */); // Substitutes updates to exported symbols. + context.enableEmitNotification(274 /* SourceFile */); // Restore state when substituting nodes in a file. var moduleInfoMap = []; // The ExternalModuleInfo for each file. var deferredExports = []; // Exports to defer until an EndOfDeclarationMarker is found. var exportFunctionsMap = []; // The export function associated with a source file. @@ -70343,8 +70660,8 @@ var ts; // We emit hoisted variables early to align roughly with our previous emit output. // Two key differences in this approach are: // - Temporary variables will appear at the top rather than at the bottom of the file - ts.prependRange(statements, endLexicalEnvironment()); - var exportStarFunction = addExportStarIfNeeded(statements); + ts.prependStatements(statements, endLexicalEnvironment()); + var exportStarFunction = addExportStarIfNeeded(statements); // TODO: GH#18217 var moduleObject = ts.createObjectLiteral([ ts.createPropertyAssignment("setters", createSettersArray(exportStarFunction, dependencyGroups)), ts.createPropertyAssignment("execute", ts.createFunctionExpression( @@ -70379,7 +70696,7 @@ var ts; var hasExportDeclarationWithExportClause = false; for (var _i = 0, _a = moduleInfo.externalImports; _i < _a.length; _i++) { var externalImport = _a[_i]; - if (externalImport.kind === 249 /* ExportDeclaration */ && externalImport.exportClause) { + if (externalImport.kind === 250 /* ExportDeclaration */ && externalImport.exportClause) { hasExportDeclarationWithExportClause = true; break; } @@ -70404,7 +70721,7 @@ var ts; } for (var _d = 0, _e = moduleInfo.externalImports; _d < _e.length; _d++) { var externalImport = _e[_d]; - if (externalImport.kind !== 249 /* ExportDeclaration */) { + if (externalImport.kind !== 250 /* ExportDeclaration */) { continue; } if (!externalImport.exportClause) { @@ -70480,21 +70797,21 @@ var ts; var statements = []; for (var _a = 0, _b = group_1.externalImports; _a < _b.length; _a++) { var entry = _b[_a]; - var importVariableName = ts.getLocalNameForExternalImport(entry, currentSourceFile); + var importVariableName = ts.getLocalNameForExternalImport(entry, currentSourceFile); // TODO: GH#18217 switch (entry.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: if (!entry.importClause) { // 'import "..."' case // module is imported only for side-effects, no emit required break; } // falls through - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: ts.Debug.assert(importVariableName !== undefined); // save import into the local statements.push(ts.createStatement(ts.createAssignment(importVariableName, parameterName))); break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: ts.Debug.assert(importVariableName !== undefined); if (entry.exportClause) { // export {a, b as c} from 'foo' @@ -70544,15 +70861,15 @@ var ts; */ function sourceElementVisitor(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return visitImportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: // ExportDeclarations are elided as they are handled via // `appendExportsOfDeclaration`. return undefined; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitExportAssignment(node); default: return nestedElementVisitor(node); @@ -70566,7 +70883,7 @@ var ts; function visitImportDeclaration(node) { var statements; if (node.importClause) { - hoistVariableDeclaration(ts.getLocalNameForExternalImport(node, currentSourceFile)); + hoistVariableDeclaration(ts.getLocalNameForExternalImport(node, currentSourceFile)); // TODO: GH#18217 } if (hasAssociatedEndOfDeclarationMarker(node)) { // Defer exports until we encounter an EndOfDeclarationMarker node @@ -70586,7 +70903,7 @@ var ts; function visitImportEqualsDeclaration(node) { ts.Debug.assert(ts.isExternalModuleImportEqualsDeclaration(node), "import= for internal module references should be handled in an earlier transformer."); var statements; - hoistVariableDeclaration(ts.getLocalNameForExternalImport(node, currentSourceFile)); + hoistVariableDeclaration(ts.getLocalNameForExternalImport(node, currentSourceFile)); // TODO: GH#18217 if (hasAssociatedEndOfDeclarationMarker(node)) { // Defer exports until we encounter an EndOfDeclarationMarker node var id = ts.getOriginalNodeId(node); @@ -70728,7 +71045,7 @@ var ts; function shouldHoistVariableDeclarationList(node) { // hoist only non-block scoped declarations or block scoped declarations parented by source file return (ts.getEmitFlags(node) & 2097152 /* NoHoisting */) === 0 - && (enclosingBlockScopedContainer.kind === 273 /* SourceFile */ + && (enclosingBlockScopedContainer.kind === 274 /* SourceFile */ || (ts.getOriginalNode(node).flags & 3 /* BlockScoped */) === 0); } /** @@ -70792,7 +71109,7 @@ var ts; // // To balance the declaration, we defer the exports of the elided variable // statement until we visit this declaration's `EndOfDeclarationMarker`. - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 213 /* VariableStatement */) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 214 /* VariableStatement */) { var id = ts.getOriginalNodeId(node); var isExportedDeclaration = ts.hasModifier(node.original, 1 /* Export */); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original, isExportedDeclaration); @@ -70854,10 +71171,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 246 /* NamedImports */: + case 247 /* NamedImports */: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding); @@ -71037,43 +71354,43 @@ var ts; */ function nestedElementVisitor(node) { switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return visitVariableStatement(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return visitClassDeclaration(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return visitForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return visitForInStatement(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return visitForOfStatement(node); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return visitDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return visitWhileStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return visitLabeledStatement(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return visitWithStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return visitSwitchStatement(node); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return visitCaseBlock(node); - case 265 /* CaseClause */: + case 266 /* CaseClause */: return visitCaseClause(node); - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: return visitDefaultClause(node); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return visitTryStatement(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return visitCatchClause(node); - case 212 /* Block */: + case 213 /* Block */: return visitBlock(node); - case 302 /* MergeDeclarationMarker */: + case 303 /* MergeDeclarationMarker */: return visitMergeDeclarationMarker(node); - case 303 /* EndOfDeclarationMarker */: + case 304 /* EndOfDeclarationMarker */: return visitEndOfDeclarationMarker(node); default: return destructuringAndImportCallVisitor(node); @@ -71087,7 +71404,7 @@ var ts; function visitForStatement(node) { var savedEnclosingBlockScopedContainer = enclosingBlockScopedContainer; enclosingBlockScopedContainer = node; - node = ts.updateFor(node, visitForInitializer(node.initializer), ts.visitNode(node.condition, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.incrementor, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.statement, nestedElementVisitor, ts.isStatement)); + node = ts.updateFor(node, node.initializer && visitForInitializer(node.initializer), ts.visitNode(node.condition, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.incrementor, destructuringAndImportCallVisitor, ts.isExpression), ts.visitNode(node.statement, nestedElementVisitor, ts.isStatement)); enclosingBlockScopedContainer = savedEnclosingBlockScopedContainer; return node; } @@ -71131,9 +71448,6 @@ var ts; * @param node The node to visit. */ function visitForInitializer(node) { - if (!node) { - return node; - } if (shouldHoistForInitializer(node)) { var expressions = void 0; for (var _i = 0, _a = node.declarations; _i < _a.length; _i++) { @@ -71259,7 +71573,7 @@ var ts; */ function destructuringAndImportCallVisitor(node) { if (node.transformFlags & 1024 /* DestructuringAssignment */ - && node.kind === 199 /* BinaryExpression */) { + && node.kind === 200 /* BinaryExpression */) { return visitDestructuringAssignment(node); } else if (ts.isImportCall(node)) { @@ -71324,7 +71638,7 @@ var ts; } else if (ts.isIdentifier(node)) { var container = resolver.getReferencedExportContainer(node); - return container !== undefined && container.kind === 273 /* SourceFile */; + return container !== undefined && container.kind === 274 /* SourceFile */; } else { return false; @@ -71357,7 +71671,7 @@ var ts; * @param emitCallback A callback used to emit the node in the printer. */ function onEmitNode(hint, node, emitCallback) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { var id = ts.getOriginalNodeId(node); currentSourceFile = node; moduleInfo = moduleInfoMap[id]; @@ -71405,7 +71719,7 @@ var ts; */ function substituteUnspecified(node) { switch (node.kind) { - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return substituteShorthandPropertyAssignment(node); } return node; @@ -71441,10 +71755,10 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return substituteExpressionIdentifier(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return substituteBinaryExpression(node); - case 197 /* PrefixUnaryExpression */: - case 198 /* PostfixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return substituteUnaryExpression(node); } return node; @@ -71537,14 +71851,14 @@ var ts; && !ts.isDeclarationNameOfEnumOrNamespace(node.operand)) { var exportedNames = getExports(node.operand); if (exportedNames) { - var expression = node.kind === 198 /* PostfixUnaryExpression */ + var expression = node.kind === 199 /* PostfixUnaryExpression */ ? ts.setTextRange(ts.createPrefix(node.operator, node.operand), node) : node; for (var _i = 0, exportedNames_5 = exportedNames; _i < exportedNames_5.length; _i++) { var exportName = exportedNames_5[_i]; expression = createExportExpression(exportName, preventSubstitution(expression)); } - if (node.kind === 198 /* PostfixUnaryExpression */) { + if (node.kind === 199 /* PostfixUnaryExpression */) { expression = node.operator === 43 /* PlusPlusToken */ ? ts.createSubtract(preventSubstitution(expression), ts.createLiteral(1)) : ts.createAdd(preventSubstitution(expression), ts.createLiteral(1)); @@ -71566,7 +71880,7 @@ var ts; || resolver.getReferencedValueDeclaration(name); if (valueDeclaration) { var exportContainer = resolver.getReferencedExportContainer(name, /*prefixLocals*/ false); - if (exportContainer && exportContainer.kind === 273 /* SourceFile */) { + if (exportContainer && exportContainer.kind === 274 /* SourceFile */) { exportedNames = ts.append(exportedNames, ts.getDeclarationName(valueDeclaration)); } exportedNames = ts.addRange(exportedNames, moduleInfo && moduleInfo.exportedBindings[ts.getOriginalNodeId(valueDeclaration)]); @@ -71605,7 +71919,7 @@ var ts; var previousOnSubstituteNode = context.onSubstituteNode; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; - context.enableEmitNotification(273 /* SourceFile */); + context.enableEmitNotification(274 /* SourceFile */); context.enableSubstitution(71 /* Identifier */); var currentSourceFile; return ts.chainBundle(transformSourceFile); @@ -71634,10 +71948,10 @@ var ts; } function visitor(node) { switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: // Elide `import=` as it is not legal with --module ES6 return undefined; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return visitExportAssignment(node); } return node; @@ -71744,7 +72058,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -71773,7 +72087,7 @@ var ts; ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -71817,10 +72131,10 @@ var ts; return getTypeAliasDeclarationVisibilityError; } else { - ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]); + return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]); } function getVariableDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { - if (node.kind === 231 /* VariableDeclaration */ || node.kind === 181 /* BindingElement */) { + if (node.kind === 232 /* VariableDeclaration */ || node.kind === 182 /* BindingElement */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -71829,8 +72143,8 @@ var ts; } // This check is to ensure we don't report error on constructor parameter property as that error would be reported during parameter emit // The only exception here is if the constructor was marked as private. we are not emitting the constructor parameters at all. - else if (node.kind === 151 /* PropertyDeclaration */ || node.kind === 150 /* PropertySignature */ || - (node.kind === 148 /* Parameter */ && ts.hasModifier(node.parent, 8 /* Private */))) { + else if (node.kind === 152 /* PropertyDeclaration */ || node.kind === 151 /* PropertySignature */ || + (node.kind === 149 /* Parameter */ && ts.hasModifier(node.parent, 8 /* Private */))) { // TODO(jfreeman): Deal with computed properties in error reporting. if (ts.hasModifier(node, 32 /* Static */)) { return symbolAccessibilityResult.errorModuleName ? @@ -71839,7 +72153,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 234 /* ClassDeclaration */ || node.kind === 148 /* Parameter */) { + else if (node.parent.kind === 235 /* ClassDeclaration */ || node.kind === 149 /* Parameter */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -71864,7 +72178,7 @@ var ts; } function getAccessorDeclarationTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; - if (node.kind === 156 /* SetAccessor */) { + if (node.kind === 157 /* SetAccessor */) { // Getters can infer the return type from the returned expression, but setters cannot, so the // "_from_external_module_1_but_cannot_be_named" case cannot occur. if (ts.hasModifier(node, 32 /* Static */)) { @@ -71903,26 +72217,26 @@ var ts; function getReturnTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; switch (node.kind) { - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 157 /* CallSignature */: + case 158 /* CallSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.hasModifier(node, 32 /* Static */)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? @@ -71930,7 +72244,7 @@ var ts; ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0; } - else if (node.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.kind === 235 /* ClassDeclaration */) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -71944,7 +72258,7 @@ var ts; ts.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0; } break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -71952,7 +72266,7 @@ var ts; ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0; break; default: - ts.Debug.fail("This is unknown kind for signature: " + node.kind); + return ts.Debug.fail("This is unknown kind for signature: " + node.kind); } return { diagnosticMessage: diagnosticMessage, @@ -71969,30 +72283,30 @@ var ts; } function getParameterDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { switch (node.parent.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1; - case 158 /* ConstructSignature */: - case 163 /* ConstructorType */: + case 159 /* ConstructSignature */: + case 164 /* ConstructorType */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; - case 157 /* CallSignature */: + case 158 /* CallSignature */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.hasModifier(node.parent, 32 /* Static */)) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? @@ -72000,7 +72314,7 @@ var ts; ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.parent.kind === 235 /* ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -72013,53 +72327,53 @@ var ts; ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } - case 233 /* FunctionDeclaration */: - case 162 /* FunctionType */: + case 234 /* FunctionDeclaration */: + case 163 /* FunctionType */: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1; default: - ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]); + return ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]); } } function getTypeParameterConstraintVisibilityError() { // Type parameter constraints are named by user so we should always be able to name it var diagnosticMessage; switch (node.parent.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1; break; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1; break; - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 157 /* CallSignature */: + case 158 /* CallSignature */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.hasModifier(node.parent, 32 /* Static */)) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 234 /* ClassDeclaration */) { + else if (node.parent.parent.kind === 235 /* ClassDeclaration */) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; } else { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1; break; - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1; break; default: - ts.Debug.fail("This is unknown parent for type parameter: " + node.parent.kind); + return ts.Debug.fail("This is unknown parent for type parameter: " + node.parent.kind); } return { diagnosticMessage: diagnosticMessage, @@ -72070,7 +72384,7 @@ var ts; function getHeritageClauseVisibilityError() { var diagnosticMessage; // Heritage clause is written by user so it can always be named - if (node.parent.parent.kind === 234 /* ClassDeclaration */) { + if (node.parent.parent.kind === 235 /* ClassDeclaration */) { // Class or Interface implemented/extended is inaccessible diagnosticMessage = node.parent.token === 108 /* ImplementsKeyword */ ? ts.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : @@ -72222,16 +72536,16 @@ var ts; } } function transformRoot(node) { - if (node.kind === 273 /* SourceFile */ && (node.isDeclarationFile || ts.isSourceFileJavaScript(node))) { + if (node.kind === 274 /* SourceFile */ && (node.isDeclarationFile || ts.isSourceFileJavaScript(node))) { return node; } - if (node.kind === 274 /* Bundle */) { + if (node.kind === 275 /* Bundle */) { isBundledEmit = true; var refs_1 = ts.createMap(); var hasNoDefaultLib_1 = false; var bundle = ts.createBundle(ts.map(node.sourceFiles, function (sourceFile) { if (sourceFile.isDeclarationFile || ts.isSourceFileJavaScript(sourceFile)) - return; // Omit declaration files from bundle results, too + return undefined; // Omit declaration files from bundle results, too // TODO: GH#18217 hasNoDefaultLib_1 = hasNoDefaultLib_1 || sourceFile.hasNoDefaultLib; currentSourceFile = sourceFile; enclosingDeclaration = sourceFile; @@ -72253,7 +72567,7 @@ var ts; var updated = ts.visitNodes(sourceFile.statements, visitDeclarationStatements); return ts.updateSourceFileNode(sourceFile, transformAndReplaceLatePaintedStatements(updated), /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false); }), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 276 /* InputFiles */) { + if (prepend.kind === 277 /* InputFiles */) { return ts.createUnparsedSourceFile(prepend.declarationText); } })); @@ -72351,7 +72665,7 @@ var ts; return name; } else { - if (name.kind === 180 /* ArrayBindingPattern */) { + if (name.kind === 181 /* ArrayBindingPattern */) { return ts.updateArrayBindingPattern(name, ts.visitNodes(name.elements, visitBindingElement)); } else { @@ -72359,7 +72673,7 @@ var ts; } } function visitBindingElement(elem) { - if (elem.kind === 205 /* OmittedExpression */) { + if (elem.kind === 206 /* OmittedExpression */) { return elem; } return ts.updateBindingElement(elem, elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializers(elem.name), shouldPrintWithInitializer(elem) ? elem.initializer : undefined); @@ -72397,7 +72711,7 @@ var ts; // Literal const declarations will have an initializer ensured rather than a type return; } - var shouldUseResolverType = node.kind === 148 /* Parameter */ && + var shouldUseResolverType = node.kind === 149 /* Parameter */ && (resolver.isRequiredInitializedParameter(node) || resolver.isOptionalUninitializedParameterProperty(node)); if (type && !shouldUseResolverType) { @@ -72406,7 +72720,7 @@ var ts; if (!ts.getParseTreeNode(node)) { return type ? ts.visitNode(type, visitDeclarationSubtree) : ts.createKeywordTypeNode(119 /* AnyKeyword */); } - if (node.kind === 156 /* SetAccessor */) { + if (node.kind === 157 /* SetAccessor */) { // Set accessors with no associated type node (from it's param or get accessor return) are `any` since they are never contextually typed right now // (The inferred type here will be void, but the old declaration emitter printed `any`, so this replicates that) return ts.createKeywordTypeNode(119 /* AnyKeyword */); @@ -72417,12 +72731,12 @@ var ts; oldDiag = getSymbolAccessibilityDiagnostic; getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(node); } - if (node.kind === 231 /* VariableDeclaration */ || node.kind === 181 /* BindingElement */) { + if (node.kind === 232 /* VariableDeclaration */ || node.kind === 182 /* BindingElement */) { return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } - if (node.kind === 148 /* Parameter */ - || node.kind === 151 /* PropertyDeclaration */ - || node.kind === 150 /* PropertySignature */) { + if (node.kind === 149 /* Parameter */ + || node.kind === 152 /* PropertyDeclaration */ + || node.kind === 151 /* PropertySignature */) { if (!node.initializer) return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); @@ -72439,20 +72753,20 @@ var ts; function isDeclarationAndNotVisible(node) { node = ts.getParseTreeNode(node); switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 238 /* ModuleDeclaration */: - case 235 /* InterfaceDeclaration */: - case 234 /* ClassDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 237 /* EnumDeclaration */: + case 234 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 236 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 238 /* EnumDeclaration */: return !resolver.isDeclarationVisible(node); // The following should be doing their own visibility checks based on filtering their members - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return !getBindingNameVisible(node); - case 242 /* ImportEqualsDeclaration */: - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: - case 248 /* ExportAssignment */: + case 243 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: + case 249 /* ExportAssignment */: return false; } return false; @@ -72463,7 +72777,7 @@ var ts; } if (ts.isBindingPattern(elem.name)) { // If any child binding pattern element has been marked visible (usually by collect linked aliases), then this is visible - return ts.forEach(elem.name.elements, getBindingNameVisible); + return ts.some(elem.name.elements, getBindingNameVisible); } else { return resolver.isDeclarationVisible(elem); @@ -72471,11 +72785,11 @@ var ts; } function updateParamsList(node, params, modifierMask) { if (ts.hasModifier(node, 8 /* Private */)) { - return undefined; + return undefined; // TODO: GH#18217 } var newParams = ts.map(params, function (p) { return ensureParameter(p, modifierMask); }); if (!newParams) { - return undefined; + return undefined; // TODO: GH#18217 } return ts.createNodeArray(newParams, params.hasTrailingComma); } @@ -72505,8 +72819,8 @@ var ts; } function rewriteModuleSpecifier(parent, input) { if (!input) - return; - resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 238 /* ModuleDeclaration */ && parent.kind !== 178 /* ImportType */); + return undefined; // TODO: GH#18217 + resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 239 /* ModuleDeclaration */ && parent.kind !== 179 /* ImportType */); if (input.kind === 9 /* StringLiteral */ && isBundledEmit) { var newName = ts.getExternalModuleNameFromDeclaration(context.getEmitHost(), resolver, parent); if (newName) { @@ -72518,7 +72832,7 @@ var ts; function transformImportEqualsDeclaration(decl) { if (!resolver.isDeclarationVisible(decl)) return; - if (decl.moduleReference.kind === 253 /* ExternalModuleReference */) { + if (decl.moduleReference.kind === 254 /* ExternalModuleReference */) { // Rewrite external module names if necessary var specifier = ts.getExternalModuleImportEqualsDeclarationExpression(decl); return ts.updateImportEqualsDeclaration(decl, @@ -72545,7 +72859,7 @@ var ts; return visibleDefaultBinding && ts.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, ts.updateImportClause(decl.importClause, visibleDefaultBinding, /*namedBindings*/ undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier)); } - if (decl.importClause.namedBindings.kind === 245 /* NamespaceImport */) { + if (decl.importClause.namedBindings.kind === 246 /* NamespaceImport */) { // Namespace import (optionally with visible default) var namedBindings = resolver.isDeclarationVisible(decl.importClause.namedBindings) ? decl.importClause.namedBindings : /*namedBindings*/ undefined; return visibleDefaultBinding || namedBindings ? ts.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, ts.updateImportClause(decl.importClause, visibleDefaultBinding, namedBindings), rewriteModuleSpecifier(decl, decl.moduleSpecifier)) : undefined; @@ -72650,66 +72964,68 @@ var ts; checkEntityNameVisibility(input.exprName, enclosingDeclaration); } var oldWithinObjectLiteralType = suppressNewDiagnosticContexts; - var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 165 /* TypeLiteral */ || input.kind === 176 /* MappedType */) && input.parent.kind !== 236 /* TypeAliasDeclaration */); + var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 166 /* TypeLiteral */ || input.kind === 177 /* MappedType */) && input.parent.kind !== 237 /* TypeAliasDeclaration */); if (shouldEnterSuppressNewDiagnosticsContextContext) { // We stop making new diagnostic contexts within object literal types. Unless it's an object type on the RHS of a type alias declaration. Then we do. suppressNewDiagnosticContexts = true; } if (isProcessedComponent(input)) { switch (input.kind) { - case 206 /* ExpressionWithTypeArguments */: { + case 207 /* ExpressionWithTypeArguments */: { if ((ts.isEntityName(input.expression) || ts.isEntityNameExpression(input.expression))) { checkEntityNameVisibility(input.expression, enclosingDeclaration); } var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(ts.updateExpressionWithTypeArguments(node, ts.parenthesizeTypeParameters(node.typeArguments), node.expression)); } - case 161 /* TypeReference */: { + case 162 /* TypeReference */: { checkEntityNameVisibility(input.typeName, enclosingDeclaration); var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(ts.updateTypeReferenceNode(node, node.typeName, ts.parenthesizeTypeParameters(node.typeArguments))); } - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: return cleanup(ts.updateConstructSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); - case 154 /* Constructor */: { + case 155 /* Constructor */: { var isPrivate = ts.hasModifier(input, 8 /* Private */); // A constructor declaration may not have a type annotation - var ctor = ts.createSignatureDeclaration(154 /* Constructor */, isPrivate ? undefined : ensureTypeParams(input, input.typeParameters), isPrivate ? undefined : updateParamsList(input, input.parameters, 0 /* None */), + var ctor = ts.createSignatureDeclaration(155 /* Constructor */, isPrivate ? undefined : ensureTypeParams(input, input.typeParameters), + // TODO: GH#18217 + isPrivate ? undefined : updateParamsList(input, input.parameters, 0 /* None */), /*type*/ undefined); ctor.modifiers = ts.createNodeArray(ensureModifiers(input)); return cleanup(ctor); } - case 153 /* MethodDeclaration */: { - var sig = ts.createSignatureDeclaration(152 /* MethodSignature */, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type)); + case 154 /* MethodDeclaration */: { + var sig = ts.createSignatureDeclaration(153 /* MethodSignature */, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type)); sig.name = input.name; sig.modifiers = ts.createNodeArray(ensureModifiers(input)); sig.questionToken = input.questionToken; return cleanup(sig); } - case 155 /* GetAccessor */: { + case 156 /* GetAccessor */: { var newNode = ensureAccessor(input); return cleanup(newNode); } - case 156 /* SetAccessor */: { + case 157 /* SetAccessor */: { var newNode = ensureAccessor(input); return cleanup(newNode); } - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return cleanup(ts.updateProperty(input, /*decorators*/ undefined, ensureModifiers(input), input.name, input.questionToken, !ts.hasModifier(input, 8 /* Private */) ? ensureType(input, input.type) : undefined, ensureNoInitializer(input))); - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: return cleanup(ts.updatePropertySignature(input, ensureModifiers(input), input.name, input.questionToken, !ts.hasModifier(input, 8 /* Private */) ? ensureType(input, input.type) : undefined, ensureNoInitializer(input))); - case 152 /* MethodSignature */: { + case 153 /* MethodSignature */: { return cleanup(ts.updateMethodSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), input.name, input.questionToken)); } - case 157 /* CallSignature */: { + case 158 /* CallSignature */: { return cleanup(ts.updateCallSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); } - case 159 /* IndexSignature */: { + case 160 /* IndexSignature */: { return cleanup(ts.updateIndexSignature(input, /*decorators*/ undefined, ensureModifiers(input), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree) || ts.createKeywordTypeNode(119 /* AnyKeyword */))); } - case 231 /* VariableDeclaration */: { + case 232 /* VariableDeclaration */: { if (ts.isBindingPattern(input.name)) { return recreateBindingPattern(input.name); } @@ -72717,13 +73033,13 @@ var ts; suppressNewDiagnosticContexts = true; // Variable declaration types also suppress new diagnostic contexts, provided the contexts wouldn't be made for binding pattern types return cleanup(ts.updateVariableDeclaration(input, input.name, ensureType(input, input.type), ensureNoInitializer(input))); } - case 147 /* TypeParameter */: { + case 148 /* TypeParameter */: { if (isPrivateMethodTypeParameter(input) && (input.default || input.constraint)) { return cleanup(ts.updateTypeParameterDeclaration(input, input.name, /*constraint*/ undefined, /*defaultType*/ undefined)); } return cleanup(ts.visitEachChild(input, visitDeclarationSubtree, context)); } - case 170 /* ConditionalType */: { + case 171 /* ConditionalType */: { // We have to process conditional types in a special way because for visibility purposes we need to push a new enclosingDeclaration // just for the `infer` types in the true branch. It's an implicit declaration scope that only applies to _part_ of the type. var checkType = ts.visitNode(input.checkType, visitDeclarationSubtree); @@ -72735,13 +73051,13 @@ var ts; var falseType = ts.visitNode(input.falseType, visitDeclarationSubtree); return cleanup(ts.updateConditionalTypeNode(input, checkType, extendsType, trueType, falseType)); } - case 162 /* FunctionType */: { + case 163 /* FunctionType */: { return cleanup(ts.updateFunctionTypeNode(input, ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 163 /* ConstructorType */: { + case 164 /* ConstructorType */: { return cleanup(ts.updateConstructorTypeNode(input, ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 178 /* ImportType */: { + case 179 /* ImportType */: { if (!ts.isLiteralImportTypeNode(input)) return cleanup(input); return cleanup(ts.updateImportTypeNode(input, ts.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)), input.qualifier, ts.visitNodes(input.typeArguments, visitDeclarationSubtree, ts.isTypeNode), input.isTypeOf)); @@ -72770,7 +73086,7 @@ var ts; } } function isPrivateMethodTypeParameter(node) { - return node.parent.kind === 153 /* MethodDeclaration */ && ts.hasModifier(node.parent, 8 /* Private */); + return node.parent.kind === 154 /* MethodDeclaration */ && ts.hasModifier(node.parent, 8 /* Private */); } function visitDeclarationStatements(input) { if (!isPreservedDeclarationStatement(input)) { @@ -72780,7 +73096,7 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 249 /* ExportDeclaration */: { + case 250 /* ExportDeclaration */: { if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; resultHasScopeMarker = true; @@ -72789,7 +73105,7 @@ var ts; // Rewrite external module names if necessary return ts.updateExportDeclaration(input, /*decorators*/ undefined, input.modifiers, input.exportClause, rewriteModuleSpecifier(input, input.moduleSpecifier)); } - case 248 /* ExportAssignment */: { + case 249 /* ExportAssignment */: { // Always visible if the parent node isn't dropped for being not visible if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; @@ -72819,10 +73135,10 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 242 /* ImportEqualsDeclaration */: { + case 243 /* ImportEqualsDeclaration */: { return transformImportEqualsDeclaration(input); } - case 243 /* ImportDeclaration */: { + case 244 /* ImportDeclaration */: { return transformImportDeclaration(input); } } @@ -72843,24 +73159,24 @@ var ts; } var previousNeedsDeclare = needsDeclare; switch (input.kind) { - case 236 /* TypeAliasDeclaration */: // Type aliases get `declare`d if need be (for legacy support), but that's all + case 237 /* TypeAliasDeclaration */: // Type aliases get `declare`d if need be (for legacy support), but that's all return cleanup(ts.updateTypeAliasDeclaration(input, /*decorators*/ undefined, ensureModifiers(input, isPrivate), input.name, ts.visitNodes(input.typeParameters, visitDeclarationSubtree, ts.isTypeParameterDeclaration), ts.visitNode(input.type, visitDeclarationSubtree, ts.isTypeNode))); - case 235 /* InterfaceDeclaration */: { + case 236 /* InterfaceDeclaration */: { return cleanup(ts.updateInterfaceDeclaration(input, /*decorators*/ undefined, ensureModifiers(input, isPrivate), input.name, ensureTypeParams(input, input.typeParameters), transformHeritageClauses(input.heritageClauses), ts.visitNodes(input.members, visitDeclarationSubtree))); } - case 233 /* FunctionDeclaration */: { + case 234 /* FunctionDeclaration */: { // Generators lose their generator-ness, excepting their return type return cleanup(ts.updateFunctionDeclaration(input, /*decorators*/ undefined, ensureModifiers(input, isPrivate), /*asteriskToken*/ undefined, input.name, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), /*body*/ undefined)); } - case 238 /* ModuleDeclaration */: { + case 239 /* ModuleDeclaration */: { needsDeclare = false; var inner = input.body; - if (inner && inner.kind === 239 /* ModuleBlock */) { + if (inner && inner.kind === 240 /* ModuleBlock */) { var statements = ts.visitNodes(inner.statements, visitDeclarationStatements); var body = ts.updateModuleBlock(inner, transformAndReplaceLatePaintedStatements(statements)); needsDeclare = previousNeedsDeclare; @@ -72874,14 +73190,14 @@ var ts; needsDeclare = false; ts.visitNode(inner, visitDeclarationStatements); // eagerly transform nested namespaces (the nesting doesn't need any elision or painting done) - var id = "" + ts.getOriginalNodeId(inner); + var id = "" + ts.getOriginalNodeId(inner); // TODO: GH#18217 var body = lateStatementReplacementMap.get(id); lateStatementReplacementMap.delete(id); return cleanup(ts.updateModuleDeclaration(input, /*decorators*/ undefined, mods, input.name, body)); } } - case 234 /* ClassDeclaration */: { + case 235 /* ClassDeclaration */: { var modifiers = ts.createNodeArray(ensureModifiers(input, isPrivate)); var typeParameters = ensureTypeParams(input, input.typeParameters); var ctor = ts.getFirstConstructorWithBody(input); @@ -72924,7 +73240,7 @@ var ts; var extendsClause_1 = ts.getClassExtendsHeritageClauseElement(input); if (extendsClause_1 && !ts.isEntityNameExpression(extendsClause_1.expression) && extendsClause_1.expression.kind !== 95 /* NullKeyword */) { // We must add a temporary declaration for the extends clause expression - var newId_1 = ts.createOptimisticUniqueName(ts.unescapeLeadingUnderscores(input.name.escapedText) + "_base"); + var newId_1 = ts.createOptimisticUniqueName(ts.unescapeLeadingUnderscores(input.name.escapedText) + "_base"); // TODO: GH#18217 getSymbolAccessibilityDiagnostic = function () { return ({ diagnosticMessage: ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1, errorNode: extendsClause_1, @@ -72943,7 +73259,7 @@ var ts; return ts.updateHeritageClause(clause, ts.visitNodes(ts.createNodeArray(ts.filter(clause.types, function (t) { return ts.isEntityNameExpression(t.expression) || t.expression.kind === 95 /* NullKeyword */; })), visitDeclarationSubtree)); })); return [statement, cleanup(ts.updateClassDeclaration(input, - /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members))]; + /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members))]; // TODO: GH#18217 } else { var heritageClauses = transformHeritageClauses(input.heritageClauses); @@ -72951,10 +73267,10 @@ var ts; /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members)); } } - case 213 /* VariableStatement */: { + case 214 /* VariableStatement */: { return cleanup(transformVariableStatement(input, isPrivate)); } - case 237 /* EnumDeclaration */: { + case 238 /* EnumDeclaration */: { return cleanup(ts.updateEnumDeclaration(input, /*decorators*/ undefined, ts.createNodeArray(ensureModifiers(input, isPrivate)), input.name, ts.createNodeArray(ts.mapDefined(input.members, function (m) { if (shouldStripInternal(m)) return; @@ -72973,7 +73289,7 @@ var ts; if (canProdiceDiagnostic) { getSymbolAccessibilityDiagnostic = oldDiag; } - if (input.kind === 238 /* ModuleDeclaration */) { + if (input.kind === 239 /* ModuleDeclaration */) { needsDeclare = previousNeedsDeclare; } if (node === input) { @@ -72994,7 +73310,7 @@ var ts; return ts.flatten(ts.mapDefined(d.elements, function (e) { return recreateBindingElement(e); })); } function recreateBindingElement(e) { - if (e.kind === 205 /* OmittedExpression */) { + if (e.kind === 206 /* OmittedExpression */) { return; } if (e.name) { @@ -73048,7 +73364,7 @@ var ts; function ensureModifierFlags(node, privateDeclaration) { var mask = 3071 /* All */ ^ (4 /* Public */ | 256 /* Async */); // No async modifiers in declaration files var additions = (needsDeclare && !isAlwaysType(node)) ? 2 /* Ambient */ : 0 /* None */; - var parentIsFile = node.parent.kind === 273 /* SourceFile */; + var parentIsFile = node.parent.kind === 274 /* SourceFile */; if (!parentIsFile || (isBundledEmit && parentIsFile && ts.isExternalModule(node.parent))) { mask ^= ((privateDeclaration || (isBundledEmit && parentIsFile) ? 0 : 1 /* Export */) | 512 /* Default */ | 2 /* Ambient */); additions = 0 /* None */; @@ -73096,7 +73412,7 @@ var ts; } ts.transformDeclarations = transformDeclarations; function isAlwaysType(node) { - if (node.kind === 235 /* InterfaceDeclaration */) { + if (node.kind === 236 /* InterfaceDeclaration */) { return true; } return false; @@ -73116,7 +73432,7 @@ var ts; } function getTypeAnnotationFromAccessor(accessor) { if (accessor) { - return accessor.kind === 155 /* GetAccessor */ + return accessor.kind === 156 /* GetAccessor */ ? accessor.type // Getter - return type : accessor.parameters.length > 0 ? accessor.parameters[0].type // Setter parameter type @@ -73125,51 +73441,51 @@ var ts; } function canHaveLiteralInitializer(node) { switch (node.kind) { - case 231 /* VariableDeclaration */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 148 /* Parameter */: + case 232 /* VariableDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 149 /* Parameter */: return true; } return false; } function isPreservedDeclarationStatement(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 238 /* ModuleDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 235 /* InterfaceDeclaration */: - case 234 /* ClassDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 237 /* EnumDeclaration */: - case 213 /* VariableStatement */: - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: - case 248 /* ExportAssignment */: + case 234 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 236 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 238 /* EnumDeclaration */: + case 214 /* VariableStatement */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: + case 249 /* ExportAssignment */: return true; } return false; } function isProcessedComponent(node) { switch (node.kind) { - case 158 /* ConstructSignature */: - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 159 /* IndexSignature */: - case 231 /* VariableDeclaration */: - case 147 /* TypeParameter */: - case 206 /* ExpressionWithTypeArguments */: - case 161 /* TypeReference */: - case 170 /* ConditionalType */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 178 /* ImportType */: + case 159 /* ConstructSignature */: + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 160 /* IndexSignature */: + case 232 /* VariableDeclaration */: + case 148 /* TypeParameter */: + case 207 /* ExpressionWithTypeArguments */: + case 162 /* TypeReference */: + case 171 /* ConditionalType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 179 /* ImportType */: return true; } return false; @@ -73245,7 +73561,7 @@ var ts; * @param allowDtsFiles A value indicating whether to allow the transformation of .d.ts files. */ function transformNodes(resolver, host, options, nodes, transformers, allowDtsFiles) { - var enabledSyntaxKindFeatures = new Array(304 /* Count */); + var enabledSyntaxKindFeatures = new Array(305 /* Count */); var lexicalEnvironmentVariableDeclarations; var lexicalEnvironmentFunctionDeclarations; var lexicalEnvironmentVariableDeclarationsStack = []; @@ -73554,7 +73870,7 @@ var ts; * @param sourceFileOrBundle The input source file or bundle for the program. */ function initialize(filePath, sourceMapFilePath, sourceFileOrBundle, outputSourceMapDataList) { - if (disabled) { + if (disabled || ts.fileExtensionIs(filePath, ".json" /* Json */)) { return; } if (sourceMapData) { @@ -73590,7 +73906,7 @@ var ts; } if (compilerOptions.mapRoot) { sourceMapDir = ts.normalizeSlashes(compilerOptions.mapRoot); - if (sourceFileOrBundle.kind === 273 /* SourceFile */) { // emitting single module file + if (sourceFileOrBundle.kind === 274 /* SourceFile */) { // emitting single module file // For modules or multiple emit files the mapRoot will have directory structure like the sources // So if src\a.ts and src\lib\b.ts are compiled together user would be moving the maps into mapRoot\a.js.map and mapRoot\lib\b.js.map sourceMapDir = ts.getDirectoryPath(ts.getSourceFilePathInNewDir(sourceFileOrBundle, host, sourceMapDir)); @@ -73677,7 +73993,7 @@ var ts; * @param pos The position. */ function emitPos(pos) { - if (disabled || ts.positionIsSynthesized(pos)) { + if (disabled || ts.positionIsSynthesized(pos) || isJsonSourceMapSource(currentSource)) { return; } if (extendedDiagnostics) { @@ -73726,12 +74042,12 @@ var ts; * @param emitCallback The callback used to emit the node. */ function emitNodeWithSourceMap(hint, node, emitCallback) { - if (disabled) { + if (disabled || ts.isInJsonFile(node)) { return emitCallback(hint, node); } if (node) { var emitNode = node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0 /* None */; var range = emitNode && emitNode.sourceMapRange; var _a = range || node, pos = _a.pos, end = _a.end; var source = range && range.source; @@ -73740,7 +74056,7 @@ var ts; source = undefined; if (source) setSourceFile(source); - if (node.kind !== 299 /* NotEmittedStatement */ + if (node.kind !== 300 /* NotEmittedStatement */ && (emitFlags & 16 /* NoLeadingSourceMap */) === 0 && pos >= 0) { emitPos(skipSourceTrivia(pos)); @@ -73757,7 +74073,7 @@ var ts; } if (source) setSourceFile(source); - if (node.kind !== 299 /* NotEmittedStatement */ + if (node.kind !== 300 /* NotEmittedStatement */ && (emitFlags & 32 /* NoTrailingSourceMap */) === 0 && end >= 0) { emitPos(end); @@ -73775,11 +74091,11 @@ var ts; * @param emitCallback The callback used to emit the token. */ function emitTokenWithSourceMap(node, token, writer, tokenPos, emitCallback) { - if (disabled) { + if (disabled || ts.isInJsonFile(node)) { return emitCallback(token, writer, tokenPos); } var emitNode = node && node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0 /* None */; var range = emitNode && emitNode.tokenSourceMapRanges && emitNode.tokenSourceMapRanges[token]; tokenPos = skipSourceTrivia(range ? range.pos : tokenPos); if ((emitFlags & 128 /* NoTokenLeadingSourceMaps */) === 0 && tokenPos >= 0) { @@ -73793,6 +74109,9 @@ var ts; } return tokenPos; } + function isJsonSourceMapSource(sourceFile) { + return ts.fileExtensionIs(sourceFile.fileName, ".json" /* Json */); + } /** * Set the current source file. * @@ -73804,6 +74123,9 @@ var ts; } currentSource = sourceFile; currentSourceText = currentSource.text; + if (isJsonSourceMapSource(sourceFile)) { + return; + } // Add the file to tsFilePaths // If sourceroot option: Use the relative path corresponding to the common directory path // otherwise source locations relative to map file location @@ -73825,8 +74147,8 @@ var ts; * Gets the text for the source map. */ function getText() { - if (disabled) { - return; + if (disabled || isJsonSourceMapSource(currentSource)) { + return undefined; // TODO: GH#18217 } encodeLastRecordedSourceMapSpan(); return JSON.stringify({ @@ -73843,8 +74165,8 @@ var ts; * Gets the SourceMappingURL for the source map. */ function getSourceMappingURL() { - if (disabled) { - return; + if (disabled || isJsonSourceMapSource(currentSource)) { + return undefined; // TODO: GH#18217 } if (compilerOptions.inlineSourceMap) { // Encode the sourceMap into the sourceMap url @@ -73905,7 +74227,7 @@ var ts; var currentLineMap; var detachedCommentsInfo; var hasWrittenComment = false; - var disabled = printerOptions.removeComments; + var disabled = !!printerOptions.removeComments; return { reset: reset, setWriter: setWriter, @@ -73923,7 +74245,7 @@ var ts; if (node) { hasWrittenComment = false; var emitNode = node.emitNode; - var emitFlags = emitNode && emitNode.flags; + var emitFlags = emitNode && emitNode.flags || 0; var _a = emitNode && emitNode.commentRange || node, pos = _a.pos, end = _a.end; if ((pos < 0 && end < 0) || (pos === end)) { // Both pos and end are synthesized, so just emit the node without comments. @@ -73933,7 +74255,7 @@ var ts; if (extendedDiagnostics) { ts.performance.mark("preEmitNodeWithComment"); } - var isEmittedNode = node.kind !== 299 /* NotEmittedStatement */; + var isEmittedNode = node.kind !== 300 /* NotEmittedStatement */; // We have to explicitly check that the node is JsxText because if the compilerOptions.jsx is "preserve" we will not do any transformation. // It is expensive to walk entire tree just to set one kind of node to have no comments. var skipLeadingComments = pos < 0 || (emitFlags & 512 /* NoLeadingComments */) !== 0 || node.kind === 10 /* JsxText */; @@ -73954,7 +74276,7 @@ var ts; containerEnd = end; // To avoid invalid comment emit in a down-level binding pattern, we // keep track of the last declaration list container's end - if (node.kind === 232 /* VariableDeclarationList */) { + if (node.kind === 233 /* VariableDeclarationList */) { declarationListContainerEnd = end; } } @@ -74211,11 +74533,11 @@ var ts; detachedCommentsInfo = undefined; } function hasDetachedComments(pos) { - return detachedCommentsInfo !== undefined && ts.lastOrUndefined(detachedCommentsInfo).nodePos === pos; + return detachedCommentsInfo !== undefined && ts.last(detachedCommentsInfo).nodePos === pos; } function forEachLeadingCommentWithoutDetachedComments(cb) { // get the leading comments from detachedPos - var pos = ts.lastOrUndefined(detachedCommentsInfo).detachedCommentEndPos; + var pos = ts.last(detachedCommentsInfo).detachedCommentEndPos; if (detachedCommentsInfo.length - 1) { detachedCommentsInfo.pop(); } @@ -74270,6 +74592,7 @@ var ts; * Else, calls `getSourceFilesToEmit` with the (optional) target source file to determine the list of source files to emit. */ function forEachEmittedFile(host, action, sourceFilesOrTargetSourceFile, emitOnlyDtsFiles) { + if (emitOnlyDtsFiles === void 0) { emitOnlyDtsFiles = false; } var sourceFiles = ts.isArray(sourceFilesOrTargetSourceFile) ? sourceFilesOrTargetSourceFile : ts.getSourceFilesToEmit(host, sourceFilesOrTargetSourceFile); var options = host.getCompilerOptions(); if (options.outFile || options.out) { @@ -74295,17 +74618,17 @@ var ts; /*@internal*/ function getOutputPathsFor(sourceFile, host, forceDtsPaths) { var options = host.getCompilerOptions(); - if (sourceFile.kind === 274 /* Bundle */) { + if (sourceFile.kind === 275 /* Bundle */) { var jsFilePath = options.outFile || options.out; var sourceMapFilePath = getSourceMapFilePath(jsFilePath, options); var declarationFilePath = (forceDtsPaths || options.declaration) ? ts.removeFileExtension(jsFilePath) + ".d.ts" /* Dts */ : undefined; var declarationMapPath = ts.getAreDeclarationMapsEnabled(options) ? declarationFilePath + ".map" : undefined; - var bundleInfoPath = options.references && jsFilePath && (ts.removeFileExtension(jsFilePath) + infoExtension); + var bundleInfoPath = options.references && jsFilePath ? (ts.removeFileExtension(jsFilePath) + infoExtension) : undefined; return { jsFilePath: jsFilePath, sourceMapFilePath: sourceMapFilePath, declarationFilePath: declarationFilePath, declarationMapPath: declarationMapPath, bundleInfoPath: bundleInfoPath }; } else { var jsFilePath = ts.getOwnEmitOutputFilePath(sourceFile, host, getOutputExtension(sourceFile, options)); - var sourceMapFilePath = getSourceMapFilePath(jsFilePath, options); + var sourceMapFilePath = ts.isJsonSourceFile(sourceFile) ? undefined : getSourceMapFilePath(jsFilePath, options); // For legacy reasons (ie, we have baselines capturing the behavior), js files don't report a .d.ts output path - this would only matter if `declaration` and `allowJs` were both on, which is currently an error var isJs = ts.isSourceFileJavaScript(sourceFile); var declarationFilePath = ((forceDtsPaths || options.declaration) && !isJs) ? ts.getDeclarationEmitOutputFilePath(sourceFile, host) : undefined; @@ -74371,7 +74694,7 @@ var ts; emitSkipped: emitSkipped, diagnostics: emitterDiagnostics.getDiagnostics(), emittedFiles: emittedFilesList, - sourceMaps: sourceMapDataList + sourceMaps: sourceMapDataList, }; function emitSourceFileOrBundle(_a, sourceFileOrBundle) { var jsFilePath = _a.jsFilePath, sourceMapFilePath = _a.sourceMapFilePath, declarationFilePath = _a.declarationFilePath, declarationMapPath = _a.declarationMapPath, bundleInfoPath = _a.bundleInfoPath; @@ -74458,8 +74781,8 @@ var ts; declarationTransform.dispose(); } function printSourceFileOrBundle(jsFilePath, sourceMapFilePath, sourceFileOrBundle, bundleInfoPath, printer, mapRecorder) { - var bundle = sourceFileOrBundle.kind === 274 /* Bundle */ ? sourceFileOrBundle : undefined; - var sourceFile = sourceFileOrBundle.kind === 273 /* SourceFile */ ? sourceFileOrBundle : undefined; + var bundle = sourceFileOrBundle.kind === 275 /* Bundle */ ? sourceFileOrBundle : undefined; + var sourceFile = sourceFileOrBundle.kind === 274 /* SourceFile */ ? sourceFileOrBundle : undefined; var sourceFiles = bundle ? bundle.sourceFiles : [sourceFile]; mapRecorder.initialize(jsFilePath, sourceMapFilePath || "", sourceFileOrBundle, sourceMapDataList); if (bundle) { @@ -74478,7 +74801,7 @@ var ts; ts.writeFile(host, emitterDiagnostics, sourceMapFilePath, mapRecorder.getText(), /*writeByteOrderMark*/ false, sourceFiles); } // Write the output file - ts.writeFile(host, emitterDiagnostics, jsFilePath, writer.getText(), compilerOptions.emitBOM, sourceFiles); + ts.writeFile(host, emitterDiagnostics, jsFilePath, writer.getText(), !!compilerOptions.emitBOM, sourceFiles); // Write bundled offset information if applicable if (bundleInfoPath) { bundleInfo.totalLength = writer.getTextPos(); @@ -74559,9 +74882,9 @@ var ts; break; } switch (node.kind) { - case 273 /* SourceFile */: return printFile(node); - case 274 /* Bundle */: return printBundle(node); - case 275 /* UnparsedSource */: return printUnparsedSource(node); + case 274 /* SourceFile */: return printFile(node); + case 275 /* Bundle */: return printBundle(node); + case 276 /* UnparsedSource */: return printUnparsedSource(node); } writeNode(hint, node, sourceFile, beginPrint()); return endPrint(); @@ -74662,7 +74985,7 @@ var ts; } } function setWriter(output) { - writer = output; + writer = output; // TODO: GH#18217 comments.setWriter(output); } function reset() { @@ -74720,8 +75043,7 @@ var ts; return getPipelinePhase(currentPhase + 1, hint); } function pipelineEmitWithNotification(hint, node) { - ts.Debug.assertDefined(onEmitNode); - onEmitNode(hint, node, getNextPipelinePhase(0 /* Notification */, hint)); + ts.Debug.assertDefined(onEmitNode)(hint, node, getNextPipelinePhase(0 /* Notification */, hint)); } function pipelineEmitWithComments(hint, node) { ts.Debug.assertDefined(emitNodeWithComments); @@ -74733,9 +75055,8 @@ var ts; pipelinePhase(hint, trySubstituteNode(hint, node)); } function pipelineEmitWithSourceMap(hint, node) { - ts.Debug.assertDefined(onEmitSourceMapOfNode); ts.Debug.assert(hint !== 0 /* SourceFile */ && hint !== 2 /* IdentifierName */); - onEmitSourceMapOfNode(hint, node, pipelineEmitWithHint); + ts.Debug.assertDefined(onEmitSourceMapOfNode)(hint, node, pipelineEmitWithHint); } function pipelineEmitWithHint(hint, node) { if (hint === 0 /* SourceFile */) @@ -74753,235 +75074,235 @@ var ts; case 15 /* TemplateMiddle */: case 16 /* TemplateTail */: return emitLiteral(node); - case 275 /* UnparsedSource */: + case 276 /* UnparsedSource */: return emitUnparsedSource(node); // Identifiers case 71 /* Identifier */: return emitIdentifier(node); // Parse tree nodes // Names - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: return emitQualifiedName(node); - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return emitComputedPropertyName(node); // Signature elements - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return emitTypeParameter(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return emitParameter(node); - case 149 /* Decorator */: + case 150 /* Decorator */: return emitDecorator(node); // Type members - case 150 /* PropertySignature */: + case 151 /* PropertySignature */: return emitPropertySignature(node); - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: return emitPropertyDeclaration(node); - case 152 /* MethodSignature */: + case 153 /* MethodSignature */: return emitMethodSignature(node); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return emitMethodDeclaration(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return emitConstructor(node); - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return emitAccessorDeclaration(node); - case 157 /* CallSignature */: + case 158 /* CallSignature */: return emitCallSignature(node); - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: return emitConstructSignature(node); - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: return emitIndexSignature(node); // Types - case 160 /* TypePredicate */: + case 161 /* TypePredicate */: return emitTypePredicate(node); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return emitTypeReference(node); - case 162 /* FunctionType */: + case 163 /* FunctionType */: return emitFunctionType(node); - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: return emitJSDocFunctionType(node); - case 163 /* ConstructorType */: + case 164 /* ConstructorType */: return emitConstructorType(node); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return emitTypeQuery(node); - case 165 /* TypeLiteral */: + case 166 /* TypeLiteral */: return emitTypeLiteral(node); - case 166 /* ArrayType */: + case 167 /* ArrayType */: return emitArrayType(node); - case 167 /* TupleType */: + case 168 /* TupleType */: return emitTupleType(node); - case 168 /* UnionType */: + case 169 /* UnionType */: return emitUnionType(node); - case 169 /* IntersectionType */: + case 170 /* IntersectionType */: return emitIntersectionType(node); - case 170 /* ConditionalType */: + case 171 /* ConditionalType */: return emitConditionalType(node); - case 171 /* InferType */: + case 172 /* InferType */: return emitInferType(node); - case 172 /* ParenthesizedType */: + case 173 /* ParenthesizedType */: return emitParenthesizedType(node); - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return emitExpressionWithTypeArguments(node); - case 173 /* ThisType */: + case 174 /* ThisType */: return emitThisType(); - case 174 /* TypeOperator */: + case 175 /* TypeOperator */: return emitTypeOperator(node); - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: return emitIndexedAccessType(node); - case 176 /* MappedType */: + case 177 /* MappedType */: return emitMappedType(node); - case 177 /* LiteralType */: + case 178 /* LiteralType */: return emitLiteralType(node); - case 178 /* ImportType */: + case 179 /* ImportType */: return emitImportTypeNode(node); - case 278 /* JSDocAllType */: + case 279 /* JSDocAllType */: write("*"); return; - case 279 /* JSDocUnknownType */: + case 280 /* JSDocUnknownType */: write("?"); return; - case 280 /* JSDocNullableType */: + case 281 /* JSDocNullableType */: return emitJSDocNullableType(node); - case 281 /* JSDocNonNullableType */: + case 282 /* JSDocNonNullableType */: return emitJSDocNonNullableType(node); - case 282 /* JSDocOptionalType */: + case 283 /* JSDocOptionalType */: return emitJSDocOptionalType(node); - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: return emitJSDocVariadicType(node); // Binding patterns - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: return emitObjectBindingPattern(node); - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: return emitArrayBindingPattern(node); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return emitBindingElement(node); // Misc - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return emitTemplateSpan(node); - case 211 /* SemicolonClassElement */: + case 212 /* SemicolonClassElement */: return emitSemicolonClassElement(); // Statements - case 212 /* Block */: + case 213 /* Block */: return emitBlock(node); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return emitVariableStatement(node); - case 214 /* EmptyStatement */: + case 215 /* EmptyStatement */: return emitEmptyStatement(); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return emitExpressionStatement(node); - case 216 /* IfStatement */: + case 217 /* IfStatement */: return emitIfStatement(node); - case 217 /* DoStatement */: + case 218 /* DoStatement */: return emitDoStatement(node); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: return emitWhileStatement(node); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return emitForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: return emitForInStatement(node); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: return emitForOfStatement(node); - case 222 /* ContinueStatement */: + case 223 /* ContinueStatement */: return emitContinueStatement(node); - case 223 /* BreakStatement */: + case 224 /* BreakStatement */: return emitBreakStatement(node); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: return emitReturnStatement(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: return emitWithStatement(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return emitSwitchStatement(node); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: return emitLabeledStatement(node); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: return emitThrowStatement(node); - case 229 /* TryStatement */: + case 230 /* TryStatement */: return emitTryStatement(node); - case 230 /* DebuggerStatement */: + case 231 /* DebuggerStatement */: return emitDebuggerStatement(node); // Declarations - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return emitVariableDeclaration(node); - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return emitVariableDeclarationList(node); - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return emitFunctionDeclaration(node); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return emitClassDeclaration(node); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return emitInterfaceDeclaration(node); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return emitTypeAliasDeclaration(node); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return emitEnumDeclaration(node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return emitModuleDeclaration(node); - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return emitModuleBlock(node); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return emitCaseBlock(node); - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: return emitNamespaceExportDeclaration(node); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return emitImportEqualsDeclaration(node); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return emitImportDeclaration(node); - case 244 /* ImportClause */: + case 245 /* ImportClause */: return emitImportClause(node); - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: return emitNamespaceImport(node); - case 246 /* NamedImports */: + case 247 /* NamedImports */: return emitNamedImports(node); - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: return emitImportSpecifier(node); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: return emitExportAssignment(node); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: return emitExportDeclaration(node); - case 250 /* NamedExports */: + case 251 /* NamedExports */: return emitNamedExports(node); - case 251 /* ExportSpecifier */: + case 252 /* ExportSpecifier */: return emitExportSpecifier(node); - case 252 /* MissingDeclaration */: + case 253 /* MissingDeclaration */: return; // Module references - case 253 /* ExternalModuleReference */: + case 254 /* ExternalModuleReference */: return emitExternalModuleReference(node); // JSX (non-expression) case 10 /* JsxText */: return emitJsxText(node); - case 256 /* JsxOpeningElement */: - case 259 /* JsxOpeningFragment */: + case 257 /* JsxOpeningElement */: + case 260 /* JsxOpeningFragment */: return emitJsxOpeningElementOrFragment(node); - case 257 /* JsxClosingElement */: - case 260 /* JsxClosingFragment */: + case 258 /* JsxClosingElement */: + case 261 /* JsxClosingFragment */: return emitJsxClosingElementOrFragment(node); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return emitJsxAttribute(node); - case 262 /* JsxAttributes */: + case 263 /* JsxAttributes */: return emitJsxAttributes(node); - case 263 /* JsxSpreadAttribute */: + case 264 /* JsxSpreadAttribute */: return emitJsxSpreadAttribute(node); - case 264 /* JsxExpression */: + case 265 /* JsxExpression */: return emitJsxExpression(node); // Clauses - case 265 /* CaseClause */: + case 266 /* CaseClause */: return emitCaseClause(node); - case 266 /* DefaultClause */: + case 267 /* DefaultClause */: return emitDefaultClause(node); - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: return emitHeritageClause(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return emitCatchClause(node); // Property assignments - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return emitPropertyAssignment(node); - case 270 /* ShorthandPropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: return emitShorthandPropertyAssignment(node); - case 271 /* SpreadAssignment */: + case 272 /* SpreadAssignment */: return emitSpreadAssignment(node); // Enum - case 272 /* EnumMember */: + case 273 /* EnumMember */: return emitEnumMember(node); // JSDoc nodes (ignored) // Transformation nodes (ignored) @@ -75016,71 +75337,71 @@ var ts; writeTokenNode(node, writeKeyword); return; // Expressions - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return emitArrayLiteralExpression(node); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return emitObjectLiteralExpression(node); - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return emitPropertyAccessExpression(node); - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return emitElementAccessExpression(node); - case 186 /* CallExpression */: + case 187 /* CallExpression */: return emitCallExpression(node); - case 187 /* NewExpression */: + case 188 /* NewExpression */: return emitNewExpression(node); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return emitTaggedTemplateExpression(node); - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: return emitTypeAssertionExpression(node); - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return emitParenthesizedExpression(node); - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return emitFunctionExpression(node); - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return emitArrowFunction(node); - case 193 /* DeleteExpression */: + case 194 /* DeleteExpression */: return emitDeleteExpression(node); - case 194 /* TypeOfExpression */: + case 195 /* TypeOfExpression */: return emitTypeOfExpression(node); - case 195 /* VoidExpression */: + case 196 /* VoidExpression */: return emitVoidExpression(node); - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: return emitAwaitExpression(node); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return emitPrefixUnaryExpression(node); - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: return emitPostfixUnaryExpression(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return emitBinaryExpression(node); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return emitConditionalExpression(node); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: return emitTemplateExpression(node); - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: return emitYieldExpression(node); - case 203 /* SpreadElement */: + case 204 /* SpreadElement */: return emitSpreadExpression(node); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return emitClassExpression(node); - case 205 /* OmittedExpression */: + case 206 /* OmittedExpression */: return; - case 207 /* AsExpression */: + case 208 /* AsExpression */: return emitAsExpression(node); - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: return emitNonNullExpression(node); - case 209 /* MetaProperty */: + case 210 /* MetaProperty */: return emitMetaProperty(node); // JSX - case 254 /* JsxElement */: + case 255 /* JsxElement */: return emitJsxElement(node); - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: return emitJsxSelfClosingElement(node); - case 258 /* JsxFragment */: + case 259 /* JsxFragment */: return emitJsxFragment(node); // Transformation nodes - case 300 /* PartiallyEmittedExpression */: + case 301 /* PartiallyEmittedExpression */: return emitPartiallyEmittedExpression(node); - case 301 /* CommaListExpression */: + case 302 /* CommaListExpression */: return emitCommaList(node); } } @@ -75097,7 +75418,7 @@ var ts; } function emitHelpers(node) { var helpersEmitted = false; - var bundle = node.kind === 274 /* Bundle */ ? node : undefined; + var bundle = node.kind === 275 /* Bundle */ ? node : undefined; if (bundle && moduleKind === ts.ModuleKind.None) { return; } @@ -75223,7 +75544,7 @@ var ts; emit(node.dotDotDotToken); emitNodeWithWriter(node.name, writeParameter); emit(node.questionToken); - if (node.parent && node.parent.kind === 283 /* JSDocFunctionType */ && !node.name) { + if (node.parent && node.parent.kind === 284 /* JSDocFunctionType */ && !node.name) { emit(node.type); } else { @@ -75285,7 +75606,7 @@ var ts; function emitAccessorDeclaration(node) { emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); - writeKeyword(node.kind === 155 /* GetAccessor */ ? "get" : "set"); + writeKeyword(node.kind === 156 /* GetAccessor */ ? "get" : "set"); writeSpace(); emit(node.name); emitSignatureAndBody(node, emitSignatureHead); @@ -75542,7 +75863,7 @@ var ts; increaseIndent(); } var preferNewLine = node.multiLine ? 32768 /* PreferNewLine */ : 0 /* None */; - var allowTrailingComma = currentSourceFile.languageVersion >= 1 /* ES5 */ ? 32 /* AllowTrailingComma */ : 0 /* None */; + var allowTrailingComma = currentSourceFile.languageVersion >= 1 /* ES5 */ && !ts.isJsonSourceFile(currentSourceFile) ? 32 /* AllowTrailingComma */ : 0 /* None */; emitList(node, node.properties, 263122 /* ObjectLiteralExpressionProperties */ | allowTrailingComma | preferNewLine); if (indentedFlag) { decreaseIndent(); @@ -75682,7 +76003,7 @@ var ts; // expression a prefix increment whose operand is a plus expression - (++(+x)) // The same is true of minus of course. var operand = node.operand; - return operand.kind === 197 /* PrefixUnaryExpression */ + return operand.kind === 198 /* PrefixUnaryExpression */ && ((node.operator === 37 /* PlusToken */ && (operand.operator === 37 /* PlusToken */ || operand.operator === 43 /* PlusPlusToken */)) || (node.operator === 38 /* MinusToken */ && (operand.operator === 38 /* MinusToken */ || operand.operator === 44 /* MinusMinusToken */))); } @@ -75802,7 +76123,7 @@ var ts; if (node.elseStatement) { writeLineOrSpace(node); emitTokenWithComment(82 /* ElseKeyword */, node.thenStatement.end, writeKeyword, node); - if (node.elseStatement.kind === 216 /* IfStatement */) { + if (node.elseStatement.kind === 217 /* IfStatement */) { writeSpace(); emit(node.elseStatement); } @@ -75865,7 +76186,7 @@ var ts; emitTokenWithComment(19 /* OpenParenToken */, openParenPos, writePunctuation, node); emitForBinding(node.initializer); writeSpace(); - emitTokenWithComment(144 /* OfKeyword */, node.initializer.end, writeKeyword, node); + emitTokenWithComment(145 /* OfKeyword */, node.initializer.end, writeKeyword, node); writeSpace(); emitExpression(node.expression); emitTokenWithComment(20 /* CloseParenToken */, node.expression.end, writePunctuation, node); @@ -75873,7 +76194,7 @@ var ts; } function emitForBinding(node) { if (node !== undefined) { - if (node.kind === 232 /* VariableDeclarationList */) { + if (node.kind === 233 /* VariableDeclarationList */) { emit(node); } else { @@ -75988,7 +76309,7 @@ var ts; writeKeyword("function"); emit(node.asteriskToken); writeSpace(); - emitIdentifierName(node.name); + emitIdentifierName(node.name); // TODO: GH#18217 emitSignatureAndBody(node, emitSignatureHead); } function emitBlockCallback(_hint, body) { @@ -76168,7 +76489,7 @@ var ts; var body = node.body; if (!body) return writeSemicolon(); - while (body.kind === 238 /* ModuleDeclaration */) { + while (body.kind === 239 /* ModuleDeclaration */) { writePunctuation("."); emit(body.name); body = body.body; @@ -76213,7 +76534,7 @@ var ts; if (node.importClause) { emit(node.importClause); writeSpace(); - emitTokenWithComment(142 /* FromKeyword */, node.importClause.end, writeKeyword, node); + emitTokenWithComment(143 /* FromKeyword */, node.importClause.end, writeKeyword, node); writeSpace(); } emitExpression(node.moduleSpecifier); @@ -76265,7 +76586,7 @@ var ts; if (node.moduleSpecifier) { writeSpace(); var fromPos = node.exportClause ? node.exportClause.end : nextPos; - emitTokenWithComment(142 /* FromKeyword */, fromPos, writeKeyword, node); + emitTokenWithComment(143 /* FromKeyword */, fromPos, writeKeyword, node); writeSpace(); emitExpression(node.moduleSpecifier); } @@ -76357,7 +76678,7 @@ var ts; } function emitJsxAttribute(node) { emit(node.name); - emitNodeWithPrefix("=", writePunctuation, node.initializer, emit); + emitNodeWithPrefix("=", writePunctuation, node.initializer, emit); // TODO: GH#18217 } function emitJsxSpreadAttribute(node) { writePunctuation("{..."); @@ -76491,7 +76812,7 @@ var ts; emitSourceFileWorker(node); } function emitSyntheticTripleSlashReferencesIfNeeded(node) { - emitTripleSlashDirectives(node.hasNoDefaultLib, node.syntheticFileReferences || [], node.syntheticTypeReferences || []); + emitTripleSlashDirectives(!!node.hasNoDefaultLib, node.syntheticFileReferences || [], node.syntheticTypeReferences || []); } function emitTripleSlashDirectivesIfNeeded(node) { if (node.isDeclarationFile) @@ -76719,7 +77040,7 @@ var ts; emitNodeList(emit, parentNode, children, format, start, count); } function emitExpressionList(parentNode, children, format, start, count) { - emitNodeList(emitExpression, parentNode, children, format, start, count); + emitNodeList(emitExpression, parentNode, children, format, start, count); // TODO: GH#18217 } function writeDelimiter(format) { switch (format & 28 /* DelimitersMask */) { @@ -76745,7 +77066,7 @@ var ts; if (isUndefined && format & 8192 /* OptionalIfUndefined */) { return; } - var isEmpty = isUndefined || start >= children.length || count === 0; + var isEmpty = children === undefined || start >= children.length || count === 0; if (isEmpty && format & 16384 /* OptionalIfEmpty */) { if (onBeforeEmitNodeArray) { onBeforeEmitNodeArray(children); @@ -76758,6 +77079,7 @@ var ts; if (format & 7680 /* BracketsMask */) { writePunctuation(getOpeningBracket(format)); if (isEmpty && !isUndefined) { + // TODO: GH#18217 emitTrailingCommentsOfPosition(children.pos, /*prefixSpace*/ true); // Emit comments within empty bracketed lists } } @@ -76777,7 +77099,7 @@ var ts; // Write the opening line terminator or leading whitespace. var mayEmitInterveningComments = (format & 131072 /* NoInterveningComments */) === 0; var shouldEmitInterveningComments = mayEmitInterveningComments; - if (shouldWriteLeadingLineTerminator(parentNode, children, format)) { + if (shouldWriteLeadingLineTerminator(parentNode, children, format)) { // TODO: GH#18217 writeLine(); shouldEmitInterveningComments = false; } @@ -76790,7 +77112,7 @@ var ts; } // Emit each child. var previousSibling = void 0; - var shouldDecreaseIndentAfterEmit = void 0; + var shouldDecreaseIndentAfterEmit = false; for (var i = 0; i < count; i++) { var child = children[start + i]; // Write the delimiter if this is not the first node. @@ -76868,6 +77190,7 @@ var ts; } if (format & 7680 /* BracketsMask */) { if (isEmpty && !isUndefined) { + // TODO: GH#18217 emitLeadingCommentsOfPosition(children.end); // Emit leading comments within empty lists } writePunctuation(getClosingBracket(format)); @@ -77091,7 +77414,7 @@ var ts; && ts.rangeEndIsOnSameLineAsRangeStart(block, block, currentSourceFile); } function skipSynthesizedParentheses(node) { - while (node.kind === 190 /* ParenthesizedExpression */ && ts.nodeIsSynthesized(node)) { + while (node.kind === 191 /* ParenthesizedExpression */ && ts.nodeIsSynthesized(node)) { node = node.expression; } return node; @@ -77156,81 +77479,81 @@ var ts; if (!node) return; switch (node.kind) { - case 212 /* Block */: + case 213 /* Block */: ts.forEach(node.statements, generateNames); break; - case 227 /* LabeledStatement */: - case 225 /* WithStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 228 /* LabeledStatement */: + case 226 /* WithStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: generateNames(node.statement); break; - case 216 /* IfStatement */: + case 217 /* IfStatement */: generateNames(node.thenStatement); generateNames(node.elseStatement); break; - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: - case 220 /* ForInStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: + case 221 /* ForInStatement */: generateNames(node.initializer); generateNames(node.statement); break; - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: generateNames(node.caseBlock); break; - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: ts.forEach(node.clauses, generateNames); break; - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: ts.forEach(node.statements, generateNames); break; - case 229 /* TryStatement */: + case 230 /* TryStatement */: generateNames(node.tryBlock); generateNames(node.catchClause); generateNames(node.finallyBlock); break; - case 268 /* CatchClause */: + case 269 /* CatchClause */: generateNames(node.variableDeclaration); generateNames(node.block); break; - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: generateNames(node.declarationList); break; - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: ts.forEach(node.declarations, generateNames); break; - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: - case 181 /* BindingElement */: - case 234 /* ClassDeclaration */: + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: + case 182 /* BindingElement */: + case 235 /* ClassDeclaration */: generateNameIfNeeded(node.name); break; - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: generateNameIfNeeded(node.name); if (ts.getEmitFlags(node) & 524288 /* ReuseTempVariableScope */) { ts.forEach(node.parameters, generateNames); generateNames(node.body); } break; - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: ts.forEach(node.elements, generateNames); break; - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: generateNames(node.importClause); break; - case 244 /* ImportClause */: + case 245 /* ImportClause */: generateNameIfNeeded(node.name); generateNames(node.namedBindings); break; - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: generateNameIfNeeded(node.name); break; - case 246 /* NamedImports */: + case 247 /* NamedImports */: ts.forEach(node.elements, generateNames); break; - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: generateNameIfNeeded(node.propertyName || node.name); break; } @@ -77239,12 +77562,12 @@ var ts; if (!node) return; switch (node.kind) { - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: generateNameIfNeeded(node.name); break; } @@ -77396,7 +77719,7 @@ var ts; * Generates a unique name for an ImportDeclaration or ExportDeclaration. */ function generateNameForImportOrExportDeclaration(node) { - var expr = ts.getExternalModuleName(node); + var expr = ts.getExternalModuleName(node); // TODO: GH#18217 var baseName = ts.isStringLiteral(expr) ? ts.makeIdentifierFromModuleName(expr.text) : "module"; return makeUniqueName(baseName); @@ -77426,21 +77749,21 @@ var ts; switch (node.kind) { case 71 /* Identifier */: return makeUniqueName(getTextOfNode(node), isUniqueName, !!(flags & 16 /* Optimistic */), !!(flags & 8 /* ReservedInNestedScopes */)); - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: return generateNameForModuleOrEnum(node); - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: return generateNameForImportOrExportDeclaration(node); - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - case 248 /* ExportAssignment */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 249 /* ExportAssignment */: return generateNameForExportDefault(); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: return generateNameForClassExpression(); - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return generateNameForMethodOrAccessor(node); default: return makeTempVariableName(0 /* Auto */); @@ -77458,7 +77781,7 @@ var ts; case 3 /* Unique */: return makeUniqueName(ts.idText(name), (name.autoGenerateFlags & 32 /* FileLevel */) ? isFileLevelUniqueName : isUniqueName, !!(name.autoGenerateFlags & 16 /* Optimistic */), !!(name.autoGenerateFlags & 8 /* ReservedInNestedScopes */)); } - ts.Debug.fail("Unsupported GeneratedIdentifierKind."); + return ts.Debug.fail("Unsupported GeneratedIdentifierKind."); } /** * Gets the node from which a name should be generated. @@ -77921,8 +78244,8 @@ var ts; if (!outputFingerprints) { outputFingerprints = ts.createMap(); } - var hash = ts.sys.createHash(data); - var mtimeBefore = ts.sys.getModifiedTime(fileName); + var hash = ts.sys.createHash(data); // TODO: GH#18217 + var mtimeBefore = ts.sys.getModifiedTime(fileName); // TODO: GH#18217 if (mtimeBefore) { var fingerprint = outputFingerprints.get(fileName); // If output has not been changed, and the file has no external modification @@ -77934,7 +78257,7 @@ var ts; } } ts.sys.writeFile(fileName, data, writeByteOrderMark); - var mtimeAfter = ts.sys.getModifiedTime(fileName); + var mtimeAfter = ts.sys.getModifiedTime(fileName); // TODO: GH#18217 outputFingerprints.set(fileName, { hash: hash, byteOrderMark: writeByteOrderMark, @@ -78005,7 +78328,7 @@ var ts; function formatDiagnostic(diagnostic, host) { var errorMessage = ts.diagnosticCategoryName(diagnostic) + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine(); if (diagnostic.file) { - var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; + var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; // TODO: GH#18217 var fileName = diagnostic.file.fileName; var relativeFileName = ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }); return relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): " + errorMessage; @@ -78052,7 +78375,7 @@ var ts; var context_2 = ""; if (diagnostic.file) { var start = diagnostic.start, length_4 = diagnostic.length, file_9 = diagnostic.file; - var _a = ts.getLineAndCharacterOfPosition(file_9, start), firstLine = _a.line, firstLineChar = _a.character; + var _a = ts.getLineAndCharacterOfPosition(file_9, start), firstLine = _a.line, firstLineChar = _a.character; // TODO: GH#18217 var _b = ts.getLineAndCharacterOfPosition(file_9, start + length_4), lastLine = _b.line, lastLineChar = _b.character; var lastLineInFile = ts.getLineAndCharacterOfPosition(file_9, file_9.text.length).line; var relativeFileName = host ? ts.convertToRelativePath(file_9.fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }) : file_9.fileName; @@ -78196,8 +78519,7 @@ var ts; } ts.isProgramUptoDate = isProgramUptoDate; function getConfigFileParsingDiagnostics(configFileParseResult) { - return configFileParseResult.options.configFile ? - configFileParseResult.options.configFile.parseDiagnostics.concat(configFileParseResult.errors) : + return configFileParseResult.options.configFile ? configFileParseResult.options.configFile.parseDiagnostics.concat(configFileParseResult.errors) : configFileParseResult.errors; } ts.getConfigFileParsingDiagnostics = getConfigFileParsingDiagnostics; @@ -78228,9 +78550,9 @@ var ts; }; } function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) { - var createProgramOptions = ts.isArray(rootNamesOrOptions) ? createCreateProgramOptions(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) : rootNamesOrOptions; + var createProgramOptions = ts.isArray(rootNamesOrOptions) ? createCreateProgramOptions(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) : rootNamesOrOptions; // TODO: GH#18217 var rootNames = createProgramOptions.rootNames, options = createProgramOptions.options, configFileParsingDiagnostics = createProgramOptions.configFileParsingDiagnostics, projectReferences = createProgramOptions.projectReferences; - var host = createProgramOptions.host, oldProgram = createProgramOptions.oldProgram; + var oldProgram = createProgramOptions.oldProgram; var program; var files = []; var commonSourceDirectory; @@ -78257,7 +78579,7 @@ var ts; // Track source files that are source files found by searching under node_modules, as these shouldn't be compiled. var sourceFilesFoundSearchingNodeModules = ts.createMap(); ts.performance.mark("beforeProgram"); - host = host || createCompilerHost(options); + var host = createProgramOptions.host || createCompilerHost(options); var configParsingHost = parseConfigHostFromCompilerHost(host); var skipDefaultLib = options.noLib; var getDefaultLibraryFileName = ts.memoize(function () { return host.getDefaultLibFileName(options); }); @@ -78285,7 +78607,7 @@ var ts; } else { moduleResolutionCache = ts.createModuleResolutionCache(currentDirectory, function (x) { return host.getCanonicalFileName(x); }); - var loader_1 = function (moduleName, containingFile) { return ts.resolveModuleName(moduleName, containingFile, options, host, moduleResolutionCache).resolvedModule; }; + var loader_1 = function (moduleName, containingFile) { return ts.resolveModuleName(moduleName, containingFile, options, host, moduleResolutionCache).resolvedModule; }; // TODO: GH#18217 resolveModuleNamesWorker = function (moduleNames, containingFile) { return loadWithLocalCache(ts.Debug.assertEachDefined(moduleNames), containingFile, loader_1); }; } var resolveTypeReferenceDirectiveNamesWorker; @@ -78293,7 +78615,7 @@ var ts; resolveTypeReferenceDirectiveNamesWorker = function (typeDirectiveNames, containingFile) { return host.resolveTypeReferenceDirectives(ts.Debug.assertEachDefined(typeDirectiveNames), containingFile); }; } else { - var loader_2 = function (typesRef, containingFile) { return ts.resolveTypeReferenceDirective(typesRef, containingFile, options, host).resolvedTypeReferenceDirective; }; + var loader_2 = function (typesRef, containingFile) { return ts.resolveTypeReferenceDirective(typesRef, containingFile, options, host).resolvedTypeReferenceDirective; }; // TODO: GH#18217 resolveTypeReferenceDirectiveNamesWorker = function (typeReferenceDirectiveNames, containingFile) { return loadWithLocalCache(ts.Debug.assertEachDefined(typeReferenceDirectiveNames), containingFile, loader_2); }; } // Map from a stringified PackageId to the source file with that id. @@ -78384,6 +78706,7 @@ var ts; getOptionsDiagnostics: getOptionsDiagnostics, getGlobalDiagnostics: getGlobalDiagnostics, getSemanticDiagnostics: getSemanticDiagnostics, + getSuggestionDiagnostics: getSuggestionDiagnostics, getDeclarationDiagnostics: getDeclarationDiagnostics, getTypeChecker: getTypeChecker, getClassifiableNames: getClassifiableNames, @@ -78427,7 +78750,7 @@ var ts; } else if (options.composite) { // Project compilations never infer their root from the input source paths - commonSourceDirectory = ts.getDirectoryPath(ts.normalizeSlashes(options.configFilePath)); + commonSourceDirectory = ts.getDirectoryPath(ts.normalizeSlashes(options.configFilePath)); // TODO: GH#18217 checkSourceFilesBelongToPath(emittedFiles, commonSourceDirectory); } else { @@ -78548,7 +78871,7 @@ var ts; // `result[i]` is either a `ResolvedModuleFull` or a marker. // If it is the former, we can leave it as is. if (result[i] === predictedToResolveToAmbientModuleMarker) { - result[i] = undefined; + result[i] = undefined; // TODO: GH#18217 } } else { @@ -78561,7 +78884,7 @@ var ts; // If we change our policy of rechecking failed lookups on each program create, // we should adjust the value returned here. function moduleNameResolvesToAmbientModuleInNonModifiedFile(moduleName, oldProgramState) { - var resolutionToFile = ts.getResolvedModule(oldProgramState.oldSourceFile, moduleName); + var resolutionToFile = ts.getResolvedModule(oldProgramState.oldSourceFile, moduleName); // TODO: GH#18217 var resolvedFile = resolutionToFile && oldProgramState.program && oldProgramState.program.getSourceFile(resolutionToFile.resolvedFileName); if (resolutionToFile && resolvedFile && !resolvedFile.externalModuleIndicator) { // In the old program, we resolved to an ambient module that was in the same @@ -78657,7 +78980,7 @@ var ts; var oldSourceFile = oldSourceFiles_2[_i]; var newSourceFile = host.getSourceFileByPath ? host.getSourceFileByPath(oldSourceFile.fileName, oldSourceFile.path, options.target, /*onError*/ undefined, shouldCreateNewSourceFile) - : host.getSourceFile(oldSourceFile.fileName, options.target, /*onError*/ undefined, shouldCreateNewSourceFile); + : host.getSourceFile(oldSourceFile.fileName, options.target, /*onError*/ undefined, shouldCreateNewSourceFile); // TODO: GH#18217 if (!newSourceFile) { return oldProgram.structureIsReused = 0 /* Not */; } @@ -78843,7 +79166,7 @@ var ts; return nodes; } function isSourceFileFromExternalLibrary(file) { - return sourceFilesFoundSearchingNodeModules.get(file.path); + return !!sourceFilesFoundSearchingNodeModules.get(file.path); } function isSourceFileDefaultLibrary(file) { if (file.hasNoDefaultLib) { @@ -78859,7 +79182,7 @@ var ts; return equalityComparer(file.fileName, getDefaultLibraryFileName()); } else { - return ts.forEach(options.lib, function (libFileName) { return equalityComparer(file.fileName, ts.combinePaths(defaultLibraryPath, libFileName)); }); + return ts.some(options.lib, function (libFileName) { return equalityComparer(file.fileName, ts.combinePaths(defaultLibraryPath, libFileName)); }); } } function getDiagnosticsProducingTypeChecker() { @@ -78912,7 +79235,8 @@ var ts; var emitResolver = getDiagnosticsProducingTypeChecker().getEmitResolver((options.outFile || options.out) ? undefined : sourceFile, cancellationToken); ts.performance.mark("beforeEmit"); var transformers = emitOnlyDtsFiles ? [] : ts.getTransformers(options, customTransformers); - var emitResult = ts.emitFiles(emitResolver, getEmitHost(writeFileCallback), sourceFile, emitOnlyDtsFiles, transformers, customTransformers && customTransformers.afterDeclarations); + var emitResult = ts.emitFiles(emitResolver, getEmitHost(writeFileCallback), sourceFile, // TODO: GH#18217 + emitOnlyDtsFiles, transformers, customTransformers && customTransformers.afterDeclarations); ts.performance.mark("afterEmit"); ts.performance.measure("Emit", "beforeEmit", "afterEmit"); return emitResult; @@ -79003,11 +79327,24 @@ var ts; var checkDiagnostics = includeBindAndCheckDiagnostics ? typeChecker.getDiagnostics(sourceFile, cancellationToken) : ts.emptyArray; var fileProcessingDiagnosticsInFile = fileProcessingDiagnostics.getDiagnostics(sourceFile.fileName); var programDiagnosticsInFile = programDiagnostics.getDiagnostics(sourceFile.fileName); - var diagnostics = bindDiagnostics.concat(checkDiagnostics, fileProcessingDiagnosticsInFile, programDiagnosticsInFile); - if (isCheckJs) { - diagnostics = ts.concatenate(diagnostics, sourceFile.jsDocDiagnostics); + var diagnostics; + for (var _i = 0, _a = [bindDiagnostics, checkDiagnostics, fileProcessingDiagnosticsInFile, programDiagnosticsInFile, isCheckJs ? sourceFile.jsDocDiagnostics : undefined]; _i < _a.length; _i++) { + var diags = _a[_i]; + if (diags) { + for (var _b = 0, diags_1 = diags; _b < diags_1.length; _b++) { + var diag = diags_1[_b]; + if (shouldReportDiagnostic(diag)) { + diagnostics = ts.append(diagnostics, diag); + } + } + } } - return ts.filter(diagnostics, shouldReportDiagnostic); + return diagnostics; + }); + } + function getSuggestionDiagnostics(sourceFile, cancellationToken) { + return runWithCancellationToken(function () { + return getDiagnosticsProducingTypeChecker().getSuggestionDiagnostics(sourceFile, cancellationToken); }); } /** @@ -79017,7 +79354,7 @@ var ts; var file = diagnostic.file, start = diagnostic.start; if (file) { var lineStarts = ts.getLineStarts(file); - var line = ts.computeLineAndCharacterOfPosition(lineStarts, start).line; + var line = ts.computeLineAndCharacterOfPosition(lineStarts, start).line; // TODO: GH#18217 while (line > 0) { var previousLineText = file.text.slice(lineStarts[line - 1], lineStarts[line]); var result = ignoreDiagnosticCommentRegEx.exec(previousLineText); @@ -79044,22 +79381,22 @@ var ts; // Return directly from the case if the given node doesnt want to visit each child // Otherwise break to visit each child switch (parent.kind) { - case 148 /* Parameter */: - case 151 /* PropertyDeclaration */: + case 149 /* Parameter */: + case 152 /* PropertyDeclaration */: if (parent.questionToken === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_can_only_be_used_in_a_ts_file, "?")); return; } // falls through - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: - case 231 /* VariableDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: + case 232 /* VariableDeclaration */: // type annotation if (parent.type === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.types_can_only_be_used_in_a_ts_file)); @@ -79067,41 +79404,41 @@ var ts; } } switch (node.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.import_can_only_be_used_in_a_ts_file)); return; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: if (node.isExportEquals) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.export_can_only_be_used_in_a_ts_file)); return; } break; - case 267 /* HeritageClause */: + case 268 /* HeritageClause */: var heritageClause = node; if (heritageClause.token === 108 /* ImplementsKeyword */) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.implements_clauses_can_only_be_used_in_a_ts_file)); return; } break; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.interface_declarations_can_only_be_used_in_a_ts_file)); return; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.module_declarations_can_only_be_used_in_a_ts_file)); return; - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.type_aliases_can_only_be_used_in_a_ts_file)); return; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.enum_declarations_can_only_be_used_in_a_ts_file)); return; - case 208 /* NonNullExpression */: + case 209 /* NonNullExpression */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.non_null_assertions_can_only_be_used_in_a_ts_file)); return; - case 207 /* AsExpression */: + case 208 /* AsExpression */: diagnostics.push(createDiagnosticForNode(node.type, ts.Diagnostics.type_assertion_expressions_can_only_be_used_in_a_ts_file)); return; - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: ts.Debug.fail(); // Won't parse these in a JS file anyway, as they are interpreted as JSX. } var prevParent = parent; @@ -79114,28 +79451,28 @@ var ts; diagnostics.push(createDiagnosticForNode(parent, ts.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning)); } switch (parent.kind) { - case 234 /* ClassDeclaration */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: + case 235 /* ClassDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: // Check type parameters if (nodes === parent.typeParameters) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.type_parameter_declarations_can_only_be_used_in_a_ts_file)); return; } // falls through - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: // Check modifiers if (nodes === parent.modifiers) { - return checkModifiers(nodes, parent.kind === 213 /* VariableStatement */); + return checkModifiers(nodes, parent.kind === 214 /* VariableStatement */); } break; - case 151 /* PropertyDeclaration */: + case 152 /* PropertyDeclaration */: // Check modifiers of property declaration if (nodes === parent.modifiers) { for (var _i = 0, _a = nodes; _i < _a.length; _i++) { @@ -79147,18 +79484,18 @@ var ts; return; } break; - case 148 /* Parameter */: + case 149 /* Parameter */: // Check modifiers of parameter declaration if (nodes === parent.modifiers) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.parameter_modifiers_can_only_be_used_in_a_ts_file)); return; } break; - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 206 /* ExpressionWithTypeArguments */: - case 255 /* JsxSelfClosingElement */: - case 256 /* JsxOpeningElement */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 207 /* ExpressionWithTypeArguments */: + case 256 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: // Check type arguments if (nodes === parent.typeArguments) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.type_arguments_can_only_be_used_in_a_ts_file)); @@ -79224,7 +79561,7 @@ var ts; if (cachedResult) { return cachedResult; } - var result = getDiagnostics(sourceFile, cancellationToken) || ts.emptyArray; + var result = getDiagnostics(sourceFile, cancellationToken) || ts.emptyArray; // TODO: GH#18217 if (sourceFile) { if (!cache.perFile) { cache.perFile = ts.createMap(); @@ -79404,7 +79741,8 @@ var ts; } /** This has side effects through `findSourceFile`. */ function processSourceFile(fileName, isDefaultLib, packageId, refFile, refPos, refEnd) { - getSourceFileFromReferenceWorker(fileName, function (fileName) { return findSourceFile(fileName, toPath(fileName), isDefaultLib, refFile, refPos, refEnd, packageId); }, function (diagnostic) { + getSourceFileFromReferenceWorker(fileName, function (fileName) { return findSourceFile(fileName, toPath(fileName), isDefaultLib, refFile, refPos, refEnd, packageId); }, // TODO: GH#18217 + function (diagnostic) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; @@ -79496,7 +79834,7 @@ var ts; if (fileFromPackageId) { // Some other SourceFile already exists with this package name and version. // Instead of creating a duplicate, just redirect to the existing one. - var dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path); + var dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path); // TODO: GH#18217 redirectTargetsSet.set(fileFromPackageId.path, true); filesByName.set(path, dupFile); sourceFileToPackageName.set(path, packageId.name); @@ -79591,7 +79929,7 @@ var ts; if (resolvedTypeReferenceDirective) { if (resolvedTypeReferenceDirective.primary) { // resolved from the primary path - processSourceFile(resolvedTypeReferenceDirective.resolvedFileName, /*isDefaultLib*/ false, resolvedTypeReferenceDirective.packageId, refFile, refPos, refEnd); + processSourceFile(resolvedTypeReferenceDirective.resolvedFileName, /*isDefaultLib*/ false, resolvedTypeReferenceDirective.packageId, refFile, refPos, refEnd); // TODO: GH#18217 } else { // If we already resolved to this file, it must have been a secondary reference. Check file contents @@ -79601,7 +79939,8 @@ var ts; if (resolvedTypeReferenceDirective.resolvedFileName !== previousResolution.resolvedFileName) { var otherFileText = host.readFile(resolvedTypeReferenceDirective.resolvedFileName); if (otherFileText !== getSourceFile(previousResolution.resolvedFileName).text) { - fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, ts.Diagnostics.Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict, typeReferenceDirective, resolvedTypeReferenceDirective.resolvedFileName, previousResolution.resolvedFileName)); + fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, // TODO: GH#18217 + ts.Diagnostics.Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict, typeReferenceDirective, resolvedTypeReferenceDirective.resolvedFileName, previousResolution.resolvedFileName)); } } // don't overwrite previous resolution result @@ -79614,7 +79953,7 @@ var ts; } } else { - fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, ts.Diagnostics.Cannot_find_type_definition_file_for_0, typeReferenceDirective)); + fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, ts.Diagnostics.Cannot_find_type_definition_file_for_0, typeReferenceDirective)); // TODO: GH#18217 } if (saveResolution) { resolvedTypeReferenceDirectives.set(typeReferenceDirective, resolvedTypeReferenceDirective); @@ -79718,7 +80057,7 @@ var ts; } function parseProjectReferenceConfigFile(ref) { // The actual filename (i.e. add "/tsconfig.json" if necessary) - var refPath = resolveProjectReferencePath(host, ref); + var refPath = resolveProjectReferencePath(host, ref); // TODO: GH#18217 // An absolute path pointing to the containing directory of the config file var basePath = ts.getNormalizedAbsolutePath(ts.getDirectoryPath(refPath), host.getCurrentDirectory()); var sourceFile = host.getSourceFile(refPath, 100 /* JSON */); @@ -79729,13 +80068,13 @@ var ts; return { commandLine: commandLine, sourceFile: sourceFile }; } function addProjectReferenceRedirects(referencedProject, target) { - var rootDir = ts.normalizePath(referencedProject.options.rootDir || ts.getDirectoryPath(referencedProject.options.configFilePath)); + var rootDir = ts.normalizePath(referencedProject.options.rootDir || ts.getDirectoryPath(referencedProject.options.configFilePath)); // TODO: GH#18217 target.set(rootDir, getDeclarationOutputDirectory(referencedProject)); } function getDeclarationOutputDirectory(proj) { return proj.options.declarationDir || proj.options.outDir || - ts.getDirectoryPath(proj.options.configFilePath); + ts.getDirectoryPath(proj.options.configFilePath); // TODO: GH#18217 } function verifyCompilerOptions() { if (options.strictPropertyInitialization && !options.strictNullChecks) { @@ -79990,9 +80329,9 @@ var ts; if (ts.isObjectLiteralExpression(pathProp.initializer)) { for (var _a = 0, _b = ts.getPropertyAssignment(pathProp.initializer, key); _a < _b.length; _a++) { var keyProps = _b[_a]; - if (ts.isArrayLiteralExpression(keyProps.initializer) && - keyProps.initializer.elements.length > valueIndex) { - programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, keyProps.initializer.elements[valueIndex], message, arg0, arg1, arg2)); + var initializer = keyProps.initializer; + if (ts.isArrayLiteralExpression(initializer) && initializer.elements.length > valueIndex) { + programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, initializer.elements[valueIndex], message, arg0, arg1, arg2)); needCompilerDiagnostic = false; } } @@ -80053,7 +80392,7 @@ var ts; if (_referencesArrayLiteralSyntax === undefined) { _referencesArrayLiteralSyntax = null; // tslint:disable-line:no-null-keyword if (options.configFile) { - var jsonObjectLiteral = ts.getTsConfigObjectLiteralExpression(options.configFile); + var jsonObjectLiteral = ts.getTsConfigObjectLiteralExpression(options.configFile); // TODO: GH#18217 for (var _i = 0, _a = ts.getPropertyAssignment(jsonObjectLiteral, "references"); _i < _a.length; _i++) { var prop = _a[_i]; if (ts.isArrayLiteralExpression(prop.initializer)) { @@ -80095,6 +80434,7 @@ var ts; return false; } programDiagnostics.add(ts.createDiagnosticForNodeInSourceFile(options.configFile, arrayLiteral.elements[index], message, arg0, arg1, arg2)); + return false; // TODO: GH#18217 This function always returns `false`!` } function blockEmittingOfFile(emitFileName, diag) { hasEmitBlockingDiagnostics.set(toPath(emitFileName), true); @@ -80114,6 +80454,10 @@ var ts; if (out) { return isSameFile(filePath, out) || isSameFile(filePath, ts.removeFileExtension(out) + ".d.ts" /* Dts */); } + // If declarationDir is specified, return if its a file in that directory + if (options.declarationDir && ts.containsPath(options.declarationDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames())) { + return true; + } // If --outDir, check if file is in that directory if (options.outDir) { return ts.containsPath(options.outDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames()); @@ -80121,8 +80465,8 @@ var ts; if (ts.fileExtensionIsOneOf(filePath, ts.supportedJavascriptExtensions) || ts.fileExtensionIs(filePath, ".d.ts" /* Dts */)) { // Otherwise just check if sourceFile with the name exists var filePathWithoutExtension = ts.removeFileExtension(filePath); - return !!getSourceFileByPath(ts.combinePaths(filePathWithoutExtension, ".ts" /* Ts */)) || - !!getSourceFileByPath(ts.combinePaths(filePathWithoutExtension, ".tsx" /* Tsx */)); + return !!getSourceFileByPath((filePathWithoutExtension + ".ts" /* Ts */)) || + !!getSourceFileByPath((filePathWithoutExtension + ".tsx" /* Tsx */)); } return false; } @@ -80247,7 +80591,7 @@ var ts; if (!resolvedTypeReferenceDirective) { return; } - var fileName = resolvedTypeReferenceDirective.resolvedFileName; + var fileName = resolvedTypeReferenceDirective.resolvedFileName; // TODO: GH#18217 var typeFilePath = ts.toPath(fileName, sourceFileDirectory, getCanonicalFileName); addReferencedFile(typeFilePath); }); @@ -80279,7 +80623,7 @@ var ts; for (var _i = 0, _a = newProgram.getSourceFiles(); _i < _a.length; _i++) { var sourceFile = _a[_i]; var version_1 = sourceFile.version; - var oldInfo = useOldState && oldState.fileInfos.get(sourceFile.path); + var oldInfo = useOldState ? oldState.fileInfos.get(sourceFile.path) : undefined; if (referencedMap) { var newReferences = getReferencedFiles(newProgram, sourceFile, getCanonicalFileName); if (newReferences) { @@ -80342,7 +80686,8 @@ var ts; return false; } var info = state.fileInfos.get(sourceFile.path); - ts.Debug.assert(!!info); + if (!info) + return ts.Debug.fail(); var prevSignature = info.signature; var latestSignature; if (sourceFile.isDeclarationFile) { @@ -80354,7 +80699,7 @@ var ts; latestSignature = computeHash(emitOutput.outputFiles[0].text); } else { - latestSignature = prevSignature; + latestSignature = prevSignature; // TODO: GH#18217 } } cacheToUpdateSignature.set(sourceFile.path, latestSignature); @@ -80489,8 +80834,9 @@ var ts; if (!seenFileNamesMap.has(currentPath)) { var currentSourceFile = programOfThisState.getSourceFileByPath(currentPath); seenFileNamesMap.set(currentPath, currentSourceFile); - if (currentSourceFile && updateShapeSignature(state, programOfThisState, currentSourceFile, cacheToUpdateSignature, cancellationToken, computeHash)) { - queue.push.apply(queue, getReferencedByPaths(state, currentPath)); + if (currentSourceFile && updateShapeSignature(state, programOfThisState, currentSourceFile, cacheToUpdateSignature, cancellationToken, computeHash)) { // TODO: GH#18217 + queue.push.apply(// TODO: GH#18217 + queue, getReferencedByPaths(state, currentPath)); } } } @@ -80505,7 +80851,7 @@ var ts; (function (ts) { function hasSameKeys(map1, map2) { // Has same size and every key is present in both maps - return map1 === map2 || map1 && map2 && map1.size === map2.size && !ts.forEachKey(map1, function (key) { return !map2.has(key); }); + return map1 === map2 || map1 !== undefined && map2 !== undefined && map1.size === map2.size && !ts.forEachKey(map1, function (key) { return !map2.has(key); }); } /** * Create the state so that we can iterate on changedFiles/affected files @@ -80533,7 +80879,7 @@ var ts; } // Update changed files and copy semantic diagnostics if we can var referencedMap = state.referencedMap; - var oldReferencedMap = useOldState && oldState.referencedMap; + var oldReferencedMap = useOldState ? oldState.referencedMap : undefined; state.fileInfos.forEach(function (info, sourceFilePath) { var oldInfo; var newReferences; @@ -80577,7 +80923,7 @@ var ts; var affectedFiles = state.affectedFiles; if (affectedFiles) { var seenAffectedFiles = state.seenAffectedFiles, semanticDiagnosticsPerFile = state.semanticDiagnosticsPerFile; - var affectedFilesIndex = state.affectedFilesIndex; + var affectedFilesIndex = state.affectedFilesIndex; // TODO: GH#18217 while (affectedFilesIndex < affectedFiles.length) { var affectedFile = affectedFiles[affectedFilesIndex]; if (!seenAffectedFiles.has(affectedFile.path)) { @@ -80690,7 +81036,7 @@ var ts; // Return same program if underlying program doesnt change var oldState = oldProgram && oldProgram.getState(); if (oldState && newProgram === oldState.program && configFileParsingDiagnostics === newProgram.getConfigFileParsingDiagnostics()) { - newProgram = undefined; + newProgram = undefined; // TODO: GH#18217 oldState = undefined; return oldProgram; } @@ -80704,7 +81050,7 @@ var ts; var computeHash = host.createHash || ts.identity; var state = createBuilderProgramState(newProgram, getCanonicalFileName, oldState); // To ensure that we arent storing any references to old program or new program without state - newProgram = undefined; + newProgram = undefined; // TODO: GH#18217 oldProgram = undefined; oldState = undefined; var result = { @@ -80765,7 +81111,7 @@ var ts; if (!targetSourceFile) { // Emit and report any errors we ran into. var sourceMaps = []; - var emitSkipped = void 0; + var emitSkipped = false; var diagnostics = void 0; var emittedFiles = []; var affectedEmitResult = void 0; @@ -80885,7 +81231,7 @@ var ts; var filesWithInvalidatedResolutions; var filesWithInvalidatedNonRelativeUnresolvedImports; var allFilesHaveInvalidatedResolution = false; - var getCurrentDirectory = ts.memoize(function () { return resolutionHost.getCurrentDirectory(); }); + var getCurrentDirectory = ts.memoize(function () { return resolutionHost.getCurrentDirectory(); }); // TODO: GH#18217 var cachedDirectoryStructureHost = resolutionHost.getCachedDirectoryStructureHost(); // The resolvedModuleNames and resolvedTypeReferenceDirectives are the cache of resolutions per file. // The key in the map is source file's path. @@ -80906,7 +81252,7 @@ var ts; var customFailedLookupPaths = ts.createMap(); var directoryWatchesOfFailedLookups = ts.createMap(); var rootDir = rootDirForResolution && ts.removeTrailingDirectorySeparator(ts.getNormalizedAbsolutePath(rootDirForResolution, getCurrentDirectory())); - var rootPath = rootDir && resolutionHost.toPath(rootDir); + var rootPath = (rootDir && resolutionHost.toPath(rootDir)); // TODO: GH#18217 // TypeRoot watches for the types that get added as part of getAutomaticTypeDirectiveNames var typeRootsWatches = ts.createMap(); return { @@ -80964,7 +81310,7 @@ var ts; } // Invalidated if file has unresolved imports var value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path); - return value && !!value.length; + return !!value && !!value.length; } function createHasInvalidatedResolution(forceAllFilesAsInvalidated) { if (allFilesHaveInvalidatedResolution || forceAllFilesAsInvalidated) { @@ -80974,7 +81320,7 @@ var ts; } var collected = filesWithInvalidatedResolutions; filesWithInvalidatedResolutions = undefined; - return function (path) { return (collected && collected.has(path)) || + return function (path) { return (!!collected && collected.has(path)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path); }; } function clearPerDirectoryResolutions() { @@ -81055,7 +81401,7 @@ var ts; } ts.Debug.assert(resolution !== undefined && !resolution.isInvalidated); seenNamesInFile.set(name, true); - resolvedModules.push(getResolutionWithResolvedFileName(resolution)); + resolvedModules.push(getResolutionWithResolvedFileName(resolution)); // TODO: GH#18217 } // Stop watching and remove the unused name resolutionsInFile.forEach(function (resolution, name) { @@ -81126,7 +81472,7 @@ var ts; } function getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath) { if (isInDirectoryPath(rootPath, failedLookupLocationPath)) { - return { dir: rootDir, dirPath: rootPath }; + return { dir: rootDir, dirPath: rootPath }; // TODO: GH#18217 } return getDirectoryToWatchFromFailedLookupLocationDirectory(ts.getDirectoryPath(ts.getNormalizedAbsolutePath(failedLookupLocation, getCurrentDirectory())), ts.getDirectoryPath(failedLookupLocationPath)); } @@ -81141,19 +81487,20 @@ var ts; return filterFSRootDirectoriesToWatch({ dir: dir, dirPath: dirPath }, ts.getDirectoryPath(dirPath)); } // Use some ancestor of the root directory - var subDirectory; + var subDirectoryPath, subDirectory; if (rootPath !== undefined) { while (!isInDirectoryPath(dirPath, rootPath)) { var parentPath = ts.getDirectoryPath(dirPath); if (parentPath === dirPath) { break; } - subDirectory = dirPath.slice(parentPath.length + ts.directorySeparator.length); + subDirectoryPath = dirPath; + subDirectory = dir; dirPath = parentPath; dir = ts.getDirectoryPath(dir); } } - return filterFSRootDirectoriesToWatch({ dir: dir, dirPath: dirPath, subDirectory: subDirectory }, dirPath); + return filterFSRootDirectoriesToWatch({ dir: subDirectory || dir, dirPath: subDirectoryPath || dirPath }, dirPath); } function isPathWithDefaultFailedLookupExtension(path) { return ts.fileExtensionIsOneOf(path, failedLookupDefaultExtensions); @@ -81173,7 +81520,7 @@ var ts; for (var _i = 0, failedLookupLocations_1 = failedLookupLocations; _i < failedLookupLocations_1.length; _i++) { var failedLookupLocation = failedLookupLocations_1[_i]; var failedLookupLocationPath = resolutionHost.toPath(failedLookupLocation); - var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dir = _a.dir, dirPath = _a.dirPath, ignore = _a.ignore, subDirectory = _a.subDirectory; + var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dir = _a.dir, dirPath = _a.dirPath, ignore = _a.ignore; if (!ignore) { // If the failed lookup location path is not one of the supported extensions, // store it in the custom path @@ -81185,27 +81532,21 @@ var ts; setAtRoot = true; } else { - setDirectoryWatcher(dir, dirPath, subDirectory); + setDirectoryWatcher(dir, dirPath); } } } if (setAtRoot) { - setDirectoryWatcher(rootDir, rootPath); + setDirectoryWatcher(rootDir, rootPath); // TODO: GH#18217 } } - function setDirectoryWatcher(dir, dirPath, subDirectory) { + function setDirectoryWatcher(dir, dirPath) { var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); if (dirWatcher) { dirWatcher.refCount++; } else { - dirWatcher = { watcher: createDirectoryWatcher(dir, dirPath), refCount: 1 }; - directoryWatchesOfFailedLookups.set(dirPath, dirWatcher); - } - if (subDirectory) { - var subDirectoryMap = dirWatcher.subDirectoryMap || (dirWatcher.subDirectoryMap = ts.createMap()); - var existing = subDirectoryMap.get(subDirectory) || 0; - subDirectoryMap.set(subDirectory, existing + 1); + directoryWatchesOfFailedLookups.set(dirPath, { watcher: createDirectoryWatcher(dir, dirPath), refCount: 1 }); } } function stopWatchFailedLookupLocationOfResolution(resolution) { @@ -81221,7 +81562,7 @@ var ts; for (var _i = 0, failedLookupLocations_2 = failedLookupLocations; _i < failedLookupLocations_2.length; _i++) { var failedLookupLocation = failedLookupLocations_2[_i]; var failedLookupLocationPath = resolutionHost.toPath(failedLookupLocation); - var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dirPath = _a.dirPath, ignore = _a.ignore, subDirectory = _a.subDirectory; + var _a = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath), dirPath = _a.dirPath, ignore = _a.ignore; if (!ignore) { var refCount = customFailedLookupPaths.get(failedLookupLocationPath); if (refCount) { @@ -81237,7 +81578,7 @@ var ts; removeAtRoot = true; } else { - removeDirectoryWatcher(dirPath, subDirectory); + removeDirectoryWatcher(dirPath); } } } @@ -81245,29 +81586,11 @@ var ts; removeDirectoryWatcher(rootPath); } } - function removeDirectoryWatcher(dirPath, subDirectory) { + function removeDirectoryWatcher(dirPath) { var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); - if (subDirectory) { - var existing = dirWatcher.subDirectoryMap.get(subDirectory); - if (existing === 1) { - dirWatcher.subDirectoryMap.delete(subDirectory); - } - else { - dirWatcher.subDirectoryMap.set(subDirectory, existing - 1); - } - } // Do not close the watcher yet since it might be needed by other failed lookup locations. dirWatcher.refCount--; } - function inWatchedSubdirectory(dirPath, fileOrDirectoryPath) { - var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); - if (!dirWatcher || !dirWatcher.subDirectoryMap) - return false; - return ts.forEachKey(dirWatcher.subDirectoryMap, function (subDirectory) { - var fullSubDirectory = dirPath + "/" + subDirectory; - return fullSubDirectory === fileOrDirectoryPath || isInDirectoryPath(fullSubDirectory, fileOrDirectoryPath); - }); - } function createDirectoryWatcher(directory, dirPath) { return resolutionHost.watchDirectoryOfFailedLookupLocation(directory, function (fileOrDirectory) { var fileOrDirectoryPath = resolutionHost.toPath(fileOrDirectory); @@ -81275,13 +81598,8 @@ var ts; // Since the file existence changed, update the sourceFiles cache cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(fileOrDirectory, fileOrDirectoryPath); } - // If the files are added to project root or node_modules directory, always run through the invalidation process - // Otherwise run through invalidation only if adding to the immediate directory - if (!allFilesHaveInvalidatedResolution && - (dirPath === rootPath || isNodeModulesDirectory(dirPath) || ts.getDirectoryPath(fileOrDirectoryPath) === dirPath || inWatchedSubdirectory(dirPath, fileOrDirectoryPath))) { - if (invalidateResolutionOfFailedLookupLocation(fileOrDirectoryPath, dirPath === fileOrDirectoryPath)) { - resolutionHost.onInvalidatedResolution(); - } + if (!allFilesHaveInvalidatedResolution && invalidateResolutionOfFailedLookupLocation(fileOrDirectoryPath, dirPath === fileOrDirectoryPath)) { + resolutionHost.onInvalidatedResolution(); } }, 1 /* Recursive */); } @@ -81339,7 +81657,7 @@ var ts; // Resolution is invalidated if the resulting file name is same as the deleted file path function (resolution, getResolutionWithResolvedFileName) { var result = getResolutionWithResolvedFileName(resolution); - return result && resolutionHost.toPath(result.resolvedFileName) === filePath; + return !!result && resolutionHost.toPath(result.resolvedFileName) === filePath; // TODO: GH#18217 }); } function setFilesWithInvalidatedNonRelativeUnresolvedImports(filesMap) { @@ -81395,7 +81713,7 @@ var ts; return rootPath; } var _a = getDirectoryToWatchFromFailedLookupLocationDirectory(typeRoot, typeRootPath), dirPath = _a.dirPath, ignore = _a.ignore; - return !ignore && directoryWatchesOfFailedLookups.has(dirPath) && dirPath; + return !ignore && directoryWatchesOfFailedLookups.has(dirPath) ? dirPath : undefined; } function createTypeRootsWatch(typeRootPath, typeRoot) { // Create new watch and recursive info @@ -81462,7 +81780,7 @@ var ts; getCurrentDirectory: function () { return ts.sys.getCurrentDirectory(); }, getNewLine: function () { return ts.sys.newLine; }, getCanonicalFileName: ts.createGetCanonicalFileName(ts.sys.useCaseSensitiveFileNames) - } : undefined; + } : undefined; // TODO: GH#18217 /** * Create a function that reports error by writing to the system and handles the formating of the diagnostic */ @@ -81479,7 +81797,7 @@ var ts; return function (diagnostic) { diagnostics[0] = diagnostic; system.write(ts.formatDiagnosticsWithColorAndContext(diagnostics, host) + host.getNewLine()); - diagnostics[0] = undefined; + diagnostics[0] = undefined; // TODO: GH#18217 }; } ts.createDiagnosticReporter = createDiagnosticReporter; @@ -81539,7 +81857,7 @@ var ts; var host = system; host.onUnRecoverableConfigFileDiagnostic = function (diagnostic) { return reportUnrecoverableDiagnostic(ts.sys, reportDiagnostic, diagnostic); }; var result = ts.getParsedCommandLineOfConfigFile(configFileName, optionsToExtend, host); - host.onUnRecoverableConfigFileDiagnostic = undefined; + host.onUnRecoverableConfigFileDiagnostic = undefined; // TODO: GH#18217 return result; } ts.parseConfigFileWithSystem = parseConfigFileWithSystem; @@ -81669,9 +81987,9 @@ var ts; * Creates the watch compiler host from system for config file in watch mode */ function createWatchCompilerHostOfConfigFile(configFileName, optionsToExtend, system, createProgram, reportDiagnostic, reportWatchStatus) { - reportDiagnostic = reportDiagnostic || createDiagnosticReporter(system); - var host = createWatchCompilerHost(system, createProgram, reportDiagnostic, reportWatchStatus); - host.onUnRecoverableConfigFileDiagnostic = function (diagnostic) { return reportUnrecoverableDiagnostic(system, reportDiagnostic, diagnostic); }; + var diagnosticReporter = reportDiagnostic || createDiagnosticReporter(system); + var host = createWatchCompilerHost(system, createProgram, diagnosticReporter, reportWatchStatus); + host.onUnRecoverableConfigFileDiagnostic = function (diagnostic) { return reportUnrecoverableDiagnostic(system, diagnosticReporter, diagnostic); }; host.configFileName = configFileName; host.optionsToExtend = optionsToExtend; return host; @@ -81691,7 +82009,7 @@ var ts; (function (ts) { function createWatchCompilerHost(rootFilesOrConfigFileName, options, system, createProgram, reportDiagnostic, reportWatchStatus) { if (ts.isArray(rootFilesOrConfigFileName)) { - return ts.createWatchCompilerHostOfFilesAndCompilerOptions(rootFilesOrConfigFileName, options, system, createProgram, reportDiagnostic, reportWatchStatus); + return ts.createWatchCompilerHostOfFilesAndCompilerOptions(rootFilesOrConfigFileName, options, system, createProgram, reportDiagnostic, reportWatchStatus); // TODO: GH#18217 } else { return ts.createWatchCompilerHostOfConfigFile(rootFilesOrConfigFileName, options, system, createProgram, reportDiagnostic, reportWatchStatus); @@ -81718,7 +82036,7 @@ var ts; var configFileSpecs; var configFileParsingDiagnostics; var hasChangedConfigFileParsingErrors = false; - var cachedDirectoryStructureHost = configFileName && ts.createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensitiveFileNames); + var cachedDirectoryStructureHost = configFileName === undefined ? undefined : ts.createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensitiveFileNames); if (cachedDirectoryStructureHost && host.onCachedDirectoryStructureHostCreate) { host.onCachedDirectoryStructureHostCreate(cachedDirectoryStructureHost); } @@ -81748,7 +82066,7 @@ var ts; var trace = host.trace && (function (s) { host.trace(s + newLine); }); var watchLogLevel = trace ? compilerOptions.extendedDiagnostics ? ts.WatchLogLevel.Verbose : compilerOptions.diagnostis ? ts.WatchLogLevel.TriggerOnly : ts.WatchLogLevel.None : ts.WatchLogLevel.None; - var writeLog = watchLogLevel !== ts.WatchLogLevel.None ? trace : ts.noop; + var writeLog = watchLogLevel !== ts.WatchLogLevel.None ? trace : ts.noop; // TODO: GH#18217 var _b = ts.getWatchFactory(watchLogLevel, writeLog), watchFile = _b.watchFile, watchFilePath = _b.watchFilePath, watchDirectory = _b.watchDirectory; var getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames); writeLog("Current directory: " + currentDirectory + " CaseSensitiveFileNames: " + useCaseSensitiveFileNames); @@ -81770,7 +82088,7 @@ var ts; readFile: readFile, trace: trace, directoryExists: directoryStructureHost.directoryExists && (function (path) { return directoryStructureHost.directoryExists(path); }), - getDirectories: directoryStructureHost.getDirectories && (function (path) { return directoryStructureHost.getDirectories(path); }), + getDirectories: (directoryStructureHost.getDirectories && (function (path) { return directoryStructureHost.getDirectories(path); })), realpath: host.realpath && (function (s) { return host.realpath(s); }), getEnvironmentVariable: host.getEnvironmentVariable ? (function (name) { return host.getEnvironmentVariable(name); }) : (function () { return ""; }), onReleaseOldSourceFile: onReleaseOldSourceFile, @@ -82059,12 +82377,12 @@ var ts; watchConfigFileWildCardDirectories(); } function parseConfigFile() { - setConfigFileParsingResult(ts.getParsedCommandLineOfConfigFile(configFileName, optionsToExtendForConfigFile, parseConfigFileHost)); + setConfigFileParsingResult(ts.getParsedCommandLineOfConfigFile(configFileName, optionsToExtendForConfigFile, parseConfigFileHost)); // TODO: GH#18217 } function setConfigFileParsingResult(configFileParseResult) { rootFileNames = configFileParseResult.fileNames; compilerOptions = configFileParseResult.options; - configFileSpecs = configFileParseResult.configFileSpecs; + configFileSpecs = configFileParseResult.configFileSpecs; // TODO: GH#18217 configFileParsingDiagnostics = ts.getConfigFileParsingDiagnostics(configFileParseResult); hasChangedConfigFileParsingErrors = true; } @@ -82303,6 +82621,7 @@ var 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", }), }, @@ -82948,7 +83267,7 @@ var ts; case "string": return ts.map(values, function (v) { return v || ""; }); default: - return ts.filter(ts.map(values, function (v) { return parseCustomTypeOption(opt.element, v, errors); }), function (v) { return !!v; }); + return ts.mapDefined(values, function (v) { return parseCustomTypeOption(opt.element, v, errors); }); } } ts.parseListTypeOption = parseListTypeOption; @@ -83061,6 +83380,7 @@ var ts; } } ts.parseCommandLine = parseCommandLine; + /** @internal */ function getOptionFromName(optionName, allowShort) { if (allowShort === void 0) { allowShort = false; } optionName = optionName.toLowerCase(); @@ -83074,6 +83394,7 @@ var ts; } return optionNameMap.get(optionName); } + ts.getOptionFromName = getOptionFromName; /** * Reads the config file, reports errors if any and exits if the config file cannot be found */ @@ -83233,7 +83554,7 @@ var ts; var result = returnValue ? {} : undefined; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var element = _a[_i]; - if (element.kind !== 269 /* PropertyAssignment */) { + if (element.kind !== 270 /* PropertyAssignment */) { errors.push(ts.createDiagnosticForNodeInSourceFile(sourceFile, element, ts.Diagnostics.Property_assignment_expected)); continue; } @@ -83310,13 +83631,13 @@ var ts; case 8 /* NumericLiteral */: reportInvalidOptionValue(option && option.type !== "number"); return Number(valueExpression.text); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: if (valueExpression.operator !== 38 /* MinusToken */ || valueExpression.operand.kind !== 8 /* NumericLiteral */) { break; // not valid JSON syntax } reportInvalidOptionValue(option && option.type !== "number"); return -Number(valueExpression.operand.text); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: reportInvalidOptionValue(option && option.type !== "object"); var objectLiteralExpression = valueExpression; // Currently having element option declaration in the tsconfig with type "object" @@ -83333,7 +83654,7 @@ var ts; return convertObjectLiteralExpressionToJson(objectLiteralExpression, /* knownOptions*/ undefined, /*extraKeyDiagnosticMessage */ undefined, /*parentOption*/ undefined); } - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: reportInvalidOptionValue(option && option.type !== "list"); return convertArrayLiteralExpressionToJson(valueExpression.elements, option && option.element); } @@ -83371,6 +83692,7 @@ var ts; var expectedType = ts.isString(option.type) ? option.type : "string"; return typeof value === expectedType; } + return false; } /** * Generate tsconfig configuration when running command line "--init" @@ -83423,7 +83745,7 @@ var ts; } else { if (optionDefinition.type === "list") { - result.set(name, value.map(function (element) { return getNameOfCompilerOptionValue(element, customTypeMap_1); })); + result.set(name, value.map(function (element) { return getNameOfCompilerOptionValue(element, customTypeMap_1); })); // TODO: GH#18217 } else { // There is a typeMap associated with this command-line option so use it to map value back to its name @@ -83850,13 +84172,10 @@ var ts; } function convertCompileOnSaveOptionFromJson(jsonOption, basePath, errors) { if (!ts.hasProperty(jsonOption, ts.compileOnSaveCommandLineOption.name)) { - return undefined; + return false; } var result = convertJsonOption(ts.compileOnSaveCommandLineOption, jsonOption.compileOnSave, basePath, errors); - if (typeof result === "boolean" && result) { - return result; - } - return false; + return typeof result === "boolean" && result; } function convertCompilerOptionsFromJson(jsonOptions, basePath, configFileName) { var errors = []; @@ -83885,7 +84204,7 @@ var ts; return options; } function getDefaultTypeAcquisition(configFileName) { - return { enable: configFileName && ts.getBaseFileName(configFileName) === "jsconfig.json", include: [], exclude: [] }; + return { enable: !!configFileName && ts.getBaseFileName(configFileName) === "jsconfig.json", include: [], exclude: [] }; } function convertTypeAcquisitionFromJsonWorker(jsonOptions, basePath, errors, configFileName) { var options = getDefaultTypeAcquisition(configFileName); @@ -84282,7 +84601,7 @@ var ts; if (optionEnumValue === value) { return optionStringValue; } - }); + }); // TODO: GH#18217 } } })(ts || (ts = {})); @@ -84550,36 +84869,36 @@ var ts; })(SemanticMeaning = ts.SemanticMeaning || (ts.SemanticMeaning = {})); function getMeaningFromDeclaration(node) { switch (node.kind) { - case 148 /* Parameter */: - case 231 /* VariableDeclaration */: - case 181 /* BindingElement */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 269 /* PropertyAssignment */: - case 270 /* ShorthandPropertyAssignment */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 268 /* CatchClause */: - case 261 /* JsxAttribute */: + case 149 /* Parameter */: + case 232 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 270 /* PropertyAssignment */: + case 271 /* ShorthandPropertyAssignment */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 269 /* CatchClause */: + case 262 /* JsxAttribute */: return 1 /* Value */; - case 147 /* TypeParameter */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 165 /* TypeLiteral */: + case 148 /* TypeParameter */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 166 /* TypeLiteral */: return 2 /* Type */; - case 296 /* JSDocTypedefTag */: + case 297 /* JSDocTypedefTag */: // If it has no name node, it shares the name with the value declaration below it. return node.name === undefined ? 1 /* Value */ | 2 /* Type */ : 2 /* Type */; - case 272 /* EnumMember */: - case 234 /* ClassDeclaration */: + case 273 /* EnumMember */: + case 235 /* ClassDeclaration */: return 1 /* Value */ | 2 /* Type */; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (ts.isAmbientModule(node)) { return 4 /* Namespace */ | 1 /* Value */; } @@ -84589,26 +84908,26 @@ var ts; else { return 4 /* Namespace */; } - case 237 /* EnumDeclaration */: - case 246 /* NamedImports */: - case 247 /* ImportSpecifier */: - case 242 /* ImportEqualsDeclaration */: - case 243 /* ImportDeclaration */: - case 248 /* ExportAssignment */: - case 249 /* ExportDeclaration */: + case 238 /* EnumDeclaration */: + case 247 /* NamedImports */: + case 248 /* ImportSpecifier */: + case 243 /* ImportEqualsDeclaration */: + case 244 /* ImportDeclaration */: + case 249 /* ExportAssignment */: + case 250 /* ExportDeclaration */: return 7 /* All */; // An external module can be a Value - case 273 /* SourceFile */: + case 274 /* SourceFile */: return 4 /* Namespace */ | 1 /* Value */; } return 7 /* All */; } ts.getMeaningFromDeclaration = getMeaningFromDeclaration; function getMeaningFromLocation(node) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { return 1 /* Value */; } - else if (node.parent.kind === 248 /* ExportAssignment */) { + else if (node.parent.kind === 249 /* ExportAssignment */) { return 7 /* All */; } else if (isInRightSideOfInternalImportEqualsDeclaration(node)) { @@ -84640,11 +84959,11 @@ var ts; // import a = |b|; // Namespace // import a = |b.c|; // Value, type, namespace // import a = |b.c|.d; // Namespace - var name = node.kind === 145 /* QualifiedName */ ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; - return name && name.parent.kind === 242 /* ImportEqualsDeclaration */ ? 7 /* All */ : 4 /* Namespace */; + var name = node.kind === 146 /* QualifiedName */ ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; + return name && name.parent.kind === 243 /* ImportEqualsDeclaration */ ? 7 /* All */ : 4 /* Namespace */; } function isInRightSideOfInternalImportEqualsDeclaration(node) { - while (node.parent.kind === 145 /* QualifiedName */) { + while (node.parent.kind === 146 /* QualifiedName */) { node = node.parent; } return ts.isInternalModuleImportEqualsDeclaration(node.parent) && node.parent.moduleReference === node; @@ -84656,27 +84975,27 @@ var ts; function isQualifiedNameNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 145 /* QualifiedName */) { - while (root.parent && root.parent.kind === 145 /* QualifiedName */) { + if (root.parent.kind === 146 /* QualifiedName */) { + while (root.parent && root.parent.kind === 146 /* QualifiedName */) { root = root.parent; } isLastClause = root.right === node; } - return root.parent.kind === 161 /* TypeReference */ && !isLastClause; + return root.parent.kind === 162 /* TypeReference */ && !isLastClause; } function isPropertyAccessNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 184 /* PropertyAccessExpression */) { - while (root.parent && root.parent.kind === 184 /* PropertyAccessExpression */) { + if (root.parent.kind === 185 /* PropertyAccessExpression */) { + while (root.parent && root.parent.kind === 185 /* PropertyAccessExpression */) { root = root.parent; } isLastClause = root.name === node; } - if (!isLastClause && root.parent.kind === 206 /* ExpressionWithTypeArguments */ && root.parent.parent.kind === 267 /* HeritageClause */) { + if (!isLastClause && root.parent.kind === 207 /* ExpressionWithTypeArguments */ && root.parent.parent.kind === 268 /* HeritageClause */) { var decl = root.parent.parent.parent; - return (decl.kind === 234 /* ClassDeclaration */ && root.parent.parent.token === 108 /* ImplementsKeyword */) || - (decl.kind === 235 /* InterfaceDeclaration */ && root.parent.parent.token === 85 /* ExtendsKeyword */); + return (decl.kind === 235 /* ClassDeclaration */ && root.parent.parent.token === 108 /* ImplementsKeyword */) || + (decl.kind === 236 /* InterfaceDeclaration */ && root.parent.parent.token === 85 /* ExtendsKeyword */); } return false; } @@ -84687,30 +85006,30 @@ var ts; switch (node.kind) { case 99 /* ThisKeyword */: return !ts.isExpressionNode(node); - case 173 /* ThisType */: + case 174 /* ThisType */: return true; } switch (node.parent.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return true; - case 178 /* ImportType */: + case 179 /* ImportType */: return !node.parent.isTypeOf; - case 206 /* ExpressionWithTypeArguments */: + case 207 /* ExpressionWithTypeArguments */: return !ts.isExpressionWithTypeArgumentsInClassExtendsClause(node.parent); } return false; } function isCallExpressionTarget(node) { - return isCallOrNewExpressionTarget(node, 186 /* CallExpression */); + return isCallOrNewExpressionTarget(node, 187 /* CallExpression */); } ts.isCallExpressionTarget = isCallExpressionTarget; function isNewExpressionTarget(node) { - return isCallOrNewExpressionTarget(node, 187 /* NewExpression */); + return isCallOrNewExpressionTarget(node, 188 /* NewExpression */); } ts.isNewExpressionTarget = isNewExpressionTarget; function isCallOrNewExpressionTarget(node, kind) { var target = climbPastPropertyAccess(node); - return target && target.parent && target.parent.kind === kind && target.parent.expression === target; + return !!target && !!target.parent && target.parent.kind === kind && target.parent.expression === target; } function climbPastPropertyAccess(node) { return isRightSideOfPropertyAccess(node) ? node.parent : node; @@ -84718,7 +85037,7 @@ var ts; ts.climbPastPropertyAccess = climbPastPropertyAccess; function getTargetLabel(referenceNode, labelName) { while (referenceNode) { - if (referenceNode.kind === 227 /* LabeledStatement */ && referenceNode.label.escapedText === labelName) { + if (referenceNode.kind === 228 /* LabeledStatement */ && referenceNode.label.escapedText === labelName) { return referenceNode.label; } referenceNode = referenceNode.parent; @@ -84739,15 +85058,15 @@ var ts; } ts.isLabelName = isLabelName; function isRightSideOfQualifiedName(node) { - return node.parent.kind === 145 /* QualifiedName */ && node.parent.right === node; + return node.parent.kind === 146 /* QualifiedName */ && node.parent.right === node; } ts.isRightSideOfQualifiedName = isRightSideOfQualifiedName; function isRightSideOfPropertyAccess(node) { - return node && node.parent && node.parent.kind === 184 /* PropertyAccessExpression */ && node.parent.name === node; + return node && node.parent && node.parent.kind === 185 /* PropertyAccessExpression */ && node.parent.name === node; } ts.isRightSideOfPropertyAccess = isRightSideOfPropertyAccess; function isNameOfModuleDeclaration(node) { - return node.parent.kind === 238 /* ModuleDeclaration */ && node.parent.name === node; + return node.parent.kind === 239 /* ModuleDeclaration */ && node.parent.name === node; } ts.isNameOfModuleDeclaration = isNameOfModuleDeclaration; function isNameOfFunctionDeclaration(node) { @@ -84757,22 +85076,24 @@ var ts; ts.isNameOfFunctionDeclaration = isNameOfFunctionDeclaration; function isLiteralNameOfPropertyDeclarationOrIndexAccess(node) { switch (node.parent.kind) { - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 269 /* PropertyAssignment */: - case 272 /* EnumMember */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 238 /* ModuleDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 270 /* PropertyAssignment */: + case 273 /* EnumMember */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 239 /* ModuleDeclaration */: return ts.getNameOfDeclaration(node.parent) === node; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: return node.parent.argumentExpression === node; - case 146 /* ComputedPropertyName */: + case 147 /* ComputedPropertyName */: return true; - case 177 /* LiteralType */: - return node.parent.parent.kind === 175 /* IndexedAccessType */; + case 178 /* LiteralType */: + return node.parent.parent.kind === 176 /* IndexedAccessType */; + default: + return false; } } ts.isLiteralNameOfPropertyDeclarationOrIndexAccess = isLiteralNameOfPropertyDeclarationOrIndexAccess; @@ -84794,17 +85115,17 @@ var ts; return undefined; } switch (node.kind) { - case 273 /* SourceFile */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 238 /* ModuleDeclaration */: + case 274 /* SourceFile */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 239 /* ModuleDeclaration */: return node; } } @@ -84812,49 +85133,49 @@ var ts; ts.getContainerNode = getContainerNode; function getNodeKind(node) { switch (node.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: return ts.isExternalModule(node) ? "module" /* moduleElement */ : "script" /* scriptElement */; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return "module" /* moduleElement */; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: return "class" /* classElement */; - case 235 /* InterfaceDeclaration */: return "interface" /* interfaceElement */; - case 236 /* TypeAliasDeclaration */: - case 291 /* JSDocCallbackTag */: - case 296 /* JSDocTypedefTag */: + case 236 /* InterfaceDeclaration */: return "interface" /* interfaceElement */; + case 237 /* TypeAliasDeclaration */: + case 292 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: return "type" /* typeElement */; - case 237 /* EnumDeclaration */: return "enum" /* enumElement */; - case 231 /* VariableDeclaration */: + case 238 /* EnumDeclaration */: return "enum" /* enumElement */; + case 232 /* VariableDeclaration */: return getKindOfVariableDeclaration(node); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return getKindOfVariableDeclaration(ts.getRootDeclaration(node)); - case 192 /* ArrowFunction */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: return "function" /* functionElement */; - case 155 /* GetAccessor */: return "getter" /* memberGetAccessorElement */; - case 156 /* SetAccessor */: return "setter" /* memberSetAccessorElement */; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 156 /* GetAccessor */: return "getter" /* memberGetAccessorElement */; + case 157 /* SetAccessor */: return "setter" /* memberSetAccessorElement */; + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: return "method" /* memberFunctionElement */; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return "property" /* memberVariableElement */; - case 159 /* IndexSignature */: return "index" /* indexSignatureElement */; - case 158 /* ConstructSignature */: return "construct" /* constructSignatureElement */; - case 157 /* CallSignature */: return "call" /* callSignatureElement */; - case 154 /* Constructor */: return "constructor" /* constructorImplementationElement */; - case 147 /* TypeParameter */: return "type parameter" /* typeParameterElement */; - case 272 /* EnumMember */: return "enum member" /* enumMemberElement */; - case 148 /* Parameter */: return ts.hasModifier(node, 92 /* ParameterPropertyModifier */) ? "property" /* memberVariableElement */ : "parameter" /* parameterElement */; - case 242 /* ImportEqualsDeclaration */: - case 247 /* ImportSpecifier */: - case 244 /* ImportClause */: - case 251 /* ExportSpecifier */: - case 245 /* NamespaceImport */: + case 160 /* IndexSignature */: return "index" /* indexSignatureElement */; + case 159 /* ConstructSignature */: return "construct" /* constructSignatureElement */; + case 158 /* CallSignature */: return "call" /* callSignatureElement */; + case 155 /* Constructor */: return "constructor" /* constructorImplementationElement */; + case 148 /* TypeParameter */: return "type parameter" /* typeParameterElement */; + case 273 /* EnumMember */: return "enum member" /* enumMemberElement */; + case 149 /* Parameter */: return ts.hasModifier(node, 92 /* ParameterPropertyModifier */) ? "property" /* memberVariableElement */ : "parameter" /* parameterElement */; + case 243 /* ImportEqualsDeclaration */: + case 248 /* ImportSpecifier */: + case 245 /* ImportClause */: + case 252 /* ExportSpecifier */: + case 246 /* NamespaceImport */: return "alias" /* alias */; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: var kind = ts.getSpecialPropertyAssignmentKind(node); var right = node.right; switch (kind) { @@ -84897,7 +85218,7 @@ var ts; return true; case 71 /* Identifier */: // 'this' as a parameter - return ts.identifierIsThisKeyword(node) && node.parent.kind === 148 /* Parameter */; + return ts.identifierIsThisKeyword(node) && node.parent.kind === 149 /* Parameter */; default: return false; } @@ -84919,6 +85240,10 @@ var ts; return r.pos <= pos && pos <= r.end; } ts.rangeContainsPosition = rangeContainsPosition; + function rangeContainsPositionExclusive(r, pos) { + return r.pos < pos && pos < r.end; + } + ts.rangeContainsPositionExclusive = rangeContainsPositionExclusive; function startEndContainsRange(start, end, range) { return start <= range.pos && end >= range.end; } @@ -84946,46 +85271,46 @@ var ts; } ts.positionBelongsToNode = positionBelongsToNode; function isCompletedNode(n, sourceFile) { - if (ts.nodeIsMissing(n)) { + if (n === undefined || ts.nodeIsMissing(n)) { return false; } switch (n.kind) { - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 183 /* ObjectLiteralExpression */: - case 179 /* ObjectBindingPattern */: - case 165 /* TypeLiteral */: - case 212 /* Block */: - case 239 /* ModuleBlock */: - case 240 /* CaseBlock */: - case 246 /* NamedImports */: - case 250 /* NamedExports */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 184 /* ObjectLiteralExpression */: + case 180 /* ObjectBindingPattern */: + case 166 /* TypeLiteral */: + case 213 /* Block */: + case 240 /* ModuleBlock */: + case 241 /* CaseBlock */: + case 247 /* NamedImports */: + case 251 /* NamedExports */: return nodeEndsWith(n, 18 /* CloseBraceToken */, sourceFile); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return isCompletedNode(n.block, sourceFile); - case 187 /* NewExpression */: + case 188 /* NewExpression */: if (!n.arguments) { return true; } // falls through - case 186 /* CallExpression */: - case 190 /* ParenthesizedExpression */: - case 172 /* ParenthesizedType */: + case 187 /* CallExpression */: + case 191 /* ParenthesizedExpression */: + case 173 /* ParenthesizedType */: return nodeEndsWith(n, 20 /* CloseParenToken */, sourceFile); - case 162 /* FunctionType */: - case 163 /* ConstructorType */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: return isCompletedNode(n.type, sourceFile); - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 158 /* ConstructSignature */: - case 157 /* CallSignature */: - case 192 /* ArrowFunction */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 159 /* ConstructSignature */: + case 158 /* CallSignature */: + case 193 /* ArrowFunction */: if (n.body) { return isCompletedNode(n.body, sourceFile); } @@ -84995,65 +85320,65 @@ var ts; // Even though type parameters can be unclosed, we can get away with // having at least a closing paren. return hasChildOfKind(n, 20 /* CloseParenToken */, sourceFile); - case 238 /* ModuleDeclaration */: - return n.body && isCompletedNode(n.body, sourceFile); - case 216 /* IfStatement */: + case 239 /* ModuleDeclaration */: + return !!n.body && isCompletedNode(n.body, sourceFile); + case 217 /* IfStatement */: if (n.elseStatement) { return isCompletedNode(n.elseStatement, sourceFile); } return isCompletedNode(n.thenStatement, sourceFile); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return isCompletedNode(n.expression, sourceFile) || hasChildOfKind(n, 25 /* SemicolonToken */, sourceFile); - case 182 /* ArrayLiteralExpression */: - case 180 /* ArrayBindingPattern */: - case 185 /* ElementAccessExpression */: - case 146 /* ComputedPropertyName */: - case 167 /* TupleType */: + case 183 /* ArrayLiteralExpression */: + case 181 /* ArrayBindingPattern */: + case 186 /* ElementAccessExpression */: + case 147 /* ComputedPropertyName */: + case 168 /* TupleType */: return nodeEndsWith(n, 22 /* CloseBracketToken */, sourceFile); - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: if (n.type) { return isCompletedNode(n.type, sourceFile); } return hasChildOfKind(n, 22 /* CloseBracketToken */, sourceFile); - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: // there is no such thing as terminator token for CaseClause/DefaultClause so for simplicity always consider them non-completed return false; - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 218 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 219 /* WhileStatement */: return isCompletedNode(n.statement, sourceFile); - case 217 /* DoStatement */: + case 218 /* DoStatement */: // rough approximation: if DoStatement has While keyword - then if node is completed is checking the presence of ')'; return hasChildOfKind(n, 106 /* WhileKeyword */, sourceFile) ? nodeEndsWith(n, 20 /* CloseParenToken */, sourceFile) : isCompletedNode(n.statement, sourceFile); - case 164 /* TypeQuery */: + case 165 /* TypeQuery */: return isCompletedNode(n.exprName, sourceFile); - case 194 /* TypeOfExpression */: - case 193 /* DeleteExpression */: - case 195 /* VoidExpression */: - case 202 /* YieldExpression */: - case 203 /* SpreadElement */: + case 195 /* TypeOfExpression */: + case 194 /* DeleteExpression */: + case 196 /* VoidExpression */: + case 203 /* YieldExpression */: + case 204 /* SpreadElement */: var unaryWordExpression = n; return isCompletedNode(unaryWordExpression.expression, sourceFile); - case 188 /* TaggedTemplateExpression */: + case 189 /* TaggedTemplateExpression */: return isCompletedNode(n.template, sourceFile); - case 201 /* TemplateExpression */: + case 202 /* TemplateExpression */: var lastSpan = ts.lastOrUndefined(n.templateSpans); return isCompletedNode(lastSpan, sourceFile); - case 210 /* TemplateSpan */: + case 211 /* TemplateSpan */: return ts.nodeIsPresent(n.literal); - case 249 /* ExportDeclaration */: - case 243 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: return ts.nodeIsPresent(n.moduleSpecifier); - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: return isCompletedNode(n.operand, sourceFile); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: return isCompletedNode(n.right, sourceFile); - case 200 /* ConditionalExpression */: + case 201 /* ConditionalExpression */: return isCompletedNode(n.whenFalse, sourceFile); default: return true; @@ -85066,11 +85391,11 @@ var ts; function nodeEndsWith(n, expectedLastToken, sourceFile) { var children = n.getChildren(sourceFile); if (children.length) { - var last_2 = ts.lastOrUndefined(children); - if (last_2.kind === expectedLastToken) { + var lastChild = ts.last(children); + if (lastChild.kind === expectedLastToken) { return true; } - else if (last_2.kind === 25 /* SemicolonToken */ && children.length !== 1) { + else if (lastChild.kind === 25 /* SemicolonToken */ && children.length !== 1) { return children[children.length - 2].kind === expectedLastToken; } } @@ -85130,6 +85455,7 @@ var ts; ts.getTouchingToken = getTouchingToken; /** Returns a token if position is in [start-of-leading-trivia, end) */ function getTokenAtPosition(sourceFile, position, includeJsDocComment, includeEndPosition) { + if (includeEndPosition === void 0) { includeEndPosition = false; } return getTokenAtPositionWorker(sourceFile, position, /*allowPositionInLeadingTrivia*/ true, /*includePrecedingTokenAtEndPosition*/ undefined, includeEndPosition, includeJsDocComment); } ts.getTokenAtPosition = getTokenAtPosition; @@ -85244,7 +85570,7 @@ var ts; } } } - ts.Debug.assert(startNode !== undefined || n.kind === 273 /* SourceFile */ || ts.isJSDocCommentContainingNode(n)); + ts.Debug.assert(startNode !== undefined || n.kind === 274 /* SourceFile */ || ts.isJSDocCommentContainingNode(n)); // Here we know that none of child token nodes embrace the position, // the only known case is when position is at the end of the file. // Try to find the rightmost token in the file without filtering. @@ -85284,7 +85610,7 @@ var ts; function isInString(sourceFile, position, previousToken) { if (previousToken === void 0) { previousToken = findPrecedingToken(position, sourceFile); } if (previousToken && ts.isStringTextContainingNode(previousToken)) { - var start = previousToken.getStart(); + var start = previousToken.getStart(sourceFile); var end = previousToken.getEnd(); // To be "in" one of these literals, the position has to be: // 1. entirely within the token text. @@ -85316,17 +85642,17 @@ var ts; return true; } //
{ |
or
- if (token.kind === 27 /* LessThanToken */ && token.parent.kind === 264 /* JsxExpression */) { + if (token.kind === 27 /* LessThanToken */ && token.parent.kind === 265 /* JsxExpression */) { return true; } //
{ // | // } < /div> - if (token && token.kind === 18 /* CloseBraceToken */ && token.parent.kind === 264 /* JsxExpression */) { + if (token && token.kind === 18 /* CloseBraceToken */ && token.parent.kind === 265 /* JsxExpression */) { return true; } //
|
- if (token.kind === 27 /* LessThanToken */ && token.parent.kind === 257 /* JsxClosingElement */) { + if (token.kind === 27 /* LessThanToken */ && token.parent.kind === 258 /* JsxClosingElement */) { return true; } return false; @@ -85344,10 +85670,11 @@ var ts; var tokenKind = token.kind; var remainingMatchingTokens = 0; while (true) { - token = findPrecedingToken(token.getFullStart(), sourceFile); - if (!token) { + var preceding = findPrecedingToken(token.getFullStart(), sourceFile); + if (!preceding) { return undefined; } + token = preceding; if (token.kind === matchingTokenKind) { if (remainingMatchingTokens === 0) { return token; @@ -85360,21 +85687,24 @@ var ts; } } ts.findPrecedingMatchingToken = findPrecedingMatchingToken; - function isPossiblyTypeArgumentPosition(token, sourceFile) { + function isPossiblyTypeArgumentPosition(tokenIn, sourceFile) { + var token = tokenIn; // This function determines if the node could be type argument position // Since during editing, when type argument list is not complete, // the tree could be of any shape depending on the tokens parsed before current node, // scanning of the previous identifier followed by "<" before current node would give us better result // Note that we also balance out the already provided type arguments, arrays, object literals while doing so var remainingLessThanTokens = 0; + var nTypeArguments = 0; while (token) { switch (token.kind) { case 27 /* LessThanToken */: // Found the beginning of the generic argument expression token = findPrecedingToken(token.getFullStart(), sourceFile); - var tokenIsIdentifier = token && ts.isIdentifier(token); - if (!remainingLessThanTokens || !tokenIsIdentifier) { - return tokenIsIdentifier; + if (!token || !ts.isIdentifier(token)) + return undefined; + if (!remainingLessThanTokens) { + return { called: token, nTypeArguments: nTypeArguments }; } remainingLessThanTokens--; break; @@ -85392,24 +85722,26 @@ var ts; // Skip until the matching open brace token token = findPrecedingMatchingToken(token, 17 /* OpenBraceToken */, sourceFile); if (!token) - return false; + return undefined; break; case 20 /* CloseParenToken */: // This can be object type, skip until we find the matching open brace token // Skip until the matching open brace token token = findPrecedingMatchingToken(token, 19 /* OpenParenToken */, sourceFile); if (!token) - return false; + return undefined; break; case 22 /* CloseBracketToken */: // This can be object type, skip until we find the matching open brace token // Skip until the matching open brace token token = findPrecedingMatchingToken(token, 21 /* OpenBracketToken */, sourceFile); if (!token) - return false; + return undefined; break; // Valid tokens in a type name. Skip. case 26 /* CommaToken */: + nTypeArguments++; + break; case 36 /* EqualsGreaterThanToken */: case 71 /* Identifier */: case 9 /* StringLiteral */: @@ -85429,11 +85761,11 @@ var ts; break; } // Invalid token in type - return false; + return undefined; } token = findPrecedingToken(token.getFullStart(), sourceFile); } - return false; + return undefined; } ts.isPossiblyTypeArgumentPosition = isPossiblyTypeArgumentPosition; /** @@ -85483,10 +85815,10 @@ var ts; } ts.getNodeModifiers = getNodeModifiers; function getTypeArgumentOrTypeParameterList(node) { - if (node.kind === 161 /* TypeReference */ || node.kind === 186 /* CallExpression */) { + if (node.kind === 162 /* TypeReference */ || node.kind === 187 /* CallExpression */) { return node.typeArguments; } - if (ts.isFunctionLike(node) || node.kind === 234 /* ClassDeclaration */ || node.kind === 235 /* InterfaceDeclaration */) { + if (ts.isFunctionLike(node) || node.kind === 235 /* ClassDeclaration */ || node.kind === 236 /* InterfaceDeclaration */) { return node.typeParameters; } return undefined; @@ -85509,9 +85841,9 @@ var ts; return 17 /* FirstPunctuation */ <= kind && kind <= 70 /* LastPunctuation */; } ts.isPunctuation = isPunctuation; - function isInsideTemplateLiteral(node, position) { + function isInsideTemplateLiteral(node, position, sourceFile) { return ts.isTemplateLiteralKind(node.kind) - && (node.getStart() < position && position < node.getEnd()) || (!!node.isUnterminated && position === node.getEnd()); + && (node.getStart(sourceFile) < position && position < node.end) || (!!node.isUnterminated && position === node.end); } ts.isInsideTemplateLiteral = isInsideTemplateLiteral; function isAccessibilityModifier(kind) { @@ -85531,18 +85863,18 @@ var ts; } ts.cloneCompilerOptions = cloneCompilerOptions; function isArrayLiteralOrObjectLiteralDestructuringPattern(node) { - if (node.kind === 182 /* ArrayLiteralExpression */ || - node.kind === 183 /* ObjectLiteralExpression */) { + if (node.kind === 183 /* ArrayLiteralExpression */ || + node.kind === 184 /* ObjectLiteralExpression */) { // [a,b,c] from: // [a, b, c] = someExpression; - if (node.parent.kind === 199 /* BinaryExpression */ && + if (node.parent.kind === 200 /* BinaryExpression */ && node.parent.left === node && node.parent.operatorToken.kind === 58 /* EqualsToken */) { return true; } // [a, b, c] from: // for([a, b, c] of expression) - if (node.parent.kind === 221 /* ForOfStatement */ && + if (node.parent.kind === 222 /* ForOfStatement */ && node.parent.initializer === node) { return true; } @@ -85550,7 +85882,7 @@ var ts; // [x, [a, b, c] ] = someExpression // or // {x, a: {a, b, c} } = someExpression - if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 269 /* PropertyAssignment */ ? node.parent.parent : node.parent)) { + if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 270 /* PropertyAssignment */ ? node.parent.parent : node.parent)) { return true; } } @@ -85604,6 +85936,7 @@ var ts; 105 /* VoidKeyword */, 140 /* UndefinedKeyword */, 141 /* UniqueKeyword */, + 142 /* UnknownKeyword */, ]; function isTypeKeyword(kind) { return ts.contains(ts.typeKeywords, kind); @@ -85636,11 +85969,11 @@ var ts; } ts.repeatString = repeatString; function skipConstraint(type) { - return type.isTypeParameter() ? type.getConstraint() : type; + return type.isTypeParameter() ? type.getConstraint() : type; // TODO: GH#18217 } ts.skipConstraint = skipConstraint; function getNameFromPropertyName(name) { - return name.kind === 146 /* ComputedPropertyName */ + return name.kind === 147 /* ComputedPropertyName */ // treat computed property names where expression is string/numeric literal as just string/numeric literal ? ts.isStringOrNumericLiteral(name.expression) ? name.expression.text : undefined : ts.getTextOfIdentifierOrLiteral(name); @@ -85662,16 +85995,16 @@ var ts; return ts.createGetCanonicalFileName(hostUsesCaseSensitiveFileNames(host)); } ts.hostGetCanonicalFileName = hostGetCanonicalFileName; - function makeImportIfNecessary(defaultImport, namedImports, moduleSpecifier) { - return defaultImport || namedImports && namedImports.length ? makeImport(defaultImport, namedImports, moduleSpecifier) : undefined; + function makeImportIfNecessary(defaultImport, namedImports, moduleSpecifier, preferences) { + return defaultImport || namedImports && namedImports.length ? makeImport(defaultImport, namedImports, moduleSpecifier, preferences) : undefined; } ts.makeImportIfNecessary = makeImportIfNecessary; - function makeImport(defaultImport, namedImports, moduleSpecifier) { + function makeImport(defaultImport, namedImports, moduleSpecifier, preferences) { return ts.createImportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, defaultImport || namedImports ? ts.createImportClause(defaultImport, namedImports && namedImports.length ? ts.createNamedImports(namedImports) : undefined) - : undefined, typeof moduleSpecifier === "string" ? ts.createLiteral(moduleSpecifier) : moduleSpecifier); + : undefined, typeof moduleSpecifier === "string" ? ts.createLiteral(moduleSpecifier, preferences.quotePreference === "single") : moduleSpecifier); } ts.makeImport = makeImport; function symbolNameNoDefault(symbol) { @@ -85700,6 +86033,37 @@ var ts; return propSymbol; } ts.getPropertySymbolFromBindingElement = getPropertySymbolFromBindingElement; + /** + * Find symbol of the given property-name and add the symbol to the given result array + * @param symbol a symbol to start searching for the given propertyName + * @param propertyName a name of property to search for + * @param result an array of symbol of found property symbols + * @param previousIterationSymbolsCache a cache of symbol from previous iterations of calling this function to prevent infinite revisiting of the same symbol. + * The value of previousIterationSymbol is undefined when the function is first called. + */ + function getPropertySymbolsFromBaseTypes(symbol, propertyName, checker, cb) { + var seen = ts.createMap(); + return recur(symbol); + function recur(symbol) { + // Use `addToSeen` to ensure we don't infinitely recurse in this situation: + // interface C extends C { + // /*findRef*/propName: string; + // } + if (!(symbol.flags & (32 /* Class */ | 64 /* Interface */)) || !ts.addToSeen(seen, ts.getSymbolId(symbol))) + return; + return ts.firstDefined(symbol.declarations, function (declaration) { return ts.firstDefined(ts.getAllSuperTypeNodes(declaration), function (typeReference) { + var type = checker.getTypeAtLocation(typeReference); + var propertySymbol = type && type.symbol && checker.getPropertyOfType(type, propertyName); + // Visit the typeReference as well to see if it directly or indirectly uses that property + return type && propertySymbol && (ts.firstDefined(checker.getRootSymbols(propertySymbol), cb) || recur(type.symbol)); + }); }); + } + } + ts.getPropertySymbolsFromBaseTypes = getPropertySymbolsFromBaseTypes; + function isMemberSymbolInBaseType(memberSymbol, checker) { + return getPropertySymbolsFromBaseTypes(memberSymbol.parent, memberSymbol.name, checker, function (_) { return true; }) || false; + } + ts.isMemberSymbolInBaseType = isMemberSymbolInBaseType; var NodeSet = /** @class */ (function () { function NodeSet() { this.map = ts.createMap(); @@ -85719,12 +86083,27 @@ var ts; return NodeSet; }()); ts.NodeSet = NodeSet; + function getParentNodeInSpan(node, file, span) { + if (!node) + return undefined; + while (node.parent) { + if (ts.isSourceFile(node.parent) || !spanContainsNode(span, node.parent, file)) { + return node; + } + node = node.parent; + } + } + ts.getParentNodeInSpan = getParentNodeInSpan; + function spanContainsNode(span, node, file) { + return ts.textSpanContainsPosition(span, node.getStart(file)) && + node.getEnd() <= ts.textSpanEnd(span); + } })(ts || (ts = {})); // Display-part writer helpers /* @internal */ (function (ts) { function isFirstDeclarationOfSymbolParameter(symbol) { - return symbol.declarations && symbol.declarations.length > 0 && symbol.declarations[0].kind === 148 /* Parameter */; + return symbol.declarations && symbol.declarations.length > 0 && symbol.declarations[0].kind === 149 /* Parameter */; } ts.isFirstDeclarationOfSymbolParameter = isFirstDeclarationOfSymbolParameter; var displayPartWriter = getDisplayPartWriter(); @@ -85897,18 +86276,21 @@ var ts; } ts.mapToDisplayParts = mapToDisplayParts; function typeToDisplayParts(typechecker, type, enclosingDeclaration, flags) { + if (flags === void 0) { flags = 0 /* None */; } return mapToDisplayParts(function (writer) { - typechecker.writeType(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, writer); + typechecker.writeType(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */ | 16384 /* UseAliasDefinedOutsideCurrentScope */, writer); }); } ts.typeToDisplayParts = typeToDisplayParts; function symbolToDisplayParts(typeChecker, symbol, enclosingDeclaration, meaning, flags) { + if (flags === void 0) { flags = 0 /* None */; } return mapToDisplayParts(function (writer) { typeChecker.writeSymbol(symbol, enclosingDeclaration, meaning, flags | 8 /* UseAliasDefinedOutsideCurrentScope */, writer); }); } ts.symbolToDisplayParts = symbolToDisplayParts; function signatureToDisplayParts(typechecker, signature, enclosingDeclaration, flags) { + if (flags === void 0) { flags = 0 /* None */; } flags |= 16384 /* UseAliasDefinedOutsideCurrentScope */ | 1024 /* MultilineObjectLiterals */ | 32 /* WriteTypeArgumentsOfSignature */ | 8192 /* OmitParameterModifiers */; return mapToDisplayParts(function (writer) { typechecker.writeSignature(signature, enclosingDeclaration, flags, /*signatureKind*/ undefined, writer); @@ -85916,8 +86298,8 @@ var ts; } ts.signatureToDisplayParts = signatureToDisplayParts; function isImportOrExportSpecifierName(location) { - return location.parent && - (location.parent.kind === 247 /* ImportSpecifier */ || location.parent.kind === 251 /* ExportSpecifier */) && + return !!location.parent && + (location.parent.kind === 248 /* ImportSpecifier */ || location.parent.kind === 252 /* ExportSpecifier */) && location.parent.propertyName === location; } ts.isImportOrExportSpecifierName = isImportOrExportSpecifierName; @@ -85944,7 +86326,7 @@ var ts; scriptKinds[_i - 2] = arguments[_i]; } var scriptKind = getScriptKind(fileName, host); - return ts.forEach(scriptKinds, function (k) { return k === scriptKind; }); + return ts.some(scriptKinds, function (k) { return k === scriptKind; }); } ts.scriptKindIs = scriptKindIs; function getScriptKind(fileName, host) { @@ -86037,9 +86419,9 @@ var ts; return node.forEachChild(function (child) { return child; }); } /* @internal */ - function getUniqueName(baseName, fileText) { + function getUniqueName(baseName, sourceFile) { var nameText = baseName; - for (var i = 1; ts.stringContains(fileText, nameText); i++) { + for (var i = 1; !ts.isFileLevelUniqueName(sourceFile, nameText); i++) { nameText = baseName + "_" + i; } return nameText; @@ -86060,7 +86442,7 @@ var ts; for (var _b = 0, textChanges_1 = textChanges_2; _b < textChanges_1.length; _b++) { var change = textChanges_1[_b]; var span = change.span, newText = change.newText; - var index = newText.indexOf(name); + var index = indexInTextChange(newText, name); if (index !== -1) { lastPos = span.start + delta + index; // If the reference comes first, return immediately. @@ -86077,6 +86459,17 @@ var ts; return lastPos; } ts.getRenameLocation = getRenameLocation; + function indexInTextChange(change, name) { + if (ts.startsWith(change, name)) + return 0; + // Add a " " to avoid references inside words + var idx = change.indexOf(" " + name); + if (idx === -1) + idx = change.indexOf("." + name); + if (idx === -1) + idx = change.indexOf('"' + name); + return idx === -1 ? -1 : idx + 1; + } })(ts || (ts = {})); var ts; (function (ts) { @@ -86356,6 +86749,8 @@ var ts; case 9 /* text */: case 17 /* parameterName */: return ts.TokenClass.Identifier; + default: + return undefined; // TODO: GH#18217 Debug.assertNever(type); } } /** Returns true if 'keyword2' can legally follow 'keyword1' in any language construct. */ @@ -86506,10 +86901,10 @@ var ts; // That means we're calling back into the host around every 1.2k of the file we process. // Lib.d.ts has similar numbers. switch (kind) { - case 238 /* ModuleDeclaration */: - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 233 /* FunctionDeclaration */: + case 239 /* ModuleDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 234 /* FunctionDeclaration */: cancellationToken.throwIfCancellationRequested(); } } @@ -86603,6 +86998,7 @@ var ts; case 22 /* jsxAttribute */: return "jsx attribute" /* jsxAttribute */; case 23 /* jsxText */: return "jsx text" /* jsxText */; case 24 /* jsxAttributeStringLiteralValue */: return "jsx attribute string literal value" /* jsxAttributeStringLiteralValue */; + default: return undefined; // TODO: GH#18217 throw Debug.assertNever(type); } } function convertClassificationsToSpans(classifications) { @@ -86720,18 +87116,18 @@ var ts; pushClassification(tag.tagName.pos, tag.tagName.end - tag.tagName.pos, 18 /* docCommentTagName */); // e.g. "param" pos = tag.tagName.end; switch (tag.kind) { - case 292 /* JSDocParameterTag */: + case 293 /* JSDocParameterTag */: processJSDocParameterTag(tag); break; - case 295 /* JSDocTemplateTag */: + case 296 /* JSDocTemplateTag */: processJSDocTemplateTag(tag); pos = tag.end; break; - case 294 /* JSDocTypeTag */: + case 295 /* JSDocTypeTag */: processElement(tag.typeExpression); pos = tag.end; break; - case 293 /* JSDocReturnTag */: + case 294 /* JSDocReturnTag */: processElement(tag.typeExpression); pos = tag.end; break; @@ -86818,22 +87214,22 @@ var ts; } function tryClassifyJsxElementName(token) { switch (token.parent && token.parent.kind) { - case 256 /* JsxOpeningElement */: + case 257 /* JsxOpeningElement */: if (token.parent.tagName === token) { return 19 /* jsxOpenTagName */; } break; - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: if (token.parent.tagName === token) { return 20 /* jsxCloseTagName */; } break; - case 255 /* JsxSelfClosingElement */: + case 256 /* JsxSelfClosingElement */: if (token.parent.tagName === token) { return 21 /* jsxSelfClosingTagName */; } break; - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: if (token.parent.name === token) { return 22 /* jsxAttribute */; } @@ -86859,19 +87255,20 @@ var ts; } if (ts.isPunctuation(tokenKind)) { if (token) { + var parent = token.parent; if (tokenKind === 58 /* EqualsToken */) { // the '=' in a variable declaration is special cased here. - if (token.parent.kind === 231 /* VariableDeclaration */ || - token.parent.kind === 151 /* PropertyDeclaration */ || - token.parent.kind === 148 /* Parameter */ || - token.parent.kind === 261 /* JsxAttribute */) { + if (parent.kind === 232 /* VariableDeclaration */ || + parent.kind === 152 /* PropertyDeclaration */ || + parent.kind === 149 /* Parameter */ || + parent.kind === 262 /* JsxAttribute */) { return 5 /* operator */; } } - if (token.parent.kind === 199 /* BinaryExpression */ || - token.parent.kind === 197 /* PrefixUnaryExpression */ || - token.parent.kind === 198 /* PostfixUnaryExpression */ || - token.parent.kind === 200 /* ConditionalExpression */) { + if (parent.kind === 200 /* BinaryExpression */ || + parent.kind === 198 /* PrefixUnaryExpression */ || + parent.kind === 199 /* PostfixUnaryExpression */ || + parent.kind === 201 /* ConditionalExpression */) { return 5 /* operator */; } } @@ -86881,7 +87278,8 @@ var ts; return 4 /* numericLiteral */; } else if (tokenKind === 9 /* StringLiteral */) { - return token.parent.kind === 261 /* JsxAttribute */ ? 24 /* jsxAttributeStringLiteralValue */ : 6 /* stringLiteral */; + // TODO: GH#18217 + return token.parent.kind === 262 /* JsxAttribute */ ? 24 /* jsxAttributeStringLiteralValue */ : 6 /* stringLiteral */; } else if (tokenKind === 12 /* RegularExpressionLiteral */) { // TODO: we should get another classification type for these literals. @@ -86897,32 +87295,32 @@ var ts; else if (tokenKind === 71 /* Identifier */) { if (token) { switch (token.parent.kind) { - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: if (token.parent.name === token) { return 11 /* className */; } return; - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: if (token.parent.name === token) { return 15 /* typeParameterName */; } return; - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: if (token.parent.name === token) { return 13 /* interfaceName */; } return; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: if (token.parent.name === token) { return 12 /* enumName */; } return; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (token.parent.name === token) { return 14 /* moduleName */; } return; - case 148 /* Parameter */: + case 149 /* Parameter */: if (token.parent.name === token) { return ts.isThisIdentifier(token) ? 3 /* keyword */ : 17 /* parameterName */; } @@ -87006,7 +87404,7 @@ var ts; // Determine the path to the directory containing the script relative to the root directory it is contained within var relativeDirectory = ts.firstDefined(rootDirs, function (rootDirectory) { return ts.containsPath(rootDirectory, scriptPath, basePath, ignoreCase) ? scriptPath.substr(rootDirectory.length) : undefined; - }); + }); // TODO: GH#18217 // Now find a path for each potential directory that is to be merged with the one containing the script return ts.deduplicate(rootDirs.map(function (rootDirectory) { return ts.combinePaths(rootDirectory, relativeDirectory); }), ts.equateStringsCaseSensitive, ts.compareStringsCaseSensitive); } @@ -87210,8 +87608,8 @@ var ts; // after the last '/' that appears in the fragment because that's where the replacement span // starts if (fragmentDirectory !== undefined) { - var moduleNameWithSeperator_1 = ts.ensureTrailingDirectorySeparator(fragmentDirectory); - return nonRelativeModuleNames.map(function (nonRelativeModuleName) { return ts.removePrefix(nonRelativeModuleName, moduleNameWithSeperator_1); }); + var moduleNameWithSeparator_1 = ts.ensureTrailingDirectorySeparator(fragmentDirectory); + return nonRelativeModuleNames.map(function (nonRelativeModuleName) { return ts.removePrefix(nonRelativeModuleName, moduleNameWithSeparator_1); }); } return nonRelativeModuleNames; } @@ -87321,7 +87719,7 @@ var ts; } return result; } - // Replace everything after the last directory seperator that appears + // Replace everything after the last directory separator that appears function getDirectoryFragmentTextSpan(text, textStart) { var index = Math.max(text.lastIndexOf(ts.directorySeparator), text.lastIndexOf("\\")); var offset = index !== -1 ? index + 1 : 0; @@ -87366,7 +87764,7 @@ var ts; return ts.directoryProbablyExists(path, host); } catch ( /*ignore*/_a) { /*ignore*/ } - return undefined; + return false; } function tryIOAndConsumeErrors(host, toApply) { var args = []; @@ -87414,7 +87812,7 @@ var ts; } var contextToken = ts.findPrecedingToken(position, sourceFile); if (triggerCharacter && !isValidTrigger(sourceFile, triggerCharacter, contextToken, position)) - return undefined; + return undefined; // TODO: GH#18217 if (ts.isInString(sourceFile, position, contextToken)) { return !contextToken || !ts.isStringLiteralLike(contextToken) ? undefined @@ -87424,7 +87822,7 @@ var ts; && (contextToken.kind === 72 /* BreakKeyword */ || contextToken.kind === 77 /* ContinueKeyword */ || contextToken.kind === 71 /* Identifier */)) { return getLabelCompletionAtPosition(contextToken.parent); } - var completionData = getCompletionData(program, log, sourceFile, position, preferences, /*detailsEntryId*/ undefined); + var completionData = getCompletionData(program, log, sourceFile, isUncheckedFile(sourceFile, compilerOptions), position, preferences, /*detailsEntryId*/ undefined); if (!completionData) { return undefined; } @@ -87494,9 +87892,9 @@ var ts; }] }; } var entries = []; - if (ts.isSourceFileJavaScript(sourceFile)) { + if (isUncheckedFile(sourceFile, compilerOptions)) { var uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, location, sourceFile, typeChecker, compilerOptions.target, log, completionKind, preferences, propertyAccessToConvert, isJsxInitializer, recommendedCompletion, symbolToOriginInfoMap); - getJavaScriptCompletionEntries(sourceFile, location.pos, uniqueNames, compilerOptions.target, entries); + getJavaScriptCompletionEntries(sourceFile, location.pos, uniqueNames, compilerOptions.target, entries); // TODO: GH#18217 } else { if ((!symbols || symbols.length === 0) && keywordFilters === 0 /* None */) { @@ -87514,6 +87912,9 @@ var ts; } return { isGlobalCompletion: isInSnippetScope, isMemberCompletion: isMemberCompletion, isNewIdentifierLocation: isNewIdentifierLocation, entries: entries }; } + function isUncheckedFile(sourceFile, compilerOptions) { + return ts.isSourceFileJavaScript(sourceFile) && !ts.isCheckJsEnabledForFile(sourceFile, compilerOptions); + } function isMemberCompletionKind(kind) { switch (kind) { case 0 /* ObjectPropertyDeclaration */: @@ -87632,7 +88033,7 @@ var ts; continue; } // Latter case tests whether this is a global variable. - if (!origin && !(symbol.parent === undefined && !ts.some(symbol.declarations, function (d) { return d.getSourceFile() === location.getSourceFile(); }))) { + if (!origin && !(symbol.parent === undefined && !ts.some(symbol.declarations, function (d) { return d.getSourceFile() === location.getSourceFile(); }))) { // TODO: GH#18217 uniques.set(name, true); } entries.push(entry); @@ -87678,11 +88079,11 @@ var ts; })(StringLiteralCompletionKind || (StringLiteralCompletionKind = {})); function getStringLiteralCompletionEntries(sourceFile, node, position, typeChecker, compilerOptions, host) { switch (node.parent.kind) { - case 177 /* LiteralType */: + case 178 /* LiteralType */: switch (node.parent.parent.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return { kind: 2 /* Types */, types: getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(node.parent), typeChecker), isNewIdentifier: false }; - case 175 /* IndexedAccessType */: + case 176 /* IndexedAccessType */: // Get all apparent property names // i.e. interface Foo { // foo: string; @@ -87690,12 +88091,12 @@ var ts; // } // let x: Foo["/*completion position*/"] return stringLiteralCompletionsFromProperties(typeChecker.getTypeFromTypeNode(node.parent.parent.objectType)); - case 178 /* ImportType */: + case 179 /* ImportType */: return { kind: 0 /* Paths */, paths: Completions.PathCompletions.getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker) }; default: return undefined; } - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: if (ts.isObjectLiteralExpression(node.parent.parent) && node.parent.name === node) { // Get quoted name of properties of the object literal expression // i.e. interface ConfigFiles { @@ -87712,7 +88113,7 @@ var ts; return stringLiteralCompletionsFromProperties(typeChecker.getContextualType(node.parent.parent)); } return fromContextualType(); - case 185 /* ElementAccessExpression */: { + case 186 /* ElementAccessExpression */: { var _a = node.parent, expression = _a.expression, argumentExpression = _a.argumentExpression; if (node === argumentExpression) { // Get all names of properties on the expression @@ -87725,19 +88126,19 @@ var ts; } return undefined; } - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: if (!ts.isRequireCall(node.parent, /*checkArgumentIsStringLiteralLike*/ false) && !ts.isImportCall(node.parent)) { - var argumentInfo = ts.SignatureHelp.getImmediatelyContainingArgumentInfo(node, position, sourceFile); + var argumentInfo = ts.SignatureHelp.getArgumentInfoForCompletions(node, position, sourceFile); // Get string literal completions from specialized signatures of the target // i.e. declare function f(a: 'A'); // f("/*completion position*/") return argumentInfo ? getStringLiteralCompletionsFromSignature(argumentInfo, typeChecker) : fromContextualType(); } // falls through (is `require("")` or `import("")`) - case 243 /* ImportDeclaration */: - case 249 /* ExportDeclaration */: - case 253 /* ExternalModuleReference */: + case 244 /* ImportDeclaration */: + case 250 /* ExportDeclaration */: + case 254 /* ExternalModuleReference */: // Get all known external module names or complete a path to a module // i.e. import * as ns from "/*completion position*/"; // var y = import("/*completion position*/"); @@ -87763,7 +88164,7 @@ var ts; if (!candidate.hasRestParameter && argumentInfo.argumentCount > candidate.parameters.length) return; var type = checker.getParameterType(candidate, argumentInfo.argumentIndex); - isNewIdentifier = isNewIdentifier || !!(type.flags & 2 /* String */); + isNewIdentifier = isNewIdentifier || !!(type.flags & 4 /* String */); return getStringLiteralTypes(type, checker, uniques); }); return { kind: 2 /* Types */, types: types, isNewIdentifier: isNewIdentifier }; @@ -87778,12 +88179,13 @@ var ts; type = ts.skipConstraint(type); return type.isUnion() ? ts.flatMap(type.types, function (t) { return getStringLiteralTypes(t, typeChecker, uniques); }) - : type.isStringLiteral() && !(type.flags & 256 /* EnumLiteral */) && ts.addToSeen(uniques, type.value) + : type.isStringLiteral() && !(type.flags & 512 /* EnumLiteral */) && ts.addToSeen(uniques, type.value) ? [type] : ts.emptyArray; } function getSymbolCompletionFromEntryId(program, log, sourceFile, position, entryId) { - var completionData = getCompletionData(program, log, sourceFile, position, { includeCompletionsForModuleExports: true, includeCompletionsWithInsertText: true }, entryId); + var compilerOptions = program.getCompilerOptions(); + var completionData = getCompletionData(program, log, sourceFile, isUncheckedFile(sourceFile, compilerOptions), position, { includeCompletionsForModuleExports: true, includeCompletionsWithInsertText: true }, entryId); if (!completionData) { return { type: "none" }; } @@ -87797,7 +88199,7 @@ var ts; // completion entry. return ts.firstDefined(symbols, function (symbol) { var origin = symbolToOriginInfoMap[ts.getSymbolId(symbol)]; - var info = getCompletionEntryDisplayNameForSymbol(symbol, program.getCompilerOptions().target, origin, completionKind); + var info = getCompletionEntryDisplayNameForSymbol(symbol, compilerOptions.target, origin, completionKind); return info && info.name === entryId.name && getSourceFromOrigin(origin) === entryId.source ? { type: "symbol", symbol: symbol, location: location, symbolToOriginInfoMap: symbolToOriginInfoMap, previousToken: previousToken, isJsxInitializer: isJsxInitializer } : undefined; @@ -87819,7 +88221,7 @@ var ts; var stringLiteralCompletions = !contextToken || !ts.isStringLiteralLike(contextToken) ? undefined : getStringLiteralCompletionEntries(sourceFile, contextToken, position, typeChecker, compilerOptions, host); - return stringLiteralCompletions && stringLiteralCompletionDetails(name, contextToken, stringLiteralCompletions, sourceFile, typeChecker, cancellationToken); + return stringLiteralCompletions && stringLiteralCompletionDetails(name, contextToken, stringLiteralCompletions, sourceFile, typeChecker, cancellationToken); // TODO: GH#18217 } // Compute all the completion symbols again. var symbolCompletion = getSymbolCompletionFromEntryId(program, log, sourceFile, position, entryId); @@ -87840,7 +88242,7 @@ var ts; case "symbol": { var symbol = symbolCompletion.symbol, location = symbolCompletion.location, symbolToOriginInfoMap = symbolCompletion.symbolToOriginInfoMap, previousToken = symbolCompletion.previousToken; var _a = getCompletionEntryCodeActionsAndSourceDisplay(symbolToOriginInfoMap, symbol, program, typeChecker, host, compilerOptions, sourceFile, previousToken, formatContext, getCanonicalFileName, program.getSourceFiles(), preferences), codeActions = _a.codeActions, sourceDisplay = _a.sourceDisplay; - return createCompletionDetailsForSymbol(symbol, typeChecker, sourceFile, location, cancellationToken, codeActions, sourceDisplay); + return createCompletionDetailsForSymbol(symbol, typeChecker, sourceFile, location, cancellationToken, codeActions, sourceDisplay); // TODO: GH#18217 } case "none": // Didn't find a symbol with this name. See if we can find a keyword instead. @@ -87879,7 +88281,7 @@ var ts; return { codeActions: undefined, sourceDisplay: undefined }; } var moduleSymbol = symbolOriginInfo.moduleSymbol; - var exportedSymbol = ts.skipAlias(symbol.exportSymbol || symbol, checker); + var exportedSymbol = checker.getMergedSymbol(ts.skipAlias(symbol.exportSymbol || symbol, checker)); var _a = ts.codefix.getImportCompletionAction(exportedSymbol, moduleSymbol, sourceFile, getSymbolName(symbol, symbolOriginInfo, compilerOptions.target), host, program, checker, compilerOptions, allSourceFiles, formatContext, getCanonicalFileName, previousToken, preferences), moduleSpecifier = _a.moduleSpecifier, codeAction = _a.codeAction; return { sourceDisplay: [ts.textPart(moduleSpecifier)], codeActions: [codeAction] }; } @@ -87905,12 +88307,15 @@ var ts; CompletionKind[CompletionKind["None"] = 5] = "None"; })(CompletionKind || (CompletionKind = {})); function getRecommendedCompletion(currentToken, position, sourceFile, checker) { - var ty = getContextualType(currentToken, position, sourceFile, checker); - var symbol = ty && ty.symbol; - // Don't include make a recommended completion for an abstract class - return symbol && (symbol.flags & 384 /* Enum */ || symbol.flags & 32 /* Class */ && !ts.isAbstractConstructorSymbol(symbol)) - ? getFirstSymbolInChain(symbol, currentToken, checker) - : undefined; + var contextualType = getContextualType(currentToken, position, sourceFile, checker); + // For a union, return the first one with a recommended completion. + return ts.firstDefined(contextualType && (contextualType.isUnion() ? contextualType.types : [contextualType]), function (type) { + var symbol = type && type.symbol; + // Don't include make a recommended completion for an abstract class + return symbol && (symbol.flags & (8 /* EnumMember */ | 384 /* Enum */ | 32 /* Class */) && !ts.isAbstractConstructorSymbol(symbol)) + ? getFirstSymbolInChain(symbol, currentToken, checker) + : undefined; + }); } function getContextualType(currentToken, position, sourceFile, checker) { var parent = currentToken.parent; @@ -87919,11 +88324,11 @@ var ts; return getContextualTypeFromParent(currentToken, checker); case 58 /* EqualsToken */: switch (parent.kind) { - case 231 /* VariableDeclaration */: - return checker.getContextualType(parent.initializer); - case 199 /* BinaryExpression */: + case 232 /* VariableDeclaration */: + return checker.getContextualType(parent.initializer); // TODO: GH#18217 + case 200 /* BinaryExpression */: return checker.getTypeAtLocation(parent.left); - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return checker.getContextualTypeForJsxAttribute(parent); default: return undefined; @@ -87933,9 +88338,9 @@ var ts; case 73 /* CaseKeyword */: return getSwitchedType(ts.cast(parent, ts.isCaseClause), checker); case 17 /* OpenBraceToken */: - return ts.isJsxExpression(parent) && parent.parent.kind !== 254 /* JsxElement */ ? checker.getContextualTypeForJsxAttribute(parent.parent) : undefined; + return ts.isJsxExpression(parent) && parent.parent.kind !== 255 /* JsxElement */ ? checker.getContextualTypeForJsxAttribute(parent.parent) : undefined; default: - var argInfo = ts.SignatureHelp.getImmediatelyContainingArgumentInfo(currentToken, position, sourceFile); + var argInfo = ts.SignatureHelp.getArgumentInfoForCompletions(currentToken, position, sourceFile); return argInfo // At `,`, treat this as the next argument after the comma. ? checker.getContextualTypeForArgumentAtIndex(argInfo.invocation, argInfo.argumentIndex + (currentToken.kind === 26 /* CommaToken */ ? 1 : 0)) @@ -87948,15 +88353,15 @@ var ts; function getContextualTypeFromParent(node, checker) { var parent = node.parent; switch (parent.kind) { - case 187 /* NewExpression */: + case 188 /* NewExpression */: return checker.getContextualType(parent); - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var _a = parent, left = _a.left, operatorToken = _a.operatorToken, right = _a.right; return isEqualityOperatorKind(operatorToken.kind) ? checker.getTypeAtLocation(node === right ? left : right) : checker.getContextualType(node); } - case 265 /* CaseClause */: + case 266 /* CaseClause */: return parent.expression === node ? getSwitchedType(parent, checker) : undefined; default: return checker.getContextualType(node); @@ -87972,9 +88377,9 @@ var ts; return symbol.parent && (isModuleSymbol(symbol.parent) ? symbol : getFirstSymbolInChain(symbol.parent, enclosingDeclaration, checker)); } function isModuleSymbol(symbol) { - return symbol.declarations.some(function (d) { return d.kind === 273 /* SourceFile */; }); + return symbol.declarations.some(function (d) { return d.kind === 274 /* SourceFile */; }); } - function getCompletionData(program, log, sourceFile, position, preferences, detailsEntryId) { + function getCompletionData(program, log, sourceFile, isUncheckedFile, position, preferences, detailsEntryId) { var typeChecker = program.getTypeChecker(); var start = ts.timestamp(); var currentToken = ts.getTokenAtPosition(sourceFile, position, /*includeJsDocComment*/ false); // TODO: GH#15853 @@ -88024,11 +88429,11 @@ var ts; if (tag.tagName.pos <= position && position <= tag.tagName.end) { return { kind: 1 /* JsDocTagName */ }; } - if (isTagWithTypeExpression(tag) && tag.typeExpression && tag.typeExpression.kind === 277 /* JSDocTypeExpression */) { + if (isTagWithTypeExpression(tag) && tag.typeExpression && tag.typeExpression.kind === 278 /* JSDocTypeExpression */) { currentToken = ts.getTokenAtPosition(sourceFile, position, /*includeJsDocComment*/ true); if (!currentToken || (!ts.isDeclarationName(currentToken) && - (currentToken.parent.kind !== 297 /* JSDocPropertyTag */ || + (currentToken.parent.kind !== 298 /* JSDocPropertyTag */ || currentToken.parent.name !== currentToken))) { // Use as type location if inside tag's type expression insideJsDocTagTypeExpression = isCurrentlyEditingNode(tag.typeExpression); @@ -88046,7 +88451,7 @@ var ts; } } start = ts.timestamp(); - var previousToken = ts.findPrecedingToken(position, sourceFile, /*startNode*/ undefined, insideJsDocTagTypeExpression); + var previousToken = ts.findPrecedingToken(position, sourceFile, /*startNode*/ undefined, insideJsDocTagTypeExpression); // TODO: GH#18217 log("getCompletionData: Get previous token 1: " + (ts.timestamp() - start)); // The decision to provide completion depends on the contextToken, which is determined through the previousToken. // Note: 'previousToken' (and thus 'contextToken') can be undefined if we are the beginning of the file @@ -88055,7 +88460,7 @@ var ts; // Skip this partial identifier and adjust the contextToken to the token that precedes it. if (contextToken && position <= contextToken.end && (ts.isIdentifier(contextToken) || ts.isKeyword(contextToken.kind))) { var start_4 = ts.timestamp(); - contextToken = ts.findPrecedingToken(contextToken.getFullStart(), sourceFile, /*startNode*/ undefined, insideJsDocTagTypeExpression); + contextToken = ts.findPrecedingToken(contextToken.getFullStart(), sourceFile, /*startNode*/ undefined, insideJsDocTagTypeExpression); // TODO: GH#18217 log("getCompletionData: Get previous token 2: " + (ts.timestamp() - start_4)); } // Find the node where completion is requested on. @@ -88078,14 +88483,15 @@ var ts; if (contextToken.kind === 23 /* DotToken */) { isRightOfDot = true; switch (parent.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: propertyAccessToConvert = parent; node = propertyAccessToConvert.expression; break; - case 145 /* QualifiedName */: + case 146 /* QualifiedName */: node = parent.left; break; - case 178 /* ImportType */: + case 179 /* ImportType */: + case 210 /* MetaProperty */: node = parent; break; default: @@ -88098,7 +88504,7 @@ var ts; // // If the tagname is a property access expression, we will then walk up to the top most of property access expression. // Then, try to get a JSX container and its associated attributes type. - if (parent && parent.kind === 184 /* PropertyAccessExpression */) { + if (parent && parent.kind === 185 /* PropertyAccessExpression */) { contextToken = parent; parent = parent.parent; } @@ -88106,39 +88512,39 @@ var ts; if (currentToken.parent === location) { switch (currentToken.kind) { case 29 /* GreaterThanToken */: - if (currentToken.parent.kind === 254 /* JsxElement */ || currentToken.parent.kind === 256 /* JsxOpeningElement */) { + if (currentToken.parent.kind === 255 /* JsxElement */ || currentToken.parent.kind === 257 /* JsxOpeningElement */) { location = currentToken; } break; case 41 /* SlashToken */: - if (currentToken.parent.kind === 255 /* JsxSelfClosingElement */) { + if (currentToken.parent.kind === 256 /* JsxSelfClosingElement */) { location = currentToken; } break; } } switch (parent.kind) { - case 257 /* JsxClosingElement */: + case 258 /* JsxClosingElement */: if (contextToken.kind === 41 /* SlashToken */) { isStartingCloseTag = true; location = contextToken; } break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (!(parent.left.flags & 32768 /* ThisNodeHasError */)) { // It has a left-hand side, so we're not in an opening JSX tag. break; } // falls through - case 255 /* JsxSelfClosingElement */: - case 254 /* JsxElement */: - case 256 /* JsxOpeningElement */: + case 256 /* JsxSelfClosingElement */: + case 255 /* JsxElement */: + case 257 /* JsxOpeningElement */: if (contextToken.kind === 27 /* LessThanToken */) { isRightOfOpenTag = true; location = contextToken; } break; - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: switch (previousToken.kind) { case 58 /* EqualsToken */: isJsxInitializer = true; @@ -88189,12 +88595,14 @@ var ts; return { kind: 0 /* Data */, symbols: symbols, completionKind: completionKind, isInSnippetScope: isInSnippetScope, propertyAccessToConvert: propertyAccessToConvert, isNewIdentifierLocation: isNewIdentifierLocation, location: location, keywordFilters: keywordFilters, symbolToOriginInfoMap: symbolToOriginInfoMap, recommendedCompletion: recommendedCompletion, previousToken: previousToken, isJsxInitializer: isJsxInitializer }; function isTagWithTypeExpression(tag) { switch (tag.kind) { - case 292 /* JSDocParameterTag */: - case 297 /* JSDocPropertyTag */: - case 293 /* JSDocReturnTag */: - case 294 /* JSDocTypeTag */: - case 296 /* JSDocTypedefTag */: + case 293 /* JSDocParameterTag */: + case 298 /* JSDocPropertyTag */: + case 294 /* JSDocReturnTag */: + case 295 /* JSDocTypeTag */: + case 297 /* JSDocTypedefTag */: return true; + default: + return false; } } function getTypeScriptMemberSymbols() { @@ -88225,20 +88633,25 @@ var ts; } } // If the module is merged with a value, we must get the type of the class and add its propertes (for inherited static methods). - if (!isTypeLocation && symbol.declarations.some(function (d) { return d.kind !== 273 /* SourceFile */ && d.kind !== 238 /* ModuleDeclaration */ && d.kind !== 237 /* EnumDeclaration */; })) { + if (!isTypeLocation && symbol.declarations.some(function (d) { return d.kind !== 274 /* SourceFile */ && d.kind !== 239 /* ModuleDeclaration */ && d.kind !== 238 /* EnumDeclaration */; })) { addTypeProperties(typeChecker.getTypeOfSymbolAtLocation(symbol, node)); } return; } } } + if (ts.isMetaProperty(node) && (node.keywordToken === 94 /* NewKeyword */ || node.keywordToken === 91 /* ImportKeyword */)) { + var completion = (node.keywordToken === 94 /* NewKeyword */) ? "target" : "meta"; + symbols.push(typeChecker.createSymbol(4 /* Property */, ts.escapeLeadingUnderscores(completion))); + return; + } if (!isTypeLocation) { addTypeProperties(typeChecker.getTypeAtLocation(node)); } } function addTypeProperties(type) { isNewIdentifierLocation = hasIndexSignature(type); - if (ts.isSourceFileJavaScript(sourceFile)) { + if (isUncheckedFile) { // In javascript files, for union types, we don't just get the members that // the individual types have in common, we also include all the members that // each individual type has. This is because we're going to add all identifiers @@ -88249,7 +88662,7 @@ var ts; else { for (var _i = 0, _a = type.getApparentProperties(); _i < _a.length; _i++) { var symbol = _a[_i]; - if (typeChecker.isValidPropertyAccessForCompletions(node.kind === 178 /* ImportType */ ? node : node.parent, type, symbol)) { + if (typeChecker.isValidPropertyAccessForCompletions(node.kind === 179 /* ImportType */ ? node : node.parent, type, symbol)) { addPropertySymbol(symbol); } } @@ -88259,7 +88672,7 @@ var ts; // If this is e.g. [Symbol.iterator], add a completion for `Symbol`. var symbolSymbol = ts.firstDefined(symbol.declarations, function (decl) { var name = ts.getNameOfDeclaration(decl); - var leftName = name.kind === 146 /* ComputedPropertyName */ ? getLeftMostName(name.expression) : undefined; + var leftName = name.kind === 147 /* ComputedPropertyName */ ? getLeftMostName(name.expression) : undefined; return leftName && typeChecker.getSymbolAtLocation(leftName); }); if (symbolSymbol) { @@ -88348,7 +88761,7 @@ var ts; var symbolMeanings = 67901928 /* Type */ | 67216319 /* Value */ | 1920 /* Namespace */ | 2097152 /* Alias */; symbols = ts.Debug.assertEachDefined(typeChecker.getSymbolsInScope(scopeNode, symbolMeanings), "getSymbolsInScope() should all be defined"); // Need to insert 'this.' before properties of `this` type, so only do that if `includeInsertTextCompletions` - if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 273 /* SourceFile */) { + if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 274 /* SourceFile */) { var thisType = typeChecker.tryGetThisTypeAt(scopeNode); if (thisType) { for (var _i = 0, _a = getPropertiesForCompletion(thisType, typeChecker, /*isForAccess*/ true); _i < _a.length; _i++) { @@ -88377,17 +88790,17 @@ var ts; if (ts.programContainsEs6Modules(program)) return true; // For JS, stay on the safe side. - if (ts.isSourceFileJavaScript(sourceFile)) + if (isUncheckedFile) return false; // If module transpilation is enabled or we're targeting es6 or above, or not emitting, OK. return ts.compilerOptionsIndicateEs6Modules(program.getCompilerOptions()); } function isSnippetScope(scopeNode) { switch (scopeNode.kind) { - case 273 /* SourceFile */: - case 201 /* TemplateExpression */: - case 264 /* JsxExpression */: - case 212 /* Block */: + case 274 /* SourceFile */: + case 202 /* TemplateExpression */: + case 265 /* JsxExpression */: + case 213 /* Block */: return true; default: return ts.isStatement(scopeNode); @@ -88424,22 +88837,22 @@ var ts; function isContextTokenValueLocation(contextToken) { return contextToken && contextToken.kind === 103 /* TypeOfKeyword */ && - (contextToken.parent.kind === 164 /* TypeQuery */ || ts.isTypeOfExpression(contextToken.parent)); + (contextToken.parent.kind === 165 /* TypeQuery */ || ts.isTypeOfExpression(contextToken.parent)); } function isContextTokenTypeLocation(contextToken) { if (contextToken) { var parentKind = contextToken.parent.kind; switch (contextToken.kind) { case 56 /* ColonToken */: - return parentKind === 151 /* PropertyDeclaration */ || - parentKind === 150 /* PropertySignature */ || - parentKind === 148 /* Parameter */ || - parentKind === 231 /* VariableDeclaration */ || + return parentKind === 152 /* PropertyDeclaration */ || + parentKind === 151 /* PropertySignature */ || + parentKind === 149 /* Parameter */ || + parentKind === 232 /* VariableDeclaration */ || ts.isFunctionLikeKind(parentKind); case 58 /* EqualsToken */: - return parentKind === 236 /* TypeAliasDeclaration */; + return parentKind === 237 /* TypeAliasDeclaration */; case 118 /* AsKeyword */: - return parentKind === 207 /* AsExpression */; + return parentKind === 208 /* AsExpression */; } } return false; @@ -88457,14 +88870,21 @@ var ts; // symbol can be referenced at locations where type is allowed return exportedSymbols.some(symbolCanBeReferencedAtTypeLocation); } + return false; } function getSymbolsFromOtherSourceFileExports(symbols, tokenText, target) { var tokenTextLowerCase = tokenText.toLowerCase(); + var seenResolvedModules = ts.createMap(); ts.codefix.forEachExternalModuleToImportFrom(typeChecker, sourceFile, program.getSourceFiles(), function (moduleSymbol) { // Perf -- ignore other modules if this is a request for details if (detailsEntryId && detailsEntryId.source && ts.stripQuotes(moduleSymbol.name) !== detailsEntryId.source) { return; } + var resolvedModuleSymbol = typeChecker.resolveExternalModuleSymbol(moduleSymbol); + // resolvedModuleSymbol may be a namespace. A namespace may be `export =` by multiple module declarations, but only keep the first one. + if (!ts.addToSeen(seenResolvedModules, ts.getSymbolId(resolvedModuleSymbol))) { + return; + } for (var _i = 0, _a = typeChecker.getExportsOfModule(moduleSymbol); _i < _a.length; _i++) { var symbol = _a[_i]; // Don't add a completion for a re-export, only for the original. @@ -88473,7 +88893,7 @@ var ts; // // If `symbol.parent !== ...`, this comes from an `export * from "foo"` re-export. Those don't create new symbols. // If `some(...)`, this comes from an `export { foo } from "foo"` re-export, which creates a new symbol (thus isn't caught by the first check). - if (typeChecker.getMergedSymbol(symbol.parent) !== typeChecker.resolveExternalModuleSymbol(moduleSymbol) + if (typeChecker.getMergedSymbol(symbol.parent) !== resolvedModuleSymbol || ts.some(symbol.declarations, function (d) { return ts.isExportSpecifier(d) && !!d.parent.parent.moduleSpecifier; })) { continue; } @@ -88535,11 +88955,11 @@ var ts; return true; } if (contextToken.kind === 29 /* GreaterThanToken */ && contextToken.parent) { - if (contextToken.parent.kind === 256 /* JsxOpeningElement */) { + if (contextToken.parent.kind === 257 /* JsxOpeningElement */) { return true; } - if (contextToken.parent.kind === 257 /* JsxClosingElement */ || contextToken.parent.kind === 255 /* JsxSelfClosingElement */) { - return contextToken.parent.parent && contextToken.parent.parent.kind === 254 /* JsxElement */; + if (contextToken.parent.kind === 258 /* JsxClosingElement */ || contextToken.parent.kind === 256 /* JsxSelfClosingElement */) { + return !!contextToken.parent.parent && contextToken.parent.parent.kind === 255 /* JsxElement */; } } return false; @@ -88549,40 +88969,40 @@ var ts; var containingNodeKind = previousToken.parent.kind; switch (previousToken.kind) { case 26 /* CommaToken */: - return containingNodeKind === 186 /* CallExpression */ // func( a, | - || containingNodeKind === 154 /* Constructor */ // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ - || containingNodeKind === 187 /* NewExpression */ // new C(a, | - || containingNodeKind === 182 /* ArrayLiteralExpression */ // [a, | - || containingNodeKind === 199 /* BinaryExpression */ // const x = (a, | - || containingNodeKind === 162 /* FunctionType */; // var x: (s: string, list| + return containingNodeKind === 187 /* CallExpression */ // func( a, | + || containingNodeKind === 155 /* Constructor */ // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ + || containingNodeKind === 188 /* NewExpression */ // new C(a, | + || containingNodeKind === 183 /* ArrayLiteralExpression */ // [a, | + || containingNodeKind === 200 /* BinaryExpression */ // const x = (a, | + || containingNodeKind === 163 /* FunctionType */; // var x: (s: string, list| case 19 /* OpenParenToken */: - return containingNodeKind === 186 /* CallExpression */ // func( | - || containingNodeKind === 154 /* Constructor */ // constructor( | - || containingNodeKind === 187 /* NewExpression */ // new C(a| - || containingNodeKind === 190 /* ParenthesizedExpression */ // const x = (a| - || containingNodeKind === 172 /* ParenthesizedType */; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ + return containingNodeKind === 187 /* CallExpression */ // func( | + || containingNodeKind === 155 /* Constructor */ // constructor( | + || containingNodeKind === 188 /* NewExpression */ // new C(a| + || containingNodeKind === 191 /* ParenthesizedExpression */ // const x = (a| + || containingNodeKind === 173 /* ParenthesizedType */; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ case 21 /* OpenBracketToken */: - return containingNodeKind === 182 /* ArrayLiteralExpression */ // [ | - || containingNodeKind === 159 /* IndexSignature */ // [ | : string ] - || containingNodeKind === 146 /* ComputedPropertyName */; // [ | /* this can become an index signature */ + return containingNodeKind === 183 /* ArrayLiteralExpression */ // [ | + || containingNodeKind === 160 /* IndexSignature */ // [ | : string ] + || containingNodeKind === 147 /* ComputedPropertyName */; // [ | /* this can become an index signature */ case 129 /* ModuleKeyword */: // module | case 130 /* NamespaceKeyword */: // namespace | return true; case 23 /* DotToken */: - return containingNodeKind === 238 /* ModuleDeclaration */; // module A.| + return containingNodeKind === 239 /* ModuleDeclaration */; // module A.| case 17 /* OpenBraceToken */: - return containingNodeKind === 234 /* ClassDeclaration */; // class A{ | + return containingNodeKind === 235 /* ClassDeclaration */; // class A{ | case 58 /* EqualsToken */: - return containingNodeKind === 231 /* VariableDeclaration */ // const x = a| - || containingNodeKind === 199 /* BinaryExpression */; // x = a| + return containingNodeKind === 232 /* VariableDeclaration */ // const x = a| + || containingNodeKind === 200 /* BinaryExpression */; // x = a| case 14 /* TemplateHead */: - return containingNodeKind === 201 /* TemplateExpression */; // `aa ${| + return containingNodeKind === 202 /* TemplateExpression */; // `aa ${| case 15 /* TemplateMiddle */: - return containingNodeKind === 210 /* TemplateSpan */; // `aa ${10} dd ${| + return containingNodeKind === 211 /* TemplateSpan */; // `aa ${10} dd ${| case 114 /* PublicKeyword */: case 112 /* PrivateKeyword */: case 113 /* ProtectedKeyword */: - return containingNodeKind === 151 /* PropertyDeclaration */; // class A{ public | + return containingNodeKind === 152 /* PropertyDeclaration */; // class A{ public | } // Previous token may have been a keyword that was converted to an identifier. switch (keywordForNode(previousToken)) { @@ -88595,24 +89015,12 @@ var ts; return false; } function isInStringOrRegularExpressionOrTemplateLiteral(contextToken) { - if (contextToken.kind === 9 /* StringLiteral */ - || contextToken.kind === 12 /* RegularExpressionLiteral */ - || ts.isTemplateLiteralKind(contextToken.kind)) { - var start_5 = contextToken.getStart(); - var end = contextToken.getEnd(); - // To be "in" one of these literals, the position has to be: - // 1. entirely within the token text. - // 2. at the end position of an unterminated token. - // 3. at the end of a regular expression (due to trailing flags like '/foo/g'). - if (start_5 < position && position < end) { - return true; - } - if (position === end) { - return !!contextToken.isUnterminated - || contextToken.kind === 12 /* RegularExpressionLiteral */; - } - } - return false; + // To be "in" one of these literals, the position has to be: + // 1. entirely within the token text. + // 2. at the end position of an unterminated token. + // 3. at the end of a regular expression (due to trailing flags like '/foo/g'). + return (ts.isRegularExpressionLiteral(contextToken) || ts.isStringTextContainingNode(contextToken)) && (ts.rangeContainsPositionExclusive(ts.createTextRangeFromSpan(ts.createTextSpanFromNode(contextToken)), position) || + position === contextToken.end && (!!contextToken.isUnterminated || ts.isRegularExpressionLiteral(contextToken))); } /** * Aggregates relevant symbols for completion in object literals and object binding patterns. @@ -88628,7 +89036,7 @@ var ts; completionKind = 0 /* ObjectPropertyDeclaration */; var typeMembers; var existingMembers; - if (objectLikeContainer.kind === 183 /* ObjectLiteralExpression */) { + if (objectLikeContainer.kind === 184 /* ObjectLiteralExpression */) { var typeForObject = typeChecker.getContextualType(objectLikeContainer); if (!typeForObject) return 2 /* Fail */; @@ -88637,7 +89045,7 @@ var ts; existingMembers = objectLikeContainer.properties; } else { - ts.Debug.assert(objectLikeContainer.kind === 179 /* ObjectBindingPattern */); + ts.Debug.assert(objectLikeContainer.kind === 180 /* ObjectBindingPattern */); // We are *only* completing on properties from the type being destructured. isNewIdentifierLocation = false; var rootDeclaration = ts.getRootDeclaration(objectLikeContainer.parent); @@ -88648,12 +89056,12 @@ var ts; // through type declaration or inference. // Also proceed if rootDeclaration is a parameter and if its containing function expression/arrow function is contextually typed - // type of parameter will flow in from the contextual type of the function - var canGetType = ts.hasInitializer(rootDeclaration) || ts.hasType(rootDeclaration) || rootDeclaration.parent.parent.kind === 221 /* ForOfStatement */; - if (!canGetType && rootDeclaration.kind === 148 /* Parameter */) { + var canGetType = ts.hasInitializer(rootDeclaration) || ts.hasType(rootDeclaration) || rootDeclaration.parent.parent.kind === 222 /* ForOfStatement */; + if (!canGetType && rootDeclaration.kind === 149 /* Parameter */) { if (ts.isExpression(rootDeclaration.parent)) { canGetType = !!typeChecker.getContextualType(rootDeclaration.parent); } - else if (rootDeclaration.parent.kind === 153 /* MethodDeclaration */ || rootDeclaration.parent.kind === 156 /* SetAccessor */) { + else if (rootDeclaration.parent.kind === 154 /* MethodDeclaration */ || rootDeclaration.parent.kind === 157 /* SetAccessor */) { canGetType = ts.isExpression(rootDeclaration.parent.parent) && !!typeChecker.getContextualType(rootDeclaration.parent.parent); } } @@ -88695,8 +89103,8 @@ var ts; return 0 /* Continue */; // cursor is in an import clause // try to show exported member for imported module - var moduleSpecifier = (namedImportsOrExports.kind === 246 /* NamedImports */ ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; - var moduleSpecifierSymbol = typeChecker.getSymbolAtLocation(moduleSpecifier); + var moduleSpecifier = (namedImportsOrExports.kind === 247 /* NamedImports */ ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; + var moduleSpecifierSymbol = typeChecker.getSymbolAtLocation(moduleSpecifier); // TODO: GH#18217 if (!moduleSpecifierSymbol) return 2 /* Fail */; completionKind = 3 /* MemberLike */; @@ -88723,7 +89131,7 @@ var ts; if (!ts.isClassLike(decl)) return 1 /* Success */; var classElement = contextToken.parent; - var classElementModifierFlags = ts.isClassElement(classElement) && ts.getModifierFlags(classElement); + var classElementModifierFlags = ts.isClassElement(classElement) ? ts.getModifierFlags(classElement) : 0 /* None */; // If this is context token is not something we are editing now, consider if this would lead to be modifier if (contextToken.kind === 71 /* Identifier */ && !isCurrentlyEditingNode(contextToken)) { switch (contextToken.getText()) { @@ -88739,7 +89147,7 @@ var ts; if (!(classElementModifierFlags & 8 /* Private */)) { // List of property symbols of base type that are not private and already implemented var baseSymbols = ts.flatMap(ts.getAllSuperTypeNodes(decl), function (baseTypeNode) { - var type = typeChecker.getTypeAtLocation(baseTypeNode); + var type = typeChecker.getTypeAtLocation(baseTypeNode); // TODO: GH#18217 return typeChecker.getPropertiesOfType(classElementModifierFlags & 32 /* Static */ ? typeChecker.getTypeOfSymbolAtLocation(type.symbol, decl) : type); }); symbols = filterClassMembersList(baseSymbols, decl.members, classElementModifierFlags); @@ -88774,13 +89182,14 @@ var ts; */ function tryGetConstructorLikeCompletionContainer(contextToken) { if (contextToken) { + var parent = contextToken.parent; switch (contextToken.kind) { case 19 /* OpenParenToken */: case 26 /* CommaToken */: - return ts.isConstructorDeclaration(contextToken.parent) && contextToken.parent; + return ts.isConstructorDeclaration(contextToken.parent) ? contextToken.parent : undefined; default: if (isConstructorParameterCompletion(contextToken)) { - return contextToken.parent.parent; + return parent.parent; } } } @@ -88797,6 +89206,7 @@ var ts; return true; } prev_1 = node; + return false; }); return container && container; } @@ -88808,14 +89218,14 @@ var ts; case 28 /* LessThanSlashToken */: case 41 /* SlashToken */: case 71 /* Identifier */: - case 184 /* PropertyAccessExpression */: - case 262 /* JsxAttributes */: - case 261 /* JsxAttribute */: - case 263 /* JsxSpreadAttribute */: - if (parent && (parent.kind === 255 /* JsxSelfClosingElement */ || parent.kind === 256 /* JsxOpeningElement */)) { + case 185 /* PropertyAccessExpression */: + case 263 /* JsxAttributes */: + case 262 /* JsxAttribute */: + case 264 /* JsxSpreadAttribute */: + if (parent && (parent.kind === 256 /* JsxSelfClosingElement */ || parent.kind === 257 /* JsxOpeningElement */)) { return parent; } - else if (parent.kind === 261 /* JsxAttribute */) { + else if (parent.kind === 262 /* JsxAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -88827,7 +89237,7 @@ var ts; // its parent is a JsxExpression, whose parent is a JsxAttribute, // whose parent is a JsxOpeningLikeElement case 9 /* StringLiteral */: - if (parent && ((parent.kind === 261 /* JsxAttribute */) || (parent.kind === 263 /* JsxSpreadAttribute */))) { + if (parent && ((parent.kind === 262 /* JsxAttribute */) || (parent.kind === 264 /* JsxSpreadAttribute */))) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -88837,8 +89247,8 @@ var ts; break; case 18 /* CloseBraceToken */: if (parent && - parent.kind === 264 /* JsxExpression */ && - parent.parent && parent.parent.kind === 261 /* JsxAttribute */) { + parent.kind === 265 /* JsxExpression */ && + parent.parent && parent.parent.kind === 262 /* JsxAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -88846,7 +89256,7 @@ var ts; // each JsxAttribute can have initializer as JsxExpression return parent.parent.parent.parent; } - if (parent && parent.kind === 263 /* JsxSpreadAttribute */) { + if (parent && parent.kind === 264 /* JsxSpreadAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -88862,53 +89272,53 @@ var ts; * @returns true if we are certain that the currently edited location must define a new location; false otherwise. */ function isSolelyIdentifierDefinitionLocation(contextToken) { - var containingNodeKind = contextToken.parent.kind; + var parent = contextToken.parent; + var containingNodeKind = parent.kind; switch (contextToken.kind) { case 26 /* CommaToken */: - return containingNodeKind === 231 /* VariableDeclaration */ || - containingNodeKind === 232 /* VariableDeclarationList */ || - containingNodeKind === 213 /* VariableStatement */ || - containingNodeKind === 237 /* EnumDeclaration */ || // enum a { foo, | + return containingNodeKind === 232 /* VariableDeclaration */ || + containingNodeKind === 233 /* VariableDeclarationList */ || + containingNodeKind === 214 /* VariableStatement */ || + containingNodeKind === 238 /* EnumDeclaration */ || // enum a { foo, | isFunctionLikeButNotConstructor(containingNodeKind) || - containingNodeKind === 235 /* InterfaceDeclaration */ || // interface A= contextToken.pos); + (ts.isClassLike(parent) && + !!parent.typeParameters && + parent.typeParameters.end >= contextToken.pos); case 23 /* DotToken */: - return containingNodeKind === 180 /* ArrayBindingPattern */; // var [.| + return containingNodeKind === 181 /* ArrayBindingPattern */; // var [.| case 56 /* ColonToken */: - return containingNodeKind === 181 /* BindingElement */; // var {x :html| + return containingNodeKind === 182 /* BindingElement */; // var {x :html| case 21 /* OpenBracketToken */: - return containingNodeKind === 180 /* ArrayBindingPattern */; // var [x| + return containingNodeKind === 181 /* ArrayBindingPattern */; // var [x| case 19 /* OpenParenToken */: - return containingNodeKind === 268 /* CatchClause */ || + return containingNodeKind === 269 /* CatchClause */ || isFunctionLikeButNotConstructor(containingNodeKind); case 17 /* OpenBraceToken */: - return containingNodeKind === 237 /* EnumDeclaration */; // enum a { | + return containingNodeKind === 238 /* EnumDeclaration */; // enum a { | case 27 /* LessThanToken */: - return containingNodeKind === 234 /* ClassDeclaration */ || // class A< | - containingNodeKind === 204 /* ClassExpression */ || // var C = class D< | - containingNodeKind === 235 /* InterfaceDeclaration */ || // interface A< | - containingNodeKind === 236 /* TypeAliasDeclaration */ || // type List< | + return containingNodeKind === 235 /* ClassDeclaration */ || // class A< | + containingNodeKind === 205 /* ClassExpression */ || // var C = class D< | + containingNodeKind === 236 /* InterfaceDeclaration */ || // interface A< | + containingNodeKind === 237 /* TypeAliasDeclaration */ || // type List< | ts.isFunctionLikeKind(containingNodeKind); case 115 /* StaticKeyword */: - return containingNodeKind === 151 /* PropertyDeclaration */ && !ts.isClassLike(contextToken.parent.parent); + return containingNodeKind === 152 /* PropertyDeclaration */ && !ts.isClassLike(parent.parent); case 24 /* DotDotDotToken */: - return containingNodeKind === 148 /* Parameter */ || - (contextToken.parent && contextToken.parent.parent && - contextToken.parent.parent.kind === 180 /* ArrayBindingPattern */); // var [...z| + return containingNodeKind === 149 /* Parameter */ || + (!!parent.parent && parent.parent.kind === 181 /* ArrayBindingPattern */); // var [...z| case 114 /* PublicKeyword */: case 112 /* PrivateKeyword */: case 113 /* ProtectedKeyword */: - return containingNodeKind === 148 /* Parameter */ && !ts.isConstructorDeclaration(contextToken.parent.parent); + return containingNodeKind === 149 /* Parameter */ && !ts.isConstructorDeclaration(parent.parent); case 118 /* AsKeyword */: - return containingNodeKind === 247 /* ImportSpecifier */ || - containingNodeKind === 251 /* ExportSpecifier */ || - containingNodeKind === 245 /* NamespaceImport */; + return containingNodeKind === 248 /* ImportSpecifier */ || + containingNodeKind === 252 /* ExportSpecifier */ || + containingNodeKind === 246 /* NamespaceImport */; case 125 /* GetKeyword */: case 136 /* SetKeyword */: if (isFromObjectTypeDeclaration(contextToken)) { @@ -88969,7 +89379,7 @@ var ts; && !(ts.isClassLike(contextToken.parent) && (contextToken !== previousToken || position > previousToken.end)); } function isFunctionLikeButNotConstructor(kind) { - return ts.isFunctionLikeKind(kind) && kind !== 154 /* Constructor */; + return ts.isFunctionLikeKind(kind) && kind !== 155 /* Constructor */; } function isDotOfNumericLiteral(contextToken) { if (contextToken.kind === 8 /* NumericLiteral */) { @@ -88992,12 +89402,12 @@ var ts; for (var _i = 0, existingMembers_1 = existingMembers; _i < existingMembers_1.length; _i++) { var m = existingMembers_1[_i]; // Ignore omitted expressions for missing members - if (m.kind !== 269 /* PropertyAssignment */ && - m.kind !== 270 /* ShorthandPropertyAssignment */ && - m.kind !== 181 /* BindingElement */ && - m.kind !== 153 /* MethodDeclaration */ && - m.kind !== 155 /* GetAccessor */ && - m.kind !== 156 /* SetAccessor */) { + if (m.kind !== 270 /* PropertyAssignment */ && + m.kind !== 271 /* ShorthandPropertyAssignment */ && + m.kind !== 182 /* BindingElement */ && + m.kind !== 154 /* MethodDeclaration */ && + m.kind !== 156 /* GetAccessor */ && + m.kind !== 157 /* SetAccessor */) { continue; } // If this is the current item we are editing right now, do not filter it out @@ -89005,7 +89415,7 @@ var ts; continue; } var existingName = void 0; - if (m.kind === 181 /* BindingElement */ && m.propertyName) { + if (ts.isBindingElement(m) && m.propertyName) { // include only identifiers in completion list if (m.propertyName.kind === 71 /* Identifier */) { existingName = m.propertyName.escapedText; @@ -89018,7 +89428,7 @@ var ts; var name = ts.getNameOfDeclaration(m); existingName = ts.isPropertyNameLiteral(name) ? ts.getEscapedTextOfIdentifierOrLiteral(name) : undefined; } - existingMemberNames.set(existingName, true); + existingMemberNames.set(existingName, true); // TODO: GH#18217 } return contextualMemberSymbols.filter(function (m) { return !existingMemberNames.get(m.escapedName); }); } @@ -89032,10 +89442,10 @@ var ts; for (var _i = 0, existingMembers_2 = existingMembers; _i < existingMembers_2.length; _i++) { var m = existingMembers_2[_i]; // Ignore omitted expressions for missing members - if (m.kind !== 151 /* PropertyDeclaration */ && - m.kind !== 153 /* MethodDeclaration */ && - m.kind !== 155 /* GetAccessor */ && - m.kind !== 156 /* SetAccessor */) { + if (m.kind !== 152 /* PropertyDeclaration */ && + m.kind !== 154 /* MethodDeclaration */ && + m.kind !== 156 /* GetAccessor */ && + m.kind !== 157 /* SetAccessor */) { continue; } // If this is the current item we are editing right now, do not filter it out @@ -89075,7 +89485,7 @@ var ts; if (isCurrentlyEditingNode(attr)) { continue; } - if (attr.kind === 261 /* JsxAttribute */) { + if (attr.kind === 262 /* JsxAttribute */) { seenNames.set(attr.name.escapedText, true); } } @@ -89119,7 +89529,7 @@ var ts; var _keywordCompletions = []; var allKeywordsCompletions = ts.memoize(function () { var res = []; - for (var i = 72 /* FirstKeyword */; i <= 144 /* LastKeyword */; i++) { + for (var i = 72 /* FirstKeyword */; i <= 145 /* LastKeyword */; i++) { res.push({ name: ts.tokenToString(i), kind: "keyword" /* keyword */, @@ -89220,7 +89630,7 @@ var ts; } // If we're providing completions for an object literal, skip primitive, array-like, or callable types since those shouldn't be implemented by object literals. var filteredTypes = isForAccess ? type.types : type.types.filter(function (memberType) { - return !(memberType.flags & 16382 /* Primitive */ || checker.isArrayLikeType(memberType) || ts.typeHasCallOrConstructSignatures(memberType, checker)); + return !(memberType.flags & 32764 /* Primitive */ || checker.isArrayLikeType(memberType) || ts.typeHasCallOrConstructSignatures(memberType, checker)); }); return ts.Debug.assertEachDefined(checker.getAllPossiblePropertiesOfTypes(filteredTypes), "getAllPossiblePropertiesOfTypes() should all be defined"); } @@ -89231,7 +89641,7 @@ var ts; function tryGetObjectTypeDeclarationCompletionContainer(sourceFile, contextToken, location) { // class c { method() { } | method2() { } } switch (location.kind) { - case 298 /* SyntaxList */: + case 299 /* SyntaxList */: return ts.tryCast(location.parent, ts.isObjectTypeDeclaration); case 1 /* EndOfFileToken */: var cls = ts.tryCast(ts.lastOrUndefined(ts.cast(location.parent, ts.isSourceFile).statements), ts.isObjectTypeDeclaration); @@ -89255,7 +89665,7 @@ var ts; if (!isFromObjectTypeDeclaration(contextToken)) return undefined; var isValidKeyword = ts.isClassLike(contextToken.parent.parent) ? isClassMemberCompletionKeyword : isInterfaceOrTypeLiteralCompletionKeyword; - return (isValidKeyword(contextToken.kind) || ts.isIdentifier(contextToken) && isValidKeyword(ts.stringToToken(contextToken.text))) + return (isValidKeyword(contextToken.kind) || ts.isIdentifier(contextToken) && isValidKeyword(ts.stringToToken(contextToken.text))) // TODO: GH#18217 ? contextToken.parent.parent : undefined; } } @@ -89278,7 +89688,7 @@ var ts; return isStringLiteralOrTemplate(contextToken) && position === contextToken.getStart(sourceFile) + 1; case "<": // Opening JSX tag - return contextToken.kind === 27 /* LessThanToken */ && contextToken.parent.kind !== 199 /* BinaryExpression */; + return contextToken.kind === 27 /* LessThanToken */ && contextToken.parent.kind !== 200 /* BinaryExpression */; case "/": return ts.isStringLiteralLike(contextToken) ? !!ts.tryGetImportFromModuleSpecifier(contextToken) @@ -89291,8 +89701,8 @@ var ts; switch (node.kind) { case 9 /* StringLiteral */: case 13 /* NoSubstitutionTemplateLiteral */: - case 201 /* TemplateExpression */: - case 188 /* TaggedTemplateExpression */: + case 202 /* TemplateExpression */: + case 189 /* TaggedTemplateExpression */: return true; default: return false; @@ -89337,7 +89747,7 @@ var ts; if (!sourceFilesSet.has(fileName)) { ts.Debug.assert(program.redirectTargetsSet.has(fileName)); var redirectTarget_1 = program.getSourceFile(fileName); - var redirect = ts.find(sourceFilesToSearch, function (f) { return f.redirectInfo && f.redirectInfo.redirectTarget === redirectTarget_1; }); + var redirect = ts.find(sourceFilesToSearch, function (f) { return !!f.redirectInfo && f.redirectInfo.redirectTarget === redirectTarget_1; }); fileName = redirect.fileName; ts.Debug.assert(sourceFilesSet.has(fileName)); } @@ -89383,6 +89793,8 @@ var ts; return useParent(node.parent, ts.isAwaitExpression, getAsyncAndAwaitOccurrences); case 120 /* AsyncKeyword */: return highlightSpans(getAsyncAndAwaitOccurrences(node)); + case 116 /* YieldKeyword */: + return highlightSpans(getYieldOccurrences(node)); default: return ts.isModifierKind(node.kind) && (ts.isDeclaration(node.parent) || ts.isVariableStatement(node.parent)) ? highlightSpans(getModifierOccurrences(node.kind, node.parent)) @@ -89410,7 +89822,7 @@ var ts; } else if (ts.isTryStatement(node)) { // Exceptions thrown within a try block lacking a catch clause are "owned" in the current context. - return ts.concatenate(node.catchClause ? aggregateOwnedThrowStatements(node.catchClause) : node.tryBlock && aggregateOwnedThrowStatements(node.tryBlock), aggregateOwnedThrowStatements(node.finallyBlock)); + return ts.concatenate(node.catchClause ? aggregateOwnedThrowStatements(node.catchClause) : node.tryBlock && aggregateOwnedThrowStatements(node.tryBlock), node.finallyBlock && aggregateOwnedThrowStatements(node.finallyBlock)); } // Do not cross function boundaries. return ts.isFunctionLike(node) ? undefined : flatMapChildren(node, aggregateOwnedThrowStatements); @@ -89424,7 +89836,7 @@ var ts; var child = throwStatement; while (child.parent) { var parent = child.parent; - if (ts.isFunctionBlock(parent) || parent.kind === 273 /* SourceFile */) { + if (ts.isFunctionBlock(parent) || parent.kind === 274 /* SourceFile */) { return parent; } // A throw-statement is only owned by a try-statement if the try-statement has @@ -89451,26 +89863,26 @@ var ts; } function ownsBreakOrContinueStatement(owner, statement) { var actualOwner = getBreakOrContinueOwner(statement); - return actualOwner && actualOwner === owner; + return !!actualOwner && actualOwner === owner; } function getBreakOrContinueOwner(statement) { return ts.findAncestor(statement, function (node) { switch (node.kind) { - case 226 /* SwitchStatement */: - if (statement.kind === 222 /* ContinueStatement */) { + case 227 /* SwitchStatement */: + if (statement.kind === 223 /* ContinueStatement */) { return false; } // falls through - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 218 /* WhileStatement */: - case 217 /* DoStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 219 /* WhileStatement */: + case 218 /* DoStatement */: return !statement.label || isLabeledBy(node, statement.label.escapedText); default: // Don't cross function boundaries. // TODO: GH#20090 - return (ts.isFunctionLike(node) && "quit"); + return ts.isFunctionLike(node) && "quit"; } }); } @@ -89488,11 +89900,11 @@ var ts; // Types of node whose children might have modifiers. var container = declaration.parent; switch (container.kind) { - case 239 /* ModuleBlock */: - case 273 /* SourceFile */: - case 212 /* Block */: - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 240 /* ModuleBlock */: + case 274 /* SourceFile */: + case 213 /* Block */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: // Container is either a class declaration or the declaration is a classDeclaration if (modifierFlag & 128 /* Abstract */ && ts.isClassDeclaration(declaration)) { return declaration.members.concat([declaration]); @@ -89500,13 +89912,12 @@ var ts; else { return container.statements; } - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 233 /* FunctionDeclaration */: { + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 234 /* FunctionDeclaration */: return container.parameters.concat((ts.isClassLike(container.parent) ? container.parent.members : [])); - } - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: var nodes = container.members; // If we're an accessibility modifier, we're in an instance member and should search // the constructor's parameter list for instance members as well. @@ -89539,7 +89950,7 @@ var ts; var keywords = []; if (pushKeywordIf(keywords, loopNode.getFirstToken(), 88 /* ForKeyword */, 106 /* WhileKeyword */, 81 /* DoKeyword */)) { // If we succeeded and got a do-while loop, then start looking for a 'while' keyword. - if (loopNode.kind === 217 /* DoStatement */) { + if (loopNode.kind === 218 /* DoStatement */) { var loopTokens = loopNode.getChildren(); for (var i = loopTokens.length - 1; i >= 0; i--) { if (pushKeywordIf(keywords, loopTokens[i], 106 /* WhileKeyword */)) { @@ -89559,13 +89970,13 @@ var ts; var owner = getBreakOrContinueOwner(breakOrContinueStatement); if (owner) { switch (owner.kind) { - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 217 /* DoStatement */: - case 218 /* WhileStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 218 /* DoStatement */: + case 219 /* WhileStatement */: return getLoopBreakContinueOccurrences(owner); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: return getSwitchCaseDefaultOccurrences(owner); } } @@ -89641,16 +90052,35 @@ var ts; pushKeywordIf(keywords, modifier, 120 /* AsyncKeyword */); }); } - ts.forEachChild(func, aggregate); + ts.forEachChild(func, function (child) { + traverseWithoutCrossingFunction(child, function (node) { + if (ts.isAwaitExpression(node)) { + pushKeywordIf(keywords, node.getFirstToken(), 121 /* AwaitKeyword */); + } + }); + }); return keywords; - function aggregate(node) { - if (ts.isAwaitExpression(node)) { - pushKeywordIf(keywords, node.getFirstToken(), 121 /* AwaitKeyword */); - } - // Do not cross function boundaries. - if (!ts.isFunctionLike(node) && !ts.isClassLike(node) && !ts.isInterfaceDeclaration(node) && !ts.isModuleDeclaration(node) && !ts.isTypeAliasDeclaration(node) && !ts.isTypeNode(node)) { - ts.forEachChild(node, aggregate); - } + } + function getYieldOccurrences(node) { + var func = ts.getContainingFunction(node); + if (!func) { + return undefined; + } + var keywords = []; + ts.forEachChild(func, function (child) { + traverseWithoutCrossingFunction(child, function (node) { + if (ts.isYieldExpression(node)) { + pushKeywordIf(keywords, node.getFirstToken(), 116 /* YieldKeyword */); + } + }); + }); + return keywords; + } + // Do not cross function/class/interface/module/type boundaries. + function traverseWithoutCrossingFunction(node, cb) { + cb(node); + if (!ts.isFunctionLike(node) && !ts.isClassLike(node) && !ts.isInterfaceDeclaration(node) && !ts.isModuleDeclaration(node) && !ts.isTypeAliasDeclaration(node) && !ts.isTypeNode(node)) { + ts.forEachChild(node, function (child) { return traverseWithoutCrossingFunction(child, cb); }); } } function getIfElseOccurrences(ifStatement, sourceFile) { @@ -89720,6 +90150,11 @@ var ts; var ts; (function (ts) { function createDocumentRegistry(useCaseSensitiveFileNames, currentDirectory) { + return createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirectory); + } + ts.createDocumentRegistry = createDocumentRegistry; + /*@internal*/ + function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirectory, externalCache) { if (currentDirectory === void 0) { currentDirectory = ""; } // Maps from compiler setting target (ES3, ES5, etc.) to all the cached documents we have // for those settings. @@ -89733,7 +90168,7 @@ var ts; if (!bucket && createIfMissing) { buckets.set(key, bucket = ts.createMap()); } - return bucket; + return bucket; // TODO: GH#18217 } function reportStats() { var bucketInfoArray = ts.arrayFrom(buckets.keys()).filter(function (name) { return name && name.charAt(0) === "_"; }).map(function (name) { @@ -89742,8 +90177,7 @@ var ts; entries.forEach(function (entry, name) { sourceFiles.push({ name: name, - refCount: entry.languageServiceRefCount, - references: entry.owners.slice(0) + refCount: entry.languageServiceRefCount }); }); sourceFiles.sort(function (x, y) { return y.refCount - x.refCount; }); @@ -89774,13 +90208,26 @@ var ts; var bucket = getBucketForCompilationSettings(key, /*createIfMissing*/ true); var entry = bucket.get(path); var scriptTarget = scriptKind === 6 /* JSON */ ? 100 /* JSON */ : compilationSettings.target; + if (!entry && externalCache) { + var sourceFile = externalCache.getDocument(key, path); + if (sourceFile) { + ts.Debug.assert(acquiring); + entry = { + sourceFile: sourceFile, + languageServiceRefCount: 0 + }; + bucket.set(path, entry); + } + } if (!entry) { // Have never seen this file with these settings. Create a new source file for it. - var sourceFile = ts.createLanguageServiceSourceFile(fileName, scriptSnapshot, scriptTarget, version, /*setNodeParents*/ false, scriptKind); + var sourceFile = ts.createLanguageServiceSourceFile(fileName, scriptSnapshot, scriptTarget, version, /*setNodeParents*/ false, scriptKind); // TODO: GH#18217 + if (externalCache) { + externalCache.setDocument(key, path, sourceFile); + } entry = { sourceFile: sourceFile, languageServiceRefCount: 1, - owners: [] }; bucket.set(path, entry); } @@ -89789,7 +90236,10 @@ var ts; // the script snapshot. If so, update it appropriately. Otherwise, we can just // return it as is. if (entry.sourceFile.version !== version) { - entry.sourceFile = ts.updateLanguageServiceSourceFile(entry.sourceFile, scriptSnapshot, version, scriptSnapshot.getChangeRange(entry.sourceFile.scriptSnapshot)); + entry.sourceFile = ts.updateLanguageServiceSourceFile(entry.sourceFile, scriptSnapshot, version, scriptSnapshot.getChangeRange(entry.sourceFile.scriptSnapshot)); // TODO: GH#18217 + if (externalCache) { + externalCache.setDocument(key, path, entry.sourceFile); + } } // If we're acquiring, then this is the first time this LS is asking for this document. // Increase our ref count so we know there's another LS using the document. If we're @@ -89800,6 +90250,7 @@ var ts; entry.languageServiceRefCount++; } } + ts.Debug.assert(entry.languageServiceRefCount !== 0); return entry.sourceFile; } function releaseDocument(fileName, compilationSettings) { @@ -89817,6 +90268,13 @@ var ts; bucket.delete(path); } } + function getLanguageServiceRefCounts(path) { + return ts.arrayFrom(buckets.entries(), function (_a) { + var key = _a[0], bucket = _a[1]; + var entry = bucket.get(path); + return [key, entry && entry.languageServiceRefCount]; + }); + } return { acquireDocument: acquireDocument, acquireDocumentWithKey: acquireDocumentWithKey, @@ -89824,11 +90282,12 @@ var ts; updateDocumentWithKey: updateDocumentWithKey, releaseDocument: releaseDocument, releaseDocumentWithKey: releaseDocumentWithKey, + getLanguageServiceRefCounts: getLanguageServiceRefCounts, reportStats: reportStats, getKeyForCompilationSettings: getKeyForCompilationSettings }; } - ts.createDocumentRegistry = createDocumentRegistry; + ts.createDocumentRegistryInternal = createDocumentRegistryInternal; })(ts || (ts = {})); /* Code for finding imports of an exported symbol. Used only by FindAllReferences. */ /* @internal */ @@ -89891,10 +90350,10 @@ var ts; } cancellationToken.throwIfCancellationRequested(); switch (direct.kind) { - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (!isAvailableThroughGlobal) { var parent = direct.parent; - if (exportKind === 2 /* ExportEquals */ && parent.kind === 231 /* VariableDeclaration */) { + if (exportKind === 2 /* ExportEquals */ && parent.kind === 232 /* VariableDeclaration */) { var name = parent.name; if (name.kind === 71 /* Identifier */) { directImports.push(name); @@ -89907,12 +90366,12 @@ var ts; break; case 71 /* Identifier */: // for 'const x = require("y"); break; // TODO: GH#23879 - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: handleNamespaceImport(direct, direct.name, ts.hasModifier(direct, 1 /* Export */)); break; - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: var namedBindings = direct.importClause && direct.importClause.namedBindings; - if (namedBindings && namedBindings.kind === 245 /* NamespaceImport */) { + if (namedBindings && namedBindings.kind === 246 /* NamespaceImport */) { handleNamespaceImport(direct, namedBindings.name); } else if (ts.isDefaultImport(direct)) { @@ -89926,7 +90385,7 @@ var ts; directImports.push(direct); } break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: if (!direct.exportClause) { // This is `export * from "foo"`, so imports of this module may import the export too. handleDirectImports(getContainingModuleSymbol(direct, checker)); @@ -89936,7 +90395,7 @@ var ts; directImports.push(direct); } break; - case 178 /* ImportType */: + case 179 /* ImportType */: directImports.push(direct); break; default: @@ -89952,7 +90411,7 @@ var ts; } else if (!isAvailableThroughGlobal) { var sourceFileLike = getSourceFileLikeForImportDeclaration(importDeclaration); - ts.Debug.assert(sourceFileLike.kind === 273 /* SourceFile */ || sourceFileLike.kind === 238 /* ModuleDeclaration */); + ts.Debug.assert(sourceFileLike.kind === 274 /* SourceFile */ || sourceFileLike.kind === 239 /* ModuleDeclaration */); if (isReExport || findNamespaceReExports(sourceFileLike, name, checker)) { addIndirectUsers(sourceFileLike); } @@ -89965,7 +90424,7 @@ var ts; ts.Debug.assert(!isAvailableThroughGlobal); var isNew = markSeenIndirectUser(sourceFileLike); if (isNew) { - indirectUserDeclarations.push(sourceFileLike); + indirectUserDeclarations.push(sourceFileLike); // TODO: GH#18217 } return isNew; } @@ -90007,7 +90466,7 @@ var ts; } return { importSearches: importSearches, singleReferences: singleReferences }; function handleImport(decl) { - if (decl.kind === 242 /* ImportEqualsDeclaration */) { + if (decl.kind === 243 /* ImportEqualsDeclaration */) { if (isExternalModuleImportEquals(decl)) { handleNamespaceImportLike(decl.name); } @@ -90017,7 +90476,7 @@ var ts; handleNamespaceImportLike(decl); return; } - if (decl.kind === 178 /* ImportType */) { + if (decl.kind === 179 /* ImportType */) { if (decl.qualifier) { if (ts.isIdentifier(decl.qualifier) && decl.qualifier.escapedText === ts.symbolName(exportSymbol)) { singleReferences.push(decl.qualifier); @@ -90032,7 +90491,7 @@ var ts; if (decl.moduleSpecifier.kind !== 9 /* StringLiteral */) { return; } - if (decl.kind === 249 /* ExportDeclaration */) { + if (decl.kind === 250 /* ExportDeclaration */) { searchForNamedImport(decl.exportClause); return; } @@ -90041,12 +90500,12 @@ var ts; return; } var namedBindings = importClause.namedBindings; - if (namedBindings && namedBindings.kind === 245 /* NamespaceImport */) { + if (namedBindings && namedBindings.kind === 246 /* NamespaceImport */) { handleNamespaceImportLike(namedBindings.name); return; } if (exportKind === 0 /* Named */) { - searchForNamedImport(namedBindings); + searchForNamedImport(namedBindings); // tslint:disable-line no-unnecessary-type-assertion (TODO: GH#18217) } else { // `export =` might be imported by a default import if `--allowSyntheticDefaultImports` is on, so this handles both ExportKind.Default and ExportKind.ExportEquals @@ -90095,7 +90554,7 @@ var ts; } } else { - var localSymbol = element.kind === 251 /* ExportSpecifier */ && element.propertyName + var localSymbol = element.kind === 252 /* ExportSpecifier */ && element.propertyName ? checker.getExportSpecifierLocalTargetSymbol(element) // For re-exporting under a different name, we want to get the re-exported symbol. : checker.getSymbolAtLocation(name); addSearch(name, localSymbol); @@ -90110,7 +90569,7 @@ var ts; /** Returns 'true' is the namespace 'name' is re-exported from this module, and 'false' if it is only used locally. */ function findNamespaceReExports(sourceFileLike, name, checker) { var namespaceImportSymbol = checker.getSymbolAtLocation(name); - return forEachPossibleImportOrExportStatement(sourceFileLike, function (statement) { + return !!forEachPossibleImportOrExportStatement(sourceFileLike, function (statement) { if (!ts.isExportDeclaration(statement)) return; var exportClause = statement.exportClause, moduleSpecifier = statement.moduleSpecifier; @@ -90124,7 +90583,7 @@ var ts; for (var _i = 0, sourceFiles_5 = sourceFiles; _i < sourceFiles_5.length; _i++) { var referencingFile = sourceFiles_5[_i]; var searchSourceFile = searchModuleSymbol.valueDeclaration; - if (searchSourceFile.kind === 273 /* SourceFile */) { + if (searchSourceFile.kind === 274 /* SourceFile */) { for (var _a = 0, _b = referencingFile.referencedFiles; _a < _b.length; _a++) { var ref = _b[_a]; if (program.getSourceFileFromReference(referencingFile, ref) === searchSourceFile) { @@ -90171,7 +90630,7 @@ var ts; } /** Iterates over all statements at the top level or in module declarations. Returns the first truthy result. */ function forEachPossibleImportOrExportStatement(sourceFileLike, action) { - return ts.forEach(sourceFileLike.kind === 273 /* SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { + return ts.forEach(sourceFileLike.kind === 274 /* SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { return action(statement) || (isAmbientModuleDeclaration(statement) && ts.forEach(statement.body && statement.body.statements, action)); }); } @@ -90186,15 +90645,15 @@ var ts; else { forEachPossibleImportOrExportStatement(sourceFile, function (statement) { switch (statement.kind) { - case 249 /* ExportDeclaration */: - case 243 /* ImportDeclaration */: { + case 250 /* ExportDeclaration */: + case 244 /* ImportDeclaration */: { var decl = statement; if (decl.moduleSpecifier && ts.isStringLiteral(decl.moduleSpecifier)) { action(decl, decl.moduleSpecifier); } break; } - case 242 /* ImportEqualsDeclaration */: { + case 243 /* ImportEqualsDeclaration */: { var decl = statement; if (isExternalModuleImportEquals(decl)) { action(decl, decl.moduleReference.expression); @@ -90216,12 +90675,13 @@ var ts; return comingFromExport ? getExport() : getExport() || getImport(); function getExport() { var parent = node.parent; + var grandParent = parent.parent; if (symbol.exportSymbol) { - if (parent.kind === 184 /* PropertyAccessExpression */) { + if (parent.kind === 185 /* PropertyAccessExpression */) { // When accessing an export of a JS module, there's no alias. The symbol will still be flagged as an export even though we're at the use. // So check that we are at the declaration. - return symbol.declarations.some(function (d) { return d === parent; }) && ts.isBinaryExpression(parent.parent) - ? getSpecialPropertyExport(parent.parent, /*useLhsSymbol*/ false) + return symbol.declarations.some(function (d) { return d === parent; }) && ts.isBinaryExpression(grandParent) + ? getSpecialPropertyExport(grandParent, /*useLhsSymbol*/ false) : undefined; } else { @@ -90248,15 +90708,15 @@ var ts; return getExportAssignmentExport(parent); } // If we are in `export = class A {};` (or `export = class A {};`) at `A`, `parent.parent` is the export assignment. - else if (ts.isExportAssignment(parent.parent)) { - return getExportAssignmentExport(parent.parent); + else if (ts.isExportAssignment(grandParent)) { + return getExportAssignmentExport(grandParent); } // Similar for `module.exports =` and `exports.A =`. else if (ts.isBinaryExpression(parent)) { return getSpecialPropertyExport(parent, /*useLhsSymbol*/ true); } - else if (ts.isBinaryExpression(parent.parent)) { - return getSpecialPropertyExport(parent.parent, /*useLhsSymbol*/ true); + else if (ts.isBinaryExpression(grandParent)) { + return getSpecialPropertyExport(grandParent, /*useLhsSymbol*/ true); } else if (ts.isJSDocTypedefTag(parent)) { return exportInfo(symbol, 0 /* Named */); @@ -90331,15 +90791,18 @@ var ts; else if (ts.isBinaryExpression(decl)) { // `module.exports = class {}` return ts.Debug.assertDefined(decl.right.symbol); } + else if (ts.isSourceFile(decl)) { // json module + return ts.Debug.assertDefined(decl.symbol); + } return ts.Debug.fail(); } // If a reference is a class expression, the exported node would be its parent. // If a reference is a variable declaration, the exported node would be the variable statement. function getExportNode(parent, node) { - if (parent.kind === 231 /* VariableDeclaration */) { + if (parent.kind === 232 /* VariableDeclaration */) { var p = parent; return p.name !== node ? undefined : - p.parent.kind === 268 /* CatchClause */ ? undefined : p.parent.parent.kind === 213 /* VariableStatement */ ? p.parent.parent : undefined; + p.parent.kind === 269 /* CatchClause */ ? undefined : p.parent.parent.kind === 214 /* VariableStatement */ ? p.parent.parent : undefined; } else { return parent; @@ -90348,15 +90811,15 @@ var ts; function isNodeImport(node) { var parent = node.parent; switch (parent.kind) { - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return parent.name === node && isExternalModuleImportEquals(parent) ? { isNamedImport: false } : undefined; - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: // For a rename import `{ foo as bar }`, don't search for the imported symbol. Just find local uses of `bar`. return parent.propertyName ? undefined : { isNamedImport: true }; - case 244 /* ImportClause */: - case 245 /* NamespaceImport */: + case 245 /* ImportClause */: + case 246 /* NamespaceImport */: ts.Debug.assert(parent.name === node); return { isNamedImport: false }; default: @@ -90389,21 +90852,21 @@ var ts; return checker.getMergedSymbol(getSourceFileLikeForImportDeclaration(importer).symbol); } function getSourceFileLikeForImportDeclaration(node) { - if (node.kind === 186 /* CallExpression */) { + if (node.kind === 187 /* CallExpression */) { return node.getSourceFile(); } var parent = node.parent; - if (parent.kind === 273 /* SourceFile */) { + if (parent.kind === 274 /* SourceFile */) { return parent; } - ts.Debug.assert(parent.kind === 239 /* ModuleBlock */); + ts.Debug.assert(parent.kind === 240 /* ModuleBlock */); return ts.cast(parent.parent, isAmbientModuleDeclaration); } function isAmbientModuleDeclaration(node) { - return node.kind === 238 /* ModuleDeclaration */ && node.name.kind === 9 /* StringLiteral */; + return node.kind === 239 /* ModuleDeclaration */ && node.name.kind === 9 /* StringLiteral */; } function isExternalModuleImportEquals(eq) { - return eq.moduleReference.kind === 253 /* ExternalModuleReference */ && eq.moduleReference.expression.kind === 9 /* StringLiteral */; + return eq.moduleReference.kind === 254 /* ExternalModuleReference */ && eq.moduleReference.expression.kind === 9 /* StringLiteral */; } })(FindAllReferences = ts.FindAllReferences || (ts.FindAllReferences = {})); })(ts || (ts = {})); @@ -90413,7 +90876,7 @@ var ts; var FindAllReferences; (function (FindAllReferences) { function nodeEntry(node, isInString) { - return { type: "node", node: node, isInString: isInString }; + return { type: "node", node: node.name || node, isInString: isInString }; } FindAllReferences.nodeEntry = nodeEntry; function findReferencedSymbols(program, cancellationToken, sourceFiles, sourceFile, position) { @@ -90439,13 +90902,13 @@ var ts; } FindAllReferences.getImplementationsAtPosition = getImplementationsAtPosition; function getImplementationReferenceEntries(program, cancellationToken, sourceFiles, node, position) { - if (node.kind === 273 /* SourceFile */) { + if (node.kind === 274 /* SourceFile */) { return undefined; } var checker = program.getTypeChecker(); // If invoked directly on a shorthand property assignment, then return // the declaration of the symbol being assigned (not the symbol being assigned to). - if (node.parent.kind === 270 /* ShorthandPropertyAssignment */) { + if (node.parent.kind === 271 /* ShorthandPropertyAssignment */) { var result_5 = []; FindAllReferences.Core.getReferenceEntriesForShorthandPropertyAssignment(node, checker, function (node) { return result_5.push(nodeEntry(node)); }); return result_5; @@ -90549,13 +91012,13 @@ var ts; if (symbol) { return getDefinitionKindAndDisplayParts(symbol, checker, node); } - else if (node.kind === 183 /* ObjectLiteralExpression */) { + else if (node.kind === 184 /* ObjectLiteralExpression */) { return { kind: "interface" /* interfaceElement */, displayParts: [ts.punctuationPart(19 /* OpenParenToken */), ts.textPart("object literal"), ts.punctuationPart(20 /* CloseParenToken */)] }; } - else if (node.kind === 204 /* ClassExpression */) { + else if (node.kind === 205 /* ClassExpression */) { return { kind: "local class" /* localClassElement */, displayParts: [ts.punctuationPart(19 /* OpenParenToken */), ts.textPart("anonymous local class"), ts.punctuationPart(20 /* CloseParenToken */)] @@ -90626,6 +91089,7 @@ var ts; } var moduleReferences = ts.emptyArray; var moduleSourceFile = isModuleSymbol(symbol); + var referencedNode = node; if (moduleSourceFile) { var exportEquals = symbol.exports.get("export=" /* ExportEquals */); // If !!exportEquals, we're about to add references to `import("mod")` anyway, so don't double-count them. @@ -90634,13 +91098,13 @@ var ts; return moduleReferences; // Continue to get references to 'export ='. symbol = ts.skipAlias(exportEquals, checker); - node = undefined; + referencedNode = undefined; } - return ts.concatenate(moduleReferences, getReferencedSymbolsForSymbol(symbol, node, sourceFiles, sourceFilesSet, checker, cancellationToken, options)); + return ts.concatenate(moduleReferences, getReferencedSymbolsForSymbol(symbol, referencedNode, sourceFiles, sourceFilesSet, checker, cancellationToken, options)); } Core.getReferencedSymbolsForNode = getReferencedSymbolsForNode; function isModuleSymbol(symbol) { - return symbol.flags & 1536 /* Module */ && ts.find(symbol.declarations, ts.isSourceFile); + return symbol.flags & 1536 /* Module */ ? ts.find(symbol.declarations, ts.isSourceFile) : undefined; } function getReferencedSymbolsForModule(program, symbol, excludeImportTypeOfExportEquals, sourceFiles, sourceFilesSet) { ts.Debug.assert(!!symbol.valueDeclaration); @@ -90667,10 +91131,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; switch (decl.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: // Don't include the source file itself. (This may not be ideal behavior, but awkward to include an entire file as a reference.) break; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (sourceFilesSet.has(decl.getSourceFile().fileName)) { references.push({ type: "node", node: decl.name }); } @@ -90718,7 +91182,7 @@ var ts; searchForImportsOfExport(node, symbol, { exportingModuleSymbol: ts.Debug.assertDefined(symbol.parent, "Expected export symbol to have a parent"), exportKind: 1 /* Default */ }, state); } else { - var search = state.createSearch(node, symbol, /*comingFrom*/ undefined, { allSearchSymbols: node ? populateSearchSymbolSet(symbol, node, checker, options.implementations) : [symbol] }); + var search = state.createSearch(node, symbol, /*comingFrom*/ undefined, { allSearchSymbols: node ? populateSearchSymbolSet(symbol, node, checker, !!options.implementations) : [symbol] }); // Try to get the smallest valid scope that we can limit our search to; // otherwise we'll need to search globally (i.e. include each file). var scope = getSymbolScope(symbol); @@ -90826,7 +91290,7 @@ var ts; State.prototype.getImportSearches = function (exportSymbol, exportInfo) { if (!this.importTracker) this.importTracker = FindAllReferences.createImportTracker(this.sourceFiles, this.sourceFilesSet, this.checker, this.cancellationToken); - return this.importTracker(exportSymbol, exportInfo, this.options.isForRename); + return this.importTracker(exportSymbol, exportInfo, !!this.options.isForRename); }; /** @param allSearchSymbols set of additinal symbols for use by `includes`. */ State.prototype.createSearch = function (location, symbol, comingFrom, searchOptions) { @@ -90837,7 +91301,7 @@ var ts; // here appears to be intentional). var _a = searchOptions.text, text = _a === void 0 ? ts.stripQuotes(ts.unescapeLeadingUnderscores((ts.getLocalSymbolForExportDefault(symbol) || symbol).escapedName)) : _a, _b = searchOptions.allSearchSymbols, allSearchSymbols = _b === void 0 ? [symbol] : _b; var escapedText = ts.escapeLeadingUnderscores(text); - var parents = this.options.implementations && location && getParentSymbolsOfPropertyAccess(location, symbol, this.checker); + var parents = this.options.implementations && location ? getParentSymbolsOfPropertyAccess(location, symbol, this.checker) : undefined; return { symbol: symbol, comingFrom: comingFrom, text: text, escapedText: escapedText, parents: parents, allSearchSymbols: allSearchSymbols, includes: function (sym) { return ts.contains(allSearchSymbols, sym); } }; }; /** @@ -90938,13 +91402,14 @@ var ts; } } function getPropertySymbolOfDestructuringAssignment(location, checker) { - return ts.isArrayLiteralOrObjectLiteralDestructuringPattern(location.parent.parent) && - checker.getPropertySymbolOfDestructuringAssignment(location); + return ts.isArrayLiteralOrObjectLiteralDestructuringPattern(location.parent.parent) + ? checker.getPropertySymbolOfDestructuringAssignment(location) + : undefined; } function getObjectBindingElementWithoutPropertyName(symbol) { - var bindingElement = ts.getDeclarationOfKind(symbol, 181 /* BindingElement */); + var bindingElement = ts.getDeclarationOfKind(symbol, 182 /* BindingElement */); if (bindingElement && - bindingElement.parent.kind === 179 /* ObjectBindingPattern */ && + bindingElement.parent.kind === 180 /* ObjectBindingPattern */ && ts.isIdentifier(bindingElement.name) && !bindingElement.propertyName) { return bindingElement; @@ -90966,7 +91431,7 @@ var ts; // If this is the symbol of a named function expression or named class expression, // then named references are limited to its own scope. var declarations = symbol.declarations, flags = symbol.flags, parent = symbol.parent, valueDeclaration = symbol.valueDeclaration; - if (valueDeclaration && (valueDeclaration.kind === 191 /* FunctionExpression */ || valueDeclaration.kind === 204 /* ClassExpression */)) { + if (valueDeclaration && (valueDeclaration.kind === 192 /* FunctionExpression */ || valueDeclaration.kind === 205 /* ClassExpression */)) { return valueDeclaration; } if (!declarations) { @@ -90976,7 +91441,7 @@ var ts; if (flags & (4 /* Property */ | 8192 /* Method */)) { var privateDeclaration = ts.find(declarations, function (d) { return ts.hasModifier(d, 8 /* Private */); }); if (privateDeclaration) { - return ts.getAncestor(privateDeclaration, 234 /* ClassDeclaration */); + return ts.getAncestor(privateDeclaration, 235 /* ClassDeclaration */); } // Else this is a public property and could be accessed from anywhere. return undefined; @@ -90998,14 +91463,14 @@ var ts; return undefined; } var scope; - for (var _i = 0, declarations_9 = declarations; _i < declarations_9.length; _i++) { - var declaration = declarations_9[_i]; + for (var _i = 0, declarations_10 = declarations; _i < declarations_10.length; _i++) { + var declaration = declarations_10[_i]; var container = ts.getContainerNode(declaration); if (scope && scope !== container) { // Different declarations have different containers, bail out return undefined; } - if (!container || container.kind === 273 /* SourceFile */ && !ts.isExternalOrCommonJsModule(container)) { + if (!container || container.kind === 274 /* SourceFile */ && !ts.isExternalOrCommonJsModule(container)) { // This is a global variable and not an external module, any declaration defined // within this scope is visible outside the file return undefined; @@ -91018,23 +91483,32 @@ var ts; // declare module "a" { export type T = number; } // declare module "b" { import { T } from "a"; export const x: T; } // So we must search the whole source file. (Because we will mark the source file as seen, we we won't return to it when searching for imports.) - return exposedByParent ? scope.getSourceFile() : scope; + return exposedByParent ? scope.getSourceFile() : scope; // TODO: GH#18217 } /** Used as a quick check for whether a symbol is used at all in a file (besides its definition). */ function isSymbolReferencedInFile(definition, checker, sourceFile) { - var symbol = checker.getSymbolAtLocation(definition); - if (!symbol) - return true; // Be lenient with invalid code. - return getPossibleSymbolReferenceNodes(sourceFile, symbol.name).some(function (token) { - if (!ts.isIdentifier(token) || token === definition || token.escapedText !== definition.escapedText) - return false; - var referenceSymbol = checker.getSymbolAtLocation(token); - return referenceSymbol === symbol - || checker.getShorthandAssignmentValueSymbol(token.parent) === symbol - || ts.isExportSpecifier(token.parent) && getLocalSymbolForExportSpecifier(token, referenceSymbol, token.parent, checker) === symbol; - }); + return eachSymbolReferenceInFile(definition, checker, sourceFile, function () { return true; }) || false; } Core.isSymbolReferencedInFile = isSymbolReferencedInFile; + function eachSymbolReferenceInFile(definition, checker, sourceFile, cb) { + var symbol = checker.getSymbolAtLocation(definition); + if (!symbol) + return undefined; + for (var _i = 0, _a = getPossibleSymbolReferenceNodes(sourceFile, symbol.name); _i < _a.length; _i++) { + var token = _a[_i]; + if (!ts.isIdentifier(token) || token === definition || token.escapedText !== definition.escapedText) + continue; + var referenceSymbol = checker.getSymbolAtLocation(token); // See GH#19955 for why the type annotation is necessary + if (referenceSymbol === symbol + || checker.getShorthandAssignmentValueSymbol(token.parent) === symbol + || ts.isExportSpecifier(token.parent) && getLocalSymbolForExportSpecifier(token, referenceSymbol, token.parent, checker) === symbol) { + var res = cb(token); + if (res) + return res; + } + } + } + Core.eachSymbolReferenceInFile = eachSymbolReferenceInFile; function getPossibleSymbolReferenceNodes(sourceFile, symbolName, container) { if (container === void 0) { container = sourceFile; } return getPossibleSymbolReferencePositions(sourceFile, symbolName, container).map(function (pos) { return ts.getTouchingPropertyName(sourceFile, pos, /*includeJsDocComment*/ true); }); @@ -91210,7 +91684,8 @@ var ts; if (!(referenceLocation === propertyName && state.options.isForRename)) { var exportKind = referenceLocation.originalKeywordKind === 79 /* DefaultKeyword */ ? 1 /* Default */ : 0 /* Named */; var exportInfo = FindAllReferences.getExportInfo(referenceSymbol, exportKind, state.checker); - ts.Debug.assert(!!exportInfo); + if (!exportInfo) + return ts.Debug.fail(); searchForImportsOfExport(referenceLocation, referenceSymbol, exportInfo, state); } // At `export { x } from "foo"`, also search for the imported symbol `"foo".x`. @@ -91327,12 +91802,12 @@ var ts; for (var _i = 0, _a = classSymbol.members.get("__constructor" /* Constructor */).declarations; _i < _a.length; _i++) { var decl = _a[_i]; var ctrKeyword = ts.findChildOfKind(decl, 123 /* ConstructorKeyword */, sourceFile); - ts.Debug.assert(decl.kind === 154 /* Constructor */ && !!ctrKeyword); + ts.Debug.assert(decl.kind === 155 /* Constructor */ && !!ctrKeyword); addNode(ctrKeyword); } classSymbol.exports.forEach(function (member) { var decl = member.valueDeclaration; - if (decl && decl.kind === 153 /* MethodDeclaration */) { + if (decl && decl.kind === 154 /* MethodDeclaration */) { var body = decl.body; if (body) { forEachDescendantOfKind(body, 99 /* ThisKeyword */, function (thisKeyword) { @@ -91346,14 +91821,13 @@ var ts; } /** Find references to `super` in the constructor of an extending class. */ function findSuperConstructorAccesses(cls, addNode) { - var symbol = cls.symbol; - var ctr = symbol.members.get("__constructor" /* Constructor */); + var ctr = cls.symbol.members.get("__constructor" /* Constructor */); if (!ctr) { return; } for (var _i = 0, _a = ctr.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - ts.Debug.assert(decl.kind === 154 /* Constructor */); + ts.Debug.assert(decl.kind === 155 /* Constructor */); var body = decl.body; if (body) { forEachDescendantOfKind(body, 97 /* SuperKeyword */, function (node) { @@ -91367,13 +91841,13 @@ var ts; function addImplementationReferences(refNode, addReference, state) { // Check if we found a function/propertyAssignment/method with an implementation or initializer if (ts.isDeclarationName(refNode) && isImplementation(refNode.parent)) { - addReference(refNode.parent); + addReference(refNode); return; } if (refNode.kind !== 71 /* Identifier */) { return; } - if (refNode.parent.kind === 270 /* ShorthandPropertyAssignment */) { + if (refNode.parent.kind === 271 /* ShorthandPropertyAssignment */) { // Go ahead and dereference the shorthand assignment by going to its definition getReferenceEntriesForShorthandPropertyAssignment(refNode, state.checker, addReference); } @@ -91393,7 +91867,7 @@ var ts; } else if (ts.isFunctionLike(typeHavingNode) && typeHavingNode.body) { var body = typeHavingNode.body; - if (body.kind === 212 /* Block */) { + if (body.kind === 213 /* Block */) { ts.forEachReturnStatement(body, function (returnStatement) { if (returnStatement.expression) addIfImplementation(returnStatement.expression); @@ -91421,13 +91895,13 @@ var ts; */ function isImplementationExpression(node) { switch (node.kind) { - case 190 /* ParenthesizedExpression */: + case 191 /* ParenthesizedExpression */: return isImplementationExpression(node.expression); - case 192 /* ArrowFunction */: - case 191 /* FunctionExpression */: - case 183 /* ObjectLiteralExpression */: - case 204 /* ClassExpression */: - case 182 /* ArrayLiteralExpression */: + case 193 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 184 /* ObjectLiteralExpression */: + case 205 /* ClassExpression */: + case 183 /* ArrayLiteralExpression */: return true; default: return false; @@ -91480,13 +91954,13 @@ var ts; // Whether 'super' occurs in a static context within a class. var staticFlag = 32 /* Static */; switch (searchSpaceNode.kind) { - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: staticFlag &= ts.getModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class break; @@ -91511,34 +91985,34 @@ var ts; // Whether 'this' occurs in a static context within a class. var staticFlag = 32 /* Static */; switch (searchSpaceNode.kind) { - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: if (ts.isObjectLiteralMethod(searchSpaceNode)) { break; } // falls through - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: staticFlag &= ts.getModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class break; - case 273 /* SourceFile */: + case 274 /* SourceFile */: if (ts.isExternalModule(searchSpaceNode)) { return undefined; } // falls through - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: break; // Computed properties in classes are not handled here because references to this are illegal, // so there is no point finding references to them. default: return undefined; } - var references = ts.flatMap(searchSpaceNode.kind === 273 /* SourceFile */ ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { + var references = ts.flatMap(searchSpaceNode.kind === 274 /* SourceFile */ ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { cancellationToken.throwIfCancellationRequested(); return getPossibleSymbolReferenceNodes(sourceFile, "this", ts.isSourceFile(searchSpaceNode) ? sourceFile : searchSpaceNode).filter(function (node) { if (!ts.isThis(node)) { @@ -91546,19 +92020,19 @@ var ts; } var container = ts.getThisContainer(node, /* includeArrowFunctions */ false); switch (searchSpaceNode.kind) { - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: return searchSpaceNode.symbol === container.symbol; - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: return ts.isObjectLiteralMethod(searchSpaceNode) && searchSpaceNode.symbol === container.symbol; - case 204 /* ClassExpression */: - case 234 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 235 /* ClassDeclaration */: // Make sure the container belongs to the same class // and has the appropriate static modifier from the original container. return container.parent && searchSpaceNode.symbol === container.parent.symbol && (ts.getModifierFlags(container) & 32 /* Static */) === staticFlag; - case 273 /* SourceFile */: - return container.kind === 273 /* SourceFile */ && !ts.isExternalModule(container); + case 274 /* SourceFile */: + return container.kind === 274 /* SourceFile */ && !ts.isExternalModule(container); } }); }).map(function (n) { return FindAllReferences.nodeEntry(n); }); @@ -91643,37 +92117,11 @@ var ts; return cbSymbol(sym, rootSymbol) // Add symbol of properties/methods of the same name in base classes and implemented interfaces definitions || (rootSymbol.parent && rootSymbol.parent.flags & (32 /* Class */ | 64 /* Interface */) && allowBaseTypes(rootSymbol) - ? getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.name, checker, function (base) { return cbSymbol(sym, rootSymbol, base); }) + ? ts.getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.name, checker, function (base) { return cbSymbol(sym, rootSymbol, base); }) : undefined); }); } } - /** - * Find symbol of the given property-name and add the symbol to the given result array - * @param symbol a symbol to start searching for the given propertyName - * @param propertyName a name of property to search for - * @param result an array of symbol of found property symbols - * @param previousIterationSymbolsCache a cache of symbol from previous iterations of calling this function to prevent infinite revisiting of the same symbol. - * The value of previousIterationSymbol is undefined when the function is first called. - */ - function getPropertySymbolsFromBaseTypes(symbol, propertyName, checker, cb) { - var seen = ts.createMap(); - return recur(symbol); - function recur(symbol) { - // Use `addToSeen` to ensure we don't infinitely recurse in this situation: - // interface C extends C { - // /*findRef*/propName: string; - // } - if (!(symbol.flags & (32 /* Class */ | 64 /* Interface */)) || !ts.addToSeen(seen, ts.getSymbolId(symbol))) - return; - return ts.firstDefined(symbol.declarations, function (declaration) { return ts.firstDefined(ts.getAllSuperTypeNodes(declaration), function (typeReference) { - var type = checker.getTypeAtLocation(typeReference); - var propertySymbol = type && type.symbol && checker.getPropertyOfType(type, propertyName); - // Visit the typeReference as well to see if it directly or indirectly uses that property - return propertySymbol && (ts.firstDefined(checker.getRootSymbols(propertySymbol), cb) || recur(type.symbol)); - }); }); - } - } function getRelatedSymbol(search, referenceSymbol, referenceLocation, state) { var checker = state.checker; return forEachRelatedSymbol(referenceSymbol, referenceLocation, checker, function (sym, rootSymbol, baseSymbol) { return search.includes(baseSymbol || rootSymbol || sym) @@ -91690,7 +92138,7 @@ var ts; var name = ts.getNameFromPropertyName(node.name); var symbol = contextualType && name && contextualType.getProperty(name); return symbol ? [symbol] : - contextualType && contextualType.isUnion() ? ts.mapDefined(contextualType.types, function (t) { return t.getProperty(name); }) : ts.emptyArray; + contextualType && contextualType.isUnion() ? ts.mapDefined(contextualType.types, function (t) { return t.getProperty(name); }) : ts.emptyArray; // TODO: GH#18217 } /** * Given an initial searchMeaning, extracted from a location, widen the search scope based on the declarations @@ -91712,8 +92160,8 @@ var ts; // To achieve that we will keep iterating until the result stabilizes. // Remember the last meaning lastIterationMeaning = meaning; - for (var _i = 0, declarations_10 = declarations; _i < declarations_10.length; _i++) { - var declaration = declarations_10[_i]; + for (var _i = 0, declarations_11 = declarations; _i < declarations_11.length; _i++) { + var declaration = declarations_11[_i]; var declarationMeaning = ts.getMeaningFromDeclaration(declaration); if (declarationMeaning & meaning) { meaning |= declarationMeaning; @@ -91774,6 +92222,184 @@ var ts; })(ts || (ts = {})); /* @internal */ var ts; +(function (ts) { + function getEditsForFileRename(program, oldFileOrDirPath, newFileOrDirPath, host, formatContext, preferences) { + var useCaseSensitiveFileNames = ts.hostUsesCaseSensitiveFileNames(host); + var getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames); + var oldToNew = getPathUpdater(oldFileOrDirPath, newFileOrDirPath, getCanonicalFileName); + var newToOld = getPathUpdater(newFileOrDirPath, oldFileOrDirPath, getCanonicalFileName); + return ts.textChanges.ChangeTracker.with({ host: host, formatContext: formatContext }, function (changeTracker) { + updateTsconfigFiles(program, changeTracker, oldToNew, newFileOrDirPath, host.getCurrentDirectory(), useCaseSensitiveFileNames); + updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName, preferences); + }); + } + ts.getEditsForFileRename = getEditsForFileRename; + function getPathUpdater(oldFileOrDirPath, newFileOrDirPath, getCanonicalFileName) { + var canonicalOldPath = getCanonicalFileName(oldFileOrDirPath); + return function (path) { + var canonicalPath = getCanonicalFileName(path); + if (canonicalPath === canonicalOldPath) + return newFileOrDirPath; + var suffix = ts.tryRemoveDirectoryPrefix(canonicalPath, canonicalOldPath); + return suffix === undefined ? undefined : newFileOrDirPath + "/" + suffix; + }; + } + function updateTsconfigFiles(program, changeTracker, oldToNew, newFileOrDirPath, currentDirectory, useCaseSensitiveFileNames) { + var configFile = program.getCompilerOptions().configFile; + if (!configFile) + return; + var configDir = ts.getDirectoryPath(configFile.fileName); + var jsonObjectLiteral = ts.getTsConfigObjectLiteralExpression(configFile); + if (!jsonObjectLiteral) + return; + forEachProperty(jsonObjectLiteral, function (property, propertyName) { + switch (propertyName) { + case "files": + case "include": + case "exclude": { + var foundExactMatch = updatePaths(property); + if (!foundExactMatch && propertyName === "include" && ts.isArrayLiteralExpression(property.initializer)) { + var includes = ts.mapDefined(property.initializer.elements, function (e) { return ts.isStringLiteral(e) ? e.text : undefined; }); + var matchers = ts.getFileMatcherPatterns(configDir, /*excludes*/ [], includes, useCaseSensitiveFileNames, currentDirectory); + // If there isn't some include for this, add a new one. + if (!ts.getRegexFromPattern(ts.Debug.assertDefined(matchers.includeFilePattern), useCaseSensitiveFileNames).test(newFileOrDirPath)) { + changeTracker.insertNodeAfter(configFile, ts.last(property.initializer.elements), ts.createStringLiteral(relativePath(newFileOrDirPath))); + } + } + break; + } + case "compilerOptions": + forEachProperty(property.initializer, function (property, propertyName) { + var option = ts.getOptionFromName(propertyName); + if (option && (option.isFilePath || option.type === "list" && option.element.isFilePath)) { + updatePaths(property); + } + else if (propertyName === "paths") { + forEachProperty(property.initializer, function (pathsProperty) { + if (!ts.isArrayLiteralExpression(pathsProperty.initializer)) + return; + for (var _i = 0, _a = pathsProperty.initializer.elements; _i < _a.length; _i++) { + var e = _a[_i]; + tryUpdateString(e); + } + }); + } + }); + break; + } + }); + function updatePaths(property) { + // Type annotation needed due to #7294 + var elements = ts.isArrayLiteralExpression(property.initializer) ? property.initializer.elements : [property.initializer]; + var foundExactMatch = false; + for (var _i = 0, elements_5 = elements; _i < elements_5.length; _i++) { + var element = elements_5[_i]; + foundExactMatch = tryUpdateString(element) || foundExactMatch; + } + return foundExactMatch; + } + function tryUpdateString(element) { + if (!ts.isStringLiteral(element)) + return false; + var elementFileName = combinePathsSafe(configDir, element.text); + var updated = oldToNew(elementFileName); + if (updated !== undefined) { + changeTracker.replaceRangeWithText(configFile, createStringRange(element, configFile), relativePath(updated)); + return true; + } + return false; + } + function relativePath(path) { + return ts.getRelativePathFromDirectory(configDir, path, /*ignoreCase*/ !useCaseSensitiveFileNames); + } + } + function updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName, preferences) { + var _loop_14 = function (sourceFile) { + var newImportFromPath = oldToNew(sourceFile.fileName) || sourceFile.fileName; + var newImportFromDirectory = ts.getDirectoryPath(newImportFromPath); + var oldFromNew = newToOld(sourceFile.fileName); + var oldImportFromPath = oldFromNew || sourceFile.fileName; + var oldImportFromDirectory = ts.getDirectoryPath(oldImportFromPath); + updateImportsWorker(sourceFile, changeTracker, function (referenceText) { + if (!ts.pathIsRelative(referenceText)) + return undefined; + var oldAbsolute = combinePathsSafe(oldImportFromDirectory, referenceText); + var newAbsolute = oldToNew(oldAbsolute); + return newAbsolute === undefined ? undefined : ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(newImportFromDirectory, newAbsolute, getCanonicalFileName)); + }, function (importLiteral) { + var toImport = oldFromNew !== undefined + // If we're at the new location (file was already renamed), need to redo module resolution starting from the old location. + // TODO:GH#18217 + ? getSourceFileToImportFromResolved(ts.resolveModuleName(importLiteral.text, oldImportFromPath, program.getCompilerOptions(), host), oldToNew, program) + : getSourceFileToImport(importLiteral, sourceFile, program, host, oldToNew); + return toImport === undefined ? undefined : ts.moduleSpecifiers.getModuleSpecifier(program, sourceFile, newImportFromPath, toImport, host, preferences); + }); + }; + for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { + var sourceFile = _a[_i]; + _loop_14(sourceFile); + } + } + function combineNormal(pathA, pathB) { + return ts.normalizePath(ts.combinePaths(pathA, pathB)); + } + function combinePathsSafe(pathA, pathB) { + return ts.ensurePathIsNonModuleName(combineNormal(pathA, pathB)); + } + function getSourceFileToImport(importLiteral, importingSourceFile, program, host, oldToNew) { + var symbol = program.getTypeChecker().getSymbolAtLocation(importLiteral); + if (symbol) { + if (symbol.declarations.some(function (d) { return ts.isAmbientModule(d); })) + return undefined; // No need to update if it's an ambient module + var oldFileName = ts.find(symbol.declarations, ts.isSourceFile).fileName; + return oldToNew(oldFileName) || oldFileName; + } + else { + var resolved = host.resolveModuleNames + ? host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName) + : program.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName); + return getSourceFileToImportFromResolved(resolved, oldToNew, program); + } + } + function getSourceFileToImportFromResolved(resolved, oldToNew, program) { + return resolved && ((resolved.resolvedModule && getIfInProgram(resolved.resolvedModule.resolvedFileName)) || ts.firstDefined(resolved.failedLookupLocations, getIfInProgram)); + function getIfInProgram(oldLocation) { + var newLocation = oldToNew(oldLocation); + return program.getSourceFile(oldLocation) || newLocation !== undefined && program.getSourceFile(newLocation) + ? newLocation || oldLocation + : undefined; + } + } + function updateImportsWorker(sourceFile, changeTracker, updateRef, updateImport) { + for (var _i = 0, _a = sourceFile.referencedFiles; _i < _a.length; _i++) { + var ref = _a[_i]; + var updated = updateRef(ref.fileName); + if (updated !== undefined && updated !== sourceFile.text.slice(ref.pos, ref.end)) + changeTracker.replaceRangeWithText(sourceFile, ref, updated); + } + for (var _b = 0, _c = sourceFile.imports; _b < _c.length; _b++) { + var importStringLiteral = _c[_b]; + var updated = updateImport(importStringLiteral); + if (updated !== undefined && updated !== importStringLiteral.text) + changeTracker.replaceRangeWithText(sourceFile, createStringRange(importStringLiteral, sourceFile), updated); + } + } + function createStringRange(node, sourceFile) { + return ts.createTextRange(node.getStart(sourceFile) + 1, node.end - 1); + } + function forEachProperty(objectLiteral, cb) { + if (!ts.isObjectLiteralExpression(objectLiteral)) + return; + for (var _i = 0, _a = objectLiteral.properties; _i < _a.length; _i++) { + var property = _a[_i]; + if (ts.isPropertyAssignment(property) && ts.isStringLiteral(property.name)) { + cb(property, property.name.text); + } + } + } +})(ts || (ts = {})); +/* @internal */ +var ts; (function (ts) { var GoToDefinition; (function (GoToDefinition) { @@ -91786,10 +92412,11 @@ var ts; if (node === sourceFile) { return undefined; } + var parent = node.parent; // Labels if (ts.isJumpStatementTarget(node)) { var label = ts.getTargetLabel(node.parent, node.text); - return label ? [createDefinitionInfoFromName(label, "label" /* label */, node.text, /*containerName*/ undefined)] : undefined; + return label ? [createDefinitionInfoFromName(label, "label" /* label */, node.text, /*containerName*/ undefined)] : undefined; // TODO: GH#18217 } var typeChecker = program.getTypeChecker(); var symbol = getSymbol(node, typeChecker); @@ -91805,7 +92432,7 @@ var ts; // If this is the original constructor definition, parent is the class. return typeChecker.getRootSymbols(symbol).some(function (s) { return calledDeclaration.symbol === s || calledDeclaration.symbol.parent === s; }) || // TODO: GH#23742 Following check shouldn't be necessary if 'require' is an alias - symbol.declarations.some(function (d) { return ts.isVariableDeclaration(d) && d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ false); }) + symbol.declarations.some(function (d) { return ts.isVariableDeclaration(d) && !!d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ false); }) ? [sigInfo] : [sigInfo].concat(getDefinitionFromSymbol(typeChecker, symbol, node)); } @@ -91814,7 +92441,7 @@ var ts; // go to the declaration of the property name (in this case stay at the same position). However, if go-to-definition // is performed at the location of property access, we would like to go to definition of the property in the short-hand // assignment. This case and others are handled by the following code. - if (node.parent.kind === 270 /* ShorthandPropertyAssignment */) { + if (node.parent.kind === 271 /* ShorthandPropertyAssignment */) { var shorthandSymbol_1 = typeChecker.getShorthandAssignmentValueSymbol(symbol.valueDeclaration); return shorthandSymbol_1 ? shorthandSymbol_1.declarations.map(function (decl) { return createDefinitionInfo(decl, typeChecker, shorthandSymbol_1, node); }) : []; } @@ -91829,9 +92456,9 @@ var ts; // pr/*destination*/op1: number // } // bar(({pr/*goto*/op1})=>{}); - if (ts.isPropertyName(node) && ts.isBindingElement(node.parent) && ts.isObjectBindingPattern(node.parent.parent) && - (node === (node.parent.propertyName || node.parent.name))) { - var type = typeChecker.getTypeAtLocation(node.parent.parent); + if (ts.isPropertyName(node) && ts.isBindingElement(parent) && ts.isObjectBindingPattern(parent.parent) && + (node === (parent.propertyName || parent.name))) { + var type = typeChecker.getTypeAtLocation(parent.parent); if (type) { var propSymbols = ts.getPropertySymbolsFromType(type, node); if (propSymbols) { @@ -91866,7 +92493,7 @@ var ts; var typeReferenceDirective = findReferenceInPosition(sourceFile.typeReferenceDirectives, position); if (typeReferenceDirective) { var reference = program.getResolvedTypeReferenceDirectives().get(typeReferenceDirective.fileName); - var file_17 = reference && program.getSourceFile(reference.resolvedFileName); + var file_17 = reference && program.getSourceFile(reference.resolvedFileName); // TODO:GH#18217 return file_17 && { fileName: typeReferenceDirective.fileName, file: file_17 }; } return undefined; @@ -91883,7 +92510,7 @@ var ts; if (!type) { return undefined; } - if (type.isUnion() && !(type.flags & 16 /* Enum */)) { + if (type.isUnion() && !(type.flags & 32 /* Enum */)) { return ts.flatMap(type.types, function (t) { return t.symbol && getDefinitionFromSymbol(typeChecker, t.symbol, node); }); } return type.symbol && getDefinitionFromSymbol(typeChecker, type.symbol, node); @@ -91941,11 +92568,11 @@ var ts; return true; } switch (declaration.kind) { - case 244 /* ImportClause */: - case 242 /* ImportEqualsDeclaration */: + case 245 /* ImportClause */: + case 243 /* ImportEqualsDeclaration */: return true; - case 247 /* ImportSpecifier */: - return declaration.parent.kind === 246 /* NamedImports */; + case 248 /* ImportSpecifier */: + return declaration.parent.kind === 247 /* NamedImports */; default: return false; } @@ -92009,14 +92636,14 @@ var ts; kind: "script" /* scriptElement */, name: name, containerName: undefined, - containerKind: undefined + containerKind: undefined, }; } /** Returns a CallLikeExpression where `node` is the target being invoked. */ function getAncestorCallLikeExpression(node) { var target = climbPastManyPropertyAccesses(node); var callLike = target.parent; - return callLike && ts.isCallLikeExpression(callLike) && ts.getInvokedExpression(callLike) === target && callLike; + return callLike && ts.isCallLikeExpression(callLike) && ts.getInvokedExpression(callLike) === target ? callLike : undefined; } function climbPastManyPropertyAccesses(node) { return ts.isRightSideOfPropertyAccess(node) ? climbPastManyPropertyAccesses(node.parent) : node; @@ -92104,11 +92731,11 @@ var ts; JsDoc.getJsDocCommentsFromDeclarations = getJsDocCommentsFromDeclarations; function getCommentHavingNodes(declaration) { switch (declaration.kind) { - case 292 /* JSDocParameterTag */: - case 297 /* JSDocPropertyTag */: + case 293 /* JSDocParameterTag */: + case 298 /* JSDocPropertyTag */: return [declaration]; - case 291 /* JSDocCallbackTag */: - case 296 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 297 /* JSDocTypedefTag */: return [declaration, declaration.parent]; default: return ts.getJSDocCommentsAndTags(declaration); @@ -92129,16 +92756,16 @@ var ts; function getCommentText(tag) { var comment = tag.comment; switch (tag.kind) { - case 289 /* JSDocAugmentsTag */: + case 290 /* JSDocAugmentsTag */: return withNode(tag.class); - case 295 /* JSDocTemplateTag */: + case 296 /* JSDocTemplateTag */: return withList(tag.typeParameters); - case 294 /* JSDocTypeTag */: + case 295 /* JSDocTypeTag */: return withNode(tag.typeExpression); - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: - case 297 /* JSDocPropertyTag */: - case 292 /* JSDocParameterTag */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: + case 298 /* JSDocPropertyTag */: + case 293 /* JSDocParameterTag */: var name = tag.name; return name ? withNode(name) : comment; default: @@ -92220,7 +92847,7 @@ var ts; if (!ts.isIdentifier(param.name)) return undefined; var name = param.name.text; - if (jsdoc.tags.some(function (t) { return t !== tag && ts.isJSDocParameterTag(t) && ts.isIdentifier(t.name) && t.name.escapedText === name; }) + if (jsdoc.tags.some(function (t) { return t !== tag && ts.isJSDocParameterTag(t) && ts.isIdentifier(t.name) && t.name.escapedText === name; }) // TODO: GH#18217 || nameThusFar !== undefined && !ts.startsWith(name, nameThusFar)) { return undefined; } @@ -92269,7 +92896,7 @@ var ts; return undefined; } var tokenAtPos = ts.getTokenAtPosition(sourceFile, position, /*includeJsDocComment*/ false); - var tokenStart = tokenAtPos.getStart(); + var tokenStart = tokenAtPos.getStart(sourceFile); if (!tokenAtPos || tokenStart < position) { return undefined; } @@ -92278,7 +92905,7 @@ var ts; return undefined; } var commentOwner = commentOwnerInfo.commentOwner, parameters = commentOwnerInfo.parameters; - if (commentOwner.getStart() < position) { + if (commentOwner.getStart(sourceFile) < position) { return undefined; } if (!parameters || parameters.length === 0) { @@ -92290,18 +92917,6 @@ var ts; var lineStart = sourceFile.getLineStarts()[posLineAndChar.line]; // replace non-whitespace characters in prefix with spaces. var indentationStr = sourceFile.text.substr(lineStart, posLineAndChar.character).replace(/\S/i, function () { return " "; }); - var isJavaScriptFile = ts.hasJavaScriptFileExtension(sourceFile.fileName); - var docParams = ""; - for (var i = 0; i < parameters.length; i++) { - var currentName = parameters[i].name; - var paramName = currentName.kind === 71 /* Identifier */ ? currentName.escapedText : "param" + i; - if (isJavaScriptFile) { - docParams += indentationStr + " * @param {any} " + paramName + newLine; - } - else { - docParams += indentationStr + " * @param " + paramName + newLine; - } - } // A doc comment consists of the following // * The opening comment line // * the first line (without a param) for the object's untagged info (this is also where the caret ends up) @@ -92312,29 +92927,37 @@ var ts; var preamble = "/**" + newLine + indentationStr + " * "; var result = preamble + newLine + - docParams + + parameterDocComments(parameters, ts.hasJavaScriptFileExtension(sourceFile.fileName), indentationStr, newLine) + indentationStr + " */" + (tokenStart === position ? newLine + indentationStr : ""); return { newText: result, caretOffset: preamble.length }; } JsDoc.getDocCommentTemplateAtPosition = getDocCommentTemplateAtPosition; + function parameterDocComments(parameters, isJavaScriptFile, indentationStr, newLine) { + return parameters.map(function (_a, i) { + var name = _a.name, dotDotDotToken = _a.dotDotDotToken; + var paramName = name.kind === 71 /* Identifier */ ? name.text : "param" + i; + var type = isJavaScriptFile ? (dotDotDotToken ? "{...any} " : "{any} ") : ""; + return indentationStr + " * @param " + type + paramName + newLine; + }).join(""); + } function getCommentOwnerInfo(tokenAtPos) { for (var commentOwner = tokenAtPos; commentOwner; commentOwner = commentOwner.parent) { switch (commentOwner.kind) { - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: - case 152 /* MethodSignature */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: + case 153 /* MethodSignature */: var parameters = commentOwner.parameters; return { commentOwner: commentOwner, parameters: parameters }; - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 150 /* PropertySignature */: - case 237 /* EnumDeclaration */: - case 272 /* EnumMember */: - case 236 /* TypeAliasDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 151 /* PropertySignature */: + case 238 /* EnumDeclaration */: + case 273 /* EnumMember */: + case 237 /* TypeAliasDeclaration */: return { commentOwner: commentOwner }; - case 213 /* VariableStatement */: { + case 214 /* VariableStatement */: { var varStatement = commentOwner; var varDeclarations = varStatement.declarationList.declarations; var parameters_1 = varDeclarations.length === 1 && varDeclarations[0].initializer @@ -92342,14 +92965,14 @@ var ts; : undefined; return { commentOwner: commentOwner, parameters: parameters_1 }; } - case 273 /* SourceFile */: + case 274 /* SourceFile */: return undefined; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: // If in walking up the tree, we hit a a nested namespace declaration, // then we must be somewhere within a dotted namespace name; however we don't // want to give back a JSDoc template for the 'b' or 'c' in 'namespace a.b.c { }'. - return commentOwner.parent.kind === 238 /* ModuleDeclaration */ ? undefined : { commentOwner: commentOwner }; - case 199 /* BinaryExpression */: { + return commentOwner.parent.kind === 239 /* ModuleDeclaration */ ? undefined : { commentOwner: commentOwner }; + case 200 /* BinaryExpression */: { var be = commentOwner; if (ts.getSpecialPropertyAssignmentKind(be) === 0 /* None */) { return undefined; @@ -92369,16 +92992,16 @@ var ts; * @returns the parameters of a signature found on the RHS if one exists; otherwise 'emptyArray'. */ function getParametersFromRightHandSideOfAssignment(rightHandSide) { - while (rightHandSide.kind === 190 /* ParenthesizedExpression */) { + while (rightHandSide.kind === 191 /* ParenthesizedExpression */) { rightHandSide = rightHandSide.expression; } switch (rightHandSide.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return rightHandSide.parameters; - case 204 /* ClassExpression */: { + case 205 /* ClassExpression */: { var ctr = ts.find(rightHandSide.members, ts.isConstructorDeclaration); - return ctr && ctr.parameters; + return ctr ? ctr.parameters : ts.emptyArray; } } return ts.emptyArray; @@ -92562,7 +93185,8 @@ var ts; } // Add the cached typing locations for inferred typings that are already installed packageNameToTypingLocation.forEach(function (typing, name) { - if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && isTypingUpToDate(typing, typesRegistry.get(name))) { + var registryEntry = typesRegistry.get(name); + if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && registryEntry !== undefined && isTypingUpToDate(typing, registryEntry)) { inferredTypings.set(name, typing.typingLocation); } }); @@ -92589,7 +93213,7 @@ var ts; return result; function addInferredTyping(typingName) { if (!inferredTypings.has(typingName)) { - inferredTypings.set(typingName, undefined); + inferredTypings.set(typingName, undefined); // TODO: GH#18217 } } function addInferredTypings(typingNames, message) { @@ -92740,7 +93364,7 @@ var ts; case 0 /* Ok */: return ts.Debug.fail(); // Shouldn't have called this. default: - ts.Debug.assertNever(result); + throw ts.Debug.assertNever(result); } } JsTyping.renderPackageNameValidationFailure = renderPackageNameValidationFailure; @@ -92756,7 +93380,7 @@ var ts; if (!patternMatcher) return ts.emptyArray; var rawItems = []; - var _loop_14 = function (sourceFile) { + var _loop_15 = function (sourceFile) { cancellationToken.throwIfCancellationRequested(); if (excludeDtsFiles && ts.fileExtensionIs(sourceFile.fileName, ".d.ts" /* Dts */)) { return "continue"; @@ -92768,7 +93392,7 @@ var ts; // Search the declarations in all files and output matched NavigateToItem into array of NavigateToItem[] for (var _i = 0, sourceFiles_7 = sourceFiles; _i < sourceFiles_7.length; _i++) { var sourceFile = sourceFiles_7[_i]; - _loop_14(sourceFile); + _loop_15(sourceFile); } rawItems.sort(compareNavigateToItems); if (maxResultCount !== undefined) { @@ -92784,12 +93408,12 @@ var ts; if (!match) { return; // continue to next named declarations } - for (var _i = 0, declarations_11 = declarations; _i < declarations_11.length; _i++) { - var declaration = declarations_11[_i]; + for (var _i = 0, declarations_12 = declarations; _i < declarations_12.length; _i++) { + var declaration = declarations_12[_i]; if (!shouldKeepItem(declaration, checker)) continue; if (patternMatcher.patternContainsDots) { - var fullMatch = patternMatcher.getFullMatch(getContainers(declaration), name); + var fullMatch = patternMatcher.getFullMatch(getContainers(declaration), name); // TODO: GH#18217 if (fullMatch) { rawItems.push({ name: name, fileName: fileName, matchKind: fullMatch.kind, isCaseSensitive: fullMatch.isCaseSensitive, declaration: declaration }); } @@ -92802,9 +93426,9 @@ var ts; } function shouldKeepItem(declaration, checker) { switch (declaration.kind) { - case 244 /* ImportClause */: - case 247 /* ImportSpecifier */: - case 242 /* ImportEqualsDeclaration */: + case 245 /* ImportClause */: + case 248 /* ImportSpecifier */: + case 243 /* ImportEqualsDeclaration */: var importer = checker.getSymbolAtLocation(declaration.name); var imported = checker.getAliasedSymbol(importer); return importer.escapedName !== imported.escapedName; @@ -92818,7 +93442,7 @@ var ts; containers.unshift(ts.getTextOfIdentifierOrLiteral(name)); return true; } - else if (name && name.kind === 146 /* ComputedPropertyName */) { + else if (name && name.kind === 147 /* ComputedPropertyName */) { return tryAddComputedPropertyName(name.expression, containers, /*includeLastPortion*/ true); } else { @@ -92850,16 +93474,16 @@ var ts; // First, if we started with a computed property name, then add all but the last // portion into the container array. var name = ts.getNameOfDeclaration(declaration); - if (name.kind === 146 /* ComputedPropertyName */ && !tryAddComputedPropertyName(name.expression, containers, /*includeLastPortion*/ false)) { + if (name.kind === 147 /* ComputedPropertyName */ && !tryAddComputedPropertyName(name.expression, containers, /*includeLastPortion*/ false)) { return undefined; } // Now, walk up our containers, adding all their names to the container array. - declaration = ts.getContainerNode(declaration); - while (declaration) { - if (!tryAddSingleDeclarationName(declaration, containers)) { + var container = ts.getContainerNode(declaration); + while (container) { + if (!tryAddSingleDeclarationName(container, containers)) { return undefined; } - declaration = ts.getContainerNode(declaration); + container = ts.getContainerNode(container); } return containers; } @@ -92882,7 +93506,7 @@ var ts; textSpan: ts.createTextSpanFromNode(declaration), // TODO(jfreeman): What should be the containerName when the container has a computed name? containerName: containerName ? containerName.text : "", - containerKind: containerName ? ts.getNodeKind(container) : "" /* unknown */ + containerKind: containerName ? ts.getNodeKind(container) : "" /* unknown */ // TODO: GH#18217 Just use `container ? ...` }; } })(NavigateTo = ts.NavigateTo || (ts.NavigateTo = {})); @@ -93016,7 +93640,7 @@ var ts; return; } switch (node.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: // Get parameter properties, and treat them as being on the *same* level as the constructor, not under it. var ctr = node; addNodeWithRecursiveChild(ctr, ctr.body); @@ -93028,21 +93652,21 @@ var ts; } } break; - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 152 /* MethodSignature */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 153 /* MethodSignature */: if (!ts.hasDynamicName(node)) { addNodeWithRecursiveChild(node, node.body); } break; - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: if (!ts.hasDynamicName(node)) { addLeafNode(node); } break; - case 244 /* ImportClause */: + case 245 /* ImportClause */: var importClause = node; // Handle default import case e.g.: // import d from "mod"; @@ -93054,7 +93678,7 @@ var ts; // import {a, b as B} from "mod"; var namedBindings = importClause.namedBindings; if (namedBindings) { - if (namedBindings.kind === 245 /* NamespaceImport */) { + if (namedBindings.kind === 246 /* NamespaceImport */) { addLeafNode(namedBindings); } else { @@ -93065,8 +93689,8 @@ var ts; } } break; - case 181 /* BindingElement */: - case 231 /* VariableDeclaration */: + case 182 /* BindingElement */: + case 232 /* VariableDeclaration */: var _d = node, name = _d.name, initializer = _d.initializer; if (ts.isBindingPattern(name)) { addChildrenRecursively(name); @@ -93087,12 +93711,12 @@ var ts; addNodeWithRecursiveChild(node, initializer); } break; - case 192 /* ArrowFunction */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: addNodeWithRecursiveChild(node, node.body); break; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: startNode(node); for (var _e = 0, _f = node.members; _e < _f.length; _e++) { var member = _f[_e]; @@ -93102,9 +93726,9 @@ var ts; } endNode(); break; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: startNode(node); for (var _g = 0, _h = node.members; _g < _h.length; _g++) { var member = _h[_g]; @@ -93112,18 +93736,18 @@ var ts; } endNode(); break; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: addNodeWithRecursiveChild(node, getInteriorModule(node).body); break; - case 251 /* ExportSpecifier */: - case 242 /* ImportEqualsDeclaration */: - case 159 /* IndexSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 236 /* TypeAliasDeclaration */: + case 252 /* ExportSpecifier */: + case 243 /* ImportEqualsDeclaration */: + case 160 /* IndexSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 237 /* TypeAliasDeclaration */: addLeafNode(node); break; - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var special = ts.getSpecialPropertyAssignmentKind(node); switch (special) { case 1 /* ExportsProperty */: @@ -93202,12 +93826,12 @@ var ts; return false; } switch (a.kind) { - case 151 /* PropertyDeclaration */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 152 /* PropertyDeclaration */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: return ts.hasModifier(a, 32 /* Static */) === ts.hasModifier(b, 32 /* Static */); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return areSameModule(a, b); default: return true; @@ -93216,7 +93840,8 @@ var ts; // We use 1 NavNode to represent 'A.B.C', but there are multiple source nodes. // Only merge module nodes that have the same chain. Don't merge 'A.B.C' with 'A'! function areSameModule(a, b) { - return a.body.kind === b.body.kind && (a.body.kind !== 238 /* ModuleDeclaration */ || areSameModule(a.body, b.body)); + // TODO: GH#18217 + return a.body.kind === b.body.kind && (a.body.kind !== 239 /* ModuleDeclaration */ || areSameModule(a.body, b.body)); } /** Merge source into target. Source should be thrown away after this is called. */ function merge(target, source) { @@ -93237,7 +93862,7 @@ var ts; children.sort(compareChildren); } function compareChildren(child1, child2) { - return ts.compareStringsCaseSensitiveUI(tryGetName(child1.node), tryGetName(child2.node)) + return ts.compareStringsCaseSensitiveUI(tryGetName(child1.node), tryGetName(child2.node)) // TODO: GH#18217 || ts.compareValues(navigationBarNodeKind(child1), navigationBarNodeKind(child2)); } /** @@ -93246,24 +93871,24 @@ var ts; * So `new()` can still come before an `aardvark` method. */ function tryGetName(node) { - if (node.kind === 238 /* ModuleDeclaration */) { + if (node.kind === 239 /* ModuleDeclaration */) { return getModuleName(node); } var declName = ts.getNameOfDeclaration(node); if (declName) { - return ts.unescapeLeadingUnderscores(ts.getPropertyNameForPropertyNameNode(declName)); + return ts.unescapeLeadingUnderscores(ts.getPropertyNameForPropertyNameNode(declName)); // TODO: GH#18217 } switch (node.kind) { - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 204 /* ClassExpression */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 205 /* ClassExpression */: return getFunctionOrClassName(node); default: return undefined; } } function getItemName(node) { - if (node.kind === 238 /* ModuleDeclaration */) { + if (node.kind === 239 /* ModuleDeclaration */) { return getModuleName(node); } var name = ts.getNameOfDeclaration(node); @@ -93274,16 +93899,16 @@ var ts; } } switch (node.kind) { - case 273 /* SourceFile */: + case 274 /* SourceFile */: var sourceFile = node; return ts.isExternalModule(sourceFile) ? "\"" + ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(sourceFile.fileName)))) + "\"" : ""; - case 192 /* ArrowFunction */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: + case 193 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: if (ts.getModifierFlags(node) & 512 /* Default */) { return "default"; } @@ -93291,13 +93916,13 @@ var ts; // (eg: "app\n.onactivated"), so we should remove the whitespace for readabiltiy in the // navigation bar. return getFunctionOrClassName(node); - case 154 /* Constructor */: + case 155 /* Constructor */: return "constructor"; - case 158 /* ConstructSignature */: + case 159 /* ConstructSignature */: return "new()"; - case 157 /* CallSignature */: + case 158 /* CallSignature */: return "()"; - case 159 /* IndexSignature */: + case 160 /* IndexSignature */: return "[]"; default: return ""; @@ -93321,25 +93946,25 @@ var ts; return topLevel; function isTopLevel(item) { switch (navigationBarNodeKind(item)) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 237 /* EnumDeclaration */: - case 235 /* InterfaceDeclaration */: - case 238 /* ModuleDeclaration */: - case 273 /* SourceFile */: - case 236 /* TypeAliasDeclaration */: - case 296 /* JSDocTypedefTag */: - case 291 /* JSDocCallbackTag */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 238 /* EnumDeclaration */: + case 236 /* InterfaceDeclaration */: + case 239 /* ModuleDeclaration */: + case 274 /* SourceFile */: + case 237 /* TypeAliasDeclaration */: + case 297 /* JSDocTypedefTag */: + case 292 /* JSDocCallbackTag */: return true; - case 154 /* Constructor */: - case 153 /* MethodDeclaration */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 231 /* VariableDeclaration */: + case 155 /* Constructor */: + case 154 /* MethodDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 232 /* VariableDeclaration */: return hasSomeImportantChild(item); - case 192 /* ArrowFunction */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: return isTopLevelFunctionDeclaration(item); default: return false; @@ -93349,19 +93974,19 @@ var ts; return false; } switch (navigationBarNodeKind(item.parent)) { - case 239 /* ModuleBlock */: - case 273 /* SourceFile */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: + case 240 /* ModuleBlock */: + case 274 /* SourceFile */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: return true; default: return hasSomeImportantChild(item); } } function hasSomeImportantChild(item) { - return ts.forEach(item.children, function (child) { + return ts.some(item.children, function (child) { var childKind = navigationBarNodeKind(child); - return childKind !== 231 /* VariableDeclaration */ && childKind !== 181 /* BindingElement */; + return childKind !== 232 /* VariableDeclaration */ && childKind !== 182 /* BindingElement */; }); } } @@ -93417,7 +94042,7 @@ var ts; // Otherwise, we need to aggregate each identifier to build up the qualified name. var result = []; result.push(ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)); - while (moduleDeclaration.body && moduleDeclaration.body.kind === 238 /* ModuleDeclaration */) { + while (moduleDeclaration.body && moduleDeclaration.body.kind === 239 /* ModuleDeclaration */) { moduleDeclaration = moduleDeclaration.body; result.push(ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)); } @@ -93428,16 +94053,16 @@ var ts; * We store 'A' as associated with a NavNode, and use getModuleName to traverse down again. */ function getInteriorModule(decl) { - return decl.body.kind === 238 /* ModuleDeclaration */ ? getInteriorModule(decl.body) : decl; + return decl.body.kind === 239 /* ModuleDeclaration */ ? getInteriorModule(decl.body) : decl; // TODO: GH#18217 } function isComputedProperty(member) { - return !member.name || member.name.kind === 146 /* ComputedPropertyName */; + return !member.name || member.name.kind === 147 /* ComputedPropertyName */; } function getNodeSpan(node) { - return node.kind === 273 /* SourceFile */ ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); + return node.kind === 274 /* SourceFile */ ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); } function getModifiers(node) { - if (node.parent && node.parent.kind === 231 /* VariableDeclaration */) { + if (node.parent && node.parent.kind === 232 /* VariableDeclaration */) { node = node.parent; } return ts.getNodeModifiers(node); @@ -93447,16 +94072,16 @@ var ts; return ts.declarationNameToString(node.name); } // See if it is a var initializer. If so, use the var name. - else if (node.parent.kind === 231 /* VariableDeclaration */) { + else if (node.parent.kind === 232 /* VariableDeclaration */) { return ts.declarationNameToString(node.parent.name); } // See if it is of the form " = function(){...}". If so, use the text from the left-hand side. - else if (node.parent.kind === 199 /* BinaryExpression */ && + else if (node.parent.kind === 200 /* BinaryExpression */ && node.parent.operatorToken.kind === 58 /* EqualsToken */) { return nodeText(node.parent.left).replace(whiteSpaceRegex, ""); } // See if it is a property assignment, and if so use the property name - else if (node.parent.kind === 269 /* PropertyAssignment */ && node.parent.name) { + else if (node.parent.kind === 270 /* PropertyAssignment */ && node.parent.name) { return nodeText(node.parent.name); } // Default exports are named "default" @@ -93469,9 +94094,9 @@ var ts; } function isFunctionOrClassExpression(node) { switch (node.kind) { - case 192 /* ArrowFunction */: - case 191 /* FunctionExpression */: - case 204 /* ClassExpression */: + case 193 /* ArrowFunction */: + case 192 /* FunctionExpression */: + case 205 /* ClassExpression */: return true; default: return false; @@ -93501,7 +94126,7 @@ var ts; organizeImportsWorker(topLevelExportDecls, coalesceExports); for (var _i = 0, _a = sourceFile.statements.filter(ts.isAmbientModule); _i < _a.length; _i++) { var ambientModule = _a[_i]; - var ambientModuleBody = getModuleBlock(ambientModule); + var ambientModuleBody = getModuleBlock(ambientModule); // TODO: GH#18217 var ambientModuleImportDecls = ambientModuleBody.statements.filter(ts.isImportDeclaration); organizeImportsWorker(ambientModuleImportDecls, coalesceAndOrganizeImports); var ambientModuleExportDecls = ambientModuleBody.statements.filter(ts.isExportDeclaration); @@ -93549,12 +94174,12 @@ var ts; OrganizeImports.organizeImports = organizeImports; function getModuleBlock(moduleDecl) { var body = moduleDecl.body; - return body && !ts.isIdentifier(body) && (ts.isModuleBlock(body) ? body : getModuleBlock(body)); + return body && !ts.isIdentifier(body) ? (ts.isModuleBlock(body) ? body : getModuleBlock(body)) : undefined; } function removeUnusedImports(oldImports, sourceFile, program) { var typeChecker = program.getTypeChecker(); var jsxNamespace = typeChecker.getJsxNamespace(); - var jsxContext = sourceFile.languageVariant === 1 /* JSX */ && program.getCompilerOptions().jsx; + var jsxElementsPresent = !!(sourceFile.transformFlags & 4 /* ContainsJsx */); var usedImports = []; for (var _i = 0, oldImports_1 = oldImports; _i < oldImports_1.length; _i++) { var importDecl = oldImports_1[_i]; @@ -93592,8 +94217,8 @@ var ts; } return usedImports; function isDeclarationUsed(identifier) { - // The JSX factory symbol is always used. - return jsxContext && (identifier.text === jsxNamespace) || ts.FindAllReferences.Core.isSymbolReferencedInFile(identifier, typeChecker, sourceFile); + // The JSX factory symbol is always used if JSX elements are present - even if they are not allowed. + return jsxElementsPresent && (identifier.text === jsxNamespace) || ts.FindAllReferences.Core.isSymbolReferencedInFile(identifier, typeChecker, sourceFile); } } function getExternalModuleName(specifier) { @@ -93619,16 +94244,16 @@ var ts; if (defaultImports.length === 1 && namespaceImports.length === 1 && namedImports.length === 0) { // Add the namespace import to the existing default ImportDeclaration. var defaultImport = defaultImports[0]; - coalescedImports.push(updateImportDeclarationAndClause(defaultImport, defaultImport.importClause.name, namespaceImports[0].importClause.namedBindings)); + coalescedImports.push(updateImportDeclarationAndClause(defaultImport, defaultImport.importClause.name, namespaceImports[0].importClause.namedBindings)); // TODO: GH#18217 return coalescedImports; } var sortedNamespaceImports = ts.stableSort(namespaceImports, function (i1, i2) { return compareIdentifiers(i1.importClause.namedBindings.name, i2.importClause.namedBindings.name); - }); + }); // TODO: GH#18217 for (var _i = 0, sortedNamespaceImports_1 = sortedNamespaceImports; _i < sortedNamespaceImports_1.length; _i++) { var namespaceImport = sortedNamespaceImports_1[_i]; // Drop the name, if any - coalescedImports.push(updateImportDeclarationAndClause(namespaceImport, /*name*/ undefined, namespaceImport.importClause.namedBindings)); + coalescedImports.push(updateImportDeclarationAndClause(namespaceImport, /*name*/ undefined, namespaceImport.importClause.namedBindings)); // TODO: GH#18217 } if (defaultImports.length === 0 && namedImports.length === 0) { return coalescedImports; @@ -93641,10 +94266,10 @@ var ts; else { for (var _b = 0, defaultImports_1 = defaultImports; _b < defaultImports_1.length; _b++) { var defaultImport = defaultImports_1[_b]; - newImportSpecifiers.push(ts.createImportSpecifier(ts.createIdentifier("default"), defaultImport.importClause.name)); + newImportSpecifiers.push(ts.createImportSpecifier(ts.createIdentifier("default"), defaultImport.importClause.name)); // TODO: GH#18217 } } - newImportSpecifiers.push.apply(newImportSpecifiers, ts.flatMap(namedImports, function (i) { return i.importClause.namedBindings.elements; })); + newImportSpecifiers.push.apply(newImportSpecifiers, ts.flatMap(namedImports, function (i) { return i.importClause.namedBindings.elements; })); // TODO: GH#18217 var sortedImportSpecifiers = sortSpecifiers(newImportSpecifiers); var importDecl = defaultImports.length > 0 ? defaultImports[0] @@ -93655,7 +94280,7 @@ var ts; : ts.createNamedImports(ts.emptyArray) : namedImports.length === 0 ? ts.createNamedImports(sortedImportSpecifiers) - : ts.updateNamedImports(namedImports[0].importClause.namedBindings, sortedImportSpecifiers); + : ts.updateNamedImports(namedImports[0].importClause.namedBindings, sortedImportSpecifiers); // TODO: GH#18217 coalescedImports.push(updateImportDeclarationAndClause(importDecl, newDefaultImport, newNamedImports)); return coalescedImports; /* @@ -93749,7 +94374,8 @@ var ts; } OrganizeImports.coalesceExports = coalesceExports; function updateImportDeclarationAndClause(importDeclaration, name, namedBindings) { - return ts.updateImportDeclaration(importDeclaration, importDeclaration.decorators, importDeclaration.modifiers, ts.updateImportClause(importDeclaration.importClause, name, namedBindings), importDeclaration.moduleSpecifier); + return ts.updateImportDeclaration(importDeclaration, importDeclaration.decorators, importDeclaration.modifiers, ts.updateImportClause(importDeclaration.importClause, name, namedBindings), // TODO: GH#18217 + importDeclaration.moduleSpecifier); } function sortSpecifiers(specifiers) { return ts.stableSort(specifiers, function (s1, s2) { @@ -93773,73 +94399,6 @@ var ts; })(ts || (ts = {})); /* @internal */ var ts; -(function (ts) { - function getEditsForFileRename(program, oldFilePath, newFilePath, host, formatContext) { - var pathUpdater = getPathUpdater(oldFilePath, newFilePath, host); - return ts.textChanges.ChangeTracker.with({ host: host, formatContext: formatContext }, function (changeTracker) { - updateTsconfigFiles(program, changeTracker, oldFilePath, newFilePath); - for (var _i = 0, _a = getImportsToUpdate(program, oldFilePath, host); _i < _a.length; _i++) { - var _b = _a[_i], sourceFile = _b.sourceFile, toUpdate = _b.toUpdate; - var newPath = pathUpdater(isRef(toUpdate) ? toUpdate.fileName : toUpdate.text); - if (newPath !== undefined) { - var range = isRef(toUpdate) ? toUpdate : createStringRange(toUpdate, sourceFile); - changeTracker.replaceRangeWithText(sourceFile, range, isRef(toUpdate) ? newPath : ts.removeFileExtension(newPath)); - } - } - }); - } - ts.getEditsForFileRename = getEditsForFileRename; - function updateTsconfigFiles(program, changeTracker, oldFilePath, newFilePath) { - var configFile = program.getCompilerOptions().configFile; - var oldFile = ts.getTsConfigPropArrayElementValue(configFile, "files", oldFilePath); - if (oldFile) { - changeTracker.replaceRangeWithText(configFile, createStringRange(oldFile, configFile), newFilePath); - } - } - function isRef(toUpdate) { - return "fileName" in toUpdate; - } - function getImportsToUpdate(program, oldFilePath, host) { - var checker = program.getTypeChecker(); - var result = []; - for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { - var sourceFile = _a[_i]; - for (var _b = 0, _c = sourceFile.referencedFiles; _b < _c.length; _b++) { - var ref = _c[_b]; - if (!program.getSourceFileFromReference(sourceFile, ref) && ts.resolveTripleslashReference(ref.fileName, sourceFile.fileName) === oldFilePath) { - result.push({ sourceFile: sourceFile, toUpdate: ref }); - } - } - for (var _d = 0, _e = sourceFile.imports; _d < _e.length; _d++) { - var importStringLiteral = _e[_d]; - // If it resolved to something already, ignore. - if (checker.getSymbolAtLocation(importStringLiteral)) - continue; - var resolved = host.resolveModuleNames - ? host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importStringLiteral.text, sourceFile.fileName) - : program.getResolvedModuleWithFailedLookupLocationsFromCache(importStringLiteral.text, sourceFile.fileName); - if (resolved && ts.contains(resolved.failedLookupLocations, oldFilePath)) { - result.push({ sourceFile: sourceFile, toUpdate: importStringLiteral }); - } - } - } - return result; - } - function getPathUpdater(oldFilePath, newFilePath, host) { - // Get the relative path from old to new location, and append it on to the end of imports and normalize. - var rel = ts.getRelativePathFromFile(oldFilePath, newFilePath, ts.createGetCanonicalFileName(ts.hostUsesCaseSensitiveFileNames(host))); - return function (oldPath) { - if (!ts.pathIsRelative(oldPath)) - return; - return ts.ensurePathIsNonModuleName(ts.normalizePath(ts.combinePaths(ts.getDirectoryPath(oldPath), rel))); - }; - } - function createStringRange(node, sourceFile) { - return ts.createTextRange(node.getStart(sourceFile) + 1, node.end - 1); - } -})(ts || (ts = {})); -/* @internal */ -var ts; (function (ts) { var OutliningElementsCollector; (function (OutliningElementsCollector) { @@ -93964,24 +94523,24 @@ var ts; } function getOutliningSpanForNode(n, sourceFile) { switch (n.kind) { - case 212 /* Block */: + case 213 /* Block */: if (ts.isFunctionBlock(n)) { - return spanForNode(n.parent, /*autoCollapse*/ n.parent.kind !== 192 /* ArrowFunction */); + return spanForNode(n.parent, /*autoCollapse*/ n.parent.kind !== 193 /* ArrowFunction */); } // Check if the block is standalone, or 'attached' to some parent statement. // If the latter, we want to collapse the block, but consider its hint span // to be the entire span of the parent. switch (n.parent.kind) { - case 217 /* DoStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 219 /* ForStatement */: - case 216 /* IfStatement */: - case 218 /* WhileStatement */: - case 225 /* WithStatement */: - case 268 /* CatchClause */: + case 218 /* DoStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 220 /* ForStatement */: + case 217 /* IfStatement */: + case 219 /* WhileStatement */: + case 226 /* WithStatement */: + case 269 /* CatchClause */: return spanForNode(n.parent); - case 229 /* TryStatement */: + case 230 /* TryStatement */: // Could be the try-block, or the finally-block. var tryStatement = n.parent; if (tryStatement.tryBlock === n) { @@ -93996,16 +94555,16 @@ var ts; // the span of the block, independent of any parent span. return createOutliningSpan(ts.createTextSpanFromNode(n, sourceFile), "code" /* Code */); } - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return spanForNode(n.parent); - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 240 /* CaseBlock */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 241 /* CaseBlock */: return spanForNode(n); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return spanForObjectOrArrayLiteral(n); - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return spanForObjectOrArrayLiteral(n, 21 /* OpenBracketToken */); } function spanForObjectOrArrayLiteral(node, open) { @@ -94075,7 +94634,7 @@ var ts; // First, check that the last part of the dot separated pattern matches the name of the // candidate. If not, then there's no point in proceeding and doing the more // expensive work. - var candidateMatch = matchSegment(candidate, ts.lastOrUndefined(dotSeparatedSegments), stringToWordSpans); + var candidateMatch = matchSegment(candidate, ts.last(dotSeparatedSegments), stringToWordSpans); if (!candidateMatch) { return undefined; } @@ -94316,13 +94875,13 @@ var ts; // Assumes 'value' is already lowercase. function indexOfIgnoringCase(str, value) { var n = str.length - value.length; - var _loop_15 = function (start) { + var _loop_16 = function (start) { if (every(value, function (valueChar, i) { return toLowerCase(str.charCodeAt(i + start)) === valueChar; })) { return { value: start }; } }; for (var start = 0; start <= n; start++) { - var state_4 = _loop_15(start); + var state_4 = _loop_16(start); if (typeof state_4 === "object") return state_4.value; } @@ -94595,7 +95154,7 @@ var ts; else { if (token === 71 /* Identifier */ || ts.isKeyword(token)) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // import d from "mod"; @@ -94626,7 +95185,7 @@ var ts; } if (token === 18 /* CloseBraceToken */) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // import {a as A} from "mod"; @@ -94642,7 +95201,7 @@ var ts; token = nextToken(); if (token === 71 /* Identifier */ || ts.isKeyword(token)) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // import * as NS from "mod" @@ -94672,7 +95231,7 @@ var ts; } if (token === 18 /* CloseBraceToken */) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // export {a as A} from "mod"; @@ -94684,7 +95243,7 @@ var ts; } else if (token === 39 /* AsteriskToken */) { token = nextToken(); - if (token === 142 /* FromKeyword */) { + if (token === 143 /* FromKeyword */) { token = nextToken(); if (token === 9 /* StringLiteral */) { // export * from "mod" @@ -94808,7 +95367,7 @@ var ts; importedFiles.push(decl.ref); } } - return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: pragmaContext.hasNoDefaultLib, ambientExternalModules: undefined }; + return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: !!pragmaContext.hasNoDefaultLib, ambientExternalModules: undefined }; } else { // for global scripts ambient modules still can have augmentations - look for ambient modules with depth > 0 @@ -94827,7 +95386,7 @@ var ts; } } } - return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: pragmaContext.hasNoDefaultLib, ambientExternalModules: ambientModuleNames }; + return { referencedFiles: pragmaContext.referencedFiles, typeReferenceDirectives: pragmaContext.typeReferenceDirectives, importedFiles: importedFiles, isLibFile: !!pragmaContext.hasNoDefaultLib, ambientExternalModules: ambientModuleNames }; } } ts.preProcessFile = preProcessFile; @@ -94856,36 +95415,30 @@ var ts; Rename.getRenameInfo = getRenameInfo; function getRenameInfoForNode(node, typeChecker, sourceFile, isDefinedInLibraryFile) { var symbol = typeChecker.getSymbolAtLocation(node); + if (!symbol) + return; // Only allow a symbol to be renamed if it actually has at least one declaration. - if (symbol) { - var declarations = symbol.declarations; - if (declarations && declarations.length > 0) { - // Disallow rename for elements that are defined in the standard TypeScript library. - if (declarations.some(isDefinedInLibraryFile)) { - return getRenameInfoError(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); - } - // Cannot rename `default` as in `import { default as foo } from "./someModule"; - if (ts.isIdentifier(node) && node.originalKeywordKind === 79 /* DefaultKeyword */ && symbol.parent.flags & 1536 /* Module */) { - return undefined; - } - // Can't rename a module name. - if (ts.isStringLiteralLike(node) && ts.tryGetImportFromModuleSpecifier(node)) - return undefined; - var kind = ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, node); - var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteral(node) && node.parent.kind === 146 /* ComputedPropertyName */) - ? ts.stripQuotes(ts.getTextOfIdentifierOrLiteral(node)) - : undefined; - var displayName = specifierName || typeChecker.symbolToString(symbol); - var fullDisplayName = specifierName || typeChecker.getFullyQualifiedName(symbol); - return getRenameInfoSuccess(displayName, fullDisplayName, kind, ts.SymbolDisplay.getSymbolModifiers(symbol), node, sourceFile); - } + var declarations = symbol.declarations; + if (!declarations || declarations.length === 0) + return; + // Disallow rename for elements that are defined in the standard TypeScript library. + if (declarations.some(isDefinedInLibraryFile)) { + return getRenameInfoError(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); } - else if (ts.isStringLiteral(node)) { - if (isDefinedInLibraryFile(node)) { - return getRenameInfoError(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); - } - return getRenameInfoSuccess(node.text, node.text, "var" /* variableElement */, "" /* none */, node, sourceFile); + // Cannot rename `default` as in `import { default as foo } from "./someModule"; + if (ts.isIdentifier(node) && node.originalKeywordKind === 79 /* DefaultKeyword */ && symbol.parent.flags & 1536 /* Module */) { + return undefined; } + // Can't rename a module name. + if (ts.isStringLiteralLike(node) && ts.tryGetImportFromModuleSpecifier(node)) + return undefined; + var kind = ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, node); + var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteral(node) && node.parent.kind === 147 /* ComputedPropertyName */) + ? ts.stripQuotes(ts.getTextOfIdentifierOrLiteral(node)) + : undefined; + var displayName = specifierName || typeChecker.symbolToString(symbol); + var fullDisplayName = specifierName || typeChecker.getFullyQualifiedName(symbol); + return getRenameInfoSuccess(displayName, fullDisplayName, kind, ts.SymbolDisplay.getSymbolModifiers(symbol), node, sourceFile); } function getRenameInfoSuccess(displayName, fullDisplayName, kind, kindModifiers, node, sourceFile) { return { @@ -94899,6 +95452,7 @@ var ts; }; } function getRenameInfoError(diagnostic) { + // TODO: GH#18217 return { canRename: false, localizedErrorMessage: ts.getLocaleSpecificMessage(diagnostic), @@ -94944,7 +95498,12 @@ var ts; ArgumentListKind[ArgumentListKind["CallArguments"] = 1] = "CallArguments"; ArgumentListKind[ArgumentListKind["TaggedTemplateArguments"] = 2] = "TaggedTemplateArguments"; ArgumentListKind[ArgumentListKind["JSXAttributesArguments"] = 3] = "JSXAttributesArguments"; - })(ArgumentListKind = SignatureHelp.ArgumentListKind || (SignatureHelp.ArgumentListKind = {})); + })(ArgumentListKind || (ArgumentListKind = {})); + var InvocationKind; + (function (InvocationKind) { + InvocationKind[InvocationKind["Call"] = 0] = "Call"; + InvocationKind[InvocationKind["TypeArgs"] = 1] = "TypeArgs"; + })(InvocationKind || (InvocationKind = {})); function getSignatureHelpItems(program, sourceFile, position, cancellationToken) { var typeChecker = program.getTypeChecker(); // Decide whether to show signature help @@ -94958,11 +95517,9 @@ var ts; return undefined; cancellationToken.throwIfCancellationRequested(); // Semantic filtering of signature help - var call = argumentInfo.invocation; - var candidates = []; - var resolvedSignature = typeChecker.getResolvedSignature(call, candidates, argumentInfo.argumentCount); + var candidateInfo = getCandidateInfo(argumentInfo, typeChecker); cancellationToken.throwIfCancellationRequested(); - if (!candidates.length) { + if (!candidateInfo) { // We didn't have any sig help items produced by the TS compiler. If this is a JS // file, then see if we can figure out anything better. if (ts.isSourceFileJavaScript(sourceFile)) { @@ -94970,54 +95527,76 @@ var ts; } return undefined; } - return typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(candidates, resolvedSignature, argumentInfo, typeChecker); }); + return typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(candidateInfo.candidates, candidateInfo.resolvedSignature, argumentInfo, sourceFile, typeChecker); }); } SignatureHelp.getSignatureHelpItems = getSignatureHelpItems; - function createJavaScriptSignatureHelpItems(argumentInfo, program, cancellationToken) { - if (argumentInfo.invocation.kind !== 186 /* CallExpression */) { - return undefined; + function getCandidateInfo(argumentInfo, checker) { + var invocation = argumentInfo.invocation; + if (invocation.kind === 0 /* Call */) { + var candidates = []; + var resolvedSignature = checker.getResolvedSignature(invocation.node, candidates, argumentInfo.argumentCount); // TODO: GH#18217 + return candidates.length === 0 ? undefined : { candidates: candidates, resolvedSignature: resolvedSignature }; } + else { + var type = checker.getTypeAtLocation(invocation.called); // TODO: GH#18217 + var signatures = ts.isNewExpression(invocation.called.parent) ? type.getConstructSignatures() : type.getCallSignatures(); + var candidates = signatures.filter(function (candidate) { return !!candidate.typeParameters && candidate.typeParameters.length >= argumentInfo.argumentCount; }); + return candidates.length === 0 ? undefined : { candidates: candidates, resolvedSignature: ts.first(candidates) }; + } + } + function createJavaScriptSignatureHelpItems(argumentInfo, program, cancellationToken) { // See if we can find some symbol with the call expression name that has call signatures. - var callExpression = argumentInfo.invocation; - var expression = callExpression.expression; + var expression = getExpressionFromInvocation(argumentInfo.invocation); var name = ts.isIdentifier(expression) ? expression : ts.isPropertyAccessExpression(expression) ? expression.name : undefined; if (!name || !name.escapedText) { return undefined; } var typeChecker = program.getTypeChecker(); - for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { - var sourceFile = _a[_i]; + var _loop_17 = function (sourceFile) { var nameToDeclarations = sourceFile.getNamedDeclarations(); var declarations = nameToDeclarations.get(name.text); if (declarations) { - var _loop_16 = function (declaration) { + var _loop_18 = function (declaration) { var symbol = declaration.symbol; if (symbol) { var type = typeChecker.getTypeOfSymbolAtLocation(symbol, declaration); if (type) { var callSignatures_1 = type.getCallSignatures(); if (callSignatures_1 && callSignatures_1.length) { - return { value: typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(callSignatures_1, callSignatures_1[0], argumentInfo, typeChecker); }) }; + return { value: typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(callSignatures_1, callSignatures_1[0], argumentInfo, sourceFile, typeChecker); }) }; } } } }; - for (var _b = 0, declarations_12 = declarations; _b < declarations_12.length; _b++) { - var declaration = declarations_12[_b]; - var state_5 = _loop_16(declaration); - if (typeof state_5 === "object") - return state_5.value; + for (var _i = 0, declarations_13 = declarations; _i < declarations_13.length; _i++) { + var declaration = declarations_13[_i]; + var state_6 = _loop_18(declaration); + if (typeof state_6 === "object") + return state_6; } } + }; + for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { + var sourceFile = _a[_i]; + var state_5 = _loop_17(sourceFile); + if (typeof state_5 === "object") + return state_5.value; } } + function getArgumentInfoForCompletions(node, position, sourceFile) { + var info = getImmediatelyContainingArgumentInfo(node, position, sourceFile); + return !info || info.kind === 0 /* TypeArguments */ || info.invocation.kind === 1 /* TypeArgs */ ? undefined + : { invocation: info.invocation.node, argumentCount: info.argumentCount, argumentIndex: info.argumentIndex }; + } + SignatureHelp.getArgumentInfoForCompletions = getArgumentInfoForCompletions; /** * Returns relevant information for the argument list and the current argument if we are * in the argument of an invocation; returns undefined otherwise. */ function getImmediatelyContainingArgumentInfo(node, position, sourceFile) { - if (ts.isCallOrNewExpression(node.parent)) { - var invocation = node.parent; + var parent = node.parent; + if (ts.isCallOrNewExpression(parent)) { + var invocation = parent; var list = void 0; var argumentIndex = void 0; // There are 3 cases to handle: @@ -95037,7 +95616,7 @@ var ts; if (node.kind === 27 /* LessThanToken */ || node.kind === 19 /* OpenParenToken */) { // Find the list that starts right *after* the < or ( token. // If the user has just opened a list, consider this item 0. - list = getChildListThatStartsWithOpenerToken(invocation, node, sourceFile); + list = getChildListThatStartsWithOpenerToken(parent, node, sourceFile); ts.Debug.assert(list !== undefined); argumentIndex = 0; } @@ -95053,60 +95632,66 @@ var ts; return undefined; argumentIndex = getArgumentIndex(list, node); } - var kind = invocation.typeArguments && invocation.typeArguments.pos === list.pos ? 0 /* TypeArguments */ : 1 /* CallArguments */; + var kind = parent.typeArguments && parent.typeArguments.pos === list.pos ? 0 /* TypeArguments */ : 1 /* CallArguments */; var argumentCount = getArgumentCount(list); if (argumentIndex !== 0) { ts.Debug.assertLessThan(argumentIndex, argumentCount); } var argumentsSpan = getApplicableSpanForArguments(list, sourceFile); - return { kind: kind, invocation: invocation, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount }; + return { kind: kind, invocation: { kind: 0 /* Call */, node: invocation }, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount }; } - else if (node.kind === 13 /* NoSubstitutionTemplateLiteral */ && node.parent.kind === 188 /* TaggedTemplateExpression */) { + else if (ts.isNoSubstitutionTemplateLiteral(node) && ts.isTaggedTemplateExpression(parent)) { // Check if we're actually inside the template; // otherwise we'll fall out and return undefined. - if (ts.isInsideTemplateLiteral(node, position)) { - return getArgumentListInfoForTemplate(node.parent, /*argumentIndex*/ 0, sourceFile); + if (ts.isInsideTemplateLiteral(node, position, sourceFile)) { + return getArgumentListInfoForTemplate(parent, /*argumentIndex*/ 0, sourceFile); } } - else if (node.kind === 14 /* TemplateHead */ && node.parent.parent.kind === 188 /* TaggedTemplateExpression */) { - var templateExpression = node.parent; + else if (ts.isTemplateHead(node) && parent.parent.kind === 189 /* TaggedTemplateExpression */) { + var templateExpression = parent; var tagExpression = templateExpression.parent; - ts.Debug.assert(templateExpression.kind === 201 /* TemplateExpression */); - var argumentIndex = ts.isInsideTemplateLiteral(node, position) ? 0 : 1; + ts.Debug.assert(templateExpression.kind === 202 /* TemplateExpression */); + var argumentIndex = ts.isInsideTemplateLiteral(node, position, sourceFile) ? 0 : 1; return getArgumentListInfoForTemplate(tagExpression, argumentIndex, sourceFile); } - else if (node.parent.kind === 210 /* TemplateSpan */ && node.parent.parent.parent.kind === 188 /* TaggedTemplateExpression */) { - var templateSpan = node.parent; - var templateExpression = templateSpan.parent; - var tagExpression = templateExpression.parent; - ts.Debug.assert(templateExpression.kind === 201 /* TemplateExpression */); + else if (ts.isTemplateSpan(parent) && ts.isTaggedTemplateExpression(parent.parent.parent)) { + var templateSpan = parent; + var tagExpression = parent.parent.parent; // If we're just after a template tail, don't show signature help. - if (node.kind === 16 /* TemplateTail */ && !ts.isInsideTemplateLiteral(node, position)) { + if (ts.isTemplateTail(node) && !ts.isInsideTemplateLiteral(node, position, sourceFile)) { return undefined; } - var spanIndex = templateExpression.templateSpans.indexOf(templateSpan); - var argumentIndex = getArgumentIndexForTemplatePiece(spanIndex, node, position); + var spanIndex = templateSpan.parent.templateSpans.indexOf(templateSpan); + var argumentIndex = getArgumentIndexForTemplatePiece(spanIndex, node, position, sourceFile); return getArgumentListInfoForTemplate(tagExpression, argumentIndex, sourceFile); } - else if (node.parent && ts.isJsxOpeningLikeElement(node.parent)) { + else if (ts.isJsxOpeningLikeElement(parent)) { // Provide a signature help for JSX opening element or JSX self-closing element. // This is not guarantee that JSX tag-name is resolved into stateless function component. (that is done in "getSignatureHelpItems") // i.e // export function MainButton(props: ButtonProps, context: any): JSX.Element { ... } // 0 && ts.lastOrUndefined(listChildren).kind === 26 /* CommaToken */) { + if (listChildren.length > 0 && ts.last(listChildren).kind === 26 /* CommaToken */) { argumentCount++; } return argumentCount; } // spanIndex is either the index for a given template span. // This does not give appropriate results for a NoSubstitutionTemplateLiteral - function getArgumentIndexForTemplatePiece(spanIndex, node, position) { + function getArgumentIndexForTemplatePiece(spanIndex, node, position, sourceFile) { // Because the TemplateStringsArray is the first argument, we have to offset each substitution expression by 1. // There are three cases we can encounter: // 1. We are precisely in the template literal (argIndex = 0). @@ -95167,8 +95752,8 @@ var ts; // Case: 1 1 3 2 1 3 2 2 1 // tslint:enable no-double-space ts.Debug.assert(position >= node.getStart(), "Assumed 'position' could not occur before node."); - if (ts.isTemplateLiteralKind(node.kind)) { - if (ts.isInsideTemplateLiteral(node, position)) { + if (ts.isTemplateLiteralToken(node)) { + if (ts.isInsideTemplateLiteral(node, position, sourceFile)) { return 0; } return spanIndex + 2; @@ -95183,7 +95768,7 @@ var ts; } return { kind: 2 /* TaggedTemplateArguments */, - invocation: tagExpression, + invocation: { kind: 0 /* Call */, node: tagExpression }, argumentsSpan: getApplicableSpanForTaggedTemplate(tagExpression, sourceFile), argumentIndex: argumentIndex, argumentCount: argumentCount @@ -95214,8 +95799,8 @@ var ts; // | | // This is because a Missing node has no width. However, what we actually want is to include trivia // leading up to the next token in case the user is about to type in a TemplateMiddle or TemplateTail. - if (template.kind === 201 /* TemplateExpression */) { - var lastSpan = ts.lastOrUndefined(template.templateSpans); + if (template.kind === 202 /* TemplateExpression */) { + var lastSpan = ts.last(template.templateSpans); if (lastSpan.literal.getFullWidth() === 0) { applicableSpanEnd = ts.skipTrivia(sourceFile.text, applicableSpanEnd, /*stopAfterLineBreak*/ false); } @@ -95223,39 +95808,40 @@ var ts; return ts.createTextSpan(applicableSpanStart, applicableSpanEnd - applicableSpanStart); } function getContainingArgumentInfo(node, position, sourceFile) { - for (var n = node; n.kind !== 273 /* SourceFile */; n = n.parent) { - if (ts.isFunctionBlock(n)) { - return undefined; - } + var _loop_19 = function (n) { // If the node is not a subspan of its parent, this is a big problem. // There have been crashes that might be caused by this violation. - if (n.pos < n.parent.pos || n.end > n.parent.end) { - ts.Debug.fail("Node of kind " + n.kind + " is not a subspan of its parent of kind " + n.parent.kind); - } + ts.Debug.assert(ts.rangeContainsRange(n.parent, n), "Not a subspan", function () { return "Child: " + ts.Debug.showSyntaxKind(n) + ", parent: " + ts.Debug.showSyntaxKind(n.parent); }); var argumentInfo = getImmediatelyContainingArgumentInfo(n, position, sourceFile); if (argumentInfo) { - return argumentInfo; + return { value: argumentInfo }; } - // TODO: Handle generic call with incomplete syntax + }; + for (var n = node; !ts.isBlock(n) && !ts.isSourceFile(n); n = n.parent) { + var state_7 = _loop_19(n); + if (typeof state_7 === "object") + return state_7.value; } return undefined; } - SignatureHelp.getContainingArgumentInfo = getContainingArgumentInfo; function getChildListThatStartsWithOpenerToken(parent, openerToken, sourceFile) { var children = parent.getChildren(sourceFile); var indexOfOpenerToken = children.indexOf(openerToken); ts.Debug.assert(indexOfOpenerToken >= 0 && children.length > indexOfOpenerToken + 1); return children[indexOfOpenerToken + 1]; } + function getExpressionFromInvocation(invocation) { + return invocation.kind === 0 /* Call */ ? ts.getInvokedExpression(invocation.node) : invocation.called; + } var signatureHelpNodeBuilderFlags = 8192 /* OmitParameterModifiers */ | 3112960 /* IgnoreErrors */; - function createSignatureHelpItems(candidates, resolvedSignature, argumentListInfo, typeChecker) { + function createSignatureHelpItems(candidates, resolvedSignature, argumentListInfo, sourceFile, typeChecker) { var argumentCount = argumentListInfo.argumentCount, applicableSpan = argumentListInfo.argumentsSpan, invocation = argumentListInfo.invocation, argumentIndex = argumentListInfo.argumentIndex; var isTypeParameterList = argumentListInfo.kind === 0 /* TypeArguments */; - var callTarget = ts.getInvokedExpression(invocation); - var callTargetSymbol = typeChecker.getSymbolAtLocation(callTarget); + var enclosingDeclaration = invocation.kind === 0 /* Call */ ? invocation.node : invocation.called; + var callTargetSymbol = typeChecker.getSymbolAtLocation(getExpressionFromInvocation(invocation)); var callTargetDisplayParts = callTargetSymbol && ts.symbolToDisplayParts(typeChecker, callTargetSymbol, /*enclosingDeclaration*/ undefined, /*meaning*/ undefined); var printer = ts.createPrinter({ removeComments: true }); - var items = ts.map(candidates, function (candidateSignature) { + var items = candidates.map(function (candidateSignature) { var signatureHelpParameters; var prefixDisplayParts = []; var suffixDisplayParts = []; @@ -95270,9 +95856,9 @@ var ts; signatureHelpParameters = typeParameters && typeParameters.length > 0 ? ts.map(typeParameters, createSignatureHelpParameterForTypeParameter) : ts.emptyArray; suffixDisplayParts.push(ts.punctuationPart(29 /* GreaterThanToken */)); var parameterParts = ts.mapToDisplayParts(function (writer) { - var thisParameter = candidateSignature.thisParameter ? [typeChecker.symbolToParameterDeclaration(candidateSignature.thisParameter, invocation, signatureHelpNodeBuilderFlags)] : []; - var params = ts.createNodeArray(thisParameter.concat(ts.map(candidateSignature.parameters, function (param) { return typeChecker.symbolToParameterDeclaration(param, invocation, signatureHelpNodeBuilderFlags); }))); - printer.writeList(1296 /* CallExpressionArguments */, params, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var thisParameter = candidateSignature.thisParameter ? [typeChecker.symbolToParameterDeclaration(candidateSignature.thisParameter, enclosingDeclaration, signatureHelpNodeBuilderFlags)] : []; + var params = ts.createNodeArray(thisParameter.concat(candidateSignature.parameters.map(function (param) { return typeChecker.symbolToParameterDeclaration(param, enclosingDeclaration, signatureHelpNodeBuilderFlags); }))); + printer.writeList(1296 /* CallExpressionArguments */, params, sourceFile, writer); }); ts.addRange(suffixDisplayParts, parameterParts); } @@ -95280,8 +95866,8 @@ var ts; isVariadic = candidateSignature.hasRestParameter; var typeParameterParts = ts.mapToDisplayParts(function (writer) { if (candidateSignature.typeParameters && candidateSignature.typeParameters.length) { - var args = ts.createNodeArray(ts.map(candidateSignature.typeParameters, function (p) { return typeChecker.typeParameterToDeclaration(p, invocation); })); - printer.writeList(26896 /* TypeParameters */, args, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var args = ts.createNodeArray(candidateSignature.typeParameters.map(function (p) { return typeChecker.typeParameterToDeclaration(p, enclosingDeclaration); })); + printer.writeList(26896 /* TypeParameters */, args, sourceFile, writer); } }); ts.addRange(prefixDisplayParts, typeParameterParts); @@ -95294,10 +95880,10 @@ var ts; writer.writeSpace(" "); var predicate = typeChecker.getTypePredicateOfSignature(candidateSignature); if (predicate) { - typeChecker.writeTypePredicate(predicate, invocation, /*flags*/ undefined, writer); + typeChecker.writeTypePredicate(predicate, enclosingDeclaration, /*flags*/ undefined, writer); } else { - typeChecker.writeType(typeChecker.getReturnTypeOfSignature(candidateSignature), invocation, /*flags*/ undefined, writer); + typeChecker.writeType(typeChecker.getReturnTypeOfSignature(candidateSignature), enclosingDeclaration, /*flags*/ undefined, writer); } }); ts.addRange(suffixDisplayParts, returnTypeParts); @@ -95319,8 +95905,8 @@ var ts; return { items: items, applicableSpan: applicableSpan, selectedItemIndex: selectedItemIndex, argumentIndex: argumentIndex, argumentCount: argumentCount }; function createSignatureHelpParameterForParameter(parameter) { var displayParts = ts.mapToDisplayParts(function (writer) { - var param = typeChecker.symbolToParameterDeclaration(parameter, invocation, signatureHelpNodeBuilderFlags); - printer.writeNode(4 /* Unspecified */, param, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var param = typeChecker.symbolToParameterDeclaration(parameter, enclosingDeclaration, signatureHelpNodeBuilderFlags); + printer.writeNode(4 /* Unspecified */, param, sourceFile, writer); }); return { name: parameter.name, @@ -95331,8 +95917,8 @@ var ts; } function createSignatureHelpParameterForTypeParameter(typeParameter) { var displayParts = ts.mapToDisplayParts(function (writer) { - var param = typeChecker.typeParameterToDeclaration(typeParameter, invocation); - printer.writeNode(4 /* Unspecified */, param, ts.getSourceFileOfNode(ts.getParseTreeNode(invocation)), writer); + var param = typeChecker.typeParameterToDeclaration(typeParameter, enclosingDeclaration); + printer.writeNode(4 /* Unspecified */, param, sourceFile, writer); }); return { name: typeParameter.symbol.name, @@ -95347,9 +95933,8 @@ var ts; /* @internal */ var ts; (function (ts) { - function computeSuggestionDiagnostics(sourceFile, program) { - program.getSemanticDiagnostics(sourceFile); - var checker = program.getDiagnosticsProducingTypeChecker(); + function computeSuggestionDiagnostics(sourceFile, program, cancellationToken) { + program.getSemanticDiagnostics(sourceFile, cancellationToken); var diags = []; if (sourceFile.commonJsModuleIndicator && (ts.programContainsEs6Modules(program) || ts.compilerOptionsIndicateEs6Modules(program.getCompilerOptions())) && @@ -95357,40 +95942,10 @@ var ts; diags.push(ts.createDiagnosticForNode(getErrorNodeFromCommonJsIndicator(sourceFile.commonJsModuleIndicator), ts.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module)); } var isJsFile = ts.isSourceFileJavaScript(sourceFile); - function check(node) { - switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - if (isJsFile) { - var symbol = node.symbol; - if (symbol.members && (symbol.members.size > 0)) { - diags.push(ts.createDiagnosticForNode(ts.isVariableDeclaration(node.parent) ? node.parent.name : node, ts.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); - } - } - break; - } - if (!isJsFile && ts.codefix.parameterShouldGetTypeFromJSDoc(node)) { - diags.push(ts.createDiagnosticForNode(node.name || node, ts.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types)); - } - node.forEachChild(check); - } check(sourceFile); - if (!isJsFile) { - for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { - var statement = _a[_i]; - if (ts.isVariableStatement(statement) && - statement.declarationList.flags & 2 /* Const */ && - statement.declarationList.declarations.length === 1) { - var init = statement.declarationList.declarations[0].initializer; - if (init && ts.isRequireCall(init, /*checkArgumentIsStringLiteralLike*/ true)) { - diags.push(ts.createDiagnosticForNode(init, ts.Diagnostics.require_call_may_be_converted_to_an_import)); - } - } - } - } if (ts.getAllowSyntheticDefaultImports(program.getCompilerOptions())) { - for (var _b = 0, _c = sourceFile.imports; _b < _c.length; _b++) { - var moduleSpecifier = _c[_b]; + for (var _i = 0, _a = sourceFile.imports; _i < _a.length; _i++) { + var moduleSpecifier = _a[_i]; var importNode = ts.importFromModuleSpecifier(moduleSpecifier); var name = importNameForConvertToDefaultImport(importNode); if (!name) @@ -95402,18 +95957,57 @@ var ts; } } } - return diags.concat(checker.getSuggestionDiagnostics(sourceFile)).sort(function (d1, d2) { return d1.start - d2.start; }); + ts.addRange(diags, sourceFile.bindSuggestionDiagnostics); + ts.addRange(diags, program.getSuggestionDiagnostics(sourceFile, cancellationToken)); + return diags.sort(function (d1, d2) { return d1.start - d2.start; }); + function check(node) { + if (isJsFile) { + switch (node.kind) { + case 192 /* FunctionExpression */: + var decl = ts.getDeclarationOfJSInitializer(node); + if (decl) { + var symbol_3 = decl.symbol; + if (symbol_3 && (symbol_3.exports && symbol_3.exports.size || symbol_3.members && symbol_3.members.size)) { + diags.push(ts.createDiagnosticForNode(ts.isVariableDeclaration(node.parent) ? node.parent.name : node, ts.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); + break; + } + } + // falls through if no diagnostic was created + case 234 /* FunctionDeclaration */: + var symbol = node.symbol; + if (symbol.members && (symbol.members.size > 0)) { + diags.push(ts.createDiagnosticForNode(ts.isVariableDeclaration(node.parent) ? node.parent.name : node, ts.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration)); + } + break; + } + } + else { + if (ts.isVariableStatement(node) && + node.parent === sourceFile && + node.declarationList.flags & 2 /* Const */ && + node.declarationList.declarations.length === 1) { + var init = node.declarationList.declarations[0].initializer; + if (init && ts.isRequireCall(init, /*checkArgumentIsStringLiteralLike*/ true)) { + diags.push(ts.createDiagnosticForNode(init, ts.Diagnostics.require_call_may_be_converted_to_an_import)); + } + } + if (ts.codefix.parameterShouldGetTypeFromJSDoc(node)) { + diags.push(ts.createDiagnosticForNode(node.name || node, ts.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types)); + } + } + node.forEachChild(check); + } } ts.computeSuggestionDiagnostics = computeSuggestionDiagnostics; // convertToEs6Module only works on top-level, so don't trigger it if commonjs code only appears in nested scopes. function containsTopLevelCommonjs(sourceFile) { return sourceFile.statements.some(function (statement) { switch (statement.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return statement.declarationList.declarations.some(function (decl) { return ts.isRequireCall(propertyAccessLeftHandSide(decl.initializer), /*checkArgumentIsStringLiteralLike*/ true); - }); - case 215 /* ExpressionStatement */: { + }); // TODO: GH#18217 + case 216 /* ExpressionStatement */: { var expression = statement.expression; if (!ts.isBinaryExpression(expression)) return ts.isRequireCall(expression, /*checkArgumentIsStringLiteralLike*/ true); @@ -95430,12 +96024,12 @@ var ts; } function importNameForConvertToDefaultImport(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: var importClause = node.importClause, moduleSpecifier = node.moduleSpecifier; - return importClause && !importClause.name && importClause.namedBindings.kind === 245 /* NamespaceImport */ && ts.isStringLiteral(moduleSpecifier) + return importClause && !importClause.name && importClause.namedBindings && importClause.namedBindings.kind === 246 /* NamespaceImport */ && ts.isStringLiteral(moduleSpecifier) ? importClause.namedBindings.name : undefined; - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return node.name; default: return undefined; @@ -95458,7 +96052,7 @@ var ts; } var flags = ts.getCombinedLocalAndExportSymbolFlags(symbol); if (flags & 32 /* Class */) { - return ts.getDeclarationOfKind(symbol, 204 /* ClassExpression */) ? + return ts.getDeclarationOfKind(symbol, 205 /* ClassExpression */) ? "local class" /* localClassElement */ : "class" /* classElement */; } if (flags & 384 /* Enum */) @@ -95546,11 +96140,11 @@ var ts; // If we requested completions after `x.` at the top-level, we may be at a source file location. switch (location.parent && location.parent.kind) { // If we've typed a character of the attribute name, will be 'JsxAttribute', else will be 'JsxOpeningElement'. - case 256 /* JsxOpeningElement */: - case 254 /* JsxElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 255 /* JsxElement */: + case 256 /* JsxSelfClosingElement */: return location.kind === 71 /* Identifier */ ? "property" /* memberVariableElement */ : "JSX attribute" /* jsxAttribute */; - case 261 /* JsxAttribute */: + case 262 /* JsxAttribute */: return "JSX attribute" /* jsxAttribute */; default: return "property" /* memberVariableElement */; @@ -95576,7 +96170,7 @@ var ts; var tags; var symbolFlags = ts.getCombinedLocalAndExportSymbolFlags(symbol); var symbolKind = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location); - var hasAddedSymbolInfo; + var hasAddedSymbolInfo = false; var isThisExpression = location.kind === 99 /* ThisKeyword */ && ts.isExpression(location); var type; var printer; @@ -95590,7 +96184,7 @@ var ts; } var signature = void 0; type = isThisExpression ? typeChecker.getTypeAtLocation(location) : typeChecker.getTypeOfSymbolAtLocation(symbol.exportSymbol || symbol, location); - if (location.parent && location.parent.kind === 184 /* PropertyAccessExpression */) { + if (location.parent && location.parent.kind === 185 /* PropertyAccessExpression */) { var right = location.parent.name; // Either the location is on the right of a property access, or on the left and the right is missing if (right === location || (right && right.getFullWidth() === 0)) { @@ -95610,8 +96204,8 @@ var ts; } if (callExpressionLike) { var candidateSignatures = []; - signature = typeChecker.getResolvedSignature(callExpressionLike, candidateSignatures); - var useConstructSignatures = callExpressionLike.kind === 187 /* NewExpression */ || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 97 /* SuperKeyword */); + signature = typeChecker.getResolvedSignature(callExpressionLike, candidateSignatures); // TODO: GH#18217 + var useConstructSignatures = callExpressionLike.kind === 188 /* NewExpression */ || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 97 /* SuperKeyword */); var allSignatures = useConstructSignatures ? type.getConstructSignatures() : type.getCallSignatures(); if (!ts.contains(allSignatures, signature.target) && !ts.contains(allSignatures, signature)) { // Get the first signature if there is one -- allSignatures may contain @@ -95666,7 +96260,7 @@ var ts; } } else if ((ts.isNameOfFunctionDeclaration(location) && !(symbolFlags & 98304 /* Accessor */)) || // name of function declaration - (location.kind === 123 /* ConstructorKeyword */ && location.parent.kind === 154 /* Constructor */)) { // At constructor keyword of constructor declaration + (location.kind === 123 /* ConstructorKeyword */ && location.parent.kind === 155 /* Constructor */)) { // At constructor keyword of constructor declaration // get the signature from the declaration and write it var functionDeclaration_1 = location.parent; // Use function declaration to write the signatures only if the symbol corresponding to this declaration @@ -95674,21 +96268,21 @@ var ts; return declaration === (location.kind === 123 /* ConstructorKeyword */ ? functionDeclaration_1.parent : functionDeclaration_1); }); if (locationIsSymbolDeclaration) { - var allSignatures = functionDeclaration_1.kind === 154 /* Constructor */ ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); + var allSignatures = functionDeclaration_1.kind === 155 /* Constructor */ ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); if (!typeChecker.isImplementationOfOverload(functionDeclaration_1)) { - signature = typeChecker.getSignatureFromDeclaration(functionDeclaration_1); + signature = typeChecker.getSignatureFromDeclaration(functionDeclaration_1); // TODO: GH#18217 } else { signature = allSignatures[0]; } - if (functionDeclaration_1.kind === 154 /* Constructor */) { + if (functionDeclaration_1.kind === 155 /* Constructor */) { // show (constructor) Type(...) signature symbolKind = "constructor" /* constructorImplementationElement */; addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); } else { // (function/method) symbol(..signature) - addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 157 /* CallSignature */ && + addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 158 /* CallSignature */ && !(type.symbol.flags & 2048 /* TypeLiteral */ || type.symbol.flags & 4096 /* ObjectLiteral */) ? type.symbol : symbol, symbolKind); } addSignatureDisplayParts(signature, allSignatures); @@ -95698,7 +96292,7 @@ var ts; } if (symbolFlags & 32 /* Class */ && !hasAddedSymbolInfo && !isThisExpression) { addAliasPrefixIfNecessary(); - if (ts.getDeclarationOfKind(symbol, 204 /* ClassExpression */)) { + if (ts.getDeclarationOfKind(symbol, 205 /* ClassExpression */)) { // Special case for class expressions because we would like to indicate that // the class name is local to the class body (similar to function expression) // (local class) class @@ -95742,7 +96336,7 @@ var ts; } if (symbolFlags & 1536 /* Module */) { prefixNextMeaning(); - var declaration = ts.getDeclarationOfKind(symbol, 238 /* ModuleDeclaration */); + var declaration = ts.getDeclarationOfKind(symbol, 239 /* ModuleDeclaration */); var isNamespace = declaration && declaration.name && declaration.name.kind === 71 /* Identifier */; displayParts.push(ts.keywordPart(isNamespace ? 130 /* NamespaceKeyword */ : 129 /* ModuleKeyword */)); displayParts.push(ts.spacePart()); @@ -95763,23 +96357,24 @@ var ts; } else { // Method/function type parameter - var decl = ts.getDeclarationOfKind(symbol, 147 /* TypeParameter */); - ts.Debug.assert(decl !== undefined); + var decl = ts.getDeclarationOfKind(symbol, 148 /* TypeParameter */); + if (decl === undefined) + return ts.Debug.fail(); var declaration = decl.parent; if (declaration) { if (ts.isFunctionLikeKind(declaration.kind)) { addInPrefix(); - var signature = typeChecker.getSignatureFromDeclaration(declaration); - if (declaration.kind === 158 /* ConstructSignature */) { + var signature = typeChecker.getSignatureFromDeclaration(declaration); // TODO: GH#18217 + if (declaration.kind === 159 /* ConstructSignature */) { displayParts.push(ts.keywordPart(94 /* NewKeyword */)); displayParts.push(ts.spacePart()); } - else if (declaration.kind !== 157 /* CallSignature */ && declaration.name) { + else if (declaration.kind !== 158 /* CallSignature */ && declaration.name) { addFullSymbolName(declaration.symbol); } ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, sourceFile, 32 /* WriteTypeArgumentsOfSignature */)); } - else if (declaration.kind === 236 /* TypeAliasDeclaration */) { + else if (declaration.kind === 237 /* TypeAliasDeclaration */) { // Type alias type parameter // For example // type list = T[]; // Both T will go through same code path @@ -95796,7 +96391,7 @@ var ts; symbolKind = "enum member" /* enumMemberElement */; addPrefixForAnyFunctionOrVar(symbol, "enum member"); var declaration = symbol.declarations[0]; - if (declaration.kind === 272 /* EnumMember */) { + if (declaration.kind === 273 /* EnumMember */) { var constantValue = typeChecker.getConstantValue(declaration); if (constantValue !== undefined) { displayParts.push(ts.spacePart()); @@ -95826,17 +96421,17 @@ var ts; } } switch (symbol.declarations[0].kind) { - case 241 /* NamespaceExportDeclaration */: + case 242 /* NamespaceExportDeclaration */: displayParts.push(ts.keywordPart(84 /* ExportKeyword */)); displayParts.push(ts.spacePart()); displayParts.push(ts.keywordPart(130 /* NamespaceKeyword */)); break; - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: displayParts.push(ts.keywordPart(84 /* ExportKeyword */)); displayParts.push(ts.spacePart()); displayParts.push(ts.keywordPart(symbol.declarations[0].isExportEquals ? 58 /* EqualsToken */ : 79 /* DefaultKeyword */)); break; - case 251 /* ExportSpecifier */: + case 252 /* ExportSpecifier */: displayParts.push(ts.keywordPart(84 /* ExportKeyword */)); break; default: @@ -95845,7 +96440,7 @@ var ts; displayParts.push(ts.spacePart()); addFullSymbolName(symbol); ts.forEach(symbol.declarations, function (declaration) { - if (declaration.kind === 242 /* ImportEqualsDeclaration */) { + if (declaration.kind === 243 /* ImportEqualsDeclaration */) { var importEqualsDeclaration = declaration; if (ts.isExternalModuleImportEqualsDeclaration(importEqualsDeclaration)) { displayParts.push(ts.spacePart()); @@ -95923,10 +96518,10 @@ var ts; // For some special property access expressions like `exports.foo = foo` or `module.exports.foo = foo` // there documentation comments might be attached to the right hand side symbol of their declarations. // The pattern of such special property access is that the parent symbol is the symbol of the file. - if (symbol.parent && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 273 /* SourceFile */; })) { + if (symbol.parent && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 274 /* SourceFile */; })) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (!declaration.parent || declaration.parent.kind !== 199 /* BinaryExpression */) { + if (!declaration.parent || declaration.parent.kind !== 200 /* BinaryExpression */) { continue; } var rhsSymbol = typeChecker.getSymbolAtLocation(declaration.parent.right); @@ -96009,6 +96604,7 @@ var ts; } } function addSignatureDisplayParts(signature, allSignatures, flags) { + if (flags === void 0) { flags = 0 /* None */; } ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, enclosingDeclaration, flags | 32 /* WriteTypeArgumentsOfSignature */)); if (allSignatures.length > 1) { displayParts.push(ts.spacePart()); @@ -96037,16 +96633,16 @@ var ts; } return ts.forEach(symbol.declarations, function (declaration) { // Function expressions are local - if (declaration.kind === 191 /* FunctionExpression */) { + if (declaration.kind === 192 /* FunctionExpression */) { return true; } - if (declaration.kind !== 231 /* VariableDeclaration */ && declaration.kind !== 233 /* FunctionDeclaration */) { + if (declaration.kind !== 232 /* VariableDeclaration */ && declaration.kind !== 234 /* FunctionDeclaration */) { return false; } // If the parent is not sourceFile or module block it is local variable for (var parent = declaration.parent; !ts.isFunctionBlock(parent); parent = parent.parent) { // Reached source file or module block - if (parent.kind === 273 /* SourceFile */ || parent.kind === 239 /* ModuleBlock */) { + if (parent.kind === 274 /* SourceFile */ || parent.kind === 240 /* ModuleBlock */) { return false; } } @@ -96094,7 +96690,7 @@ var ts; options.noResolve = true; // if jsx is specified then treat file as .tsx var inputFileName = transpileOptions.fileName || (options.jsx ? "module.tsx" : "module.ts"); - var sourceFile = ts.createSourceFile(inputFileName, input, options.target); + var sourceFile = ts.createSourceFile(inputFileName, input, options.target); // TODO: GH#18217 if (transpileOptions.moduleName) { sourceFile.moduleName = transpileOptions.moduleName; } @@ -96135,7 +96731,8 @@ var ts; } // Emit program.emit(/*targetSourceFile*/ undefined, /*writeFile*/ undefined, /*cancellationToken*/ undefined, /*emitOnlyDtsFiles*/ undefined, transpileOptions.transformers); - ts.Debug.assert(outputText !== undefined, "Output generation failed"); + if (outputText === undefined) + return ts.Debug.fail("Output generation failed"); return { outputText: outputText, diagnostics: diagnostics, sourceMapText: sourceMapText }; } ts.transpileModule = transpileModule; @@ -96158,7 +96755,7 @@ var ts; return typeof o.type === "object" && !ts.forEachEntry(o.type, function (v) { return typeof v !== "number"; }); }); options = ts.cloneCompilerOptions(options); - var _loop_17 = function (opt) { + var _loop_20 = function (opt) { if (!ts.hasProperty(options, opt.name)) { return "continue"; } @@ -96177,7 +96774,7 @@ var ts; }; for (var _i = 0, commandLineOptionsStringToEnum_1 = commandLineOptionsStringToEnum; _i < commandLineOptionsStringToEnum_1.length; _i++) { var opt = commandLineOptionsStringToEnum_1[_i]; - _loop_17(opt); + _loop_20(opt); } return options; } @@ -96314,7 +96911,7 @@ var ts; lastTokenInfo = undefined; var isStarted = scanner.getStartPos() !== startPos; if (isStarted) { - wasNewLine = trailingTrivia && ts.lastOrUndefined(trailingTrivia).kind === 4 /* NewLineTrivia */; + wasNewLine = !!trailingTrivia && ts.last(trailingTrivia).kind === 4 /* NewLineTrivia */; } else { scanner.scan(); @@ -96354,10 +96951,10 @@ var ts; function shouldRescanJsxIdentifier(node) { if (node.parent) { switch (node.parent.kind) { - case 261 /* JsxAttribute */: - case 256 /* JsxOpeningElement */: - case 257 /* JsxClosingElement */: - case 255 /* JsxSelfClosingElement */: + case 262 /* JsxAttribute */: + case 257 /* JsxOpeningElement */: + case 258 /* JsxClosingElement */: + case 256 /* JsxSelfClosingElement */: // May parse an identifier like `module-layout`; that will be scanned as a keyword at first, but we should parse the whole thing to get an identifier. return ts.isKeyword(node.kind) || node.kind === 71 /* Identifier */; } @@ -96534,7 +97131,7 @@ var ts; (function (formatting) { function getAllRules() { var allTokens = []; - for (var token = 0 /* FirstToken */; token <= 144 /* LastToken */; token++) { + for (var token = 0 /* FirstToken */; token <= 145 /* LastToken */; token++) { allTokens.push(token); } function anyTokenExcept() { @@ -96546,9 +97143,9 @@ var ts; } var anyToken = { tokens: allTokens, isSpecific: false }; var anyTokenIncludingMultilineComments = tokenRangeFrom(allTokens.concat([3 /* MultiLineCommentTrivia */])); - var keywords = tokenRangeFromRange(72 /* FirstKeyword */, 144 /* LastKeyword */); + var keywords = tokenRangeFromRange(72 /* FirstKeyword */, 145 /* LastKeyword */); var binaryOperators = tokenRangeFromRange(27 /* FirstBinaryOperator */, 70 /* LastBinaryOperator */); - var binaryKeywordOperators = [92 /* InKeyword */, 93 /* InstanceOfKeyword */, 144 /* OfKeyword */, 118 /* AsKeyword */, 127 /* IsKeyword */]; + var binaryKeywordOperators = [92 /* InKeyword */, 93 /* InstanceOfKeyword */, 145 /* OfKeyword */, 118 /* AsKeyword */, 127 /* IsKeyword */]; var unaryPrefixOperators = [43 /* PlusPlusToken */, 44 /* MinusMinusToken */, 52 /* TildeToken */, 51 /* ExclamationToken */]; var unaryPrefixExpressions = [ 8 /* NumericLiteral */, 71 /* Identifier */, 19 /* OpenParenToken */, 21 /* OpenBracketToken */, @@ -96669,11 +97266,11 @@ var ts; 136 /* SetKeyword */, 115 /* StaticKeyword */, 139 /* TypeKeyword */, - 142 /* FromKeyword */, + 143 /* FromKeyword */, 128 /* KeyOfKeyword */, 126 /* InferKeyword */, ], anyToken, [isNonJsxSameLineTokenContext], 2 /* Space */), - rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [85 /* ExtendsKeyword */, 108 /* ImplementsKeyword */, 142 /* FromKeyword */], [isNonJsxSameLineTokenContext], 2 /* Space */), + rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [85 /* ExtendsKeyword */, 108 /* ImplementsKeyword */, 143 /* FromKeyword */], [isNonJsxSameLineTokenContext], 2 /* Space */), // Treat string literals in module names as identifiers, and add a space between the literal and the opening Brace braces, e.g.: module "m2" { rule("SpaceAfterModuleName", 9 /* StringLiteral */, 17 /* OpenBraceToken */, [isModuleDeclContext], 2 /* Space */), // Lambda expressions @@ -96838,45 +97435,45 @@ var ts; return function (context) { return !context.options || !context.options.hasOwnProperty(optionName) || !!context.options[optionName]; }; } function isForContext(context) { - return context.contextNode.kind === 219 /* ForStatement */; + return context.contextNode.kind === 220 /* ForStatement */; } function isNotForContext(context) { return !isForContext(context); } function isBinaryOpContext(context) { switch (context.contextNode.kind) { - case 199 /* BinaryExpression */: - case 200 /* ConditionalExpression */: - case 170 /* ConditionalType */: - case 207 /* AsExpression */: - case 251 /* ExportSpecifier */: - case 247 /* ImportSpecifier */: - case 160 /* TypePredicate */: - case 168 /* UnionType */: - case 169 /* IntersectionType */: + case 200 /* BinaryExpression */: + case 201 /* ConditionalExpression */: + case 171 /* ConditionalType */: + case 208 /* AsExpression */: + case 252 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 161 /* TypePredicate */: + case 169 /* UnionType */: + case 170 /* IntersectionType */: return true; // equals in binding elements: function foo([[x, y] = [1, 2]]) - case 181 /* BindingElement */: + case 182 /* BindingElement */: // equals in type X = ... - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: // equal in import a = module('a'); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: // equal in let a = 0; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: // equal in p = 0; - case 148 /* Parameter */: - case 272 /* EnumMember */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 149 /* Parameter */: + case 273 /* EnumMember */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return context.currentTokenSpan.kind === 58 /* EqualsToken */ || context.nextTokenSpan.kind === 58 /* EqualsToken */; // "in" keyword in for (let x in []) { } - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: // "in" keyword in [P in keyof T]: T[P] - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: return context.currentTokenSpan.kind === 92 /* InKeyword */ || context.nextTokenSpan.kind === 92 /* InKeyword */; // Technically, "of" is not a binary operator, but format it the same way as "in" - case 221 /* ForOfStatement */: - return context.currentTokenSpan.kind === 144 /* OfKeyword */ || context.nextTokenSpan.kind === 144 /* OfKeyword */; + case 222 /* ForOfStatement */: + return context.currentTokenSpan.kind === 145 /* OfKeyword */ || context.nextTokenSpan.kind === 145 /* OfKeyword */; } return false; } @@ -96888,22 +97485,22 @@ var ts; } function isTypeAnnotationContext(context) { var contextKind = context.contextNode.kind; - return contextKind === 151 /* PropertyDeclaration */ || - contextKind === 150 /* PropertySignature */ || - contextKind === 148 /* Parameter */ || - contextKind === 231 /* VariableDeclaration */ || + return contextKind === 152 /* PropertyDeclaration */ || + contextKind === 151 /* PropertySignature */ || + contextKind === 149 /* Parameter */ || + contextKind === 232 /* VariableDeclaration */ || ts.isFunctionLikeKind(contextKind); } function isConditionalOperatorContext(context) { - return context.contextNode.kind === 200 /* ConditionalExpression */ || - context.contextNode.kind === 170 /* ConditionalType */; + return context.contextNode.kind === 201 /* ConditionalExpression */ || + context.contextNode.kind === 171 /* ConditionalType */; } function isSameLineTokenOrBeforeBlockContext(context) { return context.TokensAreOnSameLine() || isBeforeBlockContext(context); } function isBraceWrappedContext(context) { - return context.contextNode.kind === 179 /* ObjectBindingPattern */ || - context.contextNode.kind === 176 /* MappedType */ || + return context.contextNode.kind === 180 /* ObjectBindingPattern */ || + context.contextNode.kind === 177 /* MappedType */ || isSingleLineBlockContext(context); } // This check is done before an open brace in a control construct, a function, or a typescript block declaration @@ -96929,31 +97526,31 @@ var ts; return true; } switch (node.kind) { - case 212 /* Block */: - case 240 /* CaseBlock */: - case 183 /* ObjectLiteralExpression */: - case 239 /* ModuleBlock */: + case 213 /* Block */: + case 241 /* CaseBlock */: + case 184 /* ObjectLiteralExpression */: + case 240 /* ModuleBlock */: return true; } return false; } function isFunctionDeclContext(context) { switch (context.contextNode.kind) { - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: // case SyntaxKind.MemberFunctionDeclaration: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // case SyntaxKind.MethodSignature: - case 157 /* CallSignature */: - case 191 /* FunctionExpression */: - case 154 /* Constructor */: - case 192 /* ArrowFunction */: + case 158 /* CallSignature */: + case 192 /* FunctionExpression */: + case 155 /* Constructor */: + case 193 /* ArrowFunction */: // case SyntaxKind.ConstructorDeclaration: // case SyntaxKind.SimpleArrowFunctionExpression: // case SyntaxKind.ParenthesizedArrowFunctionExpression: - case 235 /* InterfaceDeclaration */: // This one is not truly a function, but for formatting purposes, it acts just like one + case 236 /* InterfaceDeclaration */: // This one is not truly a function, but for formatting purposes, it acts just like one return true; } return false; @@ -96962,40 +97559,40 @@ var ts; return !isFunctionDeclContext(context); } function isFunctionDeclarationOrFunctionExpressionContext(context) { - return context.contextNode.kind === 233 /* FunctionDeclaration */ || context.contextNode.kind === 191 /* FunctionExpression */; + return context.contextNode.kind === 234 /* FunctionDeclaration */ || context.contextNode.kind === 192 /* FunctionExpression */; } function isTypeScriptDeclWithBlockContext(context) { return nodeIsTypeScriptDeclWithBlockContext(context.contextNode); } function nodeIsTypeScriptDeclWithBlockContext(node) { switch (node.kind) { - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 165 /* TypeLiteral */: - case 238 /* ModuleDeclaration */: - case 249 /* ExportDeclaration */: - case 250 /* NamedExports */: - case 243 /* ImportDeclaration */: - case 246 /* NamedImports */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 166 /* TypeLiteral */: + case 239 /* ModuleDeclaration */: + case 250 /* ExportDeclaration */: + case 251 /* NamedExports */: + case 244 /* ImportDeclaration */: + case 247 /* NamedImports */: return true; } return false; } function isAfterCodeBlockContext(context) { switch (context.currentTokenParent.kind) { - case 234 /* ClassDeclaration */: - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 268 /* CatchClause */: - case 239 /* ModuleBlock */: - case 226 /* SwitchStatement */: + case 235 /* ClassDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 269 /* CatchClause */: + case 240 /* ModuleBlock */: + case 227 /* SwitchStatement */: return true; - case 212 /* Block */: { + case 213 /* Block */: { var blockParent = context.currentTokenParent.parent; // In a codefix scenario, we can't rely on parents being set. So just always return true. - if (!blockParent || blockParent.kind !== 192 /* ArrowFunction */ && blockParent.kind !== 191 /* FunctionExpression */) { + if (!blockParent || blockParent.kind !== 193 /* ArrowFunction */ && blockParent.kind !== 192 /* FunctionExpression */) { return true; } } @@ -97004,31 +97601,31 @@ var ts; } function isControlDeclContext(context) { switch (context.contextNode.kind) { - case 216 /* IfStatement */: - case 226 /* SwitchStatement */: - case 219 /* ForStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 218 /* WhileStatement */: - case 229 /* TryStatement */: - case 217 /* DoStatement */: - case 225 /* WithStatement */: + case 217 /* IfStatement */: + case 227 /* SwitchStatement */: + case 220 /* ForStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 219 /* WhileStatement */: + case 230 /* TryStatement */: + case 218 /* DoStatement */: + case 226 /* WithStatement */: // TODO // case SyntaxKind.ElseClause: - case 268 /* CatchClause */: + case 269 /* CatchClause */: return true; default: return false; } } function isObjectContext(context) { - return context.contextNode.kind === 183 /* ObjectLiteralExpression */; + return context.contextNode.kind === 184 /* ObjectLiteralExpression */; } function isFunctionCallContext(context) { - return context.contextNode.kind === 186 /* CallExpression */; + return context.contextNode.kind === 187 /* CallExpression */; } function isNewContext(context) { - return context.contextNode.kind === 187 /* NewExpression */; + return context.contextNode.kind === 188 /* NewExpression */; } function isFunctionCallOrNewContext(context) { return isFunctionCallContext(context) || isNewContext(context); @@ -97040,35 +97637,35 @@ var ts; return context.nextTokenSpan.kind !== 22 /* CloseBracketToken */; } function isArrowFunctionContext(context) { - return context.contextNode.kind === 192 /* ArrowFunction */; + return context.contextNode.kind === 193 /* ArrowFunction */; } function isImportTypeContext(context) { - return context.contextNode.kind === 178 /* ImportType */; + return context.contextNode.kind === 179 /* ImportType */; } function isNonJsxSameLineTokenContext(context) { return context.TokensAreOnSameLine() && context.contextNode.kind !== 10 /* JsxText */; } function isNonJsxElementOrFragmentContext(context) { - return context.contextNode.kind !== 254 /* JsxElement */ && context.contextNode.kind !== 258 /* JsxFragment */; + return context.contextNode.kind !== 255 /* JsxElement */ && context.contextNode.kind !== 259 /* JsxFragment */; } function isJsxExpressionContext(context) { - return context.contextNode.kind === 264 /* JsxExpression */ || context.contextNode.kind === 263 /* JsxSpreadAttribute */; + return context.contextNode.kind === 265 /* JsxExpression */ || context.contextNode.kind === 264 /* JsxSpreadAttribute */; } function isNextTokenParentJsxAttribute(context) { - return context.nextTokenParent.kind === 261 /* JsxAttribute */; + return context.nextTokenParent.kind === 262 /* JsxAttribute */; } function isJsxAttributeContext(context) { - return context.contextNode.kind === 261 /* JsxAttribute */; + return context.contextNode.kind === 262 /* JsxAttribute */; } function isJsxSelfClosingElementContext(context) { - return context.contextNode.kind === 255 /* JsxSelfClosingElement */; + return context.contextNode.kind === 256 /* JsxSelfClosingElement */; } function isNotBeforeBlockInFunctionDeclarationContext(context) { return !isFunctionDeclContext(context) && !isBeforeBlockContext(context); } function isEndOfDecoratorContextOnSameLine(context) { return context.TokensAreOnSameLine() && - context.contextNode.decorators && + !!context.contextNode.decorators && nodeIsInDecoratorContext(context.currentTokenParent) && !nodeIsInDecoratorContext(context.nextTokenParent); } @@ -97076,45 +97673,45 @@ var ts; while (ts.isExpressionNode(node)) { node = node.parent; } - return node.kind === 149 /* Decorator */; + return node.kind === 150 /* Decorator */; } function isStartOfVariableDeclarationList(context) { - return context.currentTokenParent.kind === 232 /* VariableDeclarationList */ && + return context.currentTokenParent.kind === 233 /* VariableDeclarationList */ && context.currentTokenParent.getStart(context.sourceFile) === context.currentTokenSpan.pos; } function isNotFormatOnEnter(context) { return context.formattingRequestKind !== 2 /* FormatOnEnter */; } function isModuleDeclContext(context) { - return context.contextNode.kind === 238 /* ModuleDeclaration */; + return context.contextNode.kind === 239 /* ModuleDeclaration */; } function isObjectTypeContext(context) { - return context.contextNode.kind === 165 /* TypeLiteral */; // && context.contextNode.parent.kind !== SyntaxKind.InterfaceDeclaration; + return context.contextNode.kind === 166 /* TypeLiteral */; // && context.contextNode.parent.kind !== SyntaxKind.InterfaceDeclaration; } function isConstructorSignatureContext(context) { - return context.contextNode.kind === 158 /* ConstructSignature */; + return context.contextNode.kind === 159 /* ConstructSignature */; } function isTypeArgumentOrParameterOrAssertion(token, parent) { if (token.kind !== 27 /* LessThanToken */ && token.kind !== 29 /* GreaterThanToken */) { return false; } switch (parent.kind) { - case 161 /* TypeReference */: - case 189 /* TypeAssertionExpression */: - case 236 /* TypeAliasDeclaration */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 206 /* ExpressionWithTypeArguments */: + case 162 /* TypeReference */: + case 190 /* TypeAssertionExpression */: + case 237 /* TypeAliasDeclaration */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 207 /* ExpressionWithTypeArguments */: return true; default: return false; @@ -97125,16 +97722,16 @@ var ts; isTypeArgumentOrParameterOrAssertion(context.nextTokenSpan, context.nextTokenParent); } function isTypeAssertionContext(context) { - return context.contextNode.kind === 189 /* TypeAssertionExpression */; + return context.contextNode.kind === 190 /* TypeAssertionExpression */; } function isVoidOpContext(context) { - return context.currentTokenSpan.kind === 105 /* VoidKeyword */ && context.currentTokenParent.kind === 195 /* VoidExpression */; + return context.currentTokenSpan.kind === 105 /* VoidKeyword */ && context.currentTokenParent.kind === 196 /* VoidExpression */; } function isYieldOrYieldStarWithOperand(context) { - return context.contextNode.kind === 202 /* YieldExpression */ && context.contextNode.expression !== undefined; + return context.contextNode.kind === 203 /* YieldExpression */ && context.contextNode.expression !== undefined; } function isNonNullAssertionContext(context) { - return context.contextNode.kind === 208 /* NonNullExpression */; + return context.contextNode.kind === 209 /* NonNullExpression */; } })(formatting = ts.formatting || (ts.formatting = {})); })(ts || (ts = {})); @@ -97185,12 +97782,12 @@ var ts; return map; } function getRuleBucketIndex(row, column) { - ts.Debug.assert(row <= 144 /* LastKeyword */ && column <= 144 /* LastKeyword */, "Must compute formatting context from tokens"); + ts.Debug.assert(row <= 145 /* LastKeyword */ && column <= 145 /* LastKeyword */, "Must compute formatting context from tokens"); return (row * mapRowLength) + column; } var maskBitSize = 5; var mask = 31; // MaskBitSize bits - var mapRowLength = 144 /* LastToken */ + 1; + var mapRowLength = 145 /* LastToken */ + 1; var RulesPosition; (function (RulesPosition) { RulesPosition[RulesPosition["IgnoreRulesSpecific"] = 0] = "IgnoreRulesSpecific"; @@ -97368,17 +97965,17 @@ var ts; // i.e. parent is class declaration with the list of members and node is one of members. function isListElement(parent, node) { switch (parent.kind) { - case 234 /* ClassDeclaration */: - case 235 /* InterfaceDeclaration */: + case 235 /* ClassDeclaration */: + case 236 /* InterfaceDeclaration */: return ts.rangeContainsRange(parent.members, node); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: var body = parent.body; - return body && body.kind === 239 /* ModuleBlock */ && ts.rangeContainsRange(body.statements, node); - case 273 /* SourceFile */: - case 212 /* Block */: - case 239 /* ModuleBlock */: + return !!body && body.kind === 240 /* ModuleBlock */ && ts.rangeContainsRange(body.statements, node); + case 274 /* SourceFile */: + case 213 /* Block */: + case 240 /* ModuleBlock */: return ts.rangeContainsRange(parent.statements, node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return ts.rangeContainsRange(parent.block.statements, node); } return false; @@ -97407,7 +98004,7 @@ var ts; } // pick only errors that fall in range var sorted = errors - .filter(function (d) { return ts.rangeOverlapsWithStartEnd(originalRange, d.start, d.start + d.length); }) + .filter(function (d) { return ts.rangeOverlapsWithStartEnd(originalRange, d.start, d.start + d.length); }) // TODO: GH#18217 .sort(function (e1, e2) { return e1.start - e2.start; }); if (!sorted.length) { return rangeHasNoErrors; @@ -97535,7 +98132,7 @@ var ts; if (!formattingScanner.isOnToken()) { var leadingTrivia = formattingScanner.getCurrentLeadingTrivia(); if (leadingTrivia) { - processTrivia(leadingTrivia, enclosingNode, enclosingNode, /*dynamicIndentation*/ undefined); + processTrivia(leadingTrivia, enclosingNode, enclosingNode, /*dynamicIndentation*/ undefined); // TODO: GH#18217 trimTrailingWhitespacesForRemainingRange(); } } @@ -97601,19 +98198,19 @@ var ts; return node.modifiers[0].kind; } switch (node.kind) { - case 234 /* ClassDeclaration */: return 75 /* ClassKeyword */; - case 235 /* InterfaceDeclaration */: return 109 /* InterfaceKeyword */; - case 233 /* FunctionDeclaration */: return 89 /* FunctionKeyword */; - case 237 /* EnumDeclaration */: return 237 /* EnumDeclaration */; - case 155 /* GetAccessor */: return 125 /* GetKeyword */; - case 156 /* SetAccessor */: return 136 /* SetKeyword */; - case 153 /* MethodDeclaration */: + case 235 /* ClassDeclaration */: return 75 /* ClassKeyword */; + case 236 /* InterfaceDeclaration */: return 109 /* InterfaceKeyword */; + case 234 /* FunctionDeclaration */: return 89 /* FunctionKeyword */; + case 238 /* EnumDeclaration */: return 238 /* EnumDeclaration */; + case 156 /* GetAccessor */: return 125 /* GetKeyword */; + case 157 /* SetAccessor */: return 136 /* SetKeyword */; + case 154 /* MethodDeclaration */: if (node.asteriskToken) { return 39 /* AsteriskToken */; } // falls through - case 151 /* PropertyDeclaration */: - case 148 /* Parameter */: + case 152 /* PropertyDeclaration */: + case 149 /* Parameter */: return ts.getNameOfDeclaration(node).kind; } } @@ -97658,15 +98255,15 @@ var ts; case 41 /* SlashToken */: case 29 /* GreaterThanToken */: switch (container.kind) { - case 256 /* JsxOpeningElement */: - case 257 /* JsxClosingElement */: - case 255 /* JsxSelfClosingElement */: + case 257 /* JsxOpeningElement */: + case 258 /* JsxClosingElement */: + case 256 /* JsxSelfClosingElement */: return false; } break; case 21 /* OpenBracketToken */: case 22 /* CloseBracketToken */: - if (container.kind !== 176 /* MappedType */) { + if (container.kind !== 177 /* MappedType */) { return false; } break; @@ -97758,7 +98355,7 @@ var ts; consumeTokenAndAdvanceScanner(tokenInfo, node, parentDynamicIndentation, child); return inheritedIndentation; } - var effectiveParentStartLine = child.kind === 149 /* Decorator */ ? childStartLine : undecoratedParentStartLine; + var effectiveParentStartLine = child.kind === 150 /* Decorator */ ? childStartLine : undecoratedParentStartLine; var childIndentation = computeIndentation(child, childStartLine, childIndentationAmount, node, parentDynamicIndentation, effectiveParentStartLine); processNode(child, childContextNode, childStartLine, undecoratedChildStartLine, childIndentation.indentation, childIndentation.delta); if (child.kind === 10 /* JsxText */) { @@ -97766,7 +98363,7 @@ var ts; indentMultilineCommentOrJsxText(range, childIndentation.indentation, /*firstLineIsIndented*/ true, /*indentFinalLine*/ false); } childContextNode = node; - if (isFirstListItem && parent.kind === 182 /* ArrayLiteralExpression */ && inheritedIndentation === -1 /* Unknown */) { + if (isFirstListItem && parent.kind === 183 /* ArrayLiteralExpression */ && inheritedIndentation === -1 /* Unknown */) { inheritedIndentation = childIndentation.indentation; } return inheritedIndentation; @@ -97896,6 +98493,7 @@ var ts; } } } + // TODO: GH#18217 use an enum instead of `boolean | undefined` function processRange(range, rangeStart, parent, contextNode, dynamicIndentation) { var rangeHasError = rangeContainsError(range); var lineAction = 0 /* None */; @@ -98177,12 +98775,12 @@ var ts; formatting.getRangeOfEnclosingComment = getRangeOfEnclosingComment; function getOpenTokenForList(node, list) { switch (node.kind) { - case 154 /* Constructor */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 192 /* ArrowFunction */: + case 155 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 193 /* ArrowFunction */: if (node.typeParameters === list) { return 27 /* LessThanToken */; } @@ -98190,8 +98788,8 @@ var ts; return 19 /* OpenParenToken */; } break; - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: if (node.typeArguments === list) { return 27 /* LessThanToken */; } @@ -98199,7 +98797,7 @@ var ts; return 19 /* OpenParenToken */; } break; - case 161 /* TypeReference */: + case 162 /* TypeReference */: if (node.typeArguments === list) { return 27 /* LessThanToken */; } @@ -98316,7 +98914,7 @@ var ts; if (options.indentStyle === ts.IndentStyle.Block) { return getBlockIndent(sourceFile, position, options); } - if (precedingToken.kind === 26 /* CommaToken */ && precedingToken.parent.kind !== 199 /* BinaryExpression */) { + if (precedingToken.kind === 26 /* CommaToken */ && precedingToken.parent.kind !== 200 /* BinaryExpression */) { // previous token is comma that separates items in list - find the previous item and try to derive indentation from it var actualIndentation = getActualIndentationForListItemBeforeComma(precedingToken, sourceFile, options); if (actualIndentation !== -1 /* Unknown */) { @@ -98368,7 +98966,7 @@ var ts; // handle cases when codefix is about to be inserted before the close brace ? assumeNewLineBeforeCloseBrace && nextTokenKind === 2 /* CloseBrace */ ? options.indentSize : 0 : lineAtPosition !== currentStart.line ? options.indentSize : 0; - return getIndentationForNodeWorker(current, currentStart, /*ignoreActualIndentationRange*/ undefined, indentationDelta, sourceFile, /*isNextChild*/ true, options); + return getIndentationForNodeWorker(current, currentStart, /*ignoreActualIndentationRange*/ undefined, indentationDelta, sourceFile, /*isNextChild*/ true, options); // TODO: GH#18217 } // check if current node is a list item - if yes, take indentation from it var actualIndentation = getActualIndentationForListItem(current, sourceFile, options); @@ -98377,7 +98975,7 @@ var ts; } actualIndentation = getLineIndentationWhenExpressionIsInMultiLine(current, sourceFile, options); if (actualIndentation !== -1 /* Unknown */) { - return actualIndentation + options.indentSize; + return actualIndentation + options.indentSize; // TODO: GH#18217 } previous = current; current = current.parent; @@ -98472,7 +99070,7 @@ var ts; // - parent is SourceFile - by default immediate children of SourceFile are not indented except when user indents them manually // - parent and child are not on the same line var useActualIndentation = (ts.isDeclaration(current) || ts.isStatementButNotDeclaration(current)) && - (parent.kind === 273 /* SourceFile */ || !parentAndChildShareLine); + (parent.kind === 274 /* SourceFile */ || !parentAndChildShareLine); if (!useActualIndentation) { return -1 /* Unknown */; } @@ -98520,7 +99118,7 @@ var ts; } SmartIndenter.isArgumentAndStartLineOverlapsExpressionBeingCalled = isArgumentAndStartLineOverlapsExpressionBeingCalled; function childStartsOnTheSameLineWithElseInIfStatement(parent, child, childStartLine, sourceFile) { - if (parent.kind === 216 /* IfStatement */ && parent.elseStatement === child) { + if (parent.kind === 217 /* IfStatement */ && parent.elseStatement === child) { var elseKeyword = ts.findChildOfKind(parent, 82 /* ElseKeyword */, sourceFile); ts.Debug.assert(elseKeyword !== undefined); var elseKeywordStartLine = getStartLineAndCharacterForNode(elseKeyword, sourceFile).line; @@ -98536,40 +99134,40 @@ var ts; if (node.parent) { var end = node.end; switch (node.parent.kind) { - case 161 /* TypeReference */: + case 162 /* TypeReference */: return getListIfStartEndIsInListRange(node.parent.typeArguments, node.getStart(sourceFile), end); - case 183 /* ObjectLiteralExpression */: + case 184 /* ObjectLiteralExpression */: return node.parent.properties; - case 182 /* ArrayLiteralExpression */: + case 183 /* ArrayLiteralExpression */: return node.parent.elements; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 154 /* Constructor */: - case 163 /* ConstructorType */: - case 158 /* ConstructSignature */: { + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 155 /* Constructor */: + case 164 /* ConstructorType */: + case 159 /* ConstructSignature */: { var start = node.getStart(sourceFile); return getListIfStartEndIsInListRange(node.parent.typeParameters, start, end) || getListIfStartEndIsInListRange(node.parent.parameters, start, end); } - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return getListIfStartEndIsInListRange(node.parent.typeParameters, node.getStart(sourceFile), end); - case 187 /* NewExpression */: - case 186 /* CallExpression */: { + case 188 /* NewExpression */: + case 187 /* CallExpression */: { var start = node.getStart(sourceFile); return getListIfStartEndIsInListRange(node.parent.typeArguments, start, end) || getListIfStartEndIsInListRange(node.parent.arguments, start, end); } - case 232 /* VariableDeclarationList */: + case 233 /* VariableDeclarationList */: return getListIfStartEndIsInListRange(node.parent.declarations, node.getStart(sourceFile), end); - case 246 /* NamedImports */: - case 250 /* NamedExports */: + case 247 /* NamedImports */: + case 251 /* NamedExports */: return getListIfStartEndIsInListRange(node.parent.elements, node.getStart(sourceFile), end); - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: return getListIfStartEndIsInListRange(node.parent.elements, node.getStart(sourceFile), end); } } @@ -98609,10 +99207,10 @@ var ts; function getStartingExpression(node) { while (true) { switch (node.kind) { - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 184 /* PropertyAccessExpression */: - case 185 /* ElementAccessExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 185 /* PropertyAccessExpression */: + case 186 /* ElementAccessExpression */: node = node.expression; break; default: @@ -98674,91 +99272,89 @@ var ts; return findFirstNonWhitespaceCharacterAndColumn(startPos, endPos, sourceFile, options).column; } SmartIndenter.findFirstNonWhitespaceColumn = findFirstNonWhitespaceColumn; - function nodeContentIsAlwaysIndented(kind) { - switch (kind) { - case 215 /* ExpressionStatement */: - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 182 /* ArrayLiteralExpression */: - case 212 /* Block */: - case 239 /* ModuleBlock */: - case 183 /* ObjectLiteralExpression */: - case 165 /* TypeLiteral */: - case 176 /* MappedType */: - case 167 /* TupleType */: - case 240 /* CaseBlock */: - case 266 /* DefaultClause */: - case 265 /* CaseClause */: - case 190 /* ParenthesizedExpression */: - case 184 /* PropertyAccessExpression */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 213 /* VariableStatement */: - case 231 /* VariableDeclaration */: - case 248 /* ExportAssignment */: - case 224 /* ReturnStatement */: - case 200 /* ConditionalExpression */: - case 180 /* ArrayBindingPattern */: - case 179 /* ObjectBindingPattern */: - case 256 /* JsxOpeningElement */: - case 259 /* JsxOpeningFragment */: - case 255 /* JsxSelfClosingElement */: - case 264 /* JsxExpression */: - case 152 /* MethodSignature */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 148 /* Parameter */: - case 162 /* FunctionType */: - case 163 /* ConstructorType */: - case 172 /* ParenthesizedType */: - case 188 /* TaggedTemplateExpression */: - case 196 /* AwaitExpression */: - case 250 /* NamedExports */: - case 246 /* NamedImports */: - case 251 /* ExportSpecifier */: - case 247 /* ImportSpecifier */: - case 269 /* PropertyAssignment */: - case 151 /* PropertyDeclaration */: - return true; - } - return false; - } function nodeWillIndentChild(settings, parent, child, sourceFile, indentByDefault) { var childKind = child ? child.kind : 0 /* Unknown */; switch (parent.kind) { - case 231 /* VariableDeclaration */: - case 269 /* PropertyAssignment */: - case 183 /* ObjectLiteralExpression */: - if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 183 /* ObjectLiteralExpression */) { + case 216 /* ExpressionStatement */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 183 /* ArrayLiteralExpression */: + case 213 /* Block */: + case 240 /* ModuleBlock */: + case 184 /* ObjectLiteralExpression */: + case 166 /* TypeLiteral */: + case 177 /* MappedType */: + case 168 /* TupleType */: + case 241 /* CaseBlock */: + case 267 /* DefaultClause */: + case 266 /* CaseClause */: + case 191 /* ParenthesizedExpression */: + case 185 /* PropertyAccessExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 214 /* VariableStatement */: + case 249 /* ExportAssignment */: + case 225 /* ReturnStatement */: + case 201 /* ConditionalExpression */: + case 181 /* ArrayBindingPattern */: + case 180 /* ObjectBindingPattern */: + case 257 /* JsxOpeningElement */: + case 260 /* JsxOpeningFragment */: + case 256 /* JsxSelfClosingElement */: + case 265 /* JsxExpression */: + case 153 /* MethodSignature */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 149 /* Parameter */: + case 163 /* FunctionType */: + case 164 /* ConstructorType */: + case 173 /* ParenthesizedType */: + case 189 /* TaggedTemplateExpression */: + case 197 /* AwaitExpression */: + case 251 /* NamedExports */: + case 247 /* NamedImports */: + case 252 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 152 /* PropertyDeclaration */: + return true; + case 232 /* VariableDeclaration */: + case 270 /* PropertyAssignment */: + if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 184 /* ObjectLiteralExpression */) { // TODO: GH#18217 return rangeIsOnOneLine(sourceFile, child); } - break; - case 217 /* DoStatement */: - case 218 /* WhileStatement */: - case 220 /* ForInStatement */: - case 221 /* ForOfStatement */: - case 219 /* ForStatement */: - case 216 /* IfStatement */: - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 192 /* ArrowFunction */: - case 154 /* Constructor */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - return childKind !== 212 /* Block */; - case 249 /* ExportDeclaration */: - return childKind !== 250 /* NamedExports */; - case 243 /* ImportDeclaration */: - return childKind !== 244 /* ImportClause */ || - (!!child.namedBindings && child.namedBindings.kind !== 246 /* NamedImports */); - case 254 /* JsxElement */: - return childKind !== 257 /* JsxClosingElement */; - case 258 /* JsxFragment */: - return childKind !== 260 /* JsxClosingFragment */; + return true; + case 218 /* DoStatement */: + case 219 /* WhileStatement */: + case 221 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 220 /* ForStatement */: + case 217 /* IfStatement */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 193 /* ArrowFunction */: + case 155 /* Constructor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + return childKind !== 213 /* Block */; + case 250 /* ExportDeclaration */: + return childKind !== 251 /* NamedExports */; + case 244 /* ImportDeclaration */: + return childKind !== 245 /* ImportClause */ || + (!!child.namedBindings && child.namedBindings.kind !== 247 /* NamedImports */); + case 255 /* JsxElement */: + return childKind !== 258 /* JsxClosingElement */; + case 259 /* JsxFragment */: + return childKind !== 261 /* JsxClosingFragment */; + case 170 /* IntersectionType */: + case 169 /* UnionType */: + if (childKind === 166 /* TypeLiteral */) { + return false; + } + // falls through } // No explicit rule for given nodes so the result will follow the default value argument return indentByDefault; @@ -98766,17 +99362,17 @@ var ts; SmartIndenter.nodeWillIndentChild = nodeWillIndentChild; function isControlFlowEndingStatement(kind, parent) { switch (kind) { - case 224 /* ReturnStatement */: - case 228 /* ThrowStatement */: { - if (parent.kind !== 212 /* Block */) { + case 225 /* ReturnStatement */: + case 229 /* ThrowStatement */: { + if (parent.kind !== 213 /* Block */) { return true; } var grandParent = parent.parent; // In a function, we may want to write inner functions after this. - return !(grandParent && grandParent.kind === 191 /* FunctionExpression */ || grandParent.kind === 233 /* FunctionDeclaration */); + return !(grandParent && grandParent.kind === 192 /* FunctionExpression */ || grandParent.kind === 234 /* FunctionDeclaration */); } - case 222 /* ContinueStatement */: - case 223 /* BreakStatement */: + case 223 /* ContinueStatement */: + case 224 /* BreakStatement */: return true; default: return false; @@ -98788,7 +99384,7 @@ var ts; */ function shouldIndentChildNode(settings, parent, child, sourceFile, isNextChild) { if (isNextChild === void 0) { isNextChild = false; } - return (nodeContentIsAlwaysIndented(parent.kind) || nodeWillIndentChild(settings, parent, child, sourceFile, /*indentByDefault*/ false)) + return nodeWillIndentChild(settings, parent, child, sourceFile, /*indentByDefault*/ false) && !(isNextChild && child && isControlFlowEndingStatement(child.kind, parent)); } SmartIndenter.shouldIndentChildNode = shouldIndentChildNode; @@ -98905,7 +99501,7 @@ var ts; * Checks if 'candidate' argument is a legal separator in the list that contains 'node' as an element */ function isSeparator(node, candidate) { - return candidate && node.parent && (candidate.kind === 26 /* CommaToken */ || (candidate.kind === 25 /* SemicolonToken */ && node.parent.kind === 183 /* ObjectLiteralExpression */)); + return !!candidate && !!node.parent && (candidate.kind === 26 /* CommaToken */ || (candidate.kind === 25 /* SemicolonToken */ && node.parent.kind === 184 /* ObjectLiteralExpression */)); } function spaces(count) { var s = ""; @@ -98951,6 +99547,12 @@ var ts; this.deleteRange(sourceFile, { pos: startPosition, end: endPosition }); return this; }; + ChangeTracker.prototype.deleteNodeRangeExcludingEnd = function (sourceFile, startNode, afterEndNode, options) { + if (options === void 0) { options = {}; } + var startPosition = getAdjustedStartPosition(sourceFile, startNode, options, Position.FullStart); + var endPosition = afterEndNode === undefined ? sourceFile.text.length : getAdjustedStartPosition(sourceFile, afterEndNode, options, Position.FullStart); + this.deleteRange(sourceFile, { pos: startPosition, end: endPosition }); + }; ChangeTracker.prototype.deleteNodeInList = function (sourceFile, node) { var containingList = ts.formatting.SmartIndenter.getContainingList(node, sourceFile); if (!containingList) { @@ -99064,7 +99666,7 @@ var ts; } } else { - endNode = node.kind !== 231 /* VariableDeclaration */ && node.questionToken ? node.questionToken : node.name; + endNode = node.kind !== 232 /* VariableDeclaration */ && node.questionToken ? node.questionToken : node.name; } this.insertNodeAt(sourceFile, endNode.end, type, { prefix: ": " }); }; @@ -99168,7 +99770,7 @@ var ts; else if (ts.isStatement(node) || ts.isClassOrTypeElement(node)) { return { suffix: this.newLineCharacter }; } - else if (ts.isVariableDeclaration(node)) { + else if (ts.isVariableDeclaration(node) || ts.isStringLiteral(node)) { return { prefix: ", " }; } else if (ts.isPropertyAssignment(node)) { @@ -99181,7 +99783,7 @@ var ts; }; ChangeTracker.prototype.insertName = function (sourceFile, node, name) { ts.Debug.assert(!node.name); - if (node.kind === 192 /* ArrowFunction */) { + if (node.kind === 193 /* ArrowFunction */) { var arrow = ts.findChildOfKind(node, 36 /* EqualsGreaterThanToken */, sourceFile); var lparen = ts.findChildOfKind(node, 19 /* OpenParenToken */, sourceFile); if (lparen) { @@ -99195,14 +99797,14 @@ var ts; // Replacing full range of arrow to get rid of the leading space -- replace ` =>` with `)` this.replaceRange(sourceFile, arrow, ts.createToken(20 /* CloseParenToken */)); } - if (node.body.kind !== 212 /* Block */) { + if (node.body.kind !== 213 /* Block */) { // `() => 0` => `function f() { return 0; }` this.insertNodesAt(sourceFile, node.body.getStart(sourceFile), [ts.createToken(17 /* OpenBraceToken */), ts.createToken(96 /* ReturnKeyword */)], { joiner: " ", suffix: " " }); this.insertNodesAt(sourceFile, node.body.end, [ts.createToken(25 /* SemicolonToken */), ts.createToken(18 /* CloseBraceToken */)], { joiner: " " }); } } else { - var pos = ts.findChildOfKind(node, node.kind === 191 /* FunctionExpression */ ? 89 /* FunctionKeyword */ : 75 /* ClassKeyword */, sourceFile).end; + var pos = ts.findChildOfKind(node, node.kind === 192 /* FunctionExpression */ ? 89 /* FunctionKeyword */ : 75 /* ClassKeyword */, sourceFile).end; this.insertNodeAt(sourceFile, pos, ts.createIdentifier(name), { prefix: " " }); } }; @@ -99358,7 +99960,7 @@ var ts; var changes = changesToText.getTextChangesFromChanges(this.changes, this.newLineCharacter, this.formatContext, validate); for (var _i = 0, _a = this.newFiles; _i < _a.length; _i++) { var _b = _a[_i], oldFile = _b.oldFile, fileName = _b.fileName, statements = _b.statements; - changes.push(changesToText.newFileChanges(oldFile, fileName, statements, this.newLineCharacter)); + changes.push(changesToText.newFileChanges(oldFile, fileName, statements, this.newLineCharacter, this.formatContext)); } return changes; }; @@ -99383,14 +99985,14 @@ var ts; // order changes by start position // If the start position is the same, put the shorter range first, since an empty range (x, x) may precede (x, y) but not vice-versa. var normalized = ts.stableSort(changesInFile, function (a, b) { return (a.range.pos - b.range.pos) || (a.range.end - b.range.end); }); - var _loop_18 = function (i) { + var _loop_21 = function (i) { ts.Debug.assert(normalized[i].range.end <= normalized[i + 1].range.pos, "Changes overlap", function () { return JSON.stringify(normalized[i].range) + " and " + JSON.stringify(normalized[i + 1].range); }); }; // verify that change intervals do not overlap, except possibly at end points. for (var i = 0; i < normalized.length - 1; i++) { - _loop_18(i); + _loop_21(i); } var textChanges = normalized.map(function (c) { return ts.createTextChange(ts.createTextSpanFromRange(c.range), computeNewText(c, sourceFile, newLineCharacter, formatContext, validate)); @@ -99399,8 +100001,12 @@ var ts; }); } changesToText.getTextChangesFromChanges = getTextChangesFromChanges; - function newFileChanges(oldFile, fileName, statements, newLineCharacter) { - var text = statements.map(function (s) { return getNonformattedText(s, oldFile, newLineCharacter).text; }).join(newLineCharacter); + function newFileChanges(oldFile, fileName, statements, newLineCharacter, formatContext) { + // TODO: this emits the file, parses it back, then formats it that -- may be a less roundabout way to do this + var nonFormattedText = statements.map(function (s) { return getNonformattedText(s, oldFile, newLineCharacter).text; }).join(newLineCharacter); + var sourceFile = ts.createSourceFile(fileName, nonFormattedText, 6 /* ESNext */); + var changes = ts.formatting.formatDocument(sourceFile, formatContext); + var text = applyChanges(nonFormattedText, changes); return { fileName: fileName, textChanges: [ts.createTextChange(ts.createTextSpan(0, 0), text)], isNewFile: true }; } changesToText.newFileChanges = newFileChanges; @@ -99414,7 +100020,7 @@ var ts; var _a = change.options, options = _a === void 0 ? {} : _a, pos = change.range.pos; var format = function (n) { return getFormattedTextOfNode(n, sourceFile, pos, options, newLineCharacter, formatContext, validate); }; var text = change.kind === ChangeKind.ReplaceWithMultipleNodes - ? change.nodes.map(function (n) { return ts.removeSuffix(format(n), newLineCharacter); }).join(change.options.joiner || newLineCharacter) + ? change.nodes.map(function (n) { return ts.removeSuffix(format(n), newLineCharacter); }).join(change.options.joiner || newLineCharacter) // TODO: GH#18217 : format(change.node); // strip initial indentation (spaces or tabs) if text will be inserted in the middle of the line var noIndent = (options.preserveLeadingWhitespace || options.indentation !== undefined || ts.getLineStartPositionForPosition(pos, sourceFile) === pos) ? text : text.replace(/^\s+/, ""); @@ -99457,7 +100063,7 @@ var ts; return ts.skipTrivia(s, 0) === s.length; } function assignPositionsToNode(node) { - var visited = ts.visitEachChild(node, assignPositionsToNode, ts.nullTransformationContext, assignPositionsToNodeArray, assignPositionsToNode); + var visited = ts.visitEachChild(node, assignPositionsToNode, ts.nullTransformationContext, assignPositionsToNodeArray, assignPositionsToNode); // TODO: GH#18217 // create proxy node for non synthesized nodes var newNode = ts.nodeIsSynthesized(visited) ? visited : Object.create(visited); newNode.pos = getPos(node); @@ -99647,7 +100253,7 @@ var ts; } textChanges_3.isValidLocationToAddComment = isValidLocationToAddComment; function needSemicolonBetween(a, b) { - return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 146 /* ComputedPropertyName */ + return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 147 /* ComputedPropertyName */ || ts.isStatementButNotDeclaration(a) && ts.isStatementButNotDeclaration(b); // TODO: only if b would start with a `(` or `[` } })(textChanges = ts.textChanges || (ts.textChanges = {})); @@ -99718,8 +100324,8 @@ var ts; } codefix.codeFixAll = codeFixAll; function eachDiagnostic(_a, errorCodes, cb) { - var program = _a.program, sourceFile = _a.sourceFile; - for (var _i = 0, _b = program.getSemanticDiagnostics(sourceFile).concat(ts.computeSuggestionDiagnostics(sourceFile, program)); _i < _b.length; _i++) { + var program = _a.program, sourceFile = _a.sourceFile, cancellationToken = _a.cancellationToken; + for (var _i = 0, _b = program.getSemanticDiagnostics(sourceFile, cancellationToken).concat(ts.computeSuggestionDiagnostics(sourceFile, program, cancellationToken)); _i < _b.length; _i++) { var diag = _b[_i]; if (ts.contains(errorCodes, diag.code)) { cb(diag); @@ -99855,29 +100461,29 @@ var ts; } function isDeclarationWithType(node) { return ts.isFunctionLikeDeclaration(node) || - node.kind === 231 /* VariableDeclaration */ || - node.kind === 150 /* PropertySignature */ || - node.kind === 151 /* PropertyDeclaration */; + node.kind === 232 /* VariableDeclaration */ || + node.kind === 151 /* PropertySignature */ || + node.kind === 152 /* PropertyDeclaration */; } function transformJSDocType(node) { switch (node.kind) { - case 278 /* JSDocAllType */: - case 279 /* JSDocUnknownType */: + case 279 /* JSDocAllType */: + case 280 /* JSDocUnknownType */: return ts.createTypeReferenceNode("any", ts.emptyArray); - case 282 /* JSDocOptionalType */: + case 283 /* JSDocOptionalType */: return transformJSDocOptionalType(node); - case 281 /* JSDocNonNullableType */: + case 282 /* JSDocNonNullableType */: return transformJSDocType(node.type); - case 280 /* JSDocNullableType */: + case 281 /* JSDocNullableType */: return transformJSDocNullableType(node); - case 284 /* JSDocVariadicType */: + case 285 /* JSDocVariadicType */: return transformJSDocVariadicType(node); - case 283 /* JSDocFunctionType */: + case 284 /* JSDocFunctionType */: return transformJSDocFunctionType(node); - case 161 /* TypeReference */: + case 162 /* TypeReference */: return transformJSDocTypeReference(node); default: - var visited = ts.visitEachChild(node, transformJSDocType, /*context*/ undefined); + var visited = ts.visitEachChild(node, transformJSDocType, /*context*/ undefined); // TODO: GH#18217 ts.setEmitFlags(visited, 1 /* SingleLine */); return visited; } @@ -99896,7 +100502,7 @@ var ts; } function transformJSDocParameter(node) { var index = node.parent.parameters.indexOf(node); - var isRest = node.type.kind === 284 /* JSDocVariadicType */ && index === node.parent.parameters.length - 1; + var isRest = node.type.kind === 285 /* JSDocVariadicType */ && index === node.parent.parameters.length - 1; // TODO: GH#18217 var name = node.name || (isRest ? "rest" : "arg" + index); var dotdotdot = isRest ? ts.createToken(24 /* DotDotDotToken */) : node.dotDotDotToken; return ts.createParameter(node.decorators, node.modifiers, dotdotdot, name, node.questionToken, ts.visitNode(node.type, transformJSDocType), node.initializer); @@ -99972,16 +100578,16 @@ var ts; var precedingNode; var newClassDeclaration; switch (ctorDeclaration.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: precedingNode = ctorDeclaration; deleteNode(ctorDeclaration); newClassDeclaration = createClassFromFunctionDeclaration(ctorDeclaration); break; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: precedingNode = ctorDeclaration.parent.parent; newClassDeclaration = createClassFromVariableDeclaration(ctorDeclaration); if (ctorDeclaration.parent.declarations.length === 1) { - copyComments(precedingNode, newClassDeclaration, sourceFile); + copyComments(precedingNode, newClassDeclaration, sourceFile); // TODO: GH#18217 deleteNode(precedingNode); } else { @@ -100048,7 +100654,7 @@ var ts; return; } // delete the entire statement if this expression is the sole expression to take care of the semicolon at the end - var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 215 /* ExpressionStatement */ + var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 216 /* ExpressionStatement */ ? assignmentBinaryExpression.parent : assignmentBinaryExpression; deleteNode(nodeToDelete); if (!assignmentBinaryExpression.right) { @@ -100056,7 +100662,7 @@ var ts; /*type*/ undefined, /*initializer*/ undefined); } switch (assignmentBinaryExpression.right.kind) { - case 191 /* FunctionExpression */: { + case 192 /* FunctionExpression */: { var functionExpression = assignmentBinaryExpression.right; var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(functionExpression, 120 /* AsyncKeyword */)); var method = ts.createMethod(/*decorators*/ undefined, fullModifiers, /*asteriskToken*/ undefined, memberDeclaration.name, /*questionToken*/ undefined, @@ -100064,12 +100670,12 @@ var ts; copyComments(assignmentBinaryExpression, method, sourceFile); return method; } - case 192 /* ArrowFunction */: { + case 193 /* ArrowFunction */: { var arrowFunction = assignmentBinaryExpression.right; var arrowFunctionBody = arrowFunction.body; var bodyBlock = void 0; // case 1: () => { return [1,2,3] } - if (arrowFunctionBody.kind === 212 /* Block */) { + if (arrowFunctionBody.kind === 213 /* Block */) { bodyBlock = arrowFunctionBody; } // case 2: () => [1,2,3] @@ -100097,13 +100703,13 @@ var ts; } function createClassFromVariableDeclaration(node) { var initializer = node.initializer; - if (!initializer || initializer.kind !== 191 /* FunctionExpression */) { + if (!initializer || initializer.kind !== 192 /* FunctionExpression */) { return undefined; } if (node.name.kind !== 71 /* Identifier */) { return undefined; } - var memberElements = createClassElementsFromSymbol(initializer.symbol); + var memberElements = createClassElementsFromSymbol(node.symbol); if (initializer.body) { memberElements.unshift(ts.createConstructor(/*decorators*/ undefined, /*modifiers*/ undefined, initializer.parameters, initializer.body)); } @@ -100153,13 +100759,13 @@ var ts; codefix.registerCodeFix({ errorCodes: [ts.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module.code], getCodeActions: function (context) { - var sourceFile = context.sourceFile, program = context.program; + var sourceFile = context.sourceFile, program = context.program, preferences = context.preferences; var changes = ts.textChanges.ChangeTracker.with(context, function (changes) { - var moduleExportsChangedToDefault = convertFileToEs6Module(sourceFile, program.getTypeChecker(), changes, program.getCompilerOptions().target); + var moduleExportsChangedToDefault = convertFileToEs6Module(sourceFile, program.getTypeChecker(), changes, program.getCompilerOptions().target, preferences); if (moduleExportsChangedToDefault) { for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { var importingFile = _a[_i]; - fixImportOfModuleExports(importingFile, sourceFile, changes); + fixImportOfModuleExports(importingFile, sourceFile, changes, preferences); } } }); @@ -100167,7 +100773,7 @@ var ts; return [codefix.createCodeFixActionNoFixId("convertToEs6Module", changes, ts.Diagnostics.Convert_to_ES6_module)]; }, }); - function fixImportOfModuleExports(importingFile, exportingFile, changes) { + function fixImportOfModuleExports(importingFile, exportingFile, changes, preferences) { for (var _i = 0, _a = importingFile.imports; _i < _a.length; _i++) { var moduleSpecifier = _a[_i]; var imported = ts.getResolvedModule(importingFile, moduleSpecifier.text); @@ -100176,10 +100782,10 @@ var ts; } var importNode = ts.importFromModuleSpecifier(moduleSpecifier); switch (importNode.kind) { - case 242 /* ImportEqualsDeclaration */: - changes.replaceNode(importingFile, importNode, ts.makeImport(importNode.name, /*namedImports*/ undefined, moduleSpecifier)); + case 243 /* ImportEqualsDeclaration */: + changes.replaceNode(importingFile, importNode, ts.makeImport(importNode.name, /*namedImports*/ undefined, moduleSpecifier, preferences)); break; - case 186 /* CallExpression */: + case 187 /* CallExpression */: if (ts.isRequireCall(importNode, /*checkArgumentIsStringLiteralLike*/ false)) { changes.replaceNode(importingFile, importNode, ts.createPropertyAccess(ts.getSynthesizedDeepClone(importNode), "default")); } @@ -100188,14 +100794,14 @@ var ts; } } /** @returns Whether we converted a `module.exports =` to a default export. */ - function convertFileToEs6Module(sourceFile, checker, changes, target) { + function convertFileToEs6Module(sourceFile, checker, changes, target, preferences) { var identifiers = { original: collectFreeIdentifiers(sourceFile), additional: ts.createMap() }; var exports = collectExportRenames(sourceFile, checker, identifiers); convertExportsAccesses(sourceFile, exports, changes); var moduleExportsChangedToDefault = false; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var statement = _a[_i]; - var moduleExportsChanged = convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports); + var moduleExportsChanged = convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports, preferences); moduleExportsChangedToDefault = moduleExportsChangedToDefault || moduleExportsChanged; } return moduleExportsChangedToDefault; @@ -100230,22 +100836,22 @@ var ts; node.forEachChild(recur); }); } - function convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports) { + function convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports, preferences) { switch (statement.kind) { - case 213 /* VariableStatement */: - convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target); + case 214 /* VariableStatement */: + convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target, preferences); return false; - case 215 /* ExpressionStatement */: { + case 216 /* ExpressionStatement */: { var expression = statement.expression; switch (expression.kind) { - case 186 /* CallExpression */: { + case 187 /* CallExpression */: { if (ts.isRequireCall(expression, /*checkArgumentIsStringLiteralLike*/ true)) { // For side-effecting require() call, just make a side-effecting import. - changes.replaceNode(sourceFile, statement, ts.makeImport(/*name*/ undefined, /*namedImports*/ undefined, expression.arguments[0])); + changes.replaceNode(sourceFile, statement, ts.makeImport(/*name*/ undefined, /*namedImports*/ undefined, expression.arguments[0], preferences)); } return false; } - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var operatorToken = expression.operatorToken; return operatorToken.kind === 58 /* EqualsToken */ && convertAssignment(sourceFile, checker, expression, changes, exports); } @@ -100256,7 +100862,7 @@ var ts; return false; } } - function convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target) { + function convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target, preferences) { var declarationList = statement.declarationList; var foundImport = false; var newNodes = ts.flatMap(declarationList.declarations, function (decl) { @@ -100269,11 +100875,11 @@ var ts; } else if (ts.isRequireCall(initializer, /*checkArgumentIsStringLiteralLike*/ true)) { foundImport = true; - return convertSingleImport(sourceFile, name, initializer.arguments[0], changes, checker, identifiers, target); + return convertSingleImport(sourceFile, name, initializer.arguments[0], changes, checker, identifiers, target, preferences); } else if (ts.isPropertyAccessExpression(initializer) && ts.isRequireCall(initializer.expression, /*checkArgumentIsStringLiteralLike*/ true)) { foundImport = true; - return convertPropertyAccessImport(name, initializer.name.text, initializer.expression.arguments[0], identifiers); + return convertPropertyAccessImport(name, initializer.name.text, initializer.expression.arguments[0], identifiers, preferences); } } // Move it out to its own variable statement. (This will not be used if `!foundImport`) @@ -100285,22 +100891,22 @@ var ts; } } /** Converts `const name = require("moduleSpecifier").propertyName` */ - function convertPropertyAccessImport(name, propertyName, moduleSpecifier, identifiers) { + function convertPropertyAccessImport(name, propertyName, moduleSpecifier, identifiers, preferences) { switch (name.kind) { - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: { + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: { // `const [a, b] = require("c").d` --> `import { d } from "c"; const [a, b] = d;` var tmp = makeUniqueName(propertyName, identifiers); return [ - makeSingleImport(tmp, propertyName, moduleSpecifier), + makeSingleImport(tmp, propertyName, moduleSpecifier, preferences), makeConst(/*modifiers*/ undefined, name, ts.createIdentifier(tmp)), ]; } case 71 /* Identifier */: // `const a = require("b").c` --> `import { c as a } from "./b"; - return [makeSingleImport(name.text, propertyName, moduleSpecifier)]; + return [makeSingleImport(name.text, propertyName, moduleSpecifier, preferences)]; default: - ts.Debug.assertNever(name); + return ts.Debug.assertNever(name); } } function convertAssignment(sourceFile, checker, assignment, changes, exports) { @@ -100339,15 +100945,15 @@ var ts; function tryChangeModuleExportsObject(object) { var statements = ts.mapAllOrFail(object.properties, function (prop) { switch (prop.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: // TODO: Maybe we should handle this? See fourslash test `refactorConvertToEs6Module_export_object_shorthand.ts`. - case 270 /* ShorthandPropertyAssignment */: - case 271 /* SpreadAssignment */: + case 271 /* ShorthandPropertyAssignment */: + case 272 /* SpreadAssignment */: return undefined; - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: return !ts.isIdentifier(prop.name) ? undefined : convertExportsDotXEquals_replaceNode(prop.name.text, prop.initializer); - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return !ts.isIdentifier(prop.name) ? undefined : functionExpressionToDeclaration(prop.name.text, [ts.createToken(84 /* ExportKeyword */)], prop); default: ts.Debug.assertNever(prop); @@ -100413,7 +101019,7 @@ var ts; function convertExportsDotXEquals_replaceNode(name, exported) { var modifiers = [ts.createToken(84 /* ExportKeyword */)]; switch (exported.kind) { - case 191 /* FunctionExpression */: { + case 192 /* FunctionExpression */: { var expressionName = exported.name; if (expressionName && expressionName.text !== name) { // `exports.f = function g() {}` -> `export const f = function g() {}` @@ -100421,10 +101027,10 @@ var ts; } } // falls through - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: // `exports.f = function() {}` --> `export function f() {}` return functionExpressionToDeclaration(name, modifiers, exported); - case 204 /* ClassExpression */: + case 205 /* ClassExpression */: // `exports.C = class {}` --> `export class C {}` return classExpressionToDeclaration(name, modifiers, exported); default: @@ -100432,7 +101038,7 @@ var ts; } function exportConst() { // `exports.x = 0;` --> `export const x = 0;` - return makeConst(modifiers, ts.createIdentifier(name), exported); + return makeConst(modifiers, ts.createIdentifier(name), exported); // TODO: GH#18217 } } /** @@ -100440,41 +101046,41 @@ var ts; * Returns nodes that will replace the variable declaration for the commonjs import. * May also make use `changes` to remove qualifiers at the use sites of imports, to change `mod.x` to `x`. */ - function convertSingleImport(file, name, moduleSpecifier, changes, checker, identifiers, target) { + function convertSingleImport(file, name, moduleSpecifier, changes, checker, identifiers, target, preferences) { switch (name.kind) { - case 179 /* ObjectBindingPattern */: { + case 180 /* ObjectBindingPattern */: { var importSpecifiers = ts.mapAllOrFail(name.elements, function (e) { return e.dotDotDotToken || e.initializer || e.propertyName && !ts.isIdentifier(e.propertyName) || !ts.isIdentifier(e.name) ? undefined : makeImportSpecifier(e.propertyName && e.propertyName.text, e.name.text); - }); + }); // tslint:disable-line no-unnecessary-type-assertion (TODO: GH#18217) if (importSpecifiers) { - return [ts.makeImport(/*name*/ undefined, importSpecifiers, moduleSpecifier)]; + return [ts.makeImport(/*name*/ undefined, importSpecifiers, moduleSpecifier, preferences)]; } } // falls through -- object destructuring has an interesting pattern and must be a variable declaration - case 180 /* ArrayBindingPattern */: { + case 181 /* ArrayBindingPattern */: { /* import x from "x"; const [a, b, c] = x; */ var tmp = makeUniqueName(codefix.moduleSpecifierToValidIdentifier(moduleSpecifier.text, target), identifiers); return [ - ts.makeImport(ts.createIdentifier(tmp), /*namedImports*/ undefined, moduleSpecifier), + ts.makeImport(ts.createIdentifier(tmp), /*namedImports*/ undefined, moduleSpecifier, preferences), makeConst(/*modifiers*/ undefined, ts.getSynthesizedDeepClone(name), ts.createIdentifier(tmp)), ]; } case 71 /* Identifier */: - return convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers); + return convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers, preferences); default: - ts.Debug.assertNever(name); + return ts.Debug.assertNever(name); } } /** * Convert `import x = require("x").` * Also converts uses like `x.y()` to `y()` and uses a named import. */ - function convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers) { + function convertSingleIdentifierImport(file, name, moduleSpecifier, changes, checker, identifiers, preferences) { var nameSymbol = checker.getSymbolAtLocation(name); // Maps from module property name to name actually used. (The same if there isn't shadowing.) var namedBindingsNames = ts.createMap(); @@ -100509,7 +101115,7 @@ var ts; // If it was unused, ensure that we at least import *something*. needDefaultImport = true; } - return [ts.makeImport(needDefaultImport ? ts.getSynthesizedDeepClone(name) : undefined, namedBindings, moduleSpecifier)]; + return [ts.makeImport(needDefaultImport ? ts.getSynthesizedDeepClone(name) : undefined, namedBindings, moduleSpecifier, preferences)]; } // Identifiers helpers function makeUniqueName(name, identifiers) { @@ -100521,20 +101127,26 @@ var ts; } function collectFreeIdentifiers(file) { var map = ts.createMultiMap(); - file.forEachChild(function recur(node) { - if (ts.isIdentifier(node) && isFreeIdentifier(node)) { - map.add(node.text, node); - } - node.forEachChild(recur); - }); + forEachFreeIdentifier(file, function (id) { return map.add(id.text, id); }); return map; } + /** + * A free identifier is an identifier that can be accessed through name lookup as a local variable. + * In the expression `x.y`, `x` is a free identifier, but `y` is not. + */ + function forEachFreeIdentifier(node, cb) { + if (ts.isIdentifier(node) && isFreeIdentifier(node)) + cb(node); + node.forEachChild(function (child) { return forEachFreeIdentifier(child, cb); }); + } function isFreeIdentifier(node) { var parent = node.parent; switch (parent.kind) { - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: return parent.name !== node; - case 181 /* BindingElement */: + case 182 /* BindingElement */: + return parent.propertyName !== node; + case 248 /* ImportSpecifier */: return parent.propertyName !== node; default: return true; @@ -100549,10 +101161,10 @@ var ts; return ts.createClassDeclaration(ts.getSynthesizedDeepClones(cls.decorators), // TODO: GH#19915 Don't think this is even legal. ts.concatenate(additionalModifiers, ts.getSynthesizedDeepClones(cls.modifiers)), name, ts.getSynthesizedDeepClones(cls.typeParameters), ts.getSynthesizedDeepClones(cls.heritageClauses), ts.getSynthesizedDeepClones(cls.members)); } - function makeSingleImport(localName, propertyName, moduleSpecifier) { + function makeSingleImport(localName, propertyName, moduleSpecifier, preferences) { return propertyName === "default" - ? ts.makeImport(ts.createIdentifier(localName), /*namedImports*/ undefined, moduleSpecifier) - : ts.makeImport(/*name*/ undefined, [makeImportSpecifier(propertyName, localName)], moduleSpecifier); + ? ts.makeImport(ts.createIdentifier(localName), /*namedImports*/ undefined, moduleSpecifier, preferences) + : ts.makeImport(/*name*/ undefined, [makeImportSpecifier(propertyName, localName)], moduleSpecifier, preferences); } function makeImportSpecifier(propertyName, name) { return ts.createImportSpecifier(propertyName !== undefined && propertyName !== name ? ts.createIdentifier(propertyName) : undefined, ts.createIdentifier(name)); @@ -100640,12 +101252,16 @@ var ts; function getClass(sourceFile, pos) { return ts.Debug.assertDefined(ts.getContainingClass(ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false))); } + function symbolPointsToNonPrivateMember(symbol) { + return !(ts.getModifierFlags(symbol.valueDeclaration) & 8 /* Private */); + } function addMissingDeclarations(checker, implementedTypeNode, sourceFile, classDeclaration, changeTracker, preferences) { + var maybeHeritageClauseSymbol = getHeritageClauseSymbolTable(classDeclaration, checker); // Note that this is ultimately derived from a map indexed by symbol names, // so duplicates cannot occur. var implementedType = checker.getTypeAtLocation(implementedTypeNode); var implementedTypeSymbols = checker.getPropertiesOfType(implementedType); - var nonPrivateMembers = implementedTypeSymbols.filter(function (symbol) { return !(ts.getModifierFlags(symbol.valueDeclaration) & 8 /* Private */); }); + var nonPrivateAndNotExistedInHeritageClauseMembers = implementedTypeSymbols.filter(ts.and(symbolPointsToNonPrivateMember, function (symbol) { return !maybeHeritageClauseSymbol.has(symbol.escapedName); })); var classType = checker.getTypeAtLocation(classDeclaration); if (!classType.getNumberIndexType()) { createMissingIndexSignatureDeclaration(implementedType, 1 /* Number */); @@ -100653,7 +101269,7 @@ var ts; if (!classType.getStringIndexType()) { createMissingIndexSignatureDeclaration(implementedType, 0 /* String */); } - codefix.createMissingMemberNodes(classDeclaration, nonPrivateMembers, checker, preferences, function (member) { return changeTracker.insertNodeAtClassStart(sourceFile, classDeclaration, member); }); + codefix.createMissingMemberNodes(classDeclaration, nonPrivateAndNotExistedInHeritageClauseMembers, checker, preferences, function (member) { return changeTracker.insertNodeAtClassStart(sourceFile, classDeclaration, member); }); function createMissingIndexSignatureDeclaration(type, kind) { var indexInfoOfKind = checker.getIndexInfoOfType(type, kind); if (indexInfoOfKind) { @@ -100661,6 +101277,14 @@ var ts; } } } + function getHeritageClauseSymbolTable(classDeclaration, checker) { + var heritageClauseNode = ts.getClassExtendsHeritageClauseElement(classDeclaration); + if (!heritageClauseNode) + return ts.createSymbolTable(); + var heritageClauseType = checker.getTypeAtLocation(heritageClauseNode); + var heritageClauseTypeSymbols = checker.getPropertiesOfType(heritageClauseType); + return ts.createSymbolTable(heritageClauseTypeSymbols.filter(symbolPointsToNonPrivateMember)); + } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); /* @internal */ @@ -100677,7 +101301,9 @@ var ts; ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code, ts.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here.code, ], - getCodeActions: getImportCodeActions, + getCodeActions: function (context) { return context.errorCode === ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code + ? getActionsForUMDImport(context) + : getActionsForNonUMDImport(context); }, // TODO: GH#20315 fixIds: [], getAllCodeActions: ts.notImplemented, @@ -100696,7 +101322,6 @@ var ts; program: program, checker: checker, compilerOptions: program.getCompilerOptions(), - cachedImportDeclarations: [], getCanonicalFileName: ts.createGetCanonicalFileName(ts.hostUsesCaseSensitiveFileNames(context.host)), symbolName: symbolName, symbolToken: symbolToken, @@ -100742,9 +101367,17 @@ var ts; return result; } function getCodeActionsForImport_separateExistingAndNew(exportInfos, context, useExisting, addNew) { - var existingImports = ts.flatMap(exportInfos, function (info) { - return getImportDeclarations(info, context.checker, context.sourceFile, context.cachedImportDeclarations); - }); + var existingImports = ts.flatMap(exportInfos, function (info) { return getExistingImportDeclarations(info, context.checker, context.sourceFile); }); + ts.append(useExisting, tryUseExistingNamespaceImport(existingImports, context, context.symbolToken, context.checker)); + var addToExisting = tryAddToExistingImport(existingImports, context); + if (addToExisting) { + useExisting.push(addToExisting); + } + else { // Don't bother providing an action to add a new import if we can add to an existing one. + getCodeActionsForAddImport(exportInfos, context, existingImports, addNew); + } + } + function tryUseExistingNamespaceImport(existingImports, context, symbolToken, checker) { // It is possible that multiple import statements with the same specifier exist in the file. // e.g. // @@ -100757,44 +101390,46 @@ var ts; // 1. change "member3" to "ns.member3" // 2. add "member3" to the second import statement's import list // and it is up to the user to decide which one fits best. - if (context.symbolToken && ts.isIdentifier(context.symbolToken)) { - for (var _i = 0, existingImports_1 = existingImports; _i < existingImports_1.length; _i++) { - var declaration = existingImports_1[_i].declaration; - var namespace_2 = getNamespaceImportName(declaration); - if (namespace_2) { - var moduleSymbol = context.checker.getAliasedSymbol(context.checker.getSymbolAtLocation(namespace_2)); - if (moduleSymbol && moduleSymbol.exports.has(ts.escapeLeadingUnderscores(context.symbolName))) { - useExisting.push(getCodeActionForUseExistingNamespaceImport(namespace_2.text, context, context.symbolToken)); - } + return !symbolToken || !ts.isIdentifier(symbolToken) ? undefined : ts.firstDefined(existingImports, function (_a) { + var declaration = _a.declaration; + var namespace = getNamespaceImportName(declaration); + if (namespace) { + var moduleSymbol = namespace && checker.getAliasedSymbol(checker.getSymbolAtLocation(namespace)); + if (moduleSymbol && moduleSymbol.exports.has(ts.escapeLeadingUnderscores(context.symbolName))) { + return getCodeActionForUseExistingNamespaceImport(namespace.text, context, symbolToken); } } - } - getCodeActionsForAddImport(exportInfos, context, existingImports, useExisting, addNew); + }); + } + function tryAddToExistingImport(existingImports, context) { + return ts.firstDefined(existingImports, function (_a) { + var declaration = _a.declaration, importKind = _a.importKind; + if (declaration.kind === 244 /* ImportDeclaration */ && declaration.importClause) { + var changes = tryUpdateExistingImport(context, declaration.importClause, importKind); + if (changes) { + var moduleSpecifierWithoutQuotes = ts.stripQuotes(declaration.moduleSpecifier.getText()); + return createCodeAction(ts.Diagnostics.Add_0_to_existing_import_declaration_from_1, [context.symbolName, moduleSpecifierWithoutQuotes], changes); + } + } + }); } function getNamespaceImportName(declaration) { - if (declaration.kind === 243 /* ImportDeclaration */) { + if (declaration.kind === 244 /* ImportDeclaration */) { var namedBindings = declaration.importClause && ts.isImportClause(declaration.importClause) && declaration.importClause.namedBindings; - return namedBindings && namedBindings.kind === 245 /* NamespaceImport */ ? namedBindings.name : undefined; + return namedBindings && namedBindings.kind === 246 /* NamespaceImport */ ? namedBindings.name : undefined; } else { return declaration.name; } } - // TODO(anhans): This doesn't seem important to cache... just use an iterator instead of creating a new array? - function getImportDeclarations(_a, checker, _b, cachedImportDeclarations) { + function getExistingImportDeclarations(_a, checker, _b) { var moduleSymbol = _a.moduleSymbol, importKind = _a.importKind; var imports = _b.imports; - if (cachedImportDeclarations === void 0) { cachedImportDeclarations = []; } - var moduleSymbolId = ts.getUniqueSymbolId(moduleSymbol, checker); - var cached = cachedImportDeclarations[moduleSymbolId]; - if (!cached) { - cached = cachedImportDeclarations[moduleSymbolId] = ts.mapDefined(imports, function (moduleSpecifier) { - var i = ts.importFromModuleSpecifier(moduleSpecifier); - return (i.kind === 243 /* ImportDeclaration */ || i.kind === 242 /* ImportEqualsDeclaration */) - && checker.getSymbolAtLocation(moduleSpecifier) === moduleSymbol ? { declaration: i, importKind: importKind } : undefined; - }); - } - return cached; + return ts.mapDefined(imports, function (moduleSpecifier) { + var i = ts.importFromModuleSpecifier(moduleSpecifier); + return (i.kind === 244 /* ImportDeclaration */ || i.kind === 243 /* ImportEqualsDeclaration */) + && checker.getSymbolAtLocation(moduleSpecifier) === moduleSymbol ? { declaration: i, importKind: importKind } : undefined; + }); } function getCodeActionForNewImport(context, _a) { var moduleSpecifier = _a.moduleSpecifier, importKind = _a.importKind; @@ -100819,7 +101454,7 @@ var ts; }); // if this file doesn't have any import statements, insert an import statement and then insert a new line // between the only import statement and user code. Otherwise just insert the statement because chances - // are there are already a new line seperating code and import statements. + // are there are already a new line separating code and import statements. return createCodeAction(ts.Diagnostics.Import_0_from_module_1, [symbolName, moduleSpecifierWithoutQuotes], changes); } function shouldUseSingleQuote(sourceFile, preferences) { @@ -100853,21 +101488,7 @@ var ts; // Sort to keep the shortest paths first, but keep [relativePath, importRelativeToBaseUrl] groups together return ts.flatten(choicesForEachExportingModule.sort(function (a, b) { return ts.first(a).moduleSpecifier.length - ts.first(b).moduleSpecifier.length; })); } - function getCodeActionsForAddImport(exportInfos, ctx, existingImports, useExisting, addNew) { - var fromExistingImport = ts.firstDefined(existingImports, function (_a) { - var declaration = _a.declaration, importKind = _a.importKind; - if (declaration.kind === 243 /* ImportDeclaration */ && declaration.importClause) { - var changes = tryUpdateExistingImport(ctx, ts.isImportClause(declaration.importClause) && declaration.importClause || undefined, importKind); - if (changes) { - var moduleSpecifierWithoutQuotes = ts.stripQuotes(declaration.moduleSpecifier.getText()); - return createCodeAction(ts.Diagnostics.Add_0_to_existing_import_declaration_from_1, [ctx.symbolName, moduleSpecifierWithoutQuotes], changes); - } - } - }); - if (fromExistingImport) { - useExisting.push(fromExistingImport); - return; - } + function getCodeActionsForAddImport(exportInfos, ctx, existingImports, addNew) { var existingDeclaration = ts.firstDefined(existingImports, newImportInfoFromExistingSpecifier); var newImportInfos = existingDeclaration ? [existingDeclaration] @@ -100879,9 +101500,9 @@ var ts; } function newImportInfoFromExistingSpecifier(_a) { var declaration = _a.declaration, importKind = _a.importKind; - var expression = declaration.kind === 243 /* ImportDeclaration */ + var expression = declaration.kind === 244 /* ImportDeclaration */ ? declaration.moduleSpecifier - : declaration.moduleReference.kind === 253 /* ExternalModuleReference */ + : declaration.moduleReference.kind === 254 /* ExternalModuleReference */ ? declaration.moduleReference.expression : undefined; return expression && ts.isStringLiteral(expression) ? { moduleSpecifier: expression.text, importKind: importKind } : undefined; @@ -100889,7 +101510,7 @@ var ts; function tryUpdateExistingImport(context, importClause, importKind) { var symbolName = context.symbolName, sourceFile = context.sourceFile; var name = importClause.name; - var namedBindings = (importClause.kind !== 242 /* ImportEqualsDeclaration */ && importClause).namedBindings; + var namedBindings = (importClause.kind !== 243 /* ImportEqualsDeclaration */ && importClause).namedBindings; // TODO: GH#18217 switch (importKind) { case 1 /* Default */: return name ? undefined : ChangeTracker.with(context, function (t) { @@ -100897,11 +101518,11 @@ var ts; }); case 0 /* Named */: { var newImportSpecifier_1 = ts.createImportSpecifier(/*propertyName*/ undefined, ts.createIdentifier(symbolName)); - if (namedBindings && namedBindings.kind === 246 /* NamedImports */ && namedBindings.elements.length !== 0) { + if (namedBindings && namedBindings.kind === 247 /* NamedImports */ && namedBindings.elements.length !== 0) { // There are already named imports; add another. return ChangeTracker.with(context, function (t) { return t.insertNodeInListAfter(sourceFile, namedBindings.elements[namedBindings.elements.length - 1], newImportSpecifier_1); }); } - if (!namedBindings || namedBindings.kind === 246 /* NamedImports */ && namedBindings.elements.length === 0) { + if (!namedBindings || namedBindings.kind === 247 /* NamedImports */ && namedBindings.elements.length === 0) { return ChangeTracker.with(context, function (t) { return t.replaceNode(sourceFile, importClause, ts.createImportClause(name, ts.createNamedImports([newImportSpecifier_1]))); }); @@ -100935,11 +101556,6 @@ var ts; }); return createCodeAction(ts.Diagnostics.Change_0_to_1, [symbolName, namespacePrefix + "." + symbolName], changes); } - function getImportCodeActions(context) { - return context.errorCode === ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code - ? getActionsForUMDImport(context) - : getActionsForNonUMDImport(context); - } function getActionsForUMDImport(context) { var token = ts.getTokenAtPosition(context.sourceFile, context.span.start, /*includeJsDocComment*/ false); var checker = context.program.getTypeChecker(); @@ -100952,7 +101568,7 @@ var ts; // The error wasn't for the symbolAtLocation, it was for the JSX tag itself, which needs access to e.g. `React`. var parent = token.parent; var isNodeOpeningLikeElement = ts.isJsxOpeningLikeElement(parent); - if ((ts.isJsxOpeningLikeElement && parent.tagName === token) || parent.kind === 259 /* JsxOpeningFragment */) { + if ((ts.isJsxOpeningLikeElement && parent.tagName === token) || parent.kind === 260 /* JsxOpeningFragment */) { umdSymbol = checker.resolveName(checker.getJsxNamespace(parent), isNodeOpeningLikeElement ? parent.tagName : parent, 67216319 /* Value */, /*excludeGlobals*/ false); } } @@ -101001,7 +101617,14 @@ var ts; return undefined; // "default" is a keyword and not a legal identifier for the import, so we don't expect it here ts.Debug.assert(symbolName !== "default"); - var currentTokenMeaning = ts.getMeaningFromLocation(symbolToken); + var addToExistingDeclaration = []; + var addNewDeclaration = []; + getExportInfos(symbolName, ts.getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, checker, program).forEach(function (exportInfos) { + getCodeActionsForImport_separateExistingAndNew(exportInfos, convertToImportCodeFixContext(context, symbolToken, symbolName), addToExistingDeclaration, addNewDeclaration); + }); + return addToExistingDeclaration.concat(addNewDeclaration); + } + function getExportInfos(symbolName, currentTokenMeaning, cancellationToken, sourceFile, checker, program) { // For each original symbol, keep all re-exports of that symbol together so we can call `getCodeActionsForImport` on the whole group at once. // Maps symbol id to info for modules providing that symbol (original export + re-exports). var originalSymbolToExportInfos = ts.createMultiMap(); @@ -101026,7 +101649,7 @@ var ts; addSymbol(moduleSymbol, exportSymbolWithIdenticalName, 0 /* Named */); } function getEscapedNameForExportDefault(symbol) { - return ts.firstDefined(symbol.declarations, function (declaration) { + return symbol.declarations && ts.firstDefined(symbol.declarations, function (declaration) { if (ts.isExportAssignment(declaration)) { if (ts.isIdentifier(declaration.expression)) { return declaration.expression.escapedText; @@ -101034,19 +101657,12 @@ var ts; } else if (ts.isExportSpecifier(declaration)) { ts.Debug.assert(declaration.name.escapedText === "default" /* Default */); - if (declaration.propertyName) { - return declaration.propertyName.escapedText; - } + return declaration.propertyName && declaration.propertyName.escapedText; } }); } }); - var addToExistingDeclaration = []; - var addNewDeclaration = []; - originalSymbolToExportInfos.forEach(function (exportInfos) { - getCodeActionsForImport_separateExistingAndNew(exportInfos, convertToImportCodeFixContext(context, symbolToken, symbolName), addToExistingDeclaration, addNewDeclaration); - }); - return addToExistingDeclaration.concat(addNewDeclaration); + return originalSymbolToExportInfos; } function checkSymbolHasMeaning(_a, meaning) { var declarations = _a.declarations; @@ -101068,7 +101684,7 @@ var ts; for (var _b = 0, allSourceFiles_1 = allSourceFiles; _b < allSourceFiles_1.length; _b++) { var sourceFile = allSourceFiles_1[_b]; if (ts.isExternalOrCommonJsModule(sourceFile)) { - cb(sourceFile.symbol, sourceFile); + cb(checker.getMergedSymbol(sourceFile.symbol), sourceFile); } } } @@ -101285,7 +101901,7 @@ var ts; } function addMissingMemberInJs(changeTracker, classDeclarationSourceFile, classDeclaration, tokenName, makeStatic) { if (makeStatic) { - if (classDeclaration.kind === 204 /* ClassExpression */) { + if (classDeclaration.kind === 205 /* ClassExpression */) { return; } var className = classDeclaration.name.getText(); @@ -101311,10 +101927,10 @@ var ts; } function getTypeNode(checker, classDeclaration, token) { var typeNode; - if (token.parent.parent.kind === 199 /* BinaryExpression */) { + if (token.parent.parent.kind === 200 /* BinaryExpression */) { var binaryExpression = token.parent.parent; var otherExpression = token.parent === binaryExpression.left ? binaryExpression.right : binaryExpression.left; - var widenedType = checker.getWidenedType(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(otherExpression))); + var widenedType = checker.getWidenedType(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(otherExpression))); // TODO: GH#18217 typeNode = checker.typeToTypeNode(widenedType, classDeclaration); } return typeNode || ts.createKeywordTypeNode(119 /* AnyKeyword */); @@ -101370,7 +101986,13 @@ var ts; } function addMethodDeclaration(changeTracker, classDeclarationSourceFile, classDeclaration, token, callExpression, makeStatic, inJs, preferences) { var methodDeclaration = codefix.createMethodFromCallExpression(callExpression, token.text, inJs, makeStatic, preferences); - changeTracker.insertNodeAtClassStart(classDeclarationSourceFile, classDeclaration, methodDeclaration); + var containingMethodDeclaration = ts.getAncestor(callExpression, 154 /* MethodDeclaration */); + if (containingMethodDeclaration && containingMethodDeclaration.parent === classDeclaration) { + changeTracker.insertNodeAfter(classDeclarationSourceFile, containingMethodDeclaration, methodDeclaration); + } + else { + changeTracker.insertNodeAtClassStart(classDeclarationSourceFile, classDeclaration, methodDeclaration); + } } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -101409,7 +102031,7 @@ var ts; var packageName = ts.getPackageName(moduleName).packageName; return diagCode === errorCodeCannotFindModule ? (ts.JsTyping.nodeCoreModules.has(packageName) ? "@types/node" : undefined) - : (host.isKnownTypesPackageName(packageName) ? ts.getTypesPackageName(packageName) : undefined); + : (host.isKnownTypesPackageName(packageName) ? ts.getTypesPackageName(packageName) : undefined); // TODO: GH#18217 } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -101628,7 +102250,9 @@ var ts; }, fixIds: [fixId], getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { - doChange(changes, context.sourceFile, getInfo(diag.file, diag.start, diag.code)); + var info = getInfo(diag.file, diag.start, diag.code); + if (info) + doChange(changes, context.sourceFile, info); }); }, }); function getInfo(sourceFile, pos, diagCode) { @@ -101659,23 +102283,30 @@ var ts; ts.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code, ts.Diagnostics.All_imports_in_import_declaration_are_unused.code, ts.Diagnostics.All_destructured_elements_are_unused.code, + ts.Diagnostics.All_variables_are_unused.code, ]; codefix.registerCodeFix({ errorCodes: errorCodes, getCodeActions: function (context) { - var errorCode = context.errorCode, sourceFile = context.sourceFile; - var importDecl = tryGetFullImport(sourceFile, context.span.start); + var errorCode = context.errorCode, sourceFile = context.sourceFile, program = context.program; + var checker = program.getTypeChecker(); + var startToken = ts.getTokenAtPosition(sourceFile, context.span.start, /*includeJsDocComment*/ false); + var importDecl = tryGetFullImport(startToken); if (importDecl) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return t.deleteNode(sourceFile, importDecl); }); return [codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Remove_import_from_0, ts.showModuleSpecifier(importDecl)], fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)]; } - var delDestructure = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteFullDestructure(t, sourceFile, context.span.start, /*deleted*/ undefined); }); + var delDestructure = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteFullDestructure(t, sourceFile, startToken, /*deleted*/ undefined, checker, /*isFixAll*/ false); }); if (delDestructure.length) { return [codefix.createCodeFixAction(fixName, delDestructure, ts.Diagnostics.Remove_destructuring, fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)]; } + var delVar = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteFullVariableStatement(t, sourceFile, startToken, /*deleted*/ undefined); }); + if (delVar.length) { + return [codefix.createCodeFixAction(fixName, delVar, ts.Diagnostics.Remove_variable_statement, fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)]; + } var token = getToken(sourceFile, ts.textSpanEnd(context.span)); var result = []; - var deletion = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteDeclaration(t, sourceFile, token, /*deleted*/ undefined); }); + var deletion = ts.textChanges.ChangeTracker.with(context, function (t) { return tryDeleteDeclaration(t, sourceFile, token, /*deleted*/ undefined, checker, /*isFixAll*/ false); }); if (deletion.length) { result.push(codefix.createCodeFixAction(fixName, deletion, [ts.Diagnostics.Remove_declaration_for_Colon_0, token.getText(sourceFile)], fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations)); } @@ -101688,9 +102319,11 @@ var ts; fixIds: [fixIdPrefix, fixIdDelete], getAllCodeActions: function (context) { // Track a set of deleted nodes that may be ancestors of other marked for deletion -- only delete the ancestors. - var deleted = new NodeSet(); + var deleted = new ts.NodeSet(); + var sourceFile = context.sourceFile, program = context.program; + var checker = program.getTypeChecker(); return codefix.codeFixAll(context, errorCodes, function (changes, diag) { - var sourceFile = context.sourceFile; + var startToken = ts.getTokenAtPosition(sourceFile, diag.start, /*includeJsDocComment*/ false); var token = ts.findPrecedingToken(ts.textSpanEnd(diag), diag.file); switch (context.fixId) { case fixIdPrefix: @@ -101702,14 +102335,13 @@ var ts; // Ignore if this range was already deleted. if (deleted.some(function (d) { return ts.rangeContainsPosition(d, diag.start); })) break; - var importDecl = tryGetFullImport(diag.file, diag.start); + var importDecl = tryGetFullImport(startToken); if (importDecl) { changes.deleteNode(sourceFile, importDecl); } - else { - if (!tryDeleteFullDestructure(changes, sourceFile, diag.start, deleted)) { - tryDeleteDeclaration(changes, sourceFile, token, deleted); - } + else if (!tryDeleteFullDestructure(changes, sourceFile, startToken, deleted, checker, /*isFixAll*/ true) && + !tryDeleteFullVariableStatement(changes, sourceFile, startToken, deleted)) { + tryDeleteDeclaration(changes, sourceFile, token, deleted, checker, /*isFixAll*/ true); } break; default: @@ -101719,25 +102351,25 @@ var ts; }, }); // Sometimes the diagnostic span is an entire ImportDeclaration, so we should remove the whole thing. - function tryGetFullImport(sourceFile, pos) { - var startToken = ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false); + function tryGetFullImport(startToken) { return startToken.kind === 91 /* ImportKeyword */ ? ts.tryCast(startToken.parent, ts.isImportDeclaration) : undefined; } - function tryDeleteFullDestructure(changes, sourceFile, pos, deletedAncestors) { - var startToken = ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false); + function tryDeleteFullDestructure(changes, sourceFile, startToken, deletedAncestors, checker, isFixAll) { if (startToken.kind !== 17 /* OpenBraceToken */ || !ts.isObjectBindingPattern(startToken.parent)) return false; - var decl = startToken.parent.parent; + var decl = ts.cast(startToken.parent, ts.isObjectBindingPattern).parent; switch (decl.kind) { - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: tryDeleteVariableDeclaration(changes, sourceFile, decl, deletedAncestors); break; - case 148 /* Parameter */: + case 149 /* Parameter */: + if (!mayDeleteParameter(decl, checker, isFixAll)) + break; if (deletedAncestors) deletedAncestors.add(decl); changes.deleteNodeInList(sourceFile, decl); break; - case 181 /* BindingElement */: + case 182 /* BindingElement */: if (deletedAncestors) deletedAncestors.add(decl); changes.deleteNode(sourceFile, decl); @@ -101747,6 +102379,16 @@ var ts; } return true; } + function tryDeleteFullVariableStatement(changes, sourceFile, startToken, deletedAncestors) { + var declarationList = ts.tryCast(startToken.parent, ts.isVariableDeclarationList); + if (declarationList && declarationList.getChildren(sourceFile)[0] === startToken) { + if (deletedAncestors) + deletedAncestors.add(declarationList); + changes.deleteNode(sourceFile, declarationList.parent.kind === 214 /* VariableStatement */ ? declarationList.parent : declarationList); + return true; + } + return false; + } function getToken(sourceFile, pos) { var token = ts.findPrecedingToken(pos, sourceFile, /*startNode*/ undefined, /*includeJsDoc*/ true); // this handles var ["computed"] = 12; @@ -101760,26 +102402,26 @@ var ts; } function canPrefix(token) { switch (token.parent.kind) { - case 148 /* Parameter */: + case 149 /* Parameter */: return true; - case 231 /* VariableDeclaration */: { + case 232 /* VariableDeclaration */: { var varDecl = token.parent; switch (varDecl.parent.parent.kind) { - case 221 /* ForOfStatement */: - case 220 /* ForInStatement */: + case 222 /* ForOfStatement */: + case 221 /* ForInStatement */: return true; } } } return false; } - function tryDeleteDeclaration(changes, sourceFile, token, deletedAncestors) { + function tryDeleteDeclaration(changes, sourceFile, token, deletedAncestors, checker, isFixAll) { switch (token.kind) { case 71 /* Identifier */: - tryDeleteIdentifier(changes, sourceFile, token, deletedAncestors); + tryDeleteIdentifier(changes, sourceFile, token, deletedAncestors, checker, isFixAll); break; - case 151 /* PropertyDeclaration */: - case 245 /* NamespaceImport */: + case 152 /* PropertyDeclaration */: + case 246 /* NamespaceImport */: if (deletedAncestors) deletedAncestors.add(token.parent); changes.deleteNode(sourceFile, token.parent); @@ -101800,13 +102442,13 @@ var ts; changes.deleteNode(sourceFile, token.parent.parent); } } - function tryDeleteIdentifier(changes, sourceFile, identifier, deletedAncestors) { + function tryDeleteIdentifier(changes, sourceFile, identifier, deletedAncestors, checker, isFixAll) { var parent = identifier.parent; switch (parent.kind) { - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: tryDeleteVariableDeclaration(changes, sourceFile, parent, deletedAncestors); break; - case 147 /* TypeParameter */: + case 148 /* TypeParameter */: var typeParameters = ts.getEffectiveTypeParameterDeclarations(parent.parent); if (typeParameters.length === 1) { var _a = ts.cast(typeParameters, ts.isNodeArray), pos = _a.pos, end = _a.end; @@ -101820,18 +102462,17 @@ var ts; changes.deleteNodeInList(sourceFile, parent); } break; - case 148 /* Parameter */: - var oldFunction = parent.parent; - if (ts.isSetAccessor(oldFunction)) { - // Setter must have a parameter + case 149 /* Parameter */: + if (!mayDeleteParameter(parent, checker, isFixAll)) break; - } + var oldFunction = parent.parent; if (ts.isArrowFunction(oldFunction) && oldFunction.parameters.length === 1) { // Lambdas with exactly one parameter are special because, after removal, there // must be an empty parameter list (i.e. `()`) and this won't necessarily be the // case if the parameter is simply removed (e.g. in `x => 1`). var newFunction = ts.updateArrowFunction(oldFunction, oldFunction.modifiers, oldFunction.typeParameters, - /*parameters*/ undefined, oldFunction.type, oldFunction.equalsGreaterThanToken, oldFunction.body); + /*parameters*/ undefined, // TODO: GH#18217 + oldFunction.type, oldFunction.equalsGreaterThanToken, oldFunction.body); // Drop leading and trailing trivia of the new function because we're only going // to replace the span (vs the full span) of the old function - the old leading // and trailing trivia will remain. @@ -101842,13 +102483,13 @@ var ts; changes.deleteNodeInList(sourceFile, parent); } break; - case 181 /* BindingElement */: { + case 182 /* BindingElement */: { var pattern = parent.parent; switch (pattern.kind) { - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: changes.deleteNode(sourceFile, parent); // Don't delete ',' break; - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: changes.deleteNodeInList(sourceFile, parent); break; default: @@ -101857,11 +102498,11 @@ var ts; break; } // handle case where 'import a = A;' - case 242 /* ImportEqualsDeclaration */: - var importEquals = ts.getAncestor(identifier, 242 /* ImportEqualsDeclaration */); + case 243 /* ImportEqualsDeclaration */: + var importEquals = ts.getAncestor(identifier, 243 /* ImportEqualsDeclaration */); changes.deleteNode(sourceFile, importEquals); break; - case 247 /* ImportSpecifier */: + case 248 /* ImportSpecifier */: var namedImports = parent.parent; if (namedImports.elements.length === 1) { tryDeleteNamedImportBinding(changes, sourceFile, namedImports); @@ -101871,10 +102512,10 @@ var ts; changes.deleteNodeInList(sourceFile, parent); } break; - case 244 /* ImportClause */: // this covers both 'import |d|' and 'import |d,| *' + case 245 /* ImportClause */: // this covers both 'import |d|' and 'import |d,| *' var importClause = parent; if (!importClause.namedBindings) { // |import d from './file'| - changes.deleteNode(sourceFile, ts.getAncestor(importClause, 243 /* ImportDeclaration */)); + changes.deleteNode(sourceFile, ts.getAncestor(importClause, 244 /* ImportDeclaration */)); } else { // import |d,| * as ns from './file' @@ -101890,7 +102531,7 @@ var ts; } } break; - case 245 /* NamespaceImport */: + case 246 /* NamespaceImport */: tryDeleteNamedImportBinding(changes, sourceFile, parent); break; default: @@ -101912,14 +102553,14 @@ var ts; // Delete the entire import declaration // |import * as ns from './file'| // |import { a } from './file'| - var importDecl = ts.getAncestor(namedBindings, 243 /* ImportDeclaration */); + var importDecl = ts.getAncestor(namedBindings, 244 /* ImportDeclaration */); changes.deleteNode(sourceFile, importDecl); } } // token.parent is a variableDeclaration function tryDeleteVariableDeclaration(changes, sourceFile, varDecl, deletedAncestors) { switch (varDecl.parent.parent.kind) { - case 219 /* ForStatement */: { + case 220 /* ForStatement */: { var forStatement = varDecl.parent.parent; var forInitializer = forStatement.initializer; if (forInitializer.declarations.length === 1) { @@ -101934,16 +102575,16 @@ var ts; } break; } - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: var forOfStatement = varDecl.parent.parent; - ts.Debug.assert(forOfStatement.initializer.kind === 232 /* VariableDeclarationList */); + ts.Debug.assert(forOfStatement.initializer.kind === 233 /* VariableDeclarationList */); var forOfInitializer = forOfStatement.initializer; if (deletedAncestors) deletedAncestors.add(forOfInitializer.declarations[0]); changes.replaceNode(sourceFile, forOfInitializer.declarations[0], ts.createObjectLiteral()); break; - case 220 /* ForInStatement */: - case 229 /* TryStatement */: + case 221 /* ForInStatement */: + case 230 /* TryStatement */: break; default: var variableStatement = varDecl.parent.parent; @@ -101959,18 +102600,34 @@ var ts; } } } - var NodeSet = /** @class */ (function () { - function NodeSet() { - this.map = ts.createMap(); + function mayDeleteParameter(p, checker, isFixAll) { + var parent = p.parent; + switch (parent.kind) { + case 154 /* MethodDeclaration */: + // Don't remove a parameter if this overrides something + var symbol = checker.getSymbolAtLocation(parent.name); + if (ts.isMemberSymbolInBaseType(symbol, checker)) + return false; + // falls through + case 155 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: { + // Can't remove a non-last parameter. Can remove a parameter in code-fix-all if future parameters are also unused. + var parameters = parent.parameters; + var index = parameters.indexOf(p); + ts.Debug.assert(index !== -1); + return isFixAll + ? parameters.slice(index + 1).every(function (p) { return p.name.kind === 71 /* Identifier */ && !p.symbol.isReferenced; }) + : index === parameters.length - 1; + } + case 157 /* SetAccessor */: + // Setter must have a parameter + return false; + default: + return ts.Debug.failBadSyntaxKind(parent); } - NodeSet.prototype.add = function (node) { - this.map.set(String(ts.getNodeId(node)), node); - }; - NodeSet.prototype.some = function (pred) { - return ts.forEachEntry(this.map, pred) || false; - }; - return NodeSet; - }()); + } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); /* @internal */ @@ -101995,7 +102652,7 @@ var ts; ts.Debug.assert(statement.getStart(sourceFile) === token.getStart(sourceFile)); var container = (ts.isBlock(statement.parent) ? statement.parent : statement).parent; switch (container.kind) { - case 216 /* IfStatement */: + case 217 /* IfStatement */: if (container.elseStatement) { if (ts.isBlock(statement.parent)) { changes.deleteNodeRange(sourceFile, ts.first(statement.parent.statements), ts.last(statement.parent.statements)); @@ -102006,8 +102663,8 @@ var ts; break; } // falls through - case 218 /* WhileStatement */: - case 219 /* ForStatement */: + case 219 /* WhileStatement */: + case 220 /* ForStatement */: changes.deleteNode(sourceFile, container); break; default: @@ -102027,13 +102684,15 @@ var ts; } function isPurelyTypeDeclaration(s) { switch (s.kind) { - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: return true; - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return ts.getModuleInstanceState(s) !== 1 /* Instantiated */; - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return ts.hasModifier(s, 2048 /* Const */); + default: + return false; } } function sliceAfter(arr, value) { @@ -102094,10 +102753,10 @@ var ts; var typeNode = info.typeNode, type = info.type; var original = typeNode.getText(sourceFile); var actions = [fix(type, fixIdPlain, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript)]; - if (typeNode.kind === 280 /* JSDocNullableType */) { + if (typeNode.kind === 281 /* JSDocNullableType */) { // for nullable types, suggest the flow-compatible `T | null | undefined` // in addition to the jsdoc/closure-compatible `T | null` - actions.push(fix(checker.getNullableType(type, 4096 /* Undefined */), fixIdNullable, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)); + actions.push(fix(checker.getNullableType(type, 8192 /* Undefined */), fixIdNullable, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)); } return actions; function fix(type, fixId, fixAllDescription) { @@ -102114,13 +102773,13 @@ var ts; if (!info) return; var typeNode = info.typeNode, type = info.type; - var fixedType = typeNode.kind === 280 /* JSDocNullableType */ && fixId === fixIdNullable ? checker.getNullableType(type, 4096 /* Undefined */) : type; + var fixedType = typeNode.kind === 281 /* JSDocNullableType */ && fixId === fixIdNullable ? checker.getNullableType(type, 8192 /* Undefined */) : type; doChange(changes, sourceFile, typeNode, fixedType, checker); }); } }); function doChange(changes, sourceFile, oldTypeNode, newType, checker) { - changes.replaceNode(sourceFile, oldTypeNode, checker.typeToTypeNode(newType, /*enclosingDeclaration*/ oldTypeNode)); + changes.replaceNode(sourceFile, oldTypeNode, checker.typeToTypeNode(newType, /*enclosingDeclaration*/ oldTypeNode)); // TODO: GH#18217 } function getInfo(sourceFile, pos, checker) { var decl = ts.findAncestor(ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false), isTypeContainer); @@ -102131,22 +102790,22 @@ var ts; // NOTE: Some locations are not handled yet: // MappedTypeNode.typeParameters and SignatureDeclaration.typeParameters, as well as CallExpression.typeArguments switch (node.kind) { - case 207 /* AsExpression */: - case 157 /* CallSignature */: - case 158 /* ConstructSignature */: - case 233 /* FunctionDeclaration */: - case 155 /* GetAccessor */: - case 159 /* IndexSignature */: - case 176 /* MappedType */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 148 /* Parameter */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: - case 156 /* SetAccessor */: - case 236 /* TypeAliasDeclaration */: - case 189 /* TypeAssertionExpression */: - case 231 /* VariableDeclaration */: + case 208 /* AsExpression */: + case 158 /* CallSignature */: + case 159 /* ConstructSignature */: + case 234 /* FunctionDeclaration */: + case 156 /* GetAccessor */: + case 160 /* IndexSignature */: + case 177 /* MappedType */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 149 /* Parameter */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: + case 157 /* SetAccessor */: + case 237 /* TypeAliasDeclaration */: + case 190 /* TypeAssertionExpression */: + case 232 /* VariableDeclaration */: return true; default: return false; @@ -102200,20 +102859,20 @@ var ts; } var insertBefore; switch (containingFunction.kind) { - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: insertBefore = containingFunction.name; break; - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: insertBefore = ts.findChildOfKind(containingFunction, 89 /* FunctionKeyword */, sourceFile); break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: insertBefore = ts.findChildOfKind(containingFunction, 19 /* OpenParenToken */, sourceFile) || ts.first(containingFunction.parameters); break; default: return; } - return { + return insertBefore && { insertBefore: insertBefore, returnType: getReturnType(containingFunction) }; @@ -102316,17 +102975,17 @@ var ts; var type = checker.getWidenedType(checker.getTypeOfSymbolAtLocation(symbol, enclosingDeclaration)); var optional = !!(symbol.flags & 16777216 /* Optional */); switch (declaration.kind) { - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 150 /* PropertySignature */: - case 151 /* PropertyDeclaration */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 151 /* PropertySignature */: + case 152 /* PropertyDeclaration */: var typeNode = checker.typeToTypeNode(type, enclosingDeclaration); out(ts.createProperty( /*decorators*/ undefined, modifiers, name, optional ? ts.createToken(55 /* QuestionToken */) : undefined, typeNode, /*initializer*/ undefined)); break; - case 152 /* MethodSignature */: - case 153 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 154 /* MethodDeclaration */: // The signature for the implementation appears as an entry in `signatures` iff // there is only one signature. // If there are overloads and an implementation signature, it appears as an @@ -102366,7 +103025,7 @@ var ts; } } function signatureToMethodDeclaration(checker, signature, enclosingDeclaration, modifiers, name, optional, body) { - var signatureDeclaration = checker.signatureToSignatureDeclaration(signature, 153 /* MethodDeclaration */, enclosingDeclaration, 256 /* SuppressAnyReturnType */); + var signatureDeclaration = checker.signatureToSignatureDeclaration(signature, 154 /* MethodDeclaration */, enclosingDeclaration, 256 /* SuppressAnyReturnType */); if (!signatureDeclaration) { return undefined; } @@ -102508,7 +103167,7 @@ var ts; function getDiagnostic(errorCode, token) { switch (errorCode) { case ts.Diagnostics.Parameter_0_implicitly_has_an_1_type.code: - return ts.isSetAccessor(ts.getContainingFunction(token)) ? ts.Diagnostics.Infer_type_of_0_from_usage : ts.Diagnostics.Infer_parameter_types_from_usage; + return ts.isSetAccessor(ts.getContainingFunction(token)) ? ts.Diagnostics.Infer_type_of_0_from_usage : ts.Diagnostics.Infer_parameter_types_from_usage; // TODO: GH#18217 case ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type.code: return ts.Diagnostics.Infer_parameter_types_from_usage; default: @@ -102583,11 +103242,11 @@ var ts; } function isApplicableFunctionForInference(declaration) { switch (declaration.kind) { - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 154 /* Constructor */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 155 /* Constructor */: return true; - case 191 /* FunctionExpression */: + case 192 /* FunctionExpression */: return !!declaration.name; } return false; @@ -102626,6 +103285,7 @@ var ts; var notAccessible = function () { typeIsAccessible = false; }; var res = checker.typeToTypeNode(type, enclosingScope, /*flags*/ undefined, { trackSymbol: function (symbol, declaration, meaning) { + // TODO: GH#18217 typeIsAccessible = typeIsAccessible && checker.isSymbolAccessible(symbol, declaration, meaning, /*shouldComputeAliasToMarkVisible*/ false).accessibility === 0 /* Accessible */; }, reportInaccessibleThisError: notAccessible, @@ -102645,11 +103305,11 @@ var ts; } function inferTypeForParametersFromUsage(containingFunction, sourceFile, program, cancellationToken) { switch (containingFunction.kind) { - case 154 /* Constructor */: - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - var isConstructor = containingFunction.kind === 154 /* Constructor */; + case 155 /* Constructor */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + var isConstructor = containingFunction.kind === 155 /* Constructor */; var searchToken = isConstructor ? ts.findChildOfKind(containingFunction, 123 /* ConstructorKeyword */, sourceFile) : containingFunction.name; @@ -102683,7 +103343,7 @@ var ts; cancellationToken.throwIfCancellationRequested(); inferTypeFromContext(reference, checker, usageContext); } - var isConstructor = declaration.kind === 154 /* Constructor */; + var isConstructor = declaration.kind === 155 /* Constructor */; var callContexts = isConstructor ? usageContext.constructContexts : usageContext.callContexts; return callContexts && declaration.parameters.map(function (parameter, parameterIndex) { var types = []; @@ -102715,21 +103375,21 @@ var ts; node = node.parent; } switch (node.parent.kind) { - case 198 /* PostfixUnaryExpression */: + case 199 /* PostfixUnaryExpression */: usageContext.isNumber = true; break; - case 197 /* PrefixUnaryExpression */: + case 198 /* PrefixUnaryExpression */: inferTypeFromPrefixUnaryExpressionContext(node.parent, usageContext); break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: inferTypeFromBinaryExpressionContext(node, node.parent, checker, usageContext); break; - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: inferTypeFromSwitchStatementLabelContext(node.parent, checker, usageContext); break; - case 186 /* CallExpression */: - case 187 /* NewExpression */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: if (node.parent.expression === node) { inferTypeFromCallExpressionContext(node.parent, checker, usageContext); } @@ -102737,13 +103397,13 @@ var ts; inferTypeFromContextualType(node, checker, usageContext); } break; - case 184 /* PropertyAccessExpression */: + case 185 /* PropertyAccessExpression */: inferTypeFromPropertyAccessExpressionContext(node.parent, checker, usageContext); break; - case 185 /* ElementAccessExpression */: + case 186 /* ElementAccessExpression */: inferTypeFromPropertyElementExpressionContext(node.parent, node, checker, usageContext); break; - case 231 /* VariableDeclaration */: { + case 232 /* VariableDeclaration */: { var _a = node.parent, name = _a.name, initializer = _a.initializer; if (node === name) { if (initializer) { // This can happen for `let x = null;` which still has an implicit-any error. @@ -102813,7 +103473,7 @@ var ts; case 29 /* GreaterThanToken */: case 31 /* GreaterThanEqualsToken */: var operandType = checker.getTypeAtLocation(parent.left === node ? parent.right : parent.left); - if (operandType.flags & 272 /* EnumLike */) { + if (operandType.flags & 544 /* EnumLike */) { addCandidateType(usageContext, operandType); } else { @@ -102823,13 +103483,13 @@ var ts; case 59 /* PlusEqualsToken */: case 37 /* PlusToken */: var otherOperandType = checker.getTypeAtLocation(parent.left === node ? parent.right : parent.left); - if (otherOperandType.flags & 272 /* EnumLike */) { + if (otherOperandType.flags & 544 /* EnumLike */) { addCandidateType(usageContext, otherOperandType); } - else if (otherOperandType.flags & 84 /* NumberLike */) { + else if (otherOperandType.flags & 168 /* NumberLike */) { usageContext.isNumber = true; } - else if (otherOperandType.flags & 34 /* StringLike */) { + else if (otherOperandType.flags & 68 /* StringLike */) { usageContext.isString = true; } else { @@ -102852,7 +103512,7 @@ var ts; // LogicalOperator case 54 /* BarBarToken */: if (node === parent.left && - (node.parent.parent.kind === 231 /* VariableDeclaration */ || ts.isAssignmentExpression(node.parent.parent, /*excludeCompoundAssignment*/ true))) { + (node.parent.parent.kind === 232 /* VariableDeclaration */ || ts.isAssignmentExpression(node.parent.parent, /*excludeCompoundAssignment*/ true))) { // var x = x || {}; // TODO: use getFalsyflagsOfType addCandidateType(usageContext, checker.getTypeAtLocation(parent.right)); @@ -102880,7 +103540,7 @@ var ts; } } inferTypeFromContext(parent, checker, callContext.returnType); - if (parent.kind === 186 /* CallExpression */) { + if (parent.kind === 187 /* CallExpression */) { (usageContext.callContexts || (usageContext.callContexts = [])).push(callContext); } else { @@ -102905,7 +103565,7 @@ var ts; var indexType = checker.getTypeAtLocation(parent); var indexUsageContext = {}; inferTypeFromContext(parent, checker, indexUsageContext); - if (indexType.flags & 84 /* NumberLike */) { + if (indexType.flags & 168 /* NumberLike */) { usageContext.numberIndexContext = indexUsageContext; } else { @@ -102927,7 +103587,7 @@ var ts; return checker.getWidenedType(checker.getUnionType(usageContext.candidateTypes.map(function (t) { return checker.getBaseTypeOfLiteralType(t); }), 2 /* Subtype */)); } else if (usageContext.properties && hasCallContext(usageContext.properties.get("then"))) { - var paramType = getParameterTypeFromCallContexts(0, usageContext.properties.get("then").callContexts, /*isRestParameter*/ false, checker); + var paramType = getParameterTypeFromCallContexts(0, usageContext.properties.get("then").callContexts, /*isRestParameter*/ false, checker); // TODO: GH#18217 var types = paramType.getCallSignatures().map(function (c) { return c.getReturnType(); }); return checker.createPromiseType(types.length ? checker.getUnionType(types, 2 /* Subtype */) : checker.getAnyType()); } @@ -102960,12 +103620,12 @@ var ts; } } if (usageContext.numberIndexContext) { - numberIndexInfo = checker.createIndexInfo(getTypeFromUsageContext(usageContext.numberIndexContext, checker), /*isReadonly*/ false); + numberIndexInfo = checker.createIndexInfo(getTypeFromUsageContext(usageContext.numberIndexContext, checker), /*isReadonly*/ false); // TODO: GH#18217 } if (usageContext.stringIndexContext) { stringIndexInfo = checker.createIndexInfo(getTypeFromUsageContext(usageContext.stringIndexContext, checker), /*isReadonly*/ false); } - return checker.createAnonymousType(/*symbol*/ undefined, members_6, callSignatures, constructSignatures, stringIndexInfo, numberIndexInfo); + return checker.createAnonymousType(/*symbol*/ undefined, members_6, callSignatures, constructSignatures, stringIndexInfo, numberIndexInfo); // TODO: GH#18217 } else { return undefined; @@ -103000,15 +103660,16 @@ var ts; parameters.push(symbol); } var returnType = getTypeFromUsageContext(callContext.returnType, checker) || checker.getVoidType(); + // TODO: GH#18217 return checker.createSignature(/*declaration*/ undefined, /*typeParameters*/ undefined, /*thisParameter*/ undefined, parameters, returnType, /*typePredicate*/ undefined, callContext.argumentTypes.length, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); } function addCandidateType(context, type) { - if (type && !(type.flags & 1 /* Any */) && !(type.flags & 16384 /* Never */)) { + if (type && !(type.flags & 1 /* Any */) && !(type.flags & 32768 /* Never */)) { (context.candidateTypes || (context.candidateTypes = [])).push(type); } } function hasCallContext(usageContext) { - return usageContext && usageContext.callContexts; + return !!usageContext && !!usageContext.callContexts; } })(InferFromReference || (InferFromReference = {})); })(codefix = ts.codefix || (ts.codefix = {})); @@ -103041,7 +103702,7 @@ var ts; var opts = context.program.getCompilerOptions(); var variations = []; // import Bluebird from "bluebird"; - variations.push(createAction(context, sourceFile, node, ts.makeImport(namespace.name, /*namedImports*/ undefined, node.moduleSpecifier))); + variations.push(createAction(context, sourceFile, node, ts.makeImport(namespace.name, /*namedImports*/ undefined, node.moduleSpecifier, context.preferences))); if (ts.getEmitModuleKind(opts) === ts.ModuleKind.CommonJS) { // import Bluebird = require("bluebird"); variations.push(createAction(context, sourceFile, node, ts.createImportEqualsDeclaration( @@ -103063,18 +103724,18 @@ var ts; }); function getActionsForUsageOfInvalidImport(context) { var sourceFile = context.sourceFile; - var targetKind = ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures.code === context.errorCode ? 186 /* CallExpression */ : 187 /* NewExpression */; + var targetKind = ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures.code === context.errorCode ? 187 /* CallExpression */ : 188 /* NewExpression */; var node = ts.findAncestor(ts.getTokenAtPosition(sourceFile, context.span.start, /*includeJsDocComment*/ false), function (a) { return a.kind === targetKind && a.getStart() === context.span.start && a.getEnd() === (context.span.start + context.span.length); }); if (!node) { return []; } var expr = node.expression; - var type = context.program.getTypeChecker().getTypeAtLocation(expr); + var type = context.program.getTypeChecker().getTypeAtLocation(expr); // TODO: GH#18217 if (!(type.symbol && type.symbol.originatingImport)) { return []; } var fixes = []; - var relatedImport = type.symbol.originatingImport; + var relatedImport = type.symbol.originatingImport; // TODO: GH#18217 if (!ts.isImportCall(relatedImport)) { ts.addRange(fixes, getCodeFixesForImportDeclaration(context, relatedImport)); } @@ -103151,8 +103812,9 @@ var ts; } function addUndefinedType(changeTracker, propertyDeclarationSourceFile, propertyDeclaration) { var undefinedTypeNode = ts.createKeywordTypeNode(140 /* UndefinedKeyword */); - var types = ts.isUnionTypeNode(propertyDeclaration.type) ? propertyDeclaration.type.types.concat(undefinedTypeNode) : [propertyDeclaration.type, undefinedTypeNode]; - changeTracker.replaceNode(propertyDeclarationSourceFile, propertyDeclaration.type, ts.createUnionTypeNode(types)); + var type = propertyDeclaration.type; // TODO: GH#18217 + var types = ts.isUnionTypeNode(type) ? type.types.concat(undefinedTypeNode) : [type, undefinedTypeNode]; + changeTracker.replaceNode(propertyDeclarationSourceFile, type, ts.createUnionTypeNode(types)); } function getActionForAddMissingInitializer(context, propertyDeclaration) { var checker = context.program.getTypeChecker(); @@ -103167,16 +103829,16 @@ var ts; changeTracker.replaceNode(propertyDeclarationSourceFile, propertyDeclaration, property); } function getInitializer(checker, propertyDeclaration) { - return getDefaultValueFromType(checker, checker.getTypeFromTypeNode(propertyDeclaration.type)); + return getDefaultValueFromType(checker, checker.getTypeFromTypeNode(propertyDeclaration.type)); // TODO: GH#18217 } function getDefaultValueFromType(checker, type) { - if (type.flags & 2 /* String */) { + if (type.flags & 4 /* String */) { return ts.createLiteral(""); } - else if (type.flags & 4 /* Number */) { + else if (type.flags & 8 /* Number */) { return ts.createNumericLiteral("0"); } - else if (type.flags & 8 /* Boolean */) { + else if (type.flags & 16 /* Boolean */) { return ts.createFalse(); } else if (type.isLiteral()) { @@ -103204,78 +103866,99 @@ var ts; (function (ts) { var moduleSpecifiers; (function (moduleSpecifiers) { + // Note: fromSourceFile is just for usesJsExtensionOnImports + function getModuleSpecifier(program, fromSourceFile, fromSourceFileName, toFileName, host, preferences) { + var info = getInfo(program.getCompilerOptions(), fromSourceFile, fromSourceFileName, host); + var compilerOptions = program.getCompilerOptions(); + return getGlobalModuleSpecifier(toFileName, info, host, compilerOptions) || + ts.first(getLocalModuleSpecifiers(toFileName, info, compilerOptions, preferences)); + } + moduleSpecifiers.getModuleSpecifier = getModuleSpecifier; // For each symlink/original for a module, returns a list of ways to import that file. function getModuleSpecifiers(moduleSymbol, program, importingSourceFile, host, preferences) { + var ambient = tryGetModuleNameFromAmbientModule(moduleSymbol); + if (ambient) + return [[ambient]]; var compilerOptions = program.getCompilerOptions(); - var baseUrl = compilerOptions.baseUrl, paths = compilerOptions.paths, rootDirs = compilerOptions.rootDirs; - var moduleResolutionKind = ts.getEmitModuleResolutionKind(compilerOptions); - var addJsExtension = usesJsExtensionOnImports(importingSourceFile); - var getCanonicalFileName = ts.hostGetCanonicalFileName(host); - var sourceDirectory = ts.getDirectoryPath(importingSourceFile.fileName); - return getAllModulePaths(program, moduleSymbol.valueDeclaration.getSourceFile()).map(function (moduleFileName) { - var global = tryGetModuleNameFromAmbientModule(moduleSymbol) - || tryGetModuleNameFromTypeRoots(compilerOptions, host, getCanonicalFileName, moduleFileName, addJsExtension) - || tryGetModuleNameAsNodeModule(compilerOptions, moduleFileName, host, getCanonicalFileName, sourceDirectory) - || rootDirs && tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName); - if (global) { - return [global]; - } - var relativePath = removeExtensionAndIndexPostFix(ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, moduleFileName, getCanonicalFileName)), moduleResolutionKind, addJsExtension); - if (!baseUrl || preferences.importModuleSpecifierPreference === "relative") { - return [relativePath]; - } - var relativeToBaseUrl = getRelativePathIfInDirectory(moduleFileName, baseUrl, getCanonicalFileName); - if (!relativeToBaseUrl) { - return [relativePath]; - } - var importRelativeToBaseUrl = removeExtensionAndIndexPostFix(relativeToBaseUrl, moduleResolutionKind, addJsExtension); - if (paths) { - var fromPaths = tryGetModuleNameFromPaths(ts.removeFileExtension(relativeToBaseUrl), importRelativeToBaseUrl, paths); - if (fromPaths) { - return [fromPaths]; - } - } - if (preferences.importModuleSpecifierPreference === "non-relative") { - return [importRelativeToBaseUrl]; - } - if (preferences.importModuleSpecifierPreference !== undefined) - ts.Debug.assertNever(preferences.importModuleSpecifierPreference); - if (isPathRelativeToParent(relativeToBaseUrl)) { - return [relativePath]; - } - /* - Prefer a relative import over a baseUrl import if it doesn't traverse up to baseUrl. - - Suppose we have: - baseUrl = /base - sourceDirectory = /base/a/b - moduleFileName = /base/foo/bar - Then: - relativePath = ../../foo/bar - getRelativePathNParents(relativePath) = 2 - pathFromSourceToBaseUrl = ../../ - getRelativePathNParents(pathFromSourceToBaseUrl) = 2 - 2 < 2 = false - In this case we should prefer using the baseUrl path "/a/b" instead of the relative path "../../foo/bar". - - Suppose we have: - baseUrl = /base - sourceDirectory = /base/foo/a - moduleFileName = /base/foo/bar - Then: - relativePath = ../a - getRelativePathNParents(relativePath) = 1 - pathFromSourceToBaseUrl = ../../ - getRelativePathNParents(pathFromSourceToBaseUrl) = 2 - 1 < 2 = true - In this case we should prefer using the relative path "../a" instead of the baseUrl path "foo/a". - */ - var pathFromSourceToBaseUrl = ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, baseUrl, getCanonicalFileName)); - var relativeFirst = getRelativePathNParents(relativePath) < getRelativePathNParents(pathFromSourceToBaseUrl); - return relativeFirst ? [relativePath, importRelativeToBaseUrl] : [importRelativeToBaseUrl, relativePath]; + var info = getInfo(compilerOptions, importingSourceFile, importingSourceFile.fileName, host); + var modulePaths = getAllModulePaths(program, moduleSymbol.valueDeclaration.getSourceFile()); + var global = ts.mapDefined(modulePaths, function (moduleFileName) { return getGlobalModuleSpecifier(moduleFileName, info, host, compilerOptions); }); + return global.length ? global.map(function (g) { return [g]; }) : modulePaths.map(function (moduleFileName) { + return getLocalModuleSpecifiers(moduleFileName, info, compilerOptions, preferences); }); } moduleSpecifiers.getModuleSpecifiers = getModuleSpecifiers; + // importingSourceFileName is separate because getEditsForFileRename may need to specify an updated path + function getInfo(compilerOptions, importingSourceFile, importingSourceFileName, host) { + var moduleResolutionKind = ts.getEmitModuleResolutionKind(compilerOptions); + var addJsExtension = usesJsExtensionOnImports(importingSourceFile); + var getCanonicalFileName = ts.hostGetCanonicalFileName(host); + var sourceDirectory = ts.getDirectoryPath(importingSourceFileName); + return { moduleResolutionKind: moduleResolutionKind, addJsExtension: addJsExtension, getCanonicalFileName: getCanonicalFileName, sourceDirectory: sourceDirectory }; + } + function getGlobalModuleSpecifier(moduleFileName, _a, host, compilerOptions) { + var addJsExtension = _a.addJsExtension, getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory; + return tryGetModuleNameFromTypeRoots(compilerOptions, host, getCanonicalFileName, moduleFileName, addJsExtension) + || tryGetModuleNameAsNodeModule(compilerOptions, moduleFileName, host, getCanonicalFileName, sourceDirectory) + || compilerOptions.rootDirs && tryGetModuleNameFromRootDirs(compilerOptions.rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName); + } + function getLocalModuleSpecifiers(moduleFileName, _a, compilerOptions, preferences) { + var moduleResolutionKind = _a.moduleResolutionKind, addJsExtension = _a.addJsExtension, getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory; + var baseUrl = compilerOptions.baseUrl, paths = compilerOptions.paths; + var relativePath = removeExtensionAndIndexPostFix(ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, moduleFileName, getCanonicalFileName)), moduleResolutionKind, addJsExtension); + if (!baseUrl || preferences.importModuleSpecifierPreference === "relative") { + return [relativePath]; + } + var relativeToBaseUrl = getRelativePathIfInDirectory(moduleFileName, baseUrl, getCanonicalFileName); + if (!relativeToBaseUrl) { + return [relativePath]; + } + var importRelativeToBaseUrl = removeExtensionAndIndexPostFix(relativeToBaseUrl, moduleResolutionKind, addJsExtension); + if (paths) { + var fromPaths = tryGetModuleNameFromPaths(ts.removeFileExtension(relativeToBaseUrl), importRelativeToBaseUrl, paths); + if (fromPaths) { + return [fromPaths]; + } + } + if (preferences.importModuleSpecifierPreference === "non-relative") { + return [importRelativeToBaseUrl]; + } + if (preferences.importModuleSpecifierPreference !== undefined) + ts.Debug.assertNever(preferences.importModuleSpecifierPreference); + if (isPathRelativeToParent(relativeToBaseUrl)) { + return [relativePath]; + } + /* + Prefer a relative import over a baseUrl import if it doesn't traverse up to baseUrl. + + Suppose we have: + baseUrl = /base + sourceDirectory = /base/a/b + moduleFileName = /base/foo/bar + Then: + relativePath = ../../foo/bar + getRelativePathNParents(relativePath) = 2 + pathFromSourceToBaseUrl = ../../ + getRelativePathNParents(pathFromSourceToBaseUrl) = 2 + 2 < 2 = false + In this case we should prefer using the baseUrl path "/a/b" instead of the relative path "../../foo/bar". + + Suppose we have: + baseUrl = /base + sourceDirectory = /base/foo/a + moduleFileName = /base/foo/bar + Then: + relativePath = ../a + getRelativePathNParents(relativePath) = 1 + pathFromSourceToBaseUrl = ../../ + getRelativePathNParents(pathFromSourceToBaseUrl) = 2 + 1 < 2 = true + In this case we should prefer using the relative path "../a" instead of the baseUrl path "foo/a". + */ + var pathFromSourceToBaseUrl = ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, baseUrl, getCanonicalFileName)); + var relativeFirst = getRelativePathNParents(relativePath) < getRelativePathNParents(pathFromSourceToBaseUrl); + return relativeFirst ? [relativePath, importRelativeToBaseUrl] : [importRelativeToBaseUrl, relativePath]; + } function usesJsExtensionOnImports(_a) { var imports = _a.imports; return ts.firstDefined(imports, function (_a) { @@ -103369,14 +104052,16 @@ var ts; // If the module could be imported by a directory name, use that directory's name var moduleSpecifier = getDirectoryOrExtensionlessFileName(moduleFileName); // Get a path that's relative to node_modules or the importing file's path - moduleSpecifier = getNodeResolvablePath(moduleSpecifier); + // if node_modules folder is in this folder or any of its parent folders, no need to keep it. + if (!ts.startsWith(sourceDirectory, moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex))) + return undefined; // If the module was found in @types, get the actual Node package name - return ts.getPackageNameFromAtTypesDirectory(moduleSpecifier); + return ts.getPackageNameFromAtTypesDirectory(moduleSpecifier.substring(parts.topLevelPackageNameIndex + 1)); function getDirectoryOrExtensionlessFileName(path) { // If the file is the main module, it can be imported by the package name var packageRootPath = path.substring(0, parts.packageRootIndex); var packageJsonPath = ts.combinePaths(packageRootPath, "package.json"); - if (host.fileExists(packageJsonPath)) { + if (host.fileExists(packageJsonPath)) { // TODO: GH#18217 var packageJsonContent = JSON.parse(host.readFile(packageJsonPath)); if (packageJsonContent) { var mainFileRelative = packageJsonContent.typings || packageJsonContent.types || packageJsonContent.main; @@ -103396,16 +104081,6 @@ var ts; } return fullModulePathWithoutExtension; } - function getNodeResolvablePath(path) { - var basePath = path.substring(0, parts.topLevelNodeModulesIndex); - if (sourceDirectory.indexOf(basePath) === 0) { - // if node_modules folder is in this folder or any of its parent folders, no need to keep it. - return path.substring(parts.topLevelPackageNameIndex + 1); - } - else { - return ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, path, getCanonicalFileName)); - } - } } function getNodeModulePathParts(fullPath) { // If fullPath can't be valid module file within node_modules, returns undefined. @@ -103461,7 +104136,7 @@ var ts; } function getPathRelativeToRootDirs(path, rootDirs, getCanonicalFileName) { return ts.firstDefined(rootDirs, function (rootDir) { - var relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); + var relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); // TODO: GH#18217 return isPathRelativeToParent(relativePath) ? undefined : relativePath; }); } @@ -103527,14 +104202,14 @@ var ts; var info = getInfo(sourceFile, start); if (!info) return undefined; - var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, info); }); + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, info, context.preferences); }); return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Convert_to_default_import, fixId, ts.Diagnostics.Convert_all_to_default_imports)]; }, fixIds: [fixId], getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { var info = getInfo(diag.file, diag.start); if (info) - doChange(changes, diag.file, info); + doChange(changes, diag.file, info, context.preferences); }); }, }); function getInfo(sourceFile, pos) { @@ -103550,8 +104225,8 @@ var ts; return { importNode: importNode, name: name, moduleSpecifier: importNode.moduleSpecifier }; } } - function doChange(changes, sourceFile, info) { - changes.replaceNode(sourceFile, info.importNode, ts.makeImport(info.name, /*namedImports*/ undefined, info.moduleSpecifier)); + function doChange(changes, sourceFile, info, preferences) { + changes.replaceNode(sourceFile, info.importNode, ts.makeImport(info.name, /*namedImports*/ undefined, info.moduleSpecifier, preferences)); } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -103579,7 +104254,7 @@ var ts; function getImportTypeNode(sourceFile, pos) { var token = ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false); ts.Debug.assert(token.kind === 91 /* ImportKeyword */); - ts.Debug.assert(token.parent.kind === 178 /* ImportType */); + ts.Debug.assert(token.parent.kind === 179 /* ImportType */); return token.parent; } function doChange(changes, sourceFile, importType) { @@ -103590,6 +104265,187 @@ var ts; })(ts || (ts = {})); /* @internal */ var ts; +(function (ts) { + var codefix; + (function (codefix) { + var fixIdAddMissingTypeof = "fixConvertToMappedObjectType"; + var fixId = fixIdAddMissingTypeof; + var errorCodes = [ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead.code]; + codefix.registerCodeFix({ + errorCodes: errorCodes, + getCodeActions: function (context) { + var sourceFile = context.sourceFile, span = context.span; + var info = getInfo(sourceFile, span.start); + if (!info) + return undefined; + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, info); }); + var name = ts.idText(info.container.name); + return [codefix.createCodeFixAction(fixId, changes, [ts.Diagnostics.Convert_0_to_mapped_object_type, name], fixId, [ts.Diagnostics.Convert_0_to_mapped_object_type, name])]; + }, + fixIds: [fixId], + getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { + var info = getInfo(diag.file, diag.start); + if (info) + doChange(changes, diag.file, info); + }); } + }); + function getInfo(sourceFile, pos) { + var token = ts.getTokenAtPosition(sourceFile, pos, /*includeJsDocComment*/ false); + var indexSignature = ts.cast(token.parent.parent, ts.isIndexSignatureDeclaration); + if (ts.isClassDeclaration(indexSignature.parent)) + return undefined; + var container = ts.isInterfaceDeclaration(indexSignature.parent) ? indexSignature.parent : ts.cast(indexSignature.parent.parent, ts.isTypeAliasDeclaration); + return { indexSignature: indexSignature, container: container }; + } + function createTypeAliasFromInterface(declaration, type) { + return ts.createTypeAliasDeclaration(declaration.decorators, declaration.modifiers, declaration.name, declaration.typeParameters, type); + } + function doChange(changes, sourceFile, _a) { + var indexSignature = _a.indexSignature, container = _a.container; + var members = ts.isInterfaceDeclaration(container) ? container.members : container.type.members; + var otherMembers = members.filter(function (member) { return !ts.isIndexSignatureDeclaration(member); }); + var parameter = ts.first(indexSignature.parameters); + var mappedTypeParameter = ts.createTypeParameterDeclaration(ts.cast(parameter.name, ts.isIdentifier), parameter.type); + var mappedIntersectionType = ts.createMappedTypeNode(ts.hasReadonlyModifier(indexSignature) ? ts.createModifier(132 /* ReadonlyKeyword */) : undefined, mappedTypeParameter, indexSignature.questionToken, indexSignature.type); + var intersectionType = ts.createIntersectionTypeNode(ts.getAllSuperTypeNodes(container).concat([ + mappedIntersectionType + ], (otherMembers.length ? [ts.createTypeLiteralNode(otherMembers)] : ts.emptyArray))); + changes.replaceNode(sourceFile, container, createTypeAliasFromInterface(container, intersectionType)); + } + })(codefix = ts.codefix || (ts.codefix = {})); +})(ts || (ts = {})); +/* @internal */ +var ts; +(function (ts) { + var refactor; + (function (refactor) { + var generateGetAccessorAndSetAccessor; + (function (generateGetAccessorAndSetAccessor) { + var refactorName = "Convert import"; + var actionNameNamespaceToNamed = "Convert namespace import to named imports"; + var actionNameNamedToNamespace = "Convert named imports to namespace import"; + refactor.registerRefactor(refactorName, { + getAvailableActions: function (context) { + var i = getImportToConvert(context); + if (!i) + return undefined; + var description = i.kind === 246 /* NamespaceImport */ ? ts.Diagnostics.Convert_namespace_import_to_named_imports.message : ts.Diagnostics.Convert_named_imports_to_namespace_import.message; + var actionName = i.kind === 246 /* NamespaceImport */ ? actionNameNamespaceToNamed : actionNameNamedToNamespace; + return [{ name: refactorName, description: description, actions: [{ name: actionName, description: description }] }]; + }, + getEditsForAction: function (context, actionName) { + ts.Debug.assert(actionName === actionNameNamespaceToNamed || actionName === actionNameNamedToNamespace); + var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, t, ts.Debug.assertDefined(getImportToConvert(context))); }); + return { edits: edits, renameFilename: undefined, renameLocation: undefined }; + } + }); + // Can convert imports of the form `import * as m from "m";` or `import d, { x, y } from "m";`. + function getImportToConvert(context) { + var file = context.file; + var span = ts.getRefactorContextSpan(context); + var token = ts.getTokenAtPosition(file, span.start, /*includeJsDocComment*/ false); + var importDecl = ts.getParentNodeInSpan(token, file, span); + if (!importDecl || !ts.isImportDeclaration(importDecl)) + return undefined; + var importClause = importDecl.importClause; + return importClause && importClause.namedBindings; + } + function doChange(sourceFile, program, changes, toConvert) { + var checker = program.getTypeChecker(); + if (toConvert.kind === 246 /* NamespaceImport */) { + doChangeNamespaceToNamed(sourceFile, checker, changes, toConvert, ts.getAllowSyntheticDefaultImports(program.getCompilerOptions())); + } + else { + doChangeNamedToNamespace(sourceFile, checker, changes, toConvert); + } + } + function doChangeNamespaceToNamed(sourceFile, checker, changes, toConvert, allowSyntheticDefaultImports) { + var usedAsNamespaceOrDefault = false; + var nodesToReplace = []; + var conflictingNames = ts.createMap(); + ts.FindAllReferences.Core.eachSymbolReferenceInFile(toConvert.name, checker, sourceFile, function (id) { + if (!ts.isPropertyAccessExpression(id.parent)) { + usedAsNamespaceOrDefault = true; + } + else { + var parent = ts.cast(id.parent, ts.isPropertyAccessExpression); + var exportName = parent.name.text; + if (checker.resolveName(exportName, id, 67108863 /* All */, /*excludeGlobals*/ true)) { + conflictingNames.set(exportName, true); + } + ts.Debug.assert(parent.expression === id); + nodesToReplace.push(parent); + } + }); + // We may need to change `mod.x` to `_x` to avoid a name conflict. + var exportNameToImportName = ts.createMap(); + for (var _i = 0, nodesToReplace_1 = nodesToReplace; _i < nodesToReplace_1.length; _i++) { + var propertyAccess = nodesToReplace_1[_i]; + var exportName = propertyAccess.name.text; + var importName = exportNameToImportName.get(exportName); + if (importName === undefined) { + exportNameToImportName.set(exportName, importName = conflictingNames.has(exportName) ? ts.getUniqueName(exportName, sourceFile) : exportName); + } + changes.replaceNode(sourceFile, propertyAccess, ts.createIdentifier(importName)); + } + var importSpecifiers = []; + exportNameToImportName.forEach(function (name, propertyName) { + importSpecifiers.push(ts.createImportSpecifier(name === propertyName ? undefined : ts.createIdentifier(propertyName), ts.createIdentifier(name))); + }); + var importDecl = toConvert.parent.parent; + if (usedAsNamespaceOrDefault && !allowSyntheticDefaultImports) { + // Need to leave the namespace import alone + changes.insertNodeAfter(sourceFile, importDecl, updateImport(importDecl, /*defaultImportName*/ undefined, importSpecifiers)); + } + else { + changes.replaceNode(sourceFile, importDecl, updateImport(importDecl, usedAsNamespaceOrDefault ? ts.createIdentifier(toConvert.name.text) : undefined, importSpecifiers)); + } + } + function doChangeNamedToNamespace(sourceFile, checker, changes, toConvert) { + var importDecl = toConvert.parent.parent; + var moduleSpecifier = importDecl.moduleSpecifier; + var preferredName = moduleSpecifier && ts.isStringLiteral(moduleSpecifier) ? ts.codefix.moduleSpecifierToValidIdentifier(moduleSpecifier.text, 6 /* ESNext */) : "module"; + var namespaceNameConflicts = toConvert.elements.some(function (element) { + return ts.FindAllReferences.Core.eachSymbolReferenceInFile(element.name, checker, sourceFile, function (id) { + return !!checker.resolveName(preferredName, id, 67108863 /* All */, /*excludeGlobals*/ true); + }) || false; + }); + var namespaceImportName = namespaceNameConflicts ? ts.getUniqueName(preferredName, sourceFile) : preferredName; + var neededNamedImports = []; + var _loop_22 = function (element) { + var propertyName = (element.propertyName || element.name).text; + ts.FindAllReferences.Core.eachSymbolReferenceInFile(element.name, checker, sourceFile, function (id) { + var access = ts.createPropertyAccess(ts.createIdentifier(namespaceImportName), propertyName); + if (ts.isShorthandPropertyAssignment(id.parent)) { + changes.replaceNode(sourceFile, id.parent, ts.createPropertyAssignment(id.text, access)); + } + else if (ts.isExportSpecifier(id.parent) && !id.parent.propertyName) { + if (!neededNamedImports.some(function (n) { return n.name === element.name; })) { + neededNamedImports.push(ts.createImportSpecifier(element.propertyName && ts.createIdentifier(element.propertyName.text), ts.createIdentifier(element.name.text))); + } + } + else { + changes.replaceNode(sourceFile, id, access); + } + }); + }; + for (var _i = 0, _a = toConvert.elements; _i < _a.length; _i++) { + var element = _a[_i]; + _loop_22(element); + } + changes.replaceNode(sourceFile, toConvert, ts.createNamespaceImport(ts.createIdentifier(namespaceImportName))); + if (neededNamedImports.length) { + changes.insertNodeAfter(sourceFile, toConvert.parent.parent, updateImport(importDecl, /*defaultImportName*/ undefined, neededNamedImports)); + } + } + function updateImport(old, defaultImportName, elements) { + return ts.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.createImportClause(defaultImportName, elements && elements.length ? ts.createNamedImports(elements) : undefined), old.moduleSpecifier); + } + })(generateGetAccessorAndSetAccessor = refactor.generateGetAccessorAndSetAccessor || (refactor.generateGetAccessorAndSetAccessor = {})); + })(refactor = ts.refactor || (ts.refactor = {})); +})(ts || (ts = {})); +/* @internal */ +var ts; (function (ts) { var refactor; (function (refactor) { @@ -103672,7 +104528,7 @@ var ts; /* Exported for tests */ function getEditsForAction(context, actionName) { var rangeToExtract = getRangeToExtract(context.file, ts.getRefactorContextSpan(context)); - var targetRange = rangeToExtract.targetRange; + var targetRange = rangeToExtract.targetRange; // TODO:GH#18217 var parsedFunctionIndexMatch = /^function_scope_(\d+)$/.exec(actionName); if (parsedFunctionIndexMatch) { var index = +parsedFunctionIndexMatch[1]; @@ -103743,9 +104599,9 @@ var ts; } // Walk up starting from the the start position until we find a non-SourceFile node that subsumes the selected span. // This may fail (e.g. you select two statements in the root of a source file) - var start = getParentNodeInSpan(ts.getTokenAtPosition(sourceFile, span.start, /*includeJsDocComment*/ false), sourceFile, span); + var start = ts.getParentNodeInSpan(ts.getTokenAtPosition(sourceFile, span.start, /*includeJsDocComment*/ false), sourceFile, span); // Do the same for the ending position - var end = getParentNodeInSpan(ts.findTokenOnLeftOfPosition(sourceFile, ts.textSpanEnd(span)), sourceFile, span); + var end = ts.getParentNodeInSpan(ts.findTokenOnLeftOfPosition(sourceFile, ts.textSpanEnd(span)), sourceFile, span); var declarations = []; // We'll modify these flags as we walk the tree to collect data // about what things need to be done as part of the extraction. @@ -103764,7 +104620,8 @@ var ts; return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractRange)] }; } var statements = []; - for (var _i = 0, _a = start.parent.statements; _i < _a.length; _i++) { + var start2 = start; // TODO: GH#18217 Need to alias `start` to get this to compile. See https://github.com/Microsoft/TypeScript/issues/19955#issuecomment-344118248 + for (var _i = 0, _a = start2.parent.statements; _i < _a.length; _i++) { var statement = _a[_i]; if (statement === start || statements.length) { var errors_1 = checkNode(statement); @@ -103797,7 +104654,7 @@ var ts; if (errors) { return { errors: errors }; } - return { targetRange: { range: getStatementOrExpressionRange(node), facts: rangeFacts, declarations: declarations } }; + return { targetRange: { range: getStatementOrExpressionRange(node), facts: rangeFacts, declarations: declarations } }; // TODO: GH#18217 /** * Attempt to refine the extraction node (generally, by shrinking it) to produce better results. * @param node The unrefined extraction node. @@ -103839,20 +104696,20 @@ var ts; function checkForStaticContext(nodeToCheck, containingClass) { var current = nodeToCheck; while (current !== containingClass) { - if (current.kind === 151 /* PropertyDeclaration */) { + if (current.kind === 152 /* PropertyDeclaration */) { if (ts.hasModifier(current, 32 /* Static */)) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 148 /* Parameter */) { + else if (current.kind === 149 /* Parameter */) { var ctorOrMethod = ts.getContainingFunction(current); - if (ctorOrMethod.kind === 154 /* Constructor */) { + if (ctorOrMethod.kind === 155 /* Constructor */) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 153 /* MethodDeclaration */) { + else if (current.kind === 154 /* MethodDeclaration */) { if (ts.hasModifier(current, 32 /* Static */)) { rangeFacts |= RangeFacts.InStaticRegion; } @@ -103895,8 +104752,11 @@ var ts; return true; } if (ts.isDeclaration(node)) { - var declaringNode = (node.kind === 231 /* VariableDeclaration */) ? node.parent.parent : node; + var declaringNode = (node.kind === 232 /* VariableDeclaration */) ? node.parent.parent : node; if (ts.hasModifier(declaringNode, 1 /* Export */)) { + // TODO: GH#18217 Silly to use `errors ||` since it's definitely not defined (see top of `visit`) + // Also, if we're only pushing one error, just use `let error: Diagnostic | undefined`! + // Also TODO: GH#19956 (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractExportedEntity)); return true; } @@ -103904,15 +104764,15 @@ var ts; } // Some things can't be extracted in certain situations switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractImport)); return true; case 97 /* SuperKeyword */: // For a super *constructor call*, we have to be extracting the entire class, // but a super *method call* simply implies a 'this' reference - if (node.parent.kind === 186 /* CallExpression */) { + if (node.parent.kind === 187 /* CallExpression */) { // Super constructor call - var containingClass_1 = ts.getContainingClass(node); + var containingClass_1 = ts.getContainingClass(node); // TODO:GH#18217 if (containingClass_1.pos < span.start || containingClass_1.end >= (span.start + span.length)) { (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractSuper)); return true; @@ -103923,10 +104783,10 @@ var ts; } break; } - if (!node || ts.isFunctionLikeDeclaration(node) || ts.isClassLike(node)) { + if (ts.isFunctionLikeDeclaration(node) || ts.isClassLike(node)) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: if (ts.isSourceFile(node.parent) && node.parent.externalModuleIndicator === undefined) { // You cannot extract global declarations (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.functionWillNotBeVisibleInTheNewScope)); @@ -103938,20 +104798,20 @@ var ts; } var savedPermittedJumps = permittedJumps; switch (node.kind) { - case 216 /* IfStatement */: + case 217 /* IfStatement */: permittedJumps = 0 /* None */; break; - case 229 /* TryStatement */: + case 230 /* TryStatement */: // forbid all jumps inside try blocks permittedJumps = 0 /* None */; break; - case 212 /* Block */: - if (node.parent && node.parent.kind === 229 /* TryStatement */ && node.parent.finallyBlock === node) { + case 213 /* Block */: + if (node.parent && node.parent.kind === 230 /* TryStatement */ && node.parent.finallyBlock === node) { // allow unconditional returns from finally blocks permittedJumps = 4 /* Return */; } break; - case 265 /* CaseClause */: + case 266 /* CaseClause */: // allow unlabeled break inside case clauses permittedJumps |= 1 /* Break */; break; @@ -103963,11 +104823,11 @@ var ts; break; } switch (node.kind) { - case 173 /* ThisType */: + case 174 /* ThisType */: case 99 /* ThisKeyword */: rangeFacts |= RangeFacts.UsesThis; break; - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: { var label = node.label; (seenLabels || (seenLabels = [])).push(label.escapedText); @@ -103975,8 +104835,8 @@ var ts; seenLabels.pop(); break; } - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: { var label = node.label; if (label) { @@ -103986,20 +104846,20 @@ var ts; } } else { - if (!(permittedJumps & (node.kind === 223 /* BreakStatement */ ? 1 /* Break */ : 2 /* Continue */))) { + if (!(permittedJumps & (node.kind === 224 /* BreakStatement */ ? 1 /* Break */ : 2 /* Continue */))) { // attempt to break or continue in a forbidden context (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractRangeContainingConditionalBreakOrContinueStatements)); } } break; } - case 196 /* AwaitExpression */: + case 197 /* AwaitExpression */: rangeFacts |= RangeFacts.IsAsyncFunction; break; - case 202 /* YieldExpression */: + case 203 /* YieldExpression */: rangeFacts |= RangeFacts.IsGenerator; break; - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: if (permittedJumps & 4 /* Return */) { rangeFacts |= RangeFacts.HasReturn; } @@ -104053,7 +104913,7 @@ var ts; while (true) { current = current.parent; // A function parameter's initializer is actually in the outer scope, not the function declaration - if (current.kind === 148 /* Parameter */) { + if (current.kind === 149 /* Parameter */) { // Skip all the way to the outer scope of the function that declared this parameter current = ts.findAncestor(current, function (parent) { return ts.isFunctionLikeDeclaration(parent); }).parent; } @@ -104064,7 +104924,7 @@ var ts; // * Module/namespace or source file if (isScope(current)) { scopes.push(current); - if (current.kind === 273 /* SourceFile */) { + if (current.kind === 274 /* SourceFile */) { return scopes; } } @@ -104073,7 +104933,7 @@ var ts; function getFunctionExtractionAtIndex(targetRange, context, requestedChangesIndex) { var _a = getPossibleExtractionsWorker(targetRange, context), scopes = _a.scopes, _b = _a.readsAndWrites, target = _b.target, usagesPerScope = _b.usagesPerScope, functionErrorsPerScope = _b.functionErrorsPerScope, exposedVariableDeclarations = _b.exposedVariableDeclarations; ts.Debug.assert(!functionErrorsPerScope[requestedChangesIndex].length, "The extraction went missing? How?"); - context.cancellationToken.throwIfCancellationRequested(); + context.cancellationToken.throwIfCancellationRequested(); // TODO: GH#18217 return extractFunctionInScope(target, scopes[requestedChangesIndex], usagesPerScope[requestedChangesIndex], exposedVariableDeclarations, targetRange, context); } function getConstantExtractionAtIndex(targetRange, context, requestedChangesIndex) { @@ -104154,32 +105014,32 @@ var ts; } function getDescriptionForFunctionLikeDeclaration(scope) { switch (scope.kind) { - case 154 /* Constructor */: + case 155 /* Constructor */: return "constructor"; - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: return scope.name ? "function '" + scope.name.text + "'" : "anonymous function"; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: return "arrow function"; - case 153 /* MethodDeclaration */: + case 154 /* MethodDeclaration */: return "method '" + scope.name.getText(); - case 155 /* GetAccessor */: + case 156 /* GetAccessor */: return "'get " + scope.name.getText() + "'"; - case 156 /* SetAccessor */: + case 157 /* SetAccessor */: return "'set " + scope.name.getText() + "'"; default: - ts.Debug.assertNever(scope); + throw ts.Debug.assertNever(scope); } } function getDescriptionForClassLikeDeclaration(scope) { - return scope.kind === 234 /* ClassDeclaration */ + return scope.kind === 235 /* ClassDeclaration */ ? scope.name ? "class '" + scope.name.text + "'" : "anonymous class declaration" : scope.name ? "class expression '" + scope.name.text + "'" : "anonymous class expression"; } function getDescriptionForModuleLikeDeclaration(scope) { - return scope.kind === 239 /* ModuleBlock */ + return scope.kind === 240 /* ModuleBlock */ ? "namespace '" + scope.parent.name.getText() + "'" : scope.externalModuleIndicator ? 0 /* Module */ : 1 /* Global */; } @@ -104197,7 +105057,7 @@ var ts; var checker = context.program.getTypeChecker(); // Make a unique name for the extracted function var file = scope.getSourceFile(); - var functionNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newMethod" : "newFunction", file.text); + var functionNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newMethod" : "newFunction", file); var isJS = ts.isInJavaScriptFile(scope); var functionName = ts.createIdentifier(functionNameText); var returnType; @@ -104238,7 +105098,7 @@ var ts; // to avoid problems when there are literal types present if (ts.isExpression(node) && !isJS) { var contextualType = checker.getContextualType(node); - returnType = checker.typeToTypeNode(contextualType, scope, 1 /* NoTruncation */); + returnType = checker.typeToTypeNode(contextualType, scope, 1 /* NoTruncation */); // TODO: GH#18217 } var _b = transformFunctionBody(node, exposedVariableDeclarations, writes, substitutions, !!(range.facts & RangeFacts.HasReturn)), body = _b.body, returnValueProperty = _b.returnValueProperty; ts.suppressLeadingAndTrailingTrivia(body); @@ -104306,7 +105166,8 @@ var ts; /*propertyName*/ undefined, /*name*/ ts.getSynthesizedDeepClone(variableDeclaration.name))); // Being returned through an object literal will have widened the type. - var variableType = checker.typeToTypeNode(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(variableDeclaration)), scope, 1 /* NoTruncation */); + var variableType = checker.typeToTypeNode(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(variableDeclaration)), // TODO: GH#18217 + scope, 1 /* NoTruncation */); typeElements.push(ts.createPropertySignature( /*modifiers*/ undefined, /*name*/ variableDeclaration.symbol.name, @@ -104413,11 +105274,11 @@ var ts; var checker = context.program.getTypeChecker(); // Make a unique name for the extracted variable var file = scope.getSourceFile(); - var localNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newProperty" : "newLocal", file.text); + var localNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newProperty" : "newLocal", file); var isJS = ts.isInJavaScriptFile(scope); var variableType = isJS || !checker.isContextSensitive(node) ? undefined - : checker.typeToTypeNode(checker.getContextualType(node), scope, 1 /* NoTruncation */); + : checker.typeToTypeNode(checker.getContextualType(node), scope, 1 /* NoTruncation */); // TODO: GH#18217 var initializer = transformConstantInitializer(node, substitutions); ts.suppressLeadingAndTrailingTrivia(initializer); var changeTracker = ts.textChanges.ChangeTracker.fromContext(context); @@ -104433,7 +105294,7 @@ var ts; /*decorators*/ undefined, modifiers, localNameText, /*questionToken*/ undefined, variableType, initializer); var localReference = ts.createPropertyAccess(rangeFacts & RangeFacts.InStaticRegion - ? ts.createIdentifier(scope.name.getText()) + ? ts.createIdentifier(scope.name.getText()) // TODO: GH#18217 : ts.createThis(), ts.createIdentifier(localNameText)); // Declare var maxInsertionPos = node.pos; @@ -104457,7 +105318,7 @@ var ts; var localReference = ts.createIdentifier(localNameText); changeTracker.replaceNode(context.file, node, localReference); } - else if (node.parent.kind === 215 /* ExpressionStatement */ && scope === ts.findAncestor(node, isScope)) { + else if (node.parent.kind === 216 /* ExpressionStatement */ && scope === ts.findAncestor(node, isScope)) { // If the parent is an expression statement and the target scope is the immediately enclosing one, // replace the statement with the declaration. var newVariableStatement = ts.createVariableStatement( @@ -104476,7 +105337,7 @@ var ts; changeTracker.insertNodeBefore(context.file, nodeToInsertBefore, newVariableStatement, /*blankLineBetween*/ false); } // Consume - if (node.parent.kind === 215 /* ExpressionStatement */) { + if (node.parent.kind === 216 /* ExpressionStatement */) { // If the parent is an expression statement, delete it. changeTracker.deleteNode(context.file, node.parent, ts.textChanges.useNonAdjustedPositions); } @@ -104527,7 +105388,7 @@ var ts; function getCalledExpression(scope, range, functionNameText) { var functionReference = ts.createIdentifier(functionNameText); if (ts.isClassLike(scope)) { - var lhs = range.facts & RangeFacts.InStaticRegion ? ts.createIdentifier(scope.name.text) : ts.createThis(); + var lhs = range.facts & RangeFacts.InStaticRegion ? ts.createIdentifier(scope.name.text) : ts.createThis(); // TODO: GH#18217 return ts.createPropertyAccess(lhs, functionReference); } else { @@ -104563,7 +105424,7 @@ var ts; return { body: ts.createBlock(statements, /*multiLine*/ true), returnValueProperty: undefined }; } function visitor(node) { - if (!ignoreReturns && node.kind === 224 /* ReturnStatement */ && hasWritesOrVariableDeclarations) { + if (!ignoreReturns && node.kind === 225 /* ReturnStatement */ && hasWritesOrVariableDeclarations) { var assignments = getPropertyAssignmentsForWritesAndVariableDeclarations(exposedVariableDeclarations, writes); if (node.expression) { if (!returnValueProperty) { @@ -104599,7 +105460,7 @@ var ts; } function getStatementsOrClassElements(scope) { if (ts.isFunctionLikeDeclaration(scope)) { - var body = scope.body; + var body = scope.body; // TODO: GH#18217 if (ts.isBlock(body)) { return body.statements; } @@ -104644,7 +105505,8 @@ var ts; } prevMember = member; } - ts.Debug.assert(prevMember !== undefined); // If the loop didn't return, then it did set prevMember. + if (prevMember === undefined) + return ts.Debug.fail(); // If the loop didn't return, then it did set prevMember. return prevMember; } function getNodeToInsertConstantBefore(node, scope) { @@ -104671,18 +105533,15 @@ var ts; return curr.parent.parent; } // There must be at least one statement since we started in one. - ts.Debug.assert(prevStatement !== undefined); - return prevStatement; - } - if (curr === scope) { - ts.Debug.fail("Didn't encounter a block-like before encountering scope"); - break; + return ts.Debug.assertDefined(prevStatement); } + ts.Debug.assert(curr !== scope, "Didn't encounter a block-like before encountering scope"); } } function getPropertyAssignmentsForWritesAndVariableDeclarations(exposedVariableDeclarations, writes) { var variableAssignments = ts.map(exposedVariableDeclarations, function (v) { return ts.createShorthandPropertyAssignment(v.symbol.name); }); var writeAssignments = ts.map(writes, function (w) { return ts.createShorthandPropertyAssignment(w.symbol.name); }); + // TODO: GH#18217 `variableAssignments` not possibly undefined! return variableAssignments === undefined ? writeAssignments : writeAssignments === undefined @@ -104735,7 +105594,7 @@ var ts; var end = ts.last(statements).end; expressionDiagnostic = ts.createFileDiagnostic(sourceFile, start, end - start, Messages.expressionExpected); } - else if (checker.getTypeAtLocation(expression).flags & (2048 /* Void */ | 16384 /* Never */)) { + else if (checker.getTypeAtLocation(expression).flags & (4096 /* Void */ | 32768 /* Never */)) { // TODO: GH#18217 expressionDiagnostic = ts.createDiagnosticForNode(expression, Messages.uselessConstantType); } // initialize results @@ -104743,7 +105602,7 @@ var ts; var scope = scopes_1[_i]; usagesPerScope.push({ usages: ts.createMap(), typeParameterUsages: ts.createMap(), substitutions: ts.createMap() }); substitutionsPerScope.push(ts.createMap()); - functionErrorsPerScope.push(ts.isFunctionLikeDeclaration(scope) && scope.kind !== 233 /* FunctionDeclaration */ + functionErrorsPerScope.push(ts.isFunctionLikeDeclaration(scope) && scope.kind !== 234 /* FunctionDeclaration */ ? [ts.createDiagnosticForNode(scope, Messages.cannotExtractToOtherFunctionLike)] : []); var constantErrors = []; @@ -104768,7 +105627,7 @@ var ts; // will use the contextual type of an expression as the return type of the extracted // method (and will therefore "use" all the types involved). if (inGenericContext && !isReadonlyArray(targetRange.range)) { - var contextualType = checker.getContextualType(targetRange.range); + var contextualType = checker.getContextualType(targetRange.range); // TODO: GH#18217 recordTypeParameterUsages(contextualType); } if (allTypeParameterUsages.size > 0) { @@ -104806,7 +105665,7 @@ var ts; : ts.getEnclosingBlockScopeContainer(scopes[0]); ts.forEachChild(containingLexicalScopeOfExtraction, checkForUsedDeclarations); } - var _loop_19 = function (i) { + var _loop_23 = function (i) { var scopeUsages = usagesPerScope[i]; // Special case: in the innermost scope, all usages are available. // (The computed value reflects the value at the top-level of the scope, but the @@ -104846,7 +105705,7 @@ var ts; } }; for (var i = 0; i < scopes.length; i++) { - _loop_19(i); + _loop_23(i); } return { target: target, usagesPerScope: usagesPerScope, functionErrorsPerScope: functionErrorsPerScope, constantErrorsPerScope: constantErrorsPerScope, exposedVariableDeclarations: exposedVariableDeclarations }; function isInGenericContext(node) { @@ -104868,7 +105727,7 @@ var ts; function collectUsages(node, valueUsage) { if (valueUsage === void 0) { valueUsage = 1 /* Read */; } if (inGenericContext) { - var type = checker.getTypeAtLocation(node); + var type = checker.getTypeAtLocation(node); // TODO: GH#18217 recordTypeParameterUsages(type); } if (ts.isDeclaration(node) && node.symbol) { @@ -105049,20 +105908,6 @@ var ts; : ts.createPropertyAccess(prefix, symbol.name); } } - function getParentNodeInSpan(node, file, span) { - if (!node) - return undefined; - while (node.parent) { - if (ts.isSourceFile(node.parent) || !spanContainsNode(span, node.parent, file)) { - return node; - } - node = node.parent; - } - } - function spanContainsNode(span, node, file) { - return ts.textSpanContainsPosition(span, node.getStart(file)) && - node.getEnd() <= ts.textSpanEnd(span); - } /** * Computes whether or not a node represents an expression in a position where it could * be extracted. @@ -105071,31 +105916,32 @@ var ts; * in the sense of something that you could extract on */ function isExtractableExpression(node) { - switch (node.parent.kind) { - case 272 /* EnumMember */: + var parent = node.parent; + switch (parent.kind) { + case 273 /* EnumMember */: return false; } switch (node.kind) { case 9 /* StringLiteral */: - return node.parent.kind !== 243 /* ImportDeclaration */ && - node.parent.kind !== 247 /* ImportSpecifier */; - case 203 /* SpreadElement */: - case 179 /* ObjectBindingPattern */: - case 181 /* BindingElement */: + return parent.kind !== 244 /* ImportDeclaration */ && + parent.kind !== 248 /* ImportSpecifier */; + case 204 /* SpreadElement */: + case 180 /* ObjectBindingPattern */: + case 182 /* BindingElement */: return false; case 71 /* Identifier */: - return node.parent.kind !== 181 /* BindingElement */ && - node.parent.kind !== 247 /* ImportSpecifier */ && - node.parent.kind !== 251 /* ExportSpecifier */; + return parent.kind !== 182 /* BindingElement */ && + parent.kind !== 248 /* ImportSpecifier */ && + parent.kind !== 252 /* ExportSpecifier */; } return true; } function isBlockLike(node) { switch (node.kind) { - case 212 /* Block */: - case 273 /* SourceFile */: - case 239 /* ModuleBlock */: - case 265 /* CaseClause */: + case 213 /* Block */: + case 274 /* SourceFile */: + case 240 /* ModuleBlock */: + case 266 /* CaseClause */: return true; default: return false; @@ -105172,7 +106018,7 @@ var ts; var renameLocation = renameLocationOffset + ts.getRenameLocation(edits, renameFilename, nameNeedRename.text, /*preferLastLocation*/ ts.isParameter(declaration)); return { renameFilename: renameFilename, renameLocation: renameLocation, edits: edits }; } - function isConvertableName(name) { + function isConvertibleName(name) { return ts.isIdentifier(name) || ts.isStringLiteral(name); } function isAcceptedDeclaration(node) { @@ -105182,7 +106028,7 @@ var ts; return ts.isIdentifier(originalName) ? ts.createIdentifier(name) : ts.createLiteral(name); } function createAccessorAccessExpression(fieldName, isStatic, container) { - var leftHead = isStatic ? container.name : ts.createThis(); + var leftHead = isStatic ? container.name : ts.createThis(); // TODO: GH#18217 return ts.isIdentifier(fieldName) ? ts.createPropertyAccess(leftHead, fieldName) : ts.createElementAccess(leftHead, ts.createLiteral(fieldName)); } function getModifiers(isJS, isStatic, accessModifier) { @@ -105198,18 +106044,18 @@ var ts; var declaration = ts.findAncestor(node.parent, isAcceptedDeclaration); // make sure declaration have AccessibilityModifier or Static Modifier or Readonly Modifier var meaning = 28 /* AccessibilityModifier */ | 32 /* Static */ | 64 /* Readonly */; - if (!declaration || !ts.rangeOverlapsWithStartEnd(declaration.name, startPosition, endPosition) - || !isConvertableName(declaration.name) || (ts.getModifierFlags(declaration) | meaning) !== meaning) + if (!declaration || !ts.rangeOverlapsWithStartEnd(declaration.name, startPosition, endPosition) // TODO: GH#18217 + || !isConvertibleName(declaration.name) || (ts.getModifierFlags(declaration) | meaning) !== meaning) return undefined; var name = declaration.name.text; var startWithUnderscore = startsWithUnderscore(name); - var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_" + name, file.text), declaration.name); - var accessorName = createPropertyName(startWithUnderscore ? ts.getUniqueName(name.substring(1), file.text) : name, declaration.name); + var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_" + name, file), declaration.name); + var accessorName = createPropertyName(startWithUnderscore ? ts.getUniqueName(name.substring(1), file) : name, declaration.name); return { isStatic: ts.hasStaticModifier(declaration), isReadonly: ts.hasReadonlyModifier(declaration), type: ts.getTypeAnnotationNode(declaration), - container: declaration.kind === 148 /* Parameter */ ? declaration.parent.parent : declaration.parent, + container: declaration.kind === 149 /* Parameter */ ? declaration.parent.parent : declaration.parent, originalName: declaration.name, declaration: declaration, fieldName: fieldName, @@ -105220,7 +106066,8 @@ var ts; function generateGetAccessor(fieldName, accessorName, type, modifiers, isStatic, container) { return ts.createGetAccessor( /*decorators*/ undefined, modifiers, accessorName, - /*parameters*/ undefined, type, ts.createBlock([ + /*parameters*/ undefined, // TODO: GH#18217 + type, ts.createBlock([ ts.createReturn(createAccessorAccessExpression(fieldName, isStatic, container)) ], /*multiLine*/ true)); } @@ -105264,7 +106111,9 @@ var ts; if (!constructor.body) return; var file = context.file, program = context.program, cancellationToken = context.cancellationToken; - var referenceEntries = ts.mapDefined(ts.FindAllReferences.getReferenceEntriesForNode(originalName.parent.pos, originalName, program, [file], cancellationToken), function (entry) { return ((entry.type === "node" && ts.rangeContainsRange(constructor, entry.node) && ts.isIdentifier(entry.node) && ts.isWriteAccess(entry.node)) ? entry.node : undefined); }); + var referenceEntries = ts.mapDefined(ts.FindAllReferences.getReferenceEntriesForNode(originalName.parent.pos, originalName, program, [file], cancellationToken), function (entry) { + return (entry.type === "node" && ts.rangeContainsRange(constructor, entry.node) && ts.isIdentifier(entry.node) && ts.isWriteAccess(entry.node)) ? entry.node : undefined; + }); ts.forEach(referenceEntries, function (entry) { var parent = entry.parent; var accessorName = ts.createIdentifier(fieldName.text); @@ -105287,7 +106136,7 @@ var ts; var refactorName = "Move to a new file"; refactor.registerRefactor(refactorName, { getAvailableActions: function (context) { - if (!context.preferences.allowTextChangesInNewFiles || getFirstAndLastStatementToMove(context) === undefined) + if (!context.preferences.allowTextChangesInNewFiles || getStatementsToMove(context) === undefined) return undefined; var description = ts.getLocaleSpecificMessage(ts.Diagnostics.Move_to_a_new_file); return [{ name: refactorName, description: description, actions: [{ name: refactorName, description: description }] }]; @@ -105295,27 +106144,34 @@ var ts; getEditsForAction: function (context, actionName) { ts.Debug.assert(actionName === refactorName); var statements = ts.Debug.assertDefined(getStatementsToMove(context)); - var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, statements, t, context.host); }); + var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, statements, t, context.host, context.preferences); }); return { edits: edits, renameFilename: undefined, renameLocation: undefined }; } }); - function getFirstAndLastStatementToMove(context) { + function getRangeToMove(context) { var file = context.file; var range = ts.createTextRangeFromSpan(ts.getRefactorContextSpan(context)); var statements = file.statements; var startNodeIndex = ts.findIndex(statements, function (s) { return s.end > range.pos; }); if (startNodeIndex === -1) return undefined; + var startStatement = statements[startNodeIndex]; + if (ts.isNamedDeclaration(startStatement) && startStatement.name && ts.rangeContainsRange(startStatement.name, range)) { + return { toMove: [statements[startNodeIndex]], afterLast: statements[startNodeIndex + 1] }; + } // Can't only partially include the start node or be partially into the next node - if (range.pos > statements[startNodeIndex].getStart(file)) + if (range.pos > startStatement.getStart(file)) return undefined; var afterEndNodeIndex = ts.findIndex(statements, function (s) { return s.end > range.end; }, startNodeIndex); // Can't be partially into the next node if (afterEndNodeIndex !== -1 && (afterEndNodeIndex === 0 || statements[afterEndNodeIndex].getStart(file) < range.end)) return undefined; - return { first: startNodeIndex, afterLast: afterEndNodeIndex === -1 ? statements.length : afterEndNodeIndex }; + return { + toMove: statements.slice(startNodeIndex, afterEndNodeIndex === -1 ? statements.length : afterEndNodeIndex), + afterLast: afterEndNodeIndex === -1 ? undefined : statements[afterEndNodeIndex], + }; } - function doChange(oldFile, program, toMove, changes, host) { + function doChange(oldFile, program, toMove, changes, host, preferences) { var checker = program.getTypeChecker(); var usage = getUsageInfo(oldFile, toMove.all, checker); var currentDirectory = ts.getDirectoryPath(oldFile.fileName); @@ -105323,31 +106179,32 @@ var ts; var newModuleName = makeUniqueModuleName(getNewModuleName(usage.movedSymbols), extension, currentDirectory, host); var newFileNameWithExtension = newModuleName + extension; // If previous file was global, this is easy. - changes.createNewFile(oldFile, ts.combinePaths(currentDirectory, newFileNameWithExtension), getNewStatements(oldFile, usage, changes, toMove, program, newModuleName)); + changes.createNewFile(oldFile, ts.combinePaths(currentDirectory, newFileNameWithExtension), getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, newModuleName, preferences)); addNewFileToTsconfig(program, changes, oldFile.fileName, newFileNameWithExtension, ts.hostGetCanonicalFileName(host)); } // Filters imports out of the range of statements to move. Imports will be copied to the new file anyway, and may still be needed in the old file. function getStatementsToMove(context) { - var statements = context.file.statements; - var _a = getFirstAndLastStatementToMove(context), first = _a.first, afterLast = _a.afterLast; + var rangeToMove = getRangeToMove(context); + if (rangeToMove === undefined) + return undefined; var all = []; var ranges = []; - var rangeToMove = statements.slice(first, afterLast); - ts.getRangesWhere(rangeToMove, function (s) { return !isPureImport(s); }, function (start, afterEnd) { - for (var i = start; i < afterEnd; i++) - all.push(rangeToMove[i]); - ranges.push({ first: rangeToMove[start], last: rangeToMove[afterEnd - 1] }); + var toMove = rangeToMove.toMove, afterLast = rangeToMove.afterLast; + ts.getRangesWhere(toMove, function (s) { return !isPureImport(s); }, function (start, afterEndIndex) { + for (var i = start; i < afterEndIndex; i++) + all.push(toMove[i]); + ranges.push({ first: toMove[start], afterLast: afterLast }); }); - return { all: all, ranges: ranges }; + return all.length === 0 ? undefined : { all: all, ranges: ranges }; } function isPureImport(node) { switch (node.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: return true; - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return !ts.hasModifier(node, 1 /* Export */); - case 213 /* VariableStatement */: - return node.declarationList.declarations.every(function (d) { return d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ true); }); + case 214 /* VariableStatement */: + return node.declarationList.declarations.every(function (d) { return !!d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ true); }); default: return false; } @@ -105366,26 +106223,26 @@ var ts; changes.insertNodeInListAfter(cfg, ts.last(filesProp.initializer.elements), ts.createLiteral(newFilePath), filesProp.initializer.elements); } } - function getNewStatements(oldFile, usage, changes, toMove, program, newModuleName) { + function getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, newModuleName, preferences) { var checker = program.getTypeChecker(); if (!oldFile.externalModuleIndicator && !oldFile.commonJsModuleIndicator) { deleteMovedStatements(oldFile, toMove.ranges, changes); return toMove.all; } var useEs6ModuleSyntax = !!oldFile.externalModuleIndicator; - var importsFromNewFile = createOldFileImportsFromNewFile(usage.oldFileImportsFromNewFile, newModuleName, useEs6ModuleSyntax); + var importsFromNewFile = createOldFileImportsFromNewFile(usage.oldFileImportsFromNewFile, newModuleName, useEs6ModuleSyntax, preferences); if (importsFromNewFile) { changes.insertNodeBefore(oldFile, oldFile.statements[0], importsFromNewFile, /*blankLineBetween*/ true); } deleteUnusedOldImports(oldFile, toMove.all, changes, usage.unusedImportsFromOldFile, checker); deleteMovedStatements(oldFile, toMove.ranges, changes); updateImportsInOtherFiles(changes, program, oldFile, usage.movedSymbols, newModuleName); - return getNewFileImportsAndAddExportInOldFile(oldFile, usage.oldImportsNeededByNewFile, usage.newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax).concat(addExports(oldFile, toMove.all, usage.oldFileImportsFromNewFile, useEs6ModuleSyntax)); + return getNewFileImportsAndAddExportInOldFile(oldFile, usage.oldImportsNeededByNewFile, usage.newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax, preferences).concat(addExports(oldFile, toMove.all, usage.oldFileImportsFromNewFile, useEs6ModuleSyntax)); } function deleteMovedStatements(sourceFile, moved, changes) { for (var _i = 0, moved_1 = moved; _i < moved_1.length; _i++) { - var _a = moved_1[_i], first_1 = _a.first, last_3 = _a.last; - changes.deleteNodeRange(sourceFile, first_1, last_3); + var _a = moved_1[_i], first_1 = _a.first, afterLast = _a.afterLast; + changes.deleteNodeRangeExcludingEnd(sourceFile, first_1, afterLast); } } function deleteUnusedOldImports(oldFile, toMove, changes, toDelete, checker) { @@ -105398,15 +106255,17 @@ var ts; } function updateImportsInOtherFiles(changes, program, oldFile, movedSymbols, newModuleName) { var checker = program.getTypeChecker(); - var _loop_20 = function (sourceFile) { + var _loop_24 = function (sourceFile) { if (sourceFile === oldFile) return "continue"; - var _loop_21 = function (statement) { + var _loop_25 = function (statement) { forEachImportInStatement(statement, function (importNode) { + if (checker.getSymbolAtLocation(moduleSpecifierFromImport(importNode)) !== oldFile.symbol) + return; var shouldMove = function (name) { var symbol = ts.isBindingElement(name.parent) ? ts.getPropertySymbolFromBindingElement(checker, name.parent) - : ts.skipAlias(checker.getSymbolAtLocation(name), checker); + : ts.skipAlias(checker.getSymbolAtLocation(name), checker); // TODO: GH#18217 return !!symbol && movedSymbols.has(symbol); }; deleteUnusedImports(sourceFile, importNode, changes, shouldMove); // These will be changed to imports from the new file @@ -105414,21 +106273,73 @@ var ts; var newImportDeclaration = filterImport(importNode, ts.createLiteral(newModuleSpecifier), shouldMove); if (newImportDeclaration) changes.insertNodeAfter(sourceFile, statement, newImportDeclaration); + var ns = getNamespaceLikeImport(importNode); + if (ns) + updateNamespaceLikeImport(changes, sourceFile, checker, movedSymbols, newModuleName, newModuleSpecifier, ns, importNode); }); }; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var statement = _a[_i]; - _loop_21(statement); + _loop_25(statement); } }; for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { var sourceFile = _a[_i]; - _loop_20(sourceFile); + _loop_24(sourceFile); + } + } + function getNamespaceLikeImport(node) { + switch (node.kind) { + case 244 /* ImportDeclaration */: + return node.importClause && node.importClause.namedBindings && node.importClause.namedBindings.kind === 246 /* NamespaceImport */ ? + node.importClause.namedBindings.name : undefined; + case 243 /* ImportEqualsDeclaration */: + return node.name; + case 232 /* VariableDeclaration */: + return ts.tryCast(node.name, ts.isIdentifier); + default: + return ts.Debug.assertNever(node); + } + } + function updateNamespaceLikeImport(changes, sourceFile, checker, movedSymbols, newModuleName, newModuleSpecifier, oldImportId, oldImportNode) { + var preferredNewNamespaceName = ts.codefix.moduleSpecifierToValidIdentifier(newModuleName, 6 /* ESNext */); + var needUniqueName = false; + var toChange = []; + ts.FindAllReferences.Core.eachSymbolReferenceInFile(oldImportId, checker, sourceFile, function (ref) { + if (!ts.isPropertyAccessExpression(ref.parent)) + return; + needUniqueName = needUniqueName || !!checker.resolveName(preferredNewNamespaceName, ref, 67108863 /* All */, /*excludeGlobals*/ true); + if (movedSymbols.has(checker.getSymbolAtLocation(ref.parent.name))) { + toChange.push(ref); + } + }); + if (toChange.length) { + var newNamespaceName = needUniqueName ? ts.getUniqueName(preferredNewNamespaceName, sourceFile) : preferredNewNamespaceName; + for (var _i = 0, toChange_1 = toChange; _i < toChange_1.length; _i++) { + var ref = toChange_1[_i]; + changes.replaceNode(sourceFile, ref, ts.createIdentifier(newNamespaceName)); + } + changes.insertNodeAfter(sourceFile, oldImportNode, updateNamespaceLikeImportNode(oldImportNode, newModuleName, newModuleSpecifier)); + } + } + function updateNamespaceLikeImportNode(node, newNamespaceName, newModuleSpecifier) { + var newNamespaceId = ts.createIdentifier(newNamespaceName); + var newModuleString = ts.createLiteral(newModuleSpecifier); + switch (node.kind) { + case 244 /* ImportDeclaration */: + return ts.createImportDeclaration( + /*decorators*/ undefined, /*modifiers*/ undefined, ts.createImportClause(/*name*/ undefined, ts.createNamespaceImport(newNamespaceId)), newModuleString); + case 243 /* ImportEqualsDeclaration */: + return ts.createImportEqualsDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, newNamespaceId, ts.createExternalModuleReference(newModuleString)); + case 232 /* VariableDeclaration */: + return ts.createVariableDeclaration(newNamespaceId, /*type*/ undefined, createRequireCall(newModuleString)); + default: + return ts.Debug.assertNever(node); } } function moduleSpecifierFromImport(i) { - return (i.kind === 243 /* ImportDeclaration */ ? i.moduleSpecifier - : i.kind === 242 /* ImportEqualsDeclaration */ ? i.moduleReference.expression + return (i.kind === 244 /* ImportDeclaration */ ? i.moduleSpecifier + : i.kind === 243 /* ImportEqualsDeclaration */ ? i.moduleReference.expression : i.initializer.arguments[0]); } function forEachImportInStatement(statement, cb) { @@ -105450,24 +106361,24 @@ var ts; } } } - function createOldFileImportsFromNewFile(newFileNeedExport, newFileNameWithExtension, useEs6Imports) { + function createOldFileImportsFromNewFile(newFileNeedExport, newFileNameWithExtension, useEs6Imports, preferences) { var defaultImport; var imports = []; newFileNeedExport.forEach(function (symbol) { if (symbol.escapedName === "default" /* Default */) { - defaultImport = ts.createIdentifier(ts.symbolNameNoDefault(symbol)); + defaultImport = ts.createIdentifier(ts.symbolNameNoDefault(symbol)); // TODO: GH#18217 } else { imports.push(symbol.name); } }); - return makeImportOrRequire(defaultImport, imports, newFileNameWithExtension, useEs6Imports); + return makeImportOrRequire(defaultImport, imports, newFileNameWithExtension, useEs6Imports, preferences); } - function makeImportOrRequire(defaultImport, imports, path, useEs6Imports) { + function makeImportOrRequire(defaultImport, imports, path, useEs6Imports, preferences) { path = ts.ensurePathIsNonModuleName(path); if (useEs6Imports) { var specifiers = imports.map(function (i) { return ts.createImportSpecifier(/*propertyName*/ undefined, ts.createIdentifier(i)); }); - return ts.makeImportIfNecessary(defaultImport, specifiers, path); + return ts.makeImportIfNecessary(defaultImport, specifiers, path, preferences); } else { ts.Debug.assert(!defaultImport); // If there's a default export, it should have been an es6 module. @@ -105498,15 +106409,15 @@ var ts; } function deleteUnusedImports(sourceFile, importDecl, changes, isUnused) { switch (importDecl.kind) { - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: deleteUnusedImportsInDeclaration(sourceFile, importDecl, changes, isUnused); break; - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: if (isUnused(importDecl.name)) { changes.deleteNode(sourceFile, importDecl); } break; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: deleteUnusedImportsInVariableDeclaration(sourceFile, importDecl, changes, isUnused); break; default: @@ -105519,7 +106430,7 @@ var ts; var _a = importDecl.importClause, name = _a.name, namedBindings = _a.namedBindings; var defaultUnused = !name || isUnused(name); var namedBindingsUnused = !namedBindings || - (namedBindings.kind === 245 /* NamespaceImport */ ? isUnused(namedBindings.name) : namedBindings.elements.every(function (e) { return isUnused(e.name); })); + (namedBindings.kind === 246 /* NamespaceImport */ ? isUnused(namedBindings.name) : namedBindings.elements.every(function (e) { return isUnused(e.name); })); if (defaultUnused && namedBindingsUnused) { changes.deleteNode(sourceFile, importDecl); } @@ -105531,7 +106442,7 @@ var ts; if (namedBindingsUnused) { changes.deleteNode(sourceFile, namedBindings); } - else if (namedBindings.kind === 246 /* NamedImports */) { + else if (namedBindings.kind === 247 /* NamedImports */) { for (var _i = 0, _b = namedBindings.elements; _i < _b.length; _i++) { var element = _b[_i]; if (isUnused(element.name)) @@ -105549,9 +106460,9 @@ var ts; changes.deleteNode(sourceFile, name); } break; - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: break; - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: if (name.elements.every(function (e) { return ts.isIdentifier(e.name) && isUnused(e.name); })) { changes.deleteNode(sourceFile, ts.isVariableDeclarationList(varDecl.parent) && varDecl.parent.declarations.length === 1 ? varDecl.parent.parent : varDecl); } @@ -105566,7 +106477,7 @@ var ts; break; } } - function getNewFileImportsAndAddExportInOldFile(oldFile, importsToCopy, newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax) { + function getNewFileImportsAndAddExportInOldFile(oldFile, importsToCopy, newFileImportsFromOldFile, changes, checker, useEs6ModuleSyntax, preferences) { var copiedOldImports = []; for (var _i = 0, _a = oldFile.statements; _i < _a.length; _i++) { var oldStatement = _a[_i]; @@ -105598,7 +106509,7 @@ var ts; } } }); - ts.append(copiedOldImports, makeImportOrRequire(oldFileDefault, oldFileNamedImports, ts.removeFileExtension(ts.getBaseFileName(oldFile.fileName)), useEs6ModuleSyntax)); + ts.append(copiedOldImports, makeImportOrRequire(oldFileDefault, oldFileNamedImports, ts.removeFileExtension(ts.getBaseFileName(oldFile.fileName)), useEs6ModuleSyntax, preferences)); return copiedOldImports; } function makeUniqueModuleName(moduleName, extension, inDirectory, host) { @@ -105606,7 +106517,7 @@ var ts; for (var i = 1;; i++) { var name = ts.combinePaths(inDirectory, newModuleName + extension); if (!host.fileExists(name)) - return newModuleName; + return newModuleName; // TODO: GH#18217 newModuleName = moduleName + "." + i; } } @@ -105633,7 +106544,7 @@ var ts; if (isInImport(decl)) { oldImportsNeededByNewFile.add(symbol); } - else if (isTopLevelDeclaration(decl) && !movedSymbols.has(symbol)) { + else if (isTopLevelDeclaration(decl) && sourceFileOfTopLevelDeclaration(decl) === oldFile && !movedSymbols.has(symbol)) { newFileImportsFromOldFile.add(symbol); } } @@ -105656,13 +106567,13 @@ var ts; // Below should all be utilities function isInImport(decl) { switch (decl.kind) { - case 242 /* ImportEqualsDeclaration */: - case 247 /* ImportSpecifier */: - case 244 /* ImportClause */: + case 243 /* ImportEqualsDeclaration */: + case 248 /* ImportSpecifier */: + case 245 /* ImportClause */: return true; - case 231 /* VariableDeclaration */: + case 232 /* VariableDeclaration */: return isVariableDeclarationInImport(decl); - case 181 /* BindingElement */: + case 182 /* BindingElement */: return ts.isVariableDeclaration(decl.parent.parent) && isVariableDeclarationInImport(decl.parent.parent); default: return false; @@ -105674,7 +106585,7 @@ var ts; } function filterImport(i, moduleSpecifier, keep) { switch (i.kind) { - case 243 /* ImportDeclaration */: { + case 244 /* ImportDeclaration */: { var clause = i.importClause; if (!clause) return undefined; @@ -105684,9 +106595,9 @@ var ts; ? ts.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.createImportClause(defaultImport, namedBindings), moduleSpecifier) : undefined; } - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return keep(i.name) ? i : undefined; - case 231 /* VariableDeclaration */: { + case 232 /* VariableDeclaration */: { var name = filterBindingName(i.name, keep); return name ? makeVariableStatement(name, i.type, createRequireCall(moduleSpecifier), i.parent.flags) : undefined; } @@ -105695,7 +106606,7 @@ var ts; } } function filterNamedBindings(namedBindings, keep) { - if (namedBindings.kind === 245 /* NamespaceImport */) { + if (namedBindings.kind === 246 /* NamespaceImport */) { return keep(namedBindings.name) ? namedBindings : undefined; } else { @@ -105707,9 +106618,9 @@ var ts; switch (name.kind) { case 71 /* Identifier */: return keep(name) ? name : undefined; - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: return name; - case 179 /* ObjectBindingPattern */: { + case 180 /* ObjectBindingPattern */: { // We can't handle nested destructurings or property names well here, so just copy them all. var newElements = name.elements.filter(function (prop) { return prop.propertyName || !ts.isIdentifier(prop.name) || keep(prop.name); }); return newElements.length ? ts.createObjectBindingPattern(newElements) : undefined; @@ -105755,7 +106666,10 @@ var ts; return SymbolSet; }()); function isTopLevelDeclaration(node) { - return isNonVariableTopLevelDeclaration(node) || ts.isVariableDeclaration(node) && ts.isSourceFile(node.parent.parent.parent); + return isNonVariableTopLevelDeclaration(node) && ts.isSourceFile(node.parent) || ts.isVariableDeclaration(node) && ts.isSourceFile(node.parent.parent.parent); + } + function sourceFileOfTopLevelDeclaration(node) { + return ts.isVariableDeclaration(node) ? node.parent.parent.parent : node.parent; } function isTopLevelDeclarationStatement(node) { ts.Debug.assert(ts.isSourceFile(node.parent)); @@ -105763,13 +106677,13 @@ var ts; } function isNonVariableTopLevelDeclaration(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 235 /* InterfaceDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 243 /* ImportEqualsDeclaration */: return true; default: return false; @@ -105777,17 +106691,17 @@ var ts; } function forEachTopLevelDeclaration(statement, cb) { switch (statement.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 235 /* InterfaceDeclaration */: - case 242 /* ImportEqualsDeclaration */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 243 /* ImportEqualsDeclaration */: return cb(statement); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return ts.forEach(statement.declarationList.declarations, cb); - case 215 /* ExpressionStatement */: { + case 216 /* ExpressionStatement */: { var expression = statement.expression; return ts.isBinaryExpression(expression) && ts.getSpecialPropertyAssignmentKind(expression) === 1 /* ExportsProperty */ ? cb(statement) @@ -105796,7 +106710,7 @@ var ts; } } function nameOfTopLevelDeclaration(d) { - return d.kind === 215 /* ExpressionStatement */ ? d.expression.left.name : ts.tryCast(d.name, ts.isIdentifier); + return d.kind === 216 /* ExpressionStatement */ ? d.expression.left.name : ts.tryCast(d.name, ts.isIdentifier); } function getTopLevelDeclarationStatement(d) { return ts.isVariableDeclaration(d) ? d.parent.parent : d; @@ -105828,23 +106742,23 @@ var ts; function addEs6Export(d) { var modifiers = ts.concatenate([ts.createModifier(84 /* ExportKeyword */)], d.modifiers); switch (d.kind) { - case 233 /* FunctionDeclaration */: + case 234 /* FunctionDeclaration */: return ts.updateFunctionDeclaration(d, d.decorators, modifiers, d.asteriskToken, d.name, d.typeParameters, d.parameters, d.type, d.body); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: return ts.updateClassDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: return ts.updateVariableStatement(d, modifiers, d.declarationList); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: return ts.updateModuleDeclaration(d, d.decorators, modifiers, d.name, d.body); - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: return ts.updateEnumDeclaration(d, d.decorators, modifiers, d.name, d.members); - case 236 /* TypeAliasDeclaration */: + case 237 /* TypeAliasDeclaration */: return ts.updateTypeAliasDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.type); - case 235 /* InterfaceDeclaration */: + case 236 /* InterfaceDeclaration */: return ts.updateInterfaceDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: return ts.updateImportEqualsDeclaration(d, d.decorators, modifiers, d.name, d.moduleReference); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: return ts.Debug.fail(); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: return ts.Debug.assertNever(d); @@ -105855,21 +106769,21 @@ var ts; } function getNamesToExportInCommonJS(decl) { switch (decl.kind) { - case 233 /* FunctionDeclaration */: - case 234 /* ClassDeclaration */: - return [decl.name.text]; - case 213 /* VariableStatement */: + case 234 /* FunctionDeclaration */: + case 235 /* ClassDeclaration */: + return [decl.name.text]; // TODO: GH#18217 + case 214 /* VariableStatement */: return ts.mapDefined(decl.declarationList.declarations, function (d) { return ts.isIdentifier(d.name) ? d.name.text : undefined; }); - case 238 /* ModuleDeclaration */: - case 237 /* EnumDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 235 /* InterfaceDeclaration */: - case 242 /* ImportEqualsDeclaration */: - return undefined; - case 215 /* ExpressionStatement */: + case 239 /* ModuleDeclaration */: + case 238 /* EnumDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 243 /* ImportEqualsDeclaration */: + return ts.emptyArray; + case 216 /* ExpressionStatement */: return ts.Debug.fail(); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: - ts.Debug.assertNever(decl); + return ts.Debug.assertNever(decl); } } /** Creates `exports.x = x;` */ @@ -106089,7 +107003,7 @@ var ts; var value = 0; for (; moreDigits; state.decodingIndex++) { if (createErrorIfCondition(state.decodingIndex >= state.encodedText.length, "Error in decoding base64VLQFormatDecode, past the mapping string")) { - return; + return undefined; // TODO: GH#18217 } // 6 digit number var currentByte = base64FormatDecode(state.encodedText.charAt(state.decodingIndex)); @@ -106139,7 +107053,7 @@ var ts; this.pos = pos; this.end = end; this.flags = 0 /* None */; - this.transformFlags = undefined; + this.transformFlags = undefined; // TODO: GH#18217 this.parent = undefined; this.kind = kind; } @@ -106201,8 +107115,8 @@ var ts; if (!children.length) { return undefined; } - var child = ts.find(children, function (kid) { return kid.kind < 277 /* FirstJSDocNode */ || kid.kind > 297 /* LastJSDocNode */; }); - return child.kind < 145 /* FirstNode */ ? + var child = ts.find(children, function (kid) { return kid.kind < 278 /* FirstJSDocNode */ || kid.kind > 298 /* LastJSDocNode */; }); + return child.kind < 146 /* FirstNode */ ? child : child.getFirstToken(sourceFile); }; @@ -106213,7 +107127,7 @@ var ts; if (!child) { return undefined; } - return child.kind < 145 /* FirstNode */ ? child : child.getLastToken(sourceFile); + return child.kind < 146 /* FirstNode */ ? child : child.getLastToken(sourceFile); }; NodeObject.prototype.forEachChild = function (cbNode, cbNodeArray) { return ts.forEachChild(this, cbNode, cbNodeArray); @@ -106271,7 +107185,7 @@ var ts; } } function createSyntaxList(nodes, parent) { - var list = createNode(298 /* SyntaxList */, nodes.pos, nodes.end, parent); + var list = createNode(299 /* SyntaxList */, nodes.pos, nodes.end, parent); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_7 = nodes; _i < nodes_7.length; _i++) { @@ -106325,7 +107239,7 @@ var ts; return 0; }; TokenOrIdentifierObject.prototype.getChildAt = function () { - return undefined; + return undefined; // TODO: GH#18217 }; TokenOrIdentifierObject.prototype.getChildren = function () { return ts.emptyArray; @@ -106449,25 +107363,25 @@ var ts; return this.checker.getDefaultFromTypeParameter(this); }; TypeObject.prototype.isUnion = function () { - return !!(this.flags & 131072 /* Union */); + return !!(this.flags & 262144 /* Union */); }; TypeObject.prototype.isIntersection = function () { - return !!(this.flags & 262144 /* Intersection */); + return !!(this.flags & 524288 /* Intersection */); }; TypeObject.prototype.isUnionOrIntersection = function () { - return !!(this.flags & 393216 /* UnionOrIntersection */); + return !!(this.flags & 786432 /* UnionOrIntersection */); }; TypeObject.prototype.isLiteral = function () { - return !!(this.flags & 224 /* Literal */); + return !!(this.flags & 448 /* Literal */); }; TypeObject.prototype.isStringLiteral = function () { - return !!(this.flags & 32 /* StringLiteral */); + return !!(this.flags & 64 /* StringLiteral */); }; TypeObject.prototype.isNumberLiteral = function () { - return !!(this.flags & 64 /* NumberLiteral */); + return !!(this.flags & 128 /* NumberLiteral */); }; TypeObject.prototype.isTypeParameter = function () { - return !!(this.flags & 32768 /* TypeParameter */); + return !!(this.flags & 65536 /* TypeParameter */); }; TypeObject.prototype.isClassOrInterface = function () { return !!(ts.getObjectFlags(this) & 3 /* ClassOrInterface */); @@ -106517,9 +107431,9 @@ var ts; return ts.emptyArray; var doc = ts.JsDoc.getJsDocCommentsFromDeclarations(declarations); if (doc.length === 0 || declarations.some(hasJSDocInheritDocTag)) { - for (var _i = 0, declarations_13 = declarations; _i < declarations_13.length; _i++) { - var declaration = declarations_13[_i]; - var inheritedDocs = findInheritedJSDocComments(declaration, declaration.symbol.name, checker); + for (var _i = 0, declarations_14 = declarations; _i < declarations_14.length; _i++) { + var declaration = declarations_14[_i]; + var inheritedDocs = findInheritedJSDocComments(declaration, declaration.symbol.name, checker); // TODO: GH#18217 // TODO: GH#16312 Return a ReadonlyArray, avoid copying inheritedDocs if (inheritedDocs) doc = doc.length === 0 ? inheritedDocs.slice() : inheritedDocs.concat(ts.lineBreakPart(), doc); @@ -106604,10 +107518,10 @@ var ts; } function visit(node) { switch (node.kind) { - case 233 /* FunctionDeclaration */: - case 191 /* FunctionExpression */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: + case 234 /* FunctionDeclaration */: + case 192 /* FunctionExpression */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: var functionDeclaration = node; var declarationName = getDeclarationName(functionDeclaration); if (declarationName) { @@ -106627,31 +107541,31 @@ var ts; } ts.forEachChild(node, visit); break; - case 234 /* ClassDeclaration */: - case 204 /* ClassExpression */: - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: - case 237 /* EnumDeclaration */: - case 238 /* ModuleDeclaration */: - case 242 /* ImportEqualsDeclaration */: - case 251 /* ExportSpecifier */: - case 247 /* ImportSpecifier */: - case 244 /* ImportClause */: - case 245 /* NamespaceImport */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 165 /* TypeLiteral */: + case 235 /* ClassDeclaration */: + case 205 /* ClassExpression */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: + case 238 /* EnumDeclaration */: + case 239 /* ModuleDeclaration */: + case 243 /* ImportEqualsDeclaration */: + case 252 /* ExportSpecifier */: + case 248 /* ImportSpecifier */: + case 245 /* ImportClause */: + case 246 /* NamespaceImport */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 166 /* TypeLiteral */: addDeclaration(node); ts.forEachChild(node, visit); break; - case 148 /* Parameter */: + case 149 /* Parameter */: // Only consider parameter properties if (!ts.hasModifier(node, 92 /* ParameterPropertyModifier */)) { break; } // falls through - case 231 /* VariableDeclaration */: - case 181 /* BindingElement */: { + case 232 /* VariableDeclaration */: + case 182 /* BindingElement */: { var decl = node; if (ts.isBindingPattern(decl.name)) { ts.forEachChild(decl.name, visit); @@ -106662,19 +107576,19 @@ var ts; } } // falls through - case 272 /* EnumMember */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 273 /* EnumMember */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: addDeclaration(node); break; - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: // Handle named exports case e.g.: // export {a, b as B} from "mod"; if (node.exportClause) { ts.forEach(node.exportClause.elements, visit); } break; - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: var importClause = node.importClause; if (importClause) { // Handle default import case e.g.: @@ -106686,7 +107600,7 @@ var ts; // import * as NS from "mod"; // import {a, b as B} from "mod"; if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 245 /* NamespaceImport */) { + if (importClause.namedBindings.kind === 246 /* NamespaceImport */) { addDeclaration(importClause.namedBindings); } else { @@ -106695,7 +107609,7 @@ var ts; } } break; - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (ts.getSpecialPropertyAssignmentKind(node) !== 0 /* None */) { addDeclaration(node); } @@ -106823,7 +107737,7 @@ var ts; }; HostCache.prototype.getOrCreateEntryByPath = function (fileName, path) { var info = this.getEntryByPath(path) || this.createEntry(fileName, path); - return ts.isString(info) ? undefined : info; + return ts.isString(info) ? undefined : info; // TODO: GH#18217 }; HostCache.prototype.getRootFileNames = function () { var names = []; @@ -106841,11 +107755,11 @@ var ts; }; HostCache.prototype.getVersion = function (path) { var file = this.getHostFileInformation(path); - return file && file.version; + return (file && file.version); // TODO: GH#18217 }; HostCache.prototype.getScriptSnapshot = function (path) { var file = this.getHostFileInformation(path); - return file && file.scriptSnapshot; + return (file && file.scriptSnapshot); // TODO: GH#18217 }; return HostCache; }()); @@ -106948,7 +107862,7 @@ var ts; this.cancellationToken = cancellationToken; } CancellationTokenObject.prototype.isCancellationRequested = function () { - return this.cancellationToken && this.cancellationToken.isCancellationRequested(); + return !!this.cancellationToken && this.cancellationToken.isCancellationRequested(); }; CancellationTokenObject.prototype.throwIfCancellationRequested = function () { if (this.isCancellationRequested()) { @@ -106998,7 +107912,7 @@ var ts; if (!host.fileExists || !host.readFile || !host.fileExists(path)) return; // And failing that, check the disk - var text = host.readFile(path); + var text = host.readFile(path); // TODO: GH#18217 var file = { text: text, lineMap: undefined, @@ -107056,7 +107970,7 @@ var ts; var typeRootsVersion = host.getTypeRootsVersion ? host.getTypeRootsVersion() : 0; if (lastTypesRootVersion !== typeRootsVersion) { log("TypeRoots version has changed; provide new program"); - program = undefined; + program = undefined; // TODO: GH#18217 lastTypesRootVersion = typeRootsVersion; } // Get a fresh cache of the host information @@ -107064,7 +107978,7 @@ var ts; var rootFileNames = hostCache.getRootFileNames(); var hasInvalidatedResolution = host.hasInvalidatedResolution || ts.returnFalse; // If the program is already up-to-date, we can reuse it - if (ts.isProgramUptoDate(program, rootFileNames, hostCache.compilationSettings(), function (path) { return hostCache.getVersion(path); }, fileExists, hasInvalidatedResolution, host.hasChangedAutomaticTypeDirectiveNames)) { + if (ts.isProgramUptoDate(program, rootFileNames, hostCache.compilationSettings(), function (path) { return hostCache.getVersion(path); }, fileExists, hasInvalidatedResolution, !!host.hasChangedAutomaticTypeDirectiveNames)) { return; } // IMPORTANT - It is critical from this moment onward that we do not check @@ -107141,7 +108055,7 @@ var ts; var entry = hostCache.getEntryByPath(path); return entry ? !ts.isString(entry) : - (host.fileExists && host.fileExists(fileName)); + (!!host.fileExists && host.fileExists(fileName)); } // Release any files we have acquired in the old program but are // not part of the new program. @@ -107201,6 +108115,7 @@ var ts; return documentRegistry.acquireDocumentWithKey(fileName, path, newSettings, documentRegistryBucketKey, hostFileInformation.scriptSnapshot, hostFileInformation.version, hostFileInformation.scriptKind); } } + // TODO: GH#18217 frequently asserted as defined function getProgram() { if (syntaxOnly) { ts.Debug.assert(program === undefined); @@ -107210,14 +108125,14 @@ var ts; return program; } function cleanupSemanticCache() { - program = undefined; + program = undefined; // TODO: GH#18217 } function dispose() { if (program) { ts.forEach(program.getSourceFiles(), function (f) { return documentRegistry.releaseDocument(f.fileName, program.getCompilerOptions()); }); - program = undefined; + program = undefined; // TODO: GH#18217 } host = undefined; } @@ -107245,7 +108160,7 @@ var ts; } function getSuggestionDiagnostics(fileName) { synchronizeHostData(); - return ts.computeSuggestionDiagnostics(getValidSourceFile(fileName), program); + return ts.computeSuggestionDiagnostics(getValidSourceFile(fileName), program, cancellationToken); } function getCompilerOptionsDiagnostics() { synchronizeHostData(); @@ -107261,7 +108176,8 @@ var ts; function getCompletionEntryDetails(fileName, position, name, formattingOptions, source, preferences) { if (preferences === void 0) { preferences = ts.defaultPreferences; } synchronizeHostData(); - return ts.Completions.getCompletionEntryDetails(program, log, getValidSourceFile(fileName), position, { name: name, source: source }, host, formattingOptions && ts.formatting.getFormatContext(formattingOptions), getCanonicalFileName, preferences, cancellationToken); + return ts.Completions.getCompletionEntryDetails(program, log, getValidSourceFile(fileName), position, { name: name, source: source }, host, (formattingOptions && ts.formatting.getFormatContext(formattingOptions)), // TODO: GH#18217 + getCanonicalFileName, preferences, cancellationToken); } function getCompletionEntrySymbol(fileName, position, name, source) { synchronizeHostData(); @@ -107286,10 +108202,10 @@ var ts; return undefined; } // falls through - case 184 /* PropertyAccessExpression */: - case 145 /* QualifiedName */: + case 185 /* PropertyAccessExpression */: + case 146 /* QualifiedName */: case 99 /* ThisKeyword */: - case 173 /* ThisType */: + case 174 /* ThisType */: case 97 /* SuperKeyword */: // For the identifiers/this/super etc get the type at position var type_4 = typeChecker.getTypeAtLocation(node); @@ -107330,7 +108246,7 @@ var ts; } function toLineColumnOffset(fileName, position) { var path = ts.toPath(fileName, currentDirectory, getCanonicalFileName); - var file = program.getSourceFile(path) || sourcemappedFileCache.get(path); + var file = program.getSourceFile(path) || sourcemappedFileCache.get(path); // TODO: GH#18217 return file.getLineAndCharacterOfPosition(position); } // Sometimes tools can sometimes see the following line as a source mapping url comment, so we mangle it a bit (the [M]) @@ -107397,7 +108313,7 @@ var ts; var location = possibleMapLocations_1[_i]; var mapPath = ts.toPath(location, ts.getDirectoryPath(fileName), getCanonicalFileName); if (host.fileExists(mapPath)) { - return convertDocumentToSourceMapper(file, host.readFile(mapPath), mapPath); + return convertDocumentToSourceMapper(file, host.readFile(mapPath), mapPath); // TODO: GH#18217 } } return file.sourceMapper = ts.sourcemaps.identitySourceMapper; @@ -107509,18 +108425,9 @@ var ts; function getReferences(fileName, position, options) { synchronizeHostData(); // Exclude default library when renaming as commonly user don't want to change that file. - var sourceFiles = []; - if (options && options.isForRename) { - for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { - var sourceFile = _a[_i]; - if (!program.isSourceFileDefaultLibrary(sourceFile)) { - sourceFiles.push(sourceFile); - } - } - } - else { - sourceFiles = program.getSourceFiles().slice(); - } + var sourceFiles = options && options.isForRename + ? program.getSourceFiles().filter(function (sourceFile) { return !program.isSourceFileDefaultLibrary(sourceFile); }) + : program.getSourceFiles(); return ts.FindAllReferences.findReferencedEntries(program, cancellationToken, sourceFiles, getValidSourceFile(fileName), position, options); } function findReferences(fileName, position) { @@ -107529,11 +108436,13 @@ var ts; } /// NavigateTo function getNavigateToItems(searchValue, maxResultCount, fileName, excludeDtsFiles) { + if (excludeDtsFiles === void 0) { excludeDtsFiles = false; } synchronizeHostData(); var sourceFiles = fileName ? [getValidSourceFile(fileName)] : program.getSourceFiles(); return ts.NavigateTo.getNavigateToItems(sourceFiles, program.getTypeChecker(), cancellationToken, searchValue, maxResultCount, excludeDtsFiles); } function getEmitOutput(fileName, emitOnlyDtsFiles) { + if (emitOnlyDtsFiles === void 0) { emitOnlyDtsFiles = false; } synchronizeHostData(); var sourceFile = getValidSourceFile(fileName); var customTransformers = host.getCustomTransformers && host.getCustomTransformers(); @@ -107552,31 +108461,28 @@ var ts; function getNonBoundSourceFile(fileName) { return syntaxTreeCache.getCurrentSourceFile(fileName); } - function getSourceFile(fileName) { - return getNonBoundSourceFile(fileName); - } function getNameOrDottedNameSpan(fileName, startPos, _endPos) { var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); // Get node at the location var node = ts.getTouchingPropertyName(sourceFile, startPos, /*includeJsDocComment*/ false); if (node === sourceFile) { - return; + return undefined; } switch (node.kind) { - case 184 /* PropertyAccessExpression */: - case 145 /* QualifiedName */: + case 185 /* PropertyAccessExpression */: + case 146 /* QualifiedName */: case 9 /* StringLiteral */: case 86 /* FalseKeyword */: case 101 /* TrueKeyword */: case 95 /* NullKeyword */: case 97 /* SuperKeyword */: case 99 /* ThisKeyword */: - case 173 /* ThisType */: + case 174 /* ThisType */: case 71 /* Identifier */: break; // Cant create the text span default: - return; + return undefined; } var nodeForStartPos = node; while (true) { @@ -107588,7 +108494,7 @@ var ts; // If this is name of a module declarations, check if this is right side of dotted module name // If parent of the module declaration which is parent of this node is module declaration and its body is the module declaration that this node is name of // Then this name is name from dotted module - if (nodeForStartPos.parent.parent.kind === 238 /* ModuleDeclaration */ && + if (nodeForStartPos.parent.parent.kind === 239 /* ModuleDeclaration */ && nodeForStartPos.parent.parent.body === nodeForStartPos.parent) { // Use parent module declarations name for start pos nodeForStartPos = nodeForStartPos.parent.parent.name; @@ -107725,8 +108631,9 @@ var ts; var formatContext = ts.formatting.getFormatContext(formatOptions); return ts.OrganizeImports.organizeImports(sourceFile, formatContext, host, program, preferences); } - function getEditsForFileRename(oldFilePath, newFilePath, formatOptions) { - return ts.getEditsForFileRename(getProgram(), oldFilePath, newFilePath, host, ts.formatting.getFormatContext(formatOptions)); + function getEditsForFileRename(oldFilePath, newFilePath, formatOptions, preferences) { + if (preferences === void 0) { preferences = ts.defaultPreferences; } + return ts.getEditsForFileRename(getProgram(), oldFilePath, newFilePath, host, ts.formatting.getFormatContext(formatOptions), preferences); } function applyCodeActionCommand(fileName, actionOrUndefined) { var action = typeof fileName === "string" ? actionOrUndefined : fileName; @@ -107739,7 +108646,7 @@ var ts; ? host.installPackage({ fileName: ts.toPath(action.file, currentDirectory, getCanonicalFileName), packageName: action.packageName }) : Promise.reject("Host does not implement `installPackage`"); default: - ts.Debug.fail(); + return ts.Debug.fail(); // TODO: Debug.assertNever(action); will only work if there is more than one type. } } @@ -107775,6 +108682,17 @@ var ts; } return true; } + function getJsxClosingTagAtPosition(fileName, position) { + var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); + var token = ts.findPrecedingToken(position, sourceFile); + if (!token) + return undefined; + var element = token.kind === 29 /* GreaterThanToken */ && ts.isJsxOpeningElement(token.parent) ? token.parent.parent + : ts.isJsxText(token) ? token.parent : undefined; + if (element && !ts.tagNamesAreEquivalent(element.openingElement.tagName, element.closingElement.tagName)) { + return { newText: "" }; + } + } function getSpanOfEnclosingComment(fileName, position, onlyMultiLine) { var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); var range = ts.formatting.getRangeOfEnclosingComment(sourceFile, position, onlyMultiLine); @@ -107830,7 +108748,8 @@ var ts; descriptor = descriptors[i]; } } - ts.Debug.assert(descriptor !== undefined); + if (descriptor === undefined) + return ts.Debug.fail(); // We don't want to match something like 'TODOBY', so we make sure a non // letter/digit follows the match. if (isLetterOrDigit(fileContents.charCodeAt(matchPosition + descriptor.text.length))) { @@ -107973,6 +108892,7 @@ var ts; getFormattingEditsAfterKeystroke: getFormattingEditsAfterKeystroke, getDocCommentTemplateAtPosition: getDocCommentTemplateAtPosition, isValidBraceCompletionAtPosition: isValidBraceCompletionAtPosition, + getJsxClosingTagAtPosition: getJsxClosingTagAtPosition, getSpanOfEnclosingComment: getSpanOfEnclosingComment, getCodeFixesAtPosition: getCodeFixesAtPosition, getCombinedCodeFix: getCombinedCodeFix, @@ -107981,7 +108901,6 @@ var ts; getEditsForFileRename: getEditsForFileRename, getEmitOutput: getEmitOutput, getNonBoundSourceFile: getNonBoundSourceFile, - getSourceFile: getSourceFile, getProgram: getProgram, getApplicableRefactors: getApplicableRefactors, getEditsForRefactor: getEditsForRefactor, @@ -107995,7 +108914,7 @@ var ts; if (!sourceFile.nameTable) { initializeNameTable(sourceFile); } - return sourceFile.nameTable; + return sourceFile.nameTable; // TODO: GH#18217 } ts.getNameTable = getNameTable; function initializeNameTable(sourceFile) { @@ -108022,7 +108941,7 @@ var ts; */ function literalIsName(node) { return ts.isDeclarationName(node) || - node.parent.kind === 253 /* ExternalModuleReference */ || + node.parent.kind === 254 /* ExternalModuleReference */ || isArgumentOfElementAccessExpression(node) || ts.isLiteralComputedPropertyDeclarationName(node); } @@ -108034,13 +108953,13 @@ var ts; switch (node.kind) { case 9 /* StringLiteral */: case 8 /* NumericLiteral */: - if (node.parent.kind === 146 /* ComputedPropertyName */) { + if (node.parent.kind === 147 /* ComputedPropertyName */) { return ts.isObjectLiteralElement(node.parent.parent) ? node.parent.parent : undefined; } // falls through case 71 /* Identifier */: return ts.isObjectLiteralElement(node.parent) && - (node.parent.parent.kind === 183 /* ObjectLiteralExpression */ || node.parent.parent.kind === 262 /* JsxAttributes */) && + (node.parent.parent.kind === 184 /* ObjectLiteralExpression */ || node.parent.parent.kind === 263 /* JsxAttributes */) && node.parent.name === node ? node.parent : undefined; } return undefined; @@ -108049,8 +108968,8 @@ var ts; /* @internal */ function getPropertySymbolsFromContextualType(typeChecker, node) { var objectLiteral = node.parent; - var contextualType = typeChecker.getContextualType(objectLiteral); - return getPropertySymbolsFromType(contextualType, node.name); + var contextualType = typeChecker.getContextualType(objectLiteral); // TODO: GH#18217 + return getPropertySymbolsFromType(contextualType, node.name); // TODO: GH#18217 } ts.getPropertySymbolsFromContextualType = getPropertySymbolsFromContextualType; /* @internal */ @@ -108059,7 +108978,7 @@ var ts; if (name && type) { var result_7 = []; var symbol = type.getProperty(name); - if (type.flags & 131072 /* Union */) { + if (type.flags & 262144 /* Union */) { ts.forEach(type.types, function (t) { var symbol = t.getProperty(name); if (symbol) { @@ -108079,7 +108998,7 @@ var ts; function isArgumentOfElementAccessExpression(node) { return node && node.parent && - node.parent.kind === 185 /* ElementAccessExpression */ && + node.parent.kind === 186 /* ElementAccessExpression */ && node.parent.argumentExpression === node; } /** @@ -108118,11 +109037,12 @@ var ts; // let y = 10; // token at position will return let keyword on second line as the token but we would like to use // token on same line if trailing trivia (comments or white spaces on same line) part of the last token on that line - tokenAtLocation = ts.findPrecedingToken(tokenAtLocation.pos, sourceFile); + var preceding = ts.findPrecedingToken(tokenAtLocation.pos, sourceFile); // It's a blank line - if (!tokenAtLocation || sourceFile.getLineAndCharacterOfPosition(tokenAtLocation.getEnd()).line !== lineOfPosition) { + if (!preceding || sourceFile.getLineAndCharacterOfPosition(preceding.getEnd()).line !== lineOfPosition) { return undefined; } + tokenAtLocation = preceding; } // Cannot set breakpoint in ambient declarations if (tokenAtLocation.flags & 4194304 /* Ambient */) { @@ -108156,115 +109076,116 @@ var ts; } function spanInNode(node) { if (node) { + var parent = node.parent; switch (node.kind) { - case 213 /* VariableStatement */: + case 214 /* VariableStatement */: // Span on first variable declaration return spanInVariableDeclaration(node.declarationList.declarations[0]); - case 231 /* VariableDeclaration */: - case 151 /* PropertyDeclaration */: - case 150 /* PropertySignature */: + case 232 /* VariableDeclaration */: + case 152 /* PropertyDeclaration */: + case 151 /* PropertySignature */: return spanInVariableDeclaration(node); - case 148 /* Parameter */: + case 149 /* Parameter */: return spanInParameterDeclaration(node); - case 233 /* FunctionDeclaration */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 154 /* Constructor */: - case 191 /* FunctionExpression */: - case 192 /* ArrowFunction */: + case 234 /* FunctionDeclaration */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 155 /* Constructor */: + case 192 /* FunctionExpression */: + case 193 /* ArrowFunction */: return spanInFunctionDeclaration(node); - case 212 /* Block */: + case 213 /* Block */: if (ts.isFunctionBlock(node)) { return spanInFunctionBlock(node); } // falls through - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: return spanInBlock(node); - case 268 /* CatchClause */: + case 269 /* CatchClause */: return spanInBlock(node.block); - case 215 /* ExpressionStatement */: + case 216 /* ExpressionStatement */: // span on the expression return textSpan(node.expression); - case 224 /* ReturnStatement */: + case 225 /* ReturnStatement */: // span on return keyword and expression if present return textSpan(node.getChildAt(0), node.expression); - case 218 /* WhileStatement */: + case 219 /* WhileStatement */: // Span on while(...) return textSpanEndingAtNextToken(node, node.expression); - case 217 /* DoStatement */: + case 218 /* DoStatement */: // span in statement of the do statement return spanInNode(node.statement); - case 230 /* DebuggerStatement */: + case 231 /* DebuggerStatement */: // span on debugger keyword return textSpan(node.getChildAt(0)); - case 216 /* IfStatement */: + case 217 /* IfStatement */: // set on if(..) span return textSpanEndingAtNextToken(node, node.expression); - case 227 /* LabeledStatement */: + case 228 /* LabeledStatement */: // span in statement return spanInNode(node.statement); - case 223 /* BreakStatement */: - case 222 /* ContinueStatement */: + case 224 /* BreakStatement */: + case 223 /* ContinueStatement */: // On break or continue keyword and label if present return textSpan(node.getChildAt(0), node.label); - case 219 /* ForStatement */: + case 220 /* ForStatement */: return spanInForStatement(node); - case 220 /* ForInStatement */: + case 221 /* ForInStatement */: // span of for (a in ...) return textSpanEndingAtNextToken(node, node.expression); - case 221 /* ForOfStatement */: + case 222 /* ForOfStatement */: // span in initializer return spanInInitializerOfForLike(node); - case 226 /* SwitchStatement */: + case 227 /* SwitchStatement */: // span on switch(...) return textSpanEndingAtNextToken(node, node.expression); - case 265 /* CaseClause */: - case 266 /* DefaultClause */: + case 266 /* CaseClause */: + case 267 /* DefaultClause */: // span in first statement of the clause return spanInNode(node.statements[0]); - case 229 /* TryStatement */: + case 230 /* TryStatement */: // span in try block return spanInBlock(node.tryBlock); - case 228 /* ThrowStatement */: + case 229 /* ThrowStatement */: // span in throw ... return textSpan(node, node.expression); - case 248 /* ExportAssignment */: + case 249 /* ExportAssignment */: // span on export = id return textSpan(node, node.expression); - case 242 /* ImportEqualsDeclaration */: + case 243 /* ImportEqualsDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleReference); - case 243 /* ImportDeclaration */: + case 244 /* ImportDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleSpecifier); - case 249 /* ExportDeclaration */: + case 250 /* ExportDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleSpecifier); - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: // span on complete module if it is instantiated if (ts.getModuleInstanceState(node) !== 1 /* Instantiated */) { return undefined; } // falls through - case 234 /* ClassDeclaration */: - case 237 /* EnumDeclaration */: - case 272 /* EnumMember */: - case 181 /* BindingElement */: + case 235 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 273 /* EnumMember */: + case 182 /* BindingElement */: // span on complete node return textSpan(node); - case 225 /* WithStatement */: + case 226 /* WithStatement */: // span in statement return spanInNode(node.statement); - case 149 /* Decorator */: - return spanInNodeArray(node.parent.decorators); - case 179 /* ObjectBindingPattern */: - case 180 /* ArrayBindingPattern */: + case 150 /* Decorator */: + return spanInNodeArray(parent.decorators); + case 180 /* ObjectBindingPattern */: + case 181 /* ArrayBindingPattern */: return spanInBindingPattern(node); // No breakpoint in interface, type alias - case 235 /* InterfaceDeclaration */: - case 236 /* TypeAliasDeclaration */: + case 236 /* InterfaceDeclaration */: + case 237 /* TypeAliasDeclaration */: return undefined; // Tokens: case 25 /* SemicolonToken */: @@ -108294,7 +109215,7 @@ var ts; case 74 /* CatchKeyword */: case 87 /* FinallyKeyword */: return spanInNextNode(node); - case 144 /* OfKeyword */: + case 145 /* OfKeyword */: return spanInOfKeyword(node); default: // Destructuring pattern in destructuring assignment @@ -108307,13 +109228,13 @@ var ts; // `a` or `...c` or `d: x` from // `[a, b, ...c]` or `{ a, b }` or `{ d: x }` from destructuring pattern if ((node.kind === 71 /* Identifier */ || - node.kind === 203 /* SpreadElement */ || - node.kind === 269 /* PropertyAssignment */ || - node.kind === 270 /* ShorthandPropertyAssignment */) && - ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent)) { + node.kind === 204 /* SpreadElement */ || + node.kind === 270 /* PropertyAssignment */ || + node.kind === 271 /* ShorthandPropertyAssignment */) && + ts.isArrayLiteralOrObjectLiteralDestructuringPattern(parent)) { return textSpan(node); } - if (node.kind === 199 /* BinaryExpression */) { + if (node.kind === 200 /* BinaryExpression */) { var _a = node, left = _a.left, operatorToken = _a.operatorToken; // Set breakpoint in destructuring pattern if its destructuring assignment // [a, b, c] or {a, b, c} of @@ -108334,23 +109255,23 @@ var ts; } } if (ts.isExpressionNode(node)) { - switch (node.parent.kind) { - case 217 /* DoStatement */: + switch (parent.kind) { + case 218 /* DoStatement */: // Set span as if on while keyword return spanInPreviousNode(node); - case 149 /* Decorator */: + case 150 /* Decorator */: // Set breakpoint on the decorator emit return spanInNode(node.parent); - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: return textSpan(node); - case 199 /* BinaryExpression */: + case 200 /* BinaryExpression */: if (node.parent.operatorToken.kind === 26 /* CommaToken */) { // If this is a comma expression, the breakpoint is possible in this expression return textSpan(node); } break; - case 192 /* ArrowFunction */: + case 193 /* ArrowFunction */: if (node.parent.body === node) { // If this is body of arrow function, it is allowed to have the breakpoint return textSpan(node); @@ -108359,21 +109280,21 @@ var ts; } } switch (node.parent.kind) { - case 269 /* PropertyAssignment */: + case 270 /* PropertyAssignment */: // If this is name of property assignment, set breakpoint in the initializer if (node.parent.name === node && !ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.parent)) { return spanInNode(node.parent.initializer); } break; - case 189 /* TypeAssertionExpression */: + case 190 /* TypeAssertionExpression */: // Breakpoint in type assertion goes to its operand if (node.parent.type === node) { return spanInNextNode(node.parent.type); } break; - case 231 /* VariableDeclaration */: - case 148 /* Parameter */: { + case 232 /* VariableDeclaration */: + case 149 /* Parameter */: { // initializer of variable/parameter declaration go to previous node var _b = node.parent, initializer = _b.initializer, type = _b.type; if (initializer === node || type === node || ts.isAssignmentOperator(node.kind)) { @@ -108381,7 +109302,7 @@ var ts; } break; } - case 199 /* BinaryExpression */: { + case 200 /* BinaryExpression */: { var left = node.parent.left; if (ts.isArrayLiteralOrObjectLiteralDestructuringPattern(left) && node !== left) { // If initializer of destructuring assignment move to previous token @@ -108411,9 +109332,10 @@ var ts; } function spanInVariableDeclaration(variableDeclaration) { // If declaration of for in statement, just set the span in parent - if (variableDeclaration.parent.parent.kind === 220 /* ForInStatement */) { + if (variableDeclaration.parent.parent.kind === 221 /* ForInStatement */) { return spanInNode(variableDeclaration.parent.parent); } + var parent = variableDeclaration.parent; // If this is a destructuring pattern, set breakpoint in binding pattern if (ts.isBindingPattern(variableDeclaration.name)) { return spanInBindingPattern(variableDeclaration.name); @@ -108422,7 +109344,7 @@ var ts; // or its declaration from 'for of' if (variableDeclaration.initializer || ts.hasModifier(variableDeclaration, 1 /* Export */) || - variableDeclaration.parent.parent.kind === 221 /* ForOfStatement */) { + parent.parent.kind === 222 /* ForOfStatement */) { return textSpanFromVariableDeclaration(variableDeclaration); } if (ts.isVariableDeclarationList(variableDeclaration.parent) && @@ -108463,7 +109385,7 @@ var ts; } function canFunctionHaveSpanInWholeDeclaration(functionDeclaration) { return ts.hasModifier(functionDeclaration, 1 /* Export */) || - (functionDeclaration.parent.kind === 234 /* ClassDeclaration */ && functionDeclaration.kind !== 154 /* Constructor */); + (functionDeclaration.parent.kind === 235 /* ClassDeclaration */ && functionDeclaration.kind !== 155 /* Constructor */); } function spanInFunctionDeclaration(functionDeclaration) { // No breakpoints in the function signature @@ -108486,26 +109408,26 @@ var ts; } function spanInBlock(block) { switch (block.parent.kind) { - case 238 /* ModuleDeclaration */: + case 239 /* ModuleDeclaration */: if (ts.getModuleInstanceState(block.parent) !== 1 /* Instantiated */) { return undefined; } // falls through // Set on parent if on same line otherwise on first statement - case 218 /* WhileStatement */: - case 216 /* IfStatement */: - case 220 /* ForInStatement */: + case 219 /* WhileStatement */: + case 217 /* IfStatement */: + case 221 /* ForInStatement */: return spanInNodeIfStartsOnSameLine(block.parent, block.statements[0]); // Set span on previous token if it starts on same line otherwise on the first statement of the block - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(block.pos, sourceFile, block.parent), block.statements[0]); } // Default action is to set on first statement return spanInNode(block.statements[0]); } function spanInInitializerOfForLike(forLikeStatement) { - if (forLikeStatement.initializer.kind === 232 /* VariableDeclarationList */) { + if (forLikeStatement.initializer.kind === 233 /* VariableDeclarationList */) { // Declaration list - set breakpoint in first declaration var variableDeclarationList = forLikeStatement.initializer; if (variableDeclarationList.declarations.length > 0) { @@ -108530,21 +109452,21 @@ var ts; } function spanInBindingPattern(bindingPattern) { // Set breakpoint in first binding element - var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 205 /* OmittedExpression */ ? element : undefined; }); + var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 206 /* OmittedExpression */ ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } // Empty binding pattern of binding element, set breakpoint on binding element - if (bindingPattern.parent.kind === 181 /* BindingElement */) { + if (bindingPattern.parent.kind === 182 /* BindingElement */) { return textSpan(bindingPattern.parent); } // Variable declaration is used as the span return textSpanFromVariableDeclaration(bindingPattern.parent); } function spanInArrayLiteralOrObjectLiteralDestructuringPattern(node) { - ts.Debug.assert(node.kind !== 180 /* ArrayBindingPattern */ && node.kind !== 179 /* ObjectBindingPattern */); - var elements = node.kind === 182 /* ArrayLiteralExpression */ ? node.elements : node.properties; - var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 205 /* OmittedExpression */ ? element : undefined; }); + ts.Debug.assert(node.kind !== 181 /* ArrayBindingPattern */ && node.kind !== 180 /* ObjectBindingPattern */); + var elements = node.kind === 183 /* ArrayLiteralExpression */ ? node.elements : node.properties; + var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 206 /* OmittedExpression */ ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } @@ -108552,18 +109474,18 @@ var ts; // just nested element in another destructuring assignment // set breakpoint on assignment when parent is destructuring assignment // Otherwise set breakpoint for this element - return textSpan(node.parent.kind === 199 /* BinaryExpression */ ? node.parent : node); + return textSpan(node.parent.kind === 200 /* BinaryExpression */ ? node.parent : node); } // Tokens: function spanInOpenBraceToken(node) { switch (node.parent.kind) { - case 237 /* EnumDeclaration */: + case 238 /* EnumDeclaration */: var enumDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), enumDeclaration.members.length ? enumDeclaration.members[0] : enumDeclaration.getLastToken(sourceFile)); - case 234 /* ClassDeclaration */: + case 235 /* ClassDeclaration */: var classDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), classDeclaration.members.length ? classDeclaration.members[0] : classDeclaration.getLastToken(sourceFile)); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: return spanInNodeIfStartsOnSameLine(node.parent.parent, node.parent.clauses[0]); } // Default to parent node @@ -108571,25 +109493,25 @@ var ts; } function spanInCloseBraceToken(node) { switch (node.parent.kind) { - case 239 /* ModuleBlock */: + case 240 /* ModuleBlock */: // If this is not an instantiated module block, no bp span if (ts.getModuleInstanceState(node.parent.parent) !== 1 /* Instantiated */) { return undefined; } // falls through - case 237 /* EnumDeclaration */: - case 234 /* ClassDeclaration */: + case 238 /* EnumDeclaration */: + case 235 /* ClassDeclaration */: // Span on close brace token return textSpan(node); - case 212 /* Block */: + case 213 /* Block */: if (ts.isFunctionBlock(node.parent)) { // Span on close brace token return textSpan(node); } // falls through - case 268 /* CatchClause */: + case 269 /* CatchClause */: return spanInNode(ts.lastOrUndefined(node.parent.statements)); - case 240 /* CaseBlock */: + case 241 /* CaseBlock */: // breakpoint in last statement of the last clause var caseBlock = node.parent; var lastClause = ts.lastOrUndefined(caseBlock.clauses); @@ -108597,7 +109519,7 @@ var ts; return spanInNode(ts.lastOrUndefined(lastClause.statements)); } return undefined; - case 179 /* ObjectBindingPattern */: + case 180 /* ObjectBindingPattern */: // Breakpoint in last binding element or binding pattern if it contains no elements var bindingPattern = node.parent; return spanInNode(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); @@ -108613,7 +109535,7 @@ var ts; } function spanInCloseBracketToken(node) { switch (node.parent.kind) { - case 180 /* ArrayBindingPattern */: + case 181 /* ArrayBindingPattern */: // Breakpoint in last binding element or binding pattern if it contains no elements var bindingPattern = node.parent; return textSpan(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); @@ -108628,12 +109550,12 @@ var ts; } } function spanInOpenParenToken(node) { - if (node.parent.kind === 217 /* DoStatement */ || // Go to while keyword and do action instead - node.parent.kind === 186 /* CallExpression */ || - node.parent.kind === 187 /* NewExpression */) { + if (node.parent.kind === 218 /* DoStatement */ || // Go to while keyword and do action instead + node.parent.kind === 187 /* CallExpression */ || + node.parent.kind === 188 /* NewExpression */) { return spanInPreviousNode(node); } - if (node.parent.kind === 190 /* ParenthesizedExpression */) { + if (node.parent.kind === 191 /* ParenthesizedExpression */) { return spanInNextNode(node); } // Default to parent node @@ -108642,21 +109564,21 @@ var ts; function spanInCloseParenToken(node) { // Is this close paren token of parameter list, set span in previous token switch (node.parent.kind) { - case 191 /* FunctionExpression */: - case 233 /* FunctionDeclaration */: - case 192 /* ArrowFunction */: - case 153 /* MethodDeclaration */: - case 152 /* MethodSignature */: - case 155 /* GetAccessor */: - case 156 /* SetAccessor */: - case 154 /* Constructor */: - case 218 /* WhileStatement */: - case 217 /* DoStatement */: - case 219 /* ForStatement */: - case 221 /* ForOfStatement */: - case 186 /* CallExpression */: - case 187 /* NewExpression */: - case 190 /* ParenthesizedExpression */: + case 192 /* FunctionExpression */: + case 234 /* FunctionDeclaration */: + case 193 /* ArrowFunction */: + case 154 /* MethodDeclaration */: + case 153 /* MethodSignature */: + case 156 /* GetAccessor */: + case 157 /* SetAccessor */: + case 155 /* Constructor */: + case 219 /* WhileStatement */: + case 218 /* DoStatement */: + case 220 /* ForStatement */: + case 222 /* ForOfStatement */: + case 187 /* CallExpression */: + case 188 /* NewExpression */: + case 191 /* ParenthesizedExpression */: return spanInPreviousNode(node); // Default to parent node default: @@ -108666,20 +109588,20 @@ var ts; function spanInColonToken(node) { // Is this : specifying return annotation of the function declaration if (ts.isFunctionLike(node.parent) || - node.parent.kind === 269 /* PropertyAssignment */ || - node.parent.kind === 148 /* Parameter */) { + node.parent.kind === 270 /* PropertyAssignment */ || + node.parent.kind === 149 /* Parameter */) { return spanInPreviousNode(node); } return spanInNode(node.parent); } function spanInGreaterThanOrLessThanToken(node) { - if (node.parent.kind === 189 /* TypeAssertionExpression */) { + if (node.parent.kind === 190 /* TypeAssertionExpression */) { return spanInNextNode(node); } return spanInNode(node.parent); } function spanInWhileKeyword(node) { - if (node.parent.kind === 217 /* DoStatement */) { + if (node.parent.kind === 218 /* DoStatement */) { // Set span on while expression return textSpanEndingAtNextToken(node, node.parent.expression); } @@ -108687,7 +109609,7 @@ var ts; return spanInNode(node.parent); } function spanInOfKeyword(node) { - if (node.parent.kind === 221 /* ForOfStatement */) { + if (node.parent.kind === 222 /* ForOfStatement */) { // Set using next token return spanInNextNode(node); } @@ -108709,7 +109631,7 @@ var ts; */ function transform(source, transformers, compilerOptions) { var diagnostics = []; - compilerOptions = ts.fixupCompilerOptions(compilerOptions, diagnostics); + compilerOptions = ts.fixupCompilerOptions(compilerOptions, diagnostics); // TODO: GH#18217 var nodes = ts.isArray(source) ? source : [source]; var result = ts.transformNodes(/*resolver*/ undefined, /*emitHost*/ undefined, compilerOptions, nodes, transformers, /*allowDtsFiles*/ true); result.diagnostics = ts.concatenate(result.diagnostics, diagnostics); @@ -108758,16 +109680,16 @@ var ts; var oldSnapshotShim = oldSnapshot; var encoded = this.scriptSnapshotShim.getChangeRange(oldSnapshotShim.scriptSnapshotShim); if (encoded === null) { - return null; + return null; // TODO: GH#18217 } - var decoded = JSON.parse(encoded); + var decoded = JSON.parse(encoded); // TODO: GH#18217 return ts.createTextChangeRange(ts.createTextSpan(decoded.span.start, decoded.span.length), decoded.newLength); }; ScriptSnapshotShimAdapter.prototype.dispose = function () { // if scriptSnapshotShim is a COM object then property check becomes method call with no arguments // 'in' does not have this effect if ("dispose" in this.scriptSnapshotShim) { - this.scriptSnapshotShim.dispose(); + this.scriptSnapshotShim.dispose(); // TODO: GH#18217 Can we just use `if (this.scriptSnapshotShim.dispose)`? } }; return ScriptSnapshotShimAdapter; @@ -108782,10 +109704,10 @@ var ts; // 'in' does not have this effect. if ("getModuleResolutionsForFile" in this.shimHost) { this.resolveModuleNames = function (moduleNames, containingFile) { - var resolutionsInFile = JSON.parse(_this.shimHost.getModuleResolutionsForFile(containingFile)); + var resolutionsInFile = JSON.parse(_this.shimHost.getModuleResolutionsForFile(containingFile)); // TODO: GH#18217 return ts.map(moduleNames, function (name) { var result = ts.getProperty(resolutionsInFile, name); - return result ? { resolvedFileName: result, extension: ts.extensionFromPath(result), isExternalLibraryImport: false } : undefined; + return result ? { resolvedFileName: result, extension: ts.extensionFromPath(result), isExternalLibraryImport: false } : undefined; // TODO: GH#18217 }); }; } @@ -108794,8 +109716,8 @@ var ts; } if ("getTypeReferenceDirectiveResolutionsForFile" in this.shimHost) { this.resolveTypeReferenceDirectives = function (typeDirectiveNames, containingFile) { - var typeDirectivesForFile = JSON.parse(_this.shimHost.getTypeReferenceDirectiveResolutionsForFile(containingFile)); - return ts.map(typeDirectiveNames, function (name) { return ts.getProperty(typeDirectivesForFile, name); }); + var typeDirectivesForFile = JSON.parse(_this.shimHost.getTypeReferenceDirectiveResolutionsForFile(containingFile)); // TODO: GH#18217 + return ts.map(typeDirectiveNames, function (name) { return ts.getProperty(typeDirectivesForFile, name); }); // TODO: GH#18217 }; } } @@ -108815,7 +109737,7 @@ var ts; LanguageServiceShimHostAdapter.prototype.getProjectVersion = function () { if (!this.shimHost.getProjectVersion) { // shimmed host does not support getProjectVersion - return undefined; + return undefined; // TODO: GH#18217 } return this.shimHost.getProjectVersion(); }; @@ -108848,7 +109770,7 @@ var ts; }; LanguageServiceShimHostAdapter.prototype.getScriptKind = function (fileName) { if ("getScriptKind" in this.shimHost) { - return this.shimHost.getScriptKind(fileName); + return this.shimHost.getScriptKind(fileName); // TODO: GH#18217 } else { return 0 /* Unknown */; @@ -108884,7 +109806,7 @@ var ts; return this.shimHost.getDefaultLibFileName(JSON.stringify(options)); }; LanguageServiceShimHostAdapter.prototype.readDirectory = function (path, extensions, exclude, include, depth) { - var pattern = ts.getFileMatcherPatterns(path, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); + var pattern = ts.getFileMatcherPatterns(path, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); // TODO: GH#18217 return JSON.parse(this.shimHost.readDirectory(path, JSON.stringify(extensions), JSON.stringify(pattern.basePaths), pattern.excludePattern, pattern.includeFilePattern, pattern.includeDirectoryPattern, depth)); }; LanguageServiceShimHostAdapter.prototype.readFile = function (path, encoding) { @@ -108905,11 +109827,11 @@ var ts; this.directoryExists = function (directoryName) { return _this.shimHost.directoryExists(directoryName); }; } if ("realpath" in this.shimHost) { - this.realpath = function (path) { return _this.shimHost.realpath(path); }; + this.realpath = function (path) { return _this.shimHost.realpath(path); }; // TODO: GH#18217 } } CoreServicesShimHostAdapter.prototype.readDirectory = function (rootDir, extensions, exclude, include, depth) { - var pattern = ts.getFileMatcherPatterns(rootDir, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); + var pattern = ts.getFileMatcherPatterns(rootDir, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); // TODO: GH#18217 return JSON.parse(this.shimHost.readDirectory(rootDir, JSON.stringify(extensions), JSON.stringify(pattern.basePaths), pattern.excludePattern, pattern.includeFilePattern, pattern.includeDirectoryPattern, depth)); }; CoreServicesShimHostAdapter.prototype.fileExists = function (fileName) { @@ -108981,7 +109903,8 @@ var ts; start: diagnostic.start, length: diagnostic.length, category: ts.diagnosticCategoryName(diagnostic), - code: diagnostic.code + code: diagnostic.code, + reportsUnnecessary: diagnostic.reportsUnnecessary, }; } var LanguageServiceShimObject = /** @class */ (function (_super) { @@ -109287,10 +110210,12 @@ var ts; } ClassifierShimObject.prototype.getEncodedLexicalClassifications = function (text, lexState, syntacticClassifierAbsent) { var _this = this; + if (syntacticClassifierAbsent === void 0) { syntacticClassifierAbsent = false; } return forwardJSONCall(this.logger, "getEncodedLexicalClassifications", function () { return convertClassifications(_this.classifier.getEncodedLexicalClassifications(text, lexState, syntacticClassifierAbsent)); }, this.logPerformance); }; /// COLORIZATION ClassifierShimObject.prototype.getClassificationsForLine = function (text, lexState, classifyKeywordsInGenerics) { + if (classifyKeywordsInGenerics === void 0) { classifyKeywordsInGenerics = false; } var classification = this.classifier.getClassificationsForLine(text, lexState, classifyKeywordsInGenerics); var result = ""; for (var _i = 0, _a = classification.entries; _i < _a.length; _i++) { diff --git a/lib/typingsInstaller.js b/lib/typingsInstaller.js index ab3cb0310f4..ba3e6d73daf 100644 --- a/lib/typingsInstaller.js +++ b/lib/typingsInstaller.js @@ -179,7 +179,7 @@ var ts; })(ts || (ts = {})); var ts; (function (ts) { - ts.versionMajorMinor = "2.9"; + ts.versionMajorMinor = "3.0"; ts.version = ts.versionMajorMinor + ".0-dev"; })(ts || (ts = {})); (function (ts) { @@ -310,6 +310,10 @@ var ts; return array ? array.length : 0; } ts.length = length; + function hasEntries(map) { + return !!map && !!map.size; + } + ts.hasEntries = hasEntries; function forEach(array, callback) { if (array) { for (var i = 0; i < array.length; i++) { @@ -450,7 +454,7 @@ var ts; return result; } } - Debug.fail(); + return Debug.fail(); } ts.findMap = findMap; function contains(array, value, equalityComparer) { @@ -980,15 +984,6 @@ var ts; return to; } ts.addRange = addRange; - function prependRange(to, from) { - if (from === undefined || from.length === 0) - return to; - if (to === undefined) - return from.slice(); - to.unshift.apply(to, from); - return to; - } - ts.prependRange = prependRange; function pushIfUnique(array, toAdd, equalityComparer) { if (contains(array, toAdd, equalityComparer)) { return false; @@ -1381,10 +1376,10 @@ var ts; if (value !== undefined && test(value)) return value; if (value && typeof value.kind === "number") { - Debug.fail("Invalid cast. The supplied " + Debug.showSyntaxKind(value) + " did not pass the test '" + Debug.getFunctionName(test) + "'."); + return Debug.fail("Invalid cast. The supplied " + Debug.showSyntaxKind(value) + " did not pass the test '" + Debug.getFunctionName(test) + "'."); } else { - Debug.fail("Invalid cast. The supplied value did not pass the test '" + Debug.getFunctionName(test) + "'."); + return Debug.fail("Invalid cast. The supplied value did not pass the test '" + Debug.getFunctionName(test) + "'."); } } ts.cast = cast; @@ -1464,7 +1459,7 @@ var ts; } ts.compose = compose; function formatStringFromArgs(text, args, baseIndex) { - baseIndex = baseIndex || 0; + if (baseIndex === void 0) { baseIndex = 0; } return text.replace(/{(\d+)}/g, function (_match, index) { return Debug.assertDefined(args[+index + baseIndex]); }); } ts.formatStringFromArgs = formatStringFromArgs; @@ -1701,7 +1696,9 @@ var ts; return compareValues(a ? 1 : 0, b ? 1 : 0); } ts.compareBooleans = compareBooleans; - function compareMessageText(text1, text2) { + function compareMessageText(t1, t2) { + var text1 = t1; + var text2 = t2; while (text1 && text2) { var string1 = isString(text1) ? text1 : text1.messageText; var string2 = isString(text2) ? text2 : text2.messageText; @@ -1735,6 +1732,14 @@ var ts; return moduleResolution; } ts.getEmitModuleResolutionKind = getEmitModuleResolutionKind; + function unreachableCodeIsError(options) { + return options.allowUnreachableCode === false; + } + ts.unreachableCodeIsError = unreachableCodeIsError; + function unusedLabelIsError(options) { + return options.allowUnusedLabels === false; + } + ts.unusedLabelIsError = unusedLabelIsError; function getAreDeclarationMapsEnabled(options) { return !!(options.declaration && options.declarationMap); } @@ -1753,7 +1758,7 @@ var ts; } ts.getEmitDeclarations = getEmitDeclarations; function getStrictOptionValue(compilerOptions, flag) { - return compilerOptions[flag] === undefined ? compilerOptions.strict : compilerOptions[flag]; + return compilerOptions[flag] === undefined ? !!compilerOptions.strict : !!compilerOptions[flag]; } ts.getStrictOptionValue = getStrictOptionValue; function hasZeroOrOneAsteriskCharacter(str) { @@ -2131,6 +2136,23 @@ var ts; return startsWith(str, prefix) ? str.substr(prefix.length) : str; } ts.removePrefix = removePrefix; + function tryRemovePrefix(str, prefix) { + return startsWith(str, prefix) ? str.substring(prefix.length) : undefined; + } + ts.tryRemovePrefix = tryRemovePrefix; + function tryRemoveDirectoryPrefix(path, dirPath) { + var a = tryRemovePrefix(path, dirPath); + if (a === undefined) + return undefined; + switch (a.charCodeAt(0)) { + case 47: + case 92: + return a.slice(1); + default: + return undefined; + } + } + ts.tryRemoveDirectoryPrefix = tryRemoveDirectoryPrefix; function endsWith(str, suffix) { var expectedPos = str.length - suffix.length; return expectedPos >= 0 && str.indexOf(suffix, expectedPos) === expectedPos; @@ -2140,6 +2162,10 @@ var ts; return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : str; } ts.removeSuffix = removeSuffix; + function tryRemoveSuffix(str, suffix) { + return endsWith(str, suffix) ? str.slice(0, str.length - suffix.length) : undefined; + } + ts.tryRemoveSuffix = tryRemoveSuffix; function stringContains(str, substring) { return str.indexOf(substring) !== -1; } @@ -2213,7 +2239,7 @@ var ts; var subpattern = ""; var hasWrittenComponent = false; var components = getNormalizedPathComponents(spec, basePath); - var lastComponent = lastOrUndefined(components); + var lastComponent = last(components); if (usage !== "exclude" && lastComponent === "**") { return undefined; } @@ -2279,14 +2305,17 @@ var ts; }; } ts.getFileMatcherPatterns = getFileMatcherPatterns; + function getRegexFromPattern(pattern, useCaseSensitiveFileNames) { + return new RegExp(pattern, useCaseSensitiveFileNames ? "" : "i"); + } + ts.getRegexFromPattern = getRegexFromPattern; function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries) { path = normalizePath(path); currentDirectory = normalizePath(currentDirectory); var patterns = getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory); - var regexFlag = useCaseSensitiveFileNames ? "" : "i"; - var includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(function (pattern) { return new RegExp(pattern, regexFlag); }); - var includeDirectoryRegex = patterns.includeDirectoryPattern && new RegExp(patterns.includeDirectoryPattern, regexFlag); - var excludeRegex = patterns.excludePattern && new RegExp(patterns.excludePattern, regexFlag); + var includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map(function (pattern) { return getRegexFromPattern(pattern, useCaseSensitiveFileNames); }); + var includeDirectoryRegex = patterns.includeDirectoryPattern && getRegexFromPattern(patterns.includeDirectoryPattern, useCaseSensitiveFileNames); + var excludeRegex = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, useCaseSensitiveFileNames); var results = includeFileRegexes ? includeFileRegexes.map(function () { return []; }) : [[]]; for (var _i = 0, _a = patterns.basePaths; _i < _a.length; _i++) { var basePath = _a[_i]; @@ -2404,11 +2433,11 @@ var ts; return scriptKind === 1 || scriptKind === 2; } function hasJavaScriptFileExtension(fileName) { - return forEach(ts.supportedJavascriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); + return some(ts.supportedJavascriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); } ts.hasJavaScriptFileExtension = hasJavaScriptFileExtension; function hasTypeScriptFileExtension(fileName) { - return forEach(ts.supportedTypeScriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); + return some(ts.supportedTypeScriptExtensions, function (extension) { return fileExtensionIs(fileName, extension); }); } ts.hasTypeScriptFileExtension = hasTypeScriptFileExtension; function isSupportedSourceFileName(fileName, compilerOptions, extraFileExtensions) { @@ -2582,7 +2611,8 @@ var ts; } Debug.fail = fail; function assertDefined(value, message) { - assert(value !== undefined && value !== null, message); + if (value === undefined || value === null) + return fail(message); return value; } Debug.assertDefined = assertDefined; @@ -2740,10 +2770,7 @@ var ts; ts.resolutionExtensionIsTypeScriptOrJson = resolutionExtensionIsTypeScriptOrJson; function extensionFromPath(path) { var ext = tryGetExtensionFromPath(path); - if (ext !== undefined) { - return ext; - } - Debug.fail("File " + path + " has unknown extension."); + return ext !== undefined ? ext : Debug.fail("File " + path + " has unknown extension."); } ts.extensionFromPath = extensionFromPath; function isAnySupportedFileExtension(path) { @@ -3292,6 +3319,7 @@ var ts; return watchDirectoryRecursively(directoryName, callback); } watchDirectory(directoryName, callback); + return undefined; }; } function createNonPollingWatchFile() { @@ -3522,6 +3550,7 @@ var ts; switch (entryKind) { case 0: return stat.isFile(); case 1: return stat.isDirectory(); + default: return false; } } catch (e) { @@ -3700,6 +3729,7 @@ var ts; The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type: diag(1064, ts.DiagnosticCategory.Error, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1064", "The return type of an async function or method must be the global Promise type."), In_ambient_enum_declarations_member_initializer_must_be_constant_expression: diag(1066, ts.DiagnosticCategory.Error, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."), Unexpected_token_A_constructor_method_accessor_or_property_was_expected: diag(1068, ts.DiagnosticCategory.Error, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."), + Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: diag(1069, ts.DiagnosticCategory.Error, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."), _0_modifier_cannot_appear_on_a_type_member: diag(1070, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_a_type_member_1070", "'{0}' modifier cannot appear on a type member."), _0_modifier_cannot_appear_on_an_index_signature: diag(1071, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_an_index_signature_1071", "'{0}' modifier cannot appear on an index signature."), A_0_modifier_cannot_be_used_with_an_import_declaration: diag(1079, ts.DiagnosticCategory.Error, "A_0_modifier_cannot_be_used_with_an_import_declaration_1079", "A '{0}' modifier cannot be used with an import declaration."), @@ -4151,6 +4181,7 @@ var ts; Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators: diag(2568, ts.DiagnosticCategory.Error, "Type_0_is_not_an_array_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators_2568", "Type '{0}' is not an array type. Use compiler option '--downlevelIteration' to allow iterating of iterators."), Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators: diag(2569, ts.DiagnosticCategory.Error, "Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569", "Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators."), Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await: diag(2570, ts.DiagnosticCategory.Error, "Property_0_does_not_exist_on_type_1_Did_you_forget_to_use_await_2570", "Property '{0}' does not exist on type '{1}'. Did you forget to use 'await'?"), + Object_is_of_type_unknown: diag(2571, ts.DiagnosticCategory.Error, "Object_is_of_type_unknown_2571", "Object is of type 'unknown'."), JSX_element_attributes_type_0_may_not_be_a_union_type: diag(2600, ts.DiagnosticCategory.Error, "JSX_element_attributes_type_0_may_not_be_a_union_type_2600", "JSX element attributes type '{0}' may not be a union type."), The_return_type_of_a_JSX_element_constructor_must_return_an_object_type: diag(2601, ts.DiagnosticCategory.Error, "The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601", "The return type of a JSX element constructor must return an object type."), JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist: diag(2602, ts.DiagnosticCategory.Error, "JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602", "JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."), @@ -4204,7 +4235,7 @@ var ts; _0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible: diag(2692, ts.DiagnosticCategory.Error, "_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692", "'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."), _0_only_refers_to_a_type_but_is_being_used_as_a_value_here: diag(2693, ts.DiagnosticCategory.Error, "_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693", "'{0}' only refers to a type, but is being used as a value here."), Namespace_0_has_no_exported_member_1: diag(2694, ts.DiagnosticCategory.Error, "Namespace_0_has_no_exported_member_1_2694", "Namespace '{0}' has no exported member '{1}'."), - Left_side_of_comma_operator_is_unused_and_has_no_side_effects: diag(2695, ts.DiagnosticCategory.Error, "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695", "Left side of comma operator is unused and has no side effects."), + Left_side_of_comma_operator_is_unused_and_has_no_side_effects: diag(2695, ts.DiagnosticCategory.Error, "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695", "Left side of comma operator is unused and has no side effects.", true), The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead: diag(2696, ts.DiagnosticCategory.Error, "The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696", "The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"), An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option: diag(2697, ts.DiagnosticCategory.Error, "An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697", "An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."), Spread_types_may_only_be_created_from_object_types: diag(2698, ts.DiagnosticCategory.Error, "Spread_types_may_only_be_created_from_object_types_2698", "Spread types may only be created from object types."), @@ -4234,6 +4265,7 @@ var ts; Cannot_invoke_an_object_which_is_possibly_undefined: diag(2722, ts.DiagnosticCategory.Error, "Cannot_invoke_an_object_which_is_possibly_undefined_2722", "Cannot invoke an object which is possibly 'undefined'."), Cannot_invoke_an_object_which_is_possibly_null_or_undefined: diag(2723, ts.DiagnosticCategory.Error, "Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723", "Cannot invoke an object which is possibly 'null' or 'undefined'."), Module_0_has_no_exported_member_1_Did_you_mean_2: diag(2724, ts.DiagnosticCategory.Error, "Module_0_has_no_exported_member_1_Did_you_mean_2_2724", "Module '{0}' has no exported member '{1}'. Did you mean '{2}'?"), + Class_name_cannot_be_Object_when_targeting_ES5_with_module_0: diag(2725, ts.DiagnosticCategory.Error, "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725", "Class name cannot be 'Object' when targeting ES5 with module {0}."), Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."), Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."), Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."), @@ -4532,6 +4564,7 @@ var ts; _0_is_declared_but_never_used: diag(6196, ts.DiagnosticCategory.Error, "_0_is_declared_but_never_used_6196", "'{0}' is declared but never used.", true), Include_modules_imported_with_json_extension: diag(6197, ts.DiagnosticCategory.Message, "Include_modules_imported_with_json_extension_6197", "Include modules imported with '.json' extension"), All_destructured_elements_are_unused: diag(6198, ts.DiagnosticCategory.Error, "All_destructured_elements_are_unused_6198", "All destructured elements are unused.", true), + All_variables_are_unused: diag(6199, ts.DiagnosticCategory.Error, "All_variables_are_unused_6199", "All variables are unused.", true), Projects_to_reference: diag(6300, ts.DiagnosticCategory.Message, "Projects_to_reference_6300", "Projects to reference"), Enable_project_compilation: diag(6302, ts.DiagnosticCategory.Message, "Enable_project_compilation_6302", "Enable project compilation"), Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0: diag(6202, ts.DiagnosticCategory.Error, "Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202", "Project references may not form a circular graph. Cycle detected: {0}"), @@ -4559,7 +4592,7 @@ var ts; Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: diag(7024, ts.DiagnosticCategory.Error, "Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024", "Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."), Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type: diag(7025, ts.DiagnosticCategory.Error, "Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025", "Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."), JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists: diag(7026, ts.DiagnosticCategory.Error, "JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026", "JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."), - Unreachable_code_detected: diag(7027, ts.DiagnosticCategory.Error, "Unreachable_code_detected_7027", "Unreachable code detected."), + Unreachable_code_detected: diag(7027, ts.DiagnosticCategory.Error, "Unreachable_code_detected_7027", "Unreachable code detected.", true), Unused_label: diag(7028, ts.DiagnosticCategory.Error, "Unused_label_7028", "Unused label.", true), Fallthrough_case_in_switch: diag(7029, ts.DiagnosticCategory.Error, "Fallthrough_case_in_switch_7029", "Fallthrough case in switch."), Not_all_code_paths_return_a_value: diag(7030, ts.DiagnosticCategory.Error, "Not_all_code_paths_return_a_value_7030", "Not all code paths return a value."), @@ -4640,6 +4673,7 @@ var ts; Implement_inherited_abstract_class: diag(90007, ts.DiagnosticCategory.Message, "Implement_inherited_abstract_class_90007", "Implement inherited abstract class"), Add_0_to_unresolved_variable: diag(90008, ts.DiagnosticCategory.Message, "Add_0_to_unresolved_variable_90008", "Add '{0}.' to unresolved variable"), Remove_destructuring: diag(90009, ts.DiagnosticCategory.Message, "Remove_destructuring_90009", "Remove destructuring"), + Remove_variable_statement: diag(90010, ts.DiagnosticCategory.Message, "Remove_variable_statement_90010", "Remove variable statement"), Import_0_from_module_1: diag(90013, ts.DiagnosticCategory.Message, "Import_0_from_module_1_90013", "Import '{0}' from module \"{1}\""), Change_0_to_1: diag(90014, ts.DiagnosticCategory.Message, "Change_0_to_1_90014", "Change '{0}' to '{1}'"), Add_0_to_existing_import_declaration_from_1: diag(90015, ts.DiagnosticCategory.Message, "Add_0_to_existing_import_declaration_from_1_90015", "Add '{0}' to existing import declaration from \"{1}\""), @@ -4709,6 +4743,9 @@ var ts; Add_missing_typeof: diag(95052, ts.DiagnosticCategory.Message, "Add_missing_typeof_95052", "Add missing 'typeof'"), Remove_unused_label: diag(95053, ts.DiagnosticCategory.Message, "Remove_unused_label_95053", "Remove unused label"), Remove_all_unused_labels: diag(95054, ts.DiagnosticCategory.Message, "Remove_all_unused_labels_95054", "Remove all unused labels"), + Convert_0_to_mapped_object_type: diag(95055, ts.DiagnosticCategory.Message, "Convert_0_to_mapped_object_type_95055", "Convert '{0}' to mapped object type"), + Convert_namespace_import_to_named_imports: diag(95056, ts.DiagnosticCategory.Message, "Convert_namespace_import_to_named_imports_95056", "Convert namespace import to named imports"), + Convert_named_imports_to_namespace_import: diag(95057, ts.DiagnosticCategory.Message, "Convert_named_imports_to_namespace_import_95057", "Convert named imports to namespace import"), }; })(ts || (ts = {})); var ts; @@ -4806,7 +4843,7 @@ var ts; } ts.moduleResolutionIsEqualTo = moduleResolutionIsEqualTo; function packageIdIsEqual(a, b) { - return a === b || a && b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version; + return a === b || !!a && !!b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version; } function packageIdToString(_a) { var name = _a.name, subModuleName = _a.subModuleName, version = _a.version; @@ -4849,7 +4886,7 @@ var ts; } } function getSourceFileOfNode(node) { - while (node && node.kind !== 273) { + while (node && node.kind !== 274) { node = node.parent; } return node; @@ -4857,11 +4894,11 @@ var ts; ts.getSourceFileOfNode = getSourceFileOfNode; function isStatementWithLocals(node) { switch (node.kind) { - case 212: - case 240: - case 219: + case 213: + case 241: case 220: case 221: + case 222: return true; } return false; @@ -4897,9 +4934,8 @@ var ts; } } ts.getEndLinePosition = getEndLinePosition; - function isFileLevelUniqueName(currentSourceFile, name, hasGlobalName) { - return !(hasGlobalName && hasGlobalName(name)) - && !currentSourceFile.identifiers.has(name); + function isFileLevelUniqueName(sourceFile, name, hasGlobalName) { + return !(hasGlobalName && hasGlobalName(name)) && !sourceFile.identifiers.has(name); } ts.isFileLevelUniqueName = isFileLevelUniqueName; function nodeIsMissing(node) { @@ -4913,6 +4949,19 @@ var ts; return !nodeIsMissing(node); } ts.nodeIsPresent = nodeIsPresent; + function prependStatements(to, from) { + if (from === undefined || from.length === 0) + return to; + if (to === undefined) + return from.slice(); + var prologue = to.length && isPrologueDirective(to[0]) && to.shift(); + to.unshift.apply(to, from); + if (prologue) { + to.unshift(prologue); + } + return to; + } + ts.prependStatements = prependStatements; function isRecognizedTripleSlashComment(text, commentPos, commentEnd) { if (text.charCodeAt(commentPos + 1) === 47 && commentPos + 2 < commentEnd && @@ -4942,7 +4991,7 @@ var ts; if (includeJsDoc && ts.hasJSDocNodes(node)) { return getTokenPosOfNode(node.jsDoc[0]); } - if (node.kind === 298 && node._children.length > 0) { + if (node.kind === 299 && node._children.length > 0) { return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc); } return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.pos); @@ -4982,7 +5031,7 @@ var ts; ts.indexOfNode = indexOfNode; function getEmitFlags(node) { var emitNode = node.emitNode; - return emitNode && emitNode.flags; + return emitNode && emitNode.flags || 0; } ts.getEmitFlags = getEmitFlags; function getLiteralText(node, sourceFile) { @@ -5010,7 +5059,7 @@ var ts; case 12: return node.text; } - ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); + return ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); } ts.getLiteralText = getLiteralText; function getTextOfConstantValue(value) { @@ -5036,7 +5085,7 @@ var ts; ts.isBlockOrCatchScoped = isBlockOrCatchScoped; function isCatchClauseVariableDeclarationOrBindingElement(declaration) { var node = getRootDeclaration(declaration); - return node.kind === 231 && node.parent.kind === 268; + return node.kind === 232 && node.parent.kind === 269; } ts.isCatchClauseVariableDeclarationOrBindingElement = isCatchClauseVariableDeclarationOrBindingElement; function isAmbientModule(node) { @@ -5056,11 +5105,11 @@ var ts; } ts.isShorthandAmbientModuleSymbol = isShorthandAmbientModuleSymbol; function isShorthandAmbientModule(node) { - return node && node.kind === 238 && (!node.body); + return node && node.kind === 239 && (!node.body); } function isBlockScopedContainerTopLevel(node) { - return node.kind === 273 || - node.kind === 238 || + return node.kind === 274 || + node.kind === 239 || ts.isFunctionLike(node); } ts.isBlockScopedContainerTopLevel = isBlockScopedContainerTopLevel; @@ -5074,9 +5123,9 @@ var ts; ts.isExternalModuleAugmentation = isExternalModuleAugmentation; function isModuleAugmentationExternal(node) { switch (node.parent.kind) { - case 273: + case 274: return ts.isExternalModule(node.parent); - case 239: + case 240: return isAmbientModule(node.parent.parent) && ts.isSourceFile(node.parent.parent.parent) && !ts.isExternalModule(node.parent.parent.parent); } return false; @@ -5088,51 +5137,51 @@ var ts; ts.isEffectiveExternalModule = isEffectiveExternalModule; function isBlockScope(node, parentNode) { switch (node.kind) { - case 273: - case 240: - case 268: - case 238: - case 219: + case 274: + case 241: + case 269: + case 239: case 220: case 221: - case 154: - case 153: + case 222: case 155: + case 154: case 156: - case 233: - case 191: + case 157: + case 234: case 192: + case 193: return true; - case 212: - return parentNode && !ts.isFunctionLike(parentNode); + case 213: + return !ts.isFunctionLike(parentNode); } return false; } ts.isBlockScope = isBlockScope; function isDeclarationWithTypeParameters(node) { switch (node.kind) { - case 157: case 158: - case 152: case 159: - case 162: - case 163: - case 283: - case 234: - case 204: - case 235: - case 236: - case 295: - case 233: case 153: + case 160: + case 163: + case 164: + case 284: + case 235: + case 205: + case 236: + case 237: + case 296: + case 234: case 154: case 155: case 156: - case 191: + case 157: case 192: - case 291: - case 296: - case 287: + case 193: + case 292: + case 297: + case 288: return true; default: ts.assertTypeIsNever(node); @@ -5142,8 +5191,8 @@ var ts; ts.isDeclarationWithTypeParameters = isDeclarationWithTypeParameters; function isAnyImportSyntax(node) { switch (node.kind) { + case 244: case 243: - case 242: return true; default: return false; @@ -5152,15 +5201,15 @@ var ts; ts.isAnyImportSyntax = isAnyImportSyntax; function isLateVisibilityPaintedStatement(node) { switch (node.kind) { + case 244: case 243: - case 242: - case 213: - case 234: - case 233: - case 238: - case 236: + case 214: case 235: + case 234: + case 239: case 237: + case 236: + case 238: return true; default: return false; @@ -5190,7 +5239,7 @@ var ts; case 9: case 8: return escapeLeadingUnderscores(name.text); - case 146: + case 147: return isStringOrNumericLiteral(name.expression) ? escapeLeadingUnderscores(name.expression.text) : undefined; default: ts.Debug.assertNever(name); @@ -5201,10 +5250,12 @@ var ts; switch (name.kind) { case 71: return getFullWidth(name) === 0 ? ts.idText(name) : getTextOfNode(name); - case 145: + case 146: return entityNameToString(name.left) + "." + entityNameToString(name.right); - case 184: + case 185: return entityNameToString(name.expression) + "." + entityNameToString(name.name); + default: + throw ts.Debug.assertNever(name); } } ts.entityNameToString = entityNameToString; @@ -5223,11 +5274,6 @@ var ts; return ts.createFileDiagnostic(sourceFile, span.start, span.length, message, arg0, arg1, arg2, arg3); } ts.createDiagnosticForNodeInSourceFile = createDiagnosticForNodeInSourceFile; - function createDiagnosticForNodeSpan(sourceFile, startNode, endNode, message, arg0, arg1, arg2, arg3) { - var start = ts.skipTrivia(sourceFile.text, startNode.pos); - return ts.createFileDiagnostic(sourceFile, start, endNode.end - start, message, arg0, arg1, arg2, arg3); - } - ts.createDiagnosticForNodeSpan = createDiagnosticForNodeSpan; function createDiagnosticForNodeFromMessageChain(node, messageChain) { var sourceFile = getSourceFileOfNode(node); var span = getErrorSpanForNode(sourceFile, node); @@ -5250,7 +5296,7 @@ var ts; ts.getSpanOfTokenAtPosition = getSpanOfTokenAtPosition; function getErrorSpanForArrowFunction(sourceFile, node) { var pos = ts.skipTrivia(sourceFile.text, node.pos); - if (node.body && node.body.kind === 212) { + if (node.body && node.body.kind === 213) { var startLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.pos).line; var endLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.end).line; if (startLine < endLine) { @@ -5262,31 +5308,31 @@ var ts; function getErrorSpanForNode(sourceFile, node) { var errorNode = node; switch (node.kind) { - case 273: + case 274: var pos_1 = ts.skipTrivia(sourceFile.text, 0, false); if (pos_1 === sourceFile.text.length) { return ts.createTextSpan(0, 0); } return getSpanOfTokenAtPosition(sourceFile, pos_1); - case 231: - case 181: - case 234: - case 204: + case 232: + case 182: case 235: - case 238: - case 237: - case 272: - case 233: - case 191: - case 153: - case 155: - case 156: + case 205: case 236: + case 239: + case 238: + case 273: + case 234: + case 192: + case 154: + case 156: + case 157: + case 237: + case 152: case 151: - case 150: errorNode = node.name; break; - case 192: + case 193: return getErrorSpanForArrowFunction(sourceFile, node); } if (errorNode === undefined) { @@ -5316,7 +5362,7 @@ var ts; } ts.isJsonSourceFile = isJsonSourceFile; function isConstEnumDeclaration(node) { - return node.kind === 237 && isConst(node); + return node.kind === 238 && isConst(node); } ts.isConstEnumDeclaration = isConstEnumDeclaration; function isConst(node) { @@ -5329,21 +5375,21 @@ var ts; } ts.isLet = isLet; function isSuperCall(n) { - return n.kind === 186 && n.expression.kind === 97; + return n.kind === 187 && n.expression.kind === 97; } ts.isSuperCall = isSuperCall; function isImportCall(n) { - return n.kind === 186 && n.expression.kind === 91; + return n.kind === 187 && n.expression.kind === 91; } ts.isImportCall = isImportCall; function isLiteralImportTypeNode(n) { - return n.kind === 178 && - n.argument.kind === 177 && + return n.kind === 179 && + n.argument.kind === 178 && ts.isStringLiteral(n.argument.literal); } ts.isLiteralImportTypeNode = isLiteralImportTypeNode; function isPrologueDirective(node) { - return node.kind === 215 + return node.kind === 216 && node.expression.kind === 9; } ts.isPrologueDirective = isPrologueDirective; @@ -5352,11 +5398,11 @@ var ts; } ts.getLeadingCommentRangesOfNode = getLeadingCommentRangesOfNode; function getJSDocCommentRanges(node, text) { - var commentRanges = (node.kind === 148 || - node.kind === 147 || - node.kind === 191 || + var commentRanges = (node.kind === 149 || + node.kind === 148 || node.kind === 192 || - node.kind === 190) ? + node.kind === 193 || + node.kind === 191) ? ts.concatenate(ts.getTrailingCommentRanges(text, node.pos), ts.getLeadingCommentRanges(text, node.pos)) : ts.getLeadingCommentRanges(text, node.pos); return ts.filter(commentRanges, function (comment) { @@ -5371,11 +5417,12 @@ var ts; ts.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*/; var defaultLibReferenceRegEx = /^(\/\/\/\s*/; function isPartOfTypeNode(node) { - if (160 <= node.kind && node.kind <= 178) { + if (161 <= node.kind && node.kind <= 179) { return true; } switch (node.kind) { case 119: + case 142: case 134: case 137: case 122: @@ -5384,63 +5431,64 @@ var ts; case 131: return true; case 105: - return node.parent.kind !== 195; - case 206: + return node.parent.kind !== 196; + case 207: return !isExpressionWithTypeArgumentsInClassExtendsClause(node); - case 147: - return node.parent.kind === 176 || node.parent.kind === 171; + case 148: + return node.parent.kind === 177 || node.parent.kind === 172; case 71: - if (node.parent.kind === 145 && node.parent.right === node) { + if (node.parent.kind === 146 && node.parent.right === node) { node = node.parent; } - else if (node.parent.kind === 184 && node.parent.name === node) { + else if (node.parent.kind === 185 && node.parent.name === node) { node = node.parent; } - ts.Debug.assert(node.kind === 71 || node.kind === 145 || node.kind === 184, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); - case 145: - case 184: - case 99: + ts.Debug.assert(node.kind === 71 || node.kind === 146 || node.kind === 185, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); + case 146: + case 185: + case 99: { var parent = node.parent; - if (parent.kind === 164) { + if (parent.kind === 165) { return false; } - if (parent.kind === 178) { + if (parent.kind === 179) { return !parent.isTypeOf; } - if (160 <= parent.kind && parent.kind <= 178) { + if (161 <= parent.kind && parent.kind <= 179) { return true; } switch (parent.kind) { - case 206: + case 207: return !isExpressionWithTypeArgumentsInClassExtendsClause(parent); - case 147: - return node === parent.constraint; - case 151: - case 150: case 148: - case 231: + return node === parent.constraint; + case 152: + case 151: + case 149: + case 232: return node === parent.type; - case 233: - case 191: + case 234: case 192: + case 193: + case 155: case 154: case 153: - case 152: - case 155: case 156: - return node === parent.type; case 157: + return node === parent.type; case 158: case 159: + case 160: return node === parent.type; - case 189: + case 190: return node === parent.type; - case 186: case 187: - return ts.contains(parent.typeArguments, node); case 188: + return ts.contains(parent.typeArguments, node); + case 189: return false; } + } } return false; } @@ -5459,23 +5507,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 224: + case 225: return visitor(node); - case 240: - case 212: - case 216: + case 241: + case 213: case 217: case 218: case 219: case 220: case 221: - case 225: + case 222: case 226: - case 265: - case 266: case 227: - case 229: - case 268: + case 266: + case 267: + case 228: + case 230: + case 269: return ts.forEachChild(node, traverse); } } @@ -5485,23 +5533,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 202: + case 203: visitor(node); var operand = node.expression; if (operand) { traverse(operand); } return; - case 237: - case 235: case 238: case 236: - case 234: - case 204: + case 239: + case 237: + case 235: + case 205: return; default: if (ts.isFunctionLike(node)) { - if (node.name && node.name.kind === 146) { + if (node.name && node.name.kind === 147) { traverse(node.name.expression); return; } @@ -5514,10 +5562,10 @@ var ts; } ts.forEachYieldExpression = forEachYieldExpression; function getRestParameterElementType(node) { - if (node && node.kind === 166) { + if (node && node.kind === 167) { return node.elementType; } - else if (node && node.kind === 161) { + else if (node && node.kind === 162) { return ts.singleOrUndefined(node.typeArguments); } else { @@ -5527,12 +5575,12 @@ var ts; ts.getRestParameterElementType = getRestParameterElementType; function getMembersOfDeclaration(node) { switch (node.kind) { + case 236: case 235: - case 234: - case 204: - case 165: + case 205: + case 166: return node.members; - case 183: + case 184: return node.properties; } } @@ -5540,14 +5588,14 @@ var ts; function isVariableLike(node) { if (node) { switch (node.kind) { - case 181: - case 272: - case 148: - case 269: - case 151: - case 150: + case 182: + case 273: + case 149: case 270: - case 231: + case 152: + case 151: + case 271: + case 232: return true; } } @@ -5559,8 +5607,8 @@ var ts; } ts.isVariableLikeOrAccessor = isVariableLikeOrAccessor; function isVariableDeclarationInVariableStatement(node) { - return node.parent.kind === 232 - && node.parent.parent.kind === 213; + return node.parent.kind === 233 + && node.parent.parent.kind === 214; } ts.isVariableDeclarationInVariableStatement = isVariableDeclarationInVariableStatement; function isValidESSymbolDeclaration(node) { @@ -5571,13 +5619,13 @@ var ts; ts.isValidESSymbolDeclaration = isValidESSymbolDeclaration; function introducesArgumentsExoticObject(node) { switch (node.kind) { - case 153: - case 152: case 154: + case 153: case 155: case 156: - case 233: - case 191: + case 157: + case 234: + case 192: return true; } return false; @@ -5588,7 +5636,7 @@ var ts; if (beforeUnwrapLabelCallback) { beforeUnwrapLabelCallback(node); } - if (node.statement.kind !== 227) { + if (node.statement.kind !== 228) { return node.statement; } node = node.statement; @@ -5596,17 +5644,17 @@ var ts; } ts.unwrapInnermostStatementOfLabel = unwrapInnermostStatementOfLabel; function isFunctionBlock(node) { - return node && node.kind === 212 && ts.isFunctionLike(node.parent); + return node && node.kind === 213 && ts.isFunctionLike(node.parent); } ts.isFunctionBlock = isFunctionBlock; function isObjectLiteralMethod(node) { - return node && node.kind === 153 && node.parent.kind === 183; + return node && node.kind === 154 && node.parent.kind === 184; } ts.isObjectLiteralMethod = isObjectLiteralMethod; function isObjectLiteralOrClassExpressionMethod(node) { - return node.kind === 153 && - (node.parent.kind === 183 || - node.parent.kind === 204); + return node.kind === 154 && + (node.parent.kind === 184 || + node.parent.kind === 205); } ts.isObjectLiteralOrClassExpressionMethod = isObjectLiteralOrClassExpressionMethod; function isIdentifierTypePredicate(predicate) { @@ -5618,31 +5666,35 @@ var ts; } ts.isThisTypePredicate = isThisTypePredicate; function getPropertyAssignment(objectLiteral, key, key2) { - return ts.filter(objectLiteral.properties, function (property) { - if (property.kind === 269) { + return objectLiteral.properties.filter(function (property) { + if (property.kind === 270) { var propName = getTextOfPropertyName(property.name); - return key === propName || (key2 && key2 === propName); + return key === propName || (!!key2 && key2 === propName); } + return false; }); } ts.getPropertyAssignment = getPropertyAssignment; function getTsConfigObjectLiteralExpression(tsConfigSourceFile) { if (tsConfigSourceFile && tsConfigSourceFile.statements.length) { var expression = tsConfigSourceFile.statements[0].expression; - return ts.isObjectLiteralExpression(expression) && expression; + return ts.tryCast(expression, ts.isObjectLiteralExpression); } } ts.getTsConfigObjectLiteralExpression = getTsConfigObjectLiteralExpression; function getTsConfigPropArrayElementValue(tsConfigSourceFile, propKey, elementValue) { - var jsonObjectLiteral = getTsConfigObjectLiteralExpression(tsConfigSourceFile); - return jsonObjectLiteral && - ts.firstDefined(getPropertyAssignment(jsonObjectLiteral, propKey), function (property) { - return ts.isArrayLiteralExpression(property.initializer) ? - ts.find(property.initializer.elements, function (element) { return ts.isStringLiteral(element) && element.text === elementValue; }) : - undefined; - }); + return ts.firstDefined(getTsConfigPropArray(tsConfigSourceFile, propKey), function (property) { + return ts.isArrayLiteralExpression(property.initializer) ? + ts.find(property.initializer.elements, function (element) { return ts.isStringLiteral(element) && element.text === elementValue; }) : + undefined; + }); } ts.getTsConfigPropArrayElementValue = getTsConfigPropArrayElementValue; + function getTsConfigPropArray(tsConfigSourceFile, propKey) { + var jsonObjectLiteral = getTsConfigObjectLiteralExpression(tsConfigSourceFile); + return jsonObjectLiteral ? getPropertyAssignment(jsonObjectLiteral, propKey) : ts.emptyArray; + } + ts.getTsConfigPropArray = getTsConfigPropArray; function getContainingFunction(node) { return ts.findAncestor(node.parent, ts.isFunctionLike); } @@ -5652,45 +5704,46 @@ var ts; } ts.getContainingClass = getContainingClass; function getThisContainer(node, includeArrowFunctions) { + ts.Debug.assert(node.kind !== 274); while (true) { node = node.parent; if (!node) { - return undefined; + return ts.Debug.fail(); } switch (node.kind) { - case 146: + case 147: if (ts.isClassLike(node.parent.parent)) { return node; } node = node.parent; break; - case 149: - if (node.parent.kind === 148 && ts.isClassElement(node.parent.parent)) { + case 150: + if (node.parent.kind === 149 && ts.isClassElement(node.parent.parent)) { node = node.parent.parent; } else if (ts.isClassElement(node.parent)) { node = node.parent; } break; - case 192: + case 193: if (!includeArrowFunctions) { continue; } - case 233: - case 191: - case 238: - case 151: - case 150: - case 153: + case 234: + case 192: + case 239: case 152: + case 151: case 154: + case 153: case 155: case 156: case 157: case 158: case 159: - case 237: - case 273: + case 160: + case 238: + case 274: return node; } } @@ -5700,9 +5753,9 @@ var ts; var container = getThisContainer(node, false); if (container) { switch (container.kind) { - case 154: - case 233: - case 191: + case 155: + case 234: + case 192: return container; } } @@ -5716,25 +5769,25 @@ var ts; return node; } switch (node.kind) { - case 146: + case 147: node = node.parent; break; - case 233: - case 191: + case 234: case 192: + case 193: if (!stopOnFunctions) { continue; } - case 151: - case 150: - case 153: case 152: + case 151: case 154: + case 153: case 155: case 156: + case 157: return node; - case 149: - if (node.parent.kind === 148 && ts.isClassElement(node.parent.parent)) { + case 150: + if (node.parent.kind === 149 && ts.isClassElement(node.parent.parent)) { node = node.parent.parent; } else if (ts.isClassElement(node.parent)) { @@ -5746,14 +5799,14 @@ var ts; } ts.getSuperContainer = getSuperContainer; function getImmediatelyInvokedFunctionExpression(func) { - if (func.kind === 191 || func.kind === 192) { + if (func.kind === 192 || func.kind === 193) { var prev = func; var parent = func.parent; - while (parent.kind === 190) { + while (parent.kind === 191) { prev = parent; parent = parent.parent; } - if (parent.kind === 186 && parent.expression === prev) { + if (parent.kind === 187 && parent.expression === prev) { return parent; } } @@ -5761,26 +5814,26 @@ var ts; ts.getImmediatelyInvokedFunctionExpression = getImmediatelyInvokedFunctionExpression; function isSuperProperty(node) { var kind = node.kind; - return (kind === 184 || kind === 185) + return (kind === 185 || kind === 186) && node.expression.kind === 97; } ts.isSuperProperty = isSuperProperty; function isThisProperty(node) { var kind = node.kind; - return (kind === 184 || kind === 185) + return (kind === 185 || kind === 186) && node.expression.kind === 99; } ts.isThisProperty = isThisProperty; function getEntityNameFromTypeNode(node) { switch (node.kind) { - case 161: + case 162: return node.typeName; - case 206: + case 207: return isEntityNameExpression(node.expression) ? node.expression : undefined; case 71: - case 145: + case 146: return node; } return undefined; @@ -5788,10 +5841,10 @@ var ts; ts.getEntityNameFromTypeNode = getEntityNameFromTypeNode; function getInvokedExpression(node) { switch (node.kind) { - case 188: + case 189: return node.tag; + case 257: case 256: - case 255: return node.tagName; default: return node.expression; @@ -5800,21 +5853,21 @@ var ts; ts.getInvokedExpression = getInvokedExpression; function nodeCanBeDecorated(node, parent, grandparent) { switch (node.kind) { - case 234: + case 235: return true; - case 151: - return parent.kind === 234; - case 155: + case 152: + return parent.kind === 235; case 156: - case 153: + case 157: + case 154: return node.body !== undefined - && parent.kind === 234; - case 148: + && parent.kind === 235; + case 149: return parent.body !== undefined - && (parent.kind === 154 - || parent.kind === 153 - || parent.kind === 156) - && grandparent.kind === 234; + && (parent.kind === 155 + || parent.kind === 154 + || parent.kind === 157) + && grandparent.kind === 235; } return false; } @@ -5830,19 +5883,21 @@ var ts; ts.nodeOrChildIsDecorated = nodeOrChildIsDecorated; function childIsDecorated(node, parent) { switch (node.kind) { - case 234: - return ts.forEach(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); - case 153: - case 156: - return ts.forEach(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); + case 235: + return ts.some(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); + case 154: + case 157: + return ts.some(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); + default: + return false; } } ts.childIsDecorated = childIsDecorated; function isJSXTagName(node) { var parent = node.parent; - if (parent.kind === 256 || - parent.kind === 255 || - parent.kind === 257) { + if (parent.kind === 257 || + parent.kind === 256 || + parent.kind === 258) { return parent.tagName === node; } return false; @@ -5855,45 +5910,45 @@ var ts; case 101: case 86: case 12: - case 182: case 183: case 184: case 185: case 186: case 187: case 188: - case 207: case 189: case 208: case 190: + case 209: case 191: - case 204: case 192: - case 195: + case 205: case 193: + case 196: case 194: - case 197: + case 195: case 198: case 199: case 200: - case 203: case 201: - case 13: - case 205: - case 254: - case 255: - case 258: + case 204: case 202: - case 196: - case 209: + case 13: + case 206: + case 255: + case 256: + case 259: + case 203: + case 197: + case 210: return true; - case 145: - while (node.parent.kind === 145) { + case 146: + while (node.parent.kind === 146) { node = node.parent; } - return node.parent.kind === 164 || isJSXTagName(node); + return node.parent.kind === 165 || isJSXTagName(node); case 71: - if (node.parent.kind === 164 || isJSXTagName(node)) { + if (node.parent.kind === 165 || isJSXTagName(node)) { return true; } case 8: @@ -5908,47 +5963,47 @@ var ts; function isInExpressionContext(node) { var parent = node.parent; switch (parent.kind) { - case 231: - case 148: + case 232: + case 149: + case 152: case 151: - case 150: - case 272: - case 269: - case 181: + case 273: + case 270: + case 182: return parent.initializer === node; - case 215: case 216: case 217: case 218: - case 224: + case 219: case 225: case 226: - case 265: - case 228: + case 227: + case 266: + case 229: return parent.expression === node; - case 219: + case 220: var forStatement = parent; - return (forStatement.initializer === node && forStatement.initializer.kind !== 232) || + return (forStatement.initializer === node && forStatement.initializer.kind !== 233) || forStatement.condition === node || forStatement.incrementor === node; - case 220: case 221: + case 222: var forInStatement = parent; - return (forInStatement.initializer === node && forInStatement.initializer.kind !== 232) || + return (forInStatement.initializer === node && forInStatement.initializer.kind !== 233) || forInStatement.expression === node; - case 189: - case 207: + case 190: + case 208: return node === parent.expression; - case 210: + case 211: return node === parent.expression; - case 146: + case 147: return node === parent.expression; - case 149: + case 150: + case 265: case 264: - case 263: - case 271: + case 272: return true; - case 206: + case 207: return parent.expression === node && isExpressionWithTypeArgumentsInClassExtendsClause(parent); default: return isExpressionNode(parent); @@ -5956,7 +6011,7 @@ var ts; } ts.isInExpressionContext = isInExpressionContext; function isExternalModuleImportEqualsDeclaration(node) { - return node.kind === 242 && node.moduleReference.kind === 253; + return node.kind === 243 && node.moduleReference.kind === 254; } ts.isExternalModuleImportEqualsDeclaration = isExternalModuleImportEqualsDeclaration; function getExternalModuleImportEqualsDeclarationExpression(node) { @@ -5965,7 +6020,7 @@ var ts; } ts.getExternalModuleImportEqualsDeclarationExpression = getExternalModuleImportEqualsDeclarationExpression; function isInternalModuleImportEqualsDeclaration(node) { - return node.kind === 242 && node.moduleReference.kind !== 253; + return node.kind === 243 && node.moduleReference.kind !== 254; } ts.isInternalModuleImportEqualsDeclaration = isInternalModuleImportEqualsDeclaration; function isSourceFileJavaScript(file) { @@ -5977,15 +6032,15 @@ var ts; } ts.isSourceFileNotJavaScript = isSourceFileNotJavaScript; function isInJavaScriptFile(node) { - return node && !!(node.flags & 65536); + return !!node && !!(node.flags & 65536); } ts.isInJavaScriptFile = isInJavaScriptFile; function isInJsonFile(node) { - return node && !!(node.flags & 16777216); + return !!node && !!(node.flags & 16777216); } ts.isInJsonFile = isInJsonFile; function isInJSDoc(node) { - return node && !!(node.flags & 2097152); + return !!node && !!(node.flags & 2097152); } ts.isInJSDoc = isInJSDoc; function isJSDocIndexSignature(node) { @@ -5997,7 +6052,7 @@ var ts; } ts.isJSDocIndexSignature = isJSDocIndexSignature; function isRequireCall(callExpression, checkArgumentIsStringLiteralLike) { - if (callExpression.kind !== 186) { + if (callExpression.kind !== 187) { return false; } var _a = callExpression, expression = _a.expression, args = _a.arguments; @@ -6019,22 +6074,48 @@ var ts; return getSourceTextOfNodeFromSourceFile(sourceFile, str).charCodeAt(0) === 34; } ts.isStringDoubleQuoted = isStringDoubleQuoted; - function getJSInitializerSymbol(symbol) { - if (!symbol || !symbol.valueDeclaration) { - return symbol; + function getDeclarationOfJSInitializer(node) { + if (!isInJavaScriptFile(node) || !node.parent) { + return undefined; } - var declaration = symbol.valueDeclaration; - var e = getDeclaredJavascriptInitializer(declaration) || getAssignedJavascriptInitializer(declaration); - return e && e.symbol ? e.symbol : symbol; - } - ts.getJSInitializerSymbol = getJSInitializerSymbol; - function getDeclaredJavascriptInitializer(node) { - if (node && ts.isVariableDeclaration(node) && node.initializer) { - return getJavascriptInitializer(node.initializer, false) || - ts.isIdentifier(node.name) && getDefaultedJavascriptInitializer(node.name, node.initializer, false); + var name; + var decl; + if (ts.isVariableDeclaration(node.parent) && node.parent.initializer === node) { + name = node.parent.name; + decl = node.parent; } + else if (ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58 && node.parent.right === node) { + name = node.parent.left; + decl = name; + } + else if (ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 54) { + if (ts.isVariableDeclaration(node.parent.parent) && node.parent.parent.initializer === node.parent) { + name = node.parent.parent.name; + decl = node.parent.parent; + } + else if (ts.isBinaryExpression(node.parent.parent) && node.parent.parent.operatorToken.kind === 58 && node.parent.parent.right === node.parent) { + name = node.parent.parent.left; + decl = name; + } + if (!name || !isEntityNameExpression(name) || !isSameEntityName(name, node.parent.left)) { + return undefined; + } + } + if (!name || !getJavascriptInitializer(node, isPrototypeAccess(name))) { + return undefined; + } + return decl; } - ts.getDeclaredJavascriptInitializer = getDeclaredJavascriptInitializer; + ts.getDeclarationOfJSInitializer = getDeclarationOfJSInitializer; + function getEffectiveInitializer(node) { + if (isInJavaScriptFile(node) && node.initializer && + ts.isBinaryExpression(node.initializer) && node.initializer.operatorToken.kind === 54 && + node.name && isEntityNameExpression(node.name) && isSameEntityName(node.name, node.initializer.left)) { + return node.initializer.right; + } + return node.initializer; + } + ts.getEffectiveInitializer = getEffectiveInitializer; function getAssignedJavascriptInitializer(node) { if (node && node.parent && ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58) { var isPrototypeAssignment = isPrototypeAccess(node.parent.left); @@ -6046,11 +6127,11 @@ var ts; function getJavascriptInitializer(initializer, isPrototypeAssignment) { if (ts.isCallExpression(initializer)) { var e = skipParentheses(initializer.expression); - return e.kind === 191 || e.kind === 192 ? initializer : undefined; + return e.kind === 192 || e.kind === 193 ? initializer : undefined; } - if (initializer.kind === 191 || - initializer.kind === 204 || - initializer.kind === 192) { + if (initializer.kind === 192 || + initializer.kind === 205 || + initializer.kind === 193) { return initializer; } if (ts.isObjectLiteralExpression(initializer) && (initializer.properties.length === 0 || isPrototypeAssignment)) { @@ -6064,6 +6145,13 @@ var ts; return e; } } + function isDefaultedJavascriptInitializer(node) { + var name = ts.isVariableDeclaration(node.parent) ? node.parent.name : + ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 58 ? node.parent.left : + undefined; + return name && getJavascriptInitializer(node.right, isPrototypeAccess(name)) && isEntityNameExpression(name) && isSameEntityName(name, node.left); + } + ts.isDefaultedJavascriptInitializer = isDefaultedJavascriptInitializer; function getOuterNameOfJsInitializer(node) { if (ts.isBinaryExpression(node.parent)) { var parent = (node.parent.operatorToken.kind === 54 && ts.isBinaryExpression(node.parent.parent)) ? node.parent.parent : node.parent; @@ -6156,7 +6244,7 @@ var ts; ts.isPrototypePropertyAssignment = isPrototypePropertyAssignment; function isSpecialPropertyDeclaration(expr) { return isInJavaScriptFile(expr) && - expr.parent && expr.parent.kind === 215 && + expr.parent && expr.parent.kind === 216 && !!ts.getJSDocTypeTag(expr.parent); } ts.isSpecialPropertyDeclaration = isSpecialPropertyDeclaration; @@ -6166,14 +6254,14 @@ var ts; ts.importFromModuleSpecifier = importFromModuleSpecifier; function tryGetImportFromModuleSpecifier(node) { switch (node.parent.kind) { - case 243: - case 249: + case 244: + case 250: return node.parent; - case 253: + case 254: return node.parent.parent; - case 186: + case 187: return node.parent; - case 177: + case 178: ts.Debug.assert(ts.isStringLiteral(node)); return ts.tryCast(node.parent.parent, ts.isImportTypeNode); default: @@ -6183,12 +6271,12 @@ var ts; ts.tryGetImportFromModuleSpecifier = tryGetImportFromModuleSpecifier; function getExternalModuleName(node) { switch (node.kind) { - case 243: - case 249: + case 244: + case 250: return node.moduleSpecifier; - case 242: - return node.moduleReference.kind === 253 ? node.moduleReference.expression : undefined; - case 178: + case 243: + return node.moduleReference.kind === 254 ? node.moduleReference.expression : undefined; + case 179: return isLiteralImportTypeNode(node) ? node.argument.literal : undefined; default: return ts.Debug.assertNever(node); @@ -6197,11 +6285,11 @@ var ts; ts.getExternalModuleName = getExternalModuleName; function getNamespaceDeclarationNode(node) { switch (node.kind) { - case 243: + case 244: return node.importClause && ts.tryCast(node.importClause.namedBindings, ts.isNamespaceImport); - case 242: + case 243: return node; - case 249: + case 250: return undefined; default: return ts.Debug.assertNever(node); @@ -6209,19 +6297,19 @@ var ts; } ts.getNamespaceDeclarationNode = getNamespaceDeclarationNode; function isDefaultImport(node) { - return node.kind === 243 && node.importClause && !!node.importClause.name; + return node.kind === 244 && !!node.importClause && !!node.importClause.name; } ts.isDefaultImport = isDefaultImport; function hasQuestionToken(node) { if (node) { switch (node.kind) { - case 148: + case 149: + case 154: case 153: - case 152: + case 271: case 270: - case 269: + case 152: case 151: - case 150: return node.questionToken !== undefined; } } @@ -6229,14 +6317,14 @@ var ts; } ts.hasQuestionToken = hasQuestionToken; function isJSDocConstructSignature(node) { - return node.kind === 283 && + return node.kind === 284 && node.parameters.length > 0 && node.parameters[0].name && node.parameters[0].name.escapedText === "new"; } ts.isJSDocConstructSignature = isJSDocConstructSignature; function isJSDocTypeAlias(node) { - return node.kind === 296 || node.kind === 291; + return node.kind === 297 || node.kind === 292; } ts.isJSDocTypeAlias = isJSDocTypeAlias; function isTypeAlias(node) { @@ -6246,38 +6334,39 @@ var ts; function getSourceOfAssignment(node) { return ts.isExpressionStatement(node) && node.expression && ts.isBinaryExpression(node.expression) && - node.expression.operatorToken.kind === 58 && - node.expression.right; + node.expression.operatorToken.kind === 58 + ? node.expression.right + : undefined; } function getSourceOfDefaultedAssignment(node) { return ts.isExpressionStatement(node) && ts.isBinaryExpression(node.expression) && getSpecialPropertyAssignmentKind(node.expression) !== 0 && ts.isBinaryExpression(node.expression.right) && - node.expression.right.operatorToken.kind === 54 && - node.expression.right.right; + node.expression.right.operatorToken.kind === 54 + ? node.expression.right.right + : undefined; } function getSingleInitializerOfVariableStatementOrPropertyDeclaration(node) { switch (node.kind) { - case 213: + case 214: var v = getSingleVariableOfVariableStatement(node); return v && v.initializer; - case 151: + case 152: return node.initializer; - case 269: + case 270: return node.initializer; } } function getSingleVariableOfVariableStatement(node) { - return ts.isVariableStatement(node) && - node.declarationList.declarations.length > 0 && - node.declarationList.declarations[0]; + return ts.isVariableStatement(node) ? ts.firstOrUndefined(node.declarationList.declarations) : undefined; } function getNestedModuleDeclaration(node) { - return node.kind === 238 && + return ts.isModuleDeclaration(node) && node.body && - node.body.kind === 238 && - node.body; + node.body.kind === 239 + ? node.body + : undefined; } function getJSDocCommentsAndTags(hostNode) { var result; @@ -6287,7 +6376,7 @@ var ts; var parent = node.parent; if (!parent) return; - if (parent.kind === 269 || parent.kind === 151 || getNestedModuleDeclaration(parent)) { + if (parent.kind === 270 || parent.kind === 152 || getNestedModuleDeclaration(parent)) { getJSDocCommentsAndTagsWorker(parent); } if (parent.parent && (getSingleVariableOfVariableStatement(parent.parent) === node)) { @@ -6301,10 +6390,10 @@ var ts; } if (ts.isBinaryExpression(node) && node.operatorToken.kind === 58 || ts.isBinaryExpression(parent) && parent.operatorToken.kind === 58 || - node.kind === 184 && node.parent && node.parent.kind === 215) { + node.kind === 185 && node.parent && node.parent.kind === 216) { getJSDocCommentsAndTagsWorker(parent); } - if (node.kind === 148) { + if (node.kind === 149) { result = ts.addRange(result, ts.getJSDocParameterTags(node)); } if (isVariableLike(node) && ts.hasInitializer(node) && node.initializer !== hostNode && ts.hasJSDocNodes(node.initializer)) { @@ -6358,43 +6447,43 @@ var ts; ts.getTypeParameterFromJsDoc = getTypeParameterFromJsDoc; function hasRestParameter(s) { var last = ts.lastOrUndefined(s.parameters); - return last && isRestParameter(last); + return !!last && isRestParameter(last); } ts.hasRestParameter = hasRestParameter; function isRestParameter(node) { var type = ts.isJSDocParameterTag(node) ? (node.typeExpression && node.typeExpression.type) : node.type; - return node.dotDotDotToken !== undefined || type && type.kind === 284; + return node.dotDotDotToken !== undefined || !!type && type.kind === 285; } ts.isRestParameter = isRestParameter; function getAssignmentTargetKind(node) { var parent = node.parent; while (true) { switch (parent.kind) { - case 199: + case 200: var binaryOperator = parent.operatorToken.kind; return isAssignmentOperator(binaryOperator) && parent.left === node ? binaryOperator === 58 ? 1 : 2 : 0; - case 197: case 198: + case 199: var unaryOperator = parent.operator; return unaryOperator === 43 || unaryOperator === 44 ? 2 : 0; - case 220: case 221: + case 222: return parent.initializer === node ? 1 : 0; - case 190: - case 182: - case 203: - case 208: + case 191: + case 183: + case 204: + case 209: node = parent; break; - case 270: + case 271: if (parent.name !== node) { return 0; } node = parent.parent; break; - case 269: + case 270: if (parent.name === node) { return 0; } @@ -6413,22 +6502,22 @@ var ts; ts.isAssignmentTarget = isAssignmentTarget; function isNodeWithPossibleHoistedDeclaration(node) { switch (node.kind) { - case 212: case 213: - case 225: - case 216: + case 214: case 226: - case 240: - case 265: - case 266: + case 217: case 227: - case 219: + case 241: + case 266: + case 267: + case 228: case 220: case 221: - case 217: + case 222: case 218: - case 229: - case 268: + case 219: + case 230: + case 269: return true; } return false; @@ -6445,26 +6534,26 @@ var ts; return node; } function walkUpParenthesizedTypes(node) { - return walkUp(node, 172); + return walkUp(node, 173); } ts.walkUpParenthesizedTypes = walkUpParenthesizedTypes; function walkUpParenthesizedExpressions(node) { - return walkUp(node, 190); + return walkUp(node, 191); } ts.walkUpParenthesizedExpressions = walkUpParenthesizedExpressions; function skipParentheses(node) { - while (node.kind === 190) { + while (node.kind === 191) { node = node.expression; } return node; } ts.skipParentheses = skipParentheses; function isDeleteTarget(node) { - if (node.kind !== 184 && node.kind !== 185) { + if (node.kind !== 185 && node.kind !== 186) { return false; } node = walkUpParenthesizedExpressions(node.parent); - return node && node.kind === 193; + return node && node.kind === 194; } ts.isDeleteTarget = isDeleteTarget; function isNodeDescendantOf(node, ancestor) { @@ -6484,9 +6573,10 @@ var ts; switch (name.kind) { case 71: case 9: - case 8: - if (ts.isDeclaration(name.parent)) { - return name.parent.name === name; + case 8: { + var parent = name.parent; + if (ts.isDeclaration(parent)) { + return parent.name === name; } else if (ts.isQualifiedName(name.parent)) { var tag = name.parent.parent; @@ -6496,6 +6586,7 @@ var ts; var binExp = name.parent.parent; return ts.isBinaryExpression(binExp) && getSpecialPropertyAssignmentKind(binExp) !== 0 && ts.getNameOfDeclaration(binExp) === name; } + } default: return false; } @@ -6503,49 +6594,49 @@ var ts; ts.isAnyDeclarationName = isAnyDeclarationName; function isLiteralComputedPropertyDeclarationName(node) { return (node.kind === 9 || node.kind === 8) && - node.parent.kind === 146 && + node.parent.kind === 147 && ts.isDeclaration(node.parent.parent); } ts.isLiteralComputedPropertyDeclarationName = isLiteralComputedPropertyDeclarationName; function isIdentifierName(node) { var parent = node.parent; switch (parent.kind) { - case 151: - case 150: - case 153: case 152: - case 155: + case 151: + case 154: + case 153: case 156: - case 272: - case 269: - case 184: + case 157: + case 273: + case 270: + case 185: return parent.name === node; - case 145: + case 146: if (parent.right === node) { - while (parent.kind === 145) { + while (parent.kind === 146) { parent = parent.parent; } - return parent.kind === 164 || parent.kind === 161; + return parent.kind === 165 || parent.kind === 162; } return false; - case 181: - case 247: + case 182: + case 248: return parent.propertyName === node; - case 251: - case 261: + case 252: + case 262: return true; } return false; } ts.isIdentifierName = isIdentifierName; function isAliasSymbolDeclaration(node) { - return node.kind === 242 || - node.kind === 241 || - node.kind === 244 && !!node.name || - node.kind === 245 || - node.kind === 247 || - node.kind === 251 || - node.kind === 248 && exportAssignmentIsAlias(node) || + return node.kind === 243 || + node.kind === 242 || + node.kind === 245 && !!node.name || + node.kind === 246 || + node.kind === 248 || + node.kind === 252 || + node.kind === 249 && exportAssignmentIsAlias(node) || ts.isBinaryExpression(node) && getSpecialPropertyAssignmentKind(node) === 2; } ts.isAliasSymbolDeclaration = isAliasSymbolDeclaration; @@ -6605,11 +6696,11 @@ var ts; } ts.getAncestor = getAncestor; function isKeyword(token) { - return 72 <= token && token <= 144; + return 72 <= token && token <= 145; } ts.isKeyword = isKeyword; function isContextualKeyword(token) { - return 117 <= token && token <= 144; + return 117 <= token && token <= 145; } ts.isContextualKeyword = isContextualKeyword; function isNonContextualKeyword(token) { @@ -6631,13 +6722,13 @@ var ts; } var flags = 0; switch (node.kind) { - case 233: - case 191: - case 153: + case 234: + case 192: + case 154: if (node.asteriskToken) { flags |= 1; } - case 192: + case 193: if (hasModifier(node, 256)) { flags |= 2; } @@ -6651,10 +6742,10 @@ var ts; ts.getFunctionFlags = getFunctionFlags; function isAsyncFunction(node) { switch (node.kind) { - case 233: - case 191: + case 234: case 192: - case 153: + case 193: + case 154: return node.body !== undefined && node.asteriskToken === undefined && hasModifier(node, 256); @@ -6670,11 +6761,11 @@ var ts; ts.isStringOrNumericLiteral = isStringOrNumericLiteral; function hasDynamicName(declaration) { var name = ts.getNameOfDeclaration(declaration); - return name && isDynamicName(name); + return !!name && isDynamicName(name); } ts.hasDynamicName = hasDynamicName; function isDynamicName(name) { - return name.kind === 146 && + return name.kind === 147 && !isStringOrNumericLiteral(name.expression) && !isWellKnownSymbolSyntactically(name.expression); } @@ -6690,7 +6781,7 @@ var ts; if (name.kind === 9 || name.kind === 8) { return escapeLeadingUnderscores(name.text); } - if (name.kind === 146) { + if (name.kind === 147) { var nameExpression = name.expression; if (isWellKnownSymbolSyntactically(nameExpression)) { return getPropertyNameForKnownSymbolName(ts.idText(nameExpression.name)); @@ -6740,11 +6831,11 @@ var ts; ts.isPushOrUnshiftIdentifier = isPushOrUnshiftIdentifier; function isParameterDeclaration(node) { var root = getRootDeclaration(node); - return root.kind === 148; + return root.kind === 149; } ts.isParameterDeclaration = isParameterDeclaration; function getRootDeclaration(node) { - while (node.kind === 181) { + while (node.kind === 182) { node = node.parent.parent; } return node; @@ -6752,15 +6843,15 @@ var ts; ts.getRootDeclaration = getRootDeclaration; function nodeStartsNewLexicalEnvironment(node) { var kind = node.kind; - return kind === 154 - || kind === 191 - || kind === 233 + return kind === 155 || kind === 192 - || kind === 153 - || kind === 155 + || kind === 234 + || kind === 193 + || kind === 154 || kind === 156 - || kind === 238 - || kind === 273; + || kind === 157 + || kind === 239 + || kind === 274; } ts.nodeStartsNewLexicalEnvironment = nodeStartsNewLexicalEnvironment; function nodeIsSynthesized(range) { @@ -6774,23 +6865,23 @@ var ts; ts.getOriginalSourceFile = getOriginalSourceFile; function getExpressionAssociativity(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 187 && expression.arguments !== undefined; + var hasArguments = expression.kind === 188 && expression.arguments !== undefined; return getOperatorAssociativity(expression.kind, operator, hasArguments); } ts.getExpressionAssociativity = getExpressionAssociativity; function getOperatorAssociativity(kind, operator, hasArguments) { switch (kind) { - case 187: + case 188: return hasArguments ? 0 : 1; - case 197: - case 194: + case 198: case 195: - case 193: case 196: - case 200: - case 202: + case 194: + case 197: + case 201: + case 203: return 1; - case 199: + case 200: switch (operator) { case 40: case 58: @@ -6814,15 +6905,15 @@ var ts; ts.getOperatorAssociativity = getOperatorAssociativity; function getExpressionPrecedence(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 187 && expression.arguments !== undefined; + var hasArguments = expression.kind === 188 && expression.arguments !== undefined; return getOperatorPrecedence(expression.kind, operator, hasArguments); } ts.getExpressionPrecedence = getExpressionPrecedence; function getOperator(expression) { - if (expression.kind === 199) { + if (expression.kind === 200) { return expression.operatorToken.kind; } - else if (expression.kind === 197 || expression.kind === 198) { + else if (expression.kind === 198 || expression.kind === 199) { return expression.operator; } else { @@ -6832,15 +6923,15 @@ var ts; ts.getOperator = getOperator; function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) { switch (nodeKind) { - case 301: + case 302: return 0; - case 203: + case 204: return 1; - case 202: + case 203: return 2; - case 200: + case 201: return 4; - case 199: + case 200: switch (operatorKind) { case 26: return 0; @@ -6861,21 +6952,21 @@ var ts; default: return getBinaryOperatorPrecedence(operatorKind); } - case 197: - case 194: - case 195: - case 193: - case 196: - return 16; case 198: + case 195: + case 196: + case 194: + case 197: + return 16; + case 199: return 17; - case 186: - return 18; case 187: - return hasArguments ? 19 : 18; + return 18; case 188: - case 184: + return hasArguments ? 19 : 18; + case 189: case 185: + case 186: return 19; case 99: case 97: @@ -6885,19 +6976,19 @@ var ts; case 86: case 8: case 9: - case 182: case 183: - case 191: + case 184: case 192: - case 204: - case 254: + case 193: + case 205: case 255: - case 258: + case 256: + case 259: case 12: case 13: - case 201: - case 190: - case 205: + case 202: + case 191: + case 206: return 20; default: return -1; @@ -7097,7 +7188,7 @@ var ts; var lineStartsOfS = ts.computeLineStarts(s); if (lineStartsOfS.length > 1) { lineCount = lineCount + lineStartsOfS.length - 1; - linePos = output.length - s.length + ts.lastOrUndefined(lineStartsOfS); + linePos = output.length - s.length + ts.last(lineStartsOfS); } } } @@ -7256,7 +7347,7 @@ var ts; } ts.parameterIsThisKeyword = parameterIsThisKeyword; function isThisIdentifier(node) { - return node && node.kind === 71 && identifierIsThisKeyword(node); + return !!node && node.kind === 71 && identifierIsThisKeyword(node); } ts.isThisIdentifier = isThisIdentifier; function identifierIsThisKeyword(id) { @@ -7270,10 +7361,10 @@ var ts; var setAccessor; if (hasDynamicName(accessor)) { firstAccessor = accessor; - if (accessor.kind === 155) { + if (accessor.kind === 156) { getAccessor = accessor; } - else if (accessor.kind === 156) { + else if (accessor.kind === 157) { setAccessor = accessor; } else { @@ -7282,7 +7373,7 @@ var ts; } else { ts.forEach(declarations, function (member) { - if ((member.kind === 155 || member.kind === 156) + if ((member.kind === 156 || member.kind === 157) && hasModifier(member, 32) === hasModifier(accessor, 32)) { var memberName = getPropertyNameForPropertyNameNode(member.name); var accessorName = getPropertyNameForPropertyNameNode(accessor.name); @@ -7293,10 +7384,10 @@ var ts; else if (!secondAccessor) { secondAccessor = member; } - if (member.kind === 155 && !getAccessor) { + if (member.kind === 156 && !getAccessor) { getAccessor = member; } - if (member.kind === 156 && !setAccessor) { + if (member.kind === 157 && !setAccessor) { setAccessor = member; } } @@ -7331,24 +7422,19 @@ var ts; return ts.emptyArray; } if (isJSDocTypeAlias(node)) { - ts.Debug.assert(node.parent.kind === 285); - var templateTags = ts.flatMap(ts.filter(node.parent.tags, ts.isJSDocTemplateTag), function (tag) { return tag.typeParameters; }); - var templateTagNodes = templateTags; - templateTagNodes.pos = templateTagNodes.length > 0 ? ts.first(templateTagNodes).pos : node.pos; - templateTagNodes.end = templateTagNodes.length > 0 ? ts.last(templateTagNodes).end : node.end; - templateTagNodes.hasTrailingComma = false; - return templateTagNodes; + ts.Debug.assert(node.parent.kind === 286); + return ts.flatMap(node.parent.tags, function (tag) { return ts.isJSDocTemplateTag(tag) ? tag.typeParameters : undefined; }); } return node.typeParameters || (isInJavaScriptFile(node) ? getJSDocTypeParameterDeclarations(node) : ts.emptyArray); } ts.getEffectiveTypeParameterDeclarations = getEffectiveTypeParameterDeclarations; function getJSDocTypeParameterDeclarations(node) { - var tag = ts.find(ts.getJSDocTags(node), function (tag) { - return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 285 && tag.parent.tags.some(isJSDocTypeAlias)); - }); - return (tag && tag.typeParameters) || ts.emptyArray; + return ts.flatMap(ts.getJSDocTags(node), function (tag) { return isNonTypeAliasTemplate(tag) ? tag.typeParameters : undefined; }); } ts.getJSDocTypeParameterDeclarations = getJSDocTypeParameterDeclarations; + function isNonTypeAliasTemplate(tag) { + return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 286 && tag.parent.tags.some(isJSDocTypeAlias)); + } function getEffectiveSetAccessorTypeAnnotationNode(node) { var parameter = getSetAccessorValueParameter(node); return parameter && getEffectiveTypeAnnotationNode(parameter); @@ -7425,12 +7511,12 @@ var ts; lastComment = comment; } if (detachedComments.length) { - var lastCommentLine = getLineOfLocalPositionFromLineMap(lineMap, ts.lastOrUndefined(detachedComments).end); + var lastCommentLine = getLineOfLocalPositionFromLineMap(lineMap, ts.last(detachedComments).end); var nodeLine = getLineOfLocalPositionFromLineMap(lineMap, ts.skipTrivia(text, node.pos)); if (nodeLine >= lastCommentLine + 2) { emitNewLineBeforeLeadingComments(lineMap, writer, node, leadingComments); emitComments(text, lineMap, writer, detachedComments, false, true, newLine, writeComment); - currentDetachedCommentInfo = { nodePos: node.pos, detachedCommentEndPos: ts.lastOrUndefined(detachedComments).end }; + currentDetachedCommentInfo = { nodePos: node.pos, detachedCommentEndPos: ts.last(detachedComments).end }; } } } @@ -7573,7 +7659,7 @@ var ts; } ts.isAssignmentOperator = isAssignmentOperator; function tryGetClassExtendingExpressionWithTypeArguments(node) { - if (node.kind === 206 && + if (ts.isExpressionWithTypeArguments(node) && node.parent.token === 85 && ts.isClassLike(node.parent.parent)) { return node.parent.parent; @@ -7591,8 +7677,8 @@ var ts; function isDestructuringAssignment(node) { if (isAssignmentExpression(node, true)) { var kind = node.left.kind; - return kind === 183 - || kind === 182; + return kind === 184 + || kind === 183; } return false; } @@ -7602,7 +7688,7 @@ var ts; } ts.isExpressionWithTypeArgumentsInClassExtendsClause = isExpressionWithTypeArgumentsInClassExtendsClause; function isExpressionWithTypeArgumentsInClassImplementsClause(node) { - return node.kind === 206 + return node.kind === 207 && isEntityNameExpression(node.expression) && node.parent && node.parent.token === 108 @@ -7623,17 +7709,17 @@ var ts; } ts.isPrototypeAccess = isPrototypeAccess; function isRightSideOfQualifiedNameOrPropertyAccess(node) { - return (node.parent.kind === 145 && node.parent.right === node) || - (node.parent.kind === 184 && node.parent.name === node); + return (node.parent.kind === 146 && node.parent.right === node) || + (node.parent.kind === 185 && node.parent.name === node); } ts.isRightSideOfQualifiedNameOrPropertyAccess = isRightSideOfQualifiedNameOrPropertyAccess; function isEmptyObjectLiteral(expression) { - return expression.kind === 183 && + return expression.kind === 184 && expression.properties.length === 0; } ts.isEmptyObjectLiteral = isEmptyObjectLiteral; function isEmptyArrayLiteral(expression) { - return expression.kind === 182 && + return expression.kind === 183 && expression.elements.length === 0; } ts.isEmptyArrayLiteral = isEmptyArrayLiteral; @@ -7730,14 +7816,14 @@ var ts; return output; } function base64encode(host, input) { - if (host.base64encode) { + if (host && host.base64encode) { return host.base64encode(input); } return convertToBase64(input); } ts.base64encode = base64encode; function base64decode(host, input) { - if (host.base64decode) { + if (host && host.base64decode) { return host.base64decode(input); } var length = input.length; @@ -7913,8 +7999,8 @@ var ts; var parseNode = ts.getParseTreeNode(node); if (parseNode) { switch (parseNode.parent.kind) { - case 237: case 238: + case 239: return parseNode === parseNode.parent.name; } } @@ -7976,20 +8062,20 @@ var ts; if (!parent) return 0; switch (parent.kind) { + case 199: case 198: - case 197: var operator = parent.operator; return operator === 43 || operator === 44 ? writeOrReadWrite() : 0; - case 199: + case 200: var _a = parent, left = _a.left, operatorToken = _a.operatorToken; return left === node && isAssignmentOperator(operatorToken.kind) ? writeOrReadWrite() : 0; - case 184: + case 185: return parent.name !== node ? 0 : accessKind(parent); default: return 0; } function writeOrReadWrite() { - return parent.parent && parent.parent.kind === 215 ? 1 : 2; + return parent.parent && parent.parent.kind === 216 ? 1 : 2; } } function compareDataObjects(dst, src) { @@ -8066,7 +8152,7 @@ var ts; } ts.getClassLikeDeclarationOfSymbol = getClassLikeDeclarationOfSymbol; function getObjectFlags(type) { - return type.flags & 65536 ? type.objectFlags : 0; + return type.flags & 131072 ? type.objectFlags : 0; } ts.getObjectFlags = getObjectFlags; function typeHasCallOrConstructSignatures(type, checker) { @@ -8245,9 +8331,9 @@ var ts; } ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions; function getTypeParameterOwner(d) { - if (d && d.kind === 147) { + if (d && d.kind === 148) { for (var current = d; current; current = current.parent) { - if (ts.isFunctionLike(current) || ts.isClassLike(current) || current.kind === 235) { + if (ts.isFunctionLike(current) || ts.isClassLike(current) || current.kind === 236) { return current; } } @@ -8255,7 +8341,7 @@ var ts; } ts.getTypeParameterOwner = getTypeParameterOwner; function isParameterPropertyDeclaration(node) { - return ts.hasModifier(node, 92) && node.parent.kind === 154; + return ts.hasModifier(node, 92) && node.parent.kind === 155; } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; function isEmptyBindingPattern(node) { @@ -8273,7 +8359,7 @@ var ts; } ts.isEmptyBindingElement = isEmptyBindingElement; function walkUpBindingElementsAndPatterns(node) { - while (node && (node.kind === 181 || ts.isBindingPattern(node))) { + while (node && (node.kind === 182 || ts.isBindingPattern(node))) { node = node.parent; } return node; @@ -8281,14 +8367,14 @@ var ts; function getCombinedModifierFlags(node) { node = walkUpBindingElementsAndPatterns(node); var flags = ts.getModifierFlags(node); - if (node.kind === 231) { + if (node.kind === 232) { node = node.parent; } - if (node && node.kind === 232) { + if (node && node.kind === 233) { flags |= ts.getModifierFlags(node); node = node.parent; } - if (node && node.kind === 213) { + if (node && node.kind === 214) { flags |= ts.getModifierFlags(node); } return flags; @@ -8297,14 +8383,14 @@ var ts; function getCombinedNodeFlags(node) { node = walkUpBindingElementsAndPatterns(node); var flags = node.flags; - if (node.kind === 231) { + if (node.kind === 232) { node = node.parent; } - if (node && node.kind === 232) { + if (node && node.kind === 233) { flags |= node.flags; node = node.parent; } - if (node && node.kind === 213) { + if (node && node.kind === 214) { flags |= node.flags; } return flags; @@ -8348,7 +8434,7 @@ var ts; try { ts.localizedDiagnosticMessages = JSON.parse(fileContents); } - catch (e) { + catch (_a) { if (errors) { errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Corrupted_locale_file_0, filePath)); } @@ -8408,17 +8494,17 @@ var ts; return getDeclarationIdentifier(hostNode); } switch (hostNode.kind) { - case 213: + case 214: if (hostNode.declarationList && hostNode.declarationList.declarations[0]) { return getDeclarationIdentifier(hostNode.declarationList.declarations[0]); } return undefined; - case 215: + case 216: var expr = hostNode.expression; switch (expr.kind) { - case 184: - return expr.name; case 185: + return expr.name; + case 186: var arg = expr.argumentExpression; if (ts.isIdentifier(arg)) { return arg; @@ -8427,10 +8513,10 @@ var ts; return undefined; case 1: return undefined; - case 190: { + case 191: { return getDeclarationIdentifier(hostNode.expression); } - case 227: { + case 228: { if (ts.isDeclaration(hostNode.statement) || ts.isExpression(hostNode.statement)) { return getDeclarationIdentifier(hostNode.statement); } @@ -8457,23 +8543,23 @@ var ts; return undefined; } switch (declaration.kind) { - case 204: - case 191: + case 205: + case 192: if (!declaration.name) { return getAssignedName(declaration); } break; case 71: return declaration; - case 297: - case 292: { + case 298: + case 293: { var name = declaration.name; - if (name.kind === 145) { + if (name.kind === 146) { return name.right; } break; } - case 199: { + case 200: { var expr = declaration; switch (ts.getSpecialPropertyAssignmentKind(expr)) { case 1: @@ -8485,11 +8571,11 @@ var ts; return undefined; } } - case 291: + case 292: return declaration.name; - case 296: + case 297: return getNameOfJSDocTypedef(declaration); - case 248: { + case 249: { var expression = declaration.expression; return ts.isIdentifier(expression) ? expression : undefined; } @@ -8628,628 +8714,628 @@ var ts; } ts.isIdentifier = isIdentifier; function isQualifiedName(node) { - return node.kind === 145; + return node.kind === 146; } ts.isQualifiedName = isQualifiedName; function isComputedPropertyName(node) { - return node.kind === 146; + return node.kind === 147; } ts.isComputedPropertyName = isComputedPropertyName; function isTypeParameterDeclaration(node) { - return node.kind === 147; + return node.kind === 148; } ts.isTypeParameterDeclaration = isTypeParameterDeclaration; function isParameter(node) { - return node.kind === 148; + return node.kind === 149; } ts.isParameter = isParameter; function isDecorator(node) { - return node.kind === 149; + return node.kind === 150; } ts.isDecorator = isDecorator; function isPropertySignature(node) { - return node.kind === 150; + return node.kind === 151; } ts.isPropertySignature = isPropertySignature; function isPropertyDeclaration(node) { - return node.kind === 151; + return node.kind === 152; } ts.isPropertyDeclaration = isPropertyDeclaration; function isMethodSignature(node) { - return node.kind === 152; + return node.kind === 153; } ts.isMethodSignature = isMethodSignature; function isMethodDeclaration(node) { - return node.kind === 153; + return node.kind === 154; } ts.isMethodDeclaration = isMethodDeclaration; function isConstructorDeclaration(node) { - return node.kind === 154; + return node.kind === 155; } ts.isConstructorDeclaration = isConstructorDeclaration; function isGetAccessorDeclaration(node) { - return node.kind === 155; + return node.kind === 156; } ts.isGetAccessorDeclaration = isGetAccessorDeclaration; function isSetAccessorDeclaration(node) { - return node.kind === 156; + return node.kind === 157; } ts.isSetAccessorDeclaration = isSetAccessorDeclaration; function isCallSignatureDeclaration(node) { - return node.kind === 157; + return node.kind === 158; } ts.isCallSignatureDeclaration = isCallSignatureDeclaration; function isConstructSignatureDeclaration(node) { - return node.kind === 158; + return node.kind === 159; } ts.isConstructSignatureDeclaration = isConstructSignatureDeclaration; function isIndexSignatureDeclaration(node) { - return node.kind === 159; + return node.kind === 160; } ts.isIndexSignatureDeclaration = isIndexSignatureDeclaration; function isGetOrSetAccessorDeclaration(node) { - return node.kind === 156 || node.kind === 155; + return node.kind === 157 || node.kind === 156; } ts.isGetOrSetAccessorDeclaration = isGetOrSetAccessorDeclaration; function isTypePredicateNode(node) { - return node.kind === 160; + return node.kind === 161; } ts.isTypePredicateNode = isTypePredicateNode; function isTypeReferenceNode(node) { - return node.kind === 161; + return node.kind === 162; } ts.isTypeReferenceNode = isTypeReferenceNode; function isFunctionTypeNode(node) { - return node.kind === 162; + return node.kind === 163; } ts.isFunctionTypeNode = isFunctionTypeNode; function isConstructorTypeNode(node) { - return node.kind === 163; + return node.kind === 164; } ts.isConstructorTypeNode = isConstructorTypeNode; function isTypeQueryNode(node) { - return node.kind === 164; + return node.kind === 165; } ts.isTypeQueryNode = isTypeQueryNode; function isTypeLiteralNode(node) { - return node.kind === 165; + return node.kind === 166; } ts.isTypeLiteralNode = isTypeLiteralNode; function isArrayTypeNode(node) { - return node.kind === 166; + return node.kind === 167; } ts.isArrayTypeNode = isArrayTypeNode; function isTupleTypeNode(node) { - return node.kind === 167; + return node.kind === 168; } ts.isTupleTypeNode = isTupleTypeNode; function isUnionTypeNode(node) { - return node.kind === 168; + return node.kind === 169; } ts.isUnionTypeNode = isUnionTypeNode; function isIntersectionTypeNode(node) { - return node.kind === 169; + return node.kind === 170; } ts.isIntersectionTypeNode = isIntersectionTypeNode; function isConditionalTypeNode(node) { - return node.kind === 170; + return node.kind === 171; } ts.isConditionalTypeNode = isConditionalTypeNode; function isInferTypeNode(node) { - return node.kind === 171; + return node.kind === 172; } ts.isInferTypeNode = isInferTypeNode; function isParenthesizedTypeNode(node) { - return node.kind === 172; + return node.kind === 173; } ts.isParenthesizedTypeNode = isParenthesizedTypeNode; function isThisTypeNode(node) { - return node.kind === 173; + return node.kind === 174; } ts.isThisTypeNode = isThisTypeNode; function isTypeOperatorNode(node) { - return node.kind === 174; + return node.kind === 175; } ts.isTypeOperatorNode = isTypeOperatorNode; function isIndexedAccessTypeNode(node) { - return node.kind === 175; + return node.kind === 176; } ts.isIndexedAccessTypeNode = isIndexedAccessTypeNode; function isMappedTypeNode(node) { - return node.kind === 176; + return node.kind === 177; } ts.isMappedTypeNode = isMappedTypeNode; function isLiteralTypeNode(node) { - return node.kind === 177; + return node.kind === 178; } ts.isLiteralTypeNode = isLiteralTypeNode; function isImportTypeNode(node) { - return node.kind === 178; + return node.kind === 179; } ts.isImportTypeNode = isImportTypeNode; function isObjectBindingPattern(node) { - return node.kind === 179; + return node.kind === 180; } ts.isObjectBindingPattern = isObjectBindingPattern; function isArrayBindingPattern(node) { - return node.kind === 180; + return node.kind === 181; } ts.isArrayBindingPattern = isArrayBindingPattern; function isBindingElement(node) { - return node.kind === 181; + return node.kind === 182; } ts.isBindingElement = isBindingElement; function isArrayLiteralExpression(node) { - return node.kind === 182; + return node.kind === 183; } ts.isArrayLiteralExpression = isArrayLiteralExpression; function isObjectLiteralExpression(node) { - return node.kind === 183; + return node.kind === 184; } ts.isObjectLiteralExpression = isObjectLiteralExpression; function isPropertyAccessExpression(node) { - return node.kind === 184; + return node.kind === 185; } ts.isPropertyAccessExpression = isPropertyAccessExpression; function isElementAccessExpression(node) { - return node.kind === 185; + return node.kind === 186; } ts.isElementAccessExpression = isElementAccessExpression; function isCallExpression(node) { - return node.kind === 186; + return node.kind === 187; } ts.isCallExpression = isCallExpression; function isNewExpression(node) { - return node.kind === 187; + return node.kind === 188; } ts.isNewExpression = isNewExpression; function isTaggedTemplateExpression(node) { - return node.kind === 188; + return node.kind === 189; } ts.isTaggedTemplateExpression = isTaggedTemplateExpression; function isTypeAssertion(node) { - return node.kind === 189; + return node.kind === 190; } ts.isTypeAssertion = isTypeAssertion; function isParenthesizedExpression(node) { - return node.kind === 190; + return node.kind === 191; } ts.isParenthesizedExpression = isParenthesizedExpression; function skipPartiallyEmittedExpressions(node) { - while (node.kind === 300) { + while (node.kind === 301) { node = node.expression; } return node; } ts.skipPartiallyEmittedExpressions = skipPartiallyEmittedExpressions; function isFunctionExpression(node) { - return node.kind === 191; + return node.kind === 192; } ts.isFunctionExpression = isFunctionExpression; function isArrowFunction(node) { - return node.kind === 192; + return node.kind === 193; } ts.isArrowFunction = isArrowFunction; function isDeleteExpression(node) { - return node.kind === 193; + return node.kind === 194; } ts.isDeleteExpression = isDeleteExpression; function isTypeOfExpression(node) { - return node.kind === 194; + return node.kind === 195; } ts.isTypeOfExpression = isTypeOfExpression; function isVoidExpression(node) { - return node.kind === 195; + return node.kind === 196; } ts.isVoidExpression = isVoidExpression; function isAwaitExpression(node) { - return node.kind === 196; + return node.kind === 197; } ts.isAwaitExpression = isAwaitExpression; function isPrefixUnaryExpression(node) { - return node.kind === 197; + return node.kind === 198; } ts.isPrefixUnaryExpression = isPrefixUnaryExpression; function isPostfixUnaryExpression(node) { - return node.kind === 198; + return node.kind === 199; } ts.isPostfixUnaryExpression = isPostfixUnaryExpression; function isBinaryExpression(node) { - return node.kind === 199; + return node.kind === 200; } ts.isBinaryExpression = isBinaryExpression; function isConditionalExpression(node) { - return node.kind === 200; + return node.kind === 201; } ts.isConditionalExpression = isConditionalExpression; function isTemplateExpression(node) { - return node.kind === 201; + return node.kind === 202; } ts.isTemplateExpression = isTemplateExpression; function isYieldExpression(node) { - return node.kind === 202; + return node.kind === 203; } ts.isYieldExpression = isYieldExpression; function isSpreadElement(node) { - return node.kind === 203; + return node.kind === 204; } ts.isSpreadElement = isSpreadElement; function isClassExpression(node) { - return node.kind === 204; + return node.kind === 205; } ts.isClassExpression = isClassExpression; function isOmittedExpression(node) { - return node.kind === 205; + return node.kind === 206; } ts.isOmittedExpression = isOmittedExpression; function isExpressionWithTypeArguments(node) { - return node.kind === 206; + return node.kind === 207; } ts.isExpressionWithTypeArguments = isExpressionWithTypeArguments; function isAsExpression(node) { - return node.kind === 207; + return node.kind === 208; } ts.isAsExpression = isAsExpression; function isNonNullExpression(node) { - return node.kind === 208; + return node.kind === 209; } ts.isNonNullExpression = isNonNullExpression; function isMetaProperty(node) { - return node.kind === 209; + return node.kind === 210; } ts.isMetaProperty = isMetaProperty; function isTemplateSpan(node) { - return node.kind === 210; + return node.kind === 211; } ts.isTemplateSpan = isTemplateSpan; function isSemicolonClassElement(node) { - return node.kind === 211; + return node.kind === 212; } ts.isSemicolonClassElement = isSemicolonClassElement; function isBlock(node) { - return node.kind === 212; + return node.kind === 213; } ts.isBlock = isBlock; function isVariableStatement(node) { - return node.kind === 213; + return node.kind === 214; } ts.isVariableStatement = isVariableStatement; function isEmptyStatement(node) { - return node.kind === 214; + return node.kind === 215; } ts.isEmptyStatement = isEmptyStatement; function isExpressionStatement(node) { - return node.kind === 215; + return node.kind === 216; } ts.isExpressionStatement = isExpressionStatement; function isIfStatement(node) { - return node.kind === 216; + return node.kind === 217; } ts.isIfStatement = isIfStatement; function isDoStatement(node) { - return node.kind === 217; + return node.kind === 218; } ts.isDoStatement = isDoStatement; function isWhileStatement(node) { - return node.kind === 218; + return node.kind === 219; } ts.isWhileStatement = isWhileStatement; function isForStatement(node) { - return node.kind === 219; + return node.kind === 220; } ts.isForStatement = isForStatement; function isForInStatement(node) { - return node.kind === 220; + return node.kind === 221; } ts.isForInStatement = isForInStatement; function isForOfStatement(node) { - return node.kind === 221; + return node.kind === 222; } ts.isForOfStatement = isForOfStatement; function isContinueStatement(node) { - return node.kind === 222; + return node.kind === 223; } ts.isContinueStatement = isContinueStatement; function isBreakStatement(node) { - return node.kind === 223; + return node.kind === 224; } ts.isBreakStatement = isBreakStatement; function isBreakOrContinueStatement(node) { - return node.kind === 223 || node.kind === 222; + return node.kind === 224 || node.kind === 223; } ts.isBreakOrContinueStatement = isBreakOrContinueStatement; function isReturnStatement(node) { - return node.kind === 224; + return node.kind === 225; } ts.isReturnStatement = isReturnStatement; function isWithStatement(node) { - return node.kind === 225; + return node.kind === 226; } ts.isWithStatement = isWithStatement; function isSwitchStatement(node) { - return node.kind === 226; + return node.kind === 227; } ts.isSwitchStatement = isSwitchStatement; function isLabeledStatement(node) { - return node.kind === 227; + return node.kind === 228; } ts.isLabeledStatement = isLabeledStatement; function isThrowStatement(node) { - return node.kind === 228; + return node.kind === 229; } ts.isThrowStatement = isThrowStatement; function isTryStatement(node) { - return node.kind === 229; + return node.kind === 230; } ts.isTryStatement = isTryStatement; function isDebuggerStatement(node) { - return node.kind === 230; + return node.kind === 231; } ts.isDebuggerStatement = isDebuggerStatement; function isVariableDeclaration(node) { - return node.kind === 231; + return node.kind === 232; } ts.isVariableDeclaration = isVariableDeclaration; function isVariableDeclarationList(node) { - return node.kind === 232; + return node.kind === 233; } ts.isVariableDeclarationList = isVariableDeclarationList; function isFunctionDeclaration(node) { - return node.kind === 233; + return node.kind === 234; } ts.isFunctionDeclaration = isFunctionDeclaration; function isClassDeclaration(node) { - return node.kind === 234; + return node.kind === 235; } ts.isClassDeclaration = isClassDeclaration; function isInterfaceDeclaration(node) { - return node.kind === 235; + return node.kind === 236; } ts.isInterfaceDeclaration = isInterfaceDeclaration; function isTypeAliasDeclaration(node) { - return node.kind === 236; + return node.kind === 237; } ts.isTypeAliasDeclaration = isTypeAliasDeclaration; function isEnumDeclaration(node) { - return node.kind === 237; + return node.kind === 238; } ts.isEnumDeclaration = isEnumDeclaration; function isModuleDeclaration(node) { - return node.kind === 238; + return node.kind === 239; } ts.isModuleDeclaration = isModuleDeclaration; function isModuleBlock(node) { - return node.kind === 239; + return node.kind === 240; } ts.isModuleBlock = isModuleBlock; function isCaseBlock(node) { - return node.kind === 240; + return node.kind === 241; } ts.isCaseBlock = isCaseBlock; function isNamespaceExportDeclaration(node) { - return node.kind === 241; + return node.kind === 242; } ts.isNamespaceExportDeclaration = isNamespaceExportDeclaration; function isImportEqualsDeclaration(node) { - return node.kind === 242; + return node.kind === 243; } ts.isImportEqualsDeclaration = isImportEqualsDeclaration; function isImportDeclaration(node) { - return node.kind === 243; + return node.kind === 244; } ts.isImportDeclaration = isImportDeclaration; function isImportClause(node) { - return node.kind === 244; + return node.kind === 245; } ts.isImportClause = isImportClause; function isNamespaceImport(node) { - return node.kind === 245; + return node.kind === 246; } ts.isNamespaceImport = isNamespaceImport; function isNamedImports(node) { - return node.kind === 246; + return node.kind === 247; } ts.isNamedImports = isNamedImports; function isImportSpecifier(node) { - return node.kind === 247; + return node.kind === 248; } ts.isImportSpecifier = isImportSpecifier; function isExportAssignment(node) { - return node.kind === 248; + return node.kind === 249; } ts.isExportAssignment = isExportAssignment; function isExportDeclaration(node) { - return node.kind === 249; + return node.kind === 250; } ts.isExportDeclaration = isExportDeclaration; function isNamedExports(node) { - return node.kind === 250; + return node.kind === 251; } ts.isNamedExports = isNamedExports; function isExportSpecifier(node) { - return node.kind === 251; + return node.kind === 252; } ts.isExportSpecifier = isExportSpecifier; function isMissingDeclaration(node) { - return node.kind === 252; + return node.kind === 253; } ts.isMissingDeclaration = isMissingDeclaration; function isExternalModuleReference(node) { - return node.kind === 253; + return node.kind === 254; } ts.isExternalModuleReference = isExternalModuleReference; function isJsxElement(node) { - return node.kind === 254; + return node.kind === 255; } ts.isJsxElement = isJsxElement; function isJsxSelfClosingElement(node) { - return node.kind === 255; + return node.kind === 256; } ts.isJsxSelfClosingElement = isJsxSelfClosingElement; function isJsxOpeningElement(node) { - return node.kind === 256; + return node.kind === 257; } ts.isJsxOpeningElement = isJsxOpeningElement; function isJsxClosingElement(node) { - return node.kind === 257; + return node.kind === 258; } ts.isJsxClosingElement = isJsxClosingElement; function isJsxFragment(node) { - return node.kind === 258; + return node.kind === 259; } ts.isJsxFragment = isJsxFragment; function isJsxOpeningFragment(node) { - return node.kind === 259; + return node.kind === 260; } ts.isJsxOpeningFragment = isJsxOpeningFragment; function isJsxClosingFragment(node) { - return node.kind === 260; + return node.kind === 261; } ts.isJsxClosingFragment = isJsxClosingFragment; function isJsxAttribute(node) { - return node.kind === 261; + return node.kind === 262; } ts.isJsxAttribute = isJsxAttribute; function isJsxAttributes(node) { - return node.kind === 262; + return node.kind === 263; } ts.isJsxAttributes = isJsxAttributes; function isJsxSpreadAttribute(node) { - return node.kind === 263; + return node.kind === 264; } ts.isJsxSpreadAttribute = isJsxSpreadAttribute; function isJsxExpression(node) { - return node.kind === 264; + return node.kind === 265; } ts.isJsxExpression = isJsxExpression; function isCaseClause(node) { - return node.kind === 265; + return node.kind === 266; } ts.isCaseClause = isCaseClause; function isDefaultClause(node) { - return node.kind === 266; + return node.kind === 267; } ts.isDefaultClause = isDefaultClause; function isHeritageClause(node) { - return node.kind === 267; + return node.kind === 268; } ts.isHeritageClause = isHeritageClause; function isCatchClause(node) { - return node.kind === 268; + return node.kind === 269; } ts.isCatchClause = isCatchClause; function isPropertyAssignment(node) { - return node.kind === 269; + return node.kind === 270; } ts.isPropertyAssignment = isPropertyAssignment; function isShorthandPropertyAssignment(node) { - return node.kind === 270; + return node.kind === 271; } ts.isShorthandPropertyAssignment = isShorthandPropertyAssignment; function isSpreadAssignment(node) { - return node.kind === 271; + return node.kind === 272; } ts.isSpreadAssignment = isSpreadAssignment; function isEnumMember(node) { - return node.kind === 272; + return node.kind === 273; } ts.isEnumMember = isEnumMember; function isSourceFile(node) { - return node.kind === 273; + return node.kind === 274; } ts.isSourceFile = isSourceFile; function isBundle(node) { - return node.kind === 274; + return node.kind === 275; } ts.isBundle = isBundle; function isJSDocTypeExpression(node) { - return node.kind === 277; + return node.kind === 278; } ts.isJSDocTypeExpression = isJSDocTypeExpression; function isJSDocAllType(node) { - return node.kind === 278; + return node.kind === 279; } ts.isJSDocAllType = isJSDocAllType; function isJSDocUnknownType(node) { - return node.kind === 279; + return node.kind === 280; } ts.isJSDocUnknownType = isJSDocUnknownType; function isJSDocNullableType(node) { - return node.kind === 280; + return node.kind === 281; } ts.isJSDocNullableType = isJSDocNullableType; function isJSDocNonNullableType(node) { - return node.kind === 281; + return node.kind === 282; } ts.isJSDocNonNullableType = isJSDocNonNullableType; function isJSDocOptionalType(node) { - return node.kind === 282; + return node.kind === 283; } ts.isJSDocOptionalType = isJSDocOptionalType; function isJSDocFunctionType(node) { - return node.kind === 283; + return node.kind === 284; } ts.isJSDocFunctionType = isJSDocFunctionType; function isJSDocVariadicType(node) { - return node.kind === 284; + return node.kind === 285; } ts.isJSDocVariadicType = isJSDocVariadicType; function isJSDoc(node) { - return node.kind === 285; + return node.kind === 286; } ts.isJSDoc = isJSDoc; function isJSDocAugmentsTag(node) { - return node.kind === 289; + return node.kind === 290; } ts.isJSDocAugmentsTag = isJSDocAugmentsTag; function isJSDocClassTag(node) { - return node.kind === 290; + return node.kind === 291; } ts.isJSDocClassTag = isJSDocClassTag; function isJSDocParameterTag(node) { - return node.kind === 292; + return node.kind === 293; } ts.isJSDocParameterTag = isJSDocParameterTag; function isJSDocReturnTag(node) { - return node.kind === 293; + return node.kind === 294; } ts.isJSDocReturnTag = isJSDocReturnTag; function isJSDocTypeTag(node) { - return node.kind === 294; + return node.kind === 295; } ts.isJSDocTypeTag = isJSDocTypeTag; function isJSDocTemplateTag(node) { - return node.kind === 295; + return node.kind === 296; } ts.isJSDocTemplateTag = isJSDocTemplateTag; function isJSDocTypedefTag(node) { - return node.kind === 296; + return node.kind === 297; } ts.isJSDocTypedefTag = isJSDocTypedefTag; function isJSDocPropertyTag(node) { - return node.kind === 297; + return node.kind === 298; } ts.isJSDocPropertyTag = isJSDocPropertyTag; function isJSDocPropertyLikeTag(node) { - return node.kind === 297 || node.kind === 292; + return node.kind === 298 || node.kind === 293; } ts.isJSDocPropertyLikeTag = isJSDocPropertyLikeTag; function isJSDocTypeLiteral(node) { - return node.kind === 286; + return node.kind === 287; } ts.isJSDocTypeLiteral = isJSDocTypeLiteral; function isJSDocCallbackTag(node) { - return node.kind === 291; + return node.kind === 292; } ts.isJSDocCallbackTag = isJSDocCallbackTag; function isJSDocSignature(node) { - return node.kind === 287; + return node.kind === 288; } ts.isJSDocSignature = isJSDocSignature; })(ts || (ts = {})); (function (ts) { function isSyntaxList(n) { - return n.kind === 298; + return n.kind === 299; } ts.isSyntaxList = isSyntaxList; function isNode(node) { @@ -9257,11 +9343,11 @@ var ts; } ts.isNode = isNode; function isNodeKind(kind) { - return kind >= 145; + return kind >= 146; } ts.isNodeKind = isNodeKind; function isToken(n) { - return n.kind >= 0 && n.kind <= 144; + return n.kind >= 0 && n.kind <= 145; } ts.isToken = isToken; function isNodeArray(array) { @@ -9280,6 +9366,10 @@ var ts; return 13 <= kind && kind <= 16; } ts.isTemplateLiteralKind = isTemplateLiteralKind; + function isTemplateLiteralToken(node) { + return isTemplateLiteralKind(node.kind); + } + ts.isTemplateLiteralToken = isTemplateLiteralToken; function isTemplateMiddleOrTemplateTail(node) { var kind = node.kind; return kind === 15 @@ -9326,7 +9416,7 @@ var ts; ts.isModifier = isModifier; function isEntityName(node) { var kind = node.kind; - return kind === 145 + return kind === 146 || kind === 71; } ts.isEntityName = isEntityName; @@ -9335,14 +9425,14 @@ var ts; return kind === 71 || kind === 9 || kind === 8 - || kind === 146; + || kind === 147; } ts.isPropertyName = isPropertyName; function isBindingName(node) { var kind = node.kind; return kind === 71 - || kind === 179 - || kind === 180; + || kind === 180 + || kind === 181; } ts.isBindingName = isBindingName; function isFunctionLike(node) { @@ -9355,13 +9445,13 @@ var ts; ts.isFunctionLikeDeclaration = isFunctionLikeDeclaration; function isFunctionLikeDeclarationKind(kind) { switch (kind) { - case 233: - case 153: + case 234: case 154: case 155: case 156: - case 191: + case 157: case 192: + case 193: return true; default: return false; @@ -9369,14 +9459,14 @@ var ts; } function isFunctionLikeKind(kind) { switch (kind) { - case 152: - case 157: - case 287: + case 153: case 158: + case 288: case 159: - case 162: - case 283: + case 160: case 163: + case 284: + case 164: return true; default: return isFunctionLikeDeclarationKind(kind); @@ -9389,28 +9479,28 @@ var ts; ts.isFunctionOrModuleBlock = isFunctionOrModuleBlock; function isClassElement(node) { var kind = node.kind; - return kind === 154 - || kind === 151 - || kind === 153 - || kind === 155 + return kind === 155 + || kind === 152 + || kind === 154 || kind === 156 - || kind === 159 - || kind === 211; + || kind === 157 + || kind === 160 + || kind === 212; } ts.isClassElement = isClassElement; function isClassLike(node) { - return node && (node.kind === 234 || node.kind === 204); + return node && (node.kind === 235 || node.kind === 205); } ts.isClassLike = isClassLike; function isAccessor(node) { - return node && (node.kind === 155 || node.kind === 156); + return node && (node.kind === 156 || node.kind === 157); } ts.isAccessor = isAccessor; function isMethodOrAccessor(node) { switch (node.kind) { - case 153: - case 155: + case 154: case 156: + case 157: return true; default: return false; @@ -9419,11 +9509,11 @@ var ts; ts.isMethodOrAccessor = isMethodOrAccessor; function isTypeElement(node) { var kind = node.kind; - return kind === 158 - || kind === 157 - || kind === 150 - || kind === 152 - || kind === 159; + return kind === 159 + || kind === 158 + || kind === 151 + || kind === 153 + || kind === 160; } ts.isTypeElement = isTypeElement; function isClassOrTypeElement(node) { @@ -9432,17 +9522,18 @@ var ts; ts.isClassOrTypeElement = isClassOrTypeElement; function isObjectLiteralElementLike(node) { var kind = node.kind; - return kind === 269 - || kind === 270 + return kind === 270 || kind === 271 - || kind === 153 - || kind === 155 - || kind === 156; + || kind === 272 + || kind === 154 + || kind === 156 + || kind === 157; } ts.isObjectLiteralElementLike = isObjectLiteralElementLike; function isTypeNodeKind(kind) { - return (kind >= 160 && kind <= 178) + return (kind >= 161 && kind <= 179) || kind === 119 + || kind === 142 || kind === 134 || kind === 135 || kind === 122 @@ -9453,14 +9544,14 @@ var ts; || kind === 140 || kind === 95 || kind === 131 - || kind === 206 - || kind === 278 + || kind === 207 || kind === 279 || kind === 280 || kind === 281 || kind === 282 || kind === 283 - || kind === 284; + || kind === 284 + || kind === 285; } function isTypeNode(node) { return isTypeNodeKind(node.kind); @@ -9468,8 +9559,8 @@ var ts; ts.isTypeNode = isTypeNode; function isFunctionOrConstructorTypeNode(node) { switch (node.kind) { - case 162: case 163: + case 164: return true; } return false; @@ -9478,29 +9569,29 @@ var ts; function isBindingPattern(node) { if (node) { var kind = node.kind; - return kind === 180 - || kind === 179; + return kind === 181 + || kind === 180; } return false; } ts.isBindingPattern = isBindingPattern; function isAssignmentPattern(node) { var kind = node.kind; - return kind === 182 - || kind === 183; + return kind === 183 + || kind === 184; } ts.isAssignmentPattern = isAssignmentPattern; function isArrayBindingElement(node) { var kind = node.kind; - return kind === 181 - || kind === 205; + return kind === 182 + || kind === 206; } ts.isArrayBindingElement = isArrayBindingElement; function isDeclarationBindingElement(bindingElement) { switch (bindingElement.kind) { - case 231: - case 148: - case 181: + case 232: + case 149: + case 182: return true; } return false; @@ -9513,8 +9604,8 @@ var ts; ts.isBindingOrAssignmentPattern = isBindingOrAssignmentPattern; function isObjectBindingOrAssignmentPattern(node) { switch (node.kind) { - case 179: - case 183: + case 180: + case 184: return true; } return false; @@ -9522,8 +9613,8 @@ var ts; ts.isObjectBindingOrAssignmentPattern = isObjectBindingOrAssignmentPattern; function isArrayBindingOrAssignmentPattern(node) { switch (node.kind) { - case 180: - case 182: + case 181: + case 183: return true; } return false; @@ -9531,25 +9622,25 @@ var ts; ts.isArrayBindingOrAssignmentPattern = isArrayBindingOrAssignmentPattern; function isPropertyAccessOrQualifiedNameOrImportTypeNode(node) { var kind = node.kind; - return kind === 184 - || kind === 145 - || kind === 178; + return kind === 185 + || kind === 146 + || kind === 179; } ts.isPropertyAccessOrQualifiedNameOrImportTypeNode = isPropertyAccessOrQualifiedNameOrImportTypeNode; function isPropertyAccessOrQualifiedName(node) { var kind = node.kind; - return kind === 184 - || kind === 145; + return kind === 185 + || kind === 146; } ts.isPropertyAccessOrQualifiedName = isPropertyAccessOrQualifiedName; function isCallLikeExpression(node) { switch (node.kind) { + case 257: case 256: - case 255: - case 186: case 187: case 188: - case 149: + case 189: + case 150: return true; default: return false; @@ -9557,12 +9648,12 @@ var ts; } ts.isCallLikeExpression = isCallLikeExpression; function isCallOrNewExpression(node) { - return node.kind === 186 || node.kind === 187; + return node.kind === 187 || node.kind === 188; } ts.isCallOrNewExpression = isCallOrNewExpression; function isTemplateLiteral(node) { var kind = node.kind; - return kind === 201 + return kind === 202 || kind === 13; } ts.isTemplateLiteral = isTemplateLiteral; @@ -9572,32 +9663,32 @@ var ts; ts.isLeftHandSideExpression = isLeftHandSideExpression; function isLeftHandSideExpressionKind(kind) { switch (kind) { - case 184: case 185: - case 187: case 186: - case 254: - case 255: - case 258: case 188: - case 182: - case 190: + case 187: + case 255: + case 256: + case 259: + case 189: case 183: - case 204: case 191: + case 184: + case 205: + case 192: case 71: case 12: case 8: case 9: case 13: - case 201: + case 202: case 86: case 95: case 99: case 101: case 97: - case 208: case 209: + case 210: case 91: return true; default: @@ -9610,13 +9701,13 @@ var ts; ts.isUnaryExpression = isUnaryExpression; function isUnaryExpressionKind(kind) { switch (kind) { - case 197: case 198: - case 193: + case 199: case 194: case 195: case 196: - case 189: + case 197: + case 190: return true; default: return isLeftHandSideExpressionKind(kind); @@ -9624,9 +9715,9 @@ var ts; } function isUnaryExpressionWithWrite(expr) { switch (expr.kind) { - case 198: + case 199: return true; - case 197: + case 198: return expr.operator === 43 || expr.operator === 44; default: @@ -9640,15 +9731,15 @@ var ts; ts.isExpression = isExpression; function isExpressionKind(kind) { switch (kind) { - case 200: - case 202: - case 192: - case 199: + case 201: case 203: - case 207: - case 205: + case 193: + case 200: + case 204: + case 208: + case 206: + case 302: case 301: - case 300: return true; default: return isUnaryExpressionKind(kind); @@ -9656,16 +9747,16 @@ var ts; } function isAssertionExpression(node) { var kind = node.kind; - return kind === 189 - || kind === 207; + return kind === 190 + || kind === 208; } ts.isAssertionExpression = isAssertionExpression; function isPartiallyEmittedExpression(node) { - return node.kind === 300; + return node.kind === 301; } ts.isPartiallyEmittedExpression = isPartiallyEmittedExpression; function isNotEmittedStatement(node) { - return node.kind === 299; + return node.kind === 300; } ts.isNotEmittedStatement = isNotEmittedStatement; function isNotEmittedOrPartiallyEmittedNode(node) { @@ -9675,20 +9766,20 @@ var ts; ts.isNotEmittedOrPartiallyEmittedNode = isNotEmittedOrPartiallyEmittedNode; function isIterationStatement(node, lookInLabeledStatements) { switch (node.kind) { - case 219: case 220: case 221: - case 217: + case 222: case 218: + case 219: return true; - case 227: + case 228: return lookInLabeledStatements && isIterationStatement(node.statement, lookInLabeledStatements); } return false; } ts.isIterationStatement = isIterationStatement; function isForInOrOfStatement(node) { - return node.kind === 220 || node.kind === 221; + return node.kind === 221 || node.kind === 222; } ts.isForInOrOfStatement = isForInOrOfStatement; function isConciseBody(node) { @@ -9707,108 +9798,108 @@ var ts; ts.isForInitializer = isForInitializer; function isModuleBody(node) { var kind = node.kind; - return kind === 239 - || kind === 238 + return kind === 240 + || kind === 239 || kind === 71; } ts.isModuleBody = isModuleBody; function isNamespaceBody(node) { var kind = node.kind; - return kind === 239 - || kind === 238; + return kind === 240 + || kind === 239; } ts.isNamespaceBody = isNamespaceBody; function isJSDocNamespaceBody(node) { var kind = node.kind; return kind === 71 - || kind === 238; + || kind === 239; } ts.isJSDocNamespaceBody = isJSDocNamespaceBody; function isNamedImportBindings(node) { var kind = node.kind; - return kind === 246 - || kind === 245; + return kind === 247 + || kind === 246; } ts.isNamedImportBindings = isNamedImportBindings; function isModuleOrEnumDeclaration(node) { - return node.kind === 238 || node.kind === 237; + return node.kind === 239 || node.kind === 238; } ts.isModuleOrEnumDeclaration = isModuleOrEnumDeclaration; function isDeclarationKind(kind) { - return kind === 192 - || kind === 181 - || kind === 234 - || kind === 204 - || kind === 154 - || kind === 237 - || kind === 272 - || kind === 251 - || kind === 233 - || kind === 191 - || kind === 155 - || kind === 244 - || kind === 242 - || kind === 247 + return kind === 193 + || kind === 182 || kind === 235 - || kind === 261 - || kind === 153 - || kind === 152 + || kind === 205 + || kind === 155 || kind === 238 - || kind === 241 - || kind === 245 - || kind === 148 - || kind === 269 - || kind === 151 - || kind === 150 - || kind === 156 - || kind === 270 - || kind === 236 - || kind === 147 - || kind === 231 - || kind === 296 - || kind === 291 - || kind === 297; - } - function isDeclarationStatementKind(kind) { - return kind === 233 + || kind === 273 || kind === 252 || kind === 234 + || kind === 192 + || kind === 156 + || kind === 245 + || kind === 243 + || kind === 248 + || kind === 236 + || kind === 262 + || kind === 154 + || kind === 153 + || kind === 239 + || kind === 242 + || kind === 246 + || kind === 149 + || kind === 270 + || kind === 152 + || kind === 151 + || kind === 157 + || kind === 271 + || kind === 237 + || kind === 148 + || kind === 232 + || kind === 297 + || kind === 292 + || kind === 298; + } + function isDeclarationStatementKind(kind) { + return kind === 234 + || kind === 253 || kind === 235 || kind === 236 || kind === 237 || kind === 238 + || kind === 239 + || kind === 244 || kind === 243 - || kind === 242 + || kind === 250 || kind === 249 - || kind === 248 - || kind === 241; + || kind === 242; } function isStatementKindButNotDeclarationKind(kind) { - return kind === 223 - || kind === 222 - || kind === 230 - || kind === 217 - || kind === 215 - || kind === 214 - || kind === 220 - || kind === 221 - || kind === 219 - || kind === 216 - || kind === 227 - || kind === 224 - || kind === 226 - || kind === 228 - || kind === 229 - || kind === 213 + return kind === 224 + || kind === 223 + || kind === 231 || kind === 218 + || kind === 216 + || kind === 215 + || kind === 221 + || kind === 222 + || kind === 220 + || kind === 217 + || kind === 228 || kind === 225 - || kind === 299 - || kind === 303 - || kind === 302; + || kind === 227 + || kind === 229 + || kind === 230 + || kind === 214 + || kind === 219 + || kind === 226 + || kind === 300 + || kind === 304 + || kind === 303; } function isDeclaration(node) { - if (node.kind === 147) { - return node.parent.kind !== 295 || ts.isInJavaScriptFile(node); + if (node.kind === 148) { + return node.parent.kind !== 296 || ts.isInJavaScriptFile(node); } return isDeclarationKind(node.kind); } @@ -9829,10 +9920,10 @@ var ts; } ts.isStatement = isStatement; function isBlockStatement(node) { - if (node.kind !== 212) + if (node.kind !== 213) return false; if (node.parent !== undefined) { - if (node.parent.kind === 229 || node.parent.kind === 268) { + if (node.parent.kind === 230 || node.parent.kind === 269) { return false; } } @@ -9840,8 +9931,8 @@ var ts; } function isModuleReference(node) { var kind = node.kind; - return kind === 253 - || kind === 145 + return kind === 254 + || kind === 146 || kind === 71; } ts.isModuleReference = isModuleReference; @@ -9849,64 +9940,65 @@ var ts; var kind = node.kind; return kind === 99 || kind === 71 - || kind === 184; + || kind === 185; } ts.isJsxTagNameExpression = isJsxTagNameExpression; function isJsxChild(node) { var kind = node.kind; - return kind === 254 - || kind === 264 - || kind === 255 + return kind === 255 + || kind === 265 + || kind === 256 || kind === 10 - || kind === 258; + || kind === 259; } ts.isJsxChild = isJsxChild; function isJsxAttributeLike(node) { var kind = node.kind; - return kind === 261 - || kind === 263; + return kind === 262 + || kind === 264; } ts.isJsxAttributeLike = isJsxAttributeLike; function isStringLiteralOrJsxExpression(node) { var kind = node.kind; return kind === 9 - || kind === 264; + || kind === 265; } ts.isStringLiteralOrJsxExpression = isStringLiteralOrJsxExpression; function isJsxOpeningLikeElement(node) { var kind = node.kind; - return kind === 256 - || kind === 255; + return kind === 257 + || kind === 256; } ts.isJsxOpeningLikeElement = isJsxOpeningLikeElement; function isCaseOrDefaultClause(node) { var kind = node.kind; - return kind === 265 - || kind === 266; + return kind === 266 + || kind === 267; } ts.isCaseOrDefaultClause = isCaseOrDefaultClause; function isJSDocNode(node) { - return node.kind >= 277 && node.kind <= 297; + return node.kind >= 278 && node.kind <= 298; } ts.isJSDocNode = isJSDocNode; function isJSDocCommentContainingNode(node) { - return node.kind === 285 || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) || ts.isJSDocSignature(node); + return node.kind === 286 || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) || ts.isJSDocSignature(node); } ts.isJSDocCommentContainingNode = isJSDocCommentContainingNode; function isJSDocTag(node) { - return node.kind >= 288 && node.kind <= 297; + return node.kind >= 289 && node.kind <= 298; } ts.isJSDocTag = isJSDocTag; function isSetAccessor(node) { - return node.kind === 156; + return node.kind === 157; } ts.isSetAccessor = isSetAccessor; function isGetAccessor(node) { - return node.kind === 155; + return node.kind === 156; } ts.isGetAccessor = isGetAccessor; function hasJSDocNodes(node) { - return !!node.jsDoc && node.jsDoc.length > 0; + var jsDoc = node.jsDoc; + return !!jsDoc && jsDoc.length > 0; } ts.hasJSDocNodes = hasJSDocNodes; function hasType(node) { @@ -9915,8 +10007,7 @@ var ts; ts.hasType = hasType; function couldHaveType(node) { switch (node.kind) { - case 148: - case 150: + case 149: case 151: case 152: case 153: @@ -9927,24 +10018,25 @@ var ts; case 158: case 159: case 160: - case 162: + case 161: case 163: - case 172: - case 174: - case 176: - case 189: - case 191: + case 164: + case 173: + case 175: + case 177: + case 190: case 192: - case 207: - case 231: - case 233: - case 236: - case 277: - case 280: + case 193: + case 208: + case 232: + case 234: + case 237: + case 278: case 281: case 282: case 283: case 284: + case 285: return true; } return false; @@ -9960,13 +10052,13 @@ var ts; ts.hasOnlyExpressionInitializer = hasOnlyExpressionInitializer; function isObjectLiteralElement(node) { switch (node.kind) { - case 261: - case 263: - case 269: + case 262: + case 264: case 270: - case 153: - case 155: + case 271: + case 154: case 156: + case 157: return true; default: return false; @@ -9974,7 +10066,7 @@ var ts; } ts.isObjectLiteralElement = isObjectLiteralElement; function isTypeReferenceType(node) { - return node.kind === 161 || node.kind === 206; + return node.kind === 162 || node.kind === 207; } ts.isTypeReferenceType = isTypeReferenceType; var MAX_SMI_X86 = 1073741823; @@ -10006,7 +10098,7 @@ var ts; } ts.isStringLiteralLike = isStringLiteralLike; function isNamedImportsOrExports(node) { - return node.kind === 246 || node.kind === 250; + return node.kind === 247 || node.kind === 251; } ts.isNamedImportsOrExports = isNamedImportsOrExports; })(ts || (ts = {})); @@ -10044,7 +10136,7 @@ var ts; "false": 86, "finally": 87, "for": 88, - "from": 142, + "from": 143, "function": 89, "get": 125, "if": 90, @@ -10070,7 +10162,7 @@ var ts; "public": 114, "readonly": 132, "require": 133, - "global": 143, + "global": 144, "return": 96, "set": 136, "static": 115, @@ -10086,6 +10178,7 @@ var ts; "typeof": 103, "undefined": 140, "unique": 141, + "unknown": 142, "var": 104, "void": 105, "while": 106, @@ -10093,7 +10186,7 @@ var ts; "yield": 116, "async": 120, "await": 121, - "of": 144, + "of": 145, "{": 17, "}": 18, "(": 19, @@ -10599,8 +10692,9 @@ var ts; return true; } ts.isIdentifierText = isIdentifierText; - function createScanner(languageVersion, skipTrivia, languageVariant, text, onError, start, length) { + function createScanner(languageVersion, skipTrivia, languageVariant, textInitial, onError, start, length) { if (languageVariant === void 0) { languageVariant = 0; } + var text = textInitial; var pos; var end; var startPos; @@ -11710,7 +11804,7 @@ var ts; var IdentifierConstructor; var SourceFileConstructor; function createNode(kind, pos, end) { - if (kind === 273) { + if (kind === 274) { return new (SourceFileConstructor || (SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor()))(kind, pos, end); } else if (kind === 71) { @@ -11748,28 +11842,28 @@ var ts; } ts.isJSDocLikeText = isJSDocLikeText; function forEachChild(node, cbNode, cbNodes) { - if (!node || node.kind <= 144) { + if (!node || node.kind <= 145) { return; } switch (node.kind) { - case 145: + case 146: return visitNode(cbNode, node.left) || visitNode(cbNode, node.right); - case 147: + case 148: return visitNode(cbNode, node.name) || visitNode(cbNode, node.constraint) || visitNode(cbNode, node.default) || visitNode(cbNode, node.expression); - case 270: + case 271: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.equalsToken) || visitNode(cbNode, node.objectAssignmentInitializer); - case 271: + case 272: return visitNode(cbNode, node.expression); - case 148: + case 149: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || @@ -11777,59 +11871,59 @@ var ts; visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); + case 152: + return visitNodes(cbNode, cbNodes, node.decorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.exclamationToken) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.initializer); case 151: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 150: - return visitNodes(cbNode, cbNodes, node.decorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.initializer); - case 269: + case 270: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.initializer); - case 231: + case 232: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 181: + case 182: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 162: case 163: - case 157: + case 164: case 158: case 159: + case 160: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 153: - case 152: case 154: + case 153: case 155: case 156: - case 191: - case 233: + case 157: case 192: + case 234: + case 193: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.asteriskToken) || @@ -11840,187 +11934,180 @@ var ts; visitNode(cbNode, node.type) || visitNode(cbNode, node.equalsGreaterThanToken) || visitNode(cbNode, node.body); - case 161: + case 162: return visitNode(cbNode, node.typeName) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 160: + case 161: return visitNode(cbNode, node.parameterName) || visitNode(cbNode, node.type); - case 164: - return visitNode(cbNode, node.exprName); case 165: - return visitNodes(cbNode, cbNodes, node.members); + return visitNode(cbNode, node.exprName); case 166: - return visitNode(cbNode, node.elementType); + return visitNodes(cbNode, cbNodes, node.members); case 167: - return visitNodes(cbNode, cbNodes, node.elementTypes); + return visitNode(cbNode, node.elementType); case 168: + return visitNodes(cbNode, cbNodes, node.elementTypes); case 169: - return visitNodes(cbNode, cbNodes, node.types); case 170: + return visitNodes(cbNode, cbNodes, node.types); + case 171: return visitNode(cbNode, node.checkType) || visitNode(cbNode, node.extendsType) || visitNode(cbNode, node.trueType) || visitNode(cbNode, node.falseType); - case 171: + case 172: return visitNode(cbNode, node.typeParameter); - case 178: + case 179: return visitNode(cbNode, node.argument) || visitNode(cbNode, node.qualifier) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 172: - case 174: - return visitNode(cbNode, node.type); + case 173: case 175: + return visitNode(cbNode, node.type); + case 176: return visitNode(cbNode, node.objectType) || visitNode(cbNode, node.indexType); - case 176: + case 177: return visitNode(cbNode, node.readonlyToken) || visitNode(cbNode, node.typeParameter) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type); - case 177: + case 178: return visitNode(cbNode, node.literal); - case 179: case 180: - return visitNodes(cbNode, cbNodes, node.elements); - case 182: + case 181: return visitNodes(cbNode, cbNodes, node.elements); case 183: - return visitNodes(cbNode, cbNodes, node.properties); + return visitNodes(cbNode, cbNodes, node.elements); case 184: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.name); + return visitNodes(cbNode, cbNodes, node.properties); case 185: return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.argumentExpression); + visitNode(cbNode, node.name); case 186: + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.argumentExpression); case 187: + case 188: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNodes(cbNode, cbNodes, node.arguments); - case 188: + case 189: return visitNode(cbNode, node.tag) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.template); - case 189: + case 190: return visitNode(cbNode, node.type) || visitNode(cbNode, node.expression); - case 190: - return visitNode(cbNode, node.expression); - case 193: + case 191: return visitNode(cbNode, node.expression); case 194: return visitNode(cbNode, node.expression); case 195: return visitNode(cbNode, node.expression); - case 197: - return visitNode(cbNode, node.operand); - case 202: - return visitNode(cbNode, node.asteriskToken) || - visitNode(cbNode, node.expression); case 196: return visitNode(cbNode, node.expression); case 198: return visitNode(cbNode, node.operand); + case 203: + return visitNode(cbNode, node.asteriskToken) || + visitNode(cbNode, node.expression); + case 197: + return visitNode(cbNode, node.expression); case 199: + return visitNode(cbNode, node.operand); + case 200: return visitNode(cbNode, node.left) || visitNode(cbNode, node.operatorToken) || visitNode(cbNode, node.right); - case 207: + case 208: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.type); - case 208: - return visitNode(cbNode, node.expression); case 209: + return visitNode(cbNode, node.expression); + case 210: return visitNode(cbNode, node.name); - case 200: + case 201: return visitNode(cbNode, node.condition) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.whenTrue) || visitNode(cbNode, node.colonToken) || visitNode(cbNode, node.whenFalse); - case 203: + case 204: return visitNode(cbNode, node.expression); - case 212: - case 239: + case 213: + case 240: return visitNodes(cbNode, cbNodes, node.statements); - case 273: + case 274: return visitNodes(cbNode, cbNodes, node.statements) || visitNode(cbNode, node.endOfFileToken); - case 213: + case 214: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.declarationList); - case 232: + case 233: return visitNodes(cbNode, cbNodes, node.declarations); - case 215: - return visitNode(cbNode, node.expression); case 216: + return visitNode(cbNode, node.expression); + case 217: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.thenStatement) || visitNode(cbNode, node.elseStatement); - case 217: + case 218: return visitNode(cbNode, node.statement) || visitNode(cbNode, node.expression); - case 218: + case 219: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 219: + case 220: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.condition) || visitNode(cbNode, node.incrementor) || visitNode(cbNode, node.statement); - case 220: + case 221: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 221: + case 222: return visitNode(cbNode, node.awaitModifier) || visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 222: case 223: - return visitNode(cbNode, node.label); case 224: - return visitNode(cbNode, node.expression); + return visitNode(cbNode, node.label); case 225: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.statement); + return visitNode(cbNode, node.expression); case 226: + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.statement); + case 227: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.caseBlock); - case 240: + case 241: return visitNodes(cbNode, cbNodes, node.clauses); - case 265: + case 266: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.statements); - case 266: + case 267: return visitNodes(cbNode, cbNodes, node.statements); - case 227: + case 228: return visitNode(cbNode, node.label) || visitNode(cbNode, node.statement); - case 228: - return visitNode(cbNode, node.expression); case 229: + return visitNode(cbNode, node.expression); + case 230: return visitNode(cbNode, node.tryBlock) || visitNode(cbNode, node.catchClause) || visitNode(cbNode, node.finallyBlock); - case 268: + case 269: return visitNode(cbNode, node.variableDeclaration) || visitNode(cbNode, node.block); - case 149: + case 150: return visitNode(cbNode, node.expression); - case 234: - case 204: - return visitNodes(cbNode, cbNodes, node.decorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.heritageClauses) || - visitNodes(cbNode, cbNodes, node.members); case 235: + case 205: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || @@ -12032,112 +12119,119 @@ var ts; visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNode(cbNode, node.type); + visitNodes(cbNode, cbNodes, node.heritageClauses) || + visitNodes(cbNode, cbNodes, node.members); case 237: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.members); - case 272: - return visitNode(cbNode, node.name) || - visitNode(cbNode, node.initializer); + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNode(cbNode, node.type); case 238: + return visitNodes(cbNode, cbNodes, node.decorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.members); + case 273: + return visitNode(cbNode, node.name) || + visitNode(cbNode, node.initializer); + case 239: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.body); - case 242: + case 243: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.moduleReference); - case 243: + case 244: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.importClause) || visitNode(cbNode, node.moduleSpecifier); - case 244: + case 245: return visitNode(cbNode, node.name) || visitNode(cbNode, node.namedBindings); - case 241: - return visitNode(cbNode, node.name); - case 245: + case 242: return visitNode(cbNode, node.name); case 246: - case 250: + return visitNode(cbNode, node.name); + case 247: + case 251: return visitNodes(cbNode, cbNodes, node.elements); - case 249: + case 250: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.exportClause) || visitNode(cbNode, node.moduleSpecifier); - case 247: - case 251: + case 248: + case 252: return visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name); - case 248: + case 249: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.expression); - case 201: + case 202: return visitNode(cbNode, node.head) || visitNodes(cbNode, cbNodes, node.templateSpans); - case 210: + case 211: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.literal); - case 146: + case 147: return visitNode(cbNode, node.expression); - case 267: + case 268: return visitNodes(cbNode, cbNodes, node.types); - case 206: + case 207: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 253: - return visitNode(cbNode, node.expression); - case 252: - return visitNodes(cbNode, cbNodes, node.decorators); - case 301: - return visitNodes(cbNode, cbNodes, node.elements); case 254: + return visitNode(cbNode, node.expression); + case 253: + return visitNodes(cbNode, cbNodes, node.decorators); + case 302: + return visitNodes(cbNode, cbNodes, node.elements); + case 255: return visitNode(cbNode, node.openingElement) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingElement); - case 258: + case 259: return visitNode(cbNode, node.openingFragment) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingFragment); - case 255: case 256: + case 257: return visitNode(cbNode, node.tagName) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.attributes); - case 262: + case 263: return visitNodes(cbNode, cbNodes, node.properties); - case 261: + case 262: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 263: - return visitNode(cbNode, node.expression); case 264: + return visitNode(cbNode, node.expression); + case 265: return visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.expression); - case 257: + case 258: return visitNode(cbNode, node.tagName); - case 277: - return visitNode(cbNode, node.type); - case 281: - return visitNode(cbNode, node.type); - case 280: + case 278: return visitNode(cbNode, node.type); case 282: return visitNode(cbNode, node.type); + case 281: + return visitNode(cbNode, node.type); case 283: + return visitNode(cbNode, node.type); + case 284: return visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 284: - return visitNode(cbNode, node.type); case 285: + return visitNode(cbNode, node.type); + case 286: return visitNodes(cbNode, cbNodes, node.tags); - case 292: - case 297: + case 293: + case 298: if (node.isNameFirst) { return visitNode(cbNode, node.name) || visitNode(cbNode, node.typeExpression); @@ -12146,17 +12240,17 @@ var ts; return visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.name); } - case 293: - return visitNode(cbNode, node.typeExpression); case 294: return visitNode(cbNode, node.typeExpression); - case 289: - return visitNode(cbNode, node.class); case 295: - return visitNodes(cbNode, cbNodes, node.typeParameters); + return visitNode(cbNode, node.typeExpression); + case 290: + return visitNode(cbNode, node.class); case 296: + return visitNodes(cbNode, cbNodes, node.typeParameters); + case 297: if (node.typeExpression && - node.typeExpression.kind === 277) { + node.typeExpression.kind === 278) { return visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.fullName); } @@ -12164,16 +12258,16 @@ var ts; return visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression); } - case 291: + case 292: return visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression); - case 287: + case 288: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 286: + case 287: if (node.jsDocPropertyTags) { for (var _i = 0, _a = node.jsDocPropertyTags; _i < _a.length; _i++) { var tag = _a[_i]; @@ -12181,7 +12275,7 @@ var ts; } } return; - case 300: + case 301: return visitNode(cbNode, node.expression); } } @@ -12214,6 +12308,7 @@ var ts; } ts.isExternalModule = isExternalModule; function updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks) { + if (aggressiveChecks === void 0) { aggressiveChecks = false; } var newSourceFile = IncrementalParser.updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks); newSourceFile.flags |= (sourceFile.flags & 1572864); return newSourceFile; @@ -12251,6 +12346,7 @@ var ts; var contextFlags; var parseErrorBeforeNextFinishedNode = false; function parseSourceFile(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes, scriptKind) { + if (setParentNodes === void 0) { setParentNodes = false; } scriptKind = ts.ensureScriptKind(fileName, scriptKind); if (scriptKind === 6) { var result_1 = parseJsonText(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes); @@ -12278,6 +12374,7 @@ var ts; if (languageVersion === void 0) { languageVersion = 2; } initializeState(sourceText, languageVersion, syntaxCursor, 6); sourceFile = createSourceFile(fileName, 2, 6, false); + sourceFile.flags = contextFlags; nextToken(); var pos = getNodePos(); if (token() === 1) { @@ -12285,7 +12382,7 @@ var ts; sourceFile.endOfFileToken = parseTokenNode(); } else { - var statement = createNode(215); + var statement = createNode(216); switch (token()) { case 21: statement.expression = parseArrayLiteralExpression(); @@ -12428,10 +12525,11 @@ var ts; } Parser.fixupParentReferences = fixupParentReferences; function createSourceFile(fileName, languageVersion, scriptKind, isDeclarationFile) { - var sourceFile = new SourceFileConstructor(273, 0, sourceText.length); + var sourceFile = new SourceFileConstructor(274, 0, sourceText.length); nodeCount++; sourceFile.text = sourceText; sourceFile.bindDiagnostics = []; + sourceFile.bindSuggestionDiagnostics = undefined; sourceFile.languageVersion = languageVersion; sourceFile.fileName = ts.normalizePath(fileName); sourceFile.languageVariant = getLanguageVariant(scriptKind); @@ -12745,7 +12843,7 @@ var ts; return parsePropertyNameWorker(true); } function parseComputedPropertyName() { - var node = createNode(146); + var node = createNode(147); parseExpected(21); node.expression = allowInAnd(parseExpression); parseExpected(22); @@ -12859,7 +12957,7 @@ var ts; case 14: return true; } - ts.Debug.fail("Non-exhaustive case in 'isListElement'."); + return ts.Debug.fail("Non-exhaustive case in 'isListElement'."); } function isValidHeritageClauseObjectLiteral() { ts.Debug.assert(token() === 17); @@ -12935,6 +13033,8 @@ var ts; return token() === 29 || token() === 41; case 14: return token() === 27 && lookAhead(nextTokenIsSlash); + default: + return false; } } function isVariableDeclaratorListTerminator() { @@ -13053,14 +13153,14 @@ var ts; function isReusableClassMember(node) { if (node) { switch (node.kind) { - case 154: - case 159: case 155: + case 160: case 156: - case 151: - case 211: + case 157: + case 152: + case 212: return true; - case 153: + case 154: var methodDeclaration = node; var nameIsConstructor = methodDeclaration.name.kind === 71 && methodDeclaration.name.originalKeywordKind === 123; @@ -13072,8 +13172,8 @@ var ts; function isReusableSwitchClause(node) { if (node) { switch (node.kind) { - case 265: case 266: + case 267: return true; } } @@ -13082,65 +13182,65 @@ var ts; function isReusableStatement(node) { if (node) { switch (node.kind) { - case 233: + case 234: + case 214: case 213: - case 212: + case 217: case 216: - case 215: - case 228: + case 229: + case 225: + case 227: case 224: - case 226: case 223: + case 221: case 222: case 220: - case 221: case 219: - case 218: - case 225: - case 214: - case 229: - case 227: - case 217: + case 226: + case 215: case 230: + case 228: + case 218: + case 231: + case 244: case 243: - case 242: + case 250: case 249: - case 248: - case 238: - case 234: + case 239: case 235: - case 237: case 236: + case 238: + case 237: return true; } } return false; } function isReusableEnumMember(node) { - return node.kind === 272; + return node.kind === 273; } function isReusableTypeMember(node) { if (node) { switch (node.kind) { - case 158: - case 152: case 159: - case 150: - case 157: + case 153: + case 160: + case 151: + case 158: return true; } } return false; } function isReusableVariableDeclaration(node) { - if (node.kind !== 231) { + if (node.kind !== 232) { return false; } var variableDeclarator = node; return variableDeclarator.initializer === undefined; } function isReusableParameter(node) { - if (node.kind !== 148) { + if (node.kind !== 149) { return false; } var parameter = node; @@ -13179,6 +13279,7 @@ var ts; case 22: return ts.Diagnostics.Identifier_expected; case 13: return ts.Diagnostics.Identifier_expected; case 14: return ts.Diagnostics.Identifier_expected; + default: return undefined; } } function parseDelimitedList(kind, parseElement, considerSemicolonAsDelimiter) { @@ -13247,7 +13348,7 @@ var ts; return entity; } function createQualifiedName(entity, name) { - var node = createNode(145, entity.pos); + var node = createNode(146, entity.pos); node.left = entity; node.right = name; return finishNode(node); @@ -13262,19 +13363,19 @@ var ts; return allowIdentifierNames ? parseIdentifierName() : parseIdentifier(); } function parseTemplateExpression() { - var template = createNode(201); + var template = createNode(202); template.head = parseTemplateHead(); ts.Debug.assert(template.head.kind === 14, "Template head has wrong token kind"); var list = []; var listPos = getNodePos(); do { list.push(parseTemplateSpan()); - } while (ts.lastOrUndefined(list).literal.kind === 15); + } while (ts.last(list).literal.kind === 15); template.templateSpans = createNodeArray(list, listPos); return finishNode(template); } function parseTemplateSpan() { - var span = createNode(210); + var span = createNode(211); span.expression = allowInAnd(parseExpression); var literal; if (token() === 18) { @@ -13318,7 +13419,7 @@ var ts; return node; } function parseTypeReference() { - var node = createNode(161); + var node = createNode(162); node.typeName = parseEntityName(true, ts.Diagnostics.Type_expected); if (!scanner.hasPrecedingLineBreak() && token() === 27) { node.typeArguments = parseBracketedList(19, parseType, 27, 29); @@ -13327,20 +13428,20 @@ var ts; } function parseThisTypePredicate(lhs) { nextToken(); - var node = createNode(160, lhs.pos); + var node = createNode(161, lhs.pos); node.parameterName = lhs; node.type = parseType(); return finishNode(node); } function parseThisTypeNode() { - var node = createNode(173); + var node = createNode(174); nextToken(); return finishNode(node); } function parseJSDocAllType(postFixEquals) { - var result = createNode(278); + var result = createNode(279); if (postFixEquals) { - return createJSDocPostfixType(282, result); + return createJSDocPostfixType(283, result); } else { nextToken(); @@ -13348,7 +13449,7 @@ var ts; return finishNode(result); } function parseJSDocNonNullableType() { - var result = createNode(281); + var result = createNode(282); nextToken(); result.type = parseNonArrayType(); return finishNode(result); @@ -13362,28 +13463,28 @@ var ts; token() === 29 || token() === 58 || token() === 49) { - var result = createNode(279, pos); + var result = createNode(280, pos); return finishNode(result); } else { - var result = createNode(280, pos); + var result = createNode(281, pos); result.type = parseType(); return finishNode(result); } } function parseJSDocFunctionType() { if (lookAhead(nextTokenIsOpenParen)) { - var result = createNodeWithJSDoc(283); + var result = createNodeWithJSDoc(284); nextToken(); fillSignature(56, 4 | 32, result); return finishNode(result); } - var node = createNode(161); + var node = createNode(162); node.typeName = parseIdentifierName(); return finishNode(node); } function parseJSDocParameter() { - var parameter = createNode(148); + var parameter = createNode(149); if (token() === 99 || token() === 94) { parameter.name = parseIdentifierName(); parseExpected(56); @@ -13395,23 +13496,23 @@ var ts; var dotdotdot = parseOptionalToken(24); var type = parseType(); if (dotdotdot) { - var variadic = createNode(284, dotdotdot.pos); + var variadic = createNode(285, dotdotdot.pos); variadic.type = type; type = finishNode(variadic); } if (token() === 58) { - return createJSDocPostfixType(282, type); + return createJSDocPostfixType(283, type); } return type; } function parseTypeQuery() { - var node = createNode(164); + var node = createNode(165); parseExpected(103); node.exprName = parseEntityName(true); return finishNode(node); } function parseTypeParameter() { - var node = createNode(147); + var node = createNode(148); node.name = parseIdentifier(); if (parseOptional(85)) { if (isStartOfType() || !isStartOfExpression()) { @@ -13445,7 +13546,7 @@ var ts; isStartOfType(true); } function parseParameter() { - var node = createNodeWithJSDoc(148); + var node = createNodeWithJSDoc(149); if (token() === 99) { node.name = createIdentifier(true); node.type = parseParameterType(); @@ -13513,7 +13614,7 @@ var ts; } function parseSignatureMember(kind) { var node = createNodeWithJSDoc(kind); - if (kind === 158) { + if (kind === 159) { parseExpected(94); } fillSignature(56, 4, node); @@ -13550,7 +13651,7 @@ var ts; return token() === 56 || token() === 26 || token() === 22; } function parseIndexSignatureDeclaration(node) { - node.kind = 159; + node.kind = 160; node.parameters = parseBracketedList(16, parseParameter, 21, 22); node.type = parseTypeAnnotation(); parseTypeMemberSemicolon(); @@ -13560,11 +13661,11 @@ var ts; node.name = parsePropertyName(); node.questionToken = parseOptionalToken(55); if (token() === 19 || token() === 27) { - node.kind = 152; + node.kind = 153; fillSignature(56, 4, node); } else { - node.kind = 150; + node.kind = 151; node.type = parseTypeAnnotation(); if (token() === 58) { node.initializer = parseInitializer(); @@ -13577,7 +13678,7 @@ var ts; if (token() === 19 || token() === 27) { return true; } - var idToken; + var idToken = false; while (ts.isModifierKind(token())) { idToken = true; nextToken(); @@ -13601,10 +13702,10 @@ var ts; } function parseTypeMember() { if (token() === 19 || token() === 27) { - return parseSignatureMember(157); + return parseSignatureMember(158); } if (token() === 94 && lookAhead(nextTokenIsOpenParenOrLessThan)) { - return parseSignatureMember(158); + return parseSignatureMember(159); } var node = createNodeWithJSDoc(0); node.modifiers = parseModifiers(); @@ -13630,7 +13731,7 @@ var ts; return false; } function parseTypeLiteral() { - var node = createNode(165); + var node = createNode(166); node.members = parseObjectTypeMembers(); return finishNode(node); } @@ -13656,14 +13757,14 @@ var ts; return token() === 21 && nextTokenIsIdentifier() && nextToken() === 92; } function parseMappedTypeParameter() { - var node = createNode(147); + var node = createNode(148); node.name = parseIdentifier(); parseExpected(92); node.constraint = parseType(); return finishNode(node); } function parseMappedType() { - var node = createNode(176); + var node = createNode(177); parseExpected(17); if (token() === 132 || token() === 37 || token() === 38) { node.readonlyToken = parseTokenNode(); @@ -13686,12 +13787,12 @@ var ts; return finishNode(node); } function parseTupleType() { - var node = createNode(167); + var node = createNode(168); node.elementTypes = parseBracketedList(20, parseType, 21, 22); return finishNode(node); } function parseParenthesizedType() { - var node = createNode(172); + var node = createNode(173); parseExpected(19); node.type = parseType(); if (!node.type) { @@ -13702,7 +13803,7 @@ var ts; } function parseFunctionOrConstructorType(kind) { var node = createNodeWithJSDoc(kind); - if (kind === 163) { + if (kind === 164) { parseExpected(94); } if (!fillSignature(36, 4 | (sourceFile.languageVariant === 1 ? 8 : 0), node)) { @@ -13718,10 +13819,10 @@ var ts; return token() === 23 ? undefined : node; } function parseLiteralTypeNode(negative) { - var node = createNode(177); + var node = createNode(178); var unaryMinusExpression; if (negative) { - unaryMinusExpression = createNode(197); + unaryMinusExpression = createNode(198); unaryMinusExpression.operator = 38; nextToken(); } @@ -13742,7 +13843,7 @@ var ts; } function parseImportType() { sourceFile.flags |= 524288; - var node = createNode(178); + var node = createNode(179); if (parseOptional(103)) { node.isTypeOf = true; } @@ -13762,6 +13863,7 @@ var ts; function parseNonArrayType() { switch (token()) { case 119: + case 142: case 137: case 134: case 138: @@ -13817,6 +13919,7 @@ var ts; function isStartOfType(inStartOfParameter) { switch (token()) { case 119: + case 142: case 137: case 134: case 122: @@ -13863,25 +13966,25 @@ var ts; while (!scanner.hasPrecedingLineBreak()) { switch (token()) { case 51: - type = createJSDocPostfixType(281, type); + type = createJSDocPostfixType(282, type); break; case 55: if (!(contextFlags & 2097152) && lookAhead(nextTokenIsStartOfType)) { return type; } - type = createJSDocPostfixType(280, type); + type = createJSDocPostfixType(281, type); break; case 21: parseExpected(21); if (isStartOfType()) { - var node = createNode(175, type.pos); + var node = createNode(176, type.pos); node.objectType = type; node.indexType = parseType(); parseExpected(22); type = finishNode(node); } else { - var node = createNode(166, type.pos); + var node = createNode(167, type.pos); node.elementType = type; parseExpected(22); type = finishNode(node); @@ -13900,16 +14003,16 @@ var ts; return finishNode(postfix); } function parseTypeOperator(operator) { - var node = createNode(174); + var node = createNode(175); parseExpected(operator); node.operator = operator; node.type = parseTypeOperatorOrHigher(); return finishNode(node); } function parseInferType() { - var node = createNode(171); + var node = createNode(172); parseExpected(126); - var typeParameter = createNode(147); + var typeParameter = createNode(148); typeParameter.name = parseIdentifier(); node.typeParameter = finishNode(typeParameter); return finishNode(node); @@ -13940,10 +14043,10 @@ var ts; return type; } function parseIntersectionTypeOrHigher() { - return parseUnionOrIntersectionType(169, parseTypeOperatorOrHigher, 48); + return parseUnionOrIntersectionType(170, parseTypeOperatorOrHigher, 48); } function parseUnionTypeOrHigher() { - return parseUnionOrIntersectionType(168, parseIntersectionTypeOrHigher, 49); + return parseUnionOrIntersectionType(169, parseIntersectionTypeOrHigher, 49); } function isStartOfFunctionType() { if (token() === 27) { @@ -13989,7 +14092,7 @@ var ts; var typePredicateVariable = isIdentifier() && tryParse(parseTypePredicatePrefix); var type = parseType(); if (typePredicateVariable) { - var node = createNode(160, typePredicateVariable.pos); + var node = createNode(161, typePredicateVariable.pos); node.parameterName = typePredicateVariable; node.type = type; return finishNode(node); @@ -14010,14 +14113,14 @@ var ts; } function parseTypeWorker(noConditionalTypes) { if (isStartOfFunctionType()) { - return parseFunctionOrConstructorType(162); + return parseFunctionOrConstructorType(163); } if (token() === 94) { - return parseFunctionOrConstructorType(163); + return parseFunctionOrConstructorType(164); } var type = parseUnionTypeOrHigher(); if (!noConditionalTypes && !scanner.hasPrecedingLineBreak() && parseOptional(85)) { - var node = createNode(170, type.pos); + var node = createNode(171, type.pos); node.checkType = type; node.extendsType = parseTypeWorker(true); parseExpected(55); @@ -14139,7 +14242,7 @@ var ts; return !scanner.hasPrecedingLineBreak() && isIdentifier(); } function parseYieldExpression() { - var node = createNode(202); + var node = createNode(203); nextToken(); if (!scanner.hasPrecedingLineBreak() && (token() === 39 || isStartOfExpression())) { @@ -14155,13 +14258,13 @@ var ts; ts.Debug.assert(token() === 36, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); var node; if (asyncModifier) { - node = createNode(192, asyncModifier.pos); + node = createNode(193, asyncModifier.pos); node.modifiers = asyncModifier; } else { - node = createNode(192, identifier.pos); + node = createNode(193, identifier.pos); } - var parameter = createNode(148, identifier.pos); + var parameter = createNode(149, identifier.pos); parameter.name = identifier; finishNode(parameter); node.parameters = createNodeArray([parameter], parameter.pos, parameter.end); @@ -14307,7 +14410,7 @@ var ts; return 0; } function parseParenthesizedArrowFunctionExpressionHead(allowAmbiguity) { - var node = createNodeWithJSDoc(192); + var node = createNodeWithJSDoc(193); node.modifiers = parseModifiersForArrowFunction(); var isAsync = ts.hasModifier(node, 256) ? 2 : 0; if (!fillSignature(56, isAsync | (allowAmbiguity ? 0 : 8), node)) { @@ -14341,7 +14444,7 @@ var ts; if (!questionToken) { return leftOperand; } - var node = createNode(200, leftOperand.pos); + var node = createNode(201, leftOperand.pos); node.condition = leftOperand; node.questionToken = questionToken; node.whenTrue = doOutsideOfContext(disallowInAndDecoratorContext, parseAssignmentExpressionOrHigher); @@ -14356,7 +14459,7 @@ var ts; return parseBinaryExpressionRest(precedence, leftOperand); } function isInOrOfKeyword(t) { - return t === 92 || t === 144; + return t === 92 || t === 145; } function parseBinaryExpressionRest(precedence, leftOperand) { while (true) { @@ -14393,43 +14496,43 @@ var ts; return ts.getBinaryOperatorPrecedence(token()) > 0; } function makeBinaryExpression(left, operatorToken, right) { - var node = createNode(199, left.pos); + var node = createNode(200, left.pos); node.left = left; node.operatorToken = operatorToken; node.right = right; return finishNode(node); } function makeAsExpression(left, right) { - var node = createNode(207, left.pos); + var node = createNode(208, left.pos); node.expression = left; node.type = right; return finishNode(node); } function parsePrefixUnaryExpression() { - var node = createNode(197); + var node = createNode(198); node.operator = token(); nextToken(); node.operand = parseSimpleUnaryExpression(); return finishNode(node); } function parseDeleteExpression() { - var node = createNode(193); - nextToken(); - node.expression = parseSimpleUnaryExpression(); - return finishNode(node); - } - function parseTypeOfExpression() { var node = createNode(194); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); } - function parseVoidExpression() { + function parseTypeOfExpression() { var node = createNode(195); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); } + function parseVoidExpression() { + var node = createNode(196); + nextToken(); + node.expression = parseSimpleUnaryExpression(); + return finishNode(node); + } function isAwaitExpression() { if (token() === 121) { if (inAwaitContext()) { @@ -14440,7 +14543,7 @@ var ts; return false; } function parseAwaitExpression() { - var node = createNode(196); + var node = createNode(197); nextToken(); node.expression = parseSimpleUnaryExpression(); return finishNode(node); @@ -14457,7 +14560,7 @@ var ts; if (token() === 40) { var pos = ts.skipTrivia(sourceText, simpleUnaryExpression.pos); var end = simpleUnaryExpression.end; - if (simpleUnaryExpression.kind === 189) { + if (simpleUnaryExpression.kind === 190) { parseErrorAt(pos, end, ts.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses); } else { @@ -14510,7 +14613,7 @@ var ts; } function parseUpdateExpression() { if (token() === 43 || token() === 44) { - var node = createNode(197); + var node = createNode(198); node.operator = token(); nextToken(); node.operand = parseLeftHandSideExpressionOrHigher(); @@ -14522,7 +14625,7 @@ var ts; var expression = parseLeftHandSideExpressionOrHigher(); ts.Debug.assert(ts.isLeftHandSideExpression(expression)); if ((token() === 43 || token() === 44) && !scanner.hasPrecedingLineBreak()) { - var node = createNode(198, expression.pos); + var node = createNode(199, expression.pos); node.operand = expression; node.operator = token(); nextToken(); @@ -14541,7 +14644,7 @@ var ts; var fullStart = scanner.getStartPos(); nextToken(); nextToken(); - var node = createNode(209, fullStart); + var node = createNode(210, fullStart); node.keywordToken = 91; node.name = parseIdentifierName(); expression = finishNode(node); @@ -14565,30 +14668,17 @@ var ts; if (token() === 19 || token() === 23 || token() === 21) { return expression; } - var node = createNode(184, expression.pos); + var node = createNode(185, expression.pos); node.expression = expression; parseExpectedToken(23, ts.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access); node.name = parseRightSideOfDot(true); return finishNode(node); } - function tagNamesAreEquivalent(lhs, rhs) { - if (lhs.kind !== rhs.kind) { - return false; - } - if (lhs.kind === 71) { - return lhs.escapedText === rhs.escapedText; - } - if (lhs.kind === 99) { - return true; - } - return lhs.name.escapedText === rhs.name.escapedText && - tagNamesAreEquivalent(lhs.expression, rhs.expression); - } function parseJsxElementOrSelfClosingElementOrFragment(inExpressionContext) { var opening = parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext); var result; - if (opening.kind === 256) { - var node = createNode(254, opening.pos); + if (opening.kind === 257) { + var node = createNode(255, opening.pos); node.openingElement = opening; node.children = parseJsxChildren(node.openingElement); node.closingElement = parseJsxClosingElement(inExpressionContext); @@ -14597,22 +14687,22 @@ var ts; } result = finishNode(node); } - else if (opening.kind === 259) { - var node = createNode(258, opening.pos); + else if (opening.kind === 260) { + var node = createNode(259, opening.pos); node.openingFragment = opening; node.children = parseJsxChildren(node.openingFragment); node.closingFragment = parseJsxClosingFragment(inExpressionContext); result = finishNode(node); } else { - ts.Debug.assert(opening.kind === 255); + ts.Debug.assert(opening.kind === 256); result = opening; } if (inExpressionContext && token() === 27) { var invalidElement = tryParse(function () { return parseJsxElementOrSelfClosingElementOrFragment(true); }); if (invalidElement) { parseErrorAtCurrentToken(ts.Diagnostics.JSX_expressions_must_have_one_parent_element); - var badNode = createNode(199, result.pos); + var badNode = createNode(200, result.pos); badNode.end = invalidElement.end; badNode.left = result; badNode.right = invalidElement; @@ -14668,7 +14758,7 @@ var ts; return createNodeArray(list, listPos); } function parseJsxAttributes() { - var jsxAttributes = createNode(262); + var jsxAttributes = createNode(263); jsxAttributes.properties = parseList(13, parseJsxAttribute); return finishNode(jsxAttributes); } @@ -14676,7 +14766,7 @@ var ts; var fullStart = scanner.getStartPos(); parseExpected(27); if (token() === 29) { - var node_1 = createNode(259, fullStart); + var node_1 = createNode(260, fullStart); scanJsxText(); return finishNode(node_1); } @@ -14685,7 +14775,7 @@ var ts; var attributes = parseJsxAttributes(); var node; if (token() === 29) { - node = createNode(256, fullStart); + node = createNode(257, fullStart); scanJsxText(); } else { @@ -14697,7 +14787,7 @@ var ts; parseExpected(29, undefined, false); scanJsxText(); } - node = createNode(255, fullStart); + node = createNode(256, fullStart); } node.tagName = tagName; node.typeArguments = typeArguments; @@ -14709,7 +14799,7 @@ var ts; var expression = token() === 99 ? parseTokenNode() : parseIdentifierName(); while (parseOptional(23)) { - var propertyAccess = createNode(184, expression.pos); + var propertyAccess = createNode(185, expression.pos); propertyAccess.expression = expression; propertyAccess.name = parseRightSideOfDot(true); expression = finishNode(propertyAccess); @@ -14717,7 +14807,7 @@ var ts; return expression; } function parseJsxExpression(inExpressionContext) { - var node = createNode(264); + var node = createNode(265); if (!parseExpected(17)) { return undefined; } @@ -14739,7 +14829,7 @@ var ts; return parseJsxSpreadAttribute(); } scanJsxIdentifier(); - var node = createNode(261); + var node = createNode(262); node.name = parseIdentifierName(); if (token() === 58) { switch (scanJsxAttributeValue()) { @@ -14754,7 +14844,7 @@ var ts; return finishNode(node); } function parseJsxSpreadAttribute() { - var node = createNode(263); + var node = createNode(264); parseExpected(17); parseExpected(24); node.expression = parseExpression(); @@ -14762,7 +14852,7 @@ var ts; return finishNode(node); } function parseJsxClosingElement(inExpressionContext) { - var node = createNode(257); + var node = createNode(258); parseExpected(28); node.tagName = parseJsxElementName(); if (inExpressionContext) { @@ -14775,7 +14865,7 @@ var ts; return finishNode(node); } function parseJsxClosingFragment(inExpressionContext) { - var node = createNode(260); + var node = createNode(261); parseExpected(28); if (ts.tokenIsIdentifierOrKeyword(token())) { parseErrorAtRange(parseJsxElementName(), ts.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment); @@ -14790,7 +14880,7 @@ var ts; return finishNode(node); } function parseTypeAssertion() { - var node = createNode(189); + var node = createNode(190); parseExpected(27); node.type = parseType(); parseExpected(29); @@ -14801,7 +14891,7 @@ var ts; while (true) { var dotToken = parseOptionalToken(23); if (dotToken) { - var propertyAccess = createNode(184, expression.pos); + var propertyAccess = createNode(185, expression.pos); propertyAccess.expression = expression; propertyAccess.name = parseRightSideOfDot(true); expression = finishNode(propertyAccess); @@ -14809,13 +14899,13 @@ var ts; } if (token() === 51 && !scanner.hasPrecedingLineBreak()) { nextToken(); - var nonNullExpression = createNode(208, expression.pos); + var nonNullExpression = createNode(209, expression.pos); nonNullExpression.expression = expression; expression = finishNode(nonNullExpression); continue; } if (!inDecoratorContext() && parseOptional(21)) { - var indexedAccess = createNode(185, expression.pos); + var indexedAccess = createNode(186, expression.pos); indexedAccess.expression = expression; if (token() === 22) { indexedAccess.argumentExpression = createMissingNode(71, true, ts.Diagnostics.An_element_access_expression_should_take_an_argument); @@ -14842,7 +14932,7 @@ var ts; return token() === 13 || token() === 14; } function parseTaggedTemplateRest(tag, typeArguments) { - var tagExpression = createNode(188, tag.pos); + var tagExpression = createNode(189, tag.pos); tagExpression.tag = tag; tagExpression.typeArguments = typeArguments; tagExpression.template = token() === 13 @@ -14862,7 +14952,7 @@ var ts; expression = parseTaggedTemplateRest(expression, typeArguments); continue; } - var callExpr = createNode(186, expression.pos); + var callExpr = createNode(187, expression.pos); callExpr.expression = expression; callExpr.typeArguments = typeArguments; callExpr.arguments = parseArgumentList(); @@ -14870,7 +14960,7 @@ var ts; continue; } else if (token() === 19) { - var callExpr = createNode(186, expression.pos); + var callExpr = createNode(187, expression.pos); callExpr.expression = expression; callExpr.arguments = parseArgumentList(); expression = finishNode(callExpr); @@ -14967,28 +15057,28 @@ var ts; return parseIdentifier(ts.Diagnostics.Expression_expected); } function parseParenthesizedExpression() { - var node = createNodeWithJSDoc(190); + var node = createNodeWithJSDoc(191); parseExpected(19); node.expression = allowInAnd(parseExpression); parseExpected(20); return finishNode(node); } function parseSpreadElement() { - var node = createNode(203); + var node = createNode(204); parseExpected(24); node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } function parseArgumentOrArrayLiteralElement() { return token() === 24 ? parseSpreadElement() : - token() === 26 ? createNode(205) : + token() === 26 ? createNode(206) : parseAssignmentExpressionOrHigher(); } function parseArgumentExpression() { return doOutsideOfContext(disallowInAndDecoratorContext, parseArgumentOrArrayLiteralElement); } function parseArrayLiteralExpression() { - var node = createNode(182); + var node = createNode(183); parseExpected(21); if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -15000,17 +15090,17 @@ var ts; function parseObjectLiteralElement() { var node = createNodeWithJSDoc(0); if (parseOptionalToken(24)) { - node.kind = 271; + node.kind = 272; node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } node.decorators = parseDecorators(); node.modifiers = parseModifiers(); if (parseContextualModifier(125)) { - return parseAccessorDeclaration(node, 155); + return parseAccessorDeclaration(node, 156); } if (parseContextualModifier(136)) { - return parseAccessorDeclaration(node, 156); + return parseAccessorDeclaration(node, 157); } var asteriskToken = parseOptionalToken(39); var tokenIsIdentifier = isIdentifier(); @@ -15021,7 +15111,7 @@ var ts; } var isShorthandPropertyAssignment = tokenIsIdentifier && (token() === 26 || token() === 18 || token() === 58); if (isShorthandPropertyAssignment) { - node.kind = 270; + node.kind = 271; var equalsToken = parseOptionalToken(58); if (equalsToken) { node.equalsToken = equalsToken; @@ -15029,14 +15119,14 @@ var ts; } } else { - node.kind = 269; + node.kind = 270; parseExpected(56); node.initializer = allowInAnd(parseAssignmentExpressionOrHigher); } return finishNode(node); } function parseObjectLiteralExpression() { - var node = createNode(183); + var node = createNode(184); parseExpected(17); if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -15050,7 +15140,7 @@ var ts; if (saveDecoratorContext) { setDecoratorContext(false); } - var node = createNodeWithJSDoc(191); + var node = createNodeWithJSDoc(192); node.modifiers = parseModifiers(); parseExpected(89); node.asteriskToken = parseOptionalToken(39); @@ -15075,7 +15165,7 @@ var ts; var fullStart = scanner.getStartPos(); parseExpected(94); if (parseOptional(23)) { - var node_2 = createNode(209, fullStart); + var node_2 = createNode(210, fullStart); node_2.keywordToken = 94; node_2.name = parseIdentifierName(); return finishNode(node_2); @@ -15092,7 +15182,7 @@ var ts; } break; } - var node = createNode(187, fullStart); + var node = createNode(188, fullStart); node.expression = expression; node.typeArguments = typeArguments; if (node.typeArguments || token() === 19) { @@ -15101,7 +15191,7 @@ var ts; return finishNode(node); } function parseBlock(ignoreMissingOpenBrace, diagnosticMessage) { - var node = createNode(212); + var node = createNode(213); if (parseExpected(17, diagnosticMessage) || ignoreMissingOpenBrace) { if (scanner.hasPrecedingLineBreak()) { node.multiLine = true; @@ -15132,12 +15222,12 @@ var ts; return block; } function parseEmptyStatement() { - var node = createNode(214); + var node = createNode(215); parseExpected(25); return finishNode(node); } function parseIfStatement() { - var node = createNode(216); + var node = createNode(217); parseExpected(90); parseExpected(19); node.expression = allowInAnd(parseExpression); @@ -15147,7 +15237,7 @@ var ts; return finishNode(node); } function parseDoStatement() { - var node = createNode(217); + var node = createNode(218); parseExpected(81); node.statement = parseStatement(); parseExpected(106); @@ -15158,7 +15248,7 @@ var ts; return finishNode(node); } function parseWhileStatement() { - var node = createNode(218); + var node = createNode(219); parseExpected(106); parseExpected(19); node.expression = allowInAnd(parseExpression); @@ -15181,8 +15271,8 @@ var ts; } } var forOrForInOrForOfStatement; - if (awaitToken ? parseExpected(144) : parseOptional(144)) { - var forOfStatement = createNode(221, pos); + if (awaitToken ? parseExpected(145) : parseOptional(145)) { + var forOfStatement = createNode(222, pos); forOfStatement.awaitModifier = awaitToken; forOfStatement.initializer = initializer; forOfStatement.expression = allowInAnd(parseAssignmentExpressionOrHigher); @@ -15190,14 +15280,14 @@ var ts; forOrForInOrForOfStatement = forOfStatement; } else if (parseOptional(92)) { - var forInStatement = createNode(220, pos); + var forInStatement = createNode(221, pos); forInStatement.initializer = initializer; forInStatement.expression = allowInAnd(parseExpression); parseExpected(20); forOrForInOrForOfStatement = forInStatement; } else { - var forStatement = createNode(219, pos); + var forStatement = createNode(220, pos); forStatement.initializer = initializer; parseExpected(25); if (token() !== 25 && token() !== 20) { @@ -15215,7 +15305,7 @@ var ts; } function parseBreakOrContinueStatement(kind) { var node = createNode(kind); - parseExpected(kind === 223 ? 72 : 77); + parseExpected(kind === 224 ? 72 : 77); if (!canParseSemicolon()) { node.label = parseIdentifier(); } @@ -15223,7 +15313,7 @@ var ts; return finishNode(node); } function parseReturnStatement() { - var node = createNode(224); + var node = createNode(225); parseExpected(96); if (!canParseSemicolon()) { node.expression = allowInAnd(parseExpression); @@ -15232,7 +15322,7 @@ var ts; return finishNode(node); } function parseWithStatement() { - var node = createNode(225); + var node = createNode(226); parseExpected(107); parseExpected(19); node.expression = allowInAnd(parseExpression); @@ -15241,7 +15331,7 @@ var ts; return finishNode(node); } function parseCaseClause() { - var node = createNode(265); + var node = createNode(266); parseExpected(73); node.expression = allowInAnd(parseExpression); parseExpected(56); @@ -15249,7 +15339,7 @@ var ts; return finishNode(node); } function parseDefaultClause() { - var node = createNode(266); + var node = createNode(267); parseExpected(79); parseExpected(56); node.statements = parseList(3, parseStatement); @@ -15259,12 +15349,12 @@ var ts; return token() === 73 ? parseCaseClause() : parseDefaultClause(); } function parseSwitchStatement() { - var node = createNode(226); + var node = createNode(227); parseExpected(98); parseExpected(19); node.expression = allowInAnd(parseExpression); parseExpected(20); - var caseBlock = createNode(240); + var caseBlock = createNode(241); parseExpected(17); caseBlock.clauses = parseList(2, parseCaseOrDefaultClause); parseExpected(18); @@ -15272,14 +15362,14 @@ var ts; return finishNode(node); } function parseThrowStatement() { - var node = createNode(228); + var node = createNode(229); parseExpected(100); node.expression = scanner.hasPrecedingLineBreak() ? undefined : allowInAnd(parseExpression); parseSemicolon(); return finishNode(node); } function parseTryStatement() { - var node = createNode(229); + var node = createNode(230); parseExpected(102); node.tryBlock = parseBlock(false); node.catchClause = token() === 74 ? parseCatchClause() : undefined; @@ -15290,7 +15380,7 @@ var ts; return finishNode(node); } function parseCatchClause() { - var result = createNode(268); + var result = createNode(269); parseExpected(74); if (parseOptional(19)) { result.variableDeclaration = parseVariableDeclaration(); @@ -15303,7 +15393,7 @@ var ts; return finishNode(result); } function parseDebuggerStatement() { - var node = createNode(230); + var node = createNode(231); parseExpected(78); parseSemicolon(); return finishNode(node); @@ -15312,12 +15402,12 @@ var ts; var node = createNodeWithJSDoc(0); var expression = allowInAnd(parseExpression); if (expression.kind === 71 && parseOptional(56)) { - node.kind = 227; + node.kind = 228; node.label = expression; node.statement = parseStatement(); } else { - node.kind = 215; + node.kind = 216; node.expression = expression; parseSemicolon(); } @@ -15367,7 +15457,7 @@ var ts; return false; } continue; - case 143: + case 144: nextToken(); return token() === 17 || token() === 71 || token() === 84; case 91: @@ -15429,7 +15519,7 @@ var ts; case 129: case 130: case 139: - case 143: + case 144: return true; case 114: case 112: @@ -15455,16 +15545,16 @@ var ts; case 17: return parseBlock(false); case 104: - return parseVariableStatement(createNodeWithJSDoc(231)); + return parseVariableStatement(createNodeWithJSDoc(232)); case 110: if (isLetDeclaration()) { - return parseVariableStatement(createNodeWithJSDoc(231)); + return parseVariableStatement(createNodeWithJSDoc(232)); } break; case 89: - return parseFunctionDeclaration(createNodeWithJSDoc(233)); + return parseFunctionDeclaration(createNodeWithJSDoc(234)); case 75: - return parseClassDeclaration(createNodeWithJSDoc(234)); + return parseClassDeclaration(createNodeWithJSDoc(235)); case 90: return parseIfStatement(); case 81: @@ -15474,9 +15564,9 @@ var ts; case 88: return parseForOrForInOrForOfStatement(); case 77: - return parseBreakOrContinueStatement(222); - case 72: return parseBreakOrContinueStatement(223); + case 72: + return parseBreakOrContinueStatement(224); case 96: return parseReturnStatement(); case 107: @@ -15509,7 +15599,7 @@ var ts; case 117: case 115: case 132: - case 143: + case 144: if (isStartOfDeclaration()) { return parseDeclaration(); } @@ -15551,7 +15641,7 @@ var ts; return parseTypeAliasDeclaration(node); case 83: return parseEnumDeclaration(node); - case 143: + case 144: case 129: case 130: return parseModuleDeclaration(node); @@ -15570,12 +15660,13 @@ var ts; } default: if (node.decorators || node.modifiers) { - var missing = createMissingNode(252, true, ts.Diagnostics.Declaration_expected); + var missing = createMissingNode(253, true, ts.Diagnostics.Declaration_expected); missing.pos = node.pos; missing.decorators = node.decorators; missing.modifiers = node.modifiers; return finishNode(missing); } + return undefined; } } function nextTokenIsIdentifierOrStringLiteralOnSameLine() { @@ -15591,16 +15682,16 @@ var ts; } function parseArrayBindingElement() { if (token() === 26) { - return createNode(205); + return createNode(206); } - var node = createNode(181); + var node = createNode(182); node.dotDotDotToken = parseOptionalToken(24); node.name = parseIdentifierOrPattern(); node.initializer = parseInitializer(); return finishNode(node); } function parseObjectBindingElement() { - var node = createNode(181); + var node = createNode(182); node.dotDotDotToken = parseOptionalToken(24); var tokenIsIdentifier = isIdentifier(); var propertyName = parsePropertyName(); @@ -15616,14 +15707,14 @@ var ts; return finishNode(node); } function parseObjectBindingPattern() { - var node = createNode(179); + var node = createNode(180); parseExpected(17); node.elements = parseDelimitedList(9, parseObjectBindingElement); parseExpected(18); return finishNode(node); } function parseArrayBindingPattern() { - var node = createNode(180); + var node = createNode(181); parseExpected(21); node.elements = parseDelimitedList(10, parseArrayBindingElement); parseExpected(22); @@ -15645,7 +15736,7 @@ var ts; return parseVariableDeclaration(true); } function parseVariableDeclaration(allowExclamation) { - var node = createNode(231); + var node = createNode(232); node.name = parseIdentifierOrPattern(); if (allowExclamation && node.name.kind === 71 && token() === 51 && !scanner.hasPrecedingLineBreak()) { @@ -15658,7 +15749,7 @@ var ts; return finishNode(node); } function parseVariableDeclarationList(inForStatementInitializer) { - var node = createNode(232); + var node = createNode(233); switch (token()) { case 104: break; @@ -15672,7 +15763,7 @@ var ts; ts.Debug.fail(); } nextToken(); - if (token() === 144 && lookAhead(canFollowContextualOfKeyword)) { + if (token() === 145 && lookAhead(canFollowContextualOfKeyword)) { node.declarations = createMissingList(); } else { @@ -15687,13 +15778,13 @@ var ts; return nextTokenIsIdentifier() && nextToken() === 20; } function parseVariableStatement(node) { - node.kind = 213; + node.kind = 214; node.declarationList = parseVariableDeclarationList(false); parseSemicolon(); return finishNode(node); } function parseFunctionDeclaration(node) { - node.kind = 233; + node.kind = 234; parseExpected(89); node.asteriskToken = parseOptionalToken(39); node.name = ts.hasModifier(node, 512) ? parseOptionalIdentifier() : parseIdentifier(); @@ -15704,14 +15795,14 @@ var ts; return finishNode(node); } function parseConstructorDeclaration(node) { - node.kind = 154; + node.kind = 155; parseExpected(123); fillSignature(56, 0, node); node.body = parseFunctionBlockOrSemicolon(0, ts.Diagnostics.or_expected); return finishNode(node); } function parseMethodDeclaration(node, asteriskToken, diagnosticMessage) { - node.kind = 153; + node.kind = 154; node.asteriskToken = asteriskToken; var isGenerator = asteriskToken ? 1 : 0; var isAsync = ts.hasModifier(node, 256) ? 2 : 0; @@ -15720,7 +15811,7 @@ var ts; return finishNode(node); } function parsePropertyDeclaration(node) { - node.kind = 151; + node.kind = 152; if (!node.questionToken && token() === 51 && !scanner.hasPrecedingLineBreak()) { node.exclamationToken = parseTokenNode(); } @@ -15795,7 +15886,7 @@ var ts; if (!parseOptional(57)) { break; } - var decorator = createNode(149, decoratorStart); + var decorator = createNode(150, decoratorStart); decorator.expression = doInDecoratorContext(parseLeftHandSideExpressionOrHigher); finishNode(decorator); (list || (list = [])).push(decorator); @@ -15836,7 +15927,7 @@ var ts; } function parseClassElement() { if (token() === 25) { - var result = createNode(211); + var result = createNode(212); nextToken(); return finishNode(result); } @@ -15844,10 +15935,10 @@ var ts; node.decorators = parseDecorators(); node.modifiers = parseModifiers(true); if (parseContextualModifier(125)) { - return parseAccessorDeclaration(node, 155); + return parseAccessorDeclaration(node, 156); } if (parseContextualModifier(136)) { - return parseAccessorDeclaration(node, 156); + return parseAccessorDeclaration(node, 157); } if (token() === 123) { return parseConstructorDeclaration(node); @@ -15866,13 +15957,13 @@ var ts; node.name = createMissingNode(71, true, ts.Diagnostics.Declaration_expected); return parsePropertyDeclaration(node); } - ts.Debug.fail("Should not have attempted to parse class member declaration."); + return ts.Debug.fail("Should not have attempted to parse class member declaration."); } function parseClassExpression() { - return parseClassDeclarationOrExpression(createNodeWithJSDoc(0), 204); + return parseClassDeclarationOrExpression(createNodeWithJSDoc(0), 205); } function parseClassDeclaration(node) { - return parseClassDeclarationOrExpression(node, 234); + return parseClassDeclarationOrExpression(node, 235); } function parseClassDeclarationOrExpression(node, kind) { node.kind = kind; @@ -15905,17 +15996,15 @@ var ts; } function parseHeritageClause() { var tok = token(); - if (tok === 85 || tok === 108) { - var node = createNode(267); - node.token = tok; - nextToken(); - node.types = parseDelimitedList(7, parseExpressionWithTypeArguments); - return finishNode(node); - } - return undefined; + ts.Debug.assert(tok === 85 || tok === 108); + var node = createNode(268); + node.token = tok; + nextToken(); + node.types = parseDelimitedList(7, parseExpressionWithTypeArguments); + return finishNode(node); } function parseExpressionWithTypeArguments() { - var node = createNode(206); + var node = createNode(207); node.expression = parseLeftHandSideExpressionOrHigher(); node.typeArguments = tryParseTypeArguments(); return finishNode(node); @@ -15932,7 +16021,7 @@ var ts; return parseList(5, parseClassElement); } function parseInterfaceDeclaration(node) { - node.kind = 235; + node.kind = 236; parseExpected(109); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); @@ -15941,7 +16030,7 @@ var ts; return finishNode(node); } function parseTypeAliasDeclaration(node) { - node.kind = 236; + node.kind = 237; parseExpected(139); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); @@ -15951,13 +16040,13 @@ var ts; return finishNode(node); } function parseEnumMember() { - var node = createNodeWithJSDoc(272); + var node = createNodeWithJSDoc(273); node.name = parsePropertyName(); node.initializer = allowInAnd(parseInitializer); return finishNode(node); } function parseEnumDeclaration(node) { - node.kind = 237; + node.kind = 238; parseExpected(83); node.name = parseIdentifier(); if (parseExpected(17)) { @@ -15970,7 +16059,7 @@ var ts; return finishNode(node); } function parseModuleBlock() { - var node = createNode(239); + var node = createNode(240); if (parseExpected(17)) { node.statements = parseList(1, parseStatement); parseExpected(18); @@ -15981,7 +16070,7 @@ var ts; return finishNode(node); } function parseModuleOrNamespaceDeclaration(node, flags) { - node.kind = 238; + node.kind = 239; var namespaceFlag = flags & 16; node.flags |= flags; node.name = parseIdentifier(); @@ -15991,8 +16080,8 @@ var ts; return finishNode(node); } function parseAmbientExternalModuleDeclaration(node) { - node.kind = 238; - if (token() === 143) { + node.kind = 239; + if (token() === 144) { node.name = parseIdentifier(); node.flags |= 512; } @@ -16010,7 +16099,7 @@ var ts; } function parseModuleDeclaration(node) { var flags = 0; - if (token() === 143) { + if (token() === 144) { return parseAmbientExternalModuleDeclaration(node); } else if (parseOptional(130)) { @@ -16035,7 +16124,7 @@ var ts; return nextToken() === 41; } function parseNamespaceExportDeclaration(node) { - node.kind = 241; + node.kind = 242; parseExpected(118); parseExpected(130); node.name = parseIdentifier(); @@ -16048,23 +16137,23 @@ var ts; var identifier; if (isIdentifier()) { identifier = parseIdentifier(); - if (token() !== 26 && token() !== 142) { + if (token() !== 26 && token() !== 143) { return parseImportEqualsDeclaration(node, identifier); } } - node.kind = 243; + node.kind = 244; if (identifier || token() === 39 || token() === 17) { node.importClause = parseImportClause(identifier, afterImportPos); - parseExpected(142); + parseExpected(143); } node.moduleSpecifier = parseModuleSpecifier(); parseSemicolon(); return finishNode(node); } function parseImportEqualsDeclaration(node, identifier) { - node.kind = 242; + node.kind = 243; node.name = identifier; parseExpected(58); node.moduleReference = parseModuleReference(); @@ -16072,13 +16161,13 @@ var ts; return finishNode(node); } function parseImportClause(identifier, fullStart) { - var importClause = createNode(244, fullStart); + var importClause = createNode(245, fullStart); if (identifier) { importClause.name = identifier; } if (!importClause.name || parseOptional(26)) { - importClause.namedBindings = token() === 39 ? parseNamespaceImport() : parseNamedImportsOrExports(246); + importClause.namedBindings = token() === 39 ? parseNamespaceImport() : parseNamedImportsOrExports(247); } return finishNode(importClause); } @@ -16088,7 +16177,7 @@ var ts; : parseEntityName(false); } function parseExternalModuleReference() { - var node = createNode(253); + var node = createNode(254); parseExpected(133); parseExpected(19); node.expression = parseModuleSpecifier(); @@ -16106,7 +16195,7 @@ var ts; } } function parseNamespaceImport() { - var namespaceImport = createNode(245); + var namespaceImport = createNode(246); parseExpected(39); parseExpected(118); namespaceImport.name = parseIdentifier(); @@ -16114,14 +16203,14 @@ var ts; } function parseNamedImportsOrExports(kind) { var node = createNode(kind); - node.elements = parseBracketedList(22, kind === 246 ? parseImportSpecifier : parseExportSpecifier, 17, 18); + node.elements = parseBracketedList(22, kind === 247 ? parseImportSpecifier : parseExportSpecifier, 17, 18); return finishNode(node); } function parseExportSpecifier() { - return parseImportOrExportSpecifier(251); + return parseImportOrExportSpecifier(252); } function parseImportSpecifier() { - return parseImportOrExportSpecifier(247); + return parseImportOrExportSpecifier(248); } function parseImportOrExportSpecifier(kind) { var node = createNode(kind); @@ -16140,21 +16229,21 @@ var ts; else { node.name = identifierName; } - if (kind === 247 && checkIdentifierIsKeyword) { + if (kind === 248 && checkIdentifierIsKeyword) { parseErrorAt(checkIdentifierStart, checkIdentifierEnd, ts.Diagnostics.Identifier_expected); } return finishNode(node); } function parseExportDeclaration(node) { - node.kind = 249; + node.kind = 250; if (parseOptional(39)) { - parseExpected(142); + parseExpected(143); node.moduleSpecifier = parseModuleSpecifier(); } else { - node.exportClause = parseNamedImportsOrExports(250); - if (token() === 142 || (token() === 9 && !scanner.hasPrecedingLineBreak())) { - parseExpected(142); + node.exportClause = parseNamedImportsOrExports(251); + if (token() === 143 || (token() === 9 && !scanner.hasPrecedingLineBreak())) { + parseExpected(143); node.moduleSpecifier = parseModuleSpecifier(); } } @@ -16162,7 +16251,7 @@ var ts; return finishNode(node); } function parseExportAssignment(node) { - node.kind = 248; + node.kind = 249; if (parseOptional(58)) { node.isExportEquals = true; } @@ -16180,10 +16269,10 @@ var ts; } function isAnExternalModuleIndicatorNode(node) { return ts.hasModifier(node, 1) - || node.kind === 242 && node.moduleReference.kind === 253 - || node.kind === 243 - || node.kind === 248 + || node.kind === 243 && node.moduleReference.kind === 254 + || node.kind === 244 || node.kind === 249 + || node.kind === 250 ? node : undefined; } @@ -16212,7 +16301,7 @@ var ts; } JSDocParser.parseJSDocTypeExpressionForTests = parseJSDocTypeExpressionForTests; function parseJSDocTypeExpression(mayOmitBraces) { - var result = createNode(277, scanner.getTokenPos()); + var result = createNode(278, scanner.getTokenPos()); var hasBrace = (mayOmitBraces ? parseOptional : parseExpected)(17); result.type = doInsideOfContext(2097152, parseJSDocType); if (!mayOmitBraces || hasBrace) { @@ -16253,8 +16342,8 @@ var ts; } JSDocParser.parseJSDocComment = parseJSDocComment; function parseJSDocCommentWorker(start, length) { + if (start === void 0) { start = 0; } var content = sourceText; - start = start || 0; var end = length === undefined ? content.length : start + length; length = end - start; ts.Debug.assert(start >= 0); @@ -16279,17 +16368,15 @@ var ts; comments.push(text); indent += text.length; } - var t = nextJSDocToken(); - while (t === 5) { - t = nextJSDocToken(); - } - if (t === 4) { + nextJSDocToken(); + while (parseOptionalJsdoc(5)) + ; + if (parseOptionalJsdoc(4)) { state = 0; indent = 0; - t = nextJSDocToken(); } loop: while (true) { - switch (t) { + switch (token()) { case 57: if (state === 0 || state === 1) { removeTrailingNewlines(comments); @@ -16339,7 +16426,7 @@ var ts; pushComment(scanner.getTokenText()); break; } - t = nextJSDocToken(); + nextJSDocToken(); } removeLeadingNewlines(comments); removeTrailingNewlines(comments); @@ -16357,7 +16444,7 @@ var ts; } } function createJSDocComment() { - var result = createNode(285, start); + var result = createNode(286, start); result.tags = tags && createNodeArray(tags, tagsPos, tagsEnd); result.comment = comments.length ? comments.join("") : undefined; return finishNode(result, end); @@ -16495,7 +16582,7 @@ var ts; return comments.length === 0 ? undefined : comments.join(""); } function parseUnknownTag(atToken, tagName) { - var result = createNode(288, atToken.pos); + var result = createNode(289, atToken.pos); result.atToken = atToken; result.tagName = tagName; return finishNode(result); @@ -16536,7 +16623,7 @@ var ts; switch (node.kind) { case 135: return true; - case 166: + case 167: return isObjectOrObjectArrayTypeReference(node.elementType); default: return ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && node.typeName.escapedText === "Object"; @@ -16552,12 +16639,12 @@ var ts; typeExpression = tryParseTypeExpression(); } var result = target === 1 ? - createNode(297, atToken.pos) : - createNode(292, atToken.pos); + createNode(298, atToken.pos) : + createNode(293, atToken.pos); var comment; if (indent !== undefined) comment = parseTagComments(indent + scanner.getStartPos() - atToken.pos); - var nestedTypeLiteral = parseNestedTypeLiteral(typeExpression, name, target); + var nestedTypeLiteral = target !== 4 && parseNestedTypeLiteral(typeExpression, name, target); if (nestedTypeLiteral) { typeExpression = nestedTypeLiteral; isNameFirst = true; @@ -16573,20 +16660,20 @@ var ts; } function parseNestedTypeLiteral(typeExpression, name, target) { if (typeExpression && isObjectOrObjectArrayTypeReference(typeExpression.type)) { - var typeLiteralExpression = createNode(277, scanner.getTokenPos()); + var typeLiteralExpression = createNode(278, scanner.getTokenPos()); var child = void 0; var jsdocTypeLiteral = void 0; var start_2 = scanner.getStartPos(); var children = void 0; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(target, name); })) { - if (child.kind === 292 || child.kind === 297) { + if (child.kind === 293 || child.kind === 298) { children = ts.append(children, child); } } if (children) { - jsdocTypeLiteral = createNode(286, start_2); + jsdocTypeLiteral = createNode(287, start_2); jsdocTypeLiteral.jsDocPropertyTags = children; - if (typeExpression.type.kind === 166) { + if (typeExpression.type.kind === 167) { jsdocTypeLiteral.isArrayType = true; } typeLiteralExpression.type = finishNode(jsdocTypeLiteral); @@ -16595,27 +16682,27 @@ var ts; } } function parseReturnTag(atToken, tagName) { - if (ts.forEach(tags, function (t) { return t.kind === 293; })) { - parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); - } - var result = createNode(293, atToken.pos); - result.atToken = atToken; - result.tagName = tagName; - result.typeExpression = tryParseTypeExpression(); - return finishNode(result); - } - function parseTypeTag(atToken, tagName) { if (ts.forEach(tags, function (t) { return t.kind === 294; })) { parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); } var result = createNode(294, atToken.pos); result.atToken = atToken; result.tagName = tagName; + result.typeExpression = tryParseTypeExpression(); + return finishNode(result); + } + function parseTypeTag(atToken, tagName) { + if (ts.forEach(tags, function (t) { return t.kind === 295; })) { + parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); + } + var result = createNode(295, atToken.pos); + result.atToken = atToken; + result.tagName = tagName; result.typeExpression = parseJSDocTypeExpression(true); return finishNode(result); } function parseAugmentsTag(atToken, tagName) { - var result = createNode(289, atToken.pos); + var result = createNode(290, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.class = parseExpressionWithTypeArgumentsForAugments(); @@ -16623,7 +16710,7 @@ var ts; } function parseExpressionWithTypeArgumentsForAugments() { var usedBrace = parseOptional(17); - var node = createNode(206); + var node = createNode(207); node.expression = parsePropertyAccessEntityNameExpression(); node.typeArguments = tryParseTypeArguments(); var res = finishNode(node); @@ -16635,7 +16722,7 @@ var ts; function parsePropertyAccessEntityNameExpression() { var node = parseJSDocIdentifierName(true); while (parseOptional(23)) { - var prop = createNode(184, node.pos); + var prop = createNode(185, node.pos); prop.expression = node; prop.name = parseJSDocIdentifierName(); node = finishNode(prop); @@ -16643,7 +16730,7 @@ var ts; return node; } function parseClassTag(atToken, tagName) { - var tag = createNode(290, atToken.pos); + var tag = createNode(291, atToken.pos); tag.atToken = atToken; tag.tagName = tagName; return finishNode(tag); @@ -16651,7 +16738,7 @@ var ts; function parseTypedefTag(atToken, tagName, indent) { var typeExpression = tryParseTypeExpression(); skipWhitespace(); - var typedefTag = createNode(296, atToken.pos); + var typedefTag = createNode(297, atToken.pos); typedefTag.atToken = atToken; typedefTag.tagName = tagName; typedefTag.fullName = parseJSDocTypeNameWithNamespace(); @@ -16667,9 +16754,9 @@ var ts; var start_3 = scanner.getStartPos(); while (child = tryParse(function () { return parseChildPropertyTag(); })) { if (!jsdocTypeLiteral) { - jsdocTypeLiteral = createNode(286, start_3); + jsdocTypeLiteral = createNode(287, start_3); } - if (child.kind === 294) { + if (child.kind === 295) { if (childTypeTag) { break; } @@ -16682,7 +16769,7 @@ var ts; } } if (jsdocTypeLiteral) { - if (typeExpression && typeExpression.type.kind === 166) { + if (typeExpression && typeExpression.type.kind === 167) { jsdocTypeLiteral.isArrayType = true; } typedefTag.typeExpression = childTypeTag && childTypeTag.typeExpression && !isObjectOrObjectArrayTypeReference(childTypeTag.typeExpression.type) ? @@ -16697,7 +16784,7 @@ var ts; var pos = scanner.getTokenPos(); var typeNameOrNamespaceName = parseJSDocIdentifierName(); if (typeNameOrNamespaceName && parseOptional(23)) { - var jsDocNamespaceNode = createNode(238, pos); + var jsDocNamespaceNode = createNode(239, pos); if (nested) { jsDocNamespaceNode.flags |= 4; } @@ -16711,7 +16798,7 @@ var ts; return typeNameOrNamespaceName; } function parseCallbackTag(atToken, tagName, indent) { - var callbackTag = createNode(291, atToken.pos); + var callbackTag = createNode(292, atToken.pos); callbackTag.atToken = atToken; callbackTag.tagName = tagName; callbackTag.fullName = parseJSDocTypeNameWithNamespace(); @@ -16720,16 +16807,15 @@ var ts; callbackTag.comment = parseTagComments(indent); var child; var start = scanner.getStartPos(); - var jsdocSignature = createNode(287, start); + var jsdocSignature = createNode(288, start); jsdocSignature.parameters = []; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(4); })) { jsdocSignature.parameters = ts.append(jsdocSignature.parameters, child); } var returnTag = tryParse(function () { - if (token() === 57) { - nextJSDocToken(); + if (parseOptionalJsdoc(57)) { var tag = parseTag(indent); - if (tag && tag.kind === 293) { + if (tag && tag.kind === 294) { return tag; } } @@ -16774,7 +16860,7 @@ var ts; case 57: if (canParseTag) { var child = tryParseChildTag(target); - if (child && child.kind === 292 && + if (child && child.kind === 293 && target !== 4 && (ts.isIdentifier(child.name) || !escapedTextsEqual(name, child.name.left))) { return false; @@ -16835,48 +16921,44 @@ var ts; return tag; } function parseTemplateTag(atToken, tagName) { - if (ts.some(tags, ts.isJSDocTemplateTag)) { - parseErrorAt(tagName.pos, scanner.getTokenPos(), ts.Diagnostics._0_tag_already_specified, tagName.escapedText); + var constraint; + if (token() === 17) { + constraint = parseJSDocTypeExpression(); } var typeParameters = []; var typeParametersPos = getNodePos(); - while (true) { - var typeParameter = createNode(147); - var name = parseJSDocIdentifierNameWithOptionalBraces(); + do { skipWhitespace(); - if (!name) { - parseErrorAtPosition(scanner.getStartPos(), 0, ts.Diagnostics.Identifier_expected); + var typeParameter = createNode(148); + if (!ts.tokenIsIdentifierOrKeyword(token())) { + parseErrorAtCurrentToken(ts.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces); return undefined; } - typeParameter.name = name; + typeParameter.name = parseJSDocIdentifierName(); + skipWhitespace(); finishNode(typeParameter); typeParameters.push(typeParameter); - if (token() === 26) { - nextJSDocToken(); - skipWhitespace(); - } - else { - break; - } + } while (parseOptionalJsdoc(26)); + if (constraint) { + ts.first(typeParameters).constraint = constraint.type; } - var result = createNode(295, atToken.pos); + var result = createNode(296, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeParameters = createNodeArray(typeParameters, typeParametersPos); finishNode(result); return result; } - function parseJSDocIdentifierNameWithOptionalBraces() { - var parsedBrace = parseOptional(17); - var res = parseJSDocIdentifierName(); - if (parsedBrace) { - parseExpected(18); - } - return res; - } function nextJSDocToken() { return currentToken = scanner.scanJSDocToken(); } + function parseOptionalJsdoc(t) { + if (token() === t) { + nextJSDocToken(); + return true; + } + return false; + } function parseJSDocEntityName() { var entity = parseJSDocIdentifierName(true); if (parseOptional(21)) { @@ -17266,10 +17348,7 @@ var ts; break; } case "amd-dependency": { - context.amdDependencies = ts.map(ts.toArray(entryOrList), function (_a) { - var _b = _a.arguments, name = _b.name, path = _b.path; - return ({ name: name, path: path }); - }); + context.amdDependencies = ts.map(ts.toArray(entryOrList), function (x) { return ({ name: x.arguments.name, path: x.arguments.path }); }); break; } case "amd-module": { @@ -17401,6 +17480,20 @@ var ts; } return argMap; } + function tagNamesAreEquivalent(lhs, rhs) { + if (lhs.kind !== rhs.kind) { + return false; + } + if (lhs.kind === 71) { + return lhs.escapedText === rhs.escapedText; + } + if (lhs.kind === 99) { + return true; + } + return lhs.name.escapedText === rhs.name.escapedText && + tagNamesAreEquivalent(lhs.expression, rhs.expression); + } + ts.tagNamesAreEquivalent = tagNamesAreEquivalent; })(ts || (ts = {})); var ts; (function (ts) { @@ -17546,6 +17639,7 @@ var 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", }), }, @@ -18169,7 +18263,7 @@ var ts; case "string": return ts.map(values, function (v) { return v || ""; }); default: - return ts.filter(ts.map(values, function (v) { return parseCustomTypeOption(opt.element, v, errors); }), function (v) { return !!v; }); + return ts.mapDefined(values, function (v) { return parseCustomTypeOption(opt.element, v, errors); }); } } ts.parseListTypeOption = parseListTypeOption; @@ -18290,6 +18384,7 @@ var ts; } return optionNameMap.get(optionName); } + ts.getOptionFromName = getOptionFromName; function getParsedCommandLineOfConfigFile(configFileName, optionsToExtend, host) { var configFileText; try { @@ -18424,7 +18519,7 @@ var ts; var result = returnValue ? {} : undefined; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var element = _a[_i]; - if (element.kind !== 269) { + if (element.kind !== 270) { errors.push(ts.createDiagnosticForNodeInSourceFile(sourceFile, element, ts.Diagnostics.Property_assignment_expected)); continue; } @@ -18495,13 +18590,13 @@ var ts; case 8: reportInvalidOptionValue(option && option.type !== "number"); return Number(valueExpression.text); - case 197: + case 198: if (valueExpression.operator !== 38 || valueExpression.operand.kind !== 8) { break; } reportInvalidOptionValue(option && option.type !== "number"); return -Number(valueExpression.operand.text); - case 183: + case 184: reportInvalidOptionValue(option && option.type !== "object"); var objectLiteralExpression = valueExpression; if (option) { @@ -18511,7 +18606,7 @@ var ts; else { return convertObjectLiteralExpressionToJson(objectLiteralExpression, undefined, undefined, undefined); } - case 182: + case 183: reportInvalidOptionValue(option && option.type !== "list"); return convertArrayLiteralExpressionToJson(valueExpression.elements, option && option.element); } @@ -18548,6 +18643,7 @@ var ts; var expectedType = ts.isString(option.type) ? option.type : "string"; return typeof value === expectedType; } + return false; } function generateTSConfig(options, fileNames, newLine) { var compilerOptions = ts.extend(options, ts.defaultInitCompilerOptions); @@ -18969,13 +19065,10 @@ var ts; } function convertCompileOnSaveOptionFromJson(jsonOption, basePath, errors) { if (!ts.hasProperty(jsonOption, ts.compileOnSaveCommandLineOption.name)) { - return undefined; + return false; } var result = convertJsonOption(ts.compileOnSaveCommandLineOption, jsonOption.compileOnSave, basePath, errors); - if (typeof result === "boolean" && result) { - return result; - } - return false; + return typeof result === "boolean" && result; } function convertCompilerOptionsFromJson(jsonOptions, basePath, configFileName) { var errors = []; @@ -19004,7 +19097,7 @@ var ts; return options; } function getDefaultTypeAcquisition(configFileName) { - return { enable: configFileName && ts.getBaseFileName(configFileName) === "jsconfig.json", include: [], exclude: [] }; + return { enable: !!configFileName && ts.getBaseFileName(configFileName) === "jsconfig.json", include: [], exclude: [] }; } function convertTypeAcquisitionFromJsonWorker(jsonOptions, basePath, errors, configFileName) { var options = getDefaultTypeAcquisition(configFileName); @@ -19278,7 +19371,7 @@ var ts; } ts.trace = trace; function isTraceEnabled(compilerOptions, host) { - return compilerOptions.traceResolution && host.trace !== undefined; + return !!compilerOptions.traceResolution && host.trace !== undefined; } ts.isTraceEnabled = isTraceEnabled; function withPackageId(packageId, r) { @@ -19439,14 +19532,13 @@ var ts; } } function secondaryLookup() { - var resolvedFile; var initialLocationForSecondaryLookup = containingFile && ts.getDirectoryPath(containingFile); if (initialLocationForSecondaryLookup !== undefined) { if (traceEnabled) { trace(host, ts.Diagnostics.Looking_up_in_node_modules_folder_initial_location_0, initialLocationForSecondaryLookup); } var result = loadModuleFromNodeModules(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, failedLookupLocations, moduleResolutionState, undefined); - resolvedFile = resolvedTypeScriptOnly(result && result.value); + var resolvedFile = resolvedTypeScriptOnly(result && result.value); if (!resolvedFile && traceEnabled) { trace(host, ts.Diagnostics.Type_reference_directive_0_was_not_resolved, typeReferenceDirectiveName); } @@ -19598,7 +19690,7 @@ var ts; result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache); break; default: - ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); + return ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); } if (perFolderCache) { perFolderCache.set(moduleName, result); @@ -19776,7 +19868,7 @@ var ts; var originalPath = void 0; if (!compilerOptions.preserveSymlinks && resolvedValue) { originalPath = resolvedValue.path; - var path = realPath(resolved_1.value.path, host, traceEnabled); + var path = realPath(resolvedValue.path, host, traceEnabled); if (path === originalPath) { originalPath = undefined; } @@ -19876,7 +19968,7 @@ var ts; function loadModuleFromFile(extensions, candidate, failedLookupLocations, onlyRecordFailures, state) { if (extensions === Extensions.Json) { var extensionLess = ts.tryRemoveExtension(candidate, ".json"); - return extensionLess && tryAddingExtensions(extensionLess, extensions, failedLookupLocations, onlyRecordFailures, state); + return extensionLess === undefined ? undefined : tryAddingExtensions(extensionLess, extensions, failedLookupLocations, onlyRecordFailures, state); } var resolvedByAddingExtension = tryAddingExtensions(candidate, extensions, failedLookupLocations, onlyRecordFailures, state); if (resolvedByAddingExtension) { @@ -19910,7 +20002,7 @@ var ts; } function tryExtension(ext) { var path = tryFile(candidate + ext, failedLookupLocations, onlyRecordFailures, state); - return path && { path: path, ext: ext }; + return path === undefined ? undefined : { path: path, ext: ext }; } } function tryFile(fileName, failedLookupLocations, onlyRecordFailures, state) { @@ -20358,7 +20450,8 @@ var ts; addInferredTypings(module_1, "Inferred typings from unresolved imports"); } packageNameToTypingLocation.forEach(function (typing, name) { - if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && isTypingUpToDate(typing, typesRegistry.get(name))) { + var registryEntry = typesRegistry.get(name); + if (inferredTypings.has(name) && inferredTypings.get(name) === undefined && registryEntry !== undefined && isTypingUpToDate(typing, registryEntry)) { inferredTypings.set(name, typing.typingLocation); } }); @@ -20499,7 +20592,7 @@ var ts; case 0: return ts.Debug.fail(); default: - ts.Debug.assertNever(result); + throw ts.Debug.assertNever(result); } } JsTyping.renderPackageNameValidationFailure = renderPackageNameValidationFailure; @@ -20616,6 +20709,7 @@ var ts; this.pendingRunRequests = []; this.installRunCount = 1; this.inFlightRequestCount = 0; + this.latestDistTag = "latest"; this.toCanonicalFileName = ts.createGetCanonicalFileName(installTypingHost.useCaseSensitiveFileNames); this.globalCacheCanonicalPackageJsonPath = ts.combinePaths(this.toCanonicalFileName(globalCachePath), "package.json"); if (this.log.isEnabled()) { @@ -20833,7 +20927,7 @@ var ts; continue; } var distTags = _this.typesRegistry.get(packageName); - var newVersion = ts.Semver.parse(distTags["ts" + ts.versionMajorMinor] || distTags[latestDistTag]); + var newVersion = ts.Semver.parse(distTags["ts" + ts.versionMajorMinor] || distTags[_this.latestDistTag]); var newTyping = { typingLocation: typingFile, version: newVersion }; _this.packageNameToTypingLocation.set(packageName, newTyping); installedTypingFiles.push(typingFile); @@ -20992,7 +21086,6 @@ var ts; return "@types/" + packageName + "@ts" + ts.versionMajorMinor; } typingsInstaller.typingsName = typingsName; - var latestDistTag = "latest"; })(typingsInstaller = server.typingsInstaller || (server.typingsInstaller = {})); })(server = ts.server || (ts.server = {})); })(ts || (ts = {})); @@ -21025,12 +21118,11 @@ var ts; }()); function getDefaultNPMLocation(processName) { if (path.basename(processName).indexOf("node") === 0) { - var npmPath = "\"" + path.join(path.dirname(process.argv[0]), "npm") + "\""; - if (fs.existsSync(npmPath)) { - return npmPath; - } + return "\"" + path.join(path.dirname(process.argv[0]), "npm") + "\""; + } + else { + return "npm"; } - return "npm"; } function loadTypesRegistryFile(typesRegistryFilePath, host, log) { if (!host.fileExists(typesRegistryFilePath)) { @@ -21072,7 +21164,7 @@ var ts; if (_this.log.isEnabled()) { _this.log.writeLine("Updating " + typesRegistryPackageName + " npm package..."); } - _this.execSyncAndLog(_this.npmPath + " install --ignore-scripts " + typesRegistryPackageName, { cwd: globalTypingsCacheLocation }); + _this.execSyncAndLog(_this.npmPath + " install --ignore-scripts " + typesRegistryPackageName + "@" + _this.latestDistTag, { cwd: globalTypingsCacheLocation }); if (_this.log.isEnabled()) { _this.log.writeLine("Updated " + typesRegistryPackageName + " npm package"); } diff --git a/lib/zh-cn/diagnosticMessages.generated.json b/lib/zh-cn/diagnosticMessages.generated.json index b92e4727075..74e21e92be9 100644 --- a/lib/zh-cn/diagnosticMessages.generated.json +++ b/lib/zh-cn/diagnosticMessages.generated.json @@ -106,6 +106,7 @@ "Add_initializer_to_property_0_95019": "å‘属性“{0}â€æ·»åŠ åˆå§‹å€¼è®¾å®šé¡¹", "Add_initializers_to_all_uninitialized_properties_95027": "å°†åˆå§‹åŒ–è¡¨è¾¾å¼æ·»åŠ åˆ°æœªåˆå§‹åŒ–的所有属性", "Add_missing_super_call_90001": "添加缺失的 \"super()\" 调用", + "Add_missing_typeof_95052": "添加缺少的 \"typeof\"", "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037": "å°†é™å®šç¬¦æ·»åŠ åˆ°åŒ¹é…æˆå‘˜å称的所有未解æžå˜é‡", "Add_to_all_uncalled_decorators_95044": "å°† \"()\" 添加到所有未调用的修饰器", "Add_ts_ignore_to_all_error_messages_95042": "å°† \"@ts-ignore\" 添加到所有错误消æ¯", @@ -119,6 +120,7 @@ "All_declarations_of_an_abstract_method_must_be_consecutive_2516": "抽象方法的所有声明必须是连续的。", "All_destructured_elements_are_unused_6198": "æœªå–æ¶ˆä½¿ç”¨ä»»ä½•解构元素。", "All_imports_in_import_declaration_are_unused_6192": "未使用导入声明中的所有导入。", + "All_variables_are_unused_6199": "所有å˜é‡å‡æœªä½¿ç”¨ã€‚", "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011": "å…许从ä¸å¸¦é»˜è®¤è¾“出的模å—中默认输入。这ä¸ä¼šå½±å“代ç å‘å‡ºï¼Œåªæ˜¯ç±»åž‹æ£€æŸ¥ã€‚", "Allow_javascript_files_to_be_compiled_6102": "å…许编译 JavaScript 文件。", "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209": "æä¾› \"--isolatedModules\" 标志的情况下ä¸å…许使用环境常数枚举。", @@ -255,6 +257,7 @@ "Class_0_used_before_its_declaration_2449": "类“{0}â€ç”¨äºŽå…¶å£°æ˜Žå‰ã€‚", "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "类声明ä¸èƒ½æœ‰å¤šä¸ª \"@augments\" 或 \"@extends\" 标记。", "Class_name_cannot_be_0_2414": "ç±»åä¸èƒ½ä¸ºâ€œ{0}â€ã€‚", + "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725": "ä½¿ç”¨æ¨¡å— {0} 将目标设置为 ES5 时,类åç§°ä¸èƒ½ä¸º \"Object\"。", "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417": "ç±»é™æ€ä¾§â€œ{0}â€é”™è¯¯æ‰©å±•åŸºç±»é™æ€ä¾§â€œ{1}â€ã€‚", "Classes_can_only_extend_a_single_class_1174": "ç±»åªèƒ½æ‰©å±•一个类。", "Classes_containing_abstract_methods_must_be_marked_abstract_2514": "åŒ…å«æŠ½è±¡æ–¹æ³•çš„ç±»å¿…é¡»æ ‡è®°ä¸ºæŠ½è±¡ã€‚", @@ -273,11 +276,14 @@ "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674": "类“{0}â€çš„æž„造函数是å—ä¿æŠ¤çš„ï¼Œä»…å¯åœ¨ç±»å£°æ˜Žä¸­è®¿é—®ã€‚", "Constructors_for_derived_classes_must_contain_a_super_call_2377": "æ´¾ç”Ÿç±»çš„æž„é€ å‡½æ•°å¿…é¡»åŒ…å« \"super\" 调用。", "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126": "æœªæŒ‡å®šåŒ…å«æ–‡ä»¶ï¼Œå¹¶ä¸”无法确定根目录,正在跳过在 \"node_modules\" 文件夹中查找。", + "Convert_0_to_mapped_object_type_95055": "将“{0}â€è½¬æ¢ä¸ºæ˜ å°„对象类型", "Convert_all_constructor_functions_to_classes_95045": "将所有构造函数都转æ¢ä¸ºç±»", "Convert_all_require_to_import_95048": "将所有 \"require\" 转æ¢ä¸º \"import\"", "Convert_all_to_default_imports_95035": "全部转æ¢ä¸ºé»˜è®¤å¯¼å…¥", "Convert_function_0_to_class_95002": "将函数“{0}â€è½¬æ¢ä¸ºç±»", "Convert_function_to_an_ES2015_class_95001": "将函数转æ¢ä¸º ES2015 ç±»", + "Convert_named_imports_to_namespace_import_95057": "将命å导入转æ¢ä¸ºå‘½å空间导入", + "Convert_namespace_import_to_named_imports_95056": "将命å空间导入转æ¢ä¸ºå‘½å导入", "Convert_require_to_import_95047": "å°† \"require\" 转æ¢ä¸º \"import\"", "Convert_to_ES6_module_95017": "转æ¢ä¸º ES6 模å—", "Convert_to_default_import_95013": "转æ¢ä¸ºé»˜è®¤å¯¼å…¥", @@ -580,6 +586,7 @@ "Not_all_code_paths_return_a_value_7030": "å¹¶éžæ‰€æœ‰ä»£ç è·¯å¾„都返回值。", "Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413": "数字索引类型“{0}â€ä¸èƒ½èµ‹ç»™å­—符串索引类型“{1}â€ã€‚", "Numeric_separators_are_not_allowed_here_6188": "此处ä¸å…许使用数字分隔符。", + "Object_is_of_type_unknown_2571": "对象的类型为 \"unknown\"。", "Object_is_possibly_null_2531": "对象å¯èƒ½ä¸º \"null\"。", "Object_is_possibly_null_or_undefined_2533": "对象å¯èƒ½ä¸º \"null\" 或“未定义â€ã€‚", "Object_is_possibly_undefined_2532": "对象å¯èƒ½ä¸ºâ€œæœªå®šä¹‰â€ã€‚", @@ -708,10 +715,13 @@ "Redirect_output_structure_to_the_directory_6006": "将输出结构é‡å®šå‘到目录。", "Referenced_project_0_must_have_setting_composite_Colon_true_6306": "引用的项目“{0}â€å¿…须拥有设置 \"composite\": true。", "Remove_all_unreachable_code_95051": "删除所有无法访问的代ç ", + "Remove_all_unused_labels_95054": "删除所有未使用的标签", "Remove_declaration_for_Colon_0_90004": "删除“{0}â€çš„声明", "Remove_destructuring_90009": "删除解构", "Remove_import_from_0_90005": "从“{0}â€åˆ é™¤å¯¼å…¥", "Remove_unreachable_code_95050": "删除无法访问的代ç ", + "Remove_unused_label_95053": "删除未使用的标签", + "Remove_variable_statement_90010": "删除å˜é‡è¯­å¥", "Replace_import_with_0_95015": "用“{0}â€æ›¿æ¢å¯¼å…¥ã€‚", "Report_error_when_not_all_code_paths_in_function_return_a_value_6075": "在函数中的所有代ç è·¯å¾„å¹¶éžéƒ½è¿”回值时报告错误。", "Report_errors_for_fallthrough_cases_in_switch_statement_6076": "报告 switch 语å¥ä¸­é‡åˆ° fallthrough 情况的错误。", diff --git a/lib/zh-tw/diagnosticMessages.generated.json b/lib/zh-tw/diagnosticMessages.generated.json index f250984e6f2..fe237b08b4d 100644 --- a/lib/zh-tw/diagnosticMessages.generated.json +++ b/lib/zh-tw/diagnosticMessages.generated.json @@ -106,6 +106,7 @@ "Add_initializer_to_property_0_95019": "å°‡åˆå§‹è¨­å®šå¼æ–°å¢žè‡³å±¬æ€§ '{0}'", "Add_initializers_to_all_uninitialized_properties_95027": "為所有未åˆå§‹åŒ–的屬性新增åˆå§‹è¨­å®šå¼", "Add_missing_super_call_90001": "æ–°å¢žéºæ¼çš„ 'super()' 呼å«", + "Add_missing_typeof_95052": "æ–°å¢žéºæ¼çš„ 'typeof'", "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037": "å°æ‰€æœ‰æ¯”å°æˆå“¡å稱的未解æžè®Šæ•¸æ–°å¢žé™å®šè©ž", "Add_to_all_uncalled_decorators_95044": "為所有未呼å«çš„è£é£¾é …目新增 '()'", "Add_ts_ignore_to_all_error_messages_95042": "ç‚ºæ‰€æœ‰éŒ¯èª¤è¨Šæ¯æ–°å¢ž '@ts-ignore'", @@ -119,6 +120,7 @@ "All_declarations_of_an_abstract_method_must_be_consecutive_2516": "抽象方法的所有宣告必須連續。", "All_destructured_elements_are_unused_6198": "䏿œƒä½¿ç”¨æ‰€æœ‰æœªç¶“çµæ§‹åŒ–的項目。", "All_imports_in_import_declaration_are_unused_6192": "匯入宣告中的所有匯入皆未使用。", + "All_variables_are_unused_6199": "所有變數都未使用。", "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011": "å…許從沒有é è¨­åŒ¯å‡ºçš„æ¨¡çµ„進行é è¨­åŒ¯å…¥ã€‚這䏿œƒå½±éŸ¿ç¨‹å¼ç¢¼ç™¼å‡ºï¼Œåƒ…為類型檢查。", "Allow_javascript_files_to_be_compiled_6102": "å…許編譯 JavaScript 檔案。", "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209": "æä¾› '--isolatedModules' 旗標時,ä¸å¯ä½¿ç”¨ç’°å¢ƒå¸¸æ•¸åˆ—舉。", @@ -255,6 +257,7 @@ "Class_0_used_before_its_declaration_2449": "類別 '{0}' çš„ä½ç½®åœ¨å…¶å®£å‘Šä¹‹å‰ã€‚", "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "類別宣告åªå¯æœ‰ä¸€å€‹ '@augments' 或 '@extends' 標記。", "Class_name_cannot_be_0_2414": "類別å稱ä¸å¾—為 '{0}'。", + "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725": "當目標為具有模組 {0} çš„ ES5 時,類別å稱ä¸å¯ç‚º 'Object'。", "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417": "é¡žåˆ¥éœæ…‹ç«¯ '{0}' 䏿­£ç¢ºåœ°æ“´å……åŸºåº•é¡žåˆ¥éœæ…‹ç«¯ '{1}'。", "Classes_can_only_extend_a_single_class_1174": "類別åªèƒ½æ“´å……一個類別。", "Classes_containing_abstract_methods_must_be_marked_abstract_2514": "åŒ…å«æŠ½è±¡æ–¹æ³•çš„é¡žåˆ¥å¿…é ˆæ¨™è¨˜ç‚ºæŠ½è±¡ã€‚", @@ -273,11 +276,14 @@ "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674": "類別 '{0}' 的建構函å¼å—到ä¿è­·ï¼Œä¸¦ä¸”åªèƒ½åœ¨é¡žåˆ¥å®£å‘Šå…§å­˜å–。", "Constructors_for_derived_classes_must_contain_a_super_call_2377": "è¡ç”Ÿé¡žåˆ¥çš„建構函å¼å¿…é ˆåŒ…å« 'super' 呼å«ã€‚", "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126": "æœªæŒ‡å®šåŒ…å«æª”æ¡ˆï¼Œå› æ­¤ç„¡æ³•æ±ºå®šæ ¹ç›®éŒ„ï¼Œè€Œå°‡ç•¥éŽ 'node_modules' 中的查閱。", + "Convert_0_to_mapped_object_type_95055": "å°‡ '{0}' 轉æ›ç‚ºå°æ‡‰çš„物件類型", "Convert_all_constructor_functions_to_classes_95045": "將所有建構函å¼è½‰æ›ç‚ºé¡žåˆ¥", "Convert_all_require_to_import_95048": "將所有 'require' 轉æ›è‡³ 'import'", "Convert_all_to_default_imports_95035": "全部轉æ›ç‚ºé è¨­åŒ¯å…¥", "Convert_function_0_to_class_95002": "å°‡å‡½å¼ '{0}' 轉æ›ç‚ºé¡žåˆ¥", "Convert_function_to_an_ES2015_class_95001": "將函å¼è½‰æ›ç‚º ES2015 類別", + "Convert_named_imports_to_namespace_import_95057": "將具å匯入轉æ›ç‚ºå‘½å空間匯入", + "Convert_namespace_import_to_named_imports_95056": "將命å空間匯入轉æ›ç‚ºå…·å匯入", "Convert_require_to_import_95047": "å°‡ 'require' 轉æ›è‡³ 'import'", "Convert_to_ES6_module_95017": "轉æ›ç‚º ES6 模組", "Convert_to_default_import_95013": "轉æ›ç‚ºé è¨­åŒ¯å…¥", @@ -580,6 +586,7 @@ "Not_all_code_paths_return_a_value_7030": "部分程å¼ç¢¼è·¯å¾‘並未傳回值。", "Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413": "數值索引類型 '{0}' ä¸å¯æŒ‡æ´¾çµ¦å­—串索引類型 '{1}'。", "Numeric_separators_are_not_allowed_here_6188": "這裡ä¸å…許數字分隔符號。", + "Object_is_of_type_unknown_2571": "物件的類型為 '未知'。", "Object_is_possibly_null_2531": "物件å¯èƒ½ç‚ºã€Œnullã€ã€‚", "Object_is_possibly_null_or_undefined_2533": "物件å¯èƒ½ç‚ºã€Œnullã€æˆ–「未定義ã€ã€‚", "Object_is_possibly_undefined_2532": "物件å¯èƒ½ç‚ºã€Œæœªå®šç¾©ã€ã€‚", @@ -708,10 +715,13 @@ "Redirect_output_structure_to_the_directory_6006": "å°‡è¼¸å‡ºçµæ§‹é‡æ–°å°Žå‘至目錄。", "Referenced_project_0_must_have_setting_composite_Colon_true_6306": "åƒè€ƒçš„專案 '{0}' 之設定 \"composite\" 必須為 true。", "Remove_all_unreachable_code_95051": "移除所有無法連線的程å¼ç¢¼", + "Remove_all_unused_labels_95054": "移除所有未使用的標籤", "Remove_declaration_for_Colon_0_90004": "移除 '{0}' 的宣告", "Remove_destructuring_90009": "移除解構", "Remove_import_from_0_90005": "從 '{0}' 移除匯入", "Remove_unreachable_code_95050": "移除無法連線的程å¼ç¢¼", + "Remove_unused_label_95053": "移除未使用的標籤", + "Remove_variable_statement_90010": "移除變數陳述å¼", "Replace_import_with_0_95015": "以 '{0}' å–代匯入。", "Report_error_when_not_all_code_paths_in_function_return_a_value_6075": "當函å¼ä¸­çš„部分程å¼ç¢¼è·¯å¾‘並未傳回值時回報錯誤。", "Report_errors_for_fallthrough_cases_in_switch_statement_6076": "回報 switch 陳述å¼å…§ fallthrough 案例的錯誤。", From 5ba223d7ddcfe8f1de6cef61b74171762e334c56 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Mon, 4 Jun 2018 13:53:18 -0700 Subject: [PATCH 63/76] Change file name --- ...om.iterable.d.ts => dom.iterable.generated.d.ts} | 0 src/lib/libs.json | 13 +++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) rename src/lib/{dom.iterable.d.ts => dom.iterable.generated.d.ts} (100%) diff --git a/src/lib/dom.iterable.d.ts b/src/lib/dom.iterable.generated.d.ts similarity index 100% rename from src/lib/dom.iterable.d.ts rename to src/lib/dom.iterable.generated.d.ts diff --git a/src/lib/libs.json b/src/lib/libs.json index 2a5dc73b5b5..ca47253e407 100644 --- a/src/lib/libs.json +++ b/src/lib/libs.json @@ -9,7 +9,7 @@ "esnext", // Host only "dom.generated", - "dom.iterable", + "dom.iterable.generated", "webworker.generated", "scripthost", // By-feature options @@ -44,6 +44,7 @@ ], "paths": { "dom.generated": "lib.dom.d.ts", + "dom.iterable.generated": "lib.dom.iterable.d.ts", "webworker.generated": "lib.webworker.d.ts", "es5.full": "lib.d.ts", "es2015.full": "lib.es6.d.ts" @@ -69,35 +70,35 @@ "dom.generated.d.ts", "webworker.importscripts.d.ts", "scripthost.d.ts", - "dom.iterable.d.ts" + "dom.iterable.generated.d.ts" ], "es2016.full": [ "es2016.d.ts", "dom.generated.d.ts", "webworker.importscripts.d.ts", "scripthost.d.ts", - "dom.iterable.d.ts" + "dom.iterable.generated.d.ts" ], "es2017.full": [ "es2017.d.ts", "dom.generated.d.ts", "webworker.importscripts.d.ts", "scripthost.d.ts", - "dom.iterable.d.ts" + "dom.iterable.generated.d.ts" ], "es2018.full": [ "es2018.d.ts", "dom.generated.d.ts", "webworker.importscripts.d.ts", "scripthost.d.ts", - "dom.iterable.d.ts" + "dom.iterable.generated.d.ts" ], "esnext.full": [ "esnext.d.ts", "dom.generated.d.ts", "webworker.importscripts.d.ts", "scripthost.d.ts", - "dom.iterable.d.ts" + "dom.iterable.generated.d.ts" ] } } \ No newline at end of file From f960d5c97fc19c6b6613214dcb57421429fbfc80 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Mon, 4 Jun 2018 14:13:16 -0700 Subject: [PATCH 64/76] Port generated lib files --- src/lib/dom.generated.d.ts | 3076 +++++++++++++++++++-------- src/lib/dom.iterable.generated.d.ts | 275 ++- src/lib/webworker.generated.d.ts | 1461 ++++++++++--- 3 files changed, 3468 insertions(+), 1344 deletions(-) diff --git a/src/lib/dom.generated.d.ts b/src/lib/dom.generated.d.ts index 1c51444fa55..d1ddf216d74 100644 --- a/src/lib/dom.generated.d.ts +++ b/src/lib/dom.generated.d.ts @@ -16,11 +16,11 @@ interface AddEventListenerOptions extends EventListenerOptions { } interface AesCbcParams extends Algorithm { - iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null; + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; } interface AesCtrParams extends Algorithm { - counter: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null; + counter: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; length: number; } @@ -29,8 +29,8 @@ interface AesDerivedKeyParams extends Algorithm { } interface AesGcmParams extends Algorithm { - additionalData?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null; - iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null; + additionalData?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; tagLength?: number; } @@ -56,6 +56,12 @@ interface AnalyserOptions extends AudioNodeOptions { interface AnimationEventInit extends EventInit { animationName?: string; elapsedTime?: number; + pseudoElement?: string; +} + +interface AnimationPlaybackEventInit extends EventInit { + currentTime?: number | null; + timelineTime?: number | null; } interface AssertionOptions { @@ -97,10 +103,11 @@ interface AudioNodeOptions { } interface AudioParamDescriptor { + automationRate?: AutomationRate; defaultValue?: number; maxValue?: number; minValue?: number; - name?: string; + name: string; } interface AudioProcessingEventInit extends EventInit { @@ -114,6 +121,14 @@ interface AudioTimestamp { performanceTime?: number; } +interface AudioWorkletNodeOptions extends AudioNodeOptions { + numberOfInputs?: number; + numberOfOutputs?: number; + outputChannelCount?: number[]; + parameterData?: Record; + processorOptions?: any; +} + interface BiquadFilterOptions extends AudioNodeOptions { Q?: number; detune?: number; @@ -122,6 +137,10 @@ interface BiquadFilterOptions extends AudioNodeOptions { type?: BiquadFilterType; } +interface BlobPropertyBag { + type?: string; +} + interface ByteLengthChunk { byteLength?: number; } @@ -151,7 +170,6 @@ interface ClientData { } interface ClientQueryOptions { - includeReserved?: boolean; includeUncontrolled?: boolean; type?: ClientTypes; } @@ -166,6 +184,21 @@ interface CompositionEventInit extends UIEventInit { data?: string; } +interface ComputedEffectTiming extends EffectTiming { + activeDuration?: number; + currentIteration?: number | null; + endTime?: number; + localTime?: number | null; + progress?: number | null; +} + +interface ComputedKeyframe extends Record { + composite?: CompositeOperation | null; + computedOffset?: number; + easing?: string; + offset?: number | null; +} + interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation { arrayOfDomainStrings?: string[]; } @@ -208,6 +241,49 @@ interface CustomEventInit extends EventInit { detail?: T; } +interface DOMMatrix2DInit { + a?: number; + b?: number; + c?: number; + d?: number; + e?: number; + f?: number; + m11?: number; + m12?: number; + m21?: number; + m22?: number; + m41?: number; + m42?: number; +} + +interface DOMMatrixInit extends DOMMatrix2DInit { + is2D?: boolean; + m13?: number; + m14?: number; + m23?: number; + m24?: number; + m31?: number; + m32?: number; + m33?: number; + m34?: number; + m43?: number; + m44?: number; +} + +interface DOMPointInit { + w?: number; + x?: number; + y?: number; + z?: number; +} + +interface DOMQuadInit { + p1?: DOMPointInit; + p2?: DOMPointInit; + p3?: DOMPointInit; + p4?: DOMPointInit; +} + interface DOMRectInit { height?: number; width?: number; @@ -250,6 +326,10 @@ interface DeviceRotationRateDict { gamma?: number | null; } +interface DocumentTimelineOptions { + originTime?: number; +} + interface DoubleRange { max?: number; min?: number; @@ -283,6 +363,17 @@ interface EcdsaParams extends Algorithm { hash: string | Algorithm; } +interface EffectTiming { + delay?: number; + direction?: PlaybackDirection; + duration?: number | string; + easing?: string; + endDelay?: number; + fill?: FillMode; + iterationStart?: number; + iterations?: number; +} + interface ErrorEventInit extends EventInit { colno?: number; error?: any; @@ -294,7 +385,7 @@ interface ErrorEventInit extends EventInit { interface EventInit { bubbles?: boolean; cancelable?: boolean; - scoped?: boolean; + composed?: boolean; } interface EventListenerOptions { @@ -330,17 +421,22 @@ interface ExtendableMessageEventInit extends ExtendableEventInit { data?: any; lastEventId?: string; origin?: string; - ports?: MessagePort[] | null; - source?: object | ServiceWorker | MessagePort | null; + ports?: MessagePort[]; + source?: object | ServiceWorker | MessagePort; } interface FetchEventInit extends ExtendableEventInit { clientId?: string; + preloadResponse: Promise; request: Request; - reservedClientId?: string; + resultingClientId?: string; targetClientId?: string; } +interface FilePropertyBag extends BlobPropertyBag { + lastModified?: number; +} + interface FocusEventInit extends UIEventInit { relatedTarget?: EventTarget | null; } @@ -379,8 +475,8 @@ interface HashChangeEventInit extends EventInit { interface HkdfParams extends Algorithm { hash: string | Algorithm; - info: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null; - salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null; + info: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; } interface HmacImportParams extends Algorithm { @@ -408,6 +504,11 @@ interface IDBObjectStoreParameters { keyPath?: string | string[]; } +interface IDBVersionChangeEventInit extends EventInit { + newVersion?: number | null; + oldVersion?: number; +} + interface IIRFilterOptions extends AudioNodeOptions { feedback: number[]; feedforward: number[]; @@ -460,6 +561,21 @@ interface KeyboardEventInit extends EventModifierInit { repeat?: boolean; } +interface Keyframe extends Record { + composite?: CompositeOperation | null; + easing?: string; + offset?: number | null; +} + +interface KeyframeAnimationOptions extends KeyframeEffectOptions { + id?: string; +} + +interface KeyframeEffectOptions extends EffectTiming { + composite?: CompositeOperation; + iterationComposite?: IterationCompositeOperation; +} + interface LongRange { max?: number; min?: number; @@ -794,8 +910,13 @@ interface MediaKeySystemMediaCapability { robustness?: string; } +interface MediaStreamAudioSourceOptions { + mediaStream: MediaStream; +} + interface MediaStreamConstraints { audio?: boolean | MediaTrackConstraints; + peerIdentity?: string; video?: boolean | MediaTrackConstraints; } @@ -807,6 +928,10 @@ interface MediaStreamEventInit extends EventInit { stream?: MediaStream; } +interface MediaStreamTrackAudioSourceOptions { + mediaStreamTrack: MediaStreamTrack; +} + interface MediaStreamTrackEventInit extends EventInit { track?: MediaStreamTrack | null; } @@ -913,28 +1038,60 @@ interface MutationObserverInit { subtree?: boolean; } +interface NavigationPreloadState { + enabled?: boolean; + headerValue?: string; +} + +interface NotificationAction { + action: string; + icon?: string; + title: string; +} + interface NotificationEventInit extends ExtendableEventInit { action?: string; notification: Notification; } interface NotificationOptions { + actions?: NotificationAction[]; + badge?: string; body?: string; data?: any; dir?: NotificationDirection; icon?: string; + image?: string; lang?: string; + renotify?: boolean; + requireInteraction?: boolean; + silent?: boolean; tag?: string; -} - -interface ObjectURLOptions { - oneTimeOnly?: boolean; + timestamp?: number; + vibrate?: VibratePattern; } interface OfflineAudioCompletionEventInit extends EventInit { renderedBuffer: AudioBuffer; } +interface OfflineAudioContextOptions { + length: number; + numberOfChannels?: number; + sampleRate: number; +} + +interface OptionalEffectTiming { + delay?: number; + direction?: PlaybackDirection; + duration?: number | string; + easing?: string; + endDelay?: number; + fill?: FillMode; + iterationStart?: number; + iterations?: number; +} + interface OscillatorOptions extends AudioNodeOptions { detune?: number; frequency?: number; @@ -1020,7 +1177,12 @@ interface PaymentShippingOption { interface Pbkdf2Params extends Algorithm { hash: string | Algorithm; iterations: number; - salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null; + salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface PerformanceObserverInit { + buffered?: boolean; + entryTypes: string[]; } interface PeriodicWaveConstraints { @@ -1028,8 +1190,8 @@ interface PeriodicWaveConstraints { } interface PeriodicWaveOptions extends PeriodicWaveConstraints { - imag?: number[]; - real?: number[]; + imag?: number[] | Float32Array; + real?: number[] | Float32Array; } interface PointerEventInit extends MouseEventInit { @@ -1038,8 +1200,10 @@ interface PointerEventInit extends MouseEventInit { pointerId?: number; pointerType?: string; pressure?: number; + tangentialPressure?: number; tiltX?: number; tiltY?: number; + twist?: number; width?: number; } @@ -1059,8 +1223,19 @@ interface ProgressEventInit extends EventInit { total?: number; } +interface PromiseRejectionEventInit extends EventInit { + promise: Promise; + reason?: any; +} + +interface PropertyIndexedKeyframes extends Record { + composite?: CompositeOperation | (CompositeOperation | null)[]; + easing?: string | string[]; + offset?: number | (number | null)[]; +} + interface PushEventInit extends ExtendableEventInit { - data?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | string | null; + data?: PushMessageDataInit; } interface PushSubscriptionChangeInit extends ExtendableEventInit { @@ -1068,8 +1243,14 @@ interface PushSubscriptionChangeInit extends ExtendableEventInit { oldSubscription?: PushSubscription; } +interface PushSubscriptionJSON { + endpoint?: string; + expirationTime?: number | null; + keys?: Record; +} + interface PushSubscriptionOptionsInit { - applicationServerKey?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | string | null; + applicationServerKey?: BufferSource | string; userVisibleOnly?: boolean; } @@ -1078,15 +1259,39 @@ interface QueuingStrategy { size?: WritableStreamChunkCallback; } +interface RTCAnswerOptions extends RTCOfferAnswerOptions { +} + +interface RTCCertificateExpiration { + expires?: number; +} + interface RTCConfiguration { bundlePolicy?: RTCBundlePolicy; + certificates?: RTCCertificate[]; + iceCandidatePoolSize?: number; iceServers?: RTCIceServer[]; iceTransportPolicy?: RTCIceTransportPolicy; peerIdentity?: string; + rtcpMuxPolicy?: RTCRtcpMuxPolicy; } interface RTCDTMFToneChangeEventInit extends EventInit { - tone?: string; + tone: string; +} + +interface RTCDataChannelEventInit extends EventInit { + channel: RTCDataChannel; +} + +interface RTCDataChannelInit { + id?: number; + maxPacketLifeTime?: number; + maxRetransmits?: number; + negotiated?: boolean; + ordered?: boolean; + priority?: RTCPriorityType; + protocol?: string; } interface RTCDtlsFingerprint { @@ -1099,6 +1304,10 @@ interface RTCDtlsParameters { role?: RTCDtlsRole; } +interface RTCErrorEventInit extends EventInit { + error?: RTCError | null; +} + interface RTCIceCandidateAttributes extends RTCStats { addressSourceUrl?: string; candidateType?: RTCStatsIceCandidateType; @@ -1126,13 +1335,14 @@ interface RTCIceCandidateDictionary { interface RTCIceCandidateInit { candidate?: string; - sdpMLineIndex?: number; - sdpMid?: string; + sdpMLineIndex?: number | null; + sdpMid?: string | null; + usernameFragment?: string; } interface RTCIceCandidatePair { - local?: RTCIceCandidateDictionary; - remote?: RTCIceCandidateDictionary; + local?: RTCIceCandidate; + remote?: RTCIceCandidate; } interface RTCIceCandidatePairStats extends RTCStats { @@ -1158,15 +1368,41 @@ interface RTCIceGatherOptions { } interface RTCIceParameters { - iceLite?: boolean | null; password?: string; usernameFragment?: string; } interface RTCIceServer { - credential?: string | null; - urls?: any; - username?: string | null; + credential?: string | RTCOAuthCredential; + credentialType?: RTCIceCredentialType; + urls: string | string[]; + username?: string; +} + +interface RTCIdentityAssertionResult { + assertion: string; + idp: RTCIdentityProviderDetails; +} + +interface RTCIdentityProvider { + generateAssertion: GenerateAssertionCallback; + validateAssertion: ValidateAssertionCallback; +} + +interface RTCIdentityProviderDetails { + domain: string; + protocol?: string; +} + +interface RTCIdentityProviderOptions { + peerIdentity?: string; + protocol?: string; + usernameHint?: string; +} + +interface RTCIdentityValidationResult { + contents: string; + identity: string; } interface RTCInboundRTPStreamStats extends RTCRTPStreamStats { @@ -1194,13 +1430,21 @@ interface RTCMediaStreamTrackStats extends RTCStats { trackIdentifier?: string; } -interface RTCOfferOptions { - iceRestart?: boolean; - offerToReceiveAudio?: number; - offerToReceiveVideo?: number; +interface RTCOAuthCredential { + accessToken: string; + macKey: string; +} + +interface RTCOfferAnswerOptions { voiceActivityDetection?: boolean; } +interface RTCOfferOptions extends RTCOfferAnswerOptions { + iceRestart?: boolean; + offerToReceiveAudio?: boolean; + offerToReceiveVideo?: boolean; +} + interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { bytesSent?: number; packetsSent?: number; @@ -1208,8 +1452,16 @@ interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { targetBitrate?: number; } +interface RTCPeerConnectionIceErrorEventInit extends EventInit { + errorCode: number; + hostCandidate?: string; + statusText?: string; + url?: string; +} + interface RTCPeerConnectionIceEventInit extends EventInit { - candidate?: RTCIceCandidate; + candidate?: RTCIceCandidate | null; + url?: string | null; } interface RTCRTPStreamStats extends RTCStats { @@ -1233,65 +1485,51 @@ interface RTCRtcpFeedback { interface RTCRtcpParameters { cname?: string; - mux?: boolean; reducedSize?: boolean; - ssrc?: number; } interface RTCRtpCapabilities { - codecs?: RTCRtpCodecCapability[]; - fecMechanisms?: string[]; - headerExtensions?: RTCRtpHeaderExtension[]; + codecs: RTCRtpCodecCapability[]; + headerExtensions: RTCRtpHeaderExtensionCapability[]; } interface RTCRtpCodecCapability { - clockRate?: number; - kind?: string; - maxSpatialLayers?: number; - maxTemporalLayers?: number; - maxptime?: number; - name?: string; - numChannels?: number; - options?: any; - parameters?: any; - preferredPayloadType?: number; - ptime?: number; - rtcpFeedback?: RTCRtcpFeedback[]; - svcMultiStreamSupport?: boolean; + channels?: number; + clockRate: number; + mimeType: string; + sdpFmtpLine?: string; } interface RTCRtpCodecParameters { - clockRate?: number; - maxptime?: number; - name?: string; - numChannels?: number; - parameters?: any; - payloadType?: number; - ptime?: number; - rtcpFeedback?: RTCRtcpFeedback[]; + channels?: number; + clockRate: number; + mimeType: string; + payloadType: number; + sdpFmtpLine?: string; +} + +interface RTCRtpCodingParameters { + rid?: string; } interface RTCRtpContributingSource { audioLevel?: number; - csrc?: number; - timestamp?: number; + source: number; + timestamp: number; } -interface RTCRtpEncodingParameters { +interface RTCRtpDecodingParameters extends RTCRtpCodingParameters { +} + +interface RTCRtpEncodingParameters extends RTCRtpCodingParameters { active?: boolean; codecPayloadType?: number; - dependencyEncodingIds?: string[]; - encodingId?: string; - fec?: RTCRtpFecParameters; - framerateScale?: number; + dtx?: RTCDtxStatus; maxBitrate?: number; maxFramerate?: number; - minQuality?: number; - priority?: number; - resolutionScale?: number; - rtx?: RTCRtpRtxParameters; - ssrc?: number; - ssrcRange?: RTCSsrcRange; + priority?: RTCPriorityType; + ptime?: number; + scaleResolutionDownBy?: number; } interface RTCRtpFecParameters { @@ -1306,25 +1544,46 @@ interface RTCRtpHeaderExtension { uri?: string; } -interface RTCRtpHeaderExtensionParameters { - encrypt?: boolean; - id?: number; +interface RTCRtpHeaderExtensionCapability { uri?: string; } +interface RTCRtpHeaderExtensionParameters { + encrypted?: boolean; + id: number; + uri: string; +} + interface RTCRtpParameters { - codecs?: RTCRtpCodecParameters[]; - degradationPreference?: RTCDegradationPreference; - encodings?: RTCRtpEncodingParameters[]; - headerExtensions?: RTCRtpHeaderExtensionParameters[]; - muxId?: string; - rtcp?: RTCRtcpParameters; + codecs: RTCRtpCodecParameters[]; + headerExtensions: RTCRtpHeaderExtensionParameters[]; + rtcp: RTCRtcpParameters; +} + +interface RTCRtpReceiveParameters extends RTCRtpParameters { + encodings: RTCRtpDecodingParameters[]; } interface RTCRtpRtxParameters { ssrc?: number; } +interface RTCRtpSendParameters extends RTCRtpParameters { + degradationPreference?: RTCDegradationPreference; + encodings: RTCRtpEncodingParameters[]; + transactionId: string; +} + +interface RTCRtpSynchronizationSource extends RTCRtpContributingSource { + voiceActivityFlag?: boolean; +} + +interface RTCRtpTransceiverInit { + direction?: RTCRtpTransceiverDirection; + sendEncodings?: RTCRtpEncodingParameters[]; + streams?: MediaStream[]; +} + interface RTCRtpUnhandled { muxId?: string; payloadType?: number; @@ -1333,7 +1592,7 @@ interface RTCRtpUnhandled { interface RTCSessionDescriptionInit { sdp?: string; - type?: RTCSdpType; + type: RTCSdpType; } interface RTCSrtpKeyParam { @@ -1357,15 +1616,25 @@ interface RTCSsrcRange { } interface RTCStats { - id?: string; - msType?: MSStatsType; - timestamp?: number; - type?: RTCStatsType; + id: string; + timestamp: number; + type: RTCStatsType; +} + +interface RTCStatsEventInit extends EventInit { + report: RTCStatsReport; } interface RTCStatsReport { } +interface RTCTrackEventInit extends EventInit { + receiver: RTCRtpReceiver; + streams?: MediaStream[]; + track: MediaStreamTrack; + transceiver: RTCRtpTransceiver; +} + interface RTCTransportStats extends RTCStats { activeConnection?: boolean; bytesReceived?: number; @@ -1378,10 +1647,12 @@ interface RTCTransportStats extends RTCStats { interface RegistrationOptions { scope?: string; + type?: WorkerType; + updateViaCache?: ServiceWorkerUpdateViaCache; } interface RequestInit { - body?: Blob | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | FormData | string | null; + body?: BodyInit | null; cache?: RequestCache; credentials?: RequestCredentials; headers?: HeadersInit; @@ -1392,7 +1663,7 @@ interface RequestInit { redirect?: RequestRedirect; referrer?: string; referrerPolicy?: ReferrerPolicy; - signal?: AbortSignal; + signal?: AbortSignal | null; window?: any; } @@ -1425,7 +1696,7 @@ interface RsaKeyGenParams extends Algorithm { } interface RsaOaepParams extends Algorithm { - label?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null; + label?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; } interface RsaOtherPrimesInfo { @@ -1456,6 +1727,20 @@ interface ScopedCredentialParameters { type: ScopedCredentialType; } +interface ScrollIntoViewOptions extends ScrollOptions { + block?: ScrollLogicalPosition; + inline?: ScrollLogicalPosition; +} + +interface ScrollOptions { + behavior?: ScrollBehavior; +} + +interface ScrollToOptions extends ScrollOptions { + left?: number; + top?: number; +} + interface SecurityPolicyViolationEventInit extends EventInit { blockedURI?: string; columnNumber?: number; @@ -1489,6 +1774,19 @@ interface StereoPannerOptions extends AudioNodeOptions { pan?: number; } +interface StorageEstimate { + quota?: number; + usage?: number; +} + +interface StorageEventInit extends EventInit { + key?: string | null; + newValue?: string | null; + oldValue?: string | null; + storageArea?: Storage | null; + url?: string; +} + interface StoreExceptionsInformation extends ExceptionInformation { detailURI?: string | null; explanationString?: string | null; @@ -1513,6 +1811,30 @@ interface TextDecoderOptions { ignoreBOM?: boolean; } +interface TouchEventInit extends EventModifierInit { + changedTouches?: Touch[]; + targetTouches?: Touch[]; + touches?: Touch[]; +} + +interface TouchInit { + altitudeAngle?: number; + azimuthAngle?: number; + clientX?: number; + clientY?: number; + force?: number; + identifier: number; + pageX?: number; + pageY?: number; + radiusX?: number; + radiusY?: number; + rotationAngle?: number; + screenX?: number; + screenY?: number; + target: EventTarget; + touchType?: TouchType; +} + interface TrackEventInit extends EventInit { track?: VideoTrack | AudioTrack | TextTrack | null; } @@ -1520,6 +1842,7 @@ interface TrackEventInit extends EventInit { interface TransitionEventInit extends EventInit { elapsedTime?: number; propertyName?: string; + pseudoElement?: string; } interface UIEventInit extends EventInit { @@ -1540,8 +1863,8 @@ interface VRDisplayEventInit extends EventInit { } interface VRLayer { - leftBounds?: number[] | null; - rightBounds?: number[] | null; + leftBounds?: number[] | Float32Array | null; + rightBounds?: number[] | Float32Array | null; source?: HTMLCanvasElement | null; } @@ -1552,7 +1875,7 @@ interface VRStageParameters { } interface WaveShaperOptions extends AudioNodeOptions { - curve?: number[]; + curve?: number[] | Float32Array; oversample?: OverSampleType; } @@ -1580,16 +1903,14 @@ interface WheelEventInit extends MouseEventInit { deltaZ?: number; } +interface WorkletOptions { + credentials?: RequestCredentials; +} + interface EventListener { (evt: Event): void; } -type WebKitEntriesCallback = ((entries: WebKitEntry[]) => void) | { handleEvent(entries: WebKitEntry[]): void; }; - -type WebKitErrorCallback = ((err: DOMError) => void) | { handleEvent(err: DOMError): void; }; - -type WebKitFileCallback = ((file: File) => void) | { handleEvent(file: File): void; }; - interface ANGLE_instanced_arrays { drawArraysInstancedANGLE(mode: number, first: number, count: number, primcount: number): void; drawElementsInstancedANGLE(mode: number, count: number, type: number, offset: number, primcount: number): void; @@ -1665,67 +1986,71 @@ interface AnalyserNode extends AudioNode { declare var AnalyserNode: { prototype: AnalyserNode; - new(): AnalyserNode; + new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode; }; -interface Animation { +interface Animatable { + animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation; + getAnimations(): Animation[]; +} + +interface AnimationEventMap { + "cancel": AnimationPlaybackEvent; + "finish": AnimationPlaybackEvent; +} + +interface Animation extends EventTarget { currentTime: number | null; - effect: AnimationEffectReadOnly; + effect: AnimationEffect | null; readonly finished: Promise; id: string; + oncancel: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null; + onfinish: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null; readonly pending: boolean; - readonly playState: "idle" | "running" | "paused" | "finished"; + readonly playState: AnimationPlayState; playbackRate: number; readonly ready: Promise; - startTime: number; - timeline: AnimationTimeline; + startTime: number | null; + timeline: AnimationTimeline | null; cancel(): void; finish(): void; - oncancel: (this: Animation, ev: AnimationPlaybackEvent) => any; - onfinish: (this: Animation, ev: AnimationPlaybackEvent) => any; pause(): void; play(): void; reverse(): void; + updatePlaybackRate(playbackRate: number): void; + addEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } declare var Animation: { prototype: Animation; - new(effect?: AnimationEffectReadOnly, timeline?: AnimationTimeline): Animation; + new(effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation; }; -interface AnimationEffectReadOnly { - readonly timing: number; - getComputedTiming(): ComputedTimingProperties; +interface AnimationEffect { + getComputedTiming(): ComputedEffectTiming; + getTiming(): EffectTiming; + updateTiming(timing?: OptionalEffectTiming): void; } +declare var AnimationEffect: { + prototype: AnimationEffect; + new(): AnimationEffect; +}; + interface AnimationEvent extends Event { readonly animationName: string; readonly elapsedTime: number; + readonly pseudoElement: string; } declare var AnimationEvent: { prototype: AnimationEvent; - new(typeArg: string, eventInitDict?: AnimationEventInit): AnimationEvent; + new(type: string, animationEventInitDict?: AnimationEventInit): AnimationEvent; }; -interface AnimationKeyFrame { - easing?: string | string[]; - offset?: number | null | (number | null)[]; - [index: string]: string | number | number[] | string[] | null | (number | null)[] | undefined; -} - -interface AnimationOptions { - delay?: number; - direction?: "normal" | "reverse" | "alternate" | "alternate-reverse"; - duration?: number; - easing?: string; - endDelay?: number; - fill?: "none" | "forwards" | "backwards" | "both"| "auto"; - id?: string; - iterationStart?: number; - iterations?: number; -} - interface AnimationPlaybackEvent extends Event { readonly currentTime: number | null; readonly timelineTime: number | null; @@ -1736,15 +2061,15 @@ declare var AnimationPlaybackEvent: { new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent; }; -interface AnimationPlaybackEventInit extends EventInit { - currentTime?: number | null; - timelineTime?: number | null; -} - interface AnimationTimeline { readonly currentTime: number | null; } +declare var AnimationTimeline: { + prototype: AnimationTimeline; + new(): AnimationTimeline; +}; + interface ApplicationCacheEventMap { "cached": Event; "checking": Event; @@ -1821,80 +2146,47 @@ interface AudioBuffer { declare var AudioBuffer: { prototype: AudioBuffer; - new(): AudioBuffer; + new(options: AudioBufferOptions): AudioBuffer; }; -interface AudioBufferSourceNodeEventMap { - "ended": Event; -} - -interface AudioBufferSourceNode extends AudioNode { +interface AudioBufferSourceNode extends AudioScheduledSourceNode { buffer: AudioBuffer | null; readonly detune: AudioParam; loop: boolean; loopEnd: number; loopStart: number; - onended: ((this: AudioBufferSourceNode, ev: Event) => any) | null; readonly playbackRate: AudioParam; start(when?: number, offset?: number, duration?: number): void; - stop(when?: number): void; - addEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioBufferSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioBufferSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } declare var AudioBufferSourceNode: { prototype: AudioBufferSourceNode; - new(): AudioBufferSourceNode; + new(context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode; }; -interface AudioContextEventMap { - "statechange": Event; -} - -interface AudioContextBase extends EventTarget { - readonly currentTime: number; - readonly destination: AudioDestinationNode; - readonly listener: AudioListener; - onstatechange: ((this: AudioContext, ev: Event) => any) | null; - readonly sampleRate: number; - readonly state: AudioContextState; +interface AudioContext extends BaseAudioContext { + readonly baseLatency: number; + readonly outputLatency: number; close(): Promise; - createAnalyser(): AnalyserNode; - createBiquadFilter(): BiquadFilterNode; - createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer; - createBufferSource(): AudioBufferSourceNode; - createChannelMerger(numberOfInputs?: number): ChannelMergerNode; - createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode; - createConvolver(): ConvolverNode; - createDelay(maxDelayTime?: number): DelayNode; - createDynamicsCompressor(): DynamicsCompressorNode; - createGain(): GainNode; - createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode; createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; + createMediaStreamDestination(): MediaStreamAudioDestinationNode; createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode; - createOscillator(): OscillatorNode; - createPanner(): PannerNode; - createPeriodicWave(real: Float32Array, imag: Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave; - createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode; - createStereoPanner(): StereoPannerNode; - createWaveShaper(): WaveShaperNode; - decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): Promise; - resume(): Promise; - addEventListener(type: K, listener: (this: AudioContext, ev: AudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: AudioContext, ev: AudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -interface AudioContext extends AudioContextBase { + createMediaStreamTrackSource(mediaStreamTrack: MediaStreamTrack): MediaStreamTrackAudioSourceNode; + getOutputTimestamp(): AudioTimestamp; suspend(): Promise; + addEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } declare var AudioContext: { prototype: AudioContext; - new(): AudioContext; + new(contextOptions?: AudioContextOptions): AudioContext; }; interface AudioDestinationNode extends AudioNode { @@ -1907,16 +2199,19 @@ declare var AudioDestinationNode: { }; interface AudioListener { - /** @deprecated */ - dopplerFactor: number; - /** @deprecated */ - speedOfSound: number; + readonly forwardX: AudioParam; + readonly forwardY: AudioParam; + readonly forwardZ: AudioParam; + readonly positionX: AudioParam; + readonly positionY: AudioParam; + readonly positionZ: AudioParam; + readonly upX: AudioParam; + readonly upY: AudioParam; + readonly upZ: AudioParam; /** @deprecated */ setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void; /** @deprecated */ setPosition(x: number, y: number, z: number): void; - /** @deprecated */ - setVelocity(x: number, y: number, z: number): void; } declare var AudioListener: { @@ -1928,18 +2223,18 @@ interface AudioNode extends EventTarget { channelCount: number; channelCountMode: ChannelCountMode; channelInterpretation: ChannelInterpretation; - readonly context: AudioContext; + readonly context: BaseAudioContext; readonly numberOfInputs: number; readonly numberOfOutputs: number; - connect(destination: AudioNode, output?: number, input?: number): AudioNode; - connect(destination: AudioParam, output?: number): void; + connect(destinationNode: AudioNode, output?: number, input?: number): AudioNode; + connect(destinationParam: AudioParam, output?: number): void; disconnect(): void; disconnect(output: number): void; - disconnect(destination: AudioNode): void; - disconnect(destination: AudioNode, output: number): void; - disconnect(destination: AudioNode, output: number, input: number): void; - disconnect(destination: AudioParam): void; - disconnect(destination: AudioParam, output: number): void; + disconnect(destinationNode: AudioNode): void; + disconnect(destinationNode: AudioNode, output: number): void; + disconnect(destinationNode: AudioNode, output: number, input: number): void; + disconnect(destinationParam: AudioParam): void; + disconnect(destinationParam: AudioParam, output: number): void; } declare var AudioNode: { @@ -1948,14 +2243,18 @@ declare var AudioNode: { }; interface AudioParam { + automationRate: AutomationRate; readonly defaultValue: number; + readonly maxValue: number; + readonly minValue: number; value: number; + cancelAndHoldAtTime(cancelTime: number): AudioParam; cancelScheduledValues(cancelTime: number): AudioParam; exponentialRampToValueAtTime(value: number, endTime: number): AudioParam; linearRampToValueAtTime(value: number, endTime: number): AudioParam; setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam; setValueAtTime(value: number, startTime: number): AudioParam; - setValueCurveAtTime(values: number[], startTime: number, duration: number): AudioParam; + setValueCurveAtTime(values: number[] | Float32Array, startTime: number, duration: number): AudioParam; } declare var AudioParam: { @@ -1963,6 +2262,15 @@ declare var AudioParam: { new(): AudioParam; }; +interface AudioParamMap { + forEach(callbackfn: (value: AudioParam, key: string, parent: AudioParamMap) => void, thisArg?: any): void; +} + +declare var AudioParamMap: { + prototype: AudioParamMap; + new(): AudioParamMap; +}; + interface AudioProcessingEvent extends Event { readonly inputBuffer: AudioBuffer; readonly outputBuffer: AudioBuffer; @@ -1971,7 +2279,26 @@ interface AudioProcessingEvent extends Event { declare var AudioProcessingEvent: { prototype: AudioProcessingEvent; - new(): AudioProcessingEvent; + new(type: string, eventInitDict: AudioProcessingEventInit): AudioProcessingEvent; +}; + +interface AudioScheduledSourceNodeEventMap { + "ended": Event; +} + +interface AudioScheduledSourceNode extends AudioNode { + onended: ((this: AudioScheduledSourceNode, ev: Event) => any) | null; + start(when?: number): void; + stop(when?: number): void; + addEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AudioScheduledSourceNode: { + prototype: AudioScheduledSourceNode; + new(): AudioScheduledSourceNode; }; interface AudioTrack { @@ -2013,6 +2340,33 @@ declare var AudioTrackList: { new(): AudioTrackList; }; +interface AudioWorklet extends Worklet { +} + +declare var AudioWorklet: { + prototype: AudioWorklet; + new(): AudioWorklet; +}; + +interface AudioWorkletNodeEventMap { + "processorerror": Event; +} + +interface AudioWorkletNode extends AudioNode { + onprocessorerror: ((this: AudioWorkletNode, ev: Event) => any) | null; + readonly parameters: AudioParamMap; + readonly port: MessagePort; + addEventListener(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AudioWorkletNode: { + prototype: AudioWorkletNode; + new(context: BaseAudioContext, name: string, options?: AudioWorkletNodeOptions): AudioWorkletNode; +}; + interface BarProp { readonly visible: boolean; } @@ -2022,6 +2376,49 @@ declare var BarProp: { new(): BarProp; }; +interface BaseAudioContextEventMap { + "statechange": Event; +} + +interface BaseAudioContext extends EventTarget { + readonly audioWorklet: AudioWorklet; + readonly currentTime: number; + readonly destination: AudioDestinationNode; + readonly listener: AudioListener; + onstatechange: ((this: BaseAudioContext, ev: Event) => any) | null; + readonly sampleRate: number; + readonly state: AudioContextState; + createAnalyser(): AnalyserNode; + createBiquadFilter(): BiquadFilterNode; + createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer; + createBufferSource(): AudioBufferSourceNode; + createChannelMerger(numberOfInputs?: number): ChannelMergerNode; + createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode; + createConstantSource(): ConstantSourceNode; + createConvolver(): ConvolverNode; + createDelay(maxDelayTime?: number): DelayNode; + createDynamicsCompressor(): DynamicsCompressorNode; + createGain(): GainNode; + createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode; + createOscillator(): OscillatorNode; + createPanner(): PannerNode; + createPeriodicWave(real: number[] | Float32Array, imag: number[] | Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave; + createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode; + createStereoPanner(): StereoPannerNode; + createWaveShaper(): WaveShaperNode; + decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): Promise; + resume(): Promise; + addEventListener(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var BaseAudioContext: { + prototype: BaseAudioContext; + new(): BaseAudioContext; +}; + interface BeforeUnloadEvent extends Event { returnValue: any; } @@ -2064,28 +2461,22 @@ interface BiquadFilterNode extends AudioNode { declare var BiquadFilterNode: { prototype: BiquadFilterNode; - new(): BiquadFilterNode; + new(context: BaseAudioContext, options?: BiquadFilterOptions): BiquadFilterNode; }; interface Blob { readonly size: number; readonly type: string; - msClose(): void; - msDetachStream(): any; slice(start?: number, end?: number, contentType?: string): Blob; } declare var Blob: { prototype: Blob; - new (blobParts?: any[], options?: BlobPropertyBag): Blob; + new(blobParts?: BlobPart[], options?: BlobPropertyBag): Blob; }; -interface BlobPropertyBag { - endings?: string; - type?: string; -} - interface Body { + readonly body: ReadableStream | null; readonly bodyUsed: boolean; arrayBuffer(): Promise; blob(): Promise; @@ -2094,14 +2485,28 @@ interface Body { text(): Promise; } +interface BroadcastChannelEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + interface BroadcastChannel extends EventTarget { + /** + * Returns the channel name (as passed to the constructor). + */ readonly name: string; - onmessage: (ev: MessageEvent) => any; - onmessageerror: (ev: MessageEvent) => any; + onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + /** + * Closes the BroadcastChannel object, opening it up to garbage collection. + */ + close(): void; + /** + * Sends the given message to other BroadcastChannel objects set up for this channel. Messages can be structured objects, e.g. nested objects and arrays. + */ + postMessage(message: any): void; addEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - close(): void; - postMessage(message: any): void; removeEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } @@ -2194,8 +2599,8 @@ interface CSSKeyframesRule extends CSSRule { readonly cssRules: CSSRuleList; name: string; appendRule(rule: string): void; - deleteRule(rule: string): void; - findRule(rule: string): CSSKeyframeRule | null; + deleteRule(select: string): void; + findRule(select: string): CSSKeyframeRule | null; } declare var CSSKeyframesRule: { @@ -2725,13 +3130,13 @@ declare var CSSSupportsRule: { }; interface Cache { - add(request: Request | string): Promise; - addAll(requests: (Request | string)[]): Promise; - delete(request: Request | string, options?: CacheQueryOptions): Promise; - keys(request?: Request | string, options?: CacheQueryOptions): Promise; - match(request: Request | string, options?: CacheQueryOptions): Promise; - matchAll(request?: Request | string, options?: CacheQueryOptions): Promise; - put(request: Request | string, response: Response): Promise; + add(request: RequestInfo): Promise; + addAll(requests: RequestInfo[]): Promise; + delete(request: RequestInfo, options?: CacheQueryOptions): Promise; + keys(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + put(request: RequestInfo, response: Response): Promise; } declare var Cache: { @@ -2743,7 +3148,7 @@ interface CacheStorage { delete(cacheName: string): Promise; has(cacheName: string): Promise; keys(): Promise; - match(request: Request | string, options?: CacheQueryOptions): Promise; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; open(cacheName: string): Promise; } @@ -2861,7 +3266,7 @@ interface ChannelMergerNode extends AudioNode { declare var ChannelMergerNode: { prototype: ChannelMergerNode; - new(): ChannelMergerNode; + new(context: BaseAudioContext, options?: ChannelMergerOptions): ChannelMergerNode; }; interface ChannelSplitterNode extends AudioNode { @@ -2869,7 +3274,7 @@ interface ChannelSplitterNode extends AudioNode { declare var ChannelSplitterNode: { prototype: ChannelSplitterNode; - new(): ChannelSplitterNode; + new(context: BaseAudioContext, options?: ChannelSplitterOptions): ChannelSplitterNode; }; interface CharacterData extends Node, ChildNode { @@ -2963,14 +3368,6 @@ declare var CompositionEvent: { new(typeArg: string, eventInitDict?: CompositionEventInit): CompositionEvent; }; -interface ComputedTimingProperties { - activeDuration: number; - currentIteration: number | null; - endTime: number; - localTime: number | null; - progress: number | null; -} - interface ConcatParams extends Algorithm { algorithmId: Uint8Array; hash?: string | Algorithm; @@ -3015,14 +3412,17 @@ declare var Console: { new(): Console; }; -interface ContentScriptGlobalScope extends EventTarget { - readonly msContentScript: ExtensionScriptApis; - readonly window: Window; +interface ConstantSourceNode extends AudioScheduledSourceNode { + readonly offset: AudioParam; + addEventListener(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } -declare var ContentScriptGlobalScope: { - prototype: ContentScriptGlobalScope; - new(): ContentScriptGlobalScope; +declare var ConstantSourceNode: { + prototype: ConstantSourceNode; + new(context: BaseAudioContext, options?: ConstantSourceOptions): ConstantSourceNode; }; interface ConvolverNode extends AudioNode { @@ -3032,7 +3432,7 @@ interface ConvolverNode extends AudioNode { declare var ConvolverNode: { prototype: ConvolverNode; - new(): ConvolverNode; + new(context: BaseAudioContext, options?: ConvolverOptions): ConvolverNode; }; interface Coordinates { @@ -3045,11 +3445,6 @@ interface Coordinates { readonly speed: number | null; } -declare var Coordinates: { - prototype: Coordinates; - new(): Coordinates; -}; - interface CountQueuingStrategy { highWaterMark: number; size(): number; @@ -3062,7 +3457,7 @@ declare var CountQueuingStrategy: { interface Crypto { readonly subtle: SubtleCrypto; - getRandomValues(array: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | null): Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | null; + getRandomValues(array: T): T; } declare var Crypto: { @@ -3122,7 +3517,6 @@ interface DOMException { readonly code: number; readonly message: string; readonly name: string; - toString(): string; readonly ABORT_ERR: number; readonly DATA_CLONE_ERR: number; readonly DOMSTRING_SIZE_ERR: number; @@ -3140,10 +3534,8 @@ interface DOMException { readonly NOT_SUPPORTED_ERR: number; readonly NO_DATA_ALLOWED_ERR: number; readonly NO_MODIFICATION_ALLOWED_ERR: number; - readonly PARSE_ERR: number; readonly QUOTA_EXCEEDED_ERR: number; readonly SECURITY_ERR: number; - readonly SERIALIZE_ERR: number; readonly SYNTAX_ERR: number; readonly TIMEOUT_ERR: number; readonly TYPE_MISMATCH_ERR: number; @@ -3172,10 +3564,8 @@ declare var DOMException: { readonly NOT_SUPPORTED_ERR: number; readonly NO_DATA_ALLOWED_ERR: number; readonly NO_MODIFICATION_ALLOWED_ERR: number; - readonly PARSE_ERR: number; readonly QUOTA_EXCEEDED_ERR: number; readonly SECURITY_ERR: number; - readonly SERIALIZE_ERR: number; readonly SYNTAX_ERR: number; readonly TIMEOUT_ERR: number; readonly TYPE_MISMATCH_ERR: number; @@ -3204,6 +3594,108 @@ interface DOML2DeprecatedSizeProperty { size: number; } +interface DOMMatrix extends DOMMatrixReadOnly { + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + m11: number; + m12: number; + m13: number; + m14: number; + m21: number; + m22: number; + m23: number; + m24: number; + m31: number; + m32: number; + m33: number; + m34: number; + m41: number; + m42: number; + m43: number; + m44: number; + invertSelf(): DOMMatrix; + multiplySelf(other?: DOMMatrixInit): DOMMatrix; + preMultiplySelf(other?: DOMMatrixInit): DOMMatrix; + rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; + rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + setMatrixValue(transformList: string): DOMMatrix; + skewXSelf(sx?: number): DOMMatrix; + skewYSelf(sy?: number): DOMMatrix; + translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrix: { + prototype: DOMMatrix; + new(init?: string | number[]): DOMMatrix; + fromFloat32Array(array32: Float32Array): DOMMatrix; + fromFloat64Array(array64: Float64Array): DOMMatrix; + fromMatrix(other?: DOMMatrixInit): DOMMatrix; +}; + +type SVGMatrix = DOMMatrix; +declare var SVGMatrix: typeof DOMMatrix; + +type WebKitCSSMatrix = DOMMatrix; +declare var WebKitCSSMatrix: typeof DOMMatrix; + +interface DOMMatrixReadOnly { + readonly a: number; + readonly b: number; + readonly c: number; + readonly d: number; + readonly e: number; + readonly f: number; + readonly is2D: boolean; + readonly isIdentity: boolean; + readonly m11: number; + readonly m12: number; + readonly m13: number; + readonly m14: number; + readonly m21: number; + readonly m22: number; + readonly m23: number; + readonly m24: number; + readonly m31: number; + readonly m32: number; + readonly m33: number; + readonly m34: number; + readonly m41: number; + readonly m42: number; + readonly m43: number; + readonly m44: number; + flipX(): DOMMatrix; + flipY(): DOMMatrix; + inverse(): DOMMatrix; + multiply(other?: DOMMatrixInit): DOMMatrix; + rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVector(x?: number, y?: number): DOMMatrix; + scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + skewX(sx?: number): DOMMatrix; + skewY(sy?: number): DOMMatrix; + toFloat32Array(): Float32Array; + toFloat64Array(): Float64Array; + toJSON(): any; + transformPoint(point?: DOMPointInit): DOMPoint; + translate(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrixReadOnly: { + prototype: DOMMatrixReadOnly; + new(init?: string | number[]): DOMMatrixReadOnly; + fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly; + fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly; + fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly; +}; + interface DOMParser { parseFromString(source: string, mimeType: string): Document; } @@ -3213,6 +3705,53 @@ declare var DOMParser: { new(): DOMParser; }; +interface DOMPoint extends DOMPointReadOnly { + w: number; + x: number; + y: number; + z: number; +} + +declare var DOMPoint: { + prototype: DOMPoint; + new(x?: number, y?: number, z?: number, w?: number): DOMPoint; + fromPoint(other?: DOMPointInit): DOMPoint; +}; + +type SVGPoint = DOMPoint; +declare var SVGPoint: typeof DOMPoint; + +interface DOMPointReadOnly { + readonly w: number; + readonly x: number; + readonly y: number; + readonly z: number; + matrixTransform(matrix?: DOMMatrixInit): DOMPoint; + toJSON(): any; +} + +declare var DOMPointReadOnly: { + prototype: DOMPointReadOnly; + new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly; + fromPoint(other?: DOMPointInit): DOMPointReadOnly; +}; + +interface DOMQuad { + readonly p1: DOMPoint; + readonly p2: DOMPoint; + readonly p3: DOMPoint; + readonly p4: DOMPoint; + getBounds(): DOMRect; + toJSON(): any; +} + +declare var DOMQuad: { + prototype: DOMQuad; + new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad; + fromQuad(other?: DOMQuadInit): DOMQuad; + fromRect(other?: DOMRectInit): DOMQuad; +}; + interface DOMRect extends DOMRectReadOnly { height: number; width: number; @@ -3222,16 +3761,24 @@ interface DOMRect extends DOMRectReadOnly { declare var DOMRect: { prototype: DOMRect; - new (x?: number, y?: number, width?: number, height?: number): DOMRect; - fromRect(rectangle?: DOMRectInit): DOMRect; + new(x?: number, y?: number, width?: number, height?: number): DOMRect; + fromRect(other?: DOMRectInit): DOMRect; }; +type SVGRect = DOMRect; +declare var SVGRect: typeof DOMRect; + interface DOMRectList { readonly length: number; item(index: number): DOMRect | null; [index: number]: DOMRect; } +declare var DOMRectList: { + prototype: DOMRectList; + new(): DOMRectList; +}; + interface DOMRectReadOnly { readonly bottom: number; readonly height: number; @@ -3241,12 +3788,13 @@ interface DOMRectReadOnly { readonly width: number; readonly x: number; readonly y: number; + toJSON(): any; } declare var DOMRectReadOnly: { prototype: DOMRectReadOnly; - new (x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly; - fromRect(rectangle?: DOMRectInit): DOMRectReadOnly; + new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly; + fromRect(other?: DOMRectInit): DOMRectReadOnly; }; interface DOMSettableTokenList extends DOMTokenList { @@ -3259,8 +3807,18 @@ declare var DOMSettableTokenList: { }; interface DOMStringList { + /** + * Returns the number of strings in strings. + */ readonly length: number; - contains(str: string): boolean; + /** + * Returns true if strings contains string, and false + * otherwise. + */ + contains(string: string): boolean; + /** + * Returns the string with index index from strings. + */ item(index: number): string | null; [index: number]: string; } @@ -3373,7 +3931,7 @@ interface DelayNode extends AudioNode { declare var DelayNode: { prototype: DelayNode; - new(): DelayNode; + new(context: BaseAudioContext, options?: DelayOptions): DelayNode; }; interface DeviceAcceleration { @@ -3559,22 +4117,27 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent /** * Sets or gets the color of all active links in the document. */ + /** @deprecated */ alinkColor: string; /** * Returns a reference to the collection of elements contained by the object. */ + /** @deprecated */ readonly all: HTMLAllCollection; /** * Retrieves a collection of all a objects that have a name and/or id property. Objects in this collection are in HTML source order. */ + /** @deprecated */ readonly anchors: HTMLCollectionOf; /** * Retrieves a collection of all applet objects in the document. */ + /** @deprecated */ readonly applets: HTMLCollectionOf; /** * Deprecated. Sets or retrieves a value that indicates the background color behind the object. */ + /** @deprecated */ bgColor: string; /** * Specifies the beginning and end of the document body. @@ -3619,6 +4182,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent /** * Sets or gets the foreground (text) color of the document. */ + /** @deprecated */ fgColor: string; /** * Retrieves a collection, in source order, of all form objects in the document. @@ -3647,6 +4211,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent /** * Sets or gets the color of the document links. */ + /** @deprecated */ linkColor: string; /** * Retrieves a collection of all a objects that specify the href property and all area objects in the document. @@ -3950,10 +4515,6 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent * @param ev The event. */ ontimeupdate: ((this: Document, ev: Event) => any) | null; - ontouchcancel: ((this: Document, ev: TouchEvent) => any) | null; - ontouchend: ((this: Document, ev: TouchEvent) => any) | null; - ontouchmove: ((this: Document, ev: TouchEvent) => any) | null; - ontouchstart: ((this: Document, ev: TouchEvent) => any) | null; onvisibilitychange: (this: Document, ev: Event) => any; /** * Occurs when the volume is changed, or playback is muted or unmuted. @@ -3990,6 +4551,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent * Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document. */ readonly styleSheets: StyleSheetList; + readonly timeline: DocumentTimeline; /** * Contains the title of the document. */ @@ -3998,6 +4560,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent /** * Sets or gets the color of the links that the user has visited. */ + /** @deprecated */ vlinkColor: string; readonly webkitCurrentFullScreenElement: Element | null; readonly webkitFullscreenElement: Element | null; @@ -4010,8 +4573,10 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent */ xmlVersion: string | null; adoptNode(source: T): T; + /** @deprecated */ captureEvents(): void; caretRangeFromPoint(x: number, y: number): Range; + /** @deprecated */ clear(): void; /** * Closes an output stream and forces the sent data to display. @@ -4160,6 +4725,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent */ /** @deprecated */ focus(): void; + getAnimations(): Animation[]; /** * Returns a reference to the first object with the specified value of the ID or NAME attribute. * @param elementId String that specifies the ID value. Case-insensitive. @@ -4230,6 +4796,7 @@ interface Document extends Node, GlobalEventHandlers, ParentNode, DocumentEvent * @param commandId String that specifies a command identifier. */ queryCommandValue(commandId: string): string; + /** @deprecated */ releaseEvents(): void; updateSettings(): void; webkitCancelFullScreen(): void; @@ -4302,12 +4869,17 @@ interface DocumentEvent { createEvent(eventInterface: "ProgressEvent"): ProgressEvent; createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent; createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; + createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; createEvent(eventInterface: "RTCDtlsTransportStateChangedEvent"): RTCDtlsTransportStateChangedEvent; + createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent; createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent; createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent; createEvent(eventInterface: "RTCIceTransportStateChangedEvent"): RTCIceTransportStateChangedEvent; + createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; + createEvent(eventInterface: "RTCStatsEvent"): RTCStatsEvent; + createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; createEvent(eventInterface: "SecurityPolicyViolationEvent"): SecurityPolicyViolationEvent; @@ -4344,6 +4916,14 @@ interface DocumentOrShadowRoot { getSelection(): Selection | null; } +interface DocumentTimeline extends AnimationTimeline { +} + +declare var DocumentTimeline: { + prototype: DocumentTimeline; + new(options?: DocumentTimelineOptions): DocumentTimeline; +}; + interface DocumentType extends Node, ChildNode { readonly entities: NamedNodeMap; readonly internalSubset: string | null; @@ -4380,7 +4960,7 @@ interface DynamicsCompressorNode extends AudioNode { declare var DynamicsCompressorNode: { prototype: DynamicsCompressorNode; - new(): DynamicsCompressorNode; + new(context: BaseAudioContext, options?: DynamicsCompressorOptions): DynamicsCompressorNode; }; interface EXT_blend_minmax { @@ -4443,7 +5023,7 @@ interface ElementEventMap extends GlobalEventHandlersEventMap { "webkitfullscreenerror": Event; } -interface Element extends Node, GlobalEventHandlers, ElementTraversal, ParentNode, ChildNode { +interface Element extends Node, GlobalEventHandlers, ElementTraversal, ParentNode, ChildNode, Animatable { readonly assignedSlot: HTMLSlotElement | null; readonly attributes: NamedNodeMap; readonly classList: DOMTokenList; @@ -4458,8 +5038,6 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, ParentNod readonly msRegionOverflow: string; onariarequest: ((this: Element, ev: Event) => any) | null; oncommand: ((this: Element, ev: Event) => any) | null; - ongotpointercapture: ((this: Element, ev: PointerEvent) => any) | null; - onlostpointercapture: ((this: Element, ev: PointerEvent) => any) | null; onmsgesturechange: ((this: Element, ev: Event) => any) | null; onmsgesturedoubletap: ((this: Element, ev: Event) => any) | null; onmsgestureend: ((this: Element, ev: Event) => any) | null; @@ -4477,10 +5055,6 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, ParentNod onmspointerout: ((this: Element, ev: Event) => any) | null; onmspointerover: ((this: Element, ev: Event) => any) | null; onmspointerup: ((this: Element, ev: Event) => any) | null; - ontouchcancel: ((this: Element, ev: TouchEvent) => any) | null; - ontouchend: ((this: Element, ev: TouchEvent) => any) | null; - ontouchmove: ((this: Element, ev: TouchEvent) => any) | null; - ontouchstart: ((this: Element, ev: TouchEvent) => any) | null; onwebkitfullscreenchange: ((this: Element, ev: Event) => any) | null; onwebkitfullscreenerror: ((this: Element, ev: Event) => any) | null; outerHTML: string; @@ -4512,6 +5086,7 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, ParentNod hasAttribute(name: string): boolean; hasAttributeNS(namespaceURI: string, localName: string): boolean; hasAttributes(): boolean; + hasPointerCapture(pointerId: number): boolean; insertAdjacentElement(position: InsertPosition, insertedElement: Element): Element | null; insertAdjacentHTML(where: InsertPosition, html: string): void; insertAdjacentText(where: InsertPosition, text: string): void; @@ -4592,12 +5167,12 @@ interface Event { readonly bubbles: boolean; cancelBubble: boolean; readonly cancelable: boolean; + readonly composed: boolean; readonly currentTarget: EventTarget | null; readonly defaultPrevented: boolean; readonly eventPhase: number; readonly isTrusted: boolean; returnValue: boolean; - readonly scoped: boolean; readonly srcElement: Element | null; readonly target: EventTarget | null; readonly timeStamp: number; @@ -4677,24 +5252,20 @@ declare var ExtensionScriptApis: { }; interface External { + /** @deprecated */ + AddSearchProvider(): void; + /** @deprecated */ + IsSearchProviderInstalled(): void; } -declare var External: { - prototype: External; - new(): External; -}; - interface File extends Blob { readonly lastModified: number; - /** @deprecated */ - readonly lastModifiedDate: Date; readonly name: string; - readonly webkitRelativePath: string; } declare var File: { prototype: File; - new (parts: (ArrayBuffer | ArrayBufferView | Blob | string)[], filename: string, properties?: FilePropertyBag): File; + new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File; }; interface FileList { @@ -4708,10 +5279,6 @@ declare var FileList: { new(): FileList; }; -interface FilePropertyBag extends BlobPropertyBag { - lastModified?: number; -} - interface FileReaderEventMap { "abort": ProgressEvent; "error": ProgressEvent; @@ -4723,14 +5290,14 @@ interface FileReaderEventMap { interface FileReader extends EventTarget { readonly error: DOMException | null; - onabort: ((this: FileReader, ev: FileReaderProgressEvent) => any) | null; - onerror: ((this: FileReader, ev: FileReaderProgressEvent) => any) | null; - onload: ((this: FileReader, ev: FileReaderProgressEvent) => any) | null; - onloadend: ((this: FileReader, ev: FileReaderProgressEvent) => any) | null; - onloadstart: ((this: FileReader, ev: FileReaderProgressEvent) => any) | null; - onprogress: ((this: FileReader, ev: FileReaderProgressEvent) => any) | null; + onabort: ((this: FileReader, ev: ProgressEvent) => any) | null; + onerror: ((this: FileReader, ev: ProgressEvent) => any) | null; + onload: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadend: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadstart: ((this: FileReader, ev: ProgressEvent) => any) | null; + onprogress: ((this: FileReader, ev: ProgressEvent) => any) | null; readonly readyState: number; - readonly result: any; + readonly result: string | ArrayBuffer | null; abort(): void; readAsArrayBuffer(blob: Blob): void; readAsBinaryString(blob: Blob): void; @@ -4753,10 +5320,6 @@ declare var FileReader: { readonly LOADING: number; }; -interface FileReaderProgressEvent extends ProgressEvent { - readonly target: FileReader | null; -} - interface FocusEvent extends UIEvent { readonly relatedTarget: EventTarget; initFocusEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, relatedTargetArg: EventTarget): void; @@ -4788,12 +5351,12 @@ interface FormData { getAll(name: string): FormDataEntryValue[]; has(name: string): boolean; set(name: string, value: string | Blob, fileName?: string): void; + forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void; } declare var FormData: { prototype: FormData; - new(): FormData; - new(form: HTMLFormElement): FormData; + new(form?: HTMLFormElement): FormData; }; interface GainNode extends AudioNode { @@ -4802,7 +5365,7 @@ interface GainNode extends AudioNode { declare var GainNode: { prototype: GainNode; - new(): GainNode; + new(context: BaseAudioContext, options?: GainOptions): GainNode; }; interface Gamepad { @@ -4876,16 +5439,17 @@ interface Geolocation { watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): number; } -declare var Geolocation: { - prototype: Geolocation; - new(): Geolocation; -}; - interface GetSVGDocument { getSVGDocument(): Document; } interface GlobalEventHandlersEventMap { + "animationcancel": AnimationEvent; + "animationend": AnimationEvent; + "animationiteration": AnimationEvent; + "animationstart": AnimationEvent; + "gotpointercapture": PointerEvent; + "lostpointercapture": PointerEvent; "pointercancel": PointerEvent; "pointerdown": PointerEvent; "pointerenter": PointerEvent; @@ -4894,10 +5458,24 @@ interface GlobalEventHandlersEventMap { "pointerout": PointerEvent; "pointerover": PointerEvent; "pointerup": PointerEvent; + "touchcancel": TouchEvent; + "touchend": TouchEvent; + "touchmove": TouchEvent; + "touchstart": TouchEvent; + "transitioncancel": TransitionEvent; + "transitionend": TransitionEvent; + "transitionrun": TransitionEvent; + "transitionstart": TransitionEvent; "wheel": WheelEvent; } interface GlobalEventHandlers { + onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; + onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; + onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; + onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; + ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; @@ -4906,6 +5484,14 @@ interface GlobalEventHandlers { onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; + ontouchcancel: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null; + ontouchend: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null; + ontouchmove: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null; + ontouchstart: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null; + ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; + ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; + ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; + ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null; addEventListener(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -4918,8 +5504,17 @@ interface GlobalFetch { } interface HTMLAllCollection { + /** + * Returns the number of elements in the collection. + */ readonly length: number; + /** + * element = collection(index) + */ item(nameOrIndex?: string): HTMLCollection | Element | null; + /** + * element = collection(name) + */ namedItem(name: string): HTMLCollection | Element | null; [index: number]: Element; } @@ -4958,6 +5553,7 @@ interface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils { * Sets or retrieves the relationship between the object and the destination of the link. */ rel: string; + readonly relList: DOMTokenList; /** * Sets or retrieves the relationship between the object and the destination of the link. */ @@ -5055,6 +5651,7 @@ interface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils { /** @deprecated */ noHref: boolean; rel: string; + readonly relList: DOMTokenList; /** * Sets or retrieves the shape of the object. */ @@ -5222,11 +5819,11 @@ interface HTMLButtonElement extends HTMLElement { * Overrides the target attribute on a form element. */ formTarget: string; + readonly labels: NodeListOf; /** * Sets or retrieves the name of the object. */ name: string; - status: any; /** * Gets the classification and default behavior of the button. */ @@ -5251,6 +5848,7 @@ interface HTMLButtonElement extends HTMLElement { * Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; + reportValidity(): boolean; /** * Sets a custom error message that is displayed when a form is submitted. * @param error Sets a custom error message that is displayed when a form is submitted. @@ -5331,6 +5929,7 @@ declare var HTMLCollection: { interface HTMLCollectionOf extends HTMLCollectionBase { item(index: number): T; namedItem(name: string): T; + forEach(callbackfn: (value: T, key: number, parent: HTMLCollectionOf) => void, thisArg?: any): void; [index: number]: T; } @@ -5405,6 +6004,7 @@ declare var HTMLDialogElement: { }; interface HTMLDirectoryElement extends HTMLElement { + /** @deprecated */ compact: boolean; addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -5607,7 +6207,6 @@ interface HTMLElement extends Element, ElementCSSInlineStyle { spellcheck: boolean; tabIndex: number; title: string; - animate(keyframes: AnimationKeyFrame | AnimationKeyFrame[], options: number | AnimationOptions): Animation; blur(): void; click(): void; dragDrop(): boolean; @@ -5625,6 +6224,8 @@ declare var HTMLElement: { }; interface HTMLEmbedElement extends HTMLElement, GetSVGDocument { + /** @deprecated */ + align: string; /** * Sets or retrieves the height of the object. */ @@ -5684,16 +6285,14 @@ declare var HTMLEmbedElement: { }; interface HTMLFieldSetElement extends HTMLElement { - /** - * Sets or retrieves how the object is aligned with adjacent text. - */ - align: string; disabled: boolean; + readonly elements: HTMLCollection; /** * Retrieves a reference to the form that the object is embedded in. */ readonly form: HTMLFormElement | null; name: string; + readonly type: string; /** * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ @@ -5710,6 +6309,7 @@ interface HTMLFieldSetElement extends HTMLElement { * Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; + reportValidity(): boolean; /** * Sets a custom error message that is displayed when a form is submitted. * @param error Sets a custom error message that is displayed when a form is submitted. @@ -5726,12 +6326,16 @@ declare var HTMLFieldSetElement: { new(): HTMLFieldSetElement; }; -interface HTMLFontElement extends HTMLElement, DOML2DeprecatedColorProperty, DOML2DeprecatedSizeProperty { +interface HTMLFontElement extends HTMLElement { + /** @deprecated */ + color: string; /** * Sets or retrieves the current typeface family. */ /** @deprecated */ face: string; + /** @deprecated */ + size: string; addEventListener(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -5744,7 +6348,10 @@ declare var HTMLFontElement: { }; interface HTMLFormControlsCollection extends HTMLCollectionBase { - namedItem(name: string): HTMLCollection | Element | null; + /** + * element = collection[name] + */ + namedItem(name: string): RadioNodeList | Element | null; } declare var HTMLFormControlsCollection: { @@ -5832,19 +6439,7 @@ declare var HTMLFormElement: { new(): HTMLFormElement; }; -interface HTMLFrameElementEventMap extends HTMLElementEventMap { - "load": Event; -} - -interface HTMLFrameElement extends HTMLElement, GetSVGDocument { - /** - * Specifies the properties of a border drawn around an object. - */ - border: string; - /** - * Sets or retrieves the border color of the object. - */ - borderColor: any; +interface HTMLFrameElement extends HTMLElement { /** * Retrieves the document object of the page or frame. */ @@ -5860,14 +6455,6 @@ interface HTMLFrameElement extends HTMLElement, GetSVGDocument { */ /** @deprecated */ frameBorder: string; - /** - * Sets or retrieves the amount of additional space between the frames. - */ - frameSpacing: any; - /** - * Sets or retrieves the height of the object. - */ - height: string | number; /** * Sets or retrieves a URI to a long description of the object. */ @@ -5903,13 +6490,9 @@ interface HTMLFrameElement extends HTMLElement, GetSVGDocument { */ /** @deprecated */ src: string; - /** - * Sets or retrieves the width of the object. - */ - width: string | number; - addEventListener(type: K, listener: (this: HTMLFrameElement, ev: HTMLFrameElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: HTMLFrameElement, ev: HTMLFrameElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } @@ -5918,33 +6501,22 @@ declare var HTMLFrameElement: { new(): HTMLFrameElement; }; -interface HTMLFrameSetElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap { - "blur": FocusEvent; - "error": ErrorEvent; - "focus": FocusEvent; - "load": Event; - "orientationchange": Event; - "resize": UIEvent; - "scroll": UIEvent; -} - interface HTMLFrameSetElement extends HTMLElement, WindowEventHandlers { /** * Sets or retrieves the frame widths of the object. */ /** @deprecated */ cols: string; - name: string; - onorientationchange: ((this: HTMLFrameSetElement, ev: Event) => any) | null; - onresize: ((this: HTMLFrameSetElement, ev: UIEvent) => any) | null; /** * Sets or retrieves the frame heights of the object. */ /** @deprecated */ rows: string; - addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } @@ -5953,17 +6525,21 @@ declare var HTMLFrameSetElement: { new(): HTMLFrameSetElement; }; -interface HTMLHRElement extends HTMLElement, DOML2DeprecatedColorProperty, DOML2DeprecatedSizeProperty { +interface HTMLHRElement extends HTMLElement { /** * Sets or retrieves how the object is aligned with adjacent text. */ /** @deprecated */ align: string; + /** @deprecated */ + color: string; /** * Sets or retrieves whether the horizontal rule is drawn with 3-D shading. */ /** @deprecated */ noShade: boolean; + /** @deprecated */ + size: string; /** * Sets or retrieves the width of the object. */ @@ -6156,6 +6732,7 @@ interface HTMLImageElement extends HTMLElement { /** * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object. */ + /** @deprecated */ longDesc: string; /** @deprecated */ lowsrc: string; @@ -6458,9 +7035,6 @@ declare var HTMLLabelElement: { }; interface HTMLLegendElement extends HTMLElement { - /** - * Retrieves a reference to the form that the object is embedded in. - */ /** @deprecated */ align: string; /** @@ -6505,6 +7079,7 @@ interface HTMLLinkElement extends HTMLElement, LinkStyle { * Sets or retrieves the relationship between the object and the destination of the link. */ rel: string; + readonly relList: DOMTokenList; /** * Sets or retrieves the relationship between the object and the destination of the link. */ @@ -6864,6 +7439,7 @@ declare var HTMLMetaElement: { interface HTMLMeterElement extends HTMLElement { high: number; + readonly labels: NodeListOf; low: number; max: number; min: number; @@ -7104,9 +7680,30 @@ declare var HTMLOptionElement: { }; interface HTMLOptionsCollection extends HTMLCollectionOf { + /** + * Returns the number of elements in the collection. + * When set to a smaller number, truncates the number of option elements in the corresponding container. + * When set to a greater number, adds new blank option elements to that container. + */ length: number; + /** + * Returns the index of the first selected item, if any, or −1 if there is no selected + * item. + * Can be set, to change the selection. + */ selectedIndex: number; - add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void; + /** + * Inserts element before the node given by before. + * The before argument can be a number, in which case element is inserted before the item with that number, or an element from the + * collection, in which case element is inserted before that element. + * If before is omitted, null, or a number out of range, then element will be added at the end of the list. + * This method will throw a "HierarchyRequestError" DOMException if + * element is an ancestor of the element into which it is to be inserted. + */ + add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number): void; + /** + * Removes the item with index index from the collection. + */ remove(index: number): void; } @@ -7119,6 +7716,7 @@ interface HTMLOutputElement extends HTMLElement { defaultValue: string; readonly form: HTMLFormElement | null; readonly htmlFor: DOMTokenList; + readonly labels: NodeListOf; name: string; readonly type: string; readonly validationMessage: string; @@ -7217,10 +7815,7 @@ declare var HTMLPreElement: { }; interface HTMLProgressElement extends HTMLElement { - /** - * Retrieves a reference to the form that the object is embedded in. - */ - readonly form: HTMLFormElement | null; + readonly labels: NodeListOf; /** * Defines the maximum, or "done" value for a progress element. */ @@ -7265,6 +7860,7 @@ interface HTMLScriptElement extends HTMLElement { /** * Sets or retrieves the character set used to encode the object. */ + /** @deprecated */ charset: string; crossOrigin: string | null; /** @@ -7307,6 +7903,7 @@ declare var HTMLScriptElement: { }; interface HTMLSelectElement extends HTMLElement { + autocomplete: string; /** * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. */ @@ -7316,6 +7913,7 @@ interface HTMLSelectElement extends HTMLElement { * Retrieves a reference to the form that the object is embedded in. */ readonly form: HTMLFormElement | null; + readonly labels: NodeListOf; /** * Sets or retrieves the number of objects in a collection. */ @@ -7367,7 +7965,7 @@ interface HTMLSelectElement extends HTMLElement { * @param element Variant of type Number that specifies the index position in the collection where the element is placed. If no value is given, the method places the element at the end of the collection. * @param before Variant of type Object that specifies an element to insert before, or null to append the object to the collection. */ - add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void; + add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number): void; /** * Returns whether a form will validate when it is submitted, without having to submit it. */ @@ -7377,17 +7975,19 @@ interface HTMLSelectElement extends HTMLElement { * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is an integer, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made. * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned. */ - item(name?: any, index?: any): Element | null; + item(index: number): Element | null; /** * Retrieves a select object or an object from an options collection. * @param namedItem A String that specifies the name or id property of the object to retrieve. A collection is returned if more than one match is made. */ - namedItem(name: string): any; + namedItem(name: string): HTMLOptionElement | null; /** * Removes an element from the collection. * @param index Number that specifies the zero-based index of the element to remove from the collection. */ - remove(index?: number): void; + remove(): void; + remove(index: number): void; + reportValidity(): boolean; /** * Sets a custom error message that is displayed when a form is submitted. * @param error Sets a custom error message that is displayed when a form is submitted. @@ -7397,7 +7997,7 @@ interface HTMLSelectElement extends HTMLElement { addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; - [name: string]: any; + [index: number]: Element; } declare var HTMLSelectElement: { @@ -7464,6 +8064,7 @@ interface HTMLStyleElement extends HTMLElement, LinkStyle { /** * Retrieves the CSS language in which the style sheet is written. */ + /** @deprecated */ type: string; addEventListener(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -7841,6 +8442,7 @@ declare var HTMLTemplateElement: { }; interface HTMLTextAreaElement extends HTMLElement { + autocomplete: string; /** * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. */ @@ -7853,11 +8455,13 @@ interface HTMLTextAreaElement extends HTMLElement { * Sets or retrieves the initial contents of the object. */ defaultValue: string; + dirName: string; disabled: boolean; /** * Retrieves a reference to the form that the object is embedded in. */ readonly form: HTMLFormElement | null; + readonly labels: NodeListOf; /** * Sets or retrieves the maximum number of characters that the user can enter in a text control. */ @@ -7883,6 +8487,7 @@ interface HTMLTextAreaElement extends HTMLElement { * Sets or retrieves the number of horizontal rows contained in the object. */ rows: number; + selectionDirection: string; /** * Gets or sets the end position or offset of a text selection. */ @@ -7891,6 +8496,7 @@ interface HTMLTextAreaElement extends HTMLElement { * Gets or sets the starting position or offset of a text selection. */ selectionStart: number; + readonly textLength: number; /** * Retrieves the type of control. */ @@ -7919,6 +8525,7 @@ interface HTMLTextAreaElement extends HTMLElement { * Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; + reportValidity(): boolean; /** * Highlights the input area of a form element. */ @@ -7928,6 +8535,8 @@ interface HTMLTextAreaElement extends HTMLElement { * @param error Sets a custom error message that is displayed when a form is submitted. */ setCustomValidity(error: string): void; + setRangeText(replacement: string): void; + setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void; /** * Sets the start and end positions of a selection in a text field. * @param start The offset into the text field for the start of the selection. @@ -8087,15 +8696,6 @@ declare var HTMLVideoElement: { new(): HTMLVideoElement; }; -interface HTMLegendElement { - readonly form: HTMLFormElement | null; -} - -declare var HTMLegendElement: { - prototype: HTMLegendElement; - new(): HTMLegendElement; -}; - interface HashChangeEvent extends Event { readonly newURL: string; readonly oldURL: string; @@ -8109,10 +8709,10 @@ declare var HashChangeEvent: { interface Headers { append(name: string, value: string): void; delete(name: string): void; - forEach(callback: Function, thisArg?: any): void; get(name: string): string | null; has(name: string): boolean; set(name: string, value: string): void; + forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void; } declare var Headers: { @@ -8142,34 +8742,66 @@ interface HkdfCtrParams extends Algorithm { label: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; } -interface IDBArrayKey extends Array { +interface IDBArrayKey extends Array { } interface IDBCursor { + /** + * Returns the direction ("next", "nextunique", "prev" or "prevunique") + * of the cursor. + */ readonly direction: IDBCursorDirection; - readonly key: IDBKeyRange | number | string | Date | IDBArrayKey; - readonly primaryKey: any; + /** + * Returns the key of the cursor. + * Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly key: IDBValidKey | IDBKeyRange; + /** + * Returns the effective key of the cursor. + * Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly primaryKey: IDBValidKey | IDBKeyRange; + /** + * Returns the IDBObjectStore or IDBIndex the cursor was opened from. + */ readonly source: IDBObjectStore | IDBIndex; + /** + * Advances the cursor through the next count records in + * range. + */ advance(count: number): void; - continue(key?: IDBKeyRange | number | string | Date | IDBArrayKey): void; + /** + * Advances the cursor to the next record in range matching or + * after key. + */ + continue(key?: IDBValidKey | IDBKeyRange): void; + /** + * Advances the cursor to the next record in range matching + * or after key and primaryKey. Throws an "InvalidAccessError" DOMException if the source is not an index. + */ + continuePrimaryKey(key: IDBValidKey | IDBKeyRange, primaryKey: IDBValidKey | IDBKeyRange): void; + /** + * Delete the record pointed at by the cursor with a new value. + * If successful, request's result will be undefined. + */ delete(): IDBRequest; + /** + * Updated the record pointed at by the cursor with a new value. + * Throws a "DataError" DOMException if the effective object store uses in-line keys and the key would have changed. + * If successful, request's result will be the record's key. + */ update(value: any): IDBRequest; - readonly NEXT: string; - readonly NEXT_NO_DUPLICATE: string; - readonly PREV: string; - readonly PREV_NO_DUPLICATE: string; } declare var IDBCursor: { prototype: IDBCursor; new(): IDBCursor; - readonly NEXT: string; - readonly NEXT_NO_DUPLICATE: string; - readonly PREV: string; - readonly PREV_NO_DUPLICATE: string; }; interface IDBCursorWithValue extends IDBCursor { + /** + * Returns the cursor's current value. + */ readonly value: any; } @@ -8180,19 +8812,46 @@ declare var IDBCursorWithValue: { interface IDBDatabaseEventMap { "abort": Event; + "close": Event; "error": Event; + "versionchange": IDBVersionChangeEvent; } interface IDBDatabase extends EventTarget { + /** + * Returns the name of the database. + */ readonly name: string; + /** + * Returns a list of the names of object stores in the database. + */ readonly objectStoreNames: DOMStringList; onabort: ((this: IDBDatabase, ev: Event) => any) | null; + onclose: ((this: IDBDatabase, ev: Event) => any) | null; onerror: ((this: IDBDatabase, ev: Event) => any) | null; - onversionchange: ((this: IDBDatabase, ev: Event) => any) | null; + onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null; + /** + * Returns the version of the database. + */ readonly version: number; + /** + * Closes the connection once all running transactions have finished. + */ close(): void; + /** + * Creates a new object store with the given name and options and returns a new IDBObjectStore. + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; + /** + * Deletes the object store with the given name. + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ deleteObjectStore(name: string): void; + /** + * Returns a new transaction with the given mode ("readonly" or "readwrite") + * and scope which can be a single object store name or an array of names. + */ transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -8210,8 +8869,26 @@ interface IDBEnvironment { } interface IDBFactory { + /** + * Compares two values as keys. Returns -1 if key1 precedes key2, 1 if key2 precedes key1, and 0 if + * the keys are equal. + * Throws a "DataError" DOMException if either input is not a valid key. + */ cmp(first: any, second: any): number; + /** + * Attempts to delete the named database. If the + * database already exists and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close. If the request + * is successful request's result will be null. + */ deleteDatabase(name: string): IDBOpenDBRequest; + /** + * Attempts to open a connection to the named database with the specified version. If the database already exists + * with a lower version and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close, then an upgrade + * will occur. If the database already exists with a higher + * version the request will fail. If the request is + * successful request's result will + * be the connection. + */ open(name: string, version?: number): IDBOpenDBRequest; } @@ -8222,15 +8899,57 @@ declare var IDBFactory: { interface IDBIndex { readonly keyPath: string | string[]; - multiEntry: boolean; - readonly name: string; + readonly multiEntry: boolean; + /** + * Updates the name of the store to newName. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + name: string; + /** + * Returns the IDBObjectStore the index belongs to. + */ readonly objectStore: IDBObjectStore; readonly unique: boolean; - count(key?: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; - get(key: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; - getKey(key: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; - openCursor(range?: IDBKeyRange | number | string | Date | IDBArrayKey, direction?: IDBCursorDirection): IDBRequest; - openKeyCursor(range?: IDBKeyRange | number | string | Date | IDBArrayKey, direction?: IDBCursorDirection): IDBRequest; + /** + * Retrieves the number of records matching the given key or key range in query. + * If successful, request's result will be the + * count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the value of the first record matching the + * given key or key range in query. + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the given key or key range in query (up to count if given). + * If successful, request's result will be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the given key or key range in query (up to count if given). + * If successful, request's result will be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the + * given key or key range in query. + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Opens a cursor over the records matching query, + * ordered by direction. If query is null, all records in index are matched. + * If successful, request's result will be an IDBCursorWithValue, or null if there were no matching records. + */ + openCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in index are matched. + * If successful, request's result will be an IDBCursor, or null if there were no matching records. + */ + openKeyCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; } declare var IDBIndex: { @@ -8239,37 +8958,150 @@ declare var IDBIndex: { }; interface IDBKeyRange { + /** + * Returns lower bound, or undefined if none. + */ readonly lower: any; + /** + * Returns true if the lower open flag is set, and false otherwise. + */ readonly lowerOpen: boolean; + /** + * Returns upper bound, or undefined if none. + */ readonly upper: any; + /** + * Returns true if the upper open flag is set, and false otherwise. + */ readonly upperOpen: boolean; + /** + * Returns true if key is included in the range, and false otherwise. + */ + includes(key: any): boolean; } declare var IDBKeyRange: { prototype: IDBKeyRange; new(): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning from lower to upper. + * If lowerOpen is true, lower is not included in the range. + * If upperOpen is true, upper is not included in the range. + */ bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange starting at key with no + * upper bound. If open is true, key is not included in the + * range. + */ lowerBound(lower: any, open?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning only key. + */ only(value: any): IDBKeyRange; + /** + * Returns a new IDBKeyRange with no lower bound and ending at key. If open is true, key is not included in the range. + */ upperBound(upper: any, open?: boolean): IDBKeyRange; }; interface IDBObjectStore { - autoIncrement: boolean; + /** + * Returns true if the store has a key generator, and false otherwise. + */ + readonly autoIncrement: boolean; + /** + * Returns a list of the names of indexes in the store. + */ readonly indexNames: DOMStringList; - readonly keyPath: string | string[] | null; - readonly name: string; + /** + * Returns the key path of the store, or null if none. + */ + readonly keyPath: string | string[]; + /** + * Updates the name of the store to newName. + * Throws "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + name: string; + /** + * Returns the associated transaction. + */ readonly transaction: IDBTransaction; - add(value: any, key?: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; + add(value: any, key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Deletes all records in store. + * If successful, request's result will + * be undefined. + */ clear(): IDBRequest; - count(key?: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; - createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; - delete(key: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; - deleteIndex(indexName: string): void; - get(key: any): IDBRequest; + /** + * Retrieves the number of records matching the + * given key or key range in query. + * If successful, request's result will be the count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be + * satisfied with the data already in store the upgrade + * transaction will abort with + * a "ConstraintError" DOMException. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex; + /** + * Deletes records in store with the given key or in the given key range in query. + * If successful, request's result will + * be undefined. + */ + delete(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Deletes the index in store with the given name. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + deleteIndex(name: string): void; + /** + * Retrieves the value of the first record matching the + * given key or key range in query. + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(query: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the + * given key or key range in query (up to count if given). + * If successful, request's result will + * be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the + * given key or key range in query (up to count if given). + * If successful, request's result will + * be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the + * given key or key range in query. + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(query: IDBValidKey | IDBKeyRange): IDBRequest; index(name: string): IDBIndex; - openCursor(range?: IDBKeyRange | number | string | Date | IDBArrayKey, direction?: IDBCursorDirection): IDBRequest; - put(value: any, key?: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; + /** + * Opens a cursor over the records matching query, + * ordered by direction. If query is null, all records in store are matched. + * If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records. + */ + openCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in store are matched. + * If successful, request's result will be an IDBCursor pointing at the first matching record, or + * null if there were no matching records. + */ + openKeyCursor(query?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + put(value: any, key?: IDBValidKey | IDBKeyRange): IDBRequest; } declare var IDBObjectStore: { @@ -8302,13 +9134,34 @@ interface IDBRequestEventMap { } interface IDBRequest extends EventTarget { - readonly error: DOMException; + /** + * When a request is completed, returns the error (a DOMException), or null if the request succeeded. Throws + * a "InvalidStateError" DOMException if the request is still pending. + */ + readonly error: DOMException | null; onerror: ((this: IDBRequest, ev: Event) => any) | null; onsuccess: ((this: IDBRequest, ev: Event) => any) | null; + /** + * Returns "pending" until a request is complete, + * then returns "done". + */ readonly readyState: IDBRequestReadyState; + /** + * When a request is completed, returns the result, + * or undefined if the request failed. Throws a + * "InvalidStateError" DOMException if the request is still pending. + */ readonly result: any; + /** + * Returns the IDBObjectStore, IDBIndex, or IDBCursor the request was made against, or null if is was an open + * request. + */ readonly source: IDBObjectStore | IDBIndex | IDBCursor; - readonly transaction: IDBTransaction; + /** + * Returns the IDBTransaction the request was made within. + * If this as an open request, then it returns an upgrade transaction while it is running, or null otherwise. + */ + readonly transaction: IDBTransaction | null; addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -8327,17 +9180,39 @@ interface IDBTransactionEventMap { } interface IDBTransaction extends EventTarget { + /** + * Returns the transaction's connection. + */ readonly db: IDBDatabase; + /** + * If the transaction was aborted, returns the + * error (a DOMException) providing the reason. + */ readonly error: DOMException; + /** + * Returns the mode the transaction was created with + * ("readonly" or "readwrite"), or "versionchange" for + * an upgrade transaction. + */ readonly mode: IDBTransactionMode; + /** + * Returns a list of the names of object stores in the + * transaction's scope. For an upgrade transaction this is all object stores in the database. + */ + readonly objectStoreNames: DOMStringList; onabort: ((this: IDBTransaction, ev: Event) => any) | null; oncomplete: ((this: IDBTransaction, ev: Event) => any) | null; onerror: ((this: IDBTransaction, ev: Event) => any) | null; + /** + * Aborts the transaction. All pending requests will fail with + * a "AbortError" DOMException and all changes made to the database will be + * reverted. + */ abort(): void; + /** + * Returns an IDBObjectStore in the transaction's scope. + */ objectStore(name: string): IDBObjectStore; - readonly READ_ONLY: string; - readonly READ_WRITE: string; - readonly VERSION_CHANGE: string; addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -8347,9 +9222,6 @@ interface IDBTransaction extends EventTarget { declare var IDBTransaction: { prototype: IDBTransaction; new(): IDBTransaction; - readonly READ_ONLY: string; - readonly READ_WRITE: string; - readonly VERSION_CHANGE: string; }; interface IDBVersionChangeEvent extends Event { @@ -8359,7 +9231,7 @@ interface IDBVersionChangeEvent extends Event { declare var IDBVersionChangeEvent: { prototype: IDBVersionChangeEvent; - new(): IDBVersionChangeEvent; + new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; }; interface IIRFilterNode extends AudioNode { @@ -8368,7 +9240,7 @@ interface IIRFilterNode extends AudioNode { declare var IIRFilterNode: { prototype: IIRFilterNode; - new(): IIRFilterNode; + new(context: BaseAudioContext, options: IIRFilterOptions): IIRFilterNode; }; interface ImageBitmap { @@ -8467,6 +9339,20 @@ declare var KeyboardEvent: { readonly DOM_KEY_LOCATION_STANDARD: number; }; +interface KeyframeEffect extends AnimationEffect { + composite: CompositeOperation; + iterationComposite: IterationCompositeOperation; + target: Element | null; + getKeyframes(): ComputedKeyframe[]; + setKeyframes(keyframes: Keyframe[] | PropertyIndexedKeyframes | null): void; +} + +declare var KeyframeEffect: { + prototype: KeyframeEffect; + new(target: Element | null, keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeEffectOptions): KeyframeEffect; + new(source: KeyframeEffect): KeyframeEffect; +}; + interface LinkStyle { readonly sheet: StyleSheet | null; } @@ -8783,48 +9669,6 @@ declare var MSStream: { new(): MSStream; }; -interface MSStreamReaderEventMap { - "abort": UIEvent; - "error": ErrorEvent; - "load": Event; - "loadend": ProgressEvent; - "loadstart": Event; - "progress": ProgressEvent; -} - -interface MSStreamReader extends EventTarget { - readonly error: DOMError; - onabort: ((this: MSStreamReader, ev: UIEvent) => any) | null; - onerror: ((this: MSStreamReader, ev: ErrorEvent) => any) | null; - onload: ((this: MSStreamReader, ev: Event) => any) | null; - onloadend: ((this: MSStreamReader, ev: ProgressEvent) => any) | null; - onloadstart: ((this: MSStreamReader, ev: Event) => any) | null; - onprogress: ((this: MSStreamReader, ev: ProgressEvent) => any) | null; - readonly readyState: number; - readonly result: any; - abort(): void; - readAsArrayBuffer(stream: MSStream, size?: number): void; - readAsBinaryString(stream: MSStream, size?: number): void; - readAsBlob(stream: MSStream, size?: number): void; - readAsDataURL(stream: MSStream, size?: number): void; - readAsText(stream: MSStream, encoding?: string, size?: number): void; - readonly DONE: number; - readonly EMPTY: number; - readonly LOADING: number; - addEventListener(type: K, listener: (this: MSStreamReader, ev: MSStreamReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: MSStreamReader, ev: MSStreamReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var MSStreamReader: { - prototype: MSStreamReader; - new(): MSStreamReader; - readonly DONE: number; - readonly EMPTY: number; - readonly LOADING: number; -}; - interface MediaDeviceInfo { readonly deviceId: string; readonly groupId: string; @@ -8858,11 +9702,12 @@ declare var MediaDevices: { }; interface MediaElementAudioSourceNode extends AudioNode { + readonly mediaElement: HTMLMediaElement; } declare var MediaElementAudioSourceNode: { prototype: MediaElementAudioSourceNode; - new(): MediaElementAudioSourceNode; + new(context: AudioContext, options: MediaElementAudioSourceOptions): MediaElementAudioSourceNode; }; interface MediaEncryptedEvent extends Event { @@ -8986,10 +9831,10 @@ declare var MediaQueryList: { interface MediaSource extends EventTarget { readonly activeSourceBuffers: SourceBufferList; duration: number; - readonly readyState: string; + readonly readyState: ReadyState; readonly sourceBuffers: SourceBufferList; addSourceBuffer(type: string): SourceBuffer; - endOfStream(error?: number): void; + endOfStream(error?: EndOfStreamError): void; removeSourceBuffer(sourceBuffer: SourceBuffer): void; } @@ -9034,12 +9879,22 @@ declare var MediaStream: { new(tracks: MediaStreamTrack[]): MediaStream; }; +interface MediaStreamAudioDestinationNode extends AudioNode { + readonly stream: MediaStream; +} + +declare var MediaStreamAudioDestinationNode: { + prototype: MediaStreamAudioDestinationNode; + new(context: AudioContext, options?: AudioNodeOptions): MediaStreamAudioDestinationNode; +}; + interface MediaStreamAudioSourceNode extends AudioNode { + readonly mediaStream: MediaStream; } declare var MediaStreamAudioSourceNode: { prototype: MediaStreamAudioSourceNode; - new(): MediaStreamAudioSourceNode; + new(context: AudioContext, options: MediaStreamAudioSourceOptions): MediaStreamAudioSourceNode; }; interface MediaStreamError { @@ -9073,6 +9928,7 @@ declare var MediaStreamEvent: { interface MediaStreamTrackEventMap { "ended": MediaStreamErrorEvent; + "isolationchange": Event; "mute": Event; "overconstrained": MediaStreamErrorEvent; "unmute": Event; @@ -9081,10 +9937,12 @@ interface MediaStreamTrackEventMap { interface MediaStreamTrack extends EventTarget { enabled: boolean; readonly id: string; + readonly isolated: boolean; readonly kind: string; readonly label: string; readonly muted: boolean; onended: ((this: MediaStreamTrack, ev: MediaStreamErrorEvent) => any) | null; + onisolationchange: ((this: MediaStreamTrack, ev: Event) => any) | null; onmute: ((this: MediaStreamTrack, ev: Event) => any) | null; onoverconstrained: ((this: MediaStreamTrack, ev: MediaStreamErrorEvent) => any) | null; onunmute: ((this: MediaStreamTrack, ev: Event) => any) | null; @@ -9108,6 +9966,14 @@ declare var MediaStreamTrack: { new(): MediaStreamTrack; }; +interface MediaStreamTrackAudioSourceNode extends AudioNode { +} + +declare var MediaStreamTrackAudioSourceNode: { + prototype: MediaStreamTrackAudioSourceNode; + new(context: AudioContext, options: MediaStreamTrackAudioSourceOptions): MediaStreamTrackAudioSourceNode; +}; + interface MediaStreamTrackEvent extends Event { readonly track: MediaStreamTrack; } @@ -9131,7 +9997,7 @@ interface MessageEvent extends Event { readonly data: any; readonly origin: string; readonly ports: ReadonlyArray; - readonly source: Window | null; + readonly source: MessageEventSource; initMessageEvent(type: string, bubbles: boolean, cancelable: boolean, data: any, origin: string, lastEventId: string, source: Window): void; } @@ -9142,12 +10008,27 @@ declare var MessageEvent: { interface MessagePortEventMap { "message": MessageEvent; + "messageerror": MessageEvent; } interface MessagePort extends EventTarget { onmessage: ((this: MessagePort, ev: MessageEvent) => any) | null; + onmessageerror: ((this: MessagePort, ev: MessageEvent) => any) | null; + /** + * Disconnects the port, so that it is no longer active. + */ close(): void; - postMessage(message?: any, transfer?: any[]): void; + /** + * Posts a message through the channel. Objects listed in transfer are + * transferred, not just cloned, meaning that they are no longer usable on the sending side. + * Throws a "DataCloneError" DOMException if + * transfer contains duplicate objects or port, or if message + * could not be cloned. + */ + postMessage(message: any, transfer?: any[]): void; + /** + * Begins dispatching messages received on the port. + */ start(): void; addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -9286,7 +10167,19 @@ declare var NamedNodeMap: { new(): NamedNodeMap; }; -interface Navigator extends NavigatorID, NavigatorOnLine, NavigatorContentUtils, NavigatorStorageUtils, MSNavigatorDoNotTrack, MSFileSaver, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorUserMedia, NavigatorLanguage { +interface NavigationPreloadManager { + disable(): Promise; + enable(): Promise; + getState(): Promise; + setHeaderValue(value: string): Promise; +} + +declare var NavigationPreloadManager: { + prototype: NavigationPreloadManager; + new(): NavigationPreloadManager; +}; + +interface Navigator extends NavigatorID, NavigatorOnLine, NavigatorContentUtils, NavigatorStorageUtils, MSNavigatorDoNotTrack, MSFileSaver, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorUserMedia, NavigatorLanguage, NavigatorStorage { readonly activeVRDisplays: ReadonlyArray; readonly authentication: WebAuthentication; readonly cookieEnabled: boolean; @@ -9347,6 +10240,10 @@ interface NavigatorOnLine { readonly onLine: boolean; } +interface NavigatorStorage { + readonly storage: StorageManager; +} + interface NavigatorStorageUtils { } @@ -9472,6 +10369,12 @@ declare var NodeIterator: { interface NodeList { readonly length: number; item(index: number): Node; + /** + * Performs the specified action for each node in an list. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: Node, key: number, parent: NodeList) => void, thisArg?: any): void; [index: number]: Node; } @@ -9483,6 +10386,12 @@ declare var NodeList: { interface NodeListOf extends NodeList { length: number; item(index: number): TNode; + /** + * Performs the specified action for each node in an list. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: TNode, key: number, parent: NodeListOf) => void, thisArg?: any): void; [index: number]: TNode; } @@ -9503,18 +10412,25 @@ interface NotificationEventMap { } interface Notification extends EventTarget { - readonly body: string | null; + readonly actions: ReadonlyArray; + readonly badge: string; + readonly body: string; readonly data: any; readonly dir: NotificationDirection; - readonly icon: string | null; - readonly lang: string | null; + readonly icon: string; + readonly image: string; + readonly lang: string; onclick: ((this: Notification, ev: Event) => any) | null; onclose: ((this: Notification, ev: Event) => any) | null; onerror: ((this: Notification, ev: Event) => any) | null; onshow: ((this: Notification, ev: Event) => any) | null; - readonly permission: NotificationPermission; - readonly tag: string | null; + readonly renotify: boolean; + readonly requireInteraction: boolean; + readonly silent: boolean; + readonly tag: string; + readonly timestamp: number; readonly title: string; + readonly vibrate: ReadonlyArray; close(): void; addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -9525,7 +10441,9 @@ interface Notification extends EventTarget { declare var Notification: { prototype: Notification; new(title: string, options?: NotificationOptions): Notification; - requestPermission(callback?: NotificationPermissionCallback): Promise; + readonly maxActions: number; + readonly permission: NotificationPermission; + requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise; }; interface OES_element_index_uint { @@ -9594,14 +10512,14 @@ interface OfflineAudioCompletionEvent extends Event { declare var OfflineAudioCompletionEvent: { prototype: OfflineAudioCompletionEvent; - new(): OfflineAudioCompletionEvent; + new(type: string, eventInitDict: OfflineAudioCompletionEventInit): OfflineAudioCompletionEvent; }; -interface OfflineAudioContextEventMap extends AudioContextEventMap { +interface OfflineAudioContextEventMap extends BaseAudioContextEventMap { "complete": OfflineAudioCompletionEvent; } -interface OfflineAudioContext extends AudioContextBase { +interface OfflineAudioContext extends BaseAudioContext { readonly length: number; oncomplete: ((this: OfflineAudioContext, ev: OfflineAudioCompletionEvent) => any) | null; startRendering(): Promise; @@ -9614,30 +10532,24 @@ interface OfflineAudioContext extends AudioContextBase { declare var OfflineAudioContext: { prototype: OfflineAudioContext; + new(contextOptions: OfflineAudioContextOptions): OfflineAudioContext; new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext; }; -interface OscillatorNodeEventMap { - "ended": Event; -} - -interface OscillatorNode extends AudioNode { +interface OscillatorNode extends AudioScheduledSourceNode { readonly detune: AudioParam; readonly frequency: AudioParam; - onended: ((this: OscillatorNode, ev: Event) => any) | null; type: OscillatorType; setPeriodicWave(periodicWave: PeriodicWave): void; - start(when?: number): void; - stop(when?: number): void; - addEventListener(type: K, listener: (this: OscillatorNode, ev: OscillatorNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: OscillatorNode, ev: OscillatorNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } declare var OscillatorNode: { prototype: OscillatorNode; - new(): OscillatorNode; + new(context: BaseAudioContext, options?: OscillatorOptions): OscillatorNode; }; interface OverflowEvent extends UIEvent { @@ -9672,30 +10584,31 @@ interface PannerNode extends AudioNode { coneOuterGain: number; distanceModel: DistanceModelType; maxDistance: number; + readonly orientationX: AudioParam; + readonly orientationY: AudioParam; + readonly orientationZ: AudioParam; panningModel: PanningModelType; + readonly positionX: AudioParam; + readonly positionY: AudioParam; + readonly positionZ: AudioParam; refDistance: number; rolloffFactor: number; /** @deprecated */ setOrientation(x: number, y: number, z: number): void; /** @deprecated */ setPosition(x: number, y: number, z: number): void; - /** @deprecated */ - setVelocity(x: number, y: number, z: number): void; } declare var PannerNode: { prototype: PannerNode; - new(): PannerNode; + new(context: BaseAudioContext, options?: PannerOptions): PannerNode; }; interface ParentNode { readonly childElementCount: number; + readonly children: HTMLCollection; readonly firstElementChild: Element | null; readonly lastElementChild: Element | null; -} - -interface ParentNode { - readonly children: HTMLCollection; querySelector(selectors: K): HTMLElementTagNameMap[K] | null; querySelector(selectors: K): SVGElementTagNameMap[K] | null; querySelector(selectors: string): E | null; @@ -9814,27 +10727,32 @@ declare var PerfWidgetExternal: { new(): PerfWidgetExternal; }; -interface Performance { +interface PerformanceEventMap { + "resourcetimingbufferfull": Event; +} + +interface Performance extends EventTarget { /** @deprecated */ readonly navigation: PerformanceNavigation; + onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null; readonly timeOrigin: number; /** @deprecated */ readonly timing: PerformanceTiming; clearMarks(markName?: string): void; clearMeasures(measureName?: string): void; clearResourceTimings(): void; - getEntries(): any; - getEntriesByName(name: string, type?: string): any; - getEntriesByType(type: string): any; - /** @deprecated */ - getMarks(markName?: string): any; - /** @deprecated */ - getMeasures(measureName?: string): any; + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; mark(markName: string): void; - measure(measureName: string, startMarkName?: string, endMarkName?: string): void; + measure(measureName: string, startMark?: string, endMark?: string): void; now(): number; setResourceTimingBufferSize(maxSize: number): void; toJSON(): any; + addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } declare var Performance: { @@ -9890,42 +10808,18 @@ declare var PerformanceNavigation: { readonly TYPE_RESERVED: number; }; -interface PerformanceNavigationTiming extends PerformanceEntry { - /** @deprecated */ - readonly connectEnd: number; - /** @deprecated */ - readonly connectStart: number; +interface PerformanceNavigationTiming extends PerformanceResourceTiming { readonly domComplete: number; readonly domContentLoadedEventEnd: number; readonly domContentLoadedEventStart: number; readonly domInteractive: number; - /** @deprecated */ - readonly domLoading: number; - /** @deprecated */ - readonly domainLookupEnd: number; - /** @deprecated */ - readonly domainLookupStart: number; - /** @deprecated */ - readonly fetchStart: number; readonly loadEventEnd: number; readonly loadEventStart: number; - /** @deprecated */ - readonly navigationStart: number; readonly redirectCount: number; - /** @deprecated */ - readonly redirectEnd: number; - /** @deprecated */ - readonly redirectStart: number; - /** @deprecated */ - readonly requestStart: number; - /** @deprecated */ - readonly responseEnd: number; - /** @deprecated */ - readonly responseStart: number; readonly type: NavigationType; readonly unloadEventEnd: number; readonly unloadEventStart: number; - readonly workerStart: number; + toJSON(): any; } declare var PerformanceNavigationTiming: { @@ -9933,19 +10827,47 @@ declare var PerformanceNavigationTiming: { new(): PerformanceNavigationTiming; }; +interface PerformanceObserver { + disconnect(): void; + observe(options: PerformanceObserverInit): void; + takeRecords(): PerformanceEntryList; +} + +declare var PerformanceObserver: { + prototype: PerformanceObserver; + new(callback: PerformanceObserverCallback): PerformanceObserver; +}; + +interface PerformanceObserverEntryList { + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; +} + +declare var PerformanceObserverEntryList: { + prototype: PerformanceObserverEntryList; + new(): PerformanceObserverEntryList; +}; + interface PerformanceResourceTiming extends PerformanceEntry { readonly connectEnd: number; readonly connectStart: number; + readonly decodedBodySize: number; readonly domainLookupEnd: number; readonly domainLookupStart: number; + readonly encodedBodySize: number; readonly fetchStart: number; readonly initiatorType: string; + readonly nextHopProtocol: string; readonly redirectEnd: number; readonly redirectStart: number; readonly requestStart: number; readonly responseEnd: number; readonly responseStart: number; + readonly secureConnectionStart: number; + readonly transferSize: number; readonly workerStart: number; + toJSON(): any; } declare var PerformanceResourceTiming: { @@ -9966,7 +10888,6 @@ interface PerformanceTiming { readonly fetchStart: number; readonly loadEventEnd: number; readonly loadEventStart: number; - readonly msFirstPaint: number; readonly navigationStart: number; readonly redirectEnd: number; readonly redirectStart: number; @@ -9989,7 +10910,7 @@ interface PeriodicWave { declare var PeriodicWave: { prototype: PeriodicWave; - new(): PeriodicWave; + new(context: BaseAudioContext, options?: PeriodicWaveOptions): PeriodicWave; }; interface PermissionRequest extends DeferredPermissionRequest { @@ -10041,26 +10962,21 @@ declare var PluginArray: { }; interface PointerEvent extends MouseEvent { - readonly currentPoint: any; readonly height: number; - readonly hwTimestamp: number; - readonly intermediatePoints: any; readonly isPrimary: boolean; readonly pointerId: number; - readonly pointerType: any; + readonly pointerType: string; readonly pressure: number; - readonly rotation: number; + readonly tangentialPressure: number; readonly tiltX: number; readonly tiltY: number; + readonly twist: number; readonly width: number; - getCurrentPoint(element: Element): void; - getIntermediatePoints(element: Element): void; - initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void; } declare var PointerEvent: { prototype: PointerEvent; - new(typeArg: string, eventInitDict?: PointerEventInit): PointerEvent; + new(type: string, eventInitDict?: PointerEventInit): PointerEvent; }; interface PopStateEvent extends Event { @@ -10077,28 +10993,14 @@ interface Position { readonly timestamp: number; } -declare var Position: { - prototype: Position; - new(): Position; -}; - interface PositionError { readonly code: number; readonly message: string; - toString(): string; readonly PERMISSION_DENIED: number; readonly POSITION_UNAVAILABLE: number; readonly TIMEOUT: number; } -declare var PositionError: { - prototype: PositionError; - new(): PositionError; - readonly PERMISSION_DENIED: number; - readonly POSITION_UNAVAILABLE: number; - readonly TIMEOUT: number; -}; - interface ProcessingInstruction extends CharacterData { readonly target: string; } @@ -10112,12 +11014,11 @@ interface ProgressEvent extends Event { readonly lengthComputable: boolean; readonly loaded: number; readonly total: number; - initProgressEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, lengthComputableArg: boolean, loadedArg: number, totalArg: number): void; } declare var ProgressEvent: { prototype: ProgressEvent; - new(typeArg: string, eventInitDict?: ProgressEventInit): ProgressEvent; + new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; }; interface PromiseRejectionEvent extends Event { @@ -10125,13 +11026,12 @@ interface PromiseRejectionEvent extends Event { readonly reason: any; } -interface PromiseRejectionEventInit extends EventInit { - promise: PromiseLike; - reason?: any; -} +declare var PromiseRejectionEvent: { + prototype: PromiseRejectionEvent; + new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent; +}; interface PushManager { - readonly supportedContentEncodings: ReadonlyArray; getSubscription(): Promise; permissionState(options?: PushSubscriptionOptionsInit): Promise; subscribe(options?: PushSubscriptionOptionsInit): Promise; @@ -10140,6 +11040,7 @@ interface PushManager { declare var PushManager: { prototype: PushManager; new(): PushManager; + readonly supportedContentEncodings: ReadonlyArray; }; interface PushSubscription { @@ -10147,7 +11048,7 @@ interface PushSubscription { readonly expirationTime: number | null; readonly options: PushSubscriptionOptions; getKey(name: PushEncryptionKeyName): ArrayBuffer | null; - toJSON(): any; + toJSON(): PushSubscriptionJSON; unsubscribe(): Promise; } @@ -10166,30 +11067,108 @@ declare var PushSubscriptionOptions: { new(): PushSubscriptionOptions; }; +interface RTCCertificate { + readonly expires: number; + getFingerprints(): RTCDtlsFingerprint[]; +} + +declare var RTCCertificate: { + prototype: RTCCertificate; + new(): RTCCertificate; + getSupportedAlgorithms(): AlgorithmIdentifier[]; +}; + +interface RTCDTMFSenderEventMap { + "tonechange": RTCDTMFToneChangeEvent; +} + +interface RTCDTMFSender extends EventTarget { + readonly canInsertDTMF: boolean; + ontonechange: ((this: RTCDTMFSender, ev: RTCDTMFToneChangeEvent) => any) | null; + readonly toneBuffer: string; + insertDTMF(tones: string, duration?: number, interToneGap?: number): void; + addEventListener(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCDTMFSender: { + prototype: RTCDTMFSender; + new(): RTCDTMFSender; +}; + interface RTCDTMFToneChangeEvent extends Event { readonly tone: string; } declare var RTCDTMFToneChangeEvent: { prototype: RTCDTMFToneChangeEvent; - new(typeArg: string, eventInitDict: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent; + new(type: string, eventInitDict: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent; +}; + +interface RTCDataChannelEventMap { + "bufferedamountlow": Event; + "close": Event; + "error": RTCErrorEvent; + "message": MessageEvent; + "open": Event; +} + +interface RTCDataChannel extends EventTarget { + binaryType: string; + readonly bufferedAmount: number; + bufferedAmountLowThreshold: number; + readonly id: number | null; + readonly label: string; + readonly maxPacketLifeTime: number | null; + readonly maxRetransmits: number | null; + readonly negotiated: boolean; + onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null; + onclose: ((this: RTCDataChannel, ev: Event) => any) | null; + onerror: ((this: RTCDataChannel, ev: RTCErrorEvent) => any) | null; + onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null; + onopen: ((this: RTCDataChannel, ev: Event) => any) | null; + readonly ordered: boolean; + readonly priority: RTCPriorityType; + readonly protocol: string; + readonly readyState: RTCDataChannelState; + close(): void; + send(data: string): void; + send(data: Blob): void; + send(data: ArrayBuffer): void; + send(data: ArrayBufferView): void; + addEventListener(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCDataChannel: { + prototype: RTCDataChannel; + new(): RTCDataChannel; +}; + +interface RTCDataChannelEvent extends Event { + readonly channel: RTCDataChannel; +} + +declare var RTCDataChannelEvent: { + prototype: RTCDataChannelEvent; + new(type: string, eventInitDict: RTCDataChannelEventInit): RTCDataChannelEvent; }; interface RTCDtlsTransportEventMap { - "dtlsstatechange": RTCDtlsTransportStateChangedEvent; - "error": Event; + "error": RTCErrorEvent; + "statechange": Event; } -interface RTCDtlsTransport extends RTCStatsProvider { - ondtlsstatechange: ((this: RTCDtlsTransport, ev: RTCDtlsTransportStateChangedEvent) => any) | null; - onerror: ((this: RTCDtlsTransport, ev: Event) => any) | null; +interface RTCDtlsTransport extends EventTarget { + onerror: ((this: RTCDtlsTransport, ev: RTCErrorEvent) => any) | null; + onstatechange: ((this: RTCDtlsTransport, ev: Event) => any) | null; readonly state: RTCDtlsTransportState; readonly transport: RTCIceTransport; - getLocalParameters(): RTCDtlsParameters; getRemoteCertificates(): ArrayBuffer[]; - getRemoteParameters(): RTCDtlsParameters | null; - start(remoteParameters: RTCDtlsParameters): void; - stop(): void; addEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -10198,7 +11177,7 @@ interface RTCDtlsTransport extends RTCStatsProvider { declare var RTCDtlsTransport: { prototype: RTCDtlsTransport; - new(transport: RTCIceTransport): RTCDtlsTransport; + new(): RTCDtlsTransport; }; interface RTCDtlsTransportStateChangedEvent extends Event { @@ -10233,11 +11212,47 @@ declare var RTCDtmfSender: { new(sender: RTCRtpSender): RTCDtmfSender; }; +interface RTCError extends Error { + errorDetail: string; + httpRequestStatusCode: number; + message: string; + name: string; + receivedAlert: number | null; + sctpCauseCode: number; + sdpLineNumber: number; + sentAlert: number | null; +} + +declare var RTCError: { + prototype: RTCError; + new(errorDetail?: string, message?: string): RTCError; +}; + +interface RTCErrorEvent extends Event { + readonly error: RTCError | null; +} + +declare var RTCErrorEvent: { + prototype: RTCErrorEvent; + new(type: string, eventInitDict: RTCErrorEventInit): RTCErrorEvent; +}; + interface RTCIceCandidate { - candidate: string | null; - sdpMLineIndex: number | null; - sdpMid: string | null; - toJSON(): any; + readonly candidate: string; + readonly component: RTCIceComponent | null; + readonly foundation: string | null; + readonly ip: string | null; + readonly port: number | null; + readonly priority: number | null; + readonly protocol: RTCIceProtocol | null; + readonly relatedAddress: string | null; + readonly relatedPort: number | null; + readonly sdpMLineIndex: number | null; + readonly sdpMid: string | null; + readonly tcpType: RTCIceTcpCandidateType | null; + readonly type: RTCIceCandidateType | null; + readonly usernameFragment: string | null; + toJSON(): RTCIceCandidateInit; } declare var RTCIceCandidate: { @@ -10287,25 +11302,24 @@ declare var RTCIceGathererEvent: { }; interface RTCIceTransportEventMap { - "candidatepairchange": RTCIceCandidatePairChangedEvent; - "icestatechange": RTCIceTransportStateChangedEvent; + "gatheringstatechange": Event; + "selectedcandidatepairchange": Event; + "statechange": Event; } -interface RTCIceTransport extends RTCStatsProvider { +interface RTCIceTransport extends EventTarget { readonly component: RTCIceComponent; - readonly iceGatherer: RTCIceGatherer | null; - oncandidatepairchange: ((this: RTCIceTransport, ev: RTCIceCandidatePairChangedEvent) => any) | null; - onicestatechange: ((this: RTCIceTransport, ev: RTCIceTransportStateChangedEvent) => any) | null; + readonly gatheringState: RTCIceGathererState; + ongatheringstatechange: ((this: RTCIceTransport, ev: Event) => any) | null; + onselectedcandidatepairchange: ((this: RTCIceTransport, ev: Event) => any) | null; + onstatechange: ((this: RTCIceTransport, ev: Event) => any) | null; readonly role: RTCIceRole; readonly state: RTCIceTransportState; - addRemoteCandidate(remoteCandidate: RTCIceCandidateDictionary | RTCIceCandidateComplete): void; - createAssociatedTransport(): RTCIceTransport; - getNominatedCandidatePair(): RTCIceCandidatePair | null; - getRemoteCandidates(): RTCIceCandidateDictionary[]; + getLocalCandidates(): RTCIceCandidate[]; + getLocalParameters(): RTCIceParameters | null; + getRemoteCandidates(): RTCIceCandidate[]; getRemoteParameters(): RTCIceParameters | null; - setRemoteCandidates(remoteCandidates: RTCIceCandidateDictionary[]): void; - start(gatherer: RTCIceGatherer, remoteParameters: RTCIceParameters, role?: RTCIceRole): void; - stop(): void; + getSelectedCandidatePair(): RTCIceCandidatePair | null; addEventListener(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -10326,41 +11340,71 @@ declare var RTCIceTransportStateChangedEvent: { new(): RTCIceTransportStateChangedEvent; }; +interface RTCIdentityAssertion { + idp: string; + name: string; +} + +declare var RTCIdentityAssertion: { + prototype: RTCIdentityAssertion; + new(idp: string, name: string): RTCIdentityAssertion; +}; + interface RTCPeerConnectionEventMap { - "addstream": MediaStreamEvent; + "connectionstatechange": Event; + "datachannel": RTCDataChannelEvent; "icecandidate": RTCPeerConnectionIceEvent; + "icecandidateerror": RTCPeerConnectionIceErrorEvent; "iceconnectionstatechange": Event; "icegatheringstatechange": Event; "negotiationneeded": Event; - "removestream": MediaStreamEvent; "signalingstatechange": Event; + "statsended": RTCStatsEvent; + "track": RTCTrackEvent; } interface RTCPeerConnection extends EventTarget { readonly canTrickleIceCandidates: boolean | null; + readonly connectionState: RTCPeerConnectionState; + readonly currentLocalDescription: RTCSessionDescription | null; + readonly currentRemoteDescription: RTCSessionDescription | null; readonly iceConnectionState: RTCIceConnectionState; readonly iceGatheringState: RTCIceGatheringState; + readonly idpErrorInfo: string | null; + readonly idpLoginUrl: string | null; readonly localDescription: RTCSessionDescription | null; - onaddstream: ((this: RTCPeerConnection, ev: MediaStreamEvent) => any) | null; + onconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; + ondatachannel: ((this: RTCPeerConnection, ev: RTCDataChannelEvent) => any) | null; onicecandidate: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any) | null; + onicecandidateerror: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceErrorEvent) => any) | null; oniceconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; onicegatheringstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; onnegotiationneeded: ((this: RTCPeerConnection, ev: Event) => any) | null; - onremovestream: ((this: RTCPeerConnection, ev: MediaStreamEvent) => any) | null; onsignalingstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; + onstatsended: ((this: RTCPeerConnection, ev: RTCStatsEvent) => any) | null; + ontrack: ((this: RTCPeerConnection, ev: RTCTrackEvent) => any) | null; + readonly peerIdentity: Promise; + readonly pendingLocalDescription: RTCSessionDescription | null; + readonly pendingRemoteDescription: RTCSessionDescription | null; readonly remoteDescription: RTCSessionDescription | null; + readonly sctp: RTCSctpTransport | null; readonly signalingState: RTCSignalingState; addIceCandidate(candidate: RTCIceCandidateInit | RTCIceCandidate): Promise; - addStream(stream: MediaStream): void; + addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender; + addTransceiver(trackOrKind: MediaStreamTrack | string, init?: RTCRtpTransceiverInit): RTCRtpTransceiver; close(): void; createAnswer(options?: RTCOfferOptions): Promise; + createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel; createOffer(options?: RTCOfferOptions): Promise; getConfiguration(): RTCConfiguration; - getLocalStreams(): MediaStream[]; - getRemoteStreams(): MediaStream[]; - getStats(selector: MediaStreamTrack | null, successCallback?: RTCStatsCallback, failureCallback?: RTCPeerConnectionErrorCallback): Promise; - getStreamById(streamId: string): MediaStream | null; - removeStream(stream: MediaStream): void; + getIdentityAssertion(): Promise; + getReceivers(): RTCRtpReceiver[]; + getSenders(): RTCRtpSender[]; + getStats(selector?: MediaStreamTrack | null): Promise; + getTransceivers(): RTCRtpTransceiver[]; + removeTrack(sender: RTCRtpSender): void; + setConfiguration(configuration: RTCConfiguration): void; + setIdentityProvider(provider: string, options?: RTCIdentityProviderOptions): void; setLocalDescription(description: RTCSessionDescriptionInit): Promise; setRemoteDescription(description: RTCSessionDescriptionInit): Promise; addEventListener(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -10371,84 +11415,113 @@ interface RTCPeerConnection extends EventTarget { declare var RTCPeerConnection: { prototype: RTCPeerConnection; - new(configuration: RTCConfiguration): RTCPeerConnection; + new(configuration?: RTCConfiguration): RTCPeerConnection; + generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise; + getDefaultIceServers(): RTCIceServer[]; +}; + +interface RTCPeerConnectionIceErrorEvent extends Event { + readonly errorCode: number; + readonly errorText: string; + readonly hostCandidate: string; + readonly url: string; +} + +declare var RTCPeerConnectionIceErrorEvent: { + prototype: RTCPeerConnectionIceErrorEvent; + new(type: string, eventInitDict: RTCPeerConnectionIceErrorEventInit): RTCPeerConnectionIceErrorEvent; }; interface RTCPeerConnectionIceEvent extends Event { - readonly candidate: RTCIceCandidate; + readonly candidate: RTCIceCandidate | null; + readonly url: string | null; } declare var RTCPeerConnectionIceEvent: { prototype: RTCPeerConnectionIceEvent; - new(type: string, eventInitDict: RTCPeerConnectionIceEventInit): RTCPeerConnectionIceEvent; + new(type: string, eventInitDict?: RTCPeerConnectionIceEventInit): RTCPeerConnectionIceEvent; }; -interface RTCRtpReceiverEventMap { - "error": Event; - "msdecodercapacitychange": Event; - "msdsh": Event; -} - -interface RTCRtpReceiver extends RTCStatsProvider { - onerror: ((this: RTCRtpReceiver, ev: Event) => any) | null; - onmsdecodercapacitychange: ((this: RTCRtpReceiver, ev: Event) => any) | null; - onmsdsh: ((this: RTCRtpReceiver, ev: Event) => any) | null; - readonly rtcpTransport: RTCDtlsTransport; - readonly track: MediaStreamTrack | null; - readonly transport: RTCDtlsTransport | RTCSrtpSdesTransport; +interface RTCRtpReceiver { + readonly rtcpTransport: RTCDtlsTransport | null; + readonly track: MediaStreamTrack; + readonly transport: RTCDtlsTransport | null; getContributingSources(): RTCRtpContributingSource[]; - receive(parameters: RTCRtpParameters): void; - requestSendCSRC(csrc: number): void; - setTransport(transport: RTCDtlsTransport | RTCSrtpSdesTransport, rtcpTransport?: RTCDtlsTransport): void; - stop(): void; - addEventListener(type: K, listener: (this: RTCRtpReceiver, ev: RTCRtpReceiverEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: RTCRtpReceiver, ev: RTCRtpReceiverEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + getParameters(): RTCRtpReceiveParameters; + getStats(): Promise; + getSynchronizationSources(): RTCRtpSynchronizationSource[]; } declare var RTCRtpReceiver: { prototype: RTCRtpReceiver; - new(transport: RTCDtlsTransport | RTCSrtpSdesTransport, kind: string, rtcpTransport?: RTCDtlsTransport): RTCRtpReceiver; - getCapabilities(kind?: string): RTCRtpCapabilities; + new(): RTCRtpReceiver; + getCapabilities(kind: string): RTCRtpCapabilities; }; -interface RTCRtpSenderEventMap { - "error": Event; - "ssrcconflict": RTCSsrcConflictEvent; -} - -interface RTCRtpSender extends RTCStatsProvider { - onerror: ((this: RTCRtpSender, ev: Event) => any) | null; - onssrcconflict: ((this: RTCRtpSender, ev: RTCSsrcConflictEvent) => any) | null; - readonly rtcpTransport: RTCDtlsTransport; - readonly track: MediaStreamTrack; - readonly transport: RTCDtlsTransport | RTCSrtpSdesTransport; - send(parameters: RTCRtpParameters): void; - setTrack(track: MediaStreamTrack): void; - setTransport(transport: RTCDtlsTransport | RTCSrtpSdesTransport, rtcpTransport?: RTCDtlsTransport): void; - stop(): void; - addEventListener(type: K, listener: (this: RTCRtpSender, ev: RTCRtpSenderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: RTCRtpSender, ev: RTCRtpSenderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +interface RTCRtpSender { + readonly dtmf: RTCDTMFSender | null; + readonly rtcpTransport: RTCDtlsTransport | null; + readonly track: MediaStreamTrack | null; + readonly transport: RTCDtlsTransport | null; + getParameters(): RTCRtpSendParameters; + getStats(): Promise; + replaceTrack(withTrack: MediaStreamTrack | null): Promise; + setParameters(parameters: RTCRtpSendParameters): Promise; + setStreams(...streams: MediaStream[]): void; } declare var RTCRtpSender: { prototype: RTCRtpSender; - new(track: MediaStreamTrack, transport: RTCDtlsTransport | RTCSrtpSdesTransport, rtcpTransport?: RTCDtlsTransport): RTCRtpSender; - getCapabilities(kind?: string): RTCRtpCapabilities; + new(): RTCRtpSender; + getCapabilities(kind: string): RTCRtpCapabilities; +}; + +interface RTCRtpTransceiver { + readonly currentDirection: RTCRtpTransceiverDirection | null; + direction: RTCRtpTransceiverDirection; + readonly mid: string | null; + readonly receiver: RTCRtpReceiver; + readonly sender: RTCRtpSender; + readonly stopped: boolean; + setCodecPreferences(codecs: RTCRtpCodecCapability[]): void; + stop(): void; +} + +declare var RTCRtpTransceiver: { + prototype: RTCRtpTransceiver; + new(): RTCRtpTransceiver; +}; + +interface RTCSctpTransportEventMap { + "statechange": Event; +} + +interface RTCSctpTransport { + readonly maxChannels: number | null; + readonly maxMessageSize: number; + onstatechange: ((this: RTCSctpTransport, ev: Event) => any) | null; + readonly state: RTCSctpTransportState; + readonly transport: RTCDtlsTransport; + addEventListener(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var RTCSctpTransport: { + prototype: RTCSctpTransport; + new(): RTCSctpTransport; }; interface RTCSessionDescription { - sdp: string | null; - type: RTCSdpType | null; + readonly sdp: string; + readonly type: RTCSdpType; toJSON(): any; } declare var RTCSessionDescription: { prototype: RTCSessionDescription; - new(descriptionInitDict?: RTCSessionDescriptionInit): RTCSessionDescription; + new(descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription; }; interface RTCSrtpSdesTransportEventMap { @@ -10479,6 +11552,15 @@ declare var RTCSsrcConflictEvent: { new(): RTCSsrcConflictEvent; }; +interface RTCStatsEvent extends Event { + readonly report: RTCStatsReport; +} + +declare var RTCStatsEvent: { + prototype: RTCStatsEvent; + new(type: string, eventInitDict: RTCStatsEventInit): RTCStatsEvent; +}; + interface RTCStatsProvider extends EventTarget { getStats(): Promise; msGetStats(): Promise; @@ -10489,6 +11571,36 @@ declare var RTCStatsProvider: { new(): RTCStatsProvider; }; +interface RTCStatsReport { + forEach(callbackfn: (value: any, key: string, parent: RTCStatsReport) => void, thisArg?: any): void; +} + +declare var RTCStatsReport: { + prototype: RTCStatsReport; + new(): RTCStatsReport; +}; + +interface RTCTrackEvent extends Event { + readonly receiver: RTCRtpReceiver; + readonly streams: ReadonlyArray; + readonly track: MediaStreamTrack; + readonly transceiver: RTCRtpTransceiver; +} + +declare var RTCTrackEvent: { + prototype: RTCTrackEvent; + new(type: string, eventInitDict: RTCTrackEventInit): RTCTrackEvent; +}; + +interface RadioNodeList extends NodeList { + value: string; +} + +declare var RadioNodeList: { + prototype: RadioNodeList; + new(): RadioNodeList; +}; + interface RandomSource { getRandomValues(array: T): T; } @@ -10566,35 +11678,97 @@ declare var ReadableStreamReader: { }; interface Request extends Body { + /** + * Returns the cache mode associated with request, which is a string indicating + * how the the request will interact with the browser's cache when fetching. + */ readonly cache: RequestCache; + /** + * Returns the credentials mode associated with request, which is a string + * indicating whether credentials will be sent with the request always, never, or only when sent to a + * same-origin URL. + */ readonly credentials: RequestCredentials; + /** + * Returns the kind of resource requested by request, e.g., "document" or + * "script". + */ readonly destination: RequestDestination; + /** + * Returns a Headers object consisting of the headers associated with request. + * Note that headers added in the network layer by the user agent will not be accounted for in this + * object, e.g., the "Host" header. + */ readonly headers: Headers; + /** + * Returns request's subresource integrity metadata, which is a cryptographic hash of + * the resource being fetched. Its value consists of multiple hashes separated by whitespace. [SRI] + */ readonly integrity: string; + /** + * Returns a boolean indicating whether or not request is for a history + * navigation (a.k.a. back-foward navigation). + */ + readonly isHistoryNavigation: boolean; + /** + * Returns a boolean indicating whether or not request is for a reload navigation. + */ + readonly isReloadNavigation: boolean; + /** + * Returns a boolean indicating whether or not request can outlive the global in which + * it was created. + */ readonly keepalive: boolean; + /** + * Returns request's HTTP method, which is "GET" by default. + */ readonly method: string; + /** + * Returns the mode associated with request, which is a string indicating + * whether the request will use CORS, or will be restricted to same-origin URLs. + */ readonly mode: RequestMode; + /** + * Returns the redirect mode associated with request, which is a string + * indicating how redirects for the request will be handled during fetching. A request will follow redirects by default. + */ readonly redirect: RequestRedirect; + /** + * Returns the referrer of request. Its value can be a same-origin URL if + * explicitly set in init, the empty string to indicate no referrer, and + * "about:client" when defaulting to the global's default. This is used during + * fetching to determine the value of the `Referer` header of the request being made. + */ readonly referrer: string; + /** + * Returns the referrer policy associated with request. This is used during + * fetching to compute the value of the request's referrer. + */ readonly referrerPolicy: ReferrerPolicy; - readonly signal: AbortSignal | null; - readonly type: RequestType; + /** + * Returns the signal associated with request, which is an AbortSignal object indicating whether or not request has been aborted, and its abort + * event handler. + */ + readonly signal: AbortSignal; + /** + * Returns the URL of request as a string. + */ readonly url: string; clone(): Request; } declare var Request: { prototype: Request; - new(input: Request | string, init?: RequestInit): Request; + new(input: RequestInfo, init?: RequestInit): Request; }; interface Response extends Body { - readonly body: ReadableStream | null; readonly headers: Headers; readonly ok: boolean; readonly redirected: boolean; readonly status: number; readonly statusText: string; + readonly trailer: Promise; readonly type: ResponseType; readonly url: string; clone(): Response; @@ -10602,7 +11776,7 @@ interface Response extends Body { declare var Response: { prototype: Response; - new(body?: Blob | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | FormData | string | null, init?: ResponseInit): Response; + new(body?: BodyInit | null, init?: ResponseInit): Response; error(): Response; redirect(url: string, status?: number): Response; }; @@ -11655,31 +12829,6 @@ declare var SVGMaskElement: { new(): SVGMaskElement; }; -interface SVGMatrix { - a: number; - b: number; - c: number; - d: number; - e: number; - f: number; - flipX(): SVGMatrix; - flipY(): SVGMatrix; - inverse(): SVGMatrix; - multiply(secondMatrix: SVGMatrix): SVGMatrix; - rotate(angle: number): SVGMatrix; - rotateFromVector(x: number, y: number): SVGMatrix; - scale(scaleFactor: number): SVGMatrix; - scaleNonUniform(scaleFactorX: number, scaleFactorY: number): SVGMatrix; - skewX(angle: number): SVGMatrix; - skewY(angle: number): SVGMatrix; - translate(x: number, y: number): SVGMatrix; -} - -declare var SVGMatrix: { - prototype: SVGMatrix; - new(): SVGMatrix; -}; - interface SVGMetadataElement extends SVGElement { addEventListener(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -12068,17 +13217,6 @@ declare var SVGPatternElement: { new(): SVGPatternElement; }; -interface SVGPoint { - x: number; - y: number; - matrixTransform(matrix: SVGMatrix): SVGPoint; -} - -declare var SVGPoint: { - prototype: SVGPoint; - new(): SVGPoint; -}; - interface SVGPointList { readonly numberOfItems: number; appendItem(newItem: SVGPoint): SVGPoint; @@ -12174,18 +13312,6 @@ declare var SVGRadialGradientElement: { new(): SVGRadialGradientElement; }; -interface SVGRect { - height: number; - width: number; - x: number; - y: number; -} - -declare var SVGRect: { - prototype: SVGRect; - new(): SVGRect; -}; - interface SVGRectElement extends SVGGraphicsElement { readonly height: SVGAnimatedLength; readonly rx: SVGAnimatedLength; @@ -12324,15 +13450,6 @@ declare var SVGStringList: { new(): SVGStringList; }; -interface SVGStylable { - className: any; -} - -declare var SVGStylable: { - prototype: SVGStylable; - new(): SVGStylable; -}; - interface SVGStyleElement extends SVGElement { disabled: boolean; media: string; @@ -12683,20 +13800,6 @@ declare var ScriptProcessorNode: { new(): ScriptProcessorNode; }; -interface ScrollIntoViewOptions extends ScrollOptions { - block?: ScrollLogicalPosition; - inline?: ScrollLogicalPosition; -} - -interface ScrollOptions { - behavior?: ScrollBehavior; -} - -interface ScrollToOptions extends ScrollOptions { - left?: number; - top?: number; -} - interface SecurityPolicyViolationEvent extends Event { readonly blockedURI: string; readonly columnNumber: number; @@ -12777,18 +13880,18 @@ declare var ServiceWorker: { interface ServiceWorkerContainerEventMap { "controllerchange": Event; - "message": ServiceWorkerMessageEvent; + "message": MessageEvent; "messageerror": MessageEvent; } interface ServiceWorkerContainer extends EventTarget { readonly controller: ServiceWorker | null; oncontrollerchange: ((this: ServiceWorkerContainer, ev: Event) => any) | null; - onmessage: ((this: ServiceWorkerContainer, ev: ServiceWorkerMessageEvent) => any) | null; + onmessage: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null; onmessageerror: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null; readonly ready: Promise; getRegistration(clientURL?: string): Promise; - getRegistrations(): Promise; + getRegistrations(): Promise>; register(scriptURL: string, options?: RegistrationOptions): Promise; startMessages(): void; addEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -12822,10 +13925,12 @@ interface ServiceWorkerRegistrationEventMap { interface ServiceWorkerRegistration extends EventTarget { readonly active: ServiceWorker | null; readonly installing: ServiceWorker | null; + readonly navigationPreload: NavigationPreloadManager; onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null; readonly pushManager: PushManager; readonly scope: string; readonly sync: SyncManager; + readonly updateViaCache: ServiceWorkerUpdateViaCache; readonly waiting: ServiceWorker | null; getNotifications(filter?: GetNotificationOptions): Promise; showNotification(title: string, options?: NotificationOptions): Promise; @@ -12977,17 +14082,36 @@ interface StereoPannerNode extends AudioNode { declare var StereoPannerNode: { prototype: StereoPannerNode; - new(): StereoPannerNode; + new(context: BaseAudioContext, options?: StereoPannerOptions): StereoPannerNode; }; interface Storage { + /** + * Returns the number of key/value pairs currently present in the list associated with the + * object. + */ readonly length: number; + /** + * Empties the list associated with the object of all key/value pairs, if there are any. + */ clear(): void; + /** + * value = storage[key] + */ getItem(key: string): string | null; + /** + * Returns the name of the nth key in the list, or null if n is greater + * than or equal to the number of key/value pairs in the object. + */ key(index: number): string | null; + /** + * delete storage[key] + */ removeItem(key: string): void; + /** + * storage[key] = value + */ setItem(key: string, value: string): void; - [key: string]: any; } declare var Storage: { @@ -12996,26 +14120,44 @@ declare var Storage: { }; interface StorageEvent extends Event { + /** + * Returns the key of the storage item being changed. + */ readonly key: string | null; + /** + * Returns the new value of the key of the storage item whose value is being changed. + */ readonly newValue: string | null; + /** + * Returns the old value of the key of the storage item whose value is being changed. + */ readonly oldValue: string | null; + /** + * Returns the Storage object that was affected. + */ readonly storageArea: Storage | null; + /** + * Returns the URL of the document whose storage item changed. + */ readonly url: string; } declare var StorageEvent: { prototype: StorageEvent; - new (type: string, eventInitDict?: StorageEventInit): StorageEvent; + new(type: string, eventInitDict?: StorageEventInit): StorageEvent; }; -interface StorageEventInit extends EventInit { - key?: string; - newValue?: string; - oldValue?: string; - storageArea?: Storage; - url: string; +interface StorageManager { + estimate(): Promise; + persist(): Promise; + persisted(): Promise; } +declare var StorageManager: { + prototype: StorageManager; + new(): StorageManager; +}; + interface StyleMedia { readonly type: string; matchMedium(mediaquery: string): boolean; @@ -13064,9 +14206,9 @@ interface SubtleCrypto { generateKey(algorithm: string, extractable: boolean, keyUsages: string[]): PromiseLike; generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams | DhKeyGenParams, extractable: boolean, keyUsages: string[]): PromiseLike; generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike; - importKey(format: "jwk", keyData: JsonWebKey, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable: boolean, keyUsages: string[]): PromiseLike; - importKey(format: "raw" | "pkcs8" | "spki", keyData: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable: boolean, keyUsages: string[]): PromiseLike; - importKey(format: string, keyData: JsonWebKey | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: "jwk", keyData: JsonWebKey, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: "raw" | "pkcs8" | "spki", keyData: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; + importKey(format: string, keyData: JsonWebKey | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm, extractable: boolean, keyUsages: string[]): PromiseLike; sign(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; unwrapKey(format: string, wrappedKey: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, unwrappingKey: CryptoKey, unwrapAlgorithm: string | Algorithm, unwrappedKeyAlgorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike; verify(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, signature: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): PromiseLike; @@ -13100,10 +14242,33 @@ declare var Text: { }; interface TextDecoder { + /** + * Returns encoding's name, lowercased. + */ readonly encoding: string; + /** + * Returns true if error mode is "fatal", and false + * otherwise. + */ readonly fatal: boolean; + /** + * Returns true if ignore BOM flag is set, and false otherwise. + */ readonly ignoreBOM: boolean; - decode(input?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, options?: TextDecodeOptions): string; + /** + * Returns the result of running encoding's decoder. The + * method can be invoked zero or more times with options's stream set to + * true, and then once without options's stream (or set to false), to process + * a fragmented stream. If the invocation without options's stream (or set to + * false) has no input, it's clearest to omit both arguments. + * var string = "", decoder = new TextDecoder(encoding), buffer; + * while(buffer = next_chunk()) { + * string += decoder.decode(buffer, {stream:true}); + * } + * string += decoder.decode(); // end-of-stream + * If the error mode is "fatal" and encoding's decoder returns error, throws a TypeError. + */ + decode(input?: BufferSource, options?: TextDecodeOptions): string; } declare var TextDecoder: { @@ -13112,7 +14277,13 @@ declare var TextDecoder: { }; interface TextEncoder { + /** + * Returns "utf-8". + */ readonly encoding: string; + /** + * Returns the result of running UTF-8's encoder. + */ encode(input?: string): Uint8Array; } @@ -13275,46 +14446,43 @@ declare var TimeRanges: { }; interface Touch { + readonly altitudeAngle: number; + readonly azimuthAngle: number; readonly clientX: number; readonly clientY: number; + readonly force: number; readonly identifier: number; readonly pageX: number; readonly pageY: number; + readonly radiusX: number; + readonly radiusY: number; + readonly rotationAngle: number; readonly screenX: number; readonly screenY: number; readonly target: EventTarget; + readonly touchType: TouchType; } declare var Touch: { prototype: Touch; - new(): Touch; + new(touchInitDict: TouchInit): Touch; }; interface TouchEvent extends UIEvent { readonly altKey: boolean; readonly changedTouches: TouchList; - readonly charCode: number; readonly ctrlKey: boolean; - readonly keyCode: number; readonly metaKey: boolean; readonly shiftKey: boolean; readonly targetTouches: TouchList; readonly touches: TouchList; - /** @deprecated */ - readonly which: number; } declare var TouchEvent: { prototype: TouchEvent; - new(type: string, touchEventInit?: TouchEventInit): TouchEvent; + new(type: string, eventInitDict?: TouchEventInit): TouchEvent; }; -interface TouchEventInit extends EventModifierInit { - changedTouches?: Touch[]; - targetTouches?: Touch[]; - touches?: Touch[]; -} - interface TouchList { readonly length: number; item(index: number): Touch | null; @@ -13338,12 +14506,12 @@ declare var TrackEvent: { interface TransitionEvent extends Event { readonly elapsedTime: number; readonly propertyName: string; - initTransitionEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, propertyNameArg: string, elapsedTimeArg: number): void; + readonly pseudoElement: string; } declare var TransitionEvent: { prototype: TransitionEvent; - new(typeArg: string, eventInitDict?: TransitionEventInit): TransitionEvent; + new(type: string, transitionEventInitDict?: TransitionEventInit): TransitionEvent; }; interface TreeWalker { @@ -13391,16 +14559,19 @@ interface URL { search: string; readonly searchParams: URLSearchParams; username: string; - toString(): string; + toJSON(): string; } declare var URL: { prototype: URL; new(url: string, base?: string | URL): URL; - createObjectURL(object: any, options?: ObjectURLOptions): string; + createObjectURL(object: any): string; revokeObjectURL(url: string): void; }; +type webkitURL = URL; +declare var webkitURL: typeof URL; + interface URLSearchParams { /** * Appends a specified key/value pair as a new search parameter. @@ -13426,11 +14597,13 @@ interface URLSearchParams { * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. */ set(name: string, value: string): void; + sort(): void; + forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void; } declare var URLSearchParams: { prototype: URLSearchParams; - new (init?: string | URLSearchParams): URLSearchParams; + new(init?: string[][] | Record | string | URLSearchParams): URLSearchParams; }; interface VRDisplay extends EventTarget { @@ -13747,7 +14920,7 @@ interface WaveShaperNode extends AudioNode { declare var WaveShaperNode: { prototype: WaveShaperNode; - new(): WaveShaperNode; + new(context: BaseAudioContext, options?: WaveShaperOptions): WaveShaperNode; }; interface WebAuthentication { @@ -14635,96 +15808,6 @@ declare var WebGLUniformLocation: { interface WebGLVertexArrayObjectOES { } -interface WebKitCSSMatrix { - a: number; - b: number; - c: number; - d: number; - e: number; - f: number; - m11: number; - m12: number; - m13: number; - m14: number; - m21: number; - m22: number; - m23: number; - m24: number; - m31: number; - m32: number; - m33: number; - m34: number; - m41: number; - m42: number; - m43: number; - m44: number; - inverse(): WebKitCSSMatrix; - multiply(secondMatrix: WebKitCSSMatrix): WebKitCSSMatrix; - rotate(angleX: number, angleY?: number, angleZ?: number): WebKitCSSMatrix; - rotateAxisAngle(x: number, y: number, z: number, angle: number): WebKitCSSMatrix; - scale(scaleX: number, scaleY?: number, scaleZ?: number): WebKitCSSMatrix; - setMatrixValue(value: string): void; - skewX(angle: number): WebKitCSSMatrix; - skewY(angle: number): WebKitCSSMatrix; - toString(): string; - translate(x: number, y: number, z?: number): WebKitCSSMatrix; -} - -declare var WebKitCSSMatrix: { - prototype: WebKitCSSMatrix; - new(text?: string): WebKitCSSMatrix; -}; - -interface WebKitDirectoryEntry extends WebKitEntry { - createReader(): WebKitDirectoryReader; -} - -declare var WebKitDirectoryEntry: { - prototype: WebKitDirectoryEntry; - new(): WebKitDirectoryEntry; -}; - -interface WebKitDirectoryReader { - readEntries(successCallback: WebKitEntriesCallback, errorCallback?: WebKitErrorCallback): void; -} - -declare var WebKitDirectoryReader: { - prototype: WebKitDirectoryReader; - new(): WebKitDirectoryReader; -}; - -interface WebKitEntry { - readonly filesystem: WebKitFileSystem; - readonly fullPath: string; - readonly isDirectory: boolean; - readonly isFile: boolean; - readonly name: string; -} - -declare var WebKitEntry: { - prototype: WebKitEntry; - new(): WebKitEntry; -}; - -interface WebKitFileEntry extends WebKitEntry { - file(successCallback: WebKitFileCallback, errorCallback?: WebKitErrorCallback): void; -} - -declare var WebKitFileEntry: { - prototype: WebKitFileEntry; - new(): WebKitFileEntry; -}; - -interface WebKitFileSystem { - readonly name: string; - readonly root: WebKitDirectoryEntry; -} - -declare var WebKitFileSystem: { - prototype: WebKitFileSystem; - new(): WebKitFileSystem; -}; - interface WebKitPoint { x: number; y: number; @@ -14882,10 +15965,6 @@ interface WindowEventMap extends GlobalEventHandlersEventMap { "submit": Event; "suspend": Event; "timeupdate": Event; - "touchcancel": TouchEvent; - "touchend": TouchEvent; - "touchmove": TouchEvent; - "touchstart": TouchEvent; "unload": Event; "volumechange": Event; "vrdisplayactivate": Event; @@ -14915,6 +15994,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window readonly doNotTrack: string; readonly document: Document; event: Event | undefined; + /** @deprecated */ readonly external: External; readonly frameElement: Element; readonly frames: Window; @@ -15015,10 +16095,6 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window onsubmit: ((this: Window, ev: Event) => any) | null; onsuspend: ((this: Window, ev: Event) => any) | null; ontimeupdate: ((this: Window, ev: Event) => any) | null; - ontouchcancel: (ev: TouchEvent) => any; - ontouchend: (ev: TouchEvent) => any; - ontouchmove: (ev: TouchEvent) => any; - ontouchstart: (ev: TouchEvent) => any; onunload: ((this: Window, ev: Event) => any) | null; onvolumechange: ((this: Window, ev: Event) => any) | null; onvrdisplayactivate: ((this: Window, ev: Event) => any) | null; @@ -15059,6 +16135,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window alert(message?: any): void; blur(): void; cancelAnimationFrame(handle: number): void; + /** @deprecated */ captureEvents(): void; close(): void; confirm(message?: string): boolean; @@ -15077,6 +16154,7 @@ interface Window extends EventTarget, WindowTimers, WindowSessionStorage, Window postMessage(message: any, targetOrigin: string, transfer?: any[]): void; print(): void; prompt(message?: string, _default?: string): string | null; + /** @deprecated */ releaseEvents(): void; requestAnimationFrame(callback: FrameRequestCallback): number; resizeBy(x?: number, y?: number): void; @@ -15150,6 +16228,13 @@ interface WindowLocalStorage { readonly localStorage: Storage; } +interface WindowOrWorkerGlobalScope { + readonly caches: CacheStorage; + readonly indexedDB: IDBFactory; + readonly performance: Performance; + fetch(input: RequestInfo, init?: RequestInit): Promise; +} + interface WindowSessionStorage { readonly sessionStorage: Storage; } @@ -15175,7 +16260,6 @@ interface WorkerEventMap extends AbstractWorkerEventMap { interface Worker extends EventTarget, AbstractWorker { onmessage: ((this: Worker, ev: MessageEvent) => any) | null; - /** @deprecated */ postMessage(message: any, transfer?: any[]): void; terminate(): void; addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -15189,6 +16273,15 @@ declare var Worker: { new(stringUrl: string): Worker; }; +interface Worklet { + addModule(moduleURL: string, options?: WorkletOptions): Promise; +} + +declare var Worklet: { + prototype: Worklet; + new(): Worklet; +}; + interface WritableStream { readonly locked: boolean; abort(reason?: any): Promise; @@ -15240,28 +16333,96 @@ interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { "readystatechange": Event; } -interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget { - msCaching: string; +interface XMLHttpRequest extends XMLHttpRequestEventTarget { onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null; + /** + * Returns client's state. + */ readonly readyState: number; + /** + * Returns the response's body. + */ readonly response: any; + /** + * Returns the text response. + * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "text". + */ readonly responseText: string; + /** + * Returns the response type. + * Can be set to change the response type. Values are: + * the empty string (default), + * "arraybuffer", + * "blob", + * "document", + * "json", and + * "text". + * When set: setting to "document" is ignored if current global object is not a Window object. + * When set: throws an "InvalidStateError" DOMException if state is loading or done. + * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object. + */ responseType: XMLHttpRequestResponseType; readonly responseURL: string; + /** + * Returns the document response. + * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "document". + */ readonly responseXML: Document | null; readonly status: number; readonly statusText: string; + /** + * Can be set to a time in milliseconds. When set to a non-zero value will cause fetching to terminate after the given time has passed. When the time has passed, the + * request has not yet completed, and the synchronous flag is unset, a timeout event will then be dispatched, or a + * "TimeoutError" DOMException will be thrown otherwise (for the send() method). + * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object. + */ timeout: number; + /** + * Returns the associated XMLHttpRequestUpload object. It can be used to gather transmission information when data is + * transferred to a server. + */ readonly upload: XMLHttpRequestUpload; + /** + * True when credentials are to be included in a cross-origin request. False when they are + * to be excluded in a cross-origin request and when cookies are to be ignored in its response. + * Initially false. + * When set: throws an "InvalidStateError" DOMException if state is not unsent or opened, or if the send() flag is set. + */ withCredentials: boolean; + /** + * Cancels any network activity. + */ abort(): void; getAllResponseHeaders(): string; - getResponseHeader(header: string): string | null; - msCachingEnabled(): boolean; - open(method: string, url: string, async?: boolean, user?: string | null, password?: string | null): void; + getResponseHeader(name: string): string | null; + /** + * Sets the request method, request URL, and synchronous flag. + * Throws a "SyntaxError" DOMException if either method is not a + * valid HTTP method or url cannot be parsed. + * Throws a "SecurityError" DOMException if method is a + * case-insensitive match for `CONNECT`, `TRACE`, or `TRACK`. + * Throws an "InvalidAccessError" DOMException if async is false, current global object is a Window object, and the timeout attribute is not zero or the responseType attribute is not the empty string. + */ + open(method: string, url: string): void; + open(method: string, url: string, async: boolean, username?: string | null, password?: string | null): void; + /** + * Acts as if the `Content-Type` header value for response is mime. + * (It does not actually change the header though.) + * Throws an "InvalidStateError" DOMException if state is loading or done. + */ overrideMimeType(mime: string): void; - send(data?: any): void; - setRequestHeader(header: string, value: string): void; + /** + * Initiates the request. The optional argument provides the request body. The argument is ignored if request method is GET or HEAD. + * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. + */ + send(body?: Document | BodyInit): void; + /** + * Combines a header in author request headers. + * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. + * Throws a "SyntaxError" DOMException if name is not a header name + * or if value is not a header value. + */ + setRequestHeader(name: string, value: string): void; readonly DONE: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; @@ -15284,21 +16445,21 @@ declare var XMLHttpRequest: { }; interface XMLHttpRequestEventTargetEventMap { - "abort": Event; - "error": ErrorEvent; - "load": Event; + "abort": ProgressEvent; + "error": ProgressEvent; + "load": ProgressEvent; "loadend": ProgressEvent; - "loadstart": Event; + "loadstart": ProgressEvent; "progress": ProgressEvent; "timeout": ProgressEvent; } -interface XMLHttpRequestEventTarget { - onabort: ((this: XMLHttpRequest, ev: Event) => any) | null; - onerror: ((this: XMLHttpRequest, ev: ErrorEvent) => any) | null; - onload: ((this: XMLHttpRequest, ev: Event) => any) | null; +interface XMLHttpRequestEventTarget extends EventTarget { + onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; - onloadstart: ((this: XMLHttpRequest, ev: Event) => any) | null; + onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -15307,7 +16468,12 @@ interface XMLHttpRequestEventTarget { removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } -interface XMLHttpRequestUpload extends EventTarget, XMLHttpRequestEventTarget { +declare var XMLHttpRequestEventTarget: { + prototype: XMLHttpRequestEventTarget; + new(): XMLHttpRequestEventTarget; +}; + +interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -15452,6 +16618,10 @@ interface FunctionStringCallback { (data: string): void; } +interface GenerateAssertionCallback { + (contents: string, origin: string, options: RTCIdentityProviderOptions): Promise; +} + interface IntersectionObserverCallback { (entries: IntersectionObserverEntry[], observer: IntersectionObserver): void; } @@ -15480,26 +16650,34 @@ interface NotificationPermissionCallback { (permission: NotificationPermission): void; } +interface PerformanceObserverCallback { + (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void; +} + interface PositionCallback { (position: Position): void; } interface PositionErrorCallback { - (error: PositionError): void; + (positionError: PositionError): void; } interface RTCPeerConnectionErrorCallback { - (error: DOMError): void; + (error: DOMException): void; } interface RTCSessionDescriptionCallback { - (sdp: RTCSessionDescription): void; + (description: RTCSessionDescriptionInit): void; } interface RTCStatsCallback { (report: RTCStatsReport): void; } +interface ValidateAssertionCallback { + (assertion: string, origin: string): Promise; +} + interface VoidFunction { (): void; } @@ -15647,40 +16825,40 @@ interface HTMLElementTagNameMap { interface SVGElementTagNameMap { "circle": SVGCircleElement; - "clippath": SVGClipPathElement; + "clipPath": SVGClipPathElement; "defs": SVGDefsElement; "desc": SVGDescElement; "ellipse": SVGEllipseElement; - "feblend": SVGFEBlendElement; - "fecolormatrix": SVGFEColorMatrixElement; - "fecomponenttransfer": SVGFEComponentTransferElement; - "fecomposite": SVGFECompositeElement; - "feconvolvematrix": SVGFEConvolveMatrixElement; - "fediffuselighting": SVGFEDiffuseLightingElement; - "fedisplacementmap": SVGFEDisplacementMapElement; - "fedistantlight": SVGFEDistantLightElement; - "feflood": SVGFEFloodElement; - "fefunca": SVGFEFuncAElement; - "fefuncb": SVGFEFuncBElement; - "fefuncg": SVGFEFuncGElement; - "fefuncr": SVGFEFuncRElement; - "fegaussianblur": SVGFEGaussianBlurElement; - "feimage": SVGFEImageElement; - "femerge": SVGFEMergeElement; - "femergenode": SVGFEMergeNodeElement; - "femorphology": SVGFEMorphologyElement; - "feoffset": SVGFEOffsetElement; - "fepointlight": SVGFEPointLightElement; - "fespecularlighting": SVGFESpecularLightingElement; - "fespotlight": SVGFESpotLightElement; - "fetile": SVGFETileElement; - "feturbulence": SVGFETurbulenceElement; + "feBlend": SVGFEBlendElement; + "feColorMatrix": SVGFEColorMatrixElement; + "feComponentTransfer": SVGFEComponentTransferElement; + "feComposite": SVGFECompositeElement; + "feConvolveMatrix": SVGFEConvolveMatrixElement; + "feDiffuseLighting": SVGFEDiffuseLightingElement; + "feDisplacementMap": SVGFEDisplacementMapElement; + "feDistantLight": SVGFEDistantLightElement; + "feFlood": SVGFEFloodElement; + "feFuncA": SVGFEFuncAElement; + "feFuncB": SVGFEFuncBElement; + "feFuncG": SVGFEFuncGElement; + "feFuncR": SVGFEFuncRElement; + "feGaussianBlur": SVGFEGaussianBlurElement; + "feImage": SVGFEImageElement; + "feMerge": SVGFEMergeElement; + "feMergeNode": SVGFEMergeNodeElement; + "feMorphology": SVGFEMorphologyElement; + "feOffset": SVGFEOffsetElement; + "fePointLight": SVGFEPointLightElement; + "feSpecularLighting": SVGFESpecularLightingElement; + "feSpotLight": SVGFESpotLightElement; + "feTile": SVGFETileElement; + "feTurbulence": SVGFETurbulenceElement; "filter": SVGFilterElement; - "foreignobject": SVGForeignObjectElement; + "foreignObject": SVGForeignObjectElement; "g": SVGGElement; "image": SVGImageElement; "line": SVGLineElement; - "lineargradient": SVGLinearGradientElement; + "linearGradient": SVGLinearGradientElement; "marker": SVGMarkerElement; "mask": SVGMaskElement; "metadata": SVGMetadataElement; @@ -15688,14 +16866,14 @@ interface SVGElementTagNameMap { "pattern": SVGPatternElement; "polygon": SVGPolygonElement; "polyline": SVGPolylineElement; - "radialgradient": SVGRadialGradientElement; + "radialGradient": SVGRadialGradientElement; "rect": SVGRectElement; "stop": SVGStopElement; "svg": SVGSVGElement; "switch": SVGSwitchElement; "symbol": SVGSymbolElement; "text": SVGTextElement; - "textpath": SVGTextPathElement; + "textPath": SVGTextPathElement; "tspan": SVGTSpanElement; "use": SVGUseElement; "view": SVGViewElement; @@ -15727,6 +16905,7 @@ declare var devicePixelRatio: number; declare var doNotTrack: string; declare var document: Document; declare var event: Event | undefined; +/** @deprecated */ declare var external: External; declare var frameElement: Element; declare var frames: Window; @@ -15827,10 +17006,6 @@ declare var onstorage: ((this: Window, ev: StorageEvent) => any) | null; declare var onsubmit: ((this: Window, ev: Event) => any) | null; declare var onsuspend: ((this: Window, ev: Event) => any) | null; declare var ontimeupdate: ((this: Window, ev: Event) => any) | null; -declare var ontouchcancel: (ev: TouchEvent) => any; -declare var ontouchend: (ev: TouchEvent) => any; -declare var ontouchmove: (ev: TouchEvent) => any; -declare var ontouchstart: (ev: TouchEvent) => any; declare var onunload: ((this: Window, ev: Event) => any) | null; declare var onvolumechange: ((this: Window, ev: Event) => any) | null; declare var onvrdisplayactivate: ((this: Window, ev: Event) => any) | null; @@ -15871,6 +17046,7 @@ declare var window: Window; declare function alert(message?: any): void; declare function blur(): void; declare function cancelAnimationFrame(handle: number): void; +/** @deprecated */ declare function captureEvents(): void; declare function close(): void; declare function confirm(message?: string): boolean; @@ -15889,6 +17065,7 @@ declare function open(url?: string, target?: string, features?: string, replace? declare function postMessage(message: any, targetOrigin: string, transfer?: any[]): void; declare function print(): void; declare function prompt(message?: string, _default?: string): string | null; +/** @deprecated */ declare function releaseEvents(): void; declare function requestAnimationFrame(callback: FrameRequestCallback): number; declare function resizeBy(x?: number, y?: number): void; @@ -15918,6 +17095,12 @@ declare function setImmediate(handler: any, ...args: any[]): number; declare var sessionStorage: Storage; declare var localStorage: Storage; declare var console: Console; +declare var onanimationcancel: ((this: Window, ev: AnimationEvent) => any) | null; +declare var onanimationend: ((this: Window, ev: AnimationEvent) => any) | null; +declare var onanimationiteration: ((this: Window, ev: AnimationEvent) => any) | null; +declare var onanimationstart: ((this: Window, ev: AnimationEvent) => any) | null; +declare var ongotpointercapture: ((this: Window, ev: PointerEvent) => any) | null; +declare var onlostpointercapture: ((this: Window, ev: PointerEvent) => any) | null; declare var onpointercancel: ((this: Window, ev: PointerEvent) => any) | null; declare var onpointerdown: ((this: Window, ev: PointerEvent) => any) | null; declare var onpointerenter: ((this: Window, ev: PointerEvent) => any) | null; @@ -15926,28 +17109,46 @@ declare var onpointermove: ((this: Window, ev: PointerEvent) => any) | null; declare var onpointerout: ((this: Window, ev: PointerEvent) => any) | null; declare var onpointerover: ((this: Window, ev: PointerEvent) => any) | null; declare var onpointerup: ((this: Window, ev: PointerEvent) => any) | null; +declare var ontouchcancel: ((this: Window, ev: TouchEvent) => any) | null; +declare var ontouchend: ((this: Window, ev: TouchEvent) => any) | null; +declare var ontouchmove: ((this: Window, ev: TouchEvent) => any) | null; +declare var ontouchstart: ((this: Window, ev: TouchEvent) => any) | null; +declare var ontransitioncancel: ((this: Window, ev: TransitionEvent) => any) | null; +declare var ontransitionend: ((this: Window, ev: TransitionEvent) => any) | null; +declare var ontransitionrun: ((this: Window, ev: TransitionEvent) => any) | null; +declare var ontransitionstart: ((this: Window, ev: TransitionEvent) => any) | null; declare var onwheel: ((this: Window, ev: WheelEvent) => any) | null; declare var indexedDB: IDBFactory; declare function atob(encodedString: string): string; declare function btoa(rawString: string): string; declare function fetch(input?: Request | string, init?: RequestInit): Promise; +declare var sessionStorage: Storage; +declare var localStorage: Storage; declare function addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; declare function removeEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void; declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +type BlobPart = BufferSource | Blob | string; +type HeadersInit = Headers | string[][] | Record; +type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; +type RequestInfo = Request | string; +type DOMHighResTimeStamp = number; +type PerformanceEntryList = PerformanceEntry[]; +type PushMessageDataInit = BufferSource | string; +type VibratePattern = number | number[]; +type BufferSource = ArrayBufferView | ArrayBuffer; +type DOMTimeStamp = number; +type FormDataEntryValue = File | string; type ScrollBehavior = "auto" | "instant" | "smooth"; type ScrollLogicalPosition = "start" | "center" | "end" | "nearest"; type MouseWheelEvent = WheelEvent; type ScrollRestoration = "auto" | "manual"; -type FormDataEntryValue = string | File; type InsertPosition = "beforebegin" | "afterbegin" | "beforeend" | "afterend"; -type HeadersInit = Headers | string[][] | { [key: string]: string }; type OrientationLockType = "any" | "natural" | "portrait" | "landscape" | "portrait-primary" | "portrait-secondary" | "landscape-primary"| "landscape-secondary"; -type IDBValidKey = number | string | Date | IDBArrayKey; +type IDBValidKey = number | string | Date | BufferSource | IDBArrayKey; type AlgorithmIdentifier = string | Algorithm; type MutationRecordType = "attributes" | "characterData" | "childList"; type AAGUID = string; -type BodyInit = any; type ByteString = string; type ConstrainBoolean = boolean | ConstrainBooleanParameters; type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters; @@ -15974,25 +17175,28 @@ type MSLocalClientEvent = MSLocalClientEventBase | MSAudioLocalClientEvent; type MSOutboundPayload = MSVideoSendPayload | MSAudioSendPayload; type RTCIceGatherCandidate = RTCIceCandidateDictionary | RTCIceCandidateComplete; type RTCTransport = RTCDtlsTransport | RTCSrtpSdesTransport; -type RequestInfo = Request | string; type USVString = string; type payloadtype = number; -type BufferSource = ArrayBuffer | ArrayBufferView; -type ClientTypes = "window" | "worker" | "sharedworker" | "all"; +type MessageEventSource = Window | MessagePort | ServiceWorker; +type AnimationPlayState = "idle" | "running" | "paused" | "finished"; type AppendMode = "segments" | "sequence"; type AudioContextLatencyCategory = "balanced" | "interactive" | "playback"; type AudioContextState = "suspended" | "running" | "closed"; +type AutomationRate = "a-rate" | "k-rate"; type BinaryType = "blob" | "arraybuffer"; type BiquadFilterType = "lowpass" | "highpass" | "bandpass" | "lowshelf" | "highshelf" | "peaking" | "notch" | "allpass"; type CanPlayTypeResult = "" | "maybe" | "probably"; type CanvasFillRule = "nonzero" | "evenodd"; type ChannelCountMode = "max" | "clamped-max" | "explicit"; type ChannelInterpretation = "speakers" | "discrete"; +type ClientTypes = "window" | "worker" | "sharedworker" | "all"; +type CompositeOperation = "replace" | "add" | "accumulate"; type DisplayCaptureSurfaceType = "monitor" | "window" | "application" | "browser"; type DistanceModelType = "linear" | "inverse" | "exponential"; type DocumentReadyState = "loading" | "interactive" | "complete"; type EndOfStreamError = "network" | "decode"; type ExpandGranularity = "character" | "word" | "sentence" | "textedit"; +type FillMode = "none" | "forwards" | "backwards" | "both" | "auto"; type GamepadHand = "" | "left" | "right"; type GamepadHapticActuatorType = "vibration"; type GamepadInputEmulationType = "mouse" | "keyboard" | "gamepad"; @@ -16000,6 +17204,7 @@ type GamepadMappingType = "" | "standard"; type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; type IDBRequestReadyState = "pending" | "done"; type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; +type IterationCompositeOperation = "replace" | "accumulate"; type KeyFormat = "raw" | "spki" | "pkcs8" | "jwk"; type KeyType = "public" | "private" | "secret"; type KeyUsage = "encrypt" | "decrypt" | "sign" | "verify" | "deriveKey" | "deriveBits" | "wrapKey" | "unwrapKey"; @@ -16026,44 +17231,57 @@ type OverSampleType = "none" | "2x" | "4x"; type PanningModelType = "equalpower" | "HRTF"; type PaymentComplete = "success" | "fail" | "unknown"; type PaymentShippingType = "shipping" | "delivery" | "pickup"; +type PlaybackDirection = "normal" | "reverse" | "alternate" | "alternate-reverse"; type PushEncryptionKeyName = "p256dh" | "auth"; -type PushPermissionState = "granted" | "denied" | "prompt"; +type PushPermissionState = "denied" | "granted" | "prompt"; type RTCBundlePolicy = "balanced" | "max-compat" | "max-bundle"; +type RTCDataChannelState = "connecting" | "open" | "closing" | "closed"; type RTCDegradationPreference = "maintain-framerate" | "maintain-resolution" | "balanced"; type RTCDtlsRole = "auto" | "client" | "server"; -type RTCDtlsTransportState = "new" | "connecting" | "connected" | "closed"; +type RTCDtlsTransportState = "new" | "connecting" | "connected" | "closed" | "failed"; +type RTCDtxStatus = "disabled" | "enabled"; +type RTCErrorDetailType = "data-channel-failure" | "dtls-failure" | "fingerprint-failure" | "idp-bad-script-failure" | "idp-execution-failure" | "idp-load-failure" | "idp-need-login" | "idp-timeout" | "idp-tls-failure" | "idp-token-expired" | "idp-token-invalid" | "sctp-failure" | "sdp-syntax-error" | "hardware-encoder-not-available" | "hardware-encoder-error"; type RTCIceCandidateType = "host" | "srflx" | "prflx" | "relay"; -type RTCIceComponent = "RTP" | "RTCP"; -type RTCIceConnectionState = "new" | "checking" | "connected" | "completed" | "failed" | "disconnected" | "closed"; +type RTCIceComponent = "rtp" | "rtcp"; +type RTCIceConnectionState = "new" | "checking" | "connected" | "completed" | "disconnected" | "failed" | "closed"; +type RTCIceCredentialType = "password" | "oauth"; type RTCIceGatherPolicy = "all" | "nohost" | "relay"; type RTCIceGathererState = "new" | "gathering" | "complete"; type RTCIceGatheringState = "new" | "gathering" | "complete"; type RTCIceProtocol = "udp" | "tcp"; type RTCIceRole = "controlling" | "controlled"; type RTCIceTcpCandidateType = "active" | "passive" | "so"; -type RTCIceTransportPolicy = "none" | "relay" | "all"; -type RTCIceTransportState = "new" | "checking" | "connected" | "completed" | "disconnected" | "closed"; -type RTCSdpType = "offer" | "pranswer" | "answer"; +type RTCIceTransportPolicy = "relay" | "all"; +type RTCIceTransportState = "new" | "checking" | "connected" | "completed" | "disconnected" | "failed" | "closed"; +type RTCPeerConnectionState = "new" | "connecting" | "connected" | "disconnected" | "failed" | "closed"; +type RTCPriorityType = "very-low" | "low" | "medium" | "high"; +type RTCRtcpMuxPolicy = "negotiate" | "require"; +type RTCRtpTransceiverDirection = "sendrecv" | "sendonly" | "recvonly" | "inactive"; +type RTCSctpTransportState = "new" | "connecting" | "connected" | "closed"; +type RTCSdpType = "offer" | "pranswer" | "answer" | "rollback"; type RTCSignalingState = "stable" | "have-local-offer" | "have-remote-offer" | "have-local-pranswer" | "have-remote-pranswer" | "closed"; type RTCStatsIceCandidatePairState = "frozen" | "waiting" | "inprogress" | "failed" | "succeeded" | "cancelled"; type RTCStatsIceCandidateType = "host" | "serverreflexive" | "peerreflexive" | "relayed"; type RTCStatsType = "inboundrtp" | "outboundrtp" | "session" | "datachannel" | "track" | "transport" | "candidatepair" | "localcandidate" | "remotecandidate"; type ReadyState = "closed" | "open" | "ended"; type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin-only" | "origin-when-cross-origin" | "unsafe-url"; -type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache"; +type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; type RequestCredentials = "omit" | "same-origin" | "include"; -type RequestDestination = "" | "document" | "sharedworker" | "subresource" | "unknown" | "worker"; +type RequestDestination = "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors"; type RequestRedirect = "follow" | "error" | "manual"; -type RequestType = "" | "audio" | "font" | "image" | "script" | "style" | "track" | "video"; type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; type ScopedCredentialType = "ScopedCred"; +type SelectionMode = "select" | "start" | "end" | "preserve"; type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; +type ServiceWorkerUpdateViaCache = "imports" | "all" | "none"; type TextTrackKind = "subtitles" | "captions" | "descriptions" | "chapters" | "metadata"; type TextTrackMode = "disabled" | "hidden" | "showing"; +type TouchType = "direct" | "stylus"; type Transport = "usb" | "nfc" | "ble"; type VRDisplayEventReason = "mounted" | "navigation" | "requested" | "unmounted"; type VREye = "left" | "right"; type VideoFacingModeEnum = "user" | "environment" | "left" | "right"; type VisibilityState = "hidden" | "visible" | "prerender" | "unloaded"; +type WorkerType = "classic" | "module"; type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; \ No newline at end of file diff --git a/src/lib/dom.iterable.generated.d.ts b/src/lib/dom.iterable.generated.d.ts index 6ca728444f2..2bb1df54f55 100644 --- a/src/lib/dom.iterable.generated.d.ts +++ b/src/lib/dom.iterable.generated.d.ts @@ -1,115 +1,188 @@ -/// - -interface DOMTokenList { - [Symbol.iterator](): IterableIterator; -} - -interface Headers { - [Symbol.iterator](): IterableIterator<[string, string]>; +///////////////////////////// +/// DOM Iterable APIs +///////////////////////////// + +interface AudioParamMap extends ReadonlyMap { +} + +interface AudioTrackList { + [Symbol.iterator](): IterableIterator; +} + +interface CSSRuleList { + [Symbol.iterator](): IterableIterator; +} + +interface CSSStyleDeclaration { + [Symbol.iterator](): IterableIterator; +} + +interface ClientRectList { + [Symbol.iterator](): IterableIterator; +} + +interface DOMRectList { + [Symbol.iterator](): IterableIterator; +} + +interface DOMStringList { + [Symbol.iterator](): IterableIterator; +} + +interface DOMTokenList { + [Symbol.iterator](): IterableIterator; +} + +interface DataTransferItemList { + [Symbol.iterator](): IterableIterator; +} + +interface FileList { + [Symbol.iterator](): IterableIterator; +} + +interface FormData { + [Symbol.iterator](): IterableIterator<[string, FormDataEntryValue]>; + /** + * Returns an array of key, value pairs for every entry in the list. + */ + entries(): IterableIterator<[string, FormDataEntryValue]>; + /** + * Returns a list of keys in the list. + */ + keys(): IterableIterator; + /** + * Returns a list of values in the list. + */ + values(): IterableIterator; +} + +interface HTMLAllCollection { + [Symbol.iterator](): IterableIterator; +} + +interface HTMLCollectionBase { + [Symbol.iterator](): IterableIterator; +} + +interface HTMLCollectionOf { + [Symbol.iterator](): IterableIterator; + entries(): IterableIterator<[number, T]>; + keys(): IterableIterator; + values(): IterableIterator; +} + +interface HTMLSelectElement { + [Symbol.iterator](): IterableIterator; +} + +interface Headers { + [Symbol.iterator](): IterableIterator<[string, string]>; /** * Returns an iterator allowing to go through all key/value pairs contained in this object. - */ - entries(): IterableIterator<[string, string]>; + */ + entries(): IterableIterator<[string, string]>; /** - * Returns an iterator allowing to go through all keys f the key/value pairs contained in this object. - */ - keys(): IterableIterator; + * Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. + */ + keys(): IterableIterator; /** * Returns an iterator allowing to go through all values of the key/value pairs contained in this object. - */ - values(): IterableIterator; -} - -interface NodeList { + */ + values(): IterableIterator; +} + +interface MediaList { + [Symbol.iterator](): IterableIterator; +} + +interface MimeTypeArray { + [Symbol.iterator](): IterableIterator; +} + +interface NamedNodeMap { + [Symbol.iterator](): IterableIterator; +} + +interface NodeList { + [Symbol.iterator](): IterableIterator; /** - * Returns an array of key, value pairs for every entry in the list - */ - entries(): IterableIterator<[number, Node]>; + * Returns an array of key, value pairs for every entry in the list. + */ + entries(): IterableIterator<[number, Node]>; /** - * Performs the specified action for each node in an list. - * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: Node, index: number, listObj: NodeList) => void, thisArg?: any): void; + * Returns an list of keys in the list. + */ + keys(): IterableIterator; /** - * Returns an list of keys in the list - */ - keys(): IterableIterator; - + * Returns an list of values in the list. + */ + values(): IterableIterator; +} + +interface NodeListOf { + [Symbol.iterator](): IterableIterator; /** - * Returns an list of values in the list - */ - values(): IterableIterator; - - - [Symbol.iterator](): IterableIterator; -} - -interface NodeListOf { - + * Returns an array of key, value pairs for every entry in the list. + */ + entries(): IterableIterator<[number, TNode]>; /** - * Returns an array of key, value pairs for every entry in the list - */ - entries(): IterableIterator<[number, TNode]>; - + * Returns an list of keys in the list. + */ + keys(): IterableIterator; /** - * Performs the specified action for each node in an list. - * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list. - * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. - */ - forEach(callbackfn: (value: TNode, index: number, listObj: NodeListOf) => void, thisArg?: any): void; + * Returns an list of values in the list. + */ + values(): IterableIterator; +} + +interface Plugin { + [Symbol.iterator](): IterableIterator; +} + +interface PluginArray { + [Symbol.iterator](): IterableIterator; +} + +interface RTCStatsReport extends ReadonlyMap { +} + +interface SourceBufferList { + [Symbol.iterator](): IterableIterator; +} + +interface StyleSheetList { + [Symbol.iterator](): IterableIterator; +} + +interface TextTrackCueList { + [Symbol.iterator](): IterableIterator; +} + +interface TextTrackList { + [Symbol.iterator](): IterableIterator; +} + +interface TouchList { + [Symbol.iterator](): IterableIterator; +} + +interface URLSearchParams { + [Symbol.iterator](): IterableIterator<[string, string]>; /** - * Returns an list of keys in the list - */ - keys(): IterableIterator; + * Returns an array of key, value pairs for every entry in the search params. + */ + entries(): IterableIterator<[string, string]>; /** - * Returns an list of values in the list - */ - values(): IterableIterator; - - [Symbol.iterator](): IterableIterator; -} - -interface HTMLCollectionBase { - [Symbol.iterator](): IterableIterator; -} - -interface HTMLCollectionOf { - [Symbol.iterator](): IterableIterator; -} - -interface FormData { + * Returns a list of keys in the search params. + */ + keys(): IterableIterator; /** - * Returns an array of key, value pairs for every entry in the list - */ - entries(): IterableIterator<[string, string | File]>; - /** - * Returns a list of keys in the list - */ - keys(): IterableIterator; - /** - * Returns a list of values in the list - */ - values(): IterableIterator; - - [Symbol.iterator](): IterableIterator; -} - -interface URLSearchParams { - /** - * Returns an array of key, value pairs for every entry in the search params - */ - entries(): IterableIterator<[string, string]>; - /** - * Returns a list of keys in the search params - */ - keys(): IterableIterator; - /** - * Returns a list of values in the search params - */ - values(): IterableIterator; - /** - * iterate over key/value pairs - */ - [Symbol.iterator](): IterableIterator<[string, string]>; -} + * Returns a list of values in the search params. + */ + values(): IterableIterator; +} + +interface VideoTrackList { + [Symbol.iterator](): IterableIterator; +} diff --git a/src/lib/webworker.generated.d.ts b/src/lib/webworker.generated.d.ts index b83072a9698..8b6a0c2d14d 100644 --- a/src/lib/webworker.generated.d.ts +++ b/src/lib/webworker.generated.d.ts @@ -11,6 +11,10 @@ interface Algorithm { name: string; } +interface BlobPropertyBag { + type?: string; +} + interface CacheQueryOptions { cacheName?: string; ignoreMethod?: boolean; @@ -19,7 +23,6 @@ interface CacheQueryOptions { } interface ClientQueryOptions { - includeReserved?: boolean; includeUncontrolled?: boolean; type?: ClientTypes; } @@ -30,6 +33,56 @@ interface CloseEventInit extends EventInit { wasClean?: boolean; } +interface DOMMatrix2DInit { + a?: number; + b?: number; + c?: number; + d?: number; + e?: number; + f?: number; + m11?: number; + m12?: number; + m21?: number; + m22?: number; + m41?: number; + m42?: number; +} + +interface DOMMatrixInit extends DOMMatrix2DInit { + is2D?: boolean; + m13?: number; + m14?: number; + m23?: number; + m24?: number; + m31?: number; + m32?: number; + m33?: number; + m34?: number; + m43?: number; + m44?: number; +} + +interface DOMPointInit { + w?: number; + x?: number; + y?: number; + z?: number; +} + +interface DOMQuadInit { + p1?: DOMPointInit; + p2?: DOMPointInit; + p3?: DOMPointInit; + p4?: DOMPointInit; +} + +interface DOMRectInit { + height?: number; + width?: number; + x?: number; + y?: number; +} + interface ErrorEventInit extends EventInit { colno?: number; error?: any; @@ -41,7 +94,7 @@ interface ErrorEventInit extends EventInit { interface EventInit { bubbles?: boolean; cancelable?: boolean; - scoped?: boolean; + composed?: boolean; } interface EventListenerOptions { @@ -55,17 +108,22 @@ interface ExtendableMessageEventInit extends ExtendableEventInit { data?: any; lastEventId?: string; origin?: string; - ports?: MessagePort[] | null; - source?: Client | ServiceWorker | MessagePort | null; + ports?: MessagePort[]; + source?: Client | ServiceWorker | MessagePort; } interface FetchEventInit extends ExtendableEventInit { clientId?: string; + preloadResponse: Promise; request: Request; - reservedClientId?: string; + resultingClientId?: string; targetClientId?: string; } +interface FilePropertyBag extends BlobPropertyBag { + lastModified?: number; +} + interface GetNotificationOptions { tag?: string; } @@ -80,6 +138,11 @@ interface IDBObjectStoreParameters { keyPath?: string | string[]; } +interface IDBVersionChangeEventInit extends EventInit { + newVersion?: number | null; + oldVersion?: number; +} + interface KeyAlgorithm { name: string; } @@ -93,22 +156,42 @@ interface MessageEventInit extends EventInit { source?: object | null; } +interface NavigationPreloadState { + enabled?: boolean; + headerValue?: string; +} + +interface NotificationAction { + action: string; + icon?: string; + title: string; +} + interface NotificationEventInit extends ExtendableEventInit { action?: string; notification: Notification; } interface NotificationOptions { + actions?: NotificationAction[]; + badge?: string; body?: string; data?: any; dir?: NotificationDirection; icon?: string; + image?: string; lang?: string; + renotify?: boolean; + requireInteraction?: boolean; + silent?: boolean; tag?: string; + timestamp?: number; + vibrate?: VibratePattern; } -interface ObjectURLOptions { - oneTimeOnly?: boolean; +interface PerformanceObserverInit { + buffered?: boolean; + entryTypes: string[]; } interface ProgressEventInit extends EventInit { @@ -117,8 +200,13 @@ interface ProgressEventInit extends EventInit { total?: number; } +interface PromiseRejectionEventInit extends EventInit { + promise: Promise; + reason?: any; +} + interface PushEventInit extends ExtendableEventInit { - data?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | string | null; + data?: PushMessageDataInit; } interface PushSubscriptionChangeInit extends ExtendableEventInit { @@ -126,13 +214,25 @@ interface PushSubscriptionChangeInit extends ExtendableEventInit { oldSubscription?: PushSubscription; } +interface PushSubscriptionJSON { + endpoint?: string; + expirationTime?: number | null; + keys?: Record; +} + interface PushSubscriptionOptionsInit { - applicationServerKey?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | string | null; + applicationServerKey?: BufferSource | string; userVisibleOnly?: boolean; } +interface RegistrationOptions { + scope?: string; + type?: WorkerType; + updateViaCache?: ServiceWorkerUpdateViaCache; +} + interface RequestInit { - body?: Blob | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | FormData | string | null; + body?: BodyInit | null; cache?: RequestCache; credentials?: RequestCredentials; headers?: HeadersInit; @@ -143,7 +243,7 @@ interface RequestInit { redirect?: RequestRedirect; referrer?: string; referrerPolicy?: ReferrerPolicy; - signal?: object; + signal?: object | null; window?: any; } @@ -153,11 +253,25 @@ interface ResponseInit { statusText?: string; } +interface StorageEstimate { + quota?: number; + usage?: number; +} + interface SyncEventInit extends ExtendableEventInit { lastChance?: boolean; tag: string; } +interface TextDecodeOptions { + stream?: boolean; +} + +interface TextDecoderOptions { + fatal?: boolean; + ignoreBOM?: boolean; +} + interface EventListener { (evt: Event): void; } @@ -174,40 +288,27 @@ interface AbstractWorker { removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } -interface AudioBuffer { - readonly duration: number; - readonly length: number; - readonly numberOfChannels: number; - readonly sampleRate: number; - copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; - copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; - getChannelData(channel: number): Float32Array; +interface AesCfbParams extends Algorithm { + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; } -declare var AudioBuffer: { - prototype: AudioBuffer; - new(): AudioBuffer; -}; +interface AesCmacParams extends Algorithm { + length: number; +} interface Blob { readonly size: number; readonly type: string; - msClose(): void; - msDetachStream(): any; slice(start?: number, end?: number, contentType?: string): Blob; } declare var Blob: { prototype: Blob; - new (blobParts?: any[], options?: BlobPropertyBag): Blob; + new(blobParts?: BlobPart[], options?: BlobPropertyBag): Blob; }; -interface BlobPropertyBag { - endings?: string; - type?: string; -} - interface Body { + readonly body: ReadableStream | null; readonly bodyUsed: boolean; arrayBuffer(): Promise; blob(): Promise; @@ -216,14 +317,50 @@ interface Body { text(): Promise; } +interface BroadcastChannelEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface BroadcastChannel extends EventTarget { + /** + * Returns the channel name (as passed to the constructor). + */ + readonly name: string; + onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + /** + * Closes the BroadcastChannel object, opening it up to garbage collection. + */ + close(): void; + /** + * Sends the given message to other BroadcastChannel objects set up for this channel. Messages can be structured objects, e.g. nested objects and arrays. + */ + postMessage(message: any): void; + addEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var BroadcastChannel: { + prototype: BroadcastChannel; + new(name: string): BroadcastChannel; +}; + +interface BroadcastChannelEventMap { + message: MessageEvent; + messageerror: MessageEvent; +} + interface Cache { - add(request: Request | string): Promise; - addAll(requests: (Request | string)[]): Promise; - delete(request: Request | string, options?: CacheQueryOptions): Promise; - keys(request?: Request | string, options?: CacheQueryOptions): Promise; - match(request: Request | string, options?: CacheQueryOptions): Promise; - matchAll(request?: Request | string, options?: CacheQueryOptions): Promise; - put(request: Request | string, response: Response): Promise; + add(request: RequestInfo): Promise; + addAll(requests: RequestInfo[]): Promise; + delete(request: RequestInfo, options?: CacheQueryOptions): Promise; + keys(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + put(request: RequestInfo, response: Response): Promise; } declare var Cache: { @@ -235,7 +372,7 @@ interface CacheStorage { delete(cacheName: string): Promise; has(cacheName: string): Promise; keys(): Promise; - match(request: Request | string, options?: CacheQueryOptions): Promise; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; open(cacheName: string): Promise; } @@ -246,7 +383,6 @@ declare var CacheStorage: { interface Client { readonly id: string; - readonly reserved: boolean; readonly type: ClientTypes; readonly url: string; postMessage(message: any, transfer?: any[]): void; @@ -260,7 +396,7 @@ declare var Client: { interface Clients { claim(): Promise; get(id: string): Promise; - matchAll(options?: ClientQueryOptions): Promise; + matchAll(options?: ClientQueryOptions): Promise>; openWindow(url: string): Promise; } @@ -282,6 +418,15 @@ declare var CloseEvent: { new(type: string, eventInitDict?: CloseEventInit): CloseEvent; }; +interface ConcatParams extends Algorithm { + algorithmId: Uint8Array; + hash?: string | Algorithm; + partyUInfo: Uint8Array; + partyVInfo: Uint8Array; + privateInfo?: Uint8Array; + publicInfo?: Uint8Array; +} + interface Console { memory: any; assert(condition?: boolean, message?: string, ...data: any[]): void; @@ -317,21 +462,6 @@ declare var Console: { new(): Console; }; -interface Coordinates { - readonly accuracy: number; - readonly altitude: number | null; - readonly altitudeAccuracy: number | null; - readonly heading: number | null; - readonly latitude: number; - readonly longitude: number; - readonly speed: number | null; -} - -declare var Coordinates: { - prototype: Coordinates; - new(): Coordinates; -}; - interface CryptoKey { readonly algorithm: KeyAlgorithm; readonly extractable: boolean; @@ -344,21 +474,10 @@ declare var CryptoKey: { new(): CryptoKey; }; -interface DOMError { - readonly name: string; - toString(): string; -} - -declare var DOMError: { - prototype: DOMError; - new(): DOMError; -}; - interface DOMException { readonly code: number; readonly message: string; readonly name: string; - toString(): string; readonly ABORT_ERR: number; readonly DATA_CLONE_ERR: number; readonly DOMSTRING_SIZE_ERR: number; @@ -376,10 +495,8 @@ interface DOMException { readonly NOT_SUPPORTED_ERR: number; readonly NO_DATA_ALLOWED_ERR: number; readonly NO_MODIFICATION_ALLOWED_ERR: number; - readonly PARSE_ERR: number; readonly QUOTA_EXCEEDED_ERR: number; readonly SECURITY_ERR: number; - readonly SERIALIZE_ERR: number; readonly SYNTAX_ERR: number; readonly TIMEOUT_ERR: number; readonly TYPE_MISMATCH_ERR: number; @@ -408,10 +525,8 @@ declare var DOMException: { readonly NOT_SUPPORTED_ERR: number; readonly NO_DATA_ALLOWED_ERR: number; readonly NO_MODIFICATION_ALLOWED_ERR: number; - readonly PARSE_ERR: number; readonly QUOTA_EXCEEDED_ERR: number; readonly SECURITY_ERR: number; - readonly SERIALIZE_ERR: number; readonly SYNTAX_ERR: number; readonly TIMEOUT_ERR: number; readonly TYPE_MISMATCH_ERR: number; @@ -420,9 +535,189 @@ declare var DOMException: { readonly WRONG_DOCUMENT_ERR: number; }; +interface DOMMatrix extends DOMMatrixReadOnly { + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + m11: number; + m12: number; + m13: number; + m14: number; + m21: number; + m22: number; + m23: number; + m24: number; + m31: number; + m32: number; + m33: number; + m34: number; + m41: number; + m42: number; + m43: number; + m44: number; + invertSelf(): DOMMatrix; + multiplySelf(other?: DOMMatrixInit): DOMMatrix; + preMultiplySelf(other?: DOMMatrixInit): DOMMatrix; + rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; + rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + skewXSelf(sx?: number): DOMMatrix; + skewYSelf(sy?: number): DOMMatrix; + translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrix: { + prototype: DOMMatrix; + new(init?: string | number[]): DOMMatrix; + fromFloat32Array(array32: Float32Array): DOMMatrix; + fromFloat64Array(array64: Float64Array): DOMMatrix; + fromMatrix(other?: DOMMatrixInit): DOMMatrix; +}; + +interface DOMMatrixReadOnly { + readonly a: number; + readonly b: number; + readonly c: number; + readonly d: number; + readonly e: number; + readonly f: number; + readonly is2D: boolean; + readonly isIdentity: boolean; + readonly m11: number; + readonly m12: number; + readonly m13: number; + readonly m14: number; + readonly m21: number; + readonly m22: number; + readonly m23: number; + readonly m24: number; + readonly m31: number; + readonly m32: number; + readonly m33: number; + readonly m34: number; + readonly m41: number; + readonly m42: number; + readonly m43: number; + readonly m44: number; + flipX(): DOMMatrix; + flipY(): DOMMatrix; + inverse(): DOMMatrix; + multiply(other?: DOMMatrixInit): DOMMatrix; + rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVector(x?: number, y?: number): DOMMatrix; + scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + skewX(sx?: number): DOMMatrix; + skewY(sy?: number): DOMMatrix; + toFloat32Array(): Float32Array; + toFloat64Array(): Float64Array; + toJSON(): any; + transformPoint(point?: DOMPointInit): DOMPoint; + translate(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrixReadOnly: { + prototype: DOMMatrixReadOnly; + new(init?: string | number[]): DOMMatrixReadOnly; + fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly; + fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly; + fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly; +}; + +interface DOMPoint extends DOMPointReadOnly { + w: number; + x: number; + y: number; + z: number; +} + +declare var DOMPoint: { + prototype: DOMPoint; + new(x?: number, y?: number, z?: number, w?: number): DOMPoint; + fromPoint(other?: DOMPointInit): DOMPoint; +}; + +interface DOMPointReadOnly { + readonly w: number; + readonly x: number; + readonly y: number; + readonly z: number; + matrixTransform(matrix?: DOMMatrixInit): DOMPoint; + toJSON(): any; +} + +declare var DOMPointReadOnly: { + prototype: DOMPointReadOnly; + new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly; + fromPoint(other?: DOMPointInit): DOMPointReadOnly; +}; + +interface DOMQuad { + readonly p1: DOMPoint; + readonly p2: DOMPoint; + readonly p3: DOMPoint; + readonly p4: DOMPoint; + getBounds(): DOMRect; + toJSON(): any; +} + +declare var DOMQuad: { + prototype: DOMQuad; + new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad; + fromQuad(other?: DOMQuadInit): DOMQuad; + fromRect(other?: DOMRectInit): DOMQuad; +}; + +interface DOMRect extends DOMRectReadOnly { + height: number; + width: number; + x: number; + y: number; +} + +declare var DOMRect: { + prototype: DOMRect; + new(x?: number, y?: number, width?: number, height?: number): DOMRect; + fromRect(other?: DOMRectInit): DOMRect; +}; + +interface DOMRectReadOnly { + readonly bottom: number; + readonly height: number; + readonly left: number; + readonly right: number; + readonly top: number; + readonly width: number; + readonly x: number; + readonly y: number; + toJSON(): any; +} + +declare var DOMRectReadOnly: { + prototype: DOMRectReadOnly; + new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly; + fromRect(other?: DOMRectInit): DOMRectReadOnly; +}; + interface DOMStringList { + /** + * Returns the number of strings in strings. + */ readonly length: number; - contains(str: string): boolean; + /** + * Returns true if strings contains string, and false + * otherwise. + */ + contains(string: string): boolean; + /** + * Returns the string with index index from strings. + */ item(index: number): string | null; [index: number]: string; } @@ -451,6 +746,25 @@ declare var DedicatedWorkerGlobalScope: { new(): DedicatedWorkerGlobalScope; }; +interface DhImportKeyParams extends Algorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DhKeyAlgorithm extends KeyAlgorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DhKeyDeriveParams extends Algorithm { + public: CryptoKey; +} + +interface DhKeyGenParams extends Algorithm { + generator: Uint8Array; + prime: Uint8Array; +} + interface ErrorEvent extends Event { readonly colno: number; readonly error: any; @@ -469,12 +783,12 @@ interface Event { readonly bubbles: boolean; cancelBubble: boolean; readonly cancelable: boolean; + readonly composed: boolean; readonly currentTarget: EventTarget | null; readonly defaultPrevented: boolean; readonly eventPhase: number; readonly isTrusted: boolean; returnValue: boolean; - readonly scoped: boolean; readonly srcElement: object | null; readonly target: EventTarget | null; readonly timeStamp: number; @@ -503,6 +817,28 @@ interface EventListenerObject { handleEvent(evt: Event): void; } +interface EventSource extends EventTarget { + readonly CLOSED: number; + readonly CONNECTING: number; + readonly OPEN: number; + onerror: (evt: MessageEvent) => any; + onmessage: (evt: MessageEvent) => any; + onopen: (evt: MessageEvent) => any; + readonly readyState: number; + readonly url: string; + readonly withCredentials: boolean; + close(): void; +} + +declare var EventSource: { + prototype: EventSource; + new(url: string, eventSourceInitDict?: EventSourceInit): EventSource; +}; + +interface EventSourceInit { + readonly withCredentials: boolean; +} + interface EventTarget { addEventListener(type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void; dispatchEvent(evt: Event): boolean; @@ -527,7 +863,7 @@ interface ExtendableMessageEvent extends ExtendableEvent { readonly data: any; readonly lastEventId: string; readonly origin: string; - readonly ports: ReadonlyArray | null; + readonly ports: ReadonlyArray; readonly source: Client | ServiceWorker | MessagePort | null; } @@ -538,8 +874,9 @@ declare var ExtendableMessageEvent: { interface FetchEvent extends ExtendableEvent { readonly clientId: string; + readonly preloadResponse: Promise; readonly request: Request; - readonly reservedClientId: string; + readonly resultingClientId: string; readonly targetClientId: string; respondWith(r: Promise): void; } @@ -551,15 +888,12 @@ declare var FetchEvent: { interface File extends Blob { readonly lastModified: number; - /** @deprecated */ - readonly lastModifiedDate: Date; readonly name: string; - readonly webkitRelativePath: string; } declare var File: { prototype: File; - new (parts: (ArrayBuffer | ArrayBufferView | Blob | string)[], filename: string, properties?: FilePropertyBag): File; + new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File; }; interface FileList { @@ -573,10 +907,6 @@ declare var FileList: { new(): FileList; }; -interface FilePropertyBag extends BlobPropertyBag { - lastModified?: number; -} - interface FileReaderEventMap { "abort": ProgressEvent; "error": ProgressEvent; @@ -588,14 +918,14 @@ interface FileReaderEventMap { interface FileReader extends EventTarget { readonly error: DOMException | null; - onabort: ((this: FileReader, ev: FileReaderProgressEvent) => any) | null; - onerror: ((this: FileReader, ev: FileReaderProgressEvent) => any) | null; - onload: ((this: FileReader, ev: FileReaderProgressEvent) => any) | null; - onloadend: ((this: FileReader, ev: FileReaderProgressEvent) => any) | null; - onloadstart: ((this: FileReader, ev: FileReaderProgressEvent) => any) | null; - onprogress: ((this: FileReader, ev: FileReaderProgressEvent) => any) | null; + onabort: ((this: FileReader, ev: ProgressEvent) => any) | null; + onerror: ((this: FileReader, ev: ProgressEvent) => any) | null; + onload: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadend: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadstart: ((this: FileReader, ev: ProgressEvent) => any) | null; + onprogress: ((this: FileReader, ev: ProgressEvent) => any) | null; readonly readyState: number; - readonly result: any; + readonly result: string | ArrayBuffer | null; abort(): void; readAsArrayBuffer(blob: Blob): void; readAsBinaryString(blob: Blob): void; @@ -618,15 +948,11 @@ declare var FileReader: { readonly LOADING: number; }; -interface FileReaderProgressEvent extends ProgressEvent { - readonly target: FileReader | null; -} - interface FileReaderSync { - readAsArrayBuffer(blob: Blob): any; - readAsBinaryString(blob: Blob): void; + readAsArrayBuffer(blob: Blob): ArrayBuffer; + readAsBinaryString(blob: Blob): string; readAsDataURL(blob: Blob): string; - readAsText(blob: Blob, encoding?: string): string; + readAsText(blob: Blob, label?: string): string; } declare var FileReaderSync: { @@ -641,12 +967,12 @@ interface FormData { getAll(name: string): FormDataEntryValue[]; has(name: string): boolean; set(name: string, value: string | Blob, fileName?: string): void; + forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void; } declare var FormData: { prototype: FormData; - new(): FormData; - new(form: object): FormData; + new(form?: object): FormData; }; interface GlobalFetch { @@ -656,10 +982,10 @@ interface GlobalFetch { interface Headers { append(name: string, value: string): void; delete(name: string): void; - forEach(callback: Function, thisArg?: any): void; get(name: string): string | null; has(name: string): boolean; set(name: string, value: string): void; + forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void; } declare var Headers: { @@ -667,34 +993,72 @@ declare var Headers: { new(init?: HeadersInit): Headers; }; -interface IDBArrayKey extends Array { +interface HkdfCtrParams extends Algorithm { + context: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + hash: string | Algorithm; + label: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface IDBArrayKey extends Array { } interface IDBCursor { + /** + * Returns the direction ("next", "nextunique", "prev" or "prevunique") + * of the cursor. + */ readonly direction: IDBCursorDirection; - readonly key: IDBKeyRange | number | string | Date | IDBArrayKey; - readonly primaryKey: any; + /** + * Returns the key of the cursor. + * Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly key: IDBValidKey | IDBKeyRange; + /** + * Returns the effective key of the cursor. + * Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly primaryKey: IDBValidKey | IDBKeyRange; + /** + * Returns the IDBObjectStore or IDBIndex the cursor was opened from. + */ readonly source: IDBObjectStore | IDBIndex; + /** + * Advances the cursor through the next count records in + * range. + */ advance(count: number): void; - continue(key?: IDBKeyRange | number | string | Date | IDBArrayKey): void; + /** + * Advances the cursor to the next record in range matching or + * after key. + */ + continue(key?: IDBValidKey | IDBKeyRange): void; + /** + * Advances the cursor to the next record in range matching + * or after key and primaryKey. Throws an "InvalidAccessError" DOMException if the source is not an index. + */ + continuePrimaryKey(key: IDBValidKey | IDBKeyRange, primaryKey: IDBValidKey | IDBKeyRange): void; + /** + * Delete the record pointed at by the cursor with a new value. + * If successful, request's result will be undefined. + */ delete(): IDBRequest; + /** + * Updated the record pointed at by the cursor with a new value. + * Throws a "DataError" DOMException if the effective object store uses in-line keys and the key would have changed. + * If successful, request's result will be the record's key. + */ update(value: any): IDBRequest; - readonly NEXT: string; - readonly NEXT_NO_DUPLICATE: string; - readonly PREV: string; - readonly PREV_NO_DUPLICATE: string; } declare var IDBCursor: { prototype: IDBCursor; new(): IDBCursor; - readonly NEXT: string; - readonly NEXT_NO_DUPLICATE: string; - readonly PREV: string; - readonly PREV_NO_DUPLICATE: string; }; interface IDBCursorWithValue extends IDBCursor { + /** + * Returns the cursor's current value. + */ readonly value: any; } @@ -705,19 +1069,46 @@ declare var IDBCursorWithValue: { interface IDBDatabaseEventMap { "abort": Event; + "close": Event; "error": Event; + "versionchange": IDBVersionChangeEvent; } interface IDBDatabase extends EventTarget { + /** + * Returns the name of the database. + */ readonly name: string; + /** + * Returns a list of the names of object stores in the database. + */ readonly objectStoreNames: DOMStringList; onabort: ((this: IDBDatabase, ev: Event) => any) | null; + onclose: ((this: IDBDatabase, ev: Event) => any) | null; onerror: ((this: IDBDatabase, ev: Event) => any) | null; - onversionchange: ((this: IDBDatabase, ev: Event) => any) | null; + onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null; + /** + * Returns the version of the database. + */ readonly version: number; + /** + * Closes the connection once all running transactions have finished. + */ close(): void; + /** + * Creates a new object store with the given name and options and returns a new IDBObjectStore. + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; + /** + * Deletes the object store with the given name. + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ deleteObjectStore(name: string): void; + /** + * Returns a new transaction with the given mode ("readonly" or "readwrite") + * and scope which can be a single object store name or an array of names. + */ transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -731,8 +1122,26 @@ declare var IDBDatabase: { }; interface IDBFactory { + /** + * Compares two values as keys. Returns -1 if key1 precedes key2, 1 if key2 precedes key1, and 0 if + * the keys are equal. + * Throws a "DataError" DOMException if either input is not a valid key. + */ cmp(first: any, second: any): number; + /** + * Attempts to delete the named database. If the + * database already exists and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close. If the request + * is successful request's result will be null. + */ deleteDatabase(name: string): IDBOpenDBRequest; + /** + * Attempts to open a connection to the named database with the specified version. If the database already exists + * with a lower version and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close, then an upgrade + * will occur. If the database already exists with a higher + * version the request will fail. If the request is + * successful request's result will + * be the connection. + */ open(name: string, version?: number): IDBOpenDBRequest; } @@ -743,15 +1152,57 @@ declare var IDBFactory: { interface IDBIndex { readonly keyPath: string | string[]; - multiEntry: boolean; - readonly name: string; + readonly multiEntry: boolean; + /** + * Updates the name of the store to newName. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + name: string; + /** + * Returns the IDBObjectStore the index belongs to. + */ readonly objectStore: IDBObjectStore; readonly unique: boolean; - count(key?: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; - get(key: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; - getKey(key: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; - openCursor(range?: IDBKeyRange | number | string | Date | IDBArrayKey, direction?: IDBCursorDirection): IDBRequest; - openKeyCursor(range?: IDBKeyRange | number | string | Date | IDBArrayKey, direction?: IDBCursorDirection): IDBRequest; + /** + * Retrieves the number of records matching the given key or key range in query. + * If successful, request's result will be the + * count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the value of the first record matching the + * given key or key range in query. + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the given key or key range in query (up to count if given). + * If successful, request's result will be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the given key or key range in query (up to count if given). + * If successful, request's result will be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the + * given key or key range in query. + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Opens a cursor over the records matching query, + * ordered by direction. If query is null, all records in index are matched. + * If successful, request's result will be an IDBCursorWithValue, or null if there were no matching records. + */ + openCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in index are matched. + * If successful, request's result will be an IDBCursor, or null if there were no matching records. + */ + openKeyCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; } declare var IDBIndex: { @@ -760,37 +1211,150 @@ declare var IDBIndex: { }; interface IDBKeyRange { + /** + * Returns lower bound, or undefined if none. + */ readonly lower: any; + /** + * Returns true if the lower open flag is set, and false otherwise. + */ readonly lowerOpen: boolean; + /** + * Returns upper bound, or undefined if none. + */ readonly upper: any; + /** + * Returns true if the upper open flag is set, and false otherwise. + */ readonly upperOpen: boolean; + /** + * Returns true if key is included in the range, and false otherwise. + */ + includes(key: any): boolean; } declare var IDBKeyRange: { prototype: IDBKeyRange; new(): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning from lower to upper. + * If lowerOpen is true, lower is not included in the range. + * If upperOpen is true, upper is not included in the range. + */ bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange starting at key with no + * upper bound. If open is true, key is not included in the + * range. + */ lowerBound(lower: any, open?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning only key. + */ only(value: any): IDBKeyRange; + /** + * Returns a new IDBKeyRange with no lower bound and ending at key. If open is true, key is not included in the range. + */ upperBound(upper: any, open?: boolean): IDBKeyRange; }; interface IDBObjectStore { - autoIncrement: boolean; + /** + * Returns true if the store has a key generator, and false otherwise. + */ + readonly autoIncrement: boolean; + /** + * Returns a list of the names of indexes in the store. + */ readonly indexNames: DOMStringList; - readonly keyPath: string | string[] | null; - readonly name: string; + /** + * Returns the key path of the store, or null if none. + */ + readonly keyPath: string | string[]; + /** + * Updates the name of the store to newName. + * Throws "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + name: string; + /** + * Returns the associated transaction. + */ readonly transaction: IDBTransaction; - add(value: any, key?: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; + add(value: any, key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Deletes all records in store. + * If successful, request's result will + * be undefined. + */ clear(): IDBRequest; - count(key?: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; - createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; - delete(key: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; - deleteIndex(indexName: string): void; - get(key: any): IDBRequest; + /** + * Retrieves the number of records matching the + * given key or key range in query. + * If successful, request's result will be the count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be + * satisfied with the data already in store the upgrade + * transaction will abort with + * a "ConstraintError" DOMException. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex; + /** + * Deletes records in store with the given key or in the given key range in query. + * If successful, request's result will + * be undefined. + */ + delete(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Deletes the index in store with the given name. + * Throws an "InvalidStateError" DOMException if not called within an upgrade + * transaction. + */ + deleteIndex(name: string): void; + /** + * Retrieves the value of the first record matching the + * given key or key range in query. + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(query: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the + * given key or key range in query (up to count if given). + * If successful, request's result will + * be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the + * given key or key range in query (up to count if given). + * If successful, request's result will + * be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the + * given key or key range in query. + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(query: IDBValidKey | IDBKeyRange): IDBRequest; index(name: string): IDBIndex; - openCursor(range?: IDBKeyRange | number | string | Date | IDBArrayKey, direction?: IDBCursorDirection): IDBRequest; - put(value: any, key?: IDBKeyRange | number | string | Date | IDBArrayKey): IDBRequest; + /** + * Opens a cursor over the records matching query, + * ordered by direction. If query is null, all records in store are matched. + * If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records. + */ + openCursor(range?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in store are matched. + * If successful, request's result will be an IDBCursor pointing at the first matching record, or + * null if there were no matching records. + */ + openKeyCursor(query?: IDBValidKey | IDBKeyRange, direction?: IDBCursorDirection): IDBRequest; + put(value: any, key?: IDBValidKey | IDBKeyRange): IDBRequest; } declare var IDBObjectStore: { @@ -823,13 +1387,34 @@ interface IDBRequestEventMap { } interface IDBRequest extends EventTarget { - readonly error: DOMException; + /** + * When a request is completed, returns the error (a DOMException), or null if the request succeeded. Throws + * a "InvalidStateError" DOMException if the request is still pending. + */ + readonly error: DOMException | null; onerror: ((this: IDBRequest, ev: Event) => any) | null; onsuccess: ((this: IDBRequest, ev: Event) => any) | null; + /** + * Returns "pending" until a request is complete, + * then returns "done". + */ readonly readyState: IDBRequestReadyState; + /** + * When a request is completed, returns the result, + * or undefined if the request failed. Throws a + * "InvalidStateError" DOMException if the request is still pending. + */ readonly result: any; + /** + * Returns the IDBObjectStore, IDBIndex, or IDBCursor the request was made against, or null if is was an open + * request. + */ readonly source: IDBObjectStore | IDBIndex | IDBCursor; - readonly transaction: IDBTransaction; + /** + * Returns the IDBTransaction the request was made within. + * If this as an open request, then it returns an upgrade transaction while it is running, or null otherwise. + */ + readonly transaction: IDBTransaction | null; addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -848,17 +1433,39 @@ interface IDBTransactionEventMap { } interface IDBTransaction extends EventTarget { + /** + * Returns the transaction's connection. + */ readonly db: IDBDatabase; + /** + * If the transaction was aborted, returns the + * error (a DOMException) providing the reason. + */ readonly error: DOMException; + /** + * Returns the mode the transaction was created with + * ("readonly" or "readwrite"), or "versionchange" for + * an upgrade transaction. + */ readonly mode: IDBTransactionMode; + /** + * Returns a list of the names of object stores in the + * transaction's scope. For an upgrade transaction this is all object stores in the database. + */ + readonly objectStoreNames: DOMStringList; onabort: ((this: IDBTransaction, ev: Event) => any) | null; oncomplete: ((this: IDBTransaction, ev: Event) => any) | null; onerror: ((this: IDBTransaction, ev: Event) => any) | null; + /** + * Aborts the transaction. All pending requests will fail with + * a "AbortError" DOMException and all changes made to the database will be + * reverted. + */ abort(): void; + /** + * Returns an IDBObjectStore in the transaction's scope. + */ objectStore(name: string): IDBObjectStore; - readonly READ_ONLY: string; - readonly READ_WRITE: string; - readonly VERSION_CHANGE: string; addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -868,9 +1475,6 @@ interface IDBTransaction extends EventTarget { declare var IDBTransaction: { prototype: IDBTransaction; new(): IDBTransaction; - readonly READ_ONLY: string; - readonly READ_WRITE: string; - readonly VERSION_CHANGE: string; }; interface IDBVersionChangeEvent extends Event { @@ -880,7 +1484,7 @@ interface IDBVersionChangeEvent extends Event { declare var IDBVersionChangeEvent: { prototype: IDBVersionChangeEvent; - new(): IDBVersionChangeEvent; + new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; }; interface ImageBitmap { @@ -899,9 +1503,6 @@ interface ImageBitmapOptions { } interface ImageData { - readonly data: Uint8ClampedArray; - readonly height: number; - readonly width: number; } declare var ImageData: { @@ -924,7 +1525,7 @@ interface MessageEvent extends Event { readonly data: any; readonly origin: string; readonly ports: ReadonlyArray; - readonly source: object | null; + readonly source: MessageEventSource; initMessageEvent(type: string, bubbles: boolean, cancelable: boolean, data: any, origin: string, lastEventId: string, source: object): void; } @@ -935,12 +1536,27 @@ declare var MessageEvent: { interface MessagePortEventMap { "message": MessageEvent; + "messageerror": MessageEvent; } interface MessagePort extends EventTarget { onmessage: ((this: MessagePort, ev: MessageEvent) => any) | null; + onmessageerror: ((this: MessagePort, ev: MessageEvent) => any) | null; + /** + * Disconnects the port, so that it is no longer active. + */ close(): void; - postMessage(message?: any, transfer?: any[]): void; + /** + * Posts a message through the channel. Objects listed in transfer are + * transferred, not just cloned, meaning that they are no longer usable on the sending side. + * Throws a "DataCloneError" DOMException if + * transfer contains duplicate objects or port, or if message + * could not be cloned. + */ + postMessage(message: any, transfer?: any[]): void; + /** + * Begins dispatching messages received on the port. + */ start(): void; addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -953,6 +1569,18 @@ declare var MessagePort: { new(): MessagePort; }; +interface NavigationPreloadManager { + disable(): Promise; + enable(): Promise; + getState(): Promise; + setHeaderValue(value: string): Promise; +} + +declare var NavigationPreloadManager: { + prototype: NavigationPreloadManager; + new(): NavigationPreloadManager; +}; + interface NavigatorBeacon { sendBeacon(url: string, data?: Blob | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | FormData | string | null): boolean; } @@ -977,6 +1605,10 @@ interface NavigatorOnLine { readonly onLine: boolean; } +interface NavigatorStorage { + readonly storage: StorageManager; +} + interface NotificationEventMap { "click": Event; "close": Event; @@ -985,18 +1617,25 @@ interface NotificationEventMap { } interface Notification extends EventTarget { - readonly body: string | null; + readonly actions: ReadonlyArray; + readonly badge: string; + readonly body: string; readonly data: any; readonly dir: NotificationDirection; - readonly icon: string | null; - readonly lang: string | null; + readonly icon: string; + readonly image: string; + readonly lang: string; onclick: ((this: Notification, ev: Event) => any) | null; onclose: ((this: Notification, ev: Event) => any) | null; onerror: ((this: Notification, ev: Event) => any) | null; onshow: ((this: Notification, ev: Event) => any) | null; - readonly permission: NotificationPermission; - readonly tag: string | null; + readonly renotify: boolean; + readonly requireInteraction: boolean; + readonly silent: boolean; + readonly tag: string; + readonly timestamp: number; readonly title: string; + readonly vibrate: ReadonlyArray; close(): void; addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -1007,7 +1646,8 @@ interface Notification extends EventTarget { declare var Notification: { prototype: Notification; new(title: string, options?: NotificationOptions): Notification; - requestPermission(callback?: NotificationPermissionCallback): Promise; + readonly maxActions: number; + readonly permission: NotificationPermission; }; interface NotificationEvent extends ExtendableEvent { @@ -1020,27 +1660,28 @@ declare var NotificationEvent: { new(type: string, eventInitDict: NotificationEventInit): NotificationEvent; }; -interface Performance { - /** @deprecated */ - readonly navigation: PerformanceNavigation; +interface PerformanceEventMap { + "resourcetimingbufferfull": Event; +} + +interface Performance extends EventTarget { + onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null; readonly timeOrigin: number; - /** @deprecated */ - readonly timing: PerformanceTiming; clearMarks(markName?: string): void; clearMeasures(measureName?: string): void; clearResourceTimings(): void; - getEntries(): any; - getEntriesByName(name: string, type?: string): any; - getEntriesByType(type: string): any; - /** @deprecated */ - getMarks(markName?: string): any; - /** @deprecated */ - getMeasures(measureName?: string): any; + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; mark(markName: string): void; - measure(measureName: string, startMarkName?: string, endMarkName?: string): void; + measure(measureName: string, startMark?: string, endMark?: string): void; now(): number; setResourceTimingBufferSize(maxSize: number): void; toJSON(): any; + addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } declare var Performance: { @@ -1048,93 +1689,102 @@ declare var Performance: { new(): Performance; }; -interface PerformanceNavigation { - readonly redirectCount: number; - readonly type: number; +interface PerformanceEntry { + readonly duration: number; + readonly entryType: string; + readonly name: string; + readonly startTime: number; toJSON(): any; - readonly TYPE_BACK_FORWARD: number; - readonly TYPE_NAVIGATE: number; - readonly TYPE_RELOAD: number; - readonly TYPE_RESERVED: number; } -declare var PerformanceNavigation: { - prototype: PerformanceNavigation; - new(): PerformanceNavigation; - readonly TYPE_BACK_FORWARD: number; - readonly TYPE_NAVIGATE: number; - readonly TYPE_RELOAD: number; - readonly TYPE_RESERVED: number; +declare var PerformanceEntry: { + prototype: PerformanceEntry; + new(): PerformanceEntry; }; -interface PerformanceTiming { +interface PerformanceMark extends PerformanceEntry { +} + +declare var PerformanceMark: { + prototype: PerformanceMark; + new(): PerformanceMark; +}; + +interface PerformanceMeasure extends PerformanceEntry { +} + +declare var PerformanceMeasure: { + prototype: PerformanceMeasure; + new(): PerformanceMeasure; +}; + +interface PerformanceObserver { + disconnect(): void; + observe(options: PerformanceObserverInit): void; + takeRecords(): PerformanceEntryList; +} + +declare var PerformanceObserver: { + prototype: PerformanceObserver; + new(callback: PerformanceObserverCallback): PerformanceObserver; +}; + +interface PerformanceObserverEntryList { + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; +} + +declare var PerformanceObserverEntryList: { + prototype: PerformanceObserverEntryList; + new(): PerformanceObserverEntryList; +}; + +interface PerformanceResourceTiming extends PerformanceEntry { readonly connectEnd: number; readonly connectStart: number; - readonly domComplete: number; - readonly domContentLoadedEventEnd: number; - readonly domContentLoadedEventStart: number; - readonly domInteractive: number; - readonly domLoading: number; + readonly decodedBodySize: number; readonly domainLookupEnd: number; readonly domainLookupStart: number; + readonly encodedBodySize: number; readonly fetchStart: number; - readonly loadEventEnd: number; - readonly loadEventStart: number; - readonly msFirstPaint: number; - readonly navigationStart: number; + readonly initiatorType: string; + readonly nextHopProtocol: string; readonly redirectEnd: number; readonly redirectStart: number; readonly requestStart: number; readonly responseEnd: number; readonly responseStart: number; readonly secureConnectionStart: number; - readonly unloadEventEnd: number; - readonly unloadEventStart: number; + readonly transferSize: number; + readonly workerStart: number; toJSON(): any; } -declare var PerformanceTiming: { - prototype: PerformanceTiming; - new(): PerformanceTiming; -}; - -interface Position { - readonly coords: Coordinates; - readonly timestamp: number; -} - -declare var Position: { - prototype: Position; - new(): Position; -}; - -interface PositionError { - readonly code: number; - readonly message: string; - toString(): string; - readonly PERMISSION_DENIED: number; - readonly POSITION_UNAVAILABLE: number; - readonly TIMEOUT: number; -} - -declare var PositionError: { - prototype: PositionError; - new(): PositionError; - readonly PERMISSION_DENIED: number; - readonly POSITION_UNAVAILABLE: number; - readonly TIMEOUT: number; +declare var PerformanceResourceTiming: { + prototype: PerformanceResourceTiming; + new(): PerformanceResourceTiming; }; interface ProgressEvent extends Event { readonly lengthComputable: boolean; readonly loaded: number; readonly total: number; - initProgressEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, lengthComputableArg: boolean, loadedArg: number, totalArg: number): void; } declare var ProgressEvent: { prototype: ProgressEvent; - new(typeArg: string, eventInitDict?: ProgressEventInit): ProgressEvent; + new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; +}; + +interface PromiseRejectionEvent extends Event { + readonly promise: PromiseLike; + readonly reason: any; +} + +declare var PromiseRejectionEvent: { + prototype: PromiseRejectionEvent; + new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent; }; interface PushEvent extends ExtendableEvent { @@ -1147,7 +1797,6 @@ declare var PushEvent: { }; interface PushManager { - readonly supportedContentEncodings: ReadonlyArray; getSubscription(): Promise; permissionState(options?: PushSubscriptionOptionsInit): Promise; subscribe(options?: PushSubscriptionOptionsInit): Promise; @@ -1156,6 +1805,7 @@ interface PushManager { declare var PushManager: { prototype: PushManager; new(): PushManager; + readonly supportedContentEncodings: ReadonlyArray; }; interface PushMessageData { @@ -1175,7 +1825,7 @@ interface PushSubscription { readonly expirationTime: number | null; readonly options: PushSubscriptionOptions; getKey(name: PushEncryptionKeyName): ArrayBuffer | null; - toJSON(): any; + toJSON(): PushSubscriptionJSON; unsubscribe(): Promise; } @@ -1227,35 +1877,97 @@ declare var ReadableStreamReader: { }; interface Request extends Body { + /** + * Returns the cache mode associated with request, which is a string indicating + * how the the request will interact with the browser's cache when fetching. + */ readonly cache: RequestCache; + /** + * Returns the credentials mode associated with request, which is a string + * indicating whether credentials will be sent with the request always, never, or only when sent to a + * same-origin URL. + */ readonly credentials: RequestCredentials; + /** + * Returns the kind of resource requested by request, e.g., "document" or + * "script". + */ readonly destination: RequestDestination; + /** + * Returns a Headers object consisting of the headers associated with request. + * Note that headers added in the network layer by the user agent will not be accounted for in this + * object, e.g., the "Host" header. + */ readonly headers: Headers; + /** + * Returns request's subresource integrity metadata, which is a cryptographic hash of + * the resource being fetched. Its value consists of multiple hashes separated by whitespace. [SRI] + */ readonly integrity: string; + /** + * Returns a boolean indicating whether or not request is for a history + * navigation (a.k.a. back-foward navigation). + */ + readonly isHistoryNavigation: boolean; + /** + * Returns a boolean indicating whether or not request is for a reload navigation. + */ + readonly isReloadNavigation: boolean; + /** + * Returns a boolean indicating whether or not request can outlive the global in which + * it was created. + */ readonly keepalive: boolean; + /** + * Returns request's HTTP method, which is "GET" by default. + */ readonly method: string; + /** + * Returns the mode associated with request, which is a string indicating + * whether the request will use CORS, or will be restricted to same-origin URLs. + */ readonly mode: RequestMode; + /** + * Returns the redirect mode associated with request, which is a string + * indicating how redirects for the request will be handled during fetching. A request will follow redirects by default. + */ readonly redirect: RequestRedirect; + /** + * Returns the referrer of request. Its value can be a same-origin URL if + * explicitly set in init, the empty string to indicate no referrer, and + * "about:client" when defaulting to the global's default. This is used during + * fetching to determine the value of the `Referer` header of the request being made. + */ readonly referrer: string; + /** + * Returns the referrer policy associated with request. This is used during + * fetching to compute the value of the request's referrer. + */ readonly referrerPolicy: ReferrerPolicy; - readonly signal: object | null; - readonly type: RequestType; + /** + * Returns the signal associated with request, which is an AbortSignal object indicating whether or not request has been aborted, and its abort + * event handler. + */ + readonly signal: object; + /** + * Returns the URL of request as a string. + */ readonly url: string; clone(): Request; } declare var Request: { prototype: Request; - new(input: Request | string, init?: RequestInit): Request; + new(input: RequestInfo, init?: RequestInit): Request; }; interface Response extends Body { - readonly body: ReadableStream | null; readonly headers: Headers; readonly ok: boolean; readonly redirected: boolean; readonly status: number; readonly statusText: string; + readonly trailer: Promise; readonly type: ResponseType; readonly url: string; clone(): Response; @@ -1263,7 +1975,7 @@ interface Response extends Body { declare var Response: { prototype: Response; - new(body?: Blob | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | FormData | string | null, init?: ResponseInit): Response; + new(body?: BodyInit | null, init?: ResponseInit): Response; error(): Response; redirect(url: string, status?: number): Response; }; @@ -1288,6 +2000,33 @@ declare var ServiceWorker: { new(): ServiceWorker; }; +interface ServiceWorkerContainerEventMap { + "controllerchange": Event; + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface ServiceWorkerContainer extends EventTarget { + readonly controller: ServiceWorker | null; + oncontrollerchange: ((this: ServiceWorkerContainer, ev: Event) => any) | null; + onmessage: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null; + onmessageerror: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null; + readonly ready: Promise; + getRegistration(clientURL?: string): Promise; + getRegistrations(): Promise>; + register(scriptURL: string, options?: RegistrationOptions): Promise; + startMessages(): void; + addEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var ServiceWorkerContainer: { + prototype: ServiceWorkerContainer; + new(): ServiceWorkerContainer; +}; + interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { "activate": ExtendableEvent; "fetch": FetchEvent; @@ -1333,10 +2072,12 @@ interface ServiceWorkerRegistrationEventMap { interface ServiceWorkerRegistration extends EventTarget { readonly active: ServiceWorker | null; readonly installing: ServiceWorker | null; + readonly navigationPreload: NavigationPreloadManager; onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null; readonly pushManager: PushManager; readonly scope: string; readonly sync: SyncManager; + readonly updateViaCache: ServiceWorkerUpdateViaCache; readonly waiting: ServiceWorker | null; getNotifications(filter?: GetNotificationOptions): Promise; showNotification(title: string, options?: NotificationOptions): Promise; @@ -1353,6 +2094,16 @@ declare var ServiceWorkerRegistration: { new(): ServiceWorkerRegistration; }; +interface StorageManager { + estimate(): Promise; + persisted(): Promise; +} + +declare var StorageManager: { + prototype: StorageManager; + new(): StorageManager; +}; + interface SyncEvent extends ExtendableEvent { readonly lastChance: boolean; readonly tag: string; @@ -1373,6 +2124,57 @@ declare var SyncManager: { new(): SyncManager; }; +interface TextDecoder { + /** + * Returns encoding's name, lowercased. + */ + readonly encoding: string; + /** + * Returns true if error mode is "fatal", and false + * otherwise. + */ + readonly fatal: boolean; + /** + * Returns true if ignore BOM flag is set, and false otherwise. + */ + readonly ignoreBOM: boolean; + /** + * Returns the result of running encoding's decoder. The + * method can be invoked zero or more times with options's stream set to + * true, and then once without options's stream (or set to false), to process + * a fragmented stream. If the invocation without options's stream (or set to + * false) has no input, it's clearest to omit both arguments. + * var string = "", decoder = new TextDecoder(encoding), buffer; + * while(buffer = next_chunk()) { + * string += decoder.decode(buffer, {stream:true}); + * } + * string += decoder.decode(); // end-of-stream + * If the error mode is "fatal" and encoding's decoder returns error, throws a TypeError. + */ + decode(input?: BufferSource, options?: TextDecodeOptions): string; +} + +declare var TextDecoder: { + prototype: TextDecoder; + new(label?: string, options?: TextDecoderOptions): TextDecoder; +}; + +interface TextEncoder { + /** + * Returns "utf-8". + */ + readonly encoding: string; + /** + * Returns the result of running UTF-8's encoder. + */ + encode(input?: string): Uint8Array; +} + +declare var TextEncoder: { + prototype: TextEncoder; + new(): TextEncoder; +}; + interface URL { hash: string; host: string; @@ -1386,13 +2188,13 @@ interface URL { search: string; readonly searchParams: URLSearchParams; username: string; - toString(): string; + toJSON(): string; } declare var URL: { prototype: URL; new(url: string, base?: string | URL): URL; - createObjectURL(object: any, options?: ObjectURLOptions): string; + createObjectURL(object: any): string; revokeObjectURL(url: string): void; }; @@ -1421,11 +2223,13 @@ interface URLSearchParams { * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. */ set(name: string, value: string): void; + sort(): void; + forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void; } declare var URLSearchParams: { prototype: URLSearchParams; - new (init?: string | URLSearchParams): URLSearchParams; + new(init?: string[][] | Record | string | URLSearchParams): URLSearchParams; }; interface WebSocketEventMap { @@ -1477,7 +2281,7 @@ interface WindowClient extends Client { readonly focused: boolean; readonly visibilityState: VisibilityState; focus(): Promise; - navigate(url: string): Promise; + navigate(url: string): Promise; } declare var WindowClient: { @@ -1495,7 +2299,6 @@ interface WorkerEventMap extends AbstractWorkerEventMap { interface Worker extends EventTarget, AbstractWorker { onmessage: ((this: Worker, ev: MessageEvent) => any) | null; - /** @deprecated */ postMessage(message: any, transfer?: any[]): void; terminate(): void; addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -1552,7 +2355,8 @@ declare var WorkerLocation: { new(): WorkerLocation; }; -interface WorkerNavigator extends NavigatorID, NavigatorOnLine, NavigatorBeacon, NavigatorConcurrentHardware { +interface WorkerNavigator extends NavigatorID, NavigatorOnLine, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorStorage { + readonly serviceWorker: ServiceWorkerContainer; } declare var WorkerNavigator: { @@ -1577,28 +2381,91 @@ interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { "readystatechange": Event; } -interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget { - msCaching: string; +interface XMLHttpRequest extends XMLHttpRequestEventTarget { onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null; + /** + * Returns client's state. + */ readonly readyState: number; + /** + * Returns the response's body. + */ readonly response: any; + /** + * Returns the text response. + * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "text". + */ readonly responseText: string; + /** + * Returns the response type. + * Can be set to change the response type. Values are: + * the empty string (default), + * "arraybuffer", + * "blob", + * "document", + * "json", and + * "text". + * When set: setting to "document" is ignored if current global object is not a Window object. + * When set: throws an "InvalidStateError" DOMException if state is loading or done. + * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object. + */ responseType: XMLHttpRequestResponseType; readonly responseURL: string; - readonly responseXML: object | null; readonly status: number; readonly statusText: string; + /** + * Can be set to a time in milliseconds. When set to a non-zero value will cause fetching to terminate after the given time has passed. When the time has passed, the + * request has not yet completed, and the synchronous flag is unset, a timeout event will then be dispatched, or a + * "TimeoutError" DOMException will be thrown otherwise (for the send() method). + * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object. + */ timeout: number; + /** + * Returns the associated XMLHttpRequestUpload object. It can be used to gather transmission information when data is + * transferred to a server. + */ readonly upload: XMLHttpRequestUpload; + /** + * True when credentials are to be included in a cross-origin request. False when they are + * to be excluded in a cross-origin request and when cookies are to be ignored in its response. + * Initially false. + * When set: throws an "InvalidStateError" DOMException if state is not unsent or opened, or if the send() flag is set. + */ withCredentials: boolean; + /** + * Cancels any network activity. + */ abort(): void; getAllResponseHeaders(): string; - getResponseHeader(header: string): string | null; - msCachingEnabled(): boolean; - open(method: string, url: string, async?: boolean, user?: string | null, password?: string | null): void; + getResponseHeader(name: string): string | null; + /** + * Sets the request method, request URL, and synchronous flag. + * Throws a "SyntaxError" DOMException if either method is not a + * valid HTTP method or url cannot be parsed. + * Throws a "SecurityError" DOMException if method is a + * case-insensitive match for `CONNECT`, `TRACE`, or `TRACK`. + * Throws an "InvalidAccessError" DOMException if async is false, current global object is a Window object, and the timeout attribute is not zero or the responseType attribute is not the empty string. + */ + open(method: string, url: string): void; + open(method: string, url: string, async: boolean, username?: string | null, password?: string | null): void; + /** + * Acts as if the `Content-Type` header value for response is mime. + * (It does not actually change the header though.) + * Throws an "InvalidStateError" DOMException if state is loading or done. + */ overrideMimeType(mime: string): void; - send(data?: any): void; - setRequestHeader(header: string, value: string): void; + /** + * Initiates the request. The optional argument provides the request body. The argument is ignored if request method is GET or HEAD. + * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. + */ + send(body?: object | BodyInit): void; + /** + * Combines a header in author request headers. + * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. + * Throws a "SyntaxError" DOMException if name is not a header name + * or if value is not a header value. + */ + setRequestHeader(name: string, value: string): void; readonly DONE: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; @@ -1621,21 +2488,21 @@ declare var XMLHttpRequest: { }; interface XMLHttpRequestEventTargetEventMap { - "abort": Event; - "error": ErrorEvent; - "load": Event; + "abort": ProgressEvent; + "error": ProgressEvent; + "load": ProgressEvent; "loadend": ProgressEvent; - "loadstart": Event; + "loadstart": ProgressEvent; "progress": ProgressEvent; "timeout": ProgressEvent; } -interface XMLHttpRequestEventTarget { - onabort: ((this: XMLHttpRequest, ev: Event) => any) | null; - onerror: ((this: XMLHttpRequest, ev: ErrorEvent) => any) | null; - onload: ((this: XMLHttpRequest, ev: Event) => any) | null; +interface XMLHttpRequestEventTarget extends EventTarget { + onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; + onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; - onloadstart: ((this: XMLHttpRequest, ev: Event) => any) | null; + onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null; addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -1644,7 +2511,12 @@ interface XMLHttpRequestEventTarget { removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } -interface XMLHttpRequestUpload extends EventTarget, XMLHttpRequestEventTarget { +declare var XMLHttpRequestEventTarget: { + prototype: XMLHttpRequestEventTarget; + new(): XMLHttpRequestEventTarget; +}; + +interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -1658,36 +2530,12 @@ declare var XMLHttpRequestUpload: { declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; -interface DecodeErrorCallback { - (error: DOMException): void; +interface EventHandlerNonNull { + (event: Event): any; } -interface DecodeSuccessCallback { - (decodedData: AudioBuffer): void; -} - -interface ErrorEventHandler { - (event: Event | string, source?: string, fileno?: number, columnNumber?: number, error?: Error): void; -} - -interface ForEachCallback { - (keyId: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, status: MediaKeyStatus): void; -} - -interface FunctionStringCallback { - (data: string): void; -} - -interface NotificationPermissionCallback { - (permission: NotificationPermission): void; -} - -interface PositionCallback { - (position: Position): void; -} - -interface PositionErrorCallback { - (error: PositionError): void; +interface PerformanceObserverCallback { + (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void; } declare var onmessage: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null; @@ -1722,52 +2570,37 @@ declare function addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -type FormDataEntryValue = string | File; -type HeadersInit = Headers | string[][] | { [key: string]: string }; -type AlgorithmIdentifier = string | Algorithm; -type AAGUID = string; -type BodyInit = any; -type ByteString = string; -type CryptoOperationData = ArrayBufferView; -type GLbitfield = number; -type GLboolean = boolean; -type GLbyte = number; -type GLclampf = number; -type GLenum = number; -type GLfloat = number; -type GLint = number; -type GLintptr = number; -type GLshort = number; -type GLsizei = number; -type GLsizeiptr = number; -type GLubyte = number; -type GLuint = number; -type GLushort = number; -type IDBKeyPath = string; +type BlobPart = BufferSource | Blob | string; +type HeadersInit = Headers | string[][] | Record; +type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; type RequestInfo = Request | string; -type USVString = string; -type payloadtype = number; -type ClientTypes = "window" | "worker" | "sharedworker" | "all"; +type DOMHighResTimeStamp = number; +type PerformanceEntryList = PerformanceEntry[]; +type PushMessageDataInit = BufferSource | string; +type VibratePattern = number | number[]; +type BufferSource = ArrayBufferView | ArrayBuffer; +type DOMTimeStamp = number; +type FormDataEntryValue = File | string; +type IDBValidKey = number | string | Date | BufferSource | IDBArrayKey; +type MessageEventSource = object | MessagePort | ServiceWorker; type BinaryType = "blob" | "arraybuffer"; +type ClientTypes = "window" | "worker" | "sharedworker" | "all"; type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; type IDBRequestReadyState = "pending" | "done"; type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; -type KeyFormat = "raw" | "spki" | "pkcs8" | "jwk"; -type KeyType = "public" | "private" | "secret"; -type KeyUsage = "encrypt" | "decrypt" | "sign" | "verify" | "deriveKey" | "deriveBits" | "wrapKey" | "unwrapKey"; -type MediaKeyStatus = "usable" | "expired" | "output-downscaled" | "output-not-allowed" | "status-pending" | "internal-error"; type NotificationDirection = "auto" | "ltr" | "rtl"; type NotificationPermission = "default" | "denied" | "granted"; type PushEncryptionKeyName = "p256dh" | "auth"; -type PushPermissionState = "granted" | "denied" | "prompt"; +type PushPermissionState = "denied" | "granted" | "prompt"; type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin-only" | "origin-when-cross-origin" | "unsafe-url"; -type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache"; +type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; type RequestCredentials = "omit" | "same-origin" | "include"; -type RequestDestination = "" | "document" | "sharedworker" | "subresource" | "unknown" | "worker"; +type RequestDestination = "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors"; type RequestRedirect = "follow" | "error" | "manual"; -type RequestType = "" | "audio" | "font" | "image" | "script" | "style" | "track" | "video"; type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; +type ServiceWorkerUpdateViaCache = "imports" | "all" | "none"; type VisibilityState = "hidden" | "visible" | "prerender" | "unloaded"; +type WorkerType = "classic" | "module"; type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; \ No newline at end of file From a641e6f85f6016b008b72de7573d98b79ce8283f Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 4 Jun 2018 14:13:27 -0700 Subject: [PATCH 65/76] goToDefinition: Put variable definition before signature definition (#24649) * goToDefinition: Put variable definition before signature definition * Fix lint --- src/services/goToDefinition.ts | 13 +++++++++---- .../goToDefinitionNewExpressionTargetNotClass.ts | 2 +- .../cases/fourslash/goToDefinitionSignatureAlias.ts | 4 ++-- .../fourslash/tsxGoToDefinitionUnionElementType1.ts | 2 +- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/services/goToDefinition.ts b/src/services/goToDefinition.ts index 1b9ecf0b5f0..e9937549e23 100644 --- a/src/services/goToDefinition.ts +++ b/src/services/goToDefinition.ts @@ -32,11 +32,16 @@ namespace ts.GoToDefinition { const sigInfo = createDefinitionFromSignatureDeclaration(typeChecker, calledDeclaration); // For a function, if this is the original function definition, return just sigInfo. // If this is the original constructor definition, parent is the class. - return typeChecker.getRootSymbols(symbol).some(s => calledDeclaration.symbol === s || calledDeclaration.symbol.parent === s) || + if (typeChecker.getRootSymbols(symbol).some(s => calledDeclaration.symbol === s || calledDeclaration.symbol.parent === s) || // TODO: GH#23742 Following check shouldn't be necessary if 'require' is an alias - symbol.declarations.some(d => isVariableDeclaration(d) && !!d.initializer && isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ false)) - ? [sigInfo] - : [sigInfo, ...getDefinitionFromSymbol(typeChecker, symbol, node)!]; + symbol.declarations.some(d => isVariableDeclaration(d) && !!d.initializer && isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ false))) { + return [sigInfo]; + } + else { + const defs = getDefinitionFromSymbol(typeChecker, symbol, node)!; + // For a 'super()' call, put the signature first, else put the variable first. + return node.kind === SyntaxKind.SuperKeyword ? [sigInfo, ...defs] : [...defs, sigInfo]; + } } // Because name in short-hand property assignment has two different meanings: property name and property value, diff --git a/tests/cases/fourslash/goToDefinitionNewExpressionTargetNotClass.ts b/tests/cases/fourslash/goToDefinitionNewExpressionTargetNotClass.ts index 00f83323a0b..5be7a4307f5 100644 --- a/tests/cases/fourslash/goToDefinitionNewExpressionTargetNotClass.ts +++ b/tests/cases/fourslash/goToDefinitionNewExpressionTargetNotClass.ts @@ -11,6 +11,6 @@ ////new [|/*invokeExpression2*/I2|](); verify.goToDefinition({ - invokeExpression1: ["constructSignature", "I"], + invokeExpression1: ["I", "constructSignature"], invokeExpression2: "symbolDeclaration" }); diff --git a/tests/cases/fourslash/goToDefinitionSignatureAlias.ts b/tests/cases/fourslash/goToDefinitionSignatureAlias.ts index 07a5678f5d2..27ff0eb69d9 100644 --- a/tests/cases/fourslash/goToDefinitionSignatureAlias.ts +++ b/tests/cases/fourslash/goToDefinitionSignatureAlias.ts @@ -10,6 +10,6 @@ verify.goToDefinition({ useF: "f", - useG: ["f", "g"], - useH: ["f", "h"], + useG: ["g", "f"], + useH: ["h", "f"], }); diff --git a/tests/cases/fourslash/tsxGoToDefinitionUnionElementType1.ts b/tests/cases/fourslash/tsxGoToDefinitionUnionElementType1.ts index 0e899c71d2b..957b6b811e0 100644 --- a/tests/cases/fourslash/tsxGoToDefinitionUnionElementType1.ts +++ b/tests/cases/fourslash/tsxGoToDefinitionUnionElementType1.ts @@ -22,5 +22,5 @@ //// <[|SFC/*one*/Comp|] x /> verify.goToDefinition({ - "one": ["pt1", "def"], + "one": ["def", "pt1"], }); From 2435213c9d106d25b53c006ca1bf5aaa0688643d Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Mon, 4 Jun 2018 14:13:57 -0700 Subject: [PATCH 66/76] Update Third party notice doc --- ThirdPartyNoticeText.txt | 111 +++++++++++++++++++++++++++++++++------ 1 file changed, 94 insertions(+), 17 deletions(-) diff --git a/ThirdPartyNoticeText.txt b/ThirdPartyNoticeText.txt index b82f2497a6c..5b3700bf382 100644 --- a/ThirdPartyNoticeText.txt +++ b/ThirdPartyNoticeText.txt @@ -1,18 +1,9 @@ /*!----------------- TypeScript ThirdPartyNotices ------------------------------------------------------- -The TypeScript software is based on or incorporates material and code from the projects listed below -(collectively "Third Party Code"). Microsoft is not the original author of the -Third Party Code. The original copyright notice and the license, under which -Microsoft received such Third Party Code, are set forth below. Such license and -notices are provided for informational purposes only. Microsoft licenses the Third -Party Code to you under the terms of the Apache 2.0 License. -All Third Party Code licensed by Microsoft under the Apache License, Version 2.0 (the "License"); you -may not use this file except in compliance with the License. You may obtain a copy -of the License at http://www.apache.org/licenses/LICENSE-2.0 +The TypeScript software is based on or incorporates material and code from the projects listed below (collectively "Third Party Code"). Microsoft is not the original author of the Third Party Code. The original copyright notice and the license, under which Microsoft received such Third Party Code, are set forth below. Such license and notices are provided for informational purposes only. Microsoft licenses the Third Party Code to you under the terms of the Apache 2.0 License. +All Third Party Code licensed by Microsoft under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, -EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR -CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. @@ -23,13 +14,13 @@ Third Party Code Components ------------------- DefinitelyTyped -------------------- This file is based on or incorporates material from the projects listed below (collectively "Third Party Code"). Microsoft is not the original author of the Third Party Code. The original copyright notice and the license, under which Microsoft received such Third Party Code, are set forth below. Such licenses and notices are provided for informational purposes only. Microsoft, not the third party, licenses the Third Party Code to you under the terms set forth in the EULA for the Microsoft Product. Microsoft reserves all other rights not expressly granted under this agreement, whether by implication, estoppel or otherwise. DefinitelyTyped -This project is licensed under the MIT license. -Copyrights are respective of each contributor listed at the beginning of each definition file. -Provided for Informational Purposes Only +This project is licensed under the MIT license. Copyrights are respective of each contributor listed at the beginning of each definition file. Provided for Informational Purposes Only MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ""Software""), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------------- @@ -91,6 +82,92 @@ Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. --------------------------------------------------------------------------------------- +------------------------------------------------------------------------------------- + +-------------------Document Object Model----------------------------- +DOM + +W3C License +This work is being provided by the copyright holders under the following license. +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following +on ALL copies of the work or portions thereof, including modifications: +* The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +* Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +* Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived +from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. +Title to copyright in this work will at all times remain with copyright holders. + +--------- + +DOM +Copyright © 2018 WHATWG (Apple, Google, Mozilla, Microsoft). This work is licensed under a Creative Commons Attribution 4.0 International License: Attribution 4.0 International +======================================================================= +Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. Using Creative Commons Public Licenses Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC- licensed material, or material used under an exception or limitation to copyright. More considerations for licensors: + +wiki.creativecommons.org/Considerations_for_licensors Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason--for example, because of any applicable exception or limitation to copyright--then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More_considerations for the public: wiki.creativecommons.org/Considerations_for_licensees ======================================================================= +Creative Commons Attribution 4.0 International Public License By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. Section 1 -- Definitions. a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. Section 2 -- Scope. a. License grant. 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: a. reproduce and Share the Licensed Material, in whole or in part; and b. produce, reproduce, and Share Adapted Material. 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. 3. Term. The term of this Public License is specified in Section 6(a). 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a) (4) never produces Adapted Material. 5. Downstream recipients. a. Offer from the Licensor -- Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. b. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). b. Other rights. 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. 2. Patent and trademark rights are not licensed under this Public License. 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. Section 3 -- License Conditions. Your exercise of the Licensed Rights is expressly made subject to the following conditions. a. Attribution. 1. If You Share the Licensed Material (including in modified form), You must: a. retain the following if it is supplied by the Licensor with the Licensed Material: i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); ii. a copyright notice; iii. a notice that refers to this Public License; iv. a notice that refers to the disclaimer of warranties; v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; b. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and c. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. Section 4 -- Sui Generis Database Rights. Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. Section 5 -- Disclaimer of Warranties and Limitation of Liability. a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. Section 6 -- Term and Termination. a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or 2. upon express reinstatement by the Licensor. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. Section 7 -- Other Terms and Conditions. a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. Section 8 -- Interpretation. a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. ======================================================================= Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. Creative Commons may be contacted at creativecommons.org. + +-------------------------------------------------------------------------------- + +----------------------Web Background Synchronization------------------------------ + +Web Background Synchronization Specification +Portions of spec © by W3C + +W3C Community Final Specification Agreement +To secure commitments from participants for the full text of a Community or Business Group Report, the group may call for voluntary commitments to the following terms; a "summary" is +available. See also the related "W3C Community Contributor License Agreement". +1. The Purpose of this Agreement. +This Agreement sets forth the terms under which I make certain copyright and patent rights available to you for your implementation of the Specification. +Any other capitalized terms not specifically defined herein have the same meaning as those terms have in the "W3C Patent Policy", and if not defined there, in the "W3C Process Document". +2. Copyrights. +2.1. Copyright Grant. I grant to you a perpetual (for the duration of the applicable copyright), worldwide, non-exclusive, no-charge, royalty-free, copyright license, without any obligation for accounting to me, to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, distribute, and implement the Specification to the full extent of my copyright interest in the Specification. +2.2. Attribution. As a condition of the copyright grant, you must include an attribution to the Specification in any derivative work you make based on the Specification. That attribution must include, at minimum, the Specification name and version number. +3. Patents. +3.1. Patent Licensing Commitment. I agree to license my Essential Claims under the W3C Community RF Licensing Requirements. This requirement includes Essential Claims that I own and any that I have the right to license without obligation of payment or other consideration to an unrelated third party. W3C Community RF Licensing Requirements obligations made concerning the Specification and described in this policy are binding on me for the life of the patents in question and encumber the patents containing Essential Claims, regardless of changes in participation status or W3C Membership. I also agree to license my Essential Claims under the W3C Community RF Licensing Requirements in derivative works of the Specification so long as all normative portions of the Specification are maintained and that this licensing commitment does not extend to any portion of the derivative work that was not included in the Specification. +3.2. Optional, Additional Patent Grant. In addition to the provisions of Section 3.1, I may also, at my option, make certain intellectual property rights infringed by implementations of the Specification, including Essential Claims, available by providing those terms via the W3C Web site. +4. No Other Rights. Except as specifically set forth in this Agreement, no other express or implied patent, trademark, copyright, or other property rights are granted under this Agreement, including by implication, waiver, or estoppel. +5. Antitrust Compliance. I acknowledge that I may compete with other participants, that I am under no obligation to implement the Specification, that each participant is free to develop competing technologies and standards, and that each party is free to license its patent rights to third parties, including for the purpose of enabling competing technologies and standards. +6. Non-Circumvention. I agree that I will not intentionally take or willfully assist any third party to take any action for the purpose of circumventing my obligations under this Agreement. +7. Transition to W3C Recommendation Track. The Specification developed by the Project may transition to the W3C Recommendation Track. The W3C Team is responsible for notifying me that a Corresponding Working Group has been chartered. I have no obligation to join the Corresponding Working Group. If the Specification developed by the Project transitions to the W3C Recommendation Track, the following terms apply: +7.1. If I join the Corresponding Working Group. If I join the Corresponding Working Group, I will be subject to all W3C rules, obligations, licensing commitments, and policies that govern that Corresponding Working Group. +7.2. If I Do Not Join the Corresponding Working Group. +7.2.1. Licensing Obligations to Resulting Specification. If I do not join the Corresponding Working Group, I agree to offer patent licenses according to the W3C Royalty-Free licensing requirements described in Section 5 of the W3C Patent Policy for the portions of the Specification included in the resulting Recommendation. This licensing commitment does not extend to any portion of an implementation of the Recommendation that was not included in the Specification. This licensing commitment may not be revoked but may be modified through the exclusion process defined in Section 4 of the W3C Patent Policy. I am not required to join the Corresponding Working Group to exclude patents from the W3C Royalty-Free licensing commitment, but must otherwise follow the normal exclusion procedures defined by the W3C Patent Policy. The W3C Team will notify me of any Call for Exclusion in the Corresponding Working Group as set forth in Section 4.5 of the W3C Patent Policy. +7.2.2. No Disclosure Obligation. If I do not join the Corresponding Working Group, I have no patent disclosure obligations outside of those set forth in Section 6 of the W3C Patent Policy. +8. Conflict of Interest. I will disclose significant relationships when those relationships might reasonably be perceived as creating a conflict of interest with my role. I will notify W3C of any change in my affiliation using W3C-provided mechanisms. +9. Representations, Warranties and Disclaimers. I represent and warrant that I am legally entitled to grant the rights and promises set forth in this Agreement. IN ALL OTHER RESPECTS THE SPECIFICATION IS PROVIDED “AS IS.” The entire risk as to implementing or otherwise using the Specification is assumed by the implementer and user. Except as stated herein, I expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the Specification. IN NO EVENT WILL ANY PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THIS AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. All of my obligations under Section 3 regarding the transfer, successors in interest, or assignment of Granted Claims will be satisfied if I notify the transferee or assignee of any patent that I know contains Granted Claims of the obligations under Section 3. Nothing in this Agreement requires me to undertake a patent search. +10. Definitions. +10.1. Agreement. “Agreement” means this W3C Community Final Specification Agreement. +10.2. Corresponding Working Group. “Corresponding Working Group” is a W3C Working Group that is chartered to develop a Recommendation, as defined in the W3C Process Document, that takes the Specification as an input. +10.3. Essential Claims. “Essential Claims” shall mean all claims in any patent or patent application in any jurisdiction in the world that would necessarily be infringed by implementation of the Specification. A claim is necessarily infringed hereunder only when it is not possible to avoid infringing it because there is no non-infringing alternative for implementing the normative portions of the Specification. Existence of a non-infringing alternative shall be judged based on the state of the art at the time of the publication of the Specification. The following are expressly excluded from and shall not be deemed to constitute Essential Claims: +10.3.1. any claims other than as set forth above even if contained in the same patent as Essential Claims; and +10.3.2. claims which would be infringed only by: +portions of an implementation that are not specified in the normative portions of the Specification, or +enabling technologies that may be necessary to make or use any product or portion thereof that complies with the Specification and are not themselves expressly set forth in the Specification (e.g., semiconductor manufacturing technology, compiler technology, object-oriented technology, basic operating system technology, and the like); or +the implementation of technology developed elsewhere and merely incorporated by reference in the body of the Specification. +10.3.3. design patents and design registrations. +For purposes of this definition, the normative portions of the Specification shall be deemed to include only architectural and interoperability requirements. Optional features in the RFC 2119 sense are considered normative unless they are specifically identified as informative. Implementation examples or any other material that merely illustrate the requirements of the Specification are informative, rather than normative. +10.4. I, Me, or My. “I,” “me,” or “my” refers to the signatory. +10.5 Project. “Project” means the W3C Community Group or Business Group for which I executed this Agreement. +10.6. Specification. “Specification” means the Specification identified by the Project as the target of this agreement in a call for Final Specification Commitments. W3C shall provide the authoritative mechanisms for the identification of this Specification. +10.7. W3C Community RF Licensing Requirements. “W3C Community RF Licensing Requirements” license shall mean a non-assignable, non-sublicensable license to make, have made, use, sell, have sold, offer to sell, import, and distribute and dispose of implementations of the Specification that: +10.7.1. shall be available to all, worldwide, whether or not they are W3C Members; +10.7.2. shall extend to all Essential Claims owned or controlled by me; +10.7.3. may be limited to implementations of the Specification, and to what is required by the Specification; +10.7.4. may be conditioned on a grant of a reciprocal RF license (as defined in this policy) to all Essential Claims owned or controlled by the licensee. A reciprocal license may be required to be available to all, and a reciprocal license may itself be conditioned on a further reciprocal license from all. +10.7.5. may not be conditioned on payment of royalties, fees or other consideration; +10.7.6. may be suspended with respect to any licensee when licensor issued by licensee for infringement of claims essential to implement the Specification or any W3C Recommendation; +10.7.7. may not impose any further conditions or restrictions on the use of any technology, intellectual property rights, or other restrictions on behavior of the licensee, but may include reasonable, customary terms relating to operation or maintenance of the license relationship such as the following: choice of law and dispute resolution; +10.7.8. shall not be considered accepted by an implementer who manifests an intent not to accept the terms of the W3C Community RF Licensing Requirements license as offered by the licensor. +10.7.9. The RF license conforming to the requirements in this policy shall be made available by the licensor as long as the Specification is in effect. The term of such license shall be for the life of the patents in question. +I am encouraged to provide a contact from which licensing information can be obtained and other relevant licensing information. Any such information will be made publicly available. +10.8. You or Your. “You,” “you,” or “your” means any person or entity who exercises copyright or patent rights granted under this Agreement, and any person that person or entity controls. + +------------- End of ThirdPartyNotices ------------------------------------------- */ -------------- End of ThirdPartyNotices --------------------------------------------------- */ From b3a4b72a163b1713ad078e7f0c02857048918fb8 Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 4 Jun 2018 14:15:41 -0700 Subject: [PATCH 67/76] Always include Jsdoc comment in getTouchingPropertyName (#23379) --- src/harness/fourslash.ts | 2 +- src/services/completions.ts | 2 +- src/services/documentHighlights.ts | 2 +- src/services/findAllReferences.ts | 11 +++++------ src/services/goToDefinition.ts | 6 +++--- src/services/rename.ts | 2 +- src/services/services.ts | 4 ++-- src/services/utilities.ts | 4 ++-- 8 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts index d2aaeecbb92..2ace3df3b42 100644 --- a/src/harness/fourslash.ts +++ b/src/harness/fourslash.ts @@ -1090,7 +1090,7 @@ namespace FourSlash { } private getNode(): ts.Node { - return ts.getTouchingPropertyName(this.getSourceFile(), this.currentCaretPosition, /*includeJsDocComment*/ false); + return ts.getTouchingPropertyName(this.getSourceFile(), this.currentCaretPosition); } private goToAndGetNode(range: Range): ts.Node { diff --git a/src/services/completions.ts b/src/services/completions.ts index 9f1a7cf0688..d83e86ab4ad 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -875,7 +875,7 @@ namespace ts.Completions { let isStartingCloseTag = false; let isJsxInitializer: IsJsxInitializer = false; - let location = getTouchingPropertyName(sourceFile, position, insideJsDocTagTypeExpression); // TODO: GH#15853 + let location = getTouchingPropertyName(sourceFile, position); if (contextToken) { // Bail out if this is a known invalid completion location if (isCompletionListBlocker(contextToken)) { diff --git a/src/services/documentHighlights.ts b/src/services/documentHighlights.ts index d4199d80d85..458b12c2ada 100644 --- a/src/services/documentHighlights.ts +++ b/src/services/documentHighlights.ts @@ -1,7 +1,7 @@ /* @internal */ namespace ts.DocumentHighlights { export function getDocumentHighlights(program: Program, cancellationToken: CancellationToken, sourceFile: SourceFile, position: number, sourceFilesToSearch: ReadonlyArray): DocumentHighlights[] | undefined { - const node = getTouchingPropertyName(sourceFile, position, /*includeJsDocComment*/ true); + const node = getTouchingPropertyName(sourceFile, position); if (node.parent && (isJsxOpeningElement(node.parent) && node.parent.tagName === node || isJsxClosingElement(node.parent))) { // For a JSX element, just highlight the matching tag, not all references. diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index c87bdb5e925..394e487e2f0 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -40,7 +40,7 @@ namespace ts.FindAllReferences { } export function findReferencedSymbols(program: Program, cancellationToken: CancellationToken, sourceFiles: ReadonlyArray, sourceFile: SourceFile, position: number): ReferencedSymbol[] | undefined { - const node = getTouchingPropertyName(sourceFile, position, /*includeJsDocComment*/ true); + const node = getTouchingPropertyName(sourceFile, position); const referencedSymbols = Core.getReferencedSymbolsForNode(position, node, program, sourceFiles, cancellationToken); const checker = program.getTypeChecker(); return !referencedSymbols || !referencedSymbols.length ? undefined : mapDefined(referencedSymbols, ({ definition, references }) => @@ -52,8 +52,7 @@ namespace ts.FindAllReferences { } export function getImplementationsAtPosition(program: Program, cancellationToken: CancellationToken, sourceFiles: ReadonlyArray, sourceFile: SourceFile, position: number): ImplementationLocation[] | undefined { - // A node in a JSDoc comment can't have an implementation anyway. - const node = getTouchingPropertyName(sourceFile, position, /*includeJsDocComment*/ false); + const node = getTouchingPropertyName(sourceFile, position); const referenceEntries = getImplementationReferenceEntries(program, cancellationToken, sourceFiles, node, position); const checker = program.getTypeChecker(); return map(referenceEntries, entry => toImplementationLocation(entry, checker)); @@ -85,7 +84,7 @@ namespace ts.FindAllReferences { } export function findReferencedEntries(program: Program, cancellationToken: CancellationToken, sourceFiles: ReadonlyArray, sourceFile: SourceFile, position: number, options?: Options): ReferenceEntry[] | undefined { - const node = getTouchingPropertyName(sourceFile, position, /*includeJsDocComment*/ true); + const node = getTouchingPropertyName(sourceFile, position); return map(flattenEntries(Core.getReferencedSymbolsForNode(position, node, program, sourceFiles, cancellationToken, options)), toReferenceEntry); } @@ -732,7 +731,7 @@ namespace ts.FindAllReferences.Core { } function getPossibleSymbolReferenceNodes(sourceFile: SourceFile, symbolName: string, container: Node = sourceFile): ReadonlyArray { - return getPossibleSymbolReferencePositions(sourceFile, symbolName, container).map(pos => getTouchingPropertyName(sourceFile, pos, /*includeJsDocComment*/ true)); + return getPossibleSymbolReferencePositions(sourceFile, symbolName, container).map(pos => getTouchingPropertyName(sourceFile, pos)); } function getPossibleSymbolReferencePositions(sourceFile: SourceFile, symbolName: string, container: Node = sourceFile): ReadonlyArray { @@ -836,7 +835,7 @@ namespace ts.FindAllReferences.Core { } function getReferencesAtLocation(sourceFile: SourceFile, position: number, search: Search, state: State, addReferencesHere: boolean): void { - const referenceLocation = getTouchingPropertyName(sourceFile, position, /*includeJsDocComment*/ true); + const referenceLocation = getTouchingPropertyName(sourceFile, position); if (!isValidReferencePosition(referenceLocation, search.text)) { // This wasn't the start of a token. Check to see if it might be a diff --git a/src/services/goToDefinition.ts b/src/services/goToDefinition.ts index e9937549e23..1281f30d733 100644 --- a/src/services/goToDefinition.ts +++ b/src/services/goToDefinition.ts @@ -6,7 +6,7 @@ namespace ts.GoToDefinition { return [getDefinitionInfoForFileReference(reference.fileName, reference.file.fileName)]; } - const node = getTouchingPropertyName(sourceFile, position, /*includeJsDocComment*/ true); + const node = getTouchingPropertyName(sourceFile, position); if (node === sourceFile) { return undefined; } @@ -112,7 +112,7 @@ namespace ts.GoToDefinition { /// Goto type export function getTypeDefinitionAtPosition(typeChecker: TypeChecker, sourceFile: SourceFile, position: number): DefinitionInfo[] | undefined { - const node = getTouchingPropertyName(sourceFile, position, /*includeJsDocComment*/ true); + const node = getTouchingPropertyName(sourceFile, position); if (node === sourceFile) { return undefined; } @@ -143,7 +143,7 @@ namespace ts.GoToDefinition { return { definitions, textSpan: createTextSpanFromRange(comment) }; } - const node = getTouchingPropertyName(sourceFile, position, /*includeJsDocComment*/ true); + const node = getTouchingPropertyName(sourceFile, position); const textSpan = createTextSpan(node.getStart(), node.getWidth()); return { definitions, textSpan }; diff --git a/src/services/rename.ts b/src/services/rename.ts index ab83baf1676..cd557f5aaa4 100644 --- a/src/services/rename.ts +++ b/src/services/rename.ts @@ -2,7 +2,7 @@ namespace ts.Rename { export function getRenameInfo(typeChecker: TypeChecker, defaultLibFileName: string, getCanonicalFileName: GetCanonicalFileName, sourceFile: SourceFile, position: number): RenameInfo { const getCanonicalDefaultLibName = memoize(() => getCanonicalFileName(normalizePath(defaultLibFileName))); - const node = getTouchingPropertyName(sourceFile, position, /*includeJsDocComment*/ true); + const node = getTouchingPropertyName(sourceFile, position); const renameInfo = node && nodeIsEligibleForRename(node) ? getRenameInfoForNode(node, typeChecker, sourceFile, isDefinedInLibraryFile) : undefined; diff --git a/src/services/services.ts b/src/services/services.ts index 603206e52df..6d89dcb702b 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1466,7 +1466,7 @@ namespace ts { synchronizeHostData(); const sourceFile = getValidSourceFile(fileName); - const node = getTouchingPropertyName(sourceFile, position, /*includeJsDocComment*/ true); + const node = getTouchingPropertyName(sourceFile, position); if (node === sourceFile) { // Avoid giving quickInfo for the sourceFile as a whole. return undefined; @@ -1784,7 +1784,7 @@ namespace ts { const sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); // Get node at the location - const node = getTouchingPropertyName(sourceFile, startPos, /*includeJsDocComment*/ false); + const node = getTouchingPropertyName(sourceFile, startPos); if (node === sourceFile) { return undefined; diff --git a/src/services/utilities.ts b/src/services/utilities.ts index fa795f359ff..786de97f20e 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -648,8 +648,8 @@ namespace ts { * Gets the token whose text has range [start, end) and * position >= start and (position < end or (position === end && token is literal or keyword or identifier)) */ - export function getTouchingPropertyName(sourceFile: SourceFile, position: number, includeJsDocComment: boolean): Node { - return getTouchingToken(sourceFile, position, includeJsDocComment, n => isPropertyNameLiteral(n) || isKeyword(n.kind)); + export function getTouchingPropertyName(sourceFile: SourceFile, position: number): Node { + return getTouchingToken(sourceFile, position, /*includeJsDocComment*/ true, n => isPropertyNameLiteral(n) || isKeyword(n.kind)); } /** From cbbf2e4e6f05e17e9a6773e810fc29ae7b0da32f Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Mon, 4 Jun 2018 14:19:41 -0700 Subject: [PATCH 68/76] Resolve aliases before using getTypereferenceType (#24594) --- src/compiler/checker.ts | 7 +- ...clarationsForIndirectTypeAliasReference.js | 66 +++++++++++++++++ ...tionsForIndirectTypeAliasReference.symbols | 68 ++++++++++++++++++ ...rationsForIndirectTypeAliasReference.types | 72 +++++++++++++++++++ ...clarationsForIndirectTypeAliasReference.ts | 33 +++++++++ 5 files changed, 243 insertions(+), 3 deletions(-) create mode 100644 tests/baselines/reference/declarationsForIndirectTypeAliasReference.js create mode 100644 tests/baselines/reference/declarationsForIndirectTypeAliasReference.symbols create mode 100644 tests/baselines/reference/declarationsForIndirectTypeAliasReference.types create mode 100644 tests/cases/compiler/declarationsForIndirectTypeAliasReference.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 5ab7c808f06..62607797679 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -9204,12 +9204,13 @@ namespace ts { } function resolveImportSymbolType(node: ImportTypeNode, links: NodeLinks, symbol: Symbol, meaning: SymbolFlags) { - links.resolvedSymbol = symbol; + const resolvedSymbol = resolveSymbol(symbol); + links.resolvedSymbol = resolvedSymbol; if (meaning === SymbolFlags.Value) { - return links.resolvedType = getTypeOfSymbol(symbol); + return links.resolvedType = getTypeOfSymbol(symbol); // intentionally doesn't use resolved symbol so type is cached as expected on the alias } else { - return links.resolvedType = getTypeReferenceType(node, symbol); + return links.resolvedType = getTypeReferenceType(node, resolvedSymbol); // getTypeReferenceType doesn't handle aliases - it must get the resolved symbol } } diff --git a/tests/baselines/reference/declarationsForIndirectTypeAliasReference.js b/tests/baselines/reference/declarationsForIndirectTypeAliasReference.js new file mode 100644 index 00000000000..9e2f9ee4039 --- /dev/null +++ b/tests/baselines/reference/declarationsForIndirectTypeAliasReference.js @@ -0,0 +1,66 @@ +//// [tests/cases/compiler/declarationsForIndirectTypeAliasReference.ts] //// + +//// [b.ts] +export { + Hash, + StringHash, StringHash2 +}; + +interface Hash { + [key: string]: T; +} + +type StringHash = Hash; + +interface StringHash2 extends Hash {} +//// [a.ts] +import {StringHash, StringHash2} from "./b"; + +export { + doSome +} + +const MAP: StringHash = { + a: "a" +}; + +const MAP2: StringHash2 = { + a: "a" +}; + +function doSome(arg1: string, + arg2 = MAP, + arg3 = MAP2) { +} + +//// [b.js] +"use strict"; +exports.__esModule = true; +//// [a.js] +"use strict"; +exports.__esModule = true; +var MAP = { + a: "a" +}; +var MAP2 = { + a: "a" +}; +function doSome(arg1, arg2, arg3) { + if (arg2 === void 0) { arg2 = MAP; } + if (arg3 === void 0) { arg3 = MAP2; } +} +exports.doSome = doSome; + + +//// [b.d.ts] +export { Hash, StringHash, StringHash2 }; +interface Hash { + [key: string]: T; +} +declare type StringHash = Hash; +interface StringHash2 extends Hash { +} +//// [a.d.ts] +import { StringHash2 } from "./b"; +export { doSome }; +declare function doSome(arg1: string, arg2?: import("./b").Hash, arg3?: StringHash2): void; diff --git a/tests/baselines/reference/declarationsForIndirectTypeAliasReference.symbols b/tests/baselines/reference/declarationsForIndirectTypeAliasReference.symbols new file mode 100644 index 00000000000..92d7fb11a4e --- /dev/null +++ b/tests/baselines/reference/declarationsForIndirectTypeAliasReference.symbols @@ -0,0 +1,68 @@ +=== tests/cases/compiler/b.ts === +export { + Hash, +>Hash : Symbol(Hash, Decl(b.ts, 0, 8)) + + StringHash, StringHash2 +>StringHash : Symbol(StringHash, Decl(b.ts, 1, 9)) +>StringHash2 : Symbol(StringHash2, Decl(b.ts, 2, 15)) + +}; + +interface Hash { +>Hash : Symbol(Hash, Decl(b.ts, 3, 2)) +>T : Symbol(T, Decl(b.ts, 5, 15)) + + [key: string]: T; +>key : Symbol(key, Decl(b.ts, 6, 5)) +>T : Symbol(T, Decl(b.ts, 5, 15)) +} + +type StringHash = Hash; +>StringHash : Symbol(StringHash, Decl(b.ts, 7, 1)) +>Hash : Symbol(Hash, Decl(b.ts, 3, 2)) + +interface StringHash2 extends Hash {} +>StringHash2 : Symbol(StringHash2, Decl(b.ts, 9, 31)) +>Hash : Symbol(Hash, Decl(b.ts, 3, 2)) + +=== tests/cases/compiler/a.ts === +import {StringHash, StringHash2} from "./b"; +>StringHash : Symbol(StringHash, Decl(a.ts, 0, 8)) +>StringHash2 : Symbol(StringHash2, Decl(a.ts, 0, 19)) + +export { + doSome +>doSome : Symbol(doSome, Decl(a.ts, 2, 8)) +} + +const MAP: StringHash = { +>MAP : Symbol(MAP, Decl(a.ts, 6, 5)) +>StringHash : Symbol(StringHash, Decl(a.ts, 0, 8)) + + a: "a" +>a : Symbol(a, Decl(a.ts, 6, 25)) + +}; + +const MAP2: StringHash2 = { +>MAP2 : Symbol(MAP2, Decl(a.ts, 10, 5)) +>StringHash2 : Symbol(StringHash2, Decl(a.ts, 0, 19)) + + a: "a" +>a : Symbol(a, Decl(a.ts, 10, 27)) + +}; + +function doSome(arg1: string, +>doSome : Symbol(doSome, Decl(a.ts, 12, 2)) +>arg1 : Symbol(arg1, Decl(a.ts, 14, 16)) + + arg2 = MAP, +>arg2 : Symbol(arg2, Decl(a.ts, 14, 29)) +>MAP : Symbol(MAP, Decl(a.ts, 6, 5)) + + arg3 = MAP2) { +>arg3 : Symbol(arg3, Decl(a.ts, 15, 27)) +>MAP2 : Symbol(MAP2, Decl(a.ts, 10, 5)) +} diff --git a/tests/baselines/reference/declarationsForIndirectTypeAliasReference.types b/tests/baselines/reference/declarationsForIndirectTypeAliasReference.types new file mode 100644 index 00000000000..7d20f7af45f --- /dev/null +++ b/tests/baselines/reference/declarationsForIndirectTypeAliasReference.types @@ -0,0 +1,72 @@ +=== tests/cases/compiler/b.ts === +export { + Hash, +>Hash : any + + StringHash, StringHash2 +>StringHash : any +>StringHash2 : any + +}; + +interface Hash { +>Hash : Hash +>T : T + + [key: string]: T; +>key : string +>T : T +} + +type StringHash = Hash; +>StringHash : Hash +>Hash : Hash + +interface StringHash2 extends Hash {} +>StringHash2 : StringHash2 +>Hash : Hash + +=== tests/cases/compiler/a.ts === +import {StringHash, StringHash2} from "./b"; +>StringHash : any +>StringHash2 : any + +export { + doSome +>doSome : (arg1: string, arg2?: import("tests/cases/compiler/b").Hash, arg3?: StringHash2) => void +} + +const MAP: StringHash = { +>MAP : import("tests/cases/compiler/b").Hash +>StringHash : import("tests/cases/compiler/b").Hash +>{ a: "a"} : { a: string; } + + a: "a" +>a : string +>"a" : "a" + +}; + +const MAP2: StringHash2 = { +>MAP2 : StringHash2 +>StringHash2 : StringHash2 +>{ a: "a"} : { a: string; } + + a: "a" +>a : string +>"a" : "a" + +}; + +function doSome(arg1: string, +>doSome : (arg1: string, arg2?: import("tests/cases/compiler/b").Hash, arg3?: StringHash2) => void +>arg1 : string + + arg2 = MAP, +>arg2 : import("tests/cases/compiler/b").Hash +>MAP : import("tests/cases/compiler/b").Hash + + arg3 = MAP2) { +>arg3 : StringHash2 +>MAP2 : StringHash2 +} diff --git a/tests/cases/compiler/declarationsForIndirectTypeAliasReference.ts b/tests/cases/compiler/declarationsForIndirectTypeAliasReference.ts new file mode 100644 index 00000000000..6b5c731c361 --- /dev/null +++ b/tests/cases/compiler/declarationsForIndirectTypeAliasReference.ts @@ -0,0 +1,33 @@ +// @declaration: true +// @filename: b.ts +export { + Hash, + StringHash, StringHash2 +}; + +interface Hash { + [key: string]: T; +} + +type StringHash = Hash; + +interface StringHash2 extends Hash {} +// @filename: a.ts +import {StringHash, StringHash2} from "./b"; + +export { + doSome +} + +const MAP: StringHash = { + a: "a" +}; + +const MAP2: StringHash2 = { + a: "a" +}; + +function doSome(arg1: string, + arg2 = MAP, + arg3 = MAP2) { +} \ No newline at end of file From 5e57cd4fbf9ec7bee3cf8d238a795f0a1654f676 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Mon, 4 Jun 2018 14:28:19 -0700 Subject: [PATCH 69/76] Update baselines --- .../expressionTypeNodeShouldError.types | 12 +++++------ tests/baselines/reference/importMeta.symbols | 4 ++-- tests/baselines/reference/importMeta.types | 8 ++++---- .../baselines/reference/importMetaES5.symbols | 4 ++-- tests/baselines/reference/importMetaES5.types | 8 ++++---- .../intersectionsOfLargeUnions.types | 6 +++--- .../reference/jsdocTemplateTag.errors.txt | 8 +++++--- .../reference/jsdocTemplateTag.symbols | 2 ++ .../reference/jsdocTemplateTag.types | 4 ++-- .../mappedTypeRecursiveInference.types | 20 +++++++++---------- .../misspelledJsDocTypedefTags.types | 4 ++-- .../modularizeLibrary_Dom.iterable.types | 4 ++-- 12 files changed, 44 insertions(+), 40 deletions(-) diff --git a/tests/baselines/reference/expressionTypeNodeShouldError.types b/tests/baselines/reference/expressionTypeNodeShouldError.types index 4e8dc1a3c07..9494f8f8452 100644 --- a/tests/baselines/reference/expressionTypeNodeShouldError.types +++ b/tests/baselines/reference/expressionTypeNodeShouldError.types @@ -36,9 +36,9 @@ class C { const nodes = document.getElementsByTagName("li"); >nodes : NodeListOf >document.getElementsByTagName("li") : NodeListOf ->document.getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } +>document.getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } >document : Document ->getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } +>getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } >"li" : "li" type ItemType = "".typeof(nodes.item(0)); @@ -82,9 +82,9 @@ class C2 { const nodes2 = document.getElementsByTagName("li"); >nodes2 : NodeListOf >document.getElementsByTagName("li") : NodeListOf ->document.getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } +>document.getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } >document : Document ->getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } +>getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } >"li" : "li" type ItemType2 = 4..typeof(nodes.item(0)); @@ -129,9 +129,9 @@ class C3 { const nodes3 = document.getElementsByTagName("li"); >nodes3 : NodeListOf >document.getElementsByTagName("li") : NodeListOf ->document.getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } +>document.getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } >document : Document ->getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } +>getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } >"li" : "li" type ItemType3 = true.typeof(nodes.item(0)); diff --git a/tests/baselines/reference/importMeta.symbols b/tests/baselines/reference/importMeta.symbols index 58d8f9807d4..1cfc21a5275 100644 --- a/tests/baselines/reference/importMeta.symbols +++ b/tests/baselines/reference/importMeta.symbols @@ -4,9 +4,9 @@ const response = await fetch(new URL("../hamsters.jpg", import.meta.url).toString()); >response : Symbol(response, Decl(example.ts, 2, 7)) >fetch : Symbol(fetch, Decl(lib.dom.d.ts, --, --)) ->new URL("../hamsters.jpg", import.meta.url).toString : Symbol(URL.toString, Decl(lib.dom.d.ts, --, --)) +>new URL("../hamsters.jpg", import.meta.url).toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >URL : Symbol(URL, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) ->toString : Symbol(URL.toString, Decl(lib.dom.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) const blob = await response.blob(); >blob : Symbol(blob, Decl(example.ts, 3, 7)) diff --git a/tests/baselines/reference/importMeta.types b/tests/baselines/reference/importMeta.types index c6140c8d05d..a93778dea92 100644 --- a/tests/baselines/reference/importMeta.types +++ b/tests/baselines/reference/importMeta.types @@ -13,7 +13,7 @@ >new URL("../hamsters.jpg", import.meta.url).toString() : string >new URL("../hamsters.jpg", import.meta.url).toString : () => string >new URL("../hamsters.jpg", import.meta.url) : URL ->URL : { new (url: string, base?: string | URL): URL; prototype: URL; createObjectURL(object: any, options?: ObjectURLOptions): string; revokeObjectURL(url: string): void; } +>URL : { new (url: string, base?: string | URL): URL; prototype: URL; createObjectURL(object: any): string; revokeObjectURL(url: string): void; } >"../hamsters.jpg" : "../hamsters.jpg" >import.meta.url : any >import.meta : ImportMeta @@ -53,9 +53,9 @@ >image : HTMLImageElement >src : string >URL.createObjectURL(blob) : string ->URL.createObjectURL : (object: any, options?: ObjectURLOptions) => string ->URL : { new (url: string, base?: string | URL): URL; prototype: URL; createObjectURL(object: any, options?: ObjectURLOptions): string; revokeObjectURL(url: string): void; } ->createObjectURL : (object: any, options?: ObjectURLOptions) => string +>URL.createObjectURL : (object: any) => string +>URL : { new (url: string, base?: string | URL): URL; prototype: URL; createObjectURL(object: any): string; revokeObjectURL(url: string): void; } +>createObjectURL : (object: any) => string >blob : Blob image.width = image.height = size; diff --git a/tests/baselines/reference/importMetaES5.symbols b/tests/baselines/reference/importMetaES5.symbols index 58d8f9807d4..1cfc21a5275 100644 --- a/tests/baselines/reference/importMetaES5.symbols +++ b/tests/baselines/reference/importMetaES5.symbols @@ -4,9 +4,9 @@ const response = await fetch(new URL("../hamsters.jpg", import.meta.url).toString()); >response : Symbol(response, Decl(example.ts, 2, 7)) >fetch : Symbol(fetch, Decl(lib.dom.d.ts, --, --)) ->new URL("../hamsters.jpg", import.meta.url).toString : Symbol(URL.toString, Decl(lib.dom.d.ts, --, --)) +>new URL("../hamsters.jpg", import.meta.url).toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >URL : Symbol(URL, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) ->toString : Symbol(URL.toString, Decl(lib.dom.d.ts, --, --)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) const blob = await response.blob(); >blob : Symbol(blob, Decl(example.ts, 3, 7)) diff --git a/tests/baselines/reference/importMetaES5.types b/tests/baselines/reference/importMetaES5.types index c6140c8d05d..a93778dea92 100644 --- a/tests/baselines/reference/importMetaES5.types +++ b/tests/baselines/reference/importMetaES5.types @@ -13,7 +13,7 @@ >new URL("../hamsters.jpg", import.meta.url).toString() : string >new URL("../hamsters.jpg", import.meta.url).toString : () => string >new URL("../hamsters.jpg", import.meta.url) : URL ->URL : { new (url: string, base?: string | URL): URL; prototype: URL; createObjectURL(object: any, options?: ObjectURLOptions): string; revokeObjectURL(url: string): void; } +>URL : { new (url: string, base?: string | URL): URL; prototype: URL; createObjectURL(object: any): string; revokeObjectURL(url: string): void; } >"../hamsters.jpg" : "../hamsters.jpg" >import.meta.url : any >import.meta : ImportMeta @@ -53,9 +53,9 @@ >image : HTMLImageElement >src : string >URL.createObjectURL(blob) : string ->URL.createObjectURL : (object: any, options?: ObjectURLOptions) => string ->URL : { new (url: string, base?: string | URL): URL; prototype: URL; createObjectURL(object: any, options?: ObjectURLOptions): string; revokeObjectURL(url: string): void; } ->createObjectURL : (object: any, options?: ObjectURLOptions) => string +>URL.createObjectURL : (object: any) => string +>URL : { new (url: string, base?: string | URL): URL; prototype: URL; createObjectURL(object: any): string; revokeObjectURL(url: string): void; } +>createObjectURL : (object: any) => string >blob : Blob image.width = image.height = size; diff --git a/tests/baselines/reference/intersectionsOfLargeUnions.types b/tests/baselines/reference/intersectionsOfLargeUnions.types index 4deef4a4ecf..ec6849c2dd6 100644 --- a/tests/baselines/reference/intersectionsOfLargeUnions.types +++ b/tests/baselines/reference/intersectionsOfLargeUnions.types @@ -27,7 +27,7 @@ export function assertIsElement(node: Node | null): node is Element { } export function assertNodeTagName< ->assertNodeTagName : (node: Node | null, tagName: T) => node is U +>assertNodeTagName : (node: Node | null, tagName: T) => node is U T extends keyof ElementTagNameMap, >T : T @@ -69,7 +69,7 @@ export function assertNodeTagName< } export function assertNodeProperty< ->assertNodeProperty : (node: Node | null, tagName: T, prop: P, value: V) => void +>assertNodeProperty : (node: Node | null, tagName: T, prop: P, value: V) => void T extends keyof ElementTagNameMap, >T : T @@ -97,7 +97,7 @@ export function assertNodeProperty< if (assertNodeTagName(node, tagName)) { >assertNodeTagName(node, tagName) : boolean ->assertNodeTagName : (node: Node | null, tagName: T) => node is U +>assertNodeTagName : (node: Node | null, tagName: T) => node is U >node : Node | null >tagName : T diff --git a/tests/baselines/reference/jsdocTemplateTag.errors.txt b/tests/baselines/reference/jsdocTemplateTag.errors.txt index c8b3e92f8c0..8eff7b215c2 100644 --- a/tests/baselines/reference/jsdocTemplateTag.errors.txt +++ b/tests/baselines/reference/jsdocTemplateTag.errors.txt @@ -1,4 +1,5 @@ -tests/cases/conformance/jsdoc/forgot.js(23,19): error TS2339: Property 'animate' does not exist on type 'Element'. +tests/cases/conformance/jsdoc/forgot.js(23,1): error TS2322: Type '(keyframes: any[]) => void' is not assignable to type '(keyframes: Keyframe[] | PropertyIndexedKeyframes, options?: number | KeyframeAnimationOptions) => Animation'. + Type 'void' is not assignable to type 'Animation'. ==== tests/cases/conformance/jsdoc/forgot.js (1 errors) ==== @@ -25,6 +26,7 @@ tests/cases/conformance/jsdoc/forgot.js(23,19): error TS2339: Property 'animate' * @param {Array.} keyframes - Can't look up types on Element since it's a global in another file. (But it shouldn't crash). */ Element.prototype.animate = function(keyframes) {}; - ~~~~~~~ -!!! error TS2339: Property 'animate' does not exist on type 'Element'. + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2322: Type '(keyframes: any[]) => void' is not assignable to type '(keyframes: Keyframe[] | PropertyIndexedKeyframes, options?: number | KeyframeAnimationOptions) => Animation'. +!!! error TS2322: Type 'void' is not assignable to type 'Animation'. \ No newline at end of file diff --git a/tests/baselines/reference/jsdocTemplateTag.symbols b/tests/baselines/reference/jsdocTemplateTag.symbols index 235f26c330e..b12574a6d51 100644 --- a/tests/baselines/reference/jsdocTemplateTag.symbols +++ b/tests/baselines/reference/jsdocTemplateTag.symbols @@ -34,8 +34,10 @@ let s = g('hi')() * @param {Array.} keyframes - Can't look up types on Element since it's a global in another file. (But it shouldn't crash). */ Element.prototype.animate = function(keyframes) {}; +>Element.prototype.animate : Symbol(Animatable.animate, Decl(lib.dom.d.ts, --, --)) >Element.prototype : Symbol(prototype, Decl(lib.dom.d.ts, --, --)) >Element : Symbol(Element, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) >prototype : Symbol(prototype, Decl(lib.dom.d.ts, --, --)) +>animate : Symbol(Animatable.animate, Decl(lib.dom.d.ts, --, --)) >keyframes : Symbol(keyframes, Decl(forgot.js, 22, 37)) diff --git a/tests/baselines/reference/jsdocTemplateTag.types b/tests/baselines/reference/jsdocTemplateTag.types index 7917329b3e6..14b9471db2b 100644 --- a/tests/baselines/reference/jsdocTemplateTag.types +++ b/tests/baselines/reference/jsdocTemplateTag.types @@ -43,11 +43,11 @@ let s = g('hi')() */ Element.prototype.animate = function(keyframes) {}; >Element.prototype.animate = function(keyframes) {} : (keyframes: any[]) => void ->Element.prototype.animate : any +>Element.prototype.animate : (keyframes: Keyframe[] | PropertyIndexedKeyframes, options?: number | KeyframeAnimationOptions) => Animation >Element.prototype : Element >Element : { new (): Element; prototype: Element; } >prototype : Element ->animate : any +>animate : (keyframes: Keyframe[] | PropertyIndexedKeyframes, options?: number | KeyframeAnimationOptions) => Animation >function(keyframes) {} : (keyframes: any[]) => void >keyframes : any[] diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.types b/tests/baselines/reference/mappedTypeRecursiveInference.types index 55f79242583..b8594af5268 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.types +++ b/tests/baselines/reference/mappedTypeRecursiveInference.types @@ -108,24 +108,24 @@ let xhr: XMLHttpRequest; >XMLHttpRequest : XMLHttpRequest const out2 = foo(xhr); ->out2 : { msCaching: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; msCachingEnabled: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; dispatchEvent: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; } ->foo(xhr) : { msCaching: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; msCachingEnabled: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; dispatchEvent: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; } +>out2 : { onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; dispatchEvent: {}; } +>foo(xhr) : { onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; dispatchEvent: {}; } >foo : (deep: Deep) => T >xhr : XMLHttpRequest out2.responseXML ->out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly styleSheets: { readonly length: any; item: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } ->out2 : { msCaching: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; msCachingEnabled: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; dispatchEvent: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; } ->responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly styleSheets: { readonly length: any; item: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } +>out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; forEach: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly embeds: { item: any; namedItem: any; forEach: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly forms: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly links: { item: any; namedItem: any; forEach: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly styleSheets: { readonly length: any; item: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getAnimations: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; forEach: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onanimationcancel: {}; onanimationend: {}; onanimationiteration: {}; onanimationstart: {}; ongotpointercapture: {}; onlostpointercapture: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; ontransitioncancel: {}; ontransitionend: {}; ontransitionrun: {}; ontransitionstart: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } +>out2 : { onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; dispatchEvent: {}; } +>responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; forEach: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly embeds: { item: any; namedItem: any; forEach: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly forms: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly links: { item: any; namedItem: any; forEach: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly styleSheets: { readonly length: any; item: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getAnimations: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; forEach: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onanimationcancel: {}; onanimationend: {}; onanimationiteration: {}; onanimationstart: {}; ongotpointercapture: {}; onlostpointercapture: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; ontransitioncancel: {}; ontransitionend: {}; ontransitionrun: {}; ontransitionstart: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } out2.responseXML.activeElement.className.length >out2.responseXML.activeElement.className.length : { toString: {}; toFixed: {}; toExponential: {}; toPrecision: {}; valueOf: {}; toLocaleString: {}; } >out2.responseXML.activeElement.className : { toString: {}; charAt: {}; charCodeAt: {}; concat: {}; indexOf: {}; lastIndexOf: {}; localeCompare: {}; match: {}; replace: {}; search: {}; slice: {}; split: {}; substring: {}; toLowerCase: {}; toLocaleLowerCase: {}; toUpperCase: {}; toLocaleUpperCase: {}; trim: {}; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: {}; valueOf: {}; [Symbol.iterator]: {}; codePointAt: {}; includes: {}; endsWith: {}; normalize: {}; repeat: {}; startsWith: {}; anchor: {}; big: {}; blink: {}; bold: {}; fixed: {}; fontcolor: {}; fontsize: {}; italics: {}; link: {}; small: {}; strike: {}; sub: {}; sup: {}; } ->out2.responseXML.activeElement : { readonly assignedSlot: { name: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; add: any; contains: any; item: any; remove: any; replace: any; toString: any; toggle: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; msContentZoomFactor: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly msRegionOverflow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onariarequest: {}; oncommand: {}; ongotpointercapture: {}; onlostpointercapture: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsgotpointercapture: {}; onmsinertiastart: {}; onmslostpointercapture: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly host: any; innerHTML: any; readonly activeElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getSelection: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; attachShadow: {}; closest: {}; getAttribute: {}; getAttributeNS: {}; getAttributeNode: {}; getAttributeNodeNS: {}; getBoundingClientRect: {}; getClientRects: {}; getElementsByClassName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; hasAttribute: {}; hasAttributeNS: {}; hasAttributes: {}; insertAdjacentElement: {}; insertAdjacentHTML: {}; insertAdjacentText: {}; matches: {}; msGetRegionContent: {}; msGetUntransformedBounds: {}; msMatchesSelector: {}; msReleasePointerCapture: {}; msSetPointerCapture: {}; msZoomTo: {}; releasePointerCapture: {}; removeAttribute: {}; removeAttributeNS: {}; removeAttributeNode: {}; requestFullscreen: {}; requestPointerLock: {}; scroll: {}; scrollBy: {}; scrollIntoView: {}; scrollTo: {}; setAttribute: {}; setAttributeNS: {}; setAttributeNode: {}; setAttributeNodeNS: {}; setPointerCapture: {}; webkitMatchesSelector: {}; webkitRequestFullScreen: {}; webkitRequestFullscreen: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly nextElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly previousElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; remove: {}; } ->out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly styleSheets: { readonly length: any; item: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } ->out2 : { msCaching: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; msCachingEnabled: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; dispatchEvent: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; } ->responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly styleSheets: { readonly length: any; item: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } ->activeElement : { readonly assignedSlot: { name: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; add: any; contains: any; item: any; remove: any; replace: any; toString: any; toggle: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; msContentZoomFactor: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly msRegionOverflow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onariarequest: {}; oncommand: {}; ongotpointercapture: {}; onlostpointercapture: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsgotpointercapture: {}; onmsinertiastart: {}; onmslostpointercapture: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly host: any; innerHTML: any; readonly activeElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getSelection: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; attachShadow: {}; closest: {}; getAttribute: {}; getAttributeNS: {}; getAttributeNode: {}; getAttributeNodeNS: {}; getBoundingClientRect: {}; getClientRects: {}; getElementsByClassName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; hasAttribute: {}; hasAttributeNS: {}; hasAttributes: {}; insertAdjacentElement: {}; insertAdjacentHTML: {}; insertAdjacentText: {}; matches: {}; msGetRegionContent: {}; msGetUntransformedBounds: {}; msMatchesSelector: {}; msReleasePointerCapture: {}; msSetPointerCapture: {}; msZoomTo: {}; releasePointerCapture: {}; removeAttribute: {}; removeAttributeNS: {}; removeAttributeNode: {}; requestFullscreen: {}; requestPointerLock: {}; scroll: {}; scrollBy: {}; scrollIntoView: {}; scrollTo: {}; setAttribute: {}; setAttributeNS: {}; setAttributeNode: {}; setAttributeNodeNS: {}; setPointerCapture: {}; webkitMatchesSelector: {}; webkitRequestFullScreen: {}; webkitRequestFullscreen: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly children: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; animate: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly nextElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly previousElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; ongotpointercapture: any; onlostpointercapture: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; remove: {}; } +>out2.responseXML.activeElement : { readonly assignedSlot: { name: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; add: any; contains: any; item: any; remove: any; replace: any; toString: any; toggle: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; msContentZoomFactor: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly msRegionOverflow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onariarequest: {}; oncommand: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsgotpointercapture: {}; onmsinertiastart: {}; onmslostpointercapture: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly host: any; innerHTML: any; readonly activeElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getSelection: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; querySelector: any; querySelectorAll: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; attachShadow: {}; closest: {}; getAttribute: {}; getAttributeNS: {}; getAttributeNode: {}; getAttributeNodeNS: {}; getBoundingClientRect: {}; getClientRects: {}; getElementsByClassName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; hasAttribute: {}; hasAttributeNS: {}; hasAttributes: {}; hasPointerCapture: {}; insertAdjacentElement: {}; insertAdjacentHTML: {}; insertAdjacentText: {}; matches: {}; msGetRegionContent: {}; msGetUntransformedBounds: {}; msMatchesSelector: {}; msReleasePointerCapture: {}; msSetPointerCapture: {}; msZoomTo: {}; releasePointerCapture: {}; removeAttribute: {}; removeAttributeNS: {}; removeAttributeNode: {}; requestFullscreen: {}; requestPointerLock: {}; scroll: {}; scrollBy: {}; scrollIntoView: {}; scrollTo: {}; setAttribute: {}; setAttributeNS: {}; setAttributeNode: {}; setAttributeNodeNS: {}; setPointerCapture: {}; webkitMatchesSelector: {}; webkitRequestFullScreen: {}; webkitRequestFullscreen: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; forEach: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onanimationcancel: {}; onanimationend: {}; onanimationiteration: {}; onanimationstart: {}; ongotpointercapture: {}; onlostpointercapture: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; ontransitioncancel: {}; ontransitionend: {}; ontransitionrun: {}; ontransitionstart: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly nextElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly previousElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; remove: {}; animate: {}; getAnimations: {}; } +>out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; forEach: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly embeds: { item: any; namedItem: any; forEach: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly forms: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly links: { item: any; namedItem: any; forEach: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly styleSheets: { readonly length: any; item: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getAnimations: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; forEach: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onanimationcancel: {}; onanimationend: {}; onanimationiteration: {}; onanimationstart: {}; ongotpointercapture: {}; onlostpointercapture: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; ontransitioncancel: {}; ontransitionend: {}; ontransitionrun: {}; ontransitionstart: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } +>out2 : { onreadystatechange: {}; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: {}; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly responseXML: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: {}; getAllResponseHeaders: {}; getResponseHeader: {}; open: {}; overrideMimeType: {}; send: {}; setRequestHeader: {}; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: {}; removeEventListener: {}; onabort: {}; onerror: {}; onload: {}; onloadend: {}; onloadstart: {}; onprogress: {}; ontimeout: {}; dispatchEvent: {}; } +>responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly URLUnencoded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; forEach: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; body: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; readonly href: any; }; readonly defaultView: { Blob: any; URL: any; URLSearchParams: any; readonly applicationCache: any; readonly caches: any; readonly clientInformation: any; readonly closed: any; readonly crypto: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; readonly msCredentials: any; name: any; readonly navigator: any; offscreenBuffering: any; onabort: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncompassneedscalibration: any; oncontextmenu: any; ondblclick: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onhashchange: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmessage: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onoffline: any; ononline: any; onorientationchange: any; onpagehide: any; onpageshow: any; onpause: any; onplay: any; onplaying: any; onpopstate: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onresize: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onstalled: any; onstorage: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onunload: any; onvolumechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; onwaiting: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly performance: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; cancelAnimationFrame: any; captureEvents: any; close: any; confirm: any; createImageBitmap: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestAnimationFrame: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; clearInterval: any; clearTimeout: any; setInterval: any; setTimeout: any; clearImmediate: any; setImmediate: any; readonly sessionStorage: any; readonly localStorage: any; readonly console: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly indexedDB: any; atob: any; btoa: any; fetch: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly doctype: { readonly entities: any; readonly internalSubset: any; readonly name: any; readonly notations: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; remove: any; }; readonly documentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly embeds: { item: any; namedItem: any; forEach: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly forms: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { profile: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly links: { item: any; namedItem: any; forEach: any; readonly length: any; }; location: { hash: any; host: any; hostname: any; href: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; toString: any; }; msCSSOMElementFloatMetrics: { valueOf: any; }; msCapsLockWarningOff: { valueOf: any; }; onabort: {}; onactivate: {}; onbeforeactivate: {}; onbeforedeactivate: {}; onblur: {}; oncanplay: {}; oncanplaythrough: {}; onchange: {}; onclick: {}; oncontextmenu: {}; ondblclick: {}; ondeactivate: {}; ondrag: {}; ondragend: {}; ondragenter: {}; ondragleave: {}; ondragover: {}; ondragstart: {}; ondrop: {}; ondurationchange: {}; onemptied: {}; onended: {}; onerror: {}; onfocus: {}; onfullscreenchange: {}; onfullscreenerror: {}; oninput: {}; oninvalid: {}; onkeydown: {}; onkeypress: {}; onkeyup: {}; onload: {}; onloadeddata: {}; onloadedmetadata: {}; onloadstart: {}; onmousedown: {}; onmousemove: {}; onmouseout: {}; onmouseover: {}; onmouseup: {}; onmousewheel: {}; onmscontentzoom: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsinertiastart: {}; onmsmanipulationstatechanged: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onmssitemodejumplistitemremoved: {}; onmsthumbnailclick: {}; onpause: {}; onplay: {}; onplaying: {}; onpointerlockchange: {}; onpointerlockerror: {}; onprogress: {}; onratechange: {}; onreadystatechange: {}; onreset: {}; onscroll: {}; onseeked: {}; onseeking: {}; onselect: {}; onselectionchange: {}; onselectstart: {}; onstalled: {}; onstop: {}; onsubmit: {}; onsuspend: {}; ontimeupdate: {}; onvisibilitychange: {}; onvolumechange: {}; onwaiting: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; readonly plugins: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly rootElement: { contentScriptType: any; contentStyleType: any; currentScale: any; readonly currentTranslate: any; readonly height: any; onabort: any; onerror: any; onresize: any; onscroll: any; onunload: any; onzoom: any; readonly pixelUnitToMillimeterX: any; readonly pixelUnitToMillimeterY: any; readonly screenPixelToMillimeterX: any; readonly screenPixelToMillimeterY: any; readonly viewport: any; readonly width: any; readonly x: any; readonly y: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getComputedStyle: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly farthestViewportElement: any; readonly nearestViewportElement: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; getTransformToElement: any; readonly className: any; onclick: any; ondblclick: any; onfocusin: any; onfocusout: any; onload: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; readonly ownerSVGElement: any; readonly viewportElement: any; xmlbase: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; readonly requiredExtensions: any; readonly requiredFeatures: any; readonly systemLanguage: any; hasExtension: any; createEvent: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly zoomAndPan: any; }; readonly scripts: { item: any; namedItem: any; forEach: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly styleSheets: { readonly length: any; item: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly webkitCurrentFullScreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly webkitFullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly webkitFullscreenEnabled: { valueOf: any; }; readonly webkitIsFullScreen: { valueOf: any; }; readonly xmlEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; xmlStandalone: { valueOf: any; }; xmlVersion: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; adoptNode: {}; captureEvents: {}; caretRangeFromPoint: {}; clear: {}; close: {}; createAttribute: {}; createAttributeNS: {}; createCDATASection: {}; createComment: {}; createDocumentFragment: {}; createElement: {}; createElementNS: {}; createExpression: {}; createNSResolver: {}; createNodeIterator: {}; createProcessingInstruction: {}; createRange: {}; createTextNode: {}; createTouch: {}; createTouchList: {}; createTreeWalker: {}; elementFromPoint: {}; elementsFromPoint: {}; evaluate: {}; execCommand: {}; execCommandShowHelp: {}; exitFullscreen: {}; exitPointerLock: {}; focus: {}; getAnimations: {}; getElementById: {}; getElementsByClassName: {}; getElementsByName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; getSelection: {}; hasFocus: {}; importNode: {}; msElementsFromPoint: {}; msElementsFromRect: {}; open: {}; queryCommandEnabled: {}; queryCommandIndeterm: {}; queryCommandState: {}; queryCommandSupported: {}; queryCommandText: {}; queryCommandValue: {}; releaseEvents: {}; updateSettings: {}; webkitCancelFullScreen: {}; webkitExitFullscreen: {}; write: {}; writeln: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; forEach: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onanimationcancel: {}; onanimationend: {}; onanimationiteration: {}; onanimationstart: {}; ongotpointercapture: {}; onlostpointercapture: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; ontransitioncancel: {}; ontransitionend: {}; ontransitionrun: {}; ontransitionstart: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; querySelector: {}; querySelectorAll: {}; createEvent: {}; } +>activeElement : { readonly assignedSlot: { name: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; add: any; contains: any; item: any; remove: any; replace: any; toString: any; toggle: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; msContentZoomFactor: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly msRegionOverflow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; onariarequest: {}; oncommand: {}; onmsgesturechange: {}; onmsgesturedoubletap: {}; onmsgestureend: {}; onmsgesturehold: {}; onmsgesturestart: {}; onmsgesturetap: {}; onmsgotpointercapture: {}; onmsinertiastart: {}; onmslostpointercapture: {}; onmspointercancel: {}; onmspointerdown: {}; onmspointerenter: {}; onmspointerleave: {}; onmspointermove: {}; onmspointerout: {}; onmspointerover: {}; onmspointerup: {}; onwebkitfullscreenchange: {}; onwebkitfullscreenerror: {}; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly host: any; innerHTML: any; readonly activeElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getSelection: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; querySelector: any; querySelectorAll: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; attachShadow: {}; closest: {}; getAttribute: {}; getAttributeNS: {}; getAttributeNode: {}; getAttributeNodeNS: {}; getBoundingClientRect: {}; getClientRects: {}; getElementsByClassName: {}; getElementsByTagName: {}; getElementsByTagNameNS: {}; hasAttribute: {}; hasAttributeNS: {}; hasAttributes: {}; hasPointerCapture: {}; insertAdjacentElement: {}; insertAdjacentHTML: {}; insertAdjacentText: {}; matches: {}; msGetRegionContent: {}; msGetUntransformedBounds: {}; msMatchesSelector: {}; msReleasePointerCapture: {}; msSetPointerCapture: {}; msZoomTo: {}; releasePointerCapture: {}; removeAttribute: {}; removeAttributeNS: {}; removeAttributeNode: {}; requestFullscreen: {}; requestPointerLock: {}; scroll: {}; scrollBy: {}; scrollIntoView: {}; scrollTo: {}; setAttribute: {}; setAttributeNS: {}; setAttributeNode: {}; setAttributeNodeNS: {}; setPointerCapture: {}; webkitMatchesSelector: {}; webkitRequestFullScreen: {}; webkitRequestFullscreen: {}; addEventListener: {}; removeEventListener: {}; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly childNodes: { length: any; item: any; forEach: any; }; readonly firstChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nextSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; readonly ownerDocument: { readonly URL: any; readonly URLUnencoded: any; readonly activeElement: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; charset: any; readonly compatMode: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreenElement: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; msCSSOMElementFloatMetrics: any; msCapsLockWarningOff: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforedeactivate: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onfullscreenchange: any; onfullscreenerror: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmsmanipulationstatechanged: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onmssitemodejumplistitemremoved: any; onmsthumbnailclick: any; onpause: any; onplay: any; onplaying: any; onpointerlockchange: any; onpointerlockerror: any; onprogress: any; onratechange: any; onreadystatechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onstalled: any; onstop: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvisibilitychange: any; onvolumechange: any; onwaiting: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; readonly plugins: any; readonly pointerLockElement: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly styleSheets: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; readonly webkitCurrentFullScreenElement: any; readonly webkitFullscreenElement: any; readonly webkitFullscreenEnabled: any; readonly webkitIsFullScreen: any; readonly xmlEncoding: any; xmlStandalone: any; xmlVersion: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createExpression: any; createNSResolver: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTouch: any; createTouchList: any; createTreeWalker: any; elementFromPoint: any; elementsFromPoint: any; evaluate: any; execCommand: any; execCommandShowHelp: any; exitFullscreen: any; exitPointerLock: any; focus: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; msElementsFromPoint: any; msElementsFromRect: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandText: any; queryCommandValue: any; releaseEvents: any; updateSettings: any; webkitCancelFullScreen: any; webkitExitFullscreen: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; querySelector: any; querySelectorAll: any; createEvent: any; }; readonly parentElement: { accessKey: any; contentEditable: any; readonly dataset: any; dir: any; draggable: any; hidden: any; hideFocus: any; innerText: any; readonly isContentEditable: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; onabort: any; onactivate: any; onbeforeactivate: any; onbeforecopy: any; onbeforecut: any; onbeforedeactivate: any; onbeforepaste: any; onblur: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondeactivate: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onmousewheel: any; onmscontentzoom: any; onmsmanipulationstatechanged: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onprogress: any; onratechange: any; onreset: any; onscroll: any; onseeked: any; onseeking: any; onselect: any; onselectstart: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; onvolumechange: any; onwaiting: any; outerText: any; spellcheck: any; tabIndex: any; title: any; blur: any; click: any; dragDrop: any; focus: any; msGetInputContext: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; readonly style: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; [Symbol.iterator]: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; }; appendChild: {}; cloneNode: {}; compareDocumentPosition: {}; contains: {}; hasChildNodes: {}; insertBefore: {}; isDefaultNamespace: {}; isEqualNode: {}; isSameNode: {}; lookupNamespaceURI: {}; lookupPrefix: {}; normalize: {}; removeChild: {}; replaceChild: {}; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: {}; onanimationcancel: {}; onanimationend: {}; onanimationiteration: {}; onanimationstart: {}; ongotpointercapture: {}; onlostpointercapture: {}; onpointercancel: {}; onpointerdown: {}; onpointerenter: {}; onpointerleave: {}; onpointermove: {}; onpointerout: {}; onpointerover: {}; onpointerup: {}; ontouchcancel: {}; ontouchend: {}; ontouchmove: {}; ontouchstart: {}; ontransitioncancel: {}; ontransitionend: {}; ontransitionrun: {}; ontransitionstart: {}; onwheel: {}; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly nextElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly previousElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; msContentZoomFactor: any; readonly msRegionOverflow: any; onariarequest: any; oncommand: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsgotpointercapture: any; onmsinertiastart: any; onmslostpointercapture: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onwebkitfullscreenchange: any; onwebkitfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; msGetUntransformedBounds: any; msMatchesSelector: any; msReleasePointerCapture: any; msSetPointerCapture: any; msZoomTo: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; webkitMatchesSelector: any; webkitRequestFullScreen: any; webkitRequestFullscreen: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly localName: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; ongotpointercapture: any; onlostpointercapture: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; ontouchcancel: any; ontouchend: any; ontouchmove: any; ontouchstart: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onwheel: any; readonly childElementCount: any; readonly firstElementChild: any; readonly lastElementChild: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly children: any; querySelector: any; querySelectorAll: any; remove: any; animate: any; getAnimations: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; querySelector: {}; querySelectorAll: {}; remove: {}; animate: {}; getAnimations: {}; } >className : { toString: {}; charAt: {}; charCodeAt: {}; concat: {}; indexOf: {}; lastIndexOf: {}; localeCompare: {}; match: {}; replace: {}; search: {}; slice: {}; split: {}; substring: {}; toLowerCase: {}; toLocaleLowerCase: {}; toUpperCase: {}; toLocaleUpperCase: {}; trim: {}; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: {}; valueOf: {}; [Symbol.iterator]: {}; codePointAt: {}; includes: {}; endsWith: {}; normalize: {}; repeat: {}; startsWith: {}; anchor: {}; big: {}; blink: {}; bold: {}; fixed: {}; fontcolor: {}; fontsize: {}; italics: {}; link: {}; small: {}; strike: {}; sub: {}; sup: {}; } >length : { toString: {}; toFixed: {}; toExponential: {}; toPrecision: {}; valueOf: {}; toLocaleString: {}; } diff --git a/tests/baselines/reference/misspelledJsDocTypedefTags.types b/tests/baselines/reference/misspelledJsDocTypedefTags.types index 3e98a0a18d1..5facd80a267 100644 --- a/tests/baselines/reference/misspelledJsDocTypedefTags.types +++ b/tests/baselines/reference/misspelledJsDocTypedefTags.types @@ -4,7 +4,7 @@ Animation.AnimationModel.ScreenshotCapture.Request; >Animation.AnimationModel.ScreenshotCapture.Request : any >Animation.AnimationModel.ScreenshotCapture : any >Animation.AnimationModel : any ->Animation : { new (effect?: AnimationEffectReadOnly, timeline?: AnimationTimeline): Animation; prototype: Animation; } +>Animation : { new (effect?: AnimationEffect, timeline?: AnimationTimeline): Animation; prototype: Animation; } >AnimationModel : any >ScreenshotCapture : any >Request : any @@ -14,7 +14,7 @@ Animation.AnimationModel.ScreenshotCapture.Request; >Animation.AnimationModel.ScreenshotCapture.Request : any >Animation.AnimationModel.ScreenshotCapture : any >Animation.AnimationModel : any ->Animation : { new (effect?: AnimationEffectReadOnly, timeline?: AnimationTimeline): Animation; prototype: Animation; } +>Animation : { new (effect?: AnimationEffect, timeline?: AnimationTimeline): Animation; prototype: Animation; } >AnimationModel : any >ScreenshotCapture : any >Request : any diff --git a/tests/baselines/reference/modularizeLibrary_Dom.iterable.types b/tests/baselines/reference/modularizeLibrary_Dom.iterable.types index 2d04e427d81..879507a84e8 100644 --- a/tests/baselines/reference/modularizeLibrary_Dom.iterable.types +++ b/tests/baselines/reference/modularizeLibrary_Dom.iterable.types @@ -2,9 +2,9 @@ for (const element of document.getElementsByTagName("a")) { >element : HTMLAnchorElement >document.getElementsByTagName("a") : NodeListOf ->document.getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } +>document.getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } >document : Document ->getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } +>getElementsByTagName : { (tagname: K): NodeListOf; (tagname: K): NodeListOf; (tagname: string): NodeListOf; } >"a" : "a" element.href; From 7eaa78846ef22d0bedf0f244437372014edad1b7 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Mon, 4 Jun 2018 14:31:56 -0700 Subject: [PATCH 70/76] Visit the children of an import type/require call/dynamic import when looking for those (#24663) --- src/compiler/program.ts | 8 +++---- .../importUsedInGenericImportResolves.js | 17 ++++++++++++++ .../importUsedInGenericImportResolves.symbols | 21 +++++++++++++++++ .../importUsedInGenericImportResolves.types | 23 +++++++++++++++++++ .../importUsedInGenericImportResolves.ts | 10 ++++++++ 5 files changed, 74 insertions(+), 5 deletions(-) create mode 100644 tests/baselines/reference/importUsedInGenericImportResolves.js create mode 100644 tests/baselines/reference/importUsedInGenericImportResolves.symbols create mode 100644 tests/baselines/reference/importUsedInGenericImportResolves.types create mode 100644 tests/cases/compiler/importUsedInGenericImportResolves.ts diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 2bdb23a2c3e..15fbf1f7df8 100755 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -1819,11 +1819,9 @@ namespace ts { else if (isLiteralImportTypeNode(node)) { imports = append(imports, node.argument.literal); } - else { - collectDynamicImportOrRequireCallsForEachChild(node); - if (hasJSDocNodes(node)) { - forEach(node.jsDoc, collectDynamicImportOrRequireCallsForEachChild); - } + collectDynamicImportOrRequireCallsForEachChild(node); + if (hasJSDocNodes(node)) { + forEach(node.jsDoc, collectDynamicImportOrRequireCallsForEachChild); } } diff --git a/tests/baselines/reference/importUsedInGenericImportResolves.js b/tests/baselines/reference/importUsedInGenericImportResolves.js new file mode 100644 index 00000000000..05d64b1c19a --- /dev/null +++ b/tests/baselines/reference/importUsedInGenericImportResolves.js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/importUsedInGenericImportResolves.ts] //// + +//// [test1.d.ts] +export interface T

{ + a: P; +} + +//// [test2.d.ts] +export declare const theme: { a: string } + +//// [test3.ts] +export const a: import("./test1").T = null as any; + +//// [test3.js] +"use strict"; +exports.__esModule = true; +exports.a = null; diff --git a/tests/baselines/reference/importUsedInGenericImportResolves.symbols b/tests/baselines/reference/importUsedInGenericImportResolves.symbols new file mode 100644 index 00000000000..6c240d19137 --- /dev/null +++ b/tests/baselines/reference/importUsedInGenericImportResolves.symbols @@ -0,0 +1,21 @@ +=== tests/cases/compiler/test1.d.ts === +export interface T

{ +>T : Symbol(T, Decl(test1.d.ts, 0, 0)) +>P : Symbol(P, Decl(test1.d.ts, 0, 19)) + + a: P; +>a : Symbol(T.a, Decl(test1.d.ts, 0, 23)) +>P : Symbol(P, Decl(test1.d.ts, 0, 19)) +} + +=== tests/cases/compiler/test2.d.ts === +export declare const theme: { a: string } +>theme : Symbol(theme, Decl(test2.d.ts, 0, 20)) +>a : Symbol(a, Decl(test2.d.ts, 0, 29)) + +=== tests/cases/compiler/test3.ts === +export const a: import("./test1").T = null as any; +>a : Symbol(a, Decl(test3.ts, 0, 12)) +>T : Symbol(T, Decl(test1.d.ts, 0, 0)) +>theme : Symbol(theme, Decl(test2.d.ts, 0, 20)) + diff --git a/tests/baselines/reference/importUsedInGenericImportResolves.types b/tests/baselines/reference/importUsedInGenericImportResolves.types new file mode 100644 index 00000000000..c101b0d73ef --- /dev/null +++ b/tests/baselines/reference/importUsedInGenericImportResolves.types @@ -0,0 +1,23 @@ +=== tests/cases/compiler/test1.d.ts === +export interface T

{ +>T : T

+>P : P + + a: P; +>a : P +>P : P +} + +=== tests/cases/compiler/test2.d.ts === +export declare const theme: { a: string } +>theme : { a: string; } +>a : string + +=== tests/cases/compiler/test3.ts === +export const a: import("./test1").T = null as any; +>a : import("tests/cases/compiler/test1").T<{ a: string; }> +>T : import("tests/cases/compiler/test1").T

+>theme : any +>null as any : any +>null : null + diff --git a/tests/cases/compiler/importUsedInGenericImportResolves.ts b/tests/cases/compiler/importUsedInGenericImportResolves.ts new file mode 100644 index 00000000000..88c57804c98 --- /dev/null +++ b/tests/cases/compiler/importUsedInGenericImportResolves.ts @@ -0,0 +1,10 @@ +// @filename: test1.d.ts +export interface T

{ + a: P; +} + +// @filename: test2.d.ts +export declare const theme: { a: string } + +// @filename: test3.ts +export const a: import("./test1").T = null as any; \ No newline at end of file From 8515d65796484bfbc53e5cb3f36ae64ab411a467 Mon Sep 17 00:00:00 2001 From: csigs Date: Mon, 4 Jun 2018 22:11:01 +0000 Subject: [PATCH 71/76] LEGO: check in for master to temporary branch. --- .../diagnosticMessages.generated.json.lcl | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl index 130887938ee..93784dfcb7d 100644 --- a/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2612,6 +2612,24 @@ + + + + + + + + + + + + + + + + + + @@ -5426,6 +5444,15 @@ + + + + + + + + + From bcd4768699050a2e3c0454d88d0b16c62a9bf3e6 Mon Sep 17 00:00:00 2001 From: csigs Date: Tue, 5 Jun 2018 10:10:41 +0000 Subject: [PATCH 72/76] LEGO: check in for master to temporary branch. --- .../diagnosticMessages.generated.json.lcl | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl index de37564b0cb..63923df49a4 100644 --- a/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2616,6 +2616,24 @@ + + + + + + + + + + + + + + + + + + @@ -5430,6 +5448,15 @@ + + + + + + + + + @@ -8676,6 +8703,12 @@ + + + + + + From 54845d23961179c02e43108802353f134a7ec6d6 Mon Sep 17 00:00:00 2001 From: csigs Date: Tue, 5 Jun 2018 16:10:39 +0000 Subject: [PATCH 73/76] LEGO: check in for master to temporary branch. --- .../diagnosticMessages.generated.json.lcl | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl index e2cc92c2ed4..4352021fac7 100644 --- a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -2619,6 +2619,24 @@ + + + + + + + + + + + + + + + + + + @@ -5433,6 +5451,15 @@ + + + + + + + + + @@ -8682,6 +8709,12 @@ + + + + + + From 735a46f838e620e1ecbf59f8a5d2727178d56eb8 Mon Sep 17 00:00:00 2001 From: Andy Date: Tue, 5 Jun 2018 10:24:37 -0700 Subject: [PATCH 74/76] If parsing a function type fails, parseTypeReference() to ensure something is returned (#24567) * If parsing a function type fails, parseTypeReference() to ensure something is returned * Avoid tryParse * Add missing semicolon * Don't check for undefined, check for missing type * Don't set parameters undefined, set to missingList and return false * Update API baselines * Code review --- src/compiler/parser.ts | 108 +++++++++--------- src/compiler/types.ts | 9 +- .../reference/ArrowFunction3.errors.txt | 12 +- tests/baselines/reference/ArrowFunction3.js | 6 +- .../reference/ArrowFunction3.symbols | 1 - .../baselines/reference/ArrowFunction3.types | 5 +- .../reference/api/tsserverlibrary.d.ts | 8 +- tests/baselines/reference/api/typescript.d.ts | 8 +- .../jsdocFunctionTypeFalsePositive.errors.txt | 24 ++++ .../jsdocFunctionTypeFalsePositive.symbols | 6 + .../jsdocFunctionTypeFalsePositive.types | 6 + .../parserX_ArrowFunction3.errors.txt | 12 +- .../reference/parserX_ArrowFunction3.js | 6 +- .../reference/parserX_ArrowFunction3.symbols | 1 - .../reference/parserX_ArrowFunction3.types | 5 +- .../jsdocFunctionTypeFalsePositive.ts | 7 ++ ...ionListNewIdentifierVariableDeclaration.ts | 6 - 17 files changed, 143 insertions(+), 87 deletions(-) create mode 100644 tests/baselines/reference/jsdocFunctionTypeFalsePositive.errors.txt create mode 100644 tests/baselines/reference/jsdocFunctionTypeFalsePositive.symbols create mode 100644 tests/baselines/reference/jsdocFunctionTypeFalsePositive.types create mode 100644 tests/cases/compiler/jsdocFunctionTypeFalsePositive.ts diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 74ec3d85931..026ec1a1c83 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -4,7 +4,6 @@ namespace ts { Yield = 1 << 0, Await = 1 << 1, Type = 1 << 2, - RequireCompleteParameterList = 1 << 3, IgnoreMissingOpenBrace = 1 << 4, JSDoc = 1 << 5, } @@ -1257,8 +1256,8 @@ namespace ts { new TokenConstructor(kind, p, p); } - function createNodeWithJSDoc(kind: SyntaxKind): Node { - const node = createNode(kind); + function createNodeWithJSDoc(kind: SyntaxKind, pos?: number): Node { + const node = createNode(kind, pos); if (scanner.getTokenFlags() & TokenFlags.PrecedingJSDocComment) { addJSDocComment(node); } @@ -2257,6 +2256,24 @@ namespace ts { return finishNode(node); } + // If true, we should abort parsing an error function. + function typeHasArrowFunctionBlockingParseError(node: TypeNode): boolean { + switch (node.kind) { + case SyntaxKind.TypeReference: + return nodeIsMissing((node as TypeReferenceNode).typeName); + case SyntaxKind.FunctionType: + case SyntaxKind.ConstructorType: { + const { parameters, type } = node as FunctionOrConstructorTypeNode; + // parameters.pos === parameters.end only if we used parseMissingList, else should contain at least `()` + return parameters.pos === parameters.end || typeHasArrowFunctionBlockingParseError(type); + } + case SyntaxKind.ParenthesizedType: + return typeHasArrowFunctionBlockingParseError((node as ParenthesizedTypeNode).type); + default: + return false; + } + } + function parseThisTypePredicate(lhs: ThisTypeNode): TypePredicateNode { nextToken(); const node = createNode(SyntaxKind.TypePredicate, lhs.pos) as TypePredicateNode; @@ -2343,7 +2360,7 @@ namespace ts { return finishNode(parameter); } - function parseJSDocType() { + function parseJSDocType(): TypeNode { const dotdotdot = parseOptionalToken(SyntaxKind.DotDotDotToken); let type = parseType(); if (dotdotdot) { @@ -2451,6 +2468,7 @@ namespace ts { } /** + * Note: If returnToken is EqualsGreaterThanToken, `signature.type` will always be defined. * @returns If return type parsing succeeds */ function fillSignature( @@ -2460,12 +2478,12 @@ namespace ts { if (!(flags & SignatureFlags.JSDoc)) { signature.typeParameters = parseTypeParameters(); } - signature.parameters = parseParameterList(flags)!; // TODO: GH#18217 + const parametersParsedSuccessfully = parseParameterList(signature, flags); if (shouldParseReturnType(returnToken, !!(flags & SignatureFlags.Type))) { signature.type = parseTypeOrTypePredicate(); - return signature.type !== undefined; + if (typeHasArrowFunctionBlockingParseError(signature.type)) return false; } - return true; + return parametersParsedSuccessfully; } function shouldParseReturnType(returnToken: SyntaxKind.ColonToken | SyntaxKind.EqualsGreaterThanToken, isType: boolean): boolean { @@ -2485,7 +2503,8 @@ namespace ts { return false; } - function parseParameterList(flags: SignatureFlags) { + // Returns true on success. + function parseParameterList(signature: SignatureDeclaration, flags: SignatureFlags): boolean { // FormalParameters [Yield,Await]: (modified) // [empty] // FormalParameterList[?Yield,Await] @@ -2499,31 +2518,23 @@ namespace ts { // // SingleNameBinding [Yield,Await]: // BindingIdentifier[?Yield,?Await]Initializer [In, ?Yield,?Await] opt - if (parseExpected(SyntaxKind.OpenParenToken)) { - const savedYieldContext = inYieldContext(); - const savedAwaitContext = inAwaitContext(); - - setYieldContext(!!(flags & SignatureFlags.Yield)); - setAwaitContext(!!(flags & SignatureFlags.Await)); - - const result = parseDelimitedList(ParsingContext.Parameters, flags & SignatureFlags.JSDoc ? parseJSDocParameter : parseParameter); - - setYieldContext(savedYieldContext); - setAwaitContext(savedAwaitContext); - - if (!parseExpected(SyntaxKind.CloseParenToken) && (flags & SignatureFlags.RequireCompleteParameterList)) { - // Caller insisted that we had to end with a ) We didn't. So just return - // undefined here. - return undefined; - } - - return result; + if (!parseExpected(SyntaxKind.OpenParenToken)) { + signature.parameters = createMissingList(); + return false; } - // We didn't even have an open paren. If the caller requires a complete parameter list, - // we definitely can't provide that. However, if they're ok with an incomplete one, - // then just return an empty set of parameters. - return (flags & SignatureFlags.RequireCompleteParameterList) ? undefined : createMissingList(); + const savedYieldContext = inYieldContext(); + const savedAwaitContext = inAwaitContext(); + + setYieldContext(!!(flags & SignatureFlags.Yield)); + setAwaitContext(!!(flags & SignatureFlags.Await)); + + signature.parameters = parseDelimitedList(ParsingContext.Parameters, flags & SignatureFlags.JSDoc ? parseJSDocParameter : parseParameter); + + setYieldContext(savedYieldContext); + setAwaitContext(savedAwaitContext); + + return parseExpected(SyntaxKind.CloseParenToken); } function parseTypeMemberSemicolon() { @@ -2772,28 +2783,19 @@ namespace ts { return finishNode(node); } - function parseParenthesizedType(): ParenthesizedTypeNode { + function parseParenthesizedType(): TypeNode { const node = createNode(SyntaxKind.ParenthesizedType); parseExpected(SyntaxKind.OpenParenToken); node.type = parseType(); - if (!node.type) { - return undefined!; // TODO: GH#18217 - } parseExpected(SyntaxKind.CloseParenToken); return finishNode(node); } - function parseFunctionOrConstructorType(kind: SyntaxKind): FunctionOrConstructorTypeNode | undefined { - const node = createNodeWithJSDoc(kind); - if (kind === SyntaxKind.ConstructorType) { - parseExpected(SyntaxKind.NewKeyword); - } - if (!fillSignature(SyntaxKind.EqualsGreaterThanToken, SignatureFlags.Type | (sourceFile.languageVariant === LanguageVariant.JSX ? SignatureFlags.RequireCompleteParameterList : 0), node)) { - return undefined; - } - if (!node.parameters) { - return undefined; - } + function parseFunctionOrConstructorType(): TypeNode { + const pos = getNodePos(); + const kind = parseOptional(SyntaxKind.NewKeyword) ? SyntaxKind.ConstructorType : SyntaxKind.FunctionType; + const node = createNodeWithJSDoc(kind, pos); + fillSignature(SyntaxKind.EqualsGreaterThanToken, SignatureFlags.Type, node); return finishNode(node); } @@ -3134,11 +3136,8 @@ namespace ts { } function parseTypeWorker(noConditionalTypes?: boolean): TypeNode { - if (isStartOfFunctionType()) { - return parseFunctionOrConstructorType(SyntaxKind.FunctionType)!; // TODO: GH#18217 - } - if (token() === SyntaxKind.NewKeyword) { - return parseFunctionOrConstructorType(SyntaxKind.ConstructorType)!; + if (isStartOfFunctionType() || token() === SyntaxKind.NewKeyword) { + return parseFunctionOrConstructorType(); } const type = parseUnionTypeOrHigher(); if (!noConditionalTypes && !scanner.hasPrecedingLineBreak() && parseOptional(SyntaxKind.ExtendsKeyword)) { @@ -3626,12 +3625,7 @@ namespace ts { // a => (b => c) // And think that "(b =>" was actually a parenthesized arrow function with a missing // close paren. - if (!fillSignature(SyntaxKind.ColonToken, isAsync | (allowAmbiguity ? SignatureFlags.None : SignatureFlags.RequireCompleteParameterList), node)) { - return undefined; - } - - // If we couldn't get parameters, we definitely could not parse out an arrow function. - if (!node.parameters) { + if (!fillSignature(SyntaxKind.ColonToken, isAsync, node) && !allowAmbiguity) { return undefined; } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 93162944fce..5f294446198 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1098,11 +1098,16 @@ namespace ts { export type FunctionOrConstructorTypeNode = FunctionTypeNode | ConstructorTypeNode; - export interface FunctionTypeNode extends TypeNode, SignatureDeclarationBase { + export interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDeclarationBase { + kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType; + type: TypeNode; + } + + export interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase { kind: SyntaxKind.FunctionType; } - export interface ConstructorTypeNode extends TypeNode, SignatureDeclarationBase { + export interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { kind: SyntaxKind.ConstructorType; } diff --git a/tests/baselines/reference/ArrowFunction3.errors.txt b/tests/baselines/reference/ArrowFunction3.errors.txt index aa5d1bfb725..8fd4bb742f5 100644 --- a/tests/baselines/reference/ArrowFunction3.errors.txt +++ b/tests/baselines/reference/ArrowFunction3.errors.txt @@ -1,9 +1,15 @@ -tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction3.ts(1,14): error TS1110: Type expected. +tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction3.ts(1,10): error TS2304: Cannot find name 'a'. +tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction3.ts(1,12): error TS1005: ',' expected. +tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction3.ts(1,14): error TS1005: ';' expected. -==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction3.ts (1 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction3.ts (3 errors) ==== var v = (a): => { + ~ +!!! error TS2304: Cannot find name 'a'. + ~ +!!! error TS1005: ',' expected. ~~ -!!! error TS1110: Type expected. +!!! error TS1005: ';' expected. }; \ No newline at end of file diff --git a/tests/baselines/reference/ArrowFunction3.js b/tests/baselines/reference/ArrowFunction3.js index 8ce76f7da3b..41182da2eed 100644 --- a/tests/baselines/reference/ArrowFunction3.js +++ b/tests/baselines/reference/ArrowFunction3.js @@ -4,5 +4,7 @@ var v = (a): => { }; //// [ArrowFunction3.js] -var v = function (a) { -}; +var v = (a); +{ +} +; diff --git a/tests/baselines/reference/ArrowFunction3.symbols b/tests/baselines/reference/ArrowFunction3.symbols index 825b7d54e1e..3eb9c6c895b 100644 --- a/tests/baselines/reference/ArrowFunction3.symbols +++ b/tests/baselines/reference/ArrowFunction3.symbols @@ -1,6 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction3.ts === var v = (a): => { >v : Symbol(v, Decl(ArrowFunction3.ts, 0, 3)) ->a : Symbol(a, Decl(ArrowFunction3.ts, 0, 9)) }; diff --git a/tests/baselines/reference/ArrowFunction3.types b/tests/baselines/reference/ArrowFunction3.types index 64b46bd0d63..c168b835875 100644 --- a/tests/baselines/reference/ArrowFunction3.types +++ b/tests/baselines/reference/ArrowFunction3.types @@ -1,8 +1,7 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction3.ts === var v = (a): => { ->v : (a: any) => any ->(a): => { } : (a: any) => any +>v : any +>(a) : any >a : any -> : No type information available! }; diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index bf6db412bf8..fdaec83c911 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -715,10 +715,14 @@ declare namespace ts { kind: SyntaxKind.ThisType; } type FunctionOrConstructorTypeNode = FunctionTypeNode | ConstructorTypeNode; - interface FunctionTypeNode extends TypeNode, SignatureDeclarationBase { + interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDeclarationBase { + kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType; + type: TypeNode; + } + interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase { kind: SyntaxKind.FunctionType; } - interface ConstructorTypeNode extends TypeNode, SignatureDeclarationBase { + interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { kind: SyntaxKind.ConstructorType; } interface NodeWithTypeArguments extends TypeNode { diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 32316e23f12..ac0322fa0d3 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -715,10 +715,14 @@ declare namespace ts { kind: SyntaxKind.ThisType; } type FunctionOrConstructorTypeNode = FunctionTypeNode | ConstructorTypeNode; - interface FunctionTypeNode extends TypeNode, SignatureDeclarationBase { + interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDeclarationBase { + kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType; + type: TypeNode; + } + interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase { kind: SyntaxKind.FunctionType; } - interface ConstructorTypeNode extends TypeNode, SignatureDeclarationBase { + interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { kind: SyntaxKind.ConstructorType; } interface NodeWithTypeArguments extends TypeNode { diff --git a/tests/baselines/reference/jsdocFunctionTypeFalsePositive.errors.txt b/tests/baselines/reference/jsdocFunctionTypeFalsePositive.errors.txt new file mode 100644 index 00000000000..b50b49c2e45 --- /dev/null +++ b/tests/baselines/reference/jsdocFunctionTypeFalsePositive.errors.txt @@ -0,0 +1,24 @@ +/a.js(1,14): error TS1139: Type parameter declaration expected. +/a.js(1,17): error TS1003: Identifier expected. +/a.js(1,17): error TS1110: Type expected. +/a.js(1,17): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. +/a.js(1,18): error TS1005: '>' expected. +/a.js(1,18): error TS1005: '}' expected. + + +==== /a.js (6 errors) ==== + /** @param {<} x */ + ~ +!!! error TS1139: Type parameter declaration expected. + +!!! error TS1003: Identifier expected. + +!!! error TS1110: Type expected. + +!!! error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. + +!!! error TS1005: '>' expected. + +!!! error TS1005: '}' expected. + function f(x) {} + \ No newline at end of file diff --git a/tests/baselines/reference/jsdocFunctionTypeFalsePositive.symbols b/tests/baselines/reference/jsdocFunctionTypeFalsePositive.symbols new file mode 100644 index 00000000000..ecbfb16a4a7 --- /dev/null +++ b/tests/baselines/reference/jsdocFunctionTypeFalsePositive.symbols @@ -0,0 +1,6 @@ +=== /a.js === +/** @param {<} x */ +function f(x) {} +>f : Symbol(f, Decl(a.js, 0, 0)) +>x : Symbol(x, Decl(a.js, 1, 11)) + diff --git a/tests/baselines/reference/jsdocFunctionTypeFalsePositive.types b/tests/baselines/reference/jsdocFunctionTypeFalsePositive.types new file mode 100644 index 00000000000..29b3b4d2e1c --- /dev/null +++ b/tests/baselines/reference/jsdocFunctionTypeFalsePositive.types @@ -0,0 +1,6 @@ +=== /a.js === +/** @param {<} x */ +function f(x) {} +>f : (x: any) => void +>x : any + diff --git a/tests/baselines/reference/parserX_ArrowFunction3.errors.txt b/tests/baselines/reference/parserX_ArrowFunction3.errors.txt index aa4a4c55a9f..d0af7dbacce 100644 --- a/tests/baselines/reference/parserX_ArrowFunction3.errors.txt +++ b/tests/baselines/reference/parserX_ArrowFunction3.errors.txt @@ -1,9 +1,15 @@ -tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/parserX_ArrowFunction3.ts(1,14): error TS1110: Type expected. +tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/parserX_ArrowFunction3.ts(1,10): error TS2304: Cannot find name 'a'. +tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/parserX_ArrowFunction3.ts(1,12): error TS1005: ',' expected. +tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/parserX_ArrowFunction3.ts(1,14): error TS1005: ';' expected. -==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/parserX_ArrowFunction3.ts (1 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/parserX_ArrowFunction3.ts (3 errors) ==== var v = (a): => { + ~ +!!! error TS2304: Cannot find name 'a'. + ~ +!!! error TS1005: ',' expected. ~~ -!!! error TS1110: Type expected. +!!! error TS1005: ';' expected. }; \ No newline at end of file diff --git a/tests/baselines/reference/parserX_ArrowFunction3.js b/tests/baselines/reference/parserX_ArrowFunction3.js index 6d1ecad3698..e326619585e 100644 --- a/tests/baselines/reference/parserX_ArrowFunction3.js +++ b/tests/baselines/reference/parserX_ArrowFunction3.js @@ -4,5 +4,7 @@ var v = (a): => { }; //// [parserX_ArrowFunction3.js] -var v = function (a) { -}; +var v = (a); +{ +} +; diff --git a/tests/baselines/reference/parserX_ArrowFunction3.symbols b/tests/baselines/reference/parserX_ArrowFunction3.symbols index 92b4ff39274..37f59cb9234 100644 --- a/tests/baselines/reference/parserX_ArrowFunction3.symbols +++ b/tests/baselines/reference/parserX_ArrowFunction3.symbols @@ -1,6 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/parserX_ArrowFunction3.ts === var v = (a): => { >v : Symbol(v, Decl(parserX_ArrowFunction3.ts, 0, 3)) ->a : Symbol(a, Decl(parserX_ArrowFunction3.ts, 0, 9)) }; diff --git a/tests/baselines/reference/parserX_ArrowFunction3.types b/tests/baselines/reference/parserX_ArrowFunction3.types index 73e18eec5fd..4c09ef0aa4a 100644 --- a/tests/baselines/reference/parserX_ArrowFunction3.types +++ b/tests/baselines/reference/parserX_ArrowFunction3.types @@ -1,8 +1,7 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/parserX_ArrowFunction3.ts === var v = (a): => { ->v : (a: any) => any ->(a): => { } : (a: any) => any +>v : any +>(a) : any >a : any -> : No type information available! }; diff --git a/tests/cases/compiler/jsdocFunctionTypeFalsePositive.ts b/tests/cases/compiler/jsdocFunctionTypeFalsePositive.ts new file mode 100644 index 00000000000..194bdf876d6 --- /dev/null +++ b/tests/cases/compiler/jsdocFunctionTypeFalsePositive.ts @@ -0,0 +1,7 @@ +// @allowJs: true +// @checkJs: true +// @noEmit: true + +// @Filename: /a.js +/** @param {<} x */ +function f(x) {} diff --git a/tests/cases/fourslash/completionListNewIdentifierVariableDeclaration.ts b/tests/cases/fourslash/completionListNewIdentifierVariableDeclaration.ts index ff4fcba0a5a..cdebbaa1334 100644 --- a/tests/cases/fourslash/completionListNewIdentifierVariableDeclaration.ts +++ b/tests/cases/fourslash/completionListNewIdentifierVariableDeclaration.ts @@ -1,13 +1,7 @@ /// -////var x : (s/*1*/ - ////var y : (s:string, list/*2*/ -goTo.marker("1"); -verify.not.completionListIsEmpty();// As this can either be type or become arrow function parameter -verify.completionListAllowsNewIdentifier(); - goTo.marker("2"); verify.completionListIsEmpty(); // Parameter name verify.completionListAllowsNewIdentifier(); \ No newline at end of file From d9b93903c035e48c8da1d731332787f83efc4619 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Tue, 5 Jun 2018 12:54:36 -0700 Subject: [PATCH 75/76] Use more nodelike paths for import types when possible (#24610) * Use more nodelike paths for import types when possible * move functionality from services into compiler, fix with propert file/directory conflict handling * mark suspect cast --- src/compiler/checker.ts | 3 +- src/compiler/moduleNameResolver.ts | 4 -- .../moduleSpecifiers.ts | 39 +++++++++---- src/compiler/program.ts | 3 + src/compiler/tsconfig.json | 1 + src/compiler/types.ts | 19 ++++--- src/compiler/utilities.ts | 6 +- src/harness/tsconfig.json | 2 +- src/server/tsconfig.json | 2 +- src/server/tsconfig.library.json | 2 +- src/services/getEditsForFileRename.ts | 2 +- src/services/tsconfig.json | 2 +- .../reference/api/tsserverlibrary.d.ts | 8 +-- tests/baselines/reference/api/typescript.d.ts | 8 +-- ...arationEmitCommonJsModuleReferencedType.js | 38 +++++++++++++ ...onEmitCommonJsModuleReferencedType.symbols | 55 ++++++++++++++++++ ...tionEmitCommonJsModuleReferencedType.types | 57 +++++++++++++++++++ ...mportShouldNotBeElidedInDeclarationEmit.js | 2 +- ...arationEmitCommonJsModuleReferencedType.ts | 23 ++++++++ 19 files changed, 235 insertions(+), 41 deletions(-) rename src/{services/codefixes => compiler}/moduleSpecifiers.ts (88%) create mode 100644 tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.js create mode 100644 tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.symbols create mode 100644 tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types create mode 100644 tests/cases/compiler/declarationEmitCommonJsModuleReferencedType.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index aabeffd1513..58e097e70c2 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4084,7 +4084,8 @@ namespace ts { // ambient module, just use declaration/symbol name (fallthrough) } else { - return `"${getResolvedExternalModuleName(context!.tracker.moduleResolverHost!, file, getSourceFileOfNode(getOriginalNode(context!.enclosingDeclaration)))}"`; + const contextFile = getSourceFileOfNode(getOriginalNode(context!.enclosingDeclaration))!; + return `"${file.moduleName || moduleSpecifiers.getModuleSpecifier(compilerOptions, contextFile, contextFile.path, file.path, context!.tracker.moduleResolverHost!)}"`; } } const declaration = symbol.declarations[0]; diff --git a/src/compiler/moduleNameResolver.ts b/src/compiler/moduleNameResolver.ts index beaeb7dd056..f93f2d7eb64 100644 --- a/src/compiler/moduleNameResolver.ts +++ b/src/compiler/moduleNameResolver.ts @@ -132,10 +132,6 @@ namespace ts { } } - export interface GetEffectiveTypeRootsHost { - directoryExists?(directoryName: string): boolean; - getCurrentDirectory?(): string; - } export function getEffectiveTypeRoots(options: CompilerOptions, host: GetEffectiveTypeRootsHost): string[] | undefined { if (options.typeRoots) { return options.typeRoots; diff --git a/src/services/codefixes/moduleSpecifiers.ts b/src/compiler/moduleSpecifiers.ts similarity index 88% rename from src/services/codefixes/moduleSpecifiers.ts rename to src/compiler/moduleSpecifiers.ts index be92b917273..50daa81d60c 100644 --- a/src/services/codefixes/moduleSpecifiers.ts +++ b/src/compiler/moduleSpecifiers.ts @@ -1,10 +1,13 @@ // Used by importFixes to synthesize import module specifiers. /* @internal */ namespace ts.moduleSpecifiers { + export interface ModuleSpecifierPreferences { + importModuleSpecifierPreference?: "relative" | "non-relative"; + } + // Note: fromSourceFile is just for usesJsExtensionOnImports - export function getModuleSpecifier(program: Program, fromSourceFile: SourceFile, fromSourceFileName: string, toFileName: string, host: LanguageServiceHost, preferences: UserPreferences) { - const info = getInfo(program.getCompilerOptions(), fromSourceFile, fromSourceFileName, host); - const compilerOptions = program.getCompilerOptions(); + export function getModuleSpecifier(compilerOptions: CompilerOptions, fromSourceFile: SourceFile, fromSourceFileName: string, toFileName: string, host: ModuleSpecifierResolutionHost, preferences: ModuleSpecifierPreferences = {}) { + const info = getInfo(compilerOptions, fromSourceFile, fromSourceFileName, host); return getGlobalModuleSpecifier(toFileName, info, host, compilerOptions) || first(getLocalModuleSpecifiers(toFileName, info, compilerOptions, preferences)); } @@ -14,15 +17,15 @@ namespace ts.moduleSpecifiers { moduleSymbol: Symbol, program: Program, importingSourceFile: SourceFile, - host: LanguageServiceHost, - preferences: UserPreferences, + host: ModuleSpecifierResolutionHost, + preferences: ModuleSpecifierPreferences, ): ReadonlyArray> { const ambient = tryGetModuleNameFromAmbientModule(moduleSymbol); if (ambient) return [[ambient]]; const compilerOptions = program.getCompilerOptions(); const info = getInfo(compilerOptions, importingSourceFile, importingSourceFile.fileName, host); - const modulePaths = getAllModulePaths(program, moduleSymbol.valueDeclaration.getSourceFile()); + const modulePaths = getAllModulePaths(program, getSourceFileOfNode(moduleSymbol.valueDeclaration)); const global = mapDefined(modulePaths, moduleFileName => getGlobalModuleSpecifier(moduleFileName, info, host, compilerOptions)); return global.length ? global.map(g => [g]) : modulePaths.map(moduleFileName => @@ -36,10 +39,10 @@ namespace ts.moduleSpecifiers { readonly sourceDirectory: string; } // importingSourceFileName is separate because getEditsForFileRename may need to specify an updated path - function getInfo(compilerOptions: CompilerOptions, importingSourceFile: SourceFile, importingSourceFileName: string, host: LanguageServiceHost): Info { + function getInfo(compilerOptions: CompilerOptions, importingSourceFile: SourceFile, importingSourceFileName: string, host: ModuleSpecifierResolutionHost): Info { const moduleResolutionKind = getEmitModuleResolutionKind(compilerOptions); const addJsExtension = usesJsExtensionOnImports(importingSourceFile); - const getCanonicalFileName = hostGetCanonicalFileName(host); + const getCanonicalFileName = createGetCanonicalFileName(host.useCaseSensitiveFileNames ? host.useCaseSensitiveFileNames() : true); const sourceDirectory = getDirectoryPath(importingSourceFileName); return { moduleResolutionKind, addJsExtension, getCanonicalFileName, sourceDirectory }; } @@ -47,7 +50,7 @@ namespace ts.moduleSpecifiers { function getGlobalModuleSpecifier( moduleFileName: string, { addJsExtension, getCanonicalFileName, sourceDirectory }: Info, - host: LanguageServiceHost, + host: ModuleSpecifierResolutionHost, compilerOptions: CompilerOptions, ) { return tryGetModuleNameFromTypeRoots(compilerOptions, host, getCanonicalFileName, moduleFileName, addJsExtension) @@ -59,7 +62,7 @@ namespace ts.moduleSpecifiers { moduleFileName: string, { moduleResolutionKind, addJsExtension, getCanonicalFileName, sourceDirectory }: Info, compilerOptions: CompilerOptions, - preferences: UserPreferences, + preferences: ModuleSpecifierPreferences, ) { const { baseUrl, paths } = compilerOptions; @@ -210,7 +213,7 @@ namespace ts.moduleSpecifiers { function tryGetModuleNameAsNodeModule( options: CompilerOptions, moduleFileName: string, - host: LanguageServiceHost, + host: ModuleSpecifierResolutionHost, getCanonicalFileName: (file: string) => string, sourceDirectory: string, ): string | undefined { @@ -256,7 +259,8 @@ namespace ts.moduleSpecifiers { const fullModulePathWithoutExtension = removeFileExtension(path); // If the file is /index, it can be imported by its directory name - if (getCanonicalFileName(fullModulePathWithoutExtension.substring(parts.fileNameIndex)) === "/index") { + // IFF there is not _also_ a file by the same name + if (getCanonicalFileName(fullModulePathWithoutExtension.substring(parts.fileNameIndex)) === "/index" && !tryGetAnyFileFromPath(host, fullModulePathWithoutExtension.substring(0, parts.fileNameIndex))) { return fullModulePathWithoutExtension.substring(0, parts.fileNameIndex); } @@ -264,6 +268,17 @@ namespace ts.moduleSpecifiers { } } + function tryGetAnyFileFromPath(host: ModuleSpecifierResolutionHost, path: string) { + // We check all js, `node` and `json` extensions in addition to TS, since node module resolution would also choose those over the directory + const extensions = getSupportedExtensions({ allowJs: true }, [{ extension: "node", isMixedContent: false }, { extension: "json", isMixedContent: false, scriptKind: ScriptKind.JSON }]); + for (const e of extensions) { + const fullPath = path + e; + if (host.fileExists!(fullPath)) { // TODO: GH#18217 + return fullPath; + } + } + } + interface NodeModulePathParts { readonly topLevelNodeModulesIndex: number; readonly topLevelPackageNameIndex: number; diff --git a/src/compiler/program.ts b/src/compiler/program.ts index a3ada79452b..cb6e1347868 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -1207,6 +1207,9 @@ namespace ts { writeFile: writeFileCallback || ( (fileName, data, writeByteOrderMark, onError, sourceFiles) => host.writeFile(fileName, data, writeByteOrderMark, onError, sourceFiles)), isEmitBlocked, + readFile: f => host.readFile(f), + fileExists: f => host.fileExists(f), + ...(host.directoryExists ? { directoryExists: f => host.directoryExists!(f) } : {}), }; } diff --git a/src/compiler/tsconfig.json b/src/compiler/tsconfig.json index 46e5384434a..5716a2a417d 100644 --- a/src/compiler/tsconfig.json +++ b/src/compiler/tsconfig.json @@ -44,6 +44,7 @@ "builderState.ts", "builder.ts", "resolutionCache.ts", + "moduleSpecifiers.ts", "watch.ts", "commandLineParser.ts", "tsc.ts" diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 5f294446198..2b493921f89 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -5026,8 +5026,9 @@ namespace ts { } /* @internal */ - export interface EmitHost extends ScriptReferenceHost { + export interface EmitHost extends ScriptReferenceHost, ModuleSpecifierResolutionHost { getSourceFiles(): ReadonlyArray; + getCurrentDirectory(): string; /* @internal */ isSourceFileFromExternalLibrary(file: SourceFile): boolean; @@ -5289,11 +5290,15 @@ namespace ts { isAtStartOfLine(): boolean; } - /* @internal */ - export interface ModuleNameResolverHost { - getCanonicalFileName(f: string): string; - getCommonSourceDirectory(): string; - getCurrentDirectory(): string; + export interface GetEffectiveTypeRootsHost { + directoryExists?(directoryName: string): boolean; + getCurrentDirectory?(): string; + } + /** @internal */ + export interface ModuleSpecifierResolutionHost extends GetEffectiveTypeRootsHost { + useCaseSensitiveFileNames?(): boolean; + fileExists?(path: string): boolean; + readFile?(path: string): string | undefined; } /** @deprecated See comment on SymbolWriter */ @@ -5307,7 +5312,7 @@ namespace ts { reportPrivateInBaseOfClassExpression?(propertyName: string): void; reportInaccessibleUniqueSymbolError?(): void; /* @internal */ - moduleResolverHost?: ModuleNameResolverHost; + moduleResolverHost?: ModuleSpecifierResolutionHost; /* @internal */ trackReferencedAmbientModule?(decl: ModuleDeclaration): void; } diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index e2e2de985bc..0222686e8fd 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -2934,11 +2934,11 @@ namespace ts { }; } - export function getResolvedExternalModuleName(host: ModuleNameResolverHost, file: SourceFile, referenceFile?: SourceFile): string { + export function getResolvedExternalModuleName(host: EmitHost, file: SourceFile, referenceFile?: SourceFile): string { return file.moduleName || getExternalModuleNameFromPath(host, file.fileName, referenceFile && referenceFile.fileName); } - export function getExternalModuleNameFromDeclaration(host: ModuleNameResolverHost, resolver: EmitResolver, declaration: ImportEqualsDeclaration | ImportDeclaration | ExportDeclaration | ModuleDeclaration | ImportTypeNode): string | undefined { + export function getExternalModuleNameFromDeclaration(host: EmitHost, resolver: EmitResolver, declaration: ImportEqualsDeclaration | ImportDeclaration | ExportDeclaration | ModuleDeclaration | ImportTypeNode): string | undefined { const file = resolver.getExternalModuleFileFromDeclaration(declaration); if (!file || file.isDeclarationFile) { return undefined; @@ -2949,7 +2949,7 @@ namespace ts { /** * Resolves a local path to a path which is absolute to the base of the emit */ - export function getExternalModuleNameFromPath(host: ModuleNameResolverHost, fileName: string, referencePath?: string): string { + export function getExternalModuleNameFromPath(host: EmitHost, fileName: string, referencePath?: string): string { const getCanonicalFileName = (f: string) => host.getCanonicalFileName(f); const dir = toPath(referencePath ? getDirectoryPath(referencePath) : host.getCommonSourceDirectory(), host.getCurrentDirectory(), getCanonicalFileName); const filePath = getNormalizedAbsolutePath(fileName, host.getCurrentDirectory()); diff --git a/src/harness/tsconfig.json b/src/harness/tsconfig.json index ae409e96b87..c401b40a339 100644 --- a/src/harness/tsconfig.json +++ b/src/harness/tsconfig.json @@ -51,6 +51,7 @@ "../compiler/builderState.ts", "../compiler/builder.ts", "../compiler/resolutionCache.ts", + "../compiler/moduleSpecifiers.ts", "../compiler/watch.ts", "../compiler/commandLineParser.ts", @@ -115,7 +116,6 @@ "../services/codefixes/inferFromUsage.ts", "../services/codefixes/fixInvalidImportSyntax.ts", "../services/codefixes/fixStrictClassInitialization.ts", - "../services/codefixes/moduleSpecifiers.ts", "../services/codefixes/requireInTs.ts", "../services/codefixes/useDefaultImport.ts", "../services/codefixes/fixAddModuleReferTypeMissingTypeof.ts", diff --git a/src/server/tsconfig.json b/src/server/tsconfig.json index a92a19f9c01..cb0485321ca 100644 --- a/src/server/tsconfig.json +++ b/src/server/tsconfig.json @@ -47,6 +47,7 @@ "../compiler/builderState.ts", "../compiler/builder.ts", "../compiler/resolutionCache.ts", + "../compiler/moduleSpecifiers.ts", "../compiler/watch.ts", "../compiler/commandLineParser.ts", @@ -111,7 +112,6 @@ "../services/codefixes/inferFromUsage.ts", "../services/codefixes/fixInvalidImportSyntax.ts", "../services/codefixes/fixStrictClassInitialization.ts", - "../services/codefixes/moduleSpecifiers.ts", "../services/codefixes/requireInTs.ts", "../services/codefixes/useDefaultImport.ts", "../services/codefixes/fixAddModuleReferTypeMissingTypeof.ts", diff --git a/src/server/tsconfig.library.json b/src/server/tsconfig.library.json index 1675002c653..1adfe2a4bd0 100644 --- a/src/server/tsconfig.library.json +++ b/src/server/tsconfig.library.json @@ -53,6 +53,7 @@ "../compiler/builderState.ts", "../compiler/builder.ts", "../compiler/resolutionCache.ts", + "../compiler/moduleSpecifiers.ts", "../compiler/watch.ts", "../compiler/commandLineParser.ts", @@ -117,7 +118,6 @@ "../services/codefixes/inferFromUsage.ts", "../services/codefixes/fixInvalidImportSyntax.ts", "../services/codefixes/fixStrictClassInitialization.ts", - "../services/codefixes/moduleSpecifiers.ts", "../services/codefixes/requireInTs.ts", "../services/codefixes/useDefaultImport.ts", "../services/codefixes/fixAddModuleReferTypeMissingTypeof.ts", diff --git a/src/services/getEditsForFileRename.ts b/src/services/getEditsForFileRename.ts index 4bac4a2516d..a7e41d2014f 100644 --- a/src/services/getEditsForFileRename.ts +++ b/src/services/getEditsForFileRename.ts @@ -123,7 +123,7 @@ namespace ts { // TODO:GH#18217 ? getSourceFileToImportFromResolved(resolveModuleName(importLiteral.text, oldImportFromPath, program.getCompilerOptions(), host as ModuleResolutionHost), oldToNew, program) : getSourceFileToImport(importLiteral, sourceFile, program, host, oldToNew); - return toImport === undefined ? undefined : moduleSpecifiers.getModuleSpecifier(program, sourceFile, newImportFromPath, toImport, host, preferences); + return toImport === undefined ? undefined : moduleSpecifiers.getModuleSpecifier(program.getCompilerOptions(), sourceFile, newImportFromPath, toImport, host, preferences); }); } } diff --git a/src/services/tsconfig.json b/src/services/tsconfig.json index 7d6687fb987..237142fc5bf 100644 --- a/src/services/tsconfig.json +++ b/src/services/tsconfig.json @@ -44,6 +44,7 @@ "../compiler/builderState.ts", "../compiler/builder.ts", "../compiler/resolutionCache.ts", + "../compiler/moduleSpecifiers.ts", "../compiler/watch.ts", "../compiler/commandLineParser.ts", @@ -108,7 +109,6 @@ "codefixes/inferFromUsage.ts", "codefixes/fixInvalidImportSyntax.ts", "codefixes/fixStrictClassInitialization.ts", - "codefixes/moduleSpecifiers.ts", "codefixes/requireInTs.ts", "codefixes/useDefaultImport.ts", "codefixes/fixAddModuleReferTypeMissingTypeof.ts", diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index fdaec83c911..45e32195e79 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -2881,6 +2881,10 @@ declare namespace ts { omitTrailingSemicolon?: boolean; noEmitHelpers?: boolean; } + interface GetEffectiveTypeRootsHost { + directoryExists?(directoryName: string): boolean; + getCurrentDirectory?(): string; + } /** @deprecated See comment on SymbolWriter */ interface SymbolTracker { trackSymbol?(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags): void; @@ -3472,10 +3476,6 @@ declare namespace ts { function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; } declare namespace ts { - interface GetEffectiveTypeRootsHost { - directoryExists?(directoryName: string): boolean; - getCurrentDirectory?(): string; - } function getEffectiveTypeRoots(options: CompilerOptions, host: GetEffectiveTypeRootsHost): string[] | undefined; /** * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown. diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index ac0322fa0d3..ac272a91094 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -2881,6 +2881,10 @@ declare namespace ts { omitTrailingSemicolon?: boolean; noEmitHelpers?: boolean; } + interface GetEffectiveTypeRootsHost { + directoryExists?(directoryName: string): boolean; + getCurrentDirectory?(): string; + } /** @deprecated See comment on SymbolWriter */ interface SymbolTracker { trackSymbol?(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags): void; @@ -3472,10 +3476,6 @@ declare namespace ts { function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; } declare namespace ts { - interface GetEffectiveTypeRootsHost { - directoryExists?(directoryName: string): boolean; - getCurrentDirectory?(): string; - } function getEffectiveTypeRoots(options: CompilerOptions, host: GetEffectiveTypeRootsHost): string[] | undefined; /** * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown. diff --git a/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.js b/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.js new file mode 100644 index 00000000000..1e32c5c4c26 --- /dev/null +++ b/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.js @@ -0,0 +1,38 @@ +//// [tests/cases/compiler/declarationEmitCommonJsModuleReferencedType.ts] //// + +//// [index.d.ts] +export interface NestedProps {} +//// [index.d.ts] +export interface OtherIndexProps {} +//// [other.d.ts] +export interface OtherProps {} +//// [index.d.ts] +import { OtherProps } from "./other"; +import { OtherIndexProps } from "./other/index"; +import { NestedProps } from "nested"; +export interface SomeProps {} + +export function foo(): [SomeProps, OtherProps, OtherIndexProps, NestedProps]; +//// [index.d.ts] +export interface RootProps {} + +export function bar(): RootProps; +//// [entry.ts] +import { foo } from "foo"; +import { bar } from "root"; +export const x = foo(); +export const y = bar(); + + +//// [entry.js] +"use strict"; +exports.__esModule = true; +var foo_1 = require("foo"); +var root_1 = require("root"); +exports.x = foo_1.foo(); +exports.y = root_1.bar(); + + +//// [entry.d.ts] +export declare const x: [import("foo").SomeProps, import("foo/other").OtherProps, import("foo/other/index").OtherIndexProps, import("foo/node_modules/nested").NestedProps]; +export declare const y: import("root").RootProps; diff --git a/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.symbols b/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.symbols new file mode 100644 index 00000000000..c9c0f98baee --- /dev/null +++ b/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.symbols @@ -0,0 +1,55 @@ +=== tests/cases/compiler/r/node_modules/foo/node_modules/nested/index.d.ts === +export interface NestedProps {} +>NestedProps : Symbol(NestedProps, Decl(index.d.ts, 0, 0)) + +=== tests/cases/compiler/r/node_modules/foo/other/index.d.ts === +export interface OtherIndexProps {} +>OtherIndexProps : Symbol(OtherIndexProps, Decl(index.d.ts, 0, 0)) + +=== tests/cases/compiler/r/node_modules/foo/other.d.ts === +export interface OtherProps {} +>OtherProps : Symbol(OtherProps, Decl(other.d.ts, 0, 0)) + +=== tests/cases/compiler/r/node_modules/foo/index.d.ts === +import { OtherProps } from "./other"; +>OtherProps : Symbol(OtherProps, Decl(index.d.ts, 0, 8)) + +import { OtherIndexProps } from "./other/index"; +>OtherIndexProps : Symbol(OtherIndexProps, Decl(index.d.ts, 1, 8)) + +import { NestedProps } from "nested"; +>NestedProps : Symbol(NestedProps, Decl(index.d.ts, 2, 8)) + +export interface SomeProps {} +>SomeProps : Symbol(SomeProps, Decl(index.d.ts, 2, 37)) + +export function foo(): [SomeProps, OtherProps, OtherIndexProps, NestedProps]; +>foo : Symbol(foo, Decl(index.d.ts, 3, 29)) +>SomeProps : Symbol(SomeProps, Decl(index.d.ts, 2, 37)) +>OtherProps : Symbol(OtherProps, Decl(index.d.ts, 0, 8)) +>OtherIndexProps : Symbol(OtherIndexProps, Decl(index.d.ts, 1, 8)) +>NestedProps : Symbol(NestedProps, Decl(index.d.ts, 2, 8)) + +=== tests/cases/compiler/node_modules/root/index.d.ts === +export interface RootProps {} +>RootProps : Symbol(RootProps, Decl(index.d.ts, 0, 0)) + +export function bar(): RootProps; +>bar : Symbol(bar, Decl(index.d.ts, 0, 29)) +>RootProps : Symbol(RootProps, Decl(index.d.ts, 0, 0)) + +=== tests/cases/compiler/r/entry.ts === +import { foo } from "foo"; +>foo : Symbol(foo, Decl(entry.ts, 0, 8)) + +import { bar } from "root"; +>bar : Symbol(bar, Decl(entry.ts, 1, 8)) + +export const x = foo(); +>x : Symbol(x, Decl(entry.ts, 2, 12)) +>foo : Symbol(foo, Decl(entry.ts, 0, 8)) + +export const y = bar(); +>y : Symbol(y, Decl(entry.ts, 3, 12)) +>bar : Symbol(bar, Decl(entry.ts, 1, 8)) + diff --git a/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types b/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types new file mode 100644 index 00000000000..77c252679da --- /dev/null +++ b/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types @@ -0,0 +1,57 @@ +=== tests/cases/compiler/r/node_modules/foo/node_modules/nested/index.d.ts === +export interface NestedProps {} +>NestedProps : NestedProps + +=== tests/cases/compiler/r/node_modules/foo/other/index.d.ts === +export interface OtherIndexProps {} +>OtherIndexProps : OtherIndexProps + +=== tests/cases/compiler/r/node_modules/foo/other.d.ts === +export interface OtherProps {} +>OtherProps : OtherProps + +=== tests/cases/compiler/r/node_modules/foo/index.d.ts === +import { OtherProps } from "./other"; +>OtherProps : any + +import { OtherIndexProps } from "./other/index"; +>OtherIndexProps : any + +import { NestedProps } from "nested"; +>NestedProps : any + +export interface SomeProps {} +>SomeProps : SomeProps + +export function foo(): [SomeProps, OtherProps, OtherIndexProps, NestedProps]; +>foo : () => [SomeProps, OtherProps, OtherIndexProps, NestedProps] +>SomeProps : SomeProps +>OtherProps : OtherProps +>OtherIndexProps : OtherIndexProps +>NestedProps : NestedProps + +=== tests/cases/compiler/node_modules/root/index.d.ts === +export interface RootProps {} +>RootProps : RootProps + +export function bar(): RootProps; +>bar : () => RootProps +>RootProps : RootProps + +=== tests/cases/compiler/r/entry.ts === +import { foo } from "foo"; +>foo : () => [import("tests/cases/compiler/r/node_modules/foo/index").SomeProps, import("tests/cases/compiler/r/node_modules/foo/other").OtherProps, import("tests/cases/compiler/r/node_modules/foo/other/index").OtherIndexProps, import("tests/cases/compiler/r/node_modules/foo/node_modules/nested/index").NestedProps] + +import { bar } from "root"; +>bar : () => import("tests/cases/compiler/node_modules/root/index").RootProps + +export const x = foo(); +>x : [import("tests/cases/compiler/r/node_modules/foo/index").SomeProps, import("tests/cases/compiler/r/node_modules/foo/other").OtherProps, import("tests/cases/compiler/r/node_modules/foo/other/index").OtherIndexProps, import("tests/cases/compiler/r/node_modules/foo/node_modules/nested/index").NestedProps] +>foo() : [import("tests/cases/compiler/r/node_modules/foo/index").SomeProps, import("tests/cases/compiler/r/node_modules/foo/other").OtherProps, import("tests/cases/compiler/r/node_modules/foo/other/index").OtherIndexProps, import("tests/cases/compiler/r/node_modules/foo/node_modules/nested/index").NestedProps] +>foo : () => [import("tests/cases/compiler/r/node_modules/foo/index").SomeProps, import("tests/cases/compiler/r/node_modules/foo/other").OtherProps, import("tests/cases/compiler/r/node_modules/foo/other/index").OtherIndexProps, import("tests/cases/compiler/r/node_modules/foo/node_modules/nested/index").NestedProps] + +export const y = bar(); +>y : import("tests/cases/compiler/node_modules/root/index").RootProps +>bar() : import("tests/cases/compiler/node_modules/root/index").RootProps +>bar : () => import("tests/cases/compiler/node_modules/root/index").RootProps + diff --git a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.js b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.js index bb453e398b2..65da7191061 100644 --- a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.js +++ b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.js @@ -21,4 +21,4 @@ exports.thing = umd_1.makeThing(); //// [index.d.ts] -export declare const thing: import("./node_modules/umd").Thing; +export declare const thing: import("umd").Thing; diff --git a/tests/cases/compiler/declarationEmitCommonJsModuleReferencedType.ts b/tests/cases/compiler/declarationEmitCommonJsModuleReferencedType.ts new file mode 100644 index 00000000000..5207d655037 --- /dev/null +++ b/tests/cases/compiler/declarationEmitCommonJsModuleReferencedType.ts @@ -0,0 +1,23 @@ +// @declaration: true +// @filename: r/node_modules/foo/node_modules/nested/index.d.ts +export interface NestedProps {} +// @filename: r/node_modules/foo/other/index.d.ts +export interface OtherIndexProps {} +// @filename: r/node_modules/foo/other.d.ts +export interface OtherProps {} +// @filename: r/node_modules/foo/index.d.ts +import { OtherProps } from "./other"; +import { OtherIndexProps } from "./other/index"; +import { NestedProps } from "nested"; +export interface SomeProps {} + +export function foo(): [SomeProps, OtherProps, OtherIndexProps, NestedProps]; +// @filename: node_modules/root/index.d.ts +export interface RootProps {} + +export function bar(): RootProps; +// @filename: r/entry.ts +import { foo } from "foo"; +import { bar } from "root"; +export const x = foo(); +export const y = bar(); From 8d737ca9593dffb7243acbe1a1eea0464113b54e Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Tue, 5 Jun 2018 14:30:37 -0700 Subject: [PATCH 76/76] Simplify parseJSDocIdentifierName (#24660) * Simplify parseJSDocIdentifierName It now always creates a missing node. The one place that depended on it returning undefined, parseJSDocTypeNameWithNamespace, now returns undefined before calling parseJSDocIdentifierName. * Remove assert It is adequately proven at compile time. --- src/compiler/parser.ts | 115 +++++++----------- .../reference/jsdocTemplateTag3.types | 2 +- 2 files changed, 46 insertions(+), 71 deletions(-) diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 026ec1a1c83..591cb900a7f 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -6486,54 +6486,42 @@ namespace ts { const tagName = parseJSDocIdentifierName(); skipWhitespace(); - if (!tagName) { - return; - } let tag: JSDocTag | undefined; - if (tagName) { - switch (tagName.escapedText) { - case "augments": - case "extends": - tag = parseAugmentsTag(atToken, tagName); - break; - case "class": - case "constructor": - tag = parseClassTag(atToken, tagName); - break; - case "arg": - case "argument": - case "param": - return parseParameterOrPropertyTag(atToken, tagName, PropertyLikeParse.Parameter, indent); - case "return": - case "returns": - tag = parseReturnTag(atToken, tagName); - break; - case "template": - tag = parseTemplateTag(atToken, tagName); - break; - case "type": - tag = parseTypeTag(atToken, tagName); - break; - case "typedef": - tag = parseTypedefTag(atToken, tagName, indent); - break; - case "callback": - tag = parseCallbackTag(atToken, tagName, indent); - break; - default: - tag = parseUnknownTag(atToken, tagName); - break; - } - } - else { - tag = parseUnknownTag(atToken, tagName); + switch (tagName.escapedText) { + case "augments": + case "extends": + tag = parseAugmentsTag(atToken, tagName); + break; + case "class": + case "constructor": + tag = parseClassTag(atToken, tagName); + break; + case "arg": + case "argument": + case "param": + return parseParameterOrPropertyTag(atToken, tagName, PropertyLikeParse.Parameter, indent); + case "return": + case "returns": + tag = parseReturnTag(atToken, tagName); + break; + case "template": + tag = parseTemplateTag(atToken, tagName); + break; + case "type": + tag = parseTypeTag(atToken, tagName); + break; + case "typedef": + tag = parseTypedefTag(atToken, tagName, indent); + break; + case "callback": + tag = parseCallbackTag(atToken, tagName, indent); + break; + default: + tag = parseUnknownTag(atToken, tagName); + break; } - if (!tag) { - // a badly malformed tag should not be added to the list of tags - return; - } if (!tag.comment) { // some tags, like typedef and callback, have already parsed their comments earlier tag.comment = parseTagComments(indent + tag.end - tag.pos); @@ -6763,11 +6751,11 @@ namespace ts { } function parsePropertyAccessEntityNameExpression() { - let node: Identifier | PropertyAccessEntityNameExpression = parseJSDocIdentifierName(/*createIfMissing*/ true); + let node: Identifier | PropertyAccessEntityNameExpression = parseJSDocIdentifierName(); while (parseOptional(SyntaxKind.DotToken)) { const prop: PropertyAccessEntityNameExpression = createNode(SyntaxKind.PropertyAccessExpression, node.pos) as PropertyAccessEntityNameExpression; prop.expression = node; - prop.name = parseJSDocIdentifierName()!; // TODO: GH#18217 + prop.name = parseJSDocIdentifierName(); node = finishNode(prop); } return node; @@ -6832,9 +6820,11 @@ namespace ts { function parseJSDocTypeNameWithNamespace(nested?: boolean) { const pos = scanner.getTokenPos(); + if (!tokenIsIdentifierOrKeyword(token())) { + return undefined; + } const typeNameOrNamespaceName = parseJSDocIdentifierName(); - - if (typeNameOrNamespaceName && parseOptional(SyntaxKind.DotToken)) { + if (parseOptional(SyntaxKind.DotToken)) { const jsDocNamespaceNode = createNode(SyntaxKind.ModuleDeclaration, pos); if (nested) { jsDocNamespaceNode.flags |= NodeFlags.NestedNamespace; @@ -6844,7 +6834,7 @@ namespace ts { return finishNode(jsDocNamespaceNode); } - if (typeNameOrNamespaceName && nested) { + if (nested) { typeNameOrNamespaceName.isInJSDocNamespace = true; } return typeNameOrNamespaceName; @@ -6954,9 +6944,6 @@ namespace ts { const tagName = parseJSDocIdentifierName(); skipWhitespace(); - if (!tagName) { - return false; - } let t: PropertyLikeParse; switch (tagName.escapedText) { case "type": @@ -6981,7 +6968,7 @@ namespace ts { return tag; } - function parseTemplateTag(atToken: AtToken, tagName: Identifier): JSDocTemplateTag | undefined { + function parseTemplateTag(atToken: AtToken, tagName: Identifier): JSDocTemplateTag { // the template tag looks like '@template {Constraint} T,U,V' let constraint: JSDocTypeExpression | undefined; if (token() === SyntaxKind.OpenBraceToken) { @@ -6993,11 +6980,7 @@ namespace ts { do { skipWhitespace(); const typeParameter = createNode(SyntaxKind.TypeParameter); - if (!tokenIsIdentifierOrKeyword(token())) { - parseErrorAtCurrentToken(Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces); - return undefined; - } - typeParameter.name = parseJSDocIdentifierName()!; + typeParameter.name = parseJSDocIdentifierName(Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces); skipWhitespace(); finishNode(typeParameter); typeParameters.push(typeParameter); @@ -7028,7 +7011,7 @@ namespace ts { } function parseJSDocEntityName(): EntityName { - let entity: EntityName = parseJSDocIdentifierName(/*createIfMissing*/ true); + let entity: EntityName = parseJSDocIdentifierName(); if (parseOptional(SyntaxKind.OpenBracketToken)) { parseExpected(SyntaxKind.CloseBracketToken); // Note that y[] is accepted as an entity name, but the postfix brackets are not saved for checking. @@ -7036,7 +7019,7 @@ namespace ts { // but it's not worth it to enforce that restriction. } while (parseOptional(SyntaxKind.DotToken)) { - const name = parseJSDocIdentifierName(/*createIfMissing*/ true); + const name = parseJSDocIdentifierName(); if (parseOptional(SyntaxKind.OpenBracketToken)) { parseExpected(SyntaxKind.CloseBracketToken); } @@ -7045,17 +7028,9 @@ namespace ts { return entity; } - function parseJSDocIdentifierName(): Identifier | undefined; - function parseJSDocIdentifierName(createIfMissing: true): Identifier; - function parseJSDocIdentifierName(createIfMissing = false): Identifier | undefined { + function parseJSDocIdentifierName(message?: DiagnosticMessage): Identifier { if (!tokenIsIdentifierOrKeyword(token())) { - if (createIfMissing) { - return createMissingNode(SyntaxKind.Identifier, /*reportAtCurrentPosition*/ true, Diagnostics.Identifier_expected); - } - else { - parseErrorAtCurrentToken(Diagnostics.Identifier_expected); - return undefined; - } + return createMissingNode(SyntaxKind.Identifier, /*reportAtCurrentPosition*/ !message, message || Diagnostics.Identifier_expected); } const pos = scanner.getTokenPos(); diff --git a/tests/baselines/reference/jsdocTemplateTag3.types b/tests/baselines/reference/jsdocTemplateTag3.types index 63e8498d84a..e26b847519e 100644 --- a/tests/baselines/reference/jsdocTemplateTag3.types +++ b/tests/baselines/reference/jsdocTemplateTag3.types @@ -89,7 +89,7 @@ f({ a: 12 }, undefined, undefined, 101, 'nope'); * @param {T} x */ function g(x) { } ->g : (x: T) => void +>g : <(Missing) extends any, T>(x: T) => void >x : T